Proof of Work (PoW) Bitkoyun Madenciliği

  • Konuyu başlatan Konuyu başlatan nt
  • Başlama tarihi Başlama tarihi

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,221
Bitkoyun madenciliği, bir tür dijital işlemlerle ilgilenme ve yeni Bitkoyun kazanma sürecidir.

Madenciler,ağında gerçekleşen işlemleri toplar ve bu işlemleri bir blok adı verilen veri yapıları içinde düzenlerler.
Ardından, bu bloğu diğer madencilere karşı bir matematiksel problemi çözerek kanıtlarlar.

Proof of Work (PoW) genellikle kripto para birimleri ve blok zincir teknolojilerinde kullanılan bir konsensüs mekanizmasıdır. Bu mekanizma, matematiksel olarak zor bir problemin çözülmesini gerektirir ve bu çözümün bir kanıtını sunmak için madencilik yapılır.

İşte basit bir PoW örneği Python kodu:
Kod:
import hashlib

def proof_of_work(veri, zorluk_seviyesi):
    nonce = 0
    while True:
        kombinasyon = f'{veri}{nonce}'.encode('utf-8')
        hash_degeri = hashlib.sha256(kombinasyon).hexdigest()
        if hash_degeri.startswith('0' * zorluk_seviyesi):
            return nonce, hash_degeri
        nonce += 1

if __name__ == "__main__":
    veri = "Proof of Work örneği. mekatronik.org/forum"
    zorluk_seviyesi = 4
    nonce, hash_degeri = proof_of_work(veri, zorluk_seviyesi)
    print(f"Nonce: {nonce}")
    print(f"Hash Değeri: {hash_degeri}")

Çalıştırdığınızda
Kod:
Nonce: 1783
Hash Değeri: 0000c3b112b5db59ce55b2da03d0c3e09a65392f84c0a4d82f86c5931b988038

belirli bir zorluk seviyesine (başında 4 sıfır) ulaşan bir Proof of Work çözümü bulmaya çalışan bir madenci simüle edilmektedir. nonce değeri ve hash_degeri çıktı olarak gösterilir. nonce değeri, matematiksel problemin çözümü için kullanılan bir parametredir, ve hash_degeri ise çözümün SHA-256 hash değerini temsil eder. Bu örnekte, başında 4 sıfır olan bir hash değeri bulunmuştur.


Pratikte, sırası ile aşağıdaki adımlar takip edilir:

Yukarıdaki örnekte, nonce ve hash_degeri değerlerini elde ettik. Bu değerler, yeni bir bloğun içindeki bir alan olan "Nonce" olarak eklenir.


Blok içine, geçerli bir işlem seti eklenir. Bu işlemler, ağdaki diğer kullanıcıların yaptığı Bitkoyun işlemlerini içerir.


Blok içindeki işlemlerden bir Merkle Tree oluşturulur ve bu ağacın kökü, "Merkle Root" olarak adlandırılır.


Blokun oluşturulma zamanı, bir zaman damgası ile işaretlenir.


Blok zincirinin devamlılığını sağlamak için önceki bloğun hash değeri eklenir.


Tüm bu bilgileri içeren bloğu, Proof of Work çözümü ile birleştirip, bloğun hash değerini oluşturarak bloğu imzalar.


Blok, ağına yayınlanır ve diğer düğümler tarafından doğrulanır.


Madenci, yeni oluşturulan blok için ödül olarak belirli bir miktarda yeni Bitkoyun ve işlem ücretlerini alır.​

Cüzdan:
Kod:
import os
import hashlib
import binascii

def generate_key_pair():
    private_key = os.urandom(32)
    private_key_hex = binascii.hexlify(private_key).decode('utf-8')
    public_key = hashlib.sha256(private_key).hexdigest()
    return private_key_hex, public_key

if __name__ == "__main__":
    private_key, public_key = generate_key_pair()
    print("Yeni Cüzdan Oluşturuldu:")
    print(f"Özel Anahtar: {private_key}")
    print(f"Genel Anahtar: {public_key}")


Gerçek bir blok zinciri uygulaması değildir
 
Son düzenleme:

Çevrimiçi personel

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,909
Mesajlar
130,771
Üyeler
3,169
Son üye
StarLord

Son kaynaklar

Son profil mesajları

Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
az bilgili çok meraklı
Back
Top