بحث اتصال Node‌های خانگی Bitcoin و استانداردسازی سیاست‌های co-signer

چرا مهم است

اگر روی اتصال Node‌های Bitcoin یا wallet کار می‌کنی، این بحث‌ها به دسترس‌پذیری و سازگاری ابزارها مربوط‌اند. منبع نشان می‌دهد اتصال ورودی بیشتر، به‌تنهایی تضمین اتصال به همتای درستکار نیست.

قبل از خواندن، این‌ها را بدان۴ مفهوم
Node

سامانه‌ای که در شبکه مشارکت می‌کند و با همتاهای خود داده ردوبدل می‌کند؛ در Bitcoin می‌تواند داده‌های شبکه را دریافت و اعتبارسنجی کند.

بیشتر درباره این مفهوم

Serialization

تبدیل داده ساختاریافته به قالبی مشخص برای ذخیره یا انتقال، به‌گونه‌ای که بتوان آن را دوباره خواند و بازسازی کرد.

بیشتر درباره این مفهوم

TCP hole punching

روشی برای تلاش جهت برقراری اتصال میان دو سامانه پشت NAT،؜ با آغاز هماهنگ اتصال از هر دو طرف.

در حال نگارش

co-signer

طرفی که همراه با طرف‌های دیگر در امضای مجوز خرج‌کرد مشارکت می‌کند و می‌تواند پیش از امضا، شرط‌های مشخصی را بررسی کند.

در حال نگارش

شماره ۴۳۰ Bitcoin Optech دو بحث در حال جریان را مرور می‌کند: دسترس‌پذیر کردن Node‌های خانگی پشت router با TCP hole punching و استانداردسازی سیاست‌هایی که co-signer‌ها هنگام شبیه‌سازی covenant اعمال می‌کنند. هیچ‌کدام از این دو بحث هنوز به تصمیم نهایی نرسیده است.

به گفته 0xB10C،؜ کار روی مشخصات و یک پیاده‌سازی آزمایشی در Bitcoin Core از سر گرفته شده است. Node‌های خانگی معمولاً فقط اتصال خروجی برقرار می‌کنند؛ فعال شدن پیش‌فرض NAT-PMP در Bitcoin Core 30.0 نیز آن‌طور که انتظار می‌رفت تعداد بیشتری را دسترس‌پذیر نکرد. در TCP hole punching،؜ دو Node هم‌زمان به یکدیگر اتصال باز می‌کنند تا router هر طرف، ترافیک طرف مقابل را عبور دهد. این روش قرار است مکملی بدون تضمین موفقیت برای port forwarding باشد.

طرح تازه 0xB10C به هماهنگ‌کننده نیاز ندارد: هر Node نشانی قابل اتصال و یک public key موقت را اعلام می‌کند و دو طرف از shared secret و هر block تازه، فهرست نامزدها و زمان تلاش برای اتصال را به دست می‌آورند. پس از مطرح شدن خطر انبوه‌سازی نشانی‌ها توسط مهاجم و مشکل دریافت اعلان‌ها، او گزینه «تابلوی پیام» را هم پیشنهاد کرد؛ در آن، Node‌های پذیرنده اتصال، نشانی تأییدشده Node‌های خانگی را نگه می‌دارند. Anthony Towns هشدار داد که این روش ممکن است دسترسی مستقیم مهاجم به Node‌های درستکار را آسان‌تر کند، بی‌آنکه اتصال به یک همتای درستکار را تضمین کند. او اتصال‌های کوتاه‌مدت به همتای تصادفی را جایگزینی کم‌خطرتر دانست.

در موضوع دوم، Luke Carriere پیش‌نویسی برای هماهنگ کردن سیاست‌های co-signer پیشنهاد کرده است. طرح‌های فعلی سیاست‌های متفاوتی دارند؛ بنابراین wallet ساخته‌شده برای یکی، نمی‌تواند از co-signer یا oracle ساخته‌شده برای طرحی دیگر استفاده کند. او فعلاً درخواست شماره BIP نکرده و درباره مناسب بودن این سطح برای استانداردسازی نظر خواسته است.

طبق پیش‌نویس، هر محدودیتی که Bitcoin script می‌تواند اعمال کند باید همان‌جا اعمال شود و همیشه دست‌کم یک مسیر خرج‌کرد بدون co-signer وجود داشته باشد. سیاست شامل خروجی نگهدارنده دارایی، گروه co-signer،؜ الگوهای transaction مجاز، شرط‌های امضا و مشخصات روش تأیید است. انتخاب JSON یا TLV برای Serialization و برخی جزئیات دیگر هنوز باز است. پس از بازخوردها، Carriere پذیرفت نشانه نهایی‌بودن گواهی و قواعد دقیق تأیید را اضافه کند تا گواهی موقت یا تفسیر متفاوت پیاده‌سازی‌ها مسئله‌ساز نشود.

نکته کلیدی

TCP hole punching را در این خبر راهکاری آزمایشی و محل بحث بدان، نه تصمیم قطعی Bitcoin Core. در پیش‌نویس co-signer هم به مسیر خرج‌کرد مستقل و دقیق بودن قواعد تأیید توجه کن؛ جزئیات هنوز نهایی نشده‌اند.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۳)