원저자: Nishil Jain (Biconomy 생태협력 책임자)
편집 : 오데일리 아즈마
현재 솔라나 거래가 실패하고 있는 이유는 무엇인가요?
가장 기본적인 개념부터 단계별로 분석해 보겠습니다.
사용자 관점에서 볼 때, 솔라나에서 거래할 때 기본적으로 세 가지 잠재적인 결과가 있습니다:
거래가 성공적으로 실행되었습니다,모든 것이 정상입니다.
거래 실행 실패, 사용자가 가스비를 지불했지만 실행 결과는 오류를 반환합니다. 이는 사용자가 구매하려는 토큰이 매진되거나 가격이 너무 빠르게 움직이는 경우(미리 설정된 슬리피지 이상) 등 거래 조건이 충족되지 않을 때 발생합니다.
거래 손실(삭제됨): 트랜잭션에 흔적이 없습니다. 즉, 트랜잭션이 블록 리더 노드(Odaily Note: 4블록마다 회전하는 듀티 노드)에 도달하지 못했습니다.이는 현재 대부분의 사용자가 겪고 있는 상황이며, 본질적으로 이는 합의 계층이나 실행 계층 문제가 아닌 네트워크 계층 문제입니다.
실행 문제는 혼잡의 주요 원인이 아닙니다.
이제 네트워크 계층이 무엇인지 묻고 싶습니다. 거래가 손실되는 이유는 무엇입니까? 왜 현재 솔라나 혼잡의 주요 원인이라고 할까요?
이러한 가장 중요한 문제는 일단 제쳐두고 먼저 실행에 실패한 트랜잭션(즉, 두 번째 경우)을 살펴보고 실패한 트랜잭션이 혼잡의 주요 원인이 아닌 이유를 설명하겠습니다.
체인의 데이터를 결합하면 실행에 실패한 모든 거래 중 약 8%만이 실제 사용자에 의해 제출되었으며 나머지는 온체인 로봇에 의해 시작된 차익 거래임을 알 수 있습니다.
차익거래자가 계속해서 정크 거래를 시작하는 이유는 성공적인 차익거래에서 얻을 수 있는 잠재적 이익에 비해 자주 시작하는 거래에 드는 비용이 최소화된다고 할 수 있기 때문입니다.
구체적으로 차익거래자는 하루 안에 지속적으로 거래를 개시할 수 있는데, 그렇게 하는 데 드는 비용은 하루에 수백 달러 정도이지만(솔라나의 네트워크 수수료가 낮기 때문에), 한 번의 거래만 성공하면 수십 달러를 벌 수 있습니다. .천달러의 이익.
이러한 트랜잭션 실패는 솔라나 네트워크가 실패하여 블록체인이 여전히 정상적으로 작동한다는 의미는 아니며 단지 조건이 충족되지 않아 실패한 일부 로봇 트랜잭션일 뿐입니다. 이것이 솔라나의 현재 나쁜 경험의 주된 이유는 아닙니다.
실제로 지난해 11월부터솔라나의 거래 실패율은 약 50% 수준을 유지하고 있습니다.
실제 이유: 네트워크 계층에서 트랜잭션이 삭제되었습니다.
이제 지난 며칠간 솔라나의 혼잡이 발생한 실제 원인, 즉 거래 손실에 대해 논의해 보겠습니다.
위에서 언급했듯이 이는 블록 리더 노드에 도달하지 못한 트랜잭션입니다.트랜잭션이 네트워크 계층에서 삭제되므로 트랜잭션이 도착하지 못합니다.
네트워크 계층은 인터넷의 통신 계층으로, 한 끝점에서 다른 끝점으로 데이터 패킷을 보내는 데 사용됩니다. 일반적인 네트워크 계층 프로토콜에는 TCP, UDP, QUIC(Google에서 개발) 등이 포함됩니다. 솔라나는 이전에 네트워크 계층 프로토콜을 QUIC로 업그레이드했는데, 이는 사용자와 블록 리더 노드 간의 연결을 설정하는 데 도움이 됩니다.
솔라나는 지속적인 블록 생성 메커니즘을 사용하고 확인되지 않은 거래를 임시로 저장할 멤풀이 없기 때문에, 일단 연결이 끊어지면 해당 거래는 다시는 블록에 포함되지 않습니다.
QUIC 프로토콜의 장점은 블록 리더 노드가 새로운 기능을 얻는다는 것입니다.특정 사용자의 연결을 끊거나 특정 기준에 따라 데이터 전송 속도를 제한하십시오.
이 기능의 의미는,최대 네트워크 수요가 발생하면 블록 리더 노드는 특정 연결을 사전에 차단하여 네트워크 활동 증가로 인해 솔라나가 완전히 종료되는 것을 방지할 수 있습니다.
QUIC 프로토콜의 설계가 그렇게 완벽하다면, 솔라나는 왜 지금도 여전히 차단되어 있는지 다시 한 번 궁금하실 것입니다.
진짜 문제는 블록 리더가 이제 특정 연결을 적극적으로 조정하도록 선택할 수 있지만 조정해야 할 연결을 결정하는 논리에는 문제가 있다는 것입니다.
이 문제를 보다 구체적으로 이해하기 위해 각 블록 리더 노드가 통신할 수 있는 X개의 연결을 가지고 있는 상황을 상상해 볼 수 있습니다. 그러나 네트워크 수요 피크가 발생하면 노드는 연결 요청을 수신하여 전송 용량의 10~100배를 받습니다. ... 이때 노드는 일부 연결을 끊는 선택을 해야 합니다. 그러나 현재 상황은 이러하다.끊어질 연결을 어떻게 선택해야 할지 정해진 기준은 없고(예를 들어 비용이 xxx보다 적은 연결을 모두 끊는 등), 모든 연결을 끊을지 여부는 랜덤이다...
결국 현재 상황에서 거래 확인을 원한다면 더 많은 거래 요청을 보낼 수 밖에 없지만 네트워크에 지속적으로 많은 연결 요청을 보내는 봇이 많기 때문에 일반 사용자는 연결하고 거래를 완료하는 것이 점점 어려워집니다.
어떻게 고치나요? 얼마나 걸리나요?
이것이 지금 솔라나가 직면한 문제입니다.
현재 Jump(Firedancer 클라이언트 개발팀), Anza(Agave 클라이언트 개발팀), Solana Labs 등의 팀이 네트워크 계층 복구 작업을 진행하고 있습니다. 수정 사항은 이번 주에 점진적으로 출시될 예정이며, 앞으로 몇 주 안에 일부 대규모 업데이트가 출시될 예정입니다.
이렇게 하면 문제가 효과적으로 해결될까요? 솔라나가 다시 달로 갈 것인가... 절대적인 대답은 없습니다.
여전히 불확실성이 많은 세 가지 주요 이유는 다음과 같습니다.
첫째, 다가오는 복구 패치가 적용될지 여부를 누구도 보장할 수 없습니다. 실제로 작동한 후에야 실제로 무슨 일이 일어나는지 알 수 있습니다.
둘째, Jump가 개발한 Firedancer 클라이언트는 이 문제를 해결할 수 있을 것으로 보이지만 올해 말까지 공식 출시되지 않을 것입니다.
세 번째는 정크 거래 문제입니다. 솔라나의 경제 메커니즘은 네트워크가 악의적인 행위자가 체인에 대해 정크 거래 공격을 계속하는 것을 방지하는 것을 어렵게 만듭니다.
마지막으로, 저는 모든 사람들이 한 가지 사실을 깨닫도록 호소하고 싶습니다. 저는 솔라나가 올바른 절충안을 만들기 위해 싸우고 있다고 믿습니다. 결국 이러한 문제를 제거하십시오.
