전력 알고리즘:/p /p/b23cbafbbad2
POS 알고리즘:/WG nihao/article/details/80635162
POA 알고리즘은 다른 알고리즘에 비해 네트워크 토폴로지를 개선하고, 온라인 노드의 비율을 유지하며, 트랜잭션 비용을 적게 요구하고, 알고리즘 식별 중 에너지 소비를 줄일 수 있습니다.
POA 알고리즘에 필요한 네트워크에는 두 가지 유형의 노드, 광부 및 일반 참가자도 포함되어 있으며, 이 중 일반 참가자는 항상 온라인 상태가 아닐 수 있습니다. POA 알고리즘에서 광부들은 먼저 블록 헤드를 만들고 블록 헤드에서 N 개의 동전을 선택합니다. 이 N 개의 동전의 주인은 후속 검사 및 블록 생성 과정에 참여합니다.
따라서 POA 알고리즘은 컴퓨팅 능력뿐만 아니라 후속 N 개 참가자의 선거는 전적으로 네트워크의 참가자가 소유한 동전의 합계에 의해 결정된다는 것을 알 수 있습니다. 참가자들의 돈이 많을수록 그가 N 개의 후속 참가자로 선출될 가능성이 커진다. 후속 N 명의 참가자가 참여하기 위한 필수 조건은 n 명의 참가자가 온라인이어야 한다는 것입니다. 이것이 POA 명명의 유래이기도 합니다. POA 알고리즘의 유지 관리는 네트워크의 활성 노드에 따라 달라집니다.
POA 알고리즘의 이상적인 기본 프로세스는 POW 프로토콜과 마찬가지로 광부가 난이도 요구 사항을 충족하는 블록 헤드를 구축하고 광부가 얻은 블록 헤드를 통해 N 개의 동전 수를 계산하여 블록 체인에서 이러한 동전의 현재 참가자를 얻을 수 있다는 것입니다. 광부들은 이 머리카락을 n 명의 참가자들에게 보냈는데, 그 중 상위 N- 1 개 참가자가 이 블록을 검사하고 서명하고, 마지막 N 번째 참가자가 이 블록에 거래를 검사하고 추가하여 이 블록을 풀면 이 블록이 완성된다.
다음 그림은 이상적인 프로세스를 보여 줍니다.
실제로 네트워크의 모든 참가자가 온라인 상태라는 보장은 없고, 온라인이 아닌 참가자는 확인 및 서명할 수 없으며, 확인 및 서명할 수 없는 블록 헤더는 폐기됩니다.
즉, 실제 작업에서는 발굴자가 블록 헤더를 구성하고 모든 참가자에게 서명을 브로드캐스트하는 동시에 새 블록 헤더를 계속 재구성하여 이전 블록 헤드에서 내보낸 N 명의 참가자 중 한 명이 온라인이 아닌 것을 방지해야 합니다. 이로 인해 블록 헤드가 폐기됩니다.
따라서 이 경우 한 블록이 확인되는지 여부는 광부의 컴퓨팅 능력뿐만 아니라 인터넷상의 온라인 비율과 관련이 있습니다.
순수 POW 에 비해 비트코인 (POW) 과 같은 시간에 10 분을 생성하면 POA 는 오프라인 참가자로 인해 손실을 입게 됩니다. 따라서 광부들은 10 분 안에 만들 수 있는 정사각형의 수가 더 많을 것이다. 즉, 네모난 머리의 난이도가 낮아지고 광부들이 채굴 과정에서 발생하는 에너지 손실도 줄어든다.
순수 POS 에 비해 POA 의 블록 프로세스는 블록 프로세스의 관련 정보를 링크하지 않으므로 블록 체인에서 유지 관리 프로토콜을 위해 생성되는 중복 정보의 양을 크게 줄일 수 있습니다.
이 섹션에서는 항소 계약의 일부 매개 변수 설정을 분석합니다.
광부들이 블록 헤드를 구성한 후 블록 헤드를 검사하고 블록을 구성하는 N 명의 참가자 수의 선택은 비트코인에 있는 각 블록의 출블록 시간 선택과 유사합니다. 비트코인에서 각 블록의 예상 시간으로 10 분을 선택하고 난이도를 동적으로 조정하여 맞춥니다.
여기서 n 의 값도 선택하거나 동적으로 조정할 수 있습니다. 동적 튜닝에는 보다 복잡한 프로토콜 컨텐츠가 필요합니다. 이로 인해 블록 체인의 데이터가 팽창하고 복잡한 프로토콜이 공격자의 공격 가능성을 높일 수 있습니다. 게다가, 당분간 동적 조정이 어떤 이득을 가져올 수 있는지를 증명할 방법이 없다. 정적 조정은 후속 분석 (4 보안 분석) 에서 N=3 값을 얻을 수 있으므로 더 적합합니다.
위의 설명에서 볼 수 있듯이 광부 외에 N 개 주주가 블록 헤드에서 파생된 것을 알 수 있다. (윌리엄 셰익스피어, 광부, 광부, 광부, 광부, 광부, 광부, 광부) 새로운 블록을 만든 후, 이 참가자들도 온라인 상태를 유지할 수 있는 인센티브를 받아야 한다.
광부와 참가자의 불균형 비율은 참가자의 온라인 상태와 관련이 있다. 참가자들에게 주는 인센티브는 그들의 온라인 유지 열정과 밀접한 관련이 있다. 온라인 참가자가 많을수록 네트워크의 안정성이 향상됩니다. 따라서 인터넷에 온라인 참가자가 부족할 경우 참가자의 인센티브를 증가시켜 더 많은 참가자들이 인터넷을 이용하도록 자극할 수 있습니다.
현재 참가자의 온라인 상태를 어떻게 확인할 수 있습니까? 마지막 참가자가 블록을 구성할 수 있을 때 구성되지만 버려진 블록 헤드가 블록에 추가됩니다. 버려진 블록 수가 너무 많으면 온라인 인원수가 너무 낮아 공유 비율을 조정해야 한다.
동시에, 마지막 N 번째 참가자와 다른 참가자의 구분도 고려해야 한다. N 번째 참가자는 트랜잭션을 블록에 추가해야 합니다. 즉, UTXO 풀을 유지 관리하고 n 번째 참가자는 삭제된 블록 헤더를 새로 구성된 블록에 추가해야 합니다.
버려진 블록 헤드를 새로 구성된 블록에 추가하도록 장려하기 위해 추가된 블록 헤드에 따라 약간의 인센티브를 추가할 수 있습니다. 더 많은 나무꾼을 추가하면 다음 라운드의 분할 비율을 높일 수 있지만, 참가자들이 사용되지 않는 나무꾼을 블록에 추가하도록 동기를 부여할 수 있을 것이다. (여기서 참가자들은 나누기를 늘리기 위해 더 많은 나무꾼을 추가할 수 없다. 각 나무꾼은 광부의 작업량을 의미한다.)
참가자는 UTXO 풀을 유지하지 않고 블록을 구성할 수는 없지만 상위 N- 1 개의 서명에 참여할 수 있습니다. 따라서 참가자들이 UTXO 풀을 유지하도록 격려하기 위해, 마지막으로 블록을 짓는 참여자로서, 예를 들어 다른 참가자보다 두 배 더 많은 인센티브를 주어야 합니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 스포츠명언)
3.2 의 설명에서 한 사용자가 온라인 상태이고 UTXO 풀을 유지 관리해야 최대한의 혜택을 얻을 수 있다는 것을 알 수 있습니다. 이 메커니즘은 필연적으로 일부 사용자가 중앙 집중식 기관에 계좌를 위임하게 될 것이다. 이 조직은 항상 온라인 상태를 유지하고, 사용자를 위해 계정을 유지하며, 건물 블록의 참가자로 선정될 때 블록 건설에 참여하고 이익을 얻습니다. 마지막으로, 조직은 수입을 몇 가지 형식으로 나누었다.
앞서 언급했듯이 참가자는 자신의 키로 서명해야 하며, 조직에 위임한 후 해당 조직은 이 키로 블록에 서명할 수 있으며, 이 키로 사용자의 재산을 소비할 수도 있습니다. 여기서, 너는 비용이 제한된 열쇠를 사용할 수 있다. 이 열쇠는 두 가지 역할을 한다. 하나는 계정의 일부 재산을 소비하는 것이고, 다른 하나는 모든 재산을 지정된 계좌로 이전하는 것이다. 보관할 때 이 열쇠를 사용하여 일부 재산이 이미 다 써버렸다는 소식을 듣고 재산의 안전을 보장한 경우 즉시 모든 재산을 자신의 다른 계좌로 이전할 수 있다.
위의 분석에서 볼 수 있듯이 POA 의 보안은 공격자가 보유한 컴퓨팅 능력과 지분과 관련이 있습니다. 공격자가 온라인 지분의 일정 비율을 가지고 있다고 가정하면 공격자의 컴퓨팅 능력은 다른 모든 컴퓨팅 능력의 두 배가 되어야 분기점에 도달할 수 있습니다. 공격자의 총 지분 비율과 네트워크에서 정직한 사용자의 온라인 비율이 0 이라고 가정하면 공격자의 컴퓨팅 능력은 다른 모든 컴퓨팅 능력의 두 배가 되어야 공격을 실현할 수 있습니다.
공격 분석 테이블은 다음과 같습니다.
위의 분석에서 볼 수 있듯이 POA 알고리즘은 다른 알고리즘에 비해 네트워크 토폴로지를 개선하고, 온라인 노드의 비율을 유지하며, 트랜잭션 비용을 줄이고, 알고리즘 식별 중 에너지 소비를 줄일 수 있습니다. 동시에, PoA 프로토콜의 공격 비용은 비트코인의 순수 PoW 프로토콜보다 높다.
참조: 활성 증명: 스택 증명을 통해 coin 을 확장하는 작업 증명