Dil Seçin

Bitcoin Sözleşmelerinin Zincirlerinden Kurtuluşu: Gelişmiş Akıllı Sözleşmeler için Biçimsel Bir Model

Paylaşılan değiştirilebilir durum olmadan karmaşık akıllı sözleşmeleri, durum makinelerini ve gelişmiş UTXO ifade gücünü mümkün kılan Bitcoin sözleşmeleri için biçimsel bir model.
hashratetoken.org | PDF Size: 0.2 MB
Değerlendirme: 4.5/5
Değerlendirmeniz
Bu belgeyi zaten değerlendirdiniz
PDF Belge Kapağı - Bitcoin Sözleşmelerinin Zincirlerinden Kurtuluşu: Gelişmiş Akıllı Sözleşmeler için Biçimsel Bir Model

1. Giriş

Bitcoin'in Harcanmamış İşlem Çıktısı (UTXO) modeli, eşzamanlı para transferi için zarif olsa da, paylaşılan değiştirilebilir bir durumdan yoksun olması nedeniyle karmaşık, durum bilgisi olan akıllı sözleşmelerin uygulanmasında önemli kısıtlamalar sunar. Sözleşmeler, bir işlemin gelecekteki harcama işlemlerinin betiklerine kısıtlamalar getirmesine izin vererek Bitcoin Script'i genişletmek için önerilen kritik bir dilsel ilkel yapı olarak ortaya çıkmaktadır. Bu makale, 2013 civarındaki ortaya çıkışlarından bu yana çoğunlukla düşük seviyeli, uygulama odaklı bir perspektiften tanımlanan sözleşmeler için biçimsel, soyut modellerdeki boşluğu ele almaktadır. Biçimsel bir temel sağlayarak, bu çalışma sözleşme özellikleri hakkında akıl yürütmeyi basitleştirmeyi, Bitcoin'in mevcut yeteneklerinin ötesinde gelişmiş kullanım senaryolarının belirtilmesini mümkün kılmayı ve daha üst düzey programlama soyutlamalarının tasarımını kolaylaştırmayı amaçlamaktadır.

2. Saf Bitcoin Modeli

Makale, temel Bitcoin işlem modelinin biçimselleştirilmesini uyarlamaktadır. UTXO modelinde, blok zinciri durumu bir dizi harcanmamış işlem çıktısı ile tanımlanır. Her çıktı bir değer (bitcoin miktarı) ve onu harcamak için gereken koşulları belirten bir scriptPubKey (kilitleme betiği) içerir. Bir harcama işlemi, bir scriptSig (kilidi açma betiği) sağlar ve tüketmek istediği UTXO'ya referans verir. Doğrulama, birleştirilmiş betiklerin çalıştırılmasını içerir. Kritik olarak, standart Bitcoin Script sınırlıdır: imza doğrulama ve temel aritmetik/mantık dışında, harcama işleminin yapısını iç gözlemleyemez veya kısıtlayamaz; bu da çok adımlı protokolleri zorunlu kılan sözleşmelerin oluşturulmasını engeller.

3. Sözleşmelerin Biçimsel Modeli

Temel katkı, önerilen sözleşme opcode'larını (OP_CHECKTEMPLATEVERIFY gibi) soyutlayan biçimsel bir modeldir.

3.1. Sözleşme İlkel Yapıları & Sözdizimi

Model, sözleşme yüklemlerini Bitcoin Script uzantıları olarak tanıtır. Bir sözleşme esasen doğru veya yanlış olarak değerlendirilen bir $C(T_x, T_{next})$ kısıtlamasıdır; burada $T_x$ harcanan mevcut işlem, $T_{next}$ ise önerilen harcama işlemidir. Yüklem, $T_{next}$'in çıktı betikleri, miktarları veya kilitleme süreleri gibi alanlarını inceleyebilir.

3.2. İşlemsel Anlambilim

Doğrulama kuralı genişletilmiştir: Bir sözleşmeye sahip bir UTXO için, bir harcama işlemi $T_{next}$'in doğrulanması, yalnızca scriptSig'inin orijinal scriptPubKey'i karşılamasını değil, aynı zamanda sözleşme yüklemi $C$'nin $(T_x, T_{next})$ çifti için geçerli olmasını gerektirir. Bu, sözleşme kontrolünü mevcut Bitcoin doğrulama mantığına entegre eden işlemsel anlambilim kuralları kullanılarak biçimsel olarak tanımlanır.

3.3. Özyinelemeli Sözleşmeler & Durum Makineleri

Güçlü bir varyant, özyinelemeli sözleşmedir; burada $C$, $T_{next}$'in çıktısının kendisinin aynı (veya ilişkili) $C'$ sözleşmesini içermesini zorunlu kılabilir. Bu, Bitcoin üzerinde durum makinelerinin uygulanmasını mümkün kılar: her işlem bir durum geçişini temsil eder ve sözleşme, bir işlem zinciri boyunca durum makinesi kurallarının takip edilmesini sağlar. Makale bunu, her $i$ için $C(T_i, T_{i+1})$'in geçerli olduğu bir $T_1, T_2, ..., T_n$ işlem dizisi olarak biçimselleştirir.

4. Karmaşık Bitcoin Sözleşmelerinin Belirtilmesi

Biçimsel model, saf Bitcoin'de şu anda ifade edilemeyen veya hantal olan sözleşmeleri belirtmek için uygulanmaktadır.

4.1. Kasa Sözleşmeleri & Zaman Kilitlemeli Para Çekme

Sözleşmeler, çalınan fonların kurtarılabileceği "kasalar" oluşturabilir. Bir işlem, herhangi bir büyük para çekme işleminin önce zaman kilitlemeli bir çıktıya gitmesini gerektirebilir; bu, sahibinin yetkisizse iptal etmesine izin verir. Bu, $T_{next}$'in nLockTime alanını ve çıktı yapısını kontrol eden bir sözleşme ile belirtilir.

4.2. Ödeme Kanalları & Lightning Ağı

Lightning Ağı mevcut olsa da, sözleşmeler alt yapısını basitleştirebilir ve güvenli hale getirebilir. Bir kanalın kapanış işleminin en güncel durum olmasını zorunlu kılarak, eski durum yayınlarını önleyebilirler; bu, harcama işlemini önceden imzalanmış bir güncellemeyle eşleşecek şekilde kısıtlayarak yapılır.

4.3. Merkeziyetsiz Finans (DeFi) İlkel Yapıları

Teminatlı borç veya emanetsiz takas gibi basit DeFi yapıları mümkün hale gelir. Bir sözleşme, fonları yalnızca karşı taraftan geçerli bir kriptografik ödeme kanıtı veya tasfiye kanıtı sunan bir işlem tarafından harcanabilecek bir işlemde kilitleyebilir.

5. Üst Düzey Dil İlkel Yapıları

Makale, sözleşmelerin üst düzey sözleşme dilleri için bir derleme hedefi olarak nasıl hizmet edebileceğini tartışmaktadır. "T zamanından sonra çek", "yalnızca karşı taraf imzalarsa harca" veya "durumu A'dan B'ye geçir" gibi ilkel yapılar, doğrudan belirli sözleşme kısıtlamalarına eşlenebilir; bu da Bitcoin sözleşme geliştiricileri için soyutlama seviyesini yükseltir.

6. Temel Kavrayış & Analist Perspektifi

Temel Kavrayış: Bartoletti ve diğerleri sadece başka bir sözleşme opcode'u önermiyorlar; zekice bir hack'i Bitcoin için meşru, analiz edilebilir bir programlama paradigmasına dönüştüren eksik biçimsel teoriyi sunuyorlar. Bu, UTXO blok zincirlerinde karmaşık, güvenli sözleşmelerin sistematik mühendisliğinin kilidini açan anahtardır; ad-hoc betik yazmanın ötesine geçer.

Mantıksal Akış: Argüman ikna edici derecede basittir: 1) Bitcoin'in UTXO modeli durumdan yoksundur, sözleşmeleri sınırlar. 2) Bir çözüm olarak önerilen sözleşmeler biçimsel olarak yeterince anlaşılmamıştır. 3) Bu nedenle, bir biçimsel model inşa ediyoruz. 4) Bu modeli kullanarak, değerli, karmaşık kullanım senaryolarını (kasalar, kanallar, DeFi) ifade edebileceğini gösteriyoruz. 5) Bu biçimselleştirme daha sonra doğal olarak daha üst düzey dil tasarımını mümkün kılar. Bu, hassasiyetle uygulanan klasik bir "teori pratiği mümkün kılar" sürecidir.

Güçlü Yönler & Eksiklikler: En büyük güçlü yan, kriptografi/PL teorisi ile Bitcoin mühendisliği arasındaki -Ethereum'un hesap tabanlı modelinde maliyetli hatalara yol açan- boşluğu kapatmasıdır. Biçimsel anlambilim, özellik doğrulamaya izin verir; bu büyük bir kazanımdır. Üstü kapalı olarak kabul edilen eksiklik, Bitcoin'in politik ekonomisidir. Makalenin de belirttiği gibi, Bitcoin'in "son derece ihtiyatlı yaklaşımı", biçimsel zarafetlerine bakılmaksızın, sözleşmeler gibi yeni opcode'ların dağıtılmasını herkülvari bir görev haline getirir. Ayrıca, Lightning gibi yerel sözleşmeler olmadan Katman-2'lerin başarısı, gereklilik ile fayda arasındaki ilişkiyi sorgulamaktadır. Dahası, modelin güvenliği, kısıtlanan alanların (betik hash'leri gibi) yeterli olduğu varsayımına dayanır; diğer opcode'larla öngörülemeyen etkileşim etkileri kalabilir.

Uygulanabilir İçgörüler: Araştırmacılar için bu makale bir yol haritasıdır: blok zinciri yükseltmelerini riskten arındırmak ve netleştirmek için biçimsel yöntemler kullanın. Geliştiriciler için, sözleşmelerin var olacağını varsayarak (Liquid veya Stacks'ta görüldüğü gibi) sözleşme çerçeveleri tasarlamaya şimdi başlayın. Bitcoin protokol geliştiricileri için, makale BIP 119 (OP_CTV) veya benzer önerileri savunmak için gereken titiz temeli sağlar - bir özellik talebini bir mühendislik spesifikasyonuna dönüştürür. En büyük çıkarım: Bitcoin akıllı sözleşmelerinin geleceği, Ethereum'u taklit etmekle ilgili değil, benzersiz UTXO+sözleşmeler paradigmasından yararlanarak yeni, potansiyel olarak daha güvenli ve ölçeklenebilir bir merkeziyetsiz uygulama sınıfı yaratmakla ilgilidir.

7. Teknik Detaylar & Biçimselleştirme

Biçimsel model, işlemleri, betikleri ve doğrulamayı bağlamsal olarak tanımlar. Önemli bir teknik detay, sözleşme kısıtlamasının temsilidir. $ exttt{tx}$ bir işlemi temsil etsin. Bir sözleşme bir fonksiyon olarak görülebilir:

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

burada $\sigma$ doğrulama bağlamını (blok yüksekliği vb.) temsil eder. $\text{cond}$ yüklemi, $\texttt{tx}_{\text{next}}$ alanları üzerinde yapılan kontrollerin bir birleşimi olabilir:

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

Bu, harcama işleminin belirtilen kısımlarının bir hash'ini karşılaştırma için yığına iten OP_CHECKTEMPLATEVERIFY gibi önerilerle uyumludur. Özyinelemeli özellik, $\texttt{tx}_{\text{next}}$'in bir çıktısının, kendisi bir $\text{Covenant}_{\text{cond}'}$ sözleşmesini zorunlu kılan bir $S'$ betiği içerdiğinden emin olunarak biçimselleştirilir.

8. Analiz Çerçevesi & Örnek Vaka

Örnek: Basit Bir Kasa Sözleşmesi
Amaç: İki şekilde harcanabilen bir UTXO oluşturmak: 1) Anında, ancak yalnızca belirli bir "soğuk depolama" adresine. 2) Herhangi bir adrese, ancak yalnızca 30 günlük bir gecikmeden sonra (hırsızlığın iptaline izin vererek).
Biçimsel Model Kullanılarak Çerçeve Uygulaması:
1. Başlangıç Kilitleme Betiği (scriptPubKey): Bir sözleşme koşulu $C_1$ içerir.
2. Sözleşme $C_1(T_{vault}, T_{spend})$: Doğru olarak değerlendirilmelidir. Şunları kontrol eder:
    a) Yol A (Anında): $\texttt{hashOutputs}(T_{spend}) = H_{cold}$ // Çıktı, önceden taahhüt edilmiş soğuk depolama adresine hash'lenmelidir.
    b) Yol B (Gecikmeli): $\texttt{nLockTime}(T_{spend}) \geq \text{currentBlock} + 4320$ (blok cinsinden 30 gün) VE $\texttt{hashOutputs}(T_{spend})$ herhangi bir şey olabilir.
3. Doğrulama: Kasa UTXO'su $T_{spend}$ ile harcandığında, Bitcoin düğümü betiği çalıştırır. Kasa sahibinden bir imza ve $C_1$'in işlem çifti için geçerli olduğunun doğrulanmasını gerektirir.
Bu örnek, biçimsel modelin $C(T_x, T_{next})$ yükleminin, bir sonraki işlemin alanları üzerinde somut kontrollerle nasıl örneklendiğini ve temel Bitcoin'de imkansız olan bir güvenlik özelliğini (hırsızlık kurtarma) nasıl mümkün kıldığını göstermektedir.

9. Gelecekteki Uygulamalar & Yönelimler

Biçimselleştirme, birkaç gelecek yönelimi açmaktadır:

  • Doğrulanmış Derleyiciler: Üst düzey dillerden (Simplicity veya Miniscript uzantıları gibi) sözleşme gömülü Bitcoin Script'e, doğruluk için biçimsel kanıtlarla birlikte derleyiciler inşa etmek.
  • Çapraz Zincir Sözleşmeleri: Harcamaları, diğer blok zincirlerinden veya oracle'lardan gelen olaylara bağlı kılan, SPV'ler gibi kriptografik kanıtlar kullanan sözleşmeleri araştırmak; "köprüler" üzerine önceki çalışmalarda ve rollup'lar üzerine son araştırmalarda ima edildiği gibi.
  • Gizliliği Korumalı Sözleşmeler: Sözleşme mantığını gizlerken hala onu zorunlu kılmak için sözleşme kontrollerini sıfır bilgi kanıtlarıyla (ör. Taproot/Schnorr imzaları kullanarak) entegre etmek; Ark gibi projelerde araştırılan bir yönelim.
  • Biçimsel Güvenlik Analizi: Modeli, önerilen sözleşme yapılarının güvenliğini ekonomik ve kriptografik saldırılara karşı sistematik olarak analiz etmek için kullanmak; IEEE Güvenlik ve Gizlilik Sempozyumu topluluğunun Ethereum'un akıllı sözleşmeleri üzerinde yaptığı çalışmaya benzer şekilde.
  • Katman-2 Protokol Basitleştirmesi: Lightning Ağı veya yan zincirler (Liquid) gibi protokolleri, yerel sözleşmelerden yararlanarak daha verimli ve güveni en aza indirilmiş şekilde yeniden tasarlamak; karmaşık gözetleme kuleleri veya federasyonlara olan ihtiyacı azaltmak.

10. Kaynaklar

  1. M. Bartoletti, S. Lande, R. Zunino. Bitcoin covenants unchained. arXiv:2006.03918v2 [cs.PL]. 2020.
  2. S. Nakamoto. Bitcoin: Eşler Arası Elektronik Nakit Sistemi. 2008.
  3. J. Poon, T. Dryja. The Bitcoin Lightning Network: Ölçeklenebilir Zincir Dışı Anlık Ödemeler. 2016.
  4. M. Moser, I. Eyal, E. G. Sirer. Bitcoin Covenants. Financial Cryptography 2016 Workshops.
  5. Bitcoin İyileştirme Önerisi 119 (BIP 119). OP_CHECKTEMPLATEVERIFY.
  6. G. Wood. Ethereum: Güvenli, Merkeziyetsiz, Genelleştirilmiş İşlem Defteri. Ethereum Sarı Kitap. 2014.
  7. A. Miller, vd. Hash'lenmiş Zaman Kilitlemeli Sözleşmeler (HTLC'ler). 2017.
  8. R. O'Connor. Simplicity: Blok Zincirleri için Yeni Bir Dil. Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security.
  9. Blockstream. Liquid Ağı. https://blockstream.com/liquid/
  10. IEEE Güvenlik ve Gizlilik Sempozyumu. Akıllı sözleşme güvenlik analizi üzerine çoklu makaleler. Çeşitli yıllar.