Ergo és az Autolykos Konszenzus Mechanizmus: I. rész

This page is machine-translated.
Ergo Platform

2022. május 30.

Az alábbiakban az Ergo konszenzus mechanizmusának, az Autolykosnak a részletes, technikai elemzése található. Mivel ez egy hosszú és részletes téma, a következő két hétben szakaszokban fogjuk közzétenni. Az I. részben a szerző elkezdi elemezni a blokk bányászatának álnézetét, és végigvezet minket az "R lista" létrehozásán.

I. rész

Az Autolykos, az Ergo konszenzus mechanizmusa, az egyik kevés aszimmetrikus memória-nehéz, munkaigényes rejtvény, amely még mindig ASIC ellenálló - így biztosítva, hogy a blokklánc a lehető legdecentralizáltabb maradjon. Az Autolykos az Equihash cikkre[1] és a születésnapi problémára épül. Összefoglalva, a bányásznak k (=32) elemet kell találnia N közül, úgy, hogy az elemek összegének hash-e kisebb legyen, mint a cél. Az alábbi álnézet magyarázza a bányászati folyamatot, és ez az elemzés részletesen lebontja az egyes sorokat, mivel nagyon kevés online forrás magyarázza el az Autolykost teljes egészében.

Autolykos Blokk Bányászati Álnézet
Screenshot 2022-06-01 at 23.41.49.png

Mielőtt a blokk bányászati eljárásról beszélnénk, az algoritmus először egy nagyon nagy ciklikus csoportot G igényel, amelynek elsőrendű rendje q, fix generátor g és identitás elem e. Ezt az elsőrendű csoportot használják az egész számok Z/qZ visszaadására a Blake2b256 alapú hash funkció során.

Példa ciklikus csoportra z generátorral, identitás elem 1, rend 6[2]
unnamed (1).png

Nem fogunk részletesen foglalkozni a ciklikus csoporttal, mivel ez csak a PoW séma egy kis szegmensét fedi le. Most nézzük meg az Autolykos Blokk bányászatot soronként.

1. sor – Bemenet h és m

A PoW a két bemenettel kezdődik: a blokk magassága h és a következő blokk fejléc hash-e m. A blokk fejléc hash-e a blokk fejléc összetevőinek hash-e, mint például az előző blokk fejléc hash-e, merkle gyökér, nonce stb.

2. sor – R lista kiszámítása

Először is fontos észrevenni a H() jelölést a 2. sorban. Ez a jelölés a hash funkciót, a 3. algoritmust hívja meg. A 3. algoritmus egy Blake2b256 alapú hash funkció, amelyet az Autolykos során használnak. A 3. algoritmus azt állítja, hogy ha a bemenetek Blake hash-e 2256 (= 1664 = 0xFFFFFFFFFFFF86633A9E8F1256D61ED5325EBF2A4B4366BA0000000000000000) alatt van, akkor hash.mod(q) kerül visszaadásra. Ha nem, a 3. algoritmus megismétli, amíg el nem ér egy numerikus hash-t a érvényes tartományon belül. Hivatkozásként vegyük figyelembe, hogy q a G csoport elsőrendű rendje, a Blake2b256 hash kimenetek 256 bit hosszúak, 64 számjegyűek, és a 3. algoritmus mindig numerikus hash-t ad vissza Z/qZ-ben.

Blake2b256 Alapú Hash funkció
Screenshot 2022-06-02 at 03.17.18.png

A 2. sorban a figyelem az R lista létrehozására összpontosít. Az R lista r értékeket tartalmaz, amelyek 31 bájtos numerikus hash-ek, amelyeket az [0, N) közötti egész számokból hoznak létre. Az r értékeket a takeRight(31,H(j||h||M)) generálja. A változók a következők:

  • j, egész szám az [0, N) tartományban
  • h, blokk magasság
  • M, 8kb állandó adat - padding a hash számítás lelassítására

A takeRight(31,H(…)) szakasz azt jelenti, hogy a H(…), egy 32 bájtos Blake2b256 kimenet, a jobb oldali 31 bájt (azaz kis végű (míg más hash algoritmusok bit végűek)) kerül visszaadásra. Más szavakkal, a legjelentősebb bájt, a bal szélen lévő bájt, eldobásra kerül. Ennek eredményeként minden r érték a 32 bájtos H(j||h||M)) kimenetből származó 31 legkevésbé jelentős bájtot tartalmazza. Például, ha j = 1, akkor r1 = takeRight(31,H(1||h||M)). Az R lista N elemet tartalmaz, és minden blokkhoz generálható, ha j-t 1 N-1 alkalommal növeljük. Mivel a H(…) visszaadja a hash.mod(q), kijelenthetjük, hogy az R lista r0, 1, 2, 3 … N-1 elemekből áll, és R lista ⊂ Z/qZ. Ahogy az Autolykos v2 fehér könyvében[3] is szerepel, “N elemek a blokk magasságból és állandókból származnak, ellentétben az Autolykos v1-el, így a bányászok most könnyen újraszámolhatják a blokk jelölteket (csak az indexek függenek tőlük).” Más szavakkal, j mindig az [0,N) tartományban van, N a h-től függ, M mindig állandó, és h minden blokkban változik, az egyetlen változó, amelyet a bányásznak a R lista kiszámításához figyelembe kell vennie, az h.

Az R lista a RAM-ban tárolódik. Az Autolykosban N = 226 (67,108,864 egész szám) kerül felhasználásra a 614400 blokk előtti megvalósítás során. Így a memóriaigény a 614400 blokk előtti blokkokra (226 * 31 bájt =) 2.08GB. Az N először a 614400 blokkban nőtt. A 614400 blokk után, minden 51200 blokkban, N 5%-kal nő. Más szavakkal, az Ergo bányász memóriaigénye körülbelül 5%-kal nő 71 naponta. A 4198400 blokkban az N értéke állandóvá válik és 2,143,944,600-ra[4] egyenlő. Vegye figyelembe, hogy a táblázatban felsorolt utolsó 2 értéknek 2,143,944,600-nak kell lennie, és nem 2,147,387,550-nek. A 4198400 blokk után az R lista tárolási igénye (31 bájt * 2,143,944,600) = 66.46GB.

N elemek a blokk magasság alapján
unnamed (3).png
N elemek, Ethash vs. Autolykos

Az Autolykos hasonló az Ethash-hoz abban az értelemben, hogy a blokk magassága határozza meg az N elemeket, amelyeket a RAM-ban kell tárolni. Az Autolykos esetében a blokk magassága határozza meg az N 31 bájtos numerikus hash-t, amelyet tárolni kell. Az Ethash esetében a blokk magassága határozza meg az N 128B DAG oldalt, amelyet tárolni kell. Talán megkérdezi magától, ha egy Ergo blokk 2 percenként történik, hogyan tudnak az Ergo bányászok ilyen gyorsan generálni egy 2GB+ adathalmazt? Az Ethereum bányászok csak 100 óránként regenerálják a DAG-ot, mert ez olyan sokáig tart... Egy Ergo bányász számára a R lista kiszámításának terhe N példányai a 3. algoritmusnak; ne feledje, hogy minden r érték a takeRight(31,H(j||h||M)) alapján kerül kiszámításra. Azonban egy GPU ezt nagyon gyorsan meg tudja tenni, a GPU-k általában 32 széles vagy 64 széles multiprocesszorokkal rendelkeznek, ami azt jelenti, hogy 32 vagy 64 3. algoritmus példány végezhető el párhuzamosan a GPU-tól függően. Például egy 32 széles GPU, mint az RTX570, néhány másodperc alatt ki tudja tölteni az R listát.

A II. részhez innen folytatjuk, és tovább folytatjuk az Autolykos v2 magyarázatát. Kövesse az Ergo közösségi média csatornáit a II. rész frissítéseiért.

[1] https://www.researchgate.net/publication/316904748_Equihash_Asymmetric_Proof-of-Work_Based_on_the_Generalized_Birthday_Problem
[2] https://en.wikipedia.org/wiki/Cyclic_group#/media/File:Cyclic_group.svg
[3] https://www.docdroid.net/mcoitvK/ergopow-pdf
[4] https://www.ergoforum.org/t/autolykos-v-2-details/480
[5] Köszönet Wolf9466#9466-nak a Discordon

Share post

Ergo Infrastructure DAO: Az Ergo Ökoszisztéma Gerincének Decentralizálása

Ergo Infrastructure DAO: Az Ergo Ökoszisztéma Gerincének Decentralizálása

Az Ergo küldetése mindig is a decentralizáción alapult, nemcsak a konszenzus rétegén, hanem az egész stack-en.

Ergo Platform

2025. augusztus 13.

Mew Finance: Egy Játékos DeFi Eszközkészlet az Ergo Ökoszisztémához

Mew Finance: Egy Játékos DeFi Eszközkészlet az Ergo Ökoszisztémához

A Mew Finance egy decentralizált alkalmazáscsomag az Ergo Blockchain-en.

Ergo Platform

2025. augusztus 12.

Lithos: A Bányászat Decentralizálása On-Chain Poolokkal

Lithos: A Bányászat Decentralizálása On-Chain Poolokkal

A Lithos egy új protokoll, amely a bányászati poolok működésének átalakítására készült azáltal, hogy azokat on-chain helyezi, telj.

Ergo Platform

2025. július 24.

Sigma 6.0: Egy Okosabb, Rugalmasabb Ergo

Sigma 6.0: Egy Okosabb, Rugalmasabb Ergo

Sigma 6.0 egy jelentős javasolt frissítés az Ergo blokklánc számára.

Ergo Platform

2025. július 23.

Rosen Jövőjének Formálása: Közösségi Felhívás Öt Kulcsfontosságú Kincstári Javaslatra

Rosen Jövőjének Formálása: Közösségi Felhívás Öt Kulcsfontosságú Kincstári Javaslatra

A Rosen társalapítója, Armeanio, öt új javaslatot nyújtott be a Rosen Kincstárhoz.

Ergo Platform

2025. július 9.

Ergo kibővített UTXO-ja és a mesterséges gazdasági intelligencia felemelkedése

Ergo kibővített UTXO-ja és a mesterséges gazdasági intelligencia felemelkedése

Gyakorlati vízió az autonóm gazdasági ügynökök számára Az autonóm gazdasági ügynökök az Ergo blokkláncon hasznos munkát végeznek .

Ergo Platform

2025. május 12.

ErgoHACK X: Mesterséges Intelligencia az Ergo Blockchain-en

ErgoHACK X: Mesterséges Intelligencia az Ergo Blockchain-en

Ünnepeljük a Decentralizált Innováció Egy Évtizedét Csatlakozz a 10.

Ergo Platform

2025. április 10.