打字猴:1.70387557e+09
1703875570 区块链项目开发指南 1.1.2 去中心化应用的缺点
1703875571
1703875572 显然,每个系统都不是完美的。去中心化应用的一些缺点如下:
1703875573
1703875574 ·修改bug或者更新DApp很困难,因为网络中的每一个节点都需要更新其节点软件。
1703875575
1703875576 ·一些应用要求验证用户身份(即KYC),却没有中心化的机构来验证用户身份,开发应用时会遇到问题。
1703875577
1703875578 ·创建去中心化应用比较困难,因为它们应用复杂的协议达成共识,且必须从最开始就自行创建并扩大规模。所以我们不能仅仅实现一个想法,然后不断添加功能,使其规模扩大。
1703875579
1703875580 ·应用通常独立于第三方API,以获取或者存储数据。DApp不能依赖中心化应用API,但是可以依赖其他DApp。因为目前DApp的生态圈还不太大,所以创建起来比较困难。尽管DApp理论上可以依赖其他DApp,但在实践中紧密融合DApp仍比较困难。
1703875581
1703875582
1703875583
1703875584
1703875585 区块链项目开发指南 [:1703875250]
1703875586 区块链项目开发指南 1.2 去中心化自治组织
1703875587
1703875588 一般来说,被签署的文件可以代表组织,而且政府能对它们产生影响。根据组织类型的不同,组织可能有股东,也可能没有股东。
1703875589
1703875590 去中心化自治组织(Decentralized Autonomous Organization,DAO)是由计算机程序代表的组织(即组织根据程序中写明的规则运行),完全透明,完全由股东控制,不受政府影响。
1703875591
1703875592 为了达到这些目标,我们需要把DAO作为DApp来开发。因此,我们可以说DAO是DApp的一个子类。
1703875593
1703875594 Dash和DAC是DAO的一些例子。
1703875595
1703875596
1703875597 什么是去中心化自治公司(DAC)?
1703875598
1703875599 DAC和DAO尚无很明显的差别。很多人认为它们是一样的,有些人则在DAO为股东谋取利益时将DAC定义为DAO。
1703875600
1703875601
1703875602
1703875603
1703875604 区块链项目开发指南 [:1703875251]
1703875605 区块链项目开发指南 1.3 DApp中的用户身份
1703875606
1703875607 DApp的主要优点之一是它一般能保证用户的匿名性,但是许多应用要求用户必须经过身份验证这个过程才能使用应用。因为DApp中没有中央机构,验证用户身份成了一个挑战。
1703875608
1703875609 在中心化应用中,人们要求用户提交特定的扫描文件、OTP验证等,再验证用户身份。该过程称为Know Your Customer(KYC)。但是由于DApp中没有人负责验证用户身份,所以DApp不得不自己验证用户身份。DApp显然不能理解和验证扫描文档,也不能发送短信,因此需要用户提供那些它们可以理解和验证的数字标识。主要问题是几乎没有DApp有数字身份,只有少数人知道如何得到数字身份。
1703875610
1703875611 数字身份有多种形式。目前最受推崇、最热门的形式就是数字证书。数字证书(也称为公钥证书或者标识证书)是一个用来证明公钥所有权的电子文档。基本上,一个用户拥有私钥(private key)、公钥(public key)和数字证书(digital certificate)。私钥是秘密的,用户不应当与其他人分享;公钥可以与其他人分享;数字证书包含公钥和谁拥有公钥的信息。显然,生产这种证书并不难,因此数字证书总是由用户可以信任的授权机关颁发。数字证书有一个加密部分是用证书颁发机构(certificate authority)的私钥加密的。为了验证证书的真实性,我们只需要使用证书颁发机构的公钥解码该部分,如果成功解码,那么证书就是合法的。
1703875612
1703875613 即使用户成功获得了数字身份并得到DApp验证,还是有一个关键问题,那就是有各种各样的数字证书颁发机构。为了验证一个数字证书,我们需要该证书颁发机构的公钥。掌握所有证书颁发机构的公钥、更新/添加新的证书颁发机构的公钥是很困难的。因此,数字身份验证程序通常在客户端里,这样可以方便更新。但仅把验证程序转移到客户端并不能彻底解决问题,因为有很多颁发数字证书的机构,跟踪所有机构并把它们加到客户端是很麻烦的。
1703875614
1703875615
1703875616 为什么用户不验证彼此的身份?
1703875617
1703875618 在现实生活中,用户做交易时,通常会自己验证对方的身份或者可以请一个机构来验证身份,这个想法也可以应用到DApp中。在进行交易之前,用户可以手动验证彼此的身份,这个想法适用于人们彼此进行交易的DApp。假设有一个DApp是去中心化的社交网络,显然可以通过这种方式验证身份信息。假设一个DApp是用来买卖商品的,在支付之前买卖双方可以验证彼此的身份,尽管这个想法看起来是可行的,但是在实践中很难实现,因为你可能并不想每次进行交易的时候都验证身份,也不是每个人都知道如何验证身份。例如,假设有一个DApp是打车软件,用户显然不想每次叫出租车之前都进行身份验证。但如果只是偶尔交易,也知道怎样验证身份,就可以按程序验证身份。
1703875619
[ 上一页 ]  [ :1.70387557e+09 ]  [ 下一页 ]