延時工作量證明(dPoW)是由科莫多(Komodo)項目所設計的一種安全機制。基本上來說,它是工作量證明(PoW)一致性算法的修改版本,它利用比特幣區(qū)塊鏈的哈希算力來增強網(wǎng)絡安全性。通過使用工作量證明(dPoW),Komodo開發(fā)人員不僅能夠保護自己的網(wǎng)絡,還能夠保護未來加入Komodo生態(tài)系統(tǒng)的任何第三方區(qū)塊鏈。實際上,dPoW可以用于保護任何使用UTXO模型開發(fā)的獨立區(qū)塊鏈項目。
延時工作量證明(dPoW)是如何工作的?
以Komodo為例,dPoW安全機制使用Zcash代碼庫開發(fā)并實現(xiàn),通過利用比特幣的哈希算力,實現(xiàn)零知識隱私證明并提高網(wǎng)絡安全性。
每隔十分鐘,Komodo系統(tǒng)會對區(qū)塊鏈網(wǎng)絡執(zhí)行快照。然后,將快照的結(jié)果寫入到比特幣網(wǎng)絡上的區(qū)塊中??偟膩碚f,這個過程創(chuàng)建了整個Komodo系統(tǒng)的備份,該系統(tǒng)的備份保存在比特幣區(qū)塊鏈中。
從技術(shù)層面說,Komodo社區(qū)選舉的公證節(jié)點通過在Komodo鏈上執(zhí)行交易,將每個受dPoW保護的區(qū)塊鏈的區(qū)塊哈希寫入Komodo分布式賬本中。調(diào)用OP_RETURN指令,公證節(jié)點將單個塊哈希存儲到Komodo鏈上。
公證節(jié)點選擇間隔十分鐘的區(qū)塊快照執(zhí)行時間的原因是為了確保整個網(wǎng)絡同意該區(qū)塊的有效性。每個區(qū)塊鏈的網(wǎng)絡仍然會對每個區(qū)塊達成共識。公證節(jié)點簡單地記錄來自先前挖掘的區(qū)塊散列值。
然后,公證節(jié)點將來自Komodo區(qū)塊鏈的散列寫入比特幣帳本中。通過執(zhí)行BTC交易并使用OP_RETURN指令將數(shù)據(jù)寫入比特幣的區(qū)塊鏈中,也可以完成此過程。
在公證節(jié)點完成對比特幣區(qū)塊鏈網(wǎng)絡的操作后,Komodo的公證節(jié)點就會將來自BTC區(qū)塊鏈的區(qū)塊數(shù)據(jù)寫回到每個受保護的鏈上。此時,網(wǎng)絡將不會接受任何嘗試更改公證區(qū)塊(或在公證節(jié)點達成共識之前創(chuàng)建的任何區(qū)塊)的重組操作。
目前,dPoW正在與比特幣一起使用,但它可以作為安全性工具被用在任何其他使用UTXO模型的區(qū)塊鏈中。
PoW 與 dPoW
工作量證明(PoW)算法的主要目標之一是維護網(wǎng)絡安全,阻止諸如分布式拒絕服務攻擊(DDoS)之類的網(wǎng)絡攻擊。簡而言之,PoW算法是生產(chǎn)成本非常高的數(shù)據(jù)塊,并且在挖礦階段作為關(guān)鍵要素也易于被其他人驗證。
基于PoW的區(qū)塊鏈中的挖礦設計是非??量痰摹5V工需要解答一道復雜的密碼學題目,從而挖到一個新的區(qū)塊。這個過程涉及了大量的計算工作,消耗的硬件和電力非常昂貴。挖礦的過程不僅僅可以保護網(wǎng)絡免受外部攻擊,還可以驗證交易的合法性并生成新的加密貨幣(作為礦工解決難題的獎勵)。
因此,工作證明量證明的區(qū)塊鏈很安全的原因之一就是挖礦的過程會涉及到非常高的金融投入。然而,重要的是要注意PoW區(qū)塊鏈的安全性與用于它們的算力(哈希)直接相關(guān),這意味著小型區(qū)塊鏈網(wǎng)絡不如大型區(qū)塊鏈網(wǎng)絡安全。
與PoW相比,dPoW不用于在新區(qū)塊上達成共識,因此不被認為是一致性算法。相反,它是在普通PoW共識規(guī)則之外實施的安全機制。 DPoW使得經(jīng)過公證的區(qū)塊不可能被重組,這意味著它使區(qū)塊鏈更加安全并且能夠抵抗51%攻擊。
實際上,每當一個區(qū)塊被經(jīng)過公證后,dPoW就會“重新設置”區(qū)塊鏈的共識規(guī)則。例如,大多數(shù)PoW區(qū)塊鏈鏈使用“最長鏈規(guī)則”。因此,每當區(qū)塊鏈的網(wǎng)絡收到區(qū)塊XXX,XX1已經(jīng)公證的確認時,最長的鏈規(guī)則從塊XXX,XX2開始。網(wǎng)絡將不接受從區(qū)塊XXX,XX0或之前開始的鏈,即使它是最長的鏈。
最終觀點
延時工作量證明安全機制允許執(zhí)行頻繁的備份,以確保在系統(tǒng)發(fā)生故障或在被入侵后,可以快速恢復整個網(wǎng)絡的數(shù)據(jù)。如果想要成功造成持久的攻擊損害,攻擊者也必須關(guān)閉比特幣網(wǎng)絡,破壞比特幣區(qū)塊鏈中所備份的所有快照。