基于区块链独立跨账本协议“OneLedger万界”系统及功能介绍
扫描二维码
随时随地手机看文章
OneLedger(万界)是一种独立跨账本协议,它使用一种分片,定制的实用拜占庭容错协议方案来实现高超的性能,这种方案同时兼容公有链和私有链。通过将公钥底层协议( public key infrastructure PKI )与身份管理、节点(包括节点运行者)进行耦合,将产生一个预先定义的信任层级,从而允许它们参与到万界链或任何侧链的共识之中。万界侧链可以与其他网络的当前状态同步(Ethereum, Bitcoin等)。任何支持哈希时间锁(HTLC)和支付通道的加密货币都可以在万界侧链上记入金额的帐户或地址,网下和链下的交易传递给万界侧链完成,从而实现一种兼具扩展性和透明度的解决方案。在最终用户请求将其余额从主链的哈希时间锁地址/帐户中提取到他们所选择的地址/帐户之前,用户之间的任意数量的交易都可以发生在万界侧链上。本质上,万界会在所有主链中提供可扩展的“链下”解决方案,并将共识传递给相应的万界侧链,这些侧链包含了万界协议所有的特性。
通过使用PKI角色控制,企业也可以部署自己的私有侧链。企业将能够精确定义参与其侧链节点操作人员的角色。此外,通过使用万界的统一框架,公司可以使用一个代码库,开发他们的分布式账本技术应用,同时在他们选择的多个基础网络上发布他们的产品。
系统功能
1、智能身份管理平台
管理一个跨多个分布式网络的公开身份,匿名身份或其他类型的身份,可以通过对一个身份指派一组主私钥/公钥对来实现。这组主密钥对可以利用其中的私钥对消息进行数字签名,从而将任何其他公钥与此身份关联。万界提供了一个通用的身份解决方案,以跟踪存储在多个分布式数据库中的用户资产。此外,万界提供了一种途径,可以让一个身份把‘信任值’分配给另一个身份,从而创建了一个混合去中心化的与PKI结合的“信任网络”。
2、区块链服务
有了万界,任何人都可以发起一个侧链上运行的万界共识协议。这条侧链可以是公有链,也可以是私有链。在私有链的情况下,用户可以使用万界智能身份管理系统,查询拥有特定信任等级的身份,以及是由谁提供的底层网络服务,比如是节点运行者存储或验证分布式账簿,并为各种角色分配特定的身份来维护侧链。另外,任何公共的分布式账本,无论其共识协议,只要支持哈希时间锁合约和支付通道的,都可以与相应的万界侧链同步。
3、链码服务
通常,企业或个人可能希望在多个平台上部署dAPPs。因此,开发人员必须在每个所选的平台上编写和部署智能合约,并可能需要使用多种语言。万界正在开发一个SDK,它可以简化在多个平台上移植和部署智能合约的过程。万界的SDK将允许用户定义一个“主智能合约”,它能够编译智能合约所用的编写语言。从而,开发者可以通过在主智能合同中指定所需的平台,在多个平台上同时发布dAPP。
4、程序接口
主客户端接口是一个REST API,允许应用程序注册用户、查询区块链和发起交易。同时为链节点提供了一组APIs,可以直接与堆栈交互,以执行交易和查询事务结果。
服务端编程接口是一个业务门户,用户可以轻松地建立业务模型和功能,将真实世界中需要的功能都集成到区块链中。
万界可扩展接口
我们将开发一个快速、安全、可扩展和独立的可扩展接口,允许轻松部署去中心应用(DApps)和跨账本通讯。究其核心,可扩展的区块链接口的目的是为了有效地访问和跨多个账本进行通讯。
万界结构
这种去中心化的框架通过将现实世界和区块链世界最终有机地统一起来,改变了应用程序是如何建立起来的方式。
1、万界业务中心
万界将在业务门户中开发工具,使得无论具有什么程度区块链经验的用户,都可以将他们行业中的经验应用到区块链中,通过开发人员定义好的模块生成链码,并在整个流程中都可以追溯到执行过程。可扩展的万界API通过模块化,将有助于将商业模式转换为区块链应用程序。万界把业务与独立模块的开发人员连接起来,并会为开发集成多个模块的无缝衔接提供指导。
例如,万界的一个购物插件可以分为多个组件,包括目录、购物车、订单提交、发货、支付等等。所有这些模块都可以由不同的开发人员构建,并集成在一起,创建一个定制的购物流程插件。
该平台将使用户能够以透明和公平的方式建立自己的服务和协议。
通过平台门户的业务工具,发起者可以在一次业务流中快速建立起合约和服务大纲,譬如供应链、法律服务协议和分销协议。发起者可以将公共身份分配给一个组,也可以在发起者创建的组中为个人身份或所有公共身份定义角色。与此同时,业务流中规定了合约的实施方式,从而确保有关各方利益都能够得到保障。一旦完成,这项服务或合约将被翻译成Solidity合约或其他链码。只要业务流开始执行,相关各方即以智能合约的形式约束参与者进行循环和执行。
万界业务应用程序开发工具包的主要工具如下:
1. 数字资产: 发起者可以在流程和流程中定义资产,包括财务、产品或内容资产;
2. 模块: 包含复杂的业务逻辑。包括工作流和进程的集成;
3. 工作流/进程: 用于构建模块的基本单元——可基于万界协议执行的功能,完成包括跨区块链、业务流映射和运行数据同步。
4. 角色访问控制: 去中心签名系统将通过相关的身份信息一起签名和验证用户,无论是密码、组织信息还是角色;一旦经过验证,访问信息就可以打包好,委托给模块进行处理。
5. 交易: 资产的运行环境和它的工作流/进程,其中的交易可以产生于基于万界协议的不同区块链。
6. 通道: 一个强调速度和安全性,连接单个或多个区块链中的两个节点的P2P通道。
7. 连接器: 针对不同业务区域的企业级集成工具;连接器将万界公共区块链数据集成到现有的中心化商业网络中,并结合区块链和中心化服务建立了一个混合应用程序。
2、万界共识协议
2.1 业务逻辑模块化
业务逻辑将使用可配置的基于角色的共识方法论,构建类似于Merkle树的层级结构。角色将由业务参与者决定。每个角色都链接到参与共识的独立节点; 随后,业务逻辑将确定如何将每个角色融入到节点数据中。角色共识需要进行第二级验证。通过其定义的密钥和数字签名,用户可以直接链接到他们在业务中的角色。实现了透明性和可跟踪性,并实现了为那些在区块链上写入数据的用户和他们相应的角色可以得到身份上的认证。
2.2 万界共识协议层
我们定义了一个三层共识概念,使万界能够有效地集成不同的区块链产品。
2.3 万界业务初始层
三层共识开始于业务初始层,业务初始层中定义了一个合约用来明确角色以及角色在业务中相应的行为。为业务模型定义的合约是一个通用合约,它首先会被编译并生成一个可识别,可执行的合约,可以用于不同的底层公链,如比特币和以太坊。然后,生成的合约会通过在不同公链代码上运行的万界节点中找到一个适合的方法被执行下去。在以太坊节点中,合约以一种智能合约的形式执行,在比特币节点中,合约会在节点创立时在原始合约中生成。
2.4 万界通道共识层
万界提出了通道共识的概念,用以在合约中预先定义的角色之间执行交互(交易或任何业务行为)。这些角色可以来自一到两个业务模型。当新的区块数据想要记录已进行的任何操作时,在所有参与者的通道中会进行基于异步拜占庭容错的侧链共识(详细信息见4.2)。这种侧链共识将要求所有参与者投票,并要求达到或超过投票者的⅔。如果通道跨越了侧链中两个不同的业务模型,则需要通过计算每个模型的参与者的投票来实现侧链共识。只有在两种模式都达成共识之后,才能达成通道共识。需要注意,当在通道中实现共识时,会将写入的区块数据广播到该通道中的所有节点并进行存储。
没有定义角色的合约被认为是的一般合约,不适用通道概念。共识只有在整个区块链网络中才能达成。
投票信息结构
由于可以将节点分配给不同的通道,并且基于通道来存储区块,所以节点上的区块链高度可能会有所不同。弹性分布区块(RDB)的实现使得系统能够通过存储在区块数据上的参照字段中的Merkle树来跟踪侧链中每个区块的前后关系。
万界侧链共识可以帮助发起公链之间的交易。当有需要跨公链交易时,在万界侧链中就会进行预共识的步骤,并且一个预共识的区块(上图中的N9区块) 将向公链发送一个请求。这个请求会由公链的验证者投票,以验证对公链上资产的锁定或解锁行为。如果两个公链都成功地返回了该请求,预共识的区块就会被提交上去。一旦⅔侧链节点提交了这个区块,这就会在万界上得以最终确认。由于万界采用了联盟链(federation chain)和驱动链(drive chain)相结合的方式,使得公链和万界之间的同步成为可能。
2.6 侧链共识算法
侧链共识算法由两个阶段组成。第一个阶段是“基于轮次的预共识”,用来获得一个要求一定范围内超过2/3的节点都同意的共识提案。如果使用了通道,范围就是这个通道内;又或者,如果通道被绕过,范围就将是所有节点。合约中的所有功能都将在共识的阶段执行。一个轮次由三个步骤组成,每个步骤被平均分配到三分之一的时间。首先会选择一个节点来提议一个区块,并在他的有效范围内广播出去。所有收到提议区块的节点将根据各自的合约进行预投票。广播出去的预投票会由在范围内的节点收集,并且一旦在节点中统计预投票数超过2/3,它将预提交所提议的区块。如果一个节点在一个轮次中没有获得足够的预投票,那么将开始一个新的轮次,直到实现预提交。在第二阶段,如果提案是跨公链的,预共识的区块将会传递到公链上。在这种情况下,每个节点都将验证一个已提交的,并且在范围内超过2/3的节点都签过名的预共识提议。一旦验证完成,这个区块就会被广播,上个区块就会被完结。
2.7 仲裁机制
由于在渠道内只有达成部分共识,所以当遇到问题时,通道的参与者可以要求进行仲裁。当请求仲裁时,会忽略通道,在万界全部参与节点中,对仲裁信息达成共识。
2.8 区块结构
万界会使用上一区块的哈希来链接区块链,并通过使用Merkle树来验证。如果该块存储在以太坊或比特币节点中,则网络类型字段将会被记录下来。我们引入了一个RDB概念,在这个概念中,每个区块都被分配并存储在万界侧链中,并通过哈希对应到Merkle树谱系中的节点。
万界: 应用场景
万界的协议和接口允许以高扩展性的方式,与任意数量的主要底层网络进行交互。大量应用场景都来自于这种交互性;然而,我们想描述了一个主要应用场景:跨链去中心化交易所。
首先,我们的协议使用了哈希时间锁合约(Hash TImelocks contracts HTLC)。哈希时间锁合约是一个哈希锁和时间锁的组合。哈希锁是对接收地址或帐户的限制,因为所有者必须公开显示一段数据,以解除限制。同样,在交易上的时间锁限制了一笔交易可以使用的时间。通过合并这两部分,HTLC允许跨链交易。由此,用户充值帐户或地址,同时会把相应金额记入万界。然后,用户可以在任何其他资产类型之间交易该资产,而不限于比特币或以太坊这些只拥有“正常”交易对市场。当用户进行交易时,他们在万界相应的侧链上的账户也相应地记录下来,他们可以选择在任何时候将他们的新币提现回到他们选择的地址,即通过使用HTLC。
我们注意到,由于分片和侧链的使用,可以在短时间内支持很高的交易量。这一事实源于这样一种想法,即如果一个用户使用Litecoin购买Dogecoin(在万界框架内),那么这个交易只会在Dogecoin和Litecoin侧链之间进行通信,而不会影响性能,比如比特币或以太网侧链的性能。
万界不仅仅是一个跨账本的去中心化交易所。通过使用智能合约和我们的商业集成api,我们能够让正在尝试使用分布式账本技术的公司,无论是供应链/库存管理、会计、资产的数字化等特定的应用,都能够更容易实现。
其它万界应用场景包括了:
• 能够将流量转移到具有高性能的侧链。
• 能够轻松部署和迁移DApp。
• 通过万界协议实现跨链访问和共识。
• 标准化在万界协议中各DApp之间的通信。
• 资产认证和流程透明,如资产注册、捐赠流程。
• BaaS为用户在业务门户内创建具有开源DApps的业务模块提供帮助。比如,供应链和电子商务流程(商品目录和购物车可以构建成一种服务,并可以灵活地结合起来)
• 帮助企业和个人进行人工智能支持和流程优化。
• 通过对业务流程的追踪来实现流程的透明性和可跟踪性。
令牌经济模型
10亿个OLT令牌会被预挖。每个OLT令牌在最初都将被映射到一个相应的ERC20令牌上,因为万界生态系统正在开发中,早期的使用者可以在以太坊生态系统上使用它们。
随着万界生态系统的成熟,万界令牌经济模型的三个主要参与者:用户、网络支持者(节点)和开发人员。万界还将建立一个市场,这会是一个在万界平台上的去中心化应用。
用户
用户,包括企业,需要向节点支付网络费用以在万界平台上使用各种服务。他们可以从其他令牌持有者获得OLT令牌,或者他们可以自己运行一个节点来获取令牌以用于商业活动。用户可能需要根据开发人员发布的智能合约来支付OLT令牌用来访问在市场上销售的各种服务。
网络支持者(节点)
网络支持者(节点)将接受OLT令牌作为网络费用。在早期阶段,万界的软件将允许每个人运行一个节点。经过一段时间后,需要一定数量的代币来保证网络的负载和质量。
开发人员
开发人员包含个人贡献者,企业团队,甚至咨询公司。开发人员需要OLT令牌将其模块部署到万界平台。他们可以将模块和代码提交给万界市场,并提供一份定义销售条款的智能合约。比如说,这些服务可以是免费的,或者用户需要向开发人员支付一次性费用来解锁服务,又或者开发者甚至可以将智能合约作为订阅式的商业模式来实现,这样用户就需要每月支付OLT令牌来继续访问服务。此外,万界为社区预留的25%的令牌,通过这些将为最好的开发人员和最优质的项目提供开发资金。
万界会为社区保留25%的令牌,仅用于帮助生态系统发展。除了激励开发人员,万界还可以利用令牌用于社区活动,例如举办活动和资助开发研讨会。万界将专注于构建一个健康的区块链开发生态系统,开发人员将从中受益,并看到其贡献的价值。