Star | 《区块链项目开发指南》:代码级介绍。一些细节很清楚。
这本书介绍了构建一个实际的区块链项目的代码细节。我跳过了所有的代码部分,但我仍然觉得一些区块链的细节比其他媒体或书籍更清晰。
总体评价4星,有参考价值。
以下是该书的部分节选,kindle电子书中的页码后面是#号:
1: DAPP是一个互联网应用,它的后端运行在一个去中心化的对等网络上,源代码是开源的。网络中没有节点可以完全控制DApp。#203
2:在DApp,没有一个中央服务器来协调节点或者决定什么是对什么是错,所以迎接这个挑战真的不容易。共识协议可以用来解决这个问题。#207
3.分散应用的一些缺点如下:很难修改bug或更新DApp,因为网络中的每个节点都需要更新其节点软件。一些应用需要验证用户身份(即KYC),但是没有中央组织来验证用户身份。创建分散的应用程序是困难的,因为它们使用复杂的协议来达成共识,并且它们必须从一开始就创建和扩展它们的规模。#226
4:大部分dapp都内置了内部货币,或者可以说最成功的dapp都内置了内部货币。#287
5:比特币是一种去中心化的货币,也是最受欢迎的DApp。它的成功显示了Dapp的强大,并鼓励人们创造其他的Dapp。#306
6:区块链是一种用于创建分散分类帐的数据结构。区块链的区块按序号排列。一个块包含一系列事务、前一个块的散列、时间戳(指示块的创建时间)、块奖励、块编号等。#311
7:区块链数据结构的主要优点是它自动进行审计,使应用程序安全透明,可以防止欺诈和腐败。根据它的实现和使用方式,它还可以用于解决许多其他问题。#318
8:以太坊是一个去中心化的平台,用智能合约编写的DApp可以在这个平台上运行。#331
9:以下是比特币面临的一些问题:交易需要几分钟才能完成,但在当前环境下,通常需要立即完成。这是因为比特币网络的挖矿难度在不断调整,平均每10分钟就产生一个区块。#388
10:波纹币不是采矿产生的;相反,原本有1000亿的瑞波币,原本归瑞波所有。由于各种原因,波纹硬币是手动供应的。#440
11:目前,以太坊是继比特币之后最受欢迎的DApp。#458
12:以太坊使用工作负载证明共识协议来防止区块链被篡改。工作负载证明系统需要解决一个复杂的问题来创建一个新的块。解决问题需要大量的计算能力,这使得创建块很困难。#489
13:任何人都可以成为网络中的矿工。每个矿工单独解决问题,第一个解决问题的矿工就是赢家。它得到5以太坊和该区块所有交易的交易费作为回报。如果你的处理器比网络中的其他节点更强大,并不意味着你会永远成功,#493
14:区块链有多少块没有限制,能生成的以太坊总数也没有限制。一旦矿工成功地挖掘了该块,他们就将它广播给网络中的所有其他节点。#497
15:每个矿工挖的块的hash是不一样的,因为hash取决于时间戳、矿工地址等内容。而这些内容对于所有矿工来说,大概都是不一样的。所以解决问题不是比赛,更像是碰运气。#525
16:常见分叉是两个或两个以上矿工几乎同时发现一个区块而引起的暂时冲突。如果一个难度值比另一个高,冲突就解决了。#577
17:要求50%以上计算能力的矿工升级解决冲突,这叫软分叉;要求所有矿工升级解决冲突,这叫硬分叉。#579
18:以太坊虚拟机(EVM)是以太坊智能合约字节码的执行环境。#594
9:在写这本书的时候,区块链的大小大约是30GB。如果用户网速慢,下载需要几个小时甚至几天。以太坊实现了快速同步算法,可以更快的下载区块链。#684
20:我们来看看以太坊独特的也是最重要的缺点。1.Sybil攻击攻击者可能试图用他控制的普通节点占领整个网络,因此用户很可能只连接到攻击者的节点;2.51%攻击:拥有50%以上的计算能力,矿工可以重写事务,防止所有/部分事务被挖出,防止其他矿工挖出的块被添加到区块链。#710