امروزه نگهداری دارایی های دیجیتال در ولت های بسترهای مبادله یا
همان اکسچنج ها، برای کاربران ارزدیجیتال به یک چالش جدی بدل شده
است. هزینه بالای نقل و انتقال در شبکه هایی نظیر بیت کوین و
اتریوم و بعضاً زمان بالای انتقال باعث می شود تا انگیزه انتقال
دارایی به کیف پول شخصی کاهش یابد و از طرف دیگر تجارب تلخ نگهداری
رمزارز در برخی بسترهای مبادله از جمله هک شدن یا کلاهبرداری
مالکان بستر سبب می گردد نگهداری دارایی در اکسچنج با ریسک بالایی
همراه باشد. همینطور تجربه کم کاربران در استفاده از کیف پول های
شخصی برای نگهداری دارایی های رمزارزی ، مکرراً باعث به وجود آمدن
زمینه های کلاهبرداری و تخلیه ولت های شخصی می شود. در این نوشتار
سعی شده است تا علاوه بر شفاف سازی پیرامون سامانه نوین ذخیره سازی
رمزارزی در نوبیتکس به عنوان اولین بستر دانش بنیان مبادله
ارزدیجیتال در کشور به برخی از دغدغه ها و سؤالات فعالان این حوزه
و حاکمیت پاسخ داده شود.
پیاده سازی این ساختار نوین توسط متخصصان داخلی نوبیتکس و با
توجه به مسائل روز انجام شده و بسیاری از محدودیت ها صرفاً به
صورت خودخواسته و در راستای دغدغه های امنیتی کاربران و حاکمیت
اعمال گردیده است. در نتیجه این محدودیت های اعمال شده امروز با
افتخار اعلام می نماییم، یک سامانه امن ذخیره سازی رمزارز طراحی
و پیاده شده است که ضمن حفاظت کامل از دارایی های رمزارزی
کاربران، هیچ یک از مدیران نوبیتکس به تنهایی دسترسی به دارایی
نداشته و امکان تخلیه این سامانه به صورت فردی وجود ندارد.
ساختار سامانه cold wallet در اکسچنجها به صورت کلی در شکل زیر نشان داده شدهاست.
در این روش، برای حفظ داراییهای کاربران، والتها به دو دسته hot و cold تقسیم میشوند. والتهای hot وظیفه انتقال داراییها به خارج از محیط اکسچنج را دارند. برداشتهای رمزارزی به والتهای مورد نظر کاربران توسط hot wallet ها انجام میگیرند. در هر لحظه دارایی بسیار اندکی در hot wallet ها نگهداری میشود و این والتها دائما توسط cold wallet ها در حال شارژ هستند.
هرچند بسیاری از اکسچنج ها مخصوصاً اکسچنج های پرتراکنش، کیف پول کاربران به صورت hotwallet نگهداری شده و به محض واریز یا در فواصل مشخص، این هات ولت ها به آدرس های کلد تخلیه می شوند اما در نوبیتکس به علت اولویت داشتن امنیت، آدرس های کاربران به صورت cold wallet نگهداری میشود. هنگامی که کاربری یک آدرس واریز از اکسچنج درخواست میکند، یکی از آدرسهای سیستم cold به کاربر اختصاص داده میشود. به این ترتیب سیستم cold wallet مسئولیت تشخیص واریزهای کاربران و نگهداری از آنها را بر عهده دارد. برای افزایش امنیت cold wallet این سیستم به دو زیربخش cold wallet core و cold gateway تقسیم میشود. بخش cold wallet core هیچ ارتباطی با محیط خارجی نداشته و هرگز به هیچ شبکهای متصل نمیشود، همچنین این بخش کلیدهای خصوصی والتهای کاربران را در خود جای دادهاست. وظایف کلی این بخش شامل موارد زیر است:
در مقابل، بخش cold gateway به اینترنت دسترسی داشته و وظیفه تولید تراکنش و برادکست آن در شبکه را به عهده دارد. لازم به ذکر است که بخش cold gateway به کلیدهای خصوصی والتها دسترسی ندارد.
دلیل استفاده از این ساختار در نوبیتکس، افزایش امنیت والتهای شامل دارایی کاربران است. به این ترتیب، حتی اگر تمام اکوسیستم اکسچنج توسط هکرها هک شود، داراییهای رمزارزی کاربران محفوظ میماند چرا که هکرها نمیتوانند به سیستم cold wallet core که به هیچ شبکهای متصل نیست، دسترسی داشته باشند.
مشکل اصلی مدل معمول که در بالا توضیح داده شد single point of failure بودن بخش core است. این مشکل را به دو صورت میتوان تعریف کرد:
برای حل این مشکلات راهحلهای رمزنگاری بنیادینی وجود دارد. ما در نوبیتکس برای رفع آنها، راهحلی مبتنی بر رمزنگاری پایهای در بلاکچین استفاده کردهایم. بنایراین ساختار کلی سیستم cold wallet نوبیتکس به شکل زیر است:
همانطور که در شکل مشخص است اینبار، هر دو سامانه cold gateway و cold wallet core در تولید والتها مشارکت دارند. برای تولید آدرسهای جدید برای کاربران، فرآیند تولید کلیدها در هر دو سامانه اجرا میشود. برای تولید یک آدرس، هر بخش (core و gateway) کلید عمومی خود را در اختیار بخش دیگر میگذارد. در ادامه هر بخش با در دست داشتن کلید خصوصی خود و کلید عمومی بخش دیگر میتواند به یک آدرس دست یابد. این آدرس در هر دو قسمت به صورت مستقل تولید شده و به دلیل خواص رمزنگاری استفاده شده یکسان است(این روش رمزنگاری برپایه mpc یا همان multi-party computation است و با پروتکلهای تبادل کلید مانند روش Diffie–Hellman متفاوت است و دو طرف ارتباط به یک کلید عمومی (نه خصوصی) مشترک دست پیدا میکنند). در این روش برای دستیابی به امضای کامل، نیاز به امضای مستقل هر دو سامانه وجود دارد. به این ترتیب کلیدهای هر بخش از سیستم cold به تنهایی به درد نخواهد خورد. بنابراین حتی با داشتن دسترسی فیزیکی به بخشcold wallet core، نمیتوان تهدیدی برای داراییهای کاربران ایجاد کرد.
لازم به ذکر است که این فرآیند کاملا مستقل از نوع بلاکچین بوده و هیجگونه تاثیری در ساختار تراکنشهای ساخته شده ندارد. به بیان دیگر، این روش چند امضایی برای شبکه هایی که حتی ماهیتاً امکان ساخت کیف پول چند امضایی را ندارند قابل پیاده سازی است. در این روش، آدرسها و تراکنشها هیچ فرقی با روش عادی ندارند. عملیات چندامضایی کاملا به صورت رمزنگاری پایهای پیادهسازی شده و به هیچ وجه از بلاکچین قابل تشخیص نمیباشند. علاوهبراین، بر خلاف روش قبلی، در هیچ لحظه و در هیچ بخشی (حتی به صورت موقت) کلیدهای اصلی والتهای native multisig تولید و ذخیره نمیشوند. به این ترتیب، هیچ فردی در هیچ زمانی نمیتواند بهتنهایی دسترسی به داراییهای رمزارزی کاربران نوبیتکس داشته باشد.
این متن برای اطلاعرسانی عمومی امنیت سیستم cold در نوبیتکس نوشته شده است. لذا، از درج جزئیات فنی پروتکل native multisig در نوبیتکس خودداری شده است. بزودی white-paper فنی مربوط به این پروتکل توسط تیم فنی بلاکچین در نوبیتکس به صورت عمومی انتشار خواهد یافت.
دارایی های رمزارزی در نوبیتکس به دو صورت ذخیره سازی سرد (cold wallet) و ولت های تسویه (hot wallet) نگهداری می شوند. مجموع منابعی که در hot wallet ها نگهداری می شود، به عنوان دارایی پرریسک برابر با مقداری انتخاب می شود که علاوه بر پاسخگویی مداوم و سریع به نیاز برداشت کاربران، در صورت از دست رفتن دارایی، از محل دارایی های نوبیتکس به راحتی قابل جایگزین باشد. بخش عمده دارایی های کاربران به شکل ذخیره سازی سرد یا در cold wallet ها نگهداری می شوند که با توجه به توضیحات بالا، می توان ادعا نمود امکان هک آن بسیار کم است.
همانطور که در مقاله نیز اشاره شد، ساختار ارتباطی ساخت و امضاء تراکنش در سامانه cold wallet نوبیتکس به گونه ای طراحی شده است که هیچ فردی به صورت تام دسترسی برای تخلیه بدون اجازه نداشته باشد. حتی مدیران ارشد نوبیتکس نیز با طراحی صورت گرفته هر یک به بخشی از فرآیند دسترسی داشته و بدون فرد دیگر، امکان تکمیل فرآیند وجود ندارد. همچنین آدرس های مقصد در سامانه ساخت تراکنش و سامانه امضاء تراکنش ثابت بوده و چک می شوند که با توجه به مجزا بودن این سامانه ها امکان انتقال به آدرس غیر وجود نخواهد داشت.
یکی از نکات کلیدی در تمرکززدایی از سطح دسترسی مدیران، چنین دغدغه ای بوده است. ما در سامانه جدید با طراحی یک مکانیسم فنی-حقوقی، در صورت عدم دسترسی به یکی از مدیران برای مدت مشخص، امکان انتقال حق دسترسی به فرد دیگر را فراهم آورده ایم.