آیا میشه کلمات کلیدی یه ولت رو حدس زد؟!➖➖➖➖➖➖➖توجه: لازمه ی فهم کامل این مطلب، دونستن فرق پرایوت کی با سید فریز و فرق پابلیک کی با آدرس ولت و همچنین اطلاعات کلی از مکانیسم بلاکچین ها و فرآیندهای رمزنگاری هستش؛ اگه نمیدونین، در موردش بخونین وگرنه ممکنه گیج شین🙏➖➖➖➖➖➖➖کلمات کلیدی ولت ها همیشه از بین یک سری کلمه ی خاص انتخاب میشن؛
دقیق تر بخوام بگم مثلا تو بیت کوین، اتریوم و اکثر بلاکچینای دیگه که از استاندارد BIP-39 استفاده میکنن، ما کلا ۲۰۴۸ کلمه ی مختلف داریم که میشه به عنوان کلمه ی کلیدی باشن (میتونین
اینجا همه شونو ببینین) و اگه ولتی با ۱۲ کلمه رو در نظر بگیریم، ما
54,445,178,707,350,154,154,139,93,718,908,291,383,296
ترتیب مختلف با این کلمات داریم!
🤯این عدد چیزی نزدیک به ۶۸ کوینتیلیون بار بزرگتر از جمعیت جهانه
😁خب قطعا تا حالا بزرگی این عدد و از اونطرف ناچیز بودن احتمال پیدا کردن سید فریز یه ولت به صورت شانسی رو درک کردین! پس میشه گفت احتمال حدس زدن صفره!
اما ما داریم در مورد زمان حال صحبت میکنیم...
احتمالا به ذهنتون خطور کرده که آیا ممکن نیست با پیشرفت تکنولوژی و ظهور کامپیوترهای کوانتومی، سیدفریزها قابل حدس زدن بشن؟
🤔➖➖➖➖➖➖خب بیاین در موردش بحث کنیم👇اول از همه بیایم در مورد کامپیوتر کوانتومی صحبت کنیم...
کامپیوتر کوانتومی بسیار قوی تر و سریع تر از کامیپوتر های معمولی امروز هستن؛ دو تا از مهترین دلیلاش: 1⃣استفاده از
Qubits (0 یا 1 یا ترکیب اونا) به جای bits (فقط 0 یا 1)
2⃣حل کردن مسائل با رویکرد
all at once به جای رویکرد
step by step (کامپیوترهای معمولی)
پس انتظار داریم که کارایی که کامیپوتر معمولی در انجامش ضعف داشت رو بهتر انجام بده!
اما باید بدونیم در عین اینکه کوانتومی ها خیلی قوی تر هستند اما بازم کافی نیستند!
👈با کامپیوتر معمولی باید ۲ به توان ۱۲۸ بار تلاش کنیم تا یه سید فریز کشف کنیم و با کامپیوتر کوانتومی این عدد به ۲ به توان ۶۴ کاهش پیدا میکنه (خیلییییی کمتر شد اما همچنان خیلییییی بزرگه!)
پس همچنان باید بیخیال این فرضیه شیم که بشه سید فریز رو حدس زد!
اما یه سوال؟!چرا گیر دادیم به
«حدس زدن»؟ که خیلی کار سختیه؟!
میدونیم که از سید فریز ما، پرایوت کی های مختلفی (برای هر اکانت ولت) ساخته میشه که هر کدوم از اون پرایوت کی ها، یه پابلیک کی مخصوص به خودشون دارن.
درواقع بین پرایوت کی (که اگه داشته باشمش میتونم به یه اکانت ولت دسترسی پیدا کنم) و پابلیک کی به رابطه برقرار هست...
(این رابطه در بیت کوین در فرایند ECDSA و با استفاده از تابع هش SHA-256 هست که میتونین درموردشون مطالعه کنین)
حالا جالبه بدونین که کامیپوتر های کوانتومی احتمالا در آینده (طبق پیشی بینی ها حدود ۲۰ سال آینده) میتونن اینجا مشکل ساز بشن...
چجوری؟
اونا میتونن فرایند تبدیل پرایوت کی به پابلیک کی رو برعکس انجام بدن! و به عبارتی از پابلیک کی، به پرایوت کی برسن!
(کمی تخصصی تر: مثلا تابع هش یه تابع یکطرفه س که به ازای هر ورودی، یه خروجی ثابت و منحصر به فرد داره؛ ما نمیتونیم خروجی رو به تابع بدیم تا بهمون ورودی رو بده، ولی در عوض میتونیم بی شمار ورودی بدیم و خروجی ها رو بررسی کنیم و نهایتا وقتی یکی از خروجی ها مشابه خروجی مدنظرمون بود، بفهمیم ورودی چی بوده!
انجام این کار بسیار بسیار سخت و طولانیه ولی نه در حد حدس زدن سید فریز! پس کامیپوتر کوانتومی میتونه از پسش بر بیاد؛ برای مطالعه ی بیشتر در مورد shor's algorithm بخونین)
➖➖➖➖➖➖➖➖سوال: آیا بدبخت شدیم؟
😁خب اگه دقت کرده باشین ما در مورد سید فریز یا همون کلمات کلیدی (که با داشتن اون میشه به تمام اکانتهای یه ولت دسترسی داشت) حرفی نزدیم و از طرفی نقطه ضعف ما پابلیک کی ما بود!
در نتیجه راه حل های مطرح میشه؛
مثلا جلوگیری از Address Reuse با استفاده از ولت هایی که از HD address پشتیبانی میکنن ( ساده تر بگم؛ مثلا ولت لجر برای بیت کوین این قابلیت رو داره و شما هر بار که بخوای به ولت خودت بیت کوین بزنی، آدرس جدید میگیری!)
حالا دلیل این کار چیه؟
خیلی ساده بخوام بگم؛ شما مدرک کمتری برای کنار هم قرار گذاشتن ایجاد کردین! (میدونیم همه ی آدرس ها قراره به یه پرایوت کی یکسان ختم شه!)
(همین الان سریع بگم که تو اتریوم در حد بیت کوین پابلیک کی تو تراکنش ها مشخص نمیشه؛ پس اتریوم خیلی به این قابلیت نیازی نداره)
از سایر روش ها هم میشه به استفاده از ولت های مولتی سیگ، انتقال فاند ولت بلافاصله بعد از نمایان شدن پابلیک کی، هش گذاری چندین باره (layered hashing) و... اشاره کرد
👈البته دقت کنین که دولوپرها هم دست روی دست نذاشتن و قطعا در آینده بلاکچینا اصطلاحا qunatum-resistance میشن!
اصلا نگران نباشین! کریپتو جاییه که رو دست برنامه نویس ها میچرخه که خودشون کارشونو بلدن!
@mrfticrypto