首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈区块链应用开发

经过2017的喧嚣,区块链公网建设的格局大致已定。btc,eth,eos、ada以及国内的小蚁、本体、量子、公信宝等占据了公网主链的市场,区块链行业的发展也会逐步向应用转移,未来杀手级应用的涌现才能真正体现区块链的价值。毕竟普通用户是不关心底层技术的,也不能人人都在那炒币。(^_^)

2018应该很少会出现几十、几百倍的卫星,也很难有革命性的公链出现了,或者有也很少有机会成长起来,这是另一个主题,这里不谈。这里主要想简单说一说,2018年区块链应用开发该怎么考虑。

区块链是什么有很多介绍,比如韩锋老师的这个洗脑文:区块链的运行原理和发展。(大致了解下是可以的,以后有详细的技术资料再更新)

区块链公链提供了什么能力?有什么作用呢?简单来说,从区块链应用开发角度出发,我觉得有以下两个最重要作用:

存储少量链上数据,交易数据

提供少量计算能力,智能合约

我们知道实际的it项目,包括应用,本质上就是存储、计算、网络的综合体(^_^云计算常念叨的那一套)。那么区块链提供的这些能力能替代传统it架构和基础设施吗?

答案显然是:不能。

纯区块链项目解决了链上数据的安全、可信任、可回溯、不可篡改的问题。但能放在链上的数据太少,成本太高了。

纯区块链项目能够提供智能合约功能,这个功能很强大。合约、契约写入计算机程序中,权利和义务,由计算机网络严格执行,杜绝了人违约的可能。但智能合约也不是万能的,例如安全问题、复杂度问题,访问外部数据困难等问题。

因此区块链应用,应该是传统it架构插上区块链的翅膀,做深度的改造和重构。而且这种重构不应该是简单的 传统it + 区块链,而是需要换上区块链思维来重新考虑和审视我们的软件架构。

以下是区块链应用参考架构的考量:

传统it架构 将价值部分,例如转账、积分等转交区块链系统处理。

传统it架构 将不可篡改、可回溯数据处理部分,交由区块链系统处理。

传统it架构 将部分业务逻辑转由智能合约系统处理。典型的如用户之间的对赌协议。

传统it架构 将用户数据控制权转给用户。用户身份校验需要重新考虑。

以以太坊为例说明下区块链应用开发:

以以太坊ERC20接口发行系统token

基于以太坊安全架构及web3.js及truffle开发智能合约,https://github.com/OpenZeppelin/zeppelin-solidity

使用以太坊运行时编译智能合约技术,动态加载智能合约。

智能合约使用oracle服务访问外部数据

大额支付,走以太坊主链。小额支付考虑雷电网络、僵尸网络等。

数据存储采用ipfs、storej等。用户数据hash值保存到区块链,实现用户数据可以追溯,不可以篡改。

传统it架构存储系统,如mysql、redis用作用户体验质量保证系统,例如作为ipfs,以太坊数据的快速访问缓存系统。

参考数据存储的原则,将计算能力推送到用户个人终端。即用户可在没有中心服务器的情况下,也可以访问自己的数据和资产。(当然可能有些服务就不可用了。这里不是说不要服务中心,而是说离开中心服务器,用户仍然能够掌控自己的价值数据和有价值的资产)

以上是一些初步的考虑。后期对一些技术点,做进一步的总结整理。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180224G0H0SV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券