2018-07-13小白学区块链——私钥·公钥

2018-07-14  本文已影响0人  星光之梦

在生活中移动支付和无现金支付已经相对普及了,它方便了我们的日常生活,也降低了我们随身携带现金的风险。无论是移动端支付还是银行卡类支付,我们都要绑定或输入银行卡号和支付密码才能支付,那么在比特币的交易中是如何达成支付的呢?

1.私钥

在比特币网络中的私钥可以对应我们现实世界银行卡号加支付密码,也就是:私钥=银行卡号+取款密码。私钥是比特币网络中根据密码学上的一种伪随机算法生成一种不可预算的一串字符,由于生成的私钥是256位数的二进制密码。因为私钥太长,识别率不高。所以系统又对于原始的随机数进行一定的转换,转换为识别率高的字符串形式的私钥,比如:3KEHtUDa35z3FPrtuX2QbbwGfNP5zhd7yyr2SC1j236sLBxDgse也可以把私钥转换其他形式,比如以单词的形式(12或者24个单词)的助记词。还有一种是经过加密的私钥Keystore,是以文件形式存在的,导出时需要设置密码,导入也一样的需要输入密码,即使别人知道了你的Keystore,没有你设的密码也是得不到你的私钥的。

2.公钥

公钥也就是我们通常所说的转账地址。公钥是由私钥生成的,通过椭圆曲线算法生成,一个私钥经过椭圆曲线变换之后能够得到公钥,公钥也是一组转换后的字符串,比如:1QDXYsotWo2Byz8NxFaVBArDBYhstFTrE5。公钥是用来验证私钥的签名,私钥和公钥是成对出现的,一个私钥签名的数据,只有对应的公钥才能对其进行验证,而地址也是从公钥生成的,这样就可以验证花费的交易是不是属于这个地址。简单理解也就是:公钥=银行卡账号。

总结

1.是私钥生成公钥也是成对出现的,公钥可以生成对应的唯一地址,验证发送交易的地址是否和该公钥生成的地址一致

2.公钥验证私钥的签名,用来验证该交易是否使用了正确的私钥签名,这样就能确认了该地址发送的交易是否使用了对应的私钥。

上一篇下一篇

猜你喜欢

热点阅读