ข้อความเครือข่าย Cryptoeconomic แบบเลเยอร์เครือข่าย Cryptoeconomic แบบเลเยอร์
. จุดเริ่มต้นดังกล่าวนำมาซึ่งแนวคิดการออกแบบที่แตกต่าง:
หากเราเชื่อว่าการเลเยอร์เป็นทิศทางการพัฒนาในอนาคต เราควรพิจารณาความต้องการของโปรโตคอลชั้นบนและเครือข่ายแบบเลเยอร์ตั้งแต่เริ่มต้น และออกแบบโปรโตคอลบล็อกเชนภายในเฟรมเวิร์กแบบเลเยอร์กล่าวอีกนัยหนึ่ง จากมุมมองแบบเลเยอร์ การออกแบบบล็อกเชนที่มีอยู่นั้นล้าสมัย บล็อกเชนที่มีอยู่ได้รับการออกแบบโดยคำนึงถึงฟังก์ชันเฉพาะ (เช่น การชำระเงิน หรือการเรียกใช้ DApps) และหวังว่าหลังจากดำเนินการไประยะหนึ่ง โปรโตคอลชั้นบนจะปรับให้เข้ากับตัวมันเอง อย่างไรก็ตาม หากเราอ่านประวัติศาสตร์ของอินเทอร์เน็ต เราจะรู้ว่าโปรโตคอลเลเยอร์ของอินเทอร์เน็ตในปัจจุบันไม่ได้ถูกแพตช์ด้วยวิธีนี้ แต่หลังจากซึมซับประสบการณ์ที่ผ่านมาออกแบบใหม่ตามแนวคิดของการแบ่งชั้น
ชื่อเรื่องรอง
Layer 1 vs. Layer 2
ข้อความ
ในการหาว่าเลเยอร์ 1 ควรทำอะไร เราต้องเข้าใจความแตกต่างระหว่างมันกับโปรโตคอลเลเยอร์บนก่อน เลเยอร์ 2 เกิดขึ้นจากการที่เราพบว่าประสิทธิภาพของ public chain (ในที่นี้หมายถึง Permissionless Blockchain) ไม่เพียงพอ และเป็นการยากที่จะขยายเพื่อตอบสนองความต้องการของเศรษฐกิจการเข้ารหัสทั้งหมด เลเยอร์ 2 ค่อย ๆ พัฒนาอย่างช้า ๆ โปรโตคอลที่สามารถป้องกันได้ด้วยบล็อคเชน เช่น Payment Channel, Plasma เป็นต้นคุณลักษณะทั่วไปของโปรโตคอลเหล่านี้คือการเสียสละช่วงฉันทามติเพื่อแลกกับประสิทธิภาพ สิ่งที่น่าทึ่งที่สุดเกี่ยวกับเครือข่ายสาธารณะคือการให้บริการอย่างต่อเนื่องครอบคลุมทั่วโลกผ่านเครือข่ายแบบเปิด ซึ่งหมายถึงฉันทามติทั่วโลกและประสิทธิภาพต่ำ วิธีที่ดีที่สุดในการแก้ปัญหานี้คือการถ่ายโอนธุรกรรมส่วนใหญ่ไปยังโปรโตคอลชั้นบนที่มีขอบเขตฉันทามติที่เล็กกว่าแต่มีประสิทธิภาพดีกว่า และเพื่อให้มั่นใจว่าผู้เข้าร่วมในโปรโตคอลชั้นบนสามารถทำได้ตลอดเวลาเมื่อไม่พอใจให้กลับไปที่ blockchain เพื่อแก้ปัญหา
ดังนั้น ในฐานะบล็อกเชน Layer 1 โฟกัสไม่ควรเน้นไปที่ประสิทธิภาพอย่างชัดเจน เพราะ Layer 2 จะรับผิดชอบในส่วนนี้ เลเยอร์ 1 เป็นด่านสุดท้ายของการป้องกันเพื่อปกป้องผู้เข้าร่วมโปรโตคอลชั้นบน และควรเน้นที่ความปลอดภัยและการกระจายอำนาจ (ความปลอดภัยและการกระจายอำนาจเป็นสองสิ่ง และเราจะขยายเมื่อเรามีเวลา) หากเราสังเกตโหมดของการทำงานร่วมกันของโปรโตคอลเลเยอร์ 2 กับเลเยอร์ 1 เราจะพบว่าเลเยอร์ 1 รับผิดชอบฉันทามติของรัฐ (การจัดเก็บ) และเลเยอร์ 2 รับผิดชอบการสร้างสถานะ (การคำนวณ)
ชื่อเรื่องรอง
การคำนวณและสถานะมีสูตรที่แพร่หลายในโลกของโปรแกรมเมอร์:โปรแกรม = อัลกอริทึม + โครงสร้างข้อมูล
. สมการนี้ชี้ให้เห็นข้อกังวลหลักสองประการของการเขียนโปรแกรม การคำนวณ (อัลกอริทึม ขั้นตอนของการคำนวณ) และข้อมูล (วัตถุของการคำนวณ) ข้อมูลสามารถแบ่งออกเป็นสองประเภท โปรแกรมอินพุต (ข้อมูลภายนอก) และสถานะ (ข้อมูลภายใน)คำว่า "สถานะ" ในวิทยาการคอมพิวเตอร์สามารถเข้าใจได้ว่าเป็นข้อมูลทั้งหมดที่สามารถเข้าถึงได้ในช่วงเวลาหนึ่งเมื่อโปรแกรมกำลังทำงาน มีตัวแปรอยู่ในโปรแกรม และตัวแปรมักจะแสดงถึงตำแหน่งในหน่วยความจำที่สามารถเก็บข้อมูลได้ และเนื้อหาของตำแหน่งนี้คือสถานะของโปรแกรม ผลลัพธ์ของโปรแกรมขึ้นอยู่กับอินพุตและสถานะของมันเมื่อเริ่มดำเนินการ การคำนวณ (CPU) อินพุต/เอาต์พุต (IO) และสถานะ (หน่วยความจำ) เสร็จสมบูรณ์ซึ่งเป็นสถาปัตยกรรมคอมพิวเตอร์ที่ได้รับความนิยมสูงสุดในปัจจุบัน
ชื่อเรื่องรอง
ยกตัวอย่างช่องทางการชำระเงิน
ในช่องทางการชำระเงิน ขอบเขตฉันทามติของเลเยอร์ 2 จะจำกัดให้เหลือระหว่างคนสองคน ซึ่งเป็นฉันทามติขั้นต่ำ คนสองคนที่เข้าร่วมในช่องดำเนินการดังต่อไปนี้:
1. ส่งธุรกรรมไปที่เลเยอร์ 1 เพื่อสร้างแชนเนล ล็อกสถานะเฉพาะ และสถานะล็อกสามารถอัปเดตได้ด้วยลายเซ็นของทั้งอลิซและบ็อบเท่านั้น
ก. ตัวอย่างเช่น Alice ล็อก 1 BTC, Bob ล็อก 1 BTC เราใช้ (1, 1) เพื่อแสดงสถานะล็อกใน Layer 1
2. ทั้งสองฝ่ายสร้างและแลกเปลี่ยนสถานะใหม่ผ่านการเชื่อมต่อเครือข่ายนอกเครือข่าย (เลเยอร์ 2) และลงนามในลายเซ็นของตน
b.Bob → Alice 0.1 BTC,a. Alice → Bob 0.5 BTC สถานะใหม่ที่ Alice/Bob บันทึกไว้ในเครื่องคือ (0.5, 1.5)
สถานะใหม่ที่บันทึกไว้ในเครื่องโดย Alice/Bob คือ (0.6, 1.4)c.…
d. หลังจากการแลกเปลี่ยนครั้งล่าสุด สถานะใหม่ที่ Alice/Bob บันทึกไว้ในเครื่องคือ (0.2, 1.8) และทั้งสองฝ่ายลงนามในสถานะ
3. ส่งสถานะสุดท้ายไปยังเลเยอร์ 1 เลเยอร์ 1 ตรวจสอบว่าสถานะสุดท้ายที่ส่งมีลายเซ็นของอลิซ/บ็อบ อัปเดตสถานะล็อคเป็น (0.2, 1.8) และปลดล็อค
จากตัวอย่างนี้ เราจะเห็นได้ง่ายว่าในกระบวนการทั้งหมด การคำนวณที่เรามักจะพูดถึงนั้นแบ่งออกเป็นสองส่วน: การสร้างสถานะใหม่ และการตรวจสอบสถานะใหม่ สิ่งแรกเกิดขึ้นที่เลเยอร์ 2 ในขณะที่สิ่งหลังเกิดขึ้นที่เลเยอร์ 1 หากเราสังเกตโปรโตคอลเลเยอร์ 2 อื่นๆ เช่น Plasma หรือ TrueBit ก็จะสามารถสรุปผลที่คล้ายกันได้อย่างง่ายดาย เพียงเพราะ Layer 1 จะตรวจสอบสถานะที่สร้างโดย Layer 2 เราจึงสามารถรับประกันความปลอดภัยของ Layer 2 ถึง Layer 1 ได้ เนื่องจากเมื่อผู้ใช้ Layer 2 พบปัญหา พวกเขาสามารถขอให้ Layer 1 ทำการตรวจสอบรูปแบบใดรูปแบบหนึ่งได้เสมอ (นี่คือเหตุผลว่าทำไม เลเยอร์ 1 สามารถถือเป็น "ศาลเข้ารหัส" เนื่องจากเป็น "ศาล" ที่สามารถรับรู้หลักฐานการเข้ารหัส)
โปรแกรมใดๆ ก็มีการคำนวณและสถานะ และโปรแกรม (DApp) ที่ทำงานบน blockchain ก็เช่นกัน เมื่อสร้างแอปพลิเคชันบนสถาปัตยกรรมแบบเลเยอร์ จำเป็นต้องพิจารณาว่าจะสร้างสถานะที่ใด ตรวจสอบสถานะที่ใด และที่ใด บันทึกรัฐ เนื่องจากการแยกการสร้างสถานะและการยืนยัน วิธีการสร้างสถานะสามารถแยกออกจากการตรวจสอบได้ และการสร้างสถานะไม่จำเป็นต้องผูกพันกับโมเดลการเขียนโปรแกรมเลเยอร์ 1 ซึ่งมีระดับอิสระมากกว่า ตราบเท่าที่สามารถผ่านการตรวจสอบเลเยอร์ 1 ได้ การสร้างสถานะสามารถรวมศูนย์ได้ (อันที่จริง มีโอเปอเรเตอร์เพียงตัวเดียวในโปรโตคอลพลาสมาส่วนใหญ่!)
ชื่อเรื่องรอง
สิ่งที่เลเยอร์ 1 ควรทำอย่างไร
เมื่อเราพูดว่า "การคำนวณ" เรากำลังพูดถึง "การสร้างสถานะ" ในรูปแบบการคำนวณทั่วไป ไม่มีปัญหาความน่าเชื่อถือและความปลอดภัย (CPU ของฉันจะไม่โกหกฉันด้วยผลลัพธ์ที่ผิดพลาด) ดังนั้นจึงเป็นการดีที่จะสร้างโดยไม่คำนึงถึงการตรวจสอบ แต่ในเครือข่ายบล็อกเชน เราไม่เพียงต้องสร้าง แต่ยังต้องมีการรับรองความถูกต้อง จุดเน้นของเลเยอร์ 1 ควรเป็นการตรวจสอบและจัดเก็บสถานะ ไม่ใช่การสร้างสถานะ (หวังว่าคุณจะไม่สับสน...)
จากนี้เราสามารถอนุมานได้ว่า Layer 1 ควรทำอะไร:
1. จำเป็นต้องมีโปรโตคอลฉันทามติที่ปลอดภัย และยิ่งมีขอบเขตมากเท่าไหร่ก็ยิ่งดีเท่านั้น ฉันทามตินากาโมโตะที่ใช้ PoW เป็นเพียงโปรโตคอลดังกล่าว ซึ่งเป็นฉันทามติระดับโลกเพียงรายการเดียวที่ได้รับการตรวจสอบในสภาพแวดล้อมจริง
2. จำเป็นต้องมีความสามารถในการตั้งโปรแกรมเพื่อรองรับลอจิกการตรวจสอบสถานะต่างๆ ซึ่งหมายความว่าเราต้องการโมเดลการเขียนโปรแกรมที่ทรงพลัง (โมเดลสถานะ + เครื่องเสมือน)
3. จำเป็นต้องเข้าใจการพิสูจน์การเข้ารหัสต่างๆ เนื่องจากโปรโตคอลบล็อกเชนอิงตามการเข้ารหัสและการพิสูจน์ที่ส่งผ่านระหว่างเลเยอร์ 1 และเลเยอร์ 2 เป็นหลักฐานการเข้ารหัส
4. สถานะต้องได้รับการจัดการอย่างดี เนื่องจากสถานะที่ตรวจสอบแล้วจะยังคงอยู่บนเลเยอร์ 1 ซึ่งหมายความว่าเราต้องการรูปแบบเศรษฐกิจที่เน้นรัฐเป็นหลักhttps://talk.nervos.org/t/layer-1/1486
