티스토리 뷰

 

우선 비트코인 네트워크를 해킹한다고 할 때, 해커가 목표하는 바를 유형별로 구별하여 보자

 

비밀 정보를 캐내는 것

비트코인 주소의 비밀키는 블록체인 안에 포함되어 있지 않다.

 

해당 주소에서 비트코인을 출금할 당시의 디지털 서명은 거래 기록에 남아 있지만 해당 서명으로부터 비밀키를 얻을 수 있는 것은 아니다.

 

애초에 블록체인 장부에는 비밀 정보라는 것이 포함되어 있지 않다.

 

 

다른 사람의 비트코인 주소에서 돈을 빼오는 것

개인 주소에서 비트코인을 출금하기 위해서는 해당 출금 거래에 대한 서명이 필요한데, 해당 서명은 비밀키 없이는 만들어 낼 수 없기 때문에 개인 지갑의 돈을 빼내는 것은 불가함

 

개인의 관리 소홀로 개인지갑의 비밀키가 유출되는 것은 어쩔 수 없겠지만

 

비밀키를 Brute force(무작위 대입법) 로 맞추겠다는 전략은 현실적으로 불가능하다.

2^256 얼마나 큰 수 일까

 

이전 거래기록을 수정하는 것

비트코인의 거래장부인 블록 체인들은 이전 블록의 해시값이 다음 블록에 포함되기 때문에 오래된 블록일 수록 내용을 수정하는 것은 난이도가 기하급수적으로 올라간다.

 

그렇다면 가장 최근의 블록을 수정하는 것은 가능할까? 이는 가장 최신 블록을 제거하고 이전 블록 이전 시점부터 새로운 블록을 더 높이 쌓아갈 수 있다면 가능하다. 하지만 이것은 100미터 달리기를 하는데 상대보다 100미터 뒤어서 출발하여 상대를 따라잡아야 하는 것만큼이나 어려운 일이다.

 

 

앞으로 거래 기록을 마음데로 작성하는 것(51% 공격)

51% 공격은 이론적으로 가능하지만, 현실적으로는 불가능에 가깝다. 그리고 사실상 알고보면 51% 공격이 비트코인 네트워크에게 주는 영향은 치명적이지는 않다.

 

하루동안 비트코인 채굴에 소요되는 비용

  • 한시간동안 채굴보상
    • 6.25(채굴보상) x 6 = 37.5 BTC
  • 비트코인 현재가격 = 28,000,000 원
  • 한시간 동안 채굴에 성공했을 때 보상
    • 28백만 x 37.5 BTC => 10억 5천만원
  • 비트코인의 가격이 채굴원가와 평형을 이루었다고 가정한다면, 한시간동안 채굴을 독점하기 위해 발생되는 비용이 10억이다라고 말할 수 있을 것이다.

 

그럼 이제 해커는 한시간동안 6개의 블록 생성 과정을 통해서 10억 이상의 이익을 실현할 수 있어야 겨우 그 차액만큼의 이익을 챙길 수가 있다. 이제 해커는 한시간 동안 이중지불을 통해 10억 이상의 수익을 챙겨야 하는 숙제가 남는다.

 

 

그렇다면 이중지불이 가능하다는 것은 무엇을 의미할까

이중지불이란 간단하게 내가 가진 돈을 2번 사용하는 것이다. 내가 소유한 비트코인을 A란 사람에게 15억어치 보낸 후, 이후 51% 이상의 해시파워를 보유한 내가 이전 기록을 지운 후 이전 지불 내역을 포함하지 않는 새로운 블록을 생성하는 것이다.

 

이렇게 되면 이제 비트코인 장부 상에는 여전히 내 주소에 15억원어치의 비트코인이 남게된다.

 

이럴 경우 비트코인을 받은 줄 알았던 A란 사람은 피해자가 될 수 있다.

 

그런데 A가 본인이 비트코인을 받은 사실에 대하여 6번 이상의 컨펌이 발생하기 전까지는 해당 거래가 발생했다고 인정하지 않겠다라고 선언하고 A가 비트코인을 받는 만큼의 반대급부를 나에게 6번의 승인이 발생하기 전까지 보내주지 않는다면 나의 이중지불은 실패할  것이다.

 

10억 이상의 커다란 계약 건에 대해서 거래 승인을 기다리는 한시간 정도의 시간은 사실 결코 느리다 할 수 없을 것이다.

 

 


https://youtu.be/uRq8ysRtcmc

728x90
반응형
댓글
250x250
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함