shinychan95 / blockchain-research

0 stars 0 forks source link

2. 블록체인을 직접 구현하는 수준에서 내부 동작 파악하기 #2

Open shinychan95 opened 2 years ago

shinychan95 commented 2 years ago

이 분야에 관심있는 사람들과 주기적으로 학습하고 대화하고 싶다.

참고 블로그

shinychan95 commented 2 years ago

기본 프로토타입

type Block struct {
        Timestamp     int64
        Data          []byte
        PrevBlockHash []byte
        Hash          []byte
}

type Blockchain struct {
        blocks []*Block
}

func (b *Block) SetHash()
func NewBlock(data string, prevBlockHash []byte) *Block
func (bc *BlockChanin) AddBlock(data string)

작업 증명

type ProofOfWork struct {
        block *Block
        target *big.Int
}

type Block struct {
        Timestamp     int64
        Data          []byte
        PrevBlockHash []byte
        Hash          []byte
        Nonce         int
}

func NewProofOfWork(b *Block) *ProofOfWork
func (pow *ProofOfWork) prepareData(nonce int) []byte
func (pow *ProofOfWork) Run() (int, []byte
func NewBlock(data string, prevBlockHash []byte) *Block
func (pow *ProofOfWork) Validate() bool