ความสมบูรณ์แบบของทัวริง: ความหมาย เหตุใดอีเธอร์เรียมจึงต้องการ และเหตุใดบิทคอยน์จึงเลือกที่จะหลีกเลี่ยง
เพื่อนคนหนึ่งที่ทำงานด้านการเงินแบบดั้งเดิมเคยถามผมว่า ทำไม Ethereum ถึงสามารถใช้งานแอปพลิเคชันทางการเงินทั้งหมดบนบล็อกเชนได้ ในขณะที่ Bitcoin ทำได้แค่โอนเงินจากที่อยู่หนึ่งไปยังอีกที่อยู่หนึ่งเท่านั้น เขาตอบว่า "ทั้งสองอย่างเป็นบล็อกเชนเหมือนกัน" "แล้วความแตกต่างที่แท้จริงคืออะไรล่ะ?"
ผมพยายามอธิบายเรื่องความสมบูรณ์แบบของทัวริง (Turing completeness) แต่เห็นแววตาเขาเริ่มเหม่อลอย ผมเลยลองอธิบายใหม่ด้วยการเปรียบเทียบ บิตคอยน์ก็เหมือนตู้ขายของอัตโนมัติ คุณใส่เงินเข้าไป กดปุ่ม แล้วก็จะได้ของที่ต้องการออกมา มันทำในสิ่งที่มันถูกสร้างมาให้ทำ และไม่ทำอย่างอื่น ส่วนอีเธอร์เรียมก็เหมือนห้องครัวที่มีเชฟ คุณให้สูตรอาหารและวัตถุดิบกับเชฟมากพอ พวกเขาก็สามารถทำอะไรก็ได้ ไม่ว่าจะเป็นการวนลูป ("คนจนข้น"), การตัดสินใจ ("ถ้าเค็มเกินไป ให้เติมน้ำ"), ความคิดสร้างสรรค์ ("ดัดแปลงของหวานจากสิ่งที่เหลืออยู่") เชฟสามารถทำตามคำสั่งใดๆ ก็ได้ แต่ตู้ขายของอัตโนมัติทำไม่ได้
การเปรียบเทียบนั้นไม่สมบูรณ์แบบ นักวิทยาศาสตร์คอมพิวเตอร์อาจชี้ให้เห็นหลายสิ่งหลายอย่างที่ผมทำให้มันง่ายเกินไป แต่การเปรียบเทียบนั้นทำให้เพื่อนของผมถามคำถามที่ถูกต้องว่า "แล้วทำไมใครๆ ถึงอยากเป็นเครื่องขายสินค้าอัตโนมัติล่ะ?"
คำถามนั้นเป็นหัวใจสำคัญของการถกเถียงเรื่องความสมบูรณ์แบบของทัวริงในโลกคริปโตเคอร์เรนซี ความปลอดภัยเทียบกับความยืดหยุ่น ความสามารถในการคาดการณ์เทียบกับพลังอำนาจ บิตคอยน์เทียบกับอีเธอเรียม และคำตอบที่น่ารำคาญก็คือ ทั้งสองฝ่ายต่างก็ถูกต้อง
แนวคิดนี้มาจากไหน และทำไมบทความทางคณิตศาสตร์ปี 1936 ยังคงมีความสำคัญอยู่
อลัน ทิวริง ตีพิมพ์บทความชื่อ "ว่าด้วยจำนวนที่คำนวณได้" ในปี 1936 ขณะอายุ 23 ปี ในบทความนั้น เขาได้อธิบายถึงเครื่องจักรที่เรียบง่ายจนฟังดูเหมือนของเล่น ประกอบด้วยแถบเทปที่แบ่งออกเป็นช่องๆ หัวอ่านและเขียนสัญลักษณ์ และกฎที่บอกหัวอ่านว่าต้องทำอะไรตามสิ่งที่อ่านได้ เทป หัวอ่าน และกฎ นั่นคือเครื่องจักรทั้งหมด
นี่คือส่วนที่ยังทำให้ผมขนลุกอยู่เสมอ ทิวริงพิสูจน์ว่าเครื่องจักรที่เรียบง่ายอย่างเหลือเชื่อนี้สามารถคำนวณอะไรก็ได้ที่คอมพิวเตอร์เครื่องใดๆ จะคำนวณได้ ไม่ใช่แค่บางอย่าง แต่ทุกอย่าง โทรศัพท์ของคุณกำลังทำงานเกี่ยวกับการอ่านเขียนด้วยเทปและการใช้หัวอ่านอยู่ตอนนี้ เซิร์ฟเวอร์ที่ใช้งาน ChatGPT ก็เช่นกัน ชิปในรถของคุณก็เช่นกัน เขาพิสูจน์สิ่งเหล่านี้ทั้งหมดในปี 1936 ก่อนที่คอมพิวเตอร์อิเล็กทรอนิกส์เครื่องแรกจะถือกำเนิดขึ้นบนโลก บทความนั้นมีอายุเกือบ 90 ปีแล้ว แต่ทุกภาควิชาวิทยาการคอมพิวเตอร์บนโลกยังคงสอนอยู่ในภาคเรียนแรก
เมื่อมีคนบอกว่าระบบหนึ่ง "สมบูรณ์แบบตามทฤษฎีของทัวริง" (Turing complete) หมายความว่าระบบนั้นสามารถจำลองเครื่องบันทึกเทปของทัวริงได้ มันสามารถวนลูป ตัดสินใจโดยอาศัยข้อมูล เก็บข้อมูลในหน่วยความจำ และประมวลผลอัลกอริทึมใดๆ ก็ได้ แล็ปท็อปของคุณนั้นสมบูรณ์แบบตามทฤษฎีของทัวริง แต่เครื่องคิดเลขพกพาไม่ใช่ และนี่คือข้อเท็จจริงสนุกๆ ที่ฉันชอบบอกคนอื่น: วงจรเรดสโตนในเกม Minecraft นั้นสมบูรณ์แบบตามทฤษฎีของทัวริงในทางเทคนิค ผู้คนได้สร้างคอมพิวเตอร์ที่ใช้งานได้จริงภายในเกม ไม่ใช่คอมพิวเตอร์ที่มีประโยชน์ แต่ใช้งานได้จริง

เรื่องนี้มีผลอย่างไรต่อ Bitcoin: เหตุใด Satoshi จึงเลือกข้อจำกัดนี้
ซาโตชิสร้างบิตคอยน์ด้วยภาษาโปรแกรมที่เรียกว่า Bitcoin Script ซึ่งตั้งใจให้เรียบง่ายที่สุด มันทำหน้าที่ตรวจสอบลายเซ็น จัดการกระเป๋าเงินแบบหลายลายเซ็น ล็อกเงินด้วยเงื่อนไขเวลา และก็แค่นั้น ไม่มีลูป ไม่มีเงื่อนไขการแยกสาขาที่ซับซ้อน ไม่มีสถานะใดที่ส่งต่อระหว่างธุรกรรม
ครั้งแรกที่ผมเข้าใจว่าทำไมเรื่องนี้ถึงสำคัญ คือตอนที่ผมอ่านเกี่ยวกับเหตุการณ์แฮ็ก DAO บน Ethereum (เดี๋ยวผมจะพูดถึงเรื่องนั้น) การเรียกฟังก์ชันแบบวนซ้ำทำให้เงิน 150 ล้านดอลลาร์หายไปจากสัญญาอัจฉริยะ เพราะโค้ดสามารถเรียกตัวเองได้ในลูปที่ไม่สิ้นสุด ซึ่งนักพัฒนาไม่ได้คาดคิดมาก่อน บน Bitcoin การแฮ็กแบบนั้นเป็นไปไม่ได้ ไม่ใช่แค่เป็นไปได้ยาก แต่เป็นไปไม่ได้เลย Bitcoin Script ไม่สามารถเรียกตัวเองได้ ไม่สามารถวนลูปได้ ไม่สามารถเรียกซ้ำได้ ภาษาของมันมีข้อจำกัดมากเกินไปที่จะแสดงข้อผิดพลาดแบบที่ทำให้ Ethereum สูญเสียเงิน 150 ล้านดอลลาร์
ข้อจำกัดนั้นกลับกลายเป็นจุดเด่น สคริปต์ Bitcoin ทุกตัวจะสิ้นสุดลงอย่างที่คาดการณ์ได้ คุณสามารถอ่านมันและรู้ได้อย่างแน่นอนว่ามันจะทำอะไร ไม่มีอะไรน่าประหลาดใจ ไม่มีพฤติกรรมที่ไม่คาดคิด เมื่อคุณกำลังรักษาความปลอดภัยของเครือข่ายที่มีมูลค่ามากกว่าหนึ่งล้านล้านดอลลาร์ "ความน่าเบื่อและคาดเดาได้" ไม่ใช่จุดอ่อน แต่มันคือทางเลือกในการออกแบบ
สิ่งที่วิทาลิกสร้างขึ้น และเหตุใดมันจึงเปลี่ยนแปลงทุกสิ่ง
Vitalik Buterin อายุ 19 ปี เมื่อเขาเผยแพร่เอกสารไวท์เปเปอร์ของ Ethereum ในปี 2013 คำถามของเขานั้นเรียบง่ายและล้ำสมัย: จะเป็นอย่างไรหากบล็อกเชนสามารถรันโปรแกรมใดๆ ก็ได้? ไม่ใช่แค่ "ส่งเหรียญจาก A ไป B" แต่เป็นทุกอย่างที่คอมพิวเตอร์สามารถทำได้?
ตอนที่เอกสารไวท์เปเปอร์ของ Ethereum ออกมา ผมยังเรียนอยู่มหาวิทยาลัย ผมอ่านจากไฟล์ PDF ที่มีคนแชร์ในฟอรัม Bitcoin ครึ่งหนึ่งของความคิดเห็นบอกว่า Vitalik เป็นอัจฉริยะ อีกครึ่งหนึ่งบอกว่าเขากำลังสร้างระบบที่จะถูกแฮ็กทันที ทั้งสองฝ่ายพูดถูก
Ethereum เปิดตัวในปี 2015 พร้อมกับสององค์ประกอบที่ทำให้มันสมบูรณ์แบบในเชิง Turing Solidity คือภาษาโปรแกรมสำหรับเขียนสัญญาอัจฉริยะ มันมีลูป เงื่อนไข การจัดเก็บสถานะ การเรียกฟังก์ชัน ครบทุกอย่างที่คุณต้องการ และ Ethereum Virtual Machine จะรันสัญญาเหล่านั้นบนทุกโหนดในเครือข่ายพร้อมกัน เมื่อรวมกันแล้ว นักพัฒนาสามารถใช้งานโค้ดใดๆ ก็ได้ที่เขียนขึ้น
การตัดสินใจครั้งนั้นคือเหตุผลที่ทำให้ DeFi เกิดขึ้น เหตุผลที่ทำให้ NFT เกิดขึ้น เหตุผลที่ทำให้ DAO เกิดขึ้น เหตุผลที่ทำให้เงินหลายพันล้านดอลลาร์ไหลเวียนผ่านโปรแกรมที่ไม่มีบริษัทใดบริษัทหนึ่งควบคุมได้ แอปพลิเคชันที่น่าสนใจทุกอย่างในโลกคริปโต ตั้งแต่ Uniswap ไปจนถึง Aave และ OpenSea ล้วนเป็นไปได้ก็เพราะ Ethereum สามารถรันโค้ดใดๆ ก็ได้
แต่ไวทาลิกได้เดิมพันไว้ เขาเดิมพันว่าพลังแห่งความยืดหยุ่นจะมากกว่าความเสี่ยงจากความซับซ้อน การแฮ็ก DAO ในปี 2016 ได้ทดสอบการเดิมพันนั้นอย่างหนัก การโจมตี DeFi ที่สร้างความเสียหายหลายพันล้านดอลลาร์ทุกปีก็ยังคงทดสอบมันอยู่ และชุมชน Bitcoin ก็ยังคงชี้ให้เห็นถึงความสูญเสียเหล่านั้นและกล่าวว่า "นี่คือเหตุผลที่เราเลือกที่จะคงความเรียบง่ายไว้" ทั้งสองฝ่ายต่างก็มีเหตุผล
ปัญหาการหยุดชะงักและเหตุผลที่ต้องมีค่าธรรมเนียมก๊าซ
นี่คือส่วนที่ทำให้ผมนอนไม่หลับตอนที่ผมเข้าใจเรื่องนี้ครั้งแรก
ในบทความปี 1936 เดียวกันนั้น ทิวริงได้พิสูจน์สิ่งที่น่าอึดอัดใจอย่างหนึ่ง นั่นคือ ไม่มีอัลกอริทึมใดที่สามารถตรวจสอบโปรแกรมใดๆ และระบุได้อย่างน่าเชื่อถือว่าโปรแกรมนั้นจะทำงานเสร็จสิ้นหรือจะวนลูปไปเรื่อยๆ นี่ไม่ใช่ปัญหาทางเทคโนโลยีที่เรายังแก้ไม่ได้ แต่มันเป็นไปไม่ได้ทางคณิตศาสตร์ พิสูจน์แล้ว เสร็จสิ้นแล้ว ไม่มีคอมพิวเตอร์ใดๆ ไม่ว่าจะล้ำหน้าแค่ไหน ก็ไม่สามารถแก้ปัญหาการหยุดทำงาน (halting problem) สำหรับทุกโปรแกรมได้
บนแล็ปท็อปของผม ลูปอนันต์เป็นเรื่องน่ารำคาญ ผมกด Ctrl-C แล้วชีวิตก็ดำเนินต่อไปได้ แต่บนบล็อกเชน ลูปอนันต์เป็นหายนะ ทุกโหนดทำงานในทุกสัญญาอัจฉริยะ หากสัญญาใดสัญญาหนึ่งไม่หยุดทำงาน ทุกโหนดบนโลกที่ใช้งานบล็อกเชนนั้นก็จะหยุดทำงาน เครือข่ายล่ม
วิธีแก้ปัญหาของ Ethereum นั้นตรงไปตรงมาแต่ได้ผลดี นั่นคือ ค่าธรรมเนียมแก๊ส ทุกการคำนวณต้องใช้แก๊ส คุณต้องกำหนดแก๊สให้กับธุรกรรมของคุณ เมื่อแก๊สหมดลง โค้ดก็จะหยุดทำงาน ไม่ว่าธุรกรรมจะเสร็จสมบูรณ์แล้วหรือไม่ หรือกำลังอยู่ในระหว่างการโอนเงินก็ตาม เมื่อแก๊สเหลือศูนย์ การทำงานก็จะสิ้นสุดลง นี่คือเหตุผลที่ค่าธรรมเนียมแก๊สของ ETH แตกต่างกันไป การโอนเงินแบบง่ายๆ: 21,000 แก๊ส การแลกเปลี่ยน DeFi ที่ซับซ้อน: 200,000 แก๊ส การสร้าง NFT ที่มีภาพบนบล็อกเชน: ครึ่งล้าน แก๊ส คุณจ่ายตามปริมาณการคำนวณที่แต่ละโหนดต้องทำ
บิตคอยน์มองปัญหานี้แล้วบอกว่า "ไม่ได้" ไม่สามารถเขียนลูปได้ และไม่สามารถติดอยู่ในลูปได้ สคริปต์ทุกตัวจะสิ้นสุดลง ไม่จำเป็นต้องมีกลไกค่าธรรมเนียม (gas mechanism) ภาษาของบิตคอยน์นั้นจำกัดเกินกว่าจะแสดงความหมายว่า "ตลอดไป"
มิถุนายน 2016: เมื่อทฤษฎีกลายเป็นความจริงมูลค่า 150 ล้านดอลลาร์
ทุกการสนทนาเกี่ยวกับความสมบูรณ์แบบของทัวริงในด้านคริปโตเคอร์เรนซี ย่อมมาถึงจุดนี้ในที่สุด
DAO เป็นกองทุนลงทุนมูลค่า 150 ล้านดอลลาร์สหรัฐฯ ที่ทำงานบน Ethereum ใช้สัญญาอัจฉริยะ มีการกำกับดูแลโดยชุมชน เงินเข้ามา การลงคะแนนจะกำหนดว่าเงินจะออกไปที่ไหน โค้ดมีความซับซ้อน มีลูป เงื่อนไข การเรียกใช้ข้ามสัญญา สถานะที่เปลี่ยนแปลงระหว่างการทำงาน ทุกอย่างที่ความสมบูรณ์แบบของทัวริงอนุญาต
มีคนพบช่องโหว่ ฟังก์ชันถอนเงินส่ง ETH ไปก่อนแล้วค่อยอัปเดตยอดคงเหลือทีหลัง ผู้โจมตีเรียกใช้ฟังก์ชันถอนเงิน ได้รับเงิน และก่อนที่ยอดคงเหลือจะได้รับการอัปเดต ฟังก์ชันนั้นก็เรียกตัวเองซ้ำอีกครั้ง และอีกครั้ง และอีกครั้ง นี่คือกลไกการเรียกซ้ำ (Reentrancy) ซึ่งเป็นวงวนที่ผู้พัฒนาไม่ได้ตั้งใจไว้ และทำให้เงินไหลออกไปเรื่อยๆ ในแต่ละรอบ
เหตุการณ์แบบนี้จะเกิดขึ้นกับ Bitcoin ได้หรือไม่? ไม่ได้ Bitcoin Script ไม่สามารถเรียกตัวเองได้ ไม่สามารถเรียกสคริปต์อื่นได้ และไม่สามารถวนซ้ำได้ สิ่งที่ทำให้ Bitcoin น่าเบื่อก็คือสิ่งเดียวกันที่ทำให้การโจมตีแบบนี้เป็นไปไม่ได้
ชุมชน Ethereum ลงคะแนนเสียงเพื่อทำการ hard-fork เครือข่ายและย้อนกลับการโจรกรรม การแยกเครือข่ายครั้งนั้นได้สร้าง Ethereum Classic ขึ้นมา นักพัฒนาได้เรียนรู้จากเหตุการณ์นั้น กลไกป้องกันการเข้าถึงซ้ำ (reentrancy guards) กลายเป็นมาตรฐาน รูปแบบ "ตรวจสอบ-มีผล-โต้ตอบ" กลายเป็นหลักการสำคัญ แต่ความจริงพื้นฐานยังคงไม่เปลี่ยนแปลง: โค้ดที่สมบูรณ์แบบตามทฤษฎีของ Turing อาจมีข้อผิดพลาดที่ผู้สร้างไม่ได้คาดการณ์ไว้เสมอ นั่นไม่ใช่ข้อบกพร่องใน Ethereum แต่เป็นผลสืบเนื่องมาจากหลักการทางคณิตศาสตร์

Bitcoin กำลังมีข้อจำกัดน้อยลง: Taproot และ BitVM
เส้นแบ่งระหว่างระบบที่สมบูรณ์แบบตามทฤษฎีบททัวริงและระบบที่ไม่สมบูรณ์ตามทฤษฎีบททัวริงนั้น ไม่ชัดเจนเหมือนแต่ก่อนสำหรับบิตคอยน์
Taproot เปิดตัวในเดือนพฤศจิกายน 2021 และขยายขีดความสามารถของ Bitcoin Script ทำให้สามารถใช้งานการใช้จ่ายแบบมีเงื่อนไขที่ซับซ้อนยิ่งขึ้น มีความเป็นส่วนตัวที่ดีขึ้นผ่านลายเซ็น Schnorr และใช้ Merkelized Abstract Syntax Trees ที่ซ่อนเงื่อนไขของธุรกรรมจนกว่าจะมีการดำเนินการ ถึงแม้จะยังไม่สมบูรณ์แบบในเชิง Turing แต่ก็มีความยืดหยุ่นและแสดงออกได้มากกว่าเดิม
BitVM ซึ่งเสนอในปี 2023 นั้นก้าวไปอีกขั้น มันอธิบายถึงระบบสำหรับการคำนวณใดๆ ก็ตามนอกเครือข่ายบล็อกเชน แล้วตรวจสอบผลลัพธ์บน Bitcoin ลองนึกภาพแบบนี้: การคำนวณจริงเกิดขึ้นที่อื่น และ Bitcoin จะเข้ามาเกี่ยวข้องก็ต่อเมื่อมีคนโต้แย้งผลลัพธ์เท่านั้น ในทางทฤษฎีแล้ว สิ่งนี้ทำให้ Bitcoin มีความสามารถเทียบเท่าเครื่องจักรทัวริง (Turing complete) สำหรับกรณีการใช้งานเฉพาะบางอย่าง โดยไม่ต้องเปลี่ยนแปลงภาษาเขียนโปรแกรมเลย
ผมได้พูดคุยกับนักพัฒนา Bitcoin เกี่ยวกับ BitVM และปฏิกิริยาที่ได้รับนั้นน่าสนใจ พวกเขารู้สึกตื่นเต้นกับศักยภาพของมัน แต่ก็หวาดกลัวกับความเสี่ยง หนึ่งในนั้นบอกผมว่า: "เราจะไม่รีบร้อนเรื่องนี้ มีคนเก็บเงินไว้ในระบบนี้เป็นล้านล้านดอลลาร์ ถ้าเราทำให้มันพังเพราะพยายามทำให้มันดูหรูหราขึ้น ไม่มีใครให้อภัยเราหรอก" ความระมัดระวังเช่นนั้นอาจทำให้รู้สึกหงุดหงิดหากคุณต้องการให้ Bitcoin DeFi เกิดขึ้นได้ในวันพรุ่งนี้ แต่ก็อาจทำให้รู้สึกอุ่นใจหากคุณเป็นคนที่เก็บเงินไว้ในระบบเป็นล้านล้านดอลลาร์
ทิศทางโดยรวมมุ่งไปสู่การแสดงออกที่มากขึ้น ไม่ว่าอย่างไรก็ตาม Taproot ได้ขยายขอบเขตความเป็นไปได้ไปแล้ว BitVM จะขยายขอบเขตนั้นให้กว้างขึ้นไปอีก แต่ก็อย่าคาดหวังว่า Bitcoin จะกลายเป็น Ethereum เพราะวัฒนธรรมของทั้งสองแตกต่างกันมากเกินไป
ทำไมบล็อกเชนใหม่ทุกตัวถึงเลือกใช้ความสมบูรณ์แบบของทัวริง (Turing completeness) กันล่ะ
นี่คือสิ่งที่ยุติข้อถกเถียงในทางปฏิบัติ: ไม่มีใครสร้างบล็อกเชนที่ไม่สมบูรณ์แบบตามทฤษฎีบททัวริงอีกต่อไปแล้ว Solana, Cardano, Polkadot, Avalanche, BNB Chain ล้วนสมบูรณ์แบบตามทฤษฎีบททัวริง และสามารถรันโปรแกรมใดๆ ก็ได้ ตลาดตัดสินแล้วว่าความสามารถในการเขียนโปรแกรมนั้นชนะ และคำถามเดียวที่เหลืออยู่ตอนนี้คือ จะทำอย่างไรให้ระบบที่สมบูรณ์แบบตามทฤษฎีบททัวริงทำงานได้เร็วขึ้น ประหยัดกว่า และปลอดภัยกว่า
แต่ละเชนมีการแลกเปลี่ยนที่แตกต่างกัน Ethereum เลือกใช้ EVM และ Solidity (ระบบนิเวศที่ใหญ่ที่สุด ค่าธรรมเนียม L1 สูงที่สุด) Solana สร้าง Sealevel สำหรับการประมวลผลแบบขนานโดยใช้ Rust (เร็วแต่พัฒนายากกว่า) Cardano เลือก Haskell และการตรวจสอบอย่างเป็นทางการ (เข้มงวดทางคณิตศาสตร์ การใช้งานช้ากว่า) แต่พวกเขาทั้งหมดต่างยอมรับความสมบูรณ์แบบของ Turing เพราะพวกเขาทั้งหมดต้องการใช้งานสัญญาอัจฉริยะ DeFi NFT DAO และทุกสิ่งอื่น ๆ ที่ต้องการตรรกะแบบกำหนดเอง
ปัญหาด้านความปลอดภัยมีอยู่จริง การโจมตีระบบ DeFi ทำให้เกิดการสูญเสียหลายพันล้านดอลลาร์ทุกปี การแฮ็ก DAO เป็นเพียงจุดเริ่มต้น แต่ภาคอุตสาหกรรมได้สรุปว่าประโยชน์ของการเขียนโปรแกรมได้นั้นมีมากกว่าความเสี่ยง แม้แต่ Bitcoin ซึ่งเป็นบล็อกเชนที่มีข้อจำกัดโดยเจตนาในตอนแรก ก็กำลังก้าวไปสู่การแสดงออกที่มากขึ้นด้วย Taproot และ BitVM
ผมอยู่ในวงการคริปโตมานานพอที่จะได้ใช้ทั้งสองประเภทของเชนอย่างกว้างขวาง ผมเคยส่งธุรกรรม Bitcoin ที่ได้รับการยืนยันอย่างถูกต้องตามที่คาดไว้ทุกครั้ง และผมก็เคยใช้งานสมาร์ทคอนแทร็กต์ของ Ethereum ที่ทำในสิ่งที่ผมคาดไม่ถึง เพราะ Solidity ช่วยให้คุณเขียนโค้ดที่ซับซ้อนพอที่จะทำให้ตัวเองประหลาดใจได้ ประสบการณ์ทั้งสองอย่างนี้หล่อหลอมมุมมองของผม
ประเด็นถกเถียงไม่ได้อยู่ที่ว่าความสมบูรณ์แบบของทัวริงนั้นดีหรือไม่ดี แต่ขึ้นอยู่กับว่าคุณต้องการอะไรมากกว่า หากคุณต้องการระบบการชำระเงินดิจิทัลที่มีความปลอดภัยและคาดการณ์ได้สูงสุด การออกแบบของบิตคอยน์ก็สมเหตุสมผล แต่หากคุณต้องการสร้างแอปพลิเคชันทางการเงิน เกม ระบบระบุตัวตน หรืออะไรก็ตามที่ต้องการตรรกะแบบกำหนดเอง คุณจำเป็นต้องใช้ความสมบูรณ์แบบของทัวริง สิ่งต่างๆ ที่ทำให้คริปโตเคอร์เรนซีน่าสนใจในตอนนี้ส่วนใหญ่เกิดขึ้นได้ก็เพราะเด็กหนุ่มอายุ 19 ปีคนหนึ่งตัดสินใจว่าความเสี่ยงนั้นคุ้มค่าที่จะรับ
ผมคิดถึงเรื่องนี้ทุกครั้งที่ใช้ Uniswap หรือ Aave หรือโปรโตคอล DeFi ใดๆ การแลกเปลี่ยนทุกครั้งที่ผมทำคือการทำงานของโค้ดบนเครื่องเสมือนที่สมบูรณ์แบบตามทฤษฎีทัวริง ทุกธุรกรรมมีความเสี่ยงทางทฤษฎีที่ว่าข้อผิดพลาดบางอย่างที่ไม่มีใครคาดคิดอาจทำให้สัญญาทั้งหมดล้มเหลว ผมยังคงใช้โปรโตคอลเหล่านี้ต่อไปเพราะประโยชน์ที่ได้รับคุ้มค่ากับความเสี่ยงสำหรับผม แต่ผมไม่เคยลืมว่าความเสี่ยงนั้นมีอยู่ และผมไม่เคยลืมว่า Bitcoin เลือกเส้นทางที่แตกต่างออกไป และเส้นทางนั้นก็มีปัญญาในแบบของมันเอง เครื่องขายของอัตโนมัติไม่เคยขโมยเงินของคุณ แต่เชฟสามารถเผาครัวทิ้งได้