首先,如果一个事情可能发生,那它一定会发生(墨菲定律),为什么可能发生呢?先要回到10年前,当初中本聪构建一个完全去中心化,可信任的系统的时候还是PC时代,今天我们已经不可能回到十几年前的PC时代,软件设计一定是分层的,要么B/S,要么C/S架构,而且更多人依赖移动设备使用软件。所以中本聪构建的信任系统,在我们日常的使用场景中是不存在的,我们使用了域名,使用了中心化钱包,使用了网站和APP来使用区块链产品。
其次,我们今天的软件开发模式,是一种层层依赖的“面向轮子”编程,从信任角度去思考这个问题,你要信任开发者的每一次的迭代,信任它依赖的每一个软件包,信任二级依赖的更多的软件包和它们背后的人。传统软件开发是没有问题的,安全问题在中心系统中都可以解决,但Dapp一旦失去了私钥就意味着失去了一切,哪怕万亿资产也没有任何人能帮你找的回来,而做到这个只需要一行代码即可,而且是它背后依赖的几千个包中的任何一行代码,所以安全问题是相当的严峻。
第三,更大的安全问题是大家认识不到这是一个安全问题。Imtoken就不用说了,最近连以太坊官方支持的mist钱包也开始基于react构建,我看到后真的是无比的失望,你不知道react背后是三千多个依赖包吗?如果保证这里面几万开发者不会写一行盗窃私钥的代码,反正如果我知道我写的软件包被流行的钱包引用了,我是把持不住的。Hero Node如何实现一个可用的,包含前端和网络的完全可信任系统。
Hero Node应用的后端完全用区块链来做,但是因为区块链有一个不可能三角的特性,所以Hero Node是需要组合多种公链,在节点上实现一个区块链服务层,应用层可以跨链使用多种公链服务。
Hero Node开发的Dapp,前端代码会被打包成为一个应用种子,也就是一个HASH地址。用户通过HASH地址来访问应用(可以ENS域名绑定)。
因为Hero Node Dapp只以去中心化的技术来构建,所有网络数据也都是用去中心化的技术来传递,所以它是一个真正彻底实现了去中心化的现代应用。
在软件开发层面上,Hero软件框架一开始就坚持无依赖的软件开发方式,哪怕是界面上的一个UI元素也是独立的无依赖的,而且每一个类都是有且唯一的一个JSON对象接口,接收IN,发送OUT,当把这个类打包为HASH地址后,这和以太坊的智能合约基本是一样的。所以Hero框架开发出来的应用是绝对可信任的,Hero Node也是第一个将前后端代码都按照以太坊智能合约标准来开发的应用软件。