Gunakan halaman ini untuk menentukan saiz mesin pembuktian, untuk memahami mengapa satu pemindahan mengambil lebih seminit dan mengapa ruang blok, bukan pengiraan, yang menghadkan daya pemprosesan, serta untuk mengetahui apa yang rosak apabila sistem bukti berubah. Segala yang diterima oleh validator disokong oleh bukti yang disahkannya sendiri.
Apa yang dinyatakan oleh sesuatu bukti
Satu hubungan, bagi setiap program yang dijalankan oleh rantaian:
Program RV32IM ini, yang dimulakan pada
base_pc, dijalankan pada vektor input persendirian yang diikat olehH_INdan segmen input awam yang diikat olehH_PUB, berhenti dalam2ᵗ − 1kitaran, membelanjakan paling banyakGAS_LIMITgas dan menerbitkan lapan perkataan output ini.
Program dikenal pasti melalui digest dalam litar hc; pengesah tidak pernah melihat sebarang perkataan arahan. Satu pemindahan terlindung ialah hubungan itu yang dikenakan pada guest himpunan aset tersembunyi, program 4-masuk-4-keluar yang dipasang secara manual dan hc-nya dipaku dalam fail genesis sebagai hc_bundle. Chain 20 memaku guest v3 (guests::bundle_hidden_v3, 60af094a…6e3fce, sejak chain 17). Chain 14 dan 15 memaku v1 (83d3a370…cd0ef8) dan chain 16 v2 tanpa cabang (651043e2…839b). Sejak chain 17 setiap himpunan turut membawa bukti kedua, iaitu bukti guest auth (guests::auth, genesis hc_auth, 1e4e347f…5639c1): bukti himpunan mengambil kunci tontonan, dan bukti auth menunjukkan bahawa penghantar memegang kunci perbelanjaan di sebaliknya. Ini ialah pengesahan berpisah, dan inilah yang membolehkan pembukti berpasangan yang hanya memegang kunci tontonan menghasilkan bukti himpunan. Guest aset tersembunyi menggantikan guest bundle 2-masuk-2-keluar bagi chain sehingga 13, yang kekal dalam fullnode hanya untuk ujian dan tidak dipaku oleh mana-mana chain. Panggilan sulit ialah hubungan yang sama yang dikenakan pada program yang telah dikerahkan (Programs).
Bagaimana dompet membuktikan satu himpunan
rand send <rand1…> <amount> melakukan kerja persendirian secara setempat, dan hanya bukti, komitmen, nullifier dan sampul termeterai sampai ke rantaian:
- Imbas pokok dengan kunci tontonan dan pilih input: paling banyak dua nota RAND yang meliputi jumlah ditambah yuran dalam slot 2–3, dan bagi pemindahan atau pembakaran token paling banyak dua nota token itu dalam slot 0–1 dengan nota RAND meliputi yuran sahaja. Slot input yang tidak digunakan ialah dummy: jumlah 0, dimiliki oleh dompet, kegagalan keahliannya disembunyikan dalam litar, nullifier tetap diterbitkan. Sejak guest v2, guest itu tanpa cabang: laluan dummy di-hash ke atas melalui kesemua 32 aras seperti nota sebenar.
- Dapatkan anchor kepala (
rand_getAnchor) dan saksi Merkle 32 aras bagi setiap input sebenar (rand_getWitness(index)), sambil menyemak akar yang dikembalikan terhadap anchor. - Bina empat output: nota penerima dan nota baki dalam kumpulan yang memindahkan nilai, hadir walaupun pada sifar, serta dummy berjumlah sifar di tempat lain, dimeterai kepada kunci sekali guna.
- Meterai setiap output dalam sampul (ML-KEM-768 kepada penerima, ditambah kunci transaksi yang dibalut di bawah
ovkdompet), himpunkan keseluruhan transaksi bersama tindakannya, dan ambil pengikatannya:blake3("rand-tx-bind-1" || …)ke atas transaksi dengan bukti dikosongkan, lapan perkataan (Transactions). Pada chain 20, yang genesisnya menetapkanbinding_domain: 1, ia ialahblake3("rand-tx-bind-2" || …)dengan hash genesis dahulu, kemudian id chain, supaya bukti yang dibuat untuk satu chain tidak disahkan pada chain lain, walaupun yang mempunyai id chain yang sama. Dompet yang lebih lama daripada v0.6.8 mengambil pengikatan lama, dan chain 20 menolak buktinya. - Beri kuasa: jana salt 256-bit yang baharu dan buktikan guest auth pada input persendirian 16 perkataannya, iaitu kunci perbelanjaan dan salt, dengan pengikatan sebagai segmen input awam, pada tier 10. Ia memperoleh
nkdaripada kunci perbelanjaan dan menerbitkanc = H(AUTH, nk ‖ salt), yang dibawa oleh himpunan sebagaiauth_commit. - Buktikan guest himpunan pada input persendirian 1,212 perkataannya (kunci tontonan
nk, empat slot input beserta laluannya, anchor, empat output,fee,burn_a,burn_r, aset persendirianA,time, salt) dengan pengikatan yang sama sebagai segmen input awam, pada tier 14. Bukti ini menunjukkan pemilikan, keahlian, bahawa setiap input sebenar membawa aset slotnya, empat nullifier,cyang sama, dan dua bakiin₀ + in₁ = out₀ + out₁ + burn_adanin₂ + in₃ = out₂ + out₃ + fee + burn_r. Inilah bukti yang boleh dibuat oleh pembukti berpasangan menggantikan dompet; bukti auth dibuat pada mesin dompet itu sendiri. - Semak digest terbitan bukti terhadap digest yang dikira daripada teks biasa, dan hantar
Transaction { chain_id, bundle, action: None }.
Susunan ini penting sejak chain 14: sampul dan tindakan wujud sebelum bukti wujud, kerana bukti-bukti itu terikat kepadanya. Bagi panggilan, bukti panggilan dibuat dahulu dan turut berada di dalam pengikatan. Pada chain hardening_v6, bukti panggilan itu sendiri dibuat ke atas pengikatan panggilan bagi transaksi dengan kedua-dua bukti dikosongkan (rand-call-bind-1 pada chain 16 hingga 19, rand-call-bind-2 dengan hash genesis pada chain 20), yang merangkumi nullifier himpunan yuran, maka ia tidak boleh disalin di bawah himpunan lain.
proving bundle (tier 14; about a minute on a laptop)…
proved in 98.3s: tier 14, 1423170 bytes
submitted transfer 4f2c… 1.5 RAND out, 98.499 RAND change, fee 0.001 RAND, anchored at height 192
Transkrip ialah format output dompet daripada panduan fullnode setakat chain 14; kiraan bait yang ditunjukkan ialah bagi bukti himpunan profil pengeluaran yang dikomit pada chain 14. Dompet sejak chain 17, termasuk v0.6.8 pada chain 20, mencetak dua baris sebelum ini, proving the spend authorisation on this machine (tier 10; seconds)… dan authorisation proved in …: tier 10, … bytes, dan menggubah semula baris himpunan sebagai proving the bundle (tier 14; about a minute and a half on a laptop)….
Jentera yang sama membayar bagi setiap tindakan, sentiasa dengan tepat satu himpunan: pengerahan, panggilan, pendaftaran token atau pencetakan token menumpang pada pemindahan kendiri RAND bernilai sifar, ikatan (bond) pada himpunan yang membakar pertaruhan melalui burn_r, dan pembakaran token atau pembakaran jambatan pada satu himpunan yang membakar aset daripada slot 0–1 (burn_a, burn_asset) dan membayar yuran RAND daripada slot 2–3. Aset yang dipindahkan oleh sesuatu pemindahan ialah perkataan saksi dan tidak terdapat dalam mana-mana medan awam.
Apa kosnya
Diukur pada komputer riba pembangunan (Apple Silicon, binaan release), angka yang direkodkan oleh dokumen fullnode sendiri:
| guest | perkataan | kitaran | tier | pembuktian | saiz bukti (pengeluaran, 80 pertanyaan) |
|---|---|---|---|---|---|
| guest himpunan v3 (chain 17 hingga 20) | — | 4,024 kitaran dan 273 pilihatur Poseidon2 ruang lebihan dalam bajet tier 14 | 14 | ≈ 100 s, puncak 5.7 GB; 102.5 hingga 134.0 s diukur pada chain 18 (2026-09-30) | ≈ 1.50 MB; 1,494,151 hingga 1,504,260 bait diukur pada chain 18 (2026-09-30) |
| guest auth (chain 17 hingga 20) | — | 250 | 10 | ≈ 7 s; 6.6 hingga 19.9 s diukur pada chain 18 (2026-09-30) | ≈ 1.37 MB; 1,364,940 hingga 1,375,371 bait diukur pada chain 18 (2026-09-30) |
| himpunan aset tersembunyi v1, 4-masuk-4-keluar (chain 14 dan 15) | — | di bawah bajet tier 14 dengan lebih kurang 2,071 kitaran (13%) berbaki | 14 | ≈ 98–100 s, puncak 5.7 GB | ≈ 1.43 MB; 1,422,116 dan 1,423,170 bait diukur pada chain 14 |
bundle, 2-masuk-2-keluar (dipersarakan; chain sehingga 13) | 3,811 | ≈ 9,160 | 14 | ≈ 100 s (94.6–97.9 s bersendirian; 114 s setiap satu bagi dua serentak) | 1,321,773 bait diukur pada chain 8 |
private_payment (satu panggilan) | kecil | < 1,000 | 10 | ≈ 7 s | ≈ 1.37 MB (fib pada tier 10: 1,367,688 bait di bawah set kekangan 7; 1,298,729 di bawah set 6) |
| panggilan tanpa jadual hash (lejar luar rantai, chain 18) | 773 | — | 14 | 114.8 s | 1,498,589 bait |
| panggilan dengan jadual SHA-256 (bukti liabiliti, chain 18) | 994 | — | 14 | 122.9 s | 1,911,152 bait |
| panggilan dengan jadual Keccak (undi tanpa nama, chain 18) | — | — | 12 | 29.2 s | 3,346,865 bait |
Pengesahan ialah kos konsensus, yang dibayar oleh setiap nod: lebih kurang 16 ms dengan kunci pengesah yang telah dipanaskan, lebih kurang 230 ms kali pertama kunci dibina bagi sesuatu bentuk. Kunci pengesah tidak bergantung pada kandungan program — ia dikunci pada (tier, program_log_height, input_log_height, keccak_log_height, sha256_log_height, public_log_height) — maka nod membina satu bagi setiap bentuk dan menggunakannya semula; bagi program yang dikerahkan, kunci dikira sekali di latar belakang pada masa pengerahan (lebih kurang 2 s pada komputer riba, 7 s pada pelayan 2-vCPU). Himpunan 2-masuk-2-keluar bagi chain 13 dan sebelumnya mengisytiharkan bentuk program 12, input 10, keccak 0, sha256 0, public 2, mem 16; bukti himpunan chain 14 mengisytiharkan public 4, ketinggian lapan perkataan pengikatan, tidak membawa kedua-dua jadual hash, dan ditolak sebelum sebarang kunci pengesah dibina jika ia mengisytiharkan tier lain, mana-mana jadual atau ketinggian awam yang lain. Sejak set kekangan 7, setiap jadual yang diisytiharkan mempunyai sekurang-kurangnya 2⁷ baris, maka bukti himpunan chain 20 mengisytiharkan public 7.
Maka satu transaksi pada chain 20 membawa sekitar 2.87 MB bukti, iaitu bukti bundle dan bukti auth, dan satu panggilan membawa bukti ketiga tambahan. Setiap bukti mesti muat dalam max_proof_bytes genesis, iaitu 4,194,304 (4 MiB) pada chain 20, sama seperti pada chain 17 hingga 19, berkurang daripada 8 MiB pada chain 13 hingga 16.
Guest aset tersembunyi hanya muat pada tier 14 kerana ia membaca input persendiriannya dalam gelung dan menggabungkan bacaan sibling bagi semakan Merkle; apabila ditulis dalam gaya unrolled yang lebih lama, relasi yang sama jatuh pada tier 16, kira-kira 400 s dan 21–22 GB, yang akan mengecualikan dompet 16 GB.
Pembuktian terikat kepada CPU, dan dompet kini menggunakan bahagian belakang CPU pada setiap platform. Dalam larian tier besar, pembukti berjalan dengan satu thread: droplet 16 vCPU berjalan pada 99% satu teras, dan memori, bukan teras, yang menentukan sama ada sesuatu bukti selesai (memori pembuktian). Bendera --cuda pada send, bond, call, deploy, bridge-mint dan bridge-burn memilih bahagian belakang NVIDIA yang memerlukan binaan dengan --features cuda. Kernelnya pertama kali dijalankan pada perkakasan sebenar, NVIDIA H100, pada 2026-09-28 dan sepadan dengan rujukan CPU, tetapi tiada PTX yang di-commit dalam checkout circuits yang di-vendor oleh keluaran tersebut, maka binaan gagal dengan no PTX for the GPU kernels sehingga kernel dikompilasi. Tiada bukti pengeluaran yang telah diukur pada nod GPU armada. Memang sengaja tiada fallback kepada CPU. Panggilan CUDA juga tidak boleh mengunci sampul input, kerana salt tidak pernah meninggalkan pembukti. Memori puncak bagi bukti bundle aset tersembunyi tier 14 ialah kira-kira 5.7 GB (Production FRI, CPU); kelas memori yang lebih besar berkaitan dengan bukti interpreter dan rekursi di bawah (≥ 64 GB dan ke atas).
Cara nod mengesahkan
Kemasukan menjalankan semakan murah dahulu (Transaksi), kemudian:
- mengira semula bundle digest daripada plaintext yang diterbitkan (anchor, empat nullifier, empat commitment,
fee,burn_a,burn_r,burn_asset,time,auth_commitbundle, dan satu perkataan taint yang ditetapkan kepada sifar) dan menghendakinya sama dengan apa yang diterbitkan oleh bukti — bukti yang witness-nya melanggar relasi menerbitkan digest tercemar yang tidak sepadan dengan mana-mana plaintext. Beberapa semakan bersifat struktur sebaliknya (guest membekalkan sendiri pengirim, aset dan masa sesuatu output, maka pembukti tidak boleh memilihnya), dan aset persendirian tidak terdapat dalam digest; - menyahkod bukti dan menyemak ketinggian yang diisytiharkannya terhadap tier (
check_declared_heights), supaya had chain ke atas bentuk sesuatu bukti ialah milik pengesah. Sebelum sebarang tandatangan atau bukti disemak, saringan bukti kanonik dijalankan ke atas setiap transaksi yang dihantar atau disebarkan secara gosip (dan, di bawahhardening_v6, dalam pengesahan blok); sejak fullnode v0.6.8 (audit v6, ZKV-4) saringan itu terlebih dahulu mengikat setiap darjah yang diisytiharkan pada 25 bit (MAX_HONEST_DEGREE_BITS, siling jadual memori tambah satu), supaya pengepala dengan darjah yang amat besar tidak lagi menahan nod sementara jadual lipatan jujur diterbitkan semula untuknya, dan panic di dalam saringan menolak transaksi itu dan bukan menghentikan nod; - mengira binding transaksi dan menjalankan
Machine::verify_public(hc_bundle, &binding, proof)— pengesah kelompok ditambah semakan bahawaH_PUBialah digest bagi lapan perkataan tersebut, supaya bukti yang disalin ke atas transaksi dengan tindakan lain, sampul lain atau chain id lain, atau pada chain 20 ke atas genesis chain lain, tidak lulus pengesahan (hingga chain 13 segmen itu kosong dan tiada apa-apa yang mengikat bukti kepada transaksinya); - mengesahkan bukti auth terhadap
hc_authdan binding yang sama, dan menghendakicyang diterbitkannya sama denganauth_commit. Bundle tanpa bukti auth ditolak (AuthMissing), begitu juga bundle yangc-nya berbeza (AuthMismatch); - menghendaki
GAS_LIMITbukti bundle sama denganbundle_gas_limitgenesis, 20,479, danGAS_LIMITbukti auth sama dengan 1,279, iaitu siling pengepala kedua-dua guest (BundleGasLimit,AuthGasLimit); - bagi panggilan, melakukan perkara yang sama terhadap
code_hashtersimpan program, dengan perkataan awam program diikuti oleh binding panggilan sebagai segmen (InvokeRPL-2 menambah transisinya sebagai perkataan konteks, Program), kemudian menyemak yuran terhadap had gas yang diisytiharkan oleh bukti dan saiz bytenya (Yuran).
Transaksi yang dihantar melalui RPC atau gossip disahkan pada salah satu daripada empat worker di belakang baris gilir sedalam 64, di luar gelung konsensus, dan disebarkan ke nod lain hanya setelah ia lulus pengesahan; token bucket bagi setiap peer (burst 16, isi semula 4 sesaat) mengawal apa yang boleh dipaksa oleh seorang peer untuk disahkan oleh nod, dan cache 8,192 entri menjawab ulangan transaksi yang ditolak secara kekal tanpa kos. Pengesahan bukti di dalam blok yang dicadangkan masih dijalankan pada gelung konsensus apabila blok itu digunakan. Nod yang menyegerak semula mengesahkan semula setiap sijil dan setiap bukti bagi setiap blok sebelum menerimanya; tiada apa-apa yang dipercayai hanya kerana kuorum telah menandatanganinya.
Tier
| tier | bajet kitaran (2ᵗ − 1) | baris cpu | digunakan oleh |
|---|---|---|---|
| 10 | 1,023 | 2¹⁰ | guest auth; private_payment, fib |
| 12 | 4,095 | 2¹² | |
| 14 | 16,383 | 2¹⁴ | guest bundle aset tersembunyi (dan guest bundle yang telah dipersarakan); panggilan terbesar |
| 16 | 65,535 | 2¹⁶ | bukti panggilan EVM dalam suite ujian; approve ERC-20 terjemahan (dipanggil pada chain 13) |
| 18 | 262,143 | 2¹⁸ | transfer dan transferFrom ERC-20, terjemahan atau diinterpretasi |
| 20 | 1,048,575 | 2²⁰ | SPL Token, terjemahan atau pada guest interpreter sBPF |
Sejak fullnode v0.5.6 (2026-09-25) bukti panggilan di atas tier 14 ditolak (CallTierTooHigh) sebelum kunci pengesah dibina, dan blok yang membawanya adalah tidak sah; satu panggilan juga boleh membawa paling banyak 128 permutasi Keccak-f dan 128 pemampatan SHA-256. Tier 16 hingga 20 masih boleh dibuktikan, tetapi di luar chain sahaja: tiada satu pun baris di atasnya boleh dipanggil pada chain 20, dan chain 20 menolak deploy program yang terlalu besar bagi sebarang panggilan tier 14, iaitu lebih daripada 8,180 perkataan tanpa input awam (ProgramUncallable) (bajet).
Pembukti memilih tier terkecil yang bajetnya meliputi kitaran serta baris digest program dan input; larian yang tidak muat gagal sebelum pembuktian. Hanya tier yang awam. Setiap langkah menggandakan masa pembuktian kira-kira empat kali dan menambah sedikit kepada saiz bukti. Pada chain 20, yuran sesuatu panggilan mengikut had gas yang diisytiharkan oleh buktinya dan saiznya dalam byte, bukan tier (Yuran).
Set kekangan dan hard fork
Set kekangan ialah set tepat jadual, lajur, bus, nilai awam dan parameter FRI yang disemak oleh pengesah. Bukti yang dibuat di bawah satu set tidak lulus pengesahan di bawah set lain, dalam kedua-dua arah, dan replay permulaan nod mengesahkan semula setiap bukti dalam chain-nya — maka nod yang dibina daripada set berbeza gagal pada bukti pertama dan memangkas chain. Itulah sebabnya setiap perubahan pada set dikeluarkan sebagai chain id baharu dengan setiap nod pada satu binaan, dan sebabnya rand_status melaporkan hc_bundle dan hc_auth serta nod yang binaannya tidak selaras dengan genesis enggan bermula.
| set | tarikh | apa yang berubah |
|---|---|---|
| 2 | 2026-09-10 | lima pembetulan kesahihan (soundness) selepas semakan pertama |
| 3 | 2026-09-11 | cip Poseidon2, hc dalam litar, jadual program sebagai witness, memori sub-perkataan, RV32M, FRI ditala semula kepada 27 query |
| 4 | 2026-09-11 | komitmen input bergaram H_IN dengan jadualnya sendiri; pemuat binari rata |
| 5 | 2026-09-12 | jadual keccak pilihan; ketinggian memori yang diisytiharkan oleh bukti; dua pembetulan kritikal daripada audit zk; FRI kembali kepada 80 query; MAX_PROOF_BYTES kepada 2 MiB |
| 6 | 2026-09-14 | jadual public mandatori dan H_PUB; jadual sha256 pilihan; guest interpreter EVM dan sBPF sebagai pustaka; 34 nilai awam. Apa yang dijalankan oleh chain 12 hingga 15. |
| 7 | 2026-09-28 | setiap terminal LogUp dibutakan melalui bus BLIND; setiap jadual yang diisytiharkan dilantai pada 2⁷ baris; semakan julat 32-bit pada perkataan input, awam dan salt; syscall POSEIDON2_LEN (7); JALR mengosongkan bit 0 sasarannya dan menghendaki funct3 = 0; kunci pengesah digaram daripada key_derivation_v2. Apa yang dijalankan oleh chain 16 dan 17. |
| 8 | 2026-09-29 | meter gas: lajur GAS dalam jadual cpu dan nilai awam GAS_LIMIT; 35 nilai awam. Apa yang dijalankan oleh chain 18 hingga 20. |
Chain 14 dan 15 tidak mengubah sebarang kekangan. Nod chain 15 menyimpan 86 pemalar pusingan Poseidon2 sebagai jadual literal dan bukan cabutan berbenih (audit ZKV-2) — nilai yang sama, maka tiada hash, digest atau bukti yang berubah. Chain 14: bundle aset tersembunyi ialah guest baharu (hc_bundle baharu) dan binding transaksi menggunakan segmen awam yang telah diikat oleh set 6 dalam litar. Ia tetap hard fork — format wayar bundle, guest yang dipin dan setiap id transaksi berubah, transaksi chain 13 yang membawa bundle ditolak oleh binaan baharu, dan dompet yang dibina sebelum fork menghasilkan bukti segmen kosong yang ditolak oleh chain.
Tiga rantaian sejak itu masing-masing mengubah apa yang dimaksudkan dengan sesuatu bukti. Rantaian 16 (fullnode v0.6.1, 2026-09-28) beralih kepada set kekangan 7, mengunci guest bundle tanpa cabang v2 dan menetapkan hardening_v6, selepas semakan pada 2026-09-27 menunjukkan bahawa jadual pendek dan terminal LogUp yang tidak dikaburkan membocorkan data peribadi (How the zkVM works). Setiap kunci verifier berubah. Rantaian 17 (v0.6.3, 2026-09-29) mengekalkan set 7 dan menambah pengesahan terpisah: guest bundle v3, guest auth, dua medan baharu pada wire bundle dan domain id transaksi rand-txid-3. Rantaian 18 (v0.6.7-rc1, 2026-09-29) beralih kepada set kekangan 8 untuk meter gas. Kos yang diukur dari segi saiz bukti adalah kurang daripada 1%. Rantaian 19 (2026-10-01) ialah re-genesis rantaian 18 pada binaan v0.6.7 yang sama dan tidak mengubah apa-apa dalam bukti. Rantaian 20 (fullnode v0.6.8, 2026-10-01) mengekalkan set kekangan 8 serta guest dan kunci verifier yang sama, dan mengubah apa yang diikat oleh sesuatu bukti: pengikatan transaksi dan panggilan membawa hash genesis (binding_domain: 1), iaitu input awam yang dikira oleh dompet dan lejar, justeru tiada litar yang berubah. Namun, ia tetap hard fork, kerana bukti daripada dompet v0.6.7 tidak lulus pengesahan padanya. Setiap binaan menolak rantaian sebelumnya berdasarkan hash genesis.
Dua nota audit yang terkandung dalam kod dan wajar diketahui: nilai awam TIER disemak oleh verifier berbanding pengepala bukti dan bit darjah kelompok tetapi tidak dikekang oleh litar itu sendiri (audit ZL1, ditandakan untuk set seterusnya dan bukan dibaiki, kerana membuang nilai tersebut menganjakkan susun atur nilai awam); dan H_IN ialah komitmen yang boleh dilihat oleh guest yang tidak dibandingkan oleh verifier dengan nilai yang dibekalkan pemanggil, secara rekaan.
Akan datang: pengagregatan blok
Pada kira-kira 1.43 MB bagi setiap bukti bundle aset tersembunyi pada rantaian 14 dan 15, blok 4 MiB (lalai, dan milik rantaian 12) memuatkan dua pemindahan shielded; ia memuatkan tiga pada bundle 2-in-2-out sebanyak ~1.3 MB. Rantaian 13, 14 dan 15 menaikkan had blok kepada 20 MiB (max_block_bytes), ruang untuk empat belas. Rantaian 20 mengekalkan 20 MiB, dan satu pemindahan padanya membawa kira-kira 2.87 MB bukti, jadi satu blok memuatkan kira-kira tujuh. Penyelesaian yang dipilih oleh fullnode (2026-09-12) berbanding pemangkasan dan blok yang lebih besar ialah pengagregatan peringkat blok: satu bukti rekursif bagi setiap tetingkap termeterai yang mengesahkan N bukti bundle, supaya sejarah kekal membawa bukti dari awal hingga akhir manakala bukti mentah boleh dibuang. Ia telah dibina dan digabungkan tetapi belum diaktifkan, dan sejak rantaian 14 ia perlu diukur semula sebelum boleh diaktifkan: bentuk bundle yang diterimanya diukur dengan segmen awam kosong (public 2), sedangkan bundle yang terikat pada transaksi mengisytiharkan public 4, maka tiada bundle yang dibuktikan pada rantaian 14 sepadan dengannya. Set kekangan 7 dan 8 mengubah bentuk itu sekali lagi: bukti bundle kini mengisytiharkan public 7 dan menerbitkan 35 nilai, jadi antara muka agregat ialah 35 perkataan bagi setiap bukti. Binaan nod enggan bermula pada mana-mana genesis yang membawa seksyen aggregation, dan rantaian 14 hingga 20 dipotong tanpanya. Genesis dengan harga gas dinamik, seperti milik rantaian 20, juga ditolak bersama seksyen aggregation. Sejak fullnode v0.5.8, bukti agregat turut mengikat aggregator-nya (audit AGG-2: atur cara menyerap aggregate_binding(chain_id, aggregator, nonce)), jadi digest atur cara bagi bentuk yang diterima mesti diukur pada binaan yang membawa perubahan itu. Pengaktifan juga masih menunggu latihan agregat palsu hujung ke hujung terhadap verifier rekursi yang telah dibaiki, yang belum dijalankan, dan keputusan tentang bukti auth: atur cara agregat hanya mengesahkan bukti bundle, jadi pada rantaian dengan pengesahan terpisah, memeteraikan tetingkap akan mengecilkan pemindahan daripada kira-kira 2.87 MB kepada kira-kira 1.37 MB, bukan kepada tiada.
Apa yang telah dibina:
- mesin kedua yang asli Goldilocks (VM rekursi,
randprotocol-rvm) yang atur cara verifier-nya menyemak bukti RV32 dalam kira-kira 1.97 juta baris pada tier 21 (2,044,506 di bawah set kekangan 7), dan atur cara agregat generik-N ke atas tetingkap bukti bundle; - dua peranan: validator kekal murah dari segi CPU dan mengesahkan satu agregat bagi setiap blok termeterai; aggregator (daftar berikat tanpa kebenaran dengan alamat bayaran shielded) membuktikan agregat pada mesin kelas GPU dan dibayar bahagian pembuktian bundle yang diliputi serta subsidi blok dalam RAND baharu mengikut jadual pengurangan separuh;
- lima tindakan (
RegisterAggregator,UnbondAggregator,WithdrawAggregator,SlashAggregator,Aggregate;SlashAggregatorkekal pada wire dan ditolak, kerana agregat yang dicuba semula menandatangani semula nonce yang sama dan bukan equivocation), kemasukan sembilan langkah, pemeteraian dan pemangkasan bundle yang diliputi kepada kira-kira 3 KB medan awam setiap satu, penyegerakan bentuk termeterai yang menelan kos satu pengesahan rekursi bagi setiap tetingkap kepada nod baharu, kaedah RPCrand_getAggregate,rand_getAggregators,rand_getUnsealed,rand_getRawTransaction, dan daemonrand-node aggregate --watch.
Diukur pada profil FRI ujian: satu agregat N=1 dibuktikan dalam kira-kira 26 minit pada komputer riba yang sibuk (327,035 bait); nod baharu menggunakan kelompok termeterai tujuh blok dalam masa kurang sesaat dengan satu pengesahan rekursi. Kelas mesin seperti yang mula-mula dihadkan: N=1 memerlukan ≥ 64 GB memori hos, N=2 ≥ 128 GB, N=3 ≥ 160 GB; N ≥ 2 pengeluaran bergantung pada bahagian belakang CUDA, yang memerlukan nod GPU yang belum wujud. Diukur pada mesin 256 GB di bawah set kekangan 7 (2026-09-28 dan 29), agregat N=2 menggunakan 133 GB, N=3 menggunakan 221 GB, dan bukti keluar pengeluaran (atur cara verifier ke atas satu bukti dalaman) melebihi 256 GB. Tiada satu pun diukur semula di bawah set kekangan 8. Sehingga pengagregatan diaktifkan, tiada agregat menggantikan bukti pada rantaian 20: dua nod arkibnya menyimpan setiap bukti mentah, dan validatornya memangkas sejarah yang lebih lama daripada 24 jam.