ZYCORD belgeler
Türkçe
ZycordBelgelerTeknik doküman

Zycord: Kendi Kendini Belgeleyen Durum Geçişlerinden Oluşan Eşler Arası Bir Ağ

Bu, gözden geçirilmemiş bir çeviridir

Bu sayfa makine tarafından çevrilmiştir ve gözden geçirilmemiştir. İngilizce metinle çeliştiği yerde protokolün söylediği İngilizce olandır. İngilizce metin zycord.com/docs/whitepaper/ adresindedir.

Zycord: Kendi Kendini Belgeleyen Durum Geçişlerinden Oluşan Eşler Arası Bir Ağ.
The Simstoshi
2026 — v2.0
GPG: E724 39CE DD85 11F9 D607 550B 87FD 60D5 EB4A 0B29

Özet

Zycord, tek işlemi bir sertifika olan bir defterdir: okuduğu durum ve yazdığı durumla birlikte bir program. Geçerlilik, sertifikanın baytlarının saf bir işlevidir; dolayısıyla herhangi bir makine onu paralel olarak, durum olmadan, geçmiş olmadan ve güven olmadan doğrular. Deftere karşı hiçbir şey yürütülmez. Zincir sertifikaları sıralar ve onları, bildirilen okumaları hâlâ geçerli olan her birini uygulayan ve geri kalanları atlayan belirlenimci bir fold ile işler. Atlama fiyatlandırılmış bir olaydır; sertifika için teminat yatırana fatura edilir, asla üçüncü bir tarafa edilmez. Sözleşmeler her depolama slotu için erişimin tam, korumalı ya da değişmeli olduğunu bildirir; böylece ödemeler, basımlar ve bahşişler asla çekişmez. Mantığı tam okumalar gerektiren bir sözleşme bir sıralayıcı seçer: trafiğini serileştiren, kullanıcıların imzalı intent'lerini yürüten, onları milisaniyeler içinde onaylayan ve sonuçları sertifika olarak yayımlayan zincir dışı bir hizmet. Sıralayıcı gerektirmeyen bir zorunlu yol, herhangi bir kullanıcının herhangi bir sözleşmeye karşı yine de işlem yapabilmesini güvence altına alır. Ücretler iki piyasaya ayrılır: biri kıt olan sıralı durum değişimi için, biri ağa katılan her çekirdekle büyüyen paralel doğrulama için. Her düğüm her şeyi ucuza ve paralel olarak doğrular ve tek sıralı döngü bellek üzerindeki bir döngüdür. Zincir proof of work altında başlar ve sınırlı bir rampayla proof of stake'e geçer; orada karma değerlere harcanan hesaplama bunun yerine sertifikaları doğrular; doğrulama kuralları değişmez. Her düğümün tam doğrulamasının ötesinde olan şey, bir spesifikasyon olarak değil, bir yön olarak ortaya konur.

Bu makale eksiksizdir ve kendi içinde bütündür. v1.0'ın [0] yerini alır; ilişkiyi §15 ortaya koyar. Açılış, ihraç, Era'lar ve parametre tablosunun tamamı eşlikçi belgededir: Zycord: Launch, Eras and Parameters.

Sürümler. Aşağıdaki metin makalenin kısaltılmamış v2.0 sürümüdür; bu sayfada ardından eşlikçi belgesi gelir, o da v2.0'dır. Her ikisi de PDF olarak sunulur; her birinin yanında proje anahtarı E724 39CE DD85 11F9 D607 550B 87FD 60D5 EB4A 0B29 ile yapılmış ayrık bir imza bulunur: makale (imza) ve eşlikçi belge (imza). Her sürüm doi:10.5281/zenodo.22167489 altında arşivlenir; bu adres en son sürüme çözümlenir; yerini yitirmiş v1.0 ise doi:10.5281/zenodo.22167490 adresindedir. Eşlikçi belge kendi doi:10.5281/zenodo.23383987 altında arşivlenmiştir.

Bu belge ne değildir

Teknik doküman gerekçedir. Protokolün kendisi değildir. Bu metin ile normatif yüzey çeliştiğinde normatif yüzey kazanır ve çelişki bir hatadır: protokol parametre dosyaları ile golden vektörlerdir, eş katmanının gereksinimleri ise hat spesifikasyonundadır. Referans düğümün bunların tamamını nasıl uyguladığını anlatan mühendislik eşlikçisi Mimari'dir.

1. Giriş#

Bir blokzincir düğümü birbiriyle hiçbir ortak yanı olmayan üç iş yapar: veri yayar, hesaplamayı doğrular ve durumu değiştirir. Veri bant genişliğiyle ölçeklenir. Doğrulama çekirdeklerle ölçeklenir ve işlemler birbirinden bağımsız olarak denetlenebiliyorsa utandırıcı derecede paraleldir. Durum değişimi gerçekten sıralı olan tek kaynaktır: bir yerde, yazmaların tek ve yetkili bir geçmişi bulunmalıdır.

Zycord bu üçünü ayırır. Bir işlem, kendi girdilerini ve çıktılarını taşıyan bir sertifikaya dönüşür; dolayısıyla onu doğrulamak baytlarının saf bir işlevidir ve deftere asla dokunmaz. Zincirin işi, sertifikaları sıralamaya ve üzerlerinde belirlenimci bir fold çalıştırmaya iner: duruma sertifika başına tam olarak bir kez dokunan bir karşılaştırma ve toplama döngüsü. Çakışmalar blokları geçersiz kılmaz; tek tek sertifikaların atlanmasına yol açar ve her atlama, riski kabul etmiş bir tarafa fatura edilir. Eşzamanlılık çalışma zamanında keşfedilmez; sözleşme yazarı tarafından slot slot bildirilir. Soy ağacı şudur: yürüt-sırala-doğrula [3], belirlenimci sıralama [4], iyimser paralel yürütme [5] ve yaymanın sıralamadan ayrılması [6].

Geçerlilik sertifika başına bir kez, paralel olarak, henüz hiçbir blok yokken çalışır. Fold blok başına bir kez, sırayla çalışır ve hiçbir zaman yürütme yapmaz.

Tasarım, aynı yürütülebilir dosyayı paylaşabilen ama asla birbirine karıştırılmaması gereken iki evrene dayanır:

Konsensüs (zincir)İnşa (zincir dışı)
AktörlerMadenciler ve her tam düğümSıralayıcılar, cüzdanlar, herhangi bir katılımcı
RolSıralamak, doğrulamak, işlemekSözleşmeleri yürütmek, sertifika kurmak
KurallarSabit; yalnızca doğrulamaTasarım gereği serbest; piyasa tarafından belirlenir

Konsensüs kuralları yalnızca doğrular. Amaçları şudur: hiçbir kullanıcı yetkilendirmeden fon kaybetmez, hiç kimse denetlemediği bir bakiyeden düşüm yapamaz ve hiçbir saldırgan ağı boşaltamaz, engelleyemez ya da yavaşlatamaz. Bir sıralayıcının nasıl işletildiği, sıralayıcıların birbiriyle nasıl konuştuğu ve ne ücret aldıkları konsensüsün dışındadır. Zincirde olan şey takastır: bir sıralayıcının ödemesi, kullanıcının imzaladığı intent'in içinde yol alır ve yalnızca sertifika uygulanırsa ödenir.

Sonraki bölümler sertifikayı (§2), fold'u (§3), türlenmiş durum erişimini (§4), yerel varlıkları (§5), sanal makineyi (§6), sıralayıcıları (§7), zorunlu yolu (§8), iki ücret piyasasını (§9), ağı (§10), proof of stake'i (§11), tam doğrulamanın ötesine giden yolu (§12), kabul edilen riskleri (§13), uygunluğu (§14) ve v1.0 ile ilişkiyi (§15) tanımlar.

2. Durum Geçiş Sertifikaları#

Sertifika tek işlem türüdür. SSZ ile kodlanır; bu da tek bir kanonik bayt kodlaması verir. Kod çözme kanonik biçimi zorunlu kılar; dolayısıyla kodu çözülmüş bir sertifika yapısı gereği yapısal olarak geçerlidir ve sonraki hiçbir kural biçimi yeniden denetlemez.

AlanAnlamı
ChainIDsertifikanın ait olduğu ağ
Seqteminat yatıranın kendi sıralama sayacı; fill'lerde ve zorunlu sertifikalarda sıfır
Programbir tür baytı ve bir gövde: yerel işlem, makine çağrısı, intent fill'i, zorunlu intent, kayıt
Okumalarbildirilen girdiler: (slot, access, operand), slota göre sıralı, tekrarsız
Yazmalarbildirilen çıktılar: (slot, op, value), slota göre sıralı, deltalar önceden toplanmış
Sigs(public key, Ed25519 signature), anahtara göre sıralı
Depositsertifikanın hesabını veren hücre, ayrılan tutar ve para üstü slotu
TTLsertifikanın işlenebileceği son yükseklik
FeeBidiki gas piyasasının her birinde bir azami değer ve bir öncelik

İki özet iki soruyu yanıtlar. Sertifika id'si, imza listesi boşaltılmış sertifikanın özetidir: sertifikanın neyi yetkilendirdiğini adlandırır. Örnek (exemplar) özeti, imzalar dâhil kodlamanın tamamını kapsar: tek bir bayt kümesini adlandırır. İmzalar id'nin dışında kalır, çünkü imzalama rastgeleleştirilmiştir; her nonce aynı gövde üzerinde başka bir geçerli imza verir ve onları kapsayan bir id, tek bir yetkilendirmeye sınırsız sayıda faturalandırılabilir kimlik verirdi. id; seen set'in, fold sırasının ve tüm tekilleştirmenin anahtarıdır. Bir fill ve bir zorunlu sertifika id olarak intent'lerinin özetini alır (§7, §8); bir fill'in teklifi sıralayıcısının imzasıyla mühürlenir. Bir bloğun sertifika kökünün taahhüt ettiği şey örnek özetidir; dolayısıyla bir blok id'si, bloğun taşıdığı baytları belirler. Ücret teklifi id'nin içindedir ve imzalanır: id'nin dışındaki bir teklif, aktarım sırasında herhangi birinin yeniden yazabileceği bir tekliftir. Her imza, zincir id'sini ve parametre kümesinin konsensüs kökünü bağlayan bir mesajı imzalar; dolayısıyla bir sertifika başka bir ağda yeniden oynatılamaz.

Geçerlilik durumsuzdur. Bir sertifika, yalnızca baytlarından hareketle şu koşullar sağlandığında geçerlidir:

  1. kanonik olarak kodu çözülür, bu zinciri adlandırır ve her liste kendi sınırı içindedir;
  2. her imza katı Ed25519 altında doğrulanır (kanonik kodlamalar, burulmasız anahtarlar) ve imza kümesi hem yeterli hem de asgaridir;
  3. programın bildirilen okumalara karşı yeniden yürütülmesi tam olarak bildirilen yazmaları üretir;
  4. yetkilendirme gerektiren her yazma yetkilendirilmiştir ve teminat hücresi koşulsuz olarak bir imza taşır;
  5. teminat, bir kullanıcı adresinin yerel bakiye hücresidir ve sertifikanın en kötü durumunu karşılar;
  6. sertifika kendi içinde tutarlıdır: hiçbir yazma aynı slotun bir okumasıyla çelişmez, borçlandırılan hiçbir one-shot adres harcanmış olarak işaretlenmekten kaçamaz ve harcanmış bir adrese hiçbir değer yazılmaz;
  7. hiçbir protokol hücresine yazmaz;
  8. adını andığı her adres tanımlı bir sürüm baytı taşır;
  9. sıralayıcı anahtarı sıfır olmayan bir sözleşmede, tam okuma yolu o anahtarın imzasını taşır (§7); zorunlu sertifika (§8) bunun dışındadır;
  10. bir üstveri yazması, üzerine yazdığı her hücrenin, sertifika kurulduğunda hücrenin tuttuğu değerdeki tam okumasını bildirir.

Bunu herhangi bir makine denetler: bir iş parçacığı havuzu, başka bir bilgisayar, bir GPU; veritabanı olmadan ve senkronizasyon olmadan. İmza denetimleri birbirinden bağımsızdır; bu yüzden sertifikalar arasında toplu işlenebilir. Geri kalan her şeyin üzerine kurulduğu özellik budur.

Geçerlilik yürütme için yeterli değildir. Geçerli iki sertifika aynı slot için aynı girdi değerini bildirebilir; en fazla biri etkili olabilir. Bu yüzden klasik işlem geçerliliği kavramı ikiye bölünür: geçerli (durumsuz, paralel, herkes tarafından denetlenir) ve uygulanabilir (durumlu, sıralı, yalnızca defterdeki konuma göre belirlenir). Geçersiz bir sertifika dürüst bir mempool'a asla girmez ve bir bloğa dâhil edilen geçersiz bir sertifika bloğu geçersiz kılar.

3. Defter Bir Fold Olarak#

Bir blok; bir başlık, sertifika örnek (exemplar) özetlerinin sıralı bir listesi ve sertifika gövdelerinin kendilerinden oluşur. Gövdeler zincir verisidir: bir blok ancak gövdeleri erişilebilirse geçerlidir. Bir bloğun üreticisi hiçbir şey yürütmez. Geçerliliği doğrulanmış olarak zaten gördüğü sertifikaları sıralar, proof of work'ü [13] çözer (ya da proof of stake altında kurada kendisine düşen slotu imzalar, §11) ve TTL penceresi içinde görülen sertifika id'lerinin kümesini tutar, çünkü birini iki kez dâhil etmek bloğu geçersiz kılar.

Zincirin durumu, sıralı sertifikalar üzerinde bir fold'dur. Fold her sertifika için, sırayla, teminatı ayırır, bildirilen her okumayı mevcut duruma karşı denetler, yazmaları denetlenmiş aritmetikle hazırlar ve ardından işler ya da atlar:

  • APPLIED — bildirilen her okuma geçerlidir; dolayısıyla yazmalar yerine iner ve ücret gerçek maliyet üzerinden kapanır.
  • SKIPPED — bir okuma artık geçerli değildir (STALE), bir delta [0, 2²⁵⁶) aralığının dışına çıkacaktır (OVERFLOW) ya da bir yazma harcanmış bir adresin altına düşer (SPENT). Hiçbir şey yazılmaz. Teminattan sabit bir atlama ücreti yakılır ve geri kalanı iade edilir.
  • FORCED_FAILED — çağrısı geri alınan (revert) ya da sınırlarını aşan bir zorunlu sertifika (§8). Ödeyicilerinden düşülen tutar yakılır, para üstü kullanıcıya döner, başka hiçbir şey yazılmaz ve id görüldü olarak işaretlenir.
  • DROPPED — sertifika hiç ücretlendirilemedi (teminat hücresi fonsuzdur ya da harcanmıştır); dolayısıyla taşınır, görüldü olarak işaretlenir ve ücretlendirilmez. Üreticisine hiçbir şey ödemez ve ona tavan alanına mal olur. Aynı durumdaki bir fill ise bunun yerine bloğu geçersiz kılar (aşağıda), çünkü onu düşürmek, kimseye ödeme yapılmadan kullanıcının intent'ini tüketirdi.

Kanonik sıra. Fold bir bloğun sertifikalarını üç sınıfta sıralar ve üreticiye hiçbir takdir payı bırakmaz. Önce fill'ler (§7): her biri, içinde bulunduğu her pipeline hazır olur olmaz alınır; eşitlikler (sequencer key, contract, seq, id) ile bozulur. Sonra diğer tüm sertifikalar, (deposit address, Seq, id) sırasıyla. En son zorunlu sertifikalar (§8), id sırasıyla. Her düğüm, özdeş bir blok dizisinden özdeş bir durum türetir.

Yazmalar, hiçbiri yerine inmeden önce denetlenir. Yetkisi yakılmış bir adrese yapılan bir alacak kaydı, hücreyi diriltmek yerine açıkça başarısız olur; taşmaya yol açacak bir delta sertifikanın tamamını başarısız kılar. Kalıcı harcanmış kaydı tam olarak bunun için vardır.

Atlama semantiktir, başarısızlık değil. Dâhil edilme ile uygulanma farklı olaylardır. Bir üretici, sonradan bayat çıkan bir sertifikayı dâhil ederek asla geçersiz bir blok üretemez; sertifika atlanır ve teminat yatıran öder. Okumaları teminat yatıran seçti; dolayısıyla onların hesabını teminat yatıran verir.

Bir imza, en fazla bir ücretlendirme. Uygulanan ve atlanan sertifikaların hepsi görüldü olarak işaretlenir. Görülmüş ya da süresi dolmuş bir sertifikayı veya iki piyasadan herhangi birinde bloğun taban ücretinin altında teklif veren bir sertifikayı dâhil etmek bloğu geçersiz kılar; böylece hiçbir üretici, başkalarının sertifikalarını teminatlarını hasat etmek için yeniden dâhil edemez ya da kasıtlı olarak geciktiremez. TTL'ler konsensüsle sınırlıdır; dolayısıyla seen set budanabilir kalır.

Ücretlendirilecek kimsenin olmadığı koşullar bloğu geçersiz kılar. Bazı başarısızlıkların suçlusu yoktur: sıralayıcı sayacı sıra dışı olan, fence sayacı (§7) ilerlemiş olan, ödeyicisi zaten harcanmış olan ya da teminatı ayrılamayan bir fill; okumaları geçerli olmayan bir zorunlu sertifika. Böyle bir sertifikayı dâhil etmek bloğu geçersiz kılar ve hiçbir şey ücretlendirilmez. Bloğu elinde tuttuğu durumdan kuran üretici, bunu bilebilecek olan taraftır.

Sertifika başına tam olarak bir durum dokunuşu. Fold, sıcak bir anahtar-değer çalışma kümesi üzerinde karşılaştırmalar, toplamalar ve yazmalar yapar: kod yürütme yok, imza doğrulama yok, yeniden yürütme yok, eliptik eğri aritmetiği yok. Bunların hepsi geçerlilik denetimi sırasında paralel olarak gerçekleşti. Sertifika id'si de orada hesaplanır ve fold'a taşınır.

Sürümler değil, değer eşitliği. Uygulanabilirlik, sürüm sayaçlarını değil, bildirilen okuma değerlerini karşılaştırır. Değişip eski hâline dönen bir slot yine uygulanabilirdir; dolayısıyla sistem, sürüme dayalı eşzamanlılık denetiminden kesinlikle daha seyrek atlar.

Fold'un kendi girişi ve kapanışı. Sertifikalardan önce, bir epoch sınırında, fold beacon hücrelerini yazar (§4). Onlardan sonra blok sübvansiyonunu böler ve coinbase olgunlaşma halkasını döndürür (eşlikçi belge), ücret denetleyicisi için uygulanan gas'ı kaydeder (§9) ve bir epoch sınırında, başlığınkine eşit olması gereken epoch state root'unu hesaplar. Yalnızca blok geçersizliği için hata döndürür; bir sertifikayla ilgili bir sorun bir sonuçtur, asla bir hata değildir.

4. Hücreler ve Türlenmiş Durum Erişimi#

Bir hücre, bir (address, word) slotundaki değerdir: 32 baytta big-endian olarak tutulan 256 bitlik işaretsiz bir tam sayı. Var olmayan hücreler sıfır olarak okunur. Protokol hücrelerin yanında bir harcanmış adres kaydı tutar: imzalama yetkisi yakılmış one-shot adreslerden oluşan kalıcı bir küme.

Bir adres version ‖ blake3(tag ‖ version ‖ payload)[:31] biçimindedir; bunun istisnası, 0x00 sürüm baytı ve ardından sıfırlardan oluşan protokol adresidir:

SürümTürKim borçlandırabilir
0x00protokolyalnızca fold: epoch beacon, taban ücret hücreleri, olgunlaşma halkası, hazine hücresi, sıralayıcı sayaçları, stake hücreleri
0x01one-shot kullanıcısahibin imzası; ayrıca borçlandıran sertifika adresi harcanmış olarak işaretlemek zorundadır; bundan sonra onun altındaki her okuma ve yazma sonsuza dek başarısız olur
0x02kalıcı kullanıcısahibin imzası, yeniden kullanılabilir
0x03varlıkvarlığın değiştirilemez yetki hücreleri
0x05sözleşmeanahtarla hiç kimse: hiçbir anahtarın özeti ona denk gelmez; kararı sözleşmenin kodu ve fold kuralları verir

One-shot ile kalıcı arasındaki fark, iki ayrı defter değil, adresin bir biti olarak açığa çıkarılmış bir cüzdan politikasıdır [7]. Cüzdanlar varsayılan olarak gelen her ödeme için taze bir one-shot adres kullanır; dolayısıyla yeni türetilmiş bir adrese ödeme yapmak çekişmesiz hızlı yoldur ve harcanmış bir hücre, onu harcayan blok geri alma ufkunun ötesine gömüldüğünde sıkıştırılabilir. Hesap isteyen kalıcı sürümü kullanır. Madencilik ödülleri kalıcı bir adrese aittir: konsensüs ödeme adresi olarak her iki türü de kabul eder, ama bir one-shot adres harcandığı anda tuttuğu her ödülü yakar ve düğüm bu nedenle böyle bir adresi reddeder.

Paralellik türlenmiş erişimden gelir. Yalnızca tam okumaları destekleyen bir fold, popüler her sözleşmeyi sıraya sokardı: tek bir havuza dokunan bin sertifika, bir uygulama ve 999 atlama verirdi. Bunun yerine bir okuma bir hücreyi nasıl kısıtladığını, bir yazma ise ona ne yaptığını bildirir:

OkumalarYazmalar
EXACT — değer sabitlenir ve hesaplamayı besler; hücre hareket ettiğinde bayatlarSET — üzerine yazma
GUARD_GE, GUARD_LE, GUARD_EQ — hücre üzerinde, hesaplamaya hiçbir şey döndürmeyen bir yüklemDELTA_ADD, DELTA_SUB — tam sayılar üzerinde denetlenen işaretli bir değişiklik
MARK_SPENT — bir one-shot adresi yakmak

Yalnızca EXACT bayatlar. Tek bir slota yönelik istenen sayıda korumalı borç ve alacak değişmelidir: herhangi bir sırayla uygulanırlar ve bir atlama, bakiye yalnızca değiştiğinde değil, ancak bir koruma gerçekten başarısız olduğunda (gerçek bir hesap açığı) gerçekleşir. Sertifika başına, slot başına tek disiplin: bir set ve bir delta aynı slotta bir arada bulunmaz. Modeli sağlam tutan kural, korunan değerlerin asla hesaplamaya akmamasıdır: bir doğrulama ifadesi (assert) hiçbir şey döndürmez ve bir delta hiçbir şey okumaz; dolayısıyla yeniden yürütme, bildirilen tam okumaların saf bir işlevi olarak kalır. Bu tek disiplin aktarımları, arz tavanlı basımları, harcama izinlerini, bahşişleri ve kasa paylarını kapsar; bu da zincir üstü yazmaların ezici çoğunluğudur. Soy ağacı emanet işlemleri (escrow transactions), işlemsel güçlendirme (transactional boosting) ve CRDT'lerdir [8][9][10]; Zycord değişmeliliği düğümler arasındaki eşzamanlılık sözleşmesi yapar.

One-shot hücreler. Zincirde hiç görünmemiş bir adres ∅ durumundadır; ilk yazma onu saklanmış durumuna taşır; anahtarıyla imzalanmış olan ve onu harcanmış olarak işaretleyen sertifika ise onu kalıcı olarak harcanmış durumuna taşır. Harcamayı kaydeden kayıt girdisi asla sıkıştırılmaz: adresin yeniden diriltilmesini engelleyen odur.

Sıfır yokluktur. Hiç yazılmamış bir slot ile sıfır yazılmış bir slot aynı slottur: sıfır yazmak hücreyi siler. Bu bir konsensüs gerekliliğidir. Bir korumanın ya da bir tam okumanın, slotun var olup olmadığını sormadan 0 değerini adlandırmasına izin verir ve state root'u, onu üreten geçmişin değil, durumun bir işlevi olarak tutar.

Epoch beacon. Programlar ortam değerlerini doğrudan okumamalıdır. Protokol, mevcut epoch'u açan başlığın yüksekliğini ve makine Era'sından itibaren onun zamanını, epoch başına bir kez, ayrılmış hücrelere yazar ve programlar bunları diğer her slot gibi okur. Bu, blok başına bayatlama olmadan zaman farkındalığı sağlar; her iki değer de epoch boyunca sabittir; epoch mainnet'te bir gündür: proof of work altında 2.880 blok, proof of stake altında 17.280 (§11).

5. Makinesiz Varlıklar#

Başlangıç Era'sının bir bilgisayara ihtiyaç duymadan önce bir ekonomiye ihtiyacı vardır. Zycord, blok 0'dan itibaren, hiçbir sanal makine devreye girmeden, yerel varlıkları sertifika işlemleri olarak sevk eder:

  • TRANSFER — tek bir sertifikada, okuma ve yazma sınırları içinde, en fazla 32 (asset, from, to, amount) hareketi; her biri iki deltayla eşleştirilmiş bir balance ≥ Δ korumasıdır. Saf bir deltaya ya da taze bir one-shot hücreye yönelik bir alacak kaydı bahşişin ta kendisidir; dolayısıyla bahşiş vermek kendine ait bir işlem kodu gerektirmez. Bir sözleşme adresine yalnızca yerel coin alacak kaydedilebilir ve içinden değeri hiçbir şeyin çıkaramayacağı bir önderlemenin (§6) adresine asla kaydedilemez.
  • ISSUE — bir kez yazılan bir hücrede arz tavanıyla bir varlık id'si oluşturur.
  • MINT — korumalı: minted + Δ ≤ cap.
  • RETIRE — her biri sahibi tarafından yetkilendirilmiş ve sertifikanın sınırları içinde kalan en fazla 64 one-shot adresi, değer taşımadan yakar: okuma yok, her hücreyi harcanmış olarak işaretleyen saf bir yazma. Asıl harcama bir aktarımın içinde kendiliğinden gerçekleşir. Emekliye ayırma, sıkıştırma ve gizlilik ilkelidir: alıcı, işini görmüş bir one-shot adresi siler.

Tek bir blokta on bin bahşiş alan bir yayıncı, fold'a on bin değişmeli toplama olarak mal olur: sıfır çatışma, sıfır atlama, sıralayıcı yok, makine yok. Yerel coin'in arz takvimi ve ihraç edilen her varlığın tavanı burada yaşar ve §3'ün denetlenmiş aritmetiğiyle uygulanır.

Bir ödeme şöyle kapanır. Gönderenin cüzdanı elindeki bir one-shot hücreyi seçer, üzerinde bir koruma bildirir, onu borçlandırır, harcanmış olarak işaretler, alıcının taze one-shot adresine alacak kaydeder ve para üstünü kendisine ait taze bir one-shot adrese gönderir. Aynı one-shot hücreyi iki farklı düğüm üzerinden harcamak için yarışan iki sertifikanın ikisi de geçerlidir; tam olarak biri uygulanır, diğeri atlanır ve adını andığı teminata fatura edilir.

6. Makine: cEVM#

Zycord tek bir sanal makine çalıştırır: sertifikalara uyarlanmış, Ethereum sanal makinesinin [2] bir lehçesi olan cEVM. Seçim kasıtlıdır: projenin yenilik bütçesi durum, eşzamanlılık ve ekonomik model üzerine harcanır ve makine sistemdeki en tanıdık şey olmalıdır. Solidity, derleyicileri, denetçileri ve araçları aynen geçerlidir. Lehçenin tüm sapması bir kaldırmalar listesi, iki yeniden bağlama, altı ekleme ve dört yeniden fiyatlandırmadan ibarettir.

Depolama keşfedilmez, bildirilir. Bir sertifika, yürütmesinin tükettiği okumaları ve ürettiği yazmaları taşır ve geçerlilik bunları bir yeniden yürütmeyle karşılaştırır. Dört işlem kodu ailesi bir hücreye erişir: tam disiplinde SLOAD ve SSTORE, değişmeli disiplinde ise assert ve delta aileleri. Çağrılan bir çerçeve bildirilen kümeye en fazla 16 girdi ekleyebilir; böylece çağrılan, çağıranın ihtiyaç duyduğu sınırları harcayamaz; bunu aşacak girdi o çerçeveyi iptal eder, başka hiçbirini değil.

Eklenenler, hiçbir EVM çatalının şimdiye dek atamadığı baytlar üzerinde: SASSERTGE 0x21, SASSERTLE 0x22, SASSERTEQ 0x23, SDELTAADD 0x24, SDELTASUB 0x25, SETSEQ 0x26. Yüklem ve işaret yığında değil, her zaman işlem kodunun içindedir. Bir koruma hiçbir şey döndürmez; dolayısıyla hiçbir dal onun tutup tutmadığına bağlı olamaz; bir deltanın neti tam sayılar üzerinden alınır, asla 2²⁵⁶ modülünde değil. SETSEQ(key), bağlamı yürütülmekte olan sözleşmenin sıralayıcı hücresini ayarlar, başka hiçbirininkini değil; sıfır ya da bozuk biçimli bir anahtar, sertifikanın tamamını geçersiz kılan bir türetme başarısızlığıdır.

Yeniden bağlananlar: NUMBER ve TIMESTAMP yanıtlarını epoch beacon hücrelerinin tam okumalarından verir; dolayısıyla her ikisi de epoch boyunca sabittir ve bir son tarih için block.timestamp kullanan taşınmış bir sözleşme, 24 saate kadar bayat bir zamana göre karar vermektedir.

Kaldırılanlar (13): BLOCKHASH, COINBASE, PREVRANDAO, GASLIMIT, BLOBHASH [14], BLOBBASEFEE ve SLOTNUM'un gönderme yapacak bir şeyi yoktur; GASPRICE ve BASEFEE, tam okuması yapısı gereği bayat olan blok başına hücreleri adlandırır; BALANCE ve SELFBALANCE yerel bir bakiyenin tam okumasını zorunlu kılardı; ORIGIN'in adlandıracağı bir gönderen yoktur; SELFDESTRUCT bir kod özeti hücresinin sıfıra dönmesine izin verirdi.

Yeniden fiyatlandırılanlar: SLOAD ve SSTORE sıcak erişim maliyetinde sabittir; soğuk erişim ek ücreti her yerde kaldırılmıştır; KECCAK256, bu makinenin kendi gerçekleştirimine göre ölçülerek 720 gas artı sözcük başına 144'e yükselir; bir ücreti artıran tek yeniden fiyatlandırma budur. Assert ve delta işlem kodları SLOAD ile aynı sıcak erişim tutarına mal olur.

Önderlemeler beş öğeden oluşan kapalı bir kümedir: sha256, identity, modexp, ed25519_verify ve blake3.

İki sayaç. Sıralı gas, bildirilen okuma, yazma ve kayıt sayılarından türetilir ve makine tarafından asla ölçülmez. Paralel sayaç, yorumlayıcının saydığı şeydir ve sertifikanın türetme birimleriyle bildirdiği bir bütçeye göre sayılır; derinlik 0'da bu bütçeyi aşmak sertifikayı geçersiz kılar.

Kod sertifikanın içinde yol alır. Sözleşme kodu bir kez yazılan bir kod özeti hücresinde yaşar; dolayısıyla yeniden dağıtım yoktur ve bir dağıtım, hedefi sıfır olan bir çağrıdır. Çalışma zamanı imajı sertifikanın içinde taşınır ve asla yalnızca adresle değil, kod özeti hücresinin bildirilen bir tam okumasıyla çözümlenir. Bir blob en fazla 24.576 bayttır.

Bir sözleşmenin kaydı beş hücredir: kod özeti, dağıtan, sıralayıcı anahtarı, yönetici ve fence sayacı (§7). Yönetici hücresi bir adres tutar; sıfır, yöneticinin dağıtan olduğu anlamına gelir; 32 bayt 0xff ise rolden geri dönülmez biçimde vazgeçildiği anlamına gelir. Yönetici, sıralayıcı anahtarını bir kayıt sertifikasıyla ayarlar ve rolü bir set-admin sertifikasıyla devreder ya da ondan vazgeçer; ikisi de dağıtan ve yönetici hücrelerinin tam okumalarını bildirir; dolayısıyla değiştirilmiş ya da rolden vazgeçmiş bir yöneticiden gelen bir sertifika atlanır. Sözleşme kodu asla yönetici ayarlamaz; kendi sıralayıcısını SETSEQ ile değiştirir; bir fabrika tarafından oluşturulmuş bir sözleşme de sıralayıcısını bu yolla edinir.

Standart kütüphane. Delta öncelikli yazılmış bir token, bir bahşiş kavanozu ve bir emanet (escrow) sözleşmesi, çağırdıkları delta sarmalayıcıyla birlikte, makineyi etkinleştiren blokta bilinen adreslere önceden dağıtılır. Kaldırılan işlem kodlarından ve önderlemelerden kaçınan taşınmış bir Ethereum sözleşmesi, ilk günden tamamen tam (all-exact) kipte doğru çalışır ve sıcaksa bir sıralayıcı tarafından serileştirilir; paralellik slot başına isteğe bağlıdır ve genellikle bir bakiye eşlemesini load/store'dan assert/delta'ya taşıyan küçük bir farktır.

7. Sıralayıcılar#

Korumalı deltalar ödemelerin çekişmesini çözer. Geriye kalan, sıcak durum üzerindeki tam okuma mantığıdır: bir emir defteri, bir otomatik piyasa yapıcı; burada aynı hücreye karşı kuran iki dürüst kullanıcı yine bir atlama üretir ve neyin yazılacağına karar vermek için durumu okuyan sözleşmeler keyfî bir sırayla uygulanamaz. Protokolün yanıtı, sözleşmenin kendi serileştiricisini seçmesine izin vermektir.

İlişkilendirme. Her sözleşmenin kaydı (§6) bir sıralayıcı anahtarı tutar. Anahtarı sıfır olmayan bir sözleşme sıralıdır: bir sertifika onun hücrelerinden birinde tam okuma yapabilir, eşitlikle koruma koyabilir ya da set işlemi yapabilir, ama yalnızca o anahtarın imzasıyla. Anahtarı sıfır olan bir sözleşme açıktır: herkes kendi sertifikasıyla onun tam yolunu kullanabilir ve sözleşme yalnızca koduyla korunur. Anahtar, dağıtımda dağıtan tarafından, daha sonra yönetici tarafından ya da sözleşmenin kendi kodu tarafından SETSEQ aracılığıyla ayarlanır; bir yönetişim bir sıralayıcıyı yönetici olmadan bu yolla değiştirir. İlişkilendirme herhangi bir anahtarı belirtebilir; kimsenin hizmet vermediği bir anahtar bir konsensüs hatası değildir; sözleşme yalnızca biri ona hizmet verene ya da zorunlu yol (§8) onu değiştirene dek kullanılamaz. Korumalı deltalar değişmelidir ve asla bir kapıya takılmaz; dolayısıyla sıralı bir token, herkesten gelen her aktarımı yine de kabul eder.

Dizin. Bir sıralayıcı, hizmetinin nerede yanıt verdiğini bir dizin sertifikasıyla duyurur: anahtarı ve genellikle bir URL olan, yazdırılabilir ASCII'den oluşan 1 ila 256 baytlık bir dizge; kalıcı bir adresten duyurulur. Girdi, yenilenmezse duyuran sertifikanın TTL'sinden 90 gün sonra düşer ve bir geri çekme sertifikası onu hemen kaldırır. Konsensüs dizgeyi saklar ve asla yorumlamaz. Dizin yetkilendirme değil, keşiftir: cüzdanlar kime soracaklarını öğrenmek için onu okur.

Intent'ler. Bir kullanıcı sıralı bir sözleşmeye karşı sertifika kurmaz. Kullanıcı bir intent imzalar: hedef ve calldata, bir paralel bütçe, bir nonce, NotBefore'dan TTL'ye uzanan ve TTL − NotBefore değeri en fazla 8 blok olan bir pencere, sıralayıcının kalıcı adresi, sonuç üzerinde bir sınırlar kümesi, sıralayıcıya borçlu olunan ödeme, varsa ortak sıralayıcılara borçlu olunan ödemeler, bunların tümünü fonlayan one-shot ödeyiciler ve para üstü çıktıları. Bir sınır, çağrının yazdığı bir hücre üzerindeki bir yüklemdir, final-at-least, final-at-most, delta-at-least ya da delta-at-most, ve en az bir sınır çağrının yazdığı bir slotu belirtmelidir. Intent, kullanıcının yetkilendirmesinin tamamıdır; sıralayıcı onun ne yaptığını değiştiremez, yalnızca ne zaman yapıldığını değiştirebilir.

Fill'ler. Sıralayıcı intent'i kendi durum görünümü üzerinde, yani zincir ucu artı önceden kurduğu her fill üzerinde yürütür ve sonucu bir fill olarak yayımlar: programı intent olan, teminatı sıralayıcının kendi kalıcı bakiyesinden gelen ve id'si intent'in özeti olan bir sertifika; dolayısıyla bir intent'in iki fill'i aynı id'yi paylaşır ve yalnızca biri ücretlendirilebilir. Sıralayıcı yalnızca canlılık için güvenilir, asla güvenlik için değil: girdiler hakkında yalan söylerse fill kanonik fold karşısında basitçe atlanır ve yalanın bedelini kullanıcının fonları değil sıralayıcının teminatı öder.

Makbuzlar. Bir sıralayıcı, imzalı bir intent'i milisaniyeler içinde, daha bir blok var olmadan çok önce yanıtlar: intent'i yürütür, fill'i imzalar ve cüzdana fill'i ya da intent id'sini, pipeline seq değerini ve sonucu belirten imzalı bir makbuzu döndürür. Bu bir ön onaydır. Zincirin değil, sıralayıcının sözüdür; fill uygulandığında kesinleşir. Her makbuz imzalı olduğu için kötü davranış kanıttır: tek bir anahtardan gelen ve tek bir seq değerini farklı intent'lere ya da tek bir intent'e farklı sonuçlar veren iki makbuz, herkesin baytlardan denetleyebileceği bir kanıttır. Konsensüs bunu cezalandırmaz. Piyasa cezalandırır. Makbuz biçimi, fiyat, kimlik ve itibar zincir dışıdır ve tasarım gereği serbesttir; dolayısıyla kullanıcılar daha ucuz bir sıralayıcı, kimliği herkesçe bilinen bir sıralayıcı ya da anonim bir sıralayıcı arasında seçim yapar ve çift imzalarken (equivocation) yakalanan birini bırakır.

Pipeline'lar. Zincir, her (sequencer key, contract) çifti için uygulanan son seq değerini tutar. Bir fill, içinde bulunduğu her pipeline için bir seq bildirir ve ancak sayaç seq − 1'de durduğunda girebilir; sayaçlar yalnızca fill uygulandığında ilerler. Dolayısıyla atlanan bir fill sayacını olduğu yerde bırakır: arkasında kurulmuş fill'ler giremez ve sıralayıcı aynı numaradan yeniden kurar. Tek bir seq değerinde iki fill: fold sırasında ilk gelen girer, ikincisi giremez. Bir sıralayıcının pipeline'ı, bir üretici onu hangi sırayla almış olursa olsun, sıralayıcının imzaladığı sırayla işlenir ve birkaç sıralayıcının pipeline'larını harmanlayan bir üreticinin sonuç üzerinde hiçbir seçimi yoktur.

Fence sayacı. Her sözleşme kaydında bir sayaç, fid, tutar. Bir fill, tam okuduğu ya da set ettiği her sözleşmenin fid değerini bildirir; bir uyuşmazlık fill'in giremeyeceği anlamına gelir. Sayaç, uygulanan bir zorunlu sertifika (§8) sözleşmenin bir hücresini ayarladığında ve sözleşmenin sıralayıcı hücresi yazıldığında bir artar. Bir okuma ya da bir delta onu ilerletmez: bir okuma hiçbir şeyi değiştirmez, bir delta ise bir fill'in koruduğu ya da delta uyguladığı her şeyle değişmelidir. Başkalarının delta ile hareket ettirdiği bir hücreyi tam okuyan bir fill, o okumanın hesabını her sertifika gibi verir ve hücre hareket ettiyse atlamayı sıralayıcısı öder. Zorunlu yol ve bir sıralayıcı değişikliği, baypas ettikleri durum üzerine kurulmuş her fill'i, kimse ücretlendirilmeden, bu yolla geçersiz kılar: sıralayıcı fence'in hareket ettiğini görür, yeniden kurar ve yeniden yayımlar; yalnızca gecikme kaybeder.

Ortak sıralama (co-sequencing). Farklı sıralayıcılara bağlı sözleşmeleri geçen bir çağrı, zincire tek bir fill olarak girer; bu fill, tam yoluna dokunduğu her sıralayıcının imzasını, sertifikanın 16 imzalık sınırı içinde taşır: her imza bloğun imza tavanına ve paralel gas'a sayılır, her biri kendi pipeline'ında bir seq değeriyle gelir ve her birine intent'in onun için belirttiği ödeme yapılır. Eşgüdüm, yani kimin önderlik ettiği, rezervasyonların nasıl yapıldığı, her birinin ne ücret aldığı, zincir dışıdır ve tasarım gereği serbesttir; zincir, yapısı gereği atomik olan tek bir sertifika görür. Hiç yayımlanmayan ortak bir fill yalnızca içinde bulunduğu pipeline'ları engeller; penceresi geçtiğinde her imzalayan imzaladığı numarayı yeniden kullanır.

Atlamayı kim öder. Bir fill girdiğinde bir okuma bayatsa ya da bir yazma taşıyorsa hiçbir şey yazılmaz, kimseye ödeme yapılmaz ve hatayı yapan atlama ücretini öder: sertifika sırasında başarısız olan ilk okuma ya da yazma karar verir ve fatura, sözleşme fill'in tam yolu üzerindeyse ve zincirin kaydı bununla uyuşuyorsa o sözleşme için kendini bildirmiş olan sıralayıcıya gider; diğer her durumda lidere, yani fill'in teminatını belirttiği sıralayıcıya gider. Listelenen her sıralayıcının, tam olarak bunun için fill'in konumunda ayrılan bir rezervi vardır. Kullanıcı bir atlamayı asla ödemez. Kullanıcının her sıralayıcıya ödemesi ancak fill uygulandığında kesinleşir.

Sıralayıcı nedir. Uygulama ekibi tarafından, tercih ettiği her türlü düzenekle işletilen sıradan bir sunucu: tek bir süreç, bir rollup, bir federasyon. Uygulamasının emir akışını ilk gören odur ve dolayısıyla o uygulamanın çekilebilir değeri için doğal mekândır; tasarım bunu açık kılar ve uygulamanın bu değeri blok üreticilerine sızdırmak yerine kendisinin yakalamasına izin verir; zorunlu yol ise bunun ima ettiği gücü sınırlar. Ağır sözleşmeler mümkün hâle gelir: kriptografi, bir oyunun tüm mantığı, tek bir sözleşmede koca bir sistem; çünkü ağır yürütme zincir dışında, inşa sırasında gerçekleşir ve zincir onu paralel olarak doğrular. İnşa rekabetçi bir piyasadır: daha ucuz ya da daha güvenilir bir sıralayıcı kullanıcı çeker ve inşa hizmeti sunan her düğüm kapasite ekler.

8. Zorunlu Yol: Dâhil Edilme Uygulanmadır#

Tek kapısı sıralayıcısı olan bir sözleşme, sıralayıcı sansür uygularsa, aşırı ücret alırsa ya da ortadan kaybolursa bir hapishanedir. Bu yüzden her kullanıcının kimsenin iznine ihtiyaç duymayan yavaş bir yolu vardır.

Kullanıcı bir açık intent imzalar: §7'dekiyle tam olarak aynı, hiçbir sıralayıcının ve hiçbir ortak sıralayıcının belirtilmediği, kullanıcının kendi one-shot ödeyicileriyle fonlanan bir intent; ve onu ağa aktarır. Mempool'da sertifika olarak değil, intent olarak dolaşır. Durumun tamamını tutan ve bloğun her sıradan sertifikasını zaten işlemiş olan blok üreticisi, blok sonu durumunu hesaplar ve seçtiği açık intent'leri o duruma karşı intent id sırasıyla yürütür; ortaya çıkan zorunlu sertifikaları bloğun son sertifikaları olarak ekler. Bir zorunlu sertifikanın id'si, bir fill'inki gibi, intent'inin özetidir. Dâhil edilmek uygulanmaktır: kuyruk, kiralama, kota ya da son tarih yoktur. Bildirilen okumaları yerleştirildiği duruma karşı tutmayan bir zorunlu sertifika bloğa hiç giremez; onu üretici kurdu; dolayısıyla bilebilecek olan taraf üreticidir.

Yapısı gereği sınırlı. Bir blok en fazla 16 zorunlu sertifika taşır ve her biri en fazla 4.000 türetme birimlik paralel bütçe (200.000 makine gas'ı) bildirir. Bir sözleşmenin sunduğu her çıkış, yani para çekme, iptal, emekliye ayırma, aktarım, bu bütçeye sığmalıdır; sözleşme yazarları için kural, bir para çekmenin zorunlu bütçeye sığmasıdır. Tam dolulukta zorunlu yol genesis paralel tavanının üçte birini alır ve sıradan trafik geri kalanını korur.

Başarısız bir çağrı yine de zincire girer. Çağrısı geri alınan (revert), sınırlarını aşan ya da gas'ı tükenen bir zorunlu sertifika, başarısız biçimiyle, FORCED_FAILED olarak girer: ödeyicilerinden düşülen tutar yakılır, para üstü kullanıcıya döner, id görüldü olarak işaretlenir ve başka hiçbir şey yazılmaz. Geçerlilik başarısız biçimi ancak çağrının bildirilen okumalara karşı yeniden yürütülmesi gerçekten başarısız olduğunda kabul eder. Yolu kötüye kullanıma dirençli kılan budur: başarılı olamayacak açık intent'leri aktaran bir saldırgan her biri için öder ve intent'i sağlam olan bir kullanıcı onlar yüzünden aç bırakılamaz, çünkü üretici dâhil ettiği şey için ödeme alır ve fazlayı tercih eder.

Fence. Uygulanan ve bir sözleşmenin bir hücresini ayarlayan bir zorunlu sertifika, o sözleşmenin fence sayacını (§7) ilerletir; böylece değiştirdiği durum üzerine kurulmuş her fill giremez. Sıralı bir sözleşmeyi yalnızca okuyan (tam olarak ya da korumalar aracılığıyla) veya onda yalnızca delta hareket ettiren bir zorunlu sertifika fence'e dokunmaz; başarısız biçimiyle giren bir zorunlu sertifika da dokunmaz; bekleyen fill'ler yine girer ve yalnızca zorunlu sertifikanın hareket ettirdiği bir hücreyi tam okuyan bir fill atlanır (§7). Sıralayıcı gecikme kaybeder, fazlasını değil; sıcak bir sözleşmede blok başına bir işlemi zorlayan bir kullanıcı ise her seferinde zorunlu fiyatı öder.

Ödeme. Intent'in ödemesi, sertifikanın ücretlerini bloğun taban ücretleri üzerinden karşılar; taban ücret kısmı yakılır ve geri kalanı üreticinin bahşişlerine katılır. Üretici, bir sıralayıcının alacağını alır.

Hiçbir durum sahipsiz kalmaz. Sıralayıcısı ortadan kaybolmuş bir sözleşme, sıralayıcı gerektirmeyen delta yöntemleriyle ve zorunlu yol aracılığıyla canlı kalır; kullanıcıları bu yolla fonlarını çeker ve sözleşmenin kendi kodu ya da yönetici bu yolla SETSEQ'i ya da bir kaydı çağırıp sözleşmeyi yeni bir sıralayıcıya bağlayabilir. Sansür tersine döner: sansürcüye kaybedilen ücretler ve onu dolanıp geçen kullanıcılar olarak mal olur ve ağa hiçbir şeye mal olmaz. Hiçbir işletmeci güvenlik için yük taşıyan bir unsur değildir.

9. İki Piyasa: Sıralı ve Paralel Gas#

Bir zincir, farklı ölçeklenebilirlik sınıflarından üç kaynak tüketir: veri, doğrulama ve değişim; bunları tek bir piyasada fiyatlandırmak, bir imza denetiminin bir depolama yazmasıyla açık artırmada yarışması demektir. Zycord ücreti, her birinin hedefi, tavanı ve taban ücreti konsensüs durumunda tutulan, birbirinden bağımsız iki piyasaya böler:

PiyasaÖlçtükleriGenesis fiyatları
Sıralı gasfold işi: okumalar, yazmalar, harcanmış kaydı eklemeleri, seen set eklemeleriokuma başına 100, yazma başına 200, kayıt eklemesi başına 500, seen eklemesi başına 100
Paralel gasdoğrulama işi: imzalar, baytlar, türetme birimleriimza başına 200, bayt başına 2, türetme birimi başına 50

Sıralı gas, kıt kaynağı, yani her düğümün sırayla çalıştırdığı tek döngüyü, durum değişimini fiyatlandırır. Paralel gas, ağa katılan her çekirdek ve GPU ile büyüyen doğrulamayı fiyatlandırır ve tavanı yüksek ve ucuz belirlenmiştir. Sonuç, bir değişmez olarak ifade edilmiş bir tasarım hedefidir: ağır kriptografi, ekonomik yapı gereği ağı etkilemez. Büyük bir kanıtı doğrulayan ama iki slot yazan bir sertifika, hemen her şeyi ucuz piyasada öder.

Her iki piyasa da, her biri kendi biriminde, EIP-1559 [12] biçimindedir: taban ücret yakılır ve öncelik ücreti üreticiye ödenir; bu, uygulanan sertifikalar için geçerlidir ve yalnızca onlar için. Atlanan bir sertifikanın ücreti tamamen yakılır ve kimseye ödenmez. Bu, ekonomik modelin taşıyıcı kuralıdır. Bir atlama bahşiş ödeseydi, bir bloğun içeriğini seçen taraf başkalarının başarısızlıklarını ayarladığı için ödeme alırdı. Yakmak bunu tersine çevirir: bir atlama tavan alanı tüketir ve hiçbir şey getirmez; dolayısıyla gelirini en üst düzeye çıkaran bir üretici uygulanmayı en üst düzeye çıkarır ve atlamalara yol açmaya etkin biçimde karşıdır.

Taban ücretleri yalnızca uygulanan gas hareket ettirir. Blok başına üç nicelik sayılır: dâhil edilen gas (sonucu ne olursa olsun her sertifika) tavanları sınırlar; uygulanan gas (yalnızca uygulanan) taban ücretleri hareket ettirir; blok baytları bayt tavanını sınırlar. Bir atlama, zinciri kullanmaya yönelik başarısız bir girişimdir, ona olan talebin kanıtı değil; dâhil edilen gas ücreti hareket ettirseydi, bir tacizci blokları sabit atlama ücretiyle kendi kendisiyle çakışan sertifikalarla doldurabilir ve sabit bir maliyetle herkesi fiyat yoluyla dışarı itebilirdi.

Sıralı tavan esnektir. Sıralı hedef T, blok 0'dan itibaren bir sabit değil, konsensüs durumudur ve bir epoch denetleyicisi onu hareket ettirir:

  • Bir blok içinde yumuşak tavan 2T, katı sınır 4T'dir. İkisi arasında taşma yapan bir üretici kendi gelirinin, yani sübvansiyonun bir kısmı artı bloğun ücretlerinin, ikinci dereceden bir payından vazgeçer; asla başka birinin payından değil.
  • Epoch'lar boyunca T talebi izler: epoch'taki uygulanan gas'ın alt medyanının iki katı; T − T/1024 ile T + T/512 arasına sıkıştırılır, genesis değeriyle alttan ve genesis kapasitesiyle (eşlikçi belge) üstten sınırlanır. Sağlık kapısı ağın sağlıklı olmadığını söylediğinde büyüme alıkonur: epoch bloklarının %2'sinin üzerinde atıfta bulunulan rakip başlıklar.
  • Sertifika sayısı, imza sayısı ve bayt sınırı, genesis değerlerinden başlayarak statik kapasitelere (2²⁵ sertifika, 8 MB) kadar T ile ölçeklenir.

Atlanan sertifikalar ücretlerini yakar ve hiçbir şey kaydettirmez; dolayısıyla tavanı yükseltmenin tek yolu uygulanmayı kazanmaktır: sürekli, çakışmasız, taban ücret yakan kullanım. Büyümeyi zorlamak bir saldırgana, organik benimsemenin diğer herkese mal olduğu kadarına mal olur. Paralel piyasanın bu özene hiç ihtiyacı yoktur: hedefi ve tavanı sıralı hedef ve tavanın sabit bir katına, 3×'e, yani 3T ve 6T'ye sabitlenmiştir ve onların büyümesini devralır. Soy ağacı Monero'nun ceza medyanı [15] ve uyarlanabilir sınır çalışmasıdır [16].

İnşa marjı. Aynı paralel piyasa, sıralayıcılara biçimlendirme işi için ödeme yapar: birçok işlemi tek bir sertifikada toplayan bir sıralayıcı, onun için tek bir paralel teklif öder ve kullanıcılarından, intent'in içinde, işlem başına ücret alır.

10. Ağ#

Gövdeler zincir verisidir. Bir bloğun geçerli olması için sertifika gövdelerinin erişilebilir olması gerekir; dolayısıyla durum her zaman yalnızca zincirden yeniden kurulabilir ve sıralayıcı dâhil hiçbir işletmeci asla bir veri emanetçisi değildir. Sertifikalar okuma ve yazmalarını taşıdıkları için klasik işlemlerden büyüktür; hafifletmeler yapısaldır: fill'ler iç yazmaları kesip atar, harcanmış one-shot hücreler geri alma ufkunun ötesine gömüldüğünde sıkıştırılır ve bir düğüm, eşlerine duyurduğu bir tabanın altındaki gövdeleri budayabilir.

Taşıma. TCP, ardından kendinden imzalı sertifikalarda Ed25519 eş kimlikleriyle TLS 1.3: kanal bir anahtara bağlanır ve bundan fazlası iddia edilmez. Her mesaj 5 baytlık bir çerçevedir, uzunluk ve tür; uzunluk, herhangi bir bellek ayırmadan önce türün kendi tavanına karşı denetlenir. Daha yeni bir derlemenin eklediği bir tür, bağlantıyı kapatmak yerine küçük bir sınır altında okunur ve atılır.

TürRol
helloprotokol sürümü, ağ id'si (her parametreye bağlanan genesis id'si), yükseklik, iş, dinleme adresi, yetenekler, gövde tabanı
certificatededikodu (gossip)
block-announcebir başlık artı sıralı örnek (exemplar) özetleri
get-block / block / block-unavailable4 MiB'lık parçalar hâlinde bir gövde ya da sunulmama nedeni
get-headers / headersönce başlıklar senkronizasyonu
get-peers / peersadres alışverişi
service-cardyeteneğe göre bir hizmet duyurusu
open-intentzorunlu yol için bir açık intent; bu yeteneği duyuran eşlere

Aktarma önce özetle yapılır. Sertifikalar kendi başlarına dedikodu yoluyla yayılır ve varışta, durumsuz ve paralel olarak geçerlilik açısından denetlenir. Bir aktarma düğümünün spam süzmenin maliyetini sınırlamak için duruma ihtiyacı yoktur: durumsuz geçerlilik baytlardan denetlenebilir ve durumu tutan bir düğüm, teminatı kendisini karşılayamayan bir sertifikayı da reddeder. Aktarma id'lerle değil, örneklerle (exemplar) işlem yapar: imzaları başarısız olan bir sertifika yalnızca o örneğe mal olur ve id aleyhine hiçbir şey kaydedilmez, çünkü aynı yetkilendirmenin daha sonraki bir örneği sağlam olabilir. Bloklar mempool'a karşı başlıklar artı özet listeleri olarak aktarılır [11]; böylece yayılma gecikmesi blok içeriğiyle ölçeklenmez ve alıcı herhangi bir gövdeyi getirmeden önce başlığın işini doğrular.

Senkronizasyon doğrulanmış işe göre seçer. Geride kalmış bir düğüm, en büyük yüksekliği iddia eden eşe değil, başlıkları gerçekten en çok işi kanıtlamış olan eşe öncelik verir. Başlıklar, gövdeler getirilmeden önce bir zincir olarak doğrulanır; rakip bir dal yalnızca geri alma ufku içinde bağlanıyor ve yerini aldığı zincirden daha çok iş taşıyorsa benimsenir (proof of stake altında daha çok slot, §11). Sürüme gömülü ve yalnızca bir blok en az bir epoch yaşındayken kabul edilen sabitlenmiş kontrol noktaları, açılış dönemine özgü bir geçmişi yeniden yazma savunması olarak, çelişen bir zinciri ne kadar ağır olursa olsun reddeder; bir işletmeci bir bayrakla sabitleme ekleyebilir.

Eşler puanlanır, kimliğe göre: geçersiz bir mesaj 20, bir protokol ihlali 50, sunulmayan bir gövde 10, aşırı bir istek 5 puana mal olur; yararlı bir mesaj 1 puan kazandırır; bir eş −100'de yasaklanır. Pahalı denetimler, yani anahtar epoch'ları ve proof of work değerlendirmeleri, eş başına bütçelenir ve blok yararlı çıktığında iade edilir; böylece bir saldırgan bir düğümü hiçbir yere varmayan duyurular üzerinde iş öğütmeye zorlayamaz.

Atıflar. Bir başlık, ebeveyninin yüksekliğindeki en fazla dört yakın tarihli rakip başlığa ücretsiz olarak atıfta bulunabilir: atıfta bulunmak gerçek proof of work gerektirir, sinyali bastırmak ise neredeyse her üreticinin onu atlamasını gerektirir. Atıfta bulunulan çatallanma oranı, ücret denetleyicisinin (§9) okuduğu sağlık sinyalidir.

Düğüm arayüzü. Okumalar HTTP üzerinden sunulur ve varsayılan olarak localhost'a bağlıdır; sertifika, açık intent ve imzalı hizmet kartı göndermek tek yazmalardır. Okumalar istemci başına hız sınırına tabidir; işletmecinin kendi araçlarını muaf tutmak için bir güven token'ı vardır. Yaygın CPU madencilerinin konuştuğu lehçedeki bir Stratum uç noktası, bir düğümün harici yazılımla kazı yapmasını sağlar.

11. Proof of Stake#

Bu bölüm, blok üretiminin proof of work'ten stake'e geçtiği Era'nın konsensüsünü belirtir. §2 ile §10 arasındaki kurallar, bu bölümün aksini söylediği yerler dışında değişmeden geçerlidir; takvim ve her değer eşlikçi belgededir. Açık olarak işaretlenen sabitler Era'nın sürümüyle sabitlenir.

Ne değişir. İki şey. Proof of work'ün karma değerler karşılığında sattığı bir sonraki bloğu üretme hakkı stake ağırlığıyla kurayla belirlenir; ve blok aralığı 30 saniyeden 5 saniyeye düşer. Geri kalan her şey yerinde durur: §2'nin her geçerlilik kuralı her düğüm tarafından, her sertifika için, baytlardan denetlenir; fold aynıdır; iki gas piyasası aynıdır; bir blok içindeki geçersiz bir sertifika bloğu geçersiz kılar. §10'un atıf kuralı, atıfta bulunulan başlığın işinin yerine onun slot imzası geçerek, yerinde durur. Bu Era'nın açtığı yüzey bir proof of stake'in yüzeyidir, başka hiçbir şeyin değil.

Hesaplama nereye gider. Bir proof of work madencisi hesaplamayı, güvenlikten başka hiçbir şey satın almayan karma değerlere harcar. Bu Era'daki bir üretici aynı hesaplamayı doğrulamaya harcar: imzaları denetlemeye, programları yeniden yürütmeye, sertifikaları türetmeye; paralel olarak ve onları sıralamadan önce. Ağın ödediği iş, ağın ihtiyaç duyduğu iş hâline gelir. Sıradan bir bilgisayar blok başına binlerce sertifika doğrular; daha çok çekirdeği olan bir üretici hacim büyüdükçe ayak uydurur. Paralel doğrulama tavanı, sıralı döngünün tükettiğinin çok üzerine koyar; onun ötesinde olan §12'dedir.

Stake. Bir katılımcı yerel coin'i yerel bir işlemle, BOND ile bağlar; bu işlem bakiyeyi kalıcı bir adresten o adrese bağlı bir stake hücresine taşır. Stake hücreleri protokol hücreleridir: taşımayı sertifika yetkilendirir, yazmayı ise, sıralayıcı sayaçlarında olduğu gibi, fold gerçekleştirir. O adresin anahtarı blokları imzalayan anahtardır. Bir stake, bağlandıktan bir epoch sonra etkin hâle gelir; böylece stake'ler art arda yaratılıp atılamaz; UNBOND bakiyeyi geri alma ufkundan daha uzun bir gecikmeden sonra geri verir. Asgari tutar eşlikçi belgede belirlenir. Bir anahtar, bir stake.

Kura. Bloklar sabit aralıklı slot'ları doldurur. Her slot için, epoch açılışında etkin olan stake'ler kümesinden, stake ile orantılı olasılıkla, zincirin önceki epoch boyunca sabitlediği ve beacon hücrelerine (§4) yazdığı bir tohumdan bir üretici kurayla seçilir; tohum, onu sabitleyen blokların üreticileri tarafından yönlendirilebilir olmamalıdır. Başlık, proof of work'ün yerine slotu ve kurada seçilen üreticinin imzasını taşır; başka bir anahtarla ya da kendi slotunun dışında imzalanmış bir başlık geçersizdir. Bloğu olmayan bir slot boş kalır ve kurada seçilen bir sonraki üretici bildiği son bloğun üzerine kurar. Kura, epoch açılmadan önce sabitlenmiş durumun bir işlevidir; dolayısıyla her düğüm onu tek başına türetir ve bloğun kendisinin ötesinde hiçbir konsensüs mesajı alınıp verilmez. Soy ağacı Ouroboros'un slot lideri piyangosu [17] ve Solana'nın epoch başına lider çizelgesidir [21]; Praos'un yaptığı gibi [18] lideri doğrulanabilir bir rastgele işlevin [31] arkasına gizlemek, bilinen üreticilere karşı hizmet reddi bir sorun hâline gelirse alternatiftir.

Zincir seçimi. §10'un doğrulanmış işe göre seçtiği yerde bu Era uzunluğa göre seçer: geçerli zincirler arasında en çok slotu dolduranı [17]; eşit uzunluktaki iki zincir arasında, çatallanmadan sonraki ilk bloğu daha erken slotta olanı. §10'un geri alma ufku ve sabitlenmiş kontrol noktaları yerinde kalır ve o zamandan beri bağı çözülmüş anahtarlarla yeniden yazmaya karşı savunmadır: ağa katılan bir düğüm, sürümünün sabitlediği geçmişi kabul eder ve hiçbir daha uzun zincir onunla çelişemez.

Ödül. Blok sübvansiyonu ve öncelik ücretleri, madenciye gittikleri gibi, aynı olgunlaşma halkası üzerinden kurada seçilen üreticiye gider; yakılan kısım yakılmış kalır. Bir katılımcının beklenen geliri stake'iyle orantılıdır ve onu toplamanın maliyeti, dâhil ettiği sertifikaların doğrulanmasıdır. Geçersiz bir blok reddedilir ve onu imzalayana hiçbir şey ödemez.

Çift imzalama (equivocation). Konsensüste yalnızca tek bir hata cezalandırılır: tek bir anahtarın tek bir slot için imzaladığı iki başlık. Geçersiz bir sertifika gibi, herkesin baytlardan denetleyebileceği tek mesajlık bir kanıttır. Bir bildirim sertifikası iki başlığı taşır; fold imzalayanın kendi bağladığı tutarı yakar, anahtarı etkin kümeden çıkarır ve bildirene açık bir oran öder. Bir bildirim, stake'in çıkışı tamamlanana dek kabul edilir. Konsensüste başka hiçbir davranış cezalandırılmaz ve bir üreticinin hiçbir davranışı başka birinin coin'ine erişemez. Emsal, Ethereum'un beacon zincirindeki proposer kesintisidir (proposer slashing) [19].

Havuzlar. Havuz, delegasyon kabul eden bir stake'tir. Herhangi bir kalıcı adres bağlama yapabilir ve yerel bir işlemle, DELEGATE ile, bağladığı tutarı bir havuzun anahtarına yönlendirebilir; yalnızca delege eden bir bağlamanın asgari tutarı, üretim yapan birininkinden küçüktür. Bakiye delege edenden asla ayrılmaz; delege eden onu aynı çıkış gecikmesiyle başka bir havuza yönlendirir ya da bağını çözer. Bir havuzun kuradaki ağırlığı, kendi bağladığı tutar artı ona delege edilen tutardır. Bir havuzun ürettiği blokların ödülü, fold tarafından epoch başına bir kez, blok başına yolun dışında, havuz ile delege edenleri arasında bölüştürülür: havuza kaydolurken bildirdiği marj üzerinden, delege edenlere stake ile orantılı olarak. Çift imzalama durumunda havuzun kendi bağladığı tutar yakılır ve delegasyonları delege edenlerine döner. Doğrulamanın bir havuz içinde nasıl paylaşıldığı havuzun kendi işidir: her üye aldığı payı doğrular, bir sertifika birden fazla üyeye gidebilir ve işletmeci yanıtları derler, bloğu birleştirir ve onu kurada seçilen anahtarla imzalar. Bunların tümü inşadır; konsensüsün dışındadır ve tasarım gereği serbesttir (§1): zincir bir delegasyonlar tablosu, tek bir anahtarla imzalanmış bir başlık ve sertifikalarını her tam düğümün yeniden doğruladığı bir blok görür. Küçük bir düğüm sahip olduğu çekirdeklerle katkıda bulunur; yalnızca coin'i olan bir sahip stake ile katkıda bulunur. Soy ağacı, aynı şekilde delege edenleri asla kesintiye uğratmayan Cardano'nun stake havuzlarıdır [20].

Rampa. Era, her biri bir konsensüs kuralı olan üç adımda girer.

  1. Bağlama. BOND, UNBOND ve DELEGATE kabul edilir. Proof of work her bloğu üretmeyi ve üretici payının tamamını almayı sürdürür.
  2. Rampa, 90 epoch boyunca. Her blok yine kazılır ve kendi yüksekliği için kurada seçilen stake'in imzasını, başlıkta, proof of work ön görüntüsünün dışında taşır; blok id'si onu kapsar; dolayısıyla imzalı bir blok ile onun imzasız kopyası iki ayrı bloktur ve eşit işte imzalı olan kazanır. Zincir seçimi hâlâ işe göredir ve tek bir yükseklikteki iki imza çift imzalama (equivocation) değildir. Üreticinin sübvansiyondaki payı madenci ile stake sahibi arasında bölünür: bir k sayacı 1'den başlar ve kapıdan geçen her epoch'la bir artar ve stake sahibi k/180 alır; böylece iş geçişe kadar en az yarısını korur. İmza olmadan taşınan bir blok geçerlidir ve kimseye ödeme yapmaz: üreticisinin sübvansiyondaki payı ve öncelik ücretleri yakılır; dolayısıyla bir madenci stake sahibini dışarıda bırakarak hiçbir şey kazanmaz, bir stake sahibi de ortada olmayarak hiçbir şey kazanmaz. Bir epoch, bloklarının en az %90'ı imzayı taşıdığında ve delegasyonlar dâhil etkin stake arzın en az %10'unu tuttuğunda kapıdan geçer. Rampa, etkin stake 30 epoch boyunca arzın %10'una ulaştığında ya da en geç eşlikçi belgenin sabitlediği epoch'ta, o an var olan stake ne kadarsa onunla başlar. Stake, üretimde, 90 epoch boyunca on bloktan dokuzunu imzalamadan önce hiçbir blok yalnızca stake tarafından üretilmez. Emsaller, kazılan blokların stake oylarını taşıdığı ve sübvansiyonun ikisi arasında bölündüğü Decred'in hibrit modeli [22] ile stake'in blok üretimini devralmadan önce neredeyse iki yıl boyunca kendi zincirini çalıştırdığı Merge'dür [23].
  3. Geçiş. Kapıdan geçen 90. epoch'tan sonraki epoch'un ilk bloğu slot 0'dır: proof of work sona erer, aralık 5 saniye olur ve epoch 17.280 slot olur. Bir epoch'un sübvansiyon olarak ödediği değişmez; her blok altıda bir öder ve boş bir slot hiçbir şey ödemez. Blok başına tavanlar (§9), tabanları ve üst sınırlarıyla birlikte, ve zorunlu yol sayısı (§8) aşağı yuvarlanarak altıya bölünür; böylece geçiş anında günlük kapasite aynı kalır ve epoch denetleyicisi oradan devam eder. Zamanı ölçen, blokla sayılan her sabit (olgunlaşma, azami TTL, intent penceresi, geri alma ufku, medyan zaman penceresi, bir dizin girdisinin ömrü) altıyla çarpılır ve geçişten önce ayarlanmış bir olgunlaşma ya da TTL, geçiş bloğunda dönüştürülür.

Kesinlik. Bir blok, proof of work altında olduğu gibi derinlikle kesinleşir. Finansal hizmetler 10 dakika beklemelidir: proof of work'ün 20 blok istediği yerde 120 blok. Bir epoch'tan eski bloklar kontrol noktası olarak sabitlenebilir.

SabitDeğer
slot aralığı5 s
geçişten sonra epoch17.280 slot (bir gün)
rampa uzunluğukapıdan geçen 90 epoch; stake sahibinin payı k/180
rampa kapısıepoch bloklarının %90'ı imzalı; etkin stake ≥ arzın %10'u
bağlama ile katılım arasındaki gecikme1 epoch
çıkış gecikmesiaçık; geri alma ufkundan daha uzun
yakılan bir bağlamadan bildirene ödenen oranaçık; %50'nin altında
kura işlevi ve tohum kaynağıaçık
asgari havuz marjıaçık
asgari delegasyonaçık; asgari bağlamanın altında

12. Tam Doğrulamanın Ötesi#

Proof of work ve proof of stake Era'larında her düğüm her sertifikayı doğrular. Sınır hesaplama değildir: doğrulama paraleldir ve §9'un tavanları, Era sınırlarında sertifika listesinin yapısal genişliğine, blok başına 2²⁵'e kadar yeniden sabitlenir. O duvardan önce sınırlayan şey veridir: her gövdeyi almak için bant genişliği ve her gövdeyi ve harcanmış kaydının her girdisini saklamak için depolama. Bu bölüm, bunun ötesine giden yol hakkında bilineni söyler ve onu, günlük hacim sıradan bir düğümün doğruladığı miktara yaklaştığında talep üzerine etkinleştirilecek daha sonraki bir Era'ya bırakır. Bu bir spesifikasyon değil, bir yöndür: sorunların farklı ödünleşimleri olan birkaç çözümü vardır, ağ uzun süre karşılaşacağı her talebe hiçbiri olmadan hizmet eder ve uzak bir gelecek için ayrıntılı hazırlık yapmak, yolu onu yürüyecek olan için işaretlenmiş bırakmaktan daha değerli değildir. Daha önce gelen hiçbir şey değişmez. Baytların bir işlevi olarak geçerlilik, fold, türlenmiş erişim, iki piyasa, sıralayıcılar ve zorunlu yol oldukları gibi kalır. Değişen tek şey, her sertifikayı kimin doğruladığıdır.

Sertifikanın mümkün kıldığı. Yeniden yürütme zincirlerinde, yani Ethereum'da, Solana'da ve onlardan türeyenlerde, her doğrulayıcı her işlemi küresel duruma karşı yürütür, doğrulama durumun sınırlarını devralır ve tarihsel yanıt daha büyük makineler, yani daha az düğüm olmuştur. Solana'daki [21] gibi bildirilen erişim listeleriyle düğüm içinde paralel yürütme her makineyi daha hızlı kılar, ama kimin bir makineye ihtiyaç duyduğunu değiştirmez. Cardano daha da yaklaştı: genişletilmiş UTXO modelinde doğrulama belirlenimci ve yereldir [24], ama betikler her düğümde çalışır ve paylaşılan durum çekişir; model bunu, serileştirmeyi zincir dışındaki, zincirin tanımadığı toplayıcılara (batcher) iterek çözer. İyimser olanlar da geçerlilik tabanlı olanlar da, rollup'lar [25][26] yürütmeyi temel zincirden aldı ve ona doğrulamayı bıraktı: bu doğru bölümlemedir, ama bedeli ikinci bir katman, bir köprü, zorunlu yolu bir gecikmenin arkasında bekleyen tek bir sıralayıcı ve türüne göre bir haftalık etkileşimli itiraz ya da yürütmekten kat kat pahalı bir kanıtlayıcıyla ödenir. Bir Zycord sertifikası, temel zincirin kendi baytlarından denetlediği ve asla kendi durumuna karşı yürütmediği bir rollup grubudur ve bu nedenle ikinci bir katmana ihtiyaç duymaz: tek bir durum olduğu için köprü yoktur; geçersiz bir sertifika tek mesajda kendi sahtekârlık kanıtı olduğu için itiraz yoktur; doğrulamak yürütmek kadar tuttuğu için kanıtlayıcı yoktur; sıralayıcı sözleşme başınadır, zorunlu yol bir sonraki bloğa iner ve farklı sıralayıcılar altındaki iki sözleşme, iki rollup'ın bir köprüye ihtiyaç duyduğu yerde, tek bir atomik sertifikada birleşir (§7). Ve büyümeye yanıtın parçalama (sharding) olduğu yerde, yani Ethereum'un özgün gidişatında, Near'da [27] ve parachain'lerde [28], durum bölümlenir ve bölümler arasında atomiklik kaybedilir; Zycord'un bölümlemesi ise, geldiğinde, durumu değil doğrulamayı bölümler: durum tek kalır, fold tek kalır ve her sertifika atomik kalır, çünkü geçerlilik baytların bir işlevi olduğunda bir sertifikayı kimin doğruladığı serbest bir seçimdir.

Örneklemeli doğrulama. Bağlanmış stake ile bir sertifikayı doğrulama sorumluluğu, hepsinin üzerine düşmek yerine stake'lerin bir alt kümesine kurayla verilebilir. Bir sertifika bir bloğa kendi komitesinin onaylarıyla girer; her düğüm herhangi bir şeyi doğrulamakta serbest kalır; geçersiz bir sertifika, durum gerektirmeyen ve etkileşimli oyun içermeyen tek bir mesajla, kendi sahtekârlık kanıtı olarak kalır [29]; Era'nın eklediği şey ise onaylayan kişinin kesintiye uğratılmasıdır (slashing). Komitenin büyüklüğü, onayın biçimi, itiraz penceresi ve geçersiz kılınmış bir sertifikanın üzerine uygulanmış olana ne olacağı o Era'nın spesifikasyonudur ve açık kalır. Etkisi eğriyi tersine çevirmektir: kapasite katılan her düğümle büyür, çünkü her biri daha küçük bir payı doğrular ve komite kümeyle birlikte büyür.

Doğrulama konisi. Bir sertifikayı alan kişinin ona güvenmek için zincirin tamamına ihtiyacı yoktur. Okumalar bildirilir; dolayısıyla onun bağlı olduğu sertifikalar kümesi zincirden sayılabilir: okunan her hücre için, son epoch state root'undan bu yana onu yazan sertifikalar ve onlarınkiler, özyinelemeli olarak. Baytlardan yeniden doğrulanan ve başlığın taahhüt ettiği bir epoch köküne (§3) demirlenen bu koni, alıcı için önemli olanın eksiksiz bir doğrulamasıdır; saniyeler içinde, ağ zamanında, devre olmadan ve özel bir kanıt olmadan yapılır. Bir para yatırma işlemi alan bir borsa ağı değil, o yatırmanın konisini doğrular; örneklemeli doğrulama altında geriye kalan, yeniden düzenlemelerin ve itiraz penceresinin geçmesini beklemektir; ki bunu bugün de zaten yapar. Bir hücrenin epoch kökünde belirli bir değeri tuttuğuna dair bir kanıt, bunun gerektirdiği tek yeni nesnedir ve biçimi açıktır; soy ağacı basitleştirilmiş ödeme doğrulamasıdır [1].

Depolama. Ağın zaten yaptığı: harcanmış one-shot hücreler geri alma ufkunun ötesinde sıkıştırılır (§4) ve bir düğüm duyurduğu bir tabanın altındaki gövdeleri budar (§10). İncelenecek bir konu olarak kalan: one-shot adreslerin süresinin dolduğu ve kaydın kapandığı, epoch başına bir harcanmış kaydı; kaydın yerine bir biriktirici (accumulator) [30]; ve eski gövdelerin düğümlerin bir kesri tarafından saklanması, saklananın harcanan olduğunun güvencesi olarak da epoch kökü.

Bant genişliği. İki yol. Birincisi tasarımın zaten sahip olduğu topolojidir: cüzdan, sıralayıcı, üretici. Bir fill'in ağı sel gibi basması gerekmez; sıralayıcıdan üreticilere gider ve diğer herkes, aktarmanın bloklarda zaten yaptığı gibi, özeti alır (§10). İkincisi bir sertifikanın başını gövdesinden ayırmaktır. Baş, fold'un dokunduğu şeydir: id, okumalar, yazmalar, teminat ve teklif. Gövde, doğrulamanın tükettiği şeydir: program, calldata, imzalar. Örneklemeli doğrulama altında bir üretici yalnızca doğrulamak için kurada kendisine düşen sertifikaların gövdesine ve diğer tümünün başına ihtiyaç duyar ve bant genişliği kat kat düşer. Blok, örnek (exemplar) bütününün özetine taahhüt etmeyi sürdürür ve gövdeler, onları doğrulayan ve arşivleyen herkes tarafından sunulan zincir verisi olmayı sürdürür; her düğüm onları tutmadığında erişilebilirliklerinin nasıl güvence altına alınacağı, Era'nın var olmadan önce yanıtlaması gereken sorudur [29].

13. Kabul Edilen Riskler#

Kuralların olduğu gibi kabul edilen sonuçları. Her biri sınırlıdır ya da onu seçmiş bir tarafın üzerine düşer; hiçbiri kimsenin üçüncü bir tarafın yerel değerini almasına izin vermez.

  1. Sıralayıcısı, yöneticisi ve sıralayıcı değiştiren kodu tamamen ortadan kaybolmuş bir sözleşmeden yalnızca zorunlu yolla çıkılabilir: yavaş ve daha pahalı, ama canlı.
  2. Boş bloklar altında her iki taban ücret de 1 olan tabanlarının üzerinde, 7'de durur: 8'in altında aşağı yönlü adım sıfıra yuvarlanır. Bu duruş noktasını değiştirmek bir Era sınırında parametre değişikliği gerektirir.
  3. Sıcak bir sözleşmede yaklaşık bir blokluk, bedeli ödenerek yapılan ücret tacizi: üreticinin kendi zorunlu sertifikalarını bir kullanıcınınkinin etrafına yerleştirmesi, ki bu kullanıcının sınırlarıyla sınırlıdır; ve sıralayıcının pipeline'ını yeniden kurmasına yol açan, blok başına bir zorunlu sertifika.
  4. Sıralayıcı anahtarı sıfır olan açık bir sözleşme yalnızca kendi koduyla korunur ve ona karşı bir sertifikanın yazarı kendi atlamalarını öder: okumaları yazar seçti.
  5. Yerel olmayan bir varlık, bir one-shot adrese onu yakan sertifikadan başka biri tarafından alacak kaydedilmişse, yakma ile dondurulur; yakma yalnızca yerel bakiyeyi ve o sertifikanın yazdığı hücreleri hareket ettirir. Bir adresi yakmadan önce varlık bakiyelerini denetlemek bir protokol kuralı değil, bir cüzdan kuralıdır.
  6. Yalnızca delta hareket ettiren bir sertifika fence'i ilerletmez (§7); ondan önce kurulmuş ve onun hareket ettirdiği bir hücreyi tam okuyan bir fill, daha sonraki bir blokta atlanır ve sıralayıcıya fatura edilir. Bir sıralayıcı, sözleşmesinin herkesin delta ile hareket ettirmesine izin verdiği bir hücreyi tam okumayarak bundan kaçınır.
  7. Zorunlu yol yürütücüsüne karşı kalıntı taciz: çok sayıda ödeyicisi olan bir saldırgan, hiçbir sertifikanın taşıyamayacağı açık intent'leri, örneğin ödeyicisinin bakiyesi ödemeye yetmeyen bir intent'i, aktarabilir. Yalnızca geri dönen (revert) ya da sınırlarını aşan bir çağrı bunlardan değildir: başarısız biçimiyle iner ve öder (§8). Taşınamayan her intent yürütücüye bir kurulum maliyeti çıkarır; ardından kopya tahliye edilir ve karantinaya alınır ve aynı ödeyici üzerindeki bir yedek kesinlikle daha fazla ödemek zorundadır.
  8. Bir eş imzalayan hiçbir hücreyi kilitlemez. İmzaladığı ortak bir fill, fill taşınana ya da penceresi geçene dek pipeline'ında bir yer tutar (§7). Zamanında taşınmayan ortak bir fill, o hücreler üzerindeki başka fill'lerle karşılaşabilir; fold'a ikinci giren atlanır ve kendi teminat yatıranına fatura edilir.
  9. Açık bir sözleşmede tam okumalar üzerindeki bir yarışı, teminat adresi sıralamada ilk gelen sertifika kazanır ve adresleri deneme yoluyla üretmek (grind) ucuzdur; çekişmeli tam durumu olan bir sözleşme, pipeline'ı sırayı belirleyen bir sıralayıcı seçer.
  10. Açık bir sözleşmenin tam yolu üzerindeki düz bir çağrı, sözleşmenin sıralayıcı hücresini tam sıfır olarak bildirir. Sözleşme, sertifika yerine inmeden önce bir anahtar edinirse okuma bayatlar ve çağrı atlanır, çağırana fatura edilir; cüzdan böyle bir çağrıyı kurmadan önce uyarır.
  11. Atlama ücreti sabittir; dolayısıyla taban ücretler yüksek olduğunda bir atlama bir uygulanmadan daha ucuza mal olur; tek bir sertifikanın birkaç türevini denemek ucuzdur ve her düğüm her birini doğrular.
  12. Yüksek işlem hacminde bant genişliği ve depolama, çözülmüş değil, açıkça kabul edilmiş açık bir sorundur: gövdeler zincir verisidir, her düğüm her baytı taşır, bir makine çağrısı çalıştırdığı kodu taşır ve harcanmış kaydı one-shot harcama başına bir girdi büyür. Yol §12'dedir.
  13. Proof of stake altında (§11) zincirin güvenliği, alışılmış bir proof of stake'inkidir: delegasyonlar dâhil kura ağırlığının çoğunluğunu toplamak neye mal oluyorsa ona mal olur. Rampa, son tarihinde o an var olan stake ne kadarsa onunla başlar ve geçişin arzın onda birini tutan canlı stake olmadan tamamlanmasını engelleyen şey kapıdır; stake'in onda birinin ortada olmaması onu duraklatır. Bir havuzun çift imzalaması, ona ne delege edilmiş olursa olsun, yalnızca kendi bağladığı tutara mal olur; delege edenler havuzlarını bunu bilerek seçer. O zamandan beri bağı çözülmüş anahtarlarla uzun menzilli yeniden yazmayı yalnızca sabitlenmiş kontrol noktaları (§10) engeller; ağa katılan bir düğüm bunları sürümünden kabul eder ve zincirden türetmez.

14. Uygunluk#

Kurallar mimari spesifikasyonudur, golden vektörler protokoldür ve herhangi ikisi çeliştiğinde daha kesin olan kazanır ve çelişki bir hatadır. Protokol yayımlanmış bir spec/ dizininde yaşar: parametre dosyaları, zincir id defteri, sabitlenmiş kontrol noktaları, önceden dağıtılmış kütüphanenin imajları ve üç vektör derlemi:

  • fold vektörleri: (pre-state, block) → (post-state | invalid, outcomes, fees); geçersiz bir vektör çiğnediği tek kuralı kaydeder;
  • türetme vektörleri: (program, declared reads and writes, deposit) → (reads, writes, artifact, parallel gas) ya da sertifikayı makineye ulaşılmadan önce reddeden kural;
  • zorluk vektörleri: (parameters, headers) → next target, aday bir başlık hakkında bir kararla birlikte; proof of stake altında (stake set, seed, slot) → drawn key.

Vektörler üretilir, asla elle düzenlenmez. Yeniden üretim referans fold'u çalıştırır, sonucu onun içinden yeniden oynatır ve ardından işlenmiş JSON'u, birincisiyle hiçbir kodu paylaşmayan, kasıtlı olarak naif ikinci bir fold içinden yeniden oynatır; ikinci fold'un onaylamadığı bir yeniden üretim başarısız olur. Var olan bir vektörü değiştiren bir yeniden üretim bir konsensüs değişikliğidir ve öyle gözden geçirilir. Bir uygulama, genesis id'sini yeniden üretiyor ve vektörlerden geçiyorsa uygundur; bu durumda bir çatal değil, bir eştir.

15. v1.0 ile İlişki#

Bu makale v1.0'ın [0] yerini tümüyle alır. İkisinin farklı olduğu yerde protokol bu makaledir ve v1.0 onunla birlikte okunmamalıdır. Tez değişmemiştir: kendi kendini belgeleyen sertifikalar, hiçbir zaman yürütme yapmayan bir fold, türlenmiş durum erişimi ve iki ücret piyasası. Aşağıdaki değişiklikler tasarım uygulanırken bulundu; her biri konsensüs yüzeyini ve hata sınıflarını ortadan kaldırdı.

v1.0Bu makale
§5, sigortalı sertifikalar ve sigortacılar (underwriter)Her sertifika, kendisinin hesabını veren bir teminat hücresini adlandırır (§2, §3). Sözleşmelere imzalı intent'ler ve sıralayıcı fill'leri aracılığıyla hizmet verilir (§7).
§6, sıralayıcı eş imzaları ve kiralamalarIntent'ler, fill'ler, makbuzlar, pipeline'lar, fence sayacı ve ortak sıralama (§7).
§7, kiralamalı ve gecikmeli zorunlu kuyrukZorunlu yol: üretici açık intent'leri bloğun sonunda yürütür ve dâhil edilme uygulanmadır (§8).
§9, sahtekârlık kanıtları ve örneklemeProof of stake (§11); tam doğrulamanın ötesine giden yol, bir yön olarak (§12).
§10, cEVM taslağıLehçenin tamamı (§6).
§12, gizli ödemelerBu spesifikasyonun parçası değildir. Daha sonraki bir Era bunları kendi spesifikasyonu altında taşıyabilir.
§13–§14, parametreler, başlangıç, Era'lar, hazine, ihraçBelirleyici olan eşlikçi belge.
§15, ölçümlerYeniden belirtilmez; v1.0 referans uygulamasını betimlerler.

16. Sonuç#

Zycord işlemleri yürütmek yerine sertifikaları sıralar: geçerlilik herkes tarafından, her yerde, paralel olarak, yalnızca baytlardan denetlenir; durum yalnızca karşılaştıran ve toplayan bir fold ile ilerletilir; çakışmalar atlanır, fiyatlandırılır ve onları seçen tarafa fatura edilir; eşzamanlılık keşfedilmek yerine bildirilir; uygulamalar, canlılık için güvenilen ve asla güvenlik için güvenilmeyen sıralayıcılar tarafından milisaniyeler içinde onaylanır; zorunlu bir yol her sözleşmeyi erişilebilir tutar; ve coin dağıtıldıktan sonra hesaplamasını karma değerler yerine doğrulamaya harcayan bir konsensüs vardır. Doğrulama, ağın sahip olmadığı donanımla yatay olarak ölçeklenir. Taahhüt sıralı ve neredeyse bedava kalır.

Kaynakça#

[0] The Simstoshi. Zycord: A Peer-to-Peer Network of Self-Certifying State Transitions, v1.0. 2026. Yerini bu makale almıştır.
[1] S. Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008.
[2] V. Buterin. Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform. 2013.
[3] E. Androulaki et al. Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains. EuroSys 2018.
[4] A. Thomson et al. Calvin: Fast Distributed Transactions for Partitioned Database Systems. SIGMOD 2012.
[5] R. Gelashvili et al. Block-STM: Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing. 2022.
[6] G. Danezis et al. Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus. EuroSys 2022.
[7] J. Zahnentferner. Chimeric Ledgers: Translating and Unifying UTXO-based and Account-based Cryptocurrencies. IACR ePrint 2018/262.
[8] P. E. O'Neil. The Escrow Transactional Method. ACM TODS, 1986.
[9] M. Herlihy, E. Koskinen. Transactional Boosting: A Methodology for Highly-Concurrent Transactional Objects. PPoPP 2008.
[10] M. Shapiro et al. Conflict-free Replicated Data Types. SSS 2011.
[11] M. Corallo. BIP 152: Compact Block Relay. 2016.
[12] EIP-1559: Fee Market Change for the ETH 1.0 Chain. Ethereum Improvement Proposals, 2019.
[13] tevador et al. RandomX: Proof-of-Work Algorithm Optimized for General-Purpose CPUs. 2019.
[14] EIP-4844: Shard Blob Transactions. Ethereum Improvement Proposals, 2022.
[15] Monero: Dynamic Block Weight and Penalty. Monero Research Lab documentation.
[16] bitcoincashautist. CHIP-2023-04: Adaptive Blocksize Limit Algorithm for Bitcoin Cash. 2023.
[17] A. Kiayias, A. Russell, B. David, R. Oliynykov. Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol. CRYPTO 2017.
[18] B. David, P. Gaži, A. Kiayias, A. Russell. Ouroboros Praos: An Adaptively-Secure, Semi-Synchronous Proof-of-Stake Blockchain. EUROCRYPT 2018.
[19] Ethereum Foundation. Ethereum Consensus Specifications: The Beacon Chain (proposer slashings). 2020.
[20] L. Brünjes, A. Kiayias, E. Koutsoupias, A.-P. Stouka. Reward Sharing Schemes for Stake Pools. IEEE EuroS&P 2020.
[21] A. Yakovenko. Solana: A New Architecture for a High Performance Blockchain. 2017.
[22] Decred Documentation: Proof-of-Stake. docs.decred.org.
[23] Ethereum Foundation. The Merge. ethereum.org, 2022.
[24] M. M. T. Chakravarty, J. Chapman, K. MacKenzie, O. Melkonian, M. Peyton Jones, P. Wadler. The Extended UTXO Model. Financial Cryptography Workshops 2020.
[25] H. Kalodner, S. Goldfeder, X. Chen, S. M. Weinberg, E. W. Felten. Arbitrum: Scalable, Private Smart Contracts. USENIX Security 2018.
[26] V. Buterin. An Incomplete Guide to Rollups. 2021.
[27] A. Skidanov, I. Polosukhin. Nightshade: Near Protocol Sharding Design. 2019.
[28] G. Wood. Polkadot: Vision for a Heterogeneous Multi-Chain Framework. 2016.
[29] M. Al-Bassam, A. Sonnino, V. Buterin. Fraud and Data Availability Proofs: Maximising Light Client Security and Scaling Blockchains with Dishonest Majorities. 2018.
[30] D. Boneh, B. Bünz, B. Fisch. Batching Techniques for Accumulators with Applications to IOPs and Stateless Blockchains. CRYPTO 2019.
[31] S. Micali, M. Rabin, S. Vadhan. Verifiable Random Functions. FOCS 1999.

Zycord: Başlangıç, Era'lar ve Parametreler#

The Simstoshi
2026 — v2.0
GPG: E724 39CE DD85 11F9 D607 550B 87FD 60D5 EB4A 0B29

Bu belge, Zycord: A Peer-to-Peer Network of Self-Certifying State Transitions, v2.0'ın ("makale") eşlikçisidir. Makale mekanizmaları tanımlar. Bu belge ise mainnet'in nasıl başlatıldığını, coin'in nasıl ihraç edildiğini, hangi Era'nın neyi etkinleştirdiğini ve her parametrenin değerini belirtir. v1.0 makalesinin §13 ve §14'ünün yerini tümüyle alır; farklı oldukları yerde bu belge belirleyicidir.

1. Başlangıç#

Mainnet genesis'i: 2026-10-07 00:00 UTC (1791331200), zincir id'si 1.

  • Proof of work altında her 30 saniyede bir, proof of stake'e geçişten (§6) itibaren her 5 saniyede bir blok. Proof of work: RandomX v2, CPU ile kazılabilir. Zorluk: 90 blokluk bir pencere üzerinde LWMA.
  • Blok 0 hiçbir sertifika, hiçbir adres ve hiçbir anahtar içermez. Blok 0'dan önce hiçbir coin yoktur. Genesis yayımlanmış kaynaklardan yeniden üretilebilir.
  • Yatırımcı turu yok ve yönetici anahtarı yok. Hiçbir kod yolu herhangi bir anahtarın duraklatmasına, yükseltmesine, basmasına, sansürlemesine ya da yeniden düzenlemesine izin vermez.

Açılış taahhüdü. Parametre kümesi gizli bir açılış mesajına yönelik bir taahhüt taşır. Blok 1 bu taahhüdü başlığında açmak zorundadır; dolayısıyla blok 1'i yalnızca mesajın sahibi üretebilir ve hiç kimse duyurulan genesis'ten önce başlayan bir zincirde iş biriktiremez; ihraç rampası da herhangi bir önden başlamayı az değerli kılar. Blok 2'den itibaren herhangi bir madenci inşa edebilir.

Zincir id'leri bir defterde kayıtlıdır. Her canlı ağın taşıdığı genesis id'siyle birlikte bu defter her ikili dosyaya gömülüdür ve başlangıçta denetlenir: düğüm emekliye ayrılmış bir id'yi ve kayıtlı bir id'ye farklı bir genesis verecek bir parametre kümesini reddeder. Bir düğüm, ağın bildirdiğinden başka bir iş motoruyla başlamayı reddeder.

2. İhraç#

Sübvansiyon kalıcı bir kuyruğa doğru pürüzsüzce azalır. Oran bir günlük bir epoch içinde sabittir ve her epoch sınırında, dört sabit üzerinde kesin tam sayı aritmetiğiyle aşağı iner:

E(0) = E0
E(n) = max(tail, E(n−1) − floor(E(n−1) / Q))

E0 = blok başına 21 ZCD, Q = 1054 ve tail = blok başına 0,33 ZCD ile, 30 saniyelik proof of work aralığında. Oran yaklaşık her iki yılda bir yarıya iner. Kayan nokta da tablo da yoktur. Genesis bloğu coinbase ödemez. Kuyruk, yaklaşık 12. yıl olan epoch 4.376'da, 61.836.900,03 ZCD planlanmış olarak başlar: çizelgenin toplamı olan 62.744.838,47 eksi açılış rampası ve genesis bloğu. Bu rakamlar yinelemenin ürettiği neyse odur; hiçbir düğüm asla kapalı bir biçim hesaplamaz. Bir ZCD 100.000.000 drop'tur.

Yavaş bir başlangıç. İlk 86.400 blok (30 gün) bir rampadır: h bloğu E(30) · h / 86,400 öder, yani rampanın bittiği epoch'un oranını, aşağı yuvarlanmış olarak; böylece ödül sıfıra yakın bir düzeyden çizelgeye düz bir çizgide yükselir. Rampanın alıkoyduğu yaklaşık 907.917 ZCD asla geri ödenmez.

Aralığın değişmesi. Proof of stake'e geçişten (§6) itibaren epoch 17.280 slottur ve blok başına sübvansiyon, drop cinsinden aşağı yuvarlanmış E(n)/6'dır; yineleme değişmez. Tam slotlarla dolu bir günün ödediği her iki aralıkta da aynıdır: genesis eğrisinde blok başına 21 ZCD, 5 saniyelik blok başına 3,5'e eşittir ve 0,33'lük kuyruk 0,055'e eşittir. Kuyruk aynı epoch'ta, 4.376'da başlar. Yuvarlama epoch başına bir ZCD'nin binde birinden azını alıkoyar ve bu asla geri ödenmez.

Kuyruk, ücret piyasalarını zorla devreye sokmadan mevcut Era'yı güvence altına alana ödeme yapar. Ona karşı her iki piyasanın taban ücret yakımı ve atlanan her sertifikanın yakımı işler (makale §9); dolayısıyla net ihraç kuyruk eksi yakımdır ve yük altında negatif olabilir. Arzın bir kesri olarak kuyruk sıfıra yaklaşır.

3. Sübvansiyonun Bölünmesi#

Her blok sübvansiyonu blok 0'dan itibaren konsensüsle 94 / 3 / 3 olarak bölünür. Bölünme yalnızca sübvansiyona uygulanır, asla ücretlere değil, ve her bloğa özdeş biçimde uygulanır. Proof of stake rampası (§6) sırasında üreticinin %94'ü de, rampanın ulaştığı orana göre, madenci ile kurada seçilen stake sahibi arasında bölünür.

PayAlıcıNe zamana kadar
94%bloğun üreticisi, 2 saatlik bir olgunlaşmadan sonra (proof of work altında 240 blok, proof of stake altında 1.440)her zaman
3%kurucunun kalıcı adresi, olgunlaşma olmadan doğrudan alacak kaydedilirepoch 1.095 (üç yıl)
3%hazine hücresiher zaman; epoch 1.095'ten itibaren kurucunun %3'ünü de alır

Premine yoktur: bölünme, genesis'te yapılmış bir tahsis değil, kazılan her bloğa uygulanan bir kuraldır. Üç yılı boyunca kurucunun payının toplamı, kuyruk öncesi arzın %2'sinden azdır. Yumuşak tavanı aşan (makale §9) bir üretici yalnızca kendi payından vazgeçer; hazine ve kurucu payları indirilmemiş sübvansiyondan alınır.

4. Hazine#

Hazine hücresi protokol adresinin yerel bakiyesidir. Hiçbir anahtarın özeti ona denk gelmez, hiçbir sertifika ondan düşüm yapamaz ve genesis hiçbir yetersayı belirlemez. Blok 1'den itibaren birikir ve bu sürüm hiçbir harcama yolu taşımaz. Bir harcama yolu, 259.200 yüksekliğinden (yaklaşık 5 Ocak 2027) önce değil, imzacıları kurucu tarafından değil topluluk tarafından seçilerek, bir yükseltmeyle tanımlanır. O zamana dek hücre, herkesin denetleyebileceği ve kimsenin dokunamayacağı açık bir tam sayıdır.

5. Yönetim Emaneti: İlk Üç Yıl (öneri)#

Durum. Bu bölüm topluluğun incelemesine sunulan bir yöndür. İçindeki hiçbir şey, §4'ün hazine yükseltmesi bir anahtar kümesini sabitleyene dek bir konsensüs kuralı değildir ve ayrıntılar ancak yön kabul edildikten sonra belirtilir.

Hazinenin aldıkları. 1. yılda yaklaşık 533.000 ZCD, 2. yılda 396.000 ve 3. yılda 280.000: toplamda yaklaşık 1,21 milyon. 4. yıldan itibaren kurucunun %3'ünü de alır (§3); o yıl toplamda yaklaşık 396.000 eder. Bunun neye yeteceği kimsenin bilmediği bir fiyata bağlıdır ve sığ bir piyasa büyük satışları kaldıramaz; dolayısıyla plan alt uçta işlemek zorundadır:

ZCD fiyatıHazine, 1. yılBir koltuk (%8)Altyapı (%20)
US$ 0,01US$ 5.300US$ 430US$ 1.100
US$ 0,05US$ 27.000US$ 2.100US$ 5.300
US$ 0,50US$ 267.000US$ 21.000US$ 53.000
US$ 20US$ 10,7 milyontavandan önce US$ 853.000US$ 2,1 milyon

Bu yüzden aşağıdaki her tutar, asla dolar ya da ZCD cinsinden bir rakam değil, hazine girişinin bir payıdır.

Beş koltuk. Koltuk, sahibinden önce tanımlanır. Her koltuğun açık bir tüzüğü vardır: görevleri, teslim edecekleri, nasıl rapor verdiği ve ne ödendiği. Herkes başvurabilir. Koltuğu kim tutarsa, bir sözleşme altındaymış gibi tüzüğe hizmet eder.

KoltukGörev
Baş geliştiriciProtokol ve sürümleri. İlk sahibi: kurucu.
İnceleyen geliştiriciHer konsensüs değişikliğinin bağımsız incelemesi.
MadenciEtkin bir madenci; blok üreticileri adına konuşur.
ToplulukKanallar, belgeler, destek ve yeni katılımcıların karşılanması.
Kamuya açık temsilciKimliği herkesçe bilinen bir kişi; borsalar, ortaklıklar ve proje adına imzalanan anlaşmalar.

Kararlar.

  • Bir harcama 5'te 3 gerektirir.
  • Bir koltuk sahibini değiştirmek, anahtarları döndürmek, rezervi harcamak ya da bir tüzüğü değiştirmek 5'te 4 gerektirir ve yürürlüğe girmeden önce 7 gün boyunca kamuya açık kalır.
  • Görev süreleri bir yıldır ve yenilenebilir. Adaylıklar 30 gün boyunca kamuya açıktır. İlk beş sahip, düğüm işletmecilerinin benimsediği yükseltmenin sabitlediği anahtar kümesidir; daha sonraki bir hard fork onu yeniden sabitleyebilir.

Ödeme maaş değil, katılımdır. Bir koltuğun payı kilitli olarak birikir ve yayımlanan bir rapor karşılığında ve diğer 4 sahipten 3'ünün oylarıyla her altı ayda bir serbest bırakılır. Hiçbir sahip kendi ödemesinin serbest bırakılması için oy kullanmaz. Serbest bırakılmayan rezerve döner. Koltuk ödemesi tüzüklerle sabitlenir ve bir harcama oylamasıyla belirlenmez. Serbest bırakma tarihindeki piyasa fiyatıyla ölçülen koltuk başına bir tavan, her türlü fazlayı rezerve gönderir.

Girişin payları olarak bütçe.

PayAmaçKural
40%beş koltuk, her biri %8kilitli, yukarıdaki gibi her altı ayda bir serbest bırakılır
20%altyapıyayımlanan makbuzlar karşılığında maliyet üzerinden geri ödenir
25%hackathon'lar, etkinlikler ve ödülleröneriyle, 5'te 3, teslimde ödenir
15%rezervyalnızca 5'te 4

Altyapının önceliği vardır: düğümler, seed'ler, gezgin ve derleme sunucuları bugün ayda yaklaşık US$ 500 tutar. Geri ödeme, ödendiği günkü piyasa fiyatından dönüştürülür. Pay bu maliyeti 1. yılda ZCD başına yaklaşık US$ 0,06, 2. yılda US$ 0,08 ve 3. yılda US$ 0,11 fiyatla karşılar; bunun altında açık faizsiz olarak sonraya devredilir ve pay izin verdiğinde ödenir.

Kurucu. Kurucunun sübvansiyondaki %3'ü (§3), başlangıca kadar ve başlangıçta yapılan işi ödüllendirir. Süregiden iş için diğer her koltuk gibi ödenen baş geliştirici koltuğundan ayrıdır. Kurucu beş anahtardan birini tutar ve o koltuğun ödemesinin serbest bırakılması için oy kullanmaz.

Konsensüsün uyguladıkları. Yükseltme gerçekleştiğinde: 5'te 3 harcama ve gecikmesiyle birlikte 5'te 4 döndürme. Bu bölümdeki diğer her şey bir normdur. Bir normu uygulatan şey, her harcamanın yalnızca zincirden görülebilen ve sayılabilen sıradan bir sertifika olmasıdır.

Açık. Koltuk başına tavan. Kamuya açık temsilcinin imza attığı hukuki biçim. Makine etkinleştiğinde altı aylık kilidin standart kütüphanenin bir emanet (escrow) sözleşmesiyle uygulanıp uygulanmayacağı.

6. Era'lar#

Era'lar, herkese açık sürümlere derlenmiş yükseklik sabitleridir. Bir kapının altında olup kapının etkinleştirdiği bir programı taşıyan bir blok geçersizdir ve bu yükseklik denetimi Era'ları birbirinden ayıran tek şeydir; istisnası, yükseklik sınırları içinde durumla tetiklenen Era 2'nin rampası ve geçişidir. Yeni bir Era kurallar ve kayıt türleri ekleyebilir; mevcut bir bloğun anlamını kendi etkinleşme yüksekliğinin altında asla değiştirmez.

EraEtkinleştiği noktaNeler var
0 — Kaz ve ödeblok 0Nakamoto kuralları altında proof of work; yerel varlıklar (makale §5); one-shot ve kalıcı adresler; iki ücret piyasası; sübvansiyonun bölünmesi; biriken ve mühürlü hazine
1 — Makine80.640 yüksekliği (28 epoch, yaklaşık bir ay)cEVM ve standart kütüphane (makale §6); sıralayıcı ve yönetici içeren sözleşme kayıtları; intent'ler, fill'ler ve ortak sıralama (makale §7); dizin; zorunlu yol (makale §8)
2 — Proof of stakeBağlama: epoch 182 (524.160 yüksekliği, 7 Nisan 2027). Rampa: arzın ≥ %10'u kadar etkin stake'in 30 epoch boyunca sürmesi, en geç epoch 273'te (7 Temmuz 2027). Geçiş: rampa tamamlandıktan sonraki epoch'un ilk bloğu; kapı onu hiç duraklatmazsa en geç epoch 363 (5 Ekim 2027)BOND, UNBOND ve DELEGATE; rampa sırasında kurada seçilen stake sahibinin ortak imzaladığı kazılmış bloklar; geçişten itibaren yalnızca stake tarafından üretilen 5 saniyelik slotlar, proof of work emekliye ayrılır (makale §11)
S — Gizli ödemelerbağımsız denetimlerden ve hasmane bir açık testnet'ten sonraGizli tutarlar ve tek kullanımlık adresler

Era 2 ve S'nin her biri bir spesifikasyon, hasmane bir devnet ve inceleme ile, hard fork yoluyla kendi sürümü olarak gelir. Era 2 bağlamayı yüksekliğe göre açar, rampasını bir son tarihle birlikte stake'e göre başlatır ve rampa tamamlandığında geçişi yapar: geçişin gerçekleşebileceği en erken zaman epoch 303'tür (10. ay) ve başlangıçtaki son tarih, rampanın 9. ayın sonuna kadar başlamış olmasını güvence altına alır. %10 eşiği için stake, delegasyonlarıyla birlikte etkin stake'tir ve arz, ihraç edilmiş coin'dir; ikisi de epoch'un açılışındaki değeriyle. Kapı geçişi epoch 363'ün ötesine duraklatabilir; yapamayacağı şey, onun başlamasını engellemektir.

Stake. Asgari bağlama 1.000 ZCD'dir ve bir stake bağlandıktan bir epoch sonra katılır. Yalnızca delege eden bir bağlamanın asgari tutarı daha küçüktür, Era'nın sürümüyle belirlenir ve bu bağlama delege edenin emanetinden asla ayrılmaz. Asgari tutar dolar cinsinden değil ZCD cinsindendir, çünkü hiçbir kural bir fiyatı okuyamaz; blok tavanı büyüdükçe Era sınırlarında yeniden gözden geçirilir.

Era 0 kasıtlı olarak çok küçüktür ve Era 1 tasarımın ihtiyaç duyduğu şeye indirgenmiştir: yönetici anahtarları olmadığından duraklatma düğmesi de yoktur; dolayısıyla her konsensüs satırı, ağı çaresizce öldürebilecek bir satırdır. Erişilemez konsensüs kodu denetlenemez konsensüs kodudur ve sevk edilmez. Karmaşıklığına değdiğini kanıtlamayan bir Era asla tetiklenmez.

Bu geçiş yönetilebilirdir, çünkü fold kimin sıraladığından bağımsızdır: Era 2, başlıktaki imzanın kime ait olduğunu değiştirir.

Era 1 kapısı. Kapı bloğu Era'nın derlenmiş sabitlerini protokol hücrelerine yazar; böylece state root o andan itibaren onlara taahhüt eder. Kapıdan sonraki ilk 240 blokta, SETSEQ çalıştıran bir sertifika kapının en az 240 blok ötesinde bir TTL taşımalı ve aralığa girmesini beklemelidir.

Era 2 ve zamanı ölçen yükseklikler. Geçişten sonra yükseklik altı kat daha hızlı ilerler. Gerçekte bir süre olan her genesis sabiti (kurucu payının sonu, coinbase olgunlaşması, azami TTL, intent penceresi, geri alma derinliği, medyan zaman penceresi, bir dizin girdisinin ömrü) Era 2 tarafından ölçtüğü birimle okunur: 3.153.600 yüksekliği, 2.880'lik 1.095 epoch'tur ve Era, kurucu payını epoch 1.095'te sona erdirir. Genesis parametre tablosu değişmez, çünkü konsensüs kökü her parametreyi dolaşır ve birini değiştirmek her canlı ağın genesis id'sini değiştirirdi; Era'nın sabitleri, Era 1'inkiler gibi derlenir.

7. Parametreler#

Parametre kümesi genesis'te dondurulur, derleme anında her ikili dosyaya gömülür ve yalnızca hard fork ile değiştirilebilir. Konsensüs kökü her imzaya girer. zcd params bir derlemenin derlenmiş değerlerini yazdırır; zcd genesis ağı, zincir id'sini, parametre özetini, genesis id'sini ve state root'u yazdırır.

ParametreMainnet değeri
zincir id'si1
genesis zamanı1791331200 (2026-10-07 00:00 UTC)
blok aralığı30 s
epoch2.880 blok
iş motoruRandomX v2
zorluk penceresi90 blok, LWMA
genesis sübvansiyonu21 ZCD
kuyruk sübvansiyonu0,33 ZCD
azalma böleniepoch başına 1054
ihraç rampası86.400 blok
üretici / kurucu / hazine94% / 3% / 3%
kurucu payının sonu3.153.600 yüksekliği (Era 2 tarafından epoch 1.095 olarak okunur)
coinbase olgunlaşması240 blok
azami TTL240 blok
atlama ücreti1.000.000 drop
sertifika başına azami okuma / yazma / imza64 / 64 / 16
transfer başına hareket32
sertifika başına emekliye ayrılan adres64
sıralı gas hedefi1,600,000
sıralı hedef üst sınırı5,120,000
paralel gas oranı3×: paralel hedef 3T, tavan 6T
blok başına sertifikagenesis'te 4.000
blok başına imzagenesis'te 6.000
blok baytlarıgenesis'te 2,5 MB, 8 MB kapasite
tavan büyüme / azalma böleni512 / 1024
sağlık kapısıatıfta bulunulan rakip başlıklar %2
başlangıç taban ücreti, sıralı / paralel1000 / 10
taban ücret adımıblok başına 1/8
blok başına atıf4
geri alma derinliği1.024 blok
gelecek zaman sınırı180 s
medyan zaman blokları11
Era 1 (h1_vm)80,640
proof of stake için ayrılan yükseklik1.576.800 (genesis'te dondurulmuş; hiçbir kural onu okumaz)

Era 1 sabitleri parametre değil, derlenmiş sabitlerdir, çünkü konsensüs kökü her parametreyi dolaşır ve bir parametre eklemek her canlı ağın genesis id'sini değiştirirdi.

Sabit (Era 1)Değer
intent penceresi (TTL − NotBefore)en fazla 8 blok
blok başına zorunlu sertifika16
sertifika başına zorunlu paralel bütçe4.000 türetme birimi (200.000 makine gas'ı)
bir dizin girdisinin ömrü259.200 blok (yaklaşık 90 gün)
fill başına imzalayanen fazla 16

Era 2 sabitleri de aynı nedenle derlenir.

Sabit (Era 2)Değer
bağlamanın açılışıepoch 182
rampa başlangıcı30 epoch boyunca arzın ≥ %10'u kadar etkin stake; en geç epoch 273
rampa uzunluğukapıdan geçen 90 epoch; k 1'den başlar ve her biriyle artar, stake sahibinin payı k/180'dir
rampa kapısıepoch bloklarının %90'ı imzalı ve arzın ≥ %10'u kadar etkin stake
rampa sırasında imzasız blokgeçerli; üreticisinin sübvansiyondaki payı ve öncelik ücretleri yakılır; eşit işte imzalı blok kazanır
geçişten sonra slot aralığı5 s
geçişten sonra epoch17.280 slot
geçişten sonra blok başına sübvansiyonE(n)/6, drop cinsinden aşağı yuvarlanır (genesis eğrisinde 3,5 ZCD; kuyruk 0,055); boş bir slot hiçbir şey ödemez
geçişten sonra coinbase olgunlaşması ve azami TTL1.440 blok; S geçiş yüksekliğinin üzerindeki bir x olgunlaşma, TTL ya da dizin süre sonu yüksekliği S + 6·(x − S) olur
geçişten sonra intent penceresien fazla 48 blok
geçişten sonra medyan zaman blokları67
geçişten sonra geri alma derinliği6.144 blok
geçişten sonra bir dizin girdisinin ömrü1.555.200 blok
geçişten sonra blok başına tavanlarsıralı hedef, tabanı ve üst sınırı 6'ya bölünür, aşağı yuvarlanır; sertifika, imza ve bayt sınırları genesis'teki gibi T'yi izler, üst sınırları 6'ya bölünür
geçişten sonra blok başına zorunlu sertifika2
önerilen kesinlik bekleme süresigeçişten önce 20 blok, sonra 120 (10 dakika)
kurucu payının sonuepoch 1.095
asgari bağlama1.000 ZCD
bağlama ile katılım arasındaki gecikme1 epoch
asgari delegasyonaçık; asgari bağlamanın altında
çıkış gecikmesiaçık; yürürlükteki Era'nın geri alma ufkundan daha uzun
yakılan bir bağlamadan bildirene ödenen oranaçık; %50'nin altında
asgari havuz marjıaçık
kura işlevi ve tohum kaynağıaçık