웹3.0 생활을 위한 '트랜잭션'의 이해
다음은 가상자산과 관련된 활동을 몇 가지 제시한 것입니다.
- 비트코인(BTC)을 친구에게 송금한 A씨
- NFT(Non-Fungible Token)를 *민팅한 B씨
- 탈중앙화거래소(DEX)에서 비트코인(BTC)을 이더리움(ETH)로 교환한 C씨
*민팅(Minting): 토큰을 지급하고 NFT를 최초로 발행하는 작업
위 사례들 뒤에는 모두 트랜잭션(transaction)이 사용되고 있습니다. 트랜잭션이란, 가상자산을 참여자 간 전송, 수신할 때 저장되는 거래 기록입니다. 트랜잭션에는 거래 시간(블록 높이), 거래 당사자의 공개 주소, 거래된 자산에 관한 내용, 수수료 정보 등이 담겨 있습니다. 신용카드로 음식점에서 계산을 할 때, 결제 시간과 내 카드 번호, 가게 이름 등의 정보가 기록되는 것과 같은 개념입니다. 그러면 트랜잭션은 어떤 방식으로 작동하는 걸까요?.
트랜잭션 원리
신용카드 결제는 카드사에서 승인해주지만, 블록체인에서는 검증자(노드)들의 승인이 필요합니다. 검증자는 블록체인의 내용을 검증하는 주체로, 한 체인에 다수가 존재하는 것이 특징입니다. 트랜잭션의 처리 방식은 체인마다 조금씩 다르지만, 공통적으로 개별 검증자들이 트랜잭션의 내용을 검증하게 되고, 과반수의 검증자가 그 내용에 동의해야 합니다.
하나의 트랜잭션은 고유한 ID(트랜잭션 해시값)를 가지며, 이를 이용해 암호 화폐의 전달 여부, 그리고 거래 정보의 유효성을 검사합니다. 아래의 그림과 같이 A가 B에게 1BTC를 보내는 트랜잭션에서, A의 잔고가 1.005BTC(수수료 0.0005BTC 포함) 이상으로 문제가 없음이 확인되면 트랜잭션은 성공적으로 처리됩니다. 반면, 잔고 부족 등의 오류가 발견되면 트랜잭션은 실패합니다.
트랜잭션 기록을 보관하는 대표적인 방식으로 “UTXO 모델”과 “계좌/잔고 모델”이 있습니다.
먼저 비트코인이 차용한 UTXO는 Unspent transaction Output의 약자로 “소비되지 않은 거래 출력값”을 의미합니다. 잔돈이 있는 실제 현금 지갑을 상상하시면 이해하기 쉽습니다. 우리가 오만원권 한 장을 가지고 3만 5천원을 결제한다면, 만원권 한 장과 오천원권 한 장을 받을 것입니다. UTXO 모델에서도 마찬가지로 3 BTC를 가지고 1 BTC를 결제한다면 2 BTC가 적힌 UTXO를 받는 것입니다. UTXO는 만원/오만원 대신 임의의 단위를 가지는 점만 다릅니다.
A 지갑에 3 BTC가 있고 B 지갑에 2 BTC가 있다고 가정해 봅시다. A가 B에게 1 BTC를 보낼 때, A의 잔고 3 BTC가 전부 UTXO에 입력됩니다. UTXO에 입력된 3 BTC는 분리되어 2 BTC는 A 지갑으로 돌아가고 1 BTC만 B 지갑으로 전송됩니다. 그럼 이때 B 지갑에는 총 3 BTC가 있다고 생각할 수 있지만 실제로는 2 BTC가 입력된 UTXO(기존에 있던 UTXO)와 1 BTC가 입력된 UTXO(A가 보낸 UTXO)로 분리되어 존재합니다.
UTXO 모델은 자금 추적과 거래 검증이 용이합니다. 그러나 UTXO가 과하게 생성될 경우, 스마트 컨트랙트 연결이 어려워지는 문제점이 있습니다. 반면, 이더리움의 계좌/잔고 모델은 각 지갑이 은행 계좌와 유사합니다. UTXO 모델과 달리 지갑은 총 잔액만 표시합니다.
예를 들어, 잔고가 1 ETH인 계좌 C에서 잔고가 0 ETH인 계좌 D로 0.5 ETH를 전송하는 트랜잭션이 발생했다고 가정합시다. 이후 계좌 C와 D는 모두 0.5 ETH의 잔고가 나타나게 될 것입니다.
계좌/잔고 모델의 주요 특징은 컨트랙트 제어 지갑의 존재입니다. 지갑은 개인 소유 / 컨트랙트 제어 지갑 두 종류로 분류됩니다. 이 중 컨트랙트 제어 지갑은 스마트 컨트랙트 배포 시 생성되는 지갑으로, 컨트랙트 자체적으로 자금을 가질 수 있어 다양한 DApp(탈중앙화 애플리케이션)의 기반이 됩니다.
이 외에도 계좌/잔고 모델은 UTXO 모델에 비해 트랜잭션 크기가 작아 보관 측면에서 유리하지만, 스마트 컨트랙트의 실행으로 비용이 많이 발생하고 보안이 취약할 수 있다는 단점도 가집니다.
트랜잭션 예시
블록체인 상에서 발생하는 트랜잭션의 특징으로는 누구나 그 내역을 조회할 수 있다는 것입니다. 누구나 모든 거래를 조회할 수 있기 때문에 기존 금융권보다 정보가 투명합니다.
예를 들어, 이더리움 트랜잭션은 이더스캔(etherscan.io)이라는 사이트에서 찾아볼 수 있습니다. 특정한 시간(블록 높이)에서 발생한 트랜잭션을 모두 볼 수도 있고, 혹은 각 트랜잭션의 세부 내용을 확인할 수도 있습니다.
만약 이더스캔에서 거래 내역을 조회하고 싶은 지갑 주소가 있다면, 해당 지갑 주소를 검색창에 입력만 하면 볼 수 있습니다. 이를 통해 의심스러운 거래도 추적할 수 있습니다. 모든 거래 당사자의 기록이 투명하게 공개되어 확인이 가능하기 때문입니다.
위 사진은 실제로 이더리움 네트워크에서 거래가 일어나고 있는 트랜잭션을 실시간으로 나열하여 보여주는 이더스캔 화면 사진입니다. 단순 송금부터 시작해서, NFT 민팅, DEX(탈중앙화거래소) 사용 기록 등 각종 트랜잭션들이 모두 나열됩니다.
1. Txn Hash
트랜잭션 해시값, 즉 해당 트랜잭션의 고유 ID입니다.
2. Method
해당 트랜잭션이 수행한 작업을 설명합니다. 예를 들어 토큰 전송은 Transfer, NFT 민팅은 Mint로 표시됩니다.
3. Block
해당 트랜잭션이 발생한 블록 높이(거래 시간)입니다. 위 예시에는 15375516 블록의 트랜잭션이 표시됩니다.
4. Age / Date Time (UTC)
트랜잭션이 발생한 시간을 표시합니다. 최초 표시 형식은 “Age”로, 조회 시점을 기준으로 나타냅니다. “Age” 텍스트 클릭 시 날짜-시간 형식으로 바뀝니다.
5. From
보내는 지갑의 주소입니다. 클릭 시 해당 지갑의 트랜잭션 목록이 표시됩니다.
6. To
받는 지갑의 주소입니다. 클릭 시 해당 지갑의 트랜잭션 목록이 표시됩니다.
7. Txn Fee
해당 트랜잭션이 지불한 트랜잭션 수수료 금액입니다.
또한 이 트랜잭션들은 영원히 기록되어 지갑 주소, 해시값 등을 이용해 언제든지 찾아볼 수 있습니다.
트랜잭션 해시값을 하나 클릭하면 개별 트랜잭션의 세부 내용을 확인할 수 있습니다. 아래는 트랜잭션 0x302d2f035f2d4a3b52d7996df89b16b5dfe3c344b655195c8c28f5a37a893e59를 살펴본 것입니다.
이 트랜잭션은 지갑 주소 0xf391a48b0b24035960d9b8bcdd3b0bcb8bf98504 (이하 지갑 A)에서 NFT를 민팅을 한 것입니다. 각 항목을 설명하며 어떤 내용이 표시되는 함께 보겠습니다.
▲ Transaction Hash
해당 트랜잭션의 해시값입니다. 0x302d2f035f2d4a3b52d7996df89b16b5dfe3c344b655195c8c28f5a37a893e59
▲ Status
트랜잭션의 상태입니다. 정상적으로 완료 시 “Success”, 실패 시 “Fail”으로 나타납니다. 위 트랜잭션은 Success로 성공적으로 처리되었습니다.
▲ Block
트랜잭션이 기록된 블록의 높이입니다. 위 트랜잭션은 블록 높이 15347636에 기록된 것을 알 수 있습니다.
▲ Timestamp
트랜잭션이 발생한 날짜와 시간을 보여줍니다. 위 트랜잭션은 2022년 8월 15일, 오후 06시 42분 52초 (UTC)에 발생했습니다.
▲ Transaction Action
트랜잭션이 수행한 주요 작업들을 보여줍니다. 위 트랜잭션에서는 Ruggers (RUG) NFT가 민팅되어 지갑A로 전송되었습니다.
▲ From
보내는 이의 지갑 주소입니다. 위 트랜잭션에서는 지갑A가 되겠습니다.
▲ Interacted With (To)
받는 이의 지갑 주소 혹은 상호작용하는 스마트 컨트랙트입니다. 위 트랜잭션에서는 지갑A가 스마트 컨트랙트 0xc7a97c7500269a3415983d6b59f607075820f4d3과 상호작용 했습니다.
▲ Tokens Transferred
전송된 토큰의 정보를 표시합니다. 본 NFT는 “ERC-721”규격을 따르는 토큰이고, Ruggers NFT 중 “1501”번과 “1502”번이 전송된 것을 확인할 수 있습니다.
▲ Value
트랜잭션 과정에서 전송된 이더리움 액수와 그 달러 가치를 표시한 것입니다. 위 트랜잭션에서는 0.01이더리움이 전송되었고, 이는 화면 캡처 당시 약 16.27달러였음을 알 수 있습니다.
▲ Transaction Fee
트랜잭션 비용입니다. 0.002455336 이더리움이 비용으로 지불되었고, 이는 화면 캡처 당시 약 4달러였습니다.
블록체인별 트랜잭션 확인하기
- 비트코인(BTC): https://www.blockchain.com/explorer?view=btc
- 이더리움(ETH): https://etherscan.io/
- 클레이튼(KLAY): https://scope.klaytn.com/
- 솔라나(SOL): https://solscan.io/
트랜잭션이란 무엇인지에 대한 이해를 통해 보다 효과적으로 가상 자산 거래를 이용하시기 바랍니다.
👉👉👉 코인거래는 최대 보상 'MEXC 거래소' 에서!
'코인 크립토 web3' 카테고리의 다른 글
SEC 은밀한 암호화폐 고사 작전 (0) | 2023.03.03 |
---|---|
블러(BLUR) 코인이란? (0) | 2023.03.03 |
ERC 토큰이란? (0) | 2023.03.03 |
메타 마스터즈 길드 (MEMAG) XT.COM 상장 (0) | 2023.03.03 |
실버게이트, 뱅크런 우려 확산 (0) | 2023.03.03 |
이오스(EOS)란 ? (0) | 2023.03.03 |
코인 발행량, 코인 유통량 (0) | 2023.03.02 |
유니스왑이란? (0) | 2023.03.02 |