前言
我是在阅读一篇国外DAPP的白皮书时,发现了uPort这个身份验证项目的。在这个DAPP应用中,根据法律法规,需要用户提供某个证明文件,它选择了让用户使用uPort的方式登录验证。
而我在搜索uPort相关资料后,发现网上资料很少,而且说的不是很清楚。在阅读了uPort官网资料和该项目白皮书后,我对uPort有了一个大概的了解,这里分享给大家。不准确的地方请留言指正,谢谢!
uPort是什么?
我们用举例的方式来说明:
当前情况
对用户来说
举例来说,现在市面上有很多共享汽车的应用,如果你想使用,你需要做以下的事情:
每个应用都要申请账号。
由于开车需要有驾照。你需要在每个应用上上传你的驾照照片,等待审核。审核的时间有长有短。
每个应用你可能还需要交纳一定的押金。
如果某个应用提供的是豪华车,你可能还需要交纳更多的押金,或者上传你的信用或资金证明并等待审核。
这里只是共享汽车。假如说,还有更多的应用要求你上传更多各种不同的证明文件,并且通过审核才能使用,那你会需要随身带着各种证明资料,或者,把它们拍成照片存放在手机里,哪个应用需要你就从相册里上传哪个资料。而这样做的话,如果你的文件袋或者手机遗失,你会面临着隐私危险以及补办资料的麻烦。
对应用开发者来说
开发者需要开发对应的证明验证系统,并且对接证书机构进行验证。
那uPort将如何解决这个问题?
你在手机上安装一个uPort的app,申请一个uPort ID。
使用app将你的各种证明文件进行拍照上传,你会很快得到是否验证通过的结果(有个前提,这些证明文件需要证书机构建立了电子档案,并且与uPort对接。后面会讲)。
现在你的uPort ID将会关联起你所有的证明文件。
假如你将要使用的某个应用需要你有驾照证明,或者资产证明,并且这个应用接入了uPort。你现在要做的就是打开uPort app,扫描应用二维码注册或者登录。
现在你不再需要在不同的应用中重复上传证明文件了。同一个应用要求多个证明时,你也可以迅速完成验证。
uPort背后的简单逻辑
注意:是简单逻辑,事实上会复杂的多。也有可能和我理解的情况不同
证书机构发布的证书需要建立了电子档案,并且这些证明文件上提供了类似二维码的可供捕获的信息。
uPort与证书机构合作,可以调用这些证书机构的电子档案。
用户申请uPort ID,使用uPort app扫描证明文件。
uPort将用户扫描的证明文件信息与证书机构电子档案进行匹配。
匹配成功,uPort会将该用户的uPort ID与证明文件进行关联。
应用接入uPort,说明使用此应用,用户需要何种证明文件。
用户通过uPort app,扫描应用二维码进行注册。应用获取到用户uPort ID,并传给uPort,请求uPort检查此ID是否已验证过应用所需的证明文件。
uPort检查通过,通知应用,应用允许用户注册使用,并将用户的uPort ID写入到账户合约中。
uPort检查不通过,说明用户还未关联过证明文件,通知应用,应用要求用户在uPort中验证所需的证明文件。
通过后,用户下次使用uPort登录应用时,传入uPort ID,应用会去账户合约中匹配uPort ID,如果存在,则允许登录。
总结
可以看到,uPort降低了用户和开发者的负担,带来很大的便利性。本文没有解释更复杂的底层机制,有兴趣的话可以查看uPort官网来了解更多信息。