大数跨境

一个存证链的解决方案3

一个存证链的解决方案3 数组智控产业发展科技院
2021-09-16
2
导读:关键技术及方法以太坊的账户体系从计算机科学的角度出发,以太坊可以看作是一个分布式状态机,其中交易区块等同于状


关键技术及方法


以太坊的账户体系


从计算机科学的角度出发,以太坊可以看作是一个分布式状态机,其中交易区块等同于状态转换函数,新的交易区块由从状态A到状态B的状态转换记录构成。


因此,以太坊就像一个巨大的虚拟状态引擎或去中心化的计算机,可供多方共享计算平台并基于此运行智能合约。


以太坊有一种原生资产—以太币,它是以太坊生态系统中的价值基础。以太币用于调整运营智能合约的激励机制,同时提高网络的安全性。


与比特币比较起来,以太坊是一个应用程序平台,而不仅是加密货币


比特币主要用于交易,而以太坊则可以执行更为复杂的规则,是一个用于构建分布式应用程序的平台。


以太坊有一个图灵完备的脚本语言,利用程序代码将合约规则实例化成智能合约。


智能合约是表达、验证并协商或强制执行数字合约的一段计算机代码,它可以在没有任何第三方的情况下被以太坊网络自动执行。


以太坊的脚本语言比比特币的脚本语言要强大得多,可以实现复杂的智能合约规则。


借助以太坊计算平台,开发人员可以用分布式应用程序(DApp)替代集中式应用程序。


因为没有集中的数据库可以成为黑客的目标,DApp极大地增强了网络安全性。


典型的DApp案例包括去中心化的内容发布平台Steemit、社交网络Synereo、去中心化的打车平台LaZooz、音乐版权平台Ujo Music和去中心化的就业市场Ethlance等。


比特币和以太坊之间的另一个区别在于,比特币是基于UTXO(未花费的交易(tx)输出)的,而以太坊是基于账户体系的区块链。


在比特币中,交易的所有输入必须在UTXO数据库中才有效。


UTXO是先前交易中未支出的金额,需要确认为未花费用作为当前交易的输入,比特币用户的可用余额是由其私钥控制的UTXO总和。


而以太坊使用基于账户的模型,用户的可用余额记录在用户的账户中,该账户具有用户的地址、余额以及可选代码字段中的任何数据。


例如在比特币中,Alice拥有控制一组UTXO的私钥;在以太坊中,Carol拥有控制由地址、余额和代码字段组成的账户的私钥。通过账户模型,以太坊节点只需更新其账户余额而不是存储每个UTXO,因此更节省空间。


同时,以太坊也更直观,因为智能合约是一种更有效的编程机制,其可以在账户之间转移余额,而不是不断更新UTXO集来计算用户的可用余额。


以太坊有两种账户类型:外部账户(EOA)和合约账户,这两种账户都有用户地址和以太币余额。


第一种账户类型:EOA通常被用于某种形式的外部实体(如个人或公司),这类用户在注册以太坊网络时都被分配为EOA账户。EOA具有加密地址,它可以发送交易(将以太币转移到其他账户或触发合约代码)。


第二种账户类型是合约账户,这些账户具有地址、以太币余额以及任何关联的合约代码。


代码执行由从其他合约或EOA中收到的交易或消息(函数调用)触发。


这意味着合约是以太坊网络上的自主账户,其他账户(EOA或合约账户)可以与它们进行交互,但没有人控制它们(因为一旦启动,它们就是自治的)。


由于其他程序可以调用合约上的函数,因此可以与合约账户交互或执行某些交易,但是不能直接控制合约账户。


以太坊账户以交易为媒介,与以太坊网络上的其他账户、其他合约和合约状态进行交互。


以太坊某一时刻的所有账户状态构成了整个以太坊的网络状态,它们需要就每个账户的当前余额、存储状态和合约代码达成共识。


每个新的区块都需要获取前一个区块的信息并更新新的以太坊网络状态,每个网络节点都必须就新的网络状态达成一致。


因此,交易区块是以太坊网络状态之间的状态转换函数。


许可链的节点准入机制


目前有很多以太坊项目都是基于以太坊公链开发的,同时以太坊也可用于构建联盟链和私有链。


公链的特征是任何人都可以加入、读取区块链数据和发送交易,一般需要激励机制来鼓励记账节点(挖矿);


联盟链是由若干个机构或组织共同参与管理的区块链,每个机构或组织都运行着一个或多个节点共同参与记账;


私有链的写入权限由某一个组织或机构控制,参与节点的资格由该组织或机构严格限制。


与公链的任何人都可以随时加入不同,未经许可的节点不可以加入到联盟链和私有链,因此联盟链和私有链又被称为许可链,需要进行权限设计。


许可链拥有更高的共识效率、更好的隐私保护和更强的安全性,能被更好地应用于金融、政务等领域。


考虑到电子证照数据共享业务的安全性需求,本案例以许可链的方式设计和搭建区块链底层平台,并加入节点准入机制。


任何参与区块链的网络节点都需要先完成身份注册,通过验证后,其数字身份才能被允许接入私有链网络中参与交易,形成自主可控的底层区块链平台。


具体来说,以类似会员制的方式实现一种区块链节点的准入机制,通过会员制的注册服务对区块链参与者的身份和权限进行管理。


区块链网络中的分布式记账节点、数据共享方节点、查验方节点、其他访问节点等,都需要事先完成节点注册,以使其数字身份合法。


特别的,分布式记账节点作为区块链底层平台的核心节点,由政府部门统一部署和维护,并有这些节点执行整个区块链的共识记账功能,其他参与节点无权成为分布式记账节点。


参与节点通过区块链客户端完成会员注册后,系统会自动完成注册节点公私钥的分配,并生产合法的数字身份即交易地址。



以太坊的共识机制


通过共识机制,区块链网络能够在决策权高度分散的去中心化分布式系统中让各节点高效地针对区块数据的有效性达成共识,完成新区块的确认和记账。


区块链上的典型共识算法有多种,如工作量证明(PoW)、权益证明(PoS)、代理权益证明(DPoS)、实用拜占庭将军(PBFT)、验证池(Pool)等。


最为常用的共识算法是比特币使用的PoW(Proof of Work)共识算法:


首先收集网络上广播的交易报文信息,验证有效性,若合法则加入候选交易队列,打包成区块结构,并算出该区块的Block Hash;


然后通过不断对随机数NOUNCE试错并做哈希运算,直到Block Hash和NOUNCE合并后的哈希是由N个(N为当前难度)前导零构成;


最后找到矿工当前看到的最长链,并将当前区块的哈希、之前区块的哈希、随机数添加到区块的头部,通过这种方式将刚刚得到的区块连接到这个最长链的最后形成新的区块。


PoW算法共识达成的周期较长,约10分钟才能产生1个新区块,不适合商业应用。


因此随后又出现了很多效率更高的共识算法,例如PoS(Proof of Stake)共识。


它本质上是采用权益证明来代替PoW中的基于哈希算力的工作量证明,由系统中具有最高权益而非最高算力的节点获得区块记账权。


权益体现为节点对特定数量货币的所有权,称为币龄或币天数(Coin days)。


币龄是特定数量的币与其最后一次交易的时间长度的乘积,每次交易都将会消耗掉特定数量的币龄。


PoS共识过程仅依靠内部币龄和权益而不需要消耗外部算力和资源,从根本上解决了PoW共识算力浪费的问题,并且能够在一定程度上缩短达成共识的时间,因而比特币之后的许多竞争币均采用PoS共识机制。


DPoS(Delegated Proof of Stake)共识的基本思路类似于“董事会决策”,即系统中每个股东节点可以将其持有的股份权益作为选票授予一个代表,获得票数最多且愿意成为代表的前101个节点将进入“董事会”,按照既定的时间表轮流对交易进行打包结算并且签署(即生产)一个新区块。


DPoS共识机制中每个节点都能自主决定其信任的授权节点且由这些节点轮流记账生成新区块,因而大幅减少了参与验证和记账的节点数量,可以实现快速共识验证。


著名的R3联盟超级账本(Hyperledger)使用PBFT(Practical Byzantine FaultTolerance)共识机制,通过运行3类基本协议(一致性协议、检查点协议和视图更换协议)将拜占庭系统共同维护为一个状态,使得所有节点采取的行动一致。


其优点是记账节点有准入机制,系统有强一致性和最终态,不会分叉;缺点是当有1/3或以上记账人停止工作后,系统将无法提供服务。


验证池(Pool)共识不需要依赖代币就可以工作,在成熟的分布式一致性算法(Paxos、Raft)基础之上,可以实现秒级共识验证,更适用有多方参与的多中心商业模式。


不过,Pool验证池也存在一些不足,例如该共识机制能够实现的分布式程度不如Pow机制等。


在以太坊中,新区块的创建时间是12秒左右,而比特币是10分钟。这意味着以太坊每12秒就有一个新的交易区块产生,交易执行几乎是即时的。


以太坊使用了所谓的魔鬼协议(Ghost Protocol)来协调共识,并提供激励机制让网络阻塞时间变得更为短暂。


截至2017年12月,比特币的完整账本大小约为180 GB,以太坊的完整账本大小约为225 GB,但是运行以太坊节点只需要20~30 GB的空间。


以太坊虽然曾经使用PoW共识机制,但其采用的一致性算法和比特币是不同的。


2018年,以太坊改用了自己创建的PoS与PoW混合的共识机制—Casper投注共识,期待这种新的共识机制给以太坊注入新的活力。



【声明】内容源于网络
0
0
数组智控产业发展科技院
以AI技术为底层能力,聚焦智慧园区、城市公共安全、数智警务、健康医疗、能源电力、科研实验及平安校园等领域,提供从感知到决策的全流程软硬件一体化的国产装备智能体产品解决方案。
内容 986
粉丝 0
数组智控产业发展科技院 以AI技术为底层能力,聚焦智慧园区、城市公共安全、数智警务、健康医疗、能源电力、科研实验及平安校园等领域,提供从感知到决策的全流程软硬件一体化的国产装备智能体产品解决方案。
总阅读2.3k
粉丝0
内容986