개요 비트코인의 채굴 난이도는 이전 채굴 시간을 참고하여 10분보다 빠르면 난이도를 높이고, 10분보다 늦으면 난이도를 올린다고 알고 있다. 우선 난이도의 개념을 이해해보고, 정확한 난이도 결정 알고리즘을 알아보자. 참고링크 - https://en.bitcoin.it/wiki/Difficulty 결론부터 간단히 채굴을 하는 각각의 노드가 (네트워크로 연결된 다른 노드와는 상관없이) 자신이 가지고 있는 블록체인의 기존 블록들에서 얻은 정보를 바탕으로 다음에 채굴할 블록의 난이도를 계산해낸다. 조금만 더 긴 결론 - 결론은 아래 내용을 다 따라 읽은다음, 다시 정리하듯 읽으면 도움이 될듯 하다. 1) 비트코인은 난이도 (difficulty)인 실수값 (float)를 자신만의 방식으로 블록에 명시한다. 2) ..
개요 개인적으로 궁금한 부분에 대하여 찾아보았음 10분정도의 거래를 블록으로 만든다는데, 그리고, 한 블록의 크기는 최대 1 MB 라는데 과연 채굴할 다음 블록은 어떻게 결정될까? 참고링크 - https://bitcoin.stackexchange.com/questions/43894/who-decides-that-the-new-block-is-ready-to-hash 결론부터 간단히 1) 어떤 한 블록이 채굴되는 시간은 대략 10분 정도가 걸린다. 2) 그러면, 채굴할 거래로 선정되지 않았던 거래들과, 채굴되는 동안 발생한 신규거래가 쌓인다. 3) 채굴이 10분쯤에 끝나면, 채굴자들은 채굴되지 않고 쌓인 거래들을 블록으로 만들어 채굴하기 시작한다. 좀더 살펴보기 1) 채굴자들은 각자 알아서 자유롭게 거래를..
개요 비트코인의 한 블록, 그중에서 해시를 생성하는 입력 데이터 80 바이트에는 timestamp 가 들어있습니다. timestamp 에 대해 좀더 들여다보려 합니다. 참고링크: https://en.bitcoin.it/wiki/Block_timestamp Timestamp 알아보기 Unix time Unix time 이란 1970년 1월 1일 0시 0분 0초 (UTC) 로부터 몇 초나 지난것인지를 표현한 것이다. 위 그림의 경우 타임스탬프가 358B0553 이니 이만큼의 초가 지난 시간이라는 것이다. 실제 날짜로 변환해보면 아래와 같이 1998년 6월 20일로 나..
개요 시리얼로 custom protocol 을 정의하고 hex 값을 전송해보자. 결과부터 말하자면 (TL;DR) - 패킷을 char array 로 정의하고 값을 넣은 다음에 - 만약 char sendPacket[10]; 이라 정의하였다면 - Serial.write(sendPacket, sizeof(sendPacket)); 이라고 보내면 된다. Serial.print와 Serial.write 참고링크 및 이미지 캡처 출처: https://goo.gl/be69UG Serial.print 는 ASCII 를 시리얼포트로 내보내고 Serial.write 는 Byte 를 시리얼 포트로 내보낸다. protocol 정의 간단히 아래와 같은 프로토콜을 정의해보았음. 구분 STX OP Code Length Sensor 1..
SHA-256 씨리이즈 1. SHA-256 Hash Algorithm 2. SHA-256 프로세스 정리 3. SHA-256 By Hand - Message Expansion Function 4. SHA-256 By Hand - Round Function 5. SHA-256 Bitcoin - 참고링크: http://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html - 채굴과정 상세설명 링크: http://www.righto.com/2014/02/bitcoin-mining-hard-way-algorithms.html 결론부터 (TL;DR) - 비트코인의 한 블록에서 80 바이트 만큼의 정보를 추출해내서, double SHA-256 을 먹인 값..
- Total
- Today
- Yesterday
- Gin
- 인텔리제이
- golang
- bun
- 영화
- 명상
- folklore
- 잡학툰
- postgres
- 클린 애자일
- notion
- OpenAI
- Bug
- 중용
- websocket
- 2023
- 독서후기
- intellij
- pool
- github
- ChatGPT
- Shortcut
- agile
- API
- 체호프
- ORM
- strange
- solid
- go
- 노션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |