在比特币中,使用了密码学中的加密体系,表现出来就是公钥和私钥。本文就来说说比特币交易公钥是什么,一起来看看吧。
一、比特币交易公钥
在比特币的交易中,比特币系统让每个参与交易的人,先随机产生一个字符串,作为自己的唯一的“私钥”。然后会通过“私钥”生成对应的唯一“公钥”。生成“公钥”后,在比特币网络上公开给每个人,而“私钥”很重要,不要泄露,不能让任何人知道。
“私钥”生成“公钥”的过程是不可逆的,所以不用担心别人即便拿到了你的“公钥”后,逆推出“私钥”是什么。所以比特币交易公钥就是把一个人的“公钥”当作这个人的收款账号(或收款地址)。这样当你在给别人转账时,你输入别人的“公钥”,比特币系统会自动帮你把这笔款用那个人的“公钥”锁定。使用的时候用他的私钥解锁就可以了。
二、比特币公钥的格式
公钥是由私钥生成的,通过椭圆曲线(ECPoint)生成,一个私钥经过椭圆曲线变换之后会生成一个65个byte的数组,一般我们会看到这样的一个公钥:04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235,公钥一般是把byte数组是经过hex(16进制)的处理之后显示出来的,正如上文说到的,公钥是用来解开私钥签名的数据,不同于私钥的Base58,使用私钥签名交易之后,会把自己的公钥一起发送,私钥签名的数据可以使用公钥解密,发送公钥之后旷工才能验证私钥的签名的正确性(能不能解开),私钥和公钥是成对出现的,一个私钥签名的数据,只有对应的公钥才能解开,而地址也是从公钥生成的,这样就可以验证花费的交易是不是属于这个地址的。
公钥常见的有两种格式,一种是未压缩格式公钥。另一种是压缩格式公钥。引入压缩格式公钥是为了减少比特币交易的字节数,从而可以节省那些运行区块链数据库的节点磁盘空间。未压缩格式公钥使用04作为前缀,而压缩格式公钥是以02或03作为前缀。
三、小结
通过本文你应该简单了解了公钥是什么了吧,公钥是公开密钥加密体系中的产物,是我们比特币交易中重要的组成部分,要合理使用它哦。