ความสมบูรณ์แบบของทัวริง: ความหมาย เหตุใดอีเธอร์เรียมจึงต้องการ และเหตุใดบิทคอยน์จึงเลือกที่จะหลีกเลี่ยง

ความสมบูรณ์แบบของทัวริง: ความหมาย เหตุใดอีเธอร์เรียมจึงต้องการ และเหตุใดบิทคอยน์จึงเลือกที่จะหลีกเลี่ยง

เพื่อนคนหนึ่งที่ทำงานด้านการเงินแบบดั้งเดิมเคยถามผมว่า ทำไม 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 เลือกเส้นทางที่แตกต่างออกไป และเส้นทางนั้นก็มีปัญญาในแบบของมันเอง เครื่องขายของอัตโนมัติไม่เคยขโมยเงินของคุณ แต่เชฟสามารถเผาครัวทิ้งได้

มีคำถามอะไรไหม?

Ethereum, Solana, Cardano, Polkadot, Avalanche, BNB Chain และแพลตฟอร์มสัญญาอัจฉริยะสมัยใหม่แทบทุกแพลตฟอร์ม ไม่มีบล็อกเชนใหม่ใดถูกสร้างขึ้นโดยปราศจากความสมบูรณ์แบบของทัวริง เนื่องจากตลาดต้องการความสามารถในการเขียนโปรแกรมสำหรับ DeFi, NFT และแอปพลิเคชันแบบกระจายอำนาจ

ไม่เชิง แต่ก็กำลังเพิ่มขีดความสามารถขึ้นเรื่อยๆ Taproot (2021) เพิ่มตรรกะแบบมีเงื่อนไขมากขึ้น BitVM (2023) เสนอการคำนวณนอกเครือข่ายพร้อมการตรวจสอบบนเครือข่าย สิ่งเหล่านี้ทำให้ Bitcoin สามารถตั้งโปรแกรมได้มากขึ้นโดยไม่ต้องทำให้มันสมบูรณ์แบบตามทฤษฎีบททัวริง ชุมชน Bitcoin นิยมการปรับปรุงทีละเล็กทีละน้อยอย่างระมัดระวังมากกว่าการเปลี่ยนแปลงแบบก้าวกระโดด

ในปี 2016 กองทุน Ethereum มูลค่า 150 ล้านดอลลาร์ถูกถอนออกจนหมดผ่านบั๊ก reentrancy ฟังก์ชันการถอนเงินส่ง ETH ออกไปก่อนที่จะอัปเดตยอดคงเหลือ ผู้โจมตีเรียกใช้ฟังก์ชันซ้ำๆ ดึง ETH ออกไปมากขึ้นทุกครั้งก่อนที่สัญญาจะตามทัน เหตุการณ์นี้เกิดขึ้นได้เพราะภาษาของ Ethereum รองรับการเรียกซ้ำ เป็นไปไม่ได้ใน Bitcoin เพราะ Bitcoin Script ไม่สามารถเรียกซ้ำได้

ทิวริงพิสูจน์แล้วว่าไม่มีอัลกอริทึมใดที่สามารถระบุได้ว่าโปรแกรมใดๆ จะหยุดทำงานหรือทำงานไปเรื่อยๆ บนบล็อกเชน วงวนไม่รู้จบจะทำให้เครือข่ายทั้งหมดหยุดทำงาน อีเธอร์เรียมแก้ปัญหานี้ด้วยค่าธรรมเนียมแก๊ส: ทุกการคำนวณต้องใช้แก๊ส และเมื่อแก๊สหมด การทำงานก็จะหยุดลง บิตคอยน์หลีกเลี่ยงปัญหานี้ได้อย่างสิ้นเชิงเพราะภาษาของมันไม่สามารถแสดงวงวนไม่รู้จบได้

โดยเจตนาแล้ว Vitalik ต้องการให้ Ethereum เป็นแพลตฟอร์มการประมวลผลอเนกประสงค์ ในขณะที่ Satoshi ต้องการให้ Bitcoin เป็นเครือข่ายการชำระเงินที่ปลอดภัย โค้ดที่เรียบง่ายกว่าย่อมยากต่อการถูกโจมตี พลังของ Ethereum สร้าง DeFi และ NFT ขึ้นมา ในขณะที่ข้อจำกัดของ Bitcoin ป้องกันบั๊กประเภทที่นำไปสู่การแฮ็ก DAO มูลค่า 150 ล้านดอลลาร์ ทั้งสองเป็นตัวเลือกที่เหมาะสมสำหรับวัตถุประสงค์ที่แตกต่างกัน

ระบบที่สมบูรณ์แบบตามทฤษฎีของทัวริง (Turing-complete system) สามารถรันโปรแกรมคอมพิวเตอร์ใดๆ ก็ได้ หากมีเวลาและหน่วยความจำเพียงพอ มันสามารถวนลูป ตัดสินใจ และจัดเก็บข้อมูลได้ แล็ปท็อปของคุณเป็นระบบที่สมบูรณ์แบบตามทฤษฎีของทัวริง แต่เครื่องคิดเลขไม่ใช่ ในบล็อกเชน: Ethereum เป็นระบบที่สมบูรณ์แบบตามทฤษฎีของทัวริง (มันสามารถรันสัญญาอัจฉริยะใดๆ ก็ได้) แต่ Bitcoin ไม่ใช่ (มันประมวลผลเฉพาะธุรกรรมบางประเภทเท่านั้น) แนวคิดนี้มาจากบทความของอลัน ทัวริงในปี 1936

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.