Lisk发布最新开发路线图

2016-11-27 11:27 评论 1 条

今天,在这里想借此机会向大家解说我们计划中Lisk接下来几年内的几个不同的开发阶段,以及我们想要为用户、开发者和整个生态系统要完成的各个不同的里程碑目标。总的来说将分为5大阶段:全面启动阶段、顺应阶段、扩张阶段、上升阶段和永恒阶段;每一个阶段都有自己的里程计划、目标和关注点。

本次博文发布将给出主要修改更新和特性更新的概述,不会涉及到每一个微小的变化或者特性增加。在接下来的开发之路上将会有很多很多的变化,在这次的博文发布中没有必要对每一样东西都进行讲解。这意味着路线图上的每一个要点特性都不是单独的、简单的特性,那是一个里程计划,它可能需要花费几个Lisk发布周期才能实施完成。

本文概述的要点和计划在后面的时间里可能会有所改变,因为应用开发本就不是个固定的过程。随着时间的流逝,理念会发生改变,我们也可能在未来找到更好的解决方案。

既定的计划是长期的,我们预计那将需要花费几年的时间。基于软件开发的动态本质,我们现在并不想预测任何的具体日期和截止日期。另外需要注意的是,同一个阶段中的不同里程目标可能会平行进行,一旦我们通过数个开发周期确定下来开发速度,我们将会给出更多准确的时间表。

在最后四个阶段期间,我们打算把工作重心转移到区块链应用开发上来,这也是我们之前对外宣称的核心应用服务。我们稍后将会公布关于这些区块链应用的更多进一步的详细内容。

I.全面启动阶段

我们当前就处于全面启动阶段,本阶段包含三个主要的里程计划,专注于系统稳定性以及一些基础工作。这将为Lisk的社区锻造和区块链程序开发做好准备。

1.主链稳定性

今年对于大多数用户来说,最重要的里程计划是主链的稳定性,以及后面社区锻造的激活。随着这些里程计划的达成,锻造奖励将成为可能,这样代表人就能为社区项目筹措资金,养育这个正在成长的生态系统。

2. 将Lisk-CLI合并到Lisk应用程序开发包中

当前形式的Lisk-CLI工具很快将不复存在。我们将重写这个工具,并将它的功能特性直接集成整合到Lisk App SDK中,提供一个独立开发工具包,由维护两个代码库变成一个,减少开发用功。Lisk-CLI的整合计划和重写将使得区块链应用的开发管理变得更简单,同时也降低了新开发者的准入门槛。

3. Lisk应用程序开发包的稳定性

为稳定侧链和让开发者开始着手区块链应用程序开发,是达成Lisk众多核心目标之一的关键一步。因此我们的Lisk App SDK应该经历重大修改,使得侧链不仅仅稳定,而且可靠。

在这个步骤中,我们将每一个侧链分裂成一个单一的、独立的数据库。在撰写本文之时,每一个安装好的侧链在和主链相同的数据库中都拥有自己单独的数据表,这就带了很多不利因素。在每一个侧链自己单独的数据库中运行侧链,这允许开发者在独立于主链之外得到高度的可扩展性。这也使得侧链的日常管理变得更容易和简单。

另一个重要的任务是,为区块链应用开发实施所需的一个安全的和受保护的虚拟机。这样的话,应用程序的JavaScript代码将会在一个封闭的环境中运行,保护电脑免受其他有害程序的干扰。

当前来说,每当一个侧链发布时,侧链是需要进行验证的。当侧链运行在主链上时我们将会实施相同的快速加载特性,移除常规的重新验证,使得侧链更易于执行和部署。

II.适应阶段

适应期将大幅地提升Lisk,让Lisk成为一个严谨的区块链应用平台,它拥有更加好的核心系统,一个更好的Lisk应用程序开发包,各种各样的颇有用处的特性,优美和易用的交互界面,更重要的是系统的安全。很明确,适应期是全部阶段中最重要的一个,总共包含了六个主要的里程计划,通过这个阶段也让Lisk在市面众多的加密货币平台中脱颖而出。

1.品牌重塑

Lisk的生态系统将会经历一次彻底的品牌重塑,这包括logo设计、网站、终端交互界面(桌面版、网页版、智能手机版)、区块链浏览器和其他全部的东西。这是一项很主要的工作,将会花费很长的一段时间,我们生态系统中的不同部分将会被一一地重新设计和更新。为了这个里程计划,我们将会跟柏林本地的一个设计机构取得联系,并跟他们一起密切地合作去寻找出Lisk的新视觉特性。我们将努力为网站、客户终端和区块链浏览器获得统一标准的体验。为了达到这个目的,我们将会尝试在加密货币平台领域未曾见使用的新方法。这样我们就在整个区块链行业中为用户提供了最佳的用户体验,这也是我们品牌重塑计划中最重要的一步。一旦我们开始这个里程计划,更多进一步的详细情况将会稍后透露。

2.Lisk服务程序,前台UI从后端分离

当前,我们有了作为Lisk网络全节点的Lisk Node终端,它跟Lisk用户交互界面是紧紧耦合的。我们相信,这不会是最佳的可能性解决方案。当我们发布多功能终端时,这会引起大量的代码重写,另外我们的很多用户(比如代理人和交易所)并不是那么的需要用户交互界面。因此,我们将会用更简洁和模块化的方法代替当前的方法。

Lisk 节点客户端将会被一个单独运行在命令行的Lisk服务程序所取代,不会有像当前提供的这样的图形用户界面。目的在于,为网络提供一个无外设接口,使各种瘦客户机可以附加上去。

用户简单地使用用户界面就能够下载我们的Lisk Lite客户端,然后接入一个本地的或者远程的服务程序。在启动的界面上,将会检测是否存在正在运行的本地服务程序并自动进行连接。如果搜不到本地进程,它将会自动地连接到Lisk网络上的一个服务程序。

通过这样的分离,用户界面的开发就变成了一个独立的项目,相比Lisk的服务程序它可以进行更频繁的更新。这意味着我们可以比以前更快地发布用户界面新特性和漏洞修补。此外,电脑的一键安装客户端现在可以使用同样的方法进行简单的提供,就如同Lisk Nano一样。

3. Lisk应用程序开发包模块化

初期过后,一旦Lisk应用程序开发包稳定,区块链应用程序就可以安全地部署到制作中。我们进一步打算将所有方面的程序开发包结构模块化。这将彻底改善区块链应用程序开发的必要时间和用户体验。

计划中的更改:

因为对共识算法的封装,所以之后的新程序可以添加得更容易。

将Lisk应用程序开发包移动到一个单独安装的节点的模块依赖。这使开发人员能够轻松地升级到最新的程序开发包,并分别对他们的区块链应用程序代码工作。

在config文件里,你可以简易地决定不同的参数,比如区块时间、费用、共识算法等

引入侧链的规则,比如委托市场、应用程序面板、侧链浏览器等,这样我们就可以使侧链真正有用的性能得到实现并集成到Lisk客户端中。

4.应用程序基本功能

a.委托市场

虽然每一个应用程序在自己专属的侧链上运行,但是它需要通过代理人才能在主链上获得独立保护。因此,Lisk需要一个平台来对接应用程序开发员和节点运营商。这个平台就是委托市场,在这个平台上,代理人可以向侧链提供服务并得到以LSK作为支付手段的报酬。最理想的场景就是每个人在Lisk网络上都可以向代理人支付LSK来保护他们的侧链。

b.版本方案和更新机制

应用程序需要不断的更新来适应时代发展和保持它的安全性。通过每一次更新,版本的数量也需要增加。

因此,Lisk需要一个内部的基于区块链的版本方案和更新机制。程序开发人员可以通过更高的版本号像主链添加更新,并提议给侧链代理人。如果共识达到一致,那么这个提议就可以通过。通过这个机制,每一个区块链应用程序将配有一个可以核实的版本历史记录。

除此之外,每一个区块链应用程序确切文件的更新将被散列并且保存到主链中。通过这个方式,应用程序文件在启动前可以自动被验证,并且只有保持其一致性才能够顺利的进行。这样做的目的是为了防止人为恶意散布一些程序被篡改的副本。

举个场景例子,如果一个开发人员首先在A位置上传应用程序,之后悄悄地在A位置篡改文件,然后用户下载的就是被篡改的程序。通过新的机制,只要哈希值不匹配,则程序无法启动。

如果开发人员需要对应用程序作出一些变化,那么他们就必须服从更新机制,把新的哈希值放到主链上。基本上应用程序代码不变,除非使用更新机制。

c.应用程序面板

用户和程序员需要维持他们应用程序的概览,因此,Lisk需要一个可以管理他们的专用页面。

计划针对用户的功能:

l  卸载应用程序

l  查看侧链数据,如:高度、区块或者交易

l  更新最新版本

l  查看代理人

计划针对代理人的功能:

l  包含所有针对用户的功能

l  取消自身代理人资格

l  开始/取消侧链锻造

计划针对APP所有者的功能:

l  包含所有用户与代理人的功能

l  添加/移除代理人

l  编辑meta数据,如:描述、图标或者标签

5.移动客户端

虽然现在的用户界面可以完全响应,但是我们仍然希望给主流用户提供一个本地的移动客户端。它们将