Babbitt sütunu

"Sık sık nefes kesici fırsatlarla karşılaşıyoruz, ancak tekrar tekrar imkansız sorunlar olarak görülüyorlar" - John. Gardner, 1965

Beş dakikalık kısa versiyon

Monoksit, Katman 1'in blok zinciri teknolojisidir. İşlem yapısının herhangi bir yerel özelliğini üstlenmez ve konsensüs grupları arasındaki işlemler üzerinde herhangi bir baskı yoktur. Performans iyileştirmesi, bölünmüş fikir birliği gruplarının sayısına göre belirlenen çıktı ve durum kapasitesini içerir. N uzlaşı grubu, iş hacmi artışının n / 2 katını ve durum kapasitesinin n katını artıracaktır. Mevcut İnternet ortamında, n, performans iyileştirmenin üst sınırı olan on binlerce kişiye ulaşabilir. Temel teknoloji atılımı bir merkez ve iki temel noktadır:

Bir merkez, paralel, eşzamansız ve bağımsız olarak çalışan ve dört yönden çalışan çok zincirli bir mimaridir (n fikir birliği grubu): ağ iletişimi (ağ), sözleşme hesaplama (CPU), durum ifadesi (bellek) ve işlem arşivleme (disk) Tüm dilimleri, sözde "tam dilimler" olarak adlandırın. Konsensüs grubu, fikir birliğini bağımsız olarak tamamlayan, işlemleri bağımsız olarak kontrol eden ve yürüten ve gruptaki kullanıcıların durumunu ve geçmişini bağımsız olarak tutan kilitsiz bir çok zincirli mimaridir.

İlk temel nokta, parçalar arası işlemlerin verimli bir şekilde işlenmesidir. İşlemdeki atomik işlemleri farklı konsensüs gruplarını içeren çoklu işlemlere bölen "nihai atomikliği" öneriyoruz, böylece bunlar paralel olarak işlenebilir ve serpiştirilebilir. Mutabakat grupları arasında eşzamansız mesaj transferini tamamlamak ve bir işlemin röle yürütmesini tamamlamak için tek zincirli sistemdeki mevcut onaylanmamış işlemler setini kullanın. Parçalar arası işlemlerin performans üzerindeki etkisi, tüm ağda kaç tane fikir birliği grubu olduğuna bakılmaksızın en fazla yarı yarıya azalır.

İkinci temel nokta, çok zincirli bir yapıda dağınık bilgi işlem gücü sorununa etkin bir şekilde direnmektir, yani bir saldırgan, belirli bir fikir birliği grubuna saldırmak için bilgi işlem gücü toplayabilir (% 1 saldırı). Başarılı bir hash araştırmasına izin veren "Liannu Madenciliği" ni, birden fazla fikir birliği grubunda eşzamanlı olarak blok üretme haklarını ve çıkarlarını elde etmeye izin veren "Liannu Madencilik" i önerdik. Fiziksel hesaplama gücünü (hash hesaplama hızı) karşılık gelen etkin hesaplama gücünün (gerçek blok oluşturma hızı) n katına kadar artırın. Ve bu n-kat büyütmeden sonra hesaplama gücü her bir fikir birliği grubuna eşit olarak dağıtılmalıdır. Bir saldırgan, belirli bir fikir birliği grubunu hedeflemeye çalışırsa, Liannu madenciliğinin getirdiği bu tür bir hesaplama gücü yükseltmesini elde edemez. Sonuç olarak, tek bir fikir birliği grubuna yapılan saldırılar hala tüm ağın fiziksel bilgi işlem gücünün% 51'ini gerektirir.

İlke tam sürümde açıklanmıştır

İşte bir poster:

NSDI 2019 konferans salonunda sergilenecek bildirimizin afişi, "Monoksit" in tasarım mimarisini ve uygulama ilkelerini herkesin daha iyi anlayabilmesi için ilk kez okuyucularla paylaşılacak. Makalemizin NSDI konferansına dahil edildiği haberinden bu yana, özel araştırma sonuçlarını bilmek umuduyla arkadaşlarımdan ve medyadan birçok soru aldım. Geçen hafta "Monoksit" in temel prensiplerini ve deneylerin sonuçlarını tanıtan "Blockchain'in İmkansız Üçgenini Aşmak: Asenkron Konsensüs Grubu Monoksit" adlı bir makale yazdım ve ardından detaylı tasarım ve algoritma hakkında bilgi edinme umuduyla çok sayıda geri bildirim aldım. . Bu nedenle, NSDI konferansından önce yukarıdaki posterin mantığını takip etmeye ve Monoksit'in mimari tasarımını ve algoritma detaylarını tanıtmaya karar verdim.

Monoksit mimarisi, fikir birliği grubunda fikir birliği mekanizması olarak farklı fikir birliği algoritmalarını kullanabilse de, bu yazıda en basit ve en temiz Nakamoto mutabakat algoritmasına (Proof-of-Work) dayanarak tartışacağım. Monoksit, blok zincirinin güvenlik, performans ve ademi merkeziyetçilik ihtiyaçlarını aynı anda karşılayacaktır.

İlk köşe: nasıl güvende olunur

Blockchain sistemi, tehlikeye atılamayacak şekilde güvenli olmalıdır, aksi takdirde diğer tüm özellikler anlamsız olacaktır. Teknik göstergelerin özel uygulaması, sistemde bir dizi yasadışı blok inşa etmenin ve tüm ağ tarafından tanınmanın maliyetidir. PoW fikir birliği mekanizması söz konusu olduğunda, bu fiyat saldırı için minimum madencilik gücüdür. Nakamoto fikir birliği algoritması, kötü niyetli bilgi işlem gücü% 50'nin altında olduğunda sistemin güvenli olduğunu garanti eder. Monoksit mimarisini benimsedikten sonra,% 50 bilgi işlem gücünün güvenlik marjının önemli ölçüde daha düşük olmayacağını garanti ediyoruz. Aynı zamanda, Nakamoto algoritmasının blok üreticisinin her zaman çevrimiçi olmasını gerektirmeyen diğer güvenlik özelliklerini miras aldık ve tam düğümün fiziksel IP adresi yalnızca küçük bir aralıkta açığa çıkıyor.

Köşe 2: Yüksek performans nasıl hesaplanır?

Monoksit mimarisi, her bir fikir birliği grubunun dört ana iş yükünü tamamen izole edecektir: bant genişliği (yayın blok verileri ve onaylanmamış işlemler), hesaplama (işlemleri doğrulayın ve defterin durumunu güncelleyin), bellek (defterin en son durumunu saklayın), disk okuma Yazın (tarihsel bloğu kaydedin). İşin izolasyonu karşılayan yalnızca bir kısmını, yani sözde ağ segmentasyonu, işlem segmentasyonu ve durum segmentasyonu tamamlamak yerine, gerçekten yüksek oranda ölçeklenebilir bir blok zinciri sistemi elde etmek için, yükün bu dört yönünün tümünün segmentlere ayrılması ve izole edilmesi gerektiğini vurguluyoruz. levha. Teknik göstergelere özel olarak, performans iki yönü içerir; biri iyi bilinen verim, yani saniyedeki maksimum işlem sayısı (TPS) ve diğeri, genel defterin durumunu ifade etmek için tüm ağın toplam etkin belleğidir. İlki hız, ikincisi ise kapasitedir. Üretimin yaklaşık n / 2 katı doğrusal bir artış ve durum kapasitesinin n katı doğrusal bir artış elde ettik (örnek olarak ödeme işlemi hesaplamasını ele alarak). Burada n, fikir birliği gruplarının sayısıdır ve gelişme, fikir birliği grubu içinde benimsenen tek zincirli fikir birliği sisteminin performansına bağlıdır. Artık tek zincirli bir fikir birliği sistemi, yüzlerce TPS'lik bir verimi ve onlarca GB'lık bir durum alanını kolayca elde edebilir. Unutmayın ki bu, Monoksit'in performansı sonsuza kadar iyileştirebileceği anlamına gelmez.Mevcut İnternet ortalama bant genişliğinin (15Mbps) kısıtlamaları altında, fikir birliği gruplarının n sayısı yalnızca onbinlere ulaşabilir.

Üçüncü üçgen: nasıl ademi merkeziyetçi olunur

İlk olarak, halka açık zincir izinsiz bir sistem olmalıdır ve sistemde nitel bir gereklilik olan yeri doldurulamaz roller veya düğümler yoktur. Bu gereksinimi karşıladıktan sonra, ademi merkeziyetçilik, belirli teknik göstergelere, yani tam düğüm katılımının eşiği olan tüm ağın (kısmen veya tamamen) denetimine başarılı bir şekilde katılmak için ne kadar BT kaynağının gerekli olduğuna uygulanabilir. Bu eşik için en kritik faktör bant genişliğidir.Yüksek bant genişliği yalnızca bir veri merkezinde devreye alındığında elde edilebilir ve bağlantısının coğrafi konumunun izlenmesi de kolaydır; CPU, bellek, disk vb. Gibi diğer kaynaklar belirli coğrafi kısıtlamalardan muaf olabilir. , O da izlenemez, sadece biraz para harcayın. Monoksit mimarisi birkaç büyüklükte performans iyileştirmesi elde ederken, tam düğümün bant genişliği tüketimini sıradan ev İnternet erişiminin taşıyabileceği aralıkta (15Mbps) her zaman kontrol etmiştir, böylece Monoksitin tam düğümü Ethereum'un tam düğümü gibi olabilir. Evde sıradan bir bilgisayar bulun ve çalıştırın. Aynı zamanda, Monoxide'in fikir birliği grubu, tarihsel işlem arşivlemesinin iş yükünü böler, böylece tam bir düğümü tamamen senkronize etme süresi mevcut Ethereum'dan yüzlerce kat daha az olacaktır. Tam düğümler için giriş engelini vurgulamanın nedeni, bulut bilişim gibi belirli düğümlere (veya sunuculara) güvenmek yerine, yalnızca tam düğümlerin işlemleri bağımsız olarak doğrulayabilmesi ve defterin durumunu diğer düğümlere güvenmeden yeniden oluşturabilmesidir. Bu, blok zinciri ve bulut bilişim arasındaki temel farklardan biridir.

Genel tasarım

Genel olarak, Monoksit'in tasarım felsefesi olabildiğince basit olmaktır Yukarıdaki üçgen özellikleri karşılama öncülü altında, ek öğeler, ek mekanizmalar sunmamaya çalışın ve mevcut mekanizmaları mümkün olduğunca az değiştirin. Monoksit ağı, eşzamanlı çok zincirli bir sistemdir ve her zincire bir "konsensüs grubu" adı verilir. Her bir konsensüs grubunun bileşenleri, mevcut tek zincirli sistemle tamamen aynıdır.Kendi hesap defteri durumuna, blok zincirine, onaylanmamış işlemlerin koleksiyonuna, blok verilerini ve işlem verilerini senkronize eden bir yayın ağına ve bir grup tam düğüme (madenciler dahil) sahiptir. ). Mutabakat grupları tamamen eşittir ve birincil ve ikincil arasında hiçbir ayrım yoktur.Bu ağa ek olarak, başka bir rol yoktur.Önceki şemalarda önerilen ana zincir, kök zincir ve benzeri yoktur ve genel durum üzerinde herhangi bir kontrol yoktur. Düğüm veya doğrulama düğümü planlanıyor. Bu varlıkların tanıtılması, bazı işlevlerin (dinamik yük dengeleme gibi) uygulanmasını kolaylaştıracak, ancak merkezi olmayan özelliklerden ödün verecek ve hatta ciddi performans darboğazlarına yol açabilecek.

Ağın tamamındaki tüm fikir birliği grupları bir tamsayı (0 - n-1) ile numaralandırılır ve toplam fikir birliği gruplarının sayısını 2'nin kuvveti ile sınırlandırırız, yani n = 2 ^ k. Herhangi bir hesap defteri adresi, adres ikili verilerinin ilk k bitine dayalı olarak kalıcı olarak bir konsensüs grubuna atanır. Her işlem, işlemin doğrulayıcısının adresine (örneğin, transfer işleminin ödeyeni) göre doğrulayıcının ait olduğu fikir birliği grubuna atanır. Bu nedenle, Monoksit ağının bölünmesi, adresleri ve işlemleri tahsis etmek için herhangi bir merkezi mekanizma gerektirmez.

Tüm Monoksit ağı, her bir konsensüs grubunun blok oluşturma sürecinden ve onaylanmamış işlemler kümesinden tamamen bağımsızdır.Konsensüs grupları tamamen paraleldir, eşzamansızdır ve kilitlenmesi ve senkronize edilmesi gerekmez.Belirli bir konsensüs grubu tıkalı olsa bile, diğer fikir birliği gruplarının verimine ve verimine müdahale etmez. Engellemek.

Tüm Monoksit ağı, her bir konsensüs grubunun bağımsız yayın alt ağlarından oluşur, ancak bu yayın alt ağları üst üste gelmez ve birbirlerini rahatsız etmez. Tasarımımızda, bu yayın alt ağları DHT Swarm tarafından uygulanmaktadır ve her yayın alt ağı bir Swarm'a karşılık gelir. Yeni başlatılan tam düğüm, katılmak istediği fikir birliği grubu numarasına göre Swarm adresini doğrudan hesaplar ve ardından aynı fikir birliği grubundaki diğer tam düğümleri bulmak için DHT yönlendirme mekanizmasını kullanır ve ağa bağlanmaya ve katılmaya çalışır. Tam düğümler rastgele bir veya daha fazla fikir birliği grubuna katılmayı seçebilir veya üst düzey uygulama tarafından belirlenebilir. Örneğin, cüzdan düğümleri, hesap bakiyelerinin durumunu gerçek zamanlı olarak elde etmek için genellikle oturum açmış kullanıcının cüzdan adresinin bulunduğu konsensüs grubuna katılır. Monoksit tam düğümü, Ethernet tam düğümünden önce meydana gelen RPC arabiriminin güvenlik risklerinden kaçınmak için herhangi bir kullanıcı oturum açma durumunu veya kullanıcı özel anahtarlarını kaydetmez. Üst düzey uygulama talep etmedikçe, genellikle bir konsensüs grubunun tam düğümleri başka bir konsensüs grubunun düğümlerine aktif olarak bağlanmayacaktır.

Benzer şekilde, madenciler, her bir fikir birliği grubunda blok ödülleri elde etmek için madencilik için bir veya daha fazla fikir birliği grubuna katılmayı özgürce seçebilirler. Normal koşullar altında, madenciler daha yüksek karlar elde etmek için daha düşük mevcut hesaplama gücüne sahip fikir birliği gruplarına katılmayı tercih eder, bu da her bir fikir birliği grubunun tutarlı bir madencilik gücüne ve blok zorluğuna yakınsamasına neden olur.

Bu tasarımdan Monoksit mimarisinin blok zincir üçgenini karşıladığını görebiliriz.

1. Güvenlik

Mutabakat gruplarının kendileri güvende olduğu sürece, Monoksit güvende olacaktır. İşlemlerin güvenliği ve doğruluğu (çifte harcamadan kaçınmak gibi), her bir konsensüs grubu içindeki fikir birliği algoritmasına bağlıdır. Monoksit'in tüm ağının Sybil saldırılarına tepkisi, aynı zamanda fikir birliği grubu içindeki fikir birliği algoritmasının direncine de bağlıdır. PoW söz konusu olduğunda, her bir fikir birliği grubunun güvenliği, kendi iç madencilik gücüne bağlıdır. Bu nedenle, Monoksit mimarisinin güvenlik garantisinin özü, dağınık hesaplama gücü sorununa direnebilmektir, yani, tüm ağın hesaplama gücü her bir konsensüs grubuna dağıtıldıktan sonra, her bir konsensüs grubunun hesaplama gücü tüm ağın 1 / n'si olacaktır. Konsensüs grubunun savunma engeli% 51 / n'ye düşecek (sözde% 1 saldırı). Bu tamamen kabul edilemez bir değer olacaktır. Monoksit, dağınık hesaplama gücü sorununu çözmek için, tek bir konsensüs grubunun savunma engelini% 51'e geri getiren Chu-ko-nu Madenciliği'ni tanıttı.

2. Performans

Her bir konsensüs grubunun blok doğrulaması, depolama ve hesap defteri durum güncellemesi tamamen bağımsız olduğundan, bu üç husus, maliyet olmaksızın sınırsız doğrusal iyileştirmeler elde edecektir. Konsensüs gruplarının uğraşması gereken tek yer, konsensüs grupları arasındaki işlemleri doğru bir şekilde ele almaktır. Bu, performans iyileştirmesini veri aktarımı açısından maliyetli hale getirir ve sınırsız değildir. Monoksit, karşılıklı mutabakat grup işlemlerini verimli bir şekilde tamamlamak için, Nihai Atomicity'yi tanıttı, böylece karşılıklı mutabakat grubu işlemlerinin oranı% 100'e yakın olsa bile, tüm ağ işlem hacmini kolayca tamamlayabilir ve performans maliyeti bir fikir birliğidir. Grup sayısından bağımsız sabit.

3. Ademi merkeziyetçilik

Yukarıdaki açıklamaya göre, Monoksit hala tam bir izinsiz sistemdir ve her bir konsensüs grubundaki tam düğümlerin yükü, her zaman tek zincirli bir sistemi sürdürmekle aynı seviyede tutulmuştur ve İnternet erişimi olan çoğu kişiye kolayca dağıtılabilir. köşesi.

Özetle, tezin en önemli iki teknik katkısı Chu-ko-nu Madencilik ve Nihai Atomikliktir. Daha sonra, bu iki yönü ayrıntılı olarak genişleteceğiz ve Bitcoin veri yapısını bu iki mekanizmanın PoW konsensüs protokolünü nasıl iyileştirdiğini göstermek için bir plan olarak kullanacağız.

Chu-ko-nu Madenciliği (Chu-ko-nu Madencilik)

PoW konsensüs mekanizmasında, madencilerin blok başlığındaki Nonce'yi rastgele araştırması ve hash fonksiyonunu yeniden hesaplaması gerekir, böylece bu blok başlığının hash değeri, hesaplama gücünün mevcut zorluğunu karşılayabilir ve blok sonunda üretilebilir. Bu sürecin darboğazı, hash fonksiyonunun hesaplanma hızıdır, dolayısıyla madencilik gücü hash rate (Hashrate) olarak tanımlanır. Burada gerçek hash hesaplama hızını Fiziksel Madencilik Gücü olarak tanımlıyoruz Fiziksel madencilik gücünü geliştirmenin tek yolu daha fazla madencilik makinesi kullanmak ve daha fazla elektrik tüketmektir.

Bununla birlikte, PoW fikir birliği mekanizmasında, her bir madencinin fiziksel hesaplama gücü doğrudan bilinemez.Bu fiziksel hesaplama gücü, nihayetinde belirli bir madencilik zorluğu altındaki blok oluşturma hızına yansır. Tüm ağ hesaplama gücü istatistikleri de bu blok oluşturma hızının karma oranına dayalı olarak tahmin edilir. Bir hashrate saldırısı gerçekleştiğinde, ister en uzun zincir ister en zor alt ağaç (Ghost protokolü) olsun, her bir madencinin gerçek hash oranından ziyade her çatalda üretilen blokların sayısına ve zorluğuna bağlıdır. Madencilik zorluğuna ve blok oluşturma hızına bağlı olarak geri hesaplanan bu hash oranını etkin madencilik gücü (Effective Mining Power) olarak tanımlıyoruz. Tabii ki, tek zincirli bir sistemde, etkili hesaplama gücü ve fiziksel hesaplama gücü istatistiksel anlamda tamamen eşittir.

Yukarıda bahsedilen hesaplama gücü dağılımı problemi bir saldırı modelidir: N tane konsensüs grubuna sahip bir Monoksit sisteminde, tüm ağın etkin hesaplama gücü H'dir ve her bir konsensüs grubunun etkili hesaplama gücü H / n'dir. Bir saldırgan bir saldırı gerçekleştirdiğinde, tüm fiziksel bilgi işlem gücü T'yi belirli bir fikir birliği grubuna tahsis eder ve bu fikir birliği grubunda etkin bilgi işlem gücü T elde eder. Fiziksel bilgi işlem gücü T'yi aştığında > H / n ×% 51 olduğunda, saldırı başarılı olacak ve tutarsız bir işlem (çift harcama işlemi gibi) oluşturulacaktır.

Bilgi işlem gücüne odaklanan bu saldırı modeline direnmek için fikrimiz, madencileri bilgi işlem gücünü çeşitli fikir birliği gruplarına dağıtmaya zorlayarak, belirli fikir birliği gruplarına saldırmak için bilgi işlem gücünü yoğunlaştırmayı imkansız hale getirmektir. Ancak merkezi olmayan, izinsiz bir sistemde, madencilerin fiziksel bilgi işlem güçlerini nasıl tahsis ettiklerini kontrol edemeyiz. Monoksit, tüm ağın etkin hesaplama gücünü fiziksel hesaplama gücünün n katına çıkarmak olan Liannu madenciliğini tanıttı ve protokolün veri yapısı düzeyinde, bu güçlendirilmiş etkili hesaplama gücü her birine eşit olarak dağıtılmalıdır. Konsensüs grubu, böylece bilgi işlem gücüne odaklanarak bu saldırı modelini atlatır.

Liannu Madenciliği, madencilerin ardışık sayılarla (örneğin, b'den b + m-1'e kadar) çoklu konsensüs gruplarına katılmalarına izin verir.Bir blok her oluşturulduğunda, hash fonksiyonu, hesaplama için oluşturulacak birden fazla blok başlığını kapsayacaktır. Bu bloklar bir nonce paylaşacak. Spesifik yöntem, bir Merkle ağacı oluşturmak için m bloğu başlıklarını düzenlemektir. Ardından, karma hesaplama aşağıdaki veri yapılarını kapsayacaktır:

< MerkleRoot, b, m, Nonce >

Blok üretildiğinde, aşağıdaki veri yapısı belirli bir konsensüs grubuna i (bi < b + m), sadece konsensüs grubunun blok başlığını ve blok başlığının dahil edildiğine dair bir kanıt içerir ve diğer konsensüs gruplarının blok başlıklarını kapsamaz.

< MerkleRoot, b, m, Nonce, Block_i, MerkleTreePath_i >

Bunlar arasında, MerkleTreePath_i, 32 × log_2 m bayt gerektiren Merkle ağaç yolundaki Block_i'nin sol ve sağ kardeş düğümlerinin hash değeridir. Merkle ağacındaki Block_i'nin pozisyonunun burada açıkça belirtilmediğini, ancak Block_i'deki konsensüs grup numarasının hesaplamak için b'den çıkarıldığına dikkat edin.Bu, Liannu'yu madencilik bloklarından kısıtlamak içindir, her bir konsensüs grubu yalnızca Bir blok.

Bu yapıdan, Liannu madenciliği durumunda bile, her bir konsensüs grubunun diğer konsensüs gruplarının blok üretiminden etkilenmeyeceği görülebilir. Liannu madenciliği, tüm fikir birliği gruplarının bu blokları eşzamanlı olarak kabul etmesini gerektirmez ve hatta bazı bloklar, diğer fikir birliği gruplarındaki diğer blokların kabulünü etkilemeyecek şekilde, nihayetinde geçersiz çatallanma olarak kabul edilir. Aynı zamanda bu yapı, Liannu madenciliğinin farklı hesaplama gücü zorluklarına sahip fikir birliği gruplarını içermesine izin verir.Bazı fikir birliği gruplarının madencilik zorluğu karşılandığında, bu bloklar önce gönderilebilir.

Liannu Madencilik, madencilerin etkin hesaplama gücünü artırır ve aynı zamanda fiziksel hesaplama gücü birimi başına elde edilebilecek blok ödüllerini artırır. Aynı fiziksel hesaplama gücü ve aynı enerji tüketimi, madenciliğe katılan ne kadar çok fikir birliği grubu olursa, o kadar çok alırsınız Blok ödülü daha fazla olacak. Bu nedenle, tüm ağın ana akımına yakınlaşacak madenciler, Liannu'yu madencilik yapmak ve tüm fikir birliği gruplarına katılmak için kullanacaklar. Sonuç olarak, tüm ağın etkin hesaplama gücü H × n'ye ve tek bir konsensüs grubunun etkin hesaplama gücü H × n'ye ulaşır. Bu, tek bir konsensüs grubuna saldırmak için gereken fiziksel bilgi işlem gücünü, tüm ağın fiziksel bilgi işlem gücüne eşdeğer kılar ve bilgi işlem gücüne odaklanan saldırılara etkin bir şekilde direnir.

Birden fazla fikir birliği grubu madenciliğine aynı anda katılmak, her bir konsensüs grubunun işlemlerini ve bloklarını (yalnızca blok başlıklarını değil) senkronize etmek ve doğrulamak için daha fazla BT kaynağı gerektirir ve ayrıca daha fazla disk depolama ve bellek gerektirir. Ademi merkeziyetçilik hususlarına göre, Liannu madenciliğine katılıp katılmamak ve ilgili fikir birliği gruplarının sayısı madencilerin kendi başlarına yapılandırabilecekleri bir seçenektir Monoksit tüm madencilerin tüm fikir birliği gruplarının madenciliğine katılmasını gerektirmez.

Daha fazla fikir birliği grubuna katılmanın BT kaynak ek yükünde doğrusal bir artış gerektireceği doğrudur, ancak maliyet açısından bunlar ve büyük madenlerdeki madencilik makinelerinin ek yükü göz ardı edilebilir. Teknik olarak konuşursak, bir madencilik çiftliği hiçbir zaman bir düğüm değil, yüzlerce madencilik makinesinden oluşan bir küme olmadı. Mutabakat grubunun bağımsızlığı sayesinde, tüm fikir birliği gruplarının madenciliğine katılan bir madencilik çiftliği, her bir konsensüs grubunu izlemek için farklı ana bilgisayarlar ve işlem yapısını onaylamak için farklı ana bilgisayarlar kullanarak şirketi içinde ölçeklenebilir bir madencilik veri merkezini kolayca uygulayabilir. Yeni bloklar daha sonra dahili yüksek hızlı ağda toplanır ve bu blok başlıklarının karmaları (Merkle'nin yaprak düğümleri) madencilik makine kümesine gönderilir. Bu nedenle madencilik havuzunun tüm konsensüs gruplarının işlemlerini ve durumlarını senkronize etmesi ve işlemesi gerekse bile sistemin ölçeklenebilirliğinden ödün vermez.

Son olarak, bu arada Merge Mining, madencilerin aynı anda birden fazla zincirin madenciliğine katılmasına izin vermesi bakımından benzer. Bununla birlikte, Liannu madenciliğinin orijinal tasarımı, çalışma senaryosu ve ortak madencilikten tamamen farklıdır.Birincisi, etkin hesaplama gücünü arttırmak ve yükseltilmiş hesaplama gücünü, hesaplama gücünün belirli fikir birliği gruplarına saldırmasını önlemek için fikir birliği grupları arasında bölünmeye zorlamaktır. İkincisi, küçük bilgi işlem gücüne sahip zincirlerin güvenliğini sağlamak için büyük bilgi işlem gücüne sahip zincirleri ödünç almaktır.

Nihai Atomiklik

Monoksit'te, kullanıcıları ve işlemleri konsensüs gruplarına atamak için çok basit ve merkezi olmayan bir yol kullanıyoruz.Karşı görüş birliği grubu işlemlerinin olasılığını azaltmaya çalışmıyoruz. İşlem yapısının yerelliğinin kullanımının Katman 2 teknolojisinin bir sorunu olduğuna inanıyoruz. . Tüm ağın performansı ne kadar yüksekse, konsensüs gruplarının sayısı o kadar fazla ve konsensüs grupları arası işlemlerin olasılığı o kadar yüksek olur Bu, önlenebilecek bir sorun değildir. Deneyimizde, konsensüs gruplarının sayısı 64'e ulaştığında, çapraz konsensüs grubu işlemlerinin oranı% 95'i aştı (deneyin test verileri, Ethereum ERC20'nin tam tarihsel işlem kaydıdır). Monoksit, etkili bir çapraz konsensüs grubu işlem işlemini gerçekleştirmek için nihai atomikliği sunar, böylece her bir çapraz konsensüs grubu işleminin neden olduğu ek yük, küçük bir sabittir ve konsensüs gruplarının sayısıyla ilgisi yoktur.

Blockchain sisteminde her işlem atomik bir işlemdir. Tek zincirli bir sistemde, tek bir iş parçacığı gibidir.Bu atomik işlem, işlemler orijinal olarak tek tek onaylanıp işlendiğinden, sistemin herhangi bir ek şey yapmasına gerek kalmadığı ve atomiklik doğal olarak garanti edildiği için vurgulanmaz. Monoksit'te, farklı adreslerin durumları farklı fikir birliği gruplarında tutulur ve birbirlerine görünmezdir ve durum güncellemeleri de tıpkı çoklu iş parçacığı gibi iki farklı zincir tarafından yönlendirilir. Böyle bir mimari altında atomik bir operasyonun doğru ve güvenli bir şekilde tamamlanması basit bir mesele değildir. Genellikle çoklu iş parçacığını koordine etmek için iki yöntemimiz vardır, biri birbirinin ilgili kaynaklarını kilitlemek, diğeri ise mesajları iletmektir. İkincisini seçtik, çünkü bir yandan kilitleme, karşılık gelen fikir birliği grubunun verimini engelleyecek ve performansı ciddi şekilde etkileyecektir, çünkü tüm tek zincirli blok zincirleri bir mesaj iletme mekanizmasıyla doğmuştur (onaylanmamış işlem seti) , Böylelikle yeni varlıkların piyasaya sürülmesinden kaçınılır.

Tasarımımızı tanıtmak için en basit ödeme işlemini örnek alalım. A adresinden B adresine bir miktar x ve A ve B ile yapılan bir ödeme işlemi farklı konsensüs gruplarında yer alır. Bu, bir kesinti işlemi içeren atomik bir işlemdir, bu işlemin koşulları vardır ve farklı yürütme sırası farklı durumlara yol açacaktır. Diğeri depozito işlemidir, bu işlem koşulsuzdur ve farklı yürütme dizileri tutarsız son durumlara yol açmayacaktır.

Bu tür bir işlem mantığı için, Monoksit ilk olarak fikir birliği grubu A'da görünecek ve kesinti işlemini tamamlamaya çalışacaktır. Başarılı olursa, onaylanmamış özel bir işlem olan bir geçiş işlemi, B konsensüs grubuna iletilecektir. Aktarma işlemleri, hangi parametrelerin kullanıldığını ve akıllı sözleşmedeki hangi işlevlerin çağrıldığını açıklayan sıradan onaylanmamış işlemlerle aynıdır. Olağan onaylanmamış işlemlerden farklı olarak, izin doğrulama yöntemidir. Onaylanmamış olağan işlemler genellikle cüzdan tarafından verilir ve yetki, dijital bir imza ile doğrulanır. Aktarma işlemi, başka bir konsensüs grubundan bir blok kanıtı taşır:

< ZoneId, Height, RelayMerklePath_t, t >

Bu aktarma işlemini doğrulamak için, konsensüs grubunun blok başlığı iki MerkleRoot içerecektir, biri bu blok tarafından onaylanan tüm işlemleri kapsayan mevcut Merkle ağacı ve diğeri bu bloktaki işlem tarafından gönderilen yeni teminattır. Tüm aktarma işlemleri. İkincisi, diğer fikir birliği grupları tarafından alınacak ve kendisi tarafından gönderilen geçiş işlemlerini doğrulamak için kullanılacaktır.

Varsayılan olarak, aktarma işlemlerinin yapımı ve iletilmesi, ilk işlemi onaylayan madenci (fikir birliği grubu A'da) tarafından tamamlanır. Bu iletmenin başarısız olması durumunda, A konsensüs grubundaki herhangi bir tam düğüm, ek bir fikir birliği veya kanıt olmaksızın işlem geçmişinden ilk işleme dayalı olarak kayıp geçiş işlemini yeniden yapılandırma ve iletme yeteneğine sahiptir.

Bir aktarmalı işlem veya olağan onaylanmamış bir işlem olsun, hedef konsensüs grubunun yayın alt ağında benzer şekilde yayılacak ve onaylanmamış işlemler kümesinde geçici olarak depolanacaktır. Madenciler blok ürettiklerinde, aktarmalı işlemlere ve onaylanmamış işlemlere eşit muamele edecek ve genellikle ücretlerine göre önceliklendireceklerdir. Bir veya daha fazla aktarma işlemi oluşturan herhangi bir ilk işlem için işlem ücreti, belirli bir oranda ilk işleme ve çoklu aktarma işlemlerine tahsis edilecek ve nihayetinde diğer konsensüs gruplarında bu işlemleri onaylayan madencilere verilecektir. Monoksitte, bu tahsis oranı akıllı sözleşme kodu ile kontrol edilebilir.

Yukarıdaki süreçten Monoksit sistemindeki işlem atomikliğinin hemen karşılanmadığını ancak tüm röle işlemleri onaylanıp yürütüldükten sonra nihayet tamamlanacağını görebiliriz. Anında atomiklik gerektirmek yerine bu nihai atomisite diyoruz. Nihai atomiklik, çapraz konsensüs grubu işlemlerinin, birden fazla atomik işlemin tam paralel olarak üst üste bindirilebilmesi ve tam paralel olarak birbirine geçmesi için dolaylı olarak birden çok konsensüs grubunda yürütülmesini sağlar, böylece birden fazla işlem tam paralel olarak örtüşebilir ve taranabilir, böylece Monoksit Sistemin ağ genelindeki aktarım kapasitesi tamamen serbest bırakılabilir ve fikir birliği grupları arasındaki hiçbir işlem miktarı performansı önemli ölçüde etkilemez.

İşlemlerin% 100'ünün fikir birliği grupları arasındaki işlemler olduğunu varsaysak bile, bir ödeme işlemi iki işlem haline gelecektir, kabaca konuşursak, verimi yarıya indirecektir. Ancak bu maliyetin toplam fikir birliği grubu sayısıyla ilgisi yoktur. Genel ağ performansı birkaç büyüklük sırasına göre iyileştirildiğinde, bu ek yük her zaman iş hacmini yarıya indirir. Bu nedenle, deneyimizde, 2048 fikir birliği grubu, yaklaşık 1000 kat iş hacmi iyileştirmesi elde edebilir. Nihai atomik yürütme mantığına bağlı olarak, ilk işlem ve röle işleminin yukarıda belirtilen doğruluk kısıtlamalarını karşılaması gerekir, aksi takdirde tutarsız bir son duruma yol açabilir. Elbette bu, Monoksit platformunda akıllı sözleşmelerin geliştirilmesine bazı zorluklar getirecektir. Bununla birlikte, bunun kaçınılmaz bir fiyat olduğunu düşünüyoruz, tıpkı GPU için kod yazmak, OpenMP için kod yazmak veya Hadoop için kod yazmak gibi, tek makineli tek iş parçacıklı CPU için kod yazmaktan daha zor olacak ve fikir bozuldu. Elbette, uygun sözleşme dili modelleri, resmi doğrulama araçları ve geliştirme ve hata ayıklama araçlarının desteği ile geliştirme zorluğu büyük ölçüde azaltılacaktır.

Oksidasyon dili, işlevsel programlamaya dayalı bir dil olan Monoksit platformunun akıllı sözleşme dilidir. Bu dil modelinin tasarımı tezin bir parçası değildir ve çalışmanın bu kısmı henüz tamamlanmamıştır. İşte ERC20 token sözleşmesine benzer son derece basitleştirilmiş bir örnek kod. Buradaki özel şey sistem çağrısı verimi. Bu çağrı, eğer b, karşılıklı görüş birliği grubunun adresi ise, sözleşmenin yürütülmesi sırasında bir aktarma işlemi oluşturacaktır. Kodda birden fazla getiri çağrısı görünebilir veya getiri koşullu olarak çağrılabilir, ancak getiri çağrılarının evresel olmasına izin verilmez.

Ölçeklenebilirliğin üst sınırı: blok zincirinin imkansız üçgeni neden kırıldı?

Konsensüsler arası grup işlemini doğru bir şekilde tamamlamak için, geçiş işleminin izin doğrulamasının, başlatıcının ait olduğu konsensüs grubunun karşılık gelen blok başlığını alması gerekir. Bu mesele, Monoksit'in ağ çapında ölçeklenebilirliğinin ana darboğazı haline geldi. Bu, her bir tam düğümün tüm fikir birliği gruplarında blok başlıklarını senkronize etmesi ve izlemesi gerektiği anlamına gelir.Aynı zamanda, Liannu madencilik mekanizması ile, bu senkronizasyon tarafından tüketilen bant genişliği:

(BlockHeadSize + 32 × log_2 n) × n / BlockInterval

BlockHeadSize, yaklaşık 120 bayt olan blok başlığının meta verileridir. Bu parçanın değişken uzunluğu, Monoksitin farklı madencilik zorluklarına uyum sağlamak için değişken uzunlukta Nonce kullanmasıdır. 32 × log_2 n kısmı, Liannu madencilik mekanizmasının, yani yukarıda bahsedilen MerkleTreePath_i tarafından sunulan hesaplama gücünün kanıtıdır. BlockInterval, blok aralığıdır. Temel olarak, bu bir O (n log_2 n) ek yüküdür, n belirli bir dereceye kadar büyük olduğu sürece, performans artışı bu ek yük artışından daha düşük olacak ve böylece ölçeklenebilirlik tavanını tanımlayacaktır.

Her bir tam düğümün tüm fikir birliği gruplarında blok başlıklarını senkronize etmesi ve izlemesi gerektiğinden, tüm blok başlıklarını tek tek oluşturmak yerine Liannu madenciliği için başka bir blok veri yapısı vereceğiz. Blok başlığı, kullanılamayan blok başlığı (hash zorluğu madencilik zorluğuna ulaşmadı), hash değeri ile değiştirilir. Elbette, blokların kendisi hala fikir birliği grubu tarafından ayrı ayrı yayınlanmaktadır. Aynı zamanda, bu optimizasyonu başarmak için, yalnızca blok başlıklarını veya blok başlıklarının toplu işlerini yaymak için kullanılan ve tüm tam düğümlerin ve madencilik düğümlerinin bu özel yayın alt ağına katılmasını gerektiren küresel özel bir yayın alt ağını tanıtacağız. Bu şekilde, her blok başlığının orijinal hashrate ispat kısmı çıkarılabilir ve bant genişliği tüketimi O (n) 'ye düşürülecektir:

BlockHeadSize × n / BlockInterval

Optimizasyondan sonra bile, her bir tam düğüm için bu yine de göz ardı edilemeyecek bir ek yüktür. n her zaman yerel bant genişliğini tüketecek kadar büyük olabilir. Öyleyse tavanın ne olduğunu çıkaralım. Tüm düğümün bant genişliğinin 15Mbps ile sınırlı olduğunu varsayarsak, yani üst limit 1.88MB / s'dir. Bitcoin protokolüne dayanarak, blok oluşturma aralığını 1 dakikaya ve blok boyutunu 8MB'ye ayarladık. Bu şekilde, tek bir konsensüs grubunun tek zincir işlem hacmi yaklaşık 560 TPS olacaktır ve blok aktarım ek yükü 0.13MB / sn olacaktır. Konsensüs gruplarının sayısı 65536 olduğunda, tüm ağ bloğu başlığının aktarım ek yükü de 0.13MB / s'dir. Ek olarak, bant genişliğinin üst sınırından çok daha azdır ve bant genişliğinin üst sınırından çok daha azdır ve uydu-yer bağı yayını için yeterli kalan bant genişliği vardır. Daha sonra, şu anda, genel ağ verimi yaklaşık 15M TPS'dir ve durum kapasitesi yüzlerce TB düzeyindedir. Konsensüs gruplarının toplam sayısı ne kadar büyük olursa olsun veya fikir birliği gruplarının tek zincirli verimi ne kadar yüksek olursa olsun, kademeli olarak tüm düğümlerin yerel bant genişliğinin sıkışık görünmesine neden olacaktır.

Bu nedenle, Monoksit'in ölçeklenebilirlik tavanının, on milyonlarca TPS verimi ve yüzlerce TB durum kapasitesiyle kabaca bu seviyede olduğuna inanıyoruz. On milyonlarca TPS, güvenlik ve ademi merkezileştirme için blok zincirinin gereksinimlerini karşılarken, İnternet düzeyindeki uygulamaların çoğunun yoğun trafiğini halihazırda idare edebilir.Bu nedenle imkansız blok zincir üçgeninin kırıldığını söylüyoruz. Tabii ki, bu seviyeye ölçeklemek için, tüm topluluktaki katılımcı düğümlerin toplam sayısı milyonlarca mertebesine ulaşmalıdır.

Büyük 7 kişilik SUV, yapma Tuang, Highlander! Bu üçü en iyi seçiminiz
önceki
Yasal yaptırımlardan kaçınmak için yabancı nesneleri yutan Jingdezhen Şehri Kamu Güvenliği Denetleme Hastanesi kontrol etmeye geliyor!
Sonraki
Hikaye: Köy müdürü parti sekreterine, bu alandaki karpuzun satılmaması halinde çürüyeceğini söyledi.
Borsaya kayıtlı bir şirketin 24 yaşındaki kadın başkanı size şunu söylüyor: Küçükleriniz sizi ciddi şekilde terk ediyor!
Norveç kralı ve kraliçesi 80. yaş günlerini kutladı
Hile yapmayı reddedin! Minimum 120.000'den az, üç yüksek kaliteli elektrikli araç envanteri, kimler hit olacak?
Hikaye: Pek çok insan, kendi gözleriyle görmeseler, Ah Fu'nun piçi yakalamada usta olduğuna inanmazdı.
Bir milyon geliri olan Douyin, bir servet kazanma kanalı haline geldi
300.000 araba ile 100.000 araba arasındaki fark nedir?
Şu anda, Halk Mahkemesi Xiaoming Bisikleti İflas etti! Paylaşılan bisiklet pazarını bir balon yapmak zor mu?
100.000 tabandan tavana çok yönlü MPV yalnızca 7 koltuğun ihtiyaçlarını karşılamakla kalmaz, aynı zamanda konfigürasyonu da gülünç derecede yüksektir!
Hikaye: Kırılgan
Volkswagen'in küresel kamyon satışları Daimler'in yarısından az ... Ford ile ittifak tersine çevrilebilir mi?
Hintli Müslümanlar eşlerini üç "boşandıktan" sonra boşayabileceklerini söylüyorlar. Yüksek Mahkeme bunun anayasaya aykırı olup olmadığını dinliyor.
To Top