본문으로 건너뛰기
buybitcoinsmart

용어집 / 라이트닝과 레이어 2

밀리사토시

별칭은 msat입니다.

밀리사토시란 무엇입니까?
밀리사토시는 사토시의 1,000분의 1로, 라이트닝 네트워크가 채널 잔액과 라우팅 수수료를 계산하는 데 사용하는 단위이며, 비트코인 블록체인 자체에는 기록할 수 없는 금액입니다.

라이트닝 네트워크는 블록체인보다 한 단계 더 세밀한 단위인 사토시의 1,000분의 1로 회계를 처리합니다. BOLT 2는 그 비율을 명확하게 규정합니다. push_msat은 funding_satoshis의 1000배를 초과할 수 없으며, 온체인에서 강제할 수 있는 것은 사토시 단위의 정수 금액뿐입니다. 잔액에 남은 밀리사토시는 채널 안에서는 실제로 존재하지만, 해당 채널이 닫히는 순간 반올림되어 사라집니다.

작동 방식

밀리사토시는 블록체인의 결제 단위가 아니라 라이트닝 네트워크 채널 내부의 계산 단위입니다.

채널 내부의 모든 결제 금액은 밀리사토시로 표기되며 필드 이름에도 그렇게 명시되어 있습니다. 채널에 결제를 추가하는 메시지인 update_add_htlc는 64비트 크기의 amount_msat를 전달하며, 채널을 열 때는 push_msat, htlc_minimum_msat, max_htlc_value_in_flight_msat를 같은 단위로 협상합니다. BOLT 2는 정의 옆에 주의 사항을 명시합니다. 금액은 밀리사토시 단위이지만 "though on-chain enforcement is only possible for whole satoshi amounts greater than the dust limit"(온체인에서 강제할 수 있는 것은 더스트 한도보다 큰 사토시 단위의 정수 금액뿐입니다)이며, 커밋먼트 트랜잭션은 이 금액을 내림 처리합니다.

환산 비율은 근거 없는 이야기가 아닙니다. 채널을 여는 노드는 push_msat을 funding_satoshis의 1000배를 넘지 않는 값으로 설정해야 하며, 메시지를 받는 상대 피어는 push_msat이 funding_satoshis의 1000배보다 크면 채널을 실패 처리해야 합니다. 1,000 대 1의 비율은 양쪽 모두의 핸드셰이크에 명시되어 있습니다.

인보이스도 같은 하한을 물려받습니다. BOLT 11 금액은 배수 문자를 붙여 비트코인으로 표기하며, 그중 가장 작은 p(pico)에는 다른 배수 문자에 없는 규칙이 붙습니다. 금액의 마지막 자릿수가 0이어야 한다는 것입니다. 1피코 비트코인은 밀리사토시의 10분의 1이므로, 끝의 0은 요청 금액을 밀리사토시 단위의 정수로 강제합니다. 사양서는 그 이유를 명확히 밝힙니다. HTLC가 밀리사토시로 표기되므로 밀리사토시 미만의 금액은 네트워크에서 전송할 수 없으며, 테스트 벡터에는 "Invalid sub-millisatoshi precision"이라는 제목 아래 거부된 인보이스가 포함되어 있습니다.

추가된 소수점 세 자리는 수수료 계산에서 제 역할을 합니다. 전달 노드는 전달하는 사토시당 사토시의 100만분의 1로 표시되는 비례 요율을 청구하므로, 1,000사토시 결제에 1의 요율을 적용하면 밀리사토시 1개가 됩니다. 이를 사토시 정수로 반올림하면 수수료를 1,000배로 늘리거나 아예 없애 버리게 됩니다.

확인할 수 있는 곳

밀리사토시 수치는 라이트닝 네트워크 도구가 반올림된 표시 대신 실제 숫자를 보여 주는 곳마다 나타납니다.

BOLT 11 인보이스를 디코딩하면 경로 힌트가 이 단위로 표시됩니다. 사양서의 예제 자체에도 기본 수수료로 1밀리사토시와 2밀리사토시를 청구하는 두 홉이 나열되어 있으며, Blockstream 스토어 주문용 샘플 인보이스에는 기본 수수료가 1000인 경로 힌트가 포함되어 있는데, 이는 사토시 1개입니다. 채널의 가십 업데이트는 htlc_minimum_msat과 fee_base_msat를 같은 단위로 공개하므로, 해당 필드를 읽는 대시보드는 옆에 있는 사토시 수치보다 1,000배 큰 숫자를 표시합니다.

소비자용 지갑은 단위를 숨기지만 계산은 숨기지 않습니다. Phoenix는 결제 시점에 수수료를 알아내는 대신 수수료 표를 공개하며, 라이트닝 네트워크 전송에는 0.4%에 4사토시를 더한 수수료가 듭니다. 137사토시 결제에서 비율 부분은 548밀리사토시가 되는데, 이는 온체인에서 표현할 방법이 전혀 없는 수량입니다. Muun은 온체인과 라이트닝 네트워크를 하나의 잔액으로 제시하여 그 경계를 완전히 숨기지만, 경계를 없애지는 않습니다.

밀리사토시 vs 사토시

사토시는 비트코인 블록체인이 기록할 수 있는 가장 작은 금액이며, 밀리사토시는 그 1,000분의 1로 라이트닝 네트워크의 메시지와 두 피어가 유지하는 장부에만 존재합니다.

그 차이는 채널을 닫을 때 드러납니다. 1,234,567밀리사토시의 채널 잔액은 1,234사토시로만 강제할 수 있고 그 이상은 불가능합니다. 채널을 온체인에서 정산하는 커밋먼트 트랜잭션이 사토시 정수로 지급하기 때문입니다. 남은 567밀리사토시는 존재할 온체인 출력이 없으며, 채널이 열려 있는 동안에만 사용할 수 있습니다. 그 차이는 1센트의 일부에 불과하지만, 블록체인과 관련된 어떤 것에서도 두 단위를 서로 바꿔 쓸 수 없는 이유이기도 합니다.

혼동하기 쉬운 용어

자주 묻는 질문

1사토시는 몇 밀리사토시입니까?

정확히 1,000입니다. 라이트닝 네트워크 사양서는 이 비율을 채널 개설 핸드셰이크에 명시합니다. 노드는 push_msat을 funding_satoshis의 1000배를 넘지 않는 값으로 설정해야 하며, 해당 메시지를 받는 피어는 push_msat이 funding_satoshis의 1000배보다 크면 채널을 실패 처리해야 합니다.

밀리사토시를 실제로 출금할 수 있습니까?

아니오, 비트코인 블록체인은 사토시 정수만 기록하기 때문입니다. 밀리사토시 잔액은 라이트닝 네트워크 채널이 열려 있는 동안에는 실제로 존재하지만, BOLT 2에 따르면 온체인에서 강제할 수 있는 것은 더스트 한도보다 큰 사토시 단위의 정수 금액뿐이며, 커밋먼트 트랜잭션은 나머지를 내림 처리합니다.

라이트닝 네트워크는 왜 그렇게 작은 단위를 사용합니까?

비례 라우팅 수수료는 전달되는 1사토시당 100만분의 1사토시 단위로 표시되기 때문에, 소액 결제의 수수료는 사토시 사이의 값이 됩니다. 1,000사토시 결제에 대한 1의 요율은 1밀리사토시이며, 이를 1사토시로 반올림하면 수수료가 사라지거나 1,000배로 늘어납니다.

다음에 읽을 글

관련 용어

라이트닝과 레이어 2 분야의 다른 용어

이 페이지를 영어로 읽기