BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

하나의 기사에서 Ethereum의 새로운 트랜잭션 유형에 대해 알아보십시오.

Katie 辜
Odaily资深作者
이 기사는 약 3369자로, 전체를 읽는 데 약 5분이 소요됩니다
특정 트랜잭션 동작을 더 쉽게 만듭니다.
AI 요약
펼치기
특정 트랜잭션 동작을 더 쉽게 만듭니다.

이 기사는Mycrypto이 기사는

, 원저자: Maarten Zuidhoorn, Odaily 번역가 Katie Ku가 편집.

  • 예를 들어 ETH를 주소로 전송하고 계약을 배포하는 등 이더리움에는 다양한 유형의 트랜잭션이 있습니다. 베를린 네트워크 업그레이드 전에 이더리움에는 네 가지 거래 유형이 있었습니다.

  • 수신 주소, 데이터 필드 등의 정기적인 거래

  • 대상 주소가 없는 계약 배포 트랜잭션의 경우 계약 코드에 데이터 필드가 사용됩니다.

  • v-value 서명 방식으로 거래하지만 체인 ID(pre-EIP-155)는 포함하지 않습니다.

v-value 서명이 있지만 체인 ID를 포함하는 트랜잭션입니다.

서로 다른 이더리움 클라이언트, 라이브러리 및 기타 도구는 각 트랜잭션을 분석하고 각 트랜잭션 유형을 이해합니다. 트랜잭션 유형은 4개뿐이지만 처리해야 할 복잡성과 상황이 많습니다. 기술자는 트랜잭션의 모든 필드를 확인하여 트랜잭션 유형을 파악해야 합니다. 이는 메타 거래 및 다중 서명 거래와 같은 EIP-2718 이전 거래 유형과 같은 새로운 유형의 거래에 대한 핵심입니다.

이 기사에서는 베를린 업그레이드에 포함된 일부 표준과 향후 포함될 수 있는 기타 표준에 대해 자세히 설명합니다.

보조 제목

표준 트랜잭션 봉투

RLP([nonce, gasPrice, gasLimit, to, value, data, v, r, s])

이더리움에는 트랜잭션 형식이 있습니다. 각 트랜잭션에는 nonce, 가스 가격, 가스 한도, 대상 주소, 값, 데이터, v, r 및 s가 포함됩니다. 이러한 필드는 다음과 같이 RLP 인코딩됩니다.

TransactionType || TransactionPayload

EIP-2718은 유형이 지정된 트랜잭션에 대한 새로운 광범위한 엔벨로프를 정의합니다. 새로운 표준에서 트랜잭션은 다음과 같습니다.

  • 여기서 필드는 다음과 같이 정의됩니다.

  • 트랜잭션 유형: 0에서 0x7f 사이의 숫자로 총 128개의 가능한 트랜잭션 유형이 있습니다.

트랜잭션 페이로드: 트랜잭션 유형에 의해 정의된 임의의 바이트 배열입니다.

이러한 필드는 유형이 지정된 트랜잭션을 형성하기 위해 연결되고 결합됩니다. 이 표준은 트랜잭션 페이로드의 형식을 설명하지 않으며 새로운 트랜잭션 유형(예: RLP, SSZ 등)에 의해 정의된 인코더로 인코딩된 임의의 일련의 바이트일 수 있습니다. 바이트 배열의 첫 번째 바이트를 읽는 데 라이브러리나 도구가 필요하지 않기 때문에 단순 바이트 연결이 선택되었습니다. 트랜잭션 유형을 확인하기 위해 RLP 또는 SSZ 파서가 필요하지 않습니다.

추가된 복잡성의 좋은 예는 트랜잭션에서 체인 ID를 사용하여 회신 보호를 도입하는 EIP-155입니다. 트랜잭션 매개변수에 새 필드를 추가하면 이전 버전과의 호환성이 깨질 수 있으므로 체인 ID는 트랜잭션 서명(v)의 복구 매개변수(v)로 인코딩됩니다. EIP-2718을 사용하면 이전 버전과의 호환성을 유지하기 위해 새 트랜잭션 유형을 간단히 생성할 수 있습니다.

보조 제목

이전 버전과의 호환성 및 원시 트랜잭션

EIP-2718의 큰 주제는 이전 버전과의 호환성입니다. EIP-2718은 이전 버전과 완전히 호환됩니다. 즉, 기존 도구, 라이브러리, (하드웨어) 지갑 및 거래에서 사용할 수 있지만 EIP-2718 및 표준에서 제공하는 새로운 "기능"을 사용할 수 없습니다. . 이전 트랜잭션 형식(현재 원시 트랜잭션이라고 함)은 이더리움 네트워크의 새 트랜잭션에 여전히 유효합니다.

새 트랜잭션 유형의 최대 수인 0x7f는 이러한 이전 트랜잭션과의 역호환성을 유지하기 위해 선택되었습니다. RLP로 인코딩된 트랜잭션은 항상 l인 바이트로 시작하고 매개변수가 0xc0보다 크거나 같기 때문에 유형이 지정된 트랜잭션은 이전 트랜잭션과 충돌하지 않으며 유형이 지정된 트랜잭션은 첫 번째 바이트와 이전 트랜잭션을 확인하는 것만으로도 구분할 수 있습니다.

  • EIP-2718 자체는 트랜잭션 유형을 정의하지 않지만 새로운 표준에 대한 몇 가지 제안이 있습니다.

  • EIP-1559: ETH1.0 체인 시장 수수료 변경;

  • EIP-2711: EIP-2718이 생성된 이유인 개발자 Micah Zoltu가 생성한 스폰서십, 만료 및 배치 트랜잭션입니다.

이러한 기준 중 일부는 아래에 자세히 설명되어 있습니다.

보조 제목

새로운 트랜잭션 유형이 필요한 이유는 무엇입니까?

EIP-2711은 이 기능을 이더리움 네트워크에 기본적으로 추가하면서 기본 유형 트랜잭션과의 역호환성을 유지합니다(이전 섹션에서 설명한 대로). 실행하기 위해 스마트 계약이나 전용 노드가 필요하지 않습니다. 그러나 현재 EIP-2711은 아직 초안이며 이 EIP가 곧 이더리움 네트워크에 합류할지 여부는 불확실합니다. 또한 여러 개의 더 작은 EIP(예: EIP-3074)로 분할될 수 있습니다.

보조 제목

EIP-1559의 새로운 트랜잭션 형식

0x02 || RLP([chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gasLimit, to, value, data, accessList, signatureYParity, signatureR, signatureS])

EIP-1559에서는 가스 작동 방식이 크게 변경되었습니다. 광부에게 전체 가스를 지불하는 대신 가스의 일부가 연소됩니다. EIP-1559의 모든 변경 사항을 자세히 설명하지는 않지만 새로운 트랜잭션 형식을 지정합니다.

  • 가장 눈에 띄는 변경 사항은 다음과 같습니다.

  • 가스 가격은 "가스당 최우선 수수료" 및 "가스당 최대 수수료"로 대체되었습니다.

  • 체인 ID는 서명 v-값에 포함되지 않고 별도로 인코딩됩니다. 이것은 기본적으로 EIP-155를 더 간단한 구현으로 대체합니다.

서명 v 값은 이제 타원 곡선의 어느 지점을 사용해야 하는지에 따라 0 또는 1인 단순 패리티 비트("서명 Y 패리티")입니다.

EIP-1559는 가스 요금이 작동하는 방식을 크게 변경하므로 원시 트랜잭션과 직접 호환되지 않습니다. 이전 버전과의 호환성을 유지하기 위해 EIP-1559는 원시 트랜잭션을 EIP-1559 호환 트랜잭션으로 업그레이드하는 방법을 설명합니다. 미가공 가스 가격을 최우선 수수료로 사용하고 가스당 가장 높은 가스 수수료를 사용하여 이를 수행합니다.

보조 제목

원시 메타 트랜잭션 및 배치 트랜잭션

메타트랜잭션은 몇 년 동안 있었지만 지금까지는 여전히 스마트 계약이 필요했습니다. 만료되는 트랜잭션과 마찬가지로 이를 위해서는 ETH를 메타 트랜잭션을 특별히 지원해야 하는 스마트 계약으로 보내야 합니다.

0x02 || RLP([...SenderPayload, ...SenderSignature, ...GasPayerPayload, ...GasPayerSignature])

EIP-2711은 스마트 계약 없이 기본 메타 거래(스폰서 거래라고 함) 및 배치 거래를 가능하게 합니다. 트랜잭션 유형 0x02로 새로운 트랜잭션 형식이 정의됩니다(EIP-1559가 동일한 트랜잭션 유형을 사용하므로 변경될 수 있음). 거래는 다음과 같습니다.

[1, ChildTransaction[], nonce, ChainId, ValidUntil, gasLimit, gasPrice]

기본적으로 EIP-2711에는 (선택 사항) 페이로드와 가스 지불자의 서명이 포함되어 있습니다. 이 계정은 트랜잭션에서 가스 수수료를 지불하는 데 사용됩니다. 예를 들어 ERC-20 토큰은 ETH를 보유한 주소가 없는 주소에서 보낼 수 있습니다. 발신자 페이로드, 서명 등은 트랜잭션 하위 유형을 기반으로 정의됩니다. 예를 들어 트랜잭션 유형이 1인 트랜잭션의 경우 발신자 페이로드는 다음과 같이 정의됩니다.

보조 제목

요약하다

요약하다

유형이 지정된 트랜잭션은 Ethereum 네트워크에 많은 가능성을 제공합니다. Ethereum 클라이언트, 라이브러리 및 사용 가능한 기타 도구에 많은 복잡성을 추가하지 않고도 생성할 수 있습니다.

ETH
Odaily 공식 커뮤니티에 가입하세요