比特币运用了密码学中两个功能:哈希 cryptographic hash functioncollision resistance:防哈希碰撞,即不同输入的哈希输出相等。通过brute force碰撞难度极高。用处:哈希作为digest,检查原信息是否被篡改。md5已可以人为制造哈希碰撞hiding:通过输出没法知道输入,只能蛮力求解。需要输入空间足够大,且分布均匀。实际操作中在输入内容后面拼接一个nonce,一个选取的随机数,使输入足够大且均匀两种性质结合,可以用于digital commitment。即sealed envelope,预测不可提前公开。可以先公开哈希值,出结果后只需对哈希值就可确认是否篡改puzzle friendly:除了上述两个密码学的性质要求外,比特币还具备这个性质。哈希输出不可预测,只能暴力算。挖矿就是找nonce,使blockheader的哈希值小于等于某阈值。挖矿很难,但验证简单比特币用的是SHA256,secure hash algorithm签名比特币的账户:公私钥对。非对称加密体系 asymmetric encryption algorith...