区块链中的密码学
密码学在区块链中的应用主要有两个:哈希算法与非对称加密算法。这次主要对哈希算法进行详细的说明。
哈希算法
哈希算法的特点有:
1、输入可以为任意大小的字符串;
2、产生固定大小的输出;
3、可以在合理的时间内算出输出值。
若要满足密码学的安全性,哈希算法还应该具有以下三个特性:
1、碰撞阻力:不同的输入不会产生相同的输出;
2、不可逆性:若y = Hash (x) ,根据y无法倒推出x;
3、谜题友好:若想倒推出x,只能通过暴力枚举破解。
以比特币为例,来看一下哈希算法的具体应用: 在比特币中,使用哈希算法把交易生成数据摘要,当前区块里面包含上一个区块的哈希值(block? header hash),后面一个区块又包含当前区块的哈希值(),就这样一个接一个的连接起来,形成一个哈希指针链表,如下图:


Merkle Tree字段:

总结
本次对哈希算法的学习与整理过程中,还有些疑惑,merkle tree的底部若不按照ABCD的顺序进行排列,是否会对整个区块的Block header造成影响,从而影响整个区块链。参考文章地址: cloud.tencent.com/developer/a…
每天进步一点点~!