ArcBlock / HackathonDevCon2020

Hackathon for ArcBlock Developer Conference 2020
MIT License
1 stars 0 forks source link

Find your friend's DID by EMail #4

Open shenxiuqiang opened 4 years ago

shenxiuqiang commented 4 years ago

项目名称

etd-blocklet

项目描述

Find your friend's DID by EMail

用户通过朋友的用户名和email 查找朋友的DID,如果找到可以添加到联系人,如果没有查找到可以发送邮件邀请。
实现方法:

  1. alice 打开Dapp授权同意将自己的身份用户名和Email加密后hash(username+email)同Did放到链上,首先要完成邮箱的认证,认证通过后,才能放到链上,并获得token奖励10个EDT。
    链上数据 :
    {
    "account_hash":"DC684CA8783665245B909A15CFD884DC36FF0CFB5315517ED5655F7DBD0BCAEC",
    "did":"z1bADWeqXoRZkrpeykpx4yzZcGsu4UK8k7x"
    } 
  2. alice 想在dapp查找bob的DID,给他转100个游戏token,但是输入用户名和邮箱后没有找到,于是他通过邀请按钮发了一个邀请,每次查询消耗1个ETD,每次邀请消耗5个EDT;
  3. bob收到邮件后打开链接注册了身份;
  4. alic收到了回复邮件,邮件里的链接带有bob的account_hash,打开链接后,Dapp自动查询到了bob的did;
  5. alic添加bob的Did到联系人,可以给他转游戏币了。
  6. alic通过这种方式邀请了他的所有同事来体验游戏,他每成功邀请一个用户,alic将获得15个ETD奖励,被邀请人收到10个奖励。

建议:

我又思考通过email是否可以接收任何链上资产?

  1. alice在使用ABTWallet创建身份的时候可以选择是否将身份加密后声明到“身份链:id-chain(identification-chain)”上,并获得身份链上的DID。
  2. 其它链可以注册到id-chain上,部署智能合约;
  3. LinNa 通过id-chain找到alice的did,给他转了zinc-chain资产,id-chain识别是zinc资产,调用相应的智能合约,给alice发送邮件。
  4. alic通过邮件链接创建zinc-chain账户,在id-chain上身份声明
    {
    "account_hash":hash(zinc-chain + username + email )
    "did":"zinc-chain-did“
    } 
  5. id-chain 发现了alic的zinc-chain did,调用智能合约完成转账;
  6. 如果alic在48小时内没有完成创建zinc-chain的账户,智能合约将退回LinNa的zinc资产。

非常遗憾,因对前端Reac不熟悉,时间安排不开,未能完成开发;以上是一些建议,因对ArcBlock理解还不是深入,这种方案或许存在安全、信息泄露的风险、email也是中心化的服务,但是在DID还未普及的情况下通过email推广Dapp和DID或许是现阶段一个适合的选择。

Github URL

未完成

Team Members

Name Role ABT Wallet DID Github ID
shenxiuqiang Leader z1bADWeqXoRZkrpeykpx4yzZcGsu4UK8k7x shenxiuqiang
mave99a commented 4 years ago

@shenxiuqiang 是否能录一个演示视频?

shenxiuqiang commented 4 years ago

@shenxiuqiang 是否能录一个演示视频?

手机录屏录了一个小视频,关于身份链的想法不知是否可行。如果一个身份DID可以接受其它链的转账会很方便,但是关于隐私会遇到什么样的问题也是需要深入思考。

shenxiuqiang commented 4 years ago

类比一下:在银行我有且只有一个身份,但是我可以有人民币、港币、美元账户;在其它银行我也是用这一个身份开几个不同的账户;现在一些银行开通了手机号转账的业务,手机号可以确定身份,在不知道银行卡号的情况可以进行转账。当然在区块链上数据是透明的,如果身份泄露,关联的账户也就泄露了,有多少资产做过哪些交易就可以被查到。

NateRobinson commented 4 years ago

Hackathon 团队徽章发送交易 hash:

  1. 47018577AB4E08CED83F67E6909508C7B8E7630247A0A1DC94BABDBC82DEFCB2

Hackathon 项目徽章发送交易 hash:

  1. 1500741966D98AD91196C117B3E6CA014F7D5440769BAFA12395A82E3EF84FD8
mave99a commented 4 years ago

https://xenon.abtnetwork.io/node/explorer/txs/5E8DD118726E718F4893C3A2640F393B30D7DC1181B61F6D1E5F73C30E7FBEA1

100abt