İçeriğe geçin
buybitcoinsmart

Sözlük / Madencilik ve konsensüs

Sürüm 2 bloğu

Diğer adları: V2 bloğu.

Sürüm 2 bloğu nedir?
Sürüm 2 bloğu, başlığındaki sürüm alanı 2 olan bloktur; bu yükseltme, BIP34 ile coinbase scriptinin ilk öğesi olarak bloğun kendi yüksekliğinin zorunlu kılınmasını sağlamıştır.

Tanımlandığı belge: BIP-34.

Blok sürüm numaraları eskiden basit bir şeyi ifade ederdi: 1 özgün biçimdi, 2 bir kural ekledi ve her yeni numara eski biçimi madenciliğe kapalı hale getirdi. Sürüm 2, BIP34 ile geldi ve Bitcoin Core bunu 227.931 numaralı bloktan itibaren uygular. Alıcı olarak yaptığınız hiçbir şey buna bağlı değildir, ancak her blok gezgini bunu gösterir ve bu, coinbase scriptlerinin neden bir sayıyla başladığını açıklar.

Nasıl çalışır

Durum: sürüm alanı 2016 yılında bir sayaç olmaktan çıktı; o zaman BIP9 üst bitlerini bir sinyal bit alanı olarak yeniden tanımladı, bu yüzden modern bir blok 2, 3 veya 4 yerine 0x20000000 gibi bir değer gösterir. Sürüm 2 ile getirilen BIP34 kuralı kalıcıdır ve her blokta hâlâ kontrol edilir.

Sürüm 2 blokları, yinelenen kimlik sorununu çözmek için vardır. Bir coinbase işleminin onu benzersiz kılacak girdisi yoktur, bu yüzden tesadüfen aynı çıktı scriptini ve aynı keyfi coinbase baytlarını kullanan iki madenci, aynı işlem kimliğine sahip bayt bayt aynı işlemleri üretebiliyordu. Bu varsayımsal değildir: 91.842 ve 91.880 numaralı blokların her biri, önceki bir bloktakine tıpatıp benzeyen bir coinbase işlemi içeriyordu ve sonraki kopya, harcanmamış çıktı kümesindeki önceki kaydın üzerine yazarak harcanabilir coinleri yok etti. BIP30, geçici bir önlem olarak yinelemeleri tamamen yasakladı ve BIP34 olasılığı kaynağında ortadan kaldırdı.

Mekanizma küçüktür. Bir sürüm 2 blok, coinbase scriptine bloğun kendi yüksekliğini, asgari düzeyde kodlanmış bir script numarası olarak yazarak başlamalıdır. İki blok aynı yüksekliği paylaşmadığı için iki coinbase işlemi bir daha asla çakışamaz. Dağıtım, sabit bir tarih yerine bir eşik kullandı: son blokların büyük çoğunluğu sürüm 2 taşıdığında sürüm 1 blokları geçersiz hale geldi ve ağ Mart 2013'te bu noktayı geçti.

Aynı örüntü iki kez daha tekrarlandı. Sürüm 3 blokları, 363.725 numaralı blokta katı DER imza kodlamasını zorunlu kıldı ve sürüm 4 blokları 388.381 numaralı blokta OP_CHECKLOCKTIMEVERIFY ile geldi. Bundan sonra sürüm dizisi durdu, çünkü 32 bitlik bir alanı sayaç olarak ele almak, BIP9 tarafından paralel yükseltme sinyallerine dönüştürülen 31 biti boşa harcıyordu.

Nerede görürsünüz

Sürüm, herhangi bir blok gezgininin blok sayfasında ve getblock RPC çağrısında hem version hem de versionHex olarak görünür. 2011 yılından bir bloğa bakın, 1 görürsünüz; 2013 ortasından bir bloğa bakın, 2 görürsünüz; bugünden bir bloğa bakın, bir bit alanı görürsünüz.

BIP34 yüksekliği sürümün kendisinden daha kolay fark edilir. Son dönemdeki herhangi bir coinbase scriptinin kodunu çözün, ilk baytlar yüksekliktir; bunu genellikle bir havuzun tanıtıcı metni ve madencilik donanımının üzerinden geçtiği ek nonce alanı izler. Blok gezginleri bu kuyruğu çoğu zaman ASCII olarak gösterir; bir bloğun coinbase işleminin, o bloğun hangi havuz tarafından çıkarıldığını ortaya koyması da bundan kaynaklanır.

Sürüm 2 bloğu vs sürüm 2 işlemi

Bir sürüm 2 bloğu ile bir sürüm 2 işlemi bir sayıyı paylaşır, başka bir şeyi değil. İşlem sürümü 2, BIP68 kökenlidir ve göreli kilitlemeleri (relative locktime) etkinleştirerek bir girdinin harcanabilmesi için üst çıktısının belirli bir yaşta olmasını şart koşmasına olanak tanır. Lightning, kanal zaman aşımları için buna dayanır. Blok sürümü 2 ise BIP34 kökenlidir ve coinbase benzersizliğiyle ilgilidir. Farklı nesne, farklı BIP, farklı yıl ve her iki sayacın da 2 değerine ulaşması tesadüfünün ötesinde hiçbir ilişki yok.

Karıştırılmaması gerekenler

Sık sorulan sorular

Bitcoin şu anda hangi blok sürümünü kullanıyor?

Eski sayaç anlamında hiçbir sürüm yok. BIP9'dan beri sürüm alanı, yükseltme desteğini sinyallemek için kullanılan bir bit alanıdır, bu yüzden bloklar sıralı bir numara yerine 0x20000000 gibi değerler bildirir.

Bir coinbase scripti neden bir sayıyla başlar?

Çünkü BIP34 orada blok yüksekliğini zorunlu kılar. Bu, iki coinbase işleminin hiçbir zaman bayt bayt aynı olmamasını garanti eder; ki bu durum 2010 yılında zaten iki yinelenen işlem kimliğine yol açmıştı.

İlgili terimler

Daha fazlası: Madencilik ve konsensüs

Bu sayfayı İngilizce okuyun