函数,都会Р得到一个整数。这个整数大小范围在 0 到 2^256 次方。也就是 256bit 长度的整数。相同的数据Р送入此函数,会得到相同的结果。数据不同,就会得到不同的结果。等于用一个 256bit 的数,Р给任意数据做编码。每个数据都有自己特定的编码。256bit 长度的这个整数非常巨大。比地球Р上所有沙子的颗粒还多。所以只要送入这个函数的数据稍有不同(字母数字,以及排列顺序等),Р这个数据就会得到自己独一无二的 256bit 整数编码。Р2,是否交易真实------ 数字签名Р1)交易单签字Р 由于没有银行做保证中介,张三和李四是直接交易。现实生活中 2 个从未相识的人做交易,Р会极其不靠谱。因为没有实体货币,张三声称付款给李四后,完全可以不认帐。即便现实中,张Р三也可以用假币付款然后跑路。Р 比特币采取的方法是:让付款方用户在交易单上根据交易单内容来签字(数字签名)。并Р且让收款方有办法验证这个签字的真实性(不用法院和笔迹对比专家)。Р 如图所示,这是 3 个交易单,代表用户 0 给用户 1 支付钱款“交易单 1”,用户 1 给用户 2Р支付“交易单 2”,用户 2 给用户 3 支付的“交易单 3”:Р 这个签名靠“非对称加密算法”,保证付款方签的字,没人能作假,并且付款方自己必须Р认帐。Р2)数字签名大致描述Р 有必要简单介绍数字签名。Р 一个只有签名者自己知道的密码,作为密钥。签名者用这个密钥可以对任意数据加密。得Р到一个数字签名。同时这个签字者对全世界公开一个“公钥”,意思即为公开的钥匙。其他人Р可以方便快速的用这个“公钥”解密签字,查看签字的解密后内容。如果有证据表明:解密签字Р后的内容,与加密者加密的内容相符,就能证明这个内容确实是加密者加密的。比如加密者用私Р钥加密了一个字符串,写着自己名字的签名。大家用公钥解开一看,便知道这个签名一定是加密Р者干的。