虽然这个过程看似简单便捷,类似于我们现在使用银行卡进行转账,但你知道它在比特币系统中是如何实现的吗?它隐藏了哪些原理呢?又如何保证交易的安全呢?
对于转出方和接收方,也就是我和依依,我们都需要提供两个东西:钱包地址和私钥。
首先是钱包地址。比特币钱包地址相当于银行卡、支付宝账号或微信钱包账号,是比特币支付转账的凭证。它记录了平台与平台、钱包与钱包、钱包与平台之间的转账信息。
与银行卡、支付宝、微信转账需要密码一样,比特币转账也有类似的密码,称为私钥。掌握了私钥,就拥有了对应比特币地址上的控制权。
私钥和公钥属于非对称加密算法中的概念。公钥是可以公开的,而私钥是私人的、需要绝对保密的。
公钥是根据私钥计算出来的。比特币系统使用椭圆曲线加密算法来计算私钥得到公钥。公钥和私钥形成了唯一对应的关系:用其中一把钥匙加密信息后,只有另一把配对的钥匙才能解密。因此,公钥和私钥可以用来验证信息发送方的身份,同时保证信息的绝对保密。
这里举个例子说明非对称加密算法中公钥和私钥的运作方式。
公钥是可以公开的,所以所有人都知道我们的公钥。在转账过程中,我不仅要确保比特币转给了依依,而且希望依依知道这些比特币是我转给她的,而不是其他人。比特币系统能够满足这个需求:它将我的交易信息缩短成固定长度的字符串,即一个摘要,并将我的私钥附加在这个摘要上,生成一个数字签名。数字签名中包含了我的私钥信息,因此可以证明我的身份。
完成后,完整的交易信息和数字签名将一起广播给矿工。矿工使用我的公钥进行验证,检查我的公钥和数字签名是否匹配。如果验证成功,说明这个交易确实是我发出的,并且信息没有被更改。
接下来,矿工需要验证这笔交易花费的比特币是否是“未被花费”的交易。如果验证成功,这笔交易将被放入“未确认交易”中等待打包;如果验证失败,该交易将被标记为“无效交易”,不会被打包。
简单来说,公钥和私钥分别用于加密解密和签名验证。加密解密保证了信息的保密性,签名验证保证了身份的真实性。
至于我们通常使用的钱包APP,实际上只是私钥、钱包地址和其他区块链数据的管理工具。钱包还可以分为冷钱包和热钱包。冷钱包是离线的,不与网络连接,通常以实体形式存在,比如纸质钱包;热钱包则与网络连接,我们常用的钱包APP就属于热钱包。
用戶喜愛的交易所
已有账号登陆后会弹出下载