아비트럼 BoLD: 단순한 원리와 무거운 자본주의의 분쟁 해결 프로토콜
이 글은 투자 조언을 위한 글이 아닌, 순수한 정보 전달을 위한 것임을 명확히 밝힙니다.
TL; DR
- 아비트럼의 BoLD(Bounded Liquidity Delay)는 기존의 Arbitrum Classic 분쟁 해결 프로토콜의 한계를 극복하기 위해 도입된 기술
- 단순한 원리와 공격적인 이코노믹 시스템을 통해 악의적인 공격을 억제하면서 신속한 분쟁 해결을 가능하게 함
- 아비트럼은 BoLD를 통해 Permissionless Validation을 달성하고, 비탈릭이 제안한 롤업 마일스톤 Stage 2에 도달해 레이어 2 시장에서의 압도적인 경쟁력을 유지하고자 함
서론
블록체인 기술의 핵심 가치는 중앙 권력이 존재하지 않는 탈중앙화된 네트워크에서의 투명성과 신뢰에 바탕을 두고 있습니다. 탈중앙화라는 측면에서 네트워크에 참여하는 노드들 간의 합의가 중요하고, 이 합의 과정에서 이견으로 인한 분쟁이 발생하는 것은 자연스러운 현상입니다. 이러한 자연스러운 분쟁 상황을 어떻게 빠르면서도 공정하게 해결할 수 있는가가 블록체인 네트워크의 확장성과 안정성에 중요한 요소가 됩니다.
이더리움 블록체인은 대중화를 통한 탈중앙화에는 성공했지만 그 역설로 인해 높은 가스비와 느린 트랜잭션 속도로 인해 확장성에 한계를 가져왔습니다. 소위 말하는 블록체인 트릴레마를 극복하기 위해 여러 시도들이 있어왔고, 레이어 2 솔루션은 그 중 현재 가장 대중적으로 널리 채택되는 확장성 극복 방법의 하나가 되었습니다. 아비트럼은 이더리움을 기반으로 하는 레이어2 솔루션 중 가장 높은 TVL(Total Value Locked)와 인지도를 가지고 있는 프로젝트입니다. 아비트럼은 분쟁을 해결하기 위한 자체 분쟁 해결 프로토콜을 가지고 있습니다. 이 분쟁 해결 프로토콜을 통해 아비트럼은 네트워크의 무결성을 보장했지만, 초기 분쟁 해결 프로토콜은 일부 지연 공격에 대해 취약점을 갖고 있었습니다. 기존의 분쟁 해결 프로토콜인 Arbitrum Classic(별도의 명칭이 있었던 것은 아니지만 BoLD와 구분하기 위해 이렇게 부릅니다)은 악의적인 검증자가 충분한 자금만 가지고 있다면 L2에서 L1으로의 Withdraw(인출)를 원하는 만큼 지연시킬 수 있었습니다. 이를 지연 공격(Delay-attack)이라고도 합니다. 이 한계점을 극복하기 위해 아비트럼의 개발사인 Offchain Labs는 차세대 분쟁 해결 프로토콜인 BoLD(Bounded Liquidity Delay)를 지난 4월 공개했습니다. BoLD는 이전 Arbitrum Classic을 대체하는 강력하고 효율적인 분쟁 해결 프로토콜입니다.
왜 아비트럼은 BoLD가 필요했나?
2020년 아비트럼이 등장하고 약 4년이 지난 지금, 아비트럼은 왜 새로운 분쟁 해결 프로토콜을 개발/적용하고자 했을까요?
2022년 이더리움의 창시자 비탈릭 부테린은 롤업과 관련되어 하나의 제안을 한 적이 있습니다. 일종의 레이어 2 롤업 프로젝트들이 달성할 목표와 같은 것인데, 레이어 2 프로젝트들의 정보를 모아 제공하는 L2beat 팀은 비탈릭이 제안한 마일스톤을 통해 프로젝트를 평가하고, 달성도를 표기하고 있습니다.
아비트럼은 가장 높은 시장 점유율을 가지고 있음과 동시에 TOP 10 프로젝트 중 가장 높은 Stage인 Stage 1을 달성했다는 것을 알 수 있습니다. 가장 강력한 경쟁자인 옵티미즘이 버그 픽스를 이유로 Permissioned로 임시 전환하며 리뷰 중이 되다 보니 현재 유일한 Stage 1 Rollup로 등록됐습니다. Stage에 대한 구체적인 설명은 여기에서는 다루지 않고, 비탈릭의 글을 상세히 설명되어 있으니 찾아보시면 좋을 것입니다. 총 3단계의 Stage 중 Stage 1도 굉장히 높은 수준의 보안성을 의미합니다. 아비트럼은 이에 (당연하지만) 안주하지 않고 Stage 2로 나아가려 하고 있습니다. Stage 2는 가장 이상적인 형태로 완전한 탈중앙화된 단계를 의미합니다. 아비트럼의 경우 Stage 1에 해당하는 ‘사기 증명 시스템의 활성화’를 달성하긴 했지만, Stage 2를 달성하기 위해서는 ‘누구나 L2의 State(상태)를 검증하고 제약 없이 이더리움(L1)에 사기 증명을 게시’할 수 있도록 해야 합니다. 즉, Stage 2를 달성했다는 것은 하나의 레이어 2 프로젝트가 특정 단체에 의해 컨트롤되지 않고 모든 커뮤니티로부터 집단적인 감시 체계를 구축해 탈중앙화를 완전히 이루었다는 의미를 갖습니다.
앞서 볼 수 있었던 L2beat 이미지를 자세히 보면 작은 파이차트가 있다는 것을 확인하실 수 있습니다. 파이차트는 비탈릭이 제안한 5가지 wheel을 시각화해 나타낸 것인데, 이 요소들을 모두 충족하면 Stage 2를 달성하게 됩니다. BoLD는 이 5가지 중 State Validation을 중간 단계라는 의미의 노란색에서 완전히 달성했다는 의미의 초록색으로 업그레이드하기 위해 개발 및 채택된 기술이라고 보시면 됩니다.
아비트럼은 기존의 Arbitrum Classic을 업그레이드하는 형태의 BoLD를 통해 이 Stage 2 달성을 위한 단계로 나아가고자 하고 있습니다. 아비트럼은 이 BoLD 프로토콜을 통해 누구나 아비트럼의 State에 이의를 제기할 수 있어, 허가 없는 검증(Permissionless validation)을 가능하게 합니다.
아비트럼 측은 BoLD를 통해 누구나 검증 가능한 네트워크가 되었다는 의미로 여러 차례 Permissionless를 강조합니다.
BoLD란?
BoLD가 무엇을 위해 제안된 것인지에 대해 이해했다면, 이제 BoLD에 대해 상세히 알아보아야할 차례입니다. 앞서 언급한 대로 BoLD는 아비트럼의 기존 분쟁 프로토콜인 Arbitrum Classic을 대체, 즉 업그레이드한 것입니다. 검증자가 아비트럼의 State에 대한 분쟁을 열고, 해결하는 과정에서의 적용되는 규칙 중 일부를 변경해 누구나 체인의 State 검증에 참여하고, L1에서의 Withdraw(인출) 과정에서의 보안성을 강화할 수 있습니다.
BoLD의 ‘단순한’ 작동 원리
BoLD의 작동 방식을 통해 조금 더 명확히 BoLD에 대해 이해해볼 수 있습니다. BoLD의 작동 원리는 굉장히 단순합니다. 물론 실제 운영을 위해서는 복잡한 수식과 엄청난 코드의 향연이 펼쳐지기는 하지만, 그 개념 자체는 단순하죠. 아비트럼의 State는 결정론적(Deteministic)이기 때문에 특정 input에 대해 항상 유일한 correct state가 존재합니다. 우리가 중학교 때 배운 함수와 같은 느낌으로 보시면 이해가 편하실 듯 합니다. BoLD는 아비트럼이 결정론적인 State를 가지고 있음을 전제로 출발합니다.
- 주장(Assertion) 제기
검증자는 가장 최근에 컨펌된 롤업 블록(RBlock)인 Block A를 가지고, 이후 일정수의 트랜잭션이 결정론적 상태 전환 함수(State Transition Function, STF)에 의해 계산된 결과값이 Block Z라는 최종 State가 될 것이라고 주장합니다. 검증자가 이 Block Z가 올바르다고 판단한다면, 자신의 자금을 Block Z에 본딩(묶는다에 가깝습니다)하고 해당 State를 이더리움에 게시할 것을 제안합니다. 이의 제기 기간이라고 하는 일정 시간이 지나도 아무도 이의를 제기하지 않으면, 아비트럼의 롤업 블록인 Block Z가 나타내는 State가 올바른 아비트럼 체인 State로 확정됩니다. 그러나 누군가 이 Block Z에 의심을 갖게 된다면, 이의를 제기할 수 있습니다. 이제, BoLD가 등장합니다. - 챌린지(Challenge) 개시
이의를 제기한 다른 검증자가 자신이 주장하는 Block A의 또 다른 최종 State인 Block Y에 자금을 본딩 하며 ‘분쟁’이 시작됩니다. Block A가 Block Z가 될 것인지, Block Y가 될 것인지 결정을 해야 하죠. 앞서 함수와 비슷하다고 말씀드렸는데, 함수는 두 집합에서의 각 원소에 대해 다른 집합의 원소와 하나씩만 대응될 때 함수라고 합니다. 아비트럼의 State 역시 결정론적이기 때문에 하나에만 대응되어야 하죠. 지금 챌린지가 개시된 State에서는 두 가지에 대응되기 때문에 단 하나의 승자가 나올 때까지 분쟁 상황에 놓이게 됩니다. 그리고 이를 해결하는 ‘분쟁 해결 프로토콜’이 BoLD입니다. 이전에는 Arbitrum Classic이 이 역할을 했죠.
여기에서 챌린지를 개시하는데 누군가의 허가는 필요 없습니다. 누구나 자신의 자금을 본딩 하기만 한다면 챌린지 할 수 있습니다. 여기에서 Permissionless라는 용어가 등장하게 됩니다.
이의 제기가 열린 동안 주장은 두 가지가 됩니다. Block A → Block Z와 Block A → Block Y. 레이어 1인 이더리움 네트워크에서는 어떤 주장이 옳은지 알 수 없습니다. 다만, 이런 상반된 주장이 있었다는 기록은 남겨둡니다. - 다단계의 상호작용 분석(Multi-level, interactive dissection begins)
BoLD 프로토콜에서 이 분쟁을 해결하는 과정은 아주 간단한 개념을 기반으로 하고 있습니다. 모든 트랜잭션을 처음부터 하나씩 확인하기에는 엄청난 비용과 시간이 들 것이기 때문에 BoLD에서는 각 검증자의 주장을 단계적으로 절반씩 잘라가며(bisect) 논쟁의 범위를 좁혀나갑니다.
각 검증자는 서로 번갈아가며 자신들의 주장을 작은 부분으로 나누어 비교합니다. 이 과정을 계속 반복하다보면 결국 하나의 올바른 State만이 존재하게 됩니다. 크게 세 단계로 이 과정이 나뉩니다.
블록 챌린지(Block Challenge) : 두 검증인 서로 동의하지 않는 특정 블록이 무엇인지 식별될 때까지 번갈아가며 History Commitment를 쪼개나갑니다. 그러다보면 서로 동의하지 않는 어느 블록 하나가 특정될 것입니다. 다른 트랜잭션들을 다 확인할 필요없이 특정 블록 하나에 있는 트랜잭션을 검증하면 되니 상대적으로 문제 해결이 간편해집니다.
빅 스텝 챌린지(Big Step Challenge) : 블록 챌린지를 통해 분쟁을 하나의 블록으로 좁혔다면 해당 블록 내에서 앞 뒤로 분할하는 작업을 진행합니다. 여기에서는 상태 전환 함수(State Transition Function)을 사용해 특정 명령어 범위를 좁혀나가고, 서로 의견이 일치하지 않는 명령어 범위가 나올 때까지 반복합니다.
원 스텝 챌린지(One Step Challenge) : 마지막으로 하나의 명령어만 남을 때까지 이 과정을 반복합니다. 아비트럼의 State는 언제나 결정론적이기 때문에 단 하나의 올바른 State를 갖고 있을 것입니다. 그럼 둘 중에 하나는 맞고, 하나는 틀리겠죠. 최종적으로 남게 된 명령어의 특정 함수를 통해 실행한 결과를 검증해보면 어떤 State가 올바른지 판단할 수 있게 될 것입니다. - 원 스텝 증명 (One Step Proof)
원 스텝 챌린지까지 오게 되면 각 검증자는 해당 단계를 실행해 원 스텝 증명을 생성한 다음 L1 체인의 스마트 컨트랙트에 제출합니다. L1의 스마트 컨트랙트는 두 검증자가 제출한 증명의 정확성을 검증하게 됩니다. 정직한 쪽의 증명이 정확하다고 판단되면, 해당 검증자 측의 트리를 유효한 것으로 확정하고 반대쪽 주장은 기각(Reject)됩니다. - 컨펌(Confirmation)
정직한 쪽의 원 스텝 증명이 확인되면 정직한 검증자 측은 본딩했던 자금을 회수할 수 있으며, 잘못된 주장을 한 검증자는 자신이 본딩했던 자금을 몰수당하게 됩니다. 이 과정에서 생긴 L1 가스 비용과 같은 부대 비용은 건전한 생태계 유지를 위한 비용으로 판단해 아비트럼 재단 측에서 보상해줍니다. - 타이머 : 경우에 따라 이러한 검증을 주고받는 과정 없이 챌린지가 종료되기도 합니다. 바로 시간에 따른 방법인데, 모든 챌린지에는 BoLD에서 정한 규칙에 따른 타이머가 부여됩니다. 한 쪽이 먼저 주장하고 나서, 상대 측이 응답을 제출하지 않고 시간을 초과하게 되면 제출한 쪽의 주장이 자동으로 확정됩니다.
BoLD의 무거운 자본주의
겉보기엔 다소 복잡해 보이지만, 실상은 아주 간단한 원리에 의해 동작하는 이 BoLD가 독특한 점은 바로 BoLD의 경제적 측면에 있습니다. 제가 관심을 갖게 된 것도 바로 이 점 때문인데, 아비트럼의 개발사 Offchain Labs는 이 프로토콜의 안정적 운영을 위해 다소 파격적으로 보이는 경제 시스템을 운영하고 있습니다.
앞서 살펴본 바와 같이 우리는 BoLD 프로토콜 하에서 아비트럼 체인에서의 잘못된 State를 챌린지하기 위해서는 일정 자금을 본딩 해야 한다는 것을 알 수 있었습니다. 그런데 이 일정 자금이 어마어마하게 큽니다. 앞서 Arbitrum Classic에서의 문제점은 일정 자금만 있으면 악의적으로 누군가가 계속해서 지연 공격을 가할 수 있다는 것에 있다고 말씀드린 바 있습니다. Offchain Labs는 여기에 대한 해결책으로, 이 일정한 자금의 수준을 어마무시하게 높여버리는 방법을 채택했습니다. 주장을 위한 본딩에는 3,600 ETH가 필요한데, 이 액수는 24년 8월 22일 기준 약 한화로 125억여 원에 이르는 큰 금액입니다. 반드시 개인이 혼자 다 이 3,600 ETH를 내야 하는 것은 아니고 같은 의견을 가진 여러 사람이 공동으로 제출할 수는 있게 해두었습니다. 챌린지 과정을 통해 자신의 주장이 올바르다면 돌려받을 수 있지만, 반대로 잘못된 주장을 할 경우 이 125억 원을 몰수당하게 되고, 몰수된 자금은 아비트럼 DAO에 귀속됩니다.
뿐만 아니라 챌린지의 각 단계에서도 본딩이 필요한데, 8월 업데이트 기준 블록 챌린지에서 원 스텝 챌린지의 단계까지 이어지는 각 챌린지 단계마다 각각 555 ETH와 79 ETH의 본딩이 필요합니다. 즉, 555 ETH는 블록 챌린지에 79 ETH는 낮은 단계의 챌린지에 필요한 본딩 금액입니다.
BoLD 프로토콜의 Economics 문서에서 이들이 이렇게 설계한 의도를 살짝 엿볼 수 있습니다. BoLD 프로토콜에 따라 이의가 발생하고, 챌린지과정을 거치는 동안 본딩된 금액들은 기본적으로 아비트럼 재단에서 관리하게 됩니다. 모든 과정이 끝난 이후 정직하지 않은 쪽에는 매우 치명적이게도 본딩 금액 전액을 몰수하는 패널티를 부과하고, 정직한 쪽에는 본딩 금액을 모두 회수할 수 있게 하고 여기에 더불어 몰수된 패널티의 1%를 보상으로 지급하는 인센티브 제도를 사용합니다. 3600 ETH의 1%만 되더라도 36 ETH라 상당히 큰 금액입니다. 자신이 정직한 검증자라면 챌린지를 마다할 이유가 없으며, 타이머를 통해 시간이 초과되더라도 몰수될 수 있기 때문에 쓸데없이 긴 시간을 낭비하지 않도록 해, 빠른 분쟁 해결이 되도록 유도합니다.
아비트럼은 이 모든 경제학적인 설계가 시스템의 안정성을 위한 것이라고 말합니다. 확실히 안정성은 유지될 것입니다. 정말 확실하게 잘못된 것이라는 판단이 아니라면 어지간해선 개인이 쉽게 주장할 수 없는 금액을 설정해 악의적인 공격자가 네트워크를 지연시키지 못하도록 하면서, 동시에 올바른 검증자에게 상당한 규모의 보상을 함으로써 검증자 풀이 지속적으로 유지될 수 있도록 독려하는 효과를 가질 것으로 보입니다.
오픈소스를 통한 공개
Offchain Labs는 오픈소스를 통해 BoLD 프로토콜을 공개했습니다. 여기에서 우리는 앞서 살펴본 BoLD의 챌린지 과정이 어떤 아키텍처를 통해 구현되었는지 확인할 수 있습니다.
Offchain Labs의 BoLD github를 통해 그들이 연구한 백서를 포함한 BoLD 프로토콜의 코드를 통해 실제 프로세스를 local 환경에서도 구현해 동작 원리를 구현해볼 수도 있습니다. 이런 공개 과정을 통해 아비트럼의 분쟁 해결 프로토콜을 개량해나가려는 모습은, 이외의 핵심 코드들은 비공개로 남겨두는 경우가 많은 Offchain Labs의 그간 행보와 달리 BoLD를 통해 진정한 탈중앙화 시스템 구축으로 나아가려는 그들의 의지를 담았다고도 볼 수 있겠습니다.
결론
아비트럼은 BoLD 프로토콜을 도입하면서 기존의 Arbitrum Classic이 지니고 있던 한계를 극복하고, Permissionless validation을 달성해 탈중앙화와 보안성을 강화하는 새로운 도약을 준비하고 있습니다. 기존에 문제로 지적되었던 지연 공격 방지를 위한 BoLD 프로토콜은 단순하면서도 명확한 구조를 기반으로 기술적 업그레이드를 포함하고 있으며, 다소 과감한 경제적 구조를 채택하고 있습니다. Offchain Labs는 악의적인 공격자를 방어하기 위해 혁신적인 시스템 설계보다는 경제적 진입 장벽을 높이는 방식을 선택하여 Permissionless 환경을 구현하려는 것으로 보입니다. 아무리 효율적인 보안 기술이 도입되더라도 시간이 지나면 취약점이 드러날 수 있지만, 이러한 강력한 경제적 장벽은 시간이 지나도 쉽게 무너지지 않는 방패 역할을 할 수 있을 것입니다.
아비트럼의 분쟁 해결 프로토콜 개선 사례에서 볼 수 있듯이 비탈릭 부테린이 제시한 Rollup training wheels의 Stage 2를 달성해야만 롤업으로서의 가치를 인정받을 수 있는 것은 아니지만, 많은 레이어 2 프로젝트들이 지금도 연구/분석/테스트를 통해 기존 시스템을 개선하려는 동기부여로서의 역할을 하고 있는 것으로 보입니다. 사용자들 역시 레이어 1의 보안성만을 의존하기보다 자체 메인넷을 꾸준히 개선하는 레이어 2 프로젝트들에 주목하며 우수한 프로젝트를 선별하는 과정에 나서고 있습니다.
최근 비트코인, 이더리움을 포함한 코인 시장이 다소 소강상태에 접어든 현 시점에서도, 여전히 가장 높은 시장 점유율과 TVL을 보유하고 있는 레이어 2의 강자 아비트럼이 Stage 2로의 도약과 함께 시장의 압도적 지배자의 위치를 유지할 수 있을지 주목됩니다. 또한, Offchain Labs의 이 실험적 BoLD 도입을 통해 거대한 아비트럼 생태계가 더욱 투명하고 탈중앙화된 시스템으로 성숙해질 수 있을지 기대됩니다.
References
L2beat summary
https://l2beat.com/scaling/summary
A gentle introduction: BoLD, Arbitrum Docs. last updated on Aug, 2024.
https://docs.arbitrum.io/how-arbitrum-works/bold/gentle-introduction
Proposed milestones for rollups taking off training wheels, Vitalik Buterin. Nov, 2022.
https://ethereum-magicians.org/t/proposed-milestones-for-rollups-taking-off-training-wheels/11571
Inside Arbitrum Nitro, Arbitrum Docs, last updated on Aug, 2024.
https://docs.arbitrum.io/how-arbitrum-works/inside-arbitrum-nitro#the-rollup-chain
Arbitrum BOLD, Esther Oche. Jan, 2024.
https://medium.com/web3-writers-guild/arbitrum-bold-95b6cd1b184a
Offchain Labs — BoLD github
https://github.com/OffchainLabs/bold
‘Arbitrum is (once again) the only Stage 1 EVM rollup.’ Steven Goldfeder Twitter. Aug, 2024.
https://x.com/sgoldfed/status/1826377841283662073
'IT > BlockChain' 카테고리의 다른 글
아비트럼 Stylus가 여는 스마트 컨트랙트 개발의 확장 (2) | 2024.09.10 |
---|---|
필리퀴드(파일코인 DeFi 플랫폼) 테스트넷 서비스 체험기 - 2 (1) | 2024.03.06 |
필리퀴드(파일코인 DeFi 플랫폼) 테스트넷 서비스 체험기 - 1 (0) | 2024.03.06 |
디퍼런스(DE-FERENCE) 2024 참관기 (0) | 2024.02.22 |
한 발 늦은, KOBAC 2024 행사 참관기 (0) | 2024.02.03 |