리스트에서 무작위로 배열안의 멤버를 추출하는 법을 소개한다.


물론 아래처럼 random모듈을 사용해서 할 수 있다.


import random


alist= [1,3,4,5,3,2,1]

n = random.randint(0, len(alist)-1))

print(alist[n])


위 처럼해도 큰 문제는 없다마는 두번 생각해야하고 좀 아니다 싶은 생각이 든다. 그러던  중 여기저기 찾아다니다 좋은 방법을 찾아냈다.


python3.6.3 (현재로서는 최신버전이다) 에는 secrets이라는 모듈이 새로 생겼다. 훨씬 좋은 난수 발생기라고 한다.


The secrets module is used for generating cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tokens, and related secrets.


import secrets


alist= [1,3,4,5,3,2,1]

print(secrets.choice(alist))


이렇게 하면 좀 더 깔끔하고 쉬운 코드로 무작위 추출을 할 수 있다.

그럼 이상 초간단 포스팅을 마치겠다.





두바이 정부의 '스마트 두바이' 관계자 Aisha Bin Bishr는 두바이 정부가 2020년까지 세계 최초로 전 도시의 블록체인(blockchain)화를 이루겠다고 발표했다. 이에 대해 과거 조그만 어촌에서 지구촌의 금융허브로 성장한 두바이가 또 다시 찾아오는 큰 변화의 물결을 준비하는 것이라고 WSJ은 긍정적으로 평했다.

전 도시의 블록체인화란 무엇일까?

블록체인이라는 용어를 한번 쯤은 들어 보았을 것이다. 최근 가장 핫한 가상화폐인 비트코인을 실현 시킨 기술이다. 비트코인이 가동되는 비트코인-블록체인은 2008년 최초로 만들어진 블록체인이고 현존하는 최대의 블록체인이지만 유일한 블록체인은 아니다. 현재 여러 종류의 블록체인이 존재하고 있으며 이 글을 읽고 있는 여러분도 고도의 프로그래밍 능력을 가지고 있다면 자기 자신만의 블록체인을 개발 할 수도 있다. 이처럼 두바이 정부는 자기들만의 블록체인 시스템을 만들겠다고 하는 것이다.

전 도시의 블록체인화를 알아보기 전 블록체인이란 무엇인지 부터 알아보자. 블록체인 기술이 4차 혁명을 일으킬 선봉장이라고들 모두들 말한다. 가장 핵심적인 이유는 블록체인은 거래 당사자들 사이에 존재하는 중개자를 완전히 없애 준다는 점에 있다. 보통 우리는 전혀 모르는 제 3자(untrustedd party)와 중요한 거래를 할 때 거래 안전성을 확보하기 위해 중개자를 고용한하고 상당한 대가를 지불한다. 돈을 송금할 때는 은행을 고용하고 부동산을 사거나 팔 때는 부동산 중개사를 고용한다. 또한 계약을 할 때는 변호사의 도움을 받고 기업은 은행에서 대출 받을 때 공인회계사의 도장을 받은 재무제표를 제출해야 한다. 하지만 블록체인 기술을 도입하면 위에 언급된 중개자들의 역할은 없어지고 자연스럽게 거래비용은 감소하고 거래 속도는 증가하게 된다.

비트코인이 어떻게 작동하는지를 이해하면 블록체인의 개념을 보다 쉽게 알 수 있다. 당신이 비트코인의 주소를 만들면 난수로 된 긴 Pulbic Key와 Secret Key를 받게 된다. 여기서 Public Key는 여러분의 비트코인 주소다. 이메일 주소와 비슷한 개념으로 누군가 당신에게 비트코인을 전송하기 위해서는 이 주소로 보내야 한다. 이름 그대로 누구에게나 공개된 키이다. 하지만 Secret Key는 주소의 소유자만 알고 있어야 하는 중요한 키다. 왜냐하면 Secret Key는 그 주소에 있는 비트코인을 전송할 수 있는 인증키이기 때문이다.

당신이 비트코인 주소를 만든 후 그 주소에 예치된 비트코인을 제 3자에게 보내는 거래를 생각해보자. 제 3자에게 비트코인을 전송할 때 당신은 Public Key와 Secret Key을 결합하여 특정한 "암호문"의 형태로 "내가 아무개에게 1BTC을 보냅니다."라는 사실을 비트코인-블록체인에 발표한다. 그럼 비트코인-블록체인에 존재하는 랜돔으로 선택된 누군가가 공포된 암호문이 정말로 당신의 Secret Key로 만들어진 암호문인지 암호문과 Public Key를 참고해 수학적으로 검증한다. 해당 거래가 유효한(Valid) 거래인지를 수학적으로 검증하는 절차이다. 이 검증이 문제 없이 완료되면 당신이 공포한 거래는 정식으로 비트코인-블록에 기록되고 영원히 블록에 남게 되어 거래가 완료되는 것이다. 이러한 거래들이 여러 개 묶여서 10분에 한번 씩 생성되는 블록에 기록되고 그 블록들이 체인에 묶여 영원히 사라지지 않는다고 해 이 기술을 블록체인이라고 부르는 것이다. 이렇게 기록된 블록들은 실시간으로 전 블록체인 멤버들에게 공유된다. 이 때 당신의 암호문을 검증하는 사람을 비트코인 마이너(miner)라고 하며 그런 행위를 "비트코인을 캔다"라고 한다. 검증을 하는 사람에게 약간의 비트코인 거래를 검증하게 할만한 인센티브 시스템을 만듬으로서 비트코인-블록체인이 원활하게 돌아가게 하는 것이다.

블록체인의 꽃은 중요한 것은 검증 작업이다. 이 검증은 흔히 생각하는 단순 계산기나 일반 개인용 컴퓨터로 할 수 있는 수준이 아니고 엄청난 컴퓨팅 파워를 가지고 있는 비트코인 채굴 전용 컴퓨터로만 가능하다. (참고로 비트코인 초기에는 채굴 난이도가 낮아 일반 PC로도 가능했지만 현재는 워낙 경쟁이 심해 일반 컴퓨터로는 채굴 근처에 가지도 못한다.) 이 검증 작업에서는 그 암호문이 당신의 Secret Key로 만들어진 암호문이라는 것 여부만 확인 할 수는 있을 뿐 Secret Key가 무엇인지는 알기는 사실 상 불가능하다. 즉 암호문이 유효한 것인지 Yes or No만 검증할 수 있을 뿐  Secret Key에 대한 정보는 알아내는 것이 사실상 불가능하다. (사실상 불가능하다는 뜻은 가능하긴 한데 엄청난 자원과 엄청난 컴퓨팅 파워가 필요해 Secret Key를 알아내는 비용이 그 효익을 초과한다는 뜻이다.) 따라서 검증이 완료된 후에도 Secret Key는 여전히 당신만 알고 있게 되는 것이다. 이런 식으로 블록체인 내 구성원들 끼리 일방향성 수학적 암호문을 이용해 검증하는 방식으로 거래가 이루워지기 때문에 중개자가 필요가 없다. 다만, 비트코인 마이너에게 제공하는 상대적으로 낮은 금액의 비트코인 수수료만 있을 뿐이다.

아직 상용화가 되지는 않았지만 딜로이트, IBM 등 다국적 회사들은 앞다투어 여러 분야에 블록체인 도입을 시도하고 있다. 하지만 정부기관이 나서서 도시 전체를 블록체인화 하겠다는 계획을 밝힌건 두바이가 처음이다. 비트코인은 블록체인 기술을 이용한 최초의 발명품으로서 10년 가까이 안정적으로 운영되고 있다. 이러한 사실은 블록체인 기술이 가상화폐 뿐 아니라 다른 분야에도 효과적으로 이용될 수 있다는 사실을 암시하고 있다. 블록체인 기술은 가상화폐에만 사용할 수 있는 것이 아니고 재고 추적, 스마트 계약서, Initial Public Offering(IPO), 부동산 등기부등본, 각족 자격증명서 발부, 국제자본거래 등 적용할 수 있는 부분이 무궁무진하다는 것이 전문가들의 일치되는 의견이다. 블록체인 기술로 하나의 거대한 값싸고 안전한 데이터베이스를 만들 수 있다는 것이다. 두바이는 이런 블록체인 기술을 이용해 현재 까지 종이로 이루어지는 계약을 블록체인을 사용한 스마트 계약서로 바꾸고 각 사업자 등록 그리고 자격증 발급과 같은 공공기관에서 이루어진는 모든 절차를 블록체인화 하겠다고 밝혔인 것이다.

비트코인은 블록체인을 기반으로 작동한다는 사실은 대부분 알고 있을 것이다. 그럼 좀 구체적으로 비트코인은 블록체인 체제 하에서 어떻게 채굴이되고 전송이 되는 것인가? 이 쪽 분야에 지식이 없는 사람은 몇번 돌려 보고 생각도 좀 해봐야 이해가 될 수도 있다. 하나씩 하나씩 나누어 알아보자. 이번 포스트에서는 Hash Function(해쉬함수)이 무엇인지 정리해 보겠다.

Hash Function (해쉬함수)

해쉬함수는 비트코인이나 블록체인에 국한된 개념은 아니다. 즉 정보보안 분야에 널리 쓰이는 개념이다. 가장 흔한 예를 한번 들어보겠다. 여러분들이 어떤 웹페이지에 회원가입을 할 때 패스워드를 타이핑 해 본 적이 있을 것이다. 이 패스워드가 여러분들이 기입한 그대로 상대 웹서버로 전달되어 웹호스트의 데이터베이스에 저장된다고 가정해보자. 이 경우 어떤 해커가 그 웹서버와 그 데이터베이스를 공격한다면 고스란히 당신의 패스워드는 해커의 손에 들어갈 것이다.

이 문제를 해결하기 위해 보통 여러분들의 비밀번호는 암호화 해서 저장된다. 이 때 암호화에 사용되는 것이 Hash Function이다. Hash Function은 보통 y=h(x)로 표현한다. 여러분이 입력한 비밀번호가 x이고 그 비밀번호가 Hash Function을 통해 변형된 후 웹호스트 데이터 베이스에 저장되는 값이 y이다. y는 고도로 암호화 되어 산출된 값이기 때문에 해커가 데이터베이스에 저장된 y의 값을 알아내더라도 당신의 패스워드를 알아내기란 사실상 불가능하다. 그리고 해커는 y만 가지고는 당신의 계정에 로그인할 수 없다. 이렇게 여러분의 비밀번호가 보호되는 것이다.

암호화에 사용되는 Hash Function의 특징은 다음과 같다.

1. 입력한 비밀번호의 길이에 관계 없이 일정한 길이의 y가 산출된다.

2. 같은 x 값에 대해서는 동일한 y가 출력되지만 약간이라도 변형된 x가 입력되면 완전히 다른 y가 산출된다.

파이썬이라는 프로그램을 통해 Hash Function에 대한 예를 들어보겠다.


위의 프로그램 결과를 보면 Smith, John 그리고 Jack의 좌측 비밀번호(x)의 길이는 서로 다르지만 Hash Function을 통해 산출된 우측 해쉬값(y)의 길이는 동일하다. 그리고 Smith와 John의 비밀번호(x)의 아주 약간의 차이에도 불구하고 해쉬값(y)는 완전히 다른 값이 산출되었다. 반면 동일한 비밀번호(x)에 대해서는 같은 해쉬값(y)가 산출된다. 단순 Random Generator는 아니라는 것이다.

데이터베이스에는 좌측 비밀번호(x)가 저장되는 것이 아닌 우측 해쉬값(y)가 저장되는 것이다. 해커가 데이터베이스에서 해쉬값(y)를 찾아낸다 하더라도 해쉬값(y)를 비밀번호(x)로 되돌리는 건 사실상 불가능하다. 이런 원리로 여러분들의 비밀번호가 보호되는 것이다.

이게 일반적인 정보보안, 그리고 비트코인 프로토콜에서 사용되는 해쉬함수의 기본적 개념이다. 이것이 비트코인 프로토콜에 어떻게 적용되는지는 다음 포스트에서 다루도록 하겠다.

메시지를 암호화 해서 상대방에게 전달할 때 암호화 하는 키와 복호화 하는 키가 같으면 (대칭키 방식) 문제가 생길 수 있다. 해당 키를 상대방에게 전달하는 과정에서 키가 노출이 되는 위험이 있을 수 있고 설령 키가 무사히 전달되더라도 다수의 사람이 키를 보관하는 과정에서 유출되기 쉽다.

그래서 1970년 대 이후, 대칭키 방식이 아닌 공개키 방식의 암호화&복호화 방식을 주로 사용하고 있다. 즉 암호화는 Public Key로 누구나 할 수 있지만 복호화는 메시지를 받는 사람, 즉,  Private Key를 가지고 있는 사람만 할 수 있게 하는 방식이다. 공개키 방식의 암호화 방식의 대표적인 예가 RSA 알고리즘인데 일반적으로 두수의 곱은 구하기 쉽지만 그 수의 인수분해는 어렵다는 점을 이용한다. RSA 알고리즘은 아래의 세단계를 거쳐서 메시지를 생성하고 암호화 하고 복호화 한다.

1. Public Key & Private Key 생성 

1) public key (e) 생성

두 소수 (p,q) 선택

 p=5 , q=11

 n= p x q

 n=5 x 11 = 55

 phi = (p-1) x (q-1)

 phi = 4 x 10 = 40

 phi 와 서로소 관계에 있는 임의의 수 e 산출

 7

 e -> Public Key로 결정

 7-> Public Key

2) pivate key (d) 생성
  

e x d mod phi =1  을 만족하는 d 산출 (유클리드 호제법 사용)

 d= 23

 7 x '23' mod 40 = 1

 23-> Private Key


2. 암호화

철수(public key holder)가 영희(private key holder)에게 "9"라는 메시지를 보내려 한다. 철수는 메시지 M(=9)을 공개키 "e"와 "n"을 사용하여 암호화 한다.

Me mod n = C

97 mod 55 = 4,782,969 mod 55 = 4


3. 복호화

영희는 철수에게 받은 "9"라는 메시지를 "d"를 사용하여 복호화 하여 원래 메시지인 9를 알아낸다

Cd mod n = M

423 mod 55 = 70,368,744,177,664 mod 55 = 9


위의 예에서 대중에게 노출되선 절대 안되는 값이 p, q, 그리고 d이다. 이들이 private key 역할을 한다. p, q 중 하나만 공개 되도 누구나 d를 산출할 수 있어 암호 체계는 무너진다.  반면 n과 e는 대중에게 노출이 되는 public key이다.

RSA의 기본 원리는 누구나 n은 알고 있지만 n의 인수인 p와 q를 쉽게 찾을 수 없다는 점에 기인한다. 예시에서는 쉽게 만들기 위해 아주 작은 수를 사용하였지만 실제 p와 q는 상당히 큰 수들이다.  RSA는 p와 q의 곱(n)을 알고 있더라도 그 두 수 (p or q)를 구하는데 상당한 시간이 걸린다는 점을 이용한 알고리즘이다. 




1. 미국 증권거래위원회 2017년 3월 11일 비트코인지수펀드 상장 여부 결정.

역사에 기록될 대한민국 헌법재판소의 박근혜 탄핵 선고 예정일은 2017년 3월 10일이다. 하지만 이번 주 그다지 많은 사람들의 주목을 끌지 못한 또 다른 역사적 이벤트가 기다리고 있다. 장기적으로 봤을 때 어쩌면 박근혜 대통령 탄핵과는 비교 할 수 없을 정도로 파장이 클 수 있다고 생각한다. 2017년 3월 11일 미국의 증권거래위원회(SEC)가 최초 비트코인 지수펀드 "Winklevoss Bitcoin Trust"의 상장 승인 여부를 결정한다. 해당 펀드 "Winklevoss Bitcoin Trust"가 상장 신청 된 지 약 3년 만이다.

최근 승인이 될 가능성이 있다는 기대감에 비트코인의 가격이 가파르게 상승하기도 하여 금가격을 추월하기도 하였다. (관련글: 2017/03/04 - [Computer Science /블락체인&비트코인] - 비트코인 가격 결국 150만원 넘어 금 추월!!) 만약 승인되면 "Winklevoss Trust"라는 이름의 지수펀드는 "Bats Capital Markets"에 상장되어 가상화폐펀드로는 최초로 미국 상장시장에 공개된다.

SEC에서 상장을 승인한다면 비트코인의 향 후 움직임에 큰 변화가 찾아올 것이다. 지금까지 비트코인에 투자하기 위해서는 비트코인을 직접 구입하는 방법 뿐이었다. 지금도 비트코인 매매가 어렵지 않지만 일반 대중에게 아직 생소하고 불확실한 개념이고 어느 정도 컴퓨터에 대한 지식을 요구한다. 게다가 마땅한 법적 장치 없는 현 환경에서 비트코인을 직접 매매 중 실수를 하거나 해킹을 당하는 경우 손해 회복을 법적으로 보장받지 못한다. 하지만 비트코인지수펀드가 승인이 된다면 이야기는 달라진다. 비트코인 그 자체는 아니지만 비트코인펀드 매매가 제도권 안에서 이루어지는 것이기 때문이다. 마치 금 대신 금 펀드를 주식시장에서 살 수 있는 것과 같다. 일반 대중들도 비트코인지수펀드를 통해 매매를 하면 법적으로 안전하기 때문에 보다 많은 사람들이 직접 혹은 기관투자자를 통해 비트코인 매매에 참여할 수 있게 된다. 비트코인의 유동성은 대폭 증가할 것이며 이는 비트코인 가격 상승으로 이어질 가능성이 크다. 또한 비트코인과 다른 상품이 결합한 다양한 투자 폴트폴리오가 나오면 비트코인에 대한 수요는 더욱 높아질 것이다.

2. 비트코인지수펀드 상장될 수 있을까?

아직 SEC가 상장을 승인할 것이라고 단정하기 힘들다. 또한, SEC가 비트코인지수펀드의 상장을 거부할 명백한 이유를 찾기는 힘들다. 하지만 업계에서는 비트코인 가격 변동 폭이 너무 심하고 여러가지 기술적인 위험이 있기 때문에 SEC입장에서 굳이 상장을 승인하는 위험 부담을 않을 것이라는 것이 지배적인 관측이다. SEC는 혁신을 추구하는 집단이 아닌 보수적인 공무원 집단이기 때문이다.

Spencer Bogart (Needhan&Company)는 다음과 같이 말하면서 상장에 부정적인 의견을 밝혔다.

"당신이 SEC에서 상장을 결정할 수 있는 책임자라고 생각해보자. 당신이 승인 할 경우, 아직 태어난지 10년도 안된 실체가 없는 디지털 자산에 수백억, 수천억의 투자금이 몰릴 것이다. 하지만 해킹과 같은 예상치 못한 사고가 발생해서 수백억, 수천억대의 비트코인이 증발하게 된다면 당신은 어떻게 책임질 것인가? 직장만 잃으면 다행이고 최악의 경우 감방에서 수십년 썩어야 될 지도 모른다.

반면, 비트코인지수펀드가 무사하게 잘 된다면 아마 그냥 '수고했다' 한마디가 전부일 것이다."

하지만 최근 도널드 트럼프 미대통령과 그가 임명한 월가 출신 변호사 SEC 위원장 Jay Clayton의 규제 철폐 기조를 고려한다면 SEC가 승인해 줄 가능성을 완전히 배제할 수 없다. 물론, 그들이 비트코인지수 펀드에 대해 구체적으로 언급한 적은 없지만 부동산 개발업자 출신의 대통령과 월가 베테랑 금융 변호사는 단순 행정 공무원과 분명 다른 관점에서 결정 할 수 있다.

3. 언젠 가는 비트코인은 제도권 안으로 편입될 것.

세상은 빠른 속도로 변하고 있다. 설령, 이번에 상장이 거부가 된다 해도 가까운 미래에 비트코인은 제도권 안에서 거래가 될 수 밖에 없을 것이다. 비트코인은 그냥 사라지기에 너무 커졌다. 현 시가를 고려하면 거래되는 비트코인의 시가총액은 200억달러를 넘었다. 더 이상 정부나 금융기관에서 무시할 수 없는 규모로 성장해 버렸다. 그리고 전 세계적으로 상당한 수의 고정 팬을 거느리고 있다.

전 세계 모든 국가가 아주 긴밀하게 잘 협력해서 일시에 비트코인 수요와 공급을 원천적으로 차단한다면 몰라도 한 두 국가의 정부가 없앨 수 있는 수준를 지나왔다. 모든 국가가 뜻을 동시에 모아 무언가를 이룰 수 있는 상황은 영화 "인디펜던스데이"에서 처럼 외계인이 지구를 침공하는 경우 밖에 없다. 왜냐하면 지구에 침공한 외계인을 박살내는 상황 말고는 모든 국가의 이해 관계가 다를 수 밖에 없기 때문이다. 비트코인을 없애는 것이 불가능하다면 정부는 비트코인의 오용을 방지하고 세원을 포착하기 위해서라도 비트코인을 제도권으로 편입시키려 할 것이다.

Created with Highstock 1.3.7Mar 5, 2016toMar 5, 2017Market Cap (USD)Apr '16May '16Jun '16Jul '16Aug '16Sep '16Oct '16Nov '16Dec '16Jan '17Feb '17Mar '17$0B$5B$10B$15B$20B$25B20102012201420161m3mYTD1yAll

예전에 PC와 인터넷이 20세기 후반과 21세기 초반의 우리들의 삶을 완전히 바꾸었듯이, 비트코인이라는 실체가 없는 가상 화폐 인해 우리의 생활 환경이 또 한번 변하게 될 지 매우 궁금하다.


파이썬에 입문했다. 그렇다고 다른 프로그래밍언어를 할 줄 아는 것도 아니다. 프로젝트라고 하기 좀 민망하지만 누구의 도움도 받지 않고 만들어낸 내 첫 프로젝트를 공유한다. ㅎㅎ

알고리즘 과목을 수강하다가 정수로 이루어진 수의 모임을 작은 수 부터 큰 수로 정렬하는 방법을 배웠다. 엑셀의 오름차순 정렬과 같은 것이다. 평소에 아무 생각없이 해왔던 것을 직접 프로그래밍으로 실현하려니까 시간이 꽤 걸렸다. 이 프로젝트에서는 '리스트'와 'for 반복문'을 사용하였다. 수열 안에 숫자가 n개 가 있다면 n x (n-1)/2번 비교해야 답이 나온다.

100개가 들어있는 수열이라고 가정하면 구체적으로 실현 방식은 다음과 같다.

첫 번째 수두번째 수를 비교한 후 첫번째 수가 더 크면 아무 작업도 하지 않지만 두번째 수가 더 크다면 위치를 바꾼다.

그 다음 첫 번째 수세 번째 수를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 세 번째 수가 더 크다면 위치를 바꾼다.

그 다음 첫 번째 수번째 수를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 네 번째 수가 더 크다면 위치를 바꾼다.

.....

그 다음 첫 번째 수번째 수를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 네 번째 수가 더 크다면 위치를 바꾼다.

....

그 다음 두 번째 수번째 수를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 네 번째 수가 더 크다면 위치를 바꾼다.

그 다음 두 번째 수번째 수를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 네 번째 수가 더 크다면 위치를 바꾼다.

그 다음 두 번째 수다섯 번째 수를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 네 번째 수가 더 크다면 위치를 바꾼다.

....

그 다음 세 번째 수네 번째를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 네 번째 수가 더 크다면 위치를 바꾼다.

그 다음 세 번째 수다섯 번째를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 네 번째 수가 더 크다면 위치를 바꾼다.

....

그 다음 아흔 아홉 번째 수백 번째 수를 비교한 후 첫 번째 수가 더 크면 아무 작업도 하지 않지만 네 번째 수가 더 크다면 위치를 바꾼다.

아래는 유저로 부터 수열의 크기와 정수를 받아서 오름차순으로 정렬하는 파이썬 코드이다.


*예외처리는 좀 있어보이려고 넣어보았다. ㅎㅎㅎ


아래 사진은 결과다.

몇개의 정수가 필요한지 물어본다.

5개 넣겠다고 입력하고 5개 정수를 타입한다. 일부러 크기를 뒤죽 박죽으로 넣어 본다.

그럼 결과가 나온다. 오리지날 수열(9,3,5,6,1)이 나오고 비교수행 숫자(10)가 나오고 오름차순으로 정렬된 수열(1,3,5,6,9)가 나온다.

성공이다.

이렇게 프로젝트1을 무사히 끝냈다. 후후

벌써 프로젝트2가 기대된다. 후후



2017년 3월2일 비트코인(BTC) 가격이 금 1 ounce (=28.3495 gram) 가격을 추월했다. 최근 중국의 규제강화에도 불구하고 비트코인 가격은 2017년 3월 4일 기준 USD 1,294로 가파르게 상승 중이다. 비트코인 가격은 2017년 2개월 만에 약 33% 상승했고, 1년 동안 200% 가까이 상승했다. 1 ounce의 금 가격은 현재 USD 1,235 정도 이다. 

금은 전통적으로 중앙은행의 무분별한 금융정책이나 불안한 국제정세부터 자신의 재산권을 지키는 안전자산으로서의 역할을 해왔다. 중앙은행들이 자국 화폐가치를 떨어뜨리기 위해 화폐를 마구 찍어내는 양적 완화(Quantitative Easing)를 실행하거나 전쟁 등 국제정세가 혼란스러워 졌을 때 돈은 금으로 몰렸다. 하지만 최근 비트코인도 안정자산으로의 역할을 하고 있는 것 같다. 최근 국제정세를 혼란스럽게 한 사건 "브렉시트"와 "트럼프 당선" 후 비트코인 가격이 크게 올랐다. 흥미롭게도 이번에 트럼프가 당선되면서 금의 가격은 USD 1,300에서 USD 1,130으로 하락한데 반해 비트코인의 가격은 USD 700에서 USD 1,258로 급격히 상승하였다(WSJ).



<출처: Coinbase: www.coinbase.com>-코인베이스는 전세계에서 가장 큰 비트코인 거래소 중 하나이다. 비트코인 뿐 아니라 다양한 사이버 머니에 대한 정보를 볼 수 있다.


2016년 까지만 해도 대부분 비트코인은 중국에서 거래되고 있었다. 2016년 전세계 비트코인 거래량의 42% 정도가 중국에서 이루어 졌고 (New York Times) 2015년에는 80%의 거래가 중국의 위안화로 거래 되었다 (Goldman Sachs). 중국에서 비트코인 거래가 압도적으로 많은 이유는 위안화의 지속적인 평가절하에 실망한 중국인들이 가치의 저장 수단으로 자국의 화폐인 위안화 보다는 비트코인을 선호해 왔기 때문이다. 위안화의 평가절하는 중국의 경제성장 속도의 둔화 때문이기도 하지만 중국 당국이 수출 확대를 위해 인위적 평가절하하고 있는 부분도 있기 때문에 어떠한 정부의 통제를 받지 않는 비트코인에 수요가 몰린 것이다. 많은 중국인들은 비트코인을 매입해 해외에 파는 방법으로 중국 내 자본을 해외로 유출하였던 것이다.


인위적 위안화 평가절하가 계속되는 상황에서 과거 3년간 비트코인을 통한 해외자본유출이 심해졌다. 결국, 2017년 1월 중국당국은 자국 내 주요 비트코인 거래소에 거래 수수료 부과와 한시적 비트코인 출금 제한이라는 규제의 칼을 꺼내 든다. 발표 직 후 비트코인 가격은 약 8~9% 정도 하락했지만 불과 두 달도 채 지나지 않아 비트코인의 가격은 예전 가격을 회복하고 다시 무섭게 상승하고 있는 중이다. 다수의 예상과는 정반대되는 현상을 보여주고 있다. 왜 그럴까? .

비트코인에 대한 규제는 비트코인 가격에 단기적으로 부정적인 영향이 있을 수 있겠지만 장기적으로 긍정적인 효과를 가져올 것이다. 왜냐하면 규제를 한다는 것 자체가 비트코인을 인정하고 제도권안으로 끌어들이려는 시도이기 때문이다. 현재 비트코인을 정식 지불 수단으로 인정하기 시작한 국가로는 필리핀, 일본, 그리고 UAE 등이 있다. 이들 국가에서는 비트코인을 방치하여 불법자금유통, 돈세탁 등으로 음지에서 사용되게 하는 것보다 제도적으로 인정하여 양지로 끌어오자는 사회적 합의가 이루어지고 있는 듯하다.

Never Marketing의 CEO Jeremy Epstein은 위의 현상에 대해 다음과 같이 말했다.

정부의 규제가 있건 없건 비트코인 시장은 성장할 것이다. 왜냐하면 점점 많은 사람들이 '가치 저장 수단'으로서 비트코인의 잠재적 가치를 알아가고 있기 때문이다. 역설적이게도 정부의 규제가 비트코인을 홍보하는데 큰 역할을 하고 있다. 국가가 규제를 하면 할 수록 더 많은 사람들은 '비트코인이 뭔데 자꾸 저런 행동을 하지?' 라는 의문을 가지면서 비트코인의 가치에 대해 알아갈 것이기 때문이다.

이번 중국당국의 규제로 인해 더 많은 사람들이 비트코인을 알게 되었다. 그 결과 비트코인의 거래는 중국에 집중되어 있는 기존의 형태에서 벗어나 점점 다양한 국가로 분산되고 있다. 가까운 예로 2017년 들어 우리나라의 가장 큰 비트코인 거래소인 빗썸의 거래량이 중국의 대형 거래소 OKcoin 거래량과 비슷해졌다. 2016년까지는 상상도 할 수 없는 현상이다. 거래 장소가 분산되고 거래하는 사람이 다양해 진다는 것은 장기적 관점에서 비트코인 생태에 훨씬 유리한 조건이다. 아래는 Coinass에서 제공하는 KRW 가격과 국내량이다.

 

             <출처: 코인에스>


비트코인 초창기에 20,000개의 비트코인으로 피자 한판을 사먹었다는 에피소드가 있다. 정확하게 언제인지는 모르겠으나 2009년에 비트코인이 처음 나왔으니 2010년 쯤이 아닌가 생각된다.  현재 시가로 USD 25.6 million, 한화로 약 270억원 짜리 피자를 먹은 셈이다. 이런 일화를 들으면 10년후 20년 후에 비트코인 가격이 얼마가 되어 있을지 매우 궁금하다.

아래는 이 글을 읽는 순간 비트코인의 실시간 가격이다. 먼 훗날 현재 가격과 비교해 보면 재미있을 듯 하다.


*비트코인 가격은 일반적으로 거래소마다 약간의 차이가 존재한다.


1. 속도 및 안정성

PureVPN은 2006년에 홍콩에 설립된 회사로 10년이 넘는 오랜 역사를 가지고 있다. 이 업계에서 오래 살아남아있다는 것은 그만큼 양질의 서비스를 제공한다고 볼 수 있을 것같다. PureVPN의 가장 큰 특징이자 장점은 서버가 151개국에 퍼져 있어 사용자가 가장 가까운 지역으로 접속이 용이하다는 것이다. VPN의 트래픽이 분산되고 서버와의 물리적 거리가 가까워지면 속도도 빨라지고 좀더 안정적인 접속상태를 유지할 수 있다.



실제로 속도가 어느정도 나오는 지 측정해 보았다.


간단한 용어 설명을 하자면 PING은 인터넷 사용자가 WWW에 정보요청을 하였을 때 WWW의 응답 속도를 의미하는 것이고 다운로드 스피드와 업로드 스피드는 일초에 전송가능한 데이터 양이다. 36 Mbps은 36메가바이트를 일초에 다운로드 할 수 있는 속도를 의미하고 20Mbps는 20메가바이트를 1초에 업로드할 수 있는 속도를 의미한다. 상당한 속도라고 볼 수 있다. 인터넷에서 영화를 다운 받아본 경험이 있다면 어느 정도 속도인지 감이 올 것이다. 또 아래 ISP (Internet Service Provider) 가 바뀐 것을 확인할 수 있다. 원래 필자의 ISP는 SK 브로드밴드인데 VPN을 사용하면 Secure Internet LLC로 변경되었다. 물론 아이피 주소도 역시 변경된다. 이런 식으로 VPN은 인터넷 상의 사용자 신원을 보호해 준다.

아래는 실제 속도를 보기 위해 필자가 직접 VPN을 켜고 유투브를 시청하는 영상이다.


www.purevpn.com

2. 미국 넷플릭스와 HBO Now 한국에서 시청가능

필자의 VPN 주용도는 해외 컨텐츠를 자유롭게 이용하는 것이다. 특히 미국넷플릭스와 HBO Now를 VPN을 이용해 시청하고 있다. 2016년 초 넷플릭스에서는 VPN을 통한 접속을 차단하겠다고 했는데 원천적으로 차단하지는 못하였다. 못한건지 안하는건지는 잘 모르겠지만 아무튼 PureVPN을 이용하면 미국넷플릭스와 HBO Now에 접속할 수 있다. 아래 동영상을 참고하시라.

-PureVPN으로 한국에서 미국 넷플릭스 보기

-PureVPN으로 한국에서  HBO Now보기


www.purevpn.com


3. 사용가능 플랫홈 & 동시접속가능 기기 수 5개

PureVPN도 메이저 VPN답게 거의 모든 플랫폼(운영체제 기기)에서 운영가능하다. 아래 사진은 PureVPN을 실행할 수 있는 기기리스트이다. 사실상 인터넷이 접속되는 기기에서는 모두 사용가능하다고 볼 수 있다.


최고 5개 기기까지 동시 접속이 가능해 가족이나 친구들과 유료결제를 공유할 수 있다.



www.purevpn.com


4. 설치 및 사용 용이성

결제를 하면 바로 프로그램을 다운받을 수 있는 링크를 포함한 이메일이 전송된다. 자신이 VPN을 실행시킬 플랫폼에 따라 적절한 링크를 클릭하면 다운로드 및 설치를 할 수 있다. VPN프로그램을 설치한 이 후 사용자의 VPN 주용도에 따라 설정 옵션이 있다는 것이 조금 특이하다. Internet Freedom을 위한 것인지 보안을 위한 것인지 혹은 기타 다른 목적을 위한 것인지 선택할 수 있다. 필자는 주로 Internet Freedom을 목적으로 VPN을 사용하기 때문에 Internet Freedom에 체크를 해보았다. 이게 무슨 차이가 있는지 고객센터에 직접 문의해보니 목적에 맞는 최적의 서버에 자동으로 접속시켜준다고 한다.




여기서 select purpose를 체크하면 다시 사용목적에 따른 여러가지 옵션이 나온다. 이 중 Optimazation for China가 있는데 "중국사용 최적화"라는 옵션이다. 중국에 사는 사람들을 위한 특별한 서비스이다. HBO Now를 보기 위한 목적, HULU, 스포츠채널, 아마존 프라임 등을 보기 위한 옵션 들이 있다.



일단 자신의 사용 목적을 선택 후 자신이 접속하고 싶은 VPN서버 위치를 선택한다. 외국에서 한국 티비 등을 시청하려면 한국 서버로 접속해야 할 것이고 한국이나 중국에서 차단된 사이트를 보기 위해서는 미국 등의 서버를 선택해야 한다.



필자는 현재 한국에 있고 미드를 보는 목적으로 VPN을 사용하므로 미국을 선택했다. 그럼 자동으로 접속시도를 한다.


접속이 완료되면 다음과 같이 표시된다.


이 상태까지 왔다면 인터넷 사용자의 IP는 encrypted(암호화) 되고 IP는 외부로 부터 보호된다. 실제로 구글에서 자신의 IP주소를 검색해 보면 접속하기 전과 다른 아이피 주소가 나타나는 것을 확인할 수 있다. 참고로 구글이나 네이버에서 자신의 IP주소를 확인하기 위해서는 검색어에 my ip address라고 치면 간단히 검색할 수 있다.

위에서 보았듯이 설치와 사용 인터페이스는 매우 쉽다. 하지만 한국어 서비스가 되지 않기 때문에 간단한 영어는 읽을 줄 알아야 한다.

www.purevpn.com

5. 가격

PureVPN은 가격할인 행사를 매우 자주 하는 것 같다. 현재도 신년 할인 행사로 같은 가격으로 2배의 서비스 기간을 제공하고 있다. 2년 약정을 하면 한달에 2불대의 파격적인 가격으로 VPN을 사용할 수 있다. 심지어 최단기 약정을 하더라도 한달에 5불에 VPN을 이용할 수 있고 지불 방법에 따라 깜짝할인(10%)를 해주기도 한다.




www.purevpn.com


6. 환불정책 및 고객서비스

다른 해외 리뷰어들 중 고객서비스가 별로 안좋다는 리뷰가 있어서 직접 시도해 보았다. 하지만 1분도 안되서 실시간 채팅에 접속할 수 있었고 내가 하고 싶은 질문을 했다. 질문은 위에서 언급했지만 "How does VPN work differently with initially set purpose"? 였다. 즉 접속 전 설정이 VPN에 어떤 영향을 미칩니까?" 라는 질문이었다. 어느 정도 영어가 된다는 가정하에 고객 서비스에 전혀 문제는 없어보였다. 아마 예전 별로 안좋다는 평이 있어서 개선한게 아닌가 생각이 된다. 이 바닥도 경쟁이 매우 치열하다.

궁금한 것이 있거나 환불 요청을 하기 위해서 라이브 채팅을 하려면 사이트 우측 하단 아래 표시된 부분을 클릭하면 된다. PureVPN은 7일이내에 환불요청을 하면 전액 환불을 해주는 정책을 가지고 있다.


www.purevpn.com

  1. 2017.04.13 19:08

    비밀댓글입니다

IT기술이나 비트코인에 관심있으신 분들은 "Blockchain"이라는 단어를 많이 들어보셨을 것입니다. "Blockchian"의 개념은 최근 이슈가되는 비트코인을 가능하게 한 기술로 더 잘 알려져있고 비트코인의 작동원리 대한 설명을 할 때 없어서는 안될 핵심개념입니다. 

어떤 이들은 Blockchain기술은 마치 80년 대 인터넷이 가져왔던 혁신을 다시 가져올 거라고 말하고 있습니다. 또 어떤 이들은 아직 실생활에 이용되기에 여러가지 문제가 있어 시기 상조라고 말하는 사람도 있습니다. 사람에 따라 의견의 차이는 있지만 Blockchain이 실생활에 도입될 수만 있다면 인간의 생활방식을 혁명적으로 바꿀 것이라는 점에서는 대부분 동의하고 있는 듯 합니다. 마치 20~30년 전 인터넷의 탄생이 우리 생활을 바꾸었던 것 처럼 말이지요. 

1.  Blockchain의 개념 : It is all about transparency and fairness

저는 Blockchain을 "모두가 볼수 있는 사이버 공간에 정보를 투명하고 안전하게 기록하고 공유하는 기술" 로 정의합니다. 특정한 정보를 컴퓨터 코드로 이루어진 블록에 기록하여 생성 시간 순으로 체인으로 묶는 다는 의미로 Blockchain이라는 용어가 탄생하게 되었습니다. 그런 하나하나의 블록들이 앞뒤 블락들과 서로 유기적으로 묶여 있고 여러사람이 같이 동시에 그 정보를 공유하기 때문에 그 중 일부의 정보만 떼어내어 이미 기록된 정보를 수정한다는 것은 사실상 불가능합니다. 그래서 Blockchain이 보다 투명하고 안전하다고 하는 것입니다. 모두가 볼 수 있지만 아무도 그 내용을 수정하지 못하기 때문이죠. 

이 블럭에 적히는 것은 가상 화폐가 이동하는 정보가 기록된 장부일 수도 있고 소유권의 이동을 표시하는 등기부등본과 같은 장부가 될 수도 있으며 3자간의 계약서 등이 될 수도 있습니다. 

위에서 언급된 블럭을 가장 쉽게 볼수 있는 방법은 현재 가장 대표적인 가상 화폐인 비트코인이 작동하는 방식을 보는 것입니다. 비트코인의 경우 비트코인의 이동에 대한 기록을 약 10분마다 생성되는 블록에 기록하고 인터넷에 접속할 수 있는 사람이라면 아래와 같이 아주 쉽게 볼 수 있게 공개됩니다. 아래를 보시면 비트코인은 어떤 파일 형태로 저장되어 있는 것이 공개된 사이버 장부에 적혀있는 기록에 불과하고 은행 장부와는 달리 누구나 그 기록을 볼 수 있다는 것을 확인 할 수 있습니다. 

출처 (https://blockchain.info

2. Blockchain는 어떻게 우리의 삶을 바꿀 것인가? 

현대사회에서 돈을 송금할 때 은행과 같은 중간 매체를 통합니다. 그러면 은행은 보내는 사람의 잔고를 확인하고 그 돈을 송금인의 계좌에서 꺼내서 수금인의 계좌로 넣어주죠.  또한 부동산을 구입하는 경우 정부가 그 중간에서 그 소유권을 확인해 주는 등본를 발행하여 그 소유권을 인정해 줍니다. 그리고 소유권 이전 시에도 정부가 그 중간에서 소유권이전에 대한 입증을 하지요. 매년 말 회사의 장부는 감사인들의 감사를 받습니다. 그리고 감사인은 장부가 회계기준에 맞게 적절하게 기록되었는지 확인을 해주고 정보이용자에게 공개가 되지요. 

Blockchain의 핵심은 위에서 중간에 끼어 있는 정부, 은행 그리고 감사인의 역할을 없애 거래비용을 대폭 줄인다는 것 입니다. 그리고 그 역할을 참여자 자체적으로 하게 합니다. 보통 커뮤니티라고 부릅니다. 

현재 이런 거래비용의 감소를 확인할 수 있는 가장 좋은 예는 역시 비트코인 송금시 발생하는 거래비용입니다. A가 B에게 비트코인을 송금 시 발생하는 수수료는 0.0001BTC~0.0002BTC수준으로 현재 시세기준으로 한화70원~140원 수준입니다. 이 비용은 비트코인 커뮤니티에서 그 거래를 인증(confirm)하는 비용이죠. 여기서 인증이 기존의 은행의 인증과 다른점은 하나의 독점적인 중간실체가 아닌 전체 커뮤니티에서 한다는 점입니다. 

보다 가까운 실생활에 비유하자면 축구 경기를 할 때 관중이 없는 경기장에서 엘리트 심판 몇 사람이 그들만의 기준으로 승패를 결정하는 것 보다는 수천명의 관중이 공개된 규칙에 근거해 직접 승패를 판단한다면 편파 판정이나 승부 조작의 논란에서 자유로운 투명하고 공정한 게임이 되겠지요. 또한, 심판을 고용하는 비용보다 게임을 적극적으로 관람하고자 입장한 관객이 그 역할을 대신해 줄 수만 있다면 더 저렴하게 경기운영을 할 수 있을 것입니다. 어떻게 보면 인터넷 시대의 민주주의와 좀 비슷하다는 생각이 듭니다. 이런 것들을 사이버 공간에서 가능하게 하는 것이 Blockchain 기술이라고 보시면 되겠습니다.   

3.  Blockchain 의 향방에 대한 예상

Blockchain의 기술이 어떤 방향으로 진행될 지는 아직 아무도 모릅니다. 위에서 언급했지만 이 기술은 투명성과 공정성을 높고 거래비용을 낮추는  반면 현재 기득권이라고 할 수 있는 정부나 은행과 같은 중간 매체의 역할을 없애버릴 수 있기 때문에 강한 규제로 인해 실현될 수 없을 지도 모릅니다. 실례로 최근 비트코인을 이용해 기존의 1/3정도의 환전 및 송금비용으로 외국으로 송금을 대행해 주는 업체에 대해 당국이 외환거래법과 자본시장법 위반 여부에 대해 검토하고 있다는 기사를 본적이 있습니다. 

하지만 제 개인적 생각으로는 조만간 Blockchain기술이나 비트코인과 같은 인간 생활을 편하게 하는 기술은 결국 급속도로 퍼질 것이라고 믿고 있습니다. 지금까지 인간의 역사가 그렇게 진행되어 왔기 때문이죠.

Blockchain에 대해 더 자세히 알고 싶으신 분은 아래의 책 Blockchain Revolution이라는 책을 참고하세요. 아마존에서 이북으로 바로 읽을 수 있습니다. 현재 Blockchain에 대해 가장 많이 읽히는 책입니다. 



현재 비트코인의 가격은 한화기준 699,000원정도 이고 USD 616 정도입니다. 이 정도의 가격이 형성되었다는 건 비트코인에 대한 수요가 상당하다는 것을 의미합니다. 아직 대한민국에서는 비트코인에 대해 모르는 사람도 많고 알더라도 이름 정도만 들어본 경우가 대부분일 것입니다. 하지만 외국에서는 기존의 화폐를 대신해 비트코인으로 제품이나 서비스가 매매되는 경우가 최근 폭발적으로 증가하고 있습니다. 

<Source: OKCoin>

외국회사에서 제공하는 제품이나 서비스를 신용카드나 외화로 구입하는 대신 비트코인으로 구입하면 신용카드 수수료와 환전수수료를 크게 줄일 수 있습니다. 기존에는 외국 제품 혹은 서비스를 구입할 때 신용카드회사나 은행을 중간에 끼고 거래를 했다면 이제 더이상 그럴 필요가 없어진 것이지요. 거래 비용이 거의 0으로 줄어든 것입니다. 물론 비트 코인을 전송할 때 0.0001BTC 혹은 0.0002BTC정도가 들기는 하지만 이는 70원~140원정도에 해당하는 금액으로 무시할 수 있는 수준입니다. 

ExpressVPN 

사실 제가 사용하고 있는 VPN업체 인데요. BITCOIN으로 결제 되는지 저도 얼마전에 알았습니다. ExpressVPN에 대해서 더 자세히 알아보기

"Continue to BitPay"를 클릭하시면 아래처럼 구매자의 이메일 주소를 물어보고 은행 계좌를 주듯이 비트코인 입금 주소를 줍니다. 

USD 99.95불 0.162362BTC를 요구하네요. 현재 시세가 OKCoin거래소 기준 1BTC=USD 616.95인 것을 감안하면 정확하게 계산된 것 같습니다. 

저는 계속 비트코인을 외국회사를  찾아서 소개할 예정입니다. 특히 VPN같은 서비스의 경우 비트코인으로 거래 시 배송비용이 없어 거래비용이 대폭 줄어들어 훨씬 싸고 빠르게 거래를 할 수 있습니다. 

ExpressVPN에 대해 좀 더 자세히 (속도관련, 서버 수  등) 알고 싶으시면 아래 제 다른 글은 참고해 주세요. 

2016/06/21 - [기타] - 고속 VPN: 속도 빠른 ExpressVPN (넷플릭스 미국 컨텐츠 보는 법)

+ Recent posts