×

区块链大全

96
水上山
2018.06.11 15:44* 字数 3446

为什么需要比特币?传统货币体系的问题? 

先看看比特币诞生的历史背景,2007-2008年正值金融危机期间,美国通过量化宽松政策,客观加大了流通货币量。中国发4万亿人民币。 

这里面不得不提到两个机构,一个是美联储(Federal Reserve System),下设board(政府机构)和分布各地区的美联储银行 (Federal Reserve banks),这是美国控制货币的机构,除了政府的一部分,其他银行股东很多是私营机构。对了,每年分红6%,还有每年2%通胀率的一个习惯。 另外一个机构就是中国人民银行,央行,央妈,这个就是国内管你手里的钱值多少钱的妈。不用太赘述了。 

中心化货币系统带来了什么问题?国家机构如央行控制的货币系统在遇到国家经济不稳定的情况下,通过货币量的调整来调整经济的走势,大体上为了国家利于、或者大集团的利益,但是客观可能损害个人的利益。比如多发货币,那你手里的钱就不值钱了。 在这样的背景下,以中本聪为代表的一波技术极客,探讨去中心化的货币体系,就不难理解了。

比特币是什么?

是一种不受政府或其他任何人控制的货币系统,本质上比特币是共识、凝结的是全网的信心。

比特币不增发、没有发币机构管理机构。也有观点认为拥有大的算力,一定层面上也产生了控制力和大节点,这个问题可以以后讨论。

区块链

区块链blockchain,区块链本质上是一个去中心化的全网共同维护的分布式数据库(比特币网络中即公共账本)。


这个数据库储存了什么?

储存了串起来的一个一个区块数据,区块内含所属权(谁有多少钱)、交易数据(谁把多少钱转给了谁)。对于每一个区块,里面包含了区块头、区块体两个部分的信息。区块头包含的信息:区块生成时间上一个区块的hash值,用来标明当前区块的来龙去脉区块体的hash值区块体包含的信息:交易信息(谁给谁转了多少钱)数字签名(谁证明某比钱是TA自己的)


HASH是啥?

hash的英文有剁碎、打乱的意思,所以简单理解就是,把一串很长的信息通过hash算法的规则打碎,最后输出一个相对固定长度的字符串。

对于hash有几个重要属性:

一、碰撞阻力:如果无法找到两个值x,y,x≠y,而H(x)=H(y),则称哈希函数H具有碰撞阻力。每个区块的哈希都是不一样的,可以通过哈希标识区块。这样每个区块在全网都是唯一、可查。

二、隐秘性:隐秘性保证我们知道输出y=H(X),没有可能算出输入值x。

三、谜题友好:如果想知道y值所对应的输入,假定输入集合中,有一部分非常随机,那么他将很难求得y值对应的输入。

区块链涉及到的技术

密码学、分布式一致性协议、点对点网络通信技术、智能合约编程语言等

区块链的分类

按照参与方式:公开链、私有链、联盟链。

公有链的任何节点都是向任何人开放的,每个人都可以参与到这个区块链中的计算,而且任何人都可以下载获得完整区块链数据,即全部账本。

联盟链是指参与每个节点的权限都完全对等,各节点在不需要完全互信的情况下就可以实现数据的可信交换,联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入或退出网络。联盟链是一种公司与公司、组织与组织之间达成联盟的模式。

在某些区块链的应用场景下,开发者并不希望任何人都可以参与这个系统,因此建立一种不对外公开、只有被许可的节点才可以参与并且查看所有数据的私有区块链,私有链一般适用于特定机构的内部数据管理与审计。

链与链的关系:主链、侧链

区块链交易的流程

网络中产生交易的信息——挖矿(矿池矿机挖矿)

区块链的工作量证明机制

POW:proof of power, 工作量证明机制

PoW(工作量证明),也就是像比特币的挖矿机制,矿工通过把网络尚未记录的现有交易打包到一个区块,然后不断遍历尝试来寻找一个随机数,使得新区块加上随机数的哈希值满足一定的难度条件,例如前面10位是零。找到满足条件的随机数,就相当于确定了区块链最新的一个区块,也相当于获得了区块链的本轮记账权。矿工把满足挖矿难度条件的区块在网络中广播出去,全网其他节点在验证该区块满足挖矿难度条件,同时区块里的交易数据符合协议规范后,将各自把该区块链接到自己版本的区块链上,从而在全网形成对当前网络状态的共识。·优点:完全去中心化,节点自由进出,避免了建立和维护中心化信用机构的成本。只要网络破坏者的算力不超过网络总算力的50%,网络的交易状态就能达成一致。·缺点:目前比特币挖矿造成大量的资源浪费;另外挖矿的激励机制也造成矿池算力的高度集中,背离了当初去中心化设计的初衷。更大的问题是PoW机制的共识达成的周期较长,每秒只能最多做7笔交易,不适合商业应用。

POS:proof of stake, 股权证明

PoS权益证明,要求节点提供拥有一定数量的代币证明来获取竞争区块链记账权的一种分布式共识机制。如果单纯依靠代币余额来决定记账者必然使得富有者胜出,导致记账权的中心化,降低共识的公正性,因此不同的PoS机制在权益证明的基础上,采用不同方式来增加记账权的随机性来避免中心化。例如点点币(PeerCoin)PoS机制中,拥有最多链龄长的比特币获得记账权的几率就越大。NXT和Blackcoin则采用一个公式来预测下一个记账的节点。拥有多的代币被选为记账节点的概率就会大。未来以太坊也会从目前的PoW机制转换到PoS机制,从目前看到的资料看,以太坊的PoS机制将采用节点下赌注来赌下一个区块,赌中者有额外以太币奖,赌不中者会被扣以太币的方式来达成下一区块的共识。·优点:在一定程度上缩短了共识达成的时间,降低了PoW机制的资源浪费。缺点:破坏者对网络攻击的成本低,网络的安全性有待验证。另外拥有代币数量大的节点获得记账权的几率更大,会使得网络的共识受少数富裕账户支配,从而失去公正性。

DPOS:delegated proof of stake, 共识机制,委托权以证明

DPoS(股份授权证明)机制,类似于董事会投票。比特股(bitshares)采用的PoS机制是持股者投票选出一定数量的见证人,每个见证人按序有两秒的权限时间生成区块,若见证人在给定的时间片不能生成区块,区块生成权限交给下一个时间片对应的见证人。持股人可以随时通过投票更换这些见证人。DPoS的这种设计使得区块的生成更为快速,也更加节能。·优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。·缺点:选举固定数量的见证人作为记账候选人有可能不适合于完全去中心化的场景。另外在网络节点数少的场景,选举的见证人的代表性也不强。

分布式一致性算法 

分布式一致性算法是基于传统的分布式一致性技术。其中有分为解决拜占庭将军问题的拜占庭容错算法,如PBFT。另外解决非拜占庭问题的分布式一致性算法(Pasox、Raft),详细见本书第5章的共识算法。该类算法目前是联盟链和私有链链场景中常用的共识机制。·优点:实现秒级的快速共识机制,保证一致性。·缺点:去中心化程度不如公有链上的共识机制;更适合多方参与的多中心商业模式。

拜占庭将军问题 / Byzantine Generals Problem / BGP

由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。在分布式计算中,不同的计算机通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。拜占庭将军问题被认为是容错性问题中最难的问题类型之一。

改进型实用拜占庭容错/ Practical Byzantine Fault Tolerance/ PBFT

PBET 共识机制是少数服从多数,根据信息在分布式网络中节点间互相交换后各节点列出所有得到的信息,一个节点代表一票,选择大多数的结果作为解决办法。PBET 将容错量控制在全部节点数的1/3,即如只要有超过2/3 的正常节点,整个系统便可正常运作。

授权拜占庭容错算法/ Delegated Byzantine Fault Tolerance /dBFT

dBFT,是基于持有权益比例来选出专门的记账人(记账节点),然后记账人之间通过拜占庭容错算法(即少数服从多数的投票机制)来达成共识,决定动态参与节点。dBFT可以容忍任何类型的错误,且专门的多个记账人使得每一个区块都有最终性、不会分叉。

联邦拜占庭协议/ Federated Byzantine Agreement / FBA

联邦拜占庭协议的主要特性是去中心化和任意行为容错,通过分布式的方法,达到法定人数或者节点足够的群体能达成共识,每一个节点不需要依赖相同的参与者就能决定信任的对象来完成共识。

比特币bitcoin

以太坊ethereum

EOS

区块链人物

中本聪(Satoshi Nakamoto)

中本聪比特币论坛发帖profile

Daniel Larimer(BM)

Byte Master. EOS联合发起人、steemit创始人、bitshares创始人。通过他的Mediumtwitter 可以很好的了解BM。BM的一些思想:比特币区块链系统效率太低,无法用于高频小额支付;世界应该把主动权交给公众,而不是逼着人们去赚钱。

石墨烯工具组:BM等在bitshares团队时开发,在此基础上建立的Bitshare2.0是第一个间隔时间只有3秒的区块链,每秒支持1万笔交易。成为BitShares,Steem,EOS 和Oraclechain的技术基石。

其他媒体资料:

BM on steemit

EOS创始人Dan Larimer:比特币绝不可能被用于小微支付

https://zhuanlan.zhihu.com/p/34262140

Daniel Larimer的故事和Steemit由来 - 简书

Charles Hoskinson

Dan larimer 做bitshares早期合伙人。

Vitalik Buterin

以太坊创始人,94年俄罗斯小伙。

区块高度

即区块个数,2018年6月21日,目前块高度大搞52万左右。

学习/读书
Web note ad 1