PoW ve PoS'nin kapsamlı bir karşılaştırması: Avantajları ve dezavantajları nelerdir?

Fikir birliği mekanizmaları üzerine birçok tartışma yapılmıştır, ancak bu analizlerin çoğu eksiktir. Carbon Chain Value tarafından düzenlenen "Carbon Talk" çevrimdışı salonunun ilk aşamasında, Conflux'un araştırma direktörü Dr. Yang Guang, POW ve POS konsensüs mekanizmasının ilkelerini ve operasyon sırasında karşılaşılan sorunları kapsamlı bir şekilde analiz etmek için 13.000'den fazla kelime kullandı. , Ve ikisinin artıları ve eksilerinin karşılaştırılması. Bu makale toplama ve tekrar tekrar görüntüleme için uygundur.

Bu alandaki bazı araştırmalarımı ve görüşlerimi sizlerle paylaşma fırsatına sahip olduğum için çok mutluyum.

Öncelikle size Conflux ekibimizle ilgili kısa bir giriş yapmak istiyorum: ekibimizin çekirdeği Yao sınıfından birkaç sınıf arkadaşı ve gençtir ve baş bilim adamımız ve danışmanımız olarak Bay Yao Qizhi'ye sahip olduğumuz için şanslıyız. Blockchain endüstrisine yatırım yapmamızın nedeni, bu endüstride en çok aşina olduğum kriptografi ve oyun teorisini örnek alarak ele alan çok önemli ve anlamlı yeni sorunların olması, blockchain yüzleri Ve çözülmesi gereken pek çok sorun, akademideki en ileri araştırma yönleridir. Bu sorunlar yalnızca mühendisler tarafından çözülemez, ancak daha fazla akademinin katılımını gerektirir ve herkes tüm blok zinciri endüstrisinin gelişimini desteklemek için birlikte çalışabilir.

01

Sybil saldırı ve blok zinciri fikir birliği protokolü

Bugün PoW ve PoS arasındaki karşılaştırmadan bahsedeceğim. Öncelikle en tipik blockchain konsensüs protokolünü gözden geçirelim: Herkes işlemleri bloklar halinde paketler, blokları hash referansıyla bir zincire bağlar ve ardından paylaşılan bir defter alır. Ancak doğrudan böyle bir hesap defteri kullanmak kesinlikle güvenli değildir, çünkü kötü adamlar da bir defter oluşturabilir ve sonra iki defteri de aynı anda önünüze koyabilir, hangisi doğru hangisi yanlış ve hangisine güvenmeliyiz, bu olur Bir soru sordu.

Merkezileştirilmiş ise tabi ki bu sorunu çözmek çok kolay - Ben Alipay kullanıyorum, Alipay hesabımda ne kadar para var, bu ne kadar para diyor. Gerçeklerle uyuşmuyorsa, farklı görüşlerim olursa onu dava etmek için mahkemeye gidebilirim. Ancak ademi merkeziyetçi ise söylemesi zor. Ademi merkeziyet söz konusu olduğunda, herkesin son sözü söyleyecek bir kurumu yok, adil bir hesap defterine sahip olmak için başka yollarla bir fikir birliğine varmak gerekiyor. Öyleyse merkezi olmayan bir ortamda, fikir birliğine nasıl ulaşılmalıdır? Düşünmenin kolay bir yolu, oy vermemiz, herkesin birlikte oy vermemiz, bir deftere oy vermemiz ve sonra hepimizin buna inanmamızdır.

Ancak, oylamaya gelince, önce oy vermenin adilliği sorunu var: Oy hakları nasıl dağıtılmalı? Örneğin, bugün hepimiz birlikte oy veriyoruz ve sonra elimde yüz oy var ve burada oturan her birinizin bir oyu var. Buna oy denmiyor. Yüz oyum var. Temelde oy vermek istediğimi söylüyorum sonuç ne? nın-nin. Gerçekten bir fikir birliğine varmak istiyorsak, bu özellikle haksız şekilde oy vermek imkansızdır. Bu nedenle oy haklarının dağıtımı, mutabakat anlaşmasının temel ve en önemli kısımlarından biridir. Çevrimdışı oy hakkı dağıtımı probleminin çözümü aslında nispeten kolaydır: sadece bir kişi, bir oy verebiliriz. Herkesin bir kimlik kartı vardır ve sadece oy verdiğinizde kayıt olun. Ancak çevrimiçi ortamda bir kişi, bir oy elde etmek çok zordur.

Her şeyden önce, çevrimiçi ortamınızda, özellikle merkezi olmayan bir ortamda, "kişi nedir" nin nasıl tanımlanacağı büyük bir sorundur. Bir hesabı bir kişi olarak mı yoksa bir IP'yi bir kişi olarak mı ele alıyorsunuz, yoksa belirlemek için başka yöntemler kullanıyor musunuz? İnternette herkes anonim olarak var sohbet ederken, İnternetin diğer tarafındaki kişinin sizinle sohbet ettiğini bile koca ayaklı bir adam mı yoksa köpek mi bilemezsiniz. Bu nedenle, cadı karşıtı bir saldırı mekanizmasına ihtiyacımız var.

Kısaca cadı saldırısının ne olduğu hakkında konuşalım: Bu, bir saldırganın düşük maliyetle çok sayıda hesap oluşturabileceği ve ardından bu hesapları birlikte hareket etmek için kontrol edebileceği ve diğerlerini bir kalabalık gibi gösterebileceği anlamına gelir. Örneğin, forumlarda, kamuoyuna rehberlik edecek deniz kuvvetleri olduğunu göreceksiniz ve film derecelendirme web siteleri için, bunlar hakkındaki yorumları ve puanları incelemek için özel olarak organize edilmiş biri olacak. Bu tür donanma yeleklerinin saldırıya uğradığına dair çok sayıda hesap varsa, son oyunuzun sonucu doğru değildir. Bir kişinin bu şekilde çok sayıda oy kullanması mümkündür ve nihai oylamanın sonucu tamamen o kişi tarafından kontrol edilir. Geleneksel İnternet ortamında, her hesabın kayıt maliyetini artırmak gibi cadı saldırılarına karşı savaşmanın birçok yolu vardır. İnternette bir hesap açtığınızda, genellikle bir doğrulama kodu girmeniz gerekir.Bu, bilgisayarın uygulanması daha zordur, bir program yazabilseniz bile, daha zordur, ancak insanlar için bunu yapması çok kolaydır; bazı web sitesi kaydı Bir cep telefonu numarası bağlamanız veya IP adresini tespit etmeniz gerektiğinde, bunlar cadı saldırılarına direnmenin nispeten yaygın yollarıdır. Ancak merkezi olmayan bir ortamda, yukarıdaki yöntemlerin kullanımı kolay değildir. Çünkü merkezi olmayan bir ortamda, bu doğrulama kodunu kim yayınlayacak ve doğrulama kodunun doğru bir şekilde doldurulup doldurulmadığını kim belirleyecek? O halde telefon numarasını kim doğrulayacak? IP adresi kullanılsa bile aslında çok haksız bir yoldur. Çünkü herkesin eşit olarak statik bir IP adresine sahip olmadığını biliyoruz.

Dolayısıyla, blok zincirinde, gerçekte kullandığımız en yaygın çözüm bir iş kanıtıdır (PoW), biri bir hissenin kanıtıdır (PoS) ve ikincisi bir vekil kanıtı (DPoS) içerir. Ne kadar alanınız olduğunu kanıtlamak veya ne kadar para yaktığınızı kanıtlamak gibi başka kanıtlama yöntemleri vardır ve başka yöntemler de vardır, ancak şu anda en yaygın olanları PoW ve PoS'dir. Burada PoW veya PoS veya diğer PoX'in sybil saldırılarına karşı bir mekanizma olup olmadığını ve mutabakat algoritmasının (protokol) önemli bir parçası olup olmadığını biraz vurgulamak istiyorum, ancak bunların kendileri fikir birliği algoritmasına eşdeğer değildir.

02

İşin kanıtı

Sonra, herkesin aşina olduğu iş kanıtı hakkında konuşmama izin verin.

İş kanıtının temel fikri, hesaplama gücünün blok üretme hakkını belirlediğidir. PoW hesaplama problemini çözebilirseniz, bloklar üretebilirsiniz. Kabaca konuşursak, bir CPU, bir oy veya bir GPU, bir madencilik makinesi bir oy olarak anlaşılabilir ki bu da kabaca anlamdır. Avantajı, sistemin izinsiz olmasıdır. Katılımcılar, bilgi işlem gücüne sahip makinelere sahip oldukları sürece kimsenin iznine ihtiyaç duymazlar, teoriye katılabilirler, hatta makinelere bile ihtiyaçları yoktur. Bir bloğun karmasını manuel olarak hesaplayabilir ve zamanında yükleyebilirseniz, diğerleri onu yasal bir blok olarak tanıyacaktır.

Bir diğeri de PoW oylamanın maliyetinin nispeten yüksek olmasıdır.İster CPU, GPU veya madencilik makinesi kullanıyor olun, makinenin maliyeti ve elektrik maliyeti yerde harcanmalıdır. Bu, daha önce bahsettiğimiz doğrulama koduna benzer, ancak aslında biraz benziyor, değil mi? Bazı doğrulama kodları var. Okuduktan sonra, insanların sayıların veya harflerin ne olduğunu belirlemek için biraz zaman harcamaları gerekiyor ve ardından bunlar doğrulanabilir. İş kanıtının en büyük avantajlarından biri, kullanılan oyların oy haklarına bağlı olmasıdır: oylama başarılı olduğunda, seçmen bile oy içeriğini değiştiremez.

İş kanıtı genel mantığına göre, oy verirken, önce bir bloğu paketlemeniz ve ardından bu blok için iş kanıtı yapmanız gerekir.Eğer bunu kanıtlarsanız, oy vermeye eşdeğerdir, ancak şu anda paketlenmiş blok artık değiştirilemez. Yukarı. Örneğin, madencilik makinem bir günde çok fazla oy atabilir, ancak önceki günün hesaplama gücünü yeni bir blokta yoğunlaştırmak istersem bu imkansız; öte yandan kendimi geri almak istersem Ayrıca diğer insanların bloklarını geri alırken olduğu gibi aynı miktarda bilgi işlem gücü ödemem gerekiyor. Bu, PoW'nin özellikle iyi bir özelliğidir.

Elbette PoW mekanizmasına dayalı fikir birliği algoritmasının da bazı eksiklikleri var. Her şeyden önce, dezavantajı, gecikmenin nispeten yüksek olmasıdır, çünkü işlemi bir bloğa paketledikten sonra, bu blok hemen geçerli bir aday blok haline gelmez ve bir aday blok olarak adlandırılacak bloğu tamamlamak için en az bir iş kanıtı gerekir. . Buradaki çalışma ispatı zamanı çok kısa ayarlanamaz. Neden çok kısa olamayacağını daha sonra konuşacağım. Bu nedenle, en azından bloğun paketlendiği andan bloğun iş yükünün ispatına kadar geçen süre boyunca işleminizin herhangi biri tarafından onaylanması imkansızdır. Yani Bitcoin altı bloğun onaylanmasını beklemese de, gördükten sonra bir bloğu onaylasa bile, bir işlemi onaylamak ortalama on dakika sürer.

PoW mekanizmasının eleştirilen bir diğer noktası da son derece yüksek enerji tüketmesi ve çevre dostu olmamasıdır. Bu noktaya gelince, iş ispatının enerji tüketiminin gerekli olup olmadığı, bunun bir görüş meselesi olduğunu düşünüyorum ve çekinceleriniz olabilir. Ama iş ispatından bahsettiğimiz için bu iş yükünü kurtarmanın bir yolu yok, atlanırsa başka bir isimle anılacaktır.

PoW fikir birliğine dayalı olarak ana sorunların nasıl çözüleceğine bir göz atalım.

Birincisi, onaylama hızının yavaş olmasıdır. Bitcoin'i örnek olarak alırsak, bir blok oluşturmak ortalama on dakika sürer ve onaylamak için altı blok daha gerekir ki bu da ortalama bir saat sürer. İkincisi, iş hacminin nispeten düşük olmasıdır Herkes Bitcoin'in birkaç yıldır eleştirildiğini bilir. Üçüncü nokta yüksek enerji tüketimi ve çevre korumadır. Ama üçüncü nokta, PoW kullanmak istediğimiz için, bu enerji tüketimi kaçınılmaz, bu yüzden bu sorunu çözmek istemiyoruz.

İlk iki problem için, onaylama hızı yavaştır ve verim düşüktür. Aslında, bu iki sorunun çok basit bir çözümü var gibi görünüyor - PoW sorununun hedef zorluğunu azaltın ve blok oluşturma hızını artırın. Aslında Litecoin tam da bunu yapıyor. Hedef zorluğu Bitcoin için 10 dakikadan 2,5 dakikaya düşürdü ve ardından blok oluşturma hızı Bitcoin'den dört kat daha hızlıydı. Verimi iyileştirmenin bir başka yolu da blok kapasitesini artırmaktır Örneğin, BCH önce her bloğu 1M'den 8M'ye ve sonra 32M'ye genişletir ve daha sonra 128M'ye değiştirilmesi önerildi. Sezgisel olarak, aynı blok hızında, blok ne kadar büyükse, verim de o kadar büyük olur.

Yavaş Bitcoin onayı ve düşük depolama sorununu çözmek bu kadar basit mi? Tabii ki değil. Bu kadar basit olsaydı, Bitcoin on dakikada 1 milyona ayarlanamazdı. Bahsedilen yöntem neden sorunu çözemiyor? Çünkü blokları daha hızlı ürettiğimizde, blok zinciri sık sık çatallanacaktır, özellikle blok üretim hızınız yayın hızını aştığında, çatallanma durumu özellikle ciddi olacaktır.

PoW probleminin zorluğunu azaltır, blok oluşturma hızını artırırsak ve ardından blok kapasitesini artırırsak, aslında belirli ağ koşullarında yayın hızı kesinlikle düşecektir. Çünkü blok ne kadar büyükse yayın o kadar yavaş olur. O zaman blok üretim hızınız hızlı ama yayın hızı yavaş derseniz, yani diğerlerinden yeni bir blok almadan önce bir blok kazabilirim ve o zaman bir çatal olur. O zaman boşluk nispeten büyükse, daha fazla çatal olacaktır.

Daha fazla çatalın nesi var? En büyük dezavantajı güvenliği azaltmasıdır. Bitcoin'de sık sık kötü adam saldırılarının bilgi işlem gücünün% 51'ine ihtiyaç duyduğunu söyleriz. Buradaki öncül, iyi insanların tek bir ana zincir üzerinde yoğunlaşmasıdır. Bu durumda, iyi insanların% 49'u buna konsantre olur ve kötü insanların% 51'i saldırabilir. Ancak bu tür sık çatallar gerçekten meydana gelirse, örneğin çatal A'da% 30 işlem gücüne ve çatal B'de% 40 işlem gücüne sahibim. Şu anda, kötü adam çatal B'yi çatal A'ya geri almak istiyor, çok fazla ihtiyacı yok, sadece% 11 bilgi işlem gücüne ihtiyacı var. Dünyadaki en dürüst hesaplama gücüne sahip iki çatal arasındaki fark bundan biraz daha fazla olduğu sürece, saldırgan en uzun zinciri iki üst dalda zıplatabilir. Dolayısıyla, Bitcoin parametrelerini basit ve kaba bir şekilde değiştirirseniz, sonunda güvenlik kesinlikle azalacaktır.

Ancak bu güvenlik indirimi için PoW'un suçlanamayacağını düşünüyorum. PoW burada sadece bir cadı karşıtı saldırı mekanizmasıdır ve zorluğu ayarlanabilir. Buradaki azalan güvenliğin suçlusu, PoW'un geri dönmesi yerine "en uzun zincirin" geri dönmesine izin vermelidir. Çatallar için neden düşük bir güvenlik var? Aslında bunun nedeni, Bitcoin'in en uzun zincir konsensüsünü benimsemesidir. En uzun zincir mekanizması altında, eğer bir çatal varsa, dürüst hesaplama gücü çatalı takip eder, bu da dürüst insanların oylarının çatallanacağı anlamına gelir, böylece kötü adamlar nihai sonucu daha fazla manipüle eder.

Sonra bir sonraki soru: PoW tabanlı en uzun zincir konsensüs neden çatallanıyor? Bu, herkes iyiyse çatal olmayacağı anlamına mı geliyor?

Bu da doğru değil. Grafikteki her çizgiyi bir düğümü temsil etmek için kullanırız ve sağdaki ok zamanı temsil eder. Bu düğüm bir blok oluşturduğunda, bloğu yayınlaması gerekir, ancak onu yayınlaması zaman alır, bu nedenle bir "olay ışık konisi" oluşturacaktır. Bloğu oluşturan düğümden ne kadar uzakta olursa, yayınlanan geçmiş bloğu almak o kadar uzun sürecektir ve buna göre, yeni oluşturulan yeni blok ancak daha sonra görülebilir. Yani, sadece bu sarı alanda ve daha sonra diğer düğümler sizin tarafınızda oluşturulan bir bloğu görebilir. Işık konisi olduğu için resmin yeşil kısmı olan ışık konisinin dışında bir alan da vardır.

Işık konisinin dışındaki alanda bir düğüm olduğunda, sizin tarafınızda henüz yeni bir blok oluşturulduğunu bilmesi imkansızdır, çünkü bu yayınlanmamıştır. Diğer bir deyişle, ağda oluşturulan bir sonraki blok arkadaki sarı kısımdaysa, elbette güvenlidir, çünkü şu anda tüm düğümler en son bloğu görmüş ve sonra bir sonraki bloğu takip edeceklerdir. Çatal olmayacak - eğer herkes iyiyse.

Ama bloğun daha hızlı olduğunu söylerseniz, yeşil ışık konisinin dışındaki alanda bloklar oluşturacağım, o zaman kaçınılmaz olarak bir çatal olacak ve sonunda bir öksüz blok görünecek, değil mi? Çünkü bu iki bloğun birbirine referans olması imkansızdır. Öyleyse, basitçe tahmin etmek gerekirse, öksüz blok oranı kabaca ışık konisinin dışındaki alanın beklenen blok aralığının toplam alanına bölünmesine eşittir. Çünkü blok oluşturma olayı, beklenen blok aralığı içinde eşit olasılıkla rastgele gerçekleşir. Öte yandan, yeşil ışık konisinin dışındaki alanın oranı ne kadar küçükse, tekli blok olasılığı o kadar düşüktür.

Ancak gerçekte, kesinlikle sadece dört düğümümüz olmayacak, çok sayıda düğümümüz olacak ve daha fazla düğüm olduğunda, yayın süresi doğal olarak uzayacak. Yayın süresi ne kadar uzun olursa, ışık konisinin dışındaki alanın daha geniş olacağı anlamına gelir ve öksüz blokların nispeten küçük bir aralıkta kontrol edilmesini sağlamak için blok oluşturma aralığımızın da daha uzun olması gerekir. Aslında, öksüz bloğun kendisi de güvenlik üzerinde bir etkiye sahiptir.Örneğin,% 20 öksüz blok oranıyla, saldırıyı tamamlamak için bilgi işlem gücünün% 51'i yerine yalnızca% 41'i kullanılabilir. Bu nedenle, güvenliği artırmak ve yetim blokları azaltmak için bloklar arasındaki aralığı uzatmalıyız. Örneğin, Bitcoin on dakikaya ayarlanmıştır. Elbette bu on dakika hiç değiştirilemez ancak değişiklikten biraz sonra güvenlik kesinlikle etkilenecektir.

Blok aralığının uzatılmasından sonra, tüm sistemin verimliliği azalacak, özellikle verim büyük ölçüde etkilenecektir. Burada tüm sistemin bant genişliğine bir göz atalım. Aslında, üç kısma ayrılabilir: bant genişliğinin bir kısmı (mavi kısım), iletim sırasında herkesin sonunda fikir birliğine ekleyeceği işlemdir ve bant genişliğinin diğer kısmı (kırmızı kısım) herkesin aktarımıdır. Mutabakata katılmayan bazı veriler, tüm protokolün ek yükünü içerir ve bazıları, mutabakata eklenmemiş geçersiz bloklar ve işlemler olabilir; son kısım (beyaz), kullanılmayan ve boşa harcanmayan bant genişliğidir. PoW'yi cadı karşıtı saldırı mekanizması olarak kullanırsak ve daha sonra nihai mutabakatı hesaplamak için en uzun zincir protokolünü kullanırsak, bant genişliği kullanımımız aslında çok düşüktür.

Örnek olarak Bitcoin'i ele alalım. 600 saniyede 1MB'lık geçerli bir blok oluşturuyoruz. 600 saniyede 1MB'lık geçerli bir bloğun mevcut olmasını bekliyoruz. Bloğum birkaç kez genişletilse bile tüm ağ 600 saniye sürecektir. Depolanan bilgi miktarı 20MB'den az olabilir, değil mi? Ama şimdi ağın ortalama hızı zaten 600 saniyede birkaç gigabayt. Bu nedenle, tüm ağ bant genişliğinin kullanımı yaklaşık% 1'dir ve atık hala çok ciddidir. Yayını hızlandırmak için yoğun blok teknolojisi gibi bazı teknolojiler kullanırsak, yeşil ışık konisinin dışındaki süre daha kısa olacaktır. Böylelikle blok oluşturma aralığını da orantılı olarak kısaltabilir ve eskisi gibi aynı güvenliği korurken bant genişliği kullanımını artırabiliriz. Ancak bu iyileştirmeyle bile, en uzun zinciri kullandığımız ve öksüz blok oranını kontrol ettiğimiz sürece, bant genişliği kullanım oranı hala çok yüksek değil.

Genel olarak konuşursak, bir halka açık zincir ağında binlerce hatta onbinlerce düğüme sahip olabilir.Yayınlanacaksa, ortalama olarak on veya daha fazla kez iletilebilir. Örnek olarak on iletimi ele alırsak, bloğu üreten düğümden başlayarak bir sonraki düğüme gönderir ve daha sonra bu düğüm bloğu alır ve doğrulamadan sonra bir sonraki düğüme gönderir Bu işlem on kez tekrarlanmalıdır. Bu on iletimin tüm süreci içinde, öksüz blok oranını düşürmek istersem, tüm ağdaki diğer düğümlerin bu süre boyunca ikinci bir blok oluşturmamasına ihtiyacım var veya çok düşük bir ikinci blok oluşturma olasılığı var. Parça. Diğer bir deyişle, bu kadar uzun zamandır herkes aslında sadece bir blok yayınlıyor. Birinci kişi ikinci kişiye geçtikten sonra, ikinci kişi üçüncü kişiye geçtiğinde, birinci kişi boş durumdadır, değil mi? Bu nedenle, nihai bant genişliği kullanım oranı doğal olarak yüksek değildir. Bir öncekine göre sürekli bir iyileştirme katsayısı olabilir, ancak tüm bant genişliğini kullanabilmekten çok uzaktır. 1/10 çok iyi kabul edilir.

Bu durumda, çatallanmayı önlemek istiyorsak, kaçınılmaz bant genişliği tatmin edici değildir ve bant genişliği memnun değilse, TPS mümkün olduğu kadar yüksek olamaz. Senkronize edilmiş çok fazla veriniz olduğu için, içine yerleştirilebilecek işlemlerde bir üst sınır vardır - işlemin boyutu aynı kalırsa (işlem boyutunda azalma da TPS'yi artırabilir, ancak diğer tüm blok zincirleri de kullanılabilir. Aynı teknoloji, göreceli dezavantaj aynı kalır).

Aslında, şu anda çözülmesi gereken sorun, bir çatallaşmadan sonra dürüst bilgi işlem gücü konsantrasyonunun olmayışının güvenliği azaltacağıdır. Ancak bu çözüm, çatalların olasılığını azaltmak için tek bir çözüm olduğu anlamına gelmez. Örneğin, çözmek için DAG tabanlı yönlendirilmiş çevrimsiz grafiği de kullanabiliriz.

Ethereum çatallamayı seçtiğinde, bu en uzun zincir değil, GHOST protokolüydü. Aslında, Ethereum biraz değiştirilmiş bir versiyon kullanıyor.Bu protokolün ana fikri, bir çatalla karşılaştığında en uzun alt zincir yerine en ağır alt ağaca sahip dalı seçmektir. Bu durumda çatalınız olsun ya da olmasın, kaç tane çatalınız olursa olsun güvenlik sorunu büyük değildir. Çünkü çatal atan dürüst madenciler bile önceki seçimlerinin güvenliğine katkıda bulunacaktır. Örneğin, madenci daha sonraki bir blokta çatallaşıyor, ancak çataldan önce bir yerde bir dalın nasıl seçileceği konusunda madenci yine de güvenliğe katkıda bulunuyor. Seçilmesi gereken dal alt ağacına ağırlık katacaktır.

Ancak GHOST protokolünün bir dezavantajı var: Bant genişliğini tam olarak kullanabilmesine rağmen, aynı zamanda çok israftır. En ağır alt ağacın zincirinde nihai olarak belirlenmeyen bu bloklar, içlerindeki işlemler sayılmaz. Herkes birkaç blok kazdı, ancak sonunda fikir birliğine katılmadılar ve bu blokların verimi boşa gitti.

Bunlar, PoW hakkında bazı kısa tanıtımlardır, hadi eşitlik kanıtına bakalım.

03

Teminat Kanıtı (PoS)

Eşitliği kanıtlamanın temel fikri şudur: madeni paraları tuttuğunuzda (bazen insanlar bu hisseyi çağırır), hesap tutma hakkına ve sonra oy kullanma hakkına sahipsiniz. Oylama gücünüz, elinizdeki jeton sayısı ile doğru orantılıdır Bu bir jeton, bir oydur. Basitçe ifade etmek gerekirse, para ne kadar fazlaysa oy verme gücü o kadar büyük olur.

PoS protokolünün temel çerçevesi, tüm katılımcıların para birimlerine göre paketleme haklarını ve oylama haklarını tahsis etmektir. PoS sisteminde paketleme ve oylama ayrılır ve ayrılabilir - bu iki şey aslında PoW sisteminde aynı şeydir. Paketleme hakları tahsis edildikten sonra paketleme hakkına sahip kişi aday blok yapma hakkı kazanır. Bu blok, işlenecek işlemi içerir ve kendi imzasına sahiptir. Aday bloğu uzlaşmaya ekleneceği anlamına gelmez, aday bloğu yayınlandıktan sonra oy hakkı olanların oy kullanması gerekir.

Oylama şekli, oylanan blokta imza atmak olabilir. Daha fazla oyla oylandıktan sonra, aday blok nihayet mutabakata eklenecek ve geçerli bir blok haline gelecektir. Elbette oylama sürecini pek çok şekilde gerçekleştirebiliriz, daha yaygın olanı, azınlığın çoğunluğa itaat ettiği bir mutabakat algoritması kullanmaktır. Artık kaç kişinin oy vermeye uygun olduğunu ve kaç oy olduğunu bildiğimiz için, 1/2 veya 2 / 3'ten fazla gibi bu fikir birliği algoritması ile çoğunluğu kolayca hesaplayabiliriz. Bu PoW'dan çok farklı, çünkü bir PoW sisteminde tüm ağın ne kadar bilgi işlem gücüne sahip olduğunu bilmiyorsunuz.Sadece tahmine güvenebilirsiniz ve bu genellikle doğru değildir. Bu nedenle PoW sisteminde çoğunluğu yargılamak için belirli bir eşiğin kullanıldığını söylemek imkansızdır.

Merkezi olmayan bir mekanizmada, ambalajlamadan kimin sorumlu olduğunu ve oylamadan kimin sorumlu olacağını seçmemiz gerekir. Bazen verimlilik için, herkes önce nispeten küçük bir komite seçecek ve sonra oylamadan sorumlu olacaktır. Temsilci hak ve menfaatleri kullanan bir DPoS mekanizması değilse, bu tür komiteler genellikle rastgele seçilir ve genellikle adalet için rotasyona tabi tutulur.

PoS sisteminde, bazı katılımcıların PoS mutabakat sözleşmesini ihlal ettiği tespit edilirse, onlara bazı cezalar verilebilir. Örneğin bazı insanlar birçok bloğa oy veriyor ya da oyları var ama oy kullanmıyorlar Sistemin güvenliğini etkileyen bu eylemler cezalandırılabiliyor.

Proof of Stake'in avantajlarına bakalım.

İlk avantaj: madencilerin ve madeni para sahiplerinin motivasyonları aynı. PoS madencileri, madeni para olmayanların rolünü azaltarak, tüm ekolojik ortamda madencilik için makinelerin rolünü azaltmalıdır. PoW topluluğunda, genellikle zenginlerin, geliştiricilerin ve madencilerin çıkarlarının tam olarak aynı olmadığı durumlar vardır ve sonra gürültülü olacaktır, bu yüzden sonunda birçok şeyin başarılması zor olur. PoS'da, en azından madencilerin ve kapitalistlerin çıkarları artık daha uyumlu hale gelecek ve çatışmaları ve farklılıkları bir dereceye kadar azaltacak.

İkinci avantaj: PoS gecikmesi çok düşük yapılabilir, onaylama çok hızlı olabilir. PoS sisteminde bir işlem paketlendikten hemen sonra paketlenebilir ve paketlendikten sonra yayınlanabilir Bu süre için beklemeye gerek yoktur PoW'dan farklı olarak en az bir PoW problemi beklemeniz gerekir. Aslında, PoS mutabakatının gecikmesi esas olarak ağ ve oy veren katılımcıların sayısı ile sınırlıdır. Çünkü oy verdiğiniz kişi sayısı arttıkça daha uzun süre beklemelisiniz.

Üçüncü avantaj: PoS, çalışma kanıtı gerektirmediği için daha çevre dostudur. Oylama aslında bir imza atmak ve en fazla bazı basit hesaplamalar yapmaktır, bu da PoW problemini çözmekten çok daha kolaydır.

Ancak eksiklikleri de yukarıdakilerle ilgilidir, PoW sisteminin bazı avantajları kaybolmuştur.

İlk olarak, izinsiz PoW sistemi ile karşılaştırıldığında, PoS sistemi anonimlik ve izin açısından biraz daha düşüktür. Çünkü kişi olarak bir PoS sistemine katılmak istiyorum, oy vermek istersem önce jeton tutmalıyım. Bu parayı başka yollarla elde etmem imkansız, zaten parası olanlarla işlem yapmam gerekiyor, parayı bana verdikten sonra hakkım olacak. Bu PoW'ye benzemez, sisteme bir makine bağlı olduğu sürece, madeni paralar doğrudan çıkarılabilir.

İkincisi, oy vermenin maliyeti çok düşük, geçerli bir oy oluşturmak için sadece imza atmanız gerekiyor. Bu durumda bazı güvenlik sorunları ortaya çıkacaktır. PoS sistemlerindeki yaygın zararsız saldırılar sorunu gibi.

Ek olarak, oy hakları yeniden kullanılabilir ve devredilebilir ki bu da iyi değildir. Özel anahtarımı başkalarına satarsam, daha önce oy verdiğim oylar, tarihte her şubenin yaptığı seçimler, bu sefer özel anahtarımı alan kişi tekrar oy kullanabilir. Önceki oy haklarının yeniden kullanılabilmesi bazı güvenlik sorunlarına neden olacaktır. Uzun menzilli saldırılar hakkında konuştuğumuzda daha sonra detaylı olarak tartışacağız.

Oylama mekanizmasının neden olduğu bazı sorunlar da var. Az önce PoS mutabakatının avantajının, onaylamanın hızlı olması ve çatallar olmadan elde edilebilmesi olduğunu söyledik, ancak bu çatallanmayanın öncülü, çoğu düğümün dürüst olduğunu varsaymaktır. Düğümlerin 2 / 3'ünden fazlasının dürüst olduğu söyleniyor Aslında, madeni paraların 2 / 3'ünden fazlasının ve oy haklarının dürüst insanların elinde olması ve kötü insanların 1 / 3'ünden daha az oy hakkına sahip olması kesinlikle gereklidir. Oyların 2 / 3'ünden fazlasını alan bir blokta, farklı bloklara oy verebilecek bazı kötü adamlar olsa bile, imzalamamış kalan iyi insanlara katılacaklar ve hepsi 2 / 3'ü geçmeyecek. . Bu durumda, düğümler tarafından yeterli imza olduğu ve tüm sistemdeki düğümlerin çoğu dürüst olduğu sürece, sistem hiç çatallanmayacaktır, çok hızlı bir şekilde yapılabilir ve herkes bunu hızlı bir şekilde onaylayacaktır. Örneğin, EOS artık blok üretimini hızlı bir şekilde gerçekleştirdi ve onay hızlı.

Ancak PoS mutabakatının bazı yeni sorunları da var.

Birincisi, iletişimin karmaşıklığının seçmen sayısıyla ilgili olması ve genellikle karesinin alınmasıdır. Ne kadar çok kişi oy kullanırsa, iletişim o kadar karmaşık ve herkes o kadar uzun süre beklemek zorunda kaldı. Sanki Amerika Birleşik Devletleri başkanına bir kişi, bir oy vermek istiyorsak, tüm oylama süreci çok karmaşık ve çok yavaş; ve Politbüro'da bir şeye karar vermek için oy vermek çok daha hızlı çünkü çok az insan var.

Aynı zamanda PoS konsensüsünün nispeten temel bir sorunu da vardır, yani oylama haklarının karar verme süresi, aday blokların oluşturulmasından daha erkendir. Bu bloktan önce kimin oy hakkına sahip olduğunu ve kimin olmadığını biliyordum. Oy haklarının belirlenme şekli nedeniyle, oy kullanma kararı ile bu hakkın kullanılması aslında ayrıdır ve birbirine bağlı değildir. Oy kullanma hakkına sahip olduğumda, kimse bir şey söyleyemedi, bu yüzden kime oy vermem gerektiği belirlendi. Bu yüzden, oy kullanma hakkını elde ettikten sonra, her yerde oy kullanabilirim ve oy verme davranışım, oy kullanma hakkım olup olmadığını belirlemez. Ancak bu durumda, oy haklarının kullanımı daha esnektir, bu da daha fazla strateji seçebileceğim ve tüm oyunun daha karmaşık hale geleceği anlamına gelir.

Genel olarak konuşursak, geniş bir strateji alanı güvenlik için iyi değildir çünkü saldırganların çalışması için daha fazla alan bırakır. Dürüst bir insan genellikle sadece kurallara uyar, her seferinde bir eylem yapmaya karar verir, ancak saldırganın geniş bir çalışma alanı varsa, çok şey yapabilir ve güvenliği sağlamak daha da zorlaşır. Sonuç, PoS sisteminde zararsız saldırılar ve uzun menzilli saldırılar gibi daha fazla saldırı yöntemi olacağıdır.

Öyleyse neden PoS sisteminde önce bloklar oluşturup ardından PoW sisteminde olduğu gibi oy haklarını belirleyemiyoruz? Çünkü herkesin oy hakları konusunda fikir birliğine sahip olmasını sağlamalıyız. Seçmen hangi adayı bloke ederse etsin, kimin oy hakkına sahip olduğunu herkesin bilmesini sağlamak gerekir. Aksi takdirde, PoW benzeri bir duruma dönüşebilir - buna PoS sisteminde kazık taşlama denir, bu da her seferinde çok sayıda yeni blok oluşturmaya çalıştığınızda ve ardından bu bloklardan en faydalı yayını seçmeniz anlamına gelir. Dışarı çıkın ve ardından bu blok arkasındaki oy haklarını belirleyecektir. Önce blok gerçekten çıkarsa ve sonra oy hakları belirlenirse, birkaç şubeye ayrılan bir çatal görebiliriz ve ardından her şubenin bloğunu bir grup arkadaş ve akraba gibi bir komite ve akraba ve arkadaş grubundaki insanların çoğunluğu izler. Hepsi bu bloğun doğru olduğunu söylüyor. Ancak her bloğun arkasındaki akraba ve arkadaş grupları farklı olduğu için, nasıl oy kullanırlarsa kullansınlar, yine de tüm sistemin mutabakatına varamıyorlar.

PoS fikir birliğiyle ilgili bir başka sorun da, çoğu düğümün dürüst olduğunu varsaymanın gerekli olmasıdır. Kriptografide genellikle "dürüstlük" den daha çok bahsedilir. Ancak oyun teorisi ve ekonomisinde, bir kişinin dürüst olduğunu ve daha çok bir kişinin mantıklı olduğunu söylemek nadirdir - eğer yalan daha çok para kazandırırsa, birçok insan yalan söylemeyi seçecektir. Dolayısıyla, bu düğümlerin dürüst olduğunu varsayarsak, bu aslında çok güçlü bir varsayımdır. Bu, yalan söyleyerek ve kötülük yaparak daha fazla para kazanabilecek olsalar bile, yine de anlaşmaya uymayı seçecekleri anlamına gelir. Bu bağlamda, makul bir varsayım olup olmadığını bilmek için belirli bir anlaşmaya ve dürüstlüğün ne ölçüde gerekli olduğuna bakmamız gerekir.

PoS mutabakatının getirdiği bu yeni sorunların nasıl çözüleceğinden bahsedeyim.

İlki, aslında çözülmesi en kolay olan yüksek iletişim karmaşıklığı sorunudur. Rastgele küçük bir komite seçebilir ve bu kişiler temsilci olarak oy vermekten sorumlu olacaktır veya vekaleten oylamayı kullanabilirsiniz, yani, EOS'daki süper düğüm gibi bir temsilci seçmek için oylarımı oylarım ve sonra bu seçimler Temsilcisi bana oy vereceğim. Bunun avantajı, blok üretimi için oybirliği oylamasına fiilen katılan kişi sayısının nispeten küçük olmasıdır, bu da oylamanın karmaşıklığını azaltabilir. Gerçekte, halk kongreleri, yabancı parlamentolar veya jürilerin hepsi benzer bir mantık kullanır.

O halde saldırı ile nasıl savaşılır? Bunun bir yolu, çoğu insanın dürüst olduğunu varsaymak ve ardından ağın çok iyi senkronizasyona sahip olduğunu varsaymaktır - yani, bir blok yayınlandıktan sonra, bir dakika veya 30 saniye gibi belirli bir süre içinde tüm ağ Çoğu düğüm onu alabilir. Bu öncül altında, fikir birliğine varmak çok kolaydır. Ancak bu varsayım aslında çok güçlüdür ve gerçekte garanti etmek kolay değildir. Belli bir saldırı problemini çözmek istiyorsak, doğrudan saldırının olmadığını varsayıyoruz ve sonra problem çözülüyor, bu kesinlikle ikna edici bir yöntem değil.

PoS sistemlerine yönelik birkaç yaygın saldırıyı tartışalım.

Birincisi zararsız bir saldırıdır, aslında birden fazla oy içeren bir oy. Bir PoW sisteminde, bir madenci çatal gibi iki blok görürse, hesaplama gücü yalnızca birinin arkasını kazabilir ve aynı anda ikisinin arkasını kazmak imkansızdır. Elbette, aynı anda iki blok madenciliği yapmak imkansız değildir. Bu sadece, her bloğa tahsis edilen hesaplama gücünün azaltılması gerektiği anlamına gelir. Madenciliğin iki tarafının hesaplama gücü sabit bir değerdir, bu nedenle genellikle değildir Birisi bunu yapacak. PoS sisteminde durum farklı: Solda bir çatal görüyorum, ona oy veriyorum; Sağda bir çatal görüyorum ve tekrar oy veriyorum. Bu şekilde, hangi çatala konsensüs denilirse adlandırılsın, oylamanın karşılığını alabiliyorum. Bu durumda kötü adamlar çok mutlu. Kötü adamlar, eğer bir çatal yaparsam siz mantıklı madencilerin de bana oy vereceğini söylüyorlar. O zaman geri kalan "o kadar mantıklı olmayan iyi insanlardan" daha fazla oy hakkına sahip olduğum sürece önceki ana zinciri geri alabilirim. Düşürmek. Bu durumda çok güvensizdir.

Zararsız saldırılar için yaygın bir karşı önlem, böyle bir kişiyi tek oyla çok oy kullanan bir davranış tespit edildiğinde cezalandırmaktır. Birden fazla oy için gerçekten oy kullanırsanız, diğerleri oylama bilgilerinizi alabilir ve ardından bunu zincire sunarak "Bu kişi birden fazla oy için oy vermişse, para düşülecektir" diyebilir. Ancak bu yöntem aslında bazı problemlerle karşılaşabilir yani her iki tarafta birden fazla oy kullanmam olabilir ama sonunda sadece bir taraftan düşeceğim ama diğer taraftan daha fazla fayda elde edebilirim.

Bir de rüşvet saldırısı var. Oy verirken, çoğu katılımcı aslında mantıklı insanlara daha yakındır. Örneğin, yüz yuan tutarsanız, her oydan elde edilen kar bir yuan olur ve sonra size bloğuma oy verdiğiniz sürece size iki yuan vereceğimi söyleyeyim. Belki birçok kişi teklifimi kabul eder. Bu durumda, kötü adamlar şubelerini desteklemek için çok düşük bir maliyetle daha fazla oy satın alabilirler; örneğin, iki yuan kullanarak, yüz yuan varlığa eşdeğer oy hakkı satın alabilir. Bunun kesinlikle güvenlik üzerinde etkisi olacaktır. Rüşvet sorununun zaten bazı çözümleri var, mükemmel olmasa da daha inandırıcı.

Örneğin, Algorand tarafından önerilen çözüm, oy haklarının dağılımının özel rastgele sayılarla hesaplanmasıdır. Seçmenler, oy hakkı kanıtını yayınlayana kadar, kimse kimin oy hakkına sahip olduğunu bilemez. Bu durumda en azından kimse oy kullanmadan önce oy kullanma hakkım olduğunu bilmeyecek ve bana rüşvet veremeyecek. Halka açık oylamadan sonra, Algorand'ın yöntemi, her tur oylama tamamlandığında komitenin tüm üyelerini değiştirmek ve ardından oy verecek bir grup insanı yeniden seçmek olduğu için, diğerleri benim oy hakkım olduğunu bildiğinde, oyum çoktan atılmış oluyor. , Değiştirmek için rüşvet vermenin bir yolu yoktur. İşte fikir birliği katılımcılarının dürüstlüğüne ilişkin görece yüksek bir varsayım: Oy verme hakkım olduğunu söyleyemem ve sonra hangi tur oy hakkına sahip olduğumu ve herhangi birinin bunu ödemek isteyip istemediğini sormak için İnternet'e gidiyorum. Gerçekte, eğer birisi bunu gerçekten büyük ölçekte sorarsa, aslında topluluk tarafından keşfedilmesi kolaydır ve herkes birisinin bu tür bir saldırı yaptığını bilecek ve yanıt vermek daha kolay olacaktır. Bu, en azından saldırıya uğrama riskini azaltmanın bir yoludur.

Bir diğeri, uzun menzilli saldırıların güvenliği. Ne anlama geliyor?A20%20%AABC50%80%ABC

Casper PoS

Algorand

PoS DPoS PoS PoW PoW

2/3 67% 10% 11% PoW 51%

PoS PoW PoW 51%PoS Algorand Staker 80% PoS 2/3

PoS PoS PoS PoS EOS PoW PoS PoW

PoS PoS

04

PoW VS. PoS

PoW PoS

PoW

PoW PoW PoS

PoW PoS PoS PoS

PoW PoS PoS

PoW PoS PoW PoS DAG DAG

sharding shard

PoW PoS PoW PoW PoS

PoW PoS

< SON >

ConfluxCinderella

Geçen yıl Güney Kore'yi sollayan ve bu yıl Japonya'yı sollayan Çin, dünyanın en büyük doğal gaz ithalatçısı olacak
önceki
Standart olarak dört tekerlekten bağımsız süspansiyon ile yalnızca 74.900 için satılan bu SUV, 100.000 içinde en popüler model olacağını taahhüt etti.
Sonraki
Fuliang, Jingdezhen, güzellik bir rüya kadar büyüleyici
Shen Teng ve kız kardeş birlikte ateşli arayış içindeler, aile sevgisi en değerlisidir!
Kral olarak taç giymekten sunağa düşmeye, klasik eterik "kıyamet arabasına" giden yol
38 Kraliçe Günü neden bu kadar popüler?
Geçen hafta öğretmenini tecavüzle suçladı ve polis dava açmayı reddetti, bu hafta ağladı ve öğretmeninden özür diledi ...
Ticaret fazlasının yaklaşık yarısı Çin'den geliyor, Güney Kore Çin ekonomisine aşırı bağımlılığından endişe duyuyor ve ASEAN Hindistan'a transfer olmaya çalışıyor
Yili: Küçük bir gıda fabrikasından yıllık 70 milyar gelire kadar sadece bunu yaptım
Sichuan'ın kadın tüketim gücü ülkenin ilk beşinde yer alıyor Kadınların tüketim potansiyeli artacak mı?
Şiddetli yağmur + şimşek çift tıklama! Jiangxi Eyalet Savunma Ofisi, bu 21 ilçeye transfer için hazırlanmalarını emretti! Yılın en zor zamanı burada
Bir dakika bekle! Huluxia, BAIC New Energy'nin "arka kapı" listesi konusunda neden iyimser?
2018 Yunqi-Yeni Perakende Zirvesi Alibaba perakendeciliğinin ana gücünü toplar, uygulamaları tartışır ve geleceği keşfeder
Kadınlar Günü'nden önce neden Kızlar Günü oldu? Gerçekten mantıklı mı?
To Top