联盟链的四大关键技术 第一、高性能 在大规模应用方面,联盟链最好能够做到上万个节点,每秒几千到上万的性能。大规模的节点或者大数据量的情况下性能会急剧下降,这也是大家觉得区块链造成资源浪费和性能不行的地方。联盟高性能关键技术需要在各个方面进行技术突破,包括高性能的共识算法、高效智能合约引擎,当然也包括 ...
分类:
其他好文 时间:
2019-10-29 13:56:06
阅读次数:
100
BitCoin BitCoin是最早、也是现网运行区块链最成功的一个开源项目,核心技术框架采用C++开发,共识算法采用PoW,每秒交易量(TPS)为不多于7笔,开源许可协议为MIT。 官方编程语言:C++ 开源许可协议:MIT 开源项目地址:https://github.com/bitcoin/bi ...
分类:
其他好文 时间:
2019-10-26 14:56:52
阅读次数:
225
POW简介Proof of Work,工作证明。POW共识算法主要是通过计算难度值来决定谁来出块。POW的工作量是指方程式求解,谁先解出来,谁就有权利出块。方程式是通过前一个区块的哈希值和随机值nonce来计算下一个区块的哈希值,谁先找到nonce,谁就能最先计算出下一个区块的哈希值,这种方式之所以... ...
分类:
编程语言 时间:
2019-10-21 00:22:54
阅读次数:
170
最近对区块链的共识算法比较感兴趣,也在尝试着使用JAVA实现它。进度不是很快,日积月累吧,目前在写POW, RAFT 。 POW还有一小块部分没有搞明白,还在搜索资料中。 RAFT实现了第一个阶段:LEADER选举,使用了JAVA,MAVEN,DOCKER实现。虽然还有一些小瑕疵,慢慢来吧。 附上 ...
分类:
编程语言 时间:
2019-09-30 22:09:27
阅读次数:
96
Raft共识算法在分布式系统中是常用的共识算法之一,论文原文 "In Search of an Understandable Consensus Algorithm" ,作者在论文中指出Poxas共识算法的两大问题,其一是难懂,其二是应用到实际系统存在困难。针对Paxos存在的问题,作者的目的是提出 ...
分类:
编程语言 时间:
2019-08-11 16:52:17
阅读次数:
122
etcd 是什么?(What is etcd) etcd 是一个一致的分布式可靠的键值存储技术。可被用来做配置共享和服务发现。 开发语言:Go 共识算法: "Raft" 命名来源:表示分布式的 目录,发音为 。 使用的端口:2.0 后,使用 2379 作为外部客户端通信,使用 2380 作为内部服务 ...
分类:
其他好文 时间:
2019-08-11 12:38:20
阅读次数:
202
Istanbul BFT共识算法详细文档 "Istanbul BFT" 作为BFT类算法的一种已经有过在以太坊上的实践。虽然Istanbul目前还存在一些潜在的问题,但其算法思想和实现还是值得学习和借鉴的。 术语 Validator: 区块验证者。 Proposer: 出块者。 Round: 共识的 ...
分类:
编程语言 时间:
2019-07-23 13:24:43
阅读次数:
300
共识算法说起 区块链系统首先是分布式系统,而一致性是分布式系统的基础问题,要保证系统满足不同程度的一致性,则就要用到共识算法。 现在主流的算法有POW、POS、DPOS等等,比特币采用的POW共识算法运行9年之久,已被证明稳定可靠,然而因为巨大的硬件和能源消耗而饱受诟病,特别是专用矿机,在被淘汰之后 ...
分类:
编程语言 时间:
2019-07-04 11:08:00
阅读次数:
132
区块链是一个没有中央权威的分布式对等系统。虽然权力下放可以防止各方的腐败行为,但是它必需要有一个可靠的共识协议来作出决策,让分散在世界各地的节点可以形成一致的意见。常见的共识算法有比特币采用的POW,fabric使用的PBFT,以及分布式系统一般采用的RAFT等。 一、RAFT协议 Raft基于分布 ...
分类:
其他好文 时间:
2019-06-26 21:58:37
阅读次数:
233
这里有个很形象的比喻: 一个团队一定会有一个老大和普通成员。对于 raft 算法,共识过程就是:只要老大还没挂,老大说什么,我们(团队普通成员)就做什么,坚决执行。那什么时候重新老大呢?只有当老大挂了才重选老大,不然生是老大的人,死是老大的鬼。 对于 pbft 算法,共识过程就是:老大向我发送命令时 ...
分类:
编程语言 时间:
2019-06-21 09:39:41
阅读次数:
392