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

[R4R]Separate Processing and State Verification on BSC: add test cases for trust protocol #742

Merged
merged 1 commit into from
Jan 27, 2022

Conversation

keefel
Copy link
Contributor

@keefel keefel commented Jan 26, 2022

Motivation

The increasing adoption of BSC leads to a more active network. On the other hand, the node maintainer had a hard time keeping their node catching up with the chain. A new syncing protocol to lower the hardware requirement is an urgent need.

Currently a BSC node has two kinds of state world: MPT and snapshot. MPT(Merkle Patricia Tries) is a tree-structured state world. The key function of MPT is to generate the state root to ensure state consistency, while the query/commit on MPT is quite slow. Snapshot is a flattened key-value-based state world. Snapshot provides fast queries and commits. The storage size of the snapshot increases slowly even with a large transaction volume. Snapshot is usually used for block processing, while MPT is used for state verification.

In order to lower the hardware requirement and keep security, we introduce two type nodes to make full use of different storages, one is named fast node, and the other is named verify node. The fast node will do block processing with snapshot, it will do all verification against blocks except state root. The verify node receives diffhash from the fast node then responds MPT root to the fast node.

The fast node doesn’t need to store MPT, so the storage and computation requirement will be much lower.

Specification

Architecture

The network topology of the fast node and verify node:
topology

Fast node is a bsc client that does fullsync using only Snapshot and generates difflayer. It needs the confirm message from the verify node before freezing the blocks, it has to wait until it receives a confirm message from the verify node for the ancestor block before inserting new blocks.

Verify node is a normal bsc full node that does fullsync using Snapshot and MPT, generates difflayer. It receives diffhash from fast nodes, finds corresponding difflayer whose diffhash is matched, then it responds MPT root message to the fast node.

All the messages exchanged between fast node and verify node are based on the trust p2p protocol.

The relationship between the fast node and the verify node:
architecture

On the fast node side, for each inserted block, verify manager creates a verify task, the verify task submits the block’s diffhash to multiple trusted verify nodes, and receives response from them, once received the confirm message, the block has been verified.

On the verify node side, it receives requests from fast nodes, does corresponding processing and then responds to fast nodes immediately. The processing of diffhash finds difflayer from cache first, if not found then search from diff store, if still no difflayer found, then find from blockchain headers, this processing would be very quick.

Authentication

Fast node can only rely on trusted verify node, either deployed by the same developer or deployed by a trusted organization. We know the different peers will verify the peer id during the handshake, we will borrow this mechanism to do the authentication. We introduce VerifyNodes settings, which is a list of encoded addresses, the fast nodes only build connections(based on trust protocol) with VerifyNodes.

For organizations, they can deploy their own verified node.

For individual developers, they can connect to the verify node donated by the famous organization/validators.

Chain Tools

Implement a new prune command to prune all MPT storage.

Prototype verification

The performance improves x3 in fast node on mainnet.

Command

Fast Node

Introduce a new tries-verify-mode setting, there are four modes:

  • local: a normal full node;
  • full: state verification by verify node, full secure mode.
  • light: state verification by verify node, light secure mode.
  • insecure: no state verification.

If the fast node runs in not local mode, the node will disable diff protocol by default, If the fast node runs in full or light mode, the node will enable trust protocol by default.

./geth --config ./config.toml --datadir ./node --syncmode full --cache 5000 --tries-verify-mode light

Verify node

When a full node has enabled the trust protocol, it can serve as a verify node, at the same time, we will recommend you to enable persist diff, disable snap protocol and diff protocol when running a verify node.

./geth --config ./config.toml --datadir ./node --syncmode full --cache 5000 --persistdiff --enabletrustprotocol --disablesnapprotocol --disablediffprotocol

Prune tries node

Prune the tires node: ./geth snapshot insecure-prune-all --datadir ./node ./genesis.json

@unclezoro unclezoro merged commit 6fffa8e into bnb-chain:separate-node Jan 27, 2022
keefel added a commit to keefel/bsc that referenced this pull request Feb 14, 2022
j75689 pushed a commit to j75689/bsc that referenced this pull request Apr 13, 2022
j75689 added a commit that referenced this pull request Jun 1, 2022
[R4R] Separate Processing and State Verification on BSC
commit 73e6147
Merge: 84bb85c 2f2b98a
Author: cryyl <1226241521@qq.com>
Date:   Fri May 6 16:48:35 2022 +0800

    Merge remote-tracking branch 'bnb-chain/develop' into separate-node

commit 84bb85c
Author: zjubfd <296179868@qq.com>
Date:   Fri May 6 16:42:40 2022 +0800

    refine the description

commit cc1940c
Author: zjubfd <296179868@qq.com>
Date:   Fri May 6 16:38:59 2022 +0800

    change the flag description

commit e440880
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 02:17:24 2022 +0800

    fix TestFastNode

commit 4001f37
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 02:16:57 2022 +0800

    fix sorting difflayer.storage

commit e93cced
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 01:06:14 2022 +0800

    use NewTimer instead of time.After

commit f027818
Author: cryyl <1226241521@qq.com>
Date:   Thu May 5 19:10:52 2022 +0800

    fix to resolve comments

    Signed-off-by: cryyl <1226241521@qq.com>

commit ae3bdea
Author: cryyl <1226241521@qq.com>
Date:   Thu May 5 19:10:52 2022 +0800

    fix to resolve comments

    Signed-off-by: cryyl <1226241521@qq.com>

commit 2f2b98a
Merge: 0f5a4c8 55ef216
Author: zjubfd <296179868@qq.com>
Date:   Thu May 5 17:26:16 2022 +0800

    Merge pull request #888 from bnb-chain/develop

    [R4R] Release For BSC v1.1.10

commit 2dbc8c5
Merge: e9be0d4 0132f13
Author: realuncle <90668111+realuncle@users.noreply.github.com>
Date:   Wed May 4 21:37:55 2022 +0800

    Merge pull request #14 from node-real/separate-node-test

    close verifyTask when there is no valid peer and add UT tests

commit 0132f13
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Fri Apr 29 14:39:46 2022 +0800

    add UT tests

commit e9be0d4
Author: dean65 <dean950605@gmail.com>
Date:   Fri Apr 29 10:01:16 2022 +0800

    close verifyTask when length of verifyPeers is 0

commit 8929510
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 17:01:05 2022 +0800

    fix tests

commit 7490499
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 15:22:06 2022 +0800

    setup default validator for blockchain

commit ef3ec13
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 14:49:38 2022 +0800

    fix lint error

commit 4771d86
Merge: 5f22105 15bc254
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 14:36:59 2022 +0800

    Merge remote-tracking branch 'origin/develop' into separate-node

commit 5f22105
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 27 16:20:47 2022 +0800

    add unit-test for fastnode

commit 5a254c4
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 27 10:20:27 2022 +0800

    add interval when getting ErrSnapshotStale

commit b56c19c
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 26 11:18:03 2022 +0800

    fix diffhash issue

commit 0f5a4c8
Author: Leon <316032931@qq.com>
Date:   Mon Apr 25 10:47:02 2022 +0800

    [R4R]fix:Shift panic for zero length of heads (#870)

    * fix:Shift panic for zero length of heads

    * fix: make sure peek before shift

    * refactor and update ut

    * refactor

commit dfff219
Author: j75689 <j75689@gmail.com>
Date:   Mon Apr 25 10:25:23 2022 +0800

    fix close of closed channel issue

commit 3150755
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 16:29:41 2022 +0800

    fix log format

commit c840e7f
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 06:02:29 2022 +0800

    fix diffhash mismatch issue

commit 734d17f
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 06:01:23 2022 +0800

    fix gracefull shutdown issue

commit a73aad6
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 18:00:32 2022 +0800

    fix validateBody

commit 23913cf
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 17:53:52 2022 +0800

    remove unused code

commit 2e6c33b
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:52:24 2022 +0800

    don't need to send verify task when node start

commit e0cf707
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:48:47 2022 +0800

    remove unused code

commit c57fdd7
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:27:30 2022 +0800

    fix comments

commit 7ad4d02
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:13:51 2022 +0800

    Revert "change type of diffLayerChanCache to sync.Map"

    This reverts commit f8c6a4a.

commit 1e44aa6
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 17:54:37 2022 +0800

    fixup! rewind to last non verified block when restart fast node

commit 8c6d5a8
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 17:37:04 2022 +0800

    fixup! rewind to last non verified block when restart fast node

commit be53153
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 14:39:12 2022 +0800

    rewind to last non verified block when restart fast node

commit b3a701d
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 13:40:17 2022 +0800

    refactor block remote validation code

commit f8c6a4a
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 12:46:01 2022 +0800

    change type of diffLayerChanCache to sync.Map

commit 5675916
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 01:16:00 2022 +0800

    fixup! put difflayer into verifyManage cache when node restart

commit 34e8ce0
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 00:19:41 2022 +0800

    remove testing code

commit 161c467
Merge: b978ed3 1aeadc1
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 00:18:02 2022 +0800

    Merge branch 'develop' into fast-node-fix

commit b978ed3
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 13 18:40:49 2022 +0800

    put difflayer into verifyManage cache when node restart

commit 1aaab76
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Thu Apr 7 00:21:26 2022 +0800

    verify task get difflayer cache synchronously

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 74ecbf2
Merge: 859186f 1aeadc1
Author: zjubfd <296179868@qq.com>
Date:   Fri Apr 8 19:06:42 2022 +0800

    Merge pull request #850 from bnb-chain/develop

    [R4R] Release v1.1.9

commit 7b070c0
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Wed Mar 2 10:07:14 2022 +0800

    resolve comments

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 2ed75ab
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Tue Mar 1 13:58:20 2022 +0800

    add metrics

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit f7ef016
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Thu Feb 24 17:13:40 2022 +0800

    fast node verification and fix conflicts

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 1e46537
Merge: 6fffa8e 0ca4bc1
Author: zjubfd <296179868@qq.com>
Date:   Mon Feb 14 16:59:55 2022 +0800

    Merge pull request #763 from KeefeL/dev

    [R4R]Separate Processing and State Verification on BSC: sync develop branch

commit 0ca4bc1
Merge: 6fffa8e fed2f35
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Mon Feb 14 12:33:53 2022 +0800

    Merge branch 'develop' into separate-node

commit fed2f35
Author: KeefeL <90749943+KeefeL@users.noreply.github.com>
Date:   Thu Jan 27 16:50:59 2022 +0800

    testcases for trust protocol (#742)

commit 529e66e
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 25 21:18:56 2022 +0800

    fix misc bugs of verify node

commit 0405b68
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Fri Jan 21 18:17:06 2022 +0800

    generate diff layer by replaying block

commit 4905aab
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Thu Jan 20 15:22:06 2022 +0800

    testcases for getting root by diff hash

commit c6e8652
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 11 16:17:03 2022 +0800

    implement trust protocol and verify node

commit 359906c
Author: RealUncle <walt@nodereal.io>
Date:   Thu Dec 2 17:40:47 2021 +0800

    implement the framework of fast node

commit 859186f
Merge: 74f6b61 21a3b11
Author: zjubfd <296179868@qq.com>
Date:   Fri Jan 28 11:44:08 2022 +0800

    Merge pull request #743 from binance-chain/develop

    [R4R] Release v1.1.8

commit 6fffa8e
Author: KeefeL <90749943+KeefeL@users.noreply.github.com>
Date:   Thu Jan 27 16:50:59 2022 +0800

    testcases for trust protocol (#742)

commit 0b296e8
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 25 21:18:56 2022 +0800

    fix misc bugs of verify node

commit 6306002
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Fri Jan 21 18:17:06 2022 +0800

    generate diff layer by replaying block

commit 66dd9ea
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Thu Jan 20 15:22:06 2022 +0800

    testcases for getting root by diff hash

commit 885aeb9
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 11 16:17:03 2022 +0800

    implement trust protocol and verify node

commit 3f266bf
Author: RealUncle <walt@nodereal.io>
Date:   Thu Dec 2 17:40:47 2021 +0800

    implement the framework of fast node
j75689 added a commit that referenced this pull request Jun 1, 2022
[R4R] Separate Processing and State Verification on BSC

commit 73e6147
Merge: 84bb85c 2f2b98a
Author: cryyl <1226241521@qq.com>
Date:   Fri May 6 16:48:35 2022 +0800

    Merge remote-tracking branch 'bnb-chain/develop' into separate-node

commit 84bb85c
Author: zjubfd <296179868@qq.com>
Date:   Fri May 6 16:42:40 2022 +0800

    refine the description

commit cc1940c
Author: zjubfd <296179868@qq.com>
Date:   Fri May 6 16:38:59 2022 +0800

    change the flag description

commit e440880
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 02:17:24 2022 +0800

    fix TestFastNode

commit 4001f37
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 02:16:57 2022 +0800

    fix sorting difflayer.storage

commit e93cced
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 01:06:14 2022 +0800

    use NewTimer instead of time.After

commit f027818
Author: cryyl <1226241521@qq.com>
Date:   Thu May 5 19:10:52 2022 +0800

    fix to resolve comments

    Signed-off-by: cryyl <1226241521@qq.com>

commit ae3bdea
Author: cryyl <1226241521@qq.com>
Date:   Thu May 5 19:10:52 2022 +0800

    fix to resolve comments

    Signed-off-by: cryyl <1226241521@qq.com>

commit 2f2b98a
Merge: 0f5a4c8 55ef216
Author: zjubfd <296179868@qq.com>
Date:   Thu May 5 17:26:16 2022 +0800

    Merge pull request #888 from bnb-chain/develop

    [R4R] Release For BSC v1.1.10

commit 2dbc8c5
Merge: e9be0d4 0132f13
Author: realuncle <90668111+realuncle@users.noreply.github.com>
Date:   Wed May 4 21:37:55 2022 +0800

    Merge pull request #14 from node-real/separate-node-test

    close verifyTask when there is no valid peer and add UT tests

commit 0132f13
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Fri Apr 29 14:39:46 2022 +0800

    add UT tests

commit e9be0d4
Author: dean65 <dean950605@gmail.com>
Date:   Fri Apr 29 10:01:16 2022 +0800

    close verifyTask when length of verifyPeers is 0

commit 8929510
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 17:01:05 2022 +0800

    fix tests

commit 7490499
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 15:22:06 2022 +0800

    setup default validator for blockchain

commit ef3ec13
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 14:49:38 2022 +0800

    fix lint error

commit 4771d86
Merge: 5f22105 15bc254
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 14:36:59 2022 +0800

    Merge remote-tracking branch 'origin/develop' into separate-node

commit 5f22105
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 27 16:20:47 2022 +0800

    add unit-test for fastnode

commit 5a254c4
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 27 10:20:27 2022 +0800

    add interval when getting ErrSnapshotStale

commit b56c19c
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 26 11:18:03 2022 +0800

    fix diffhash issue

commit 0f5a4c8
Author: Leon <316032931@qq.com>
Date:   Mon Apr 25 10:47:02 2022 +0800

    [R4R]fix:Shift panic for zero length of heads (#870)

    * fix:Shift panic for zero length of heads

    * fix: make sure peek before shift

    * refactor and update ut

    * refactor

commit dfff219
Author: j75689 <j75689@gmail.com>
Date:   Mon Apr 25 10:25:23 2022 +0800

    fix close of closed channel issue

commit 3150755
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 16:29:41 2022 +0800

    fix log format

commit c840e7f
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 06:02:29 2022 +0800

    fix diffhash mismatch issue

commit 734d17f
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 06:01:23 2022 +0800

    fix gracefull shutdown issue

commit a73aad6
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 18:00:32 2022 +0800

    fix validateBody

commit 23913cf
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 17:53:52 2022 +0800

    remove unused code

commit 2e6c33b
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:52:24 2022 +0800

    don't need to send verify task when node start

commit e0cf707
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:48:47 2022 +0800

    remove unused code

commit c57fdd7
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:27:30 2022 +0800

    fix comments

commit 7ad4d02
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:13:51 2022 +0800

    Revert "change type of diffLayerChanCache to sync.Map"

    This reverts commit f8c6a4a.

commit 1e44aa6
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 17:54:37 2022 +0800

    fixup! rewind to last non verified block when restart fast node

commit 8c6d5a8
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 17:37:04 2022 +0800

    fixup! rewind to last non verified block when restart fast node

commit be53153
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 14:39:12 2022 +0800

    rewind to last non verified block when restart fast node

commit b3a701d
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 13:40:17 2022 +0800

    refactor block remote validation code

commit f8c6a4a
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 12:46:01 2022 +0800

    change type of diffLayerChanCache to sync.Map

commit 5675916
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 01:16:00 2022 +0800

    fixup! put difflayer into verifyManage cache when node restart

commit 34e8ce0
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 00:19:41 2022 +0800

    remove testing code

commit 161c467
Merge: b978ed3 1aeadc1
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 00:18:02 2022 +0800

    Merge branch 'develop' into fast-node-fix

commit b978ed3
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 13 18:40:49 2022 +0800

    put difflayer into verifyManage cache when node restart

commit 1aaab76
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Thu Apr 7 00:21:26 2022 +0800

    verify task get difflayer cache synchronously

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 74ecbf2
Merge: 859186f 1aeadc1
Author: zjubfd <296179868@qq.com>
Date:   Fri Apr 8 19:06:42 2022 +0800

    Merge pull request #850 from bnb-chain/develop

    [R4R] Release v1.1.9

commit 7b070c0
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Wed Mar 2 10:07:14 2022 +0800

    resolve comments

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 2ed75ab
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Tue Mar 1 13:58:20 2022 +0800

    add metrics

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit f7ef016
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Thu Feb 24 17:13:40 2022 +0800

    fast node verification and fix conflicts

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 1e46537
Merge: 6fffa8e 0ca4bc1
Author: zjubfd <296179868@qq.com>
Date:   Mon Feb 14 16:59:55 2022 +0800

    Merge pull request #763 from KeefeL/dev

    [R4R]Separate Processing and State Verification on BSC: sync develop branch

commit 0ca4bc1
Merge: 6fffa8e fed2f35
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Mon Feb 14 12:33:53 2022 +0800

    Merge branch 'develop' into separate-node

commit fed2f35
Author: KeefeL <90749943+KeefeL@users.noreply.github.com>
Date:   Thu Jan 27 16:50:59 2022 +0800

    testcases for trust protocol (#742)

commit 529e66e
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 25 21:18:56 2022 +0800

    fix misc bugs of verify node

commit 0405b68
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Fri Jan 21 18:17:06 2022 +0800

    generate diff layer by replaying block

commit 4905aab
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Thu Jan 20 15:22:06 2022 +0800

    testcases for getting root by diff hash

commit c6e8652
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 11 16:17:03 2022 +0800

    implement trust protocol and verify node

commit 359906c
Author: RealUncle <walt@nodereal.io>
Date:   Thu Dec 2 17:40:47 2021 +0800

    implement the framework of fast node

commit 859186f
Merge: 74f6b61 21a3b11
Author: zjubfd <296179868@qq.com>
Date:   Fri Jan 28 11:44:08 2022 +0800

    Merge pull request #743 from binance-chain/develop

    [R4R] Release v1.1.8

commit 6fffa8e
Author: KeefeL <90749943+KeefeL@users.noreply.github.com>
Date:   Thu Jan 27 16:50:59 2022 +0800

    testcases for trust protocol (#742)

commit 0b296e8
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 25 21:18:56 2022 +0800

    fix misc bugs of verify node

commit 6306002
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Fri Jan 21 18:17:06 2022 +0800

    generate diff layer by replaying block

commit 66dd9ea
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Thu Jan 20 15:22:06 2022 +0800

    testcases for getting root by diff hash

commit 885aeb9
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 11 16:17:03 2022 +0800

    implement trust protocol and verify node

commit 3f266bf
Author: RealUncle <walt@nodereal.io>
Date:   Thu Dec 2 17:40:47 2021 +0800

    implement the framework of fast node
j75689 added a commit to j75689/bsc that referenced this pull request Jun 15, 2022
[R4R] Separate Processing and State Verification on BSC

commit 73e6147
Merge: 84bb85c 2f2b98a
Author: cryyl <1226241521@qq.com>
Date:   Fri May 6 16:48:35 2022 +0800

    Merge remote-tracking branch 'bnb-chain/develop' into separate-node

commit 84bb85c
Author: zjubfd <296179868@qq.com>
Date:   Fri May 6 16:42:40 2022 +0800

    refine the description

commit cc1940c
Author: zjubfd <296179868@qq.com>
Date:   Fri May 6 16:38:59 2022 +0800

    change the flag description

commit e440880
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 02:17:24 2022 +0800

    fix TestFastNode

commit 4001f37
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 02:16:57 2022 +0800

    fix sorting difflayer.storage

commit e93cced
Author: dean65 <dean950605@gmail.com>
Date:   Fri May 6 01:06:14 2022 +0800

    use NewTimer instead of time.After

commit f027818
Author: cryyl <1226241521@qq.com>
Date:   Thu May 5 19:10:52 2022 +0800

    fix to resolve comments

    Signed-off-by: cryyl <1226241521@qq.com>

commit ae3bdea
Author: cryyl <1226241521@qq.com>
Date:   Thu May 5 19:10:52 2022 +0800

    fix to resolve comments

    Signed-off-by: cryyl <1226241521@qq.com>

commit 2f2b98a
Merge: 0f5a4c8 55ef216
Author: zjubfd <296179868@qq.com>
Date:   Thu May 5 17:26:16 2022 +0800

    Merge pull request bnb-chain#888 from bnb-chain/develop

    [R4R] Release For BSC v1.1.10

commit 2dbc8c5
Merge: e9be0d4 0132f13
Author: realuncle <90668111+realuncle@users.noreply.github.com>
Date:   Wed May 4 21:37:55 2022 +0800

    Merge pull request bnb-chain#14 from node-real/separate-node-test

    close verifyTask when there is no valid peer and add UT tests

commit 0132f13
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Fri Apr 29 14:39:46 2022 +0800

    add UT tests

commit e9be0d4
Author: dean65 <dean950605@gmail.com>
Date:   Fri Apr 29 10:01:16 2022 +0800

    close verifyTask when length of verifyPeers is 0

commit 8929510
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 17:01:05 2022 +0800

    fix tests

commit 7490499
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 15:22:06 2022 +0800

    setup default validator for blockchain

commit ef3ec13
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 14:49:38 2022 +0800

    fix lint error

commit 4771d86
Merge: 5f22105 15bc254
Author: dean65 <dean950605@gmail.com>
Date:   Thu Apr 28 14:36:59 2022 +0800

    Merge remote-tracking branch 'origin/develop' into separate-node

commit 5f22105
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 27 16:20:47 2022 +0800

    add unit-test for fastnode

commit 5a254c4
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 27 10:20:27 2022 +0800

    add interval when getting ErrSnapshotStale

commit b56c19c
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 26 11:18:03 2022 +0800

    fix diffhash issue

commit 0f5a4c8
Author: Leon <316032931@qq.com>
Date:   Mon Apr 25 10:47:02 2022 +0800

    [R4R]fix:Shift panic for zero length of heads (bnb-chain#870)

    * fix:Shift panic for zero length of heads

    * fix: make sure peek before shift

    * refactor and update ut

    * refactor

commit dfff219
Author: j75689 <j75689@gmail.com>
Date:   Mon Apr 25 10:25:23 2022 +0800

    fix close of closed channel issue

commit 3150755
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 16:29:41 2022 +0800

    fix log format

commit c840e7f
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 06:02:29 2022 +0800

    fix diffhash mismatch issue

commit 734d17f
Author: j75689 <j75689@gmail.com>
Date:   Sat Apr 23 06:01:23 2022 +0800

    fix gracefull shutdown issue

commit a73aad6
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 18:00:32 2022 +0800

    fix validateBody

commit 23913cf
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 17:53:52 2022 +0800

    remove unused code

commit 2e6c33b
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:52:24 2022 +0800

    don't need to send verify task when node start

commit e0cf707
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:48:47 2022 +0800

    remove unused code

commit c57fdd7
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:27:30 2022 +0800

    fix comments

commit 7ad4d02
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 20 15:13:51 2022 +0800

    Revert "change type of diffLayerChanCache to sync.Map"

    This reverts commit f8c6a4a.

commit 1e44aa6
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 17:54:37 2022 +0800

    fixup! rewind to last non verified block when restart fast node

commit 8c6d5a8
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 17:37:04 2022 +0800

    fixup! rewind to last non verified block when restart fast node

commit be53153
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 14:39:12 2022 +0800

    rewind to last non verified block when restart fast node

commit b3a701d
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 13:40:17 2022 +0800

    refactor block remote validation code

commit f8c6a4a
Author: j75689 <j75689@gmail.com>
Date:   Tue Apr 19 12:46:01 2022 +0800

    change type of diffLayerChanCache to sync.Map

commit 5675916
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 01:16:00 2022 +0800

    fixup! put difflayer into verifyManage cache when node restart

commit 34e8ce0
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 00:19:41 2022 +0800

    remove testing code

commit 161c467
Merge: b978ed3 1aeadc1
Author: j75689 <j75689@gmail.com>
Date:   Thu Apr 14 00:18:02 2022 +0800

    Merge branch 'develop' into fast-node-fix

commit b978ed3
Author: j75689 <j75689@gmail.com>
Date:   Wed Apr 13 18:40:49 2022 +0800

    put difflayer into verifyManage cache when node restart

commit 1aaab76
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Thu Apr 7 00:21:26 2022 +0800

    verify task get difflayer cache synchronously

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 74ecbf2
Merge: 859186f 1aeadc1
Author: zjubfd <296179868@qq.com>
Date:   Fri Apr 8 19:06:42 2022 +0800

    Merge pull request bnb-chain#850 from bnb-chain/develop

    [R4R] Release v1.1.9

commit 7b070c0
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Wed Mar 2 10:07:14 2022 +0800

    resolve comments

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 2ed75ab
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Tue Mar 1 13:58:20 2022 +0800

    add metrics

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit f7ef016
Author: kyrie-yl <yl.on.the.way@gmail.com>
Date:   Thu Feb 24 17:13:40 2022 +0800

    fast node verification and fix conflicts

    Signed-off-by: kyrie-yl <yl.on.the.way@gmail.com>

commit 1e46537
Merge: 6fffa8e 0ca4bc1
Author: zjubfd <296179868@qq.com>
Date:   Mon Feb 14 16:59:55 2022 +0800

    Merge pull request bnb-chain#763 from KeefeL/dev

    [R4R]Separate Processing and State Verification on BSC: sync develop branch

commit 0ca4bc1
Merge: 6fffa8e fed2f35
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Mon Feb 14 12:33:53 2022 +0800

    Merge branch 'develop' into separate-node

commit fed2f35
Author: KeefeL <90749943+KeefeL@users.noreply.github.com>
Date:   Thu Jan 27 16:50:59 2022 +0800

    testcases for trust protocol (bnb-chain#742)

commit 529e66e
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 25 21:18:56 2022 +0800

    fix misc bugs of verify node

commit 0405b68
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Fri Jan 21 18:17:06 2022 +0800

    generate diff layer by replaying block

commit 4905aab
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Thu Jan 20 15:22:06 2022 +0800

    testcases for getting root by diff hash

commit c6e8652
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 11 16:17:03 2022 +0800

    implement trust protocol and verify node

commit 359906c
Author: RealUncle <walt@nodereal.io>
Date:   Thu Dec 2 17:40:47 2021 +0800

    implement the framework of fast node

commit 859186f
Merge: 74f6b61 21a3b11
Author: zjubfd <296179868@qq.com>
Date:   Fri Jan 28 11:44:08 2022 +0800

    Merge pull request bnb-chain#743 from binance-chain/develop

    [R4R] Release v1.1.8

commit 6fffa8e
Author: KeefeL <90749943+KeefeL@users.noreply.github.com>
Date:   Thu Jan 27 16:50:59 2022 +0800

    testcases for trust protocol (bnb-chain#742)

commit 0b296e8
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 25 21:18:56 2022 +0800

    fix misc bugs of verify node

commit 6306002
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Fri Jan 21 18:17:06 2022 +0800

    generate diff layer by replaying block

commit 66dd9ea
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Thu Jan 20 15:22:06 2022 +0800

    testcases for getting root by diff hash

commit 885aeb9
Author: Keefe-Liu <bianze.kernel@gmail.com>
Date:   Tue Jan 11 16:17:03 2022 +0800

    implement trust protocol and verify node

commit 3f266bf
Author: RealUncle <walt@nodereal.io>
Date:   Thu Dec 2 17:40:47 2021 +0800

    implement the framework of fast node
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants