다차원 가격, 자원마다 따로 매기는 수수료
Strawmap I* (2028) · multidimensional pricing
지금은 연산, 저장, 데이터 크기 등 서로 다른 자원을 가스 하나로 묶어 값을 매깁니다. 다차원 가격은 자원 종류마다 별도의 한도와 가격을 두어 각각 따로 계산하는 방식입니다.
왜 필요한가
이더리움은 거래가 쓰는 자원을 모두 가스(gas) 하나로 환산합니다. 연산, 저장 공간 쓰기, 거래에 딸려 오는 데이터 크기가 같은 단위로 합쳐지고 블록에는 가스 총량 한도 하나만 있습니다. 그래서 한도는 가장 나쁜 경우에 맞춰 보수적으로 정해야 합니다. 어떤 블록이 한 가지 자원만 가득 채워도 노드가 버텨야 하기 때문입니다. 평소 블록은 그런 극단적인 구성이 아니므로 처리 여력이 남는데도 쓰지 못합니다. 한 자원이 붐비면 다른 자원까지 함께 비싸지는 문제도 있습니다. 다차원 가격은 자원 종류마다 한도와 가격을 따로 두는 방식입니다. 각 자원의 가격이 수요에 따라 독립적으로 오르내리므로 한 자원이 몰려도 나머지는 영향을 받지 않습니다. 블록을 안전하게 더 크게 쓸 수 있어 처리량도 늘어납니다. 블롭(blob) 데이터에 별도 가스와 가격을 둔 EIP-4844가 첫 사례이고 이 항목은 그 방식을 다른 자원으로 넓히는 연구입니다. Strawmap은 I* 포크 칸에 두고 있지만 예상 위치일 뿐 확정은 아닙니다.
어떻게 동작하나
- 자원을 나눕니다 연산, 거래 데이터, 상태 변경처럼 성격이 다른 자원을 하나의 가스로 합치지 않고 각각 별도의 가스 종류로 셉니다.
- 자원별로 한도와 목표를 둡니다 블록마다 자원 종류별 목표 사용량과 최대치를 따로 정합니다. 한 자원이 가득 차도 다른 자원의 공간은 그대로 남습니다.
- 가격이 따로 움직입니다 어떤 자원이 목표보다 많이 쓰이면 그 자원의 가격만 오르고 적게 쓰이면 내려갑니다. EIP-1559의 기본 수수료가 움직이는 원리와 같습니다.