구글에서 선호하는 출처로 추가

이더리움 거래 검사 제안, 느슨한 기준은 못 걸러

이더리움(ETH)

토포AI로 이 기사 더 깊이 읽기

스마트폰 지갑과 거래 검증 흐름을 그린 도식 / TokenPost.ai

이더리움(ETH)의 거래 결과를 실행 뒤 검사하는 제안이 나왔지만, 검사 기준이 느슨하면 원치 않는 결과도 통과할 수 있다. EIP-7906이 실질적인 안전장치가 되려면 지갑과 프로토콜이 기준을 강제하고 거래 구성자가 이를 낮추지 못하게 해야 한다.

이더리움 재단은 10월 5일 거래 실행 뒤 잔액·저장공간 변화와 이벤트를 검사하는 ‘거래 단언(transaction assertion)’ 연구를 공개했다. 후보 구현안인 EIP-7906은 거래가 끝난 뒤 읽기 전용으로 작동하는 POST_TX 프레임을 제안한다. 초안 상태이며 Hegotá 업그레이드에 포함될지는 정해지지 않았다.

거래 서명은 사용자가 승인한 요청을 담지만 실행 결과까지 고정하지는 않는다. 실행 전 코드나 블록체인 상태가 달라지면 실제 결과도 예상과 달라질 수 있다. 이더리움 재단은 거래 순서에 따라 스왑 가격이 움직이는 샌드위치 공격을 결과 불일치의 사례로 들었다.

EIP-7906은 TXTRACE로 거래의 순변화와 이벤트를 열거하고, TXDIFF로 특정 주소와 저장공간의 시작값·최종값을 확인하도록 설계됐다. 이벤트 데이터는 EVENTDATACOPY로 읽는다. 저장공간이 여러 차례 바뀌어도 처음과 마지막 값만 남기기 때문에 중간에 일어난 변화 전체를 기록하는 방식은 아니다.

검사 기능이 있다고 해서 모든 거래가 자동으로 보호되는 것은 아니다. 제안은 거래마다 단언을 넣도록 강제하지 않으며, 필요한 검사는 지갑이 거래에 포함해야 한다. 프로토콜 차원에서 보호하려면 보호 대상 기능에 정해진 POST_TX 검사를 요구하고, 검사가 빠지거나 다른 검사가 들어간 거래를 거부해야 한다.

이더리움 재단은 거래를 만드는 프런트엔드가 손상되면 공격을 허용할 만큼 느슨한 규칙을 넣을 수도 있다고 연구 설명에서 밝혔다. 기존 스왑의 최소 수령량 설정도 비슷한 한계를 보여준다. 유니스왑 개발자 문서는 최소 수령량을 0으로 둔 예시가 실제 서비스에서 위험하다고 경고하고, 더 안전한 값을 정할 때 SDK나 가격 오라클 같은 별도 데이터 출처를 활용할 수 있다고 안내한다. 조건이 있더라도 기준값이 지나치게 낮으면 그 기준을 간신히 넘는 결과가 허용될 수 있다.

검사에 실패해도 이미 쓴 거래 비용이 사라지지는 않는다. EIP-7906 초안에 따르면 POST_TX 검사 실패 시 실행 본문은 되돌려지지만 거래는 실패 상태로 블록에 남고, 사용한 가스 비용은 지불된다. 검증 단계에서 확정된 변화도 유지된다.

이더리움 재단은 보호하려는 작업을 되돌릴 수 있는 실행 본문에 두고, 검증 단계에는 신뢰할 수 없는 실행을 넣지 않아야 한다고 설명했다. 검사에 필요한 가스가 부족한 경우에도 단언은 실패로 처리된다. 거래 결과를 보호하려면 검사 로직뿐 아니라 실패 시 되돌릴 수 있는 작업의 범위도 고려해야 한다.

검사가 참조하는 가격 오라클이나 레지스트리 상태가 거래 실행 중 바뀔 가능성도 있다. 제안 문서는 서명 시점에 값을 고정하거나 거래 시작 시점의 상태를 참조하는 방안을 제시한다. 다만 거래 시작 전 같은 블록에서 가격이 움직이는 위험은 남는다.

EIP-7906은 프레임 거래를 정의하는 EIP-8141을 기반으로 한다. 이더리움 재단이 공개한 상태에서 EIP-8141은 Hegotá 포함 예정으로 분류됐지만, EIP-7906은 검토 단계다. 실제 지갑과 프로토콜의 적용 범위도 정해지지 않았다.

앞서 이더리움 재단이 거래 실행 뒤 상태 변화를 확인하는 방안을 탐색한 내용이 소개됐다. 이번 초안의 세부 설계는 거래 결과를 확인하는 기능만으로 보호가 완성되지 않으며, 사용자가 승인한 기준을 누가 정하고 거래 구성자가 이를 약화하지 못하게 하는지가 관건임을 보여준다.

오늘의 스탬프 0명이 오늘 찍었어요
오늘의 스탬프 0명이 오늘 찍었어요

0

    불러오는 중…

    토큰포스트 앱 다운로드 QR 코드 QR 코드 스캔하고
    ios, Android 앱
    다운로드 하기