Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为什么PBFT需要View Changes | Go语言充电站 #87

Open
Shitaibin opened this issue Aug 22, 2020 · 7 comments
Open

为什么PBFT需要View Changes | Go语言充电站 #87

Shitaibin opened this issue Aug 22, 2020 · 7 comments

Comments

@Shitaibin
Copy link
Owner

https://lessisbetter.site/2020/03/22/why-pbft-needs-viewchange/

前言在当前的PBFT资料中,尤其是中文资料,多数都在介绍PBFT的3阶段消息过程,很少提及View Changes(视图切换),View Changes对PBFT的重要性,如同Leader Election对Raft的重要性,它是一个一致性算法中,不可或缺的部分。 作者为大家介绍下,为什么View Changes如此重要,即为什么PBFT需要View Changes,以及View Changes的

@elvin-du
Copy link

view-change-ack是必须的吗?v+1的视图下,主节点收到足够的view-change,因为view-change有签名,主节点就可以自己验证了,为什么还需要ack消息

@elvin-du
Copy link

new-view消息本身也必须要经过三阶段共识吗?new-view不是包含了2f+1个viewchange消息吗?backup节点收到了new-view消息,验证view-change的签名不一样可以吗?

@Shitaibin
Copy link
Owner Author

@elvin-du
view-change-ack是必须的吗?v+1的视图下,主节点收到足够的view-change,因为view-change有签名,主节点就可以自己验证了,为什么还需要ack消息

view-change-ack的目的在于让新主节点知道其他副本节点也收到了view-change消息,而不是新主节点收到了足够数量的view-change消息就切换,而不关心其他副本节点有没有收到

@Shitaibin
Copy link
Owner Author

@elvin-du
new-view消息本身也必须要经过三阶段共识吗?new-view不是包含了2f+1个viewchange消息吗?backup节点收到了new-view消息,验证view-change的签名不一样可以吗?

见这一节:https://lessisbetter.site/2020/03/22/why-pbft-needs-viewchange/#2001%E5%B9%B4%E7%89%88%E6%9C%ACView-Changes%E5%8D%8F%E8%AE%AE%E5%8E%9F%E7%90%86

@FireIcegentleman
Copy link

你好,图片挂掉了

@Shitaibin
Copy link
Owner Author

@FireIcegentleman
你好,图片挂掉了

其实没有挂,图片是http链接的,但域名是https的,chrome禁止加图片了,换个浏览器就行

@FireIcegentleman
Copy link

FireIcegentleman commented Dec 8, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants