$ATOM 2016 · 59 min

Cosmos: Jaringan Buku Besar Terdistribusi

Cosmos: A Network of Distributed Ledgers

Oleh Jae Kwon and Ethan Buchman

Perkenalan

Keberhasilan gabungan dari ekosistem sumber terbuka, pembagian yle yang terdesentralisasi, dan cryptocurrency publik memilikinya mengilhami pemahaman bahwa protokol internet terdesentralisasi dapat digunakan untuk secara radikal memperbaiki infrastruktur sosio-ekonomi. Kami telah melihat aplikasi blockchain khusus seperti Bitcoin [1] (a cryptocurrency), Zerocash [2] (mata uang kripto untuk privasi), dan platform smart contract yang digeneralisasi seperti Ethereum [3], dengan aplikasi terdistribusi yang tak terhitung jumlahnya untuk Etherium Virtual Mesin (EVM) seperti Augur (pasar prediksi) dan TheDAO [4] (klub investasi). Namun hingga saat ini, blockchain ini telah menderita sejumlah penyakit kelemahannya, termasuk inefisiensi energi yang besar, buruk atau kinerja yang terbatas, dan mekanisme tata kelola yang belum matang. Proposal untuk menskalakan throughput transaksi Bitcoin, seperti Saksi Terpisah [5] dan BitcoinNG [6], merupakan penskalaan vertikal solusi yang tetap dibatasi oleh kapasitas fisik tunggal mesin, untuk memastikan properti kemampuan audit yang lengkap. Lightning Network [7] dapat membantu menskalakan transaksi Bitcoin

volume dengan meninggalkan beberapa transaksi dari buku besar sepenuhnya, dan sangat cocok untuk pembayaran mikro dan menjaga privasi jalur pembayaran, tetapi mungkin tidak cocok untuk yang lebih umum kebutuhan penskalaan. Solusi ideal adalah solusi yang memungkinkan beberapa blockchain paralel untuk saling beroperasi dengan tetap mempertahankan properti keamanannya. Ini sudah terbukti sulit, bahkan tidak mungkin, dengan proof-of-work. Digabung pertambangan, misalnya, memungkinkan pekerjaan dilakukan untuk mengamankan orang tua rantai untuk digunakan kembali pada rantai anak, tetapi transaksi tetap harus dilakukan divalidasi, secara berurutan, oleh setiap node, dan blockchain yang ditambang gabungan rentan terhadap serangan jika mayoritas hash berkuasa di orang tua tidak aktif menggabungkan penambangan anak. Tinjauan akademis arsitektur jaringan blockchain alternatif disediakan konteks tambahan, dan kami memberikan ringkasan proposal lainnya dan kekurangannya dalam Pekerjaan Terkait. Di sini kami menyajikan Cosmos, arsitektur jaringan blockchain baru yang mengatasi semua masalah ini. Cosmos adalah jaringan yang terdiri dari banyak jaringan blockchains independen, disebut zona. Zona ini didukung oleh Tendermint Core [8], yang memberikan kinerja tinggi, mesin konsensus seperti PBFT yang konsisten dan aman, dengan jaminan akuntabilitas forka yang ketat terhadap perilaku pelaku jahat aktor. Algoritme konsensus BFT Tendermint Core sangat cocok untuk menskalakan proof-of-stake blockchains publik. Zona pertama di Cosmos disebut Hub Cosmos. Cosmos Hub adalah cryptocurrency multi-aset proof-of-stake dengan sederhana mekanisme tata kelola yang memungkinkan jaringan untuk beradaptasi dan meningkatkan. Selain itu, Hub Cosmos dapat diperluas sebesar menghubungkan zona lain. Hub dan zona jaringan Cosmos berkomunikasi satu sama lain melalui protokol komunikasi antar-blockchain (IBC), semacam UDP atau TCP virtual untuk blockchains. Token bisa saja ditransfer dari satu zona ke zona lain dengan aman dan cepattanpa memerlukan likuiditas pertukaran antar zona. Sebaliknya, semua transfer token antar zona melalui Hub Cosmos, yang melacak jumlah total token yang dimiliki oleh setiap zona. Itu hub mengisolasi setiap zona dari kegagalan zona lainnya. Karena siapa pun dapat menghubungkan zona baru ke Hub Cosmos, zona mengizinkan untuk kompatibilitas di masa depan dengan inovasi blockchain baru. Pada bagian ini kami menjelaskan protokol konsensus Tendermint dan antarmuka yang digunakan untuk membangun aplikasi dengannya. Untuk lebih lanjut selengkapnya lihat lampiran. Dalam algoritma toleransi kesalahan Bizantium klasik (BFT), setiap node mempunyai berat yang sama. Di Tendermint, node memiliki non-negatif jumlah hak suara, dan node yang memiliki suara positif kekuatan disebut validators. Validator berpartisipasi dalam protokol konsensus dengan menyiarkan tanda tangan kriptografi, atau suara, untuk menyetujui blok berikutnya. Hak suara validator ditentukan sejak awal, atau memang demikian diubah secara deterministik oleh blockchain, bergantung pada aplikasi. Misalnya pada aplikasi proof-of-stake seperti Hub Cosmos, hak suara dapat ditentukan oleh sejumlah staking tokens diikatkan sebagai jaminan. CATATAN: Pecahan seperti ⅔ dan ⅓ mengacu pada pecahan dari total suara daya, tidak pernah jumlah total validator, kecuali semua validator mempunyai bobot yang sama. >⅔ artinya “lebih dari ⅔”, ≥⅓ artinya “setidaknya ⅓”. Tendermint adalah protokol konsensus BFT yang sinkron sebagian berasal dari algoritma konsensus DLS [20]. Tendermint adalah

terkenal karena kesederhanaan, kinerja, dan akuntabilitas forknya. Protokol ini memerlukan kumpulan validator yang diketahui, dimana masing-masing validator diidentifikasi oleh kunci publiknya. Validator mencoba untuk mencapai konsensus mengenai satu blok pada satu waktu, di mana satu blok adalah sebuah daftar transaksi. Pemungutan suara untuk konsensus mengenai suatu blok sedang berlangsung putaran. Setiap putaran memiliki pemimpin putaran, atau pengusul, yang mengusulkan sebuah blok. validators kemudian melakukan pemungutan suara, secara bertahap, untuk menentukan apakah akan melakukan hal tersebut atau tidak untuk menerima blok yang diusulkan atau melanjutkan ke babak berikutnya. Itu pengusul putaran dipilih secara deterministik dari yang dipesan daftar validators, sebanding dengan hak suara mereka. Rincian lengkap protokol dijelaskan di sini. Keamanan Tendermint berasal dari penggunaan Bizantium yang optimal toleransi kesalahan melalui pemungutan suara super-mayoritas (>⅔) dan penguncian mekanisme. Bersama-sama, mereka memastikan bahwa: ≥⅓ hak suara harus dimiliki Bizantium agar dapat menyebabkan pelanggaran keselamatan, di mana lebih dari dua nilai berkomitmen. jika ada kumpulan validator yang berhasil melanggar keselamatan, atau bahkan upaya untuk melakukannya, mereka dapat diidentifikasi oleh protokol. Ini mencakup pemungutan suara untuk blok konziktif dan penyiaran suara yang tidak adil. Meski jaminannya kuat, Tendermint memberikan yang luar biasa kinerja. Dalam benchmark dari 64 node yang didistribusikan di 7 pusat data di 5 benua, pada instance cloud komoditas, Konsensus Tendermint dapat memproses ribuan transaksi per kedua, dengan latensi penerapan dalam urutan satu hingga dua detik. Khususnya, kinerja lebih dari seribu transaksi per yang kedua dipertahankan bahkan dalam kondisi permusuhan yang keras, dengan validators mogok atau menyiarkan suara perusak yang jahat. Lihat gambar di bawah untuk detailnya.

Tendermint throughput vs block size benchmarked across 64 nodes in 7 datacenters on 5 continents

Manfaat utama dari algoritma konsensus Tendermint disederhanakan keamanan klien yang ringan, menjadikannya kandidat ideal untuk seluler dan kasus penggunaan internet-of-thing. Sedangkan klien ringan Bitcoin harus melakukan sinkronisasi rantai header blok dan temukan yang memiliki bukti paling banyak berhasil, klien ringan Tendermint hanya perlu mengikuti perubahan ke set validator, lalu verifikasi >⅔ PreCommits di blok terbaru untuk menentukan keadaan terkini. Bukti klien ringan yang ringkas juga memungkinkan antar-blockchain komunikasi. Tendermint memiliki tindakan perlindungan untuk mencegah hal tertentu serangan penting, seperti pembelanjaan ganda jangka panjang tanpa mempertaruhkan apa pun dan sensor. Hal ini dibahas lebih lengkap dalam lampiran.Algoritma konsensus Tendermint diimplementasikan dalam a program yang disebut Tendermint Core. Tendermint Inti adalah “mesin konsensus” agnostik aplikasi yang dapat mengubah apa pun aplikasi blackbox deterministik menjadi direplikasi secara terdistribusi blockchain. Tendermint Core terhubung ke blockchain aplikasi melalui Antarmuka Aplikasi Blockchain (ABCI) [17]. Jadi, ABCI memungkinkan blockchain aplikasi diprogram di mana saja bahasa, bukan hanya bahasa pemrograman yang disepakati mesin ditulis. Selain itu, ABCI memungkinkannya dengan mudah tukar lapisan konsensus dari tumpukan blockchain yang ada. Kami menggambar analogi dengan cryptocurrency terkenal Bitcoin. Bitcoin adalah mata uang kripto blockchain yang dikelola oleh setiap node database Hasil Transaksi Tak Terpakai (UTXO) yang telah diaudit sepenuhnya. Jika seseorang ingin membuat sistem seperti Bitcoin di atas ABCI, Tendermint Core akan bertanggung jawab Berbagi blok dan transaksi antar node Menetapkan tatanan transaksi yang kanonik/tidak dapat diubah (the blockchain) Sementara itu, aplikasi ABCI akan bertanggung jawab Memelihara basis data UTXO Memvalidasi tanda tangan kriptografi transaksi Mencegah transaksi mengeluarkan dana yang tidak ada Mengizinkan klien menanyakan database UTXO Tendermint mampu menguraikan desain blockchain dengan menawarkan API yang sangat sederhana antara proses aplikasi dan proses konsensus.

Cosmos Arsitektur

Cosmos adalah jaringan blockchain paralel independen yang masing-masing didukung oleh algoritma konsensus BFT klasik seperti permen mint 1. blockchain pertama di jaringan ini akan menjadi Cosmos Hub. Itu Cosmos Hub terhubung ke banyak blockchain (atau zona) lainnya melalui a protokol komunikasi antar-blockchain yang baru. Pusat Cosmos melacak berbagai jenis token dan mencatat totalnya jumlah tokens di setiap zona yang terhubung. Token bisa saja ditransfer dari satu zona ke zona lain dengan aman dan cepat tanpa perlu adanya pertukaran cair antar zona, karena semuanya transfer koin antar zona melalui Hub Cosmos. Arsitektur ini memecahkan banyak masalah pada ruang blockchain yang dihadapi saat ini, seperti interoperabilitas aplikasi, skalabilitas, dan kemampuan upgrade yang mulus. Misalnya, zona yang berasal dari Bitcoind, Go-Ethereum, CryptoNote, ZCash, atau sistem blockchain apa pun bisa dicolokkan ke Hub Cosmos. Zona ini mengizinkan Cosmos untuk berkembang pesat untuk memenuhi permintaan transaksi global. Zona juga hal yang bagus untuk pertukaran terdistribusi, yang akan didukung sebagai baik. Cosmos bukan hanya satu buku besar yang didistribusikan, dan Cosmos Hub bukanlah taman bertembok atau pusat alam semesta. Kami adalah merancang protokol untuk jaringan terbuka buku besar terdistribusi yang dapat berfungsi sebagai landasan baru bagi sistem keuangan masa depan, berdasarkan prinsip kriptografi, ekonomi yang sehat, konsensus teori, transparansi, dan akuntabilitas. Cosmos Hub adalah blockchain publik pertama di Cosmos Jaringan, didukung oleh algoritma konsensus BFT Tendermint. Itu Proyek sumber terbuka Tendermint lahir pada tahun 2014 untuk mengatasi masalah tersebut masalah kecepatan, skalabilitas, dan lingkungan dari algoritma konsensus bukti kerja Bitcoin. Dengan menggunakan dan meningkatkan yang sudah terbukti

BFT algoritma dikembangkan di MIT pada tahun 1988 [20], Tendermint tim adalah yang pertama secara konseptual mendemonstrasikan proof-of-stake cryptocurrency yang mengatasi masalah tidak ada yang dipertaruhkan diderita oleh proof-of-stake cryptocurrency generasi pertama tersebut seperti NXT dan BitShares1.0. Saat ini, hampir semua dompet seluler Bitcoin menggunakan server tepercaya memberi mereka verifikasi transaksi. Hal ini karena pembuktian kerja memerlukan menunggu banyak konfirmasi sebelum a transaksi dapat dianggap dilakukan secara permanen. Serangan doublespend telah ditunjukkan pada layanan seperti Basis Koin. Tidak seperti sistem konsensus blockchain lainnya, Tendermint menawarkan verifikasi pembayaran klien seluler yang instan dan terbukti aman. Karena Tendermint dirancang untuk tidak pernah bercabang sama sekali, bersifat mobile dompet dapat menerima konfirmasi transaksi instan, yang menghasilkan pembayaran yang tidak dapat dipercaya dan praktis menjadi kenyataan di ponsel pintar. Ini memiliki dampak yang signifikan terhadap aplikasi Internet of Things baik. Validator di Cosmos memiliki peran serupa dengan Bitcoin penambang, namun sebagai gantinya gunakan tanda tangan kriptografi untuk memilih. Validator adalah mesin yang aman dan berdedikasi yang bertanggung jawab untuk melakukan blok. Non-validators dapat mendelegasikan staking tokens mereka (disebut “atom”) ke validator mana pun untuk mendapatkan sebagian biaya blok dan atom imbalan, namun menimbulkan risiko dihukum (dipotong) jika delegasi validator diretas atau melanggar protokol. Yang terbukti jaminan keamanan konsensus Tendermint BFT, dan agunannya setoran pemangku kepentingan–validators dan delegator–disediakan keamanan yang dapat dibuktikan dan diukur untuk node dan klien ringan. Buku besar publik yang didistribusikan harus memiliki konstitusi dan a sistem pemerintahan. Bitcoin bergantung pada Bitcoin Yayasan danpenambangan untuk mengoordinasikan peningkatan, tetapi ini adalah proses yang lambat. Ethereum dipecah menjadi ETH dan ETC setelah sulit diatasi PeretasanDAO, terutama karena tidak ada kontrak sosial sebelumnya maupun mekanisme untuk mengambil keputusan tersebut. Validator dan delegasi di Hub Cosmos dapat memberikan suara proposal yang dapat mengubah parameter sistem yang telah ditetapkan secara otomatis (seperti batas blok gas), mengkoordinasikan peningkatan, seperti serta memberikan suara pada amandemen konstitusi yang dapat dibaca manusia yang mengatur kebijakan Hub Cosmos. Konstitusi memungkinkan kohesi di antara para pemangku kepentingan dalam isu-isu seperti pencurian dan bug (seperti insiden TheDAO), memungkinkan untuk lebih cepat dan resolusi yang lebih bersih. Setiap zona juga dapat memiliki konstitusi dan pemerintahannya sendiri mekanismenya juga. Misalnya, Hub Cosmos dapat memiliki a konstitusi yang menegakkan kekekalan di Hub (tidak ada kemunduran, kecuali bug implementasi simpul Hub Cosmos), sementara setiap zona dapat menetapkan kebijakannya sendiri mengenai roll-back. Dengan memungkinkan interoperabilitas antar zona kebijakan yang berbeda, Jaringan Cosmos memberi penggunanya kebebasan dan potensi tertinggi eksperimen tanpa izin. Di sini kami menggambarkan model baru desentralisasi dan skalabilitas. Cosmos adalah jaringan yang terdiri dari banyak blockchain yang didukung oleh permen lembut. Sementara proposal yang ada bertujuan untuk menciptakan “single blockchain” dengan total pemesanan transaksi global, Cosmos mengizinkan banyak blockchain untuk dijalankan secara bersamaan satu sama lain dengan tetap mempertahankan interoperabilitas. Pada dasarnya, Hub Cosmos mengelola banyak hal secara independen blockchains disebut “zona” (terkadang disebut sebagai “pecahan”, dalam bahasa Inggris referensi ke teknik penskalaan basis data yang dikenal sebagai "sharding").

Aliran konstan dari blok terbaru yang dilakukan dari zona yang diposting Hub memungkinkan Hub untuk mengikuti keadaan setiap zona. Demikian pula, setiap zona mengikuti keadaan Hub (tetapi zona jangan saling mengikuti kecuali secara tidak langsung melalui Pusat). Paket informasi kemudian dikomunikasikan dari satu zona ke zona lain dengan memasang bukti Merkle sebagai bukti bahwa informasi telah dikirim dan diterima. Mekanisme ini disebut komunikasi antar-blockchain, atau disingkat IBC. Zona mana pun dapat menjadi hub untuk membentuk grafik asiklik, namun demi kejelasan kami hanya akan menguraikan secara sederhana saja konfigurasi di mana hanya ada satu hub, dan banyak non-hub zona. Cosmos Hub adalah blockchain yang menampung multi-aset buku besar terdistribusi, di mana tokens dapat disimpan oleh pengguna individu atau berdasarkan zona itu sendiri. token ini dapat dipindahkan dari satu zona ke yang lain dalam paket IBC khusus yang disebut "paket koin". Hubnya adalah bertanggung jawab untuk menjaga invarian global dari total jumlah setiap token di seluruh zona. IBC paket koin transaksi harus dilakukan oleh pengirim, hub, dan penerima blockchains.Karena Cosmos Hub bertindak sebagai buku besar pusat untuk keseluruhan sistem, keamanan Hub adalah yang terpenting. Sementara setiap zona dapat berupa Tendermint blockchain yang diamankan dengan sebagai sedikitnya 4 (atau bahkan kurang jika konsensus BFT tidak diperlukan), Hub harus diamankan oleh serangkaian validator yang terdesentralisasi secara global dapat menahan skenario serangan yang paling parah, seperti a partisi jaringan kontinental atau serangan yang disponsori negara. Zona Cosmos adalah blockchain independen yang menukar IBC pesan dengan Hub. Dari perspektif Hub, zona adalah a akun multi-tanda tangan keanggotaan dinamis multi-aset itu dapat mengirim dan menerima tokens menggunakan paket IBC. Seperti a akun mata uang kripto, suatu zona tidak dapat mentransfer lebih dari tokens sudah, tetapi dapat menerima token dari orang lain yang memilikinya. Sebuah zona dapat ditetapkan sebagai "sumber" dari satu atau lebih jenis token, memberinya kekuatan untuk memasukkan pasokan token itu. Atom dari Cosmos Hub dapat dipertaruhkan oleh validators suatu zona terhubung ke hub. Sementara serangan double-spend terjadi di zona-zona tersebut akan mengakibatkan pemotongan atom dengan akuntabilitas Tendermint, sebuah zona di mana >⅔ hak suara berada Bizantium dapat melakukan status tidak valid. Hub Cosmos tidak memverifikasi atau mengeksekusi transaksi yang dilakukan di zona lain, demikianlah adanya tanggung jawab pengguna untuk mengirim tokens ke zona yang mereka percayai. Kedepannya, sistem tata kelola Hub Cosmos mungkin bisa melewati Hub proposal perbaikan yang memperhitungkan kegagalan zona. Untuk misalnya, transfer token keluar dari beberapa (atau semua) zona mungkin terjadi dibatasi untuk memungkinkan pemutusan sirkuit darurat pada zona (penghentian sementara transfer token) ketika serangan terdeteksi. Sekarang kita melihat bagaimana Hub dan zona berkomunikasi satu sama lain lainnya. Misalnya, jika ada tiga blockchain, “Zona1”, “Zona2”,

Cosmos hub and zones architecture showing the Cosmos Hub connecting multiple independent zones via IBC

dan "Hub", dan kami berharap "Zone1" menghasilkan paket tujuan untuk “Zona 2” melalui “Hub”. Untuk memindahkan paket dari satu blockchain ke yang lain, buktinya diposting di rantai penerima. Buktinya menyatakan bahwa rantai pengirim menerbitkan paket untuk dugaan tujuan. Agar rantai penerima dapat memeriksa bukti ini harus mampu mengikuti header blok pengirim. Ini mekanismenya mirip dengan yang digunakan oleh sidechains, yang membutuhkan dua rantai yang berinteraksi untuk menyadari satu sama lain melalui a aliran dua arah dari datagram bukti keberadaan (transaksi). Protokol IBC secara alami dapat didefinisikan menggunakan dua jenis transaksi: transaksi  IBCBlockCommitTx , yang memungkinkan a blockchain untuk membuktikan kepada pengamat mana pun tentang blok terbarunya-hash, dan transaksi IBCPacketTx , yang memungkinkan blockchain untuk buktikan kepada pengamat mana pun bahwa paket yang diberikan memang dipublikasikan melalui permohonan pengirim, melalui Merkle-proof hingga saat ini blok-hash. Dengan membagi mekanisme IBC menjadi dua transaksi terpisah, kami memungkinkan mekanisme pasar biaya asli dari rantai penerima menentukan paket mana yang dikomit (yaitu diakui), sementara memungkinkan kebebasan penuh pada rantai pengiriman tentang caranya banyak paket keluar diperbolehkan. Pada contoh di atas, untuk memperbarui blok-hash dari "Zona1" di “Hub” (atau “Hub” di “Zone2”), sebuah IBCBlockCommitTxtransaksi harus diposting di “Hub” dengan blok-hash dari “Zona1” (atau pada “Zona2” dengan blok-hash dari “Hub”). Lihat IBCBlockCommitTx dan IBCPacketTx untuk informasi lebih lanjut pada dua jenis transaksi IBC. Dengan cara yang sama Bitcoin lebih aman dengan menjadi terdistribusi, buku besar yang direplikasi secara massal, kita dapat membuat pertukaran menjadi lebih tidak rentan peretasan eksternal dan internal dengan menjalankannya di blockchain. Kami sebut ini pertukaran terdistribusi. Apa yang oleh komunitas cryptocurrency disebut sebagai desentralisasi pertukaran hari ini didasarkan pada sesuatu yang disebut transaksi “atomic crosschain” (AXC). Dengan transaksi AXC, dua pengguna aktif dua rantai yang berbeda dapat melakukan dua transaksi transfer itu dilakukan bersama-sama pada kedua buku besar, atau tidak sama sekali (mis. secara atomik). Misalnya, dua pengguna dapat memperdagangkan bitcoin dengan eter (atau dua token pada dua buku besar berbeda) menggunakan transaksi AXC, meskipun Bitcoin dan Ethereum tidak terhubung satu sama lain lainnya. Manfaat menjalankan pertukaran pada transaksi AXC adalah bahwa tidak ada pengguna yang perlu mempercayai satu sama lain atau melakukan pencocokan dagang layanan. Sisi negatifnya adalah kedua belah pihak harus online perdagangan yang akan terjadi. Jenis pertukaran terdesentralisasi lainnya adalah pertukaran yang direplikasi secara massal pertukaran terdistribusi yang berjalan sendiri blockchain. Pengguna aktif pertukaran semacam ini dapat mengirimkan pesanan batas dan mengubahnya komputer mati, dan perdagangan dapat dilakukan tanpa kehadiran pengguna daring. blockchain cocok dan menyelesaikan perdagangan atas nama dari pedagang.

Aplikasi

Pertukaran terpusat dapat membuat buku batas yang dalam pesanan dan dengan demikian menarik lebih banyak pedagang. Likuiditas menghasilkan lebih banyak likuiditas di dunia bursa, sehingga terdapat jaringan yang kuat efek (atau setidaknya efek pemenang-ambil-terbanyak) dalam pertukaran bisnis. Pemimpin saat ini untuk pertukaran mata uang kripto saat ini adalah Poloniex dengan volume 24 jam sebesar $20 juta, dan di posisi kedua adalah Bitynex dengan volume 24 jam sebesar $5 juta. Mengingat jaringan yang begitu kuat Hal ini tidak mungkin terjadi pada bursa desentralisasi berbasis AXC memenangkan volume atas bursa terpusat. Untuk desentralisasi pertukaran untuk bersaing dengan pertukaran terpusat, hal ini diperlukan untuk mendukung buku pesanan mendalam dengan pesanan terbatas. Hanya didistribusikan pertukaran pada blockchain dapat menyediakannya. Tendermint memberikan manfaat tambahan berupa transaksi yang lebih cepat berkomitmen. Dengan mengedepankan ynalitas cepat tanpa berkorban konsistensi, zona di Cosmos dapat menginalisasi transaksi dengan cepat – untuk baik transaksi exchange order maupun IBC token transfer ke dan dari zona lain. Mengingat keadaan pertukaran mata uang kripto saat ini, bagus sekali aplikasi untuk Cosmos adalah pertukaran terdistribusi (alias the CosmosDEX). Kapasitas throughput transaksi juga latensi komit dapat dibandingkan dengan latensi terpusat pertukaran. Trader dapat mengirimkan limit order yang dapat dieksekusi tanpa kedua belah pihak harus online. Dan dengan Tendermint, hub Cosmos, dan IBC, pedagang dapat memindahkan dana masuk dan keluar pertukaran ke dan dari zona lain dengan cepat. Zona istimewa dapat bertindak sebagai sumber token yang dijembatani mata uang kripto lainnya. Sebuah jembatan mirip dengan hubungan antara hub dan zona Cosmos; keduanya harus mengikuti perkembangan tersebut blok terbaru dari yang lain untuk memverifikasi bukti yang dimiliki tokens berpindah dari satu ke yang lain. Sebuah "zona jembatan" di Cosmos jaringan mengikuti Hub dan juga yang lainnya

mata uang kripto. Arahan melalui zona jembatan memungkinkan logika Hub untuk tetap sederhana dan agnostik terhadap yang lain blockchain strategi konsensus seperti proof-of-work Bitcoin pertambangan. Setiap zona jembatan validator akan menjalankan Tendermint bertenaga blockchain dengan aplikasi jembatan ABCI khusus, tetapi juga node penuh “asal” blockchain. Ketika blok baru ditambang di titik asal, zona jembatan validators akan mencapai kesepakatan mengenai blok yang berkomitmen dengan penandatanganan dan berbagi pandangan lokal masing-masing tentang blockchain asal tip. Ketika zona jembatan menerima pembayaran pada zona asal (dan konfirmasi yang cukup disepakati telah terlihat dalam kasus ini dari rantai PoW seperti Ethereum atau Bitcoin), sesuai akun dibuat di zona jembatan dengan saldo itu. Dalam kasus Ethereum, zona jembatan dapat berbagi hal yang sama validator-ditetapkan sebagai Hub Cosmos. Di sisi Ethereum ( asal), kontrak jembatan akan memungkinkan pemegang eter mengirim eter ke zona jembatan dengan mengirimkannya ke kontrak jembatan Ethereum. Setelah eter diterima oleh kontrak jembatan, itu eter tidak dapat ditarik kecuali paket IBC yang sesuai tersedia diterima oleh kontrak jembatan dari zona jembatan. Itu kontrak jembatan melacak validator-set zona jembatan, yang mungkin identik dengan set validator Hub Cosmos. Dalam kasus Bitcoin, konsepnya serupa kecuali sebaliknya satu kontrak jembatan, masing-masing UTXO akan dikendalikan oleh a pubscript P2SH multitanda tangan ambang batas. Karena keterbatasan sistem P2SH, penandatangan tidak boleh sama dengan Cosmos Pusat validator-set.Eter di zona jembatan (“bridged-ether”) dapat ditransfer ke dan dari Hub, dan kemudian dimusnahkan dengan transaksi itu mengirimkannya ke alamat penarikan tertentu di Ethereum. Sebuah IBC paket membuktikan bahwa transaksi terjadi di zona jembatan dapat diposting ke kontrak jembatan Ethereum untuk mengizinkan eter untuk ditarik. Dalam kasus Bitcoin, sistem skrip terbatas membuatnya sulit untuk meniru mekanisme transfer koin IBC. Setiap UTXO memiliki pubscript independennya sendiri, jadi setiap UTXO harus memilikinya bermigrasi ke UTXO baru ketika ada perubahan pada kumpulan Bitcoin penandatangan escrow. Salah satu solusinya adalah dengan mengompres dan dekompresi set UTXO seperlunya untuk mempertahankan jumlah totalnya dari UTXO turun. Resiko dari kontrak yang menjembatani seperti itu adalah sebuah rangkaian validator yang nakal. ≥⅓ Kekuatan suara Bizantium dapat menyebabkan percabangan, penarikan eter dari kontrak jembatan pada Ethereum sambil menjaga jembatan di zona jembatan. Lebih buruk lagi, >⅔ kekuatan suara Bizantium bisa mencuri eter langsung dari mereka yang mengirimkannya ke kontrak jembatan dengan menyimpang dari logika jembatan asli zona jembatan. Permasalahan ini dapat diatasi dengan merancang jembatan tersebut benar-benar akuntabel. Misalnya semua paket IBC, dari hub dan asal usulnya, mungkin memerlukan pengakuan dari zona jembatan di dalamnya sedemikian rupa sehingga semua transisi keadaan pada zona jembatan dapat dilakukan ditantang dan diverifikasi secara efisien baik oleh pusat maupun asal kontrak jembatan. Hub dan asal harus mengizinkan validators zona jembatan untuk mengirimkan jaminan, dan token mentransfer keluar dari kontrak jembatan harus ditunda (dan pelepasan jaminan jangka waktu yang cukup lama) untuk memungkinkan adanya tantangan yang dapat dilakukan auditor independen. Kami meninggalkan desain spesifikasi dan implementasi sistem ini terbuka sebagai masa depan Cosmos

proposal perbaikan, untuk disahkan oleh Cosmos Hub sistem pemerintahan. Memecahkan masalah penskalaan adalah masalah terbuka untuk Ethereum. Saat ini, Ethereum node memproses setiap transaksi dan juga menyimpan semua negara bagian. link. Karena Tendermint dapat melakukan pemblokiran lebih cepat daripada Ethereum proof-of-work, EVM zona yang didukung oleh konsensus Tendermint dan beroperasi pada bridged-ether dapat memberikan kinerja yang lebih tinggi Ethereum blockchains. Selain itu, meskipun Cosmos Hub dan IBC mekanisme paket tidak mengizinkan logika kontrak sewenang-wenang eksekusi itu sendiri, dapat digunakan untuk mengoordinasikan token gerakan antara Ethereum kontrak yang berjalan di zona berbeda, memberikan landasan untuk penskalaan token-sentris Ethereum melalui pecahan. Cosmos zona menjalankan logika aplikasi sewenang-wenang, yang didefinisikan pada awal kehidupan zona dan berpotensi diperbarui dari waktu ke waktu oleh pemerintahan. Kelenturan seperti itu memungkinkan Cosmos zona untuk bertindak sebagai jembatan ke mata uang kripto lainnya seperti Ethereum atau Bitcoin, dan juga mengizinkan turunan dari blockchain tersebut, menggunakan basis kode yang sama tetapi dengan set validator yang berbeda dan distribusi awal. Hal ini memungkinkan banyak cryptocurrency yang ada kerangka kerja, seperti Ethereum, Zerocash, Bitcoin, CryptoNote dan seterusnya, untuk digunakan dengan Tendermint Core mesin konsensus kinerja yang lebih tinggi, pada jaringan umum, membuka peluang luar biasa untuk interoperabilitas di seluruh dunia platform. Selanjutnya, sebagai multi-aset blockchain, satu transaksi mungkin berisi beberapa input dan output, dimana masing-masing masukan dapat berupa jenis token apa pun, sehingga memungkinkan Cosmos berfungsi langsung sebagai sebuah platform untuk pertukaran terdesentralisasi, meskipun pesanan diasumsikanuntuk dicocokkan melalui platform lain. Sebagai alternatif, suatu zona dapat berfungsi sebagai pertukaran toleransi kesalahan terdistribusi (dengan buku pesanan), yang dapat menjadi perbaikan yang ketat dibandingkan sistem terpusat yang sudah ada pertukaran mata uang kripto yang cenderung diretas seiring waktu. Zona juga dapat berfungsi sebagai versi perusahaan yang didukung blockchain dan sistem pemerintahan, di mana bagian dari layanan tertentu itu secara tradisional dijalankan oleh suatu organisasi atau sekelompok organisasi malah dijalankan sebagai aplikasi ABCI di zona tertentu, yang mana memungkinkannya mewarisi keamanan dan interoperabilitas publik Cosmos jaringan tanpa mengorbankan kendali atas yang mendasarinya layanan. Oleh karena itu, Cosmos mungkin menawarkan yang terbaik dari kedua hal tersebut organisasi yang ingin memanfaatkan teknologi blockchain tetapi siapa yang memanfaatkannya berhati-hati dalam melepaskan kendali sepenuhnya kepada pihak ketiga yang didistribusikan pesta. Beberapa orang menyatakan bahwa masalah utama adalah mengutamakan konsistensi algoritma konsensus seperti Tendermint adalah jaringan apa pun partisi yang menyebabkan tidak ada satu partisi dengan >⅔ hak suara (misalnya ≥⅓ mematikan zine) akan menghentikan konsensus sama sekali. Arsitektur Cosmos dapat membantu mengurangi masalah ini dengan menggunakan sebuah pusat global dengan zona otonom regional, dimana hak untuk memilih untuk setiap zona didistribusikan berdasarkan kesamaan geografis wilayah. Misalnya, paradigma umum mungkin ditujukan untuk individu kota, atau wilayah, untuk mengoperasikan zona mereka sendiri sambil berbagi a hub umum (misalnya Hub Cosmos), memungkinkan aktivitas kota untuk melakukan hal tersebut bertahan jika hub berhenti karena jaringan sementara partisi. Perhatikan bahwa ini memungkinkan kondisi geologi, politik, dan fitur topologi jaringan yang harus dipertimbangkan dalam merancang yang kuat sistem toleransi kesalahan gabungan.

NameCoin adalah salah satu dari blockchain pertama yang mencoba menyelesaikan masalah ini masalah resolusi nama dengan mengadaptasi Bitcoin blockchain. Sayangnya ada beberapa masalah dengan pendekatan ini. Dengan Namecoin, kami dapat memverifikasi bahwa, misalnya, @satoshi adalah terdaftar dengan kunci publik tertentu di masa lalu, tapi kita tidak tahu apakah kunci publiknya sudah ada diperbarui baru-baru ini kecuali kami mengunduh semua blok sejak yang terakhir pembaruan nama itu. Hal ini disebabkan oleh keterbatasan Bitcoin UTXO transaksi model Merkle-isasi, dimana hanya transaksi (tetapi bukan status aplikasi yang dapat diubah) di-merkle ke dalam blok-hash. Hal ini memungkinkan kami membuktikan keberadaannya, namun bukan ketiadaan pembaruan nama di kemudian hari. Jadi, kita tidak bisa mengetahuinya yakin nilai terbaru dari sebuah nama tanpa mempercayai keseluruhannya node, atau menimbulkan biaya bandwidth yang signifikan dengan mengunduh keseluruhan blockchain. Meskipun pohon pencarian Merkle diterapkan di NameCoin, ketergantungannya pada proof-of-work membuat verifikasi klien menjadi ringan bermasalah. Klien ringan harus mengunduh salinan lengkapnya header untuk semua blok di seluruh blockchain (atau setidaknya seluruh header sejak pembaruan terakhir pada sebuah nama). Ini berarti bahwa kebutuhan bandwidth berskala linier dengan jumlah waktu [21]. Selain itu, perubahan nama pada proof-of-work blockchain perlu menunggu blok konfirmasi proof-of-work tambahan, yang dapat memakan waktu hingga satu jam pada Bitcoin. Dengan Tendermint, yang kita butuhkan hanyalah blok terbaru-hash ditandatangani oleh kuorum validators (berdasarkan hak suara), dan Merkle bukti nilai saat ini yang terkait dengan nama tersebut. Ini berhasil mungkin untuk memiliki klien ringan yang ringkas, cepat, dan aman verifikasi nilai nama. Di Cosmos, kita dapat mengambil konsep ini dan memperluasnya lebih jauh. Masing-masing zona pendaftaran nama di Cosmos dapat memiliki nama domain tingkat atas (TLD) terkait seperti “.com” atau “.org”, dan setiap nama-

zona registrasi dapat memiliki tata kelola dan registrasi sendiri aturan.

Pemerintahan dan Ekonomi

Meskipun Cosmos Hub adalah buku besar yang didistribusikan multi-aset, namun ada token asli khusus yang disebut atom. Atom adalah satu-satunya staking token dari Pusat Cosmos. Atom adalah lisensi bagi pemegangnya memilih, memvalidasi, atau mendelegasikan ke validator lainnya. Suka Ethereum eter, atom juga dapat digunakan untuk membayar biaya transaksi mengurangi spam. Atom inzationary tambahan dan transaksi blok biaya diberikan kepada validators dan delegator yang mendelegasikannya validatordtk. Transaksi  BurnAtomTx  dapat digunakan untuk memulihkan apa pun jumlah proporsional tokens dari kumpulan cadangan. Distribusi awal atom tokens dan validators di Genesis akan diberikan kepada donatur Cosmos Penggalangan Dana (75%), donatur utama (5%), Cosmos Network Foundation (10%), dan ALL IN BITS, Inc (10%). Sejak awal mula, 1/3 dari jumlah total atom akan terbentuk diberikan penghargaan kepada validator dan delegasi yang terikat setiap tahun. Lihat Paket Cosmos untuk detail tambahan. Berbeda dengan Bitcoin atau proof-of-work blockchain lainnya, Tendermint blockchain menjadi lebih lambat dengan lebih banyak validator karena peningkatan kompleksitas komunikasi. Untungnya, kami dapat mendukung cukup validators untuk menghasilkan blockchain yang kuat dan terdistribusi secara global dengan waktu konfirmasi transaksi yang sangat cepat, dan, sebagai bandwidth,

penyimpanan, dan peningkatan kapasitas komputasi paralel, kita akan mampu untuk mendukung lebih banyak validator di masa depan. Pada hari asal, jumlah maksimum validator akan ditetapkan ke 100, dan jumlah ini akan meningkat pada tingkat 13% selama 10 tahun, dan menetap pada 300 validators. Pemegang atom yang belum dapat menjadi validators pada saat itu menandatangani dan mengirimkan transaksi  BondTx . Jumlah atom yang diberikan sebagai jaminan harus bukan nol. Siapa pun bisa menjadi a validator kapan saja, kecuali besarnya arus validator set lebih besar dari jumlah maksimum validators diperbolehkan. Dalam hal ini, transaksi hanya sah jika jumlahnya atom lebih besar dari jumlah atom efektif yang ditahan oleh validator terkecil, di mana atom efektif mencakup atom yang didelegasikan. Ketika validator baru menggantikan validator yang sudah ada sedemikian rupa, validator yang ada menjadi tidak aktif dan semua atom dan atom yang didelegasikan memasuki keadaan tidak terikat. Pasti ada penalti yang dikenakan pada validator untuk siapa pun penyimpangan yang disengaja atau tidak disengaja dari sanksi protokol. Beberapa bukti dapat langsung diterima, seperti a tanda ganda pada ketinggian dan putaran yang sama, atau pelanggaran Tahun 0: 100  Tahun 1: 113  Tahun 2: 127  Tahun 3: 144  Tahun 4: 163  Tahun 5: 184  Tahun 6: 208  Tahun 7: 235  Tahun 8: 265  Tahun 9: 300  Tahun 10: 300  ...

“prevote-the-lock” (aturan protokol konsensus Tendermint). Bukti tersebut akan mengakibatkan validator kehilangan reputasi baiknya dan atom-atom yang terikat serta bagian proporsionalnya sebesar tokens di kumpulan cadangan – yang secara kolektif disebut “saham” – akan dipangkas. Terkadang, validators tidak tersedia, karena faktor regional gangguan jaringan, kegagalan daya, atau alasan lainnya. Jika, kapan saja titik di blok  ValidatorTimeoutWindow  yang lalu, validator melakukan suara tidak termasuk dalam blockchain lebih dari  ValidatorTimeoutMaxAbsent  kali, maka validator akan menjadi tidak aktif, dan kehilangan  ValidatorTimeoutPenalty  (DEFAULT 1%) darinya taruhan. Beberapa perilaku “jahat” tidak menghasilkan hasil yang terlihat jelas bukti di blockchain. Dalam kasus ini, validator bisa berkoordinasi di luar band untuk memaksa batas waktu bagi orang-orang jahat ini validators, jika terdapat konsensus super mayoritas. Dalam situasi di mana Hub Cosmos terhenti karena ≥⅓ koalisi hak suara terjadi di zine, atau dalam situasi di mana terdapat ≥⅓ koalisi hak suara menyensor bukti perilaku jahat dari memasuki blockchain, hub harus pulih dengan hard-fork proposal ulang. (Tautan ke “Serangan Garpu dan Sensor”). Cosmos Hub validators dapat menerima jenis atau kombinasi token apa pun jenis sebagai biaya untuk memproses transaksi. Setiap validator kaleng secara subyektif menetapkan nilai tukar apa pun yang diinginkannya, dan memilih transaksi apa pun yang diinginkannya, selama  BlockGasLimit  ada tidak terlampaui. Biaya yang dipungut, dikurangi pajak apa pun yang disebutkan di bawah, didistribusikan kembali kepada pemangku kepentingan yang terikat secara proporsional atom terikatnya, setiap  ValidatorPayoutPeriod  (DEFAULT 1 jam).Dari biaya transaksi yang dipungut,  ReserveTax  (DEFAULT 2%) akan dikenakan pergi menuju kumpulan cadangan untuk meningkatkan kumpulan cadangan dan meningkatkan keamanan dan nilai jaringan Cosmos. Ini dana juga dapat disalurkan sesuai dengan keputusan dibuat oleh sistem pemerintahan. Pemegang atom yang mendelegasikan hak suaranya kepada validator lainnya membayar komisi kepada validator yang didelegasikan. Komisi bisa ditetapkan oleh setiap validator. Keamanan Hub Cosmos adalah fungsi keamanan mendasari validators dan pilihan delegasi oleh delegasi. Guna mendorong penemuan dan pelaporan awal temuan kerentanan, Hub Cosmos mendorong peretas untuk mempublikasikan eksploitasi yang berhasil melalui transaksi  ReportHackTx  yang menyatakan, “Ini validator diretas. Silakan kirim hadiah ke alamat ini”. Setelah eksploitasi seperti itu, validator dan delegator akan menjadi tidak aktif,  HackPunishmentRatio  (default 5%) dari atom setiap orang akan mendapatkan dipotong, dan  HackRewardRatio  (defaultnya 5%) dari atom setiap orang akan mendapat imbalan ke alamat bounty peretas. validator harus memulihkan atom yang tersisa dengan menggunakan kunci cadangannya. Untuk mencegah fitur ini disalahgunakan untuk mentransfer atom yang tidak terikat, bagian dari atom yang terikat vs tidak terikat validators dan delegasi sebelum dan sesudah  ReportHackTx  akan tetap sama, dan hadiah hacker akan mencakup beberapa atom yang tidak terikat, jika ada. Hub Cosmos dioperasikan oleh organisasi terdistribusi yang memerlukan mekanisme tata kelola yang terdefinisi dengan baik mengoordinasikan berbagai perubahan pada blockchain, seperti variabel

parameter sistem, serta peningkatan perangkat lunak dan amandemen konstitusi. Semua validator bertanggung jawab untuk memberikan suara pada semua proposal. Gagal memberikan suara pada proposal secara tepat waktu akan menghasilkan validator dinonaktifkan secara otomatis untuk jangka waktu tertentu yang disebut  Periode Penalti Ketidakhadiran  (DEFAULT 1 minggu). Delegator secara otomatis mewarisi suara yang didelegasikan validator. Pemungutan suara ini dapat diganti secara manual. Atom yang tidak terikat tidak mendapat suara. Setiap proposal memerlukan deposit sebesar  MinimumProposalDeposit  tokens, yang mungkin merupakan kombinasi dari satu atau lebih tokens termasuk atom. Untuk setiap proposal, pemilih dapat memilih untuk menerima depositnya. Jika lebih dari separuh pemilih memilih untuk mengambil deposit (misalnya karena proposalnya adalah spam), deposit masuk ke kumpulan cadangan, kecuali atom apa pun yang dibakar. Untuk setiap usulan, pemilih dapat memilih dengan opsi berikut: Ya YaDengan Force Tidak Tidak Dengan Force Menjauhkan diri Mayoritas suara Ya atau YeaWithForce (atau Tidak atau suara NayWithForce) diperlukan agar proposal dapat diputuskan sebagai disahkan (atau diputuskan gagal), tetapi 1/3+ dapat memveto mayoritas keputusan dengan pemungutan suara “dengan paksa”. Ketika mayoritas ketat diveto, semua orang akan dihukum dengan kehilangan  VetoPenaltyFeeBlocks  (DEFAULT blok senilai 1 hari) senilai biaya (kecuali pajak yang tidak akan terpengaruh), dan partai yang memveto mayoritas

keputusan tersebut juga akan dihukum dengan kehilangan  VetoPenaltyAtoms  (DEFAULT 0,1%) atomnya. Parameter apa pun yang didefinisikan di sini dapat diubah dengan meneruskan  ParameterChangeProposal . Atom dapat diinisasi dan dana cadangan dibelanjakan dengan lolosnya  BountyProposal . Semua proposal lainnya, seperti proposal untuk meningkatkan protokol, akan dikoordinasikan melalui  TextProposal  umum. Lihat Rencananya. Ada banyak inovasi dalam konsensus blockchain dan skalabilitas dalam beberapa tahun terakhir. Bagian ini memberikan penjelasan singkat survei terhadap sejumlah hal penting tertentu. Konsensus di hadapan partisipan yang jahat adalah sebuah masalah dimulai pada awal tahun 1980an, ketika Leslie Lamport menciptakan istilah tersebut frase “Kesalahan Bizantium” untuk merujuk pada perilaku proses yang sewenang-wenang itu menyimpang dari perilaku yang diharapkan, berbeda dengan “kesalahan tabrakan”, dimana suatu proses terhenti begitu saja. Solusi awal ditemukan untuk jaringan sinkron yang memiliki batas ataslatensi pesan, meskipun penggunaan praktisnya sangat terbatas lingkungan yang terkendali seperti pengontrol pesawat dan pusat data disinkronkan melalui jam atom. Itu tidak sampai akhir tahun 90an bahwa Toleransi Kesalahan Bizantium Praktis (PBFT) [11] adalah diperkenalkan sebagai konsensus yang sinkron sebagian dan efisien algoritma mampu mentolerir hingga ⅓ proses yang berperilaku sewenang-wenang. PBFT menjadi algoritma standar, menghasilkan banyak algoritma variasi, termasuk yang terbaru yang dibuat oleh IBM sebagai bagiannya kontribusi mereka terhadap Hyperledger. Manfaat utama dari konsensus Tendermint atas PBFT adalah Tendermint memiliki struktur dasar yang lebih baik dan disederhanakan, beberapa di antaranya merupakan hasil dari penerapan paradigma blockchain. Blok Tendermint harus dilakukan secara berurutan, sehingga meniadakan kompleksitas dan overhead komunikasi yang terkait dengan PBFT perubahan tampilan. Di Cosmos dan banyak mata uang kripto, tidak ada perlu mengizinkan blok N+i di mana i >= 1 untuk dikomit, ketika blok N sendiri belum berkomitmen. Jika bandwidth adalah alasan mengapa blok N belum berkomitmen di zona Cosmos, maka penggunaannya tidak ada gunanya pembagian bandwidth suara untuk blok N+i. Jika partisi jaringan atau node ofzine adalah alasan mengapa blok N belum dikomit N+saya tidak akan berkomitmen. Selain itu, pengelompokan transaksi ke dalam blok memungkinkan Merkle-hashing reguler dari status aplikasi, bukan intisari berkala seperti skema pos pemeriksaan PBFT. Hal ini memungkinkan untuk komitmen transaksi yang lebih cepat dan dapat dibuktikan untuk klien ringan dan lebih cepat komunikasi antar-blockchain. Tendermint Core juga menyertakan banyak pengoptimalan dan fitur yang melampaui apa yang ditentukan dalam PBFT. Misalnya, blok yang diusulkan oleh validators dipecah menjadi beberapa bagian, Merkle-ized, dan bergosip sedemikian rupa sehingga meningkatkan penyiaran kinerja (lihat LibSwift [19] untuk inspirasi). Juga, Tendermint Core tidak membuat asumsi apa pun tentang point-to-point

konektivitas, dan berfungsi selama jaringan P2P ada terhubung dengan lemah. Meskipun bukan yang pertama menerapkan proof-of-stake (PoS), BitShares1.0 [12] berkontribusi besar terhadap penelitian dan adopsi PoS blockchains, khususnya yang dikenal sebagai PoS “terdelegasi”. Di BitShares, pemegang saham memilih "saksi", yang bertanggung jawab untuk memesan dan melakukan transaksi, dan "mendelegasikan", bertanggung jawab untuk mengoordinasikan pembaruan perangkat lunak dan perubahan parameter. BitShares2.0 bertujuan untuk mencapai kinerja tinggi (100k tx/s, 1s latensi) dalam kondisi ideal, dengan setiap blok ditandatangani oleh satu blok penandatanganan, dan kualitas transaksi memakan waktu lebih lama dibandingkan interval blok. Spesifikasi kanonik masih dalam pengembangan. Pemangku kepentingan dapat memberhentikan atau mengganti saksi yang berperilaku buruk pada a setiap hari, namun tidak ada jaminan signifikan dari saksi atau delegasi seperti Tendermint PoS yang dipotong kasus serangan pembelanjaan ganda yang berhasil. Membangun pendekatan yang dipelopori oleh Ripple, Stellar [13] menolak a model Perjanjian Federasi Bizantium dimana prosesnya berpartisipasi dalam konsensus bukan merupakan suatu hal yang yxed dan global himpunan yang diketahui. Sebaliknya, setiap node proses mengkurasi satu atau lebih “irisan kuorum”, yang masing-masing merupakan serangkaian proses tepercaya. SEBUAH “kuorum” di Stellar didefinisikan sebagai sekumpulan node yang berisi di setidaknya satu irisan kuorum untuk setiap node dalam himpunan, sehingga kesepakatan dapat tercapai. Keamanan mekanisme Stellar bergantung pada asumsi bahwa perpotongan dua kuorum mana pun tidak kosong, sedangkan ketersediaan sebuah node memerlukan setidaknya satu dari kuorumnya seluruhnya terdiri dari node yang benar, sehingga menciptakan trade-off di antaranya menggunakan irisan kuorum besar atau kecil yang mungkin sulit untuk diseimbangkan tanpa memaksakan asumsi signifikan tentang kepercayaan. Akhirnya,node entah bagaimana harus memilih potongan kuorum yang memadai agar dapat melakukannya memiliki toleransi kesalahan yang memadai (atau “node utuh” apa pun, di antaranya sebagian besar hasil makalah ini bergantung pada), dan satu-satunya strategi yang disediakan untuk memastikan konfigurasi semacam itu bersifat hierarkis dan mirip dengan Border Gateway Protocol (BGP), yang digunakan oleh ISP papan atas di internet untuk membuat tabel perutean global, dan oleh yang digunakan oleh browser untuk mengelola sertifikat TLS; keduanya terkenal kejam karena ketidakamanan mereka. Kritik dalam makalah Stellar terhadap sistem bukti kepemilikan berbasis Tendermint diatasi dengan strategi token yang dijelaskan di sini, di mana tipe baru token yang disebut atom dikeluarkan mewakili klaim atas bagian imbalan dan imbalan di masa depan. Itu Keuntungan dari proof-of-stake berbasis Tendermint adalah relatifnya kesederhanaan, namun tetap memberikan keamanan yang memadai dan dapat dibuktikan jaminan. BitcoinNG adalah usulan perbaikan untuk Bitcoin yang memungkinkan untuk bentuk skalabilitas vertikal, seperti meningkatkan ukuran blok, tanpa konsekuensi ekonomi negatif yang biasanya terkait dengan perubahan seperti itu, seperti dampak besar yang tidak proporsional pada penambang kecil. Peningkatan ini dicapai dengan pemisahan pemilihan pemimpin dari siaran transaksi: pemimpin adalah yang pertama dipilih oleh proof-of-work di “blok mikro”, dan kemudian mampu menyiarkan transaksi yang akan dilakukan hingga blok mikro baru ditemukan. Hal ini mengurangi kebutuhan bandwidth yang diperlukan memenangkan perlombaan PoW, memungkinkan penambang kecil bersaing secara lebih adil, dan memungkinkan transaksi dilakukan secara lebih teratur oleh penambang terakhir yang menemukan blok mikro. Casper [16] adalah algoritma konsensus proof-of-stake yang diusulkan untuk Ethereum. Modus operasi utamanya adalah “konsensus demi taruhan”. Oleh membiarkan validators bertaruh secara berulang pada blok mana yang mereka yakini akan berhasil

berkomitmen pada blockchain berdasarkan taruhan lainnya yang telah mereka lihat sejauh ini, pada akhirnya keutuhan dapat dicapai. link. Ini adalah area penelitian aktif yang dilakukan oleh tim Casper. Itu Tantangannya adalah membangun mekanisme taruhan yang bisa dilakukan terbukti menjadi strategi yang stabil secara evolusi. Manfaat utama dari Casper dibandingkan dengan Tendermint mungkin menawarkan “ketersediaan terlalu konsisten” – konsensus tidak memerlukan >⅔ kuorum hak suara – mungkin mengorbankan kecepatan komitmen atau kompleksitas implementasi. Protokol Interledger [14] tidak sepenuhnya merupakan solusi skalabilitas. Itu menyediakan interoperasi ad hoc antara buku besar yang berbeda sistem melalui jaringan hubungan bilateral yang digabungkan secara longgar. Seperti Lightning Network, tujuan ILP adalah untuk memfasilitasi pembayaran, namun secara khusus berfokus pada pembayaran yang berbeda-beda jenis buku besar, dan memperluas mekanisme transaksi atom ke tidak hanya mencakup hash-gembok, tetapi juga kuorum notaris (disebut Protokol Transportasi Atom). Mekanisme terakhir untuk menerapkan atomisitas dalam transaksi antar buku besar serupa dengan Mekanisme SPV klien ringan Tendermint, jadi ilustrasinya perbedaan antara ILP dan Cosmos/IBC dibenarkan, dan disediakan di bawah ini. 1. Notaris penghubung di ILP tidak mendukung keanggotaan perubahan, dan tidak memungkinkan adanya pembobotan yang signifikan di antara keduanya notaris. Di sisi lain, IBC dirancang khusus untuk blockchains, dimana validators dapat memiliki bobot yang berbeda, dan di mana keanggotaan dapat berubah seiring berjalannya waktu blockchain. 2. Seperti di Lightning Network, penerima pembayaran di ILP harus online untuk mengirim konfirmasi kembali ke pengirim. Di sebuahtoken transfer melalui IBC, set validator dari penerima blockchain bertanggung jawab untuk memberikan konfirmasi, bukan pengguna penerima. 3. Perbedaan yang paling mencolok adalah konektor ILP tidak bertanggung jawab atau menjaga otoritas mengenai pembayaran, sedangkan di Cosmos, validators dari sebuah hub adalah wewenang dari keadaan IBC token transfer serta kewenangannya jumlah tokens yang dimiliki oleh masing-masing zona (tetapi bukan jumlah tokens dipegang oleh setiap akun dalam suatu zona). Ini adalah inovasi mendasar yang memungkinkan asimetris aman perpindahan tokens dari zona ke zona; analog dengan ILP konektor di Cosmos bersifat persisten dan aman secara maksimal blockchain buku besar, Hub Cosmos. 4. Pembayaran antar buku besar di ILP perlu didukung oleh tukar buku pesanan, karena tidak ada transfer asimetris koin dari satu buku besar ke buku besar lainnya, hanya transfer nilai atau setara pasar. Sidechains [15] adalah mekanisme yang diusulkan untuk menskalakan Bitcoin jaringan melalui blockchain alternatif yang “dipatok dua arah”. Bitcoin blockchain. (Pegging dua arah setara dengan menjembatani. Dalam Cosmos kami mengatakan "menjembatani" untuk membedakan dari penetapan pasar). Sidechain memungkinkan bitcoin berpindah secara efektif dari Bitcoin blockchain ke rantai samping dan belakang, dan biarkan eksperimen dalam fitur-fitur baru di sidechain. Seperti di Cosmos Hub, sidechain, dan Bitcoin berfungsi sebagai klien ringan satu sama lain, menggunakan bukti SPV untuk menentukan kapan koin seharusnya dikeluarkan ditransfer ke sidechain dan kembali. Tentu saja, sejak Bitcoin menggunakan proof-of-work, rantai samping yang berpusat di sekitar Bitcoin menderita dari sekian banyak permasalahan dan resiko proof-of-work sebagai a mekanisme konsensus. Selain itu, ini adalah Bitcoin-maksimalis solusi yang tidak mendukung berbagai token dan

topologi jaringan antar zona seperti yang dilakukan Cosmos. Konon, intinya Mekanisme pasak dua arah pada prinsipnya sama dengan itu dipekerjakan oleh jaringan Cosmos. Ethereum saat ini sedang meneliti sejumlah strategi berbeda untuk membagi status Ethereum blockchain ke alamat kebutuhan skalabilitas. Upaya tersebut mempunyai tujuan untuk mempertahankan lapisan abstraksi yang ditawarkan oleh Mesin Virtual Ethereum saat ini melintasi ruang negara bersama. Berbagai upaya penelitian adalah sedang berlangsung saat ini. [18][22] Cosmos dan Ethereum 2.0 Mauve [22] memiliki tujuan desain yang berbeda. Cosmos khususnya tentang tokens. Mauve adalah tentang penskalaan perhitungan umum. Cosmos tidak terikat pada EVM, jadi VM yang berbeda pun bisa saling beroperasi. Cosmos memungkinkan pembuat zona menentukan siapa yang memvalidasi zona. Siapa pun dapat memulai zona baru di Cosmos (kecuali tata kelola memutuskan sebaliknya). Hub mengisolasi kegagalan zona sehingga ada invarian token global dilestarikan. Lightning Network adalah jaringan transfer token yang diusulkan beroperasi pada lapisan di atas Bitcoin blockchain (dan publik lainnya blockchains), memungkinkan peningkatan berkali-kali lipat dalam throughput transaksi dengan memindahkan sebagian besar transaksi di luar buku besar konsensus ke dalam apa yang disebut “saluran pembayaran”.Hal ini dimungkinkan oleh skrip mata uang kripto on-chain, yang memungkinkan para pihak untuk mengadakan kontrak negara bilateral di mana negara dapat diperbarui dengan berbagi tanda tangan digital, dan kontrak dapat ditutup dengan menerbitkan bukti secara tahunan ke blockchain, a mekanisme yang pertama kali dipopulerkan oleh pertukaran atom lintas rantai. Oleh membuka saluran pembayaran dengan banyak pihak, peserta Lightning Network dapat menjadi titik fokus untuk routing pembayaran pihak lain, yang mengarah ke saluran pembayaran yang terhubung sepenuhnya jaringan, dengan biaya modal yang terikat pada saluran pembayaran. Sedangkan Lightning Network juga dapat dengan mudah diperluas beberapa blockchain independen untuk memungkinkan transfer nilai melalui pasar pertukaran, tidak dapat digunakan secara asimetris transfer tokens dari satu blockchain ke yang lain. Manfaat utama dari jaringan Cosmos yang dijelaskan di sini adalah untuk mengaktifkan langsung tersebut token transfer. Meskipun demikian, kami mengharapkan saluran pembayaran dan Lightning Network menjadi diadopsi secara luas bersama dengan kami token mekanisme transfer, untuk alasan penghematan biaya dan privasi. Segregated Witness adalah tautan proposal perbaikan Bitcoin itu bertujuan untuk meningkatkan throughput transaksi per blok 2X atau 3X, sekaligus mempercepat sinkronisasi blok untuk node baru. Kecemerlangan solusi ini terletak pada cara kerjanya di dalam keterbatasan protokol Bitcoin saat ini dan memungkinkan adanya soft-fork upgrade (yaitu klien dengan versi perangkat lunak yang lebih lama akan terus berfungsi setelah peningkatan). Tendermint, menjadi yang baru protokol, tidak memiliki batasan desain, sehingga memiliki skala yang berbeda prioritas. Terutama, Tendermint menggunakan algoritma round-robin BFT berdasarkan tanda tangan kriptografi, bukan penambangan, yang mana secara sepele memungkinkan penskalaan horizontal melalui beberapa paralel blockchains, meskipun penerapan blok yang teratur dan lebih sering memungkinkan penskalaan vertikal juga.

Konsensus dan Detail Teknis

Protokol konsensus yang dirancang dengan baik dapat memberikan beberapa hal jaminan apabila kapasitas toleransi terlampaui dan konsensus gagal. Hal ini terutama diperlukan dalam bidang ekonomi sistem, di mana perilaku Bizantium dapat mempunyai dampak finansial yang besar hadiah. Jaminan yang paling penting tersebut adalah bentuk akuntabilitas, dimana proses-proses itu menimbulkan konsensus gagal (yaitu menyebabkan klien protokol menerima nilai yang berbeda - a garpu) dapat diidentifikasi dan dihukum sesuai dengan aturan protokol, atau, mungkin, sistem hukum. Ketika sistem hukumnya tidak dapat diandalkan atau terlalu mahal untuk digunakan, validator bisa jadi dipaksa untuk memberikan uang jaminan untuk berpartisipasi, dan itu simpanan dapat dicabut, atau dipotong, apabila terjadi perilaku jahat terdeteksi [10]. Perhatikan bahwa ini tidak seperti Bitcoin, di mana forking adalah kejadian biasa karena asinkronnya jaringan dan sifat probabilistik dari hasil pencarian tabrakan sebagian hash. Karena dalam banyak kasus ada garpu berbahaya tidak dapat dibedakan dari garpu karena asinkron, Bitcoin tidak bisa andal menerapkan akuntabilitas fork, selain yang implisit biaya peluang yang dibayarkan oleh penambang untuk menambang blok yatim piatu. Kami menyebut tahapan pemungutan suara PreVote dan PreCommit. Pemungutan suara bisa untuk blok tertentu atau untuk Nil. Kami menyebutnya kumpulan >⅔ PreVotes untuk satu blok di babak yang sama sebuah Polka, dan kumpulan >⅔ PreCommits untuk satu blok di putaran yang sama dengan Commit. Jika >⅔ PreCommit untuk Nil di babak yang sama, mereka melanjutkan ke babak berikutnya bulat. Perhatikan bahwa determinisme yang ketat dalam protokol menimbulkan kelemahan asumsi sinkronisasi sebagai pemimpin yang salah harus dideteksi dan

dilewati. Jadi, validators menunggu beberapa saat, TimeoutUsulkan, sebelum mereka Prevote Nil, dan nilai TimeoutPropose meningkat pada setiap putaran. Kemajuan melalui sisa putaran sepenuhnya tidak sinkron, hanya kemajuan yang ada dibuat setelah validator mendengar dari >⅔ jaringan. Dalam praktiknya, dibutuhkan musuh yang sangat kuat untuk menggagalkannya tanpa batas waktu asumsi sinkronisasi yang lemah (menyebabkan gagalnya konsensus pernah melakukan satu blok), dan hal itu dapat dilakukan lebih banyak lagi kesulitan dengan menggunakan nilai acak TimeoutPropose pada masing-masingnya validator. Serangkaian batasan tambahan, atau Aturan Penguncian, memastikan bahwa jaringan pada akhirnya akan melakukan hanya satu blok pada setiap ketinggian. Apa saja upaya jahat untuk menyebabkan lebih dari satu blok dilakukan pada ketinggian tertentu dapat diidentifikasi. Pertama, PreCommit untuk sebuah blok harus disertai justifikasi berupa Polka untuk blok tersebut. Jika validator telah melakukan PreCommit satu blok pada putaran R_1, kita mengatakan mereka dikunci di blok itu, dan Polka biasa membenarkannya PreCommit baru pada putaran R_2 harus terjadi pada putaran R_polka dimana R_1 < R_polka <= R_2. Kedua, validators harus Mengusulkan dan/atau melakukan PreVote pada blok tempat mereka dikunci. Bersama-sama, ini ketentuan memastikan bahwa validator tidak melakukan PreCommit tanpanya bukti yang cukup sebagai pembenaran, dan validators yang memiliki sudah PreCommit tidak dapat memberikan kontribusi bukti kepada PreCommit sesuatu yang lain. Hal ini menjamin keamanan dan keaktifan algoritma konsensus. Rincian lengkap protokol dijelaskan di sini. Kebutuhan untuk menyinkronkan semua header blok dihilangkan di TendermintPoS karena keberadaan rantai alternatif (garpu) berarti ≥⅓ dari pasak terikat dapat dipangkas. Tentu saja, karena pemotongan memerlukan bahwa seseorang berbagi bukti garpu, klien ringan harus menyimpannya setiap blok-hash melakukan apa yang dilihatnya. Selain itu, klien ringandapat tetap tersinkronisasi secara berkala dengan perubahan pada kumpulan validator, di untuk menghindari serangan jarak jauh (tetapi solusi lain bisa mungkin). Dengan semangat yang mirip dengan Ethereum, Tendermint memungkinkan aplikasi untuk sematkan akar Merkle global hash di setiap blok, sehingga mudah pertanyaan status yang dapat diverifikasi untuk hal-hal seperti saldo akun, nilainya disimpan dalam kontrak, atau adanya transaksi yang tidak terpakai keluarannya, tergantung pada sifat aplikasinya. Dengan asumsi kumpulan jaringan siaran cukup tangguh dan set validator statis, garpu apa pun di blockchain dapat berupa terdeteksi dan simpanan validator yang melanggar dipotong. Ini Inovasi yang pertama kali disarankan oleh Vitalik Buterin pada awal tahun 2014, berhasil memecahkan masalah tersebut masalah tidak ada yang dipertaruhkan dari proof-of-stake lainnya cryptocurrency (lihat Pekerjaan Terkait). Namun, sejak validator ditetapkan harus dapat berubah, dalam jangka waktu yang lama, yang asli validators semuanya dapat menjadi tidak terikat, dan karenanya akan bebas untuk terikat membuat rantai baru dari blok genesis, tanpa biaya mereka tidak lagi menyimpan simpanan. Serangan ini terjadi dikenal sebagai Long Range Attack (LRA), berbeda dengan Short Range Attack, dimana validator yang sedang terikat menyebabkan a garpu dan karenanya dapat dihukum (dengan asumsi BFT yang bertanggung jawab atas garpu algoritma seperti konsensus Tendermint). Serangan Jarak Jauh adalah sering dianggap sebagai pukulan telak bagi proof-of-stake. Untungnya, LRA dapat dimitigasi dengan cara berikut. Pertama, untuk a validator untuk melepas ikatan (sehingga memulihkan simpanan jaminan mereka dan tidak lagi mendapatkan bayaran untuk berpartisipasi dalam konsensus), itu deposit harus dibuat tidak dapat dipindahtangankan untuk jangka waktu tertentu dikenal sebagai “periode tidak terikat”, yang mungkin terjadi pada urutan minggu atau bulan. Kedua, agar klien ringan aman, pertama kali terhubung ke jaringan, ia harus memverifikasi blok terbaru-hash terhadap sumber terpercaya, atau sebaiknya beberapa sumber. Ini

kondisi ini kadang-kadang disebut sebagai “subjektivitas lemah”. Akhirnya, agar tetap aman, harus disinkronkan dengan validator terbaru yang disetel pada paling tidak sesering lamanya periode pelepasan ikatan. Ini memastikan bahwa klien ringan mengetahui tentang perubahan pada validator ditetapkan sebelum validator modalnya tidak terikat sehingga tidak lagi dipertaruhkan, yang memungkinkannya menipu klien dengan melakukan serangan jarak jauh dengan membuat blok baru dimulai dari a ketinggian tempat ia diikat (dengan asumsi ia memiliki kendali yang cukup banyak kunci pribadi awal). Perlu dicatat bahwa mengatasi LRA dengan cara ini memerlukan perombakan model keamanan asli proof-of-work. Di PoW, memang demikian diasumsikan bahwa klien ringan dapat melakukan sinkronisasi ke ketinggian saat ini dari blok genesis tepercaya kapan saja hanya dengan memproses bukti kerja di setiap header blok. Namun, untuk mengatasi LRA, kami mengharuskan klien ringan untuk online secara teratur lacak perubahan di set validator, dan itu untuk pertama kalinya saat online, mereka harus sangat berhati-hati dalam mengautentikasi apa yang mereka dengar dari jaringan terhadap sumber terpercaya. Dari Tentu saja, persyaratan terakhir ini mirip dengan Bitcoin, dimana protokol dan softwarenya juga harus didapat dari yang terpercaya sumber. Metode pencegahan LRA di atas sangat cocok untuk validators dan node penuh dari blockchain yang didukung Tendermint karena ini node dimaksudkan untuk tetap terhubung ke jaringan. Itu Metode ini juga cocok untuk klien ringan yang diharapkan dapat melakukannya sering melakukan sinkronisasi dengan jaringan. Namun, untuk klien ringan itu diharapkan tidak sering mengakses internet atau blockchain jaringan, solusi lain dapat digunakan untuk mengatasinya LRA. Pemegang non-validator token dapat memposting token mereka sebagai agunan dengan jangka waktu pelepasan ikatan yang sangat lama (misalnya lebih lama dari periode pelepasan ikatan selama validators) dan melayani klien ringan dengan metode sekunder untuk membuktikan validitas saat ini dan blok terakhir-hashes. Meskipun token ini tidak diperhitungkan demi keamanan konsensus blockchain, mereka tetap bisa melakukannyamemberikan jaminan yang kuat untuk klien ringan. Jika blok historis-hash kueri didukung di Ethereum, siapa pun dapat menyatukannya tokens dalam smart contract yang dirancang khusus dan disediakan layanan pengesahan dengan bayaran, yang secara efektif menciptakan pasar untuk keamanan LRA klien ringan. Karena definisi dari komitmen blok, setiap ≥⅓ koalisi dari hak suara dapat menghentikan blockchain dengan membuka zine atau tidak menyiarkan suara mereka. Koalisi seperti itu juga bisa melakukan sensor transaksi tertentu dengan menolak blok yang mencakup ini transaksi, meskipun hal ini akan menghasilkan proporsi yang signifikan proposal blok yang akan ditolak, yang akan memperlambat lajunya blok melakukan blockchain, mengurangi utilitas dan nilainya. Koalisi jahat mungkin juga menyiarkan suara secara perlahan untuk mengerjakan blockchain blok yang hampir dihentikan, atau terlibat kombinasi serangan ini. Pada akhirnya, hal ini dapat menyebabkan blockchain melakukan percabangan, dengan menandatangani dua kali atau melanggar penguncian aturan. Jika musuh yang aktif secara global juga terlibat, hal ini dapat terpecah jaringan sedemikian rupa sehingga mungkin tampak salah subset dari validators bertanggung jawab atas perlambatan ini. Ini tidak hanya batasan Tendermint, melainkan batasan semuanya protokol konsensus yang jaringannya berpotensi dikendalikan oleh musuh aktif. Untuk jenis serangan ini, subset dari validator seharusnya berkoordinasi melalui sarana eksternal untuk menandatangani proposal reorg itu memilih garpu (dan bukti apa pun daripadanya) dan bagian awal dari validators dengan tanda tangannya. Validator yang menandatangani proposal reorganisasi tersebut melepaskan jaminan mereka pada semua fork lainnya. Klien harus memverifikasi tanda tangan pada proposal reorg, memverifikasi bukti apa pun, dan membuat penilaian atau meminta pengguna akhir untuk mengambil keputusan. Untuk Misalnya, aplikasi dompet telepon mungkin meminta keamanan kepada pengguna

peringatan, sementara lemari es dapat menerima proposal reorg apa pun ditandatangani oleh +½ dari validator asli dengan hak suara. Tidak ada algoritma toleransi kesalahan Bizantium yang tidak sinkron untuk mencapai konsensus ketika ≥⅓ hak suara tidak jujur, namun merupakan sebuah fork berasumsi bahwa ≥⅓ hak suara telah dilakukan secara tidak jujur penandatanganan ganda atau pengubahan kunci tanpa alasan yang sah. Jadi, penandatanganan usulan reorg adalah masalah koordinasi yang tidak bisa dilakukan diselesaikan oleh protokol non-sinkron apa pun (yaitu secara otomatis, dan tanpa membuat asumsi tentang keandalannya jaringan yang mendasarinya). Untuk saat ini, kami menyerahkan masalah koordinasi reorganisasi proposal kepada koordinasi manusia melalui konsensus sosial di media internet. Validator harus berhati-hati untuk memastikan hal itu ada tidak ada partisi jaringan yang tersisa sebelum menandatangani proposal reorg, untuk menghindari situasi ketika dua proposal reorg yang saling bertentangan ditandatangani. Dengan asumsi bahwa media dan protokol koordinasi eksternal adalah kuat, maka fork tidak terlalu memprihatinkan dibandingkan sensor serangan. Selain garpu dan sensor, yang membutuhkan ≥⅓ Bizantium kekuatan suara, koalisi dengan >⅔ kekuatan suara dapat berkomitmen sewenang-wenang, keadaan tidak valid. Ini adalah karakteristik dari setiap (BFT) sistem konsensus. Berbeda dengan penandatanganan ganda yang menimbulkan percabangan dengan bukti yang mudah diverifikasi, mendeteksi komitmen suatu keadaan tidak valid memerlukan rekan yang tidak memvalidasi untuk memverifikasi seluruh blok, yang menyiratkan bahwa mereka menyimpan salinan lokal negara bagian dan mengeksekusinya setiap transaksi, menghitung root status secara independen diri mereka sendiri. Setelah terdeteksi, satu-satunya cara untuk menangani kegagalan tersebut adalah melalui konsensus sosial. Misalnya, dalam situasi di mana Bitcoin telah gagal, baik forking karena bug perangkat lunak (seperti pada bulan Maret 2013), atau melakukan status tidak sah karena perilaku Bizantium penambang (seperti pada Juli 2015), komunitas yang terhubung dengan baik bisnis, pengembang, penambang, dan organisasi lainnya menetapkan konsensus sosial mengenai tindakan manual apa yang dimaksuddibutuhkan oleh peserta untuk menyembuhkan jaringan. Terlebih lagi, sejak itu validators dari Tendermint blockchain mungkin diharapkan dapat diidentifikasi, komitmen negara yang tidak valid bahkan mungkin dapat dihukum oleh hukum atau yurisprudensi eksternal, jika diinginkan. ABCI terdiri dari 3 jenis pesan utama yang dikirimkan inti dari aplikasi tersebut. Aplikasi membalas dengan pesan respons yang sesuai. Pesan  AppendTx  adalah kerangka kerja aplikasi. Masing-masing transaksi di blockchain dikirimkan dengan pesan ini. Itu aplikasi perlu memvalidasi setiap transaksi yang diterima dengan Pesan AppendTx terhadap status saat ini, protokol aplikasi, dan kredensial kriptografi transaksi. Sebuah divalidasi transaksi kemudian perlu memperbarui status aplikasi — oleh mengikat suatu nilai ke dalam penyimpanan nilai kunci, atau dengan memperbarui UTXO basis data. Pesan  CheckTx  mirip dengan AppendTx, namun hanya untuk memvalidasi transaksi. Pemeriksaan mempool Tendermint Core pertama kali validitas transaksi dengan CheckTx, dan hanya relay yang valid transaksi ke rekan-rekannya. Aplikasi mungkin memeriksa peningkatan nonce dalam transaksi dan mengembalikan kesalahan pada CheckTx jika nonce sudah tua. Pesan  Commit  digunakan untuk menghitung kriptografi komitmen terhadap status aplikasi saat ini, untuk ditempatkan ke dalam header blok berikutnya. Ini memiliki beberapa properti berguna. Inkonsistensi dalam memperbarui status tersebut kini akan muncul sebagai blockchain fork yang menangkap seluruh kelas pemrograman kesalahan. Ini juga menyederhanakan pengembangan kelas ringan yang aman klien, sebagai bukti Merkle-hash dapat diverifikasi dengan melakukan pengecekan blok-hash, dan blok-hash ditandatangani oleh kuorum validators (berdasarkan hak suara).

Pesan ABCI tambahan memungkinkan aplikasi untuk melacaknya dan mengubah set validator, dan agar aplikasi menerima memblokir informasi, seperti tinggi dan suara komit. ABCI permintaan/tanggapan adalah pesan Protobuf sederhana. Periksa keluar skema yle. Argumen: Data ([]byte) : Byte transaksi permintaan Pengembalian: Kode (uint32) : Kode respons Data ([]byte) : Byte hasil, jika ada Log (string): Pesan debug atau error Penggunaan:

Tambahkan dan jalankan transaksi. Jika transaksinya sah, mengembalikan CodeType.OK Argumen: Data ([]byte) : Byte transaksi permintaan Pengembalian: Kode (uint32) : Kode respons Data ([]byte) : Byte hasil, jika ada Log (string): Pesan debug atau error Penggunaan:

Validasi transaksi. Pesan ini tidak boleh mengubah negara bagian. Transaksi pertama kali dijalankan melalui CheckTx sebelumnya disiarkan ke rekan-rekan di lapisan mempool. Anda bisa membuat CheckTx semi-stateful dan hapus status saat Komit atau BeginBlock , untuk memungkinkan urutan transaksi yang bergantung di blok yang sama.

Pengembalian: Data ([]byte): Akar Merkle hash Log (string): Pesan debug atau error Penggunaan:

Mengembalikan akar Merkle hash dari status aplikasi. Argumen: Data ([]byte) : Byte permintaan kueri Pengembalian: Kode (uint32) : Kode respons Data ([]byte) : Byte respons kueri Log (string): Pesan debug atau error Penggunaan:

Hapus antrian respons. Aplikasi yang mengimplementasikan jenis.Aplikasi tidak perlu mengimplementasikan pesan ini – itu ditangani oleh proyek tersebut. Pengembalian: Data ([]byte) : Byte info Penggunaan:

Kembalikan informasi tentang status aplikasi. Aplikasi spesifik. Argumen: Kunci (string) : Kunci untuk disetel

Nilai (string): Nilai yang akan ditetapkan untuk kunci Pengembalian: Log (string): Pesan debug atau error Penggunaan:

Tetapkan opsi aplikasi. Misalnya. Kunci=“mode”, Nilai=“mempool” untuk koneksi mempool, atau Key=“mode”, Value=“konsensus” untuk hubungan konsensus. Pilihan lainnya adalah aplikasi spesifik. Argumen: Validator ([]Validator) : Kejadian awal-validators Penggunaan:

Dipanggil sekali pada saat kejadian Argumen: Tinggi (uint64) : Tinggi balok yang dimulai Penggunaan:

Menandakan dimulainya blok baru. Dipanggil sebelum apa pun TambahkanTxs. Argumen: Tinggi (uint64) : Tinggi blok yang berakhir Pengembalian: Validator ([]Validator) : Mengubah validator dengan yang baru hak suara (0 untuk menghapus) Penggunaan:

Menandakan akhir dari sebuah blok. Bagaimanapun juga, dipanggil sebelum setiap Komit transaksi Lihat repositori ABCI untuk lebih jelasnya.Ada beberapa alasan mengapa pengirim mungkin menginginkannya pengakuan pengiriman paket oleh rantai penerima. Misalnya, pengirim mungkin tidak mengetahui statusnya rantai tujuan, jika diperkirakan salah. Atau, pengirimnya mungkin ingin menerapkan batas waktu pada paket (dengan metode  MaxHeight  paket yeld), sementara rantai tujuan mana pun mungkin mengalami serangan penolakan layanan dengan lonjakan jumlah pesan masuk secara tiba-tiba paket. Dalam kasus ini, pengirim dapat meminta pengakuan pengiriman dengan menyetel status paket awal ke  AckPending . Lalu, itu adalah tanggung jawab rantai penerima untuk mengonfirmasi pengiriman dengan menyertakan disingkat IBCPacket  di aplikasi Merkle hash. Pertama, IBCBlockCommit  dan  IBCPacketTx  diposting di “Hub” yang membuktikan keberadaan IBCPaket  di “Zona1”. Katakan itu  IBCPacketTx  memiliki nilai berikut: FromChainID : “Zona1” FromBlockHeight : 100 (katakanlah) Paket : sebuah IBCPaket :

Tajuk : dan IBCPacketHeader : SrcChainID : “Zona1” DstChainID : “Zona2” Nomor : 200 (katakanlah) Status : AckPending Ketik : “koin” MaxHeight : 350 (misalnya “Hub” saat ini berada pada ketinggian 300) Payload : Selanjutnya, IBCBlockCommit  dan  IBCPacketTx  diposting di “Zone2” yang membuktikan adanya IBCPacket  di “Hub”. Katakan itu  IBCPacketTx  memiliki nilai berikut: DariChainID : “Hub” DariBlockHeight : 300 Paket : sebuah IBCPaket : Tajuk : dan IBCPacketHeader : SrcChainID : “Zona1” DstChainID : “Zona2” Nomor : 200 Status : AckPending Ketik : “koin” Tinggi Maks: 350 Payload : Selanjutnya, “Zona2” harus menyertakan dalam aplikasinya-hash paket yang disingkat yang menunjukkan status baru  AckSent . Sebuah IBCBlockCommit  dan  IBCPacketTx  diposting kembali di “Hub” yang membuktikan keberadaannya dari singkatan IBCPacket  pada "Zona2". Ucapkan IBCPacketTx  mempunyai nilai sebagai berikut: FromChainID : “Zona2”

FromBlockHeight : 400 (katakanlah) Paket : sebuah IBCPaket : Tajuk : dan IBCPacketHeader : SrcChainID : “Zona1” DstChainID : “Zona2” Nomor : 200 Status : AckSent Ketik : “koin” Tinggi Maks: 350 PayloadHash : Terakhir, “Hub” harus memperbarui status paket dari  AckPending  ke  AckReceived . Bukti dari status ynalisasi baru ini harus kembali ke "Zona2". Katakanlah IBCPacketTx  memiliki yang berikut ini nilai: DariChainID : “Hub” DariBlockHeight : 301 Paket : sebuah IBCPaket : Tajuk : dan IBCPacketHeader : SrcChainID : “Zona1” DstChainID : “Zona2” Nomor : 200 Status : Diterima Ketik : “koin” Tinggi Maks: 350 PayloadHash : Sementara itu, “Zona 1” mungkin secara optimis memperkirakan keberhasilan pengiriman dari paket "koin" kecuali terbukti sebaliknya “Pusat”. Pada contoh di atas, jika “Hub” belum menerima  AckSent

status dari “Zona2” di blok 350, itu akan mengatur statusnya secara otomatis ke  Waktu Habis . Bukti batas waktu ini bisa didapat diposting kembali di “Zona1”, dan token apa pun dapat dikembalikan. Ada dua jenis Merkle tree yang didukung di Ekosistem Tendermint/Cosmos: Pohon Sederhana, dan IAVL+ Pohon. Pohon Sederhana adalah Merkle tree untuk daftar elemen statis. Jika jumlah item bukan pangkat dua, beberapa daun akan ada tingkat yang berbeda. Simple Tree mencoba menjaga kedua sisi pohon tetap sama tingginya sama, tapi yang kiri mungkin lebih besar. Merkle tree ini adalah digunakan untuk Merkle-ize transaksi suatu blok, dan tingkat atas elemen root status aplikasi.Tujuan dari struktur data IAVL+ adalah untuk menyediakan persisten penyimpanan untuk pasangan nilai kunci dalam status aplikasi sedemikian rupa sehingga a Akar Merkle deterministik hash dapat dihitung secara efisien. Itu pohon diseimbangkan menggunakan varian algoritma AVL, dan semuanya operasinya adalah O(log(n)). Dalam pohon AVL, tinggi dua subpohon anak dari setiap node berbeda paling banyak satu. Setiap kali kondisi ini dilanggar pada suatu diperbarui, pohon diseimbangkan kembali dengan membuat O(log(n)) node baru itu menunjuk ke simpul pohon tua yang tidak dimodifikasi. Dalam AVL asli algoritma, node dalam juga dapat menampung pasangan nilai kunci. AVL+ algoritma (perhatikan plusnya) memodifikasi algoritma AVL untuk menyimpan semuanya nilai pada node daun, sementara hanya menggunakan node cabang untuk menyimpan kunci. Ini menyederhanakan algoritma sambil menjaga jejak merkle hash pendek. Pohon AVL+ analog dengan percobaan Patricia Ethereum. Ada pengorbanan. Kunci tidak perlu hash sebelum dimasukkan Pohon IAVL+, sehingga memberikan iterasi terurut yang lebih cepat pada kunci ruang yang mungkin menguntungkan beberapa aplikasi. Logikanya lebih sederhana implementasi, hanya membutuhkan dua jenis node – node dalam dan simpul daun. Bukti Merkle rata-rata lebih pendek, yaitu a                 *                 / \               /     \             /         \           /             \          *              >         / \            //\        /   \           /   \       /     \         /     \      +     / \     / \    //\    h0  h1  h2  h3  h4  h5    Sebuah SimpleTree dengan 7 elemen

pohon biner seimbang. Di sisi lain, akar Merkle dari an Pohon IAVL+ bergantung pada urutan pembaruan. Kami akan mendukung Merkle tree tambahan yang efisien, seperti Patricia Trie Ethereum saat varian biner menjadi tersedia. Dalam implementasi kanonik, transaksi dialirkan ke Cosmos aplikasi hub melalui antarmuka ABCI. Hub Cosmos akan menerima sejumlah transaksi utama jenisnya, termasuk  SendTx ,  BondTx ,  UnbondTx ,  ReportHackTx ,  SlashTx, BurnAtomTx,ProposalCreateTx, dan `ProposalVoteTx, yang cukup jelas dan akan didokumentasikan dalam a revisi masa depan makalah ini. Di sini kami mendokumentasikan dua hal utama jenis transaksi untuk IBC:  IBCBlockCommitTx  dan  IBCPacketTx . Transaksi  IBCBlockCommitTx  terdiri dari: ChainID (string): ID blockchain BlockHash ([]byte) : Blok-hash byte, akar Merkle yang mencakup aplikasi-hash BlockPartsHeader (PartSetHeader) : Header kumpulan bagian blok byte, hanya diperlukan untuk memverifikasi tanda tangan suara BlockHeight (int) : Ketinggian penerapan BlockRound (int) : Putaran penerapan Commit ([]Vote): >⅔ Tendermint Precommit memberikan suara tersebut terdiri dari komit blok ValidatorsHash ([]byte) : Akar pohon Merkle hash yang baru validator disetel

ValidatorsHashProof (SimpleProof): SimpleTree Merkleproof untuk membuktikan ValidatorsHash terhadap BlockHash AppHash ([]byte) : Akar pohon Merkle IAVLTree hash dari keadaan aplikasi AppHashProof (SimpleProof): SimpleTree Merkle-proof untuk membuktikan AppHash terhadap BlockHash Sebuah IBCPaket  terdiri dari: Header (IBCPacketHeader) : Header paket Payload ([]byte) : Byte payload paket. Opsional PayloadHash ([]byte) : hash untuk byte paket. Opsional Salah satu dari  Payload  atau  PayloadHash  harus ada. hash dari IBCPacket  adalah akar Merkle sederhana dari dua item,  Header  dan  Muatan . Sebuah IBCPaket  tanpa muatan penuh disebut an paket yang disingkat.  IBCPacketHeader  terdiri dari: SrcChainID (string) : ID blockchain sumber DstChainID (string) : ID blockchain tujuan Nomor (int) : Nomor unik untuk semua paket Status (enum): Dapat berupa salah satu dari AckPending , AckSent , AckReceived , NoAck , atau Timeout Type (string) : Jenisnya bergantung pada aplikasi. Cosmos memesan jenis paket "koin". MaxHeight (int) : Jika statusnya bukan NoAckWanted atau AckReceived pada ketinggian ini, status menjadi Timeout . Opsional Transaksi  IBCPacketTx  terdiri dari:FromChainID (string) : ID dari blockchain yaitu menyediakan paket ini; belum tentu sumbernya FromBlockHeight (int) : Ketinggian blockchain di mana paket berikut disertakan (merkle-ized) di blok-hash dari rantai sumber Paket (IBCPaket) : Paket data, yang statusnya mungkin satu dari AckPending , AckSent , AckReceived , NoAck , atau Timeout PacketProof (IAVLProof): IAVLTree Merkle-proof untuk pembuktian hash paket terhadap AppHash dari rantai sumber di ketinggian tertentu Urutan pengiriman paket dari “Zone1” ke “Zone2” melalui "Hub" digambarkan pada {Gambar X}. Pertama, IBCPacketTx  membuktikan kepada "Hub" bahwa paket tersebut termasuk dalam status aplikasi “Zona 1”. Kemudian, IBCPacketTx  lainnya membuktikan kepada “Zona2” bahwa paket disertakan dalam status aplikasi "Hub". Selama ini prosedurnya, hasil IBCPacket  sama:  SrcChainID  adalah selalu “Zona1”, dan  DstChainID  selalu "Zona2".  PacketProof  harus memiliki jalur anti Merkle yang benar, misalnya berikut: Ketika “Zone1” ingin mengirim paket ke “Zone2” melalui “Hub”, data IBCPacket  tetap identik, baik paket tersebut Merkleisasi di “Zone1”, “Hub”, atau “Zone2”. Satu-satunya teriakan yang bisa berubah adalah  Status  untuk melacak pengiriman. Kami berterima kasih kepada teman-teman dan rekan-rekan kami atas bantuannya dalam membuat konsep, meninjau, dan memberikan dukungan untuk pekerjaan kami dengan Tendermint dan Cosmos. IBC///

Zaki Manian dari SkuChain memberikan banyak bantuan dalam pemformatan dan kata-katanya, terutama di bawah bagian ABCI Jehan Tremback dari Althea dan Dustin Byington atas bantuannya iterasi awal Andrew Miller dari Honey Badger atas masukan mengenai konsensus Greg Slepak atas umpan balik mengenai konsensus dan penyusunan kata-kata Juga terima kasih kepada Bill Gleim dan Seunghwan Han untuk berbagai hal kontribusi. Nama dan organisasi Anda di sini atas kontribusi Anda 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 Nol Tunai: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 Saksi Terpisah: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Jaringan Petir: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 permen lembut: https://github.com/tendermint/tendermint/wiki 9 Ketidakmungkinan FLP: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 Pemotong: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 PBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 BitShare: https://bitshares.org/technology/delegatedproof-of-stake-consensus/

13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 Buku Besar: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 Rantai Samping: https://blockstream.com/sidechains.pdf 16Kasper: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum Pembagian: https://github.com/ethereum/EIPs/issues/53 19LibSwift: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalysisOfLibswift.pdf 20 DLS: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 Keamanan Klien Tipis: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 Kertas Ungu Muda: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html

³ ya

Pertanyaan yang Sering Diajukan

Apa itu whitepaper Cosmos?
Whitepaper Cosmos, berjudul 'Cosmos: A Network of Distributed Ledgers,' diterbitkan pada tahun 2016. Whitepaper ini menggambarkan Internet of Blockchains — jaringan blockchain independen yang dapat beroperasi secara interoperabel, terhubung melalui protokol Inter-Blockchain Communication (IBC).
Siapa yang menulis whitepaper Cosmos dan kapan?
Whitepaper Cosmos ditulis oleh Jae Kwon dan Ethan Buchman pada tahun 2016. Jae Kwon juga menciptakan Tendermint BFT, mesin konsensus yang menggerakkan ekosistem Cosmos.
Apa inovasi teknis inti Cosmos?
Cosmos memperkenalkan dua inovasi utama: Tendermint BFT (kini CometBFT) — mesin konsensus yang cepat dan memberikan finalitas — serta protokol Inter-Blockchain Communication (IBC), yang memungkinkan transfer lintas rantai tanpa kepercayaan antara blockchain yang berdaulat.
Bagaimana mekanisme konsensus Cosmos bekerja?
Rantai Cosmos menggunakan CometBFT (Tendermint), mesin konsensus Byzantine fault-tolerant. Validator bergiliran mengusulkan blok, dan blok difinalisasi ketika dua pertiga validator menandatangani pre-commit. Finalitas dicapai dalam ~6 detik.
Apa perbedaan Cosmos dengan Polkadot?
Cosmos menekankan kedaulatan — setiap rantai memiliki validator dan keamanannya sendiri. Polkadot menyediakan keamanan bersama dari relay chain. Rantai Cosmos berkomunikasi melalui IBC (protokol permissionless), sementara Polkadot menggunakan relay chain untuk pesan lintas rantai.
Bagaimana model pasokan Cosmos?
ATOM memiliki pasokan inflasi yang menargetkan partisipasi staking 67%. Inflasi berkisar dari 7% (jika >67% di-stake) hingga 20% (jika <67% di-stake) untuk mendorong staking. Biaya transaksi didistribusikan ke staker dan validator.
Apa kegunaan utama Cosmos?
Cosmos mendukung blockchain khusus aplikasi. Rantai besar yang dibangun dengan Cosmos SDK mencakup Osmosis (DEX), Celestia (ketersediaan data), dYdX (perpetual), Injective (DeFi), Stride (liquid staking), dan Cosmos Hub itu sendiri.
Masalah apa yang dipecahkan Cosmos?
Cosmos memecahkan interoperabilitas blockchain dan kedaulatan. Cosmos memungkinkan proyek meluncurkan blockchain mereka sendiri dengan tata kelola, tokenomics, dan aturan konsensus kustom, sekaligus mempertahankan kemampuan berkomunikasi dan mentransfer aset lintas rantai melalui IBC.
Bagaimana model keamanan Cosmos bekerja?
Setiap rantai Cosmos memiliki set validator sendiri yang mengamankannya secara independen. Interchain Security (ICS) memungkinkan rantai yang lebih kecil untuk menyewa keamanan dari validator Cosmos Hub. Transfer IBC diamankan oleh verifikasi light client di kedua rantai.
Bagaimana kondisi ekosistem Cosmos saat ini?
Ekosistem Cosmos mencakup lebih dari 50 rantai yang terhubung via IBC, dengan ratusan juta dalam transfer lintas rantai setiap harinya. Perkembangan utama meliputi Interchain Security, Cosmos SDK v0.50+, dan adopsi protokol IBC yang terus tumbuh di luar ekosistem Cosmos.