第2章 揭开区块链的面纱
关键一:究竟什么是区块链
在纳斯达克成立之前,为了在最短的时间里完成清算,人们经常会用自行车驮着装满债券的包,在华尔街骑来骑去。可是后来,随着业务的逐渐增多,自行车似乎已经满足不了这种需要。为了让清算速度跟上交易量,20世纪60年代,华尔街每周只能交易4天,每天4个小时。时间长了,大家发现,这样不行,自行车根本就跑不过计算机。
1971年,(美国存管信托公司DTC)清算系统被提上日程。该系统的办法就是:所有的交易都在系统内进行,连经纪人也被接入这个系统。可是,这虽然提高了交易效率,但并没有改变交易的中心化结构。当交易足够多、经纪人足够多时,该系统也面临着瘫痪甚至崩盘的危险。为了解决这个问题,专家们又想出了一种自治式、分布式的系统,于是区块链出现了,之后受到世界各地的重视,被广泛应用于金融等领域。
区块链技术,简称BT(Block chain technology),是一种互联网数据库技术,其特点是去中心化、公开透明,每个人都能参与数据库记录。如果把数据库假设成一本账本,读写数据库就是一种记账行为,区块链的基本原理是:在一段时间内找出记账最快最好的人来记账,然后将账本的该页信息发给系统里的其他人,相当于改变数据库所有的记录,发给全网的每个节点。
一、用区块链建立起来的信任
作为高冷的区块链,也许人们都不知道;作为数字货币的比特币,也许只有技术极客和资本炒家才会关心。可是,说到滴滴打车,恐怕是无人不知无人不晓,说到租房人们更会耳熟能详,说到银行服务多数人甚至还会吐槽……在这个高度中心化的社会,为了证明信用,我们付出了太多的代价,结果是互不相信对方。我们建立了银行,将金钱放在一起集中管理;建设了支付宝,做为网上交易的中介;设立了P2P平台,筹集所需的资金……之所以要做这些事,都是因为我们不相信陌生人,只有通过中介才能建立起脆弱的信任。
区块链技术是什么?什么能够真正建立起人与人之间的信任?基于对滴滴打车平台的信任,可以将车上的空位出租出去,让陌生人乘坐你的车,这就是发展共享经济的第一步。但是,我们却不能像美国人一样用爱彼迎(Airbnb)将多余的房间出租出去。能够将自己的床位、车库、厨房、乐器、电脑等私人闲置物品出租出去吗?恐怕更是难上加难。为什么?因为我们不信任他人,不知道这样做的后果。但是,区块链却可以做到。
设想这样一个场景:个人的所作所为一旦被大数据记录,被存储在区块链的多个节点上,无法篡改,不能修饰,任何人都能够用区块链来描绘你的数字画像,都能通过区块链的评分来确定你是否可信。一旦确立了这样的体系,中介也就失去了存在价值,我们便能轻易地信任他人。
修改一个基于区块链的信用记录,修改世界上每个人的手机、电脑甚至智能设备,是不可想象的。例如,微信每天能产生多少数据?每天产生的社交、交易数据本应完全属于产生者个人,按互联网共享、平等、透明的精神,这种大数据产生的是一种“全球性的信用资源”,基于这些数据的信用体系,每个人都会变成一个被信用描述的人。一旦违反了信用,认识的人都会看到,这个人也就无法在社会上立足了。
二、到底什么是区块链
工信部指导发布的《中国区块链技术和应用发展白皮书2016》是这样解释的:广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。简单地说,区块链就是一种去中心化的分布式账本数据库。
从本质上来说,区块链技术是一种数据库技术,是一种账本技术,账本记录着一个或多个账户的资产变动、交易情况,也就是一种结构最为简单的数据库。我们平常在笔记本上记录的流水账、银行发过来的对账单,都是典型的账本。
安全是区块链技术的一大特点,主要体现在两方面:一是分布式的存储架构,节点越多,数据存储的安全性越高;二是其防篡改和去中心化的巧妙设计,任何人都很难按规则修改数据。
以网购交易为例,传统模式是:买家购买商品,将钱打到第三方支付平台,等卖方发货、买方确认收货后,再由买方通知支付机构将钱打到卖方账户。由区块链技术支撑的交易模式则不同:买家和卖家能够直接交易,不用借助任何中介平台。买卖双方交易成功后,系统会通过广播的形式将交易信息发布出去,所有收到信息的主机会在确认信息无误后将这笔交易记录下来,所有的主机都会为这次交易做好数据备份。即使今后某台机器出现问题,也不会影响数据记录。
提到区块链,很多人就把它与比特币联系在一起,有些人甚至还认为区块链就是比特币。其实,比特币是区块链的一种呈现方式,区块链并不等同于比特币。区块链是比特币的底层技术和基础架构,而比特币则是区块链的成功应用,并不是说区块链只能应用到比特币上。
三、区块链的作用
区块链能解决金融、公益、监管、打假等众多领域的痛点难点,但要满足很多适用条件。
1.金融领域的作用
金融服务是区块链技术的第一个应用领域,区块链技术能很好地解决支付、资产管理、证券等多个痛点。比如,在支付领域,金融机构特别是跨境金融机构的对账、清算、结算等成本都很高,需要经过众多流程,不仅会在用户端和金融机构后台业务端产生高昂的费用,也会让小额支付业务无法开展。运用区块链技术,则能够降低金融机构间的对账成本及争议解决的成本,显著提高支付业务的处理效率。同时,区块链还能让支付领域独具成本和效率优势,使金融机构更好地处理小额跨境支付,实现普惠金融。比如,为解决金融机构间对账成本高的问题,2016年8月微众银行跟上海华瑞银行合作,一起推出了微粒贷机构间对账平台。之后,洛阳银行、长沙银行也相继接入机构间对账平台,通过区块链技术,优化了微粒贷业务的机构对账流程,提高了运营效率,降低了运营成本。
2.公益领域的作用
在公益领域,区块链技术也被广泛运用。比如,蚂蚁金服涉足区块链的首个应用场景是公益,帮助听障儿童获得了一笔善款,运用区块链技术促进公益更加开放透明。区块链公益平台就像在互联网上构建了一个专门用于邮寄资金的邮局,用户捐的每一笔钱,都被打包成一个包裹,通过区块链平台传递,每经过一个节点,都会盖上一个邮戳,最后送到受捐人手上。如此,就能保证用户捐的每一笔钱都是透明的、可追溯的、无法篡改的。
3.打假方面的作用
在商品打假方面,区块链技术更能大显身手。蚂蚁金服将区块链技术用在正品溯源上,目前来自澳大利亚、新西兰海淘的某些商品,比如奶粉,只要用支付宝扫一扫,就能知道是不是正品。不同于过去商家自录入的商品信息,区块链能让多位“记账师”公正、独立、不可抵赖地完成记账。
4.监督方面的作用
对于金融监管,区块链技术也发挥着重要作用。2017年金融区块链合作联盟(深圳)发布的《金融区块链底层平台FIS CoB CoS白皮书》认为,区块链为金融监管机构提供了一致且易于审计的数据,通过对机构间区块链的数据分析,能够更快、更精确地监管金融业务。例如,在反洗钱场景中,各账号的余额和交易记录都是可追踪的,任意一笔交易的任何一个环节都会受到监管,极大地提高了反洗钱力度。
由此可见,区块链确实能解决很多领域的痛点和难点,但区块链也不是万能的,也有很多适用条件。比如,区块链技术去中心化的特点适合多方参与的场景,只是单边或双边,参与价值就不大。同时,需要每个节点都进行核对,区块链技术也不能被运用于高频交易的活动;区块链强调的是公开透明,不适合对数据隐私要求高的场景。
关键二:跟区块链有关的基本原理
区块链,英语表示为“block chain”,这里“block”是“块”,可以理解成把交易信息打包成的数据块;“chain”是“链条”,可以理解为按照顺序把“块”连接起来。使用者都能查到按序列打包成的数据块,其实就是个大账本,该账本上记录着所有的交易数据。
那么,区块链是如何开始工作的?假设世界上只有一个大账本,这个账本管理着我们的钱,很多人一起维护。我给你发送10元钱,然后将这件事通过网络告诉所有维护账本的人,你收到我发出的10元钱后,也通过网络对所有维护账本的人喊一声。于是,第一个听到两个声音的维护者就会立刻记录好这笔账,然后对其他维护者说:我已经完成记账,大家根据我记的账把这个数据补全即可。
区块链技术的目标,就是拥有一个历史数据不可篡改的数据库。在真实世界里,每种商业模式都需要记账,每月一次,每年12本,12个子账簿就能构成一个总账。只不过在比特币世界,每10分钟就会发布一个子账本,每个子账本里有过去10分钟产生的所有交易记录,不能更改,然后再把它们串起来。
讲到区块链的原理,主要涉及下面一些:
1.去中心化
去中心化是互联网发展过程中形成的社会关系形态和内容产生形态,是一种相对于“中心化”而言的新型网络内容生产过程。
去中心化的性质源于使用分布式账本的区块链技术。区块链技术的目标就是,拥有一个历史数据不可篡改的数据库。具体的实现手段是什么?比如,第一代的区块链技术就是,去中心化、奖励机制、共识机制等方法融合在一起。可见,去中心化只是实现目标的重要手段,且还只是实现目标的手段之一。
这里的去中心化并不是消灭所有的中心,现实是这样的:由原本少量的大中心慢慢演化成大量的小中心。比如,到目前为止,区块链世界里已经有几千个交易所了。如果想在某宝上买东西,需要先将钱打给第三方支付宝,确认收货后,支付宝再把钱打给卖方。而去中心化则不用借助第三方,通过区块链技术解决了信用问题,是个人对个人的交易,所有的交易记录,每个人都能查询,而且不可更改。
2.对等式网络
对等式网络(Peer to Peer,简称P2P),又称点对点技术,是无中心服务器、依靠用户群交换信息的互联网体系,可以降低网络传输中的节点,减少数据丢失风险。不同于有中心服务器的中央网络系统,对等网络的每个用户端既是一个节点,还是一个服务器,任何一个节点都无法直接找到其他节点,必须依靠其户群来交流信息。
网络上每台计算机都能互相访问,计算机之间也没有主次之分,各自都有绝对的自主权。这种网络的优点是:便于安装维护,每台机器都可以是服务器也可以是客户机,成本便宜很多;拥有较好的并发处理能力;运用内存来管理交换数据,能够大大提高性能;不用投资大量金钱在服务器的软、硬件设备,节省投入;适用于小规模网络,维护起来比较容易。
缺点则在于,架设比较复杂,不仅要有开发服务器端,还要有专用的客户端;用在大规模网络,资源分享紊乱,管理起来比较难,安全系数不高。
3.哈希函数、哈希值
密码学是区块链的基础,而密码学中的哈希函数又被广泛运用到区块链中。比如,比特币,其钱包地址就是哈希数值,挖矿是哈希计算。理解了哈希函数,就能理解密码学基础可以给比特币投资者以信心。
所谓哈希函数是指,能将任意长度的数据映射为固定长度的数据函数,主要应用于信息安全领域中的加密算法。简单来说,哈希算法就是一种只能加密、不能解密的密码学算法,能够将任意长度的信息转换成一段固定长度的字符串。
在区块链中的应用,通过哈希算法,能够对一个交易区块中的交易信息进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的哈希值能唯一、精准地标识出一个区块。
运用哈希算法,比特币挖矿无法逆向推导出结果,矿工持续不断地进行运算,其实就是在暴力破解正确的输入值(哈希值),谁最先找到,谁就能获得比特币奖励。
4.权益证明
权益证明(POS)是以共识算法的方式,使用伪随机数的方式,指定持有货币的人为交易的验证者,创造新的区块,接续在最长的链后面。权益证明与个人拥有的数字货币的数量和时间有关,拥有的货币越多,持有的时间越长,话语权就越大。
在POS模式下,有一个名词叫币龄,每个币每天会产生1币龄,如果手里有100个币,共持有30天,那么币龄就是3000,一旦发现了一个POS区块,币龄就会被清空为0。每被清空365币龄,就能从区块中获得相应的利息。
权益证明发起51%攻击的可能性小。因为要进想行51%攻击,得拥有51%的货币。也就是说,东西越值钱,成本越高。简单来说,已经有51%的钱,还发什么攻击?比特币的工作量证明机制,需要对算力进行转化,而权益证明却不用转化。
5.默克尔树
默克尔树,又叫哈希树,是存储散列(hash,音译为哈希)值的一棵树。它是一种二叉树,由一个根节点、一组中间节点和一组叶节点组成。最下面的叶节点包含存储数据或其哈希值,每个中间节点都是它的子节点内容的哈希值,根节点也由两个子节点内容的哈希值组成。
默克尔树是存储散列值的一棵树,底层数据的任何变动都会传递到父亲节点,一直到树根,数据间有着很强的关联性。
默克尔树算法的最大好处是,每个交易都能单独直接删除,只保留该交易的散列值即可。如此,对整个区块来说,并没有改变它的密码学安全性和完整性,但可以大大减少数据量。如果区块中只有一个交易没有后续交易,删除其他交易,整个区块的数据量就会大大减小。因此,在记账模式中,使用默克尔树结构,就不用担心数据量一直增长引发的数据过大的问题了。
6.椭圆曲线加密
椭圆曲线加密法是一种基于离散对数问题的非对称(或公钥)加密法,可以用对椭圆曲线上的点进行加法或乘法运算来表达。在比特币系统中,用公钥加密创建一个密钥,就能控制比特币的获取。
密钥,包括一个私钥和由其衍生出的唯一公钥,整个流程可以概括为:获得私钥,使用椭圆曲线乘法的单向加密函数产生一个公钥;然后,用单向加密哈希函数生成比特币地址,用公钥来接收比特币,用私钥来进行比特币支付时的交易签名。
在区块链中,基于私钥生成公钥的单向加密函数,可以保证比特币支付和交易的安全性。
关键三:区块链与大数据、云计算的关系
一、区块链和大数据的关系
在这个急剧变化的年代,当很多人还没有搞明白PC互联网的时候,移动互联网就来了;当很多人还不知道什么是移动互联网的时候,大数据就来了。今天,很多人还没弄懂大数据,区块链就出现在了人们的视野中。区块链与大数据究竟有着怎样的关系?
1.数据安全
区块链具有可信任性、安全性和不可篡改性,让更多的数据被解放出来。区块链是如何推进基因测序大数据产生的?区块链测序可以利用私钥限制访问权限,规避法律对个人获取基因数据的限制;同时利用分布式计算资源,低成本完成测序服务。区块链的安全性让测序成为工业化的解决方案,实现了全球规模的测序,有效推进了数据的海量增长。
2.数据开放共享
政府掌握着大量高密度、高价值数据,比如医疗数据、人口数据等。政府数据开放是大势所趋,对整个经济社会的发展起着重要的推动力。然而,数据开放的难点和挑战是:如何在保护个人隐私的情况下开放数据?基于区块链的数据脱敏技术保证了数据私密性,为隐私保护下的数据开放提供了解决方案。数据脱敏技术采用了哈希处理等加密算法,例如,借助区块链技术的英格码系统,在不访问原始数据情况下运算数据,可以对数据的私密性进行保护,杜绝数据共享中的信息安全问题。例如,员工可放心地开放可访问其工资信息的路径,并共同计算出群内平均工资,每个参与者都能知道自己在该组中的相对地位,但对其他成员的薪酬却毫不知情。
3.数据存储
区块链技术,通过网络中的所有节点一起来参与计算,互相验证信息的真伪,达成全网共识,从这个意义上来说,区块链技术就是一种特定的数据库技术。迄今为止,大数据还处于基础阶段,以全网共识为基础的区块链数据,不能篡改,能够让数据的质量获得前所未有的强信任背书,让数据库的发展进入一个新时代。
4.数据分析
数据分析是实现数据价值的核心,首先要解决的问题是有效保护个人隐私和防止核心数据泄露。例如,随着指纹数据分析应用、基因数据检测与分析手段的普及,很多人都担心:一旦个人健康数据发生泄露,就会导致严重的后果,而区块链技术却能够通过多签名私钥、加密技术、安全多方计算等技术来防止这类情况的出现。数据被哈希后放置在区块链上,使用数字签名技术,就能让获得授权的人对数据进行访问。数据统一存储在去中心化的区块链上,既能对数据的私密性进行保护,又可以提供给全球科研机构、医生共享,为解决突发疾病、疑难疾病等提供便利。
5.数据流通
对于个人或机构有价值的数据资产,可以利用区块链进行注册,交易记录是全网认可的、透明的、可追溯的,明确大数据资产来源、所有权、使用权和流通路径,对数据资产交易具有很大价值。一方面,区块链能够破除中介拷贝数据的威胁,有利于建立可信任的数据资产交易环境;一方面,区块链提供了可追溯路径,能够有效破解数据确权难题。有了区块链的保障,大数据自然也就更活跃了。
二、区块链和云计算的关系
云计算是一种成熟的技术和应用。云计算是一种按使用量付费的模式,这种模式能够提供可用的、便捷的、按需的网络访问,只要进入可配置的计算资源共享池,这些资源就能被快速提供,只要进行必要的管理或与服务供应商进行少量的互动即可。
区块链是分布式账本和智能合约,仅从定义上看,云计算是按需分配,区块链则构建了一个信任体系,两者好像并没有直接关系。但是区块链本身就是一种资源,有按需供给的需求,是云计算的重要组成部分。
云计算和区块链是可以相互融合的,这种融合是如何实现的?
从宏观上来说:一方面,利用云计算已有的基础服务设施或根据实际需求做相应改变,实现开发应用流程加速,满足未来区块链生态系统中初创企业、学术机构、开源机构、联盟和金融等机构对区块链应用的需求;一方面,“可信、可靠、可控制”是云计算发展必须要翻越的门槛,而区块链技术的特征是去中心化、匿名性和数据不可篡改,与云计算的长期发展目标不谋而合。
从存储方面来看:云计算内的存储和区块链内的存储都由普通存储介质组成;不同的是,云计算内的存储是一种资源,是独立存在的,一般采用共享的方式,由应用来选择;而区块链里的存储是链里各节点的存储空间,区块链里存储的价值不在于存储本身,而在于相互链接的块,是一种特殊的存储服务。
从安全性方面来说,云计算的安全主要是确保应用能够安全、稳定、可靠地运行。这种安全属于传统安全领域范畴。而区块链内的安全是确保每个数据块不被篡改、数据块的记录内容不被没有私钥的用户读取。因此,只要将云计算和基于区块链的安全存储产品结合在一起,就能设计出加密存储设备。
区块链与云计算紧密结合,在IaaS、PaaS、SaaS的基础上创造出了(区块链即服务BaaS),形成了将区块链技术框架嵌入云计算平台的结合发展趋势。其中,以联盟链为代表的区块链企业平台,要利用云设施完善区块链生态环境;以公共链为代表的区块链,需要为去中心化应用提供稳定可靠的云计算平台。
关键四:区块链的共识机制,其优缺点是什么
如果说共识是区块链的基础,那共识机制就是区块链的灵魂。所以共识机制就是,在一个时间段内对事物的前后顺序达成共识的一种算法。
共识机制犹如国家的法律,维系着区块链世界的正常运转。在区块链上,每个人都会拥有一个记录链上的交易账本,链上每产生一笔新的交易,每个人接收到的信息时间是不一样的,想干坏事的人就可能在发布一些错误信息,就需要将所有人接收到的信息进行验证,最后将最正确的信息公布出来。
加密货币都是去中心化的,去中心化的基础就是P2P节点多。那么,如何才能吸引用户加入网络成为节点?有哪些激励机制?答案就是共识机制。
一、工作量证明机制(POW)
1.基本原理
工作量证明机制是第一代共识机制,是比特币的基础。简而言之就是按劳取酬,付出多少工作量,就会获得多少报酬。在网络世界里,所谓的劳动就是你为网络提供的计算服务,提供这种服务的过程就是“挖矿”。在均匀分布的前提下,“挖矿”所得的比重与各自提供的算力成正比,能力越强,获得越多。
2.优点
(1)机制本身非常复杂,但有很多细节,比如:挖矿难度自动调整、区块奖励逐步减半等,这些因素都是基于经济学原理,能吸引和鼓励更多的人参与其中。
(2)这种机制可以吸引很多用户参与其中,会促使加密货币的初始阶段发展迅速,节点网络迅速扩大。在CPU挖矿的时代,比特币吸引很多人参与“挖矿”,就是很好的证明。
(3)通过“挖矿”的方式发行新币,把比特币分散给个人,相对公平。
3.缺点
算力是计算机硬件提供的,需要耗费很多电力,是对能源的直接消耗,违背了人类追求节能、清洁、环保的理念。发展到今天,算力的提供方已经不再是单纯的计算机了,用户也从个人挖矿发展到大矿池、大矿场,算力集中越来越明显。这一点与去中心化的方向背道而驰,渐行渐远,网络的安全逐渐受到威胁。比特币区块奖励每4年会减半,一旦挖矿的成本高于挖矿收益、人们挖矿的积极性降低,就会减少大量算力,比特币网络的安全性也会出现问题。
二、股权证明机制(OPOS)
1.基本原理
股权证金是点点币的创新。没有挖矿过程,在创世区块内写明了股权分配比例,之后通过转让、交易等方式,逐渐分散到用户手里,并通过“利息”的方式新增货币,实现对节点的奖励。以太坊是POW跟POS结合,简单来说就是,根据用户持有货币的多少和时间发放利息的制度。现实中最典型的例子就是股票、银行存款,用户想获得更多的货币,只要打开客户端,保持在线,就能通过获得“利息”获益,同时保证网络安全性也很高。
2.优点
(1)节能。不用挖矿,不用大量耗费电力和能源。
(2)更去中心化。POS机制的加密货币对计算机硬件基本上没有过高要求,每个人都能挖矿,不用担心算力集中导致中心化的出现,网络更加安全。
(3)避免紧缩。POW机制的加密货币,因为用户丢失等原因,可能导致通货紧缩。但是,POS机制的加密货币按一定的年利率新增货币,可以有效避免紧缩出现,保持基本稳定。
3.缺点
纯POS机制的加密货币,只能通过IPO的方式发行,导致“少数人”(通常是开发者)获得大量成本极低的加密货币,为了个人利益,他们很可能会大量抛售。POS机制的加密货币,信用基础不够牢固。为了解决这个问题,可以采用POW+POS的双重机制,通过POW挖矿发行加密货币,使用POS维护网络稳定;可以采用DPOS机制,通过社区选举的方式,增强信任。
三、授权股权证明机制(DPOS)
1.基本原理
无人控制的公司发行股份,产生利润,并将利润分配给股东。所有这一切的实现,不需要信任何人,因为每件事都已经被硬编码到软件中。通俗来说就是,公司为股份制,股东持有公司股份,公司给股东回报,股东不用挖矿。
2.优点
(1)能耗更低。DPOS机制将节点数量进一步减少到101个,在保证网络安全的前提下,整个网络的能耗进一步降低,网络运行成本最低。
(2)更加去中心化。目前,对于比特币来说,个人挖矿已经不现实了,比特币的算力都集中在几个大的矿池手里,每个矿池都是中心化的,因此DPOS机制的加密货币更加去中心化。
(3)更快的确认速度。每个块的时间为10秒,一笔交易(得到6~10个确认后)大概1分钟,完整的101个块的周期大概需要16分钟。而比特币产生一个区块需要10分钟,一笔交易完成需要1小时,速度更快。
3.缺点
(1)投票的积极性不高。大多数持股人从来都没有参与过投票。因为投票需要时间、精力和技能,而这正好是多数投资者所缺乏的。
(2)无法进行坏节点的处理。社区选举不能及时有效地阻止破坏节点的出现,给网络造成很多安全隐患。
四、实用拜占庭容错算法(PBFT)
1.基本原理
拜占庭共识算法是一种常见的共识证明。不同于前面几种,PBFT以计算为基础,没有代币奖励。链上所有人参与投票,主要反对者少于(N-1)/3个节点,就能获得公示信息的权利。
2.优点
算法可靠,有严格的数学证明,具备(n-1)/3容错性。
3.缺点
一旦1/3或以上记账人停止工作后,系统就无法提供服务。
五、重要度证明(POI)
1.基本原理
共识算法引出了账户重要程度的概念,使用账户重要性评分来分配记账权的概率。
2.优点
低能耗,速度快,公平。
3.缺点
缺少社区共识,账户重要性不等于设备贡献度。
六、POI和DPOS结合(POP)
1.基本原理
这是标准链的创新,基于账户参与度的算法,将POI和DPOS的思想结合在一起,既能确保设备的公平性,又能拥有社区共识。
2.优点
低功耗、速度更快,更加安全,既能确保公平性,又拥有社区共识。
关键五:区块链小白该如何学习
在正式开始学习区块链之前,要先问问自己,打算开发什么类型的项目或应用?是想发行代币?还是开发一个平台,如以太坊、EOS、超级账本等?亦或是想开发某个垂直领域的应用?如养鸡、养狗小游戏。如果是代币,又会分为三种不同类型:基础货币、平台代币、应用代币,每种类型要求掌握的开发技术层次也不尽相同。
学习目标不同,侧重点就不能完全一样,但总体来说,还是能找到适合大部分区块链开发者的学习线路。
1.明确具体的方向
进行区块链开发也有很多方向,如:区块链应用开发人员、区块链架构师、底层核心开发、共识算法研究等。方向不同,学习的内容也就不同。比如:做基于区块链应用开发,只需要了解一门编程语言,如nodejs、Go、Python、C++等即可,大概了解区块链的原理,不用深入学习;做区块链基础开发,需要了解加密算法、P2P通信、共识算法等。
2.加强理论学习
知其然,才能知其所以然。通过理论学习,就能掌握区块链的原理、发展轨迹,了解它的过去、现在和未来,还能对区块链技术的优势和劣势做出清晰判断,以及区块链能解决什么问题、能给社会创造什么价值、能给企业和个人带来哪些发展机会等。
3.探寻价值和魅力
结合自己感兴趣或深入了解的领域,看看与区块链相关的热门和明星项目,了解这些项目能给该行业带来哪些变革。只要深入了解该领域,就更容易体会和判断区块链的价值和魅力。
4.学习比特币
之所以要学习比特币框架,是因为比特币是目前区块链应用中最经典、市场考验最长的应用之一,很多山寨币的发行都是基于比特币源码的改动。另外,跟以太坊、超级账本比起来,比特币学习门槛相对较低。目前最好的学习方式是阅读源码,但新手可以先从阅读官方文档开始。如果只是为了发行基础代币,学到这一步,就算入门了。
5.学习以太坊
以太坊是区块链的操作系统,不仅有相对成熟的开发工具、有图灵完备的开发语言Solidity等,还有完善的通讯开发框架Truffle,大大降低了开发者开发区块链应用的难度。以太坊不仅功能强大,而且吞吐量也大幅上升。比特币每秒能够交易7笔左右的订单,而以太坊可以完成几千笔,但随着以太坊底层代码的不断迭代升级,吞吐量还在不断稳步提升。从这个意义上来说,以太坊是区块链应用开发者的必修课。
学习以太坊最核心的是开发智能合约,目前官方推荐的开发语言是Solidity,官方有帮助文档,也有很多技术达人翻译了的中文版。
6.学习超级账本
超级账本是由IBM贡献的超级账本框架,是一个利用现有成熟的技术来组合而成的区块链技术的实现,是一种允许可插拔实现各种功能的的模块化架构,具有强大的容器技术,承载着各种主流语言来编写智能合约,为企业开发区块链系统提供了众多强大功能,包括身份管理、隐私保密、高效处理、智能合约、模块设计等,值得深入研究和学习。
7.选修EOS
EOS是“Enterprise Operation System”的简称,是为商用分布式应用设计的区块链操作系统,支持多个应用程序同时运用,还能同时支持多种编程语言,为DAPP的开发者提供底层模块,降低开发门槛。另外,EOS通过并行链和DPOS的方式解决了延迟和数据吞吐量的难题,EOS能够实现每秒百万级的处理量,能力远超比特币和以太坊。
当然,无论是比特币、以太坊、超级账本,还是EOS,它们都在不断地更新迭代和完善,单纯比较谁优谁劣没有意义,只有不断学习并掌握区块链开发技术,才是最终的归途。