본문 바로가기

비트코인15

비트코인에서의 분기 비트코인은 하나의 서버가 정보를 모두 가지고 있고 사용자들은 같은 서버에서 정보를 받는 형태가 아닌 각각의 노드가 정보를 주고 받는 탈중앙화 형태이기 때문에 분기가 일어날 수가 있습니다. 분기가 일어난 경우에는 결국 더 길어진 분기가 승리를 하게됩니다. 예를들어 Alice와 Jace가 있는데 둘이 거의 동시에 Nonce값을 찾는데 성공하여 블록생성을 한 후에 각자 자기 주변의 노드들에게 알렸다고 가정해봅시다. 그럼 어떤 노드들은 Alice가 생성한 블록을 Jace가 생성한 블록보다 먼저 전파받을 것입니다. (그 반대의 경우도 있겠지요.) 그럼 Alice의 블록을 전파받은 블록들은 Alice의 블록을 메인이라고 생각하고 현재 블록체인에 이어가고 Jace의 블록은 secondary block으로 취급합니다... 2021. 3. 21.
비트코인의 orphan block 이번 글의 선수지식으로는 비트코인에서 어떻게 두개의 포크가 일어나는지에 대해 알고있어야합니다. 모르신다면 아래 링크를 참고해주세요. 비트코인에서의 분기: up-to-date-items.tistory.com/106 비트코인의 orphan block은 두개의 포크가 일어나는 과정에서 탄생하게 됩니다. 두개의 포크가 일어난 후에 결국 한쪽 포크가 승리를 하게되고 메인체인에 등록되어 이어나가게 되는데 그럼 패배한 포크에 있는 블록은 block header에서 가리키는 부모 노드가 없어져버립니다. 이렇게 된 블록을 orphan block이라고 합니다. orphan block내에 있던 transaction들은 다시 memory pool에 들어가게 되고 다음 블록에 추가되기를 기다립니다. 2021. 3. 21.
비트코인의 채굴원리 이번 글의 선수지식으로는 비트코인의 transaction과 block에 대한 개념을 알고 있어야 합니다. 비트코인의 블록구조: up-to-date-items.tistory.com/95 비트코인이 어떻게 채굴되는지에 앞서 여러 기본 지식을 먼저 알아보겠습니다. 우선 비트코인이 한정된 수량(2100만개)이란 것은 모두가 알 것입니다. 그런데 많은 사람들이 잘못 알고 있는 사실이 하나 있습니다. 2100만개의 비트코인이 모두 채굴된 후에는 채굴로 얻는게 아무것도 없다는 것입니다. 이는 잘못된 사실입니다. 채굴에서 얻을 수 있는 것은 채굴로 인한 새로운 비트코인뿐만 아니라 블록내의 transaction fee들도 얻을 수 있습니다. 즉, 2100만개의 채굴이 끝나더라도 채굴자들은 블록내의 수수료로 이득을 취합니.. 2021. 3. 19.
비트코인에서의 Base58 인코딩 이번 글의 선수지식으로는 공개키가 어떻게 생성되는지 알고 있으면 좋지만 필수는 아닙니다. 궁금하신 분은 아래 링크를 참고해주세요. 비트코인과 이더리움의 개인키, 공개키 생성원리: up-to-date-items.tistory.com/98 비트코인의 주소는 공개키로부터 파생되어집니다. 과정은 아래와 같습니다. 공개키 -> SHA256 함수에 넣음 -> RIPEMD160 함수에 넣음 -> 공개키 Hash가 생성됨(160bit) 이 공개키 Hash를 약간의 추가작업을 거쳐 Base58 인코딩을 하면 비트코인의 주소가 나오게 됩니다. 그럼 이제 Base58 인코딩에 대해 알아보겠습니다. 보통 많은 곳에서 엄청 긴 비트로 이루어진 숫자를 좀 더 짧게 보기 위해 10진수보다 큰 인코딩 체계를 이용합니다. 대표적인 예.. 2021. 3. 18.