비트코인의 안전성 재론
최근 캄보디아의 한 사기단이 12만 개의 비트코인을 미국 정부에 압수당한 사건이 인터넷을 떠돌고 있습니다. 많은 사람들이 이 소식을 접했을 때 첫 반응은 "비트코인은 아직 안전한가?" 또는 "비트코인은 끝났다"는 것이었습니다.
몇몇 친구들이 이 질문을 저에게 했고, 기사 아래 댓글에서도 독자들이 이 문제를 언급했습니다.
이 문제에 대해 저는 우가 쓴 기사 《캄보디아 사기단 대부의 12만 개 비트코인: 어떻게 미국 정부에 압수당했나?》(전체 내용은 문 후 참고 링크에서 확인 가능)가 비교적 명확하게 설명하고 있다고 생각합니다.
기사를 요약하자면 대체로 다음과 같이 정리할 수 있습니다:
그가 보관한 비트코인의 지갑 개인 키는 생성될 때 명백한 취약점이 있었고, 이 취약점의 근원은 난수의 무작위성이 부족하다는 것입니다. 또는 지갑 소유자가 오프라인에서 개인 키에 대한 정보를 남겨 미국 정부에 의해 파악되었을 가능성도 있습니다.
만약 소유자가 스스로 정보를 유출했다면 문제는 소유자 자신에게 있으며 개인 키의 안전성과는 무관합니다.
만약 개인 키 자체의 안전성이 부족하다면, 개인 키를 생성하는 지갑 소프트웨어에 문제가 있는 것입니다: 그것의 난수 무작위성이 부족하다는 점은 우리가 주목해야 할 사항입니다.
이론적으로 현재의 컴퓨터 시스템에서 생성되는 난수는 진정한 난수가 아니라 의사 난수입니다. 다만 기술의 발전에 따라 사람들은 이러한 수치가 진정한 난수에 최대한 가까워지도록 하는 여러 방법을 발명했습니다.
만약 키 생성에 사용되는 난수가 너무 "의사적"이라면, 이는 공격자에게 명백한 취약점을 남겨 키를 추측하게 하고, 그로 인해 지갑의 코인을 탈취할 수 있게 됩니다.
제가 예전에 한 블록체인 회사에서 일할 때, 회사의 엔지니어가 재미로 특별한 도구를 사용해 많은 행운의 숫자를 포함한 이더리움 지갑 주소를 생성한 적이 있었고, 그 주소를 여러 동료에게 나눠주었습니다.
이런 지갑의 키는 진정한 난수에 가까운 "난수"로 생성되지 않았기 때문에 키가 매우 안전하지 않고 쉽게 공격받을 수 있습니다.
그럼에도 불구하고 몇몇 동료들은 정말로 그 지갑에 이더리움을 저장하고 송금하는 데 사용했습니다. 그들은 물론 이 지갑이 안전하지 않다는 것을 알고 있었지만, 여전히 송금에 사용했습니다. 이런 행동은 순전히 재미를 위한 것이었고, 특히 외부인에게 자랑하기 위해서였습니다.
더 일반적인 예를 들어 개인 키의 무작위성이 얼마나 중요한지를 설명할 수 있습니다.
우리는 모두 전자 메일을 신청해본 경험이 있습니다. 이메일을 신청할 때, 우리는 스스로 비밀번호를 설정해야 하며, 일반적으로 많은 이메일 서비스는 비밀번호가 최소 8자리 이상이어야 하고 대문자, 소문자, 특수 기호 및 숫자의 조합이어야 한다고 요구합니다.
이 방법으로 비밀번호를 설정하면 일반적으로 자릿수가 많을수록 공격받기 어려워집니다.
하지만 어떤 사람은 이 규칙을 지키지 않고 모든 자릿수를 하나의 문자나 숫자 또는 특수 문자로 설정하며, 비밀번호 설정 습관을 무의식적으로 드러내기도 합니다.
이런 경우 공격자가 그의 이메일을 해킹하는 것은 매우 쉬워집니다.
독자 중 이 생태계에 일찍 들어온 사용자라면 다음과 같은 기억이 있을 것입니다:
초기 지갑은 시드 단어(키)를 생성할 때 사용자가 마우스를 사용해 화면에서 무작위로 스크롤하도록 요구했습니다. 이렇게 하는







