Aleo este un proiect blockchain axat pe protecția vieții private, obținând confidențialitate și scalabilitate mai ridicate prin tehnologia zero-knowledge proof (ZKP). Ideea de bază a Aleo este de a permite utilizatorilor să se autentifice și să proceseze datele fără a-și dezvălui datele personale.

Acest articol prezintă în principal schița proiectului Aleo și cele mai recente progrese și oferă o explicație detaliată a actualizării algoritmului puzzle de care piața este foarte preocupată.

O prezentare a celui mai recent algoritm

Rețeaua Aleo generează aleatoriu un circuit ZK în fiecare oră, minerii trebuie să încerce un nonce diferit ca intrarea circuitului în această oră, să calculeze martorul (adică toate variabilele din circuit, acest proces de calcul se mai numește și sintetizează); găsiți rădăcina Merkle pentru martor. În cele din urmă, determinați dacă îndeplinește cerințele de dificultate în minerit. Datorită caracterului aleatoriu al circuitului, acest algoritm de minerit nu este prietenos cu GPU-ul și are mari dificultăți în calcularea accelerației.

Fondul de finanțare

Aleo a finalizat o rundă de finanțare din seria A de 28 de milioane de dolari condusă de a16z în 2021 și o rundă de finanțare din seria B de 200 de milioane de dolari în 2024. Investitorii includ Kora Management, SoftBank Vision Fund 2, Tiger Global, Sea Capital, Slow Ventures și Samsung Next, printre alții. Runda de finanțare evaluează Aleo la 1,45 miliarde de dolari.

rezumatul proiectului

Confidențialitate

La baza Aleo se află tehnologia zero-knowledge proofs (ZKPs), care permite efectuarea tranzacțiilor și a execuției inteligente a contractelor, păstrând în același timp confidențialitatea. Detaliile tranzacției utilizatorului, cum ar fi expeditorul și suma tranzacției, sunt ascunse în mod implicit. Acest design nu numai că protejează confidențialitatea utilizatorului, dar permite și dezvăluirea selectivă atunci când este necesar, ceea ce este foarte potrivit pentru dezvoltarea aplicațiilor DeFi. Componentele sale principale includ:

  • Limbajul compilat Leo: adaptat din limbajul Rust, utilizat în mod special pentru dezvoltarea aplicațiilor zero-knowledge (ZKApps), reducând cerințele dezvoltatorilor pentru cunoștințele de criptare.

  • snarkVM și snarkOS: snarkVM permite ca calculele să fie efectuate în afara lanțului și numai rezultatele calculelor sunt verificate în lanț, îmbunătățind astfel eficiența. snarkOS asigură securitatea datelor și a calculului și permite executarea funcțiilor fără permisiune.

  • zkCloud: Oferă un mediu de calcul în afara lanțului securizat și privat, care sprijină interacțiunile programatice între utilizatori, organizații și DAO.

Aleo oferă, de asemenea, un mediu de dezvoltare integrat (IDE) și un kit de dezvoltare software (SDK) pentru a sprijini dezvoltatorii să scrie și să publice rapid aplicații, în plus, dezvoltatorii pot implementa aplicații în registrul de programe ale Aleo fără a se baza pe terți, ceea ce este convenabil. .

Scalabilitate

Aleo adoptă o metodă de procesare în afara lanțului Tranzacția este mai întâi calculată pe dispozitivul utilizatorului pentru a o dovedi, iar apoi numai rezultatul verificării este încărcat în blockchain. Această abordare îmbunătățește considerabil viteza de procesare a tranzacțiilor și scalabilitatea sistemului și evită congestionarea rețelei și taxele mari similare cu Ethereum.

mecanism de consens

Aleo introduce AleoBFT, un mecanism de consens de arhitectură hibridă care combină finalitatea instantanee a validatorilor cu puterea de calcul a probelor. AleoBFT nu numai că mărește descentralizarea rețelei, dar îmbunătățește și performanța și securitatea.

  • Finalitatea blocului rapid: AleoBFT asigură că fiecare bloc este confirmat imediat după generare, îmbunătățind stabilitatea nodului și experiența utilizatorului.

  • Garanția descentralizării: prin separarea producției de blocuri de generarea coinbase, verificatorul este responsabil pentru generarea blocurilor, iar probatorul efectuează calcule de probă pentru a preveni ca câteva entități să monopolizeze rețeaua.

  • Mecanism de stimulare: verificatorii și certificatorii împărtășesc recompensele în bloc;

Aleo le permite dezvoltatorilor să creeze aplicații care nu sunt legate de gaz, ceea ce îl face deosebit de potrivit pentru aplicații de lungă durată, cum ar fi învățarea automată.

Progresul curent

Aleo își va lansa testnetul stimulat pe 1 iulie și iată câteva informații importante:

  • Votarea ARC-100 a fost aprobată: votul pentru ARC-100 („Propunerea celor mai bune practici de conformitate pentru dezvoltatori și operatori Aleo”, care implică aspecte de conformitate, măsuri de securitate precum blocarea și plata întârziată a fondurilor în rețeaua Aleo) s-a încheiat și a fost aprobată. Echipa face ultimele ajustări.

  • Programul de stimulare a validatorului: Acest program va fi lansat pe 1 iulie pentru a valida noi mecanisme puzzle. Programul se va desfășura până pe 15 iulie, timp în care 1 milion de puncte Aleo vor fi distribuite drept recompense. Procentul de puncte generate de un nod va determina cota sa de recompense, fiecare validator trebuind să câștige cel puțin 100 de jetoane pentru a primi recompense. Detaliile specifice nu au fost încă finalizate.

  • Aprovizionare inițială și aprovizionare în circulație: aprovizionarea inițială este de 1,5 miliarde de jetoane, iar aprovizionarea inițială în circulație este de aproximativ 10% (încă nu a fost finalizată). Jetoanele, derivate în principal din misiunile Coinbase (75 milioane), vor fi distribuite în primele șase luni și vor include recompense pentru miza, rularea validatoarelor și validarea nodurilor.

  • Resetare Beta Testnet: Aceasta este ultima resetare a rețelei, nu vor fi adăugate funcții noi când este finalizată și rețeaua va fi similară cu rețeaua principală. Resetați pentru a adăuga ARC-41 și o nouă funcționalitate de puzzle.

  • Înghețarea codului: înghețarea codului a fost finalizată acum o săptămână.

  • Planul de extindere a nodurilor de validare: numărul inițial de noduri de validare este de 15, cu scopul de a crește la 50 în cursul anului și, în cele din urmă, de a ajunge la 500. Este nevoie de 10.000 de jetoane pentru a deveni delegat și 10 milioane de jetoane pentru a deveni validator, iar aceste sume vor scădea treptat în timp.

Interpretarea actualizărilor de algoritm

În timp ce Aleo a anunțat recent cele mai recente știri testnet, a actualizat, de asemenea, cea mai recentă versiune a algoritmului puzzle. proof generation), participanții anteriori testnet au optimizat eficiența algoritmului pentru a crește veniturile din minerit), concentrându-se pe generarea de date intermediare martori înainte de a genera dovezi. Vom oferi o scurtă introducere a celui mai recent algoritm după ce ne vom referi la specificațiile și codul oficial al puzzle-ului.

proces de consens

La nivelul protocolului de consens, probatorul și validatorul din procesul său sunt responsabili pentru generarea rezultatelor de calcul, generarea de soluții și blocuri, de agregare și respectiv de soluție de ambalare. Procesul este după cum urmează:

  1. Prover calculează puzzle-ul pentru a construi soluții și le transmite în rețea

  2. Validatorul agregează tranzacțiile și soluțiile în următorul bloc nou, asigurându-se că numărul de soluții nu depășește limita de consens (MAX_SOLUTIONS)

  3. Legalitatea Soluției trebuie verificată dacă epoch_hash-ul său este conform cu ultimul_epoch_hash menținut de validator, iar proof_target-ul calculat este conform cu ultimul_proof_target menținut de validator în rețea, în același timp, numărul de soluții conținute în bloc este mai mică decât limita consensului.

  4. Soluțiile eficiente pot primi recompense de consens

Puzzle de sinteză

Miezul celei mai recente versiuni a algoritmului se numește Synthesis Puzzle. Nucleul său este de a genera un EpochProgram comun pentru fiecare epocă, prin construirea unui circuit de verificare R 1 CS pentru intrare și EpochProgram, alocarea R 1 CS corespunzătoare. martorul menționat) este generat și ca nod frunză al arborelui Merkle, după calcularea tuturor nodurilor frunzei, rădăcina Merkle este generată și convertită în proof_target al soluției. Procesul și specificațiile detaliate pentru construirea puzzle-ului de sinteză sunt după cum urmează:

1. Fiecare calcul de puzzle se numește nonce, care este construit din adresa care primește recompensa de mining, epoch_hash și un numărător aleatoriu De fiecare dată când trebuie calculată o nouă soluție, un nou nonce poate fi obținut prin actualizarea contorului.

2. În fiecare epocă, EpochProgram pe care trebuie să-l calculeze toți probatorii din rețea este eșantionat din instrucțiunea generată de epoch_hash-ul curent.

  • Setul de instrucțiuni este fix. Fiecare instrucțiune conține una sau mai multe operații de calcul.

  • La eșantionare, se generează un număr aleatoriu pe baza epoch_hash curent. În funcție de numărul aleator, instrucțiunile sunt obținute din setul de instrucțiuni combinate cu greutatea și aranjate în ordine după ce numărul de operații cumulat ajunge la 97.

  • Combinați toate instrucțiunile în EpochProgram

3. Folosiți nonce ca sămânță de număr aleatoriu pentru a genera intrarea EpochProgram

4. Agregați R 1 CS și intrarea corespunzătoare EpochProgram și efectuați calculul martor (atribuirea R 1 CS)

5. După ce toți martorii sunt calculati, acești martori vor fi convertiți în secvențe de noduri de frunze ale arborelui Merkle corespunzător Arborele Merkle este un arbore Merkle K-ary cu 8 elemente cu o adâncime de 8.

6. Calculați rădăcina merkle și convertiți-o în proof_target a soluției și determinați dacă îndeplinește latest_proof_target din epoca curentă intrarea de mai sus ca soluție și difuzați-o.

7. În aceeași epocă, intrarea EpochProgram poate fi actualizată prin iterarea contorului pentru a efectua mai multe calcule de soluție.

Modificări și impacturi în minerit

După această actualizare, puzzle-ul s-a schimbat de la generarea de dovezi la generarea de martor. Logica de calcul a tuturor soluțiilor din fiecare epocă este aceeași, dar logica de calcul a diferitelor epoci este destul de diferită.

Din rețeaua de testare anterioară, putem constata că multe metode de optimizare se concentrează pe utilizarea GPU pentru a optimiza calculele MSM și NTT în etapa de generare a probei pentru a îmbunătăți eficiența minării. Această actualizare abandonează complet această parte a calculului, în același timp procesul de generare a martorului Datorită execuției unui program care se modifică cu epoca, instrucțiunile din acesta vor avea unele dependențe de execuția în serie, astfel încât realizarea paralelizării este o mare provocare.