"UTXO"의 두 판 사이의 차이
yueun970422 (토론 | 기여) |
yueun970422 (토론 | 기여) |
||
3번째 줄: | 3번째 줄: | ||
== 개요 == | == 개요 == | ||
비트코인에서 대중들에게 널리 퍼진 UTXO(Unspent transaction output : 아직 소비되지 않은 트랜잭션 결과물)라는 개념이 현재 다양한 블록체인 플랫폼들에서도 사용되고 있다.<ref> 이승현, 〈[https://hamait.tistory.com/1048 UTXO]〉, 《네이버블로그》, 2019-04-02 </ref> [[비트코인]]이나 [[큐텀]]의 경우, 누군가로부터 받은 금액을 UTXO로 저장한다. 예를 들어, A와 B로부터 각각 1비트코인과 3비트코인을 받아 총 4비트코인을 갖게 되었으면, 지갑에는 4비트코인이 한꺼번에 묶여 있지 않고 1비트코인, 3비트코인을 각각 UTXO로 저장한다. 다시 UTXO 안에 있는 금액을 송금할 때는 새로운 UTXO을 생성하기 때문에 기존 UTXO는 파기한다. 예를 들어, 4비트코인이 있는 UTXO에서 2비트코인을 타인에게 송금하면 2비트코인을 송금한 UTXO와 남겨진 2비트코인에 대한 UTXO가 새로 생성된다.<ref>Patrick Dai, Neil Mahi, Jordan Earls, Alex Norta, "[https://qtum.org/user/pages/03.tech/01.white-papers/Qtum%20Whitepaper.pdf Smart-Contract Value-Transfer Protocols on a Distributed Mobile Application Platform]", ''Qtum Whitepaper'', Qtum Foundation.</ref> | 비트코인에서 대중들에게 널리 퍼진 UTXO(Unspent transaction output : 아직 소비되지 않은 트랜잭션 결과물)라는 개념이 현재 다양한 블록체인 플랫폼들에서도 사용되고 있다.<ref> 이승현, 〈[https://hamait.tistory.com/1048 UTXO]〉, 《네이버블로그》, 2019-04-02 </ref> [[비트코인]]이나 [[큐텀]]의 경우, 누군가로부터 받은 금액을 UTXO로 저장한다. 예를 들어, A와 B로부터 각각 1비트코인과 3비트코인을 받아 총 4비트코인을 갖게 되었으면, 지갑에는 4비트코인이 한꺼번에 묶여 있지 않고 1비트코인, 3비트코인을 각각 UTXO로 저장한다. 다시 UTXO 안에 있는 금액을 송금할 때는 새로운 UTXO을 생성하기 때문에 기존 UTXO는 파기한다. 예를 들어, 4비트코인이 있는 UTXO에서 2비트코인을 타인에게 송금하면 2비트코인을 송금한 UTXO와 남겨진 2비트코인에 대한 UTXO가 새로 생성된다.<ref>Patrick Dai, Neil Mahi, Jordan Earls, Alex Norta, "[https://qtum.org/user/pages/03.tech/01.white-papers/Qtum%20Whitepaper.pdf Smart-Contract Value-Transfer Protocols on a Distributed Mobile Application Platform]", ''Qtum Whitepaper'', Qtum Foundation.</ref> | ||
+ | |||
+ | == 기존 은행 시스템과 비교 == | ||
+ | 기존 은행 시스템에서 송금 방식은 매우 간단했다. 송금 신청을 하면 은행에서 잔액을 확안하고 잔액이 존재하면 상대방의 통장으로 송금한다. 이런 변동 내역은 DB에 저장되고, 잔액을 확인하게 될 때는 단순히 이름에 매칭 되어 있는 잔액을 확인한다. 하지만, 비트코인에서 이와 같은 방식을 사용하면 문제가 생길 수 있다. 현재 블록에서는 n-1번째 블록의 정보가 있지만, 이전 블록의 정보는 해시화되어있다. 즉, 과거의 내역을 검증할 수 있지만 과거의 내역들을 확인 할 수 없다. 또한 주소에 대한 잔액을 갱신시키며 블록을 생성하기에는 비효율적이다. 그렇기 때문에 비트코인에서 특정 주소에 대한 잔액 조회는 Genesis 블록부터 현재 블록까지의 검사가 필요하다.<ref name = "Johnson Ryu"> Johnson Ryu, 〈[https://medium.com/blephant/%EC%95%8C%EC%93%B8%EC%8B%A0%EB%B8%94-%EC%A0%9C5%EC%9E%A5-utxo-900078ba80ca '알쓸신블' 제5장 UTXO]〉, 《MEDIUM》, 2018-11-04</ref> | ||
== 효과 == | == 효과 == | ||
* 이중 지불 방지 : 트랜잭션을 발생 시키면 해당 UTXO는 검증을 받은 후 TX Pool에 들어간다. 그렇기 때문에 이중지불이 발생하면 채굴자들은 Pool에서 UTXO 검사 후 사용 기록이 있다면 해당 거래를 무효화 할 수 있다. | * 이중 지불 방지 : 트랜잭션을 발생 시키면 해당 UTXO는 검증을 받은 후 TX Pool에 들어간다. 그렇기 때문에 이중지불이 발생하면 채굴자들은 Pool에서 UTXO 검사 후 사용 기록이 있다면 해당 거래를 무효화 할 수 있다. | ||
− | * 잔고의 증명 : 개인의 비트코인은 개인의 지갑에 담겨있는 것이 아닌, 블록체인에 담겨져있다. 개인의 잔고는 출금 과정에서 소유자의 공개키로 암호화 한다. 이것을 복호화 하는 것은 개인키이다. UTXO는 개인만이 사용할 수 있는 출금의 집합체이다. 지갑에 표시되는 잔고는 이러한 UTXO의 값들의 합이고 지갑을 열 때마다 블록체인을 검토해서 실시간 표시한다.<ref | + | * 잔고의 증명 : 개인의 비트코인은 개인의 지갑에 담겨있는 것이 아닌, 블록체인에 담겨져있다. 개인의 잔고는 출금 과정에서 소유자의 공개키로 암호화 한다. 이것을 복호화 하는 것은 개인키이다. UTXO는 개인만이 사용할 수 있는 출금의 집합체이다. 지갑에 표시되는 잔고는 이러한 UTXO의 값들의 합이고 지갑을 열 때마다 블록체인을 검토해서 실시간 표시한다.<ref name = "Johnson Ryu"></ref> |
2019년 7월 17일 (수) 16:28 판
UTXO(유티엑스오)는 Unspent Transaction Outputs의 약자로서, 미사용 트랜잭션 출력값을 말한다. 미지출 거래 출력이라고도 한다. 비트코인은 이더리움의 '계좌 잔고 모델'(Account Balance Model)과 달리 계정이나 잔고가 없고, 블록체인에 기록된 "소비되지 않은 출력값"을 통해 거래의 유효성을 검사하여 코인의 존재 여부를 확인한다.[1]
개요
비트코인에서 대중들에게 널리 퍼진 UTXO(Unspent transaction output : 아직 소비되지 않은 트랜잭션 결과물)라는 개념이 현재 다양한 블록체인 플랫폼들에서도 사용되고 있다.[2] 비트코인이나 큐텀의 경우, 누군가로부터 받은 금액을 UTXO로 저장한다. 예를 들어, A와 B로부터 각각 1비트코인과 3비트코인을 받아 총 4비트코인을 갖게 되었으면, 지갑에는 4비트코인이 한꺼번에 묶여 있지 않고 1비트코인, 3비트코인을 각각 UTXO로 저장한다. 다시 UTXO 안에 있는 금액을 송금할 때는 새로운 UTXO을 생성하기 때문에 기존 UTXO는 파기한다. 예를 들어, 4비트코인이 있는 UTXO에서 2비트코인을 타인에게 송금하면 2비트코인을 송금한 UTXO와 남겨진 2비트코인에 대한 UTXO가 새로 생성된다.[3]
기존 은행 시스템과 비교
기존 은행 시스템에서 송금 방식은 매우 간단했다. 송금 신청을 하면 은행에서 잔액을 확안하고 잔액이 존재하면 상대방의 통장으로 송금한다. 이런 변동 내역은 DB에 저장되고, 잔액을 확인하게 될 때는 단순히 이름에 매칭 되어 있는 잔액을 확인한다. 하지만, 비트코인에서 이와 같은 방식을 사용하면 문제가 생길 수 있다. 현재 블록에서는 n-1번째 블록의 정보가 있지만, 이전 블록의 정보는 해시화되어있다. 즉, 과거의 내역을 검증할 수 있지만 과거의 내역들을 확인 할 수 없다. 또한 주소에 대한 잔액을 갱신시키며 블록을 생성하기에는 비효율적이다. 그렇기 때문에 비트코인에서 특정 주소에 대한 잔액 조회는 Genesis 블록부터 현재 블록까지의 검사가 필요하다.[4]
효과
- 이중 지불 방지 : 트랜잭션을 발생 시키면 해당 UTXO는 검증을 받은 후 TX Pool에 들어간다. 그렇기 때문에 이중지불이 발생하면 채굴자들은 Pool에서 UTXO 검사 후 사용 기록이 있다면 해당 거래를 무효화 할 수 있다.
- 잔고의 증명 : 개인의 비트코인은 개인의 지갑에 담겨있는 것이 아닌, 블록체인에 담겨져있다. 개인의 잔고는 출금 과정에서 소유자의 공개키로 암호화 한다. 이것을 복호화 하는 것은 개인키이다. UTXO는 개인만이 사용할 수 있는 출금의 집합체이다. 지갑에 표시되는 잔고는 이러한 UTXO의 값들의 합이고 지갑을 열 때마다 블록체인을 검토해서 실시간 표시한다.[4]
각주
- ↑ 비트웹 편집국, 〈퀀텀(QTUM) - 비트코인과 이더리움의 장점을 하나에! 모바일 애플리케이션에 최적!〉, 《비트웹》, 2018-01-25
- ↑ 이승현, 〈UTXO〉, 《네이버블로그》, 2019-04-02
- ↑ Patrick Dai, Neil Mahi, Jordan Earls, Alex Norta, "Smart-Contract Value-Transfer Protocols on a Distributed Mobile Application Platform", Qtum Whitepaper, Qtum Foundation.
- ↑ 4.0 4.1 Johnson Ryu, 〈'알쓸신블' 제5장 UTXO〉, 《MEDIUM》, 2018-11-04
참고자료
- 비트웹 편집국, 〈퀀텀(QTUM) - 비트코인과 이더리움의 장점을 하나에! 모바일 애플리케이션에 최적!〉, 《비트웹》, 2018-01-25
- Patrick Dai, Neil Mahi, Jordan Earls, Alex Norta, "Smart-Contract Value-Transfer Protocols on a Distributed Mobile Application Platform", Qtum Whitepaper, Qtum Foundation.
- 이승현, 〈UTXO〉, 《네이버블로그》, 2019-04-02
- Johnson Ryu, 〈'알쓸신블' 제5장 UTXO〉, 《MEDIUM》, 2018-11-04
같이 보기