本文是一篇笔记,整理了Polkadot中使用到的密码学,主要包括
密钥
在Polkadot中,有四个加密层:
会话密钥:
会话密钥:
Polkadot的帐户主要使用带有Schnorr签名的公钥,Polkadot认为它满足:
区块链中的账户通常有两种曲线选择:secp256k1或Ed25519。
Polkadot对secp256k1密钥有最小化支持,其一些帐户需要用到secp256k1密钥。
Polkadot选择Ed25519(Edwards曲线),有两个理论上的原因:
在Polkadot采用SS58地址格式。SS58是一个简单的地址格式,设计用于基于Substrate开发的链。对于链使用其他地址格式没有问题,但这是可靠的默认设置。它很大程度上基于比特币的Base-58检查格式,并做了一些改动。
基本思想是一个base-58编码的值,它可以标识Substrate链上的一个特定帐户。不同的链有不同的识别账户的方法。因此,SS58被设计为可扩展的。
其基本的格式为:
base58encode ( concat ( <address-type>, <address>, <checksum> ) )
可在Substrate GitHub Wiki上找到SS58地址格式的实时规范。
术语