区块链3.0说要大储存 TCFS就诞生了 ——TCFS和IPFS谁胜一筹?

从1.0时代的数字货币,到2.0时代的智能合约,再到3.0时代的全面应用,区块链每一次时代跃迁都必然会对底层开发平台的各项性能提出更高的要求。

神说:“要有光”,就有了光——圣经-创世纪第一章。

在技术的世界,仿佛有此神灵,常常在恰当的时间,解决某一问题的技术正好出现。

7月6日,迅雷集团CEO、网心科技CEO陈磊在深圳宣布,TCFS (Thunder Chain File System)诞生。此时正逢区块链3.0时代践行之时,大文件和大块数据上链的诉求开始出现。恰逢其时,TCFS能够解决这类问题。

技术的发展也常常不是单行线。在西方,IPFS(星际文件系统)技术近期亦开始被区块链所应用。比如6月主网上线的EOS就使用IPFS作为文件储存的技术。另一项目,FileCoin正在用做区块链的激励实现IPFS的志向,该项目预计今、明年能够上线。

主链中,迅雷链+ TCFS,以及海外的项目+ IPFS,区块链3.0时代越来越近。

区块链为什么需要大文件储存?

从1.0时代的数字货币,到2.0时代的智能合约,再到3.0时代的全面应用,区块链每一次时代跃迁都必然会对底层开发平台的各项性能提出更高的要求。

互链脉搏认为,进入区块链3.0时代,应用场景将开始深入到社会管理、文化娱乐、金融服务、医疗健康、IP版权和物联网等多个领域,这意味着主链平台上将会有海量的DAPP应用上链运行。对于区块链底层平台而言,不仅需要在高并发、交易确认速度、安全性等性能上有较大提升,同时对于大文件、大块数据分布式存储的需求也越来越急迫。

此前,无论是比特币,还是以太坊,都没有将大数据存储考虑在内。如当前比特币的交易速度只有6笔/秒,如果以后扩容成功,比特币的交易数据将会更加快速的变大。而以太坊虽然有储存空间的概念,但以当前的技术手段,想要储存1M左右的数据,企业就得付出极高的成本。

如按照以太坊钱包默认的Gas价格41个Gwei计算,当前以太坊区块燃料限制(Block Gas Limit)4700000个Gas/区块(创建合约的时候可调整),要将1MB的数据写入区块链需要占用132个以上的块,需要消耗0.0254364个ETH(1e9gwei*4700000*132*41),按照当前ETH价格439.96美元计算,那么以太坊存储1MB数据的价格约为11.19美元。

事实上,在前几年,区块链行业对于区块链存储大数据、大文件并没有当回事。但随着区块链3.0应用探索步伐的加快,对于整个区块链行业的开发者而言,眼下拥有一款专门适合区块链应用开发的文件系统已经迫在眉睫。

2015年,IPFS上线。其目标是为了补充甚至取代目前统治互联网的超文本传输协议(HTTP),将所有具有相同文件系统的计算设备连接在一起。目前,IPFS已经为区块链项目提供了数据接口,包括EOS等在内的公链平台都已采用IPFS作为解决方案。并且,IPFS团队已引入FileCoin作为激励层,激励用户存储数据和贡献带宽。不过截至目前,作为其激励层的FileCoin仍在研发中。

不想此时,TCFS的诞生实现了IPFS+FileCoin的功能,“没有一点点防备,也没有一丝顾虑,你就这样出现,在我的世界里。”

TCFS依托迅雷链实现了FileCoin的功能,甚至还更多,但是走了一条和IPFS截然不同的路线图。

众所周知,迅雷起家于P2P的下载,已有15年的技术储备,并且目前仍是这种分布式下载技术领先的公司,仍服务4亿人。TCFS顺理成章地继承了迅雷的技术,并且在迅雷自己搭建的玩客云硬件环境下游刃有余。从设计初衷来看,TCFS就是为区块链而生的文件系统。区块链的三个核心是信任机制、权益保护和授予机制,以及激励机制,而TCFS对应了这三大特性,满足了区块链应用开发对文件系统的核心要求。

在信任机制方面,TCFS基于Merkle DAG结构独创了文件管理技术,能保留文件的全部变更历史,公开透明、可查询、可追溯,从而保证了高透明性和高安全性。而权益保护和授予机制方面,它采用安全切片的方式存储数据,通过公私钥签名技术验证用户和文件的持有关系,并运用独创的令牌授权机制,仅允许有授权的用户访问数据。

最后,在激励机制上,TCFS让开发者既可以选择现成的、经过实际多应用场景打磨的链克来作为激励,未来也可以自行建立新激励机制。文件数据则分布式存储在百万级的共享计算节点上,拥有高达数百PB(1PB = 1024TB)且不断扩展的存储空间,可存储数百亿的文件量,充分满足业务需求。

TCFS VS IPFS谁更胜一筹?

IPFS诞生于Protocol Labs协议实验室,该实验室由Juan Benet创立于2014年5月,而IPFS的正式发布是在2015年1月,2016年IPFS一度成为区块链行业中最受青睐的技术之一。而TCFS虽然今年才发布,但其基于迅雷极速下载技术和星域加速技术的多年积累,让TCFS在文件下载和传输上的表现同样让人期待。

那么,在解决区块链数据存储与分发的难题上,IPFS与TCFS究竟谁会更胜一筹呢?互链脉搏从存储效果、可用性、安全性、激励机制和监管风险等五个维度对其进行了对比分析。

一、存储效果。IPFS的特性是互联网上的热门文件资源永不丢失,更适合公共资源的管理机制,但冷门的文件可能丢失,比如个人照片等私人访问资源。因此IPFS需要搭载Filecoin激励层,才能激励各节点存储数据,为需要长期存储文件的用户提供可靠机制。而TCFS整合了IPFS热门文件永不丢失和Filecoin避免冷门文件丢失的两大技术特性,一举实现了存储效果最大化。

二、可用性。在IPFS中,每个节点会存储完整的文件副本(即使文件被切块,每个节点所存储的也是这个块的完整数据),比如一个10MB的文件不切块,存储在3个不同节点,占用总空间为30MB,但如果3个节点都下线了,那么文件就消失了。而TCFS基于冗余编码进行切片存储,同样是10MB大小的文件被分成30个切片,存储在30个节点上,因为采用冗余编码,只需要占用15MB的总空间,即使其中有3-10个节点下线,文件仍然能够恢复,可用性更高。更为重要的是,TCFS还加入了文件自愈机制,定期会检查切片不足的文件,进行自动补充,大大保证了可用性。

三、安全性。目前来看,IPFS可以实现去中心化保存和共享文件,但凡事有两面性,在IPFS上的所有文件都是公开的,这意味着部分私有文件的安全性难以得到保障。而TCFS在IPFS的基础上,进一步保障了私有文件的安全性。基于TCFS,私有文件仅拥有者和被授权者才能够通过令牌下载,并通过公私钥机制保证仅文件拥有者可以授权所属文件。

四、监管风险。在面对监管方面,IPFS由于是基于DHT网络,诸如“黄赌毒”等非法内容无法控制,监管难度较大,很容易面临法律和政策风险,而TCFS自主创新的技术极大地降低了监管风险。

五、激励机制。在激励机制方面,基于TCFS的开发者不仅可以选择链克作为激励机制,未来还可以自行建立激励机制,而IPFS的激励层FilCoin目前尚未上线,因而在应用开发方面,TCFS更具有先发优势。

综合上述对比,互链脉搏认为,由于TCFS是迅雷为区块链量身定制的文件系统,在区块链开发应用方面的契合度要明显优于IPFS,但由于IPFS已上线三年时间,且经过不少开发者的实践检验,具备先发优势,亦在海外获得很大认可。未来谁走到最后有待于市场检验。

但无论是TCFS还是IPFS,都正好出现在区块链3.0正在发展的时代中,它们一起推动区块链的基础设施愈加完善。

一文读懂DAPP

本文对DAPP去中心化应用的基本含义、特点、种类进行了简要总结,概览式分析了以太坊及其他主要约公链,并对DAPP开发相关问题及方法流程进行了大致梳理。

本文共9600字,预计阅读时间4分48秒

一、什么是DAPP?

(一)什么是DAPP?

DAPP是Decentralized Application的缩写,即去中心化应用,也有人称为分布式应用。它被认为开启了区块链3.0时代。

DAPP就是在底层区块链平台衍生的各种分布式应用,是区块链世界中的服务提供形式。DAPP之于区块链,有些类似APP之于IOS和Android。

(二)DAPP与智能合约、区块链的关系

那么DAPP与智能合约是否一回事?与区块链到底是什么关系?通过一个示意图比较简单明晰地表达。

(图片来自CSDN)

可以认为,DAPP就是基于P2P对等网络而运行在智能合约之上的分布式应用程序,区块链则为其提供可信的数据记录。

(三)关于智能合约

智能合约是出现在比特币时代之前,由尼克·萨博(Nick Szabo)在1996年首次提出的概念。他对智能合约的定义如下:

“一个智能合约是一套以数字形式定义的约定,包括合约参与方可以在上面执行这些约定的协议。智能合约的基本思想是,各种各样的合约条款可以嵌入到我们使用的硬件和软件中从而使得攻击者需要很大的代价去攻击。”

基于区块链的智能合约构建及执行分为如下几步:1、多方用户共同参与制定一份智能合约;2、合约通过P2P网络扩散并存入区块链;3、区块链构建的智能合约自动执行。

(四)DAPP的特点

目前对于DAPP的特点尚未取得统一看法,但是基本大同小异,这里试归纳如下。

1. DApp通过网络节点去中心化操作。可以运行在用户的个人设备之上,比如:手机、个人电脑。永远属于用户,也可以自由转移给任何人。

2. DApp运行在对等网络。不依赖中心服务器,不需要专门的通信服务器传递消息,也不需要中心数据库来记数据。数据保存在用户个人空间,可能是手机,也可能是个人云盘。

3. DApp数据加密后存储在区块链上。可以依托于区块链进行产权交易、销售,承载没有中介的交易方式。

4. DApp参与者信息被安全储存。可以保护数字资产,保证产权不会泄露、被破坏。

5. DApp必须开源、自治。可以由用户自由打包生成,签名标记所属权。它的发布不受任何机构限制。 各种创意与创新可以自由表达和实现。

(五)DAPP与APP的区别

从客户体验角度,APP相对于DAPP有四大问题,一是截留用户数据,二是垄断生态平台,三是保留用户权利,四是限制产品标准扼杀创新。

从技术角度,DAPP与APP区别主要有两个方面,一是APP在安卓或苹果系统上安装并运行;DAPP在区块链公链上开发并结合智能合约;二是APP信息存储在数据服务平台,可以运营方直接修改;DAPP数据加密后存储在区块链,难以篡改。

(六)DAPP的分类

根据去中心化的对象,DAPP可以进行分类。对于一个中心化服务器而言,包括计算、存储能力,以及所产生的数据三个方面,而由数据之前的关联度又产生了某种特定的“关系”。因此一般而言,去中心化包括以下几类,一是基于计算能力的去中心化(如POW机制),二是基于存储能力的去中心化(如IPFS),三是基于数据的去中心化(如STEEMIT);四是基于关系的去中心化(如去中心化ID)。

根据去中心化的方法,大致可以分为两类DAPP,分别是中介自动化DAPP与中介竞争化DAPP。其中中介自动化DAPP是通过中介自动化而去中心化,如通过区块链转移产权,把从国家掌控的集中程序转变成为需要任何中介,原先的中介成为自动化程序;而中介竞争化DAPP则是通过竞争去中心化,没有完全摆脱中介,而是让参与者选择他们信任的人,也就是说通过竞争去中心化。

根据网络服务形式的不同,DAPP可以分为四类,包括(1)媒体播放器,需要CPU原生代码虚拟机来去掉播放器中介;(2)Web服务(网站)中介利用用户数据作恶,需要类似最新的Lambda服务器(无数据Web服务)来解决;(3)运营商中介作恶,需要去中心化P2P网络,的确这也不一定需要区块链;(4)基于共识的用户态智能合约,只有这个需要区块链。这种分类以亦来云创始人陈榕为代表。

二、以太坊及其他公链DAPP应用分析

以下根据白皮书及相关信息对以太坊及其他公链进行简要分析。

(一)以太坊DAPP

以太坊协议最初是作为一个通过高度通用的语言提供如链上契约、提现限制和金融合约、赌博市场等高级功能的升级版密码学货币来构思的。以太坊协议将不直接“支持”任何应用,但图灵完备编程语言的存在意味着理论上任意的合约都可以为任何交易类型和应用创建出来。然而关于以太坊更有趣的是,以太坊协议比单纯的货币走得更远,围绕去中心化存储,去中心化计算和去中心化预测市场以及数十个类似概念建立的协议和去中心化应用,有潜力从根本上提升计算行业的效率,并通过首次添加经济层为其它的P2P协议提供有力支撑,最终,同样会有大批与金钱毫无关系的应用出现。

以太坊协议实现的任意状态转换概念提供了一个具有独特潜力的平台;与封闭式的,为诸如数据存储,赌博或金融等单一目的设计的协议不同,以太坊从设计上是开放式的,并且我们相信它极其适合作为基础层服务于在将来的年份里出现的极其大量的金融和非金融协议。

根据以太坊白皮书,一般来讲,以太坊之上有三种应用。

第一类是金融应用,为用户提供更强大的用他们的钱管理和参与合约的方法。包括子货币,金融衍生品,对冲合约,储蓄钱包,遗嘱,甚至一些种类的全面的雇佣合约。

第二类是半金融应用,这里有钱的存在但也有很重的非金钱的方面,一个完美的例子是为解决计算问题而设的自我强制悬赏。

最后还有完全的非金融应用,如在线投票和去中心化治理。

1、token系统

链上token系统有很多应用,从“代表如美元或黄金等资产的子货币”到“公司股票”,单独的token代表“智能资产”,安全的不可伪造的“优惠券”,甚至与传统价值完全没有联系的用来进行“积分奖励”的token系统。

在以太坊中实施token系统容易得让人吃惊。关键的一点是理解,所有的货币或者token系统,从根本上来说是一个带有如下操作的数据库:从A中减去X单位并把X单位加到B上,前提条件是(1)A在交易之前有至少X单位以及(2)交易被A批准。实施一个token系统就是把这样一个逻辑实施到一个合约中去。

2、金融衍生品和价值稳定的货币

金融衍生品是“智能合约”的最普遍的应用,也是最易于用代码实现的之一。实现金融合约的主要挑战是它们中的大部分需要参照一个外部的价格发布器;例如,一个需求非常大的应用是一个用来对冲以太币(或其它密码学货币)相对美元价格波动的智能合约,但该合约需要知道以太币相对美元的价格。最简单的方法是通过由某特定机构(例如纳斯达克)维护的“数据提供合约”进行,该合约的设计使得该机构能够根据需要更新合约,并提供一个接口使得其它合约能够通过发送一个消息给该合约以获取包含价格信息的回复。

3、身份和信誉系统

以太坊中提供与域名币类似的的名称注册系统的基础合约:

if !contract.storage[tx.data[0]]:

contract.storage[tx.data[0]] = tx.data[1]

合约非常简单;就是一个以太坊网络中的可以被添加但不能被修改或移除的数据库。任何人都可以把一个名称注册为一个值并永远不变。一个更复杂的名称注册合约将包含允许其他合约查询的“功能条款“,以及一个让一个名称的”拥有者“(即第一个注册者)修改数据或者转让所有权的机制。甚至可以在其上添加信誉和信任网络功能。

4、去中心化存储

以太坊合约允许去中心化存储生态的开发,这样用户通过将他们自己的硬盘或未用的网络空间租出去以获得少量收益,从而降低了文件存储的成本。这样的设施的基础性构件就是我们所谓的“去中心化Dropbox合约“。

这个合约工作原理如下。

首先,某人将需要上传的数据分成块,对每一块数据加密以保护隐私,并且以此构建一个默克尔树。然后创建一个含以下规则的合约,每N个块,合约将从默克尔树中抽取一个随机索引(使用能够被合约代码访问的上一个块的哈希来提供随机性), 然后给第一个实体X以太以支撑一个带有类似简化验证支付(SPV)的在树中特定索引处的块的所有权证明。当一个用户想重新下载他的文件,他可以使用微支付通道协议(例如每32k字节支付1萨博)恢复文件;从费用上讲最高效的方法是支付者不到最后不发布交易,而是用一个略微更合算的带有同样随机数的交易在每32k字节之后来代替原交易。

这个协议的一个重要特征是,虽然看起来象是一个人信任许多不准备丢失文件的随机节点,但是他可以通过秘密分享把文件分成许多小块,然后通过监视合同得知每个小块都还被某个节点的保存着。如果一个合约依然在付款,那么就提供了某个人依然在保存文件的证据。

5、储蓄钱包

假设Alice想确保她的资金安全,但她担心丢失或者被黑客盗走私钥。她把以太币放到和Bob签订的一个合约里,如下所示,这合同是一个银行:

Alice单独每天最多可提取1%的资金。

Bob单独每天最多可提取1%的资金,但Alice可以用她的私钥创建一个交易取消Bob的提现权限。

Alice 和 Bob 一起可以任意提取资金。

一般来讲,每天1%对Alice足够了,如果Alice想提现更多她可以联系Bob寻求帮助。如果Alice的私钥被盗,她可以立即找到Bob把她的资金转移到一个新合同里。如果她弄丢了她的私钥,Bob可以慢慢地把钱提出。如果Bob表现出了恶意,她可以关掉他的提现权限。

6、作物保险

一个人可以很容易地以天气情况而不是任何价格指数作为数据输入来创建一个金融衍生品合约。如果一个爱荷华的农民购买了一个基于爱荷华的降雨情况进行反向赔付的金融衍生品,那么如果遇到干旱,该农民将自动地收到赔付资金而如果有足量的降雨他会很开心因为他的作物收成会很好。

7、去中心化数据发布器

对于基于差异的金融合约,事实上通过过“谢林点”协议将数据发布器去中心化是可能的。

谢林点的工作原理如下:N方为某个指定的数据提供输入值到系统(例如ETH/USD价格),所有的值被排序,每个提供25%到75%之间的值的节点都会获得奖励,每个人都有激励去提供他人将提供的答案,大量玩家真正同意的答案默认就是正确答案,这构造了一个可以在理论上提供很多数值,包括ETH/USD价格,柏林的温度甚至某个特别困难的计算的结果的去中心化协议。

8、多重签名智能合约

比特币允许基于多重签名的交易合约,例如,5把私钥里集齐3把就可以使用资金。以太坊可以做得更细化,例如,5把私钥里集齐4把可以花全部资金,如果只3把则每天最多花10%的资金,只有2把就只能每天花0.5%的资金。另外,以太坊里的多重签名是异步的,意思是说,双方可以在不同时间在区块链上注册签名,最后一个签名到位后就会自动发送交易。

9、云计算

EVM(虚拟机)技术还可被用来创建一个可验证的计算环境,允许用户邀请他人进行计算然后选择性地要求提供在一定的随机选择的检查点上计算被正确完成的证据。这使得创建一个任何用户都可以用他们的台式机,笔记本电脑或者专用服务器参与的云计算市场成为可能,现场检查和安全保证金可以被用来确保系统是值得信任的(即没有节点可以因欺骗获利)。虽然这样一个系统可能并不适用所有任务;例如,需要高级进程间通信的任务就不易在一个大的节点云上完成。然而一些其它的任务就很容易实现并行;SETI@home, folding@home和基因算法这样的项目就很容易在这样的平台上进行。

10、点对点赌博

任意数量的点对点赌博协议都可以搬到以太坊的区块链上,例如Frank Stajano和Richard Clayton的Cyberdice。 最简单的赌博协议事实上是这样一个简单的合约,它用来赌下一个区块的哈稀值与猜测值之间的差额, 据此可以创建更复杂的赌博协议,以实现近乎零费用和无欺骗的赌博服务。

11、预测市场

不管是有神谕还是有谢林币,预测市场都会很容易实现,带有谢林币的预测市场可能会被证明是第一个主流的作为去中心化组织管理协议的“ futarchy”应用。

12、链上去中心化市场

以身份和信誉系统为基础。

(二)以太坊的问题及其他公链的兴起

区块链2.0是以智能和约平台为特征的以太坊区块链。从连接用户日常场景的角度来说,以太坊 EVM 存在两个主要问题:

1. 单主链结构,计算能力有上限,无法扩容;

2. 区块链作为存储和计算空间,无法支持用户日常生活场景,无法应用数字内容。

目前各公链都针对DAPP开发和完善以太坊基于不同的角度提出了各种方案。

(三)其他主要公链特点

以下简要介绍亦来云(elastos)、EOS、NEO、墨客链(MOAC)。

1、亦来云(elastos)

亦来云(elastos)通过提供可信运行环境,致力于打造智能万维网。亦来云不需要结合安卓或IOS都可以运行,是完全单一的,所以是世界上仅有的分布式可信操作系统,基于可信属性和独立运行环境,这个操作系统可以承载大规模应用。

具体来说,一是亦来云采用主链 + 侧链的弹性区块链设计结构。主链只负责基本的交易和转账支付;侧链执行智能合约支持各种应用和服务,每条区块链都是一台服务器。二是亦来云通过 Elastos Runtime 将 App 运行在相互隔离的进程、通信受限的沙箱环境中。所有网络数据必须通过安全、可信、可识别身份的通道发送,这些身份识别和鉴权都来自于区块链身份 ID。这样就让区块链的可信传递到 Elastos Runtime。而 Elastos Runtime 可以有多种形态:可以是独立 OS,可以是 VM 虚拟机,可以是结合原生 App的 SDK。

亦来云(elastos)设计基本理念是:

(1) 采用C/C++、JAVA、HTML5/JS三类语言并重的开发模式,其C++编程API基本对应安卓Java API,实现云、管、端三位一体统一管理;

(2) 作为容器沙箱,亦来云OS禁止App直接创建进程,不允许App直接访问TCP/IP,以期隔离病毒传播途径;

(3) 亦来云分布式框架(Elastos Framework)代App创建和查找部署于本地、周边、云里的微服务,自动生成远程调用及事件回调,以期规避从第三方应用或服务发起网络攻击的可能性。

(4) 利用区块链进行用户ID确认,进而对数字内容及物联网设备进行资产确权。

(5) 智能合约只运行于相关侧链协议授权方节点,从而提高验证效率并可兼容法定数字货币。

2、EOS

EOS通过共识算法 (DPOS)来解决可扩展性的问题,DPOS每 3 秒生成一个区块,并且在任何时间点都只有一个被授权的生产者来生成区块。这样EOS可以说同时做到了承载大量用户、速度快(仅仅需要3S)、交易费用这几点。但DPOS机制可能存在的不足是:临时股东大会制度,会导致出块的永远都是那些拥有大量代币的用户,结果大部分的奖励都被他们拿走了,进一步造成“贫富差距”,恶性循环,最终成为一个巨头垄断的中心化网络。

EOS突出特点如下,

一是EOS免手续费。EOS21个出块节点和100个候选节点加起来成本不会超过千万。这是低费用的基础。EOS通过每年增发代币,也就是通胀作为奖励来支付节点成本。

二是EOS通过抵押代币防止垃圾交易攻击。一个应用抵押EOS给系统,换取相应比例的计算、存储和带宽资源。

3、NEO

NEO主要具有如下特点:

一是NEO采取DBFT共识机制,在牺牲去中心化和安全性的前提下,旨在提升公链性能。

二是与以太坊solidity相比,NEO对于智能合约开发者更为友好,可以用他们擅长的语言而不需要学习新的编程语言,可操作性极高。

三是与以太坊智能合约相比,NEO智能合约2.0可扩展性更强.NEO通过将智能合约哈希值记录在链上,在执行合约时再从链外加载代码。

四是NEO在理论上具备抗量子计算机的能力。NEO引入基于Lattice(格密码学)的签名和加密技术,将加解密问题归约到量子计算机尚无法解决的SVP(最短向量问题)。

4、墨客链(MOAC)

墨客链MOAC,Mother of All Chain Blockchain (简称 “MoacChain”,中文音译为“墨客链”,又称“众链之母”)是一个开源的区块链平台。

第一,墨客链(MOAC)的主链是可扩展且有弹性的。墨客链(MOAC)主链的特性具有可扩展。墨客链采取了分片sharding技术,可以将墨客分为无数逻辑子网,使得并行计算成为可能,大幅度提高处理速度。在墨客链中,无数的逻辑子网就是平时我们所说的节点网络。

第二,墨客链(MOAC)异步智能合约的调用,大大增加处理智能合约的数量。而墨客采取了异步智能合约调用,使得调用和返回可以跨区块运行,极大的加快了智能合约的处理速度。防止墨客链的拥堵,甚至可以说,墨客链(MOAC)在以后的运行中,不存在拥堵的现象。

、DAPP开发相关问题

我们对DAPP开发特点、架构分析和技术流程等问题作一简要说明。

(一)DAPP开发特点

DAPP与APP在很多地方如用户操作界面上是很相似的,但其特点很明显。

一是生态结构变化。区块链的数据确权、价值网络属性可以变更现在的互联网价值生态,区块链使得一些原来的权威中介失去意义。比如目前版权成本高昂导致作者等需要付出极高的成本打击盗版,对很多侵权行为往往只能不了了之。如果基于区块链技术,则作者与读者双方的联系变得更直接,作品可以被版权方确权,用户可以通过直接通过token向作者支付的费用。在此生态内盗版的问题通过技术手段被解决,版权争夺成本下降,作者专注于写作。

二是交易模式更新。在传统的非区块链状态下的交易,对交易主体的资信、交易对象的可交易状态,以及交易条件等的审核都需要耗费大量的成本,比如目前基于金融中介(例如银行、VISA等)的交易处理方式效率低,信用生产成本相对高,而且相互之间对数据还互不信任互不兼容。而基于区块链技术,就可能在不对现有业务流程做大的变动升级的情况下,通过基于区块链形成的可信账本就解决了这些问题。

三是数据共享方便。中心化的APP场景下要实现不同应用之间的数据共享是比较麻烦的。但在DAPP场景下一般公链内的应用都会支持包括用户身份在内的数据共享(比如亦来云的DID侧链)。那么对其他DAPP的开发者而言,可以从其他生态内的开发者处共享到用户实名资料,在根据哈希值匹配获取数据时只需要支付Token即可;而对用户而言,这也算是POD(Proof of Data)挖矿模式,可以说实现了数据归自己支配和收益。

四是颠覆设计思路。目前互联网产品设计思路是不断推出新版本,这个传统方式可能在DAPP应用开发中会有问题或者说至少不那么顺畅。简单来说,现有的APP都基于自有服务器,重大问题迭代强行刷新版本即可,但DAPP基于分布式的区块链网络,一旦提交上线出现核心bug很难迭代。拿以太坊为例,一旦发生这类bug,只能以硬分叉解决,这就是DAPP与现有APP设计思想的不同,在MVP1.0的调研阶段,一定要确认核心机制不出意外。

(二)DAPP设计分析

我们不妨先结合一个具体的例子如大宗商品国际贸易的区块链化项目来说明去中心化应用架构设计过程。从某种程度来说,去中心化应用都是对中心化服务的改造,那么在开发应用模型时首先要考虑的问题就是,所设计的去中心化应用要取代或者说改良的是中心化服务的哪一个方面?比如大宗商品交易通常金额比较大,交易的信任成本非常高,体现在需要对交易主体资信审核,作为交易对象的仓单真伪、质押、重复交易等权利状态审核,对支付方式等交易方式审核等多个方面。那么在这个场景里去中心化应用需要解决的是作为资产确认及交易确认的信息记载公信力问题。为了提高这种记载的公信力,需要将原来中心化记账形式改造成为去中心化记账。那么如何改造呢?记账还是要记的,但是任何单独的主体都难以信任,因此就采用竞争性地提供工作量来记账。那么至此方案就很明确,大宗商品国际贸易实际交易操作中,通过进行资产上链,将交易过程和交易结果信息进行区块链化,然后通过去中心化记账来解决传统交易模式的信任成本。

一般而言,在考虑一个去中心化应用的架构时要解决几个方面的问题,包括去中心化的对象问题、去中心化的方法问题、去中心化的约束机制问题,以及去中心化应用的技术实现问题。

一是去中心化的对象是什么?即在这个中心化对象中,其起作用的是计算能力,还是存储能力,还是数据?甚至还有其他方面?

二是如何实现去中心化?即是将中介自动化还是中介竞争化?这二者的区分有时候很清楚,有时候可能会混合在一起。

三是实现去中心化约束机制是什么?所谓去中心化应用的约束机制,主要是指在实现去中心化应用时要有机制能够约束去中心化参与各方特别是主要和关键参与方,确保达到理想中的效果。比如在中介竞争化中,调停具有相当的自由裁量权,因此将信誉作为一种约束机制就成为必要。在中介自动化中,去中心化资产支付如果不能与资产的控制权不可分割性联系在一起,即支付即产生资产转移,那么链上资产的转移的产易风险还是比较大的,因此资产支付与资产控制的技术对接是中介自动化中的关键。

四是去中心化应用的技术实现问题。因为开发一个DAPP应用而重新去开发一条链很可能是不必要的,在目前的大多数性能稳定可靠的公链上即可方便地实现主要的区块技术方案,而作为去中心化应用而言其重心应该是如何实现其个性化业务逻辑,因此需要用什么样的基础公链也成为去中心化应用的一个重要环节。公链选择主要从方便应用调用智能合约、账本的记录方式、社区治理模式等方面是否与所开发的应用的业务逻辑相契合。

(三)DAPP技术流程

如何开发DAPP?大体包括选择基础主链、开发模式与语言选择两个方面。

1、基础主链。如前所述,开发DAPP之前需要选定一个主链,这就有点像做软件开发之

前先要选一个应用平台,如是选择苹果iOS或者android,亦或简单点做一个H5的手机网站。开发DAPP应用平台即通常说的基础主链的选择还是比较多的,目前主流的就有以太坊ETH、亦来云ELA、EOS等等。

选择开发主链主要是看有利于DAPP运行和对开发者友好,主链的开发环境与主链开发

者社区要相对成熟,社区关注度高,人多就是教程多、工具多,各种心得攻略就多;二是代码维护团队的接口更新维护快。

2、开发模式与语言选择。目前有三种DAPP模式,一是全节点客户端,离线同步全部数

据,无需专门服务器支持;二是快速全节点客户端;三是轻钱包前后台模式。热门开发语言有C++、solidity(类似、go、C++。【北京金诚同达(上海)律师事务所 张烽】

区块链钱包之于DAPP,如支付宝之于电商APP

如果在你的印象里,区块链钱包就仅仅是数字资产的管理软件,那么就显得有些狭隘了。试想如果我们现在每个人手机里的支付宝APP只是人民币资产管理平台,只能用来转账和收款,还会有那么多人用吗?

人们之所以频繁使用支付宝,而不是现金和银行卡,最重要的原因是支付宝让支付和交易变得更加简单便捷了,少了纸币的携带、假钞和找零烦恼,同样也少了银行卡复杂繁琐的支付流程,仅仅通过一个二维码就可以轻松完成所有的支付流程。也正是因为支付宝极大地降低了交易成本,提升了交易效率,才使得不管是五星级酒店,还是街边卖红薯的商贩,都接受支付宝支付。

在区块链领域同样存在类似的问题,大家都知道私钥对于数字资产意味着什么,任何时候只要私钥丢失,就意味着所有的数字资产很容易就可以被人盗走,所以私钥通常都是保存在本地,比如手机APP、不联网的硬件等,而不会像支付宝那样将密码保存在服务端。私钥保存在本地的代价就是任何区块链交易都需要在本地完成私钥签名,才能将整个交易流程走通,这就使得现有的很多DAPP无法做到无缝地体验,换言之区块链钱包之于DAPP,就如同支付宝之于各种电商APP。

支付宝占据了人民币交易的大部分市场份额,于是支付宝就成了很多交易场景无法绕过去的支付工具,我们熟悉的电商、旅游订票、知识服务等平台,都会在手机端唤起支付宝APP完成最终的支付流程。同样的,区块链上的数字资产未来极有可能也会因为大规模DAPP的出现而使得交易更加频繁,于是方便快捷的钱包产品就显得非常有必要了。

当然钱包的入口价值是基于大量频繁的交易为前提的,此时交易场景就显得特别重要了,要知道没有电商业务的兴起,支付宝恐怕一时也难有用武之地,而区块链的支付场景就在一个个的DAPP中,目前来看区块链游戏可能是DAPP中最容易落地的领域。

应用分发中心

我们调研了国内外很多区块链钱包产品,很多钱包已经开始集成有限的DAPP了,用户在使用DAPP时,只要有需要支付交易的场景,都会唤起本地钱包完成私钥签名和支付,这就像很多第三方电商APP会在需要交易的时候唤起支付宝。区块链钱包的价值就在于给各种第三方DAPP提供了一套完整的支付体验流程,基于此,我们有理由相信未来的钱包很有可能会是一个应用分发中心。

过往很多商业模式都是基于流量思维,对于线下零售来说,好地段永远都是最重要的选址标准,因为好地段就意味着大流量。同样的,对于互联网应用来说,流量依然是大家极其看重的指标,微信垄断了社交流量、阿里垄断了电商流量、百度垄断了搜索流量、抖音垄断了短视频流量等等,对于一家手握大量流量的公司来说,商业变现都是迟早的事情。

交易所的弊端

在区块链领域,过去很多人都觉得中心化的交易所未来极有可能是流量入口,但是从过往交易所监守自盗的劣迹来看,人们极有可能会最终抛弃中心化交易所。数字资产交易所和传统的股票交易所本质上并没有太大的区别,数字资产交易所今天上演的各种行为,在很多人看来完全是在复制早期股票交易所,所不同的是,数字资产交易所未来是否会引入监管还存在极大的不确定性。于是各种内幕交易、操盘价格走势,再加上做空和期货的引入,交易所既可以成倍放大收益,也可以成倍放大市场的恐慌情绪。

最重要的一点是人们在交易所上存放的数字资产本质上并不掌握所有权,人们只是把数字资产转到了交易所指定的账号上,由交易所代为管理。所以交易所完全有可能直接用这些数字资产去做短期套利,而只需要在个人账户界面上显示原来的余额即可。对于刚刚过去的EOS投票上线主网,由于散户的投票热情很低,EOS因为投票率低迟迟无法上线主网,最后是交易所推高了投票率,才使得EOS主网最终上线主网,那么我们就有理由相信交易所私自动用了未经用户授权的EOS,强行代用户进行了投票。

最后最为致命的一点就是交易所由于缺乏监管,理论上完全有可能携款跑路,至少目前国家法律并不保护用户的数字资产,所以散户们除了道德谴责好像也找不到更好的维权途径,不要以为我在危言耸听,很多小规模的交易所已经开始无法提现了。

DAPP的价值

钱包由于满足了用户管理数字资产的刚需,所以用户量可以做到很高,今天中国币圈投资者基本上没有人不知道imToken钱包的。随着去中心化交易所技术的不断改善和提高,我们有理由相信钱包内置去中心化交易平台会是一个大趋势,一旦人们的交易需求被满足,那么人们极有可能会抛弃中心化交易所。

除了交易需求,未来更大的想象空间应该来自DAPP的大爆发,互联网以及随后的移动互联网最为火热的阶段都是大量应用层出不穷的时候,诞生了很多世界级的大公司,人们也因此享受到了更加便捷的生活方式。我们有理由相信随着区块链基础设施的不断完善,未来基于区块链的去中心化应用(DAPP)会开始呈现爆发的态势。

可能很多人不理解既然我们已经有互联网了,为什么一定要区块链,其实这个答案并不复杂,互联网虽然连接了无数的人们,信息可以自由流通,但是并没有解决所有权的问题。今天互联网上充斥着盗版、抄袭、传播虚假消息的行为,情节轻的人们只能耸耸肩,一笑置之,情节重的,就需要动用各种法律、技术资源,要知道这些都极大提高了维权成本,很多事情一旦成本提高,就会无形阻碍很多交需求的产生。

同时对于有价值的信息,互联网很难让信息的所有权得到全世界的共识,在很多经济学家看来,如果当初没有解决个人财产所有权的问题,很难相信后来会爆发资本主义的大发展。

而这一切都能通过区块链解决,只要一串字符形式的私钥,资产所有权就可以通过技术手段得到全世界的共识,成本几乎为零。同时Token可以让区块链上的信息以极低的成本在用户之间完成交易,智能合约则可以通过代码编程的方式定制利益分配规则,促成更多的分工合作,赫拉利在《人类简史》中认为分工让人类的经济活动获得了极大的飞跃。

当越来越多的DAPP爆发时,所有的交易都需要私钥签名,出于安全性考虑,私钥又不得不放在钱包APP中,所以就需要钱包充当媒介为DAPP提供最终的支付解决方案。如果钱包本身就是一个应用分发中心的话,那么就意味着人们可以在钱包中使用完成从DAPP体验到支付的所有环节。就像可以在小程序中做很多事情,如果需要支付的话,不用再唤起支付宝APP,而是直接可以在微信中使用微信支付,所以支付宝在面对微信支付的竞争时从来不敢有丝毫懈怠。

多链资产和跨链交易

如果未来钱包真的要充当应用分发中心和支付媒介,那么就肯定会有多链资产和跨链交易的需求,目前我们看到的很多钱包都还是只支持单一区块链平台,随着区块链开始在各个行业渗透,未来的钱包大概率会出现多条链并存,DAPP横跨多条链的场景。

想象一下,如果一款钱包可以同时支持比特币、以太坊以及各种ERC20代币、EOS、IOTA等,是不是会觉得非常方便,如果还能在钱包中完成这几种资产的比例自由配置,估计币圈的投资者会有一种相见恨晚的感觉。

我们不妨再想象一下,如果今天的加密猫游戏不仅仅是基于以太坊的ERC721代币,还包括其他区块链数字货币,那么游戏体验会不会更好,用户可以通过比特币充值,然后用以太币完成交易,还可以换成某条侧链上的资产去玩其他周边游戏,比如说给猫买一顶帽子等。一旦跨链交易成为可能,游戏的扩展性和可玩性都会得到极大的提高。

Nervos AppChain和Neuron钱包

不管是多链资产管理还是支持跨链交易的DAPP,目前都还面临着很多技术瓶颈,但是Nervos生态则找到了属于自己独有的解决方案,目前我们的CKB公链还在紧张的开发过程中,预计2018年底上线测试网,2019年年中上线主网。作为Nervos生态中的AppChain将于近期发布,AppChain兼容现有以太坊DAPP,性能则是以太坊的上千倍。由于AppChain和CKB都由秘猿科技操刀开发,所以从一开始技术架构就考虑了跨链的需求。

未来AppChain充当各种行业的应用链,可以在性能上满足各种商业需求,而安全性则由底层公链CKB满足,我们将大量的业务场景剥离出来放到AppChain上,CKB更加关注安全性和基础共识,两条链可以有不同的共识算法。CKB采用PoW共识算法,通过引入外部物理资源作为信任抵押,避免在单一封闭的系统中因为熵增导致信任基础崩塌,而上层的AppChain可以采用各种高效的PoS共识算法,满足真实商业场景对于性能的要求。

AppChain从一开始就支持任何有能力的第三方自行搭建并运行属于自己的一条公链,所以更准确地说AppChain其实提供一套可以一键发布公链的解决方案,每条链上都可以运行各种ERC20和ERC721的智能合约和DAPP。

目前很多公链都在拉拢开发者为其开发应用,而Nervos则是先有应用再考虑底层公链技术架构,从一开始我们就积累了大量应用链的需求,同时也给出了AppChain作为应用链的解决方案,可以说我们更像是倾听了用户的大量需求后作出的区块链产品。

Neuron钱包作为同时支持以太坊、AppChain的钱包,当然未来还会支持CKB公链Token,天然就具备了多链资产管理和跨链交易的能力,同时Neuron还会集成各种第三方DAPP,在保证安全性的前提下,满足用户的一站式体验需求。近期我们会上线Neuron钱包的Beta测试版,代码完全开源。未来会有更加详细介绍AppChain和Neuron技术的文章,敬请关注。

可能很多币圈的投资者都知道Nervos,也很看好该项目,但是就是不知道如何上车,在此可以郑重说明一下,市面上Nervos基金会没有任何私募和公募的通知,上车的唯一方式就是加入秘猿科技,成为贡献Nervos生态的一份子。目前秘猿科技在招Android开发、前端开发、产品经理,不需要有太深的区块链基础,只要有扎实的基础能力,非常欢迎有志者一起来为更好的区块链世界做贡献。