Aday Blok-Candidate Block
Aday blok(candidate block) bir madencinin, madencilik nodeunun blok ödülünü almak için mining yaptığı blok anlamına gelmektedir. Herhangi bir kripto para ağı üzerinde işlem yapıldığında, işlemin blok zincirine eklenmesi için doğrulanması gerekir. Miningciler işlemi doğrulamaktan sorumludur. Bir aday blok, ağ tarafından doğrulanacak veya daha sonra çöpe atılacak geçici bir blok olarak tanımlanabilir. Madenciler, bir sonraki bloğu doğrulamak ve blok zincirine eklemek için birbirleriyle rekabet ederler ancak madencilik yarışına katılmak için önce bir aday blok oluşturmaları gerekmektedir.
Aday bloklar, miner yani madenciler tarafından bellek havuzundan birden fazla onaylanmamış işlemin toplanması ve organize edilmesi ile oluşturulur. Madenciler, işlemi doğrulamak için tipik matematiksel mantığı çözer ve birçok madenci mantığı çözmek için kendi arasında rekabet eder. Mantığı ilk çözen madenciye ödül verilir. Daha sonra bu işlemler Merkle ağaç yapısını oluşturmak için hashlenmektedir. Bu ağaç yapısı daha sonra Merkle köküne dönüşecektir. Merkle kökü, o ağacın önceki tüm hashlerini ve dolayısıyla bu belirli bloğa dahil olan tüm işlemleri temsil eden tek bir hashdir.
Önceki bloğun hash’i ve nonce olarak adlandırılan rastgele bir sayı ile birlikte kök hash, daha sonra baş bloğa yerleştirilir. Blok başlığı daha sonra madenci tarafından hash edilir ve bu bileşenlere (kök hash, önceki bloğun hash'i ve nonce) ve diğer birkaç öğeye dayalı bir çıktı oluşturulur. Ortaya çıkan çıktı, blok hash’i dediğimiz şeydir ve yeni oluşturulan aday bloğun benzersiz bir tanımlayıcısı olarak görev yapacaktır.
Çıktının yani blok hashinin geçerli olarak kabul edilmesi için, protokol tarafından tanımlanan hedef değerden daha az olmak üzere belirli sayıda sıfırla başlaması gerekir. Bu da madencilerin en sonunda geçerli bir blok hashi üretebilmesi için deneme yanılma yöntemiyle ve birden fazla nonce değeriyle bir kaç kere hashing işlemi uygulamaları anlamına gelmektedir.
Node tarafından işlem yapıldığında, başlangıçta doğrulanmamış işlem olarak not edilir. Tüm bu doğrulanmamış işlemler ve bekleyen işlemler bellek havuzunda saklanır. Bu işlemler minerlar tarafından seçilir ve minerlar kendi aralarında işlemin mantığını çözmek için rekabet ederler. Çözebilen kişi işlemi, blok zincirine ekleyerek ödüllendirilir. Üretilen bu blok hashi, madencinin işini yaptığının kanıtıdır. Bu nedenle buna Proof of Work (PoW) adı verilir. Türkçe karşılığı ile “işin kanıtı” anlamına gelmektedir.
Bir madenci geçerli bir blok hashini bulduktan sonra madencinin aday bloğu ağ üzerinde bulunan diğer madencilerle veya nodelarla paylaşılır. Bunun sonucunda da hash’in doğruluğu kanıtlanmış olur. Eğer bir problem oluşmaz ise, aday blok daha sonra blok zincirine kaydedilecektir. Daha sonra ağ üzerinde ki her node yeni bir bloğun blok zincirine eklenmesiyle birlikte kendi blok zinciri kopyasını güncellemelidir.
Aday bloklar, miner yani madenciler tarafından bellek havuzundan birden fazla onaylanmamış işlemin toplanması ve organize edilmesi ile oluşturulur. Madenciler, işlemi doğrulamak için tipik matematiksel mantığı çözer ve birçok madenci mantığı çözmek için kendi arasında rekabet eder. Mantığı ilk çözen madenciye ödül verilir. Daha sonra bu işlemler Merkle ağaç yapısını oluşturmak için hashlenmektedir. Bu ağaç yapısı daha sonra Merkle köküne dönüşecektir. Merkle kökü, o ağacın önceki tüm hashlerini ve dolayısıyla bu belirli bloğa dahil olan tüm işlemleri temsil eden tek bir hashdir.
Önceki bloğun hash’i ve nonce olarak adlandırılan rastgele bir sayı ile birlikte kök hash, daha sonra baş bloğa yerleştirilir. Blok başlığı daha sonra madenci tarafından hash edilir ve bu bileşenlere (kök hash, önceki bloğun hash'i ve nonce) ve diğer birkaç öğeye dayalı bir çıktı oluşturulur. Ortaya çıkan çıktı, blok hash’i dediğimiz şeydir ve yeni oluşturulan aday bloğun benzersiz bir tanımlayıcısı olarak görev yapacaktır.
Çıktının yani blok hashinin geçerli olarak kabul edilmesi için, protokol tarafından tanımlanan hedef değerden daha az olmak üzere belirli sayıda sıfırla başlaması gerekir. Bu da madencilerin en sonunda geçerli bir blok hashi üretebilmesi için deneme yanılma yöntemiyle ve birden fazla nonce değeriyle bir kaç kere hashing işlemi uygulamaları anlamına gelmektedir.
Node tarafından işlem yapıldığında, başlangıçta doğrulanmamış işlem olarak not edilir. Tüm bu doğrulanmamış işlemler ve bekleyen işlemler bellek havuzunda saklanır. Bu işlemler minerlar tarafından seçilir ve minerlar kendi aralarında işlemin mantığını çözmek için rekabet ederler. Çözebilen kişi işlemi, blok zincirine ekleyerek ödüllendirilir. Üretilen bu blok hashi, madencinin işini yaptığının kanıtıdır. Bu nedenle buna Proof of Work (PoW) adı verilir. Türkçe karşılığı ile “işin kanıtı” anlamına gelmektedir.
Bir madenci geçerli bir blok hashini bulduktan sonra madencinin aday bloğu ağ üzerinde bulunan diğer madencilerle veya nodelarla paylaşılır. Bunun sonucunda da hash’in doğruluğu kanıtlanmış olur. Eğer bir problem oluşmaz ise, aday blok daha sonra blok zincirine kaydedilecektir. Daha sonra ağ üzerinde ki her node yeni bir bloğun blok zincirine eklenmesiyle birlikte kendi blok zinciri kopyasını güncellemelidir.
Hangi Blok Türleri Aday Blok Olarak İfade Edilir?
Blok zincirinde 10 blok olduğunu farz edelim. Yeni bir işlem geldiğinde, mevcut blok zincirine eklemeden önce madenciler tarafından doğrulanması gereken bu yeni işlem bellek havuzunda saklanır. Bu yeni işlem, minerlar tarafından doğrulanmadan blok zincirine eklenemez. Kalan doğrulanmamış işlemlerle birlikte bu 11. blok, miner tarafından oluşturularak aday blok adını alır. Aday blokta, bellek havuzundan doğrulanmamış işlem seçilir ve madenciler bu işlemi çözebilmek için kendi aralarında rekabet ederler. Çözdükten sonra bu işlem doğrulanmış işleme dönüşür ve blok zincirine eklenir. 12. olası bir blok artık aday blok olarak adlandırılacaktır ve aynı işlem yine devam edecektir.
Aday blok geçici bloktur, zamanla değişir. Bu nedenle aday blok, madencilerin blok zincirine eklemeye çalıştığı blok olarak adlandırılır. Hiçbir blok kalıcı bir şekilde aday blok olarak değerlendirilemez. Madenciler, aday blok oluşturabilse de aynı madencinin bloğu doğrulama yeteneğine sahip olduğunun garantisi yoktur. Herhangi bir madenci bu bloğu doğrulayabilir.
Aday blok geçici bloktur, zamanla değişir. Bu nedenle aday blok, madencilerin blok zincirine eklemeye çalıştığı blok olarak adlandırılır. Hiçbir blok kalıcı bir şekilde aday blok olarak değerlendirilemez. Madenciler, aday blok oluşturabilse de aynı madencinin bloğu doğrulama yeteneğine sahip olduğunun garantisi yoktur. Herhangi bir madenci bu bloğu doğrulayabilir.