저자: 칼레 로젠바움 & 린네아 로젠바움

이 장에서는 비트코인의 확장성과 확장 불가능한 방법에 대해 살펴보겠습니다. 먼저 기존에 사람들이 이 문제를 어떻게 생각해왔는지 알아보겠습니다. 이어서 비트코인의 처리량을 늘리는 다양한 방법, 특히 수직 확장, 수평 확장, 내부 확장, 그리고 계층형 확장에 대해 설명합니다. 각 방법은 비트코인의 가치 제안과 충돌하는지 여부를 논의한 후 마무리하겠습니다.
비트코인 세계에서 "확장성"이라는 용어는 다양한 의미로 사용됩니다. 어떤 이들은 블록체인 거래 처리량 증가를 의미한다고 생각하고, 어떤 이들은 블록체인을 더욱 효율적으로 사용하는 것을 의미한다고 생각하며, 또 다른 이들은 비트코인 위에 구축된 시스템을 개발하는 것을 의미한다고 생각합니다.
비트코인의 맥락에서, 그리고 이 책의 목적상, 우리는 "확장성"을 " 검열 저항성을 희생하지 않고 비트코인의 가용 처리량을 증가시키는 것 "으로 정의합니다. 이 정의에는 다음과 같은 몇 가지 변화가 포함됩니다.
- 거래 입력에 사용되는 바이트 수를 줄이세요
- 서명 검증의 효율성을 향상시키세요
- 비트코인의 P2P 네트워크가 사용하는 대역폭을 줄이도록 허용합니다.
- 일괄 트랜잭션 처리
- 계층형 아키텍처
곧 다양한 확장 방법에 대해 자세히 살펴보겠지만, 먼저 확장성 관점에서 비트코인의 역사를 간략하게 살펴보겠습니다.
8.1 역사
확장성은 비트코인 탄생 이후 줄곧 논의의 핵심 주제였습니다. 사토시 나카모토 비트코인 백서 를 발표하며 암호학 메일링 리스트에 보낸 답장의 첫 문단부터 확장성에 대한 내용이 언급되어 있습니다.
나카모토 사토시는 다음과 같이 썼습니다.
저는 완전한 기능을 갖춘 새로운 전자 현금 시스템을 개발해 왔습니다.
신뢰할 수 있는 제3자 없이 P2P 방식으로 거래합니다.
>
해당 논문은 다음 링크에서 확인할 수 있습니다.
http://www.bitcoin.org/bitcoin.pdf우리는 그러한 시스템이 절실히 필요하지만, 귀하의 제안 내용을 제가 이해한 바로는 필요한 규모로 확장하는 것이 불가능해 보입니다.
— 제임스 A. 도널드가 사토시 나카모토 보낸 답장, 암호학 메일링 리스트(2018)
이 논의 자체는 그다지 흥미롭거나 정확하지 않을 수 있지만, 확장성이 처음부터 우려 사항이었다는 것을 보여줍니다.
확장성 문제에 대한 논의는 2015년에서 2017년 사이에 정점을 찍었는데, 당시 비트코인 블록의 최대 크기 제한을 늘려야 하는지에 대한 다양한 의견들이 쏟아졌습니다. 이는 소스 코드의 매개변수 하나를 변경할지 여부를 놓고 벌인 지루한 논쟁에 불과했습니다. 이러한 변경은 근본적인 문제를 해결하는 것이 아니라, 확장성 문제를 잠시 미루면서 사실상 "기술 부채"를 누적시키는 것에 지나지 않았습니다.
2015년 몬트리올에서 " 비트코인 스케일링(Scaling Bitcoin )"이라는 컨퍼런스가 개최되었고, 6개월 후 홍콩에서 후속 컨퍼런스가 열렸으며, 이후 전 세계에서 일련의 컨퍼런스가 개최되었습니다. 이 컨퍼런스들의 핵심은 확장성 문제 해결이었습니다. 많은 비트코인 개발자와 애호가들이 이 컨퍼런스에 모여 다양한 확장성 문제와 해결책을 논의했습니다. 논의의 대부분은 단순히 블록 크기 제한을 늘리는 것에 그치지 않고 장기적인 해결책에 초점을 맞추었습니다.
2015년 12월 홍콩 회의 이후, 그레고리 맥스웰은 논의된 여러 문제에 대한 자신 관점 요약했지만 , 그의 출발점은 보다 폭넓은 팽창주의 철학이었다.
현재 기술에는 확장성과 탈중앙화 사이에 근본적인 모순이 존재합니다. 비트코인 시스템 사용 비용이 너무 높아지면 사람들은 시스템 규칙을 독립적으로 시행하기보다는 제3자를 신뢰할 수밖에 없게 됩니다. 비트코인 블록체인의 자원 소비량이 현재 기술 수준에 비해 너무 커지면 검증 비용이 너무 높아져(많은 사용자를 잃게 됨) 기존 시스템에 비해 비트코인의 경쟁력이 약화되고, 결국 시스템에 신뢰 요소를 다시 도입해야 할 것입니다. 처리량이 너무 낮고 거래 생성 방식이 비효율적이면 분쟁 해결을 위해 블록체인에 접근하는 비용이 너무 높아져 마찬가지로 시스템에 신뢰 요소가 필요하게 됩니다.
— 그레고리 맥스웰, "비트코인 시스템의 처리량 향상"(2015)
그는 처리량과 탈중앙화 사이의 상충 관계에 대해 이야기하고 있었습니다. 블록 크기를 늘리면 일부 서버는 확장된 블록을 검증할 컴퓨팅 자원이 부족하여 네트워크에서 제외될 것입니다. 하지만 반대로 블록 공간 사용 비용이 증가하면 분쟁 해결 메커니즘으로 블록 공간을 사용할 여력이 있는 사용자가 줄어들게 됩니다. 어느 경우든 사용자는 신뢰를 요구하는 서비스로 몰리게 될 것입니다.
그는 컨퍼런스에서 제시된 다양한 확장성 개선 방안들을 요약했는데, 여기에는 계산 효율성이 더욱 높아진 서명 검증, 블록 크기 변경을 반영하는 " 분리된 증인(Segregated Witness )", 공간 효율성이 향상된 블록 전파 메커니즘, 그리고 비트코인 기반의 계층형 프로토콜 개발 등이 포함되었습니다. 이후 이러한 방안들 중 상당수가 실제로 구현되었습니다.
8.2 확장 방법
앞서 언급했듯이 비트코인의 처리량을 늘리는 데 반드시 블록 크기 제한이나 다른 제약을 높일 필요는 없습니다. 이제 확장을 위한 일반적인 방법들을 살펴보겠습니다. 이 중 일부는 이전 섹션에서 언급한 처리량-탈 탈중앙화 모순에 구애받지 않습니다.
8.2.1 수직 확장
"수직 확장"이란 데이터를 처리하는 컴퓨터의 컴퓨팅 자원을 늘리는 것을 의미합니다. 비트코인의 맥락에서 이러한 컴퓨터는 풀 노드라고 하며, 풀 노드는 사용자를 대신하여 블록체인을 검증하는 역할을 합니다.
비트코인 세계에서 가장 많이 논의되는 수직 확장 기법은 블록 크기 제한을 늘리는 것입니다. 이를 위해서는 일부 풀 노드가 증가된 연산 요구량을 충족하기 위해 하드웨어를 업그레이드해야 합니다. 하지만 이 접근 방식의 단점은 이전 장에서 논의했듯이 중앙 집중화라는 대가를 치러야 한다는 것입니다. 더 자세한 내용은 1.2장 ( 중국어 번역 )에서 확인할 수 있습니다.
수직 확장은 "풀 노드 탈중앙화"에 부정적인 영향을 미칠 뿐만 아니라, 비트코인의 "채굴자 탈 탈중앙화"(자세한 설명 은 1.1장 참조)와 보안에도 미묘한 방식으로 부정적인 영향을 미칠 수 있습니다. 먼저 채굴자가 "어떻게" 작동해야 하는지 살펴보겠습니다. 채굴자가 블록 높이 7에서 블록을 채굴하여 비트코인 네트워크에 게시했다고 가정해 보겠습니다. 이 블록이 네트워크에서 널리 받아들여지기까지는 두 가지 이유로 시간이 걸립니다.
- 대역폭 제한으로 인해 블록이 노드 간에 전파되는 데 시간이 걸립니다.
- 블록 유효성 검사에도 시간이 걸립니다.
이 블록이 네트워크를 통해 전파되는 동안, 많은 채굴자들은 아직 블록 6을 수신하지 못했고 검증하지 못했기 때문에 여전히 블록 6을 기반으로 채굴 있습니다(즉, 블록 높이 7에서 계속 채굴). 이 기간 동안, 이러한 채굴자 중 한 명이 블록 높이 7에서 새로운 블록을 발견하면, 해당 높이에 두 개의 경쟁 블록이 생성될 것입니다. 네트워크 전체에서는 각 높이에서 하나의 블록만 인정되므로, 이 두 후보 블록 중 하나는 폐기되어야 합니다.
요약하자면, 이러한 "오래된 블록"은 각 블록이 전파되는 데 시간이 걸리기 때문에 네트워크에 나타나며, 전파 시간이 길수록 오래된 블록이 나타날 확률이 높아집니다.
블록 크기 제한이 제거되면 실제로 채굴되는 블록의 평균 크기가 크게 증가하여 네트워크에서 블록 전파 속도가 느려질 것입니다(대역폭 제한 및 검증 시간 때문). 이러한 전파 시간 증가는 오래된 블록이 나타날 확률도 높일 것입니다.
채굴자들은 자신들이 채굴한 블록이 쓸모없는 블록이 되는 것을 절대 원하지 않습니다. 마치 구운 오리가 날아가 버리는 것과 같죠. 따라서 채굴자들은 이러한 상황을 피하기 위해 필사적으로 노력할 것입니다. 그들이 취할 수 있는 조치에는 다음과 같은 것들이 있습니다.
- 들어오는 블록의 검증을 지연시키는 것을 " 검증 없는 채굴"( 섹션 9.2.4.4 에서 자세히 설명)이라고도 합니다. 채굴자는 블록 헤더의 작업 증명만 확인한 후 전체 블록이 다운로드될 때까지 채굴 계속하고, 다운로드가 완료되면 블록을 검증할 수 있습니다.
- 대역폭이 더 높고 연결이 더 안정적인 마이닝 풀에 접속하세요.
검증되지 않은 채굴 은 채굴자들이 들어오는 블록을 (적어도 일시적으로는) 직접 신뢰하게 만들기 때문에 풀 노드 탈중앙화 더욱 저해합니다. 또한, 채굴 해시레이트 의 일정 비율이 가장 견고하고 효율적인 블록체인을 구축하는 데 사용되는 대신 온체인 사용될 수 있으므로 보안에도 어느 정도 악영향을 미칩니다.
위의 두 번째 사항 또한 채굴자 탈중앙화 에 부정적인 영향을 미칩니다. 자세한 내용은 1.1장 ( 중국어 번역 )을 참조하십시오. 일반적으로 연결이 가장 안정적이고 대역폭이 가장 큰 채굴 풀이 가장 큰 채굴 풀이 되기 때문에 채굴자들이 점차 몇몇 채굴 풀에 집중되는 현상이 발생합니다.
8.2.2 수평 확장
"수평 확장"이란 작업 부하를 여러 대의 머신에 분산시키는 기술을 말합니다. 이는 이슈 웹사이트나 데이터베이스에서 흔히 사용되는 확장 방식이지만, 비트코인에 적용하기는 쉽지 않습니다.
많은 사람들이 이러한 비트코인 확장 방식을 " 샤딩 "이라고 부릅니다. 기본적으로 각 풀 노드가 블록체인의 일부만 검증하는 것을 의미합니다. 피터 토드는 이 개념에 상당한 시간을 투자했습니다. 그는 샤딩을 더 넓은 의미로 설명하는 블로그 게시물을 작성했고, " 트리체인 "이라는 자신만의 아이디어도 제안했습니다. 이 글은 읽기가 다소 어렵지만, 토드의 관점 중 일부는 매우 이해하기 쉽습니다.
샤딩 시스템에서는 "풀 노드 배리어"가 제대로 작동할 수 없거나, 적어도 직접적으로는 작동하지 않습니다. 근본적인 이유는 모든 노드가 모든 데이터를 보유하고 있지 않기 때문에, 모든 데이터에 접근할 수 없을 때 어떤 일이 발생하는지 파악해야 하기 때문입니다.
— 피터 토드, "비트코인 확장에 샤딩이 어려운 이유"(2015)
그는 샤딩(또는 수평 확장) 처리와 관련된 여러 아이디어를 제시했습니다. 그리고 글의 마지막 부분에서 다음과 같은 결론을 내렸습니다.
하지만 심각한 문제가 있습니다. 세상에! XXX는 비트코인보다 훨씬 더 복잡합니다! 제가 제안한 선형화된 샤딩 방식(zk-SNARK의 영지식 증명을 사용하지 않는 방식)조차도 현재 사용되는 비트코인 프로토콜보다 1~2배는 더 복잡합니다. 게다가 업계의 많은 기업들이 비트코인 프로토콜을 직접 사용하는 대신 중앙 집중식 API 제공업체를 이용하고 있는 추세입니다. 따라서 위의 솔루션을 구현하고 최종 사용자에게 제공하는 것은 결코 간단한 일이 아닙니다.
반면, 탈중앙화 결코 저렴하지 않습니다. 페이팔을 사용하는 것이 비트코인 프로토콜을 사용하는 것보다 한두 자릿수 더 간단합니다.
— 피터 토드, "비트코인 확장에 샤딩이 어려운 이유"(2015)
그의 결론은 샤딩이 기술적으로는 가능 할지 모르지만 시스템에 대량 복잡성을 더할 것이라는 것이었습니다. 이미 많은 사용자가 비트코인이 너무 복잡하다고 느끼고 중앙 집중식 서비스를 선호하는 상황에서, 그들에게 더 복잡한 시스템을 사용하도록 설득하는 것은 어려울 것이라는 분석이었습니다.
8.3 내부 팽창
수평적 및 수직적 확장은 데이터베이스 및 인터넷 서버와 같은 중앙 집중식 시스템에서 매우 효과적인 것으로 입증되었지만, 중앙 집중화 효과 때문에 비트코인과 같은 탈중앙화 시스템에는 적합하지 않은 것으로 보입니다.
덜 주목받는 접근 방식으로는 "내부 확장"이라는 개념이 있는데, 이는 "적은 자원으로 더 많은 것을 하는 것"을 의미합니다. 이는 많은 개발자들이 지속적으로 진행해 온 작업, 즉 기존 시스템의 한계 내에서 더 나은 성능을 발휘할 수 있도록 이미 사용 중인 알고리즘의 성능을 최적화하는 것을 가리킵니다.
내부 확장을 통해 달성된 개선 사항은 놀라울 정도이며, 이는 과장이 아닙니다. 수년에 걸쳐 이루어진 개선 사항을 간략하게 설명하자면, Jameson Lopp은 0.8 버전 이후의 Bitcoin Core 버전을 비교하여 블록체인 동기화 에 대한 벤치마크 테스트를 실행했습니다.

그림 7. 여러 버전의 '비트코인 코어'에서 초기 블록 다운로드 성능. Y축은 동기화가 수행되는 블록 높이를 나타내고, X축은 해당 높이까지 동기화하는 데 걸린 시간을 나타냅니다.
서로 다른 색깔의 선은 Bitcoin Core 의 여러 버전을 나타냅니다. 가장 왼쪽 선은 2021년 9월에 출시된 최신 버전인 0.22 버전으로, 동기화하는 데 396분이 걸렸습니다. 가장 오른쪽 선은 2013년 11월에 출시된 0.8 버전으로, 동기화하는 데 3452분이 걸렸습니다. 이러한 모든 개선 사항(대략 10배의 성능 향상)은 내부 확장을 통해 달성되었습니다.
이러한 개선 사항은 공간 절약(메모리, 디스크 공간, 대역폭 등) 또는 컴퓨팅 성능 절약으로 분류할 수 있습니다. 개선 유형에 관계없이 모든 개선 사항은 위 다이어그램에 표시된 성능 향상에 기여합니다.
계산 최적화의 좋은 예로는 디지털 서명 생성 및 검증을 위한 암호화 기본 요소를 구현하는 libsecp256k1 라이브러리가 있습니다. 이 라이브러리 개발에 참여한 Pieter Wuille은 여러 풀 리퀘스트를 통해 성능 향상을 달성한 과정을 자세히 설명하는 긴 트윗 (Long tweet) 의 글을 트위터에 올린 적이 있습니다.

그림 8. 서명 검증 성능이 점진적으로 향상되는 모습; 중요한 PR이 X축에 표시되어 있습니다.
위 그래프는 두 종류의 64비트 CPU(ARM과 x86)에서 서명 검증 성능 추세를 보여줍니다. 두 CPU 간의 성능 차이는 x86 아키텍처가 더 특화된 명령어를 제공하는 반면, ARM 아키텍처는 더 적고 범용적인 명령어를 제공한다는 사실에서 비롯됩니다. 하지만 두 아키텍처 모두에서 동일한 추세가 나타납니다. Y축이 로그 스케일로 표시되어 시각적 효과가 다소 약해 보이지만, 실제 효과는 훨씬 더 놀랍습니다.
공간 절약 개선의 좋은 예는 이 밖에도 많습니다. "Taproot"를 사용하여 공간을 절약하는 방법에 대한 Medium 블로그 게시물 에서 Murch는 다양한 2-of-3 임계값 서명 스크립트가 차지하는 블록 공간을 비교했습니다. 또한 Taproot 스크립트에서 2-of-3 임계값 서명을 구현하는 방법도 여러 가지가 있습니다.

그림 9. 다양한 비용 스크립트에 대한 블록 공간 사용량; Taproot와 기존 스크립트 유형 비교.
Segregated Witness의 기본 스크립트를 사용하여 2-of-3 임계값 서명을 수행하는 데에는 총 104.5 + 43 vB = 147.5 vB(가상 바이트)가 필요합니다. 반면 가장 공간 효율적인 Taproot 스크립트는 일반적인 사용 사례에서 57.5 + 43 vB = 100.5 vB만 필요로 합니다. 서명자가 어떤 이유로든 사용할 수 없는 최악의 시나리오(이 또한 드뭅니다)에서는 Taproot 스크립트가 107.5 + 43 vB = 150.5 vB를 사용합니다. 개발자들이 공간 절약을 위해 얼마나 세심하게 고려했는지, 모든 세부 사항을 이해할 필요는 없습니다.
역자 주: Taproot 스크립트는 많은 경우 트랜잭션 블록 공간 사용량을 줄일 수 있지만, 이는 원시 바이트 단위가 아닌 "vB(가상 바이트)" 단위로 측정됩니다. Segregated Witness 업그레이드 이후, 트랜잭션의 각 부분(트랜잭션 본문 데이터와 서명 데이터로 간단히 구분 가능)은 블록 공간 사용량 계산 시 승수(multiplier)를 가지게 되었으며, 이것이 vB 단위의 근원입니다. 그러나 사용자가 사용하는 스크립트 유형의 변화가 트랜잭션 크기 감소로 인해 그림 7에 나타난 초기화 동기화 속도 향상에 기여했다고 단정하기는 어렵습니다. 블록 크기가 반드시 감소한 것은 아닐 수 있기 때문입니다. 오히려 Segregated Witness 및 이후 버전의 스크립트에서 검증 연산 부담이 줄어든 것이 속도 향상의 주요 원인일 가능성이 높습니다.
비트코인 소프트웨어 내부 확장을 넘어, 사용자들이 확장성에 기여할 수 있는 방법은 다양합니다. 사용자들은 거래 수수료를 절감하고 풀 노드 리소스에 대한 의존도를 낮추면서 더욱 효율적인 거래를 생성할 수 있습니다. 이러한 목표를 달성하기 위한 두 가지 대표적인 기술은 "거래 일괄 처리"와 "출력 통합"입니다.
거래 일괄 처리의 핵심 아이디어는 여러 결제를 개별 거래로 처리하는 대신 하나의 거래로 통합하는 것입니다. 이를 통해 거래 수수료를 크게 절감하고 필요한 블록 공간도 줄일 수 있습니다.

그림 10. 일괄 거래 처리는 여러 건의 결제를 하나의 거래로 결합하여 거래 수수료를 절감합니다.
거래 출력 통합의 기본 아이디어는 블록 공간 수요가 적은 기간 동안 여러 거래 출력을 하나의 출력으로 결합하는 것입니다. 이렇게 하면 블록 공간 수요가 높은 기간에 거래를 시작해야 할 때 거래 수수료를 절약할 수 있습니다.

- 그림 11. 출력 통합. 네트워크 거래 수수료가 낮을 때 여러 코인을 하나로 민트 나중에 수수료를 절약하세요.
출력 통합이 내부 확장에 얼마나 기여하는지는 즉시 명확하게 드러나지 않을 수 있습니다. 블록체인의 데이터 양이 이 방식 때문에 약간 증가할 수 있기 때문입니다. 하지만 UTXO 세트(어떤 주소가 어떤 코인을 소유하고 있는지 추적하는 데이터베이스)는 생성하는 UTXO보다 사용하는 UTXO가 많을 경우 크기가 줄어듭니다. 이는 UTXO 세트를 유지 관리하는 풀 노드의 부담을 완화시켜 줍니다.
안타깝게도 이 두 가지 UTXO 관리 기법 모두 귀하 또는 수신자의 개인정보를 침해할 수 있습니다. 일괄 처리 방식에서는 각 수신자가 일괄 처리된 입력이 귀하로부터 왔으며, 나머지 출력은 각각 다른 수신자에게 전달되었음을 알게 됩니다(잔돈은 귀하에게 전달됨). UTXO 통합 방식에서는 통합된 모든 출력이 동일한 지갑에서 발생했음을 알게 됩니다. 따라서 비용 효율성과 개인정보 보호 사이에서 절충점을 찾아야 할 수도 있습니다.
8.2.4 단계별 확장
가장 강력한 확장 방법은 아마도 "계층화"일 것입니다. 계층화의 핵심 아이디어는 단일 프로토콜이 블록체인을 통한 거래 확인 없이도 사용자 간의 결제를 처리할 수 있다는 것입니다. 이 내용은 2장 ( 중국어 번역 )과 3.7장 ( 중국어 번역 )에서 간략하게 다루었습니다.
계층형 프로토콜의 시작점은 그림 12에서 보는 바와 같이 두 명 이상의 사람이 시작 거래에 동의하고 이를 블록체인 네트워크에 게시하는 것입니다.

- 그림 12. 비트코인 레이어 1 위에 구축된 표준 레이어 2 프로토콜 -
이 시작 거래의 구성 방식은 프로토콜에 따라 다르지만, 일반적인 접근 방식은 참여자들이 먼저 서명할 시작 거래와 함께 미리 서명된 일련의 벌칙 거래를 생성하는 것입니다. 이 벌칙 거래들은 시작 거래의 출력값을 다양한 방식으로 사용합니다. 그런 다음 시작 거래는 모든 서명을 수집하여 블록체인에 전송되고, 개별 사용자가 보유한 벌칙 거래는 모든 서명을 받아 블록체인에 게시되어 부정행위를 저지른 참여자를 처벌합니다. 이는 모든 당사자가 약속을 지키도록 유도하여 프로토콜의 무신뢰성을 달성합니다.
최초 거래가 블록에 확정되면 프로토콜이 작동을 시작할 수 있습니다. 예를 들어, 참여자 간 매우 빠른 결제를 가능하게 하거나, 개인정보 보호 기술을 구현하거나, 비트코인 블록체인이 지원할 수 없는 고급 스크립팅 기능을 제공할 수 있습니다.
각 프로토콜의 구체적인 작동 방식에 대해서는 자세히 설명하지 않겠지만, 그림 12에서 볼 수 있듯이 블록체인은 계층형 프로토콜의 전체 수명 주기 동안 거의 사용되지 않습니다. 모든 중요한 작업은 오프체인에서 발생합니다. 이는 (제대로 구현될 경우) 개인정보 보호를 강화할 뿐만 아니라 확장성에도 도움이 됩니다.
"달에 가려면 다단계 로켓이 필요하다. 그렇지 않으면 로켓 방정식이 당신을 잡아먹을 것이다... 우스꽝스러운 사람들을 모두 투석기에 태우고 성공을 기다리는 것이 올바른 방법이다"라는 제목의 레딧 게시물 에서 그레고리 맥스웰은 계층 구조가 비트코인 처리량을 몇 배나 늘리는 가장 좋은 방법인 이유를 설명합니다.
그는 비자와 마스터카드를 비트코인의 주요 경쟁사로 여기는 것은 오해이며, 블록 크기 제한을 늘리는 것은 그러한 잘못된 생각에서 비롯된 결함 있는 접근 방식이라고 강조하며 강연을 시작했습니다. 그런 다음 그는 계층화(layering)가 어떻게 상황을 근본적으로 바꿀 수 있는지에 대해 논의했습니다.
그렇다면 비트코인이 결제 기술 분야에서 최대 승자가 될 수 없다는 뜻일까요? 아닙니다. 단지 전 세계적인 결제 수요를 충족하는 데 필요한 처리량을 달성하려면 더 스마트한 방식이 필요하다는 의미일 뿐입니다.
비트코인은 처음부터 스마트 계약 프로그래밍 기능을 통해 다양한 계층을 안전하게 결합하도록 설계되었습니다. (혹시 이게 단순히 사람들이 의미 없는 "탈중앙화 형 자율 조직(DAO)"을 대단한 발명품인 양 과대광고하기 위한 장치라고 생각하시나요?) 이제 우리는 비트코인 시스템을 접근성이 뛰어나고 완벽하게 신뢰할 수 있는 로봇 판사처럼 활용하여 법정 밖에서 대부분의 비즈니스를 관리해야 할 때입니다. 단, 거래 방식 자체가 문제가 발생하더라도 모든 증거와 확립된 계약을 통해 로봇 판사가 올바른 결정을 내릴 것이라는 확신을 가질 수 있도록 설계되어야 합니다. (참고: 이것이 불가능해 보인다면 거래 중간 처리(transaction cut-through)에 대한 이전 글을 다시 읽어보세요.)
이는 비트코인의 핵심 속성 덕분에 가능한 일입니다. 검열 및 되돌리기가 가능한 기본 시스템은 그 위에 견고한 상위 계층 거래 처리 시스템을 개발하는 데 적합하지 않습니다. 더욱이, 기본 자산이 신뢰할 수 없다면 거래에 사용할 이유가 없습니다.
—그레고리 맥스웰, 레딧 r/Bitcoin (2016)
이 판사의 비유는 계층 구조의 작동 원리를 생생하게 보여줍니다. 판사는 부패하지 않고 변덕스럽지 않아야 합니다. 그렇지 않으면 비트코인 기본 계층 위의 계층들이 안정적으로 작동하지 않을 것입니다.
그는 중앙 집중식 서비스에 대한 자신의 생각을 밝혔습니다. 일반적으로 소량의 비트코인을 사용하기 위해 중앙 서버를 신뢰하는 것은 잘못된 것이 아니며, 이는 일종의 계층적 확장 방식이라고 할 수 있습니다.
맥스웰이 이 글을 쓴 이후로 많은 새로운 기술들이 등장했지만, 그의 말은 여전히 유효합니다. 라이트닝 네트워크의 성공은 계층 구조가 비트코인의 유용성을 향상시키는 올바른 방법임을 증명합니다.
8.3 결론
우리는 비트코인 확장(비트코인 처리량 증가)을 위한 몇 가지 제안된 방법들을 논의했습니다. 확장성은 비트코인이 처음 등장했을 때부터 가장 큰 관심사 중 하나였습니다.
오늘날 우리는 비트코인이 수직적 확장("더 고급 하드웨어 구매")이나 수평적 확장("데이터의 일부만 검증")에는 적합하지 않지만, 내부적 확장("적은 자원으로 더 많은 것을 관리")과 계층적 확장("비트코인 기반 프로토콜 개발")에는 적합하다는 것을 알고 있습니다.


