Transaction

블록체인을 다루면서 항상 사용할 단어

TRANSACTION

Transaction(트랜잭션)은 컴퓨터공학에서 데이터베이스를 공부했다면 많이 들어봤을 단어이다. 데이터베이스에서 트랜잭션이란 데이터베이스의 상태를 변화시키는 상호작용의 논리적인 작업 단위이다. 즉, 하나의 트랜잭션이 수행되면 데이터베이스의 상태가 바뀌게 된다.

블록체인도 분산 데이터베이스이므로 트랜잭션이라는 단어 역시 유사한 의미로 사용된다. 유저는 트랜잭션을 통해 블록체인의 상태를 변화시킨다. 예를 들어 비트코인에서는 트랜잭션을 통해 블록체인에 저장되어 있는 거래 내역을 적어 상태를 변화시킨다.

Transaction의 특징

전통적으로 트랜잭션은 ACID 특성을 가진다. 여기서 ACID는 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영구성(Durability)의 앞 글자를 따온 것이다. 예를 들어서, 은행의 송금을 생각해보자. Alice가 Bob에게 송금할 때, Alice의 계좌에서 돈은 없어졌지만 Bob의 계좌에 돈이 들어오지 않는 경우가 생기면 안 된다. 논리적인 작업 단위 (Alice가 Bob에게 송금을 완료하는 것)이 바로 트랜잭션이고 ACID특성을 통해 Integrity (완결성)을 보장한다.

Transaction은 보통 Tx로 줄여서 사용된다.

Bitcoin에서의 Transaction

비트코인은 코인의 거래가 주요 기능이다. 비트코인에서의 트랜잭션은 비트코인을 보내는 것인데, 이 내용은 네트워크에 전파되고 블록에 모아서 저장된다. 트랜잭션이 성공적으로 수행되었다는 것"Alice가 Bob에게 x만큼 비트코인을 보냈다"는 사실이 새로 채굴된 블록에 적히고 네트워크에 전파되어 유효성을 판별 받았다는 것을 의미한다.

비트코인은 Unspent Transaction Output 객체를 사용하여 transaction을 진행한다. 이에 관한 자세한 내용은 다음 장에서 확인할 수 있다.

Last update: 04/20/2021

Last updated