💡 Today I Learned
블록체인의 블록해시가 만들어지는 과정을 알아보았다.
- 새로 배움: Big Endien, Little Endien 표기 방법
- 오늘의 하이라이트: 블록해시를 만들 때, 블록 헤더의 정보를 16진수로 변환하고 16진수 입력값을 SHA256 함수를 2번 적용하여 최종 블록해시를 생성한다.
- 궁금한 내용: 왜 컴퓨터는 정보를 주고 받기 위해 0,1을 사용할까?
헤더에서 정보를 추출하고, 16진수 형태로 변환, Little Endian으로 변환, 모두 이어붙이기, 해시함수 넣기, Endian 바꾸기
0~9, A,B,C,D,E,F
각 자릿수의 제곱 x 자릿수의 값
16^3*10 + 16^1*11 + 16^0*4
16^4*10 + 16^3*11 + 16^2*5 + 16^1*15 + 16^0*14
11011001 -> 217(10진수) -> D9(16진수) -> 8비트
데이터가 교환될 때는 2진수, 16진수로 왔다갔다하기 때문에 10진수에 적용할 필요가 없다
1970년 1월 1일 00:00:00 (UTC) 기준 시간
요소 | 값 | Small Endian |
---|---|---|
version | 3fffe000 | 00E0FF3F |
prev block | 0000000000000000000626308e720d3ea3cbff0873c5fcb636ad9065b13ac6bb | BBC63AB16590AD36B6FCC57308FFCBA33E0D728E302606000000000000000000 |
merkle root | b6017391419a6da58855d8d0561b2a76a62e2106f3af700b1fb3280c316c5698 | 98566C310C28B31F0B70AFF306212EA6762A1B56D0D85588A56D9A41917301B6 |
timestamp | 5F964DDC | DC4D965F |
bits | 170e134e | 4E130E17 |
nonce | 33acd2d1 | D1D2AC33 |
00E0FF3FBBC63AB16590AD36B6FCC57308FFCBA33E0D728E30260600000000000000000098566C310C28B31F0B70AFF306212EA6762A1B56D0D85588A56D9A41917301B6DC4D965F4E130E17D1D2AC33
000000000000000000058452BBE379AD4364FE8FDA68C45E299979B492858095
-> ✨블록해시가 완성되었다✨