浅谈区块链和DAPP的运行机制
首先简单介绍下区块链的运行机制。
我们假设一条区块链(公链或者联盟链)开辟了那一个新的节点加入,那么这个节点如何加入这条区块链进行工作?从原理来看,一个新的节点加入,首先要找到这条链的不同node 启动节点【注1】,这个node启动节点就可以协助新节点与周围的节点建立联系。以太坊为例,如果一个新的节点希望加入以太坊网络,需要和周围25个节点建立起相邻节点的关系,系统会自动建立。如果碰到这个node 启动节点,无法为新节点关联25个相邻节点,那这些相邻的节点又会帮你推荐它相邻的节点让你能够连接足够的节点。
当新节点和周围的节点建立联系之后,系统指令会让新节点自动获取这些相邻节点的数据,并且重新执行一遍。这么做原因是什么呢?主要是因为区块链共识机制在起作用。在人类社会共识机制来源于信任,而在区块链的世界共识机制则是来源于代码。节点之间不存在相互信不信任的问题,相邻节点的数据重新给它执行一遍、重新验证一遍、重新计算一遍,完全以结果为准。一个新的全节点的加入,对于体量庞大的公链来说,要耗费的时间也会比较长。以太坊为例,一个以太坊的全节点要加入到以太坊的网络当中,光是数据同步工作,至少需要一个星期以上。当然相对于全节点【注2】,以太坊里面还有一些轻节点【注3】,仅需存储部分数据,速度就非常快。轻节点一般适用于部分区块头、一些重要账户哈希、和区块内容的哈希等。轻节点本身是不需要去执行这些数据的,对于区块链的这个广播关系来说,其实轻节点发生的这个作用并不是很大。
准确来说这两张显卡还算不上是节点,只能算是以太坊某个节点里面的计算单元,因为这两张显卡智能处理部分少量的数据,无法完全承载节点的功能。比如说你的显卡设备加入了一个矿池,矿池将计算任务派给了你设备所在的节点,而节点又将其中一段数据给你进行计算,计算完成之后,你再返还给节点。
说完区块链的运行方式之后,那么DAPP又是怎么运行的?
首先来说说DAPP的概念。DAPP是英文Decentralized Application的缩写,直译为分散式的应用程序,正常理解意思为去中心化应用。其实广义上来说,采用到了区块链技术的应用程序都叫DAPP,它并没有改变应用程序存在的方式,不会因为这个Android程序因为使用了区块链技术就变成了iOS程序。
或许在大家的印象里,DAPP的运行,肯定是直接和我们区块链的网络相连了,甚至是直接和我们的区块链的这些全节点相连的,但是实际上却不一定是这样。由于区块链的这些全节点(尤其是以太网),它的速度非常慢,而且网络带宽非常差。如果我们的DAPP直接去连接这些区块链的这些节点,使用体验将会非常糟糕。但是实际上我们接触到的这些DAPP体验虽然算不上优秀,但是也算不上太差,这是因为这些DAPP都是在这个以太坊的全节点的基础之上,再加了一台服务器,然后供你架设这个DAPP。
究其原因,是因为DAPP中会有许多图片、文字甚至是音频视频,这样对以太网来说压力山大,用户不是特别重要的内容,都是存在这个服务器上的。所以说你看到的这个以太坊上的这些接口,其实就是由全节点对接这个服务器的API接口,然后服务器再支持你的DAPP。所以说现在的DAPP是经过服务器来调节的。这也是为啥我们现在的一些应用还需要运维,比如熟知的imtoken,不运维它会宕机。包括我们的炼油。当然炼油就更甚了,都是完全运转在自己的服务器上,只有一些通证需要交互的时候再把它丢掉,再把它丢到这个公链的节点上来进行交互。
如果科技发展到无需担心链上速率问题的时候,那这个DAPP就可以直接对接公链的几个圈节点,宕机的问题就不再是问题了,也不存在其他地方的IP无法访问的这些问题了。可以说到那个时候,就真正真的是区块链的天下了,而那个时候不会遥远了,6G网络能基本满足这些要求。
注2:全节点是是拥有完整区块链账本的节点,全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。
注3:轻节点就是直接考虑用户,能够根据需求来获得全节点部分状态,满足用户的功能需求。
来源:变量数字化研究院
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。