科普|波卡協議概覽 - 冷萃財經

科普|波卡協議概覽

科普|波卡協議概覽
文章摘要:加入 PolkaWorld 社區,共建 Web 3.0!這篇文章是對 Polkadot 協議的概括介紹,主要會介紹 Polkadot 特有的術語、和其他鏈的顯著區別以及使用 Polakdot 的實用信息。

加入 PolkaWorld 社區,共建 Web 3.0!

科普|波卡協議概覽

這篇文章是對 Polkadot 協議的概括介紹,主要會介紹 Polkadot 特有的術語、和其他鏈的顯著區別以及使用 Polakdot 的實用信息。

DOT 代幣

代幣小數位數:12

餘額類型:u128

地址

在 Polkadot(和大多數 Substrate 鏈)中,用戶帳戶是一個 32 位元組(256 位)的 AccountId。這是 Substrate 使用的加密的公鑰。

Polkadot(和 Substrate)使用 SS58 地址格式。這是一種廣泛的「元格式」,旨在處理許多不同的密碼和鏈。它與比特幣的 Base58Check 格式有很多共同點,比如版本前綴、基於哈希的校驗後綴以及 base-58 編碼。

有關編碼和更全面的網路前綴列表的信息,請參見 Substrate wiki 中的 SS58 頁面。https://github.com/paritytech/substrate/wiki/External-Address-Format-(SS58)

本指南的相關 SS58 前綴:(SS58 編碼前)

Polkadot: 0

Kusama: 2

Westend: 42密碼學

Polkadot 支持以下加密密鑰對和簽名演算法:

Ed25519

Sr25519 - Ristretto 群上的 Schnorr 簽名

secp256k1 上的 ECDSA 簽名

請注意,secp256k1 密鑰的地址是公鑰哈希的 SS58 編碼,以便將公鑰從 33 位元組減少到 32 位元組。

小額存款

波卡使用小額存款(ED:existential deposit)來防止灰塵帳戶將狀態擠爆。如果一個帳戶低於 ED,它將被銷毀,即完全從存儲中刪除,並將 nonce 值重置。

出於審計目的追蹤賬戶 nonce 值的錢包和保管人應該注意不要讓帳戶銷毀,因為用戶可能會朝該地址退款,並嘗試與其進行交易。餘額模塊提供transfer_keep_alive的功能(即在轉賬時保持賬戶存在的功能),使用了該功能後,如果一筆轉賬將導致銷毀發送方的帳戶,則會返回錯誤並中止交易,而不會進行轉賬。

自由的 vs 保留的 vs 鎖倉的 vs 鎖倉待釋放的餘額

帳戶餘額信息存儲在 AccountData 中。Polkadot 主要處理兩種類型的餘額:自由余額(free balance)和保留餘額(reserved balance)。

對於大多數操作,你可能感興趣的是自由余額。例如,它是一個賬戶在 staking 和治理方面的「權力」。保留餘額是指某項業務預留的資金,仍屬於賬戶持有人,但不能使用。

鎖倉(locks)是對自由余額的一種抽象,它暫時無法支出,只能用作某些特定目的。幾個鎖倉可以在同一個帳戶上操作,但它們是重疊的而不是相加的。例如,一個賬戶可以有 200 DOTs 的自由余額,上面有兩個鎖倉:150 DOTs 用於轉賬,100 DOTs 用於保留備用。帳戶不能進行導致自由余額低於 150 DOTs 的轉賬,但卻可以通過跟保留餘額相關的操作,導致自由賬戶低於 150 但高於 100 DOTs。

在治理公投中用於 staking 和投票的綁定代幣都是鎖倉的。

鎖倉待釋放的餘額(Vesting)是另一種使用了鎖倉的自由余額的抽象。Vesting 設定了一個鎖倉,隨著時間的推移,這個鎖倉會減少,直到所有的資金都可以轉移。

更多信息:

可鎖倉的代幣:https://substrate.dev/rustdocs/master/frame_support/traits/trait.LockableCurrency.html

鎖倉撤銷的原因:https://substrate.dev/rustdocs/master/frame_support/traits/enum.WithdrawReason.html

Vesting:https://substrate.dev/rustdocs/master/pallet_vesting/index.html

外部元素和事件外部元素(Extrinsics)

外部元素包含了來自外部世界的信息,它有三種形式:

內在因素(Inherents)

簽名的交易(Signed Transactions)

未簽名的交易(Unsigned Transactions)

作為基礎設施提供者,你將幾乎只處理已簽名的交易。但是,你將在你解碼的區塊中看到其他外部元素。你可以在 Substrate 文檔中找到更多信息。https://substrate.dev/docs/en/knowledgebase/learn-substrate/extrinsics

內在因素包含未被證明為真,但驗證人基於某種合理性的方法對其達成了一致的信息。例如,時間戳無法被證明,但是驗證人可以一致同意它在系統時鐘的某個範圍內。內在因素並沒有在網路上 「八卦」,只有區塊生產者將其插入到區塊中。

已簽名的交易包含發布交易的賬戶的簽名,並且需要支付費用才能將交易包含在鏈上。由於在鏈上包含簽名交易的價值可以在執行之前識別出來,因此它們可以在網路上的節點之間進行「八卦」,從而降低垃圾信息的風險。簽名交易符合以太坊或比特幣交易的概念。

某些交易不能由手續費帳戶簽名,並且使用未簽名的交易。例如,當用戶從有 DOT 的以太坊合約向新的 DOT 地址進行映射的時候,新地址還沒有任何資金來支付費用。交易永存性

外部元素可以是有限期的,也可以是永存的。交易負載包括一個區塊號和一個區塊哈希檢查點,交易從該檢查點開始有效,以及一個有效期(在某些地方也稱為 「era」),該有效期表示交易有效的檢查點之後的區塊數。如果此有效性窗口內的區塊中未包含外部項,則將從交易隊列中丟棄它。

鏈只存儲有限數量的先前區塊哈希作為引用。你可以從鏈狀態或元數據中查詢這個名為 BlockHashCount 的參數。該參數在 genesis 設置為 2400 個區塊(大約 4 小時)。如果有效期大於存儲在鏈上的塊的數量,那麼只要有一個要檢查的塊(即有效期的最小值和塊哈希計數),交易才有效。

使用 genesis 哈希將塊檢查點設置為零,有效期為零將使交易永存。

注意:如果一個帳戶被銷毀並且一個用戶重新為該帳戶提供資金,那麼他們可以重放一個永存的交易。務必默認使用有限期的外部元素。事件(Events)

外部元素代表來自外部世界的信息,而事件則代表來自鏈的信息。外部元素可以觸發事件。例如,當認領 staking 獎勵時,staking 模塊發出獎勵事件,以告知用戶賬戶的獎勵金額。手續費

Polkadot 使用基於 weight 的費用,與 gas 不同,它是在調度前收取的。用戶還可以添加一筆 「小費」 來提高擁擠時段的交易優先順序。有關更多信息,請參見交易費頁面。https://wiki.polkadot.network/docs/en/learn-transaction-fees編碼

Parity 的集成工具應該允許你處理解碼的數據。如果你想繞過它們直接與鏈數據交互或實現自己的編解碼器,Polkadot 使用 SCALE 編解碼器(https://substrate.dev/docs/en/knowledgebase/advanced/codec)對區塊和交易數據進行編碼。

智能合約

波卡的中繼鏈不支持智能合約。

其他網路

除了運行專用網路外,Polkadot 還有另外兩個網路,在部署到 Polkadot 主網之前,你可以在其中測試基礎結構。

Kusaam 網路:Kusama 是波卡的瘋狂表親。許多有風險的功能在在進入 Polkadot 之前,都會被部署到 Kusama。

Westend 測試網:Westend 是 Polkadot 的測試網,使用 Polkadot runtime。

其他問題如果沒有相應的鏈上交易,帳戶的餘額是否可以更改?

不,但並非所有的餘額變化都在一個交易中,有些是在事件中。你將需要運行一個存檔節點並監聽事件和交易以跟蹤所有帳戶活動。這尤其適用於鎖倉的操作,如果你將餘額計算為可消耗餘額,即自由余額減去最大鎖倉。什麼樣的鏈深度被認為是 「安全的」?

波卡使用確定性的最終機制。一旦一個塊完成,它就不能被還原,除非用硬分叉。為了取消 runtime 升級,Kusama 已經有了硬分叉,它還原了四個最終確定的塊。使用 10 個區塊的最終深度應該是安全的。

請注意,在 Polkadot 中,區塊生成和終結是獨立的過程,鏈可以有一個長的未完成區塊頭。用戶需要與任何智能合約交互嗎?

不,用戶直接與鏈的邏輯交互。波卡有狀態租賃嗎?

沒有,Polkadot 使用小額存款來防止灰塵帳戶和其他經濟機制,如為使用狀態的操作鎖定或保留代幣。

查看當前鏈高度的外部源是什麼?

Polkadot JS 瀏覽器:https://polkadot.js.org/apps/#/explorer

Polkascan 區塊瀏覽器:https://polkascan.io/

原文:https://wiki.polkadot.network/docs/en/build-protocol-info

翻譯:PolkaWorld 社區

歡迎學習 Substrate:

https://substrate.dev/

關注 Substrate 進展:

https://github.com/paritytech/substrate

關注 Polkadot 進展:

https://github.com/paritytech/polkadot

冷萃財經原創,作者:Awing,轉載請註明出處:https://www.lccjd.top/2020/06/26/%e7%a7%91%e6%99%ae%ef%bd%9c%e6%b3%a2%e5%8d%a1%e5%8d%8f%e8%ae%ae%e6%a6%82%e8%a7%88/?variant=zh-tw

0

掃一掃,分享到微信

猜你喜歡

文章評論

電子郵件地址不會被公開。 必填項已用*標註

後發表評論

    上一篇

    今日推薦 | Filecoin創始人Juan Benet:現在開始修復Bug、提高性能

    下一篇

    掘金Filecoin的方法與注意事項

    微信公眾號

    微信公眾號