Kaynak: Bitcoin Magazine; Çeviri: Wu Zhu, Altın Ekonomi
Rollups son zamanlarda BTC'nin ölçeklendirilmesinin odak noktası haline geldi ve Lighting Ağı'ndan gerçekten dikkat çeken ilk şey haline geldi. Rollups, Lighting Ağı'nın temel Likidite kısıtlamalarından veya kısıtlamalarından etkilenmeyen veya kısıtlanmayan bir off-chain ikinci katman olmayı amaçlamaktadır, yani son kullanıcıların parayı alabilmeleri için önceden fon tahsis edilmesi (veya "borç verilmesi") veya aracı Düğümlerin ödeme miktarını gönderenden alıcıya kadar tam bir akış sağlamak için kanal dengesi gerektirmektedir.
Bu sistemler başlangıçta Ethereum ve diğer Turing Tamamlandı sistemlerinde çalıştırıldı, ancak son zamanlarda odakları bunları UTXO tabanlı blokzincirlerine (örneğin BTC) taşımak üzerine kaydı. Bu makale, şu anda BTC'de uygulanan durumu tartışmak yerine, insanların uzun süredir aradığı ideal Rollup işlevlerini tartışıyor, ki bu da BTC'nin doğrudan desteklemediği Sıfır Bilgi Kanıtı (ZKP) doğrulaması yeteneğine dayanmaktadır.
Roll'un temel yapısı aşağıdaki gibidir: Tek bir hesap (BTC'de UTXO olarak bilinir) Rollup'ta tüm kullanıcı bakiyelerini tutar. Bu UTXO, mevcut hesapların tüm mevcut bakiyelerini içeren bir taahhütü içerir, bu taahhüt, Merkle ağacının kökü şeklinde Rollup'ta bulunur. Tüm bu hesaplar Açık Anahtar/Özel Anahtar çiftleriyle yetkilendirilir, bu nedenle off-chain harcamaları yapabilmek için kullanıcıların hala Bazı içeriği Gizli Anahtar ile imzalamaları gerekmektedir. Bu yapı, kullanıcıların izin almadan her zaman çıkabilmesine izin verir, tek yapmaları gereken, hesaplarının bir parçası olan Merkle ağacını kanıtlayan bir işlem yapmaktır, böylece kullanıcılar, operatörün izni olmadan Rollup'tan tek taraflı olarak çıkabilirler.
Rollup işletmecileri, off-chain işlemleri tamamlamak için hesap bakiyesi merkle root'unu güncellemek için bir ZKP içermesi gereken bir işlem yapmalıdır. Bu ZKP olmadan işlem geçersiz olacak ve Blok zincirine dahil edilemeyecektir. Bu kanıt, off-chain hesaplar üzerinde yapılan tüm değişikliklerin hesap sahiplerinin uygun şekilde yetkilendirilip yetkilendirilmediğini ve işletmecinin kullanıcıların fonlarını çalmak veya dürüst olmayan bir şekilde yeniden dağıtmak için bakiyeyi kötü niyetli bir şekilde güncellemeyip güncellemediğini doğrulama imkanı sağlar.
Sorun şu ki, yalnızca merkle ağacının kökü on-chain'de yayınlanırsa, kullanıcılar onu görebilir ve erişebilir, ancak nasıl şubelerini ağaca yerleştireceklerini ve istediklerinde izinsiz çıkış yapabileceklerini nasıl bilecekler?
Uygun Rollup
Uygun bir Rollup'ta, her yeni off-chain işlemi onayladığında ve Rollup hesabının durumu değiştiğinde, bilgiler doğrudan blok zincire yerleştirilir. Bütün ağacı değil, sadece ağacı yeniden oluşturmak için gereken bilgileri. Basit bir uygulamada, Rollup'taki tüm mevcut hesapların özetleri bakiyeyi içerecek ve hesap sadece Rollup işlemlerine güncellendiğinde eklenir.
Daha gelişmiş uygulamalarda, bakiye farkını kullanın. Bu temelde, güncelleme sürecinde hangi hesapların fon eklediği veya çıkardığı özetidir. Bu, her Rollup güncellemesinin yalnızca hesap bakiyesi değişikliklerini içermesini sağlar. Sonra, kullanıcılar sadece zinciri tarayabilir ve Rollup'ın başından "hesap bakiyesi hesaplamak" için mevcut hesap bakiyesini yeniden oluşturabilir, bu da onların mevcut bakiyeyi yeniden inşa etmelerine izin verir.
Bu, büyük miktarda maliyet ve Blok alanı tasarrufu sağlar (ve böylece fon tasarrufu sağlar), aynı zamanda kullanıcıların tek taraflı çıkış için gereken bilgileri garanti etmelerine de izin verir. Rollup kuralları, bu verilerin hesap özetini veya hesap farkını içermeyen işlemlerin, Blok zinciri tarafından kullanıcılara sunulan resmi rollup içinde geçersiz işlemler olarak kabul edilmesini gerektirir.
Geçerlilik süresi
Kullanıcı çekme veri erişilebilirlik sorununu ele alma konusunda başka bir yaklaşım, verileri Blok zinciri dışındaki başka bir yere koymaktır. Bu, verilerin başka bir yerde erişilebilir olmasını hala zorunlu kılan ince bir sorun getirir. Geleneksel olarak, bunun için diğer Blok zincirleri, özellikle rollup gibi sistemlerin veri erişilebilirlik katmanı olarak tasarlanmıştır.
Bu, aynı derecede güçlü bir güvenlik zorluğuna neden oluyor. Veriler doğrudan BTCBlok zincirine yayınlandığında, Konsensüs kuralları onun mutlak doğruluğunu sağlayabilir. Ancak, dış sistemlere yayınlandığında, yapabileceği en iyi şey SPV kanıtını doğrulamaktır, yani verilerin başka bir sisteme yayınlandığı.
Bu, verilerin başka bir on-chain kanıtında bulunduğunu doğrulama gerektirir, bu sonunda bir Oracle Makine sorunudur. BTC'nin Blok zinciri, kendi Blok zinciri dışında gerçekleşen herhangi bir şeyi tam olarak doğrulayamaz, yapabileceği en iyi şey ZKP'yi doğrulamaktır. Bununla birlikte, ZKP, rollup verilerini içeren Blok'un üretilmesinden sonra gerçekten açık bir şekilde yayınlanıp yayınlanmadığını doğrulayamaz. Dış bilgilerin gerçekten herkese açık olup olmadığını doğrulayamaz.
Bu, veri tutma saldırısının kapılarını açtı, yani yayınlanmış veri için taahhüt oluşturmak ve rollup'ı ilerletmek için kullanmak, ancak veri aslında kullanılabilir değil. Bu, kullanıcıların fonları çekememesine neden olur. Tek gerçek çözüm, BTC'nin dışında tamamen başka bir sistem üzerinde değer ve teşvik yapısına güvenmektir.
İleri geri durağı
Bu, rollup için bir zorluk getirir. Veri kullanılabilirlik sorunu söz konusu olduğunda, verileri BTC blok zincirine veya başka bir yere yayınlama arasında temelde ikili bir seçenek vardır. Bu seçim, rollup'ın güvenliği, egemenliği ve ölçeklenebilirliği üzerinde önemli bir etkiye sahiptir.
Bir yandan, rollup'un ölçeklenebilirliğine Blok Zinciri veri erişilebilirlik katmanı olarak BTC kullanılması, bir sınırlama getirir. Blok alanı sınırlıdır, bu da bir seferde var olabilecek rollup sayısı ve off-chain işlemlerinin toplamı için bir sınırlama getirir. Her rollup güncellemesi, hesapların Blok alanıyla orantılı olarak değiştiği kadar Blok alanı gerektirir. Bilgi kuramı, verilerin belirli bir seviyeye kadar sıkıştırılmasına izin verir, bu noktada daha fazla genişleme potansiyeli bulunmamaktadır.
Öte yandan, veri kullanılabilirliğini sağlamak için farklı katmanları kullanmak, ölçeklenebilirlik artışının sınırlamalarını ortadan kaldıracaktır, ancak yeni güvenlik ve egemenlik sorunları da beraberinde getirecektir. BTC kullanarak veri kullanılabilirliğini sağlayan Rollup'ta, kullanıcıların çıkarılması gereken veriler otomatik olarak blok zincirine yayınlanmazsa, Rollup'un durumu değişmez. Validium'ları kullanırken, bu garanti tamamen aldatmaya karşı koyma ve veri gizleme yeteneğine bağlıdır.
Şu anda, dış veri kullanılabilirlik sisteminde herhangi bir Blok üreticisi, BTCRollup kullanıcılarının fonlarını ele geçirmek için gerçekten Blok yayınlamak yerine Blok üreterek veri kullanılabilir hale getirebilir.
Peki, gerçekten BTC'de ideal bir Rollup uygulaması yaparsak ve tek taraflı kullanıcı çekimini gerçekleştirirsek, nasıl olurdu?
Bitcoin Magazine: Rollup hangi zorluklarla karşı karşıya?
Kaynak: Bitcoin Magazine; Çeviri: Wu Zhu, Altın Ekonomi
Rollups son zamanlarda BTC'nin ölçeklendirilmesinin odak noktası haline geldi ve Lighting Ağı'ndan gerçekten dikkat çeken ilk şey haline geldi. Rollups, Lighting Ağı'nın temel Likidite kısıtlamalarından veya kısıtlamalarından etkilenmeyen veya kısıtlanmayan bir off-chain ikinci katman olmayı amaçlamaktadır, yani son kullanıcıların parayı alabilmeleri için önceden fon tahsis edilmesi (veya "borç verilmesi") veya aracı Düğümlerin ödeme miktarını gönderenden alıcıya kadar tam bir akış sağlamak için kanal dengesi gerektirmektedir.
Bu sistemler başlangıçta Ethereum ve diğer Turing Tamamlandı sistemlerinde çalıştırıldı, ancak son zamanlarda odakları bunları UTXO tabanlı blokzincirlerine (örneğin BTC) taşımak üzerine kaydı. Bu makale, şu anda BTC'de uygulanan durumu tartışmak yerine, insanların uzun süredir aradığı ideal Rollup işlevlerini tartışıyor, ki bu da BTC'nin doğrudan desteklemediği Sıfır Bilgi Kanıtı (ZKP) doğrulaması yeteneğine dayanmaktadır.
Roll'un temel yapısı aşağıdaki gibidir: Tek bir hesap (BTC'de UTXO olarak bilinir) Rollup'ta tüm kullanıcı bakiyelerini tutar. Bu UTXO, mevcut hesapların tüm mevcut bakiyelerini içeren bir taahhütü içerir, bu taahhüt, Merkle ağacının kökü şeklinde Rollup'ta bulunur. Tüm bu hesaplar Açık Anahtar/Özel Anahtar çiftleriyle yetkilendirilir, bu nedenle off-chain harcamaları yapabilmek için kullanıcıların hala Bazı içeriği Gizli Anahtar ile imzalamaları gerekmektedir. Bu yapı, kullanıcıların izin almadan her zaman çıkabilmesine izin verir, tek yapmaları gereken, hesaplarının bir parçası olan Merkle ağacını kanıtlayan bir işlem yapmaktır, böylece kullanıcılar, operatörün izni olmadan Rollup'tan tek taraflı olarak çıkabilirler.
Rollup işletmecileri, off-chain işlemleri tamamlamak için hesap bakiyesi merkle root'unu güncellemek için bir ZKP içermesi gereken bir işlem yapmalıdır. Bu ZKP olmadan işlem geçersiz olacak ve Blok zincirine dahil edilemeyecektir. Bu kanıt, off-chain hesaplar üzerinde yapılan tüm değişikliklerin hesap sahiplerinin uygun şekilde yetkilendirilip yetkilendirilmediğini ve işletmecinin kullanıcıların fonlarını çalmak veya dürüst olmayan bir şekilde yeniden dağıtmak için bakiyeyi kötü niyetli bir şekilde güncellemeyip güncellemediğini doğrulama imkanı sağlar.
Sorun şu ki, yalnızca merkle ağacının kökü on-chain'de yayınlanırsa, kullanıcılar onu görebilir ve erişebilir, ancak nasıl şubelerini ağaca yerleştireceklerini ve istediklerinde izinsiz çıkış yapabileceklerini nasıl bilecekler?
Uygun Rollup
Uygun bir Rollup'ta, her yeni off-chain işlemi onayladığında ve Rollup hesabının durumu değiştiğinde, bilgiler doğrudan blok zincire yerleştirilir. Bütün ağacı değil, sadece ağacı yeniden oluşturmak için gereken bilgileri. Basit bir uygulamada, Rollup'taki tüm mevcut hesapların özetleri bakiyeyi içerecek ve hesap sadece Rollup işlemlerine güncellendiğinde eklenir.
Daha gelişmiş uygulamalarda, bakiye farkını kullanın. Bu temelde, güncelleme sürecinde hangi hesapların fon eklediği veya çıkardığı özetidir. Bu, her Rollup güncellemesinin yalnızca hesap bakiyesi değişikliklerini içermesini sağlar. Sonra, kullanıcılar sadece zinciri tarayabilir ve Rollup'ın başından "hesap bakiyesi hesaplamak" için mevcut hesap bakiyesini yeniden oluşturabilir, bu da onların mevcut bakiyeyi yeniden inşa etmelerine izin verir.
Bu, büyük miktarda maliyet ve Blok alanı tasarrufu sağlar (ve böylece fon tasarrufu sağlar), aynı zamanda kullanıcıların tek taraflı çıkış için gereken bilgileri garanti etmelerine de izin verir. Rollup kuralları, bu verilerin hesap özetini veya hesap farkını içermeyen işlemlerin, Blok zinciri tarafından kullanıcılara sunulan resmi rollup içinde geçersiz işlemler olarak kabul edilmesini gerektirir.
Geçerlilik süresi
Kullanıcı çekme veri erişilebilirlik sorununu ele alma konusunda başka bir yaklaşım, verileri Blok zinciri dışındaki başka bir yere koymaktır. Bu, verilerin başka bir yerde erişilebilir olmasını hala zorunlu kılan ince bir sorun getirir. Geleneksel olarak, bunun için diğer Blok zincirleri, özellikle rollup gibi sistemlerin veri erişilebilirlik katmanı olarak tasarlanmıştır.
Bu, aynı derecede güçlü bir güvenlik zorluğuna neden oluyor. Veriler doğrudan BTCBlok zincirine yayınlandığında, Konsensüs kuralları onun mutlak doğruluğunu sağlayabilir. Ancak, dış sistemlere yayınlandığında, yapabileceği en iyi şey SPV kanıtını doğrulamaktır, yani verilerin başka bir sisteme yayınlandığı.
Bu, verilerin başka bir on-chain kanıtında bulunduğunu doğrulama gerektirir, bu sonunda bir Oracle Makine sorunudur. BTC'nin Blok zinciri, kendi Blok zinciri dışında gerçekleşen herhangi bir şeyi tam olarak doğrulayamaz, yapabileceği en iyi şey ZKP'yi doğrulamaktır. Bununla birlikte, ZKP, rollup verilerini içeren Blok'un üretilmesinden sonra gerçekten açık bir şekilde yayınlanıp yayınlanmadığını doğrulayamaz. Dış bilgilerin gerçekten herkese açık olup olmadığını doğrulayamaz.
Bu, veri tutma saldırısının kapılarını açtı, yani yayınlanmış veri için taahhüt oluşturmak ve rollup'ı ilerletmek için kullanmak, ancak veri aslında kullanılabilir değil. Bu, kullanıcıların fonları çekememesine neden olur. Tek gerçek çözüm, BTC'nin dışında tamamen başka bir sistem üzerinde değer ve teşvik yapısına güvenmektir.
İleri geri durağı
Bu, rollup için bir zorluk getirir. Veri kullanılabilirlik sorunu söz konusu olduğunda, verileri BTC blok zincirine veya başka bir yere yayınlama arasında temelde ikili bir seçenek vardır. Bu seçim, rollup'ın güvenliği, egemenliği ve ölçeklenebilirliği üzerinde önemli bir etkiye sahiptir.
Bir yandan, rollup'un ölçeklenebilirliğine Blok Zinciri veri erişilebilirlik katmanı olarak BTC kullanılması, bir sınırlama getirir. Blok alanı sınırlıdır, bu da bir seferde var olabilecek rollup sayısı ve off-chain işlemlerinin toplamı için bir sınırlama getirir. Her rollup güncellemesi, hesapların Blok alanıyla orantılı olarak değiştiği kadar Blok alanı gerektirir. Bilgi kuramı, verilerin belirli bir seviyeye kadar sıkıştırılmasına izin verir, bu noktada daha fazla genişleme potansiyeli bulunmamaktadır.
Öte yandan, veri kullanılabilirliğini sağlamak için farklı katmanları kullanmak, ölçeklenebilirlik artışının sınırlamalarını ortadan kaldıracaktır, ancak yeni güvenlik ve egemenlik sorunları da beraberinde getirecektir. BTC kullanarak veri kullanılabilirliğini sağlayan Rollup'ta, kullanıcıların çıkarılması gereken veriler otomatik olarak blok zincirine yayınlanmazsa, Rollup'un durumu değişmez. Validium'ları kullanırken, bu garanti tamamen aldatmaya karşı koyma ve veri gizleme yeteneğine bağlıdır.
Şu anda, dış veri kullanılabilirlik sisteminde herhangi bir Blok üreticisi, BTCRollup kullanıcılarının fonlarını ele geçirmek için gerçekten Blok yayınlamak yerine Blok üreterek veri kullanılabilir hale getirebilir.
Peki, gerçekten BTC'de ideal bir Rollup uygulaması yaparsak ve tek taraflı kullanıcı çekimini gerçekleştirirsek, nasıl olurdu?