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
1703875912
区块链项目开发指南 1.9 总结
1703875913
1703875914
在本章中,我们学习了DApp的概念,初步了解了DApp的工作原理以及其面临的一些挑战和应对挑战的多种方法。最后,我们接触了一些广受欢迎的DApp,了解了它们的特别之处和工作原理。
1703875915
1703875916
1703875917
1703875918
1703875920
区块链项目开发指南 第2章 以太坊的工作原理
1703875921
1703875922
在前一章中,我们了解了DApp的概念,还了解了一些热门DApp,其中之一便是以太坊。目前,以太坊是继比特币之后最受欢迎的DApp。在本章中,我们将深入学习以太坊的工作原理及其用途,还将看到重要的以太坊客户端和节点实现。
1703875923
1703875924
在本章中,我们将讲解以下内容:
1703875925
1703875926
·以太坊用户账户。
1703875927
1703875928
·智能合约及其工作原理。
1703875929
1703875930
·以太坊虚拟机(EVM)。
1703875931
1703875932
·在工作量证明共识协议中挖矿如何进行。
1703875933
1703875934
·学习如何使用geth命令。
1703875935
1703875936
·建立以太坊钱包和浏览器钱包(Mist)。
1703875937
1703875938
·Whisper和Swarm概览。
[
上一页 ]
[ :1.703875889e+09 ]
[
下一页 ]