프론트 러닝
프론트 러닝이란 무엇입니까?
프론트 러닝은 미래의 트랜잭션에 대한 지식을 가지고 큐에 트랜잭션을 배치하는 행위입니다. 블록체인 플랫폼에서의 선행 실행은 일반적으로 보류 중인 거래에 대한 정보에 액세스할 수 있는 채굴자가 보류 중인 거래를 기반으로 이익을 얻을 수 있는 주문을 할 때 발생합니다. 예를 들어, 이더리움 블록체인에서는 봇이 보류 중인 거래보다 더 높은 가스 가격을 제시하여 처리 속도를 높일 수 있을 때 선행 실행이 발생할 수 있습니다.
선행 실행이 가능한 다른 당사자는 네트워크 활동을 감시하는 임무를 맡은 당사자인 전체 노드 운영자로서 확인되지 않은 거래에 대한 지식을 가지고 있습니다. 중앙 집중식 거래소는 선행 거래를 수행할 수도 있지만 고객을 속이는 것은 최선의 이익에 반하는 것입니다. 프론트 런닝은 다른 방법을 통해 조정될 수도 있습니다. 일반화된 선행 실행은 잠재적으로 수익성 있는 계약 호출을 활용합니다.
다른 유형의 공격에는 변위, 삽입 및 억제가 포함됩니다. 대체 공격을 통해 악의적인 행위자는 실제 거래를 자신의 거래로 대체합니다. 원래 트랜잭션이 계속 실행될 수 있지만 의도한 대로 긍정적인 효과는 없습니다. 반면, 삽입 공격은 자산을 보유하지 않고 수익을 창출할 목적으로 두 거래 사이에 실제 거래를 끼워 넣는 공격입니다.
억제 공격은 다른 사람이 트랜잭션을 실행하는 것을 지연시키기 위한 것입니다. 원천징수가 해제되면 선두주자는 억제된 거래에 대해 덜 걱정하게 됩니다.
트랜잭션 순서를 지정하고 트랜잭션 기밀성을 향상하여 프런트 런닝을 완화할 수 있습니다. 거래 순서 지정은 BCH(비트코인 캐시)에서 사용하는 것과 같은 정식 거래 주문 규칙과 같은 구현을 통해 달성할 수 있습니다. 반면에 기밀성은 분산 애플리케이션(DApp)의 다양한 섹션에 적용됩니다.