저자: 0xmiddle
AO는 무한히 슬라이스되고 무한히 확장 가능한 네트워크로 이해할 수 있습니다. 각 프로세스는 하나의 슬라이스입니다.
AO는 전통적인 의미의 블록체인이 아닙니다. 직관적이지 않고 반직관적인 설계는 AO를 처음 접하는 연구자들이 특히 전통적인 블록체인 아키텍처의 관점에서 AO를 이해하려고 할 때 특정 지점에서 혼란스러워하는 경향이 있습니다.
1. 비-PoS, 비-PoW, AO가 말하는 '홀로그램 합의'는 어떤 종류의 합의인가?
2. "어떤 종류의 합의 메커니즘인가요?
2. 해시 체인이나 블록이 없을 때 AO는 어떻게 데이터 불변성을 보장하나요?
3. 조정 허브 없이 AO는 어떻게 글로벌 상태 일관성을 보장하나요?
4. 이중화된 컴퓨팅 시스템이 없다면 계산의 신뢰성은 누가 보장하나요? 계산이 잘못되면 어떻게 되나요?
5. 공유 보안이 없다면 프로세스 간의 상호 운용성을 어떻게 보장할 수 있나요?
블록체인에서 이미 모두에게 익숙한 개념을 사용하여 3가지 관점을 통해 알려진 것에서 미지의 것으로, 미지의 것을 알려진 것으로 전환하여 지각 수준에서 AO를 이해하도록 돕겠습니다.
스플릿 퍼스펙티브.
이더 2.0, 보카, 니어 등과 같은 퍼블릭 체인에서 교육을 받은 우리는 "샤딩"에 대해 낯설지 않을 것입니다.
샤딩의 개념: 블록체인에서 샤딩은 네트워크를 여러 개의 샤드로 분할하여 각각 독립적으로 거래를 검증 및 처리하고 자체 블록을 생성함으로써 네트워크 확장성을 개선하여 전체 네트워크 효율성을 향상시키는 솔루션입니다. 슬라이스 내에서는 동기식 상호운용성을, 슬라이스 간에서는 특정 통신 프로토콜을 통해 비동기식 상호운용성을 달성할 수 있습니다.
Polkadot은 가장 대표적인 샤딩 아키텍처입니다. 폴카닷에서 각 병렬 체인은 슬라이스이며, 병렬 체인은 독립적으로 자신의 블록체인을 수집하고 패키징하며, 릴레이 체인에서 무작위로 할당된 검증자 패널이 이를 검증합니다. 병렬 체인은 상호 운용성을 위해 통합된 XCM 메시지 형식으로 서로 통신합니다.
AO의 극단적인 세분화
세분화의 관점에서 보면 AO는 일종의 극단적인 세분화로 해석할 수 있습니다. "각 프로세스는 하나의 조각입니다. 이더리움의 모든 스마트 컨트랙트가 별도의 슬라이스에서 실행된다면 어떨지 상상해 보세요. 각 프로세스는 독립적이며, 프로세스 간의 호출은 메시지 중심으로 이루어지고 완전히 비동기적인 방식으로 이루어집니다.
모듈적 관점
하지만 여기서 우리가 발견한 핵심은 Polkadot의 디자인에 '릴레이 체인'이 있다는 점입니다. 폴카닷의 설계에는 "릴레이 체인"이 있고, 이더리움 2.0에는 공유 보안을 제공하는 통합 합의 레이어 역할을 하는 "비콘 체인"이 있습니다. 통합 합의 레이어는 모든 슬라이스와 슬라이스 간 메시징에 대해 직간접적인 검증 서비스를 제공하는 역할을 담당합니다. AO에는 이 구성 요소가 없는 것 같은데, AO의 합의 계층은 어떻게 설계되어 있나요?
AO의 합의 계층은 실제로 Arweave이며, 모듈 방식으로 보면 Arweave를 L1 롤업으로 삼아 Arweave의 L2라고 생각할 수 있으며, AO 네트워크에서 생성된 모든 메시지의 로그는 영구 저장을 위해 Arweave에 업로드됩니다. 영구 저장, 즉 Arweave에 AO 네트워크 작동에 대한 불변의 기록이 있다는 뜻입니다. 그렇다면 Arweave는 탈중앙화된 스토리지 플랫폼이고 컴퓨팅 파워가 많지 않은데, AO 네트워크에 업로드된 데이터의 유효성을 어떻게 검증하나요?
답변: Arweave는 검증하지 않으며, AO 네트워크에는 자체적인 낙관적 중재 메커니즘이 있으며, Arweave는 AO 네트워크의 데이터를 액면 그대로 받아들이며, 각 메시지에는 발신자의 프로세스 ID, 이를 실행한 CU의 서명, 이를 주문한 SU의 서명이 포함되어 있습니다. 각 메시지에는 메시지를 실행한 CU의 서명과 이를 분류한 SU의 서명이 포함됩니다. 분쟁이 발생하면 Arweave의 불변 메시지 레코드에 의존하여 추가 노드를 불러들여 재계산을 수행하여 올바른 포크를 생성하고, 잘못된 포크 원본을 폐기하고, 올바른 포크에서 실수를 저지른 CU 또는 SU의 예치금을 몰수할 수 있습니다. 여기서 MU는 프로세스에서 보류 중인 메시지를 수집하여 SU에게 전달하는 역할만 담당하며, 이는 신뢰할 수 없고 예치금을 요구하거나 몰수를 수반하지 않는다는 점에 유의하세요.
AO는 검증 챌린지 프로세스가 L1이 아닌 AO 네트워크 자체에서 이루어진다는 점을 제외하면 Arweave를 L1으로 사용하는 옵티미스틱 롤업과 매우 유사합니다.
그러나 여기에는 여전히 문제가 있습니다. 모든 메시지가 Arweave에 포함될 때까지 기다렸다가 확인할 수 없으며, 실제로 Arweave의 최종 결정이 내려지는 데 30분 이상 걸립니다. 따라서 이더의 롤업에 자체적인 소프트 합의 레이어가 있는 것처럼 AO에도 자체적인 소프트 합의 레이어가 있으며, 대부분의 트랜잭션은 예약되기 전에 L1 확인을 기다리지 않을 것입니다.
AO의 프로세스는 실제로 자체적으로 검증의 강도를 결정합니다.
메시지 수신자인 프로세스는 메시지를 처리하기 전에 Arweave의 확인을 기다릴지, 소프트 컨센서스 계층에서 확인된 메시지를 처리할지 결정하며, 소프트 컨센서스 계층에서도 단일 CU가 확인하면 메시지를 처리하거나 여러 CU가 중복해서 처리하는 유연한 전략을 채택할 수 있습니다. 소프트 합의 확인 과정에서도 단일 CU가 확인한 후 처리하거나 여러 CU가 중복으로 확인하고 교차 검증한 후 처리하는 유연한 전략을 채택할 수 있으며, 중복 수준도 Process에 의해 결정됩니다.
실제 검증의 강도는 종종 트랜잭션의 양과 관련이 있으며, 예를 들어
소액 거래, 빠른 검증 전략 사용, 단일 확인 지점 처리
단일 확인 지점 처리
단일 확인 지점 처리와 같이 트랜잭션의 양에 따라 달라질 수 있습니다. align: left;">중간 금액 거래는 특정 금액에 따라 다양한 수준의 중복성을 갖춘 여러 확인 지점을 통해 처리됩니다
고액 거래는 Arweave 네트워크에서 확인되는 신중한 검증 전략으로 처리됩니다
이것을 AO는 "홀로그램 합의" + "탄력적 검증" 모델이라고 부르며, 검증 가능성과 검증 행위를 분리함으로써 보다 효율적이고 효과적인 거래 검증 방법을 제공할 수 있습니다. "검증 가능성과 검증 행위를 분리함으로써 AO는 기존 블록체인과는 완전히 다른 합의 방식을 취하며, 메시지 검증에 대한 책임은 네트워크 자체가 아니라 수신 프로세스 자체 또는 애플리케이션 개발자에게 있습니다."라고 설명합니다.
이런 합의 모델 덕분에 AO는 '극단적인 샤딩'을 통해 피벗이 없고 무한히 확장 가능한 모델을 채택할 수 있었습니다.
물론 탄력적 검증은 프로세스마다 검증 강도가 달라서 복잡한 상호운용성에서 신뢰 체인이 깨질 수 있으며, 긴 콜 체인에서 개별 링크의 실패가 전체 트랜잭션 실패나 오류로 이어질 수 있으며 실제로 AO 테스트 네트워크 단계에서는 이러한 문제가 이미 노출된 바 있습니다. 노출된 바 있습니다. AO는 모든 검증 작업에 대해 최소한의 강도 기준을 설정해야 한다고 생각하며, 곧 출시될 공식 네트워크에서는 어떤 새로운 설계를 내놓을지 지켜보겠습니다.
자원 관점
기존 블록체인 시스템에서 자원은 '블록 공간'으로 추상화됩니다. 블록 공간은 노드가 제공하고 온체인 블록이 유기적으로 결합하여 온체인 애플리케이션이 실행될 수 있는 캐리어를 제공하는 저장, 연산 및 전송 자원의 집합으로 이해할 수 있습니다. 블록 공간은 유한한 자원이며, 기존 블록체인에서는 여러 애플리케이션이 블록 공간을 두고 경쟁하여 비용을 지불해야 하고, 노드는 이 지불을 통해 이익을 얻습니다.
AO에는 블록의 개념이 없으며, 당연히 "블록 공간"이라는 개념도 없습니다. 그러나 체인의 다른 스마트 컨트랙트와 마찬가지로 AO의 각 프로세스는 실행 시 자원을 소비해야 합니다. 트랜잭션과 상태 데이터를 임시로 저장하기 위해 노드가 필요하고, 이를 위해 연산 작업을 수행하기 위해 연산 자원을 소비하는 노드가 필요하며, 프로세스가 보내는 메시지는 MU와 SU가 대상 프로세스에 전송해야 합니다.
AO에서 노드는 CU(계산 단위), MU(메시지 단위), SU(정렬 단위)의 세 가지로 구분되는데, CU는 계산 작업의 핵심이고 MU와 SU는 통신 작업의 핵심입니다. 프로세스가 다른 프로세스와 상호 작용해야 하는 경우 메시지를 생성하여 발신 대기열에 저장합니다. 프로세스를 실행하는 CU는 메시지에 서명하고, MU는 발신 대기열에서 메시지를 추출하여 SU에 제출하면 SU는 메시지에 고유 일련 번호를 부여하고 영구 저장을 위해 Arweave에 업로드합니다. 그러면 MU가 메시지를 대상 프로세스의 인바운드 대기열로 전달하면 메시지 전달이 완료됩니다. MU는 메시지의 수집 및 전달자, SU는 메시지의 시퀀서 및 업로더로 이해할 수 있습니다.
저장 자원의 경우, AO 네트워크의 MU는 연산에 필요한 임시 데이터만 저장하고 연산이 완료되면 이를 폐기하면 됩니다. 영구적인 스토리지를 담당하는 것은 Arweave입니다. Arweave는 수평적 확장이 불가능하지만 스토리지 성능 상한선이 매우 높으며, 당분간 AO 네트워크의 스토리지 요구 사항은 Arweave의 상한선을 넘지 못할 것입니다.
AO 네트워크의 컴퓨팅, 전송, 스토리지 리소스가 분리되어 있으며, Arweave에서 제공하는 통합 스토리지 리소스를 제외하고는 컴퓨팅 및 전송 리소스를 제한 없이 수평적으로 확장할 수 있다는 것을 확인했습니다.
고성능 CU 노드가 네트워크에 점점 더 많이 참여할수록 네트워크의 컴퓨팅 파워는 높아지고 더 많은 프로세스를 지원할 수 있으며, 마찬가지로 고성능 MU 및 SU 노드가 점점 더 많이 참여할수록 네트워크의 전송 효율은 더 빨라집니다. 즉, AO의 '블록 공간'은 지속적으로 생성될 수 있습니다. 애플리케이션의 경우, 오픈 마켓에서 퍼블릭 CU, MU, SU 노드를 구매하거나 자체 프라이빗 노드를 운영하여 자체 애플리케이션을 서비스할 수 있습니다. 애플리케이션의 비즈니스가 확장되면 웹2.0 애플리케이션이 그랬던 것처럼 자체 노드를 확장하여 성능을 향상시킬 수 있습니다. 이는 기존 블록체인에서는 상상할 수 없는 일입니다.
자원 가격 수준에서 AO는 수요와 공급에 따라 유연하게 조정할 수 있으므로 자원의 공급을 수요에 맞춰 확장할 수 있습니다. 이 규정은 매우 반응성이 뛰어나며 노드를 매우 빠르게 추가하고 제거할 수 있습니다. 이더리움을 되돌아보면 자원 수요가 급증하면 노드 수를 늘려서 성능을 개선할 수 없기 때문에 높은 가스비를 감내할 수밖에 없다는 것을 알 수 있습니다.
요약
위에서는 샤딩, 모듈성, "샤딩"이라는 용어 사용 등 대부분의 암호화폐 연구자들이 잘 알고 있는 개념에 대해 살펴봤습니다. ", "모듈성", "롤업", "블록 공간" 등 AO의 원리와 메커니즘을 자세히 살펴보며 다음과 같은 이해를 도왔습니다. AO가 파괴적 혁신을 통해 거의 무한한 확장을 달성할 수 있는 방법.
자, 이제 첫 번째 질문을 되돌아보면서 이해가 되셨나요?
1. AO가 말하는 '홀로그램 합의'는 어떤 종류의 합의 메커니즘인가요?
AO의 합의 메커니즘은 사실 옵 롤업에 가까운 설계입니다. 하드 합의 수준에서는 Arweave에 의존하고, 소프트 합의 수준에서는 각 프로세스가 검증의 강도와 중복성 계산에 사용할 CU 노드 수를 스스로 결정할 수 있습니다.
2. AO는 어떻게 해시 체인이나 블록 없이 데이터 불변성을 보장하나요?
아르위브에 업로드된 DA 데이터는 불변성이므로 단위 시간당 처리 용량을 제한할 필요가 없고 따라서 블록을 설정할 필요가 없는 AO에서 모든 연산과 전송에 대한 검증 가능성을 제공합니다. "데이터 불변성을 보장하는 데 사용되는 구조인 해시 체인과 블록은 Arweave 체인에서 사용할 수 있습니다.
3. 조정 허브 없이 AO는 어떻게 글로벌 상태 일관성을 보장하나요?
각 프로세스는 트랜잭션과 상태를 독립적으로 관리하는 별도의 '슬라이스'이며, 프로세스는 메시지 중심 방식으로 서로 상호 작용합니다. 따라서 글로벌 상태 일관성이 필요하지 않습니다. Arweave의 영구 저장소는 글로벌 검증 가능성 및 기록 추적성을 제공하며, 낙관적인 이의 제기 메커니즘과 결합하여 분쟁 해결에 사용할 수 있습니다.
4. 이중화 컴퓨팅 시스템 없이 계산의 신뢰성은 누가 보장하나요? 계산이 잘못되면 어떻게 되나요?
AO에는 전 세계적으로 적용되는 이중화 알고리즘이 없으며, 전송되는 각 메시지의 신뢰성을 검증하는 방법은 각 프로세스에 달려 있습니다. 계산 오류가 발생하면 낙관적 도전의 형태로 이를 감지하고 수정할 수 있습니다.
5. 공유 보안 없이 어떻게 프로세스 간 상호 운용성을 보장할 수 있나요?
프로세스는 상호 운용되는 각 프로세스의 자격 증명을 관리해야 하며, 보안 수준이 서로 다른 프로세스에 서로 다른 수준의 인증 강도를 적용할 수 있습니다. 복잡한 콜 체인과의 상호 운용의 경우, 신뢰 체인의 손상으로 인한 높은 오류 수정 비용을 피하기 위해 AO에 최소한의 유효성 검사 강도 요구 사항이 있을 수 있습니다.