تغییرات جدید در جدیدترین نسخه نرم افزار اصلی بیت کوین: BITCOIN CORE 23.0

جدیدترین نسخه نرم افزار اصلی بیت کوین برای کابران که توسط ساتوشی ناکاموتو راه اندازی شده بود امروز(6 اردیبهشت) منتشر شد. BITCOIN CORE 23.0 توسط 132 توسعه دهنده در عرض هفت ماه کار کردن تا بتواند بهبودهای ملموسی را در کیف پول بیت کوین Core، ارتباطات و شبکه همتا به همتا(P2P) ، برآورد کارمزد و موارد دیگر ایجاد کند. این مقاله برخی از تغییرات اصلی را بررسی می کند.تغییرات نسخۀ BITCOIN CORE 23.0به روزرسانی کیف پولپشتیبانی TAPROOTBitcoin Core در نسخۀ جدیدش به کابران این امکان را میدهد تا هنگام ایجاد کیف پول جدید، نوع آدرس جدید Taproot را انتخاب کند. اگرچه این یک امر پیش‌فرض نیست، زیرا بسیاری از کیف‌پول‌ها در اکوسیستم هنوز نمی‌توانند به آدرس Taproot ارسال کنند، اما به کاربر این امکان داده می‌شود که آدرس‌های دریافت Taproot را در کیف‌های تازه ایجاد شده ایجاد کند.آدرس Taproot ایجاد شده بواسطۀ کیف پول Bitcoin Core برای دریافت بیت کوین، یک آدرس ساده و تک امضا است. بنابراین، کاربران به‌طور اتوماتیک برای کارمزدها بیت کوین ذخیره نخواهند کرد، در مقایسه با آدرس‌های تک امضای معمولی Bech32، زیرا ذخیرۀ بیشتر از انتقال شرایط پیچیده‌تر و تنظیمات آدرس در طرح Taproot حاصل می‌شود.با افزودن پشتیبانی بومی برای آدرس‌های تپ روت (Taproot)، Bitcoin Core گامی در جهت تشویق پذیرش گسترده‌تر Taproot برمی‌دارد. همانطور که کاربران بیشتری از ویژگی‌های این بروز رسانی استفاده می‌کنند، مزایای آن می‌تواند به بهترین شکل در به نفع کاربران باشد.پیش‌فرض شدن کیف‌پول‌های DESCRIPTORکیف‌پول‌های BITCOIN Core اکنون به‌طور پیش‌فرض هنگام ایجاد از descriptors استفاده می‌کنند، تغییری مهم که مژدۀ رسیدن یک فرآیند پشتیبان‌گیری و بازیابی بهتر وجوه بیت‌کوین را می‌دهد.از زمان ظهور کیف پول های سلسله مراتبی قطعی (HD)، کیف پول بیت کوین معمولاً از عبارات بازیابی(recovery seed) (معمولاً 12 یا 24 کلمه) برای تولید یک کلید خصوصی اصلی استفاده می کند. سپس کیف پول از آن کلید خصوصی اصلی برای تولید یک کلید عمومی اصلی استفاده می کند، که می تواند برای تولید نامحدود آدرس های دریافتی از طریق مسیرهای مشتق، که همانطور که از نامش پیداست، کیف پول را به مسیری که باید برای اشتقاق صحیح یک آدرس دنبال کند، هدایت کند.بنابراین بازیابی وجوه در کیف پول بیت کوین معمولاً به آن مسیر مشتق بستگی دارد، زیرا اکثر اپلیکیشن‌های کاربردی امروزه به طور پیش فرض کیف پول های HD را دارند. (استفاده از مسیرهای اشتقاق مختلف توسط کیف پول‌ها دلیلی است که معمولاً مشاهده می‌شود که کاربری که تلاش میکند تا وجه در کیف پول دوم را بازیابیکند با عدم موجودی مواجه میشود.)با این حال، کیف پول های descriptor با بیان صریح مسیر مشتق در descriptor، بازیابی وجوه را برای کاربر بسیار آسان تر می کند. بنابراین کاربر از اینکه به مراقب مسیر مشتق مورد استفاده کیف پول خود باشد خلاص میشودو این یک پیشرفت بزرگ در تجربه کاربر (UX) محسوب میشود.امکان مشاهدۀ اشتباهات تایپی در آدرس های BECH32آدرس‌های Bech32، قالبی که آدرس با bc1 شروع می‌شود، ویژگی جالبی دارد که امکان تشخیص اشتباهات تایپی را ممکن می‌سازد. با این حال، تا زمان نسخه 23.0 بیت کوین coreاین امکلن برای کاربران مهیا نبود.Bitcoin Core اکنون حداکثر دو خطا در آدرس Bech32 را به کاربر هشدار می دهد. این ابزار در حال حاضر تنها از طریق RPC “validateaddress” در دسترس است، اگرچه برنامه‌هایی برای ادغام آن در رابط کاربری گرافیکی (GUI) در آینده وجود دارد. اگر کاربر در هنگام تایپ آدرس بیش از دو اشتباه تایپی داشته باشد، ابزار جستجوی تایپ نمی تواند موفقیت را تضمین کند.محدودیت تعداد خطاهایی که ابزار متعهد میشود آنها را پیدا کند مهم است زیرا تلاش برای یافتن تعداد زیادی اشتباه تایپی می تواند منجر به اتفاقی ناخوشایند شود. اگر کاربر آدرسی را با چندین حرف اشتباه تایپ کند، حتی اگر ابزار بتواند همه آنها را شناسایی کند، ممکن است آدرسی کاملاً متفاوت از آنچه کاربر در وهله اول قصد ارسال به آن را داشت، نشان دهد؛ که این اتفاق ناگواری است و نتیجۀ بسیار بدتری در پی دارد.فریز کردن کوین‌هایک کاربر Bitcoin Core سالهاست که این امکان را دارد که از چه کوین‌ها یا خروجی‌های تراکنش خرج نشده (UTXO) در تراکنش استفاده کنید. اما این ویژگی کنترل کوین مستلزم انتخاب دستی UTXOهایی بود که هر بار باید از آنها استفاده کنند؛ فرآیندی دست و پا گیر و خسته کننده که به شدت مستعد خطا است.اکنون، Bitcoin Core به کاربران این امکان را می دهد که به طور نامحدود یک UTXO را “فریز” کند. فرآیند فریز کردن هنوز به صورت دستی است، اما کاربر فقط لازم است یک بار این کار را انجام دهد و مطمئن باشد که کوین‌های که فریز کرده است به طور اتوماتیک توسط Bitcoin Core خرج نمی شود تا زمانی که کاربر آن کوین را از حالت فریز خارج کند.انتخاب دقیق UTXOهایی که در تراکنش استفاده شود، برای جلوگیری از پیوند نامطلوب آدرس‌هایی که اهداف متناقضی دارند، مهم است. برای مثال، ممکن است یک کاربر نخواهد به UTXOهایی که از طریق روش‌های کِی وای سی(KYC) با کوین‌های غیر KYC به دست آورده‌اند بپیوندد. اگر این کار را انجام می دادند، هر ناظر بلاک چین می توانست استنباط کند که آن کاربر، که به دلیل اطلاعات ارائه شده KYC می تواند او را بشناسد، مالک آدرس غیر KYC و کوین‌های آن نیز هست که به حریم خصوصی کاربر لطمه می زند.تغییرات در ارتباطات P2Pحذف اولویت پورت 8333به طور کلی، کامپیوترها برای برقراری ارتباط با یکدیگر در اینترنت به دو بخش اصلی اطلاعات نیاز دارند: یک آدرس IP و یک شماره پورت. در حالی که آدرس IP به عنوان یک شناسه برای یک کامپیوتر در یک شبکه عمل می‌کند و به تعیین موقعیت آن کمک می‌کند، شماره پورت به اطلاع دادن نوع ارتباطی که در اینترنت صورت میگیرد، کمک می‌کند، زیرا هر پروتکل ارتباطی معمولاً یک شماره پورت خاص را پیش‌فرض می‌کند. در نتیجه، پورت‌ها به کامپیوترها این امکان می‌دهند تا چندین نوع ترافیک را همزمان اجرا کند و در عین حال به راحتی بین آنها تفاوت قائل شود. برای مثال، پروتکل HTTP وب به طور پیش فرض پورت 80 است، در حالی که همتای امن تر آن HTTPS معمولاً روی پورت 443 اجرا می شود و پروتکل SMTP ایمیل از پورت 25 استفاده می کند.با بیت کوین فرقی نمی کند. از لحاظ تاریخی، با راه اندازی Bitcoin Core، کامپیوترها به طور پیش فرض روی پورت 8333 اجرا می شوند. در حالی که پورت‌ها ارتباط بین کامپیوترها را در اینترنت تسهیل می‌کنند، همچنین نظارت بر ترافیک را برای ارائه‌دهندگان خدمات اینترنتی (ISP) آسان‌تر می‌کند، زیرا از طریق آن به راحتی می‌توان حدس زد که چه نوع ارتباطی صورت میگیرد. در یک راه اندازی نامطلوب، یک ISP می تواند ترافیک خاصی را بر اساس پورت مقصد فیلتر و مسدود کند. علیرغم اینکه موثرترین مکانیسم سانسور موجود برای ISPها نیست، اما ساده ترین مکانیسم است و یک پروتکل باید پورت ارتباطی پیش فرض خود را تغییر دهد تا از سانسور یا throttling خلاص شود.با حذف ارجحیت پورت 8333، Bitcoin Core اکنون ساده‌ترین مسیری را که ISPها برای فیلتر کردن یا مسدود کردن ترافیک بیت‌کوین دارند، کاهش می‌دهد. علاوه بر این، نودهایی که اکنون روی پورت 8333 اجرا نمی شوند، اصطکاک کمتری برای دریافت اتصالات ورودی نسبت به سایر نودها خواهند داشت، زیرا شبکه دیگر پورت8333 را در اولویت قرار نمی دهد.پشتیبانی از شبکه CJDNSبیت کوین Core 23.0 همچنین با افزودن پشتیبانی از شبکۀ CJDNS، جایگزینی با امنیت بالا برای پروتکل استاندارد اینترنت (IP) است که در برابر ISP های متخاصم از کاربران محافظت می کند.CJDNS از کریپتوگرافی(رمز نگاری) کلید عمومی برای پیاده سازی نسخه رمزگذاری شده IPv6 ( جدیدترین نسخه IP )استفاده می کند. CJDNS با ارائه رمزگذاری انتها به انتها به صورت بومی، IPv6 و IPv4 (نسخه IP قبلی که هنوز به طور گسترده استفاده می شود) با افزایش امنیت و حفظ حریم خصوصی بهبود می بخشد زیرا از نودهایی استفاده می کنند که در برابر آنالیز ترافیک و فیلتر محافظت می کند.این افزونه به کاربران علاقه مند برای محافظت از ترافیک خود در برابر چشمان کنجکاو یا افزایش امنیت راه اندازی بیت کوین خود، گزینه های اختیاری جدیدیارائه میکند. در حالی که Tor و I2P به عنوان جایگزینی برای IP clearnet وجود دارند، CJDNS به عنوان یک گزینه مکمل عمل می کند و قادر است استحکام شبکه بیت کوین و نودهای آن رابالا ببرد.تخمین بهتر کارمزدابزار تخمین کارمزد داخلی Bitcoin Core به تازگی کمی کاملتر شده است. بر اساس یک پست وبلاگی توسط جان نیوبری(John Newbery) در مورد این موضوع، تخمین کارمزد Bitcoin Core«به سادگی آمارهای معنی‌داری را در مورد رویدادهای گذشته ثبت و گزارش میدهد و با استفاده ار داده‌ها، تخمین معقولی را در اختیار کاربر قرار دهد که چه مقدار کارمزد باید بدهند تا تراکنش آنها در بلاک‌های N گنجانده شود، N تعداد بلاک‌هایی است که کاربر میخواهد برای تایید تراکنش خود منتظر بماند.الگوریتم محاسبه‌کننده چنین تخمین‌هایی برای در نظر گرفتن تمام تراکنش‌های روی mempool ، «منطقه انتظار» بیت‌کوین برای تراکنش‌هایی که هنوز در یک بلاک گنجانده نشده‌اند، استفاده می‌شود. اکنون، با Bitcoin Core 23.0، تراکنش‌های RBF در تخمین کارمزد Bitcoin Core در نظر گرفته می‌شوند و تخمین دقیق‌تری را برای کاربرانی که از نرم‌افزار برای ارسال تراکنش استفاده می‌کنند، ارائه می‌کند.پشتیبانی از نقاط ردیابی و فضای کاربری، ردیابی به صورت آماری تعریف شدهBitcoin Core اکنون نقاط ردیابی تجربی را در باینری‌های انتشار خود برای لینوکس با فضای کاربر، ردیابی استاتیکی تعریف شده (USDT) شامل می شود.USDT به کاربران این امکان را میدهد تا اطلاعات دقیقی را از نود خود دریافت کنند که می تواند برای بازنگری، اشکال زدایی و نظارت استفاده شود. این ویژگی امکان ردیابی آمار دقیق سفارشی و نظارت بر رویدادهای نود مخفی داخلی را فراهم می کند، در حالی که در صورت عدم استفاده تأثیر کمی بر عملکرد دارد. مثلا: شناسایی و احتمالاً جلوگیری از حملات. یک محقق امنیتی می‌تواند چندین نود را راه‌اندازی کند و پیام‌های دریافتی از همتایان را ردیابی کند تا احتمالاً حملات را زودتر شناسایی کند.منبع: Bitcoinmagazine.comترجمه شده توسط نجمه در خانه ترید