블록 체인 상호 운용성 입문서

상호 운용성이 중요한 이유

분산 시스템은 이벤트 순서를 정의하는 글로벌 시계가없는 인터넷과 같은 비동기 환경에서 효과적으로 작동하려면 절충안을 만들어야합니다. 막대한 가치를 전달하도록 설계된 블록 체인 기반 네트워크는 악의적이거나 비잔틴 행위자로부터도 보호해야합니다. 합의 수준에서 이러한 절충안에는 참여 노드 수를 제한하여 이벤트 순서를 일관되게 제공하거나 (DPOS, PBFT 알고리즘에서와 같이) 네트워크의 지속적인 기능을 보장하기 위해 순서에 대한 확률 적 관점을 채택하는 것이 포함될 수 있습니다. (나카 모토 합의). 애플리케이션 수준에서는 설계 공간의 크기가 공격 표면의 크기와 상관 관계가 있기 때문에 블록 체인 네트워크의 프로그래밍 기능의 표현력과 관련하여 절충안이 존재합니다. 목록은 계속됩니다…

요점은 블록 체인을위한 하나의 솔루션이 없으며 각각의 디자인 조합이 보안, 개인 정보 보호, 효율성, 유연성, 플랫폼 복잡성, 개발자의 사용 편의성 및 정치적 가치에 차이를 제공한다는 것입니다. . 일부 속성이 다른 속성보다 더 유익 할 때가 있습니다. 예를 들어 1 백만 달러를 지불하려면 100 만 달러를 지불하는 것과는 다른 수준의 보안 및 확장 성이 필요하며 비디오 게임에서 디지털 수집품을 발행하는 것과는 다른 기능 세트가 필요합니다. 따라서 가치 인터넷은 하나의 블록 체인만으로는 불가능할 수도 있고 최소한 비실용적 인 모든 사용 사례를 수용 할 수 있다면 가장 유용 할 것입니다.

이를 맥락화하기 위해 : 비트 코인은 이더 리움의 언어를 말할 수 없으며 그 반대의 경우도 마찬가지입니다. 이것은 우리가 이더 리움 네트워크에서 비트 코인을 사용할 수없고 비트 코인 네트워크에서 이더 리움의 스마트 계약을 사용할 수 없음을 의미합니다. 블록 체인이 미래를 향해 나아갈수록 상호 운용성에 대한 필요성이 증가합니다.

강력한 상호 운용성은 블록 체인이 만드는 절충점으로부터 사용자를 보호하고 서로 다른 합의 메커니즘 및 가상 머신의 최적화를 상호 교환 적으로 활용할 수 있도록합니다. 많은 경우 다른 체인에서 더 잘 수행되는 작업을 오프 로딩하고 핵심 역량에 집중합니다. 우리가 많은 블록 체인의 세계에있게된다면 상호 운용성은 그것들을 더 유용하고 사용자 친화적이며 효율적이고 확장 가능하게 만들 수 있습니다.

어떻게 상호 운용성을 확보 할 수 있을까요?

먼저, 상호 운용성을 얻는 방법을 설명하려면 그것이 의미하는 바를 좀 더 구체적으로 설명해야합니다. 이러한 맥락에서 상호 운용성은 두 가지 범주로 나눌 수 있습니다.

디지털 자산 교환은 여러 가지를 의미 할 수 있으므로 신뢰할 수있는 중개자 (예 : 중앙 집중식 거래소)없이 서로 다른 블록 체인에서 생성 된 자산을 전송하고 교환 할 수있는 능력이라고합시다. 이 기능은 상당히 간단한 프로그래밍 기능을 가진 블록 체인 위에 구축 될 수 있습니다. 양측의 사용자가 원자 전송을 가능하게하는 작업에 대해 공개적으로 검증 가능한 서명을 쉽게 생성 할 수 있거나 양측이 각자의 역할을 수행하는 경우에만 완료되는 전송을 생성 할 수 있기 때문입니다.

임의의 데이터 (디지털 자산 교환의 상위 집합)를 교환하는 것은 고급 블록 체인 간 API 호출을 수행하는 능력으로 생각할 수 있으며, 하나의 체인에 스마트 계약 코드를 보유하여 합의 최종성을 확인할 수 있습니다. 다른 체인에서 직접 이벤트. 이 기능을 통해 위의 예에서와 같이 한 체인의 데이터를 다른 체인의 상태 변경에 적용 할 수 있습니다. 또한 다른 체인의 홈인 자산의 한 체인에서 합성 버전을 생성하여 트레이드 오프 공간의 다른 부분을 차지하는 상태 머신에서 해당 자산을 사용할 수 있습니다. 대부분의 블록 체인은 다른 사람이 쉽게 확인할 수있는 서명을 생성 할 수없는 수동 시스템이므로 외부 당사자가 이해할 수있는 상태에 대한 더 복잡한 증명이 필요하기 때문에 이것은 더 어려운 유형의 상호 운용성입니다. 그러나 이러한 상호 운용성 범주는 가치 이전보다 더 광범위한 사용 사례를 지원할 수 있습니다.

두 범주에 걸쳐 흥미로운 프로젝트가 있으며, 일부는 가치 이전에만 초점을 맞추고 다른 일부는 완전한 교차 체인 통신을 잠금 해제하려는 더 광범위한 야망을 가지고 있습니다. 블록 체인 자체와 마찬가지로 이러한 프로젝트는 주로 신뢰 최소화 수준과 기존 네트워크와의 호환성과 관련하여 자체적 인 절충안을 만듭니다. 이러한 솔루션은 상호 배타적 인 솔루션이 아니며 많은 경우 서로 통합 할 수 있다는 점에 주목할 가치가 있습니다.

이 백서에서 체인 상호 운용성에 대해 Vitalik이 언급했듯이 상호 운용성을 달성하기위한 3 가지 주요 기술 접근 ​​방식이 있습니다.

공증인 체계에 대해 간략히 설명하지만 릴레이 및 해시 타임 록 계약을 구현하는 프로젝트에 대해 좀 더 중점적으로 설명하겠습니다.

공증 제도

공증인 체계는 신뢰할 수있는 연합을 사용하여 다른 체인의 이벤트를 증명합니다. 이 연맹은 체인 B에서 이벤트가 발생했거나 체인 B에 대한 일부 진술이 사실인지 체인 A에 확인합니다. 공증인은 합의 알고리즘을 통해 합의에 도달 한 다음이 합의에 따라 체인 A에서 지불을 완료하는 데 사용할 수있는 서명을 발행합니다. 이러한 유형의 체계는 페그 된 페그 사이드 체인 으로 알려진 것을 구현하는 데 사용할 수 있습니다. 여기서 페더레이션은 체인 A의 다중 서명 주소를 제어하여 다중 서명에 잠긴 자산을 발행 할 수 있습니다. 사이드 체인 (체인 B)에서 종합적으로 — 다른 상태 머신에서 사용할 수 있습니다. 이것은 Blockstream이 만든 BTC 지원 사이드 체인 Liquid에서 구현되어 새로운 디지털 자산을 발행하는 기능이있는 원장에 합성 비트 코인을 사용할 수 있습니다.

공증인 체계는 완전한 교차 체인 상호 운용성을 달성하는 가장 간단한 방법 중 하나이지만, 공증인 연합에 신뢰를 두는 대가가 따릅니다. 그들은 신뢰 모델이 수용 가능한 한 유용합니다. 즉, 사회적 확장 성을 제한 할 수있는 전제, Nick Szabo가 기존의 기록 보관 방법에 비해 블록 체인의 가장 가치있는 이점으로 설명했습니다.

릴레이

다른 체인의 이벤트를 확인하는 연합을 갖는 대신 릴레이는 체인이 스스로이를 수행 할 수 있도록합니다. 릴레이는 체인 B의 표준 검증 절차를 사용하여 계약에 입력 된 블록 헤더를 확인하는 체인 B의 라이트 클라이언트로 작동하는 체인 A의 계약입니다. 이것은 체인 A에게 체인 B의 이벤트 변경을 이해할 수있는 능력을 제공합니다. 이것은 많은 흥미로운 교차 체인 애플리케이션을 만드는 데 사용할 수 있습니다. 예를 들어 BTCRelay는 비트 코인 체인을 읽을 수있는 이더 리움의 스마트 계약입니다. EthereumLottery와 같은 응용 프로그램을 만드는 데 사용되었으며, 복권은 Bitcoin 블록 헤더를 임의의 소스로 사용했습니다. 그러나 BTCRelay를 사용하면 상호 운용성이 단방향입니다. 비트 코인에는 이더 리움 릴레이 계약이 없기 때문에 비트 코인은 이더 리움 체인을 읽을 수 없습니다.

여러 프로젝트가 릴레이 체인 이라는 중앙 허브를 통해 체인 간의 양방향 상호 운용성을 가능하게하는 릴레이 아키텍처를 연구하고 있습니다. 릴레이 체인은 연결된 “멤버”블록 체인의 라이트 클라이언트 역할을하는 별개의 블록 체인입니다. 멤버 체인은 연결된 모든 체인 상태의 일부를 추적하고 해당 체인의 자산에 대한 어느 정도의 제어 권한을 부여받을 수있는 릴레이 체인을 통해 메시징을 통해 다른 체인의 정보를 활용할 수 있습니다. 예를 들어, 멤버 체인은 특정 자산을 잠그는 다중 서명 주소에 대한 제어권을 릴레이 체인 검증 자에게 제공 할 수 있으며, 이러한 자산은 다른 멤버 체인에서 종합적으로 표현 될 수 있습니다. 이를 통해 모든 회원 체인은 다른 홈 원장의 자산의 합성 버전을 사용하여 자체 상태 시스템에서 트랜잭션을 실행할 수 있습니다.

릴레이 체인 아키텍처는 유연한 멀티 시그 기능과 빠른 합의 최종성 등 특정 특성을 가진 체인에서 가장 잘 작동하며 개발자가 이러한 유형의 블록 체인을 쉽게 만들 수있는 소프트웨어 개발 툴킷을 만들고 있습니다.

이 분야에서 가장 눈에 띄는 노력은 Cosmos SDK와 Substrate SDK를 각각 제공하는 Cosmos와 Polkadot입니다. 이러한 SDK는 기본 네트워킹 및 합의 로직을 처리하므로 개발자가 블록 체인 구축의 복잡성에 얽매이지 않고 비즈니스 로직 구현에 집중할 수 있습니다. 결과 블록 체인은 동일한 SDK를 사용하여 구축 된 다른 모든 블록 체인과 쉽게 호환되므로 궁극적으로 서로 다른 상태 전환 논리를 가진 많은 체인이 서로 상호 운용되는 환경을 만들 수 있습니다.

Polkadot과 Cosmos의 가장 큰 차이점은 릴레이 체인의 책임과 개발자에게 제공하는 구성 환경에 있습니다. Polkadot에는 검증자가 구성원 체인 블록의 유효성과 가용성을 담당하는 더 복잡한 릴레이 체인이 있습니다. 네트워크 전체를 하나의 통합 상태 머신으로 볼 수 있기 때문에 전체 블록 체인 간 API를 허용하고 각 멤버 체인에 공유 보안 계층을 제공합니다. 이는 또한 업그레이드 프로세스를 단순화합니다.

반면에 Cosmos는 검증 인이 구성원 체인 블록의 유효성이나 가용성에 대해 책임을지지 않는 단순한 릴레이 체인을 가지고있어 구성원 체인 자체에 보안을 남겨두고 임시로 상호 운용성을 제공합니다. Cosmos 릴레이 체인은 임의의 블록 체인 간 함수 호출이 아닌 체인간에 객체를 전달하는 증명 전송을 지원합니다. 이것은 처음에는 가치의 교차 체인 교환으로 제한되지만 나중에 더 복잡한 교차 체인 작업을 수행하도록 기능을 확장 할 수 있음을 의미합니다. 그러나 중계 체인의 책임을 제한함으로써 Cosmos는 개발자가 상태 머신을 설계 할 때 유연성을 높일 수 있습니다.

릴레이 아키텍처의 단점은 비트 코인과 이더 리움 등 원하는 특성이없는 기존 블록 체인을 연결하는 것이 매우 어렵다는 것입니다. Cosmos와 Polkadot은 모두 POS (Proof of Stake) 및 PBFT (Practical Byzantine Fault Tolerant) 합의 알고리즘 제품군을 사용하여 처리량 증가와 빠른 합의 최종성을 대가로 합의에 적극적으로 참여하는 노드 수를 제한합니다. 이는 실험적인 메커니즘이며 충분한 보안을 제공 할 수있는 능력을 확신하기 전에 철저한 테스트를 거쳐야합니다. 이를 고려하여 Cosmos와 Polkadot은 기존 블록 체인을 대상으로하는 솔루션이 아닌 블록 체인 네트워크를 구축하는 데 잠재적으로 유리한 새로운 패러다임을 제시합니다.

해시 타임 락

상호 운용성에 대한 가장 실용적인 기술적 접근 방식은 예상대로 기능 측면에서 가장 제한적입니다. 해시 타임 락 계약 (HTLC)은 해시 락 및 타임 락을 사용하여 결제 수신자가 기한 전에 수령을 확인하거나 지불 청구 기능을 상실하여 지불 인에게 반환하도록 요구하는 블록 체인 기반 결제 클래스입니다. HTLC는 특정 유형의 블록 체인에있는 자산간에 교차 체인 원자 스왑 및 완전 자금 지원 양방향 결제 채널을 허용합니다.

HTLC의 가장 눈에 띄는 용도는 LN (Lightning Network)에 있습니다.이 프로토콜은 신뢰할 수있는 중개자없이 대량의 짧은 지연 시간 소액 결제를 가능하게합니다. LN은 HTLC를 사용하여 거래가 오프 체인에서 실행되고 기본 블록 체인에서 언제든지 정산 될 수있는 결제 채널 네트워크를 생성합니다. LN은 대부분 비트 코인의 확장 솔루션으로 간주되지만 HTLC는 교차 체인 원자 스왑을 허용하기 때문에 연결된 블록 체인에서 가치를 교환 할 수도 있습니다. 그러나 이러한 블록 체인은 구조적으로 비트 코인과 유사해야하며 LN은 현재 비트 코인 및 라이트 코인과 만 호환됩니다.

ILP (Interledger Protocol)는이 개념을 블록 체인을 넘어 임의의 결제 네트워크로 확장합니다. 실제 HTLC를 사용하여 전액 결제 채널을 구축하는 대신 ILP는 HTLC에 대한 기본 네트워크의 기본 지원에 의존하지 않는 동일한 로직의 추상 버전을 사용합니다. ILP는 통화 교환을 처리하고 서로 간의 지불 채널을 통해 지불을 라우팅하는 커넥터라고하는 엔티티 네트워크입니다. ILP는 커넥터가 신용을 서로 확장 할 수 있도록 허용하고 결제 대역폭을 늘리기 위해 일부 거래 상대방의 위험을 초래하지만 결제를 보장하기 위해 간헐적으로 온 체인에서 순 잔액을 정산 할 수있는 유연성을 유지함으로써 LN에서 출발합니다. 중요한 것은이 프로토콜은 모든 거래 상대방의 위험이 커넥터에 의해 독점적으로 발생하고 최종 사용자로부터 격리되도록합니다.

ILP는 목적지에 도달 할 때까지 가장 효율적인 커넥터 경로를 통해 작은 패킷으로 지불을 전송하여 지불 네트워크 간의 가치 이전을 단순화합니다. 커넥터는 번역 할 언어를 선택할 수있는 번역자와 유사합니다. 마치 메시지가 영어로 입력되고 단어로 나뉘어 번역가 네트워크를 통해 전달되어 궁극적으로 재 조립되어 중국어로 출력되는 것과 같습니다. 이를 통해 네트워크는 모든 가치 패킷을 유사하게 처리 할 수 ​​있으며, 인터넷이 데이터 패킷을 라우팅하는 방식과 유사하며 궁극적으로 모든 통화로 결제 및 소액 거래를 스트리밍 할 수 있습니다. 현재로서는 블록 체인이나 결제 네트워크가 현재 달성 할 수없는 일입니다.

ILP는 중립 프로토콜이며 연결된 네트워크를 구성 할 필요가 없습니다. 즉, ILP는 비트 코인과 이더 리움뿐만 아니라 비트 코인과 기존 결제 네트워크 및 SWIFT 및 Venmo와 같은 애플리케이션 간의 가치 전송 레이어 역할을 할 수 있습니다. 그러나 ILP의 단순하고 중립적 인 디자인은 기능이 가치 전달로 제한되어야합니다.

결론

이 게시물에서는 상호 운용성이 중요성이 커지는 이유를 다루고, 주요 상호 운용성 유형을 분류하고, 블록 체인이 가능한 한 효과적으로 통신 할 수 있도록 노력하는 주요 프로젝트에 대해 간략하게 소개했습니다. 제가 수행 한 각 접근 방식에는 서로 다른 기능과 한계가 있습니다.

공증 체계는 세 가지 중 가장 중앙 집중식 접근 방식이지만 비교적 구현하기 쉽고 전체적인 상호 운용성을 제공 할 수 있습니다. 릴레이는보다 신뢰가 최소화 된 설정에서 유사한 기능을 제공하지만 기존 네트워크와의 호환성 측면에서 단점이 있습니다. 궁극적으로 블록 체인 진화를위한 대안적인 방향을 제시합니다. HTLC는 세 가지 중 가장 무 신뢰하고 실용적인 접근 방식을 나타내지 만 가치 교환의 범위가 제한되어 있으며 서로 다른 원장에서 자산의 합성 표현을 만드는 데 사용할 수 없습니다.

그러나 상호 운용성의 가장 실행 가능하고 중요한 단기적 영향은 프로그래밍 가능한 화폐가 블록 체인의 첫 번째 진정한 킬러 ​​앱이기 때문에 가치 범주의 교환에 있습니다. 이러한 이유로 HTLC 기반 접근 방식 (Lightning Network, Interledger)이 가장 먼저 관심을 끌 것으로 기대합니다. 사실, 이러한 네트워크는 궁극적으로 암호 화폐를 대규모로 사용할 수있게하는 촉매제가 될 수 있습니다. 반면 릴레이 체인은 미래에 새로운 블록 체인이 구축되는 방식에 더 큰 영향을 미칠 수 있습니다. 중요한 것은 이러한 접근 방식 중 어느 것도 상호 배타적이지 않다는 것입니다. 실제로 Interledger는 Lightning Network, Cosmos 및 Polkadot과 호환되며 Cosmos 및 Polkadot은 서로간에 다리를 구축 할 수 있습니다. 이러한 블록 체인 기반 네트워크의 얽힘은 디지털 서명 및 암호화 증명에 의존하여 가능하며 궁극적으로 가치 인터넷을 정의하는 결제 네트워크 간의 긴밀한 연계를 허용합니다.

감사합니다 Spencer Bogart , Evan Schwartz Zaki Manian 은 유용한 피드백과 토론을 제공합니다.