Quantcast
Channel: Translations - Cardano Forum
Viewing all articles
Browse latest Browse all 288

:kr: 트랜잭션 내 트랜잭션을 이해하는 방법

$
0
0

2023.06.10 게시

카르다노를 이용하면 단일 트랜잭션으로 여러 자산을 여러 수신자에게 전송할 수 있습니다. 이 기능에 대해 '트랜잭션 내 트랜잭션’이라는 다소 부정확한 용어가 사용되기도 합니다. UTxO 계정 모델을 사용하는 네트워크의 트랜잭션이 계정 기반 모델을 사용하는 네트워크의 트랜잭션과 어떻게 다른지 알아보겠습니다. 또한 TPS 메트릭이 카르다노에는 적합하지 않지만 이더리움에는 사용해도 괜찮은 이유에 대해서도 알아보겠습니다.

계정 모델이 트랜잭션과 확장성에 미치는 영향

카르다노는 UTxO(미사용 트랜잭션 출력) 회계 모델을 사용합니다. UTxO는 특정 자산의 양과 유형을 나타냅니다.

각 트랜잭션은 이전 트랜잭션(UTxO는 트랜잭션의 입력)에서 일부 UTxO를 소비하고, 향후 트랜잭션의 입력으로 사용할 수 있는 새로운 UTxO를 생성합니다.

트랜잭션의 컨텍스트에서 우리는 입력 UTxO와 출력 UTxO 또는 그냥 입력과 출력에 대해 이야기할 수 있습니다. 이는 동일한 개념입니다.

카르다노 트랜잭션은 UTxO의 소유자를 변경합니다. UTxO에는 누가 그것을 소유하고 사용할 수 있는지를 나타내는 주소가 있습니다. 트랜잭션 출력(UTxO)에는 트랜잭션 수신자에게 속한 새로운 주소가 있습니다. 트랜잭션은 발신자에서 수신자에게 UTxO의 소유권을 이전합니다.

트랜잭션은 여러 개의 입력과 여러 개의 출력을 가질 수 있으며, 각 출력은 서로 다른 값과 유형의 자산을 가질 수 있습니다. 각 출력은 다른 수신자에게 전송될 수 있습니다.

카르다노의 글로벌 상태(사용자 잔고)는 원장의 맥락에서 계정이나 지갑과 함께 작동하지 않습니다. 네트워크에서 소비되지 않은 모든 트랜잭션 출력의 모음인 UTxO 집합을 사용할 뿐입니다. UTxO 모음은 카르다노 사용자들의 현재 자산 분포를 나타냅니다.

확장성 측면에서 UTxO 모델의 장점은 무엇일까요?

여러 자산을 여러 수신자에게 전송할 수 있는 기능은 트랜잭션 크기(따라서 수수료)를 줄여 확장성에 이점을 제공합니다. 따라서 한 블록에 더 많은 트랜잭션을 담을 수 있습니다.

네트워크는 트랜잭션의 입력이 이전 트랜잭션의 유효한 UTxO인지, 입력의 합이 출력의 합과 같거나 큰지 확인하기만 하면 되기 때문에 검증 과정이 간단하고 효율적입니다.

네트워크는 이더리움처럼 각 계정의 잔액을 추적하거나 스마트 컨트랙트와 관련된 복잡한 로직을 실행할 필요가 없습니다(이에 대해서는 나중에 자세히 설명하겠습니다). 카르다노는 계정 인식 기능이 없습니다. 동일한 트랜잭션에서 사용되지 않는 한, 각 UTxO는 다른 UTxO와 독립적으로 검증될 수 있습니다. 스크립트 검증의 경우도 비슷합니다. 스크립트의 유효성 검사는 항상 단일 UTxO를 참조합니다.

UTxO 모델을 사용하면 입력을 공유하지 않는 트랜잭션의 병렬 처리가 가능하므로 확장성과 처리량을 향상시킬 수 있습니다. 그러나 동시 트랜잭션을 처리하고 충돌을 해결할 수 있는 합의 프로토콜이 필요합니다.

카르다노 트랜잭션은 단일 트랜잭션에서 서로 다른 자산을 가진 여러 수신자에게 서비스를 제공할 수 있다는 점에서 '병렬적’이라고 할 수 있습니다. 네트워크는 한 번의 검증으로 여러 참가자에게 서비스를 제공합니다. 물론 여러 참여자가 참여하는 검증은 컴퓨터 리소스를 더 많이 요구합니다. 하지만 동일한 수의 수신자를 위해 별도의 트랜잭션을 생성하는 것보다 덜 까다롭습니다.

이더리움이 사용하는 계정 기반 모델을 살펴보겠습니다. 이더리움이 사용자 잔고, 즉 계정과 함께 작동하는 방식과 공유된 글로벌 상태를 이해하는 것이 중요합니다.

이더리움의 공유 글로벌 상태는 네트워크에 있는 모든 계정(사용자 잔고) 및 컨트랙트의 현재 상태입니다. 각 이더리움 계정에는 이더리움 및 기타 토큰의 잔고가 있습니다. 이더리움의 공유된 글로벌 상태는 모든 단일 트랜잭션을 처리하는 동안 (거의 항상) 코드 실행이 필요하기 때문에 잠금이 필요합니다.

트랜잭션은 단순히 한 계정에서 다른 계정으로 가치를 이전하는 것이므로 사용자의 잔고를 업데이트하기만 하면 됩니다. 예를 들어, 트랜잭션은 앨리스의 계정에서 10개의 토큰을 차감하고 밥의 계정에 추가합니다.

ERC-20 토큰은 토큰 전송 및 잔고에 대한 표준 인터페이스를 구현하는 스마트 컨트랙트로 정의됩니다. 스마트 컨트랙트를 사용하지 않고는 ERC-20 토큰을 전송할 수 없습니다.

이더리움에는 가치 전송 트랜잭션과 스마트 컨트랙트 트랜잭션의 두 가지 유형의 트랜잭션이 있습니다. 가치 전송 트랜잭션은 다른 토큰이 아닌 이더리움만 전송할 수 있습니다. 발신자와 수신자는 한 명만 있을 수 있습니다. 이더리움은 단일 트랜잭션으로 여러 자산을 전송할 수 있지만, 스마트 컨트랙트 실행이 포함된 트랜잭션일 경우에만 가능합니다. 스마트 컨트랙트는 이러한 토큰을 다른 수신자에게 전송할 수 있는 로직을 구현할 수도 있습니다. 이더리움에서는 카르다노에 비해 여러 자산을 여러 수신자에게 전송하는 것이 일반적이지 않습니다.

따라서 이더리움에서 트랜잭션을 처리하려면 거의 항상 네트워크가 트랜잭션과 관련된 코드를 실행하고 그에 따라 각 계정의 상태를 업데이트해야 합니다.

각 계정의 상태에는 잔고와 논스가 포함됩니다(다른 것 외에도). 논스는 계정이 전송한 트랜잭션 수를 나타내는 숫자입니다.

각 트랜잭션은 다른 트랜잭션으로 인해 변경될 수 있는 발신자 계정의 상태에 따라 달라지므로, 이 과정에서 이더리움의 공유 글로벌 상태를 잠가야 합니다.

예를 들어 앨리스가 논스가 1인 트랜잭션을 밥에게 보낸 다음 논스가 2인 다른 트랜잭션을 캐롤에게 보내는 경우, 네트워크는 첫 번째 트랜잭션이 두 번째 트랜잭션보다 먼저 처리되도록 해야 하며, 그렇지 않으면 유효하지 않은 상태 전환이 발생할 수 있습니다.

모든 단일 트랜잭션을 처리하는 동안 공유 글로벌 상태를 잠그면 네트워크의 확장성과 처리량이 제한된다는 것이 문제입니다.

공유 글로벌 상태를 잠그면 발신자나 수신자가 같은 트랜잭션을 순차적으로 처리해야 하므로 병목 현상과 지연이 발생할 수 있습니다. 예를 들어 앨리스가 단기간에 서로 다른 수신자에게 10개의 트랜잭션을 보내는 경우, 각 트랜잭션은 처리되기 전에 이전 트랜잭션이 확인될 때까지 기다려야 합니다. 이는 각 트랜잭션의 지연 시간과 비용을 증가시킬 수 있습니다.

UTxO 모델과 계정 기반 모델의 차이점은 카르다노는 서로 독립적인(병렬화가 가능한) UTxO와 함께 작동하는 반면, 이더리움은 서로 의존하는(순차적 처리를 강제하는) 계정 잔고와 함께 작동한다는 것입니다.

'트랜잭션 내 트랜잭션’이라는 용어는 기본적으로 단일 트랜잭션에서 여러 자산을 여러 수신자에게 전송하는 기능을 의미한다는 것을 이미 이해하셨을 것입니다. 이더리움 용어로 설명하자면, 하나의 트랜잭션이 여러 잔고를 조정한다고 할 수 있습니다.

회계 모델의 설계는 확장성뿐만 아니라 네트워크 처리량 측면에서도 영향을 미칩니다.

블록체인을 위한 TPS 지표의 적합성

TPS(초당 트랜잭션 수)는 네트워크가 1초 동안 처리할 수 있는 트랜잭션 수를 측정한 수치입니다. TPS는 주어진 시간에 얼마나 많은 사람들이 네트워크를 사용하고 있는지 또는 사용할 수 있는지를 말해줍니다. TPS 지표는 하나의 트랜잭션이 한 명의 발신자와 한 명의 수신자 사이에 가치를 전송한다고 가정합니다. 하지만 여기에는 한 가지 문제가 있습니다. 이 가정은 블록체인 산업에서는 유효하지 않습니다.

TPS는 일반적으로 컴퓨터 시스템, 특히 결제 시스템, 거래소, 은행과 같이 대량의 금융 거래를 처리하는 시스템의 성능과 확장성을 평가하는 데 사용됩니다. TPS는 일반적으로 은행 계좌를 가진 두 명의 참여자 간에 거래가 이루어지기 때문에 주류 금융 시스템에 적합한 방법입니다.

블록체인 산업에서도 TPS 지표를 사용할 수 있습니다. 하지만 문제가 있습니다. 블록체인을 다른 회계 모델과 비교할 경우, 이 지표는 부적절하다는 것입니다. 이더리움의 경우, TPS 지표가 카르다노보다 더 적절합니다.

이더리움은 단일 트랜잭션에서 여러 자산을 여러 수신자에게 전송할 수 있지만, 이는 그다지 일반적이지 않습니다. 따라서 TPS는 정확하지 않을 수 있지만 실제와 일치합니다.

카르다노 네트워크에서는 거의 모든 블록에서 여러 자산을 여러 수신자에게 전송하는 복잡한 트랜잭션을 볼 수 있습니다. 따라서 TPS 지표는 부적절하며 정확한 수치를 제공하지 못합니다.

지난 24시간 동안 카르다노는 18,759건의 단순 트랜잭션과 30,481건의 SC 트랜잭션을 처리했습니다. 또한 비 SC 트랜잭션은 여러 자산을 여러 수신자에게 전송할 수 있습니다. 그러나 이는 일반적으로 탈중앙 거래소 애플리케이션을 사용하는 SC 트랜잭션에서 보다 일반적입니다.

최근 카르다노 블록 중 하나는 32개의 트랜잭션을 포함하기도 했습니다. TPS 지표는 1.6으로 나왔습니다. 그러나 블록을 더 자세히 살펴보면 수신자 주소가 총 62개라는 것을 알 수 있습니다. 이에 따라 TPS를 조정하면 3.1이라는 수치가 나옵니다. 이 블록에는 총 189개의 UTxO가 들어 있었습니다.

이더리움의 경우, 32개의 트랜잭션이 있는 유사한 블록에는 수신자가 32명뿐일 가능성이 높으므로 32개의 잔고가 조정될 것입니다.

분석이 카르다노의 네트워크 처리량을 측정하려면, 트랜잭션의 내용을 좀 더 심층적으로 살펴볼 필요가 있습니다. 올바른 지표로는 초당 요청 수 또는 초당 수신자 수와 같은 것이 있습니다.

결론

더 넓은 맥락에서 블록체인이 페이팔과 같은 거래 네트워크의 기능을 수행하지 못할 가능성이 높다는 점을 인식할 필요가 있습니다. 블록체인 또는 스마트 컨트랙트 플랫폼은 상위 계층을 위한 일종의 메인 결제 레이어 또는 일종의 베이스 레이어와 비슷할 수 있습니다. 자산은 통화 정책을 보호하는 블록체인에서 발행되지만, 사용자는 다른 네트워크에서 자산을 사용할 수 있습니다. 이와 관련하여 미래는 불확실하지만 현재로서는 그렇게 보입니다.

사용자는, 블록의 트랜잭션 구성에서 알 수 있듯이 주로 애플리케이션을 통해 카르다노를 사용합니다. 블록의 공간을 절약하고 사용자가 수수료를 절약할 수 있으므로 트랜잭션에 더 많은 요청을 포함하는 것이 합리적입니다.


* Source: https://cexplorer.io/article/how-to-understand-transactions-in-transaction
* Translation: Ilhun@CryptoVeri :twitter: enics_sky@naver.com

1 post - 1 participant

Read full topic


Viewing all articles
Browse latest Browse all 288

Trending Articles