Proof-of-Work

與 PoW 相比,權益證明如何防止不誠實行為?

  • May 26, 2019

我知道,在工作證明 (PoW) 中,一旦節點找到了解決方案(隨機數),他們就會向網路宣布解決方案。然後其餘節點可以輕鬆驗證塊雜湊的正確性並將其附加到鏈上。

但是如果解決方案沒有得到正確驗證,則該塊最終不會附加到最長的鏈上,因此不誠實的塊將被丟棄。

我知道在 PoS 的情況下,不誠實的節點會失去權益,但是,

在權益證明 (PoS) 的情況下,此程序如何工作?

我的意思是如何檢查塊的有效性以及壞節點如何失去權益?

首先,權益證明不是單一的算法。有許多不同的實現。例如,Cardano 中使用的算法與 Peercoin 中使用的算法完全不同,後者非常接近,但仍不同於源自 Peercoin 的 Blackcoin 算法。例如,Qtum 使用 Blackcoin 算法。再一次,所有這一切都與乙太坊計劃做的非常不同。

所以,你的問題不能籠統地回答。我們只能談論權益證明的具體實現。最大的 PoS 代幣家族基於 Peercoin,但已經實施了許多不同的修改。

那麼讓我們具體談談Peercoin衍生的家庭。這包括 Qtum、Emercoin、Navcoin、Stratis、NovaCoin、Blackcoin、PIVX、Neblio、ABBC Coin、Particl 等硬幣。

如前所述,這些硬幣中有許多不同風格的算法。但總的來說,它們的工作方式如下。

他們實現了一種特殊的交易,稱為硬幣(CS)交易。該交易用於證明區塊是根據所使用的 PoS 協議正確創建的。就像工作量證明一樣,權益證明也有可調整的難度和每個區塊需要滿足的目標。就像在比特幣中一樣,目標是 256 位數字。代幣交易的第一個輸入稱為核心。通正常則是這樣的:

SHA256(SM || PT || KH || KN || T) <= WT

在哪裡

  • SM 是 StakeModifier - 實際計算方式有多種。一個例子是SM_n = SHA256(SM_(n-1) || KH),其中n是塊號(高度);
  • PT 是在 CS 中用作核心的硬幣 (UTXO) 創建的塊的時間,
  • KH 是核心的 prevout 雜湊,
  • KN 是核心的 orevout N,
  • T 是塊時間,
  • WT 是加權目標,計算為WT = Target * (value of kernel UTXO)

因此,如果你是 PoS 區塊生產者,你的錢包裡有你所有的硬幣,你要做的就是定期檢查你的一個硬幣是否不能滿足上述規則。如果你有這樣的硬幣,你就可以創建一個塊。你可以觀察到時間的流逝、T變化,所以每個新硬幣的左側都有新的和新的雜湊值,所以最終會發生網路上的一些硬幣將通過給定目標的規則。

最長鏈的概念再次與比特幣非常相似。chain work再次是區塊難度的總和,最長的鍊是鏈工作最多的鏈。但是,由於權益磨削攻擊,最長鏈規則的應用受到限制。在一些硬幣中,引入了所謂的最大重組長度,在另一些硬幣中,它被稱為動態檢查點等。如果需要從目前最佳鏈中替換太多塊,這可以防止節點切換到更好的鏈。

還有許多其他技術細節和微妙之處,但這是基本概念。請注意,在這一系列 PoS 算法中,您不能失去賭注。我實際上不知道有任何完成的 PoS 實施可能會讓你失去你的股份。這裡的想法通常是,與其從不誠實的節點那裡拿走股份,不如嘗試以一種不可能作弊的方式設計協議。但是,由於某些屬性,例如 . 這種嘗試很難完美滿足nothing at stake

引用自:https://bitcoin.stackexchange.com/questions/70807