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

2020-08-06 11:19 栏目:经验之谈 来源:网络整理 查看()

公钥和私钥是大多数加密系统中非常重要的东西,它们也是像波尔卡多这样的区块链存在的重要组成部分。

帐户密钥

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

利用Schnorr签名实现常见的ed25519加密算法

施诺尔签名的Schnorrkel/ristretto sr25519变型加密算法

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

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

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

控制器和隐藏钥匙

当我们谈论“控制器”和“隐藏”密钥时,我们通常在运行验证器或指定DOT的上下文中讨论它们,但是它们是所有用户都需要知道的有用概念。这两个键都是帐户键的类型。它们的不同之处在于它们的使用场景,而不是密码。上一节提到的所有信息都适用于这些键。创建新的控制器或存储密钥时,可以选择帐户密钥支持的所有加密算法。

控制器密钥是一个半在线密钥,将由用户直接控制,用于提交手动extrinsics外部文件。对于验证者或提名者,这意味着控制器密钥将用于开始或停止验证或提名。控制器的钥匙应该有一些DOTs来支付,但是它们不应该被用来节省大量的钱或者进行长期的象征性储蓄。因为他们会相对频繁地联系互联网,所以应该谨慎对待他们,偶尔他们可以换一个新账户。

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

由于藏匿账户处于离线状态,其资金必须绑定到特定的控制账户。对于非支出行为,控制账户由隐藏账户资金支持。例如,在提名、下注或投票中,控制者可以使用储物的重量来表示其偏好。它将永远无法真正转移或收集隐藏账户中的资金。然而,如果有人得到了你的控制器密钥,他们可能会用它来进行诽谤,所以你仍然应该保护它,并定期更换它。

会话密钥

会话密钥是验证者必须保持在线以执行网络操作的热键。会话密钥通常是在客户端生成的,尽管它们不是必须生成的。它们不是用来控制资金的,只是用于有目的的目的。它们可以定期更改,并且您的控制器帐户只需要签署会话公钥来创建证书,并通过外部外部广播该证书。

波尔卡多有四个会话密钥:

爷爷机制:ed25519

BABE机制:sr25519

我在线:sr25519

平行链:sr25519

BABE需要一个适用于可验证的随机函数的密钥和一个数字签名。Sr25519键具有这两个功能,因此它用于BABE机制。

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

常见问题的答案

为什么选择ed25519而不是secp25K1?

最初,为波尔卡多和基底链实现的密钥导出密码是ed25519,它是在爱德华曲线25519(以曲线方程的参数命名)上实现的施诺尔签名算法。

大多数密码货币,包括比特币和以太网,目前都在secp256k1曲线上使用ECDSA签名。这条曲线被认为比NIST曲线更安全,后者可能有国家安全局的后门。曲线25519被认为比这个更安全,施诺尔签名更容易实现。最近的专利到期使它成为博卡的首选。

选择使用施诺尔签名而不是ECDSA并不是那么简单。正如Jeff Burdges(Web3研究员)在论坛上发表了一篇关于以下主题的文章:https://论坛。网络3。foundation/t/account-signatures-and-key-in-pol kadot/70/2

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

然而,最终,使用Schnorr签名的好处超过了权衡,未来的优化可能会解决上面提到的低效率问题。

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

背景:爱德华曲线25519上扭曲的施诺尔签名被认为是安全的,但爱德华曲线25519并非完全没有缺陷。最值得注意的是,蒙乃罗和所有其他隐型货币都容易受到双重支出的影响,这可能导致未被发现的通胀。

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

迈克汉堡的无咖啡因纸(https://www.shiftleft.org/papers/decaf/index.xhtml)为解决这一潜在缺陷提供了一种可能的方法。无咖啡因基本上是一种使用扭曲的爱德华曲线辅助因子并对其进行数学修改的方法,对性能影响很小,并且增加了安全性。

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

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

波尔卡多使用的施诺尔签名的实现,通过对曲线25519的Ristretto压缩,实现了名为sr25519的施诺尔协议。

博卡使用BLS签名吗?

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

正如BLS图书馆自述文件所述,

博恩-林恩-沙哈姆(BLS)签名具有缓慢签名、缓慢验证、缓慢需求和不安全配对的友好曲线,并且往往具有危险的可塑性。然而,BLS允许一系列不同的签名聚合选项,远远超过任何其他已知的签名方案,这使得BLS成为共识算法投票和门限签名的首选方案。

虽然施诺尔签名允许签名聚合,但BLS签名在某些风格中更有效。因此,它将是验证者在波尔卡多网络上使用的会话密钥之一,对于爷爷的最终小工具来说非常重要。

资源

对BIP32-Ed25519的关键发现攻击:一个论坛帖子详细描述了BIP32-Ed25519的潜在攻击。转化为sr25519变体的动机。https://forum . web 3 . foundation/t/key-recovery-attack-on-bip 32-ed 25519/44

波尔卡多的账户签名和密钥:论坛上网络3研究员杰夫布尔吉斯的原始帖子。https://forum . web 3 . foundation/t/account-signatures-and-key-in-polkadot/70

施诺尔签名可以抵抗量子计算吗?https://比特币。stackexchange。com/questions/57965/are-schnorr-signatures-quantum-computer-resistance/57977 # 57977

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发