frozen
8bd505e78f
in progress.
2 years ago
frozen
38f5437eda
Fix review comments.
2 years ago
frozen
26dbb8d9df
Rotate leader.
2 years ago
frozen
91ecc7367b
check leader for N blocks
2 years ago
frozen
35b72d5c1f
fix leader
2 years ago
frozen
0e1a1667e2
consensus check is forked
2 years ago
frozen
85dd4acfba
in progress.
2 years ago
Casey Gardiner
7ab8be3377
Release Candidate: dev -> main ( #4319 )
...
* Rebase dev branch to current main branch (#4318 )
* add openssl compatibility on m2 chips using darwin (#4302 )
Adds support for OpenSSL on MacOS Ventura using m2 chips.
* [dumpdb] ensure each cross link is dumped (#4311 )
* bump libp2p to version 0.24.0 and update its dependencies and relevant tests (#4315 )
* Removed legacy syncing peer provider. (#4260 )
* Removed legacy syncing peer provider.
* Fix localnet.
* Fix migrate version.
* Rebased on main.
* Fix formatting.
* Remove blockchain dependency from engine. (#4310 )
* Consensus doesn't require anymore `Node` as a circular dependency.
* Rebased upon main.
* Removed engine beacon chain dependency.
* Fixed nil error.
* Fixed error.
* bump libp2p to version 0.24.0 and update its dependencies and relevant tests
* fix format, remove wrongly added configs
* add back wrongly deleted comment
* fix travis go checker
Co-authored-by: Konstantin <355847+Frozen@users.noreply.github.com>
Co-authored-by: “GheisMohammadi” <“Gheis.Mohammadi@gmail.com”>
* bump libp2p to version 0.24.0 and update its dependencies and relevant tests (#4315 )
* Removed legacy syncing peer provider. (#4260 )
* Removed legacy syncing peer provider.
* Fix localnet.
* Fix migrate version.
* Rebased on main.
* Fix formatting.
* Remove blockchain dependency from engine. (#4310 )
* Consensus doesn't require anymore `Node` as a circular dependency.
* Rebased upon main.
* Removed engine beacon chain dependency.
* Fixed nil error.
* Fixed error.
* bump libp2p to version 0.24.0 and update its dependencies and relevant tests
* fix format, remove wrongly added configs
* add back wrongly deleted comment
* fix travis go checker
Co-authored-by: Konstantin <355847+Frozen@users.noreply.github.com>
Co-authored-by: “GheisMohammadi” <“Gheis.Mohammadi@gmail.com”>
* Fix for consensus stuck. (#4307 )
* Added check for block validity.
* Starts new view change if block invalid.
* Revert "Starts new view change if block invalid."
This reverts commit e889fa5da2e0780f087ab7dae5106b96287706db.
* staged dns sync v1.0 (#4316 )
* staged dns sync v1.0
* enabled stream downloader for localnet
* fix code review issues
* remove extra lock
Co-authored-by: “GheisMohammadi” <“Gheis.Mohammadi@gmail.com”>
* add description for closing client and change randomize process to ma… (#4276 )
* add description for closing client and change randomize process to make sure only online nodes are added to sync config
* fix sync test
* fix legacy limitNumPeers test
* add WaitForEachPeerToConnect to node configs to make parallel peer connection optional
Co-authored-by: “GheisMohammadi” <“Gheis.Mohammadi@gmail.com”>
* Small fixes and code cleanup for network stack. (#4320 )
* staged dns sync v1.0
* enabled stream downloader for localnet
* fix code review issues
* remove extra lock
* staged dns sync v1.0
* Fixed, code clean up and other.
* Fixed, code clean up and other.
* Fixed, code clean up and other.
* Fix config.
Co-authored-by: “GheisMohammadi” <“Gheis.Mohammadi@gmail.com”>
* Fix not disable cache in archival mode (#4322 )
* Feature registry (#4324 )
* Registry for services.
* Test.
* Reverted comment.
* Fix.
* Slash fix (#4284 )
* Implementation of new slashing rate calculation
* Write tests for then new slashing rate calculation
* Add engine.applySlashing tests
* fix #4059
Co-authored-by: Alex Brezas <abresas@gmail.com>
Co-authored-by: Dimitris Lamprinos <pkakelas@gmail.com>
* Bump github.com/aws/aws-sdk-go from 1.30.1 to 1.33.0 (#4325 ) (#4328 )
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go ) from 1.30.1 to 1.33.0.
- [Release notes](https://github.com/aws/aws-sdk-go/releases )
- [Changelog](https://github.com/aws/aws-sdk-go/blob/v1.33.0/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.30.1...v1.33.0 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump github.com/btcsuite/btcd from 0.21.0-beta to 0.23.2 (#4327 ) (#4329 )
Bumps [github.com/btcsuite/btcd](https://github.com/btcsuite/btcd ) from 0.21.0-beta to 0.23.2.
- [Release notes](https://github.com/btcsuite/btcd/releases )
- [Changelog](https://github.com/btcsuite/btcd/blob/master/CHANGES )
- [Commits](https://github.com/btcsuite/btcd/compare/v0.21.0-beta...v0.23.2 )
---
updated-dependencies:
- dependency-name: github.com/btcsuite/btcd
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Max <82761650+MaxMustermann2@users.noreply.github.com>
Co-authored-by: Gheis <36589218+GheisMohammadi@users.noreply.github.com>
Co-authored-by: Konstantin <355847+Frozen@users.noreply.github.com>
Co-authored-by: “GheisMohammadi” <“Gheis.Mohammadi@gmail.com”>
Co-authored-by: Danny Willis <102543677+dannyposi@users.noreply.github.com>
Co-authored-by: PeekPI <894646171@QQ.COM>
Co-authored-by: Alex Brezas <abresas@gmail.com>
Co-authored-by: Dimitris Lamprinos <pkakelas@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Konstantin
8ee11600ac
Feature registry ( #4324 )
...
* Registry for services.
* Test.
* Reverted comment.
* Fix.
2 years ago
Konstantin
29bcc0c48b
Consensus accepts blockchain as a parameter. ( #4296 )
...
* Consensus doesn't require anymore `Node` as a circular dependency.
* Proper blockchain initialization.
* Removed double initialization.
2 years ago
Konstantin
20ee0e0404
Decider no longer requires public keys as a dependency. ( #4289 )
2 years ago
Max
2afaeb9f94
[consensus] log block verification error ( #4243 )
2 years ago
Konstantin
06de7dcd6c
Fix race errors. ( #4184 )
...
* Fix data races.
* Fix block num.
* Pub key lock.
* Fixed race errors.
* Fix flag.
* Fix comments.
* Fix comments.
* Fix type.
* Fix race errors in tests.
Co-authored-by: Konstantin <k.potapov@softpro.com>
2 years ago
Konstantin
4eabc120b1
Blockchain interface. ( #4214 )
...
* Blockchain interface.
* Fix comments, remove unused.
Co-authored-by: Konstantin <k.potapov@softpro.com>
2 years ago
Konstantin
7a8e5d468c
Feature 4160 beacon crosslink signal. ( #4169 )
...
* Sending crosslinks from beacon to non-beacon chains.
* Sending crosslinks from beacon to non-beacon chains.
* Broadcast.
* Fix comment.
* Crosslink signal.
* Crosslink signal.
* Add comment to run tests.
* Fix comments.
* Fix comments.
* Fix review comments.
* Fix comments.
* Fix comments.
Co-authored-by: Konstantin <k.potapov@softpro.com>
3 years ago
Rongjian Lan
471af49477
add logic to verify blocks in announce phase ( #3897 )
...
* add logic to verify blocks in announce phase
* add block data in announce message
3 years ago
Lutty
faacc7c091
rebase code
3 years ago
Rongjian Lan
a03a17ce45
clean up and todos
4 years ago
Rongjian Lan
c87c7f8cb4
avoid repeated block verification
4 years ago
Jacky Wang
312843e5a1
[stream] added downloader / consensus interface
4 years ago
Leo Chen
85ea84715f
[prometheus] add blskeys metric
...
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Leo Chen
e1c528e9ff
[prometheus] init pushgateway support
...
* add prometheus.gateway flag support
* instance: peerid
* job: network_type/shard
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Rongjian Lan
c334d27b2d
make finalCommit in the same thread as consensus
4 years ago
Rongjian Lan
628174b379
fix block proposal
4 years ago
Rongjian Lan
4aef0f4132
do not sent committed at 67%
4 years ago
Rongjian Lan
3ba4620431
clean up code
4 years ago
Rongjian Lan
49d7985f14
some more logic cleanup
4 years ago
Rongjian Lan
9d95b9844d
rename ChainReader to Blockchain
4 years ago
Rongjian Lan
611448a0a1
pipelining wireframe
4 years ago
Rongjian Lan
af8fe283db
Add more comments and shorten timeout
4 years ago
Jacky Wang
7801a1d678
[consensus][sync] Better coordination between state sync and consensus module. ( #3352 )
...
* [rawdb] add error handling to all rawdb write. Add fdlimit module. Fix the node stuck
* [core] switch back the batch write condition in InsertReceiptChain
* [rawdb] add error handling to all rawdb write. Add fdlimit module. Fix the node stuck
* [consensus] refactored and optimized tryCatchup logic
* [sync] added consensus last mile block in sync.
* [consensus] remove time wait for consensus inform sync. Make block low chan a buffered chan
* [consensus] fix rebase errors, and optimize one line code
* [consensus][sync] fix golint error and added prune logic in sync
* [consensus] move header verify after adding FBFT log in onPrepared
* [consensus] more change on block verification logic
* [consensus] fix the verified panic issue
* [consensus][sync] add block verification in consensus last mile, change it to iterator
* [consensus] fix two nil pointer references when running local node (Still cannot find the root cause for it)
* remove coverage.txt and add to gitignore
* [consensus] add leader key check. Move quorum check logic after tryCatchup and can spin state sync
* [consensus] remove the leader sender check for now. Will add later
* [consensus] refactor fbftlog to get rid of unsafe mapset module. Replace with map
* [consensus] move the isQuorumAchived logic back. We surely need to check it before add to FBFTlog
* [consensus] remove the redundant block nil check
* [test] fix the consensus test
* [consensus] rebase main and fix stuff. Removed isSendByLeader
* [consensus] added logic to spin up sync when received message is greater than consensus block number
* [consensus] more changes in consensus. Remove some spin sync logic.
* fix error in main
* [consensus] change the hash algorithm of the FBFTLog to get rid of rlp error
* [consensus] use seperate mutex in FBFT message
* [consensus] change fbft log id to a shorter form. Added unit test case
4 years ago
Leo Chen
5d7693d318
fix travis checker
...
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Leo Chen
0ad38d2a1c
make viewchange variable private
...
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Leo Chen
45cc4d24a0
make view change struct private
...
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Leo Chen
096614eab1
address review comments
...
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Leo Chen
a229177945
[viewchange] rename view change files
...
[viewchange] new view change struct
move all view change data structure to a new viewchange struct
[viewchange] wrap functions in viewchange struct
[viewchange] newView process can not be reentrant
[viewchange] additional debug
[viewchange] always add m3 message to bitmap
[viewchange] shorten the duration for view change
[viewchange] further cleanup of onNewView func
[viewchange] add validpayloadlength const
[viewchange] only add m3 message if valid m1/m2 received
[viewchange] set next leader to any key
[viewchange] print more error message in log
[viewchange] get leader pubkey from coinbase
[viewchange] rename files back for easy review
[viewchange] fix nil pointer in getNextLeader
[viewchange] fix review comments
[viewchange] squash single used function
[viewchange] code re-org
[viewchange] clean up functions
[viewchange] minor typo fix
[viewchange] code clean up and more comments
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Rongjian Lan
10ca5433ac
Add tests for prepare and commit message construction
4 years ago
Rongjian Lan
dc24b3ad52
Basic multi-sig logic
4 years ago
Leo Chen
3693196926
[viewchange] rename SetCurViewID to SetCurBlockViewID
...
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Leo Chen
a551c05ed8
[rpc] expose consensus internal data via rpc
...
This is used to debug consensus/viewchange state.
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Rongjian Lan
79cf6afd37
revert multi-sig messaging code ( #3361 )
...
* revert multi-sig messaging code
4 years ago
Rongjian Lan
6845775078
Make block proposal async and receiving last commit sig through channel
4 years ago
Leo Chen
42923336c9
[viewchange] encapsulate both viewID and viewChangeID
...
[viewchange] encapsulate view ID in the State struct
do NOT ues consensus.current directory to set/get viewID
use the following functions
consensus.SetCurViewID, consensus.SetViewChangingID
consensus.GetCurViewID, consensus.GetViewChangingID
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Rongjian Lan
f42338c30b
Add back multi-sig support and fix the multi-sig check for harmony nodes ( #3337 )
...
* Revert "Revert "Add multi-sig merged messaging logic (#3300 )""
This reverts commit cbd11331b4
.
* Allow harmony nodes to sign multisig from multiple accounts
4 years ago
Rongjian Lan
a5fa880ae3
Revert "Add multi-sig merged messaging logic ( #3300 )" ( #3326 )
...
This reverts commit ecf151592e
.
4 years ago
Rongjian Lan
ecf151592e
Add multi-sig merged messaging logic ( #3300 )
...
* Revert "[go.mod] version upgrade of libp2p modules"
This reverts commit ce53468e3e
.
* Add multi-sig merged messaging logic
* fix view change signature issue
* support multi-sig consensus messages
* Add multi-sig support for slashing
* Fix bls mask issue in looping
* Fix multisig aggregation issue
* Make multisig bitmap setting atomic
* Fix for PR comments
* Update pb.go
* Revert "Update pb.go"
This reverts commit be625b80c0
.
* Resolve comments and fix slashing logic
* fix test
* revert slash logic change
* Add missing field in slash moment
* Fix comment
4 years ago
Rongjian Lan
a93c4c597d
Revert to use simple mutex
4 years ago
Rongjian Lan
9c0554ddc9
Use finer grained RWMutex for consensus logic ( #3239 )
...
* Use finer graned RWMutex for consensus logic
* Correct GOMAXPROCS to be the same as num CPUs
4 years ago
Leo Chen
b560f88978
[libp2p/consensus] p2p spamming defense
...
This is a big PR merged many small commits together.
We add the message validation function in libp2p layer.
In the validation function, we check the following conditions
1) the p2p message is a valid consensus message
2) the p2p message sender has a valid public key
3) the sender's public key is in the current committee
4) log the number of invalid/valid messages
After the validation, the valid messages will be forward to the network,
while the invalid messages will be filtered out.
The messages intended for the validator will be handled in the consensus layer.
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Rongjian Lan
8a08da67ca
Remove unused code and add benchmark for consensus msg check ( #3211 )
4 years ago