مختصری از امنیت کیف‌پول‌های بیت‌کوین

در این نوشته سعی شده بگم که انتخاب یک کلید خصوصی نا امن (قابل پیشبینی برای دیگران) خطرناکه و اینکه کیف پولهای موجود چقدر در خطر حمله با روش Broute Force هستند.مقدمهچند سال پیش یک مقدار بیتکوین داشتم و اون رو به ناچار در یک سایت شبیه به بایننس (سایتی بنام لوکال-بیتکوینز) نگه داری میکردم. روزی این سایت به من ایمیل داد گفت چون ایرانی هستی حسابت رو میبندم و بیتکوینت رو مصادره میکنم!!! عه؟! خلاصه بیت کوینمون مصادره شد و سالها طول کشید که تونستیم بازپسگیری اش بکنیم. پیش خودم گفتم اینهمه که میگن بیتکوین غیر قابل ردیابی و محدود کردن و اینهاست چیه؟ حتما باید راهی باشه که بیتکوینام رو خودم نگه دارم. بعد از جستجو متوجه شدیم راههای دیگه هم برای نگه داری از بیتکوین بجز سایتهای واسط مثل بایننس و ... وجود داره و اونم نگه داری در کیف پول شخصی هست. طبق توضیحات قسمت ویکی سایت بیتکوین، کیف پولها رو میشه به چهار دسته افراز کرد: کیف پول سخت‌افزاری، چند امضایی، سرد و داغ. احتمالا در مقاله ای دیگه بهش میپردازیم. خلاصه ما نگاه کردیم و دیدیم کیف پول سخت افزاری رو که نمیتونیم استفده کنیم چو هم گرانه و مستلزم خرید قطعه سخت افزاری هست و هم اینکه همون مشکل مصادره شدن رو داره. پس به ناچار باید بریم سراع سه گزینه ی دیگه. الان میدانم کیف پول چند امضایی هم پیچیده هست و کاری بهش ندارم، پس دو تا انتخاب ماند: کیف پول سرد و داغ. که جفتشون مساله ای بنام امنیت دارند که خیلی هم مهمه. در اصل مساله به اونجایی بر میگرده که تعداد کیف پولهای بیتکوین متناهی هستند. به نوعی میشه اینطوری برداشت کرد که برای نگه داری از بیتکوین در کیف پول شخصی، باید اول یک کیف پول انتخاب کنیم و سپس بیتکوینهامون رو داخلش بریزیم. دقت کنید از واژه ی ساختن استفاده نکردم. برای تفهیم بهتر با یک داستانک ادامه میدیم:کمدهای باشگاه احتمالا براتون پیش اومده به باشگاه یا مسجد یا جایی رفتید که کمدهاش و یا جاکفشی هاش قفل نداشتند و وسایل رو باید همینطوری داخل یک کمد به امان خدا بگذاریم.قفسه‌های یک مکان عمومیخوب فرضا فردی توی این شرایط قرار میگیره و مجبور میشه وسایلش رو توی یکی از این قفسه ها بزاره. طبیعتا اول دودوتا میکنه میبینه اگه وسایلمو بزارم و اینها هم کلید نداره ممکنه یک نفر بیاد وسایلمو ببره. پس با توجه به مقوله‌ی امنیت طبیعتا میره توی یکی از اون قفسه هایی کناری یا بالایی که دم دست نیست وسایل رو میزاره، به این امید که اگر یکی بیاد و بخواد وسایلشو بدزده، در درجه اول پیدا کردنش براش سخت باشه. یک جورایی شبیه به پنهان کردن وسایل در داخل یکی از این کمدها هست. فرضا 100کمد هست، آقا دزده باید بیاد 100کمد رو باز کنه تا بتونه وسایل رو پیدا کنه که این کار زمان گیری هست براش، دقت کنید زمان گیره ولی غیر ممکن نیست.بیت کوین هم چیز مشابهی هست، هر کیف پول بیتکوین از یک کلید خصوصی ساخته میشه. البته بعضی هم از چند تا کلید خصوصی ساخته میشن که ما بهشون کاری نداریم. طول کلید خصوصی 32 بایت هست. و هر بایت 256 حالت مختلف میتونه داشته باشه. با این حساب تعداد کل کیف پولهای محتمل برای بیتکوین معادل "256 به توان 32 " تا دونه میشه که ما در اصل یکی از اینها رو انتخاب میکنیم.بر میگردیم به داستان کمد‌ها. فرض کنید تعداد کمدهای بجای 100 تا باشه ده هزار تا. اینطوری میشه یک کمد پرت پیدا کرد و با خیال راحت تر وسایلمون رو توش بزاریم. چون دیگه کمتر کسی پیدا میشه که بتونه در عرض چند دقیقه بیاد همه ده هزار تا کمد رو بگرده و وسایل ما رو پیدا کنه و برداره یعنی هرقدر تعداد کمدها بیشتر باشه امنیت وسایلی که توش میزاریم بالاتر میره.توی این داستان وقتی ما میخواهیم یک کمد انتخاب کنیم در اصل همون موقعی هست که میخواهیم یک کلید خصوصی انتخاب کنیم.با این تفاوت که تعداد کمدها 265 به توان 32 عدد هست. این عدد خیلی بزرگی میشه حدود 10 به توان 77. یعنی با وجود ابر رایانه های امروزه چند صد سال و شاید هزاران سال طول میکشه تا کسی بتونه همه ی کلید های خصوصی رو چک کنه و ببینه توی هرکدوم چقدر بیت کوین هست. یادم هست جایی خوندم احتمال اینکه کسی توی اولین انتخاب بتونه کلید خصوصی شما رو حدس بزنه خیلی خیلی کمتر از اینه که توی اولین سعیش بتونه یک دونه ماسه بادی که شما توی یک ساحل چند کیلومتری پنهان کردید رو پیدا کنه. البته اگه کلید خصوصی رو بطور صحیح انخاب کرده باشید، یا به عبارت دیگه وسایلتون رو توی کمد شماره 1 نذاشته باشد.