kaistshadow / blockchain-sim

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

BFT bundle implementation on BLEEPlib #348

Closed hjkim17 closed 3 years ago

hjkim17 commented 3 years ago

BFT계열 블록체인 abstraction 구현

hjkim17 commented 3 years ago

@ygnkim @hyojin5658 BFT계열이 public 블록체인쪽 예시로 구현하려면 투표 권한자들이 sybil attack을 행할 수 없게 만들어야 되는데, 어떤 블록체인을 기준으로 만들어야 될 지 이야기 해봐야 될 것 같습니다.

hyperledger같은 식이면 애초부터 permissioned 네트워크를 구성했다고 가정하고, config파일은 수정될 수 없다고 가정하고 bft계열의 알고리즘을 짜면 될 것 같습니다. EOS, stellar, algorand 등도 bft 계열인 걸로 알고있는데, 중간에 노드가 나가는 경우는 어떻게 처리했는지는 찾아봐야 될 것 같네요. 어떤 블록체인을 기준으로 만들까요?

ygnkim commented 3 years ago

이번주는 정신이 없네요. 예전에 stellar(pbft의 public 버젼)를 구현하려고 해봤는데, 상당히 까다로웠습니다. permissioned network를 가정하고 pbft 알고리즘을 구현해도 충분하지 않을까 싶습니다.

@hyojin5658 어떻게 생각하시는지요

hyojin5658 commented 3 years ago

네 저도 public으로 하는 것 보다는 permissioned blockchain으로 하는게 좋을 것 같습니다. 스텔라 알고리즘인 SCP를 보니까 quorum을 구성해서 그 quorum 중에 합의 할 노드들을 선택해서 합의를 진행하더라구요. 구현이 꽤 까다로울 것 같아서 permissioned로 하는 것이 좋을 것 같습니다. 지금 생각하고 있는건 pos + pbft 형식으로 하려고 생각하고 있습니다. 대략적인 디자인은 회의때 말씀드리겠습니다.

hyojin5658 commented 3 years ago

develop 브랜치에 merge 하였으므로 해당 issue를 닫도록 하겠습니다.