a16z: Vatansız blok zincirleri neden var olamaz?

Yazar: Miranda Christ (Columbia Üniversitesi'nde bilgisayar bilimleri alanında doktora öğrencisi/a16z şifreleme araştırma stajyeri), Joseph Bonneau (a16zcrypto) Kaynak: a16z crypto; Derleyici: Yvonne, MarsBit

Blockchain daha fazla kullanıcıyı ve daha sık işlemleri desteklediğinden, doğrulayıcılar tarafından işlemleri doğrulamak için saklanan bilgi miktarı ("durum") artar. Örneğin, Bitcoin'de durum, bir dizi harcanmamış işlem çıktısından (utxo) oluşur. Ethereum'da durum, her hesabın hesap bakiyesinden ve her akıllı sözleşmenin kodundan ve saklanmasından oluşur.

Bu depolama yükü, çoğu insanın gerçek günlük işlemlerini desteklemek için yeterli hesaba veya UTXO'ya sahip bir blockchain için yönetilemez hale gelecek ve bu da doğrulayıcı olmayı zorlaştıracak ve merkeziyetsizlik için bir tehdit oluşturacaktır. Bir çözüm olarak kriptografiye bakmak cazip geliyor ve Merkle ağaçları ve sıfır bilgi kanıtları gibi araçlar, daha önce inanılmaz hedeflere ulaşmamıza yardımcı oldu.

Bu tam olarak "durumsuz bir blockchain"in hedefidir. Ancak bu alanda yapılan çok sayıda çalışmaya rağmen hala pratik olmaktan uzaktırlar. Ancak ilerlemedeki bu gecikmenin doğal olduğu ortaya çıktı; bu yapılar ile pratiklik arasındaki uçurum asla kapatılamaz. Son çalışmamız, ne kadar akıllı olursa olsun herhangi bir vatansız blockchain planının, durumu yönetmek için ek önlemler olmadan mümkün olmadığını gösteriyor. Bu makalenin sonunda gösterdiğimiz gibi, bu beklenmedik sonuç cesaret kırıcı olmamalıdır.

vatansız durum

Bugün devletin büyüklüğü büyük ama idare edilebilir. Örneğin, bir Bitcoin düğümü yaklaşık 7 GB veri depolar ve bir Ethereum düğümü yaklaşık 650 GB veri depolar. Bununla birlikte, tam düğümlerdeki depolama yükü, şu anda kabul edilemeyecek kadar düşük olan zincirin verimi (saniyedeki işlemler veya TPS) ile kabaca doğrusal olarak ölçeklenir. Mevcut tasarıma göre, günlük işlemleri (yüzbinlerce ila milyonlarca TPS) gerçek anlamda desteklemek için gereken durum, birkaç terabayt, hatta petabayt depolama alanının kullanılmasını gerektirecek şekilde yönetilemez hale gelecektir.

Bu, insanları doğrulayıcıların ihtiyaç duyduğu durum miktarını büyük ölçüde azaltmak için teknik yollar aramaya sevk etti; durumsuz bir blok zinciri, doğrulayıcıların işlem hacmine bakılmaksızın yalnızca sabit boyutlu bir durumu depolamasını gerektirecektir. (Aslında bu terim yanlış bir isimdir: hala bir durum vardır, gelecekteki herhangi bir verime yetecek kadar küçüktür, genellikle sabit boyuttadır.) Bu hafif depolama gereksinimi, doğrulayıcı düğümlerin çalıştırılmasını kolaylaştıracaktır; İyimser bir yaklaşımla, herkes kendi üzerinde bir düğüm çalıştırabilir. telefon. Doğrulayıcı sayısının artması zincirin güvenliğini artıracağından doğrulayıcıların giriş engellerinin azaltılması önemlidir.

Durum bilgisi olmayan blok zincirler üzerine yapılan çok sayıda araştırmaya rağmen (örneğin Todd, Buterin, Boneh ve diğerleri, Srinivasan ve diğerleri), bunlar pratik olmaktan uzaktır ve bilgimize göre hiçbiri kullanılmamıştır. Bilinen tüm durum bilgisi olmayan blok zincirlerdeki temel sorun, doğrulayıcıların kendi hesaplarıyla ilgili işlemleri doğrulamasına yardımcı olmak için kullanıcıların tanık adı verilen ek verileri saklamasını gerektirmesidir. Örneğin bu tanık, kullanıcının hesabının ve bakiyesinin küresel devlet taahhüdüne dahil olduğunu gösteren bir Merkle katılımı kanıtı olabilir. Kullanıcı bir işlem yaptığında, hesabında yeterli bakiyenin bulunduğunu gösteren bu tanığı doğrulayıcıya sunar.

Hiçbir zaman değiştirilmesi gerekmeyen özel anahtarların saklanmasının aksine, bu tanıklar aktif olarak işlem yapmayan kullanıcılar için bile sık sık değişir ve kullanıcılara gerçekçi olmayan bir yük getirir. Benzer şekilde, diğer tüm kredi kartı işlemlerini küresel olarak sürekli olarak izlemeniz ve bazı yerel verileri kendi kredi kartınızı kullanacak şekilde güncellemeniz gerektiğini hayal edin. Bir blockchain'in pratik olabilmesi için kullanıcıların çevrimdışı kalabilmeleri ve yalnızca işlemleri gönderirken blockchain ile etkileşime girebilmeleri gerekir. Donanım cüzdanları gibi birçok durumda tanıkların güncellenmesi sadece zahmetli değil aynı zamanda imkansızdır.

Bu, doğal bir araştırma sorusuna yol açar: Tanıkların güncellenmesi gerekmeyen (veya nadiren tanıkların güncellenmesine ihtiyaç duyan) vatansız bir blok zinciri oluşturabilir miyiz? Bu soruyu yanıtlamak için yeni bir teorik çerçeve geliştiriyoruz (bu, İptal Kanıtı Sistemi olabilir), Vatansız blok zincirlerini genelleştiren. Bu çerçeveyi kullanarak, kesinlikle imkansız bir sonucu ortaya koyuyoruz: Kompakt küresel devlet ile tanıkların sık sık güncellenmesi arasındaki denge esastır. Kanıt tekniğimiz bilgi teoriktir; bu, gelecekteki bilgisayarların bu sorunu çözecek kadar güçlü olmayacağı anlamına gelir: durumsuz blockchain yapısı ile pratiklik arasındaki boşluk asla kapatılmayacaktır.

Araştırma Geçmişi

İmkansız sonuçlara yönelik sezgiyi geliştirmeye yardımcı olmak için öncelikle Merkle ağaçlarını kullanarak durum bilgisi olmayan bir blok zincirinin doğal ancak verimsiz yapısını açıklayacağız. Amacımız, doğrulayıcıların bir kullanıcı tarafından gönderilen bir işlemin geçerli olup olmadığını (örneğin, kullanıcının işlemi gerçekleştirmek için yeterince büyük bir hesap bakiyesine sahip olup olmadığını) belirlemesidir. Durum bilgisi olmayan bir blockchain şemasında, doğrulayıcılar sabit boyutta bir durumu saklar. Kullanıcılar bir işlem yaparken mutlaka bir tanığı da işleme dahil etmelidir. Doğrulayıcı, kullanıcının işlemi gerçekleştirmek için yeterli hesap bakiyesine sahip olduğunu doğrulamak için mevcut durumu ve kullanıcı tarafından gönderilen (işlem, tanık) çiftini kullanabilir.

İlk önce her (hesap kimliği, bakiye) çiftinin (a, b) bir yaprak olarak dahil edildiği bir Merkle ağacı oluşturuyoruz. Doğrulayıcılar tarafından saklanan sabit boyutlu durum V, hesap bakiyesi çiftleri kümesine bağlılık görevi gören bu ağacın köküdür. Her kullanıcı, (hesap kimliği, bakiye) çiftinin dahil edildiğine dair Merkle kanıtını şahit olarak tutar. Bir yaprağın ( a , b ) dahil edildiğine dair Merkle kanıtı, ağacın köküne giden yol boyunca ortak düğümlerden ( v 1 , …, vk ) oluşur. A hesabını kullanan ve b bakiyesi talep eden bir kullanıcı tarafından yapılan bir işlem verildiğinde, doğrulayıcı, (a, b)'nin (v 1 , …, vk)'yi mevcut durumu V ile kanıtladığını kontrol ederek b'nin gerçekten a hesabının bakiyesi olduğunu kontrol edebilir. . Böyle bir durumda, doğrulayıcı işlemi yürütecek ve hesap bakiyesini buna göre güncellemelidir. Merkle ağaçlarının kullanışlı bir özelliği, bir yaprağın Merkle çevreleme kanıtı verildiğinde, o yaprak değiştiğinde ortaya çıkan kökü hesaplamanın kolay olmasıdır. Başka bir deyişle, bir doğrulayıcı, işlem yürütüldükten sonra yeni hesap bakiyesini (a) yakalayan güncellenmiş bir V' durumunu kolayca hesaplayabilir.

Merkle ağacı yaklaşımının iki önemli dezavantajı vardır. Birincisi, kullanıcı tanıklarının sayısı nispeten fazladır ve sistemdeki toplam hesap sayısında logaritmik olarak artmaktadır. İdeal olarak, RSA akümülatörleri (durumsuz blok zincirleri bağlamında Boneh ve diğerleri) gibi şemaları kullanarak elde edebileceğimiz sabit boyutta olmaları gerekir.

İkinci dezavantajın önlenmesi daha zordur: diğer kullanıcılar bir işlem yaptığında hesap-bakiye çiftinin kanıtı değişir. Bir yaprağın kanıtının o yapraktan ağacın köküne kadar olan yol üzerindeki ortak düğümlerden oluştuğunu hatırlayın. Başka bir yaprak değiştiğinde bu düğümlerden biri değişir ve pratikte sorunlara neden olur. Çoğu blockchain kullanıcısı, paralarını pasif bir şekilde bir cüzdanda tutmak ve yalnızca işlem yapmak istediklerinde oturum açmak ister. Ancak bu vatansız blok zincirinin uygulanmasında kullanıcıların, tanıklarını güncel tutmak için diğer kişilerin işlemlerini sürekli olarak izlemesi gerekir. (Kullanıcılar adına üçüncü şahıslar bu izleme işlemini gerçekleştirebilirken, bu durum standart vatansız blockchain modelinden farklılık göstermektedir. Bu konuyu bu yazının sonunda ele alacağız.) Aslında bu durum vatansız blockchainler için bir sorundur. Kullanıcılara ağır bir yük getirmektedir.

Sonucumuz: vatansızlık imkansızdır

Bu olgu Merkle ağaç yapılarına özgü değildir; bilinen tüm durum bilgisi olmayan blockchain şemaları, kullanıcıların tanıklarını sık sık güncellemelerini gerektirir. Bu yazımızda bunu açıklıyoruz. Daha kesin olarak, tanıklarını güncellemesi gereken kullanıcıların sayısının, tüm kullanıcılar tarafından yapılan toplam işlem sayısıyla kabaca doğrusal olarak arttığını gösteriyoruz.

Bu, kullanıcı Alice herhangi bir işlem yapmamış olsa bile, diğer kullanıcıların işlemleriyle birlikte tanığının değişmesi gerekebileceği anlamına gelir. Doğrulayıcılar tarafından depolanan kompakt durum, tam durumu (yani tüm hesap bakiyeleri kümesini) yakalayamayacak kadar küçük olduğu sürece, kompakt durum boyutunu artırmak pek yardımcı olmaz. Bu ilişkiyi aşağıdaki teoremi takip ederek, farklı çıktılara sahip blok zincirleri için günlük gerekli tanık değişikliği sayısıyla birlikte çiziyoruz. Bu grafikler, optimal durumsuz bir blockchain için tanığın kaç kez değişmesi gerektiğini gösterir. Burada veri alanı toplam hesap sayısını (hesap modelinde) veya UTXO'yu (UTXO modelinde) ifade eder.

Ethereum

Kanıtımızın merkezinde bilgi-kuramsal bir argüman yer alıyor. Claude Shannon tarafından öne sürülen bilgi teorisinin temel ilkelerinden biri, eğer Alice 2n boyutunda bir kümeden rastgele bir nesne seçerse ve Bob'a hangi nesneyi seçtiğini söylemek isterse, ona en az n bit göndermesi gerektiğidir. Kullanıcıların tanıklarını nadiren güncellediği durum bilgisi olmayan bir blockchain şeması varsa, Alice Bob'a hangi nesneyi seçtiğini n bitten daha az bir sürede söyleyebilir - Shannon bunun imkansız olduğunu kanıtlar. Dolayısıyla böyle vatansız bir blockchain var olamaz.

Basitlik açısından, burada biraz daha zayıf bir ifadenin kanıtını açıklayacağız: Kullanıcıların hiçbir zaman tanıklarını güncellemeye ihtiyaç duymadığı durumsuz bir blockchain olamaz. Ana fikir, Alice'in mesajını Bob'a durum bilgisi olmayan bir blockchain şeması kullanarak kodlamasıdır. Başlangıçta hem Alice hem de Bob, tüm n kullanıcı için hesap bakiyesi çiftlerinin tamamını biliyor. Her hesapta en az bir jeton bulunduğunu varsayalım. Hem Alice hem de Bob, durum bilgisi olmayan blok zincirinin kısa V durumunu ve tüm hesap bakiyesi çiftlerinin ( ai , bi ) tanıklarını da biliyorlar. Alice ve Bob ayrıca mesajlar ve hesap grupları arasında bir eşleme konusunda da hemfikirdir. Alice, mesajına karşılık gelen bir dizi A hesabı seçecek ve bu hesaplardaki jetonları harcayacaktı. Vatansız blok zincirini Bob ile seçtiği setle iletişim kurmak için kullanacak ve Bob bu setten Bob'un mesajlarının ne olduğunu öğrenebilecek.

Kodlama: Alice, A'nın hesaplarının her birinden bir jeton harcar. Alice, durum bilgisi olmayan bir blockchain şeması kullanarak güncellenmiş bir V' durumunu hesaplar ve V'yi Bob'a gönderir.

Kod çözme: Her i için Bob, Verify( wi , ( ai , bi )) olup olmadığını kontrol eder. Bob, Verify( wi , ( ai , bi )) = false olacak şekilde B hesap kümesinin çıktısını verir.

Bob, Alice'in seçtiği kümenin aynısını başarıyla çıktılıyor: B = A. İlk olarak, eğer Alice ai hesabından bir jeton harcadıysa, eski bakiyesine dair daha fazla tanık kabul edilmemesi gerektiğini gözlemleyin; aksi takdirde Alice, harcamayı iki katına çıkarabilir. Bu nedenle, A'daki her ai hesabı için Doğrula(wi, (ai, bi)) = yanlış ve Bob bu hesabı B'ye dahil edecektir. Öte yandan Bob, Alice tarafından tanımlanan hesabı asla B'ye dahil etmeyecektir. Bir kuruş harcamaya gerek yok, çünkü bu hesapların bakiyeleri aynı kalıyor ve (kanıtlamaya çalıştığımız gevşek ifadeyi hatırlayın) tanıkları asla değişmiyor. Bu nedenle B, A'ya tam olarak eşittir.

Son olarak Alice'in Bob'a göndermesi gereken bit sayısı hesaplanarak çelişki çözülür. Seçebileceği 2n olası hesap alt kümesi vardır ve Shannon yasasına göre Bob'a en az n bit göndermesi gerekir. Ancak, yalnızca n bitten çok daha kısa olan sabit boyutlu bir V' durumu gönderir.

(Kriptografiye aşina olan okuyucular burada bazı ayrıntıları atladığımızı fark edebilirler; örneğin Bob'un kod çözme işlemi ihmal edilebilir bir olasılıkla başarısız oluyor. Makalemizde tam bir kanıt yer alıyor.)

Kanıtlarımızı durum bilgisi olmayan blok zincirler açısından tanımlarken, Alice ve Bob, kimliği doğrulanmış diğer çeşitli veri yapılarını (örneğin akümülatörler, vektör taahhütleri) kullanarak benzer aşırı verimli iletişim gerçekleştirebilir. Bu tür veri yapılarını, tersine çevrilebilir kanıt sistemleri olarak adlandırdığımız yeni bir soyutlama kullanarak resmileştiriyoruz.

SONUÇLARIN ETKİSİ

Sonuçlarımız "durumu şifreleyemeyeceğinizi" gösteriyor; kullanıcıların hiçbir zaman tanıklarını güncellemek zorunda kalmadığı durumsuz bir blockchain oluşturmamıza izin verecek sihirli bir çözüm yok. Durum kaybolmaz ancak doğrulayıcıdan kullanıcıya aktarılır ve sık sık güncellenen tanıklar biçiminde kullanıcıya iletilir.

Bazı potansiyel çözümler mevcut, ancak bunlar kesinlikle durum bilgisi olmayan blockchain modelinden kopuyor. Bu model, üçüncü bir tarafın (ne kullanıcı ne de doğrulayıcı) tam durumu depolamaktan sorumlu olmasına izin verir. Bu tarafa Kanıt Hizmet Düğümü adı verilir (Srinivasan ve diğerleri tarafından en sıkı kontroller yapılır) ve kullanıcılar adına güncel tanıklar oluşturmak için tam durumu kullanır. Kullanıcılar daha sonra bu tanıkları kullanarak, tıpkı doğrulayıcıların hâlâ yalnızca kompakt bir durumu sakladığı normal durum bilgisi olmayan bir blok zincirde olduğu gibi işlem yapabilir. Sistemin teşvik mekanizması, özellikle de kullanıcıların hizmet kanıtı düğümlerini nasıl telafi ettiği, ilginç bir açık araştırma yönüdür.

Şu ana kadarki tartışmamız L1 blok zincirlerine odaklanmış olsa da, sonuçlarımızın aynı zamanda toplama sunucuları gibi L2 sistemleri için de etkileri var. Bir toplama (iyimser veya ZK olsun) genellikle büyük bir durumu alır ve bunu L1'de depolanan küçük bir değeri kullanarak taahhüt eder. Bu durum L2'deki her kullanıcının hesabını içerir. Bu kullanıcıların cari hesap bakiyelerine ilişkin bir tanık yayınlayarak doğrudan L1 üzerinden (L2 sunucularının işbirliği olmadan) para çekebilmelerini istiyoruz. Bu kurulum aynı zamanda modelimizdeki tersinir ispat sisteminin bir örneğidir. Aslında, durum bilgisi olmayan blok zincirlerin pratikte zaten L2 toplamaları şeklinde uygulandığı iddia edilebilir.

Ne yazık ki bu, imkansızlık sonuçlarımızın doğrudan geçerli olduğu anlamına gelir. Bir kullanıcının toplama çekilme tanığının sık sık değişmesi gerekir, aksi halde L2 durumunun neredeyse tamamının L1'e yazılması gerekir. Sonuç olarak, günümüzde koleksiyonlarda genellikle kullanıcıların çıkmaya hazır olduklarında yeni tanıkları hesaplamalarına yardımcı olan bir "kanıt hizmet düğümü" gibi işlev gören bir veri kullanılabilirliği komitesi (bazen "geçerlilik komitesi" olarak da adlandırılır) varsayılır. Bulgularımız, Ethereum belgelerinde kullanıcılara yönelik uyarıların - "İşlem verilerine erişim olmadan kullanıcılar, fonların sahipliğini kanıtlamak ve para çekme işlemini gerçekleştirmek için gereken Merkle kanıtlarını hesaplayamaz." - her zaman geçerli olacağını göstermektedir.

Blockchain sistemleri geliştikçe, blockchain durumunu yönetmenin daha etkili yollarını geliştirmek daha da önemli hale gelecektir. Vatansız blok zincirlerini hariç tutmaya yönelik sonuçlarımız olumsuz görünse de, imkansızlık sonuçları blok zinciri tasarımcıları için faydalıdır çünkü bize araştırmamızı başka bir yere odaklamamızı söyler ve ideal olarak uygulanabilir çözümleri daha hızlı bulmamıza yardımcı olur.

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)