ชื่อเรื่องรอง
เครือข่ายที่รู้จักกันดีเช่น Ethereum, EOS และ Solana ต่างก็ใช้รูปแบบบัญชี และอาจกล่าวได้ว่ามากกว่า 90% ของโครงการใช้รูปแบบบัญชี ในขณะที่มีเพียงบางโครงการที่ล้าสมัยเท่านั้นที่ใช้รูปแบบ UTXO เช่น เช่น BTC, DOGE , LTC และแน่นอนว่าบางโครงการที่ใหม่กว่าก็ใช้รูปแบบนี้เช่นกัน เช่น FUEL โดยใช้รูปแบบ OP ในเลเยอร์ 2
ชื่อเรื่องรอง
2. รูปแบบบัญชีคืออะไร
เพื่อให้เข้าใจง่ายๆ ระบบบัญชีธนาคาร เช่น การโอนเงินระหว่างธนาคาร, Alipay, การโอนเงินผ่าน WeChat ฯลฯ ล้วนเป็นของรูปแบบบัญชี ให้ฉันให้เกาลัด:
ถ้า A มี 100 และ B มี 100
ในเวลานี้ A โอนเงิน 50 หยวนให้ B
A -50 ,B + 50
การเป็นตัวแทนในระบบคือ
A 50 , B 150
ดังนั้นความสมดุลของพวกเขา
นี่คือการโอน
สมมติว่า A ยังมีเงินอยู่ 100 และเขาต้องการโอนเงิน 1 หยวนไปยังบัญชีใหม่ 100 บัญชี
ในเวลานี้ A ต้องโอนเงิน 1 หยวนให้กับ 100 คนในเวลาเดียวกัน
การทำธุรกรรมครั้งที่ 1
A -1 บุคคลที่ 1 + 1
ดังนั้นความสมดุลของพวกเขา
A 99 , คนที่ 1 1
ปากกาด้ามที่ 2
A -1 คนที่ 2 + 1
ดังนั้นความสมดุลของพวกเขา
เอ 98 บุคคลที่ 2 1
ปากกาด้ามที่ 3
A -1 บุคคลที่ 3 + 1
ดังนั้นความสมดุลของพวกเขา
A 97 บุคคลที่ 3 1
......
และอื่น ๆ
คนที่ 100
A -1 คนที่ 100 + 1
ดังนั้นความสมดุลของพวกเขา
A 0 คนที่ 100 1
ในทางทฤษฎี เมื่อจำนวนธุรกรรมเพิ่มขึ้น การดำเนินการก็ต้องใช้เวลามากขึ้น
ชื่อเรื่องรอง
3. รุ่น UTXO คืออะไร
แบรนด์กระแสหลักเก่าแก่หลายแบรนด์ใช้ UTXO และบรรพบุรุษของแวดวงนี้ Bitcoin ก็ใช้โมเดล UTXO เช่นกัน อย่างไรก็ตาม สกุลเงินดิจิทัลทางกฎหมาย DCEP ที่ออกโดยประเทศของเราก็อิงตามโมเดล UTXO ด้วยเช่นกัน ดังนั้นโมเดลนี้ ต้องมีบางอย่างที่เป็นเอกลักษณ์เกี่ยวกับเรื่องนี้
ชื่อเต็มของ UTXO คือ Unspent Transaction Output ซึ่งแปลว่า "ผลลัพธ์ของธุรกรรมที่ยังไม่ได้ใช้จ่าย" พูดง่ายๆ ก็คือ โมเดลของมันคล้ายกับระบบเงินสดในชีวิตประจำวัน ตัวอย่างเช่น
A มีกระเป๋าเงิน (กระเป๋าเงินในความเป็นจริง) ซึ่งมีสกุลเงิน 1 หยวน สกุลเงิน 10 หยวน และสกุลเงิน 100 หยวน
A ต้องการให้ B, C และ D คนละ 1 หยวน
ตอบ มีสามวิธี
วิธีแรก: นำเงินมูลค่า 1 หยวนออกให้ B
วิธีที่สอง: นำมูลค่าที่ตราไว้ 10 หยวนไปที่ C รับคืน 9 หยวน
วิธีที่สาม: นำมูลค่าที่ตราไว้ 100 หยวนไปที่ D รับคืน 99 หยวน
ทั้งสามวิธีนี้สามารถทำธุรกรรมให้เสร็จสมบูรณ์ได้
ย้อนกลับไปที่ chain ลองนึกภาพว่ามูลค่าของเงินทุกบาทที่นี่คือ UTXO บน chain โดยเฉพาะอย่างยิ่ง UTXO ในกระบวนการใช้งานจะไม่ถูกถ่ายโอนแต่จะถูกทำลายและสร้างใหม่อย่างต่อเนื่อง ตัวอย่างเช่น:
A ใช้วิธีที่สองในการโอนเงินให้ C UTXO ที่มีมูลค่า 10 หยวนจะถูกทำลาย และระบบจะพิมพ์ UTXO ที่มีมูลค่า 1 หยวนอีกครั้ง และ UTXO ที่มีมูลค่า 9 หยวน .
วิธีที่สามก็เช่นเดียวกัน เมื่อเงิน 100 หยวนถูกทำลาย จะมีการพิมพ์ UTXO ที่มีมูลค่าตามหน้าบัตร 1 หยวน และ UTXO ที่มีมูลค่าตามหน้าบัตร 99 หยวน และมอบ 1 หยวนให้กับ D และ 99 หยวน ถูกส่งกลับไปยัง A
นี่คือข้อแตกต่างระหว่างวิธีโอน UTXO และรูปแบบบัญชี ยิ่งไปกว่านั้น สามารถโอนรูปแบบ UTXO แบบคู่ขนานได้ เนื่องจากยอดคงเหลือมีอยู่ผ่าน UTXO แบบกระจายอำนาจ แต่ละสกุลเงินจึงสามารถโอนไปยังบุคคลอื่นได้ในเวลาเดียวกัน ทั้งสามวิธีข้างต้น สามารถทำธุรกรรมให้เสร็จสมบูรณ์ได้ในเวลาเดียวกัน เนื่องจากจะไม่มีปัญหาเรื่องความสอดคล้องของบัญชี และ UTXO แต่ละรายการจะคำนวณแยกจากกัน
เรากำลังเปรียบเทียบรูปแบบบัญชีข้างต้น ธุรกรรมแต่ละรายการต้องขึ้นอยู่กับความสมบูรณ์ของธุรกรรมก่อนหน้า สามารถจินตนาการถึงช่องว่างด้านประสิทธิภาพได้ ด้วยวิธีนี้ เราจึงเข้าใจได้ว่าทำไมสกุลเงินดิจิทัลของธนาคารกลางจึงใช้รูปแบบ UTXO มิฉะนั้น เซินเจิ้นจะส่งเงินดิจิทัล 10 ล้านหยวนไปยังกระเป๋าเงิน 50,000 ใบได้อย่างไร
กลับไปที่ตัวอย่างด้านบน:
A มี 100 และเขาต้องการโอน 1 หยวนไปยังบัญชีใหม่ 100 บัญชี
UTXO ที่มีมูลค่าที่ตราไว้ 100 สามารถแยกออกเป็น 100 UTXO ที่มีมูลค่าที่ตราไว้ 1 หยวน จากนั้นแจกจ่ายโดยตรงไปยัง 100 คนในธุรกรรมเดียว ซึ่งเสร็จสิ้นทันที
หากคุณต้องการทราบว่ามีเงินเท่าใดในที่อยู่กระเป๋าเงินนี้ คุณต้องนับจำนวนยอดคงเหลือ UTXO ที่มีอยู่และสรุปผลรวม
ชื่อเรื่องรอง
4. ข้อดีและข้อเสียของรูปแบบบัญชีและ UTXO
ข้อดีของรูปแบบบัญชี:
สัญญาถูกเก็บไว้ในบัญชีในรูปแบบของรหัส และบัญชีมีสถานะของตัวเอง โมเดลนี้มีความสามารถในการโปรแกรมที่ดีกว่า นักพัฒนาสามารถเข้าใจได้ง่ายกว่า และมีสถานการณ์ที่หลากหลายกว่า
การทำธุรกรรมแบบแบทช์มีราคาไม่แพง ลองนึกภาพว่ากลุ่มการขุดจะจ่ายค่าธรรมเนียมให้กับนักขุด ใน UTXO เนื่องจากแต่ละอินพุตและเอาท์ต้องใช้สคริปต์ Witness หรือสคริปต์การล็อกแยกกัน ดังนั้น ธุรกรรมจะมีขนาดใหญ่มากและการตรวจสอบลายเซ็นและการจัดเก็บธุรกรรมจะใช้ทรัพยากรที่มีค่าในห่วงโซ่ รูปแบบบัญชีสามารถลดต้นทุนได้อย่างมากผ่านสัญญา
ข้อเสียของรูปแบบบัญชี:
ไม่มีการขึ้นต่อกันระหว่างธุรกรรมรูปแบบบัญชี และปัญหาการเล่นซ้ำจำเป็นต้องได้รับการแก้ไข Ethereum แก้ปัญหานี้ได้อย่างไร เรารู้ว่า Ethereum ใช้วิธีการค่า Nonce ที่ไม่ซ้ำกัน มีฟิลด์ Nonce ในแต่ละธุรกรรม Tx สำหรับผู้ใช้แต่ละราย Nonce นี้ไม่สามารถทำซ้ำได้ดังนั้นจึงหลีกเลี่ยงการโจมตีซ้ำ
เพื่อให้ใช้งาน Lightning Network/Raiden Network, Plasma และอื่นๆ ได้ ผู้ใช้จำเป็นต้องมีกลไกการพิสูจน์หลักฐานที่ซับซ้อนมากขึ้นสำหรับการพิสูจน์ และจำเป็นต้องมีโปรโตคอลที่ซับซ้อนมากขึ้นสำหรับการย้ายสถานะจากซับเชนไปยังเชนหลัก
ข้อดีของ UTXO:
การคำนวณเป็นแบบออฟไลน์ และธุรกรรมเองก็เป็นทั้งผลลัพธ์และข้อพิสูจน์ โหนดจำเป็นต้องทำการยืนยันเท่านั้น ไม่จำเป็นต้องมีการคำนวณเพิ่มเติมสำหรับการทำธุรกรรม และไม่จำเป็นต้องมีการจัดเก็บสถานะเพิ่มเติม การคำนวณเอาต์พุต UTXO ของธุรกรรมนั้นเสร็จสมบูรณ์ในกระเป๋าเงิน เพื่อให้ภาระการคำนวณของธุรกรรมตกเป็นภาระของกระเป๋าเงินอย่างสมบูรณ์ ซึ่งช่วยลดภาระของห่วงโซ่ได้ในระดับหนึ่ง
ยกเว้นการทำธุรกรรมของ Coinbase การป้อนข้อมูลของธุรกรรมจะถูกเชื่อมโยงหลัง UTXO เสมอ ธุรกรรมไม่สามารถเล่นซ้ำได้ และลำดับและการอ้างอิงของธุรกรรมนั้นง่ายต่อการตรวจสอบ และยังง่ายต่อการพิสูจน์ว่ามีการใช้ธุรกรรมหรือไม่
โมเดล UTXO นั้นไร้สถานะและง่ายต่อการประมวลผลพร้อมกัน
สำหรับธุรกรรมประเภท P 2 SH มีความเป็นส่วนตัวดีกว่า การป้อนข้อมูลในการทำธุรกรรมไม่เกี่ยวข้องกัน และเทคโนโลยีเช่น CoinJoin สามารถใช้เพื่อเพิ่มระดับความเป็นส่วนตัวได้
ข้อเสียของ UTXO:
เมื่อมีอินพุตมากขึ้น จำนวนสคริปต์พยานก็จะเพิ่มขึ้นด้วย ลายเซ็นนั้นใช้ CPU และพื้นที่เก็บข้อมูลมากขึ้น
ชื่อเรื่องรอง
5. อะไรคือความแตกต่างโดยสังเขประหว่างรูปแบบบัญชีและ UTXO
ยอดเงินในบัญชี
รูปแบบบัญชี: คุณสามารถดูจำนวนเงินที่อยู่ภายใต้บัญชีด้วยวิธีที่ง่ายและชัดเจน
รุ่น UTXO: นับจำนวน UTXO ภายใต้แอดเดรส และผลลัพธ์ของการสรุปคือยอดคงเหลือ
เมื่อจำนวนธุรกรรมเพิ่มขึ้นแบบทวีคูณ
รูปแบบบัญชี: มันจะยากขึ้นเรื่อยๆ
รุ่น UTXO: รองรับการทำงานพร้อมกันสูงโดยธรรมชาติ
จากมุมมองของสัญญาอัจฉริยะ/นักพัฒนา
รูปแบบบัญชีสอดคล้องกับนิสัยตรรกะของนักพัฒนา และค่อนข้างง่ายในการเขียนตรรกะ
