hyperledger-archives / sawtooth-pbft Goto Github PK
View Code? Open in Web Editor NEWSawtooth PBFT consensus engine
Home Page: https://wiki.hyperledger.org/display/sawtooth
License: Apache License 2.0
Sawtooth PBFT consensus engine
Home Page: https://wiki.hyperledger.org/display/sawtooth
License: Apache License 2.0
I've been noticing an issue when using PBFT consensus and hoped I could find some help here.
When two different nodes attempt to write different blocks at very similar times, one node will beat the other, and the other node will fail to write a block. That is expected, but then the node that failed to write a block will report this failed to cancel block error:
INFO | pbft_engine::node:47 | Failed to cancel block when becoming secondary: InvalidState("Cannot cancel block in current state")
This leads to the pbft engine behaving irregularly and eventually crashing.
When the pbft engine eventually crashes, it will state there has been a zmq error which states socket dropped
with little other context.
Before the crash it is unable to properly use consensus.
Other nodes may also crash when this failure state is met, even though they did not fail to write a block.
Stopping and rebuilding the docker containers tends to fix this issue, but it is concerning that it occurs at all, and that other nodes fail that did not enter this error state.
I realized that the nodes I am running are running pfbt engine version 1.0.2, and I am planning on upgrading to the latest version. However, I'm uncertain if that will prevent this issue from happening again. I so far have not been able to consistently replicate the issue as it is a specific timing error that occurs when two nodes are attempting to write a block at very similar times. However, I have seen it occur multiple times and am concerned about pbft's stability.
Is it possible to implement faulty or slow nodes with Sawtooth for testing purposes (and especially with PBFT consensus protocol)?
Hello everyone,
I am running a 4-node hyperledger sawtooth network with pbft consensus. After a while the network is not processing any new transactions and the pbft component constantly prints the following error:
Couldn't find 2f commit messages in the message log for building a seal
Does anybody know any possible reason why there are so many faulty nodes that the primary node can't agree to commit the transaction?
The production environment is stuck two days now because of this ERROR.
Hello everyone, I am trying to implement a custom PBFT based consensus Node. But while going through the official document, i encountered with the below error,
same thing is happening with the command sudo apt-get install -y sawtooth sawtooth-pbft-engine
I am using AWS Ubuntu instance on windows. Can you please guide me how can I solve this issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.