Pilih Bahasa

Perjanjian Bitcoin Terlepas: Model Formal untuk Kontrak Pintar Lanjutan

Model formal untuk perjanjian Bitcoin yang membolehkan kontrak pintar kompleks, mesin keadaan, dan ekspresi UTXO yang dipertingkat tanpa keadaan boleh ubah bersama.
hashratetoken.org | PDF Size: 0.2 MB
Penilaian: 4.5/5
Penilaian Anda
Anda sudah menilai dokumen ini
Sampul Dokumen PDF - Perjanjian Bitcoin Terlepas: Model Formal untuk Kontrak Pintar Lanjutan

1. Pengenalan

Model Output Transaksi Belum Dibelanjakan (UTXO) Bitcoin, walaupun elegan untuk pemindahan mata wang serentak, mempunyai batasan ketara untuk melaksanakan kontrak pintar berkeadaan kompleks kerana ketiadaan keadaan boleh ubah bersama. Perjanjian muncul sebagai primitif linguistik kritikal yang dicadangkan untuk melanjutkan Skrip Bitcoin, membolehkan transaksi mengenakan kekangan pada skrip transaksi penebusan masa depan. Kertas kerja ini menangani jurang dalam model formal dan abstrak untuk perjanjian, yang sejak kemunculannya sekitar 2013 kebanyakannya diterangkan dari perspektif aras rendah yang fokus pada pelaksanaan. Dengan menyediakan asas formal, kerja ini bertujuan untuk memudahkan penaakulan tentang sifat kontrak, membolehkan penentuan kes penggunaan lanjutan melebihi keupayaan semasa Bitcoin, dan memudahkan reka bentuk abstraksi pengaturcaraan aras tinggi.

2. Model Bitcoin Tulen

Kertas kerja ini mengadaptasi formalisasi model transaksi teras Bitcoin. Dalam model UTXO, keadaan rantaian blok ditakrifkan oleh satu set output transaksi yang belum dibelanjakan. Setiap output mengandungi nilai (jumlah bitcoin) dan scriptPubKey (skrip pengunci) yang menentukan syarat yang diperlukan untuk membelanjakannya. Transaksi pembelanjaan menyediakan scriptSig (skrip pembukaan kunci) dan merujuk kepada UTXO yang ingin digunakannya. Pengesahan melibatkan pelaksanaan skrip yang digabungkan. Yang penting, Skrip Bitcoin piawai adalah terhadap: ia tidak boleh mengintrospeksi atau menyekat struktur transaksi pembelanjaan selain daripada pengesahan tandatangan dan aritmetik/logik asas, menghalang penciptaan kontrak yang menguatkuasakan protokol berbilang langkah.

3. Model Formal Perjanjian

Sumbangan teras ialah model formal yang mengabstrakkan kod operasi perjanjian yang dicadangkan (seperti OP_CHECKTEMPLATEVERIFY).

3.1. Primitif & Sintaks Perjanjian

Model ini memperkenalkan predikat perjanjian sebagai sambungan kepada Skrip Bitcoin. Perjanjian pada dasarnya ialah kekangan $C(T_x, T_{next})$ yang dinilai sebagai benar atau palsu, di mana $T_x$ ialah transaksi semasa yang sedang dibelanjakan dan $T_{next}$ ialah transaksi pembelanjaan yang dicadangkan. Predikat boleh memeriksa medan $T_{next}$, seperti skrip outputnya, jumlah, atau masa kunci.

3.2. Semantik Operasi

Peraturan pengesahan diperluaskan: Untuk UTXO dengan perjanjian, pengesahan transaksi pembelanjaan $T_{next}$ memerlukan bukan sahaja scriptSig-nya memenuhi scriptPubKey asal tetapi juga predikat perjanjian $C$ berpegang untuk pasangan $(T_x, T_{next})$. Ini ditakrifkan secara formal menggunakan peraturan semantik operasi yang menyepadukan semakan perjanjian ke dalam logik pengesahan Bitcoin sedia ada.

3.3. Perjanjian Rekursif & Mesin Keadaan

Varian yang berkuasa ialah perjanjian rekursif, di mana $C$ boleh menguatkuasakan bahawa output $T_{next}$ itu sendiri mengandungi perjanjian $C'$ yang sama (atau berkaitan). Ini membolehkan pelaksanaan mesin keadaan pada Bitcoin: setiap transaksi mewakili peralihan keadaan, dengan perjanjian memastikan peraturan mesin keadaan dipatuhi merentasi rantai transaksi. Kertas kerja ini memformalkannya sebagai urutan transaksi $T_1, T_2, ..., T_n$ di mana untuk setiap $i$, $C(T_i, T_{i+1})$ berpegang.

4. Menentukan Kontrak Bitcoin Kompleks

Model formal digunakan untuk menentukan kontrak yang pada masa ini tidak boleh diungkapkan atau menyusahkan dalam Bitcoin tulen.

4.1. Peti Besi & Pengeluaran Berkunci Masa

Perjanjian boleh mencipta "peti besi" di mana dana yang dicuri boleh dipulihkan. Transaksi boleh memerlukan bahawa sebarang pengeluaran besar mesti terlebih dahulu pergi ke output berkunci masa, membolehkan pemilik membatalkannya jika ia tidak dibenarkan. Ini ditentukan oleh perjanjian yang menyemak medan nLockTime dan struktur output $T_{next}$.

4.2. Saluran Pembayaran & Rangkaian Lightning

Walaupun Rangkaian Lightning wujud, perjanjian boleh memudahkan dan mengamankan pembinaan asasnya. Mereka boleh menguatkuasakan bahawa transaksi penutupan saluran mestilah keadaan terkini, menghalang siaran keadaan lama, dengan menyekat transaksi pembelanjaan supaya sepadan dengan kemas kini yang telah ditandatangani terlebih dahulu.

4.3. Primitif Kewangan Terpencar (DeFi)

Konstruk DeFi mudah seperti hutang bercagar atau pertukaran bukan jagaan menjadi mungkin. Perjanjian boleh mengunci dana dalam transaksi yang hanya boleh dibelanjakan oleh transaksi yang membentangkan bukti kriptografi yang sah tentang pembayaran daripada rakan niaga atau pelupusan.

5. Primitif Bahasa Aras Tinggi

Kertas kerja ini membincangkan bagaimana perjanjian boleh berfungsi sebagai sasaran penyusunan untuk bahasa kontrak aras tinggi. Primitif seperti "keluar selepas masa T", "belanja hanya jika rakan niaga menandatangani", atau "alih keadaan dari A ke B" boleh dipetakan secara langsung kepada kekangan perjanjian tertentu, meningkatkan tahap abstraksi untuk pembangun kontrak Bitcoin.

6. Inti Pati & Perspektif Penganalisis

Inti Pati: Bartoletti et al. bukan sekadar mencadangkan kod operasi perjanjian lain; mereka menyampaikan teori formal yang hilang yang mengubah hack pintar menjadi paradigma pengaturcaraan yang sah dan boleh dianalisis untuk Bitcoin. Ini adalah kunci yang membuka kunci kejuruteraan sistematik kontrak kompleks dan selamat pada rantaian blok UTXO, melangkaui skrip ad-hoc.

Aliran Logik: Hujahnya mudah dan menarik: 1) Model UTXO Bitcoin kekurangan keadaan, mengehadkan kontrak. 2) Perjanjian yang dicadangkan sebagai penyelesaian kurang difahami secara formal. 3) Oleh itu, kami membina model formal. 4) Menggunakan model ini, kami menunjukkan ia boleh menyatakan kes penggunaan kompleks yang berharga (peti besi, saluran, DeFi). 5) Formalisme ini kemudian secara semula jadi membolehkan reka bentuk bahasa aras tinggi. Ia adalah saluran klasik "teori membolehkan amalan" yang dilaksanakan dengan tepat.

Kekuatan & Kelemahan: Kekuatan utama ialah merapatkan jurang antara teori kriptografi/PL dan kejuruteraan Bitcoin—jurang yang telah menyebabkan pepijat mahal dalam model berasaskan akaun Ethereum. Semantik formal membolehkan pengesahan sifat, satu kejayaan besar. Kelemahan, yang diakui secara tersirat, ialah ekonomi politik Bitcoin. Seperti yang dinyatakan dalam kertas kerja, "pendekatan yang sangat berhati-hati" Bitcoin menjadikan penyebaran kod operasi baru seperti perjanjian sebagai tugas yang sangat sukar, tanpa mengira keanggunan formalnya. Kejayaan Lapisan-2 seperti Lightning tanpa perjanjian asli juga menimbulkan persoalan tentang keperluan berbanding kemudahan. Tambahan pula, keselamatan model ini bergantung pada andaian bahawa medan yang disekat (seperti cincang skrip) adalah mencukupi; kesan interaksi yang tidak dijangka dengan kod operasi lain mungkin kekal.

Wawasan Boleh Tindak: Untuk penyelidik, kertas kerja ini adalah pelan: gunakan kaedah formal untuk mengurangkan risiko dan menjelaskan peningkatan rantaian blok. Untuk pembangun, mulakan mereka bentuk rangka kerja kontrak sekarang dengan mengandaikan perjanjian akan wujud (seperti yang dilihat pada Liquid atau Stacks). Untuk pembangun protokol Bitcoin, kertas kerja ini menyediakan asas yang kukuh yang diperlukan untuk memperdebatkan BIP 119 (OP_CTV) atau cadangan serupa—ia mengubah permintaan ciri menjadi spesifikasi kejuruteraan. Pengajaran terbesar: masa depan kontrak pintar Bitcoin bukan tentang meniru Ethereum, tetapi tentang memanfaatkan paradigma UTXO+perjanjian yang unik untuk mencipta kelas aplikasi terpencar baru, yang berpotensi lebih selamat dan boleh skala.

7. Butiran Teknikal & Formalisme

Model formal mentakrifkan transaksi, skrip, dan pengesahan secara kontekstual. Butiran teknikal utama ialah perwakilan kekangan perjanjian. Biarkan $\texttt{tx}$ mewakili transaksi. Perjanjian boleh dilihat sebagai fungsi:

$\text{Covenant}_{\text{cond}} : \texttt{tx}_{\text{current}} \times \texttt{tx}_{\text{next}} \times \sigma \rightarrow \{\text{True}, \text{False}\}$

di mana $\sigma$ mewakili konteks pengesahan (ketinggian blok, dll.). Predikat $\text{cond}$ boleh menjadi gabungan semakan pada medan $\texttt{tx}_{\text{next}}$:

$\text{cond} \equiv (\texttt{hashOutputs}(\texttt{tx}_{\text{next}}) = H) \land (\texttt{nLockTime}(\texttt{tx}_{\text{next}}) > T) \land ...$

Ini sejajar dengan cadangan seperti OP_CHECKTEMPLATEVERIFY, yang menolak cincang bahagian tertentu transaksi pembelanjaan ke dalam timbunan untuk perbandingan. Sifat rekursif diformalkan dengan memastikan output $\texttt{tx}_{\text{next}}$ mengandungi skrip $S'$ yang sendiri menguatkuasakan perjanjian $\text{Covenant}_{\text{cond}'}$.

8. Kerangka Analisis & Kes Contoh

Contoh: Kontrak Peti Besi Mudah
Matlamat: Cipta UTXO yang boleh dibelanjakan dalam dua cara: 1) Serta-merta, tetapi hanya kepada alamat "penyimpanan sejuk" tertentu. 2) Kepada mana-mana alamat, tetapi hanya selepas kelewatan 30 hari (membolehkan pembatalan kecurian).
Aplikasi Kerangka menggunakan Model Formal:
1. Skrip Pengunci Awal (scriptPubKey): Mengandungi syarat perjanjian $C_1$.
2. Perjanjian $C_1(T_{vault}, T_{spend})$: Mesti dinilai sebagai Benar. Ia menyemak:
    a) Laluan A (Serta-merta): $\texttt{hashOutputs}(T_{spend}) = H_{cold}$ // Output mesti dicincang kepada alamat penyimpanan sejuk yang telah diikat terlebih dahulu.
    b) Laluan B (Tertangguh): $\texttt{nLockTime}(T_{spend}) \geq \text{currentBlock} + 4320$ (30 hari dalam blok) DAN $\texttt{hashOutputs}(T_{spend})$ boleh menjadi apa-apa.
3. Pengesahan: Apabila membelanjakan UTXO peti besi dengan $T_{spend}$, nod Bitcoin melaksanakan skrip. Ia memerlukan tandatangan daripada pemilik peti besi dan mengesahkan bahawa $C_1$ berpegang untuk pasangan transaksi.
Contoh ini menunjukkan bagaimana predikat model formal $C(T_x, T_{next})$ dijelmakan dengan semakan konkrit pada medan transaksi seterusnya, membolehkan sifat keselamatan (pemulihan kecurian) yang mustahil dalam Bitcoin asas.

9. Aplikasi & Hala Tuju Masa Depan

Formalisasi ini membuka beberapa laluan masa depan:

  • Penyusun Disahkan: Membina penyusun dari bahasa aras tinggi (seperti sambungan Simplicity atau Miniscript) ke Skrip Bitcoin yang disematkan perjanjian, dengan bukti formal ketepatan.
  • Perjanjian Rentas Rantaian: Meneroka perjanjian yang menyekat pembelanjaan berdasarkan peristiwa dari rantaian blok atau orakel lain, menggunakan bukti kriptografi seperti SPV, seperti yang diisyaratkan oleh kerja terdahulu mengenai "jambatan" dan penyelidikan terkini mengenai gulungan.
  • Perjanjian Pemelihara Privasi: Mengintegrasikan semakan perjanjian dengan bukti pengetahuan sifar (contohnya, menggunakan tandatangan Taproot/Schnorr) untuk menyembunyikan logik kontrak sambil masih menguatkuasakannya, satu hala tuju yang diterokai dalam projek seperti Ark.
  • Analisis Keselamatan Formal: Menggunakan model untuk menganalisis secara sistematik keselamatan konstruksi perjanjian yang dicadangkan terhadap serangan ekonomi dan kriptografi, serupa dengan kerja yang dilakukan pada kontrak pintar Ethereum oleh komuniti IEEE Symposium on Security and Privacy.
  • Pemudahan Protokol Lapisan-2: Mereka bentuk semula protokol seperti Rangkaian Lightning atau rantaian sisi (Liquid) untuk menjadi lebih cekap dan meminimumkan kepercayaan dengan memanfaatkan perjanjian asli, mengurangkan keperluan untuk menara pengawas atau persekutuan yang kompleks.

10. Rujukan

  1. M. Bartoletti, S. Lande, R. Zunino. Bitcoin covenants unchained. arXiv:2006.03918v2 [cs.PL]. 2020.
  2. S. Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008.
  3. J. Poon, T. Dryja. The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments. 2016.
  4. M. Moser, I. Eyal, E. G. Sirer. Bitcoin Covenants. Financial Cryptography 2016 Workshops.
  5. Bitcoin Improvement Proposal 119 (BIP 119). OP_CHECKTEMPLATEVERIFY.
  6. G. Wood. Ethereum: A Secure Decentralised Generalised Transaction Ledger. Ethereum Yellow Paper. 2014.
  7. A. Miller, et al. Hashed Timelock Contracts (HTLCs). 2017.
  8. R. O'Connor. Simplicity: A New Language for Blockchains. Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security.
  9. Blockstream. Liquid Network. https://blockstream.com/liquid/
  10. IEEE Symposium on Security and Privacy. Multiple papers on smart contract security analysis. Various years.