Ergo ve Autolykos Konsensüs Mekanizması: Bölüm I

This page is machine-translated.
Ergo Platform

30 Mayıs 2022

Aşağıda, Ergo’nun konsensüs mekanizması olan Autolykos’un derinlemesine, teknik bir analizi bulunmaktadır. Bu uzun ve detaylı bir konu olduğundan, önümüzdeki iki hafta boyunca bölümler halinde yayınlayacağız. Bölüm I’de, yazar blok madenciliği psödo kodunu çözmeye başlıyor ve bize "liste R"nin oluşturulması konusunda rehberlik ediyor.

Bölüm I

Ergo konsensüs mekanizması olan Autolykos, hala ASIC direncine sahip olan birkaç asimetrik bellek-zor, iş kanıtı bulmacasından biridir - böylece blok zincirinin mümkün olduğunca merkeziyetsiz kalmasını sağlar. Autolykos, Equihash makalesine[1] ve doğum günü problemine dayanmaktadır. Kısaca özetlemek gerekirse, madencinin, elemanların toplamının hash'inin hedeften daha az olduğu k (=32) elemanını N elemanından bulması gerekmektedir. Aşağıdaki psödo kod, madencilik sürecini açıklamaktadır ve bu analiz her satırı kapsamlı bir şekilde inceleyecektir çünkü Autolykos'u tamamen açıklayan çevrimiçi kaynak sayısı oldukça azdır.

Autolykos Blok Madenciliği Psödo Kodu
Screenshot 2022-06-01 at 23.41.49.png

Blok madenciliği prosedürünü tartışmadan önce, algoritma öncelikle sabit jeneratör g ve kimlik elemanı e ile birlikte çok büyük bir döngüsel grup G ve asal sıra q gerektirir. Bu asal grup, Blake2b256 tabanlı hash fonksiyonu sırasında Z/qZ içinde tam sayılar döndürmek için kullanılır.

Jeneratör z, kimlik elemanı 1, sıra 6 olan örnek döngüsel grup[2]
unnamed (1).png

Döngüsel gruba fazla odaklanmayacağız çünkü bu, PoW şemasının yalnızca küçük bir bölümünü kapsamaktadır. Şimdi, Autolykos Blok madenciliğine satır satır bakalım.

Satır 1 – Girdi h ve m

PoW, iki girdi ile başlar: blok yüksekliği h ve gelecek blok başlık hash'i m. Blok başlık hash'i, önceki blok başlık hash'i, merkle kökü, nonce vb. gibi blok başlık bileşenlerinin bir hash'idir.

Satır 2 – Liste R'yi Hesapla

Öncelikle, satır 2'deki H() notasyonuna dikkat etmek önemlidir. Bu notasyon, Hashing fonksiyonu Algoritma 3'ü çağırır. Algoritma 3, Blake2b256 tabanlı bir hash fonksiyonudur ve Autolykos boyunca kullanılmaktadır. Algoritma 3, eğer girdilerin Blake hash'i 2256 (= 1664 = 0xFFFFFFFFFFFF86633A9E8F1256D61ED5325EBF2A4B4366BA0000000000000000) altında ise, hash.mod(q) döndürülür. Aksi takdirde, Algoritma 3 geçerli bir aralıkta sayısal bir hash'e ulaşana kadar tekrar eder. Referans olarak, q'nun grup G'nin asal sırası olduğunu, Blake2b256 hash çıktılarının 256 bit, 64 haneli olduğunu ve Algoritma 3'ün her zaman Z/qZ içinde bir sayısal hash döndüreceğini unutmayın.

Blake2b256 Tabanlı Hash fonksiyonu
Screenshot 2022-06-02 at 03.17.18.png

Satır 2'de, odak liste R nin oluşturulmasıdır. Liste R, [0, N) aralığındaki tam sayılardan oluşturulan 31 baytlık sayısal hash'leri içeren r değerlerini barındırır. r değerleri, takeright(31,H(j||h||M)) ile üretilir. Değişkenler şunlardır:

  • j, [0, N) aralığında bir tam sayı
  • h, blok yüksekliği
  • M, hash hesaplamasını yavaşlatmak için 8kb sabit veri - padding

takeRight(31,H(…)) kısmı, H(…) verildiğinde, 32 baytlık bir Blake2b256 çıktısı, sağdaki 31 baytın (yani little endian (diğer hash algoritmaları bit endian iken)) döndürüldüğü anlamına gelir. Başka bir deyişle, en anlamlı bayt, en soldaki bayt, atılır. Sonuç olarak, her r değeri, 32 baytlık H(j||h||M)) çıktısından türetilen 31 en az anlamlı bayttır. Örneğin, eğer j = 1 ise, r1 = takeRight(31,H(1||h||M)). Liste R, N elemanından oluşur ve her blok için j'yi 1 N-1 kez artırarak oluşturulabilir. H(…) hash.mod(q) döndürdüğünden, liste R'nin r0, 1, 2, 3 … N-1 ve liste R ⊂ Z/qZ olduğunu söyleyebiliriz. Autolykos v2 beyaz kağıdında[3] belirtildiği gibi, “N elemanları blok yüksekliğinden ve sabitlerden türetilir, bu nedenle madenciler artık blok adaylarını kolayca yeniden hesaplayabilir (sadece indeksler onlara bağlıdır).” Başka bir deyişle, j her zaman [0,N) içindedir, N h tarafından belirlenir, M her zaman sabittir ve h her blokta değişir, madencinin liste R'yi hesaplamak için ihtiyaç duyduğu tek değişken h'dir.

Liste R RAM'de saklanır. Autolykos'ta, N = 226 (67,108,864 tam sayı) her blok için 614400'den önceki uygulamada kullanılır. Bu nedenle, 614400'den önceki bloklar için bellek gereksinimi (226 * 31 bayt =) 2.08GB'dir. N ilk olarak 614400. blokta arttı. 614400. bloktan sonra, her 51200 blokta, N %5 artar. Başka bir deyişle, bir Ergo madencisinin bellek gereksinimi her ~71 günde %5 artar. 4198400. blokta N'nin değeri sabit hale gelir ve 2,143,944,600'e eşit olur[4]. Tabloya listedeki son 2 değerin 2,143,944,600 olması gerektiğini ve 2,147,387,550 olmaması gerektiğini unutmayın. 4198400. bloktan sonra, liste R'nin depolama gereksinimi (31 bayt * 2,143,944,600) = 66.46GB olacaktır.

Blok yüksekliğine dayalı N elemanları
unnamed (3).png
N elemanları, Ethash vs. Autolykos

Autolykos, blok yüksekliğinin RAM'de saklanacak N elemanlarını belirlediği anlamında Ethash'a benzer. Autolykos ile blok yüksekliği, saklanacak N 31 baytlık sayısal hash'leri belirler. Ethash ile blok yüksekliği, saklanacak N 128B DAG sayfalarını belirler. Kendinize sorabilirsiniz, eğer bir Ergo bloğu her 2 dakikada bir oluyorsa, Ergo madencileri nasıl bu kadar hızlı bir şekilde 2GB+ veri kümesi üretebiliyor? Ethereum madencileri yalnızca DAG'ı her 100 saatte bir yeniden oluşturuyor çünkü bu çok uzun sürüyor... Bir Ergo madencisi için, liste R'yi hesaplama yükü, Algoritma 3'ün N örneğidir; unutmayın, her r değeri takeRight(31,H(j||h||M)) olarak hesaplanır. Ancak, bir GPU bunu çok hızlı bir şekilde yapabilir; GPU'lar genellikle 32 genişlikte veya 64 genişlikte çoklu işlemcilere sahiptir, bu da 32 veya 64 Algoritma 3 örneğinin GPU'ya bağlı olarak aynı anda yapılabileceği anlamına gelir. Örneğin, RTX570 gibi 32 genişlikte bir GPU, liste R'yi sadece birkaç saniyede doldurabilir.

Bölüm II için, buradan devam edeceğiz ve Autolykos v2'nin açıklamasına devam edeceğiz. Bu serinin Bölüm II'si için güncellemeler için Ergo’nun sosyal medya kanallarını takip edin.

[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] Discord'da Wolf9466#9466'ya teşekkürler.

Share post

Ergo Altyapı DAO: Ergo Ekosisteminin Omurgasını Merkeziyetsizleştirmek

Ergo Altyapı DAO: Ergo Ekosisteminin Omurgasını Merkeziyetsizleştirmek

Ergo’nun misyonu her zaman merkeziyetsizlikte kök salmıştır, sadece konsensüs katmanında değil, tüm yığın boyunca.

Ergo Platform

13 Ağustos 2025

Mew Finance: Ergo Ekosistemi için Eğlenceli Bir DeFi Araç Seti

Mew Finance: Ergo Ekosistemi için Eğlenceli Bir DeFi Araç Seti

Mew Finance, Ergo Blockchain üzerinde merkeziyetsiz bir uygulama setidir.

Ergo Platform

12 Ağustos 2025

Lithos: Madenciliği On-Chain Havuzlarla Merkeziyetsizleştirmek

Lithos: Madenciliği On-Chain Havuzlarla Merkeziyetsizleştirmek

Lithos, madencilik havuzlarının nasıl çalıştığını köklü bir şekilde değiştirmek için tasarlanmış yeni bir protokoldür; havuzları o.

Ergo Platform

24 Temmuz 2025

Sigma 6.0: Daha Akıllı, Daha Esnek Ergo

Sigma 6.0: Daha Akıllı, Daha Esnek Ergo

Sigma 6.0 Ergo blockchain için önerilen büyük bir güncellemedir.

Ergo Platform

23 Temmuz 2025

Rosen'ın Geleceğini Şekillendirmek: Beş Ana Hazine Teklifi Üzerine Topluluk Çağrısı

Rosen'ın Geleceğini Şekillendirmek: Beş Ana Hazine Teklifi Üzerine Topluluk Çağrısı

Rosen kurucu ortağı Armeanio, Rosen Hazine'sine beş yeni teklif sunmuştur.

Ergo Platform

9 Temmuz 2025

Ergo'nun Genişletilmiş UTXO'su ve Yapay Ekonomik Zekanın Yükselişi

Ergo'nun Genişletilmiş UTXO'su ve Yapay Ekonomik Zekanın Yükselişi

Otonom Ekonomik Ajanlar için Pratik Bir Vizyon Otonom ekonomik ajanlar, Ergo blok zincirinde gerçek bir dijital ekonomide faydalı.

Ergo Platform

12 Mayıs 2025

ErgoHACK X: Ergo Blok Zincirinde Yapay Zeka

ErgoHACK X: Ergo Blok Zincirinde Yapay Zeka

Dağıtık İnovasyonun Onuncu Yılı yıl dönümü ErgoHACK'e katılın ve Ergo blok zincirindeki AI devriminin ön saflarında yer alın! Yara.

Ergo Platform

10 Nisan 2025