打字猴:1.703875875e+09
1703875875 区块链项目开发指南 [:1703875264]
1703875876 区块链项目开发指南 1.8.8 OpenBazaar
1703875877
1703875878 OpenBazaar是一个去中心化的电子商务平台,可以在其上买卖物品。OpenBazaar中的用户不是匿名的,因为其IP地址被记录了。节点可以是买方、卖方或者中间人。
1703875879
1703875880 OpenBazaar使用Kademlia分布式哈希表数据结构。为了使这些项在网络中可视,卖方必须建立节点并维持其运行。
1703875881
1703875882 OpenBazaar使用工作量证明共识协议防止账户被篡改。它使用proof-of-burn、CHECKLOCKTIME验证和基于保证金的共识协议,防止评分和评价被篡改。
1703875883
1703875884 买方和卖方用比特币进行交易。买方在购买时可以添加一个中间人。如果买卖双方有争端,由中间人负责解决。任何人都可以是网络中的中间人,中间人通过解决争端赚取手续费。
1703875885
1703875886
1703875887
1703875888
1703875889 区块链项目开发指南 [:1703875265]
1703875890 区块链项目开发指南 1.8.9 Ripple
1703875891
1703875892 Ripple(瑞波)是一个去中心化的转账平台。它允许兑现货币、数字货币和大宗商品。它使用区块链数据结构,并且有自己的共识协议。在Ripple相关文档中,找不到“区块”和“区块链”等词汇;而是用“账本”(ledger)来代替。
1703875893
1703875894 在Ripple中,通过信任链进行钱和商品交换,方式类似于hawala网络。Ripple中有两种节点,即网关(gateway)和普通节点。网关支持一种或多种货币和/或商品的存取。为了在Ripple网络中变成网关,需要作为网关的权限形成一个信任链。网关通常是已经注册的金融机构、交易所、商人等。
1703875895
1703875896 每个用户和网关都有一个账户地址。每个用户需要把他们信任的网关地址添加到信任列表中,形成一个信任网关列表。对于发现谁值得信赖,并没有任何共识,这完全依赖用户——用户自行承担信任一个网关的风险,即便网关可以添加它们信任的网关列表。
1703875897
1703875898 来看一个例子:住在印度的用户X如何能够向住在美国的用户Y发送500美元。假设在印度有一个网关XX,收取现金(实物现金或者在网上用卡支付)且只用印度卢比给用户Ripple余额。X将访问XX办公室或者网站,存入30000印度卢比,然后XX广播交易说“欠X30000印度卢比”。现在假设在美国有一个网关YY,它只允许美元交易且Y信任YY网关。假设网关XX和YY不信任彼此。由于X和Y不信任一个共同的网关,XX和YY不信任彼此,导致XX和YY不支持同样的货币,因此,X为了转账给Y,就需要发现一个中间人网关形成一个信任链。假设还有一个网关ZZ,XX和YY都信任ZZ,ZZ支持美元和印度卢比。现在X可以发送交易,将50000印度卢比从XX转给ZZ,ZZ把钱兑成美元,然后把钱发送给YY,让YY把钱给Y。现在X欠Y$500,YY欠Y$500,ZZ欠YY$500,XX欠ZZ 30000印度卢比。但是这都没什么,因为它们互相信任,而此前X和Y不互相信任。但是只要XX、YY和ZZ想,它们随时可以在Ripple之外转账,或者翻转交易扣除款项。
1703875899
1703875900 Ripple也有内部货币,叫作XRP(或瑞波币)。发送至网络中的每一个交易会耗费一些瑞波币。由于瑞波币是Ripple自有的货币,它可以不需要信任就被发送给网络中的任何人。在形成信任链时,可以使用瑞波币。记住,每一个网关有自己的货币汇率。瑞波币不是由挖矿生成的;相反,最初就有1000亿个瑞波币,它们最初由Ripple公司拥有。出于多种原因,瑞波币是手动供给的。
1703875901
1703875902 所有交易都被记录在去中心化的账本中,形成不可更改的历史。需要共识确保所有节点在一个给定时间的账本都一致。在Ripple中,有第三种节点,叫作验证器(validator),它是共识协议的一部分,验证器负责验证交易。任何人都可以成为验证器。但是其他节点维护一个可以信任的验证器列表。该列表被称为唯一节点列表(Unique Node List,UNL)。验证器也有UNL,即验证器信任的验证器,因为验证器也想达成共识。目前,由Ripple决定可以信任的验证器列表,但是如果网络认为Ripple选择的验证器不值得信任,就可以在节点软件中修改列表。
1703875903
1703875904 可以拿出一个以前的账本,把随后发生的全部交易都填上去,形成一个新账本。为了同意当前账本,节点必须同意以前的账本和随后发生的全部交易。在创建一个新账本之后,节点(普通节点和验证器)启动一个计时器(几秒钟长,大概5s),并收集在创建以前的账本时到达的新交易。当计时器停下时,它接收至少80%的UNL认为合法的交易,形成下一个账本。验证器向网络广播一个提案(proposal,即它们认为合法的、用于形成下一个账本交易的一系列交易)。如果它们决定根据UNL提案和其他因素改变合法交易的列表,验证器可以对同一个账本用不同的交易集合,多次广播提案。所以用户仅需要等待5~10s,由网络确认交易。
1703875905
1703875906 有人质疑,每个节点可能有不同的UNL,是否会使账本生成许多不同的版本?其实只要UNL之间有最低程度的相互连接,就会迅速达成共识,这是因为每一个诚实节点的主要目标就是达成共识。
1703875907
1703875908
1703875909
1703875910
1703875911 区块链项目开发指南 [:1703875266]
1703875912 区块链项目开发指南 1.9 总结
1703875913
1703875914 在本章中,我们学习了DApp的概念,初步了解了DApp的工作原理以及其面临的一些挑战和应对挑战的多种方法。最后,我们接触了一些广受欢迎的DApp,了解了它们的特别之处和工作原理。
1703875915
1703875916
1703875917
1703875918
1703875919 区块链项目开发指南 [:1703875267]
1703875920 区块链项目开发指南 第2章 以太坊的工作原理
1703875921
1703875922 在前一章中,我们了解了DApp的概念,还了解了一些热门DApp,其中之一便是以太坊。目前,以太坊是继比特币之后最受欢迎的DApp。在本章中,我们将深入学习以太坊的工作原理及其用途,还将看到重要的以太坊客户端和节点实现。
1703875923
1703875924 在本章中,我们将讲解以下内容:
[ 上一页 ]  [ :1.703875875e+09 ]  [ 下一页 ]