
ประวัติซอฟต์แวร์ Bitcoin Core จากเวอร์ชัน 0.1 ถึงวันนี้
ไล่ประวัติของตัวซอฟต์แวร์ ไม่ใช่ประวัติของราคา ตั้งแต่วันที่โครงการขึ้น SourceForge จนถึงวันที่ซอฟต์แวร์เวอร์ชันใหม่ทำให้บล็อกเชนแยกสายโดยไม่ตั้งใจ พร้อมเอกสารต้นฉบับและตัวเลขค่าความยากจริง
วันที่ 8 มกราคม 2009 เวลา 14:27 ตามเวลาชายฝั่งตะวันออกของสหรัฐ มีอีเมลฉบับหนึ่งถูกส่งเข้าเมลลิ่งลิสต์ของนักเข้ารหัสที่ชื่อ Cryptography Mailing List หัวข้อว่า Bitcoin v0.1 released ผู้ส่งใช้ชื่อ Satoshi Nakamoto เนื้อความสั้นมาก บอกว่าเป็นการปล่อยซอฟต์แวร์ระบบเงินอิเล็กทรอนิกส์ตัวแรกที่ใช้เครือข่ายเพียร์ทูเพียร์ป้องกันการใช้เงินซ้ำ พร้อมลิงก์ดาวน์โหลดจาก SourceForge
อีเมลฉบับนั้นระบุไว้ตรงๆ ว่าซอฟต์แวร์ยังอยู่ในขั้นทดลอง รองรับเฉพาะ Windows และไม่มีอะไรรับประกันว่าสถานะของระบบจะไม่ต้องเริ่มใหม่ในอนาคต สิบเจ็ดปีต่อมา ระบบเดียวกันนั้นยังเดินอยู่โดยไม่เคยเริ่มใหม่สักครั้ง
บทความนี้ไล่ประวัติของตัวซอฟต์แวร์ ไม่ใช่ประวัติของราคา ตั้งแต่วันที่โครงการขึ้น SourceForge จนถึงวันที่ซอฟต์แวร์เวอร์ชันใหม่ทำให้บล็อกเชนแยกสายโดยไม่ตั้งใจ เพราะประวัติของโค้ดคือส่วนที่อธิบายได้ดีที่สุดว่าทำไมระบบนี้ถึงรอดมาได้
พฤศจิกายน 2008 โครงการขึ้น SourceForge ก่อนจะมีซอฟต์แวร์ให้ใช้
วันที่ 9 พฤศจิกายน 2008 คือวันที่โครงการ Bitcoin ถูกลงทะเบียนบน SourceForge ซึ่งเป็นแหล่งรวมโครงการโอเพนซอร์สที่ใหญ่ที่สุดในยุคนั้น เกิดขึ้นหลังเอกสาร white paper เผยแพร่เพียงเก้าวัน และก่อนที่จะมีซอฟต์แวร์ให้ดาวน์โหลดจริงอีกสองเดือน
การเลือกปล่อยเป็นโอเพนซอร์สตั้งแต่วันแรกคือการตัดสินใจที่กำหนดทุกอย่างที่ตามมา เพราะมันแปลว่าทุกคนตรวจสอบได้ว่ากติกาที่เขียนไว้ในเอกสารถูกเขียนลงโค้ดจริงหรือไม่ ระบบเงินที่ขอให้คนเชื่อโดยไม่ให้ตรวจ จะไม่ต่างจากระบบตัวกลางที่มันตั้งใจจะแทนที่

ภาพ: อีเมลต้นฉบับที่ประกาศ Bitcoin เวอร์ชัน 0.1 ลงเวลา 8 มกราคม 2009 เวลา 14:27 ตามเวลาชายฝั่งตะวันออกของสหรัฐ ซึ่งตรงกับเช้าวันที่ 9 มกราคมตามเวลาไทย จึงเป็นเหตุผลที่บางแหล่งระบุวันที่ 8 และบางแหล่งระบุวันที่ 9 ที่มา: คลังเก็บ Cryptography Mailing List ที่ metzdowd.com
มกราคม 2009 เวอร์ชัน 0.1 กับสิ่งที่อีเมลฉบับแรกบอกไว้
สิ่งที่น่าสนใจที่สุดของอีเมลประกาศเวอร์ชัน 0.1 คือรายละเอียดที่ Satoshi เขียนไว้ตั้งแต่วันนั้น และยังเป็นจริงอยู่ถึงวันนี้
- จำนวนเหรียญทั้งหมดจะมีได้ 21,000,000 เหรียญ และจ่ายให้โหนดที่สร้างบล็อก โดยลดลงครึ่งหนึ่งทุกสี่ปี
- สี่ปีแรกจ่าย 10,500,000 เหรียญ สี่ปีถัดไป 5,250,000 เหรียญ ไล่ลงไปเรื่อยๆ เป็นตารางที่เขียนไว้ในอีเมลตั้งแต่ก่อนมีผู้ใช้คนที่สอง
- เหรียญที่เพิ่งขุดได้ต้องรอ 120 บล็อกก่อนถึงจะใช้ได้ ซึ่งเป็นกติกาที่ยังใช้อยู่ทุกวันนี้
- พอร์ต 8333 คือพอร์ตที่ต้องเปิดเพื่อรับการเชื่อมต่อขาเข้า ซึ่งก็ยังเป็นพอร์ตมาตรฐานของเครือข่ายจนถึงปัจจุบัน
- ค่าความยากถูกตั้งไว้ต่ำมากโดยตั้งใจ Satoshi เขียนว่าทำให้ง่ายไว้ก่อนเพื่อให้พีซีธรรมดาขุดได้ในไม่กี่ชั่วโมง แล้วมันจะยากขึ้นเองเมื่อมีคนแข่งมากขึ้น
ผมตั้งค่าความยากของ proof of work ไว้ให้ง่ายเกินเหตุในตอนเริ่มต้น พีซีธรรมดาจึงขุดเหรียญได้ในไม่กี่ชั่วโมงอยู่พักหนึ่ง มันจะยากขึ้นมากเมื่อมีการแข่งขันจนกลไกปรับอัตโนมัติดันค่าความยากขึ้นไป
I made the proof-of-work difficulty ridiculously easy to start with, so for a little while in the beginning a typical PC will be able to generate coins in just a few hours. It'll get a lot harder when competition makes the automatic adjustment drive up the difficulty.
ข้อสุดท้ายคือข้อที่กลายเป็นเรื่องใหญ่ที่สุด เพราะกลไกปรับค่าความยากอัตโนมัติคือสิ่งที่ทำให้เครือข่ายผลิตบล็อกได้ประมาณทุกสิบนาทีเสมอ ไม่ว่าจะมีคนขุดกี่คนก็ตาม
ปี 2009 ปีที่ค่าความยากไม่ขยับเลยเกือบทั้งปี
ตัวเลขค่าความยากในการขุดเล่าเรื่องปีแรกของเครือข่ายได้ดีกว่าอะไรทั้งหมด เพราะมันคือหลักฐานว่ามีคนสนใจขุดมากแค่ไหนจริงๆ
1
อยู่ที่ 1 มาเกือบปี
1
ปรับขึ้นครั้งแรก
1.18
1,180,923,195
เส้นนี้อ่านง่ายที่สุดถ้าดูสามจุดแรก ค่าความยากอยู่ที่ 1 ตั้งแต่บล็อกแรก จนถึงสิ้นปี 2009 แล้วเริ่มไต่ขึ้นทันทีที่มีคนเข้ามาขุดมากขึ้นในปี 2010
ค่าความยากเริ่มต้นที่ 1 ในวันที่ 3 มกราคม 2009 แล้วอยู่ที่ 1 ต่อเนื่องเกือบทั้งปี จนถึงวันที่ 30 ธันวาคม 2009 จึงปรับขึ้นเป็นครั้งแรกในประวัติศาสตร์ ไปอยู่ที่ 1.18289953431284 การที่มันไม่ขยับเลยเกือบสิบสองเดือนแปลว่าพลังขุดทั้งเครือข่ายยังน้อยมากจนกติกาไม่จำเป็นต้องปรับอะไร
นี่คือเหตุผลที่คำอธิบายว่า Bitcoin ยุคแรกมีคนขุดไม่กี่คนถึงเป็นเรื่องจริง ไม่ใช่การเล่าให้ดูโรแมนติก และเป็นเหตุผลที่เหรียญยุคนั้นกระจุกตัวอยู่กับคนกลุ่มเล็กมาก
ธันวาคม 2009 เวอร์ชัน 0.2 กับนักพัฒนาคนที่สอง
เวอร์ชัน 0.2 ออกวันที่ 16 ธันวาคม 2009 ของใหม่ที่สำคัญคือการรองรับการขุดด้วยซีพียูหลายคอร์พร้อมกัน และการรองรับระบบปฏิบัติการ Linux ซึ่งเป็นระบบที่นักพัฒนาส่วนใหญ่ใช้ทำงานจริง
สองอย่างนี้ฟังดูเป็นเรื่องเทคนิคเล็กๆ แต่ผลของมันคือการเปิดประตูให้คนที่มีความรู้เข้ามาช่วยดูแลโค้ดได้ Martti Malmi นักศึกษาชาวฟินแลนด์คือคนที่เข้ามาช่วยงานส่วนนี้ตั้งแต่ยุคนั้น และเป็นคนแรกๆ ที่ทำงานร่วมกับ Satoshi โดยตรง
ช่วงเดียวกันนั้นเองที่กลุ่มนักพัฒนาอาสาสมัครเริ่มก่อตัวขึ้นรอบโครงการ จากเดิมที่มีคนเขียนโค้ดคนเดียว กลายเป็นโครงการที่มีคนคอยรีวิวและส่งแพตช์เข้ามา ซึ่งเป็นการเปลี่ยนผ่านที่โครงการโอเพนซอร์สส่วนใหญ่ไม่รอด
กรกฎาคม 2010 เวอร์ชัน 0.3 กับวันที่คนนอกเข้ามาเจอ
เวอร์ชัน 0.3 ออกต้นเดือนกรกฎาคม 2010 เป็นเวอร์ชันแรกที่ออกแบบมาให้คนทั่วไปใช้ได้จริง ไม่ใช่เฉพาะคนที่อ่านโค้ดเป็น ห้าวันหลังจากนั้น เว็บข่าวเทคโนโลยี Slashdot ลงข่าวเกี่ยวกับ Bitcoin และนั่นคือครั้งแรกที่คนจำนวนมากนอกวงเข้ามาเจอโครงการนี้พร้อมกัน
ผลที่ตามมาทันทีคือจำนวนผู้ขุดเพิ่มขึ้นอย่างรวดเร็ว ค่าความยากที่ใช้เวลาเกือบปีกว่าจะขยับจาก 1 ไปเป็น 1.18 ขยับไปอยู่ที่ราว 23.5 ในวันที่ 7 กรกฎาคม 2010 และไปจบปีนั้นที่ราว 14,484 หรือโตขึ้นราวหนึ่งหมื่นสองพันเท่าภายในปีเดียว
สิงหาคม 2010 วันที่มีคนเสก 184 พันล้านเหรียญขึ้นมา
วันที่ 15 สิงหาคม 2010 มีผู้พบว่าบล็อกหมายเลข 74638 บรรจุธุรกรรมที่สร้างเหรียญขึ้นมา 184,467,440,737.09551616 เหรียญ แบ่งไปสองที่อยู่ ที่อยู่ละราว 92.2 พันล้านเหรียญ ทั้งที่กติกาบอกว่าทั้งระบบจะมีได้แค่ 21 ล้านเหรียญ
ต้นเหตุคือโค้ดที่ใช้ตรวจธุรกรรมก่อนใส่ลงบล็อก ไม่ได้เผื่อกรณีที่ผลรวมของยอดขาออกมีค่ามากจนล้นขีดจำกัดของตัวเลขที่เก็บได้ เมื่อค่าล้น ผลรวมที่คำนวณได้กลายเป็นค่าติดลบ ระบบจึงมองว่าธุรกรรมนั้นถูกต้อง
- เวอร์ชันแก้ไขถูกปล่อยภายในห้าชั่วโมงหลังพบเหตุ พร้อมกติกาใหม่ที่ปฏิเสธธุรกรรมที่ยอดขาออกล้นค่า และปฏิเสธธุรกรรมใดก็ตามที่จ่ายเกิน 21 ล้านเหรียญในขาออกเดียว
- เครือข่ายต้องย้อนสายกลับไปก่อนบล็อกที่มีปัญหา แล้วเดินหน้าใหม่บนสายที่ไม่มีธุรกรรมนั้น
- นี่เป็นครั้งเดียวในประวัติศาสตร์ที่เครือข่าย Bitcoin ต้องย้อนสายเพราะบั๊กในตัวโปรแกรม ไม่ใช่เพราะการโจมตีจากภายนอก

ภาพ: บล็อกหมายเลข 74638 บนสายที่เครือข่ายใช้อยู่ทุกวันนี้ มีเพียง 3 ธุรกรรม และห่างจากบล็อกก่อนหน้า 6 ชั่วโมง 51 นาที ซึ่งยาวผิดปกติมากเมื่อเทียบกับเป้าหมาย สิบนาทีต่อบล็อก ช่วงเวลาที่หายไปนั้นคือร่องรอยของการที่เครือข่ายต้องย้อนสาย แล้วขุดใหม่ ที่มา: Blockstream Explorer
เหตุการณ์นี้มักถูกยกมาใช้ในสองทางที่ตรงข้ามกัน ฝ่ายหนึ่งบอกว่ามันพิสูจน์ว่าระบบแก้ไขย้อนหลังได้จึงไม่ได้เปลี่ยนแปลงไม่ได้จริง อีกฝ่ายบอกว่ามันพิสูจน์ว่าระบบตรวจจับและซ่อมตัวเองได้เร็วมาก ทั้งสองอย่างถูก และการรู้ทั้งสองด้านสำคัญกว่าการเลือกเชื่อด้านเดียว
ธันวาคม 2010 โพสต์สุดท้ายของคนเขียนโค้ดคนแรก
วันที่ 12 ธันวาคม 2010 Satoshi Nakamoto โพสต์ข้อความในเว็บบอร์ดเป็นครั้งสุดท้าย จากนั้นก็หายไปจากวงการโดยไม่เคยกลับมาอีก สิ่งที่ทิ้งไว้คือโค้ดที่เปิดให้ทุกคนอ่านได้ และกลุ่มนักพัฒนาที่โตพอจะรับงานต่อ
จุดนี้คือบททดสอบจริงของโครงการโอเพนซอร์สทุกโครงการ คือคำถามว่าถ้าคนเริ่มหายไป โครงการจะไปต่อได้ไหม คำตอบของ Bitcoin คือไปต่อได้ และเป็นข้อโต้แย้งที่หนักแน่นที่สุดข้อหนึ่งว่าระบบนี้ไม่มีใครเป็นเจ้าของจริงๆ

ภาพ: เส้นทางของการเปลี่ยนแปลงหนึ่งอย่าง ตั้งแต่ข้อเสนอ การรีวิวโดยนักพัฒนาหลายคน การรวมเข้าคลังโค้ด การปล่อยเป็นรุ่นใหม่ ไปจนถึงขั้นที่ผู้รันโหนดเลือกอัปเดตเอง ซึ่งเป็นขั้นที่ตัดสินจริงว่ากติกาจะเปลี่ยนหรือไม่
การส่งมอบที่ไม่มีพิธีการ
ก่อนจะหายไป Satoshi ส่งมอบสิ่งที่มีอำนาจจริงสองอย่างให้ Gavin Andresen นักพัฒนาที่เข้ามาช่วยงานตั้งแต่ปี 2010 คือสิทธิ์ดูแลคลังโค้ดของโครงการ และกุญแจสำหรับส่งข้อความเตือนฉุกเฉินไปยังทุกโหนดในเครือข่าย ซึ่งเป็นกลไกที่ใช้ประกาศเตือนเมื่อเจอปัญหาร้ายแรง
การส่งมอบครั้งนั้นไม่มีประกาศเป็นทางการ ไม่มีเอกสารสัญญา และไม่มีการโหวตจากใคร มันเกิดขึ้นผ่านการคุยกันตรงๆ ระหว่างคนสองคน ซึ่งเป็นภาพที่ขัดกับความรู้สึกว่าระบบมูลค่าหลายล้านล้านบาทควรถูกส่งต่อแบบไหน
แต่สิ่งที่ทำให้มันปลอดภัยพอไม่ใช่พิธีการ คือความจริงที่ว่าคนรับช่วงไม่ได้รับอำนาจเปลี่ยนกติกา เขาได้แค่สิทธิ์เสนอโค้ด ส่วนคนที่ตัดสินว่ากติกาจะเปลี่ยนหรือไม่คือคนที่เลือกจะรันโค้ดนั้น ต่อมากลไกกุญแจเตือนฉุกเฉินเองก็ถูกปิดการใช้งานและประกาศกุญแจสู่สาธารณะ เพราะชุมชนมองว่าการมีปุ่มที่คนคนเดียวกดได้คือความเสี่ยงมากกว่าประโยชน์
กันยายน 2012 Bitcoin Foundation กับคำถามว่าใครควรจ่ายค่าพัฒนา
วันที่ 27 กันยายน 2012 Bitcoin Foundation ถูกตั้งขึ้นโดยมีเป้าหมายที่ประกาศไว้คือสนับสนุนการพัฒนาโปรโตคอลและเป็นตัวแทนของวงการในการพูดคุยกับหน่วยงานรัฐ
ปัญหาที่มูลนิธินี้พยายามแก้เป็นปัญหาจริง คือซอฟต์แวร์ที่ดูแลเงินมูลค่าหลายร้อยล้านดอลลาร์ถูกดูแลโดยอาสาสมัครที่ไม่ได้รับค่าจ้าง แต่วิธีแก้แบบตั้งองค์กรกลางขึ้นมาก็สร้างคำถามใหม่ทันทีว่าองค์กรนั้นจะกลายเป็นศูนย์กลางที่ระบบตั้งใจจะไม่มีหรือเปล่า
มูลนิธิประสบปัญหาทางการเงินและเสียบทบาทไปในอีกไม่กี่ปีถัดมา ทุกวันนี้การพัฒนา Bitcoin Core ได้รับทุนจากหลายแหล่งที่กระจายกัน ทั้งบริษัทในวงการ มูลนิธิหลายแห่ง และผู้บริจาครายบุคคล ซึ่งเป็นรูปแบบที่ทนทานกว่าการพึ่งองค์กรเดียว
มีนาคม 2013 วันที่ซอฟต์แวร์เวอร์ชันใหม่ทำให้เครือข่ายแยกสาย
เวอร์ชัน 0.8 ออกวันที่ 19 กุมภาพันธ์ 2013 ของใหม่ที่ใหญ่ที่สุดคือการเปลี่ยนฐานข้อมูลเบื้องหลังจาก Berkeley DB ไปเป็น LevelDB เพื่อให้จัดการบล็อกเชนที่โตขึ้นเรื่อยๆ ได้เร็วขึ้น
สามสัปดาห์ต่อมา วันที่ 11 มีนาคม 2013 มีบล็อกหนึ่งถูกขุดขึ้นมาโดยมีจำนวนขาเข้าของธุรกรรมรวมกันมากกว่าที่เคยเจอมาก่อน โหนดที่ใช้เวอร์ชัน 0.8 รับบล็อกนั้นได้ แต่โหนดรุ่นเก่ากว่านั้นปฏิเสธ ผลคือบล็อกเชนแยกออกเป็นสองสายพร้อมกัน ซึ่งเป็นการแยกสายโดยไม่ตั้งใจ ต่างจากการแยกสายที่ตั้งใจทำอย่างกรณี Bitcoin Cash

ภาพ: เอกสาร BIP 50 ที่ Gavin Andresen เขียนสรุปเหตุการณ์ ระบุตรงๆ ว่าสายที่ใช้รุ่น 0.8 มีพลังขุดราว 60% และการที่ BTCGuild กับ Slush ถอยรุ่นกลับไปเป็น 0.7 คือสิ่งที่ทำให้เครือข่ายกลับมาเป็นสายเดียว ที่มา: คลังเอกสาร BIP บน GitHub
รายงานชันสูตรเหตุการณ์ที่ Gavin Andresen เขียนไว้ในเอกสาร BIP 50 อธิบายไว้ว่าสายที่ใช้เวอร์ชัน 0.8 มีพลังขุดอยู่ราว 60% ซึ่งแปลว่าถ้าปล่อยไว้เฉยๆ สายนั้นจะชนะและโหนดรุ่นเก่าทั้งหมดจะตกขบวน
สิ่งที่เกิดขึ้นจริงคือกลุ่มขุดสองรายใหญ่ในเวลานั้น คือ BTCGuild และ Slush ตัดสินใจถอยซอฟต์แวร์ของตัวเองกลับไปเป็นรุ่น 0.7 เพื่อให้พูลของตัวเองปฏิเสธบล็อกใหญ่นั้นด้วย การย้ายพลังขุดครั้งนั้นทำให้สายที่ไม่มีบล็อกปัญหากลายเป็นสายที่ยาวกว่า และโหนดเวอร์ชัน 0.8 ก็ย้อนกลับมาที่สายเดิมเอง
- เหตุการณ์กินเวลาราวหกชั่วโมงก่อนจะกลับมาเป็นสายเดียว ซึ่งเร็วมากเมื่อเทียบกับความรุนแรง
- ระหว่างนั้นมีการใช้เงินซ้ำเกิดขึ้นจริงอย่างน้อยหนึ่งครั้ง แต่รายงานระบุว่าเป็นการทดลองของผู้ที่อยากรู้ว่าทำได้จริงไหม ไม่ได้มีเจตนาร้าย
- สิ่งที่แก้ปัญหาไม่ใช่โค้ด แต่คือคนที่ยอมเสียรายได้ระยะสั้น พูลที่ถอยรุ่นกลับคือฝ่ายที่ยอมขุดบนสายที่สั้นกว่าชั่วคราว
บทเรียนของเหตุการณ์นี้คือสิ่งที่คนมักมองข้ามเวลาพูดว่าระบบกระจายศูนย์ไม่ต้องเชื่อใจใคร โค้ดกำหนดกติกาได้ แต่ตอนที่กติกาเองขัดกัน คนคือฝ่ายที่ต้องตัดสินใจ และการตัดสินใจนั้นเกิดจากการคุยกันในห้องแชทสาธารณะภายในไม่กี่ชั่วโมง
มีนาคม 2014 วันที่ซอฟต์แวร์ได้ชื่อว่า Bitcoin Core
เวอร์ชัน 0.9.0 ที่ออกในเดือนมีนาคม 2014 คือจุดที่ซอฟต์แวร์เปลี่ยนชื่อจาก Bitcoin-Qt มาเป็น Bitcoin Core อย่างเป็นทางการ เหตุผลที่ประกาศไว้ตรงๆ คือเพื่อลดความสับสนระหว่าง Bitcoin ที่หมายถึงเครือข่าย กับ Bitcoin ที่หมายถึงโปรแกรม
เรื่องชื่ออาจฟังดูเป็นเรื่องเล็ก แต่มันสะท้อนความเข้าใจที่ตกผลึกแล้วในวงการว่าโปรแกรมกับเครือข่ายเป็นคนละสิ่งกัน โปรแกรมเป็นแค่หนึ่งในหลายวิธีที่จะเข้าร่วมเครือข่าย ถ้าวันหนึ่งโปรแกรมนี้หายไป เครือข่ายก็ยังอยู่ได้ตราบใดที่ยังมีโปรแกรมอื่นที่พูดภาษาเดียวกัน
เวอร์ชันสำคัญหลังปี 2014 ที่เปลี่ยนวิธีทำงานของเครือข่าย
หลังปี 2014 การพัฒนาเข้าสู่จังหวะที่นิ่งขึ้น ออกรุ่นใหญ่ปีละครั้งถึงสองครั้ง โดยมีรุ่นที่เปลี่ยนวิธีทำงานของเครือข่ายจริงๆ อยู่ไม่กี่รุ่น
- 0.10 เปลี่ยนวิธีดาวน์โหลดบล็อกเชนเป็นแบบดึงหัวบล็อกก่อน ทำให้โหนดใหม่ซิงก์ได้เร็วขึ้นมากเมื่อเทียบกับวิธีเดิมที่ไล่ทีละบล็อกตามลำดับ
- 0.12 ปรับปรุงการจัดการคิวธุรกรรมที่ยังไม่ถูกใส่ลงบล็อก ซึ่งกลายเป็นเรื่องสำคัญขึ้นมากเมื่อบล็อกเริ่มเต็มเป็นประจำ
- 0.13.1 บรรจุโค้ดของ SegWit เข้ามา แต่ตัวกติกายังไม่มีผลจนกว่าผู้ขุดจะส่งสัญญาณสนับสนุนถึงเกณฑ์ ซึ่งเป็นการออกแบบที่แยกการปล่อยโค้ดออกจากการเปิดใช้กติกา
- 0.21.1 บรรจุกลไกเปิดใช้ Taproot ซึ่งเป็นการอัปเกรดใหญ่ครั้งล่าสุดที่เปลี่ยนวิธีเขียนเงื่อนไขการใช้จ่ายให้ยืดหยุ่นและเป็นส่วนตัวมากขึ้น
- 22.0 เปลี่ยนวิธีนับเวอร์ชัน ตัดเลขศูนย์นำหน้าที่ใช้มาตั้งแต่ 0.1 ออก หลังใช้มา 12 ปี
รูปแบบที่เห็นซ้ำในรุ่นเหล่านี้คือการแยกสองเรื่องออกจากกันเสมอ คือการปล่อยโค้ด กับการเปิดใช้กติกาใหม่ โค้ดออกมาก่อนเป็นเดือนหรือเป็นปี แล้วรอให้เครือข่ายส่งสัญญาณว่าพร้อม นี่คือบทเรียนที่ได้จากเหตุการณ์ปี 2013 โดยตรง

ภาพ: คลังโค้ดของ Bitcoin Core บน GitHub เมื่อเดือนกันยายน 2026 มีผู้กด Star 90,200 ราย มีการคัดลอกไปพัฒนาต่อ 39,400 ครั้ง และมีคำขอรวมโค้ดที่ยังเปิดอยู่ 395 รายการ ตัวเลขชุดนี้เปิดให้ใครก็ตรวจได้ ที่มา: GitHub คลังโค้ด bitcoin/bitcoin
โหนดคืออะไร และทำไมจำนวนโหนดถึงสำคัญกว่าที่คิด
หัวข้อนี้สรุปเฉพาะส่วนที่เกี่ยวกับซอฟต์แวร์ ถ้าอยากรู้วิธีทำงานของโหนดในรายละเอียด อ่านได้ที่บทความโหนด Bitcoin คืออะไร
โหนดคือคอมพิวเตอร์ที่เก็บสำเนาบล็อกเชนทั้งหมดและตรวจทุกบล็อกด้วยกติกาของตัวเอง ต่างจากผู้ขุดตรงที่โหนดไม่ได้สร้างบล็อกใหม่ แต่เป็นฝ่ายตัดสินว่าบล็อกที่ผู้ขุดส่งมานั้นถูกกติกาหรือไม่
ความเข้าใจผิดที่พบบ่อยคือคิดว่าผู้ขุดเป็นคนกำหนดกติกา ความจริงคือผู้ขุดเป็นคนจัดลำดับธุรกรรม ส่วนคนที่บังคับกติกาคือโหนดทุกตัวที่ตรวจงานของผู้ขุดอีกที ถ้าผู้ขุดส่งบล็อกที่ผิดกติกามา โหนดจะทิ้งบล็อกนั้นไม่ว่าจะใช้พลังขุดไปมากแค่ไหน
เหตุการณ์เดือนมีนาคม 2013 คือตัวอย่างที่ชัดที่สุด โหนดรุ่นเก่าปฏิเสธบล็อกที่ตัวเองมองว่าผิดกติกา ทั้งที่สายนั้นมีพลังขุดมากกว่า และสุดท้ายฝ่ายที่ต้องปรับตัวคือผู้ขุด ไม่ใช่โหนด
ค่าความยากวันนี้ เทียบกับวันที่ยังเป็นเลขหนึ่ง
1.18
125,807,076,547,198
ช่วงค่าที่ห่างกันมากจนเครื่องมือสลับไปใช้แกนแบบลอการิทึมให้เอง ถ้าใช้แกนปกติ ค่าของสิบปีแรกจะแบนติดเส้นล่างจนมองไม่เห็นอะไรเลย
จากค่าความยาก 1.18 ในวันที่ 30 ธันวาคม 2009 มาถึงราว 125.8 ล้านล้านในเดือนกันยายน 2026 คิดเป็นการเพิ่มขึ้นราว 106 ล้านล้านเท่า ตัวเลขระดับนี้อ่านยากจนแทบไม่มีความหมาย สิ่งที่มันบอกจริงๆ คือการจะเขียนประวัติศาสตร์บล็อกเชนย้อนหลังต้องใช้พลังขุดมากขนาดไหน
และตัวเลขนี้เดินขึ้นมาได้ด้วยกลไกที่เขียนไว้ในเวอร์ชัน 0.1 ตั้งแต่วันแรก ไม่มีใครต้องมานั่งปรับมือ ไม่มีคณะกรรมการไหนโหวต มันปรับตัวเองทุก 2,016 บล็อกตามกติกาที่อยู่ในโค้ดที่ทุกคนอ่านได้
คนไทยเข้าไปตรวจสอบเองได้แค่ไหน
ข้อดีของการเป็นโอเพนซอร์สคือมันไม่ได้จำกัดว่าใครอยู่ประเทศไหน คลังโค้ดของ Bitcoin Core อยู่บน GitHub เปิดให้ทุกคนอ่าน ทุกการเปลี่ยนแปลงมีบันทึกว่าใครเสนอ ใครรีวิว และเถียงกันเรื่องอะไรก่อนจะรวมเข้าไป
สำหรับคนที่ไม่ได้อ่านโค้ดเป็น ยังมีอีกสองอย่างที่ทำได้จริงและตรวจสอบได้จริง
- ตรวจลายเซ็นของไฟล์ติดตั้งก่อนใช้ ทุกรุ่นมีไฟล์ระบุค่าแฮชและลายเซ็นของผู้สร้างรุ่นหลายคนแนบมาด้วย การเทียบค่าแฮชของไฟล์ที่ดาวน์โหลดกับที่ประกาศไว้ ใช้เวลาไม่กี่นาทีและกันไฟล์ปลอมได้จริง
- รันโหนดของตัวเอง ข้อกำหนดจริงในปี 2026 คือพื้นที่เก็บข้อมูลหลายร้อยกิกะไบต์สำหรับสำเนาเต็ม กับอินเทอร์เน็ตที่เปิดทิ้งไว้ได้ ซึ่งเป็นสิ่งที่คอมพิวเตอร์บ้านทั่วไปในไทยทำได้ และมีโหมดตัดข้อมูลเก่าทิ้งสำหรับคนที่พื้นที่จำกัด
สิ่งที่ได้จากการรันโหนดเองไม่ใช่รายได้ แต่คือการไม่ต้องเชื่อคำบอกเล่าของใครเลยว่ายอดในกระเป๋าเราเป็นเท่าไหร่ ในประเทศที่คนส่วนใหญ่เข้าถึงคริปโตผ่านแอปของศูนย์ซื้อขายซึ่งแสดงตัวเลขให้ดูอย่างเดียว ความต่างตรงนี้คือความต่างระหว่างการเห็นตัวเลขกับการตรวจสอบตัวเลข

ภาพ: ผู้ขุดเป็นฝ่ายจัดลำดับธุรกรรมและสร้างบล็อก ส่วนโหนดเป็นฝ่ายตรวจว่าบล็อกนั้น ถูกกติกาหรือไม่ และมีสิทธิ์ทิ้งบล็อกที่ผิดกติกาไม่ว่าจะใช้พลังขุดไปเท่าไหร่
สิ่งที่ประวัติของโค้ดบอก และประวัติของราคาไม่ได้บอก
- ระบบนี้เคยพังจริง และซ่อมได้จริง ทั้งเหตุเสกเหรียญปี 2010 และเหตุแยกสายปี 2013 จบภายในไม่กี่ชั่วโมงทั้งคู่
- การแก้ปัญหาแต่ละครั้งไม่ได้มาจากผู้มีอำนาจสั่ง แต่มาจากคนที่รันโหนดและคนที่ขุด ตัดสินใจเองว่าจะรันโค้ดเวอร์ชันไหน
- กติกาสำคัญที่สุดถูกเขียนไว้ตั้งแต่เวอร์ชันแรก ทั้งเพดาน 21 ล้านเหรียญ การลดครึ่งทุกสี่ปี และการปรับค่าความยากอัตโนมัติ
- คนเริ่มโครงการหายไปตั้งแต่ปี 2010 แล้วโครงการยังเดินต่อมาได้อีกสิบหกปี
คำถามที่พบบ่อย
Bitcoin Core กับ Bitcoin ต่างกันอย่างไร
Bitcoin คือเครือข่ายและโปรโตคอล ส่วน Bitcoin Core คือชื่อของซอฟต์แวร์ที่สืบทอดมาจากเวอร์ชัน 0.1 ที่ Satoshi ปล่อยออกมา ทุกวันนี้มีซอฟต์แวร์ตัวอื่นที่ต่อเข้าเครือข่ายเดียวกันได้ แต่ Bitcoin Core ยังเป็นตัวที่โหนดส่วนใหญ่ใช้
ทำไมเวอร์ชันถึงยังขึ้นต้นด้วยเลขศูนย์มานาน
เลขเวอร์ชันของ Bitcoin Core ขึ้นต้นด้วย 0 มาตั้งแต่ 0.1 จนถึง 0.21 แล้วเปลี่ยนวิธีนับเป็น 22.0 ในปี 2021 การใช้เลข 0 นำหน้ามายาวนานสะท้อนวัฒนธรรมของโครงการที่ไม่ประกาศว่าตัวเองเสร็จสมบูรณ์ ไม่ได้แปลว่าซอฟต์แวร์ยังไม่พร้อมใช้
ใครเป็นคนตัดสินว่าจะใส่อะไรลงในซอฟต์แวร์
ไม่มีใครคนเดียวตัดสิน การเปลี่ยนแปลงต้องผ่านการรีวิวของนักพัฒนาหลายคน และที่สำคัญกว่านั้นคือคนที่รันโหนดต้องเลือกอัปเดตเอง ถ้าคนส่วนใหญ่ไม่อัปเดต การเปลี่ยนแปลงนั้นก็ไม่มีผล เหมือนที่เกิดขึ้นในเหตุการณ์ปี 2013
ค่าความยากปรับบ่อยแค่ไหน
ทุก 2,016 บล็อก หรือประมาณสองสัปดาห์ โดยระบบจะดูว่าช่วงที่ผ่านมาใช้เวลาผลิตบล็อกเร็วหรือช้ากว่าเป้าหมายสิบนาทีต่อบล็อก แล้วปรับขึ้นหรือลงตามนั้น
ถ้าเจอบั๊กร้ายแรงอีก จะเกิดอะไรขึ้น
รูปแบบที่เคยเกิดสองครั้งคือนักพัฒนาปล่อยเวอร์ชันแก้ภายในไม่กี่ชั่วโมง แล้วผู้รันโหนดกับผู้ขุดต้องเลือกอัปเดตเอง ความเร็วในการตอบสนองจึงขึ้นอยู่กับว่าชุมชนตื่นตัวแค่ไหน ไม่ได้ขึ้นอยู่กับองค์กรใดองค์กรหนึ่ง