728x90
목차 1. 블록 만들기 2. 트랜잭션 풀 (Transaction Pool) 3. 블록을 생성하는 기본 과정 4. 블록생성 구현하기 어제까지의 코드 https://github.com/100space/2304/tree/main/0503 GitHub - 100space/2304 Contribute to 100space/2304 development by creating an account on GitHub. github.com 1. 블록 만들기 어제의 코드에서 블록을 생성할 때, data로 들어가는 내용은 코인베이스에 대한 내용만 들어갔다. 원래는 코인베이스를 포함해서 트랜잭션들의 내용을 배열로 가지고 블록을 만든다. const newBlock = this.block.createBlock(latestBlock..
목차 1. wallet 2. chain 3. ingchain 4. index 어제까지의 코드 https://github.com/100space/2304/tree/main/0502 GitHub - 100space/2304 Contribute to 100space/2304 development by creating an account on GitHub. github.com 1. wallet 개인키와 공개 키, 계정 및 디지털 서명을 이용해서 계정 생성, 개인키를 사용하여 계정 설정, 계정 검색 및 서명된 영수증 생성을 하는 메서드를 포함하는 클래스이다. wallet클래스를 만들기 전에 기존에 있었던 코드의 디렉토리 구조를 변경한다. //wallet.interface.ts export class Sender ..
목차 1. 블록 만들기 2. 미사용 트랜잭션 출력값 (UTXO) 1. 블록 만들기 제네시스 블록, 블록 2, 블록 3 block2의 트랜잭션 : coinbase block3의 트랜잭션 : coinbase, transaction 1건에 대한 블록 3번째 블록을 생성하기 위해서 아래와 같은 내용이 필요하다. - 이전 블록에 대한 내용을 알아야 하고 : 높이가 2인 블록 - 10번째 블록에 대한 내용을 알아야 한다. : 제네시스블록 블록이 생성되는 시간의 텀은 10분 정도가 있다. 그 10분간 일어나는 일중에 하나가 여러 거래이다. 그래서 TX Pool이라는 공간에 처리되지 않은 거래들이 담겨있다. 블록을 생성할 떄, 머클루트라는 것이 있기 때문에 블록을 생성하겠다는 의미는 기존에 있던 트랜잭션을 이용해서 만..
목차 1. 트랜잭션 만들기 2. Transaction 코드 1. 트랜잭션 만들기 1-1. 예시 상황 A와 B가 있을 때, A가 B에게 2 BTC를 전송하는 과정에서 A가 A임을 증명하는(서명) 과정이 진행된 후 A와 B의 거래가 이루어지는데, 이때, 각자의 잔액에서 A는 -2 BTC, B는 +2 BTC를 하는 것이 아니다. 거래가 완료되기까지 여러 과정이 있는데, 그 순서는 아래와 같다. 1. A가 B에게 2 BTC를 전송한다는 내용의 정보(영수증)를 노드에게 전달한다. 2. 노드는 그 영수증의 내용을 가지고 발신자에 대한 검증작업을 한다. 보내는 사람이 맞는지, A가 전송하기 위해서 충분한 양의 BTC를 가지고 있는지를 검증한다. 3. 검증이 완료되면 트랜잭션 생성이 된다. 이때 트랜잭션이 생성이 되었..
목차 1. 트랜잭션 2. 디지털 서명 만들기 이전 코드 https://github.com/100space/2304/tree/main/0427 GitHub - 100space/2304 Contribute to 100space/2304 development by creating an account on GitHub. github.com 1. 트랜잭션 const block1 = block.createBlock(GENESIS, "123123", GENESIS) 블록을 생성할 때 data를 string으로 강제로 넣은 상태로 블록을 생성했었지만, 원래 data는 트렌잭션들로 이루어져 있다. 트랜잭션을 간단히 설명하자면 블록체인에서 데이터를 처리하고 저장하는 기본 단위이다. 트랜잭션은 크게 input, output..
목차 1. 작업증명이란? 2. 지분증명이란? 3. 권한증명이란? 다수의 참여자들이 하나의 통일된 의사결정을 하기 위해 사용하는 알고리즘이고, 합의 알고리즘에 의해 동일하게 유지되는 것을 말한다. 블록체인 네트워크를 구성하는 각 노드가 각각 장부를 가지고 있고 이 장부 내용은 합의 알고리즘에 의해서 동일하게 유지된다. POW, POS, POA 등이 있으며, POW는 작업증명, POS는 지분증명, POA는 권한증명이라고 한다. 1. 작업증명이란? POW라고도 하며, Proof of Work의 약자이다. 연산을 누가 더 빨리하는지를 판단하면서, 경쟁하는 과정이 있고, 이 과정에서 가장 빨리 연산을 처리하는 사람만 채굴 및 블록을 생성할 수 있다. 에너지 효율이 안 좋다는 점이 단점이다. 동시에 채굴을 한 채굴..