中心化账本缺点
398号交易 == (发件人null 收件人自己)央行发行了1K ;
399号交易 == 央行 给 XX 转账
余额如何计算:从头到尾遍历,可以计算出余额
信任往往被辜负:有权记账 == 有权力超发货币(每一个持币人损失) + 有权力 没收余额 / 增加余额 + 黑客攻击
哈希函数
hash(输入) = 哈希值
// SHA256:输出固定长度,256bit、256位 、256个0101
// 目前得到得是64个字符的16进制,每个16进制字符拆成8421码,就可以得到2进制,64 * 4 = 256
SHA256(我一定能考上研究生) = 3b849faf797b937d7b9bd9e5a538c3aaf0c539ae6bc5efd83077b82a8012285f
SHA256(!)= 631157c15452e8cefd925437a26f1d016b1a5d7575f9234fd0bf7aff0369e63d
SHA256(70万字的小说)= 5802ae7537e9b47736d185a1fcf59796d5e5d62798bfd5e4e20fa7a55c40403a
很难找到h(x) == h(y)
已知输出的hash值,没办法反推出输入的string
应用:MD5加密(已被破解)
区块链
如何防篡改:
如果我修改了98区块的内容,则99区块的区块头中hash 与 hash(98) 不匹配!
如果我修改了98区块内容,修改99区块头 = hash(98区块),则与100区块不匹配!