官方指南:波卡的账户系统
Polkadot生态研究院2023/10/27 14:03
作者:Polkadot生态研究院
“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第 104 期,波卡为了支持多链的未来为波卡构建了一种特殊的账户体系,本文是官方 Wiki 中对于波卡账户基础知识的指南,将会介绍账户、账户余额类型等相关知识。
概述
这篇文档介绍了波卡账户的基础知识 。有关账户派生和索引等更多信息,请参见高级账户页面: https://wiki.polkadot.network/docs/learn-account-advanced
有关波卡账户背后的密码学的更深入解释,请参见密码学页面: https://wiki.polkadot.network/docs/learn-cryptography
账户地址
地址是波卡账户的公共部分。私有部分是用于访问此地址的密钥。公共和私有部分共同组成波卡账户。您可以将您的账户的公共地址视为您的邮箱,将私钥视为打开该邮箱的钥匙。任何人都可以向您的邮箱发送邮件,但只有您可以访问它们,因为只有您可以访问其密钥。
在波卡账户的环境中,任何人都可以向您的公共地址发送通证,但只有您可以使用私钥进行交易 。这就是为什么您应该保密您的私钥。
助记词和地址生成 一个有效的账户需要有一个私钥,可以用来签署一种支持的曲线和签名方案。没有私钥,账户无法签署任何内容。在波卡中,有一些没有私钥的账户的例外情况(即无密钥账户)。这些账户是多重签名账户和匿名代理的,这里不讨论。
大多数钱包为用户生成助记词短语,以备份他们的钱包并从助记词生成私钥。并非所有钱包都使用相同的算法将助记词短语转换为私钥,这会影响在多个钱包中使用相同助记词短语的能力。使用不同措施的钱包将从完全相同的助记词短语中获得不同的地址集。
注意:并非所有钱包都使用相同的算法将助记词短语转换为私钥 Subkey 和 Polkadot-JS 基于 BIP39 这个标准中的字典来生成助记词,但使用熵字节数(熵字节数组是一种随机数的表示方式)组生成私钥,而完整的 BIP39 钱包(如 Ledger)在助记词上使用 2048 轮 PBKDF2。由于使用了各种加密算法,同一助记词可能会在其他钱包上生成不同的私钥。 有关更多信息,请参见 Substrate BIP39 存储库: https://github.com/paritytech/substrate-bip39
Subkey 工具生成的典型助记词短语如下所示。 'caution juice atom organ advance problem want pledge someone senior holiday very'
还显示了其相应的私钥 / 公钥对。
Secret seed (Private key): 0x056a6a4e203766ffbea3146967ef25e9daf677b14dc6f6ed8919b1983c9bebbc
Public key (SS58): 5F3sa2TJAWMqDhXG6jhV4N8ko9SxwGy8TpaNS1repo5EYjQX
波卡默认地址格式是 MultiAddress(多地址)类型。这意味着相同的助记词短语将为不同的平行链生成公共密钥。有关更多信息,请参见高级账户页面(https://wiki.polkadot.network/docs/learn-account-advanced)上的地址格式部分(https://wiki.polkadot.network/docs/learn-account-advanced)。
获取与管理地址 要了解有关在波卡上生成账户的更多信息,请访问账户生成页面: https://wiki.polkadot.network/docs/learn-account-generation
账户余额类型
在波卡中,根据账户活动,有不同类型的余额。不同的余额类型表明您的余额是否可用于转账、支付费用,或者由于链上要求而必须保持冻结和未使用状态。下面的示例在 Polkadot-JS UI 的“账户(Account)”选项卡中显示 Kusama 账户的不同余额类型(请注意,波卡账户的余额类型相同)。
总余额表示账户中通证的总数。请注意,此数字不一定对应您可以转移的通证。在本例中,总通证数为 0.6274 KSM。可转移余额表示可以自由转移的通证数量。这是通过从通证总数中减去锁定和保留的通证数量计算出来的。锁定资金对应于用于 Staking、治理和既得转移 Vested Transfer(见下文)的通证。在本例中,可转移余额为 0.0106 KSM。
编者注: 既得转移:DOT 可能会被锁定以体现资金的逐步释放。与其他类型的锁定类似,这些资金不能被转移,但可以用于协议的其他部分,例如参与治理投票或作为验证者或提名者进行质押。逐步释放的资金是按照一个释放计划来解锁的,每个区块会解锁一定数量的通证(线性释放),或者在特定的区块号后解锁全部通证(悬崖式释放)。尽管通证是以这种方式释放的,但它并不会自动反映在链上,因为锁定是惰性的,需要一个外部交易来更新。
既得余额(Vested Balance)表示发送到账户并按照特定时间表释放的通证 。这些通证归账户所有,但被锁定并在特定数量的区块后可用于转移。在本例中,既得余额为 0.25 KSM。
绑定余额表示锁定以参与链上投注的通证数量。在本例中,绑定余额(Bonded Balance)为 0.4 KSM。
民主余额(Democracy Balance)表示被锁定以在链上参与民主治理(即投票支持公投和议会)的通证数量。在本例中,民主余额为 0.4 KSM。
可赎回余额(Redeemable Balance)表示准备解锁以再次变为可转移的通证数量。这些通证已经经历了解除绑定期。在这种情况下,可赎回余额为 0.1 KSM。
锁定余额(Locked Balance)表示冻结以参与链上 Staking、治理或既得转移的通证数量 。锁定不会堆叠,这意味着如果您有不同的锁,则总锁定余额不是所有单个锁的总和。相反,最大的锁定量决定了总锁定余额。在本例中,由于民主治理上有最大的锁定量(0.55 KSM),因此锁定余额为 0.55 KSM。
保留余额(Reserved Balance)表示冻结用于链上活动而不是 Staking、治理和既得转移的通证数量。此类活动可以是设置身份或代理。由于链上要求,保留资金通常可以通过采取一些链上操作来释放。例如,“身份(Identity)”面板在注册链上身份时保留资金,但通过清除身份,您可以取消保留资金并使其再次自由。代理也是如此。这样做的想法是这些操作需要一些网络内存使用,这不是免费的。在本例中,我们创建了一个治理代理,其保留的资金为 0.0668 KSM。
在 Polkadot-JS 中查询账户数据 在 Polkadot-JS UI 中,您还可以在开发者(Developer)>链状态(Chain State)下查询账户数据 。在 selected state query 选择系统托盘 pallet,后面跟着 account(AccountId32): FrameSystemAccountInfo,然后在 Option 中选择一个账户,然后单击右侧的“+”按钮。
账户信息包括:
- nonce,账户发送的交易数量。
- consumers,当前依赖于该账户存在的其他模块的数量。在这个数为零之前,该账户不能被回收。
- providers,允许该账户存在的其他模块的数量。在这个数和 sufficients 都为零之前,该账户不能被回收。
- sufficients,出于自身目的允许该账户存在的模块的数量。在这个数和 providers 都为零之前,该账户不能被回收。
- data,属于该账户的额外数据。用于存储许多链中的余额。
有关上述数据的更深入的信息可以在基础密码库中找到。详情请参见: https://github.com/paritytech/substrate/blob/2e7fde832b77b242269b136f1c3b6fffef86f9b6/frame/system/src/lib.rs#LL767C1-L781C24
该 AccountData 结构定义了 Substrate 中的余额类型。三种类型的余额包括 free、reserved 和 frozen。账户的可用余额是 free 减去任何考虑的资金的金额 frozen,而账户的总 free 余额是和 reserved 资金的总和。描述 flags 有关账户的额外信息。
有关上述数据的更深入信息可以在 Substrate 代码库的余额托盘中找到。详情请参见: https://github.com/paritytech/substrate/blob/2e7fde832b77b242269b136f1c3b6fffef86f9b6/frame/balances/src/types.rs#LL95-L114
解锁锁定余额 锁定余额不能堆叠!最大的锁定量决定了被锁资金的总量 。请看这个演练视频教程,它将在上面的例子中指导您解锁资金的过程。视频地址详情请参见: https://www.youtube.com/watch?v=LHgY7ds_bZ0
在例子中,我们提到了锁定余额是 0.55 KSM,因为最大的锁定是在民主治理上,是 0.55 KSM。一旦民主治理锁定被移除,下一个最大的锁定是在 Staking 上,是 0.5 KSM(绑定的 0.4 KSM + 可赎回的 0.1 KSM)。这意味着锁定余额会变成 0.5 KSM,而 0.05 KSM 会被加到可转移余额中。
在赎回未绑定的 0.1 KSM 后,锁定余额会变成 0.4 KSM,而另外 0.1 KSM 会被加到可转移余额中。现在最大的锁定仍然是绑定的那部分。这意味着即使我们移除了逐步释放的锁定(Vested Lock),锁定余额仍然是 0.4 KSM,而没有任何通证会被加到可转移余额中。要释放那些绑定的通证,我们需要解除绑定,并等待解除绑定期结束后才能赎回它们。如果我们移除了代理,那么预留的资金会自动被加到可转移余额中。
存在存款与回收
当您生成一个账户(地址)时,您只是生成了一个让您访问它的密钥 。该账户还不存在于链上。为此,它需要 1 DOT 的存在存款。
编者注: 存在存款是波卡和大多数基于 Substrate 的链使用的一种机制,用于防止低余额的账户占用链的状态空间。
如果一个账户的余额低于存在存款,那么该账户将被回收。该账户将从区块链的状态中完全删除,以节省空间,同时该地址中的任何资金也将被销毁。您并没有失去对被回收地址的访问权——只要您有您的私钥或恢复的助记词短语,您仍然可以使用该地址——但它需要再次充值至少等于存在存款的金额才能与链进行交互。
交易费用不能导致一个账户被回收 。由于费用是在任何其他交易逻辑之前从账户中扣除的,因此余额等于存在存款的账户不能构建一个有效的交易。需要添加额外的资金来支付交易费用。
以下是另一种理解存在存款的方式。
您是否注意到过 Windows 上的 Thumbs.db 文件或 Mac 上的.DS_Store 文件?这些都是垃圾文件,它们没有特定的目的,只是让预览稍微快一点。 如果一个文件夹为空,只保存了这样一个文件,您可以删除该文件夹以清除硬盘上的垃圾。
这并不意味着您永远失去了对这个文件夹的访问权——您随时可以重新创建它。 毕竟,您有密钥——您是电脑的主人。 这只意味着您想要保持电脑干净,直到您可能再次需要这个文件夹并重新创建它。 您的地址就像这个文件夹——当它里面没有东西时,它就会从链上移除,但当它有了存在存款时,它就会被放回。
账户身份
波卡内置的身份托盘(Identity Pallet)允许用户将链上元数据附加到他们的账户 。独立注册商可以验证此元数据以提供可信度。
要了解有关如何设置或发布身份、如何定义子账户或如何成为注册商的更多信息,请阅读本指南。详情请参见: https://wiki.polkadot.network/docs/learn-identity)
代理账户
波卡配备了通用代理账户系统,允许用户将密钥保存在冷存储中,而代理则代表他们执行受限(或不受限)功能。
有关代理的更多信息,请参阅代理页面: https://wiki.polkadot.network/docs/learn-proxies
多重签名账户
多重签名账户是由多个标准账户、纯代理甚至其他多重签名账户创建的账户 。
有关多签名账户的完整说明,包括用例,请参阅多重签名账户页面: https://wiki.polkadot.network/docs/learn-account-multisig
资源
Understanding Accounts and Keys in Polkadot(理解波卡中的账户和密钥):与 Bill Laboon 和 BlockX Labs 的 Chinmay Patel 一起解释波卡中不同类型的账户和密钥的用途。文章详情请参见: https://www.crowdcast.io/e/polkadot-keys/register
欢迎大家加入我们 Polkadot 生态研究院的电报:
https://t.me/polkadot_eri
https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05
精选文章
平行线程 | 经济模型 | Slash | 通货膨胀 | NPoS | Web3 基金会
Staking | Gavin Wood | 跨链 | 平行链 | 国库 | Parity
DOT | Web3.0 | 网络效应 | Grant 指南
Statemint | 区块链 | SBP 计划 | 新计划
XCVM | BEEFY | XCM
Wasm
0
0
免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。
PoolX:锁仓获得新代币空投
不要错过热门新币,且APR 高达 10%+
立即参与!
你也可能喜欢
加密货币影响者内容的YouTube观看量达到12个月新高
简讯 截至11月25日当周,加密货币影响者内容的YouTube观看次数达到472万。以下是The Block数据与洞察通讯的摘录。
The Block•2024/12/04 18:34
候任总统特朗普任命支持加密货币的前监管者保罗·阿特金斯领导美国证券交易委员会
简要概述 当选总统唐纳德·特朗普表示,阿特金斯是一位“在常识性监管方面的公认领导者。”阿特金斯曾在2002年至2008年间被前总统乔治·W·布什任命为美国证券交易委员会委员。
The Block•2024/12/04 18:34
DeFi.app以1亿美元代币估值完成200万美元种子轮融资
DeFi.app已通过由Mechanism Capital领投的种子轮融资筹集了200万美元。本轮融资对DeFi.app尚未推出的代币HOME的完全稀释估值为1亿美元。
The Block•2024/12/04 18:34
TRON DAO作为铂金赞助商在伯克利安全峰会上推动区块链讨论,强调通过TRON进行的一年区块链教育
The Block•2024/12/04 15:57
加密货币价格
更多Bitcoin
BTC
$96,697.84
+1.28%
Ethereum
ETH
$3,831.1
+7.19%
XRP
XRP
$2.42
-4.85%
Tether USDt
USDT
$1
+0.10%
Solana
SOL
$232.39
+2.08%
BNB
BNB
$740.83
+7.36%
Dogecoin
DOGE
$0.4168
+2.52%
Cardano
ADA
$1.19
+0.84%
USDC
USDC
$0.9999
-0.00%
TRON
TRX
$0.3428
+21.57%
Bitget 盘前交易
在币种上市前提前买卖,包括 ME、TOMA、OGC、USUAL 等。
立即交易
立即成为交易者?新用户可获得价值 6200 USDT 的迎新大礼包
立即注册