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

알고랜드 수석과학자 국내 온라인 공유

星球君的朋友们
Odaily资深作者
이 기사는 약 10966자로, 전체를 읽는 데 약 16분이 소요됩니다
알고랜드 본체의 합의 합의 돌파구, 핵심 기술적 이점 및 기술적 특징
AI 요약
펼치기
알고랜드 본체의 합의 합의 돌파구, 핵심 기술적 이점 및 기술적 특징

2019년 3월 15일, CryptoGeek는 알고랜드의 미스테리한 창립 팀원인 수석 과학자 첸 징 박사를 커뮤니티에 초대하여 알고랜드의 발전과 중요한 기술적 이점 및 특징에 대해 대화를 나눌 수 있어 매우 영광이었습니다. 이 이벤트는 지식과 전문성의 충돌로 묘사되며 업계의 블록체인 기술 애호가들로부터 널리 찬사를 받았습니다. 네트워크를 통해 10만 명이 넘는 사람들이 이 온라인 공유에 참여했으며, 이 이벤트 이후 암호 괴짜 커뮤니티 회원들은 많은 것을 얻었다고 할 수 있습니다.

보조 제목

게스트 소개 공유:

알고랜드의 수석 과학자이자 알고랜드 이론 백서의 공동 저자인 첸 징(Chen Jing).

Tsinghua University에서 컴퓨터 과학 학사 및 석사, MIT에서 컴퓨터 과학 박사, Princeton Advanced Study Institute for Advanced Study의 박사 후 연구원으로 2016년에는 중국 국립 자연 과학 재단의 조기 경력 개발상을 수상했습니다.

보조 제목

이번에 공유된 주제:

1. 블록체인 분야 현황

2. 알고랜드 본체의 합의 합의 돌파구, 핵심 기술적 이점 및 기술적 특징

보조 제목

다음은 Chen Jing 박사의 공유 전문입니다.

알고랜드는 기존의 많은 프로젝트들과 다른 블록체인 프로젝트입니다.우선 우리의 가장 큰 특징은 우리의 기술이 제1원리(First Principle)를 기반으로 하고 매우 엄격한 수학적 방법을 사용하여 그 타당성을 증명한다는 것입니다. 시제품 검증을 통해 기술 시스템의 실현 가능성도 실현했다. 또한 저희 프로토콜은 초기에 모든 가능한 미래 상황을 명확하게 예측할 수 있는 블록체인 설계 방법이 없기 때문에 초기 설계 시 장기적인 발전과 진화를 고려했습니다. 또한 디자인을 할 때 충분한 공간과 미래의 진화 가능성을 남겨두는 것에 대해 매우 염려합니다.

블록체인 공간의 현재 상태

먼저, 알고랜드의 출발점은 어디인가요? 블록체인 분야, 즉 블록체인 분야에서는 모두의 비전과 기대와 현재 블록체인이 제공할 수 있는 기술 사이에는 여전히 큰 간극이 존재한다는 것은 공공연한 비밀이어야 한다고 생각합니다. 우리는 많은 흥미로운 전망과 아이디어를 들을 수 있지만 이러한 아이디어가 구현될 때 확장성, 보안 등의 측면에서 다양한 문제에 직면할 수 있습니다. 특히, 예를 들어 앞서 언급한 소위 불가능한 삼각형, 즉 많은 사람들이 블록체인 분야의 탈중앙화, 확장성, 보안성을 동시에 달성할 수 없다고 생각하며 기껏해야 세 가지만 달성할 수 있습니다. 두 번째입니다. 그러나 그러한 아이디어는 우리의 의견으로는 받아들일 수 없습니다. 왜냐하면 이 세 가지가 많은 블록체인 애플리케이션, 특히 대규모 분산이 필요한 퍼블릭 체인에서 매우 중요하기 때문입니다. 사용자 그룹은 모든 사람이 쉽게 액세스할 수 있어야 하며 또한 사용자에게 높은 보안. 하지만 좋은 점은 알고랜드가 이 세 가지 측면을 동시에 구현했기 때문에 서로 호환되지 않는다고 생각하지 않는다는 것입니다.

Algorand에 대해 먼저 알고랜드가 분산 공개 원장이라고 가정해 보겠습니다. 먼저 공개 원장에 대한 몇 가지 기본 요구 사항에 대해 이야기해 보겠습니다. 모든 사용자가 직접 읽을 수 있습니다. 둘째, 모든 사람이 수정할 수 있습니다. 즉, 어떤 종류의 참여자이든 관계없이 이 시스템에 참여할 수 있으며 이 시스템의 최종 합의는 모두 이 블록에 유지됩니다. 세 번째 요구 사항은 보안이 매우 보장된다는 것입니다. 즉, 블록의 데이터를 임의로 변조할 수 없고 데이터의 순서와 내용이 모호하지 않아야 합니다. 하지만 이 세 가지만 신경 쓴다면 읽기, 쓰기 가능, 수정 불가만 된다면 사실 중앙집중식 데이터베이스 시스템도 이런 식으로 구현할 수 있는데 왜 중앙집중식 데이터베이스 시스템이 많은 사람에게 맞지 않는 걸까요? 매우 만족스러운 해결책이 아니십니까? 중앙 집중식 관리는 일반적으로 전체 시스템의 성능 또는 보안 병목 현상이 되기 때문입니다.예를 들어 공격을 받거나 정체될 수 있습니다.모든 권한은 시스템의 중앙 관리자가 생성해야 하므로 다양한 방식으로 영향을 받는 공간을 남깁니다. 그렇다면 탈 중앙화 된 공공 원장, 네 번째로 요구되는 점은 중앙 집중식 관리 방법이 없다는 것입니다. 합의 생성, 데이터 수정, 블록 생성 및 기타 트랜잭션은 모두 블록체인의 모든 사용자가 완료합니다.

분산 원장의 이점에 관해서는 이미 많은 논의를 하셨으리라 생각합니다. 여기에 간단히 나열하겠습니다. 중앙화되고 신뢰할 수 있는 제3자는 분산된 상황에서 계약에 서명하고, 합의에 도달하고, 지불하는 등의 작업을 수행할 수 있습니다. 사람들은 서로 만날 필요가 없으며 신뢰 관계 없이 더 복잡한 거래에 도달할 수 있습니다. 블록체인의 발전과 함께 많은 사람들은 이것이 매우 좋은 기본 아키텍처라는 생각을 갖게 되었습니다. 이 아키텍처에서 수많은 애플리케이션 시나리오와 매우 편리한 애플리케이션을 만들 수 있습니다. 그러나 가장 중요한 질문은 이러한 기본 아키텍처를 구현하는 방법입니다. 현재 우리는 지분 증명, 지분 모기지 증명 등과 같은 작업 증명과 같은 많은 기존 방법을 보았습니다.

먼저 작업 증명에 대해 이야기해 보겠습니다. 원래 비트코인이 제안한 것은 아니지만 비트코인은 작업 증명의 적용을 전례 없는 수준과 높이로 끌어 올렸습니다. 기본 가정은 이 시스템의 컴퓨팅 파워가 비트코인의 손에 있다는 것입니다. 다수. 작업 증명은 비트코인에 잘 적용되지만 몇 가지 문제도 반영합니다. 예를 들어 비용이 매우 높습니다. 또한 이 매우 높은 비용과 감소하는 채굴 수익 사이의 균형으로 인해 다양한 채굴 풀에 컴퓨팅 성능이 점진적으로 집중되었습니다. 동시에 컴퓨팅 성능이 지속적으로 빠른 속도로 증가하고 있기 때문에 확장성 문제도 발생합니다 시스템의 보안을 계속 유지하려면 채굴 난이도를 지속적으로 높여 악순환에 진입해야 합니다 원 . 동시에 가장 긴 체인 방법을 계속해서 포크하고 선택하는 것은 시스템에서 트랜잭션의 완결성에 문제를 가져옵니다. 즉, 모든 사람이 트랜잭션을 기다려야 합니다. 체인뿐만 아니라 체인에 최종적으로 확인할 수 있는 충분한 시간이 있어야 합니다. 이는 트랜잭션 롤백과 같은 문제가 있을 수 있으므로 대규모 트랜잭션에 특히 중요합니다.

물론 모든 사람이 더 개인적으로 느끼는 또 다른 것이 있습니다.작업량 증명에서는 비교적 긴 트랜잭션 지연을 가져올 수 있습니다.예를 들어 한 블록을 위해 10분을 기다려야 하는 경우 트랜잭션을 확인하는 데 6개의 블록이 필요한 경우 그렇지 않은 경우 대기하는 데 1시간 이상 걸리며 대규모 트랜잭션은 더 오래 기다려야 할 수 있습니다. 따라서 비트코인과 작업 증명을 되돌아볼 때 작업 증명이 전체 블록체인 공간에서 처음으로 정말 좋은 아이디어라고 말해야 합니다. Bitcoin은 저와 우리 팀의 많은 사람들을 포함한 모든 사람들이 대규모 분산 시스템에서 합의에 도달하는 방법을 다시 이해하게 만들었다고 말할 수 있습니다. 그것은 모두에게 많은 영감을 주었지만 동시에 작업 증명이 대규모의 빠른 탈중앙화 시스템에서 모두에게 정말로 필요한 것이 아니라는 것을 깨달아야 합니다. 확장 가능한 다른 솔루션을 찾아야 합니다. 그래서 이때 많은 사람들의 눈이 권익의 증명인 POS로 향했다.

지분증명(Proof of Stake)의 경우 현재 우리가 흔히 볼 수 있는 기본적으로 두 가지 유형이 있는데, 하나는 위임지분증명(DPOS, Delegated Proof of Stake)으로 특정 사용자에게 투표권을 위임하거나 블록을 생성하는 방식이다. 다른 하나는 BPOS(Bounded Proof of Stake)입니다. 사용자는 시스템에서 의결권을 갖기 위해 코인을 입금해야 하며 소위 저당 지분은 오랫동안 사용할 수 없습니다. 그리고 사용자가 시스템에서 부정 행위를 하면 이러한 지분도 시스템에서 압수됩니다. 이러한 솔루션은 진정한 분산 방식이 아닙니다. 알고랜드는 우리 시스템에 구현된 POS가 권리와 이익에 대한 매우 순수한 증거라고 믿습니다. 왜 그런 말을 해?

우선, 우리 시스템은 사용자의 코인을 압수하지 않으며 사용자에게 소위 페널티를 부과하지도 않습니다. 우리는 이를 달성하기 위해 지분을 처벌하고 몰수하는 대신 악의적인 사용자가 시스템에 피해를 줄 수 없도록 시스템에 보안 메커니즘을 설정합니다. 우리 시스템에서는 모든 사람이 코인을 입금하거나 시스템에 지분을 잠글 필요가 없습니다.당신의 지분은 항상 당신의 것이며 언제든지 사용할 수 있습니다. 이 문제의 기본 가정도 매우 간단합니다. 마치 POW가 채굴하는 계산량이 대부분의 정직한 사람들의 손에 달려 있다고 믿는 것과 같습니다. POS의 기본 가정은 이 시스템의 지분 대부분이 정직한 사용자의 손에 있다는 것입니다. 여기에 매우 중요한 점이 있습니다. 즉, 이 시스템의 모든 토큰은 동일한 의사 결정 권한을 가지며 동등합니다. 토큰이 어떤 사용자에게 있는지는 중요하지 않으며 사용자가 다른 계정을 가지고 있는지 또는 다른 계정에 지분이 있는지는 중요하지 않습니다. 따라서 우리 디자인의 원래 의도는 항상 진정으로 분산되고 분산된 시스템으로 만드는 것입니다. 하지만 그것을 기술적인 방법으로 해결하기 위해서는, 이를 달성하기 위해, 우리는 그 중간에서 아주 많은 문제들에 직면해야 합니다.

알고랜드 본체의 합의 합의 돌파구, 핵심 기술적 이점 및 기술적 특징

방금 블록체인의 전반적인 상황을 소개했는데, 이미 다들 잘 알고 계시리라 생각하지만 간략한 소개는 모두가 일반적인 이해를 하고 다음 기술 소개를 위한 것입니다. 다음으로, 우리는 알고랜드 본체의 합의 프로토콜의 핵심 기술적 이점과 기술적 특징 중 일부인 비교 기술 논의에 들어갈 것입니다. 주로 세 가지 측면을 소개하겠습니다. 하나는 우리의 비잔틴 합의이고 다른 하나는 합의 합의에 참여할 사용자를 선택할 때 사용하는 비밀 자체 선택 프로세스입니다. 세 번째는 우리의 합의입니다. 동의는 우리가 사용자 대체 가능성이라고 부르는 고유한 기능입니다. 이것이 우리 시스템이 공격자가 언제든지 동적으로 사용자를 공격하도록 허용할 수 있는 이유이며 우리는 여전히 이러한 종류의 공격에 저항할 수 있습니다. 이 3가지 포인트를 소개한 후, 우리의 새로운 알고리즘, 즉 Algorand 2.0을 소개하고 네트워크 분할 공격에 저항하는 몇 가지 장점과 기술적 특징에 대해 말씀드리겠습니다.

1) 비잔틴 협정

비잔틴 합의는 실제로 컴퓨터 과학에서 매우 고전적인 개념이며, 1970년대와 1980년대에 이 분야에 대한 많은 연구가 있었습니다. 물론 전통적인 비잔틴 협정에 대한 연구는 상대적으로 폐쇄적인 환경에서 이뤄지는데 컴퓨터의 대수와 모든 사용자의 신원이 미리 알려져 있기 때문에 당시 비잔틴 협정의 작업 방식과 작업 환경은 비교적 단순했다. 블록체인으로 확장하기 전에 비잔틴 합의가 달성할 수 있는 가장 기본적인 두 가지 특성을 간단히 소개할 수 있습니다. 블록체인이 우리의 합의 합의에 모호함이 없음을 보장할 수 있는 것은 이 두 가지 특성 때문입니다.

우선 비잔틴 합의로 달성할 수 있는 본질은 당연히 정체성이다. 모든 사람은 처음에 각 사람이 생각할 수 있습니다. 때때로 모든 사람은 자신에게 전송된 일부 트랜잭션을 볼 수 있으며, 모든 사람은 받은 트랜잭션을 기반으로 블록을 결합합니다. 모두가 보는 시스템 상태는 블록 자체의 값 또는 블록의 해시값이라고 볼 수 있습니다. 비잔틴 계약의 통신이 완료된 후 모든 정직한 사용자는 결국 동일한 시스템 상태를 출력하게 되며 이는 동일한 블록의 해시 값입니다. 그러면 블록체인이 달성해야 하는 결과입니다.

비잔틴 협정의 또 다른 매우 흥미로운 특징은 많은 사람들에게 알려지지 않을 수 있으며, 이 특징이 바로 우리가 나중에 빠르게 합의에 도달할 수 있는 이유입니다. 즉, 비잔틴 합의에 의해 도달할 수 있는 합의입니다. 소위 일관성이란 시스템에서 합의에 도달하는 과정에서 시스템이 비교적 좋은 상태에 있으면 불필요한 정보 전송을 위해 시스템에서 상호 작용을 낭비하지 않는다는 것을 의미합니다. 즉, 이 시스템의 모든 선량한 사용자가 맨 처음에 당신이 보는 트랜잭션이나 당신이 형성하는 블록이 이미 합의 상태에 도달했다면 비잔틴 합의 우리는 모든 사람이 동의하도록 강요하지 않을 것입니다. 다른 것에. 그렇기 때문에 비잔틴 합의를 사용하는 시스템은 네트워크 상태가 비교적 양호하고 정상적인 상황에서 더 빠를 것입니다.

왜 기존의 비잔틴 협약을 블록체인에서 바로 사용할 수 없는 걸까요? 모두가 비잔틴 시스템에 참여하고 그 출력은 바로 블록체인이 달성하고자 하는 다음 블록의 내용인데 왜 직접적으로 할 수 없습니까? 크게 두 가지 이유가 있는데, 첫 번째 이유는 기존의 비잔틴 합의가 여전히 전반적으로 상대적으로 느리다는 점인데, 이 합의는 러닝 타임과 전체 참여자 수 등 이론상 다항식 시간이라고 할 수 있습니다. 또는 세제곱이 비례하면 이론적 타당성에는 문제가 없으나 이에 소위 다항식 시간 비잔틴 합의를 적용하는 것은 타당하지 않다. 수백만 명의 사용자와 함께 통신 및 계산의 양이 수백만 평방 또는 입방이고 필요한 소비가 시스템 용량을 초과한다고 스스로 상상할 수 있습니다. 그리고 또 다른 매우 중요한 이유는 비잔틴 합의가 블록체인에서 직접 사용될 수 없는 이유입니다. 비잔틴 합의의 원래 디자인은 상대적으로 폐쇄적이고 상대적으로 양호한 네트워크 환경에 있기 때문입니다. 이미 미리 결정되어 모든 사람에게 알려져 있습니다. 이 두 가지 사항 모두 개방형 인터넷에서는 불가능합니다. 모든 사람이 인터넷에서 쉽게 많은 ID를 생성할 수 있고 인터넷의 두 ID가 동일한 사람에 의해 제어되는지 여부는 아무도 모르기 때문에 각 공개 키에 해당하는 사용자는 계정입니다. 이것은 우리에게 친숙한 시빌공격(Sybil Attack)으로, 다수의 ID를 생성하여 인터넷의 많은 권한을 제어하는 ​​공격으로, 원래의 비잔틴 협약에 대해 완전히 실현 가능한 공격입니다. 따라서 블록체인에서 비잔틴 합의를 사용하려면 위의 두 가지 문제를 해결해야 하는데, 이것이 바로 알고랜드 합의 시스템이 하는 일입니다.

첫째, 우리가 설계한 새로운 비잔틴 합의 프로토콜은 매우 빠르고 효율적인 프로토콜이다. 예상 상태에서 합의를 완료하는 데 몇 가지 단계만 필요합니다. 그러한 합의는 이론적으로 이미 매우 빠르다고 말해야 합니다. 그런데 그런 프로토콜을 가지고도 가령 1000만 명의 사용자가 있는 시스템에서 직접 사용하는 것은 불가능하다.왜 그럴까? 천만 명의 사용자가 있기 때문에 모두가 아주 짧은 메시지를 보내더라도 이 시스템의 네트워크는 완전히 차단되었습니다. 많은 수의 사용자가 참여하는 이 솔루션의 경우 많은 사람들이 사용자가 너무 많기 때문에 이 프로토콜에 참여할 소수의 사용자 그룹을 임의로 선택한다고 쉽게 생각할 수 있다고 생각합니다. 가장 간단한 방법 중 하나는 선택 항목을 열어 모든 사람이 누가 선택되었는지 알 수 있고 선택된 사용자는 서로 통신하기만 하면 된다는 것입니다. 이러한 방식으로 비잔틴 합의 프로토콜은 작은 범위로 제한될 수 있습니다. 이것을 어떻게 달성할 수 있습니까? 사실 매우 간단합니다.예를 들어 각 사용자의 신원, ID 또는 그의 공개 키 또는 기타 신원 정보에 대해 해시(해시 값)를 만들어 예를 들어 256비트의 임의의 문자에 매핑합니다. , 그런 다음 이러한 모든 사용자의 문자열을 작은 것에서 큰 것으로 정렬하고 이때 모든 사용자를 무작위로 변경합니다. 따라서 비잔틴 합의 프로토콜에 참여하기 위해 이 시스템에 천 명의 사용자가 필요한 경우 무작위로 변형된 처음 천 명의 사용자만 선택하면 됩니다. 이것은 매우 효율적이고 매우 투명하며 구현하기 매우 쉬운 방법입니다. 그렇다면 이 접근법의 문제점은 무엇입니까? 소규모 사용자 그룹을 공개적으로 무작위로 선택하면 작동하지 않는 이유는 무엇입니까? 많은 사람들이 이 질문을 생각했을 것입니다.

즉, 선량한 사용자는 현재 누가 다음 블록을 생성할 책임이 있고 다음 10개의 블록을 생성할 책임이 있는지 쉽게 알 수 있을 뿐만 아니라 악의적인 사용자도 이를 쉽게 알아낼 수 있습니다. 그리고 그것은 훨씬 더 오래 전에 발견될 수 있으며, 그러면 악의적인 조직이 이 시간에 이러한 선택된 사용자를 미리 공격할 수 있으므로 이러한 사용자는 비잔틴 협정에 참여해야 할 때 온라인에 접속할 수 없거나 잘못된 정보를 보내고 더. 우리는 현재 블록체인 분야에서 이러한 프로토콜이 있음을 보았습니다.이러한 프로토콜의 가장 기본적인 가정은 악의적인 개인이나 조직이 사용자를 공격하는 데 오랜 시간이 걸린다는 것입니다.예를 들어 특정 사용자를 공격하는 데 하루가 걸립니다. 블록을 생성하는 데 필요한 시간보다 훨씬 긴 사용자입니다. 그러한 가정은 우리의 의견으로는 완전히 받아들일 수 없으며, 알고랜드의 시스템이 매우 강력한 네트워크 공격 또는 기타 공격에 저항할 수 있기를 바랍니다. 따라서 우리 시스템에서 설계할 때 가상의 공격자는 모든 사용자를 즉시 ​​중단시킬 수 있으며 DDOS 또는 다른 방법에 관계없이 이러한 공격자는 모든 메시지를 보내는 것과 관계없이 공격을 받는 모든 사용자를 완전히 제어할 수 있습니다. 메시지를 보내거나 메시지가 좋은 사용자에게 전송되는 경우에도 공격자가 완전히 제어할 수 있습니다. 공격자에 대한 우리의 유일한 가정은 디지털 서명이나 암호화 등과 같은 해시 함수와 같은 암호의 가장 기본적인 요소를 해독할 수 없다는 것입니다. 이는 모든 디지털 시스템에서 요구하는 몇 가지 기본 가정이기도 합니다. 따라서 이러한 공격자들에게 공개적으로 비잔틴 협약에 참여하는 사용자를 선택하는 것은 현실적이지 않습니다. 알고랜드의 혁신은 사용자가 비잔틴 협약에 참여해야 하는지 또는 참여해야 하는 비잔틴 협약의 단계를 선택할 수 있는 비밀 방법을 사용한다는 것입니다.

2) 비밀 자기 선택

소위 비밀 자체 선택은 추상적으로 들립니다. 보통 상상할 때 복권 시스템을 비유로 사용하는 것을 좋아합니다. 즉, 각 사용자가 자신의 복권을 생성합니다. 결정한 것은 복권 자체입니다. 당첨이 없을 경우 사용자는 시스템을 속일 수 없으며, 다른 사람이 당첨되었다고 속일 수 없습니다. 그리고 사용자가 당첨된 경우 모든 사람에게 쉽게 알릴 수 있습니다. 이 복권을 보여주기만 하면 됩니다. 그리고 이것의 또 다른 요점은 사용자가 자신이 상을 받았다는 것을 알고 있지만 공개적으로 상을 교환하기 전에 공격자는 누가 상을 받을지 모르고 누구를 공격해야 할지 전혀 모른다는 것입니다. 그래서 이런 복권 시스템이 있다면 우리는 사용자가 이 복권을 통해 다음 시스템에 참여할 사람과 다음 합의에 참여할 사람을 비밀리에 결정할 수 있게 할 수 있으며, 그러면 그들이 완전히 다른 사용자와 같을 수 있음을 증명합니다. 권한. 물론 여기에는 또 다른 문제가 내포되어 있는데, 현실에서 우리가 보는 복권제도는 완전히 중앙집권화되어 있어서 모든 복권을 출력하여 모두에게 배포하는 것은 특정 발행인이다. 이 접근 방식은 앞서 언급한 탈중앙화 시스템과 상반됩니다. 우리에게 필요한 것은 실제로 분산 복권 생성 시스템입니다.각 사용자는 자신의 개인 키를 사용하여 자신의 복권을 생성할 수 있으므로 복권에 당첨되었음을 속이거나 증명할 수 없습니다.

얼핏 생각해보면 이 두 가지가 상반되게 들릴지 모르지만 왜 그럴까요? 사용자가 자신의 복권을 생성할 수 있다면 비밀리에 많은 복권을 생성할 수 있기 때문입니다. 그는 하나를 생성한 다음 상금에 당첨되지 않았음을 발견한 다음 다른 하나를 생성하고 당첨된 복권이 생성될 때까지 계속 생성할 수 있습니다. 그런 다음 이 복권을 사용하여 모든 사람에게 그가 이 시스템에 참여해야 한다고 말하십시오. 이 경우 악의적인 사용자는 스스로 많은 복권을 생성한 다음 당첨된 복권만 모든 사람에게 보여줄 수 있습니다. 물론 그러한 시스템은 전혀 작동하지 않습니다. 그 당시 악의적인 사용자는 항상 모든 사람에게 내가 복권에 당첨되었다고 말하고 이 시스템에 참여해야 하기 때문입니다. 이것은 우리가 이런 종류의 비밀 자체 선택을 할 때 매우 중요한 포인트입니다. 즉, 우리 시스템에서 각 사용자는 고유하고 특정 복권만 생성할 수 있으며, 복권 생성 단계에서도 속일 수 없습니다. 이를 위해서는 어느 정도의 암호학 지식이 필요하며, 이 암호의 구조를 VRF(Verifiable Random Functions)라고 하며 임의 함수를 검증할 수 있습니다. 오늘 공유에서 VRF를 처음부터 끝까지 설명하는 것은 불가능하지만 시간이 너무 많이 걸리겠지만 VRF의 가장 기본적인 구조가 무엇인지 알려드릴 수 있습니다. 그것의 기본 구조는, 당신이 그것을 이해한다면, 실제로는 매우 간단합니다. VRF에는 두 가지 기본 구조가 있다고 생각할 수 있습니다. 하나는 디지털 서명이고 다른 하나는 해시 함수입니다.

사용자가 자신의 복권을 생성하고자 할 때, 예를 들어 현재 시스템 상태에 서명하기 위해 자신의 키를 사용하고, 자신의 서명을 생성합니다. 그가 서명을 모든 사람에게 증명하고 싶다면 자신의 공개 키를 사용하는 한 모든 사람이 서명이 올바른지 확인할 수 있습니다. 이 서명을 사용하면 랜덤 복권을 생성하는 것이 매우 쉽습니다.이 서명을 해시 함수의 입력으로만 사용하면 됩니다.예를 들어 256비트 난수를 출력할 수 있으며 이 난수는 다음과 같습니다. 사용자 복권의 가치. 100만 명의 사용자가 있는 시스템에서 1,000명의 사용자를 선택하려면 각 사람이 선택될 확률은 1‰이어야 하며 이때 이 해시 함수의 출력이 0.001 미만일 때 사용자가 선택되고 보다 크면 선택되지 않습니다. 해시 함수의 출력은 문자열로 보통 정수로 간주되지만 앞에 소수점을 추가하면 쉽게 실수로 해석할 수 있습니다.

따라서 이것은 매우 간단한 작업인 것 같습니다. 사용자가 이름에 서명한 다음 서명을 해시(해시 암호화)하면 최종 결과는 임의의 숫자가 될 수 있습니다. 공격자가 사용자의 서명을 위조하는 것은 불가능하기 때문에 특정 사용자가 Hatch 기능을 통해 최종적으로 어떤 값을 출력할지, 그가 선택되었는지 여부 등을 예측할 방법이 없습니다. 그런데 방금 작성한 설명에는 실제로 발견하기 쉽지 않은 숨겨진 문제가 있습니다. 즉, 많은 디지털 서명 시스템에는 난수가 포함되어 있습니다. 일반적으로 임의의 문자열을 생성해야 하며, 이 문자열은 디지털 서명 프로토콜의 입력의 일부로 사용되며 이를 통해 서명이 생성됩니다. 즉, 서명 프로세스는 임의적이며, 동일한 시스템 상태에 대해 다른 난수를 보조 입력으로 사용하면 다른 서명이 생성될 수 있으며 이러한 서명은 모두 유효합니다. 이것은 복권 인쇄에 대해 방금 언급한 문제로 돌아가며, 이는 사용자가 스스로 수많은 복권을 인쇄할 수 있는 가능성을 제공하는 것과 같습니다. 난수에 대한 서명 방식을 완벽하게 사용할 수 있기 때문에 난수를 변경할 때까지 다른 난수를 계속 변경할 수 있으며 생성하는 서명은 해시된 후 매우 작은 해시 값을 얻습니다. 방금 말한 것은 0.001 미만입니다. 사용자가 무수히 많은 복권을 마음대로 인쇄할 수 있도록 허용하는 이러한 방식은 당연히 용납될 수 없다고 방금 언급했습니다.

그런 다음 이것은 암호화의 또 다른 아주 좋은 혁신, 즉 고유 서명, 고유 서명을 언급할 것입니다. 소위 고유 서명은 이름에서 알 수 있듯이 이해하기 쉽습니다. 즉, 서명이 필요한 동일한 문서 또는 시스템 상태에 대해 동일한 사용자는 자신의 키로만 고유한 서명을 생성할 수 있습니다. 이때 사용자는 속일 수 없다. 시스템 상태가 확실하고 자신의 공개 키와 비밀 키가 미리 생성되어 있기 때문에 그가 할 수 있는 것은 이 두 가지를 서명 기능에 부여하는 것뿐이고 기능 고유한 서명 값이 출력되고 이 고유한 서명 값은 고유한 해시(해시 암호화) 출력에 해당하며 이 고유한 해시(해시 암호화) 출력은 이 시스템에서 허용할 수 있는 유일한 값입니다. 따라서 VRF의 두 가지 기본 구조는 실제로 매우 단순하며 하나는 고유한 서명이고 다른 하나는 해시 함수입니다.기본적으로 많은 VRF 구조가 유사한 두 부분으로 분해될 수 있음을 알 수 있습니다.

3) 사용자 교체 가능성.

이것은 비밀 자체 선택에서 더 흥미로운 기술 중 일부이므로 비밀 자체 선택 방법을 사용한 후에도 또 다른 문제가 있습니다. 즉, 사용자가 선택되면 비잔틴 계약을 발행하지 않습니다. 악의적인 사용자는 확실히 이 사람이 누구인지 모르고 이 사람이 선택되었는지 여부도 모릅니다. 그러나 사용자가 시스템에서 메시지를 보내는 한 모든 사람에게 서명을 알려야 합니다. 이때 악의적인 사용자는 누가 선택되고 다음 책임이 누구인지 즉시 알 수 있습니다. 이때 악의적인 사용자는 또한 다음 단계에서 이러한 사람들을 즉시 차단하거나 공격합니다. 우리는 여전히 이전 상태, 즉 모든 참가자가 악의적이므로 이 문제를 해결하기 위해 Algorand의 또 다른 매우 흥미로운 혁신, 즉 사용자 교체 가능성을 언급해야 합니다. 알고랜드의 합의 프로토콜에는 1단계, 2단계, 3단계 등 여러 단계가 있지만 각 단계 사이에 내부 상태를 저장할 필요는 없습니다. 다음 단계의 내용은 현재 공개된 정보를 기반으로 결정할 수 있습니다. 따라서 첫 번째 단계에서 사용자 그룹을 선택하고 첫 번째 단계에서 정보를 보내도록 하는 것이 완전히 가능하고 두 번째 단계에서는 완전히 다른 사용자 그룹이 선택되므로 첫 번째 단계를 알 필요가 없습니다. 어떤 종류의 내부 구조를 가지고 있는지, 인터넷에서 전송되는 공개 정보를 통해 2단계 정보가 무엇인지 완전히 결정한 다음 자신의 2단계 정보 전송을 완료하도록 결정할 수 있습니다. 비유하자면 2단계의 사용자가 정보를 보낸 직후에 공격을 받더라도 프로토콜의 3단계에서 새로운 사용자 그룹이 선택되며 이 사용자 그룹은 여전히 ​​인터넷에 공개된 정보를 기반으로 합니다. 당신의 메시지가 무엇인지 결정합니다. 따라서 공격자는 다음에 누가 책임을 지고 그들 중에서 누가 선택될지 결코 알 수 없습니다. 이는 또한 전체 시스템의 보안을 보장하며 공격자가 언제든지 사용자를 중단시킬 수 있더라도 시스템의 다음 프로토콜 실행에 영향을 미치지 않습니다. 그리고 각 단계에서 사용자를 다시 선택하는 이 방법은 전체 시스템이 실제로 분산된 시스템임을 보장하고 어떤 사용자도 오랫동안 책임지지 않을 것입니다.모든 사용자, 사실 사용자 A 토큰의 모든 사용자는 동일합니다. 선택될 확률. 이것은 진정으로 분산되고 진정한 지분 증명 기반 시스템입니다.

따라서 알고랜드 시스템에서는 작업증명 방식이 없고, 사용자가 어려운 암호 퍼즐을 풀 필요가 없으며, 계산량이 매우 적다고 할 수 있으며, 사용자 선택 방식도 현실적입니다. 분산. 그리고 비잔틴 합의 자체는 불일치나 분기가 없을 것이기 때문에 어떤 트랜잭션이든 블록체인의 블록에 들어가는 한 완결된 것으로 간주할 수 있습니다. 확인할 수 있기 전에 이 시스템에서 그 뒤에 생성됩니다. 따라서 이 시스템은 높은 확장성과 보안성을 제공할 수 있습니다.

알고랜드의 기술 발전, 알고랜드 2.0

메인 네트워크에서 사용될 시스템인 Algorand 2.0에 대해 간략히 설명드리겠습니다. 알고랜드의 원래 합의 프로토콜의 특성을 계승하는 것 외에도, 이 시스템은 여전히 ​​사용자 교체가 가능하고 비밀 자체 선택을 통해 비잔틴 합의에 참여하는 사용자를 여전히 선택하며 여전히 매우 효율적인 프로토콜입니다. 그러나 2.0은 현재 어떤 블록체인 시스템으로도 달성할 수 없는 매우 강력한 속성을 가지고 있습니다. 즉, 네트워크 분할에 대한 공격에 완전히 저항하고 빠르게 복구할 수 있습니다. 무슨 뜻이야? 즉, 블록체인 합의 시스템에서는 일반적으로 트랜잭션이나 블록이 전체 네트워크에 전파될 것이라고 가정해야 합니다. 트랜잭션이 전체 네트워크에 확산될 수 없거나 합의 정보 또는 블록이 전체 네트워크에 확산될 수 없다면 분명히 사용자의 두 부분이 있어야 합니다. 거래의 상태도 다릅니다. 이것은 이중 지출, 즉 이중 지출의 가능성이 있음을 의미합니다. 이런 종류의 네트워크 공격은 일반적으로 비잔틴 합의를 분석할 때 고려하지 않으며, 우리가 이것을 고려하는 이유는 전체 시스템을 보다 현실적으로 만들기 위해 모든 가능성을 고려해야 하기 때문입니다. 앞으로 마주하게 될.

네트워크를 분할하는 공격의 비용은 실제로 매우 높습니다. 그러나 예를 들어 알고랜드에 많은 자산이 있고 전체 시스템의 가치가 매우 높은 경우와 같이 알고랜드가 큰 성공을 거둔다면 일부 사람들은 수백만 달러를 투자한 다음 이전하는 등 많은 투자를 할 의향이 있을 수 있습니다. 다수의 사용자가 다른 사용자에게.많은 사용자가 완전히 분리되어 그들 사이의 통신을 완전히 제어하므로 합의에 도달하는 것이 불가능합니다. 이 네트워크 공격 하에서 어떤 블록체인도 보안을 유지하고 계속해서 블록을 생성할 수 없다고 말할 수 있습니다. 아주 간단한 이유 때문에 어떤 시스템이든 블록 시간을 최종적으로 확인해야 합니다. 예를 들어 1분 또는 1시간 또는 하루, 그리고 시스템이 분할되는 경우 분할 시간이 1분 또는 1보다 길면 시간 또는 하루가 지나면 시스템은 효과적인 합의를 생성할 방법이 없습니다. 그러나 알고랜드 2.0의 시스템 프로토콜에서는 네트워크가 공격을 받더라도 시스템이 안전하고 분기되지 않는다는 것을 보장할 수 있습니다. 그리고 시스템의 네트워크 공격이 끝나고 네트워크가 이전 연결을 복원하면 합의 프로토콜을 쉽게 복원하고 새 블록을 재생성할 수 있습니다.

그리고 이 두 가지 기능 중 하나는 네트워크 분할의 경우, 즉 네트워크가 완전히 비동기화된 상태가 되더라도 공격자가 그 안의 메시지 전송을 완전히 제어할 수 있으며 메시지가 임의로 지연될 수 있습니다. 2.0 프로토콜은 여전히 ​​분기되지 않습니다. 또 다른 하나는 네트워크가 완전히 분리된 상태에서 잘 연결된 상태로 돌아오면 시스템이 쉽게 복구되어 블록을 생성할 수 있다는 것입니다. 이 두 속성의 구현은 새로운 비잔틴 협정을 통해 이루어지며 시간 제약으로 인해 여기에 시스템의 세부 사항을 소개하는 것은 불가능합니다.

이 새로운 시스템은 이제 테스트 네트워크에서 구현되었습니다.테스트 네트워크는 지금까지 초대를 통해 진행되었으며 모든 사람이 신청서를 제출하여 개발자의 승인을 받아야 합니다. 애플리케이션을 통해 가입했기 때문에 비교적 안정적으로 오랫동안 운영되고 있으며, 그 안에 있는 노드의 수는 많지 않지만 미국에서 호주, 아시아, 유럽에 이르기까지 노드의 분포가 매우 넓습니다. 등등. 분산된 노드가 있을 것이고, 또한 전체 시스템의 안정성과 확장성을 명확하게 검증합니다. 우리는 곧 전체 테스트넷을 모든 사람에게 공개할 것이며 모든 사람이 관심을 가져도 좋습니다.

Algorand
公链
Odaily 공식 커뮤니티에 가입하세요