深入理解以太坊:核心技术与项目实战 - (EPUB全文下载)
文件大小:2.15 mb。
文件格式:epub 格式。
书籍内容:
目录
第1章 以太坊概述
1.1 区块链起源
1.2 以太坊发展之路
1.3 以太坊核心技术
1.3.1 智能合约
1.3.2 PoS
1.4 以太坊系统架构
1.5 以太坊社区
1.5.1 Reddit讨论版
1.5.2 Stack问答
1.5.3 Gitter聊天室
1.5.4 EIP
1.5.5 线下会议
1.6 以太坊路线图
1.7 本章小结
第2章 设计理念
2.1 密码学
2.1.1 Hash
2.1.2 椭圆曲线加解密及签名
2.1.3 merkle树和验证以及MPT状态树
2.2 共识问题
2.2.1 分布式一致性问题
2.2.2 Paxos和rfat
2.2.3 拜占庭容错及PBFT
2.2.4 以太坊IBFT共识
2.2.5 PoW
2.2.6 Casper
2.2.7 以太坊性能
2.3 图灵完备
2.3.1 比特币脚本
2.3.2 EVM虚拟机
2.3.3 gas机制
第1章 以太坊概述
本章总体介绍了以太坊技术历史背景、发展过程和的技术特性。第1.1节借比特币的出现引入区块链的概念及其应用价值的介绍;第1.2节描述了以太坊的历史发展过程;第1.3节重点分析了以太坊的核心技术智能合约和PoS共识算法;第1.4节对以太坊的架构进行了总体概述;第1.5节介绍了以太坊社区的协作方式;第1.6节回顾了以太坊的路线图和现阶段的发展目标;最后是本章小结。
1.1 区块链起源
2008年,通货膨胀造成的经济危机在全球范围爆发。当人们在为货币的未来而感到担忧时,一个叫“中本聪”(Satoshi Nakamoto)的人悄无声息地发表了一片论文《比特币:一种点对点的电子现金系统》,引起了金融界的广泛关注。文中提出一种点对点的数字货币,该货币可以独立于任何国家、任何机构之外存在,不受第三方机构管束。因其数字算法的特殊性,很难被不法分子伪造,这就是后来被人们所熟知的“比特币”。
中本聪的论文中首次出现了区块链(Blockchain)的概念,并提到通过设计时间戳和工作量证明(Proof of Work)共识机制解决双花(Double Spending)和拜占庭将军问题,即保证同一笔比特币不会同时出现在两个地址。与此同时,所有节点都可以让其它节点接收到自己的真实意图,行动保持一致。2009年,文字变成了现实,比特币网络成功创建,“创世区块”也正式诞生。
为了避免出现双花,一笔交易的接收人必须能够证明在当前交易发生之前,交易发起人并没有将同一笔交易发给另外一个人。这样就要求接收人知道所有的交易记录。因此,在区块链上所有交易必须公开,并且这些交易数据被网络证明是真实有效的。
图1-1 区块链的哈希链式结构
区块链中每个包含时间戳的交易数据块被计算出hash值,同时该hash值被存入下一包含时间戳的交易数据块中,如此反复,生成链式数据结构(如图1-1所示)。这样,一旦下一个区块确认生成,之前所有的区块信息(包括交易的内容和交易顺序)都不可修改,否则将导致hash验证失败。区块生成,也就是我们通常所说的记账,在比特币网络中通过工作量证明保证。当网络中多个节点同时生成最新区块时,长度最长的链会作为选择结果,因为最长的链代表投入算力最多,最能代表大多数节点的意志。所以多个最新区块的信息将被保留一段时间,直到收到判断出哪一条链更长。
一个节点必须拥有网络中51%以上的算力才有能力篡改一个区块并重新生成后面所有的区块,它还需要保证后面区块产生的速度比其它节点的更快。在庞大的比特币网络中,能拥有如此惊人的算力是不可能的。
我们看到比特币系统设计的非常精妙:没有中心化的管理方,数据很难被篡改,抗攻击能力强。回看历史,在比特币诞生之前,人们在这一领域历尽了不断的探索,其中许多学术贡献的诞生也为比特币的成型铺平了道路。
比特币实现的基于零信任基础且真正去中心化的分布式系统,其实是为了解决30多年前由Leslie Lamport等人所提出的拜占庭将军问题,即将军中各地军队彼此取得共识、决定是否出兵的过程延伸至运算领域,设法建立具有容错特性的分布式系统,即使部分节点失效仍可确保基于零信任基础的节点达成共识,实现信息传递的一致性。
工作量证明机制则是采用由Adam Back在1997年所发明的Hashcash算法,此算法仰赖成本函数的不可逆特性,达到容易被验证,但很难被破解的特性,最早被应用于阻挡垃圾邮件。
隐私安全技术可回溯到1982年David Chaum提出的注重隐私的密码学网路支付系统,之后David Chaum在1990年基于这个理论打造出不可追踪的eCash中心化网络。
交易加密采用的椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA),可追溯回1985年Neal Koblitz和Victor Miller提出的椭圆曲线密码学(Elliptic curve cryptography,ECC)及加密算法。相较于RSA算法,采用ECC好处在于可以使用较短的密钥达到相同的安全强度。到了1992年,由Scott Vanstone等人提出ECDSA。
最后,再来看共识机制。1990年,Leslie Lamport提出具有高容错特性的数据一致性算法Paxos。1991年,Stuart Haber与W.Scott Stornetta提出用时间戳保证数字文件安全的协议。1998年,Wei Dai发表匿名的分散式电子现金系统B-money,引入工作量证明机制,强调点对点交易和不可窜改特性。然而在B-money中,并未采用Adam Back提出的Hashcash算法。同年,Nick Szabo发表去中心化的数字货币系统Bit Gold,参与者可贡献算力用于。到了2005年,Hal Finney提出可重复使用的工作量证明机制(Reusable Proofs of Work,RPOW),结合B-money与Adam Back提出的Hashcash演算法来创造数字货币。
综上所述,区块链 ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 深入理解以太坊:核心技术与项目实战 - (EPUB全文下载)