Direkomendasikan: Pasar sedang bullish dan bearish dan menghadapi situasi di Ukraina, klik di sini untuk bergabung dengan grup PANews untuk pemanasan
Judul asli: Interpretasi buku putih baru DFINITY, rantai publik saham potensial Apa teknologi yang mendasari di era menghubungkan Web 3.0?
Penulis: TinTinLand
1
Timbal
Pada awal Februari 2022, Dmail, DApp email pribadi pertama yang dikembangkan berdasarkan ekosistem DFINITY, menerima investasi strategis dari Amino Capital. Dilaporkan bahwa Dmail dapat mengirim email ke dan dari kotak surat tradisional, dan dibandingkan dengan kotak surat tradisional, Dmail dengan atribut blockchain juga dapat mewujudkan transmisi informasi terenkripsi dan NFT nama kotak surat. Ini adalah persiapan untuk perangkat lunak komunikasi di era Web 3.0, yang berfungsi sebagai pintu masuk ke situs web dan DApps terdesentralisasi dalam bentuk “identitas digital”. Pertanyaan yang ingin saya tanyakan adalah, mengapa Dmail memilih Dfinity?
Dibandingkan dengan rantai publik blockchain, Dfinity belum muncul berkali-kali. Tidak ada api DeFi ketika ada sedikit percikan, dan tidak ada mendapatkan kursi di tahun pertama “NFT”. Namun, sejak diluncurkan, tidak jarang orang-orang seperti Dmail melihat sekilas seperti apa implementasi spesifik Web 3.0.
DFINITY merilis versi sumber terbuka dari perangkat lunak sosial video pendek “CanCan” pada Juli 2020, yang dapat kami bandingkan dengan Douyin dari Web 2.0. CanCan didasarkan pada bahasa pemrograman DFINITY, Motoko, dan memiliki kurang dari 1.000 baris kode. Ini bisa disebut luar biasa dibandingkan dengan puluhan juta baris kode di Douyin dan Facebook. Pada saat yang sama, kode CanCan adalah open source, dan kepemilikan produk bukan milik otoritas terpusat. Pada tanggal 1 Oktober tahun yang sama, DFINITY meluncurkan sistem tata kelola dan model ekonomi tokennya, dan penilaian proyek pernah mencapai $ 9,5 miliar, peringkat di antara lima besar. Pada akhir Desember tahun yang sama, evolusi tonggak sejarah dari lima jaringan dari tembaga ke merkuri selesai. Dominic Williams, Pendiri dan Kepala Ilmuwan DFINITY Foundation, mengatakan pada “Forum KTT dan Upacara Penghargaan Era Nilai FAT 2020” bahwa komputer Internet adalah inovasi besar ketiga dari blockchain.
Artikel ini akan menafsirkan teks asli buku putih DFINITY, mulai dari logika terendah dari penjelasan resmi, untuk melihat bagaimana DFINITY dapat dimulai dari teknologi, memecahkan teknologi besar Internet, dan membiarkan berbagai perangkat lunak Web2.0 menggunakan perangkat lunak otonom dan tata kelola terdesentralisasi untuk mencapai sinergi bisnis open source, sehingga benar-benar mewujudkan Web3.0; Pembaca yang tidak memiliki pengalaman dalam industri blockchain mungkin memiliki ambang membaca ketika membaca artikel ini, tetapi mereka juga dipersilakan untuk mengomentari pertanyaan yang muncul di bawah, dan mereka mungkin mendapatkan jawaban yang tidak terduga.
2
Garis
Sepanjang sejarah dan proses blockchain saat ini, BTC telah membawa era uang terdesentralisasi, ETH mewakili bidang sistem operasi, Filecoin mewakili penyimpanan, dan DFINITY mewakili inovasi bidang komputasi dan implementasi Web 3.0. Komputer Internet (selanjutnya disebut IC) adalah jaringan utama, adalah protokol lapisan 1, yang bertujuan untuk mengembangkan jaringan publik yang terdesentralisasi, DFINITY adalah komputer dan teknologi blockchain virtual terbuka, memperluas ekosistem Ethereum ke berbagai skenario aplikasi bisnis. Pada artikel ini, kita akan menggunakan istilah resmi “Komputer Internet” di buku putih untuk merujuk pada rantai “DFINITY” yang umum digunakan dalam skenario komunikasi saat ini. Bagian ini terutama menjelaskan istilah teknis yang terlibat dalam beberapa IC, serta perbedaan dalam teknologi dan implementasi dibandingkan dengan rantai publik lainnya, atau titik bersinar dalam teknologi dan fungsi. Dapat dikatakan bahwa IC adalah upaya baru pada kombinasi skalabilitas, desentralisasi, dan keamanan.
2.1 Protokol Konsensus
Melihat IC dan beberapa rantai publik utama lainnya dari perspektif protokol konsensus, IC mengadopsi jaringan yang dikendalikan DAO model hybrid, yang memberikan banyak manfaat dari protokol PoS yang terdesentralisasi sambil memiliki efisiensi protokol yang diizinkan. Protokol konsensus Bitcoin, Ethereum, dan Algorand berbasis blockchain, menggunakan Proof of Work (PoW) atau Proof of Stake (POS). Meskipun protokol ini sepenuhnya terdesentralisasi, mereka kurang efisien daripada protokol yang diizinkan.
DAO beroperasi dengan protokol konsensus yang diizinkan untuk setiap subnet, dan DAO memutuskan entitas mana yang dapat menyediakan salinan node, mengonfigurasi jaringan, menyediakan infrastruktur kunci publik, dan mengontrol versi protokol tempat salinan node digunakan. DAO IC disebut Sistem Saraf Jaringan (NNS) dan didasarkan pada protokol Pos, yaitu, keputusan yang relevan semuanya diputuskan oleh anggota masyarakat, dan kekuatan suara anggota masyarakat ditentukan oleh jumlah token tata kelola asli IC (ICP) yang mereka pertaruhkan di NNS. Mekanisme tata kelola berbasis PoS ini memungkinkan Anda untuk membuat subnet baru dan menambah atau menghapus replika node dari yang sudah ada, serta menyebarkan pembaruan perangkat lunak dan membuat penyesuaian lain pada IC.
Dari perspektif ini, kita juga dapat memahami mengapa DFINITY menyebut IC sebagai jaringan mesin state yang direplikasi, karena NNS sendiri adalah mesin state yang direplikasi. Seperti mesin negara lainnya, mereka berjalan pada subnet tertentu, dan keanggotaan mereka ditentukan oleh sistem tata kelola berbasis PoS yang sama yang disebutkan di atas. Pada saat yang sama, database yang disebut registri dipertahankan, yang mencatat replika node mana yang termasuk subnet mana, kunci publik replika node, dan sebagainya. Oleh karena itu, jaringan kontrol DAO berfungsi sebagai protokol konsensus terdesentralisasi, memungkinkan IC untuk mendapatkan konsensus yang efektif, tetapi pada saat yang sama, karena mekanisme operasi DAO, IC juga mempertahankan keunggulan desentralisasi yang ada.
Protokol konsensus IC juga menggunakan kriptografi kunci publik, seperti registri yang dikelola oleh NNS untuk mengikat kunci publik ke replika node dan subnet untuk membentuk keseluruhan, yang disebut kriptografi kunci rantai, dan IC juga membayangkan model komunikasi untuk protokol konsensus dan protokol yang mengeksekusi mesin status replikasi: ia berharap untuk mengadopsi model asinkron yang lebih layak dan kuat (untuk setiap pesan yang dikirim, musuh dapat menunda pengiriman pesan apa pun untuk waktu yang sewenang-wenang, sehingga tidak ada batasan waktu untuk pengiriman pesan) untuk menangani kegagalan Bizantium. Namun, saat ini, tidak ada model konsensus yang diketahui yang benar-benar layak di bawah model asinkron, dan dalam interpretasi arsitektur IC berikut, artikel ini akan menjelaskan secara lebih rinci pendekatan teknis untuk IC untuk situasi dunia nyata ini.
2.2 Kriptografi Kunci Rantai
Seperti disebutkan di atas, protokol konsensus IC juga menggunakan kriptografi kunci publik - kriptografi kunci rantai, dan ada beberapa bagian utama yang membentuk kriptografi kunci rantai. Komponen pertama kriptografi kunci rantai adalah tanda tangan ambang batas: tanda tangan ambang batas adalah teknik kriptografi matang yang memungkinkan subnet memiliki kunci penandatanganan verifikasi umum, dan kunci privat penandatanganan yang sesuai dibagi menjadi beberapa salinan dan didistribusikan ke node di subnet, sementara alokasi menjamin bahwa node buruk tidak dapat memalsukan tanda tangan apa pun, dan fragmen kunci privat yang dimiliki oleh node jujur memungkinkan subnet menghasilkan tanda tangan yang sesuai dengan prinsip dan protokol IC.
Aplikasi utama dari tanda tangan ambang batas ini adalah bahwa output individu dari satu subnet dapat diverifikasi oleh subnet lain atau oleh pengguna eksternal, dan verifikasi dapat dilakukan hanya dengan memverifikasi implementasi tanda tangan elektronik menggunakan kunci penandatanganan verifikasi publik dari subnet yang dimodifikasi (subnet pertama).
Seperti yang bisa kita lihat, ada banyak aplikasi lain dari tanda tangan ambang batas ini di IC. Satu harus digunakan untuk membuat setiap salinan node dalam subnet dapat diakses oleh digit pseudo-random yang tidak dapat diprediksi (berasal dari tanda tangan ambang batas tersebut). Ini adalah dasar untuk beacon acak yang digunakan oleh lapisan konsensus dan kaset acak yang digunakan oleh lapisan eksekusi.
Untuk menyebarkan tanda tangan ambang batas dengan aman, IC menggunakan protokol Distributed Key Generation (DKG) yang inovatif untuk membangun kunci verifikasi tanda tangan publik dan menyediakan setiap replika node dengan fragmen kunci privat penandatanganan yang sesuai untuk kegagalan Bizantium yang disebutkan sebelumnya dan model asinkron.
2.3 ICP
ICP memiliki beberapa fitur berikut:
Staking NNS, yaitu memfasilitasi tata kelola jaringan.
ICP dapat digunakan untuk mempertaruhkan NNS untuk mendapatkan hak suara dan dengan demikian berpartisipasi dalam DAO yang mengendalikan jaringan IC. Pengguna yang mempertaruhkan token di NNS dan berpartisipasi dalam tata kelola NNS juga menerima token ICP yang baru dicetak sebagai hadiah pemungutan suara. Jumlah hadiah ditentukan oleh kebijakan yang ditetapkan dan diberlakukan oleh NNS.
Redeem Cycles, yaitu sebagai daya produksi.
ICP digunakan untuk membayar penggunaan IC. Lebih khusus lagi, ICP dapat ditebus untuk siklus (yaitu, dibakar), yang dapat digunakan untuk membayar sumber daya (penyimpanan, CPU, dan bandwidth) yang digunakan untuk membuat tangki dan tangki. Rasio ICP terhadap siklus ditentukan oleh NNS.
Penyedia node dibayar, yaitu diberikan sebagai hadiah kepada peserta.
ICP digunakan untuk membayar penyedia node – entitas yang memiliki dan mengoperasikan node komputasi untuk meng-host salinan node yang membentuk IC. NNS secara teratur (saat ini bulanan) menentukan ICP yang baru dicetak yang harus diterima oleh setiap penyedia node dan melepaskannya ke akun mereka. Menurut kebijakan yang ditetapkan dan diberlakukan oleh NNS, pembayaran ICP didasarkan pada penyedia node yang menyediakan layanan yang andal ke IC.
2.4 Eksekusi NNS
Seperti disebutkan sebelumnya, mesin status replikasi IC dapat menjalankan program arbitrer. Unit komputasi dasar dalam IC disebut tank, dan konsepnya hampir sama dengan proses, yang berisi program dan keadaannya (yang berubah seiring waktu). Program tangki dikodekan dalam WebAssembly (selanjutnya disebut sebagai Wasm), yang merupakan format instruksi dua mekanisme berdasarkan mesin virtual bertumpuk. Wasm adalah standar open-source, dan meskipun pada awalnya dirancang untuk memungkinkan aplikasi berkinerja tinggi di web, Wasm juga cocok untuk komputasi tujuan umum.
IC menyediakan lingkungan runtime untuk menjalankan program Wasm di dalam tangki dan berkomunikasi (melalui pesan) dengan tangki lain dan pengguna eksternal. Meskipun pada prinsipnya dimungkinkan untuk menulis program tangki dalam bahasa apa pun yang dikompilasi ke Wasm, bahasa yang disebutkan di atas yang disebut Motoko sangat konsisten dengan semantik operasi IC dan dapat digunakan dalam IC.
Motoko adalah program pemrograman berbasis aktor-2 yang diketik dengan kuat dengan dukungan bawaan untuk persistensi ortogonal 3 dan pesan asinkron. Persistensi quadrature berarti bahwa memori yang dikelola oleh tangki secara otomatis bertahan (yaitu, tidak harus ditulis ke file). Motoko memiliki sejumlah fitur produktivitas dan keamanan, termasuk manajemen memori otomatis, obat generik, inferensi tipe, pencocokan pola, dan aritmatika arbitrer dan presisi tetap.
Selain Motoko, IC menyediakan bahasa definisi antarmuka pesan dan format data yang disebut Candid, yang digunakan untuk tipe tetap, bahasa tingkat tinggi, dan interoperabilitas lintas bahasa. Ini memudahkan dua tank, bahkan jika ditulis dalam bahasa tingkat tinggi yang berbeda, untuk berkomunikasi satu sama lain. Untuk memberikan dukungan penuh untuk pengembangan tank untuk bahasa pemrograman tertentu, dukungan runtime khusus harus disediakan selain kompiler Wasm untuk bahasa tersebut. Saat ini, selain Motoko, IC juga mendukung penuh pengembangan tank dalam bahasa pemrograman Rust.
Akibatnya, IC mendukung bahasa pemrograman yang lebih aman dan lintas bahasa, yang merupakan salah satu faktor penting yang membuat pengembang lebih efektif dan aman dalam membuat IC.
2.5 Keputusan NNS
Dalam jaringan blockchain DFINITY, BNS (Blockchain Nervous System) adalah sistem tata kelola tempat jaringan beroperasi, dan merupakan salah satu blok bangunan terpenting dalam jaringan blockchain, yang dapat secara otomatis memasuki sistem dan memiliki otoritas tinggi. Dibutuhkan peran supernode. Siapa pun berpartisipasi dalam tata kelola NNS dengan mempertaruhkan ICP dalam apa yang disebut neuron. Pemegang neuron dapat mengusulkan dan memberikan suara tentang bagaimana IC harus diubah, seperti topologi subnet atau protokol. Hak suara neuron berbasis PoS. Secara intuitif, semakin banyak ICP dipertaruhkan, semakin besar hak suara neuronal. Namun, kekuatan voting juga tergantung pada karakteristik neuron lainnya, seperti pemegang neuronal yang bersedia mempertaruhkan token mereka untuk jangka waktu yang lebih lama, diberi kekuatan suara yang lebih besar.
Setiap proposal memiliki periode pemungutan suara yang pasti. Jika, pada akhir periode pemungutan suara, mayoritas sederhana dari mereka yang memberikan suara mendukung proposal dan jumlah suara yang mendukung melebihi persyaratan kuorum yang diberikan untuk total hak suara (sekarang 3%), proposal diadopsi. Jika tidak, proposal ditolak. Selain itu, setiap saat supermajority (lebih dari setengah dari total suara) mendukung atau menentang proposal, proposal diterima atau ditolak sesuai.
Dalam istilah yang lebih awam, proses tata kelola BNS dibagi menjadi empat fase: menciptakan neuron, mengusulkan, memilih, dan mengeksekusi.
Buat Neuron: Seperti disebutkan di atas, blockchain Neurosystem memungkinkan pengguna untuk menggunakan ICP untuk membuat neuron pemungutan suara. Siapa pun dapat membuat neuron, dan di masa depan puluhan ribu neuron dapat dibuat, yang secara kolektif akan mengekspresikan kehendak komunitas, dimediasi melalui algoritma.
Proposal: Setiap pengguna yang menjalankan neuron dapat membuat proposal di BNS, dan BNS akan meninjau proposal berdasarkan kewajaran proposal dan apakah itu memberikan solusi. Pengguna yang membuat proposal perlu membayar dua biaya: satu untuk membayar pengulas profesional dan neuron yang berpartisipasi dalam pemungutan suara, dan yang lainnya adalah deposit proposal, yang akan dikembalikan ke neuron setelah proposal diadopsi, dan jumlah ini dapat diatur untuk memberi insentif pada proposal berkualitas tinggi.
Voting: Selain pengusul, pengguna lain juga perlu mempertaruhkan token ke neuron selama fase voting dan dapat memilih untuk secara aktif memilih atau mengikuti pemungutan suara. Pengguna dengan kemampuan penilaian independen dapat memilih untuk memberikan suara secara aktif, dan skenario pemungutan suara berikut cocok untuk beberapa pengguna yang tidak dapat menilai proposal secara akurat. Setelah waktu pemungutan suara ditutup, BNS mengumpulkan hasil jaringan saraf, dan secara otomatis menentukan apakah proposal disetujui atau tidak.
Implementasi: Baru saja ada interpretasi konsensus IC dari lapisan eksekusi, apa implementasi spesifik dari implementasi sistem tata kelola BNS? PROPOSAL UNTUK EKSEKUSI PASIF TERUTAMA MELIBATKAN PERUBAHAN PARAMETER PADA KONTRAK PINTAR PADA DFINITAS, SEPERTI PARAMETER STAKING NEURON. Parameter proposal yang diperbarui akan ditulis secara pasif ke dalam database kontrak pintar BNS, dan akan berlaku langsung ketika dieksekusi nanti. Ada kasus khusus di mana proposal berada di luar kendali kontrak pintar BNS, misalnya melibatkan tingkat peraturan BNS, yang akan membutuhkan penegakan aktif manusia untuk mengesampingkan bagian “kode adalah hukum” dari DFINITY. Misalnya, memodifikasi kerentanan dalam kode sistem atau membekukan kontrak pintar atau neuron yang melanggar peraturan BNS. Proses eksekusi aktif diimplementasikan dengan memanggil opcode khusus yang ditambahkan ke EVM. Operasi langkah ini lebih manusiawi dan masuk akal, daripada “kode adalah hukum” dan “kode adalah segalanya” saat ini di dunia blockchain saat ini. Dari perspektif sifat manusia, mencakup skenario di mana kode tidak dapat membuat keputusan dapat membawa tata kelola yang lebih efektif dan cerdas, dan sampai batas tertentu, itu juga benar-benar menyentuh maksud mendasar dari “konsensus”.
3
Interpretasi Arsitektur
Protokol IC terdiri dari empat lapisan (seperti yang ditunjukkan pada gambar di bawah), yaitu lapisan P2P, lapisan konsensus, lapisan routing, dan lapisan eksekusi. Pada bagian ini, makalah ini hanya menafsirkan peran dan fungsi arsitektur empat lapis, dan menganalisis konstruksi arsitektur secara keseluruhan. UNTUK PEMAHAMAN YANG LEBIH RINCI TENTANG IMPLEMENTASI TEKNIS SPESIFIK DARI LAPISAN TERTENTU, SILAKAN MERUJUK KE BUKU PUTIH DFINITY ASLI.
3.1 Lapisan P2P
Lapisan P2P berfungsi sebagai lapisan dalam lapisan protokol komputer Internet untuk pengambilan dan pemesanan pesan, dan tugasnya adalah mengirimkan pesan protokol dalam salinan node subnet.
Ada dua jenis pesan protokol: pesan yang digunakan untuk mencapai konsensus dan pesan input yang diprakarsai oleh pengguna eksternal.
Kita dapat memahami bahwa lapisan P2P pada dasarnya menyediakan saluran siaran “upaya terbaik”, yaitu jika salinan node yang jujur menyiarkan pesan, pesan tersebut pada akhirnya akan diterima oleh semua node kota di subnet.
Lapisan P2P dirancang dengan tujuan sebagai berikut:
Sumber daya terbatas. Semua algoritma berjalan dengan sumber daya terbatas (memori, bandwidth, CPU).
Prioritas. Tergantung pada atribut tertentu, seperti jenis, ukuran, dan giliran, pesan yang berbeda akan diurutkan dengan prioritas yang berbeda. Dan aturan untuk prioritas ini dapat berubah seiring waktu.
Sangat efisien. Throughput tinggi lebih penting daripada latensi rendah. THROUGHPUT YANG TINGGI JUGA MERUPAKAN ALASAN MENGAPA DFINITY LEBIH EFISIEN DARI BAWAH DARIPADA RANTAI PUBLIK LAINNYA.
Anti-DOS/SPAM. Node yang gagal tidak akan mempengaruhi komunikasi antara replika node yang jujur.
3.2 Lapisan Konsensus
3.2.1 Ikhtisar Lapisan Konsensus
Tugas lapisan konsensus IC adalah menyortir pesan input untuk memastikan bahwa semua replika node memproses pesan input dalam urutan yang sama. Ada banyak protokol dalam literatur yang membahas masalah ini. IC mengadopsi protokol konsensus baru, yang akan dijelaskan dalam bahasa umum dalam artikel ini. Setiap protokol konsensus yang aman harus memastikan dua atribut, yang kira-kira bahwa:
Keamanan: Semua replika node de facto menyetujui urutan input yang sama.
Aktif: Semua replika node harus memperbarui statusnya satu per satu.
Tujuan desain lapisan konsensus IC sebenarnya mudah dipahami: ketika ada node berbahaya individu, kinerja akan menurun secara fleksibel. Seperti banyak protokol konsensus, protokol konsensus IC berbasis blockchain. Seiring kemajuan protokol, pohon blok dengan blok genesis sebagai simpul akar akan terus tumbuh. Setiap blok non-genesis berisi payload, yang terdiri dari serangkaian input dan hash dari blok induk.
Replika jujur memiliki tampilan pohon potongan yang konsisten: Meskipun setiap replika mungkin memiliki tampilan lokal yang berbeda dari pohon potongan, semua replika node melihat pohon potongan yang sama. Selain itu, seiring kemajuan protokol, akan selalu ada jalur di pohon blok untuk menyelesaikan blok. Sekali lagi, replika node jujur memiliki pandangan yang konsisten tentang jalur ini: meskipun setiap replika node mungkin memiliki tampilan lokal jalur yang berbeda, semua replika node melihat jalur yang sama. Input dalam beban blok di sepanjang jalur ini adalah input yang diurutkan yang akan diproses oleh lapisan eksekusi IC.
Protokol konsensus bergantung pada tanda tangan elektronik untuk memverifikasi pesan dalam salinan node. Untuk mencapai hal ini, setiap salinan node dikaitkan dengan kunci otentikasi publik untuk protokol penandatanganan. Korelasi antara replika node dan kunci publik dapat diperoleh dari registri yang dikelola oleh NNS. Hal ini juga sejalan dengan peran dan peran kriptografi chain-key dalam IC yang disebutkan di atas.
3.2.2 Asumsi
Sebagaimana dibahas dalam Bagian II, IC mengusulkan hipotesis berikut:
Subnet berisi n replika node, dan maksimum f
Replika node yang gagal dapat menunjukkan perilaku sewenang-wenang, berbahaya (yaitu, kegagalan Bizantium). Kami berasumsi bahwa komunikasi tidak sinkron dan tidak ada batasan sebelumnya pada latensi pesan antara replika node, yaitu, model asinkron yang disebutkan di atas. Pada titik ini, penjadwalan pesan mungkin benar-benar bermusuhan. Di bawah asumsi komunikasi yang lemah ini, protokol konsensus IC dapat memastikan keamanan. Tetapi untuk memastikan aktivitas, kita perlu mengasumsikan bentuk sinkronisasi parsial tertentu, yang berarti bahwa jaringan tetap disinkronkan secara berkala pada interval pendek. Di bawah interval sinkronisasi ini, semua informasi yang tidak dikirimkan akan dikirimkan dalam waktu, yaitu, batas waktu tetap δ. Batas waktu δ tidak diketahui sebelumnya (protokol menginisialisasi nilai batas yang wajar tetapi secara dinamis menyesuaikan nilai dan meningkatkan nilai batas ketika batas waktu terlalu kecil). Terlepas dari apakah jaringan asinkron atau sebagian sinkron, kami berasumsi bahwa pesan yang dikirim oleh replika node jujur ke replika node lain pada akhirnya akan dikirimkan.
3.2.3 Ikhtisar Protokol
Seperti banyak protokol konsensus, protokol konsensus IC berbasis blockchain. Seiring kemajuan protokol, pohon blok (lihat 3.2.4 misalnya) dengan blok genesis sebagai simpul akar akan terus tumbuh. Setiap blok non-genesis berisi payload, yang terdiri dari serangkaian input dan hash dari blok induk. Replika jujur memiliki tampilan pohon potongan yang konsisten: Meskipun setiap replika mungkin memiliki tampilan lokal yang berbeda dari pohon potongan, semua replika node melihat pohon potongan yang sama. Selain itu, seiring kemajuan protokol, akan selalu ada jalur di pohon blok untuk menyelesaikan blok. Demikian pula, replika node jujur memiliki tampilan jalur ini yang konsisten, dan meskipun setiap replika node mungkin memiliki tampilan lokal jalur yang berbeda, semua replika node melihat jalur yang sama. Input dalam beban blok di sepanjang jalur ini telah diurutkan dan diproses oleh lapisan eksekusi, yang ditafsirkan pada bagian sebelumnya.
3.2.4 Contoh praktis
Gambar di bawah ini menunjukkan pohon blok. Setiap blok ditandai dengan tinggi blok (30, 31, 32, ··· ) dan peringkat generator blok, yang menunjukkan bahwa setiap blok di pohon blok diaktakan dan ditandai dengan simbol N. Ini berarti bahwa blok notaris di setiap pohon blok didukung oleh notaris setidaknya salinan n-f dari node yang berbeda. Dapat ditemukan bahwa mungkin ada lebih dari satu blok notaris pada ketinggian blok yang ditentukan. Misalnya, pada ketinggian blok 32, kita dapat melihat 2 blok notaris, satu diusulkan oleh generator blok di peringkat 1 dan yang lainnya diusulkan oleh peringkat 2, dan hal yang sama terjadi pada ketinggian blok 34. Kita juga dapat melihat bahwa blok dengan ketinggian 36 juga secara eksplisit dikonfirmasi, seperti yang diidentifikasi oleh simbol F. Ini berarti bahwa salinan n-f dari node yang berbeda telah mendukung konfirmasi akhir blok, yang berarti bahwa salinan node ini (atau setidaknya salinan node jujur ini) tidak mendukung notaris blok lain. Semua leluhur yang bloknya diisi dengan abu-abu dianggap telah menerima konfirmasi akhir implisit.
**3.2.5 Ketidakberpihakan **
Keadilan adalah dasar dari konsensus, jadi atribut penting lainnya dalam protokol konsensus adalah keadilan. Alih-alih menetapkan definisi universal, kami hanya mengamati bahwa invarian kehidupan menyiratkan properti keadilan yang berguna. Singkatnya, invarian pada dasarnya berarti bahwa dalam putaran apa pun, ketika masternode jujur dan jaringan disinkronkan, blok yang diusulkan oleh masternode juga akan diselesaikan. Pada gilirannya di mana ini terjadi, node master yang jujur benar-benar memastikan bahwa itu berisi semua input yang diketahuinya dalam beban blok (tergantung pada batas modul dari ukuran beban). Jadi, secara kasar, setiap input yang disebarkan ke jumlah salinan node yang cukup kemungkinan besar akan dimasukkan dalam blok akhir yang dikonfirmasi dalam jumlah waktu yang wajar.
3.3 Lapisan perutean
Seperti disebutkan sebelumnya, unit komputasi dasar dalam IC disebut tangki. IC menyediakan lingkungan operasi di mana program dapat dijalankan di dalam tangki dan dapat berkomunikasi (melalui pesan) dengan tangki lain dan pengguna eksternal. Lapisan konsensus mengemas input ke dalam beban blok, dan karena blok dikonfirmasi oleh reddest, beban yang sesuai diteruskan ke lapisan perutean pesan dan diproses oleh lingkungan eksekusi. Lapisan eksekusi kemudian memperbarui status di tangki yang sesuai di mesin status replikasi dan menyerahkan output ke lapisan perutean pesan untuk diproses.
Penting untuk membedakan antara dua jenis input:
Ingress Message: Pesan dari pengguna eksternal.
Pesan lintas subnet: Pesan dari tangki di subnet lain.
Kita juga dapat membedakan antara dua jenis output:
Respons pesan masuk: Respons terhadap pesan masuk (yang dapat diambil oleh pengguna eksternal).
Pesan lintas subnet: Pesan yang dikirim ke tangki subnet lainnya.
Ketika beban dari konsensus diterima, input dalam beban tersebut ditempatkan ke dalam antrian input yang berbeda. Untuk setiap tangki C di bawah subnet, ada beberapa antrian input: pesan masuk ke C, tangki C terpisah untuk berkomunikasi dengan C, dan pesan lintas subnet dari C ke C.
Dalam setiap putaran, lapisan eksekusi mengkonsumsi beberapa input dari antrian ini, memperbarui status replikasi di tangki yang sesuai, dan menempatkan output dalam antrian yang berbeda. Untuk setiap tangki di bawah subnet, ada beberapa antrian output: untuk setiap tangki yang berkomunikasi dengan, ada antrian untuk pesan lintas-subnet dari C ke C '. Lapisan perutean pesan mengambil pesan dalam antrian pesan dan menempatkannya ke dalam lalu lintas subnet-ke-subnet untuk diproses oleh protokol transport lintas-subnet, yang sebenarnya mentransmisikan pesan ke subnet lain.
Selain antrian output ini, ada juga struktur data historis untuk pesan masuk. Setelah pesan masuk diproses oleh tangki, respons terhadap pesan masuk tersebut dicatat dalam struktur data tersebut. Pada titik ini, pengguna eksternal yang memberikan pesan masuk akan bisa mendapatkan respons yang relevan. (Catatan: Histori masuk tidak menyimpan riwayat lengkap semua pesan masuknya).
Ada dua poin yang perlu diperjelas, pertama, keadaan replika node mencakup keadaan tangki serta “keadaan sistem”. “Status Sistem” mencakup antrean, aliran data, dan struktur data riwayat masuknya yang disebutkan di atas. Akibatnya, lapisan perutean pesan dan lapisan eksekusi terlibat dalam memperbarui dan mempertahankan status replika subnet. Status ini semua harus diperbarui dengan determinisme lengkap, sehingga semua node mempertahankan status yang sama persis.
Poin kedua yang perlu diperhatikan adalah bahwa lapisan konsensus mendahului lapisan perutean pesan dan lapisan eksekusi, yang berarti bahwa setiap garpu dalam blockchain konsensus telah diselesaikan sebelum beban dilewati. Bahkan, lapisan konsensus memungkinkan untuk operasi awal dan tidak perlu berada pada jadwal yang sama dengan lapisan routing pesan.
Penjelasan dan penjelasan dari lapisan routing memberi kita pemahaman yang lebih jelas tentang bagaimana protokol konsensus ditransmisikan ke dan dari protokol konsensus melalui routing pesan, dan bagaimana hal itu terhubung ke lapisan eksekusi, sehingga dapat mempromosikan koordinasi dan konsistensi protokol konsensus.
3.4 Lapisan Eksekusi
Lingkungan eksekusi memproses satu input pada satu waktu, yang diambil dari salah satu antrian input dan diarahkan ke tangki, tergantung pada keadaan input dan tangki, lingkungan eksekusi memperbarui keadaan tangki dan juga dapat menambahkan pesan ke antrian output. dan perbarui riwayat masuk (mungkin bersama dengan respons terhadap pesan masuk sebelumnya). Pada gilirannya, lingkungan eksekusi akan memproses beberapa input. Penjadwal menentukan input mana yang akan dieksekusi dalam urutan apa untuk giliran tertentu. Alih-alih membahas terlalu banyak detail tentang penjadwal, kami akan menyoroti beberapa tujuan:
Itu harus deterministik, yaitu hanya bergantung pada data yang diberikan;
Ini harus mendistribusikan beban kerja secara adil di seluruh tangki (tetapi mengoptimalkan throughput daripada latensi).
Jumlah pekerjaan yang diselesaikan dalam setiap putaran diukur dalam siklus dan harus mendekati beberapa kuantitas yang telah ditentukan.
Tugas lain yang harus ditangani oleh lingkungan eksekusi adalah situasi di mana salah satu tangki dari satu subnet menghasilkan pesan di seluruh subnet lebih cepat daripada subnet lain dapat mengkonsumsi. Menanggapi situasi ini, kami menerapkan mekanisme pengaturan mandiri untuk memperlambat tangki produksi. Ada banyak tugas manajemen sumber daya dan pembukuan lainnya yang perlu ditangani oleh lingkungan runtime, tetapi semua tugas ini harus ditangani secara deterministik.
4
** Rantai Kunci Kriptografi **
Dalam sinopsisnya, kami menjelaskan bahwa protokol konsensus IC juga menggunakan teknik kriptografi kunci publik - kriptografi kunci rantai, dan bagian penting dari kriptografi kunci rantai adalah tanda tangan ambang batas. Faktanya, kriptografi kunci rantai mencakup serangkaian teknik kompleks yang digunakan untuk memelihara mesin status replikasi berbasis blockchain dengan kuat dan aman dari waktu ke waktu, yang secara kolektif dikenal sebagai teknik evolusi rantai. Setiap subnet beroperasi dalam zaman yang berisi beberapa putaran (biasanya sekitar beberapa ratus). Teknologi evolusi rantai memungkinkan banyak tugas pemeliharaan dasar yang dilakukan per zaman: pengumpulan sampah, penerusan cepat, perubahan anggota subnet, penerusan rahasia aktif, dan peningkatan protokol.
Pemahaman tentang teknologi evolusi rantai, yaitu pemahaman tentang implementasi teknis keamanan protokol konsensus IC. Teknologi evolusi rantai terdiri dari dua komponen dasar: blok ringkasan dan paket catch-up (CUP).
4.1 Blok Ringkasan
Blok pertama dari setiap zaman adalah blok intisari. Blok ringkasan berisi data khusus yang digunakan untuk mengelola fragmen kunci untuk skema tanda tangan ambang batas yang berbeda. Ada dua skema tanda tangan ambang batas:
Dalam skenario dengan struktur ambang batas f + 1/n, kunci penandatanganan baru dihasilkan untuk setiap zaman;
Dalam skenario dengan struktur ambang n-f/n, kunci penandatanganan dibagikan kembali sekali per zaman.
Skenario dengan ambang batas rendah digunakan untuk beacon acak dan pita acak, sementara skenario dengan ambang batas tinggi digunakan untuk memverifikasi status replikasi subnet. Ingat bahwa protokol DKG mensyaratkan bahwa untuk setiap kunci penandatanganan, ada serangkaian transaksi, dan setiap replika node dapat memperoleh fragmen kunci tanda tangannya secara non-interaktif berdasarkan rangkaian transaksi ini. Ingat lagi, antara lain, NNS memelihara registri yang menentukan anggota subnet. Registri (dan anggota subnet) berubah seiring waktu. Akibatnya, subnet harus menyetujui versi registri yang akan digunakan pada waktu yang berbeda dan untuk tujuan yang berbeda. Informasi ini juga disimpan di blok ringkasan.
4.2 CANGKIR
Dengan ringkasan keluar dari jalan, mari kita lihat paket catch-up, atau CUP. Sebelum kita menguraikan CUP, pertama-tama kita perlu menunjukkan satu detail suar acak: suar acak dari setiap putaran bergantung pada suar acak dari putaran sebelumnya. Ini bukan fitur mendasar dari CUP, tetapi mempengaruhi desain CUP. CUP adalah pesan khusus (bukan di blockchain) yang memiliki semua yang dibutuhkan node untuk bekerja pada titik awal zaman tanpa mengetahui informasi apa pun tentang zaman sebelumnya. Ini berisi bidang data berikut:
Akar pohon hash Merkel untuk seluruh keadaan yang direplikasi (berlawanan dengan keadaan parsial dari setiap putaran validasi dalam Bab 1.6).
zaman.
Suar acak untuk putaran pertama zaman.
Tanda tangan ambang subnet untuk (n - f)/n untuk bidang di atas.
Untuk menghasilkan CUP untuk zaman tertentu, replika node harus menunggu hingga blok intisari zaman telah diselesaikan dan status putaran yang sesuai telah diverifikasi. Seperti disebutkan sebelumnya, seluruh status replikasi harus diproses menjadi pohon Merkle oleh fungsi hash. Meskipun ada banyak teknik yang digunakan untuk mempercepat proses ini, biayanya masih signifikan, itulah sebabnya setiap zaman hanya diproses sekali. Karena CUP hanya berisi akar pohon Merkle ini, kami menggunakan subprotokol sinkronisasi status yang memungkinkan replika node mengekstrak status apa pun yang dibutuhkan dari peer. Sekali lagi, kami telah menggunakan banyak teknologi untuk mempercepat proses ini, dan itu masih mahal. Karena kami menggunakan tanda tangan ambang batas tinggi untuk CUP, kami dapat menjamin bahwa hanya ada satu CUP yang valid pada zaman apa pun, dan status tersebut dapat diekstraksi dari banyak rekan.
4.3 Implementasi Teknologi Evolusi Rantai
Pengumpulan sampah: Karena CUP berisi informasi tentang zaman tertentu, setiap salinan node dapat dengan aman membersihkan semua input yang diproses sebelum zaman itu, serta pesan lapisan konsensus yang memesan input tersebut.
Penerusan cepat: Jika replika node dalam subnet tertinggal secara signifikan di belakang node sinkronnya (karena tidak aktif atau terputus untuk waktu yang lama), atau jika replika node baru ditambahkan ke subnet, mereka dapat dengan cepat meneruskan ke titik awal zaman terbaru tanpa harus menjalankan protokol konsensus dan memproses semua input sebelum titik itu. Salinan node ini dapat dilakukan dengan mendapatkan CUP terbaru. Dengan blok digest dan beacon acak yang terkandung dari CUP, serta pesan konsensus (belum dihapus) dari salinan node lain, replika node dapat menjalankan protokol konsensus ke depan dari titik awal zaman yang sesuai. Node juga dapat menggunakan subprotokol sinkronisasi status untuk mendapatkan status replikasi pada awal zaman yang sesuai, sehingga juga dapat mulai memproses input yang dihasilkan oleh lapisan konsensus.
Diagram berikut menggambarkan penerusan cepat. Di sini, mari kita asumsikan bahwa kita membutuhkan replika node yang perlu mengejar ketinggalan pada titik awal zaman, (katakanlah) dengan tinggi blok 101 dan CUP. CUP ini berisi akar pohon Merkle yang direplikasi dengan tinggi blok 101, blok ringkasan dengan tinggi blok 101, dan suar acak dengan tinggi blok 101. Node menggunakan subprotokol sinkronisasi status untuk mendapatkan semua status replikasi tinggi blok 101 dari rekan-rekannya dan memverifikasi status ini dengan pohon Merkle di CUP. Setelah mendapatkan status ini, salinan node dapat berpartisipasi dalam protokol, mendapatkan blok dengan tinggi blok 102, 103, dll. (dan pesan terkait konsensus lainnya) dari peer, dan memperbarui salinan status replikasinya. Jika rekan-rekannya telah mengkonfirmasi blok pada tingkat yang lebih tinggi, salinan node akan memproses (serta membuat notaris dan menyelesaikan) blok-blok final yang diperoleh dari rekan-rekan sesegera mungkin (secepat lapisan eksekusi memungkinkan).
5
Epilog
Seperti Ethereum, visi DFINITY adalah membangun “superkomputer dunia”, melalui interpretasi parsial dan penjelasan teknis dari buku putihnya yang disebutkan di atas. IC di bawah visi ini memiliki peluang besar untuk direalisasikan.
Kita dapat melihat inovasi teknologi dan kelayakan teknis IC untuk mewujudkan visinya dari model hibrida DAO dari protokol konsensus, dari inovasi teknologi pembuatan blok cepat dan throughput tinggi, dan dari sistem neuron BNS dan skema tata kelola ekologisnya. Berbeda dengan kode Ethereum saat ini, yaitu hukum, tata kelola kode IC menambahkan elemen kebijaksanaan kerumunan ke yayasan, bukan dengan tujuan membangun arsitektur kode yang sempurna, tetapi dengan tujuan sistem dapat dengan cepat menyesuaikan aturan. Ini bukan hanya ciptaan teknologi, tetapi juga sifat manusia yang bersinar. Di dunia blockchain, pendirian, pemeliharaan, dan modifikasi konsensus tidak bisa hanya dikodifikasi, tetapi esensi intinya haruslah manusia. Konsensus yang valid dan adil antara kelompok yang berpusat pada manusia adalah jantung dari industri blockchain dan daya tarik banyak Dapps yang terdesentralisasi.
Artikel ini mengutip dan menafsirkan beberapa isi kertas putih IC, yang menjelaskan rincian lebih lanjut tentang NNS, status otentikasi setiap putaran subnet pada lapisan konsensus, kueri dan panggilan pembaruan pesan entri, distribusi kunci terdistribusi dalam kriptografi kunci rantai, skema PVSS, protokol dasar dan protokol berbagi ulang, dan sebagainya. Bagi pengembang yang menginginkan pemahaman yang lebih komprehensif dan terperinci tentang teknologi yang mendasari IC, membaca buku putih asli dapat memberikan penjelasan dan penjelasan yang lebih rinci.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Dapatkah DFINITY, yang berspesialisasi dalam teknologi yang mendasarinya, membayangkan Web3 benar-benar terwujud?
Direkomendasikan: Pasar sedang bullish dan bearish dan menghadapi situasi di Ukraina, klik di sini untuk bergabung dengan grup PANews untuk pemanasan
Judul asli: Interpretasi buku putih baru DFINITY, rantai publik saham potensial Apa teknologi yang mendasari di era menghubungkan Web 3.0?
Penulis: TinTinLand
1
Timbal
Pada awal Februari 2022, Dmail, DApp email pribadi pertama yang dikembangkan berdasarkan ekosistem DFINITY, menerima investasi strategis dari Amino Capital. Dilaporkan bahwa Dmail dapat mengirim email ke dan dari kotak surat tradisional, dan dibandingkan dengan kotak surat tradisional, Dmail dengan atribut blockchain juga dapat mewujudkan transmisi informasi terenkripsi dan NFT nama kotak surat. Ini adalah persiapan untuk perangkat lunak komunikasi di era Web 3.0, yang berfungsi sebagai pintu masuk ke situs web dan DApps terdesentralisasi dalam bentuk “identitas digital”. Pertanyaan yang ingin saya tanyakan adalah, mengapa Dmail memilih Dfinity?
Dibandingkan dengan rantai publik blockchain, Dfinity belum muncul berkali-kali. Tidak ada api DeFi ketika ada sedikit percikan, dan tidak ada mendapatkan kursi di tahun pertama “NFT”. Namun, sejak diluncurkan, tidak jarang orang-orang seperti Dmail melihat sekilas seperti apa implementasi spesifik Web 3.0.
DFINITY merilis versi sumber terbuka dari perangkat lunak sosial video pendek “CanCan” pada Juli 2020, yang dapat kami bandingkan dengan Douyin dari Web 2.0. CanCan didasarkan pada bahasa pemrograman DFINITY, Motoko, dan memiliki kurang dari 1.000 baris kode. Ini bisa disebut luar biasa dibandingkan dengan puluhan juta baris kode di Douyin dan Facebook. Pada saat yang sama, kode CanCan adalah open source, dan kepemilikan produk bukan milik otoritas terpusat. Pada tanggal 1 Oktober tahun yang sama, DFINITY meluncurkan sistem tata kelola dan model ekonomi tokennya, dan penilaian proyek pernah mencapai $ 9,5 miliar, peringkat di antara lima besar. Pada akhir Desember tahun yang sama, evolusi tonggak sejarah dari lima jaringan dari tembaga ke merkuri selesai. Dominic Williams, Pendiri dan Kepala Ilmuwan DFINITY Foundation, mengatakan pada “Forum KTT dan Upacara Penghargaan Era Nilai FAT 2020” bahwa komputer Internet adalah inovasi besar ketiga dari blockchain.
Artikel ini akan menafsirkan teks asli buku putih DFINITY, mulai dari logika terendah dari penjelasan resmi, untuk melihat bagaimana DFINITY dapat dimulai dari teknologi, memecahkan teknologi besar Internet, dan membiarkan berbagai perangkat lunak Web2.0 menggunakan perangkat lunak otonom dan tata kelola terdesentralisasi untuk mencapai sinergi bisnis open source, sehingga benar-benar mewujudkan Web3.0; Pembaca yang tidak memiliki pengalaman dalam industri blockchain mungkin memiliki ambang membaca ketika membaca artikel ini, tetapi mereka juga dipersilakan untuk mengomentari pertanyaan yang muncul di bawah, dan mereka mungkin mendapatkan jawaban yang tidak terduga.
2
Garis
Sepanjang sejarah dan proses blockchain saat ini, BTC telah membawa era uang terdesentralisasi, ETH mewakili bidang sistem operasi, Filecoin mewakili penyimpanan, dan DFINITY mewakili inovasi bidang komputasi dan implementasi Web 3.0. Komputer Internet (selanjutnya disebut IC) adalah jaringan utama, adalah protokol lapisan 1, yang bertujuan untuk mengembangkan jaringan publik yang terdesentralisasi, DFINITY adalah komputer dan teknologi blockchain virtual terbuka, memperluas ekosistem Ethereum ke berbagai skenario aplikasi bisnis. Pada artikel ini, kita akan menggunakan istilah resmi “Komputer Internet” di buku putih untuk merujuk pada rantai “DFINITY” yang umum digunakan dalam skenario komunikasi saat ini. Bagian ini terutama menjelaskan istilah teknis yang terlibat dalam beberapa IC, serta perbedaan dalam teknologi dan implementasi dibandingkan dengan rantai publik lainnya, atau titik bersinar dalam teknologi dan fungsi. Dapat dikatakan bahwa IC adalah upaya baru pada kombinasi skalabilitas, desentralisasi, dan keamanan.
2.1 Protokol Konsensus
Melihat IC dan beberapa rantai publik utama lainnya dari perspektif protokol konsensus, IC mengadopsi jaringan yang dikendalikan DAO model hybrid, yang memberikan banyak manfaat dari protokol PoS yang terdesentralisasi sambil memiliki efisiensi protokol yang diizinkan. Protokol konsensus Bitcoin, Ethereum, dan Algorand berbasis blockchain, menggunakan Proof of Work (PoW) atau Proof of Stake (POS). Meskipun protokol ini sepenuhnya terdesentralisasi, mereka kurang efisien daripada protokol yang diizinkan.
DAO beroperasi dengan protokol konsensus yang diizinkan untuk setiap subnet, dan DAO memutuskan entitas mana yang dapat menyediakan salinan node, mengonfigurasi jaringan, menyediakan infrastruktur kunci publik, dan mengontrol versi protokol tempat salinan node digunakan. DAO IC disebut Sistem Saraf Jaringan (NNS) dan didasarkan pada protokol Pos, yaitu, keputusan yang relevan semuanya diputuskan oleh anggota masyarakat, dan kekuatan suara anggota masyarakat ditentukan oleh jumlah token tata kelola asli IC (ICP) yang mereka pertaruhkan di NNS. Mekanisme tata kelola berbasis PoS ini memungkinkan Anda untuk membuat subnet baru dan menambah atau menghapus replika node dari yang sudah ada, serta menyebarkan pembaruan perangkat lunak dan membuat penyesuaian lain pada IC.
Dari perspektif ini, kita juga dapat memahami mengapa DFINITY menyebut IC sebagai jaringan mesin state yang direplikasi, karena NNS sendiri adalah mesin state yang direplikasi. Seperti mesin negara lainnya, mereka berjalan pada subnet tertentu, dan keanggotaan mereka ditentukan oleh sistem tata kelola berbasis PoS yang sama yang disebutkan di atas. Pada saat yang sama, database yang disebut registri dipertahankan, yang mencatat replika node mana yang termasuk subnet mana, kunci publik replika node, dan sebagainya. Oleh karena itu, jaringan kontrol DAO berfungsi sebagai protokol konsensus terdesentralisasi, memungkinkan IC untuk mendapatkan konsensus yang efektif, tetapi pada saat yang sama, karena mekanisme operasi DAO, IC juga mempertahankan keunggulan desentralisasi yang ada.
Protokol konsensus IC juga menggunakan kriptografi kunci publik, seperti registri yang dikelola oleh NNS untuk mengikat kunci publik ke replika node dan subnet untuk membentuk keseluruhan, yang disebut kriptografi kunci rantai, dan IC juga membayangkan model komunikasi untuk protokol konsensus dan protokol yang mengeksekusi mesin status replikasi: ia berharap untuk mengadopsi model asinkron yang lebih layak dan kuat (untuk setiap pesan yang dikirim, musuh dapat menunda pengiriman pesan apa pun untuk waktu yang sewenang-wenang, sehingga tidak ada batasan waktu untuk pengiriman pesan) untuk menangani kegagalan Bizantium. Namun, saat ini, tidak ada model konsensus yang diketahui yang benar-benar layak di bawah model asinkron, dan dalam interpretasi arsitektur IC berikut, artikel ini akan menjelaskan secara lebih rinci pendekatan teknis untuk IC untuk situasi dunia nyata ini.
2.2 Kriptografi Kunci Rantai
Seperti disebutkan di atas, protokol konsensus IC juga menggunakan kriptografi kunci publik - kriptografi kunci rantai, dan ada beberapa bagian utama yang membentuk kriptografi kunci rantai. Komponen pertama kriptografi kunci rantai adalah tanda tangan ambang batas: tanda tangan ambang batas adalah teknik kriptografi matang yang memungkinkan subnet memiliki kunci penandatanganan verifikasi umum, dan kunci privat penandatanganan yang sesuai dibagi menjadi beberapa salinan dan didistribusikan ke node di subnet, sementara alokasi menjamin bahwa node buruk tidak dapat memalsukan tanda tangan apa pun, dan fragmen kunci privat yang dimiliki oleh node jujur memungkinkan subnet menghasilkan tanda tangan yang sesuai dengan prinsip dan protokol IC.
Aplikasi utama dari tanda tangan ambang batas ini adalah bahwa output individu dari satu subnet dapat diverifikasi oleh subnet lain atau oleh pengguna eksternal, dan verifikasi dapat dilakukan hanya dengan memverifikasi implementasi tanda tangan elektronik menggunakan kunci penandatanganan verifikasi publik dari subnet yang dimodifikasi (subnet pertama).
Seperti yang bisa kita lihat, ada banyak aplikasi lain dari tanda tangan ambang batas ini di IC. Satu harus digunakan untuk membuat setiap salinan node dalam subnet dapat diakses oleh digit pseudo-random yang tidak dapat diprediksi (berasal dari tanda tangan ambang batas tersebut). Ini adalah dasar untuk beacon acak yang digunakan oleh lapisan konsensus dan kaset acak yang digunakan oleh lapisan eksekusi.
Untuk menyebarkan tanda tangan ambang batas dengan aman, IC menggunakan protokol Distributed Key Generation (DKG) yang inovatif untuk membangun kunci verifikasi tanda tangan publik dan menyediakan setiap replika node dengan fragmen kunci privat penandatanganan yang sesuai untuk kegagalan Bizantium yang disebutkan sebelumnya dan model asinkron.
2.3 ICP
ICP memiliki beberapa fitur berikut:
Staking NNS, yaitu memfasilitasi tata kelola jaringan.
ICP dapat digunakan untuk mempertaruhkan NNS untuk mendapatkan hak suara dan dengan demikian berpartisipasi dalam DAO yang mengendalikan jaringan IC. Pengguna yang mempertaruhkan token di NNS dan berpartisipasi dalam tata kelola NNS juga menerima token ICP yang baru dicetak sebagai hadiah pemungutan suara. Jumlah hadiah ditentukan oleh kebijakan yang ditetapkan dan diberlakukan oleh NNS.
Redeem Cycles, yaitu sebagai daya produksi.
ICP digunakan untuk membayar penggunaan IC. Lebih khusus lagi, ICP dapat ditebus untuk siklus (yaitu, dibakar), yang dapat digunakan untuk membayar sumber daya (penyimpanan, CPU, dan bandwidth) yang digunakan untuk membuat tangki dan tangki. Rasio ICP terhadap siklus ditentukan oleh NNS.
Penyedia node dibayar, yaitu diberikan sebagai hadiah kepada peserta.
ICP digunakan untuk membayar penyedia node – entitas yang memiliki dan mengoperasikan node komputasi untuk meng-host salinan node yang membentuk IC. NNS secara teratur (saat ini bulanan) menentukan ICP yang baru dicetak yang harus diterima oleh setiap penyedia node dan melepaskannya ke akun mereka. Menurut kebijakan yang ditetapkan dan diberlakukan oleh NNS, pembayaran ICP didasarkan pada penyedia node yang menyediakan layanan yang andal ke IC.
2.4 Eksekusi NNS
Seperti disebutkan sebelumnya, mesin status replikasi IC dapat menjalankan program arbitrer. Unit komputasi dasar dalam IC disebut tank, dan konsepnya hampir sama dengan proses, yang berisi program dan keadaannya (yang berubah seiring waktu). Program tangki dikodekan dalam WebAssembly (selanjutnya disebut sebagai Wasm), yang merupakan format instruksi dua mekanisme berdasarkan mesin virtual bertumpuk. Wasm adalah standar open-source, dan meskipun pada awalnya dirancang untuk memungkinkan aplikasi berkinerja tinggi di web, Wasm juga cocok untuk komputasi tujuan umum.
IC menyediakan lingkungan runtime untuk menjalankan program Wasm di dalam tangki dan berkomunikasi (melalui pesan) dengan tangki lain dan pengguna eksternal. Meskipun pada prinsipnya dimungkinkan untuk menulis program tangki dalam bahasa apa pun yang dikompilasi ke Wasm, bahasa yang disebutkan di atas yang disebut Motoko sangat konsisten dengan semantik operasi IC dan dapat digunakan dalam IC.
Motoko adalah program pemrograman berbasis aktor-2 yang diketik dengan kuat dengan dukungan bawaan untuk persistensi ortogonal 3 dan pesan asinkron. Persistensi quadrature berarti bahwa memori yang dikelola oleh tangki secara otomatis bertahan (yaitu, tidak harus ditulis ke file). Motoko memiliki sejumlah fitur produktivitas dan keamanan, termasuk manajemen memori otomatis, obat generik, inferensi tipe, pencocokan pola, dan aritmatika arbitrer dan presisi tetap.
Selain Motoko, IC menyediakan bahasa definisi antarmuka pesan dan format data yang disebut Candid, yang digunakan untuk tipe tetap, bahasa tingkat tinggi, dan interoperabilitas lintas bahasa. Ini memudahkan dua tank, bahkan jika ditulis dalam bahasa tingkat tinggi yang berbeda, untuk berkomunikasi satu sama lain. Untuk memberikan dukungan penuh untuk pengembangan tank untuk bahasa pemrograman tertentu, dukungan runtime khusus harus disediakan selain kompiler Wasm untuk bahasa tersebut. Saat ini, selain Motoko, IC juga mendukung penuh pengembangan tank dalam bahasa pemrograman Rust.
Akibatnya, IC mendukung bahasa pemrograman yang lebih aman dan lintas bahasa, yang merupakan salah satu faktor penting yang membuat pengembang lebih efektif dan aman dalam membuat IC.
2.5 Keputusan NNS
Dalam jaringan blockchain DFINITY, BNS (Blockchain Nervous System) adalah sistem tata kelola tempat jaringan beroperasi, dan merupakan salah satu blok bangunan terpenting dalam jaringan blockchain, yang dapat secara otomatis memasuki sistem dan memiliki otoritas tinggi. Dibutuhkan peran supernode. Siapa pun berpartisipasi dalam tata kelola NNS dengan mempertaruhkan ICP dalam apa yang disebut neuron. Pemegang neuron dapat mengusulkan dan memberikan suara tentang bagaimana IC harus diubah, seperti topologi subnet atau protokol. Hak suara neuron berbasis PoS. Secara intuitif, semakin banyak ICP dipertaruhkan, semakin besar hak suara neuronal. Namun, kekuatan voting juga tergantung pada karakteristik neuron lainnya, seperti pemegang neuronal yang bersedia mempertaruhkan token mereka untuk jangka waktu yang lebih lama, diberi kekuatan suara yang lebih besar.
Setiap proposal memiliki periode pemungutan suara yang pasti. Jika, pada akhir periode pemungutan suara, mayoritas sederhana dari mereka yang memberikan suara mendukung proposal dan jumlah suara yang mendukung melebihi persyaratan kuorum yang diberikan untuk total hak suara (sekarang 3%), proposal diadopsi. Jika tidak, proposal ditolak. Selain itu, setiap saat supermajority (lebih dari setengah dari total suara) mendukung atau menentang proposal, proposal diterima atau ditolak sesuai.
Dalam istilah yang lebih awam, proses tata kelola BNS dibagi menjadi empat fase: menciptakan neuron, mengusulkan, memilih, dan mengeksekusi.
Buat Neuron: Seperti disebutkan di atas, blockchain Neurosystem memungkinkan pengguna untuk menggunakan ICP untuk membuat neuron pemungutan suara. Siapa pun dapat membuat neuron, dan di masa depan puluhan ribu neuron dapat dibuat, yang secara kolektif akan mengekspresikan kehendak komunitas, dimediasi melalui algoritma.
Proposal: Setiap pengguna yang menjalankan neuron dapat membuat proposal di BNS, dan BNS akan meninjau proposal berdasarkan kewajaran proposal dan apakah itu memberikan solusi. Pengguna yang membuat proposal perlu membayar dua biaya: satu untuk membayar pengulas profesional dan neuron yang berpartisipasi dalam pemungutan suara, dan yang lainnya adalah deposit proposal, yang akan dikembalikan ke neuron setelah proposal diadopsi, dan jumlah ini dapat diatur untuk memberi insentif pada proposal berkualitas tinggi.
Voting: Selain pengusul, pengguna lain juga perlu mempertaruhkan token ke neuron selama fase voting dan dapat memilih untuk secara aktif memilih atau mengikuti pemungutan suara. Pengguna dengan kemampuan penilaian independen dapat memilih untuk memberikan suara secara aktif, dan skenario pemungutan suara berikut cocok untuk beberapa pengguna yang tidak dapat menilai proposal secara akurat. Setelah waktu pemungutan suara ditutup, BNS mengumpulkan hasil jaringan saraf, dan secara otomatis menentukan apakah proposal disetujui atau tidak.
Implementasi: Baru saja ada interpretasi konsensus IC dari lapisan eksekusi, apa implementasi spesifik dari implementasi sistem tata kelola BNS? PROPOSAL UNTUK EKSEKUSI PASIF TERUTAMA MELIBATKAN PERUBAHAN PARAMETER PADA KONTRAK PINTAR PADA DFINITAS, SEPERTI PARAMETER STAKING NEURON. Parameter proposal yang diperbarui akan ditulis secara pasif ke dalam database kontrak pintar BNS, dan akan berlaku langsung ketika dieksekusi nanti. Ada kasus khusus di mana proposal berada di luar kendali kontrak pintar BNS, misalnya melibatkan tingkat peraturan BNS, yang akan membutuhkan penegakan aktif manusia untuk mengesampingkan bagian “kode adalah hukum” dari DFINITY. Misalnya, memodifikasi kerentanan dalam kode sistem atau membekukan kontrak pintar atau neuron yang melanggar peraturan BNS. Proses eksekusi aktif diimplementasikan dengan memanggil opcode khusus yang ditambahkan ke EVM. Operasi langkah ini lebih manusiawi dan masuk akal, daripada “kode adalah hukum” dan “kode adalah segalanya” saat ini di dunia blockchain saat ini. Dari perspektif sifat manusia, mencakup skenario di mana kode tidak dapat membuat keputusan dapat membawa tata kelola yang lebih efektif dan cerdas, dan sampai batas tertentu, itu juga benar-benar menyentuh maksud mendasar dari “konsensus”.
3
Interpretasi Arsitektur
Protokol IC terdiri dari empat lapisan (seperti yang ditunjukkan pada gambar di bawah), yaitu lapisan P2P, lapisan konsensus, lapisan routing, dan lapisan eksekusi. Pada bagian ini, makalah ini hanya menafsirkan peran dan fungsi arsitektur empat lapis, dan menganalisis konstruksi arsitektur secara keseluruhan. UNTUK PEMAHAMAN YANG LEBIH RINCI TENTANG IMPLEMENTASI TEKNIS SPESIFIK DARI LAPISAN TERTENTU, SILAKAN MERUJUK KE BUKU PUTIH DFINITY ASLI.
3.1 Lapisan P2P
Lapisan P2P berfungsi sebagai lapisan dalam lapisan protokol komputer Internet untuk pengambilan dan pemesanan pesan, dan tugasnya adalah mengirimkan pesan protokol dalam salinan node subnet.
Ada dua jenis pesan protokol: pesan yang digunakan untuk mencapai konsensus dan pesan input yang diprakarsai oleh pengguna eksternal.
Kita dapat memahami bahwa lapisan P2P pada dasarnya menyediakan saluran siaran “upaya terbaik”, yaitu jika salinan node yang jujur menyiarkan pesan, pesan tersebut pada akhirnya akan diterima oleh semua node kota di subnet.
Lapisan P2P dirancang dengan tujuan sebagai berikut:
Sumber daya terbatas. Semua algoritma berjalan dengan sumber daya terbatas (memori, bandwidth, CPU).
Prioritas. Tergantung pada atribut tertentu, seperti jenis, ukuran, dan giliran, pesan yang berbeda akan diurutkan dengan prioritas yang berbeda. Dan aturan untuk prioritas ini dapat berubah seiring waktu.
Sangat efisien. Throughput tinggi lebih penting daripada latensi rendah. THROUGHPUT YANG TINGGI JUGA MERUPAKAN ALASAN MENGAPA DFINITY LEBIH EFISIEN DARI BAWAH DARIPADA RANTAI PUBLIK LAINNYA.
Anti-DOS/SPAM. Node yang gagal tidak akan mempengaruhi komunikasi antara replika node yang jujur.
3.2 Lapisan Konsensus
3.2.1 Ikhtisar Lapisan Konsensus
Tugas lapisan konsensus IC adalah menyortir pesan input untuk memastikan bahwa semua replika node memproses pesan input dalam urutan yang sama. Ada banyak protokol dalam literatur yang membahas masalah ini. IC mengadopsi protokol konsensus baru, yang akan dijelaskan dalam bahasa umum dalam artikel ini. Setiap protokol konsensus yang aman harus memastikan dua atribut, yang kira-kira bahwa:
Keamanan: Semua replika node de facto menyetujui urutan input yang sama.
Aktif: Semua replika node harus memperbarui statusnya satu per satu.
Tujuan desain lapisan konsensus IC sebenarnya mudah dipahami: ketika ada node berbahaya individu, kinerja akan menurun secara fleksibel. Seperti banyak protokol konsensus, protokol konsensus IC berbasis blockchain. Seiring kemajuan protokol, pohon blok dengan blok genesis sebagai simpul akar akan terus tumbuh. Setiap blok non-genesis berisi payload, yang terdiri dari serangkaian input dan hash dari blok induk.
Replika jujur memiliki tampilan pohon potongan yang konsisten: Meskipun setiap replika mungkin memiliki tampilan lokal yang berbeda dari pohon potongan, semua replika node melihat pohon potongan yang sama. Selain itu, seiring kemajuan protokol, akan selalu ada jalur di pohon blok untuk menyelesaikan blok. Sekali lagi, replika node jujur memiliki pandangan yang konsisten tentang jalur ini: meskipun setiap replika node mungkin memiliki tampilan lokal jalur yang berbeda, semua replika node melihat jalur yang sama. Input dalam beban blok di sepanjang jalur ini adalah input yang diurutkan yang akan diproses oleh lapisan eksekusi IC.
Protokol konsensus bergantung pada tanda tangan elektronik untuk memverifikasi pesan dalam salinan node. Untuk mencapai hal ini, setiap salinan node dikaitkan dengan kunci otentikasi publik untuk protokol penandatanganan. Korelasi antara replika node dan kunci publik dapat diperoleh dari registri yang dikelola oleh NNS. Hal ini juga sejalan dengan peran dan peran kriptografi chain-key dalam IC yang disebutkan di atas.
3.2.2 Asumsi
Sebagaimana dibahas dalam Bagian II, IC mengusulkan hipotesis berikut:
Subnet berisi n replika node, dan maksimum f
Replika node yang gagal dapat menunjukkan perilaku sewenang-wenang, berbahaya (yaitu, kegagalan Bizantium). Kami berasumsi bahwa komunikasi tidak sinkron dan tidak ada batasan sebelumnya pada latensi pesan antara replika node, yaitu, model asinkron yang disebutkan di atas. Pada titik ini, penjadwalan pesan mungkin benar-benar bermusuhan. Di bawah asumsi komunikasi yang lemah ini, protokol konsensus IC dapat memastikan keamanan. Tetapi untuk memastikan aktivitas, kita perlu mengasumsikan bentuk sinkronisasi parsial tertentu, yang berarti bahwa jaringan tetap disinkronkan secara berkala pada interval pendek. Di bawah interval sinkronisasi ini, semua informasi yang tidak dikirimkan akan dikirimkan dalam waktu, yaitu, batas waktu tetap δ. Batas waktu δ tidak diketahui sebelumnya (protokol menginisialisasi nilai batas yang wajar tetapi secara dinamis menyesuaikan nilai dan meningkatkan nilai batas ketika batas waktu terlalu kecil). Terlepas dari apakah jaringan asinkron atau sebagian sinkron, kami berasumsi bahwa pesan yang dikirim oleh replika node jujur ke replika node lain pada akhirnya akan dikirimkan.
3.2.3 Ikhtisar Protokol
Seperti banyak protokol konsensus, protokol konsensus IC berbasis blockchain. Seiring kemajuan protokol, pohon blok (lihat 3.2.4 misalnya) dengan blok genesis sebagai simpul akar akan terus tumbuh. Setiap blok non-genesis berisi payload, yang terdiri dari serangkaian input dan hash dari blok induk. Replika jujur memiliki tampilan pohon potongan yang konsisten: Meskipun setiap replika mungkin memiliki tampilan lokal yang berbeda dari pohon potongan, semua replika node melihat pohon potongan yang sama. Selain itu, seiring kemajuan protokol, akan selalu ada jalur di pohon blok untuk menyelesaikan blok. Demikian pula, replika node jujur memiliki tampilan jalur ini yang konsisten, dan meskipun setiap replika node mungkin memiliki tampilan lokal jalur yang berbeda, semua replika node melihat jalur yang sama. Input dalam beban blok di sepanjang jalur ini telah diurutkan dan diproses oleh lapisan eksekusi, yang ditafsirkan pada bagian sebelumnya.
3.2.4 Contoh praktis
Gambar di bawah ini menunjukkan pohon blok. Setiap blok ditandai dengan tinggi blok (30, 31, 32, ··· ) dan peringkat generator blok, yang menunjukkan bahwa setiap blok di pohon blok diaktakan dan ditandai dengan simbol N. Ini berarti bahwa blok notaris di setiap pohon blok didukung oleh notaris setidaknya salinan n-f dari node yang berbeda. Dapat ditemukan bahwa mungkin ada lebih dari satu blok notaris pada ketinggian blok yang ditentukan. Misalnya, pada ketinggian blok 32, kita dapat melihat 2 blok notaris, satu diusulkan oleh generator blok di peringkat 1 dan yang lainnya diusulkan oleh peringkat 2, dan hal yang sama terjadi pada ketinggian blok 34. Kita juga dapat melihat bahwa blok dengan ketinggian 36 juga secara eksplisit dikonfirmasi, seperti yang diidentifikasi oleh simbol F. Ini berarti bahwa salinan n-f dari node yang berbeda telah mendukung konfirmasi akhir blok, yang berarti bahwa salinan node ini (atau setidaknya salinan node jujur ini) tidak mendukung notaris blok lain. Semua leluhur yang bloknya diisi dengan abu-abu dianggap telah menerima konfirmasi akhir implisit.
**3.2.5 Ketidakberpihakan **
Keadilan adalah dasar dari konsensus, jadi atribut penting lainnya dalam protokol konsensus adalah keadilan. Alih-alih menetapkan definisi universal, kami hanya mengamati bahwa invarian kehidupan menyiratkan properti keadilan yang berguna. Singkatnya, invarian pada dasarnya berarti bahwa dalam putaran apa pun, ketika masternode jujur dan jaringan disinkronkan, blok yang diusulkan oleh masternode juga akan diselesaikan. Pada gilirannya di mana ini terjadi, node master yang jujur benar-benar memastikan bahwa itu berisi semua input yang diketahuinya dalam beban blok (tergantung pada batas modul dari ukuran beban). Jadi, secara kasar, setiap input yang disebarkan ke jumlah salinan node yang cukup kemungkinan besar akan dimasukkan dalam blok akhir yang dikonfirmasi dalam jumlah waktu yang wajar.
3.3 Lapisan perutean
Seperti disebutkan sebelumnya, unit komputasi dasar dalam IC disebut tangki. IC menyediakan lingkungan operasi di mana program dapat dijalankan di dalam tangki dan dapat berkomunikasi (melalui pesan) dengan tangki lain dan pengguna eksternal. Lapisan konsensus mengemas input ke dalam beban blok, dan karena blok dikonfirmasi oleh reddest, beban yang sesuai diteruskan ke lapisan perutean pesan dan diproses oleh lingkungan eksekusi. Lapisan eksekusi kemudian memperbarui status di tangki yang sesuai di mesin status replikasi dan menyerahkan output ke lapisan perutean pesan untuk diproses.
Penting untuk membedakan antara dua jenis input:
Ingress Message: Pesan dari pengguna eksternal.
Pesan lintas subnet: Pesan dari tangki di subnet lain.
Kita juga dapat membedakan antara dua jenis output:
Respons pesan masuk: Respons terhadap pesan masuk (yang dapat diambil oleh pengguna eksternal).
Pesan lintas subnet: Pesan yang dikirim ke tangki subnet lainnya.
Ketika beban dari konsensus diterima, input dalam beban tersebut ditempatkan ke dalam antrian input yang berbeda. Untuk setiap tangki C di bawah subnet, ada beberapa antrian input: pesan masuk ke C, tangki C terpisah untuk berkomunikasi dengan C, dan pesan lintas subnet dari C ke C.
Dalam setiap putaran, lapisan eksekusi mengkonsumsi beberapa input dari antrian ini, memperbarui status replikasi di tangki yang sesuai, dan menempatkan output dalam antrian yang berbeda. Untuk setiap tangki di bawah subnet, ada beberapa antrian output: untuk setiap tangki yang berkomunikasi dengan, ada antrian untuk pesan lintas-subnet dari C ke C '. Lapisan perutean pesan mengambil pesan dalam antrian pesan dan menempatkannya ke dalam lalu lintas subnet-ke-subnet untuk diproses oleh protokol transport lintas-subnet, yang sebenarnya mentransmisikan pesan ke subnet lain.
Selain antrian output ini, ada juga struktur data historis untuk pesan masuk. Setelah pesan masuk diproses oleh tangki, respons terhadap pesan masuk tersebut dicatat dalam struktur data tersebut. Pada titik ini, pengguna eksternal yang memberikan pesan masuk akan bisa mendapatkan respons yang relevan. (Catatan: Histori masuk tidak menyimpan riwayat lengkap semua pesan masuknya).
Ada dua poin yang perlu diperjelas, pertama, keadaan replika node mencakup keadaan tangki serta “keadaan sistem”. “Status Sistem” mencakup antrean, aliran data, dan struktur data riwayat masuknya yang disebutkan di atas. Akibatnya, lapisan perutean pesan dan lapisan eksekusi terlibat dalam memperbarui dan mempertahankan status replika subnet. Status ini semua harus diperbarui dengan determinisme lengkap, sehingga semua node mempertahankan status yang sama persis.
Poin kedua yang perlu diperhatikan adalah bahwa lapisan konsensus mendahului lapisan perutean pesan dan lapisan eksekusi, yang berarti bahwa setiap garpu dalam blockchain konsensus telah diselesaikan sebelum beban dilewati. Bahkan, lapisan konsensus memungkinkan untuk operasi awal dan tidak perlu berada pada jadwal yang sama dengan lapisan routing pesan.
Penjelasan dan penjelasan dari lapisan routing memberi kita pemahaman yang lebih jelas tentang bagaimana protokol konsensus ditransmisikan ke dan dari protokol konsensus melalui routing pesan, dan bagaimana hal itu terhubung ke lapisan eksekusi, sehingga dapat mempromosikan koordinasi dan konsistensi protokol konsensus.
3.4 Lapisan Eksekusi
Lingkungan eksekusi memproses satu input pada satu waktu, yang diambil dari salah satu antrian input dan diarahkan ke tangki, tergantung pada keadaan input dan tangki, lingkungan eksekusi memperbarui keadaan tangki dan juga dapat menambahkan pesan ke antrian output. dan perbarui riwayat masuk (mungkin bersama dengan respons terhadap pesan masuk sebelumnya). Pada gilirannya, lingkungan eksekusi akan memproses beberapa input. Penjadwal menentukan input mana yang akan dieksekusi dalam urutan apa untuk giliran tertentu. Alih-alih membahas terlalu banyak detail tentang penjadwal, kami akan menyoroti beberapa tujuan:
Itu harus deterministik, yaitu hanya bergantung pada data yang diberikan;
Ini harus mendistribusikan beban kerja secara adil di seluruh tangki (tetapi mengoptimalkan throughput daripada latensi).
Jumlah pekerjaan yang diselesaikan dalam setiap putaran diukur dalam siklus dan harus mendekati beberapa kuantitas yang telah ditentukan.
Tugas lain yang harus ditangani oleh lingkungan eksekusi adalah situasi di mana salah satu tangki dari satu subnet menghasilkan pesan di seluruh subnet lebih cepat daripada subnet lain dapat mengkonsumsi. Menanggapi situasi ini, kami menerapkan mekanisme pengaturan mandiri untuk memperlambat tangki produksi. Ada banyak tugas manajemen sumber daya dan pembukuan lainnya yang perlu ditangani oleh lingkungan runtime, tetapi semua tugas ini harus ditangani secara deterministik.
4
** Rantai Kunci Kriptografi **
Dalam sinopsisnya, kami menjelaskan bahwa protokol konsensus IC juga menggunakan teknik kriptografi kunci publik - kriptografi kunci rantai, dan bagian penting dari kriptografi kunci rantai adalah tanda tangan ambang batas. Faktanya, kriptografi kunci rantai mencakup serangkaian teknik kompleks yang digunakan untuk memelihara mesin status replikasi berbasis blockchain dengan kuat dan aman dari waktu ke waktu, yang secara kolektif dikenal sebagai teknik evolusi rantai. Setiap subnet beroperasi dalam zaman yang berisi beberapa putaran (biasanya sekitar beberapa ratus). Teknologi evolusi rantai memungkinkan banyak tugas pemeliharaan dasar yang dilakukan per zaman: pengumpulan sampah, penerusan cepat, perubahan anggota subnet, penerusan rahasia aktif, dan peningkatan protokol.
Pemahaman tentang teknologi evolusi rantai, yaitu pemahaman tentang implementasi teknis keamanan protokol konsensus IC. Teknologi evolusi rantai terdiri dari dua komponen dasar: blok ringkasan dan paket catch-up (CUP).
4.1 Blok Ringkasan
Blok pertama dari setiap zaman adalah blok intisari. Blok ringkasan berisi data khusus yang digunakan untuk mengelola fragmen kunci untuk skema tanda tangan ambang batas yang berbeda. Ada dua skema tanda tangan ambang batas:
Dalam skenario dengan struktur ambang batas f + 1/n, kunci penandatanganan baru dihasilkan untuk setiap zaman;
Dalam skenario dengan struktur ambang n-f/n, kunci penandatanganan dibagikan kembali sekali per zaman.
Skenario dengan ambang batas rendah digunakan untuk beacon acak dan pita acak, sementara skenario dengan ambang batas tinggi digunakan untuk memverifikasi status replikasi subnet. Ingat bahwa protokol DKG mensyaratkan bahwa untuk setiap kunci penandatanganan, ada serangkaian transaksi, dan setiap replika node dapat memperoleh fragmen kunci tanda tangannya secara non-interaktif berdasarkan rangkaian transaksi ini. Ingat lagi, antara lain, NNS memelihara registri yang menentukan anggota subnet. Registri (dan anggota subnet) berubah seiring waktu. Akibatnya, subnet harus menyetujui versi registri yang akan digunakan pada waktu yang berbeda dan untuk tujuan yang berbeda. Informasi ini juga disimpan di blok ringkasan.
4.2 CANGKIR
Dengan ringkasan keluar dari jalan, mari kita lihat paket catch-up, atau CUP. Sebelum kita menguraikan CUP, pertama-tama kita perlu menunjukkan satu detail suar acak: suar acak dari setiap putaran bergantung pada suar acak dari putaran sebelumnya. Ini bukan fitur mendasar dari CUP, tetapi mempengaruhi desain CUP. CUP adalah pesan khusus (bukan di blockchain) yang memiliki semua yang dibutuhkan node untuk bekerja pada titik awal zaman tanpa mengetahui informasi apa pun tentang zaman sebelumnya. Ini berisi bidang data berikut:
Akar pohon hash Merkel untuk seluruh keadaan yang direplikasi (berlawanan dengan keadaan parsial dari setiap putaran validasi dalam Bab 1.6).
zaman.
Suar acak untuk putaran pertama zaman.
Tanda tangan ambang subnet untuk (n - f)/n untuk bidang di atas.
Untuk menghasilkan CUP untuk zaman tertentu, replika node harus menunggu hingga blok intisari zaman telah diselesaikan dan status putaran yang sesuai telah diverifikasi. Seperti disebutkan sebelumnya, seluruh status replikasi harus diproses menjadi pohon Merkle oleh fungsi hash. Meskipun ada banyak teknik yang digunakan untuk mempercepat proses ini, biayanya masih signifikan, itulah sebabnya setiap zaman hanya diproses sekali. Karena CUP hanya berisi akar pohon Merkle ini, kami menggunakan subprotokol sinkronisasi status yang memungkinkan replika node mengekstrak status apa pun yang dibutuhkan dari peer. Sekali lagi, kami telah menggunakan banyak teknologi untuk mempercepat proses ini, dan itu masih mahal. Karena kami menggunakan tanda tangan ambang batas tinggi untuk CUP, kami dapat menjamin bahwa hanya ada satu CUP yang valid pada zaman apa pun, dan status tersebut dapat diekstraksi dari banyak rekan.
4.3 Implementasi Teknologi Evolusi Rantai
Pengumpulan sampah: Karena CUP berisi informasi tentang zaman tertentu, setiap salinan node dapat dengan aman membersihkan semua input yang diproses sebelum zaman itu, serta pesan lapisan konsensus yang memesan input tersebut.
Penerusan cepat: Jika replika node dalam subnet tertinggal secara signifikan di belakang node sinkronnya (karena tidak aktif atau terputus untuk waktu yang lama), atau jika replika node baru ditambahkan ke subnet, mereka dapat dengan cepat meneruskan ke titik awal zaman terbaru tanpa harus menjalankan protokol konsensus dan memproses semua input sebelum titik itu. Salinan node ini dapat dilakukan dengan mendapatkan CUP terbaru. Dengan blok digest dan beacon acak yang terkandung dari CUP, serta pesan konsensus (belum dihapus) dari salinan node lain, replika node dapat menjalankan protokol konsensus ke depan dari titik awal zaman yang sesuai. Node juga dapat menggunakan subprotokol sinkronisasi status untuk mendapatkan status replikasi pada awal zaman yang sesuai, sehingga juga dapat mulai memproses input yang dihasilkan oleh lapisan konsensus.
Diagram berikut menggambarkan penerusan cepat. Di sini, mari kita asumsikan bahwa kita membutuhkan replika node yang perlu mengejar ketinggalan pada titik awal zaman, (katakanlah) dengan tinggi blok 101 dan CUP. CUP ini berisi akar pohon Merkle yang direplikasi dengan tinggi blok 101, blok ringkasan dengan tinggi blok 101, dan suar acak dengan tinggi blok 101. Node menggunakan subprotokol sinkronisasi status untuk mendapatkan semua status replikasi tinggi blok 101 dari rekan-rekannya dan memverifikasi status ini dengan pohon Merkle di CUP. Setelah mendapatkan status ini, salinan node dapat berpartisipasi dalam protokol, mendapatkan blok dengan tinggi blok 102, 103, dll. (dan pesan terkait konsensus lainnya) dari peer, dan memperbarui salinan status replikasinya. Jika rekan-rekannya telah mengkonfirmasi blok pada tingkat yang lebih tinggi, salinan node akan memproses (serta membuat notaris dan menyelesaikan) blok-blok final yang diperoleh dari rekan-rekan sesegera mungkin (secepat lapisan eksekusi memungkinkan).
5
Epilog
Seperti Ethereum, visi DFINITY adalah membangun “superkomputer dunia”, melalui interpretasi parsial dan penjelasan teknis dari buku putihnya yang disebutkan di atas. IC di bawah visi ini memiliki peluang besar untuk direalisasikan.
Kita dapat melihat inovasi teknologi dan kelayakan teknis IC untuk mewujudkan visinya dari model hibrida DAO dari protokol konsensus, dari inovasi teknologi pembuatan blok cepat dan throughput tinggi, dan dari sistem neuron BNS dan skema tata kelola ekologisnya. Berbeda dengan kode Ethereum saat ini, yaitu hukum, tata kelola kode IC menambahkan elemen kebijaksanaan kerumunan ke yayasan, bukan dengan tujuan membangun arsitektur kode yang sempurna, tetapi dengan tujuan sistem dapat dengan cepat menyesuaikan aturan. Ini bukan hanya ciptaan teknologi, tetapi juga sifat manusia yang bersinar. Di dunia blockchain, pendirian, pemeliharaan, dan modifikasi konsensus tidak bisa hanya dikodifikasi, tetapi esensi intinya haruslah manusia. Konsensus yang valid dan adil antara kelompok yang berpusat pada manusia adalah jantung dari industri blockchain dan daya tarik banyak Dapps yang terdesentralisasi.
Artikel ini mengutip dan menafsirkan beberapa isi kertas putih IC, yang menjelaskan rincian lebih lanjut tentang NNS, status otentikasi setiap putaran subnet pada lapisan konsensus, kueri dan panggilan pembaruan pesan entri, distribusi kunci terdistribusi dalam kriptografi kunci rantai, skema PVSS, protokol dasar dan protokol berbagi ulang, dan sebagainya. Bagi pengembang yang menginginkan pemahaman yang lebih komprehensif dan terperinci tentang teknologi yang mendasari IC, membaca buku putih asli dapat memberikan penjelasan dan penjelasan yang lebih rinci.