Kaynak: Bitcoin Magazine; Çeviri: Beş Kuruş, Altın Ekonomi
Rollup'lar son zamanlarda BTC ölçeklendirmesinin odak noktası haline geldi ve daha geniş ilgi açısından Lighting Ağı'ndan gerçekten "şovu çalan" ilk şey oldu. Rollup'lar, Lighting Ağı çekirdek Likidite kısıtlamaları tarafından kısıtlanmayan veya kısıtlanmayan bir zincir dışı katman 2 olacak şekilde tasarlanmıştır, yani son kullanıcının parayı almak için fonları önceden tahsis edecek (veya "ödünç verecek") birine ihtiyacı vardır veya ara yol Düğüm, ödeme tutarının göndericiden alıcıya tam akışını kolaylaştırmak için kanal bakiyesine ihtiyaç duyar.
Bu sistemler başlangıçta Ethereum ve diğer Turing Tamamlandı sistemlerinde çalışıyordu, ancak son zamanlarda odakları bunları UTXO tabanlı blokzincirlerine (örneğin BTC) taşımak üzerine kaydı. Bu makale mevcut durumu tartışmak yerine, uzun süredir aranan ideal Rollup işlevini tartışıyor, yani BTC'nin desteklemediği doğrudan ZKP (Sıfır Bilgi Kanıtı) doğrulaması yeteneğine dayanıyor.
Roll'un temel yapısı aşağıdaki gibidir: Her bir hesap (BTC'de UTXO olarak bilinir) Rollup'taki 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ü olarak mevcuttur. 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ı verileri Gizli Anahtar ile imzalamaları gerekmektedir. Bu yapı, kullanıcıların herhangi bir izin olmaksızın her zaman ayrılabilmelerine izin verir, sadece hesaplarının bir parçası olduğunu kanıtlayan bir işlem oluşturarak Rollup'tan tek taraflı olarak çıkabilirler ve işletmeci izni gerekmez.
Rollup işletmecileri, hesap bakiyesinin merkle kökünü güncellemek için off-chain işlemleri tamamlarken ZKP (Sıfır Bilgi Kanıtı) içermesi gerektiğinden, işlem Blok zincirine dahil edilemez ve bu ZKP olmadan işlem geçersiz hale gelir. Bu kanıt, off-chain hesaplar üzerindeki tüm değişikliklerin hesap sahiplerinin uygun yetkilendirmesiyle yapıldığını ve işletmecilerin kullanıcıların fonlarını çalmak veya bunları diğer kullanıcılara dürüst olmayan şekilde yeniden dağıtmak için bilerek bakiyeleri güncellemediklerini doğrulamak için insanların yapmasına izin verir.
Sorun şu ki, eğer sadece merkle ağacının kökü on-chain'de yayınlanırsa, kullanıcılar ona bakabilir ve erişebilir, o zaman dallarını nasıl ağaca yerleştirebilirler ki istedikleri zaman izin almadan çıkabilsinler?
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 zincirine yerleştirilir. Tüm ağacı değil, ağacın yeniden oluşturulması için gereken bilgileri. Basit bir uygulamada, Rollup'daki mevcut tüm hesapların özeti bakiyeyi içerecek ve hesap yalnızca Rollup'un güncellenen işlemlerine eklenecektir.
Daha gelişmiş uygulamalarda, bakiye farkını kullanın. Temelde, bu güncelleme sürecinde hangi hesapların fon eklediği veya çıkardığına dair özeti sağlar. Bu, her Rollup güncellemesinin sadece hesap bakiyesindeki değişiklikleri içerdiği anlamına gelir. Ardından, kullanıcılar sadece zinciri tarayabilir ve Rollup'ın başından itibaren 'hesap bakiyesini hesaplayarak' mevcut hesap bakiyesini yeniden oluşturabilir, bu da mevcut bakiyeyi yeniden oluşturmalarına izin verir.
Bu, büyük miktarda harcama ve Blok alanı tasarrufu sağlamanın yanı sıra (bu da fon tasarrufu sağlar) kullanıcıların tek taraflı çıkış için gerekli bilgileri garanti altına almalarına izin verir. Rollup kuralları, bu verilerin, kullanıcılara Blok zinciri üzerinden sunulan resmi rollup'a dahil edilmesini gerektirir, yani hesap özeti veya hesap farkı içermeyen işlemler geçersiz olarak kabul edilir.
Geçerlilik süresi
Kullanıcı çekme veri erişilebilirlik sorununu çözmenin başka bir yolu, verileri Blok zinciri dışında başka bir yere yerleştirmektir. Bu, hassas bir soruna yol açar, rollup hala verilerin başka bir yerde erişilebilir olduğunu zorunlu hale getirir. Geleneksel olarak, bu amaç için diğer Blok zincirleri, özellikle rollup gibi sistemlerin veri erişilebilirlik katmanı olarak tasarlanmıştır.
Bu, güçlü bir güvenlik sağlayan bir ikilem yaratır. Veriler doğrudan BTCBlok zincirine yayınlandığında, Konsensüs kuralları mutlak doğruluğunu garanti edebilir. Ancak, dış sistemlere yayınlandığında, en iyi yapabileceği şey, verinin başka bir sisteme yayınlandığını doğrulayan SPV kanıtını doğrulamaktır.
Bu, verilerin diğer on-chain kanıtlarda mevcut olduğunu doğrulamayı gerektirir ve sonunda bir Oracle Makine sorunudur. BTC'nin Blok zinciri, kendi Blok zincirinde gerçekleşen olaylar dışında herhangi bir şeyi tam olarak doğrulayamaz, en iyi yapabileceği şey ZKP'yi doğrulamaktır. Bununla birlikte, ZKP, rollup verilerini içeren Blok'un üretildikten 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ılarına kapı açtı, yani veri yayınları için taahhüt oluşturmak ve rollup'ı ilerletmek için kullanmak, ancak veri aslında kullanılamaz. Bu, kullanıcıların fon çekmelerine izin veremez. Tek gerçek çözüm, tamamen BTC dışındaki sistemlere ve teşvik yapılarına dayanmaktır.
İleri geri sıkıntısı
Bu, bir rollup için bir ikilem yaratır. Veri erişilebilirlik sorunu söz konusu olduğunda, verilerin BTC blockchain'e veya başka bir yere yayınlanması arasında temelde ikili bir seçenek vardır. Bu seçim, rollup'ın güvenliği, egemenliği ve ölçeklenebilirliği üzerinde büyük bir etkiye sahiptir.
Bir yandan, rollup'un ölçeklenebilirliğine sert bir üst sınır getirecek şekilde BTCBlok zinciri kullanmak. Blok alanı sınırlıdır, bu da bir seferde var olabilecek rollup sayısı ve off-chain işlemlerin toplam sayısı için bir üst sınır belirler. Her rollup güncellemesi, hesapların Blok alanına orantılı olarak değişen hesap sayısına ihtiyaç duyar. Bilgi teorisi, verilerin belirli bir noktaya kadar sıkıştırılmasına izin verir, bu noktada daha fazla genişleme potansiyeli yoktur.
Öte yandan, veri erişilebilirliğini sağlamak için farklı katmanlar kullanmak, ölçeklenebilirlik kazanımlarının sınırlarını ortadan kaldırır, ancak yeni güvenlik ve egemenlik sorunları da beraberinde getirir. BTC kullanarak veri erişilebilirliğini sağlamak için Rollup kullanılırsa ve kullanıcının çıkarmak istediği veri otomatik olarak blok zincirine yayınlanmazsa, Rollup'un durumu değişmez. Validium'ları kullanırken, bu güvence tamamen aldatmaya ve veri gizlemeye karşı dış sistemlerin yeteneklerine dayanır.
Şu anda, harici veri erişilebilirlik sistemindeki herhangi bir Blok üretici, BTCRollup kullanıcılarının fonlarını ele geçirmek için gerçek Bloğu yayınlamak yerine Bloğu üretebilir ve böylece veri kullanılabilir hale getirebilir.
Peki, gerçekten ideal bir Rollup uygulaması ile BTC'de tek taraflı kullanıcı para çekme işlevselliğini gerçekleştirirsek, nasıl olurdu?
Bitcoin Dergisi: Rollup karşılaştığı zorluklar nelerdir?
Kaynak: Bitcoin Magazine; Çeviri: Beş Kuruş, Altın Ekonomi
Rollup'lar son zamanlarda BTC ölçeklendirmesinin odak noktası haline geldi ve daha geniş ilgi açısından Lighting Ağı'ndan gerçekten "şovu çalan" ilk şey oldu. Rollup'lar, Lighting Ağı çekirdek Likidite kısıtlamaları tarafından kısıtlanmayan veya kısıtlanmayan bir zincir dışı katman 2 olacak şekilde tasarlanmıştır, yani son kullanıcının parayı almak için fonları önceden tahsis edecek (veya "ödünç verecek") birine ihtiyacı vardır veya ara yol Düğüm, ödeme tutarının göndericiden alıcıya tam akışını kolaylaştırmak için kanal bakiyesine ihtiyaç duyar.
Bu sistemler başlangıçta Ethereum ve diğer Turing Tamamlandı sistemlerinde çalışıyordu, ancak son zamanlarda odakları bunları UTXO tabanlı blokzincirlerine (örneğin BTC) taşımak üzerine kaydı. Bu makale mevcut durumu tartışmak yerine, uzun süredir aranan ideal Rollup işlevini tartışıyor, yani BTC'nin desteklemediği doğrudan ZKP (Sıfır Bilgi Kanıtı) doğrulaması yeteneğine dayanıyor.
Roll'un temel yapısı aşağıdaki gibidir: Her bir hesap (BTC'de UTXO olarak bilinir) Rollup'taki 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ü olarak mevcuttur. 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ı verileri Gizli Anahtar ile imzalamaları gerekmektedir. Bu yapı, kullanıcıların herhangi bir izin olmaksızın her zaman ayrılabilmelerine izin verir, sadece hesaplarının bir parçası olduğunu kanıtlayan bir işlem oluşturarak Rollup'tan tek taraflı olarak çıkabilirler ve işletmeci izni gerekmez.
Rollup işletmecileri, hesap bakiyesinin merkle kökünü güncellemek için off-chain işlemleri tamamlarken ZKP (Sıfır Bilgi Kanıtı) içermesi gerektiğinden, işlem Blok zincirine dahil edilemez ve bu ZKP olmadan işlem geçersiz hale gelir. Bu kanıt, off-chain hesaplar üzerindeki tüm değişikliklerin hesap sahiplerinin uygun yetkilendirmesiyle yapıldığını ve işletmecilerin kullanıcıların fonlarını çalmak veya bunları diğer kullanıcılara dürüst olmayan şekilde yeniden dağıtmak için bilerek bakiyeleri güncellemediklerini doğrulamak için insanların yapmasına izin verir.
Sorun şu ki, eğer sadece merkle ağacının kökü on-chain'de yayınlanırsa, kullanıcılar ona bakabilir ve erişebilir, o zaman dallarını nasıl ağaca yerleştirebilirler ki istedikleri zaman izin almadan çıkabilsinler?
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 zincirine yerleştirilir. Tüm ağacı değil, ağacın yeniden oluşturulması için gereken bilgileri. Basit bir uygulamada, Rollup'daki mevcut tüm hesapların özeti bakiyeyi içerecek ve hesap yalnızca Rollup'un güncellenen işlemlerine eklenecektir.
Daha gelişmiş uygulamalarda, bakiye farkını kullanın. Temelde, bu güncelleme sürecinde hangi hesapların fon eklediği veya çıkardığına dair özeti sağlar. Bu, her Rollup güncellemesinin sadece hesap bakiyesindeki değişiklikleri içerdiği anlamına gelir. Ardından, kullanıcılar sadece zinciri tarayabilir ve Rollup'ın başından itibaren 'hesap bakiyesini hesaplayarak' mevcut hesap bakiyesini yeniden oluşturabilir, bu da mevcut bakiyeyi yeniden oluşturmalarına izin verir.
Bu, büyük miktarda harcama ve Blok alanı tasarrufu sağlamanın yanı sıra (bu da fon tasarrufu sağlar) kullanıcıların tek taraflı çıkış için gerekli bilgileri garanti altına almalarına izin verir. Rollup kuralları, bu verilerin, kullanıcılara Blok zinciri üzerinden sunulan resmi rollup'a dahil edilmesini gerektirir, yani hesap özeti veya hesap farkı içermeyen işlemler geçersiz olarak kabul edilir.
Geçerlilik süresi
Kullanıcı çekme veri erişilebilirlik sorununu çözmenin başka bir yolu, verileri Blok zinciri dışında başka bir yere yerleştirmektir. Bu, hassas bir soruna yol açar, rollup hala verilerin başka bir yerde erişilebilir olduğunu zorunlu hale getirir. Geleneksel olarak, bu amaç için diğer Blok zincirleri, özellikle rollup gibi sistemlerin veri erişilebilirlik katmanı olarak tasarlanmıştır.
Bu, güçlü bir güvenlik sağlayan bir ikilem yaratır. Veriler doğrudan BTCBlok zincirine yayınlandığında, Konsensüs kuralları mutlak doğruluğunu garanti edebilir. Ancak, dış sistemlere yayınlandığında, en iyi yapabileceği şey, verinin başka bir sisteme yayınlandığını doğrulayan SPV kanıtını doğrulamaktır.
Bu, verilerin diğer on-chain kanıtlarda mevcut olduğunu doğrulamayı gerektirir ve sonunda bir Oracle Makine sorunudur. BTC'nin Blok zinciri, kendi Blok zincirinde gerçekleşen olaylar dışında herhangi bir şeyi tam olarak doğrulayamaz, en iyi yapabileceği şey ZKP'yi doğrulamaktır. Bununla birlikte, ZKP, rollup verilerini içeren Blok'un üretildikten 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ılarına kapı açtı, yani veri yayınları için taahhüt oluşturmak ve rollup'ı ilerletmek için kullanmak, ancak veri aslında kullanılamaz. Bu, kullanıcıların fon çekmelerine izin veremez. Tek gerçek çözüm, tamamen BTC dışındaki sistemlere ve teşvik yapılarına dayanmaktır.
İleri geri sıkıntısı
Bu, bir rollup için bir ikilem yaratır. Veri erişilebilirlik sorunu söz konusu olduğunda, verilerin BTC blockchain'e veya başka bir yere yayınlanması arasında temelde ikili bir seçenek vardır. Bu seçim, rollup'ın güvenliği, egemenliği ve ölçeklenebilirliği üzerinde büyük bir etkiye sahiptir.
Bir yandan, rollup'un ölçeklenebilirliğine sert bir üst sınır getirecek şekilde BTCBlok zinciri kullanmak. Blok alanı sınırlıdır, bu da bir seferde var olabilecek rollup sayısı ve off-chain işlemlerin toplam sayısı için bir üst sınır belirler. Her rollup güncellemesi, hesapların Blok alanına orantılı olarak değişen hesap sayısına ihtiyaç duyar. Bilgi teorisi, verilerin belirli bir noktaya kadar sıkıştırılmasına izin verir, bu noktada daha fazla genişleme potansiyeli yoktur.
Öte yandan, veri erişilebilirliğini sağlamak için farklı katmanlar kullanmak, ölçeklenebilirlik kazanımlarının sınırlarını ortadan kaldırır, ancak yeni güvenlik ve egemenlik sorunları da beraberinde getirir. BTC kullanarak veri erişilebilirliğini sağlamak için Rollup kullanılırsa ve kullanıcının çıkarmak istediği veri otomatik olarak blok zincirine yayınlanmazsa, Rollup'un durumu değişmez. Validium'ları kullanırken, bu güvence tamamen aldatmaya ve veri gizlemeye karşı dış sistemlerin yeteneklerine dayanır.
Şu anda, harici veri erişilebilirlik sistemindeki herhangi bir Blok üretici, BTCRollup kullanıcılarının fonlarını ele geçirmek için gerçek Bloğu yayınlamak yerine Bloğu üretebilir ve böylece veri kullanılabilir hale getirebilir.
Peki, gerçekten ideal bir Rollup uygulaması ile BTC'de tek taraflı kullanıcı para çekme işlevselliğini gerçekleştirirsek, nasıl olurdu?