当Substrate遇上传统业务应用

以下是我在 2020-07-05 的线上分享内容。

区块链首先是一个传统分布式系统;其次,通过技术手段(哈希、公钥体系、默克尔树等)建立了交易各方的信任,使得匿名安全交易成为可能;进而使得各方更有意愿参与交易,让价值(同样借助类似 ERC20 等这样的技术手段)在各个节点之间流动,最终形成价值互联网。

一个维度:底层链 -> 各类协议(如 0x、uniswap 等) -> 各种应用(游戏、交易所、用到区块链技术的业务应用等);另一个维度:基础设施(如 Infura)、工具(如各类多链钱包)。

数字化思想渐入人心,经过多年内部耕耘之后,内部信息化趋于完善。随着互联网进一步深入普及,企业间信息集成是大势所趋。同时,技术又进一步推动商业上的变化。

前两个问题将【区块链】换成【 A 技术】或【 B 技术】同样适用。

某种程度上讲,区块链技术是企业间【信息集成】天然之选。

直接运行 node 最简单,但几乎无价值;根据自身业务特点构建自己的 runtime 是开发 Substrate 应用常态;最后一种类似完全用另一种语言自行实现,只是从技术规范上遵循 Substrate 规范,类似以太坊多语言客户端生态。

不过,目前我还没见过第三种方式。

就目前我的理解而言,Substrate runtime 开发的能力让 ink! 显得多余。鉴于以太坊是目前区块链开发的最大生态之一,如果想利用之前的技术投资,可以考虑引入 Substrate EVM 模块,相应地,也列出了主要的以太坊开发工具。

可参见 Substrate 文档自行操作。

节点与业务的关系可类比为 Tomcat 与 Web app 的关系,你是打算一个节点支撑多个业务,还是打算每个业务一个节点?

账户和业务的关系关乎权限,同样也类比为:

  • 一人负责一个企业间往来业务

  • 某个企业代言人负责与这个企业相关的全部业务

  • 业务流程的不同阶段跟不同的人打交道

首先,Token 不是洪水猛兽;其次,用不用 Token 都需要遵守法律法规。用与不用取决于业务流程和商务模式。

不同阶段有不同参与方介入,围绕这样一个场景打造区块链是有价值的,而且一旦上链,相关材料档案清清楚楚,为下一个阶段的参与者提供了信任基础。

相反,假如只是聚焦单个阶段,如运行和维保,未必就有太多的价值。

归根结底,区块链要为参与方做支撑,说白了也是为良好的业务生态做支撑。

分享中的问题

1. 企业间的不同积分怎么通过区块链打通?

答:可把 Substrate 节点实现为一个多租户的积分系统,其中每个用户的积分最简单的设计就是:(企业 id、用户 id、积分);其次,实现企业间的兑换网关,这个汇率需要企业间自行商定;最后,需要保证总账是一致的,即 A 企业 100 积分兑换到 B 企业的 10 积分之后,需要一增一减。

同时也需要关注积分如何产生的问题,依据不同逻辑可能有不同的做法。比如一种方式是,兑换即产生;另一种方式是兑换和产生不相干,此时若没有多余的 B 企业积分则兑换无法完成。实际情况下可能有更多情形。

2. 兑换比例如何确定?

答:这个更多的是业务问题,而非技术问题,只能由业务相关人员确定。

3. 企业间很难认定兑换比例。

答:同上,技术的归技术,业务的归业务,:smile:。