区块链应用
上一篇《数字货币盈利模式》里面提到,DApp是未来数字货币领域的一个比较强大的盈利模式。区块链,作为一个基础设施,提供了分布式的去中心化可信数据库,人们可以基于此,可以开发各种应用,适用于不同的场景。然而,由于区块链的独特特性,适用于比特币的,并不适用于其它应用,在开发应用之前,首先要问自己几个问题:
应用涉及不信任的双方或多方吗?
是,可以用区块链技术,不是,不要用区块链技术。
需要涉及不信任的多方,要通过上链的方式,对方可以只验证链上的数据而不验证对方身份,从而简化这个验证过程。假如链上数据可能涉及很多人,这个涉及的人员或角色越多越好,解决100万人的信任比起仅仅解决两个的信任要好。比特币就是既能解决两个人的信任(比如一次交易),重复该模式(不断累积的交易),也能解决n个人的信任。
应用对性能要求高吗?
是,不要用区块链技术,不是,可以用区块链技术。
区块链是典型的去中心化的一个共识系统,比特币平均十分钟才能出一个块,ETH平均十几秒一个块,这得要多有耐心才能忍受这样使用应用啊。一些对体验要求高的游戏、即时通讯等并不适合区块链,除非特别重视信任。
应用需要大量存储吗?
是,不要用区块链技术,不是,可以用区块链技术。
区块链冗余了很多很多份数据存储在分布式的网络中,链上存储的数据是非常昂贵的,区块大小有限,大量的数据根本没法在区块链上进行存储。如果要存,倒是可以使用IPFS等第三方的方式存储,链上只放一个链接即可。
应用数据要公开透明吗?
是,可以用区块链技术,不是,不用区块链技术。
区块链为的就是公开透明,如果都是一些私密数据,仅本人看的,那还是不要上传到链上了。
应用数据是否要频繁修改?
要,不建议用区块链技术,不要,可以用区块链技术。
就目前来说,对于区块链的特性,以上问题是判断要不要做一个区块链应用的回答。
从技术角度看区块链
我们原有的计算机技术或者互联网里面,已经有相当多的技术模型,而区块链可以类比成以下的模型:
数据库
可以将区块链看成是一个需要付费的公共数据库,要写数据,得付出矿工费。写在上面的数据,你可以加密,也可以不加密。
消息队列
可以将区块链看成是一个世界各地消息流淌的一个消息队列,你可以取阅任何上面公开的信息,并且用逻辑控制数据的流淌和处理。
网页
区块链就像一个网页一样,上面可以有各种各样的链接,链到互联网世界的其它地方。
云计算
区块链中还可以存储智能合约(一段程序),你在上面写好代码,可以让矿工来帮你运行,计算得到结果。
区块链分层
区块链是一个综合的技术,其实也说明区块链是可以分层的,由上至下大致可以分为:
- 应用层(外部应用)
- 业务层(链上协议)
- 共识层(共识机制)
- 存储层+网络层
还可以修改其组成来达到优化的目的:
- 修改共识机制,在完全去中心化和中心化之间平衡(PoW/PoS/DPoS/DAG/超级节点等)
- 为扩大存储,采用更灵活的外部存储(IPFS、SC等)
- 强化智能合约,提供更强大的应用运行环境(EOS、星云链、小蚁股等)
已有的DApp
现在在各种各样的公链上,已经涌现了许多的应用,我们分别来认识几个典型的应用。这里有一个搜罗了DApp的网站。
发币——ETH的ERC20协议
遵守ERC20协议,可以在ETH上发行自己的代币(子货币),它更加轻量和灵活,无需自行开发公链即可发行数字资产。ERC20这个协议定义了合约暴露的一些接口,符合这些功能和接口定义的,即符合ERC20协议。ICO发起者们部署一套智能合约,将Token分发给用户,人们像维护传统数字货币一样维护这些代币,可以查询余额、转账(充值、提现)。
ERC20协议衍生出来一个新的领域——ICO,因为人人都可以发行数字资产,所以很多个人或者项目纷纷通过发行数字资产的方式来筹集资金,用Token来换取用户的真金白银。这是一个很好的融资工具,连美剧《硅谷》里面的piedpiper都用它来发行了一个币以取代3000万美金的B轮融资,然而现实社会里却有许多人滥用它来割韭菜,只能说韭菜们别哭。
迷恋猫 Crypto Kitties
ETH上很火的一个游戏,开发者将猫的基因信息存储在ETH的区块链中,初代猫生成后,可以交配,买卖。众多用户充值进来买猫,导致这个应用一度将ETH的区块给搞堵了,由于ETH没有做应用隔离,所以一堵全堵,ETH上的其它应用也全都受到影响,这点被人们所诟病,而区块链的性能问题也暴露无遗。
我运行过ETH的节点,对机器的配置要求非常高,既需要大量CPU计算,也需要大量内存,还需要大量硬盘空间。网络稍微堵一点,整个节点就会变得不稳定,RPC容易失败。
事实上,大部分的DApp其实是游戏,这里也说明游戏+区块链也有它独特的应用场景。
去中心化微博 Memo/BlockPress
基于BCH的去中心化微博,通过定义一些协议,将用户的发推、点赞、评论、关注、取消关注等操作,都写到区块链上,这样就形成了一个简易的微博系统。技术上,使用OP_RETURN操作码后面的数据字段来存储操作及应用数据,去中心化的Youtube很快就会出现,至少一些雏形(如Jukebox.cash)已经出现了。
其实比特币出现之后的早期,就有人通过在区块缝隙里面塞些额外的数据来做一些应用,最简单的就是区块链刻字了,将一些有纪念意义的话刻在区块链上,它会与区块链同在,变得不可磨灭、不可撤销。ETH上,还有人将色情图片放到区块链上去,以此来告诫人们,区块链的两面性,它既能永久保存美好的东西,也能让不好的东西不可磨灭,你拿它没半点办法。
更多DApp的思考,也可以看看这篇浅谈你们根本不懂的区块链游戏。
DApp的方向
未来的DApp发展有两个比较明确的方向,一方面,区块链的基础设施不断升级完善,处理能力和存储数据容量逐渐增长,DApp运行所需的“水”和“电”基础设施逐渐齐备;另外一方面,DApp的应用开发蓬勃发展,越来越多开发人员参与到DApp的开发中来,将区块链与游戏等传统应用结合起来。
BCH、EOS、NAS等各个公链也在逐步升级完善,比如BCH通过扩容,使得每一个交易的花费只需几分钱,成本极低,在5月15号还将区块大小扩展至32MB,增加计算相关操作码,并且拓展OP_RETRUN至220个字节,可以存储更多的数据,这些都为其上生长应用非常有帮助。
旧的互联网已经让人觉得厌倦了,人们渴望新的东西!币圈一直都在等着区块链技术的应用落地,而一个爆款应用的产生,将会带来巨大的颠覆,它值得期待。