Asosiasi Standar Maxim Orlovsky, LNP/BP
Di koran, kami mengusulkan cara untuk meningkatkan Bitcoin Layer 1 (Blockchain/Timechain) tanpa softfork yang diperlukan. Peningkatan memanfaatkan sifat validasi sisi klien, dapat bertahap, memiliki opsi penyebaran tanpa izin (yaitu tidak memerlukan dukungan mayoritas atau kerja sama penambang) dan akan memiliki skalabilitas pesanan
Kata Bitcoin telah memperoleh banyak makna, sehingga kami membedakannya dengan menggunakan istilah yang lebih spesifik. Kami menggunakan Bitcoin sebagai istilah payung generik yang menunjukkan sistem secara keseluruhan, yang mungkin termasuk beberapa lapisan (termasuk beberapa masa depan) dan gagasan keseluruhan dari sistem kas elektronik peer-to-peer yang berasal dari Satoshi Nakamoto. Pada saat yang sama, kami menggunakan BTC untuk menunjukkan Bitcoin sebagai kelangkaan, uang, dan mata uang digital. Kami juga membedakan konsensus POW Bitcoin (aturan memilih produsen blok berikutnya), konsensus Nakamoto (yang mencakup konsensus POW yang ditingkatkan dengan sarana kriptoekonomi hukuman penambang), blockchain bitcoin (sebagai alternatif bernama Timechain ) sebagai implementasi spesifik saat ini dari lapisan Bitcoin 1 dan dan alternatifnya sebagai lapisan bitcoin 1 dan bitcoin dan spesifik lapisan bitcoin 1 dan dan alternatifnya sebagai lapisan bitcoin 1 dan bitcoin dan bitcoin dan bitcoin dan bitcoin dan bitcoin dan bitcoin dan bitcoin dan bitcoin dan dan alternatifnya sebagai lapisan bitcoin lapisan bitcoin 1 dan dan alternatif saat ini sebagai lapisan bitcoin 1 dan bitcoin dan bitcoin dan bitcoin dan bitcoin, dan Bitcoin Layer 1 dan (alternatif dinamai TimeChain saat ini Bitcoin Protocol (BP) sebagai serangkaian standar, teknologi, dan alat untuk bekerja dengan transaksi bitcoin secara rantai (di lapisan 1 yang mungkin).
Implementasi asli Bitcoin oleh Satoshi Nakamoto membawa gagasan aneh bahwa semua orang perlu memverifikasi transaksi untuk seluruh dunia. Gagasan ini menerima nama blockchain , atau, kadang -kadang, Timechain - yang menjadi eufemisme untuk buku besar dengan akses publik. Pengenalan buku besar telah menciptakan dua masalah: tidak adanya skalabilitas dan privasi yang buruk; yang pertama mencegah adopsi dan efek jaringan terjadi; Yang lain bertentangan dengan semangat cypherpunk asli Bitcoin dan mewakili risiko peradaban strategis (lihat keniscayaan Cypherpunk untuk peradaban yang tepat dan manifesto cyphernox).
Skalabilitas dan, sebagian, masalah privasi kemudian ditangani oleh pengenalan sistem Layer 2, seperti Lightning Network dan solusi yang diusulkan lainnya. Di antara mereka, yang paling tidak bermanfaat adalah gagasan Sidechain, yang mewarisi sebagian besar (jika tidak semua) dari keterbatasan teknologi blockchain asli sambil memecahkan hanya masalah program yang rendah, menciptakan kotak pasir untuk percobaan dan, sebagian, beberapa aspek privasi. Lightning Network - Solusi Layer 2 yang lebih sukses yang sudah digunakan dan operasional - memiliki masalah skalabilitas sendiri karena kebutuhan akan likuiditas over -collateralization, keterbatasan throughput lalu lintas gosip (keduanya mengarah ke sentralisasi jaringan) dan penurunan keamanan/ketidaknyamanan dalam kondisi lapisan dasar tinggi [..]. Alternatif yang diusulkan lainnya, seperti Ark, membutuhkan beberapa perubahan lapisan dasar (satu atau dua soft forkks), yang menghadirkan tantangan untuk penyebaran. Akhirnya, tidak ada solusi lapis kedua yang ada atau yang diusulkan untuk memecahkan masalah privasi lapisan dasar Bitcoin asli,-dan solusi Layer-1 yang berfokus pada privasi lainnya (seperti Coinjoin) masih belum melindungi dari otoritas hukum dan memperkenalkan masalah kesesuaian BTC tambahan.
Dengan demikian, dapat disimpulkan bahwa itu adalah pendekatan blockchain berbasis buku besar untuk membangun Layer 1 yang harus sepenuhnya dipikirkan kembali untuk menyelesaikan masalah di atas. Gagasan pertama di ruang ini datang dengan punggung Peter Todd pada tahun 2016 dan 2017 ketika ia menunjukkan bahwa pemilik beberapa negara (misalnya BTC atau kontrak stateful lainnya) perlu memverifikasi hanya sebagian dari sejarah transaksional - bagian yang merupakan Terkait langsung dengan kepemilikan mereka - dan menghilangkan sisanya. Dia menamai pendekatannya validasi sisi klien . Protokol yang dirancang Giacomo Zucco dapat membuat aset dengan pendekatan ini, bernama RGB . In my previous work at LNP/BP Standards Association I was able to develop RGB further and convert it into the first generic client-side-validated smart-contract system with rich state and bounded Turing-complete computing, providing sufficient functionality to run anything which Dapat dilakukan dengan kontrak pintar berbasis blockchain-tetapi tanpa buku besar/blockchain publik menyimpan data pengguna apa pun, secara langsung memanfaatkan properti anti-double-pengeluaran dari protokol konsensus konsensus Bitcoin. Sistem ini dikembangkan secara publik selama empat tahun dan dirilis pada April 2023.
Dalam proposal saat ini, kami menunjukkan bahwa Bitcoin, jika dilengkapi dengan lapisan yang divalidasi dengan sisi klien (seperti RGB), dapat ditingkatkan ke sistem tanpa sifat pembatas buku besar (blockchain), dan, sambil mempertahankan protokol konsensus POW, Ini dapat didasarkan kembali pada Layer 1 non-blockchain baru yang dapat diskalakan (CodeNamed Prime ). Lapisan ini akan dapat meng-host jumlah transaksi yang tidak terbatas secara teoritis (setidaknya miliaran per menit) karena penyimpanan negara, komputasi dan validasi akan dipindahkan ke lapisan yang divalidasi di sisi klien di atas. Desain seperti itu tidak memerlukan jaringan petir atau lapisan skalabilitas dan pembayaran lainnya di atas dan skala dalam skenario terburuk sebagai
Protokol memiliki tiga opsi penyebaran (izin tanpa izin, diaktifkan penambang dan softfork), dengan dua yang pertama tidak memerlukan garpu lunak- (atau keras). Opsi independen, tetapi juga dapat digunakan dengan cara yang konsekuen.
Proposal ini memberikan beberapa manfaat bagi Bitcoin sebagai uang digital:
Beberapa kelemahan relatif dari sistem yang diusulkan adalah:
Sistem yang diusulkan (codenamed prime ) terdiri dari empat komponen utama:
Komponen-komponen ini secara bersama-sama setara dalam fungsinya dengan buku besar tipe blockchain; Namun, dalam desain kami, mereka menjadi abstrak, memberikan skalabilitas dan privasi yang jauh lebih banyak daripada sistem blockchain lainnya.
Di fondasi, Prime menjalankan layanan timestamping, menciptakan urutan header, masing-masing berkomitmen pada akar pohon Merkle dari data yang divalidasi dengan sisi klien eksternal:
ClassDiagram
arah lr
`Header n` <|-` header n+1`
class `header n` {
Prev_Commitment
Merkle_root
Merkle_tree_height
cap waktu
// bidang POW
tlv_extensions
}
class `header n+1` {
Prev_Commitment
Merkle_root
Merkle_tree_height
cap waktu
// bidang POW
tlv_extensions
}
Setiap header dilengkapi dengan ekstensi TLV opsional, yang dapat digunakan untuk peningkatan protokol di masa depan; Ukurannya tidak tergantung pada jumlah transaksi yang terkandung dalam pohon Merkle dari data yang divalidasi-sisi klien dan merupakan urutan 100 byte (tergantung pada data TLV).
Prime tidak memberikan perlindungan dari pengeluaran ganda; Ini akan disediakan oleh bagian sistem yang divalidasi di sisi klien. Satu -satunya bagian dari sistem pencampuran waktu yang divalidasi (aturan konsensus) adalah:
Header utama adalah satu -satunya informasi yang harus tersedia secara publik dan global; Ini dapat dicapai dengan menggunakan jaringan P2P terdistribusi.
Bukti Pohon Merkle ( PMT ) adalah struktur perantara dan sesaat yang menghubungkan data yang divalidasi di sisi klien ke header. PMT diproduksi oleh penambang dan tersedia untuk umum melalui cara yang sama atau lain dengan header; Namun, tidak seperti header, mereka tidak diharuskan bertahan. Setiap pengguna jaringan melacak semua PMT baru, mengekstrak bagian dari informasi yang terkait dengan status yang dimilikinya, menyimpannya ke dalam simpanan data yang divalidasi dengan sisi klien dan membuang sisa PMT.
Karena sifat sesaat, tidak adanya validasi dan tidak perlu mengetahui konten PMT untuk menambang header berikutnya, ukuran PMT tidak mempengaruhi skalabilitas sistem. Dengan demikian PMT mungkin dari ukuran gigabyte (multipel), berkomitmen untuk miliaran dan miliaran transaksi.
Daun pohon berisi saksi yang menutup seal tunggal: mekanisme yang dijelaskan secara rinci di bagian selanjutnya. PMT dibangun sesuai dengan skema komitmen deterministik multi-protokol LNPBP-4 standar dan digunakan dalam RGB hari ini untuk meng-host komitmen dalam transaksi Bitcoin (baik protokol offchain di rantai maupun di dalam seperti petir). Ini berarti bahwa setiap penggunaan ganti rugi memiliki penempatan yang telah ditentukan sebelumnya di PMT, sehingga satu jalur Merkle tunggal dan saksi daun cukup untuk membuktikan penutupan-atau tidak adanya penutupan-dari penggunaan penggunaan tunggal tertentu di dalamnya header yang diberikan. Pengguna melacak serangkaian penggunaan penggunaan tunggal mereka yang belum ditutup (analog dari set utxo) dan mengekstrak bukti relatif dari setiap PMT yang baru diproduksi. Jika segel mereka tidak ditutup, ini adalah bukti dari non-operasi (karena saksi menunjukkan suara penggunaan tunggal yang berbeda ditutup di jalur itu).
Bukti merupakan bagian yang tergantung pada waktu yang tergantung pada sejarah yang divalidasi di sisi klien. Persyaratan memori untuk suatu simpul akan tumbuh dengan cara yang tergantung pada waktu
Di mana
Ini secara logaritmik lebih baik daripada skalabilitas simpul blockchain, di mana persyaratan memori tumbuh sebagai
Di mana
Di mana
Itu
Di mana
Protokol penggunaan-penggunaan tunggal mencegah serangan pengeluaran ganda pada sistem.
Single use-seal (atau segel ) adalah bentuk khusus dari komitmen kriptografi yang diusulkan oleh Peter Todd. Primitif dapat dibandingkan dengan bentuk lain dari komitmen kriptografi yang mencakup fungsi hash dan cap waktu:
Informasi lebih lanjut tentang konstruksi penggunaan-penggunaan tunggal diberikan dalam standar LNPBP-8. Prime menggunakan bentuk seal sekali pakai yang dirancang khusus yang berbeda dari yang digunakan dalam protokol yang ada (seperti RGB).
Definisi penggunaan penggunaan tunggal terdiri dari dua komponen:
unique_id
: Identifier yang dihasilkan pengguna secara global-unik, yang dapat secara deterministik dihasilkan dari kontrak_id, operasi hash operasi dan nomor output operasi kontrak;spending_conditions_cmt
: komitmen (hash) dari kondisi di mana segel dapat ditutup di masa depan (mirip dengan scriptPubkey
dalam output transaksi bitcoin). Segel didefinisikan dalam sistem kontrak pintar yang divalidasi-sisi (RGB atau RGB). Setiap segel mungkin memiliki keadaan yang ditetapkan (seperti dalam RGB), misalnya, saldo BTC atau data kaya lainnya. Ketika pengguna suka memperbarui status itu-atau mentransfer kepemilikannya ke pengguna lain, transisi negara harus disiapkan, mendefinisikan penggunaan penggunaan tunggal baru dan negara baru. Selanjutnya, saksi penutupan yang digunakan oleh penggunaan penggunaan tunggal, berkomitmen pada data transisi negara dan memberikan skrip sumber, mencocokkan komitmen kondisi pengeluaran, dan data yang memenuhi skrip/kondisi itu. Proposal abstrak dari sistem skrip spesifik yang digunakan (dapat berupa kesederhanaan, aluvm seperti dalam RGB hari ini, dan berharap bukan EVM :); Mesin skrip dapat ditentukan menggunakan bidang version
, sehingga mesin atau opcodes baru dapat diperkenalkan dari waktu ke waktu (lihat bagian Upgradaity):
ClassDiagram
arah lr
Definisi <|- saksi: unik_id
Definisi kelas {
unik_id
spending_conditions_cmt
}
Saksi kelas {
versi
unik_id
state_transition_cmt
spending_conditions_src
kepuasan_data
}
Saksi dimasukkan ke dalam bentuk eksplisit di dalam daun ptree dan diberikan kepada para penambang, membangun ptree dan header. Daun harus dimasukkan ke dalam determinti pohon merkle mengenai segel unique_id
, misalnya ke dalam slot
Jalur Merkle ke Leaf yang cocok unique_id
, bersama dengan konten daun (memberikan data saksi) memungkinkan untuk memverifikasi bahwa setiap penggunaan guna-seal ditutup sekali dan hanya sekali dalam sejarah kontrak pintar-dan bahwa itu ditutup memuaskan yang ditulis dengan skrip kondisi. Harap dicatat, bahwa buktinya harus diakumulasikan untuk setiap unique_id
guna-seal tunggal_id dari saat definisinya sampai penutupan-persyaratan untuk membuktikan bahwa segel tidak ditutup di antaranya. Bukti-bukti ini, selama mereka menunjukkan berbagai unique_id
, dapat menghilangkan kode sumber yang peka terhadap privasi kode sumber dan data kepuasan, hanya menyediakan hash mereka; Dengan demikian saksi historis mungkin berukuran tetap. Seperti disebutkan sebelumnya, untuk tujuan skalabilitas, sejarah bukti juga dapat dikompresi lebih lanjut menggunakan bukti nol-pengetahuan.
Sistem, ketika digunakan dengan opsi tanpa izin, akan memerlukan protokol konsensus sendiri. Keamanan protokol tidak kritis, karena dipatok ke Bitcoin POW Security dengan mekanisme khusus yang dijelaskan di bawah ini. Satu-satunya persyaratan untuk konsensus adalah tahan sensor, yang berarti serangkaian penambang/validator tanpa identitas yang terbuka. Satu -satunya protokol konsensus yang diketahui memuaskan sifat -sifat ini adalah POW dan varian crypsinous ouroboros dari konsensus BFT secara kriptoekonomis diamankan oleh penghargaan penambang.
Layanan pencampuran waktu tidak mencetak cryptocurrency apa pun, dan para penambang dihargai dengan biaya dari hari 1. Kontrak khusus untuk biaya penambang disediakan oleh RGB atau protokol kontrak pintar yang divalidasi di sisi klien lainnya, yang menentukan alat pembayaran (BTC lainnya , pembayaran stablecoin atau tokenized). Penambang harus berpartisipasi dalam jaringan P2P anonim tanpa izin, di mana pengguna protokol mempublikasikan saksi mereka yang dilengkapi dengan transaksi yang membayar biaya untuk "siapa pun yang menambang header berikutnya". Penambang memasukkan transaksi ini dalam sejarah klien-divalidasi dan dengan melakukan itu memiliki kemampuan untuk menggunakan dana yang diperoleh di masa depan.
Pada saat sistem meluncurkan output "-pengeluaran siapa pun" yang berdedikasi dengan jumlah SAT di atas debu dibuat di blockchain Bitcoin. Informasi tentang utxo ini menjadi bagian dari Kejadian dan berfungsi sebagai definisi dari penambangan penggunaan guna-seal . Seorang penambang yang memecahkan tantangan POW harus menghabiskan output itu dan di dalam transaksi bitcoin pengeluaran memberikan komitmen tapret untuk header yang ditambang dan single-goal-seal "siapa pun-bersih" baru untuk penambang berikutnya. Ini menjangkar header yang dibuat ke blockchain Bitcoin dengan cara yang unik, sehingga satu-satunya urutan header yang valid dengan waktu adalah yang mengikuti urutan penggunaan penggunaan tunggal ini.
Jika suatu pihak membelanjakan penambang penggunaan tunggal saat ini tanpa membuat komitmen-atau berkomitmen untuk header tanpa POW yang memadai, penutupan tersebut dianggap tidak valid; Dalam hal ini, pihak mana pun diizinkan untuk membuat transaksi Bitcoin khusus yang menyediakan informasi OP_RETURN
yang dapat diidentifikasi secara publik ("Pengumuman") tentang penambang baru-penggunaan-SEAL ( reset protokol ); Hanya pengumuman OP_RETURN
pertama yang ditutup dengan prosedur yang tepat dianggap valid berdasarkan aturan konsensus.
Penahan Pow Single Usal-Seal mewakili protokol konsensus penuh yang dapat dijalankan oleh sistem tanpa konsensus tambahan lainnya (POW atau BFT). Alternatively, it can be combined with a secondary consensus with a rule that unless the security of the second consensus protocol is lower than Bitcoin PoW security the Bitcoin PoW has the priority - with an automatic switch back to the secondary consensus as a primary consensus when this kondisi tidak terpenuhi.
Kami sengaja tidak membahas pertanyaan tentang struktur jaringan P2P dalam proposal ini, karena beberapa sistem alternatif dapat hidup berdampingan dan bersaing dengan cara yang didorong oleh pasar. Sebaliknya, karena properti jaringan penting untuk tujuan proyek, kami menentukan persyaratan umum untuk pemilihan jaringan P2P:
Pada saat saat ini kita tidak melihat jaringan memenuhi properti yang disebutkan di atas; Namun, kami melihat beberapa jaringan dengan potensi untuk berkembang terhadap mereka:
Kami berencana untuk mengerjakan proyek renostr, memanfaatkan pekerjaan kami sebelumnya dari Storm Protocol dan menggunakan enkripsi ujung ke ujung bergaya BIP-324. Proyek lain dapat membangun solusi alternatif, dan pilihan terbaik harus dipilih oleh pasar.
Kami melihat tiga langkah - atau opsi - dalam bagaimana solusi yang diusulkan dapat digunakan dalam bitcoin. Masing -masing langkah adalah opsional; Sistem dapat beroperasi tanpa satu atau dua dari mereka. Juga, setiap opsi memiliki tradeoff sendiri, namun, jika digunakan sebagai langkah konsekuen, pengorbanan ini dipecahkan secara bertahap.
Sistem ini dapat diluncurkan secara independen dari Bitcoin Timechain, dengan konsensus berlabuh ke keamanan Bitcoin POW melalui mekanisme khusus berdasarkan penggunaan penggunaan tunggal (yang kami jelaskan di koran). Ini tidak memerlukan perubahan apa pun di sisi penambang atau bitcoin lunak/hardtorger, namun dengan pengaturan ini BTC dapat ditransfer ke sistem baru tanpa dipercaya hanya dengan satu cara - dan cara lain akan memerlukan federasi.
Penambang Bitcoin mulai memproses transaksi utama dan menempatkan komitmen untuk header layanan waktu ke coinbase blockchain Bitcoin - seperti yang mereka lakukan dalam kasus penambangan gabungan. Ini menghilangkan kebutuhan akan konsensus utama yang berdedikasi, tetapi rentan terhadap serangan kekuatan hash, mengharuskan mayoritas penambang untuk bergabung dengan protokol sebelum penyebarannya.
Proposal tidak memerlukan softfork spesifik, namun, dengan aturan konsensus Bitcoin saat ini, ia tidak dapat memberikan cara tanpa kepercayaan agar BTC dipindahkan dari sistem prime baru kembali ke blockchain Bitcoin. Meskipun kami tidak melihat ini sebagai persyaratan (Prime memiliki terlalu banyak manfaat dari blockchain sehingga kami menganggap blockchain sudah mati jangka panjang), dalam jangka pendek ini dapat menghadirkan tantangan untuk adopsi platform.
Ada banyak proposal soft-fork yang berbeda yang memungkinkan fungsionalitas tersebut. Mereka termasuk dalam dua kategori utama:
Mengadopsi salah satu dari proposal ini akan memungkinkan pasak tanpa kepercayaan untuk BTC pada platform utama. Preferensi kami sendiri mengejar op-codes yang mengaktifkan pengetahuan nol, karena mereka memiliki banyak manfaat lain dan tidak memberikan tradeoff yang tidak dapat dihindari di drivechains.
Meningkatkan sistem yang divalidasi-sisi klien sangat berbeda dari peningkatan jaringan blockchain-atau P2P (seperti petir). Ini disebabkan oleh fakta bahwa blockchain adalah protokol konsensus yang merupakan mesin negara yang direplikasi sepenuhnya, sedangkan validasi sisi klien menggunakan replikasi parsial. Ini, di satu sisi, membuatnya lebih sederhana untuk meningkatkan sistem di bagian-bagian yang terkait dengan keadaan yang tidak diketahui-tetapi di sisi lain, karena tidak adanya jaminan yang tidak digerakkan ekonomi pada keadaan yang dapat diakses secara global yang disediakan oleh jaringan tersebut , jauh lebih sulit untuk mengoordinasikan peningkatan apa pun.
Dengan kata lain, peningkatan validasi sisi klien pada dasarnya berbeda dengan hardchain blockchain dan soft forkks, dan memerlukan pengenalan konsep dan istilah baru.
Jika ada sesuatu yang tidak valid dan telah menjadi valid setelah peningkatan (kami menyebut perubahan cepat ini), semua pengguna yang ada tidak akan terpengaruh: mereka sudah memiliki dan mengelola keadaan yang valid. Namun, mereka mungkin tidak dapat berinteraksi dengan pengguna yang menjalankan versi yang lebih lama dari perangkat lunak - masalah yang dapat dipecahkan jika rekan -rekan mereka setuju untuk meningkatkan. Peningkatan tidak memberikan risiko bagi rekan -rekan itu karena mereka tidak akan menggunakan negara bagian yang mereka miliki - dan peningkatan tidak akan menyentuh data bersejarah.
Di sisi lain, situasi ketika sesuatu valid - dan menjadi tidak valid di bawah aturan baru - sangat berbeda: pengguna mungkin kehilangan keadaan yang ada selamanya dan harus menentang peningkatan sebanyak mungkin. Kami menyebut peningkatan push-backs , dan kami melihatnya hanya dapat diterima jika bug kritis ditemukan: peningkatan akan "dikoordinasikan" oleh keinginan pengguna yang tulus/tidak berolahraga untuk menghindari masalah yang diperkenalkan oleh bug.
Jika sistem yang terinspirasi RGB atau RGB digunakan sebagai komponen kontrak pintar, peningkatan bagian ini akan memiliki fitur khas lainnya. RGB mengisolasi setiap program ("kontrak pintar") ke dalam kotak pasir; dan kontrak, setelah dikeluarkan, tidak dapat meningkatkan ke versi baru protokol. Satu -satunya cara untuk meningkatkan adalah dengan menghasilkan kontrak baru ketika penerbit (atau pihak yang didelegasikan oleh penerbit, termasuk masyarakat) akan melakukan transfer negara dari kontrak lama ke yang baru - dan masing -masing kontrak dari kontrak Pemilik akan menyetujui itu.
As a side benefit, this approach allows the gradual introduction of new features, instructions etc, not achievable in the blockchain world: issuers of the new contracts do not depend on the previous protocol versions and can propose more advanced solutions without any additional upgrade risk or Koordinasi Komunitas.
Penulis berterima kasih kepada Giacomo Zucco, yang merupakan orang yang tersebar dengan gagasan menghilangkan ketergantungan bitcoin pada blockchain terbatas dan melihat validasi sisi klien sebagai jalan ke depan. Berbagai diskusi dengannya dan Peter Todd selama bertahun -tahun telah membantu dalam merancang banyak bagian sistem. Di antara yang lain, penulis ingin menyebutkan Alex Kravets, Federico Tenga, Olga Ukolova yang merupakan lawan bicara yang menghabiskan banyak waktu dalam membahas hal-hal yang berkaitan dengan validasi sisi klien, cacat blockchain, dan desain tanpa blockchain.