正如前一篇文章所言,在节点之间进行交易的步骤为:①发出交易请求;②区块信息的记录者检查交易请求者是否具有完成交易的资质;③交易请求等待被写入区块;④区块写入交易信息,交易达成。
但是正如我们所知,在运用区块链进行虚拟货币交易时,交易时候具体设计的是两个节点,正如我们在银行中进行转账时,涉及到的只是两个银行账户,而并非真实的两个人。
下面以大红大紫的比特币为例(但需要注意比特币只是区块链技术在加密货币上的一种应用,并非等同于区块链技术),对比特币的节点之间转账进行介绍。
0.基础概念
密钥:私钥和公钥的总称,每一个密钥中都包含一个私钥和一个公钥。
私钥:系统生成的32字节字符串,相当于银行卡密码,用于进行签名和解密。
公钥:由私钥经过椭圆曲线加密算法生成,相当于银行卡,用于加密。
地址:由公钥经过一系列哈希函数算法生成,相当于银行卡卡号,用于交易。
公钥、私钥与地址形成过程
ps1:哈希函数并非是指某一种算法,而是包含一系列算法的一类函数。
ps2:椭圆曲线加密算法和哈希函数都是单向不可逆的函数,因此无法通过地址倒推出公钥,也无法通过公钥倒推出私钥,从而保证了账户的安全。
ps3:他人划转给我们资金时是划转到地址(银行卡卡号)上的,而我们需要动用资金时,需要配合使用公钥(银行卡)和私钥(银行卡密码)。因此私钥是最重要的,一旦泄露就会遭受资产的损失,而地址是公布在外的,是任何人都可以看到的。
1.交易过程
假设现在A节点想要向B节点汇去1000元,其步骤为:
①A运用自己的公钥和私钥,确认要挪用资金。
②A在交易请求中写入B的地址和交易的金额。
③交易信息(A地址向B地址汇款1000元)发布到整个世界上所有节点处(称为广播)。
④其余节点检查A地址历史的交易记录,确认A地址上确实有1000元。
⑤交易信息排队等待被写入新区块之中。
⑥交易信息被写入新区块之中,其余节点检查新区块中是否存在错误。
⑦新区块没有错误,与上一时间段的区块相连接,进入链中
⑧在链上又写入了6个区块之后,交易信息不可篡改,交易最终达成
ps:此处的第⑧步是比特币的确认方式。如上一篇文章所言,在第N个区块之后的区块数量越多,第N个区块中的数据越安全,数据越难以为被篡改。比特币认为在写入了6个区块之后,数据足够安全,因此交易确认时间为6个区块生成时间,比特币每个区块生成时间为10分钟,即60分钟后交易才会被最终达成。
2.区块链加密货币交易与传统交易的区别
①点对点交易
在传统的银行转账中,张三向李四转钱的过程实际上可以划分为两部分:张三将钱交给了银行,银行按照嘱咐将钱交给李四的账户。
而区块链加密货币交易中,代表张三节点的地址直接向代表李四节点的地址划转资金,免除了中间过程,可以免除中介费用,这在跨国转账中可以节省下一大笔钱。
②地址的信息
地址是一种公开的银行卡账户,而在资金划转过程中有一项检查资金是否充足的过程,该过程通过其他节点查询该地址的历史交易记录而实现,因此地址上所有的历史交易信息是所有节点都能得知的。
③匿名性
在交易过程中,其他节点只能得知交易节点的地址,而并不知道这个地址背后所对应的公钥,更不知道这个地址背后代表的居民信息。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。