Java ile Block Zinciri (BlockChain) Yazıyoruz

Blockchain, şifrelenmiş ve birbirine eklenmiş işlem takibi sağlayan dağıtık bir veri tabanıdır. Her bir bilginin bloklar halinde, gelişmiş şifreleme algoritmalarıyla, birbirine bağlanarak kaydedildiği bu dağıtık veri tabanı, bizlere bir merkeze bağlı olmaksızın işlem yapabilme imkânı sağlıyor.

Blok ise bu sistemin en küçük birimi diyebiliriz. Bloklar oluşturuldukları sırayı hiç bozmadan dizilirler. Bir blok’un yapısını ya da sırasını değiştirmek mümkün değildir. Çünkü ortak köke bağlı oldukları için değiştirildiklerinde hata vermektedir, geçerliliğini kaybetmektedir.

Aşağıdaki şekilde blokların dizilimi gösterilmektedir.

Blok zincir sisteminde bloklar arasındaki bağlantı bir önceki blok’un hash değerini tutarak sağlanmaktadır.

 

Örneğimizde her  blokun içinde hash, previousHash, data, timeStamp, nonce değimiz alanlar bulunur.

Ayrıca transaction dediğimiz son derece küçük Bitcoin miktarları içeren transfer işlem kayıtları bulunur.

Örnek Proje Yapısı:

Hash değerlerini üretmek için SHA256Util sınıfını oluşturuyoruz:

Programın çıktısını görmek için Main sınıfını aşağıdaki şekilde tanımlayalım:

Programın çıktısı aşağıdaki gibi olacaktır:

 

 

 

Yorum Gönder

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir