- 博客(4)
- 资源 (3)
- 收藏
- 关注
原创 golang重写区块链——0.6 UTXO集和Merkle树的实现(优化链上交易)
到目前为止,我们已经基本实现了区块链中的所有元素。在第一章节就讲到区块链是一个分布式数据库,这也是去中心化的核心所在,但是在前面的章节我们在实现区块链中的各种功能的过程中我们并没有去考虑‘分布式’的问题,只是关注了数据库这部分的实现。在这一章节中我们来讨论区块链的分布式的实现。 本章之后的全部代码已经上传到github上面了,可以点击 这里 查看。在开始之前我们先总结一下我们...
2018-08-28 23:16:45 2108 2
原创 golang重写区块链——0.5 区块链中钱包、地址和签名的实现
在上一章节中,我们把简单的用户定义的字节当做地址来使用,比如在上一 章我测试用到的zyj和dxn。在这一章节中我们要正真的去实现区块链中的地址。 大家应该还记得上一章中提到过区块链中的交易是地址与地址之间的,地址的背后才是我们人来操作,因此我们会发现一个问题,就是在上一章中的这些我们自定义的地址并没有什么意义,因为随便谁都可以使用,转移该地址中的getbalnace,但是现实中我们并不想...
2018-08-27 20:15:44 3062 2
原创 golang重写区块链——0.4 链上交易(无地址版本)
区块链的作用就是要实现交易,一种无法篡改永久保存的交易。比特币区块链还没有像以太坊一样已经实现了账户的概念,比特币区块链上的交易双方是地址,地址背后才是人,人和地址不是一一对应的关系,一个人可以拥有很多比特币的地址。 ——注:底端有完整的代码,代码里面有详细的注解,可以直接看完整的代码,github端我随后会上传 在一笔交易中,是由输入和输出来形成的,首先我们重新创...
2018-08-26 15:24:23 1296
原创 golang重写区块链——0.2 加入工作量证明pow
比特币使用的共识机制为工作量证明机制,此机制已经经历了数十年的验证了,虽然原理简单粗暴,但是不得不承认它的安全性与可靠性。下面将实现的是区块链中的pow机制:pow包package powimport ( "fmt" "crypto/sha256" "strconv" "bytes" "math/big" "go_code/A_golang_blockchain/...
2018-08-25 17:02:22 743
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人