为什么我处在招募区块链底层技术,什么奖励都没

百倍币,就在它们之中!论底层公链之争音频
区块链世界的焦点之战:底层公链之争在小姐姐新创建的价值投资微信群里,昨晚凌晨的时候,小伙伴们还在热烈的讨论着关于如何布局公链的话题。其中既有不知什么是公链的新群友,也有早已做了全面布局的老群友。说到公链的话题,小姐姐感慨颇多,今天就写一篇关于公链的文章,与所有认同小姐姐投资理念的小伙伴们一起分享,希望帮你就能抓到区块领域未来的谷歌和苹果。底层公链重要性和价值对于目前整个数字货币领域而言,基本是遵循“底层公链 解决方案 项目应用”的发展逻辑。底层公链相当于区块链世界的基础设施,解决方案用来拓展底层公链的性能或为商业应用提供服务支撑。只有在底层公链扎实稳健高效运转的基础上,区块链商业应用才能发展和落地。公链在整个区块链领域的重要性和必要性,由此可见一斑。时至今日,底层公链依然处在非常薄弱的境地,尚且无法实现真正的安全、可靠和高效。这也明显制约着整个区块链产业的发展。2018年区块链产业的竞争焦点在哪里?毫无疑问,我认为一定会是底层公链。各公链项目将在性能、扩展性和应用性几方面继续角力。从大众投资者的角度而言,现在正是布局公链的历史性机遇,如果等到竞争格局已经明朗,胜出者早就飞上了天。而现在,谁会胜出还不并明朗,价格还没飞起来。下面的内容,并非针对某个币种预测和分析,小姐姐更多想从公链的历史和未来进行梳理,让我们从宏观的角度去看清这场公链之争,有怎样的历史意义,又有怎样的投资机遇。公链的发展史我们先从区块链的鼻祖“比特币”说起。比特币目前更多的担任了虚拟货币世界法币的角色,神一般的独特存在着。但严格来说我们已经很难把比特币归结为今天所讨论的底层公链范畴。大家应该了解,比特币所代表的去中心化思维是个伟大的创新,但他的代码层面是非常简单的,仅由256条指令组成。这些脚本实现了极大的公平和稳定性。但遗憾的是,中本聪可能并没有想到比特币有朝一日会让世界陷入如此的疯狂,成长为如此庞大的市值。因此,比特币没有实现图灵完备,只能够支持简单数据的有效传输,不能有足够的效率来支撑其他复杂应用的运行。所以,你无法在比特币上实现更多的功能扩展,同时比特币也暴露出了处理速度慢,手续费高等等问题。在这样的背景下,一位少年天才走上了区块链的历史舞台,试图挑战比特币的权威。他就是V神Vitalik Buterin,以太坊的创始人。这个94年出生的大男孩,在17岁时接触到比特币,由此成为了去中心化的信仰者,之后他创立了《比特币杂志》并逐渐成为区块链领域的意见领袖。出于安全原因,中本聪用了脚本语言编写了比特币底层协议,同时这种语言有意地限制了交易的复杂性,导致比特币一直没有开枝散叶,无法孵化出更多的应用。为此,v神开始构想,如何在比特币上建立一个通用平台,让开发者可以在上面构建自己的应用程序。但是,他的提议,遭到了比特币社区大部分人的反对。最终,他只能另起炉灶,基于比特币改进开发了 “以太坊”。以太坊的出现,改变了整个区块链的运行方式,为此2014年V神还击败扎克伯格获得“世界科技奖”。相比比特币,以太坊最大的改进是支持了“图灵完备”,成为了一个可编程的区块链网络系统。简单而言,以太坊搭建了一套比较完备的操作系统,有点像我们电脑的windows系统,开发者可以自己在以太坊上面搭建属于自己的应用。这样的特点,也就是我们今天要聊的底层公链。这两年艾希欧异常火爆,涌现了几千个区块链项目。其中的绝大部分,都是基于以太坊的智能协议开发出来的。也就是说,它们几乎都是跑在以太坊上面的应用。这些基于以太坊的应用项目,到底和以太坊是怎样的关系呢?开发者在以太坊上运行应用程序时,是需要支付以太币的。基于以太坊开发的项目越多,整个以太坊生态就越丰富,使用者越多,对以太币的需求也就越多。那么,以太币自然会随之升值。所以以太币价格持续走高,成为了区块链时代的最大赢家。信仰者对区块链去中心化最大的痴迷是源自对“公平”的追求。于公链项目而言,如何对“效率”与“公平”进行合理的平衡,一直都是一个充满了哲学意味的选择题。举个例子,记一笔账,以前只需要一个记账员就搞定;而现在为了公平,所有的人都成为记账员,都得拿起笔参与记账。某种意义上,这是牺牲了效率换来了公平。那么谁来成为“记账员”?这又要由区块链的共识机制来决定。比特币的共识机制,是“工作量证明机制”(POW)——谁的算力强,谁就成为记账员。打个比方,所有的人都在干活,谁干的最快,就会成为“记账员”,就能获得比特币的奖励(这过程也就是常说的挖矿)。但这个共识机制,也会存在效率低下的问题,为了公平,每次记账大家都要比赛谁干得快,导致了大量的浪费。V神很早就意识到了这个效率低下的弊端,于是,他的以太坊规定将由“权益证明(POS)”来作为共识机制。所谓的权益证明,有点像拿自己的以太币来做抵押。参与者拿出以太币来质押换取记账权。记对了,拿回以太币并得到奖励。如果记错了,质押的以太币被扣除作为惩罚。这样的话,当然,你投入的以太币越多,记账的机会越多,赚到的以太币也越多。这个共识机制存在的最大弊端,就是贫富差距问题。越富有的人,逐渐会拥有更高比例的币,这岂不是最终成为了富人们的游戏?这不公平,于是,为了建立稳定的数字货币系统,最早期的以太坊还是沿用比特币的工作量证明机制(POW)。为了实现平稳过渡,V神给以太坊设计了几个发展阶段,计划通过硬分叉将以太坊从POW过渡到POS。目前,以太坊已经进化到了第三阶段的第一部分,但由于种种原因,POS的计划还是延后了,目前的以太坊仍然采用的是工作量证明(POW)。现在,我们把比特币称为区块链1.0,它实现高稳定性和公平机制。把以太坊称为区块链2.0,它为区块链产业提供了更广泛的应用空间。尽管今天的以太坊已经尽人皆知,但除了对它共识机制的质疑外,在扩展性和效率方面,以太坊也存在一些问题。以至于至今仍无法让以太坊建立起能够锁定未来的统治地位。目前,我们如果在以太坊上进行一个转账交易,平均需要15秒到几十分钟才能完成,如果遇到以太坊网络拥堵,甚至会需要十几个小时。所以,一款区块链的养猫游戏就让整个以太坊网络造成了拥堵。此外,以太坊上的每个交易,都需要给相关节点一定的转账费(gas),而且这个费用是可以自己调高的,当网络拥堵时,出价高的使用者就可以霸占流量,出价低的使用者则只能苦苦的等待。也正因为以太坊还不是完美的解决方案,后续才会源源不断的出现了公链领域的挑战者。谁会是区块链3.0说到以太坊的挑战者,大家多数会首先想到EOS。EOS的背后站着另外一位大神级的人物Daniel Larimer,人们称他为BM。他是一个天才的程序员,也是一个崇尚自由市场解决方案的怪才。在并不长的数字货币发展史上,大神BM已经为我们创造了3个强大的区块链项目:BitShares(比特股)、Steemit以及EOS。而这三个项目的关键词都是:创新和颠覆。早在2010年7月,BM就在在最专业的比特币论坛bitcointalk上,怒怼了大神中本聪,BM指出:“跟银行相比,比特币的交易确认时间太长了(10分钟一次),而要想变得像刷信用卡那么快,通过改变共识机制就可以实现。”并预言比特币未来会出现手续费高,支付慢等问题。后来这些问题果然一一得到了印证。而当2014年以太坊刚刚开始众筹时,BM就当着V神的面指出,“将来,以太坊会遇到扩容性和效率的问题。” 但这些意见当时并没有受到人们的重视。之后,BM成立了自己的石墨烯底层技术公司,并先后创立两个市值排进TOP30的垂直应用项目“BitShares”和“Steemit”。这两个项目虽然没有得到他理想中的完美结果,但也为BM积累了大量的经验,多年的运行也让石墨烯的技术可行性得到了实际验证。2017年,BM推出了自己攻克王座的核武器——EOS。EOS的目标只有一个——取代以太坊。EOS是要做区块链行业的操作系统,为开放者提供底层功能,包括并行运算、数据库、账户系统等。如何做到取代以太坊?很显然,EOS必须比以太坊更快、更便宜。在“效率”与“公平”的权衡问题上,EOS更多的选择了“效率”。首先需要从改变共识机制入手,和以太坊的“权益证明”机制不同,BM提出了一个全新的共识机制:“委托授权证明机制”(DPOS)。举个例子,如果以太坊是权益质押制,那么EOS就是议会制——我可以指派一个人来行使我的“投票权”。通过实施科技式的民主以抵消中心化所带来的负面效应,同时,实现了更高的效率。但对于DPOS的批评从诞生之日起也从没停止过。EOS计划中的每秒百万级别运算处理能力,只通过全球的几十个超级运算节点的集中记账来实现。这种方式,更像是一种中心化的模式,这是否会违背去中心化的初衷?从EOS诞生之日起,这个争论就从未停止过。凭借BM的个人影响力和描绘中的超高运算能力,EOS已经在全球形成了巨大的影响力和粉丝效应,甚至是宗教般的狂热信仰。但EOS毕竟只是一个开发中的项目,目前尚处在持续一年的众筹中,无论是争议还是追捧,都需要等到18年6月主网上线后,才能逐渐明朗。共识机制公链之争的焦点,其实很大程度上是集中于共识机制的。比特币的工作量证明机制,实现了完全的公平,但极大的牺牲了效率。后来其他的共识机制显著提升了效率的同时,也不同程度上牺牲了公平性。可能并不存在绝对完美的底层公链实现方案,无论我们单独拿出任何一种共识机制,都有理由被挑战和质疑。现在每个公链所做的选择,都是为了达到自己认为的理想平衡点。谁能顺应发展的进程,更接近这个平衡点,在这场公链之争中,谁就会更有胜出的可能。不管是V神还是BM,他们都在寻找自己心中“效率”与“公平”的平衡点。未来的共识机制,并不是一个简单的理论就能涵盖的,会变得越来越复杂。另一方面,这场公链之争如果没有哪一方能占据绝对的统治地位,也可能会出现几个最具比较优势的公链并存的格局。最激烈的阵地,最惨烈的竞争2018年,在公链争夺这场战争中,除了这两位大神,还云集了众多世界上最聪明的头脑,都想抢占未来,争夺未来世界领袖角色。如果真的成为公链的领袖意味着什么?未来的世界,将是建立在去中心化趋势中的,谁能用自己的底层架构支撑这个世界的运转,他不仅将积累海量的用户,还能挖掘到世界上最大的财富宝藏,取之不尽,用之不竭。数千个各领域的商业应用项目也正因为底层基础的薄弱,还只能停留在对未来的预期之中,无法落地。各种理念的挑战者都正在加入到这场竞争之中。Cardano、Zilliqa和EOS等希望通过不同的技术来增加主链网络的吞吐量。Aelf和Dfinity通过云计算来提高区块的处理效率。AION和Polkadot主打跨链,通过在各条链间建立信息高速公路实现大连通。Aeternity、小蚁和本体等则希望通过底层预言技术和共识机制的颠覆,来构建全新的生态系统。这场主链的抢夺战,终局如何?其中,可能会诞生一家苹果或谷歌,也有可能突然杀出一匹黑马,击败所有的玩家。这是一个充满未知,但无限可能的时代。审视公链进展的几个维度现有的底层公链,想要突围成功,需要争分夺秒解决以下几个层面的问题:1.网络容量扩展问题:现有的区块链网络在转账速度、出块时间、吞吐能力,系统高并发、容错性、稳定性等方面仍被严重制约,离大规模商业应用(如银行、证券交易所的交易吞吐量),尚有很长的路要走。2.共识机制问题:现有的区块链系统中,任何转账都需要网络中所有的节点达成共识,不同的共识机制会决定出块速度,也对网络扩容产生影响。目前的各类共识机制(POW/POS/DPOS/DBFT等),各有特点,但都不完善。3.分布式存储问题:目前区块容量小,导致网络拥堵,大量的区块数据存到哪里,如何存储,如何高效存储是难点。4.系统安全性问题:频发的黑客事件已成为整个行业的阴霾,公链本身的安全性,漏洞修复能力将是一个突出问题。我们在投资过程中,可以根据上述几个层面对公链项目的进展做出考量和判断。底层公链投资建议听完对公链竞争格局的分析。大家是否已经清晰该如何去制定自己的投资策略了呢?对于基础公链投资机会的把握,小姐姐分享一些思维方式层面的建议:一、投资视角一定要放大。首先需要站在区块链行业宏观层面上来理解公链项目对于整个行业的价值基础和实现预期。这样即使我们的投资选择出现误差,偏差也一定不会大,只要格局足够大,我们就不会错失掉这个历史性投资机遇。尽量避免对公链币短期价格波动的关注,它会影响你对长期价值的审视和判断。币价的短期波动更多是被非常复杂的外在因素所影响的,包括:整体的牛熊趋势、消息面、政策面、庄家控盘等等。上文中,小姐姐刻意没有太多讲述短期价格波动,短期消息等等的细节问题,目的就是引导大家一定要把格局放大。尽量站在行业角度甚至是历史的角度去审视底层公链。二、把公链视为长期投资品对于短期投机者来说,公链可能并非是好选择,它属于投资周期较长的品类。但如果像小姐姐一样,视区块链为趋势和信仰,就会很高比例的布局底层公链,并且一定不要轻易下车。无论最终哪个公链项目成功了,都很难是一蹴而就的,中间都可能经历很长时间和很多波折,需要耐心的等待。当然,建仓的时机很重要。市场不稳时,不要心急,逢低建仓,避免急躁导致高位建仓。真正的价值投资者,从不追高,只有当资产的价格被低估时,尤其是市场恐慌绝望时,才是最好的投资机会。在最低点梭哈抄底,基本属于妄想,更科学的方式是,控制好仓位,大跌大买,小跌小买。别人拼命往外跑的时候,我们就往里冲。在趋势明朗向上时,就千万别犹豫,上车是最重要的事。最最重要的是,买完就别再轻易卖了。你投资的是公链,并不是空气币,所以不用天天看盘,坚决不要短线操作。可以经常提醒自己投资的是未来,给自己制定好纪律,除非环境发生急剧变化,否则不到三年不撒手。请注意以上建议仅适用于底层公链项目。三、该用多大的比例去配置公链。这与自己的投资偏好有直接的关系。配置公链的整体风险会小于其他币种,长期来看最能分享到整个行业的红利。如果并不明确看好某一个,建议几个主流公链都配置适当一些,根据看好的程度决定具体分配比例。小姐姐以前做天使投资时,有个百试不爽的方法。当看好一个领域,但面对几个头部团队,拿不定主意时,就分散来投资,每个团队都投一些。只要能把最终胜利的那个押到了,即使份额不太高,最终的收益也很惊人。现有的几个公链项目已经具备了明显的先发优势,最终的胜利者大概率会在它们几个之中产生。但也要注意,现在的大多数公链可能会在几年内逐步掉队,发现掉队趋势明显时,及时退出来就好,最终的结果就交给时间去印证吧。今天关于公链的话题分享就到这里,希望听完这篇文章,大家能够站在更高的视角上审视公链的投资价值。以后有机会会为大家具体分享一下我对EOS、NEO等这些热点公链项目的具体看法。最近小姐姐的公众号粉丝增长太迅猛,对于大家的认可,小姐姐在此表示感谢。对于大家微信群里关心和讨论的话题,我也会优先写成文章,在公号里分享给大家。
内容来源:全球大搜罗
版权声明:本文仅为传播消息之用,不代表币源社区立场,文章不构成投资建议。如需转载,请务必注明文章原作者以及来源,部分图片来源于网络,我们尊重版权,如有疑问敬请联系,我们将核实并删除。
商务合作 QQ:
币源总群 QQ:
币源官方微博:@币源社区
币源官方电报:
文章投稿邮箱:
All Rights Reserved.
京ICP备号-1
Powered by 北京币源网络科技发展有限公司到底什么是「区块链」?这么一解释你就明白了
招聘信息:
知乎用户,一颗匠心特别提醒:比特币采用区块链技术,但是区块链并不等同于比特币;全篇基于比特币底层区块链技术讲述,所以,部分模型可能不适用于以太坊等。另外,由于文章采用了一定的抽象、类举的叙事方式,中间或多或少有些地方会跟区块链底层严谨的技术实现有出入,如果让你觉得困惑,可以在评论下方留言或者私信我一起探讨。最后,也是受限于自己知识结构的不完整,这篇文章会随着我对区块链更深入认识后,随时进行修订,最后更新时间可参考该回答下方的时间戳。---首先不要把区块链想的过于高深,他是一个分布在全球各地、能够协同运转的数据库存储系统,区别于传统数据库运作——读写权限掌握在一个公司或者一个集权手上(中心化的特征),区块链认为,任何有能力架设服务器的人都可以参与其中。来自全球各地的掘金者在当地部署了自己的服务器,并连接到区块链网络中,成为这个分布式数据库存储系统中的一个节点;一旦加入,该节点享有同其他所有节点完全一样的权利与义务(去中心化、分布式的特征)。与此同时,对于在区块链上开展服务的人,可以往这个系统中的任意的节点进行读写操作,最后全世界所有节点会根据某种机制的完成一次又依次的同步,从而实现在区块链网络中所有节点的数据完全一致。问题的由来我们反复提到区块链是一个去中心化的系统,确实,「去中心化」在区块链世界里面是一个很重要的概念,很多模型(比如账本的维护、货币的发行、时间戳的设计、网络的维护、节点间的竞争等等等等)的设计都依赖于这个中心思想,那到底什么是去中心化呢?在解释真正去中心化之前,我们还是先简单了解下什么是中心化吧。中心化?回忆一下你在网上购买一本书的流程:第一步,你下单并把钱打给支付宝;第二步,支付宝收款后通知卖家可以发货了;第三步,卖家收到支付宝通知之后给你发货;第四步,你收到书之后,觉得满意,在支付宝上选择确认收货;第五步,支付宝收到通知,把款项打给卖家。流程结束。你会发现,虽然你是在跟卖家做交易,但是,所有的关键流程都是在跟支付宝打交道。这样的好处在于:万一哪个环节出问题,卖家和买家都可以通过支付宝寻求帮助,让支付宝做出仲裁。这就是一个最简单的基于中心化思维构建的交易模型,它的价值显著,就是建立权威,通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全。你一定会摆出一个巨大的问号脸 ⊙.⊙?——“通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全”,真的可以嘛?!假如说,支付宝程序发生重大 BUG,导致一段时间内的转账记录全部丢失,或者更彻底一点,支付宝的服务器被金三胖的一个导弹全部炸毁了。而我刚刚转出去的 100 元找谁说理去,这个时候,你就成了刀殂上的鱼肉;支付宝有良心,会勉为其难承认你刚刚转账的事实,但他不承认你也没辙,因为确实连他自己也不知道这笔转账是否真实存在。上述就是中心化最大的弊端——过分依赖中心和权威,也就意味着逐渐丧失自己的话语权。去中心化?那么去中心化的形态是什么样子呢?还是拿刚才那个例子继续,我们构建一个极简的去中心化的交易系统,看看我们是如何在网络上从不认识的卖家手里买到一本书的。第一步,你下单并把钱打给卖家;第二步,你将这条转账信息记录在自己账本上;第三步,你将这条转账信息广播出去;第四步,卖家和支付宝在收到你的转账信息之后,在他们自己的账本上分别记录;第五步,卖家发货,同时将发货的事实记录在自己的账本上;第六步,卖家把这条事实记录广播出去;第七步,你和支付宝收到这条事实记录,在自己的账本上分别记录;第八步,你收到书籍。至此,交易流程走完。刚才“人为刀俎我为鱼肉”的情况在这个体系下就比较难发生,因为所有人的账本上都有着完全一样的交易记录,支付宝的账本服务器坏了,对不起卖家的账本还存在,我的账本还存在;这些都是这笔交易真实发生的铁证。当然,在这套极简的交易系统中,你已经发现了诸多漏洞和不理解,比如说三方当中有一个是坏人,他故意记录了对他更有利的转账信息怎么办;又比如说消息在传递过程中被黑客篡改了怎么办等等等等。这在以往的计算机概论或者计算机网络书本上中可能都有提及到——“类两军”和“拜占庭将军”问题。这里就不打算赘述,因为暂时跟主线不相关,感兴趣的同学可以去 Google 或者百度一下,你只需要知道,在我们下面即将展开讲到的区块链系统中,通过巧妙的设计,足以解决上述存在的 BUG。既然话已说到这份上,相信了解一点技术、特别是有运维背景的同学大概能够从极简交易系统中窥视到了更多区块链的一些影子——分布式存储,通过多地备份,制造数据冗余让所有人都有能力都去维护共同一份数据库让所有人都有能力彼此监督维护数据库的行为在我看来,你猜测的基本上没错。其实这些就是区块链技术最核心的东西,外人看起来高大上、深不可测,但探究其根本发现就是这么简单和淳朴。当然,这里面肯定会有很多很多很多细枝末节的技术需要重构。如果你差不多认同上面的观点,那我们应该基本上可以达成共识,分布式部署肯定是构建去中心化网络理所当然的解决方向——通过 P2P 协议将全世界所有节点计算机彼此相互连接,形成一张密密麻麻的网络;以巧妙的机制,通过节点之间的交易数据同步来保证全球计算机节点的数据共享和一致。哈哈,说的轻巧,“交易数据这么重要的东西,在一个完全不信任的 P2P 网络节点中以一种错综复杂的方式传递,数据的一致性和安全性谁来保证,如果说互相监督,他们到底怎么做到?”好了,不卖关子了,下面让我们围绕这个最最最最直接的问题开始进入到真正区块链的世界,抽丝剥茧看看它到底是如何一步一步形成的,又是如何一步一步稳定运转。从全球节点到交易数据这张图的制作的意义为的是帮助你在宏观上先快速理解区块链中所涉及到的相关名词以及他们的层级关系。同时,文章的知识结构和设计思路也大抵上也会按照:首先,将区块作为最小单位体,讲述极简区块链系统是如何运转的;接着,进入到比区块更小单位体——交易记录,理解区块链是如何处理数据的;最后,将所有知识点柔和在一起,重回到区块和区块链,完整讲述整个工作流程。希望你在这个引导和结构下有一个比较好的阅读体验。Let's go~区块,混沌世界的起源既然已经达成共识,所以,我们事先构建好了一个去中心化的 P2P 网络;同时,为了让读者朋友们听起来更轻松,我先粗暴的规定在这个极简的区块链系统里,每十分钟有且仅产生一笔交易。故事继续,在节点的视野里,大概每十分钟会凭空产生一个建立在自己平行宇宙世界的神奇区块(你可以将区块想象为一个盒子),这个区块里放着一些数字货币以及一张小纸条,小纸条上记录了这十分钟内产生的那唯一一笔交易信息,比如说——“小 A 转账给了小 B100 元”;当然,这段信息肯定是被加密处理过的,为的就是保证只有小 A 和小 B(通过他们手上的钥匙)才有能力解读里面真正的内容。这个神奇的区块被创造出来之后,很快被埋在了地底下,至于埋在哪里?没有一个人不知道,需要所有计算机节点一起参与进来掘地三尺后才有可能找到(找到一个有效的工作量证明)。显然,这是一件工作量巨大、成果随机的事件。但是呢,对于计算机节点来说,一旦从地底下挖出这个区块,他将获得区块内价值不菲的数字货币,以及“小 A 转账给了小 B100 元”过程中小 A 所支付的小费。同时,对于这个节点来说,也只有他才有权利真正记录小纸条里的内容,这是一份荣耀,而其他节点相当于只能使用它的复制品,一个已经没有数字货币加持的副本。当然这个神奇的区块还有一些其他很特别的地方,后面我们会再细细聊。为了更好的描述,我们将计算机节点从地底下挖出区块的过程叫做「挖矿」,刚才说了,这是一件工作量巨大、运气成分较多、但收益丰厚的事儿。过了一会儿,来自中国上海浦东新区张衡路上的一个节点突然跳出来很兴奋的说:“ 我挖到区块了!里面的小纸条都是有效的!奖励归我!” 。虽然此刻张衡路节点已经拿到了数字货币,但对于其他计算机节点来说,因为这里面还涉及到其他一些利益瓜葛,他们不会选择默认相信张衡路节点所说的话;基于陌生节点彼此不信任的原则,他们拿过张衡路节点所谓挖到的区块(副本),开始校验区块内的小纸条信息是否真实有效等等。在区块链世界里,节点们正是通过校验小纸条信息的准确性,或间接或直接判断成功挖出区块的节点是否撒谎。(如何定义小纸条信息真实有效,后面会讲解,这里暂不做赘述)。在校验过程中,各个节点们会直接通过下面两个行为表达自己对张衡路节点的认同(准确无误)和态度:停止已经进行了一半甚至 80%的挖矿进程;将张衡路节点成功挖出的区块(副本)追加到自己区块链的末尾。你可以稍微有点困惑:停止可能已经执行了 80%的挖矿行为,那之前 80%的工作不是就白做了嘛?!然后,区块链的末尾又是个什么鬼东西?对于第一个困惑。我想说,你说的一点没错,但是没办法,现实就是这么残酷,即便工作做了 80%,那也得放弃,这 80%的工作劳苦几乎可以视为无用功,绝对的伤财劳众。第二个困惑,区块链和区块链的末尾是什么鬼?这里因为事先并没有讲清楚,但是你可以简单想象一下:区块是周期性不断的产生和不断的被挖出来,一个计算机节点可能事先已经执行了 N 次“从别人手上拿过区块 -> 校验小纸条有效性”的流程,肯定在自己的节点上早已经存放了 N 个区块,这些区块会按照时间顺序整齐的一字排列成为一个链状。没错,这个链条,就是你一直以来认为的那个区块链。如果你还是不能够理解,没关系,文章后面还会有很多次机会深入研究。走进区块内,探索消息的本质上面我们构建了一个最简单的区块链世界的模型,相信大多数同学都已经轻松掌握了。但是别骄傲也别着急,这还只是一些皮毛中的皮毛,坐好,下面我们准备开车了。前面我们说到“大概每十分钟会凭空产生一个神奇的区块,这个区块里放了一张小纸条,上面记录了这十分钟内产生的这唯一一笔交易信息”。显然,十分钟内产生的交易肯定远不止一条,可能是上万条,这上万条数据在区块链世界是如何组织和处理的呢?另外,为什么在纸条上记录的只是某一次的交易信息,而不是某一个人的余额?余额好像更符合我们现实世界的理解才对。既然存在这样那样的疑问。现在我们就把视线暂时从“区块”、“区块链”这些看起来似乎较大实体的物质中移开,进入到区块内更微观的世界里一探究竟,看看小纸条到底是怎么一回事,它的产生以及它终其一生的使命:发起交易的时候,发起人会收到一张小纸条,他需要将交易记录比如说“盗盗转账给张三 40 元”写在纸上。说来也神奇,当写完的那一刹那,在小纸条的背面会自动将这段交易记录格式化成至少包含了“输入值”和“输出值”这两个重要字段;“输入值”用于记录数字货币的有效来源,“输出值”记录着数字货币发往的对象。刚刚创建的小纸条立马被标记成为“未确认”的小纸条。从地下成功挖出区块并最终连接到区块链里的小纸条一开始会被标记为“有效”。若这条有效的小纸条作为其他交易的输入值被使用,那么,这个有效的小纸条很快会被标记为“无效”。因为各种原因,区块从链上断开、丢弃,曾经这个区块内被标记为“有效”的小纸条会被重新标记为“未确认”。区块链里面没有账户余额的概念,你真正拥有的数字资产实际上是一段交易信息;通过简单的加减法运算获知你数字钱包里的余额。上面的 1、2、3 仅仅作为结论一开始强行灌输给你的知识点,其中有几个描述可能会有点绕,让你觉得云里雾里,没有关系,因为我们立刻、马上就开始会细说里面的细枝末节。上图就是从无数打包进区块内的小纸条中,抽取出来的一张,以及它最终被格式化后的缩影。单看右侧的图可能很容易产生误会,虽然看起来有多行,但实际上就是“盗盗转账给张三 40 个比特币”这一条交易数据另外的一种呈现形态。因为区块链世界里面这么规定,每一条交易记录,必须有能力追溯到交易发起者 发起这笔交易、其中所涉及金额的上一笔全部交易信息;即这笔钱从何而来的问题。这其实很容易理解,在去中心化的网络中,通过建立交易链、和通过交易链上的可溯源性间接保证数据安全和有效。我们继续看,在区块链世界里,我们是如何仅通过“盗盗转账给张三 40 个比特币” 这条交易信息完成转账流程的。其实跟现实中你在路边买一个包子的流程大抵上相同。第一步:判断是否有足够的余额完成交易这里我们再一次重申,区块链世界是没有余额的概念,余额是通过简单数字的加减最终获得,你拥有所谓的数字货币实际上是因为你拥一条交易记录,即 “盗盗转账给张三 40 个比特币”!这里,我们还是拿这条记录说事:追溯“输出值”是“盗盗”相关的全部有效交易记录作为,对有效交易中的数字进行简单求和,判断是否大于等于 40,如果确实大于等于,则将这些有效的交易记录合并形成一条新的交易记录(如下图)。如果小于 40,其实可以不需要再继续往下探讨。就上图的例子,我们追溯到曾经转账给盗盗的有效交易记录有“小 A 转账给盗盗 10 btc”、“小 B 转账给盗盗 20 btc”、“小 C 转账给盗盗 25 btc”,我们需要将这三条交易记录合并成一条更复杂描述的交易记录,即 “( 小 A 转账给盗盗 10 btc + 小 B 转账给盗盗 20 btc + 小 C 转账给盗盗 25 btc ) 转账给张三 40 btc ”第二步:判断是否需要找零对追溯到的有效交易数字求和,如果发现大于需要支付的金额,需要将多出的数字重新支付给自己,相当于找零。对应生成了一条全新的交易记录(如下图)。就上图例子来说,我们最后合并成的交易记录 “( 小 A 转账给盗盗 10 btc + 小 B 转账给盗盗 20 btc + 小 C 转账给盗盗 25 btc + 盗盗转账给盗盗 15 btc ) 转账给张三 40 btc ” 事实上等同于“盗盗转账给张三 40 btc”。其中“盗盗转账给盗盗 15 btc”就可以理解找零。第三步:发出去,让全球节点认同和备份小纸条这条内部重新处理过的复杂交易记录被塞进区块,埋到地下,等待节点挖出来,一旦区块被挖矿成功,并且该区块最终被连在了区块链的主链上。张三将最终拥有了这条交易记录,而先前的“小 A 转账给盗盗 10 btc” 、“小 B 转账给盗盗 20 btc” 、“小 C 转账给盗盗 25 btc”都将被视为已经使用过的交易记录——从此被贴上“无效”的标签,意味着这些交易记录将永远不会再被追溯到。我们最后一次重申,只是希望让你加深印象:拥有数字货币=拥有交易记录!通过设计巧妙的精巧密码学保证数据安全记录着交易信息的小纸条借助区块这个载体,在分布式的网络中以不同的轨迹错综复杂的传递,我们前面说了,你真正拥有的数字资产实际上是一段交易信息,而不是你常规意义上理解的货币。所以这个过程就需要重点解决两个问题:接受到的这条交易记录在传输过程没有被其他人所篡改接受到的这条交易记录确实是由发起交易的人所创造在这里,我们需要事先引入两个知识点,可能稍微有点难消化,但都是计算机领域较为成熟的和基础的概念。第一个知识点:Hash()函数。你只需要知道,任意长度的字符串、甚至文件体本身经过 Hash 函数工厂的加工,都会输出一个固定长度的字符串;同时,输入的字符串或者文件稍微做一丢丢的改动,Hash() 函数给出的输出结果都将发生翻天覆地的改变。注意,Hash()函数是公开的,任何人都能使用。第二个知识点:非对称加密。你也只需要了解,任何人手里都有两把钥匙,其中一把只有自己知道,叫做“私钥”,以及一把可以公布于众,叫做“公钥”;通过私钥加密的信息,必须通过公钥才能解密,连自己的私钥也无解。公钥可以通过私钥生成多把。有了这些知识点的加持,上面两个问题开始变得有解。下面我们来看下内部是如何扭转和工作的吧,这里拿“小 A 转账给了小 B 100 元钱” 举例:第一步:小 A 会先用 Hash 函数对自己的小纸条进行处理,得到一个固定长度的字符串,这个字符串就等价于这张小纸条。第二步:小 A 使用只有自己知道的那一把私钥,对上面固定长度的字符串进行再加密,生成一份名叫数字签名的字符串,这份数字签名能够充分证明是基于这张小纸条的。你可以这么理解,在现实中,你需要对某一份合同的签署,万一有人拿你曾经在其他地方留下的签名复制粘贴过来怎么办?!最好的办法,就是在你每一次签名的时候,故意在字迹当中留下一些同这份合同存在某种信息关联的小细节,通过对小细节的观察可以知道这个签名有没有被移花接木。步骤一和步骤二的结合就是为了生成这样一份有且仅针对这条小纸条有效的签名。第三步:小 A 将「明文的小纸条」、刚刚加密成功的「数字签名」,以及自己那把可以公布于众的「公钥」打包一起发给小 B。第四步:当小 B 收这三样东西,首先会将明文的小纸条进行 Hash()处理,得到一个字符串,我们将其命名为“字符串 1”。然后,小 B 使用小 A 公布的公钥,对发过来的数字签名进行解密,得到另外一个“字符串 2”。通过比对“字符串 1”和“字符串 2”的一致性,便可充分证明:小 B 接受到的小纸条就是小 A 发出来的小纸条,这张小纸条在中途没有被其他人所篡改;且这张小纸条确实是由小 A 所编辑。可以看得出来,加解密的过程几乎是一环套一环,中途任何环节被篡改,结果都是大相径庭。借助这一连串的机制,其实已经能够很好的在公开、匿名、彼此不信任的分布式网络环境中解决数字交易过程中可能遇到的很多问题。这个环节可能确实有点难理解,现在,我需要你停下来,静下心,花上几分钟闭目慢慢回味其中设计精湛的地方。掌握了这部分知识以后,我们在这里回答一下前面没有解释清楚的问题,「节点对区块的检验」检验的到底是什么?实际上就是:检验区块内的交易记录签名是否准确(是否被篡改)检验区块内的交易记录输入值是否“有效”(是否使用过)检验区块内的交易记录输入值的数字之和是否大于等于输出值的数字…重回“区块”和“区块链”的世界好了,对小纸条和交易记录的研究我们点到为止,其实信息量已经是巨大的了,让我们合上盖子,重回较大实体、继续聊聊“区块”和“区块链”的话题。还记得,咱们在一开始讲到关于区块的特征吗?区块创造后被埋在地下,需要经过节点们马不停蹄的挖采、而且是凭运气的挖采才有可能获得——不仅仅如此,事实上他还有其他很多神奇的地方,比如说:凭空产生的区块在刚刚创建的时候会形成一股强大的黑洞效应,它会尝试将这段时间全世界各个节点上产生的所有小纸条(交易记录)统统吸进来;在合上区块盖子之前,同时会在区块内放上一些数字货币以及其他一些东西。区块拥有一个唯一的 ID,但它只会在这个区块被节点成功从地下挖出来之后创建。这个 ID 至少会跟「区块内所有小纸条的集合」、「即将与之相连的上一个区块 ID」以及「挖矿节点的运气值」等因素相关。既然前面我们已经简单了解了“Hash()函数”这个东西,这里不妨透露给大家:“区块 ID = Hash(‘区块内所有小纸条的集合’+’即将与之相连的上一个区块 ID’+‘挖矿节点的运气值’+’…’)” ;基于先前掌握的知识,然后你应该知道区块内任意一张小纸条的信息稍微做改动、或者节点挖矿运气好一点坏一点等等,当前区块的 ID 都会 “ biu~ ”的发生改变。基于上述 1、2 点,如果阅读足够仔细的同学可能会有些头大。在文章开头为了更好的描述,我在设计简化区块链系统的时候故意模棱两可了几个概念,这也许已经误导到了部分同学。这里不得不停下来和你一起修正下之前在你大脑中已经构建的区块链世界观。我们前面讲道,“在节点的视野里,大概每十分钟会凭空产生一个建立在自己平行宇宙世界的神奇区块”。如何正确去理解这句话呢?——拥有上帝之眼的你,可以这么拆解问题、看待问题:同一个周期内,全网并不是产生唯一的一个区块等待挖掘;每个节点事实上都在周期性的创造区块和挖出区块;只是在某一个节点的视野里,它不能感知到另外一个节点上区块的产生。为何这里要特别强调“在某一个节点的视野里”,就是因为我们刚刚讲到,从区块的视角来说,区块的凭空产生,是基于即将与之相连的上一个区块 ID;而从节点的视角来看,区块的凭空产生是基于当前节点区块链末尾的那个区块 ID 产生的。全网会尽力控制在一个周期内只有一个节点能够成功挖出区块,但是不能够完全避免多个节点同时挖出区块的可能性;如何尽力控制?比如说,当大伙挖矿的热情高涨、工作效率提高,区块会被埋在更深更广的地方等。简而言之,通过提高工作难度,来维持这个平衡。另外,值得注意的:产生区块、挖出区块、校验区块,他们的时间周期近乎相同。挖矿,本质是通过与或运算,去碰撞一个出一个满足规则的随机数。这个部分要细讲的话,估计又可以写出两三千字来。我觉得到目前为止,并不影响主轴知识点的讲解,这一块会作为后续知识结构的完善被撰写(计划 1 月 24 日前完成)。感兴趣的同学可以 Google 百度查阅下什么叫“挖矿”、“工作量证明 POW”等。分叉现在,我们终于对“区块”这个概念有了更全面的认识,文章开头讲的故事就可以继续展开来絮叨絮叨:假如几乎同一时间,「中国上海浦东新区张衡路」上的节点和「美国纽约曼哈顿第五大道」上的节点异口同声喊出来:“我挖到区块了!里面的小纸条都是有效的!奖励归我!”。其他节点也几乎同时参与了对这两个区块的校验,结果发现这俩都没毛病,各节点也开始犯困,因为在他们的视野里他们并不清楚最后哪一个区块应该会被主链接纳。算了!都连在自己区块链尾巴上吧,这时尴尬了,区块链硬生生的被分叉了!你肯定在想,那还得了,这种情况继续下去,每个节点的区块以及他们整理维护的小纸条都将变得不一样,这已经严重违背了区块链世界里第一大最基本原则——所有节点共同维护同一份数据。所以,为了解决这个问题,区块链世界引入了一条新的规则——拥有最多区块的支链将是真正被认可有价值的,较短的支链将会被直接 Kill 掉。我们大伙都知道挖矿的过程存在巨大的工作量(如果没有任何难度,把区块扔在人群中,必然同一时间发现区块的节点数量将大大增加,也就会产生无数的支链,通过这个例子,你大概也就能够明白,区块链世界为什么需要设置工作难度了吧),并且在计算机的硅基世界里,不可能出现所谓 “同时” 的概念,哪怕纳秒的差别,那也总是会有先后顺序。所以理论上,“分叉”的这种僵局很快会在下一个区块被挖掘出来(以及校验区块)的时候被打破,实在不行下下个,或者下下下个……总之机制可以让整个分叉的区块链世界迅速稳定下来。“分叉”这种僵局在确认下一个区块(以及校验小纸条)的时候被打破,从而整个区块链世界迅速稳定下来就上图而言,所有基于张衡路节点挖矿获得的区块以及后续区块的那条分支被视为有价值,最终会全部保留了下来;其他节点会统一效仿那个拥有更长分支链的节点所做的决策。另外,值得一提的是,同一时间,较短分支上的区块会立即丢弃,而里面的小纸条也会随之释放出来,被重新标记上“未确认”。“双花”与“51% 攻击”你可能已经开始困惑或者有点兴奋,末尾几个区块的排序在修复过程中,因为时间差肯定会产生一些模棱两可的地方,这往往会给数据安全埋下一颗雷。一个最简单的假设——我记录的一张小纸条很不巧地被归在了一条较短的支链上,这条支链在竞争过程中理所当然输掉了比赛,区块被丢弃、小纸条被无情的贴上“未确认”的标签。在等待下次区块重新确认的过程中,这个时间差内,我,好像、似乎可以做点什么坏事 ?(ˉ﹃ˉ?) ,就比如说“双花”(双花,花两次,双重支付的意思)你脑海中也许很快浮过的这样的构想,可不可能通过下面这种方法触发双花问题的产生,从而让我不劳而获:假设有一个名叫 X-Man 的坏家伙,他控制了一个计算机节点,这个节点拥有比地球上任何一个节点算力都强大的计算机集群。首先,X-Man 事先创造了一条独立的(不去广而告之)、含有比较多区块的链条。其中一个区块里放着“X-Man 转账给 X-Man 1000 元”的纸条。接着,X-Man 跟张三购买了一部手机,他在小纸条上记录下“X-Man 转账给张三 1000 元”;这条信息被三次确认后(即三个区块被真实挖出、校验和连接),然后,张三把手机给了 X-Man。X-Man 拿到手机之后,按下机房的开关,试图将先前已经创造的区块链条连接在自己这个节点区块链的末尾。大功告成,X-Man 拥有了一条更长的区块链条,那些较短、存放着“X-Man 转账给张三 1000 元”的区块链,以及在区块链世界里那则真实转账行为被一同成功销毁。(?)事实真的如此吗?在这里我可以很负责任的说,too young too simple,区块链世界规则的制定远比我们想象的要健全很多,还记得我们之前讲的“区块的 ID 至少会跟区块内所有小纸条的集合、即将与之相连的上一个区块 ID 以及挖矿节点的运气值等因素相关”。 在这里,正是因为打算连接到主链的时候,事先准备的链子会意识到马上要连接上的那个区块 ID 发生了改变,随之而来的是后面所有区块 ID 都瞬间。节点不得不重新对后续区块的解锁以及对区块内小纸条的校验。在区块链的世界,重新计算的行为等同于把自己(节点)置身于同一个起跑线,跟世界上其他所有的节点一同竞争挖矿。你会说,我拥有更强大的计算能力,但是对不起,跟你竞争的对象并不是第五大道、南京西路、香榭丽舍大道上的某一个节点,而是全球所有算力的集合,在这个集合中,你拥有的算力永远都只是一个很小的子集。所以,根据区块链算力民主、少数服从多数的基本原则,这个构想将永远不会成立。除非....你控制着全球 51%的算力,这也就是区块链世界里另外一个著名的概念,叫做“51% 攻击”,但这也仅仅是一个理论值,在真实世界里这样的攻击我个人觉得是很难发动起来的,这里面就牵涉到很多经济、哲学甚至政治的因素。举个最简单的例子:X-Man 为了回滚刚刚发生的一笔交易记录,成功发起了 51% 攻击,这意味着很快整个区块链系统将会崩盘,因为这次攻击已经严重伤害到人们对这套系统的信任,接着比特币开始暴跌至几乎一文不值;但是这个拥有 51% 算力的 X-Man 原本完完全全可以通过挖矿的方式获取更多收益,购买无数的 iPhone 手机。那他不是脑袋不是坏了还能是啥?对 51% 攻击话题感兴趣的同学可以阅读这篇文章《》。至此,我觉得区块链最基础、最核心的知识已经全部讲完了(除了挖矿内部实现原理,作为一个遗憾留在这里,有时间会完善掉),相信你已经对它有了一个宏观的认识。另外,由于这篇文章采用了适当抽象、类举的叙事方式,中间或多或少有些地方会跟区块链底层严谨的技术实现有出入,欢迎大家来纠错。另外,也是受限于自己知识结构的缺失,这篇文章会随着我对区块链更深入认识后,随时进行修订,最后更新时间可参考该回答下方的时间戳。--问答部分去中心化的系统中,到底是谁在发行货币?是无限量发行吗?比特币的货币是通过挖矿(工作量证明)来发行的,总数量是通过程序写死了 2100 万个,而第一笔区块奖励也是硬编码写死的。矿工挖出一个区块所获得的奖励,每隔 21 万个区块将减少一半,按照平均 10 分钟挖出一个区块的执行效率,也就就说差不多每四年会锐减一次。2009 年 1 月起每个区块奖励 50 个比特币,2012 年 11 月减半为每个区块 25 个比特币,2016 年 7 月减半为 12.5 个比特币。基于这个规则,到 2140 年,所有比特币(20,999,999,980)将全部发行完毕,之后不会再有新的比特币产生。矿工节点的收益除了挖出区块以外还有哪些?矿工节点的收益主要由两部分组成:1)挖出新区块的奖励;2)挖出新区块内所含交易的交易费。但就目前来说,一个区块内的交易费大概只占到矿工总收入的 0.5%甚至更少,大部分收益主要还是来自于挖矿所得的比特币奖励。然而,随着挖矿奖励的递减,以及每个区块中包含的交易数量增加,交易费在矿工收益中所占的比重将会逐渐增加。在 2140 年之后,所有的矿工收益将完全由交易费构成。参考中心化与去中心化 图说区块链 区块链是什么,如何简单易懂地介绍区块链? 什么是比特币 51%攻击? 区块链与新经济:数字货币 2.0 时代 詳解比特幣原理和運行機制 区块链是什么:从技术架构到哲学核心 区块链核心算法解析 深入理解比特幣的安全性及程式交易安全性與相關的密碼學原理 深度了解区块链——拜占庭将军问题深入探讨 精通比特币 - 挖矿与共识
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量4558点击量2429点击量2075点击量2048点击量1886点击量1809点击量1746点击量1729点击量1657
&2018 Chukong Technologies,Inc.
京公网安备89

我要回帖

更多关于 区块链底层架构 的文章

 

随机推荐