โปรแกรม Bitcoin Core ที่เป็นทั้งกระเป๋าเก็บ Bitcoin (BTC) และตัว full node ที่ให้คุณเปิดรันเพื่อร่วมเป็นส่วนหนึ่งของเครือข่าย Blockchain ของมันนั้นได้รับการอัพเกรดเป็นเวอร์ชันล่าสุดแล้ว ซึ่งถือเป็นการอัพเกรดครั้งที่ 20 นับตั้งแต่มี Bitcoin มาถึง 11 ปีเลยทีเดียว
โดยตัวอัพเกรดเวอร์ชัน 0.20.0 ดังกล่าวนี้จะถูกเรียกว่า Asmap โดยเป็ฯที่รู้กันดีว่า Bitcoin Core นั้นเป็นเสมือนกับกระเป๋าเหรียญหลักแบบดั้งเดิมที่ถือกำเนิดมาพร้อม ๆ กับ Bitcoin เลยทีเดียว อีกทั้งมันยังรองรับฟีเจอร์จำนวนมากอีกด้วย ทว่าผู้ที่จะทำการติดตั้งโปรแกรมดังกล่าวนั้นจะต้องมีการเผื่อเนื้อที่เก็บข้อมูลบนเครื่องคอมพิวเตอร์ไว้ราว ๆ 195 GB เพื่อเป็นผู้ถือข้อมูลการทำธุรกรรมบน Blockchain ตั้งแต่ในอดีตยันปัจจุบัน หรือที่เรียกว่าการถือ full node นั่นเอง
โดยในเวอร์ชันใหม่ล่าสุดนั้นมีการอัพเกรดหลัก ๆ ดังนี้
เพิ่มการรองรับกับ Hardware wallet ด้วยหน้าตา GUI ที่ทำให้ใช้งานง่ายขึ้น
โปรแกรม Bitcoin Core นั้นมีการรองรับ hardware wallet มาตั้งแต่เวอร์ชัน 0.18.0 แล้ว แต่อย่างไรก็ตามผู้ใช้งานนั้นไม่สามารถที่จะทำธุรกรรมบน hardware wallet ผ่าน Bitcoin Core อย่างง่ายดายได้ เนื่องจากว่ามันไม่มีระบบ GUI หรือหน้าตาแบบกราฟฟิคที่สวยงาม แต่ผู้ใช้งานจะต้องพึ่งพาการพิมพ์คำสั่งบน command line interface (CLI) ในการทำธุรกรรมแทน
ทว่าในเวอร์ชัน 0.20.0 นี้พวกเขาได้มีการเพิ่ม GUI เข้ามาในระบบการเชื่อมต่อกับ hardware wallet แล้ว โดยตั้งแต่นี้ต่อไปผู้ใช้งานจะสามารถทำธุรกรรมโดยที่ไม่ต้องใช้ลายเซ็นบน Bitcoin Core GUI โดยจะใช้ฟอร์แมทที่เรียกว่า partially signed bitcoin transaction (PSBT) ก่อนที่จะทำการคัดลอกมันไปยัง clipboard, เมื่อถูกคัดลอกไปแล้ว ผู้ใช้งานจะสามารถส่งธุรกรรมไปยัง hardware wallet เพื่อไปเซ็นบนนั้นได้เลย แต่อย่างไรก็ตาม การโอนดังกล่าวนั้นยังไม่ได้มีระบบอัตโนมัติที่สมบูรณ์แบบ 100% นัก และการ broadcast ขึ้นไปบนเครือข่าย blockchain ยังจำเป็นที่จะต้องพึ่งพา CLI อยู่
แต่กระนั้นในอนาคตเราสามารถที่จะได้เห็นการเชื่อมต่อ Bitcoin Core กับ hardware wallet ที่ดียิ่งขึ้น และทำให้ผู้ใช้งานสามารถใช้งานมันได้อย่างง่ายดายมากขึ้น
การใช้ Asmap เพื่อการเชื่อมต่อกับเครือข่ายที่ดียิ่งขึ้น
หากคุณใช้งานโปรแกรม Bitcoin Core นั้น จะเห็นได้ว่ามันจะทำการเชื่อมต่อกับผู้ใช้งานคนอื่น ๆ ที่รันโปรแกรมดังกล่าวนี้อยู่ด้วย (ผู้ใช้งานคนอื่นจะถูกเรียกว่า peer และพวกเขาก็จะเรียกคุณว่า peer ด้วยเช่นกัน) โดย Bitcoin Core นั้นจะทำการจับคู่กับ peer อื่น ๆ โดยอ้างอิงจากหมายเลข IP เพื่อทำการเชื่อมต่อผ่าน nternet Service Providers (ISPs) โดยเมื่อโปรแกรม Bitcoin Core ได้รับข้อมูลการทำธุรกรรมจาก peer รายอื่น ๆ ที่กระจัดกระจายอยู่ทั่วโลกแล้วนั้น ความเสี่ยงของธุรกรรมที่จะเป็นของปลอมนั้นก็จะน้อยลงไปเรื่อย ๆ
ก่อนหน้านี้ Bitcoin Core ใช้วิธีการจับคู่หมายเลข IP โดยใช้ Network Operators’ Groups ทว่าอย่างไรก็ตามกลุ่มเหล่านี้ถือเป็นส่วนหนึ่งของ Autonomous System (AS) หรือกลุ่ม cluster ของเครือข่ายที่แชร์เส้นทางหลักของการเชื่อมต่อ internet ไว้ด้วยกัน นั่นหมายความว่ามันอาจจะมีการแชร์ routing bottlenecks หรืออาการล่าช้าจากอาการคอขวด และโอกาสที่ข้อมูลอาจจะมีการถูกปรับแต่งมาแล้วก็ยังคงมีอยู่
ทว่าใน Bitcoin Core เวอร์ชัน 0.20.0 นี้จะมีการเพิ่มฟีเจอร์มาใหม่ที่เรียกว่า Asmap ที่จะทำการจับคู่หมายเลข IP โดยระบบ Autonomous System Numbers (ASNs) ที่จะช่วยให้ Bitcoin Core นั้นสามารถจับคู่กับ peer อื่น ๆ ได้จาก AS ตัวอื่น ๆ ซึ่งจะช่วยกำจัดโอกาสการเกิด bottleneck อีกทั้งยังลดความเสี่ยงที่ข้อมูลจะถูกปรับแต่งอีกด้วย (ทว่าฟีเจอร์ใหม่ที่ว่านี้จะไม่ได้ถูกเปิดมาเป็นแบบค่าเริ่มต้น)
นำเอา BIP61 หรือ Reject Message ออก
อีกหนึ่งฟังค์ชันบน Bitcoin Core ที่เรียกว่า Reject Messages (BIP61) นั้นเป็นระบบแจ้งเตือนที่จะช่วยเตือนผู้ใช้งานเมื่อการทำธุรกรรมจาก peer นั้นถูกปฏิเสธพร้อมระบุสาเหตุว่าทำไมถึงถูกปฏิเสธ (เช่นข้อมูลการทำธุรกรรมไม่ถูกต้อง, ผู้ทำธุรกรรมจ่ายค่าธรรมเนียมไม่พอ, หรือสาเหตุอื่น ๆ)
โดยในเวอร์ชัน 0.20.0 นี้ฟังค์ชันดังกล่าวถูกตัดออกไป โดยสาเหตุหลัก ๆ นั้นทางนักพัฒนามองว่ามันไม่ค่อยจะมีประโยชน์มากนัก หลัก ๆ ก็คือพวกเขามองว่า peer นั้นไม่ควรที่จะพึ่งพา Reject Message ให้มากนัก ซึ่งหมายความว่าหาก node ของผู้ใช้งานนั้นไม่ได้รับข้อความ Reject Message นั่นก็ไม่ได้หมายความข้อมูลว่าธุรกรรมที่ได้รับมานั้นจะได้รับการอนุมัติเสมอไป ซึ่งสิ่งนี้ที่ทำให้ข้อความดังกล่าวนั้นไม่ค่อยจะมีประโยชน์ในบางครั้ง นอกจากนี้มันยังมีวิธีการอื่น ๆ เพื่อตรวจสอบว่าธุรกรรมดังกล่าวนั้นถูกต้องหรือไม่ และมีการใส่ค่าธรรมเนียมมามากพอหรือไม่อีกด้วย รวมถึงระบบ Reject Message นั้นยังทำให้โปรโตคอลของ peer-to-peer มีความซับซ้อนมากขึ้น รวมถึงกินแบนด์วิดมากขึ้นอีกด้วย
ดังนั้น BIP61 Reject Message จึงได้ถูกตั้งค่าให้ปิดเป็นค่าเริ่มต้นใน Bitcoin Core เวอร์ชัน 0.18.0 และก็ถูกเอาออกไปโดยสมบูรณ์แบบในเวอร์ชัน 0.20.0 นั่นเอง
นำเอา BIP70 Payment Protocol ออก (รวมถึง OpenSSL ด้วย)
ระบบ The Payment Protocol (BIP 70) นั้นถูกออกแบบและพัฒนาขึ้นมาเมื่อหลายปีก่อนเพื่อทำให้ประสบการณ์การทำธุรกรรม Bitcoin นั้นดีมากขึ้น ซึ่งผู้ค้าและผู้ซื้อสามารถที่จะสื่อสารกันโดยใส่รายละเอียดลงไปในธุรกรรมได้ อย่างเช่นที่อยู่สำหรับส่งของที่สามารถอ่านได้แบบง่าย ๆ, ชื่อของร้านค้า และที่อยู่สำหรับส่งของคืนหากมีปัญหาเกิดขึ้น
แม้ว่าโปรโตคอลดังกล่าวจะฟังดูมีประโยชน์ แต่ทว่ามันกลับไม่ได้รับความนิยมในการใช้งานเท่าไรนัก โดยปัจจุบันนั้นกระเป๋าส่วนใหญ่ยังคงใช้ URI scheme (BIP21) แบบดั้งเดิมอยู่ โดยระบบพื้นฐานที่ว่านี้จะเป็นการส่งลิงค์ หรือ QR code ให้สแกนเพื่อส่งข้อมูลที่ทำได้แค่ address ของเหรียญ และจำนวนที่จะจ่ายเท่านั้น
นอกเหนือจากการไม่ได้รับความนิยมแล้ว BIP70 นั้นยังติดปัญหาเรื่องระบบความปลอดภัยและความเป็นส่วนตัวอีกด้วย โดยเฉพาะในด้านที่มันพึ่งพาระบบ OpenSSL หรือตัวไลบรารี่ซอฟต์แวร์สำหรับการเข้ารหัสที่จะต้องมีการแจ้งเตือนก่อนการอัพเกรดแบบฉุกเฉินทุกครั้ง ซึ่งนี่ถือเป็นอีกหนึ่งเหตุผลที่ทำให้ BIP70 ถูกตัดออกไป
ก่อนหน้านี้ Bitcoin Core เวอร์ชัน 0.19.0 ได้ตัดหน้าตา GUI ของ BIP70 ออกไป แต่ผู้ใช้งานยังคงสามารถ complie node ของพวกเขาผ่านการปรับแต่งพิเศษเพื่อใช้งานฟีเจอร์ดังกล่าวได้ แต่ทว่าในเวอร์ชัน 0.20.0 นี้มันถูกเอาออกไปแบบเบ็ดเสร็จ
เมื่อ BIP70 ถูกลบออกไปแล้ว นั่นหมายความว่าระบบ OpenSSL นั้นก็ถูกเอาออกไปด้วยเช่นกัน
การทำ Dumptxoutset เพื่อไปสู่ Assumeutxo สำหรับ Fast Bootstrapping
ตัว remote procedure call (RPC) นั้นจะทำให้ Bitcoin Core เวอร์ชัน 0.20.0 สามารถที่จะสร้าง snapshot สำหรับ UTXO ได้ ซึ่งมันจะช่วยบ่งบอกความเป็นเจ้าของของ Bitcoin เมื่อมีการบันทึกข้อมูลลง Blockchain ในช่วงเวลานั้น ๆ (block height) โดย snapshot นั้น ๆ สามารถที่จะถูกแชร์ได้
โดยใน Bitcoin Core เวอร์ชันในอนาคตนั้นจะมีการแชร์ snapshot เมื่อ peer ทำการเข้าร่วมเครือข่ายเป็นครั้งแรก นั่นจะทำให้ node ที่ถูกก่อตั้งขึ้นใหม่ ๆ สามารถเข้าร่วมเครือข่ายได้จากช่วงเวลาหนึ่ง ๆ เมื่อมีการทำ snapshot ขึ้นมา โดยมันจะเกิดขึ้นไปพร้อม ๆ กับการตรวจสอบข้อมูลบน blockchain ทั้งหมดในอดีตยันปัจจุบัน
สำหรับผู้ที่สนใจดูข้อมูลเพิ่มเติม สามารถกดดูได้ที่นี่