Substrate 使用多组公/私钥对来代表网络的参与者。
区块链系统的参与者角色各异,例如从验证人到普通用户。
举个例子,Substrate 节点使用 “提名权益证明”(NPoS)算法来选择验证人。验证人和提名人可能拥有大量资金,因此 Substrate 的 Stake 模块引入了帐户抽象,以帮助确保资金的尽可能安全。
这些抽象账户是:
存储密钥(Stash keys): 存储账户的作用是持有大量资金。它的私钥应该存放在冷钱包中,保证尽可能安全。
控制密钥(Controller keys): 控制帐户代表存储帐户作出选择,例如付款偏好,但应仅持有少量资金来支付交易费用。它的私钥应该保持安全,因为其会影响验证人设置,但私钥会在维护验证人时定期使用。
Chainstack推出可用于13个区块链的链上索引工具Subgraphs:金色财经报道,Web3基础设施公司Chainstack发布了Subgraphs,一种区块链数据索引工具,旨在为加密项目、交易所、钱包、NFT和游戏平台等应用程序提供实时链上数据访问。Chainstack Subgraphs在发布时支持13个主要区块链,包括Ethereum、Polygon、BNB Chain、Avalanche、Optimism、Arbitrum、Near、Aurora、Fantom、Gnosis、Harmony和Cronos。[2023/4/19 14:13:50]
会话密钥(Session keys): 会话密钥是保存在验证人客户端中的 “热” 密钥,用于签署某些验证人操作。他们不应该持有资金。
Findora生态推出首个隐私跨链应用“Yellow Submarine”:4月23日消息,隐私公链Findora支持生态与独立隐私结算层ColumbusDao共同推出首个通用隐私跨链应用Dapp“Yellow Submarine”。Yellow Submarine利用Findora的零知识证明技术,将首次为DeFi用户提供跨evm兼容链隐私交易的功能,并为数千万Web3用户提供其加密资产的一站式完整隐私服务。
据悉,Yellow Submarine首先建立在Findora链之上并跨链连接以太坊等各主要智能合约链,它是第一个零知识证明 (ZKP) 的实用应用,并且实现了跨BNB链、以太坊和其他EVM兼容链的隐私跨链交易和资产置换。[2022/4/23 14:43:43]
一个密钥对可以代表一个账户并控制资金,就像你在其他区块链中看到的普通账户一样。在 Substrate Balances 模块的语境下,这些帐户必须具有最小金额(“现有存款”)才能存在于存储中。
基于Substrate的区块链查询节点框架Subsquid完成380万美元融资:11月12日消息,基于 Substrate 的区块链查询节点框架 Subsquid 宣布完成由 Hypersphere Ventures 领投的 380 万美元种子轮融资,其他投资方包括 Zeeprime Capital、Lattice Capital、Illusionist Group、Digital Finance Group (DFG)、 Jsquare、SMAPE Capital、0xVentures、Signum Capital、Bware Labs、Signal Ventures、D1 Ventures、Faculty Group、DIA Association、Zeitgeist、Chainflip、Astar Network、Shiden Network、KodaDot 等。
Subsquid 由一年前 Kusama 黑客马拉松 Hackusama 上的一个项目发展而来,目前为构建在 Substrate 上的 DApp 提供支持,为开发人员减少数据检索时间并提高 API 可靠性。[2021/11/12 6:48:11]
帐户密钥是通用化定义的,并在 runtime 中具体化。
波卡生态项目SubDAO获得Hypersphere Ventures等机构投资:据官方消息,波卡生态中的跨链DAO平台SubDAO获得Hypersphere Ventures等机构投资,投资方还包括FBG、Lancer Capital、PAKA、Candaq、水滴资本、Incuba Alpha、Blue Mountain Labs、Infinity Labs。[2021/4/20 20:38:58]
继续我们存储和控制帐户的例子,这些帐户的密钥通过其预期用途进行区分,而不是通过任何底层的加密学差异进行区分。创建存储或控制密钥时,还支持普通帐户密钥支持的所有加密。
存储密钥(Stash keys)是定义存储帐户的公/私钥对。该帐户就像一个 “储蓄帐户”,因为您不应经常使用该帐户进行交易。因此,应以最高安全性来对待其私钥,例如在安全或硬件安全层中进行保护。
SUB晚间价格大幅上涨,涨幅达37.63%:根据币安交易平台数据显示,SUB最新成交价格为人民币20.84元,24小时最高价达人民币21.22元,最低价格为人民币14.00元,24小时成交量2380.45BTC,涨幅达37.40%。Substratum是一个去中心化的开源的网络,让任何人都可以借出他们的计算机作为寄存服务器,赚取SUB货币。[2018/1/9]
由于存储密钥保持离线状态,因此它将指定一个控制帐户以利用存储帐户资金的权重做出非支出决策。它还可以指定一个代理帐户来代表其投票参与治理。
控制密钥(Controller keys)是定义控制帐户的公/私钥对。在 Substrate 的 NPoS 模型语境中,控制密钥将表示一个人想要验证或提名的意图。
控制密钥用于设置诸如奖励接收地址之类的偏好,对于验证人来说还用于设置其会话密钥。控制帐户只需要支付交易费用,因此只需要很少的资金。
控制密钥永远不能用于从其存储帐户花费资金。但是,控制密钥的行为可能会导致 slash,因此仍应妥善保管。
会话密钥(Session keys)是验证人用来签署与共识相关的消息的 “热密钥”。它的本意不是控制资金的帐户密钥,而应该仅用于其本来的目的。它们可以定期更改;您的控制账户仅需要通过签名会话公钥来创建证书,然后通过外部信息广播该证书。会话密钥也是通用定义,并在 runtime 中具体化。
要创建会话密钥,验证人的操作者必须证明密钥代表其存储帐户(stake)和提名人。为此,他们通过使用其控制密钥对密钥进行签名来创建证书。然后,他们通过在链上的事务中发布会话证书来通知链此密钥代表其控制密钥。
Substrate 提供了 Session module,该模块允许验证人管理其会话密钥。
你可以声明任意数量的会话密钥。例如,默认的 Substrate 节点就用了三个:BABE、GRANDPA 和 “I'm Online”。其他链可能有更多或更少的会话密钥,具体取决于链希望其验证人执行的操作。
这些不同的会话密钥可以使用相同的密码学,但是在整个 runtime 逻辑中,其用途完全不同。为了防止将错误的密钥用于错误的操作,Rust 强类型会包装这些密钥,使它们彼此不兼容,并确保仅将它们用于原有目的。
如果会话密钥被泄露,攻击者可能会犯下造成 Slash 的行为。会话密钥应定期(例如每个会话)通过 the `rotate_keys` RPC 更改,以提高安全性。
了解更多 Substrate 中使用的密码学。
学习创建本地网络和生成密钥的教程。
Staking module: https://substrate.dev/rustdocs/v2.0.0-rc5/pallet_staking/index.html
Balances 模块: https://substrate.dev/rustdocs/v2.0.0-rc5/pallet_balances/index.html
Session module: https://substrate.dev/rustdocs/v2.0.0-rc5/pallet_session/index.html
the rotate_keys RPC: https://substrate.dev/rustdocs/v2.0.0-rc5/sc_rpc/author/trait.AuthorApi.html#tymethod.rotate_keys
Substrate 中使用的密码学: https://substrate.dev/docs/en/knowledgebase/advanced/cryptography
创建本地网络和生成密钥的教程: https://substrate.dev/docs/en/tutorials/start-a-private-network/
session keys runtime API: https://substrate.dev/rustdocs/v2.0.0-rc5/sp_session/trait.SessionKeys.html
Substrate 节点 runtime 中的会话密钥: https://substrate.dev/rustdocs/v2.0.0-rc5/node_runtime/struct.SessionKeys.html
substrate_application_crypto: https://substrate.dev/rustdocs/v2.0.0-rc5/sp_application_crypto/index.html
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。