之前从思维和产品层面,探讨了一个项目为啥适合于区块链《公开,公正,公平,区块链的试金石》。今天,从技术的层面,来看看必须要回答的几个问题。这几个问题在EOS的技术白皮书有详细的论述(https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md),它们同样适用于其它区块链应用,作为评估的技术考察点。
支持大规模用户(Support Millions of Users)
颠覆性的应用,比如Ebay,Uber,AirBnB,和Facebook,需要区块链技术能够处理百万千万上亿的日活用户。不能支持这样大规模的日活用户,在现在的互联网时代,是会难以生存的,更不能成为成功的应用。当考察一个区块链项目时,它必须要回答是如何处理的,包括存储,计算,交互,特别是在有持续状态的时候。
接近免费使用(Free Usage)
应用开发者需要灵活性来给用户提供接近免费的服务。用户不应该必须付费来使用平台或是服务。一个接近免费的区块链平台能获得广泛采用的可能性会大。现在很多的区块链平台的交易费用,就使得小额支付不可能。比如,你想在以太坊上开发一个博彩的游戏就难以支付高额的交易费用。之所以用“接近免费“,并非完全免费,在某种程度上,微量的费用,能让恶意的破坏者付出代价,阻止他们abuse系统。比如,邮件系统,如果在区块链上实现,每发一个邮件的少量邮费,能够大规模的减少垃圾邮件。
无痛升级和问题修复(Easy Upgrades and Bug Recovery)
新的需求来了,应用必须要升级,区块链应用必须也能够无痛的升级。任何软件系统,都可能有bugs,那么一旦出现了bugs,必须能够快速修复。所有这些,都是区块链应用必须要回答的问题,而且要和之前的数据兼容。
低时延(Low Latency)
对于用户操作的快速反应,是好的用户体验的先决条件。长时间的时延,会让用户厌弃,从而比非区块链应用没有任何竞争优势。Google当初有一个成功的因素,就是控制用户搜索的反应时间在几百毫秒之内,远远超过其它竞争引擎,从而让用户爽了。
串行计算效率(Sequential Performance)
有的应用是不能并行的,必须一步接一步,下一步的操作依靠上一步的结果,那么在这种串行的场景下,如何获得高的效率,是一个区块链应用的技术考察点。很多的电商应用,交易所应用,都属于这种类型。
并行计算效率(Parallel Performance)
大规模的应用,需要分而治之,那么,它们是如何在不同的CPU和机器之间分配工作的。
总之,从支持大规模,降低使用成本,系统维护,用户体验,运行效率,等等方面,来回答技术层面上是如何解决和实现的。