波卡协议信息:关于波卡的高级介绍(上)
2023-02-0321:07
Polkadot生态研究院
2023-02-03 21:07


波卡知识图谱是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第 78 期,在波卡的词汇中,分片称为平行链,而波卡中继链是确保所有平行链之间达成全球共识的协议的一部分。因此波卡的中继链协议,又称为波卡协议。通过了解波卡协议的信息,有助于我们更全面的了解波卡。


本文作为波卡协议的高级介绍,其中包含可能特定于波卡的术语、与您可能使用过的其他链的显着差异以及处理该链的实用信息。



通证


通证小数:
  • 波卡 (DOT):10
  • Kusama (KSM):12
基础单位:普朗克Planck
余额类型:u128
更多关于 u128 标准的信息参见:
https://doc.rust-lang.org/std/u128/index.html



重定货币单位


波卡进行了一次投票,该投票于 2020 年 7 月 27 日结束(区块 888888),在投票中,利益相关者决定重新设定 DOT 通证的货币单位。重新设定并不改变网络中的基本单位(在波卡中称为“plancks”)的数量。唯一的改变是,单个 DOT 通证将是 1e10 plancks,而不是原来的 1e12 plancks。请参阅波卡的博客文章以了解详细信息和投票结果:
https://medium.com/polkadot-network/the-first-polkadot-vote-1fc1b8bd357b


重新设定货币单位在转账启用后 72 小时生效,即在区块 1248326,大约在 2020 年 8 月 21 日 16:50 UTC 发生。




地址



在波卡(和大多数 Substrate 链)中,用户账户由 32 字节(256 位)的 AccountId 标识。这通常(但并非总是)是加密密钥对的公钥。


波卡(和 Substrate)使用 SS58 地址格式。这是一种广泛的“元格式”旨在处理许多不同的加密方案和链。它与比特币的 Base58Check 格式有很多相似之处,如版本前缀,基于哈希的校验和后缀以及基于 58 的编码。


有关编码信息和更全面的网络前缀列表,请参阅 Substrate 文档中的 SS58 页面:
https://docs.substrate.io/fundamentals/accounts-addresses-keys/#address-encoding-and-chain-specific-addresses


不要使用正则表达式(REGEX)验证地址,始终使用地址的前缀和校验和进行验证。Substrate API Sidecar 提供了 accounts / {accountId} / validate 路径,该路径为提供的地址返回一个布尔值 isValid 响应。


本指南的相关 SS58 前缀:
  • 波卡:0
  • Kusa
  • ma:2

  • Westend:42





密码学



波卡支持以下加密密钥对和签名算法:
  • Ed25519
  • Sr25519 - 基于 Ristretto 组的 Schnorr 签名
  • 基于 secp256k1 的 ECDSA 签名


请注意,secp256k1 密钥的地址是公钥的哈希的 SS58 编码,以便将公钥从 33 字节缩减为 32 字节。





存在存款



波卡和大多数基于 Substrate 的链使用存在存款(Existential Deposit,简称 ED)来防止粉尘账户使链状态膨胀。如果一个账户低于 ED,它将被收割,即从存储中完全删除并重置 nonce。波卡的 ED 是 1 DOT,而 Kusama 的是 33.3333 microKSM(0.0000333333 KSM)。您始终可以通过检查 balances.existentialDeposit 常量的链状态来验证存在存款


同样,如果您将价值低于 ED 的转账发送到新账户,它将失败。托管钱包应设置大于 ED 的最低提款金额,以保证提款成功。


为了审计目的跟踪账户 nonce 的钱包和托管人应注意不要有账户被收割,因为用户可以退还地址并尝试从中进行交易。Balances pallet 提供了一个 transfer_keep_alive 函数,如果这样做会导致收割发件人的账户,它将返回错误并中止而不是执行转账。

存在存款是中继链的财产:您在中继链上的账户对平行链没有直接影响,因为您在每个平行链上都有单独的账户。尽管如此,平行链仍然能够定义自己的存在存款,但这与中继链 ED 的存款是分开的。

STATEMINT 的存在存款:Statemint 平行链的存在存款 (0.1 DOT) 低于中继链 (1 DOT),交易费用也较低。强烈建议在 Statemint 上处理余额转账。Statemint 集成将在之后的知识图谱中进行下一步讨论。




自由、保留、锁定与兑换金额



账户余额信息存储在AccountData中。波卡主要处理两种余额:自由(Free)余额和保留(Reserve)余额。


对于大多数操作,免费余额是您感兴趣的。它是例如质押和治理中账户的“力量”。保留余额代表一些操作已经把资金留出,仍然属于账户持有人,但不能使用。


锁定(Lock)是对自由余额的抽象,防止花费用于特定目的。多个锁定可以在同一账户上操作,但它们是重叠而不是相加的。当网络上执行任务时(例如租用平行链插槽或投票),锁定的余额会自动添加到账户上,这些不是可定制的。例如,一个账户可以有 200 DOT 的自由余额,带有两个锁定:150 DOT 用于转账目的和 100 DOT 用于保留(Reserve)目的。该账户无法进行使其自由余额低于 150 DOT 的转账,但操作可能会导致保留 DOT,使得自由余额低于 150 但高于 100 DOT。


在治理公投中用于质押和投票的绑定代币都使用锁定。


兑现(Vesting)是另一种使用自由余额锁定的抽象。归属设置了一个锁定,该锁定会随着时间的推移而减少,直到所有资金都可以转账为止。


波卡的余额形式对于用户来说拥有了更多保护功能和操作上的灵活性,当然波卡还有更多额外的基础属性和设置,比如外源(Extrinsics)和事件(Events),我们将在下一期的知识图谱中为大家详细介绍。





波卡网络蓬勃发展,生态项目层出不穷,波卡生态研究院聚焦波卡生态动向,把握当前趋势。回复【日报】,获取波卡生态每日最新消息汇总







欢迎大家加入我们 Polkadot 生态研究院的电报:

https://t.me/polkadot_eri

欢迎大家访问波卡生态研究院的 Mirror 地址:
https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05




精选文章



智能合约 | 经济模型 | Slash | 通货膨胀 | NPoS | Web3 基金
Staking
 | Gavin Wood | 跨链 | 平行链 | 国库 Parity
KSM | Web3.0 | Kusama | Grant 指南
Statemint | 区块链 SBP 计划 | NFT
XCVM | BEEFY | XCM
Wasm



 

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

专栏文章
查看更多
数据请求中

推荐专栏

数据请求中

一起「遇见」未来

DOWNLOAD FORESIGHT NEWS APP

Download QR Code