Sözlük / Madencilik ve konsensüs
Zincir yeniden düzenlemesi
Diğer adları: Yeniden düzenleme, Reorg, Blok zinciri yeniden düzenlemesi.
- Zincir yeniden düzenlemesi nedir?
- Zincir yeniden düzenlemesi, düğümünüzün daha fazla birikmiş iş içeren bir dal keşfettiğinde kabul ettiği blokları koparıp zincirin ucunu yeni dal üzerinde yeniden inşa etmesiyle ortaya çıkan durumdur.
Düğümler ilk gördükleri zinciri izlemez. En fazla iş kanıtı taşıyan zinciri izler ve daha iyi bir dal ortaya çıktığında çatallanma noktasına kadar geri dönüp ileriye doğru yeniden oynatır. Bitcoin'in ana zincirindeki neredeyse her yeniden düzenleme bir blok derinliğindedir ve saniyeler içinde biter; kayıtlara geçen en derin olanı, yani Mart 2013 tarihindeki 24 blokluk yeniden düzenleme, bir saldırgandan değil bir yazılım hatasından kaynaklanmıştır.
Nasıl çalışır
Bir zincir yeniden düzenlemesinin üç adımı vardır ve bir düğüm bunların hepsini kimseye danışmadan kendi başına gerçekleştirir.
Önce mevcut ucundan iki dalın paylaştığı son bloğa kadar geri yürür ve her bloğu geri alır: o bloğun oluşturduğu çıktılar harcanmamış kümesinden çıkarılır, tükettiği çıktılar geri getirilir ve işlemleri mempool'a döner. Sonra rakip dalın bloklarını sırayla bağlar ve her birini tam da yeni gelmiş gibi doğrular. Son olarak mempool'u yeniden hesaplar, artık onaylanmış olan her şeyi düşürür ve onaylanmamış olan her şeyi korur.
Güvenlik ikinci adımda yaşar. Daha fazla iş gereklidir ama yeterli değildir. Rakip daldaki herhangi bir blok tek bir konsensüs kontrolünden geçemezse düğüm durur, o dalı geçersiz olarak işaretler ve zaten sahip olduğu zinciri korur. Sınırsız hash gücüne sahip bir madenci bile bir düğüme kendine çok fazla ödeme yapan veya bir çıktıyı iki kez harcayan bir bloğu kabul ettiremez.
Kural en uzun zincir değil, en fazla birikmiş iştir. İş, her bloğun çıkarıldığı zorluktan toplanır, yani daha yüksek zorlukta çıkarılmış daha az bloğu olan bir dal daha uzun bir dalı geçebilir. Bitcoin'de iki ölçüt neredeyse her zaman örtüşür, çünkü zorluk yalnızca her 2.016 blokta bir değişir.
Olağan olanı endişe verici olandan ayıran derinliktir. Bir blok derinlik olağan bir bakım işidir. Bitcoin Core, önemli ölçüde derin her şeyi haber değeri taşıyan sayar ve bir rakip dalın etkin zincirden altı bloktan fazla ayrıldığını gördüğünde operatöre büyük iş çatallanması uyarısı verir.
Bitcoin satın alırken bu neden önemli
Onay sayıları yeniden düzenleme derinliği üzerine bir bahistir ve kullandığınız her platform sizin adınıza sessizce böyle bir bahis oynamıştır.
Bir para yatırmayı üç blok sonra hesaba geçiren bir borsa, üç blokluk bir geri dönüşe karşı sigorta yaptırmaya değmeyeceğine karar vermiştir. Altı blok bekleyen bir borsa riski daha yüksek fiyatlamıştır. Bu sayıların ikisi de protokolden gelmez; ikisi de politika tercihidir, bu yüzden aynı para yatırma bir platformda yirmi dakikada, bir diğerinde bir saatten uzun sürede tamamlanır. İncelememizdeki borsalar arasında Bitcoin taşırken, bir şeylerin ters gittiğini varsaymadan önce bu farkı kontrol etmeye değer.
Anahtarlarınıza bunların hiçbiri dokunmaz. Bir yeniden düzenleme zincirde hangi işlemlerin ve hangi sırayla bulunduğunu değiştirebilir, ama bir imza üretemez, bu yüzden sizin kontrol ettiğiniz bir cüzdanda duran bitcoinler riskin parçası değildir. Etki alanında kalan, hareket halindeki değerdir: hesaba geçmiş ama henüz derinleşmemiş bir para yatırma, mal karşılığı kabul ettiğiniz bir ödeme, tek onayla nakit verdiğiniz bir eşler arası işlem.
Tarih yol gösterici bir uyarı sunar. 4 Temmuz 2015 tarihinde birkaç büyük havuz, doğrulamadıkları bloklar üzerine inşa ediyordu; SPV madenciliği denen bu uygulama, geçersiz olduğu ortaya çıkan altı blokluk bir zincir üretti. Bitcoin.org, durum çözülene kadar 30 onay beklemelerini öneren bir uyarı yayımladı. Ders Bitcoin'in kırılgan olduğu değildi; ihtiyaç duyduğunuz derinliğin neyin ters gittiğine bağlı olduğu ve tek onayın asla çok olmadığıydı.
Daha küçük iş kanıtı coinleri de elinizde tutuyorsanız, bunların yeniden düzenleme geçmişini tamamen ayrı bir soru olarak ele alın. Borsalar gerçekten yeniden düzenlenmiş zincirler için çok daha fazla onay ister ve bu gereklilik bir zincirin gerçekte ne kadar güvenli olduğuna dair kullanışlı bir kamuya açık sinyaldir.
Mart 2013 tarihli 24 blokluk yeniden düzenleme
Bitcoin'in ana zincirinin bugüne kadar geçirdiği en derin yeniden düzenleme, yazılımın iki sürümünün ikisinin de kabul etmesi gereken bir blok konusunda anlaşamamasından kaynaklandı.
Şubat 2013'te yayımlanan Bitcoin 0.8, Berkeley DB depolama motorunun yerine LevelDB'yi koydu. 11 Mart tarihinde, olağandışı büyük sayıda girdi taşıyan 225.430 numaralı blok geldi. 0.8 sürümünü çalıştıran düğümler onu kabul etti. 0.7 sürümünü çalıştıran düğümler, yapılandırmalarının hiçbir zaman aşmadığı bir Berkeley DB kilit sınırına çarptı ve onu reddetti. Ağ ikiye bölündü ve her taraf diğerinin yanıldığından tamamen emindi.
Geliştiriciler bir saat içinde IRC üzerinden koordine oldu ve rahatsız edici bir karar verdi: havuzlardan 0.7 sürümüne geri dönmelerini isteyip daha fazla iş taşıyan dalı bilerek terk etmek, çünkü çalışan düğümlerin çoğunluğunun izleyemediği dal oydu. Bölünme yaklaşık altı saat sürdü. 0.7 zinciri öne geçtiğinde, terk edilen dal 24 bloğa ulaştı. Bir ödeme işlemcisi olan OKPay, o aralıkta çift harcamaya maruz kaldığını bildirdi.
Düzeltme günler sonra 0.8.1 sürümüyle yayımlandı ve yeni düğümlerin koordine edilmiş bir geçiş tarihine kadar eski sınırı taklit etmesini sağladı. BIP50 tüm olayı ayrıntılı biçimde belgeler ve Bitcoin'in gerçek bir acil durumu nasıl ele aldığına dair okunabilecek en iyi tek kaynaktır. Aynı zamanda Bitcoin tarihindeki en derin yeniden düzenlemenin neden madencilik gücüyle değil veritabanı yapılandırmasıyla ilgili bir hikâye olduğunun da nedenidir.
Zincir yeniden düzenlemesi vs hard fork
Bir zincir yeniden düzenlemesi tek bir kural kümesi içinde gerçekleşir ve herkesin aynı zincire geri dönmesiyle sonuçlanır. Bir hard fork kuralları değiştirir, öyle ki iki dal bir daha asla uzlaşamaz ve ikisi de ayrı varlıklar olarak büyümeye devam eder; Bitcoin Cash ağının 1 Ağustos 2017 tarihinde başına gelen budur. Biri, hangi geçerli zincirin en iyi zincir olduğuna dair geçici bir anlaşmazlıktır. Diğeri, geçerlinin ne anlama geldiğine dair kalıcı bir anlaşmazlıktır.
Zincir yeniden düzenlemesi vs çift harcama
Yeniden düzenleme bir mekanizmadır; çift harcama onunla yapabileceğiniz şeylerden biridir ve gerçekte olan şey nadiren odur. Yeniden düzenlemelerin ezici çoğunluğu aynı işlemleri yalnızca farklı bir blokta yeniden çıkarır, böylece kimsenin ödemesi değişmez. Bir geri dönüş, kazanan dalın saldırganın oraya bilerek koyduğu çelişkili bir işlem içermesini gerektirir; bu da ya muazzam hash gücü ya da olağanüstü şans demektir. Daha ucuz çift harcama girişimleri hiç yeniden düzenleme içermez, çünkü ilk etapta hiç onaylanmamış ödemeleri hedefler.