Sadece kripto para ekosisteminin değil, tüm finans dünyasının da gündemini uzun zamandır meşgul eden Bitcoin blok ödül yarılanması (halving) kodunun nasıl çalıştığını, Andreas Antonopoulos'un yardımıyla açıklıyoruz.

Yakın tarihli bir videoda Antonopoulos, Bitcoin (BTC) blok ödül yarılanmasını gerçekleştiren Bitcoin Core kodunu ayrıntılı olarak paylaştı.

Bitcoin halving code

Bitcoin blok ödül yarılanması (halving) kodu. Kaynak: Bitcoin Core Yazılımı.

Satır satır Bitcoin halving kodu…

Bitcoin bloku onaylanırken veya yeni bir blok oluşturulurken “GetBlockSubsidy” isimli işlev çalışıyor. Bu kod parçasının amacı, blok ödülünün uygun büyüklüğünü hesaplamak. 

1240 numaralı satırda, halving döngüsü kontrol edilmek amacıyla, mevcut blok yüksekliği 210.000’e bölünüyor ve sonucun tam sayı olup olmadığı kontrol ediliyor.

Bu yazı hazırlanırken blok yüksekliği 629.453 seviyesindeydi. Bu sayıyı 210.000'e böldüğümüzde 2,9974 sayısını elde ettik. Kod, bu sayının virgülden sonraki kısmını siliyor ve henüz ikinci yarılanma sürecinde olduğumuzu anlıyor.

Bu nedenle bir sonraki yarılanma işleminin 630.000 numaralı bloktan itibaren gerçeklemesi sağlanıyor.

Satoshi’nin kodu düzeltildi

1242 ve 1243 satırlar, Satoshi'nin orijinal kodda gözden kaçırdığı bir hatayı düzeltiyor. Bu satırlar eklenmeden önce, maksimum yarılanma sayısı olan 64’e ulaşıldıktan sonra da yarılanma kodu çalışacaktı.

1242 ve 1243 numaralı satırlarda kısaca, “eğer yarılanma sayısı 64’e eşit ve fazlaysa değeri 0 (sıfır) olarak döndür” açıklaması eklendi.

1245 numaralı satırda orijinal blok ödül sabiti olan 50 sayısı, COIN adı verilen sabit ile çarpılıyor. Bu sabit, 100.000.000 Satoshi’ye eşit. İlginç bir şekilde Bitcoin kodunda Bitcoin ifadesi yer almıyor, birim olarak sadece Satoshi kullanılıyor.

1247 numaralı satırda ise mevcut blok yüksekliği için uygun blok ödülü hesaplanıyor. Burada normal matematik işlemlerinden daha verimli çalışan “bit” hesabı tercih edilmiş. Hesaplanan blok ödülü, mevcut blok ödülüne göre düzenleniyor.

An itibarıyla kod, şu matematiksel işlemi yapıyor:

50 x 100.000.000 / 22 = 1.250.000.000 Satoshi veya 12,5 BTC

Son olarak, 1248 numaralı satırda, bu fonksiyonun çalıştırıldığı kod satırına uygun blok ödül verisi döndürüyor.

12 Mayıs tarihinde üçüncü Bitcoin blok ödül yarılanma (halving) işlemi gerçekleştikten sonra kod şu işlemi yapacak:

50 x 100.000.000 / 23 = 625.000.000 Satoshi veya 6,25 BTC

Bitcoin halving işlemi yaklaşık 4 gün sonra, bir başka ifade ile veya 557 blok sonra gerçekleşecek ve hepimiz rahat bir nefes alacağız. Tabii Bitcoin kodunun güzelliğini takdir etmeyi de unutmadan…