BitVM: Bitcoin'de her şeyi hesaplayın

Robin Linux Çevirmen tarafından yazılmıştır: Denlink Topluluğu Çeviri Grubu

Özet

BitVM, Turing-complete Bitcoin sözleşmelerini ifade etmek için kullanılan bir bilgi işlem paradigmasıdır. Bu, Bitcoin ağının konsensüs kurallarında herhangi bir değişiklik gerektirmez. Bitcoin'de hesaplama yapmaktan farklı olarak, iyimser toplamalara benzer şekilde basitçe doğrulanırlar. Kanıtlayıcı, belirli bir fonksiyonun belirli bir çıktıya belirli girdileri değerlendirdiğini bildirir. İddia yanlışsa, doğrulayıcı kısa bir dolandırıcılık kanıtı yapabilir ve kanıtlayıcıları cezalandırabilir. Bu mekanizmayı kullanarak, herhangi bir hesaplanabilir işlev Bitcoin'de doğrulanabilir.

Bir Taproot adresinde büyük bir program vaat etmek, çok sayıda zincir dışı hesaplama ve iletişim gerektirir, ancak zincirdeki ayak izi küçüktür. İki taraf birlikte çalıştığı sürece, zincir üzerinde herhangi bir iz bırakmadan keyfi olarak karmaşık, durum bilgisi olan zincir dışı hesaplamalar yapabilirler. Zincir üzerinde yaptırım yalnızca anlaşmazlık durumunda gereklidir.

1 Giriş

Tasarım gereği, Bitcoin'in akıllı sözleşme işlevselliği imzalar, zaman kilitleri ve hash kilitleri gibi temel işlemlerle sınırlıdır. BitVM, daha etkileyici Bitcoin sözleşmeleri ve zincir dışı bilgi işlem için yeni bir tasarım alanı yaratıyor. Potansiyel uygulamalar arasında satranç, Go veya poker gibi oyunların yanı sıra Bitcoin sözleşmelerinde geçerlilik kanıtının doğrulanması yer alır. Ek olarak, Bitcoin'i harici zincirlere bağlamak, tahmin piyasaları oluşturmak veya yeni işlem kodlarını simüle etmek mümkün olabilir.

Burada sunulan modelin ana dezavantajı, yalnızca kanıtlayıcı ve doğrulayıcı olmak üzere iki kurulumla çalışmasıdır. Diğer bir sınırlama, kanıtlayıcılar ve doğrulayıcılar için, programı yürütmek için çok sayıda zincir dışı hesaplama ve iletişimin gerekli olmasıdır. Bununla birlikte, bu konuların daha fazla araştırma ile ele alınması umut verici görünmektedir. Bu çalışmada, yalnızca iki taraflı bir BitVM'nin temel bileşenlerine odaklanıyoruz.

2 Şema

İyimser Rollup'lar ile 1[2] [3] ve MATT önerisi (Merkelize All The Things) 2 Benzer şekilde, sistemlerimiz sahtekarlık kanıtı ve meydan okuma-yanıt protokollerine dayanmaktadır. Ancak BitVM, Bitcoin'in konsensüs kurallarında herhangi bir değişiklik gerektirmez. Altta yatan ilkeller nispeten basittir. Esas olarak hash kilitlerine, zaman kilitlerine ve büyük kazık kök ağaçlarına dayanmaktadır.

Kanıtlayıcı, programı yavaş yavaş zincire gönderir, ancak zincir üzerindeki her şeyi doğrulamak aşırı bilgi işlem kaynağı tüketir, bu nedenle doğrulayıcı, kanıtlayıcının yanlış iddialarını kısa ve öz bir şekilde yanlışlamak için bir dizi ayrıntılı zorluk gerçekleştirir. Kanıtlayıcı ve doğrulayıcı birlikte, herhangi bir anlaşmazlığı daha sonra çözmek için işlemlere yanıt veren bir dizi zorluğu önceden imzalar.

Model, bu yaklaşımın Bitcoin üzerinde evrensel hesaplamaya izin verdiğini göstermeyi amaçlamaktadır. Pratik uygulamalar için daha verimli modeller düşünmeliyiz.

Protokol basittir: ilk olarak, kanıtlayıcı ve doğrulayıcı programı dev bir ikili devre halinde derler. Kanıtlayıcı, devreyi o adresteki her mantık kapısı için bir yaprak komut dosyasıyla bir Taproot adresine gönderir. Buna ek olarak, kanıtlayıcılar ve doğrulayıcılar arasındaki meydan okuma-yanıt oyunlarını desteklemek için bir dizi işlemi önceden imzalarlar. Artık gerekli tüm verileri değiş tokuş ettiklerine göre, zincir üzerindeki mevduatlarını oluşturulan Taproot adresine aktarabilirler.

Bu, sözleşmeyi etkinleştirir ve devredeki durum değişikliklerini tetiklemek için zincir dışı verileri değiştirmeye başlayabilirler. Kanıtlayıcı herhangi bir yanlış iddiada bulunursa, doğrulayıcı depozitosunu alabilir. Bu, saldırganların mevduatlarını her zaman kaybetmelerini sağlar.

3 Bit Değer Taahhüdü

Bit değeri taahhüdü bu sistemin en temel bileşenidir. Kanıtlayıcının belirli bir bitin değerini "0" veya "1" olarak ayarlamasına izin verir. Özellikle, kanıtlayıcının farklı komut dosyaları ve UTXO'lar arasında bir değişkenin değerini ayarlamasına izin verir. Bu çok önemlidir çünkü Bitcoin'in sanal makine yürütme süresini birden çok işleme bölerek yürütme çalışma zamanını ölçeklendirir.

Söz, hash0 ve hash1 olmak üzere iki hash değeri içerir. Daha sonraki bir noktada, kanıtlayıcı, preimage0'ı (hash0'ın preimage'ı) ortaya çıkararak bitin değerini "0" veya preimage1'i (hash1'in preimage'i) ortaya çıkararak "1" olarak ayarlar. Bir noktada hem preimage0 hem de preimage1'i ortaya çıkarırlarsa, doğrulayıcı bunları dolandırıcılık kanıtı olarak kullanabilir ve kanıtlayıcının depozitosunu alabilir. Buna çelişkili ifade denir. Çelişkili ifadeleri cezalandırabilmek, bir taahhüdü bağlayıcı kılan şeydir - bu "teşvike dayalı bir taahhüt"tür.

Bit değeri vaatlerini zaman kilitleriyle birleştirmek, doğrulayıcıların kanıtlayıcıyı belirli bir zaman dilimi içinde belirli bir bitin değerine karar vermeye zorlamasını sağlar.

Şekil 1: Bit değeri taahhüdünün uygulanmasıŞekil 1: 1 bitlik taahhüdün uygulanması. Bu betiğin kilidini açmak için, kanıtlayıcının hash0 veya hash1'in ön görüntülerinden birini ortaya çıkarması gerekir. Bu örnek yürütmede, kanıtlayıcı hash1'i ortaya çıkarır ve bitin değerini "1" olarak ayarlar. Farklı komut dosyalarında belirli bir değeri uygulamak için bu vaadi çoğaltabiliriz.

BASITLEŞTIRMEK IÇIN, BURADAN, YUKARIDAKI BETIĞIN KISALTMASI OLAN OP BITCOMMITMENT ADLI BIR IŞLEM KODU OLDUĞUNU VARSAYALIM. İşlem kodu iki karma ve bir karma ön görüntü kullanır. Öngörüntüyle eşleşen karmaya bağlı olarak, yığına bir bit değeri yerleştirir.

4 Mantık kapısı vaatleri

Herhangi bir hesaplanabilir fonksiyon, bir Boole devresi olarak temsil edilebilir. NAND kapısı evrensel bir mantık kapısıdır, bu nedenle herhangi bir Boole işlevi bunlardan oluşabilir. Modelimizi basit tutmak için, yaklaşımımızın basit NAND geçitleriyle nasıl çalıştığını gösteriyoruz. Ek olarak, kapıların keyfi olarak nasıl birleştirileceğini gösteriyoruz. Bütün bunlar, BitVM'nin herhangi bir devreyi temsil edebileceğini kanıtlıyor.

NAND kapısı vaadinin gerçekleştirilmesi basittir. İki girdiyi temsil eden iki bit vaadi ve çıktıları temsil eden bir bit taahhüdü içerir. Komut dosyası, vaat edilen çıktı bitleriyle eşleştiğinden emin olmak için iki girdinin NAND değerini hesaplar.

Şekil 2: NAND İşlemleri için Kapı Taahhüdü Şekil 2: NAND İşlemleri için Kapı Taahhüdü. Bu betiği çalıştırmak, A NAND B = C doğru olacak şekilde A, B ve C bit vaatlerinin değerlerini ortaya çıkarmalıdır.

(Burada, kolaylık olması için, OP NAND adlı bir işlem kodunun var olduğunu varsayalım.) ASLINDA, MEVCUT DEĞILDIR, ANCAK OP BOOLAND VE OP NOT KULLANILARAK KOLAYCA UYGULANABILIR. )

5 İkili devre vaatleri

Önceki bölümde, NAND kapısı taahhüdünü tanımladık. Kapı vaatlerini birleştirerek herhangi bir devreyi temsil edebiliriz. Yürütmenin her adımı Tapleaf'te işlenir. Hepsi aynı Taproot adresinde birleştirilir, böylece kanıtlayıcı devredeki herhangi bir geçidi çalıştırabilir. Geçidin yürütülmesi, kanıtlayıcının karşılık gelen kapı vaadini açmasını ve giriş ve çıkış bitleri için değerleri ayarlamasını gerektirir.

Taptree devasa hale gelebilir ve bir milyar Tapleaf komut dosyasına sahip olabilir, ancak zincir üzerindeki ayak izi küçüktür.

Şekil 3: Rastgele bir örnek devre Şekil 3: 8 farklı NAND kapısı ve 4 giriş A, B, C ve D ile rastgele bir örnek devre. Milyarlarca kapı kullanılarak, esasen herhangi bir işlev tanımlanabilir.

Şekil 4Şekil 4: Her geçit için, kanıtlayıcının Taproot adresi, karşılık gelen geçit vaadini içeren bir yaprak komut dosyası içerir. Bu, kanıtlayıcının devrenin giriş değerlerini herhangi bir zamanda ayarlamasına izin verir (burada A, B, C ve D).

6 Zorluklar ve Yanıtlar

Bir devreye bağlı kalmak yeterli değildir. Hatalı iddiaları çürütmek için, doğrulayıcı, kanıtlayıcının ifadesine itiraz edebilmelidir. Bu, kurulum sırasında bir dizi işlemin önceden imzalanmasıyla elde edilebilir. Bu işlemler → zorluklara yanıt verir →→ → yanıt verir... yol bağlantılı. Taraflardan biri katılmayı bırakırsa, bir zaman aşımı süresinden sonra diğer taraf mücadeleyi kazanır ve her iki tarafın depozitolarını alabilir. Her iki taraf da birlikte çalıştığı sürece, herhangi bir sözleşmeyi 2'de 2 imza yoluyla çözmek için birlikte çalışabilirler. Aşağıdaki mekanizmalar yalnızca dolandırıcılık varsa gereklidir.

Şekil 5: Önceden imzalanmış bir dizi işlemŞekil 5: Birden fazla sorgulama ve yanıt turu gerçekleştirmek için önceden imzalanmış bir dizi işlem. Bu dizi, kurulum sırasında oluşturulur.

Vicky, Tap yaprağında bir hash kilidi açarak bir meydan okuma seçer. Bu, Paul için belirli bir Musluğun kilidini açacak ve onu yürütmeye zorlayacaktır. Senaryo, Paul'ü Vicky mücadelesinin kapı vaadini açıklamaya zorlar. Bu işlemi birkaç sorgu turu için tekrarlayarak, tutarsız iddiaları hızlı bir şekilde çürütebilirsiniz.

Kanıtlayıcı, doğrulayıcı ile zincir dışı işbirliği yapmayı bırakırsa, doğrulayıcının kanıtlayıcıyı zincir üzerinde hareket etmeye zorlamanın bir yoluna ihtiyacı vardır. Doğrulayıcı bunu hash kilidinin kilidini açarak başarır: Kanıtlayıcının UTXO'sundaki her NAND Tapleaf, yalnızca kanıtlayıcının onaylayan tarafından tutulan ön görüntüyü bilmesi durumunda harcanabilir. Bu nedenle, kanıtlayıcı, belirli bir Tapleaf'in girdilerini ve çıktılarını ortaya çıkararak doğru performans gösterdiğini kanıtlayabilir, ancak yalnızca doğrulayıcı, o Tapleaf'i koruyan hash'in ön görüntüsünü ortaya çıkararak "kilidini açarsa". Doğrulayıcılar, ikili arama uygulayarak, yalnızca birkaç tur zorluk ve yanıttan sonra kanıtlayıcının hatasını hızlı bir şekilde belirleyebilir.

Şekil 6: Her yanıttan sonra, Vicky belirsiz davranışları cezalandırabilir. Paul bir değişkene çelişen iki değer gösterirse, Vicky mücadeleyi hemen kazanır ve depozitosunu almasına izin verilir. Vicky, Paul'ün belirsizliğini, bitlerinin vaat ettiği iki protoimgeden herhangi birini ortaya çıkararak kanıtlıyor.

7 Giriş ve çıkış

Kanıtlayıcı, karşılık gelen bit vaadini ortaya çıkararak girdiyi ayarlayabilir. İdeal olarak, zincir içi doluluğu en aza indirmek için zincir dışı taahhütleri ortaya çıkarırlar. İşbirlikçi olmayan bir durumda, doğrulayıcılar kanıtlayıcıları girdilerini zincir üzerinde açıklamaya zorlayabilir.

Önceden şifreleme alışverişi yapılarak büyük miktarda veri işlenebilir. Bu şekilde, kanıtlayıcı şifre çözme anahtarını daha sonraki bir zamanda ortaya çıkarabilir.

Çok partili giriş de mümkündür. Kapıların her iki taraftan da küçük taahhütleri olabilir.

8 Sınırlamalar ve Görünüm

Basit NAND devrelerinde işlevleri temsil etmek verimsizdir. Daha gelişmiş işlem kodları kullanılarak, programlar daha verimli bir şekilde temsil edilebilir. Örneğin, Bitcoin Script 32 bitlik sayıların eklenmesini destekler, bu nedenle ikili devrelere ihtiyacımız yoktur. Daha büyük bit vaatlerine de sahip olabiliriz, örneğin, tek bir hash'te 32 bit. Ek olarak, komut dosyasının boyutu yaklaşık 4 MB'a ulaşabilir. Böylece, her yaprak komut dosyasında çok daha fazla NAND talimatı uygulayabiliriz.

Burada sunulan model iki tarafla sınırlıdır. Bununla birlikte, Lightning Network'e benzer bir ağ oluşturmak için iki yönlü kanallara sahip olmak ve bunları birbirine bağlamak mümkün olabilir. Her iki ayarı da araştırmak ilginç genelleme olasılıkları sağlayabilir. Örneğin, bir ağ için 1'den n'ye kadar bir yıldız topolojisini keşfedebiliriz. Başka bir araştırma sorusu, modelimizi n'den n'ye bir kuruluma uygulayıp daha karmaşık kanal fabrikaları oluşturup oluşturamayacağımızdır. Ek olarak, sistemlerimizi Lightning Network veya Rollups gibi farklı zincir dışı protokollerle birleştirebiliriz.

Diğer araştırma yönleri arasında uygulamalar arası bellek, zincire kazınmış rastgele veriler veya zincir dışı programlanabilir devreler, yani zincir dışı sanal makineler hakkında açıklamaların nasıl yapılacağı yer alır. Devreleri tek bir turda incelemek için STARK'lara benzer daha karmaşık örnekleme teknikleri de uygulanabilir.

Bir sonraki büyük dönüm noktası, somut bir BitVM tasarımı ve uygulamasının yanı sıra Bitcoin sözleşmelerinin yazılması ve hata ayıklaması için üst düzey bir dil olan Tree++'ın tamamlanmasıdır.

9 Sonuç

Bitcoin, büyük Taptrees'teki kodlama sahtekarlığı kanıtları herhangi bir programın yürütülmesini doğruladığı için bir anlamda Turing'i tamamlamıştır. Bu modelin önemli bir sınırlaması, yalnızca her iki taraf için de işe yaramasıdır. Genellemenin daha sonraki çalışmalarda yapılabileceği umulmaktadır.

Teşekkür

Bitcoin'in Turing'in tamamlanmayacağına her zaman inanan Super Testnet ve Sam Parker'a özel teşekkürler.

Referanslar

[1] Ethereum Araştırması. İyimser Toplamalar. 2022.

[2] Salvatore Ingala'nın fotoğrafı. Her şeyi Merkleize. , 2022.

Kaynaklar

[1] Çeviri Ekibi:

[2] İyimser Toplamalar 1:

[3] MATT 提案(Merkelize All The Things)2:

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)