Bitcoin Mining Difficulty - What is it And How Does it Work?

Updated on: May 2nd, 2020
This content has been Fact-Checked.
Bitcoin Mining Difficulty - What is it And How Does it Work?

Bitcoin madenciliği zorluğunun ne anlama geldiğini anlamaya başlamadan önce, madenciliğin nasıl çalıştığını bilmeliyiz. Bu konuyu daha önce ayrıntılı olarak ele aldık, bu yüzden farklı zorluk nüanslarına girmeden önce size biraz genel bakış vereceğiz. Bunu takiben, madencilik zorluğunun nasıl hesaplandığına ve ağın ihtiyaçlarına göre nasıl değiştiğine bakacağız.

Madencilik nasıl çalışır? Mayınlamak ne kadar sürer 1 Bitcoin?

Bitcoin'in ağı, kriptografik olarak zor bulmacaları çözmek için özel ekipman kullanan “madenciler” adı verilen birkaç özel düğüme sahiptir. Başarılı olurlarsa, BTC blok zincirine başarıyla bloklar ekleme fırsatı bulacaklar. İşler böyle yürür:

Madenci mempool bekleyen işlemleri alır ve bunları hashes.

Karmanın önüne rasgele onaltılık bir değer ekler ve tüm değeri karmalar.

Bu karmanın “zorluk” olarak adlandırılan belirli bir değerden daha az olması gerekir.

Bitcoin madenciliği zorluğunu belirleyen nedir? BTC güçlüğü neden artar?

#1 Ağ bütünlüğünü korumak için

Bitcoin madencilik zorluk seviyesi, protokol içinde madencilik kolaylığına göre artar veya azalır. Unutmayın, Bitcoin'in 10 dakikalık tutarlı bir blok süresine sahip olması gerekir. Başka bir deyişle, her 10 dakikada bir dolaşım kaynağına yeni BTC enjekte edilebilir. Bu zamanlamanın Bitcoin protokolünü değiştirmediğinden emin olmak için:

Madencilerin madencileri için daha kolay hale geldiğinde ağ zorluğunu artırır.

Maden madencileri için zorlaştığında ağ zorluğunu azaltın.

Bitcoin ağı evrensel bir blok zorluğuna sahiptir. Tüm geçerli blokların hedefin altında bir karma olması gerekir. Madencilik havuzları, paylaşımlar için daha düşük bir sınır belirleme havuzuna özgü bir paylaşım zorluğu da vardır.

#2 karma oranı ile ilişkisi

İş kanıtı ağının sağlığını değerlendirmede kritik ölçümlerden biri karma oranıdır. Basitçe söylemek gerekirse, hashrate madencilerin ağ içinde ne kadar güçlü olduğunu gösterir. Bitcoin ağı hashrate ne kadar yüksek olursa, genel güvenlik ve hızdır. Bununla birlikte, bu ağların tutarlı blok üretimi için karma oranlarını kontrol altında tutmaları gerekir. Bu nedenle, hashrate yüksek olduğunda, bitcoin zorluğu sonunda da yükselir ve madencilerin ağ içinde kolayca madencilik yapmasını zorlaştırır.

Ters de doğrudur.

Bitcoin'in hashrate azalırsa, ağ zorluğu da azalacaktır. Hashrate aşağıdaki nedenlerden dolayı azalabilir:

Bitcoin şu anda yüksek bir zorluk yaşıyor, bu yüzden madenciler sistemde zor bir zaman madencilik yaşıyor.

BTC'nin fiyatı düştü, bu yüzden birçok madenci madenciliği bıraktı.

İkisi arasındaki korelasyonu anlamak için grafiklerini kontrol edelim. Önce karma oranımız var.

Bundan sonra, bitcoin zorluk grafiğine sahibiz:

Gördüğünüz gibi, ikisi arasında çok yakın bir ilişki var. 26 Mart civarlarında ağ güçlüğü 16.55 trilyondan 13.9 trilyona düştü. Bu, 2013'ün başından beri ağ zorluğundaki en büyük çökme oldu. Bunun bu sefer neden olduğunu anlamak için, hashrate bitcoin zorluğunun düşmesinden hemen önce nasıl düştüğüne bakın. Bu daldırma, Bitcoin'in fiyat kazası nedeniyle oluştu ve bu da çok sayıda madenciyi operasyonlardan çıkmaya zorladı.

Bitcoin zorluğu nasıl hesaplar?

Bitcoin'in ağ zorluğu her 2016 blokları değiştirir. Zorluğu hesaplamak için ağ tarafından kullanılan formül şöyle gider:

zorluk = difficulty_1_target/current_target

Yukarıdaki formülde:

hedef 256 bitlik bir sayıdır. Bitcoin'in protokolüne göre hedefler sınırlı doğruluk ile özel bir kayan nokta türüdür. Bitcoin müşterileri bu gerçeğe dayalı yaklaşık zorluk. Bu değer bdiff olarak da bilinir.

difficulty_1_target, zorluk ölçmeyi seçtiğinize bağlı olarak farklı olabilir. Geleneksel olarak, önde gelen 32 bitin sıfır ve geri kalanının bir olduğu bir karmayı temsil eder. Aslında, bu değer aynı zamanda havuz zorluk veya pdiff olarak da bilinir.

Her blok, bloklarında “Bit” adı verilen bitcoin zorluğunun dolu bir temsilini saklar. Bu hedef genellikle 0x1b0404cb olarak görünür (küçük endian sırayla saklanır: cb 04 04 1b).

Bir blok, önceden belirlenmiş bir formül aracılığıyla hedef değeri hesaplar. Örneğin. Yukarıda verilen paketlenmiş hedefle, yani 0x1b0404cb. Onaltılık hedef:

0x0404cb * 2** (8* (0x1b - 3)) = 0x000000000000000000000000000000000000000000000000000000000000

Şimdi bdiff ve pdiff'i hesaplayalım.

Mümkün olan en yüksek hedef (difficulty_1_target) 0x1d00ffff veya onaltılık formda tanımlanır:

0x00ffff * 2** (8* (0x1d - 3)) = 0x0000000000000000000000000000000000000000000000000000000000000000

Artık bu değeri bildiğimize göre, bunu zorluk = difficulty_1_target/current_target formülü kullanarak bdiff'imizi hesaplamak için kullanabiliriz.

Şimdi, önceki bölümde tanımladığımız gibi, current_target 0x1b0404cb veya 0x0000000000000000000000000000000000000000000000000000000000000000000000000000.

Yani, mevcut zorluk hesaplamak için:

0x0000000000000000000000000000000000000000000000000000000000000000000000000000/

0x00000000000404CB00000000000000000000000000000000000000000000000000000000

= 16307.420938523983

Bu nedenle, bdiff 16307.420938523983'tür.

Şimdi, pdiff'i hesaplayalım. Madencilik havuzları, 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFMadencilik kesik olmayan hedefleri kullanma eğilimindedir.

Eğer durum böyleyse aynı current_target için, bizim pdiff olacaktır:

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF/

0x00000000000404CB00000000000000000000000000000000000000000000000000000000

= 16307.669773817162

İşte zorluk hesaplamasını kolaylaştırmak için günlüklere dayanır Bitcoin wiki'den alınan bir program kodu:

#include iostream

#include cmath

inline float fast_log (float val)

{

int * const exp_ptr = reinterpret_cast int * (ve val);

int x = *exp_ptr;

const int log_2 = ((x 23) ve 255) - 128;

x ve = ~ (255 23);

x += 127 23;

*exp_ptr = x;

val = ((-1.0f/3) * val + 2) * val - 2.0f/3;

dönüş ((val + log_2) * 0.69314718f);

}

kayan zorluk (imzasız int bit)

{

statik çift max_body = fast_log (0x00ffff), scaland = fast_log (256);

dönüş exp (max_body - fast_log (bit ve 0x00ffffff) + ölçek* (0x1d - ((bit ve 0xff000000) 24)));

}

int main ()

{

std: :cout zorluk (0x1b0404cb) std: :endl;

0 döndürür;

}

Madencilik zorluğunu nasıl ayarlarsınız?

Madenciler, Bitcoins madenciliği için özel ASIC donanımı kullanıyorlar. Bu makineler son derece hızlıdır ve her saniye tetrahashes üretir. Bir sistemin, gerekli tüm koşulları yerine getirip getirmediklerini görmek için her birini özenle kontrol etmesi son derece pratik olmayacaktır. Bu, madencilik havuzları için katlanarak doğrudur. Bir bitcoin madencisinin ürettiği tüm karmaları her saniye kontrol edemezler. Bu nedenle madencilik havuzları “Paylaşım Süresi” adlı bir konsept kullanır.

Öyleyse, bitcoin madencilik havuzunuzun 5 saniyelik bir Paylaşım Süresi belirlediğini hayal edelim. Bu, ortalama olarak madencilik havuzunuzun madencilerin her 5 saniyede bir pay göndermesini gerektireceği anlamına gelir.

Bu tam olarak nasıl yapılır?

Bitcoin madencilik havuzunuz, her madenci için Hisse Zorluğu adlı bir değer belirleyecektir. Bir madencinin paylaşım zorluğu, bireysel hashrate ile doğru orantılıdır. Bu nedenle, madencinin hashrate artar, Hisse Zorluğu artar. Fikir madencinin ekipmanlarını tonlarca esrar üretmek için kullanacağı. Hedef Paylaşım Zorluklarını karşılayan bir karma buldukları anda karmayı havuza gönderirler.

Madenciler nasıl ödüllendirilir?

Havuzdaki madenciler “Pay başına öde” (PPS) bazında ödüllendirilir. Bu sistemde madenciler sundukları hisselerin karşılığını alırlar. Hisselerin değerleri, payı keşfetmenin ne kadar zor olduğuna tamamen bağlıdır.

Bunun nasıl çalıştığını görmek için bir örnek alalım:

50 TH/s bireysel hashrate olan bir madenci olduğunuzu varsayalım.

Katıldığınız madencilik havuzu, Hisse Zorluğu 1.000.000 olarak ayarladı.

1.000.000'in üzerinde hisse aldığınız anda, havuz tarafından ödüllendirileceksiniz.

Havuz, paylaşımlarınızı çok hızlı bir şekilde göndermediğinizden emin olmak için zorluğunuzu değiştirebilir.

Şimdi, yeni bir ekipman satın alıp hashrate oranını 150 TH/s'ye çıkarırsanız, havuz zorluğunuzu 3.000.000'e çıkaracaktır. Daha önce gönderdiğiniz aynı oranda hisse senedi göndereceksiniz. Ancak, gönderdiğiniz hisse senetleri için daha önce aldığınız ödülün 3 katını alacaksınız.

Havuzların daha hızlı donanım için daha yüksek zorluklar önermesinin nedeni, hem madencinin sistemi hem de havuzdaki ağ yükünü azaltmaktır. Ayrıca, sonraki çalışma birimi için hazırlanırken madencilik donanımınız için yeniden başlatma gecikmesini azaltır. Aynı zamanda, havuz bayat hisse bir sürü neden olacak çok yüksek zorluk ayarlamak için dikkatli olmalıdır.

NOT: Hisse Hedefi = 1/Hisse Zorluğu

Nakamoto uzlaşmasında Zorluk Önemi

Bitcoin'in ekosistemi için ne kadar kritik zorluğun olduğunu anlamak için Nakamoto uzlaşmasının nasıl çalıştığını bilmeniz gerekir. Merkezi bir varlık olmayan geniş bir alan ağı için, fikir birliği protokolleri her türlü yönetişimi sürdürmenin tek yoludur. Raft gibi geleneksel fikir birliği algoritmaları geniş kapsamlı kriptoekonomik protokolü sürdürmek için ideal değildir. Bu yüzden Bitcoin'in yaratıcısı Satoshi Nakamoto, Nakamoto uzlaşması ile geldi. Nakamoto uzlaşmasının merkezi ilkesi, sisteme katılmak için bir bedel ödemek zorunda olmasıdır. İş kanıtı (POW), yani Bitcoin'in uzlaşması durumunda madenciler “iş” ile bir fiyat ödüyorlar. İş, bu durumda, bir madencinin bir Bitcoin'i madenciye harcaması gereken ağır hesaplama enerjisidir. İşte burada zorluk devreye girer. Zorluk, Bitcoin madenciliğini zorlaştıran metriktir, artı, Nakamoto konsensüsü çifte harcama problemini çözmek için kullanmaktadır.

Çifte harcama nedir?

Çift harcama, merkezi olmayan bir kripto para birimi oluşturma girişimlerinin Bitcoin'den önce sefil bir şekilde başarısız olmasının nedeni. Basit bir ifadeyle, bir Bitcoin'in aynı anda birden fazla harcanmasına izin veren bir kusurdur. Fiziksel nakit ile uğraşırken bu konuya hiç rastlamadık. Sonuçta, 10 dolarlık bir nota sahip bir şey satın alıyorsanız, aynı notla aynı anda başka bir şey satın alamazsınız, değil mi?

Bununla birlikte, dijital bir belirteç, kolayca çoğaltılabilen ve kaçınılmaz çift harcamalara yol açan dijital dosyalara sahiptir. Tahmin edebileceğiniz gibi, çifte harcamaların ekosistemin ekonomisi üzerinde birçok yıkıcı etkisi olabilir:

İlk olarak, ekosistem içindeki paraların toplam arzını şişirir, bu da arz-talep denklemini kontrolden çıkarır.

İkincisi, herhangi biri, herhangi bir yerde aynı parayı kısıtlama olmaksızın harcayabilirse, halkın bu para biriminin kutsallığına olan inancını azaltacaktır.

Bitcoin, tüm işlemlerin mutlaka blok zincirine dahil edilmesini gerektirir. Bu, ağdaki herkesin her bir Bitcoin'i kaynağına kadar takip edebilmesini sağlar. Böylesine yüksek bir şeffaflık seviyesi, kimsenin tüm şebekeyi fark etmeden iki katına çıkaramayacağını garanti eder. Ancak, daha şeytani bir şey düşünelim. Diyelim ki, birisi blok zincirini çatallayarak kaçırmaya karar verir ve tüm Bitcoin'leri iki katına çıkarmaya çalışır.

Sonra ne olacak?

Ağ zorluğu nedeniyle, saldırganın zinciri ele geçirmesi gereken kaynak ve para miktarı üstel olacaktır. Bu nedenle, sistemin çıkarlarına karşı hareket etmeleri ekonomik olarak buna değmeyecek. Ağ güçlüğü, Nakamoto Consensus'a ağ güvenliğini ve bütünlüğünü korumak için ihtiyaç duyduğu ateş gücünü bu şekilde verir.

Sonuç - Bitcoin Madencilik Zorluğu

Bu makalede çok fazla değer bulduğunuzu umuyoruz. Bazı şüpheleriniz varsa, istediğiniz zaman bize ulaşmaktan çekinmeyin.

Ameer Rosic
#SerialEntrepreneur, Investor, #Digitalmarketing Adviser and Cofounder of @Blockgks a #blockchain innovation hub

Like what you read? Give us one like or share it to your friends and get +16

0
Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today

Already have an account? Sign In