توضیحنامهی ۰۶
پشتهی هویتی حاکمیتی روی راریمو L2 (M6)
این توضیحنامه به دو پرسش که شبیه بهنظر میرسند اما بسیار متفاوتاند پاسخ میدهد:
- «آیا بلاکچین خودتان را اجرا میکنید؟» — نه.
- «آیا قراردادهای هویت خودتان را اجرا میکنید؟» — بله، این همان چیزی است که M6 دربارهاش است.
بیشتر افراد در این حوزه این دو را با هم خلط میکنند. این متن آنها را با دقت جدا میکند، چون نکتهی راهبردی M6 دقیقن همان فاصلهی بین آنهاست.
«زنجیره» در مقابل «قراردادها» — تمایزی که M6 را قدرت میدهد
یک بلاکچین دو بخش دارد:
- خود زنجیره. دفترچهی مشترک، بهعلاوهی اعتباردهندههایی که صفحات تازه به آن اضافه میکنند، بهعلاوهی پروتکل اجماعی که دنبال میکنند. راریمو L2 زنجیرهای است که ما بهره میبریم (شناسهی زنجیره ۷۳۶۸، توکن gas RMO، لنگرشده به اتریوم). بلاکچین و راریمو L2 را ببینید.
- قراردادهای هوشمند مستقرشده روی آن. اینها برنامههایی در نشانیهای مشخصاند. زنجیره اهمیتی نمیدهد چه کسی آنها را مستقر کرده؛ فقط اجرایشان میکند.
امروز، جمهور هم از زنجیرهی راریمو و هم از قراردادهای هویت مستقرشدهی راریمو بهره میبرد. پس از M6، جمهور همچنان از زنجیرهی راریمو بهره میبرد — اما قراردادها از آن خودش است.
قراردادهای راریمو در حال حاضر چه میکنند
راریمو روی شبکهی اصلی راریمو L2 یک پشتهی هویت کامل مستقر کرده است:
| قرارداد | چه نگه میدارد | امروز |
|---|---|---|
Registration2 | نقطهی ورود برای ثبتنامهای جدید هویت | راریمو |
StateKeeper | نگهداشتن ریشهی ICAO + مجوزهای ادمین | راریمو |
RegistrationSMT | درخت Merkle پراکنده از تعهدات هویت | راریمو |
CertificatesSMT | درخت Merkle پراکنده از هشهای گواهی DS | راریمو |
| Dispatcherها (~ ۲۵) | رمزگشاهای گواهی به ازای هر الگوریتم (RSA-2048، و غیره) | راریمو |
| قراردادهای راستیآزمای ZK | یکی به ازای هر مدار، از Registration2 فراخوانی میشود | راریمو |
هر یک از اینها از سوی راریمو اداره میشود. آنها تصمیم میگیرند:
- کدام CSCAها به ریشهی ICAO میروند.
- چه زمانی ریشهی ICAO بهروزرسانی میشود.
- کدام الگوریتمهای امضا dispatcher میگیرند.
- چه کسی میتواند توابع ادمین را روی SMTها فراخوانی کند.
- چه زمان و چگونه قراردادها ارتقا مییابند.
برای مرحلهی آزمایشی ما این مناسب است. برای یک سامانهی مدنی حاکمیتی ایرانی، نیست.
چرا قراردادهای راریمو برای بلندمدت ما کار نمیکنند
سه دلیل مشخص، بهترتیب افزایش جدیت:
۱. نمیتوانیم ریشهی 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 - اعتباردهندههای راریمو
- لنگرشده به اتریوم
- همان باقی میماند.
قراردادهای راریمو
Registration2StateKeeperRegistrationSMTCertificatesSMT- Dispatcherها
- راستیآزماها
- ادارهشده از سوی راریمو
قراردادهای جمهور
مهاجرت M6Registration2StateKeeperRegistrationSMTCertificatesSMT- Dispatcherها
- راستیآزماها
- ادارهشده از سوی مالتیسیگ جمهور
همان زنجیره. همان توکن gas. همان خانوادهی مدار ZK (passport-zk-circuits، متنباز، از راریمو). همان کاوشگر بلاک (scan.rarimo.com). نشانیهای قرارداد جدید، کلیدهای ادمین جدید، ریشهی ICAO جدید.
M6 بهطور مشخص چه میکند
- نسخههای خودمان از
Registration2،StateKeeper،RegistrationSMT،CertificatesSMT، و کل مجموعهی dispatcher گذرنامهی ایرانی را روی شبکهی اصلی راریمو L2 (شناسهی زنجیره ۷۳۶۸) مستقر میکنیم. - StateKeeper خود را با ریشهی ICAO محاسبهشده از
master_000316.pem(نسخهی ۳۱۶ از فهرست اصلی ICAO PKD، ۸۵۷ CSCA) seed میکنیم — همان بستهی بالادستی که کیفپول مرجع راریمو هم عرضه میکند، اما این بار زیر کلیدهای ادمین ما، تا چرخشها در اختیار خودمان باشد. - Dispatcherهای مفقود را مستقر میکنیم، شامل
C_RSA_3072_33259برای نسخهی B، که روی همان چارچوب dispatcher ساخته شده اما با باگkeyByteLengthرفعشده. - زیرساختمان را بازنشانی میکنیم:
- پیکربندیهای رله (
platform/configs/registration-relayer.yaml،proof-verification-relayer.yaml)، - کیف پول
.env.production، zkp.registration_smt_addressدرsso-svc،- قراردادهای رایگیری (
NoirIDVoting،ProposalsState) — از قبل از آنِ ماست.
- پیکربندیهای رله (
- UX ثبتنام مجدد: کاربران موجود که در برابر
Registration2راریمو ثبتنام کردهاند درRegistrationSMTما نیستند. باید سند خود را یکبار دوباره اسکن کنند. این را پشت صفحهی دوستانهی «ما لایهی هویتی را ارتقا دادهایم — لطفن دوباره ثبتنام کنید» پنهان میکنیم. - پیشرفت حاکمیت:
- فاز A: یک ادمین EOA منفرد در زمان استقرار آزمایشی.
- فاز B: مهاجرت به یک مالتیسیگ Gnosis Safe روی راریمو L2 (≥ ۳ امضاکننده، ۲ از ۳ برای عملیات روزمره، ۳ از ۳ برای ریشهی ICAO و ارتقای قرارداد) پیش از اینکه هر طرف متکی غیرآزمایشی زنده شود.
- فاز C (بلندمدت): بررسی حاکمیت روی زنجیره از راه DeXe یا مشابه آن.
M6 چه چیزی را انجام نمیدهد
این فهرست مهم است چون زبان پیرامون «حاکمیت» معمولن اضافی ادعا میکند.
- راریمو L2 را ترک نمیکند. شناسهی زنجیره ۷۳۶۸ میماند. توکن gas RMO میماند. اعتباردهندهها از آنِ راریمو میمانند. اگر شبکهی اعتباردهندهی راریمو متوقف شود، ما هم با آنها متوقف میشویم. حاکمیت مجموعهی اعتباردهنده یک workstream جداگانهی بسیار بزرگتر است (رولآپ L2 خودمان، یا مهاجرت به یک زنجیرهی میزبان متفاوت).
- مدارهای ZK را جایگزین نمیکند. همچنان از
passport-zk-circuits(مخزن متنباز راریمو) و همان پشتهی اثبات Noir / Circom بهره میبریم. - قابلیت همکاری با ICAO PKD را نمیشکند. اعتماد ما همچنان به CSCAهای منتشرشدهی ICAO تهنشین میشود. فقط اسنپشات را خودمان منتخب میکنیم.
- رمزنگاری بهتری به ما نمیدهد. مدارها و ریاضی راستیآزمایی یکسان است. M6 چه کسی ریشهی اعتماد را ادمین میکند را تغییر میدهد، نه اعتماد چگونه محاسبه میشود.
- محدودیت اعتماد صادرکننده را که در زنجیرهی اعتماد گذرنامه نامبرده شده حل نمیکند. یک CSCA بهخطر افتاده همچنان امضاهایی تولید میکند که سیستم ما بهعنوان معتبر میپذیرد. M6 به ما اجازه میدهد سریعتر پاسخ دهیم (میتوانیم یک CSCA بهخطرافتاده را بدون درخواست از راریمو از درختمان حذف کنیم)، اما از حمله جلوگیری نمیکند.
داستان مهاجرت — واقعیتهای عملیاتی
اردیبهشت ۱۴۰۵ را برای انجام این کار انتخاب کردیم چون هزینهی مهاجرت بهطور یکنواخت با شمار کاربر افزایش مییابد. بهطور مشخص:
| مرحله | کاربران ثبتنامشده (تقریبی) | اصطکاک مهاجرت |
|---|---|---|
| امروز (پیش از M6) | صدها کاربر آزمایشی | ناچیز — یکبار دوباره اسکن |
| پس از M6، پیش از راهاندازی عمومی | چند هزار | متوسط — بنر UX + ثبتنام مجدد |
| اگر تا ۱۰۰ هزار+ کاربر به تأخیر بیندازیم | دهها هزار | گران — خطر افت کاربر |
| اگر تا راهاندازی عمومی به تأخیر بیندازیم | همهی کاربران | فاجعهبار — از دست رفتن اعتبار |
M6 پیش از راهاندازی عمومی رخ میدهد چون هر ماه پس از راهاندازی عمومی این را بهطور قطع بدتر میکند.
دربارهی قابلیت همکاری با FreedomTool
عمدن این را از دست میدهیم. امروز، یک هویتی که از راه جریان FreedomTool راریمو ثبتنام شده میتواند به پیشنهادهای ما رای دهد چون Registration2 را بهاشتراک میگذاریم. پس از M6، آن پل یکطرفه بسته میشود.
دلایلی که میپذیریم:
- کاربران FreedomTool کاربران ما نیستند. هرگز از onboarding جمهور عبور نکردهاند، هرگز با شرایط ما موافقت نکردهاند، هرگز کیف پول را باز نکردهاند.
- ریشهی اعتماد آنها درخت ICAO منتخب راریموست. نمیتوانیم بازرسی کنیم کدام CSCAها را پذیرفتهاند.
- یک نگرانی حریم خصوصی است. اشتراک هویت بینسکویی بدون رضایت کاربر دقیقن همان چیزی است که «ورود با جمهور» برای اجتناب از آن وجود دارد.
قابلیت همکاری آینده، اگر بخواهیم، از راه اثباتهای ثبتنام متقاطع صریح خواهد بود، نه با اشتراک یک قرارداد.
حاکمیت — بخشی که اکثر افراد از آن رد میشوند
یک مالتیسیگ فقط بهاندازهی افرادی که کلیدها را نگه میدارند امن است. برنامهی ما برای مجموعهی کلید:
| نقش | چه کسی | چرا |
|---|---|---|
| امضاکنندهی بنیانگذار | بنیانگذاران جمهور | تداوم عملیاتی |
| امضاکنندهی فنی | مهندس ارشد | عملیات روزانه، بهروزرسانی dispatcher |
| امضاکنندهی مستقل | NGO فناوری مدنی یا حسابرس | محدودکردن کنترل یکجانبهی بنیانگذار |
| امضاکنندهی چهارم اختیاری | مشاور حقوقی دیاسپورای ایرانی | افزودن جدایی حوزهی قضایی |
طرح آستانه:
- ۲ از ۳ (یا ۲ از ۴) برای عملیات روزمره: شارژ کیف پول رله، افزودن dispatcher، ارتقاهای غیرشکستنی.
- ۳ از ۳ (یا ۳ از ۴) برای: تغییر ریشهی ICAO، ارتقای قرارداد، چرخش کلید ادمین.
تعهد میدهیم نشانی مالتیسیگ و مجموعهی امضاکنندگان را پیش از راهاندازی عمومی منتشر کنیم. شفافیت دربارهی حاکمیت بخشی از اعتباری است که قول میدهیم.
چرا این میزان درست از حاکمیت است
میتوانستیم جلوتر برویم:
- مجموعهی اعتباردهندهی خود را اجرا کنیم (یک رولآپ L2 جداگانه، zone کازموس، و غیره).
- به یک L1 متفاوت لنگر بزنیم (مستقیماً اتریوم، پلیگان، بیس، آربیتروم).
- سیستم اثبات خود را از ابتدا بسازیم.
اینها را انجام نمیدهیم چون سود حاکمیتی حاشیهای کوچک و هزینهی عملیاتی عظیم است. تهدیدهای معتبری که با آن روبهرو هستیم — اطلاعرسانی جعلی هماهنگ، تسخیر در سطح دولت، سانسور — با مالکیت مجموعهی اعتباردهنده حل نمیشوند. حل میشوند با:
- مالکیت ریشهی اعتماد ما (M6)،
- مالکیت کلیدهای ادمین ما (مالتیسیگ)،
- مالکیت دروازهی محتوای ما (انطباق هنجاری — دو دروازه: هویت و گفتار را ببینید)،
- شفافبودن دربارهی آنچه مالک نیستیم و آنچه نمیتوانیم حل کنیم (زنجیرهی اعتماد گذرنامه).
M6 نقطهی درست روی آن منحنی است.
واژهنامه
| اصطلاح | معنا |
|---|---|
| راریمو L2 | L2 لنگرشده به اتریوم که روی آن اجرا میکنیم. شناسهی زنجیره ۷۳۶۸. |
| Registration2 | قرارداد هوشمند نقطهی ورود برای ثبتنامهای جدید هویت. |
| StateKeeper | قرارداد هوشمند نگهدارندهی ریشهی ICAO و مجوزهای ادمین. |
| RegistrationSMT | درخت Merkle پراکندهی روی زنجیره از تعهدات هویت. |
| CertificatesSMT | درخت Merkle پراکندهی روی زنجیره از هشهای گواهی DS. |
| Dispatcher | قرارداد به ازای هر الگوریتم که نوعهای گواهی خاص (مثل C_RSA_2048) را رمزگشایی میکند. |
| ریشهی ICAO | ریشهی Merkle روی CSCAهای اسنپشاتشدهای که میپذیریم. |
| EOA | حساب با مالکیت خارجی — یک کیف پول تککلیدی (بهعنوان مدل ادمین ما منسوخ). |
| Gnosis Safe | قرارداد کیف پول مالتیسیگ استاندارد روی زنجیرههای EVM. |
| حاکمیت مجموعهی اعتباردهنده | مالکیت لایهی اجماع، نه فقط قراردادها. این کار را انجام نمیدهیم. |
بعدی
دو دروازه: هویت و گفتار — گلوگاه دوم: انطباق هنجاری در برابر ۱۱ کنوانسیون حقوق بشر سازمان ملل، و چرا اثباتهای هویت بهتنهایی تسخیر سکو را متوقف نمیکنند.