BitVM, Bitcoin Ana Ağında Akıllı Sözleşmelerin Potansiyeli
- BTC0%
9 Ekim'de, ZeroSync'ten geliştirici Robin Linus, topluluğun büyük ilgisini çeken BitVM teknik incelemesini yayınladı. BitVM, ağın konsensüs kurallarında değişiklik gerektirmeden Turing-complete Bitcoin sözleşmelerini ifade edebilen yeni bir hesaplama paradigması sunuyor.
Merkezi Olmayan Akıllı Sözleşmeler: Sınırlamalar ve Hedefler
Bitcoin'in yığın tabanlı bir dil olan Script'i, işlemlerin doğrulama mantığını tanımlamak için koşullu kontroller gibi temel kontrol yapıları sağlar. Basit bir koşullu doğrulama süreciyle bitcoinlerin harcanması için geçerli dijital imzalar talep eder. Bununla birlikte, Script Turing-complete olmayacak şekilde tasarlanmıştır. Döngüler gibi karmaşık akış kontrol özelliklerini desteklememesine rağmen, bu tasarım dilin basitliğini ve güvenliğini sağlar. Bu sınırlamalar, Script'in akıllı sözleşmeler dahil olmak üzere karmaşık hesaplamaları yürütmesini zorlaştırmıştır.
Bitcoin için tasarlanmış bazı Katman 2 çözümleri, varlıkları kilitleyerek temel akıllı sözleşme işlevlerini gerçekleştirebilse de, esasen çok imzalı adreslere ve çapraz zincir varlık eşlemelerine dayanırlar, bu da belirli düzeyde merkezi güven gerektirir. Bu durum Bitcoin'in merkeziyetsizlik taahhüdünü zedelemektedir. BitVM'nin tanıtılmasından önce, Bitcoin topluluğu merkeziyetsiz, güven gerektirmeyen ve Turing-complete hesaplamalar yapabilen yöntemler araştırıyordu.
BitVM: Bitcoin Üzerinde Her Şeyi Hesaplayın
İnovasyonunun merkezinde, BitVM, keyfi karmaşıklıktaki Boole devrelerini oluşturmak için Bitcoin'in mevcut Script sistemini kullanarak mantık kapılarını (AND kapıları, OR kapıları, NOT kapıları ve XOR kapıları dahil olmak üzere, AND, OR, NOT ve XOR gibi işlemleri mümkün kılar) uygular. Bu devreler, ikili girişler üzerinde mantık işlemleri gerçekleştirmek ve ikili çıktılar vermek için kullanılır; Boole hesaplaması, AND, OR, NOT ve XOR gibi işlemleri gerçekleştirmek için mantık kapılarını kullanarak uygulanabilir. Özellikle, BitVM, AND ve OR kapıları gibi temel mantık kapılarını temsil etmek için Hash Time Locked Contracts (HTLC) ve Taproot'u (Kasım 2021'de etkinleştirilen Script'i optimize etmek için bir yumuşak çatal) kullanır. BitVM daha sonra bu temel mantık kapılarını birleştirerek herhangi bir karmaşıklıktaki devreleri oluşturur ve esasen Bitcoin blockchain'inde programlanabilir bir bilgisayarı simüle eder.
Son olarak, işlem yapan taraflar arasındaki anlaşmazlıklar durumunda, Bitcoin'deki dolandırıcılık kanıtlarına benzer zarif bir meydan okuma-yanıt protokolü doğrulama için kullanılabilir. Bir kanıtlayıcı, belirli bir fonksiyonun bazı özel girdiler için belirli bir çıktıya değerlendirildiğini iddia eder. Eğer bu iddia yanlışsa, doğrulayıcı bir dolandırıcılık kanıtı gerçekleştirebilir ve kanıtlayıcıyı cezalandırabilir. Bu mekanizma kullanılarak, herhangi bir hesaplanabilir fonksiyon Bitcoin üzerinde doğrulanabilir.
BitVM'nin Tasarımı
Bit Değeri Taahhüdü
Bir Bitcoin betiği olan Bit Değeri Taahhüdü, bir taahhüt şeması uygulamak için if-else ifadelerini kullanır. Bu kriptografik ilkel, gönderenin mesajın içeriğini göndermeden önce onaylayabilmesini ve içeriğin kamuya açıklandıktan sonra değiştirilemeyeceğini garanti eder. Bu taahhüt şeması, hash0 ve hash1 olmak üzere iki hash değerini içerir. Döndürülen değerin 0 mı yoksa 1 mi olacağı, girdinin hash değerinin bu iki hash değeriyle karşılaştırılmasıyla belirlenir.
Şekil 1: 1 bitlik bir taahhüt için somut bir uygulama
:quality(80)/2023-11-01/1321A251238D665AA862939993DE617A.png)
Kaynak: https://bitvm.org/bitvm.pdf
Mantık Kapısı Taahhüdü
Hesaplama teorisinde, herhangi bir hesaplanabilir fonksiyon bir Boole devresi olarak temsil edilebilir. Özellikle, NAND kapısı diğer tüm karmaşık mantık kapılarını oluşturmak için kullanılabilen evrensel bir mantık kapısıdır. BitVM, NAND kapısını uygulamak için iki girişi temsil eden iki bit değeri taahhüdü ve çıkışı temsil eden üçüncü bir bit değeri taahhüdü içerir.
BitVM, NAND kapısını ustaca Bitcoin betikleri aracılığıyla ifade eder. Bu, keyfi karmaşıklıkta Boole mantık devreleri oluşturmasına olanak tanır ve böylece Script aracılığıyla programlanabilir bir bilgisayarı etkin bir şekilde simüle eder.
Şekil 2: Bit değeri taahhütleri kullanarak bir NAND kapısının uygulanması
:quality(80)/2023-11-01/23A48B54E874C749C41F131C7D4730C6.png)
Kaynak: https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754
Şekil 3: NAND işlemi için mantık kapısı taahhüdü
:quality(80)/2023-11-01/E98F6725AA61147C861A13360ADD94C1.png)
Kaynak: https://bitvm.org/bitvm.pdf
Betik, taahhüt edilen çıkış bitiyle eşleştiğinden emin olmak için iki girdinin NAND değerini hesaplar.
İkili Devre Taahhüdü
BitVM, kapı taahhütlerini birleştirerek herhangi bir devreyi ifade edebilir. Yürütmenin her adımı bir Tapleaf'te taahhüt edilir. Bunların tümü, kanıtlayıcının devredeki herhangi bir kapıyı çalıştırabilmesi için aynı Taproot adresinde birleştirilir. Bir kapıyı çalıştırmak için kanıtlayıcının ilgili kapı taahhüdünü açması ve giriş ve çıkış bitleri için değerler belirlemesi gerekir. Örneğin, Şekil 4'te A, B, C ve D, her biri bir biti temsil eden önceden tanımlanmış bit değeri taahhütleridir. Ardından sekiz NAND kapısını içeren mantık işlemleri gerçekleştirilir. Örneğin, A NAND B E'yi verirse ve E bir sonraki NAND kapısı için giriş olarak kullanılırsa, tüm devrenin nihai çıktısı DOĞRU olacaktır. Boolean devrelerinin bu tasarımı, bit değeri taahhütlerinin NAND kapılarını birbirine bağlar ve karmaşık mantık işlemlerini gerçekleştirir, Bitcoin blok zincirinde doğrulanabilir hesaplama için kompakt bir temsil sunar.
Şekil 4: Sekiz farklı NAND kapısına sahip bir devre
:quality(80)/2023-11-01/2A444519852359C0EA95AC2D2F5C054A.png)
Kaynak: https://bitvm.org/bitvm.pdf
Zorluklar ve Yanıtlar
BitVM'de bir devreyi taahhüt etmek yeterli değildir ve hesaplamaların doğruluğunu kanıtlamak için bir meydan okuma-yanıt mekanizması gereklidir. Bunu başarmak için, kanıtlayıcı ve doğrulayıcı kurulum sırasında bir dizi işlemi önceden imzalamalıdır. İşlemler "meydan okuma - yanıt - meydan okuma - yanıt" sırasında bağlanarak, birden fazla tur meydan okuma-yanıt etkileşimi oluşturur. Taraflardan biri katılmayı durdurursa, zaman aşımından sonra diğer taraf meydan okumayı kazanır ve her iki depozitoyu da alabilir. Bu mekanizma yalnızca sahtekarlık durumunda gereklidir. Her iki taraf da işbirliği yaptığı sürece, herhangi bir sözleşmeyi 2'den 2'ye imza ile ortaklaşa çözümleyebilirler.
Bu mekanizmanın varsayımsal bir durumda nasıl çalıştığını görelim. Paul (kanıtlayıcı) ve Vicky (doğrulayıcı) bir dizi işlemi önceden imzaladılar. Vicky daha sonra Tapscript yapraklarındaki hash kilitlerinden birinden bir meydan okuma (hash7) seçerek bir meydan okuma (TX 2) başlatabilir. Bu, Paul için belirli bir Tapscript'in kilidini açar ve onu açık girdiler ve çıktılarla yürütmeye zorlar. Tutarsız herhangi bir iddia, bu prosedürü birkaç sorgulama turu için tekrarlayarak hızlı bir şekilde çürütülebilir. Eğer kanıtlayıcı işbirliği yapmayı bırakırsa, doğrulayıcı kanıtlayıcıyı zincir üzerinde yanıt vermeye zorlamak için elinde tuttuğu bir hash ön görüntüsünün kilidini açabilir. Her sorgulama turu belirli bir kapıyı doğrulayabilir veya çürütebilir. İkili arama (sıralanmış bir dizide belirli bir öğeyi bulmak için kullanılan bir algoritma) yoluyla, doğrulayıcı sadece birkaç meydan okuma ve yanıt turundan sonra kanıtlayıcının hatasını hızla tespit edebilir. Kanıtlayıcının iki taahhüdü çeliştiğinde, doğrulayıcı hemen meydan okumayı kazanır ve depozitoyu alır.
Şekil 5: Birden fazla meydan okuma ve yanıt turu gerçekleştirmek için önceden imzalanmış bir işlem dizisi
:quality(80)/2023-11-01/8D9777E151B617754A912BDA1F5097CF.png)
Kaynak: https://bitvm.org/bitvm.pdf
Bu titiz tasarım, BitVM'nin herhangi bir karmaşık hesaplamanın zincir üzerinde doğrulamasını gerçekleştirmesine olanak tanır, bu da işbirliğinin verimliliğini sağlar ve dolandırıcılık durumunda cezalar uygular. Bu, Bitcoin ağında Turing-complete etkileşimli hesaplamanın doğrulanmasının mümkün olduğunu göstermektedir.
BitVM'nin Tasarımının Temel Yönleri
Zincir Dışı Hesaplama ve Zincir Üzerinde Doğrulama
BitVM, karmaşık hesaplamaların yükünü blok zincirinin dışına taşıyarak, Bitcoin blok zincirini yalnızca sonuçları doğrulamak amacıyla kullanır. Bu yaklaşım, karmaşık sözleşmelerin doğrudan blok zincirinde çalıştırılmasını önleyerek blok zinciri şişkinliğini azaltır.
Hash Kilitleri ve Bitcoin Komut Dosyaları ile İfade Edilen Mantık Kapıları
BitVM, AND ve NOT kapıları gibi temel mantık kapılarını temsil etmek için Bitcoin tarafından desteklenen hash kilitlerini ve komut dosyası opcode'larını kullanır. Bu mantık kapılarının birbirine bağlanması, rastgele karmaşıklıkta devreler oluşturulmasına olanak tanıyarak Turing-complete hesaplama yapılmasını sağlar.
İspatlayıcı ve Doğrulayıcı için Bir Oyun Teorisi Mekanizması
BitVM'nin doğrulama mekanizması, Optimistic Rollup'a benzer şekilde, hesaplamanın tarafları arasında etkileşimli meydan okumalar ve yanıtları içerir. Sonuç olarak, doğru hesaplama sonucu zincir üzerinde onaylanır. İspatlayıcı hile yaparsa, doğrulayıcı Bitcoin blok zincirinde cezaları uygulayabilir. Bu nedenle, BitVM ve Optimistic Rollup, zincir üzerinde doğrulama için benzer etkileşim mekanizmalarını kullanır ve tek fark, BitVM'nin etkileşimli bir meydan okuma-yanıt sürecini uygulamak için doğrudan Bitcoin komut dosyalarını kullanmasıdır.
Minimum Zincir Üstü Etki
BitVM'nin hesaplama süreci, Bitcoin blok zinciri üzerinde minimum etkiye sahiptir ve anlaşmazlıklar ortaya çıktığında zincir üzerinde yalnızca küçük sayıda işlem bırakır. Bu, Bitcoin'in verimliliğini ve ölçeklenebilirliğini korur.
Soft Fork İhtiyacı Yok
BitVM yalnızca mevcut Bitcoin komut dosyası yeteneklerini kullandığından, soft fork'lar yoluyla Bitcoin protokolünde herhangi bir değişiklik yapılmasını gerektirmez. Bu, BitVM'nin Bitcoin ana ağına entegre edilmesini kolaylaştırır.
Sonuç
BitVM'nin en büyük yeniliği, temel Bitcoin protokolünü değiştirmeden Turing-complete doğrulamayı uygulama yeteneğinde yatmaktadır; bunu, özellikle Taproot tarafından optimize edilen komut dosyalarını yaratıcı bir şekilde kullanarak başarır. Bu dahiyane tasarım, yeni uyumluluk sorunları yaratmadan veya Bitcoin'i daha az merkeziyetsiz hale getirmeden Bitcoin ana ağına sorunsuz entegrasyonu mümkün kılar.
BitVM'nin yenilikçi çözümü, Bitcoin ekosistemine akıllı sözleşmeler ve merkezi olmayan uygulamalar getirme potansiyeline sahiptir. Örneğin, farklı blok zinciri varlıklarını birbirine bağlamak için minimal güven gerektiren çapraz zincir köprüleri oluşturmak için kullanılabilir, böylece Bitcoin'in birlikte çalışabilirliğini artırır. Ayrıca, BitVM, Bitcoin'i daha ölçeklenebilir hale getirmek için daha verimli zkRollup genişleme katmanları oluşturmaya da yardımcı olabilir. Özetle, BitVM, mevcut özelliklerin yenilikçi kullanımıyla Bitcoin ekosistemini yeni bir çağa taşımanın geniş olanaklarını göstermektedir.
Kaynaklar:
https://github.com/supertestnet/tapleaf-circuits
https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754