شایان اسکندری | 1396.12.23

مدیریت کلید بیت کوین (قسمت آخر)

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

مدیریت کلید بیت کوین (قسمت یازدهم)

خلاصه گویی

خلاصه گویی و خودکار سازی، از مشکلات پیچیده برای نرم افزار های امنیتی هستند. اغلب مسئله امنیت بسیار پیچیده تر از آن است که بخواهد کاملا خودکار انجام شود، و مشکلات اغلب به سمت کاربر مربوط خواهند شد (به طور مثال در مورد مجوز های TLS).

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

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

بازیابی کیف با کلید های از دست رفته، به وجود یک نسخه پشتیبان به روز شده وابسته است. با وجود این که پشتیبان گیری کاری ساده به نظر می اید، در بسیاری از کلاینت های بررسی شده، نیاز به پیدا کردن منوی درست دارد (MultiBit)، و یا یافتن فایل درست (Bitcoin Core).

نسخه پشتیبان

بعضی کلاینت ها از کاربر تقاضا می کنند تا از کیف خود نسخه پشتیبان تهیه کنند ( به طور مثال Bitcoin Armory)، اما با وجود کلید های خصوصی که کاملا نامحسوس بوده اند، در پروسه تولید کیف پول کاربران ممکن است حتی ندانند که از چه چیزی دارند نسخه پشتیبان تهیه می کنند و حتی چرا این کار را می کنند. و همچنین key Churn  و نیاز دائم به تهیه نسخه پشتیبان مشکل را دو چندان می کند.

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

به هر حال بسیاری از کلاینت های بررسی شده، موجودی ها را در یک موجودی خلاصه می کنند؛ که این مسئله مشکلات استفاده از کیف کاغذی را نمایان می کند – کاربر باید موجودی های مختلف را به صورت دستی مدیریت کرده، و هیچ متدی برای تجمیع و مشاهده کیف های کاغذی مختلف نمی باشد.

زبان فنی و محتوا در مدیریت کلید بیت کوین

مدیریت کلید بیت کوین : مشکلات خلاصه گویی و خودکارسازی نرم افزار ها (قسمت آخر)

تصاویری از زبان فنی نمایش داده شده توسط دو کلاینت مختلف

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

از مثال های این زبان می توان به MultiBit و Bitcoin Core اشاره کرد که کلاینت را out of sync “همگام سازی نشده” و یا synchronizing with the network “در حال همگام سازی با شبکه” می خواند که به پروسه دانلود یک کپی کامل از زنجیره بلاک ها و یا دریافت بلاک های مربوطه از یک منبع مطمئن اشاره می کند ( تصویر a). یک پیام مشابه در MultiBit (تصویر b) و Armory شماره بلاک هایی که دانلود شده اند و هم چنین تعداد اتصالات با شبکه بیت کوین را نشان می دهد.

این پیام ها قرار است که به کاربر نشان دهند که از تعداد اتصالات بیشتر و نتیجتا سرعت بالا تر بهره خواهد برد، اما چون کنترل  اتصالات برای کاربر سخت است، حتی با دانستن این موضوع هم منفعت خاصی متوجه کاربر نخواهد شد. در یک وضعیت مشابه، تعداد بلاک ها به طور مجزا تاثیر کمی بر روی وظایف انجام شده توسط کاربر دارد. ما بر این باور هستیم که نه تنها می توان این اصطلاحات را شفاف تر کرد، رابط کاربری می تواند مقدار اطلاعاتی که بر روی صفحه به کاربر نشان می دهد را ساده سازی کند.

حذف پیچیدگی ها با استفاده از استعاره ها در مدیریت کلید بیت کوین

ما همچنین متوجه شدیم که بعضی کلاینت ها از زبان بسیار فنی استفاده می کنند، در حالی که می توانند از استعاره ها استفاده کنند تا یک توضیح ساده تری برای کاربر فراهم آید. وقتی قصد ایجاد یک تراکنش جدید در Blockchain.info با موجودی ناکافی را داریم، رابط کاربری وب پیام “هچ خروجی آزادی برای خرج کردن وجود ندارد – No free output to spend” را نشان داد. این خطا گیج کننده است، و خیلی قابل فهم تر بود اگر  به کمبود بیت کوین به جای کمبود خروجی اشاره می کرد.

مدیریت کلید بیت کوین : مشکلات خلاصه گویی و خودکارسازی نرم افزار ها (قسمت آخر)

http://blog.bitaccess.ca

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

در کلاینت های بررسی شده، اغلب منابع کمی برای کمک و راهنمایی وجود داشت. در قسمت بررسی های شناختی، پاسخ سوال “آیا کاربر می داند که چه کار کند؟” تقریبا همیشه نا مشخص بود. کمبود راهنمایی برای رابط های کاربری و امکاناتی از قبیل ابزار راهنمایی، wizard ها و دیگر کمک های متنی، کاملا مشهود بود.

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

نتیجه گیری

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

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

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

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

مترجم: میثم رضایی