三分钟,轻松了解Dapp

300 阅读5分钟

什么是Dapp?D+app,Decentralized的意思是去中心化,app就不用解释了,那么合起来就是去中心化的应用程序。大家都知道app是基于IOS或者是Android系统运营的,而Dapp是基于公链系统运行的,区块链的Dapp就像是传统互联网的App,IOS系统或者安卓系统就像是不同的公链。也就是说Dapp和app运行模式上没有太大的区别只不过换了一种技术框架。

那么何为去中心化?何为区块链?举个简单的例子:

一个10人的群体一起去完成一个利润为1000元的工作,推举出一个大家公认的值得信任的人当头,这个头安排其余人工作,而工作记录呢都由这个头保管记录,最后工钱呢按照工作记录来发放。这个时候就出现了一个问题,那就是每一个人的利益都握在一个人的身上,倘若这个人不够公正,那么就可以篡改信息,个人利益的不到保证。(这个就是中心化,有一个中心点,也就是传统的app。)

这个时候倘若这个10人的群体中不举荐一个头,而是每一个人都有一个工作记录簿,任何一个人的记录信息都会被告知其余人然后被记录到每个人的账本上,大家的工作记录都是公开透明的,哪怕哪一个人篡改了记录也是自己欺骗一下自己。(这个就是去中心化,没有中心点,也就是Dapp。)

这个账本上记录了每一个人的信息,随着时间的不断增长,记录账簿里便有了很多重要的信息,直到填满整个账本。这个时候,每个人都必须通过解决一个数学难题来封装这个账本。通过解决数学难题,保证了每个人手中的账本都有着同样的内容,并且无法被修改。谁第一个解出了题,谁就会得到一定数量的加密货币的奖励。

一旦封装完毕,这本账本就会被放到文件夹里面,然后拿出新的一本账本,继续重复上述过程。随着时间不断增长,这些包含了重要记录(也就是交易)的账本(也就是区块,block)不断地被加入到文件夹(链)里面,最终形成了数据库(区块链)。

何为智能合约呢?我们再举个例子:假设你和我对一枚硬币抛起落下后的正反面进行打赌,打赌说,我打赌这杯硬币落到地上是正面,但是你打赌是反面。双方同意输的一方必须给赢的一方 100 元。那么,我们如何才能够做到这一点,并且确保输的一方不会耍赖呢?

  1. 信任对方

最简单的方法信任对方,这对于相熟的老朋友来说可行。但是如果是完全陌生的陌生人呢?你就算信任对方,对方也不一定信任你。对方就算信任你,你也不一定信任对方啊。

  1. 签一个法律协议

签一个法律协议看似可行,但其实对于这种小型交易,通过合法途径强制协议执行的成本,要比这个赌约的价值高得多。

  1. 请一个中间方帮忙

我们可以找一个双方都信得过的朋友,然后各给这个朋友 100 元进行保管。等结果出来,再把100 元给打赌赢的一方。非常简单和方便,但是:如果这个双方都信任的朋友把钱卷走了怎么办?并且如果中间方收取利息赚取差价怎么办?就例如你去银行存款存100元钱取的时候得10元利息,一方贷款100元钱给银行20元利息。银行利用你的钱,空手套白狼,白白得10元。

总结起来有以下几个缺点:

  1. 陌生人,互相都不信任。
  2. 当赌约价值低于协议的成本时,就没有必要了。
  3. 求助中间方除了信任问题外,还会涉及到利益问题,提高了成本。

智能合约就是为了解救这个问题。一个智能合约就像是可信赖的共同的朋友,只不过是用代码写的而已。我们可以在以太坊上写一个合约,这个合约从我们双方获得 100 元的输入,然后结果出来后,将所有的以太转给赢的一方。一个合约写好以后,就无法再被编辑或者修改。因此,你可以保证无论合约的内容是什么,它都会无条件执行。

用以太坊为例:

如果用户想要使用和执行智能合约,就必须要为执行该智能合约付出一定费用。这笔费用是给了实际花费了内存,存储,计算和电力等资源来执行合约的节点。因此为了计算智能合约的费用,合约中的每条语句都有收费标准。比如,如果执行的语句用到了节点的内存,这个语句会有一个价格。如果执行一个语句用到了节点的硬盘存储,这些语句又是另一个价格。在这里,定义成本的单位就叫做 Gas。最终,Gas 会通过汇率转换成以太坊(ETH)。你也可以理解为收取了一部分的协议费用。

通过上面的例子,我们可以很清楚的看出Dapp有这么几个特征:1.去中心化;2.不可篡改;3.分布式;4.去信任;5.可编程。这些特征防止了信息被篡改和伪造,同时也大大提高了稳定性、减少了宕机风险。解决了三个重要问题:1.确保价值交换的唯一性;2.确立了价值交换双方的信任关系;3.确保双方的承诺能够完成依靠网络的自治机制(智能合约)自动执行,而无需可信任的第三方介入。

原文作者:DappSo

原文链接:

https://www.dappso.cn/2579.html

Dapp 入口:

https://store.dappso.cn/