一、区块链涉及哪些内容
区块链涉及的范围有多广泛?
区块链可以涉及到很多方面,例如石油,金融,虚拟产物等等。可以说,生活的方方面面都可以介入到区块链。多学习一下区块链是没有坏处的。但千万不要太较真。
区块链的基本要素包括1-包含一个分布式数据库
2-分布式数据库是区块链的物理载体,区块链是交易的逻辑载体,所有核心节点都应包含该条区块链数据的全副本
3-区块链按时间序列化区块,且区块链是整个网络交易数据的唯一主体
4-区块链只对添加有效,对其他操作无效
5-基于非对称加密的公私钥验证
6-记账节点要求拜占庭将军问题可解/避免
7-共识过程(consensusprogress)是演化稳定的,即面对一定量的不同节点的矛盾数据不会崩溃。
8-共识过程能够解决double-spending问题。
区块链的五个特点:
去中心化
由于使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。
得益于区块链的去中心化特征,比特币也拥有去中心化的特征[6]。
开放性
系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。
自治性
区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。
信息不可篡改
一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。
匿名性
由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
区块链究竟指的是什么,涉及到哪些学科或领域?
区块链是什么?区块链应用主要包括互联网技术以及信息内容加密算法,再搭配以适度的规则和体制,就形成了一个可靠系统软件基础设施。这儿基础设施可解读为网上自然环境,那样可信的含意到底是什么呢?数据库加密的办法可以分为对称加密算法和对称加密,对称加密安全性比较高,但响应速度比较慢。区块链技术所使用的椭圆曲线加密技术是是非非对称加密算法中速度最快方式。因而,区块链技术的加密算法十分强大,它能确保客户的身份唯一性。除此之外,区块链技术中的信息也受到了数据加密维护难以被伪造。
但有且只有数据加密方式不够,由于互联网技术实质上是个不可信网络。由不可信到可信的方式有两条,一是加强互联网去中心化,系统对进行全面严格管控;二是由选用分布式结构区块链技术,做到互联网基层民主。区块链技术选了后面一种。目前绝大多数系统软件全是中心化的。仍然以手机微信为例子,接收消息时双方感觉在交谈,可事实上是由一个或多个微信系统服务器,对双方的数据进行分享。一旦微信客户端出问题了,即便自己的手机正常的连接网络,也不能使用微信聊天。相同的,邮件系统、电商系统和协同办公系统全是相似的方式。
如上所述,去中心化全面的核心连接点一旦出现异常,即便每一个连接点都很正常,全部系统软件或者部分系统软件也不能正常工作中。为了保证核心节点的稳定性,必须建设中心节点的一个或几个系统备份,称之为灾备中心。伴随着系统及业务结构不断发展,务必不断提升核心连接点和容灾节点的硬件软件资金投入,经营成本也会跟着提升。除此之外,因为利益驱使,核心连接点很有可能有意违背原则开展故意实际操作,如大数据技术“黑公关”难题。
区块链技术系统软件防止了以上三个问题,每一个节点的个人行为全是不同于别的节点的,节点的行为是由程序流程事前所规定的,且加密算法保证了每一个连接点没法违反规定,这便是系统软件基层民主的内涵。区块链应用一般用于搭建交易软件,并且要确保的交易信息内容真实有效,可追溯系统且不可篡改。每一次的交易信息内容被核实后储存在一个区域中,区块链信息内容根据散列技术性数据加密,以确保信息内容不会被伪造。这种区块链按照时间顺序组成传动链条。各个连接点都享有完备的区块链信息,某些节点的信息内容毁坏,也不会对区块链信息造成影响。这类档案信息方法称之为分布式账本。
在这样一个区块链技术的分布式账本中,加上一条新的记录,并关联到全部节点的实际操作务必按一定的规则进行,不然一切真实有效都无从说起。这一标准便是区块链技术的共识机制。本质上,一个公平公正的共识机制,应当容许全部连接点都可以提升区块链。当增大的区块链具体内容不相同,应该根据某类标准去商议,直至某一个区块链具体内容被接纳,之后全部连接点拷贝此区块链。与其等额的做法就是,非是全部连接点都能够提升区块链,反而是依据某类标准竞选出一个有资格提升新服块连接点,拷贝该结点所增大的区块链信息内容。区块链技术使用了后面一种,而且由于选举规则是公开透明的,竞选典礼就会变成市场竞争全过程。
简单来说什么是区块链?区块链是信息技术领域的一个术语。本质上,它是一个共享数据库。其中存储的数据或信息具有“不可伪造性”、“全过程追溯性”、“可追溯性”、“公开透明性”和“集体维护性”等特征。基于这些特点,区块链科技奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的应用前景。
2019年1月10日,国家互联网信息办公室发布《区块链信息服务管理规定》。区块链进入大众视野,成为社会焦点。从科技角度来看,区块链涉及数学、密码学、互联网、计算机编程等诸多科技问题。
拓展资料:
从应用的角度来看,简而言之,区块链是一个分布式的共享账本和数据库,具有去中心化、不篡改、全程留痕、可追溯、集体维护、公开透明的特点。这些特点确保了区块链的“诚实”和“透明”,并为在区块链建立信任奠定了基础。区块链丰富的应用场景基本是基于区块链能够解决信息不对称问题,实现多主体之间的合作信任和协同行动。
区块链是分布式数据存储、点对点传输、共识机制和加密算法等计算机技术的新应用模式。区块链是比特币的一个重要概念。本质上,它是一个分散的数据库。同时,作为比特币的底层技术,它是一系列与密码方法相关联的数据块。每个数据块包含一批比特币网络交易的信息,以验证其信息的有效性(防伪)并生成下一个数据块[8]。事实上,区块链这个词并没有出现在最初的英文比特币白皮书中,而是区块链。在最早的比特币白皮书[9]的中文翻译中,区块链被翻译成了区块链语。这是汉语“区块链”一词出现的最早时间。
区块链能应用在哪些方面?1、金融领域
区块链在国际汇兑、信用证、股权登记和证券交易所等金融领域有着潜在的巨大应用价值。将区块链技术应用在金融行业中,能够省去第三方中介环节,实现点对点的直接对接,从而在大大降低成本的同时,快速完成交易支付。
比如Visa推出基于区块链技术的VisaB2BConnect,它能为机构提供一种费用更低、更快速和安全的跨境支付方式来处理全球范围的企业对企业的交易。要知道传统的跨境支付需要等3-5天,并为此支付1-3%的交易费用。
Visa还联合Coinbase推出了首张比特币借记卡,花旗银行则在区块链上测试运行加密货币“花旗币”。
2、物联网和物流领域
区块链在物联网和物流领域也可以天然结合。通过区块链可以降低物流成本,追溯物品的生产和运送过程,并且提高供应链管理的效率。该领域被认为是区块链一个很有前景的应用方向?[22]??。
区块链通过结点连接的散状网络分层结构,能够在整个网络中实现信息的全面传递,并能够检验信息的准确程度。
这种特性一定程度上提高了物联网交易的便利性和智能化。区块链+大数据的解决方案就利用了大数据的自动筛选过滤模式,在区块链中建立信用资源,可双重提高交易的安全性,并提高物联网交易便利程度。为智能物流模式应用节约时间成本。
区块链结点具有十分自由的进出能力,可独立的参与或离开区块链体系,不对整个区块链体系有任何干扰。区块链+大数据解决方案就利用了大数据的整合能力,促使物联网基础用户拓展更具有方向性,便于在智能物流的分散用户之间实现用户拓展。
3、公共服务领域
区块链在公共管理、能源、交通等领域都与民众的生产生活息息相关,但是这些领域的中心化特质也带来了一些问题,可以用区块链来改造。
区块链提供的去中心化的完全分布式DNS服务通过网络中各个节点之间的点对点数据传输服务就能实现域名的查询和解析,可用于确保某个重要的基础设施的操作系统和固件没有被篡改,可以监控软件的状态和完整性,发现不良的篡改,并确保使用了物联网技术的系统所传输的数据没用经过篡改。
4、数字版权领域
通过区块链技术,可以对作品进行鉴权,证明文字、视频、音频等作品的存在,保证权属的真实、唯一性。作品在区块链上被确权后,后续交易都会进行实时记录,实现数字版权全生命周期管理,也可作为司法取证中的技术性保障。
例如,美国纽约一家创业公司MineLabs开发了一个基于区块链的元数据协议,这个名为Mediachain的系统利用IPFS文件系统,实现数字作品版权保护,主要是面向数字图片的版权保护应用。
5、保险领域
在保险理赔方面,保险机构负责资金归集、投资、理赔,往往管理和运营成本较高。通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发理赔条件,实现保单自动理赔。
一个典型的应用案例就是LenderBot,是2016年由区块链企业Stratumn、德勤与支付服务商Lemonway合作推出,它允许人们通过FacebookMessenger的聊天功能;
注册定制化的微保险产品,为个人之间交换的高价值物品进行投保,而区块链在贷款合同中代替了第三方角色。
6、公益领域
区块链上存储的数据,高可靠且不可篡改,天然适合用在社会公益场景。公益流程中的相关信息,如捐赠项目、募集明细、资金流向、受助人反馈等,均可以存放于区块链上,并且有条件地进行透明公开公示,方便社会监督。
结构
区块链是一种分散的、分布式的、通常是公共的数字分类账,由称为块的记录组成,用于记录多台计算机上的交易,因此任何涉及的块都无法追溯更改,而不会更改所有后续块。这允许参与者独立且相对便宜地验证和审计交易。
使用对等网络和分布式时间戳服务器自主管理区块链数据库。他们通过以集体利益为动力的大规模协作得到验证。这样的设计促进了稳健的?工作流程,其中参与者对数据安全的不确定性很小。区块链的使用消除了数字资产无限可重复性的特征。
它确认每个价值单位只转移一次,解决了长期存在的双重支出问题。区块链被描述为一种价值交换协议。区块链可以维护所有权,因为当正确设置以详细说明交换协议时,它提供了强制要约和接受的记录。
1、块
区块保存成批的有效交易,这些交易被散列并编码到Merkle树中。每个区块都包含区块链中前一个区块的加密哈希,将两者联系起来。链接的块形成一个链。这个迭代过程确认了前一个块的完整性,一直回到初始块,这被称为创世块。
有时可以同时生成单独的块,从而创建一个临时分叉。除了安全的基于散列的历史记录之外,任何区块链都有一个指定的算法来对不同版本的历史进行评分,以便可以选择得分较高的一个。未被选择包含在链中的块称为孤块。
支持数据库的对等点不时有不同版本的历史记录。他们只保留他们已知的数据库的最高分版本。每当对等方收到得分较高的版本(通常是添加了一个新块的旧版本)时,他们就会扩展或覆盖自己的数据库,并将改进结果重新传输给对等方。从来没有绝对保证任何特定条目将永远保留在历史的最佳版本中。
区块链通常被构建为将新区块的分数添加到旧区块上,并给予奖励以扩展新区块而不是覆盖旧区块。因此,一个条目被取代的概率随着更多的块被构建在它之上而呈指数下降,最终变得非常低。
2、权力下放
通过在其对等网络中存储数据,区块链消除了集中保存数据所带来的许多风险。去中心化的区块链可以使用adhoc?消息传递和分布式网络。缺乏去中心化的一个风险是所谓的“51%攻击”,在这种情况下,中央实体可以控制超过一半的网络,并可以随意操纵特定的区块链记录,从而允许双重支出。
点对点区块链网络缺乏计算机破解者可以利用的集中漏洞;同样,它没有中心故障点。区块链安全方法包括使用公钥密码学。甲公共密钥(一个长的,随机的前瞻性数字串)是在blockchain的地址。通过网络发送的价值代币被记录为属于该地址。
一个私钥就像是给它的所有者访问他们的数字资产或手段以其他方式和各种功能相互作用是blockchains现在支持一个密码。存储在区块链上的数据通常被认为是不可破坏的。
去中心化系统中的每个节点都有区块链的副本。数据质量由海量数据库复制和计算信任来维护。不存在集中的“官方”副本,也没有用户比其他用户更“受信任”。
交易使用软件广播到网络。消息是在尽力而为的基础上传递的。挖矿节点验证交易,将它们添加到他们正在构建的区块中,然后将完成的区块广播给其他节点。
区块链使用各种时间戳方案,例如工作量证明,序列化更改。替代的共识方法包括股权证明。一种分散blockchain的增长伴随着的风险集中,因为该计算机资源需要处理更大量的数据变得更昂贵。
3、开放性
开放区块链比一些传统的所有权记录更加用户友好,虽然对公众开放,但仍然需要物理访问才能查看。由于所有早期的区块链都是未经许可的,因此对区块链的定义产生了争议。这场正在进行的辩论中的一个问题是,一个由中央机构负责和授权(许可)验证者的私有系统是否应该被视为区块链。
许可链或私有链的支持者认为,术语“区块链”可以应用于任何将数据分批处理到时间戳块的数据结构。这些区块链作为多版本并发控制的分布式版本(MVCC)在数据库中。正如MVCC防止两个交易同时修改数据库中的单个对象一样,区块链防止两个交易在区块链中花费相同的单个输出。
反对者表示,许可系统类似于传统的企业数据库,不支持去中心化数据验证,并且此类系统没有针对操作员篡改和修改进行加固。
Computerworld的NikolaiHampton表示,“许多内部区块链解决方案只不过是繁琐的数据库”,“如果没有明确的安全模型,专有区块链应该受到怀疑。”
以上内容参考?百度百科-区块链
二、区块链的大小是多少
区块链是什么?
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
含义
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
区块链
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式??。
基础架构模型
区块链基础架构模型
一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点?。
区块链核心技术简介
区块链主要解决的交易的信任和安全问题,因此它针对这个问题提出了四个技术创新:
第一个叫分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
第二个叫做非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
第三个叫做共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。
以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能。
最后一个技术特点叫智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。
在保险公司的日常业务中,虽然交易不像银行和证券行业那样频繁,但是对可信数据的依赖是有增无减。因此,笔者认为利用区块链技术,从数据管理的角度切入,能够有效地帮助保险公司提高风险管理能力。具体来讲主要分投保人风险管理和保险公司的风险监督。
区块链的发展历程
区块链–原始区块链,是一种去中心化的数据库,它包含一张被称为区块的列表,有着持续增长并且排列整齐的记录。每个区块都包含一个时间戳和一个与前一区块的链接:设计区块链使得数据不可篡改—一旦记录下来,在一个区块中的数据将不可逆。
区块链的设计是一种保护措施,比如(应用于)高容错的分布式计算系统。区块链使混合一致性成为可能。这使区块链适合记录事件、标题、医疗记录和其他需要收录数据的活动、身份识别管理,交易流程管理和出处证明管理。区块链对于金融脱媒有巨大的潜能,对于引导全球贸易有着巨大的影响。
2008年由中本聪第一次提出了区块链的概念,在随后的几年中,成为了电子货币比特币的核心组成部分:作为所有交易的公共账簿。通过利用点对点网络和分布式时间戳服务器,区块链数据库能够进行自主管理。为比特币而发明的区块链使它成为第一个解决重复消费问题的数字货币。比特币的设计已经成为其他应用程序的灵感来源。
1991年,由StuartHaber和W.ScottStornetta第一次提出关于区块的加密保护链产品,随后分别由RossJ.Anderson与BruceSchneierJohnKelsey分别在在1996年和1998年发表。与此同时,NickSzabo在1998年进行了电子货币分散化的机制研究,他称此为比特金。2000年,StefanKonst发表了加密保护链的统一理论,并提出了一整套实施方案。
区块链格式作为一种使数据库安全而不需要行政机构的授信的解决方案首先被应用于比特币。2008年10月,在中本聪的原始论文中,“区块”和“链”这两个字是被分开使用的,而在被广泛使用时被合称为区块-链,到2016年才被变成一个词:“区块链”。在2014年8月,比特币的区块链文件大小达到了20千兆字节。
到2014年,“区块链2.0”成为一个关于去中心化区块链数据库的术语。对这个第二代可编程区块链,经济学家们认为它的成就是“它是一种编程语言,可以允许用户写出更精密和智能的协议,因此,当利润达到一定程度的时候,就能够从完成的货运订单或者共享证书的分红中获得收益”。区块链2.0技术跳过了交易和“价值交换中担任金钱和信息仲裁的中介机构”。它们被用来使人们远离全球化经济,使隐私得到保护,使人们“将掌握的信息兑换成货币”,并且有能力保证知识产权的所有者得到收益。第二代区块链技术使存储个人的“永久数字ID和形象”成为可能,并且对“潜在的社会财富分配”不平等提供解决方案。14-15截至2016年,区块链2.0链下交易仍旧需要通过Oracle,使任何“基于时间或市场条件[确实需要]的外部数据或事件与区块链交互”。
在2016年,俄罗斯联邦中央证券所(NSD)宣布了一个基于区块链技术的试点项目。许多在音乐产业中具有监管权的机构开始利用区块链技术建立测试模型,用来征收版税和世界范围内的版权管理。2016年7月,IBM在新加坡开设了一个区块链创新研究中心。2016年11月,世界经济论坛的一个工作组举行会议,讨论了关于区块链政府治理模式的发展。据Accenture的一份关于创新理论发展的调查中显示,2016年区块链在经济领域获得的13.5%使用率,使其达到了早期开发阶段。在2016年,行业贸易组织共创了全球区块链论坛,这就是电子商业商会的前身。
该概念在中本聪的白皮书中提出,中本聪创造第一个区块,即“创世区块”。
2009年1月3日,比特币的创始人中本聪在创世区块里留下一句永不可修改的话:
“TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks(2009年1月3日,财政大臣正处于实施第二轮银行紧急援助的边缘)。”
当时正是英国的财政大臣达林被迫考虑第二次出手纾解银行危机的时刻,这句话是泰晤士报当天的头版文章标题。
区块链的时间戳服务和存在证明,第一个区块链产生的时间和当时正发生的事件被永久性的保留了下来。
比特币公司BTCC于2015年推出了一项服务“千年之链”即区块链刻字服务,就是采用的以上原理。用户可以将通过这项服务将文字刻在区块链上,永久保存。
数字货币的现状是百花齐放,列出一些常见的:bitcoin、litecoin、dogecoin、dashcoin,除了货币的应用之外,还有各种衍生应用,如Ethereum、Asch等底层应用开发平台以及NXT,SIA,比特股,MaidSafe,Ripple等行业应用。
2016年1月20日,中国人民银行数字货币研讨会宣布对数字货币研究取得阶段性成果。会议肯定了数字货币在降低传统货币发行等方面的价值,并表示央行在探索发行数字货币。中国人民银行数字货币研讨会的表达大大增强了数字货币行业信心。这是继2013年12月5日央行五部委发布关于防范比特币风险的通知之后,第一次对数字货币表示明确的态度。
可以用区块链的一些领域可以是:
??智能合约
??证券交易
??电子商务
??物联网
?社交通讯
??文件存储
??存在性证明
??身份验证
??股权众筹
我们可以把区块链的发展类比互联网本身的发展,未来会在internet上形成一个比如叫做finance-internet的东西,而这个东西就是基于区块链,它的前驱就是bitcoin,即传统金融从私有链、行业链出发(局域网),bitcoin系列从公有链(广域网)出发,都表达了同一种概念——数字资产(DigitalAsset),最终向一个中间平衡点收敛。
区块链的进化方式是:
?区块链1.0——数字货币
?区块链2.0——数字资产与智能合约
?区块链3.0——各种行业分布式应用落地
区块链到底是不是骗局区块链技术本身不是骗局,但是不排除有人拿区块链做幌子去做骗局。区块链存在的几个问题:1、区块链体积过大问题随着区块链的发展,节点存储的区块链数据体积会越来越大,存储和计算负担将越来越重。以比特币区块链为例,其完整数据的大小当前已达约71GB,用户如果使用比特币核心客户端进行数据同步的话,可能三天三夜都无法同步完成,并且,区块链的数据量还在不断地增加,这给比特币核心客户端的运行带来了很大的门槛。2、区块链数据确认时间的问题目前的区块链系统,尤其是金融区块链系统中,存在数据确认时间较长的问题。以比特币区块链为例,当前比特币交易的一次确认时间大约需要10分钟,6次确认的情况下,需要等待约1小时,当然对于信用卡动则2至3天的确认时间来说,比特币已经有了很大的进步了,但距离理想状态仍有较大距离。3、处理交易频率问题区块链系统面临交易频率过低的问题。还是以比特币区块链为例,每条交易的平均大小约为250个字节(Byte),如果区块大小限制在1MB,那么可以容纳的交易数量为4000条。按照每10分钟产生一个区块的速度计算,每天可以产生144个区块,也就是能容纳576000条交易,再除以每天的秒数86400,比特币区块链最高每秒处理6.67笔交易。目前,比特币区块链上每天的实际交易量已经接近系统瓶颈(图),如果扩容问题没有得到解决,可能造成大量交易的堵塞延迟。比特币区块平均交易数(来源:区块元)相比之下,Paypal在2013年第三季度的总体交易笔数为7.29亿笔,平均每秒为93.75笔交易。全球最大的支付卡VISA的官网信息显示,VisaNet在2013年的测试中,实现了处理每秒47000笔交易。比特币区块链比起支付宝等几大支付网络,从交易处理频率来看,更像是一个刚出生的婴儿。当然,这也是中本聪早期故意为之的设计,比特币区块大小被限制在了1MB,以此避免流氓矿工的恶意行为,对人们造成不良的影响,比特币区块链支付网络之所以能够成长到如今价值数十亿美元,就在于它的去中心化。4、区块链发展受到现行制度的制约一方面,区块链去中心、自治化的特性淡化了国家监管的概念,对现行体制带来了冲击。比如,以比特币为代表的数字货币不但对国家货币发行权构成挑战,还影响到货币政策的传导效果,削弱央行调控经济的能力,导致货币当局对数字货币的发展保持谨慎态度。另一方面,监管部门对这项新技术也缺乏充分的认识和预期,法律和制度建立可能会滞后,导致与运用区块链相关的经济活动缺乏必要的制度规范和法律保护,无形中增大了市场主体的风险。5、区块链技术与现有制度的整合成本较大对于任何创新,现有机构都要保证既能创造经济效益,又要符合监管要求,还要与传统基础设施衔接。特别是当部署一个新型基础系统时,耗费的时间、人力、物力成本都非常大,现有传统机构内部遇到的阻力也不小。当然,问题的存在并不能阻碍区块链的发展步伐,诸如简单支付验证、侧链、闪电网络协议等技术的提出和深入研究,已经为上述问题的解决提出了思路。
法律依据:《刑法》
第二百六十六条【诈骗罪】诈骗公私财物,数额较大的,处三年以下有期徒刑、拘役或者管制,并处或者单处罚金;数额巨大或者有其他严重情节的,处三年以上十年以下有期徒刑,并处罚金;数额特别巨大或者有其他特别严重情节的,处十年以上有期徒刑或者无期徒刑,并处罚金或者没收财产。本法另有规定的,依照规定。
区块链信息越来越大怎么办?
当初中本聪也考虑了这个问题,他认为技术也在不断发展中,更好的存储和网络技术有能力存储和传输日益增长的区块链。即使如此,中本聪还是设置了每个区块1M大小的限制,防止区块链过度膨胀。让我们做一个计算:每十分钟产生一个区块链,那么比特币诞生10年以后,也就是到2019年,区块链的大小可能会有多大:10*365*24*6≈525G。再过10年到2029年,差不多1T。即使在现在看来,问题也不大。所以倒是不必太担心。
但区块链的空间,不仅仅会随着时间增长。现在每个区块1M的空间,已经有些不能够满足比特币的发展了。为什么?因为交易量大了,每个区块空间只有1M,能容纳的交易数量有限,所以就要考虑扩容区块链来突破这个限制。2015年,社区对区块链的扩容讨论了多次。最终,仍然保持1M大小的区块链空间,但可以容纳更多交易的“隔离见证”技术生出,可能会作为区块链扩容的第一步。后续还会有“闪电网络”其他技术来缓解区块链空间紧张的问题。但无论如何,比特币区块链也不可能无限扩容。在我的思考中,比特币区块链最终会成为一个锚,其他应用有自己的数据保存方式,不必都保存在比特币区块链上,但可以把数据的Merkle根保存在比特币区块链,一次来保证数据的安全性。
区块链扩容是什么?1分钟了解比特币扩容问题的前世今生。
在比特币诞生之初,比特币的创始人中本聪并没有特意限制区块的大小,区块最大可以达到32MB。
当时,平均每个区块大小为1-2KB,有人认为区块链上限过高容易造成计算资源的浪费,还容易发生DDOS攻击。因此,为了保证比特币系统的安全和稳定,中本聪决定临时将区块大小限制在1MB。
那时比特币的用户数量少,交易量也没有那么大,并不会造成区块拥堵。2013年至今,比特币价格直线飙升,用户越来越多,比特币网络拥堵、交易费用上升的问题逐渐涌现出来。
比特币社区开始探索如何给比特币“扩容”,即通过修改比特币底层代码,从而达到提高交易处理能力的目的。
新比特币(NBTC):大受追捧的根本原因在哪比特币区块链的大小维持在1M是BitcoinCore团队自己的意愿,并不是必须,要维持在1M。
在比特币刚诞生的时候中本聪并没有把区块链大小设置为1M,但当时比特币交易是非常少的,不存在拥堵的问题,也为了防止比特币网络被攻击而把区块链大小设置成了1M。在2013年年底,比特币拥堵问题就已经非常明显了,因此扩容逐渐提上了日程,也已经成为了共识,但是对如何去扩容却没有达成共识。
Core之所以坚持1m不变,可能是有私心的,把比特币当做了自己的孩子,想怎么样就怎么样,但是比特币社区反对声音是非常大。因为,其拒绝其签署的香港共识,因此,在国内也是不受欢迎的。国内更多支持的是大区块,BU方案也是受追捧的方案之一。
三、区块链dag什么意思(区块链的dac)
什么是DAG
参考ExplainingDirectedAcylicGraph(DAG),TheRealBlockchain3.0
Bitcoin视为blockchain1.0,Ethereum视为2.0,那么3.0是什么?DAG可能会是.
DAG,即DirectAcyclicGraph,有向无环图.它的特点是节点有先后次序,可以有分叉,但还不会有环.DAG常用语数据处理,事务规划,最优路径查找,数据压缩
bitcoin之所以效率低是因为它的POW机制.整个网络只有一个主链,其上的新块只能有一个,无法同时创建多个新块.10分钟左右以内的所有交易记录都被记录到一个块中.Ethereum也是类似,大概15-20秒产生一个新块.
NXT是第一个想到用DAG替代blockchain单链表结构的组织.
有了DAG,就可以同一时间创建多个块.
使用DAG的想法来自于侧链(side-chain).不同类型的交易在不同的链上同时进行.
IoTChain(ITC),IOTA,和Byteball是没有block概念的项目.
如果每个block只有一个transaction,那这个transaction就不用等待被打包,跳过计算hash的过程(即挖矿),直接上链了.
Bitcoin使用UTXO(UnspentTransactionoutput)模型.
DAG网络中,降低网络宽度是比较重要的一个课题.
由于只有transaction,没有打包的过程,DAG比基于PoW或PoS的区块链更快.
DAG网络里,没有矿工.交易的验证直接在交易时进行.对于用户来说这意味着交易可以瞬间完成.
DAG可以有效降低交易费.
IoTChain(ITC)所基于的DAG的TPS达到10,000.
『学概念找员外』有向无环图DAG的用途有向无环图(DAG,DirectedAcyclicGraph):是一个无回路的有向图。如果有一个图,从A点出发到B点,然后经过C点,最后可以顺着方向回到A,形成一个闭环,那么这个图就不是非向无环图。如果将从C到A的边方向改为从A到C,则变成有向无环图。如图1和图2。
看到这两幅图,应该可以明白了,当然这个图是很简单的,只有三个点,事实上可能是由百万千万或者更多个点组成的图。有向无环图就是从一个图中的任何一点出发,不管走过多少个分叉路口,都没有回到原来这个点的可能性。
拓扑排序:就是一个有向无环图的所有定点的线性序列。且这个序列必须满足这两个条件:
这个东西,是比较难理解,再上图说话吧。比如在这个有向无环图中,它用拓扑排序,该怎么进行呢?
最后,一个完整的拓扑排序就完成了,结果为:1、2、4、3、5。
大家都知道,在比特币系统中,固定约十分钟出一个块,而且一旦打包成功一个区块,这个区块的信息还必须同步到其他的所有区块上面去,这是极其耗费资源和时间的。同时一个块里面大概能容纳3000笔交易,也就意味着10分钟才能交易成功3000笔。这个交易速度实在是满足不了用户的需求,所以为了解决比特币这个问题,出现了各种分叉币,也可谓是把比特币搞的乱七八糟了。后来以太坊问世后,基于比特币的基础上,交易速度提高了不少,每秒交易可达到20笔左右,但是任然有多次的以太坊拥堵事件,证明这个交易速度还远远不够。
在比特币系统中,如果可以改变51%的节点的记录数据,那么就实现了恶意攻击。然而现在比特币的大部分算力掌握在少数几个较大的矿厂手里,虽然大家都有共识,不会发起恶意攻击,但是不代表不会有意外事件发生。
随着计算机硬件的不断迭代升级,量子计算机的问世,那么比特币的加密算法还会有用吗?会不会被破解掉?虽然比特币的哈希算法可以实时调整难度,但是到底能承受多大的考验,员外是说不清的。
比特币用于大额的跨境转账或者交易等用途,还是挺实用的,但是谁会去用比特币购买小件商品?显然是不可能的,交易手续费就会让你心疼半天,然后还得再等半天的确认时间。
在区块链的应用上使用了DAG图之后,可以使得出块速度变快,因为DAG图中的每个顶点都是一个在某一时间点打包完成的区块。与传统的公链一次性只能产出一个区块来比,DAG的不同节点都可以自己来生成区块,然后这个区块只要选择好自己的下一个或者多个区块作为自己的子区块就好了。仅仅是在这一点上,出块速度就会高出比特币多个量级,交易速度简直可以快的飞起。
基于DAG的数据结构来说的话,对于里面的每个节点来说,因为与之相连的节点很少,而且是有方向性的,只能往前不能后退,所以都不需要再等大量的其他节点达成共识后,再同时确认下一笔交易了,避免了因网络延迟和数据同步造成的大量时间浪费。所以,使用DAG记账的节点的延展性可得到大幅度提升。
从上面这张图中,可以看到DAG的每一个节点都可以向下连接任意多个新的节点,这个有什么用呢?如果在这一个区块内部交易数据或者与之相连的下一步的交易数据也是过多的话,那么就可以分成足够多个区块来共同分担区块压力,从而可以提高交易的吞吐量。相比于比特币这样的系统每次只能打包一个区块来说,简直是完胜。
没有一个东西是完美的,有优势就有缺点,所以DAG的缺点目前在安全问题上面,主要是双花和影子链攻击。这个问题员外目前还没有找到足够好的答案,只能后续再说了。
本文参加优享优质经验征集计划,经验即价值,优享为成长买单
全球首个去中心化经验价值共享平台“优享”开启今夏最强空投!注册即送UX,最高5000UX,更多价值,等你发现!注册链接
GHOST,DAG,SPECTRE,PHANTOM和CONFLUX技术原理??DAG概念,当做继比特币,以太坊后新的一代区块链技术(区块链3.0),那么DAG区块链是什么?DAG的由来是什么?它的技术理念是怎么样的?运行在DAG区块链上的协议有哪些?
??要想解释DAG,离不开YonatanSompolinsky和AvivZohar两位以色列人,他们是DAG区块链这一概念的提出者。在DAG之前,AvivZohar提出了一个GHOST协议(以太坊初期就采用了GHOST协议),该协议解决的是链分叉带来的安全性问题,而分叉的区块链在GHOST协议下数据结构就从一条链变成了一个树(Tree),而之后AvivZohar进一步提出了一个inclusive协议,在inclusive协议规则下,区块的结构就变成了有向无环图(DAG)。
接下来本文将:
??1.介绍GHOST协议,DAG由来背后的设计原理
??2.介绍三种针对DAG型区块链设计的协议,SPECTRE、PHANTOM和CONFLUX。
??GHOST协议是为了解决分叉导致链安全性降低的一个协议。
??下边将通过解释什么是分叉,为什么分叉会降低链的安全性,链上扩容为什么会导致更多分叉来详细介绍GHOST协议。
一笔比特币交易为什么要等6个区块的交易时长呢?
??等待不是为了防范51%攻击的。落后6个区块,如果拥有超过51%的算力,只要足够长的时间,一定能够产生更长的链完成攻击。它是为了防止分叉带来的风险。
??比特币在理想情况下,不同节点之间有相同的一条区块链,全部节点都是基于同一个区块进行挖矿,但当两个挖矿节点几乎同时挖到一个新的区块,当它们接收到对方产生的区块时,不同的节点将选择基于其中一个区块挖矿,分叉产生了。之后节点会根据哪条分叉更长,选择哪条是主链进行挖矿,而不是主链的分叉区块全部被抛弃。
??比特币每天都会发生二分叉,但出现连续的六次分叉几乎不可能,于是要等待6个区块的确认时间。(这种分叉不是来自恶意攻击,是偶然性以及网络延迟导致的。
分叉将‘攻击不超过51%算力,比特币就是安全的’这一理论推翻。
??在比特币中,当链有分叉时,将选择分叉最长的链作为主链,恶意攻击就是产生一条比主链更长的链代替主链。
??下图中蓝色区块代表诚实区块,红色代表攻击区块。2号、3号蓝色区块产生分叉,此时攻击节点产生5个攻击区块(红色)就能产生一条更长的链完成攻击。虽然蓝色区块总数更多(有6个),但分叉的区块没有增加链的长度,这种情况下,红色攻击方在算力(假设每个区块代表算力相同)没有超过51%的情况下攻击成功。
??比特币当前安全的原因在于10分钟的区块时间降低了分叉可能性,但其实际安全算力仍低于51%,也就是说,不需要51%的算力也能攻击成功。
??采用大区块以及小的产出时间将导致链有很多分叉。??
??比特币当前处理交易量很低,改进这个缺陷一个可行方法就是增大区块的大小和减小区块的产出时间。大区块需要更多的网络传输时间、单位时间更多的区块数都会导致更多的分叉。??
??链上扩容的方案对比特币处理交易能力提升是巨大的,假如每个区块大小变为原来的八倍(8M),出块时间缩短为原来的五分之一(2分钟),理想情况下,比特币的处理交易量将变为原来的40倍,实际情况会产生分叉,交易量不会有这么高。
??主链选择中,采用计算最大子树来代替比特币中的最长链规则。??
??比特币的最长链规则在有分叉情况下,将降低链的安全性,分叉越多,安全性越低。链上扩容将导致更多分叉,导致链不安全。
??YonatanSompolinsky提出GHOST规则,当有分叉时,通过计算最大子树,也就是每条分叉拥有的所有区块数来决定哪条链是主链。图0中,链在区块0后分叉了,上边分叉总计有6个蓝色区块,下边分叉有5个红色区块,蓝色区块1是主链,所以红色攻击失败。??
??在有大量分叉的情况下,GHOST规则将链安全性直接提到了51%,分叉对采用GHOST协议的链安全性没有影响。
??根据GHOST规则,上图中虽然诚实节点产生了12个区块,但加入主链的只有4个区块,大量区块被丢弃,假定比特币每个区块大小变为原来的八倍(8M),出块时间缩短为原来的十分之一(1分钟),分叉率为0.33(产生的区块加入主链的概率),比特币的处理交易能力将变为原来的26.6倍。
GHOST协议解决了链上扩容导致分叉带来的安全性问题。
区块的结构类型就从一条链变为树
??在GHOST的提出后,YonatanSompolinsky提出一种新的设想,新产生的区块指向所有已知的分叉末端区块,即一个区块有多个父亲,此时区块链就从一条链变为多条分叉链共同组成的的结构,这样的链结构就被叫做DAG(有向无环图)。
YonatanSompolinsky进而提出了在DAG上运行的inclusive协议,原理如下:
遗憾的是,YonatanSompolinsky之后并没有详细介绍补充该协议,而是提出了一种新思路的DAG协议——SPECTRE。
??看完上边内容之后,你会发现,最长链规则下,分叉的区块对比特币安全性和交易量没有任何贡献,白白的浪费了算力,而GHOST通过计算分叉区块个数来提升链的安全性,但分叉区块除了纳入区块计数外,区块内包含的交易信息却全部被丢弃。
??这种新的区块结构带来了新的特性,当然,比特币的最长链规则也可以在DAG上实施,只不过安全性和处理交易能力不佳,而GHOST协议可以提高安全性和处理交易能力,为了最大化利用DAG区块链特性,社区提出了不同的协议,接下来介绍YonatanSompolinsky提出的SPECTRE协议,以及PHANTOM协议,以及国内某社区提出的CONFLUX协议。
丢弃主链概念,所有产生的区块共同构成账本,不丢弃任何一个区块
??只要是产生的区块就不会被丢弃,所有的区块都是有效的,所有区块共同组成账本,这样进一步提高了区块链的处理交易能力,该设计的关键在于设计算法来保证区块链不会被恶意攻击成功。??
??SPECTRE协议较为复杂,下边将从其如何产生区块、如何处理冲突交易以及产生可信交易集三个方面进行描述。
SPECTRE协议中,当产生区块时,要指向之前所有分叉的末端区块。
??下图中,左边为比特币产生区块时,当有分叉出现,新区块将选择基于其中一个产生新的区块,而SPECTRE中,将基于所有分叉末端区块产生新的区块。同时,当有新区块产生时,节点要立刻将新区块(包含基于哪些区块产生这一信息)发送给与自己相连接的节点。
??仔细观察,GHOST协议中虽然有分叉,但每个区块都只基于前边某一个区块产生,而SPECTRE协议中要基于当前节点知道的所有末端区块产生下一个区块。
SPECTRE协议将矿工维持交易不冲突的要求剥除??
??比特币就像一本权威的账本,只要是里边记录的,就一定是真的(不考虑分叉和恶意攻击),而SPECTRE产生的DAG就像一本不权威账本,里边的交易信息可能冲突(上边图1中两个1区块中可能包含冲突交易信息)。??
??该协议下,挖矿节点只负责迅速挖区块(能够达到1秒一个区块),而对分叉中可能包含的冲突交易在挖矿阶段并不做任何处理,将记录交易速度最大化,让DAG这种区块链有着恐怖的处理交易能力。
??是时候解决挖矿不解决的冲突交易问题了,SPECTRE的思路是设计一个计算投票的算法,让诚实区块会投票给诚实的区块,后边的诚实区块会给前边的堆叠算力,从而让恶意攻击失败,其安全算力也是51%。??
??拿双花举例,下图中,X和Y区块中包含着两条冲突交易会导致双花,此时DAG中的区块会对X和Y进行投票,决定哪一个交易有效。
投票规则如下,投X的标蓝,投Y的标红,XY代表X先于Y:
??根据投票结果,X中的那条交易信息有效,Y中对应的那条交易信息无效。??YonatanSompolinsky也对不指向前边区块以及产生区块不发给邻居节点的恶意攻击有进行分析,在投票规则中,低于50%算力的攻击者会失败。??
??投票听起来像是一个主动地中心化行为,实际上不是,程序根据当前DAG区块所处的状态自发完成这一区块投票计算过程,就相当于,给定一个DAG数据,输入为两条冲突信息,运行该规则算法,将得出一对冲突交易的哪一个为有效。
SPECTRE可信交易集就相当于超过当前6个区块的比特币链里组成的交易集合。??区块链从数字加密货币的角度来说,就是一个账本,从账本上的交易信息中得出每个账户所拥有的货币,所以,得出确定的、不可能更改的交易信息就至关重要,SPECTRE可信交易集产生过程如下:
SPECTRE并不会对所有区块进行排序,所有区块没有一个完整的线形顺序,有的只是决定冲突信息先后的区块顺序对。??
??比特币中的高度代表的就是线形顺序,高度低的区块中交易信息先于高度高的区块里的信息,高度高的区块就不能包含和高度低的区块冲突的交易,而SPECTRE有大量的分叉,区块高度不能代表线形顺序,前边的区块交易信息不一定先于后边的分叉区块交易信息,交易信息的有效性要由投票算法来决定,区块投票算法很快,再加上它将所有分叉区块都包含进来,也就没有了比特币所面临的分叉风险(等待6个区块),交易确认时间可以达到10秒。
至此,和比特币相比,SPECTRE对应的DAG区块链有三个特点:
??SPECTRE协议非常适合DAG型数字加密货币,但当它用于智能合约时,它的缺陷就出来了,智能合约需要一个严格的线性顺序,对此YonatanSompolinsky新设计了PHANTOM协议来对DAG区块形成一个线性顺序,下边将详细介绍PHANTOM协议。
SPECTRE和PHANTOM是两个完整的独立的协议,不是一个对另一个的补充。
??PHANTOM的挖矿机制和SPECTRE一样,会产生同样类型的DAG,不同的是PHANTOM通过对区块连通度分析,判定区块诚实还是恶意,按照分类对区块排序,对DAG区块产生一个严格的线性顺序,通过线性顺序来判断冲突交易有效性。
DAG中,攻击者有两种攻击手段,一产生的区块不基于已知的末端区块,二不立即发布自己产生的区块,前者会让自己区块指向的区块变少,后者让其他节点产生的区块不会指向自己的区块,这两种情况都会导致这些恶意区块的与其它区块的连接度低。
??诚实区块在考虑网络最大延迟下,经过一定时间一定会传遍整个网络,一定会被后边的区块所指向,诚实节点在产生新区块时也一定会指向自己所知道的末端区块。
??通过对区块指出去的边和指向该区块的边进行分析,也就是区块的连通度,当考虑最大的网络延迟,连通度会有一个极限值K,低于该值的区块可以被认定为恶意区块,在排序中要处于劣势。
接下来,进行区块诚实和恶意判定,判定分两步,第一步最重要,实现复杂也耗费时间,主要为通过对区块连通度的判定,将强连通度的区块标为蓝色视为诚实区块,弱的标为红色视为恶意区块。
??第二步先对蓝色区块集排序,拓扑排序,然后对红色区块集排序。红色区块的顺序要处于弱势,例如上图中C,它处于A和I之间,那么它的顺序会排在I的前一个区块,而D、H都会排在C前。注意通过考虑最大延迟时间设定连通度的值,几乎所有正常诚实节点产生的区块都会被标记为蓝色
??至此,PHANTOM协议实现了对DAG的线性排序,通过线性顺序就可以提取无冲突交易集,进而提取可信交易集,虽然耗时较长,满足智能合约的要求。
??YonatanSompolinsky在PHANTOM协议论文结尾,提出一种将PHANTOM+SPECTRE结合起来的可能协议,没有详细展开介绍。下图是几种协议的对比:
??至此,介绍了YonatanSompolinsky一开始从分叉导致不安全提出的GHOST,到后来将DAG引入区块链,设计了SPECTRE协议,以及为智能合约考虑的PHANTOM协议。接下来,介绍国内某社区提出的CONFLUX协议。
??GHOST有主链但丢弃分叉区块;SPECTRE没有主链,包含所有分叉,但没有线性顺序;PHANTOM没有主链,包含分叉且有线性顺序,而CONFLUX即有主链,又是DAG,利用主链让DAG产生线性排序,下面将从挖矿机制和区块排序两方面来说明CONFLUX协议。
??CONFLUX协议定义了根源边和参考边。新区块是基于前一个主链区块产生的,新区块用根源边(实线)指向前一区块,用参考边(虚线)指向分叉的其他区块末端,如下图最后一个新区块实线指向H,虚线指向分叉末端区块K。根源边用于代表区块基于哪个区块产生,给哪个区块堆叠算力,参考边用于表示分叉的其它区块产生在该区块之前。
挖矿过程如下:
根源边只能有一条,参考边可多条(视情况而定)
以主链区块为分割点,将DAG分段,段间段内设计简单排序算法
??CONFLUX协议下产生的区块链如上(图2),接下来对其进行线性排序,排序算法如下:
??通过上述排序,DAG有了一个线性顺序,上图DAG区块顺序为Genesis,A,B,C,D,F,E,G,J,I,H,andK。接下来对该线性顺序的区块里的交易信息进行交易排序,单一区块里可能包含的冲突交易将直接按照该区块内交易信息排列先后顺序决定。
??至此,CONFLUX对DAG所有区块产生一个线性顺序,进而可以对区块内交易信息排序,产生无冲突交易集,超过一定时间的无冲突交易组成可信交易集。主链只是排序的标尺,作为分割时段的标准,CONFLUX包含所有分叉区块。
GHOST论文
Inclusive论文
SPECTRE论文
PHANTOM论文
CONFLUX论文
DAGlabs相关讲解视频合集
有谁知道能解释一下有向无环图(DAG)么?怎么用程序做出来,及怎么应用到经济学实证上?
我们说区块链目前还不成熟,有各种各样的问题,比如说处理速度慢、手续费高昂、存在安全隐患等等,这些都是用户最直观的体验,体验不是太好。区块链还有一个问题,那就是高并发问题。
高并发问题是怎么回事呢,我们简单说一下。高并发是计算机领域的问题,简单来讲,高并发问题就是系统无法顺利同时运行多个任务。
很多任务同时运行,一大堆用户涌进来,系统承受不住这么多的任务,会出现高并发问题,你的系统就卡住了,就好比春运时候,12306系统总是卡住,有可能就是高并发问题造成的。
传统互联网尚且存在高并发问题,区块链网络自然也存在这个问题,毕竟区块链的成熟程度比起传统互联网,还有很大的差距。但是,如果没有安全、可靠和高效的公链,整个区块链产业的发展都将受到严重制约,应用落地也是空谈。
在这种背景下,DAG技术就被提出来了,DAG的全称是“DirectedAcyclicGraph”,中文翻译为“有向无环图”。
DAG有向无环图是怎么回事呢,它到底能起到什么作用呢?我们下面解释一下。
一、DAG:一个新型的数据结构
DAG,中文名字叫“有向无环图”,从字面意思看,“有向"就是说它是有方向的,
“无环”就是说它是没有环路的、不能形成闭环的。所以,DAG其实是一种新型的数据结构,这个数据结构是有方向的,同时又是不能形成闭环的。
传统区块来讲,我们总是以“区块”为单位,一个区块里往往包含了多笔交易信息。而在DAG中,没有区块的概念,而是以“单元”为单位,每个单元记录的是单个用户的交易,组成的单元不是区块,而是一笔笔的交易,这样一来,可以省去打包出块的时间。
简单来说,区块链和DAG有向无环图最大的区别就是:区块链是一个接一个的区块来存储和验证交易的分布式账本,而DAG则是把每笔交易都看成一个区块,每一笔交易都可以链接到多个先前的交易来进行验证。
二、DAG的工作原理
传统区块链上,就拿比特币来讲,它是单链式的结构,区块与区块之间按照时间戳的先后顺序排列开来(如图一),数据记录在一条主链上。用不太恰当的比喻来讲,这个
“单链式”结构是一条一字排列的链。
区块链只有一条单链,打包出块就无法并发执行。新的区块会加入到原先的最长链之上,所有节点都以最长链为准,继续按照时间戳的顺序无限蔓延下去。而对于DAG来讲,每个新加入的单元,不仅只加入到最长链的一个单元,还要加入到之前所有的单元(如图二)。
举个例子:假设我发布了一个新的交易,此时DAG结构已经有2个有效的交易单元,那么我的交易单元会主动同时链接到前面的2个之中,去验证并确认,直到链接到创世单元,而且,上一个单元的哈希会包含到自己的单元里面。
换句话说,你要想进行一笔交易,就必须要验证前面的交易,具体验证几个交易,根据不同的规则来进行。这种验证手段,使得DAG可以异步并发的写入很多交易,并最终构成一种拓扑的树状结构,极大地提高扩展性。
依据DAG有向无环图,每一笔交易都直接参与了维护全网。当交易发起后,直接广播全网,跳过矿工打包区块阶段,这样就省去了打包交易出块的时间,提升了区块链处理交易的效率。
随着时间递增,所有交易的区块链相互连接,形成图状结构,如果要更改数据,那就不仅仅是几个区块的问题了,而是整个区块图的数据更改。DAG这个模式
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://www.ssyg068.com/biquanzx/21124.html
发表回复
评论列表(0条)