签名验证逻辑代码
账户地址(公钥):2A39CBa2390FDe 账户地址 私钥:378sknJhidhLIqdngalket 公钥 私钥可以互相加密解密 签名过程: hash('{"付款地址":"2A39CBa2390FDe","收款地址":"AAC9CBa239aFcc","金额":"1btc"}') = 8aDB23CDEA6 #将交易信息hash加密为交易摘要 sign("8aDB23CDEA6","378sknJhidhLIqdngalket") = 3cdferdadgadg #可以将sign理解为使用私钥对交易摘要进行加密 验证过程: verify("3cdferdadgadg","2A39CBa2390FDe") = 8aDB23CDEA6 #因为私钥公钥可以互相加解密,所以这里利用公钥就可以解密出加密过的交易摘要 if(verify("3cdferdadgadg","2A39CBa2390FDe") == hash('{"付款地址":"2A39CBa2390FDe","收款地址":"AAC9CBa239aFcc","金额":"1btc"}')): #写入账本 #广播 else: #donothing
工作量证明
交易的有效性验证就是签名验证逻辑代码里面提到的内容
一条链路由此形成:但是里面没加随机数,应该还有随机数