快捷搜索:  汽车  科技

通俗易懂的分析区块链和比特币(2.区块链以比特币为例)

通俗易懂的分析区块链和比特币(2.区块链以比特币为例)公钥、私钥与地址形成过程地址:由公钥经过一系列哈希函数算法生成,相当于银行卡卡号,用于交易。密钥:私钥和公钥的总称,每一个密钥中都包含一个私钥和一个公钥。私钥:系统生成的32字节字符串,相当于银行卡密码,用于进行签名和解密。公钥:由私钥经过椭圆曲线加密算法生成,相当于银行卡,用于加密。

正如前一篇文章所言,在节点之间进行交易的步骤为:①发出交易请求;②区块信息的记录者检查交易请求者是否具有完成交易的资质;③交易请求等待被写入区块;④区块写入交易信息,交易达成。

但是正如我们所知,在运用区块链进行虚拟货币交易时,交易时候具体设计的是两个节点,正如我们在银行中进行转账时,涉及到的只是两个银行账户,而并非真实的两个人。

下面以大红大紫的比特币为例(但需要注意比特币只是区块链技术在加密货币上的一种应用,并非等同于区块链技术),对比特币的节点之间转账进行介绍。

0.基础概念

  • 密钥:私钥和公钥的总称,每一个密钥中都包含一个私钥和一个公钥。

  • 私钥:系统生成的32字节字符串,相当于银行卡密码,用于进行签名和解密。

  • 公钥:由私钥经过椭圆曲线加密算法生成,相当于银行卡,用于加密。

  • 地址:由公钥经过一系列哈希函数算法生成,相当于银行卡卡号,用于交易。

通俗易懂的分析区块链和比特币(2.区块链以比特币为例)(1)

公钥、私钥与地址形成过程

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.区块链加密货币交易与传统交易的区别

①点对点交易

在传统的银行转账中,张三向李四转钱的过程实际上可以划分为两部分:张三将钱交给了银行,银行按照嘱咐将钱交给李四的账户。

而区块链加密货币交易中,代表张三节点的地址直接向代表李四节点的地址划转资金,免除了中间过程,可以免除中介费用,这在跨国转账中可以节省下一大笔钱。

②地址的信息

地址是一种公开的银行卡账户,而在资金划转过程中有一项检查资金是否充足的过程,该过程通过其他节点查询该地址的历史交易记录而实现,因此地址上所有的历史交易信息是所有节点都能得知的。

③匿名性

在交易过程中,其他节点只能得知交易节点的地址,而并不知道这个地址背后所对应的公钥,更不知道这个地址背后代表的居民信息。

猜您喜欢: