비트코인 SV 머클 증명 표준 공개가 개발자와 사용자에게 지니는 의미

Alex Speirs 150 x 150
By Jamie McKane Published: 6월 17, 2021
BSV Merkle Proof Standard Published

코인긱 취리히에서 나온 가장 큰 발표 중 하나는 비트코인 SV 기술 표준 위원회(TSC) 의 머클 증명 표준 형식의 공개입니다.

오늘 행사에서 엔체인(nChain)의 CTO이자 TSC의 의장인 스티브 셰더스(Steve Shadders)와 투 홉 벤처스(Two Hop Ventures)의 창립자이자 TSC 창립 회원인 알렉스 파우벨(Alex Fauvel)은 머클 증명 표준 형식에 대한 공개 검토 절차가 완료되었으며, 이 표준은 공개BSV 라이선스 에 따라 공개되었다고 발표했습니다.

표준은 BSV 결제에 대한 더 큰 상호 운용성을 가능하게 하고 블록체인에서 간편 결제 인증(Simple Payment Verification, SPV) 서비스를 구축하기 위한 안정적이고 신뢰할 수 있는 플랫폼을 제공하기 때문에 비트코인 SV 개발자와 사용자 모두에게 중요한 소식입니다. SPV는 비트코인 SV 핵심 기능의 필수 요소로, 사용자가 전체 비트코인 노드를 실행하지 않고도 결제를 수신하고 검증하는 것을 가능하게 하는 SPV 적용을 설명하는 사토시 나카모토(Satoshi Nakamoto)가 2008년에 게시한 오리지널 비트코인 백서와 가장 밀접하게 일치하는 블록체인입니다.

기술 표준 위원회는 애플리케이션 간에 호환되는 공동 표준을 개발하기 위해 개발자 및 이해 관계자들과 협력하여 성장하는 비트코인 SV 생태계에서 상호 운용성을 개선하는 것을 목표로 합니다. TSC는 표준을 결정하는 것이 아니라 상호 운용성을 개선하고 비트코인 SV의 채택을 가속하기 위한 기술 표준 개발의 프레임워크와 프로세스를 제공한다는 점에 주목해야 합니다.

“TSC는 표준이 무엇인지 결정하기 위해 존재하는 것이 아닙니다. TSC는 업계에서 이러한 표준이 무엇인지 결정하는 데 도움을 주기 위해 존재하는 것입니다.”라고 셰더스는 설명합니다.

머클 증명 표준 형식은 숙고, 초안 작성, 내부 검토 및 공개 검토를 포함하는 위원회의 포괄적이고 개방적인 표준화 프로세스를 거쳤으며, 현재는 채택을 위해 공개되었습니다.

 

머클 증명 및 머클 증명이 SPV와 작동하는 방식

머클 증명 표준 형식의 이점을 이해하려면 먼저 간편 결제 인증(SPV)에 대한 데이터 구조의 중요성을 이해해야 합니다. SPV를 사용하면 가맹점이나 사용자가 전체 블록체인을 다운로드하지 않고도 비트코인 SV 거래를 검증할 수 있습니다. 대신 가맹점이나 사용자는 신뢰할 수 있는 노드에서 해당 거래를 포함하는 비트코인 블록의 블록 헤더(block header)를 받을 수 있습니다. 블록 헤더는 블록 내의 모든 거래에 대한 해시인 머클 루트(Merkle root)를 포함합니다.

비트코인 거래는 구조의 잎이 각 거래에 대한 해시를 구성한다는 점을 제외하고 바이너리 트리(binary tree)와 유사하게 작동하는 머클 트리 데이터 구조에 저장되며, 거래는 트리의 루트인 머클 루트까지 인접한 항목과 함께 해시화됩니다. 따라서 머클 루트에는 해당 비트코인 블록 내에 포함된 각 거래에 대한 증명이 포함되어 있으므로 이 증명과 거래 ID 또는 해시를 사용하여 블록체인에서 거래가 존재하는지 확인이 가능합니다.

이 검증의 기술적 특성은 비트코인 SV 사용자가 가볍고 저렴한 하드웨어에서 SPV ‘라이트 노드(light node)’를 안전하게 실행하여 거래가 유효한지 쉽게 확인할 수 있다는 확신을 가지고 다른 사용자들로부터 거래를 받을 수 있다는 것을 의미합니다. 즉, 완전한 블록체인이 필요하지 않습니다.

“비트코인 블록 헤더를 제외하고 머클 증명은 아마도 비트코인의 가장 근본적인 데이터 구조 중 하나일 것입니다. 머클 증명을 통해 거래가 블록과 연결되어 있음을 증명할 수 있습니다. 즉, 채굴자가 거래를 수락했다는 것을 증명할 수 있으므로 거래 당사자 간에 머클 증명을 교환하고자 하는 이유는 매우 다양합니다.”라고 셰더스가 비트코인 협회에 말합니다.

“머클 증명은 P2P(peer-to-peer) 상호 작용에 매우 중요한데, 이 상호 작용의 일부는 머클 증명이 첨부된 정보의 일부를 보내는 것을 의미하기 때문입니다. 그렇기에 다양한 월렛이 이를 지원해야 합니다. 만약 모든 사람이 다른 방식으로 머클 증명을 구현할 경우, 서비스에 연결하고 싶을 때마다 연결하기 위해 새로운 방식을 사용해야 합니다.

머클 증명 표준 형식이 공개됨에 따라 이러한 중요한 증명이 월렛 또는 SPV 노드와 호환된다는 확신과 함께 서로 다른 서비스와 사용자 간에 공유될 수 있으므로 거래 인증의 모든 과정은 보다 자율적이고 접근성이 높아집니다.

 

기술 표준의 중요성

머클 증명 표준 형식은 공개 단계에 도달한 TSC의 첫 번째 표준으로, 공개 검토 단계에 도달할 때까지 상당히 구체화되었음에도 불구하고 이해 관계자가 공개 전에 피드백을 제출하여 표준의 여러 측면을 크게 개선했습니다.

셰더스는 전통적인 산업 전반에 걸쳐 표준이 널리 보급된 것에서 볼 수 있듯이 표준이 혁신과 상호 운용의 생태계를 조성하는 데 있어 중요한 부분이라고 설명합니다. 표준은 또한 경쟁을 줄이는 것이 아니라 경쟁자와 사용자 모두의 접근성을 향상시킵니다. 그는 DVD 산업의 예를 사용하여 표준이 어떻게 경쟁을 가능하게 하고 사용자 경험을 향상시킬 수 있는지 설명합니다.

“제가 소니 DVD 플레이어를 가지고 있고 삼성 DVD 플레이어를 산다고 가정해 보겠습니다. 이 두 개의 DVD 플레이어가 서로 다른 형식을 가지고 있다고 상상해 보십시오. 만약 그렇다면 저는 완전히 새로운 DVD 컬렉션을 구입하여 기존 DVD 컬렉션을 모두 교체해야 할 것입니다. [이 표준은] 근본적으로 그러한 문제를 해결합니다.”라고 그는 말합니다.

“모든 월렛은 머클 증명을 위한 기존 표준을 구현할 수 있습니다. 이것은 월렛이 표준을 구현한 다른 모든 월렛과 즉시 커뮤니케이션 할 수 있고, 심지어 생각하지 못했던 일부 월렛과도 커뮤니케이션을 할 수 있다는 것을 의미합니다. 여기에는 아직 존재하지 않거나 미래에 구축될 가능성이 있는 월렛도 포함됩니다.”

이와 같은 표준이 없다면 업계는 사용자에게 폐쇄되고 이질적인 생태계를 제공하게 되고, 이를 기반으로 구축된 기반 기술과 애플리케이션에 대한 전반적인 접근 가능성을 저하시킬 수 있는 위험을 감수해야 할 수 있습니다. 비트코인 SV 커뮤니티는 머클 증명 형식의 표준화를 해결함으로써 상호 운용성이 SPV 월렛과 데이터 공급자 간의 경쟁과 혁신의 기본 구성요소가 될 수 있도록 보장합니다.

“SPV 자체의 기본 구성 요소는 포함 증명(inclusion proof), 즉 머클 증명입니다. 이 표준이 없다면 월렛에 적절한 SPV를 구축하려는 사람은 데이터 구조를 구성해야 하며, 이를 뒤따라온 두 번째 사람은 그 데이터 구조를 채택할지 아니면 호환시키지 않을지를 결정해야 합니다. 그리고 호환시키지 않을 경우 폐쇄된 생태계를 가진 두 개의 SPV 월렛이 존재하게 됩니다.”라고 셰더스는 설명합니다.

그는 TSC가 공개한 표준은 위원회 회원들의 견해보다는 커뮤니티의 의견을 반영한다고 강조합니다. 또한 일단 이러한 표준이 공개되면 공개적인 검토의 대상이 되며 더 나은 솔루션이 발견되거나 주변 기술이 변경되는 경우 표준은 업데이트, 수정 또는 철회될 수 있다고 덧붙입니다.

“TSC는 업계와 협력하여 작업하며, TSC는 조력자 및 서비스 공급자의 역할을 하고 실제로 정보를 제공하는 것은 다른 사람들입니다.”라고 셰더스는 말합니다.

“저는 TSC 회원에 관련해서는 구별을 짓는 것이 중요할 것이라고 생각합니다. TSC 회원이 위원회 자체의 회원으로서 활동하는 경우, 그들은 독립적이며 조정 역할을 수행합니다. 물론 그 외에도 그들은 모두 업계 참여자이며 특정한 일에 관심이 있는 사람들입니다. 따라서 그들은 작업 그룹의 구성원이 될 수도 있습니다.”

향후 표준 업데이트가 필요할 경우 TSC의 표준화 프로세스는 이를 수용하도록 설계되었으며, 새로운 요구 사항이 발생하거나 생태계가 변화함에 따라 많은 표준을 업데이트하거나 수정할 수도 있습니다.

“우리는 참가자들이 미래에 일어날 수 있는 변화를 수용할 수 있도록 상위 호환성에 대해 생각하도록 장려합니다. 그러나 주변 기술이 변경되어 표준이 단순히 실행 불가능하거나 쓸모없게 될 수도 있습니다. 이러한 경우 해당 표준은 철회되고 새로운 표준으로 대체될 가능성이 높습니다.”라고 셰더스는 말합니다.

“이는 단순히 업계가 표준을 업데이트하거나 대체해야 할 필요성을 누군가 분명히 표현하는 문제일 뿐이며, 제출되면 TSC뿐만 아니라 이해 관계자에 의해 평가될 것입니다.”

 

머클 증명 표준 형식

현재 머클 증명 표준 형식이 공개되었으므로, 표준에 대한 자세한 내용은 TSC 웹사이트의 전용 페이지에서 확인할 수 있습니다.

이 형식은 SPV 월렛과 같이 사용자 간에 머클 증명 정보가 전송될 때 해당 정보가 저장되는 데이터 구조를 지정하며 기술 설명서의 서문은 이러한 데이터 구조가 정보의 효율적이고 상호 운용 가능한 교환에 결정적으로 의존한다고 언급합니다.

머클 증명 표준 형식은 다음 두 가지 구성 요소로 구성됩니다.

  • 제안된 데이터 구조 형식을 바이너리 및 JSON(JavaScript Object Notation, 제이슨)으로 표시
  • 이 형식으로 수신된 머클 증명에 대한 거래를 검증하는 데 사용되는 알고리즘에 대한 설명

머클 증명에 대한 이 표준 형식의 범위는 단일 거래 수신 시 이를 검증하는 SPV 월렛에서 요구하는 것과 같은 단순 증명(simple proof)에만 관련되며, 복합 증명은 향후 확장된 표준의 영향력 아래에 속하게 됩니다. 표준화된 API 호출의 정의도 생략되는데 이는 핵심 데이터 구조와 관련이 없으며 추가적인 심사에 있어서도 유리하기 때문입니다.

표준화된 형식에 따라 머클 증명은 단일 플래그 바이트, 머클 트리에 있는 거래의 위치 인덱스, 32바이트 해시 목록 및 거래 ID 또는 해시를 포함하는 구조에 저장됩니다. 이 정보는 추가 기능을 설명하는 플래그 바이트와 함께 바이너리 또는 JSON 형식으로 저장 및 제공될 수 있습니다. 이 표준을 사용하여 블록의 머클 증명에 대한 거래를 확인하는 사람들은 오리지널 거래를 포함할 것인지 아니면 단지 거래 ID, 대상 유형 또는 최종 구성요소, 증명 유형(브랜치 또는 트리)을 포함할 것인지와 이 증명을 복합 증명 집합의 일부로 포함할지 여부를 선택할 수 있습니다.

머클 증명 검증에 대한 프로세스 또한 설명되며, 이 프로세스에는 위에서 언급한 플래그를 처리하기 위한 몇 가지 검사와 머클 트리 데이터 구조 내에 인접 항목이 없는 노드의 검증도 포함됩니다.

TSC는 내부 및 공개 검토 과정에서 표준 데이터 구조 형식의 복잡성과 기본 옵션에 관한 의견을 받았습니다. 특히 많은 이해 관계자들이 공통 데이터 필드를 사용하여 단일 거래를 검증하는 일반적인 사용 사례가 형식의 더 복잡한 측면과의 상호 작용을 요구하지 않아야 한다고 제안했습니다.

“이 문제를 해결하기 위해 주로 JSON 사용 사례를 변경하였으며, 기본 옵션을 사용하면 훨씬 더 간단한 JSON 객체가 생성됩니다. 이것은 표준을 위반하지 않고 대체 옵션을 사용할 수 있는 가능성을 유지하는 동시에 기본 사례에서 선택적 입력 필드를 숨깁니다.”라고 설명서에 명시되어 있습니다.

머클 증명 표준화 형식에 대한 전체 기술 설명은 TSC 웹사이트에서 확인할 수 있습니다.

 

비트코인 SV 표준이 만들어지는 방법

이 첫 표준은 비트코인 SV 개발자, 신생 기업 및 기업이 운영하는 환경을 개선하기 위한 커뮤니티 개발을 위한 수단으로서의 TSC의 역량을 보여줍니다. 머클 증명 표준 형식에 대한 내부 및 공개 검토는 사용이 더 간편한 데이터 구조 형식 및 검증 알고리즘을 만드는 동시에 복합 증명 검증과 같은 작업에 대한 유연성과 미래 지향적 지원을 제공했습니다.

TSC는 커뮤니티 및 이해 관계자와의 소통을 보장하는 여러 단계로 구성된 심층 표준화 프로세스를 따릅니다. 비트코인 SV 표준에 대한 아이디어는 누구나 제안할 수 있으며, 다음 단계인 기술 표준 초안 작성을 하기 전에 위원회에서 아이디어를 숙고합니다.

표준의 초안이 작성되면 지적 재산에 대한 검토 및 표준 초안 공개로 인해 발생할 수 있는 우려 사항을 알아내기 위한 법적 검토를 포함해 일련의 내부 검토를 거칩니다. 이러한 과정이 진행되는 동안 위원회 및 관련 이해 관계자의 환경 내에서 제안된 표준을 안전하게 유지하기 위해 NDA가 시행됩니다.

검토 프로세스가 완료된 후, 표준이 더 많은 작업을 필요로 할 경우에는 초안 단계로 다시 이동하고 아니라면 공개 검토 단계에 들어갑니다. 공개 검토 중 모든 이해 관계자는 제안된 표준에 대한 피드백을 제공할 수 있으며, 이러한 피드백은 숙고되며 관련성이 입증될 경우 표준은 이러한 피드백을 수용하도록 조정될 수 있습니다.

표준은 이러한 공개 검토 과정을 거친 후에만 공개되지만, 작업은 여기서 멈추지 않습니다. 표준의 공개 이후, TSC와 이해 관계자는 업계의 반응과 채택을 검토하고 충분한 시간이 지난 후 표준을 권고하거나 공개를 철회할 수 있습니다.

“TSC에서는 3단계로 구성된 표준 생성 프로세스를 개발했습니다. 첫 번째 단계는 제출 단계로, TSC 외부의 사람들이 본인의 업계와 관계없이 표준화하고 싶은 것을 제출할 수 있도록 합니다. 우리는 해당 업계의 이해 관계자가 제안을 제출하는 것을 선호합니다. 그렇게 함으로써 실제로 제안을 제출한 사람들이 표준을 채택하고 실제 업계 내에서 표준의 필요성이 증가하기 때문입니다.”라고 TSC의 창립 멤버인 알렉스 파우벨은 설명합니다.

“두 번째 단계는 초안 작성 영역입니다. 실질적으로 우리는 초안을 만들고 내부적으로 검토한 후에 IP 전문가에게 초안을 검토 받습니다. 그리고 필요한 경우 기술 전문가가 초안을 살펴봅니다.”

“만족할 만한 초안이 나오고 그 과정을 몇 번 되풀이한 후에 대중들이 초안에 대해 의견을 제시할 수 있도록 공개합니다. 이 과정을 2개월 동안 수행하면서 필요한 경우 의견을 수용한 후에 표준을 공개하는데 이것이 세 번째 단계입니다. 그런 다음 우리는 해당 표준을 인가하고 권고하거나 또는 그렇게 되길 바라지는 않지만 철회하기 위해 업계 내의 표준 활용을 모니터링합니다.”

TSC는 이 프로세스를 활용하여 비트코인 SV 개발을 위한 유용하고 강력한 표준의 생성을 지속적으로 촉진합니다. 여기에는 현재 공개 검토 단계에 있으며 의견을 받고 있는 포괄 설명서도 포함됩니다. 이 설명서는 정보를 효율적으로 처리하고 기존 및 미래의 데이터 프로토콜과의 상호 운용성을 허용하는 범용 데이터 봉투를 생성하여 비트코인 거래 내에 데이터를 저장하는 방법을 다룹니다.

비트코인 SV에 대한 기술 표준 개발에 참여하려면 TSC 웹사이트 를 방문하여 새로운 표준을 제안하거나, 공개 검토 단계의 표준 초안에 대한 피드백을 제공하거나 로드맵 초안에 대한 제안사항을 제출하세요.