جایی در کانال مالی یک دائو، در همین لحظه، یک مشارکتکننده در حال تماشای موجودی کیف پول خود است که در زمان واقعی افزایش مییابد — نه یک بار در ماه، نه هر دو هفته یک بار، بلکه هر ثانیه. بدون تاریخ پرداخت. بدون اجرای دستهای. فقط یک عدد که در حین کار بیصدا رشد میکند و به محض لغو جریان توسط کارفرما متوقف میشود.
این حقوق و دستمزد جاری است و دیگر یک کنجکاوی در توییتر رمزارزها نیست. پروتکلهایی مانند سابفلویید و سابلییر اکنون غرامت واقعی را برای صدها دائو و تیم وب ۳ جابجا میکنند و تعداد فزایندهای از شرکتهای از راه دور نیز در حال آزمایش این مدل برای کمک هزینه پیمانکاران هستند. این مدل یک مشکل واقعی را حل میکند — دیگر نگرانی از "آیا اجرای حقوق و دستمزد انجام شد" وجود ندارد — اما یک مشکل حسابداری ایجاد میکند که هیچ کتاب درسی به آن نمیپردازد: چگونه هزینه دستمزدی را ثبت میکنید که تاریخ پرداخت مشخصی ندارد، زیرا پرداخت هرگز واقعاً متوقف نمیشود؟
حقوق و دستمزد جاری دقیقاً چیست؟
حقوق و دستمزد سنتی مجموعهای از رویدادهای یکجا است: حق الزحمه به مدت دو هفته تعلق میگیرد و سپس یک تراکنش واحد آن را تسویه میکند. حقوق و دستمزد جاری این فاصله را از بین میبرد. یک کارفرما وجوهی را در یک قرارداد هوشمند واریز میکند و یک نرخ تعیین میکند — مثلاً ۱۰۰ یواسدیسی در روز — و پروتکل به طور مداوم موجودی قابل ادعای دریافتکننده را تقریباً با نرخ ۰.۰۰۱۱۶ یواسدیسی در ثانیه افزایش میدهد. دریافتکننده میتواند در هر لحظه هر آنچه که تعلق گرفته است را برداشت کند؛ هیچ چیز "پرداخت" نمیشود مگر اینکه آن را برداشت کند، اما همه چیز به طور مداوم در پسزمینه در حال کسب درآمد است.
دو پروتکل غالب از رویکردهای فنی متفاوتی برای این کار استفاده میکنند:
سابفلویید توکنهای استاندارد ERC-20 را به "ابر توکنها" (مانند USDCx) با منطق جریان داخلی تبدیل میکند. تابع balanceOf توکن بستهبندی شده یک عددی را برمیگرداند که به طور مداوم بهروز میشود، بنابراین موجودی کیف پول در زمان واقعی به طور قابل مشاهده افزایش مییابد. از آنجایی که توکنهای فرستنده برای مدت زمان جریان در پروتکل قفل شدهاند، سابفلویید به "تصفیهکنندگان" خارج از زنجیره متکی است که بافرهای فرستندهها را نظارت کرده و جریانها را قبل از اینکه موجودی فرستنده به صفر برسد، به زور میبندند — و در ازای آن کارمزد دریافت میکنند. اگر بافر شما خشک شود، جریانهای کارمندان شما بدون هشدار تصفیه میشوند.
سابلییر که این مدل را با جریانهای حقتعهد بسته در سال ۲۰۱۹ پیشگام کرد، اکنون سابلییر فلو را نیز ارائه میدهد — یک مدل ردیابی بدهی باز که با توکنهای استاندارد ERC-20 کار میکند و نیازی به بستهبندی یا تصفیهکننده ندارد. هر جریان با موجودی خود ایزوله است، نرخها را میتوان در میانه جریان تنظیم کرد و جریانها را میتوان توسط هر یک از طرفین متوقف، از سر گرفت یا به طور دائم پایان داد. این مدل، نمایش موجودی در زمان واقعی سابفلویید را با یکپارچگی سادهتر و عدم وابستگی به زیرساخت تصفیهکننده شخص ثالث معاوضه میکند.
هر دو مدل در طیفی بین جریانهای بسته (یک سپرده ثابت در یک مدت زمان ثابت تعلق میگیرد — مناسب برای تعلق توکن و پرداخت کمکهزینه) و جریانهای باز (بدون تاریخ پایان ثابت؛ کارفرما در صورت نیاز شارژ میکند و جریان تا زمان لغو یا اتمام وجوه ادامه مییابد) قرار میگیرند.
مشکل حسابداری: هزینه چه زمانی "کسب" میشود؟
تحت حسابداری تعهدی، هزینه دستمزد در زمان انجام کار توسط کارمند شناسایی میشود، نه در زمان جابجایی وجه نقد. یک پرداخت جاری، در اصل، خالصترین بیان ممکن از این اصل است — دفتر کل باید به سادگی نرخ تعهد را به طور مداوم ردیابی کند. در عمل، اکثر سیستمهای دفترداری (و اکثر حسابداران) در دورههای گسسته فکر میکنند، بنابراین یک جریان بر ثانیه باید دوباره به چیزی که یک ورود دفتری میتواند نشان دهد، کاهش یابد.
رویکرد عملی که اکثر تیمهای مالی به آن میرسند:
۱. نرخ جریان را به عنوان یک تعهد ثابت و شناخته شده در نظر بگیرید تا زمانی که بدون تغییر اجرا شود. اگر به یک مشارکتکننده ۱۰۰ یواسدیسی در روز جریان داده میشود، یک ورود تعهد روزانه (یا ماهانه برای دفاتر سبکتر) ثبت کنید که هزینه کار/پیمانکار را بدهکار و یک بدهی "پرداختنیهای جریان" را بستانکار میکند — شما به ورودهای هر ثانیه نیاز ندارید؛ به یک تعهد نیاز دارید که با نرخ گزارشدهی شما همخوانی داشته باشد. ۲. در زمان برداشت، تعدیل کنید. وقتی دریافتکننده موجودی تعلق گرفته را ادعا میکند، این یک تسویه بدهی است، نه یک هزینه جدید — "پرداختنیهای جریان" کاهش و حساب دارایی خزانه افزایش مییابد. این مشابه روشی است که شما قبلاً حقوق تعهدی پرداخت نشده را مدیریت میکنید. ۳. هنگام تنظیم نرخ، تغییر نرخ را شناسایی کنید، نه یک جریان جدید. قابلیت تنظیم نرخ سابلییر فلو و فراخوانهای اصلاح جریان سابفلویید به کارفرما اجازه میدهد جریان بر ثانیه را در میانه جریان تغییر دهد. هر تغییر در واقع یک نرخ تعهد جدید است که از آن مهر زمانی بلوک به بعد اجرا میشود — آن را به عنوان اصلاحیه برای همان بدهی ثبت کنید، نه به عنوان یک آیتم جدید، در غیر این صورت تطبیق شما به دهها جریان خرد تقسیم میشود که هرگز کاملاً منطبق نمیشوند.
نکته ظریفی که مردم را گرفتار میکند: هزینه حتی اگر دریافتکننده هرگز برداشت نکند، تعلق میگیرد. یک مشارکتکننده که سه ماه از یک جریان را بدون ادعا رها میکند، همچنان سه ماه هزینه واقعی دستمزد علیه خزانه ایجاد کرده است — بدهی فقط به صورت نقدی تسویه نشده است. رد کردن تعهد زیرا "چیزی پرداخت نشده است" رایجترین اشتباه در دفاتر دائوها است و دقیقاً همان نوع اغراق آرام در بودجه است که پیشبینی خزانه را نابود میکند.
ارزش بازار منصفانه: بخشی که هنوز به انسان نیاز دارد
اگر جریان با یک استیبل کوین پرداخت کند، حسابداری به حسابداری حقوق و دستمزد نقدی نزدیک میماند — ۱ یواسدیسی معادل ۱ دلار است، بدون بحث، و راهنمای ارزش منصفانه FASB برای داراییهای رمزارزی (ASU 2023-08) به سختی برای سمت دستمزد دفتر کل وارد عمل میشود.
اما به محض اینکه جریان با یک توکن بومی ناپایدار پرداخت کند، هر دوره تعهد نیاز به تبدیل ارزش بازار منصفانه دارد. مقامات مالیاتی در مورد اصل اساسی حتی در جایی که مکانیکها متفاوت است، سازگار هستند: IRS حقوق رمزارزی را به عنوان درآمد عادی با ارزش بازار منصفانه در تاریخ دریافت تلقی میکند (اطلاعیه 2014-21)، HMRC بریتانیا کسر مالیات PAYE/NI را بر ارزش معادل پوند Sterling الزامی میکند و دستورالعمل اتحادیه اروپا حقوق استیبل کوین یا توکن را به عنوان درآمد با ارزش معادل تبدیل آنها در نظر میگیرد. هیچ یک از این چارچوبها با در نظر گرفتن "ارزش دریافتی مستمر، ثانیه به ثانیه" نوشته نشدهاند — اکثر تیمها بر روی ارزش بازار منصفانه در لحظه برداشت (زمانی که دریافتکننده واقعاً custody را به دست میگیرد) مستقر میشوند، زیرا این نزدیکترین مشابه به تاریخ پرداخت سنتی و تنها نقطهای است که قیمت بازار بدون ابهام است. این انتخاب را در یادداشتهای خط مشی حسابداری خود مستند کنید، زیرا "از مهر زمانی کدام قیمت استفاده کردید" اولین سوالی است که یک حسابرس خواهد پرسید.
یک مثال عملی
فرض کنید یک دائو یک جریان سابلییر فلو را با نرخ ۳,۰۰۰ یواسدیسی در ماه برای یک مشارکتکننده باز میکند و حسابها را ماهانه میبندد. دفترداری سادهتر از آن چیزی است که به نظر میرسد، به شرطی که فکر کردن "بر ثانیه" را متوقف کرده و به "نرخ مشخص، اعمال شده در یک دوره" فکر کنید:
- باز شدن جریان، بسته شدن ماه ۱: بدهکار هزینه پیمانکار ۳,۰۰۰ یواسدیسی، بستانکار پرداختنیهای جریان ۳,۰۰۰ یواسدیسی. هیچ وجه نقدی جابجا نشده است؛ شما تعهدی را که تعلق گرفته است شناسایی میکنید.
- برداشت ۱,۸۰۰ یواسدیسی توسط مشارکتکننده در میانه ماه ۲: بدهکار پرداختنیهای جریان ۱,۸۰۰ یواسدیسی، بستانکار خزانه (یواسدیسی) ۱,۸۰۰ یواسدیسی. این یک تسویه است، نه یک هزینه — هزینه قبلاً در زمان تعلق ثبت شده بود.
- افزایش نرخ توسط کارفرما به ۳,۵۰۰ یواسدیسی در ماه در بخشی از ماه ۲: تعهد را به نسبت بین دو نرخ برای آن ماه تقسیم کنید (مثلاً ۱۵ روز با نرخ ۳,۰۰۰/ماه + ۱۵ روز با نرخ ۳,۵۰۰/ماه ≈ ۳,۲۵۰ یواسدیسی) به جای باز کردن یک حساب "جریان" دوم. تغییر نرخ، فراداده روی همان بدهی است، نه یک ابزار جدید.
- لغو جریان توسط کارفرما در میانه ماه ۳: تعهد نهایی جزئی ماه را تا مهر زمانی بلوک لغو ثبت کنید، سپس مانده باقیمانده پرداختنیهای جریان یا در یک برداشت نهایی تسویه میشود یا اگر مشارکتکننده هرگز آن را ادعا نکند، تا زمانی که این کار را انجام دهد (یا تا زمانی که طبق قرارداد کمکهزینه/مشارکت مربوطه به طور رسمی forfeit شود — فقط آن را یکطرفه صفر نکنید) به عنوان یک بدهی باقی میماند.
اگر به مشارکتکننده با یک توکن ناپایدار به جای استیبل کوین پرداخت میشود، یک خط دیگر به هر تعهد اضافه کنید: مقدار توکن و ارزش دلاری معادل بازار منصفانه آن را در مهر زمانی آن ورود ثبت کنید، زیرا به هر دو بدهی بهارز توکن (برای دانستن آنچه واقعاً در زنجیره بدهکار هستید) و هزینه بهارز فیات (برای صورت سود و زیان و محاسبات کسر مالیات) نیاز خواهید داشت.
اشتباهات رایج
- ثبت برداشت به عنوان هزینه. این رایجترین اشتباه است — هزینهها را برای هر دورهای که دریافتکننده موجودی خود را ادعا نمیکند، کمتر از حد واقعی نشان میدهد (و بودجه را بیشتر برآورد میکند) و سپس هزینهای گمراهکننده بزرگ را در دورهای که سرانجام برداشت میکنند، تخلیه میکند.
- باز کردن یک حساب بدهی جدید برای هر تغییر نرخ. یک مشارکتکننده که حقوقش چهار بار در سال تنظیم شده است، نباید چهار آیتم خطی را در نمودار حسابها شلوغ کند — تعهد موجود را اصلاح کنید.
- نادیده گرفتن کارمزدهای پروتکل. مکانیسم تصفیهکننده سابفلویید و هر کارمزد در سطح پروتکل برای ایجاد یا بستن جریان، هزینههای واقعی هستند، هرچند کوچک، و به دفتر کل تعلق دارند — به راحتی از قلم میافتند زیرا به طور خودکار کسر میشوند و نه به عنوان یک تراکنش جداگانه که یک دفتردار متوجه شود، ظاهر میشوند.
- در نظر گرفتن پلتفرمهای جریان به عنوان سیستمهای کامل حقوق و دستمزد. سابلییر و سابفلویید به طور مداوم پول را جابجا میکنند؛ هیچکدام فرمهای مالیاتی را پر نمیکند، کسر مالیات را محاسبه نمیکند یا طبقهبندی کارگر را انجام نمیدهد. اکثر تیمها لایه جریان را با یک ابزار انطباق مانند Request Finance یا Toku یا با یک ارائهدهنده حقوق و دستمزد سنتی برای کارمندان W-2 جفت میکنند و جریانهای خام پروتکل را برای کمکهزینه مشارکتکنندگان و کمکهای بلاعوض که بار انطباق سبکتری دارند، ذخیره میکنند.
- فراموش کردن مورد خاص ورشکستگی. اگر بافر یک فرستنده سابفلویید تمام شود و یک تصفیهکننده جریان را به زور ببندد، این رویدادی است که دفاتر شما باید منعکس کنند — تعهد نهایی در مهر زمانی تصفیه متوقف میشود، نه در تاریخی که دفتردار شما متوجه مرگ جریان میشود.
چرا مسیر حسابرسی در واقع مزیت کمبرآورد شده است
نوسان و ریسک تصفیه توجه را به خود جلب میکند، اما پیروزی واقعی برای تیمهای مالی این است که هر رویداد جریان — شروع، تغییر نرخ، توقف، برداشت، لغو — یک تراکنش غیرقابل تغییر در زنجیره با یک مهر زمانی و شماره بلوک است. این یک دفتر کل کامل و ضد دستکاری حقوق و دستمزد است که صرف نظر از اینکه دفتردار شما آن را ثبت کرده است یا نه، وجود دارد. این کار بازیهای حدس و گمان حسابهای تعلیق را که حسابداری دستی حقوق رمزارزی را آزار میدهد ("آیا واقعاً پرداخت اکتبر را برای آن مشارکتکننده ارسال کردیم یا تراکنش بیصدا شکست خورد؟") حذف میکند.
این مزیت تنها در صورتی نتیجه میدهد که دفاتر شما خود زنجیره را منعکس کنند، نه اینکه با آن تضاد داشته باشند. دفاتر کل متنساده و با نسخهبندی شده یک تناسب طبیعی در اینجا هستند: میتوانید یک کار روزانه یا ماهانه را اسکریپت کنید که رویدادهای جریان را مستقیماً از یک نمایهساز یا زیرگراف میخواند و ورودیهای تعهد مربوطه را به فایل دفتر کل شما اضافه میکند و هش تراکنش درون زنجیره را مستقیماً در فراداده ورود ثبت میکند. Beancount.io دقیقاً این را به شما ارائه میدهد — یک قالب حسابداری متنساده که میتوانید به صورت برنامهنویسی تولید و حسابرسی کنید، با تاریخچه کامل در گیت، به طوری که یک حساب بدهی "پرداختنیهای جریان" و تغییرات نرخ آن به اندازه هر بخش دیگر از خزانه شما قابل بررسی باشد. اگر در حال ساخت این یکپارچهسازی هستید، اسناد ساختارهای حساب سفارشی و تولید ورود اسکریپت شده را توضیح میدهند و Fava یک داشبورد به شما میدهد تا در زمان واقعی شاهد تجمع تعهد علیه بودجه نقدی خود باشید — که برای یک مدل حقوق و دستمزد که کاملاً حول زمان واقعی ساخته شده است، راه درستی برای تماشای آن به نظر میرسد.