时间:2023-07-05|浏览:175
首先,让我们简单介绍一下区块链的运行机制。假设一条区块链(公链或联盟链)有一个新节点要加入,那么这个节点应该如何加入并开始工作呢?基本原理是,新节点首先要找到这条链中的一个启动节点,这个启动节点会帮助新节点与周围的节点建立联系。以太坊为例,如果一个新节点想要加入以太坊网络,它需要与周围的25个节点建立相邻关系,系统将自动进行这个过程。如果启动节点无法为新节点建立足够的相邻节点连接,周围的节点将帮助推荐其他相邻节点以确保连接足够数量的节点。
新节点和周围节点建立联系后,系统会让新节点自动获取这些相邻节点的数据并“院长,我有两张显卡,开机后就可以进行挖矿了,这两张显卡是不是节点?”准确来说,这两张显卡并不能算是节点,它们只能算是以太坊某个节点中的计算单元,因为这两张显卡只能处理少量数据,无法完全承载节点的功能。比如,你的显卡设备加入了一个矿池,矿池将计算任务分配给你设备所在的节点,节点再将部分数据交给你进行计算,计算完成后,你再将结果返还给节点。
在介绍了区块链的运行方式之后,接下来我们来说说DAPP是如何运行的。先来了解一下DAPP的概念。DAPP是Decentralized Application的缩写,直译为分散式的应用程序,通常理解为去中心化应用。广义上来说,应用了区块链技术的应用程序都可以称为DAPP,这并不改变应用程序的存在方式,使用区块链技术的Android应用程序也不会因此变成iOS应用程序。
也许大家认为DAPP的运行方式是直接与我们的区块链网络相连,甚至是直接与区块链的全节点相连,但实际上情况并不一定如此。由于区块链的全节点(尤其是以太坊)速度非常慢,网络带宽也很差,如果我们的DAPP直接连接这些区块链节点,用户体验将非常糟糕。然而,我们接触到的这些DAPP的体验虽然不算太好,但也不会太差,这是因为这些DAPP在以太坊全节点的基础上,还加了一台服务器,供我们部署DAPP。这么做的原因是因为DAPP中可能包含许多图片、文字甚至是音频视频等内容,对以太坊来说,处理这些内容的压力非常大,因此这些不太重要的内容存储在服务器上。所以,我们看到的以太坊接口实际上是全节点与服务器的API接口进行连接,服务器提供对DAPP的支持。这就是为什么现在的一些应用还需要运维的原因,比如imtoken,如果不进行运维,它就会宕机。还有我们的炼油,更是完全依赖自己的服务器运行,只有在需要与通证交互时才与公链节点进行交互。
如果技术发展到不再需要担心链上速率问题的阶段,DAPP就可以直接连接公链的几个全节点,不再有宕机和其他地方无法访问的问题。可以说,在那个时候,区块链真正占据主导地位,而那个时候也不会太遥远了,6G网络基本能满足这些要求。
注1:节点指的是区块链网络中的计算机设备,包括手机、矿机和服务器等,不同设备可能扮演不同的角色。node启动节点是指具备node启动命令和文件的节点。 注2:全节点是拥有完整区块链账本的节点,它需要占用内存来同步所有的区块链数据,能够独立验证区块链上的所有交易并实时更新数据,主要负责区块链交易的传播和验证。 注3:轻节点是根据用户需求获取全节点部分状态的节点,以满足用户的功能需求。
来源:变量数字化研究院