배워서 남 주자

투자/BlockChain, Coin

[BlockChain, Coin] Coin Network 기본용어 정리

신라면순한맛 2022. 7. 20. 23:00

목차

  • Intro
  • 용어들
    • BlockChain, Pow
    • Network
    • Staking, Pool, PoS
    • Wallet
    • 개인 지갑으로 코인 송금하기
    • Long, Short

  • 마무리

 


 

Intro

평소에 애매하게만 알고 있었던 코인 세계의 용어를 정리하고자 한다. 어제 지인들과 대화하면서 나름 정리가 되었다고 판단하여, 잊지 않기 위해 블로그에 기록한다.

 


 

용어들

우리는 보통 코인을 거래소를 통해 구매한다. 그런데, 이 코인은 어디에 있는 것이고, 구매를 한다는 것은 무엇이며, 이런 것과 흔히 말하는 채굴이라는 과정은 어떠한 연관성이 있는가?

 

이를 이해하기 위해서는 코인 세계의 전반적인 틀을 이해할 필요가 있다.

 


 

BlockChain, PoW

코인 생태계도 block chain 기술을 기반으로 돌아간다는 말은 많이 들어보았다. 사고, 팔고 하는 transaction(거래)이 일어나게 되면, 이러한 기록을 모두 block에 기록한다. 

 

이러한 block은 capacity가 무한일리는 없기에, 다 쓰고 나면 다른 block을 필요로 한다. 이렇게 새로운 block을 만들어내는 행위를 채굴이라고 한다.

 

누군가는 채굴을 해야하는데, 그 보상이 공짜로 하라고 하면 아무도 하지 않을 것이다. 이러한 채굴에 따른 보상으로써 코인을 받는다 (해당 생태계에 대한 기여를 인정하는 느낌으로). 비트코인의 경우, 새로운 block을 만들기 위해서는 이전 block을 모두 살펴보면서 적합성 내지 무결성을 파악해야 하는데, 이 때 상당한 computing power 및 전기가 들어가게 된다. 누군가 한 block에 대한 문제를 먼저 풀고 나면, 그 문제에 도전했던 다른 사람들은 그 block을 얻지 못하고 다른 block을 찾아 처음부터 다시 계산을 해야한다. 이 과정에서 비트코인은 어마어마한 전력소모를 한다는 것이고, 이것이 흔히 말하는 비트코인의 친환경 문제를 야기한다. 이렇게 본인의 computing power를 사용하여 block을 채굴하고 이에 대한 보상을 얻는 방식을 PoW(Proof of Work, 작업증명)라고 한다. 이 방식을 채택하고 있는 코인은 대표적으로 비트코인(BTC), 이더리움(ETH) 등이 있으며, 최근에 이더리움(ETH)의 경우 PoW에서 PoS(Proof of Staking, 지분증명)방식으로 바꾸는 이더리움 2.0 프로젝트를 진행 중이다. (PoS는 뒤에서 설명)

 

그리고 이렇게 만들어진 block을 순서대로 쭉 늘여뜨릴 수 있을텐데, 이러한 sequence를 block chain이라 하는 것이다. 결국 PoW방식은 이전에 만들어진 block chain에 대한 수학 문제를 가장 빠르게 풀어서 보상인 코인을 획득하는 방식인 것이다.

 


 

Network

우리의 코인block들이 살고 있는 곳을 network라 부른다. 이 공간이 정확히 어느 서버에 있는지는 잘 모르겠고, 추상적인 개념으로써 이해하고 있다.

 


 

Staking, Pool, PoS

network에 있는 코인을 그대로 두어도 되겠지만, 이를 다른 방식으로 불리는 방법이 있다. 모든 코인에 해당되는 것은 아니고, PoS(Proof of Staking, 지분증명)방식을 채택하고 있는 코인에만 해당된다. (PoW방식의 코인도 staking을 한다는 말이 가끔 있는데, 그건 전통적인 staking이 아닌 다른 무언가가 있는 듯 하다. 이는 논외로 하겠다.)

 

networkpool이라고 하는 작은 공간들을 만들고, 이 공간에 내 코인을 예치시킨다. 이 때, 내 코인이 직접 들어가는 방식이라기 보다는, snap shot(스냅샷)을 통해 위임한다는 표현이 좀 더 적절하겠다. (코인의 종류에 따라 스냅샷인 경우도 있고 lock하는 경우도 있다.) 이렇게 pool에 내 코인을 예치시키는 것을 staking(스테이킹)이라고 한다.

  

그럼 staking은 무엇이 좋길래 하는 것일까? 여기서 이제 PoS의 개념이 등장하는데, staking을 많이 하여 내가 단순히 해당 코인을 가지고 있다를 넘어서, 해당 생태계에 적극적으로 기여를 하고 있다고 증명하면 이를 기준으로 보상을 하는 방식이다. 즉, PoS방식을 택하고 있는 코인들의 채굴은 이렇게 이루어지는 것이다. 이 방식을 채택하고 있는 대표적인 코인으로는 카르다노(ADA)가 있다. 코인을 얻기 위해 막대한 전기소모를 하지 않아도 되기에, 친환경적이라는 평을 듣는다. 이렇게 내 지분을 증명하고 나면 보상을 받게 된다. (이는 DeFi에서의 이자 농사와는 다른 개념이니 혼동하지 말자.) 장투를 하고자 하는 경우 거래소에서 산 코인을 묵히지 말고 staking해야 한다는 목소리가 나오는 것은 이러한 상황을 두고 말하는 것이다.

 

이렇게 많은 지분을 가질 수록 보상이 큰 만큼, 빈익빈 부익부인 측면이 있어보인다. ADA의 경우 이러한 부작용을 방지하기 위한 방법으로 pool에 위임된 코인의 수가 일정 이상을 넘어가면 보상을 적게 주는 방식을 택하고 있다. 그래서 pool을 관리하는 사람들은 코인이 넘치는 상황을 막기 위해, 운영하고 있는 pool이 넘치기 전 새로운 다른 pool을 파고, 새로운 pool에 사람들이 코인을 예치시킬 수 있게끔 유도하는 전략을 쓰는 듯 하다.

 


 

Wallet

그렇다면 흔히 말하는 Wallet(지갑)의 개념은 무엇일까? 애초에 지갑은 이름을 잘못 지은거 같다. 이름이 지갑이기 때문에 내가 산 코인이 내 지갑에 있다고 착각하는 경우가 많다. (나 또한 그랬었다.) 관점을 바꾸어, 지갑viewer(뷰어)로 이름을 바꾸면 훨씬 더 직관적일 것 같다.

 

앞서 언급했듯 우리의 코인은 모두 network에 있다. 거래소를 통해 구매했던 코인도 모두 각자의 network가 있고, 그 코인 중 일부를 우리의 원화(KRW) 내지 달러(USD)로 교환하는 것이다. 이 때, 거래소는 그 중간에서 사용자가 매매를 하는 것을 도우며 수수료를 챙긴다. 그렇게 구매한 코인은 거래소 내에 마련 된 각 거래소 계정의 지갑을 통해 내가 얼마만큼의 코인을 가지고 있는지 확인할 수 있다. 여기서 주의할 점은, 각 코인마다 network가 있는 것이고, 이에 따라 지갑도 하나씩 있다는 것이다. 업비트와 바이낸스 등에서 내 자산을 한 번에 볼 수 있는 것은, 거래소에서 내가 구매한 코인들의 지갑내역을 한 번에 보여주는 기능을 제공하는 것뿐이지, 내가 산 모든 코인이 들어가 있는 지갑이 있는 개념이 전혀 아니다.

 


 

개인 지갑으로 코인 송금하기

ADA를 기준으로 계속 설명해보자. 예를 들어 업비트에서 내가 가지고 있던 현금 10만원을, 1 ADA가 1,000 KRW라 가정을 하면 100 ADA 좀 안되게 교환을 받았을 것이다. (수수료 때문, 이하 논의에서는 수수료를 무시하고 설명한다.) 이 코인은 거래소가 가지고 있는 것도 아니고 내 지갑에 들어가 있는 개념도 아니다. 단지, ADA network상에 있는 ADA 중에서, 100 ADA 만큼의 소유권이 나에게 있다고 업비트에 있는 내 계정의 지갑을 통해 보여주는 것뿐이다. 

  

우리는 이제 이를 staking하기 위해 (=pool에 예치시키기 위해) 적당한 개인 지갑 하나를 만든다. 이러한 지갑에는 보통 Yoroi, ccvault 등이 있는데, 이는 코인마다 다 다르니 참고하도록 하자. 어쨌든 예를 들어 ccvault 상에서 개인 지갑을 하나 만들 때, 처음 만드는 것이라면 15 words 내지 24 words 정도 되는 단어를 보여준다. 이 단어 모임은 내가 해당 코인을 가지고 있다는 근거가 되는 정보이므로, 절대로 잃어버려서는 안된다. 즉, network상에 내가 이만큼 코인을 가지고 있다, 라는 것을 증명하는 유일한 수단인 것이다. 거래소의 경우 거래소 계정을 만드는 행위가 나를 입증하는 행위가 되었기에 따로 단어의 sequence가 없었지만, 개인 지갑은 그렇지 않다. 

  

이렇게 만들어진 지갑은 처음에 말했듯 viewer에 불과하다. 개인 지갑은 방금 만든 것이기에 당연히 업비트를 통해 산 100 ADA는 보이지 않는다. 업비트를 통해 증명된 network상 내 지분 영역을 A, 개인 지갑을 만들 때 복구 단어들을 통해 증명된 network상 내 지분 영역을 B라고 하면, 내 100 ADA는 현재 A 영역에 있는 것이다. 따라서, 이 ADA를 개인 지갑을 통해 보기 위해서는 B 영역으로 옮겨야 하는데, 이것을 송금한다고 한다. 그래서 업비트에서 입출금 메뉴를 보면, 받을 지갑 주소를 입력하라는 말이 나온다. 이 때 받을 지갑 주소라는 것은 결국 B 영역을 가리키고 있는 개인 지갑의 주소이다. 송금을 하고 나면 이제 A 영역에 있던 100 ADA는 B 영역으로 이동했기에, 업비트에 있는 지갑으로는 더이상 내 ADA가 보이지 않고, 개인 지갑을 통해 B 영역에 있는 100 ADA가 보이게 된다.

 

이렇게 옮긴 ADA를 적당한 pool을 찾아 staking하면, 시간이 지나 staking에 대한 보상으로 받는 코인 또한 B 영역에 누적이 되게 된다. 후에 이를 현금화 하고 싶다면, ADA를 취급하고 있는 거래소로 코인을 다시 송금하여 현금으로 교환하면 된다.

 


 

Long, Short

업비트에서는 제공하고 있지 않지만, 바이낸스등의 몇몇 해외 거래소에서 지원하는 기능이다. 내가 가지고 있는 코인이 올라가는 것 혹은 내려가는 것에 배팅을 하는 것을 각각 Long, Short이라고 한다.

 

예를 들어, 바이낸스에서 현재 1 BTC가 500 USDT라고 가정해보자. 여기서 나는 올라갈 것에 배팅을 하고 10x Long을 치면, 실제로 내가 가지고 있어야 할 비트코인은 0.1 BTC(=50 USDT)인 것이고, 이 때 만약 1 BTC가 실제로 550 USDT가 되었다면 50 USDT를 번 것이므로, 실제 투자금 대비 2배의 수익이 난 것으로 이해할 수 있다. 반면, 올라갈 것에 배팅했음에도 시장 상황이 안좋아 거꾸로 450 USDT가 되어버렸다면, 내가 투자한 금액 50 USDT만큼을 넘어갔으므로 내 자산은 강제 청산 당하게 된다. 이를 마진 콜이라고 부른다.

 

10x short도 예를 들어보자. 똑같이 1 BTC가 500 USDT인 상황에서 10x short에 걸었고 이후 450 USDT가 되었다면, 500 USDT일 때 50 USDT만큼을 미리 팔고, 450 USDT가 되었을 때 재매수를 하는 것이다. 그러면 결과적으로 내 자산은 50 USDT가 생긴 것이므로, 2배의 수익이 난 것을 알 수 있다. 이것도 마찬가지로 ``short``에 걸었는데 거꾸로 550 USDT이상 오른다면, 강제로 마진 콜을 당하면서 내 자산은 청산당하게 된다.

 


 

마무리

평소에 아리까리 했던 내용들이라, 이렇게 정리하여 매우 기쁘게 생각한다. swap, 하드 포크등도 공부가 좀 더 이뤄지고 나면 포스팅 해보려고 한다.