背景
当我们看到一个区块链项目,不管是新出现的公链、合规项目的联盟链,还是很多以公链为名,实为管理权私有的区块链。亦或者当我们看到一个 dApp,不管是 DeFi、GameFi,还是钱包、NFT 交易平台以及一些混合性质的应用。
你会看到很多花哨的描述或漂亮的设计,极容易让用户快速产生好感,甚至于对其产生一定认知的真实性偏离。
但如果想要识别一个「技术逻辑上」的优质项目,必须要抛开表象看本质,需要清晰的了解它是如何构成?如何搭建?谁在控制?,因为行业内的项目都会利用表象烘托出一个蓝图以支撑二级价格与市值,在没有技术辨别能力的情况下,跌入泡沫的几率便会增加。
想要找到这个问题的答案,需要利用标准的技术思维拆解区块链与 dApp,就像了解病理才能找到病灶一样,具备对项目庖丁解牛的能力。本文将提供对链和 dApp 拆解的基本逻辑(非商业逻辑),可基于这个逻辑之上再叠加其他因素辅助判断。
定义
首先我们要了解计算资源、区块链、应用之间的关系。
我们常听过这样的描述,如,区块链是去中心化的,以太坊是世界计算机,在以太坊上搭建的应用叫 dApp。这些描述代表了:区块链是底层,应用是上层。
从技术逻辑上理解,应用在搭建时需要计算和存储,区块链可为应用提供一个环境,这个环境中有计算和存储能力。
而我们将微观的技术分层逻辑映射到整个互联网中时,从这个角度推论可以得到:
互联网底层为互联网基础设施,即提供计算资源的一层,上层是我们生活常见的各类如互联网平台一样的应用。
互联网的基础设施自云服务大规模发展之后,云服务已经成为主流,近乎可以代替整个互联网基础设施。
所以,这代表了,互联网的结构可以理解为:云 + 应用。 由此,将上面两个结构推论综合对比,可以得出: 区块链网络具备和云服务一样的能力,提供应用部署的环境。 搭建区块链网络是需要底层计算资源的,目前,行业中的区块链并非完全使用自建的资源组成网络,大部分会使用云,意味着云服务也是区块链网络更底层的资源层基础设施,那区块链网络也就成为了根植在互联网中的新组成部分。 综上,我们可以定义如下: 区块链网络=新的「云服务(分布式)」 区块链上的应用 dApp=新「云环境」下的新应用 基于目前区块链仍根植在互联网基础设施上的因素,我们再次进行某些关键佐证的列举,包含: 计算资源(即便是物理机)也需接入互联网通信网络 很多区块链网络都在云服务器中开虚拟机部署节点 部署节点后需要对云资源进行管理 仍需要在硬件或云服务的操作系统上部署节点软件 需要依靠云服务开发 Web 或 M 站做前端 访问链时依旧使用互联网开发应用的远程调用方式 以上这些因素都让区块链以及区块链网络必然成为了如今互联网上的一小部分,而非替代,因为这不是如硬件升级一样的革命,而是一种新的技术模式与互联网组成了新的具有分布式特性的部分,会吸引新的应用和商业形态在该技术结构上扎根、生长。 基于以上的基础理论,我们再来对区块链和 dApp 进行解构。 首先将区块链进行分类: 公链 联盟链 开放联盟链 无币公链 然后我们会把这几类链再次分类为: 许可链 非许可链 也就代表着,如果链有许可的要求,就必然存在获得许可的过程,在相应的许可申请流程里,一定会提供申请人的信息。许可的过程代表了 KYC(know you custmer),在某些特定的官方 ( 例如金融机构、法定实名身份 ) 要求下,可能还会有更复杂的设计。 许可的过程一定会设计在产品上,所以,在产品模式设计上,许可链和非许可链在使用上也就会分为两种形式: 第一:获得许可,然后进行相关技术操作。 第二:无需获得许可,直接通过相应开放工具,直接进行技术操作。 这是目前加入所有区块链的两种形式,我们具体来体验一下这两种形式。以开发 dApp 和搭建节点接入网络两个常用行为来举例: 开发一个 dApp,最终是为了给用户使用,所以应用软件的基础开发步骤不变,依旧是前端给用户操作,后端控制数据,而区块链上的 dApp 实则是把后端变成了链,应用开发团队建立一个前端,每当需要调用「后端」时,是通过远程调用端口直接访问链上部署的相应合约和链上数据。 这个过程中,许可链和非许可链基于链接入部分会产生区分。 在许可链上,第一步需要获得区块链的接入许可。 以开放联盟链这个类别举例。首先,一般需在官方门户里注册,注册完成后,进入门户,需要在门户得到一个相应区块链的链地址,然后通过法币购买链 gas,向使用的链地址中充值 gas。 完成后可使用相应的链地址账户在钱包工具帮助下连接网络,使用对应的工具部署合约,使用 SDK 开发与链上的调用部分,并与前端的开发关联到一起。如果从开放联盟链更换成联盟链或者私有链,唯一可能需要改变的部分,可能在于如何使用链账户的部分。 以上即可完成在许可链中完成 dApp 的开发。 如果在非许可链上,该如何操作? 在以太坊中,我们会直接使用链的钱包生成一个新地址,然后在平台购买 ETH,将 ETH 转入该地址,其他公链选择购买其他 gas 代币即可。 接下来,在以太坊上,可以使用 Remix 或者其他 IDE 就可以先编写代码、再编译代码,随即向链上部署合约,类似 Remix 这一类的 IDE 都有支持的相应网络、语言以及钱包,访问相对应的网络简易方便。dApp 还需要开发用户端页面,大部分前端会通过唤起钱包来访问链进行相关操作。 在这个使用过程中我们可以发现的是,无论是开发工具、还是链的 RPC、钱包或者使用 IDE 等部分,都会使用开源工具,开放平台,几乎不需要认证和许可,这也代表了非许可链最大的特点:公共和开放。 这是在非许可链上开发 dApp 的过程。 当我们实践的过程中还会明显发现,除了获取许可部分外,后期在链的部分,因为开源工具和开放特性,开发与链相关的流程会有一定通用性。 开发应用是加入区块链的普通形式,且这个形式目标是开发应用。更高一层的方式是接入区块链,成为链的一部分,为外部需求提供资源,同样在不同的链上,获得许可上有很大的不同。 在非许可链中,成为节点的时候,一般会对不同功能的节点有区分和要求,例如要求硬件的算力、存储空间等,不同要求是为了执行不同任务。 在以太坊还在 1.0 阶段时,参与挖矿就是以节点身份加入,其完成的是使用硬件的计算能力参与 PoW 计算以对网络总状态进行验证和存储。此时要求 GPU 能力,而在以太坊进入 2.0 后,硬件要求下降,但会选择执行客户端和验证客户端,不同客户端执行不同的网络需求。 以节点身份加入网络代表的是对链的决策能力的提高,而一般开发应用因成本问题是不会选择搭建节点的。 在以太坊这样全匿名的、有原生代币的公链上,只要满足硬件要求,不需要进行入网身份的许可,使用的全程依旧可以匿名。 相比于以太坊的节点加入过程,许可链的节点加入,只会多一个验证节点许可的过程,但也许会因自建节点对用户体验更有益的原因而为。目前有部分许可链会通过这样的方式来实现基础设施业务的再分配。 在加密货币的行业里,大部分从业者也许会把区块链和加密货币混淆为一谈,但如果把加密货币仅作为区块链大行业的一部分后,对比全球存在所有区块链,我们是可以对多种细分特性的区块链进行开放程度评判的,基于如下两个要素的程度高低大小可以进行区分: 要素为: 数据开放程度 权限许可 将两个评判要素的阶段继续详细拆分为: 数据开放: 数据完全公开 数据选择性公开 数据不公开 权限开放: 完全开放 匿名开放业务节点 实名开放验证节点 实名开放业务节点 仅对许可成员开放验证节点接入 仅对许可成员开放业务接入 当通过这样详细的区分后会发现,即便是在倡导全部去中心化的加密货币行业里,也许存在着很多权限并不开放的链和应用。尤其是如今为了筛选空投用户,大部分链和应用穷其所能将链上用户分级,几乎违背无需许可的原则。 一个链或平台究竟对外处于一个什么样的开放程度,在市场发展规则的推动下,越开放意味着更大的规模预期,而在技术上看,越开放普世化越高,在底层规则上就要配合更广泛的兼容适应能力。 这也直接会关联一个区块链与 dApp 在业务和对外表现的原则性。例如当一个链对验证节点的加入没有限制,那就意味着加入后要用规则实现其长久持续的为网络服务,这也是为什么公链会推行挖矿和代币激励。保证开放同时也必然要在规则内解决作恶与稳定性问题。 以上,就是在对区块链和 dApp 进行拆解判定最基础的逻辑,并不涉及因为业务场景而为应用和链带来的不同,Crypto 有牛熊,区块链技术没有牛熊。包含关系
详细拆解和对比
当我们的目标是开发一个 dApp 时
当我们的目标是加入区块链时
评判要素