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

交易广播问题 #1780

Closed
benbaley opened this issue May 13, 2021 · 5 comments
Closed

交易广播问题 #1780

benbaley opened this issue May 13, 2021 · 5 comments
Assignees
Labels
feature New feature or request

Comments

@benbaley
Copy link
Member

System information

PlatON version: v1.0.0
OS & Version: Windows/Linux/OSX

Expected behaviour

正常情况下,用户发起的交易应该在10-30秒内覆盖网络中95%节点

Actual behaviour

按当前交易广播策略,实际情况,交易扩散性并没有那么好
image

Steps to reproduce the behaviour

单账户连续发交易

Backtrace

@benbaley benbaley added the feature New feature or request label May 13, 2021
@niuxiaojie81
Copy link
Contributor

目前的广播策略:当交易验证通过进入pending池后,当前节点随机选取不超过5名的对端节点广播该笔交易。如果同一账户向不同的节点连续发送多笔交易,基于上述的策略,可能造成不同的节点收到不同nonce的交易,且都不连续。

@niuxiaojie81
Copy link
Contributor

修改交易广播策略:当交易验证通过进入pending池后,当前节点随机选取不超过5名的对端节点广播该笔交易,同时向其余节点广播txhash,其余节点如果没有该笔交易,通过txhash主动向发送方同步交易。

@sweetdogLi
Copy link

增加逻辑:通过交易hash同步交易,并把最大对端节点数扩大到8,从而解决该问题

@benbaley
Copy link
Member Author

压测结果现实, 在交易量到4000笔/秒的场景下,节点流量较0.15.0版本提升了10%~20%, 正常情况下(tps100以下)流量影响不大,不会超过10%

@benbaley
Copy link
Member Author

close by done

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

No branches or pull requests

3 participants