This article has been translated from English to Korean.
비트코인 채굴이라는 주제를 다루기 전에, 잠깐 다른 주제로 돌아가서 암호화폐의 기초가 되는 특정 개념에 대해 알아볼 필요가 있습니다.
비트코인과 다른 암호화폐가 어떻게 작동하는지 제대로 이해하기 위해서는 먼저"해싱(hashing)"이라는개념을 이해하는 것이 중요합니다.
"해시"라는 단어를 보면, 어떤 사람들은 미국의 인기 아침 식사 메뉴인 해시 브라운을 떠올릴 수도 있고, 스눕 독을 좋아하는 사람들은 대마초 농축 제품을 떠올릴 수도 있습니다. 🌿

이번 강의에서는 다른 종류의 해시에 대해 이야기하겠습니다!
기술적인 개념이지만, 여러분은 이 개념에 익숙해야 하므로, 제가 쉽게 설명해 드리겠습니다.
비트코인 채굴의 작동 원리를 이해하려면 해싱의 개념에 익숙해야 합니다(다음 가이드). 따라서 이 강좌를 건너뛰지 마십시오. 👁️
해싱이란 무엇입니까?
해싱은 모든 형태의 데이터를 고정 길이의 고유한 텍스트 문자열로 변환하는 암호화 방법입니다.
암호학 은 외부 관찰자로부터 안전하게 통신하기 위한 기법을 연구하고 실천하는 학문입니다. 인터넷 시대에 암호학은 컴퓨터 정보 또는 "데이터"를 보호하는 데 사용됩니다.
아직 명확하지 않다면, 암호화폐의 "crypto"는 암호화를 의미합니다.
해싱은 암호학의 기본 요소입니다. 그리고 암호화폐에서 "암호"의 배후에 큰 역할을 합니다.
간단히 말해서 해싱은 고정된 길이의 출력을 생성하는 해시 함수를 통해 길이에 관계없이 텍스트를 입력하는 것을 의미합니다.

데이터의 크기, 유형, 길이 등에 관계없이 모든 데이터는"해시화"될수 있습니다.
생성되는 해시는 항상 같은 길이입니다.
아래 예에서 SHA-1 해시 함수를 사용하면 "입력"의 길이와 관계없이 "출력"은 항상 40자 길이입니다.



다음은 세 가지 예제를 간단히 비교한 것입니다.
| 입력 | 해시 |
|---|---|
| 안녕하세요 | f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 |
| BabyPips.com | 8c8780d0b70c5ef42a534846cc042629cf07a440 |
| 나 | ca73ab65568cd125c2d27a22bbd9e863c10b675d |
입력 내용이 달랐음에도 불구하고 세 개의 해시값이 모두 40자라는 것을 주목하세요.
이 특정 예에서 고정 길이는 40자이며, 이는 나중에 설명할 특정 해시 함수 ("SHA-1")에 의해 결정됩니다.
지금은 다른 해시 함수가 다른 고정 길이를 출력할 수 있다는 것만 알아두세요. 대부분의 경우, 고정 길이는 40자 이상입니다.
해시는 디지털 지문과 같은 역할을 합니다.
고유한 데이터는 항상 동일한 해시를 생성합니다.
예를 들어, 해시 함수를 통해 "Hello"를 백만 번 실행하면, 위의 해시가 백만 번 반복해서 나타납니다.
"Hello"라는 단어의 SHA-1 해시는 항상 다음과 같습니다.
f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
그리고 오직 "Hello"만이 그 해시를 생성할 것입니다.
"Hello"를 "hello"로 바꾸는 것만으로도 해시 함수는 완전히 다른 해시 값을 생성합니다.
이것이 해시가 디지털"지문"으로 알려진 이유입니다.
지문이 개인마다 다르듯이 해시는 특정 데이터 입력에 고유합니다.

해시는 되돌릴 수 없습니다.
해시 함수에 입력되는 것을"역상(preimage)"이라고 합니다. 그러나 간단하게 하기 위해 저는 그냥 "입력"이라고 부릅니다.
해시 함수의 출력을"해시 값" 또는"다이제스트" 또는 간단히"해시"라고 부릅니다.
해시 함수는 단방향으로 작동하도록 설계되었습니다.

해시 함수는 단방향 함수이기 때문에, 출력인 "해시"를 입력인 "원래의 이미지"를 알아내는 데 사용할 수 없습니다.
즉, 해시만 보인다면 해시가 나타내는 원본 데이터("역해시")를 해독할 수 없습니다.
해시 함수는 되돌릴 수 없는 해시를 생성합니다.
돌이킬 수 없다는 것은 해시만 가지고 있다면, 그 해시를 가지고 원래의 데이터가 무엇인지 알아낼 수 없다는 것을 의미합니다. 이로써 원래의 데이터는 안전하게 유지되고 알려지지 않은 채로 남을 수 있습니다.
해시 함수란 무엇인가?
해시 함수는 임의의 길이의 입력 데이터를 특정 알고리즘을 사용하여 실행되는 고정 길이의 출력으로 변환하는 수학 연산 입니다.
알고리즘은 소프트웨어 프로그램이 계산을 수행하기 위한 단계별 지침 집합입니다.
입력하는 것이 한 글자, 한 단어, 한 문장, 책 한 페이지, 아니면 책 한 권이든 상관없습니다. 그것이 임의적인 부분입니다.
입력마다 고정된 길이의 영숫자 문자열로 표현되는 고유한 출력이 생성됩니다.
영숫자란 문자(글자)와 숫자(숫자)가 모두 포함되어 있다는 의미입니다.
유용한 해시 함수는 입력의 형태에 대한 단서를 숨깁니다.
예를 들어, 입력 내용이 길거나 짧거나 숫자나 문자를 포함하는지 여부를 판단하는 것이 불가능해야 합니다. 또한 입력 내용에서 한 글자만 변경해도 출력이 완전히 달라져야 합니다.
인기 해시 함수
모든 해시 함수는 비슷한 방식으로 작동합니다. 데이터를 입력하면 해시 함수가 데이터를 "뒤섞어서" 해시를 출력합니다.
일반적인 해시 함수는 다음과 같습니다.
- MD-5: 메시지 다이제스트 5 (MD5) 는 일반적인 해시 함수입니다. 과거에는 안전하다고 여겨졌지만, 요즘에는 해커들이 알고리즘을 해독하는 방법을 발견하여 몇 초 만에 해독할 수 있습니다.
- SHA: Secure Hash Algorithm(SHA) 은 또 다른 유형의 해시 함수입니다. SHA에는 SHA-0, SHA-1, SHA-2, SHA-3 등 네 가지 계열로 분류되는 여러 가지 변형이 있습니다. 일반적으로 숫자가 높을수록 출시된 지 오래되지 않았고 알고리즘이 더 안전하다는 것을 의미합니다.
저희가 지금 알아야 할 해시 함수는 SHA(Secure Hash Algorithm)뿐입니다. 좀 더 구체적으로 말하자면, SHA-256이라는 특수한 멤버가 포함되어 있기 때문에 SHA-2 계열입니다.
SHA-256은 텍스트 문자열을 항상 같은 길이인 다른 문자열(64개의 영숫자)로 변환하는 해시 함수입니다. 이것은 256비트에 해당하는데, 이름에 "256"이 들어간 이유입니다.
비트코인 시스템의 여러 부분에서 사용되는 해시 함수이기 때문에 특별합니다. 이 해시 함수에 대해서는 다음 레슨에서 배울 것입니다. 지금은 SHA-256이 해시 함수의 한 유형이고 비트코인에서 사용되는 함수라는 것만 알아두면 됩니다.
입력이 해리 포터 책의 한 페이지이든, 해리 포터 책 시리즈 전체이 든 상관없이, SHA-256 해시 함수의 출력은 항상 64개의 영숫자로 표시되는 동일한 길이가 됩니다.
이제 암호화에서 해싱이 어떻게 작동하는지 살펴보겠습니다.