블록체인 퍼블릭 체인이 어떻게 더 빨리 일어날 수 있습니까?
편집자 주: 이 기사의 출처는체인 뉴스 ChainNews편집자 주: 이 기사의 출처는

체인 뉴스 ChainNews
(ID: chainnewscom), 저자: Sinovation Ventures 전무이사 Wang Jiaping, Odaily에서 허가를 받아 발행함.
2008년 11월에 발표된 Satoshi Nakamoto의 논문 "Bitcoin: A Peer-to-Peer Electronic Cash System"에서 계산하면 비트코인은 10주년을 앞두고 있습니다. 지난 10년 동안 비트코인과 그 이면에 있는 블록체인 기술은 번성했으며 탈중앙화 기술이라는 이름으로 온라인 디지털 세계 전체를 변화시키려는 큰 추진력과 야망을 가지고 있습니다.
그러나 야망은 야망에 속하며 특히 퍼블릭 체인 분야에서 번성하는 블록체인 기술에는 아직 돌파하지 못한 병목 현상이 있습니다. 대용량, 고처리량 인프라는 인터넷 수준의 애플리케이션도 전달할 수 없습니다.
이것은 전 세계적인 문제이며 세계에서 가장 똑똑한 학자와 개발자들이 이를 해결하기 위해 노력하고 있습니다. 마이크로소프트 연구소 책임연구원으로 마이크로소프트에서 오랫동안 분산시스템 연구에 몰두하며 마이크로소프트 퇴사 후 이노베이션웍스에서 블록체인 및 인공지능 투자담당 전무를 역임했다. . 분산 시스템에 대한 수년간의 연구 경험과 블록체인 투자 분야에서 여러 퍼블릭 체인 프로젝트를 평가한 경험을 통해 완전히 분산된 시스템에서 고성능 설계를 달성하는 것이 극히 어렵다는 것을 깊이 이해하게 되었습니다. .
블록체인 퍼블릭 체인의 성능 병목 현상과 솔루션에 대해 업계에서 많은 논의가 있는 것을 봅니다.그 중 일부는 통찰력이 풍부하고 많은 이점이 있지만 많은 오류가 있으며 많은 그럴듯한 의견이 있습니다. 토론을 오도할 위험이 있는 자신의 프로젝트 홍보. 업계 최고의 학자, 개발자 및 투자자들과 심도 있는 교류를 많이 한 후, 그들은 모두 저에게 제 견해를 공유하도록 격려해 주었습니다. 두 번 생각한 끝에 이 주제에 대한 저의 겸허한 의견을 기록하기로 했습니다. 제 생각의 일부가 침전될 수 있도록 하고 동시에 이 주제에 관심이 있는 더 많은 동료들과 토론을 했으면 합니다.
보조 제목성능 병목 현상에만 집중하지 말고 용량 병목 현상을 무시하십시오.먼저 내 결론 중 하나에 대해 이야기하겠습니다. 금융과 같은 애플리케이션이 주류 애플리케이션 시나리오인 현재 상황에서,
블록체인 시스템의 가장 중요한 성능 병목 현상은 블록 데이터의 브로드캐스트 지연으로 인해 발생합니다.「Chain of Blocks」, 처리량 TPS를 직접적으로 제한하는 인터넷의 대역폭 및 통신 지연에 의해 본질적으로 제한됩니다.경우에만。
작업증명 PoW, 지분증명 PoS, 비잔틴 내결함성 BFT, 위임지분증명 DPoS 등 시스템에서 어떤 합의 알고리즘을 사용하든 다음 블록이 발행되기 전에는 이전 블록이 전체 네트워크에 있는지 확인해야 합니다. 특정 동기화 속도가 있어 각 블록이 너무 클 수 없으며 블록 빈도가 너무 높을 수 없습니다. 그런 다음,이 문제에 대한 해결책 없음여기에 언급된 블록체인 시스템은 구체적으로 다음과 같은 특징이 있는 "체인 오브 블록(Chain of Blocks)" 시스템을 의미합니다.「Graph of Blocks」시스템이 궁극적으로 단일 연결 목록 구조로 수렴할 수 있는지 확인
, 이 체인 위의 블록만 확인되며, 반례는 다음과 같습니다.DAG 구조 IOTA와 같은 시스템이 채택되었습니다.데이터 센터의 고속 링크 기반의 EOS와 같이 물리적 네트워크의 대역폭과 지연을 무시할 수 있다고 가정하면,
시스템의 두 번째 병목 현상은 제한된 책 용량입니다., 본질적으로 단일 전체 노드의 메모리 용량에 의해 제한되며, 이는 얼마나 많은 사용자 주소와 얼마나 많은 DApp이 체인에서 수행될 수 있는지를 직접적으로 제한합니다. 어떤 합의 알고리즘을 사용하든지 사용자가 언제든지 트랜잭션 검증/실행 프로세스에 참여할 수 있는 한, 하나의 풀 노드는 전체 네트워크의 각 사용자와 각 DApp의 상태를 메모리에 항상 유지해야 합니다. 트랜잭션에 대한 실시간 액세스를 확인합니다.비트코인 블록체인, 이더리움, EOS 등을 포함하여 현재 주류인 모든 "체인 오브 블록" 시스템은 이 문제를 가지고 있으며, 동일합니다.
이 질문도 풀리지 않는다.. RocksDB와 같은 다단계 캐시 데이터베이스 기술은 이 제한을 약간 개선할 수 있으므로 활성 사용자만 메모리에 의해 제한되고 전체 사용자 기반은 하드 디스크 용량에 의해 제한됩니다. 그러나 이것은 근본적으로 문제를 해결하지 못합니다.
"용량" 문제는 처리량보다 훨씬 적은 관심을 받았는데 그 이유는 간단합니다. 처리량의 단점이 해결되지 않았기 때문에 용량 문제가 은폐되었습니다.처리량이 크게 향상되면 용량 문제가 즉시 나타납니다. 처리량이 많은 시스템에서 사용자 수가 증가하지 않으면 고성능이 전혀 실행되지 않을 수 있습니다. .대표적인 예가 EOS입니다.
EOS가 탈중앙화 기능을 잃는 대가로 처리량 문제를 해결했을 때 용량 문제가 즉시 두드러졌습니다.그런 다음 EOS는 책 용량 병목 현상을 희소한 리소스로 패키징하여 EOS RAM 가상 통화로 토큰화했습니다. 물론 메모리 외에 하나의 풀노드 CPU도 용량 병목현상이 생기기 때문에 이것도 토큰화되어 EOS CPU 가상화폐가 된다. 그러나 금융과 같은 애플리케이션 시나리오에서는 일반적으로 계산 복잡성이 매우 낮기 때문에 메모리가 주요 병목 현상이 됩니다.합의 알고리즘은 실제로 성능 및 용량 병목 현상을 해결할 수 없으며, 비전통적인 합의 알고리즘을 기반으로 "Chain of Blocks" 시스템의 성능을 향상시키려는 시도는 기본적으로 시스템 성능을 크게 향상시키지 않습니다.
. 요컨대 위에서 언급한 두 가지 병목 현상을 해결하려면 합의 알고리즘 및 암호화와 관련된 분산 시스템 설계의 독창성이 필요하지만 본질적인 출발점은 합의 알고리즘 및 암호화가 아닙니다.
보조 제목
성능 병목 현상: 블록 프로듀서가 하는 일
우선 블록 생성 노드도 풀 노드로서 전체 네트워크의 확인된 블록과 미확인 트랜잭션을 받아들이고 체인을 구성하여 원장의 최신 상태를 지속적으로 유지한 다음 새로운 추가를 시도할 기회를 잡습니다. 사슬 끝에 있는 블록. 어떤 합의 알고리즘을 사용하든 다음 단계를 거칩니다.
첫 번째 단계에서 장부의 최신 상태에 따라 확인되지 않은 거래 집합에서 확인된 합법적 거래를 선택한 다음 새 블록을 구성합니다.
두 번째 단계는 이 새로운 블록에 대한 블록 생산권을 놓고 경쟁 또는 후보에 참여하는 것으로 이 단계에서 가계부 상태가 업데이트, 즉 다른 노드가 성공적으로 업데이트되어 중단될 확률이 높습니다. 블록을 생성하고 첫 번째 단계로 돌아갑니다.세 번째 단계는 블록 생성 권한을 획득한 후 새 블록을 전체 네트워크에 브로드캐스팅하고 가계부 상태를 업데이트한 다음 첫 번째 단계로 돌아가는 것입니다.서로 다른 합의 알고리즘의 핵심 차이점은 경쟁의 두 번째 단계를 완료하거나 블록을 생성할 수 있는 후보를 완료하는 방법에 있습니다. 하지만
이러한 모순으로 인해 각 블록이 상대적으로 크고 더 많은 트랜잭션을 포함할 수 있는 경우 다음 블록이 생성되기 전에 블록이 전체 네트워크에 완전히 전파되도록 상대적으로 긴 블록 간격을 가질 필요가 있습니다.
전파가 충분하지 않으면 PoW 및 PoS 시스템에서는 더 높은 포크 속도와 유효하지 않은 블록으로 나타납니다. 반면 BFT 시스템에서는 더 높은 실패율 블록이 2/3를 얻지 못하는 것으로 나타납니다. 동의 티켓.
보조 제목
작업 증명 및 지분 증명PoW는 Hash Target을 설정하여 Hash 값이 특정 값보다 작아야 합니다.예를 들어 256비트 Hash 값을 큰 정수로 취급합니다. Hash 값은 새로운 블록 데이터와 Nonce 데이터를 기반으로 계산되어야 합니다. Nonce에 해당하는 Hash Target을 만족하는 노드를 찾으면 블록 생성 권한이 생깁니다. Nonce는 임의의 철저한 방법을 통해서만 찾을 수 있기 때문에 이 경쟁은 Hash의 컴퓨팅 성능을 계산하는 경쟁으로 변모합니다. Peercoin과 같은 PoS는 PoW의 변형으로 코인 에이지를 소비하여 Hash Target을 높이는 메커니즘을 도입하여 블록 생성력 경쟁을 부분적으로 디지털 통화 보유 시간과 양으로 대체할 수 있습니다.PoW 메커니즘의 가장 큰 장점은 간단한 알고리즘을 사용하여 완전히 무허가 무허가 블록 생산 권한의 무작위 할당을 실현한다는 것입니다.경쟁 노드 간의 조정 및 통신이 필요하지 않으며 쉽게 할 수 있습니다. 많은 수의 블록 생산 노드를 지원합니다. 우수한 탈 중앙화 특성을 가진 경쟁. 바로 이것 때문인데요,
이 알고리즘은 블록 브로드캐스트 지연과 블록 간격 사이에 모순을 초래합니다.블록 생성 간격이 짧으면 새 블록이 전체 네트워크에 완전히 브로드캐스트되기 전에 다른 채굴자가 동일한 높이에서 또 다른 새 블록을 생성하는데, 이를 포크라고 합니다. 이 경우 결국 블록 중 하나는 ophaned에 의해 폐기됩니다. 이런 일이 발생할 확률이 너무 높으면 안 됩니다. 그렇지 않으면 원래 51% 컴퓨팅 파워 공격 벤치마크 Selfish Mining이 크게 줄어들고 극단적인 경우 포크가 안정적인 수렴에 도달하지 못할 수도 있습니다.
블록 브로드캐스트 지연은 주로 블록 크기와 전체 네트워크의 노드 간 대역폭에 의해 결정됩니다.현재 인터넷 환경에서는 90% 이상의 노드에 브로드캐스트하는 데 약 10초가 걸립니다. 따라서 비트코인 네트워크에서 약 10분의 블록 간격은 블록 포크의 확률을 극도로 낮춥니다. 2018년 상반기 동안 포크는 두 개뿐이었습니다. 이더리움 네트워크에서 약 15초의 블록 간격은 비트코인보다 블록이 훨씬 작더라도 블록 포크 확률을 약 10%로 유지합니다. PoW의 블록 생성 간격은 통계적 의미이며 실제 상황은 블록 생성 간격이 크고 작으며 통계적 기대치는 10분입니다. 이는 전체 네트워크의 컴퓨팅 파워 변동에 의한 것이 아니라, Nonce를 찾는 과정이 랜덤 프로빙 과정이기 때문에 많은 마이닝 풀이 자체 행운 가치 곡선을 부여했습니다.
비트코인 네트워크의 경우 10분 블록 간격은 사실 오늘날의 인터넷 환경에서 큰 유보사항입니다.블록 브로드캐스트 지연의 근본적인 모순으로 인해 이 개선은 어느 정도만 효과적입니다.또한 언급할 가치가 있습니다.고스트 프로토콜
. 프로토콜은 포크할 때 허용되는 포크를 결정하는 새로운 기준을 제공합니다. 그것은 Satoshi Nakamoto가 원래 제안한 가장 긴 체인 원칙을 가장 많은 컴퓨팅 성능을 포함하는 하위 트리로 변경합니다. 두 기준은 포크 확률이 매우 낮을 때 완전히 동일하지만 ETH의 10% 포크와 같이 확률이 상대적으로 높을 때 GHOST 프로토콜은 이기적 채굴을 방지하고 보안을 향상시킬 수 있습니다. 하지만GHOST 프로토콜의 채택 여부에 관계없이 퍼블릭 체인의 성능에 실질적으로 도움이 되지 않습니다.PoW의 컴퓨팅 성능은 블록체인 시스템의 성능과 아무런 관련이 없으며 해시 알고리즘을 가속화하는 소프트웨어나 하드웨어는 단위 시간당 블록체인 시스템의 처리량을 향상시키지 않습니다.
게다가,이것이 비트코인 블록체인 전체 네트워크의 해시 컴퓨팅 성능이 수조 배 증가했지만 처리량은 항상 약 7 TPS인 이유입니다.게다가,채굴에 투자되는 에너지의 총량은 각 광산이 설립될 때 결정되기 때문에 보다 에너지 효율적인 채굴 기술이나 장비가 등장하면 컴퓨팅 파워를 위한 경쟁으로 모든 채굴자들이 새로운 기술을 적용하게 될 것이며 이는 결국 세계화를 견인할 것입니다. 광업 산업 네트워크의 광업 난이도는 그 이상입니다.
따라서 실제 총 에너지 소비량은 거시적으로 통화 가격, 전기 가격 및 디지털 통화에 대한 투자 신뢰도와만 관련이 있으며 채굴 효율성과는 아무런 관련이 없습니다.
보조 제목
비잔틴 내결함성 BFT비잔틴 내결함성 합의 알고리즘은 임의의 알고리즘을 사용하여 IP 주소 대신 원장의 디지털 통화 주소를 기반으로 각 블록의 노드를 결정합니다. 블록 후보에 참여하는 모든 노드는 경쟁할 필요가 없습니다. 새 블록은 검증자 그룹인 위원회의 모든 구성원이 검증 및 서명하고 투표한 다음 전체 네트워크에 방송한 후 다음 블록 프로세스를 시작합니다.
PoW와 달리 BFT 블록 후보는 최소 O(n^2) 통신 복잡성을 포함하는 협업 프로세스인 반면 PoW는 블록 경쟁 과정에서 통신 비용이 필요하지 않습니다. BFT 기반 협업 프로세스는 포크로 이어지지 않으며, 희소한 리소스 컴퓨팅 파워나 코인 에이지를 소모할 필요가 없습니다. 전체 네트워크 프로세스는 전체 네트워크에서 수행될 수 없습니다. 그렇기 때문에 BFT와 같은 알고리즘은 분명히 위원회 구성 프로세스를 포함하고 검증 서명은 작은 범위에서만 발생하며 나머지 사람들은 그냥 신뢰합니다.
Algorand와 같은 최근의 많은 BFT 기반 퍼블릭 체인 프로젝트는 이 위원회를 안전하고 공정하게 선출하는 방법에 대해 많은 작업을 수행했지만 이러한 작업은 시스템 성능 향상과 직접적인 관련이 없습니다.BFT 알고리즘의 투표는 일반적으로 시빌 공격을 피하기 위해 가중치가 부여됩니다. 그리고 이 가중치는 대부분 참여자의 권익과 관련이 있는 것으로 PoS의 정신과 유사하며, 현재 많은 사람들이 BFT의 이러한 투표 알고리즘을 PoS 알고리즘이라고 부릅니다. 사실 BFT와 같은 합의 알고리즘과 처음에 제안한 PoS 알고리즘(예: Peercoin)은 근본적으로 다른 메커니즘입니다.
위에서 다른 BFT 알고리즘에 대한 블록 생산자와 위원회 구성원을 선택하는 과정은 시스템의 성능과 거의 관련이 없다고 언급했습니다. PoW/PoS와 마찬가지로 처리량 성능은 각 블록의 크기와 블록 생성 주기에 따라 달라집니다. BFT 시스템에서 각 블록을 상대적으로 크게 허용하려면 상대적으로 블록 생성 기간이 길어야 새로 생성되는 블록과 해당 위원회 서명 데이터가 완전히 전파될 가능성이 높습니다. 위원회 내에서.이론적으로 위원회의 규모는 전체 네트워크보다 훨씬 작으며 BFT 알고리즘의 브로드캐스트 지연은 같은 규모의 PoW/PoS 네트워크보다 작을 것입니다. 사실 이것은 사실이지만 Gossip 프로토콜을 기반으로 한 브로드캐스트 지연은 선형이 아니라 네트워크 크기의 로그에 비례하므로 브로드캐스트 지연이 훨씬 적지 않습니다. 또한 BFT 알고리즘은 주기적인 글로벌 동기화와 같은 일부 추가 보안 조치에 의존하므로 실제로는
BFT와 유사한 알고리즘은 PoW/PoS 시스템에 비해 성능상의 이점이 많지 않습니다.
보조 제목
어떤 알고리즘을 사용해도 성능은 크게 향상되지 않습니다.그러나 Gossip 프로토콜을 기반으로 전체 전파를 달성하는 시간은 전파되는 데이터의 양과 선형 관계가 있고 전파되는 노드 수와 대수 관계가 있으므로 BFT는 전파 지연에 큰 이점이 없습니다.
그 결과 어떤 알고리즘을 사용하든 블록 크기와 블록 간격 사이에 양립할 수 없는 모순이 있어 성능을 크게 향상시킬 수 없습니다.
보조 제목용량 병목 현상: 블록을 생성하지 않는 전체 노드는 무엇입니까?단일 체인 "체인 체인" 시스템에는 대략 세 가지 유형의 노드가 있습니다.
블록을 생성하는 풀 노드, 블록을 생성하지 않는 풀 노드, 경량 노드.
블록 생성 여부와 상관없이 전체 노드는 새로운 블록과 확인되지 않은 트랜잭션을 브로드캐스트합니다.여기서 브로드캐스트 작업은 주요 트래픽과 디스크 I/O 로드를 차지합니다.TPS의 경우 Ethereum geth Say는 12개뿐입니다. , 이 트래픽은 약 1.5Mbps입니다.새로운 블록과 미확인 트랜잭션의 실시간 검증을 완료하기 위해서는 모든 사용자 계정 장부와 모든 스마트 계약 상태가 메모리에 상주해야 하며 메인 메모리 오버헤드를 점유합니다.현재 이더리움 규모는 거의 4GB의 메모리를 차지합니다. 모든 풀 노드는 이러한 부하를 견뎌야 하며 PoW 채굴 노드 또는 PoS 검증 노드를 생성하려면 추가 작업이 필요합니다. 이러한 로드의 가격은 안전하고 완전한 탈중앙화를 위해 교환되며, 모든 풀노드는 사전에 다른 노드를 신뢰할 필요가 없으며, 모든 풀노드는 다른 풀노드를 속일 능력이 없습니다.일반적인 전체 노드의 가치는 두 가지 측면에서 반영됩니다.
Relay는 법적 데이터를 브로드캐스트하고 사용자 또는 경량 노드가 쿼리할 수 있도록 전체 네트워크 계정 장부의 최신 상태를 유지합니다.예를 들어, 모바일 지갑과 같은 경량 노드는 브로드캐스팅 블록 데이터나 미확인 트랜잭션을 검증하거나 중계하지 않고 미리 설정된 하나 이상의 풀 노드에 의존하고 신뢰하며 이러한 풀 노드를 통해 특정 사용자의 상태를 획득하고, 계정 잔액과 같은 거래를 시작하십시오. 경량 노드 자체는 정보의 진위를 확인할 수 있는 능력이 없으며 블록체인 세계의 터미널에 가깝습니다.단일 체인 "체인 오브 블록" 시스템의 경우 시스템의 처리량 TPS가 100배 증가하면 150Mbps의 통신량이 필요하거나 사용자 규모가 100배 확장되면 400GB의 메모리가 필요합니다.그래서 기본적으로 인터넷에 있는 대부분의 일반 서버는 전체 노드를 원활하게 배포할 수 없습니다.풀 노드는 전문 마이닝 팜에서만 운영할 수 있고 일반인이 독립적으로 풀 노드를 배치할 수 없다면 전체 시스템은 여러 곳에 배치되는 중앙 집중식 클라우드 서비스로 변질되어 공격 및 차단에 취약해집니다.
따라서 이 두 가지 병목 현상은 블록 생성 노드뿐만 아니라 일반 풀 노드에서도 해결해야 합니다.
보조 제목마음을 바꾸고 새로운 탈출구를 찾아보는 건 어때?
우리는 이미 성능 병목 현상과 용량 병목 현상에 대해 언급했으며 현재 단일 체인 "체인 블록" 시스템에서는 특히 용량 병목 현상을 크게 개선하기 어렵습니다. 이것이 소위 블록체인 불가능 삼각형의 기원입니다. 컴퓨터 기술 개발의 역사를 통틀어 대규모 성공을 이룬 대용량 및 고처리량 설계 패러다임은 단 하나뿐입니다.
스케일 아웃 스케일 아웃.예를 들어 GPU는 공통 성능을 가진 수천 개의 코어를 사용하여 병렬로 작업하여 CPU의 컴퓨팅 성능을 몇 배나 능가하는 성능 향상을 달성하고 GPU가 의존하는 반도체 기술은 CPU와 근본적으로 다르지 않습니다. 칩. 또 다른 예는 오늘날의 온라인 클라우드 서비스 시스템이 대용량 및 높은 처리량으로 온라인 서비스를 지원하기 위해 병렬로 작업하기 위해 평범한 성능을 가진 수천 또는 수만 개의 서버를 사용한다는 것입니다.
여기서 나는 대담하게 상상할 수 있습니다.
아마도 대용량 및 고처리량 블록체인 시스템은 유사한 솔루션이 될 것입니다. 즉, 수천 개의 동종 단일 체인 인스턴스가 병렬로 함께 작동하고 전체 네트워크의 작업 부하를 분할하여 전반적인 대용량 및 높은 처리량을 달성할 수 있습니다.


