SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

SHA256 ve Madencilik Bitcoin Ağını Nasıl Korur?

Bitcoin enerji tarafından nasıl savunulur? Ve bir nonce nedir? Bu sorular ve daha fazlası içeride!

Madenciliğin nasıl çalıştığı büyüleyici. İnsanlara bunu açıkladığımda, akılları uçtuğu anda yüzlerini görmekten keyif alıyorum. Bunu burada açıklayacağım, ama bilin ki, aklınız uçarken tüm yüzlerinizi hayal ediyorum!

Hash fonksiyonlarıyla başlamam gerekiyor. Hash fonksiyonları olmadan Bitcoin mümkün olmazdı. Öncelikle bunların ne olduğunu açıklamama izin verin, yalnızca partilerde havalı görünebilmeniz için değil, aynı zamanda kaputun altında Bitcoin'in nasıl çalıştığını - özellikle madencilik ve aynı zamanda işlemler - anlamak için temel olduğu için.

Tıpkı interneti kullanmak için TCP/IP'nin nasıl çalıştığını anlamanıza gerek olmadığı gibi, Bitcoin'den faydalanmak için nasıl çalıştığını anlamanıza gerek yok. Ama devam edin, çünkü oldukça ilginç ve anlamayı kolaylaştıracağım, söz veriyorum.

Hash Fonksiyonları

Aşağıda açıklayacağım bir şematik ile başlayalım…

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.
(Grafik/@jirols_btc)

Solda girdi, merkez fonksiyon ve sağda çıktı. Giriş, dijital olduğu sürece herhangi bir veri olabilir. Bilgisayarınızın kaldırabilmesi koşuluyla, herhangi bir boyutta olabilir. Veriler SHA256 işlevine iletilir. İşlev verileri alır ve rastgele görünen bir sayı hesaplar, ancak özel özelliklere sahiptir (daha sonra tartışılacaktır).

İlk Güvenli Karma Algoritması (SHA) başlangıçta NSA tarafından geliştirilen ve artık birçok farklı versiyon var (Bitcoin SHA256 kullanıyor). Bu, verilerin çok karmaşık ama belirli bir şekilde nasıl karıştırılacağına ilişkin bir dizi talimattır. Talimatlar bir sır değildir ve bunu elle yapmak bile mümkündür, ancak çok sıkıcıdır.

SHA256 için çıktı 256 bitlik bir sayıdır (tesadüf değil).

256 bitlik bir sayı, 256 basamak uzunluğunda ikili bir sayı anlamına gelir. İkili, değerin 0 veya 1 olmak üzere iki sembolle temsil edildiği anlamına gelir. İkili sayılar, aşina olduğumuz ondalık sayılar gibi herhangi bir başka biçime dönüştürülebilir.

İşlev 256 basamaklı bir ikili sayı döndürse de, değer genellikle 64 basamak uzunluğunda onaltılık biçimde ifade edilir.

Onaltılık, ondalık (10 - 0) ile alıştığımız gibi 9 olası sembol yerine, 16 sembolümüz olduğu anlamına gelir (Alışık olduğumuz on, 0-9, artı a, b, c, d, e harfleri, ve f; bunlar 11 ila 15 değerlerine sahiptir). Örnek olarak, ondalık 15'in değerini onaltılı olarak göstermek için sadece “f” yazıyoruz ve aynı değer. Daha fazla ayrıntıya ihtiyacınız varsa, hızlı bir Google aramasıyla çevrimiçi olarak pek çok bilgi bulabilirsiniz.

SHA256'yı çalışırken göstermek için 1 sayısını alıp bir çevrimiçi karma hesaplayıcı, ve bu çıktıyı aldım (onaltılık olarak):

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

En üstteki kutu girdi, alttaki kutu ise sonuçtaki çıktıdır.

Girdinin aynı olması ve SHA256 işlevinin kullanılması koşuluyla, dünyadaki tüm bilgisayarların aynı çıktıyı üreteceğini unutmayın.

Onaltılık sayı çıktısı, ondalık sayıya dönüştürülürse şöyledir (yazmanın daha fazla basamak gerektirdiğine dikkat edin):

48,635,463,943,209,834,798,109,814,161,294,753,926,839,975,257,569,795,305,637,098,542,720,658,922,315

Ve ikiliye dönüştürülür:

11010111000011010110010011100111111111100110100111111001110000110011101011010111000000001001110111111110101101000111111010101110100011110101101101001001110101010100010001011110001110101001001110000000001111001010010110111011011011110000111010110110100101111010111001101011100110101110011010111001101011100110101110011010111001101011100111

Sadece ilgi dışında, işte aynı değer 64 tabanı.

1w1k5/5p+cM61wCd/rR+ro9bSdVEXjqTgDylu28OtpY=

SHA256'nın döndürebileceği mümkün olan en küçük değerin sıfır olduğuna, ancak LENGTH'nin hala 256 bit olduğuna dikkat edin. Sıfır şu şekilde temsil edilir:

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Ve mümkün olan en büyük değer:

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

Ondalık olarak, bu:

115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,935

Onaltılık olarak:

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Tam olarak 64 F olduğunu unutmayın.

Onaltılık olarak sıfır, tek bir sıfır olarak yazılabilir, ancak karma çıktı için, sabit boyutlu çıktı gereksinimini korumak için bunlardan 64 tanesidir:

0000000000000000000000000000000000000000000000000000000000000000

Takdir edilmesi hayati önem taşıyan hash işleviyle ilgili bazı gerçeklerin bir özetini burada bulabilirsiniz:

  • Girdi çıktıdan belirlenemez
  • Giriş herhangi bir uzunlukta olabilir
  • Çıktı her zaman aynı uzunluktadır
  • Aynı girişi sağlarsanız, çıktı her zaman aynı şekilde yeniden üretilecektir.
  • Girdideki herhangi bir değişiklik, ne kadar küçük olursa olsun, öngörülemeyen ve çılgınca farklı bir çıktıya neden olacaktır.
  • Çıktı görünüşte rastgeledir, ancak aslında deterministiktir (hesaplanmış ve tekrarlanabilir olduğu anlamına gelir)
  • Çıktı tahmin edilemez. Sadece hesaplanabilir ve bu, bir bilgisayar tarafından ölçülebilir miktarda iş gerektirir (ve kalem ve kağıtla saatlerce! Yapmayın.)

Artık bir karmanın ne olduğuna dair temel kavramı anladığınıza göre, Bitcoin madenciliğinin nasıl çalıştığının açıklamasını da anlayabilirsiniz.

Ancak devam etmeden önce, çevrimiçi bir hash hesaplayıcıya gitmenizi ve onunla biraz oynamanızı ve hash fonksiyonları hakkında söylediklerimi kendiniz test etmenizi öneririm. Bunu beğendim.

Madencilik

Bitcoin'deki “proof-of-work”ün geldiği yer olan bir çalışma konsepti göstererek başlayacağım.

Çevrimiçi karma hesaplayıcıya gidin ve "50 bitcoin oluşturuyorum ve kendime bu tutarı ödüyorum" yazın.

Nokta dahil, büyük/küçük harfe duyarlı olarak tam olarak yazın. Bu çıktıyı almalısınız:

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Şimdi bu ödeme mesajının geçerli olması için hash'in bir sıfır ile başlaması gerektiğini söyleyen bir kural oluşturalım. Bunu yapmak için girişi bir şekilde değiştirmeliyiz. Ancak, öğrendiğiniz gibi, belirli bir girdi için çıktının ne olacağı tahmin edilemez. Sıfırla başlayan bir hash sağlamak için ne gibi değişiklikler yapabiliriz?

Deneme yanılma yöntemini kullanarak veri eklemeliyiz. Ancak giriş mesajının anlamını da değiştirmek istemiyoruz. O halde "nonce" adı verilen ve anlamsız bir değer tutacak bir alan (tahsis edilmiş bir bölüm) oluşturalım.

“Nonce” kelimesinin “sadece bir kez kullanılan sayıdan” türetilmesi gerekiyor ama ben göremiyorum.

Fazladan bir alan başlığı olarak yalnızca “Nonce:” eklemenin hash çıktısını nasıl değiştirdiğine aşağıda dikkat edin.

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Çıktı hala “0” ile başlamıyor, o yüzden biraz saçmalık ekleyelim (anlamsız bir “x” ekledim):

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Hala sıfırla başlamıyor. Hash sıfırla başlayana kadar biraz daha karakter denedim:

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Oraya gidiyoruz. Şimdi, Bitcoin'in bu taklit versiyonu için belirlediğim keyfi kurallara göre, giriş penceresindeki metin, bana 50 bitcoin ödeyen tek bir işlemle geçerli bir blok.

Bitcoin bloklarının aslında bir defterin sayfaları olduğunu unutmayın. Her blok numaralandırılmıştır ve kullanıcılar arasındaki işlemleri listelemenin yanı sıra yeni bitcoin oluşturur. Bu kayıt, bitcoin'in yaşadığı yerdir.

Şimdi yeni bir kural. Bir sonraki blok için, önceki bloğun hash'i dahil edilmelidir. Biraz karmaşıklık ekleyeceğim ve gerçek bir Bitcoin bloğunun sahip olduğu şeye yaklaşmak için birkaç alan daha ekleyeceğim.

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Karma "0" değil "f" ile başlar, bu yüzden nonce alanında bazı değerleri denemem gerekecek:

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Bu sefer daha şanslıydım ve sadece dört denemeden sonra uygun bir nonce buldum. İlk blok için 22 deneme yapıldığını hatırlayın. Burada bir miktar rastgelelik vardır, ancak elde etmeye çalıştığımız tek şey bir sıfır ise, geçerli bir karma bulmak genellikle çok zor değildir. İlk karma basamak için 16 olası değer vardır, bu nedenle giriş alanında yaptığım herhangi bir değişikliğin ilk karma basamağın "1" olmasıyla sonuçlanma olasılığı 16'da 0'dir.

Bitcoin'in alanlarının böyle olduğunu unutmayın, ancak eklemediğim daha fazla ayrıntı var. Bu sadece bir noktayı göstermek içindir, mutlaka bir Bitcoin bloğunun nasıl göründüğünü tam olarak detaylandırmak değil.

Sıradaki “zorluk ayarını” açıklamak için buna ihtiyacım olduğu için bir sonraki bloğa bir zaman alanı ekleyeceğim:

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Yukarıda üç numaralı blok var. Önceki bloğun karmasını içeriyor ve şimdi zamanı da dahil etmeye başladım. Başarıyla bulduğum nonce, hash'i sıfırla başlattı (karma hedefine ulaşılana kadar "1" yazmaya devam ettim).

Bitcoin blok zinciri ve madenciliği hakkında birkaç ilginç kavramı açıklamaya başlayabileceğim kadarı var.

Bir Blok Kazanmak

Madencilik süreci rekabetçidir. Kim önce geçerli bir blok üretirse, kendisine belirli bir blok ödülü öder. Aynı blok numarasını biraz sonra üreten bir madenci hiçbir şey almaz - bu blok reddedilir. Bunun nedenini açıklamak şimdi çok fazla dikkat dağıtmaya neden olacak, bu yüzden ekte açıklayacağım.

Üçüncü blok bulunup herkese (tüm Bitcoin düğümleri) yayınlandıktan sonra, tüm madenciler kendi blok üç versiyonu üzerinde çalışmayı bırakırlar. Bu başarılı blok üçün üzerine inşa etmeye başlarlar (blok hash'ini yeni bir bloğa çekerek) ve dördüncü blok için uygun bir nonce bulmaya çalışmaya başlarlar. Kazanan sonucu yayınlar ve ardından herkes beşinci blok vb. üzerinde çalışmaya başlar.

Her blokta, yeni bitcoin oluşturuluyor ve şimdiye kadar toplam arzı toplu olarak oluşturuyor. Çok sayıda madenci varsa, istatistiksel olarak blokların daha hızlı üretilmesini ve dolayısıyla bitcoinin daha hızlı oluşturulmasını beklemeliyiz. Sorun, değil mi?

Zaman içinde öngörülebilir bir ihraç ile sınırlı bir bitcoin arzı arayan Satoshi Nakamoto, bu sorunu düşündü ve blok üretimini ortalama 10 dakikalık aralıklarla tutmak için negatif bir geri besleme döngüsü başlattı. Nasıl? Bakalım bir yol bulabilecek misin? Bir an için duraklayın ve düşünün - aynı dahice çözümü bulup bulamayacağınıza bakın ve pes ettiğinizde okumaya devam edin.

DÜĞÜMLER: “Geçerli” bloklardan bahsediyorum. Ne olmuş? Kim kontrol ediyor? Bitcoin düğümleri vardır. Bir Bitcoin düğümü, şimdiye kadar blok zincirinin bir kopyasını tutar ve yeni blokların kurallar dahilinde olup olmadığını kontrol etmek ve olmayanları reddetmek için bir dizi kuralı takip eder. Kurallar nerede? Kodda. Bitcoin kodunu indiren bir bilgisayar bir düğümdür.

Zorluk Ayarı

Yeni Bitcoin blokları oluşturmak için ortalama süre, her 2016 blokta her düğüm tarafından hesaplanır (bu nedenle zaman alanına ihtiyaç vardır). Bu, düğümlerin izlediği protokolün ve kuralların bir parçasıdır. Geçerli olması için her blok karmasının başlaması gereken sıfır sayısını ayarlamak için bir formül uygulanır.

Kesin olarak, ayarlanan sıfır sayısı değil, karma değerinin altında olması gereken bir hedef değerdir, ancak baştaki sıfırları düşünmek açıklamak daha kolaydır.

Bloklar çok hızlı üretiliyorsa, karma hedef, tüm düğümlerin aynı şekilde izlediği önceden tanımlanmış kurallara göre ayarlanır (kodlarındadır).

Örneğim için basit tutalım, diyelim ki diğer insanlar benimle rekabet ediyor, bloklar çok hızlı oluyor ve şimdi dördüncü blok, hayali bir hesaba göre bir yerine iki sıfıra ihtiyaç duyuyor.

İki sıfır almam biraz daha uzun sürecek, ancak benimle rekabet eden birçok insan olduğunu hayal ediyoruz, bu nedenle herhangi birinin bir blok bulması için geçen toplam süre bir hedefte tutuluyor.

İşte bir sonraki blok:

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Zamana dikkat edin. Önceki bloğun üzerinden 10 dakikadan fazla zaman geçti (göstermek için zaman ayırdım). 10 dakikalık hedef olasılıktır; bir sonraki bloğun ne zaman bulunacağı tam olarak asla bilinmez.

İki sıfır görünene kadar bir dakika klavyede oyalandım. Bu, tek bir sıfır bulmaktan katlanarak daha zordu. Arka arkaya iki sıfır bulma şansı 1'da 16'dir.2veya 1 şansta 256'dir.

Madenciliğe ve yeni bitcoin için rekabete daha fazla insan katılacaksa, sonunda üç sıfır gerekli olacaktır.

Az önce önceki bloğun karmasını içeren son gerçek Bitcoin bloğuna baktım. Hash şuydu:

000000000000000000084d31772619ee08e21b232f755a506bc5d09f3f1a43a1

Bu 19 sıfır! 1'da 16 var19 her denemede böyle bir blok bulma şansı. Bitcoin madencileri, dünyanın her yerinde toplu olarak saniyede çok, çok sayıda deneme yapar.

Saniyedeki deneme sayısı “hash oranı” olarak bilinir. Şu anda, tahmini dünya hash oranı saniyede 200 milyon terahash'in biraz altında (bir terahash bir trilyon hash'tir). Saniyede bu kadar denemeyle, her 19 dakikada bir 10 sıfırla başlayan bir karma içeren bir blok bulunur.

Gelecekte, daha fazla madenci katıldıkça, hash oranı artacak, bloklar daha hızlı bulunacak ve Bitcoin'in zorluğu 20 sıfır gerektirecek şekilde ayarlanacak ve bu da blok üretimini yaklaşık 10 dakikaya indirecek.

Halving

Bitcoin ilk başladığında, her blokta 50 bitcoin üretildi. Bitcoin blok zincirinin kuralları, her 210,000 bloktan sonra ödülün yarıya indirileceğini belirtir. Bu an “halving” olarak bilinir ve kabaca dört yılda bir gerçekleşir. Yarılanma, blokları 10 dakikalık aralıklarla tutan zorluk ayarı ile birleştiğinde, 2140 yılı civarında blok ödülünün 0.00000001 veya bir bitcoin'in en küçük birimi olan 1 satoshi olacağı ve artık yarıya indirilemeyeceği anlamına gelir. Madencilik durmayacak, ancak blok ödülü sıfır olacak. O andan itibaren, ileriye dönük yeni bir bitcoin oluşturulmayacak ve bitcoin sayısı matematiksel olarak hesaplanabilir ve 21 milyon jetona yeterince yakın. Toplam arz bu şekilde bilinir - programlı olarak ayarlanır.

Blok ödülü sıfır olsa bile, madenciler işlem ücreti kazanmak için çalışmaya devam etmeye teşvik edilecek.

Blok ödülü tam olarak nasıl yarıya indirilir? Düğümler tarafından tutulan kodda. Bir madencinin kendisine 210,000 bitcoin'den fazla ödeme yaptığı 25'den sonra herhangi bir yeni bloğu reddetmeyi biliyorlar. Ve sonra 420,000'den sonra bir madencinin kendisine 12.5 bitcoin'den fazla ödeme yaptığı blokları reddetmek vb.

İşlem ücretleri

Şimdiye kadar sadece tek bir işlemle hayali blokları gösterdim - madenciye ödül ödendiği işlem. Buna “coinbase işlemi” denir.

Adı Conbase adlı şirketin adı değil, yani Coinbase. Şirket, tam tersi değil, madeni para birimi işleminden sonra adını verdi. Kafan karışmasın.

Coinbase işleminin yanı sıra, birbirine ödeme yapan kişilerin yaptığı işlemler de bulunmaktadır. İşte hayali bir örnek:

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Bu sefer gerçek bir karma bulma zahmetine girmedim (Aslında bu, 200,001 bloğunda bildirilen gerçek karma). Sadece eğlence için uydurduğum nonce, ancak oraya bir mesajın gömülebileceğini fark ettim.

Satoshis, günün gazete manşetinden sonra, ilk Bitcoin bloğuna (The Genesis Block) “Bankalar için İkinci Kurtarma Paketinin Eşiğinde Şansölye” sözlerini ünlü olarak dahil etti.

SHA256 ve Madencilik Bitcoin Ağını Nasıl Koruyor? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Buradaki nokta, dahil edilen 132 işlemin olmasıdır (tümü gösterilmemiştir). Bir adresten #132 – 2.3 bitcoin işlemine bakın, başka bir adrese 2.1 bitcoin ve ayrıca ikinci bir adrese 0.1 bitcoin miktarı ödüyor (adresin uzunluğunu kısaltmak için noktalar kullandım).

Yani 2.3 bitcoin kaynağı toplam 2.2 bitcoin (2.2 + 0.1 = 2.2) öder. 0.1 bitcoin eksik mi? Hayır, farkı açıklayacağım gibi madenci üstleniyor.

Madencinin blok ödülü olarak kendisine 25 bitcoin ödemesine izin verilir (çünkü 210,000 blok geçtiği için ödül 50'den 25'e yarıya indirilmiştir). Ama bakarsanız coinbase işlemi 27.33880022. Ekstra 2.33880022 bitcoin, bloktaki diğer 132 işlemden gelir - girdilerin tümü, çıktıların toplamından biraz daha büyük olacaktır. Böylece madenci bu "terk edilmiş" bitcoin'i kendisine ödeme olarak talep edebilir. Bunlar madenciye ödenen işlem ücretleri olarak kabul edilir.

Blok alanı sınırlıdır. Bitcoin yeniyken, kullanıcılar işlemleri ücretsiz olarak gönderebiliyordu ve madenciler işlemi bloğa dahil ediyorlardı. Ancak şimdi daha fazla kullanıcı var ve bir sonraki bloğa geçmek rekabetçi olduğundan, kullanıcılar madenciyi işlemlerini diğerlerine göre seçmeye ikna etmek için işleme bir ücret ekliyor.

Böylece blok ödülü istikrarlı bir şekilde düştüğünde, her dört yılda bir yarıya indiğinde ve sonunda sıfıra indiğinde, madenciler hala bu şekilde ödeme alıyor.

Bazıları bir gün madencilere verilecek ödülün yeterli olmayacağını ve Bitcoin'in başarısız olmasına neden olacağını öne sürdü. Bu endişe tamamen çürütüldü ve burada tekrar etmeyeceğim.

Bir Blok Yeniden Yazılabilir mi?

Bu son derece olası değildir ve nedenini anlamaya değer. O zaman Bitcoin işlemlerinin neden değişmez (değişmez) olduğunu anlayacaksınız.

Önceki bloğun hash değerinin mevcut bloğa dahil edildiğini daha önce açıklamıştım. Bu, eski bir bloktaki işlemlerin herhangi bir şekilde düzenlenmesinin, o düzenlenmiş bloğun karmasını değiştirdiği anlamına gelir. Ancak bu hash bir sonraki bloğa kaydedilir, bu da bir sonraki bloğun da güncellenmesi gerektiği anlamına gelir. Ancak bir sonraki blokta kaydedilen hash'i değiştirirseniz, hash'inin değişmesi gerekir ve bu böyle devam eder.

Bir karma değiştirildiğinde, tüm bu güzel sıfırları kaybettiğinizi ve yalnızca rastgele görünen bir karma ile kalacağınızı ve sıfırları geri almak için tüm işi yeniden yapmanız gerektiğini unutmayın. Bunu düzenlemeye çalıştığınız blok için yaparsanız, işi bir sonraki blok için ve bir sonraki en son bloğa kadar yeniden yapmanız gerekir. Eski blokta öylece duramazsınız, çünkü Bitcoin'in kuralları öyledir ki en uzun blok zinciri gerçek Bitcoin kaydıdır. Geri dönüp 10 blok önce bir bloğu düzenlerseniz, artık en uzun zincire sahip değilsiniz. 10 blok daha ve ardından biraz daha eklemelisiniz çünkü bu 10 bloğu oluştururken gerçek zincir muhtemelen biraz daha uzun hale geldi. Gerçek zinciri geçmek için yarışmanız gerekiyor. Başarılı olursa, yeni sürüm gerçek sürüm olur.

Düzenlenen bloktan en son bloğa kadar tüm dünyanın toplu karma çabasını tekrarlamak, Bitcoin'i düzenlemenin önündeki engeldir. Enerji, tüm bu olası sıfırlarla bu karmaları oluşturmak için harcandı ve Bitcoin'i düzenlemek için bu enerji harcaması tekrarlanmalıdır. Bu nedenle Bitcoin madenciliği için kullanılan enerji “boşa harcanmaz”; Bitcoin'i düzenlemelerden korumak, merkezi bir otoriteye güvenmeye gerek kalmadan defteri değişmez kılmak için orada.

İki madenci aynı anda bir blok bulursa ne olur?

Bu aslında ara sıra olur ve kendini her zaman şöyle sıralar:

Her düğüm önce yeni neredeyse eşzamanlı bloklardan birini alacak ve bunu kabul edecek ve birkaç dakika sonra gelen bloğu reddedecektir. Bu, ağın bölünmesine neden olur, ancak bu geçicidir.

Örneklemek için, bloklardan birine mavi, diğerine kırmızı diyelim (renkleri yok, sadece benimle kal).

Madenciler daha sonra bir sonraki blok üzerinde çalışırlar, ancak zinciri hangi bloktan uzatacakları konusunda bir bölünme olacaktır.

Diyelim ki kazanan madenci mavi zinciri kullanarak bir blok buldu. Yeni bloğu tüm düğümlere gönderecekler ve en uzun zincir ortaya çıkacak. Kırmızı zinciri kabul eden düğümler daha sonra onu bırakacak ve mavi zinciri benimseyecektir.

Kırmızı zincir üzerinde çalışan tüm madenciler duracak ve şimdi mavi zincir olan daha uzun zincir üzerinde çalışacaklar. Kırmızı zincir öldü.

Ek

Bir İkinci Madenci Bloku Neden Geçersizdir?

700,000 bloğun MINER-A tarafından çıkarıldığını varsayalım. Otuz saniye sonra, MINER-B ayrıca 700,000 bloğunun farklı bir versiyonunu yarattı. MINER-B bu alternatifi yayınladığında, her düğüm bunu reddedecektir çünkü zaten MINER-A'nın bloğunu görmüş ve kabul etmiştir. Üstelik bu 30 saniyede, diyelim ki MINER-C 700,001 bloğunu buldu. MINER-B'nin rakip 700,000'inci bloğunun mevcut zinciri (700,001'e kadar) uzatmadığı göz önüne alındığında, bu nedenle de reddedilir.

Daha da ilginç olanı, eğer MINER-B 700,001'lik rakip bir sürüm yerine 700,000 bloğu üzerinde çalışıyor olsaydı, sonunda 700,001 alternatif bir blok bulmak zorunda kalacakları kadar geçerli bir 700,000 bloğu madenciliği yapma şansına sahip olacaklardı. Bu nedenle, herhangi bir madenci yeni bir blok görür görmez çabalarını bir sonraki bloğa vermelidir.

Ancak Miner-B, blok 700,000'i MINER-A'dan bir saniye sonra bulduysa, coğrafi konumlara ve internet hızlarına bağlı olarak bazı düğümlerin önce MINER-A'nın bloğunu görmesi, diğerlerinin ise önce MINER-B'nin bloğunu görmesi olasıdır. Bu durumda, geçici bir çatal vardır ve bazı madenciler bir sürümü genişletmek için çalışırken, diğer madenciler diğerini genişletmek için çalışır. Daha önce “mavi zincir” ve “kırmızı zincir” tanımlayıcıları kullanılarak açıklandığı gibi, sonunda sürümlerden biri diğerinden daha fazla uzayacak ve oybirliğiyle geçerli sürüm olacaktır.

Bu, Arman The Parman'ın konuk yazısıdır. İfade edilen görüşler tamamen kendilerine aittir ve BTC Inc veya Bitcoin Dergisi.

Zaman Damgası:

Den fazla Bitcoin Dergisi