如何用 Substrate 打造下一代 “智能链钱包” ?

加密谷Live view 64 2020-12-3 19:15
share to
Scan QR code with WeChat

MathChain 是新一代 “智能链钱包” 的基础,由麦子钱包团队开发。MathChain 使用 Substrate 进行开发,并且计划接入 Polkadot 主网,目前已经加入了由 Parity 发起的支持项目 Substrate Builder Program。

这期的 PolkaWorld 专访,我们请到了 MathChain 的开发负责人 Eric 来和我们聊聊 MathChain 的特性和开发进展。

PW:请介绍一下你自己吧。

Eric:我是 Eric,是麦子钱包的 CTO。麦子钱包其实已经在钱包这个领域做了将近三年,之前的定位一直是多链钱包的一个定位,现在对接了差不多 50 个不同的公链。我们发现我们的定位其实和波卡的多链还有跨链的方向就特别的契合,所以我们现在光是波卡生态的公链就已经对接了 10 个左右了。

之后我们会在波卡生态做更多的技术上的探索,Mathchain 也是其中一个对我们来说非常重要的新的技术领域。

PW:MathChain 是什么,它跟麦子钱包是什么关系?

Eric:我们其实也一直在关注智能钱包这个领域。目前智能钱包做的比较好的大多数在以太坊生态上,比如 Argent 还有国内的 MYKEY,它们更多的是用智能合约来管理用户的资产,具有一些优势,尤其是用户不需要经过私钥、助记词备份的流程,所以较大地降低了新用户的门槛。

但我们也看到智能合约本身其实还有很多限制,包括开户的成本比较高,在一些场景里会受限,比如用智能合约去做转账可能在有些交易所就会被屏蔽,另外智能合约本身也会存在一些升级的难度。一直以来的经验告诉我们,链上原生的钱包从兼容性的角度是最好也是最灵活的

波卡其实给了我们这样一个环境,让我们可以把智能合约里的内容写到链上,包括钱包的备份以及钱包的恢复,以及钱包账户的一些管理都可以变成 runtime 的 native code。 这也是为什么我们会做 MathChain 这个方向,其实它就是一个波卡的平行链,但是最主要的功能就是做链上的账户的管理。它能够让用户不再需要备份私钥和助记词,同时又能够有很好的安全性和灵活性。

MathChain 和 MathWallet 的关系,MathWallet 是一个前端,MathChain 是一个用户的链上的账户端,然后再通过 MathChain 接入到 Polkadot 的整个的平行链生态里面去,和其他的波卡的平行链进行交互,这是总体的设计。

PW:可以理解为 MathChain 这条链其实是账户的一个管理系统,解决了智能钱包存在的一些问题吗?

Eric:对。智能钱包其实也是分两块,一块是 APP 端就是用户操作的 APP,然后在链上的它存在的形式是智能合约,当然它也会有不同的部署方式,比如有些设计是每个用户的钱存在一个单独的智能合约里,也有集中管理的,就是一个大的智能合约里面存所有用户的资产。这些是传统意义上智能合约链上的部分。

MathChain 其实就是智能钱包链上的部分,只不过它变成了 Substrate 链上原生的逻辑,而不是一个智能合约的形式。MathChain 最终就是一个链上的智能账户管理体系,我们也会把它变成相应的模块,如果其他的 Substrate 团队想要使用的话,也可以直接去用这一些模块。

PW:钱包的底层是用智能合约还是链,在用户体验层面有什么区别吗?

Eric:从背景来说是这样的,其实在波卡出现以前,所有之前的区块链其实在账户层面都是不能改的。不管是以太坊还是 EOS,它本身的账户是这么设计的,基本上所有人都只能按照它的逻辑去用,在账户的层面上你也是不能加入任何额外的逻辑的。

举个例子,我希望给我的以太坊钱包加一个 “每日可支付限额” 功能,这在以太坊的钱包地址上是加不了的,因为以太坊的账户系统作为一个基本的账户系统,它没有这种实现的接口,所以在以太坊上你就只能用智能合约,智能合约可以开发和编程。 这是为什么以太坊上的这种所谓的智能钱包,其实它加的额外的功能,包括账户的备份恢复、额度的限制、代理以及多签等,都只能用智能合约去实现。 因为它在账户系统这一块没有任何可定制性。

但是其实 Polkadot 本身就提供了很强大的链层面的模块化修改,所以这些功能就完全可以在链上的账户层面去实现,比如刚才说的这种每日的转账限额,这些都可以作为一个 Polkadot Account 的模块被加入进去,但同时它又能够解决很多智能合约带来的限制。 比如对于智能合约,如果你要导出一个智能合约的私钥是不可能的,因为智能合约本身它不是一个链上的公私钥对地址,这些限制在链上的账户模型上就可以被很好地解决,同时它又带来了丰富的可编程性,这个就是我们看到基于 Substrate 和 Polkadot 开发的话,在这一块能够有很多创新的地方。

PW:Substrate 也有一个账户模块,MathChain 是基于这个模块开发吗,还是从头全新做?

Eric:我们还是会基于现有的模块去做一些定制,包括现在的 Account、Recovery 还有 Proxy 这几个已经开发好的模块,我们觉得它们已经非常完整,也在 Kusama 上被验证过了。我们会以它们为基础,然后在它们上面再加上额外的一些逻辑来实现我们所希望的功能。这些模块具有比较好的通用性,我们会更多地针对智能钱包这个场景去做一些组合。

PW:为什么选择基于 Substrate 进行开发?

Eric:除了刚才提到的 Substrate 有在账户层面去增加额外功能的灵活性之外, 其实还有几点也是比较重要的。

第一是通过 Substrate 能够接入到整个波卡的网络,也就意味着波卡的主网能够提供 MathChain 的安全性。这个事儿是我们觉得目前可能在其他的地方是做不了的,因为即使你自己去运营一个社区去跑节点的话,其实你的安全性还是有限的。钱包的用户是非常关注资产的安全的,所以我们觉得必须要接入到波卡的主网才能够解决在智能钱包上的安全性问题。

第二是波卡有平行链生态,将来其实整个平行链一定会有各种各样的应用出现。 我们也可以通过 MathChain 跟其他链做跨链消息的交互,来实现类似于以太坊 DeFi 搭乐高积木的效果。

第三是基于 Substrate 和 Polkadot 能够很好的解决交易速度手续费成本的问题。

综合这几点,我们觉得用 Substrate 来做我们希望的链上智能钱包是最佳选择。

PW:你觉得 MathChain 在波卡平行链生态里会是什么样的角色?

Eric:我们其实一直都定位是希望能够作为用户端的一个降低用户使用门槛、让更多新用户能够去使用的工具的角色。

所以不管是我们现在做的 MathWallet 还是 MathChain,其实定位都是降低用户进入区块链和进入到波卡生态的门槛,从而让更多用户能进来,这个是我们的一个定位。

然后在服务端或者说应用端,其实我们是愿意跟其他的平行链或波卡的应用方去合作,来给用户提供更多的服务。

PW:MathChain 未来有竞拍波卡或 Kusama 平行链的计划吗?

Eric:从目前的规划,我们可能还是希望以平行线程的方式接入波卡生态,对我们的特性来说,平行线程更灵活一些。

我们其实也有跟 Polkadot 生态的一些朋友讨论过接入的方案,比如说为什么我们不把这套逻辑放在 Kusama 上。原因是我们的这些改动如果全要在 Ksuama 上部署,那需要在 Kusama 上提交很多的治理的提案,然后要走完整个社区的治理,同时可能社区对于 Kusama 希望的定位是不同的,反而会让整个事情的推进变得不那么灵活。反而是用平行线程的方式去接入更适应现在生态的架构,而且更加灵活。

PW:现在 MathChain 的开发进行到什么阶段了,主网预计什么时候上线?

Eric:MathChain 这个项目是 9 月份公布的,目前还在前期开发的阶段。目前主要还是在 Account 相关的模块和 Secret Store 模块的开发。

我们已经上线了测试网,然后我们后续的更新也在不断地在测试网上进行测试。主网希望跟平行线程同步上线,预计应该在明年的二、三月份左右。

本文来自「PolkaWorld 专访计划」,该计划旨在通过对话波卡生态团队,帮助社区了解更多波卡生态中的项目。如果你也正在基于波卡/Substrate 构建项目,可以点此申请 PolkaWorld 专访计划。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 为什么以太坊仍然是NFT技术的主要阵地 Next: 加密行业终于永久性地进入了金融主流了?

Related