আগে জানানো ক্র্যাশের বাইরেও CVE-2018-17144 দিয়ে মাইনার 0.15.X থেকে 0.16.2 সংস্করণে একই লেনদেনের ভেতর একটি আউটপুট দুবার খরচ করে বিটকয়েনের সরবরাহ বাড়াতে পারতেন। 0.16.3 বা 0.17.0rc4-এ যাওয়ার সময় দিতে ডেভেলপাররা এই অংশটি চেপে রেখেছিলেন। ধারণা করা হচ্ছে অর্ধেকের বেশি হ্যাশরেট প্যাচড, হামলার কোনো চেষ্টা জানা যায়নি, আর আক্রান্ত ব্যবহারকারীদের আপগ্রেড করতে বলা হয়েছে।
একই ইনপুট দুবার খরচ করা লেনদেনসহ ব্লক পেলে Bitcoin Core 0.14.0 থেকে 0.16.2 ক্র্যাশ করে, এই হলো CVE-2018-17144; ব্যবহারকারীদের অবিলম্বে 0.16.3-এ যেতে বলা হয়েছে। এমন ব্লক তৈরি করতে পারেন কেবল সেই মাইনার, যিনি অনুমোদিত আয়ের অন্তত 12.5 BTC ছেড়ে দিতে রাজি।
জুনের শুরুতে প্রকাশিত SPV প্রুফের ব্যয়বহুল হামলায় Bitcoin Core 0.16.2-এর verifytxoutproof RPC আর কাবু হয় না, যদিও আসল SPV ক্লায়েন্ট ঝুঁকিতেই আছে। আলাদা এক সংশোধনে abandontransaction এখন শুধু চাইল্ডে থেমে না গিয়ে লেনদেনের সব ডিসেন্ডেন্ট বাদ দেয়।
লিগ্যাসি সিগনেচার স্ক্রিপ্টে OP_CODESEPARATOR আর রিলে করে না Bitcoin Core 0.16.1; এই নীতি বদলে ধীরে যাচাই হওয়া ব্লকের ভবিষ্যৎ সমাধান চালু করা সহজ হবে। মাইনাররা -blockmaxsize হারিয়ে -blockmaxweight পাচ্ছেন, আর পরপর দুটি ব্লক বানালে তাঁদের আয় কমিয়ে দিতে পারত এমন একটি বাগও সারানো হয়েছে।
Bitcoin Core 0.16.0-এ ওয়ালেটের ডিফল্ট হলো segwit: -addresstype অন্য কিছু না বললে নতুন ঠিকানা হয় p2sh-segwit, আর BIP173-এর নেটিভ bc1 ঠিকানা তৈরি ও তাতে পেমেন্ট দুই-ই সম্ভব। নতুন ওয়ালেট শুধু HD, আগের সংস্করণ সেগুলো গ্রহণ করে না; GUI-র সেন্ড স্ক্রিনে BIP125 RBF এখন ডিফল্টে চালু।
ভবিষ্যৎ নেটওয়ার্ক ফর্কের সতর্কতা হিসেবে প্রাথমিক সিঙ্কে minimum-chain-work-এর নিচের চেইন দেওয়া পিয়ারদের ছেঁটে ফেলে Bitcoin Core 0.15.1, সঙ্গে অবৈধ বলে জানা হেডার দেওয়া আউটবাউন্ড পিয়ারদেরও। টিপ 30 মিনিট আটকে থাকলে এখন একটি বাড়তি আউটবাউন্ড সংযোগ খোলে। মাইনাররা blockmaxsize আর সরাসরি ব্যবহার করতে পারবেন না; এটি অপ্রচলিত, শুধু একটি ওয়েট সীমা বোঝায়।
GUI-র স্টার্টআপ ক্র্যাশের জেরেই Bitcoin Core 0.15.0.1: 0.15.0-এ আপগ্রেড করা কিছু ক্লায়েন্ট ইন্টারফেসে আর না থাকা একটি কাস্টম ফি সেটিংয়ে হোঁচট খাচ্ছিল। ছোট্ট প্যাচ #11332 সেই অবৈধ মান সামলে নেয়।
Bitcoin Core 0.15.0-এর ফি অনুমান এখন 25-এর বদলে 1,008 ব্লক সামনে পর্যন্ত যায়, আর GUI ব্যবহারকারীরা Replace-By-Fee দিয়ে আনকনফার্মড লেনদেনের ফি বাড়াতে পারেন। আউটপুটভিত্তিক chainstate ডেটাবেসে প্রাথমিক ব্লক ডাউনলোড দ্রুত হয়েছে 30-40%। প্রথম চালুতে রূপান্তর হয় আপনাআপনি, সময় লাগে প্রায় 5 থেকে 30 মিনিট।
Segwit2x-এর বাস্তবায়ন btc1-এর সঙ্গে Bitcoin Core-এর নিয়মিত অবদানকারীদের কোনো যোগ নেই; এটি জরুরি হালনাগাদ, এই দাবিও প্রকল্পটি নাকচ করে একে নেটওয়ার্কের নিয়ম থেকে বিতর্কিত বিচ্যুতি বলছে। কয়েক দিনের মধ্যে আসছে যে সফট ফর্ক Segwit, তার সঙ্গে ওই হার্ড ফর্কের সম্পর্ক নেই, আর বেশিরভাগ ব্যবহারকারীর কিছু করারও নেই। বিবৃতির সতর্কবার্তা, Segwit2x-এ শক্তিশালী রিপ্লে সুরক্ষার পরিকল্পনাও নেই।
UPnP চালু করে থাকলে দেরি না করে Bitcoin Core 0.14.2 বসানোর আহ্বান: সঙ্গে থাকা miniupnpc-র integer signedness ত্রুটি CVE-2017-8798 দিয়ে লোকাল নেটওয়ার্কের হামলাকারী denial of service বা হয়তো অন্য ক্ষতিও করতে পারে। UPnP ডিফল্টে বন্ধ, তাই যাঁরা কখনও চালু করেননি তাঁদের নোড নিরাপদ।
অ্যাক্টিভেশনের পরেও non-segwit মাইনাররা getblocktemplate চালাতে পারবেন, কারণ Bitcoin Core 0.14.1 টেমপ্লেট থেকে segwit লেনদেন সরিয়ে দেয়। -dbcache-এর ডিফল্ট হলো 450MiB, আর ফ্লাশের সময় চাপ বাড়লেও সীমা এখন ঠিক থাকে। createrawtransaction ও disconnectnode-এ আর্গুমেন্টের নাম বদলানোয় 0.14.0-র নামযুক্ত আর্গুমেন্ট দিয়ে করা কল আর কাজ করবে না।
Bitcoin Core-এর রোডম্যাপে থাকা হাইব্রিড ফুল ব্লক SPV মোডে নতুন নোডের ওয়ালেট সিঙ্ক শেষের আগেই লেনদেন পাঠাতে ও পেতে পারবে; ওয়ালেটের সবচেয়ে পুরোনো কী থেকে ব্লক আনা শুরু হয়, পেছনে চলে পূর্ণ যাচাই। ব্যান্ডউইথ বেশি লাগলেও Bloom ফিল্টারের প্রাইভেসি ফাঁস থাকে না, আর পেমেন্টে অপেক্ষা করা উচিত 6 বা তার বেশি কনফার্মেশনের।
ECDSA-র জায়গায় Schnorr সিগনেচার এলে 50-of-50 মাল্টিসিগের আকার নেমে আসবে একক কী-র খরচের সমান, আর এর নীতি পর্যবেক্ষকদের চোখে পড়বে না। Bitcoin Core-এর রোডম্যাপ বলছে, প্রধান বাধা cancellation, যেখানে ক্ষতিকর সইকারী অন্যের কী বিয়োগ করে দেয়। এর জবাব delinearization, যদিও নিরাপত্তার প্রমাণ এখনও পিয়ার রিভিউতে।
Bitcoin-Qt 0.7.0-র সিগনেচার ক্যাশিং, 0.8.0-র LevelDB-সহ Ultraprune আর Bitcoin Core 0.10-এর headers-first সিঙ্ক উঠে এসেছে রেফারেন্স সফটওয়্যারের গতি বাড়ানোর এই ফিরে দেখার প্রথম পর্বে। ডেভেলপারদের বেঞ্চমার্কে শুধু সমান্তরাল স্ক্রিপ্ট যাচাই থেকেই মিলেছে 35% থেকে 100%।
ডিফল্ট সেটিংয়ে Amazon EC2 পরীক্ষায় 0.13.2-এর তুলনায় Bitcoin Core 0.14.0-এ নতুন নোডের প্রাথমিক ব্লক ডাউনলোড শেষ হয়েছে 5.7 গুণ দ্রুত: 1 দিন 12 ঘণ্টা 40 মিনিটের বিপরীতে 6 ঘণ্টা 24 মিনিট। এর পেছনে assumed valid ব্লক এবং মেমপুল ও UTXO ক্যাশের ভাগ করা মেমরি। ওয়ালেটে ঐচ্ছিক ফি বাম্পিংও এসেছে, ডিফল্টে বন্ধ।
আনকনফার্মড চেইনের সীমায় ঠেকলে ওয়ালেট থেকে পাঠানো লেনদেন আর RPC ত্রুটি দেয় না Bitcoin Core 0.13.2-এ। উত্তর আসে সফল বলে, আর রিব্রডকাস্টের সময় মেমপুলে ঢোকানোর চেষ্টা হয় আবার, রিস্টার্ট ছাড়াই। 1-ব্লক লক্ষ্যের ফি অনুমান বন্ধ, আর অবৈধ কমপ্যাক্ট ব্লক সামলানো শুধরেছে।
segwit-কে P2SH-এ মুড়লে বাইটের খরচ সবচেয়ে বেশি: Bitcoin Core-এর হিসাবে 180 বাইটের লেনদেনে P2WSH/P2SH-এ 19% ও P2WPKH/P2SH-এ 11% বাড়তি, BIP141 যা আনবে তারই খতিয়ান। যাচাইয়ে লেনদেনপ্রতি লাগে আরও প্রায় পাঁচটি SHA256 হ্যাশ। ঝুঁকি হিসেবে বাগ, বড় ব্লক ও কম ফি বিবেচিত হয়েছে, অ্যাক্টিভেশন নিয়ে লেখকেরা কোনো অবস্থান নেননি।
segwit সফট ফর্কের সংকেত দেওয়ার কোড মাইনাররা পেলেন Bitcoin Core 0.13.1-এ; সংকেত শুরু 15 নভেম্বর 2016 থেকে, পরবর্তী রিটার্গেট পর্বের গোড়ায়। লক ইনে লাগবে 2,016 ব্লকের পর্বে 95% ব্লক, অ্যাক্টিভেশন তার এক পর্ব পরে। ওয়ালেট সামঞ্জস্যপূর্ণই থাকছে, তাই মাইনার ছাড়া আর কাউকে সম্ভবত কিছু করতে হবে না।
segwit-এর জন্য দরকার দুই পক্ষের সায়: একটি রিটার্গেট পর্বে 95% ব্লকে বিট 1 দিয়ে সংকেত দেওয়া মাইনার এবং Bitcoin Core 0.13.1 বা সামঞ্জস্যপূর্ণ বাস্তবায়ন চালানো যথেষ্ট ফুল নোড। সংকেত শুরু হবে 15 নভেম্বর 2016 বা তার পরের প্রথম রিটার্গেটে। মাইনার, নোড অপারেটর, ওয়ালেট ব্যবহারকারী ও ডেভেলপারদের জন্য আলাদা ধাপ আছে, যাঁরা আপগ্রেড না করার সিদ্ধান্ত নেন তাঁদের জন্যও।
segwit কোড ঢুকেছে Bitcoin Core 0.13.0-এ, তবে মেইননেটে নিষ্ক্রিয়; সেখানে ব্যবহারের জন্য লাগবে পরের সংস্করণ, সম্ভবত 0.13.1। কমপ্যাক্ট ব্লক রিলে (BIP152) ব্যান্ডউইথের হঠাৎ চাপ কমায়, নতুন ওয়ালেটে BIP32 HD কী থাকায় একটিমাত্র ব্যাকআপে ভবিষ্যতের সব প্রাইভেট কী ঢেকে যায়। অফিশিয়াল ডাউনলোডে এবার Linux ARM বিল্ডও।