Aleo는 개인 정보 보호에 중점을 둔 블록체인 프로젝트로, 영지식 증명 기술(ZKP)을 통해 더 높은 개인 정보 보호와 확장성을 달성합니다. Aleo의 핵심 아이디어는 사용자가 개인 데이터를 공개하지 않고 데이터를 인증하고 처리할 수 있도록 하는 것입니다.
이번 글에서는 주로 Aleo의 프로젝트 개요와 최신 진행 상황을 소개하고, 시장이 크게 우려하고 있는 퍼즐 알고리즘 업데이트에 대한 자세한 설명을 제공합니다.
최신 알고리즘 미리보기
Aleo 네트워크는 매 시간마다 무작위로 ZK 회로를 생성합니다. 채굴자는 이 시간 동안 회로의 입력으로 다른 nonce를 시도하고 증인(즉, 회로의 모든 변수, 이 계산 프로세스를 합성이라고도 함)을 계산해야 합니다. 증인의 머클 루트를 찾습니다. 마지막으로 채굴 난이도 요구 사항을 충족하는지 확인합니다. 회로의 무작위성으로 인해 이 마이닝 알고리즘은 GPU 친화적이지 않으며 가속 계산에 큰 어려움을 겪습니다.
자금 조달 배경
Aleo는 Kora Management, SoftBank Vision Fund 2, Tiger Global, Sea Capital, Slow Ventures 및 Samsung을 포함한 투자자와 함께 2021년 a16z가 주도하는 2,800만 달러 규모의 시리즈 A 라운드 자금 조달을 완료하고, 2024년에는 2억 달러 규모의 시리즈 B 자금 조달을 완료했습니다. 다음으로, 무엇보다도. 이번 자금 조달로 Aleo의 가치는 14억 5천만 달러에 달합니다.
프로젝트 개요
은둔
Aleo의 핵심에는 개인 정보를 유지하면서 거래와 스마트 계약 실행을 수행할 수 있는 영지식 증명(ZKP) 기술이 있습니다. 보낸 사람, 거래 금액 등 사용자의 거래 세부 정보는 기본적으로 숨겨집니다. 이 디자인은 사용자의 개인 정보를 보호할 뿐만 아니라 필요한 경우 선택적 공개를 허용하므로 DeFi 애플리케이션 개발에 매우 적합합니다. 주요 구성 요소는 다음과 같습니다.
Leo 컴파일 언어: Rust 언어에서 채택되었으며 특히 영지식 애플리케이션(ZKApps)을 개발하는 데 사용되어 개발자의 암호화 지식 요구 사항을 줄입니다.
snarkVM 및 snarkOS: snarkVM을 사용하면 오프체인에서 계산을 수행할 수 있으며, 계산 결과만 온체인에서 검증되므로 효율성이 향상됩니다. snarkOS는 데이터 및 계산의 보안을 보장하고 무허가 기능 실행을 허용합니다.
zkCloud: 안전한 비공개 오프체인 컴퓨팅 환경을 제공하여 사용자, 조직 및 DAO 간의 프로그래밍 상호 작용을 지원합니다.
Aleo는 또한 개발자가 애플리케이션을 신속하게 작성하고 게시할 수 있도록 지원하는 통합 개발 환경(IDE)과 소프트웨어 개발 키트(SDK)를 제공합니다. 또한 개발자는 제3자에 의존하지 않고 Aleo의 프로그램 레지스트리에 애플리케이션을 배포할 수 있어 편리합니다. 플랫폼 위험 감소 .
확장성
Aleo는 오프체인 처리 방식을 채택하여 이를 증명하기 위해 먼저 사용자의 장치에서 거래를 계산한 다음 검증 결과만 블록체인에 업로드합니다. 이 방법은 트랜잭션 처리 속도와 시스템 확장성을 크게 향상시키고 이더리움과 유사한 네트워크 정체와 높은 수수료를 피합니다.
합의 메커니즘
Aleo는 검증자의 즉각적인 최종성과 증명자의 컴퓨팅 능력을 결합한 하이브리드 아키텍처 합의 메커니즘인 AleoBFT를 소개합니다. AleoBFT는 네트워크의 분산화를 증가시킬 뿐만 아니라 성능과 보안도 향상시킵니다.
빠른 블록 최종성: AleoBFT는 각 블록이 생성 후 즉시 확인되도록 보장하여 노드 안정성과 사용자 경험을 향상시킵니다.
탈중앙화 보장: 블록 생성과 코인베이스 생성을 분리하여 검증자는 블록 생성을 담당하고 증명자는 소수의 주체가 네트워크를 독점하는 것을 방지하기 위해 증명 계산을 수행합니다.
인센티브 메커니즘: 검증자와 인증자는 블록 보상을 공유합니다. 인증자는 토큰을 약속하여 검증자가 되도록 권장되어 네트워크의 분산화 및 컴퓨팅 성능을 향상시킵니다.
Aleo를 사용하면 개발자는 가스 제약이 없는 애플리케이션을 만들 수 있으므로 기계 학습과 같은 장기 실행 애플리케이션에 특히 적합합니다.
현재 진행상황
Aleo는 7월 1일에 인센티브 테스트넷을 출시할 예정입니다. 다음은 몇 가지 중요한 최신 정보입니다.
ARC-100 투표 통과: ARC-100(Aleo 네트워크의 자금 잠금 및 지불 지연과 같은 규정 준수 측면, 보안 조치를 다루는 Aleo 개발자 및 운영자를 위한 규정 준수 모범 사례 제안)에 대한 투표가 종료되어 통과되었습니다. 팀에서는 최종 조정을 진행 중입니다.
검증인 인센티브 프로그램: 이 프로그램은 7월 1일에 시작되며 새로운 퍼즐 메커니즘을 검증하도록 설계되었습니다. 이 프로그램은 7월 15일까지 진행되며, 이 기간 동안 100만 Aleo 포인트가 보상으로 배포됩니다. 노드에서 생성된 포인트 비율에 따라 보상 공유가 결정되며, 각 검증인은 보상을 받으려면 최소 100개의 토큰을 획득해야 합니다. 구체적인 내용은 아직 확정되지 않았습니다.
초기 공급량 및 순환 공급량: 초기 공급량은 15억 개의 토큰이고 초기 순환 공급량은 약 10%입니다(아직 확정되지 않음). 주로 Coinbase 작업(7,500만 개)에서 파생된 토큰은 처음 6개월 동안 배포되며 스테이킹, 검증자 실행 및 노드 검증에 대한 보상을 포함합니다.
테스트넷 베타 재설정: 이것은 마지막 네트워크 재설정입니다. 완료되면 새로운 기능이 추가되지 않으며 네트워크는 메인넷과 유사합니다. ARC-41 및 새로운 퍼즐 기능을 추가하려면 재설정하세요.
코드 동결: 일주일 전에 코드 동결이 완료되었습니다.
검증 노드 확장 계획: 초기 검증 노드 수는 15개이며, 연내 50개로 늘려 최종 500개 도달을 목표로 하고 있습니다. 위임자가 되려면 10,000개의 토큰이 필요하고 검증자가 되려면 1,000만 개의 토큰이 필요하며, 이 양은 시간이 지남에 따라 점차 감소합니다.
알고리즘 업데이트 해석
Aleo는 최근 최신 테스트넷 뉴스를 발표했지만 최신 버전의 퍼즐 알고리즘도 업데이트했습니다. 새로운 알고리즘은 더 이상 zk 증명 결과 생성에 중점을 두지 않으며 MSM과 NTT(둘 다 zk에서 많이 사용되는 계산)를 제거했습니다. 증명 생성) 모듈에서 이전 테스트넷 참여자들은 증명을 생성하기 전 중간 데이터 증인 생성에 중점을 두고 채굴 수익 증가를 위해 알고리즘의 효율성을 최적화했습니다. 공식 퍼즐 스펙 과 코드를 참고한 후 최신 알고리즘에 대해 간략하게 소개하겠습니다.
합의 과정
합의 프로토콜 수준에서 프로세스의 증명자와 검증자는 각각 계산 결과 솔루션과 블록 생성, 집계 및 패키징 솔루션 생성을 담당합니다. 프로세스는 다음과 같습니다.
증명자는 퍼즐을 계산하고 솔루션을 구축하며 이를 네트워크에 방송합니다.
검증인은 트랜잭션과 솔루션을 다음 새 블록으로 집계하여 솔루션 수가 합의 한도(MAX_SOLUTIONS)를 초과하지 않도록 보장합니다.
솔루션의 epoch_hash가 검증자가 유지하는 최신_epoch_hash와 일치하는지, 계산된proof_target이 네트워크에서 검증자가 유지하는 최신_proof_target과 일치하는지 검증해야 합니다. 동시에 블록에 포함된 솔루션의 개수도 마찬가지입니다. 합의 한계보다 작습니다.
효과적인 솔루션은 합의된 보상을 받을 수 있습니다.
합성 퍼즐
최신 버전의 알고리즘의 핵심은 Synesis Puzzle이라고 합니다. 그 핵심은 입력에 대한 R 1 CS 증명 회로를 구성하고 해당 R 1 CS 할당(즉, 모두가 언급한 증인)이 생성되고 머클 트리의 리프 노드로서 모든 리프 노드를 계산한 후 머클 루트가 생성되어 솔루션의proof_target으로 변환됩니다. 합성 퍼즐을 구축하기 위한 세부 과정 및 사양은 다음과 같습니다.
1. 각 퍼즐 계산은 채굴 보상을 받는 주소, epoch_hash 및 난수 카운터로 구성되는 논스(nonce)라고 합니다. 새로운 솔루션을 계산해야 할 때마다 카운터를 업데이트하여 새로운 논스를 얻을 수 있습니다.
2. 각 epoch에서 네트워크의 모든 증명자가 계산해야 하는 EpochProgram은 동일합니다. 이는 현재 epoch_hash에서 생성된 난수에 의해 설정된 명령에서 샘플링됩니다.
명령어 세트는 고정되어 있습니다. 각 명령어에는 하나 이상의 계산 작업이 포함되어 있습니다. 각 명령어에는 사전 설정된 가중치와 작업 횟수가 있습니다.
샘플링 시, 현재 epoch_hash를 기준으로 난수를 생성하며, 이 난수에 따라 명령어 세트에서 명령어를 얻어 가중치를 부여한 후, 누적 작업 횟수가 97에 도달하면 샘플링을 중지합니다.
모든 지침을 EpochProgram에 결합
3. Nonce를 난수 시드로 사용하여 EpochProgram의 입력을 생성합니다.
4. R 1 CS를 집계하고 EpochProgram에 해당하는 입력을 수행하고 Witness(R 1 CS 할당) 계산을 수행합니다.
5. 모든 증인이 계산된 후, 이 증인은 해당 머클 트리의 리프 노드 시퀀스로 변환됩니다. 머클 트리는 깊이가 8인 8개 요소 K-ary 머클 트리입니다.
6. 머클 루트를 계산하여 솔루션의proof_target으로 변환하고, 현재 epoch의 최신_proof_target을 충족하는지 확인합니다. 계산을 만족하면 계산에 성공합니다. 위의 입력을 솔루션으로 사용하여 브로드캐스트합니다.
7. 동일한 에포크에서 카운터를 반복하여 여러 솔루션 계산을 수행함으로써 EpochProgram의 입력을 업데이트할 수 있습니다.
채굴 변화 및 영향
이번 업데이트 이후 퍼즐은 증거 생성에서 증인 생성으로 변경되었습니다. 각 시대의 모든 솔루션의 계산 논리는 동일하지만 서로 다른 시대의 계산 논리는 상당히 다릅니다.
이전 테스트 네트워크에서 우리는 증명 생성 단계에서 GPU를 사용하여 MSM 및 NTT 계산을 최적화하는 데 초점을 맞춘 많은 최적화 방법을 발견할 수 있었습니다. 이 업데이트는 동시에 계산의 이 부분을 완전히 포기했습니다. 감시 생성 프로세스 시대에 따라 변경되는 프로그램 실행으로 인해 해당 프로그램의 명령은 직렬 실행에 일부 종속성을 가지게 되므로 병렬화를 달성하는 것은 큰 과제입니다.