内容简介
- 了解使去中心化数据、财富、身份标识、计算和带宽成为可能的分布式系统技术有何优势
- 利用 Go 语言、去中心化架构、去中心化消息应用和点对点数据存储构建“另一个 Twitter”
- 理解 OpenBazaar 的去中心化市场及其支持交易的结构
- 探索去中心化众筹项目 Lighthouse 如何超越 Kickstarter 和 Indiegogo 等对手
- 深入讨论直接连接乘客和司机的 P2P 共享租车应用 La’Zooz
Siraj Raval,dapp 开发人员、 企业家。他是开发人员众筹平台 Havi 的创始人,开发过包括 Meetup 在内的几个 iOS 应用,还做了很多开源方面的工作。除了程序员,Siraj 还是一位旅行家、音乐家、后现代主义者和潜水员。
本书内容
前言
排版约定
本书使用下列排版约定。
-
等宽字体()
表示广义上的计算机编码,包括变量或函数名、数据库、数据类型、环境变量、语句和关键字。
-
等宽粗体()
表示应该由用户按照字面输入的命令或其他文本。
-
等宽斜体()
表示应该由用户替换或取决于上下文的值。
代码示例
补充材料(包括代码示例、练习题等)可以从 https://github.com/oreillymedia/decentralized_applications 下载。
本书旨在帮助你做好工作。一般来说,你可以在程序和文档中使用本书的代码。除非你使用了很大一部分代码,否则无须联系我们获取许可。例如,使用来自本书的几段代码编写一个程序不需要许可。销售和分发 O’Reilly 书中用例的光盘需要许可。通过引用本书用例和代码来回答问题不需要许可。把本书中的大量用例代码并入你的产品文档需要许可。
如果你感到对示例代码的使用超出了正当引用或者这里给出的许可范围,请随时通过 permissions@oreilly.com 联系我们。
Safari/sup>在线图书
图 1-1:应用软件的三种类型
集中式系统是目前最流行的应用软件模型。集中式系统直接控制各个单元的操作,并且信息流源自一个中心。所有单元都要直接依靠中心点来发送和接收信息,以及接受命令。Facebook、Amazon、Google 和其他主流互联 服务用的都是这个模型。我们将这些巨型服务称为“服务栈”。这些服务栈很有用,因为它们为我们提供了有价值的服务。不过它们也有巨大的缺陷,我会在第 2 章展开讨论。
那么,去中心化和分布式有什么区别呢/strong>
分布式意味着计算不是在一个节点上,而是分布到多个节点上完成的。去中心化的意思则是,任何一个节点都不会对其他节点的工作指手画脚。很多像 Google 这样的服务栈都在内部采用分布式架构,以加快计算速度,降低数据延迟。也就是说,集中式系统同时也可以是分布式的。
那么,去中心化系统可以是分布式的吗/strong>
可以。比特币就是分布式的,因为它盖有时间戳的公共账目(区块链)就是驻留在多个计算机上的。同时它也是去中心化的,因为如果某个节点失效了,整个 络还可以照常运转。也就是说,任何使用区块链和其他端到端工具的应用都可以是分布式的去中心化系统。
那为什么本书不叫作《分布式的去中心化应用》呢/strong>
集中式系统也可以是分布式的。能够达成去中心化共识的应用软件才是真正的革新成果。
那么,有去中心化共识是成为去中心化应用的唯一要求吗/strong>
dapp 领域是一片刚刚开始开垦的沃土,有很多聪明人正在用新的模型进行各种尝试。对于究竟什么是 dapp,不同的开发人员有不同的看法。一些人认为只要没有能导致整个系统失效的中心点就够了,但也有人觉得还要加上其他要求。本书的重点是讨论能够盈利的 dapp,即能让开发人员和用户赚钱的 dapp。之所以关注盈利,是因为利润为成功、健壮、可持续发展的 dapp 奠定了基石。开发人员构建应用,用户保持忠诚,以及矿工维护区块链,都是靠激励措施维持的。接下来介绍所有能够盈利的 dapp 都应该具备的 4 个特性。
1.2.1 特性1:开源
去中心化的闭源应用要求用户相信该应用的去中心化程度确如核心开发人员所说,并且用户不会通过一个中心源来访问自己的数据。因此,闭源应用会让用户望而却步,不敢使用。尤其对于那些会收取、持有或转移用户资金的应用,闭源更让人排斥。尽管确实可以推出一款闭源的去中心化应用,但从一开始就会面临艰难的局面,而且用户会更加青睐开源的竞争对手。将 dapp 开源会改变它的商业行为结构,因此互联 才会变成共同点,而不是孤岛链(见图 1-2)。
图 1-3:组织的类型(来自 Vitalik Buterin)
我很喜欢这张图,因为它把之前讨论的内容都放进了上下文中。我们还没到能够制作 AI(图中的圣杯部分)的阶段,而是在旁边那个可以开始制作 DAO 的进化阶段。
为简便起见,我们将在本书中使用术语 dapp,因为 dapp 是所有去中心化软件的超类。我将要讨论用于定义你自己的 dapp 的各种工具及方法论,然后由你来决定哪种 dapp 最适合你。
我的定义源自我对“加密货币” 区的研究。我不想给概念添加其他标签,也不想创建新的范式。实际上,我想要尽可能地简化这一领域,以便你能充分了解那些用来创作可盈利去中心化应用的工具。去中心化应用领域几乎快被各种想法搞得精疲力尽了,在看过它的优缺点后,是时候重新迭代一下了。下一波软件潮流就是 dapp,希望这本书能帮你做好加入其中的准备。
1.5 开始着手吧
希望我已经把什么是去中心化应用讲清楚了。虽然还有很多需要解释的,但你应该已经对这一领域有了大致的了解,并且掌握了跟 dapp 相关的术语和缩写。我写作这本书的目的是:首先解释什么是 dapp,为什么要构建它们,以及蓬勃发展的 dapp 生态系统看起来是什么样的;然后介绍如何使用现有工具实现你自己的 dapp;最后深入介绍 dapp 领域中的几个主要参与者。
第2章 蓬勃发展的 dapp 生态系统
第3章 创建你的第一个 dapp
第4章 OpenBazaar
第5章 Lighthouse
第6章 La’Zooz
关于封面
阅读全文: http://gitbook.cn/gitchat/geekbook/5b5e947991833538d3944ec0
相关资源:聪聪识字(趣味儿童识字软件)V1.2.1.0中文官方安装版-其它代码类…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!