Node nedir? Node’lar hakkında her şey! 3
Bu yazı sevgili @tobbykitty tarafından kaleme alınmıştır. 4. Gelecekte bizi bekleyen güncellemelerde node’ların yeri nedir?
Bu zamana kadar node’ları öğrendik, çeşitlerini öğrendik, sisteme ve bize olan katkılarını öğrendik. Hemen hemen her şeyi hallettik. Tekrar teknolojiye dönmemiz gerekiyor ki size biraz daha blokzincir bilgisi vereyim.
BLOKZİNCİRLER HEM MERKEZİYETSİZ HEM GÜVENLİ HEM ÖLÇEKLENEBİLİR OLAMAZLAR.
BLOKZİNCİRLER HEM MERKEZİYETSİZ HEM GÜVENLİ HEM ÖLÇEKLENEBİLİR OLAMAZLAR.
BLOKZİNCİRLER HEM MERKEZİYETSİZ HEM GÜVENLİ HEM ÖLÇEKLENEBİLİR OLAMAZLAR.
BLOKZİNCİRLER HEM MERKEZİYETSİZ HEM GÜVENLİ HEM ÖLÇEKLENEBİLİR OLAMAZLAR.
Şu meşhur trilemma. Hepiniz biliyorsunuz.
Peki neden böyle bir şey diyoruz, gelin üstteki node bilgilerimizle bunu anlatalım hem de ileride neler yapabiliriz bunları tartışalım.
Ne dedik, yazının en başına dön. Blokzincirler dağıtık veritabanlarıdır. Bir blokzincirin hızlı olabilmesi, daha doğrusu çok fazla işlemi kaldırabilmesi için DAHA FAZLA İŞLEM KAYDININ NODE’LARA DAHA ÇOK DAĞILMASI GEREKİR. Bak bu cümle kritik. Yani bir blokzincir daha çok işlem yaparsa BU NODE’LAR DOLUYOR.
NODE’LAR DOLUYOR!
Ethereum arşiv node’u 10 TB’ı geçti. Giderek artacak. Full node’lar da aynı şekilde büyüyor. Prune’luyoruz, ancak yetmiyor. Giderek artıyorlar. 3 yıl önce sıfırdan Bitcoin node’u kuran adam ile bugün Bitcoin node’u kuran adam aynı sürede node kurmuyor. Giderek node kurmak daha da zorlaşıyor. Blokzincirler giderek merkezileşiyor. Bizim bu işi ÇÖZMEMİZ ŞART.
Ethereum’u forklayıp blokları motor gibi hızlı basmakla, büyük blok basmak ile övünen projeler var, siz de bu shitcoin’leri alıp diyorsunuz ki bak Ethereum’un yapamadığını yaptı, transferlerim son derece hızlı ve ucuz. Geleceğin teknolojisi bu.
Bu shitcoinler bu hızla blok basmaya devam ettikçe NODE KURAMAYACAĞIZ VE NODE KURAN BİRKAÇ KİŞİ KALACAK. ETHEREUM NEDEN BÜYÜK BLOK BASIP İŞLEM ÜCRETLERİNİ AŞAĞIYA ÇEKMİYOR? İŞTE BU BÜYÜYEN NODE’LAR YÜZÜNDEN. UCUZ İŞLEM YAPARSAK NODE KURULMUYOR, SİSTEM MERKZİLEŞİYOR ÇÜNKÜ NODE KURMA İŞİNİ SADECE BİRKAÇ KİŞİ YAPABİLİYOR.
Hemen örnek verelim
Bitcoin full node kurmak için gerekli donanım:
- 500 GB’lık SSD veya HDD (1 TB alsan uzun yıllar yeter, unutmayın büyüyorlar.)
- 50 Kbps internet hızı. (10 dakikada 1 MB blok indirecek bu kadar)
- 2 GB RAM (Bu blokları bilgisayara yazmak için.)
Özetle; Raspberry Pi bilgisayar ve minik bir internet bağlantısı yetiyor.
Şimdi Solana’ya bakalım:
- 256 GB RAM
- Minimum 2.8 GHz, 16 veya 32 Çekirdek CPU
- 1 Gbps internet hızı
- 2 TB SSD (HDD olmuyor bloklar çok hızlı)
Kısacası müthiş konsensus mekanizmaları bulmak ile, devasa bloklar basmak ile iyi bir teknoloji olmuyor. Shitcoin oluyorsun. Şimdi bizim bu işi çözmemiz lazım. ÇÖZMEMİZ ŞART. GELELİM FASULYENİN FAYDALARINA.
Yukarıda node’lar için çizdiğim ağaca tekrar bakalım:
Şimdi blokzincir büyüdükçe, Prune’lasak da Full Node’lar, Arşiv Node’lar, Consensus Node’lar büyüyor… Peki bizim bu blokzinciri ONAYLAMAMIZ İÇİN başka yollar bulmamız lazım: Statelessness ile gelecek Stateless Node’larla, Light Node’lar.
Light node’lar çok önemli, önce bunlarla başlayalım. Dedik ki light node’lar blokların çok küçük bir kısmını indiriyorlar ve onaylama işlemine katılmıyorlar, tek numaraları full node’lar bir çarpıklık görürse bunu light node’lara söylüyor ve light node’lar da çarpıklık olan bloğu indirip kontrol ediyor. Peki, BU LIGHT NODE’LARA KONTROL YETENEĞİ KATAMAZ MIYIZ?
DATA AVAILABILITY SAMPLING SOHBETE KATILDI.
Eğer biz bu light node’lara bir şekilde bloklara onay verme yeteneği katarsak, insanlar full node indirmek zorunda kalmayacak, cep telefonundan bile “Light Node” kurup blokzincir üzerinde blok onaylamış olacaklar.
DAS’i anlatmak için oturup en az bu yazı kadar bir yazı daha yazmam gerekiyor, ama sistemi en kısa şekilde özetleyelim.
Full node’ların tuttuğu bu DATA’LARI (Hatırlayın bunlar DATABASE idi) MİNİK PARÇALARA AYIRALIM (SAMPLING) bu parçaları light node’lar doğrulasın, eğer bir yanlışlık varsa light node’lar bu yanlışlığı cezalandırsınlar. Evet kabaca bu. Ancak o kadar önemli bir durum ki, böylelikle blokzinciri doğrulamak için full node’lara ihtiyaç kalmayacak, light node’lar blokzinciri doğrulayabilecek. Herkes rahatlıkla cep telefonuna hatta evdeki tost makinene dahi bu “Client”leri kurabileceği için blokzincir EFSANE MERKEZİYETSİZLEŞECEK.
İŞTE BUDUR.
DAS son derece karışık bir konudur, blokzincir ekosistemine girmesi belki de yıllar alacak. Ancak ÖLÇEKLENMEDEKİ SON NOKTADIR. Ethereum DAS’i DankSharding ile ve bu minik Dataları KZG Commitment’lar ile (zkSNARK) çözmeye çalışmaktadır. Bunun dışında Celestia’da DAS ile uğraşan projeler arasındadır, bu DAS ise Fraud Proof’lar ile olmaktadır. Bu kadar yeterli, konu dağılmasın.
Diğer mevzu ise Statelessness Node’lar. Statelessness node’lar yaklaşık 1-3 MB indirip bütün Ethereum blokzincirini validate etmeye çalışan henüz kağıt üzerinde olan node tipleridir. Statelessness efsane bir güncellemedir. Ethereum’un ölçeklenmesinde DAS ile birlikte en önemli dönüm noktalarından birini oluşturmaktadır. Bu node’lar State’i tutmuyorlar yukarıda anlattığım gibi. Bu node’ların tek handikapı hiçbir şey tutmadıkları için çok fazla “Witness Data” indirmek için full node’lardan daha fazla internet bağlantısına gereksinim duymasından kaynaklanıyor.
Peki Statelessness ve Light Client’i anladım. Yahu ben arşiv node kurmak istiyorum veya full node çok büyürse gelecek yıllarda artık bu node’ları kuramayacak mıyız?
Arşiv node, bütün BLOKZİNCİR TARİHİNİ, her şeyi indirmek zorunda. İndireceksiniz, kaçarı yok. Ancak, indirilecek dataları küçültebiliriz. Yani bir nevi mevcut dataları daha küçük yer kaplayan sistemler ile değiştirebiliriz. İşte bu güncellemeye de Verkle Tree şeması diyoruz. Çok uzatmayalım. Blokzincirdeki transferler Merkle adı verilen bir veri ağacında saklanmaktadır. Bu ağaç yapılarını Verkle Tree adı verilen bir ağaç yapısı ile değiştirdiğimizde yerden ciddi anlamda tasarruf yapmış oluyoruz. Şimdi özellikle Ethereum için mevcut güncellemelerinin tümünü baz alarak bir hesaplama yaparsak gelecekteki node’ların indireceği data miktarını ve internet bağlantısı gerekliliğini sıralayalım:
- Light Node’lar (Light Clientler): 5 KB data inecek. Blok başına 1 KB internet gerekiyor, Güvenlik; Full node’a yakın ancak Sample güvenliği için light node’ların en az yarısı doğru olmalı.
- Stateless Node’lar: 1 MB’a yakın data inecek. Blok başına 500 KB internet gerekiyor. Güvenlik; Full node kadar.
- Full Node’lar (Conensus/Non-Consensus): 50 GB’a yakın data inecek. Blok başına 100 KB internet gerekiyor. Güvenlik; Tam.
- Arşiv Node’lar: 3 TB’a yakın data inecek. Blok başına 100 KB internet gerekiyor. Güvenlik; Tam.
Peki başka neler yapılabilir?
Mina Protocol sohbete katıldı. Mina Protocol diyor ki, anladık ne güncelleme gelirse gelsin, bu blokzincirlerin büyümesi devam ediyor. Blokzincirin STATE’ini (Hatırlayın State’i yukarıda yazmıştım) zkSNARK’larsak boyutunu çok küçültmüş oluruz ve full node kurmak için çok az bir yer gereksinimi doğar. Böylelikle herkes rahatlıkla full node kurabilir. İşte Mina Blokzincirinin State’inin zkSNARK’lanması yaklaşık 22 kB’tır. Bu State’in indirilmesi full node kurmak için yeterlidir.
Bakın FULL NODE dedim. Tobby ben Mina Protocol üzerinde arşiv bir node kurmak istiyorum diyorsan; İNDİR KÖLE. 22 kB değil. 22 kB sadece FULL NODE için geçerli.
5. Son sözlerim
Benim hayalimdeki blokzincirler Ethereum’da kurulduğu gibi 15000 küsür node’dan ibaret blokzincirler değildir. Eğer gerçek bir blokzincir merkeziyetsizliğinden bahsediyorsak bu komedi bir sayıdır.
Benim hayalim, herkesin telefonundan node kurabildiği, herkesin kendi cüzdanının kendi node’u ile çalıştırıldığı, kripto paralar ile kahve alırken bunu telefonuna kurulu Light Client’i onaylayabildiği bir ütopyadır. Ne kadar node; o kadar merkeziyetsizlik, o kadar gerçek blokzincir ve “Satoshi Nakamoto” ruhudur. Bunlar birer hayal olsa da gelecekte yaşanacağına inanıyorum. Bu hayalde, HİÇ KİMSE, HİÇBİR DEVLET, HİÇBİR KURUM VEYA KURULUŞ bu teknolojiyi yasaklayamayacak, sensörleyemeyecek ve bu teknolojiye boyun eğip adapte olacaktır.
Ancak DAS’i, Statelessness’ı beklememeliyiz. Bu teknolojilerin ne zaman pratiğe döküleceği hala daha soru işaretidir. O yüzden NODE KURMALIYIZ VE FULL NODE KURMALIYIZ. En azından Bitcoin veya Ethereum gibi son derece merkeziyetsiz zincirlerde, maliyetsiz full node’ları kurmak bizim için, kripto severler için ilk hedef olmalıdır.
Yazıyı burada noktalarken, bir sonraki blog yazımda FULL NODE kurmayı, FULL NODE kurulumu için detayları, FULL NODE performanslarını karşılaştıracağım ek bir yazı yazacağım. Böylelikle insanların ilgisini çekip, herkese merkeziyetsizliği kelimede değil, realitede göstermiş oluruz.
Saygılarımla…
Şey…
NODE KURUN !
Tobby Kitty