驗證器 FAQ
查看關於在 DST 上運行驗證器的常見問題解答。
一般概念
什麼是驗證器?
DST 由 [Tendermint](https://docs.tendermint.com/v0.34/introduction/what-is-tendermint.html) Core 提供支持,它依賴於一組驗證器來保護網絡。
驗證器運行一個完整的節點並通過廣播投票參與共識,投票包含由他們的私鑰簽名的加密簽名。驗證器在區塊鏈中提交新區塊並獲得收入以換取他們的工作。
他們還通過對治理提案進行投票來參與協議內的財務治理。驗證器的投票影響力根據他們的總權益進行加權。
什麼是"質押"?
DST 是一個公開的股權證明 (PoS) 區塊鏈,這意味著驗證器的權重取決於作為抵押品的抵押代幣 (NXN) 的數量。 這些質押代幣可以由驗證器直接質押或由 NXN 持有者委託給他們。
系統中的任何用戶都可以通過發送create-validator
交易來聲明其成為驗證器的意圖。
從那裡,他們成為驗證器。驗證器的權重(即總權益或投票權)決定了它是否是一個活躍的驗證器,也決定了該節點提出區塊的頻率以及它將獲得多少收益。
最初,只有權重最高的前 150 個驗證器才是活躍的驗證器。如果驗證器雙重簽名或經常離線,他們將冒著被抵押的代幣(包括用戶委託的 NXN)被協議`罰沒`的風險,以懲罰疏忽和不當行為。
什麼是全節點?
全節點是一個程序,可以完全驗證區塊鏈的交易和區塊。它不同於僅處理區塊頭和一小部分交易的輕型客戶端節點。 運行一個完整的節點需要比輕客戶端更多的資源,但這是成為驗證器所必需的。
在實踐中,運行全節點僅意味著運行未妥協且最新版本的軟件,具有低網絡延遲且不會停機。當然,任何用戶都可以並鼓勵他們運行完整節點,即使他們不打算成為驗證器。
什麼是pos委託?
委託人是 NXN 持有者,他們不能或不想自己運行驗證器操作。。 用戶可以將 NXN 委託給驗證器並獲得其部分收入作為交換(有關收入如何分配的更多詳細信息,請參閱下面的質押的動機是什麼? 和 什麼是驗證器的佣金?部分)。
因為他們與他們的驗證器分享收入,所以委託人也分擔責任。如果驗證器行為不當,其每個委託人都將根據他們的股份比例被部分削減。這就是為什麼委託人應該在委託之前對驗證人進行盡職調查,並通過將他們的股份分散到多個驗證人來實現多元化。
委託人在系統中扮演著關鍵角色,因為他們負責選擇驗證器。請注意,作為委託人並不是一個被動的角色。 委託人有義務保持警惕並積極監控其驗證器的行為,如果他們未能負責任地採取行動,則進行切換。
成為驗證器
如何成為驗證器?
網絡中的任何參與者都可以通過創建驗證器並註冊其驗證器資料來表明他們成為驗證器的意圖。
為此,候選人廣播一個create-validator
交易,他們必須在其中提交以下信息:
- Validator's PubKey: 驗證器運營商可以有不同的賬戶來驗證和持有流動資金。 提交的 PubKey 必須與驗證器打算簽署 prevotes 和 precommits 的私鑰相關聯。
- Validator's Address: dstvaloper1- 地址。這是用於公開識別您的驗證器的地址。 與此地址關聯的私鑰用於綁定、解除綁定和領取獎勵。
- Validator's name (也稱為 綽號)
- Validator's website(選填)
- Validator's description (選填)
- Initial commission rate: 區塊獎勵和向委託人收取的費用.
- Maximum commission: 該驗證器將被允許收取的最高佣金率。
- Commission change rate: 驗證器佣金的每日最大增幅。
- Minimum self-bond amount: 驗證器需要始終綁定的最小 NXN 數量。如果驗證器的自抵押質押低於此限制,其整個質押池將被解除抵押。
- Initial self-bond amount: 驗證器想要自我綁定的初始 NXN 數量。
stcd tx staking create-validator
--pubkey dstvalconspub1zcjduepqs5s0vddx5m65h5ntjzwd0x8g3245rgrytpds4ds7vdtlwx06mcesmnkzly
--amount "20000000000nxn"
--from tmp
--commission-rate="0.20"
--commission-max-rate="1.00"
--commission-max-change-rate="0.01"
--min-self-delegation "10000000"
--moniker "validator"
--chain-id "daodst_7777-1"
--gas auto
--node tcp://127.0.0.1:26657
🚨 危险:
不要 使用test作為 keyring 後端來創建您的主網驗證器密鑰。
這樣做可能會導致資金損失,因為您的資金可以通過 eth_sendTransaction
JSON-RPC 端點遠程訪問。
一旦創建並註冊了驗證器,NXN 持有者就可以將 NXN 委託給它,從而有效地向其池中添加股份。 驗證器的總質押量是驗證器運營者自抵押的 NXN 和外部委託人抵押的 NXN 的總和。
只有持有最多股份的前 150 名驗證器才被視為活躍驗證器,成為 綁定驗證器。如果驗證器的總權益低於前 150,驗證器將失去其驗證器特權(意味著它不會產生獎勵)並且不再作為活動集的一部分(即不參與共識),輸入 解除綁定模式並最終變為 解除綁定。
驗證器密鑰和狀態
有哪些不同類型的密鑰?
簡而言之,有兩種類型的密鑰:
- Tendermint 密钥:這是用於對塊哈希進行簽名的唯一密鑰。它與公鑰相關聯
dstvalconspub
。
- 在使用
stcd init
創建節點時生成。 - 使用
stcd tendermint show-validator
獲取此值,例如dstvalconspub1zcjduc3qcyj09qc03elte23zwshdx92jm6ce88fgc90rtqhjx8v0608qh5ssp0w94c
- 在使用
- 應用程序密鑰:這些密鑰是從應用程序創建的,用於簽署交易。作為驗證器,您可能會使用一個密鑰來簽署與 staking 相關的交易,而另一個密鑰來簽署與 oracle 相關的交易交易。應用程序密鑰與公鑰
dstpub-
和地址dst-
相關聯。兩者都源自stcd keys add
生成的帳戶密鑰。
⚠️注意:
驗證器的操作員密鑰直接綁定到應用程序密鑰,但僅為此目的使用保留前綴:dstvaloper
和dstvaloperpub
驗證器可以處於哪些不同狀態?
使用 create-validator 事務創建驗證器後,它可以處於三種狀態:
- bonded:驗證器在活動集中並參與共識。驗證器正在獲得獎勵,並可能因不當行為而被削減。
- unbonding:驗證器不在活躍集中,不參與共識。
驗證器沒有獲得獎勵,但仍可能因不當行為而被削減。這是從 綁定 到 未綁定 的過渡狀態。如果驗證器在 解除綁定 模式下未發送 rebond 交易,則需要兩週時間才能完成狀態轉換。 - unbonded:驗證器不在活動集中,因此不簽署區塊。
未綁定的驗證器不能被削減,但不會從他們的操作中獲得任何獎勵。仍然可以將 NXN 委託給該驗證器。
从一个unbonded
驗證器中取消委託是立即的。委託人與他們的驗證人具有相同的狀態。
什麼是"自我抵押"?如何增加我的"自我抵押"?
驗證器運營者的 自我抵押 是指委託給自己的 NXN 質押量。您可以通過將更多 NXN 委託給您的驗證器帳戶來增加您的自我抵押。
有測試網水龍頭嗎?
如果您想獲得測試網的幣,您可以使用 水龍頭
是否有最低數量的 NXN 必須抵押才能成為活躍的(綁定的)驗證器?
沒有最低限度。總權益最高的前 150 個驗證器(其中total stake = self-bonded stake + delegators stake
) 是活躍的驗證器。
委託人將如何選擇他們的驗證器?
委託人可以根據自己的主觀標準自由選擇驗證人。也就是說,預計重要的標準包括:
- 自綁定 NXN 的數量:驗證器自綁定到其質押池的 NXN 數量。擁有更多自綁定 NXN 的驗證器在遊戲中擁有更多的皮膚,使其對其行為承擔更多責任。
- 委托的 NXN 數量:委託給驗證器的 NXN 總數。高 stake 表明社區信任這個驗證器,但也意味著這個驗證器是黑客更大的目標。隨著委託 NXN 數量的增長,驗證器的吸引力預計會越來越低。更大的驗證器也會增加網絡的中心化程度。
- 佣金率:驗證器在將收入分配給他們的委託人之前對收入應用的佣金
- 跟踪記錄:委託人可能會查看他們計劃委託給的驗證器的跟踪記錄。這包括資歷、過去對提案的投票、歷史平均正常運行時間以及節點被破壞的頻率。
除了這些標準之外,驗證器還可以提供一個網站地址來完成他們的簡歷。驗證器需要以某種方式建立聲譽以吸引委託人。例如,驗證器讓第三方審核他們的設置是一個很好的做法。但請注意,DST 社區不會自行批准或進行任何審核。
職責
驗證者是否需要公開身份?
不,他們沒有。每個委託人將根據自己的標準評估驗證者。 驗證者將能夠(並被建議)在他們提名自己時註冊一個網站地址,以便他們可以在他們認為合適的時候宣傳他們的操作。 一些委託人可能更喜歡一個網站,該網站可以清楚地顯示運行驗證者的團隊和他們的簡歷,而其他人可能更喜歡具有良好業績記錄的匿名驗證者。 身份驗證者和匿名驗證者很可能會在驗證者集中共存。
驗證人的職責是什麼?
驗證者俱有三個主要職責:
- 能夠持續運行正確版本的軟件: 驗證者需要確保他們的服務器始終在線並且他們的私鑰不被洩露。
- 就社區池資金的正確部署提供監督和反饋: Daodst 協議包括一個提案治理系統,以促進其貨幣的採用。預計驗證者將追究預算執行者的責任,以提供透明度和資金的有效使用。
質押意味著什麼?
質押 NXN 可以被視為驗證活動的安全保證金。當驗證者或委託人想要取回部分或全部質押時,他們會發送一個解除綁定的交易。然後,存款會經歷*兩週的解綁期*,在此期間,他們可能會因為驗證者在解綁過程開始前的潛在不當行為而被削減。
驗證人可以帶著委託人的 NXN 逃跑嗎?
通過委託給驗證者,用戶委託了抵押權。驗證者擁有的抵押權越多,它在共識和流程中的權重就越大。 這並不意味著驗證者可以保管其委託人的 NXN。 驗證者絕不能帶著委託人的資金跑路。 即使委託資金不能被他們的驗證者竊取,如果他們的驗證者行為不當,委託人仍然要承擔責任。在這種情況下,每個委託人的股份將根據他們的相對股份比例被部分削減。
多久會選擇一個驗證者來提議下一個區塊?它會隨著抵押的 NXN 數量增加嗎
被選中來挖掘下一個區塊的驗證者稱為提議者,即該輪共識中的`領導者`”`。每個提議者都是確定性地選擇的,被選中的頻率等於驗證者的相對總權益(其中總權益 = 自抵押權益 + 委託人權益)。 例如,如果所有驗證者的總抵押權益為 100 NXN,而驗證者的總權益為 10 NXN,則該驗證者將有 10% 的概率被選為提議者。 要了解有關 Tendermint BFT 共識中提議者選擇過程的更多信息,請閱讀更多 (https://docs.tendermint.com/master/spec/consensus/proposer-selection.html)
激勵措施
質押的動機是什麼?
驗證者權益池中的每個成員都會獲得不同類型的收入:區塊獎勵: 驗證器運行的應用程序的原生代幣(例如 Daodst 上的 NXN)被膨脹以產生 塊條款。 這些條款的存在是為了激勵 NXN 持有者綁定他們的股份,因為非綁定 NXN 將 隨著時間的推移被稀釋.
交易費用: Daodst 維護著一個被接受為費用支付的代幣白名單。 初始費用令牌是 `dst`.
該總收入根據每個驗證者的權重分配給驗證者的權益池。 然後,在每個 驗證器的質押池收入按每個委託人的股份比例分配給委託人。 佣金 委託人的收入在分配之前由驗證者應用.
運行驗證器的動機是什麼?
由於佣金,驗證者比他們的委託者賺取更多的收入。 驗證者也在治理中發揮重要作用。 如果委託人不投票,他們將繼承他們的投票權 驗證器。 這賦予了驗證者在生態系統中的主要責任.什麼是驗證者佣金?
驗證者池收到的收入在驗證者和它的委託人之間分配。 驗證者可以申請 分配給委託人的部分收入的佣金。 該佣金設置為百分比。 每個驗證者可以自由設置其初始佣金、最大每日佣金變化率和最大佣金。 Daodst 強制執行每個驗證器設置的參數。 這些參數只能在最初聲明時定義 候選資格,並且只有在宣布後才能進一步受到限制。集體條款是如何分配的?
區塊條款(獎勵)相對於他們的總權益(投票權)按比例分配給所有驗證者。 這意味著即使每個驗證者通過每項供應獲得 NXN,所有驗證者仍將保持平等 重量。
讓我們舉個例子,我們有 10 個驗證者,他們擁有相同的抵押權和 1% 的佣金率。 讓我們也 假設一個區塊的供應量是 1000 個 NXN,每個驗證者有 20% 的自抵押 NXN。 這些代幣 不要直接去找提議者。 相反,它們平均分佈在驗證者之間。 所以現在每個驗證者的池 有 100 個 NXN。 這 100 個 NXN 將根據每個參與者的 质押 進行分配:
- 佣金: `100*80%*1% = 0.8 NXN`
- 驗證者得到: `100\*20% + 佣金 = 20.8 NXN`
- 所有委託人獲得: `100\*80% - 佣金 = 79.2 NXN`
費用如何分配?
費用的分配方式類似,除了區塊提議者可以獲得區塊費用的獎金 建議它是否包含超過所需預提交的嚴格最小值。
當一個驗證者被選中提議下一個區塊時,它必須至少包括前一個區塊的 ⅔ 預提交 驗證者簽名的形式。 然而,有一種動機包括超過 ⅔ 的預提交 獎金。 獎勵是線性的:如果提議者包括 ⅔rd 預提交(塊的最小值),則獎勵範圍為 1% 有效)到 5%,如果提議者包括 100% 預提交。 當然求婚者不能等太久或其他 驗證者可能會超時並轉到下一個提議者。 因此,驗證者必須在兩者之間找到平衡 獲得最多簽名的等待時間和失去提議下一個區塊的風險。 該機制旨在 激勵非空塊提案,驗證者之間更好的網絡以及減輕審查制度。
讓我們舉一個具體的例子來說明上述概念。 在這個例子中,有 10 個驗證器 平等的利益。 他們每人收取1%的佣金,並有20%的自保NXN。 現在來了一個成功的塊 總共收取 1005 dst 的費用。 假設提議者在其提議中包含了 100% 的簽名 堵塞。 從而獲得5%的全額紅利。
我們必須求解這個簡單的等式才能找到每個驗證者的獎勵:
$$9R ~ + ~ R ~ + ~ 5\%(R) ~ = ~ 1005 ~ \左右箭頭 ~ R ~ = ~ 1005 ~/ ~10.05 ~ = ~ 100$$對於提議者驗證者:
- 池獲得 $R ~ + ~ 5\%(R)$: 105 DST
- 佣金: $105 ~ *~ 80\% ~* ~ 1\%$ = 0.84 DST
- 驗證者獎勵: $105 ~ * ~ 20\% ~ + ~ 佣金 = 21.84 DST
- 委託人獎勵: $105 ~ * ~ 80\% ~ - ~ 佣金 = 83.16 DST (每個委託人都可以索取自己的部分 這些獎勵與他們的股份成比例)
- 池獲得 $R$: 100 DST
- 佣金: $100 ~ *~ 80\% ~* ~ 1\%$ = 0.8 DST
- 驗證者獎勵: $100 ~ * ~ 20\% ~ + ~ 佣金 = 20.8 DST
- 委託人獎勵: $100 ~ * ~ 80\% ~ - ~ 佣金 = 79.2 DST (每個委託人都可以索取自己的部分 這些獎勵與他們的股份成比例)
削減條件是什麼?
如果驗證者行為不當,其抵押股份及其委託人的股份將被削減。 的嚴重性 懲罰取決於錯誤的類型。 有 3 個主要錯誤可能導致驗證者的資金被削減 及其委託人:
雙重簽名: 如果有人在鏈 A 上報告驗證者在鏈 A 上的相同高度簽署了兩個區塊並且 鏈 B,如果鏈 A 和鏈 B 共享一個共同的祖先,那麼這個驗證者將在鏈 A 上被罰沒。懲罰 雙簽是總股份的 10.00%。
- 停機時間: 如果驗證者錯過了最後 90.000 個區塊中超過 50% 的區塊,他們將被削減 0.50%。
- Unavailability: 如果驗證者的簽名沒有包含在最後的 X 個塊中,驗證者將得到 被與 X 成比例的邊際量削減。如果 X 高於某個限制 Y,則驗證器將解除綁定。
請注意,即使驗證者不是故意行為不當,如果其節點崩潰、丟失,它仍然會被削減 連接性、獲得 DDoSed,或者其私鑰被洩露。
驗證者需要自綁定 NXN 嗎?
不,他們沒有。 驗證者的總權益等於其自身抵押權益及其委託權益的總和。 這意味著驗證者可以通過吸引更多的委託人來補償其少量的自抵押股份。 這是 為什麼聲譽對驗證者來說非常重要。
即使驗證者沒有義務自行綁定 NXN,委託人也應該希望他們的驗證者擁有 在他們的質押池中自綁定 NXN。 換句話說,驗證者應該參與其中。
為了讓委託人對他們的驗證者有多少利益有一些保證,後者可以發出信號 最少量的自鍵合 NXN。 如果驗證者的自我約束低於其預定義的限制,則此 驗證者及其所有委託人將解除綁定。
如何防止质押集中在少數頂級驗證者手中?
目前,社區應該以一種聰明和自我保護的方式行事。 當比特幣的礦池變得太 社區通常會停止向該礦池貢獻很多挖礦能力。 Daodst 最初將依賴於相同的效果。 未來,將部署其他機制來盡可能地平滑這個過程:
Penalty-free re-delegation: 這是為了讓委託人可以輕鬆地從一個驗證器切換到另一個驗證器,以便 以降低驗證者的粘性。
UI warning: 錢包可以實現警告,如果他們想委託給驗證者,這些警告將顯示給用戶 已經擁有大量的抵押權。
技術要求
硬件要求是什麼?
驗證者應該期望為一個或多個數據中心位置提供冗餘電源、網絡、防火牆、 HSM 和服務器。
我們預計最初需要適度的硬件規格,並且它們可能會隨著網絡的發展而增加 使用增加。 參與測試網是了解更多信息的最佳方式。什麼是軟件要求?
除了運行 Daodst 節點外,驗證者還應開發監控、警報和管理解決方案。什麼是帶寬要求?
與以太坊或比特幣等鏈相比,Daodst 具有非常高的吞吐量。
因此,我們建議數據中心節點只連接到雲端的可信全節點或其他驗證器 在社交上相互了解。 這減輕了數據中心節點減輕拒絕服務攻擊的負擔。
最終,隨著網絡的使用越來越多,人們實際上可以期望每天的帶寬達到幾千兆字節的數量級。
運行驗證器意味著什麼?
一個成功的驗證者操作將需要多個高技能人員的努力和持續的操作 注意力。 例如,這比運行比特幣礦工要復雜得多。如何處理密鑰管理?
驗證者應該期望運行支持 ed25519 密鑰的 HSMDaodst 團隊不推荐一種解決方案高於另一種解決方案。 鼓勵社區加強努力,以 改進 HSM 和密鑰管理的安全性。
驗證者在操作方面可以期待什麼?
運行有效的操作是避免意外解綁或被砍的關鍵。 這包括能夠 響應攻擊、中斷,以及維護數據中心的安全和隔離。維護要求是什麼?
驗證者應該期望執行定期軟件更新以適應升級和錯誤修復。 難免會有 在網絡引導階段的早期出現問題,需要高度警惕。驗證者如何保護自己免受拒絕服務攻擊?
當攻擊者向某個 IP 地址發送大量互聯網流量以阻止服務器訪問時,就會發生拒絕服務攻擊 在連接到互聯網的 IP 地址上。
攻擊者掃描網絡,試圖了解各種驗證器節點的 IP 地址並斷開它們與 通過用流量淹沒他們來進行溝通。
減輕這些風險的一種推薦方法是驗證者以所謂的方式仔細構建其網絡拓撲 哨兵節點架構。
驗證者節點應該只連接到他們信任的全節點,因為他們自己操作或由其他人運行 他們在社交上認識的驗證者。 驗證器節點通常在數據中心運行。 大多數數據中心直接提供 鏈接主要雲提供商的網絡。 驗證器可以使用這些鏈接連接到雲中的哨兵節點。 這將拒絕服務的負擔從驗證者的節點直接轉移到它的哨兵節點,並且可能需要新的 啟動或激活哨兵節點以減輕對現有節點的攻擊。
哨兵節點可以快速啟動或更改其 IP 地址。 因為到哨兵節點的鏈接是私有的 IP 空間,基於互聯網的攻擊不能直接干擾他們。 這將確保驗證者阻止提案和投票 總是讓它到達網絡的其餘部分。
預計這部分驗證者的良好操作程序將完全減輕這些威脅。