SebastianElvis / ebft

ISC License
2 stars 0 forks source link

Implementaion roadmap #4

Open SebastianElvis opened 2 years ago

SebastianElvis commented 2 years ago

Problem

We need to dissect the task of implementing ORazor into subtasks, each of which includes the problem statement and the involved code.

Description

Alternatives

Additional context

SebastianElvis commented 2 years ago

To implement ORazor, we need to do the following in order:

SebastianElvis commented 2 years ago
SebastianElvis commented 2 years ago

A more detailed version from Jianyu:

1. What has happened so far?

This report describes the implementation goals and procedures for realizing Crystal/ORazor. By now, we have achieved the following goals for the two project:

  1. Paper of Crystal/ORazor: We have finished the two protocol design and also have two formal papers.
  2. Open-source code: We use btcd open-source code, and want to make as minimum modifications as possible.

2. What is going to happen from now on?

Crystal

The goal of realizing Crystal is to measure the protocol overhead, i.e., quorum certificates. According to the protocol, we aim to make the following modifications.

  1. Crypto package: We will use unique signature mechanisms and vrf for committee construction; We first choose some candidates (open-source codes). This one is easy.
  2. Block Format: We have to include miners’ public unique key in block header for committee election; We also have to include the vote package in block. Our paper has specific block format descriptions.
  3. Block Verifying: We have to slightly changes the block verifying process and the longest chain rule.
  4. Vote Message Processing: We have to realize an efficient mechanism to send and collect votes. We also have to map votes with blocks.

We don’t consider incentive mechanism for reward assignments.

ORazor

The goal of realizing Crystal is to measure the protocol overhead, i.e., quorum certificates. According to the protocol, we aim to make the following modifications.

  1. Crypto package: Similarly, we will also use some signature mechanisms as Crystal. But we don’t use VRF.
  2. Block Format: We have to include miners’ public unique key in block header for committee election; We also have to include the vote package in block. Our paper has specific block format descriptions.
  3. Block Verifying: We have to slightly changes the block verifying process and the longest chain rule.
  4. Vote Message Processing: We have to realize an efficient mechanism to send and collect votes. We also have to map votes with blocks.
  5. Block Finalizing: This part distinguishes ORazor with Crystal.
  6. Advanced part: We use some simple techniques like decoupling to boost performance.

We don’t consider incentive mechanism for reward assignments.

  1. Implementation