이더리움 커뮤니티와 EOS 커뮤니티 사이의 논쟁

그렇다. 8월 1일이 됐다. 암호화폐 커뮤니티의 관심사는 비트코인 하드포크다. 하지만 필자는 개인적으로 그것에 관심이 별로 없고, 오히려 이더리움 커뮤니티와 EOS 커뮤니티 사이의 논쟁이 훨씬 중요하다고 생각한다.

사건의 시작은 이러하다. 어떤 사람이 이더리움 레딧에서 물었다:

EOS 가 이더리움보다 훨씬 쌔다는데 실화냐?

영문 원문을 첨부하자면:

The EOS team has been openly stating that their delegated proof of stake technology is better than Ethereum and Ethereum won’t be able to process more transactions than EOS. They also state that Ethereum won’t be able to change their system to use EOS’s virtual machine because all current dapps and projects on the Ethereum blockchain will break if they try. Are those claims true and has the Ethereum team published anything to defend their ground?

이에 이더리움 창립자 비탈릭 부테린이 나타나 답글을 달았다:

그럴리가! 당연히 이더리움이 짱이지.

영문 원문을 첨부하자면:

On “100k transactions per second!!1!1”

Dan’s EOS achieves its high scalability by relying on a small number of what are essentially master nodes of a consortium chain, removing Merkle proofs and any other protections that would allow regular users to audit any part of the system’s execution unless they want to personally run a full node themselves. See http://vitalik.ca/general/2017/05/08/coordination_problems.html for why I think this is undesirable.

On DPOS

To try to ensure decentralization, DPOS allows all coin holders to vote on who the nodes running the consortium chain are. This, together with the lack of in-protocol economic incentives for these master nodes to behave correctly, and the lack of client-side validation capability, mean that there is an extreme reliance on the voting mechanism. Voting has the following problems:

  • Low voter participation (the DAO carbonvote, the current EIP186 carbonvote, the DAO proposal votes, and even Bitshares DPOS votes in 2014 all had <10% participation)
  • Game-theoretic tragedy-of-the-commons vulnerabilities: because each voter only has a tiny chance of influencing the result, their incentive to vote correctly is thousands of times lower than the socially optimal incentive. This means that situations like everyone putting their coins on exchanges and exchanges voting on users’ behalf, with users not really caring how exchanges vote with their money, are likely to happen.
  • Coin holder interests are not perfectly aligned with user interests, and so proposals that increase coin prices at the expense of making the system useful may get implemented.

Basically, those arguing in favor of coin voting are arguing in favor of the same process as the DAO carbonvote deciding who runs the blockchain and all significant protocol decisions.

On fees

EOS has a mechanism where instead of having transaction fees, there is a rule that if you hold N tokens you can send a maximum of N * k transactions per period (see Steem whitepaper). This has quite an undesirable consequence for usability: it means that users have to buy N tokens, and have to be exposed to their volatility. This is especially bad for:

  • The poor, who are not interested in putting the entirety of their often very low savings into a funky new cryptoasset in order to be able to use a blockchain.
  • Anyone who wants to use the blockchain only a few times and then go away (they would need to buy coins and then sell them again)
  • Anyone who experiences prolonged unexpected spikes in demand (ie. pretty much eveyone); users will have to buy enough coins to cover perhaps the 99th percentile of their expected usage, so that they don’t get stuck being “out of gas” and having to go to an exchange.

In Ethereum the latter is also true to some extent, but because you have to pay fees, the values involved are much smaller, so buying an extra few dollars of ether just in case is not a big deal.

그리고 EOS 의 창립자 Danial Larimer 가 필자가 이 큐레이션을 짜집기하는 1시간 전에 응답글을 올렸다. 여전히 멋진 글이었다. 필자가 지금까지 가상화폐에 투자한 모든 금액이 Danial 부자의 글을 구독하는데밖에 쓰이지 않았다고 한들 억울하지 않겠다.


 

후에 알고봤더니 비탈릭 부테린이 얼마전 오프라인에서도 EOS를 비평한 적 있는데 이것 역시 화제였었다. 비탈릭의 오프라인 언론과 온라인 언론 각가에 대한 반박글이 5시간 간격으로 Dan 으로부터 올라왔다. 그리고 EOS한국 커뮤니티에서 번역했다. 현재 아래에 카피 전파하고자 한다:


 

 

비탈릭의 비평에 대한 회신

 

한글 원문 링크: https://steemit.com/eoskorea/@clayop/9pzqs

영문 원문 링크: https://steemit.com/eos/@dan/reponse-to-vitalik-s-written-remarks

 

방금 전 비탈릭이 레딧에 쓴 게시글 (영문)을 보았습니다.

비탈릭은 수수료와 투표에 대한 문제제기를 하였습니다. 두 가지 문제 모두 고려할 가치가 있다고 느낍니다.

클라이언트 차원에서의 검증 (client-side validation)

마스터 노드들이 정상적으로 동작할 프로토콜 상의 경제적 인센티브가 없으며, 클라이언트에서의 검증 능력이 결여되어 있습니다. 즉, 투표 체제에 극도로 의족하게 됩니다.

우리가 논의를 진행하려면 단어의 정의부터 내려야 합니다. 저는 “클라이언트 차원에서의 검증”이라는 구절을 블록을 생산하지 않는 풀 노드(non-producing full nodes)들이 행하는 검증으로 해석하였습니다. 왜냐하면 맥락상 “경량화된 클라이언트 검증(light client validation)”의 뜻으로 해석하는것은 말이 되지 않기 때문입니다. EOS, Steem, Bitshares 모두 블록 생산자보다 많은 “블록을 생산하지 않는 풀 노드”를 가지고 있으며, BTS와 STEEM을 싱크하는 것은 ETH보다 빠릅니다. 비탈릭의 의견은 근본적으로 잘못되었습니다.

블록 생산자들은 비정상적인 블록을 만들 권한이 없습니다. 모든 교환 거래는 풀 노드 혹은 부분 노드에서 이루어지므로 트랜잭션과 관련된 부분 집합에 의해 검증됩니다.

이더리움 경량 클라이언트들은 로직이 아닌 해쉬만을 검사하므로 검증을 위해 맹목적으로 블록 생산자를 신뢰해야 합니다. 그러므로 신뢰성이 무너지는 순간은 마이닝 풀의 담합이며, 이는 선출된 블록 생산자들의 담합과 유사합니다. 두 방식의 결정적 차이는 더 많은 선출된 블록 생산자가 있으며, 그들의 권력은 집중화된 마이닝 풀과 비교할 때 더 고르게 분배되었다는 점입니다.

투표 참여율 (Voter Turnout)

비탈릭은 이어서 투표에 관한 문제점을 제기합니다.

투표 방식은 다음의 문제점을 가지고 있습니다.

  • 낮은 투표 참여율 (DAO carbonvote, 현재 EIP186 carbonvote, DAO 제안 투표, 또한 Bitshares의 2014년 DPOS 투표 모두 10% 미만의 참여율을 보임)
  • 게임 이론, 공유지의 비극 취약점 : 한명의 투표자는 결과에 대해 아주 미미한 영향력만 행사할 수 있으므로, 합리적으로 투표할때 얻는 가치는 사회 최적 가치에 비해 수천배 낮습니다. 사용자들이 그들의 코인을 거래소에 예치하고, 거래소가 사용자를 대신해 투표를 하는 상황에서, 사용자들의 돈을 가지고 거래소가 어떻게 투표하는지 신경도 안쓰는 결과가 발생할 수 있습니다.
  • 코인 보유자들의 관심사는 일반 사용자들의 관심사와 완벽히 일치하지 않습니다. 그러므로 시스템의 개선이 아닌 코인의 가격만 올리는 방향으로 흘러갈 수 있습니다.

지난 3년간 낮은 투표 참여율을 개선하기 위해 프록시 투표, 보다 간편한 사용자 인터페이스, 투표를 하기 위한 절차의 감소가 이루어졌습니다. 이러한 참여를 통해 투표 참여율은 전체 토큰의 20% 이상까지 증가했습니다. “거래소 투표”에 대한 우려는 스팀 파워(거래소는 유동 화폐로 보유해야 함)로 크게 개선되었으며, 약관으로 완전히 개선할 수 있습니다.

더 나아가, 비 유권자는 보안성을 약화시키지 않습니다. 그들은 토큰을 보유하고 있으며, 공격자들의 지분 획득 비용을 높이는데 일조합니다. 다량의 토큰 보유자(역주:고래)들은 그들의 자산을 보호하며, 시스템의 가장 큰 고래보다 더 많은 자산을 소유하려고 하는 공격자로부터 보호하는 큰 가치를 얻기위해 투표에 참여합니다. Steem과 Bitshares의 투표 참가수와 이더리움의 자산 규모를 대입하였을 때, 공격자는 (구매 압력이 가격을 상승하지 않는다 가정할 때) 수조원의 금액을 지불해야 하며, 공격자들은 문제가 발생하였을 때 쉽게 내보낼 수(forked out) 있습니다.

만약에 공격자들이 거대 고래와 결탁한다면, 고래들은 “공격”이 프로토콜을 향상시킬 기능이라 생각하거나, “커뮤니티”가 고래를 내보낼 것입니다. 비트코인과 이더리움은 모두 큰 영향력을 가진자들이 대다수의 관심사와 반하는 변화를 일으키려고 할 때 어떠한 일(ETC와 BCC)이 일어나는지 보여주었습니다.

수수료 (Fees)

마지막으로 비탈릭은 수수료를 언급합니다.

EOS는 트랜잭션 비용을 청구하는 것이 아닌, 일정 기간 N*k개의 트랜잭션을 전송하기 위해 N개의 토큰을 가지고 있어야 하는 규칙(스팀 백서 참고)을 메카니즘으로 삼습니다. 이는 사용성 측면에서 바람직하지 않은 결과를 낳습니다. 사용자들은 N개의 토큰을 구매해야만 하며, 변동성에 노출되어야 합니다. 다음과 같은 상황에서 문제가 됩니다.

  • 빈곤층 : 블록체인을 사용하기 위해 힘들게 저축한 돈을 겉이 번지르르한 신상 가상화폐에 집어넣을 생각이 없는 사람.
  • 블록체인을 몇번 쓰고 떠날사람 (코인을 사고 팔아야 됨)
  • 이더리움 역시 후자는 마찬가지이나, 그들은 수수료만 내면 되므로 구매량은 크지 않을겁니다. 이를 위해 몇달러 어치 이더를 더 구매하는건 큰 일은 아닙니다.

저 역시 빈곤층의 경우 플랫폼을 사용하기 위해 어떠한 가상 화폐를 구매해선 안된다고 생각하며, 그렇기 때문에 수수료가 문제가 되는겁니다. 이더리움으로 스팀을 구현하면 수수료로 모든 사용자를 내칠 수 있을겁니다. 모든 암호화폐는 극소량을 구매하려고 해도 고정 비용이 발생합니다. 계정을 만들어야 되고, 은행 송금 수수료를 내야되고, 개인 신분 증명을 해야되고, 거래소 수수료를 내는 등의 비용을 말이죠. 이러한 과정을 처음으로 수행할 때 소요되는 시간과 비용을 정당화하려면 10만원어치의 가상화폐를 구매해야 합니다. 이러한 과정의 비용이 10원의 수수료처럼 될거라고는 절대 생각되지 않습니다.

  • 갑작스런 방문자 수 증가를 겪은 사람 (예: 아마도 여러분) : 사용자들은 99%의 예상 방문량을 소화할 수 있는 충분한 양의 코인을 구매해야 합니다. 그래야만 “가스가 떨어지는” 상황이 발생해 거래소로 달려갈 필요가 없습니다.

블록체인 대역폭 할당이 부분 지급준비(fractional reserve) 속성을 가지고 있기에, 대부분의 사람들은 그들의 “기본 부하”에 해당하는 토큰만을 구매하면 되며, EOS 네트워크가 급증하는 수요를 처리하게 됩니다. 오직 네트워크가 100% 부하일 경우에만 99분위 수준 사용량에 대한 토큰을 구매하면 됩니다. 그러나 사람들이 99분위 수준 사용량에 대한 토큰을 구매할 여력이 있다면 네트워크는 평균 사용량 기간동안 사용하지 않는 대역폭을 가지고 있을 것이므로 100% 부하는 일어나지 않을 것입니다. 그러므로 시장이 자동적으로 균형을 맞추고 사람들은 최대 사용량이 아닌 평균 사용량에 맞추어 토큰을 구매할 것입니다.

서비스 비용 지불 (Service Should Pay)

마지막으로 EOS는 서비스 제공자(DApp 개발자)들이 네트워크 비용을 지불하도록 설계되었습니다. 사용자들이 아닙니다. 훌륭한 애플리케이션은 네트워크 운영과 완전히 독립적인 수익 모델이 필요합니다.

Steem은 우리가 설명하고자 하는 “무료” 트랜잭션을 사용자에게 지분을 보유토록 함으로써 어떻게 해결하였는지 증명해줍니다.

캐스퍼 (Casper)

비탈릭의 투표 모형에 대한 비판은 “처벌 조건의 부재”에서 시작됩니다. 말하자면, 블록 생산자는 잘못을 저질러도 죄를 받지 않는다는 것입니다. 만약에 향후 수익과 명성의 손실을 무시한다면, DPOS는 간단히 동일한 타임스탬프를 만든 생산자를 처벌하여 새로운 포크를 만들 수 있습니다. 블록 생산자들에게 채권을 보유하게 하여 약관의 객관적이나 주관적 해석에 따라 자본가들이 블록 생산자의 자본을 몰수하게 하는 것도 간단합니다.

저는 이더리움의 자본증명 알고리즘인 캐스퍼에 대한 리뷰 글 (영문)로 알고리즘이 틀렸음을 보여주었습니다.

  1. 과도한 알고리즘의 계산 비용이 트랜잭션 처리량에 제한을 일으킴
  2. 다음 블록 생산자에게 경제적인 배팅을 하는 것은 경쟁이 아닌 공모와 담합을 유발함
  3. 궁극적으로 캐스퍼는 지분에 비례하여 보상을 나누는 거대 주주 연합에 의해 라운드-로빈 방식으로 블록을 생산할 것임

결과적으로, 캐스퍼에서 소규모 생산자들은 블록 생산에 어떠한 영향도 주지 않을 것이며, 블록 당 통신의 네트워크 오버헤드는 굉장히 증가할 것입니다. (낮은 지연시간을 가지는 연결에 유리하며, 점차 중앙화 될 것입니다.)

결론

DPOS, EOS, STEEM에 대한 비판은 결함을 가진 경제적 가설, 잘못된 정보, 그들이 제안한 해결책이 가진 취약점에 대한 무지와 무시에서 비롯됩니다. 저는 투표가 이상적이지 않다고 충분히 인지하고 있습니다. 하지만 현재로써 모든 위협, 공격 수단, 복구 방법을 고려할 때 최선의 선택입니다.


원문: https://steemit.com/eos/@dan/reponse-to-vitalik-s-written-remarks
@tmkor 님이 번역해주셨고 @clayop 가 감수하였습니다.

 


 

비탈릭 부테린이 밝힌 EOS 견해에 대한 회신

 

한글 원문 링크: https://steemit.com/eoskorea/@clayop/5b91rt-eos

영문 원문 링크: https://steemit.com/eos/@dan/response-to-vitalik-buterin-on-eos

 

 

최근에 비탈릭 부테린은 이더리움 심천 키노트에서 EOS에 대한 질문을 받았습니다. 저는 오늘 EOS에 대한 그의 주장에 대해 사실 정정을 하려고 합니다. 그의 주장을 하나하나 짚어가며 반박하겠습니다.

 

위의 8분 20초 짜리 비디오에서 비탈릭 부테린은 다음과 같이 말했습니다.

EOS가 이더리움보다 많은 트랜젝션을 처리할 수 있다고 주장하는 이들은 2가지 근거를 내세웁니다. 첫 번째는 이더리움에 EOS가 가지고 있지 않은 많은 프로토콜 기능들이 있다는 것입니다. 그 중 한 가지가 merkle trees였습니다. 거래에 대해 무엇이든 증명하고자 할 때 네트워크상의 모든 사람들은 이를 증명할 수 있어야 합니다. 사실 특정 트랜잭션이 포함된 계정이 얼마를 갖고 있는 지 확인하기 위해서 엄청나게 큰 컴퓨팅 파워는 필요하지 않습니다. EOS는 그만한 파워를 가지고 있지 않습니다.

EOS는 블럭 내 모든 트랜잭션에 대해 merkle tree를 가지고 있습니다. 이는 모든 블럭을 처리하거나 전체 노드를 신뢰하지 않고도 지급받은 사실을 입증할 수 있다는 점을 의미합니다. 사실 EOS의 경량 노드는 블록 헤더의 전체 내역을 요구하지 않기 때문에 이더리움의 증명보다 간소합니다.

‘블록 체인 상태 표현은 추상적이어야 하며, 합의의 일부가 되서는 안된다’라는 제 포스팅에서 상태에 따라 merkle tree를 생성할 때 발생하는 문제를 제기한 바 있습니다. 저는 블록 체인의 상태를 상자를 열기 전까지 죽었는 지 살았는 지 알 수 없는 슈뢰딩거의 고양이로 비유했었습니다. 구체적인 예를 들면, 1분 전 어떤 상태였는지 증명할 수 있으나(여러분이 마지막으로 상자를 열어 보았을 때입니다), 현재 상태는 증명할 수 없습니다. 트랜잭션은 언제든지 상태가 변할 수 있기 때문에 마지막 읽어들이는 순간까지 트랜잭션은 일정하지 않습니다. 일정 시간동안 상태를 변경할 수 없는 ‘타임 락’을 제외하면 말입니다. 과도한 타임 락의 사용은 성능 저하를 불러오고 애플리케이션을 제한적으로 만듭니다.

여러분이 EOS 네트워크에 참여중이고 전체 노드를 소유하지 않는다면 노드는 모든 트랜잭션을 처리중이라는 것을 의미합니다. 따라서 전체 노드를 신뢰해야만 합니다. 하지만 여러분은 모든일이 제대로 행해지고 있다는 사실을 스스로 증명할 방법이 없습니다.

EOS에서 노드는 부분 상태를 입증할 수도록 디자인 되었습니다. 이는 전체 노드가 모든 컨트랙트를 마다 실행될 필요가 없다는 것을 의미합니다. 즉 전체 노드를 필요로 하는 방대한 자원 없이도 애플리케이션과 컨트랙트의 상태를 파악할 수 있습니다. 둘째, 경량 클라이언트도 유저의 행동을 증명할 수 있으므로 지불 여부를 검증할 수 있습니다. 셋째, 상태에 대한 입증이 필요한 경우 트랜잭션을 전송할 수 있습니다. 상호 참조할 수 있는 독립적인 블록 체인 사실들이 없다면 큰 문제에 봉착할 수 있습니다. 마지막으로 EOS 생태계의 모든 구성원은 규칙에 의해 보호 받으며 API 노드가 블록 체인 상태에 대해 거짓 행위를 하면 암호학적 증거로 거짓 주장에 대해 손해 배상에 대한 책임을 지울 있습니다.

이더리움에서는 경량 클라이언드가 올바른 블록 체인을 증명하고 동기화한다는 것을 신뢰해야합니다. 그들이 생성하는 상태에 관한 merkle 증명은 뒤쳐지고 부적절해 보입니다.

DPOS에 대한 공격

비탈릭은 대표자 지분 증명(DPOS)에 대해 비판했습니다.

EOS에서 전체 노드의 수는 작아질 것입니다. 댄 라이머는 오직 100개의 노드만 합의에 참여하고 나머지는 얇은 클라이언트 존재인 이 네트워크의 개념을 DPOS라 부릅니다. EOS가 많은 트랜잭션을 처리할 수 있다고 주장하는 또 다른 이유는 각 노드의 요구사항(대역폭과 컴퓨팅)이 훨씬 높기 때문입니다. 이는 확장성을 위한 한 가지 방법일 뿐입니다.
시스템에서 100개의 노드만 갖는다면 중앙 집권화 될 수 있다는 문제점이 발생합니다. 여러분은 서비스를 거부할 수 있습니다. 대표자를 뽑기 위한 투표를 해야 하기 때문에 당선된 노드들을 모두가 알게 됩니다. 따라서 노드를 운영하는 사람들을 공격하는 것은 무척 쉽습니다. 인터넷 서비스 사업자, 기업, 정부가 쉽게 셧다운 시킬 수 있습니다. 큰 노드를 통해 확장성을 추구하려는 전략은 노드의 수를 줄이고, 시스템이 중앙 집중화되는 결과를 야기할 것입니다.

그는 적은 수의 노드는 간단하게 식별되며 정부에 의해 중단될 수 있다고 말합니다. 그는 더욱이 커다란 노드를 통한 확장성 추구는 시스템의 중앙 집중화를 초래한다고 주장합니다. ‘무엇을 위한 중앙화인가’라는 질문을 고민해볼 필요가 있습니다.

여기 이더리움 노드에서 생산된 블럭 분포가 있습니다. 보시다시피 두 풀이 51%의 해쉬 파워를 조종하기 때문에 다른 풀에서 생성한 블록이 무시될 수 있습니다.

실용적인 관점에서 살펴볼만한 사실은 이더리움의 전체 노드에서 비중이 큰 과반수에 대한 자원 의존성이 너무 높다는 것입니다. 거의 모든 경량 클라이언트들은 merkle 증명에 대한 비탈릭의 주장만큼 중요하지 않습니다.

블럭 생성자 관점에서 이더리움과 모든 다른 프로토콜은 DPOS 블록 체인보다 훨씬 중앙화되어 있습니다. 특히 의미있는 중앙화에 대한 정의(트랜잭션 컨펌 윈도우 하나 당 특별한 생성자 수)에 따르면 말입니다.

암시장

비탈린은 마지막으로 DPOS가 정부, 인터넷 서비스 사업자, 기업에 의해 쉽게 중단될 수 있다고 지적했습니다. 제가 이미 증명한 바와 같이 비탈릭은 그릇된 가정에 기초해서 EOS를 비판했습니다. 중요한 사실은 이더리움과 비트코인은 이미 서비스 거부 공격을 당한 반면, 스팀과 비트쉐어는 네트워크의 홍수 속에서도 피해를 입지 않았다는 것입니다. 위의 파이 차트가 증명하듯이, 7개의 노드만 가지고도 90%를 장악하여 이더리움 네트워크를 무너뜨릴 수 있습니다.

외면할 수 없는 사실은 모든 공공 블록 체인이 P2P 탐사 프로세스에 의존한다는 것입니다. 전 세계 정부와 인터넷 서비스 사업자들은 모든 이더리움 노드가 어디에 있는 지 정확하게 알 수 있으며 공개된 노드의 접속점(endpoint)을 간단하게 차단할 수 있습니다.

이더리움의 전체 노드는 현재 스케일에서 너무 비실용적입니다. 이는 실제 애플리케이션이 공개 API 종단점에 의존하게 될 것을 의미합니다. 최근 EOS 토큰 분배 애플리케이션은 사용가능한 모든 공개 API 종단점(역주: 이더리움 노드의 API 종단점)을 다운시킬 정도의 부하를 일으켰습니다.

정부가 서비스 중단을 시킬 것이라는 위험은 불법적인 활동에 대한 가정을 기초로 합니다. 저희는 국제적 협력으로 인한 셧다운 위협에서 자유로운 곳에 블루오션이 있다고 믿습니다. 블록 제공자와 API 종단점은 무료 관할 구역에 설치 되야 합니다.

결론

EOS는 현실적인 가정과 논리적인 사고 아래 디자인되었고, 비트코인과 이더리움 거대 마이닝 풀의 독단과 오류로부터 자유로운 확장성을 추구합니다. 저는 DPOS가 지방 분권의 실제 척도적인 측면에서 가장 실용적으로 지방 분권화 되었다는 사실을 여러 번 설명드렸습니다. 또한 EOS에는 경량 클라이언트를 위한 많은 옵션이 있고, 비탈릭의 정부 저항에 대한 주장은 공공 블록 체인의 기본적인 속성과 취약점을 무시하고 있다는 사실을 증명했습니다.

분권화 주제에 관심이 많다면 제가 쓴 블로그의 다른 포스트들을 읽어보세요.


원문: https://steemit.com/eos/@dan/response-to-vitalik-buterin-on-eos
@yguhan 님께서 번역해 주셨고, @clayop 가 감수하였습니다.

 

 

Advertisements

One thought on “이더리움 커뮤니티와 EOS 커뮤니티 사이의 논쟁

  1. Pingback: 이더리움 커뮤니티와 EOS 커뮤니티 사이의 논쟁- 2탄 | coolspeed

댓글 남기기

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s