본문으로 건너뛰기

스트리밍 페이롤 회계 처리: Superfluid와 Sablier의 초당 임금 발생 기록 방법

게시됨 마지막 업데이트 약 7분Mike ThriftMike Thrift
스트리밍 페이롤 회계 처리: Superfluid와 Sablier의 초당 임금 발생 기록 방법

지금 어딘가의 DAO 재무 채널에서, 한 기여자가 자신의 지갑 잔액이 실시간으로 증가하는 것을 지켜보고 있습니다. 한 달에 한 번도, 2주마다 한 번도 아닌, 매 초마다 말입니다. 지급일도 없고, 일괄 실행도 없습니다. 그저 그들이 일하는 동안 조용히 증가하고, 고용주가 스트림을 취소하는 순간 멈추는 숫자일 뿐입니다.

이것이 스트리밍 페이롤이며, 더 이상 암호화폐 트위터의 호기심 거리가 아닙니다. Superfluid 및 Sablier와 같은 프로토콜은 이제 수백 개의 DAO와 Web3 팀을 위한 실제 보상을 이동시키고 있으며, 점점 더 많은 원격 근무 우선 기업들이 계약자 수당을 위해 이 모델을 실험하고 있습니다. 이는 "급여 실행이 제대로 되었을까?"라는 불안을 없애는 실질적인 문제를 해결하지만, 어느 교과서도 다루지 않는 회계 문제를 야기합니다. 결코 멈추지 않는 지급에 대해 어떻게 임금 비용을 기록해야 할까요?

스트리밍 페이롤의 실제 정의

전통적인 페이롤은 일련의 일괄 지급 이벤트입니다. 2주 동안 일한 대가가 쌓이고, 단일 거래로 정산됩니다. 스트리밍 페이롤은 그 간격을 없앱니다. 고용주가 스마트 계약에 자금을 예치하고 비율(예: 하루 100 USDC)을 설정하면, 프로토콜은 수령자의 청구 가능 잔액을 초당 약 0.00116 USDC씩 지속적으로 증가시킵니다. 수령자는 언제든지 발생한 금액을 인출할 수 있습니다. 그들이 자금을 빼낼 때까지 아무것도 "지급"되지 않지만, 모든 것은 배경에서 지속적으로 축적됩니다.

두 주요 프로토콜은 이에 대해 서로 다른 기술적 접근 방식을 취합니다:

Superfluid는 일반 ERC-20 토큰을 스트리밍 로직이 내장된 "슈퍼 토큰"(예: USDCx)으로 래핑합니다. 래핑된 토큰의 balanceOf 함수는 지속적으로 업데이트되는 숫자를 반환하므로, 지갑 잔액이 실시간으로 증가하는 것을 볼 수 있습니다. 발신자의 토큰은 스트림 기간 동안 프로토콜에 잠겨 있기 때문에, Superfluid는 발신자의 버퍼를 모니터링하고 잔액이 0이 되기 전에 강제로 스트림을 닫는 오프체인 "청산인"에 의존하며, 이에 대한 수수료를 받습니다. 버퍼가 바닥나면 직원의 스트림은 경고 없이 청산됩니다.

Sablier는 2019년에 폐쇄형 베스팅 스트림으로 이 모델을 개척했으며, 현재는 Sablier Flow도 제공합니다. 이는 개방형 부채 추적 모델로, 래핑이나 청산인이 필요 없는 일반 ERC-20 토큰과 함께 작동합니다. 각 스트림은 자체 잔액으로 분리되며, 비율은 스트림 도중 조정될 수 있고, 스트림은 어느 한 쪽에 의해 일시 중지, 재개 또는 영구적으로 종료될 수 있습니다. 이는 Superfluid의 실시간 잔액 표시 기능 중 일부를 희생하는 대신, 더 간단한 통합과 타사 청산인 인프라에 대한 의존성 제거를 제공합니다.

두 모델 모두 폐쇄형 스트림(고정 예치금이 고정 기간 동안 베스팅됨 - 토큰 베스팅 및 보조금 지급에 적합)과 개방형 스트림(고정 종료일 없음, 고용주가 필요에 따라 보충하고 스트림이 취소되거나 자금이 소진될 때까지 실행됨) 사이의 스펙트럼에 위치합니다.

회계 문제: 비용은 언제 "발생"했는가?

발생주의 회계에서 임금 비용은 현금이 이동할 때가 아니라 직원이 업무를 수행할 때 인식됩니다. 스트리밍 지급은 원칙적으로 이 원칙의 가장 순수한 표현입니다. 원장은 단순히 발생률을 지속적으로 추적해야 합니다. 그러나 실제로 대부분의 부기 시스템(및 대부분의 회계사)은 불연속 기간 단위로 생각하므로, 초당 스트림은 원장 항목이 나타낼 수 있는 수준으로 다시 분할되어야 합니다.

대부분의 재무 팀이 선택하는 실용적인 접근 방식은 다음과 같습니다:

  1. 스트림 비율을 수정되지 않은 상태로 실행되는 한 알려진 일정한 발생액으로 취급합니다. 기여자에게 하루 100 USDC가 스트리밍된다면, 임금/계약자 비용을 차변에 기입하고 "미지급 스트림" 부채를 대변에 기입하는 일일(또는 덜 복잡한 장부의 경우 월별) 발생 분개를 기록합니다. 초당 분개가 필요하지 않습니다. 보고 주기에 맞는 발생액만 있으면 됩니다.
  2. 인출 시 조정합니다. 수령자가 실제로 발생 잔액을 청구하면, 이는 새로운 비용이 아니라 부채의 정산입니다. "미지급 스트림"을 차감하고 재무 자산 계정을 대변에 기입합니다. 이는 이미 처리 중인 일반적인 미지급 급여와 동일한 방식입니다.
  3. 비율이 조정될 때 새로운 스트림이 아닌 비율 변경을 인식합니다. Sablier Flow의 조정 가능한 비율과 Superfluid의 스트림 수정 호출은 모두 고용주가 스트림 도중 초당 흐름을 변경할 수 있게 해줍니다. 각 변경 사항은 본질적으로 해당 블록 타임스탬프부터 적용되는 새로운 발생률입니다. 이를 동일한 부채에 대한 수정으로 기록하고, 새로운 항목으로 기록하지 마십시오. 그렇지 않으면 조정이 수십 개의 마이크로 스트림으로 분할되어 결코 일치하지 않을 수 있습니다.

사람들을 혼란스럽게 하는 미묘한 점은 수령자가 인출하지 않더라도 비용은 발생한다는 것입니다. 3개월 동안 스트림을 청구하지 않은 기여자는 여전히 재무부에 대해 3개월 분의 실제 임금 비용을 발생시켰습니다. 부채는 아직 현금으로 정산되지 않았을 뿐입니다. "지급된 것이 없기 때문에" 발생액을 건너뛰는 것은 DAO 장부에서 가장 흔한 실수이며, 조용히 운영 자금을 과대 평가하여 재무 예측을 망가뜨리는 원인입니다.

공정 시장 가치: 여전히 사람이 필요한 부분

스트림이 스테이블코인으로 지급되는 경우, 회계 처리는 기존의 현금 페이롤과 유사합니다. 1 USDC는 정확히 $1의 가치이며, FASB의 암호화폐 자산에 대한 공정 가치 지침(ASU 2023-08)은 원장의 임금 측면에서 거의 적용되지 않습니다.

스트림이 변동성이 큰 네이티브 토큰으로 지급되는 순간, 모든 발생 기간마다 공정 시장 가치 변환이 필요합니다. 세무 당국은 메커니즘이 다른 경우에도 근본 원칙에 대해 일관된 입장을 유지합니다. IRS는 가상 화폐 임금을 수령일에 공정 시장 가치로 일반 소득으로 간주하며(Notice 2014-21), 영국 HMRC는 GBP 환산 가치에 대한 PAYE/NI 원천징수를 요구하며, EU 지침은 스테이블코인 또는 토큰 임금을 환산 등가 가치의 소득으로 취급합니다. 이러한 프레임워크 중 어느 것도 "가치가 초 단위로 지속적으로 수령된다"는 개념을 염두에 두고 작성되지 않았습니다. 대부분의 팀은 인출 시점(수령자가 실제로 자산을 보유하는 시점)의 FMV를 기준으로 결정합니다. 이는 전통적인 지급일에 가장 가깝고 시장 가격이 명확한 유일한 시점이기 때문입니다. 이 선택을 회계 정책 메모에 문서화하십시오. 감사관이 가장 먼저 묻는 질문은 "어떤 타임스탬프의 가격을 사용했습니까?"이기 때문입니다.

실무 예시

DAO가 Sablier Flow 스트림을 기여자에게 월 3,000 USDC로 열고, 매월 장부를 마감한다고 가정해 보겠습니다. "초당"이 아닌 "알려진 비율, 기간에 적용"으로 생각하기 시작하면 부기는 생각보다 간단합니다.

  • 스트림 오픈, 1개월 말 마감: 계약자 비용 3,000 USDC 차변, 미지급 스트림 3,000 USDC 대변. 현금 이동 없음; 발생한 의무를 인식하는 것입니다.
  • 2개월 중반, 기여자가 1,800 USDC 인출: 미지급 스트림 1,800 USDC 차변, 재무부(USDC) 1,800 USDC 대변. 이는 비용이 아닌 정산입니다. 비용은 발생했을 때 이미 기록되었습니다.
  • 2개월 도중, 고용주가 비율을 월 3,500 USDC로 인상: 해당 월의 두 비율에 걸쳐 발생액을 비례 배분합니다(예: 3,000 USDC/월 기준 15일 + 3,500 USDC/월 기준 15일 ≈ 3,250 USDC). 두 번째 "스트림" 계정을 개설하는 대신, 비율 변경은 동일한 부채에 대한 메타데이터일 뿐이며, 새로운 상품이 아닙니다.
  • 3개월 중반, 고용주가 스트림 취소: 취소 블록 타임스탬프까지 최종 부분 월 발생액을 기록합니다. 그런 다음 남은 미지급 스트림 잔액은 최종 인출로 정리되거나, 기여자가 청구하지 않을 경우 관련 보조금/기여자 계약에 따라 공식적으로 몰수될 때까지 부채로 남아 있습니다. 일방적으로 0으로 만들지 마십시오.

기여자가 스테이블코인 대신 변동성 토큰으로 지급받는 경우, 각 발생액에 한 줄을 더 추가하십시오. 해당 항목의 타임스탬프에서 토큰 수량과 USD 환산 FMV를 모두 기록합니다. 온체인에서 실제로 빚진 금액을 알기 위해서는 토큰 표시 부채가 필요하고, 손익 계산서 및 세금 원천징수 계산을 위해서는 법정 화폐 표시 비용이 필요하기 때문입니다.

일반적인 실수

  • 인출을 비용으로 기록하는 것. 이것은 가장 흔한 오류입니다. 수령인이 잔액을 청구하지 않는 모든 기간 동안 비용을 과소 계상(그리고 운영 자금을 과대 계상)한 후, 마침내 인출하는 기간에 오해의 소지가 있는 큰 비용을 한꺼번에 기록하게 됩니다.
  • 비율 변경 시마다 새로운 부채 계정을 개설하는 것. 1년 동안 급여가 네 번 조정된 기여자는 네 개의 항목으로 계정과목표를 복잡하게 만들 필요가 없습니다. 기존 발생액을 수정하십시오.
  • 프로토콜 수수료 무시. Superfluid의 청산인 메커니즘과 스트림 생성 또는 종료 시 발생하는 모든 프로토콜 수준 수수료는 아무리 작더라도 실제 비용이며 원장에 포함되어야 합니다. 부기 담당자가 알아차릴 별도의 거래로 표시되지 않고 자동으로 차감되기 때문에 놓치기 쉽습니다.
  • 스트리밍 플랫폼을 완전한 급여 시스템으로 취급. Sablier와 Superfluid는 지속적으로 자금을 이동시키지만, 세금 신고서를 작성하거나, 원천징수를 계산하거나, 근로자 분류를 처리하지 않습니다. 대부분의 팀은 스트리밍 계층을 Request Finance 또는 Toku와 같은 규정 준수 도구와 함께 사용하거나, W-2 직원을 위해 전통적인 급여 제공자와 함께 사용하며, 규정 준수 부담이 적은 기여자 수당 및 보조금을 위해 원시 프로토콜 스트림을 예약합니다.
  • 지급 불능 엣지 케이스 망각. Superfluid 발신자의 버퍼가 소진되어 청산인이 스트림을 강제 종료하는 경우, 이는 장부에 반영해야 하는 이벤트입니다. 최종 발생액은 부기 담당자가 스트림이 중단된 것을 알게 된 날짜가 아닌 청산 타임스탬프에 중단됩니다.

감사 추적이 실제로 과소평가된 이점인 이유

변동성과 청산 위험이 주목을 받지만, 재무 팀에게 진정한 이점은 모든 스트림 이벤트(시작, 비율 변경, 일시 중지, 인출, 취소)가 타임스탬프와 블록 번호가 있는 불변의 온체인 거래라는 점입니다. 이는 부기 담당자가 기록했는지 여부와 관계없이 존재하는 완전하고 변조 방지된 급여 원장입니다. 이는 수동 암호화폐 급여를 괴롭히는 가계정 추측 게임을 없애줍니다("우리가 실제로 그 기여자에게 10월 지급액을 보냈을까, 아니면 거래가 조용히 실패했을까?").

이 이점은 자체 장부가 체인을 반영하고 모순되지 않을 때만 활용됩니다. 일반 텍스트, 버전 관리 원장은 여기에 자연스럽게 적합합니다. 인덱서 또는 서브그래프에서 스트림 이벤트를 직접 읽고 해당 발생 항목을 원장 파일에 추가하는 일일 또는 월별 작업을 스크립트로 작성할 수 있으며, 온체인 거래 해시는 항목 메타데이터에 캡처됩니다. Beancount.io는 정확히 이것을 제공합니다. 프로그래밍 방식으로 생성하고 감사할 수 있는 일반 텍스트 회계 형식으로, 전체 내역이 git에 저장되어 "미지급 스트림" 부채 계정과 그 비율 변경을 재무부의 다른 부분과 마찬가지로 검사할 수 있습니다. 이 통합을 구축 중이라면, 문서에서 사용자 정의 계정 구조와 스크립트 항목 생성을 안내하며, Fava는 현금 운용 자금에 대한 발생액이 실시간으로 쌓이는 것을 실제로 볼 수 있는 대시보드를 제공합니다. 이는 완전히 실시간을 기반으로 구축된 급여 모델을 관찰하는 올바른 방법처럼 느껴집니다.

이 글 공유하기