kaistshadow / blockchain-sim

Scalable blockchain simulator/emulator running on shadow simulator
MIT License
9 stars 1 forks source link

Fully support Monero blockchain for Sybil API (P2P-attack simulation). #275

Closed ygnkim closed 3 years ago

ygnkim commented 3 years ago

This issue is related to Monero support for Sybil API which enables P2P-level vulnerability assessment for Monero.

The supports for Monero should include at least:

ygnkim commented 3 years ago

The basic skeleton code are pushed to feature/275/monero-sybil branch.

The regression test test_verack_monero is added at tests/regtest/2_sybilAPI/4_verack_with_monero, and it results in failure since the Monero Adapter for sybil API is not implemented yet.

ygnkim commented 3 years ago

The very basic functionality of the Monero Adapter (of sybilAPI) is handshaking mechanism which enables peer connection between different Monero nodes.

The regression test test_verack_monero initiates emulated Monero node and tries to make a connection to the target Monero node. In order to complete the connection process between two Monero nodes, version handshaking mechanism should be implemented. It should be implemented within OpAfterConnect callback function within Monero Adapter.

ygnkim commented 3 years ago

Monero Adapter should support shadow node which passively receives connection request from the target Monero node.

Also, to test the shadow node, it is also nice to include fake addr message feature for Monero Adapter so that the target Monero can initiate the connection to the shadow node.

ygnkim commented 3 years ago

PR is merged to develop branch.

To use Monero, make sure that CMake flag MONERO_OPT or ALL_OPT is set as ON.