# یادداشت پژوهش شبکه و نسخه‌های Planck

این یادداشت از خواندن سورس و اسناد موجود تهیه شده است. هیچ سرویس، نصب، فرمان استقرار، اتصال به سرورهای پلانک، رأی QBFT یا تراکنشی اجرا نشد. فایل‌های محیط واقعی، دیتابیس runtime، کلیدها و اطلاعات ورود برای این پژوهش خوانده نشدند. در شاخه‌های بررسی‌شده و مسیرهای والد آن‌ها فایل AGENTS.md یافت نشد.

خروجی قابل انتشار در `lib/docs/network.ts` قرار دارد: ۱۴ مقاله با ۷۳ بخش. متن عمومی هیچ نشانی عملیاتی، IP، enode، آدرس واقعی اعتبارسنج، کلید یا مسیر مطلق ماشین پژوهش ندارد. ۵۸ مسیر منبع آن با فایل موجود تطبیق داده شد. مسیرها از نام محصول شروع می‌شوند.

## تعریف وضعیت شواهد

- **سورس موجود:** قابلیت در کد مشاهده شده؛ دلالتی بر پیکربندی و استقرار تولیدی ندارد.
- **گزارش نسخه:** گزارشی موجود از آزمون یا ساخت یک نسخه؛ آزمون‌های شبکه در این پژوهش دوباره اجرا نشده‌اند.
- **خروجی بسته:** فایل ساخته‌شده مشاهده شده؛ با نصب و پذیرش عملیاتی یا امضای معتبر ناشر برابر نیست.
- **نیازمند پذیرش:** اتصال زنده، امضا، استقرار یا بازیابی که گزارش همان پروژه صریحاً باز اعلام می‌کند.

## نقشه محصولات و تبار نسخه‌ها

| محصول | نسخه در package | شواهد و محدودیت |
|---|---|---|
| plank-besu-active | 0.18.6 | مرجع تاریخی Admin Main، سرویس‌های شبکه و خانواده قرارداد |
| admin-main-new | 0.18.7-production.2 | لایه تولید، داده واقعی و canonical verification؛ گزارش پایه استقرار/cutover را انجام‌نشده می‌داند |
| admin-main-linux-newnet | 0.18.7-linux-newnet.1 | شاخه مستقل برای شبکه تازه؛ گزارش ۱۴ سپتامبر ساخت و آزمون ایزوله را تأیید و پذیرش Linux واقعی را باز می‌گذارد |
| Station بسته‌های macOS/Windows/Linux | 1.0.0 | سورس و launcher مختص سیستم‌عامل؛ نبود شاهد نصب‌کننده عمومی امضاشده برای Windows |
| plank-station-new | 1.2.0-production.1 | عامل سازمانی، عضویت مستقل و اتصال اختیاری منبع؛ گزارش live enrollment را تأیید نمی‌کند |
| plank-station-lib-observer-new | 1.2.0-production.1 | همان خانواده با نمایه عمومی LIB Observer؛ عضویت اولیه NOT_REQUESTED |
| plank-station-mac-remote | 1.3.0 | برنامه بومی خواندنی macOS و درگاه مستقل؛ خروجی Universal و امضای ad-hoc؛ بدون Developer ID/notarization و تأیید E2E تولید |

منابع اصلی: package.json و SOURCE_PROVENANCE.md هر محصول؛ VERIFICATION_NEW_FA.md، VERIFICATION_REMOTE_FA.md و VERIFICATION_LINUX_NEWNET_FA.md.

## Admin Main با مدیر وب یک محصول نیست

Admin Main دارای React/TypeScript/Vite و FastAPI/Python است و شبکه، Validator، RPC، قرارداد و گردش تأیید را اداره می‌کند. مدیر وب مارکت‌پلیس محتوا و اتصال‌های تجاری محصول وب را مدیریت می‌کند. نباید نقش owner وب را به اختیار کنترل شبکه یا کلید اجماع تعمیم داد.

کد backend شامل سرویس‌های شبکه، Docker، استقرار راه‌دور، diagnostics، governance، durable operations، RPC، امنیت، wallet، control plane، oracle و CCIP است. Electron قدیمی در درخت سورس باقی است و به backend ویندوز اشاره دارد، اما اسکریپت‌های package جاری مسیر سروری‌اند؛ حضور این فایل مدرک نصب‌کننده جاری نیست.

محافظ تولید مسیر داده پایدار، loopback، مبدأ HTTPS، Chain ID، Genesis، توکن برنامه و origins صریح را بررسی می‌کند. پروب canonical هویت واقعی RPC را می‌سنجد. در حالت تولید، نقش‌ها و امضاهای سازمانی آزمایشی از گردش کنار گذاشته می‌شوند.

شواهد: `admin-main-new/backend/app/production.py`؛ `backend/app/main.py`؛ `backend/app/services/control_plane_service.py`؛ `electron/main.ts`.

## شبکه و QBFT

مولد پیکربندی از Besu 26.7.1 استفاده می‌کند و Genesis شامل QBFT، epoch برابر ۳۰٬۰۰۰، دوره‌های قابل تنظیم بلاک و درخواست و گزینه zeroBaseFee است. این تنظیمات مولد هستند؛ هویت و تنظیم شبکه بالفعل باید از همان نصب خوانده شوند. هیچ Chain ID، تعداد Validator یا ارتفاع بلاک واقعی به متن عمومی منتقل نشده است.

در کد، تغییر عضویت با `floor(n/2)+1` و حد نصاب commit بلاک با `ceil(2n/3)` محاسبه می‌شود. دو سیاست QBFT_STANDARD و ADMIN_GATED_QBFT وجود دارد. تأیید ادمین در سیاست دوم پیش‌شرط سازمانی است و جای رأی Besu را نمی‌گیرد. مجوز به شبکه، هدف، عملیات، زمان و nonce متصل است و مصرف آن ثبت می‌شود.

وضعیت‌های نصب، RPC، peering، sync، آمادگی تأیید، آمادگی رأی، رأی‌گیری، عضویت و مشارکت مستقل‌اند. latest/pending و هش بلاک مشترک برای تأیید canonical به کار می‌روند. Docker healthy به‌تنهایی PASS سلامت RPC نیست. نبود نخستین بلاک proposer نباید عضویت نهایی را خطای کاذب کند.

ذخیره عملیات پایدار ownerInstance و زمان دارد؛ کار قطع‌شده پس از restart از running کاذب جدا می‌شود. idempotency و قفل شبکه برای تکرار ایمن وجود دارند.

شواهد: `admin-main-new/backend/app/services/network_service.py`؛ `validator_lifecycle_service.py`؛ `validator_governance_service.py`؛ `operation_store.py`؛ `ARCHITECTURE_v0.14.0_FA.md`.

## Station و نقش‌های سازمانی

Station دارای SQLite و عامل Python است. نقش‌ها شامل دولتی، بانکی، مقرراتی، مالی، حقوقی، ثبت، فنی و مشاهده‌گرند. فرم نقش فقط درخواست ایجاد می‌کند. رسید Ed25519 شناسه درخواست/Station/شبکه/سازمان، روش تأیید، نقش‌ها، شماره توالی و زمان را کنترل می‌کند. نقش مصوب باید زیرمجموعه درخواست باشد.

عضویت Station به Node، Validator یا Signer وابسته نیست. بدون binding نود، کنترل‌های فنی نود NOT_APPLICABLE می‌شوند. وظیفه‌ای که امضا می‌خواهد پس از تصمیم به READY_FOR_SIGNATURE می‌رود؛ کد تنظیم و probe امضاکننده، جای اثبات اجرای واقعی امضا/تراکنش نیست.

در تولید Demo و ایجاد software vault رد می‌شوند. HSM، MPC و Web3Signer با اطلاعات مرجع غیرمحرمانه و مسیر trust material پیکربندی می‌شوند. کد مهاجرت و بازیابی software wallet قدیمی نباید به‌عنوان مسیر پیشنهادی تولید معرفی شود.

شواهد: `plank-station-new/agent/app.py`، به‌ویژه production guard، receipt verification، role/resource policies، production/signers، task decisions؛ `SECURITY.md`.

## منابع اختیاری Station

کاتالوگ VALIDATOR_NODE، MINI_NODE، FULL_NODE، RPC_NODE، OBSERVER_NODE، ARCHIVE_NODE، BOOTNODE، STANDBY_VALIDATOR و MONITORING_AGENT وجود دارد. Mini صریحاً light client نامیده نمی‌شود. Bootnode کشف همتاست و خودکار عضو اجماع نیست.

توسعه منبع فعلاً ثبت پیش‌نویس و وضعیت DRAFT_READY / WAITING_ADMIN_PACKAGE / WAITING_NETWORK_GOVERNANCE دارد؛ کاتالوگ قابلیت تضمین نصب کامل خودکار نیست. کشف نود موجود و binding مانع ساخت بی‌مورد موازی می‌شوند. helper کنترل runtime فقط start/stop/restart نود bound و موجود در Inventory را مجاز می‌کند. توقف محلی، خروج از مجموعه QBFT و purge مراحل متفاوت‌اند.

LIB Observer فقط هویت عمومی اولیه دارد، نه مجوز یا رسید فعال. گزارش مرکزی شبکه قرارداد محدود عمومی و freshness دارد. اطلاعات قدیمی UNKNOWN می‌شوند و نبود گزارش سایر ایستگاه‌ها با خراب‌بودن نود محلی یکی نیست.

شواهد: `plank-station-new/agent/app.py`؛ `scripts/node-runtime-control.sh`؛ `scripts/refresh-node-inventory.py`؛ `plank-station-lib-observer-new/LIB_OBSERVER_EDITION_FA.md`.

## macOS Remote

نقطه ورود جدید RemoteApp و پل Swift است؛ کد قدیمی Station تنها مرجع تبار است. ساخت Swift برای macOS 12+، arm64 و x86_64، ترکیب Universal و امضای ad-hoc در اسکریپت موجود است. بسته .app در درخت release مشاهده شد. Python/Node/Besu یا listener محلی در بسته اجرایی لازم نیست.

HTTPS دارای نشست ephemeral بدون cache، رد redirect و کنترل هویت است. SSH forced command بدون تونل محلی، forwarding یا shell اختیاری کار می‌کند و StrictHostKeyChecking دارد. توکن در حافظه یا انتخاباً Keychain محصول ذخیره می‌شود. داده کامل ledger روی دیسک مک ذخیره نمی‌شود.

درگاه فقط snapshot/block و مجموعه خواندنی ثابت RPC دارد؛ شناسه و نقش سمت سرور، expiry و enabled و هش توکن کنترل می‌شوند. ۱ تا ۴ منبع با هویت مصوب و تطبیق هش ارتفاع مشترک مجازند. ثبت Admin Main، شناسایی سرویس و عضویت QBFT سه شاهد جدا هستند.

گزارش ۱۸ آزمون درگاه، build و self-test arm64 را موفق می‌داند؛ پنجره بومی کامل، SSH/Keychain عادی، Intel runtime و E2E تولید تأیید نشده‌اند. Developer ID و notarization انجام نشده است. Gateway روی تولید مستقرشده معرفی نشده است. **در بعضی فایل‌های مرجع این شاخه پیش‌فرض زیرساختی وجود دارد؛ در محتوای عمومی از آن‌ها استفاده نشد.**

شواهد: `plank-station-mac-remote/macos/Station.swift`؛ `server/gateway.py`؛ `scripts/build-mac.mjs`؛ `scripts/package-release.mjs`؛ `VERIFICATION_REMOTE_FA.md`.

## Windows و Linux

Windows 1.0.0 دارای setup.cmd، PowerShell و run.cmd است. setup با Node 20+ و Python و در صورت نیاز winget کار می‌کند و تست/build را فراخوانی می‌کند. اجرای tools/run.mjs سرویس‌های محلی را بالا آورده و مرورگر باز می‌کند. مشاهده متن این اسکریپت‌ها اثبات آزمون موفق روی Windows، Authenticode یا انتشار MSI/EXE نیست.

Station New نصاب Ubuntu 24.04 با service user، venv، systemd، Inventory timer، reverse proxy و helper محدود دارد؛ نصب، شروع خودکار سرویس یا عضویت شبکه نیست.

Linux New Network یک شاخه مستقل با manifest، marker مالکیت و قفل ساخت است. Genesis تنها یک بار آماده می‌شود؛ شروع جداست و خطای start کلیدها را از نو تولید نمی‌کند. RPC و پوشه بیگانه، پیوند نامعتبر و تداخل پورت/کانتینر/شبکه رد می‌شوند. حساب سرویس دسترسی Docker دارد؛ این سطح دسترسی root-equivalent به میزبان است، نه محیط کم‌اختیار عمومی.

نصاب Linux New Network Python 3.11–3.13 و پیش‌نیازهای موجود را می‌خواهد. گزارش ۱۸۲ آزمون در محیط ساخت macOS و EVM حافظه‌ای موفق است؛ نصب Linux واقعی، Docker runtime، sync، SSH deployment، بار، نفوذ و restore باز اعلام شده‌اند.

شواهد: `Plank-Station-Windows-v1.0.0/setup.ps1` و `tools/run.mjs`؛ `plank-station-new/deploy/install-ubuntu-24.04.sh`؛ `admin-main-linux-newnet/backend/app/new_network.py`؛ `deploy/install-linux-newnet.sh`؛ `VERIFICATION_LINUX_NEWNET_FA.md`.

## قراردادها و API

خانواده ۱۲ قرارداد: Token، ProjectGovernance، OrganizationRegistry، ProjectRegistry، ApprovalManager، MintController، ActiveTokenRegistry، OracleReportRegistry، TokenPriceRegistry، PublicizationController و دو CCIP Sender/Receiver. PlankToken دقت ۱۸، سقف و کنترل mint، transfer، burn، pause، allowlist و lock دارد. MintController مجوز تکراری، operator و ظرفیت پروژه را می‌سنجد.

CCIP این کد **data-only** و برای شواهد است؛ Receiver token transfer همراه پیام را پشتیبانی‌شده فرض نمی‌کند. Allowlist شبکه/فرستنده/گیرنده، replay و payload authorization وجود دارند. این سورس مدرک پل عمومی آماده برای انتقال توکن‌های بازار نیست.

APIهای خواندنی Besu، API مدیریتی Admin Main، Agent Station و Remote Gateway نباید یک مرز دسترسی معرفی شوند. نمونه‌های عمومی فقط بدنه خواندنی بدون endpoint یا credential هستند. مسیر امضا و API واقعی نهادها نیازمند نسخه، شرایط و آزمون یکپارچه است.

## امنیت و پشتیبان

Admin Main خزانه داخلی رمز‌شده و نشست امنیتی دارد؛ PBKDF2 و AES-GCM و مهاجرت master key قدیمی در سورس دیده شد. **snapshot امنیتی پس از تأیید رمز عمداً می‌تواند مواد حساس خزانه/Validator را برگرداند**؛ بنابراین ادعای blanket «همه پاسخ‌ها بدون کلید» نادرست است. متن عمومی مرز مدیریتی این مسیر را روشن کرده، بدون انتشار مقدار واقعی.

وجود snapshot خزانه یا نگه‌داشتن فایل‌های آماده‌سازی شبکه، سرویس backup زمان‌بندی‌شده نیست. restore کامل با SLA، RPO/RTO و آزمون disaster recovery تأیید نشده است. توصیه‌های پشتیبان در مقاله عملیات صریحاً «برنامه عملیاتی پیشنهادی» هستند: هویت و Genesis، خزانه و کلیدها، رجیستری‌ها، داده نود و SQLite سازگار همراه WAL؛ نگهداری امن و آزمون restore مستقل.

Updater تاریخی Linux مبتنی بر Git است؛ stash تغییرات سورس، backup دیتابیس و key نیست. کانال به‌روزرسانی امضاشده چندسکویی در شواهد این بررسی تأیید نشد.

## راهنمای ادغام

مقاله‌های آماده: network-overview، main-admin، station، node-lifecycle، validators، network-contracts، macos، windows، linux، observer، network-security، network-api، network-operations، network-history.

فایل `lib/docs/network.ts` فقط از نوع مشترک DocArticle استفاده می‌کند. ۱۴ slug یکتا، ۵ تا ۶ بخش در هر مقاله و ارجاعات relative محصول دارد. بررسی هدفمند lint موفق بود. به منابع عملیاتی یا داده کاربر دسترسی تغییردهنده داده نشد و هیچ فایل اپلیکیشن شبکه ویرایش نشد.
