BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

블록체인의 새로운 관점: 데이터베이스, 합의, 롤업 및 브리지

区块律动BlockBeats
特邀专栏作者
이 기사는 약 10031자로, 전체를 읽는 데 약 15분이 소요됩니다
데이터베이스로서의 블록체인의 관점에서 합의 프로토콜, Layer1, Layer2 및 크로스체인 브리지와 브리지를 통해 한 데이터베이스에서 다른 데이터베이스로 자산을 전송하는 방법을 이해합니다.
AI 요약
데이터베이스로서의 블록체인의 관점에서 합의 프로토콜, Layer1, Layer2 및 크로스체인 브리지와 브리지를 통해 한 데이터베이스에서 다른 데이터베이스로 자산을 전송하는 방법을 이해합니다.

저자: 패트릭 맥코리

원본 편집: 0x26

이 기사는 Arbitrum Foundation 및 Lemniscap의 Patrick McCorry가 작성한 것입니다. 패트릭은 영국 최초의 암호화폐 박사과정 졸업자로서 2013년부터 2016년까지 박사과정 동안 비트코인과 이더리움 관련 방향을 연구한 후 킹스 칼리지 런던에서 조교수, UCL, NCL에서 연구원으로 재직했습니다. 그리고 UIUC. 2019년 Patrick은 대학을 떠나 레이어 2 사업을 시작했고 Infura에 인수되었으며 Infura에 머무는 동안 전체 블록체인 강좌 세트도 제작했습니다. Patrick은 이후 Lemniscap 및 Arbitrum Foundation에 합류했습니다.

이 기사는 두 부분으로 나누어져 있습니다. 첫 번째 부분은 데이터베이스로서의 블록체인이고 두 번째 부분은 데이터베이스 연결입니다. 패트릭은 첫 번째 원칙을 사용하여 블록체인을 합의 프로토콜 + 데이터베이스의 형태로 추상화했으며, 이를 기반으로 레이어 1, 레이어 2 및 크로스체인 브리지의 작동 원리와 레이어 1과 레이어의 차이점을 설명했습니다. 2 등.

다음은 Rhythm이 편집한 기사의 원문입니다.

데이터베이스로서의 블록체인

검증 브리지가 롤업을 정의하는지, 즉 다음과 같은지에 대해 많은 논쟁이 있습니다.

롤업은 브리지와 동일합니까?

한발 물러서서 이 문제를 첫 번째 원칙부터 살펴보겠습니다.

블록체인이란 무엇입니까?

브리지를 통해 한 데이터베이스에서 다른 데이터베이스로 자산을 전송하는 방법은 무엇입니까?

우리는 위의 두 가지 주제에 대해 두 개의 글을 통해 논의하고, 토론 후에 이 두 가지 주제를 다시 살펴보고 그것이 올바른지 여부를 평가해 보겠습니다.

블록체인이란 무엇입니까?

블록체인의 주요 목적: 제3자가 동일한 데이터베이스 정보를 계산하고 이 데이터가 유효하다고 믿도록 허용하는 것입니다.

블록체인의 핵심은 다음을 기록하는 데이터베이스입니다.

  • 계정 잔액

  • 스마트 계약 코드

  • 프로그램 상태

거의 모든 시스템에서 블록체인은 모든 기록 트랜잭션의 순서를 정의합니다.

적어도 그것은 우리가 오랜 기간 동안 배운 것입니다.

거래 목록일 필요는 없습니다. 측면에 영지식 증명이 포함된 상태 차이 목록일 가능성이 높습니다.

그렇다면 블록체인이란 무엇인가?

블록체인은 특정 규칙에 따라 데이터베이스 복사본을 계산할 수 있는 일련의 순차적 데이터 테이블입니다.

블록체인의 목적을 다시 강조하세요.

사용자가 데이터베이스 복사본을 계산할 수 있습니다.

유일한 작업은 이 데이터베이스를 복제할 수 있도록 만드는 것입니다.

지루하지?

블록체인에서 합의가 이루어졌습니다.

블록체인과 관련하여 퍼즐 중 하나는 다음과 같습니다.

커뮤니티는 어떻게 글로벌 합의(합의)에 도달하고 실제 블록체인이 무엇인지 깨닫습니다.

동일한 블록체인을 통합할 수 있다면 전 세계 사용자가 동일한 데이터베이스를 계산할 수 있습니다.

이는 다음과 같은 간단한 목표를 가진 합의 프로토콜의 아이디어로 이어집니다.

익명의 불신하는 당사자 그룹을 모아 결정에 동의합니다.

블록체인의 맥락에서 합의 프로토콜을 통해 한 당사자는 데이터의 블록을 제안하고 이를 데이터 시퀀스의 맨 위에 추가할 수 있으며, 다른 모든 당사자는 이것이 실제로 새로운 블록 헤더라는 데 동의합니다.

이것이 바로 블록체인이라고 불리는 이유입니다. 우리 모두가 동일한 데이터 블록 문자열에 동의하기 때문입니다!

합의 프로토콜을 설계하고 구현할 때 고려해야 할 여러 가지 기술적 과제가 있습니다.

  • 누구나 참여할 수 있도록 공개할 수 있나요?

  • 모든 당사자가 동의하려면 어느 정도의 통신 복잡성이 필요합니까?

  • 사람들이 적극적으로 참여할 수 있도록 재정적 인센티브를 제공하는 것이 가능합니까?

이는 매우 흥미롭고 복잡한 주제이지만 지금은 이러한 과제에 초점을 맞추지 않겠습니다. 기억해야 할 유일한 점은 모든 당사자가 새로운 데이터 블록에 동의할 수 있도록 하는 합의 프로토콜만 있으면 된다는 것입니다.

합의 프로토콜에 대한 새로운 실제 사례

수년에 걸쳐, 특히 블록체인 레이어 1을 추구하면서 커뮤니티는 다양한 합의 프로토콜 구성을 경험해 왔습니다.

  • 비트코인의 나카모토

  • 이더리움의 개스퍼

  • 코스모스의 텐더민트

  • 눈사태 위의 눈사람

거의 모든 경우에 (프로토콜의) 시장 진출 전략은 데이터베이스를 지속적으로 업데이트하는 새로운 합의 프로토콜을 게시하는 것입니다. 합의 프로토콜을 배포하는 것뿐만 아니라 이를 둘러싼 모든 인프라를 배포하는 것입니다. 그리고 사회적 차원에서는 정직한 대다수가 참여할 수 없도록 합니다.

이것은 어려운 작업입니다.

또한 흥미로운 질문이 제기됩니다.

새로운 데이터베이스가 되는 체인을 출시하려면 정말로 새로운 합의 프로토콜을 출시해야 합니까?

놀랍게도 대답은 '아니오'입니다!

기존 합의 프로토콜을 다시 가져옵니다.

블록체인은 게시판과 같아서 모든 사람이 동일한 메시지를 볼 수 있습니다.

시작하기 전에 추상화를 상상해 봅시다.

게시판을 통해 데이터를 필요로 하는 모든 사람이 지속적으로 데이터를 볼 수 있습니다.

이는 전자 투표 프로토콜과 관련된 개념입니다. 게시판을 통해 모든 사용자는 동일한 프로토콜 기록에 액세스할 수 있습니다. 사용자는 이 기록을 가져와 스스로 실행하고 프로토콜이 올바른지 확인할 수 있습니다. 전자투표의 경우 (게시판)을 이용하여 투표캠페인이 제대로 진행되고 있는지, 모든 투표가 정확하게 기록되고 있는지 확인할 수 있습니다.

이것이 블록체인과 어떤 관련이 있나요? 음, 그냥:

게시판의 데이터는 누구나 접근할 수 있으며,

그러면 누구든지 타임스탬프가 표시된 데이터를 얻고 데이터베이스 복사본을 계산할 수 있습니다. 실제로 많은 Layer-1 체인, 특히 비트코인과 이더리움은 특히 좋은 게시판입니다. 또한 게시판에 데이터를 쉽게 작성할 수 있습니다.

데이터를 롤업하여 블록체인 시스템에 게시하기만 하면 됩니다.

기존 블록체인 시스템을 재사용하는 것을 롤업이라고 합니다.

롤업: 모든 데이터가 집계되어 해당 체인에 게시됩니다.

데이터 순서를 결정하고 모든 사람이 액세스할 수 있도록 보장하는 무거운 작업은 기존 블록체인 시스템에 맡겨져 있습니다. 이것은 새로운 아이디어가 아닙니다. 사실, 약 10년 정도 된 일입니다. 롤업 방법은 새 데이터베이스를 부트스트랩하는 인기 있는 방법이 되었습니다.

Coloredcoins, MasterCoin/Omni, Ordinals, Arbitrum, Optimism, StarkEx, ZkSync, Polygon Hermez, Scroll 등 많은 예가 있습니다.

위의 모든 프로젝트와 몇몇 다른 프로젝트는 비트코인이나 이더리움 위에 새로운 데이터베이스를 부트스트랩하려고 시도하고 있습니다.

실제로 이 접근 방식의 인기로 인해 롤업 실행을 위한 데이터베이스 구축에 중점을 두는 Celestia라는 플랫폼이 있습니다.

우리는 여전히 롤업을 블록체인으로 생각할 수 있습니다.

주기적으로 게시되고 순차 관계형 데이터베이스에 추가되는 일련의 데이터입니다.

블록은 다르게 보일 수 있으며 데이터 블록의 문자열일 수도 있습니다. 그러나 일반적으로 항상 (또는 인과관계에 따른) 순서를 가지게 되는 것은 여전히 ​​추가 전용 데이터 구조입니다.

궁극적으로 새로운 합의 프로토콜을 개발하든 기존 합의 프로토콜을 부활시키든 목표는 동일합니다. 바로 데이터베이스를 부트스트랩하는 것입니다.

블록 데이터 구조 분석의 원리

특히 시스템의 내부 노드에 대응하여 전 세계적으로 허용되는 규칙을 시행하고 시행하는 것은 커뮤니티에 달려 있습니다.

모든 당사자가 동일한 데이터에 액세스할 수 있다고 가정할 때 마지막 과제는 모든 당사자가 데이터 블록을 구문 분석하고 데이터베이스 복사본을 계산하기 위해 동일한 규칙 세트(상태 전환 기능)를 따르도록 하는 것입니다.

데이터 구문 분석의 예:

데이터 블록을 가져와 트랜잭션으로 구문 분석하고,

트랜잭션이 실행 가능한지 확인하고 특정 가상 머신에서 실행한 후 데이터베이스에 업데이트를 전달합니다.

이는 암호화폐에 독특한 문제를 야기합니다:

데이터 구문 분석에 직면했을 때 전 세계적으로 합의된 구문 분석 규칙 세트가 필요합니다.

전 세계적으로 일관된 구문 분석 규칙을 조정할 때 다음 두 가지 경우를 평가해야 합니다.

작업이 수행됩니다. 모든 당사자가 동의하는 규칙은 99.9%의 시간 동안 시행됩니다.

거버넌스 규칙. 모든 당사자는 새로운 규칙을 제안하고 동의하는 설정 프로세스를 갖습니다.

첫째, 거의 모든 논의는 블록체인 네트워크의 보안을 일상적인 규칙 시행 작업과 연결합니다. 이는 소프트웨어와 관련 당사자가 데이터베이스를 보호하기 위해 동일한 규칙 집합을 일관되게 적용하는 방법을 살펴보기 때문에 중요합니다.

그러나 특히 운영 실행에 문제가 있는 경우 블록체인 네트워크 보안을 궁극적으로 보장하려면 규칙을 업데이트해야 합니다. 규칙을 어떻게 변경하고, 새로운 규칙을 언제 시행할지에 대해서는 참여자 모두가 사회적 차원에서 합의에 도달하는 과정이 있어야 합니다.

집행 및 거버넌스의 개념을 더 자세히 살펴보겠습니다.

작전을 수행하다

우리 모두는 계속해서 규칙을 시행하고 제안된 모든 데이터베이스 업데이트를 검증할 책임이 있습니다.

일상적인 운영 실행은 블록체인 시스템용 컴퓨팅 데이터베이스를 그토록 흥미롭게 만드는 것입니다!

우리는 다음 두 가지에만 동의하면 됩니다.

데이터 블록의 전체 순서를 찾을 수 있는 위치 데이터 블록 구문 분석 규칙.

이것으로 충분합니다. 데이터베이스가 규칙을 따르는 한 모든 참가자는 데이터 블록을 획득하고 규칙을 시행할 수 있는 기회를 갖습니다.

참가자의 규모, 주문 개시자 또는 패밀리 노드에 관계없이 모든 사람은 데이터베이스의 내용에 대해 확신을 가져야 합니다.

한 단계 더 나아가, 모든 시장 참가자가 동일한 규칙을 시행하고 모두 동일한 데이터베이스 사본을 계산할 수 있는 한, 실제 블록체인으로 간주되어야 하는 것이 무엇인지 시장이 결정하도록 할 수 있습니다.

거버넌스 규칙

모든 블록체인 시스템은 데이터 구문 분석 및 데이터베이스 컴퓨팅을 위한 일련의 규칙을 따라야 합니다.

거의 모든 블록체인 시스템에는 부트스트랩 단계가 필요합니다.

(비트코인) 비트코인 ​​코어는 나카모토 사토시에게서 나옵니다.

(이더리움) Gavin Wood를 통한 Yellow Paper.

일반적으로 프로젝트는 규칙을 결정하고, 블록체인을 실행하고, 소프트웨어(및 규칙)를 더 넓은 커뮤니티에 전달하는 소규모 개발자 그룹에 의해 부트스트랩됩니다.

다음 단계는 규칙을 변경하는 것입니다.

소프트웨어 업그레이드나 버그 수정 등 규칙을 변경하는 데에는 여러 가지 이유가 있습니다. 규칙을 변경하려면 더 광범위한 동의, 즉 사회적 합의가 필요합니다.

규칙 변경에 대한 합의에 도달하는 방법에는 두 가지가 있습니다.

대략적인 합의. 불투명하고 잘못 정의된 프로세스.

온체인 거버넌스. 명확한 토큰 거버넌스 투표 프로세스.

전자의 대략적인 합의는 비트코인, 이더리움과 같은 블록체인 네트워크의 핵심 부분입니다. 여기에는 다양한 행위자와 합의에 도달하는 인간 프로세스가 포함되며, 그런 다음 개발자가 업그레이드를 구현하고 업그레이드가 실행될 수 있는 기준 날짜를 제안합니다.

Tezos가 처음 개척한 후자인 온체인 거버넌스는 참가자들이 업그레이드 배포 여부에 대해 명시적으로 투표할 수 있도록 하고, 성공적인 투표 후 소프트웨어를 업데이트할 수 있는 시간표를 제공합니다. 곧 살펴보겠지만, 온체인 거버넌스 접근 방식은 단일 프로젝트를 관리하는 방법으로 DAO 사이에서 인기를 얻었습니다.

위의 두 경우 모두 제안된 업그레이드에 여전히 동의해야 하며, 그런 경우에도 업그레이드가 원활하게 진행될 것이라는 보장은 없습니다.

블록체인 분할 없음: 하나의 새로운 규칙 데이터베이스만 허용하는 글로벌 합의(시장 포함)를 통해 업그레이드가 원활하게 실행됩니다.

블록체인 분할: 업그레이드에 이의가 제기되고 분쟁 당사자 모두가 여전히 진행 중인 경우 두 커뮤니티가 서로 다른 규칙을 적용하고 서로 다른 데이터베이스를 계산하며 각각 고유한 시가총액을 갖기 때문에 영구적인 포크로 이어질 수 있습니다.

즉, 거버넌스 프로세스는 커뮤니티가 제안된 업그레이드를 받아들일 수 있다는 모호한 결과만을 제공했습니다. (실제 결과는) 태그데이 이후 업그레이드가 진행된 후에야 확실히 알 수 있습니다. 커뮤니티 구성원이 반대하고 새로운 규칙을 무시하며 두 개의 경쟁 데이터베이스가 등장하는 것을 허용할 가능성이 높습니다. BTC/BCH 및 ETH/ETC와 같습니다.

마지막으로 새로운 규칙 변경 사항을 구현하는 방법에는 두 가지가 있습니다.

하드포크. 업그레이드되지 않은 노드가 거부할 규칙에 대한 감지 가능한 변경 사항입니다. 규칙을 감지할 수 있게 변경하면 업그레이드되지 않은 노드는 새 규칙에 참여할 수 없습니다.

소프트포크. 업그레이드되지 않은 노드가 무시하는 규칙에 대한 감지할 ​​수 없는 변경 사항입니다. 규칙에 대한 감지할 ​​수 없는 변경 사항, 업그레이드되지 않은 노드는 이 부분을 무시합니다.

하드포크나 소프트포크의 개념은 규칙의 변화를 감지할 수 있는지, 그리고 이에 어떻게 반응하는지에 초점을 맞춘다. 궁극적으로 네트워크의 검열 저항, 악의적 공격으로부터의 보호, 사용자가 규칙 변경을 명시적으로 선택할 수 있는지 여부에 영향을 미치기 때문에 어떤 방법을 사용해야 하는지에 대해 열띤 논쟁이 일어날 수 있습니다.

데이터베이스 세계

블록체인 네트워크의 전체 탐구는 누구나 읽고 쓰고 보호할 수 있는 개방형 데이터베이스를 구축하는 것입니다.

지난 14년 동안 커뮤니티에서 가장 큰 실험은 항상 더 나은 데이터베이스를 구축하는 방법에 중점을 두었습니다.

눈에 띄는 발전이 있었습니다:

  • 관리형 데이터베이스. web2 경험을 복제하되 데이터베이스의 무결성과 활성 상태를 보호하는 운영자를 신뢰하십시오.

  • 공개 데이터베이스. 누구나 데이터베이스를 읽을 수 있도록 허용하지만 궁극적으로는 업데이트할 수 있는 운영자를 신뢰하십시오.

  • 데이터베이스를 엽니다. 누구나 데이터베이스를 읽고, 쓰고, 보호할 수 있도록 허용합니다.

몇 가지 예를 들면 다음과 같습니다.

중앙 집중식 거래 플랫폼. 거의 모든 거래 플랫폼은 web2 스타일 데이터베이스를 구현하며, 누구도 데이터베이스 사본을 계산하는 것이 불가능합니다.

권위 증명(PoA). 일부 블록체인 시스템은 지정된 권한 또는 여러 개의 지정된 권한을 사용하여 새 블록을 게시하여 데이터베이스를 업데이트합니다. 누구나 블록을 다운로드하고, 데이터 블록을 구문 분석하고, 데이터베이스 복사본을 계산할 수 있습니다. 그들은 새로운 블록을 제안할 권한이 없습니다.

나카모토 합의. 재정적 자원을 사용하려는 사람은 누구나 새 블록을 게시(및 투표)하여 데이터베이스 업데이트 프로세스에 참여할 수 있습니다. 마찬가지로 누구나 블록을 다운로드하고, 블록을 구문 분석하고, 데이터베이스 복사본을 계산할 수 있습니다.

이제 우리는 더 나은이라는 단어를 사용합니다. 좋은 데이터베이스란 무엇인가에 대한 대답은 매우 주관적이며 커뮤니티가 최적화하려는 측정 항목에 따라 달라지기 때문입니다.

  • 합의 프로토콜에 참여할 수 있는 가치 참가자는 무엇입니까?

  • 데이터베이스 사본을 다운로드할 수 있는 참가자를 소중히 여기십니까?

  • 신뢰할 수 있는 운영자의 승인 없이 데이터베이스에 쓸 수 있는 사람을 제한하시겠습니까?

  • 시스템에서 거래하는 비용은 신경쓰지 않으시나요? 아마도 데이터를 누구에게나 공개하려고 노력하는 동안일까요?

  • 할머니에게 가장 쉬운 절충안은 무엇입니까?

우리는 객관적으로 지표를 정의하고 블록체인 시스템이 명시된 목표를 얼마나 잘 달성하는지 평가할 수 있습니다. 커뮤니티는 어떤 지표가 중요한지, 어떻게 경쟁사보다 더 나은 지표를 달성할 수 있는지에 대해 영원히 토론할 것입니다. 그러나 궁극적으로 중요한 것은 사용자가 거래를 선택하는 위치와 그러한 결정을 내리는 이유입니다.

질문이 하나 있습니다. 자산을 한 데이터베이스에서 다른 데이터베이스로 어떻게 이동합니까? 예를 들어 일반적인 사용자 흐름에는 다음이 포함될 수 있습니다.

  • 온라인. Coinbase에서 토큰 구매

  • 옮기다. Coinbase에서 Ethereum으로 토큰 전송

  • 행동. DeFi 앱을 사용해 보세요.

  • 옮기다. Ethereum에서 Arbitrum으로 토큰 전송

  • 행동. DeFi 앱을 사용해 보세요.

  • 옮기다. Arbitrum에서 Binance로 토큰을 전송하고,

  • 오프체인. 법정화폐로.

명명된 모든 시스템은 다양한 수준의 보안 및 감사 기능을 갖춘 개별 데이터베이스입니다. 하지만 자산 이전을 가능하게 하려면 브릿지에 대해 이야기해야 하며, 이는 다음 기사에서 중점적으로 다룰 것입니다!

세계를 연결하다 - 소개

짧은 검토: 데이터베이스로서의 블록체인

위 글에서는 블록체인이란 무엇인가에 대해 살펴보았는데, 이는 블록체인의 목적을 이해할 수 있는 좋은 기회였습니다.

그렇다면 블록체인이란 무엇인가?

블록체인은 단순히 데이터(트랜잭션)의 전반적인 순서를 규정하는 데이터 구조입니다.

목적은 단 하나입니다:

누구나 블록체인을 가져와 데이터(트랜잭션)를 순서대로 구문 분석하고 동일한 데이터베이스의 복사본을 만들 수 있습니다.

이제 차례가 왔습니다. 이는 블록체인 네트워크에서 가장 어려운 문제 중 하나입니다. 참가자는 자신이 동일하고 고유한 블록체인 복사본을 가지고 있는지 어떻게 확인합니까?

간단히 말해서, 블록체인 엔지니어링의 전체 분야는 다음에 중점을 둡니다.

단일 데이터베이스를 구현합니다.

글로벌 규모에서 모든 당사자가 동일한 블록체인에 수렴할 수 있는 유일한 방법은 합의 프로토콜에 참여하는 것입니다. 이를 통해 모든 당사자가 최신 블록을 추가하기로 한 결정에 동의할 수 있습니다.

흥미로운 점은 데이터 블록이 트랜잭션 목록일 필요는 없다는 것입니다. 실제로 두 가지 옵션이 있습니다.

거래 내역. 실행할 트랜잭션의 명시적인 목록입니다. 모양

상태 차이. 데이터베이스의 슬롯을 업데이트하는 데 사용할 수 있는 상태 차이 목록입니다.

데이터베이스 업데이트에 적용할 수 있는 일련의 규칙(상태 전환 기능)으로 데이터를 구문 분석하는 방법을 결정하는 것은 행위자에게 달려 있습니다. 상태 전환 방법은 유효성 증명의 증가로 인해 상대적으로 최근에 도입되었습니다.

따라서 결국 모든 블록체인 프로토콜의 핵심은 데이터가 올바르게 정렬되고 모든 사람이 사용할 수 있도록 하는 것입니다. 실제로 다음과 같은 매우 미묘한 가정이 있습니다.

최근 방송. 합의 프로토콜은 특정 시점에만 데이터 공개를 보장할 수 있습니다.

역사적으로 합의된 결정이 가능하다는 보장은 없으며 데이터를 제공하는 대부분의 노드는 이타적입니다(역자 주, 과거 ​​거래 데이터를 제공하는 대부분의 노드는 이타주의에 의해 동기 부여됩니다. 이는 블록체인 네트워크에서 노드가 데이터를 유지할 의무가 없기 때문입니다. 모든 거래 데이터.).

마지막으로 데이터베이스 데이터의 공개를 보장하는 방법을 결정할 때 프로젝트는 다음과 같은 선택을 할 수 있습니다.

새로운 합의 프로토콜(레이어 1) 배포

기존 합의 프로토콜 재사용(롤업)

전자는 힘든 일이다. 이를 위해서는 전체 생태계가 기꺼이 나서야 하며, 일반적으로 시스템을 보호하려면 정직한 대다수의 참가자가 필요합니다.

롤업은 그러한 생태계를 부트스트래핑하는 것이 어렵고 바퀴를 만드는 것에는 가치가 거의 없다는 것을 인정합니다. 레이어 1을 게시판으로 활용하고 모든 관련 데이터를 사용 가능하고 정렬된 상태로 유지하는 것이 훨씬 쉽습니다.

프로젝트가 새로운 레이어 1을 배포하기로 결정하든 롤업을 배포하기로 결정하든 모든 접근 방식은 다양한 수준의 신뢰 가정과 보안을 갖춘 데이터베이스의 세계로 이어집니다.

데이터베이스를 공개적으로 읽을 수 있는지 여부와 데이터베이스에 쓰기를 활성화하는 데 사용되는 메커니즘을 강조하여 폐쇄형, 공용 또는 개방형 데이터베이스로 쉽게 분류할 수 있습니다.

한 데이터베이스에서 다른 데이터베이스로 자산을 전송하는 크로스체인 브리지입니다.

위의 내용은 이론적으로 들릴 수 있지만 현재 우리는 암호화 자산과 상호 작용하려는 수백 또는 수천 개의 데이터베이스가 있는 세상에 살고 있다는 경험적 증거가 있습니다.

이는 다음 질문으로 이어집니다.

사용자는 자산을 한 데이터베이스에서 다른 데이터베이스로 어떻게 전송합니까?

사용자가 자산을 한 데이터베이스에서 다른 데이터베이스로 전송하는 방법을 연구해야 합니다.

보다 광범위하게는 서로 다른 시스템 간에 정보를 전송하는 방법입니다. 알아 보자!

세계를 연결하다

브리지를 통해 한 데이터베이스에서 다른 데이터베이스로 메시지를 보내는 방법에 관한 것입니다.

상상했던 종류의 블록체인 세계를 실현하는 데 도움이 될 수 있는 구성 요소가 있습니다.

다리(Bridge): 건너기 어렵거나 불가능한 물체에 대한 통로를 제공합니다.

사실 다리 작업은 매우 간단합니다. 메시지가 한 데이터베이스에서 다른 데이터베이스로 전달되도록 해야 합니다. 이는 송신자와 수신자 사이에 엔터티(브리지)가 있는 통신 프로토콜로 볼 수 있습니다.

모든 통신 프로토콜은 다음 속성을 충족하려고 합니다.

  • 즉시 배송됩니다. 메시지는 수신자가 가능한 한 빨리 소비합니다.

  • 전체. 전체 콘텐츠가 전달되어야 합니다.

  • 증명할 수 있는. 수신자는 메시지가 실제로 발신자에 의해 시작된 것인지 확인할 수 있습니다.

통신 프로토콜인 브리지는 메시지의 개인 정보를 보호하는 데 전념하지 않는다는 점은 주목할 가치가 있습니다. 이는 브리지 세계에서는 선택 사항이며 메시지 개인정보 보호를 유지하는 브리지 프로토콜은 (아직) 없습니다.

이제 브릿지가 해결해야 할 주요 문제는 수신자에게 메시지의 진정성을 확신시킬 수 있는 것, 즉 증명 과정을 거치는 것입니다.

수동 조작 브리지

우리는 인간이 운영하는 운영 체제가 정보를 전달하고 그 신뢰성을 증명할 수 있는 능력을 믿습니다.

거의 모든 브리지 설계에는 송신자(데이터베이스 A)와 수신자(데이터베이스 B) 사이에 일련의 권한이 있습니다. 물론, 발신자와 수신자는 각자의 데이터베이스에 존재하는 스마트 계약일 가능성이 높습니다.

이들 당국은 다음을 수행합니다.

  • 얻다. 데이터베이스 A에서 새 메시지를 가져옵니다.

  • 징후. 데이터베이스 B로 전송될 모든 메시지에 디지털 서명을 합니다.

  • 입증하다. 디지털 서명과 메시지를 데이터베이스 B로 보냅니다.

증명 프로세스에서는 메시지가 실제로 신뢰할 수 있는 기관에 의해 서명되었는지 확인하기 위해 수신자의 데이터베이스(데이터베이스 A)가 필요합니다. 그렇다면 메시지의 내용과 출처에 대해 확신을 가질 수 있습니다.

주요 문제: 지정된 기관을 신뢰하십시오.

또한 발신자와 수신자 모두 메시지를 전달하고 무결성을 입증하기 위해 지정된 기관을 100% 신뢰해야 합니다. 송신자와 수신자는 제3자의 도움 없이는 외부 세계를 볼 수 없기 때문입니다.

이러한 교량은 수동으로 작동되는 교량이라고 할 수 있습니다.

이는 통신을 용이하게 하고 발신자 또는 수신자를 대신하여 모든 규칙을 시행하기 위해 인간(서버 측 애플리케이션)에 의존합니다. 배포하기 가장 쉬운 브리지 유형이며 다양한 블록체인에 적용할 수 있지만 대규모 보안이 가장 어렵습니다.

불행하게도 암호화폐와 사토시 나카모토의 움직임의 요점은 시스템이 작동하는 데 필요한 모든 신뢰를 제거하고 이를 암호화 증명으로 대체하는 것입니다.

우리는 더 잘해야 합니다.

진화하는 증명 신뢰도

메시지를 전달하는 우편 배달부에게만 중간자 조작자 역할의 권한을 줄이려고 노력할 수 있습니다.

메시지의 진위를 증명하기 위해 보낸 사람의 메시지와 함께 암호화 증거를 보내야 합니다.

성공하면 이 증명은 수신자에게 인간 당사자를 신뢰하지 않고도 메시지의 신뢰성에 대한 의심의 여지가 없는 스마트 계약을 제공해야 합니다.

수동 작업을 줄일 수 있는 역할: 데이터베이스 A에서 데이터베이스 B로 메시지 전달(릴레이)을 지원합니다.

이것이 실제로 무엇을 의미하는지 보여주는 몇 가지 다른 방법을 살펴보겠습니다.

올바른 증명 시행(Nomad)

이 접근 방식을 위해 우리는 다음과 같은 질문을 합니다.

증명에 대한 책임을 지게 함으로써 인간 운영에 대한 신뢰를 줄일 수 있습니까?

이 접근 방식에서는 당국이 메시지의 진위 여부를 입증해야 하지만, 당국이 부정 행위를 시도하면 즉시 처벌받을 수 있습니다. 예를 들어, 부정확하고 충돌하는 메시지가 있습니다.

Nomad 프로토콜은 이러한 책임 있는 접근 방식을 구현한 예입니다.

두 명의 권위 있는 당사자가 있다고 가정합니다.

인증 권한. 데이터베이스 A를 읽고, 데이터베이스 A에서 보낸 메시지에 서명하고, 데이터베이스 A에 서명을 제출하는 일을 담당합니다.

거부권. 서명된 메시지가 A 데이터베이스에서 유래되었는지 교차 검증하여 B 데이터베이스를 보호하는 역할을 담당합니다.

인증 권한을 시행하는 당사자는 악의적인 행위를 막기 위해 상당한 자산을 락업해야 하며, 누구나 이 역할을 할 수 있습니다. 반면, 거부권은 프로토콜이 실제로 실행되기 전에 지정되어야 하며, 거부권 역할에 접근할 수 없게 만드는 방법은 여전히 ​​공개 연구 문제입니다.

Nomad 프로토콜은 세 단계로 구성됩니다.

  • 인증 메시지. 인증자는 데이터베이스 A에서 메시지를 읽고 메시지에 서명한 다음 서명을 데이터베이스 A에 제출합니다.

  • 메시지 릴레이. 누구나 서명된 메시지를 받아 데이터베이스 B로 전달할 수 있습니다.

  • 거부권 단계. 거부권 당사자가 데이터베이스 B로 전송된 메시지가 데이터베이스 A의 메시지와 정확히 동일한지 확인하는 고정된 시간 창(예: 30분)이 있습니다. 동일하지 않은 경우 메시지를 거부하고 취소해야 합니다.

설명을 위해 예제에서는 하나의 수신 데이터베이스만 가정하지만 Nomad 프로토콜은 여러 데이터베이스가 동일한 서명된 메시지를 수신할 수 있도록 확장될 수 있습니다.

데이터베이스 A는 인증에 대한 책임을 맡지만 거부권을 가진 다른 당사자에 의존하여 지원되는 모든 데이터베이스에서 악의적으로 서명된 메시지를 모니터링합니다.

우리는 권력을 가진 당사자가 브리지 프로토콜을 속이려고 시도할 수 있는 상황을 고려해야 합니다.

1. 인증자는 데이터베이스 A 확인이 없는 메시지를 확인하고 서명합니다.

2. 거부권자는 데이터베이스 A가 승인한 메시지를 거부합니다.

첫 번째 경우, 인증 당사자가 수신자를 속이려고 시도하면 데이터베이스 A에서 인식되지 않는 디지털 서명을 임의로 생성했습니다. 모든 당사자는 서명을 받아 데이터베이스 A로 보내고 데이터베이스 A에 인증자를 처벌하도록 권한을 부여할 수 있습니다.

두 번째 경우에는 여전히 완전히 신뢰할 수 있는 역할이므로 프로토콜 내에서 반격할 수 있는 방법이 없습니다. 프로토콜 기록은 모든 참가자에게 공개되며 거부권은 사후에 투표로 취소될 수 있다는 점에 유의하는 것이 중요합니다. 그러나 정직한 메시지를 거부하는 것은 시간 기반 작업(예: 청산)에 의존하는 스마트 계약 클래스에 심각한 영향을 미칠 수 있으므로 그때쯤에는 피해가 이미 발생했을 수 있습니다.

합의 프로토콜(SPV) 일관성 확인

각 합의 프로토콜에 의해 합의된 블록뿐만 아니라 특정 거래에 대한 증명 및 보다 일반적인 데이터베이스 기록을 추적합니다.

두 번째 접근 방식에서는 다음과 같은 질문을 합니다.

데이터베이스 A에 대한 합의 합의를 추적할 수 있나요?

위에서 언급한 바와 같이, 모든 블록체인 네트워크에는 체인 최상단에서 주기적으로 새 블록을 생성하는 데 동의하는 합의 프로토콜이 있습니다. 블록은 데이터베이스에 대한 일괄 업데이트로 생각할 수 있습니다.

이 접근 방식의 목표는 데이터베이스 B에서 수신(메시지)되는 스마트 계약이 데이터베이스 A의 합의 프로토콜에 의해 생성된 데이터를 추적하고 신뢰할 수 있도록 하는 것입니다.

이를 달성하려면 합의 프로토콜은 기본적으로 라이트 클라이언트 친화적이어야 합니다.

라이트 클라이언트: 데이터베이스의 현재 상태를 알고 신뢰하려면 최소한의 계산과 데이터가 필요합니다.

즉, 라이트 클라이언트를 사용하면 사용자는 데이터베이스에 기록된 값을 알 수 있고 합의 프로토콜이 해당 데이터가 데이터베이스에 존재해야 한다는 데 동의하는지 확신할 수 있습니다.

라이트 클라이언트의 개념은 비트코인만큼 오래되었습니다.

비트코인 백서에서는 이를 SPV(Simplified Payment Verification) 모델이라고 부릅니다. SPV를 사용하면 사용자는 전체 비트코인 ​​데이터베이스의 복사본을 확인하고 저장할 필요 없이 실제로 비트코인을 받았는지 확인할 수 있습니다.

모든 블록 헤더는 체인 구조를 형성하며, 각 블록 헤더의 해시 값에는 작업 증명 결과가 포함됩니다.

SPV 프로세스는 다음과 같이 작동합니다.

암호화폐 약속. 각 블록 헤더에는 전체 비트코인 ​​데이터베이스를 나타내는 암호화 약속(메르켈 루트)이 포함되어 있습니다. 또한 블록 헤더에는 이전 블록에 대한 링크와 자체 작업 증명도 포함되어 있습니다.

가장 긴 체인을 확인하세요. 모든 사용자는 블록 헤더 데이터에 접근할 수 있어야 하며 지금까지 가장 긴 체인을 독립적으로 검증(PoW)해야 합니다.

증거를 포함하세요. 사용자가 자신의 블록 헤더 목록이 메인 체인을 나타낸다고 확신하면 누구나 데이터베이스의 특정 데이터에 대한 포함 증명(머클 루트)을 사용자에게 제공할 수 있습니다.

확신하는. 사용자는 관련 블록 헤더의 포함 증명을 교차 확인하고 데이터베이스의 특정 데이터에 대해 확신을 가질 수 있습니다.

비트코인 SPV 모델은 라이트 클라이언트 브리지 구축을 위한 기반으로 사용될 수 있으며, 이를 통해 다른 블록체인의 스마트 계약이 비트코인 ​​데이터베이스의 내용을 이해할 수 있습니다.

BTCRelay라는 오래된 프로젝트는 비트코인(데이터베이스 A)과 이더리움(데이터베이스 B) 사이에 라이트 클라이언트 브리지를 구현합니다. 이는 비트코인 ​​블록 헤더를 구문 분석하고, 증명을 포함하며, 작업 증명을 통해 가장 긴 체인을 추적하는 이더리움의 스마트 계약입니다. 궁극적으로 그 목적은 UTXO가 실제로 비트코인 ​​데이터베이스에 저장되어 있는지 확인한 다음 다른 스마트 계약이 이를 작동하도록 허용하는 것입니다.

불행하게도 BTCRelay는 시대보다 조금 앞서 있습니다. 완벽하게 작동하지만 많은 관심을 받지 못했습니다.

우리는 이 프로젝트에서 몇 가지 교훈을 배울 수 있습니다.

누적 가스 비용. 블록 헤더를 추적하려면 많은 온체인 트랜잭션이 필요하며 시간이 지남에 따라 재정적 비용이 발생합니다.

비트코인 포크에만 적용됩니다. BTCRelay는 비트코인 ​​코드베이스를 포크하는 블록체인과만 호환됩니다. 다양한 합의 프로토콜을 사용하는 블록체인은 각각의 라이트 클라이언트를 구체적으로 구현해야 합니다.

여전히 신뢰에 대한 합의가 필요합니다. BTCRelay는 작업 증명이 올바른지 여부만 확인할 수 있으며 블록 헤더가 유효한지 여부는 확인할 수 없습니다. 적대적인 채굴자가 유효한 작업 증명을 사용하여 악성 블록 헤더를 제작한 경우 브리지가 손상될 수 있습니다. ~6개의 확인을 기다리고 비트코인의 정직한 다수 가정(>51%의 채굴자가 정직함)에 의존하는 것이 여전히 필요합니다.

일부 연구에서는 여러 블록 헤더를 단일 업데이트로 집계하여 누적 가스 비용을 줄이는 기능에 중점을 두었습니다. 예를 들어 NIPPOWS와 Glimpse는 PoW 관련 라이트 클라이언트에 중점을 둡니다.

그러나 라이트 클라이언트 브리지 구축 철학을 따르는 다른 블록체인 네트워크의 많은 브리지를 통해 이미 성공의 빛이 보이고 있습니다.

  • 코스모스의 IBC

  • 레인보우 브릿지 근처

  • Ava의 P-체인

IBC와 P-Chain에는 서로 다른 합의 프로토콜을 추적하는 전용 레이어가 있습니다. 그들은 모두 합의 프로토콜을 따라 정직한 다수의 서명을 생성하지만, 합의 프로토콜이 기본 계층을 속이고 충돌하는 메시지에 서명하기로 결정하면 항상 결과가 발생하는 것은 아닙니다.

여전히 참가자들을 신뢰하고 있습니다. 더 잘할 수 있을까요?

모든 작업은 신뢰할 가능성이 가장 높은 당사자에게 신뢰를 전달하는 데 중점을 두고 있지만 결국에는 정직한 다수를 신뢰하는 데 달려 있습니다!

이 기사에 나열된 모든 브리지를 살펴보면, 비록 합의 프로토콜에 의해 단일 결정이 내려졌음을 보장하기 위해서라도 우리는 항상 브리지를 통해 전송된 메시지의 신뢰성을 보장해야 하는 중개자 집합에 의존합니다.

나는 보낸 사람의 데이터베이스에서 받는 데이터베이스로 메시지를 가져오는 데 도움이 되는 중개자 집합이 브리지에 항상 필요하다는 기본 요구 사항이 있다고 생각합니다.

이 전제를 받아들인다면 합의 프로토콜 참가자가 내린 결정을 추적하는 것이 합리적이라고 주장할 수도 있습니다. 왜냐하면 이것이 데이터베이스에 적용될 업데이트의 전체 순서를 결정하는 진실의 원천이기 때문입니다.

마지막 질문으로 이어집니다.

합의 프로토콜에 의해 내려진 결정의 유효성을 독립적으로 확인하는 브리지를 구축할 수 있습니까?

미묘한 차이가 있습니다.

브리지는 합의 프로토콜이 데이터베이스 업데이트의 전체 순서에 동의하는지 확인할 뿐만 아니라 업데이트 자체가 데이터베이스의 다른 모든 업데이트와 관련하여 유효한지 확인합니다.

이것이 가능하다면 수신자의 스마트 계약(데이터베이스 B)은 업데이트가 데이터베이스 A에 적용되었고 데이터베이스의 데이터가 실제로 유효하다는 것을 확신할 수 있습니다.

그런 다음 데이터베이스를 읽고, 관련 정보를 추출하고, 그에 따라 조치를 취할 수 있습니다.

이것이 가능합니까? 대답은 '예'입니다.

검증 브리지의 등장

데이터베이스 A의 합의 프로토콜을 재사용하여 모든 데이터 블록을 정렬할 수 있으며, 그런 다음 유효성 검사기 브리지는 데이터베이스 B가 업데이트될 때 모든 데이터 블록의 유효성을 독립적으로 확인할 수 있습니다.

검증 브릿지의 핵심은 결정이 내려졌는지 여부를 확인할 수 있을 뿐만 아니라 결정 내용이 올바른지 독립적으로 검증할 수 있도록 스마트 계약을 가능하게 하는 것입니다.

일반적인 아이디어는 라이트 클라이언트 브리지보다 몇 가지 단계를 더 수행하는 것입니다.

사기 및 타당성 증명. 대규모 계산의 정확성을 간결하게 확인할 수 있도록 라이트 클라이언트의 기능을 확장합니다.

데이터 가용성 계층. 합의 프로토콜은 데이터베이스 A를 재사용하여 블록을 정렬함으로써 데이터베이스 B에서 제거됩니다.

오픈 멤버십. 당사자가 모든 데이터베이스 업데이트 수행의 효율성을 스스로 지정하고 기여할 수 있도록 허용합니다.

검증 브리지 분석을 반복하지 않으려면 마지막 문제만 논의하면 됩니다.

이 문서에서는 다음 사항에만 중점을 둡니다.

데이터베이스 간에 메시지를 주고받는 기능입니다.

수신자에게 메시지의 신뢰성에 대한 확신을 주십시오.

브리지가 데이터베이스 간에 자산을 보유하거나 전송하는 방법에 대해서는 논의하지 않았습니다.

기본적으로 모든 브릿지는 메시지를 적시에 전달하고 수신자에게 메시지의 신뢰성을 확신시킬 책임이 있기 때문입니다.

자산과 부채

재무부는 데이터베이스 A에 토큰을 보유하고 브릿지 인증을 통해 데이터베이스 B에 동일한 양의 토큰을 발행합니다.

이제 각 데이터베이스에 스마트 계약을 배포할 수 있으며 스마트 계약은 브리지에서 메시지를 보내 상호 작용할 수 있습니다.

가장 일반적인 응용 프로그램은 자산을 데이터베이스 A에서 데이터베이스 B로(또는 그 반대로) 전송하는 것입니다.

이 두 가지 스마트 계약에는 다음이 포함됩니다.

국고. 자산 보관을 위해 데이터베이스에 스마트 계약을 보냅니다.

발행 된. 수신자의 데이터베이스에 있는 스마트 계약에는 금고에 있는 자산에 대한 IOU를 발행할 권한이 있습니다.

더 높은 차원에서 이 두 가지 스마트 계약은 자산을 다른 시스템으로 전송하려는 대부분의 사용자에게 매우 친숙한 입금/출금 프로세스를 구현할 수 있습니다.

입금 과정. 사용자는 데이터베이스 A의 볼트에 코인을 입금할 수 있고, 볼트는 브릿지를 통해 메시지를 보내 데이터베이스 B의 사용자 주소에서 동일한 양의 자산을 발행할 수 있습니다.

인출 과정. 사용자는 발행자에게 데이터베이스 B에서 토큰을 소각하도록 요청하고 브리지를 통해 메시지를 보내 볼트가 사용자의 주소에 동일한 양의 토큰을 릴리스하도록 함으로써 토큰을 인출할 수 있습니다.

이 설계의 이점 중 하나는 데이터베이스 A의 저장소에 대한 읽기 액세스 권한과 데이터베이스 B의 발급자에 대한 읽기 액세스 권한이 있는 사람은 누구나 자산이 부채를 포함하는지 확인할 수 있다는 것입니다. 즉, 발행된 토큰이 완전히 담보된 볼트로 뒷받침되는지 누구나 확인할 수 있습니다.

무엇 향후 계획?

암호화폐는 주목할만한 데이터베이스이자 브리지 프로젝트입니다.

물론 데이터베이스 주위에서 자산을 이동하고 대규모로 작동하게 하려면 브리지의 보안과 전송되는 정보의 무결성을 얼마나 신뢰하는지에 따라 달라집니다.

우리는 전송된 정보를 보호하기 위해 인간에게 의존하기 때문에 역사적으로 안전한 다리를 구축하는 데 실패했습니다. BitFinex, Binance, Bitstamp 및 최악의 MtGox를 포함한 대부분의 대형 거래소는 교량 사고로 인해 사용자 자금을 잃었습니다. 또한 블록체인을 통해 자금을 이체하기 위한 PolyNetwork, Ronin Bridge 및 Harmony와 같은 브리지가 있습니다.

커뮤니티로서 우리는 수년에 걸쳐 다양한 브리지 설계를 실험해 왔으며 일부는 신뢰할 수 있는 중개자에만 의존하는 반면 다른 일부는 중개자에서 각 블록체인의 합의 프로토콜로 신뢰를 전송하려고 시도했습니다.

검증 브리지는 한 단계 더 나아갑니다. 즉, 합의 프로토콜에 의해 내려진 결정을 신뢰하는 것뿐만 아니라 그것이 유효한 결정인지 확인하는 것입니다.

원본 링크:
Blockchain as a Database (Part 1)Bridging Databases (Part 2)

크로스체인
스마트 계약
안전
Odaily 공식 커뮤니티에 가입하세요