Shardeum ve Dinamik Durum Parçalama: Parçalama Keşfi için Başka Bir Olasılık
15 Eylül 2022'de, Ethereum beklenen birleşim (Merge)'yi tamamladı. Bu tarihi an, Ethereum'un iş kanıtı (PoW)'dan hisse kanıtı (PoS)'a geçişini simgeliyor; bunun için Ethereum ekibi 5 yıl hazırlandı ve 6 kez erteledi. Ancak, birçok kişi birleşimin doğal olarak daha yüksek ölçeklenebilirlik, güvenlik ve sürdürülebilirlik getireceğini düşündü; gerçekte bu böyle değil. Birleşim yalnızca "rayları ve tekerlekleri" değiştirdi ve doğrudan daha hızlı hız, daha büyük kapasite veya daha düşük ücretler sağlamayacak. Bu hedefleri gerçekleştirebilecek olan, parçalama yeteneğine sahip bir ana ağ ile artırılmış ölçeklenebilirliğe sahip Layer2 çözümlerinin bir arada kullanılmasıdır.
Ethereum kurucusu Vitalik Buterin'in belirttiği gibi, parçalama, ölçeklenebilirlik üçlüsündeki bir genişleme çözümüdür. Ağıdaki düğümleri daha küçük gruplara ayırarak, farklı işlem setlerini işleyip paralel işleme gerçekleştirir. Tüm ağda toplanması gereken büyük veri yükünü hafifleterek, süpermarket alışverişi sırasında birden fazla kasa açarak bekleme süresini azaltmak ve ödeme verimliliğini artırmak gibi görseldir.
Bu, parçalamanın temel mantığıdır, basit ve doğrudandır. Ancak, şeytan ayrıntılardadır - prensipler ve yönler doğru, ancak uygulamada her zaman birçok sorunla karşılaşılır. Bu makale, "parçalama" yolundaki yönleri ve zorlukları netleştirmeyi, bir parçalama araştırmacısının haritasını çizmeyi amaçlamaktadır. Ayrıca mevcut parçalama çözümlerini karşılaştırarak bazı ortak sorunları bulmayı ve uygulanabilir bir keşif yönü önermeyi: Shardeum ve dinamik parçalama.
I. "Parçalama" Hakkında
Kısacası, imkansız üçgenin kısıtlamalarını dikkate alarak, Ethereum'u koordinat sistemi orijini (0,0) olarak alarak, "dikey" ve "yatay" iki düşünce tarzına göre, mevcut blok zincirinin ölçeklenebilirlik yöntemlerini iki ana kategoriye ayırıyoruz:
Dikey Ölçekleme (: Mevcut donanımın performansını artırarak gerçekleştirilir. Dağıtık bir ağ kurarak, ağdaki her düğümün süper hesaplama gücüne sahip olması sağlanır; yani her düğüm "daha iyi" bir donanıma ihtiyaç duyar. 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ğlanabilir. Ancak bu ölçekleme yöntemi, doğrulama düğümlerinin veya tam düğümlerin işletme maliyetleri arttığı için ağın merkeziyetsizleşme seviyesini sınırlayabilir. Merkeziyetsizlik seviyesinin korunması, hesaplama donanımının performansının yaklaşık büyüme hızına bağlıdır ) bu da "Moore Yasası" olarak adlandırılır: Bir çipteki transistor sayısı her iki yılda bir iki katına çıkar, hesaplama maliyetleri ise yarı yarıya düşer (.
Horisontal Ölçekleme )Horizontal Scaling (: Horisontal ölçeklemenin genellikle birkaç yaklaşımı vardır. Birincisi, blok zinciri bağlamında, belirli bir ekosistemdeki işlem hesaplama yükünü birden fazla bağımsız blok zincirine dağıtmaktır; her bir zincir kendi blok üreticisine ve yürütme yeteneğine 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 özellikleri, gaz ücretleri, sanal makineler ve izin ayarları gibi. Diğer bir horisontal ölçekleme çözümü, blok zincirinin 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. Ayrıca, bir blok zincirinin birçok parçaya bölünmesi ve paralel yürütülmesi de mümkündür. Her bir parça, bir blok zinciri olarak düşünülebilir; yani birçok blok zinciri paralel olarak çalışabilir. Ayrıca, genellikle tüm parçaları senkronize tutmakla görevli tek bir ana zincir de bulunur.
Şunu belirtmek gerekir ki, yukarıdaki genişletme yaklaşımları izole bir şekilde var değildir; her bir çözüm, imkânsız üçgen içinde bir denge noktası bulmakta ve sistemdeki ekonomik güçlerin yarattığı teşvik mekanizması tasarımıyla makro ve mikro düzeyde etkili bir denge sağlamaktadır.
"Parçalama" hakkında konuşmak için, baştan başlayarak düzenlememiz gerekiyor.
Hala böyle bir senaryo varsayıyoruz, süpermarket alışverişinde kasa işlemi, kasa verimliliğini artırmak ve müşteri bekleme süresini azaltmak için, tek bir kasa kanalından 10 kasa penceresine genişliyoruz. Hesap hatalarını önlemek için, bu noktada birleştirilmiş kurallar belirlememiz gerekiyor:
İlk olarak, 10 kasamız varsa, onları hangi pencerede çalışacak şekilde nasıl dağıtmalıyız?
İkincisi, eğer 1000 müşteri sırada bekliyorsa, her bir müşterinin hangi gişeye gideceğine nasıl karar verebiliriz?
Üçüncüsü, bu 10 pencereye karşılık gelen 10 ayrı defter nasıl özetlenecek?
Dördüncü, kasa çalışanlarının hata yapmasını önlemek için hesapların uyumsuzluk durumunu nasıl önleyebiliriz?
Bu birkaç soru aslında parçalamadaki birkaç ana soruya karşılık geliyor, bunlar şunlardır:
Ağdaki düğümlerin/denetleyicilerin hangi parçaya ait olduğunu nasıl belirleyebiliriz? Yani: nasıl ağ parçalama )Network Sharding( yapılır?
Her bir işlem için hangi parçalamaya atanacağını nasıl belirleriz? Yani: işlem parçalama )Transaction Sharding(;
Blockchain verileri farklı Parçalama içinde nasıl saklanır? Yani: nasıl durum Parçalama)State Sharding(;
Karmaşıklık risk anlamına gelir, yukarıdaki tüm temeller ışığında, tüm sistem güvenliğinin parçalanmasını nasıl önleyebiliriz?
![Kapsamlı Açıklama Yeni Blok Zinciri Shardeum: Parçalamanın Diğer Bir Olasılığı])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(
) 01 Ağ Parçalama ### Network Sharding (
Eğer blok zincirini basitçe merkeziyetsiz bir defter olarak anlarsak, hem PoS hem de PoW konsensüs mekanizmaları, her bir düğümün belirli bir kurala göre muhasebe hakkı için yarışmasını sağlamak içindir ve bu süreçte defterin doğruluğunu garanti eder. Ağ parçalama (Parçalama) ise, blok zinciri ağını parçalamak için başka bir belirli kural gerektirir; bu, karşılıklı iletişimi mümkün olan en düşük seviyeye indirmek şartıyla, her bir parça tarafından zincir üzerindeki işlemlerin işlenmesi ve muhasebe hakkı için yarışılması anlamına gelir - yani, düğümlerin gruplama kuralı.
Bu süreçte karşılaşılan sorun, blok zincirinin içindeki düğümlerin farklı parçalar haline bölünmesiyle, saldırganların zorluk ve maliyetinin doğrusal olarak azalmasıdır. Varsayalım ki, bu gruplama sürecinin kuralları ve sonuçları sabit ve öngörülebilir, o zaman saldırganın tüm blok zinciri ağını kontrol etmesi için yalnızca bir parçayı hedef alarak kontrol etmesi ve parçanın içindeki bazı düğümleri satın alması yeterlidir.
Near'ın kurucusu Alexander Skidanov bu durumu şöyle tanımlıyor: Eğer X tane doğrulayıcıya sahip tek bir zincir, 10 parçaya ayrılmış bir parçalama zincirine sert çatallamayı seçerse, her bir parçanın artık yalnızca X/10 doğrulayıcısı olur; bir parçanın kontrolünü ele geçirmek için yalnızca doğrulayıcıların toplam sayısının %5.1'ini ()) yok etmek yeterlidir. Bu, ikinci noktayı gündeme getiriyor: Her bir parçaya doğrulayıcıları kim seçecek? Ancak bu %5.1'lik doğrulayıcıların hepsi aynı parçanın içinde olduğunda, %5.1'lik doğrulayıcıları kontrol etmek zararlıdır. Eğer doğrulayıcılar hangi parçanın içinde 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çaya yerleştirmesi oldukça olasılık dışıdır ve bu da sistemin yok edilme yeteneklerini büyük ölçüde azaltır.
Parçalama sistemi, ağın dışarıdan gelen parçalamalardan bu işlemleri tersine çevirmeyeceğinden emin olmak 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ğlamaktır; böylece dürüst olmayan doğrulayıcıların tek bir parçalamayı baskın çıkma olasılığı çok düşük olacaktır. En yaygın yöntem, belirli bir dereceye kadar tarafsız rastgelelik oluşturmaktır; matematiksel bir yöntemle, 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 bir parçalama doğrulayıcısı seçmekte ve her 6.4 dakikada ( bir dönem uzunluğunda ) doğrulayıcıları değiştirmektedir.
Daha basit bir şekilde söylemek gerekirse, düğümleri rastgele gruplara ayırmak ve ardından işleri 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 zorlu bir konudur. Mantıken, bu rastgele sayı üretim süreci herhangi bir belirli parçalamanın hesaplamasına bağımlı olmamalıdır. Bu hesaplama için mevcut birçok tasarım fikri, tüm ağı sürdüren ayrı bir blok zinciri geliştirmektir. Bu tür bir zincir Ethereum ve Near'da Beacon zinciri, PolkaDot'ta Relay zinciri, Cosmos'ta ise Cosmos Hub olarak adlandırılmaktadır.
( 02 İşlem Parçalama)Transaction Sharding###
İşlem parçalama, "hangi işlemlerin hangi parçalara atanacağı"na dair kural belirlemeyi ifade eder; bu, hem paralel işlem hedefini gerçekleştirebilir hem de çift harcama sorununu önleyebilir. Blok zincirinin defter modelinin farklılığı, işlem parçalama geliştirmelerini etkileyebilir.
Şu anda blok zinciri ağında iki tür muhasebe yöntemi bulunmaktadır; bunlar UTXO( Kullanılmamış İşlem Çıktıları, kullanılmamış işlem çıktısı) modeli ve hesap/bakiye modelidir. İlkinin tipik temsilcisi BTC, ikincisi ise ETH'dir.
UTXO modeli: BTC işlemlerinde, her işlemde bir veya birden fazla çıktı bulunur. UTXO, henüz harcanmamış blok zinciri işlemlerinin çıktısını ifade eder ve yeni işlemler için girdi olarak kullanılabilir. Harcanmış işlem çıktıları ise tekrar harcanamaz. Bu, kağıt para işlemlerinde ödeme ve para üstü verme durumuna benzer; müşteri bir veya daha fazla kağıt parayı dükkana öder, dükkân sahibi de bir veya daha fazla kağıt parayı müşteri için para üstü olarak verir. UTXO modelinde, işlem parçalama, parçalar arası iletişim gerektirir. Bir işlem birden fazla girdi ve birden fazla çıktı içerebilir, hesap kavramı yoktur ve bakiye kaydı da bulunmaz. Mümkün olan bir yöntem, işlemin bir girdi değerine göre, verilerin hangi parçaya gitmesi gerektiğini belirlemek için bir hash fonksiyonuna işlemek üzere ayrık bir hash değeri oluşturmak olabilir.
Aynı şekilde, doğru parçalamada girişlerin tutarlı bir şekilde yerleştirilmesini sağlamak için, hash fonksiyonuna girilen değerler aynı sütundan gelmelidir. Bu sütuna Shard Key denir. Daha sonra, 1 değeri üreten işlemler parçalama 1'e, 2 değeri üreten işlemler ise parçalama 2'ye atanır. Ancak bu yöntemin dezavantajı, parçalar arasında çift harcama saldırılarını önlemek için iletişim kurmak zorunda kalmaktır. Parçalar arası işlemleri kısıtlamak, platformun kullanılabilirliğini sınırlarken, parçalar arası işlemlere izin vermek de, parçalar arası iletişimin maliyeti ile performans artışının getirdiği faydalar arasında bir denge kurmayı gerektirir.
Hesap/Bakiye Modeli: Sistem, her bir hesabın bakiyesini kaydeder; işlem yapıldığında, sistem hesabın ödeme yapmak için yeterli bakiyeye sahip olup olmadığını kontrol eder. Bu, banka havalesi sırasında bankanın her hesabın bakiyesini kaydetmesine benzer; yalnızca hesap bakiyesi, gerekli havale miktarından büyük olduğunda işlem gerçekleştirilebilir. Hesap/bakiye modelinde, bir işlemin yalnızca bir girişi olduğundan, 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, bu da çift harcama olasılığını etkili bir şekilde önler. Bu nedenle, parçalama teknolojisini kullanan çoğu blok zinciri, Ethereum gibi hesap defteri sistemleridir.
( 03 Durum Parçalama)State Sharding###
Durum parçalama, blok zinciri verilerinin farklı parçalara nasıl dağıtılıp depolandığını ifade eder.
Hala süpermarketimizdeki sıra örneğini kullanarak, her pencerede bir hesap var, pencerelerin hesap defterleri nasıl kaydediliyor? Eğer: Müşteri hangi sıraya girecekse, o hesap kaydediliyor, örneğin A müşterisi A penceresine gitti, o zaman ertesi gün bu müşteri başka bir ödeme penceresi olan B penceresine gittiğinde, B penceresi bu müşterinin önceki hesap bilgilerine sahip değilse (, örneğin kredi kartı gibi çeşitli ödeme yöntemleri söz konusu olduğunda ), ne yapmalı? A penceresinden bu müşterinin hesap bilgileri çağrılmalı mı?
Durum parçalama, parçalamanın en büyük sorunudur, yukarıda bahsedilen ağ parçalama ve işlem parçalamadan daha karmaşıktır. Çünkü parçalama mekanizması altında, işlemler adreslere göre farklı parçalarda işlenir, yani durum yalnızca bulunduğu adresin yer aldığı parçanın içinde saklanır. Bu aşamada karşılaşılması gereken bir sorun, işlemlerin yalnızca bir parçanın içinde gerçekleşmeyecek olmasıdır; sık sık (Cross-Sharding) ile ilgili olacaktır.
Bir transfer durumu düşünelim. 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 saklanacak. B'nin adresi Parçalama 2'ye atanmış, işlemin kaydı da Parçalama 2'de saklanacak.
A B'ye transfer yapmak istediğinde, bu bir çapraz parçalama işlemi oluşturur. Parçalama 2, işlemin geçerliliğini onaylamak için geçmiş işlem kayıtlarını parçalama 1'den çağırır. Eğer A sık sık B'ye para gönderirse, parçalama 2'nin parçalama 1 ile sürekli etkileşimde bulunması gerekecektir ve bu, işlem işleme verimliliğini düşürecektir. Ancak, eğer değilse,
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.
8 Likes
Reward
8
4
Repost
Share
Comment
0/400
ThreeHornBlasts
· 08-09 22:54
Yine boğa yapmaya başladılar.
View OriginalReply0
CrossChainBreather
· 08-09 22:52
Bitişten sonra bu mu? Hala çalışmıyor mu yoksa çalışmıyor mu?
View OriginalReply0
DecentralizeMe
· 08-09 22:39
Beş yıl ne hazırlıyorsun? Patladı mı?
View OriginalReply0
AllInDaddy
· 08-09 22:38
Yine de pos genişletilebilirliğinden bahsediyor musun?
Shardeum: Dinamik Durum Parçalama ile Blok Zinciri Ölçeklenmesinde Yeni Yönler
Shardeum ve Dinamik Durum Parçalama: Parçalama Keşfi için Başka Bir Olasılık
15 Eylül 2022'de, Ethereum beklenen birleşim (Merge)'yi tamamladı. Bu tarihi an, Ethereum'un iş kanıtı (PoW)'dan hisse kanıtı (PoS)'a geçişini simgeliyor; bunun için Ethereum ekibi 5 yıl hazırlandı ve 6 kez erteledi. Ancak, birçok kişi birleşimin doğal olarak daha yüksek ölçeklenebilirlik, güvenlik ve sürdürülebilirlik getireceğini düşündü; gerçekte bu böyle değil. Birleşim yalnızca "rayları ve tekerlekleri" değiştirdi ve doğrudan daha hızlı hız, daha büyük kapasite veya daha düşük ücretler sağlamayacak. Bu hedefleri gerçekleştirebilecek olan, parçalama yeteneğine sahip bir ana ağ ile artırılmış ölçeklenebilirliğe sahip Layer2 çözümlerinin bir arada kullanılmasıdır.
Ethereum kurucusu Vitalik Buterin'in belirttiği gibi, parçalama, ölçeklenebilirlik üçlüsündeki bir genişleme çözümüdür. Ağıdaki düğümleri daha küçük gruplara ayırarak, farklı işlem setlerini işleyip paralel işleme gerçekleştirir. Tüm ağda toplanması gereken büyük veri yükünü hafifleterek, süpermarket alışverişi sırasında birden fazla kasa açarak bekleme süresini azaltmak ve ödeme verimliliğini artırmak gibi görseldir.
Bu, parçalamanın temel mantığıdır, basit ve doğrudandır. Ancak, şeytan ayrıntılardadır - prensipler ve yönler doğru, ancak uygulamada her zaman birçok sorunla karşılaşılır. Bu makale, "parçalama" yolundaki yönleri ve zorlukları netleştirmeyi, bir parçalama araştırmacısının haritasını çizmeyi amaçlamaktadır. Ayrıca mevcut parçalama çözümlerini karşılaştırarak bazı ortak sorunları bulmayı ve uygulanabilir bir keşif yönü önermeyi: Shardeum ve dinamik parçalama.
I. "Parçalama" Hakkında
Kısacası, imkansız üçgenin kısıtlamalarını dikkate alarak, Ethereum'u koordinat sistemi orijini (0,0) olarak alarak, "dikey" ve "yatay" iki düşünce tarzına göre, mevcut blok zincirinin ölçeklenebilirlik yöntemlerini iki ana kategoriye ayırıyoruz:
Dikey Ölçekleme (: Mevcut donanımın performansını artırarak gerçekleştirilir. Dağıtık bir ağ kurarak, ağdaki her düğümün süper hesaplama gücüne sahip olması sağlanır; yani her düğüm "daha iyi" bir donanıma ihtiyaç duyar. 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ğlanabilir. Ancak bu ölçekleme yöntemi, doğrulama düğümlerinin veya tam düğümlerin işletme maliyetleri arttığı için ağın merkeziyetsizleşme seviyesini sınırlayabilir. Merkeziyetsizlik seviyesinin korunması, hesaplama donanımının performansının yaklaşık büyüme hızına bağlıdır ) bu da "Moore Yasası" olarak adlandırılır: Bir çipteki transistor sayısı her iki yılda bir iki katına çıkar, hesaplama maliyetleri ise yarı yarıya düşer (.
Horisontal Ölçekleme )Horizontal Scaling (: Horisontal ölçeklemenin genellikle birkaç yaklaşımı vardır. Birincisi, blok zinciri bağlamında, belirli bir ekosistemdeki işlem hesaplama yükünü birden fazla bağımsız blok zincirine dağıtmaktır; her bir zincir kendi blok üreticisine ve yürütme yeteneğine 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 özellikleri, gaz ücretleri, sanal makineler ve izin ayarları gibi. Diğer bir horisontal ölçekleme çözümü, blok zincirinin 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. Ayrıca, bir blok zincirinin birçok parçaya bölünmesi ve paralel yürütülmesi de mümkündür. Her bir parça, bir blok zinciri olarak düşünülebilir; yani birçok blok zinciri paralel olarak çalışabilir. Ayrıca, genellikle tüm parçaları senkronize tutmakla görevli tek bir ana zincir de bulunur.
Şunu belirtmek gerekir ki, yukarıdaki genişletme yaklaşımları izole bir şekilde var değildir; her bir çözüm, imkânsız üçgen içinde bir denge noktası bulmakta ve sistemdeki ekonomik güçlerin yarattığı teşvik mekanizması tasarımıyla makro ve mikro düzeyde etkili bir denge sağlamaktadır.
"Parçalama" hakkında konuşmak için, baştan başlayarak düzenlememiz gerekiyor.
Hala böyle bir senaryo varsayıyoruz, süpermarket alışverişinde kasa işlemi, kasa verimliliğini artırmak ve müşteri bekleme süresini azaltmak için, tek bir kasa kanalından 10 kasa penceresine genişliyoruz. Hesap hatalarını önlemek için, bu noktada birleştirilmiş kurallar belirlememiz gerekiyor:
İlk olarak, 10 kasamız varsa, onları hangi pencerede çalışacak şekilde nasıl dağıtmalıyız?
İkincisi, eğer 1000 müşteri sırada bekliyorsa, her bir müşterinin hangi gişeye gideceğine nasıl karar verebiliriz?
Üçüncüsü, bu 10 pencereye karşılık gelen 10 ayrı defter nasıl özetlenecek?
Dördüncü, kasa çalışanlarının hata yapmasını önlemek için hesapların uyumsuzluk durumunu nasıl önleyebiliriz?
Bu birkaç soru aslında parçalamadaki birkaç ana soruya karşılık geliyor, bunlar şunlardır:
Ağdaki düğümlerin/denetleyicilerin hangi parçaya ait olduğunu nasıl belirleyebiliriz? Yani: nasıl ağ parçalama )Network Sharding( yapılır?
Her bir işlem için hangi parçalamaya atanacağını nasıl belirleriz? Yani: işlem parçalama )Transaction Sharding(;
Blockchain verileri farklı Parçalama içinde nasıl saklanır? Yani: nasıl durum Parçalama)State Sharding(;
Karmaşıklık risk anlamına gelir, yukarıdaki tüm temeller ışığında, tüm sistem güvenliğinin parçalanmasını nasıl önleyebiliriz?
![Kapsamlı Açıklama Yeni Blok Zinciri Shardeum: Parçalamanın Diğer Bir Olasılığı])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(
) 01 Ağ Parçalama ### Network Sharding (
Eğer blok zincirini basitçe merkeziyetsiz bir defter olarak anlarsak, hem PoS hem de PoW konsensüs mekanizmaları, her bir düğümün belirli bir kurala göre muhasebe hakkı için yarışmasını sağlamak içindir ve bu süreçte defterin doğruluğunu garanti eder. Ağ parçalama (Parçalama) ise, blok zinciri ağını parçalamak için başka bir belirli kural gerektirir; bu, karşılıklı iletişimi mümkün olan en düşük seviyeye indirmek şartıyla, her bir parça tarafından zincir üzerindeki işlemlerin işlenmesi ve muhasebe hakkı için yarışılması anlamına gelir - yani, düğümlerin gruplama kuralı.
Bu süreçte karşılaşılan sorun, blok zincirinin içindeki düğümlerin farklı parçalar haline bölünmesiyle, saldırganların zorluk ve maliyetinin doğrusal olarak azalmasıdır. Varsayalım ki, bu gruplama sürecinin kuralları ve sonuçları sabit ve öngörülebilir, o zaman saldırganın tüm blok zinciri ağını kontrol etmesi için yalnızca bir parçayı hedef alarak kontrol etmesi ve parçanın içindeki bazı düğümleri satın alması yeterlidir.
Near'ın kurucusu Alexander Skidanov bu durumu şöyle tanımlıyor: Eğer X tane doğrulayıcıya sahip tek bir zincir, 10 parçaya ayrılmış bir parçalama zincirine sert çatallamayı seçerse, her bir parçanın artık yalnızca X/10 doğrulayıcısı olur; bir parçanın kontrolünü ele geçirmek için yalnızca doğrulayıcıların toplam sayısının %5.1'ini ()) yok etmek yeterlidir. Bu, ikinci noktayı gündeme getiriyor: Her bir parçaya doğrulayıcıları kim seçecek? Ancak bu %5.1'lik doğrulayıcıların hepsi aynı parçanın içinde olduğunda, %5.1'lik doğrulayıcıları kontrol etmek zararlıdır. Eğer doğrulayıcılar hangi parçanın içinde 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çaya yerleştirmesi oldukça olasılık dışıdır ve bu da sistemin yok edilme yeteneklerini büyük ölçüde azaltır.
Parçalama sistemi, ağın dışarıdan gelen parçalamalardan bu işlemleri tersine çevirmeyeceğinden emin olmak 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ğlamaktır; böylece dürüst olmayan doğrulayıcıların tek bir parçalamayı baskın çıkma olasılığı çok düşük olacaktır. En yaygın yöntem, belirli bir dereceye kadar tarafsız rastgelelik oluşturmaktır; matematiksel bir yöntemle, 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 bir parçalama doğrulayıcısı seçmekte ve her 6.4 dakikada ( bir dönem uzunluğunda ) doğrulayıcıları değiştirmektedir.
Daha basit bir şekilde söylemek gerekirse, düğümleri rastgele gruplara ayırmak ve ardından işleri 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 zorlu bir konudur. Mantıken, bu rastgele sayı üretim süreci herhangi bir belirli parçalamanın hesaplamasına bağımlı olmamalıdır. Bu hesaplama için mevcut birçok tasarım fikri, tüm ağı sürdüren ayrı bir blok zinciri geliştirmektir. Bu tür bir zincir Ethereum ve Near'da Beacon zinciri, PolkaDot'ta Relay zinciri, Cosmos'ta ise Cosmos Hub olarak adlandırılmaktadır.
( 02 İşlem Parçalama)Transaction Sharding###
İşlem parçalama, "hangi işlemlerin hangi parçalara atanacağı"na dair kural belirlemeyi ifade eder; bu, hem paralel işlem hedefini gerçekleştirebilir hem de çift harcama sorununu önleyebilir. Blok zincirinin defter modelinin farklılığı, işlem parçalama geliştirmelerini etkileyebilir.
Şu anda blok zinciri ağında iki tür muhasebe yöntemi bulunmaktadır; bunlar UTXO( Kullanılmamış İşlem Çıktıları, kullanılmamış işlem çıktısı) modeli ve hesap/bakiye modelidir. İlkinin tipik temsilcisi BTC, ikincisi ise ETH'dir.
UTXO modeli: BTC işlemlerinde, her işlemde bir veya birden fazla çıktı bulunur. UTXO, henüz harcanmamış blok zinciri işlemlerinin çıktısını ifade eder ve yeni işlemler için girdi olarak kullanılabilir. Harcanmış işlem çıktıları ise tekrar harcanamaz. Bu, kağıt para işlemlerinde ödeme ve para üstü verme durumuna benzer; müşteri bir veya daha fazla kağıt parayı dükkana öder, dükkân sahibi de bir veya daha fazla kağıt parayı müşteri için para üstü olarak verir. UTXO modelinde, işlem parçalama, parçalar arası iletişim gerektirir. Bir işlem birden fazla girdi ve birden fazla çıktı içerebilir, hesap kavramı yoktur ve bakiye kaydı da bulunmaz. Mümkün olan bir yöntem, işlemin bir girdi değerine göre, verilerin hangi parçaya gitmesi gerektiğini belirlemek için bir hash fonksiyonuna işlemek üzere ayrık bir hash değeri oluşturmak olabilir.
Aynı şekilde, doğru parçalamada girişlerin tutarlı bir şekilde yerleştirilmesini sağlamak için, hash fonksiyonuna girilen değerler aynı sütundan gelmelidir. Bu sütuna Shard Key denir. Daha sonra, 1 değeri üreten işlemler parçalama 1'e, 2 değeri üreten işlemler ise parçalama 2'ye atanır. Ancak bu yöntemin dezavantajı, parçalar arasında çift harcama saldırılarını önlemek için iletişim kurmak zorunda kalmaktır. Parçalar arası işlemleri kısıtlamak, platformun kullanılabilirliğini sınırlarken, parçalar arası işlemlere izin vermek de, parçalar arası iletişimin maliyeti ile performans artışının getirdiği faydalar arasında bir denge kurmayı gerektirir.
Hesap/Bakiye Modeli: Sistem, her bir hesabın bakiyesini kaydeder; işlem yapıldığında, sistem hesabın ödeme yapmak için yeterli bakiyeye sahip olup olmadığını kontrol eder. Bu, banka havalesi sırasında bankanın her hesabın bakiyesini kaydetmesine benzer; yalnızca hesap bakiyesi, gerekli havale miktarından büyük olduğunda işlem gerçekleştirilebilir. Hesap/bakiye modelinde, bir işlemin yalnızca bir girişi olduğundan, 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, bu da çift harcama olasılığını etkili bir şekilde önler. Bu nedenle, parçalama teknolojisini kullanan çoğu blok zinciri, Ethereum gibi hesap defteri sistemleridir.
( 03 Durum Parçalama)State Sharding###
Durum parçalama, blok zinciri verilerinin farklı parçalara nasıl dağıtılıp depolandığını ifade eder.
Hala süpermarketimizdeki sıra örneğini kullanarak, her pencerede bir hesap var, pencerelerin hesap defterleri nasıl kaydediliyor? Eğer: Müşteri hangi sıraya girecekse, o hesap kaydediliyor, örneğin A müşterisi A penceresine gitti, o zaman ertesi gün bu müşteri başka bir ödeme penceresi olan B penceresine gittiğinde, B penceresi bu müşterinin önceki hesap bilgilerine sahip değilse (, örneğin kredi kartı gibi çeşitli ödeme yöntemleri söz konusu olduğunda ), ne yapmalı? A penceresinden bu müşterinin hesap bilgileri çağrılmalı mı?
Durum parçalama, parçalamanın en büyük sorunudur, yukarıda bahsedilen ağ parçalama ve işlem parçalamadan daha karmaşıktır. Çünkü parçalama mekanizması altında, işlemler adreslere göre farklı parçalarda işlenir, yani durum yalnızca bulunduğu adresin yer aldığı parçanın içinde saklanır. Bu aşamada karşılaşılması gereken bir sorun, işlemlerin yalnızca bir parçanın içinde gerçekleşmeyecek olmasıdır; sık sık (Cross-Sharding) ile ilgili olacaktır.
Bir transfer durumu düşünelim. 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 saklanacak. B'nin adresi Parçalama 2'ye atanmış, işlemin kaydı da Parçalama 2'de saklanacak.
A B'ye transfer yapmak istediğinde, bu bir çapraz parçalama işlemi oluşturur. Parçalama 2, işlemin geçerliliğini onaylamak için geçmiş işlem kayıtlarını parçalama 1'den çağırır. Eğer A sık sık B'ye para gönderirse, parçalama 2'nin parçalama 1 ile sürekli etkileşimde bulunması gerekecektir ve bu, işlem işleme verimliliğini düşürecektir. Ancak, eğer değilse,