DOT 持币用户必看:Controller 和 Stash 账户的作用

admin
admin
admin
1255
文章
1
评论
2020年8月6日11:20:25 评论

公钥和私钥是大多数加密系统很重要的东西,也是使像 Polkadot 这样的区块链得以存在的重要组成部分。

账户密钥

帐户密钥是用来控制资金的密钥。它们可以是:

使用 Schnorr 签名的普通 ed25519 加密算法实现
使用 Schnorr 签名的 Schnorrkel / Ristretto sr25519 变体的加密算法

对于简单签名,ed25519 和 sr25519 在安全性上没有区别。

我们预计在可预见的未来,ed25519 将得到商用 HSMs 更好的支持。

同时,sr25519 的加密算法使实现更复杂的协议更安全。特别是,sr25519 自带了许多协议的安全版本,如比特币和以太坊生态系统中常见的 HDKD 协议。

"Controller" 和 "Stash" 密钥

当我们谈论 “controller” 和 “stash” 密钥时,我们通常在运行验证人或提名 DOT 的语境中讨论它们,但它们是所有用户都需要知道的有用概念。这两个密钥都是帐户密钥的类型。它们的区别在于它们的使用场景,而不是密码差异。上面部分中提到的所有信息都适用于这些密钥。创建新的 controller 或者 stash 密钥时,帐户密钥支持的所有加密算法都是可以选择的。

controller 密钥是一个半在线的密钥,将由用户直接控制,用于提交手动 extrinsics 外部文件。对于验证人或提名人,这意味着 controller 密钥将用于开始或停止验证或提名。Controller 的密钥应该有一些 DOT 用来支付费用,但它们不应该用来保存巨额金额或用来做长期的代币储蓄。因为他们会相对频繁地接触互联网,所以应该小心对待,偶尔可以更换一个新的账户。

在大多数情况下,stash 密钥账户是一个冷钱包,存在于一个安全的、由多层硬件保护的一张纸上。它应该很少(如果有的话)暴露在互联网上或用于提交  extrinsics 外部信息。这把钥匙是用来存放大量资金的。它可以被认为是银行的储蓄账户,理想情况下只有在紧急情况下才可以使用。或者,一个更贴切的比喻是把它想象成埋藏的宝藏,藏在某个随机的岛屿上,只有最初藏它的海盗知道。

由于 stash 账户处于离线状态,因此必须将其资金绑定到特定的 controller 账户。对于非支出行为,controller 账户有 stash 账户资金的支持。例如,在提名、staking 或投票中,controller 可以用 stash 的 weight 来表示其偏好。它将永远无法实际转移或领取 stash 账户中的资金。但是,如果有人获取了你的 controller 密钥,他们可能会将其用于进行存在被 slash 的行为,因此你仍然应该保护它并定期更改。

Session 密钥

Session keys 是验证人必须保持在线才能执行网络操作的热密钥(hot keys)。Session 密钥通常在客户端中生成,虽然他们不一定要生成。它们不是用来控制资金的,只用于有目的的用途。它们可以定期更改,你的 controller 账户只需要通过签署一个 session 公钥来创建证书,并通过一个外部 extrinsic 广播该证书就好了。

Polkadot 有四种 session keys:

GRANDPA 机制:ed25519
BABE 机制:sr25519
我在线:sr25519
平行链:sr25519

BABE 需要适合在可验证随机函数中使用的密钥以及数字签名。Sr25519 密钥具有这两种功能,因此用于 BABE 机制。

在将来,我们计划为 GRANDPA 机制使用 BLS 密钥,因为它允许更有效的签名聚合。

常见问题解答

为什么选择 ed25519 而不是 secp25K1 ?

最初为 Polkadot 和 Substrate 链实现的密钥推导密码是 ed25519,这是在 Edward's Curve 25519 (由于曲线方程的参数而得名) 上实现的 Schnorr 签名算法。

大多数加密货币,包括比特币和以太坊,目前在 secp256k1 曲线上使用 ECDSA 签名。这种曲线被认为比 NIST 曲线更安全,后者可能有国家安全局的后门。Curve25519 被认为可能比这个更安全,并且可以更容易地实现 Schnorr 签名。最近的专利到期使它成为波卡的首选。

选择使用 Schnorr 签名而不是使用 ECDSA 并不那么简单。正如 Jeff Burdges(一位 Web3 研究员)在论坛上发表的关于以下话题的文章:https://forum.web3.foundation/t/account-signatures-and-keys-in-polkadot/70/2

对于帐户密钥,我们选择 Schnorr 签名而不是 ECDSA 签名有一个牺牲:两个签名都需要 64 个字节,但是只有 ECDSA 签名传递它们的公钥。有一些过时的 Schnorr 变体支持从签名中恢复公钥,但它们破坏了重要的功能,如分层确定性密钥派生。因此,Schnorr 签名通常需要额外的 32 字节作为公钥。

但最终,使用 Schnorr 签名的好处大于权衡,未来的优化可能会解决上面引用的低效问题。

sr25519 算法是什么?它是从哪里来的?

一些背景:扭曲的 Edward's Curve25519 上的 Schnorr 签名被认为是安全的,但是 Ed25519 并不是完全没有缺陷的。最值得注意的是,Monero 和所有其他加密货币都容易受到双重支出的攻击,这可能会导致未被发现的无限通胀。

这些漏洞是由于 Ed25519 中的一个特性造成的,它被称为 8 的辅助因子。曲线的辅因子是一个深奥的细节,它可能会对更复杂协议的安全实现产生可怕的后果。

很方便,Mike Hamburg 的 Decaf 论文(https://www.shiftleft.org/papers/decaf/index.xhtml)为解决这个潜在的缺陷提供了一条可能的途径。Decaf 基本上是一种利用扭曲的 Edward 曲线辅助因子并对其进行数学改变的方法,对性能的影响很小且增加安全性。 

Ristretto 小组的 Decaf 论文在 Rust 中得到了扩展和实现,包括辅助因子 8  曲线,如Curve25519,这使得 Edward 曲线上的 Schnorr 签名更加安全。

Web3 基金会已经实现了一个 Schnorr 签名库,在 Schnorrkel 存储库中使用了更安全的 Ristretto 压缩曲线 25519。Schnorrkel 在曲线压缩的基础上实现了相关的协议,如 HDKD、MuSig 和可验证随机函数(VRF)。它还包括各种小的改进,例如散列方案选通,理论上可以处理大量的数据,只需跨越 Wasm 边界一次调用。

在 Polkadot 中使用的 Schnorr 签名的实现,通过对 Curve25519 的 Ristretto 压缩实现 Schnorrkel 协议,称为 sr25519。

波卡中是否使用 BLS 签名?

还没有,但他们会的。BLS 签名允许更有效的签名聚合。因为 GRANDPA 验证人通常签署同一件事(例如,一个块),所以聚合它们是有意义的,这也可以优化其他协议。

如 BLS 库自述中所述,

Boneh-Lynn-Shacham(BLS)签名具有签名速度慢、验证速度慢、需要缓慢且不太安全的配对友好曲线,并且趋向于危险的延展性。然而,BLS 允许一系列不同的签名聚合选项,远远超过任何其他已知的签名方案,这使得 BLS 成为共识算法投票和阈值签名的首选方案。

尽管 Schnorr 签名允许签名聚合,但 BLS 签名在某些样式中更有效。因此,它将是 Polkadot 网络上的验证人将使用的会话密钥之一,并且对 GRANDPA 最终性小工具至关重要。

资源

BIP32-Ed25519 上的密钥发现攻击:详细说明 BIP32-Ed25519 潜在攻击的一篇论坛帖子。转变为 sr25519 变体的动机。https://forum.web3.foundation/t/key-recovery-attack-on-bip32-ed25519/44

Polkadot 中的账户签名和密钥:Web3 研究员 Jeff Burdges 在论坛上的原始帖子。https://forum.web3.foundation/t/account-signatures-and-keys-in-polkadot/70

Schnorr 签名可以抵抗量子计算吗?https://bitcoin.stackexchange.com/questions/57965/are-schnorr-signatures-quantum-computer-resistant/57977#57977

admin
  • 本文由 发表于 2020年8月6日11:20:25
  • 转载请务必保留本文链接:https://www.biyungu.com/news/1087.html
DeFi并不是以太坊才有,比特币的更香 资讯

DeFi并不是以太坊才有,比特币的更香

CoinDesk几个星期前的一篇文章《为什么比特币持有者们也关注DeFi?我注意到|CoinDesk专栏。很明显,这个标题是用来吸引眼球的。看起来,所有DeFi上的东西都会受到比特币用户的抵制:垃圾软...
PayPal是否会影响这次行情的波动 资讯

PayPal是否会影响这次行情的波动

昨天晚上,比特币和以太坊市场开始了一轮更为猛烈的上涨。比特币价格最高达到13000美元,以太坊价格上涨稳定在390美元左右。在最近几个月里,比特币出现了最高的涨势。 业内许多人都将比特币开启的这轮上涨...
为什么说Vdex永不崩盘?VDEX永不关网的理由? 资讯

为什么说Vdex永不崩盘?VDEX永不关网的理由?

很多人到现在都没有弄明白VDEX为什么始终没不了,看到一些负面信息就没了精神支柱,恐慌畏惧,生怕自己倾家荡产,总结一下花VDEX永不崩盘的四个理由: 1、资金去中心化,都没有资金池,不分配后来者本金,...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: