Blockchain'in İmkansız Üçgenini Kırmak (2) - Bitcoin POW'a Giriş

Bitcoin'in son yükselişi, herkese Bitcoin'in on yıl sonra hala güçlü bir canlılığa sahip olduğunu hatırlatıyor gibi görünüyor. Bu nokta ister yazılım, ister bilgi teknolojisi açısından çok büyülü bir şey - aynı zamanda 2009'dan kalma bir ürün, windows 7 son günlere girdi, iphone 3 çoktan kayboldu ve Xiaomi gibi ipad ve hatta WeChat gibi uzun zamandan beri varmış gibi, şimdiye alışık olduğumuz birçok şey henüz doğmadı.

Ancak, aslında ipad veya WeChat olsun, artık eskisi gibi değiller. Ancak Bitcoin durum böyle değil.Performanstan işlevselliğe, orijinal versiyona kıyasla, işlevsellik açısından sadece biraz geliştirildi. Bunun nedeni, elbette, blok zincirinin kendisinin merkezi olmayan doğası ve ayrıca sütundaki ilk çatal dizisinde belirtilen siyasi ve rota anlaşmazlıklarıdır, ancak son analizde nedeni -

Bitcoin'in POW tasarımı aslında çok ince.

Şahsen bunun Satoshi Nakamoto'nun kasıtlı olarak olduğunu veya Satoshi Nakamoto'nun POW tasarımının çok zeki olduğunu düşünmüyorum, ancak disiplin dışı geçmişi nedeniyle (onun kimliğiyle ilgili analizine verdiğim cevaba bakın)

Bu algoritmanın etkinliğini titiz matematikle kanıtlayamaz, ancak kendisini ve diğerlerini algoritmanın gerçekten etkili olduğuna ikna etmek için en basit mantığa ihtiyacı vardır, bu nedenle algoritmaya yeterince fazlalık verdi. Örneğin, okuyucuları sezgisel olarak "bu süre herkesin bu bloğu senkronize etmesi için yeterli" olduğuna inandırmak için, bu varsayım doğru değilse ne olacağı konusunda endişelenmeden on dakikalık bir blok aralığı.

Bu, Bitcoin POW'un dahice bir parçasıdır - algoritması son derece basittir, o kadar basit ki, kesin bir kesinti ve kanıt olmaksızın fizibilitesine ikna edilebilir. Ama öte yandan, insanları da meraklandırıyor - iyileştirme için çok yer var gibi görünüyor, küçük bir değişiklik yaptığınız sürece, yapabilirsiniz ...

Bununla birlikte, Bitcoin'deki beyin fırtınası iyileştirmelerinin çoğu aslında ek mekanizmalar getirdi ve bu mekanizmaların sonunda ek güvenlik riskleri ortaya çıkardığı kanıtlandı - çünkü aslında Bitcoin'in mekanizması basittir, Ancak bilgi güvenliğinin temel ilkelerine uygundur - mekanizma ne kadar karmaşıksa, hata yapmak o kadar kolay olur.

Bu nokta için, Zhang Ren'in bu yazısında çok harika bir tartışma var.

Elbette bu, Bitcoin'in POW'unun iyileştirmeye yer olmadığı anlamına gelmez.Aksine, POW'da değişiklik için çok yer vardır, ancak değişiklikleri yapan kişinin, neyi değiştirdiğini bilmesi gerekir, yani çok küçüktür. Değişiklikler bazı zincir reaksiyonlarına neden olacaktır, bu nedenle bunları düzeltmek için ilgili mekanizmalara ihtiyaç vardır.Bu nedenle, bir değişiklik orijinal POW kadar basit görünüyorsa, o zaman çoğunlukla sorunludur. Bu nedenle, profesyonel olmayan personel operasyonları için fazla alan kalmaz - Bitcoin POW'u iyileştirmek için POW'u ve dağıtılmış sistemleri daha derin bir perspektiften anlamanız gerekir.

Burada, ölçeklenebilir bir bakış açısıyla bazı klasik POW genişletme şemalarını tanıtıyoruz.

Önceki makalede bahsedildiği gibi, blockchain Bitcoin'in ölçeklenebilirliğinin darboğazı, herhangi bir işlemin tüm düğümlere gönderilmesi gerektiğidir.

Bunların arasında, Bitcoin POW'un ek bir sınırlaması vardır, yani POW'un etkinliği, herkesin aynı en uzun zincir üzerinde madencilik yapması gerçeğine dayanmaktadır, bu nedenle kabaca konuşursak, sadece önceki blok çıkarılır ve Tüm ağa senkronize edildikten sonra, mutabakat algoritması yani madencilik başlayabilir.

Burada herkes gördü - bu temelde senkronize bir sistem.

Şu anda bazı insanlar itiraz edebilir.Bitcoin POW'un asenkron Bizans hataya dayanıklı bir algoritma olduğu iyi biliniyor. Biz de gerçekte asenkron bir ortamdayız.Bitcoin POW'un senkronize bir algoritma olduğunu neden söylüyorsunuz?

Bu, Bitcoin POW'un yaygın bir yanlış anlaşılmasıdır. Aslında, POW yalnızca temelde senkronize edilmiş bir ağda etkilidir. Bununla birlikte, Bitcoin POW, 1. Düğümleri teşvik etmek için teşvik edici yöntemler kullanır: 2. Düğümler, sistemin temelde senkronize olmasını sağlamak için diğer düğümlerle senkronize olmaya çalışır. "Temelde" olduğu söyleniyor çünkü mutlak senkronizasyona ihtiyacımız olmadığı doğrudur.İhtiyacımız, POW süresinin, yani blok aralığının, bu sistemin temel senkronizasyon olarak kabul edilebilmesi için senkronizasyon için gereken zamandan çok daha büyük olması gerektiğidir. nın-nin. başka bir deyişle,

Bitcoin'in fikir birliği algoritmasının ilerlemesi belirli bir süre almalı ve tüm düğümler senkronize edildikten, yani tüm işlemler iletildikten ve doğrulandıktan sonra başlatılmalıdır.

Başka bir deyişle, Bitcoin'in fikir birliği algoritması şu şekildedir:

Bununla birlikte, tüm bant genişliği * süresinin ağdaki işlemleri iletmek için kullanılacağını umuyoruz ve herkesin en uzun zincir üzerinde fikir birliğine sahip olmasını sağlamak için önce t1 zamanında bir senkronizasyon yapmak ve ardından t2 süresi için POW hesaplamasını başlatmak istemiyoruz. uzlaşma. T2 periyodu sırasında senkronizasyon imkansızdır, çünkü fikir birliği olmadan hangi bloğun doğru olduğunu bilmiyoruz, bu yüzden bu zamandaki bant genişliği boşa gidiyor.

İdeal olarak, fikir birliği yaparken senkronize edebilir miyiz? Yapılması gereken ilk adım, Bitcoin POW'da fikir birliği ve işlemi (blok içeriği) ayırmamız gerektiğidir.

Dağıtık sistem uzmanları için yapılacak en pürüzsüz şey, Bizans hataya dayanıklı son teknoloji ürünü veya PBFT'yi koymaktır. PBFT neden ayarlanmalı? Geleneksel dağıtılmış sistemler perspektifinden bakıldığında, Bitcoin için en dayanılmaz yer çıktısı veya ölçeklenebilirliği değil, a) 6 bloğa kadar (bir saat) gecikme; b) son yok Kesinlik, fikir birliğinin asla doğrulanamayacağı anlamına gelir. Sonra küçük bir problemim var, yani c) çıktı çok düşük. Ancak aynı zamanda, dağıtılmış sistem uzmanları da POW'un izin verilmeyen bariz bir faydasını gördüler. Bu nedenle, doğal ve tesadüfi olarak, Hibrit fikir birliği ve Byzcoin kağıtları, POW'u bir erişim mekanizması olarak kullanmak ve ardından (yarı) PBFT gerçekleştirmek için basit bir yöntem yaptı.

İki algoritmanın prensibi, temelde blok ödülleri gibi Bitcoin POW'un tüm özelliklerini korumaktır, blok süresi vb. Bununla birlikte, POW artık işleme karar vermiyor, sadece komite seçimleri için - örneğin, en son 100 blok üreticisinin mevcut komite olduğunu ve ardından işlemi belirlemek için BFT yapacaklarını şart koşuyoruz. Buradaki işlem nihai ve mutlaktır. , Çatallanma sorunu yok ve ardından tüm ağa yayın. O zaman bu şekilde karar verilen işlemin nihai sonuç olduğunu düşünebiliriz, bu nedenle iki problem (a) ve (b) çözülür ve tesadüfen, POW'un mutabakatı yalnızca blok üreticisini belirlediğinden, işlemin çıktısı artık POW ile sınırlı değildir. Yalnızca BFT'nin çıktısı ile sınırlıdır. BFT yapıp yapmadığına veya BFT'den sonra işlemi tüm ağa yayınlamak için geçen süreye bakılmaksızın, POW'un bir sonraki konsensüse devam etmesini etkilemeyecektir.

Bu şekilde, Bitcoin POW'da böyle bir değişiklik yapmaya eşdeğeriz:

Burada, komitenin doğrulaması, fikir birliği (BFT algoritması) ile neredeyse eşzamanlı olarak gerçekleştirilir ve komitenin fikir birliğinin sonucu doğrudan tüm ağa yayınlanır.Bu süreç aynı zamanda bir sonraki komite seçimlerinden de ayrıştırılır.

Genişleme açısından bu iki fikre benzer, ancak rota farklı Bitcoin-NG.

Bitcoin-NG aslında daha iyi anlaşılıyor - her şeyden önce, hala olağan Bitcoin POW'dur, ancak şu anda ortaya çıkan bloğun tüm işlemleri içermesi gerekmiyor, ancak sadece duyuruyor - rekabeti kazanan yasal blok üreticisiyim. Daha sonra, on dakika içinde, blok üreticisi daha hızlı bir hızda (daha kısa blok aralığı) "mikro bloklar" gönderebilir, bu sadece işlemleri içerir ve bunun için zaten rekabet ettiği için POW yapması gerekmez. Tek seferlik blok sağa. Bu durumda, Hybrid Consensus ve Byzcoin ile aynı etkiyi, blok yerine blok üreticisini seçmek için POW kullanarak elde ederiz, böylece işlemin kendisi fikir birliğinden ayrıştırılır.

Ama burada bir sorun var - ya mikro bloklarda yasadışı işlemler varsa? İlk bakışta, sorunu çözmek için doğrudan POW yöntemini kullanabiliriz - "Mikro blokla ilgili bir sorun olduğunu fark ederseniz, sorunlu bloğu yok sayın ve ardından POW'u hesaplayan bir sonraki kişinin bloğu oluşturmasına izin verin." Bununla birlikte, bu yöntem, işlem senkronizasyon hızını tekrar fikir birliğine bağlamakla eşdeğerdir, bu nedenle Bitcoin POW ile aynı sorun olacaktır - yani, tüm işlemleri almak ve doğrulamak için çok geç kalan düğümler, sonunda terk edildiğinde hesaplama gücünü boşa harcayabilir. Zincirde.

Bu nedenle Bitcoin-NG, blok üreticisinin veya işlem bloğunun yerini almayan (hesaplama gücünün boşa gitmesi durumunda), ancak yasadışı işlemleri geçersiz kılan ve blok üreticisini cezalandırabilen bir mekanizmaya ihtiyaç duyar. Bu mekanizmaya "toksik işlem" denir Basitçe ifade etmek gerekirse, yasadışı bir işlem keşfedildiğinde, sonraki düğümler işlemi geçersiz olarak işaretleyebilir ve ardından yasadışı işlemi gönderen blok üreticisi tarafından elde edilen blok ödüllerini kaldırabilir.

Bu durumda, Hibrit Konsensüs (Byzcoin) ile Bitcoin-NG arasındaki benzerlikleri ve farklılıkları karşılaştırabiliriz:

Aynı nokta : Her ikisi de, fikir birliğini işlemden ayırmak için blok (işlem) yerine blok üreticisini seçmek için POW kullanır.

fark : Hibrit Konsensüs'te (Byzcoin) işlem BFT tarafından belirlenir, bu nedenle işlemin zaten güvenilir olduğuna inanıyoruz. Blok üreticisi tarafından Bitcoin-NG'de gönderilen işlem hala doğrulanmamış, bu nedenle yasa dışı olabilir. Bu nedenle, Bitcoin-NG'deki tüm düğümlerin işlemi senkronize ettikten sonra işlemin geçerliliğini doğrulaması gerekir ve ardından Bitcoin-NG, mikro bloklardaki işlemlerin güvenliğini sağlamak için oyun teorisine dayalı başka bir dizi teşvik (ceza) modeli tasarladı.

Yani Bitcoin-NG aslında şu şekilde ifade edilebilir:

Burada, fikir birliği 0, bir tür ön fikir birliğine atıfta bulunur ve daha sonra nihai fikir birliği aktarımdan sonradır. Nihai fikir birliği her zaman ön fikir birliği ile tutarsızsa, bu algoritma aslında Bitcoin POW'a geri dönecektir. Bununla birlikte, nihai fikir birliği çoğu zaman ön fikir birliği ile tutarlı olduğu sürece, bu algoritma genişletilebilir.

Bununla birlikte, ikisi sadece POW'un basit varyantları gibi görünse de, şu hususlara dikkat edilmelidir:

Her ikisi de Bitcoin'in güvenlik modelini değiştirdi - ikincisi, mikro bloklardaki işlemlerin "toksik işlemler" tarafından cezalandırılması gerektiğini, birincisi ise BFT gerektirdiğini, bu nedenle güvenlik varsayımının "hayır" olarak değiştirilmesi gerektiğini söylemiştik. Bilgi işlem gücünün 1 / 3'ünden fazlası kötü niyetli düğümler tarafından kontrol ediliyor ", bu da Bitcoin'in hesaplama gücünün% 50'sini geçmediği varsayımından farklıdır. Dahası, teorik olarak konuşursak, Hybrid Consensus son 100 blok üreticisini değiştirmemiş olsa da, rotasyon bloğunu bloğu tartışan herkese değiştirdi. Bununla birlikte, bu değişiklik insanlara yine de bir merkezileşme hissi verecektir, özellikle bilgi işlem gücünün% 90'ından fazlası Bitcoin POW'daki büyük madencilerin ellerinde yoğunlaştığında, küçük madenciler yine de bloklar üretebilir, ancak komite Bunlar arasında, küçük madencilerin görüşleri büyük madencilerin% 90'ına batacak. Dahası, komite seçimleri böyle bir ikileme düşecektir - örneğin, komite boyutu çok küçükse, olasılığı bilen herkes, bu 10 düğümden 3'ünden fazlasının kötü niyetli olma olasılığının küçük olmadığını, dolayısıyla güvenliğin garanti edilemeyeceğini bilir. Ve eğer bu komite çok büyükse, BFT'nin karmaşıklığı ve gecikmesi çok büyük hale gelecek ve algoritmanın genişlemenin anlamını kaybetmesine neden olacaktır.

Fakat aslında yukarıdakiler dikkat edilmesi gereken bazı teorik problemlerdir, ancak bunlar kusur değildir. Güvenlik açısından, ikisi güvenlik varsayımlarını değiştirmiş olsa da, güvensiz değiller.Bu, Bitcoin POW'dan daha az güvenli oldukları anlamına gelmez.Ne de olsa Bitcoin POW'da bencil madencilik gibi şeyler de var. sorun. Bununla birlikte, Bitcoin'in benzersiz siyasi faktörleri, tüm Bitcoin topluluğunun istekliliği ve güvenlikle ilgili endişeler ve Bitcoin hard forkunun zorluğu, Bitcoin'in algoritmada bu kadar büyük bir değişiklik yapmasına izin vermeyecektir. . Bundan sonra, akademide POW'un popülaritesi de hızla soğudu (önceki makalede BFT'nin geliştirme geçmişine bakın), bu nedenle sadece çok az sistem sonunda bu iki POW algoritmasını benimsedi (tanınmış bir proje Bitcoin kullandı -NG). Ancak ikisinin fikirleri - önce komiteyi, ardından BFT'yi ve önce blok yayıncısını seçme fikri, tamamen Algorand ve Snow-white veya Ouroboros gibi POS algoritmaları tarafından miras alındı. Bunları bir dahaki sefere kullanacağız. konuş.

Ayrıca üçüncü bir yöntem var.

Çatalın neden Bitcoin güvenliğinin azalmasına neden olacağını yeniden düşünmek için kendimizi Bitcoin madencilerine götürelim.

Bir blok aldığınızda, bloğu doğrulamaya başlarsınız, bloğun yasallığını onayladıktan sonra, üzerinde madencilik yapmaya başlarsınız. Ancak, ilk bloğu aldıktan 10 saniye sonra, başka bir blok alırsınız ve ardından, doğrulamayı geçtikten sonra, bunun da yasal olduğunu görürsünüz ...

Şu anda bir ikilemle karşı karşıya kalacaksınız - ilk blokta madenciliğe devam etmeyi seçebilirsiniz, çünkü ilk aldığınızdan beri belki diğer birçok düğümün aynı olduğunu düşünüyorsunuz. Bununla birlikte, başka bir olasılık olduğunu da biliyorsunuz, yani belki ikinci bloğu geç aldınız ve ağdaki diğer düğümler aslında ilk önce ikincisini aldı ... Ama neyse, Yalnızca birini seçebilirsiniz.Yanlış olanı seçmenin sonucu, kazdığınız bloğun en uzun zincirde görünmemesi ve hesaplama gücünüzün boşa gitmesidir.

Aynı zamanda, ağdaki tüm düğümler bu tür seçimler yapıyor ve aynı zamanda hesaplama gücünün boşa gitme riskiyle karşı karşıya kalıyor.Bu, çatal sayesinde Bitcoin güvenliğinin azalmasının sebebidir.

Şu anda bir resim düşünüyoruz - neden ikisine birden sahip olamıyoruz?

Böylece, daha sonra Ethereum'da kullanılan algoritma olan GHOST'u aldık. Bu algoritmada, bir önceki blokla aynı yükseklikte birkaç bloğun aynı anda işaretlenmesine izin verilir ve daha sonra bunlardan biri ana blok olan "ana blok" ve diğerleri "amca blok" dur. Ana bloktaki işlem, Bitcoin POW'un ana bloğu ile aynı şekilde değerlendirilirken, amca bloğu yalnızca blok başlığını kaydeder ve kalan işlem kısmı doğrulamadan sonra atılır. O zaman en önemli kısım Bitcoin POW'un en uzun zincirinin mutabakatını en ağır zincirin mutabakatına değiştirmektir, yani çatal derinliği de en uzun zincirin istatistiklerine dahil edilmiştir, yani bu hesaplama yöntemini aldık .

Bu resim Ghost gazetesinden alıntılanmıştır, aşağıdaki bağlantıya bakınız.

Bu sayede çok sayıda çatal bulunan bir ağda bile kötü niyetli düğümler bir avantaj elde etmeyecek çünkü 1 derinliğe sahip bir çatalın hesaplama gücü israf edilmek yerine sistemin güvenliğine katkı sağlayacaktır.

Bu şekilde, Bitcoin POW'un çıktısını biraz artırabiliriz çünkü senkronizasyon gereksinimlerimiz eskisi kadar yüksek değil.Bloktaki tüm işlemler bir sonraki mutabakat aşamasının başlamasından önce senkronize edilebildiği sürece, yine de sistemi etkilemeyecektir. Emniyet.

Bununla birlikte, bu yaklaşım hala sınırlıdır - hala gerçek ölçeklenebilirliği elde edemiyoruz çünkü blok boyutunu artıramayız veya blok aralığını sınırsız olarak azaltamayız. Sorun şu ki derinlik > 1 çatalı hala fikir birliğine dahil edilemez, bu nedenle yine de hesaplama gücü israfına neden olacaktır. Başka bir deyişle, fikir birliği ve aktarımı bir dereceye kadar paralel hale getirdik, ancak tam olarak değil.

GHOST bu şekilde genişletilirse, derinlik > 1'in çatalı da dahildir, yani yeni bir blok çıkarıldığında, önceki yüksekliğin bloğunu işaret etmesi gerekmez, aynı zamanda önceki bloğu da gösterebilir. Başka bir deyişle, işlem senkronizasyonu için artık bir zaman sınırı yoktur. Hatta, amca bloğundaki işlemleri atmayı değil, hepsini defterin bir parçası yapmayı ve ardından çakışan işlemleri ve tekrarlanan işlemleri belirlemek için tutarlı bir algoritma kullanmayı düşünebiliriz, böylece Inclusive Blockchain elde edeceğiz. Protokol, Spectre ve hatta Phantom ve Conflux. Başka bir deyişle, Bitcoin POW, herkesin şimdilik istekli olduğu bir DAG'ye dönüştü.

İdeal durumdaki bir DAG'de madencilerin, hesaplama gücünü boşa harcamamak için hangi bloğu geride bıraktıkları veya bloklarının halihazırda gerçekleşmiş veya çakışan işlemler içerip içermediği konusunda endişelenmeleri gerekmez - sadece istediklerini yapın. Sadece bildiğiniz en yakın bloklara bağlanın ve blokları göndermek için bir POW yapın. Sonunda, sistem kendi başına bir fikir birliğine varacak ve bu fikir birliği, kötü niyetli düğümün çifte ödemesinin maliyetinin hala tüm ağın bilgi işlem gücünün% 50'si olmasını sağlamak için ağdaki tüm madencilerin bilgi işlem gücünü kullanabilir.

Başka bir deyişle, sistemi aşağıdaki şekilde gösterildiği gibi elde ediyoruz - bant genişliği veri iletmek için kullanılabilir ve buna paralel olarak fikir birliği yapılabilir - bu ölçeklenebilir POW'un bir başka fikri.

Bu sefer, esas olarak Bitcoin POW'un ölçeklenebilir olmamasının nedenlerini ve ölçeklenebilir POW için iki fikri tanıttık.

Bir sonraki sayıda, POS ve DAG'ın temel ilkelerini ve zorluklarını ölçeklenebilir bir bakış açısıyla tanıtmak için bu fikri takip edeceğiz ve POS kategorisinde Ouroboros, Algorand, Dfinity ve DAG kategorisinde Phantom ve Conflux gibi bazı yıldız projeleri tanıtacağız.

Yeni Honda Fengfan 79.800'den başlayarak piyasada. Dış ve iç kaplamalara ince ayar yapıldı ve konfigürasyon küçüldü mü?
önceki
Göz açıcı! Alibaba Cloud, emlak endüstrisinin kendisini dönüştürmesine yardımcı oluyor ve Nesnelerin İnterneti altındaki bilim kurgu topluluğu şöyle ...
Sonraki
Jingdezhen Changnan Gölü Sulak Alan Parkı açılarak "Jingdezhen Hızına" tanıklık edildi ...
Evde kullanım için ne tür bir araba iyidir? Bu modeller 70.000 yuan'dan başlıyor ve birkaç yıl açılması sorun değil!
Yüksek değerli lüks marka SUV, 5.0L gibi düşük yakıt tüketimi, sadece 270.000'e satılan altıncı ülkeyi hala karşılıyor mu?
İnsanlar kalmak için para alıyor! Xu Mingxing, OKCoin tüzel kişisi olarak istifa etti, ancak yine de öz sermayenin yaklaşık% 80'ini kontrol ediyor
Havacı'nın MV'si Rüzgarı gök gürültüsü ile sür, gökkuşağını sabah gökyüzünde dans et, mavi gökyüzü sadakatimle dolu!
Eski Wuhan, köprü inşa edilmeden önce bu şeylerin nehri geçmek için kullanıldığını biliyor Yeryüzü Bilgi Bürosu
Bu araba Mayıs ayında 38.526 adet sattı ve şimdi saf elektrikli versiyon geliyor.
Yeni Fit Pozlama! Porsche'nin 1.0T üç silindirli yuvarlak lambası! Bir Honda süper arabası olabilir misin?
Blockchain teknolojisi, görsel Çin olaylarının tekrarını önleyebilir mi?
Dün akşam gökkuşağı porselen başkentini geçti! Arkadaş çevresi, Jingdezhen'in güzel şehir çevresinin hayranı ...
Politikacılar, kampanyalarında ivme kazanmak için mülteci sorunlarını kullanıyor ve bu Avrupa ülkesi giderek daha ayrıcalıklı hale geliyor
Orta ve üst düzey otomobil pazarında C konumu için verilen savaş, sekizinci nesil Camry sahnede
To Top