极客时间第二期
21天打卡行动 13/21
<<深入浅出区块链15>>哈希与加密算法
回答老师问题
比特币地址有哪些类型呢?以太坊的地址又是如何生成的呢?
在比特币中,大多数需要向用户展示的数据都使用Base58Check编码,可以实现数据压缩,易读而且有错误检验。Base58Check编码中的版本前缀是数据的格式易于辨别,编码之后的数据头包含了明确的属性。这些属性使用户可以轻松明确被编码的数据的类型以及如何使用它们。例如我们可以看到他们的不同,Base58Check编码的比特币地址是以1开头的,而Base58Check编码的私钥WIF是以5开头的
[来源:https://www.jianshu.com/p/739903a5587b]
以太坊地址生成过程如下:
1. 生成 256 位随机数作为私钥。
2. 将私钥转化为 secp256k1 非压缩格式的公钥,即 512 位的公钥。
3. 使用散列算法 Keccak256 计算公钥的哈希值,转化为十六进制字符串。
4. 取十六进制字符串的后 40 个字母,开头加上 0x 作为地址。
[来源:https://blog.csdn.net/u013137970/article/details/87821243]
今日所学:
1,哈希算法是一类数学函数算法,又称散列算法,它是一种数据映射关系;
2,哈希算法具有下面的 4 种特性:原像不可逆,难题友好性,发散性,抗碰撞性。
3,区块链上的哈希算法:哈希算法被广泛地使用在构造和验证区块、交易的完整性上,由于哈希算法的四个特性,使得我们可以把任意的交易数据做成数据摘要,然后再一个一个链接起来,形成数据块的链式结构
4,哈希算法的一个重要应用是默克尔树(Merkle tree),默克尔树是一种数据结构,通常是一个二叉树,也有可能是多叉树,它以特定的方式逐层向上计算,直到顶部,最顶层叫做默克尔根,默克尔树最为常见和最简单的是二叉默克尔树。
5,非对称加密算法:非对称加密可以提供一对钥匙,私钥自己保管,公钥可以公开。
6,量子威胁可能不成立;
展开