“JUGUGU分布式私钥托管登录”的一个技术说明小书

 

web2.5的过渡钱包 手机号登录链上身分层

本文脱胎于么塔在各种讨论会的集合:

“我觉得现阶段最好的赛道不是按照资产类别来分类的,是朝着一个方向不断走,就是区块链怎么能实现大规模的用户,往不断降低门槛的地方走这跟熊市牛市没关系。这个话题无论国内方案还是海外web3运动,都是值得反复探索路径的地方。先把终点锚定好,再回头看看团队此时应该怎么打。”

当初去开发JUGUGU(用手机号登录的基于微信等场景的区块链地址层)的时候,思来想去这是个必须要做的事儿,就一股脑做出来了。当我们把视野放在14亿人口甚至更多,而不是链圈币圈人口的时候,想象用户在一个场景中进行大规模的区块链地址间社交,用户用更简单的方式,或者不改变现有的习惯方式使用区块链应用:移动端大于电脑chrome插件,手机号大于公钥地址,在微信号内而不是discord完成社区的建设和讨论。还要不牺牲去中心化与安全性。等不断打磨设计DAPP时,会发现怎么也绕不开这样一个过渡性钱包,使用手机登录注册,基于微信的区块链地址身份层,所以说它是一个必需品。

丝滑体验是一个必选项,不是可选项

当用户习惯使用metamask时,其实并不理解背后的原理,事实上使用区块链应用不一定要记住私钥,不一定非得用插件或者硬件钱包(类似U盾),证明你是你有很多种方式,也可以不牺牲去中心化程度。从互联网时代一路过来,我们会发现连最在意安全的法人U盾也被微信的电子营业执照取代了,用户也马上适应这个,把微信看作一个更隐私的环境。用户就是这样的,在设计产品时先考虑丝滑体验,再考虑怎么不牺牲安全性。

慢慢JUGUGU的设计就成型了,他就只能这么简单,而且支持H5 小程序 app登录 。姑且把它叫web 2.5钱包(分布式私钥托管登录系统)。

它最好的发展不是下载个app,也不是回到chrome插件,而是像现在的互联网大厂的联邦登录一样(即处处微信登录,Google登录Facebook登录,无论是网页还是app,它可以放入互联网的任何一个角落)。我认为这是它很可能变得比metamask还要大的一个形态,至少在web2到web3的过渡期间,就是图片这样。

从想法到实现经过半年左右的打磨。

我们有一个口号:“JUGUGU 一键链上世界”。在不牺牲安全性的前提下,⽤⼾使⽤⼿机号注册,注册⼀次可跨平台登录所有⽀持的区块链应⽤。

JUGUGU注册过程与传统互联⽹体验⼀致,⽆需⽤⼾下载插件,⽆需配置私钥,⽆需购买数字货币,⽆需老互联⽹用户更改过多使⽤习惯。并⽀持微信⼩程序,微信公众号,App,移动端⽹⻚、游戏等移动互联⽹⾼频场景接⼊JUGUGU登录系统,跨平台使⽤web3区块链⾝份登录。 ⽬前⽀持Conflux 树图公链Conflux Core、Conflux eSpace。 团队一路走来,有很多支持者,有密码学专家、安全专家、⾼级⼯程师、⼤学教授和区块链工程师等多位开发者参与并维护和更新。JUGUGU系统完全免费开放接⼊接⼝

有了钱包之后,我们大可以再考虑怎么去做一个媲美互联网爆品的Dapp,什么不够再趟平什么。(当公链conflux的gas费上去后,降低gas做“执行侧链”也会是一个必选项(虽然现在看着还早)。高频的应用它一定得具备足够低廉的gas,无论如何往gas更低的地方去思考,让安全层作为安全层,执行层作为执行层。)

Jugugu 一个web2.5钱包

JUGUGU取名来源是漫威宇宙中的噬元兽Goose,一只胃里藏着宇宙的橘,平行于现实世界。我觉得很能代表团队的次元(退行到Phygital,能不出门不出门,都有猫)

 

JUGUGU保管私钥的基本原理?

有关于私钥生成

Web3的居民已经习惯于使用插件或者app作为钱包,但其实还是有另一条路的。当用户从任意一个页面使用手机号注册进入JUGUGU(这个注册只需要一次),他已经拥有一个公私钥对。去年我们在蚂蚁鲸探或者其他联盟链环境中已经看到大量案例,只是安全等级不同,事实上大量的团队不具备托管用户私钥的技术能力。

JUGUGU对于私钥的生成与设计第一步就是私钥一分为多,多把钥匙打开一个开关,做一次签名(分片存储与门限签名),即便数据存储在云服务器中,也只有拥有密码的人用户自己才有办法使用,避免JUGUGU作为一个应用主观上作恶。这样的设计与RSA非对称加密等技术结合是一个已经比较成熟的方案,可以追溯到二十多年IBM practical threshold signature中提出的实用型签名锁。我们在这个基础上,进行了比较多的基于区块链应用场景的改良,不仅仅是做托管。

相对于已有加密方案,JUGUGU有哪些优势?

以邮件为链上签名的“域名密钥识别邮件”方案(DomainKeys Identified Mail,DKIM)依赖于互联网大厂的邮件安全性,JUGUGU使用了手机号登录,安全度大于邮件也更符合国内用户的习惯。也考虑到手机号所能连接的信息量也远大于邮箱地址,对应用场景的可扩展性也更好。

 

在非插件非app钱包中,这段私钥不是本地保存,怎么能做到在一个在更安全的内存块中,既不暴露私钥,又不影响正常使用?

设计从一开始就需要做到私钥不以明文的方式暴露在使用环境中,无论是用户执有的私钥还是另一半私钥。涉及到多方安全计算(MPC),最早立门派的是华人唯一图灵奖得主姚期智,也是conflux数图公链的科学顾问。即在不够知情的情况下依然可以做运算的一个密码学问题(隐私计算)。在这个运算过程中,我开门原创性的采用了多种加密方式,RSA非对称加密、同态加密,还有另外三种加密方式混合加密,保证运算的复杂度和速度,整个过程全同态加密运算私钥,黑客即便攻破动态系统,获取密文,也难以解密私钥。最近团队密码学成员在研究格密码,随时做好接入抗量子计算的密钥体系准备,将这个设计的竞争力提升到世界级。

分布式系统的数据分片存储

JUGUGU运行体系中有XX台你不知道在哪里的服务器对数据进行某种规则的分片存储,这个规则本身的复杂度也值得一篇文章,以后会慢慢展开唠。另外一个设计是任何情况下私钥无法导出,无法查看,系统只能对私钥进行密文到密文的运算,确保用户使用私钥的安全。我们提供用户私钥赎回的方案中,也是一对新的公私钥,仍然不会暴露旧有的私钥。

短密钥机制

短密钥是用于用户转移资产时的二级密码,进一步保证交易的安全性。短密钥用户可对初始值自定义,修改需要多重认证。

如何私钥赎回?

我们在聊私钥赎回时,事实上不是对旧有私钥的赎回,是生成新的地址新的私钥,然后资产一键转入。私钥赎回的功能会在app中对用户开放。

有关服务器的安全?

服务器与组间安全采用军工级别方案:任何时候不依靠单一服务器安全,多重加密处理,防止逆向工程破解,心跳检测。

有关逃生机制?

没有绝对的安全是任何安全工程的第一考量,当极端条件下JUGUGU服务器被攻击宕机比如宕机1小时,用户此时仍然可以在唯一的指定的web3地址进行资产的赎回。

这一整套机制单独申请了专利,包括以上的JUGUGU设计整体我们都申请了专利确保可以追溯到JUGGU 团队的知识产权。有关机制的详细的介绍等待后续更多披露细节。

对于dapp的安全性?

应用端的安全,针对字典暴⼒破解、弱⼝令、DDOS、SQL注⼊、CC/XSS攻击。采用该方案能够降低服务器被攻击的概率,当然即使服务器被攻击了,也有还原机制保证资产不丢失。该方案已经对常用的验证码海量输入、暴力破解等攻击方式做出应对预案。

已有DAPP如何接入JUGUGU?

已有同步器工具:对于已有的DAPP有现成的同步器,可以在五分钟之内同步已有的平台私钥。

Jugugu目前的使用场景?

JUGUGU目前已经完成对于公众号,app,小程序,网页四种环境同时进行接入。

举其中一两个小案例:中文Poap项目小红花徽章,使用微信免费领取徽章nft的小程序应用

小红花 tikverse(小程序)

你怎样定义“事件”,就怎样使用小红花。小红花:事件NFT 让一部分人先 “发行自由”

 

社区到到 Comudao

传统社区共建的贡献度无法记录、不可量化、难以回报。而JUGUGU和小红花徽章开源协议支持的荣誉徽章制度能够记录参与者的贡献度,实现形式为公众号投票等。比如线下DAO社区的社区贡献追踪,就可以通过该项目记录达成。收集若干个徽章后,参与者可以获得一个通证。这样的设计对小白用户友好,使普通web2.0也能获得链上交互体验。

交易耦合与区块链交易

 

未来JUGUGU会将系统变成APP和支持开发者的开放平台,不仅支持多样化的业务合约,还支持开发者一键合约交互。平台会不断充实合约库,还会引入自定义合约。对传统开发者更友好的方式实现合约部署。法币交易的NFT是可以直接跨到其他主流公链的,对于跨链使用做了精细到个别合约的监管开关。

JUGUGU内置可扩展性ERC721合约,合约同时实现web2.5与web3不同环境同一资产的领取。(针对海内外同步的社区设计)

改良交易打包方式:JUGUGU对web2.5的打包模式进行了改良,使web2.5比web3.0打包速度提升数百倍。

监管开关包:1)能够针对性的打开或关闭合约使用限定。2)可选支持动态实名校验3)可选支持面部识别校验 4)可选用户赎回私钥 5)可选支持绑定web3.0地址


一些其他  Q&A记录

系统内容比较多,是作为产品还是技术服务商平台?

系统会开源给大家,JUGUGU并不是技术服务商,做完的东西不必要重复造轮子公链才能快速发展。目前已开放登录注册基础接口给大家,JUGUGU 的官网也会进一步充实,更新动态,这里仍然还有很多事情要去做,大家可以期待一下更多的支持。

借鉴的还是自己判断的?

团队自己打磨的,正在申请专利,借鉴了其他公链钱包的设计、联盟链、和传统互联网大厂的登录解决方案。但创新点不够多是无法过初审的,这一关JUGUGU 已过,还是比较多的原创性的思考的。

出于什么考虑用了同态加密?保护用户数据安全吗?

对于私钥签名,不论内存这一块怎么设计,怎样防都有可能在签名的一瞬间被黑客获取到,所以同态加密进行从密文到密文的运算是一个更好的解决方案,目前对速度没有太多影响。是因为还做了一些打包交易的更新,提升了几倍的速度。

做了两次安全性测试(涉及国防安全的黑客团队,在知名大赛中获得过名次),包括渗透性测试。用户量到几十或者百万之后再做一轮比较贵的安全性测试,或者漏洞悬赏挑战赛。

是否拿到API或者是SDK工具包,就可以做一个免费的上链工具?

目前已经开放登陆注册等最基本的接口,还可以支持NFT合约协议。另有一个正在做NFT自动生成合约,支持几个参数生成自己的合约。还有一些DAO组织工具,但可以用微信公众号的方式实现线上DAO治理。

上链免费吗?

免费上链与否取决于不同的合约自己的代付情况,我们自己的几个项目设计目前是代付的,JUGUGU 在特定情况下也会进行代付,比如逃生舱机制。关于项目方合约可以找基金会代付,也可以在树图官方购买,以公司之间服务费的方式,可以开发票。

取出私钥是方案怎么处理的?

验证用户本人后形成新的私钥,同步将现有资产全部导入新私钥,新的公私钥对是完全web3的,用户必须要学会管理自己的私钥。导出新的私钥采用现成的方案,我们看到TP,小狐狸也是这样一个本地生成的方案。

如果有第三方想要接入JUGUGU产生的新私钥怎么办?

新的项目可以直接调用接口,也有SDK接入JUGUGU系统。对于旧有的dapp支持同步器一键导入,大约只要几分钟的时间。

JUGUGU 用户可以在公链自由流转吗?

JUGUGU钱包的用户不需要将资产先转移到conflux web3地址再去做跨链,可以直接跨链,自由流转,虽然它是一个web2.5的钱包。只是这里有一个细化到个别合约的开关机制,我们作为技术提供方不会主动做这个,只是预留了一个机制。

   


JUGUGU昨天在一个测试nft的环节中,可能有用户对外转发了领取方式(当然本来也是欢迎的哇),后台收到3000+的留言,并有一部分用户成功注册JUGUGU并获取nft。但是这个nft是测试网的 T  T ,不具备任何价值。团队讨论后,会为这批用户空投专属的conflux主网的徽章设计,感谢测试期间的陪伴^ ^

么塔(上海)科技,致力于为大规模区块链社交做出准备,JUGUGU钱包与轻量级应用:中文区的POAP-小红花徽章开源协议,做任务免费领取。还有更多针对这两款基建的动态更新,欢迎持续关注团队,感谢持续关注者。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值