위험 경고: '가상화폐', '블록체인'이라는 이름으로 불법 자금 모집 위험에 주의하세요. — 은행보험감독관리위원회 등 5개 부처
검색
로그인
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
시장 동향 보기
하나의 기사에서 Bitcoin의 UTXO 모델 이해
Harbour
Odaily资深作者
@bcxiongdi
2022-12-29 02:00
이 기사는 약 2379자로, 전체를 읽는 데 약 4분이 소요됩니다
계정 모델 VS UTXO 모델.

보조 제목

Ethereum, EOS 및 Solana와 같은 잘 알려진 체인은 모두 계정 모델을 사용하며 프로젝트의 90% 이상이 계정 모델을 사용한다고 말할 수 있습니다. 반면 일부 구식 프로젝트만 UTXO 모델을 사용합니다. BTC, DOGE, LTC와 같은 일부 새로운 프로젝트는 레이어 2에서 OP 체계를 사용하는 FUEL과 같은 일부 새로운 프로젝트에서도 이 모델을 사용합니다.

보조 제목

2. 계정 모델이란 무엇입니까

쉽게 이해하면 은행간 이체, 알리페이, 위챗 이체 등과 같은 은행 계좌 시스템은 모두 계좌 모델에 속합니다. 밤을 줄게 :

A가 100이고 B가 100이라면

이때 A는 B에게 50위안을 이체한다.

A -50 ,B + 50 

시스템에서의 표현은

A 50 , B 150 

그래서 그들의 균형

이것은 전송입니다.

A가 여전히 100을 가지고 있고 1위안을 100개의 새 계좌로 이체하려고 한다고 다시 가정해 보겠습니다.

이때 A는 100명에게 동시에 1위안을 송금해야 합니다.

1차 거래

A -1 , 1인칭 + 1

그래서 그들의 균형

A 99 , 1인칭 1

두 번째 펜

A -1, 2인칭 + 1

그래서 그들의 균형

A 98 , 2인칭 1

세 번째 펜

A -1, 3인칭 + 1

그래서 그들의 균형

A 97 , 3인칭 1

......

등등

100번째 사람

A -1, 100번째 사람 + 1

그래서 그들의 균형

A 0 , 100번째 사람 1

이론적으로 트랜잭션 수가 증가할수록 실행에 더 많은 시간이 필요합니다.

보조 제목

3. UTXO 모델이란?

앞서 언급했듯이 많은 오래된 주류 브랜드가 UTXO를 사용하고 있으며 이 서클의 조상인 비트코인도 UTXO 모델을 사용하고 있습니다. 그것에 대해 독특한 무언가가 있어야합니다.

UTXO의 전체 이름은 Unspent Transaction Output으로 "사용하지 않은 트랜잭션 출력"을 의미합니다. 간단히 말해서 그 모델은 일상 생활의 현금 시스템과 비슷합니다. 예를 들면 다음과 같습니다.

A는 1위안, 10위안, 100위안 단위의 지갑(실제로는 지갑)을 가지고 있다.

A는 B, C, D에게 각각 1위안을 주려고 합니다.

A 세 가지 방법이 있습니다.

첫 번째 방법: 액면가 1위안을 B에게 인출

두 번째 방법: 액면가 10위안을 C에게 인출하고 9위안을 돌려받음

세 번째 방법: 액면가 100위안을 D에게 인출하고 99위안을 돌려받음

이 세 가지 방법으로 거래를 완료할 수 있습니다.

다시 체인으로 돌아가서 여기에 있는 돈의 모든 액면가가 실제로 체인의 UTXO라고 상상해 보십시오.구체적으로 사용 과정에서 UTXO는 전송되지 않고 지속적으로 파괴되고 재건됩니다. 예를 들면 다음과 같습니다.

A는 두 번째 방법을 사용하여 C에게 돈을 이체하고 액면가 10위안의 UTXO는 파기되며 시스템은 액면가 1위안의 UTXO와 액면가 9위안의 UTXO를 다시 인쇄합니다. .

세 번째 방법도 마찬가지인데, 100위안이 소실되면 액면가 1위안인 UTXO와 액면가 99위안인 UTXO가 인쇄되어 1위안은 D에게, 99위안은 A에게 반환됩니다.

이것이 UTXO와 계좌모형의 이체방식의 차이다.게다가 UTXO모델은 병렬로 이체가 가능하다.탈중앙화된 UTXO를 통해 잔고가 존재하기 때문에 실제로 각 액면가는 동시에 다른 사람에게 이체될 수 있다.위 3가지 방법 관련된 계정 일관성 문제가 없고 각 UTXO가 독립적으로 계산되기 때문에 동시에 하나의 트랜잭션으로 완료할 수 있습니다.

우리는 위의 계정 모델을 비교하고 있으며 각 트랜잭션은 이전 트랜잭션의 완료에 의존해야 하며 성능 차이를 상상할 수 있습니다. 이런 식으로 우리는 중앙 은행의 디지털 통화가 UTXO 모델을 사용하는 이유를 이해할 수 있습니다.그렇지 않으면 어떻게 심천이 50,000개의 지갑에 1,000만 위안의 디지털 통화를 보낼 수 있습니까?

위의 예를 다시 살펴보겠습니다.

A는 100을 가지고 있고 1위안을 100개의 새 계좌로 이체하려고 합니다.

액면가가 100인 UTXO는 액면가가 1위안인 100개의 UTXO로 분할된 다음 한 번의 거래로 100명에게 직접 배포될 수 있으며 즉시 완료됩니다.

이 지갑 주소에 얼마나 많은 돈이 있는지 알고 싶다면 UTXO 잔액이 몇 개인지 세고 합산해야 합니다.

보조 제목

4. 계정 모델과 UTXO의 장단점

계정 모델의 이점:

계약은 코드 형태로 계정에 저장되며 계정에는 자체 상태가 있습니다. 이 모델은 프로그래밍 가능성이 더 높고, 개발자가 이해하기 쉽고, 시나리오 범위가 더 넓습니다.

일괄 트랜잭션은 비용이 적게 듭니다. 마이닝 풀이 채굴자에게 수수료를 지불한다고 상상해보십시오.UTXO에서는 각 Input과 Out에 별도의 Witness 스크립트 또는 Locking 스크립트가 필요하기 때문에 트랜잭션 자체가 매우 크고 서명 확인 및 트랜잭션 스토리지는 체인의 귀중한 리소스를 소비합니다. 계정 모델은 계약을 통해 비용을 크게 줄일 수 있습니다.

계정 모델의 단점:

계정 모델 트랜잭션 간에 종속성이 없으며 재생 문제를 해결해야 합니다. 이더리움은 어떻게 해결하나요 이더리움은 고유한 Nonce 값 방식을 사용한다는 것을 알고 있습니다 각 트랜잭션 Tx에는 Nonce 필드가 있습니다 각 사용자에 대해 이 Nonce는 반복될 수 없으므로 재생 공격을 피할 수 있습니다

Lightning Network/Raiden Network, Plasma 등의 구현을 위해 사용자는 증명을 위한 보다 복잡한 Proof 증명 메커니즘이 필요하며, 서브 체인에서 메인 체인으로의 상태 마이그레이션을 위해 보다 복잡한 프로토콜이 필요합니다.

UTXO의 장점:

계산은 오프체인이며 트랜잭션 자체는 결과이자 증명입니다. 노드는 확인만 하면 되고 트랜잭션에 추가 계산이 필요하지 않으며 추가 상태 저장소가 필요하지 않습니다. 트랜잭션 자체의 출력 UTXO 계산은 지갑에서 완료되므로 트랜잭션의 계산 부담은 전적으로 지갑에서 부담하므로 체인의 부담이 어느 정도 줄어듭니다.

Coinbase 트랜잭션을 제외하고 트랜잭션의 입력은 항상 UTXO 뒤에 연결됩니다. 트랜잭션은 재생할 수 없으며 트랜잭션의 순서와 종속성을 쉽게 확인할 수 있으며 트랜잭션 소비 여부도 쉽게 증명할 수 있습니다.

UTXO 모델은 상태 비저장이며 동시에 처리하기가 더 쉽습니다.

P 2 SH 유형 거래의 경우 프라이버시가 더 좋습니다. 트랜잭션의 입력은 서로 관련이 없으며 CoinJoin과 같은 기술을 사용하여 어느 정도의 프라이버시를 높일 수 있습니다.

UTXO의 단점:

더 많은 입력이 있으면 감시 스크립트 수도 증가합니다. 서명 자체는 더 많은 CPU와 저장 공간을 사용합니다.

보조 제목

  • 5. 계정 모델과 UTXO의 간단한 차이점은 무엇입니까

계정 잔액

계정 모델: 간단하고 명확한 방법으로 계정에 얼마나 많은 돈이 있는지 확인할 수 있습니다.

  • UTXO 모델: 주소 아래에 있는 UTXO의 수를 세고, 이를 합산한 결과가 잔고입니다.

트랜잭션 수가 기하급수적으로 증가하는 경우

계정 모델: 점점 더 어려워질 것입니다.

  • UTXO 모델: 자연스럽게 높은 동시성을 지원합니다.

스마트 계약/개발자의 관점에서

계정 모델은 개발자의 논리 습관을 준수하며 논리 작성이 비교적 쉽습니다.

BTC
기본 지식
Odaily 공식 커뮤니티에 가입하세요