블록체인 네트워크에 노드로 트랜잭션을 검증하여 분산원장을 기록하고, 보상으로 암호화폐를 얻는 것을 뜻하며 땅을 파서 광물따위를 캐내는 행위에서 유래
비트코인을 예시로.
노드가 비트코인 네트워크에 접속하면
새 노드는 비트코인 네트워크에 합류한 이후, 다른 노드에게 과거의 블록들을 요청해 블록체인을 다운로드 한다.
새로운 트랜잭션(거래 기록)을 수신한 노드는 반드시 해당 트랜잭션이 올바른 트랜잭션인지 검증하는 과정이 필요
💡 [비트코인에서 트랜잭션을 검증하는 단계]
1) 원본 데이터를 자신의 개인키로 암호화를 진행하여 디지털 서명을 진행
2) 원본 데이터와 디지털 서명된 데이터를 노드에 전파
3) 트랜잭션을 받은 노드는 해당 트랜잭션이 진짜인지에 대한 검증을 위해 트랜잭션을 송신한 노드의 공개키를 이용하여 복호화 진행
4) 거래 데이터와, 원본 데이터를 비교하여 수정된 데이터가 있는지 데이터의 무결성을 검증
5) 수신 받은 트랜잭션이 진짜 거래로 판단될 경우 블록체인에 해당 트랜잭션을 업데이트하고 블록체인 네트워크에 연결된 노드들에게 해당 트랜잭션을 다시 전파
채굴자와 풀 노드는 특정 규칙에 따라 수신한 블록을 평가하여 유효성 검사를 시작한다.
채굴자는네트워크에 브로드캐스팅된 트랜잭션의 유효성을 검사한다
채굴 과정의 핵심으로 채굴자가 해시 퍼즐을 풀어 유효한 블록을 찾는다
이때 채굴자는 블록 헤더에 있는 논스(Nonce)를 사용하여, 논스 값을 계속 바꿔가며 결과 해시값이 설정된 목표값보다 작을 떄 까지 반복
💡 [블록 헤더의 논스(Nonce)와 트랜잭션의 논스(Nonce)는 어떤 차이가 있을까요?]
논스(Nonce)라는 단어는 크게 두개의 다른 의미로 쓰입니다.
블록 헤더의 논스(Nonce)는 해시 함수의 입력값 중의 하나로하여 계산되는 블록의 해시값이 특정 숫자보자 작아지게 하는 값으로 쓰입니다.
트랜잭션의 논스(Nonce)는 이더리움에서 쓰이는 발신 주소의 속성**으로, 이중지불문제 방지를 위해 도입되었습니다. 해당 주소에서 발생한 트랜잭션 건수를 세어서 동적으로 계산되는 값으로 쓰입니다.
해시 퍼즐의 해를 구한 노드는 즉시 결과를 다른 노드에 전파하고, 다른 노드들은 그 결과를 검증하여 그 블록을 승인합니다. 승인되면 채굴자는 비트코인과 관련된 트랜잭션 수수료를 보상으로 받는다.
채굴자들이 특정 거래 기록들을 블록에 포함시켜서 블록체인에 추가할 수 있도록 제공되는 인센티브
트랜잭션 수수료를 사용하는 두 가지 이슈
더 많은 수수료를 지불할 수록 트랜잭션 검증 과정이 빨라진다.
초당 해시 계산 개수 비율, 비트코인 네트워크 상의 채굴자들이 블록을 찾기 위해 해시를 계산하는 속도
1초당 처리할 수 있는 트랜잭션의 개수
100만 TPS는 1초당 100만건의 트랜잭션을 처리할 수 있는 속도
원장이 분산화되고, 참여노드가 증가할수록 TPS는 느려지고 수수료는 증가한다.
유효한 블록을 만드는 데 충분한 계산 자원을 소모했다는 증명
어떤 트랜잭션이 발생했을 경우 해당 트랜잭션이 유효한 트랜잭션인지에 대한 검증과, 새로운 블록이 진짜인지, 가짜인지에 대한 검증을 수행한다는 특징을 갖고 있습니다.
해당 암호화폐를 보유하고 있는 지분율에 비례하여 의사결정 권한을 주는 합의 알고리즘
자신의 지분, 즉 스테이킹한 자산을 통해 블록을 생성하게 된다.
지분의 크기에 비례해 다음 블록의 검증 노드로 선택될 확률이 결정되며, 블록 생성 권한과 거래 수수료를 보상으로 받게 된다 PoS는 네트워크 참여자 모두가 블록을 검증할 수 있는 기회를 갖게되는 방식인데, 가지고 있는 지분이 많으면 많을 수록 블록 검증 기회를 더 많이 얻을 수가 있다. 다시 말해 가지고 있는 재산에 비례하여 보상이 주어지게 되는 것
암호화폐 소유자들이 각자의 지분율에 비례하여 투표권을 행사하여 대표자를 선정하고, 선정된 대표자들끼리 합의하여 의사결정을 내리는 합의 알고리즘
토큰은 메인넷에 기반해 만들어진 가상 자산, 블록체인 네트워크 위에서 발행된 지역화폐라고 할 수 있습니다.
토큰이 사용될 수 있는 곳은 발행된 블록체인 네트워크 내로 제한됩니다.
대체 가능성이린, 특정 자산의 각 단위를 상호 대체할 수 있다는 것이며, 기본적으로 서로 구분되지 않음을 의미한다.
블록체인 상에서 특정한 형태의 자산을 나타내는 암호화 토큰 중 하나
상호 대체가 불가능하기 때문에 디지털 영역에서 진위나 소유권을 증명하는 데 사용할 수도 있다
전송 불가능한 토큰 또는 양도 불가능한 토큰이라 불리는 NTT는 한 번 할당되면 양도할 수 없는 토큰
토큰 이코노미는 어떠한 행동을 끌어내기 위해 ‘토큰'을 보수로 주고, 그 토큰의 유/무형의 가치와 교환됨으로써 그 행동을 강화하는 방법
토큰 이코노미는 크게 세 가지 요소로 나뉩니다.
행동 심리학에서의 토큰 이코노미는 네 가지 문제점
블록체인에서의 토큰 이코노미 동작 방식
해당 과정을 통해 자연스레 생태계가 활성화된다.
사용자는 토큰을 가지고 세가지 액션을 취할 수 있다.
인센티브를 통한 네트워크의 확장
[중앙 거래소에서 거래 방법]
거래소에서는 고객들에게 코인과 토큰을 구분 짓지 않고 동일하게 보여주며 손쉽게 거래할 수 있게 해줍니다. 거래소에서는 아래와 같은 방법으로 거래를 진행하여 코인과 토큰을 동일한 것처럼 거래 가능하게 해줍니다.
- 거래소에서는 고객에게 암호화폐(코인 or 토큰) or 돈을 입금받아 해당 정보를 DB에 저장합니다.
(이때 고객별로 암호화폐 지갑을 생성하여 거래소 중앙 서버에서 관리하기도 합니다.)- 고객은 자신의 계정이 가진 암호화폐 or 입금 금액의 가치만큼 거래소에서 거래를 합니다.
- 이 거래에 대한 기록 및 자산 변동 내역은 거래소 DB에 저장됩니다.
- 고객은 거래가 완료된 자산을 자신의 지갑으로 출금합니다. 이때 거래소는 DB 기록을 기반으로 고객들에게 입금받았던 암호화폐 or 거래소가 보유한 암호화폐를 고객의 지갑으로 전송합니다.
서로 다른 네트워크를 사용하기 때문에 코인과 코인의 거래는 직접적으로 이루어질 수가 없습니다.
브릿지는 코인을 거래한다기보다는, 코인을 다른 코인(체인과 체인간의 자산 교환)으로 변경하는 하나의 방법입니다. A라는 네트워크에 존재하는 코인을 B라는 네트워크의 코인으로 변경해주는 서비스를 브릿지라고 합니다.
앞에서 다른 네트워크의 코인끼리는 거래할 수 없다고 했었는데 어떻게 된 걸까요? 다른 네트워크끼리의 거래는 당연히 불가능합니다. 하지만 브릿지는 이를 독특한 방법으로 풀어냈습니다.
브릿지는 실제 자산을 다른 네트워크로 옮긴다기보다는, 원래 있던 네트워크에 코인을 묶어두고 다른 네트워크에서 유동할 수 있게 하는 기술입니다.
브릿지 작동 방식 예 (이더리움 → 클레이튼)
- 이더리움 메인넷 특정 주소로 이더(ETH)를 전송
- 받은 이더를 Lock 하고, 클레이튼에서 oETH라는 토큰을 새로 발행
- oETH는 새롭게 발행된 토큰이지만, 같은 양만큼의 이더가 묶여있기에, 이더리움 체인에서의 이더와 같은 가치를 가진다고 취급
브릿지도 실제로는 다른 네트워크 코인간의 직접적인 거래는 불가능하지만, Lock & Mint 이라는 방법을 사용하여 FROM 체인에서 자산을 묶어두고, TO 체인에서 자산을 새로 발행하여, 다른 네트워크 코인간 거래가 가능하게 서비스를 제공합니다.
토큰 자체가 코인에 귀속되기 떄문에 네트워크 상에서 코인으로 토큰을 교환하기도, 토큰을 코인으로 교환하기도 쉬운편
토큰을 발행한 스마트 컨트랙트에서 스왑을 구현하여 사용하거나, Uniswap 같은 스왑 dApp, DeFi 서비스등을 사용한다.
코인과 코인이 서로 다른 네트워크일 경우, 이를 거래하는 것은 불가능했습니다. 때문에 당연하게도 서로 다른 네트워크의 코인과 토큰도 거래가 불가능합니다.
거래하기 위해서는 보유하고 있는 코인을 토큰이 존재하는 네트워크로 이동한 뒤, 이를 다시 원하는 토큰으로 스왑해야합니다.
스왑 서비스를 이용하면 쉽게 거래가 가능
다른 네트워크의 코인 - 토큰 거래와 동일하지만 하나의 액션이 추가된다.
서로 다른 네트워크 간 이동하기 위해서 보유하고 있는 토큰을 해당 네트워크의 코인으로 변경한 뒤, 이 코인을 브릿지를 이용하여 다른 네트워크의 토큰을 발행받고 이를 원하는 토큰으로 스왑
💡 서로 다른 네트워크의 토큰 - 토큰의 거래 예 (A 네트워크의 토큰, B 네트워크의 토큰)
1. A 네트워크의 토큰을 A 네트워크의 코인으로 스왑
2. A 네트워크의 코인을 토큰이 존재하는 B 네트워크로 브릿지를 사용하여 이동
3. 브릿지를 사용하여 발행받은 B 네트워크의 토큰을, 거래하고자 했던 토큰으로 스왑