일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 화살표함수
- React 자습서
- js 댓글수정
- 콜백함수
- Object.keys
- js 댓글
- Linux 기본
- Git
- typescript
- Linux 사용자
- node js 기본
- 3way handshake
- 배열 메서드
- js 게시판
- css #css기초
- js 메서드
- Rebase
- React 기본설정
- js 함수 표현식
- js로또 만들기
- js 생성자 함수
- GitHub
- js 무한루프 슬라이드
- nodejs 게시판
- js 로또
- JS DOM
- js DOM 기초
- branck 합치기
- node js 설치
- js 함수 #함수
- Today
- Total
개발 노트
블록체인- 블록 구성요소 본문
제네시스 블록
: 최초의 블록 , 블록체인은 모든 블록이 연결되어 있기 때문에 최초의 블록 생성은 블록체인 네트워크가 시작되었다와 같다.
최초에 GENESIS block이 생성되고
const GENESIS: IBlock = {
version: VERSION, //언제 생성된건지 확인을 위한것
height: 1,
timestamp: 1231006506,
previousHash: "0".repeat(64), // 이전블럭
merkleRoot: "DC24B19FB1234511ACD8AD17F401753670CFD8DD1BEBEF9C875125E98D82E3D8", //transaction 들이 모인 hash값 string이긴 하지만 hash값이 될 것.
nonce: 0, // POW 작업증명을 할 때 필요한 속성 계산할 때 필요 number
difficulty: 0, // 작업증명을 할 때 사용할 속성값
hash: "84ffab55c48e3aasd0e2fd4c4aasdc5ee1bb2d41a4f2a78a1533a8bb7df8370", //version mekleroot height 등등
data: "2009년 1월 3일 더 타임스, 은행들의 두번째 구제금융을 앞두고 있는 U.K 재무장관", // transaction 들이 모일 곳 나중에 배열형태로 만들어질 것이다.
};
이러한 형태로 생성된다.
height = 블록이 생성됨으로 +1 씩 늘어나는 수치
timestamp = 블록의 생성 시간
previousHash = 이전블록의 hash
merkleRoot = transactios 의 hash
nonce = 작업증명을 할 때 필요한 값,
difficulty = 블록 생성난이도,
hash = 위의 모든 데이터를 가지고 만들어 놓은 hash 이다. (2번째 블록이 생성될 때 이 값이 previousHash로 들어간다)
**merkelRoot
data, 즉 트렌잭션이 발생해서 들어오게 되면, 트랜잭션들을 가지고 해시화를 시켜서 만들어놓은 값이다.
1. 가장 가까운 tx1과 tx2를 해시화 해서 하나의 해시를 만든다 이 과정을 tx8까지 반복하고
2. 나온 결과물들을 또 다시 2개씩 짝지어서 해시화를 시킨다.
3. 최종적으로 하나가 나올 때까지 반복한다.
이러한 그림을 표현해놓은것을 머클트리 라고한다. 위 그림과 같은 형태가 되는 것이다.
이러한 형태를 하게 된다면, 만약 하나의 해쉬값을 변경하게 되면 그 상위에 있는 모든 해쉬값이 변경되기 때문에 어디서부터 변절된 것인지 파악 할 수 있다.
**BlockHash
블럭의 모든 데이트를 가지고 "SHA256"을 활용해 하나의 해시를 만든다. 이렇게 만들어진 블록해시의 경우 다음블럭을 생성할 때 previoushash로 들어가기도 하고, 마이닝 작업을 할 때 하나의 작업증명을 위해 활용되기도 한다.
'BlockChain' 카테고리의 다른 글
Ethereum (0) | 2023.05.22 |
---|---|
블록체인 코드 - wallet, digitalSignature (0) | 2023.05.08 |
블록체인 코드 - block, work proof (0) | 2023.05.08 |
블록체인 코드 -genesis block, crypto (0) | 2023.05.04 |
블록체인 - UTXO (0) | 2023.05.04 |