مفهوم کیف پول چند امضایی (Multisig Wallet) پدیده جدیدی در دنیای ارزهای دیجیتال نیست. این عبارت مخففشده دو واژه multi-signature به معنای چند امضایی است. اگر کمی با ساختار کیف پولها و نحوه عملکرد آنها آشنا باشید، از روی همین نام میتوانید کلیت موضوع را متوجه شوید. کیف پولها در دنیای ارز دیجیتال نوعی شاخص برای افزایش امنیت قراردادها و اسناد دارند که اصطلاحا به آن امضا گفته میشود.
هر کاربرد در بلاکچین امضای منحصر به فردی دارد که مخصوص همان است. اما با اضافهشدن قابلیت چندامضایی به یک کیف پول، درواقع گروهی از امضاها در قالب یک امضای واحد بهمنظور تأیید اسناد مختلف مورد استفاده قرار میگیرند. در این مقاله قصد داریم تا صفر تا صد مولتی سیگها یا همان کیف پولهای چندامضایی را همراه با تعدادی از معروفترینهای آنها بررسی کنیم. بنابراین تا پایان مقاله با داموند مگ همراه باشید تا زیر و بم این پدیده بلاکچینی را برای شما تشریح کنیم.
قابلیت چند امضایی (Multi-Sig) در کیف پول
تکنولوژی مولتی سیگ یا همان قابلیت چند امضایی یک نوآوری یا پدیده جدیدی در دنیای بلاکچین نیست. همچنین اصالت فناوری قابلیت چندامضایی مربوط به ارزهای دیجیتال و بلاکچین نیست. اما ریشه استفاده اولیه از این تکنولوژی در بلاکچین به سال 2012 بازمیگردد. جایی که از قابلیت فوق برای آدرسهای مربوط به بیت کوین و بلاکچین آن استفاده میشد. تنها مدتی پس از این، فناوری فوق بهمنظور رفع نگرانیهای امنیت و ارتقا اطمینان در کیف پولها وارد این عرصه شد.
در واقع امنیت همان کلیدواژهای است که فلسفه ورود تکنولوژی و قابلیت چندامضایی به کیف پولها بوده است. برای درک بهتر از این قابلیت، ابتدا باید قابلیت تک امضایی را برای شما توضیح دهیم. کیف پولهای تک امضایی درواقع همان کیف پولهای معمولی هستند که در دنیای ارزهای دیجیتال به فراوانی مشاهده میکنید.
این نوع کیف پولها وابستگی بسیار شدیدی به ساختار public-key cryptography یا همان رمزنگاری کلیدهای عمومی دارند. در این مکانیزم از مجموعهای کلید برای افزایش امنیت معاملات استفاده میشود. سادهتر بگوییم، در این نوع از کیف پولها از کلیدهای خصوصی و عمومی برای تضمین امنیت تراکنش استفاده میشود.
بگذارید کمی بیشتر درباره این دو توضیح دهیم. کلید عمومی در واقع ابزاری است که به کاربر اجازه میدهد تا با رمزنگاری یک تراکنش، ارز دیجیتال را دریافت نماید. این درحالی است که کلید خصوصی ابزاری برای رمزگشایی و بازکردن قفل یک تراکنش است و نه رمزنگاری آن! بنابراین این دو حداقل در ماهیت وجودی خود در نقطه مقابل یکدیگر قرار دارند. اما نحوه عملکرد آنها بهگونهای است که همواره همراه با یکدیگرند.
بنابراین کلید خصوصی امنیت شخصی هر کیف پول را افزایش میدهد. زیرا تنها با این کلید است که کاربر میتواند به داراییهای درون کیف پول دسترسی داشته باشد. بنابراین هر کاربردی که این کلید را داشته باشد میتواند مستقل از دیگران و بدون نیاز به هیچ سند و اعتبار دیگری، ارزهای دیجیتال درون آن را به شکل دلخواه معامله کند. اما در کیف پول چندامضایی یا Multisig این مکانیزم بسیار متفاوت است.
تأیید اسناد یا انجام تراکنشها در کیف پول مولتی سیگ منوط به امضای جمعی و گروهی است. زیرا در این کیف پولها اعتبار و دارایی تنها متعلق به یک فرد نیست. در این ساختار گروهی از افراد تصمیمگیرنده هستند نه فقط یک نفر! درواقع Multisig را میتوان نوعی امضا دانست که ترکیبی از امضاهای منحصر به فرد (امضای کیف پولهای تک امضایی) است.
توضیح ساده عملکرد کلی یک کیف پول چند امضایی
اگر بخواهیم خیلی ساده این مفهوم و عملکرد را توضیح دهیم، میتوانیم از یک مثال ساده و قابل درک استفاده کنیم. فرض کنید شما و دو نفر از دوستانتان به نام علی و رضا یک صندوق پسانداز مشترک دارید که داراییهای آن متعلق به هرسه نفر شما است. این صندوق سه قفل دارد که همزمان بر روی آن نصب شدهاند. هرکدام از شما و دوستانتان نیز یک کلید مخصوص به خود برای قفل خود دارید.
اما نکته اینجاست که با یک یا دو کلید صندوق باز نمیشود. زیرا سه قفل بر روی آن اعمال شده است. بنابراین برای بازشدن صندوق، باید هرسه کلید را بهصورت همزمان در قفلها بیندازید. این ساختار یک مثال سادهشده از مکانیزمی است که در کیف پول چند امضایی وجود دارد. یعنی برای انجام هرگونه فعالیت در کیف پول و ارزهای درون آن، باید رضایت و امضای تمامی کاربران آن وجود داشته باشد.
در واقع با اضافهشدن چنین قابلیتی به یک کیف پول، ارزهای دیجیتال تنها و تنها با رضایت تمامی گروه قابل معامله میشوند. این درواقع خود نوعی لایه امنیت اضافه است که بر روی یک کیف پول اعمال میشود. نکته مهم و مزیت بزرگ این کیف پولها این است که کاربر دیگر نگرانی بابت گمشدن یا دزدیدهشدن کلید خصوصی خود ندارد. یعنی حتی درصورتی که کلید خصوصی او سرقت شود یا گم شود، سرمایه او بهراحتی برباد نخواهد رفت.
ساختار این کیف پولها در نیاز به تعداد امضای مشخص برای انجام معاملات متفاوت است. مرسومترین ساختار در کیف پولهای اینچنینی با قابلیت چند امضایی، 2 از 3 است. یعنی برای انجام معاملات به دو امضا از سه امضا نیاز است. سایر مکانیزمها در کیف پولهای فوق عبارتند از 2 از 2، 3 از 3، 3 از 4 و….
کیف پول چند امضایی (Multisig Wallet) چیست و چگونه کار میکند؟
پس از درک اولیه از این فناوری، حال بیایید کمی دقیقتر و فنیتر به چیستی و نحوه عملکرد آن بپردازیم. فرض کنید شما در یک کیف پول سه امضایی حضور دارید که برای انجام تراکنش قانون 2 از 3 را تنظیم کردهاید. این مستقیما به معنای این است که برای انجام یک تراکنش حداقل دو امضا از سه کاربر کیف پول لازم است. البته میتوان قانون 3 از 3 را نیز در چنین کیف پولی اعمال کرد که در آن صورت باید هرسه کاربر تراکنشها را امضا و تأیید کنند تا معاملات انجام شود.
علاوه بر اشتراک سرمایهها، از کیف پولهایی با قابلیت چند امضایی استفادههای دیگری هم میشود. مثلا Bitrated نوعی ساختار ناظر 2 از 3 با استفاده از این فناوری تعریف کرده است. یعنی در یک معامله دو طرف معامله به عنوان فروشنده و خریدار اگر با یکدیگر توافق داشته باشند، بدون نیاز به طرف سوم معامله تأیید و انجام میشود.
اما اگر هرگونه اختلافی در این تراکنش به وجود بیاید، طرف سوم بهعنوان داور وارد میشود و تراکنش را مطابق مستندات تأیید یا رد میکند. در زمان اختلاف، نظر امضاکننده سوم بهعنوان داور یا ناظر است که وضعیت نهایی معامله را تعیین میکند. درواقع میتوانیم این مکانیزم را چیزی شبیه شورای حل اختلاف در محاکم قضایی ایران بدانیم!
به طور کلی با توضیحاتی که تاکنون دادیم، دو مفهوم یا شاید هم مزیت برای یک کاربر در استفاده از این کیف پول چند امضایی وجود دارد:
- اگر کسی به کلید خصوصی شما دسترسی پیدا کند، نمیتواند سرمایه شما را بهراحتی سرقت کند. زیرا در ساختارهای مختلف قابلیت چندامضایی حداقل 2 امضا برای انجام تراکنشها نیاز است.
- اگر یک کلید گم شود و قانون تنظیمشده در کیف پول 2 از 3 باشد، میتوان با استفاده از دو کلید دیگر به ارزهای کیف پول دسترسی پیدا کرد و معاملهها را انجام داد!
اما ترجیح بر این است که از کلید خصوصی حتی در این ساختار نیز بهصورت ایمن محافظت شود تا اختلالی در عملکرد شما در استفاده از کیف پول ایجاد نشود. فرض کنید سه کلید متفاوت برای یک کیف پول با قابلیت چند امضایی داریم. اگر در چنین حالتی یک کلید روی لپ تاپ و دوتا روی موبایل ذخیره شود و هکر یا سارق به کد موبایل برسد، چه اتفاقی میافتد؟
در چنین حالتی اگر حالت 2 از 3 در کیف پول تنظیم شده باشد، سارق با داشتن دو کلید از سه کلید میتواند به دارایی شما در کیف پول دست پیدا کند. همچنین شما نیز بهعنوان مالک اصلی تا یافتن دو کلید از سه کلید نمیتوانید وارد کیف پول شوید و دارایی خود را از دست خواهید داد! بنابراین باید یک روش مدیریت مناسب برای ذخیرهسازی و نگهداری از کلیدها داشته باشید.
برای جلوگیری از دستیابی به کلیدها، بهترین روش نگهداری آنها در سه دستگاه مختلف است. مثلا اگر کیف پول شما سه امضایی است، بهتر است سه کلید مخصوص آن را در یک موبایل، یک لپ تاپ و یک یادداشت بهصورت آفلاین ذخیره کنید. دقت کنید که در هرکدام از دستگاهها فقط یک کلید ذخیره کنید. با این روش حتی با وجود هک یا سرقت یک دستگاه، بازهم و تنظیم کیف پول روی حالت 3 از 3 یا حداقل 2 از 3، میتوان جلوی سرقت دارایی دیجیتالی را گرفت.
تشریح نحوه ایجاد آدرس در کیف پول چند امضایی Multi-Signature
تاکنون با نحوه عملکرد و مکانیزم کیف پولهای مولتی سیگ آشنا شدیم. اما مفاهیم دیگری نیز درباره این فناوری وجود دارد که برای درک نحوه انجام معاملات حتما باید توضیح داده شوند. ابتدا بیایید با سه مفهوم اساسی در این تکنولوژی آشنا شویم:
- کلید عمومی Public Key: یک کد رمزنگاری است که به کاربران اجازه میدهد تا ارزهای دیجیتال را در حساب کاربری خود دریافت کنند.
- کلید خصوصی Private Key: این کلید باید شدیدا محافظت شود زیرا اصلیترین ابزار دسترسی یک کاربر برای تأیید و انجام تراکنشها از جمله ارسال رمزارزها است.
- آدرس عمومی Public Address: این آدرس در واقع یک نسخه هششده از یک کلید عمومی است. زمانی که یک کاربر قصد دارد تا ارز دیجیتال دریافت کند، باید این آدرس را در اختیار طرف مقابل معامله قرار دهد.
حال فرض کنید ما بخواهیم یک کیف پول چند امضایی با سه آدرس ایجاد کنیم. هر سه آدرس در اینجا باید دارای کلید عمومی، کلید خصوصی و آدرس عمومی باشند:
- آدرس 1: کلید عمومی 1، کلید خصوصی 1 و آدرس عمومی 1
- آدرس 2: کلید عمومی 2، کلید خصوصی 2 و آدرس عمومی 2
- آدرس 3: کلید عمومی 3، کلید خصوصی 3 و آدرس عمومی 3
برای ایجاد آدرس عمومی در یک کیف پول با قابلیت چندامضایی، باید هرسه آدرس (کلید عمومی 1، کلید عمومی 2 و کلید عمومی 3) را به عنوان ورودی اعمال کنیم. همچنین در همین مرحله باید مکانیزم تعداد امضاهای موردنیاز برای انجام و تأیید معاملات را تعیین کنیم.
یعنی حداقل امضاهای موردنیاز برای انجام معاملات در این مرحله مشخص میشود. در مثالی که برای ایجاد کیف پول زدیم، مکانیزم 2 از 3 را در نظر گرفتهایم بنابراین حداقل 2 امضا برای انجام معاملات نیاز خواهد بود.
حال یک آدرس عمومی برای یک کیف پول چندامضایی ایجاد میشود که فرستنده میتواند با استفاده از آن اقدام به ارسال ارز دیجیتال به کیف پول کند. ارزهای دیجیتالی درواقع تنها و تنها با استفاده از این آدرس میتوانند به کیف پول ارسال شوند. از طرفی همراه با این آدرس، یک Redeem Script نیز تولید میشود. این اسکریپت قبل از هرگونه معامله با تمامی اعضای کیف پول به اشتراک گذاشته میشود تا اعتبار آدرس تأیید شود.
اکنون فرض کنید با همین سازوکار از چنین کیف پولی بخواهیم 10 بیت کوین برای شخص دیگری ارسال کنیم. یکی از اعضای کیف پول با آدرس 1 تراکنش را ایجاد میکند و با استفاده از کلید خصوصی خود (کلید خصوصی 1) آن را امضا و تأیید میکند.
حال با توجه به ساختار 2 از 3، به یک امضای دیگر برای ارسال نهایی 10 بیت کوین نیاز است. در این مرحله کافی است تا هرکدام از آدرسهای 1 یا 2 یا هردو تراکنش را با استفاده از کلیدهای خصوصی خود (کلیدهای خصوصی 2 و 3) امضا کنند. در این حالت معامله نهایی میشود و بیت کوینها به مقصد درخواستی برای طرف دیگر معامله ارسال میشوند.
معرفی 5 مورد از برترین کیف پول های چند امضایی
تعداد کیف پولهای چندامضایی بهدلیل ساختار خاص و استفادههای خاص آنها به اندازه کیف پولهای تک امضایی معمولی نیست. اکثر کاربران ترجیح میدهند با کیف پولهای تک امضایی کار کنند زیرا معمولا در امنیت کیف پولهای آنها مشکلی ایجاد نمیشود. اما این عدم حمله به کیف پول اصلا دائمی و ابدی نیست و هرزمان ممکن است رخ بدهد و تمام سرمایه یک تریدر یا سرمایهگذار را به باد بدهد!
برای جلوگیری از این اتفاق، بهتر است، استفاده از کیف پولهای چندامضایی جدی گرفته شود. در ذیل این قسمت تعدادی از برترین کیف پولهای چندامضایی یا Multisig Wallet معرفی شدهاند که میتوان از آنها بهره برد:
- کیف پول Armory: این کیف پول از نوع دسکتاپی و اپن سورس (متن باز) است. در این کیف پول امن و مطمئن کاربران میتواند کلیدهای خصوصی بیت کوین را تولید و ذخیره کنند. این کیف پول از قابلیت ذخیرهسازی سرد یا cold storage پشتیبانی میکند.
در این روش اطلاعات مربوط به کلیدهای خصوصی صرفا در یک کامپیوتر آفلاین ذخیره میشوند. این امر باعث کاهش مستقیم ریسک حملات میشود. در این کیف پول قابلیت چندامضایی هم وجود دارد و کاربران میتوانند با استفاده Lockboxes آدرسهای چندامضایی را به روشی کاملا توزیعی ایجاد کنند.
- کیف پول BitGo: این کیف پول در سه نسخه دسکتاپ، وب و موبایلی در دسترس است. کیف پول یادشده را میتوانیم قدرتمندترین کیف پول چند امضایی بیت کوین بدانیم.
در این والت با استفاده از Key-1 یا Client کاربر میتواند معامله را ایجاد و امضا کند. از طرفی Key-2 یا کلید BitGo، ابزاری است که با استفاده از آن سایر اعضای کیف پول میتوانند تراکنشهای ایجادشده را بررسی و امضا کنند. همچنین Key-3 یا کلید پشتیبان نیز برای مواقعی استفاده میشود که سایر کلیدها گم شوند. - کیف پول Coinbase: این کیف پول در نسخه تحت وب موجود است. عبارت hosted در این کیف نشاندهنده آن است که کاربر نیازی به کنترل کلیدهای خصوصی ندارد و مدیریت تمامی آنها با Coinbase است. علاوه بر این با قابلیت چند امضایی این کیف پول کاربر میتواند کلیدهای خصوصی خود را مدیریت کند.
- کیف پول CoPay: کیف پول ذکرشده در نسخههای موبایلی و دسکتاپ در دسترس است. در این کیف پول قابلیتی وجود دارد که از عبارت seed یک پشتیبان تهیه میکند. این ویژگی میتواند از مسدودشدن دسترسی در صورت مفقودی عبارت seed جلوگیری کند. همچنین این کیف پول چند امضایی نیز امکان مدیریت کلیدهای خصوصی و نگهداری از آنها برای کاربر را فراهم کرده است.
- کیف پول Electrum: کیف پول الکتروم در دو نسخه دسکتاپ و موبایل موجود است. این کیف پول دارای قابلیت چندامضایی است و از طرفی دیگر قابلیتهایی مانند ذخیرهسازی سرد دارد.
جمعبندی؛ کیف پول های چند امضایی Multisig Wallet
قابلیت چند امضایی (Multi-Sig) در کیف پولهای اینچنینی میتواند مزایای بسیار زیادی از جمله افزایش سطح امنیت سرمایه را به برای کاربران آن به همراه داشته باشد. اما از طرفی نگهداری از کلیدهای خصوصی آن باید به دقت انجام شود تا دسترسی کاربر به کیف پول قطع نشود. از طرفی، ممکن است در این کیف پولها که ساختار اشتراکی دارند، میان کاربران مختلف اختلافهایی درباره بعضی معاملات ایجاد شود.
اما به طورکلی میتوان ادعا کرد که کیف پول چند امضایی از نظر امنیتی برتر از کیف پولهای معمولی و استاندارد تک امضایی است. اما به شرطی که نگهداری از کلیدهای خصوصی به شکلی که بالاتر توضیح دادیم در دو دستگاه آنلاین و یک یادداشت آفلاین انجام شود.