打字猴:1.703875628e+09
1703875628 区块链项目开发指南 [:1703875252]
1703875629 区块链项目开发指南 1.4 DApp中的用户账户
1703875630
1703875631 许多应用需要用户账户功能。与账户相关的数据只能由账户所有者进行修改。DApp和中心化应用不一样,DApp没有以用户名和以密码为基础的账户功能,因为密码不能证明账户中的数据变化是由账户所有者发出的请求导致的。
1703875632
1703875633 有多种方法能实现DApp中的用户账户,最热门的方式是使用公钥-私钥对(public-private key pair)来代表一个账户。公钥的哈希(hash)是账户的唯一身份。为了改变账户中的数据,用户需要用私钥签名。我们假设用户会安全地存储私钥。如果用户丢失私钥,就永远不能访问账户了。
1703875634
1703875635
1703875636
1703875637
1703875638 区块链项目开发指南 [:1703875253]
1703875639 区块链项目开发指南 1.5 访问中心化应用
1703875640
1703875641 DApp不能依赖于中心化应用,原因是存在单点故障。但是在一些情况下,并无其他办法。例如,如果DApp想读取一场足球比赛的成绩,它从哪里得到数据呢?尽管DApp可以依赖另一个DApp,但是国际足联(FIFA)为什么要创建一个DApp呢?国际足联不会仅仅因为其他DApp想要数据,就创建一个提供成绩却没有回报的DApp。
1703875642
1703875643 所以在一些情况下,DApp需要从中心化应用中抓取数据。但主要问题是DApp如何知道从一个域名中抓取的数据有没有被中间人篡改,数据是否还是真实的响应?根据DApp架构的不同,解决办法也有所不同。例如在以太坊中,智能合约不能直接发出HTTP请求,为了访问中心化API,可以使用Oraclize服务作为中间人。Oraclize为从中心化服务智能合约中抓取的数据提供TLSNotary验证。
1703875644
1703875645
1703875646
1703875647
1703875648 区块链项目开发指南 [:1703875254]
1703875649 区块链项目开发指南 1.6 DApp中的内部货币
1703875650
1703875651 中心化应用的所有者需要有盈利才能长期维护应用的运行。DApp虽然没有所有者,但是和中心化应用一样,DApp节点需要硬件和网络资源才能维持运行。DApp节点需要一些有用的回报来维持运行,于是内部货币登场了。大多数DApp都有内置内部货币,或者可以说最成功的DApp都有内置内部货币。
1703875652
1703875653 共识协议决定节点收取多少内部货币。根据共识协议,只有为维护DApp安全和运行做出贡献的那些特定节点可以赚取货币,只进行数据读取的节点没有回报。例如在比特币中,只有矿工(miner)成功挖矿才能赚取比特币。
1703875654
1703875655 最大的问题是,这是一种数字货币,为什么人们觉得它有价值?根据经济学原理,有供需差就有价值。
1703875656
1703875657 让用户用内部货币付费才能使用DApp解决了需求问题。随着越来越多的用户使用DApp,且需求不断增长,内部货币的价值也升高了。
1703875658
1703875659 货币总量恒定会使货币变得稀缺,从而使其价值更高。
1703875660
1703875661 货币是不断供应的,而非一次性供应所有货币。正因如此,新进入网络、使网络安全运行的节点也能赚取货币。
1703875662
1703875663 DApp中内部货币的缺点
1703875664
1703875665 DApp有内部货币的唯一缺点是,DApp不能再免费使用了。免费是中心化应用占上风的原因之一,因为中心化应用可以用广告赚钱,为第三方应用提供优质API,所以可以对用户免费。
1703875666
1703875667 在DApp中不能加入广告,因为没有人去检查广告尺度;客户端还可能不展示广告,因为展示广告对他们没有好处。
1703875668
1703875669
1703875670
1703875671
1703875672 区块链项目开发指南 [:1703875255]
1703875673 区块链项目开发指南 1.7 什么是授权的DApp
1703875674
1703875675 到目前为止,我们学习了完全开放的免权限DApp,即任何人都不需要建立身份就可以参与。
1703875676
1703875677 另一方面,授权的DApp并不对所有人开放。授权的DApp继承了免权限DApp的全部属性,但需要权限才能参与到网络中去。各种授权的DApp用到的权限系统不同。
[ 上一页 ]  [ :1.703875628e+09 ]  [ 下一页 ]