Node nedir? Node’lar hakkında her şey! 2
Bu yazı sevgili @tobbykitty tarafından kaleme alınmıştır. 3. Node kurmanın önemi nedir ve neden gereklidir?
Evet birçok node’u gördük ve öğrendik. Şimdi geldik en civcivli bölüme… NODE’UN ÖNEMİ NEDİR? VE NEDEN GEREKLİDİR? HATTA NEDEN KURALIM, NODE KURMANIN BİZE FAYDASI NE?
Gelin size güzel bir hikaye anlatayım…
Bir Pazar sabahı kalkıyorsunuz. Dün akşam çılgınlar gibi eğlenmişsiniz ve eve gelir gelmez uyumuşsunuz. Telefonda coinlerinizin fiyatını dahi kontrol etmemişsiniz. Twitter’a girme fırsatınız da olmamış.
Tobby Kitty takipçisi olarak Ethereum’a güvenmişsiniz ve kefen paranızı dahi ETH’e yatırmışsınız. Ancak siz de dahil hiçbiriniz Ethereum’da node kurmamış. Pazar sabahı yahu şu ETH fiyatına bir bakayım diyorsunuz ve 99.9%’luk bir çöküş ile karşı karşıyasınız. Neler oluyor, Tobby Kitty kesin bir açıklama yapmıştır, muhtemelen bir hata var diyorsunuz…
Tobby Kitty Cumartesi günü saat tam 03.50’te Ethereum üzerindeki bütün node’ların (Arşiv, Validator/Miner ve Non-Consensus node’larının) 95%’inin çeşitli üç kağıtlar ile ortak olarak hareket edip, ağda 500 milyon ETH bastığını, bu basılan ETH’lerin Uniswap’tan tutun da bütün DeFi protokollerinde hızla USDT, USDC, DAI yapıldığını, mevcut paraların nakite döndürüldüğünü veyahut diğer kripto paralara swaplandığını yazmış, 5%’lik masum kısmın, masum zinciri devam ettirse de bunun yeterli olmadığını, koordineli ve Ethereum’u bitirmek için çok ciddi bir operasyonun döndüğünü yazmış.
Ethereum zinciri split yemiş; (95%’lik kısım kafasına göre kurallarını değiştirdiği bir zincir yaratmış) hatta Etherscan (Arşiv Node), Ethermine (Miner/Validator Consensus Node), Vitalik Buterin’in Masternode’u (Full Node) bile bu koordineli atağı yapmış. THE END.
Senin burada yapabileceğin hiçbir şey yok. Çünkü yukarıdaki kişilere güvenmiştin, bu adamlar da bir gece ansızın BLOKZİNCİR ÜZERİNDEKİ BU VERİTABANLARINDA DEĞİŞİKLİK YAPMIŞ, HAVADAN PARA BASMIŞ VE ELİNDEKİ HER ŞEYİ SENDEN ALMIŞLAR. Peki herkesin node kurduğu bir Ethereum hayal edersek bu durumda ne olacaktı?
Diyelim ki, hepimiz node kurmuşuz; Tobby Kitty’de arşiv node’u var, sen ise full node kurmuşsun, hatta BlockLand Discord grubunda dürüst miner’lar kendi mining pool’unu oluşturmuşlar. Ancak sektörün en büyüğü Ethermine (Miner Node) ve Etherscan (Arşiv Node) bu atağın aynısını yapacak olsun. Bu durumda Ethermine’ın ürettiği havadan basılan 500 milyon adet ETH, Etherscan’de görülse dahi, bizim node’larımız bunları kabul etmeyecek, bunları Invalid State (Hatırlayın Blokchain State anlatmıştım) olarak değerlendirecek ve tamamen duymazdan gelecekti.
Etherscan’de 500 milyon adet ETH görünse de, Tobby Kitty hemen kendi arşiv node’unu sizinle paylaşacak, doğru ve dürüst olan zincire hiçbir şey olmadan devam edecekti. Ethermine madencileri boşuna elektrik yakacaktı, (PoS’te Slashing mekanizması devreye girecekti ve saldıran herkes bütün ETH’lerini kaybedeceklerdi) zincirdeki kuralları değiştiremeyeceklerdi, diğer madenciler hemen başka maden havuzlarına (başka Miner Nodelara) gidecekti. Etherscan’i de kullanmayacaktık. Yani herkes node kurarsa, bu kişiler azınlıkta kalacak bu atağı yapamayacaklardı.
Etherscan ve Ethermine… You are fucked by Ethereum Community.
Yazının en başına dönelim… Bankaların tek başına yönettiği veritabanından bahsettik. Blokzincirler de aynen böyledir, eğer node kuran kişi sayısı az ise, bu kişiler blokzincir üzerinde ciddi değişiklikler yapabilirler, blokzincirin bütün olayı bu veritabanlarının herkesin indirebilmesi prensibine dayanmaktadır. Yani bir blokzincir bu veritabanlarını herkesin indirip kurabildiği kadarı ile güvenlidir. Bitcoin veya Ethereum’un gücü buradan gelmektedir. Çünkü bu node’ları herkes kurabilmektedir. (Diğer zincirler ile olan farkına değineceğiz.) DON’T TRUST, VERIFY mottosu ise buradan gelmektedir. Blokzincirdeki verilerin doğruluğunu teyit etmek sadece ve sadece node kurmakla mümkün olmaktadır.
Geldik diğer bir önemli noktaya..
MADENCİLERİN VEYA STAKING YAPANLARIN 51% ATAK YAPMASI DURUMU… Madencilerin çoğunluğu elde etmesi durumunda zincirde değişiklik yapabileceğinin iddiası, hatta daha da yanlış bilinen örneğin PoS sistemlerde validatorlerin çoğunluğunun zinciri yönettiği safsatasına.
Öğrendik, cevaplayalım… MINER VE VALIDATOR’LER DE BİRER NODE DEĞİL MİYDİ? BUNLAR KONSENSUS’A KATILAN VE BLOK ÜRETEN NODE’LARDI DEĞİL Mİ? Bu adamların üç kağıtçı olması durumunda diğer node’ların eli armut toplamıyor. BU BLOKLARI YOKSAYIYOR.
Bitcoin madencileri sistemin 51%’ini ele geçirdi diyelim. (Yani konsensus node’ların 51%’i üç kağıtçı) bu durumda sisteme iki şey yapabilirler:
- Blok basımını durdururlar.
- Bastıkları bloklarda double-spending yapabilirler.
Madencilerle ilgili olan bu kısmı okuyabilirsiniz. Double-spending’i anlatmayacağım. İsteyen buradan devam edebilir.
Birinci durumda; blok basımı durursa, blokzincir duruyor. Blokzincirdeki kuralları değiştiremiyorlar. İkinci durumda bu madenci node’larının double-spending yapması durumunda DİĞER NON-CONSENSUS FULL NODE’LAR BU BLOKLARI GÖRMEZDEN GELECEKTİR, BÖYLELİKLE MADENCİLER VEYA VALIDATORLER BLOKZİNCİRİ BOZAMAYACAKLARDIR. Aşağıdaki görsel Bitcoin Core’un codebase’inden alınmıştır. “Any transaction validation failure in ConnectBlock is a block consensus failure” satırı diyor ki, bu bloklardaki hata bir KONSENSUS hatasıdır. Yani blokzinciri değiştiremezler.
İşte bu bilgi ÇOK AMA ÇOK ÖNEMLİDİR. Yani Miner olmasanız da, Validator olmasanız da sistemi koruyorsunuz. Validator veya Miner dediğimiz node’lar evet blok ödüllerinden para kazanmaktadır, bunlar için örneğin Ethereum’da 32 ETH gerekmektedir veya Bitcoin’de ASIC cihaz gerektirmektedir. Ancak Non-Consensus olan Full Node’lar SİSTEMİ KORURLAR VE MERKEZİYETSİZLİK İÇİN SON DERECE ÖNEMLİDİR. HATTA ÖNEMLİ DEĞİLDİR, ŞARTTIR. PoS bir sistemde üç kağıt basan consensus yani validator node’lar Non-Consensus full node’lar tarafından fark edilecek ve cezalandırma mekanizmasını çalıştıracaklardır.
TOBBY DUR ORADA! BITCOIN’DE TAPROOT GÜNCELLEMESİ MADENCİLER İLE OLMUŞTU! BİZİ KANDIRAMAZSIN!
Bir blokzincir nasıl forklanır konusuna girmek istemiyorum, ancak Bitcoin özelinde konuşmamız gerekir. Bitcoin blokzinciri iki şekilde forklanabilir. (Ethereum da böyle)
- User-Activated Soft Fork (UASF)
- Miner-Activated Soft Fork (MASF)
UASF: Sistemdeki tüm node’ların güncellemesi ile gerçekleşen forklamadır. Daha anlaşılır kılacak olursak, bu veritabanları kendilerini günceller, çeşitli kuralları değiştirir ve zincir belirlenen bir bloktan sonra yeni kuralları takip eder. Arşiv, Consensus ve Non-Consensus node’lar güncelleme yapar.
MASF: Burada CONSENSUS NODE’LARIN sistemi değiştirmesi söz konusudur, ki nitekim doğrudur. Miner’lar sistemi değiştirebilirler ancak bunun için minimum 90%’lık bir kota gereklidir. Bu kota geçildikten belli bir süre sonra (protokole göre değişmekle birlikte) diğer node’lar tarafından itiraz gelmez ise sistem değişir. Buradaki MASF eğer kötü niyetli olursa, sistemdeki diğer node’lar bir UASF ile kötü madencilerin kazdığı zincirden ayrılıp ayrı bir fork yapabilirler.
Yani NODE’LAR NE DİYORSA BLOKZİNCİR DE ONU DİYECEKTİR. BİR BLOKZİNCİRİ POW, POS, POA, CASPER, TENDERMINT vs. KORUMAZ. BİR BLOKZİNCİRİ SEN KORURSUN. O BLOKZİNCİRİ SEVEN ADAM KORUR. AMA KORUMAK İÇİN NODE KURMAN GEREKİR.
Anladık kardeşim, node kurmak çok önemli. ANLADIK YETER. Merkeziyetsizlik falan filan. Yahu iyi tamam da, beni methetme kardeşim bana para ver. Ben node kurunca ne olacak? Bu işten kazancım nedir, node kurmanın sisteme olan faydasını anladım, peki BANA OLAN FAYDASI nedir?
Geldik node’ların bize olan faydasına… Öncelikle consensus node’ların faydasına. Bildiğiniz gibi Staking ödülü denilen ödüller işte bu consensus node’ların blok üretiminden veya transferlerin onayından elde ettiği ödüllerdir.
Bitcoin’de consensus node kurmak istiyorsanız, miner cihazlarınız olması gerekir. Çünkü PoW ile çalışır ve blok üretimi için cihazlar gerekir. Bu cihazları temin ettikten sonra ister kendi node’unuzu kurarsınız, ki buna Solo madencilik denir, hem blokları valide edersiniz hem de yeni blok eklemeye çalışırsınız. Yalnız “solo” dediğimiz bu sistemde blok bulmak şansa bağlı olduğu için genelde madenciler blok bulma şanslarını artırmak adına maden havuzlarına girmektedir. Bu maden havuzlarının mantığı çok basittir. Ortada tek bir node var, herkes cihazını bu node’a bağlıyor. Bu kadar. Bu node blok buldukça kim ne kadar cihaz bağlamışsa bulduğu ödülleri cihaz sahiplerine dağıtıyor.
PoS sistemlerde de fark yoktur. Ethereum PoS’de PoW cihazı yerine belli bir miktarda ETH gerekir. Bu ETH sayısı 32’dir. 32 ETH’iniz varsa evinizde node kurup bu 32 ETH’i node’unuza koyacaksınız ve node’unuz artık blok üretmeye başlayacak. (Casper FFG + LMD GHOST’ta sadece üretim yok, blokların onaylanması gibi bir durum da söz konusu) böylelikle ETH kazanacaksınız.
Şöyle bir soru gelebilir, ben Solana’da node kurmadım ama SOL’um var ve Staking yapıyorum bu nasıl oluyor, bu mantık ise yukarıdaki maden havuzu gibidir. SOL’larınızı node çalıştıran bir adama veriyorsunuz, bu adam ise blok buldukça size pay veriyor. Olay bu. Node çalıştırmıyorsunuz, yine node çalıştıran bir adama güveniyorsunuz. Bu sisteme delegasyon sistemi denir, bundan dolayı Ethereum PoS’de delegasayon sistemi yoktur. Ethereum herkesin node kurmasını teşvik etmektedir. Eğer 32 ETH’den az ETH’iniz varsa bunları 3. parti DeFi uygulamaları sizden alıp başkaları ile birleştirip 32 ETH’e tamamlayıp node kurmaktadır. Ama NODE KURMAK İSTİYORUM diyorsanız, 32 ETH’e ihtiyacınız var.
Kardeşim benim param yok, validator node kuramıyorum, Non-Consensus node kursam sisteme merkeziyetsizlik dışında, kendime ne faydam olacak?
Cevap: ÇOK FAZLA FAYDASI VAR. TEK TEK YAZALIM PEŞİNE DE HEPSİNİ AÇALIM
- Varlıkların çok daha güvende olacaktır.
- Müthiş gizlilik sağlamaktadır.
- Sensörlemelere karşı kalkan görevi görür.
- Eğlenceli ve vefa borcun var.
Varlıklarının Çok Daha Güvende Olması Durumu.
Nasıl ya, ben Ledger kullanıyorum varlıklarım güvende değil mi? Hayır öyle değil. Kullandığınız her cüzdan FULL NODE kurdurmuyorsa, cüzdan uygulamasının kendine ait bir Non-Consensus full node’a bağlıdır. Dolayısı ile siz bu node’a güvenirsiniz.
Metamask: Infuraya bağlı. Electrum Wallet: ElectrumX Server’ına bağlı. Sen Tobby’e 1 ETH yolla diyip imza attığın zaman, Metamask bunu Infuraya iletiyor. Ya Metamask şerefsiz ise? Tobby’e değil de, tuvalet terliğini ıslatan şerefsiz adamın cüzdanına 1 ETH’yi yollarsa? Her imzaladığın şeyi okuyor musun? Sanmıyorum. Ama full node kurup işlemlerini buradan halledersen, süper güvendesin.
Müthiş Gizlilik Sağlaması.
Metamask’ından bir transfer yaparken sen Infura’nın node’una bağlanıyorsun ve Infura senin IP numarandan tut, her şeyini biliyor. Nerede kaldı gizlilik? IP numaranı bildiği gibi hangi cüzdanlara erişimin var bunları da biliyor. Ekstra VPN kullanman gerekecek, bu VPN servislerine güveniyor musun? Node’un yoksa node kuran adama her türlü siber bilgini veriyorsun. Node kurarsan buna gerek kalmayacak.
Sensörlemelere Karşı Kalkan Görevi.
Yukarıda Ethereum ağı üzerindeki en meşhur Node sahibi kurumlar/kişiler var. Örneğin Infura, Alchemy, FlashBots gibi. Peki, Metamask cüzdanının direkt Infuraya bağlı geldiğini söylemiştim. Infura fişi çekerse ne olacak? Cevap: Hiçbir şey yapamayacaksın.
Ciddi bir ayı sezonu döneminde ETH’lerin cüzdanında duruyor ve satmak istiyorsun, Infura çöktü, ne yapacaksın? Infura’nın fişi tekrar takmasını beklemekten başka çaren yok. Ya da başka bir node’a bağlanacaksın. Çöküşlerin olduğu zamanları herkes bilir, büyük yerler çökmeye başlayınca diğerleri de bunu takip ediyor. Ama eğer node’un olursa, Metamask cüzdanını kendi node’una bağlarsın ve işlemlerini yaparsın. Ayrıca, bu tip çöküşlerde insanların node’u olmadığı için ağ trafiği ciddi anlamda düşüyor ve Gas ucuz oluyor. Ucuza işlem yapıyorsun. Al sana direkt parasal getiri.
Diğer bir şey daha Latency durumu. Senin Türkiye’deki bilgisayarın, örneğin Amerika’daki servis sağlayıcısına oradan Infura node’una bağlanıyor. Burada bir zaman kaybı var. Kendi evinde kendi node’un olsa işlemlerin çok daha hızlı gerçekleşecektir.
Eğlenceli! Peki Vefa Borcun?
Node kurmak son derece eğlenceli ve neredeyse masrafsız. (Masrafsız kısmına geleceğiz) O blokzincirde yapılan her türlü transfer senin node’un tarafından onaylanıyor ve node’un bu transferleri kaydediyor. O blokzincir üzerindeki her türlü aktiviteyi görüyorsun. Kurması son derece kolay ve zahmetsiz. Neden kurmuyorsun? Aşağıdaki NiceNode tek tık ile teknolojiden uzak olan insanlara bile node kurdurabiliyor. Eğer Hacker gibi hissetmek istiyorsan CLI ile de kurabilirsin 🙂
Peki vefa borcun ne olacak? Satoshi Nakamoto Bitcoin’i yapıp bize emanet etti. Hepimize. Node kuruldukça ve nodelar dürüst oldukça sonsuza kadar gidecek bu sisteme hiç borçlu olduğunu hissetmiyor musun? veyahut devletlerin müdahalelerinden korkup, merkeziyetsizlik isteyip neden elini taşın altına koymuyorsun? Herkesin node kurabildiği bir sistemi kim nasıl kapatabilir? Mümkün değil. Ancak 2-3 kişi node kursa o sistem rahatlıkla kapanır.
Tamam, Tobby yeter. İkna oldum… Söz node kurcam…
Umarım öyle olur…