다운로드
닫기 메뉴 -

HawkClient: RSK와 이더리움 간의 완전 분산형 브릿지 구축하기

Published on: 6 2월, 2020

RSK 수석 혁신 과학자인 Sergio Demian Lerner 작성

완전 분산형의 무신뢰 방식으로 블록체인을 연결하는 것은 블록체인 연구 조사의 궁극적인 목표 중 하나입니다. IOV Labs는 2016년에 지난 3년 동안 RSK와 비트코인 간의 1:1 페그를 구동해 온 최초의 완전한 연합 브릿지를 만들었습니다. 이제 저희는 RSK와 이더리움을 잇는 완전 분산형 브릿지에 대한 작업을 하고 있습니다. 이 게시물에서는 이 새로운 브릿지에 대한 기술적인 디테일과 그 브릿지를 구동하는, 내장된 분산형 프로토콜을 소개합니다.

소개

블록체인 간에 토큰을 이동하는 방법을 이해하기 위해 먼저 몇 가지 자주 사용되는 용어와 그 역사를 살펴보도록 하겠습니다. 양방향 페그(또는 1:1 페그)라는 용어는 두 개의 서로 다른 블록체인에 사는 두 토큰을 경제적으로 동일하게 만들려고 하는 시스템을 뜻합니다. 양방향 페그는 한쪽의 수요가 높아지면 다른쪽에서 토큰이 유입될 수 있게 해 가격이 균등하게 유지될 수 있게 합니다. 2013년, 이런 시스템이 고안되기 전에는 비트코인이 양방향 페그와 함께 메인체인에 연결된 여러 위성 사이드체인을 보유하는 미래를 상상하곤 했습니다. 사이드체인은 고유 자산이 외화이기에 수수료도 이 외화 자산으로 지불되는, 개별적인 블록체인으로 고안된 개념이었습니다. 이때 블록은 내부 코인 발행을 할 수 없으므로 사이드체인 채굴자에게 보조금을 지불하지 않습니다. 그러나 증명된 양방향 페그 디자인이 없었기에 사이드체인이라는 용어는 아주 모호한 개념이었습니다. 2014년에는 상태가 확정되지 않은 UTXO 기반의 솔루션이 블록스트림에 의해 시도되었습니다. 이 디자인은 기존의 Elements 사이드체인 코드베이스에 구현되었으나, 나중에 내재된 보안과 검열 문제 때문에 없어지게 되었고, Elements는 연합 페그로 전환하여 Liquid 사이드체인이 되었습니다. 따라서 사이드체인이라는 용어는 1:1 페그를 유지하고 자산 이동을 수행하는 실제 커뮤니케이션 시스템을 결정하지 않습니다. 멀티 토큰 블록체인의 출현과 함께 양방향 페그를 관리하는 상호 운용 시스템토큰 브릿지가 되었습니다. 토큰 브릿지는 서로의 사이드체인이 아닌 두 개의 무작위 블록체인을 연결할 수 있습니다. 개별적 블록체인을 연결하는 토큰 브릿지와 사이드체인을 구동하는 토큰 브릿지 간에는 담보로 사용될 수 있고 잘못된 사용 시 없앨 수 있는 독립적인 코인의 가용성에 대한 중요한 암호화폐적 차이가 있으나, 그 내용은 여기서 다루지 않겠습니다. 

최초로 생산 준비가 완료된 토큰 브릿지는 2017년에 런칭한 RSK 사이드체인에 내장되어 실행되었습니다. 이 RSK 브릿지는 하이브리드형으로, 비트코인에서 RSK로의 방향은 분산화와 검열 저항 성격의 이상적인 성격을 달성하는 완전 상태적인 SPV 기반인 반면, RSK에서 비트코인으로의 방향은 연합형입니다. 이때 비트코인은 RSK 컨센서스를 검증할 수 없으므로, RSK에서 비트코인으로의 비트코인 이동에 대한 분산형의 검열 저항적 솔루션은 구현할 수 없습니다. 따라서 완전히 이중적인 구현이 불가능하다는 뜻입니다. 그러나 도표에 나타난 현재의 RSK 비트코인 페그는 가장 최고의 솔루션 중 하나입니다.

RSK 하이브리드 연합 SPV 양방향 페그

RSK-비트코인 브릿지는 해킹된 적이 없으며 100% 구동 시간이라는 기록을 유지하고 있습니다. RSK-비트코인 브릿지는 대형 다중 서명의 비공개 키를 보호하는 독립 하드웨어 보안 모듈(HSM)을 사용합니다. HSM은 시간에 따라 진화해 왔으며, 신세대 RSK HSM은 체인 작업 증명을 검증해 최고의 체인과 동기화합니다. 그 결과, 연합 관리자의 대부분이 힘을 합쳐도 페그 거래에서 부정행위를 하거나 검열을 할 수 없게 됩니다. 그러나 연합 브릿지에도 단점은 있습니다. 연합 브릿지에는 여전히 HSM을 활성화하고 네트워크에 잘 연결된 상태로 유지하는 작은 독립체의 모임이 필요하며, HSM을 제조하는 회사가 정직하게 비밀 채널, 편향된 무작위 숫자 생성기나 백도어를 소개하지 않는다는 가정에 의존한다는 점입니다. 분산형 프로토콜의 신세계에서 연합 브릿지는 더 나은 분산형 시스템이 구축되어 브릿지를 대체할 때까지만 사용해야 하는 일시적인 솔루션입니다. 두 가지 블록체인 간에 진정으로 안전한 분산형 브릿지는 각 블록체인이 간단 명료하게 서로의 컨센서스를 검증할 수 있는 것에 의존해야 합니다. 

SPV 라이트 클라이언트와 함께 토큰 브릿지 구축하기 

SPV 클라이언트는 여러 후보 중에서 정직한 최고의 체인이 무엇인지를 판단하기 위해 누적 작업 증명의 간단 명료한 증명을 수락하는 라이트웨이트 시스템으로, 높은 암호 경제적 보안을 달성합니다. SPV 라이트 클라이언트는 두 개의 작업 증명에 기반한 블록체인 간의 스마트 컨트랙트 기반의 브릿지 구축에 이상적입니다. 그러나 표준 SPV 클라이언트에는 많은 제약이 따르는데, 특히 블록율이 높은 블록체인의 경우 더 큰 제약을 받게 됩니다. RSK는 블록율이 높은데(30초마다 1개 정도), 이는 풀 크로스 체인/헤더 온리 검증이 공간과 검증 시간의 측면 모두에서 비싸다는 뜻입니다. 이더리움은 또 더합니다. 블록율이 더 높고 작업 증명 검증이 더 길기 때문입니다. 다음 도표는 크로스 체인/헤더 온리 컨센서스 검증에 기반한 분산형 브릿지의 가정을 나타내고 있습니다. 각 블록체인은 SPV 모드에서 다른 블록체인의 최고 체인에 대한 대표를 유지합니다.

상태적 SPV 브릿지에 대한 가정

2015년에는 일반적으로 블록 헤더 챌린지-응답 대화형 게임에 기반한 짧은 SPV 증명을 생성하는 방법이 잘 알려져 있었습니다. 이러한 게임은 Fiat-Shamir 변신(요새 작업 증명의 비대화형 증명이나 NiPoPoW라고 불리는)을 통해 비대화형으로 바뀔 수 있습니다. 그 이론은 증명자가 블록체인에 commit을 하고 챌린저가 증명자에게 블록 헤더 수를 요청하면, 증명자는 공개한 블록이 같이 연결된 블록체인에 소속된다는 정보와 함께 그 수를 공개해야 한다는 것입니다. 그러나 2017년까지는 난이도 변동성 블록체인에 대한 증명 생성 방법이 알려지지 않은 상태였습니다. 2017년에는 드디어 이 문제를 해결하는 FlyClient 프로토콜이 출시되었습니다. FlyClient는 블록 인덱스 선택 기능을 조정해 난이도의 변화를 매치할 수 있습니다. FlyClient는 또 여러 증명 규모에 맞게 조정이 가능해 고객의 보안 요건에 따라 서로 다른 부정행위 확률 범위를 제공할 수 있습니다

FlyClient 비대화형 프로토콜 (단순화됨)

그러나 FlyClient에는 블록 헤더의 기존 블록 해시 모두에 대한 정기적인 커미트먼트가 필요하므로, 컨센서스 변화 없이 FlyClient를 기존 블록체인에 적용하는 것은 불가능해 보였습니다. 해당 커미트먼트는 트리로 구성되어 있으며(증강 MMR이라 불림), 누적 작업 증명과 타임스탬프가 MMR 트리의 모든 중간 노드에 저장됩니다. 

저희는 2019년에 RSK와 이더리움을 연결하는 방법에 대한 연구 조사를 시작했습니다. 저희는 이더리움에서 컨센서스 변경 없이도 FlyClient를 활성화할 수 있는 방법을 탐색했으며, 여전히 간단명료한 작업을 사용하면서 이를 달성할 수 있는 방법을 발견했습니다. 그 발견은 저희가 HawkClient라고 부르는 것으로 바뀌었으며, 저희가 작업 증명의 암호경제 대화형 증명(CIPoPoW)이라고 하는 새로운 프로토콜의 범주에 포함됩니다. HawkClient 프로토콜은 RSK, 이더리움, 그리고 이더리움-클래식과 같은 EVM 기반 스마트 컨트랙트 플랫폼 모두에서 사용 가능합니다. 물론 블록체인이 MMR 트리 커미트먼트를 고유하게 구현하지 않는다면 해당 프로토콜이 크게 간소화됩니다. 

HawkClient의 소개

HawkClient는 간단히 말해서 스마트 컨트랙트를 기타 “원격” 블록체인에 동기화된 하나의 “호스트” 블록체인에 유지하여 명시적인 화폐 가치가 있는 정보의 이동을 가능하게 하는 대화형 및 분산형 스마트 컨트랙트 시스템입니다. 두 블록체인 간에 거울처럼 마주보는 형식으로 구현된 두 HawkClient 시스템은 하나의 블록체인에서 다른 블록체인으로의 토큰 이동을 가능하게 하여 분산형 토큰 브릿지의 기반을 제공합니다.

두 개의 거울형 HawkClient 시스템에 기반한 토큰 브릿지

이때 토큰에는 알려진 시장 가치가 정해져 있고, 거래는 명시적인 토큰 양을 제공하기에, 토큰 이동에 가치가 묶여 있어 무작위 토큰 이동이 가능합니다. 이렇게 하면 암호화 수준의 보안이 필요치 않으며 브릿지가 암호 경제적 보안 모델 아래 작동할 수 있게 하여 증명의 크기를 줄일 수 있습니다. 이러한 암호 경제적 모델에서 모든 이동은 배치형으로 진행되어 담보 채권의 보장을 받습니다. 

간소화된 HawkClient 시스템은 증명자, 검증자, 대략적인 머클 마운틴 레인지(AMMR) 업데이터 또는 AMMR 업데이터(이 역할은 조금 후에 더 설명하겠습니다), 그리고 사용자라는 네 가지 역할에 기반합니다. 한 증명자는 원격 블록체인의 최고 체인에 커미트한 후 이 커미트먼트를 검증자에게 제출합니다. 그 후에 검증자는 챌린지를 전파하고, 증명자는 최고의 체인에서 선택된 헤더 하위 세트와 연결 증명을 포함하는 HawkClient 증명을 생성합니다. 이때 획득해야 할 블록 헤더의 하위 세트는 챌린지에서 파생된 시드를 보유한 모조 랜덤 숫자 생성기에 기반한 누적 난이도 공간의 샘플링을 통해 선택됩니다. 토큰 브릿지의 경우, 이 모든 절차는 약 하루에 한 번 정도 반복됩니다. 

검증자는 HawkClient 증명을 검증하는, 호스트 블록체인이 구현하는 스마트 컨트랙트로 검증을 활용해 원격 블록체인의 대표를 연장하고 유지합니다. 이때 검증자는 컨센서스에서 실행되는 블록체인 SPV 노드와 비슷한 역할을 합니다. 이것이 RSK와 btcrelay의 근본적인 역할입니다. 검증자는 다른 증명자가 챌린지 기간 동안 증명을 챌린지하거나 대안 증명을 제시할 수 있게 한 후, 가장 높은 누적 작업 증명을 포함한 증명을 수락하게 됩니다. 그러나 btcrelay 모델을 떠나면 검증자는 혼자서 검증자와의 챌린지-응답 프로토콜을 수행하게 되며, 일반적인 거래 검열 공격을 피할 수 있게 됩니다. 사용자는 호스트 및 원격 블록체인과 동시에 소통할 수 있으며, 이러한 상호작용은 원격 블록체인에서 이벤트를 생성해 영수증으로 기록됩니다. 증명자는 나중에 이러한 이벤트를 호스트 블록체인에 알리게 됩니다. 호스트 블록체인 내 스마트 컨트랙트는 알려진 이벤트를 듣고 그와 소통할 수 있습니다. 

RSK-이더리움 브릿지

RSK-ETH 브릿지는 RSK와 이더리움을 연결하며 두 블록체인 간의 모든 ERC-20 토큰 거래를 활성화합니다. 이는 현재 IOV Labs가 적극 개발하고 있는 브릿지입니다. 이 브릿지는 HawkClient에 기반합니다. 또 이 브릿지는 유니크한 여러 기능과 함께 고안되었습니다. 예로 해당 브릿지는 증명자가 커미트 할 의향이 있는 담보 채권의 액수를 선택할 수 있는 대신 특정 규모의 증명 제공 허가를 실행하게 하는 동시에 항상 부정행위에 대한 불이익을 얻게 합니다. 또 예로 증명자는 검증자가 수행하는 추가 요청에 응답하기로 하여 담보 채권을 줄이는 대신 증명 규모를 늘릴 수 있습니다. 증명자는 거래 수수료가 높으면 담보 채권을 늘려 증명 규모와 수수료를 낮출 수 있습니다. 이 담보 채권은 부정행위가 감지되면 대폭 줄어들기 때문에, 부정 행위를 할 만한 논리적인 이유가 없으며 암호경제적 보안을 보장할 수 있습니다. 또 HawkClient는 온체인 커미트먼트와 그에 따른 블록 해쉬에서 파생되는 챌린지를 강제화하므로, 공격자는 오프라인에서 수백만 개의 여러 커미트먼트를 시도할 수 없게 됩니다. 공격자가 모든 참여 블록체인 중 하나의 해시율을 50% 미만으로 조종한다고 가정했을 때, 이 공격자는 하나의 커미트먼트밖에 할 수 없습니다. 다시 말해서 이 시스템은 대화형이기 때문에 공격자가 쉽게 오프라인에서 커미트먼트를 공격해 유리한 챌린지를 획득할 수 없다는 뜻입니다. 예로 부정행위 확률의 법률을 백만분의 1로 친다면, 부정행위에 대한 인센티브가 아주 낮다는 뜻이 됩니다. 주로 낮은 암호화 보안을 낳을 수 있는 이러한 부정행위 확률은 아주 높은 암호경제적 보안을 달성합니다. 마지막으로 해당 브릿지는 오라클로 작동하는 간소화된 특별 토큰 마켓을 이용해 네이티브 코인 관련 현재 토큰 가격의 상한을 발견합니다. 이 마켓에서는 구매와 판매 모두에 긴 지연이 있으므로(몇 주 정도) 토큰 가격에 대해 부정행위를 하려는 사람이 아니면 실제 거래에서 사용할 사람이 있을 것으로 기대하지 않습니다. 이러한 오라클 시스템을 두면 토큰 대신 네이티브 통화로 담보 채권을 발행할 수 있으며, 각 증명자가 가능한 토큰 모두를 입금하지 않아도 여러 증명자를 활성화할 수 있게 됩니다.

이더리움에서 RSK로 정보를 전달하기 위한 HawkClient 시스템

RSK-Eth 브릿지의 또다른 흥미로운 기능은 담보 채권을 커미트 할 의향이 있는 사람이라면 누구나 증명자가 될 수 있다는 점입니다. 저희는 또 특별한 연산 코드 없이도 ETHash 작업 증명을 검증할 수 있는 아주 효율적인 방법을 개발하였습니다. 이는 다음 블로그 포스트에서 더 설명하도록 하겠습니다.

HawkClient 증명의 주요 기능

다음 섹션은 HawkClient 증명의 주요 성격, 그리고 특히 이러한 증명이 어떻게 상호작용을 통해 분산형 브릿지의 생성을 활성화하는지를 설명합니다.  

대화형(인터랙티브) 증명

HawkClient 증명은 대화형입니다. 해당 프로토콜에는 최소 하나의 증명자가 필요합니다. 각 증명자는 다른 증명자의 가짜일 가능성이 있는 증명을 챌린지하는 역할을 보유합니다. 이때 증명자는 증명에 커미트하고, 저희가 HawkClient 검증자라고 부르는 특별한 스마트 컨트랙트는 요청의 한 세트가 파생된 챌린지 시드를 선택하게 됩니다. 해당 증명자는 그 후 이 요청에 응답해야만 하며, 그 답변은 검증자 스마트 컨트랙트에 전달되어 검증을 거칩니다.  이 초기 단계 후 나머지 사용자는 증명자를 챌린지해 더 많은 증거를 제공하게 하거나, 직접 증명자가 되어 기존 증명을 무효화하고자 점차적으로 난이도가 높은 블록체인 증명을 제출할 수 있습니다.

암호경제적 증명

HawkClient 증명은 암호경제적 증명이며, 이는 공격자의 부정행위가 성공할 수 있는 구체적인 가능성이 꼭 존재한다는 뜻입니다. 프로토콜은 공격을 피하기 위해 검증자가 “담보 채권”으로 코인을 미리 입금할 것을 강제화하여, 공격자가 정직하게 행동했을 때의 예상 이득이 부정행위 시의 이득보다 높게 합니다. 해당 브릿지는 토큰 가격을 책정하는 독립 오라클로 작용하는 하위 시스템을 제공합니다.

작업 증명 기반 블록체인에는 이중 사용 공격에 대한 위험이 따르므로, 브릿지가 하루에 이동할 수 있는 금액은 제한되어 있습니다. 브릿지를 속이려면 공격자는 원격 블록체인의 해시율 51%를 24시간 동안 임대하는 것과 같은 비용을 써야 합니다. 따라서 현재 임대 가능한 채굴 하드웨어가 충분하다고 가정했을 때, 해당 브릿지가 특정 기간 동안 이동할 수 있는 금액은 정해져 있습니다. 다음 표는 2020년 1월 기준 여러 블록체인을 24시간 동안 51%로 공격할 때 지출해야 하는 대략적인 가격을 나타내고 있습니다.

블록체인 비용 (USD)
비트코인12M
이더리움1.1M
RSK6M

암호화폐 가격은 자주 변하므로, 브릿지는 보안 마진이 충분히 넓은 파라미터를 설정해야 합니다. 예를 들어 RSK-ETH 브릿지가 이더리움에서 RSK로 하루에 이동할 수 있는 가치는 600,000 USD로 제한되며, 그 반대 방향은 3,000,000 USD로 제한됩니다. 

이는 리스크 모델을 간소화한 것에 불과하나, 식별된 모든 공격은 HawkClient 증명의 누적 난이도와 검증자 블록체인의 난이도와 비례해 성장하는 비용을 보유하게 됩니다. 

점진적 증명

외부 입력을 검증해야 하는 스마트 컨트랙트 프로토콜에는 두 가지 극단적인 예가 존재합니다. 한 쪽은 온체인 레이어의 이용 가능성과 검열 저항성에 완전하게 보안을 의존하는 “게으른” 또는 “낙관적인” 프로토콜입니다. 낙관적 프로토콜에서 증명자가 무언가를 주장하면, 스마트 컨트랙트 레이어는 사기 방지를 위해 그 주장에 대한 챌린지를 기다립니다. 이는 “주장-챌린지” 디자인 패턴으로 운영됩니다. 특정 기간 동안 주장에 대한 챌린지가 없으면 해당 주장은 사실로 간주됩니다. 이는 스마트 컨트랙트가 직접 검증을 시행하지 않으므로 “게으른” 프로토콜로 간주됩니다. 이 모델은 TrueBit, 그리고 최근 Arbitrum이 채택한 모델입니다. 다른 한 쪽은 모든 외부 주장을 검증하는 “강력한” 프로토콜로 챌린지가 필요하지 않으며, 일부는 zk-SNARK 같은 계산 무결성 증명을 사용하기도 합니다. 게으른 프로토콜에는 거래 검열과 채굴자 충돌을 인센티브화한다는 단점이 있습니다. 게으른 프로토콜은 거래 검열 공격의 비용을 예상할 수 있는 경우 암호경제적으로 안전하다고 증명이 가능합니다. 그러나 검열은 수행 비용이 적은 대신 증명하기가 어렵고, 일반적으로 특정 채굴자의 탓이라고 하기가 불가능하기에 아주 힘든 작업입니다. 채굴자는 자신의 평판을 담보로 하지만, 이는 외부 관찰자가 가치를 매기기 어려운 존재입니다. 

강력한 프로토콜의 유일한 단점은 수행 자원(가스)의 측면에서 비용이 높으며, 프로토콜 사용자들이 이 비용을 나눠야 한다는 점입니다. 그 두 가지의 중립점은 점진적 프로토콜입니다.  점진적 프로토콜에서는 먼저 주장이 있은 뒤 검증 컨트랙트가 초기의 확실함을 위해 확률적인 검증을 수행합니다. 그 후 다른 사용자는 증명에 대한 챌린지를 수행하거나, 검증자가 증명을 더 확실하게 검증할 것을 요청하게 하거나, 다른 경쟁 증명을 제공하거나, 증명이 수락되기를 기다릴 수 있습니다. 첫 번째 증명이 두 번째의 경쟁 증명으로 챌린지되면 첫 번째 증명자에게는 최고의 경쟁에서 이겨 최고의 체인이 되기 위한 더 많은 누적 작업 증명을 제공할 기회가 있습니다. 이는 증명자 중 하나가 더이상 내놓을 누적 작업 증명이 없어 포기할 때까지 계속 증명을 추가할 수 있습니다. 마지막으로 챌린지되지 않고 남은 증명이 최고의 체인으로 선택됩니다.

낙관적이고, 강력하며, 점진적인 FlyClient 모델

모든 프로토콜에는 또 공격의 구성 가능성과 같은 불투명한 비용이 존재합니다. 공격자가 하나의 증명으로 여러 개의 관계없는 시스템에서 부정행위를 하면 어떻게 될까요? 이때 보안을 증명하려면 공격자가 수익을 낼 수 있는 모든 시스템을 알아야 합니다. 

지속적이고 산발적인 MMR 커미트먼트

원격 블록체인이 선천적으로 FlyClient를 지원할 수 없다면 HawkClient는 AMMR 업데이터라는 고정 스마트 컨트랙트 저장소에서 MMR 커미트먼트를 찾을 수 있습니다. 이 컨트랙트는 BLOCKHASH 연산 코드를 활용해 기존 블록 해시를 수집하고 최신 트리를 구축합니다. AMMR은 대략적인 머클 마운틴 레인지(Apporximate Merkle Mountain Range)의 줄임말입니다. 이 트리는 실질적인 누적 난이도와 시간 가치의 범위를 포함합니다. AMMR 커미트먼트를 블록마다 업데이트할 필요는 없습니다. AMMR 업데이터 컨트랙트의 외부 호출과 함께 평균 N개의 블록 수마다 업데이트된다고 가정할 수 있습니다. 평균 N개의 블록 수마다 한 번씩 블록 시간이 정확하게 맞춰지지만(블록 타임은 BLOCKTIME 연산 코드로 알 수 있음), 컨트랙트는 중간 블록의 블록 시간을 알 수 없게 됩니다. 이더리움 컨트랙트는 정확한 누적 난이도를 모릅니다. 그런 연산 코드가 없기 때문입니다. 따라서 AMMR 업데이터 컨트랙트가 호출되면 누적 난이도의 범위를 산출해야 합니다. 해당 프로토콜은 누적 난이도가 항상 일정 퍼센티지의 오류 범위 안에 있음을 보장합니다. 오류 범위의 존재는 블록 난이도가 AMMR 업데이트 간에 큰 차이를 보일 수 없으므로 타당해집니다. 그럼 블록 난이도가 블록 간에 +-1/2048의 지수로 변화할 수 있는 이더리움의 경우를 생각해 봅시다. 최대 256개의 블록 간격으로 AMMR 업데이트를 수락하면 블록 난이도가 6.65%(최대/최소 포인트, 약 블록 128)까지 떨어지거나 올라갈 수 있음을 뜻합니다. 그러나 이는 마지막 블록에서 실제 블록 난이도에 도달해야 합니다. AAMR 업데이터가 DIFFICULTY 연산 코드로 이를 확인하기 때문입니다. 따라서 AMMR 업데이터는 현 블록에서의 누적 난이도 범위를 산출할 수 있게 됩니다. 최악의 시나리오에서 지난 256 블록 중에 일어난 업데이트가 없고, 지난 업데이트 이후로 블록 난이도가 바뀌지 않은 경우, 이 범위는 실제 블록체인 누적 난이도의 최대 3.2% 감소/증가를 대표합니다. 따라서 스마트 컨트랙트가 실제 난이도를 몰라도 실제 난이도를 아주 비슷하게 따라갈 수 있습니다. 또 공격자는 감지되지 않고 3.2%라는 난이도를 바꾸려면 256개의 블록을 채굴하거나 256개의 블록 헤더에 대한 요청 수신을 피해야 합니다.

AMMR 트리는 정확한 누적 난이도 가치를 저장하지 않기 때문에 많은 AMMR 업데이트를 포함한 증명을 제시할 때 후속 블록의 누적 난이도 범위가 겹치게 됩니다. 이는 공격자에게 특정 누적 난이도 x의 블록 지수 요청 챌린지가 들어오면, 해당 공격자가 이 모호함을 이용해 난이도 범위 x를 포함하는 여러 일련의 블록 중 하나를 선택할 수 있다는 뜻이 됩니다. 따라서 공격자는 겹치지 않는 간격마다 블록을 하나씩 채굴해 필요한 작업을 줄일 수 있게 됩니다. 이러한 공격을 방지하려면 증명자는 각 블록의 정확한 누적 난이도와 시간을 포함하는, 정확한 머클 마운틴 트리(EMMR)인 두 번째 머클 트리에도 커미트해야 합니다. 이 트리는 중간 노드마다 누적된 난이도와 시간으로 증강됩니다. AMMR 노드에서 수행되었던 기존 기능과 증명은 이제 이 두 트리 간에 나뉘어 진행됩니다. 증명자는 각 요청마다 AMMR 브랜치와 EMMR 브랜치를 모두 제시해야 합니다. EMMR 브랜치는 특정 누적 커미트먼트를 포함하는 블록 번호를 찾는 데 사용되고, 이 블록 번호를 찾아 AMMR 트리를 가로지르게 됩니다. 이렇게 하는 동안 모든 누적 난이도와 누적 시간 난이도 범위가 교차 확인됩니다. 다음 도표는 누적 난이도가 0으로 시작되고 각 블록의 난이도가 일정하게 10으로 유지되는 블록체인을 가정한 것입니다. 컨센서스에 따라 난이도는 블록마다 10% 높아지거나 낮아질 수 있습니다. 블록 8개 이후에는 실제 누적 난이도(80)가 각 중간 블록의 실제 난이도를 모르는 상태에서 달성할 수 있는 최소/최대 누적 난이도를 벗어나게 됩니다. 이때 알 수 있는 것은 마지막 블록의 난이도 뿐입니다. 각각의 녹색 박스는 최소 및 최대 누적 난이도를 나타냅니다. 증명 확인 시에는 EMMR 트리를 사용해 블록을 찾게 되며, 블록 번호로 AMMR 트리 내 브랜치를 찾습니다. 각 단계마다 정확한 범위가 한정 범위 안에 포함되는지가 확인됩니다.

정확한 머클 마운틴 레인지 트리와 대략적인 머클 마운틴 레인지 트리

HawkClient와 소통하는 모든 시스템은 반드시 AMMR 업데이터 컨트랙트의 주소를 알아야 합니다. AMMR 업데이터 컨트랙트를 생성하는 거래를 검사하기만 하면 누구든지 실행된 코드를 검증할 수 있습니다. 그러나 여기에는 교활한 공격 가능성이 존재합니다. AMMR 업데이터의 생성자는 이미 포크된 적이 있으며 같은 블록체인 헤더 구조와 작업 증명을 공유하는, 같은 주소의 비슷한 컨트랙트를 다른 블록체인에 만들 수 있게 됩니다. 이 블록체인에서 해당 컨트랙트는 다른 VM 바이트코드로 실행될 수 있습니다. 이 공격을 피하려면 MMR 업데이터 컨트랙트는 CREATE2로 실행되고 CHAIND 연산 코드(EIP-1344)를 이용해 해당 컨트랙트가 대상 플랫폼에서 실행되고 있음을 검증하고, 그렇지 않은 경우 구축을 중단해야 합니다. 이 연산 코드는 이더리움에서 Instanbul 하드 포크 이래로 찾아볼 수 있습니다.  

요약

IOV Labs는 주요 작업 증명 블록체인을 연결할 수 있는 분산형 브릿지 작업을 진행하고 있습니다. 이 브릿지의 핵심은 FlyClient의 연장인 HawkClient 프로토콜입니다. FlyClient와 HawkClient 간에는 여러 차이점이 있습니다. HawkClient의 경우, 

  • 대화형 증명
  • 증명의 보안이 암호경제적이거나 암호적이지 않음
  • 시스템에 담보 채권이 필요함. 양방향 브릿지에 사용되는 경우, 네이티브 통화와 토큰 모두에 담보 채권이 필요할 수도 있음
  • 증명이 점진적임
  • AMMR 커미트먼트는 산발적이나 잔류성으로 블록체인 컨센서스를 바꾸지 않음
  • 증명자는 구체적인 누적 난이도을 포함하는 두 번째 EMMR 트리에도 커미트하게 됨 이 트리는 컨센서스에서 생산될 필요가 없음 
  • 증명에는 하나 이상의 증명자와 스마트 컨트랙트 검증자가 필요함 증명자와 스마트 컨트랙트 모두가 챌린저가 될 수 있음
  • 최고의 체인은 불변이며 단조로운 증가를 유지함
  • 최고의 체인 성장이 지연됨(증명된 팁에서 최고의 체인 팀 간의 지연)

RSK-ETH 브릿지의 기반은 두 개의 블록체인 간에 거울형으로 구현된 두 가지 HawkClient 시스템입니다. 저희는 현재 이 브릿지를 개발하고 있으며 곧 RSK 테스트넷에서의 실행 날짜를 발표할 예정입니다. 또 동시에 소스 코드를 커뮤니티에 공개해 월렛에서 스마트 컨트랙트 등에서 사용하는 방법에 대한 모든 정보를 제공해 드릴 것입니다. 최초의 정통 분산형 암호경제 브릿지에 대한 작업을 할 수 있다는 게 너무 기대됩니다. RSK-ETH 브릿지는 모든 블록체인 간 소통의 중추 역할을 구축하는 첫 걸음으로, EVM 호환 블록체인 토큰 모두가 RSK의 DeFi on Bitcoin에서 제공될 수 있게 할 것입니다.