Parçalama Teknolojisi: Blok Zinciri Ölçeklenebilirliğinin Bir Diğer Olasılığı
2022年9月15日, Ethereum (Merge)'yi tamamladı. Bu, Ethereum'un 5 yıl hazırlık yaptığı ve 6 kez ertelendiği tarihi bir an. Uzun süreli geliştirme ve geniş ilgi nedeniyle, birçok kişi birleşmenin doğal olarak daha yüksek ölçeklenebilirlik, güvenlik ve sürdürülebilirlik getireceğini düşündü, ancak durum böyle değil. İş kanıtı (PoW)'den hisse kanıtı (PoS)'ye geçiş, sadece "raylar ve tekerleklerin" değiştirilmesi anlamına geliyor ve doğrudan daha hızlı hız, daha büyük kapasite veya daha düşük maliyet sağlamıyor. Bu hedeflere ulaşabilen gerçek çözüm, parçalama yeteneğine sahip bir ana ağ ve artırılmış ölçeklenebilirlik sağlayan Layer2 çözümleri olan bir dizi çözümdür.
Ethereum'in kurucusu Vitalik Buterin'in belirttiği gibi, parçalama, ölçeklenebilirlik üçlemesinde bir genişletme çözümüdür. Ağı oluşturan düğümleri daha küçük gruplara ayırarak, farklı işlem setlerini işleyerek ve paralel işleme gerçekleştirerek çalışır. Bu, Walmart'ta alışveriş yaparken, daha fazla kasa açarak, kuyruk bekleme süresini görsel olarak azaltmak ve kasada ödeme verimliliğini artırmak gibidir.
Bu, parçalamanın mantığıdır; doğrudan ve basit, ancak şeytan ayrıntılardadır. İlkeler ve yönler doğru, ancak uygulamada her zaman birçok sorunla karşılaşılır. Bu makale, "parçalama" yolundaki yönleri ve sorunları netleştirerek, yıldızlara bakan ve ayakları yere basan bir parçalama kaşifleri haritası çizmeyi amaçlamaktadır. Aynı zamanda mevcut parçalama çözümlerini karşılaştırarak bazı ortak sorunları bulmak ve uygulanabilir bir keşif yönü önermek: Shardeum ve dinamik parçalama.
Bir. "Parçalama" Hakkında
Kısaca, imkansız üçgenin kısıtlamalarını göz önünde bulundurarak, Ethereum'u koordinat sistemi orijini (0,0) olarak alarak, "dikey" ve "yatay" iki düşünce tarzına göre, mevcut Blok Zinciri'nin ölçeklenebilirlik yöntemlerini iki ana kategoriye ayırıyoruz:
Dikey Ölçeklendirme (: Sistem mevcut donanımının performansını artırarak gerçekleştirilir. Her düğümün süper hesaplama gücüne sahip olduğu merkeziyetsiz bir ağ kurmak, yani her düğümün "daha iyi" donanıma ihtiyaç duyması gerekmektedir. Bu yöntem basit ve etkilidir, özellikle yüksek frekanslı ticaret, oyun ve gecikmeye duyarlı diğer uygulama senaryoları için başlangıçta bir iyileştirme sağlamak mümkündür. Ancak bu ölçeklendirme yöntemi, doğrulama düğümlerinin veya tam düğümlerin işletme maliyetleri arttığı için ağın merkeziyetsizlik düzeyini sınırlayacaktır. Merkeziyetsizlik düzeyinin korunması, hesaplama donanım performansının yaklaşık artış hızına bağlıdır ) bu da "Moore Yasası" olarak bilinir: Çip üzerindeki transistör sayısı her iki yılda bir iki katına çıkar, hesaplama maliyeti ise yarıya iner (.
Yatay Ölçeklenebilirlik)Yatay Ölçeklenebilirlik(: Yatay ölçeklenebilirliğin genellikle birkaç yaklaşımı vardır. Birincisi, blok zinciri bağlamında, bir ekosistemdeki işlem hesaplama yükünü birden fazla bağımsız blok zincirine dağıtmaktır; her bir zincir, kendine ait blok üreticileri ve yürütme yeteneklerine sahiptir. Bu yöntem, her bir zincirin yürütme katmanını tam olarak özelleştirmeye olanak tanır; örneğin, düğüm donanım gereksinimleri, gizlilik işlevleri, gas ücretleri, sanal makineler ve izin ayarları gibi. Diğer bir yatay ölçeklenebilirlik çözümü, blok zincirinin temel altyapısını yürütme katmanı, veri kullanılabilirlik katmanı)DA( ve konsensüs katmanına ayıran modüler blok zinciridir. En yaygın blok zinciri modüler mekanizması rollup'tır. Bir diğer yöntem ise bir blok zincirini birçok parçaya ayırmak ve paralel olarak yürütmektir. Her bir parça bir blok zinciri olarak düşünülebilir; yani birçok blok zinciri paralel olarak yürütülebilir. Ayrıca, genellikle tüm parçaları senkronize tutmak için tek bir ana zincir bulunur.
![Bin kelimeyle açıklama yeni halka Shardeum: Parçalama'nın bir başka olasılığı])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(
Şunu belirtmek gerekir ki, yukarıdaki genişletme yaklaşımları yalnızca bağımsız değildir, her bir çözüm, imkansız üçgen içinde bir denge noktası bulmakta ve sistemdeki ekonomik güçlerin yarattığı teşvik mekanizması tasarımıyla, makro ve mikro düzeylerde etkili bir denge sağlamayı amaçlamaktadır.
"Parçalama" hakkında tartışmak için öncelikle her şeyi baştan düzenlememiz gerekiyor.
Hala böyle bir durumu varsayıyoruz, Walmart'ta alışveriş kasasında, kasada verimliliği artırmak ve müşterilerin bekleme sürelerini azaltmak için, tek bir kasa kanalından 10 kasa penceresine genişliyoruz, defter hatalarını önlemek için bu aşamada ortak kurallar belirlememiz gerekiyor:
İlk olarak, eğer 10 kasamız varsa, onları hangi pencerede çalışacak şekilde nasıl dağıtırız?
İkincisi, 1000 müşterimiz sırada bekliyorsa, her bir müşterinin hangi gişeye gideceğine nasıl karar veririz?
Üçüncüsü, bu 10 pencereye karşılık gelen 10 ayrı defterin nasıl toplanacağı?
Dördüncüsü, muhasebe uyumsuzluğu durumunu önlemek için, kasiyerin hata yapmasını nasıl engelleyebiliriz?
Bu birkaç soru aslında parçalama içindeki birkaç ana soruya karşılık geliyor, bunlar şunlardır:
Tüm ağın düğümlerinin/doğrulayıcılarının hangi parçalama ait olduğunu nasıl belirleyebiliriz? Yani: ağ parçalamayı nasıl gerçekleştirebiliriz )Network Sharding(;
Her bir işlemin hangi parçaya atanacağını nasıl belirleriz? Yani: işlem parçalama )Transaction Sharding(;
Blok zinciri verileri farklı parçalamalarda nasıl depolanır? Yani: durum parçalama )State Sharding(;
Karmaşıklık risk anlamına gelir, yukarıdaki tüm temeller üzerinde, tüm sistemin güvenliğinin parçalanmasını nasıl önleyebiliriz?
) 01 Ağ Parçalama ###Network Sharding (
Eğer blok zincirini basitçe merkeziyetsiz bir defter olarak anlıyorsak, PoS veya PoW konsensüs mekanizması, her bir düğümün belirli bir kural setine göre muhasebe hakkı için rekabet etmesini sağlamak içindir ve bu süreçte defterin doğruluğunu garanti eder. Ağ parçalamaya gelince, bu, blok zinciri ağını parçalara ayırmak için başka bir kural setine ihtiyaç duyulduğu anlamına gelir; bu süreçte karşılıklı iletişimi asgariye indirgeyerek, her bir parça zincir üzerindeki işlemleri işleyip muhasebe hakkı için rekabet eder - yani, düğümlerin gruplandırma kuralı.
Bu süreçte karşılaşılan sorun, Blok Zinciri içindeki düğümlerin farklı Parçalara ayrılmasıyla, saldırganların zorluk ve maliyetinin doğrudan düşmesidir. Varsayalım ki bu gruplama sürecinin kuralları ve sonuçları sabit ve önceden tahmin edilebilir; o zaman saldırganın tüm Blok Zinciri ağını kontrol etmek istemesi durumunda, sadece bir Parçayı hedefleyerek, o Parça içindeki bazı düğümleri satın alması yeterlidir.
Near'ın kurucusu Alexander Skidanov bu sorunu şöyle tanımlıyor: Eğer X sayıda doğrulayıcıya sahip tek bir zincir, 10 parçaya ayrılmış bir parça zincirine sert bir şekilde ayrılmaya karar verirse, her bir parçada şimdi yalnızca X/10 doğrulayıcı olacaktır. Bir parçayı yok etmek için yalnızca toplam doğrulayıcı sayısının %5.1'ini yok etmek yeterlidir. Bu, ikinci bir noktayı gündeme getiriyor: Her bir parça için doğrulayıcıları kim seçecek? Eğer bu %5.1'lik doğrulayıcıların hepsi aynı parçada bulunuyorsa, %5.1'lik doğrulayıcıları kontrol etmek zararlıdır. Eğer doğrulayıcılar hangi parçada doğrulama yapacaklarını seçemezlerse, %5.1'lik doğrulayıcıların katılımcılarının tüm doğrulayıcıları aynı parçada toplaması son derece olasılıksızdır, bu da sistemin yok edilme yeteneklerini büyük ölçüde azaltır.
Parçalama sistemi, ağın dışarıdan parçalama işlemlerinin bu işlemleri geri almayacağına güvenmesini sağlamak için bir mekanizma geliştirmelidir. Bugüne kadar, en iyi cevaplardan biri, parçalama içindeki doğrulayıcı sayısının belirli bir minimum eşiğin üzerinde olmasını sağlamak, böylece dürüst olmayan doğrulayıcıların tek bir parçalamayı aşma olasılığının düşük olmasıdır. En yaygın yöntem, belirli bir derecede tarafsız rastgelelik oluşturmaktır; matematiksel bir yaklaşımla, saldırganların başarı olasılığını en aza indirmektir. Örneğin, Ethereum'da, Ethereum'un çözümü, tüm doğrulayıcılardan rastgele olarak bir parçalama doğrulayıcısı seçmektir ve her 6.4 dakikada ) bir epoch uzunluğunda ( doğrulayıcıları değiştirmektir.
Basitçe söylemek gerekirse, düğümleri rastgele gruplara ayırmak ve ardından çalışmayı her grup düğümüne bağımsız olarak doğrulamak için dağıtmaktır.
Ancak belirtmek gerekir ki, blok zincirindeki rastgelelik oldukça zorlayıcı bir konudur; mantıken, bu rastgele sayı üretim sürecinin herhangi bir belirli parçalamanın hesaplamasına bağlı olmaması gerekir. Bu hesaplama için, mevcut birçok tasarım yaklaşımı, tüm ağı yönetmek için ayrı bir blok zinciri geliştirmeyi hedeflemektedir. Böyle bir zincir, Ethereum ve Near'da Beacon zinciri, PolkaDot'ta Relay zinciri, Cosmos'ta ise Cosmos Hub olarak adlandırılmaktadır.
![万字详解新公链 Shardeum:Parçalamanın başka bir olasılığı])https://img-cdn.gateio.im/webp-social/moments-6e8d3331d7d68cb512eb2eb47bd9064d.webp(
) 02 İşlem Parçalama (
İşlem parçalama, "hangi işlemlerin hangi parçalara tahsis edileceği" kurallarının belirlenmesini ifade eder, böylece hem paralel işleme amacı gerçekleştirilir hem de çift harcama sorununu önleyebilirsiniz. Blok Zinciri'nin defter modelinin farklılıkları, işlem parçalamanın geliştirilmesi üzerinde etkili olacaktır.
Şu anda Blok Zinciri ağında iki tür muhasebe yöntemi bulunmaktadır, bunlar UTXO)Kullanılmamış İşlem Çıktıları modeli ve hesap/bakiye modelidir, ilki BTC'nin tipik bir temsilcisidir, ikincisi ise ETH'dir.
UTXO modeli: BTC işlemlerinde, her işlem bir veya birden fazla çıktı içerir, UTXO henüz harcanmamış blok zinciri işlemlerinin çıktısını ifade eder, yeni işlemlerin girişi olarak kullanılabilir, harcanmış işlem çıktıları ise tekrar harcanamaz, kağıt paranın işleminde olduğu gibi ödeme ve bozdurma durumuna benzer, müşteri bir veya daha fazla kağıt parayı dükkana öder, dükkan ise bir veya daha fazla kağıt parayı müşteriyle bozdurur. UTXO modelinde, işlem parçalama çapraz parça iletişimi gerektirir. Bir işlem birden fazla girdi ve birden fazla çıktı içerebilir, hesap kavramı yoktur ve bakiye kaydı da yoktur, olası bir yol şudur: İşlemin belirli bir girdi değerine göre, verilerin hangi parçaya gitmesi gerektiğini belirlemek için bir hash fonksiyonuna işlenerek ayrık bir hash değeri haline getirilmesi.
Girişlerin tutarlı bir şekilde doğru parçaya yerleştirilmesini sağlamak için, hash fonksiyonuna girilen değerlerin aynı sütundan gelmesi gerekir. Bu sütuna Shard Key denir. Daha sonra, 1 değeri üreten işlemler parça 1'e, 2 değeri üreten işlemler parça 2'ye yerleştirilir. Ancak bu yöntemin dezavantajı, çift harcama saldırılarını önlemek için parçalar arasında iletişim kurulması gerektiğidir. Parça arası işlemleri kısıtlamak, platformun kullanılabilirliğini sınırlarken, parça arası işlemlere izin vermek, parça arası iletişim maliyeti ile performans artışının sağladığı faydalar arasında bir denge kurmayı gerektirir.
Hesap/Bakiye Modeli: Sistem her hesabın bakiyesini kaydeder, işlem yapıldığında sistem, hesabın ödemek için yeterli bakiyeye sahip olup olmadığını kontrol eder, bu, bir banka havalesi sırasında bankanın her hesabın bakiyesini kaydetmesine benzer, yalnızca hesap bakiyesi gereken havale miktarından büyük olduğunda işlem gerçekleştirilebilir. Hesap/bakiye modelinde, bir işlem yalnızca bir girdi içerdiğinden, işlemi gönderici adresine göre parçalayarak, aynı hesabın birden fazla işleminin aynı parçalama içinde işlenmesini sağlamak mümkündür, böylece çift harcama etkili bir şekilde önlenir. Bu nedenle, parçalama teknolojisini kullanan çoğu blok zinciri, Ethereum gibi hesap defteri sistemleridir.
![Bin kelimeyle açıklama yeni halka Shardeum: Parçalamanın bir diğer olasılığı]###https://img-cdn.gateio.im/webp-social/moments-4227a2e49f76cd01b23d7b5398e51a3c.webp(
) 03 Durum Parçalama(State Sharding)
Durum parçalamaları, Blok Zinciri verilerinin farklı parçalar içinde nasıl saklandığını ifade eder.
Hala Walmart'taki sıraya alma örneğimizi kullanmaya devam edelim, her pencerede bir hesap var, onların defteri nasıl kaydediliyor? Eğer: Müşteri hangi sıraya girerse, o hesabı kaydediyoruz, örneğin A müşterisi A penceresine gitti, o zaman ertesi gün o müşteri başka bir ödeme penceresine gitti, örneğin B penceresi, ve B penceresinin o müşterinin geçmiş hesap bilgisi ( yoksa, örneğin bir değerli kart gibi ödeme yöntemleri ) ile ilgiliyse, ne yapmalıyız? A penceresinden o müşterinin hesap bilgilerini çağırmak mı?
Durum parçalama, parçalamanın en büyük sorunudur ve yukarıda bahsedilen ağ parçalama ve işlem parçalamadan daha karmaşıktır. Çünkü parçalama mekanizmasında, işlemler adreslere göre farklı parçalarda işlenir; bu da demektir ki, durum yalnızca adresinin bulunduğu parçanın içinde saklanır. Bu noktada karşılaşılacak bir sorun, işlemlerin yalnızca bir parçanın içinde gerçekleşmeyeceğidir; sık sık ###Cross-Sharding( ile ilgili olacaktır.
Bir transfer durumunu düşünün, A hesabı B hesabına 10U transfer ediyor ve A'nın adresi parçalama 1'e atanmış, işlemin kaydı da parçalama 1'de saklanacaktır. B'nin adresi parçalama 2'ye atanmış, işlemin kaydı da parçalama 2'de saklanacaktır.
A, B'ye para göndermek istediğinde, bir çapraz parçalama işlemi oluşur, parçalama 2 geçmiş işlem kayıtlarını onaylamak için parçalama 1'i arar, işlemin geçerliliğini doğrular. Eğer A, B'ye sık sık para gönderiyorsa, parçalama 2'nin sürekli olarak parçalama 1 ile etkileşimde bulunması gerekecek, bu da işlem işleme verimliliğini düşürecektir. Ancak, belirli bir parçalamanın tüm geçmişini indirmeden ve doğrulamadan katılımcılar kesin olarak.
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.
12 Likes
Reward
12
6
Repost
Share
Comment
0/400
CodeZeroBasis
· 7h ago
merge yine ne oldu, yoruldum mu?
View OriginalReply0
GasFeeBeggar
· 7h ago
Beş yıl bir boşluk beklemek
View OriginalReply0
rugpull_survivor
· 7h ago
Yine hem POS hem de Parçalama var, gazım neden bu kadar pahalı?
View OriginalReply0
RugPullSurvivor
· 7h ago
Bunu 5 yıl önce enayileri oyuna getirmek için söyledikleri gerçekten çok güzeldi.
View OriginalReply0
TopEscapeArtist
· 7h ago
Yine parçalama, MACD göstergesine bir bakalım.
View OriginalReply0
LiquidationWatcher
· 7h ago
L2 gerçekten de en iyi yol. Sadece güvenilir olanları genişletin.
Parçalama teknolojisi keşfi: Ethereum'un ölçeklenme ile karşılaştığı zorluklar ve çözümler
Parçalama Teknolojisi: Blok Zinciri Ölçeklenebilirliğinin Bir Diğer Olasılığı
2022年9月15日, Ethereum (Merge)'yi tamamladı. Bu, Ethereum'un 5 yıl hazırlık yaptığı ve 6 kez ertelendiği tarihi bir an. Uzun süreli geliştirme ve geniş ilgi nedeniyle, birçok kişi birleşmenin doğal olarak daha yüksek ölçeklenebilirlik, güvenlik ve sürdürülebilirlik getireceğini düşündü, ancak durum böyle değil. İş kanıtı (PoW)'den hisse kanıtı (PoS)'ye geçiş, sadece "raylar ve tekerleklerin" değiştirilmesi anlamına geliyor ve doğrudan daha hızlı hız, daha büyük kapasite veya daha düşük maliyet sağlamıyor. Bu hedeflere ulaşabilen gerçek çözüm, parçalama yeteneğine sahip bir ana ağ ve artırılmış ölçeklenebilirlik sağlayan Layer2 çözümleri olan bir dizi çözümdür.
Ethereum'in kurucusu Vitalik Buterin'in belirttiği gibi, parçalama, ölçeklenebilirlik üçlemesinde bir genişletme çözümüdür. Ağı oluşturan düğümleri daha küçük gruplara ayırarak, farklı işlem setlerini işleyerek ve paralel işleme gerçekleştirerek çalışır. Bu, Walmart'ta alışveriş yaparken, daha fazla kasa açarak, kuyruk bekleme süresini görsel olarak azaltmak ve kasada ödeme verimliliğini artırmak gibidir.
Bu, parçalamanın mantığıdır; doğrudan ve basit, ancak şeytan ayrıntılardadır. İlkeler ve yönler doğru, ancak uygulamada her zaman birçok sorunla karşılaşılır. Bu makale, "parçalama" yolundaki yönleri ve sorunları netleştirerek, yıldızlara bakan ve ayakları yere basan bir parçalama kaşifleri haritası çizmeyi amaçlamaktadır. Aynı zamanda mevcut parçalama çözümlerini karşılaştırarak bazı ortak sorunları bulmak ve uygulanabilir bir keşif yönü önermek: Shardeum ve dinamik parçalama.
Bir. "Parçalama" Hakkında
Kısaca, imkansız üçgenin kısıtlamalarını göz önünde bulundurarak, Ethereum'u koordinat sistemi orijini (0,0) olarak alarak, "dikey" ve "yatay" iki düşünce tarzına göre, mevcut Blok Zinciri'nin ölçeklenebilirlik yöntemlerini iki ana kategoriye ayırıyoruz:
Dikey Ölçeklendirme (: Sistem mevcut donanımının performansını artırarak gerçekleştirilir. Her düğümün süper hesaplama gücüne sahip olduğu merkeziyetsiz bir ağ kurmak, yani her düğümün "daha iyi" donanıma ihtiyaç duyması gerekmektedir. Bu yöntem basit ve etkilidir, özellikle yüksek frekanslı ticaret, oyun ve gecikmeye duyarlı diğer uygulama senaryoları için başlangıçta bir iyileştirme sağlamak mümkündür. Ancak bu ölçeklendirme yöntemi, doğrulama düğümlerinin veya tam düğümlerin işletme maliyetleri arttığı için ağın merkeziyetsizlik düzeyini sınırlayacaktır. Merkeziyetsizlik düzeyinin korunması, hesaplama donanım performansının yaklaşık artış hızına bağlıdır ) bu da "Moore Yasası" olarak bilinir: Çip üzerindeki transistör sayısı her iki yılda bir iki katına çıkar, hesaplama maliyeti ise yarıya iner (.
Yatay Ölçeklenebilirlik)Yatay Ölçeklenebilirlik(: Yatay ölçeklenebilirliğin genellikle birkaç yaklaşımı vardır. Birincisi, blok zinciri bağlamında, bir ekosistemdeki işlem hesaplama yükünü birden fazla bağımsız blok zincirine dağıtmaktır; her bir zincir, kendine ait blok üreticileri ve yürütme yeteneklerine sahiptir. Bu yöntem, her bir zincirin yürütme katmanını tam olarak özelleştirmeye olanak tanır; örneğin, düğüm donanım gereksinimleri, gizlilik işlevleri, gas ücretleri, sanal makineler ve izin ayarları gibi. Diğer bir yatay ölçeklenebilirlik çözümü, blok zincirinin temel altyapısını yürütme katmanı, veri kullanılabilirlik katmanı)DA( ve konsensüs katmanına ayıran modüler blok zinciridir. En yaygın blok zinciri modüler mekanizması rollup'tır. Bir diğer yöntem ise bir blok zincirini birçok parçaya ayırmak ve paralel olarak yürütmektir. Her bir parça bir blok zinciri olarak düşünülebilir; yani birçok blok zinciri paralel olarak yürütülebilir. Ayrıca, genellikle tüm parçaları senkronize tutmak için tek bir ana zincir bulunur.
![Bin kelimeyle açıklama yeni halka Shardeum: Parçalama'nın bir başka olasılığı])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(
Şunu belirtmek gerekir ki, yukarıdaki genişletme yaklaşımları yalnızca bağımsız değildir, her bir çözüm, imkansız üçgen içinde bir denge noktası bulmakta ve sistemdeki ekonomik güçlerin yarattığı teşvik mekanizması tasarımıyla, makro ve mikro düzeylerde etkili bir denge sağlamayı amaçlamaktadır.
"Parçalama" hakkında tartışmak için öncelikle her şeyi baştan düzenlememiz gerekiyor.
Hala böyle bir durumu varsayıyoruz, Walmart'ta alışveriş kasasında, kasada verimliliği artırmak ve müşterilerin bekleme sürelerini azaltmak için, tek bir kasa kanalından 10 kasa penceresine genişliyoruz, defter hatalarını önlemek için bu aşamada ortak kurallar belirlememiz gerekiyor:
İlk olarak, eğer 10 kasamız varsa, onları hangi pencerede çalışacak şekilde nasıl dağıtırız?
İkincisi, 1000 müşterimiz sırada bekliyorsa, her bir müşterinin hangi gişeye gideceğine nasıl karar veririz?
Üçüncüsü, bu 10 pencereye karşılık gelen 10 ayrı defterin nasıl toplanacağı?
Dördüncüsü, muhasebe uyumsuzluğu durumunu önlemek için, kasiyerin hata yapmasını nasıl engelleyebiliriz?
Bu birkaç soru aslında parçalama içindeki birkaç ana soruya karşılık geliyor, bunlar şunlardır:
Tüm ağın düğümlerinin/doğrulayıcılarının hangi parçalama ait olduğunu nasıl belirleyebiliriz? Yani: ağ parçalamayı nasıl gerçekleştirebiliriz )Network Sharding(;
Her bir işlemin hangi parçaya atanacağını nasıl belirleriz? Yani: işlem parçalama )Transaction Sharding(;
Blok zinciri verileri farklı parçalamalarda nasıl depolanır? Yani: durum parçalama )State Sharding(;
Karmaşıklık risk anlamına gelir, yukarıdaki tüm temeller üzerinde, tüm sistemin güvenliğinin parçalanmasını nasıl önleyebiliriz?
) 01 Ağ Parçalama ###Network Sharding (
Eğer blok zincirini basitçe merkeziyetsiz bir defter olarak anlıyorsak, PoS veya PoW konsensüs mekanizması, her bir düğümün belirli bir kural setine göre muhasebe hakkı için rekabet etmesini sağlamak içindir ve bu süreçte defterin doğruluğunu garanti eder. Ağ parçalamaya gelince, bu, blok zinciri ağını parçalara ayırmak için başka bir kural setine ihtiyaç duyulduğu anlamına gelir; bu süreçte karşılıklı iletişimi asgariye indirgeyerek, her bir parça zincir üzerindeki işlemleri işleyip muhasebe hakkı için rekabet eder - yani, düğümlerin gruplandırma kuralı.
Bu süreçte karşılaşılan sorun, Blok Zinciri içindeki düğümlerin farklı Parçalara ayrılmasıyla, saldırganların zorluk ve maliyetinin doğrudan düşmesidir. Varsayalım ki bu gruplama sürecinin kuralları ve sonuçları sabit ve önceden tahmin edilebilir; o zaman saldırganın tüm Blok Zinciri ağını kontrol etmek istemesi durumunda, sadece bir Parçayı hedefleyerek, o Parça içindeki bazı düğümleri satın alması yeterlidir.
Near'ın kurucusu Alexander Skidanov bu sorunu şöyle tanımlıyor: Eğer X sayıda doğrulayıcıya sahip tek bir zincir, 10 parçaya ayrılmış bir parça zincirine sert bir şekilde ayrılmaya karar verirse, her bir parçada şimdi yalnızca X/10 doğrulayıcı olacaktır. Bir parçayı yok etmek için yalnızca toplam doğrulayıcı sayısının %5.1'ini yok etmek yeterlidir. Bu, ikinci bir noktayı gündeme getiriyor: Her bir parça için doğrulayıcıları kim seçecek? Eğer bu %5.1'lik doğrulayıcıların hepsi aynı parçada bulunuyorsa, %5.1'lik doğrulayıcıları kontrol etmek zararlıdır. Eğer doğrulayıcılar hangi parçada doğrulama yapacaklarını seçemezlerse, %5.1'lik doğrulayıcıların katılımcılarının tüm doğrulayıcıları aynı parçada toplaması son derece olasılıksızdır, bu da sistemin yok edilme yeteneklerini büyük ölçüde azaltır.
Parçalama sistemi, ağın dışarıdan parçalama işlemlerinin bu işlemleri geri almayacağına güvenmesini sağlamak için bir mekanizma geliştirmelidir. Bugüne kadar, en iyi cevaplardan biri, parçalama içindeki doğrulayıcı sayısının belirli bir minimum eşiğin üzerinde olmasını sağlamak, böylece dürüst olmayan doğrulayıcıların tek bir parçalamayı aşma olasılığının düşük olmasıdır. En yaygın yöntem, belirli bir derecede tarafsız rastgelelik oluşturmaktır; matematiksel bir yaklaşımla, saldırganların başarı olasılığını en aza indirmektir. Örneğin, Ethereum'da, Ethereum'un çözümü, tüm doğrulayıcılardan rastgele olarak bir parçalama doğrulayıcısı seçmektir ve her 6.4 dakikada ) bir epoch uzunluğunda ( doğrulayıcıları değiştirmektir.
Basitçe söylemek gerekirse, düğümleri rastgele gruplara ayırmak ve ardından çalışmayı her grup düğümüne bağımsız olarak doğrulamak için dağıtmaktır.
Ancak belirtmek gerekir ki, blok zincirindeki rastgelelik oldukça zorlayıcı bir konudur; mantıken, bu rastgele sayı üretim sürecinin herhangi bir belirli parçalamanın hesaplamasına bağlı olmaması gerekir. Bu hesaplama için, mevcut birçok tasarım yaklaşımı, tüm ağı yönetmek için ayrı bir blok zinciri geliştirmeyi hedeflemektedir. Böyle bir zincir, Ethereum ve Near'da Beacon zinciri, PolkaDot'ta Relay zinciri, Cosmos'ta ise Cosmos Hub olarak adlandırılmaktadır.
![万字详解新公链 Shardeum:Parçalamanın başka bir olasılığı])https://img-cdn.gateio.im/webp-social/moments-6e8d3331d7d68cb512eb2eb47bd9064d.webp(
) 02 İşlem Parçalama (
İşlem parçalama, "hangi işlemlerin hangi parçalara tahsis edileceği" kurallarının belirlenmesini ifade eder, böylece hem paralel işleme amacı gerçekleştirilir hem de çift harcama sorununu önleyebilirsiniz. Blok Zinciri'nin defter modelinin farklılıkları, işlem parçalamanın geliştirilmesi üzerinde etkili olacaktır.
Şu anda Blok Zinciri ağında iki tür muhasebe yöntemi bulunmaktadır, bunlar UTXO)Kullanılmamış İşlem Çıktıları modeli ve hesap/bakiye modelidir, ilki BTC'nin tipik bir temsilcisidir, ikincisi ise ETH'dir.
UTXO modeli: BTC işlemlerinde, her işlem bir veya birden fazla çıktı içerir, UTXO henüz harcanmamış blok zinciri işlemlerinin çıktısını ifade eder, yeni işlemlerin girişi olarak kullanılabilir, harcanmış işlem çıktıları ise tekrar harcanamaz, kağıt paranın işleminde olduğu gibi ödeme ve bozdurma durumuna benzer, müşteri bir veya daha fazla kağıt parayı dükkana öder, dükkan ise bir veya daha fazla kağıt parayı müşteriyle bozdurur. UTXO modelinde, işlem parçalama çapraz parça iletişimi gerektirir. Bir işlem birden fazla girdi ve birden fazla çıktı içerebilir, hesap kavramı yoktur ve bakiye kaydı da yoktur, olası bir yol şudur: İşlemin belirli bir girdi değerine göre, verilerin hangi parçaya gitmesi gerektiğini belirlemek için bir hash fonksiyonuna işlenerek ayrık bir hash değeri haline getirilmesi.
Girişlerin tutarlı bir şekilde doğru parçaya yerleştirilmesini sağlamak için, hash fonksiyonuna girilen değerlerin aynı sütundan gelmesi gerekir. Bu sütuna Shard Key denir. Daha sonra, 1 değeri üreten işlemler parça 1'e, 2 değeri üreten işlemler parça 2'ye yerleştirilir. Ancak bu yöntemin dezavantajı, çift harcama saldırılarını önlemek için parçalar arasında iletişim kurulması gerektiğidir. Parça arası işlemleri kısıtlamak, platformun kullanılabilirliğini sınırlarken, parça arası işlemlere izin vermek, parça arası iletişim maliyeti ile performans artışının sağladığı faydalar arasında bir denge kurmayı gerektirir.
Hesap/Bakiye Modeli: Sistem her hesabın bakiyesini kaydeder, işlem yapıldığında sistem, hesabın ödemek için yeterli bakiyeye sahip olup olmadığını kontrol eder, bu, bir banka havalesi sırasında bankanın her hesabın bakiyesini kaydetmesine benzer, yalnızca hesap bakiyesi gereken havale miktarından büyük olduğunda işlem gerçekleştirilebilir. Hesap/bakiye modelinde, bir işlem yalnızca bir girdi içerdiğinden, işlemi gönderici adresine göre parçalayarak, aynı hesabın birden fazla işleminin aynı parçalama içinde işlenmesini sağlamak mümkündür, böylece çift harcama etkili bir şekilde önlenir. Bu nedenle, parçalama teknolojisini kullanan çoğu blok zinciri, Ethereum gibi hesap defteri sistemleridir.
![Bin kelimeyle açıklama yeni halka Shardeum: Parçalamanın bir diğer olasılığı]###https://img-cdn.gateio.im/webp-social/moments-4227a2e49f76cd01b23d7b5398e51a3c.webp(
) 03 Durum Parçalama(State Sharding)
Durum parçalamaları, Blok Zinciri verilerinin farklı parçalar içinde nasıl saklandığını ifade eder.
Hala Walmart'taki sıraya alma örneğimizi kullanmaya devam edelim, her pencerede bir hesap var, onların defteri nasıl kaydediliyor? Eğer: Müşteri hangi sıraya girerse, o hesabı kaydediyoruz, örneğin A müşterisi A penceresine gitti, o zaman ertesi gün o müşteri başka bir ödeme penceresine gitti, örneğin B penceresi, ve B penceresinin o müşterinin geçmiş hesap bilgisi ( yoksa, örneğin bir değerli kart gibi ödeme yöntemleri ) ile ilgiliyse, ne yapmalıyız? A penceresinden o müşterinin hesap bilgilerini çağırmak mı?
Durum parçalama, parçalamanın en büyük sorunudur ve yukarıda bahsedilen ağ parçalama ve işlem parçalamadan daha karmaşıktır. Çünkü parçalama mekanizmasında, işlemler adreslere göre farklı parçalarda işlenir; bu da demektir ki, durum yalnızca adresinin bulunduğu parçanın içinde saklanır. Bu noktada karşılaşılacak bir sorun, işlemlerin yalnızca bir parçanın içinde gerçekleşmeyeceğidir; sık sık ###Cross-Sharding( ile ilgili olacaktır.
Bir transfer durumunu düşünün, A hesabı B hesabına 10U transfer ediyor ve A'nın adresi parçalama 1'e atanmış, işlemin kaydı da parçalama 1'de saklanacaktır. B'nin adresi parçalama 2'ye atanmış, işlemin kaydı da parçalama 2'de saklanacaktır.
A, B'ye para göndermek istediğinde, bir çapraz parçalama işlemi oluşur, parçalama 2 geçmiş işlem kayıtlarını onaylamak için parçalama 1'i arar, işlemin geçerliliğini doğrular. Eğer A, B'ye sık sık para gönderiyorsa, parçalama 2'nin sürekli olarak parçalama 1 ile etkileşimde bulunması gerekecek, bu da işlem işleme verimliliğini düşürecektir. Ancak, belirli bir parçalamanın tüm geçmişini indirmeden ve doğrulamadan katılımcılar kesin olarak.