Mixin Messenger 的分布式 D3M-PIN 码介绍

Kita ·
更新时间:2024-09-21
· 865 次阅读

1.6位PIN 码介绍

PIN 码,全称 Personal Identification Number,中文可以译做「个人身份验证码」,用来验证使用者的身份。

1.1 为什么是6位纯数字?方便记忆。

相关研究证明,人的最佳记忆长度为5至7位。因此,最初的银行计算机业务系统就选择了六位数作为卡密码,经多年实践,非常合适,延用至今。

而且确实是有理论支撑的。“7±2法则”是由美国著名认知心理学家米勒教授于1956年在《心理学评论》杂志上提出的。该论文总结了前人发现的相关研究指出,人的短时记忆的容量大约为7±2 ,即中位数为7 ,上下在5-9之间波动。这就是著名的“7±2法则”,因此从记忆学来说6位密码是最适合短时记忆并输出的。

神奇的数字:7±2 https://zh.wikipedia.org/wiki/%E7%A5%9E%E5%A5%87%E7%9A%84%E6%95%B0%E5%AD%97%EF%BC%9A7%C2%B12

设计法则: 7±2法则 https://www.jianshu.com/p/7abb602c2f2c

1.2 6位纯数字安全吗?绝对安全

6位数的密码密码的数字组合有10^6=100万种。理论上只要计算机速度足够快,时间足够长,没有暴力破解方法破解不了的密码。暴力破解的成功有两个前提,时间足够长、速度足够快,这两个条件是互为因果,但还有一个更重要的前提是,要有足够多的试错机会。

银行正是从这方面下手来防止密码被暴力破解,所以很多银行都设置了密码试错次数不超过5次,超过5次账户就要被临时锁定,如果锁定次数过多,账户就会被长期锁定,想解锁就需要带身份证去柜台解锁。

尝试暴力破解 100 万个可能性所需要的时间最少是 1000000/5/365 = 548 年。只要没有足够多的试错机会,纯数字密码是安全的,即使这个密码只有6位。

关于密文的安全性的讨论,可以查看下文:

银行卡为什么只能设置六位数的密码?https://www.wukong.com/question/6420152705783693570/

目前 imKey 硬件钱包也是使用 6-8 位数字 PIN 码

https://support.imkey.im/hc/zh-cn/articles/360019722913-%E4%BB%80%E4%B9%88%E6%98%AF-PIN-%E7%A0%81-

2.Mixin Messenger 2.1 Mixin Messenger

Mixin Messenger钱包是 Mixin Network 上第一个 Dapp,基于 Mixin Network 标准 API 开发,Mixin Messenger钱包致力于成为区块链世界里的微信。

Mixin Messenger 本身由中心化的聊天 + 去中心化的 Mixin Network 钱包组成,在Mixin公链上,也就是Mixin Messenger内可以搭建小机器人(相当于微信里的小程序)。

是先有Mixin Messenger应用,然后再有 Mixin Network区块链,采用自上而下的研发方式。

关于更多Mixin Messenger的介绍,参考下文:
https://zhuanlan.zhihu.com/p/43086814
https://mixin.one/messenger

2.2 Mixin Network

Mixin Network 是一个面向数字资产的闪电网络,采用 BFT-DAG 机制,实现了转账 0 费用、1 秒到账、支付匿名、可无限扩展。基于 POS 共识的 Mixin Network 节点不采取竞选方式,抵押 10000 XIN 并拥有一定技术实力的团队即可运营节点,最多节点数量为 50 个。主网上线后,基于 ERC 20 发行的代币 XIN 不受影响。TEE 硬件保护,数万轻节点监督全节点防止作恶。

可以简单理解 Mixin Network 为所有热门公链的闪电网络,本身不发币。

更详细的 Mixin Network 介绍:
Mixin Network 主网节点分析 https://dbarobin.com/2019/02/28/mixin-network-nodes/
Mixin Network 主网上线总结 https://juejin.im/post/5c778ce0f265da2db5424a88

Mixin相关官网:

https://mixin.one/
https://mixin.one/snapshots
https://mixin.network/#/

3.分布式 D3M-PIN 码

一个长久以来的观点是持有私钥,就是持有账户,所以几乎所有的区块链入门介绍都会建议用户遵守一些规则来持有私钥,以避免资产损失。

用私钥保管资产无疑是伟大的发明,但是普通人很难驾驭这种方式。复杂的私钥很难被破解,但也很难被用户自己记住。多年以来,很多人因为各种原因导致私钥永久丢失。

综合考虑到安全问题和用户体验,Mixin Network 团队搭建了一个中心化服务器存储用户账户私钥,在交易需要上链时提供私钥进行验证。

在实际的用户体验上,用户只需要使用手机号注册,并设置 6 位 PIN 码即可。

由于多重签名的资产是由全节点共同管理,所以用户实际上是没有真正的资产私钥,而 Mixin Network 也没有账号的概念,API 服务完成了这个桥接,API 服务会代为创建 Mixin Network 账号并管理 6 位 PIN 码, 初次设置 PIN 码时,API 服务器通过 Intel SGX 环境给 PIN 再次加密后存储(此时 PIN 已经被 Dapp 或者客户端加过密),类似指纹支付,这样 API 服务器本身也无法获取用户的 PIN 码。API 服务器本身也部署在分布式系统中,确保数据不会出现丢失。

分布式 D3M-PIN 码设计方案详情:
https://w3c.group/c/1575723828153220

几个可能疑问解答:
https://w3c.group/c/1575957080146897

访谈 | Mixin Network: 未来数字化世界的一种去中心化生活方式:
https://weibo.com/ttarticle/p/show?id=2309404250945453188068&infeed=1


作者:AlbertGou



messenger 分布式 分布 pin

需要 登录 后方可回复, 如果你还没有账号请 注册新账号