Algorand, Dfinity, Ouroboros Praos (Dfinity 는 프로젝트 이름이지만 * * * 알고리즘도 틀리지 않음) 는 최근 VRF (검증 가능한 무작위 함수) 를 기반으로 설계되어 비교 연구할 수 있습니다. Algorand 에는 여러 가지 버전이 있는데, 다음 중 어느 것을 말하는 것입니까? 1607.05438+0341v9, 일시적으로 algrand' 라고 불림 (저자는 algrand 의 최신 버전을 보유하고 있으며 아래에 언급된 몇 가지 문제를 수정했습니다. 이 기사를 참조하십시오.).
첫째, VRF * * *
VRF 의 의미는 이해하기 쉽습니다. 사람 (그룹) 에 대한 무작위 선택을 완료하는 데 사용됩니다. 따라서 VRF 의 반환 값은 가능한 한 예측할 수 없어야 합니다. 먼저 Algorand' 와 Dfinity 의 루틴이 어떻게 작동하는지 살펴보겠습니다. 일반적으로 이전 난수 (초기 난수는 프로토콜에 의해 지정됨) 와 높이 및 회전을 나타내는 변수의 조합, 개인 키로 서명 (또는 먼저 서명하고 결합), 마지막 해시는 최신 난수를 얻습니다. 이렇게 생성된 난수는 다른 사람이 알고리즘에 부합하는지 쉽게 검증하여 "V" 를 얻을 수 있다. 그리고 해시 반환 값은 무작위로 분산되므로 "R" 이 보장됩니다. 이 과정에서 결과 조작의 가능성을 줄이기 위해 A) 서명 알고리즘이 고유해야 한다는 점, 즉 같은 개인 키를 사용하여 같은 정보에 서명하는 것은 하나의 합법적인 서명만 검증할 수 있습니다. 일반적인 비대칭 암호화 해독 알고리즘에는 일반적으로 SM2 와 같은 속성이 없습니다. 이러한 고유성 속성이 없는 서명 알고리즘을 사용하는 경우 새 난수를 생성할 때 가장 유리한 공간을 선택하기 위해 반복적으로 서명을 시도하면 보안이 저하됩니다. B) 새 난수를 생성할 때 현재 블록의 데이터를 무작위성의 소스 중 하나로 사용하지 마십시오 (예: 이 블록 트랜잭션 목록을 참조하는 merkle 루트 값 등). 이렇게 하면 블록 주 공간에 패키징된 트랜잭션의 순서를 변경하고, 다른 트랜잭션을 패키징하고, 가장 유리한 새 난수를 만들 수 있기 때문입니다. 새로운 * * * 인식 알고리즘을 설계하고 검사할 때 위의 두 가지 점에 특히 주의해야 합니다.
VRF 의 반환 결과를 사용하는 방법을 확인하십시오. 현재 사용에서 VRF 의 반환 결과는 공용 또는 개인 노드 또는 노드 그룹 선택을 완료하는 데 사용할 수 있습니다. 예를 들어 Dfinity 의 경우 mod 연산을 사용하여 그룹을 고유하게 식별합니다. "Algorand" 와 "Ouroboros Praos" 는 개인적인 선택의 예입니다. 일반적인 루틴은 rounds 와 같은 변수를 사용하여 VRF 의 최신 반환 값에 서명하고 해시하는 것입니다. 해시 값이 임계값보다 작으면 노드는 해당 값이 개인 선택임을 알 수 있습니다. 이 방법은 네트워크 노드 수가 많은 경우에 더욱 안정적일 가능성이 높습니다. 그렇지 않으면 행운의 사람 수가 크게 변동하여 빈 블록과 분기를 포함한 프로토콜 성능에 영향을 줄 수 있습니다.
둘째, Algorand 의 강력한 동기화 가설 버전에 대해 간략하게 논평한다.
개인 선택은 고정 소수점 공격에 저항할 수 있는 강력한 능력을 제공하지만, 어떤 행운의 사람에게도 행운의 총 수는 예측할 수 없는 것으로, 후속 인식 알고리즘의 설계와 블록 체인 최적화에 어려움을 겪고 있다. (윌리엄 셰익스피어, 행운, 행운, 행운, 행운, 행운, 행운, 행운, 행운) Algorand'' 는 강력한 동기화 네트워크 가정 (동기화 네트워크 가정 아래 * * * 인식 알고리즘이 당연히 더 쉬워짐) 을 사용하여 네트워크 메시지 전달 시간의 상한선을 미리 알아야 합니다. 즉, 고정 시간 내에 고정 비율 사용자에 대한 네트워크 전파를 완료해야 합니다. 예를 들어, 1KB 메시지는 1 초 내에 95% 의 전체 네트워크를 전파할 수 있고 1MB 메시지는 1.5 분이 걸려야 95 를 전파할 수 있다는 것을 알아야 합니다. 그런데 이 전송 상한선은 어떻게 고르나요? 실증통계를 통해 일정 기간 동안의 통계 결과에 계수를 곱하시겠습니까? "괜찮아요" 라고 말할 수 있지만 엄격하고 안전하다면 Algorand'' 알고리즘은 DDOS 또는 인터넷 정체의 경우 메시지 전파가 심각하게 초과되어도 알고리즘이 보안을 보장할 수 있다는 것을 보완해야 합니다. 그러나 이 증명서는 누락되었습니다. 반면, Ouroboros Praos 는 동기식 네트워크 가정으로 설계된 Ouroboros 프로토콜이 비동기 네트워크 조건에서 오류가 발생할 수 있음을 공개적으로 인정하고 Ouroboros Praos 를 만들었습니다. 새로운 Algorand 는 네트워크 약한 동기화가 서로 다른 블록에서 * * * 지식 (이후 네트워크가 강하게 동기화될 때 분기점을 해결할 수 있음) 을 얻을 수 있다는 사실을 인정합니다.
Algorand 의 알고리즘이 더 큰 전파 시간 상한선을 설정하여 이러한 문제를 해결할 수 있다는 데 일시적으로 동의하더라도, 이 알고리즘은 매우 좋은 특성인 응답성이 부족하다는 것을 알 수 있습니다. 이 기능은 프로토콜이 더 큰 전파 시간 상한선 delta 에서 작동하도록 설계되었지만 실제 전파 시간이 더 작은 delta 인 경우 프로토콜의 실제 진행 속도는 DELTA 와만 관련이 있으며 이 프로토콜을 반응이라고 합니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), Northern Exposure (미국 TV 드라마), 성공명언) * * * 인식 알고리즘과 동기화 네트워크 가정을 결합하는 것이 이상적입니다. 보안을 위해 상한선을 크게 설정할 수 있지만 프로토콜 실행 속도는 당시의 네트워크 조건과만 관련이 있습니다. 알그란데' 는 이런 특징이 없다. 평균적으로 Algorand' 는 * * * 지식을 완성하기 위해 1 1 라운드 메시지 전송이 필요합니다. 매 라운드마다 보안을 유지해야 한다면 * * * 지식은 완료하는 데 오랜 시간이 걸리며 개별 파티션의 처리량도 그리 높지 않습니다. 물론 아키텍처 설계에는 많은 트레이드 오프가 포함됩니다. 마지막으로, 알고리즘이 좋은지 아닌지, 아니면 초심으로 돌아가야 하는지, 달성해야 할 목표가 무엇인지 평가한다. 위의 분석은 단지 Algorand 알고리즘의 몇 가지 잘 알려지지 않은 고유 특징을 객관적으로 지적하여 독자가 스스로 평가할 수 있도록 하는 것일 뿐이다.
셋째, Dfinity 의 확장성에 대한 간략한 검토
사적으로 선출하고, 즉각 취임하는 방법도 체제 분할에 큰 도전을 가져왔다. Dfinity 는 분명히 조각해야 하기 때문에 우리는 도전에 직면해야 한다. 확장성의 문제는 매우 복잡하다. 이 문제를 철저히 해결하려면 네트워크, 스토리지, 컴퓨팅의 확장성을 고려해야 한다. 현재 대부분의 블록 체인 3.0 프로젝트는 컴퓨팅의 조각화와 확장성에만 초점을 맞추고 있으며, 다른 두 개는 무시되어 이상적인 확장을 이룰 수 없습니다. 공용 체인 노드 네트워크 대역폭의 제한으로 인해 계약을 계산하는 데 필요한 데이터를 한 노드에서 다른 노드로 빠르게 복사하기가 어렵기 때문에 VRF 를 사용하여 수시로 오가는 노드를 선택하더라도 스토리지 노드는 바람처럼 우아할 수 없습니다. 모든 노드는 모든 데이터를 저장하고, 노드마다 정적으로 다른 파티션을 저장하는 몇 가지 분명한 옵션이 있습니다. 전자의 확장성이 매우 떨어진다. 후자의 경우 송신 노드가 부동하면 송신 노드가 계약 작업을 완료해야 합니다. 즉, P2P 네트워크 기반 원격 스토리지 왕복 액세스의 성능이 급격히 저하됩니다. 동적으로 결정된 블록 노드는 정렬, 컴퓨팅 성능 및 스토리지 번들만 수행하므로 정적 분할을 통해 확장성을 제공하는 것이 합리적인 응답일 수 있습니다. 그러나 가장 얄미운 것은' 그러나' 라는 단어다. 그럼에도 불구하고 시스템의 스토리지와 네트워크는 여전히 압력을 받고 있다. 최종 사용자가 제출한 패키지 거래. 일반 공용 체인 (EOS 에 관계없이) 의 대역폭은 제한적입니다. 사용자가 패키지화할 트랜잭션을 네트워크 전체에 광범위하게 배포해야 하는 경우 기존 네트워크 대역폭은 얼마나 많은 TPS 를 제공할 수 있습니까? 출력 노드가 정적 파티션이거나 적어도 일정 기간 전에 대중에게 알려지면 여전히 회전할 여지가 있습니다. 나가는 노드가 이렇게 불안정하고 마지막 순간까지 알 수 없는 경우, 사용자와 나가는 노드 후보는 전체 네트워크를 플러드하고 패키지화할 모든 트랜잭션을 저장하는 것이 가장 직접적인 반응인 것 같습니다. 이렇게 하면 대역폭과 스토리지가 여전히 시스템 병목 현상이 됩니다.
그래서 우리가 여기서 만난 것은 본질적으로 안전하고, 확장 가능하며, 중심이 될 수 없는 삼위일체이다.
넷째, 독사 Praos 에 대해 간단히 논평해 보세요
BMŭ· 독사의 작품은 이미 널리 전해졌다. 물론, BM 의 말은 분명히 틀렸다. 예를 들어 독사의 DPOS 는 BM 의 위탁 POS 가 아닌' 동적 [스택 분포] POS' 를 가리키지만 파레토 분포에 대한 논평은 흥미롭다. Ouroboros Praos 를 자세히 살펴보면 계약의 안전 가설과 안전 증명서가 경제 게임의 요인을 전혀 고려하지 않는다는 것을 알 수 있다. 그렇다면 진동하는 단어의 증명은 정말로 보호가 필요한 방향을 놓칠 가능성이 높다. 결국 POS/DPOS 프로토콜 혈관에 흐르는 피는 항상 경제게임과 인간성을 바탕으로 한 것이기 때문이다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 건강명언) 가장 분명한 예는 순방향 보안 서명의 구현입니다. 계약의 현재 설계에서는 모든 좋은 노드가 사용한 개인 키를 자발적으로 안전하게 삭제해야 하며, 거의 0 에 가까운 개인 키 저장 비용이 뇌물 공격의 유혹에 어떻게 대처하는지 고려하지 않습니다. 그러나 이것은 고려할 가치가 있다. Ouroboros Praos 자체는 형식적인 증명 외에 주목할 만한 프로토콜 특성이 별로 없다. 일반적으로 VRF 복권을 POS 알고리즘과 결합하여 일부 보안 가설을 공식화하여 일을 하는 태도가 매우 칭찬할 만하다.
동사 (verb 의 약어) 요약
이 알고리즘들은 매우 창의적이어서 배울 만하다. 동시에, 에테르의 CASPER 가 공개한 조닝 기술을 살펴보면, 필자의 경험은 블록체인 3.0 의 경쟁이 이제 막 시작되었다는 것이다. Etherfang 팀의 기술 경로에서 볼 때, 그들의 기술적 고려 사항과 선택은 Etherfang 을 능가하는 많은 팀보다 더 심오하고 포괄적입니다. 만약 우리가 정말로 에테르를 능가하고 싶다면, 먼저 에테르방을 이해해야 한다.
그건 그렇고, 이 기사에 대한 Qiu Weiwei 박사의 공헌에 감사드립니다!