Blockchain Nasıl Çalışır: Adım Adım Açıklama
Blockchain’in nasıl çalıştığını anlamak, bir işlemi başlangıcından nihai onaya kadar takip etmeyi gerektirir. Altta yatan teknoloji gelişmiş kriptografi ve dağıtık sistem mühendisliği içerse de temel süreç sadeliğiyle zariftir: işlemler oluşturulur, yayınlanır, doğrulanır, bloklar halinde gruplanır ve paylaşılan bir deftere kalıcı olarak kaydedilir.
Bu rehber, Bitcoin’i ana örnek olarak kullanarak blockchain sürecinin her adımını açıklar ve Ethereum gibi diğer blockchain’lerin nerede farklılaştığını belirtir. Sonunda, "Send" düğmesine tıkladığınız andan işleminizin blockchain’in geri döndürülemez bir parçası olduğu ana kadar tam olarak neler olduğunu anlayacaksınız.
Adım 1: İşlem Oluşturma
Her blockchain etkileşimi bir işlem oluşturmakla başlar. Kripto para göndermeye karar verdiğinizde, cüzdan yazılımınız birkaç bilgi parçası içeren bir işlem mesajı oluşturur.
İşlem Girdileri ve Çıktıları
Bitcoin, Unspent Transaction Output (UTXO) modelini kullanır. UTXO’ları cüzdanınızdaki dijital banknotlar gibi düşünün. İki ayrı işlemde 0.5 BTC ve 0.3 BTC aldıysanız, toplam 0.8 BTC eden iki UTXO’nuz vardır. 0.6 BTC göndermek istediğinizde cüzdanınız:
- Tutarı karşılayacak UTXO’ları seçer (0.5 + 0.3 = 0.8 BTC).
- Alıcının adresini bir çıktı olarak içeren bir işlem oluşturur (0.6 BTC).
- Kendi adresinize bir para üstü çıktısı oluşturur (0.2 BTC eksi işlem ücreti).
- Seçilen UTXO’lar "harcanmış" olur ve yeni çıktılar yeni UTXO’lara dönüşür.
Ethereum, geleneksel banka hesabına daha benzer farklı bir hesap tabanlı model kullanır. Her adresin bir bakiyesi vardır ve işlemler yalnızca gönderenden düşüp alıcıya eklenir.
Dijital İmzalama
Bir işlem yayınlanmadan önce, gönderenin private key’i ile imzalanmalıdır. seed phrase güvenliğinizin kritik hale geldiği yer burasıdır; private key’iniz seed phrase’inizden türetilir ve ona sahip olan herkes sizin adınıza işlem imzalayabilir.
İmzalama süreci şu şekilde çalışır:
- İşlem verisi SHA-256 (Bitcoin) veya Keccak-256 (Ethereum) kullanılarak hash’lenir.
- Hash, ECDSA algoritmasıyla gönderenin private key’i kullanılarak imzalanır.
- Ortaya çıkan dijital imza işleme eklenir.
- Herkes, gönderenin public key’i ile imzayı doğrulayabilir; böylece private key’in kendisini hiç görmeden işlemin anahtar sahibi tarafından yetkilendirildiği doğrulanır.
Bu temel bir ilkedir: imzalama sahipliği kanıtlar. Bu süreçte private key’iniz cihazınızı asla terk etmez. Ağ ile yalnızca imza paylaşılır ve bu imzadan private key’i tersine mühendislikle elde etmek mümkün değildir.
Adım 2: İşlemi Yayınlama
İmzalandıktan sonra işlem blockchain ağına yayınlanır. Cüzdanınız bir veya daha fazla node’a (blockchain yazılımı çalıştıran bilgisayar) bağlanır ve işlem verisini gönderir.
Eşten Eşe Yayılım
Blockchain ağları peer-to-peer (P2P) topoloji ile çalışır. Merkezi bir sunucu yoktur. Bir node işleminizi aldığında ilk doğrulama kontrollerini yapar ve geçerliyse bağlı olduğu eşlere iletir. Bu eşler de doğrular ve daha ileri iletir. Saniyeler içinde işleminiz tüm ağa yayılır ve genellikle 2 ila 15 saniye içinde node’ların çoğunluğuna ulaşır.
Mempool
Yayımdan sonra işleminiz, her node tarafından tutulan onaylanmamış işlem bekleme alanı olan mempool’a (memory pool) girer. Mempool tek bir ortak havuz değildir; her node kendi sürümünü tutar ve ağ gecikmesi ile node politikaları nedeniyle bu sürümler biraz farklı olabilir.
Mempool’daki işlemler öncelikle fee rate’e göre sıralanır (Bitcoin’de byte başına satoshi, Ethereum’da gas price). Madenciler ve doğrulayıcılar en yüksek ücretli işlemleri önce seçer çünkü bu gelirlerini maksimize eder. Ağ talebinin yüksek olduğu dönemlerde mempool ciddi şekilde büyüyebilir ve düşük ücretli işlemler onay için saatlerce hatta günlerce bekleyebilir.
İşlem Ücretleri
İşlem ücretleri iki amaca hizmet eder:
- Madencileri/doğrulayıcıları teşvik etmek ve işleminizi bir bloğa dahil etmelerini sağlamak.
- Ağı anlamsız işlemlerle doldurmayı pahalı hale getirerek spam’i önlemek.
Bitcoin’de ücretler, gönderilen tutara göre değil işlemin byte cinsinden boyutuna göre hesaplanır. 10 BTC gönderen bir işlem, byte boyutu aynıysa 0.001 BTC gönderen işlemle aynı ücrete sahip olabilir.
Ethereum’da ücretler EIP-1559 modelini izler: base fee (yakılır) ve priority tip (doğrulayıcıya ödenir). Base fee, ağ yoğunluğuna göre dinamik olarak ayarlanır.
Adım 3: İşlem Doğrulama
Bir işlem bir bloğa eklenmeden önce node’lar onu protokol kurallarına göre bağımsız olarak doğrular. Bu doğrulama, blockchain bütünlüğünü korumak için kritiktir.
Doğrulama Kontrolleri
Her node, aldığı her işlemde birden fazla kontrol yapar:
- Sözdizimsel geçerlilik: İşlem, protokol spesifikasyonuna göre doğru formatta mı?
- İmza doğrulaması: Dijital imza gönderenin public key’i ile eşleşiyor mu? Bu, işlemin private key sahibi tarafından yetkilendirildiğini doğrular.
- Çift harcama kontrolü: Referans verilen UTXO’lar (Bitcoin) hâlâ harcanmamış mı, ya da hesapta (Ethereum) yeterli bakiye var mı?
- Script doğrulaması: Kilitleme ve kilit açma script’leri doğru çalışıyor mu? (Bitcoin, harcama koşullarını tanımlamak için Script adlı bir betik dili kullanır.)
- Ücret yeterliliği: İşlem, node’un minimum iletim eşiğini karşılamak için yeterli ücreti içeriyor mu?
- Boyut sınırları: İşlem, protokolün boyut kısıtları içinde mi?
Bir işlem bu kontrollerden herhangi birinde başarısız olursa reddedilir ve diğer node’lara iletilmez. Bu merkeziyetsiz doğrulama, blockchain’i sahte işlemlere karşı dayanıklı kılar; çünkü her node her işlemi aynı kurallar kümesine göre bağımsız şekilde doğrular.
Adım 4: Blok Oluşturma
Madenciler (proof-of-work sistemlerinde) veya doğrulayıcılar (proof-of-stake sistemlerinde), mempool’daki doğrulanmış işlemleri toplayıp aday bir blok halinde birleştirir.
Blok Yapısı
Tipik bir blok şunları içerir:
Block Header:
- Version: Protokol sürümü.
- Previous block hash: Önceki bloğun başlığının SHA-256 hash’i. Blockchain’deki "zincir"i oluşturan budur.
- Merkle root: Bloktaki tüm işlemleri özetleyen tek bir hash.
- Timestamp: Bloğun oluşturulduğu yaklaşık zaman.
- Difficulty target (PoW): Bloğun geçerli olması için block hash’in altında olması gereken eşik.
- Nonce (PoW): Geçerli bir hash ararken madencilerin artırdığı sayaç.
Block Body:
- Transaction count: Dahil edilen işlem sayısı.
- Transaction list: Gerçek işlem verisi.
- Coinbase transaction: Blok ödülü olarak yeni coin üreten ve tüm işlem ücretlerini toplayan özel ilk işlem. Bu, girdisi olmayan tek işlemdir; protokolün arz takvimine göre yoktan yeni para üretir.
İşlem Seçimi
Madenciler genellikle geliri maksimize etmek için en yüksek fee rate’e sahip işlemleri önceliklendirir. Ancak block size limit’ine (Bitcoin’de 4 MB block weight) veya block gas limit’ine (Ethereum’da yaklaşık 30 milyon gas) da uymak zorundadırlar. Bu, blok alanı için doğal bir piyasa oluşturur; talep yüksekken kullanıcılar daha yüksek ücret teklif ederek rekabet eder.
Bazı madencilerin, ücretlerden bağımsız belirli işlem türlerini dahil etmek veya yaptırım uygulanan adreslerle etkileşen işlemleri hariç tutmak gibi ek politikaları olabilir.
Merkle Ağacı Oluşturma
Merkle ağacı, işlem hash’lerinin çiftler halinde tekrar tekrar hash’lenmesiyle oluşturulur:
- Her işlem ayrı ayrı hash’lenir.
- Yan yana hash’ler çiftlenir ve birlikte hash’lenir.
- Bu süreç ağaç boyunca yukarı doğru tek bir hash kalana kadar sürer: Merkle root.
Merkle root, tüm işlemlerin kompakt bir özetini sağlar. Herhangi bir işlem değiştirilirse Merkle root değişir ve manipülasyon anında ortaya çıkar. Bu yapı ayrıca Simplified Payment Verification (SPV) sağlar; hafif istemciler tam blokları indirmeden işlem dahil edildiğini doğrulayabilir.
Adım 5: Konsensüs ve Blok Üretimi
Aday blok, ağ tarafından kabul edilmeden önce ağın consensus mechanism sürecinden geçmelidir. Farklı blockchain’lerin belirgin şekilde ayrıştığı nokta burasıdır.
Proof of Work (Bitcoin)
Proof-of-work’te madenciler, block header verisiyle birleştirildiğinde ve hash’lendiğinde ağın difficulty target değerinin altında sonuç üreten bir nonce bulmak için yarışır. Bu özünde kaba kuvvet aramasıdır:
- Madenci gerekli tüm alanlarla block header’ı oluşturur.
- Madenci header’ı SHA-256 ile hash’ler (Bitcoin’de iki kez uygulanır).
- Ortaya çıkan hash difficulty target’ın altındaysa blok geçerlidir.
- Değilse madenci nonce’u artırır ve tekrar dener.
- Bu süreç tüm madenciler genelinde saniyede milyarlarca kez tekrarlanır.
Difficulty target, ağdaki toplam madencilik gücünden bağımsız olarak ortalama 10 dakikalık blok süresini korumak için her 2.016 blokta bir (yaklaşık iki hafta) ayarlanır.
Bir madenci geçerli bir hash bulduğunda "bulmacayı" çözmüş olur ve bloğunu ağa yayınlayabilir. Geçerli çözümü ilk bulan madenci block reward’ü (Nisan 2024 halving sonrası şu anda 3.125 BTC) ve bloktaki tüm işlem ücretlerini kazanır.
Proof of Stake (Ethereum)
Ethereum, doğrulayıcıların stake ettiği (teminat olarak kilitlediği) ETH miktarına göre blok önermek üzere rastgele seçildiği proof of stake kullanır. Süreç temelden farklıdır:
- Her 12 saniyelik slot için bir doğrulayıcı sözde rastgele seçilerek blok önerir.
- Öneren, bir blok oluşturur ve yayınlar.
- Bir doğrulayıcı komitesi bloğun geçerli olduğuna attest eder (oy verir).
- Yeterli attestasyon toplandığında blok justified kabul edilir ve sonunda finalized olur.
Proof of stake, proof of work’teki enerji yoğun hash hesaplamasını ortadan kaldırırken ekonomik teşvikler üzerinden güvenliği sürdürür; kötü niyetli davranan doğrulayıcılar stake ettikleri ETH’yi kaybetme (slashing) riski taşır.
Daha derin bir karşılaştırma için Consensus Mechanisms rehberimize bakın.
Adım 6: Blok Yayılımı
Geçerli bir blok üretildikten sonra ağ genelinde dağıtılmalıdır.
Ağ Yayılımı
Başarılı madenci veya doğrulayıcı yeni bloğu eşlerine yayınlar; eşler bloğu doğrular ve daha da iletir. Blok yayılımı, blok boyutu ve ağ koşullarına bağlı olarak ağın çoğunluğuna ulaşmak için genellikle 1 ila 10 saniye sürer.
Compact Block Relay (BIP 152)
Bitcoin, yayılımı hızlandırmak için Compact Block Relay kullanır. Çoğu node işlemleri zaten mempool’unda tuttuğundan, yeni blok tam işlem verisi yerine yalnızca kompakt bir özet (kısa işlem kimlikleri) iletilebilir. Node’lar tam bloğu mempool’larından yeniden oluşturabilir; bu da bant genişliği gereksinimini yaklaşık %90 azaltır.
Yetim Bloklar
Bazen iki madenci neredeyse aynı anda geçerli blok bulur ve geçici bir fork oluşur. Ağ bunu doğal biçimde çözer: bir sonraki bloğu önce alan zincir en uzun zincir olur, diğer blok orphan (veya stale block) haline gelir. Orphan bloktaki işlemler mempool’a geri döner ve genellikle kazanan zincirdeki sonraki bloğa dahil edilir.
Adım 7: Blok Doğrulama ve Zincir Uzatma
Bir node yeni bir blok aldığında, kabul etmeden önce tüm bloğu bağımsız olarak doğrular.
Tam Doğrulama
Node’lar şunları doğrular:
- Block header geçerliliği: Doğru format, geçerli previous block hash, proof of work difficulty target’ı karşılıyor mu (veya PoS’ta geçerli doğrulayıcı imzası var mı).
- İşlem geçerliliği: Bloktaki her işlem Adım 3’te açıklanan doğrulama kontrollerinden geçer.
- Merkle root tutarlılığı: Hesaplanan Merkle root, block header’dakiyle eşleşir.
- Blok boyutu/ağırlığı: Blok protokol limitlerini aşmaz.
- Coinbase geçerliliği: Blok ödülü ve ücret toplama güncel protokol kurallarına göre doğrudur.
- Timestamp aralığı: Blok zaman damgası kabul edilebilir sınırlar içindedir.
Tüm kontroller geçerse node bloğu blockchain’in yerel kopyasına ekler ve UTXO setini (veya Ethereum’da state trie’yi) günceller. Ardından bloğu eşlerine iletir.
Adım 8: İşlem Onayı
İşleminiz geçerli bir bloğa dahil edildiğinde ilk onayını almış olur. İşleminizin bloğu üzerine eklenen her yeni blok bir onay daha ekler.
Neden Çoklu Onay Önemlidir
Tek onay, işleminizin blockchain’de olduğu anlamına gelir; ancak rakip bir zincir öne geçerse blok teorik olarak orphan olabilir. Her ek onay yeniden organizasyonu üstel olarak daha az olası hale getirir:
| Onay Sayısı | Bitcoin Bekleme Süresi | Güvenlik Seviyesi |
|---|---|---|
| 0 (onaylanmamış) | — | Çift harcamaya açık |
| 1 | ~10 dakika | Küçük tutarlar için uygun |
| 3 | ~30 dakika | Makul güvenlik |
| 6 | ~60 dakika | Önemli tutarlar için standart |
| 12+ | ~2 saat | Çok yüksek güvenlik |
Bitcoin için yaygın 6 onay standardı, başarılı bir zincir yeniden organizasyonu (ve dolayısıyla çift harcama) olasılığının astronomik derecede düşük olduğu anlamına gelir; bunun için bir saldırganın ağ hash gücünün %50’sinden fazlasını kontrol etmesi ve bunu bir saatten uzun süre sürdürmesi gerekir.
Ethereum daha hızlı finality sağlar. Normal koşullarda bir işlem, yaklaşık 12 ila 15 dakika içinde finality’ye ulaşır (tüm stake edilmiş ETH’nin en az üçte birini yakmadan geri döndürülemez).
Finality Türleri
- Olasılıksal finality (Bitcoin): Her onayla birlikte işlemleri geri çevirmek giderek zorlaşır, ancak mutlak geri döndürülemezlik noktası yoktur. Altı onay yaygın kabul gören pratik eşiğidir.
- Ekonomik finality (Ethereum PoS): Finalization’dan sonra bir işlemi geri çevirmek, milyarlarca dolar değerinde stake edilmiş ETH’nin yakılmasını gerektirir; bu da saldırgan için ekonomik olarak irrasyoneldir.
- Mutlak finality (bazı BFT tabanlı zincirler): İşlemler blok onayıyla birlikte anında geri döndürülemez olur. Tendermint tabanlı ağlar bu özelliği sağlar.
Tam Resim: Bir İşlemin Yolculuğu
Tüm yaşam döngüsünü özetlemek gerekirse:
- Cüzdanınızdan bir transfer başlatırsınız.
- Cüzdanınız işlemi oluşturur, girdileri ve çıktıları (UTXO) seçer veya transfer tutarını belirtir (hesap modeli).
- Private key’iniz işlemi imzalar, böylece sizin yetkilendirdiğinizi kanıtlar.
- İmzalı işlem P2P ağa yayınlanır.
- Node’lar işlemi doğrular ve mempool’larına ekler.
- Bir madenci/doğrulayıcı işleminizi seçer ve aday bir bloğa dahil eder.
- Blok üretilir (proof of work veya proof of stake ile).
- Yeni blok ağ genelinde yayılır.
- Node’lar bloğu doğrular ve kabul eder, zinciri uzatır.
- İşleminiz onay kazanır; üzerine yeni bloklar eklendikçe onay sayısı artar.
Bu sürecin tamamı, oluşturulmadan ilk onaya kadar Bitcoin için yaklaşık 10 dakika, Ethereum için 12 saniye sürer; ancak işleminiz seçilmeden önce mempool’da ek süre bekleyebilir.
İşleminizin güvenliği anahtarlarınızla başlar. Kriptografik olarak güvenli bir BIP-39 seed phrase oluşturmak için SafeSeed Seed Phrase Generator kullanın. İşlem imzalamadan sahipliği kanıtlamaya kadar blockchain sürecindeki her adım, seed phrase’inizden türetilen private key’lerinizin güvenliğine bağlıdır.
İleri Düzey Kavramlar
Transaction Malleability
Bitcoin’in erken sürümlerinde, bir işlemi geçersiz kılmadan işlem kimliğini (txid) değiştirmek mümkündü; buna transaction malleability denir. Bu sorun, imza verisini işlem verisinden ayıran 2017 tarihli Segregated Witness (SegWit) yükseltmesiyle büyük ölçüde çözüldü; böylece txid imzadan sonra değiştirilemez hale geldi.
Replace-By-Fee (RBF)
Bitcoin, bir göndericinin onayı hızlandırmak için daha yüksek ücretle işlemi yeniden göndermesine izin veren Replace-By-Fee’yi destekler. Yeni işlem mempool’da orijinalin yerini alır. Bu, ağ yoğunken ve ilk ücretiniz çok düşük kaldığında faydalıdır. RBF destekleyen cüzdanlar işlemleri değiştirilebilir olarak işaretler ve daha yüksek ücretli sürüm öncelik kazanır.
Transaction Batching
Borsalar ve büyük göndericiler, genellikle birden fazla çıktıya sahip tek bir işlemde birden fazla ödemeyi batch eder. Bu, tek tek işlemler göndermekten daha alan verimlidir; toplam ücretleri ve blok alanı kullanımını azaltır.
SSS
Bir blockchain işlemi ne kadar sürer?
İşlem süresi blockchain’e göre değişir. Bitcoin’de ortalama her 10 dakikada bir blok üretilir, ancak işleminiz dahil edilmeden önce mempool’da bekleyebilir. Ethereum her 12 saniyede blok üretir. Lightning Network gibi Layer 2 çözümleri ödemeleri milisaniyeler içinde sonuçlandırabilir. Gönderimden ilk onaya kadar toplam süre ağ yoğunluğuna ve ödediğiniz ücrete bağlıdır.
Yanlış adrese gönderirsem ne olur?
Blockchain işlemleri geri döndürülemez. Kripto parayı yanlış adrese gönderirseniz, işlemi geri alabilecek merkezi bir otorite yoktur. Adres birine aitse o kişiyle doğrudan iletişime geçip fonları iade etmesini ummanız gerekir. Adres geçersizse veya kimseye ait değilse fonlar fiilen sonsuza kadar kaybolur. Göndermeden önce adresleri her zaman iki kez kontrol edin.
Bir blockchain işlemi başarısız olabilir mi?
Bitcoin’de doğru oluşturulup imzalanmış bir işlem eninde sonunda onaylanır (çok düşük ücretle uzun sürebilir). Ethereum’da ise akıllı sözleşme yürütmesi hata verirse veya gas biterse işlemler başarısız olabilir (revert). Her iki durumda da işlem ücreti yine harcanır. Bazı cüzdanlar, göndermeden önce işlemin başarılı olup olmayacağını tahmin etmek için işlem simülasyonu sunar.
İşlem hash’i (txid) nedir?
İşlem hash’i (txid veya transaction ID), her işleme atanan benzersiz tanımlayıcıdır. İşlem verisinin hash’lenmesiyle üretilir. Txid’yi bir block explorer üzerinde işleminizi takip etmek için kullanabilirsiniz (Bitcoin için mempool.space, Ethereum için etherscan.io gibi). Txid işlem oluşturulur oluşturulmaz atanır ve onaylandıktan sonra değişmez.
İşlem ücretleri neden dalgalanır?
İşlem ücretleri, blok alanı arzı ve talebine göre belirlenir. Çok sayıda kullanıcı aynı anda işlem yaptığında sınırlı blok alanı için daha yüksek ücret teklif ederek rekabet eder. Sakin dönemlerde ücretler düşer. Bitcoin blok alanı sabittir (her 10 dakikada blok başına 4 MB weight), bu yüzden yüksek talepte ücretler dramatik şekilde artabilir. Ethereum’un EIP-1559 modeli, ağ kullanımına göre algoritmik olarak ayarlanan daha öngörülebilir bir base fee sağlar.
Onaylanmış ve onaylanmamış işlem arasındaki fark nedir?
Onaylanmamış işlem mempool’da bulunur ancak henüz bir bloğa dahil edilmemiştir. Beklemededir ve teorik olarak değiştirilebilir veya düşebilir. Onaylanmış işlem bir bloğa dahil edilmiş ve blockchain’e eklenmiştir. Üzerine eklenen her yeni blokla onay sayısı artar ve işlemi geri çevirmek giderek zorlaşır.
Madenciler işlemi dahil etmemeyi seçebilir mi?
Evet. Madenciler ve doğrulayıcılar bloklarına hangi işlemleri dahil edeceklerini seçebilir. Belirli bir işlemi dahil etmek zorunda değillerdir. Ancak ekonomik teşvikler, mümkün olduğunca çok ücret ödeyen işlemi dahil etmeye güçlü şekilde yönlendirir. Pratikte yeterli ücretli herhangi bir geçerli işlem, birkaçının görmezden gelmesine rağmen sonunda bir madenci tarafından dahil edilir.