طرح امضای آستانه یک مدل رمزنگاری به منظور توزیع و ایجاد کلیدها و امضاها در دنیای ارزهای دیجیتال است. طرح امضای آستانه یا به صورت خلاصه TSS (Threshold Signature Scheme) برای استفاده کنندگان و مشتریان بلاک چین الگویی جدید را ایجاد کرده است که میتواند فایدههای زیادی را به کاربران خود ارائه دهد، مخصوصا در زمینه امنیتی. به طور گستردهتر، طرح امضای آستانه قادر است در طراحی سیستم مدیریت کلیدها (مانند کیف پولهای رمزنگاری شده) تاثیر گذار باشد و همچنین این امکان را میدهد تا به پشتیبانی بومی و مستقیم از پروژههای اقتصادی غیر متمرکز شده پرداخت. میتوان گفت TSS یا طرح امضای آستانه هنوز یک تکنولوژی جدید است، بنابراین باید ریسکها و محدودیتهای آن هم در کنار منافعی که به کاربران ارائه میدهد، در نظر گرفته شود.
در این مطلب از کوین نیک، معنای جامعی از طرح امضای آستانه را بیان خواهیم کرد، پتانسیلهای مفید آن را نسبت به سایر موارد مشابه در فضای بلاک چین بررسی میکنیم، نگاهی به تاثیر آن روی کاربران بلاک چین خواهیم داشت، مقایسهای نسبت به سایر موارد امنیتی انجام میدهیم و از محدودیتها و ریسکهای آن میگوییم.
قدرت رمزنگاری در طرح امضای آستانه
به منظور درک طرح امضای آستانه ابتدا نیاز است تا یک دانش پایه از رمزنگاری یا Cryptography داشته باشیم. از سال ۱۹۷۰ تا امروز، سیستمهای اینترنتی هر روز بیشتر و بیشتر به دنبال جذب رمزنگاریهای غیر متقارن بودند که به رمزنگاری کلید عمومی یا Public Key Cryptography شناخته میشود. طرز عملکرد آن به این صورت است که یک کلید عمومی و یک کلید خصوصی ایجاد میکند. کلید عمومی یک کلید فاش شده است که همه میتوانند از آن استفاده کنند اما کلید خصوصی یک راز برای صاحب دارنده اطلاعات باقی میماند تا تنها او به این اطلاعات دسترسی داشته باشد و آنها را امن نگه دارد.
رمزگذاری و امضاهای دیجیتال، دو استفاده عمومی و متداول از رمزنگاری کلید عمومی هستند. هر دو طرح رمزگذاری و امضای دیجیتال، تکیه بر ۳ الگوریتم دارد. اولی، تولید یک کلید عمومی و یک کلید خصوصی است. دومی، ایجاد متن رمزنگاری شده و امضا است. سومی، پروسه رمزگشایی و تایید است. با توجه به امضاهای دیجیتالی، الگوریتم ورود به چنین سیستمهایی نیاز به آن رمز خصوصی دارد تا کاربر بتواند وارد آن شود و فقط و فقط او است که این رمز خصوصی را باید نزد خود حفظ کند. با استفاده از این رمز خصوصی، یک امضای منحصر به فرد تولید میشود. حال این امضا درون یک پیام پیوست داده شده تا هر شخصی که دارای کلید عمومی است قادر باشد اعتبار و صحت آن را تایید کند.
طرح امضای آستانه در بلاک چین
جای هیچ شکی نیست که بلاک چین یک تکنولوژی بسیار قدرتمند است. این تکنولوژی یک لایه اجماع ایجاد کرده که تمامی اتفاقات و رویدادها در آن دستهبندی و ضبط میشوند. حال که چنین زیرساخت بزرگی در اختیار ما قرار دارد، کاربران، قادر هستند تا اقتصادی غیر متمرکز در آن بسازند؛ بلاک چین به قدرتی قدرتمند هست که حتی در آن بتواند یک حکومت جدید ایجاد کرد. به جز این موارد شگفت انگیز، رمزنگاریها نیاز به این دارند که تا یک بلاک چین پایه را در خود اجرا کنند. در زمینه بلاک چین، کلیدهای خصوصی، هویتهای هر شخص را نشان میدهند در حالی که یک امضای دیجیتالی در بلاک چین یک شرح عمومی یا مطالبهای است که توسط آن شخص با کلید خصوصی خود انجام شده است. حال آن بلاک چین شرح یا اظهار عمومی را نظم میبخشد و طبق یک سری از قوانین، معتبر میسازد تا مطمئن شود در کنار دیگر مسائل، امضای دیجیتال موجود در آن غیر قابل جعل پذیر و درست باشد.
نسبت به رمزنگاری کلاسیک و قدیمی استفاده شده در بلاک چینها، در رمزنگاری مدرن، ابزاری وجود دارد که شامل ویژگیهای بسیار عالی و جذابی است. از جمله آنها میتوان به پروتکل دانایی صفر، رمزنگاری همریختی و محاسبات چند جانبه امن اشاره کرد. همانطور که در دهه گذشته شاهد بودیم، تحقیقات انجام شده روی بلاک چین کاربرد رمزنگاری را وارد مرحله تازهای کرده است.
در ادامه این مطلب، در مورد یکی از همین مراحل جدیدی که دنیای بلاک چین و رمزنگاریها از آن بهره میبرند صحبت میکنیم، طرح امضای آستانه یا TSS.
طرح امضای آستانه و محاسبات چند جانبه امن
محاسبات چند جانبه امن یا Multi-Party Computation، شاخهای از رمزنگاری است که چهل سال پیش توسط شخصی به نام اندرو یائو (Andrew Yao) آغاز به کار کرد. در محاسبات چند جانبه، چند شخص که به یکدیگر اعتمادی ندارند، سعی میکنند تا به طور مشترک یک سری از عملکردها را با یکدیگر محاسبه کنند و در عین حال این محاسبات را نزد خود امن نگه دارند.
به عنوان یک مثال، شخصی درون یک شرکت میخواهد بدون این که میزان حقوق هر شخص به طور واضح فاش شود، بداند که چه کسی بیشترین حقوق را دریافت میکند. در این مثال، ورودیهای خصوصی به عنوان حقوقهایی که قرار نیست فاش شوند عمل میکنند و خروجیهای این محاسبه، نام فردی است که بیشترین حقوق را دریافت میکند. استفاده از محاسبه چند جانبه امن، باعث میشود تا میزان حقوق حتی یک شخص هم فاش نشود و در عین حال نتیجه مورد نظر را دریافت کنیم.
دو مورد از خواص اصلی محاسبات چند جانبه امن، صحیح بودن و خصوصی بودن آن است
بنابراین هنوز هم ما از محاسبه چند جانبه امن برای محاسبه یک امضای دیجیتالی به شکل توزیع شده استفاده میکنیم. در ادامه با توجه به مثال بالا، خواهیم دید که چطور این فرمول برای امضاهای دیجیتال مورد استفاده قرار میگیرد. به یاد داشته باشید که برای امضاهای دیجیتال، ما سه مرحله داریم:
۱. تولید کلید: در مرحله اول که پیچیدهترین آن است، نیاز به این داریم تا کلید خود را ایجاد کنیم که به صورت عمومی است و برای تایید امضاها مورد استفاده قرار میگیرد. اما، در عین حال نیاز به یک کلید شخصی و خصوصی داریم که آن را سهم خصوصی مینامیم. از نظر صحت و حریم خصوصی، در این مورد: ۱) حریم خصوصی جایی است که اطلاعات هیچ سهام خصوصی بین اشخاص حاضر منتشر نمیشوند. ۲) صحت هم مسئلهای است که در آن کلید عمومی به منظور عملکرد سهام خصوصی مورد استفاده قرار میگیرد.
۲. امضا: در این مرحله با عملکرد تولید امضا رو به رو هستیم. ورودی هر یک از اشخاص حاضر، سهام خصوصی آنها خواهد بود. در کنار آن، یک ورودی عمومی هم خواهیم داشت که همه اشخاص اطلاعات آن را میدانند. حال خروجی این دو با هم، امضای دیجیتالی را ایجاد میکند. حال ویژگی حریم خصوصی آن این اطمینان را حاصل میکند که هیچ یک از سهام خصوصی موجود در این امضای دیجیتالی در هنگام محاسبات، فاش نخواهد شد.
۳. تایید: الگوریتم تایید همچنان به همان شکل کلاسیک تنظیم شده است. به منظور سازگار بودن آن با هر یک از امضاهای دیجیتالی، هر شخصی که دارای کلید عمومی است باید قادر باشد تا امضای به دست آمده را تایید و تصدیق کند.
حال طرح امضای آستانه (TSS) نامی است که ما به این ترکیب توزیع شده کلیدهای ایجاد شده میدهیم.
ترکیب طرح امضای آستانه با بلاک چین
راه طبیعی برای استفاده از TSS درون یک شبکه بلاک چین این است که یک ارباب رجوع بلاک چین را به تولید کلید و امضاهای دیجیتالی با استفاده از TSS یا طرح امضای آستانه تغییر دهیم. به این دلیل به ارباب رجوع بلاک چین اششره کردیم چرا که میتوان از طریق آن دستورات اجرا شده تماما با گرهها (node) مراجعه کرد. در عمل، تکنولوژی TSS این اجازه را به ما میدهد تا تمامی کلیدهای خصوصی مرتبط با دستورات را با محاسبات توزیع شده جایگزین کرد.
برای شرح این عمل، میتوان ابتدا با توضیح چگونگی ایجاد آدرسهای جدید در طرح کلاسیک بلاک چین شروع کرد. به زبان ساده، میتوانیم آدرس جدید را با ایجاد یک کلید خصوصی تولید کنیم و سپس توسط این کلید خصوصی، کلید عمومی را محاسبه کنیم. در نهایت، آدرس بلاک چین از درون این کلید عمومی مشتق خواهد شد.
حال، با استفاده از طرح امضای آستانه، میتوانیم چند شخص را به منظور محاسبه کلید عمومی و بدون فاش شدن هر گونه کلید خصوصی، وارد کنیم. از طریق کلید عمومی، قادر هستیم تا آدرس را از درون برای اشخاص و باز هم بدون فاش شدن اطلاعات محرمانه استخراج کنیم. مزیت این روش این است که کلید خصوصی دیگر یک نقطه تکی شکست (Single Point of Failure) نیست تا با فاش شدن آن کل محاسبات به هم بخورد چرا که هر یک از افراد حاضر در این محاسبه، یک قسمت از آن را در اختیار دارند.
همین کار را میتوان در هنگام امضای تراکنشها انجام داد. در این مورد، به جای این که هر یک از اشخاص حاضر به امضا توسط کلید خصوصی خود بپردازند، یک تولید امضای توزیع شده را بین اعضای حاضر اجرا میکنیم. بنابراین هر یک از افراد میتواند تا زمانی که به صورت شفاف و صادقانه عمل کنند، به تولید یک امضای معتبر شده بپردازند. در این مسئله هم خطری در مورد نقطه تکی شکست در هنگام محاسبه، تراکنش را تهدید نمیکند. مهم است که اشاره کنیم تولید کلید توزیع شده میتواند به شکلی انجام شود که اجازه انواع مختلف ساختارهای دسترسی را بدهد.
این مطلب راهم مطالعه کنید: کاربرد بلاکچین در بهداشت و درمان چیست و چقدر از آن استفاده میشود؟
TSS در برابر Multisig
برخی از بلاک چینها هستند که ویژگی TSS را به صورت ساختاری درون سیستم خود یا به شکلی قابل برنامهریزی در نرم افزار خود گنجاندهاند. ما به این نوع از عملکرد موجود در بلاک چینها، Multisig یا Multi-Signature به معنی چند امضایی میگوییم. برای درک هر چه بیشتر تفاوت این دو، میتوان به Multisig به عنوان یک TSS نگاه کرد که به عنوان یک لایه درون بلاک چین قرار داده شده است.
هم سیستم چند امضایی و هم سیستم طرح امضای آستانه، اساسا در تلاش هستند تا هدفی مشترک را به سرانجام برسانند، اما TSS از رمزنگاری به شکلی خارج از زنجیر (off-chain) استفاده میکند، در حالی که Multisig بر عکس به شکل on-chain است. اما به هر حال، بلاک چین نیاز به راهی دارد تا به رمزگذاری شیوه multisig بپردازد که همین کار ممکن است به حریم خصوصی صدمه وارد کند، چرا که ساختار دسترسی (تعداد امضا کنندگان در معرض بلاک چین هستند. هزینه تراکنش چند امضایی بیشتر است چرا که اطلاعات روی هر امضای مختلفی نیاز به این دارد که با بلاک چینی که از آن استفاده میشود ارتباط بر قرار کند.
در TSS، اطلاعات امضا کنندگان درون یک تراکنش عادی گنجانده شده است و به همین دلیل هزینهها کاهش یافته و صدمهای به حریم خصوصی وارد نمیشود. در دستی دیگر، روش تراکنش Multisig میتواند غیر تعاملی باشند. به این معنی که میتوان از مشکل راه اندازی یک لایه ارتباطی پیچیده بین امضا کنندگان جلوگیری کرد.
نقطه اصلی تفاوت بین این دو این است که Multisig مخصوص بلاک چین است و نیاز به این دارد که برای هر بلاک چین دوباره اجرا شود و ممکن است برخی بلاک چینها اصلا آن را پشتیبانی نکنند. در عوض، TSS به رمزنگاری تکیه دارد، بنابراین پشتیبانی آن در هر بلاک چینی امکان پذیر است.
TSS در برابر طرح اشتراک مخفی Shamir
طرح اشتراک گذاری مخفی شمیر (SSSS یا Shamir Secret Sharing Scheme) راهی را ایجاد میکند تا کلیدهای خصوصی را به شیوهای توزیع شده ذخیره کنیم. به شکلی که در هنگام باقی ماندن کلید خصوصی، بتوان مکانها و موقعیتهای مختلف را ذخیره کرد. دو تفاوت بین SSSS و TSS وجود دارد:
تولید کلید: در SSSS، یک شخص به نام دلال (The Dealer) وجود دارد که ویفه ایجاد کلید خصوصی اشتراک گذاری مخفی را برعهده دارد. به این معنی که در هنگام تولید کلید، کلید خصوصی تنها در یک موقعیت ایجاد میشود و سپس توسط دلال یا فروشنده، بین مکانهای مختلف توزیع میشود. اما در طرح امضای آستانه، هیچ فروشنده یا دلالی که این وظیفه را بر عهده بگیرد وجود ندارد و کلید خصوصی تنها در یک مکان حبس نیست.
امضا: در SSSS افراد شرکت کننده باید به منظور امضا و ورد، کلید خصوصی را به کلی احیا و بازسازی کنند که با هر بار نیاز به امضا، باعث وجود نقطه تکی شکست میشود. اما در TSS، مرحله امضا به شکلی توزیع شده انجام میشود، به طوری که نیاز به هر بار باز سازی اشتراک گذاری مخفی کلید خصوصی نیست.
همانطور که میتوان دید، TSS یا طرح امضای آستانه، کلید خصوصی در طول عمر خود هیچگاه در یک مکان واحد قرار ندارد.
کیف پولهای دیجیتال TSS
کیف پولهای دیجیتال بر اساس تکنولوژی طرح امضای آستانه یا به طور سادهتر Threshold Wallet نسبت به دیگر کیف پولهای دیجیتالی ارزهای دیجیتال کمی متفاوتتر هستند. به طور معمول، کیف پولهای مرسوم یک عبارت سید (Seed Phrase) تولید میکنند و از آن برای استخراج قطعی آدرسها استفاده میکنند. یک کاربر میتواند بعدا میتواند این ساختار سلسله مراتب قطعی که به کیف پول HD معروف هستند، به کلیدهای خصوصی که با آدرس کیف پول مطابقت دارند دسترسی پیدا کنند و توسط آنها تراکنشها را امضا کنند و البته قادر خواهند بود توسط آن تمامی کلیدهای کیف پول خود را بازیابی کنند.
اما در کیف پول TSS، کمی مسائل پیچیدهتر است. اگرچه میتوان در آن یک ساختار HD ایجاد کرد اما نیروی تولید کننده آن باید به عنوان یک محاسبه چند جانبه امن (MPC) در یک حالت توزیع شده ابتدا محاسبه شود. در این گروه، افراد مشارکت کننده باید به طور مشترک تصمیم بگیرد که کدام کلید باید مورد استفاده قرار بگیرد. به زبانی دیگر، هر یک از افراد دارای Seed Phrase خود هستند. این سیدها به شکل جداگانه تولید می شوند و هرگز ترکیب شده نیستند، بنابراین فقط یک شخص درون گروه قادر نخواهد بود توسط سید خود، کلید خصوصی را استخراج کند.
کیف پولهای دیجیتال TSS همچنین دارای یک ویژگی امنیتی خوب هستند. این ویژگی باعث چرخش کلید خصوصی بدون تغییر مطابقت های کلید عمومی و آدرسهای بلاک چین میشود. چرخش کلید خصوصی، که با نام اشتراک گذاری مخفی فعال هم شناخته میشود، یکی دیگر از پروتکلهای محاسبه چند جانبه امن است که از اشتراکگذاری مخفی به عنوان ورودی استفاده میکند و برای خروجی یک سری اشتراک گذاری مخفی جدید در اختیار قرار میدهد. با این کار اشتراکهای قبلی پاک و غیر قابل استفاده میشوند و از اشتراکهای جدید میتوان استفاده کرد.
چنین ویژگی امنیتی، یک بعد زمانی به امنیت کلی اضافه میکند. به این معنی که شخص حمله کننده باید هم زمان چند موقعیت مکانی را برای حمله به کیف پول طرح امضای آستانه انجام دهد. ترکیب اشتراک گذاری مخفی قبل و بعد از چرخش کلید خصوصی، حتی باعث میشود تا هکر یا شخص حمله کننده هیچ قدرت فراطبیعی برای دستیابی به کیف پول شما نداشته باشند.
ضعف این نوع از کیف پولها این است که در صورت عدم حضور حتی یک سید، استفاده از آن جایز نیست. بنابراین بسیار مهم است که چه کسانی در گروهی که تشکیل دادهاید، اشتراک گذاریهای مخفی را در اختیار داشته باشند.
این مطلب راهم مطالعه کنید: نحوه پیشگیری از سرقت هویت در بلاکچین
TSS و قرار داد هوشمند
در طول سالهای اخیر، محققین توانستهاند استفادههای زیادی از امضاهای دیجیتالی را کشف کنند و به طور شگفت انگیزی برخی از آنها بسیار قابل توجه هستند. همانطور که اشاره کردیم، TSS یک شیوه رمزگزاری متفاوت است که قادر است به شکل قابل توجهای امنیت را افزایش دهد. در زمینه بلاک چینها، میتوان گفت خیلی از ویژگیها را میتوان با رمزنگاریهای TSS عوض کرد که نمونههای آن کم هم نیستند. همین قدرت بالای امنیتی TSS در زمینه بلاک چین این اجازه را داده است تا انجام عملیاتهای گران قیمت و پر از ریسک قراردادهای هوشمند، توسط یک روش ارزانتر و البته قابل اطمینانتر به نام TSS انجام شوند.
ریسکهای طرح امضای آستانه
در سالهای اخیر، به کار گیری و استفاده از TSS به شکل قابل توجهای افزایش داشته است. هر چند، به عنوان یک تکنولوژی جدید، ویژگی طرح امضای آستانه دارای محدودیتها و نگرانیهای خاص خود است. در مقایسه با رمزنگاری کلید عمومی کلاسیک، پروتکلهای TSS میتوانند بسیار پیچیده باشند و باید امتحان خود را در موقعیتهای مختلف پس بدهند. معمولا، TSS نیاز به فرضیات رمزنگاری اضافی و ضعیفتر نسبت به امضاهای دیجیتالی ساده دارند. در نتیجه، مسیرهای تازهای به منظور حمله اکه در روشهای سنتی دیده نمیشد به تازگی به وجود آمدهاند. بنابراین برای مقابله و بستن این مسیرها، مهندسین امنیتی و رمزگذارها میتوانند برای امن کردن سیستم TSS مفید واقع شوند.
نتیجهگیری
در این مقاله، ما طرح امضای آستانه یا TSS را بررسی کردیم. یک شیوه رمزنگاری بسیار عالی که قدرت این را دارد تا علاوه بر ایجاد امنیت به مراتب بیشتر، طریقه استفاده ما از بلاک چین را هم به طور قابل ملاحظهای تغییر دهد.
امیدواریم این مطلب برای شما مفید بوده باشد. اگر به دنبال خرید و فروش بیت کوین و سایر ارزهای دیجیتال بدون کمترین معطلی هستید، با ما در ارتباط باشید؛ زیرا این دقیقا همان کاری است که ما در «کوین نیک» برای شما انجام میدهیم. اینجا خرید و فروش انواع ارز دیجیتال، در سریعترین زمان ممکن انجام میشود و در اکثر ساعات شبانه روز، هوای شما را داریم!