4 Ocak 2017 Çarşamba

Madencilik Nedir Hash Ne Demektir?

Bitcoin Madenciliği nasıl yapılır?

Bitcoinler, sanal bir para birimi olduğu için geçerliliği her dakika artan yerlerde para transferi için kullanılmaktadır. Bu ödeme ve transferler tümü bir şekilde kayıt altında alınmalı, kimin ne ödediği ile ilgili işlemler takip edilmeli ki ortaya bir kaos ve kopyalanmış Bitcoinler çıkmasın. Bitcoin ağı, belli bir zaman dilimi içerisinde gerçekleşmiş tüm bu işlemleri bir kayıt altında alarak bir liste oluşturur ve bu listeye “blok” adını verir. Bitcoin madencilerinin işi, bilgisayarlarının cpu ve ekran kartlarıyla yarattıkları işlem gücü ile bu işlemleri onaylamak ve bunları “blok” ismi verilen kayıtlar halinde tutmaktır.

“Hash” kelimesi ne anlama gelir?

Bitcoin madencileri tarafından onaylanan ve bloklar halinde oluşturulan kayıtların tümünün oluşturduğu listeye “block chain”(blok zinciri) adı verilir. Blok zinciri üzerinden hangi Bitcoin adresinden ne kadarlık işlem yapıldığı görülebilir. Bir periyodik zamanda (yaklaşık 10 dakikalık zaman dilimi) yapılan işlemlerin oluşturduğu yeni bir blok, blockchain e eklendiğinde; Bitcoin ağında gerçekleşen işlemlerin çok uzun bir listesi yaratılmış olur. Blok zincirine eklenen bu listenin kopyası, Bitcoin ağındaki herkese dağıtılır ve herkesin işlemlerden haberdar olması sağlanır.
Fakat Blok zinciri adı verilen bu muhasebe defteri güvenilir olmalı ve hiçbir güç tarafından tahrif edilmemelidir. Bu noktada Blok zincirinin güvenilirliğini sağlamak üzere madenciler devreye girer.
İşlemlerin yer aldığı yeni bir blok yaratıldığında, madenciler bu bloktaki bilgileri işlemden geçirirler. Bu bilgiler üzerinde uygulanan matematiksel formüller ile blok içerisindeki işlemlerin yer aldığı uzun listenin rakamlar ile oluşturulan bir özeti çıkarılır. Buna “hash” adı verilir. Hash adı verilen bu özetler, yeni eklenen blok ile birlikte blok zincirinin sonuna eklenir. Özetler, yapılan işlemlerin yer aldığı uzun listedeki bilgilerin kaybolmadan küçültülmesini sağlar.
Hash adı verilen bu özetlerin sunduğu ilginç bir özellik ise: Bitcoin blokları gibi bir veri havuzunun özetini çıkarmak basit olduğu halde, bu özet içerisinden asıl verilere göz atmak pratik olarak neredeyse imkansızdır. Bitcoin bloklarındaki verilerden hash elde etmek basit bir işlem olsa dahi, üretilen her “hash” benzersizdir. Eğer bu Bitcoin bloğu içerisinden herhangi bir karakteri bile değiştirirseniz, tüm özet değişecektir.
Madenciler “hash” yaratmak için sadece blokta yer alan işlemlerden faydalanmazlar. Madencilerin bloktaki işlemler haricinde kullandığı diğer bir veri ise, blokların sonuna eklenen “hash”lerdir.
Çünkü her bloğun özeti(hash), bir önceki bloğun özeti kullanılarak üretilir. Bu sayede her blok, bir önceki bloktan bilgi içerir ve bu sayede yeni eklenen bloğun bir önceki blok ile ilişkide olduğu anlaşılır. Eğer biri bu bloklardaki işlemleri değiştirmek isterse, sistem sayesinde herkes bundan haberdar olur.
Eğer birisi, blok zincirinde yer alan bir bloğu değiştirerek sahte bir işlem gerçekleştirmek isterse; bu o bloğun özetinin de değişmesine neden olur. Her blok bir önceki bloktan bilgi içerdiği için de bu değişiklik bütün zinciri etkiler. Blok zincirine göz atan biri, bu değişikliği farkettiği anda, sahte blok belirlenir.

Coin için rekabet

Şu ana kadar madencilerin blokları nasıl oluşturduğunu öğrendik. Madenciler, bu blokları oluşturmak için, bu iş için geliştirilmiş yazılımcıları kullanarak birbirleri ile rekabet etmektedirler. Ne zaman ki biri, bloğun özetini çıkarma işlemini bitirirse, 12.5 Bitcoin’lik ödülle ödüllendirilir. 2009 yılında ödül 50 BTC idi. Yaklaşık 4 yılda bir ödül yarılanıyorken Bitcoin çıkarma işlemi zorlaşıyor. Blok zinciri güncellenir ve tüm ağdaki kişiler bundan haberdar olur.
Bu ödüllendirme, madencileri teşvik etmek ve işlemlerin gerçekleşmesi için oluşturulmuş bir sistemdir.
Daha önce bloktaki işlemlerin özetini çıkarmanın basit bir işlem olduğunu belirtmiştik. Bilgisayarlar bu konuda gerçekten iyi iş çıkarıyorlar. Fakat eğer özet çıkarma işlemi sürekli aynı basitlikte olsaydı, bütün Bitcoinler kısa bir süre içinde üretilirdi. Bu yüzden Bitcoin ağı bunu zorlaştırmak zorunda. Bitcoin protokolü, bu zorlaştırma işlemini “proof of work” adı verilen sistemi ile gerçekleştiriyor.
Bitcoin protokolü, oluşturulan özetler için kesin bir görünüm talep eder: buna göre özetlerin başında belirli sayıda sıfır bulunmak zorundadır. Bu özetlerin nasıl gözükeceğini önceden tahmin etmek için herhangi bir yol yoktur. Bu özetlerin nasıl gözüktüğü ancak üretildiklerinde anlaşılır ve yeni bir veri ile birlikte bütün özet değişim gösterir.
Madenciler, uygun formattaki özeti üretmek için sürekli yeni özetler üretirler ve bu esnada “nonce” adı verilen bir sayıyı kullanırlar. Her uygun olmayan özet için nonce değeri de değişir. İşte madenciler, Bitcoin ödülüne sahip olmak için bu işlemleri gerçekleştirerek birbirleri ile yarışırlar.

Hiç yorum yok:

Yorum Gönder