Bir blok zinciri, o blok zincirinde gerçekleşecek tüm işlemlerin halka açık, dağıtılmış bir defteridir. Bitcoin blockchain ile eş anlamlı gibi görünse de blockchain teknolojisi sadece Bitcoin değildir. Bitcoin, teknolojinin en büyük ve en iyi bilinen uygulamasıdır, ancak diğer büyük açık kaynak uygulamalarından bazıları şunlardır: Ethereum ve Litecoin.
Çok basit olarak, blok zinciri milyonlarca bilgisayarda çalışan bir yazılımdır. Bu bilgisayarlar (veya düğümler), verilerin senkronize kalmasını sağlamak için birbirleriyle iletişim kurar..
Ama nasıl çalışıyor ve neden icat edildi??
Çifte Harcama Problemi
Bir banka gibi bir finansal işlemde merkezi, güvenilir bir otoritenin birincil sorumluluklarından biri, “” olarak bilinen şeyi önlemektir.çifte harcama” sorun. Bankalar, paranın dijital olarak iki kez harcanmamasını sağlamak için güvenilir aracılar olarak hareket eder. Bankalar, bu para alışverişinin belirli bir süre içinde gerçekleşmesini sağlar. işlem.
Bir işlem, tanımı gereği, atomiktir, yani olur ya da olmaz, arada bir durum yoktur. İşlemler de sıralıdır. Bu, bir işlemin her zaman başka bir işlemi takip ettiği ve/veya ondan önce geldiği anlamına gelir. İşlemler aynı anda gerçekleşmez.
Örnek olarak, diyelim ki Hannah’nın 10$’ı var ve Alice’e 3$ ve Liam’a 5$ ödemesi gerekiyor. Bu işlemlerin mantıklı ve başarılı bir şekilde sona ermesi, Hannah’nın 2 ABD Doları, Alice’in 3 ABD Doları ve Liam’ın 5 ABD Doları almasıyla sonuçlanacaktır. Hannah aynı parayı hem Alice’e hem de Liam’a aynı anda gönderemez. Bunu yaparsa, Hannah 5 doları, Alice 3 dolarını ve Liam 5 dolarını alacaktı. Hannah sihirli bir şekilde fazladan 3 dolar kazanmış olurdu. Parasını iki kez harcardı.
Bu işlemlerin her birinin kayıtlarını tutan bir banka gibi güvenilir, merkezi bir otorite olmadan, finansal sistem hızla dağılırdı..
Bu nedenle, merkezi olmayan bir defter ve dijital para birimi fikri 1990’lardan beri var olmasına rağmen, çifte harcama sorunu pratik uygulaması için büyük bir engeldi..
Bitcoin/Blockchain Bunu Nasıl Çözer?
2009 yılında, henüz kimliği belirlenemeyen bir kişi olan Satoshi Nakamoto, bir Beyaz kağıt çifte harcama problemini hakemlik yapan merkezi bir kurum olmadan dijital kriptografi, oyun teorisi ve bilgisayar bilimi yoluyla çözdüğünü iddia ettiği davada.
Nick Szabo tanıttı Bitgold Bitcoin, Bitgold’a o kadar benziyor ve o kadar çok kavramını paylaşıyor ki, bazı insanlar Szabo’nun Satoshi Nakamoto olduğundan şüpheleniyor..
Açık Anahtar Kriptografisi
Blok zinciri teknolojisinin nasıl çalıştığını anlamak için açık anahtarlı kriptografiyi anlamak gerekir. Bu konunun tüm teknik ayrıntıları bu makalenin kapsamı dışındadır. Daha fazla detay mevcuttur Burada.
Çok yüksek düzeyde, açık anahtar şifrelemesi iki anahtara dayanır: bir genel anahtar ve bir özel anahtar. Bu iki anahtar birbirine bağlıdır ancak aşağıdaki gibi ayrılmıştır:
- Yalnızca ortak anahtar, ilgili özel anahtar tarafından şifrelenen verilerin şifresini çözebilir.
- Genel anahtar, karşılık gelen özel anahtar tarafından imzalanan verileri doğrulayabilir
Açık anahtar başkalarıyla güvenli bir şekilde paylaşılabilir, dolayısıyla “genel”dir. Özel anahtar güvenlik nedeniyle gizli tutulmalıdır. Genel anahtar, özel anahtardan türetilebilir, ancak tersi olamaz..
Örnek olarak, Bob’un Alice’e gizli bir mesaj iletmek istediğini varsayalım. Bob’un, Alice’e göndermeden önce mesajı şifrelemek için Alice’in açık anahtarını bilmesi gerekecek. Açık anahtar bir sır olmadığından, Alice onu Bob’a göndermekte özgürdür. Alice şifreli mesajı aldığında, özel anahtarını kullanarak şifresini çözebilir. Ortada bulunan ve mesajı yakalayan hiç kimse, Alice’in özel anahtarı olmadan mesajın şifresini çözemez..
Başvuru için, bir ortak anahtar şöyle görünür:
305C300D06092A864886F70D01010105 00034B003048024100A251C92CCA3E7B 6599146DDB10044807B3AA1EFA8BE627 4D329765E0CC5A0EA03CA8F010524A89 2484A7C96498660A20DBD3CB3AA3E72
Şifreli bir mesaj şöyle görünebilir:
—–PGP MESAJ —– hIwCMavvb4t6z90BA / 42UOAdWvnzfhRG2xXyYe203CISLsn2O39vM / y640hNbSl7 U29aNGZFfLMRGn7eLZG43SWwBz4cHjphG6iAzeLftRgHkLggxXA9VpGki5PyNID9 B0rk4TpRVE3qzgTbdio69aMlK6BdAQ4zWkyxSCi0oR3Vpnh + VVZyOVyaX8etlYRM AvUTsuDYCkr1AQH + OlA4ntqhxoPP / SJpKm5ugMLYiiij8ak8V90a8IYMkYB0CzMr liOJ6ZZxQm1x8orgjL / 6Bm5EoSvN4eCCeA / xXKYAAAHXLhG47kVhJkjlPrI / U / sr 2aQEm6r + aU1s0ziU1LxF2c5DAW6cD5b4xH + EbvYrnQQJClNMh9y03SjviXvnqFDC O4M70u3iLC50 + em4PouqM1DZdoW8O5pb = vhFx —– END PGP MESAJ BEGIN—–
Hash Fonksiyonları – SHA-256
Şifreleme, iki taraf arasındaki mesajların güvenli ve güvenilir olmasını sağlar. Bununla birlikte, alıcının, aldığı mesajın tahrif edilmediğini de doğrulaması gerekir. Bunu yapmak için iletilen her mesaj, hash değeri kullanılarak dijital olarak imzalanır..
Karma, bir mesajın dijital imzası gibidir. olarak bilinen çok sayıda algoritma hash fonksiyonları, gibi bir karma oluşturmak için geliştirilmiştir. MD5 ve SHA-1, ama şimdi en yaygın kullanılanı denir SHA-256. Karma ayrıntıları ve çeşitli karma işlevlerde yer alan matematik, blok zincirinin anlaşılması için gereksizdir..
Karma işlevi tek yönlü bir işlevdir. Bu, aynı işlevi kullanırken bir mesajın karma değerinin her zaman aynı olduğu anlamına gelir. Ancak, mesajın şifresi karmadan çözülemez..
SHA-256 her zaman 256 bitlik bir karma değer üretir. Örneğin:
[tablo kimliği=1 /]
Gördüğünüz gibi, verilerde yapılan tek bir değişiklik (bu durumda büyük harf L) hash değerini tamamen değiştirir..
Karma işlevine veri girişi, tek bir kelime kadar basit olabilir veya sözlüğün tamamı olabilir ve her zaman yukarıdakilere benzer 256 bitlik bir özet değeri üretecektir..
Zincirler Nelerdir?
Yukarıda bahsedildiği gibi, herhangi bir veri kümesi, karşılık gelen hash’ini oluşturmak için bir hash fonksiyonundan geçirilebilir. Bir blok zincirinde bu veri kümesi, üzerinde gerçekleşen işlemlerdir. Bir blok zincirindeki her işlem, şu anda SHA-256 işlevini kullanan karması kullanılarak dijital olarak imzalanır. Sonraki tüm işlemler, önceki işleminin dijital imzasını içerecektir. Bu, bir Zincir Zincirdeki herhangi bir işlemi değiştirecek olursa, sonraki tüm işlemlerin karma değerini değiştirecek şekilde işlem sayısı. Bu, yalnızca karma değerleri karşılaştırarak önceki bir işlemin değiştirildiği herhangi bir zinciri tanımlamayı kolaylaştırır..
Örnek: Bob’un Alice’e 10$ ve Charlie’ye 5$ daha aktarması gerektiğini varsayalım. İşlemler atomik olduğundan, Bob’un Alice’e 10 dolarlık transferi önce gerçekleşecek. Bu işlem, SHA-256 karması kullanılarak dijital olarak imzalanacaktır. Bob’un Charlie’ye 5 doları transfer ettiği bir sonraki işlem de dijital olarak imzalanacak, ancak bu sefer önceki işlemin karmasını da içerecek..
[tablo kimliği=2 /]
Tabii ki, bir blok zincirindeki işlemler böyle görünmeyecek, ancak bu onun genel bir temsilini veriyor..
Madencilik Nedir?
Daha önce de belirtildiği gibi, blok zinciri, verilerin senkronize olmasını sağlamak için birbirleriyle iletişim kuran aynı yazılımı çalıştıran bir düğüm ağıdır. Bunlardan bazıları madenciler olarak adlandırılan özel düğümlerdir..
Madencilerin amacı, blok zincirinde yapılan işlemleri doğrulamaktır. Bir dizi işlem zinciri doğrulandığında, bunlar bir araya getirilerek bir engellemek işlemlerin.
İşlemleri doğru ve dürüst bir şekilde doğrulamanın bir ödülü olarak madencilere ilgili blok zincirinin kripto para birimi verilir. Örneğin, Bitcoin blok zincirindeki madenciler Bitcoin ile ödüllendirilecek. Bu miktar sabittir ancak zaman zaman değişebilir..
Madenciler işlerini göstermeli işin kanıtı ödüllerini kazanmak için. NS İş Gerçekleştirilecek olan, esasen, işlem zincirinin karma değeri ile karma değeri oluşturulduğunda, belirli sayıda baştaki sıfır ile başka bir karma değeri üreten 32 bitlik bir alan bulmaktır. Bu alana nonce denir. Oluşturulacak baştaki sıfırların sayısı, belirli sayıda blok çıkarıldıktan sonra değişen zorluk tarafından belirlenir. Baştaki sıfır sayısı ne kadar fazlaysa, nonce’yi bulmak o kadar zorlaşır..
Örnek olarak, Bitcoin bloğunun nonce’si #493257 olduğu bulundu 1488602745 bu bloktaki işlemlerle hash edildiğinde, blok için hash üretti. 000000000000000000034bd56aea0c6db865e8dff1fe5d2023170b568ad5e0968. Lütfen bloğun karma değerindeki baştaki sıfırları not edin.
Bir formül kullanarak bir nonce türetmek son derece olanaksızdır. Nonce’yi bulmanın tek yolu tahmin yürütmektir. Bu, madencilerin, baştaki sıfırların gereksinimlerini karşılayana esasen tökezlemeden önce, potansiyel olarak çok sayıda 32 bitlik değeri çalıştırmak için kendi bilgi işlem güçlerini harcamaları gerektiği anlamına gelir. Nonce’yi bulmuş olmaları, onu bulmak için bu işi yaptıklarını kanıtlıyor..
Blockchain’i Bir Araya Getirmek
Açık anahtarlı şifreleme, iki hesap arasındaki işlemlerin güvenli olmasını sağlar.
Hash işlevleri, işlemlerin geçerli, atomik ve değiştirilmesinin neredeyse imkansız olmasını sağlar.
İş kanıtı yoluyla madencilik, işlemlerin üçüncü bir tarafça onaylanmasını ve doğrulanmasını sağlar.
Birlikte çalışan tüm bu yöntemler, dağıtılmış defteri ve dolayısıyla dijital para birimi gibi bir uygulamayı blok zincirinde mümkün kılar..