پس از عرضه کد فعال در ماه گذشته، شرکت فناوری بلاک چین بلاک استریم امیدوار است تا به طور موفقیت آمیز استاندارد چند امضایی جدیدی برای تراکنش های بیت کوین در آینده توسعه دهد.
در کنار این موضوع، بلاک استریم هم چنین آخرین نرم افزار مقیاس پذیری بیت کوین به اسم سی لایتنینگ (c-lightning) را در شروع ماه مارس عرضه کرد و باعث شد دوره بسیار شلوغی را برای این شرکت شناخته شده توسعه نرم افزار رقم بزند.
به روز رسانی ها به پروتکل بیت کوین
سابقه به روز رسانی ها به پروتکل بیت کوین از زمان پیدایش آن در سال ۲۰۰۹ بسیار بحث برانگیز است. وایت پیپر اصلی بیت کوین از ساتوشی ناکاموتو به عنوان یک متن مقدس در نظر گرفته میشود و هر تغییر در این فناوری که جوابگو باشد با بدگمانی و مخالفت مواجه میشود.
با این حال، پروتکل بیت کوین به دلیل افزایش چشمگیر تعداد کاربران و قابلیت پردازش تراکنش ها به صورت زمانبندی شده و مقرون به صرفه، سهم قابل توجهی در ایجاد مشکلات داشته است.
با در نظر گرفتن این موضوع، برای هر تغییر در کد پروتکل باید اجماع صورت بگیرد. بیت کوین با پیاده سازی کدهای مختلف نظیر سگویت که طی دو سال گذشته رشد کرده، بهبود یافته است.
هر تغییری که مورد موافقت اکثریت جامعه بیت کوین واقع نشود، منجر به ایجاد هارد فورک های بحث برانگیز شده است که کوین های جدیدی نظیر بیت کوین کش حاصل آنها میباشد.
بنابراین هر تغییر در پروتکل بیت کوین قبل از اجرا شدن به زمان، تحقیقات، توسعه و آزمایش بسیار زیادی نیاز دارد.
چند امضایی (MuSig)
طرح جدید چند امضایی مبتنی بر شنور (Schnorr) بلاک استریم یا همان چند امضایی (MuSig) برای آزمایش عمومی و دریافت بازخورد عرضه شده است تا کد فعال و بی نقصی ایجاد شود.
برای عموم افراد، چند امضایی (MuSig) بهبود و ارتقایی است که با کاهش اندازه تراکنش ها توسط بهبود عملکرد و حریم خصوصی کاربران میتواند به مقیاس پذیری بلاک چین بیت کوین کمک کند. زمینه این کد توسط پیتر وویل، اندرو پولسترا، یانیک سورین و گرگوری مکسول در تحقیقات سال ۲۰۱۸ ایجاد شد.
طی یک سال پس از این موضوع، بلاک استریم، کد فعال برای آزمایش توسط جامعه ارز دیجیتال را بر روی گیت هاب عرضه کرد و امیدوار بود که نهایتا با بیت کوین کور و سایر پروژه ها ادغام شود.
امضاهای شنور
امضاهای دیجیتالی، نوعی مدرک دیجیتالی فراهم میکنند که تراکنش توسط دارنده کلید خصوصی تایید شده است. بسیاری از کاربران بیت کوین، تراکنش ها را با یک امضا ارسال میکنند که از جانب دارنده کلید خصوصی آدرس فرستنده ایجاد میشود. چند امضایی نیز هنگامی که یک کیف پول چند صاحب و مالک دارد، مدرک دیجیتالی مشابهی فراهم میکند. در این مورد، دارندگان باید امضاهای مخصوص به خود را تولید کنند تا چند امضایی ایجاد شده و تراکنش تایید شود. امضاهای شنور نوع خاصی از چند امضایی میباشند که چندین مزیت مهم دارند. اسم شنور از خالق الگوریتم چند امضایی کلاوس شنور گرفته شده است.
کوین تلگراف طی مصاحبه ای با اندرو پولسترا کریپتوگرافر بلاک استریم در صدد درک بهتر مفاهیم به روز رسانی چند امضایی برآمده است. بر اساس صحبت های پولسترا، این الگوریتم چندین مزیت دارد که عبارت است از:
امضاهای شنور یکی از انواع چند امضایی میباشد که اندازه کوچک ۶۴ بایتی دارند و به طور موثری میتوانند تایید شوند. دلیل اینکه چرا این الگوریتم میتواند تاثیر چشمگیری بر نحوه کار پروتکل بیت کوین بگذارد، شکل چند امضایی به کار رفته فعلی میباشد.
پولسترا بار دیگر توضیح داد چند امضایی کنونی که الگوریتم امضای دیجیتال منحنی یا همان ECDSA است، بسیار ساده است، به طوری که تمام امضا کنندگان باید امضاهای شخصی خود را برای تراکنش مورد نظر تولید کنند. این امر بدان معنا است که برای دو امضا کننده به دوبرابر فضای بلاک چین و زمان تایید نیاز است تا تراکنش پردازش شود. اگر بیت کوین به جای ECDSA از شنور پشتیبانی میکرد، چندین فناوری جدید که مهمترین آن چندامضایی شنور است امکان پذیر میشد.
برای شبکه ماینرها که تراکنش های بیت کوین را تایید میکنند، چند امضایی مبتنی بر شنور همانند امضاهای معمول است. این بدان معنا است که اندازه آن ها و هم چنین مدت زمان تایید آنها یکسان است اما خصوصی تر میباشند. بر اساس صحبت های پولسترا، چند امضایی شنور مجموعه اصلی امضا کنندگان را مشخص نمیکند و حتی تعداد امضا کنندگان تراکنش چندامضایی را نیز بیان نمیکند. این امر میتواند ناشناس بودن و حریم خصوصی تراکنش های چند امضایی را بهبود بخشد.
چند امضایی (MuSig)
در حال حاضر بیت کوین از الگوریتم امضای ECDSA برای تأیید مالکیت و انتقال بیت کوین بر بستر بلاک چین استفاده میکند. طبق توضیحات بلاک استریم در بیانیه رسمی خود، امضاهای ECDSA چندین محدودیت دارند.
بزرگترین دغدغه، دشواری ایجاد چندامضایی با استفاده از ECDSA و به دلیل پیچیدگی ساختار امضاهای تولید شده است. دغدغه اصلی بلاک استریم در خصوص ECDSA و سایر طرح های چندامضایی فعلی این است که اینطور فرض میکنند که امضاکنندگان تراکنش، کنترل چگونگی و زمان تولید کلیدها را دارند و دارای حافظه مناسب و ایمن میباشند.
اما در واقعیت، بسیاری از کاربران بیت کوین به کلیدهای خود و نحوه تولید آنها دسترسی نداشته و هم چنین کنترلی بر فعالیت های شخص ثالث و نحوه استفاده آنها از کلیدها ندارند. بلاک استریم طرح چند امضایی را به امید آن معرفی کرد که این مشکلات را به دو روش برطرف کند.
اول آنکه چند امضایی، امضاهایی کوچک و بدون تغییر در اندازه ایجاد میکند که برای تایید کنندگان یکسان است و فرقی ندارد که چند امضاکننده در تراکنش حضور دارند. این امر با حذف جزییات امضاکنندگان و حفظ ایمنی، به افزایش کارآیی کمک میکند. دوم آنکه چند امضایی با استفاده از کلیدهای عمومی ساده درصدد فراهم آوردن ایمنی قابل اثبات است. هدف چند امضایی این است که انعطاف پذیری بیشتری به امضاکنندگان بدهد تا بدون ارائه اطلاعات اضافی در خصوص نحوه تولید کلیدها، چندامضایی را به تراکنش ها عرضه کنند.
قابل ذکر است هنگامی که صحبت از تولید کلید بیت کوین میشود، این موضوع به دلیل سیاست های مختلف در مدیریت کلیدها، همچنان دشواری های خود را دارد.
آزمایش های گسترده مورد نیاز است
این الگوریتم به آزمایشات بیشتری نیاز دارد و بلاک استریم امیدوار است که راهکار مناسبی برای بهبود تراکنش های چندامضایی ارائه دهد.
اطمینان حاصل کردن از امنیت تراکنش های چندامضایی بسیار پیچیده است زیرا نمیتواند از روش هشینگ مشابه با تصادفی بودن یکپارچه امضاها استفاده کند.
امضاکنندگان بعدی تراکنش چندامضایی میتوانند از نانس سایر امضاکنندگان برای بیش از یک امضا استفاده کنند.
راهکار فعلی، استفاده از آیدی برای امضای مجموعه تراکنش های چندامضایی است و تا زمانی که بلاک استریم راهکار مناسب تری توسعه دهد، همین راهکار باقی میماند.
حمله های بازپخش یا تکرار Replay attacks هم چنان برای تراکنش های چندامضایی دغدغه حساب می شود. با در نظر گرفتن تمام این موارد، پولسترا به کوین تلگراف گفت امنیت امضاهای شنور و استفاده از آنها در چند امضایی جای نگرانی ندارد. او گفت:
امضاهای شنور از نظر جبری ساده میباشند و تحت فرضیات دیجیتالی مشابهی با ECDSA است. البته همانند هر تغییری در بیت کوین، معرفی امضاهای شنور به مقدار قابل توجهی آزمایش و بررسی نیاز دارد.
مسیر پیش رو
تعیین زمانبندی برای آزمایش و پیاده سازی چند امضایی، امر ساده ای نیست. با در نظر گرفتن پیچیدگی اطمینان از امنیت و کارآیی تراکنش های چند امضایی، ایجاد راهکاری مناسب و قابل اعتماد به صرف زمان قابل توجهی نیاز دارد.
طبق توضیحات پولسترا، توسعه و پیاده سازی چند امضایی به همکاری گسترده تر با جامعه بیت کوین نیاز خواهد داشت. وی در این خصوص گفت:
قدم اول، فراهم کردن پروپوزال مستحکم و مخصوص و ارسال آن به توسعه دهندگان بیت کوین است تا آن را نقد و بررسی کنند. فرآیند بررسی ممکن است چند ماه طول بکشد و طی این مدت پروپوزال نیز دستخوش چندین تغییر شود. در کنار این موضوع، کدهایی باید نوشته شود و مورد آزمایش و بررسی قرار گیرد. سپس این نرم افزار قبل از فعال شدن تغییرات باید به طور گسترده اجرا شود. گفتن اینکه این فرآیند چقدر طول خواهد کشید دشوار است.
طبق سخنان پولسترا، در صورتی که کد مورد نظر توسط جامعه بزرگ بیت کوین تایید و پیاده سازی شود، ایجاد فورک سخت برای پیاده سازی تغییرات نیاز نخواهد بود.