2020 区块链 golang 版本(2)

zidea · · 933 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

封面

今天我们依旧是理论,代码实现随后就来。

交易流程

如果没有交易那么比特币就失去意义,即使现在拥有一套比特币的源码,也无法再创造出一下个比特币。比特币货币发行也是离不来交易,这都说明交易在区块链中的重要性。

1.创建交易

创建一个地址,然后通过往这个地址发送比特币就完成一次交易。

2.广播交易(校验交易)

当交易完成,就会发送到网络中每一个节点,每一个节点在接收到交易后,需要先进行校验。校验签名和金额,其实只有校验通过该节点才会继续广播。每一个节点的校验都是独立,并不依赖于其他节点。那么如果不做校验,在打包完成后挖矿后,因为其他节点对块中交易校验时发现错误就会造成这一次挖矿失败。

3.挖矿竞争

也是就是工作量证明,工作量证明好处放置某个节点作弊,在区块链通过工作量证明和投票来有效放置某些节点的篡改账本(区块),现在家用电脑应该是无法在挖矿了,

4. 胜出

在拼比算力过程,付出算力,其实这也是一种电力和算力的浪费,要是能够计算过程可以训练模型(机器学习)就好了,我们可以搞一搞基于机器学习的挖矿。

5. 记账

在区块链中记录每一笔交易,交易没有余额比较将地址中所有比特币输出,不过可以通过输出给自己实现找零,所以在区块链中没有记账,通过遍历区块链来来最终某个地址中比特币数量

6. 同步账本

分布式技术也是区块链的核心技术之间,其实如果连接电驴和比特点到点传输技术。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:zidea

查看原文:2020 区块链 golang 版本(2)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

933 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传