برای دههها، تحقیقات در سیستمهای توزیعشده، بهویژه در اجماع بیزانس (Byzantine consensus) و شبیهسازی ماشین حالت (SMR)، بر دو هدف اصلی سازگاری (Consistency) و حیات (Liveness) متمرکز بوده است. سازگاری به این معناست که تمام نودها (Nodes) روی یک توالی واحد از تراکنشها توافق دارند، در حالی که حیات تضمین میکند سیستم به افزودن تراکنشهای جدید ادامه میدهد. با این وجود، این ویژگیها مانع از آن نمیشوند که بازیگران خرابکار، پس از دریافت تراکنشها، ترتیب آنها را تغییر ندهند.
به گزارش میهن بلاکچین، در بلاکچینهای عمومی، این شکاف در تضمینهای اجماع سنتی به یک مشکل جدی تبدیل شده است. اعتبارسنجها (Validators)، سازندگان بلاک (Block builders) یا سِکوئنسرها (Sequencers) میتوانند از نقش ممتاز خود در ترتیبدهی بلاک برای کسب منافع مالی استفاده کنند که این عمل با عنوان حداکثر ارزش قابل استخراج (Maximal Extractable Value – MEV) شناخته میشود. این دستکاری شامل عملیات سودجویانهای مانند فرانترانینگ (Frontrunning)، بکرانینگ (Backrunning) و ساندویچ کردن (Sandwiching) تراکنشها است. از آنجا که ترتیب اجرای تراکنشها تعیینکننده اعتبار یا سودآوری در برنامههای مالی غیرمتمرکز (DeFi) است، حفظ انسجام ترتیب تراکنشها برای حفظ انصاف و اعتماد حیاتی است.
برای حل این شکاف امنیتی مهم، عدالت در ترتیبدهی تراکنش (Transaction order-fairness) بهعنوان سومین ویژگی اساسی اجماع پیشنهاد شده است. پروتکلهای عدالت-در-ترتیب تضمین میکنند که ترتیب نهایی تراکنشها به عوامل خارجی و عینی، مانند زمانهای رسیدن (یا ترتیب دریافت)، بستگی داشته باشد و در برابر بازترتیبدهی از سوی بازیگران مخرب مقاوم است. این پروتکلها با محدود کردن قدرت پیشنهاددهنده بلاک برای جابهجایی تراکنشها، بلاکچینها را به شفافیت، قابلیت پیشبینی و مقاومت در برابر MEV نزدیکتر میکنند.
تناقض کندورسه و امکانناپذیری عدالت ایدهآل
قویترین و شهودیترین مفهوم عدالت، عدالت در ترتیب دریافت (Receive-Order-Fairness – ROF) است. به طور غیررسمی، این مفهوم به این صورت تعریف میشود: «اولین تراکنش دریافتی، اولین خروجی است.» ROF حکم میکند که اگر تعداد کافی از نودها، تراکنشی (tx) را زودتر از تراکنش دیگر (tx’) دریافت کنند، سیستم ملزم است tx را پیش از tx’ برای اجرا ترتیب دهد.
با این حال، دستیابی به این عدالت در ترتیب که مورد پذیرش جهانی است، اساساً غیرممکن است، مگر اینکه فرض شود تمام نودها میتوانند فوراً با یکدیگر ارتباط برقرار کنند (یعنی در یک شبکه خارجی همزمان آنی فعالیت کنند). این نتیجه امکانناپذیری از یک ارتباط شگفتانگیز با نظریه انتخاب اجتماعی یا تناقض کُندورسه (Condorcet paradox)، ناشی میشود.
تناقض کندورسه نشان میدهد که چگونه، حتی زمانی که هر نودی ترتیبدهی داخلی متعدی (Transitive) از تراکنشها را حفظ میکند، ترجیح جمعی در سراسر سیستم میتواند منجر به چیزی شود که به عنوان دورهای نامتعدی (non-transitive cycles) شناخته میشود. به عنوان مثال، ممکن است اکثریت نودها تراکنش A را قبل از B دریافت کنند، اکثریتی B را قبل از C دریافت کنند، و اکثریتی C را قبل از A دریافت کنند. از این رو، این سه ترجیح اکثریتی یک حلقه (A \to B \to C \to A) تشکیل میدهند. این بدان معناست که هیچ ترتیب واحد و سازگاری از تراکنشهای A، B و C هرگز نمیتواند به طور همزمان تمام ترجیحات اکثریتی را برآورده سازد.
این تناقض نشان میدهد که چرا دستیابی کامل به عدالت در ترتیب دریافت (ROF) در شبکههای نامتزامن (Asynchronous) یا حتی در شبکههای متزامن که ساعت مشترک دارند ولی تأخیرهای شبکه خارجی بسیار طولانی بوده، غیرممکن است. این امکانناپذیری، نیاز به اتخاذ تعاریف ضعیفتری از عدالت، مانند عدالت در ترتیب دستهای (Batch Order Fairness) را ضروری میسازد.
هِدِرا هَشگراف (Hedera Hashgraph) و نقص زمانبندی میانه
هدرا که از الگوریتم اجماع هَشگراف استفاده میکند، به دنبال تقریبی از یک مفهوم قوی از عدالت در ترتیب دریافت (ROF) است. این کار با اختصاص یک برچسب زمانی نهایی به هر تراکنش انجام میشود که به عنوان میانه (Median) برچسبهای زمانی محلی تمام نودها برای آن تراکنش محاسبه میگردد.
با این حال، این روش ذاتاً مستعد دستکاری است. یک نود مخرب واحد میتواند عمداً برچسبهای زمانی محلی خود را مخدوش کرده و ترتیب نهایی دو تراکنش را وارونه کند، حتی زمانی که تمام شرکتکنندگان صادق آنها را به ترتیب صحیح دریافت کرده باشند.
مثالی ساده را با پنج نود اجماع (A، B، C، D و E) در نظر بگیرید که در آن گره E به صورت مخرب عمل میکند. دو تراکنش tx_1 و tx_2 در شبکه پخش میشوند. تمام نودهای صادق tx_1 را قبل از tx_2 دریافت میکنند، بنابراین ترتیب نهایی مورد انتظار باید tx_1 \to tx_2 باشد.
در این مثال، بازیگر مخرب برای تغییر میانه، برچسب زمانی دیرهنگامتری (۳) را به tx_1 و یک برچسب زمانی زودتر (۲) را به tx_2 اختصاص میدهد.
هنگامی که پروتکل میانه را محاسبه میکند:
- برای tx_1، برچسبهای زمانی (۱، ۱، ۴، ۴، ۳) یک میانه برابر با ۳ به دست میدهند.
- برای tx_2، برچسبهای زمانی (۲، ۲، ۵، ۵، ۲) یک میانه برابر با ۲ به دست میدهند.
از آنجا که برچسب زمانی نهایی tx_1 (۳) بزرگتر از tx_2 (۲) است، پروتکل خروجی را tx_2 \to tx_1 تعیین میکند و در نتیجه ترتیب واقعی مشاهدهشده توسط تمام گرههای صادق را معکوس میسازد.
این مثال کوچک یک نقص بحرانی را نشان میدهد؛ تابع میانه، در حالی که ظاهراً خنثی به نظر میرسد، به طور متناقضی علت واقعی ناعادلانه بودن است، زیرا حتی میتواند توسط یک شرکتکننده ناسالم برای جهتدهی به ترتیب نهایی تراکنشها مورد سوءاستفاده قرار گیرد.
در نتیجه، زمانبندی عادلانه که اغلب در مورد هَشگراف تبلیغ میشود، مفهوم شگفتآوری ضعیفی از عدالت است. اجماع هَشگراف در تضمین عدالت در ترتیب دریافت شکست میخورد و به جای تضمینهای رمزنگاری، به یک مجموعه اعتبارسنجی مجاز (Permissioned) متکی است.
دستیابی به تضمینهای عملی
با این حال، برای دور زدن امکانناپذیری نظری که توسط کندورسه نشان داده شد، طرحهای عملی عدالت-در-ترتیب باید به نحوی تعریف عدالت را تعدیل کنند.
پروتکلهای آئکوتاس (Aequitas) معیار عدالت در ترتیب بلاک (Block-Order-Fairness – BOF)، یا عدالت در ترتیب دستهای، را معرفی کردند. BOF حکم میکند که اگر تعداد کافی از نودها تراکنش tx را پیش از tx’ دریافت کنند، آنگاه tx باید در یک بلاک قبل یا همزمان با tx’ تحویل داده شود که یعنی هیچ نود صادقی نمیتواند tx’ را در یک بلاک پس از tx تحویل دهد. این قانون از «باید قبل از آن تحویل داده شود» (الزام ROF) به «باید نه دیرتر از آن تحویل داده شود» تعدیل میشود.
سه نود اجماع (A، B و C) و سه تراکنش tx_1، tx_2 و tx_3 را در نظر بگیرید. یک تراکنش در صورتی «زودتر دریافت شده» تلقی میشود که حداقل دو نود از سه نود (اکثریت) آن را زودتر مشاهده کرده باشند.
اگر رأیگیری اکثریت را برای تعیین یک ترتیب جهانی اعمال کنیم:
- tx_1 \to tx_2 (با توافق A و C)
- tx_2 \to tx_3 (با توافق A و B)
- tx_3 \to tx_1 (با توافق B و C)
این ترجیحات یک حلقه (tx_1 \to tx_2 \to tx_3 \to tx_1) ایجاد میکنند. در این وضعیت، هیچ ترتیب واحدی وجود ندارد که بتواند دیدگاه همه را به طور همزمان راضی کند که یعنی ROF سختگیرانه غیرقابل دستیابی است.
BOF این مشکل را با گروهبندی تمام تراکنشهای متضاد در یک دسته یا بلاک واحد، به جای مجبور کردن یکی به مقدم بودن بر دیگری، حل میکند. پروتکل به سادگی خروجی زیر را میدهد:
بلاک B_1 = \{tx_1, tx_2, tx_3\}
این بدان معنی است که از منظر پروتکل، با هر سه تراکنش طوری رفتار میشود که گویی در یک زمان رخ دادهاند. در داخل بلاک، یک عامل تعیینکننده نودباز (مانند یک مقدار هَش) ترتیب دقیق اجرای آنها را مشخص میکند. با انجام این کار، BOF عدالت را برای هر جفت تراکنش تضمین میکند و سابقه تراکنش نهایی را برای همه سازگار نگه میدارد. هر تراکنش نه دیرتر از تراکنشی که قبل از آن قرار میگیرد، پردازش میشود.
این ستاپ کوچک اما مهم به پروتکل اجازه میدهد تا شرایطی را که ترتیبدهی تراکنشها با هم در تعارض هستند، با گروهبندی آن تراکنشهای متضاد در یک بلاک یا دسته یکسان، مدیریت کند. نکته مهم این است که این امر منجر به یک ترتیب جزئی نمیشود، زیرا هر نود همچنان باید بر روی یک توالی خطی واحد از تراکنشها توافق کند. تراکنشهای داخل هر بلاک همچنان برای اجرا در یک ترتیب ثابت چیده شدهاند. در مواردی که چنین تضادهایی رخ ندهد، پروتکل همچنان به ویژگی قویتر ROF دست مییابد.
در حالی که آئکوتاس با موفقیت به BOF دست یافت، با محدودیتهای قابل توجهی، به ویژه اینکه پیچیدگی ارتباطی بسیار بالایی داشت و تنها میتوانست حیات ضعیف (Weak Liveness) را تضمین کند، روبرو بود. حیات ضعیف به این معناست که تحویل یک تراکنش تنها پس از تکمیل کل دور کندورسه که بخشی از آن است، تضمین میشود. اگر دورها به هم «زنجیره شوند»، این امر میتواند به طور نامحدودی طول بکشد.
پروتکل تِمیس (Themis) برای اعمال همان ویژگی قوی BOF، اما با پیچیدگی ارتباطی بهبودیافته، معرفی شد. تمیس این هدف را با استفاده از سه تکنیک به دست میآورد:
- بازکردن دستهها (Batch Unspooling)،
- ترتیبدهی معوق (Deferred Ordering)
- و تضمینهای قویتر درون-دستهای (Stronger Intra-Batch Guarantees).
در شکل استاندارد خود، تمیس از هر شرکتکننده میخواهد که پیامها را با اکثر نودهای دیگر در شبکه مبادله کند. حجم ارتباطات مورد نیاز با توان دوم تعداد شرکتکنندگان شبکه افزایش مییابد. با این حال، در نسخه بهینهسازیشده خود، SNARK-Themis، نودها از اثباتهای رمزنگاری ساکسینکت (Succinct Cryptographic Proofs) برای تأیید عدالت، بدون اینکه نیازی به ارتباط مستقیم با هر شرکتکننده دیگری داشته باشند، استفاده میکنند. این امر بار ارتباطی را کاهش میدهد به طوری که تنها به صورت خطی رشد میکند که به تمیس اجازه میدهد حتی در شبکههای بزرگ به طور کارآمد مقیاسپذیر باشد.
فرض کنید پنج نود (A تا E) در اجماع شرکت میکنند و سه تراکنش tx_1، tx_2 و tx_3 را دریافت میکنند. به دلیل تأخیر شبکه، ترتیبهای محلی آنها متفاوت است:
مانند آئکوتاس، این ترجیحات یک دور کندورسه ایجاد میکنند. اما به جای انتظار برای حل کل دور، تمیس با استفاده از روشی به نام بازکردن دستهها (Batch Unspooling) سیستم را در حال حرکت نگه میدارد. این پروتکل تمام تراکنشهایی را که بخشی از دور هستند شناسایی کرده و آنها را در یک مجموعه به نام مولفه قوی متصل (Strongly Connected Component – SCC) گروهبندی میکند. در این حالت، هر سه تراکنش به یک SCC تعلق دارند که تمیس آن را به عنوان یک دسته در حال انجام، با برچسب B_1 = \{tx_1, tx_2, tx_3\}، خروجی میدهد.
با انجام این کار، تمیس به شبکه اجازه میدهد که حتی در حالی که ترتیب داخلی دسته B_1 در حال نهایی شدن است، پردازش تراکنشهای جدید را ادامه دهد. این امر تضمین میکند که سیستم زنده میماند و از قفل شدن (Stalling) جلوگیری میکند.
مرور کلی: تکامل عدالت
مفهوم عدالت کامل در ترتیبدهی تراکنشها ممکن است ساده به نظر برسد. تراکنش هر کسی که زودتر به شبکه برسد، باید زودتر پردازش شود. با این حال، همانطور که تناقض کندورسه نشان میدهد، این ایده در سیستمهای توزیعشده واقعی نمیتواند برقرار باشد. نودهای مختلف تراکنشها را در ترتیبهای متفاوتی مشاهده میکنند و هنگامی که این دیدگاهها با هم در تعارض قرار میگیرند، هیچ پروتکلی نمیتواند یک توالی واحد و کاملاً صحیح را بدون مصالحه ایجاد کند.
هِدِرا هَشگراف تلاش کرد تا این ایده را با زمانبندیهای میانه تقریب بزند، اما آن رویکرد بیشتر به اعتماد متکی است تا به اثبات. یک شرکتکننده ناسالم واحد میتواند میانه را منحرف کرده و ترتیب تراکنش را برعکس کند و آشکار سازد که زمانبندی عادلانه در واقع منصفانه نیست.
پروتکلهایی مانند آئکوتاس و تمیس با اذعان به آنچه قابل دستیابی است و آنچه نیست، بحث را به جلو میبرند. آنها به جای دنبال کردن امر غیرممکن، عدالت را به گونهای بازتعریف میکنند که همچنان انسجام ترتیب را تحت شرایط واقعی شبکه حفظ میکند. آنچه پدید میآید، رد عدالت نیست، بلکه تکامل آن است. این تکامل یک خط واضح بین عدالت درکشده و عدالت قابل اثبات ترسیم میکند. این نشان میدهد که انسجام واقعی ترتیب تراکنش در سیستمهای غیرمتمرکز نمیتواند به شهرت، اعتماد اعتبارسنج یا کنترل مجاز متکی باشد. این انسجام باید از تأیید رمزنگاریشدهای ناشی شود که در خود پروتکل تعبیه شده است.















