วันที่ 3 มิถุนายน Bitcoin Core 0.20.0 ได้อัพเดทอย่างเป็นทางการซึ่งเป็น major release ครั้งที่ 20 ของ Bitcoin software ที่สร้างโดย Satoshi Nakamoto เมื่อ 11 ปีก่อน
Thank you for reading this post, don't forget to subscribe!Bitcoin Core นั้นมีผู้ดูแลหลักคือ Wladimir van der Laan โดย Release นี้มีผู้ร่วมพัฒนากว่า 100 คนโดยกินเวลาประมาณ 6 เดือน มีการ Merge กว่า 500 Pull request โดย Bitcoin Core 0.20.0 เป็น codebase ที่ Clean ที่สุด มีระบบ hardware wallet integration ระบบเครือข่ายที่มั่นคงขึ้น และมีการอัพเดทอื่นๆอีก
การ Integration ระหว่าง Hardware Wallet กับ GUI
ฺตัว Bitcoin code นั้นสามารถทำงานร่วมกับ Hardware wallet ได้ตั้งแต่ version 0.18.0. อย่างไรก็ตามผู้ใช้งานนั้นยังไม่สามารถทำธุรกรรมด้วย Hardware wallet จาก GUI ได้โดยผู้ใช้งานต้องทำผ่าน Command-line เท่านั้น
Bitcoin Core 0.20.0 มีการ integration ร่วมกับ GUI ทำให้ผู้ใช้สามารถ สร้างธุรกรรมที่ไม่ต้องมีลายเซ็นต์ใน Bitcoin Core GUI โดยใช้รูปแบบของธุรกรรมที่เซ็นต์เพียงบางส่วน หรือ partially signed bitcoin transaction (PSBT) แล้วคัดลอกไปยัง Hardware wallet เพื่อเซ็นต์มมันได้ อย่างไรก็ตามการการส่งธุรกรรมและ Broadcast ก็ยังต้องใช้ Command-line อยู่
Asmap ที่ทำให้การเชื่อมต่อของเครือข่ายมีความมั่นคงขึ้น
Bitcoin code นั้นจะเชื่อมต่อกับ Bitcoin Node อื่นๆบนเครือข่าย โดย Bitcoin Code จะเชื่อมต่อโดยอิงจาก Ip Address ที่เกิดการเชื่อมต่อจากผู้ให้บริการทางอินเทอร์เนต ซึ่งถ้า node สามารถรับธุรกรรมจากทั่วทุกมุมโลกได้ มันจะลดความเสี่ยงที่ข้อมูลธุรกรรมถูกระงับได้
ในปัจจุบัน Bitcoin Code จะเชื่อม Ip address โดย Network Operators’ Groups อย่างไรก็ตามกลุ่มผู้ดูแลเหล่านี้นั้นเป็นส่วนหนึ่งของ Autonomous System (AS): ซึ่งเป็น Cluster ของเครือข่ายผู้ดูแลที่จะแชร์เส้นทางอินเทอร์เนต ทำให้มันมีความเป็นไปได้ที่จะเกิดการแชร์เส้นทางเดียวกันทำให้เกิดคอขวดของข้อมูล
Bitcoin Core 0.20.0 จะมีตัวเลือกในการตั้งค่าที่ชื่อว่า Asmap ที่จะเชื่อม IP address โดย Autonomous System Numbers (ASNs) ที่จะทำให้มั่นใจได้ว่า Node นั้นจะเชื่อมต่อกับ ASs อื่นๆ ลดคอขวดของเครือข่าย เป็นการลดความเสี่ยงที่จะเกิดการที่ข้อมูลถูกระงับ (การเชื่อม Ip address กับ Network Operators’ Groups ยังเป็นการตั้งค่าแบบ Default)
ยกเลิก Reject message ใน BIP61
Reject Messages นั้นเป็นข้อความแจ้งเตือนที่ส่งมาจาก node เมื่อธุรกรรมนั้นถูกปฏิเสธรวมถึงเหตุผล (เช่นธุรกรรมไม่ถูกต้อง ใส่ค่าธรรมเนียมไม่เพียงพอ หรือเหตุผลอื่นๆ)
นักพัฒนาของ Bitcoin Core นั้นมองว่า Reject message นั้นไม่ได้มีประโยชน์เท่าไหร่ สิ่งที่สำคัญที่สุดคือ เพียร์ นั้นไม่ควรสนใจ Reject Message หรือหมายความว่าถ้า node ไม่ได้รับ Reject message มันก็ไม่ได้หลมายความว่าธุรกรรมนั้นจะต้องถูกยอมรับ ซึ่งทำให้ message นี้ไม่ได้มีประโยชน์เท่าไหร่ สื่งที่ถูกต้องคือตรวจสองว่าธุรกรรมถูกต้องหรือเปล่าหรือค่าธรรมเนียมเพียงพอ ในขณะเดียวกันข้อความนี้ทำให้ Protocol ซับซ้อนขึ้นและใช้ bandwidth มากขึ้น
BIP61 Reject Messages นั้นถูกปิดไว้เป็นค่า Default ใน Bitcoin Core 0.18.0 และนำออกใน Bitcoin 0.20.0yment Protocol (and OpenSSL)
นำ Payment protocol และ Openssl ใน BIP70 ออก
Payment Protocol (BIP 70) นั้นถูกออกแบบมาหลายปีก่อนเพื่อพัฒนาการใช้งาน Bitcoin payment โดยผู้ใช้งานและผู้ค้าสามารถสื่อสารรายละเอียดอื่นๆของการชำระเงินนั้น เช่น ชื่อของผู้ค้าและ refund address ถ้ามีอะไรผิดพลาด
เมื่อ Bitcoin Core นั้นพัฒนา Payment Protocol นี มันกลับไม่เคยถูกใช้ในวงกว้าง wallet ต่างๆกลับยังใช้ basic URI scheme (BIP21) ที่เป็นลิ้งค์หรือ Qr code ในการสื่อสารข้อมูลอย่าง payment address หรือ จำนวน
บางทีอาจจะเพราะมันขาดการใช้งาน BIP70 Payment Protocol จึงประสบกับปัญหาด้านความปลอดภัยต่างนับปี รวมถึงมันยังต้องใช้ cryptographic functions ใน OpenSSL library เพื่อการอัพเกรด ทำให้บาง wallet ปฎิเสธที่จะรับ BIP70
ใน Bitcoin Core 0.19.0 ได้นำ Payment Protocol ออกจาก GUI แต่ผู้ใช้งานยังต้องยังสามารถ compile การตั้งค่าแบบพิเศษเพื่อใช้ feature นี้ได้ แค่ Bitcoin Code 0.20.0 นั้นได้นำ Payment protocol ออกไป
เมื่อไม่มี BIP70 แล้ว Bitcoin Code จึงสามารถนำ OpenSSL ออกจาก codebase ได้
Dumptxoutset ก้าวแรกสำหรับ Assumeutxo เพื่อติดตั้งอย่างรวดเร็ว
remote procedure call (RPC) แบบใหม่นั้นจะทำให้ Bitcoin Core 0.20.0 สร้าง Snapshot ของชุด UTXO ซึ่งมันคือสถานะความเป็นเจ้าของ Bitcoin ที่เก็บไว้ใน Blockchain ณ เวลานั้น โดย Snapshot นี้สามารถแชร์ได้
Future นี้ของ Bitcoin Core จะทำให้ Scapshot ถูกแชร์เช่นเมือ peer เข้าร่วมเครือข่าย สิ่งนี้จะทำให้ node ใหม่ๆนั้นสามารถเข้าร่วมกับเครือข่ายในตอนที่ Snapshot ถูกสร้างขึ้น โดยในขณะที่ ประวัติของ blockchain จะถูกตรวจสอใน background (Like การตรวจสอบความถูกต้อง,similar shortcut, Assumeutxo นั้นมี tradeoffs ด้านความน่าเชื่อถือที่ก่อนที่ blockchain ทั้งหมดจะถูกตรวจสอบ )
อ่านฉบับเต็มได้ที่ Bitcoin Core 0.20.0 release notes.
ที่มา https://bitcoinmagazine.com/articles/bitcoin-core-0-20-0-released-whats-new