根据去中心化的方法,大致可以分为两类DAPP,分别是中介自动化DAPP与中介竞争化DAPP。其中中介自动化DAPP是通过中介自动化而去中心化,如通过区块链转移产权,把从国家掌控的集中程序转变成为需要任何中介,原先的中介成为自动化程序;而中介竞争化DAPP则是通过竞争去中心化,没有完全摆脱中介,而是让参与者选择他们信任的人,也就是说通过竞争去中心化。
contentListener(msg){
if(!isReady)return;
if(!msg)return;
if(!stream.synced&&(!msg.hasOwnProperty('type')||msg.type!=='sync')){
stream.send(nonSyncMessage.error(Error.maliciousEvent()),PairingTags.INJECTED);
return;
}
//Always including the domain for every request.
msg.domain=strippedHost();//此时domain被赋值
if(msg.hasOwnProperty('payload'))
msg.payload.domain=strippedHost();
let nonSyncMessage=NetworkMessage.fromJson(msg);
switch(msg.type){
case'sync':this.sync(msg);break;
case NetworkMessageTypes.GET_OR_REQUEST_IDENTITY:this.getOrRequestIdentity(nonSyncMessage);break;
区块链中的每个区块都有一个哈希值,可以将哈希值类比做指纹,它标识每一个区块及其所包含的内容,而且它总是独一无二,就像指纹一样。区块在创建之时就会进行哈希计算,如果更改区块里的内容,将导致哈希值的变化。另外,每一个区块包含了前一个区块的哈希值,
目前对于DAPP的特点尚未取得统一看法,但是基本大同小异,这里试归纳如下。
1.DApp通过网络节点去中心化操作。可以运行在用户的个人设备之上,比如:手机、个人电脑。永远属于用户,也可以自由转移给任何人。
2.DApp运行在对等网络。不依赖中心服务器,不需要专门的通信服务器传递消息,也不需要中心数据库来记数据。数据保存在用户个人空间,可能是手机,也可能是个人云盘。
3.DApp数据加密后存储在区块链上。可以依托于区块链进行产权交易、销售,承载没有中介的交易方式。
4.DApp参与者信息被安全储存。可以保护数字资产,保证产权不会泄露、被破坏。
5.DApp必须开源、自治。可以由用户自由打包生成,签名标记所属权。它的发布不受任何机构限制。各种创意与创新可以自由表达和实现。