编辑: 645135144 2019-07-02

一、引言 比特币作为第一代加密数字货币,实现了完整的去中心化记账的功能.

但由 于比特币只提供了非图灵完备的语言以及有限的交易结构, 使得比特币只能用于 用户价值的存储与交换, 无法运行复杂的应用.基于比特币发展出来的区块链技 术在最近几年得到了长足的发展.以太坊作为一个智能合约开发平台,不仅引入 了图灵完备的开发语言,也把智能合约的应用场景进行了丰富的扩展,ERC20 协议(代币发行)以及 ERC721 协议(加密猫等不可替代性的数字资产)的广泛应用就 是一个典型的案例. 以太坊虽然加速推进了区块链的发展,但是由于以太坊早期 设计的单一主链架构,在跨链通信、并发能力以及 DApp 的运行环境支持上都 有着很大的局限性.为了解决区块链应用的性能,为DApp 的开发和运行提供 更好的支持,我们提出并设计了一套全新的区块链公链架构――EKT,志在打造 一个世界级的区块链基础设施,开创一个全新的区块链生态.

二、概述 EKT 是一套全新的区块链架构,定位为一个高性能的 DApp 开发平台.EKT 提供了一套全新的智能合约开发语言 AWM, 使得开发者可以很方便的根据自己 的业务需求定制自己的智能合约.智能合约的运行环境为 AWM VM, 开发者可 以方便的利用该虚拟机进行本地调试,极大的提高开发效率. EKT 的多链架构提供了发行资产的支持.不同主链的资产通过 EKT 提供的 钱包可以自由在整个 EKT 网络里流通. 基于 EKT 的跨链协议,其他公链的资产也可以接入到 EKT 主链并流通.跨 链协议打破了目前各个区块链项目之间的隔离,成为了连接各个区块链桥梁. EKT 主链维护一套统一的用户系统.基于这套用户系统,无论是主链、多链 还是 DApp 应用,都可以快速的利用主链已有的用户体系进行开发并获取用户. 也极大的降低了用户在不同 DApp 间的切换成本.另外用户可以修改公私钥对 以及使用的加密算法, 这使得 EKT 的用户体系的安全度会一直跟随时代的发展. 即使量子计算机普及,用户也可以相应的把算法更换为抗量子攻击的新算法.

三、共识机制 EKT 采用的共识机制为 DPoS, 在EKT 主链上共有

21 个节点维护网络的 运转.DPoS 机制的伪代码如下: for round i dlist_i = get N delegates sort by votes dlist_i = shuffle(dlist_i) loop slot = global_time_offset / block_interval pos = slot % N if delegates[pos] exists in this node generateBlock(keypair of delegates[pos]) else skip DPoS 共识算法主要分为两个过程: 选举委托人 委托人是可信赖的社区成员,由社区成员通过投票选出.得票 率最高的

21 个委托人成为主链正式委托人, 其提供的服务器用户维护 EKT 网络 的正常运转.而21 名以后的委托人则称为候选委托人,一旦正式委托人发出故 障或者作恶, 候选委托人可以迅速替换.每个社区的持币用户都可以投票或参与 委托人的竞选,投票的票权和持币量成正比. 委托人节点进行区块锻造 在DPoS 机制里,区块生产的过程称为 锻造 . 每一轮选举过程结束后, 委托人的服务器节点便会进行区块的锻造.当前网络里 未确认的交易会被打包到区块, 新锻造的区块会广播给其他节点.每当有一个新 的区块添加到主链上,那交易的确认数会增加 1.EKT 的区块间隔时间为 3s,等到6个确认(18s)以后,便可以认为交易是安全的. 在正常情况下,DPoS 共识机制不会经历任何分叉.区块的生产者之间是合 作关系而不是竞争关系. 一旦发生区块分叉的情况,主链也会切换到更长的区块 链上.如果有节点故意作恶,那该节点也会在下一轮区块生产中被投票出局,不 再有锻造区块的权利. 容错 在EKT 中,使用公私钥加密和一些路由策略进行容错,每个 DPoS 节点的公 钥都是公开的,具体策略如下: 区块的广播 当一个节点完成打包之后, 会对区块进行签名,然后把区块和签名广播给其 他的节点. 当一个节点收到区块和签名之后会对签名进行校验,确认是从打包节 点广播出去的, 在确认是打包节点广播出来的区块之后,会判断自己与打包节点 在当前轮的距离,如果满足条件 (currentIndex - miningIndex + len(DPoSNodes)) % len(DPoSNodes) <

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题