แก้ปัญหาค่าธรรมเนียม Bitcoin (โดยไม่ต้อง Hard Fork)

ข้อมูลนี้ในเว็บไซต์นี้ไม่ใช่คำแนะนำการลงทุน การลงทุนมีความเสี่ยง ผู้ลงทุนควรทำความเข้าใจลักษณะสินค้า เงื่อนไขผลตอบแทน และความเสี่ยง ก่อนตัดสินใจ ลงทุน

ทุกแพลตฟอร์มสัญญาอัจฉริยะ (Smart Contract) จะมีสินทรัพย์ค่าธรรมเนียมเป็นส่วนประกอบหลัก เช่น Ethereum มี ETH, Solana มี SOL แต่สำหรับ Bitcoin (BTC) นั้นกลับมีความซับซ้อนกว่า หากต้องการแอปพลิเคชันที่มีความสามารถสูง มักจะต้องพึ่งพาเศรษฐกิจของเครือข่ายที่สอง

สรุป

  • Bitcoin ไม่ได้คิดค่าบริการจากการประมวลผล แต่คิดจากพื้นที่บล็อกเท่านั้น ซึ่งแตกต่างจาก Ethereum หรือ Solana ที่มีตลาดค่าธรรมเนียมแบบ sat/vB สำหรับการรวมธุรกรรม ไม่ใช่การวัดค่าการประมวลผลสัญญาอัจฉริยะ
  • การประมวลผลสามารถย้ายไปทำนอกเชน (Off-chain) ได้ ในขณะที่การชำระหนี้ (Settlement) ยังคงอยู่บน Bitcoin ระบบอย่าง OpNet รันตรรกะของสัญญาใน Wasm VM ขณะที่การชำระเงินและการเปลี่ยนแปลงสถานะสุดท้ายจะถูกยึดเข้ากับธุรกรรม BTC ปกติ
  • BTC สามารถทำหน้าที่เป็นสินทรัพย์ค่าธรรมเนียมได้โดยไม่ต้องใช้โทเค็นใหม่ โดยการตั้งราคาต้นทุนการประมวลผลเป็น satoshis และการชำระหนี้ผ่านธุรกรรม Bitcoin แอปพลิเคชันจึงไม่ต้องสร้างระบบเศรษฐกิจค่าธรรมเนียมที่สองขึ้นมา

ตัวอย่างเช่น บน Stacks คุณต้องจ่ายค่าธรรมเนียมเป็น STX บน Bitcoin Layer-2 แบบ EVM คุณอาจถูกบอกว่า BTC เป็นโทเค็นค่าธรรมเนียม แต่มันมักจะเป็นตัวแทนของ L2 ที่มีรูปแบบคล้าย EVM (รวมถึง 18 ทศนิยม) และคุณยังคงทำงานภายในสภาพแวดล้อม L2 นั้นอยู่ ในขณะที่ Bitcoin เองมีตลาดค่าธรรมเนียมที่ชัดเจนอยู่แล้ว โดยผู้ใช้เสนอราคาสำหรับพื้นที่บล็อกในหน่วย sat/vB และผู้ขุดให้ความสำคัญกับอัตราค่าธรรมเนียมที่สูงกว่า

ด้วยเหตุนี้ จะเป็นอย่างไรหากการโต้ตอบสัญญาอัจฉริยะสามารถเริ่มต้นและชำระเงินได้เหมือนธุรกรรม Bitcoin ปกติ โดยมีค่าธรรมเนียมเป็น BTC (ไม่ต้องมีโทเค็นค่าธรรมเนียมเพิ่มเติมหรือ Hard Fork) ในขณะที่ส่วนของสัญญาอัจฉริยะทำงานอยู่ที่อื่นและยังคงเชื่อมโยงกับ Bitcoin อย่างพิสูจน์ได้? OpNet กำลังนำเสนอทางออกสำหรับปัญหานี้

คุณอาจสนใจ: Bitcoin Layer-2 ล้มเหลวเพราะไม่ใช่ L2 จริง | ความเห็น Bitcoin ไม่ได้วัดค่าการประมวลผล (ซึ่งเป็นปัญหา)

ตลาดค่าธรรมเนียมของ Bitcoin มีจุดเด่นที่ยอดเยี่ยมอย่างหนึ่ง คือ การตั้งราคาพื้นที่บล็อก คุณแข่งขันกันในหน่วย sat/vB ผู้ขุดจะเลือกอัตราค่าธรรมเนียมที่สูงที่สุด และเครือข่ายยังคงความเรียบง่ายและทนทานต่อการโจมตี สิ่งที่ Bitcoin ไม่ได้ทำ คือ การรันสภาพแวดล้อมการประมวลผลทั่วไปที่สามารถวัดและคิดค่าบริการสำหรับการประมวลผลตามอำเภอใจได้ Bitcoin Script ถูกออกแบบมาให้ไม่มีสถานะ (Stateless) และไม่เป็น Turing-complete โดยจงใจให้ขาดการวนซ้ำ (loops) หรือการกระโดด (gotos) เพื่อให้ทุกโหนดสามารถตรวจสอบสคริปต์ได้อย่างแม่นยำ โดยไม่เปิดประตูสู่การประมวลผลที่ไม่จำกัด

นั่นคือเหตุผลว่าทำไมแนวทางสัญญาอัจฉริยะส่วนใหญ่ของ Bitcoin จึงมักจะย้ายการประมวลผลไปยังระบบแยกต่างหากที่สามารถวัดค่าและมีตลาดค่าธรรมเนียมของตัวเองได้ เมื่อคุณมีเลเยอร์การประมวลผลที่แยกต่างหากนั้น มักจะมาพร้อมกับสินทรัพย์ค่าธรรมเนียมที่แยกต่างหาก (ตัวอย่างเช่น Stacks คิดค่าธรรมเนียมเป็น STX)

ซึ่งนี่ไม่ใช่สิ่งที่ดีที่สุด และระบบที่สามารถเก็บการชำระเงินไว้ในตลาดค่าธรรมเนียมแบบ Native ของ Bitcoin ในขณะที่ย้ายการประมวลผลไปที่อื่นจะเป็นที่ต้องการมากกว่า

การประมวลผลไม่ใช่สิ่งที่ Bitcoin ต้องทำ

เมื่อคุณยอมรับว่า Bitcoin Script มีข้อจำกัดโดยเจตนา (ไม่มีสถานะและไม่ได้ออกแบบมาสำหรับการประมวลผลที่ไม่จำกัด) คุณจะเริ่มคิดถึงวิธีการให้ Bitcoin ชำระหนี้ผลลัพธ์และค่าใช้จ่าย

แท้จริงแล้ว การประมวลผลสามารถเกิดขึ้นได้ใน Virtual Machine (VM) ที่ออกแบบมาเพื่อรันตรรกะของสัญญาอัจฉริยะได้อย่างแม่นยำ ในขณะที่ Bitcoin ยังคงเป็น Base Layer ที่ประทับเวลา จัดลำดับ และตั้งราคาการโต้ตอบผ่านตลาดค่าธรรมเนียมที่มีอยู่ ในการออกแบบของ OpNet ตรรกะของสัญญาจะถูกประเมินโดย VM ที่เน้น Wasm (OP-VM) ในขณะที่ Node Stack ที่กว้างกว่านั้นถูกสร้างขึ้นเพื่อจัดการและดำเนินการสัญญาอัจฉริยะโดยใช้ธุรกรรม Bitcoin และกลไก UTXO ที่มีอยู่

ที่สำคัญ นี่ไม่ได้มาพร้อมกับสินทรัพย์ค่าธรรมเนียมใหม่ Bitcoin ไม่จำเป็นต้องวัดค่าการประมวลผลเพื่อเป็นสกุลเงินค่าธรรมเนียม แต่ต้องเป็น Settlement Layer สุดท้ายที่ทุกอย่างต้องจ่ายและยึดติด

การเรียกสัญญาที่ชำระด้วย BTC จะมีลักษณะอย่างไร

โมเดลการโต้ตอบของเราเป็นไปตามกระบวนการจำลองก่อนแล้วจึงใช้ (simulate-then-spend) แทนที่จะเป็นรูปแบบการประมวลผลสัญญาอัจฉริยะแบบทั่วไป โดยขั้นตอนการประมวลผลสุดท้ายจะเกิดขึ้นเป็นธุรกรรม Bitcoin จริง ก่อนอื่น แอปของคุณจะเรียกเมธอดสัญญาในโหมดจำลอง คำขอนั้นจะส่งผ่าน Provider ไปยัง OpNet Node ซึ่งจะประมวลผลสัญญาใน VM ของมันและส่งคืน CallResult (รวมถึงการประมาณการค่าแก๊ส/ค่าธรรมเนียม) โดยไม่ต้องกระจายข้อมูลใดๆ ไปยัง Bitcoin

หากการเรียกนั้นเปลี่ยนแปลงสถานะ คุณจะนำ CallResult นั้นไปใช้เป็นการประมวลผล ณ จุดนี้ ไลบรารีจะสร้างธุรกรรม Bitcoin ลงนาม และกระจายข้อมูลไปยังเครือข่าย Bitcoin มีสองประเด็นที่ควรจำ:

  • ค่าธรรมเนียมผู้ขุดเป็น Native ของ Bitcoin: คุณเลือก feeRate ในหน่วย sat/vB และอาจเพิ่ม priorityFee ในหน่วย sats และกำหนดเพดานการใช้จ่ายค่าธรรมเนียมสูงสุดผ่าน maximumAllowedSatToSpend (พารามิเตอร์นี้มีชื่อว่า maximumAllowedSatToSpend จริงๆ)
  • เป้าหมายของสัญญาจะแสดงเป็นที่อยู่แบบ P2OP: อินสแตนซ์สัญญาจะเปิดเผยรูปแบบที่อยู่ p2op และธุรกรรมจะอ้างอิง "p2op contract address" เป็นปลายทางของสัญญา

ในขณะเดียวกัน OpNet ยังคงมีระบบวัดค่าการประมวลผลของตัวเอง แต่มันถูกตั้งราคาเป็น satoshis (เช่น SATS Gas โดยประมาณ, การคืนเงินเป็น SATS) ดังนั้นหน่วยจึงไม่หลุดเข้าไปในระบบเศรษฐกิจโทเค็นที่แยกต่างหาก

ความเสียดทานน้อยลง แรงจูงใจที่ชัดเจนขึ้น

ผู้ใช้ไม่จำเป็นต้องยอมรับระบบเศรษฐกิจค่าธรรมเนียมที่สองเพียงเพื่อโต้ตอบกับแอปพลิเคชัน บน Bitcoin ค่าธรรมเนียมเป็นเพียงการประมูลพื้นที่บล็อก ซึ่งคิดราคาต่อไบต์และจ่ายให้กับผู้ขุด เมื่อการเรียกสัญญาเป็นเพียงธุรกรรม Bitcoin คุณก็กลับสู่พื้นที่ที่คุ้นเคย (ด้วยค่าธรรมเนียม sat/vB, การหมุนเวียนใน mempool และแรงจูงใจของผู้ขุด) โดยไม่ต้องเรียนรู้ตลาดโทเค็นค่าธรรมเนียมที่แยกต่างหาก

นอกจากนี้ เครื่องมือยังคงใช้เวิร์กโฟลว์ Bitcoin มาตรฐาน เช่น การจัดการ UTXO การเชื่อมต่อ Provider และแม้กระทั่งการลงนามแบบออฟไลน์/เก็บใน Cold Storage สัญญาจะอยู่ใน Wasm Runtime และเขียนด้วย AssemblyScript โดยมีเป้าหมายเพื่อให้มีความสามารถในการแสดงออกคล้าย Solidity โดยไม่ต้องอ้างว่า Bitcoin Script กลายเป็น VM ไปเสียเอง

Bitcoin ในฐานะ Gas โดยไม่มีโทเค็นที่สอง

ข้ออ้างที่ว่า BTC ไม่สามารถทำหน้าที่เป็น Gas ได้ มักจะตั้งอยู่บนสมมติฐานที่ว่า Base Layer ต้องวัดค่าการประมวลผลเพื่อตั้งราคา Bitcoin ไม่ได้วัดค่าการประมวลผล แต่จะวัดพื้นที่บล็อกและชำระหนี้มูลค่า

วิธีแก้ปัญหาคือ การให้ Virtual Machine จัดการการประมวลผลอย่างแม่นยำ และจากนั้นส่งต่อการโต้ตอบที่เปลี่ยนแปลงสถานะทุกครั้งผ่านธุรกรรม Bitcoin มาตรฐาน โดยค่าธรรมเนียมจะแสดงในหน่วยที่คุ้นเคย เช่น sat/vB และจำกัดเป็น satoshis ในกรณีของเรา สิ่งนี้จะถูกนำไปใช้ในระดับ Client ผ่านพารามิเตอร์ต่างๆ เช่น feeRate และ maximumAllowedSatToSpend

ดังนั้น บางที BTC-as-gas อาจเป็นไปได้จริง ค่าธรรมเนียมยังคงเป็น Native ของ BTC ตั้งแต่ต้นจนจบ ในขณะที่ Contract Runtime ยังคงอยู่บน WebAssembly (AssemblyScript → Wasm) ซึ่งช่วยให้ตรรกะมีความสามารถในการแสดงออกโดยไม่ต้องเปลี่ยนแปลงสกุลเงินค่าธรรมเนียม


ข้อมูลนี้ในเว็บไซต์นี้ไม่ใช่คำแนะนำการลงทุน การลงทุนมีความเสี่ยง ผู้ลงทุนควรทำความเข้าใจลักษณะสินค้า เงื่อนไขผลตอบแทน และความเสี่ยง ก่อนตัดสินใจ ลงทุน