채널 재밍이 비트코인의 라이트닝 네트워크에 위협이 됩니까? PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

채널 재밍이 비트코인의 라이트닝 네트워크에 위협이 됩니까?

(Antoine Riard와 Gleb Naumenko에게 특별히 감사드립니다. 최근의 연구 이 글의 기초입니다.)

채널 재밍은 라이트닝 네트워크를 통해 라우팅되는 결제의 성공을 방해할 수 있다는 점에서 라이트닝 네트워크의 뛰어난 문제 중 하나입니다. 네트워크 자체가 실제로 메인넷에 실려 단 하나의 사토시라도 처리하기 시작하기 전부터 이해되어 온 개발자들 사이에서 널리 알려진 문제입니다.

지금까지 문제는 네트워크에 실제로 부정적인 영향을 미치지 않았지만 그 사실을 고려할 때 네트워크가 여전히 큰 틀에서 상대적으로 작다는 점을 염두에 두는 것이 중요합니다. 일부 거래소와 많은 Lightning/Bitcoin 기본 서비스 및 비즈니스와 같이 판매자 프로세서가 이를 지원하기 시작했지만 실제로는 많지 않습니다. 네트워크는 여전히 Bitcoiners가 주로 사용하는 매우 작은 것이며 세계에서 그다지 큰 부분이 아닙니다.

더욱이 상거래 환경에서 정기적으로 비트코인을 사용하고 사용하는 비트코인 ​​사용자의 수는 이미 소규모 그룹의 훨씬 더 작은 하위 집합입니다. 가능한 공격이 지금 발생하지 않는다고 해서 네트워크가 더 큰 규모로 성장할 때 공격이 계속 발생하지 않을 것이라고 가정해서는 안 됩니다. 그것이 커질수록 더 경쟁적이고 적대적이 될 것입니다.

채널 재밍이란 무엇입니까?

채널 재밍의 기본 개념은 재밍을 원하는 라이트닝 채널을 통해 지불을 자신에게서 자신에게 라우팅한 다음 프리이미지를 지불 해시에 공개하여 완료하지 않는 것입니다. 해시된 시간 잠금 계약(HTLC). 피해자는 환불을 위한 타임록이 만료될 때까지 채널에서 HTLC를 제거할 수 없습니다. 프리이미지를 제거한 후 공개된 경우 지불해야 할 금액에 대한 청구를 집행할 방법이 없기 때문입니다. 이렇게 하여 채널을 완전히 방해하면 해당 채널은 모든 악의적인 지불에 대한 타임록이 만료될 때까지 지불을 라우팅할 수 없습니다.

공격을 수행하기 위해 여기에서 사용할 수 있는 두 가지 다른 전략이 있습니다. 채널에서 사용 가능한 라우팅 가능한 양을 시도하고 방해하거나 채널의 모든 개별 HTLC 슬롯을 방해할 수 있습니다. 라이트닝 채널은 라우팅할 수 있는 각 방향에서 483개의 보류 중인 HTLC만 가질 수 있습니다. 이는 비트코인 ​​트랜잭션의 최대 크기 제한이 있기 때문입니다. 채널에서 방향당 483개 이상의 HTLC를 추가하면 필요한 경우 채널을 닫는 트랜잭션이 너무 커서 네트워크에 제출하기에 유효하지 않습니다. 이렇게 하면 채널의 모든 것이 체인에서 시행할 수 없게 됩니다.

따라서 공격자는 채널의 모든 유동성을 잠그거나 채널의 모든 HTLC 슬롯을 잠그려고 시도할 수 있습니다. 두 전략 모두 채널을 사용할 수 없게 만들지만 슬롯 재밍은 일반적으로 양 재밍보다 저렴합니다. 공격자는 이 공격을 수행하기 위해 네트워크에 코인이 있어야 하므로 483 용량 HTCL에 대해 최소 허용 값을 라우팅하는 것이 채널에서 사용 가능한 모든 유동성을 잠그려고 시도하는 것보다 비용 효율적입니다.

누군가가 조명 채널을 방해하고 싶어하는 이유는 무엇입니까?

이 공격을 수행하는 데는 여러 가지 이유가 있습니다. 첫째, 비트코인 ​​자체를 공격하려는 악의적인 엔티티는 서로 매우 밀접하게 연결된 노드를 제외하고 대부분의 네트워크를 라우팅 지불에 사용할 수 없도록 하기 위해 네트워크의 "코어"에서 모든 주요 채널을 방해할 수 있습니다. . 이렇게 하려면 이 규모에서 더 많은 코인이 필요하지만 비트코인이 성장하고 정부가 승인한 화폐 및 지불 시스템의 대안이 될수록 가능성으로 할인해야 하는 것은 아닙니다.

두 번째로 라우팅 노드 또는 판매자는 경쟁업체가 아닌 경쟁업체에 수수료를 부과하기 위해 경쟁업체에 대한 공격을 시도할 수 있습니다. 유사한 제품을 판매하는 상인은 경쟁자의 채널을 방해하여 고객이 대신 자신의 상점에서 쇼핑하도록 장려하기 위해 경쟁자의 구매를 방지할 수 있습니다. 다른 노드와 유사한 채널 연결성을 가진 라우팅 노드는 라우팅 지불에 사용할 수 없도록 만들기 위해 경쟁 라우팅 노드의 채널을 방해할 수 있습니다. 시간이 지남에 따라 라우팅 안정성 측면에서 해당 노드의 평판이 손상되고 유사한 연결로 인해 사용자의 지갑이 네트워크를 통해 지불을 라우팅하기 위해 공격자의 노드를 선택할 가능성이 점점 더 높아집니다.

이러한 공격은 단일 채널을 여러 번 순환적으로 라우팅하는 경우 공격자에게 훨씬 더 자본 효율적일 수 있습니다. 네트워크에서 피해자와 충분히 가까우면 순환하고 피해자의 채널을 계속 통과하는 지불 경로를 구성할 수 있습니다. 지불 경로에 대한 제한이 있으므로 무한정 수행할 수는 없지만 이와 같은 반복 지불 경로를 수행하면 공격자가 피해자의 채널을 완전히 방해하는 데 필요한 코인의 양을 크게 줄일 수 있습니다.

채널 방해 공격 완화

공격자의 비용을 증가시키고 피해자의 피해를 완화하기 위해 몇 가지 기본적이고 부분적인 완화가 적용될 수 있습니다. 첫 번째는 HTLC를 처리하기 위한 다단계 프로세스입니다.

현재 각 HTLC는 현재 채널 상태에 대한 커밋 트랜잭션에 새 출력을 개별적으로 추가합니다. 483단계 프로세스는 약정 트랜잭션에서 단일 추가 출력을 생성한 다음 실제 HTLC가 추가된 두 번째 트랜잭션을 가질 수 있습니다. 이것은 채널당 최대 483 x 233,289 HTLC 슬롯(또는 XNUMX 슬롯)을 허용합니다. 그러나 이것은 자체적으로는 아무 것도 수정하지 않으며 온체인을 적용하기 위해 추가 트랜잭션을 추가하고 있기 때문에 타임록을 연장해야 하며, 이 새로운 트랜잭션 구조와 피해자는 그렇지 않았습니다. 그러나 잠시 후에 설명하는 다른 기술과 함께 사용하면 도움이 됩니다.

두 번째는 재밍의 희생자가 된 노드가 재밍 중인 것과 동일한 피어에 대해 새 채널을 간단히 열 수 있는 반응 전략입니다. 그러나 이렇게 하려면 추가 자본이 필요하고 다른 채널이 방해를 받고 수수료 수익을 잃는 기회 비용을 수정하지 않으며 공격자가 사용할 수 있는 자본이 있는 경우 새 채널도 계속해서 방해를 받을 수 있습니다. .

세 번째 기술은 HTLC 슬롯을 버킷하는 것입니다. 현재 483개의 슬롯이 있으며 이는 결제 금액에 관계없이 모든 결제에 보편적으로 적용되는 단일 슬롯 제한입니다. 노드는 더 작은 슬롯 제한의 별도 버킷을 생성하고 이를 다른 값의 지불에 적용할 수 있습니다. 따라서 더 작은 가치의 라우팅 지불은 사용 가능한 모든 HTLC 슬롯을 소비할 수 없습니다.

100,000 sat에서 1백만 sat의 지불은 300개의 슬롯에 액세스할 수 있고 1백만 sat에서 10천만 sat은 전체 483개 슬롯에 액세스할 수 있습니다. 이것은 슬롯 잼에 대한 공격자의 자본 비용을 상당히 증가시킬 것입니다. 왜냐하면 그들이 더 이상 가능한 가장 적은 가치의 지불로 모든 483개의 슬롯을 소비할 수 없기 때문입니다. 또한 더스트 임계값(현재 546 sats) 미만의 HTLC 출력은 브로드캐스트 및 체인에서 시행할 수도 없기 때문에 HTLC 출력이 생성되지 않으므로 이 제한 미만은 "0 버킷"으로 처리될 수 있습니다. 노드는 사용된 CPU 리소스 또는 기타 메트릭을 기반으로 이러한 트랜잭션에 대한 제한을 적용하여 서비스 거부 위험이 되지 않도록 방지할 수 있습니다.

XNUMX단계 HTLC 처리와 함께 슬롯 버켓팅을 사용하여 HTLC 제한 적용을 최적화할 수 있습니다. 공격자를 위해 재밍을 하여 더 높은 슬롯 제한을 악용하여 재밍 공격자를 수행할 가능성을 줄입니다.

위에 인용된 연구에서 Riard와 Naumenko는 버켓팅 슬롯과 XNUMX단계 슬롯 확장의 최적 조합으로 슬롯 재밍의 원인이 재밍 양만큼 비용이 많이 들 수 있음을 보여주었습니다. 이것은 문제를 포괄적으로 해결하지는 못하지만 네트워크 전체의 노드에서 광범위하게 구현하는 경우 공격을 수행하는 데 필요한 최소 비용을 증가시킵니다.

그들이 살펴본 두 가지 포괄적인 솔루션은 유동성을 잠그기 위한 선불/보류 수수료와 블라인드 Chaumian 토큰을 사용하는 평판 시스템입니다. 수수료 체계의 TLDR은 결제에 오랜 시간이 걸릴 것으로 예상되는 HTLC를 라우팅하기 위해 선불 수수료에 대한 채권을 지불하고, 미결제 상태가 오래 지속되면 각 라우팅 노드에 수수료를 해제한다는 것입니다. 정산 없이 경과한 시간 덩어리당. 문제는 이를 시행하면 필요할 때 수수료가 전송되지 않는 경우 채널을 폐쇄해야 할 수 있고, 채널 재밍을 시도하는 공격자가 하는 것과 동일한 더 높은 수수료를 지불하기 위해 긴 잠금 시간이 필요한 합법적인 사용 사례가 발생할 수 있다는 것입니다.

평판 체계에는 Sybil 방어 수단으로서 비트코인의 통제를 증명하기 위해 영지식 증명을 사용하는 "지분 채권"이 포함됩니다. 그런 다음 평판에 연결된 채권을 사용하여 HTLC에서 상환 및 재발행될 라우팅 노드에서 블라인드 쇼미안 토큰을 획득합니다. 개인 정보 보호 방식으로 성공적으로 정착했습니다. 노드는 ID당 한 번 토큰을 발행하며, HTLC가 적시에 정산되거나 환불되지 않으면 노드는 토큰 재발급을 거부할 수 있으므로 사용자가 새로운 토큰을 생성하는 데 시간과 돈을 소비하지 않는 한 노드를 통해 라우팅하는 것을 방지할 수 있습니다. 새로운 토큰으로 발행될 다른 코인의 지분 채권.

이 두 가지 솔루션에 대해 자세히 알아보려면 섹션에서 더 많은 정보를 찾을 수 있습니다. 다섯여섯 Riard와 Naumenko의 연구에서.

라우팅 노드가 제XNUMX자 기반 에스크로 시스템이나 신뢰 기반 신용 한도를 채택하는 경우에도 언급할 가치가 있습니다. 여기에서 지금 확인해 보세요., 채널 재밍과 관련된 이러한 모든 문제는 더 이상 영향을 미치지 않습니다. 이것은 라우팅 노드에 대한 신뢰 모델에 큰 변화가 될 것이지만, 실제 라이트닝 채널을 사용하여 sat를 보내고 받는 사람들, 자금의 보안 또는 체인에서 이를 시행하는 능력에는 전혀 영향을 미치지 않습니다.

사람들은 그것을 듣고 싶어하지 않을 수도 있지만 결국 실제 채널에 대한 채널 재밍을 완화하기 위한 위의 솔루션으로 충분하지 않은 경우 이러한 타사 시스템은 항상 잠재적인 옵션입니다.

Shinobi님의 게스트 게시물입니다. 표현된 의견은 전적으로 자신의 것이며 BTC Inc 또는 Bitcoin Magazine의 의견을 반드시 반영하는 것은 아닙니다.

타임 스탬프 :

더보기 Bitcoin Magazine