What is Turing Complete?
Turing Complete หมายถึงระบบคอมพิวเตอร์สามารถแสดงอัลกอริทึมใด ๆ ได้ถ้าคุณมีเวลาและหน่วยความจำเพียงพอ ในคริปโต มันอธิบายถึงเชนที่สามารถรันตรรกะซับซ้อนได้ ไม่ใช่แค่ส่งโทเคนจาก A ไป B ลองนึกถึงมันเหมือนห้องครัวที่สามารถทำสูตรอาหารได้ทุกรายการตราบเท่าที่คุณนำวัตถุดิบและความอดทนมา
Turing Complete หมายถึงดีกว่าในทุกกรณี ไม่ใช่ทั้งหมด มันให้ความยืดหยุ่นแก่คุณ แต่ก็อาจนำมาซึ่งบั๊ก ค่าใช้จ่ายเพิ่มเติม และเส้นทางการโจมตีใหม่หากคุณไม่ระวัง
How Turing Complete works
บนเชนที่มีความสามารถโปรแกรมได้อย่างเต็มที่ คุณเขียนและดิสแพช smart contracts ที่สามารถสาขา ตรวจซ้ำ และจัดเก็บข้อมูล ต่อไปนี้คือกระบวนการอย่างรวดเร็ว:
- Step 1: ผู้ใช้ส่งธุรกรรมที่เรียกฟังก์ชันของสัญญา
- Step 2: สัญญาอ่านอินพุตและสถานะ แล้วรันตรรกะ เช่น if statements, loops, หรือคำนวณ
- Step 3: ผลลัพธ์อัปเดตยอดเงินหรือตัวแปรและอาจปล่อย events ให้แอปติดตาม
- Step 4: Gas metering ควบคุมโค้ดที่ล่องลอยเพื่อไม่ให้ลูปไม่รู้จบทำให้เชนติดขัด
- Step 5: ตัวเสริมเช่น oracles สามารถป้อนข้อมูลเพื่อให้ตรรกะตอบสนองต่อราคาหรือตราประทับเวลา
นั่นคือขั้นตอนการทำงาน อย่างเรียบร้อยและทรงพลังอย่างน่าประหลาด
Why Turing Complete Matters
คุณควรใส่ใจเพราะมันเปลี่ยนบล็อกเชนให้กลายเป็นเลเยอร์คอมพิวเตอร์ทั่วไปสำหรับการเงิน เกม และอื่น ๆ
- Benefit: คุณสามารถทำธุรกรรมอัตโนมัติ กำหนด payouts ซับซ้อน และปล่อยฟีเจอร์โดยไม่ต้องขอจาก gatekeeper
- Perspective: โค้ดที่อธิบายได้มากขึ้นอาจใช้งานได้มากขึ้นและอาจเพิ่ม network congestion เมื่อกิจกรรมพุ่งสูง
- Relevance: คุณจะเห็นมันใน DeFi, NFTs, DAOs, และทุกสิ่งที่ต้องการตรรกะบน chain
เมื่อ有人พูดว่าเชนเป็น Turing Complete ให้ถามเกี่ยวกับ guardrails: ขีดจำกัด gas วัฒนธรรมการตรวจสอบ และไม่ว่ารหัสจะสามารถอัปเกรดได้ด้วยหรือไม่ รายละเอียดเหล่านี้บอกคุณว่ามันรู้สึกปลอดภัยในการสร้างหรือฝากเงินหรือไม่
Key Characteristics of Turing Complete
คิดถึงบล็อกสร้างมากกว่าคำศัพท์ทางการตลาด:
- Open: ใครก็ได้บนเครือข่าย decentralized สามารถปรับใช้โค้ดที่คนอื่นเรียกใช้งจากนั่น
- Branching: If statements ให้สัญญาเลือกเส้นทางต่าง ๆ ตามอินพุตหรือสถานะ
- Loops: ขั้นตอนที่ทำซ้ำทำให้สามารถสร้าง installments, auctions, หรือการสะสมดอกเบี้ย
- Memory: การจัดเก็บข้อมูลถาวรให้โค้ดจำ action ก่อนหน้าและยอด
- Halting: Gas metering และขีดจำกัดช่วยป้องกันไม่ให้การดำเนินการไม่รู้จบจนทำให้บล็อกติด
Variations
ไม่ใช่ทุก chain ที่พิจารณาความสามารถในการโปรแกรมเหมือนกัน นี่คือรสชาติทั่วไป:
- Limited: สคริปต์ถูกจำกัด ดีสำหรับการถ่ายโอนง่ายและการตรวจสอบที่มีพื้นผิวการถูกโจมตีน้อย
- Full: การคำนวณทั่วไป พร้อมคุณลักษณะภาษาอย่างครบถ้วนสำหรับแอปและโปรโตคอลที่ซับซ้อน
- Bounded: การคำนวณทั่วไปแต่มีขีดจำกัดทรัพยากรเพื่อให้ต้นทุนที่คาดการณ์ได้
Turing Complete เน้นความสามารถในการแสดงออก ไม่ใช่ความเร็วหรือต้นทนที่ถูกจ่าย ระบบที่เรียบง่ายอาจเร็วกว่า ในขณะที่ระบบที่แสดงออกมากกว่าจะมีคุณสมบัติมากกว่าแต่ค่าใช้จ่ายอาจสูงขึ้นในการรัน
Example
แอปผู้ให้กู้ออนไลน์ที่อยู่ภายใต้ร่มเงาของ decentralized applications (dApps) สามารถคำนวณดอกเบี้ย กำหนด/liquidations และกำหนดการชำระเงินให้เสร็จสิ้นได้เพราะเชนเป็น Turing Complete.
Fun Fact
คำนี้เป็นการอ้างอิงถึง Alan Turing และเครื่องคิดคิดของเขาที่สามารถจำลองทุกการคำนวณ Ethereum ทำให้ไอเดียนี้ถูกนำมาใช้กับบล็อกเชน ก่อนจะเพิ่ม gas เพื่อป้องกันลูปไม่สิ้นสุดไม่ให้ลบล้างเครือข่ายตลอดไป
Wrap-Up
สั้นๆ ว่า: Turing Complete เปลี่ยนบล็อกเชนให้เป็นคอมพิวเตอร์ทั่วไปที่คุณสามารถโปรแกรมได้โดยมีเงินเป็นคุณสมบัติตัวอื่น