kaistshadow / blockchain-sim

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

이준혁 학생이 작업한 P2P module branch (jh-gossip-module) 정리 #118

Closed ygnkim closed 3 years ago

ygnkim commented 3 years ago

8개월전 이준혁 학생이 jh-gossip-module이라는 branch로 자신이 예전에 작업했던 plumtree 모듈에 대한 공격 실험을 정리해두었다.

이번에 branch를 정리하는 차원에서, jh-gossip-module branch 역시 정리해두고자 한다.

해당 branch를 새로운 feature branch로 merge하고, 필요한 부분만 남기고, 디렉토리는 정리하는 식으로 작업을 진행하고자 한다.

우선, jh-gossip-module에서 실험에 관련된 부분만 파악하는 과정을 거쳤다. 예전 미팅에서 들은 바로는 plugins/blockchain-peer폴더에서 필요한 플러그인을 컴파일하고, Evaluation 폴더에서 모든 실험이 이루어진다. plugins/blockchain-peer 폴더에 있는 README는 아래와 같다.

Main dir to generate plugin-binary

How to compile workplace: as below

  1. Run the following commands
    mkdir build
    cd build
    cmake ../
    make
  1. go to "workplace" dir inside build
  2. use "libNODE.so" as plugin -> cp libNODE.so to Evaluation dir

위의 README에 나온대로, blockchain-peer에서 만든 plugin을 Evaluation 디렉토리로 카피한 후에 아래와 같은 실험들을 돌릴 수 있다고 한다. (예전 미팅 내용을 노트해놓은 것을 토대로 아래와 같이 대략적인 실험 정보를 파악했음, 실험 시에 확인 후 정리필요)

실험 1

./evaluate-real-network.sh 10 

10은 노드개수이고, injector는 기본적으로 꺼놓은 상태이며, visualization도 꺼졌다.

실험 2

./evaluate-real-network.sh 10 --injector

inject를 넣는 옵션을 주었으며, injector는 무조건 10개이고 script에서 조절 가능하다.

실험 3. eclipse 실험

./evaluate-eclipse-real.sh 50

28개의 malicious node가 존재하며, contact node로부터 IP정보들을 가져오는 것을 가정(?) 일단 네트워크를 안정화 시키고, 일정시간 이후 공격을 시작함

active-view.txt, entire-view.txt 가 있는데, entire-view는 active view+partial view를 의미함.

partial view 구성이 변할때마다 로깅을 한다고 함. 로깅 포맷은 아래와 같음(?) "시작후 millisec, 시작후 sec, Neighbor entry, malicious 비율"

옛날 실험의 설정 : active new == 4, malicious node == 28, passive view == 24

workspace/p2pmodule/HandleNetwork_GossipModule.h 에서 ITER 0 으로 코딩하면 한번만 공격하고, ITER 1로 코딩하면 여러번 공격함.

ygnkim commented 3 years ago

jh-gossip-module을 정리하는 중이지만, yg-amazon-exp branch 역시 정리해야되는데, 둘다 비슷하게 예전 HotNets 논문을 위한 실험을 재현하기 위한 소스들을 포함하고 있으므로, 둘 모두 같은 폴더에 정리하면 좋을 것이다.

해당 소스들은 https://github.com/kaistshadow/bleep-apnet2020 에 존재하고 있다. 따라서, 이준혁 학생이 작업한 파일들도 master에 추가하기보다는 bleep-apnet2020에 추가하는 것이 나을것 같아, 현재 branch에서는 모두 삭제하였다.

ygnkim commented 3 years ago

관련 PR #119

ygnkim commented 3 years ago

119을 master에 병합시키고, branch는 삭제했으므로, 이슈 닫음