개요 * 일단 돌아가게만 구현한 것이라, 코드에 민망한 부분이 있을 수 있음. * 전체 코드 gist: https://gist.github.com/nicewook/214e1fca4a9f3783129bff91b7320c2a 1. Arduino 와 Ethernet Shield 를 이용하여 TCP Client 를 구현하고 2. 대기하다가 TCP Server 의 명령 (OPCode)을 받으면 특정 동작을 수행한다. 덧붙여 1. Arduino Ethernet 의 IP 를 할당하는 방법을 알아보고 2. Hercules SETUP utility 를 통해 TCP 송수신을 테스트 해본다. 준비물 - Arduino UNO - Arduino Ethernet Shield W5100 - SPI 를 이용해 UNO와 통신 (Pin..
개요 채굴 난이도에 대해서 다시 한 번, 정리해보고 실제 비트코인 블록의 값들에서 다음 채굴 난이도를 계산해보자. * 계산값과 정답이 일치하진 않았다. 실제 구현코드 또는 큰 숫자들의 연산을 처리한 웹페이지의 정확도 등의 문제가 아닐까 싶음 채굴 난이도에 대한 요약정리 비트코인 블록 540277 에 있는 난이도 정보를 보자. - 링크: https://www.blockchain.com/en/btc/block-height/540277 - Difficulty 는 6,727,225,469,722.53 - Bits 는 388618029 = 0x1729D72D - Difficulty 는 가장 쉬운 난이도 (=Genesis 블록의 난이도) 의 몇 배나 어려운가를 의미한다. 6,727,225,469,722.53 배나 ..
개요 비트코인의 채굴 난이도는 이전 채굴 시간을 참고하여 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일로 나..

- Total
- Today
- Yesterday
- middleware
- API
- backend
- agile
- golang
- 영화
- 독서
- 엉클 밥
- ChatGPT
- 클린 아키텍처
- strange
- 잡학툰
- intellij
- 인텔리제이
- gocore
- Bug
- 티스토리챌린지
- OpenAI
- 독서후기
- solid
- 오블완
- clean agile
- bun
- Gin
- go
- postgres
- 클린 애자일
- notion
- websocket
- Echo
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |