2. (Block chain, Bitcoin) 비트코인, 이더리움등 지갑/코인 주소(1a3ddalyhvcdCc45 ..)에 얽힌 비밀
1LZMLtn18aZUUbRaYZmWRX3TTBd8ur9XZ6
블럭체인 (BTC,ETH,ETC,LCT...)들의 주소에 얽힌 비밀 과연 무슨의미일까요?
위 주소를 보시면 어떤 생각이 드시나요? 그냥 웹사이트의 주소 같기도 하고 어찌보면 아무말대잔치 인것 같기도 하고 고양이가 자판위를 여러번 지나간 흔적같아 보이기도 합니다. 혹이 외계에서 지구와 소통을 해보려고 보낸 메세지가 아닐까.. 잡설이 길었습니다.
블럭체인에 관심이 있는분이나 실제 소유하고 투자하고 있는분들이라면 주소라는것을 한번에 아실것입니다. 그런데 투자를 하고 있는분들임에도 불구하고 왜 저런 모습을 하고 있는지에대해서 알고있는 사람은 많지 않을것 같습니다.
이것을 보시고 암호다 하시는 분들은 대단한 식견을 가지고 있는 분입니다. 만약 이것을보시고 바이너리 (Binary)파일 라고 하시는분들께서는 이 글을 보지않고 뒤로가기 하시면 되겠습니다. 그렇습니다. 저주소의 비밀은 바로 바이너리 입니다.
컴퓨터의 모든 정보와 자료들은 0과 1로 저장된다는것을 영화 '매트릭스'를 보신분이라면 아실것입니다. 0과 1을 가지고 표한하는 것을 이진법이라고 합니다. 우리 사용하는 배열은 10진수로 1,2,3,4,5,6,7,8,9,0 입니다.
조금 어려운 내용일수 있지만 이진수의 배열은 아래와 같이 시작합니다.
이를 이진수라고 하는데 이보다 효율을 높힌방법이 16진수 입니다.
16진수는 0~9까지의 숫자와 영어 알파벳의 A 부터 F 까지를 사용합니다.
그러니 10진수의 10은 16진수의 A 에 해당하는것이지요
만약 5 12 14라는 숫자가 있다면 이를 16진수로 나타내면 5BE 입니다. 드디어 알파벳이 나왔네요 분명 숫자들의 배합인데 말입니다. 16진수로 나타내니까 알파벳이 나타났습니다. 그렇지만 16진수로 표기할때는 앞에 Ox을 붙이기로 규칙을 정해 놨습니다. 그래서 Ox5BE 가 됩니다.
미국에는 바이너리 관련하여 아스키코드(ASCII Code) 라는 것이 있습니다. 컴퓨터 내에서 영어와 숫자 특수문자까지 포함하여 다양하게 자료를 표현할수 있습니다.
우리가 만약 키보드에서 100을 입력한다면
이진수로 1100100
16진수로 Ox64
ASCII로 d 가 됩니다.
복잡하게 생각할필요는 없습니다. 그냥 그렇구나 하고 끄덕끄덕 하시고 넘어가시면 됩니다. 10진법의 54(오십사)를 이진수 16진수 아스키로 했을나 나오는 값을 구하시오 (10점)
이런문제는 시험문제로도 나오지 않으니까요. 그냥 컴퓨터가 정해진 알고리즘대로 우리가 입력값을 제시하면 결과값으로 보여주는 것 뿐입니다.
비트코인 의 지갑주소는 대부분 1LZMLtn18aZUUbRaYZmWRX3TTBd8ur9XZ6 이러한 형태를 띄고 있습니다. 이것은 이미 다양한 알고리즘과 함수값을 대입하며 나온 결과값입니다. 이걸 역으로 추적해서 실제 주소가 누구인지 주인이 누구인지 지역이 어디 있지는 절대 알수 없을 것입니다.
그래서 비트코인의 해킹에 대한 안정성이 보장된다고 말하는 것입니다. 이런 보안문제를 이야기 할때 반드시 해시함수에 대해서도 짚고 넘어가야 하지만 내용이 이것보다 어려워서.... 다음기회에 다음 공부자료로 찾아 뵙도록 하겠습니다.
제맘대로 결론을 내리자면 지갑이나 주소를 사용할때 나오는 결과값은 이미 극도로 암호화 되어있고 거기에 함수까지 섞인 내용이기 때문에 보안이 아주 철저 하고 해킹을 하기가 매우 어렵다는 점을 시사합니다. 결국 이 주소로 우리가 소유하고 있는 블럭체인(비트코인)을 다른사람들에게 보내면 네트워크의 노드 (마이너)들이 알아서 정리를 해줄것입니다. 그럼 우리가 원하는대로 코인이 다른사람에게 잘 전달 되게 될것입니다.
뭔가 어려운 내용이 아닌데 제가 더 어렵게써 놓은것 같아 마음이 불편합니다.
만약 이 글을 읽어주는 사람들이 있다면
정말 감사합니다^^
그럼 다음에 또 뵙겠습니다.
잘 정리해놓았네요^^