저자: JoãoAntonio · 외국인
요약 보기
이 영상은 비트코인 교육 시리즈 1편으로, 암호화폐를 처음부터 이해시키는 것이 목적이다. [시리즈 소개] 비트코인은 어떤 정부나 국가의 개입 없이 작동하는 분산형 디지털 화폐이며, 주로 컴퓨터 애호가들이 사용하고 있다는 점을 짚는다. 사전 지식은 컴퓨터 사용 능력만 있으면 된다고 설명한다. [화폐와 암호화폐의 개념] 화폐는 교환의 매개체이며, 비트코인은 공급이 프로그램으로 제한된 희소성을 가진다는 점이 정부 화폐와의 차이로 제시된다. 'Crypto'는 수학적 보증을 의미하는 암호학에서 왔다. [핵심 암호 자원] 비트코인과 암호화폐는 해시(메시지 요약)와 디지털 서명(거래의 진위 인증) 두 가지 암호학 자원을 기반으로 한다. [해시의 원리] 주민등록번호 유사 사례(CPF 검증 자릿수)로 해시를 설명한다. 해시는 원본에서 쉽게 계산되지만, 해시값에서 원본을 역산하는 것은 사실상 불가능(엄밀히는 '가능성이 매우 낮음')하다. 나눗셈 나머지 예시(298을 14로 나눈 나머지 4)로 단방향성을 보여준다. [해시의 민감성] 텍스트, 사진, 영상, 음악 모두 비트(0과 1)로 이루어진 숫자이므로 해시를 계산할 수 있다. 'Psalms'에서 's' 하나를 지우는 것만으로도 해시가 완전히 달라진다. 밥 말리의 'Redemption Song' MP3(약 8.3MB, 약 6천9백만 비트) 중 한 비트만 바꿔도 해시가 전혀 다른 값이 된다고 강조한다. [해시의 용도] 이메일 등 전송 중 메시지가 변조되지 않았는지 확인하는 데 쓰인다. 해시가 일치하면 한 비트도 바뀌지 않았다고 판단할 수 있다. 해시를 검증하는 것은 메시지 자체를 검증하는 것과 같다는 비유(계약서 서명)를 든다. [결론] 해시는 무결성을 보장하는 단방향 수학 함수이며, 원본 복원은 불가능에 가깝고 미세한 변경에도 민감하다. 다음 영상에서는 디지털 서명을 다룰 예정이다. [투자 관련 발언] 영상에서 특정 자산(비트코인 가격 포함)에 대한 가격 방향 예측이나 매수·매도 의견은 등장하지 않는다.
다듬은 글
안녕하세요, 학생 여러분, 인터넷 친구 여러분, 그리고 여학생과 인터넷 사용자 여러분. 비트코인과 여러 가지 암호화폐를 더 알고 싶어 하는 열정적인 분들, 호기심을 가진 분들, 모두 환영합니다. 이 강좌의 제목은 "이해해야 신뢰할 수 있다(Understanding to Trust)"입니다. 앞으로 제가 녹화할 이 시리즈에서는 가장 기초적인 지식부터 시작해서 비트코인이 어떻게 작동하는지, 암호화폐가 어떻게 작동하는지 처음부터 설명해 드리려고 합니다.
여러분은 언론에서 들어보셨거나, 인터넷에서 읽으셨거나, 뉴스 프로그램에서 보셨을 겁니다. 비트코인은 디지털 화폐이고, 인터넷 머니라고요. 여기서는 비트코인이 어떻게 작동하는지 보여 드리려 합니다. 컴퓨터를 사용할 줄 아는 것 이외에 별도의 사전 지식은 필요 없습니다. 가장 기초적인 개념부터 가장 깊은 개념까지 실제로 모두 설명할 것이기 때문입니다. 그래야 비트코인이라고 불리는 이 디지털 혁명, 이 금융 혁명, 그리고 전반적으로 암호화폐라고 부르는 것의 작동 원리를 이해하실 수 있습니다.
이해하셔야 신뢰할 수 있다는 것이 제 바람입니다. 오늘날 비트코인은 일종의 게토(ghetto)에 속해 있기 때문입니다. 비트코인을 사용하는 사람들은 주로 컴퓨터 애호가들이고, 특히 브라질에서는 더욱 그렇습니다. 그리고 그들이 모두 자유지상주의적 정치 성향을 가진 사람들은 아닙니다. 비트코인은 어떤 정부나 국가의 개입도 없는 탈중앙화된 화폐의 예이기 때문에, 반(反)국가, 반(反)정부적 정치 성향과 연결되곤 하죠.
이제 비트코인을 처음부터 이해해 보겠습니다. 지금 시작하겠습니다. 여기서 무슨 일이 일어나는지, 앞으로 무엇이 일어날지 반복적으로 이해하실 수도 있을 겁니다. 이미 이 개념들을 보신 분도 계시겠지만, 다음 영상들을 기다려 주시고, 저는 여기서 완전히 처음부터 시작하겠습니다. 자, 우리가 비트코인을 어떻게 다룰지에 대해 저를 따라와 주십시오.
먼저 비트코인이란 무엇일까요? 비트코인은 디지털 화폐입니다. 사이버 세계, 즉 디지털 세계 안에서 작동하도록 만들어진 화폐죠. 디지털 세계 밖에서도 작동하게 만드는 것이 가능하긴 하며, 이는 나중에 보게 될 것입니다. 하지만 비트코인은 인터넷 전체에 걸쳐 퍼져 있는 자체 네트워크 위에서 작동하도록 만들어졌습니다.
비트코인은 암호화폐로 분류됩니다. 암호화폐는 비트코인만 있는 것이 아닙니다. 여러 종류가 있고, 여러 다른 주체들이 만든 여러 모델들이 있으며, 대부분은 비트코인의 개선이나 향상으로 탄생했습니다. 각각 고유한 특징이 있지만, 비트코인이 가장 유명하고, 이 영상에서 폭넓게 분석해 볼 암호화폐입니다.
이 강좌, 이 특정 암호화폐는... 그런데 암호화폐란 무엇일까요? 화폐란 교환의 매개체로서, 교환을 이루게 하는 수단이 되는 실체입니다. 제가 제 마우스를 여러분의 키보드와 교환하고 싶다고 해 봅시다. 여러분이 제 마우스를 원하고, 제가 여러분의 키보드를 원한다면, 교환은 성립합니다. 한 상품을 다른 상품과 맞바꾼 것이죠.
이런 조합이 존재하지 않는 경우, 예를 들어 제가 마우스를 키보드와 바꾸고 싶은데 여러분은 키보드를 팔고 싶지만 마우스로는 바꾸고 싶지 않다면, 이때는 무엇을 해야 할까요? 중간에서 매개하는 존재가 필요하고, 그것이 바로 돈이 하는 일입니다. 그래서 저는 마우스를 팝니다. 실제로는 제 마우스를 일정 금액의 돈과 바꾸고, 그 돈을 가지고 여러분의 키보드와 교환하는 것이죠.
결국 여러분은 저에게 키보드를 판 셈이고, 실제로는 그 교환을 일정 금액의 돈으로 한 것입니다. 비트코인은 암호화폐이며, 교환의 매개체로 기능하기 때문에 화폐입니다. 비트코인의 강력한 특징 중 하나는, 오늘날 우리나라 정부 화폐에는 없는 것인데, 바로 경제학의 기본 원리인 희소성입니다.
이것에 대해 이야기해 보겠습니다. 프로그래밍된 희소성, 즉 그 재화에 가치를 부여하고, 화폐에 가치를 부여하는 희소성입니다. 단어의 '크립토(crypto)' 부분은 암호학(cryptography)에서 왔습니다. 암호학은 수학적 보증을 의미합니다. 매우 강력한 수학적 과정에 의해 만들어지거나 제공되는 보증이죠, 그렇지 않습니까? 암호학.
이 지점에서 계속 나아가기 위해 위로 가 보겠습니다. 암호학을 한마디로 말하면, 정보를 위한 수학입니다. 정보를 보호하기 위해 사용되는 수학이죠. 암호학은 수수께끼로 쓰는 것, 숨겨서 쓰는 것, 이것이 이 단어가 의미하는 바입니다. 비트코인과 다른 암호화폐에서 쓰이는 두 가지 기본 암호학적 자원이 있습니다.
이 두 가지 자원은 해시(hash), 즉 메시지의 요약본입니다. 우리는 메시지의 수치적 요약을 보게 될 것입니다. 그리고 전자 서명(digital signature)입니다. 전자 서명은 메시지를 인증하고, 암호화폐로 이루어진 거래에 진정성을 부여하는 데 쓰입니다. 두 가지 절차, 즉 암호학에 기반을 두고, 수학에 기반을 두며, 비트코인과 다른 암호화폐 안에서 널리 쓰이는 두 가지 자원입니다.
해시를 이해하는 것부터 시작해 봅시다. 해시란 무엇일까요? 실제 실험을 해 봅시다. 브라질의 CPF(납세자 번호)를 상상해 봅시다. CPF는 여러분이 연방 세무청에 납세자로 등록되어 있는 번호입니다. 여러분은 국가의 연방 세무청에 기여를 하고, 번호를 하나 갖게 되죠.
이 번호는 아홉 자리 숫자로 이루어져 있습니다. 11자리가 아니냐고 비판하실 수도 있지만, 아홉 자리가 맞습니다. 연방 세무청은 새로운 시민, 새로운 납세자를 위해 컴퓨터에서 새 CPF를 생성합니다. 그래서 아홉 개의 숫자가 생성되는 것이죠. 컴퓨터가 이 아홉 개의 숫자를 만들었습니다. 그리고 이 아홉 개의 숫자로 수학적 계산을 수행하는데, 이 계산에서 마지막 두 자리 숫자가 나옵니다. 이것을 검증 숫자(check digit, R)라고 부릅니다.
이것이 해시입니다. 해시는 원본 메시지의 수학적 요약입니다. 올바른 수학적 계산을 수행하면, 원본 수치 메시지는 하나의 해시가 됩니다. 이것은 무엇을 위한 것일까요? 방금 만든 실제 우리 CPF와 위조된 CPF를 상상해 봅시다. 어떤 인터넷 사용자가 한 웹사이트에 들어가기로 했습니다.
그리고 웹사이트에 들어가면서, 그는 자기 것이 아닌 임의의 CPF를 입력합니다. 숫자를 대충 추측해서 이렇게 적은 것이죠. 이제 그가 자신의 정보를 웹사이트에 입력하기 위해 확인 버튼을 누르면, 웹사이트는 그 아홉 개의 숫자를 받아, 연방 세무청이 CPF를 생성할 때 했던 것과 똑같은 수학적 계산을 수행합니다. 그리고 결과가 30이 아니라 43이어야 한다는 것을 알아차리게 되죠.
그러면 웹사이트는 자동으로 무엇을 할까요? 유효하지 않은 CPF라고 알려 줍니다. 이 CPF가 틀렸기 때문에 사용할 수 없다고 경고하죠. 해시가 바로 이런 목적에 쓰입니다. 'r'은 메시지 내용의 무결성을 보장하는 역할을 합니다. 'r'이 틀리면 메시지는 검증될 수 없습니다. 이것이 우리를 어디로 이끌까요?
원본 메시지가 있다면, 해시를 만드는 계산을 수행하는 것은 매우 쉽고 직관적인 절차입니다. 원본 메시지에 같은 수학적, 산술적 연산을 반복하기만 하면 되고, 결국 같은 해시를 얻게 됩니다. 해시에서 출발해서는 원본 메시지를 찾을 수 없습니다.
원본 메시지는 R로부터 얻을 수 없습니다. 엄밀히 말하면 수행하는 것이 불가능한 계산입니다. '불가능'이라는 단어는 좀 강합니다. 많은 사람들이 어떤 것의 불가능성의 정도를 믿지 않으니, 더 적절한 단어를 씁시다. 해시에서 출발해 원본 메시지를 찾는 것은 사실상 불가능에 가깝습니다.
해시는 일방향 수학 함수입니다. 한 방향으로만 수행할 수 있습니다. 여러분은 이에 대해 의문을 가질 수도 있습니다. "잠깐만요, 어떤 숫자에 2를 곱해서 10이 나왔다면, 답인 숫자를 가져다가 수학적 절차를 거꾸로 해서 2로 나누면 원래 숫자를 찾을 수 있잖아요. 역산 절차를 하면 원래 입력 숫자를 찾게 됩니다." 아닙니다, 모든 경우에 그렇지는 않습니다. 이 일방향성 문제를 증명하는 아주 간단한 예를 봅시다.
어떤 숫자 n의 해시가 다음과 같다고 상상해 봅시다. n을 14로 나눈 나머지입니다. 그래서 해시를 계산하려면 원래 숫자를 14로 나누어 나머지가 얼마인지 알아야 합니다.
따라서 우리의 원래 숫자인 n으로 298이라는 숫자를 상상해 봅시다. 298을 14로 나누면, 298 ÷ 14 = 21이고 나머지는 4입니다. 자, 됐습니다. 원본 메시지를 가지고 있었고, r을 찾았습니다. 298이 원본 메시지이고, 그렇다면 이렇게 질문할 수 있습니다. 이 298이라는 숫자를 14로 나눈 나머지는 얼마일까요? 나머지는 4입니다.
글쎄요, 여기 이 4는 298을 가지고 있었기 때문에 얻기 쉬웠습니다. 이제 숫자 4만 가지고 있다고 해 봅시다. 질문은 이것입니다. 14로 나누었을 때 나머지가 4가 되는 숫자는 무엇일까요? 답은 무한히 많은 숫자이며, 찾기 어렵습니다. 이 경우 나머지 4를 만들어 낸 숫자는 무엇이었을까요?
그러니까 메시지에서 해시로 가는 것은 쉽고, 가능하며, 직관적입니다. 나머지에서 원본 메시지로 가는 것은 불가능합니다. 계속해서... 여기서는 큰 메시지, 매우 큰 텍스트 메시지를 가지고, 이 메시지를 분석해서 그것이 가진 가장 강력한 특성 중 하나, 그것을 그토록 훌륭하고 흥미롭게 만드는 특성 중 하나를 알아보려 합니다.
여기 매우 큰 메시지가 있고, 그것의 나머지를 계산했습니다. 그런데 존... 이건 텍스트 메시지, 텍스트 메시지입니다. 수학적 과정을 거칠 수 없을 것 같죠. 나머지는 이 영상에서 본 것처럼 수학적 과정입니다. 네, 수학적 과정이라는 것은 압니다. 하지만 보세요, 여러분 컴퓨터의 모든 것은 수학입니다. 모든 것이 숫자입니다. 이 메시지, 사진, 지금 보고 계신 이 영상, 이 모든 것은 전기 에너지, 즉 0 또는 1이라는 두 가지 형태를 가질 수 있는 작은 전기 펄스입니다. 우리는 이것을 애정을 담아 비트(bit)라고 부르고, 그래서 이름이 비트코인이 된 것이죠, 그렇죠?
따라서 비트는 전기 펄스, 즉 0과 1입니다. 이것들이 우리 컴퓨터가 다룰 줄 아는 모든 정보입니다. 이것이 우리 컴퓨터가 조작할 줄 아는 정보의 형식입니다. 8비트를 모을 때, 여러 비트를 모을 때, 정확히는 여덟 개를 모을 때, 우리가 바이트(byte)라고 부르는 것이 됩니다. 그래서 컴퓨터를 사용할 때 여러분은 비트와 바이트를 다루고 있는 것입니다.
16GB USB를 살 때는 16GB이고, 그것이 그 USB의 용량입니다. 초당 30Mbit 인터넷 서비스에 가입하면 그것이 초당 30메가비트입니다. 그러니까 비트와 바이트는 측정 단위이고, 각각의 0과 각각의 1, 각각의 전기 펄스, 각각의 작은 비트는 그 자체로 정보입니다. 하나의 전기 펄스죠.
자, 우리는 이것을 숫자로 다룹니다. 모든 텍스트, 모든 사진, 모든 영상, 모든 음악은 컴퓨터에게는 숫자이고, 해시 과정을 거칠 수 있습니다. 자, 이 특성을 봅시다. 이제 이 특성에 주목해 주십시오. 여기 있는 이 단어, Psalms를 보세요. 여기서 마지막 's'를 지우겠습니다.
메시지에 변화가 생겼습니다. 메시지에 변화가 생긴 것이죠. 존, 작은 글자 하나의 변화입니다. 여기도 저기도 아니고, 오히려 이 변화는 완전히 다른 해시를 낳습니다. 메시지의 어떤 최소한의 변화도, 크기가 얼마이든, 완전히 다른 해시를 낳습니다. 따라서 원본 해시가 목적지 해시와 같다면, 그것은 메시지가 변경되지 않았기 때문입니다.
'r'이 얼마나 민감한지 보시게 될 겁니다. 한 글자, 존, 한 글자면 나머지를 이렇게 바꾸기에 충분했습니다, 친구여. 한 글자보다 적은 것으로도 큰 변화를 만들 수 있습니다, 한 글자보다 적게요. 노래를 상상해 봅시다. 밥 말리의 "Redemption Song" MP3가 8.3MB인데, 아래에 해시가 있습니다. 이 노래의 해시는 8.3MB, 즉 약 6천 9백만 비트에 해당합니다. 이 6천 9백만 비트 중에서 여덟 개를 골라 봅시다. 저는 그 6천 9백만 개 중에서 무작위로 여덟 개를 골랐습니다. 자, 그중 하나에 변화를 주겠습니다. 한 비트를 바꿨습니다. 결과는 완전히 다른 해시입니다. 7천만 비트 묶음 안에서 개별 비트 하나를 바꾸는 이야기입니다. 개별 비트 하나는 대단한 양이 아니지만, 7천만 비트, 즉 69MB는 많은 양이죠. 하지만 10GB, 20GB, 훨씬 더 큰 양의 정보가 있었다 해도, 비트 하나, 단순한 비트 하나를 바꾸면 완전히 다른 해시가 나올 것입니다.
해시가 얼마나 민감한지 보여 드리기 위해, 해시에 대해 또 무엇을 기억해 둘 만한지 이야기해 봅시다. 해시의 기능은 무엇일까요? 이메일을 쓰고 있다고 상상해 봅시다. 쓴 사람, 즉 발신자가 사용한 프로그램이 이 메시지의 나머지를 계산했습니다. 메시지는 인터넷을 통해 보내지고, 목적지에 도착하면 그곳에서도 자신만의 R 버전을 계산할 것입니다. 지금 계산된 R 버전이 인터넷으로 가져온 원래 R 버전과 같다면, 괜찮습니다. 메시지는 변경되지 않은 것입니다. 서로 다른 두 메시지는 같은 R을 만들지 않습니다.
해시를 바꿀 정도의 작은 변경이 일어난다면, 나머지가 바뀌지 않았다는 것을 알고 있다면, 나머지가 계산되었고 나머지가 원래 나머지와 정확히 같다는 것을 알고 있다면, 메시지가 단 하나의 비트도 변경되지 않았다고, 아주 작은 한 비트조차 변경되지 않았다고 확실하게 단언할 수 있습니다.
자, 첫 번째 주제인 나머지(해시)에 대한 결론으로 가 봅시다. 이 첫 번째 영상도 끝나갑니다. 여러분이 이것을 이해하는 것이 필요합니다. 그래야 뒤따르는 비트코인의 전체 작동 방식을 이해할 수 있습니다. R은 디지털 정보의 내용을 보장할 목적으로 디지털 정보를 요약합니다. R의 기능은 메시지 내용의 무결성을 보장하는 것입니다. 나머지는 일방향 수학 함수입니다. 즉 해싱 과정을 뒤집는 것은 불가능합니다. 해시를 바탕으로 원본 메시지를 발견하는 것은 불가능하며, 정확히 말하면 사실상 불가능합니다. 해시는 변경에 극도로 민감합니다. 메시지의 비트 하나에 대한 어떤 최소한의 변경도 해시의 완전한 변경을 낳습니다.
마지막으로, 해시를 확인하는 것, 즉 해시를 검증하는 것, 해시가 유효하다고 말하는 것은 메시지 자체를 확인하는 것과 같습니다. 메시지와 해시가 있고 "나는 이 해시를 신뢰한다, 이 해시는 믿을 만하다"라고 말한다면, 그것은 "이 메시지는 믿을 만하다"라고 말하는 것과 같습니다. 계약서 끝에 서명할 때 그 모든 페이지를 확인하는 것과 같죠.
Similarly, 계약서 마지막 페이지에 이니셜을 적어 전체 문서를 검증하듯이, 그 페이지에 적힌 모든 글자가 검증 대상이 되는 것처럼, 해시를 검증한다는 것은 곧 메시지 자체를 검증하는 것입니다.
자, 이번이 비트코인과 암호화폐에 대한 우리의 첫 만남입니다. 해시를 잘 이해하는 것이 필요합니다. 해시가 얼마나 민감하고, 얼마나 안전하며, 수학적으로 얼마나 확실하게 보장되는지 이해하고 싶다면 필요할 때 이 강의를 다시 보시기 바랍니다.
해시는 모든 암호화폐, 특히 비트코인의 기본 원리이자 기본 자원 중 하나입니다. 다음 영상은 이번 주나 다음 주에 올릴 예정이며, 거기서는 이어서 디지털 서명 과정을 이해하는 단계로 넘어가겠습니다.
자, 여러분 모두에게 포옹을 보냅니다. 우리 강좌 "제로에서부터: 비트코인 이해에서 신뢰까지"는 다음 시간에 계속하겠습니다.







Comments 0