| Penulis | Polosukhin, Illia; Skidanov, Alexander |
|---|---|
| Tahun | 2020 |
| Proyek | NEAR Protocol |
| Lisensi | MIT |
| Sumber Resmi | near.org/papers/nightshade |
Whitepaper NEAR Nightshade — ditulis oleh Illia Polosukhin dan Alexander Skidanov dan diterbitkan dengan peluncuran mainnet NEAR pada April 2020 — memperkenalkan desain sharding yang memperlakukan blockchain sebagai satu rantai logis tunggal sementara secara fisik mempartisi state dan komputasi di seluruh shard paralel. Menggunakan struktur blok berbasis chunk (setiap shard menghasilkan satu “chunk” transaksi per blok daripada blok penuh), pengocokan validator dinamis di seluruh shard untuk keamanan, dan sistem fraud proof fishermen untuk integritas lintas-shard.
Dua Filosofi Sharding
- Sharding heterogen: Setiap shard adalah rantai independen dengan validatornya sendiri; komunikasi lintas-shard memerlukan protokol eksplisit (model parachain Polkadot, IBC Cosmos). Pengguna dan developer harus secara eksplisit mengelola shard mana yang mereka gunakan.
- Sharding homogen (Nightshade): Blockchain tampak sebagai sistem tunggal; sharding adalah detail implementasi. Pengguna dan developer berinteraksi seolah ada satu rantai.
NEAR memilih model homogen. Nightshade menyajikan abstraksi satu blockchain di mana setiap blok berisi “chunk” — satu per shard — yang diproses secara paralel.
Model Chunk
Dalam Nightshade, setiap blok terdiri dari header blok plus satu chunk per shard:
- Chunk berisi transaksi dan receipt untuk satu shard.
- Produser blok mengusulkan struktur blok penuh; validator shard memvalidasi chunk yang ditugaskan.
- Header blok berkomit pada semua chunk via pohon Merkle.
Komunikasi Lintas-Shard via Receipts
Ketika transaksi di shard A memanggil kontrak di shard B:
- Transaksi dieksekusi di shard A, menghasilkan receipt yang ditujukan ke shard B.
- Receipt disertakan dalam chunk shard B di blok berikutnya.
- Fungsi di shard B dieksekusi; nilai kembalian apa pun menghasilkan receipt lebih lanjut yang dirutekan kembali.
Ini adalah komunikasi lintas-shard asinkron — diperlukan setidaknya dua blok untuk panggilan lintas-shard selesai. Model pemrograman NEAR (via SDK Rust atau AssemblyScript) menangani ini dengan callback async.
Dynamic Resharding
Set validator NEAR secara acak dan periodik dikocok ulang di seluruh shard:
- Setiap epoch (~12 jam), validator direassign via fungsi acak yang dapat diverifikasi (VRF).
- Tidak ada shard yang memiliki set validator tetap — ini mencegah serangan tertarget pada shard tunggal.
- Jumlah shard dapat tumbuh secara dinamis seiring meningkatnya beban jaringan.
Paper menargetkan hingga 100 shard, dengan setiap shard memproses ~1.000 TPS, menghasilkan throughput agregat teoritis ~100.000 TPS.
Fishermen: Keamanan Shard
Dalam sistem sharding, setiap shard memiliki lebih sedikit validator daripada jaringan penuh — mengurangi keamanan per shard. Nightshade mengatasi ini dengan fishermen:
- Node jaringan mana pun dapat bertindak sebagai fisherman — memantau semua chunk shard.
- Jika fisherman mendeteksi chunk tidak valid, mereka mengajukan tantangan dengan fraud proof.
- Jika tantangan divalidasi, validator shard yang melanggar di-slash; fisherman mendapat reward.
Doomslug: Produksi Blok Cepat
NEAR menggunakan Doomslug — mekanisme produksi blok cepat:
- Produser blok bergiliran menghasilkan blok dalam jadwal round-robin berdasarkan stake.
- Blok dianggap “valid” untuk sebagian besar tujuan setelah menerima satu putaran tanda tangan validator — sekitar 1 detik.
- Finalitas BFT penuh (ketidakbatalkan) memerlukan dua putaran — sekitar 2 detik dalam praktik.
Illia Polosukhin: Co-Founder AI & Blockchain
Illia Polosukhin adalah co-founder dan CEO NEAR Protocol. Peneliti AI dengan latar belakang Google Brain — co-authored paper “Attention Is All You Need” (2017) yang memperkenalkan arsitektur Transformer yang mendasari LLM modern termasuk GPT dan BERT. Mendirikan NEAR pada 2018 bersama Alexander Skidanov.
Istilah Terkait
Referensi
- Polosukhin, I. & Skidanov, A. (2020). Nightshade: Near Protocol Sharding Design. near.org/papers/nightshade