当OPEN于2018年3月首次宣布推出Scaffold Generator API时,它标志着OPEN开发人员社区的开始。私下里,我们一直在研究,测试和试验,以便在当前区块链技术的局限性上创新,并为主流采用创造出最好的产品。明天,OPEN将正式宣布其公共Github,从而标志着我们开发者的下一个里程碑 - OPEN公共开发者社区的开始。
在OPEN,我们希望为开发人员和他们的最终用户构建最好的基础设施工具,因此我们相信为我们的开发人员提供透明度和持续更新我们的目标是非常重要的。在本文中,我们将介绍我们的一些架构考虑因素,并提供未来的简要路线图。我们邀请我们的真棒社区加入我们,提供反馈,并帮助我们改进开发下一代互操作数据分片协议。
OPEN愿景
OPEN设想一个所有应用程序接受加密货币的世界,就像他们做法币一样容易。我们知道未来的应用并不完全在区块链上。相反,区块链将作为内核,并且执行其技术特有的功能,例如支付,资产发行,透明度和可审计性。为此,区块链内核必须能够与应用程序的其他部分及其技术堆栈进行交互。这包括使中央数据库能够做他们最擅长的事情。我们正在促进这个行业的早期状态,同时让分散式网络同时利用自己的优势。这是OPEN的核心-
我们让不同的数据表示,一些分散式网络和其他集中式数据,以可扩展的方式相互通信。我们还通过模仿科技公司和应用程序开发人员在过去15年中发展的方式,跨越各种分散组件(区块链)实现了这些数据的互操作性 - 通过使开发人员非常方便地a)采用b)开发c)事务上。
OPEN专注于两项关键技术:
OPEN平台允许开发人员轻松地将其应用程序部署到OPEN Chain,将区块链轻松集成到其后端以及大量企业级开发人员基础架构组件中。
OPEN发生区块链事务的链,并在可互操作的区块链中分割以确保可扩展性和可靠性。
平台和公共连锁组件
脚手架和脚手架发电机
此外,我们还构建了可供我们的集成合作伙伴使用的脚手架模板,并展示OPEN未来可以做些什么。接下来的一周,我们将揭示其中的两个模板,即企业对企业进销存脚手架,以便为软件即服务商业模式和其他B2B公司提供解决方案。此外,我们还创建了一个游戏内购买脚手架模板,可由游戏开发人员与其应用程序集成部署。
这些是众多Scaffold版本中的第一个,旨在解决可以通过区块链解决的常见开发人员痛点。我们还将发布脚手架发电机和我们的合作区块链之间的整合。
公共连锁设计概述:
在区块链生态系统中,各种类型的区块链已经使用不同的技术堆栈和编程语言实现。自然,为每个人选择的堆栈考虑因素都是基于特定项目试图完成的要求和目标。
在我们的特殊情况下,对于OPEN Chain,我们的技术堆栈设计具有以下特质:
可靠
现代
流行
安全
高性能
开源
由商业机构支持
写得很好的代码库很容易扩展
活跃的社区有许多现成的工具和图书馆
此外,对于OPEN,我们将需要一台虚拟机,网络参与者可以执行包括脚手架在内的智能合同。
要考虑的一个可能的解决方案是使用JVM技术堆栈的Corda。Corda会让我们拥有一台带有可执行代码的虚拟机,并立即运行Smart Contracts。
在内部,我们在现有的区块链实施中进行了一项研究,并比较了每个技术堆栈的优缺点以满足我们的要求。
科特林-Kotlin
我们相信Kotlin是Java的第二版。它解决了许多Java缺陷:它没有样板代码,语言级别在Null-Safe上实现,并且泛型的问题是固定的。此外,它完全向后兼容Java,它允许您从Kotlin调用Java代码,反之亦然。这将使我们能够以新一代的语言使用Java的所有传统和强大功能。
使用JVM,我们将拥有Smart Contracts VM开箱即用,开发人员将能够部署使用基于JVM的编程语言(如Kotlin,Java,Groovy或JavaScript)编写的Smart Contracts。
TCP与UDP通信层
实现UDP通信层更复杂,因为UDP不保证消息的传递。因此,它将不得不在应用程序级别独立实施。与TCP不同,UDP中的消息大小受到严格限制,为了避免分段,可能丢失数据包并确保任何主机都能够接收数据包,UDP中的数据大小不应超过508字节。这意味着更长的消息将不得不被剪切508字节,编号和发送。如果考虑到不能保证软件包的交付,那么从收件人主机到发送主机,您需要发送有关到达目的地的软件包的信息,而丢失的数据包需要重新发送。
我们当然可以实现UDP通信层,但这需要相当长的时间,而且在DPoS共识的背景下,并不需要这么做,这与建立在PoW共识基础上的网络不同。
鉴于上述论点,我们建议在TCP通信层上使用Kotlin从头构建OPEN Chain。
表决
共识的关键部分之一是运营商的选择和投票。
当一个节点希望成为一个运营商时,它会向活跃运营商发送一个请求。这些节点将被称为候选人。运营商检查候选人的要求:可用性,硬件和网络特征,堆栈数量,停留在网络中的持续时间等。与确认新块的规则类似,如果候选人成功通过了2/3运营商的检查,落入候选人名单(队列)。
每个节点最多有8个活动连接,其中:
> 6随机选择运营商
> 2与Сandidates队列中
默认情况下,每个节点都投票选择更快更频繁地发送有关新事件信息的节点。因此,候选人有机会在速度上与运营商展开竞争,并成为选定的代表组成团队并获得奖励。队列中的候选人按降序排列,其中评分是所有声音和叠加值的导数之和。评级是所有投票节点和候选人本身的堆栈总和:candidateStackAmount +Σ(voterStackAmount)。
块形成
根据DPoS Consensus的说法,在每轮之前,运营商被排成一排,每个运营商被分配一个固定的时间来组建该区块。即10秒。在此期间,运营商必须组建一个区块并将其分发给其他运营商,以接收2/3代表的确认。在大多数(2/3)运营商确认的情况下,该区块会添加到区块链中。
如果一个节点在规定的时间内未能形成一个块,它将从运营商列表中排除。接下来的节点应该在接下来的10秒内形成2个块:一个为自己,另一个为前一个节点。
一轮持续到每个节点形成一个块。也就是说,一轮是21个块(共识中的运营商的数量),如果每块10秒,则该轮的持续时间是3.5分钟。在回合结束时,每个节点都会收到与生成的块数和包含在其中的交易成比例的奖励。在每轮之前,所有活跃的运营商和候选人都收集在列表中,按降序排列。前21名被选为下一轮的运营商。
路线图
我们的团队将在未来几周内发布更深入的路线图,但我们希望为开发者社区提供一些初步见解。我们将至少发布每周发布的文章,更新您的发展进度。
OPEN的脚手架和脚手架发电机已基本完成,并将在6月中旬全面启用。我们已经开始编写REST API文档,并将在未来5周内提供更新,API的公开版将在7月初之前完成。与API同时,我们将分别构建我们的Javascript SDK,Java虚拟机SDK,Python SDK和GO SDK。这样的开发者工具和SDK对开发者采用区块链技术至关重要。
OPEN连锁测试巢网计划于2018年9月中旬正式上线。我们已经开始了TCP通信层的工作,并预计将于7月下旬全面部署。这对利用我们可互操作的区块链网络和分片交易来实现有竞争力的可扩展性至关重要。同时,我们将在8月中旬之前完成我们的投票和共识实施,并拥有完整的代码开源代码。我们已经实施了公钥算法,并将于6月底开始提供电子钱包软件更新,并于7月底推出OPEN钱包。
开发者社区建设
为了体现我们致力于创建具有包容性的最强大的开发人员社区以及仅使用集中式技术堆栈的开发人员的承诺,我们拥有在令牌生成事件中创建的开发人员增长池,并持有OPEN令牌总数的20%供应。这将用于开发新开发人员,与领先公司建立合作伙伴关系,举办黑客马拉松和其他开发者活动,并以多种方式为社区赋权。
我们很自豪OPEN的开发者成长池是迄今为止所有公共区块链项目中最大的份额。在GitHub上发布第一个OPEN开源库后,我们的公共技术社区将开始。无论您身在何处,我们都鼓励您参与塑造我们的使命,因为我们为您提供最好的工具和资源。
未来无疑是开放的。
Hello,有任何问题咨询或者合作,长按以下二维码联系!
领取专属 10元无门槛券
私享最新 技术干货