비트코인 따라잡기 2
4. 기술적인 내용을 더 알아야 필요가 있을까?
이세상에 Hacker들이 없다면, 저번Post의 내용만으로 충분할 것이다. 그러나 현실은 다르다.
가령,저번에 언급한 Mycelium이라는 Wallet은 Smartphone에 설치되어 있으므로,예를들어 Smartphone에 침입한 악성 Spyware가 Private Key를 알아내어 몰래 Hacker에게 보내준다면 어쩔 것인가?
"암호화하여 잘 보호하고 있겠지"라고 믿을 수도 있지만,큰 금액을 보유하고 있다면,당연히 불안할 것이다. 한발짝 더 나아가,과연 내가 Load한 이것이 과연 Mycelium이라는 회사의 진품이 맞을까? 하는 의심을 할 수도 있다. Google Store에 Hacker가 침입할 수 있었다면,진품의 Mycelium대신에 Spyware가 섞인 가짜 Mycelium으로 대치할 수도 있지 않겠는가?
예를들어,아무도 모르게 하루중 어떤 짧은 기간동안에는가짜가 진짜를 대치하고 있을 수도 있다(눈치채기 어렵게). 그러니,Mycelium같은 Online형의 Hot Wallet에 큰 금액을 보유하는 것은 권장할수 없다. 그렇다면 다른 아주 안전한 Wallet이 있는가? 물론 있다. 이처럼 Hacker에 당하지 않기 위해서라도,가상화폐의 여러가지 기술적 측면을 잘 조사해 둘 필요가 있다.
또다른 이유를 들겠다. 가상화폐에 투자를 한다면 그것의 장래성에 대한 기대와 믿음을 갖고 있다는 뜻이다(물론 눈감고 따라하기식의 투기를 하는 이들도 있겠지만). 가상화폐에 대한 기술적 이해도에 따라 Bitcoin system에 대한 당신의 Vision이 달라진다. 신념이나 Vision같은 것은 본인 스스로가 조사하고 연구해가는 과정에서 생기는 것이지, 다른 이들이 당신의 마음속에 심어줄 방법은 없다. 이 Post는 그런 이해와 조사과정에 도움이 되었으면 하여 올리게 된것이다.
이 가상화폐 투자는 소위 "컴맹"이나 IT분야에 대한 지식이 너무 얕은 사람들은 접근하기 어려운 측면이 분명 있다. 그런 배경 때문에 "가상화폐에 투자하는 ETF"같은 이야기가 솔솔 나오는데,필자의 의견으론 이건 성사되기 힘들다. 기존의 서양의 Power Elite들은 Banker들과 금융재벌들이고,사회전반 특히 언론 출판 메스컴에서 막강한 영향력을 가진다. Bitcoin System은 기존Banking체제를 제끼고, 직접 거래당사자끼리,결재하는 Borderless internet currency이므로,기존 Elite들의 Power의 근간을 약화 시킨다. 이들에게 있어서 Bitcoin의 성장은 큰 위협이다. 따라서,기존 Regime들은 강력하나 은밀하고 교묘한 영향력을 이용해서, 은연중에 Bitcoin에 대한 Negative한 관념의 유포,disinformation,흑색선전,모략 등등으로 최대한 저지하려고 할것이라는 것을 미리 예상해야 한다(현대는 information war의 시대다). 그러나,필자가 보기엔 그러한 책략을 쓰기에는
이미 때는 늦었다. 일본은 이미 금년4월부터 Bitcoin을 법정 지불수단으로 인정했고,호주,러시아,인도 등등의 나라도 긍정적으로 방향선회 하면서 국가간 경쟁분위기 조차 느껴질 정도다. 그러나 원칙적으로 말하면, "Bitcoin을 법정 지불수단으로 정부가 인정했느니 않했느니"하는 것 부터가 원래 말이 않되는 것이다. 주권재민의 정신에 바탕한 Free Country 민주주의 국가에서,내가 무엇을 사든 무엇에 투자하든 그건 정부가 간여할 문제가 절대 아니다.
사람들이 Bitcoin같은 가상화폐를 구매하는 이유는 주로는 투자의 목적이 대부분이고,상품과 용역에 대한 지불수단으로 실제 활용하는 것은 아직은 드문것 같다. 그러나,Bitcoin ATM도 점점 광범위하게 도입되고 있고,Bitcoin결제가 가능한 Online Shop도 증가 일로에 있으며,일본의 경우 수많은 소매점들이 점점 Bitcoin결재에 참여하게 될 것같다 .
5.Bitcoin 송금이란 실제론 무엇인가?
우리는 앞의 2에서 Korbit거래소로 부터, Mycelium의 Address로 Bitcoin을 보내고 받는 과정을 경험했었는데, Mycelium에 뭔가 기묘한 암호 File이라도 오는 것일까?
아니다! Mycelium에 오는 것은 하나도 없다! 우선, Mycelium이 하는 일은,주기적으로, Bitcoin Network와 접속하여 그곳에서 보관및 유지되는 Blockchain이라는 거래기록을 열람하여,혹시 새로 등록된 거래중에서 당신의 Address(이를 M이라 하자)를 수취인으로 하는 거래가 없었는지를 늘 Check한다.
한편, Korbit거래소는 고객인 당신의 Coin출금 요청에 따라,
Korbit이 관리하는 Address K로 부터 당신의 Mycelium Address인 M으로 가령 1.5BTC를 보낸다는 내용의 거래서(전자문서)를 작성하고,그것을 K에 대응하는 Private Key로 Digital Sign한후 Bitcoin Network에 제출한다.
한편 Bitcoin Network는 그 거래서의 내용을 검증하고 모든게 합당하면,비슷한 시기에 접수된 수많은 다른 합당한 거래서들과 함께 한권의 File로 묶여지는데(이것을 Block이라함),대략 10분 마다 1개의 꼴로 새Block이 생성된다.
"나까모토 히또시"라는 Pen name을 쓰는 창시자가 최초의 Block,소위"창세기Block",을 생성한 이후,평균잡아 10분마다 새블록이 추가되어 왔으며,앞으로도 그럴것이다. 부모Block과 자식Block은 암호기술에 의해서 연관지워져 있는데,이를 사슬에 비유하여 Blockchain이라는 용어를 쓰는 것이다. 거래기록의 내용은 대부분 "Address X가 Address Y에게 aa.bbbBTC를 보낸다"는 식의 내용이다. Bitcoin Network가 무엇인가에 대해서는 나중으로 미루고,지금은 그냥 어떤Server가 있다고 생각해도 무방하다.
Mycelium은 주기적으로 이 Blockchain을 열람하여(누구나 열람 가능) Address M에 송금해 오는 거래가 없었는지 조사하고 그런 것이 있으면,Mycelium의 Balance(잔액)표시에 반영을 해주는 것이다. 또한,당신이 원하면 Address M으로 부터 다른 Address로 출금하는 거래서를 작성하고 Sign(Private Key)하고 Network에 제출하는 일도 한다. 즉,Bitcoin system의 핵심은 바로 이 Blockchain이다. Blockchain이 Bible인 것이다. Blockchain에, "K가 M에게 1.5BTC를 보냈다" 라고 등록 되어 있으면,모두가 M에 1.5BTC가 있는 것으로 인정하자는 것이다. 그래서, Bitcoin은 형태가 없는 화폐란 뜻에서,Virtual Currency(가상화폐)라고 부른다. 또,암호기술이 핵심적 역할을 하기에 Crypto Currency라고도 한다.
따라서 Mycelium이라는 Bitcoin Wallet은 사실 "Wallet"이라기 보다는 "Key Holder"라고 부르는게 더 타당한 것이었다. 왜냐하면,Wallet(지갑)이란 우리의 보편 인식으로는 지폐를 보관하는데 쓰는 것이기 때문이다. 그런데, 우리의 Mycelium은 Private Key와 Address를 생성하고 그것을 보관하고 있을 뿐,화폐라고 부를만한 다른 어떤것도 가진게 없다. Blockchain내의 기록중 Address M에 관계된 거래들을 종합하여 잔액을 표시해 줄 뿐이다.
Hacker들이 Blockchain의 내용을 변조 조작하거나 없애거나,또는 Spam이나 Hacking으로 아예 System을 Down시킬수 있지 않겠느냐 라고 걱정할 수 있겠다. 그러나,Blockchain의 놀랍고 뛰어난 점은 그러한 것이 현실적으로 불가능하다는 데 있다. 2008년경에 Bitcoin의 Blockchain이 시작된 이래, 수많은 Hacker들이 다양한 방법으로 흔들기에 도전 했겠지만,지금까지 한번도 이 Blockchain System자체가 흔들린 적이 없다. 그리고 한번 저장된 기록은 재편집,변조,망실이 불가능하며 원래의 상태대로 "영원히"(Internet이 존재하는 한)Blockchain에 남는다. 역사의 흐름처럼, 한번 벌어진 일은 시간을 거슬러 올라가 고치거나 정정할 수가 없듯이,자연계가 비가역적인 시간의 화살을 갖고 있듯이,한번 벌어진 일은 되돌릴 수가 없다. 낙장불입이다! 그래서 Bitcoin의 Blockchain을 Truth Machine이라고 말하는 사람도 있다. Blockchain Technology의 이러한 특징 때문에,이 Technology는 가령, 부동산 등기System이나, 특허의 등록체계,공증업무,전 지구적 규모의 File System등등 다양한 Application이 구상 되어지고 있다.
한편, Bitcoin의 Blockchain의 기록은 누구나 열람할 수 있다. 즉, Public(Open) Ledger System이다.
다음 링크를 클릭한후, 검색난에 당신의 Address를 넣어 검색 해보면,그 Address가 포함된 모든 입금 출금기록을 자세히 볼수 있다.
Blockchain.info
다시 강조하지만,Wallet에 가상화폐가 있는 것이 아니다. Blockchain에 있는 거래기록의 내용들이 핵심인 것이다.
그리고 그 기록들은 망실이나 변조됨이 없이 계속 살아나갈 것이므로,2절과 3절에서 당신이 Korbit거래소의 계정으로부터 Mycelium의 Address로 송금한 그 기록은 먼 미래 당신의 증손자들도 보고 확인할 수 있게 될 것이다.
참고로,Korbit내에서의 Bitcoin 매매는 Korbit의 Pool내에서의 전산 거래일 뿐 Blockchain에 기록되는 거래는 아니다.
6. Confirmation의 뜻
이제는 Confirmation의 뜻을 설명할 수있는 단계가 되었다. 2절에서 우리는, Mycelium의 Transaction Tap에서 거래가 진행되는 상황을 보았었는데,
"0Confirmation"이란 표시가 떴다는 것은,그 때 우리의 거래서가 포함된 새Block이 Blockchain에 신규로 추가되었음을 뜻한다. "1confirmation"이란 그 이후 또한개의 Block이 더 추가 되어 쌓였음을 말한다. 이하 동일.
그런데 왜 입금된BTC를 출금하기 위해서 최소 7confirmation까지 기다려 달라고 하는 것일까? 이것은 그렇게 하지 않을 경우 Hacker들에 의해서 Double Spend라는 사기거래가 일어날 소지가 있다고 보아서 만든 방지 조치이다. 이건 그냥 그러려니하고 넘어가자.
Bitcoin으로 상품대금을 결재받는 상인의 입장에서 보면,금액이 별로 크지 않은 거래라면 고객으로 부터의 송금이 0Confirmtion상태라면,그 시점에서 상품을 발송해도 무방할 것이다. 금액이 좀 크다면 3Confirmation쯤까지 본후 상품을 발송하는게 마음이 놓일지도 모른다.
7.거래서를 검증한다는 것의 뜻
5절에서 Bitcoin Network는 거래서의 합당성을 검증한다고 했는데,그게 무슨 뜻인가? 예를 들어 설명하겠다. Korbit거래소의 Address K로 부터 Mycelium의 Address M으로 1.5BTC를 보내는 거래를
K(1.5BTC)M
로 표현하기로 하자. 이 거래가 7confirmation 만큼의 시간이 경과해서, 이제 M이 이1.5BTC를 출금할수 있게 되었다고 하자.
M이 받은 1.5BTC중 1.25BTC를 Z로 보내려 한다고 가정하자. 거래서는 input이라는 부분과 output이라는 부분이 있는데,input부분에서는 Spend(소비)하려는 자금의 근거(Blockchain상의 근거)를 제시해야 한다. 우리의 경우, Korbit의 K로부터 M으로 1.5BTC가 송금되었던 좀전의 그 거래를 근거로 제시하면 된다. Blockchain내의 모든 Transaction(거래)들은 고유한 Txid(Transaction id;거래 고유부호)를 갖는데 구체적으론 이것을 제시하면 된다. 이를 Txid{K(1.5BTC)M}으로 표시하자.
한편 Output부분에는 어느Address에 몇BTC를 보내는지를 기술한다. 따라서,
input : Txid{K(1.5BTC)M}
output: 1.25BTC to Z
의 꼴이 될것이다.
이제 "검증"의 정확한 의미를 설명할수 있는 단계가 되었다. Bitcoin Network는 위 input내용을 본후, Blockchain의 내용을 열람하여,
- 그런 거래기록이 실지로 있는지,
- 혹시 Double Spend가 아닌지,다시 말해서 Txid{K(1.5BTC)M}를 과거에 input에서 이미 사용한 적이 있었는지,
- output의 금액 합계가 input의 금액합계와 같거나 적으면 합격. (단, 차액이 있는 경우 그것은 Tx fee로 간주되어 Miner에게 주어진다)
- 이 거래서가 과연 Address M에 대응하는 Private Key로 Sign된것인지를 확인.
Bitcoin Network는 거래서에 첨부된 Digital Signature(Sign)를 보고,그 거래서가 M과 쌍이 되는 Private Key로 Sign되었다는 사실을 검증할 수 있다. 물론 이 과정에서 Private Key자체는 절대 노출되지 않는다.
여기서 예로 제시한 input과 output은 좀 문제가 있는 것이었다. 왜냐하면 잔돈에 해당하는 0.25BTC라는 좀 큰 금액이 Transaction Fee로 지급되기 때문이다. 따라서 제대로 하자면,
input : Txid{K(1.5BTC)M}
output: 1.25BTC to Z , 0.2495BTC to M
의 꼴이 더 좋았을 것이다. 이 경우엔 잔돈의 대부분은 도로 M에 귀속시키고, 0.0005BTC만 Transaction Fee로 지급하는 것이 된다. (골치 아파할 것은 없다. 이러한 세부적인 것은 Mycelium이 다 알아서 한다.) 이렇게 거래가 진행되었다면, Mycelium은 M의 Balance를 0.2495BTC라고 표시하게 될것이다. 그리고,향후 M에서 다시 출금을 할 때의 input부분에는 바로 이 거래의 Txid를 제시하여 최대 0.2495BTC를 Spend할 수 있게 된다.
물론 input에는 여러개의 자금 근거를 열거할 수도 있다. 가령,
input : Txid{A(2.25BTC)M} , Txid{K(1.5BTC)M}
output: 3BTC to S , 0.74995BTC to M
과 같은 거래도 가능하다. 이 경우엔 원래3BTC를 S로 보내려고 하는데, 두 거래 모두 3BTC미만이므로 두 거래를 다 동원해야 한다. 단, 향후의 거래에서는 두번 다시 Txid{A(2.25BTC)M} 나 Txid{K(1.5BTC)M}를 써서는 안된다. Double Spend가 되기 때문이다.
여기서 영민한 독자들은 한가지 의문이 들것이다. 누구에선가 BTC를 받았었던 과거의 거래기록을 근거로써, input부분에서 Refer를 해야 한다 했는데,근거의 근거를 계속 역추적하는 경우,그 사슬이 무한히 계속될 수는 없는고로,과거 누군가는 input부분에 아무것도 제시함이 없이 그냥 Output부분에서 BTC를 부여 받는(화폐발행에 해당)특별거래가 반드시 있어야 한다고 결론 내렸을 것이다.
그렇다. 이것이 소위 "채굴"과 관계되는 특별 거래로써,"Coinbase Transaction"이라 말하는 거래다. 각Block은 하나의 Coinbase Transaction을 포함하고 있다. 이 채굴의 이야기는 좀 복잡하므로 지금은 그려려니 하고 넘어가자. 단,현재 유통되는 모든 BTC들은 그 근원으로 거슬러 올라가면, 과거 언젠가 채굴자(채굴자의개인 Address)들이 채굴해서 얻게된 BTC들로 귀착한다는 사실만 알고 넘어가자.
Bitcoin Network라든지 채굴 같은 것은 나중에 다시 논할것이다. 한번에 모든 것을 깊히 알기는 힘들다.
8. Private Key의 보안 및 Recovery(복원)
이상의 설명에서 알수 있듯이,Mycelium이라는 Wallet이 보유하고 있는 핵심정보는 그가 생성한 Key Pair즉 Private Address및 Address 정보이다. 원래 생성과정에서 Private Key가 먼저 생성되고 이로부터 공표된 Deterministic한 수학공식에 따라 Address가 생성된다. 그러나 역으로,Address에서 그에 대응한 Private Key를 찾아내는 것은 현실적으로는 거의 불가능한 것으로 알려져 있다. "현실적으로"란 말의 뜻은 가령 엄청난 Super Computer를 써서 해를 얻는데 수백년이 걸린다면 그것을 시도하는 것 자체가 경제적으로 바보짓이 된다는 뜻이다. 값싸고 빠른 양자Computer가 등장한다면 이것이 경제성이 있는 영역으로 들어올 가능성이 있지 않겠느냐 하는 논의도 있는 모양인데,수학자들과 암호전문가들이 태평인 것으로 보아 실제로 그럴 가능성은 없다고 본다. 하여튼 이 기본 전제가 깨어지면 Bitcoin System은 통째로 무너지고 만다.
Mycelium이라는 Android용 App을 개발한 회사의 입장에서 생각하면,
- 생성한 Private Key를 안전히 보호하는 일.
- 그 App을 설치한 고객이 그 Smartphone을 분실 했다든가,Smartphone이 고장이 났다든가 하는 사고에 대한 대처방안
이 두가지에 대한 것이 회사의 신용과 직결되고,고객Service의 핵심 내용이 된다. 우선,Mycelium의 어느 메뉴나 어떤 Button을 눌러도 Private Key의 원 모습은 절대로 보여주지 않는다. 고객에게 보여줄 수 있다면 Hacker에게 취약한 약점이 생긴다고 보아야 한다. Smartphone분실은 흔히 있을 수 있는 문제므로 그 대책으로써 PIN Code를 설정할수 있도록 한 것이다. Smartphone을 습득한 사람이 만일에 하나 Mycelium에 Access할 수 있다 하더라도 PIN Code를 모르면 허사가 되도록 하는 것이다. 이리하면,우연한 습득자가 당신의 Bitcoin을 다른 Address로 출금하는 사태를 막을 수 있다. 한편, 당신은 새로 장만한 Smartphone에서 Mycelium을 설치할 때,전에 사용했던 그 Private Key를 다시 복원할 수 있는 과정이 필요한 것이다. Mycelium이 Backup수행을 강조하는 이유가 이것이다. 이제 Backup의 중요성을 인식했으면 Backup을 한번 수행해 보기를 권한다.
9. Wallet의 여러 종류
Hot Wallet
Smartphone에 설치한 Mycelium은 internet과 항시 연결되어 있어서 Address의 잔고(Balance)상태를 즉시 볼 수 있고,또 필요시 즉시 송금거래를 시작할 수 있다. Smartphone이 아니라 PC에 설치하는 Wallet도 있다.
이러한 Wallet들을 Hot Wallet라고 부르는데,설치된 환경자체가 Internet에 연결되어 있으므로,Hacker들의 Spyware가 침입하여 Private Key정보를 도난당할 우려가 있다.(현재,가상화폐는 Hacker들에게는 새 황금시장이다) 따라서,큰 금액을 보유하는 것은 절대 피해라. 다음의 사항들을 유념할 필요가 있다.
- Wallet Program그 자체가 문제일 수 있다. 즉,그 Program을 Down받은 그 Site가 Hacker가 만든, 진짜와 이름만 비슷한, 가짜Site일 수 있다. 그러니,무심히 아무데서나 Down받아선 안된다. 여러 가능성에 대해 심사숙고하라.
- Wallet Program자체는 문제가 없어도,설치된 운영체제(PC나 Phone)자체내에 Spyware같은 것이 있을 수 있으므로,Program자체의 안내서나 설명서를 잘 살펴보고 거기서 권하는 바를 따를것.
Paper Wallet (Cold Storage)
Private Key와 Address를 생성해 주는 여러가지 Program들이 있다. 이를 이용해서 세상에 나만이 아는 Private Key와 Address를 생성하여,이를 종이에 써두거나 Print로 출력해두거나 또는 USB Memory에 저장해둔 것을,Paper Wallet이라 한다. 이미 이해 하겠지만,Address를 알면 누구든지 그리로 BTC를 송금을 할수 있다. Address의 현 잔액을 알고 싶다면 앞서의 Bitcoin Explorer를 이용하면 될 것이다.
한편, 저축한 BTC를 소비할 시점이 되면,Hot Wallet의 "Private Key import"기능을 이용해서 Hot Wallet에 Private key를 import한후 원하는 조치를 취할 수 있다. 만일 저축한 BTC의 일부만을 소비하고 싶다면,따로 또하나의 Paper Wallet을 준비한후, Hot Wallet에 import후 출금을 할때,소비하고 남은 잔액은 새로 만든 Paper Wallet으로 보내면 된다.
Paper Wallet은 돼지 저금통의 느낌으로 사용할 것을 권장한다. 즉,한번 Hot wallet에 import한 Paper wallet은 다시 사용할 생각은 말아야 한다.
다음 Website는 Online에서 직접Keypair를 생성해 주는 Website인데,대략 Keypair의 생성이 어떤 것인지 느낌을 갖기위해 일단 경험은 해 보시되, 여기서 생성한 Keypair를 실제로 사용하는 것은 권하지 않는다. 이 링크위에 Mouse를 가져간 후 마우스 우측버튼을 누른후 "새탭에서 링크 열기"를 선택해 보라. Random seed를 얻기 위해 마우스를 이리저리 움직여 주기를 요청할 것이다.
paper wallet generator
100% 안전한(99.9%가 아니라!) Private Key및 Address를 얻기 위해서는,
- 신뢰할 만한 Site에서 Generator Program을 Down받은 후,
- Clean OS(Spyware나 Virus가 없는 깨끗한 설치초기 상태의 OS)를 준비하여,거기서 Program을 작동시키되,Internet접속을 끊은 상태에서 수행해야 마음이 놓일 것이다.
- 일단 작업을 마친후에는 혹시 PC에 남아 있을지도 모를 Text File이나 image file등등 일체의 작업 흔적을 싹싹 지워야 하는 것도 중요하다.
- 그후, PC를 끄거나 또는 또는 Rebooting시키고, 혹시 Printer를 가동했다면 Printer도 한번은 Off했다가 켜는 것도 잊지말자.
이렇게 하여 얻은 Private Key와 Address를 종이에 옮겨 적으면(또는 Print로 출력하거나) 그것이 Paper Wallet이다. 물론 이 정보를 Text file에 넣어서 USB Memory에 저장할 수도 있다.
- Address는 필요시 노출해도 걱정이 없으나,Private Key만은 절대로 타인에게 노출해서는 않된다.
- 적어도 2가지 이상의 저장 수단을 이용해서 2중3중으로 대비하라. 종이에 쓰거나 인쇄하여 보관하는 것이,모든 것을 감안시, 제일 안전하고 확실하다(전자매체는 고장이 날 수도 있으니까). 오랜 세월에 인쇄 ink가 바래서 못 읽게 되지 않을까? 심지어 그런 걱정도 해볼것(장기 보관이라면).
다음 Web Site는 github내의 Canton Becker씨의 site로, bitcoin wallet generater를 제공하고 있다. 이건 Program이라기 보다는 Java Script가 포함된 html문서므로, Web Browser에서 작동하는 것이다. 이곳을 방문하여 README라는 안내문이 있으니 이를 잘 읽어보고 나서,ZIP file을 Down받으면 된다. Java Script는 어려운 언어가 아니라,혹 문제가 있었다면 이용자들이 벌써 지적을 했을 것으로 보기 때문에 필자는 안전하다고 믿는다. 그렇더라도,README에서 설명한데로, Down load받은 File을 그 Signature File과 대조하여,과연 Canton Becker씨가 만든 원본File인지 여부는 반드시 Check해보기를 권한다. (GPG에 대한 공부를 좀 해야 할것이다)
Hardware Wallet
이것은 Hot Wallet과 Paper Wallet의 장점을 취한 Hardware형태의 Wallet이다. PC나 Smartphone에 USB port로 연결하여 사용한다. Private Key노출 가능성이 없고,수시로 입출금이 가능하다. USB내에는 Key pair들을 생성 보관하는 기능과 거래서에 Sign을 하는 기능만 들어있다. 같이 연동하는 PC용 Program이 있어 이것이 대부분의 작업(거래서 원본의 작성,Blockchain검색 및 잔고표시)을 하지만,거래서에 Sign을 하는 마지막 작업만은 USB내에서 이루어지고 Private Key정보가 USB를 떠나는 일은 절대 없도록 설계 되어있다. Sign된 거래서는 PC측Program이 다시 건네 받아서 internet에 Broadcast하는 방식이다.
신용있는 Maker의 제품을 구입하되,중간 단계를 거치지 말고,Maker의 Web site에서 직접 구입하는 것이 좋겠다. 운송되는 과정에서 Firmware의 변조 가능성에 대비하여, Keepkey제품의 경우 제품 포장Box를 특별한 Seal로 봉하는 방식을 취하고 있다. 필자는 그동안 Keepkey라는 제품을 써오고 있다가,최근에 Ledger Nano S라는제품을 구입했었는데 물건을 받아본 후 좀 놀랐던 것은 간단한 포장만 되어 있을뿐 Seal같은 것이 전혀 보이지 않았기 때문이었다. 그런데 Box내의 안내서를 본후 크게 수긍이 되는 바가 있었다. 이 제품은 소위 "Attestation"이라는 방법에 의해서 제품의 Authenticity가 제품의 Design자체와 혼연 일체가 되어 있어서,아예 Seal같은 것이 불필요한,더 우수하고 신뢰성 있는 체계였다.
여담이지만,제품의 Authenticity의 문제라든가,어떤 File이나 Web Site또는 인물의 Authenticity의 문제는 실로 골치아픈 문제인데,앞으로 계속 진화할 Blockchain기술에 의해서 근본적으로 해결되리라 믿는다.
현재 잘알려져 있는 Hardware Wallet Maker로는 Keepkey, Trezor, Ledger Nano등이 있다. 필자가 보기에 Ledger Nano S는 저렴한 맛에 구입했으나,사용하기엔 Keepkey보다는 불편할 것이 예상된다. 좀 더 비싸지만,같은 회사의 Ledger Blue정도를 살것을 그랬다 생각하고 있다. 다음은 이 회사의 Web Site인데 구입할 생각이 있으면 이Site에서 상세 내용을 알아보고 자기에 맞는 제품을 구입하기 바란다. Signup을 하지 않아도 제품 구입을 할 수 있다.
비상사태시의 문제
Paper Wallet이나Hardware Wallet은 그 성격상 큰 자금을 보유하는데 쓰이게 마련이다. 아무도 모르는 방식으로 거금을 보유 하고 있다는 것이 매우 든든한 일이기는 하나, 또한가지 고려 해야할 중요한 측면이 있다. Swiss비밀계좌도 그러한 측면이
있는데,Wallet의 주인인 당신의 신변에 치명적인 일이 발생했을 때, 미리 대비가 없으면 그 거액은 아무도 모르게 사장되어지고 말 것이다. 그점도 고려해 두고 있어야 할 것이다.
다음 Post에서는 Blockchain이 왜 Hacker들의 공격에 대하여 난공불락인지와, 이 System이 왜 internet상에서 계속 존재할수
밖에 없는지(Bitcoin system is here to stay!)에 대해서 이야기를 하려 한다. 그러기 위해서는,Bitcoin Network System이 어떻게 구성되고 작동하는지와 Blockchain의 내용이 왜 변조/망실 될 수가 없는지를 설명할 것이다.
글 감사합니다 :)
블록체인 주제 관련 게시글 태그에는 한국어 태그로 #kr과 블록체인 및 암호화폐 관련 게시글 태그인 #coinkorea 태그를 붙여 주시면 더 많은 사람들이 보실 수 있을 것 같습니다. 또한 암호화폐 관련 게시글의 세분화된 태그로 만약 관련된 코인에 대한 글을 작성하신다면 #kr-btc #kr-eth과 같은 kr-코인 기호명과 같은 태그를 붙여 주시면 더 많은 분들이 읽으시고 도움받으실 수 있을것 같습니다.
그와 관련된 게시글을 한번 읽어주시고 동참해주시면 정말 감사하겠습니다.
Steemit KR 커뮤니티 CoinKorea 프로젝트
가입인사 태그 및 CoinKorea 태그 세분화 제안