
Haber และ Stornetta งานวิจัยปี 1991 ที่ต่อเอกสารเป็นลูกโซ่ 17 ปีก่อนมี Bitcoin
ปี 1991 นักวิจัยสองคนจาก Bellcore เสนอวิธีประทับเวลาเอกสารดิจิทัลด้วยการต่อใบรับรองเป็นลูกโซ่ที่ย้อนแก้ไม่ได้ สิบเจ็ดปีต่อมางานของพวกเขาคือชื่อที่ถูกอ้างถึงมากที่สุดในเอกสาร Bitcoin บทความนี้เปิดอ่านงานวิจัยต้นฉบับ ไล่ดูว่าอะไรตกทอดมาถึง Bitcoin และอะไรที่ Bitcoin ต้องเติมเข้าไปเอง
ปี 1991 นักวิจัยสองคนจากห้องแล็บ Bellcore ในรัฐนิวเจอร์ซีย์ ตีพิมพ์งานวิจัยความยาว 13 หน้า ว่าด้วยโจทย์ที่ฟังดูเล็กมาก คือจะพิสูจน์ได้อย่างไรว่าเอกสารดิจิทัลชิ้นหนึ่งมีอยู่ตั้งแต่วันไหน โดยที่ไม่มีใครย้อนกลับไปแก้วันที่ได้ คำตอบของพวกเขาคือการเอาเอกสารมาต่อกันเป็นลูกโซ่ สิบเจ็ดปีต่อมา เมื่อ Satoshi Nakamoto เขียนเอกสาร Bitcoin งานของสองคนนี้คือชื่อที่ถูกอ้างถึงมากที่สุดในรายการอ้างอิง บทความนี้เปิดอ่านงานวิจัยต้นฉบับ ไล่ดูว่าพวกเขาคิดอะไรไว้บ้าง อะไรที่ตกทอดมาถึง Bitcoin และอะไรที่ Bitcoin ต้องเติมเข้าไปเอง
สองคนนี้คือใคร
Stuart Haber กับ W. Scott Stornetta เป็นนักวิจัยของ Bellcore ย่อมาจาก Bell Communications Research ซึ่งเป็นห้องแล็บวิจัยที่แยกออกมาจากเครือข่ายโทรศัพท์ Bell ของสหรัฐฯ ทั้งคู่ทำงานอยู่ที่สำนักงานเดียวกันในเมือง Morristown รัฐนิวเจอร์ซีย์
งานที่ทำให้ชื่อของพวกเขาอยู่ในประวัติศาสตร์คริปโตมีชื่อตรงไปตรงมาว่า How to Time-Stamp a Digital Document หรือวิธีประทับเวลาเอกสารดิจิทัล ตัวงานถูกนำเสนอครั้งแรกในงานประชุม Crypto '90 วารสารได้รับต้นฉบับวันที่ 19 สิงหาคม 1990 ได้รับฉบับแก้ไขวันที่ 26 ตุลาคม 1990 และตีพิมพ์ในวารสาร Journal of Cryptology เล่มที่ 3 ฉบับที่ 2 หน้า 99 ถึง 111 ปี 1991 งานชิ้นนี้ได้รับรางวัล Discover Award สาขาซอฟต์แวร์คอมพิวเตอร์ในปี 1992
หน้าแรกของงานวิจัยเปิดด้วยกลอนห้าบรรทัดจาก Shakespeare เรื่อง The Rape of Lucrece ว่าด้วยกาลเวลาที่เปิดโปงความเท็จ ซึ่งเป็นรายละเอียดเล็กๆ ที่บอกว่าผู้เขียนรู้ว่ากำลังเขียนเรื่องที่ใหญ่กว่าตัวงานเทคนิค
โจทย์ที่พวกเขาตั้งไว้
ปลายทศวรรษ 1980 เอกสาร ภาพ เสียง และวิดีโอเริ่มถูกเก็บในรูปดิจิทัลมากขึ้น และทุกอย่างที่เป็นดิจิทัลแก้ไขได้โดยไม่ทิ้งร่องรอย ภาพถ่ายตัดต่อได้ เอกสารเปลี่ยนวันที่ได้ ไฟล์ที่บอกว่าสร้างเมื่อปีที่แล้วอาจเพิ่งถูกสร้างเมื่อวาน
บทคัดย่อของงานวิจัยสรุปโจทย์ไว้ในประโยคเดียว
"โจทย์คือการประทับเวลาให้ตัวข้อมูล ไม่ใช่ให้สื่อที่บันทึกข้อมูลนั้น"
Stuart Haber และ W. Scott Stornetta, How to Time-Stamp a Digital Document, Journal of Cryptology ปี 1991 บทคัดย่อ ต้นฉบับ "The problem is to time-stamp the data, not the medium."
ประโยคนี้สำคัญกว่าที่เห็น วิธีประทับเวลาแบบเดิมทั้งหมดพึ่งตัวสื่อ งานวิจัยยกตัวอย่างสมุดบันทึกของนักวิทยาศาสตร์ที่เขียนลงวันที่เรียงกันไปทีละหน้า ไม่เว้นหน้าว่าง หน้ากระดาษมีเลขกำกับและเย็บติดกันจนแก้ไขแล้วเห็นร่องรอย ถ้ามีผู้รับรองลงนามเป็นระยะก็ยิ่งน่าเชื่อ อีกวิธีคือส่งจดหมายถึงตัวเองแล้วไม่เปิดซอง ให้ตราประทับไปรษณีย์เป็นหลักฐานวันที่
ทั้งสองวิธีใช้ได้เพราะกระดาษกับซองจดหมายแก้ยาก แต่ไฟล์ดิจิทัลไม่มีกระดาษ ไม่มีซอง ไม่มีอะไรให้ประทับตราทางกายภาพ ถ้าจะประทับเวลาได้ ต้องประทับลงไปที่ตัวข้อมูลเอง
ภาพ: หัวงานวิจัยต้นฉบับใน Journal of Cryptology ปี 1991
ทางแก้ที่ง่ายที่สุด และทำไมมันไม่พอ
ทางแก้ที่ใครก็นึกออกคือตั้งบริษัทรับประทับเวลา ส่งเอกสารให้บริษัท บริษัทบันทึกวันที่แล้วเซ็นรับรองให้ ในงานวิจัยเรียกผู้ให้บริการนี้ว่า TSS ย่อมาจาก Time-Stamping Service
ปัญหาแรกคือความเป็นส่วนตัว ถ้าต้องส่งเอกสารลับไปให้คนอื่นเก็บ ก็เสี่ยงรั่ว งานวิจัยแก้ข้อนี้ด้วยการไม่ส่งตัวเอกสาร แต่ส่งค่า hash ของเอกสารแทน ค่า hash คือลายนิ้วมือขนาดสั้นที่คำนวณจากเอกสาร เอกสารเปลี่ยนแม้แต่ตัวเดียว ลายนิ้วมือจะเปลี่ยนทันที แต่ย้อนจากลายนิ้วมือกลับไปหาเนื้อหาเอกสารไม่ได้ บริษัทจึงรับรองได้โดยไม่เคยเห็นเนื้อหา
ปัญหาที่สองใหญ่กว่า และเป็นหัวใจของงานทั้งชิ้น คือถ้าบริษัทรับประทับเวลาเองนั่นแหละที่โกง รับเงินจากลูกค้าแล้วออกใบรับรองย้อนหลังให้ หรือลงวันที่ล่วงหน้าให้ จะรู้ได้อย่างไร
เป้าหมายที่งานวิจัยตั้งไว้คือระบบที่ทำให้การลงวันที่ย้อนหลังหรือล่วงหน้าทำไม่ได้ในทางปฏิบัติ แม้ผู้ให้บริการจะร่วมมือกับลูกค้าที่อยากโกงก็ตาม พูดอีกแบบคือระบบที่ไม่ต้องเชื่อใจคนกลาง ซึ่งเป็นประโยคเดียวกับที่คนพูดถึง Bitcoin ในอีกสิบเจ็ดปีต่อมา
ทางแก้แรก: ต่อใบรับรองเป็นลูกโซ่
ทางแก้แรกของงานวิจัยเรียกว่า Linking เริ่มจากข้อสังเกตง่ายๆ ว่า ไม่มีใครรู้ล่วงหน้าว่าลูกค้ารายต่อไปจะส่งเอกสารอะไรมา เพราะฉะนั้นถ้าใบรับรองแต่ละใบต้องมีข้อมูลจากใบก่อนหน้าติดอยู่ด้วย ก็พิสูจน์ได้ว่าใบนั้นถูกออกหลังจากใบก่อนหน้าแน่นอน
วิธีทำงานเป็นแบบนี้ เมื่อลูกค้าคนที่ n ส่งค่า hash ของเอกสารมา บริษัทจะออกใบรับรองที่มีข้อมูลสี่อย่าง
- ลำดับที่ของใบรับรอง
- เวลาที่รับเอกสาร
- ค่า hash ของเอกสารลูกค้าคนนี้
- ข้อมูลเชื่อมโยงจากใบรับรองใบก่อนหน้า ซึ่งรวมถึงค่า hash ของข้อมูลเชื่อมโยงของใบนั้นด้วย
บรรทัดสุดท้ายคือทั้งหมดของไอเดีย ใบรับรองทุกใบพกลายนิ้วมือของใบก่อนหน้าติดตัวไว้ และใบก่อนหน้าก็พกลายนิ้วมือของใบก่อนหน้าอีกที ไล่ย้อนกลับไปได้เรื่อยๆ จนถึงใบแรก
ผลคือผู้ให้บริการโกงได้ยากมากทั้งสองทิศทาง งานวิจัยอธิบายไว้ชัดว่า
- ลงวันที่ล่วงหน้าไม่ได้ เพราะใบรับรองต้องมีข้อมูลจากคำขอที่มาก่อนหน้าเวลาที่ต้องการทันที แต่คำขอเหล่านั้นยังไม่มาถึง
- ลงวันที่ย้อนหลังไม่ได้ เพราะข้อมูลของเอกสารที่ต้องการแทรกต้องไปปรากฏอยู่ในใบรับรองที่ออกถัดจากเวลานั้น แต่ใบเหล่านั้นถูกออกและส่งถึงมือลูกค้าคนอื่นไปแล้ว
จะแทรกเอกสารใหม่เข้าไปกลางโซ่ให้เนียน ต้องหาเอกสารปลอมที่ให้ค่า hash ชนกับของจริง ซึ่งถ้าฟังก์ชัน hash ดีพอก็ทำไม่ได้ในทางปฏิบัติ
คนที่อยากตรวจสอบใบรับรองใบไหน ก็แค่ติดต่อลูกค้าคนถัดไปในลำดับแล้วขอดูใบรับรองของเขา ถ้ายังสงสัยก็ติดต่อคนถัดไปอีก ไล่ไปข้างหน้าหรือย้อนกลับหลังได้เท่าที่อยากตรวจ
ประโยคที่อ่านแล้วนึกถึง Bitcoin ทันที
หลังอธิบายว่าทำไมโกงไม่ได้ งานวิจัยสรุปว่ายังเหลือช่องทางโกงอยู่ทางเดียว
"ดังนั้นการปลอมแปลงเพียงแบบเดียวที่ทำได้ คือการเตรียมลูกโซ่ใบรับรองปลอมขึ้นมาทั้งสาย ให้ยาวพอจะทำให้คนตรวจสอบที่ขี้สงสัยที่สุดเท่าที่คาดไว้ยอมแพ้"
Stuart Haber และ W. Scott Stornetta, How to Time-Stamp a Digital Document ปี 1991 หัวข้อ 5.1 Linking ต้นฉบับ "Thus the only possible spoof is to prepare a fake chain of time-stamps, long enough to exhaust the most suspicious challenger that one anticipates."
ใครที่รู้จัก Bitcoin จะเห็นเงาของปัญหาเดียวกันทันที ใน Bitcoin การโกงประวัติธุรกรรมก็คือการสร้างโซ่ปลอมที่ยาวกว่าโซ่จริง สิ่งที่ Bitcoin ทำเพิ่มคือทำให้การสร้างโซ่แต่ละข้อมีต้นทุนจริงด้วย Proof of Work การสร้างโซ่ปลอมให้ยาวกว่าโซ่จริงจึงต้องใช้พลังประมวลผลมากกว่าคนทั้งเครือข่ายรวมกัน
ดูของจริงได้เลย ข้อมูลส่วนหัวของบล็อกที่ 170 ของ Bitcoin ซึ่งเป็นบล็อกที่บันทึกธุรกรรมแรกที่ส่งถึง Hal Finney มีช่องชื่อ previousblockhash ซึ่งคือค่า hash ของบล็อกที่ 169 อยู่ในตัว และมีช่อง merkle_root ซึ่งเป็นยอดของต้นไม้ที่เราจะพูดถึงในหัวข้อปี 1993 สองช่องนี้คือไอเดียของงานปี 1991 และปี 1993 ตามลำดับ
ภาพ: ข้อมูลบล็อก 170 จาก Blockstream Explorer API
ต้องพูดให้ชัดว่านี่เป็นการเทียบของบทความนี้ งานวิจัยปี 1991 ไม่ได้พูดถึงการทำให้การสร้างโซ่มีต้นทุน และไม่ได้เสนออะไรที่คล้าย Proof of Work แนวคิดนั้นมาจากอีกสายหนึ่ง คือ Hashcash ของ Adam Back ที่ออกมาในปี 1997
ทางแก้ที่สอง: กระจายความเชื่อใจ
งานวิจัยเสนอทางแก้ไว้สองแบบ แบบที่สองเรียกว่า Distributed Trust หรือการกระจายความเชื่อใจ ซึ่งในแง่ประวัติศาสตร์อาจน่าสนใจกว่าแบบแรกด้วยซ้ำ
แทนที่จะพึ่งผู้ให้บริการรายเดียว แบบที่สองให้ลูกค้าคนอื่นในระบบหลายคนช่วยกันเซ็นรับรองเวลาให้ คำถามคือจะเลือกใครมาเซ็น ถ้าให้เจ้าของเอกสารเลือกเอง เขาก็เลือกเพื่อนที่พร้อมจะโกงด้วย
งานวิจัยแก้ด้วยการใช้ค่า hash ของเอกสารเองเป็นเมล็ดพันธุ์ของตัวสุ่ม ตัวสุ่มจะเลือกรายชื่อผู้เซ็นออกมาจากกลุ่มผู้ใช้ทั้งหมด เนื่องจากค่า hash เปลี่ยนทุกครั้งที่เอกสารเปลี่ยน เจ้าของเอกสารจึงเลือกไม่ได้ว่าใครจะถูกสุ่มมาเซ็น จะโกงได้ก็ต้องให้คนที่ถูกสุ่มมาเกือบทุกคนยอมโกงด้วย
ย่อหน้าสรุปของงานวิจัยเขียนไว้ว่าวิธีที่สองนี้ใช้ได้โดยไม่ต้องมีผู้ให้บริการกลางเลย ในปี 1991 นี่คือการมองเห็นว่าระบบรับรองความจริงอาจไม่ต้องมีเจ้าของ ซึ่งเป็นความคิดเดียวกับที่ กลุ่ม Cypherpunk จะหยิบไปคุยกันต่อตลอดทศวรรษ 1990
สิ่งที่งานวิจัยมองเห็นไว้ตั้งแต่ปี 1991
ในส่วนท้ายของงานวิจัย ผู้เขียนลองนึกว่าระบบนี้จะเอาไปใช้กับอะไรได้บ้าง และบางข้ออ่านวันนี้แล้วแม่นอย่างน่าทึ่ง
- พิสูจน์ความเป็นเจ้าของไอเดียโดยไม่ต้องเปิดเผยเนื้อหา เพราะประทับเวลาแค่ค่า hash ผู้เขียนยกตัวอย่างว่าใช้ได้ตั้งแต่ซอฟต์แวร์ไปจนถึงสูตรลับของ Coca-Cola
- ประทับเวลาเป็นชุด บริษัทที่มีเอกสารวันละมากๆ ไม่ต้องประทับทีละชิ้น ให้รวมค่า hash ของเอกสารทั้งวันเป็นบันทึกเดียวแล้วประทับเวลาบันทึกนั้นตอนเลิกงาน ซึ่งคือไอเดียเดียวกับการรวมธุรกรรมหลายรายการไว้ในบล็อกเดียว
- แยกภาพจริงกับภาพตัดต่อ ถ้าภาพถูกประทับเวลาตั้งแต่ตอนถ่าย จะแก้ทีหลังก็ไม่ทันแล้ว
และมีย่อหน้าหนึ่งที่พูดถึงเรื่องที่ใกล้ Bitcoin ที่สุด
"แนวคิดเดียวกันนี้ใช้กับธุรกรรมทางการเงินที่เกิดต่อเนื่องกันได้ เช่น การซื้อขายหุ้นหรือการแลกเปลี่ยนเงินตรา หรือลำดับการติดต่อทางอิเล็กทรอนิกส์ใดๆ ที่เกิดผ่านช่องทางเชื่อมต่อเดียวกัน"
Stuart Haber และ W. Scott Stornetta, How to Time-Stamp a Digital Document ปี 1991 หัวข้อ 6.2 Time Constraints ต้นฉบับ "The same idea could apply to sequential financial transactions, such as stock trades or currency exchanges, or any sequence of electronic interactions that take place over a given physical connection."
ในปี 1991 สองคนนี้เขียนไว้แล้วว่าการต่อลูกโซ่ใช้กับธุรกรรมการเงินได้ สิ่งที่ยังไม่มีคือระบบที่ทำให้ใครก็ได้ต่อโซ่นั้นได้โดยไม่ต้องมีเจ้าของ
ปี 1993 เปลี่ยนโซ่เป็นต้นไม้
โซ่ในงานปี 1991 มีข้อเสียที่ผู้เขียนยอมรับเอง คือคนถือใบรับรองต้องเก็บใบรับรองไว้ และการพิสูจน์บางครั้งต้องไล่ติดต่อคนอื่นในโซ่ต่อไปเรื่อยๆ ถ้ามีเอกสารเข้ามาวันละล้านชิ้น การตรวจสอบก็หนักตาม
งานชิ้นถัดมาเขียนร่วมกับนักคณิตศาสตร์ Dave Bayer จากมหาวิทยาลัยโคลัมเบีย ต้นฉบับลงวันที่มีนาคม 1992 และตีพิมพ์ในหนังสือรวมงานวิชาการ Sequences II ปี 1993 ชื่อ Improving the Efficiency and Reliability of Digital Time-Stamping
แนวคิดหลักคือเปลี่ยนจากโซ่ที่ต่อกันเป็นเส้นตรง เป็นต้นไม้ที่รวมค่า hash ทีละคู่ขึ้นไปเรื่อยๆ จนเหลือค่าเดียวที่ยอด งานวิจัยให้เครดิตโครงสร้างนี้กับ Ralph Merkle ซึ่งเคยใช้มันเมื่อปี 1980 ในงานอีกประเภทหนึ่ง โครงสร้างนี้จึงถูกเรียกว่า Merkle Tree และที่น่าสังเกตคือชื่อ Merkle ก็อยู่ในรายชื่อคนที่ผู้เขียนขอบคุณท้ายงานวิจัยปี 1991 ด้วย
ข้อดีของต้นไม้คือคนที่อยากพิสูจน์ว่าเอกสารของตัวเองอยู่ในชุดนั้น ไม่ต้องเก็บข้อมูลของทุกคน เก็บแค่ค่า hash ที่อยู่ตามเส้นทางจากเอกสารของตัวเองขึ้นไปถึงยอด งานวิจัยบอกว่าจำนวนค่าที่ต้องเก็บเท่ากับราว log ฐานสองของจำนวนเอกสาร ลองคิดเป็นตัวเลขจะเห็นภาพ ถ้ามีเอกสารหนึ่งล้านชิ้นในชุด คนหนึ่งคนเก็บค่า hash แค่ราว 20 ค่าก็พิสูจน์ได้แล้ว
Bitcoin ใช้โครงสร้างนี้ในทุกบล็อกจนถึงวันนี้ ธุรกรรมทั้งบล็อกถูกรวมเป็น Merkle Root ค่าเดียวที่อยู่ในส่วนหัวของบล็อก และกระเป๋าเงินแบบเบาที่ไม่เก็บข้อมูลทั้งหมดก็ใช้เส้นทางในต้นไม้นี้ตรวจว่าธุรกรรมของตัวเองอยู่ในบล็อกจริง
ไอเดียลงหนังสือพิมพ์ มาจากงานชิ้นที่สอง
งานปี 1993 ยังเสนออีกเรื่องที่คนมักจำสลับกับงานปี 1991 คือเอาค่า hash ที่ยอดของต้นไม้ไปตีพิมพ์ในที่สาธารณะ
"หนังสือพิมพ์ทำหน้าที่เป็นบันทึกสาธารณะที่หาอ่านได้ทั่วไป และการที่มันถูกเก็บรักษาไว้ยาวนานในหลายแห่ง ทำให้การแก้ไขย้อนหลังทำได้ยากมาก"
Dave Bayer, Stuart Haber และ W. Scott Stornetta, Improving the Efficiency and Reliability of Digital Time-Stamping ต้นฉบับลงวันที่มีนาคม 1992 ตีพิมพ์ปี 1993 ต้นฉบับ "The newspaper functions as a widely available public record whose long-term preservation at many locations makes tampering very difficult."
ประโยคก่อนหน้าในย่อหน้าเดียวกันเสนอให้ลงค่านั้นเป็นโฆษณาในหนังสือพิมพ์ทุกวัน เพื่อให้ไปจบอยู่บนไมโครฟิล์มของห้องสมุดโดยไม่มีวันหมดอายุ ความคิดคือถ้าอยากแก้ประวัติ ต้องไปตามแก้หนังสือพิมพ์ทุกฉบับในทุกห้องสมุด ซึ่งทำไม่ได้
ภาพ: งานวิจัยปี 1993 ฉบับที่ Dave Bayer เผยแพร่ไว้บนเว็บไซต์ของมหาวิทยาลัยโคลัมเบีย
ที่ต้องแยกให้ชัดเพราะบทความจำนวนมากเขียนว่างานปี 1991 เสนอให้ลงหนังสือพิมพ์ ซึ่งไม่ตรงกับต้นฉบับ งานปี 1991 อ้างถึง The New York Times จริง แต่เป็นการอ้างบทความปี 1990 เรื่องภาพถ่ายที่โกหกได้ เพื่อยกตัวอย่างว่าทำไมต้องประทับเวลาภาพถ่าย ไม่ได้เกี่ยวกับการลงค่า hash
จากงานวิจัยสู่บริษัทที่ทำจริง
ปี 1994 Haber กับ Stornetta ร่วมกันตั้งบริษัท Surety Technologies แยกออกมาจาก Bellcore เพื่อขายบริการประทับเวลาตามงานวิจัยของตัวเอง
และบริษัทก็ทำตามที่งานปี 1993 เสนอไว้ตรงตัว ตามที่ Motherboard ของ Vice รายงานไว้ Surety รวมค่า hash ของตราประทับทั้งหมดในแต่ละสัปดาห์เป็นค่าเดียว แล้วลงค่านั้นในหน้าโฆษณาย่อยของ The New York Times สัปดาห์ละครั้ง มาตั้งแต่ปี 1995 บทความของ Motherboard ตั้งชื่อเรื่องนี้ว่าเป็นบล็อกเชนที่เก่าที่สุดในโลก ซึ่งซ่อนอยู่ในหนังสือพิมพ์มาตั้งแต่ปี 1995
นั่นแปลว่าระบบบันทึกที่ต่อกันเป็นโซ่และย้อนแก้ไม่ได้ มีคนใช้งานเชิงพาณิชย์จริงมาก่อน Bitcoin สิบกว่าปี โดยที่คนส่วนใหญ่ไม่เคยรู้ว่ามันมีอยู่
Satoshi อ้างถึงพวกเขาสามครั้งจากแปดครั้ง
เอกสาร Bitcoin ที่ Satoshi Nakamoto เผยแพร่เมื่อวันที่ 31 ตุลาคม 2008 มีรายการอ้างอิงทั้งหมด 8 รายการ ในจำนวนนั้นสามรายการเป็นงานของ Haber กับ Stornetta ทำให้พวกเขาเป็นผู้เขียนที่ถูกอ้างถึงมากที่สุดในเอกสาร
- รายการที่ 3 งานปี 1991 ที่บทความนี้เล่ามาทั้งหมด
- รายการที่ 4 งานปี 1993 ที่เขียนร่วมกับ Dave Bayer เรื่อง Merkle Tree
- รายการที่ 5 งานปี 1997 ชื่อ Secure Names for Bit-Strings
ภาพ: รายการอ้างอิงในเอกสาร Bitcoin จาก bitcoin.org
งานของพวกเขาไม่ได้อยู่แค่ท้ายเอกสาร แต่อยู่ในหัวข้อที่ 3 ซึ่งเป็นจุดที่ Satoshi เริ่มอธิบายกลไกของ Bitcoin จริงๆ หัวข้อนั้นชื่อว่า Timestamp Server
"เซิร์ฟเวอร์ประทับเวลาทำงานโดยนำชุดข้อมูลที่ต้องการประทับเวลามาคำนวณค่า hash แล้วเผยแพร่ค่า hash นั้นออกไปในวงกว้าง เช่น ลงในหนังสือพิมพ์หรือโพสต์ใน Usenet"
Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System หัวข้อ 3 Timestamp Server ต้นฉบับ "A timestamp server works by taking a hash of a block of items to be timestamped and widely publishing the hash, such as in a newspaper or Usenet post [2-5]."
ประโยคนี้อ้างรายการที่ 2 ถึง 5 ซึ่งสามในสี่รายการเป็นของ Haber กับ Stornetta และประโยคถัดมาของ Satoshi ก็อธิบายการต่อลูกโซ่แบบเดียวกับงานปี 1991 คือการประทับเวลาแต่ละครั้งมีค่าของครั้งก่อนหน้ารวมอยู่ในค่า hash ด้วย ต่อกันเป็นโซ่ที่แต่ละข้อทำให้ข้อก่อนหน้ามั่นคงขึ้น
อีกจุดหนึ่งที่มักไม่ค่อยมีคนสังเกต คือในหัวข้อที่ 7 ที่ Satoshi พูดถึงการใช้ Merkle Tree ลดขนาดข้อมูล เขาอ้างรายการที่ 7 ซึ่งเป็นงานของ Merkle เอง ร่วมกับรายการที่ 2 และรายการที่ 5 ไม่ได้อ้างรายการที่ 4 ซึ่งเป็นงานที่เอา Merkle Tree มาใช้กับการประทับเวลาโดยตรง
แล้ว Bitcoin เติมอะไรเข้าไป
ถ้าโซ่ของเอกสาร ต้นไม้ของค่า hash และการเผยแพร่ค่าสู่สาธารณะมีมาตั้งแต่ปี 1991 ถึง 1993 คำถามที่ตามมาคือ Bitcoin คิดอะไรใหม่
คำตอบคือ Bitcoin ไม่ได้คิดโซ่ใหม่ แต่แก้ปัญหาว่าใครเป็นคนต่อโซ่
- ในระบบของ Haber กับ Stornetta แบบแรก ยังมีผู้ให้บริการกลางคนเดียวที่ออกใบรับรองทุกใบ โซ่ทำให้เขาโกงได้ยาก แต่เขายังเป็นเจ้าของระบบ ถ้าเขาเลิกทำ ระบบก็หยุด
- ในระบบของ Surety ค่าที่ลงหนังสือพิมพ์ทำให้โกงย้อนหลังไม่ได้ แต่คนออกค่าก็ยังเป็นบริษัทเดียว
- ใน Bitcoin ใครก็ได้เป็นคนต่อข้อถัดไปของโซ่ได้ ขอแค่จ่ายต้นทุนด้วย Proof of Work และทุกคนยอมรับโซ่ที่ยาวที่สุดเป็นโซ่จริง ไม่มีบริษัท ไม่มีคนออกใบรับรอง และไม่ต้องลงหนังสือพิมพ์ เพราะสำเนาของโซ่อยู่ในโหนดนับหมื่นทั่วโลก
ส่วนตัวโซ่ Satoshi เขียนไว้ตรงๆ ในหัวข้อที่ 3 ว่าการประทับเวลาแต่ละครั้งรวมค่าของครั้งก่อนหน้าไว้ด้วย ต่อกันเป็นโซ่ ซึ่งคือกลไกของงานปี 1991
ภาพ: หัวข้อ 3 ในเอกสาร Bitcoin จาก bitcoin.org
และที่สำคัญกว่านั้น ระบบของ Haber กับ Stornetta ประทับเวลาเอกสาร ส่วน Bitcoin ประทับเวลาการโอนเงิน การรู้ลำดับเวลาที่แน่นอนของธุรกรรมคือสิ่งที่ใช้แก้ปัญหาการใช้เงินซ้ำ ซึ่งเงินดิจิทัลรุ่นก่อน Bitcoin ทุกตัวแก้ด้วยการมีคนกลาง
ทำไมเรื่องนี้ควรรู้
คำว่าบล็อกเชนถูกขายเป็นนวัตกรรมใหม่มาตลอดทศวรรษ 2010 แต่โครงสร้างข้อมูลที่อยู่ข้างใต้มีอายุมากกว่า Bitcoin อย่างน้อยสิบเจ็ดปี และเคยถูกใช้งานจริงในหน้าหนังสือพิมพ์มาตั้งแต่ปี 1995
การรู้เรื่องนี้ช่วยแยกของสองอย่างที่มักถูกเหมารวมกัน อย่างแรกคือการเก็บข้อมูลต่อกันเป็นโซ่ ซึ่งเป็นเทคนิคที่ใครก็ทำได้และมีมานานแล้ว อย่างที่สองคือการทำให้โซ่นั้นไม่มีเจ้าของ ซึ่งเป็นสิ่งที่ Bitcoin เพิ่มเข้ามาจริงๆ เวลาเห็นโครงการไหนบอกว่าใช้บล็อกเชน คำถามที่ควรถามจึงไม่ใช่ว่ามีโซ่ไหม แต่คือใครเป็นคนคุมโซ่นั้น
คำถามที่พบบ่อย
Haber และ Stornetta เป็นใคร
Stuart Haber และ W. Scott Stornetta เป็นนักวิจัยของ Bellcore ในรัฐนิวเจอร์ซีย์ ผู้เขียนงานวิจัย How to Time-Stamp a Digital Document ที่ตีพิมพ์ใน Journal of Cryptology ปี 1991 และร่วมกันตั้งบริษัท Surety Technologies ในปี 1994
งานวิจัยปี 1991 คือบล็อกเชนแรกจริงไหม
งานนี้เสนอการต่อใบรับรองเป็นลูกโซ่ด้วยค่า hash ซึ่งเป็นโครงสร้างเดียวกับบล็อกเชน แต่ยังมีผู้ให้บริการกลางเป็นคนออกใบรับรอง ส่วนการใช้งานจริงแบบต่อเนื่องคือ Surety ที่ลงค่า hash ใน The New York Times ทุกสัปดาห์ตั้งแต่ปี 1995
Satoshi อ้างงานของพวกเขากี่ครั้ง
เอกสาร Bitcoin มีรายการอ้างอิง 8 รายการ เป็นงานของ Haber และ Stornetta 3 รายการ คือรายการที่ 3 4 และ 5 มากกว่าผู้เขียนคนอื่นทั้งหมด
ไอเดียเอาค่า hash ลงหนังสือพิมพ์มาจากงานไหน
มาจากงานปี 1993 ที่เขียนร่วมกับ Dave Bayer ไม่ใช่งานปี 1991 งานปี 1991 อ้างถึง The New York Times แค่ในฐานะบทความเรื่องภาพถ่ายตัดต่อ
Merkle Tree เกี่ยวกับ Haber และ Stornetta อย่างไร
โครงสร้างนี้คิดโดย Ralph Merkle ตั้งแต่ปี 1980 งานปี 1993 ของ Bayer Haber และ Stornetta เป็นงานที่เอามันมาใช้กับการประทับเวลา เพื่อให้พิสูจน์เอกสารหนึ่งชิ้นได้โดยเก็บข้อมูลแค่ไม่กี่ค่า Bitcoin ใช้โครงสร้างเดียวกันนี้ในทุกบล็อก
สรุป
งานวิจัย 13 หน้าของ Stuart Haber และ W. Scott Stornetta ในปี 1991 ตั้งโจทย์ว่าจะประทับเวลาให้ข้อมูลดิจิทัลได้อย่างไรโดยไม่ต้องเชื่อใจใคร และตอบด้วยการต่อใบรับรองเป็นลูกโซ่ที่แต่ละใบพกลายนิ้วมือของใบก่อนหน้า งานชิ้นถัดมาในปี 1993 เปลี่ยนโซ่เป็นต้นไม้และเสนอให้ลงค่าสุดท้ายในหนังสือพิมพ์ และบริษัทของพวกเขาก็ทำแบบนั้นจริงมาตั้งแต่ปี 1995
Satoshi Nakamoto หยิบทั้งหมดนี้มาเป็นฐาน และอ้างถึงพวกเขามากกว่าใคร สิ่งที่ Bitcoin เพิ่มเข้าไปไม่ใช่ตัวโซ่ แต่คือการทำให้ไม่มีใครเป็นเจ้าของโซ่ ซึ่งเป็นส่วนที่สองคนนี้มองเห็นไว้แล้วในย่อหน้าท้ายๆ ของงานปี 1991 แต่ยังไม่มีเครื่องมือจะทำให้เกิดขึ้นได้