EVM validyumları için çıkış oyunları: Plazma'nın dönüşü

Orta Seviye3/1/2024, 6:59:34 AM
Bu makale Vitalik tarafından Plasma'nın işleyişi, NFT'lerin karşılaştığı zorluklar, EVM'nin karşılaştığı zorluklar ve Geçerlilik Kanıtı'nın bu sorunların çoğunu nasıl hafifletebileceği hakkında bir açıklama sunmaktadır.

Geri bildirim, inceleme ve tartışma için Karl Floersch, Georgios Konstantopoulos ve Martin Koppelmann'a özel teşekkürler.

Plasma, para yatırma, para çekme ve Merkle kökleri hariç tüm veri ve hesaplamaların zincir dışında tutulmasına izin veren bir blok zinciri ölçeklendirme çözümleri sınıfıdır. Bu, zincir içi veri kullanılabilirliği tarafından darboğaza sokulmayan çok büyük ölçeklenebilirlik kazanımlarına kapı açar. Plasma ilk olarak 2017'de icat edildi ve 2018'de başta Minimal Viable Plasma, Plasma Cash, Plasma Cashflow ve Plasma Prime olmak üzere birçok yineleme gördü. Ne yazık ki Plasma, (i) büyük istemci tarafı veri depolama maliyetleri ve (ii) Plasma'nın <a href=" https://medium.com/@kelvinfichter/why-is-evm-on-plasma-hard-bf2d99c48df7"> ödemelerin ötesinde genelleştirilmesini zorlaştıran temel sınırlamaları ile ilgili nedenlerden dolayı büyük ölçüde rollup 'larınyerini almıştır .

Geçerlilik kanıtlarının (diğer adıyla ZK-SNARK'ların) ortaya çıkışı bize bu kararı yeniden düşünmemiz için bir neden veriyor. Plasma'nın ödemeler için çalışmasını sağlamanın en büyük zorluğu olan istemci tarafı veri depolama, geçerlilik kanıtlarıyla verimli bir şekilde ele alınabilir. Ek olarak, geçerlilik kanıtları, bir EVM'yi çalıştıran Plazma benzeri bir zincir oluşturmamıza olanak tanıyan geniş bir araç yelpazesi sağlar. Plasma güvenlik garantileri tüm kullanıcıları kapsamayacaktır, çünkü Plasma tarzı çıkış oyunlarının birçok karmaşık uygulamaya genişletilmesinin imkansızlığının arkasındaki temel nedenler hala devam etmektedir. Bununla birlikte, varlıkların çok büyük bir yüzdesi yine de uygulamada güvende tutulabilir.

Bu yazı, Plazma fikirlerinin böyle bir şeyi yapmak için nasıl genişletilebileceğini açıklamaktadır.

Genel Bakış: Plazma nasıl çalışır?

Plasma'nın anlaşılması en basit versiyonu Plasma Cash'tir. Plasma Cash, her bir madeni parayı ayrı bir NFT olarak ele alarak ve her bir madeni para için ayrı bir geçmişi izleyerek çalışır. Bir Plazma zincirinin, blokları yapmaktan ve düzenli olarak yayınlamaktan sorumlu bir operatörü vardır. Her bloktaki işlemler seyrek bir Merkle ağacı olarak saklanır: eğer bir işlem k. madeni paranın mülkiyetini transfer ederse, bu işlem ağacın k. konumunda görünür. Plasma zincir operatörü yeni bir blok oluşturduğunda, Merkle ağacının kökünü zincire yayınlar ve her kullanıcıya, o kullanıcının sahip olduğu coinlere karşılık gelen Merkle dallarını doğrudan gönderir.

Bunların bir Plazma Nakit zincirindeki son üç işlem ağacı olduğunu varsayalım. O halde, önceki tüm ağaçların geçerli olduğunu varsayarsak, Eve'in şu anda madeni para 1'e, David'in madeni para 4'e ve George'un madeni para 6'ya sahip olduğunu biliyoruz.

Herhangi bir Plazma sistemindeki ana risk, operatörün hatalı davranmasıdır. Bu iki şekilde gerçekleşebilir:

  1. Geçersiz bir blok yayınlamak (örneğin operatör, Fred o sırada coin'e sahip olmasa bile Fred'den Hermione'ye coin 1 gönderen bir işlem içerir)
  2. Kullanılamayan bir bloğun yayınlanması (örneğin, operatör Bob'a bloklardan biri için Merkle dalını göndermez, böylece Bob'un başka birine parasının hala geçerli ve harcanmamış olduğunu kanıtlamasını engeller)

Operatör, kullanıcının varlıklarıyla ilgili bir şekilde yanlış davranırsa, kullanıcı derhal (özellikle 7 gün içinde) çıkma sorumluluğuna sahiptir. Bir kullanıcı ("çıkış yapan") çıkış yaptığında, bu coin'i önceki sahibinden kendisine transfer eden işlemin dahil edildiğini kanıtlayan bir Merkle dalı sağlar. Bu, başkalarının üç şeyden birinin Merkle kanıtını sağlayarak bu çıkışa meydan okuyabileceği 7 günlük bir meydan okuma dönemi başlatır:

  1. Son sahibi değil: çıkış yapan kişi tarafından daha sonra imzalanan ve çıkış yapan kişinin madeni parasını başka birine devreden bir işlem
  2. Çifte harcama: madeni parayı önceki sahibinden başka birine aktaran ve madeni parayı eski sahibine aktaran işlemden önce dahil edilen bir işlem
  3. Geçersiz geçmiş: daha önce (son 7 gün içinde) madeni paraları transfer eden ve karşılık gelen bir harcaması olmayan bir işlem. Çıkış yapan kişi ilgili harcamayı sağlayarak yanıt verebilir; bunu yapmazlarsa çıkış başarısız olur.

Bu kurallarla, k coin'ine sahip olan herkesin, k coin'ine gerçekten sahip olduğundan ve ondan çıkabileceğinden emin olmak için geçen haftaki tüm geçmiş ağaçlarda k pozisyonunun tüm Merkle dallarını görmesi gerekir. Zorluklara yanıt verebilmeleri ve madeni paralarıyla güvenli bir şekilde çıkabilmeleri için varlığın transferlerini içeren tüm şubeleri saklamaları gerekir.

Değiştirilebilir belirteçlere genelleme

Yukarıdaki tasarım NFT'ler için çalışır. Bununla birlikte, NFT'lerden çok daha yaygın olanı ETH ve USDC gibi değiştirilebilir tokenlardır. Plazma Nakit'i değiştirilebilir jetonlara uygulamanın bir yolu, bir madeni paranın her küçük kupürünü (örn. 0,01 ETH) ayrı bir NFT. Ne yazık ki, bunu yaparsak çıkış için gereken gaz maliyeti çok yüksek olacaktır.

Bir çözüm, çok sayıda bitişik madeni parayı tek bir birim olarak ele alarak optimize etmektir; bu madeni paralar tek seferde aktarılabilir veya çıkarılabilir. Bunu yapmanın iki yolu vardır:

  1. Plasma Cash'i neredeyse olduğu gibi kullanın, ancak çok sayıda bitişik nesne aynıysa, gerçekten çok sayıda nesnenin Merkle ağacını çok hızlı bir şekilde hesaplamak için süslü algoritmalar kullanın. Bunu yapmak şaşırtıcı derecede zor değildir; burada bir python uygulaması görebilirsiniz.
  2. Birçok bitişik madeni parayı tek bir nesne olarak temsil eden Plasma Cashflow'u kullanın.

Bununla birlikte, bu yaklaşımların her ikisi de parçalanma sorunuyla karşılaşır: sizden kahve satın alan yüzlerce kişiden her biri 0,001 ETH alırsanız, ağacın birçok yerinde 0,001 ETH'niz olacaktır ve bu nedenle bu ETH'den gerçekten çıkmak için yine de birçok ayrı çıkış göndermeniz gerekecek ve bu da gaz ücretlerini engelleyici hale getirecektir. Birleştirme protokolleri geliştirilmiştir, ancak uygulanması zordur.

Alternatif olarak, sistemi daha geleneksel bir "harcanmamış işlem çıktısı" (UTXO) modelini dikkate alacak şekilde yeniden tasarlayabiliriz. Bir madeni paradan çıktığınızda, bu madeni paraların son bir haftalık geçmişini sağlamanız gerekir ve herhangi biri bu geçmiş madeni paraların zaten çıkmış olduğunu kanıtlayarak çıkışınıza itiraz edebilir.

Sağ alttaki 0,2 ETH UTXO'nun çekilmesi, yeşil renkle gösterilen geçmişindeki UTXO'lardan herhangi birinin çekilmesi gösterilerek iptal edilebilir. Özellikle sol orta ve sol alt UTXO'ların ata olduğunu, ancak sol üst UTXO'nun olmadığını unutmayın. Bu yaklaşım, 2013 civarındaki renkli madeni para protokollerindeki sıra tabanlı renklendirme fikirlerine benzemektedir.

Bunu yapmak için çok çeşitli teknikler vardır. Her durumda amaç, "aynı madeni paranın" iki kez çekilmesini önlemek için tarihin farklı noktalarında "aynı madeni paranın" ne olduğuna dair bazı anlayışları takip etmektir.

EVM'ye genelleme ile ilgili zorluklar

Ne yazık ki, ödemelerin ötesinde EVM'ye genelleme yapmak çok daha zordur. Temel zorluklardan biri, EVM'deki birçok durum nesnesinin net bir "sahibinin" olmamasıdır. Plasma'nın güvenliği, her nesnenin, zincirin verilerini izleme ve kullanılabilir olduğundan emin olma ve herhangi bir şey yanlış giderse o nesneden çıkma sorumluluğuna sahip bir sahibinin olmasına bağlıdır. Ancak birçok Ethereum uygulaması bu şekilde çalışmaz. Örneğin uniswap likidite havuzlarının tek bir sahibi yoktur.

Bir başka zorluk da EVM'nin bağımlılıkları sınırlamaya çalışmamasıdır. N bloğunda A hesabında tutulan ETH, N-1 bloğundaki herhangi bir yerden gelmiş olabilir. Tutarlı bir durumdan çıkmak için, bir EVM Plazma zincirinin bir çıkış oyununa sahip olması gerekir; bu durumda, N bloğundaki bilgileri kullanarak çıkmak isteyen birinin tüm N bloğu durumunu zincirde yayınlamak için ücret ödemesi gerekebilir: milyonlarca dolarlık bir gaz maliyeti. UTXO tabanlı Plazma şemalarında bu sorun yoktur: her kullanıcı varlıklarından, verilerine sahip olduğu en son blok hangisi ise o bloktan çıkabilir.

Üçüncü bir zorluk ise EVM'deki sınırsız bağımlılıkların, geçerliliği kanıtlamak için uyumlu teşviklere sahip olmayı çok daha zor hale getirmesidir. Herhangi bir durumun geçerliliği diğer her şeye bağlıdır ve bu nedenle herhangi bir şeyi kanıtlamak her şeyi kanıtlamayı gerektirir. Böyle bir durumda hataların ayıklanması, veri mevcudiyeti sorunu nedeniyle genellikle teşvikle uyumlu hale getirilemez. Özellikle can sıkıcı bir sorun, UTXO tabanlı sistemlerde mevcut olan, bir nesnenin durumunun sahibinin izni olmadan değişemeyeceği garantisini kaybetmemizdir. Bu garanti, mal sahibinin varlıklarının kanıtlanabilir en son durumundan her zaman haberdar olması anlamına geldiği ve çıkış oyunlarını basitleştirdiği için son derece kullanışlıdır. Bu olmadan, çıkış oyunları yaratmak çok daha zor hale gelir.

Geçerlilik kanıtları bu sorunların çoğunu nasıl hafifletebilir?

Geçerlilik kanıtlarının Plazma zincir tasarımlarını iyileştirmek için yapabileceği en temel şey, zincirdeki her Plazma bloğunun geçerliliğini kanıtlamaktır. Bu, tasarım alanını büyük ölçüde basitleştirir: operatörden gelen ve endişelenmemiz gereken tek saldırının geçersiz bloklar değil, kullanılamayan bloklar olduğu anlamına gelir. Örneğin Plasma Cash'te, geçmiş zorlukları hakkında endişelenme ihtiyacını ortadan kaldırır. Bu, bir kullanıcının indirmesi gereken durumu, geçen hafta blok başına bir şubeden, varlık başına bir şubeye indirir.

Ayrıca, en son durumdan para çekme işlemleri (operatörün dürüst olduğu genel durumda, tüm para çekme işlemleri en son durumdan olacaktır) en son sahip olmayan itirazlarına tabi değildir ve bu nedenle geçerliliği kanıtlanmış bir Plazma zincirinde bu tür para çekme işlemleri hiçbir itiraza tabi olmayacaktır. Bu, normal durumda para çekme işlemlerinin anında yapılabileceği anlamına gelir!

EVM'ye genişletme: paralel UTXO grafikleri

EVM durumunda, geçerlilik kanıtları akıllıca bir şey yapmamıza da izin verir: ETH ve ERC20 tokenleri için paralel bir UTXO grafiği uygulamak ve UTXO grafiği ile EVM durumu arasındaki SNARK-denkliği kanıtlamak için kullanılabilirler. Bunu elde ettikten sonra, UTXO grafiği üzerinde "normal" bir Plazma sistemi uygulayabilirsiniz.

Bu, EVM'nin karmaşıklıklarının çoğundan kaçınmamızı sağlar. Örneğin, hesap tabanlı bir sistemde birisinin sizin izniniz olmadan hesabınızı düzenleyebileceği (ona jeton göndererek ve böylece bakiyesini artırarak) gerçeği önemli değildir, çünkü Plazma yapısı EVM durumunun kendisi üzerinde değil, daha ziyade EVM'ye paralel olarak yaşayan bir UTXO durumu üzerindedir, burada aldığınız herhangi bir jeton ayrı nesneler olacaktır.

EVM'ye genişletme: toplam durum çıkışı

Bir "plazma EVM" yapmak için önerilen daha basit planlar olmuştur, örn. Plasma Free ve ondan önce 2019'daki bu gönderi. Bu şemalarda, herhangi biri operatörü bir işlemi dahil etmeye veya devletin belirli bir şubesini kullanılabilir hale getirmeye zorlamak için L1'e bir mesaj gönderebilir. Operatör bunu yapmazsa, zincir blokları geri döndürmeye başlar. Birisi tüm durumun ya da en azından kullanıcıların potansiyel olarak eksik olarak işaretlediği tüm verilerin tam bir kopyasını gönderdiğinde zincir geri dönmeyi durdurur. Para çekme işlemi, bu kadar büyük miktarda veri yayınlayan birinin gaz maliyetlerinin o kullanıcıya düşen payını ödeyecek bir ödül yayınlamayı gerektirebilir.

Bunun gibi planlar, normal durumda anında para çekmeye izin vermeme gibi bir zayıflığa sahiptir, çünkü zincirin en son duruma geri dönmesi gerekme olasılığı her zaman vardır.

EVM plazma şemalarının sınırları

Bu gibi şemalar güçlüdür, ancak tüm kullanıcılara tam güvenlik garantisi SAĞLAYAMAZ. Bunların en açık şekilde bozulduğu durum, belirli bir devlet nesnesinin açık bir ekonomik "sahibinin" olmadığı durumlardır.

Bir CDP (teminatlandırılmış borç pozisyonu) örneğini ele alalım; bu, bir kullanıcının kilit altında tutulan ve yalnızca kullanıcı borcunu ödediğinde serbest bırakılabilen coinlere sahip olduğu bir akıllı sözleşmedir. Kullanıcının 1000 DAI borcu olan bir CDP'de kilitli 1 ETH'si (bu yazının yazıldığı tarih itibariyle ~2000$) olduğunu varsayalım. Şimdi, Plazma zinciri blok yayınlamayı durduruyor ve kullanıcı çıkmayı reddediyor. Kullanıcı hiçbir zaman çıkamayabilir. Şimdi, kullanıcının özgür bir seçeneği var: ETH fiyatı 1000 $ 'ın altına düşerse, uzaklaşırlar ve CDP'yi unuturlar ve ETH fiyatı yukarıda kalırsa, sonunda talep ederler. Ortalama olarak, böyle kötü niyetli bir kullanıcı bunu yaparak para kazanır.

Bir başka örnek de gizlilik sistemidir, örn. Tornado Cash veya Gizlilik Havuzları. Beş mudisi olan bir gizlilik sistemi düşünün:

Gizlilik sistemindeki ZK-SNARK'lar, sisteme giren bir madeni paranın sahibi ile çıkan madeni paranın sahibi arasındaki bağlantıyı gizli tutar.

Sadece turuncunun geri çekildiğini ve bu noktada Plazma zinciri operatörünün veri yayınlamayı durdurduğunu varsayalım. Ayrıca UTXO grafik yaklaşımını ilk giren ilk çıkar kuralı ile kullandığımızı varsayalım, böylece her madeni para hemen altındaki madeni para ile eşleşir. Ardından, turuncu önceden karıştırılmış ve sonradan karıştırılmış madeni paralarını çekebilir ve sistem bunu iki ayrı madeni para olarak algılar. Eğer mavi önceden karıştırılmış parayı geri çekmeye çalışırsa, turuncunun daha yeni durumu onun yerini alacaktır; bu arada mavi sonradan karıştırılmış parayı geri çekecek bilgiye sahip olmayacaktır.

Diğer dört mevduat sahibinin gizlilik sözleşmesinin kendisini geri çekmesine izin verirseniz (bu mevduatların yerine geçecektir) ve ardından L1'de madeni paraları çıkarırsanız bu durum düzeltilebilir. Ancak, böyle bir mekanizmanın fiilen uygulanması, gizlilik sistemini geliştiren kişilerin ek çaba sarf etmesini gerektirir.

Gizliliği çözmenin başka yolları da vardır, örneğin Intmax yaklaşımı, bireysel kullanıcılar arasında bilgi aktaran Plazma benzeri bir operatörle birlikte zincir toplama tarzında birkaç bayt koymayı içerir.

Uniswap LP pozisyonlarında da benzer bir sorun vardır: Uniswap pozisyonunda ETH karşılığında USDC alım satımı yaptıysanız, alım satım öncesi USDC'nizi ve alım satım sonrası ETH'nizi çekmeye çalışabilirsiniz. Plazma zinciri operatörü ile gizli anlaşma yaparsanız, likidite sağlayıcıları ve diğer kullanıcılar işlem sonrası duruma erişemeyecek, dolayısıyla işlem sonrası USDC'lerini çekemeyeceklerdir. Bu gibi durumları önlemek için özel bir mantık gerekecektir.

Sonuçlar

2023 yılında, Plazma küçümsenen bir tasarım alanıdır. Rollup'lar altın standart olmaya devam etmektedir ve eşleştirilemeyen güvenlik özelliklerine sahiptir. Bu özellikle geliştirici deneyimi açısından doğrudur: hiçbir şey bir uygulama geliştiricisinin uygulamaları içindeki sahiplik grafikleri ve teşvik akışları hakkında düşünmek zorunda kalmamasının basitliği ile eşleşemez.

Ancak Plasma, veri kullanılabilirliği sorununu tamamen ortadan kaldırmamızı sağlayarak işlem ücretlerini büyük ölçüde azaltıyor. Plazma, aksi takdirde validyum olacak zincirler için önemli bir güvenlik yükseltmesi olabilir. ZK-EVM'lerin nihayet bu yıl meyve vermeye başlaması, bu tasarım alanını yeniden keşfetmek ve geliştirici deneyimini basitleştirmek ve kullanıcıların fonlarını korumak için daha da etkili yapılar ortaya çıkarmak için mükemmel bir fırsat sunuyor.

Sorumluluk Reddi:

  1. Bu makale[vitalik] adresinden yeniden basılmıştır, Tüm telif hakları orijinal yazar[Vitalik Buterin]'e aittir. Bu baskıya itirazınız varsa, lütfen Gate Learn ekibiyle iletişime geçin, onlar bu konuyu derhal ele alacaklardır.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve fikirler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirisi Gate Learn ekibi tarafından yapılmaktadır. Belirtilmediği sürece, çevrilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.

EVM validyumları için çıkış oyunları: Plazma'nın dönüşü

Orta Seviye3/1/2024, 6:59:34 AM
Bu makale Vitalik tarafından Plasma'nın işleyişi, NFT'lerin karşılaştığı zorluklar, EVM'nin karşılaştığı zorluklar ve Geçerlilik Kanıtı'nın bu sorunların çoğunu nasıl hafifletebileceği hakkında bir açıklama sunmaktadır.

Geri bildirim, inceleme ve tartışma için Karl Floersch, Georgios Konstantopoulos ve Martin Koppelmann'a özel teşekkürler.

Plasma, para yatırma, para çekme ve Merkle kökleri hariç tüm veri ve hesaplamaların zincir dışında tutulmasına izin veren bir blok zinciri ölçeklendirme çözümleri sınıfıdır. Bu, zincir içi veri kullanılabilirliği tarafından darboğaza sokulmayan çok büyük ölçeklenebilirlik kazanımlarına kapı açar. Plasma ilk olarak 2017'de icat edildi ve 2018'de başta Minimal Viable Plasma, Plasma Cash, Plasma Cashflow ve Plasma Prime olmak üzere birçok yineleme gördü. Ne yazık ki Plasma, (i) büyük istemci tarafı veri depolama maliyetleri ve (ii) Plasma'nın <a href=" https://medium.com/@kelvinfichter/why-is-evm-on-plasma-hard-bf2d99c48df7"> ödemelerin ötesinde genelleştirilmesini zorlaştıran temel sınırlamaları ile ilgili nedenlerden dolayı büyük ölçüde rollup 'larınyerini almıştır .

Geçerlilik kanıtlarının (diğer adıyla ZK-SNARK'ların) ortaya çıkışı bize bu kararı yeniden düşünmemiz için bir neden veriyor. Plasma'nın ödemeler için çalışmasını sağlamanın en büyük zorluğu olan istemci tarafı veri depolama, geçerlilik kanıtlarıyla verimli bir şekilde ele alınabilir. Ek olarak, geçerlilik kanıtları, bir EVM'yi çalıştıran Plazma benzeri bir zincir oluşturmamıza olanak tanıyan geniş bir araç yelpazesi sağlar. Plasma güvenlik garantileri tüm kullanıcıları kapsamayacaktır, çünkü Plasma tarzı çıkış oyunlarının birçok karmaşık uygulamaya genişletilmesinin imkansızlığının arkasındaki temel nedenler hala devam etmektedir. Bununla birlikte, varlıkların çok büyük bir yüzdesi yine de uygulamada güvende tutulabilir.

Bu yazı, Plazma fikirlerinin böyle bir şeyi yapmak için nasıl genişletilebileceğini açıklamaktadır.

Genel Bakış: Plazma nasıl çalışır?

Plasma'nın anlaşılması en basit versiyonu Plasma Cash'tir. Plasma Cash, her bir madeni parayı ayrı bir NFT olarak ele alarak ve her bir madeni para için ayrı bir geçmişi izleyerek çalışır. Bir Plazma zincirinin, blokları yapmaktan ve düzenli olarak yayınlamaktan sorumlu bir operatörü vardır. Her bloktaki işlemler seyrek bir Merkle ağacı olarak saklanır: eğer bir işlem k. madeni paranın mülkiyetini transfer ederse, bu işlem ağacın k. konumunda görünür. Plasma zincir operatörü yeni bir blok oluşturduğunda, Merkle ağacının kökünü zincire yayınlar ve her kullanıcıya, o kullanıcının sahip olduğu coinlere karşılık gelen Merkle dallarını doğrudan gönderir.

Bunların bir Plazma Nakit zincirindeki son üç işlem ağacı olduğunu varsayalım. O halde, önceki tüm ağaçların geçerli olduğunu varsayarsak, Eve'in şu anda madeni para 1'e, David'in madeni para 4'e ve George'un madeni para 6'ya sahip olduğunu biliyoruz.

Herhangi bir Plazma sistemindeki ana risk, operatörün hatalı davranmasıdır. Bu iki şekilde gerçekleşebilir:

  1. Geçersiz bir blok yayınlamak (örneğin operatör, Fred o sırada coin'e sahip olmasa bile Fred'den Hermione'ye coin 1 gönderen bir işlem içerir)
  2. Kullanılamayan bir bloğun yayınlanması (örneğin, operatör Bob'a bloklardan biri için Merkle dalını göndermez, böylece Bob'un başka birine parasının hala geçerli ve harcanmamış olduğunu kanıtlamasını engeller)

Operatör, kullanıcının varlıklarıyla ilgili bir şekilde yanlış davranırsa, kullanıcı derhal (özellikle 7 gün içinde) çıkma sorumluluğuna sahiptir. Bir kullanıcı ("çıkış yapan") çıkış yaptığında, bu coin'i önceki sahibinden kendisine transfer eden işlemin dahil edildiğini kanıtlayan bir Merkle dalı sağlar. Bu, başkalarının üç şeyden birinin Merkle kanıtını sağlayarak bu çıkışa meydan okuyabileceği 7 günlük bir meydan okuma dönemi başlatır:

  1. Son sahibi değil: çıkış yapan kişi tarafından daha sonra imzalanan ve çıkış yapan kişinin madeni parasını başka birine devreden bir işlem
  2. Çifte harcama: madeni parayı önceki sahibinden başka birine aktaran ve madeni parayı eski sahibine aktaran işlemden önce dahil edilen bir işlem
  3. Geçersiz geçmiş: daha önce (son 7 gün içinde) madeni paraları transfer eden ve karşılık gelen bir harcaması olmayan bir işlem. Çıkış yapan kişi ilgili harcamayı sağlayarak yanıt verebilir; bunu yapmazlarsa çıkış başarısız olur.

Bu kurallarla, k coin'ine sahip olan herkesin, k coin'ine gerçekten sahip olduğundan ve ondan çıkabileceğinden emin olmak için geçen haftaki tüm geçmiş ağaçlarda k pozisyonunun tüm Merkle dallarını görmesi gerekir. Zorluklara yanıt verebilmeleri ve madeni paralarıyla güvenli bir şekilde çıkabilmeleri için varlığın transferlerini içeren tüm şubeleri saklamaları gerekir.

Değiştirilebilir belirteçlere genelleme

Yukarıdaki tasarım NFT'ler için çalışır. Bununla birlikte, NFT'lerden çok daha yaygın olanı ETH ve USDC gibi değiştirilebilir tokenlardır. Plazma Nakit'i değiştirilebilir jetonlara uygulamanın bir yolu, bir madeni paranın her küçük kupürünü (örn. 0,01 ETH) ayrı bir NFT. Ne yazık ki, bunu yaparsak çıkış için gereken gaz maliyeti çok yüksek olacaktır.

Bir çözüm, çok sayıda bitişik madeni parayı tek bir birim olarak ele alarak optimize etmektir; bu madeni paralar tek seferde aktarılabilir veya çıkarılabilir. Bunu yapmanın iki yolu vardır:

  1. Plasma Cash'i neredeyse olduğu gibi kullanın, ancak çok sayıda bitişik nesne aynıysa, gerçekten çok sayıda nesnenin Merkle ağacını çok hızlı bir şekilde hesaplamak için süslü algoritmalar kullanın. Bunu yapmak şaşırtıcı derecede zor değildir; burada bir python uygulaması görebilirsiniz.
  2. Birçok bitişik madeni parayı tek bir nesne olarak temsil eden Plasma Cashflow'u kullanın.

Bununla birlikte, bu yaklaşımların her ikisi de parçalanma sorunuyla karşılaşır: sizden kahve satın alan yüzlerce kişiden her biri 0,001 ETH alırsanız, ağacın birçok yerinde 0,001 ETH'niz olacaktır ve bu nedenle bu ETH'den gerçekten çıkmak için yine de birçok ayrı çıkış göndermeniz gerekecek ve bu da gaz ücretlerini engelleyici hale getirecektir. Birleştirme protokolleri geliştirilmiştir, ancak uygulanması zordur.

Alternatif olarak, sistemi daha geleneksel bir "harcanmamış işlem çıktısı" (UTXO) modelini dikkate alacak şekilde yeniden tasarlayabiliriz. Bir madeni paradan çıktığınızda, bu madeni paraların son bir haftalık geçmişini sağlamanız gerekir ve herhangi biri bu geçmiş madeni paraların zaten çıkmış olduğunu kanıtlayarak çıkışınıza itiraz edebilir.

Sağ alttaki 0,2 ETH UTXO'nun çekilmesi, yeşil renkle gösterilen geçmişindeki UTXO'lardan herhangi birinin çekilmesi gösterilerek iptal edilebilir. Özellikle sol orta ve sol alt UTXO'ların ata olduğunu, ancak sol üst UTXO'nun olmadığını unutmayın. Bu yaklaşım, 2013 civarındaki renkli madeni para protokollerindeki sıra tabanlı renklendirme fikirlerine benzemektedir.

Bunu yapmak için çok çeşitli teknikler vardır. Her durumda amaç, "aynı madeni paranın" iki kez çekilmesini önlemek için tarihin farklı noktalarında "aynı madeni paranın" ne olduğuna dair bazı anlayışları takip etmektir.

EVM'ye genelleme ile ilgili zorluklar

Ne yazık ki, ödemelerin ötesinde EVM'ye genelleme yapmak çok daha zordur. Temel zorluklardan biri, EVM'deki birçok durum nesnesinin net bir "sahibinin" olmamasıdır. Plasma'nın güvenliği, her nesnenin, zincirin verilerini izleme ve kullanılabilir olduğundan emin olma ve herhangi bir şey yanlış giderse o nesneden çıkma sorumluluğuna sahip bir sahibinin olmasına bağlıdır. Ancak birçok Ethereum uygulaması bu şekilde çalışmaz. Örneğin uniswap likidite havuzlarının tek bir sahibi yoktur.

Bir başka zorluk da EVM'nin bağımlılıkları sınırlamaya çalışmamasıdır. N bloğunda A hesabında tutulan ETH, N-1 bloğundaki herhangi bir yerden gelmiş olabilir. Tutarlı bir durumdan çıkmak için, bir EVM Plazma zincirinin bir çıkış oyununa sahip olması gerekir; bu durumda, N bloğundaki bilgileri kullanarak çıkmak isteyen birinin tüm N bloğu durumunu zincirde yayınlamak için ücret ödemesi gerekebilir: milyonlarca dolarlık bir gaz maliyeti. UTXO tabanlı Plazma şemalarında bu sorun yoktur: her kullanıcı varlıklarından, verilerine sahip olduğu en son blok hangisi ise o bloktan çıkabilir.

Üçüncü bir zorluk ise EVM'deki sınırsız bağımlılıkların, geçerliliği kanıtlamak için uyumlu teşviklere sahip olmayı çok daha zor hale getirmesidir. Herhangi bir durumun geçerliliği diğer her şeye bağlıdır ve bu nedenle herhangi bir şeyi kanıtlamak her şeyi kanıtlamayı gerektirir. Böyle bir durumda hataların ayıklanması, veri mevcudiyeti sorunu nedeniyle genellikle teşvikle uyumlu hale getirilemez. Özellikle can sıkıcı bir sorun, UTXO tabanlı sistemlerde mevcut olan, bir nesnenin durumunun sahibinin izni olmadan değişemeyeceği garantisini kaybetmemizdir. Bu garanti, mal sahibinin varlıklarının kanıtlanabilir en son durumundan her zaman haberdar olması anlamına geldiği ve çıkış oyunlarını basitleştirdiği için son derece kullanışlıdır. Bu olmadan, çıkış oyunları yaratmak çok daha zor hale gelir.

Geçerlilik kanıtları bu sorunların çoğunu nasıl hafifletebilir?

Geçerlilik kanıtlarının Plazma zincir tasarımlarını iyileştirmek için yapabileceği en temel şey, zincirdeki her Plazma bloğunun geçerliliğini kanıtlamaktır. Bu, tasarım alanını büyük ölçüde basitleştirir: operatörden gelen ve endişelenmemiz gereken tek saldırının geçersiz bloklar değil, kullanılamayan bloklar olduğu anlamına gelir. Örneğin Plasma Cash'te, geçmiş zorlukları hakkında endişelenme ihtiyacını ortadan kaldırır. Bu, bir kullanıcının indirmesi gereken durumu, geçen hafta blok başına bir şubeden, varlık başına bir şubeye indirir.

Ayrıca, en son durumdan para çekme işlemleri (operatörün dürüst olduğu genel durumda, tüm para çekme işlemleri en son durumdan olacaktır) en son sahip olmayan itirazlarına tabi değildir ve bu nedenle geçerliliği kanıtlanmış bir Plazma zincirinde bu tür para çekme işlemleri hiçbir itiraza tabi olmayacaktır. Bu, normal durumda para çekme işlemlerinin anında yapılabileceği anlamına gelir!

EVM'ye genişletme: paralel UTXO grafikleri

EVM durumunda, geçerlilik kanıtları akıllıca bir şey yapmamıza da izin verir: ETH ve ERC20 tokenleri için paralel bir UTXO grafiği uygulamak ve UTXO grafiği ile EVM durumu arasındaki SNARK-denkliği kanıtlamak için kullanılabilirler. Bunu elde ettikten sonra, UTXO grafiği üzerinde "normal" bir Plazma sistemi uygulayabilirsiniz.

Bu, EVM'nin karmaşıklıklarının çoğundan kaçınmamızı sağlar. Örneğin, hesap tabanlı bir sistemde birisinin sizin izniniz olmadan hesabınızı düzenleyebileceği (ona jeton göndererek ve böylece bakiyesini artırarak) gerçeği önemli değildir, çünkü Plazma yapısı EVM durumunun kendisi üzerinde değil, daha ziyade EVM'ye paralel olarak yaşayan bir UTXO durumu üzerindedir, burada aldığınız herhangi bir jeton ayrı nesneler olacaktır.

EVM'ye genişletme: toplam durum çıkışı

Bir "plazma EVM" yapmak için önerilen daha basit planlar olmuştur, örn. Plasma Free ve ondan önce 2019'daki bu gönderi. Bu şemalarda, herhangi biri operatörü bir işlemi dahil etmeye veya devletin belirli bir şubesini kullanılabilir hale getirmeye zorlamak için L1'e bir mesaj gönderebilir. Operatör bunu yapmazsa, zincir blokları geri döndürmeye başlar. Birisi tüm durumun ya da en azından kullanıcıların potansiyel olarak eksik olarak işaretlediği tüm verilerin tam bir kopyasını gönderdiğinde zincir geri dönmeyi durdurur. Para çekme işlemi, bu kadar büyük miktarda veri yayınlayan birinin gaz maliyetlerinin o kullanıcıya düşen payını ödeyecek bir ödül yayınlamayı gerektirebilir.

Bunun gibi planlar, normal durumda anında para çekmeye izin vermeme gibi bir zayıflığa sahiptir, çünkü zincirin en son duruma geri dönmesi gerekme olasılığı her zaman vardır.

EVM plazma şemalarının sınırları

Bu gibi şemalar güçlüdür, ancak tüm kullanıcılara tam güvenlik garantisi SAĞLAYAMAZ. Bunların en açık şekilde bozulduğu durum, belirli bir devlet nesnesinin açık bir ekonomik "sahibinin" olmadığı durumlardır.

Bir CDP (teminatlandırılmış borç pozisyonu) örneğini ele alalım; bu, bir kullanıcının kilit altında tutulan ve yalnızca kullanıcı borcunu ödediğinde serbest bırakılabilen coinlere sahip olduğu bir akıllı sözleşmedir. Kullanıcının 1000 DAI borcu olan bir CDP'de kilitli 1 ETH'si (bu yazının yazıldığı tarih itibariyle ~2000$) olduğunu varsayalım. Şimdi, Plazma zinciri blok yayınlamayı durduruyor ve kullanıcı çıkmayı reddediyor. Kullanıcı hiçbir zaman çıkamayabilir. Şimdi, kullanıcının özgür bir seçeneği var: ETH fiyatı 1000 $ 'ın altına düşerse, uzaklaşırlar ve CDP'yi unuturlar ve ETH fiyatı yukarıda kalırsa, sonunda talep ederler. Ortalama olarak, böyle kötü niyetli bir kullanıcı bunu yaparak para kazanır.

Bir başka örnek de gizlilik sistemidir, örn. Tornado Cash veya Gizlilik Havuzları. Beş mudisi olan bir gizlilik sistemi düşünün:

Gizlilik sistemindeki ZK-SNARK'lar, sisteme giren bir madeni paranın sahibi ile çıkan madeni paranın sahibi arasındaki bağlantıyı gizli tutar.

Sadece turuncunun geri çekildiğini ve bu noktada Plazma zinciri operatörünün veri yayınlamayı durdurduğunu varsayalım. Ayrıca UTXO grafik yaklaşımını ilk giren ilk çıkar kuralı ile kullandığımızı varsayalım, böylece her madeni para hemen altındaki madeni para ile eşleşir. Ardından, turuncu önceden karıştırılmış ve sonradan karıştırılmış madeni paralarını çekebilir ve sistem bunu iki ayrı madeni para olarak algılar. Eğer mavi önceden karıştırılmış parayı geri çekmeye çalışırsa, turuncunun daha yeni durumu onun yerini alacaktır; bu arada mavi sonradan karıştırılmış parayı geri çekecek bilgiye sahip olmayacaktır.

Diğer dört mevduat sahibinin gizlilik sözleşmesinin kendisini geri çekmesine izin verirseniz (bu mevduatların yerine geçecektir) ve ardından L1'de madeni paraları çıkarırsanız bu durum düzeltilebilir. Ancak, böyle bir mekanizmanın fiilen uygulanması, gizlilik sistemini geliştiren kişilerin ek çaba sarf etmesini gerektirir.

Gizliliği çözmenin başka yolları da vardır, örneğin Intmax yaklaşımı, bireysel kullanıcılar arasında bilgi aktaran Plazma benzeri bir operatörle birlikte zincir toplama tarzında birkaç bayt koymayı içerir.

Uniswap LP pozisyonlarında da benzer bir sorun vardır: Uniswap pozisyonunda ETH karşılığında USDC alım satımı yaptıysanız, alım satım öncesi USDC'nizi ve alım satım sonrası ETH'nizi çekmeye çalışabilirsiniz. Plazma zinciri operatörü ile gizli anlaşma yaparsanız, likidite sağlayıcıları ve diğer kullanıcılar işlem sonrası duruma erişemeyecek, dolayısıyla işlem sonrası USDC'lerini çekemeyeceklerdir. Bu gibi durumları önlemek için özel bir mantık gerekecektir.

Sonuçlar

2023 yılında, Plazma küçümsenen bir tasarım alanıdır. Rollup'lar altın standart olmaya devam etmektedir ve eşleştirilemeyen güvenlik özelliklerine sahiptir. Bu özellikle geliştirici deneyimi açısından doğrudur: hiçbir şey bir uygulama geliştiricisinin uygulamaları içindeki sahiplik grafikleri ve teşvik akışları hakkında düşünmek zorunda kalmamasının basitliği ile eşleşemez.

Ancak Plasma, veri kullanılabilirliği sorununu tamamen ortadan kaldırmamızı sağlayarak işlem ücretlerini büyük ölçüde azaltıyor. Plazma, aksi takdirde validyum olacak zincirler için önemli bir güvenlik yükseltmesi olabilir. ZK-EVM'lerin nihayet bu yıl meyve vermeye başlaması, bu tasarım alanını yeniden keşfetmek ve geliştirici deneyimini basitleştirmek ve kullanıcıların fonlarını korumak için daha da etkili yapılar ortaya çıkarmak için mükemmel bir fırsat sunuyor.

Sorumluluk Reddi:

  1. Bu makale[vitalik] adresinden yeniden basılmıştır, Tüm telif hakları orijinal yazar[Vitalik Buterin]'e aittir. Bu baskıya itirazınız varsa, lütfen Gate Learn ekibiyle iletişime geçin, onlar bu konuyu derhal ele alacaklardır.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve fikirler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirisi Gate Learn ekibi tarafından yapılmaktadır. Belirtilmediği sürece, çevrilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.
Şimdi Başlayın
Kaydolun ve
100 USD
değerinde Kupon kazanın!