1703875742
区块链项目开发指南 1.8.2 以太坊
1703875743
1703875744
以太坊(ethereum)是一个去中心化平台,可以在其上运行使用智能合约编写的DApp。一个或多个智能合约可以一起构建DApp。以太坊智能合约是在以太坊上运行的程序。智能合约完全按照程序运行,杜绝了停机、中心化操控、欺诈和第三方干涉的可能性。
1703875745
1703875746
使用以太坊运行智能合约的主要优点是方便智能合约彼此交互,而且不需要担心整合共识协议等事情,只需编写应用所需逻辑即可。当然,不能用以太坊创建所有种类的DApp,只能创建以太坊支持其功能的那些DApp。
1703875747
1703875748
以太坊有一种内部货币叫作以太币(ether)。部署智能合约或者执行智能合约函数需要用到以太币。
1703875749
1703875750
本书将使用以太坊创建DApp,并深入介绍以太坊的相关知识。
1703875751
1703875752
1703875753
1703875754
1703875756
区块链项目开发指南 1.8.3 超级账本项目
1703875757
1703875758
超级账本(Hyperledger)项目致力于开发创建授权的DApp技术。Hyperledger fabric(或称simply fabric)是Hyperledger项目的一个实现。其他Hyperledger实现还有Intel Sawtooth和R3 Corda等。
1703875759
1703875760
fabric是一个去中心化的授权平台,它允许在其上运行授权的DApp(叫作chaincode,账链代码)。用户需要部署自己的fabric实例,然后在其上部署授权的DApp。网络中的每一个节点都运行一个fabric实例。fabric是即插即用系统,可以方便地即插即用多种共识协议和功能。
1703875761
1703875762
Hyperledger使用区块链数据结构。以Hyperledger为基础的区块链目前可以选择没有共识协议(即NoOps协议),或者使用实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)共识协议。它有一个特殊节点叫作证书颁发机构,该节点用于控制谁能加入网络和它们能做什么。
1703875763
1703875764
1703875765
1703875766
1703875768
区块链项目开发指南 1.8.4 IPFS
1703875769
1703875770
星际文件存储系统(InterPlanetary File System,IPFS)是一个去中心化的文件系统。IPFS使用分布式哈希表(Distributed Hash Table,DHT)和Merkle有向无环图(Directed Acyclic Graph,DAG)数据结构。它使用类似于BitTorrent(比特流)的协议来决定如何在网络中移动数据。IPFS的一个高级功能是它支持文件版本管理。为了实现文件版本管理,它使用了类似于Git的数据结构。
1703875771
1703875772
尽管被称为去中心化的文件系统,IPFS并不遵循文件系统的主要属性,即在文件系统中,所存储的内容会一直保留到被删除之前。IPFS的工作原理不同——每一个节点并不存储全部文件,存储的是需要的文件。如果一个文件不那么受欢迎,许多节点就没有这个文件,那么该文件很有可能从网络中消失。因此,许多人更喜欢把IPFS称为去中心化的、点对点的文件共享应用。或者可以把IPFS当作完全去中心化的BitTorrent,也就是说,它没有追踪器,但有一些高级功能。
1703875773
1703875774
1.工作原理
1703875775
1703875776
当在IPFS中存储一个文件时,它被分成很多小于256KB的数据块(chunk),并生成每个数据块的哈希。网络中的节点在一个哈希表中存储它们需要的IPFS文件及其哈希。
1703875777
1703875778
IPFS文件有4种类型:blob、list、tree和commit。blob代表一个实际存储在IPFS中的文件的数据块。list代表完整的文件,因为它包含blob列表和其他列表。由于列表可以包含其他列表,因此它帮助网络进行数据压缩。tree(树)代表目录,因为它包含blob列表、列表、其他树和commit。commit文件代表其他文件的版本历史中的快照。由于list、tree和commit与其他IPFS文件有连接,于是形成了一个Merkle DAG。
1703875779
1703875780
所以,用户如果想要从网络中下载文件时,只需要IPFS列表文件的哈希。如果想下载目录,则只需要IPFS树文件的哈希。
1703875781
1703875782
因为每个文件都由一个哈希进行标识,所以文件名不容易记住。如果更新文件,就需要与想下载该文件的所有人分享新的哈希。为了解决这个问题,IPFS使用IPNS功能,允许用自行认证的名字或者人性化的名字指向IPFS文件。
1703875783
1703875784
2.Filecoin
1703875785
1703875786
阻碍IPFS成为去中心化文件系统的主要原因是节点只存储了它们需要的文件。Filecoin(文档币)是一个类似于IPFS的去中心化文件系统,其中有内部货币激励节点存储文件,由此提高文件可用性,并使其更像一个文件系统。
1703875787
1703875788
网络中的节点通过赚取文档币来租用磁盘空间,在存储/检索文件时,需要花费文档币。
1703875789
1703875790
与IPFS技术一样,Filecoin使用区块链数据结构和数据可检索证明(Proof-of-Retrievability,PoR)共识协议。
[
上一页 ]
[ :1.703875741e+09 ]
[
下一页 ]