본문 바로가기

CryptoCurrency

APTOS에 대한 내용들 part.3

Aptos는 HotStuff를 기반으로 AptosBFT라는 자체 합의 알고리즘을 사용합니다. 이 알고리즘은 pBFT의 Practical Byzantine Fault Tolerance를 기반으로 합니다.

Aptos는 업계에서 가장 빠르고 확장 가능한 것을 목표로 하는 새로운 L1 블록체인입니다. 대기 시간이 1 초 미만인 160,000 tps를 달성할 수 있으므로 트랜잭션이 1 초 내에 확인됩니다.

Aptos는 Move라는 새로운 프로그래밍 언어와 VM 이동 (가상 머신)을 사용합니다. 두 기술 모두 원래 Meta (Facebook)가 자금을 지원하는 블록체인 프로젝트 인 Diem을 위해 개발되었습니다. Diem 프로젝트가 2022년 3월에 Silvergate Network에 매각되었을 때, 전 Diem 엔지니어 그룹이 Aptos를 만들기 위해 나름대로의 방법을 사용했습니다.

다른 블록 체인과 마찬가지로 Aptos는 새로운 블록과 트랜잭션을 승인하는 절차 인 합의 알고리즘을 가지고 있습니다. Aptos의 알고리즘은 AptosBFT라고 불리며, 원래 Diem을 위해 개발된 DiemBFT와 매우 유사합니다.

Aptos 합의는 양파 또는 러시아 인형 또는 작은 선물 상자가 모두 더 큰 선물로 들어가는 중첩 선물 상자와 같습니다. 레이어를 하나씩 벗겨 낼 것입니다.

먼저, BFT 비잔틴 내결함성과 그것이 블록체인에 왜 그렇게 중요한지에 대해 이야기할 것입니다. 다음으로, 표준 BFT 합의가 어떻게 작동하는지, 그리고 왜 완벽하지 않은지에 대해 논의 할 것입니다. 그런 다음 실용적인 BFT 합의 또는 pBFT를 살펴 보겠습니다. 양파의 다음 계층은 HotStuff - 블록 체인이 100,000 tps 이상의 속도에 도달할 수 있게 해주는 BFT의 선구적인 구현입니다. 마지막으로, 우리는 Aptos가 HotStuff 합의를 AptosBFT로 수정 한 방법과 가장 안전한 L1 블록체인을 구축하기 위해 Aptos Incentivized Testnet (AIT)을 통해 스트레스 테스트를 수행하는 방법을 살펴보겠습니다. 네트워크는 일부 구성원이 악의적으로 전환하거나 오프라인 상태가 되더라도 정상적으로 계속 작동 할 수 있다면 비잔틴 내결함성이라고 합니다.

소위 비잔틴 결함 (실패)은 블록 체인에만 국한된 것이 아니라 게임 이론에서 유명한 문제입니다. 적을 공격해야 하는지 여부를 집단적으로 결정해야 하는 장군 그룹을 상상해보십시오. 그러나 두 가지 문제가 있습니다.

1. 각 장군은 자신의 캠프에 있으므로 중위에게 메시지를 보내 의사 소통을해야합니다.

2. 장군 중 일부는 반역자이며 실제로 전투에서 패배하기를 원합니다. 그들은 최악의 전략에 투표하거나, 합의에 도달하지 못하도록 다른 동료에게 상충되는 메시지를 보내거나, 심지어 전혀 보내지 않을 수도 있습니다.

군대를 구하기 위해 좋은 장군들은 나쁜 행위자의 존재에도 불구하고 다수결을 내릴 수있는 방법이 필요합니다. 블록체인의 경우, 이는 제대로 작동하는 노드가 일부 노드가 악의적으로 행동하거나 단순히 충돌하더라도 블록이 유효한지 여부를 올바르게 결정할 수 있어야 한다는 것을 의미합니다.

여기서 "'악의적으로 행동함''은 노드가 유효하지 않은 블록 또는 트랜잭션이 유효하다고 선언하거나 그 반대의 경우도 마찬가지임을 의미합니다. 예를 들어, 거래가 이중 지출 (동일한 주소에서 이미 지출 된 동전을 사용함)이라면 유효하지 않지만 이중 지출은 나쁜 행위자가 하고 싶어 하는 것입니다. 그러나 실수로 노드에 결함이 생길 수도 있습니다.

비잔틴 내결함성 블록 체인을 구축하는 것은 네트워크가 분산되어 있기 때문에 특히 까다 돕기 때문에 어떤 노드가 정확하거나 잘못된 메시지를 보내고 있는지 알거나 확인할 방법이 없습니다.

왜 '비잔틴'인가? 문제의 이름이 어디에서 왔는지 말하기는 어렵지만, 비잔틴 인들은 배신적이고 비열하며 묵인하는 것으로 유명했습니다.


Bitcoin의 신비한 제작자 인 Satoshi Nakamoto는 비잔틴 결함 문제를 알고 있었으며 그의 설루션은 높은 가격으로 제공되지만 매우 강력합니다. 블록을 제안 (방송) 하기 위해 Bitcoin 노드는 복잡한 암호화 퍼즐에 대한 설루션을 제안해야 하며 다른 모든 노드는 이를 수락하거나 거부해야 합니다. 이렇게 하면 유효하지 않은 블록이 신속하게 식별되고 다른 블록을 속이려는 모든 시도는 악의적인 '일반'중요한 리소스를 소비합니다.

이것이 작업 증명 마이닝의 힘이지만, 플립 사이드는 모든 노드가 다른 사람들이 제출하는 모든 것을 확인해야한다는 것입니다. 즉, 각 장군은 다른 모든 장군이 보낸 모든 단일 메시지를 읽어야 합니다 - 매 초마다 수십억 개의 메시지를 읽어야 합니다. Bitcoin은 아마도 가장 비잔틴 내결함성 블록체인 일 것이지만 느리고 비싸며 엄청난 양의 에너지를 소비하기 때문에 많은 에너지와 시간이 걸립니다.

요즘 Aptos를 포함한 대부분의 새로운 L1 블록 체인은 작업 증명보다는 비잔틴 내결함성 지분 증명 합의의 일부 버전을 사용합니다. 이러한 모델 중 많은 공통점이 있는 한 가지는 노드가 악성으로 변하는 노드의 최대 삼분의 일까지 용인할 수 있다는 것입니다


당신이 괜찮은 비잔틴 장군이고 책상에 앉아있는 동료들의 메시지 더미가 있는데, 각각은 '공격'또는 '퇴각'이라고 말합니다. 당신은 무엇을 할 것인가요?


장군 중 일부는 반역자라고 의심하지만 정확히 누가 누구인지는 알 수 없습니다. 따라서 최선의 선택은 모든 '공격'과 모든 '후퇴'메시지를 계산하고 가장 많은 표를 얻은 전략을 고수하는 것입니다. 여기서 우리는 모든 충성스러운 장군들이 더 나은 전략 (공격한다고 가정해 봅시다)에 투표할 것이고 모든 반역자들은 패배 전략 (퇴각)을 선택할 것이라고 가정합니다.