本文作者具有多年互联网和即时通讯经验,并一直关注区块链。这篇文章是作者多年经验感悟,如果你对下一代通讯系统有独到的见解,还想投资价值互联网的社交平台,这篇文章绝对值得你阅读两遍以上。

导读:如果你还不了解区块链,这篇文章不适合你,建议你先学完再来;如果只关心撒币,你可以直接拖到最后看发币信息,前面的内容都不用看;如果有通讯和社交领域知识,并一直关心区块链,这篇文章会可能对你有帮助,建议你看看;如果你对下一代通讯系统有独到的见解,还想投资价值互联网的社交平台,这篇文章绝对值得你阅读两遍以上。

以上建议适用本系列的所有文章。本文共三千余字,预计需要10分钟阅读,但可能需要10小时来消化。

不管你愿不愿意相信,Telegram马上要完成史上最大规模ICO了,在没有公开发售的情况下已经募资17亿美金。这一事件让人震惊,更震惊了币值排行榜上的一票老币。这里面有其币圈微信的影响力,也有其长期在通讯行业的积累的声誉,不过本系列文章并不会去赘述代币相关的事情,而是重点分析项目背后的技术,也就是区块链和通讯相关的设计。

这是本系列文章的第一篇,讲讲为什么不适合把IM做成DApp直接运行在公链上。

01

区块链的未来在哪里

640_wx_fmt_jpeg

Photo by Tony Webster on Unsplash

区块链正在引发新一轮技术浪潮,服务的去中心化已经势不可挡。比特币Bitcoin证明了去中心化账本技术的可操作性,而以太坊Ethereum增加的智能合约则为实现多样性服务提供了可能,但技术应用爆发性增长也给公链带来了性能和可扩展性方面的诸多挑战。

于是IOTA、EOS、TON等众多区块链项目开始致力于解决性能问题,并希望将公链作成支持所有服务运行的操作系统,一次性满足各种业务需求。这是一种大胆而创新的尝试,虽然从工程和效率来看,还是远远不够的。

与此同时,IPFS、NKN等项目则分别切入细分的存储和网络领域,通过区块链技术对底层服务进行重构,从资源层面构建未来价值互联网的IAAS平台。说明区块链正在从纯粹的账本技术开向更广阔的领域拓展,开始通过调整经济激励的方式参与普遍场景下的价值分配。

这是改变生产关系的重要一步。从这里开始,当前互联网的各种高价值服务,将有机会以一种全新的可持续运作的方式存在,成为普遍存在按需使用的基础设施。

简单来说,从技术层面看,区块链的未来有三个方向,一是通用公链,记账的同时能干很多事情,二是共享资源池,记账,并专门给资源提供方奖励,三是垂直公链,记账,并给平台参与方奖励。对应到古典互联网场景,就是操作系统、云服务、平台级应用。

本文讨论的是第三个方向,平台级应用。

02

平台级通讯需要区块链

640_wx_fmt_jpeg 1

kaboompics.com

一个业务是否适合区块链,可以从经济、业务和技术三个维度来看。

一,从经济上看是否有内在经济循环,有记账需求,有生产分配问题;二,从业务上看是否有信任问题,是否有去中介的需求,进一步分析这些问题和需求是否属于业务的核心场景;三,从技术上看这些问题和需求是否可以用、需要用或者只能用区块链技术来解决。

以IM聊天服务为核心构建的通讯平台,古典如微信,区块链时代如BlockMessage,就是这样的业务。社交经济网络的核心是价值交换,有天然记账需求;同时作为新一代的社交平台,为了保护用户数据和隐私,为了让平台和应用各方的利益分配以平等的方式运作,都是业务层面的核心诉求;而为了保证通讯服务的可持续运行,与区块链技术的结合是最佳的选择。

也就是说,借助区块链的去中心化特性,一起去掉的不仅是平台服务,也包括平台组织。

将通讯服务通过区块链来驱动,实际上改变了原有通讯服务由单独组织来运营的现状。通讯服务的维护,从原来的中心组织提供资金并搭建基础设施的方式,转变为类似维护分布式账本的挖矿方式,实际上由大量的因为经济激励而参与的第三方来维护。

这意味着什么?

意味着会出现一个社交网络,这个网络公平而共享,不存在一个平台方可以通过垄断通讯服务进而控制所有应用开发者,也因此构建了一个所有应用共同参与共生共享的平等的生态系统。

意味着同时会出现一个完全自主运行的通讯网络,这个网络由分散世界各地的人自行购买的通讯节点来提供服务,这一切的运转完全依靠整个网络流转的价值驱动,不受任何人控制。

03

为什么需要一条通讯公链

640_wx_fmt_jpeg 2

Photo by Martin Shreder on Unsplash

通讯公链,就是这条公链是为通讯专门设计,而不是一条通用的可以做任何事情的公链。

一般来讲,在技术领域,通用性意味着更高级的抽象,也往往会带来性能或效率的下降。我们仔细分析平台级的通讯系统需求,可以发现主要有可操作性、业务适用性、通讯安全三个方面的原因。

  1. 可操作性

    通讯服务与账本服务,在互联网场景下的请求量级是完全不同的,通常情况下前者要高几个数量级。相比记账这件事,一个互联网服务要做的事情有很多,一个用户访问后看起来什么事情都不做,可能已经在后台有了很多次API请求。将通讯服务直接跑在区块链上,意味着所有请求都会上链,这对公链提出了比记账更高的要求。

    虽然现在很多公链都在致力于解决这个问题,也都出现了像分片Sharding技术和DAG这样相对成熟的方案,然而离满足记账需求仍有相当的距离,也就更别提满足大规模的通讯需求了。

  2. 业务适用性

    显而易见的是,不是所有请求都需要上链,因为上链要有成本。区块链操作系统虽然带来了实现的灵活性,然而也把所有的操作变成了收费模式。这对高收益业务场景尚可接受,然而对于基础应用,这从根本上动摇了其依靠规模效应来降低边际成本的模式。

    就像云服务之于传统服务器托管,SaaS服务之于传统应用,大型应用依靠规模效应获取额外的经济收益,是其维持竞争优势的基础。

  3. 通讯安全

    从安全角度看,通讯行为和流转的信息,都不应该走链。区块链为了免信任而公开透明,但这跟通讯需求有相悖的地方,没有人希望自己跟谁聊过聊过什么内容都被公开在区块链上,即使他们是加密的。

    有些人会觉得端到端加密足够了,其实未必,通讯行为涉及的好友关系,网络接入路径,都是通讯安全的重要组成部分。

此外,从技术应用的过往来看,实验室研究会探索速度和性能的极限,但大规模的应用往往不会直接采用最快的技术,而是倾向于最经济的技术。

牛刀杀鸡,开飞机送快递的情况都不是好的选择。

04

当前区块链领域的通讯IM项目

640_wx_fmt_jpeg 3

Photo by Lachlan Donald on Unsplash

一个显而易见的事情是,不是所有的应用都适合用区块链来解决,适合用区块链解决的也不一定需要全部跑在区块链的分布式网络上。

尤其在当前,区块链的发展已经进入去中心化应用DApp的爆发期,各行各业都在探索研究区块链在业务中的应用。现在市场上已经出现了很多的IM产品,让人眼花缭乱,每个项目在讨论的时候都会被简化成为区块链通讯项目,然而实际上,它们的产品和技术路线选择差异巨大。

我们总结,这些项目基本分为四类:

  1. 通讯链项目 AsChain

    在这些项目里,通讯作为基础服务与区块链一起运行,业务上可能专注在商业网络、去中心化网络或者生态系统。这种项目一般通过共识机制,将通讯服务与账本服务绑定在一起,完成记账和聊天的整合。

    代表项目:BlockMessage、Skrumble Network、CrypViser、Yee。

  2. 通用链项目 OnChain

    这些项目本身都是通用公链产品,通讯只是作为运行在公链所有基础设施之上的DApp存在,也就是说,所有的消息发送和接收都通过区块链的分布式网络进行。这种方式属于最原始的区块链通讯实现思路,但如上文所述,有特定的问题。

    代表项目:TON(Telegram Open Network)、Mixin、Status、BeeChat、QBao。

  3. 货币类项目 ByChain

    货币类项目基本都是钱包项目,聊天只是辅助。他们的重心或者在数字货币的发现、交易和管理,或者在传统互联网聊天服务上,比如建立更方便的交易达成通道,群组交流等,说起来还都是古典互联网产品。

    代表项目:CoinMeet、Bixin、Biyong

  4. 纯通讯项目 NoChain

    由于去中心化概念的普及,区块链的通讯项目往往被认为是默认去中心化的,也因此一些去中心化的通讯项目也经常被提及,实际上他们跟区块链并没有关系。

    代表项目:BitMessage。

具体列表参见下图:

640_wx_fmt_png

不难发现,即使在同一个方向,不同的产品在实现路线和产品定位都是各有侧重,这些细分路径上的选择完全取决于项目发起方的认知和兴趣,但是已经为最终演化成完全不同的产品打下了基础。

在某些项目里,通讯是工具,是为了辅助完成核心业务的一个环节,在另一些项目里,通讯是平台,因为是为了构建一个平台生态,在提供账本服务同时提供一个通讯通道作为基础设施。

愿景的不同,其实是认知的不同,而且可以预见的,最终都会走向不同的地方。

05

BlockMessage撒币了没

640_wx_fmt_jpeg 4

Photo by Tom Morel on Unsplash

没有。不过你可以通过「阅读原文」去BlockMessage.IO登记或者继续关注本公众号,快了吧我猜 :P

640_wx_fmt_png 1

相关阅读:

只用200行Go代码写一个自己的区块链!

200行Go代码实现自己的区块链——区块生成与网络通信

200行Go代码实现区块链 —— 挖矿算法

区块链及比特币入门指南

新一代开源分布式账本项目R3 Corda 技术揭秘:基于JVM开发

超越比特币以太坊的区块链技术:石墨烯项目简介

特别推荐:

比特币、以太坊、ERC20、PoW、PoS、智能合约、闪电网络……

想深入了解及讨论这些话题?高可用架构在知识星球(小密圈)创建了区块链学习小组,共同学习区块链包括数字货币前沿技术,欢迎点击链接加入。

区块链学习小组

转载本文请注明出处,技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。

高可用架构改变互联网的构建方式640_wx_fmt_jpeg 5

长按二维码 关注「高可用架构」公众号