0 前言
上一篇文章中提到了程序中的端——前端和后端。
前端是给用户看的,用户可以通过前端的页面和程序进行交互。
后端是根据前端的请求准备相应的数据,发送回前端展示给用户。
现在有了区块链,有了智能合约,就有了打破这种结构的机会了。
1 合约端
自从有了以太坊为代表的可以运行智能合约的区块链项目以后,就有了让数据不再运行在固定的服务器上的可能了。
以去年风靡一时的加密猫为代表的区块链游戏,就是这样的情况。
前端的页面中展示加密猫的外形及相关页面,当用户要对加密猫进行操作的时候,就是直接和区块链上的智能合约进行了交互,而不需要向服务器请求数据了。
这就形成了“前端-合约端”的无后端的结构了,也就是我们所说的Dapp的结构。
Dapp(去中心化的app),用户所接触的前端看上去是没有任何变化的,但是前端所用的数据和保存、运算数据的逻辑都是运行在链上,在去中心化的服务器中。
2 特点
智能合约的特点就是一旦部署在区块链上以后就不能再进行修改了,如果开发者将合约的代码也是明文写在链上,那么这些程序的执行逻辑就是可查的,任何人都可以验证。
由于用户是在和智能合约进行交互,数据也是保存在链上的,所以一切都是公开透明的。从而保证了没有人可以进行暗箱操作。
不过,有两点值得注意:
-
智能合约是人写的,所以可能存在漏洞。代码不能修改意味着漏洞也不能修复,如果很晚才发现这些漏洞,那么可能就会造成很大的损失。
-
智能合约是有开发者的,开发者是否给自己留有很大的权限,并通过这些权限操纵账户,也是需要将代码的逻辑读懂才能发现的。
所以,Dapp的合约端的代码依然需要经过多次专业的代码审计,并且稳定运行一段时间后才能确定其安全性和可靠性。
3 小结
-
区块链带来了智能合约,可以让app的数据保存在链上,逻辑也运行在链上,形成Dapp。
-
智能合约的代码部署完以后不可修改,公开透明,人人可以验证。
-
不可修改也并不意味着安全,程序可能存在漏洞,开发者可能留有后门。
网友评论