我将实现一个实用的拜占庭容错(PBFT)。在
因此,我将有多个进程,P0将通过发送第一条消息来初始化一轮。在
是否可以使用ZeroMQ向所有其他进程广播消息?在
使用PUB/SUB
,我需要绑定/连接套接字。但我将以进程数为参数,连接所有其他端口似乎不切实际(我不知道这是否可能?!)。我不能写任何代码,因为我困在一开始。在
基本上,如果我找到连接流程的方法,我会这样做:
提议者选择一个随机消息m并将其发送给所有验证器。 收到消息后,每个验证器将消息发送给其他验证器和提议者。 如果一个验证器(或提议者)从另一个收到至少2k条消息 与自身进程相同的进程将继续进行下一个进程 一致性的轮算法。在
还有一个补充:进程之间将直接通信。但是用REQ/REP连接到所有其他进程套接字并不明智。在
当然,是的
这正是所有消息传递和信令工具(如ZeroMQ、nanomsg和其他工具)的开发目的。在
PBFT的妙处和诀窍在于,应该存在零个奇异点,应该存在吗?在
所以,任何其他的方法,除了循环消息被一个接一个地发送和传递之外,都无助于PBFT,对吗?在
请随意绘制解决方案,端口映射将不是您在这方面的主要问题。ZeroMQ可以非常灵活地
.bind()
/.connect()
。如果端口确实是一种稀缺的资源,人们甚至可以以类似的循环方式创建一个临时的、非持久的连接设置,那么请鼓起勇气去完成它:o)
相关问题 更多 >
编程相关推荐