各区块链存储设计二
⑴ 一张图了解什么是区块链(五分钟带你看懂什么是区块链)
简单易懂地介绍什么是区块链区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
比特币、莱特币、普银、以太币等数字加密货币的底层技术都是区块链,他们都只是区块链的一种应用。
什么是区块链?一幅漫画让你看懂(小白必看)
“区块链”一词其实在早期的密码学圈子里,对于比特币的底层技术就是称为“比特币”,英文则用大写的B开头的Bitcoin指比特币这个网络系统或者网络协议。
但是由于大众的混淆,现在一谈起比特币人们就十分抵触,认为比特币就是违法、骗局、传销的代名词,是互联网金融又一个现象级泡沫!于是乎,人们只好将所有的底层技术(时间戳、工作量证明机制等等等)合并起来,为了跟比特币区分,重新取了个名字叫Blockchain,翻译过来就成了“区块链”,这才有了“区块链”一词的出现。
区块链不是一个单一的技术,而是一系列技术的集合。
那区块链到底应该如何理解呢?我们首先用大家都爱谈的恋爱,举个简单的例子。建立一个简单的区块链模型,那么在这个区块链模型里面谈恋爱将会出现一下情况:
未来所有适龄男女恋爱,结婚的承诺全过程都被其他所有适龄男女共识,两个人在一起发生的所有故事就会形成区块。
其他所有男女就是链,如果有第三者来插足或自身违背另一半,其他人都能看到,以后就再也找不到对象了。
区块链准确的说就是“全中心”体系,就是链上的每个节点都是中心。
试婚男女谈恋爱,晒朋友圈,秀恩爱,承诺相爱一生一世并被其他所有适婚男女所知就是区块链的应用。如果有一天某一方违背诺言,不要以为删除照片就有用,因为桩桩件件都被所有适婚男女记录在案。
不可删除,不可更改,这就是区块链技术。
区块链是什么通俗解释,一张图看懂区块链区块链是什么通俗解释,一张图看懂区块链
区块链是最近一个比较火热的话题,很多人都在讨论区块链的问题,最近国内也有一些公司开始用区块链的技术开发了一些产品,区块链是用于比特币的一种底层技术,这正式因为比特币的大火让很多人关注到了比特币,但有很多人对于区块链是什么还并不了解,下面就给我来解释一下区块链。
比特币是很多人比较关注的数字货币,而比特币的底层技术就是区块链,区块链是一种计算机技术,是一种新型的应用模式。区块链就好比是一个大的数据库账本,在这个大的账本上记录了所有的交易情况,而记录这个账本的人跟传统的记账有很大区别,传统记账通常是由专门的记账方进行操作,例如淘宝、天猫是阿里巴巴进行记账的,微信交易是由腾讯记账的,而区块链是由全民参与记账,每个参与记账的人入手都有一个账本。
举例来给大家说明,例如A想找B借款1万元,B想将钱借给A,但是又担心A借钱后赖账不还,因此在借钱时会找第三方的公证人,由公证人帮忙B将这笔账给记下来,这种就是传统的记账方式,靠第三方来获取信任,记账的账本是在第三方手中的,这种记账方式存在第三方篡改账本的可能性,而去中心话的意思就是在借款时不需要公证人,不需要依靠第三方来获取信任,去中心化的形势就好比B给A借钱时,B拿着大喇叭喊”A找我借了一万元钱,你们帮我记下账“这个时候,大家都会拿着自己手上的账本将这笔账给记录下来,每个人都有一个账本,可以避免账本被篡改的可能。
什么是区块链概念?区块链究竟是什么?三分钟读懂!2019年10月25日,新闻联播传递出一个非常重要的信号:国家要大力发展区块链。之后,区块链简直就是网红,大街小巷都飘荡着“区块链“的身影。实际上,很多科技企业早已在区块链技术上布局。
尽管说区块链很火,但是很多人对于区块链并不是很了解。
区块链是什么呢?
我们先看一下度娘是怎么解释的。网络显示:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链为什么会被叫做区块链呢?
区块链是由一个个的区块链接而成,而区块是一个一个的存储单元,记录了各区块节点的交流信息,区块很像数据库的记录,每次写入数据,就是创建一个区块。而随着信息交流的扩大,一个区块与一个区块相继续,形成的结果就叫区块链。
区块链的特点有哪些呢?
区块链主要有以下几个方面的特点:
1、去中心化:在区块链的系统中,每一个节点都有同等的权利和义务,这里没有中心管制。去中心化很好的建立了彼此之前的信任联系,尽管没有一个中央管理机构,但是人们之间可以相互协作相互信任。这主要应用了区块链分布式账本技术。
2、开放性:区块链的数据对所有的人是开放的,除了一些加密的信息不被开放之外,所有人都可以在这里查到数据。
3、独立性:整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。
4、安全性:区块链具有一定的安全性,不可篡改性。因为区块链系统中大家手里都是一样的账本,如果有人想篡改的话,那么只有在控制了超过51%的记账节点,才有可能伪造出一条不存在的记录。当然了,这基本上是不可能的。这主要是源于区块链的核心技术:共识机制,共识机制具备“少数服从多数”以及“人人平等”的特点。
5、匿名性:很多人觉得区块链这么开放,这么透明,是不是我们就没有隐私了?其实不是,虽然说在区块链中的交易信息是公开透明的,但是账户的身份信息是被进行加密的,只有得到了授权,才能访问。
现在给大家讲一个故事,帮助大家更好的理解区块链。
家里一共三口人,爸爸妈妈和哥哥弟弟。去年的时候,家里的账本是由爸爸来负责的,家里所有的进账以及支出都是爸爸一个人在负责。
然而双十一那天,一向节俭的妈妈想在某宝上给自己买一件漂亮的衣衣,一查账本,发现不对劲儿。按理说除了存银行和理财的一些钱,家里的日常消费的的钱的去向都在这个账本上,但是怎么看怎么都不对。有的消费明明没有,却被记录在内。
后来,爸爸主动招供,说是自己忍不住买了一包烟。
后来妈妈改了策略,全家人都记账,每个月的消费支出大家都记在自己的账本上。每当家里产生了一笔交易或者消费的时候,妈妈都会喊一声,记账啦,大家就都把交易记载自己的账本上。这就是去中心化记账模式,人人都是中心,人人手里都有账本。
而之前的爸爸记账模式就是中心化记账,如果爸爸一个人想做手脚,很难有人看得出来,而去中心化记账模式很好的解决了中心化记账的弊端,如果爸爸想篡改账本的话,非常难。
比如说,爸爸如果想从账本里拿点儿钱再偷偷买烟的话,钱的数量是有限的,而想拿钱就得改改账本,但是光篡改自己的账本是不行的,他得把包含他在内的三个人的账本都改掉。而这无疑是比登天还难。
所以,很多次爸爸动了抽烟的念头之后,但是无奈现状如此,只得放弃这个念头。
区块链和比特币是不是一回事儿呢?
实际上,区块链和比特币并不是一回事儿,它只是比特币的底层技术,比特币是区块链第一个应用的数字货币而已。
2008年中本聪第一次提出了区块链的概念,随后几年,成为了电子货币比特币的核心组成部分,作为所有交易的公共账簿。而区块链首先被应用于比特币。
区块链的缘起是解决信任问题,而且,区块链最成功的一个应用是数字货币。比特币可以说是到目前为止区块链最成功的一个应用。
区块链的应用有哪些?
区块链的应用其实很广泛,除了数字货币,比特币未来的应用还是非常广泛的,区块链技术目前已在不同行业得到了广泛的应用。如商品溯源、版权保护与交易、支付清算、物联网、数字营销、医疗等,推动不同行业快速进入“区块链+”时代。
1、支付清算:区块链可摒弃中转银行的角色,实现点到点支付,减少中转费用,加速资金利用率。
2、商品追溯:比如我们在某宝上买一件衣服,我们可以看到这件衣服的前世今生。
3、证券交易:传统的证券交易需要经过四大机构协调工作,效率低、成本高。区块链技术可独立地完成一条龙式服务。
4、供应链:将区块链技术引入供应链系统,系统内部同步信息、可做到对各个环节把控,更好的完成分工协作,便于事后追责。
5、知识产权:版权上链,我们的摄影作品、音乐作品、文学作品等都会成为我们的信息,信息所有权将得以确认,成为我们的财产。
漫画图解什么是区块链漫画图解:什么是区块链
什么是区块链?
区块链,英文Blockchain,本质上是一种去中心化的分布式数据库。任何人只要架设自己的服务器,接入区块链网络,都可以成为这个庞大网络的一个节点。
区块链既然本质是数据库,里面究竟存储了什么东西呢?让我们来了解一下区块链的基本单元:区块(Block)。
一个区块分为两大部分:
1.区块头
区块头里面存储着区块的头信息,包含上一个区块的哈希值(PreHash),本区块体的哈希值(Hash),以及时间戳(TimeStamp)等等。
2.区块体
区块体存储着这个区块的详细数据(Data),这个数据包含若干行记录,可以是交易信息,也可以是其他某种信息。
刚才提及的哈希值又是什么意思呢?
想必大家都听说过MD5,MD5就是典型的哈希算法,可以把一串任意长度的明文转化成一串固定长度(128bit)的字符串,这个字符串就是哈希值。
而在我们的区块链中,采用的是一种更为复杂的哈希算法,叫做SHA256。最新的数据信息(比如交易记录)经过一系列复杂的计算,最终会通过这个哈希算法转化成了长度为256bit的哈希值字符串,也就是区块头当中的Hash,格式如下:
区块与Hash是一一对应的,Hash可以当做是区块的唯一标识。
不同的区块之间是如何进行关联的呢?依靠Hash和PreHash来关联。每一个区块的PreHash和前一个区块的Hash值是相等的。
为什么要计算区块的哈希值呢?
既然区块链是一个链状结构,就必然存在链条的头节点(第一个区块)和尾节点(最后一个区块)。一旦有人计算出区块链最新数据信息的哈希值,相当于对最新的交易记录进行打包,新的区块会被创建出来,衔接在区块链的末尾。
新区块头的Hash就是刚刚计算出的哈希值,PreHash等于上一个区块的Hash。区块体的Data存储的是打包前的交易记录,这部分数据信息已经变得不可修改。
这个计算Hash值,创建新区块的过程就叫做挖矿。
用于进行海量计算的服务器,叫做矿机。
操作计算的工作人员,叫做矿工。
计算哈希值究竟难在哪里?咱们来做一个最粗浅的解释,哈希值计算的公式如下:
Hash=SHA-256(最后一个区块的Hash+新区块基本信息+交易记录信息+随机数)
其中,交易记录信息也是一串哈希值,它的计算涉及到一个数据结构MerkleTree。有兴趣的小伙伴可以查阅相关资料,我们暂时不做展开介绍。
这里关键的计算难点在于随机数的生成。猥琐的区块链发明者为了增大Hash的计算难度,要求Hash结果的前72bit必须都是0,这个几率实在是太小太小。
由于(最后一个区块的Hash+新区块基本信息+交易记录信息)是固定的,所以能否获得符合要求的Hash,完全取决于随机数的值。挖矿者必须经过海量计算,反复生成随机数进行“撞大运”一般的尝试,才有可能得到正确的Hash,从而挖矿成功。
同时,区块头内还包含着一个动态的难度系数,当全世界的硬件计算能力越来越快的时候,区块链的难度系数也会水涨船高,使得全网平均每10分钟才能产生出一个新区块。
小伙伴们明白挖矿有多么难了吧?需要补充的是,不同的区块链应用在细节上是不同的,这里所描述的挖矿规则是以比特币为例。
区块链的应用
比特币(BitCoin)的概念最初由中本聪于2008年提出,而后根据这一思路设计发布了开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。
什么是P2P网络呢?
传统的货币都是由中央银行统一发行,所有的个人储蓄也是由银行统一管理,这是典型的中心化系统。
而比特币则是部署在一个全世界众多对等节点组成的去中心化网络之上。每一个节点都有资格对这种数字货币进行记录和发行。
至于比特币底层的数据存储,正是基于了区块链技术。比特币的每一笔交易,都对应了区块体数据中的一行,简单的示意如下:
交易记录的每一行都包含时间戳、交易明细、数字签名。
表格中只是为了方便理解。实际存储的交易明细是匿名的,只会记录支付方和收款方的钱包地址。
至于数字签名呢,可以理解为每一条单笔交易的防伪标识,由非对称加密算法所生成。
接下来说一说比特币矿工的奖励:
比特币协议规定,挖到新区块的矿工将获得奖励,从2008年起是50个比特币,然后每4年减半,目前2018年是12.5个比特币。流通中新增的比特币都是这样诞生的,也难怪大家对挖掘比特币的工作如此趋之若鹜!
区块链的优势和劣势
区块链的优势:
1.去中心化
区块链不依赖于某个中心节点,整个系统的数据由全网所有对等节点共同维护,都可以进行数据的存储和检验。这样一来,除非攻击者黑掉全网半数以上的节点,否则整个系统是不会遭到破坏的。
2.信息不可篡改
区块内的数据是无法被篡改的。一旦数据遭到篡改哪怕一丁点,整个区块对应的哈希值就会随之改变,不再是一个有效的哈希值,后面链接的区块也会随之断裂。
区块链的劣势:
1.过度消耗能源
想要生成一个新的区块,必须要大量服务器资源进行大量无谓的尝试性计算,严重耗费电能。
2.信息的网络延迟
以比特币为例,任何一笔交易数据都需要同步到其他所有节点,同步过程中难免会受到网络传输延迟的影响,带来较长的耗时。
几点补充:
1.本漫画部分内容参考了阮一峰的博文《区块链入门教程》,感谢这位大神的科普。
2.由于篇幅有限,关于MerkleTree和非对称加密的知识暂时没有展开细讲,有兴趣的小伙伴们可以查阅资料进行更深一步的学习。
⑵ 各区块链架构的横向比较
各区块链架构的横向比较
时常听人们谈起区块链,从 2009 年比特币诞生至今,各式各样的区块链系统或基于区块链的应用不断被开发出来,并被应用到大量的场景中,而区块链技术本身也在不停地变化和改进。
区块链又被称为分布式账本,与之对应的则是中心化账本,比如银行。与中心化账本不同的是,分布式账本依靠的是将账本数据冗余存储在所有参与节点中,来保证账本的安全性。简单地说,区块链会用到三种底层技术:点对点网络技术、密码学技术和分布式一致性算法。而通常,区块链系统还会“免费附赠”一种被称为智能合约的功能。智能合约虽然不是区块链系统的必要组成部分,但由于区块链天生所具备的去中心化特点,使它可以很好地为智能合约提供可信的计算环境。
为了适应不同场景的需求,区块链系统在实际应用的过程中往往会需要进行各种改造,以满足特定业务的要求,比如身份认证、共识机制、密钥管理、交易频次、响应时间、隐私保护、监管要求等。而实际应用区块链系统的公司往往没有进行这种改造的能力,于是市场上慢慢出现了一些用于定制专用区块链系统的框架,采用这些框架就可以很方便地定制出适用于企业自身业务的区块链系统。
本文将对目前市场上几个典型的区块链框架进行横向对比,看看它们都有哪些特点,以及它们之间到底有哪些区别。为了保持对比的公正性,本文将只针对开源的区块链框架进行讨论。
各区块链架构的简单介绍
1、比特币
比特币(bitcoin)源自一名叫做中本聪(Satoshi Nakamoto)的人在 2008 年发表的一篇名为《比特币:一种点对点的电子现金系统》(Bitcoin: A Peer-to-PeerElectronic Cash System)的论文,文中描述了一种被他称为“比特币”的电子货币及其算法。在之后的几年里,比特币不断成长和成熟,而它的底层技术也逐渐被人们认识并抽象出来,这就是区块链技术。比特币作为区块链的鼻祖,在区块链的大家族中具有举足轻重的地位,基于比特币技术开发出的山寨币(altcoins)的数量有如天上繁星,数不胜数。
从论文中可以得知,中本聪设计比特币的目的,就是希望能够实现一种完全基于点对点网络的电子现金系统,使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的中介机构。总结来说,他希望比特币的设计能够实现以下这些目标:
● 不需要中央机构就可以发行货币
● 不需要中介机构就可以支付
● 保持使用者的匿名性
● 交易无法被撤销
从电子现金系统的角度来看,以上这些目标在比特币中基本都得到了实现,但是依然有一些技术问题有待解决,比如延展性攻击、区块容量限制、区块分叉、扩展性等。
在应用场景方面,目前大量的数字货币项目都是基于比特币架构来设计的,此外还有一些比较实际的应用案例,比如彩色币、t? 等。
彩色币(coloredcoin),通过仔细跟踪一些特定比特币的来龙去脉,可以将它们与其他的比特币区分开来,这些特定的比特币就叫作彩色币。它们具有一些特殊的属性,从而具有与比特币面值无关的价值,利用彩色币的这种特性,使得开发者可以在比特币网络上创建其它的数字资产。彩色币本身就是比特币,存储和转移不需要第三方,可以利用已经存在的比特币的基础。
t? 是比特币区块链在金融领域的应用,是美国在线零售商 Overstock 推出的基于区块链的私有和公有股权交易平台。
2、以太坊
以太坊(ethereum) 的目标是提供一个带有图灵完备语言的区块链,用这种语言可以创建合约来编写任意状态转换功能,用户只要简单地用几行代码来实现逻辑,就能够创建一个基于区块链的应用程序,并应用于货币以外的场景。
以太坊的设计思想是不直接“支持”任何应用,但图灵完备的编程语言意味着理论上任意的合约逻辑和任何类型的应用都可以被创建出来。总结来说,以太坊在比特币的设计目标之外,还需要实现以下几个目标:
● 图灵完备的合约语言
● 内置的持久化状态存储
目前基于以太坊的合约项目已达到数百个,比较有名的有 Augur、TheDAO、Digix、FirstBlood 等。
Augur 是一个去中心化的预测市场平台,基于以太坊区块链技术。用户可以用数字货币进行预测和下注,依靠群众的智慧来预判事件的发展结果,可以有效地消除对手方风险和服务器的中心化风险。
限于篇幅,基于以太坊智能合约平台的项目就不多介绍了。基于以太坊的代码进行改造的区块链项目也有不少,但几乎都是闭源项目,只能依靠一些公开的特性来推断,所以就不在本文展开讨论了。
3、Fabric
Fabric 是由 IBM 和 DAH 主导开发的一个区块链框架,是超级帐本的项目成员之一。它的功能与以太坊类似,也是一个分布式的智能合约平台。但与以太坊和比特币不同的是,它从一开始就是一个框架,而不是一个公有链,也没有内置的代币(token)。
超级账本(hyperledger)是 Linux 基金会于 2015 年发起的推进区块链技术和标准的开源项目,加入成员包括:荷兰银行(ABN AMRO)、埃森哲(Accenture)等十几个不同利益体,目标是让成员共同合作,共建开放平台,满足来自多个不同行业各种用户案例,并简化业务流程。
作为一个区块链框架,Fabric 采用了松耦合的设计,将共识机制、身份验证等组件模块化,使之在应用过程中可以方便地替换成自定义的模块。除此之外,Fabric 还采用了容器技术,将智能合约代码(chaincode)放在 docker 中运行,从而使得智能合约可以用几乎任意的高级语言来编写。
以下是 Fabric 的一些设计目标:
● 模块化设计,组件可替换
● 运行于 docker 的智能合约
目前已经有不少采用 Fabric 架构进行开发的概念验证(POC)项目在实施过程中,其中不乏一些金融机构做出的尝试,不过由于项目刚刚起步,还没有比较成熟的落地应用。
4、DNA
DNA(Distributed Networks Architecture,分布式网络架构),是由总部位于上海的区块链创业公司“分布科技”开发的区块链架构,可以同时支持公有链、联盟链、私有链等不同应用类型和场景,并快速与业务系统集成。
与以太坊、Fabric不同的是,DNA 在系统底层实现了对多种数字资产的支持,用户可以直接在链上创建自己的资产类型,并用智能合约来控制它的发行逻辑。对于绝大部分的区块链应用场景,数字资产是必不可少的,而为每一种数字资产都开发一套基于智能合约的转账、发行逻辑是非常浪费且低效的。因此,由区块链底层提供直接的数字资产功能是十分必要的。而对于那些完全不需要数字资产的应用场景,同样可以基于 DNA 提供的智能合约架构来编写任意的自定义逻辑来实现。
DNA 的设计目标主要有以下几点:
● 多种数字资产的底层支持
● 图灵完备的智能合约和状态持久化
● 跨链互操作性
● 交易的最终性
目前已有不少金融机构采用 DNA 架构来进行区块链概念验证产品的开发。除此之外,还有一些已经落地的区块链项目,如小蚁区块链、法链等。
小蚁(antshares)是一个定位于资产数字化的公有链,将实体世界的资产和权益进行数字化,通过点对点网络进行登记发行、转让交易、清算交割等金融业务的去中心化网络协议。它采用社区化开发的模式,在架构上与 DNA 保持一致,从而可以与任何基于DNA 的区块链系统发生跨链互操作。
法链是全球第一个大规模商用的法律存证区块链,一个底层基于 DNA区块链技术,并由多个机构参与建立和运营的证据记录和保存系统。该系统没有中心控制点,且数据一旦录入,单个机构或节点无法篡改,从而满足司法存证的要求。
5、Corda
Corda 是由一家总部位于纽约的区块链创业公司 R3CEV 开发的,由其发起的 R3区块链联盟,至今已吸引了数十家巨头银行的参与,其中包括富国银行、美国银行、纽约梅隆银行、花旗银行、德国商业银行、德意志银行、汇丰银行、三菱 UFJ 金融集团、摩根士丹利、澳大利亚国民银行、加拿大皇家银行、瑞典北欧斯安银行(SEB)、法国兴业银行等。
从 R3 成员的组成上也可以看出,Corda 是一款专门用于银行与银行间业务的区块链架构。尽管 R3 自己声称 Corda 不是区块链,但从各项特征来看,它具备区块链的一些特性。
技术对比
1、数字资产
接下来,将对前文中提到的这些区块链框架进行一系列的技术对比,并从多个维度展开介绍它们的区别与相似之处。
区块链的内置代币通常是一种经济激励模型和防止垃圾交易的手段。比特币天生就有且只有一种内置代币,所以在比特币系统中所有的“交易”本质上都是转账行为,除非通过外部的协议层来给比特币增加额外的数字资产。
以太坊和 DNA 具有内置代币,它们的作用除了以上提到的经济激励和防止垃圾交易之外,还具有为系统内置功能提供一个收费的渠道。比如以太坊的智能合约运行需要消耗 GAS,而 DNA 的数字资产创建也需要消耗一定的代币。
以太坊和 Fabric 没有内置的多种数字资产支持,而是通过智能合约来实现相应的功能。这种方式的好处在于,系统设计可以做到非常简洁,而且资产的行为可以任意指定,自由度极高。然而这样的设计也会带来一系列的负面影响,比如所有的资产创建者不得不自己编写重复的业务逻辑,而用户也没有办法通过统一的方式去操作自己的资产。
相比之下,DNA 和 Corda 采用了在底层支持多种数字资产的方式,让资产创建者可以方便地创建自己的资产类型,而用户也可以在同一个客户端中管理所有的资产。对于逻辑更加复杂一点的业务场景来说,他们同样可以利用智能合约来强化资产的功能,或者创建一种与资产无关的业务逻辑。
2、账户系统
UTXO(Unspent Transaction Output)是这样一种机制:每一枚数字货币都会被登记在一个账户的所有权之下,一枚数字货币有两种状态,即要么还没有被花费,要么已经被花费。当需要使用一枚数字货币的时候,就将它的状态标记为已经花费,并创造一枚新的与之等额的数字货币,将它的所有权登记到新的账户之下。在这个过程中,被标记为已花费的数字货币就被称为交易的输入,而创造出来的新的数字货币被称为交易的输出,在一笔交易中,可以包含多个输入和多个输出,但是输入之和与输出之和必须相等。要计算一个账户的余额时,只要将所有登记在该账户下的数字货币的面额相加即可得出。
比特币和 Corda 就采用了 UTXO 这样一种账户机制,而以太坊则采用了更加直观的余额机制:每个账户有一个状态,状态中直接记录了账户当前的余额,转账的逻辑就是从一个账户中减去一部分余额,并在另一个账户中加上相应的余额,减去的部分和加上的部分必须相等。DNA 在账户机制上同时兼容这两种模式。
那么 UTXO 模式和余额模式,究竟有什么优缺点呢?UTXO 最大的好处就是,基于 UTXO 的交易可以并行验证且任意排序,因为所有的 UTXO 之间都是没有关联的,这对区块链未来的伸缩性是有很大帮助的,而基于余额的设计就没有这个优势了;反过来,余额设计的优点是设计思想非常简洁和直觉化,便于程序实现,特别是在智能合约中,要处理 UTXO 的状态是非常困难的。这也是为什么以智能合约为主要功能的以太坊选择余额设计的原因,而比特币、OnchainDNA、Corda 这些以数字资产为核心的架构则更倾向于 UTXO 设计。
关于身份认证,比特币和以太坊基本没有身份认证的设计,原因很简单,因为这两者的设计思想都是强调隐私和匿名,而反对监管和中心化,而身份认证就势必要引入一些中心或者弱化的中心机构。Fabric、DNA 和 Corda 不约而同地选择了采用数字证书来对用户身份进行认证,原因在于这三者都有应用于现有金融系统的设计目标,而金融系统必然要考虑合规化并接受监管,此外现有的金融系统已经大范围地采用数字证书方案,这样便可以和区块链系统快速集成。
⑶ 为什么各大互联网公司都在做区块链
因为区块链的设计是一种保护措施,比如(应用于)高容错的分布式计算系统。区块链使混合一致性成为可能。这使区块链适合记录事件、标题、医疗记录和其他需要收录数据的活动、身份识别管理,交易流程管理和出处证明管理。区块链对于金融脱媒有巨大的潜能,对于引导全球贸易有着巨大的影响。
拓展资料:
1、区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
2、区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中介化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
3、区块链——原始区块链,是一种去中心化的数据库,它包含一张被称为区块的列表,有着持续增长并且排列整齐的记录。每个区块都包含一个时间戳和一个与前一区块的链接,设计区块链使得数据不可篡改,一旦记录下来,在一个区块中的数据将不可逆。
参考资料:区块链——网络