区块链资讯
数字货币行情

区块链技术几个重要的坑

近些年,区块链技术飞速发展,引领了互联网领域一次新的技术浪潮,这种新型技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术;并成为最近两年的热门投资方向,如著名投资人索罗斯在2017年年底的时候,把Facebook的股票全部卖掉,投资了一家用区块链发行股票公司Overstock。全球各大互联网公司也大力在区块链领域布局,积极推进区块链技术的落地,如IBM的供应链物流,金融结算服务区块链创业公司井喷般出现,国内区块链企业已达456家。

在区块链技术变得火热的同时,许多新技术出现,区块链技术混淆越来愈平常,公链和私链技术混淆使用,如一些著名公链竟然使用私链的技术来解决速度和扩展性的问题。很不幸的是,在区块链技术快速发展的时候,一些著名的链的基础协议居然还是和几年前一样, 这表明以前发现的问题到今天还是存在没有解决,新出来的技术并未解决以前的问题,例如以下将要讲述的第一个坑。

在2018年,让人惊讶的是,甚至几个世界出名的公链也被人察觉居然部分机制还是一个中心在控制。这和长期标榜“去中心化”的区块链思想直接冲突,表示完全“去中心化”的系统难实现,而且在今天法律制度下(例如美国证券交易监督委员会出的新法规)很难实现。但是哪些中心化机制可以被接受,哪些不能被接受,应该有所讨论。这是第二个坑。

加拿大央行, 欧洲央行, 和日本央行三个世界重要央行在2017年和2018年出的3篇报告,现在区块链容错机制不能达到金融机构的需求已经是共识。区块链不是自己有容错机制吗?有,但现在的容错机制离实际需求差距很远。这是第三个坑。

这些坑还存在今天著名区块链系统里,这给区块链投资人造成了困扰。有人认为,著名公司研发的区块链系统应该比较好,但事实上不是这样。2017年加拿大央行报告[18]指出一些著名的区块链系统离实际银行的需求还相差很大,一些融资上亿美元的区块链公司在2016年和2017年开始宣布研发大型区块链合作项目,但是后来也没能研发出来。一位美国高科技公司CTO 在2018年拜访天德公司的时候就表示有资金和有名声的美国高科技公司不一定可以研发出好的区块链系统。这些问题也没有因为现在新技术发展而解决。

当然区块链不只有这三个坑,其他坑以后再讨论。这三个都是老坑,几年前已经发现的问题,但直到今天,这些坑还是存在一些区块链系统里面,甚至有的坑今年才引起大家重视。

这些坑都是中国的机会,因为这些著名的链要改是非常难的。但问题是中国真有团队愿意好好打造一个好区块链吗?还是大家只要炒币赚钱?还是只要山寨那些明知有问题的链?

第一大坑:拜占庭将军协议或是“刘关张”共识协议

区块链是一种分布式记账系统。在分布式系统中,最为关键的问题就是一致性问题。一致性问题指的是:对于给定的一组服务器节点,指定一系列操作,在某个协议保障下,使得各服务器节点对处理结果达成一致,其中用到的协议也被称作为共识算法。根据节点信任程度和容错能力,我们将共识协议分为两类:

· 拜占庭将军协议(节点非互信)

· “刘关张”共识协议(节点互信)

拜占庭(BFT)将军协议则是考虑存在一定数量恶意节点的情况下,当恶意节点出现任意行为时,也能有效的保证数据的一致性。BFT系列算法,是一种确定性容错算法,共识效率高,确认时间短,容错能力稍差,允许1/3以下的恶意节点。而区块链的应用场景就是互不信任的各方通过区块链技术来做生意、开公司、上法庭,解决互不信任的各方的信任问题。图1 演示PBFT的协议,PBFT 是一个实用拜占庭将军协议,如图1所示,该算法经过预准备(Pre-prepare)、准备(Prepare)和确认(Commit)三个阶段达成一致性。

3kemao.com区块链资讯媒体

图1 PBFT(BFT协议的一种)

“刘关张”协议就是节点之间互信的协议,刘备、关羽、张飞三人桃园结义,互相信任对方,他们互不欺骗对方,三兄弟齐心协力。如果将他们对应于传统的分布式系统各个节点,也就是说各节点只可能出现宕机或是断开连接的情况,不会向其他节点发送虚假消息,理想情况下,互信协议中不会出现恶意的恶意节点(向不同的节点发送不同序号的消息)。

3kemao.com区块链资讯媒体

图2“刘关张”协议

拜占庭将军协议和“刘关张”共识协议的最大差别在于: “刘关张”协议有两轮投票,拜占庭有三轮投票。其中,拜占庭协议的前两轮投票阶段和“刘关张”协议相似。但是在拜占庭协议的第三轮投票中,参与节点需要向其他节点发送他们在第二轮阶段收到的消息。所以,如果没有第三个阶段,拜占庭将军协议就会变成“刘关张”协议。国内一些工程师原本是为了“优化”拜占庭将军协议,结果却是将拜占庭将军协议第三轮去掉变成了“刘关张”协议。

本来认为“刘关张”协议只会在中国出现,但是发现“刘关张”协议也已经技术输出国外,国外一些出名的区块链居然也使用“刘关张”协议。他们也和中国公司一样,自称使用拜占庭将军协议, 其实是用“刘关张”协议。

“刘关张”协议又可以分两种:分布式“刘关张”和中心化“刘关张”。

分布式“刘关张”协议

这种协议用在传统的分布式数据库系统,能保持多个数据副本之间的一致性,如两阶段提交协议、Paxos、Raft等, 这些都是传统数据库的一致性协议。互信协议允许宕机的节点数为1/2,但是一旦黑客攻击了其中的主节点,成为恶意节点,就可能会造成系统内的数据副本混乱,系统瘫痪。

图2、3表示两段式分布式“刘关张”协议, 一个是确认情景,一个是回滚情景。

3kemao.com区块链资讯媒体

图2 “刘关张”协议——确认情景

3kemao.com区块链资讯媒体

图3“刘关张”协议——回滚情景

如果将数据库的互信协议应用到区块链技术当中,将不能够查验以及抵挡恶意节点,这样的区块链只能够应用在节点之间互相信任的环境下运行。因此,这样的区块链被许多学者认为是一个弱化的区块链。

在中国工信部信通院发布的“可信区块链”白皮书标准里面,“有效防止节点欺诈”是“可信区块链”的一个最低要求,没有达到这个功能就不能称为“可信区块链”。所以,凡使用“刘关张”协议的区块链都不是可信区块链。

而且工信部认为不光需要满足上面的需求,“绝对一致的共识机”还要满足以下需求:

“A. 任意节点错误响应,包括执行成功对外返回‘失败’、执行失败或者不执行的时候对外返回‘成功’。

B. 任意节点向网络中其他节点发送不同的消息请求,例如:系统中有4个节点,请求消息序列为a, b, c, d, e,其中任意一个节点不按照a, b, c, d, e的序列发送给其他节点,把a只发给其中的一个节点,把b,c,d,e发给另外两个节点。

C. 任意节点通过修改本地数据,构造本节点校验合法的请求,例如,本节点余额为100单位,修改本地余额为200单位,然后发起200单位的转账。

对于上述情况,共识机制需要保证在小于理论节点数欺诈的情况下,节点间数据能够恢复正确且一致,并且和对外响应结果正确且一致。”

如果使用这种弱化的区块链将不能用于有强监管需求的应用里面,例如金融、公检法、政务。例如,最近亚洲的一个重要国家的首相夫人参与舞弊事件,而政府官员为了保护首相夫人居然篡改文件。然而一年后这舞弊事情包括政府官员违法篡改文件仍然被发现,引起政治风波。这件事情表明政务上的区块链必须使用拜占庭将军协议,而不是“刘关张”协议。因为被信任的政府官员也可能参与舞弊, 只有拜占庭协议可以查验说谎的节点, 而且可以防止从外部和内部篡改。

3kemao.com区块链资讯媒体

图4分布式“刘关张”协议

中心化“刘关张”协议

中心化的“刘关张”协议使用“原子广播”(atomic broadcast)来做共识。原子广播原来目的在于保证每个参与节点收到同样信息,因为每个节点收到同样信息等于保证每个节点有共识。一个原子广播通用软件是Kafka,而Kafka 是用另一软件Zookeeper 完成的。

但是原子广播真的安全吗?是分布式共识,还是中心化共识协议?

如图5,Kafka使用的Zookeeper提供的数据状态存储和主节点选举服务。而Zookeeper是依赖于ZAB(一种从Paxos改造的协议)为其提供非拜占庭容错,即ZAB是一种“刘关张”(传统数据库)协议, 属于弱化的区块链。所以Kafka 不能处理拜占庭将军的问题。

主力将股价推上一个台阶之后,该股技术形态造好,市场看好者众,跟风盘如蚂蚁般蜂拥而上,假如主力不想被其蚕食,势必要清除异己分子,使股价在大箱体内反复震荡便是常用的洗筹方式。所谓高位箱体,指股价进入相对高位之后,在一定高价与一定低价区间形成的夹板运行格局。不少个股拉升期都不会毕其功于一役,而是分几步走,先将股价拉上一个台阶,随后便箱形震荡,主力暂时消声匿迹,等待新的拉升契机。

箱体形态多种多样,有的如连绵不绝的大草原,不过高位箱体通常具有以下共同特征:

1、独立性:走势一般脱离大盘,长时间内独来独往,日线图上股价可谓“躲进小楼成一统,管他春夏与秋冬”。

2、重心有所上移:由于该箱体是整理箱体而不是出货箱体,因此整理期间股价走势稳定,箱底处有强烈支撑,多数箱体会以平缓的角度向上倾斜,且最后往往出现一根带量长阳线向上突破箱顶。

3、长期性:箱体是主力“隐姓埋名”的最佳场所,因此往往整理时间较长,一般会超过3个月。

3kemao.com区块链资讯媒体

洗盘结束的信号有两个:

1、突破箱顶,也就是突破整理期间出现的高点,意味着新升浪蓬勃展开。

2、60日均线拐头向上并且股价突破该线,由于一般庄股拉升期都在三个月左右,用季线(60日均线)衡量一波行情的起止较为有效,若60日均线重新抬头,并且股价突破该线,意味着主力已结束“中场休息”,重新振作起来。

赞(0) 打赏

华为系团队打造,不花一分钱,每天躺赚200元
未经允许不得转载:三氪猫数字货币媒体 » 区块链技术几个重要的坑

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏