블록체인은 확장할 수 없습니다: 적어도 아직은 아니지만 희망이 있습니다(3)

星球君的朋友们
本文约3819字,阅读全文需要约15分钟
블록체인이 Dapp 생태계를 구축하고 주류로 가고 싶다면 먼저 확장성 문제를 해결해야 합니다.

이 기사는블루 폭스 노트이 기사는

(ID: lanhubiji), 저자: Preethi Kasireddy, 번역: Xinxin, 승인을 받아 복제됨.블록체인은 확장할 수 없습니다: 적어도 아직은 아니지만 희망이 있습니다(1)》、《이전 기사에서 계속 "》

블록체인은 확장할 수 없습니다: 적어도 아직은 아니지만 희망이 있습니다(1)

확장할 수 없는 블록체인: 적어도 아직은 아니지만 희망이 있습니다(2부).

시나리오 #5: 플라즈마

플라즈마는 최근에 도입되었으며 블록체인의 확장 가능한 컴퓨팅 문제에 대한 보다 유망한 솔루션 중 하나입니다. 플라즈마는 기본적으로 루트 체인(즉, 이더리움 메인 체인)에서 실행되는 일련의 스마트 계약입니다. 루트 체인은 "사기 증명"이라는 메커니즘을 통해 플라즈마 체인 상태의 유효성을 보장합니다. (참고: 사기 증명은 수학적 증명을 통해 블록의 유효성을 결정하는 메커니즘입니다.)

출처: 플라즈마 백서

블록체인은 트리와 같은 계층 구조로 구성되며 각 분기는 자체 블록체인 히스토리와 맵 축소 가능한 계산 정보를 포함하는 하위 체인입니다. 우리는 이러한 차일드 체인을 "플라즈마 블록체인"이라고 부르며 모두 특정 블록체인에 속합니다.

출처: 플라즈마 백서

플라즈마 블록체인은 체인의 내용을 루트 체인(예: 이더리움)에 노출하지 않습니다. 대신 블록 헤더의 해시만 루트 체인에 커밋되며 이는 블록을 검증하기에 충분합니다. 사기 증명이 루트 체인에 커밋되면 블록이 롤백되고 블록 작성자가 불이익을 받습니다. 즉, 비잔틴 조건 하에서 루트 체인에만 데이터를 커밋합니다. 따라서 루트 체인은 하위 체인의 소수 제출만 처리하므로 루트 체인으로 전송되는 데이터의 양이 줄어들고 더 많은 계산이 가능합니다.

출처: 플라즈마 백서


또한 데이터는 특정 상태를 확인하려는 노드에만 전파됩니다. 이렇게 하면 모든 노드가 모든 체인을 모니터링해야 하는 요구 사항이 제거되어 계약 실행의 확장성이 향상됩니다. 경제적 이익에 영향을 미치는 체인만 모니터링하면 올바른 행동을 시행하고 사기를 처벌할 수 있습니다. 사기 증명을 통해 모든 당사자가 불법 블록을 보고할 수 있으므로 모든 상태 전환이 확인됩니다. 또한 특정 체인에서 공격이 발생하면 참가자는 이 신뢰할 수 없는 하위 체인을 빠르고 저렴하게 종료할 수 있습니다.

출처: 플라즈마 백서

플라즈마는 오프체인 트랜잭션을 처리하는 상태 채널 구현(라이트닝 네트워크 등)과 다소 유사할 수 있습니다. 상태 채널과 플라즈마의 주요 차이점은 플라즈마에서 모든 참가자가 상태를 업데이트하기 위해 온라인 상태일 필요는 없다는 것입니다. 또한 참가자는 트랜잭션을 실행하고 확인하기 위해 루트 체인에 데이터를 제출할 필요가 없습니다. Plasma의 독창적인 부분은 Lightning Network와 같은 상태 채널 유형 체계가 빠른 지불을 위한 주요 인터페이스 레이어가 될 수 있고 Plasma는 최소 루트 체인 상태 제출을 통해 상태 업데이트를 유지한다는 것입니다.

출처: 플라즈마 백서

이 계획에는 복잡한 세부 사항이 많이 있으며 다음 기사에서 계속해서 파고들기를 바랍니다.

첫 번째 레벨 제목

시나리오 #6: 오프체인 계산(예: TrueBit)

이더리움 스마트 계약에서 확장 가능한 트랜잭션을 구현하기 위해 오프체인 계산을 사용하는 Truebit 솔루션의 예입니다. 기본적으로 상태 채널과 마찬가지로 TrueBit은 블록체인 외부 계층을 사용하여 집중적인 계산을 수행합니다.

즉, 이 시스템에서는 이전에 온체인에서 실행된 값비싼 트랜잭션이 검증 가능한 방식으로 오프체인에서 실행됩니다. 작업 흐름은 다음과 같습니다. 모든 노드가 참여하는 대신 "솔버"라고 하는 네트워크의 특별한 참여자가 스마트 계약의 계산을 실행하고 문제의 결과를 제출하고 일정 보증금을 지불합니다.

확인 게임은 다음과 같이 진행됩니다. 솔버의 작업을 오프체인에서 확인하는 "검증자"라는 네트워크 참가자가 있습니다. 유효성 검사기가 오류 알림을 발행하지 않으면 시스템이 결과를 수락합니다. 검증자가 솔버 결과의 정확성에 이의를 제기하면 게임은 블록체인에서 여러 라운드를 실행하여 이 문제를 중재하고 네트워크의 컴퓨팅 리소스가 제한된 "심판"이 모든 문제를 판결합니다. 시스템 아키텍처는 심판이 온체인에서 수행하는 작업이 실제로 오프체인에서 수행되는 작업에 비해 사소하다는 것을 보장합니다.

이미지 설명

출처: 플라즈마 백서

TrueBit이 제안한 오프체인 컴퓨팅 프레임워크의 개략적인 블록 다이어그램

텍스트

요약하면 프로토콜은 누구나 컴퓨팅 작업을 제출할 수 있도록 하고 다른 사람은 작업을 완료하면 보상을 받을 수 있으며 시스템의 인센티브 구조는 반환된 결과의 정확성을 보장할 수 있습니다. 이더리움에서 별도의 프로토콜로 계산 및 검증 프로세스를 이동함으로써 대량의 계산을 처리하는 시스템의 능력을 이더리움의 가스 한도에 제약받지 않고 확장할 수 있습니다.

텍스트

기타 블록체인 확장 솔루션

암호화폐 커뮤니티에 떠오른 몇 가지 다른 흥미로운 계획이 있습니다. 이러한 솔루션은 확장성 해결을 직접적으로 목표로 하지 않지만 일부 확장성 문제를 간접적으로 쉽게 해결할 수 있습니다. 지분 증명: 작업 증명과 마찬가지로 지분 증명은 이중 지출을 방지하여 블록체인 보안을 지원하는 합의 메커니즘입니다. 기존의 작업 증명 기반 블록체인에서 채굴자는 컴퓨팅 집약적인 문제를 해결하기 위해 경쟁하여 블록체인 데이터의 무결성을 유지하고 작업 증명의 수학적 퍼즐을 풀면 보상을 받습니다.

이 시점에서 그들은 CPU 컴퓨팅 파워를 사용하여 트랜잭션을 확인하고 CPU 컴퓨팅 파워가 높을수록 전체 네트워크에 영향을 미치는 능력의 비율이 높아집니다. 지분 증명에서 지분 보유자는 컴퓨팅 성능이 아닌 "달러"(Ether in Ethereum)를 사용하여 투표합니다.

이것이 정확히 어떻게 작동합니까?

블록체인은 검증 블록에 참여할 수 있도록 보안 담보("스테이킹"이라고 함)를 제공해야 하는 "검증자"라고 하는 특정 검증 노드를 추적합니다. 유효성 검사기가 프로토콜에 의해 암호학적으로 "불법"으로 입증된 것을 생성하는 경우 합의 프로세스에 참여할 수 있는 지분과 특권이 박탈됩니다. 컨센서스 결과에 베팅하면 담보와 거래 수수료를 돌려받을 수 있습니다.

실제로 유효성 검사기는 최종 합의에 올바르게 베팅하여 돈을 벌 수 있으며 잘못 베팅하면 돈을 잃을 수 있습니다. 작업 증명과 유사한 점은 각 채굴자가 승인될 블록에 해시 파워를 걸고 있다는 것입니다. 그들이 시스템을 속이기 위해 잘못된 베팅을 선택하면 그들이 생산하는 모든 블록이 고아가 되어 돈을 잃게 됩니다.

검증자에게 보상을 분배하는 다양한 유형의 지분 증명 합의 알고리즘과 다양한 메커니즘이 있으며, 이 기사에서는 자세히 다루지 않습니다.

지분 증명은 확장성을 어떻게 향상시키나요?

한 가지 예는 샤딩과 함께 사용하는 것입니다. 샤딩과 작업 증명은 함께 보안을 보장하기 어렵습니다. 샤딩을 사용하면 유효성 검사기의 책임을 여러 노드에 분산하므로 각 노드가 모든 작업을 처리할 필요가 없습니다.

그러나 작업 증명은 완전히 익명으로 구현되어 단일 샤드가 채굴자의 해시 파워 중 극히 일부만 포함하여 안전하더라도 공격자가 모든 해시 파워를 공격에 사용할 수 있다는 문제가 발생합니다. 샤드 전체 네트워크에 도전하십시오. 예를 들어 A와 B라는 두 개의 샤드가 있습니다.

A는 해싱 파워의 90%를 가지고 있고 B는 10%를 가지고 있습니다. A는 B를 공격하기 위해 총 해싱 파워의 5.1%만 사용하면 됩니다(대부분의 51% 공격 덕분에). 이더리움의 현재 지분 증명 제안은 이 모든 것을 바꿀 것입니다. 그 설계에 의해 유효성 검사기가 특정 ID(즉, 이더리움 주소)를 갖게 되기 때문입니다.

그들의 신원을 알면 우리는 샤드에서 주어진 트랜잭션 세트를 처리하기 위해 전체 유효성 검사기 세트에서 일부 노드를 무작위로 선택하여 공격자가 특정 샤드 공격을 목표로 삼는 것을 불가능하게 함으로써 이러한 유형의 표적 공격을 해결할 수 있습니다.

Proof-of-Stake가 확장성(특히 이더리움)을 향상시킬 수 있는 또 다른 이유는 블록을 검증하는 채굴자에게 새로운 토큰을 발행하는 작업 증명과 달리 Proof-of-Stake에서 검증인은 거래 수수료만 받을 가능성이 높기 때문입니다. 따라서 검증 서버가 해당 부하를 감당할 수 있는 경우 블록 "가스 한도"(각 블록에 더 많은 트랜잭션이 포함되어 더 많은 트랜잭션 수수료를 얻을 수 있기 때문에)를 늘릴 인센티브가 있습니다.

검증자는 다른 검증자가 감당할 수 있는 지점까지만 가스 제한을 늘릴 수 있습니다. 그렇지 않으면 다른 느린 검증자가 동기화를 중단함에 따라 보상이 줄어들게 됩니다.

블록체인 임대

또 다른 이더리움 전용 ​​솔루션은 "블록체인 임대"입니다. 블록체인 리스는 네트워크에 저장되는 데이터의 양을 줄여 트랜잭션 수를 빠르게 하는 데 도움이 되는 솔루션입니다. Ethereum에서 사용자는 컴퓨팅 단계, 메모리, 트랜잭션 로그 및 영구 저장소에 대한 비용을 지불합니다. 이러한 리소스의 대부분은 합당한 인센티브로 비용을 지불하지만 스토리지는 그렇지 않습니다.

현재 시스템에서 사용자는 저장된 바이트 수에 대해서만 비용을 지불합니다. 그러나 실제로 스토리지는 블록으로 영구적으로 유지되기 때문에 다른 리소스와 다르다고 주장할 수 있습니다. 대신 블록체인 임대 제안은 스토리지 소비를 "바이트 x 시간"으로 정의합니다. 이러한 방식으로 네트워크를 가볍게 유지하고 트랜잭션 수를 줄이기 위해 프로토콜에 인센티브가 내장되어 있습니다.

네트워크를 가볍게 유지하는 또 다른 방법은 Swarm과 같은 분산형 스토리지 서비스를 사용하는 것입니다. Swarm은 이더리움의 피어 투 피어 파일 공유 프로토콜입니다.메인 체인에서 애플리케이션 코드와 데이터를 Swarm 노드로 이동할 수 있습니다.이 노드는 이더리움의 메인 체인에 연결되고 이 데이터를 메인 체인과 교환합니다.

여기서 기본 전제는 노드가 모든 것을 블록체인에 저장하지 않고 로컬에서 자주 요청되는 데이터만 저장하고 다른 데이터는 Swarm을 통해 "클라우드"에 저장한다는 것입니다.

출처: 플라즈마 백서

결론적으로

더 많은 옵션이 있지만 간결함을 위해(이 문서는 이미 매우 깁니다) 여기서는 다루지 않겠습니다.

결론적으로

 -----

이 주제는 매우 복잡하지만 이 기사를 통해 블록체인 확장성이 중요한 이유와 이를 해결할 수 있는 방법을 전체적으로 파악할 수 있기를 바랍니다. 이것은 결코 완전한 목록이 아니며 연구가 진행됨에 따라 이 주제에 대한 후속 조치를 계속할 것입니다. 개인적으로 저는 확장성에 대한 완벽한 답이 있다는 것에 매우 회의적입니다... 그러나 저는 접근 방식의 일부 조합이 마침내 이 문제를 해결하고 블록체인 응용 프로그램이 앞으로 나아갈 수 있다고 믿습니다.

언제나 그렇듯이 내가 틀렸다면 자유롭게 수정하거나 의견에서 (합리적인) 토론을 시작하십시오. 블록체인과 함께하세요!