菲欧娜2星评价
2021-04-16 15:16:34
大家都熟悉 App,微信、支付宝是生活中最常用的 App。区块链资产持有者使用的 imToken 我们也认为是 App,虽然它已经带有一点 DApp 的色彩。
DApp 需要满足两个条件:
没有中心化的服务器,这意味着只要节点网络中还有一台机器能运行,你就可以使用 DApp;
不存储用户的账户数据,使用 DApp 时,用户可以通过私钥签名授权给 DApp,但无需暴露自己的私钥。
以上两点是普遍意义上的 App 所不具备的。前面提到,imToken 已经带有了 DApp 的色彩,当然不是因为有 DApp Browser,而是它的去中心化属性满足了两个条件之一。
由于不存储用户账户数据,就不会有类似服务器被黑导致个人隐私泄漏的事故。隐私泄露如何?我是平凡人,有人会对我下手吗?别杠,黑客中流行一句话「你还没有被黑,是因为还没有被黑的价值」。如果你既努力,又不在意隐私,就好比努力在为别人的钱包打工,一有价值就被提现。严格地说,在以往的生活中我们早已被「下手」,每天都会有几条垃圾信息、几通骚扰电话,我们习惯了以至于觉得没有大碍,谁又没被打搅过呢?
我们的个人数据越集中,DApp 的意义就越大。当所有数据集中在一个服务器上,则对不怀好意的人就有极大的吸引和诱惑,像宝藏之于海盗。而 DApp 既能让我们享受同一个身份授权多个服务的便捷,也能保证我们的隐私始终掌握在自己手里。是不是听起来很美好?但「美好」的代价,是我们要付出的「性能」。DApp 受限于性能离普及还有很长的路,但当前所有公链都在探索拓展性,我们有理由相信一旦跨过这道坎,DApp 就能一往无前。
现在的 DApp 多是以网页应用的形式展现,就像我们需要在 Chrome,FireFox Browser 浏览网页一样,DApp 也需要一个入口。
DApp Browser 就是这个入口。每一个 DApp 的使用都需要私钥授权,而私钥需要通过「钱包」来管理,所以「钱包」天然适宜提供 DApp Browser 服务,通过 Browser 赋予 DApp 和私钥沟通的能力。
以 ETH DApp「质押借 Dai」为例
这是 MakerDAO 开发的带有金融属性的 DApp。我们可以通过抵押 ETH 来获得稳定币 Dai。当你在 DApp 中需要确认抵押 ETH 时,Browser 就会发送请求到钱包,唤起钱包由你来输入密码授权抵押操作。确认后,链上就会调用智能合约,经过一系列的自动合约执行,Dai 就出现在了你的钱包地址上。
由 Maker 官方提供
这一整个操作中,所有规则都在区块链上透明且自动执行。在传统金融机构,这样的一次借贷操作会消耗我们多大的时间精力:办证明,填资料,走流程。尽管如此,我们对自己借到的钱仍然战战兢兢,中心化的账户就意味着可能的冻结和注销。而这个 DApp 的出现则消除种种不便和疑惑,让一切繁琐冗杂简单至极。
如果以上让你有一点点心动,那么「Compound」和「LocalEthereum」可能也是你早早就需要而未曾发现的「宝藏」。
小苹果1星评价
2021-04-12 11:19:53
App我们都知道是客户端应用,是application的简称。DApp就是D+App,D是英文单词decentralization的首字母,单词翻译中文是去中心化,即DApp为去中心化应用。
首先我们思维中第一反应是这个疑问,为什么要有DApp,现在的App不是挺好吗?面对新鲜事物大多数人大多数时候潜意识是排斥抗拒的。其实两者并不是取代关系,谁替代谁,谁淘汰谁,而是并存关系,或者说DApp是对App的丰富完善。因为DApp直接和区块链技术挂钩,和交易数据、交易资产有关联,和不可篡改去中心化存储有关联,所以随着区块链技术越来越成熟普及,DApp将越来越受重视,并更多地出现在各个生活场景中。
前面从字面上说是去中心化应用,App为什么需要去中心化呢?在回答这个问题前,得先知道另一个概念——智能合约。合约我们都知道,类似于合同、协议、契约等共同遵守的条例,而智能合约是电子版合同、数字化合约、智能化合约,是将合同合约用代码写成一段程序,这段代码一旦写好就公之于众,且无法修改无法篡改,当外界条件发生变化如违约或合同到期,智能合约会自动触发。
假设,有一位作者想出书但没有钱,想通过众筹方式筹钱,于是TA和读者粉丝们约定好:出版后依据书的销量进行分成,并将约定好的内容写进智能合约。这样一来,如果书大卖后作者觉得不应该分这么多想单方面毁约或者修改内容,都无法成功,即使作者再强势读者再弱势,也没法改合约。因为合约已经在区块链上了,不再是一式两份,而是所有参与者都存储一份,所以作者不得不遵守合约规定。(不过如果发生法律纠纷,目前智能合约不纳入法律判断依据。)
DApp就是智能合约+App。站在开发角度来看,DApp是前端界面+智能合约,前端就是和用户交互的,你可以选择各种命令,智能合约自然就是和区块链(分布式数据库)交互了。