زنجیره های فضایی: این پیشنهاد جدید زنجیره جانبی بیت کوین چگونه کار می کند

گره منبع: 1544330

Spacechains یک زنجیره جانبی بیت کوین پیشنهادی است که یک مکانیسم ثابت یک طرفه را با استفاده از طراحی معدن ادغام کور ارائه می دهد.

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

این پیشنهاد صرفاً ایده دو زنجیره کاملاً مجزا و نامرتبط بود که توسط یک گروه از ماینرها استخراج می‌شدند، بدون اینکه توانایی جابجایی چیزی بین زنجیره‌ها را نداشتند. این پیشنهاد اصلی زنجیره جانبی در سال 2014 توسط بسیاری از افرادی که به معنای واقعی کلمه یک هفته یا بیشتر پس از انتشار مقاله Blockstream را تأسیس کردند، ساخته شد. ایده اصلی این بود که بتوانیم سکه‌ها را بین بلاک‌چین اصلی بیت‌کوین و سایر زنجیره‌های جانبی به عقب و جلو حرکت دهیم، با استفاده از شواهد تأیید ساده پرداخت (SPV) برای اثبات اعتبار چیزها هنگام ارسال سکه از یک زنجیره به زنجیره دیگر. به دلیل پیچیدگی‌هایی که در پیاده‌سازی پیرامون سازمان‌دهی مجدد زنجیره‌ای، احتمال سرقت و خطرات تمرکز استخراج معدن وجود دارد، هرگز به نتیجه نرسید (همه این موارد را می‌توانید در بخش چهار مطالعه کنید. کاغذ سفید Bitcoin).

مکانیسم های میخ برای زنجیره های جانبی می تواند دو نوع باشد، یک طرفه و دو طرفه. معانی باید واضح باشد - در یک میخ دو طرفه، سکه ها می توانند بین زنجیره مادر و زنجیره جانبی به عقب و جلو حرکت کنند، و در یک میخ یک طرفه، فقط می توانند از زنجیره مادر به زنجیره جانبی حرکت کنند و هرگز به عقب برنگردند. در حال حاضر، تنها شکل پیوندهای زنجیره جانبی دو طرفه که روی بیت‌کوین پیاده‌سازی می‌شود، از طریق اجماع فدرال است، به این معنی که میخ‌زدگی توسط مجموعه‌ای از «محافظان» قابل اعتماد تضمین می‌شود که کنترل وجوه متصل به زنجیره جانبی را در یک کیف پول multisig حفظ می‌کنند تا زمانی که برداشت شوند.

با این حال، مردم به کار بر روی طرح های دیگر برای گیره های زنجیره جانبی که فدرال نیستند، ادامه داده اند. در اینجا می‌خواهم به عنوان یک نمونه، طرح پیشنهادی زنجیره فضایی روبن سامسن را بررسی کنم. این یک مکانیسم میخ یک طرفه با استفاده از یک طرح معدن ادغام کور، مشابه است پل استزتورک's این بدان معناست که سکه‌ها فقط می‌توانند وارد زنجیره جانبی شوند و هرگز از آن خارج نمی‌شوند، و ماینرها مجبور نیستند نرم‌افزار جدیدی را برای دریافت غرامت برای استخراج زنجیره جانبی اجرا کنند (اما همانطور که در ادامه به آن خواهم پرداخت، می‌توانند با انجام این کار سود بیشتری ببرند).

پیشنهاد زنجیره فضایی

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

مکانیسم پیشنهادی سامسن برای این کار می تواند مورد استفاده قرار گیرد ANYPREEVOUT (APO) به رقابت آزاد برای هر کسی اجازه می دهد تا بتواند برای ساخت بلوک زنجیره جانبی بعدی رقابت کند در حالی که تضمین می کند که فقط یک بلوک می تواند در هر بلوک زنجیره اصلی بیت کوین متعهد شود. یکی دیگر از مزایای پیشنهاد روبن این است که برای فعال کردن امکان استقرار زنجیره‌های فضایی نیازی به سافت فورک خاصی ندارد. Eltoo/ANYPREVOUT برای مزایای شبکه لایتنینگ پیشنهاد شده است که زنجیره‌های حالت انعطاف‌پذیر و همچنین کارخانه‌های کانال را امکان‌پذیر می‌کند. زنجیره های فضایی به سادگی امکان دیگری از بسیاری از چیزهایی هستند که فعال کردن ANYPREVOUT راه را برای آنها هموار می کند.

ایده کلی پیشنهاد ماینینگ ادغام کور او این است که با استفاده از APO، می‌توانید مجموعه‌ای طولانی از تراکنش‌ها را از پیش تعریف کنید که همان UTXO اولیه را وارد آن‌ها می‌کند و متعهد می‌شوید که همیشه آن را دوباره ایجاد کنید. بنابراین، یک ساتوشی UTXO را تصور کنید، با هر تراکنش از پیش ایجاد شده تضمین می کند که همان UTXO به عنوان یک خروجی پس از تایید دوباره ایجاد می شود. به آن مانند یک نشانگر فکر کنید، این UTXO ویژه شناسه‌ای است که به هر کسی که به بلاک چین اصلی بیت‌کوین نگاه می‌کند اجازه می‌دهد بداند: «این جایی است که من تعهد به بلوک‌های زنجیره جانبی X را پیدا می‌کنم». این یک مشکل را باز می گذارد: هزینه های ماینر. اگر آن UTXO باید با همان مقدار دوباره ایجاد شود، هیچ بودجه ای برای پرداخت هزینه وجود ندارد.

این را می توان با استفاده از SIGHASH_SINGLE (امضای یک ورودی فقط همان ورودی واحد و خروجی مربوطه را نشان می دهد) و SIGHASH_ANYONECANPAY (افراد می توانند آزادانه ورودی ها و خروجی های اضافی را بدون بی اعتبار کردن امضا اضافه کنند تا زمانی که ورودی/خروجی با استفاده از SIGHASH_SINGLE به همان شکلی که هست باقی بماند تا آن امضا باطل نشود). سپس هر کسی می‌تواند یک ورودی اضافه کند و خروجی را تغییر دهد تا کارمزد ماینر را برای تراکنش بپردازد.

این نیز مکانیزمی است که برای متعهد شدن به هدر بلوک بلوک زنجیره جانبی استفاده می شود. همانطور که Taproot با تغییر دادن کلید عمومی معمولی با ریشه Merkle درخت، به درخت شرایط مخارج مختلف متعهد می‌شود، هر کسی می‌تواند کلید عمومی عادی را با هش هدر بلوک بلوک زنجیره جانبی تغییر دهد. گره های زنجیره جانبی می توانند آن هدر بلوک را با اشاره گر به تراکنش در زنجیره اصلی آشکار و رله کنند تا ثابت کنند که واقعا استخراج شده است. از آنجا، گره های زنجیره جانبی تمام اعتبار سنجی عادی را انجام می دهند تا اطمینان حاصل شود که بلوک زنجیره جانبی از قوانین اجماع مناسب پیروی می کند و بلوک های واقعی را در سراسر شبکه زنجیره جانبی درست مانند زنجیره اصلی رله می کنند.

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

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

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

این یک آخرین مشکل برجسته باقی می گذارد. در تئوری، ارسال چندین تراکنش پشت سر هم در یک بلوک بیت کوین امکان پذیر است، به طوری که تعداد زیادی از بلاک های زنجیره جانبی توسط ماینرها در یک بلوک زنجیره اصلی تایید می شود. این می تواند برای حمله انکار سرویس به شبکه زنجیره جانبی مورد سوء استفاده قرار گیرد.

به منظور حل این مشکل، یک قفل زمانی نسبی CHECKSEQUENCEVERIFY (CSV) را می توان در اسکریپت UTXO نشانگر قرار داد تا تضمین کند که تنها یک تراکنش با استفاده از نشانگر UTXO می تواند در داخل یک بلوک زنجیره اصلی مشخص تایید شود.

در مجموع به نظر می رسد این است: 

منبع

همچنین شایان ذکر است که دو نوع از این طرح را می توان با CHECKTEMPLATEVERIFY (CTV) یا بدون هیچ تغییری اجرا کرد. این دو نوع طراحی به سادگی دارای معاوضه های غیربهینه هستند.

نوع CTV از این قابلیت برای انجام زنجیره تراکنش ها با استفاده از CTV به جای APO با هک شامل امضای داخل اسکریپت قفل UTXO استفاده می کند. CTV به تمام خروجی های یک تراکنش که CTV UTXO را خرج می کند متعهد می شود، اما به هیچ ورودی غیر از خود متعهد نمی شود.

این بدان معناست که شما می توانید ورودی ها، اما نه خروجی ها را به یک تراکنش CTV اضافه کنید. بنابراین شما می توانید هزینه خود را درست مانند طراحی APO بیاورید، اما نمی توانید تعهدی به هدر بلوک جانبی اضافه کنید.

بنابراین، کاری که ما در اینجا باید انجام دهیم این است که یک تراکنش کاملاً خارج از زنجیره تراکنش های CTV برای تعهد زنجیره جانبی ایجاد یک UTXO ایجاد کنیم که فقط برای پرداخت هزینه تراکنش CTV کافی است (زیرا نمی توانید یک خروجی تغییر جدید ایجاد کنید. آن تراکنش، 100% ورودی‌هایی که اضافه می‌کنید به کارمزدها می‌رود)، و در داخل تراکنش آماده‌سازی کارمزد، UTXO جایی است که ما به یک هدر بلوک جانبی متعهد می‌شویم. بنابراین، گام اول: تراکنش ایجاد خروجی پرداخت هزینه و تعهد به هدر بلوک جانبی. مرحله دوم: خروجی کارمزد را می گیریم و آن را به عنوان ورودی به تراکنش CTV اضافه می کنیم، که پس از تایید، بلوک زنجیره جانبی خاص ما را استخراج می کند. این گونه به نظر می رسد:

منبع

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

زنجیره تراکنش ها با یک UTXO شروع می شود و در یک زنجیره دو خروجی ایجاد می کند. اولین خروجی نشانگر UTXO است که سیگنال می دهد که زنجیره تراکنش ها به یک زنجیره فضایی خاص مرتبط است، دومین خروجی یک UTXO با ارزش کوچک است که به طور آشکار توسط هرکسی که اجازه می دهد ورودی/خروجی دیگری را به آن متصل کند، قابل مصرف است. این تراکنش دوم جایی است که هر کسی می‌تواند آشکارا متعهد شود که اولین کسی باشد که دومین خروجی را از زنجیره تراکنش زنجیره فضایی خرج می‌کند و از آن برای تعهد به هدر بلوک زنجیره جانبی خود استفاده می‌کند.

در نوع CTV، بلوک زنجیره جانبی باید در یک تراکنش ثانویه متعهد می‌شد، زیرا CTV اجازه اضافه کردن خروجی‌های جدید در تراکنش‌هایی را که ورودی قفل شده توسط CTV را خرج می‌کند، نمی‌دهد. این نوع نیاز به استفاده از یک تراکنش ثانویه دارد زیرا اگر ورودی یا خروجی جدیدی را به زنجیره از پیش امضا شده اضافه کنید، TXID تراکنش را تغییر داده و تمام تراکنش‌های از پیش امضا شده را که بعد از آن می‌آیند باطل می‌کنید. این گونه به نظر می رسد: 

منبع

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

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

این مقاله به سادگی اولین مقاله از مجموعه‌ای است که به طرح‌های اصلی طراحی زنجیره جانبی مربوط می‌شود که از زمان طراحی اولیه 2014 برای بیت‌کوین منتشر شده است. مراقب بقیه باش

این یک پست مهمان توسط شینوبی است. نظرات بیان شده کاملاً متعلق به خود آنها است و لزوماً نظرات BTC Inc یا مجله Bitcoin را منعکس نمی کند.

تمبر زمان:

بیشتر از مجله Bitcoin