Cosmos: Dağıtılmış Defterlerden Oluşan Bir Ağ
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.

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.
giriiş
Açık kaynak ekosisteminin birleşik başarısı, merkezi olmayan yle paylaşımı ve halka açık kripto para birimleri merkezi olmayan internet protokollerinin olduğu anlayışına ilham verdi Sosyo-ekonomik altyapının radikal bir şekilde iyileştirilmesi için kullanılabilir. Bitcoin [1] gibi özel blockchain uygulamalar gördük (a kripto para birimi), Zerocash [2] (gizlilik için bir kripto para birimi) ve Ethereum [3] gibi genelleştirilmiş smart contract platformları, Etherium Virtual için sayısız dağıtılmış uygulama Augur (tahmin piyasası) ve TheDAO gibi makine (EVM) [4] (bir yatırım kulübü). Ancak bugüne kadar bu blockchain'lar çok sayıda sorunla karşı karşıya kaldı Brüt enerji verimsizliği, zayıf veya sınırlı performans ve olgunlaşmamış yönetişim mekanizmaları. Bitcoin adlı kişinin işlem hacmini ölçeklendirmeye yönelik teklifler, örneğin Ayrılmış Tanık [5] ve BitcoinNG [6], dikey ölçeklendirmedir tek bir fiziksel kapasiteyle sınırlı kalan çözümler Tam denetlenebilirlik özelliğini sağlamak için makine. Lightning Network [7], Bitcoin işleminin ölçeklendirilmesine yardımcı olabilir
bazı işlemleri defterin tamamen dışında bırakarak hacim, ve mikro ödemeler ve gizliliğin korunması için çok uygundur ödeme rayları, ancak daha genelleştirilmiş ödeme rayları için uygun olmayabilir ölçeklendirme ihtiyaçları. İdeal bir çözüm, birden fazla paralel blockchain'nin birbirine bağlanmasına izin veren çözümdür. güvenlik özelliklerini korurken birlikte çalışabilirler. Bu var proof-of-work ile imkansız olmasa da zor olduğu kanıtlanmıştır. Birleştirilmiş örneğin madencilik, bir ebeveynin güvenliğini sağlamak için yapılan işin yapılmasına olanak tanır zincirin bir alt zincirde yeniden kullanılması gerekir, ancak işlemlerin yine de olması gerekir sırasıyla her düğüm tarafından doğrulanır ve birleştirme madenciliği yapılır blockchain hashing gücünün çoğunluğunun üzerinde olması durumunda saldırıya karşı savunmasızdır ebeveyn çocuğu aktif olarak birleştirme madenciliği yapmıyor. Akademik bir inceleme alternatif blockchain ağ mimarilerinin sayısı sağlanmıştır ek bağlam ve diğer tekliflerin özetlerini sunuyoruz ve İlgili Çalışmalardaki dezavantajları. Burada yeni bir blockchain ağ mimarisi olan Cosmos'yi sunuyoruz bu, tüm bu sorunları giderir. Cosmos birçok kişiden oluşan bir ağdır bağımsız blockchain'ler, bölgeler olarak adlandırılır. Bölgeler tarafından desteklenmektedir Yüksek performans sağlayan Tendermint Core [8], tutarlı, güvenli PBFT benzeri konsensüs motoru; burada kötü niyetli davranışların kontrol altında tutulması için katı bir hesap verebilirlik garanti edilir aktörler. Tendermint Core'un BFT fikir birliği algoritması çok uygundur genel proof-of-stake blockchains'yi ölçeklendirmek için. Cosmos üzerindeki ilk bölgeye Cosmos Hub adı verilir. Cosmos Hub, basit bir yapıya sahip çok varlıklı bir proof-of-stake kripto para birimidir. Ağın uyum sağlamasını ve uyum sağlamasını sağlayan yönetişim mekanizması yükseltme. Ayrıca Cosmos Hub şu kadar genişletilebilir: diğer bölgeleri birbirine bağlamak. Cosmos ağının hub'ları ve bölgeleri aşağıdakilerle iletişim kurar: blockchain arası iletişim (IBC) protokolü aracılığıyla birbirlerine, blockchains için bir tür sanal UDP veya TCP. Jetonlar olabilir bir bölgeden diğerine güvenli ve hızlı bir şekilde aktarılırbölgeler arasında döviz likiditesine ihtiyaç duymadan. Bunun yerine, tüm bölgeler arası token aktarımlar Cosmos Hub'dan geçer; her bölgenin tuttuğu toplam tokens miktarını takip eder. hub, her bölgeyi diğer bölgelerin arızasından izole eder. Çünkü herkes Cosmos Hub'a yeni bir bölge bağlayabilir, bölgeler buna izin verir yeni blockchain yeniliklerle geleceğe yönelik uyumluluk için. Bu bölümde Tendermint konsensüs protokolünü açıklıyoruz ve onunla uygulamalar oluşturmak için kullanılan arayüz. Daha fazlası için ayrıntılar için eke bakın. Klasik Bizans hataya dayanıklı (BFT) algoritmalarında her düğüm aynı ağırlığa sahiptir. Tendermint'te düğümlerin negatif olmayan bir değeri vardır. oylama gücü miktarı ve olumlu oy kullanan düğümler güçlere validators denir. Doğrulayıcılar katılıyor kriptografik imzalar yayınlayarak fikir birliği protokolü veya bir sonraki blok üzerinde anlaşmaya varmak için oy kullandı. Doğrulayıcıların oy verme yetkileri başlangıçta belirlenir veya bağlı olarak blockchain tarafından deterministik olarak değiştirildi uygulama. Örneğin, aşağıdaki gibi bir proof-of-stake uygulamasında Cosmos Merkezde, oylama gücü şu şekilde belirlenebilir: staking tokens miktarı teminat olarak teminat altına alındı. NOT: ⅔ ve ⅓ gibi kesirler toplam oyların kesirlerini ifade eder güç, tüm validator'ler olmadıkça asla validator'lerin toplam sayısı eşit ağırlığa sahip. >⅔ “⅔'den fazla”, ≥⅓ “en az” anlamına gelir ⅓”. Tendermint kısmen senkronize bir BFT konsensüs protokolüdür DLS konsensüs algoritmasından türetilmiştir [20]. Nane:
basitliği, performansı ve çatal sorumluluğuyla dikkat çekiyor. Protokol, yxed bilinen bir validator kümesi gerektirir; burada her biri validator ortak anahtarıyla tanımlanır. Doğrulayıcılar şunları yapmaya çalışır: Bir bloğun bir liste olduğu her seferinde bir blok üzerinde fikir birliğine varmak işlemler. Blok üzerinde fikir birliği için oylama sürüyor mermi. Her turun bir tur lideri veya teklif sahibi vardır. bir blok öneriyor. validator'ler daha sonra aşamalı olarak oy verirler. Önerilen bloğu kabul etmek veya bir sonraki tura geçmek için. Bir tur için öneride bulunan kişi, sıralananlar arasından deterministik olarak seçilir. oylama güçleriyle orantılı olarak validator'lerin listesi. Protokolün tüm ayrıntıları burada açıklanmaktadır. Tendermint'in güvenliği optimal Bizans kullanımından kaynaklanmaktadır. Süper çoğunluk (>⅔) oylama ve kilitleme yoluyla hata toleransı mekanizma. Birlikte şunları sağlarlar: ≥⅓ ihlale neden olabilmesi için oylama gücünün Bizans olması gerekir ikiden fazla değerin taahhüt edildiği güvenlik. herhangi bir validator kümesi güvenliği ihlal etmeyi başarırsa veya hatta bunu yapmaya kalkışırlarsa protokol tarafından tanımlanabilirler. Bu hem blokların birleştirilmesi hem de yayın için oylamayı içerir haksız oylar Güçlü garantilerine rağmen Tendermint olağanüstü çözümler sunuyor performans. 7'ye dağıtılmış 64 düğümden oluşan kıyaslamalarda 5 kıtadaki veri merkezleri, emtia bulutu örnekleri, Tendermint konsensüs başına binlerce işlemi işleyebilir ikincisi, bir ila iki saniyelik taahhüt gecikmeleriyle. Özellikle, başına binin üzerinde işlem performansı ikincisi zorlu düşmanlık koşullarında bile korunur; validators çöküyor veya kötü niyetle hazırlanmış oylar yayınlıyor. Bkz. ayrıntılar için aşağıdaki resme bakın.

Tendermint'in fikir birliği algoritmasının önemli bir avantajı basitleştirilmiştir hafif istemci güvenliği, onu mobil ve mobil cihazlar için ideal bir aday haline getiriyor Nesnelerin interneti kullanım örnekleri. Bitcoin hafif istemcinin senkronize edilmesi gerekirken blok başlık zincirleri ve en fazla kanıta sahip olanı bulun Tendermint hafif istemcilerinin yalnızca değişikliklere ayak uydurması gerekir validator kümesine gidin ve ardından >⅔ Ön Taahhütleri doğrulayın. En son durumu belirlemek için en son blok. Kısa ve öz hafif istemci provaları aynı zamanda inter-blockchain'yi de etkinleştirir iletişim. Tendermint'in belirli durumları önlemek için koruyucu önlemleri vardır. Uzun menzilli, tehlikede olmayan çifte harcamalar gibi dikkate değer saldırılar ve sansür. Bunlar ekte daha ayrıntılı olarak tartışılmaktadır.Tendermint fikir birliği algoritması, Tendermint Core adlı program. Tendermint Core bir herhangi bir şeyi dönüştürebilen, uygulamadan bağımsız “fikir birliği motoru” deterministik kara kutu uygulamasını dağıtılmış olarak çoğaltılmış bir uygulamaya dönüştürün blockchain. Tendermint Core blockchain uygulamaya bağlanır Uygulama Blok Zinciri Arayüzü aracılığıyla (ABCI) [17]. Böylece, ABCI blockchain uygulamaların herhangi bir biçimde programlanmasına olanak tanır dil, yalnızca fikir birliğine varılan programlama dili değil motora yazılmıştır. Ek olarak ABCI bunu kolayca mümkün kılar mevcut herhangi bir blockchain yığınının fikir birliği katmanını değiştirin. Tanınmış kripto para birimi Bitcoin ile bir benzetme yapıyoruz. Bitcoin her düğümün koruduğu bir blockchain kripto para birimidir tamamen denetlenmiş Harcanmamış İşlem Çıkışı (UTXO) veritabanı. Eğer ABCI üzerine Bitcoin benzeri bir sistem oluşturmak isteniyordu, Tendermint Core şunlardan sorumlu olacak: Düğümler arasında blokları ve işlemleri paylaşma Kanonik/değişmez bir işlem sırası oluşturmak ( blockchain) Bu arada, ABCI uygulaması şunlardan sorumlu olacaktır: UTXO veritabanının bakımı İşlemlerin kriptografik imzalarını doğrulama İşlemlerin var olmayan fonları harcamasını önleme İstemcilerin UTXO veritabanını sorgulamasına izin veriliyor Tendermint, blockchain tasarımını şu şekilde ayrıştırabilir: başvuru süreci arasında çok basit bir API sunuyor ve fikir birliği süreci.
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”,

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.
Cosmos Mimarlık
Cosmos bağımsız paralel blockchain'lerden oluşan bir ağdır ve bunlar her biri klasik BFT fikir birliği algoritmaları tarafından desteklenmektedir: İhale 1. Bu ağdaki ilk blockchain, Cosmos Hub olacaktır. Cosmos Hub, diğer birçok blockchains'ye (veya bölgeye) bir ağ aracılığıyla bağlanır. yeni inter-blockchain iletişim protokolü. Cosmos Merkezi çok sayıda token türünü izler ve toplamın kaydını tutar bağlı her bölgedeki tokens sayısı. Jetonlar olabilir bir bölgeden diğerine güvenli ve hızlı bir şekilde aktarılır bölgeler arasında sıvı değişimine gerek kalmadan, çünkü hepsi bölgeler arası para transferleri Cosmos Hub üzerinden yapılır. Bu mimari, blockchain alanının karşılaştığı birçok sorunu çözmektedir. Uygulamaların birlikte çalışabilirliği, ölçeklenebilirliği ve kesintisiz yükseltilebilirlik. Örneğin, Bitcoind'den türetilen bölgeler, Go-Ethereum, CryptoNote, ZCash veya herhangi bir blockchain sistemi şunları yapabilir: Cosmos Hub'a takılmalıdır. Bu bölgeler Cosmos'nin şunları yapmasına izin verir: Küresel işlem talebini karşılamak için sonsuz ölçeklenebilirlik. Bölgeler aynı zamanda olarak desteklenecek olan dağıtılmış bir değişim için harika bir yt peki. Cosmos yalnızca tek bir dağıtılmış defter değildir ve Cosmos Hub duvarlarla çevrili bir bahçe ya da evrenin merkezi değil. Biz dağıtılmış defterlerden oluşan açık bir ağ için bir protokol tasarlamak gelecekteki finansal sistemler için yeni bir temel görevi görebilecek, Kriptografi ilkelerine, sağlam ekonomiye, fikir birliğine dayalı teori, şeffaflık ve hesap verebilirlik. Cosmos Hub, Cosmos bölgesindeki ilk genel blockchain merkezidir. Ağ, Tendermint'in BFT fikir birliği algoritması tarafından desteklenmektedir. Tendermint açık kaynak projesi 2014 yılında bu sorunu çözmek için doğdu. Bitcoin'nin çalışma kanıtı fikir birliği algoritmasının hızı, ölçeklenebilirliği ve çevresel sorunları. Kanıtlanmış olanı kullanarak ve geliştirerek
BFT MIT'de 1988'de geliştirilen algoritmalar [20], Tendermint ekip kavramsal olarak proof-of-stake'yi sergileyen ilk ekip oldu tehlikede olmayan hiçbir şey sorununu çözen kripto para birimi ilk nesil proof-of-stake kripto para birimlerinin sıkıntısını çekti NXT ve BitShares1.0 olarak. Bugün neredeyse tüm Bitcoin mobil cüzdanlar güvenilir sunucuları kullanıyor. onlara işlem doğrulaması sağlayın. Bunun nedeni, iş kanıtının bir onaydan önce birçok onayın beklenmesini gerektirmesidir. işlemin geri dönülemez şekilde taahhüt edildiği kabul edilebilir. Doublespend saldırıları halihazırda aşağıdaki gibi hizmetlerde gösterilmiştir: CoinBase. Diğer blockchain fikir birliği sistemlerinden farklı olarak Tendermint şunları sunar: anında ve kanıtlanabilir şekilde güvenli mobil müşteri ödeme doğrulaması. Tendermint hiçbir zaman çatallanmayacak şekilde tasarlandığından, mobil cüzdanlar anında işlem onayı alabilir, bu da Güvenilir ve pratik ödemeler akıllı telefonlarda gerçek oluyor. Bu Nesnelerin İnterneti uygulamaları için önemli sonuçlar doğurmaktadır. peki. Cosmos içindeki doğrulayıcılar, Bitcoin madencilerine benzer bir role sahiptir, ancak bunun yerine oy vermek için kriptografik imzaları kullanın. Doğrulayıcılar taahhüt etmekten sorumlu güvenli, özel makineler bloklar. validator olmayanlar staking token'leri devredebilir (çağrılır) Blok ücretlerinin ve atomun bir kısmını kazanmak için herhangi bir validator'ye "atomlar") ödüller, ancak cezalandırılma (kesilme) riskiyle karşı karşıya kalırlar; validator numaralı delege saldırıya uğradı veya protokolü ihlal etti. Kanıtlanmış Tendermint BFT konsensusunun güvenlik garantileri ve teminatlar paydaşların depozitosu–validators ve delegeler–sağlar Düğümler ve hafif istemciler için kanıtlanabilir, ölçülebilir güvenlik. Dağıtılmış kamu defterlerinin bir anayasası ve yönetim sistemi. Bitcoin, Bitcoin Vakfına güveniyor veyükseltmeleri koordine etmek için madencilik yapın, ancak bu yavaş bir süreçtir. Ethereum, adrese zorlanmanın ardından ETH ve ETC'ye bölündü DAO hacklenmesinin nedeni büyük ölçüde önceden bir toplumsal sözleşmenin olmamasıydı ne de bu tür kararları almaya yönelik mekanizma. Cosmos Merkezindeki doğrulayıcılar ve yetki verenler oy verebilir sistemin önceden ayarlanmış parametrelerini değiştirebilecek öneriler otomatik olarak (blok gaz limiti gibi), yükseltmeleri koordine edin insanların okuyabileceği anayasada yapılacak değişikliklere oy vermek Cosmos Hub'ın politikalarını yöneten. Anayasa gibi konularda paydaşlar arasında uyum sağlar. hırsızlık ve hatalar (TheDAO olayı gibi), daha hızlı ve daha temiz çözünürlük. Her bölgenin kendi anayasası ve yönetimi de olabilir mekanizması da. Örneğin, Cosmos Hub'ın bir özelliği olabilir Merkezde değişmezliği zorunlu kılan anayasa (geri alma yok, Cosmos Hub düğümü uygulamasının hataları için tasarruf edin), her bölge geri alma işlemleriyle ilgili kendi politikalarını belirleyebilir. Farklı politika alanları arasında birlikte çalışabilirliği sağlayarak, Cosmos ağı, kullanıcılarına en üst düzeyde özgürlük ve potansiyel sunar. izinsiz deneme. Burada yeni bir ademi merkeziyet ve ölçeklenebilirlik modelini tanımlıyoruz. Cosmos, birçok blockchain'den oluşan bir ağdır. Nane. Mevcut teklifler “tek bir blockchain” toplam küresel işlem sıralamasıyla birlikte, Cosmos birçok blockchain'nin birbiriyle eşzamanlı çalışmasına izin verir birlikte çalışabilirliği korurken. Temelde Cosmos Hub birçok bağımsız yönetimi yönetiyor blockchains "bölgeler" olarak adlandırılır (bazen "parçalar" olarak da anılır), "parçalama" olarak bilinen veritabanı ölçeklendirme tekniğine referans.
Yayınlanan bölgelerden gelen son blok işlemlerinin sürekli akışı Hub, Hub'ın her bölgenin durumunu takip etmesine olanak tanır. Benzer şekilde, her bölge Hub'ın durumuna ayak uydurur (ancak bölgeler aracılığıyla dolaylı olarak birbirinizi takip etmeyin. Merkez). Bilgi paketleri daha sonra birinden iletilir. Merkle-kanıtlarını kanıt olarak yayınlayarak bölgeden diğerine geçin. Bilgiler gönderildi ve alındı. Bu mekanizmaya denir inter-blockchain iletişim veya kısaca IBC. Bölgelerden herhangi biri döngüsel olmayan bir grafik oluşturmak için merkez olabilir, ancak netlik sağlamak amacıyla yalnızca basit olanı tanımlayacağız. Yalnızca bir hub'ın ve birçok hub'ın olmadığı yapılandırma bölgeler. Cosmos Hub, çoklu varlıkları barındıran bir blockchain'dır token'lerin bireysel kullanıcılar tarafından tutulabileceği dağıtılmış defter veya bölgelerin kendileri tarafından. Bu token'ler bir bölgeden taşınabilir diğerine "bozuk para paketi" adı verilen özel bir IBC paketinde. Merkez toplamın küresel değişmezliğini korumaktan sorumludur bölgeler genelinde her token miktarı. IBC bozuk para paketi işlemler gönderen, hub ve alıcı tarafından gerçekleştirilmelidir blockchains.Cosmos Merkez, tüm hesap için merkezi defter görevi gördüğü için Sistemde Hub'ın güvenliği büyük önem taşımaktadır. iken her bölge şu şekilde güvence altına alınan bir Tendermint blockchain olabilir: 4 kadar az (veya BFT fikir birliğine ihtiyaç duyulmuyorsa daha da az), Hub küresel olarak merkezi olmayan bir validator kümesi tarafından güvence altına alınmalıdır; gibi en şiddetli saldırı senaryolarına dayanabilir. kıtasal ağ bölünmesi veya ulus devlet destekli bir saldırı. Cosmos bölgesi, IBC alışverişini yapan bağımsız bir blockchain bölgesidir Hub ile mesajlar. Merkezin bakış açısına göre bir bölge bir çok varlıklı dinamik üyelikli çoklu imza hesabı IBC paketleri kullanarak tokens gönderip alabilir. Bir gibi kripto para birimi hesabı, bir bölge şu sayıdan daha fazla tokens aktaramaz sahiptir, ancak bunlara sahip olan diğer kişilerden token alabilir. Bir bölge bir veya daha fazla token türünün "kaynağı" olarak belirtilebilir, ona token arzını doldurma gücü veriyor. Cosmos Hub'ın atomları bir bölgenin validator'leri tarafından desteklenebilir Hub'a bağlı. Bu bölgelere çift harcama saldırıları yapılırken oylama gücünün >⅔'ünün olduğu bir bölge olan Tendermint'in hesap verebilirliği ile atomların parçalanmasıyla sonuçlanacaktır Bizans geçersiz durumu taahhüt edebilir. Cosmos Hub çalışmıyor diğer bölgelerde gerçekleştirilen işlemleri doğrulayın veya yürütün; güvendikleri bölgelere token'ler gönderme sorumluluğu kullanıcıların sorumluluğundadır. Gelecekte Cosmos Hub'ın yönetim sistemi Hub'ı geçebilir Bölge arızalarını hesaba katan iyileştirme önerileri. için örneğin, bazı (veya tüm) bölgelerden giden token aktarımlar Bölgelerin acil devre kesilmesine izin vermek için kısılabilir (token aktarımların geçici olarak durdurulması) bir saldırı algılandığında. Şimdi Hub ve bölgelerin birbiriyle nasıl iletişim kurduğuna bakıyoruz diğer. Örneğin, üç adet blockchains varsa, "Bölge1", "Bölge2",

ve “Hub” ve "Bölge1"in hedeflenen bir paket üretmesini diliyoruz. “Hub”tan geçen “Bölge2” için. Bir paketi birinden taşımak için blockchain diğerine, alıcı zincirine bir kanıt gönderilir. Kanıt, gönderen zincirin bir paket yayınladığını belirtir. iddia edilen varış noktası Alıcı zincirin bu kanıtı kontrol etmesi için gönderenin blok başlıklarını takip edebilmelidir. Bu mekanizma, yan zincirler tarafından kullanılan mekanizmaya benzer; Birbiriyle etkileşim halinde olan iki zincirin birbirinden haberdar olması varoluş kanıtı datagramlarının çift yönlü akışı (işlemler). IBC protokolü doğal olarak iki tür kullanılarak tanımlanabilir. işlemler: izin veren bir IBCBlockCommitTx işlemi blockchain herhangi bir gözlemciye en son bloğunun hash olduğunu kanıtlamak için, ve bir IBCPacketTx işlemi; bu, blockchain işleminin yapılmasına olanak tanır. herhangi bir gözlemciye verilen paketin gerçekten yayınlandığını kanıtlayın gönderenin başvurusuyla, Merkle-kanıtı aracılığıyla en son blok-hash. IBC mekaniğini iki ayrı işleme bölerek, Alıcı zincirin yerel ücret piyasası mekanizmasının hangi paketlerin işleneceğini (yani onaylanacağını) belirlerken, Gönderim zincirinde bunun nasıl yapılacağı konusunda tam bir özgürlük sağlanması birçok giden pakete izin verilir. Yukarıdaki örnekte, "Zone1"in-hash bloğunu güncellemek için “Hub”da (veya “Zone2”deki “Hub”da), bir IBCBlockCommitTxişlem “Hub” üzerinde hash bloğuyla yayınlanmalıdır. “Bölge1” (veya “Hub”ın hash bloğuyla "Bölge2" üzerinde). Daha fazla bilgi için IBCBlockCommitTx ve IBCPacketTx'e bakın. iki IBC işlem türünde. Aynı şekilde Bitcoin dağıtılmış olduğundan daha güvenlidir, toplu kopyalanmış defter sayesinde borsaları daha az savunmasız hale getirebiliriz blockchain üzerinde çalıştırarak harici ve dahili saldırıları gerçekleştirebilirsiniz. Biz buna dağıtılmış değişim diyoruz. Kripto para topluluğunun merkezi olmayan yapı olarak adlandırdığı şey Bugünkü borsalar “atomik çapraz zincir” (AXC) işlemleri adı verilen bir şeye dayanıyor. Bir AXC işlemiyle iki kullanıcı iki farklı zincir iki transfer işlemi yapabilir her iki defterde birlikte işlenir veya hiç yapılmaz (ör. atomik olarak). Örneğin, iki kullanıcı bitcoinleri eterle takas edebilir (veya AXC işlemlerini kullanarak iki farklı defterdeki herhangi iki tokens, Bitcoin ve Ethereum her birine bağlı olmasa da diğer. AXC işlemlerinde borsa çalıştırmanın faydası kullanıcıların birbirlerine veya ticari eşleştirmeye güvenmesine gerek yok hizmet. Dezavantajı ise her iki tarafın da çevrimiçi olması gerekmesidir. gerçekleşecek olan ticarettir. Merkezi olmayan değişimin bir başka türü de kitlesel olarak kopyalanan borsalardır. kendi başına çalışan dağıtılmış borsa blockchain. Kullanıcılar bu tür borsalar limit emri verebilir ve emirlerini çevirebilirler. bilgisayar kapalıdır ve işlem kullanıcı olmadan yürütülebilir çevrimiçi. blockchain eşleşir ve takası onun adına tamamlar tüccarın.
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.
Uygulamalar
Merkezi bir borsa, derin bir limit emir defteri oluşturabilir siparişler verir ve böylece daha fazla tüccar çeker. Likidite daha fazlasını doğurur Borsa dünyasında likidite ve dolayısıyla güçlü bir ağ var takasta etkisi (veya en azından kazananın çoğunu alması etkisi) iş. Bugünün kripto para borsalarının mevcut lideri Poloniex 24 saatlik hacimle 20 milyon dolar ile ikinci sırada yer alıyor. Bitynex'in 24 saatlik hacmi 5 milyon dolar. Bu kadar güçlü bir ağ göz önüne alındığında AXC tabanlı merkezi olmayan borsaların Merkezi borsalarda hacim kazanma. Merkezi olmayan bir sistem için Merkezi bir borsayla rekabet edebilmek için borsanın derin emir defterlerini limitli emirlerle desteklemek. Yalnızca dağıtılmış blockchain üzerindeki değişim bunu sağlayabilir. Tendermint, daha hızlı işlem yapmanın ek faydalarını sağlar taahhüt eder. Ödün vermeden hızlı üretime öncelik vererek tutarlılık sayesinde Cosmos içindeki bölgeler işlemleri hızlı bir şekilde analiz edebilir; hem takas emri işlemleri hem de IBC token transferleri ve diğer bölgelerden. Kripto para borsalarının bugünkü durumu göz önüne alındığında, büyük bir Cosmos başvurusu dağıtılmış borsadır (diğer adıyla Cosmos DEX). İşlem çıkış kapasitesi ve taahhüt gecikmesi merkezileştirilmiş olanlarla karşılaştırılabilir olabilir borsalar. Yatırımcılar gerçekleştirilebilecek limitli emirler gönderebilirler her iki tarafın da çevrimiçi olmasına gerek kalmadan. Ve Tendermint ile, Cosmos merkezi ve IBC ile yatırımcılar fonları içeri ve dışarı taşıyabilirler hızlı bir şekilde diğer bölgelere gidiş-dönüş alışverişi. Ayrıcalıklı bir bölge, köprülenmiş bir token kaynağı olarak hareket edebilir başka bir kripto para birimi. Köprü ilişkiye benzer Cosmos hub ve bölge arasında; her ikisi de buna ayak uydurmalı tokens'nin sahip olduğu kanıtları doğrulamak için diğerinin en son blokları birinden diğerine taşındı. Cosmos üzerinde bir "köprü bölgesi" ağ hem Hub'a hem de diğerine ayak uydurur
kripto para birimi. Köprü bölgesi üzerinden yönlendirme, Hub'ın mantığının basit kalması ve diğerlerine göre agnostik olması blockchain Bitcoin'nın proof-of-work gibi fikir birliği stratejileri madencilik. Her köprü bölgesi validator Tendermint destekli bir sistem çalıştıracaktır. blockchain özel bir ABCI köprü uygulamasına ve aynı zamanda tam düğüme sahip “köken” blockchain. Başlangıç noktasında yeni bloklar çıkarıldığında köprü bölgesi validators imzalayarak taahhüt edilen bloklar üzerinde anlaşmaya varacak ve kaynağın blockchain ile ilgili yerel görüşlerini paylaşıyorlar ipucu. Bir köprü bölgesi başlangıç noktasında ödeme aldığında (ve davada yeterli onayın görüldüğü konusunda anlaşmaya varıldı Ethereum veya Bitcoin gibi bir PoW zincirinin), karşılık gelen Bu bakiye ile köprü bölgesinde hesap oluşturulur. Ethereum durumunda köprü bölgesi aynısını paylaşabilir validator--Cosmos Hub olarak ayarlandı. Ethereum tarafında ( Origin), bir köprü sözleşmesi, Ether sahiplerinin Ether göndermesine izin verecek tarihinde köprü sözleşmesine göndererek köprü bölgesine Ethereum. Köprü sözleşmesiyle eter alındıktan sonra, Uygun bir IBC paketi sağlanmadıkça eter geri çekilemez köprü sözleşmesiyle köprü bölgesinden alındı. köprü sözleşmesi köprü bölgesinin validator kümesini izler; Cosmos Hub'ın validator-setiyle aynı olabilir. Bitcoin durumunda kavram benzerdir ancak bunun yerine tek bir köprü sözleşmesi, her UTXO bir kişi tarafından kontrol edilecektir. eşik çoklu imza P2SH yayını. Sınırlamalar nedeniyle P2SH sisteminde imzalayanlar Cosmos ile aynı olamaz Hub validator-set.Köprü bölgesindeki eter ("köprülü eter") şuraya aktarılabilir: ve Hub'dan ve daha sonra bir işlemle yok edilmesi Ethereum adresindeki belirli bir para çekme adresine gönderir. Bir IBC İşlemin köprü bölgesinde gerçekleştiğini kanıtlayan paket etere izin vermek için Ethereum köprü sözleşmesine gönderilebilir geri çekilmek. Bitcoin durumunda, kısıtlı komut dosyası sistemi bunu yapar IBC para transfer mekanizmasını yansıtmak zor. Her biri UTXO kendi bağımsız yayın metni vardır, dolayısıyla her UTXO kümesinde bir değişiklik olduğunda yeni bir UTXO'ye taşındı Bitcoin emanet imzalayanlar. Çözümlerden biri sıkıştırmak ve toplam sayıyı korumak için UTXO-setinin sıkıştırmasını gerektiği kadar açın UTXOs'den fazlası kapatıldı. Böyle bir köprüleme sözleşmesinin riski hileli bir validator kümesidir. ≥⅓ Bizans'ın oy verme gücü eterin çekilmesine neden olabilir Ethereum üzerindeki köprü sözleşmesinden, köprüyü köprü bölgesinde tutarken. Daha da kötüsü, Bizans'ın oylama gücü >⅔ Eteri köprü sözleşmesine gönderenlerden doğrudan çalmak köprü bölgesinin orijinal köprüleme mantığından saparak. Köprüyü uygun şekilde tasarlayarak bu sorunları çözmek mümkündür. tamamen sorumlu. Örneğin, hub'dan gelen tüm IBC paketleri ve menşei, köprü bölgesi tarafından onaylanmayı gerektirebilir öyle ki köprü bölgesinin tüm durum geçişleri merkez ya da menşe tarafından verimli bir şekilde sorgulanmış ve doğrulanmıştır köprü sözleşmesi. Hub ve menşe, validators köprü bölgesinin teminat göndermesine ve token'nin merkezden transfer yapmasına izin vermelidir. Köprü sözleşmesi ertelenmeli (ve teminatların çözülmesi yeterince uzun bir süre) herhangi bir zorluğun üstesinden gelinmesine izin vermek için bağımsız denetçiler. Şartnamenin tasarımını bırakıyoruz ve bu sistemin uygulanması gelecekte açık olacak Cosmos
iyileştirme teklifi, Cosmos Merkez tarafından onaylanacak yönetim sistemi. Ölçekleme sorununu çözmek Ethereum için açık bir konudur. Şu anda Ethereum düğüm her bir işlemi işliyor ve ayrıca tüm durumları saklar. bağlantı. Tendermint, blokları Ethereum'den çok daha hızlı işleyebildiğinden proof-of-work, EVM bölgeleri Tendermint konsensusu tarafından desteklenmektedir ve köprülü eter üzerinde çalışmak daha yüksek performans sağlayabilir Ethereum blockchains. Ayrıca, Cosmos Hub ve IBC paket mekaniği keyfi sözleşme mantığına izin vermez kendi başına yürütme, token hareketleri koordine etmek için kullanılabilir farklı bölgelerde çalışan Ethereum sözleşmeler arasında, token merkezli Ethereum ölçeklendirme için bir temel sağlar parçalama. Cosmos bölgeleri, şu saatte tanımlanan rastgele uygulama mantığını çalıştırır: bölgenin yaşamının başlangıcıdır ve potansiyel olarak güncellenebilir zamanla yönetim tarafından Bu esneklik, Cosmos bölgelerinin Ethereum gibi diğer kripto para birimlerine köprü görevi görür veya Bitcoin ve aynı zamanda bu blockchain'lerin türevlerine de izin verir, aynı kod tabanını kullanıyor ancak farklı bir validator kümesiyle ve ilk dağıtım. Bu, mevcut birçok kripto para biriminin Ethereum, Zerocash, Bitcoin gibi çerçeveler, Tendermint Core ile kullanılacak CryptoNote vb. ortak bir ağ üzerinde daha yüksek performanslı bir fikir birliği motoru, arasında birlikte çalışabilirlik için muazzam bir fırsat yaratıyor platformlar. Ayrıca, çoklu varlık blockchain olarak tek bir işlem birden fazla girdi ve çıktı içerebilir; burada her biri giriş herhangi bir token türünde olabilir; bu, Cosmos öğesinin doğrudan şu şekilde hizmet vermesini sağlar: emirlerin varsayılmasına rağmen merkezi olmayan değişim için bir platformdiğer platformlar aracılığıyla eşleştirilecek. Alternatif olarak bir bölge hizmet verebilir Dağıtılmış, hataya dayanıklı bir borsa olarak (sipariş defterleri ile), mevcut merkezi sisteme göre kesin bir gelişme olabilir zamanla saldırıya uğrama eğiliminde olan kripto para borsaları. Bölgeler ayrıca kurumsal işletmenin blockchain destekli sürümleri olarak da hizmet verebilir ve belirli bir hizmetin parçalarının bulunduğu hükümet sistemleri geleneksel olarak bir kuruluş veya kuruluşlar grubu tarafından yönetilir bunun yerine belirli bir bölgede ABCI uygulaması olarak çalıştırılır; Kamunun güvenliğini ve birlikte çalışabilirliğini devralmasına izin verir Temeldeki kontrolden ödün vermeden Cosmos ağı hizmet. Dolayısıyla Cosmos her iki dünyanın da en iyisini sunabilir blockchain teknolojisini kullanmak isteyen ancak Kontrolü tamamen dağıtılmış bir üçüncüye bırakma konusunda ihtiyatlı davranın parti. Bazıları tutarlılığı tercih etmenin büyük bir sorun olduğunu iddia ediyor Tendermint gibi fikir birliği algoritmaları, herhangi bir ağın
⅔ ile tek bir bölümün olmamasına neden olan bölüm oylama gücü (örneğin ≥⅓ fanzinden çıkmak) fikir birliğini tamamen durduracaktır. Cosmos mimarisi, aşağıdakileri kullanarak bu sorunun azaltılmasına yardımcı olabilir: oy verme yetkisinin olduğu bölgesel özerk bölgelere sahip küresel bir merkez her bölge için ortak bir coğrafi temele göre dağıtılır bölge. Örneğin, ortak bir paradigma bireysel olabilir. şehirleri veya bölgeleri paylaşırken kendi bölgelerini işletmek ortak merkez (ör. Cosmos Merkez), belediye faaliyetlerinin hub'ın geçici bir ağ nedeniyle durması durumunda devam etmesi bölüm. Bunun gerçek jeolojik, politik ve Sağlam tasarımda dikkate alınması gereken ağ topolojik özellikleri Birleşik hataya dayanıklı sistemler.
NameCoin bu sorunu çözmeye çalışan ilk blockchain'lardan biriydi. Bitcoin blockchain uyarlanarak ad çözümleme sorunu. Ne yazık ki bu yaklaşımla ilgili çeşitli sorunlar yaşandı. Namecoin ile örneğin @satoshi'nin olduğunu doğrulayabiliriz. Geçmişte bir noktada belirli bir genel anahtarla kayıtlı olan, ancak genel anahtarın o zamandan beri kullanılıp kullanılmadığını bilemiyoruz. sonuncusundan bu yana tüm blokları indirmediğimiz sürece yakın zamanda güncellendi bu ismin güncellenmesi. Bunun nedeni Bitcoin'nin sınırlamasıdır UTXO işlem Merkleleştirme modeli; burada yalnızca işlemler (ancak değiştirilebilir uygulama durumu değil) Merkle'lidir hash bloğuna. Bu, bir ismin daha sonraki güncellemelerinin var olmadığını değil, varlığını kanıtlamamızı sağlar. Bu nedenle bunu bilemeyiz tam olarak güvenmeden bir ismin en son değerini kesin olarak belirlemek indirerek bant genişliğinde önemli maliyetlere neden olmak tamamı blockchain. NameCoin'de Merkle'li bir arama ağacı uygulanmış olsa bile, proof-of-work bağımlılığı, hafif istemci doğrulamasını sağlar sorunlu. Light istemcilerin tam bir kopyasını indirmeleri gerekir. blockchain'un tamamındaki tüm bloklar için başlıklar (veya en azından bir ismin son güncellemesinden bu yana başlıklar). Bu şu anlama gelir: bant genişliği gereksinimleri zaman miktarıyla doğrusal olarak ölçeklenir [21]. Ayrıca proof-of-work blockchain numaralı telefondaki ad değişiklikleri ek proof-of-work onaylama bloklarının beklenmesini gerektirir, Bitcoin tarihinde bu işlem bir saate kadar sürebilir. Tendermint ile ihtiyacımız olan tek şey en son blok-hash validators'lik bir çoğunluk (oy gücüne göre) ve bir Merkle tarafından imzalandı isimle ilişkili mevcut değerin kanıtı. Bu onu yapar kısa ve öz, hızlı ve güvenli bir ışık istemcisine sahip olmak mümkün ad değerlerinin doğrulanması. Cosmos'de bu konsepti alıp daha da genişletebiliriz. Her biri Cosmos içindeki ad kayıt bölgesi, ".com" veya ".org" gibi ilişkili bir üst düzey alan (TLD) adına sahip olabilir ve her ad-
kayıt bölgesinin kendi yönetimi ve kaydı olabilir kurallar.
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.
Yönetişim ve Ekonomi
Cosmos Hub çok varlıklı dağıtılmış bir defter olsa da, atom adı verilen özel bir yerli token. Atomlar tek staking Cosmos Hub'ın token. Atomlar, sahibine ait bir lisanstır. oy verin, doğrulayın veya diğer validator'lere yetki verin. Ethereum gibi eter, atomlar aynı zamanda işlem ücretlerini ödemek için de kullanılabilir spam'ı azaltın. Ek şişirici atomlar ve blok işlemi ücretler validator'lere ve yetki veren delegelere ödüllendirilir validators. BurnAtomTx işlemi herhangi bir veriyi kurtarmak için kullanılabilir. rezerv havuzundan orantılı miktarda tokens. tokens ve validators atomunun Genesis'teki ilk dağılımı Cosmos Bağış Kampanyasının bağışçılarına (%75), lider bağışçılara gidecek (%5), Cosmos Network Foundation (%10) ve ALL IN BITS, Inc. (%10). Oluşumdan itibaren toplam atom miktarının 1/3'ü her yıl kefil validator'lere ve delegelere ödüllendirilecektir. Ek ayrıntılar için Cosmos Plana bakın. Bitcoin veya diğer proof-of-work blockchain'lerden farklı olarak, bir Tendermint Artan hız nedeniyle blockchain daha fazla validator ile yavaşlıyor iletişim karmaşıklığı. Neyse ki yeterince destek verebiliyoruz validators, küresel olarak sağlam bir şekilde dağıtılmış blockchain oluşturmak için çok hızlı işlem onaylama süreleriyle ve bant genişliği olarak,
depolama ve paralel bilgi işlem kapasitesi artışları sayesinde şunları yapabileceğiz: gelecekte daha fazla validator desteklemek için. Yaratılış gününde maksimum validators sayısı şu şekilde ayarlanacak: 100, bu sayı 10 yıl boyunca %13 oranında artacak, 300 validators'ye yerleşti. Henüz atom sahibi olmayanlar şu tarihe kadar validators olabilirler. bir BondTx işleminin imzalanması ve gönderilmesi. miktarı Teminat olarak sağlanan atomların sıfırdan farklı olması gerekir. Herkes olabilir Geçerli boyutun boyutu dışında herhangi bir zamanda validator validator kümesi maksimum validators sayısından daha büyük izin verildi. Bu durumda işlem ancak tutarı kadar geçerli olur. atomları, tutulan etkin atomların miktarından daha fazladır. en küçük validator; burada etkin atomlar, devredilen atomları içerir. Yeni bir validator mevcut bir validator öğesinin yerini bu şekilde aldığında, mevcut validator devre dışı kalır ve tüm atomlar ve delege edilen atomlar bağlanmamış duruma girer. validators'ye herhangi bir ceza uygulanması gerekir. yaptırımlardan kasıtlı veya kasıtsız sapma protokol. Bazı deliller derhal kabul edilebilir. aynı yükseklikte ve yuvarlakta çift işaret veya kuralların ihlali Yıl 0: 100 Yıl 1: 113 2. Yıl: 127 Yıl 3: 144 4. Yıl: 163 Yıl 5: 184 Yıl 6: 208 Yıl 7: 235 Yıl 8: 265 Yıl 9: 300 Yıl 10: 300 ...
"kilidi önceden oyla" (Tendermint konsensüs protokolünün bir kuralı). Bu tür kanıtlar validator'nin iyi itibarını kaybetmesine neden olacaktır ve bağlı atomlarının yanı sıra tokens'nin orantılı payı topluca "hissesi" olarak adlandırılan rezerv havuzu kesilecek. Bazen bölgesel nedenlerden dolayı validators kullanılamayabilir ağ kesintileri, elektrik kesintisi veya diğer nedenler. Eğer herhangi bir zamanda geçmiş ValidatorTimeoutWindow bloklarındaki bir nokta, bir validator taahhüt oyu blockchain sayısından fazlasına dahil edilmedi ValidatorTimeoutMaxAbsent kez, bu validator olur etkin değil ve ValidatorTimeoutPenalty'yi (VARSAYILAN %1) kaybedersiniz hisse. Bazı “kötü niyetli” davranışlar açıkça fark edilebilir sonuçlar doğurmaz blockchain ile ilgili kanıt. Bu durumlarda validators şunları yapabilir: Bu kötü amaçlı yazılımların zaman aşımını zorlamak için bant dışı koordinasyonu sağlayın validators, eğer çoğunlukta bir fikir birliği varsa. Cosmos Merkezin ≥⅓ koalisyon nedeniyle durduğu durumlarda Oy gücünün tükenmesi veya ≥⅓ koalisyonun olduğu durumlarda oy verme yetkisinin kötü niyetli davranışlara dair kanıtlarını sansürlemek blockchain'ye girildiğinde hub'ın hard fork ile kurtarılması gerekir yeniden düzenleme teklifi. (“Çatallar ve Sansür Saldırıları”na bağlantı). Cosmos Hub validator'ler herhangi bir token türünü veya kombinasyonunu kabul edebilir Bir işlemin işlenmesine ilişkin ücretler gibi türler. Her validator şunları yapabilir: istediği döviz kurunu öznel olarak belirler ve seçer BlockGasLimit olduğu sürece istediği işlemler ne olursa olsun aşılmadı. Toplanan ücretlerden aşağıda belirtilen vergiler düşüldükten sonra, bağlı hissedarlara orantılı olarak yeniden dağıtılır. bağlı atomları, her ValidatorPayoutPeriod (VARSAYILAN 1 saat).Toplanan işlem ücretlerinden ReserveTax (VARSAYILAN %2) rezerv havuzunu arttırmak için rezerv havuzuna gidin ve Cosmos ağının güvenliğini ve değerini artırın. Bunlar fonlar da kararlara uygun olarak dağıtılabilir yönetim sistemi tarafından yapılmıştır. Oy verme yetkisini diğer validator'lere devreden atom sahipleri Yetki verilen validator'ye komisyon ödeyin. Komisyon şunları yapabilir: her validator tarafından ayarlanabilir. Cosmos Hub'ın güvenliği, temel validators ve yetki verenlerin yetki seçimi. Bulunanların keşfedilmesini ve erken raporlanmasını teşvik etmek amacıyla Cosmos Hub, bilgisayar korsanlarını güvenlik açıklarını yayınlamaya teşvik ediyor "Bu, validator saldırıya uğradı. Lütfen bu adrese ödül gönderin”. üzerine böyle bir istismar durumunda validator ve yetki verenler pasif hale gelecektir, Herkesin atomlarının HackPunishmentRatio (varsayılan %5'i) alınacak kesildi ve herkesin atomlarının HackRewardRatio'su (varsayılan %5) hackerın ödül adresine ödüllendirilecek. validator kalan atomları yedek anahtarlarını kullanarak kurtarmaları gerekir. Bu özelliğin kötüye kullanılmasını önlemek için aktarıma yatırımsız atomlar, yatırımsız atomlara karşı yatırımsız atomların kısmı validator'ler ve delegeler ReportHackTx'ten önce ve sonra aynı kalacak ve hacker ödülü bazı varsa, yatırımsız atomlar. Cosmos Hub, dağıtılmış bir kuruluş tarafından işletilmektedir. iyi tasarlanmış bir yönetim mekanizmasına ihtiyaç duymaktadır. değişken gibi blockchain'deki çeşitli değişiklikleri koordine edin
sistem parametrelerinin yanı sıra yazılım yükseltmeleri ve anayasa değişiklikleri. Tüm validator'ler tüm tekliflere oy vermekten sorumludur. başarısız Bir teklife zamanında oy vermek validator ile sonuçlanacaktır adı verilen bir süre boyunca otomatik olarak devre dışı bırakılır. Devamsızlık Cezası Süresi (VARSAYILAN 1 hafta). Delege edenler, delege edilenlerin oylarını otomatik olarak devralır validator. Bu oy manuel olarak geçersiz kılınabilir. Bağlanmamış atomlar oy alamamak Her teklif için MinimumProposalDeposit tutarında bir depozito gerekir tokens; bir veya daha fazla tokens'nin birleşimi olabilir atomlar dahil. Seçmenler her öneri için oy kullanabilirler. depozito. Seçmenlerin yarısından fazlası seçime girerse depozito (ör. teklifin spam olması nedeniyle), depozito şu adrese gider: yakılan atomlar hariç yedek havuz. Her öneri için seçmenler aşağıdaki seçeneklerle oy kullanabilir: Evet EvetWithForce Hayır NayWithForce Çekimser Evet veya YeaWithForce oylarının tam çoğunluğu (veya Hayır veya Teklifin şu şekilde karara bağlanması için NayWithForce oyu gereklidir) geçti (veya başarısız olduğuna karar verildi), ancak 1/3+ çoğunluğu veto edebilir “zorla” oy kullanarak karar verir. Kesin çoğunluk veto edildiğinde, herkes VetoPenaltyFeeBlocks'u kaybederek cezalandırılır (VARSAYILAN 1 günlük blok değerinde) tutarında ücret (vergiler hariç) etkilenmeyecektir) ve çoğunluğu veto eden taraf
karar ayrıca VetoPenaltyAtoms'un kaybedilmesiyle cezalandırılacaktır (VARSAYILAN %0,1) atomlarının. Burada tanımlanan parametrelerden herhangi biri değiştirilebilir. bir ParameterChangeProposal'ın iletilmesi. Atomlar şişirilebilir ve havuz fonları harcanabilir. Bir Ödül Teklifinin kabul edilmesi. Protokolün yükseltilmesi teklifi gibi diğer tüm teklifler, genel TextProposal aracılığıyla koordine edilecektir. Plana bakınız. blockchain fikir birliğinde birçok yenilik oldu ve Son birkaç yılda ölçeklenebilirlik. Bu bölüm kısa bir bilgi sağlar seçilmiş sayıda önemli olanın araştırılması. Kötü niyetli katılımcıların varlığında fikir birliği bir sorundur Leslie Lamport'un icat ettiği 1980'lerin başlarına kadar uzanıyor. "Bizans hatası" ifadesi, keyfi süreç davranışını ifade eder. “Çarpışma hatasının” aksine, amaçlanan davranıştan saparsa, burada bir süreç basitçe çöküyor. Erken çözümler keşfedildi bir üst sınırın olduğu senkronize ağlar içinmesaj gecikmesi, ancak pratik kullanım oldukça sınırlıydı uçak kontrolörleri gibi kontrollü ortamlar ve veri merkezleri atom saatleri aracılığıyla senkronize edilir. O zamana kadar değildi 90'ların sonlarında Pratik Bizans Hata Toleransının (PBFT) [11] olduğu Verimli, kısmen senkronize bir fikir birliği olarak tanıtıldı algoritma, davranan süreçlerin ⅓'üne kadar tolere edebilir keyfi olarak. PBFT standart algoritma haline geldi ve birçok kapsamında IBM tarafından en son oluşturulanlar da dahil olmak üzere varyasyonlar Hyperledger'a katkıları. PBFT üzerinde Tendermint fikir birliğinin ana avantajı şudur: Tendermint geliştirilmiş ve basitleştirilmiş bir temel yapıya sahiptir, bunlardan bazıları blockchain paradigmasını benimsemenin bir sonucudur. Tendermint blokları sırayla işlenmelidir, bu da PBFT ile ilişkili karmaşıklık ve iletişim ek yükü görünüm değişiklikleri. Cosmos ve birçok kripto para biriminde N bloğu olduğunda i >= 1'in işleme alınması için N+i bloğuna izin verilmesi gerekir kendisi henüz taahhütte bulunmadı. N bloğunun nedeni bant genişliği ise Cosmos bölgesinde taahhütte bulunmadıysa, kullanılmasına yardımcı olmaz N+i blokları için bant genişliği paylaşımı oyları. Bir ağ bölümü veya N bloğunun taahhüt edilmemesinin nedeni ofzine düğümleridir, o zaman N+i yine de taahhütte bulunmayacağım. Ayrıca işlemlerin bloklar halinde gruplandırılması, yerine uygulama durumunun düzenli Merkle-hashing'lenmesi PBFT'nın kontrol noktası şemasındaki gibi periyodik özetler. Bu izin verir hafif istemciler için daha hızlı kanıtlanabilir işlem taahhütleri ve daha hızlı blockchain arası iletişim. Tendermint Core ayrıca birçok optimizasyon ve özellik içerir PBFT'de belirtilenlerin ötesine geçen. Örneğin, validators tarafından önerilen bloklar Merkle'li parçalara bölünmüştür, ve yayıncılığı iyileştirecek şekilde dedikodu yapıldı performansı (ilham için bkz. LibSwift [19]). Ayrıca, Tendermint Core noktadan noktaya herhangi bir varsayımda bulunmaz
P2P ağı açık olduğu sürece bağlantı ve işlevler zayıf bağlantılı. proof-of-stake (PoS), BitShares1.0 [12] dağıtımını yapan ilk yıl olmasa da PoS'un araştırılmasına ve benimsenmesine önemli ölçüde katkıda bulundu blockchains, özellikle "yetkilendirilmiş" PoS olarak bilinenler. içinde BitShares, paydaşlar siparişten sorumlu "tanıkları" seçer işlemleri gerçekleştiren ve yürüten "temsilciler" yazılım güncellemelerini ve parametre değişikliklerini koordine etmek. BitShares2.0 yüksek performansa ulaşmayı hedefliyor (100k tx/s, 1s gecikme) ideal koşullarda, her bloğun tek bir kişi tarafından imzalandığı imzalayan kişi ve işlem bütünlüğü, imzalayandan biraz daha uzun sürüyor blok aralığı. Kanonik bir spesifikasyon halen geliştirilme aşamasındadır. Paydaşlar, uygunsuz davranan tanıkları bir platformda kaldırabilir veya değiştirebilir. günlük olarak, ancak önemli bir tanık veya tanık teminatı yoktur. Tendermint PoS benzeri delegeler kesildi Başarılı bir çift harcama saldırısı durumunda. Ripple'ın öncülüğünü yaptığı bir yaklaşımı temel alan Stellar [13], Federe Bizans Anlaşması modeli burada süreçler fikir birliğine katılmak yxed ve küresel bir anlaşma oluşturmaz bilinen küme. Bunun yerine, her süreç düğümü bir veya daha fazlasını seçer Her biri bir dizi güvenilir süreçten oluşan “çekirdek dilimleri”. bir Stellar içindeki “yesayı”nın, aşağıdakileri içeren bir düğüm kümesi olduğu tanımlanmaktadır: kümedeki her düğüm için en az bir yetersayı dilimi, öyle ki anlaşmaya varılabilir. Stellar mekanizmasının güvenliği şu varsayıma dayanır: herhangi iki yeter sayının kesişiminin boş olmadığı, ancak Bir düğümün kullanılabilirliği, çekirdek dilimlerinden en az birinin tamamen doğru düğümlerden oluşur ve bunlar arasında bir değiş-tokuş yaratır. Dengelenmesi zor olabilecek büyük veya küçük çekirdek dilimlerinin kullanılması Güvenle ilgili önemli varsayımlar empoze etmeden. Sonuçta,düğümlerin bir şekilde yeterli çekirdek dilimlerini seçmesi gerekir yeterli hata toleransı (veya herhangi bir "sağlam düğüm" olması, makalenin sonuçlarının çoğu buna bağlıdır) ve tek böyle bir yapılandırmanın hiyerarşik olmasını sağlamak için sağlanan strateji ve internetteki üst düzey ISP'ler tarafından küresel yönlendirme tabloları oluşturmak için kullanılan Sınır Ağ Geçidi Protokolüne (BGP) benzer ve TLS sertifikalarını yönetmek için tarayıcılar tarafından kullanılanlar; ikisi de meşhur güvensizlikleri için. Tendermint tabanlı hisse kanıtı sistemlerine ilişkin Stellar belgesindeki eleştiri, açıklanan token stratejisiyle hafifletildi burada atom adı verilen yeni bir token türü yayınlanır; ücret ve ödüllerin gelecekteki kısımlarına ilişkin talepleri temsil eder. Tendermint tabanlı proof-of-stake'nin avantajı görecelidir basitlik, aynı zamanda yeterli ve kanıtlanabilir güvenlik sağlarken garanti eder. BitcoinNG, Bitcoin için önerilen ve aşağıdakilere izin verecek bir iyileştirmedir: blok boyutunun arttırılması gibi dikey ölçeklenebilirlik biçimleri için, tipik olarak ilişkili olumsuz ekonomik sonuçlar olmadan orantısız derecede büyük etki gibi bir değişiklikle küçük madencilerde. Bu iyileştirme, ayrıştırılarak elde edilir. işlem yayınından lider seçimi: liderler ilk sırada proof-of-work tarafından "mikro bloklar" halinde seçildi ve ardından yeni bir mikro bloğa kadar gerçekleştirilecek yayın işlemleri Bulundu. Bu, gerekli bant genişliği gereksinimlerini azaltır. PoW yarışını kazanarak küçük madencilerin daha adil bir şekilde rekabet edebilmesini sağlayın, ve işlemlerin daha düzenli yapılmasına olanak sağlanması Mikro bloğu bulan son madenci. Casper [16] önerilen bir proof-of-stake fikir birliği algoritmasıdır. Ethereum. Başlıca çalışma şekli “bahse dayalı fikir birliği”dir. Tarafından validators'nin hangi blokta olacağına inandıkları üzerine yinelemeli olarak bahis oynamasına izin vermek
diğer bahislere bağlı olarak blockchain'ye bağlanın Şu ana kadar gördükleri gibi, sonunda aynılığa ulaşılabilir. bağlantı. Bu, Casper ekibinin aktif bir araştırma alanıdır. Buradaki zorluk, yapılabilecek bir bahis mekanizması oluşturmaktır. evrimsel olarak istikrarlı bir strateji olduğu kanıtlanmıştır. Başlıca faydası Casper, Tendermint ile karşılaştırıldığında "kullanılabilirlik" sunuyor olabilir aşırı tutarlılık” – fikir birliği >⅔ yeterli çoğunluk gerektirmez oylama gücü – belki taahhüt hızı pahasına veya uygulama karmaşıklığı. Interledger Protokolü [14] kesinlikle bir ölçeklenebilirlik çözümü değildir. o farklı defterler arasında geçici bir birlikte çalışma sağlar Gevşek bir şekilde bağlı ikili ilişkiler ağı aracılığıyla sistemler. Lightning Network gibi ILP'nin amacı da ödemeler, ancak özellikle farklı ödemeler arasındaki ödemelere odaklanıyor defter türleri ve atomik işlem mekanizmasını genişletir yalnızca hash kilitleri değil, aynı zamanda noter yetersayısını da içerir (buna denir) Atomik Taşıma Protokolü). için ikinci mekanizma Defterler arası işlemlerde atomikliğin uygulanması şuna benzer: Tendermint'in hafif istemci SPV mekanizması, yani ILP ve Cosmos/IBC arasındaki ayrım garanti edilir ve aşağıda verilmiştir. 1. ILP'deki bağlayıcının noterleri üyeliği desteklemez değişiklikler arasında zexible ağırlıklandırmaya izin vermeyin ve noterler. Öte yandan, IBC özellikle şunlar için tasarlanmıştır: blockchains; burada validators farklı ağırlıklara sahip olabilir ve üyeliğin dönem boyunca değişebileceği yer blockchain. 2. Lightning Network'te olduğu gibi ILP'de ödemenin alıcısı Gönderene onay gönderebilmek için çevrimiçi olmanız gerekir. birtoken, alıcının validator kümesi olan IBC üzerinden aktarım blockchain onayın sağlanmasından sorumludur, kullanıcıyı alıyor. 3. En çarpıcı fark, ILP'nin konnektörlerinin Ödemeler konusunda sorumlu veya yetkili devleti tutmak, Cosmos'de ise bir hub'ın validator'leri şu otoritenin yetkisindedir: IBC token eyaleti transferlerinin yanı sıra her bir bölgede tutulan tokens miktarı (ancak miktarı değil) token'ler bir bölge içindeki her hesapta tutulur). Bu Güvenli asimetriklik sağlayan temel yenilik token'lerin bölgeden bölgeye aktarılması; ILP'nin analogu Cosmos içindeki bağlayıcı kalıcı ve maksimum düzeyde güvenlidir blockchain defter, Cosmos Merkez. 4. ILP'deki defterler arası ödemelerin bir belgeyle desteklenmesi gerekir. Asimetrik transfer olmadığından takas emir defteri madeni paraların bir defterden diğerine aktarılması, yalnızca değerin veya piyasa eşdeğerleri. Yan zincirler [15], Bitcoin'yi ölçeklendirmek için önerilen bir mekanizmadır. "iki yönlü sabitlenmiş" alternatif blockchain'ler aracılığıyla ağ Bitcoin blockchain. (İki yönlü sabitleme şuna eşdeğerdir: köprüleme. Cosmos'de piyasa sabitlemeden ayırt etmek için "köprüleme" diyoruz). Yan zincirler, bitcoinlerin etkili bir şekilde hareket etmesini sağlar. Bitcoin blockchain yan zincire ve arkaya doğru ilerleyin ve aşağıdakilere izin verin: yan zincirdeki yeni özelliklerin denenmesi. Olarak Cosmos Hub, yan zincir ve Bitcoin hafif istemciler olarak hizmet eder madeni paraların ne zaman yatırılması gerektiğini belirlemek için SPV kanıtlarını kullanarak birbirlerine yan zincire ve arkaya aktarılır. Elbette, Bitcoin tarihinden beri proof-of-work kullanıyor, Bitcoin merkezli yan zincirler zarar görüyor proof-of-work'nın birçok sorunu ve riskinden dolayı Konsensüs mekanizması. Üstelik bu bir Bitcoin-maksimalist çeşitli token'leri yerel olarak desteklemeyen çözüm ve
Cosmos'un yaptığı gibi bölgeler arası ağ topolojisi. Bununla birlikte, çekirdek iki yönlü çivinin mekanizması prensipte bununla aynıdır Cosmos ağı tarafından kullanılıyor. Ethereum şu anda bir dizi farklı stratejiyi araştırıyor Ethereum blockchain adresinin durumunu parçalamak için ölçeklenebilirlik ihtiyaçları. Bu çabaların amacı, Geçerli Ethereum Sanal Makine tarafından sunulan soyutlama katmanı paylaşılan durum alanı boyunca. Çoklu araştırma çabaları şu sıralar sürüyor. [18][22] Cosmos ve Ethereum 2.0 Leylak rengi [22] farklı tasarım hedeflerine sahiptir. Cosmos özellikle tokens ile ilgilidir. Mauve ölçeklendirmeyle ilgilidir genel hesaplama. Cosmos EVM'ye bağlı değildir, dolayısıyla farklı VM'ler bile birlikte çalışabiliriz. Cosmos, bölgeyi oluşturanın bölgeyi kimin doğruladığını belirlemesine olanak tanır bölge. Cosmos bölgesinde herkes yeni bir alt bölge başlatabilir (yönetim olmadığı sürece) aksi yönde karar verir). Hub bölge hatalarını izole ederek global token değişmezlerinin korunmuş. Lightning Network önerilen bir token aktarım ağıdır Bitcoin blockchain (ve diğer genel) üzerindeki bir katmanda çalışan blockchains), birçok büyüklükte iyileştirmeye olanak sağlar işlemlerin çoğunluğunu taşıyarak işlem verimini artırın fikir birliği defterinin dışında sözde "ödeme kanallarına" aktarılır.Bu, zincir üstü kripto para birimi komut dosyalarıyla mümkün olmaktadır. Tarafların ikili devlet sözleşmeleri yapmalarına olanak sağlamak, dijital imzalar ve sözleşmeler paylaşılarak durum güncellenebilir kanıtların blockchain üzerinde Yynal olarak yayınlanmasıyla kapatılabilir. Mekanizma ilk olarak zincirler arası atomik takaslarla popüler hale getirildi. Tarafından Birçok tarafla ödeme kanallarının açılması, katılımcılar Lightning Network, yönlendirme için odak noktaları haline gelebilir başkalarının ödemeleri, tamamen bağlantılı bir ödeme kanalına yol açar sermayenin ödeme kanallarına bağlanması pahasına ağ. Lightning Network aynı zamanda kolaylıkla genişleyebilir. değer aktarımına izin vermek için birden fazla bağımsız blockchains bir döviz piyasası yoluyla asimetrik olarak kullanılamaz token'ları bir blockchain'den diğerine aktarın. Asıl fayda burada açıklanan Cosmos ağının amacı bu tür doğrudan token aktarımlar. Bununla birlikte, ödeme kanallarının ve Lightning Network, ürünlerimizle birlikte geniş çapta benimsenecek token aktarım mekanizması, maliyet tasarrufu ve gizlilik nedeniyle. Ayrılmış Tanık, bir Bitcoin iyileştirme teklifi bağlantısıdır. Blok başına işlem hacmini 2 kat veya 3 kat artırmayı hedefliyor, aynı anda yeni düğümler için blok senkronizasyonunu daha hızlı hale getirir. Bu çözümün mükemmelliği, sistem içinde nasıl çalıştığındadır. Bitcoin'nin mevcut protokolünün sınırlamaları vardır ve yumuşak çatala izin verir yükseltme (yani yazılımın eski sürümlerine sahip istemciler yükseltmeden sonra çalışmaya devam edin). Tendermint, yeni olmak protokolün tasarım kısıtlaması yoktur, dolayısıyla farklı bir ölçeklendirmeye sahiptir öncelikler. Tendermint öncelikle BFT hepsini bir kez deneme algoritması kullanır madencilik yerine kriptografik imzalara dayalı birden fazla paralel üzerinden yatay ölçeklendirmeye önemsiz bir şekilde izin verir blockchains, düzenli, daha sık blok işlemeleri izin verirken dikey ölçeklendirme de.
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 :
FromBlockHeight : 400 (katakanlah)
Paket : sebuah IBCPaket :
Tajuk : dan IBCPacketHeader :
SrcChainID : “Zona1”
DstChainID : “Zona2”
Nomor : 200
Status : AckSent
Ketik : “koin”
Tinggi Maks: 350
PayloadHash :
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
Fikir Birliği ve Teknik Detaylar
İyi tasarlanmış bir fikir birliği protokolü bazı özellikleri sağlamalıdır. Tolerans kapasitesinin aşılması durumunda garantiler ve fikir birliği başarısız olur. Bu özellikle ekonomik açıdan gereklidir. Bizans davranışının önemli mali etkiye sahip olabileceği sistemler ödül. Bu türden en önemli garanti, fikir birliğine yol açan süreçlerin başarısız (yani protokol istemcilerinin farklı değerleri kabul etmesine neden oldu - bir çatal) kurallarına göre belirlenebilir ve cezalandırılabilir. protokol veya muhtemelen hukuk sistemi. Hukuk sistemi ne zaman güvenilmez veya çağrılması aşırı pahalı, validators olabilir katılmak için depozito yatırmaya zorlananlar ve Kötü niyetli davranışlar ortaya çıktığında mevduatlar iptal edilebilir veya kesilebilir. [10] algılandı. Bunun, çatallanmanın olağan bir olay olduğu Bitcoin'den farklı olduğunu unutmayın ağ eşzamansızlığı ve göndermenin olasılıksal doğası nedeniyle kısmi hash çarpışmalar. Çoğu durumda kötü niyetli bir çatal olduğundan eşzamansızlık nedeniyle çataldan ayırt edilemez, Bitcoin olamaz Örtülü olanlar dışında çatal sorumluluğunu güvenilir bir şekilde uygulayın Yetim durumdaki bir bloğun madenciliği için madencilerin ödediği fırsat maliyeti. Oylama aşamalarına PreVote ve PreCommit diyoruz. Bir oy şuna olabilir: belirli bir blok veya Nil için. >⅔ ÖnOylardan oluşan bir koleksiyona diyoruz aynı turdaki tek bir blok için bir Polka ve >⅔ koleksiyonu Aynı turda tek bir blok için Ön Taahhütler. >⅔ ise Aynı turda Nil için Ön Komite, bir sonrakine geçiyorlar yuvarlak. Protokoldeki katı determinizmin zayıf bir etki yarattığını unutmayın. Hatalı liderlerin tespit edilmesi gerektiğinden senkronizasyon varsayımı ve
atlandı. Böylece, validators bir süre bekler, TimeoutPropose, Ön Oy Vermeden Önce ve değeri TimeoutPropose her turda artar. İlerleme bir turun geri kalanı tamamen eşzamansızdır, bu nedenle ilerleme yalnızca validator ağın >⅔'ünden haber aldığında yapılır. Pratikte, süresiz olarak engellemek için son derece güçlü bir düşman gerekirdi zayıf eşzamanlılık varsayımı (uzlaşının başarısız olmasına neden olur) asla bir blok gerçekleştirin) ve bunu yapmak daha da fazla yapılabilir Her birinde TimeoutPropose'un rastgele değerlerini kullanarak zor validator. Ek bir dizi kısıtlama veya Kilitleme Kuralı, ağ sonunda her yükseklikte yalnızca bir blok işleyecektir. Herhangi biri Birden fazla bloğun işlenmesine neden olmaya yönelik kötü niyetli girişim Belirli bir yükseklikte tanımlanabilir. İlk olarak, bir blok için PreCommit o blok için bir Polka şeklinde gerekçeli olarak gelmelidir. validator zaten R_1 turunda bir blok PreCommit'e sahipse, o blokta kilitli olduklarını söylüyorlardı ve Polka da bu durumu haklı çıkarıyordu. R_2 turundaki yeni Ön Taahhüt, R_polka turunda gelmelidir burada R_1 < R_polka <= R_2. İkincisi, validator'ler Teklif Vermeli ve/veya kilitli oldukları bloğa ÖnOy verin. Birlikte bunlar koşullar, bir validator'nin olmadan Ön Taahhüt yapmamasını sağlar Gerekçe olarak yeterli delil ve validator'ler PreCommit zaten PreCommit'e delil olarak katkıda bulunamaz başka bir şey. Bu hem güvenliği hem de canlılığı sağlar. fikir birliği algoritması. Protokolün tüm ayrıntıları burada açıklanmaktadır. Alternatif bir zincirin (çatal) varlığı ≥⅓ anlamına geldiğinden TendermintPoS'ta tüm blok başlıklarını senkronize etme ihtiyacı ortadan kalkar. bağlı hisse kesilebilir. Tabii ki, kesme işlemi gerektirdiğinden Birisi bir çatalın kanıtını paylaşıyorsa, hafif istemciler saklamalıdır herhangi bir blok-hash gördüğünü taahhüt eder. Ayrıca hafif istemcilervalidator kümesinde yapılan değişikliklerle periyodik olarak senkronize kalabilir. uzun menzilli saldırılardan kaçınmak için (ancak diğer çözümler mümkün). Ethereum'ye benzer bir ruhla Tendermint, uygulamaların her bloğa global bir Merkle kökü hash gömerek kolayca izin verin Hesap bakiyeleri, değer gibi şeyler için doğrulanabilir durum sorguları bir sözleşmede saklanması veya harcanmamış bir işlemin varlığı uygulamanın niteliğine bağlı olarak çıktı. Yeterince dayanıklı bir yayın ağları koleksiyonu varsayarsak ve statik bir validator kümesi varsa, blockchain içindeki herhangi bir çatal tespit edildi ve rahatsız edici validator'lerin mevduatları kesildi. Bu Vitalik Buterin'in ilk olarak 2014'ün başlarında önerdiği yenilik, diğer proof-of-stake'nin tehlikede olmayan hiçbir şey sorunu kripto para birimleri (bkz. İlgili Çalışma). Ancak validator ayarlandığından beri orijinali uzun bir süre boyunca değiştirebilmelidir validators'nin tümü bağımsız hale gelebilir ve dolayısıyla hiçbir maliyete katlanmadan, oluşum bloğundan yeni bir zincir oluşturun artık kilitli mevduatları yok. Bu saldırı gerçekleşti Kısa Menzilli Saldırının aksine Uzun Menzilli Saldırı (LRA) olarak bilinir Şu anda bağlı olan validator'lerin menzil saldırısına neden olduğu Menzil Saldırısı çataldır ve bu nedenle cezalandırılabilir (çataldan sorumlu olduğu varsayılarak BFT Tendermint fikir birliği gibi bir algoritma). Uzun Menzilli Saldırılar genellikle proof-of-stake'ye kritik bir darbe olduğu düşünülür. Neyse ki LRA aşağıdaki şekilde hafifletilebilir. Öncelikle bir süreliğine validator borcunu çözebilir (böylece teminat depozitolarını geri alabilir) ve artık fikir birliğine katılmak için ücret kazanmıyoruz), depozito belirli bir süre devredilemez hale getirilmelidir "bağların çözülme dönemi" olarak bilinen ve haftalar veya aylar. İkincisi, hafif istemcinin güvende olması için ilk ağa bağlandığında yeni bir bloğu doğrulaması gerekir-hash güvenilir bir kaynağa veya tercihen birden fazla kaynağa karşı. Bu
duruma bazen “zayıf öznellik” adı verilir. Son olarak, güvende kalabilmesi için şu tarihteki en son validator ayarıyla senkronize edilmesi gerekir en az bağlanma süresinin uzunluğu kadar sıklıkta. Bu Hafif istemcinin validator'deki değişikliklerden haberdar olmasını sağlar validator'nin sermayesi serbest olduğundan ve dolayısıyla artık tehlikede, bu da müşteriyi kandırmasına izin verecek bir noktadan başlayarak yeni bloklar oluşturarak uzun menzilli bir saldırı bağlandığı yerin yüksekliği (yeterince kontrole sahip olduğu varsayılarak) ilk özel anahtarların çoğu). LRA'nın bu şekilde üstesinden gelinmesinin, proof-of-work orijinal güvenlik modeli. PoW'da, hafif bir istemcinin mevcut yükseklikle senkronize edilebileceğini varsaydı. her blok başlığında iş kanıtını işleyerek istediğiniz zaman güvenilir bir oluşum bloğu oluşturabilirsiniz. Ancak LRA'nın üstesinden gelmek için hafif bir istemcinin belli bir düzenlilikle çevrimiçi olmasını gerektirir validator kümesindeki değişiklikleri takip edin ve ilk kez çevrimiçi olduklarında kimlik doğrulama konusunda özellikle dikkatli olmaları gerekir ağdan güvenilir kaynaklara karşı duyduklarını. arasında elbette, bu ikinci gereksinim Bitcoin gereksinimine benzer; burada protokol ve yazılımın da güvenilir bir yerden alınması gerekir. kaynak. LRA'yı önlemeye yönelik yukarıdaki yöntem validators için çok uygundur ve Tendermint destekli bir blockchain'nin tam düğümleri çünkü bunlar düğümlerin ağa bağlı kalması amaçlanır. yöntem aynı zamanda hafif istemciler için de uygundur. ağ ile sık sık senkronize edin. Ancak hafif istemciler için internete sık erişime sahip olmaları beklenmemektedir veya blockchain ağı, üstesinden gelmek için başka bir çözüm daha kullanılabilir LRA. validator olmayan token sahipleri token'lerini şu şekilde gönderebilir: çok uzun bir çözülme süresine sahip teminat (örneğin çok daha uzun validators için ayrılma döneminden daha uzun) ve hafif istemcilere hizmet veriyor Geçerliliğin geçerliliğini doğrulamak için ikincil bir yöntemle ve geçmiş blok-hashes. Bu token'ler hesaba katılmasa da blockchain'in fikir birliğinin güvenliği, yine deHafif müşteriler için güçlü garantiler sağlayın. Geçmiş blok ise-hash sorgulama Ethereum'de destekleniyordu, herkes kendi tokens'yi özel olarak tasarlanmış bir smart contract içinde sağlayın ve sağlayın Ücretli tasdik hizmetleri, hafif istemci LRA güvenliği için etkili bir pazar oluşturuyor. Blok taahhüdünün tanımlanması nedeniyle herhangi bir ≥⅓ koalisyonu oylama gücü blockchain'yi fanzin kapanıp kapanmayarak durdurabilir oylarını yayınlıyorlar. Böyle bir koalisyon aynı zamanda sansür de yapabilir bunları içeren blokları reddederek belirli işlemleri işlemler, ancak bu önemli bir oranda sonuçlanacaktır hızı yavaşlatacak blok tekliflerinin reddedilmesi blockchain'nin blok taahhütlerinin artması, faydasını ve değerini azaltır. Kötü niyetli koalisyon aynı zamanda oyları damla damla yayınlayabilir. blockchain blok taahhütlerinin neredeyse durma noktasına gelmesi veya devreye girmesi için bu saldırıların herhangi bir kombinasyonu. Son olarak aşağıdakilere neden olabilir: blockchain çift imzalayarak veya kilitlemeyi ihlal ederek çatallanmaya kurallar. Eğer küresel çapta aktif bir düşman da işin içinde olsaydı, bu durum bölüşülebilirdi. ağı yanlış gibi görünebilecek şekilde Yavaşlamadan validators alt kümesi sorumluydu. bu değil sadece Tendermint'in bir sınırlaması, daha ziyade hepsinin bir sınırlaması Ağı potansiyel olarak bir kişi tarafından kontrol edilen konsensüs protokolleri aktif düşman Bu tür saldırılar için validators'nin bir alt kümesi bir yeniden düzenleme teklifini imzalamak için harici yollarla koordinasyon sağlamak bir çatal (ve bunun herhangi bir kanıtını) ve başlangıç alt kümesini seçer validators imzalarıyla birlikte. Böyle bir yeniden düzenleme teklifini imzalayan doğrulayıcılar, diğer tüm çatallardaki teminatlarından vazgeçer. Müşteriler şunları yapmalıdır: Yeniden düzenleme teklifindeki imzaları doğrulayın, her türlü kanıtı doğrulayın, ve bir karar verin veya son kullanıcıyı bir karara yönlendirin. için Örneğin, bir telefon cüzdanı uygulaması kullanıcıya bir güvenlik kodu sorabilir.
uyarı, buzdolabı herhangi bir yeniden düzenleme teklifini kabul edebilirken Orijinal validator'lerin +½'si tarafından oylama yetkisiyle imzalanmıştır. Hiçbir senkronize olmayan Bizans hataya dayanıklı algoritma gelemez Oylama gücünün ≥⅓'ü sahtekâr olduğunda fikir birliğine varmak, ancak yine de çatallanmak oylama gücünün ≥⅓'ünün halihazırda sahtekâr olduğunu varsayar gerekçesiz olarak çift imza veya kilit değiştirme. Yani imzalamak yeniden düzenleme teklifi çözülemeyecek bir koordinasyon sorunudur senkronize olmayan herhangi bir protokolle çözülür (ör. otomatik olarak ve güvenilirliği hakkında varsayımlarda bulunmadan temel ağ). Şimdilik, yeniden düzenleme önerisi koordinasyonu sorununu toplumsal uzlaşma yoluyla insan koordinasyonuna bırakıyoruz. internet medyasında. Doğrulayıcılar, orada olduğundan emin olmak için dikkatli olmalıdır. Çakışan iki yeniden düzenleme teklifinin imzalandığı durumları önlemek için, bir yeniden düzenleme teklifinin imzalanmasından önce kalan ağ bölümü yoktur. Harici koordinasyon ortamının ve protokolün sağlam, buradan çatalların sansürden daha az endişe verici olduğu sonucu çıkıyor saldırılar. ≥⅓ Bizans gerektiren çatal ve sansüre ek olarak oylama gücü, >⅔ oylama gücünden oluşan bir koalisyon taahhütte bulunabilir keyfi, geçersiz durum. Bu herhangi bir (BFT) özelliğidir Konsensüs sistemi. Çatal oluşturan çift imzalamanın aksine kolayca doğrulanabilir kanıtlarla, bir kişinin bağlılığını tespit etmek geçersiz durum, doğrulama yapmayan eşlerin tüm blokları doğrulamasını gerektirir, bu, durumun yerel bir kopyasını tuttukları ve yürüttükleri anlamına gelir Her işlem için durum kökünü bağımsız olarak hesaplayarak kendileri. Bir kez tespit edildiğinde böyle bir arızayla baş etmenin tek yolu toplumsal mutabakat yoluyla gerçekleşir. Örneğin, Bitcoin durumunda yazılım hataları nedeniyle çatallanma başarısız oldu (Mart ayında olduğu gibi) 2013) veya Bizans davranışından dolayı geçersiz bir durumun gerçekleştirilmesi Madenciler (Temmuz 2015'te olduğu gibi), iyi bağlantılara sahip bir topluluk işletmeler, geliştiriciler, madenciler ve diğer kuruluşlar manuel eylemlerin ne olduğu konusunda toplumsal bir fikir birliği oluşturduKatılımcıların ağı iyileştirmesi gerekiyor. Ayrıca, beri validators İhale blockchain olması beklenebilir tanımlanabilir, geçersiz bir durumun taahhüdü bile olabilir istenirse kanun veya bazı harici içtihatlar tarafından cezalandırılabilir. ABCI, şu adresten teslim edilen 3 ana mesaj türünden oluşur: uygulamanın çekirdeği. Uygulama şu şekilde yanıt verir: karşılık gelen yanıt mesajları. AppendTx mesajı uygulamanın çalışma atıdır. Her biri blockchain içindeki işlem bu mesajla iletilir. uygulamanın, alınan her işlemi doğrulaması gerekir. Mevcut duruma, uygulama protokolüne karşı AppendTx mesajı, ve işlemin kriptografik kimlik bilgileri. Doğrulanmış işlemin daha sonra uygulama durumunu güncellemesi gerekir - tarafından bir değeri anahtar değerler deposuna bağlamak veya UTXO değerini güncelleyerek veritabanı. CheckTx mesajı AppendTx'e benzer ancak yalnızca işlemlerin doğrulanması. Tendermint Core'un ilk bellek havuzu kontrolleri CheckTx ile yapılan bir işlemin geçerliliği ve yalnızca aktarmaların geçerli olması akranlarıyla işlem yapıyor. Uygulamalar artan bir değeri kontrol edebilir işlemde nonce ve eğer CheckTx'te bir hata döndürüyorsa nonce eski. Taahhüt mesajı bir şifreleme hesaplamak için kullanılır mevcut başvuru durumuna bağlılık, sonraki blok başlığı. Bunun bazı kullanışlı özellikleri var. Bu durumun güncellenmesindeki tutarsızlıklar artık şu şekilde görünecek: blockchain tüm programlama sınıfını yakalayan çatallar hatalar. Bu aynı zamanda güvenli hafifliğin geliştirilmesini de kolaylaştırır. Merkle-hash kanıtları kontrol edilerek doğrulanabildiği için istemciler blok-hash ve blok-hash yetersayı tarafından imzalandı validators (oy gücüne göre).
Ek ABCI mesajları uygulamanın takip etmesine olanak tanır ve validator kümesini değiştirin ve uygulamanın yükseklik ve taahhüt oyları gibi bilgileri bloke edin. ABCI istekler/yanıtlar basit Protobuf mesajlarıdır. Kontrol et şemayı çıkarın. Argümanlar: Veri ([]bayt): İstek işlemi baytları İade: Kod (uint32): Yanıt kodu Veri ([]bayt): Varsa sonuç baytları Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Bir işlem ekleyin ve çalıştırın. İşlem geçerli ise CodeType.OK değerini döndürür Argümanlar: Veri ([]bayt): İstek işlemi baytları İade: Kod (uint32): Yanıt kodu Veri ([]bayt): Varsa sonuç baytları Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Bir işlemi doğrulayın. Bu mesaj, devlet. İşlemler ilk önce CheckTx üzerinden gerçekleştirilir bellek katmanındaki eşlere yayınlanır. Yapabilirsin CheckTx yarı durumlu ve Taahhüt üzerine durumu temizler veya BeginBlock , bağımlı işlem dizilerine izin vermek için aynı blokta.
İade: Veri ([]bayt): Merkle kökü hash Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Uygulama durumunun Merkle kökünü hash döndürün. Argümanlar: Veri ([]bayt): Sorgu isteği baytları İade: Kod (uint32): Yanıt kodu Veri ([]bayt): Sorgu yanıtı baytları Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Yanıt kuyruğunu temizleyin. Gerçekleştiren uygulamalar type.Uygulamanın bu mesajı uygulamasına gerek yoktur; proje tarafından ele alınmaktadır. İade: Veri ([]bayt): Bilgi baytları Kullanımı:
Uygulama durumuyla ilgili bilgileri döndürün. Başvuru özel. Argümanlar: Anahtar (dize): Ayarlanacak anahtar
Değer (dize): Anahtar için ayarlanacak değer İade: Günlük (dize): Hata ayıklama veya hata mesajı Kullanımı:
Uygulama seçeneklerini ayarlayın. Örn. Anahtar=“mod”, Değer=“bellek havuzu” için bir bellek havuzu bağlantısı veya Anahtar=“mod”, Değer=“fikir birliği” fikir birliği bağlantısı. Diğer seçenekler uygulamaya özeldir. Argümanlar: Doğrulayıcılar ([]Doğrulayıcı): İlk oluşum-validators Kullanımı:
Bir zamanlar yaradılışta çağrıldı Argümanlar: Yükseklik (uint64): Başlangıç bloğunun yüksekliği Kullanımı:
Yeni bir bloğun başlangıcını işaret eder. Herhangi birinden önce çağrıldı Ek Tx'ler. Argümanlar: Yükseklik (uint64): Biten blok yüksekliği İade: Doğrulayıcılar ([]Doğrulayıcı): validators yenisiyle değiştirildi oylama yetkileri (kaldırmak için 0) Kullanımı:
Bir bloğun sonunu işaret eder. Sonuçta her Taahhütten önce çağrıldı işlemler Daha fazla ayrıntı için ABCI deposuna bakın.Bir göndericinin bu bilgiyi istemesinin birkaç nedeni vardır. Paketin tesliminin alıcı zincir tarafından onaylanması. Örneğin, gönderen e-postanın durumunu bilmiyor olabilir. Arızalı olması bekleniyorsa hedef zincir. Veya gönderen pakete bir zaman aşımı uygulamak istiyorsanız (MaxHeight ile) Paket sarımı), ancak herhangi bir hedef zincir, gelen paketlerin sayısında ani bir artışla hizmet reddi saldırılarına maruz kalabilir. paketler. Bu durumlarda gönderici teslimat onayını talep edebilir. başlangıç paket durumunu AckPending olarak ayarlayarak. O halde, bu teslimatı onaylamak için teslim alma zincirinin sorumluluğundadır. Merkle uygulamasında IBCPacket olarak kısaltılmıştır hash. İlk olarak, "Hub" üzerinde bir IBCBlockCommit ve IBCPacketTx yayınlanır. bu, "Bölge1"de bir IBCPaket 'in varlığını kanıtlar. Bunu söyle IBCPacketTx şu değere sahiptir: FromChainID : “Bölge1” FromBlockHeight: 100 (örneğin) Paket : bir IBCPaket :
Başlık: an IBCPacketHeader:
SrcChainID : “Bölge1”
DstChainID : “Bölge2”
Sayı: 200 (örneğin)
Durum : Onay Bekleniyor
Tür: “para”
MaxHeight : 350 (“Hub”ın şu anda 300 yükseklikte olduğunu söyleyin)
Yük :
FromBlockHeight: 400 (örneğin)
Paket : bir IBCPaket :
Başlık : an IBCPacketHeader :
SrcChainID : “Bölge1”
DstChainID : “Bölge2”
Sayı : 200
Durum: AlındıGönderildi
Tür: “para”
Maksimum Yükseklik : 350
PayloadHash :
durumu 350 bloğundaki “Bölge2”den ayarlasaydı, durumu ayarlardı otomatik olarak Zaman Aşımı'na geçer. Bu zaman aşımı kanıtı, “Bölge1”e geri gönderilir ve tüm token'ler iade edilebilir. Desteklenen iki tür Merkle trees vardır Tendermint/Cosmos ekosistemi: Basit Ağaç ve IAVL+ Ağaç. Basit Ağaç, statik bir öğe listesi için Merkle tree'dur. Eğer öğelerin sayısı ikinin katı değil, bazı yapraklar farklı seviyeler. Simple Tree, ağacın her iki tarafını da aynı seviyede tutmaya çalışır. aynı yükseklikte, ancak soldaki daha büyük olabilir. Bu Merkle tree Bir bloğun işlemlerini ve üst seviyeyi Merkle-ize etmek için kullanılır uygulama durumu kökünün öğeleri.IAVL+ veri yapısının amacı kalıcı uygulama durumundaki anahtar/değer çiftleri için depolama, öyle ki deterministik Merkle kökü hash verimli bir şekilde hesaplanabilir. ağaç, AVL algoritmasının bir çeşidi kullanılarak dengelenir ve tümü işlemler O(log(n))'dir. Bir AVL ağacında herhangi bir düğümün iki alt alt ağacının yükseklikleri en fazla bir farklılık gösterir. Bu koşul herhangi bir şekilde ihlal edildiğinde güncelleme, ağaç O(log(n)) yeni düğümler oluşturularak yeniden dengelenir eski ağacın değiştirilmemiş düğümlerine işaret eder. Orijinal AVL'de Algoritmaya göre iç düğümler aynı zamanda anahtar/değer çiftlerini de tutabilir. AVL+ algoritma (artıya dikkat edin) tümünü koruyacak şekilde AVL algoritmasını değiştirir anahtarları depolamak için yalnızca dal düğümlerini kullanırken, yaprak düğümlerdeki değerler. Bu, merkle hash izini korurken algoritmayı basitleştirir kısa. AVL+ Ağacı, Ethereum'nin Patricia denemelerine benzer. var ödünleşimler. Anahtarların eklenmeden önce hashed edilmesi gerekmez IAVL+ ağaçları, böylece anahtarda daha hızlı sıralı yineleme sağlar bazı uygulamalara fayda sağlayabilecek alan. Mantık daha basit yalnızca iki tür düğüm gerektiren uygulama; iç düğümler ve yaprak düğümleri. Merkle kanıtı ortalama olarak daha kısadır; * / \ / \ / \ / \ * * / \ / \ / \ / \ / \ / \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 7 öğeli bir SimpleTree
dengeli ikili ağaç Öte yandan, bir sayının Merkle kökü IAVL+ ağacı güncellemelerin sırasına bağlıdır. Ek verimli Merkle tree'leri destekleyeceğiz, örneğin Ethereum’den Patricia Trie ikili değişken haline geldiğinde mevcut. Kanonik uygulamada, işlemler şu adrese aktarılır: ABCI arayüzü aracılığıyla Cosmos hub uygulaması. Cosmos Hub bir dizi birincil işlemi kabul edecektir SendTx , BondTx , UnbondTx , ReportHackTx dahil olmak üzere türler, SlashTx , BurnAtomTx , ProposalCreateTx ve ProposalVoteTx , bunlar oldukça açıklayıcıdır ve bir belgede belgelenecektir. Bu makalenin gelecekteki revizyonu. Burada iki birincil belgeyi belgeliyoruz IBC için işlem türleri: IBCBlockCommitTx ve IBCPacketTx. Bir IBCBlockCommitTx işlemi şunlardan oluşur: ChainID (string) : blockchain'nin kimliği BlockHash ([]byte) : Block-hash bayt, Merkle kökü bu uygulamayı içerir-hash BlockPartsHeader (PartSetHeader) : Blok parça kümesi başlığı bayt, yalnızca oy imzalarını doğrulamak için gerekli BlockHeight (int) : Taahhüdün yüksekliği BlockRound (int) : Taahhüt turu Taahhüt ([]Oy): >⅔ Tendermint Ön Taahhüdü şunu oylar: bir blok taahhüdünü içerir ValidatorsHash ([]byte) : Yeninin Merkle ağacı kökü hash validator ayarlandı
ValidatorsHashProof (SimpleProof): ValidatorsHash'in BlockHash'e karşı kanıtlanması için SimpleTree Merkleproof
AppHash ([]byte) : IAVLTree Merkle ağacı kökü hash
uygulama durumu
AppHashProof (SimpleProof): SimpleTree Merkle'ye karşı dayanıklı
AppHash'in BlockHash'a karşı kanıtlanması
Bir IBCPaket aşağıdakilerden oluşur:
Başlık (IBCPacketHeader): Paket başlığı
Yük ([]bayt): Paket yükünün baytları. İsteğe bağlı
PayloadHash ([]byte) : Paketin baytları için hash.
İsteğe bağlı
Payload veya PayloadHash'tan birinin mevcut olması gerekir. hash
IBCPaket 'in iki öğesi olan Başlık'ın basit Merkle köküdür
ve Yük . Tam yük taşımayan bir IBCPakete adı verilir
kısaltılmış paket
Bir IBCPacketHeader aşağıdakilerden oluşur:
SrcChainID (string) : Kaynak blockchain kimliği
DstChainID (string): Hedef blockchain kimliği
Sayı (int): Tüm paketler için benzersiz bir sayı
Durum (numaralandırma): AckPending , AckSent ,'den biri olabilir
AckReceived, NoAck veya Zaman Aşımı
Tür (dize): Türler uygulamaya bağlıdır. Cosmos
"jeton" paket türünü saklı tutar
MaxHeight (int): Durum NoAckWanted veya AckReceived değilse
bu yüksekliğe göre durum Timeout olur. İsteğe bağlı
Bir IBCPacketTx işlemi şunlardan oluşur:FromChainID (string) : blockchain'nın kimliği:
bu paketi sağlamak; mutlaka kaynak değil
FromBlockHeight (int) : blockchain yüksekliği
Aşağıdaki paket, hash bloğuna dahil edilmiştir (Merkle-ized)
kaynak zinciri
Paket (IBCPacket): Durumu bir olabilecek bir veri paketi
AckPending , AckSent , AckReceived , NoAck veya Timeout'un sayısı
PacketProof (IAVLProof): Kanıtlama için IAVLTree Merkle geçirmez
paketin hash kaynak zincirinin AppHash'ine karşı
verilen yükseklik
“Bölge1”den “Bölge2”ye paket gönderme sırası
"Hub" aracılığıyla geçiş {Şekil X}'te gösterilmektedir. İlk olarak bir IBCPacketTx
"Hub"a paketin uygulama durumuna dahil olduğunu kanıtlar
“Bölge1”. Daha sonra başka bir IBCPacketTx "Bölge2"ye şunu kanıtlar:
paket “Hub”un uygulama durumuna dahil edilir. Bu sırada
prosedür, IBCPacket verileri aynıdır: SrcChainID
her zaman “Bölge1”dir ve DstChainID her zaman "Bölge2"dir.
PacketProof doğru Merkle geçirmez yola sahip olmalıdır.
şöyle:
“Bölge1” “Hub” üzerinden “Bölge2”ye paket göndermek istediğinde,
IBCPaket verileri, paketin "Bölge1", "Hub" veya "Bölge2"de Merkleleştirilmiş olmasına bakılmaksızın aynıdır. Değişebilen tek sarı
Teslimatı takip etme durumu.
Kavramsallaştırmada yardım eden arkadaşlarımıza ve akranlarımıza teşekkür ederiz.
Tendermint ile yaptığımız çalışmaları gözden geçirmek ve destek sağlamak
ve Cosmos.
IBC/
SkuChain'den Zaki Manian, biçimlendirme konusunda çok yardımcı oldu ve özellikle ABCI bölümü altındaki ifadeler Althea'dan Jehan Tremback ve Dustin Byington'a yardımlarından dolayı ilk yinelemeler Honey Badger'dan Andrew Miller'a fikir birliğiyle ilgili geri bildirimleri için teşekkür ederiz Greg Slepak'a fikir birliği ve ifadelerle ilgili geribildirim için teşekkür ederiz. Ayrıca çeşitli katkılarından dolayı Bill Gleim ve Seunghwan Han'a teşekkürler. katkılar. Adınız ve kuruluşunuz katkılarınız için burada 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 ZeroCash: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 Ayrılmış Tanık: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Yıldırım Ağı: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 İhale: https://github.com/tendermint/tendermint/wiki 9 FLP İmkansızlığı: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 Kesici: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 PBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 BitShares: https://bitshares.org/technology/delegatedproof-of-stake-consensus/
13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 Interledger: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 Yan Zincir: https://blockstream.com/sidechains.pdf 16 Casper: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum Parçalama: https://github.com/ethereum/EIPs/issues/53 19 LibSwift: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalizOfLibswift.pdf 20 DLS: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 İnce İstemci Güvenliği: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 Leylak Rengi Kağıt: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html
3 e