tl;dr;

SKALE Network의 주요 목적은 ETH와 호환가능하고, 이더리움 메인넷을 보안을 위해 사용하는 탈중앙화 비허가성 클라우드를 구축하는 것입니다. SKALE의 프로덕션 네트워크가 출시된다면, 독자 여러분이 AWS 상에서 할 수 있는 모든 것을 이더리움과 SKALE 상에서 더욱 저렴하고 안정적이며 탈중앙화된 방식으로 수행할 수 있습니다.

이더리움 메인넷은 SKALE에게 있어서 굉장히 중요하기 때문에, SKALE을 통해 이더리움이 신속한 완결성을 갖도록 하는 것에 큰 관심을 갖고 있습니다. 이는 더 높은 수준의 UX로 이어지며, 레이어-1 수준의 보안성을 유지가능한 옵션을 제공할 수 있을 것입니다. 이더리움을 확장함에 있어 메인넷 상의 검증인들에게만 의존하는 것은 장기적으로 효과적이지 못한 방법이라고 생각합니다. 메인넷 기반 확장성 메커니즘을 적절한 활용사례에 적용하는 것이야말로 확장성 기술을 “완성"하는 필수요소입니다.

저희 팀은 11개월 전 BLS-ROLLUP이라는 혁신적인 기술을 구현할 수 있게 되었습니다. BLS-ROLLUP은 SKALE 네트워크가 레이어-1 수준의 보안성을 유지하면서, 이더리움 메인넷 상의 거래와 스마트 컨트랙트 속도를 효율적이고 안정적으로 높일 수  있는 방식입니다.  

그리고 마침내 오늘 저희 팀은 BLS-ROLLUP을 SKALE의 프로덕션 네트워크에 포함시키기로 결정했습니다. SKALE의 모든 검증인들은 BLS-ROLLUP에 참여하게 될 것이며, BLS-ROLLUP 수수료로 수익을 창출할 것입니다. 이는 검증인들에게 더 좋은 수익 창출 기회가 될 것입니다.

BLS-ROLLUP은:

  • 즉각적으로 보안성을 확보하면서도 저렴합니다.
  • 대기 시간이 필요없습니다.
  • 높은 연산력을 동반하는 zkSNARKS/STARKS를 필요로 하지 않습니다.

물론, ROLLUP이 이번 블로그 포스트의 마지막 부분에서 다룰 레이턴시 문제를 해결하지 못하므로 확장성에 대한 만병통치약은 아닙니다. 그러나 처리량과 비용 절감 문제를 크게 개선할 수 있다는 점을 주목해야 할 것입니다.

저희 팀이 BLS-ROLLUP에 대한 안을 설계할 때 염두에 두었던 것은 Y Combinator의 Paul Graham이 말한 “사람들이 원하는 것을 만들어라"라는 원칙입니다. 단순히 무언가를 빠르게 만드는 것 만으로는 충분하지 않습니다. 사람들이 쉽게 사용할 수 있도록 하는 것도 속도만큼 중요한 것이죠.

BLS-ROLLUP은 두 단계를 거쳐 적용됩니다.

  • 1단계에서는 SKALE 네트워크를 통해 이더리움 메인넷의 속도를 일정 부분 높일 것입니다. 이 단계에서는 ERC-20 토큰 전송 속도를 50 tps까지 끌어올릴 수 있게 될 것입니다.
  • 2단계에서는 SKALE 네트워크를 통해 이더리움 메인넷의 속도를 한층 더 올려 350 tps를 달성할 것입니다.
  • 3단계는 장기적인 목표로서 부단한 소프트웨어 개발 노력을 수반하게 될 것입니다. 해당 단계에서는 1000 tps를 달성할 것이며, 향후 도입될 이더리움 2.0 네트워크의 속도에 준하거나 오히려 더 빠른 속도를 자랑하게 될 것입니다.

쉽게 말해, SKALE 네트워크를 활용하면 전세계 모든 “유의미한 규모"의 소비자 거래를 지원할 수 있게 되는 것입니다. 또한, 사이드체인 상에서는 소규모이며 빈도가 더 높은 마이크로 트랜잭션이 일어날 수 있게 되구요.

SKALE 방식의 고유한 장점은 모든 계정의 잔액이 온체인에 저장되고 전체 연산 과정이 온체인 상에서 수행된다는 점입니다. 최대한 레이어-1 네트워크와 밀접하게 연동되는 솔루션인 것이죠.

SKALE의 미래가 기대되시나요? 계속 읽어보시고 궁금한 사항이 있으신 분들은 @stan_kladko로 트위터 메시지를 보내보세요.

1 | BLS Rollup 한눈에 보기

BLS ROLLUP의 핵심 개념은 거래 규모를 축소시킨다는 것입니다. 즉, 트랜잭션이 작아지면 블록체인의 속도를 높일 수 있게 되죠. 독자분들의 쉬운 이해를 위해 예시와 함께 설명해드리겠습니다.

샌프란시스코와 티부론(Tiburon)을 매 시간마다 왕복하는 페리선이 있다고 가정해봅시다. 이 페리선이 한 번에 100대의 차량을 실을 수 있다면, 처리량은 시간당 100대입니다.  

이제 차량의 크기를 축소해 해당 페리선이 1,000대의 차를 운반할 수 있다고 가정해보세요. 처리량이 10배 증가해 시간당 1,000대의 차량을 처리할 수 있게된 것이죠.

차량의 크기가 작아지면 처리량이 늘어납니다. 이제 페리선을 이더리움의 블록으로, 차량 대신 이더리움에서 발생하는 트랜잭션을 대입해보세요. 이더리움 트랙잭션의 크기를 10배 줄인다면 처리량도 자연스레 10배 증가하게 될 것입니다.

자, 그럼 이제 트랜잭션의 크기를 어떻게 축소시킬 수 있을까요?

2 | 이더리움 트랜잭션 크기 축소

이더리움을 전송시키는데 필요한 트랜잭션의 통상적인 크기는 100바이트 이상입니다. 특히 이 중에서 상당 비중이라 할 수 있는 64바이트가 ECDSA 서명에 사용되죠. 그 외의 20 바이트는 수신 지갑의 주소를 담는데 사용됩니다.

트랜잭션의 크기를 줄이는 첫 단계는 20 바이트나 차지하는 각 사용자의 주소를 4 바이트짜리 UserID로 대체하는 것입니다. 만약 사용자가 BLS-ROLLUP에 가입하면 그는 UserID를 받게됩니다.

두 번째 단계는 ECDSA 서명을 없애버리는 것입니다. 이게 어떻게 가능하냐구요? SKALE에서는 통합 BLS 서명(aggregated BLS signature)이라는 암호학 알고리즘을 사용합니다. 여러 이해당사자들이 특정 문서에 서명을 하면 해당 서명들이 합쳐져서 하나의 통합 BLS 서명에 담기는 것이죠. 이렇게 탄생한 BLS 서명은 기존 서명보다 더 작은 용량을 차지합니다.

SKALE은 이렇게 여러 서명을 하나의 BLS 서명으로 묶는 주체를 애그리게이터(aggregator)라고 부릅니다.

샌프란시스코에서 뉴욕으로 편지를 보낼 때, 굉장히 큰 편지봉투에 편지지들은 작다면 굉장히 비효율적이겠죠? 여기서 애그리게이터가 등장합니다. 애그리게이터는 이런 편지봉투들을 모아 그 안의  편지지들을 꺼냅니다. 그리고 이 편지지를 모아 하나의 편지봉투에 넣는다면 훨씬 효율적일 것입니다!

이를 블록체인에 대입해보면 위 예시의 편지지가 트랜잭션이고 편지봉투가 서명에 해당하는 개념이 됩니다. SKALE은 이와 같은 통합 방식을 BLS-ROLLUP Phase 1이라고 부릅니다.  

더 세부적인 내용은 다음 장에서 이어집니다.

3 | BLS-ROLLUP Phase 1: 통합 프로토콜

가장 먼저 애그리게이터를 선정해야 합니다.

단일 노드가 애그리게이터가 되면 이 노드가 과도한 권한을 갖거나 트랜잭션을 검열할 수 있기 때문에 바람직하지 않습니다.

대신 SKALE은 10분 단위로 epoch를 나누고, 각 epoch마다 애그리게이터를 무작위로 선정하는 방식을 선택했습니다. 해당 프로토콜의 상위 버전은 각 epoch마다 다수의 애그리게이터를 선별해내는 것이지만 지금은 일단 간단한 개념에 집중하겠습니다.

여러 사람으로 구성된 집단(SKALE 네트워크)을 가정해봅시다. 무작위로 Diane이라는 사람이 애그리게이터로 선정되고, Diane이 오전 10시부터 10시 10분까지 작업을 수행하게 됩니다. 그 후, 다음  슬롯부터는 다른 사람이 선정되는 구조인 것이죠.

이후 6단계 통합 프로토콜(SSAP, Six-Step Aggregation-Protocol)은 다음과 같이 진행됩니다.

  1. 사용자들이 애그리게이터인 Diane에게 트랜잭션을 보냅니다.
  2. Diane은 대규모 사용자 집단인 G로부터 트랜잭션을 추출해 트랜잭션 묶음 C로 가공합니다.
  3. Diane는 G에 속한 모든 사용자들에게 C를 다시 송신합니다.
  4. 사용자인 Jone은 C를 받고 이에 서명하여 서명 S를 다시 Diane에게 보냅니다.
  5. Diane은 모든 사용자들에게 서명을 받으면 이를 BLS 서명인 BLS_SIG로 통합합니다. 이제 트랜잭션 묶음 C와 BLS_SIG는 ‘하나의 편지봉투안에 담긴 다수의 편지지’가 된 것이죠. 상당한 용량이 축소된 것입니다.
  6. 마지막으로 Bob이 C와 BLS_SIG를 메인넷에 제출합니다.


통합 프로토콜의 속도는 어느 정도 수준일까요? 사용자들은 브라우저나 모바일 앱을 사용하고, 애그리게이터는 웹 서버를 사용할 것입니다. 웹 서버와 사용자 간 상호작용은 병행될 것이며, 오늘날 사용되는 인터넷 속도를 감안한다면 통합 절차에 소요되는 시간은 수백 밀리세컨드(ms) 정도일 것입니다.

만약 John이 악의를 가진 행위자이고, 4번째 단계에서 서명 S를 Diane에게 보내지 않는다면 어떤 일이 발생할까요? 이를 방지하기 위해 고안된 두 가지 효율적인 방지책이 있습니다.

  • 먼저, 애그리게이터는 John의 트랙잭션을 묶음에서 따로 빼놓고 다시 통합할 수 있습니다. 이 경우, 애그리게이터는 블록체인 상에서 John에게 낮은 점수를 부여하게 됩니다. 만약 점수가 특정 임계치 이하로 떨어지면 시스템에서 추방됩니다. 우버를 생각해보세요. 만약 우버 콜택시를 호출하고 응답하지 않는 행위를 여러번 하면, 점수가 떨어져서 어느 순간부터 우버 사용이 중지되는 것과 유사합니다.
  • 다음으로, 만약 John을 제외한 모든 이가 서명을 하면 애그리게이터는 트랜잭션 묶음 C를 그대로 메인넷에 제출하고, John을 비(非)서명자로 표시할 수 있습니다. 이 경우, 해당 묶음에서 John의 트랜잭션은 블록체인 상에서 무시됩니다.  

실질적으로 블록체인에 제출되는 것들을 요약하면 다음과 같습니다.

  • 먼저, 12 바이트짜리의 아주 많은 트랜잭션이 있을 것입니다. 이 12 바이트 중 4 바이트는 송신 정보, 4 바이트는 수신 정보, 4 바이트는 총액이죠.
  • 두 번째로 전체 트랜잭션을 보장해주는 단일 서명인 BLS_SIG가 있을 것입니다.

놀랍지 않나요?

트랜잭션 묶음 C와 BLS_SIG가 메인넷에 제출되면 그 다음 처리과정은 매우 단순합니다. 다음 장에서 좀 더 세부적으로 다루어보겠습니다.

4 | BLS-ROLLUP Phase 1: 메인넷 프로세싱

트랜잭션 묶음 C와 BLS_SIG가 메인넷에 제출되면 스마트 컨트랙트가 해당 트랜잭션들을 처리하게 됩니다. 이 스마트 컨트랙트를 BLS_ROLLUP Manager 또는 BRM이라고 부릅니다.

BRM이 수행하는 역할은 다음과 같습니다.

  1. BLS_SIG의 유효성을 검증합니다.
  2. 묶음 내의 각 트랜잭션에 대해
  • 트랜잭션의 총액을 읽습니다.
  • 송신자의 계좌 잔액에서 트랜잭션 총액만큼의 금액을 삭감합니다.
  • 수신자의  계좌 잔액에서 트랜잭션 총액만큼의 금액을 더합니다.

놀랍지 않나요?

그렇다면 BRM이 이를 처리하는데 소요된 가스비는 어느 정도일까요? 부록 A에 나와있는 대략적인 계산에 따르면 ERC-20 토큰은 트랜잭션 당 13,000 gas가 소요되고, NFT 토큰의 경우 7,000 gas가 소요됩니다. 현재 ERC-20 토큰을 전송하는데 소요되는 통상적인 가스 비용은 약 52,000 gas이죠.

현재 블록 당 gas 한도가 10,000,000이고 블록타임이 평균적으로 15초 수준임을 감안하면, BRM은 ERC-20 토큰에 대해서는 50 tps, NFT 토큰에 대해서는 90 tps 정도를 달성합니다.

BLS-ROLLUP Phase 1은 2020년 상반기에 프로덕션 네트워크로 편입될 것으로 예상하고 있습니다.

BLS-ROLLUP Phase 2는 2020년 여름즈음 완성될 것이며, 시스템의 속도를 극적으로 높여줄 것입니다. 해당 내용은 다음 장에서 다뤄보도록 하겠습니다.

5 | BLS-ROLLUP Phase 2: 더 저렴한 스토리지

만약 블록체인의 속도를 높이는 것이 목표라면 트랜잭션 당 소요되는 가스비를 낮출 필요성이 있습니다. BLS-ROLLUP Phase 1에서 다루었듯, SKALE은 ERC-20 토큰에 대한 가스 비용을 52,000 gas에서 13,000 gas로 낮췄습니다.
여기서 중요한 것은 13,000 gas 중 10,000 gas가 EVM 스토리지에서 송신인과 수취인의 계좌 잔액을 업데이트하는데 사용된다는 점입니다. EVM에서 저장된 가치(계좌 잔액)를 업데이트하는 데에는 5,000 gas씩 소요되기 때문이죠.

이더리움 메인넷에서 사용하는 스토리지인 로그 스토리지(Log Storage)는 저장 비용이 더 저렴합니다. 로그 스토리지에서는 한번 스토리지를 이용할 때마다 375 gas가 소요되고 1 바이트당 8 gas를 지불합니다.  

그렇다면 왜 EVM 스토리지 대신 로그 스토리지를 사용하지 않는걸까요? 그 이유는 EVM이 로그 스토리지를 읽을 수 없기 때문입니다. EVM을 통해 로그 스토리지에 정보를 입력할 순 있지만 EVM 밖에서만 이를 읽을 수 있습니다.

여기서 혁신적인 아이디어가 떠올랐습니다. EVM이 로그 스토리지에서 정보를 가져와야 할 때마다 SKALE 네트워크가 이를 대신 읽고 EVM으로 해당 정보를 전달해주는 것이죠. 자, 이제 우리 모두 로그 스토리지를 사용할 수 있게 된 것이죠!

해당 내용에 대한 더 세부적인 내용은 하단의 두 장에서 다루도록 하겠습니다.

6 | BLS-ROLLUP Phase 2: 스토리지 포맷

BLS-ROLLUP Phase 2에서 펀드를 로그 스토리지에 저장하기 위해 UTXO를 사용하여 비트코인과 유사한 체계로 운영됩니다. 참고로 플라즈마 역시 UTXO를 사용합니다. 모든 사용자는 사용하지 않은 코인, UTXO를 보유하며, 이들의 총합이 사용자의 보유 잔액이 되는 구조입니다.

각 거래는 발신인이 소유하는 여러 input 코인을 사용하고, 두 개의 output 코인을 생성합니다. 하나는 수신인에게 전달된 금액을 나타내며, 다른 하나는 발신인의 잔고로 돌아가는 잔액을 합니다.

만약 Alice가 Bob에게 4개의 토큰을 지불하길 원한다고 가정해봅시다. 이를 위해 Alice는 1토큰, 1토큰, 3토큰 상당의 UTXO 3개를 사용할 수 있습니다. 이는 결과값으로 2개의 코인을 만들어내는데, 하나는 Bob에게 전달되는 4개의 토큰이며 다른 하나는 그녀 자신에게 전달되는 1개의 토큰이죠.

해당 거래의 로그 값은 다음과 같은 포맷으로 쓰여집니다:

{transactionCounter, input_coins, output_coins; topic(sender:Alice), topic(receiver:Bob) )

여기서 transactionCounter란 거래의 일련번호를 의미하고, input_coins는 input으로 쓰인 코인 액수과 블록체인 상 로그 기록의 위치를 뜻합니다. 그리고 output_coins는 output 코인의 액수와 주인이 누구인지를 나타내죠.

주제(topic)는 EVM 내에서 특수한 기능을 가집니다. 즉, EVM이 주제별로 로그 기록을 쉽게 찾을 수 있는 방법을 주는 것인데요. ‘발신인'과 ‘수신인'라는 두 개 주제를 추가함으로써 사용자는 쉽게 자신의 코인을 모두 찾을 수 있게 됩니다.

해당 단일 거래를 로그 기록으로 남기는데 소요되는 가스 비용은 1,300 gas입니다. 이는 Phase 1에서 다룬 것보다 훨씬 더 낮은 수치인데, 발신인과 수신인의 잔고를 업데이트하는데 12,000 gas가 들었었죠!

이를 통해 우리는 스토리지 비용을 상당 부분 낮췄습니다. 이제 우리는 거래가 발생할 때 EVM에서 기록이 검색될 수 있도록 해야할 것입니다. 이를 이뤄내려면 SKALE 네트워크가 메인넷을 도와야하며 이는 다음 내용에서 다뤄집니다.

7 | BLS-ROLLUP Phase 2: 이더리움 메인넷을 보조하는 SKALE Network

핵심은 로그 기록 조회 시 SKALE 네트워크 상의 노드가 기록을 읽고 메인넷으로 이를 보낸다는 것입니다. 레이어-1 수준의 보안을 확보하기 위해서는 읽기를 진행하는 무작위 노드가 최소 111개 필요합니다. 그리고 3분의 2에 해당하는 절대다수가 서명을 행하는 BLS 서명이라는 절차를 거치게 됩니다. 왜 111개 노드가 필요할까요? 이더리움 2.0은 111개 노드 규모의 위원회를 레이어-1 수준의 보안성이라고 인정하기 때문입니다. SKALE은 111개의 노드에 특정 노드들을 지정해서 계속 사용하는 것 대신 SKALE 네트워크 상에 존재하는 기타 노드로 계속해서 무작위로 로테이션을 적용하게 됩니다. 결국 모든 네트워크 상에 존재하는 노드가 참가할 수 있도록 말이죠.

그리고 여기서 우리는 제3장에서 다루었던 SSAP의 1단계와 2단계 사이에 1.5 단계를 추가합니다:

1.5 단계: Alice가 UTXO를 사용하여 Bob에게 송금하고자 하는 "대기 중인 트랜잭션(pending tramsaction)"을 애그리게이터가 수신하면 이를 111개의 검증인에게 보냅니다.

검증인의 역할은 간단합니다. 거래가 올바른지를 검토하는 것이죠. 즉, 유효한 코인이 쓰였고, 이중 지불이 일어나지 않는지 여부를 검증합니다.

더 자세하게 설명하자면, 각 검증인 노드는 다음과 같은 역할을 합니다:

  • 거래상 언급된 UTXO가 블록체인에 존재하는지를 확인합니다.  올바른 양인지와 비트코인의 맥락에서 ‘사용되지 않았는지'를 확인합니다. 비트코인 맥락이라는 것은 이후 거래에서 해당 UTXO를 input으로 언급한 바가 있는지를 확인한다는 것이지요.
  • 해당 UTXO를 이용하려는 기타 대기 중인 거래가 없는지를 확인합니다. 검증인이 거래를 전달 받게 되면 이를 ‘대기 중'으로 판단합니다.
  • 통합 BLS 검증인 서명을 사용하여 거래에 대해 서명하고, 이를 애그리게이터에 다시 전달합니다.
  • 애그리게이터는 2단계에 해당하는 블록체인에 거래를 제출할 때 검증인 BLS 서명을 포함합니다.

BRM 스마트 컨트랙트가 거래를 수신하게 되면, 검증인의 BLS 서명을 담고 있는지를 확인하게 됩니다. 그 후, 해당 거래를 처리하여 섹션 6에서 다루어진 것처럼 UTXO 로그 기록을 만듭니다.

거래에 들어가는 총 가스 비용을 추정해보면 약 1,600 gas입니다. 구체적으로 살펴보면 상기 언급된 로그 기록 생성 비용이 1,300 gas, 거래별 BLS 퍼블릭 키 통합에 필요한 비용 190 gas, 기타 작업에서 100 gas가 소요됩니다.

8 | BLS-ROLLUP Phase 2: 성능

ERC-20 토큰을 전송할 때 BLS-ROLLUP Phase 2에서 발생되는 트랜잭션의 비용을 대략적으로 계산해보면 트랜잭션 당 약 2,200의 가스비가 나옵니다. 51,000씩이나 소요되던 기존 방식과 비교하면 가스비가 상당히 낮아진다는 것을 알 수 있죠. 이는 기존 비용의 5% 수준의 비용만 지불하고도 레이어-1 블록체인 수준의 보안성을 그대로 유지하면서 300 이상의 초당거래속도를 달성할 수 있다는 것을 의미합니다.

하지만 성능만이 다가 아닙니다. BLS-ROLLUP은 모든 정보의 저장과 컴퓨터 연산을 메인넷에서 수행하며 SKALE 네트워크는 정말 필요한 경우에 메인넷을 지원하기 위한 용도로만 사용됩니다. 이는 곧 BLS-ROLLUP이 현(現)인프라 상에서 구동될 뿐만 아니라 기존 웹 및 모바일 클라이언트에도 최소한의 변경만을 거친 후 사용될 수 있다는 것을 의미합니다.  

9 | BLS-ROLLUP Phase 3: 한계에 도전하다

BLS-ROLLUP Phase 2가 300 tps를 달성한다면 업계에서 빠른 속도를 가진 체계로 인정될 뿐만 아니라, 향후 수년간 생태계를 지원할 수 있을 것입니다. 참고로, 이더리움 메인넷은 현재 초당 10개 토큰 이하의 전송이 이루어지고 있고 BLS-ROLLUP의 레이턴시는 이더리움 메인넷과 유사한 수준입니다.

물론 BLS-ROLLUP의 속도를 더 빠르게 개선할 방법이 있지만, SKALE 내부적으로 몇년 안에 이를 진행할 계획은 없습니다.

여기서 핵심은 트랜잭션의 크기를 최대한으로 줄이고 단일 로그 기록에 최대한 많은 UTXO를 기록하는 것입니다. 이와 같이 진행한다면 기록에 소요되는 고정비용인 1125 gas를 아낄 수 있겠지만 EVM의 표준 주제 기반 검색 체계에서는 UTXO 기록 검색이 불가능해집니다. 뿐만 아니라, 사용자들도 본인들이 얼마만큼의 금액을 보유하고 있는지 쉽게 알 수 없게 되겠죠. SKALE은 이와 같은 문제를 해결하기 위해 각 SKALE 노드 당 별도의 검색 및 색인 엔진을 추가합니다.  

Alice는 본인의 자산을 찾기 위해서는 메인넷 상에서 검색을 해야 합니다. 이를 위해 Alice는 SKALE 노드 혹은 타 서비스 제공자(Infura 등)에게 요청하거나 직접 인덱스 엔진을 실행해야 하죠.

Phase 3의 성능을 대략적으로 계산해보면 트랜잭션 당 700 gas가 소요되고 900 tps 이상이 달성될 수 있습니다.

10 | 슬래싱

위에 묘사된 시스템은 잘못된 행동을 짚어내는 증거를 잘 제공하며 악의적인 검증인들에게 슬래싱을 조치합니다. 사기에 대한 증거는 메인넷으로 제출되며 악의적인 검증인은 슬래싱 당합니다. 이미 해당 블로그 포스트가 생각보다 길어졌으므로 독자 여러분께 별도로 슬래싱 조건에 대해서 다루지 않겠습니다. 사실 너무 뻔하기도 하니까요.

11 | 결론

BLS-ROLLUP은 레이어-1 수준의 보안을 유지하고, 사용자 펀드를 메인넷에 저장하면서 tps를 획기적으로 개선시킬 수 있는 기술입니다. SKALE 네트워크는 메인넷을 돕는 레이어-1 네트워크 헬퍼로 이해하시면 됩니다.

BLS-ROLLUP은 사용자의 모니터링, 대기 시간, 갈등 해결 체계 등을 요구하지 않는 유일한 롤업 방식입니다. 이런 요소들을 고려했을 때 해당 방식은 다른 롤업에 비해 더 사용자 친화적이고 우수한 솔루션입니다.

BLS-ROLLUP은 송금이나 대량 구매에 유용하게 사용될 수 있습니다. 메인넷을 기반으로 하기 때문에 느린 확정 시간이라는 단점은 있습니다. 사용자들은 트랜잭션이 성공적으로 메인넷에 올려졌는지 확인하기까지 5분 이상 소요됩니다. 자동차를 구매할 때는 괜찮겠지만, 커피를 구매하려면 사이드체인을 사용하는 것이 수지타산이 맞습니다.

* 부록 A

Phase 1에서 ERC-20 송금 트랜잭션 당 가스비(이스탄불과 베를린 포크 이후) 추산치는 다음과 같습니다.

  • 전송인 잔액 확인: 800 gas
  • 수신인 잔액 확인: 800 gas
  • 전송인 잔액 업데이트: 5000 gas
  • 수신인 잔액 업데이트: 5000 gas
  • 전송인 BLS 퍼블릭 키 확인 : 800 gas
  • 통합 키 추출 위해 전송인 BLS 퍼블릭 키 추가: 190 gas
  • 총합: 약 13,000 gas

Phase 1 ERC-721 NFT 송금 트랜잭션 당 가스비(이스탄불과 베를린 포크 이후) 추산치는 다음과 같습니다,

  • 현 소유자 주소 확인: 800 gas
  • 현 소유자 업데이트: 5000 gas
  • 현 소유자 퍼블릭 키 확인: 800 gas
  • 통합 키 추출을 위해 현 소유인의 BLS 퍼블릭 키 추가: 190 gas
  • 총합: 약 7,000 gas

* 부록 B

Phase 1 ERC-20 혹은 ERC-721 NFT 송금 트랜잭션 가스비(이스탄불과 베를린 포크 이후) 예상치는 다음과 같습니다.

  • UTXO 로그 기록: 1300 gas (375 로그 이벤트 + 2 * 두 개 주제에 대한 375 gas + 데이터)
  • BLS 퍼블릭 키 통합: 190, 150 gas은 엘립틱 커브를 통한 150 gas + 40 gas(사전 컴파일된 콜)
  • 콜 데이터: 18 바이트 이하의 콜 데이터에는 300 gas 이하 소요
  • 연산: 50 gas 미만

총합 : 약 2,200 gas

* 부록 C

  • 일반적인 트랜잭션은 두 개 인풋 UTXO의 일련번호와 수신 주체의 인덱스 및 발생하는 두 코인의 금액을 포함해야 하기 때문에 최소 용량은 20 바이트입니다. 콜 데이터는 바이트당 16 gas이기 때문에 콜 데이터 이벤트는 320 gas가 요구됩니다.
  • BLS 퍼블릭 키 통합은 190 gas가 소요됩니다.
  • 로그 기록의 용량은 두 개 인풋 UTXO의 일련번호와 수신/발신 주체의 인덱스 및 송금 금액을 포함하기 때문에 대략 20 바이트입니다. 바이트 당 8 gas로 산정했을 때 총 160 gas가 요구됩니다.
  • 연산: 50 gas 미만

총합은 대략 700 gas가 됩니다.