암호학
- 해시는 어떤 숫자나 문자열을 고정된 크기의 출력으로 변환하는 함수로, 모든 가능한 입력을 시도하지 않고는 역으로 수행할 수 없습니다. 간단한 해시 함수의 예로 제곱근을 고려해 보세요: 17202의 제곱근은 계산하기 쉬운데, 약 131.15639519291463입니다. 따라서 간단한 해시 함수는 이 숫자의 마지막 자리를 사용할 수 있습니다, 9291463. 그러나 9291463만으로는 어떤 숫자에서 왔는지 알아내기가 훨씬 더 어렵고, 모든 가능성을 확인해야 합니다. SHA-256과 같은 현대의 암호 해시는 이보다 훨씬 더 복잡하고 안전한 버전입니다. 이 단어는 이러한 함수의 출력을 지칭하는 데에도 사용됩니다.
- 전통적인 암호화 알고리즘은 메시지를 읽을 수 없는 무작위 문자열로 변환하는 함수로, 암호화 키를 사용하며, 키를 아는 사람만이 원래 메시지를 되돌릴 수 있습니다. 암호화는 개인 데이터를 공용 인터넷을 통해 외부인이 무엇을 말하고 있는지 알 위험 없이 전송하는 방법입니다.
- 공개 키 암호화는 모든 개인 키에 해당하는 공개 키가 있는 암호화 방법으로, 공개 키로부터 개인 키를 알아내는 것은 불가능하며, 한 키로 암호화된 데이터는 다른 키로 복호화할 수 있습니다. 이를 통해 비밀 키를 먼저 교환하지 않고도 누구나 암호화된 메시지를 보낼 수 있는 키를 공개할 수 있습니다.
- 디지털 서명은 메시지에 첨부되어 메시지의 발신자가 특정 공개 키에 해당하는 개인 키의 소유자임을 보여주는 것입니다. 개인 키는 비밀로 유지됩니다. 이는 메시지의 해시를 가져와 개인 키로 해시를 암호화하여 작동합니다. 서명을 확인하는 사람은 공개 키로 암호화된 해시를 복호화하고 결과가 메시지의 해시와 일치하는지 확인합니다. 메시지가 변경되거나 개인 키가 잘못되면 해시는 일치하지 않습니다. 비트코인 네트워크 외부에서는 서명이 일반적으로 메시지 발신자의 신원을 인증하는 데 사용됩니다. 사람들은 자신의 공개 키를 게시하고, 해당 개인 키로 서명된 메시지를 보내며, 이는 공개 키에 대해 검증될 수 있습니다.
기본 용어
- 비트코인 클라이언트는 비트코인을 수신하고 전송하는 소프트웨어입니다. 가장 인기 있는 것은 bitcoin.org에서 다운로드할 수 있는 표준 비트코인 클라이언트이지만, 다양한 기능을 가진 다른 옵션도 많이 있습니다.
- 지갑이라는 용어는 두 가지 의미를 가질 수 있습니다: 비트코인 클라이언트의 동의어일 수 있으며(실제로는 “클라이언트”가 완전한 데스크탑 클라이언트를 더 많이 지칭하고 “지갑”은 경량 브라우저 기반 및 온라인 관리 서비스에 더 많이 사용됨), 또는 비트코인 주소와 이를 사용하는 데 필요한 개인 키를 저장하는 파일을 지칭할 수 있습니다.
- 비트코인 주소는 “13ignD31FysQbaBBVJUzffcQoFxxEuEcbE”와 같은 문자열로, 비트코인을 보내기 위해 누군가에게 알아야 하는 것입니다. 비트코인 주소와 이에 해당하는 개인 키를 생성하는 과정은 비트코인 클라이언트에 의해 수행될 수 있습니다.
- 비트코인에서 개인 키는 주소와 연결된 키입니다(기술적으로 주소는 개인 키에 해당하는 공개 키의 해시입니다)로, 배경에서 저장되어 있으며, 해당 주소로 이전에 전송된 비트코인을 보낼 수 있게 해줍니다. 비트코인이 사용하는 암호화 알고리즘(ECDSA)의 작동 방식 때문에 개인 키만으로 공개 키와 주소를 생성할 수 있습니다.
- 거래는 비트코인 네트워크에 비트코인의 소유권 이전이 발생했음을 알리는 메시지로, 수신자가 이를 사용할 수 있게 하고, 거래가 공개되면 발신자가 다시 사용할 수 없도록 합니다.