چیزهایی که باید بدانید: |
- Miniscript امکان ساخت کیف پول های نرم افزاری بیت کوین را فراهم می کند که بهره برداری از یک درب پشتی را غیرممکن می کند. ما خوشحالیم که بگوییم Ledger اولین تولید کننده کیف پول سخت افزاری تجاری است که از miniscript پشتیبانی می کند.
- ویژگی های اضافی را می توان بدون به خطر انداختن تجربه کاربر پیاده سازی کرد. |
دستگاههای امضای سختافزار به گونهای طراحی شدهاند که از کاربر در برابر بردارهای حمله رایج مختلف محافظت کنند، مانند:
- دسترسی و استخراج غیر مجاز بذر
- بدافزاری که کیف پول نرم افزار مرتبط شما را آلوده می کند
- آسیب پذیری های نرم افزاری روی خود دستگاه
مانند هر تجارت دیگری، ساختن دستگاهها به نفع سازنده است شکست ناپذیر همانطور که می توانند موفقیت در این ماموریت بسیار مهم است و شرکت های امنیتی مانند Ledger به شهرت و اعتباری که بر اساس سابقه خود ساخته شده است، متکی هستند.
با این حال، برخی از کاربران ممکن است همچنان نگرانی داشته باشند. چه چیزی خود شرکت را از مخفی کردن یک درپشتی در دستگاه ها؟
در حضانت خود، ما اعتماد نکنید, ما تایید می کنیم.
اما کاربر می تواند واقعا بررسی کنید که دستگاهی در پشتی ندارد؟
این سوال کلیدی است که این مقاله به آن می پردازد. به طور دقیق تر، این مقاله به موضوعات زیر می پردازد:
- درب پشتی چیست و چرا اثبات اینکه در پشتی وجود ندارد، اگر نگوییم غیرممکن، دشوار است.
- چرا فقط کاربران می توانند از خود در برابر این خطر محافظت کنند.
- چگونه مینی اسکریپت راه حل های عملی را برای این چالش برای کیف پول بیت کوین ممکن می کند.
با بودن اولین کیف پول سخت افزاری برای پشتیبانی مینی اسکریپت، امیدواریم توسعه دهندگان را ترغیب کنیم تا راه حل های ایمن بسازند و کل صنعت خود را ارتقا دهند و احتمال تحقق چنین ریسک سیستمی را از بین ببریم.
چگونه می توان ساخت بدون درب پشتی دستگاه امضا
بگذارید واضح بگوییم: شما نمی توانید.
برای دفاع از خود در برابر یک درب پشتی احتمالی، به مدل حمله متفاوتی نسبت به مدلی که در بالا توضیح دادیم نیاز دارید: در این سناریو، حریف ممکن است خود فروشنده یا یک خودی فاسد باشد.
راه حلی که اغلب برای این مشکل تبلیغ می شود منبع باز است: در نهایت، اگر بتوانید کد را بررسی کنید، چه چیزی ممکن است اشتباه پیش برود؟
با این حال، حقیقت پیچیده تر است. از آنجایی که فروشنده سخت افزار را مونتاژ می کند، یک درب پشتی می تواند به طور کامل درون آن قرار گیرد. این سخت افزار می تواند به گونه ای طراحی شود که نرم افزار را در نقاط خاصی نادیده بگیرد و به جای آن کدهای مخرب را اجرا کند.
بر خلاف نرم افزارهایی که بر روی دستگاه های محاسباتی همه منظوره (مانند لپ تاپ یا تلفن شما) اجرا می شوند، بررسی دقیق سخت افزار با فناوری امروزی عملا غیرممکن است. حتی اگر مشخصات سختافزاری کاملاً متنباز و با جزئیات تک تک گیتها در مدار باشد، همچنان به تجهیزات پرهزینهای نیاز دارید تا تأیید کنید که یک تراشه خاص مطابق با آنها ساخته شده است.
نحوه درب پشتی کیف پول سخت افزاری
در اینجا چند مورد از سادهترین روشهایی که یک فروشنده سختافزار مخرب میتواند برای معرفی درب پشتی استفاده کند، همراه با روشهایی که کاربران قدرتمند میتوانند امروزه از خود محافظت کنند، آورده شده است.
تولید بذر
بسیاری از دستگاهها به شما امکان تولید دانه را میدهند (که به آن دانه نیز میگویند عبارت بازیابی مخفی) مستقیماً روی دستگاه، با استفاده از a تولید کننده شماره تصادفی واقعی.
😈 دستگاه شیطانی می تواند دانه هایی تولید کند که تصادفی به نظر می رسند اما در واقع برای مهاجم قابل پیش بینی هستند.
🛡️ کاربران قدرتمند می توانند با ایجاد حافظه آفلاین این مشکل را دور بزنند. علاوه بر این، ترکیب قوی عبارت عبور همچنین می تواند یک دانه کاملا مستقل تولید کند که فروشنده سخت افزار نمی تواند آن را پیش بینی کند. مبادله این است که کاربران باید اطمینان حاصل کنند که علاوه بر کلمات یادگاری، از عبارت عبور به درستی پشتیبان تهیه می کنند.
استخراج کلید عمومی
کیف پول های سخت افزاری استخراج و صادر می کنند کلیدهای عمومی (همچنین به نام xpubs، کوتاه برای کلید عمومی توسعه یافته همانطور که در تعریف شده است BIP-32. xpubs برای ایجاد آدرس های ممکن برای دریافت سکه ها استفاده می شود.
😈 دستگاه شیطانی می تواند کلیدهای عمومی کنترل شده توسط مهاجم را به جای کلیدهای صحیح مشتق شده از seed بازگرداند.
🛡️ کاربران می توانند به دست آمده اعتبار سنجی کنند xpub در یک دستگاه آفلاین دیگر با این حال، وارد کردن دانه در دستگاه های دیگر خطرات خاص خود را دارد. کاربران آگاه از امنیت ممکن است هر دستگاهی را که به seed دسترسی داشته باشد، خطرناک بدانند که به طور بالقوه در حد نابود کردن آنهاست. کاربر معمولی ممکن است در اجرای صحیح این روش در حین مدیریت خطرات اضافی با مشکل مواجه شود.
درز اطلاعات
An فاصله هوا اغلب به عنوان راه حلی برای جلوگیری از نفوذ یک دستگاه مخرب یا در معرض خطر از کلیدهای خصوصی پیشنهاد می شود. به هر حال، اگر دستگاهی نتواند با دنیای بیرون ارتباط برقرار کند، نمیتواند هیچ آسیبرسانی انجام دهد، درست است؟
نه کاملا!
وقتی دستگاه در حال استفاده است همیشه می تواند ارتباط برقرار کند: امضا تولید می کند. این امضاها در داخل تراکنش هایی قرار می گیرند که برای همیشه در بلاک چین پخش و ذخیره می شوند.
امضا یک رشته بایت تصادفی با حداقل 64 بایت است. با این حال، از آنجایی که بیش از یک امضای معتبر میتواند با یک پیام مطابقت داشته باشد، یک دستگاه مخرب میتواند هر بار که امضایی تولید میشود، چند بیت از اطلاعات را با تولید چندین امضا و انتخاب انتخابی که برای انتشار منتشر میکند، با یکدیگر ارتباط برقرار کند.
😈 یک دستگاه سرکش ممکن است امضاهای غیر تصادفی تولید کند که در بسیاری از تراکنشها، بذر را برای مهاجم آشکار میکند!
مهاجمی که موفق به نصب چنین درب پشتی شده است، فقط باید منتظر باشد تا امضاهای مخرب در بلاک چین ظاهر شوند تا زمانی که اطلاعات کافی برای بازسازی کل seed داشته باشند.
🛡️ برای امضاهای ECDSA، با استفاده از یک روش استاندارد شده برای استخراج غیر قطعی (مانند RFC6979) این حمله را خنثی می کند، مشروط بر اینکه شخص تأیید کند که امضای تولید شده با امضای مورد انتظار مطابقت دارد. با این حال، اطمینان از این امر مستلزم بارگیری دستگاه دوم با همان دانه است که منجر به همان مشکلات عملی ذکر شده در بخش قبل می شود.
🛡️ یک رویکرد جالب استفاده از روشی هوشمندانه برای مجبور دستگاه در واقع یک غیر تصادفی را انتخاب کند. پروتکلی برای این منظور که به آن معروف است ضد اکسفیل or ضد کلپتو، در حال حاضر در کیف پول های سخت افزاری Blockstream Jade و ShiftCrypto BitBox02 پیاده سازی شده است. ادامه مطلب را بخوانید وبلاگ ShiftCrypto، که شامل توضیحات فنی در مورد نحوه اجرای چنین حمله ای نیز می شود.
باشه پس امیدی نیست؟
اکثر دفاعهای ذکر شده در بالا عمدتاً از کاربر میخواهند تا اقدامات آشکار و مداخلهای را برای محافظت از خود انجام دهد: یا با تولید دانه به خودی خود (در اصل، استفاده از مغز خود برای جایگزینی عملکرد از کیف پول سختافزاری)، یا استفاده از یک دستگاه اضافی برای تأیید اینکه محاسبات به درستی اجرا شده اند.
با این حال، پروتکل ضد exfil برجسته است: با توجه به اینکه همیشه یک ماشین میانجی بین امضاکننده سخت افزار و دنیای خارج وجود دارد، این دستگاه می تواند کمک کند. از طریق یک پروتکل تعاملی با امضاکننده سخت افزار، می تواند اعمال استفاده از یک غیر تصادفی واقعی، در نتیجه شانس دستکاری قابل توجه امضای نهایی را کاهش می دهد یا از بین می برد.
در این پست وبلاگ، ما در درجه اول به این نوع اقدامات علاقه مندیم: در حالی که استراتژی هایی که به طور قابل توجهی UX را بدتر می کنند می توانند برای کاربران قدرتمند جذاب باشند، آنها احتمالا چیزهایی را ایجاد می کنند. بدتر در عمل برای کاربرانی که از نظر فنی کمتر خبره هستند - که اکثریت قریب به اتفاق است.
مدل امنیتی
مدل استاندارد برای امضاکنندگان سخت افزار
هدف تولیدکنندگان امضاکننده سخت افزار محافظت از کاربران در برابر انواع تهدیدات بالقوه است (برای جزئیات بیشتر، رجوع کنید به مدل تهدید). در این مقاله، ما بر روی یک ویژگی بسیار مهم تمرکز می کنیم که می توان آن را به شرح زیر خلاصه کرد:
کاربران را نمی توان فریب کاری داد که منجر به از دست دادن وجوه می شود، مشروط بر اینکه اطلاعات روی صفحه را قبل از تأیید درک کرده و تأیید کنند.
برای هر اقدام حساس، به ویژه امضا، تأیید لازم است. اگر بدافزار بتواند امضایی برای پیامهای دلخواه تولید کند، مانند تراکنشهایی که تمام سرمایهها را تخلیه میکند، محافظت از دانه بیهوده خواهد بود!
بسیار مهم است که تأکید کنیم ویژگی فوق باید صادق باشد حتی اگر کیف پول نرم افزار به طور کامل در معرض خطر باشد. آنچه در صفحه نمایش لپ تاپ/تلفن شما نمایش داده می شود قابل اعتماد نیست: بدافزار میتواند جایگزین آدرسها شود، شما را فریب دهد که کدام آدرس متعلق به شماست، یک تراکنش ارائه کند اما سپس یک مورد دیگر را برای امضا به دستگاه ارسال کند و غیره.
بنابراین، سفتافزار و برنامههایی که روی دستگاه امضای سختافزار اجرا میشوند، به طور ذاتی کیف پول نرمافزار را در نظر میگیرند غیر قابل اعتماد و غیر قابل اعتماد
مدل امنیتی ضد درب پشتی برای کیف پول های نرم افزاری
در این قسمت نقش ها را به طور کامل ورق می زنیم. اکنون می خواهیم a را طراحی کنیم کیف پول نرم افزار که از دزدی یا از دست دادن سرمایه توسط سازنده سخت افزار جلوگیری می کند، حتی اگر دستگاه کاملاً مخرب باشد.
از این رو، این نمی تواند یک ویژگی از دستگاه: بلکه یک خاصیت از کیف پول نرم افزار برپایی. می توانیم آن را به صورت زیر خلاصه کنیم:
به شرطی که کیف پول نرم افزاری به خطر نیفتد، سازنده سخت افزار نمی تواند باعث از دست دادن وجه کاربر شود.
این ممکن است غیر منطقی به نظر برسد، زیرا مستقیماً با مدل امنیتی استاندارد که در بالا توضیح داده شد در تضاد است. با این حال، "نداشتن درب پشتی" به معنای "انجام دادن دقیقاً همان کاری است که قرار است انجام دهند". از آنجایی که کیف پول نرم افزاری است تنها رابط بین دستگاه امضا و دنیای خارجی، این تنها جایی است که میتوان حفاظت در برابر رفتار نادرست را اعمال کرد - چه به دلیل یک اشکال، یا به خطر افتادن صریح دستگاه.
توجه داشته باشید که این مدل به طور قابل توجهی فراتر از خرابی دستگاه، مانند یک باگ قابل سوء استفاده است. در این مورد، ما در سناریویی عمل می کنیم که دستگاه به طور فعال به دنبال از دست دادن سرمایه است.
البته، اگر سازنده با موفقیت به خطر بیفتد، هیچ محافظت احتمالی وجود ندارد هر دو دستگاه و همچنین دستگاه شما که کیف پول نرم افزار را اجرا می کند. بنابراین، اطمینان از اینکه کیف پول نرم افزار شما منبع باز و قابل بازرسی است، کاملاً حیاتی است، به خصوص اگر توسط همان فروشنده ای که سخت افزار را تولید می کند ساخته شده باشد.
نقش مینی اسکریپت
Miniscript توسعه دهندگان کیف پول را به توانایی استفاده کامل از ویژگی های پیشرفته بیت کوین اسکریپت مجهز می کند. برای مروری بر احتمالات باورنکردنی باز کردن قفلهای مینیاسکریپت، مراجعه کنید پست قبلی وبلاگ ما. ممکن است بخواهید به آن گوش دهید قسمت 452 پادکست استفان لیورا برای بحث در مورد آنچه مینی اسکریپت به چشم انداز بیت کوین می آورد.
برنامه Ledger Bitcoin از زمان انتشار نسخه 2.1.0 خود، که در فوریه 2023 به کار گرفته شد، از miniscript پشتیبانی می کند. در کنفرانس بیت کوین 2023 در میامی، Wizardsardine انتشار نسخه 1.0 خود را اعلام کرد. کیف پول لیانا، اولین کیف پول مستقر بر اساس مینی اسکریپت.
ایده اصلی این پست این است که یک حساب کیف پول بیت کوین را می توان نه تنها با یک، بلکه با آن محافظت کرد چندگانه کلیدها این به چارچوبهای امنیتی انعطافپذیر اجازه میدهد که در آنها حتی شکست کامل یا به خطر افتادن یک کلید فاجعهبار نباشد.
تفکرات چند علامتی
Multisig ارتقاء قابل توجهی در قدرت راه حل خود سرپرستی است. با استفاده از قابلیت برنامه ریزی بیت کوین اسکریپت، امکان ایجاد کیف پول هایی را فراهم می کند که به جای یک کلید، به چندین کلید نیاز دارند. آ k-از-n کیف پول multisig به ترکیبی از k امضاهای معتبر، از مجموع n موارد ممکن
با این حال، multisig همچنین بار کاربری UX را بر دوش کاربر قرار می دهد و فرصت های جدیدی را برای خطاها معرفی می کند. یک راهاندازی مولتی سیگ 3 از 3، شامل سه کلید مختلف که بهطور امن در مکانهای جداگانه پشتیبانگیری میشوند، امنیت قوی را ارائه میدهد... اما این بدان معناست که حتی اگر تنها کلید گم می شود، سکه ها برای همیشه غیر قابل دسترس می شوند!
بنابراین، تنظیماتی که افزونگی بیشتری ارائه میکنند (مانند 2-از-3 یا 3-از-5) معمولاً محبوبتر هستند: اگر یک کلید گم شود، کلیدهای دیگر همچنان میتوانند بازیابی را تسهیل کنند. اما این یک معاوضه ایجاد می کند: اگر یک کلید بدون اطلاع شما به خطر بیفتد، امنیت کلی به میزان قابل توجهی کاهش می یابد!
شرکت ها مانند کازا و سرمایه غیرقابل استفاده در راه حل های خود سرپرستی تخصص دارند که در آن تعداد کمی از کلیدها را برای مشتریان خود نگه می دارند. آنها همچنین با راهنمایی کاربران خود در فرآیند ورود و سادهسازی استفاده از سیستمهای نگهداری، که میتواند برای اکثر کاربران غیر فنی دلهرهآور باشد، کمک میکنند.
مینی اسکریپت و مسیرهای بازیابی قفل شده با زمان
لیانا از مینی اسکریپت برای ایجاد کیف پول هایی استفاده می کند که راه های مختلفی برای خرج کردن دارند:
- یک شرط هزینه اولیه، که بلافاصله در دسترس است.
- یک یا چند شرط هزینه اضافی که پس از یک دوره معین در دسترس قرار می گیرد (به اصطلاح timelock).
این موارد استفاده جالب بسیاری را امکان پذیر می کند:
- بهبود: یک کیف پول استاندارد با یک امضا یا چند علامت به عنوان مسیر هزینه اولیه. اما یک مکانیسم بازیابی جداگانه (یک کلید با یک دانه متفاوت، یک مولتی سیگ، یک دوست با فناوری، یک متولی) پس از 6 ماه در دسترس قرار می گیرد.
- حکومت: شرکتی با دو مدیر می تواند 2 از 2 را برای خزانه شرکت ایجاد کند. در صورت عدم توافق، یک وکیل مورد اعتماد می تواند پس از 6 ماه به وجوه دسترسی پیدا کند.
- چند سیگ در حال پوسیدگی: یک کیف پول به صورت 3 از 3 شروع می شود، پس از 2 ماه به 3 از 6 تبدیل می شود و پس از 1 ماه به 3 از 9 تبدیل می شود.
- وراثت خودکار: مسیر بهبودی پس از 6 ماه شامل 2 از 3 فرزند از سه فرزند شما می شود. شاید راه دوم بهبودی پس از 1 سال شامل یک دفتر اسناد رسمی باشد، در صورتی که وراث نتوانند به توافق برسند.
سخن گفتن: تمام مثال های بالا از a استفاده می کنند قفل زمانی نسبی، که به سن سکه ها (یعنی: آخرین بار جابجایی وجوه) اشاره دارد. مبادله این است که کاربر باید به خاطر داشته باشد که سکه ها را (با ارسال آنها برای خود) در صورتی که قفل زمانی نزدیک به پایان است، خرج کند.
اینها تنها چند نمونه هستند، اما باید برای متقاعد کردن خواننده به اندازه کافی باشند که miniscript یک گام مهم به جلو در جهت تحقق پتانسیل بیت کوین است. پول قابل برنامه ریزی.
ثبت سیاست کیف پول
برای حسابهای کیف پول بیتکوین که از کلیدهای چندگانه استفاده میکنند (چه چند سیگ یا راهحلهای پیچیدهتر مبتنی بر miniscript)، آموزش دستگاه برای شناسایی آدرسهای متعلق به آن حساب بسیار مهم است. این تنها راهی است که دستگاه می تواند به کاربر کمک کند تا اطمینان حاصل کند که از آدرس های صحیح دریافت می کند یا هزینه می کند…
اعتبار بخشیدن به سیاست و xpubs ارسال کننده در برابر یک نسخه پشتیبان قابل اعتماد ضروری است، اما نسبتا وقت گیر است.
خبر خوب این است که فقط یک بار باید انجام شود:
هنگامی که یک خطمشی با نامی ثبت میشود (به عنوان مثال «Decaying 3of3»)، دستگاه شما میتواند هر زمان که چنین خطمشی استفاده شود، آن را تشخیص دهد.
علاقه مندان به جزئیات فنی می توانند اطلاعات بیشتری را در این صفحه بیابند پیشنهاد BIP.
پشتیبان گیری از خط مشی
یکی از جنبههای مهمی که باید به آن توجه کرد این است که در حالی که سیاستهای چند کلیدی زیرمجموعهای از کلید خصوصی برای مجاز کردن معاملات، دانش تمام کلیدهای عمومی (و دقیق سیاست) مورد نیاز است.
با این حال، بر خلاف seed، پشتیبانگیری از خطمشی و کلیدهای عمومی ریسک بسیار کمتری دارد: اگر کسی آن را کشف کند، میتواند تمام تراکنشهای مرتبط با آن خطمشی را ردیابی کند. اگرچه این ایده آل نیست - حریم خصوصی مهم است! - به اندازه از دست دادن سکه های خود فاجعه آمیز نیست و برای مهاجمان احتمالی کمتر فریبنده است. در نتیجه، ذخیره چندین نسخه از این سیاست در کیفپولهای داغ، چاپ و ذخیره آن در مکانهای مختلف، رمزگذاری و ذخیره آن در فضای ذخیرهسازی ابری و غیره، همه استراتژیهای قابل اجرا هستند.
کیف پول تک امضایی بدون درب پشتی
بیایید یک قدم به عقب برگردیم. ما در مورد کیف پولهای چند امضایی صحبت کردهایم، اما اکنون برای ایجاد یک کیف پول تک امضا به اصول اولیه بازمیگردیم. به طور دقیق تر، ما یک کیف پول می خواهیم احساس و به نظر می رسد مانند یک کیف پول تک امضا، پس از مرحله راه اندازی اولیه. با این حال، هدف ما ایجاد کیف پولی است که سازنده نتواند وجوه شما را حتی اگر مخرب باشد از آن بدزدد 😈 و دستگاه امضای سخت افزار به روش های غیرقابل پیش بینی رفتار می کند.
این رویکرد را می توان به راحتی برای کیف پول های چند امضایی تعمیم داد.
مثال های زیر به زبانی به نام نوشته خواهند شد سیاست، به جای نسخه کوچک. خواندن و فکر کردن در مورد خط مشی برای انسان آسانتر است و میتوان آن را با ابزارهای خودکار در قالب کوتاه کامپایل کرد. در مورد مینی اسکریپت و خط مشی بیشتر بخوانید.
کیف پول سخت افزاری می تواند در مدل امنیتی استاندارد از شما محافظت کند. Miniscript می تواند از شما در مدل امنیتی ضد درپشتی محافظت کند (و خیلی بیشتر!).
مرحله صفر: وضعیت موجود
این سیاستی است که اکثر کاربران امروزه از آن استفاده می کنند: یک کلید واحد که از دانه تولید شده در کیف پول سخت افزاری مشتق شده است.
pk(key_ledger)
البته هیچ راهی برای اثبات عدم وجود درب پشتی وجود ندارد.
مرحله اول: آن کلیدها را دو برابر کنید
قدم اول ساده است:
and(pk(key_ledger), pk(key_client))
در اینجا، key_client
بر روی ماشین کاربر تولید می شود، از این رو a کلید داغ. در اصل، این یک راه اندازی 2 از 2 چند سیگ است. جنبه کلیدی این است که کاربر زیاد با آن تعامل ندارد key_client
: کیف پول نرم افزاری این کلید را تولید می کند، آن را در نسخه پشتیبان کیف قرار می دهد و هر زمان که نیاز باشد امضا می کند (مثلاً زمانی که کاربر مشغول امضای امضاکننده سخت افزار خود است).
این در حال حاضر بسیار جالب به نظر می رسد: وجوه بدون استفاده غیرقابل مصرف است key_client
، که برای فروشنده سخت افزار در دسترس نیست. حتی اگر فروشنده شرور اطلاعات کاملی از کلید موجود در دستگاه داشته باشد، باز هم قادر به جابجایی وجوه بدون هدف قرار دادن صریح کاربر نخواهد بود، برای مثال با به خطر انداختن دستگاهی که کیف پول نرم افزاری آنها را اجرا می کند.
با این حال، یک مشکل وجود دارد: در هنگام نصب کیف پول، امضاکننده سخت افزار تنها نهادی است که قادر به تولید کلید عمومی (xpub) است. key_ledger
استفاده شده در کیف پول از این رو، دستگاه می تواند عمداً یک a را ایجاد کند اشتباه xpub توسط مهاجم کنترل میشود و بعداً امضا را رد میکند (یا نمیتواند). مسلماً، این یک سناریوی حمله نسبتاً شدید است: خالق درب پشتی نمیتواند وجوه را بدزدد، و بیشترین کاری که میتواند انجام دهد این است که کاربر را بهصورت فردی هدف قرار داده و باج بخواهد («اگر نصف آن را به من بپردازید، میتوانم به شما کمک کنم پولتان را پس بگیرید. ”).
واقع بینانه تر، این احتمال اشتباهات اشتباه را افزایش می دهد: شما اکنون دو دانه / کلید خصوصی دارید و نیاز دارید هر دو تا بتوانی خرج کنی هر دو را ببازید و سکه ها برای همیشه قفل می شوند.
مرحله دوم: بازیابی زمان بندی شده
ما یک کلید بازیابی جداگانه را معرفی می کنیم که فقط پس از یک قفل زمانی خاص قابل دسترسی است: and(older(25920)
, pk(key_recovery))
، که در آن 25920 تعداد تقریبی بلوک در 6 ماه است. خط مشی کامل می شود:
or(
and(pk(key_ledger), pk(key_client)), and(after(25920), pk(key_recovery))
)
این شبیه به سناریوی قبلی است، اما با یک پیچ: اگر key_ledger
or key_client
به هر دلیلی از دسترس خارج می شود (معمولاً، از دست دادن نسخه پشتیبان اولیه!)، a مسیر بهبودی پس از 6 ماه قابل دسترسی می شود.
چندین گزینه برای وجود دارد key_recovery
، هرکدام معاوضه های خاص خود را دارند:
a. از دیگری استفاده کنید کلید داغ. این یک راه حل عملی است تا زمانی که کاربر به یاد داشته باشد که قفل زمانی را بازنشانی کند. با این حال، اگر کلیدهای داغ به خطر بیفتند (سناریویی که معمولاً باید کاملاً محتمل در نظر گرفته شود!)، مهاجم میتواند به محض انقضای قفل زمانی به وجوه دسترسی پیدا کند و مسابقه ای را با مالک قانونی آغاز کند.
b. از یک دستگاه امضای سخت افزاری جداگانه استفاده کنید. این یک راه حل قوی است و در صورت تمایل می تواند در ترکیب با یک فروشنده مختلف استفاده شود. با این حال، پیچیدگی راه اندازی و هزینه را برای کاربر از نظر تجربه کاربری افزایش می دهد.
c. از یک سرویس خارجی قابل اعتماد استفاده کنید. کیف پول نرم افزار می تواند یک xpub را از یک سرویس خارجی وارد کند و از آن به عنوان استفاده کند key_recovery
. این شخص ثالث تنها در صورتی قابل اعتماد است که قفل زمانی منقضی شود، که می تواند برای برخی از کاربران یک معامله جذاب باشد.
همانطور که گفته شد، مانند هر خط مشی با قفل زمانی، مهم است که کاربر به یاد داشته باشد که سکه ها را قبل از انقضای قفل زمانی به روز کند.
مرحله سوم: شخص ثالث غیرقابل اعتماد
بیایید هر دو ایده (a) و (c) را با هم ترکیب کنیم: برای مسیر بازیابی، به یک کلید داغ محلی نیاز داریم key_recovery_local
و key_recovery_remote
که با یک سرویس نیمه مطمئن میزبانی می شود. ما همچنین قفل زمانی را حفظ می کنیم.
or(
and(pk(key_ledger), pk(key_client)),
and(older(25920),
and(pk(key_recovery_local), pk(key_recovery_remote))
)
)
این باعث کاهش سطح اعتماد مورد نیاز از خدمات بازیابی می شود. با این حال، ما باید احتیاط کنیم: خود این سرویس میتواند زنجیره بلوکی را زیر نظر داشته باشد و UTXOهای ما را شناسایی کند – در نهایت، آنها به ما ارائه کردند key_recovery_remote
xpub، بنابراین آنها می توانند UTXO های حاوی کلیدهای pubkey مشتق شده از آن را اسکن کنند key_recovery_remote
. آنها می توانند در مورد تاریخچه مالی ما، حتی قبل از انقضای قفل زمانی، و حتی اگر هرگز از خدمات آنها استفاده نکرده باشیم، یاد بگیرند.
سخن گفتن: درختان Taproot می توانند این مشکل حفظ حریم خصوصی را برای سیاست های خاصی از بین ببرند، اما همیشه اینطور نیست و نیاز به ارزیابی دقیق بر اساس خط مشی خاص دارد.
مرحله چهارم: شخص ثالث را کور کنید 🙈
برای اینکه سرویس بازیابی اطلاعاتی درباره تاریخچه مالی ما نداشته باشد، به جای استفاده از pubkey که با ما در ارتباط است، می توانیم از یک xpub کور تکنیک در اینجا توسط mflaxman به تفصیل توضیح داده شده است. خلاصه به جای استفاده key_recovery_remote
در خط مشی ما، ما چهار عدد تصادفی 31 بیتی را انتخاب می کنیم a
, b
, c
, d
( عوامل کور کننده) و از موارد زیر استفاده می کنیم BIP-32 pubkey مشتق شده:
key_recovery_remote_blind = key_recovery_remote_blind/a/b/c/d
بسیار مهم است که ما نیز اضافه کنیم key_recovery_remote
و عوامل کور کننده a
, b
, c
و d
به پشتیبان ما، برای مراجعات بعدی.
اگر زمانی نیاز به استفاده از سرویس بازیابی داشته باشیم، آن را فاش خواهیم کرد a
, b
, c
, d
به آنها. تا آن زمان، آنها هیچ راهی برای کشف کلیدهای مشتق شده از آنها ندارند key_recovery_remote
در بلاک چین منتشر می شوند: تعداد ترکیب های ممکن برای 4 عامل کور کننده است 2^(31*4) = 2^124
، که باعث می شود bruteforce همه آنها غیرممکن باشد.
مرحله پنجم: تعداد زیاد کلیدهای داغ می تواند شما را بسوزاند
ما موفق شدیم کیف پول نرم افزاری خود را غیرقابل استفاده کنیم. با این حال، ما یک مشکل متفاوت را معرفی کردیم: هر دو شرایط هزینه از یک تولید محلی استفاده می کنند، داغ کلیدی که توسط کیف پول سخت افزاری تایید نشده است. بنابراین، اگر دستگاه میزبان به خطر بیفتد، ممکن است شما را فریب دهد تا خط مشی را با استفاده از pubkeys ثبت کنید. key_client
و key_recovery_local
، اما کلیدهای خصوصی تصادفی و نامرتبط را در پشتیبان خود قرار دهید (به یاد داشته باشید، داغ کلیدها بخشی از پشتیبان ما هستند!).
این اساساً هر وجهی را به کیف پول ارسال می کند غیر قابل مصرف، زیرا هیچ کس کلیدهای خصوصی لازم برای امضا را کنترل نمی کند.
برای حل این مشکل چند راه حل وجود دارد:
- در حین ورود، پس از چاپ نسخه پشتیبان روی کاغذ، میتوانیم از دستگاه جداگانهای استفاده کنیم تا بررسی کنیم که کلیدهای خصوصی و عمومی روی نسخه پشتیبان واقعاً مطابقت دارند. این رویکرد مشکل را از بین می برد، زیرا ما مطمئن هستیم که تمام کلیدهای مورد نیاز برای بازسازی و امضا را داریم.
- میتوانیم شرایط خرج دیگری را با قفل زمانی طولانیتر (9 ماه، 38880 بلوک) اضافه کنیم که فقط به یک
key_ledger_failsafe
از دستگاه سخت افزاری به این ترتیب، در بدترین سناریوی مطلق که همه چیز با شکست مواجه میشود، به امنیت یک دستگاه امضا برمیگردیم. در عملیات عادی، هرگز اجازه نمی دهیم قفل زمانی اول منقضی شود، بنابراین قفل زمانی دوم نیز منقضی نمی شود!
با رویکرد دوم، سیاست نهایی به این صورت خواهد بود
or(
and(pk(key_ledger), pk(key_client)),
or(
and(older(25920),
and(pk(key_recovery_local), pk(key_recovery_remote_blind))
),
and(older(38880), pk(key_ledger_failsafe))
),
)
این پیکربندی کیف پول نرم افزار تمام ویژگی های امنیتی را که در ابتدا ادعا کردیم را برآورده می کند. علاوه بر این، یک مسیر بازیابی را در صورت کلیدهای هزینه اصلی ارائه می دهد key_ledger
گم شده اند. یک ویژگی خوب برای داشتن!
ورود به کیف پول نرم افزاری غیرقابل درب پشت
تجربه کاربر برای کیف پولی که از چنین خط مشی پیچیده ای استفاده می کند چگونه خواهد بود؟ در اینجا یک بررسی اجمالی است:
- کاربر کیف پول نرم افزار را باز می کند و شروع به ایجاد یک حساب کاربری جدید می کند.
- کیف پول نرم افزار از کاربر می خواهد که دستگاه امضای خود را متصل کند و xpubs را برای آن بازیابی کند
key_ledger
وkey_ledger_failsafe
. - کیف پول نرم افزار به طور مستقل کلید داغ key_client را تولید می کند.
- کیف پول نرم افزار بدست می آید
key_recovery_remote
از یک سرویس امضای مشترک یا به کاربر اجازه می دهد یک کلید را به روش دیگری مشخص کند. به صورت اختیاری، آن را محاسبه می کندkey_recovery_remote_blind
با استفاده از روش کورسازی که قبلا ذکر شد. - کیف پول نرم افزار یک نسخه پشتیبان از خط مشی تولید می کند که حاوی خط مشی miniscript دقیق، تمام xpubs و کلید خصوصی توسعه یافته برای
key_client
کلید داغ این نسخه پشتیبان به طور ایمن ذخیره می شود (به عنوان مثال، روی کاغذ چاپ می شود یا در دستگاه جداگانه ذخیره می شود). - در نهایت، کیف پول نرم افزار به کاربر دستور می دهد تا خط مشی را روی دستگاه ثبت کند. کاربر نسخه پشتیبان (بر روی کاغذ یا هر رسانه ای غیر از صفحه نمایش کنترل شده توسط کیف پول نرم افزار) را بررسی می کند.
کیف پول نرم افزاری اکثر مراحل فوق را مدیریت می کند و باعث می شود که مشارکت کاربر بیش از تلاش مورد انتظار امروز برای راه اندازی کیف پول چند امضایی سنگین نباشد.
زمانی که یک UX خوب برای آن ساخته شد، نصب باید به چند دقیقه نیاز داشته باشد. پس از تکمیل، کیف پول نرم افزاری می تواند تجربه کاربری بسیار شبیه به کیف پول های تک امضایی معمولی را ارائه دهد. اینگونه مینی اسکریپت همه چیز را تغییر می دهد: با ناپدید شدن از دید کاربر!
بهبودهای ریشه
لجر از نسخه 2.1.0 اپلیکیشن بیت کوین که در ماه مارس منتشر شد، از miniscript پشتیبانی می کند. در حالی که پشتیبانی برای دریافت و خرج کردن از آدرسهای ریشه اصلی از آن زمان فعال شد چنگال نرم ریشه ریشه در نوامبر 2021، ما اکنون در مرحله بعدی نقشه راه کارهای نهایی را انجام می دهیم: پشتیبانی از miniscript برای taproot.
Taproot تاثیر زیادی بر قابلیت استفاده از رویکردهای ارائه شده در این مقاله خواهد داشت. اگر مسیر هزینه اولیه یک شرط هزینه تک کلیدی باشد، وجود مسیرهای مخارج بازیابی در بلاک چین غیرقابل تشخیص خواهد بود مگر اینکه از آنها استفاده شود. این امر با حذف کامل هر گونه اثر انگشت برای مسیر هزینه های استاندارد، حریم خصوصی را تا حد زیادی بهبود می بخشد. علاوه بر این، مقیاس پذیری را بهبود می بخشد، زیرا مسیر هزینه های استاندارد تا حد امکان مقرون به صرفه می شود. این بدان معناست که به دلیل وجود مسیرهای بازیابی، هیچ هزینه اضافی متحمل نمی شود، مگر اینکه از آنها استفاده شود. این یک ارتقای قابل توجه از تراکنشهای SegWit است که نیاز به انتشار کل اسکریپت، از جمله همه شرایط هزینه، در طول هر هزینه دارد.
در نهایت، پروتکل های پیشرفته تر مانند MuSig2 (به تازگی استاندارد شده) و از آنجا مسیر کلید Taproot را سوپرشارژ می کند. این پروتکل ها که بر روی امضاهای Schnorr ساخته شده اند، امکان ایجاد یک واحد را فراهم می کنند pubkey کل که می تواند برای نشان دادن یک مورد استفاده شود n-از-n چند امضایی یا الف k-از-n طرح آستانه این امکان استفاده از مسیر کلید taproot را حتی در مواردی که امروزه بیشتر با اسکریپتهای چند علامتی خاص نشان داده میشوند را میدهد.
نتیجه گیری
این مقاله قسمت کوچک (اما مهم) فضای طراحی گسترده ای را که مینی اسکریپت برای کیف پول های نرم افزاری آزاد می کند، بررسی می کند.
ما نشان دادیم که چگونه میتوان از مینی اسکریپت برای ایجاد یک کیف پول نرمافزاری غیرقابل درب پشتی استفاده کرد، در حالی که یک مسیر بازیابی اضافی را نیز اضافه کرد که اجازه میدهد از تلفات فاجعهبار کلید جلوگیری شود. در حالی که دستگاههای امضای سختافزار نمیتوانند مدل امنیتی ضد درپشتی را اجرا کنند، با پشتیبانی از miniscript، کیف پولهای نرمافزاری را فعال میکنند که دقیقاً این کار را انجام میدهند!
با استفاده هوشمندانه از ترکیبی از طرحهای چند امضایی، قفلهای زمانی، xpubs کور و کلیدهای داغ، پیکربندی کیف پول امنی را نشان دادهایم که امنیت، حریم خصوصی و استحکام را متعادل میکند.
علاوه بر این، ما استدلال کردیم که این بدون تأثیر منفی بر تجربه کاربر امکانپذیر است، زیرا پیچیدگی راهاندازی به بار اضافی UX منجر نمیشود.
ما برای احتمالاتی که مینی اسکریپت برای نسل بعدی خود نگهبانی بیت کوین باز می کند هیجان زده هستیم.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. خودرو / خودروهای الکتریکی، کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- BlockOffsets. نوسازی مالکیت افست زیست محیطی. دسترسی به اینجا.
- منبع: https://www.ledger.com/blog/towards-a-trustless-bitcoin-wallet-with-miniscript
- : دارد
- :است
- :نه
- :جایی که
- $UP
- 1
- 2021
- 2023
- 30
- 7
- 9
- a
- توانایی
- قادر
- درباره ما
- بالاتر
- مطلق
- کاملا
- دسترسی
- قابل دسترسی است
- در دسترس
- مطابقت
- حساب
- حساب ها
- عمل
- اقدامات
- فعالانه
- واقعا
- اضافه کردن
- اضافه کردن
- اضافه
- اضافی
- علاوه بر این
- آدرس
- پیشرفته
- پس از
- در برابر
- سن
- کمک
- هدف
- معرفی
- اجازه دادن
- اجازه می دهد تا
- در امتداد
- قبلا
- همچنین
- هر چند
- همیشه
- an
- و
- اعلام کرد
- دیگر
- هر
- هر چیزی
- نرم افزار
- جذاب
- ظاهر شدن
- برنامه های کاربردی
- روش
- رویکردها
- تصویب
- تقریبی
- هستند
- شاید، قابل بحث
- استدلال کرد
- مقاله
- AS
- ظاهر
- همکاری
- مرتبط است
- At
- حمله
- قابل سنجش
- اجازه دادن
- خودکار
- بصورت خودگردان
- در دسترس
- به عقب
- درپشتی
- حمایت کرد
- حمایت
- پشتیبان گیری
- تعادل
- مستقر
- اساسی
- اساسا
- مبانی
- BE
- زیرا
- شدن
- شود
- قبل از
- شروع
- بودن
- در زیر
- بهترین
- میان
- خارج از
- بیت کوین
- کیف پول بیت کوین
- کیف پول بیت کوین
- مخلوط
- بلاکچین
- بلاک ها
- Blockstream
- بلاگ
- هر دو
- مغز
- به ارمغان می آورد
- پخش
- اشکال
- ساختن
- ساخته
- بار
- سوختگی
- کسب و کار
- مشغول
- اما
- by
- نام
- CAN
- نمی توان
- توانا
- دقیق
- مورد
- موارد
- مصیبت بار
- علت
- باعث می شود
- احتیاط
- معین
- به چالش
- شانس
- تغییر دادن
- فرزندان
- تراشه
- را انتخاب کنید
- انتخاب
- ادعا کرد که
- به وضوح
- ابر
- فضای ذخیره ابری
- رمز
- سکه
- ترکیب
- ترکیب
- تجاری
- مشترک
- عموما
- ارتباط
- شرکت
- شرکت
- شرکت
- کامل
- به طور کامل
- پیچیده
- پیچیدگی
- در معرض خطر
- مصالحه
- محاسبات
- محاسبه
- نگرانی ها
- شرط
- شرایط
- کنفرانس
- پیکر بندی
- اتصال
- اجماع
- در نتیجه
- در نظر بگیرید
- در نظر گرفته
- موجود
- کنترل
- گروه شاهد
- متقاعد کردن
- اصلاح
- خراب
- هزینه
- میتوانست
- دوره
- ایجاد
- ایجاد
- ایجاد
- خالق
- بحرانی
- جنبه انتقادی
- بسیار سخت
- در حال حاضر
- نگهبان
- بازداشت
- مشتریان
- خطرناک
- کاهش
- کاهش می دهد
- تلقی کردن
- مشخص
- تقاضا
- نشان
- مستقر
- نشات گرفته
- شرح
- طرح
- طراحی
- مطلوب
- جزئیات
- دقیق
- جزئیات
- تشخیص
- توسعه دهندگان
- دستگاه
- دستگاه ها
- مختلف
- مشکل
- کاهش می یابد
- مستقیما
- مدیران
- ناپدید
- فاجعه بار
- كشف كردن
- کشف
- بحث کردیم
- گفتگو
- نمایش داده
- do
- میکند
- نمی کند
- انجام شده
- دو برابر
- دو
- در طی
- هر
- آسان تر
- به آسانی
- تلاش
- هر دو
- از بین بردن
- از بین بردن
- دیگر
- اهمیت دادن
- به کار گرفته شده
- قادر ساختن
- فعال
- را قادر می سازد
- پایان
- اعمال
- کافی
- اطمینان حاصل شود
- حصول اطمینان از
- وارد شدن
- فریبنده
- تمام
- به طور کامل
- موجودیت
- تجهیزات
- خطاهای
- به خصوص
- ضروری است
- اساسا
- ایجاد
- و غیره
- ارزیابی
- حتی
- تا کنون
- هر
- همه چیز
- کاملا
- مثال
- مثال ها
- برانگیخته
- اجرا کردن
- اجرا شده
- ورزش
- وجود
- انتظار می رود
- تجربه
- انقضاء
- بهره برداری
- کاوش می کند
- صادرات
- گسترش می یابد
- خارجی
- مفرط
- تسهیل کردن
- عوامل
- نتواند
- شکست
- منصفانه
- سقوط
- بسیار
- ویژگی
- امکانات
- فوریه
- کمی از
- نهایی
- مالی
- تاریخچه مالی
- پیدا کردن
- نام خانوادگی
- قابل انعطاف
- فلیپ
- تمرکز
- پیروی
- به دنبال آن است
- برای
- برای همیشه
- به جلو
- چهار
- چارچوب
- غالبا
- دوست
- از جانب
- کامل
- کاملا
- قابلیت
- صندوق
- بودجه
- بعلاوه
- بیهوده
- آینده
- همه منظوره
- عموما
- تولید می کنند
- تولید
- تولید می کند
- مولد
- نسل
- داده
- Go
- رفتن
- خوب
- بزرگ
- تا حد زیادی
- بود
- نیم
- سخت افزار
- دستگاه سخت افزاری
- کیف پول سخت افزار
- تولید کننده کیف پول سخت افزاری
- کیف جیبی
- مضر
- آیا
- داشتن
- کمک
- از این رو
- تاریخ
- نگه داشتن
- امید
- میزبان
- میزبانی
- HOT
- چگونه
- اما
- HTTP
- HTTPS
- بزرگ
- انسان
- اندیشه
- دلخواه
- ایده ها
- شناسایی
- if
- بلافاصله
- تأثیر
- تأثیرگذاری
- اجرا
- واردات
- مهم
- غیر ممکن
- بهبود
- in
- شامل
- از جمله
- گنجاندن
- افزایش
- باور نکردنی
- در واقع
- مستقل
- به طور جداگانه
- صنعت
- اطلاعات
- ذاتا
- اول
- داخل
- محرم راز
- الهام بخشیدن
- نصب کردن
- نمونه
- در عوض
- از قصد
- تعامل
- تعاملی
- علاقه
- علاقه مند
- جالب
- رابط
- به
- معرفی
- معرفی
- معرفی می کند
- سرزده
- درگیری
- شامل
- موضوع
- IT
- ITS
- خود
- تنها
- فقط یکی
- کلید
- کلید
- دانستن
- دانش
- شناخته شده
- چشم انداز
- زبان
- لپ تاپ
- نام
- بعد
- وکیل
- منجر می شود
- یاد گرفتن
- یادگیری
- کمترین
- دفتر کل
- ترک کرد
- قانونی
- کمتر
- اجازه
- سطح
- بهره برداری
- پسندیدن
- احتمالا
- مرتبط
- ذکر شده
- بارگیری
- محلی
- مکان
- قفل شده
- طولانی
- دیگر
- نگاه کنيد
- شبیه
- از دست دادن
- شکست
- خاموش
- تلفات
- از دست رفته
- دستگاه
- اصلی
- اکثریت
- ساخت
- باعث می شود
- ساخت
- نرم افزارهای مخرب
- مدیریت می کند
- مدیریت
- دستکاری کردن
- روش
- سازنده
- تولید کنندگان
- بسیاری
- مارس
- مسابقه
- ممکن است..
- به معنی
- معیارهای
- مکانیزم
- متوسط
- ذکر شده
- صرفا - فقط
- پیام
- پیام
- روش
- روش
- میامی
- قدرت
- مینی اسکریپت
- اقلیت
- دقیقه
- ماموریت
- اشتباهات
- مدل
- پول
- نظارت بر
- ماه
- بیش
- علاوه بر این
- اکثر
- اغلب
- حرکت
- نقل مکان کرد
- بسیار
- چندگانه
- چندرسانه ای
- باید
- نام
- نزدیک شدن
- لازم
- نیاز
- ضروری
- نیازهای
- منفی است
- شبکه
- هرگز
- جدید
- اخبار
- بعد
- خوب
- نه
- غیر فنی
- طبیعی
- نوامبر
- نوامبر 2021
- اکنون
- عدد
- تعداد
- به دست می آورد
- of
- ارائه
- ارائه
- پیشنهادات
- آنلاین نیست.
- on
- شبانه روزی
- یک بار
- ONE
- آنهایی که
- فقط
- باز کن
- منبع باز
- باز می شود
- عملیاتی
- عملیات
- فرصت ها
- گزینه
- or
- سفارش
- دیگر
- در غیر این صورت
- ما
- خارج
- مشخص شده
- خارج از
- روی
- به طور کلی
- مروری
- خود
- مالک
- مقاله
- برترین
- بخش
- ویژه
- حزب
- مسیر
- پرداخت
- انجام
- شاید
- دوره
- به طور دائم
- فاز
- تلفن
- محل
- اماکن
- افلاطون
- هوش داده افلاطون
- PlatoData
- نقطه
- نقطه
- سیاست
- سیاست
- محبوب
- فرصت
- ممکن
- احتمالا
- پست
- پتانسیل
- بالقوه
- قدرت
- عملی
- عملا
- تمرین
- دقیق
- دقیقا
- پیش بینی
- قابل پیش بینی
- حضور
- در حال حاضر
- ارائه شده
- جلوگیری از
- جلوگیری از
- قبلی
- قبلا
- در درجه اول
- اصلی
- چاپ
- قبلا
- خلوت
- خصوصی
- کلید خصوصی
- کلیدهای خصوصی
- مشکل
- مشکلات
- روش
- روند
- تولید کردن
- ساخته
- تولید می کند
- به درستی
- املاک
- ویژگی
- پیشنهاد شده
- محافظت از
- محفوظ
- حفاظت
- حفاظت
- پروتکل
- پروتکل
- ثابت كردن
- ارائه
- ارائه
- عمومی
- کلید عمومی
- کلیدهای عمومی
- منتشر کردن
- منتشر شده
- انتشار
- هدف
- قرار دادن
- قرار دادن
- سوال
- نژاد
- تصادفی
- فدیه
- نسبتا
- رسیدن به
- خواندن
- خواننده
- تحقق
- دلیل
- دریافت
- تازه
- شناختن
- رکورد
- بهبود
- اشاره دارد
- ثبت نام
- ثبت نام
- ثبت نام
- نسبتا
- آزاد
- منتشر شد
- تکیه
- به یاد داشته باشید
- جایگزین کردن
- نشان دادن
- نمایندگی
- شهرت
- نیاز
- ضروری
- نیاز
- نتیجه
- نگه داشتن
- برگشت
- فاش کردن
- راست
- خطر
- خطرات
- خطرناک
- نقشه راه
- تنومند
- نیرومندی
- نقش
- نقش
- در حال اجرا
- اجرا می شود
- همان
- گفتن
- مقیاس پذیری
- اسکن
- سناریو
- طرح
- طرح ها
- اشنور
- پرده
- اسکریپت
- دوم
- بخش
- امن
- ایمن
- تیم امنیت لاتاری
- دیدن
- دانه
- دانه
- به دنبال
- به نظر می رسد
- به نظر می رسد
- SegWit
- خود حضانت
- در حال ارسال
- حساس
- فرستاده
- جداگانه
- سرویس
- تنظیم
- برپایی
- چند
- کوتاه
- باید
- نشان داد
- امضاء
- امضا
- قابل توجه
- به طور قابل توجهی
- امضای
- نشانه ها
- مشابه
- ساده
- ساده
- پس از
- تنها
- کوچک
- هوشمند
- So
- نرم افزار
- راه حل
- مزایا
- حل
- برخی از
- کسی
- بزودی
- مصنوعی
- منبع
- فضا
- متخصص
- خاص
- مشخصات
- خرج کردن
- هزینه
- استاندارد
- می ایستد
- شروع می شود
- وضعیت
- گام
- مراحل
- هنوز
- ذخیره سازی
- ذخیره شده
- ذخیره سازی
- استراتژی ها
- استحکام
- رشته
- قوی
- مبارزه
- موفق
- موفقیت
- چنین
- خلاصه کردن
- لبریز شدن
- پشتیبانی
- حمایت از
- پشتیبانی از
- مفروض
- سیستمیک
- ریسک سیستماتیک
- سیستم های
- دنده
- گرفتن
- منگنه
- هدف
- هدف گذاری
- فنی
- techniquement
- پیشرفته
- قوانین و مقررات
- نسبت به
- که
- La
- سکه ها
- شان
- آنها
- خودشان
- سپس
- آنجا.
- در نتیجه
- از این رو
- اینها
- آنها
- اشیاء
- فکر می کنم
- سوم
- این
- کسانی که
- تهدید
- سه
- آستانه
- از طریق
- بدین ترتیب
- زمان
- زمان بر
- به
- امروز
- امروز
- هم
- ابزار
- تاپیک
- جمع
- طرف
- پی گیری
- مسیر
- رکورد
- قطار
- معامله
- معاملات
- گذار
- ترجمه کردن
- خزانه داری
- درختان
- درست
- اعتماد
- مورد اعتماد
- اعتماد به نفس
- حقیقت
- پیچ
- دو
- انواع
- نوعی
- ناتوان
- فهمیدن
- باز کردن
- بر خلاف
- باز
- باز کردن
- غیرقابل پیش بینی
- تا
- ارتقاء
- us
- قابلیت استفاده
- استفاده کنید
- استفاده
- کاربر
- سابقه کاربر
- کاربران
- استفاده
- با استفاده از
- استفاده کنید
- استفاده
- با استفاده از
- ux
- تصدیق
- تنوع
- مختلف
- وسیع
- فروشنده
- تایید
- بررسی
- نسخه
- بسیار
- قابل اعتماد
- حیاتی
- آسیب پذیری ها
- صبر کنيد
- کیف پول
- کیف پول
- می خواهم
- بود
- مسیر..
- راه
- we
- بود
- چی
- چه زمانی
- هر زمان که
- چه
- که
- در حین
- تمام
- چرا
- ویکیپدیا
- اراده
- با
- در داخل
- بدون
- کلمات
- جهان
- خواهد بود
- کتبی
- اشتباه
- سال
- هنوز
- شما
- شما
- خودت
- زفیرنت
- صفر