23

多角度清晰认识Dapp

 4 years ago
source link: https://www.lianyi.com/zixun/1639469
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

币安收购DappReview的新闻,占领了币圈热点。可能是因为币圈还处于发展的早期,还可能是币圈去中心化而没有权威的原因,币圈的绝大多数概念定义都不是非常清晰的。Dapp也一样,各有各的定义。

Dapp,从字面意思是:去中心化应用。D是decentralized,即去中心化。app是application,即应用,和我们常用的手机app是一样的概念。

我们先从用户下载和使用角度来看dapp。

App最常见的就是在手机端下载使用,还有些App是以插件的形式在浏览器上使用,在MacOS和win10上也会有App。

Dapp也可以运行在多种平台上。

目前用户最常用的dapp是运行在加密 数字货币 钱包里,如bitpie、imtoken、TP等。用户首先要下载钱包,dapp是由开发者和钱包商合作,呈现在钱包的界面上。用户通过钱包作为dapp的入口。

Dapp的第二大运行平台是浏览器。在浏览器上有数字货币钱包,以插件形式存在。比如被广泛使用的MetaMask狐狸钱包。用户可以通过MetaMask来加载Dapp。

还有一些Dapp本身就是一个网站,这也有以一个网页形式存在的钱包。

网页钱包和插件钱包的最大区别是,插件钱包可以离线使用,但网页钱包是无法离线的。

用户无论使用什么方式进入Dapp,都是需要使用钱包。这有点像是微信的小程序。

用户基本的使用过程是这样的,用户和dapp的交互行为是用户发送一笔包含特殊信息的交易(这些特殊信息就是由dapp定义的),dapp通过用户界面,来方便使用构造交易;交易构造好后,交给钱包私钥签名;签名后,广播交易到 区块链

用户的交易提交到区块链后,dapp会监听用户的地址,在用户界面上显示区块链处理后的结果。

用户使用Dapp就是Dapp的用户界面协助用户构造交易,交易提交给钱包签名,钱包广播交易,Dapp监听区块链,给用户反馈结果。

这是带钱包的Dapp,目前大多数人认为Dapp就应该是这样。

还有一部分人认为,Dapp还可以是不带钱包的。比如区块链浏览器就是一个Dapp,用户通过浏览器输入特定的地址,然后浏览器反馈给用户一些数据。这个过程不需要签名交易。区块浏览器作为一个Dapp的作用就是帮用户解析交易信息。

我们再从产品设计原理角度来定义dapp。

和常规的app采用的服务器和客户端不一样,dapp增加了区块链端。一般dapp也会有服务器,服务器一般会运行区块链的全节点,以保持对区块链的交互。

从设计角度说,Dapp=服务器+智能合约(区块链端)+客户端。

从执行任务角度来分,客户端负责发交易,智能合约负责执行交易,服务器负责解析交易。我这里说的是核心任务,在实际运行当中,各个部分会有多种任务。

有些Dapp设计没有服务器,这就是纯粹的点对点的用户之间借助区块链来交互。

第三,我们从计算机运行原理角度来定义dapp

任何程序都需要消耗三种资源,存储、计算和带宽。Dapp也一样。

Dapp一般会将数据存在区块链上。交易肯定是要在区块链上的。币圈很主流的看法是,真正的Dapp数据都应该是来自区块链。

但事实上,大量的Dapp都是需要链外数据才能运行。

Dapp的计算,一般会在服务器和区块链上。智能合约承载了最重要的计算任务,这部分是由区块链上的节点完成的。智能合约完成核心的计算是保证Dapp不可作弊的最重要设计。

计算可以认为是加工数据的算法。Dapp常规的算法设计是设计成智能合约。有些Dapp会将算法代码开源,并存储在区块链上公开,但算法的实际运算需要服务器来完成,区块链并不执行计算任务。像去中心化的交易所,就是由服务器加智能合约来完成计算。

以太坊 ,EOS上的Dapp,基本上计算都是智能合约来完成。Dappreview上收录的Dapp也基本上是这一类。

BCH和BSV这一类UTXO式的区块链,计算任务基本上是由服务器来完成。

Dapp的数据传输一般是借助区块链网络来完成。

第四,从去中心化和中心化视角来看Dapp。

Dapp严格来说都是去中心化的,但基本上所有的dapp都会有运营的主体,基本上是一家公司在运营。严格的去中心化的dapp是不会倒闭的。我们可以从会不会倒闭来看Dapp。

数据100%是存储在区块链上的Dapp,很难倒闭。哪怕是运营主体倒闭了,但其他人可以捡起来接着做下去。就像区块链浏览器(如果你认为它是Dapp的话),就是典型的不会倒闭的Dapp。

一般来说,我们可以将不会倒闭的Dapp,定义成某种协议,协议是永恒的。

现在存在的大部分Dapp都会倒闭的,就是中心化的。主要是因为,有很多核心的数据或计算在链外,只要运营主体不去经营了,别人无法延续这些数据和计算。

但中心化的Dapp并不是要否认其价值,因为借助了区块链,可以在防作弊上做到很好,更公平。

根据国家《 关于防范代币发行融资风险的公告 》,大家应警惕代币发行融资与交易的风险隐患。

本文来自 LIANYI 转载,不代表链一财经立场,转载请联系原作者。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK