심층 분석: 솔라나가 도대체 어떻게 막혔는가?
저자: Nishil Jain (Biconomy 생태계 협력 책임자)
편집: Odaily 스타구日报 Azuma
왜 현재 솔라나에서의 거래는 항상 실패할까요?
가장 기본적인 개념부터 차근차근 분석해 보겠습니다.
사용자의 관점에서 볼 때, 우리가 솔라나에서 거래를 할 때 본질적으로 세 가지 잠재적인 결과가 발생합니다:
거래 실행 성공 , 모든 것이 정상입니다;
거래 실행 실패 , 사용자가 가스 비용을 지불했지만 실행 결과가 오류로 반환됩니다. 거래가 조건을 충족하지 못할 때 발생하는 경우로, 예를 들어 사용자가 구매하려는 토큰이 매진되었거나 가격 변동이 너무 빠른 경우(예정된 슬리피지 초과) 등이 있습니다;
거래 손실(Dropped) : 거래의 흔적이 없으며, 즉 거래가 "블록 리더 노드"에 도달하지 못했습니다 (Odaily 주: 4개의 블록마다 순환하는 현재 노드). 현재 대부분의 사용자가 겪고 있는 상황으로, 본질적으로 이는 네트워크 계층의 문제이지 합의 계층이나 실행 계층의 문제가 아닙니다.
실행 문제는 혼잡의 주 원인이 아닙니다
이제 여러분은 네트워크 계층이 무엇인지, 거래가 왜 손실되는지, 왜 그것들이 현재 솔라나 혼잡의 주요 원인이라고 말하는지 궁금할 수 있습니다.
이 가장 중요한 질문들을 잠시 제쳐두고, 실행 실패한 거래(즉, 두 번째 경우)를 살펴보며 왜 실행 실패한 거래가 혼잡의 주 원인이 아닐까 설명해 보겠습니다.
체인 상의 데이터를 결합해 보면, 모든 실행 실패 거래 중 약 8%만이 실제 사용자가 제출한 것이고, 나머지는 체인 상의 봇이 시작한 차익 거래입니다.

차익 거래자가 지속적으로 "쓰레기" 거래를 시작하는 이유는 성공적인 차익 거래로 얻을 수 있는 잠재적 이익에 비해 빈번한 거래 시작 비용이 미미하다고 할 수 있습니다.
구체적으로 말하자면, 차익 거래자는 하루 동안 지속적으로 거래를 시작할 수 있으며, 이로 인한 비용은 하루에 몇 백 달러 정도입니다(솔라나의 네트워크 비용이 낮기 때문). 그러나 한 번의 거래가 성공하면 수십만 달러의 이익을 얻을 수 있습니다.
이 실패한 거래는 솔라나 네트워크에 문제가 있다는 것을 의미하지 않으며, 블록체인은 여전히 정상적으로 작동하고 있습니다. 이는 단지 조건이 충족되지 않아 실패한 봇 거래일 뿐입니다. 이것이 솔라나의 현재 경험이 나쁜 주 원인이 아닙니다.
실제로 지난해 11월 이후, 솔라나의 거래 실패율은 약 50%를 유지하고 있습니다.

진정한 주 원인: 거래가 네트워크 계층에서 버려짐
이제 솔라나가 지난 며칠 동안 혼잡해진 진정한 주 원인인 "거래 손실"에 대해 논의해 보겠습니다.
앞서 언급했듯이, 이는 "블록 리더 노드"에 도달하지 못한 거래들로, 거래가 도달하지 못한 이유는 네트워크 계층에서 버려졌기 때문입니다.
네트워크 계층은 인터넷의 통신 계층으로, 데이터 패킷을 한 끝점에서 다른 끝점으로 전송하는 데 사용됩니다. 일반적인 네트워크 계층 프로토콜에는 TCP, UDP, QUIC(구글 개발) 등이 있습니다. 솔라나는 이전에 네트워크 계층 프로토콜을 QUIC로 업그레이드하여 사용자와 "블록 리더 노드" 간의 연결을 구축하는 데 도움을 주었습니다.
솔라나는 연속 블록 생성 메커니즘을 채택하고 있으며, 미확인 거래를 임시 저장할 수 있는 메모리풀(mempool)이 없기 때문에, 연결이 끊어지면 거래는 더 이상 어떤 블록에도 포함되지 않습니다.

QUIC 프로토콜의 장점은 "블록 리더 노드"가 특정 기준에 따라 일부 사용자의 연결을 세분화하거나 데이터 전송 속도를 제한할 수 있는 새로운 기능을 제공한다는 것입니다.
이 기능의 의미는, 네트워크 수요가 급증할 때 "블록 리더 노드"가 일부 연결을 적극적으로 차단하여 솔라나가 네트워크 활동 증가로 인해 완전히 다운되는 것을 방지할 수 있다는 것입니다.
여러분은 또 궁금할 수 있습니다. QUIC 프로토콜의 설계가 이렇게 완벽하다면, 왜 솔라나는 여전히 이렇게 혼잡한가요?
진정한 문제는 "블록 리더 노드"가 현재 특정 연결을 조정할 수 있는 선택권을 가지고 있지만, 어떤 연결을 조정해야 하는지에 대한 논리가 문제라는 것입니다.

이 문제를 더 구체적으로 이해하기 위해, 각 "블록 리더 노드"가 X개의 통신 가능한 연결을 가지고 있다고 가정해 보겠습니다. 그러나 네트워크 수요가 급증할 때, 해당 노드가 수신하는 연결 요청은 그 수용 능력의 10배에서 100배에 달합니다…… 이때 해당 노드는 일부 연결을 차단해야 합니다. 그러나 현재 상황은 어떤 연결이 차단될지에 대한 정해진 기준이 없으며(예: xxx 이하의 모든 비용을 가진 연결 차단), 모든 연결이 차단될지는 무작위적입니다……
결국 현재 상황에서 거래가 확인되기를 원한다면, 여러분이 할 수 있는 것은 더 많은 거래 요청을 보내는 것이지만, 많은 봇이 네트워크에 대량의 연결 요청을 지속적으로 보내기 때문에 일반 사용자가 연결을 구축하고 거래를 완료하는 것이 점점 더 어려워집니다.
어떻게 수정할까요? 얼마나 걸릴까요?
이것이 솔라나가 현재 직면하고 있는 문제입니다.
현재 Jump(파이어댄서 클라이언트 개발 팀), Anza(아가베 클라이언트 개발 팀), 솔라나 연구소 등 팀이 네트워크 계층 수정을 위해 노력하고 있습니다. 수정 패치는 이번 주에 점진적으로 출시될 예정이며, 향후 몇 주 내에 몇 가지 주요 업데이트가 발표될 예정입니다.
이것이 문제를 효과적으로 해결할 수 있을까요? 솔라나는 다시 "to da moon"할 수 있을까요…… 이것에 대한 절대적인 답은 없습니다.
현재 여전히 많은 불확실성이 존재하는 이유는 주로 세 가지입니다:
첫째, 곧 출시될 수정 패치가 실제로 효과를 발휘할 수 있을지 아무도 보장할 수 없습니다. 실제로 작동하기 시작해야만 실제 상황을 관찰할 수 있습니다.
둘째, Jump가 개발한 파이어댄서 클라이언트는 문제를 해결할 수 있을 것처럼 보이지만, 올해 말까지 정식 출시되지 않습니다.
셋째, "쓰레기" 거래 문제에 대해 솔라나의 경제 메커니즘은 해당 네트워크가 악의적인 행위자가 체인에 지속적으로 "쓰레기" 거래 공격을 하는 것을 막기 어렵게 만듭니다.
마지막으로, 여러분에게 한 가지 인식을 촉구하고 싶습니다: 저는 솔라나가 올바른 균형을 이루기 위해 싸우고 있다고 믿습니다(오데일리 주: 합리적인 연결 차단 기준 설정을 의미). 이더리움이 여러 문제를 극복했던 것처럼, 솔라나도 결국 이러한 문제를 극복할 것입니다.












