توضیح‌نامه‌ی ۰۶

پشته‌ی هویتی حاکمیتی روی راریمو L2 (M6)

این توضیح‌نامه به دو پرسش که شبیه به‌نظر می‌رسند اما بسیار متفاوت‌اند پاسخ می‌دهد:

  1. «آیا بلاک‌چین خودتان را اجرا می‌کنید؟»نه.
  2. «آیا قراردادهای هویت خودتان را اجرا می‌کنید؟»بله، این همان چیزی است که M6 درباره‌اش است.

بیش‌تر افراد در این حوزه این دو را با هم خلط می‌کنند. این متن آن‌ها را با دقت جدا می‌کند، چون نکته‌ی راهبردی M6 دقیقن همان فاصله‌ی بین آن‌هاست.

«زنجیره» در مقابل «قراردادها» — تمایزی که M6 را قدرت می‌دهد

یک بلاک‌چین دو بخش دارد:

امروز، جمهور هم از زنجیره‌ی راریمو و هم از قراردادهای هویت مستقرشده‌ی راریمو بهره می‌برد. پس از M6، جمهور همچنان از زنجیره‌ی راریمو بهره می‌برد — اما قراردادها از آن خودش است.

قراردادهای راریمو در حال حاضر چه می‌کنند

راریمو روی شبکه‌ی اصلی راریمو L2 یک پشته‌ی هویت کامل مستقر کرده است:

قراردادچه نگه می‌داردامروز
Registration2نقطه‌ی ورود برای ثبت‌نام‌های جدید هویتراریمو
StateKeeperنگه‌داشتن ریشه‌ی ICAO + مجوزهای ادمینراریمو
RegistrationSMTدرخت Merkle پراکنده از تعهدات هویتراریمو
CertificatesSMTدرخت Merkle پراکنده از هش‌های گواهی DSراریمو
Dispatcherها (~ ۲۵)رمزگشاهای گواهی به ازای هر الگوریتم (RSA-2048، و غیره)راریمو
قراردادهای راستی‌آزمای ZKیکی به ازای هر مدار، از Registration2 فراخوانی می‌شودراریمو

هر یک از این‌ها از سوی راریمو اداره می‌شود. آن‌ها تصمیم می‌گیرند:

برای مرحله‌ی آزمایشی ما این مناسب است. برای یک سامانه‌ی مدنی حاکمیتی ایرانی، نیست.

چرا قراردادهای راریمو برای بلندمدت ما کار نمی‌کنند

سه دلیل مشخص، به‌ترتیب افزایش جدیت:

۱. نمی‌توانیم ریشه‌ی ICAO که آن‌ها روی زنجیره ثبت کرده‌اند را تغییر دهیم

ریشه‌ی Merkle ICAO که StateKeeper راریمو در برابر آن وارسی می‌کند، با کلیدهای ادمین راریمو تعیین می‌شود. خود بسته‌ی CSCA (master_000316.pem، نسخه‌ی ۳۱۶ از فهرست اصلی ICAO PKD، حدود ۸۵۷ گواهی) همان اسنپ‌شات بالادستی ICAO است که کیف‌پول مرجع راریمو هم آن را عرضه می‌کند — ما آن را از مخزن کد راریمو به ارث برده‌ایم. چیزی که نمی‌توانیم تغییر دهیم این است: کدام ریشه روی زنجیره ثبت می‌شود، کِی چرخانده می‌شود، و کدام CSCAها اضافه یا باطل می‌شوند. این تصمیم در دستِ هر کسی است که کلیدهای ادمین راریمو را در اختیار دارد.

۲. نسخه‌ی B گذرنامه‌ی ایرانی مسدود است

ایران گذرنامه‌ها را تحت دست‌کم سه نسخه‌ی امضا صادر می‌کند. نسخه‌ی B (RSA-3072، SHA-1، نمای ۳۳۲۵۹) نیاز به یک dispatcher (C_RSA_3072_33259) دارد که روی شبکه‌ی اصلی راریمو وجود ندارد، و dispatcher موجود ۳۰۷۲ بیتی راریمو یک باگ keyByteLength=512 دارد که استخراج کلید را می‌شکند. تا زمانی که راریمو آن را — طبق زمان‌بندی راریمو — رفع کند، آن گذرنامه‌ها نمی‌توانند ثبت‌نام کنند. این کسر معناداری از اسناد سفر قدیمی‌تر ایرانی است.

۳. ریشه‌ی اعتماد سیستم رای‌گیری ما از سوی کس دیگری اداره می‌شود

این مورد ساختاری است. هر رایی که در جمهور رخ می‌دهد از سوی یک ثبت‌نام هویت دروازه‌گذاری می‌شود که از سوی Registration2 پذیرفته شده. این‌که چه کسی اجازه‌ی ثبت‌نام دارد، و در برابر کدام CSCAها، از سوی هر کسی که آن قرارداد را ادمین می‌کند تعیین می‌شود. در حال حاضر، آن ما نیستیم. برای سامانه‌ای که مأموریتش زیرساخت مدنی حاکمیتی برای ایران است، این توپولوژی اشتباه است.

M6 چه چیزی را تغییر می‌دهد

راریمو L2 (زنجیره)

  • شناسه‌ی زنجیره ۷۳۶۸
  • توکن gas RMO
  • اعتباردهنده‌های راریمو
  • لنگرشده به اتریوم
  • همان باقی می‌ماند.

قراردادهای راریمو

  • Registration2
  • StateKeeper
  • RegistrationSMT
  • CertificatesSMT
  • Dispatcherها
  • راستی‌آزماها
  • اداره‌شده از سوی راریمو

قراردادهای جمهور

مهاجرت M6
  • Registration2
  • StateKeeper
  • RegistrationSMT
  • CertificatesSMT
  • Dispatcherها
  • راستی‌آزماها
  • اداره‌شده از سوی مالتی‌سیگ جمهور

همان زنجیره. همان توکن gas. همان خانواده‌ی مدار ZK (passport-zk-circuits، متن‌باز، از راریمو). همان کاوش‌گر بلاک (scan.rarimo.com). نشانی‌های قرارداد جدید، کلیدهای ادمین جدید، ریشه‌ی ICAO جدید.

M6 به‌طور مشخص چه می‌کند

  1. نسخه‌های خودمان از Registration2، StateKeeper، RegistrationSMT، CertificatesSMT، و کل مجموعه‌ی dispatcher گذرنامه‌ی ایرانی را روی شبکه‌ی اصلی راریمو L2 (شناسه‌ی زنجیره ۷۳۶۸) مستقر می‌کنیم.
  2. StateKeeper خود را با ریشه‌ی ICAO محاسبه‌شده از master_000316.pem (نسخه‌ی ۳۱۶ از فهرست اصلی ICAO PKD، ۸۵۷ CSCA) seed می‌کنیم — همان بسته‌ی بالادستی که کیف‌پول مرجع راریمو هم عرضه می‌کند، اما این بار زیر کلیدهای ادمین ما، تا چرخش‌ها در اختیار خودمان باشد.
  3. Dispatcherهای مفقود را مستقر می‌کنیم، شامل C_RSA_3072_33259 برای نسخه‌ی B، که روی همان چارچوب dispatcher ساخته شده اما با باگ keyByteLength رفع‌شده.
  4. زیرساخت‌مان را بازنشانی می‌کنیم:
    • پیکربندی‌های رله (platform/configs/registration-relayer.yaml، proof-verification-relayer.yaml
    • کیف پول .env.production،
    • zkp.registration_smt_address در sso-svc،
    • قراردادهای رای‌گیری (NoirIDVoting، ProposalsState) — از قبل از آنِ ماست.
  5. UX ثبت‌نام مجدد: کاربران موجود که در برابر Registration2 راریمو ثبت‌نام کرده‌اند در RegistrationSMT ما نیستند. باید سند خود را یک‌بار دوباره اسکن کنند. این را پشت صفحه‌ی دوستانه‌ی «ما لایه‌ی هویتی را ارتقا داده‌ایم — لطفن دوباره ثبت‌نام کنید» پنهان می‌کنیم.
  6. پیش‌رفت حاکمیت:
    • فاز A: یک ادمین EOA منفرد در زمان استقرار آزمایشی.
    • فاز B: مهاجرت به یک مالتی‌سیگ Gnosis Safe روی راریمو L2 (≥ ۳ امضاکننده، ۲ از ۳ برای عملیات روزمره، ۳ از ۳ برای ریشه‌ی ICAO و ارتقای قرارداد) پیش از این‌که هر طرف متکی غیرآزمایشی زنده شود.
    • فاز C (بلندمدت): بررسی حاکمیت روی زنجیره از راه DeXe یا مشابه آن.

M6 چه چیزی را انجام نمی‌دهد

این فهرست مهم است چون زبان پیرامون «حاکمیت» معمولن اضافی ادعا می‌کند.

داستان مهاجرت — واقعیت‌های عملیاتی

اردیبهشت ۱۴۰۵ را برای انجام این کار انتخاب کردیم چون هزینه‌ی مهاجرت به‌طور یکنواخت با شمار کاربر افزایش می‌یابد. به‌طور مشخص:

مرحلهکاربران ثبت‌نام‌شده (تقریبی)اصطکاک مهاجرت
امروز (پیش از M6)صدها کاربر آزمایشیناچیز — یک‌بار دوباره اسکن
پس از M6، پیش از راه‌اندازی عمومیچند هزارمتوسط — بنر UX + ثبت‌نام مجدد
اگر تا ۱۰۰ هزار+ کاربر به تأخیر بیندازیمده‌ها هزارگران — خطر افت کاربر
اگر تا راه‌اندازی عمومی به تأخیر بیندازیمهمه‌ی کاربرانفاجعه‌بار — از دست رفتن اعتبار

M6 پیش از راه‌اندازی عمومی رخ می‌دهد چون هر ماه پس از راه‌اندازی عمومی این را به‌طور قطع بدتر می‌کند.

درباره‌ی قابلیت همکاری با FreedomTool

عمدن این را از دست می‌دهیم. امروز، یک هویتی که از راه جریان FreedomTool راریمو ثبت‌نام شده می‌تواند به پیشنهادهای ما رای دهد چون Registration2 را به‌اشتراک می‌گذاریم. پس از M6، آن پل یک‌طرفه بسته می‌شود.

دلایلی که می‌پذیریم:

  1. کاربران FreedomTool کاربران ما نیستند. هرگز از onboarding جمهور عبور نکرده‌اند، هرگز با شرایط ما موافقت نکرده‌اند، هرگز کیف پول را باز نکرده‌اند.
  2. ریشه‌ی اعتماد آن‌ها درخت ICAO منتخب راریموست. نمی‌توانیم بازرسی کنیم کدام CSCAها را پذیرفته‌اند.
  3. یک نگرانی حریم خصوصی است. اشتراک هویت بین‌سکویی بدون رضایت کاربر دقیقن همان چیزی است که «ورود با جمهور» برای اجتناب از آن وجود دارد.

قابلیت همکاری آینده، اگر بخواهیم، از راه اثبات‌های ثبت‌نام متقاطع صریح خواهد بود، نه با اشتراک یک قرارداد.

حاکمیت — بخشی که اکثر افراد از آن رد می‌شوند

یک مالتی‌سیگ فقط به‌اندازه‌ی افرادی که کلیدها را نگه می‌دارند امن است. برنامه‌ی ما برای مجموعه‌ی کلید:

نقشچه کسیچرا
امضاکننده‌ی بنیان‌گذاربنیان‌گذاران جمهورتداوم عملیاتی
امضاکننده‌ی فنیمهندس ارشدعملیات روزانه، به‌روزرسانی dispatcher
امضاکننده‌ی مستقلNGO فناوری مدنی یا حسابرسمحدودکردن کنترل یک‌جانبه‌ی بنیان‌گذار
امضاکننده‌ی چهارم اختیاریمشاور حقوقی دیاسپورای ایرانیافزودن جدایی حوزه‌ی قضایی

طرح آستانه:

تعهد می‌دهیم نشانی مالتی‌سیگ و مجموعه‌ی امضاکنندگان را پیش از راه‌اندازی عمومی منتشر کنیم. شفافیت درباره‌ی حاکمیت بخشی از اعتباری است که قول می‌دهیم.

چرا این میزان درست از حاکمیت است

می‌توانستیم جلوتر برویم:

این‌ها را انجام نمی‌دهیم چون سود حاکمیتی حاشیه‌ای کوچک و هزینه‌ی عملیاتی عظیم است. تهدیدهای معتبری که با آن روبه‌رو هستیم — اطلاع‌رسانی جعلی هماهنگ، تسخیر در سطح دولت، سانسور — با مالکیت مجموعه‌ی اعتباردهنده حل نمی‌شوند. حل می‌شوند با:

M6 نقطه‌ی درست روی آن منحنی است.

واژه‌نامه

اصطلاحمعنا
راریمو L2L2 لنگرشده به اتریوم که روی آن اجرا می‌کنیم. شناسه‌ی زنجیره ۷۳۶۸.
Registration2قرارداد هوشمند نقطه‌ی ورود برای ثبت‌نام‌های جدید هویت.
StateKeeperقرارداد هوشمند نگه‌دارنده‌ی ریشه‌ی ICAO و مجوزهای ادمین.
RegistrationSMTدرخت Merkle پراکنده‌ی روی زنجیره از تعهدات هویت.
CertificatesSMTدرخت Merkle پراکنده‌ی روی زنجیره از هش‌های گواهی DS.
Dispatcherقرارداد به ازای هر الگوریتم که نوع‌های گواهی خاص (مثل C_RSA_2048) را رمزگشایی می‌کند.
ریشه‌ی ICAOریشه‌ی Merkle روی CSCAهای اسنپ‌شات‌شده‌ای که می‌پذیریم.
EOAحساب با مالکیت خارجی — یک کیف پول تک‌کلیدی (به‌عنوان مدل ادمین ما منسوخ).
Gnosis Safeقرارداد کیف پول مالتی‌سیگ استاندارد روی زنجیره‌های EVM.
حاکمیت مجموعه‌ی اعتباردهندهمالکیت لایه‌ی اجماع، نه فقط قراردادها. این کار را انجام نمی‌دهیم.

بعدی

دو دروازه: هویت و گفتار — گلوگاه دوم: انطباق هنجاری در برابر ۱۱ کنوانسیون حقوق بشر سازمان ملل، و چرا اثبات‌های هویت به‌تنهایی تسخیر سکو را متوقف نمی‌کنند.