网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月20日漏签0天
智慧链吧 关注:2,601贴子:241
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 2回复贴,共1页
<<返回智慧链吧
>0< 加载中...

Wisdom Public Chain(WDC)公链P2P网络结构设计浅析说明

  • 只看楼主
  • 收藏

  • 回复
  • 智慧链技术社区
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

P2P,也就是peer to peer,翻译过来是点对点的意思,这是一种对等网络结构,我们知道,在网络中的服务系统,很多都是服务器-客户端模式,也就是说某些节点是充当服务器的角色,这些服务器对外公布接口地址以及服务调用方式,而其他的客户端可以通过调用这些接口来完成一些工作,在这种模型下,服务者和调用者并不是一种平等的结构设计,如果服务器出了问题或者拒绝服务,客户端就什么也干不了了,其结构如下:

(服务器-客户端)


  • 智慧链技术社区
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如上图所示,服务器是提供功能服务的唯一的中心,这种结构的风险也是显而易见的,那就是如果这个服务器有任何问题,则网络服务随即停止。与此相对的是点对点的网络结构,在这种网络结构中,没有一个专门的服务器,每个节点都可以是服务器,每个节点也都是客户端,其大概的网络结构如下所示:

(点对点结构)


2025-05-20 01:56:48
广告
  • 智慧链技术社区
  • 核心吧友
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如上图所示,每个节点都既充当服务器也充当客户端,在这样的一个网络结构中,没有一个专门的服务器,节点可以任意加入也可以任意退出,不存在单点故障。当然,为此也就有了新的问题:
1)、没有明确的服务器,节点如何互相连成网络
2)、如何确保节点间数据的传递安全
对于第一个问题,涉及到P2P网络中节点发现的机制,其大概是这么一个过程:
1)、网络中设置部分种子节点,用于节点的初始连接
2)、节点对自己已有的邻居节点进行访问,获得更新的其他节点的连接信息
3)、保持一个更新频率,保证自己总是能与部分节点进行连接
通过这三个步骤,基本就可以部署一个P2P网络了,然而,节点之间的互相发现并不只是随机的进行选择连接,还可以有其他结构化的方案,比如:
1)、将本节点与邻居节点之间的IP地址进行一个异或计算,计算出距离,从而将邻居节点根据距离进行一个结构化,组织成比如一棵二叉树,通过这种机制,可以尽可能将离自己近的节点加入到邻居节点中
2)、将邻居节点按照IP地址的哈希值,映射到一个圆环上,这种做法在分布式集群的一致性哈希的场合比较常用,也是一种对节点的管理方式
需要注意的是,因为任何一个节点都不是服务器配置,因此是不能假设邻居节点总是能连接上的,所以需要一个心跳过程来进行连接的保活,还需要注意的是,在P2P网络中,是通过一个数据协议来进行节点身份的鉴别的,只要节点能够提供符合协议的通信数据,就会被认为是一个合法的节点,即便对方是伪装的,这就带来一个问题,怎么确保P2P网络中通信的安全性。
对于区块链系统来说,这里有几个原则,如下:
1)、P2P网络中只能验证数据是否有效处理,而不能验证是否无效
2)、尽量少设计内部触发的合约程序
3)、尽量分布网络中的流量
对于第一点,很好理解,比如WDC公链,如果某条交易事务广播后,由于种种原因,一直没有被打包,这并不一定是公链的问题,而可能是本机节点所在的网络被阻隔或者其他什么原因,此时这条广播出去的事务到底还会不会被处理,什么时候算是撤销,这是不能被验证的,但是我们可以观察若干区块比如观察12个区块,若还是没有被打包,则可以认为本条事务没有被验证为有效,但是不能说一定无效,大家一定要注意这块的理解。
第二点,对于图灵完备的智能合约系统,或者说对于一个可以灵活编程的智能合约系统,一定是不安全的,很简单,因为没有人能够不出错,当合约程序复杂一些的时候,其可能存在的隐患和漏洞,很难被完整的检测出来,而智能合约的虚拟机执行系统,在出错的时候,遇到内部处罚的程序出错,大概率会导致资产损失,因此WDC公链完全避免了这种设计。
第三点,这个也很好理解,当p2p网络系统设计的比较中心化的时候,就不能保证足够的安全性了,比如共识节点只有若干个超级节点,这样的网络系统通常是无法持续运行的,随着时间的推移,很难保证超级节点一直能够很好的持续服务,分布的才是安全的,在资产安全面前,性能和易用性都可以打折扣,唯独安全性不能打折扣。
以上是对P2P网络模块的一些解构,后续会继续进行深度的阐述,让大家理解WDC公链的网络模块设计。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回智慧链吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示