14 · ความไว้วางใจแบบกระจาย
การไต่สวนครั้งที่ 6 ของภาค II เปิดตรงนี้: การคำนวณใช้เวลาสี่สิบปีพิสูจน์อย่างเป็นรูปนัยว่าคนแปลกหน้าที่ไม่มีอำนาจร่วมกันตกลงกันได้แค่ไหน และตกลงกันไม่ได้แค่ไหน — สัญญาประชาคมของปรัชญาถูกเรียกมาตอบว่ามันละเลยอะไรไป
คนแปลกหน้าร่วมมือกันได้อย่างไร — คำถามที่นักปรัชญาได้แต่ถกเถียง คอมพิวเตอร์ยุติมันได้หรือไม่
วันที่ 3 มกราคม 2009 โปรแกรมหนึ่งขุดบล็อกแรกของสกุลเงินที่ไม่มีธนาคาร รัฐ หรือบริษัทใดควบคุม ในบล็อกนั้นมีข้อความฝังอยู่: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" — พาดหัวหน้าหนึ่งของ The Times กรุงลอนดอนวันนั้น อ้างข่าวว่ารัฐบาลสหราชอาณาจักรกำลังจะอุ้มระบบธนาคารของตัวเองเป็นครั้งที่สอง (Bitcoin Wiki, "Genesis block") บรรทัดนั้นพิสูจน์ว่าบล็อกนี้ขุดก่อนหน้านั้นไม่ได้ แต่มันทำมากกว่าประทับเวลา มันวางวันเกิดของระบบไว้ตรงสัปดาห์ที่สถาบันซึ่งเราฝากความไว้วางใจไว้ตามปกติเพิ่งล้มเหลวต่อหน้าสาธารณะพอดี เปเปอร์เบื้องหลัง "Bitcoin: A Peer-to-Peer Electronic Cash System" ถูกโพสต์ลงเมลลิ่งลิสต์ด้าน cryptography วันที่ 31 ตุลาคม 2008 ในชื่อ Satoshi Nakamoto — ชื่อที่ไม่มีใครเคยผูกกับตัวบุคคลได้อย่างชี้ขาด ระบบที่สร้างขึ้นเพื่อให้คนแปลกหน้าไม่ต้องไว้ใจกัน เขียนโดยคนที่ไม่มีใครในพวกเรายืนยันตัวตนได้ด้วยวิธีปกติสักวิธี ความย้อนแย้งนั้นคือหลักฐานชิ้นแรกที่บทนี้นำเข้าสู่การพิจารณา
สัญญาประชาคมมีเวอร์ชันที่รันได้จริง และมันตั้งต้นจากข้อสมมติเดียวกับต้นฉบับ Thomas Hobbes โต้แย้งใน Leviathan (1651) ว่าถ้าไม่มีอำนาจที่บังคับใช้ได้ ข้อตกลงระหว่างผู้เท่าเทียมกันย่อมไม่มั่นคง สภาวะธรรมชาติคือ "สงครามของทุกคนต่อทุกคน" และสันติภาพต้องโอนอำนาจตัดสินไปให้ผู้มีอธิปไตยที่แข็งแรงพอจะบังคับได้ คำตอบของ distributed computing มาช้ากว่านั้นสามศตวรรษ และรักษาสันติภาพไว้ได้โดยไม่ต้องมีผู้มีอธิปไตย: Paxos ของ Leslie Lamport ("The Part-Time Parliament," ACM Transactions on Computer Systems, May 1998) และ Raft ของ Diego Ongaro กับ John Ousterhout ("In Search of an Understandable Consensus Algorithm," USENIX ATC 2014) ให้เสียงข้างมากของ replica ที่เท่าเทียมกันผูกมัดการตัดสินใจ และทนได้เมื่อเสียงข้างน้อยช้า ผิด หรือออฟไลน์ Hobbes แก้ปัญหาการประสานงานด้วยการรวมอำนาจตัดสินไว้ที่จุดเดียว โปรโตคอลเหล่านี้แก้ด้วยการนับคะแนนกันเองในหมู่ผู้เท่าเทียม — สัญญาประชาคมที่ขอแค่ quorum กับนาฬิกา ไม่ขอ Leviathan
คำให้การยากขึ้นทันทีที่พยานอาจโกหก ไม่ใช่แค่เข้าใจผิด Leslie Lamport, Robert Shostak และ Marshall Pease ตั้งเวอร์ชันที่คมกว่านั้นไว้ในปี 1982: นายพลที่ล้อมเมืองอยู่ต้องตกลงกันเป็นเอกฉันท์ — บุกหรือถอย — โดยสื่อสารผ่านผู้ส่งสารเท่านั้น ในสถานการณ์ที่นายพลบางคนหรือข้อความบางฉบับอาจทรยศจริงๆ ผลลัพธ์ของพวกเขาคือ ด้วยข้อความปากเปล่าที่ไม่มีลายเซ็นกำกับ ไม่มีโปรโตคอลไหนใช้ได้เลยเว้นแต่นายพลมากกว่าสองในสามจะซื่อสัตย์ ในกลุ่มสามคน ผู้ทรยศคนเดียวเอาชนะผู้ซื่อสัตย์สองคนได้แล้ว (Lamport, Shostak & Pease, "The Byzantine Generals Problem," ACM TOPLAS 4, no. 3, July 1982: 382–401) ข้อถกเถียงเรื่องคำให้การของปรัชญา — ควรลดน้ำหนักรายงานลงแค่ไหนเมื่อรู้ว่าบางแหล่งอาจเป็นปรปักษ์ ไม่ใช่แค่ไม่น่าเชื่อถือ — จึงได้เกณฑ์ตัวเลขที่ชัดเจน: หนึ่งในสาม
ตกลงกันเรื่องแผนคือเรื่องหนึ่ง ตกลงกันว่าทั้งสองฝ่ายตกลงแล้วคืออีกเรื่อง และเรื่องหลังพิสูจน์ได้ว่าไปไม่ถึง ปี 1975 Akkoyunlu, Ekanadham และ Huber พิสูจน์ว่าสองฝ่ายที่ประสานงานผ่านช่องทางที่ทำข้อความหายเงียบๆ ได้ ไม่มีทางแน่ใจหลังการแลกเปลี่ยนจำนวนจำกัดใดๆ ว่าทั้งสองฝ่ายรู้ว่าแผนเดินหน้าแล้ว เพราะการตอบรับเองก็อาจเป็นข้อความที่หายไป Jim Gray ตั้งชื่อทางการทหารที่คุ้นหูให้ผลลัพธ์นี้ในปี 1978 ว่า ปัญหานายพลสองนาย (Two Generals Problem) นี่คือโครงสร้างเชิงปรัชญาของความรู้ร่วม (common knowledge) — ฉันรู้ P อีกฝ่ายรู้ P ฉันรู้ว่าอีกฝ่ายรู้ P ไปเรื่อยไม่สิ้นสุด — ที่ David Lewis ทำให้เป็นรูปนัยไว้ใน Convention (1969) Joseph Halpern และ Yoram Moses จับมันมาทำแบบ distributed computing พิสูจน์ว่าความรู้ร่วมที่แท้จริงไปไม่ถึงผ่านช่องทางใดๆ ที่มีโอกาสล้มเหลวแม้เพียงเล็กน้อย มีแต่การประมาณแบบซ้อนชั้นจำกัดเท่านั้นที่ไปถึง ("Knowledge and Common Knowledge in a Distributed Environment," 1984; expanded Journal of the ACM 37, no. 3, 1990) ตรรกะเชิงญาณ (epistemic logic) ปกติเป็นแค่แผนภาพความเชื่อซ้อนชั้นของนักปรัชญา ตรงนี้มันกลายเป็นโปรโตคอลที่มีเพดานพิสูจน์แล้ว
ลายเซ็นดิจิทัลทำให้คนแปลกหน้าคนไหนก็ยืนยันได้ว่าข้อความมาจากใคร โดยไม่ต้องมีความลับร่วมกันและไม่ต้องมีตัวกลางผู้รับรอง: ความไว้วางใจกลายเป็นความสัมพันธ์เชิงคณิตศาสตร์ — มีกุญแจส่วนตัวดอกเดียวเท่านั้นที่สร้างสิ่งที่กุญแจสาธารณะคู่กันยืนยันได้ — ไม่ใช่ความสัมพันธ์เชิงสังคมที่ต้องมีทนายรับรอง ธนาคาร หรือรัฐ บัญชีแยกประเภท (ledger) ขยายเรื่องนี้จากลายเซ็นฉบับเดียวไปถึงประวัติทั้งชุดที่เรียงลำดับไว้ ฝ่ายที่ระแวงกันเองจึงตกลงกันบนลำดับเหตุการณ์ชุดเดียวได้ โดยไม่ต้องยอมตามฝ่ายใดฝ่ายหนึ่ง
เงินคือจุดที่กลไกทุกชิ้นแบกน้ำหนักพร้อมกัน โปรโตคอลของ Nakamoto ทำให้ตัวบัญชีแยกประเภทเองเป็นผลของการโหวตแบบทนทานต่อความผิดพลาดแบบไบแซนไทน์ (Byzantine fault tolerance) — proof-of-work — ในหมู่ผู้เข้าร่วมนิรนามที่ไม่ไว้ใจกัน แก้ double-spending ได้โดยไม่ต้องมีผู้ดูแลบัญชีที่น่าเชื่อถือรายเดียวแบบที่ Hobbes คงคิดว่าเลี่ยงไม่ได้ ตรงนี้ปรัชญาคัดค้าน ไม่ใช่แค่ตอบ: วรรณกรรมเรื่อง distributed trust ทั้งหมดถือว่าความไว้วางใจจบแล้วเมื่อโหนดตกลงกันเรื่องข้อเท็จจริง — บล็อกไหนถูกต้อง ลายเซ็นของใครเป็นของจริง คำอธิบายความไว้วางใจแบบเก่ากว่า รวมถึงความกังวลของ Hobbes เองเรื่องคำสัญญาที่รักษาไว้เพราะถูกบังคับ ยืนยันว่าความไว้วางใจแบกเนื้อหาเชิงบรรทัดฐานที่การโหวตเรื่องข้อเท็จจริงปัจจุบันแตะไม่ถึง — ชื่อเสียงที่สั่งสมมาหลายปี การให้อภัย ความเต็มใจจะเปราะบางต่อทางเลือกในอนาคตของอีกฝ่าย บล็อกเชนทำให้การปลอมแปลงมีต้นทุนสูง แต่การทรยศ ภายในกรอบกฎ — การโกงที่เกิดขึ้นทั้งหมดในบัญชีแยกประเภทที่ถูกกฎและมีลายเซ็นกำกับ — โปรโตคอลมองไม่เห็นเลยแม้แต่น้อย
ผู้คน โดยย่อ Hobbes เขียน Leviathan ขึ้นจากความโกลาหลของสงครามกลางเมืองอังกฤษ Lamport ได้รางวัล ACM Turing Award ปี 2013 จากงานชิ้นนี้และงานพื้นฐานอื่นๆ ด้าน distributed computing และตามคำบอกเล่าของเขาเอง เขาเขียน "The Part-Time Parliament" เป็นนิทานเปรียบเทียบว่าด้วยรัฐสภากรีกสมมติ เพราะผู้ตรวจอ่านบอกว่าเวอร์ชันตรงไปตรงมาอ่านไม่รู้เรื่อง Halpern กับ Moses ต่อยอดคำอธิบายเชิงปรัชญาเรื่อง convention ของ Lewis เพื่อให้ตรรกะเชิงญาณมีบ้านทาง computational Nakamoto ไม่เคยถูกระบุตัวตน
เชื่อมโยง
บทที่ 03 ถามว่าคำตอบของเครื่องนับเป็นความรู้หรือไม่ ความทนทานต่อความผิดพลาดแบบไบแซนไทน์คือคำถามเดียวกันที่มีเศษส่วนแม่นยำติดมาด้วย ช่องว่างความรับผิดชอบของบทที่ 06 กลับมาที่นี่ในรูปการโทษที่กระจายตัวแบบเดียวกับความไว้วางใจ ความตึงระหว่าง stack กับ state ของบทที่ 07 คมขึ้นทันทีที่เงินเองไม่ต้องพึ่งรัฐ ความแน่นอนในฐานะผลผลิตเชิงวิศวกรรมของบทที่ 12 โผล่กลับมาในเกณฑ์หนึ่งในสาม และในเพดานที่พิสูจน์แล้วของความรู้ร่วม
คำถามที่ยังเปิดอยู่
ถ้าความรู้ร่วมที่สมบูรณ์พิสูจน์ได้ว่าไปไม่ถึงผ่านช่องทางที่ไม่น่าเชื่อถือใดๆ การประสานงานของมนุษย์ทั่วไป — ที่รันบนภาษาและท่าทาง ช่องทางที่ไม่ได้น่าเชื่อถือไปกว่ากัน — ก็เป็นแค่การทนอยู่กับช่องว่างเดียวกันด้วยความอดทนต่อความไม่แน่นอนที่ยาวกว่าเท่านั้นหรือไม่ ระบบที่รับประกันข้อตกลงเรื่องข้อเท็จจริงอย่างเป็นรูปนัย กำลังนิยาม "trust" ใหม่อย่างเงียบๆ ให้เหลือแค่ "agreement" ทิ้งสิ่งที่คำนี้เคยแบกไว้สำหรับ Hobbes หรือไม่ และถ้าไม่มีใคร — แม้แต่ quorum — ระบุตัวตนได้เบื้องหลังบัญชีแยกประเภทแบบไม่ต้องขออนุญาต (permissionless) อธิปไตยของใครกันแน่ที่ถูกแทนที่ไป
อ่านต่อ
- Thomas Hobbes, Leviathan, 1651.
- Leslie Lamport, Robert Shostak & Marshall Pease, "The Byzantine Generals Problem," ACM Transactions on Programming Languages and Systems 4, no. 3 (July 1982): 382–401; Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System," 31 October 2008 — bitcoin.org/bitcoin.pdf.
- Common Knowledge, Stanford Encyclopedia of Philosophy.