Blokzinciri, birçok bilgisayarın senkron tuttuğu, tek bir sahibi olmayan ortak bir kayıt defteridir. Bu yazıda nasıl kurulduğunu, geçmişinin neden çok zor değiştirildiğini ve akıllı sözleşmenin ne olduğunu, basit sözcükler ve gerçek örneklerle anlatıyoruz.
Okurken fikri iş başında izleyebilirsiniz. Canlı Ethereum sayfasını veya canlı Bitcoin sayfasını açın; yeni blokların peş peşe belirdiğini göreceksiniz.
Temel fikir: birçok kişinin tuttuğu bir kayıt defteri
Bir ağda yapılmış her ödemeyi listeleyen bir defter hayal edin. Şimdi binlerce kişinin her birinin birebir aynı bir kopyayı tuttuğunu ve yeni sayfaların yalnızca çoğunluk aynı fikirde olduğunda eklendiğini düşünün. Blokzincirinin özü budur.
Kayıt herkese açıktır. Herkes okuyabilir ve kontrol edebilir. Defterleri tutması için kimsenin bir bankaya ya da şirkete güvenmesi gerekmez; bu işi ağın kuralları ve birçok katılımcının elindeki kopyalar yapar.
Bloklar: işlem sayfaları
Bir işlem (transaction) tek bir talimattır; örneğin "Alice'ten Bob'a 20 USDC gönder". İşlemler bloklar adı verilen gruplar halinde toplanır. Bir blok, kayıt defterindeki bir sayfa gibidir.
Her bloğun, zincirdeki konumu olan bir blok yüksekliği (block height) vardır. İlk bloğun yüksekliği 0, sonrakinin 1'dir ve böyle devam eder. Bloklar, ağa bağlı olan düzenli bir ritimle üretilir:
- Bitcoin yaklaşık her 10 dakikada bir blok üretir.
- Ethereum her 12 saniyede bir blok üretir.
- Solana yaklaşık her 400 milisaniyede yeni bir slot üretir.
ChainMonitor'da her blok, ne kadar dolu olduğunu ve ne kadar ücret ödediğini gösteren bir kutucuk olarak gösterilir. İçindeki işlemleri görmek için bir kutucuğa tıklayın. İşlem okuma rehberi orada ne bulacağınızı açıklar.
Zincirlenmiş hash'ler: zincir neden zincirdir?
Hash, bir verinin kısa bir parmak izidir. Hash fonksiyonu, herhangi bir girdiyi sabit uzunlukta bir karakter dizisine dönüştürür. Aynı girdi her zaman aynı hash'i verir. Girdinin tek bir harfini değiştirin, hash tamamen farklı görünür. Bir hash'ten geriye doğru veriye ulaşamazsınız.
Her blok, kendisinden önceki bloğun hash'ini içerir. Onu zincir yapan bu bağdır.
- blok, işlemlerini ve 99. bloğun hash'ini içerir.
- blok, kendi işlemlerini ve 100. bloğun hash'ini içerir.
- blok, 101. bloğun hash'ini içerir ve böyle devam eder.
Biri 100. bloktaki tek bir işlemi değiştirirse 100. bloğun hash'i değişirdi. O zaman 101. blok artık eşleşmeyen bir hash'e işaret ederdi. Uyuşmazlık hemen ortaya çıkardı ve ondan sonraki her blok da bozulmuş olurdu.
Düğümler: kopyaları tutan kişiler
Düğüm (node), ağ yazılımını çalıştıran, blokzincirini depolayan ve kuralları kontrol eden bir bilgisayardır. Yeni bir blok geldiğinde her düğüm onu bağımsız olarak doğrular. Bir blok, örneğin var olmayan coinleri harcayarak bir kuralı çiğnerse dürüst düğümler onu reddeder.
Bazı düğümler blok üretmeye de yardımcı olur. Diğerleri yalnızca okur ve doğrular. Bir cüzdan kullandığınızda, o genellikle bir düğümle "bakiyem nedir?" gibi soruları yanıtlayan bir web adresi olan RPC uç noktası üzerinden konuşur. Herkese açık uç noktaları RPC sağlığı sayfasında karşılaştırabilirsiniz.
Konsensüs: herkes nasıl anlaşır?
Binlerce kopya olduğunda ağın, sıradaki bloğun hangisi olacağı konusunda anlaşmanın bir yoluna ihtiyacı vardır. Bu anlaşma sürecine konsensüs (consensus) denir. İki ana türü vardır.
İş kanıtı
İş kanıtında (proof of work, PoW) madenci adı verilen katılımcılar zor bir bulmacayı çözmek için yarışır. Bulmaca yalnızca çok sayıda tahmin denenerek çözülebilir; bu da elektriğe ve bilgisayar zamanına mal olur. Kazanan sıradaki bloğu ekler ve bir ödül alır. Bitcoin iş kanıtı kullanır.
Hile yapmak pahalıdır. Geçmişi yeniden yazmak için bir saldırganın eski blok ve ondan sonraki tüm bloklar için işi yeniden yapması ve bunu ağın geri kalanının toplamından daha hızlı yapması gerekir.
Hisse kanıtı
Hisse kanıtında (proof of stake, PoS) doğrulayıcı (validator) adı verilen katılımcılar, stake denen bir depozito olarak coin kilitler. Ağ, blok önermek ve onaylamak için doğrulayıcıları seçer. Kurallara uyan doğrulayıcılar ödül kazanır. Kuralları çiğneyenler stake'lerinin bir kısmını kaybedebilir. Ethereum ve Solana hisse kanıtı kullanır.
Burada da hile yapmak pahalıdır, ancak maliyet elektrik yerine depozitodur.
Kimse geçmişi sessizce neden düzenleyemez?
Üç şey birlikte çalışır:
- Hash bağları. Eski bir bloğu değiştirmek sonraki her bloğu bozar.
- Birçok kopya. Düzenlemek isteyen biri yalnızca bir kopyayı değil, kopyaların çoğunluğunu değiştirmek zorunda kalırdı.
- Maliyet. İş kanıtında bir saldırganın muazzam hesaplama gücüne ihtiyacı vardır. Hisse kanıtında bir saldırganın yok edilebilecek büyük bir stake'e ihtiyacı vardır.
Bu, sistemin sihirli olduğu anlamına gelmez. Üstüne ne kadar çok blok eklenirse geçmişin değiştirilmesinin o kadar zorlaştığı anlamına gelir. Borsaların ve uygulamaların bir ödemeyi kesin saymadan önce birkaç onay beklemesinin nedeni budur. Ayrıntılar için kesinlik ve onaylar yazısına bakın.
Bakiyeleri tutmanın iki yolu: hesaplar ve UTXO'lar
Ağlar "kimin neyi var" bilgisini iki yoldan biriyle izler.
Hesap modeli. Ethereum, Arbitrum, Base, Optimism, Polygon ve Solana bir banka defteri gibi çalışır. Her adresin bir bakiyesi vardır ve bir işlem bir bakiyeden düşer, diğerine ekler.
UTXO modeli. Bitcoin daha çok nakit gibi çalışır. UTXO (harcanmamış işlem çıktısı, unspent transaction output) yalnızca bir kez harcanabilen coin benzeri bir parçadır. Bir ödeme, bir veya daha fazla UTXO'yu girdi olarak kullanır ve çıktı olarak yenilerini oluşturur; bunlar genellikle göndericiye dönen "para üstünü" de içerir. Bitcoin bakiyeniz, harcayabileceğiniz UTXO'ların toplamıdır.
İki model de her bakımdan daha iyi değildir. Farklı ödünleşimleri olan farklı tasarımlardır.
Akıllı sözleşme nedir?
Akıllı sözleşme (smart contract), bir blokzincirinde saklanan küçük bir programdır. Biri ona bir işlem gönderdiğinde tam olarak yazıldığı gibi çalışır. Token tutabilir, kurallara uyabilir ve sonuçları diğer sözleşmelere gönderebilir. Kodun kendisi yükseltmeye izin vermedikçe, yayına alınmış bir sözleşmenin kodunu kimse değiştiremez.
Örnekler: bir tokenı başka bir tokenla takas eden bir sözleşme, teminat karşılığında borç veren bir sözleşme veya USDC tokenini tanımlayan sözleşme. Ethereum ve onun üzerine kurulu zincirler sözleşmeleri EVM (Ethereum Sanal Makinesi) ile çalıştırır. Solana'nın, programların farklı bir tasarımda çalıştığı kendi sözleşme sistemi vardır. Bitcoin yalnızca basit betikleri destekler.
Bir sözleşmeyi çalıştırmak, gas adı verilen bir ücrete mal olur. Nasıl hesaplandığı için gas ve ücretler yazısına bakın.
Bir akıllı sözleşme, kodu kadar iyidir. Sözleşmedeki bir hata fon kaybettirebilir ve kesinleşmiş bir işlem geri alınamaz.
Sonra nereye?
Farklı ağların birbirleriyle nasıl ilişkili olduğunu görmek için katman 1, katman 2 ve katman 3 açıklandı yazısını okuyun. Kendi fonlarınızı nasıl tutacağınızı öğrenmek için cüzdanlar ve anahtarlar yazısını okuyun. Kısa tanımlar için sözlüğü kullanın.
Sık sorulan sorular
Blokzinciri ile Bitcoin aynı şey mi?
Hayır. Bitcoin bir blokzinciridir ve yaygın biçimde kullanılan ilk blokzinciridir. Blokzinciri altta yatan teknolojidir. Ethereum, Solana ve diğer birçoğu kendi kuralları olan ayrı blokzincirleridir.
Bir blokzinciri hacklenebilir veya değiştirilebilir mi?
Büyük bir ağın eski bloklarını yeniden yazmak son derece maliyetlidir ve en büyüklerinde bu hiç olmamıştır. Kayıpların çoğu başka yerlerden gelir: çalınan anahtarlar, dolandırıcılıklar veya akıllı sözleşmelerdeki ve üzerine kurulu uygulamalardaki hatalar.
Bir blokzincirini kim kontrol eder?
Herkese açık bir blokzincirini tek bir sahip kontrol etmez. Kuralları düğümlerin çalıştırdığı yazılım belirler ve değişiklikler geliştiriciler, doğrulayıcılar ya da madenciler ve kullanıcılar arasında geniş bir mutabakat gerektirir. Bu, bilerek, bir şirket kararından daha yavaştır.
Blok ile işlem arasındaki fark nedir?
İşlem, bir ödeme gibi tek bir eylemdir. Blok ise zincire birlikte eklenen birçok işlemin demetidir.
Blokzinciri işlemleri neden ücrete mal olur?
Ücretler ağı işletenlere ödeme yapar ve spam'i engeller. Blokların alanı sınırlı olduğundan, ücretler ağ yoğun olduğunda kimin işleminin önce gireceğini de belirler.