ProximaX Tech技术博客 – 2019年4月

在本次更新中,我们将和大家分享有关我们巩固代币经济设计,改进后的区块链层以及最终完成了存储和流媒体的技术核心实施的相关消息。为此,我们更新了技术白皮书,其中详细介绍了我们的市场选择,公平流媒体,激励机制以及节点开/关的新方法。

我们一直在致力于ProximaX 移动钱包版本2的研发工作。相较于老版本来说,新版本钱包已被重新编码,具有更佳的安全性并提升了用户体验感。我们还扩展了应用程序组合,目前包括身份认证管理解决方案、工作流引擎和微服务框架集成。File It!, Notes 和 Vault仍处于beta测试阶段,因为它们将继续通过改进和新功能开发来进行迭代更新。

核心平台更新

鉴于我们的核心服务(存储,流媒体)的实际技术组件已经完成,团队将更多的时间花费在了代币经济设计上。在即将发布的最新技术白皮书中将就该方面的详细信息加以介绍。

除了代币经济设计之外,各层的技术组件也有一些变化,如下所述。

区块链层

我们在4月份构建的关键特性之一便是元数据插件。这个新插件将允许元数据通过密钥对值存储在区块链中。现有区块链插件已更新并包括了元数据属性,因此自定义数据可以被标记到帐户、马赛克或命名空间之中,这些操作由帐户、马赛克或命名空间的所有者通过键对值实现扩展。

我们还为区块链设计并开始构建了一个软件升级实用程序。由于Catapult不支持版本兼容,因此在升级软件节点时,新构建的插件需要进行额外的工作。这样做的一个可能结果是必须重启区块链,并且可能会有丢失所有数据的风险。这个结果对于我们公共主网的启动来说是不可取的,这就是为什么我们必须为区块链设计和构建软件升级实用程序,因为我们不能等到在构建了所有的插件之后再去运行主网络。

该插件使用通知版本来与各版本的二进制数据相关联,而非将二进制数据版本绑定到当前的块高度。换句话说,当发布二进制数据的新版本时,将添加该通知的新版本和验证器/观察者。这样,所有的版本都可以被随时使用,这将使软件更新进展顺利。如有所需,还可以在不影响或停止区块链的情况下切换到以前的软件版本。如果适合的话,区块链客户端还可以使用旧版本的二进制数据(尽管它们可能需要考虑节点间此类数据的同步问题)。Catapult软件更新将通过区块链公布,我们将为此添加一个新的事务插件。目前,只有genesis帐户可以发布软件更新事务。将来,软件的更新版本可能通过插件和我们的超级合约进行驱动。交易将设置一个更新间隔(以块为单位),在此期间应进行软件更新。在更新间隔期间,所有节点都可以更新二进制代码,但更新将在更新间隔结束后才会被应用。这将允许区块链在不受升级影响的情况下正常运行。更新间隔过后,旧版软件将自动替换为新的版本。

我们正在进行区块链技术文档的整合工作,一旦区块链SDK准备就绪就会向公众发布。

存储层

自上次更新以来,我们还重新评估了存储技术组件,从而对代码进行了一些更改以对我们的新方法进行补充。我们所做的一个关键更改是实现存储层与区块链的部分分离。此前,区块链插件即服务是用于创建数字合约的,通过不断报告其声誉的统计数据来表示存储节点的契约义务。尽管新方法仍然存在这种情况,但现在它已经变得更加独立,可以通过与区块链进行较少频繁的通信来建立声誉。这种分离使得核心存储服务拥有更高的性能。

我们还对可证明数据拥有库(“PDP”)进行了一些修改。简而言之,PDP方案允许在不受信任的服务器中存储数据的客户端验证服务器是否拥有原始数据,而无需单独检索或存储数据的副本。它通过使用与远程服务器的交互协议生成概率证明来达成此目的。该平台支持三种主要的PDP算法:A-PDP,CPOR和MAC-SC。 这些都将在单独的技术白皮书中予以详细地讨论。

我们已经开始记录存储层的SDK。 该操作正在进行中并将随着我们的进步不断更新。

最后,我们已经开始为存储节点构建演示服务器和客户端。这些基本组件将演示加载存储,交叉验证和复制方案的证明。 另一方面,客户端演示用于演示SDK或客户端库如何与远程演示服务器进行节点交互。

流媒体层

PSP发布了他们第二个里程碑,包括工作流平台,文档和软件开发工具包。我们的下一步工作将是将这些与区块链层相集成,并为其构建令牌经济平台。

请通过访问https://cl.ly/f44d36613c1a 来观看反向通道控制台的原始演示。

他们交付的关键里程碑之一便是一个可用于构建支持实时流媒体的应用程序的实际工作中间件和软件开发组件。我们目前拥有适用于iOS,Android,Linux和Mac系统的完整SDK支持,相关文件正在准备之中。

此外,我们还重建了一些流媒体技术组件以期统一所有的核心服务。其中之一便是创建具有高度安全通信信道的Proof算法(带宽)。

带宽始终是任何流媒体应用的关键因素,ProximaX流媒体层也不例外。在流媒体节点网络中,带宽和信誉是必要的,它们可以确保消费者获得将数据流从一个点传送到另一个点的最佳节点工作者。在 ProximaX的流媒体层中,节点应该通过一个不确定的过程来提供带宽统计 — 该过程会返回一组数据(时间标签)从而用于确定与其带宽相关的声誉。收集到的统计数据将作为声誉评分的一部分进行加权,从而影响选择各个节点为客户/客户提供服务的概率。

关于该项目的详细信息将发布在最新的技术白皮书中。

节点测试网络环境和软件开发组件

今年早些时候我们开始了网络的测试工作。4月份,我们开始完成区块链SDK和技术文档,这将允许开发人员在测试网络上构建他们的概念证明。 更多相关消息将于稍后公之于众。

基础设施和 DevOps

DevOps团队 一直在研究不同的平台和工具集,以期让我们持续交付软件的过程变得更加简捷。

跟上所有开发团队的更新和功能强化并非易事。因此,我们创建了一个持续集成的环境,在该环境中Jenkins作为我们的主要CI工具,Slack则作为我们的通知渠道。Slack中无论是成功还是失败的构建都将通知给团队,从而提高团队意识并开始下一步的公开讨论。

持续部署是我们在过去几个月中大大改进的另一个领域。我们推出了Ansible Tower的开源版本 — Ansible AWX。只需单击一个按钮,它就可以更新软件版本、重置链、将配置更改传播到所有节点并重新启动应用程序。现在,这跟以前逐个完成每项任务相比更有效率。

DevOps团队将继续在ProximaX的开发团队中引入新的技术。其中一个主要重点就是在我们的云合作伙伴的市场上发布Sirius平台。此外,我们准备扩展节点以启动主网络,因此我们正在尝试使用Kubernetes进行容器编排。关于如何使用和部署这些平台的更多信息将在以后的文章中予以发布。

应用开发

当准备启动主网发布任务时,我们花费了大量时间来对核心平台进行微调和性能强化。与此同时,我们一直致力于构建一支内部应用程序开发团队 — 虽然它并不如核心开发团队那般具有主动性。

尽管如此,我们依旧继续为ProximaX Identity身份认证解决方案的开发增添动力。该项目最初仅作为潜在客户的POC,但是我们将会把它开发成一套完整的系统,可以单独作为解决方案进行营销和销售。

ProximaX NIS1 Wallet 钱包版本 2

整个ProximaX Wallet钱包已被重新编码,更新后的版本2页面更为直观并易于使用。目前,我们正在运行赏金计划,以便在实际的产品版本发布之前查找到钱包中的漏洞。

身份认证管理

我们已经完成的关键任务之一是在存储层中存储生物识别数据。这对系统创建用户层次结构和捕获地理数据的能力做以了补充。当新用户注册时,用户的部分或全部数据均可以存储在NFC卡中。这些信息可以通过直接与ProximaX Sirius平台通信的NFC阅读器加以验证。

Microservices平台集成

我们的技术团队正在探索与一个名为 Abixen的微服务平台进行集成。 Abixen是我在2016年参与的一个开源项目。它具有强大的微服务架构,能够允许开发团队使用可插入服务快速构建企业和关键任务应用程序。我们正在通过创建Proximax Sirius插件来扩展该项目,以期允许开发人员构建直接集成到Sirius平台中的应用程序。

关于我们正在构建的应用程序的更多更新进展

  • File It!, Vault 和Notes – 这些应用都在不断地进行更新和强化。目前我们发布了一个开放式beta测试,欢迎大家免费体验并上报漏洞(我们将在适当和适用的情况下给出奖励)。
  • 工作流引擎 – 我们即将发布工作流引擎的首个实时公共测试。目前我们正为此构建基础架构以便向公众开放从而进行beta测试。

Catapult (NIS2) 区块链浏览器和钱包更新

我们正在开展NIS2区块链浏览器和通用钱包的重建工作。

小结

  • ProximaX Wallet钱包版本2的设计与开发
  • 完成存储技术平台
  • 完成流媒体技术平台
  • 开始着手更新技术白皮书和其他研究、设计文档
  • 探索 Abixen Microservices平台和ProximaX Sirius平台间的集成方式
  • 开发完善身份认证平台
  • 开发完善工作流引擎
  • 自动化基础设施的部署
  • 为Catapult区块链引入了元数据插件
  • 致力于完善区块链软件升级环节