什么是应用链(Lisk)?

2017-01-29 12:00 评论 0 条

lisk
大家可能对应用链有一些误解,错误的想法,或者被一些错误的信息误导。这里我就几个错误的观念澄清一下。

应用链(Lisk)是以太坊(Ethereum)的分叉!

不是! Olive 和我参与Crypti(和氏币)项目18个月后, 决定建立应用链,分叉它的代码。大概2年前,Crypti募集了750BTC用来开发区块链应用程序平台。后来Crypti基金会写出了大量的基层代码,为开发新项目奠定了非常好的基础。然而资金储备不够充足,即使有限的资金充分地发挥作用,还是无法完成最终目标。Olive 和我发现了这个潜在的问题,决定接管Crypti,给Crypti持有者推出的机会,继续开发去中心化的区块链应用程序平台。请继续阅读更多的详细介绍应用链跟以太坊不同的原因。

应用链使用不安全的JavaScript语言!

不是!虽然JavaScript是一种弱类型定义编程语言,但并不意味它天生就不安全。一般来说对于安全性,所使用的编程语言起重要的作用,然而落到代码层面,写出安全的代码是开发者首要的义务。我们本可以使用其他强类型定义编程语言,会减少开发者写出带有漏洞代码的机会。然而这并不能说明这些语言没有其他的不足之处。我们选择JavaScript的原因是它兼容任何平台,相当受欢迎和普及,像一些大型公司比如谷歌和微软还在各种各样的设备上测试它的速度和安全性。所以另外重要的原因是它不断增加的开发人员数量并且还易于使用。

众所周知JavaScript的局限性是超过32位的数字精度。我们采用折中的方法,通过使用叫做BigNumber.js(一种针对随意精度数小数和非小数算术运算的库)的代码来进行基于整数的算术运算。区块链应用程序开发者得到我们API最大程度的庇护?他们可以使用应用链核心所使用的库去开发。因此,这个局限性不成为一个问题,从应用链建立以来就被解决了。

为了进一步完善基层代码, 我们计划以后会使用TypeScript,它是一种强类型定义JavaScript语言集合,一旦使用这种语言,弱类型定义代码引起的问题就会减少。为了最大化提高速度和安全性,我们打算使用C++ 编写一些重要的核心功能。总的说来,我们会使用所有可以利用的方法去解决使用JavaScript可能导致的问题。

Lisk将秒杀所有区块链项目!

不是!实际上任何的应用都可以部署到应用链的侧链上,我们相信区块链的世界可以有许多解决同一个问题的项目并存。

    • 在独立的区块链或者应用链上能够实现去中心化的存储。
    • 在独立的区块链或者应用链上可以实现匿名的交易。
    • 在独立的区块链或者应用链上可以实现社交博客系统。
    • 还要很多。。。

最重要的部分是,假如想在应用链区块链程序中实现以上某个功能,我们不需要从头开始一切。完全可以直接应用第三方开发出来的技术,完全把他们的功能搬到应用链区块链程序中。接下来我将详细介绍。

什么是应用链(Lisk)

一种去中心化的网络

decentralized-network
应用链跟比特币,未来币,或者比特股一样,是一种去中心化的网络。但是它不使用跟比特币一样工作量证明机制,或者跟未来币一样的股份证明机制。它使用原来比特股采用的共识算法股份授权证明系统的精简版本。也就是说每个LSK用户可以给保护网络安全的主链上受托人投票。整个应用链主链网络上最多只有101名入围受托人,他们得到最多的投票权重,只有他们有资格获得区块锻造奖励,这在经济上激励任何受托人入围。所有其他受托人处于候选受托人状态,等待被投进101,从而有资格保护应用链网络。

一种数字货币

应用链是一种数字货币,它的代币称作LSK。给其他账户发送LSK只需要10秒种,1到2分钟后,交易就永久地被写入区块中无法被篡改。

一种框架

应用链程序SDK(Lisk App SDK)是一种底层框架,部署自己的区块链和开发区块链应用程序都是基于它的。所有都是用JavaScript写出来的。也就是说任何人都可以开发出独立于平台的社交网络,聊天软件,游戏,金融应用程序,预测市场,交易平台,硬盘存储平台,合约执行平台,共享经济,在线商店,IoT应用程序,以及其他各种各样,都可以容易地在完全去中心化的侧链上实现,而不需要明白复杂的共识协议或者P2P网络算法。
framework

一种侧链平台

前面部分介绍了,借助应用链程序 SDK 在应用链平台上部署侧链。它是功能完全可定制的区块链,不会给主链造成数据冗余,或者增加主链的数据大小,同时也不会影响其他侧链。所有的设置,参数,和交易类型都可以根据区块链应用程序的需要而更改。

为了杜绝在区块链上出现垃圾交易,存储任何数据到区块链上都需要支付一些代币,比如发送交易需要支付手续费。在应用链侧链上,用户可以使用主链的LSK代币,或者全新定制出的侧链代币。

想要在侧链使用主链的LSK币,有一个局限性。因为不同的区块链之间的代币是无法直接传输的。这个常识你们应该知道,侧链是全新的独立的区块链!就像莱特币无法发送到比特币网络一样。

所以需要一种特殊的交易类型能够实现把LSK币从主链发送到侧链。实际上LSK币从来没离开过主链,只是被转移到侧链建立者的应用链账户(还在主链)上。同时,同等数量的LSK在侧链上被复制出来,发送者拥有这些代币的使用权。

也就是说假如出现写的糟糕的侧链或者区块链应用程序的话,上面的所有LSK币都是安全的,侧链的建立者可以很容易地取出这些代币。然而,前提是LSK币的发送者必须对侧链的建立者有足够的信任。这对于各种类型的区块链应用程序显然不可能,除非这些程序是由某些初创公司或者有声望的个人建立。
sidechain-platform
要是个人想开发出一款真正的无需信任的应用程序,不想要替用户持有LSK币的话,可以在侧链上发行定制版的代币(或多个),它可以作为一种全新的数字货币使用。发布者可以通过ICO或者交易平台的方式分发新代币。持币用户可以在区块链应用程序内使用新代币,以完全无需信任的方式自由支配它们。甚至可以在区块链应用程序内集成的小型的交易系统可以实现定制版的代币跟LSK之间自由兑换。

假如在应用链侧链或者区块链应用程序上发现漏洞的话,必须通过分叉的方式才可以解决问题,这时只要分叉出现问题的侧链,而主链完全没有受到任何影响,上面的区块和交易不会有任何改变。

大家经常讨论公共,私有和联盟区块链。在应用链中,用户可以轻易地根据需要定制自己的区块链。为了吸引初创公司和开发者加入,我们开发的重心是公共的联盟区块链。它也是受到通过投票选出来的受托人保护,他们锻造区块,或者区块链应用程序的发布者也能够参与锻造。继续阅读关于应用链受托人市场的介绍。

一种区块链应用程序平台

归根结底侧链只是区块链应用程序的去中心化的数据库;实现发行代币的功能,数据无法被篡改,成为去中心化的网络。区块链应用程序平台是我们的最吸引人的产品。

应用链程序SDK不仅实现部署侧链成为可能,还提供各种各样开发区块链应用程序必要的工具。区块链应用程序是一种以去中心化和无需信任的方式运行的脚本程序,它比普通脚本实现更多功能,包含以下四个方面。

  • 共识算法(例如DPoS)
  • 侧链(无法篡改的数据库)
  • 后台(应用程序的逻辑)
  • 前台(应用程序的用户界面)

区块链应用程序是一种完全合格的应用程序,它的共识算法默认是DPoS,有区块链,可发行用户代币,有前后台。它可以通过LSK币连接应用链生态系统,利用其他区块链应用程序的功能(比如区块链服务),从而吸引侧链受托人,壮大用户群体。
blockchain-applications
借助于应用链程序SDK,开发者能够开发应用链程序的后台(比如功能)和前台(比如用户界面)。让开发区块链应用程序变的非常容易,开发完成后打包起来随时供用户下载。以去中心化的方式访问前台用户界面是目前区块链行业独一无二的功能。

人们经常反驳说程序代码没有存储在区块链上所以不是去中心化的应用程序。我要做出澄清,程序在自己的电脑运行,使用之前必须先下载下来,就像比特币钱包客户端那样。所以以后就会有许许多多的用户在运行同一个区块链应用程序;一些用户(受托人)在侧链上有锻造区块的特权从而保护网络,另外一些人(普通用户)只是使用程序的用户。区块链应用程序和侧链被许多设备保护,运行方式是去中心化的,所以说它是去中心化的应用。

一种区块链服务平台

区块链服务是区块链应用程序下属的一种类型,有专门的用途,它是为某一种用途而设计出的应用程序。

举一些例子:

  • 身份验证服务(用户登入网站时,需要对用户的个人信息进行加密)
  • 去中心化的托管服务(例如把图片和文档存储在去中心化的加密云服务器上面)
  • 智能合约的执行服务(不受任何人干预地计算出一组随机号码)
  • Oracles服务(例如收集用户对产品的评价或者收集事件的数据)

应用链区块链服务的伟大之处在于可以在应用链主链和生态系统上即插即用,这要归功于服务都是运行在独立的应用链侧链上。一旦服务部署成功,所有其他区块链应用程序开发者也能够使用该服务。例如,要部署一个社交网络服务,需要存储用户的图片,开发者可以插入一个能够实现这个功能的区块链服务(另外的办法是搭建到第三方去中心化存储服务的桥梁,比如StorJ)。

随着时间推移,应用链程序的生态系统扩大,应用链区块链应用程序也许会变得更加复杂和集成多种多样的功能。它就像大脑一样,会有越来越多神经传输,还是保持稳定。

所有的区块链服务可能会依赖于应用链的生态系统,比如用户群体和LSK币,希望对区块链服务的需求会越来越多。还有就是,所有这些区块链服务是独立的,要是某个失败了,就仅仅影响到这个服务。对应用链主链的影响仅仅是增加一点点登记侧链的纪录。

另外一个关键的特性是代码开源。虽然开发者可以通过一些方式隐藏JavaScript代码,但是我认为大多数开发者为了赢取用户的信任应该不会这么做。以后每个开发者在区块链应用程序或者服务中集成了好用的功能,任何其他开发者都能够借鉴使用,优化该程序代码,并集成到自己的区块链应用程序或者服务中去。

下面一些事例说明开源带来的好处。

  • 刚开始我们在应用链上还没有相关的库用来运行Solidity智能合约,但是可以通过把EVM插入到应用链的侧链。以后某一个开发者要是完成这种库的建设,其它任何人都可以利用该源代码,在侧链上就可以执行智能合约而不依赖第三方服务,或者他可以提供智能合约执行服务。这时开发者就不需要插入以太网络。
  • 应用链的侧链可以使用工作量证明共识算法,然而这需要时间开发。一旦开发出来,大家就都可以用。
  • 假如由于政治或者经济原因,一个项目失败了,其他人还可以利用该项目代码,重新部署这个区块链应用程序。或者新的建立者只要写侧链迁移代码就能够从旧的建立者手中接管该项目,并在新的侧链上运行。

应用程序的去中心化目录

目前最流行的是苹果软件商店和谷歌商店(Google Play商店),都是由大型公司垄断,想在上面发布应用程序需要接受审查,所以说它是中心化的解决方案,中心化的程序受到监管。

应用链具备开发去中心化区块链应用程序应该具备的条件比如网络,生态系统和SDK,在客户端里面有去中心化的程序目录任何用户都可以方便地访问。建立在应用链主链上的区块链应用程序和服务需要在应用链主链上注册,只有注册后主链和侧链才能关联起来(这样LSK币才可以被复制到侧链上),在程序目录里能查找到所有区块链应用程序和服务。注册时候,开发者可以为区块链程序取一个名字,写一些描述,做出分类,上传图标,定义标签和给出下载链接。
decentralized directory
通过这种方式,我们建立去中心化的,独立于平台的,区块链应用程序。

公开的去中心化受托人市场

应用链受托人市场是一种联系区块链应用程序开发者和侧链受托人的地方。每一个侧链都是都是一种独立的区块链,需要运行一些节点来保障它的安全。假如区块链应用程序开发者没有使用默认的共识算法(比如PoS 或者 PoW),那么他们自己需要充当侧链的矿工或者锻造者,这就比较麻烦了。要是区块链应用程序开发者使用我们默认的共识算法 (DPoS) ,就可以到受托人市场上租用受托人,支付报酬。
delegate-marketplace
受托人市场对只有采用DPoS的侧链才有用处,还可以实现很多其他平台无法实现的功能。

一、支持第三方软件比如比特币或者IPFS,以太等等。

假如要在侧链上运行这样一种区块链程序用来保存用户每一笔比特币交易的购买收据。开发者要怎样检测到用户的比特币交易呢?Oracle数据库反应慢,假如又无法用其他人的区块链浏览器呢?所以在这种情况下就需要在本地跟区块链程序一起运行比特币客户端,才可以访问API及时获取最新交易数据。所以想要成为这种类型的侧链受托人,第一个要求就是需要同时运行比特币客户端,可以以属性的方式标明。同样也适用于其他任何第三方软件,不管是不是去中心化的。
leveraging-existing-technologies
二、必须保证合法合规

一些区块链程序提供的功能可能在一些国家不合法,在另外的国家就合法。建立区块链应用程序的初创公司必须注意这一点,保持100%合法,侧链节点需要在合法的区域运行进而保护侧链网络,这样上面的区块链程序提供的功能才会合法。节点服务器所在的国家也是另外一个受托人在受托人市场上需要提供的属性。

三、世界上任何人都能从中赚钱

按照约定支付一定的费用可以租借侧链的受托人(比如每100个区块支付10LSK).要是在两年的时间里一个受托人用只值$15的Raspberry Pi 5运行50个前景看好的区块链应用程序的节点,每个月可以有$50的收入。对于许多人,这可能不多,但是在一些贫穷的地方,这些钱可以维持一个月的生计。世界的关联越来越紧密,即使在贫穷的地方,他们的网速也在逐渐提高。这个场景不是虚构的小说,而是一个即将实现的现实。

四、针对于区块链程序和服务的轻量级客户端

使用联盟侧链修改代码和做更新是相当的容易。更为重要的是为区块链程序或者服务开发轻量级的客户端也是相当容易。预计智能手机会成为未来的(已经是)电脑,没有用户想要用手机同步区块链。所以我们需要考虑这一点,用户访问应用程序目录,需要点一下就能使用区块链程序的功能,而不需要烦杂的安装过程。只要使用轻量级的钱包就能实现,这个钱包以去中心化的方式从侧链受托人那里载入整个区块链程序(包括前后台)。

应用链不是什么

一种智能合约平台

希望以上的解释能够说明白为什么应用链不是在以太坊虚拟机(Etheruem Virtual Machine,EVM)上面执行的Solidity合约的智能合约平台。应用链区块链程序只是把以太坊的功能直接植入它的后台。

举一些在应用链区块链程序中可以集成什么样功能的例子:

一、区块链程序内授权

用户可以完全信任应用链的API, 用户的应用链账户的主密码,永远对应同一个区块链程序账户。为了提高安全性,建议用户在主链上设置第二密码,永远不要把第二密码输到侧链中。

→ 建立需要用户授权的程序,它对于任何程序都相当重要。

二、发送信息,撰写博客

需要增加一种新的交易类型,它可以附加必要长度的文本。还要添加两种API calls,一个用来进行这种新类型交易,另一个用来从侧链返回这种交易的内容。

→ 可以建立去中心化的聊天服务,社交网络,或者博客系统。或者开发投票系统。

三、做出标记

需要添加一种新的交易类型,可以存储布尔值(真或假)。

→ 可以建立去中心化的Internet of Things程序,只需要进行一个简单的交易(相当于授权)就能够开启它的功能,就像按开关一样。

四、生成随机数

应用链区块链程序中进行计算必须确保结果唯一。也就是说节点执行区块链程序代码产生的结果必须唯一。所以不能使用JavaScript的函数random() ,必须依赖其它的方法。一个方法是计算接下来10个区块ID的随机数。另外一个是如果一个系统有多个用户,每个用户给出一个号码,然后把这些号码归结起来计算随机数。

→ 现在可以写出游戏的程序,比如老虎机

比特币初创公司

我们是区块链初创公司,跟比特币网络不同;有自己的区块链和数字货币,对平台未来几年的发展方向有充分的把控。假如你经常关注我们所参加过的会议,沙龙聚会,就会理解。

币价追涨杀跌

许多用户要求我们把钱花在不必要的地方,或者散发过多的奖励,我们不会这么做。我们的目的是长期持续地开发和推广这个平台。一旦团队人员足够和内部的工作流程变得井井有条,开发的速度就会加快起来。推广活动需要一步一步来,项目的开发进度到达每一个阶段,我们都匹配以相对应的市场推广。我们估计我们的基金足够维持5年的开销。

准备好…

应用链还没有准备好,要不然就不需要ICO!我们的计划一些部分可能需要花几个月时间才能完成,一些可能需要几年。一周的时间不可能改革程序市场。

完全理解应用链框架和能够实现什么样的功能最好的方式是深入研读代码。不管怎样,希望这篇博文能够给你答疑解惑,理解应用链的本质,以及所能实现什么样的功能。

感谢你的阅读!

此致,

Max Kordek

原文:https://blog.lisk.io/what-is-lisk-and-what-it-isnt-e7b6b6188211#.bmp4zaw7p

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:什么是应用链(Lisk)? | Lisk.xyz
分类:博客 标签:,

发表评论


表情