بخش جداییناپذیر از شبکهی بیت کوین یک نرمافزار به نام Bitcoin Core میباشد ، این برنامه بهمنظور شناخت بلاکهای معتبر که در آنها تراکنشها وجود دارد ساخته شده است که از این برنامه بهمنظور کیف پول امن هم استفاده میکنند. در این مقاله نگاهی به تغییرات نسخه جدید Bitcoin Core خواهیم انداخت و آن ها را با هم بررسی می کنیم.
از این برنامه میتوان برای ایجاد تراکنشها و دیگر خدمات پرداختی استفاده کرد. کد منبع این برنامه در سایت گیتهاب موجود میباشد.
14 ژانویه ورژن 0.21.0 و نسخه جدید Bitcoin Core انتشار یافت. این بیست و یکمین نسخه کاربری نرم افزار اصلی بیتکوین است که از زمان پیدایش بیت کوین توسط ساتوشی ناکاماتو در 12 سال پیش خلق شده.
این نسخه تحت نظارت دولوپر اصلی بیت کوین یعنی Wladimir van der Laan و با مشارکت حدود صد نفر از فعالین ارز دیجیتال و با هدف بهینه کردن و برطرف کردن باگ های نسخه های پیشین در زمانی حدود 6 ماه برنامه نویسی و کار مداوم منتشر شده است.
این یکی از بزرگترین آپدیت های Bitcoin Core منتشر شده در سالهای اخیر است.
کیف پول توصیفی(Descriptor)
زمانی که شما کوین ها را به یک آدرس دلخواه منتقل می کنید ، آنچه که در واقع رخ می دهد این است که دارایی دیجیتال شما تحت پروتکل UTXO (خروجی تراکنش پرداخت نشده) قفل می شود. این به این معنی است که به شرط تطبیق امضای شما با آدرس عمومی کوین ها قابلیت جا به جایی داشتند.
برای درک این مفهوم به شکل زیر دقت کنید
تاکنون Bitcoin Core برای مدیریت UTXO های موجود در کیف پول خود بر اساس کلیدهای خصوصی مربوطه طراحی شده بود.
در عوض در نسخه جدید Bitcoin Core فرایندی به نام “descriptor wallets” را معرفی شده است. «کیف پول توصیف کننده» به کاربران این اجازه را می دهد که UTXO ها را بر اساس روشی که میخواهند دارایی های دیجیتال خود را خرج کنند ، دسته بندی کنند.
به عنوان مثال یک والت برای UTXO هایی که به یک امضای معتبر نیاز دارند را از یک والت چند منظوره و چند امضایی جدا می کند.
Descriptor wallets همچنین برای توسعه دهندگان اپلیکیشن هایی که نرم افزار خود را بر روی Bitcoin Core طراحی و اجرا می کنند مفید است.
اکنون یک برنامه خاص به راحتی می تواند طوری طراحی شود که فقط از یک نوع خاص UTXO مانند UTXO های چند امضا استفاده کند و آن ها را بر اساس نوع و ویژگی ها ایجاد کنند.
همچنین کاربران عادی نیز می توانند به راحتی این تفاوت را مشاهده کنند، به صورتی که می توانند مقادیر دارایی دیجیتال خود را با جزئیات بیشتری مدیریت کنند.
مهمتر از همه اینکه هنگام راه اندازی Bitcoin Core node جدید هیچ کیف پول پیش فرضی ایجاد نمی گردد.درعوض ، کیف پول جدید فقط زمانی ایجاد می شود که کاربر به طور خاص این کار را انجام دهد و هسته به وی اجازه می دهد فقط نوع کیف پول مورد نظر خود را ایجاد کند.
Descriptor wallets ها همچنین از کیف پول های Watch Only بهتر پشتیبانی می کنند در واقع این ها نوعی کیف پول آنلاین هستند که به شما این امکان را می دهد که یک آدرس خاص (مربوط به شما یا دیگران) را وارد کیف پول کرده و این آدرس را تحت نظر قرار دهید؛ و جزییات ورودی و خروجیهای آن رازیرنظر داشته باشید.
و همچنین این امکان را دارند که برخی از UTXO ها را ردیابی کنند حتی اگر کاربران و یا نود ها ، کلیدهای خصوصی لازم برای خرج کردن آنها را نداشته باشد.
البته کاربرانی که به نسخه جدید Bitcoin Core ارتقا می یابند هنوز نیز می توانند از والت های پیشین خود استفاده کنند. اما باید توجه داشت که والت قدیمی سرانجام منسوخ می شوند ، بدین معنی که کاربران باید کیف پولهای قدیمی خود را به یک Descriptor wallets منتقل کنند ، اما این امر تا انتشار نسخه بعدی Bitcoin Core کاملاً ضروری نخواهد بود.
جایگزینی فیلترهای Bloom با فیلترهای Compact Block
اصطلاح Light clients به برنامه ها و نرم افزار هایی در شبکه بیت کوین گفته می شود که کل بلاک چین بیت کوین را بارگیری و تأیید نمی کنند ، اما در عوض فقط بخش هایی از بلوک ها و معاملات مربوط به آنها را بارگیری و تأیید می کنند. که از لحاظ امنیت به صرفه نیست.
یعنی اگر شما به جای فول نود یک کیف پول سبک(Light clients) داشته باشید، موقع انجام تراکنش نیاز دارید تا اطلاعات مرتبط رو از نودهای اطراف درخواست کنید.
روش مرسوم و فعلی، استفاده از یک روش رمزنگاری به اسم فیلتر Bloom بوده؛ به این شکل که کیف پول سبک شما نودها رو تقریبا تصادفی انتخاب کرده و از آن ها اطلاعات مرتبط با تراکنش شما رو درخواست میکند.
اما متاسفانه طی این سالها معلوم شده است که این روش به ضرر حریم خصوصی می باشد. چون تمامی اطلاعات کاربر را به نودها افشا میکند. که راه بسیار مناسبی برای حملات هکر ها می باشند.
یک جایگزین جدید و امن برای این کار استفاده ازفیلتر compact client-side block است که این فیلتر مشکلات فیلتر بلوم را حل می کند.
در واقع به جای اینکه Light clients فیلترهایی برای نود ها ارسال کنند ؛ نود ها فیلترهایی را برای هر بلوک ایجاد می کنند و این موارد را برای Light clients ارسال می کنند.
تنها کاری که کیف پول کاربر باید انجام دهد این است که اطلاعات بلوک ارسالشده را چک کرده و صحت تراکنش را ارزیابی کند.
نسخه های موجود Bitcoin Core می توانند فیلترها را به صورت محلی ایجاد کنند و آنها از طریق پروسجر های کنترلی از راه دور (RPC) برای هر نرم افزاری که بر روی نود بیت کوین قابلیت اجراداشته باشند در دسترس است.
تکرار کمتر تراکنش ها
در کنار فیلتر های بلوم ، جاسوس ها و هکر ها همچنین می توانند از طریق تجزیه و تحلیل شبکه ، حریم خصوصی کاربران بیت کوین را بشکند.
اگر بتوانند به ماهیت معاملات و نود ها پی ببرند می توانند آدرس های بیت کوین یک گره را با آدرس IP خود پیوند بزنند.
تا این لحظه، زمانی که Bitcoin Core node معامله ای را به شبکه بیت کوین منتقل می کنند، سعی می کنند معامله را هر پانزده دقیقه دوباره پخش کنند تا اینکه معامله در یک بلوک قرار گیرد.
این به این معنی است که اگر Bitcoin Core node به یک ردیف جاسوسی متصل باشند، کاملاً برای جاسوسان مبرهن می بود که گره ها سعی دارند که هر 15 دقیقه یک تراکنش خاص را دوباره پخش کنند و به راحتی گره منشا این معاملات پیدا می شد.
اما در نسخه جدید Bitcoin Core پخش مجدد تراکنش ها را به یک بار در هر 12 تا 36 ساعت تقلیل می یابد.
در واقع کاهش تعداد مخابره ، احتمال تأیید معامله از زمان پخش اولیه را بسیار بیشتر می کند ، بنابراین گره اصلاً مجبور به پخش مجدد نمی شود. در نسخه های بعدی Bitcoin Core این نقص قرار است که کاملاً بر طرف شود.
سپس نود Bitcoin Core تنها تراکنش هایی را منتشر خواهد کرد که بر اساس محاسبات خود صلاحیت قرار گرفتن در شبکه را دارند؛ این کار نیاز به مخابرهی چندباره را از بین میبرد.
پشتیبانی از نسخه 3 تور
بر اساس تغیرات آخرین نسخه نرمافزار حفظ حریم خصوصی دیجیتال یا تور (Tor) که جدید ترین نسخه آن نسخه 3 می باشد؛ رشته آدرس های آن طولانی تر از نسخه های پیشین شده است اما در حال حاضر از نسخه 2 آن نیز استفاده می شود که تا یک سال دیگر منسوخ خواهد شد.
نود هایBitcoin Core با به اشتراک گذاشتن آدرسهای Tor شناخته شده همدیگر را پیدا می کنند. آنها همان پیغامی را به اشتراک می گذارند که برای به اشتراک گذاشتن آدرسهای IP معمول گرههای دیگر استفاده می کردند.
در حالی که آدرسهای Tor V2 می توانند در قالب آدرس IP معمولی (IPV6) “پنهان” شوند ، آدرسهای Tor V3 برای آن طولانی هستند. به عبارت دیگر ، پیامهای کنونی بسیار محدود هستند که با نسخه Tor قابل سازگاری نیستند.
بنابراین نسخه 0.21.0 قالب جدیدی را برای اشتراک گذاری آدرسهای IP/Tor با دیگر نود ها ارائه می دهد. طول این پیام ها به اندازه ای هست که بتوان از طریق نسخه جدید تور به اشتراک گذاشته شوند.
امضای شنور (Schnorr) / کد Taproot و Signet/ گسترش Regtest
الگوریتم امضای Schnorr که بیش از دو سال در حال توسعه بود ، یک پیشرفت کامل نسبت به الگوریتم امضای ECDSA فعلی بیت کوین محسوب می شود.
اما کاری که اشنور انجام می دهد این است که به فرض مثال کلید های خصوصی 1و 2 می توانند با گذشتن از این معادله تبدیل به یک کلید خصوصی واحد شوند.
در حقیقت این کار مشخص نمی کند که آیا برای یک تراکنش چندین امضا انجام شده یا خیرو آیا تراکنش معمول بوده یا نه.
از طرف دیگر Taproot نیز با یکسان نشان دادن خروجی تراکنش ها ، امکان تشخیص نوع و یا شرایط خروج بیت کوین را مخفی نگاه می دارد.
کد Schnorr / Taproot در ترکیب با یک دیگر نوید یک قرارداد منعطف تر و هوشمندانه تر را می دهد که نتیجه آن حفظ بیشتر حریم خصوصی کاربران است.
گرچه Schnorr / Taproot هنوز در شبکه اصلی بیت کوین در دسترس نیست.
برای این منظور ابتدا باید نسخه ارتقا یافته فعال شود که فعلاً این امکان در نسخه جدید Bitcoin Core در دسترس نیست و پیش بینی می شود که در آپدیت های آتی در ماه های آینده بتوان به آن دست پیدا کرد.
برای مشاهده و خرید کیف پول سخت افزاری لجر کلیک کنید.
نتیجه گیری
بر اساس تغیرات ذکر شده در بالا ، در نسخه جدید Bitcoin Core ما شاهد بر طرف شدن باگ های مختلف و همچنین بهبود عملکرد می باشیم اما شاید از دیدگاه کاربران عادی چنان مشهود نباشد.
به عنوان مثال والت Bitcoin Core با استفاده از Berkeley DB به پایگاه داده SQLite تغییر می یابد، که مناسب تر و کاربردی تر است .
نکته جالب دیگر این است که در نسخه جدید Bitcoin Core ما شاهد بازنگری درخواست معامله هستیم که یک پروتکل بر پایه پیام است و نود ها برای آگاهی از معاملات جدید از آن استفاده می کنند.