이클레어, 스플라이싱 확정 입력만 허용하고 강제 종료 보강
이클레어 v0.14.6은 스플라이싱에 상대 노드의 확정 입력만 기본 허용하고, 미확정 스플라이스가 남은 채널의 강제 종료 처리를 보강했다. 기존 채널을 닫지 않고 업데이트할 수 있다.
토포AI로 이 기사 더 깊이 읽기
이클레어(Eclair) v0.14.6은 라이트닝 채널의 스플라이싱에 상대 노드가 제공하는 확정된 거래 입력만 기본적으로 허용하고, 스플라이스 거래가 확정되지 않은 채널의 강제 종료 처리도 보강했다.
개발사 ACINQ는 10월 27일 새 버전을 공개하고 운영자에게 업그레이드를 권고했다. 이번 수정은 비트코인(BTC) 라이트닝 네트워크의 채널 자금 조정과 미정산 결제 처리에 적용된다.
ACINQ는 릴리스 문서에서 일부 문제가 악의적인 노드에 의해 악용될 수 있다고 밝혔다. 수정 대상에는 스플라이싱 입력 제한과 강제 종료 때의 자금 처리 로직이 포함됐다.
스플라이싱은 채널을 닫지 않고 비트코인 자금을 추가하거나 빼는 절차다. 기존 채널 자금을 담은 출력을 새 거래로 바꾸는 방식으로 처리한다.
상대 노드가 제공한 입력의 거래가 아직 확정되지 않았다면, 상대가 그 거래를 이중 지불해 스플라이스 거래를 무효로 만들 수 있다. 이런 거래를 기준으로 채널을 강제 종료하면 미정산 결제 처리에도 문제가 생길 수 있다.
HTLC는 해시와 시간 조건에 따라 라이트닝 결제를 정산하는 계약이다. 채널을 닫을 때 아직 정산되지 않은 결제가 있다면, 어떤 자금 거래를 기준으로 종료할지가 중요하다.
새 설정값인 ‘require-confirmed-inputs-for-splicing’은 기본적으로 활성화됐다. 상대 노드가 스플라이싱에 제공하는 입력은 확정된 거래의 것만 허용하며, 앞선 스플라이스가 미확정인 동안 그 위에 새 스플라이스를 쌓는 것도 제한한다.
ACINQ는 상대 노드가 추가할 수 있는 입력과 출력의 수도 제한했다. 기존 ‘require-confirmed-inputs-for-dual-funding’ 설정은 스플라이싱에는 더 이상 적용되지 않는다. 듀얼 펀딩은 채널을 처음 열 때 양쪽 노드가 자금을 보태는 방식이다.
강제 종료 때는 비트코인 코어(Bitcoin Core) 백엔드가 알고 있는 자금 거래에 대응하는 커밋먼트를 선택하도록 했다. 새 블록이 나오거나 스플라이스 거래가 공개되면 선택을 다시 점검한다는 내용은 스플라이싱 보강 변경에 담겼다.
이전 커밋먼트가 나중에 확정되는 경우에도 해당 거래에 담긴 노드 잔액과 HTLC 출력을 회수할 수 있도록 처리했다. 채널 상태가 바뀐 뒤 뒤늦게 포함된 거래도 강제 종료 과정에서 반영하기 위한 수정이다.
별도의 강제 종료 수정은 Eclair가 다른 커밋먼트로 전환한 뒤에도 앞서 공개한 자체 커밋먼트가 블록에 포함될 수 있는 상황을 다룬다. 종전에는 이를 상대 노드의 거래로 잘못 분류해 관련 출력을 청구하지 못할 수 있었지만, 수정 후에는 자체 거래인지 다시 확인하고 해당 커밋먼트에 맞춰 강제 종료를 이어간다.
ACINQ는 기본적으로 꺼져 있는 ‘zero_fee_commitments’ 기능을 신뢰하지 않는 상대와 스플라이싱할 때 사용하지 말라고 경고했다. 이 주의 사항도 이번 릴리스 문서에 담겼다.
본지는 앞서 이클레어 0.14.5 보안 패치 배포와 업그레이드 권고를 전했다. 이번 0.14.6에서는 스플라이싱의 미확정 입력 제한과 강제 종료 중 결제 자금 회수 절차가 추가로 바뀌었다.
운영자는 기존 채널을 닫지 않고 업데이트할 수 있다. ACINQ는 Eclair를 중지한 뒤 새 버전을 설치하고 다시 시작하면 된다고 안내했다.

서도윤 기자 




Comment 0
불러오는 중…