BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

ทำความเข้าใจกับ Lightning Network --- สร้างช่องทางการชำระเงินแบบสองทิศทางสำหรับ Bitcoin

以太坊爱好者
特邀专栏作者
บทความนี้มีประมาณ 3896 คำ การอ่านทั้งหมดใช้เวลาประมาณ 6 นาที
ทำรายการโมดูลที่จำเป็นและแสดงวิธีการรวมเข้าด้วยกันเพื่อสร้าง "สัญญาอัจฉริยะ"
สรุปโดย AI
ทำรายการโมดูลที่จำเป็นและแสดงวิธีการรวมเข้าด้วยกันเพื่อสร้าง "สัญญาอัจฉริยะ"

ชื่อเดิม: "วิทยาศาสตร์ยอดนิยม | ทำความเข้าใจกับ Lightning Network, ตอนที่ 1: การสร้างช่องทางการชำระเงินแบบสองทิศทางสำหรับ Bitcoin" ผู้เขียน AARON VAN WIRDUM

Lightning Network น่าจะเป็นนวัตกรรมที่ได้รับการคาดหวังมากที่สุดใน Bitcoin blockchain (หมายเหตุบรรณาธิการ: เขียนครั้งแรกในปี 2559) รูปแบบการชำระเงินนี้ถูกเสนอครั้งแรกโดย Joseph Poon และ Tadge Dryja เมื่อกว่า 1 ปีที่แล้ว โดยอ้างว่าจะสนับสนุนผู้ใช้ในการส่งธุรกรรมไม่จำกัดภายใต้ห่วงโซ่และค่าใช้จ่ายก็ต่ำมาก – นอกจากนี้ยังสามารถยืมความปลอดภัยจากเครือข่าย Bitcoin ได้อีกด้วย

บริษัทอย่างน้อยสามแห่ง ได้แก่ Lightning, Blockstream และ Blockchain ของ Poon และ Dryja กำลังพัฒนาการใช้งานเทคโนโลยีนี้ แต่มีเพียงไม่กี่คนที่อยู่นอกวงแคบของนักเทคโนโลยีที่เข้าใจว่า "อนาคตของ micropayments" สามารถปลดปล่อยศักยภาพของ bitcoin ได้อย่างไร

ในบทความชุดนี้ นิตยสาร Bitcoin พยายามระบุองค์ประกอบพื้นฐานที่สุดของ Lightning Network และแสดงให้เห็นว่าสิ่งเหล่านี้สามารถรวมกันเพื่อสร้าง Lightning Network ซึ่งเป็นโปรโตคอลที่กำลังจะมาถึงได้อย่างไร

บทความแรกในชุดนี้จะแสดงรายการโมดูลที่จำเป็นและแสดงวิธีการรวมเข้าด้วยกันเพื่อสร้าง "สัญญาอัจฉริยะ" ซึ่งเป็นแนวคิดที่สามารถใช้เพื่อทำความเข้าใจหลักการแรกของเครือข่าย Lightning: ช่องทางการชำระเงินแบบสองทิศทาง

(คำแนะนำ: ผู้อ่านที่คุ้นเคยกับ Bitcoin เป็นอย่างดีสามารถข้ามการแนะนำโมดูลเหล่านี้ได้)

โมดูล #1: ธุรกรรมที่ไม่ได้รับการยืนยัน

หัวใจของโปรโตคอล Bitcoin คือแนวคิดของสิ่งที่เรียกว่า "ธุรกรรม" โดยทั่วไป ธุรกรรมหนึ่งจะเชื่อมโยงกับธุรกรรมอื่นก่อนหน้าเสมอ และสามารถนำมาใช้ในธุรกรรมในอนาคตได้ ธุรกรรมแต่ละรายการประกอบด้วยอินพุตซึ่งชี้ไปยังที่อยู่ซึ่งโอนบิตคอยน์และเอาต์พุตซึ่งชี้ไปยังที่อยู่ที่ได้รับบิตคอยน์ นอกจากนี้ ในการส่งบิตคอยน์ ข้อมูลที่ป้อนจะต้องตรงตามเงื่อนไขบางประการ เช่น การให้ลายเซ็นดิจิทัลเพื่อพิสูจน์ว่าผู้ส่งมี "ความเป็นเจ้าของ" ของที่อยู่อินพุต ในเวลาเดียวกัน เอาต์พุตจะสร้างเงื่อนไขใหม่สำหรับ bitcoins เหล่านี้ที่จะใช้ในอนาคต ซึ่งจะต้องปฏิบัติตามเมื่อมีการออกธุรกรรมในภายหลัง

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

คำอธิบายภาพ

- (หมายเหตุผู้แปล: ดังที่แสดงในรูป Bitcoin สามารถแยกออกได้เหมือนเช็ค และการไหลเวียนของมันจะก่อตัวเป็นห่วงโซ่ที่ชัดเจน) -

โมดูล #2: การป้องกันการใช้จ่ายสองเท่า

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

ข้อควรจำ: แม้ว่าจะมีข้อขัดแย้งระหว่างธุรกรรมที่ไม่ได้รับการยืนยัน แต่จะมีเพียงรายการเดียวที่ได้รับการยืนยันในตอนท้าย

โมดูล #3: Multisig

โมดูลที่สามของ Lightning Network ก็เป็นที่เข้าใจกันดีเช่นกัน: ที่อยู่แบบหลายลายเซ็น (หรืออย่างกว้างกว่านั้น: ที่อยู่ P2SH (ที่อยู่สคริปต์แฮช))

ตามที่ชื่อแนะนำ ที่อยู่แบบหลายลายเซ็นคือที่อยู่ที่ต้องใช้คีย์ส่วนตัวหลายตัวเพื่อ "ปลดล็อก" และใช้บิตคอยน์ เงื่อนไขสำหรับที่อยู่หลายลายเซ็นสามารถตั้งค่าได้หลายวิธี ตัวอย่างเช่น อาจกำหนดให้คีย์ส่วนตัว 2 ใน 3 คีย์มีส่วนร่วมในการโอน bitcoins หรือข้อกำหนดด้านปริมาณอื่นๆ (เช่น 2/5, 3/4 เป็นต้น)

โดยทั่วไปแล้ว Lightning Network ใช้ข้อกำหนด 2-2 หลายลายเซ็น ในการโอนบิตคอยน์จากที่อยู่ดังกล่าว คุณต้องระบุสองลายเซ็นที่เกี่ยวข้องกับคีย์ส่วนตัวทั้งสองนี้ และอีกอันที่น้อยกว่าจะใช้ไม่ได้

โมดูล #4: การล็อกเวลา

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

การล็อกเวลามีอยู่สองประเภท: 1) การล็อกเวลาแบบสัมบูรณ์ เรียกว่า CheckLockTimeVerify (CLTV) 2) การล็อกเวลาแบบสัมพัทธ์ CheckSequenceVerify (CSV) CLTV ล็อกบิตคอยน์จนกว่าจะถึงวันที่แน่นอน (อาจเป็นไปได้) ในอนาคต: เวลาและวันที่ที่ระบุ หรือความสูงของบล็อกเฉพาะ ในขณะที่ CSV ใช้เฉพาะเวลาสัมพัทธ์เท่านั้น เมื่อเอาต์พุต CVS ถูกอัปโหลดไปยังเชน ต้องรอบล็อกจำนวนหนึ่งก่อนจึงจะสามารถใช้เอาต์พุตได้


โมดูล #5: แฮชและความลับ

โมดูลที่ห้าและสุดท้าย - การเข้ารหัส - ยังเป็นโมดูลพื้นฐานที่สุดของ Bitcoin อีกด้วย แต่ในเครือข่าย Lightning การใช้งานจะแตกต่างออกไป

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

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

ความท้าทายแรก: ช่องทางการชำระเงินสองทาง

ก่อนที่ Lightning Network จะมีแนวคิดของ "ช่องทางการชำระเงิน" อยู่แล้ว ช่องทางการชำระเงินมาตรฐานสร้างขึ้นตามวัตถุประสงค์ ดังนั้นจึงมีข้อจำกัด: เป็นช่องทางเดียว Alice สามารถเริ่มการชำระเงิน Dobby ให้กับ Bob นอกเครือข่ายได้ แต่ Bob ไม่สามารถใช้ช่องทางเดียวกันเพื่อชำระเงินให้กับ Alice ได้

คุณสมบัติที่สำคัญของ Lightning Network คือช่องทางการชำระเงินแบบสองทางที่ไม่น่าเชื่อถือซึ่งนำเสนอโดย Poon และ Dryja

ช่องเปิด

ในการสร้างช่องทางการชำระเงินแบบสองทาง ทั้งสองฝ่ายที่เกี่ยวข้องจะต้องบรรลุฉันทามติในการทำธุรกรรมเพื่อเปิดช่องทาง ธุรกรรมการเปิดนี้กำหนดจำนวนเงินที่แต่ละคนจะฝากในช่องทางนี้

สมมติว่าอลิซต้องการส่ง 1 btc ให้ Bob เนื่องจากทั้งคู่คาดว่าจะมีการแลกเปลี่ยนกันบ่อยครั้งในอนาคต พวกเขาจึงตัดสินใจเปิดช่องทางการชำระเงินแบบสองทาง (การส่ง 1 btc ในหนึ่งช่องอาจจะมากเกินไป เนื่องจากทุกช่องอาจมีประโยชน์มากกว่าสำหรับ micropayments - แต่ก็สามารถทำได้โดยสิ้นเชิง)

ในการเปิดช่อง อลิซและบ็อบต่างส่ง 5 btc ไปยังที่อยู่แบบหลายลายเซ็น 2-2 รายการ นี่คือ "รายการเปิดช่อง" เงินในที่อยู่นี้จะใช้ได้ต่อเมื่ออลิซและบ๊อบลงนามในธุรกรรมเดียวกันเท่านั้น

นอกจากนี้ ทั้ง Alice และ Bot ต่างก็สร้างค่าลับ (นั่นคือ สตริงของตัวเลข) แล้วแลกเปลี่ยนแฮช

ตอนนี้ Alice สร้างธุรกรรมที่ตามมาของธุรกรรมการเปิดช่อง และนี่คือ "ธุรกรรมที่มีข้อผูกมัด" ในธุรกรรมผูกมัดนี้ Alice ส่ง 4 btc ให้ตัวเอง และ 6 btc ไปยังที่อยู่แบบหลายลายเซ็นที่สอง ที่อยู่แบบหลายลายเซ็นนี้น่าสนใจกว่า: Bob สามารถปลดล็อกที่อยู่นี้คนเดียว แต่เดี๋ยวก่อน (ธุรกรรมของ Alice หลังจาก 1-00 บล็อค ในห่วงโซ่ Bob สามารถใช้เงินในนั้น (นี่คือการ ล็อคเวลาสัมพัทธ์ ) อลิซยังสามารถเปิดที่อยู่นี้เพียงอย่างเดียวโดยที่เธอมีค่าแฮชที่ตรงกับของขวัญที่ Bob มอบให้เธอ ค่าลับของ (แน่นอนว่าอลิซไม่รู้คุณค่าความลับนี้เลย—ทั้งหมดที่เธอมีคือค่าแฮชที่บ๊อบมอบให้เธอ—ดังนั้นจึงเป็นเพียงการดูถูกเท่านั้น) (หมายเหตุผู้แปล: นั่นคือ ที่อยู่หลายลายเซ็นที่สองนี้มีทั้งการล็อกเวลาและแฮชล็อก .)

อลิซลงนามในการทำธุรกรรมของเธอ แต่เธอจะไม่ถ่ายทอดการทำธุรกรรม! เธอจะส่งธุรกรรมให้ Bob แทน

ในเวลาเดียวกัน Bob ยังดำเนินการแบบสมมาตรอีกด้วย นอกจากนี้เขายังสร้างธุรกรรมที่มีข้อผูกมัด โดยส่ง 6 btc ให้ตัวเองและ 4 btc ไปยังที่อยู่แบบหลายลายเซ็นใหม่ อลิซสามารถปลดล็อกที่อยู่ได้โดยลำพังหลังจากรอ 1,000 บล็อก หรือ Bob สามารถปลดล็อกที่อยู่ด้วยค่าลับของอลิซ

Bob ลงนามในการทำธุรกรรมและส่งให้อลิซ

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

หลังจากเปิดช่องแล้ว ทั้งอลิซและบ็อบสามารถลงนามและเผยแพร่ธุรกรรมข้อผูกมัดที่ถูกต้องบางส่วนที่ได้รับจากท้องถิ่น หากอลิซออกอากาศ (บ็อบส่งธุรกรรมผูกมัดให้เธอ) บ็อบจะได้รับ 6 btc ทันที หาก Bod ออกอากาศ อลิซจะได้รับ 4 btc ทันที แต่อันที่ลงนามและถ่ายทอดการทำธุรกรรมต้องรอ 1,000 บล็อกเพื่อปลดล็อกที่อยู่หลายลายเซ็นที่ตามมาและนำ bitcoins ที่เหลือออกไป


อย่างไรก็ตาม นี่เป็นเคล็ดลับสำคัญของช่องทางการชำระเงิน: ไม่ลงนามและเผยแพร่ธุรกรรมข้อผูกมัดที่ได้รับ

(หมายเหตุผู้แปล: จุดประสงค์ของการโต้ตอบกับธุรกรรมข้อผูกมัดก่อนแล้วจึงแพร่ภาพธุรกรรมการเปิดช่องเพื่อหลีกเลี่ยงการฉ้อโกงจากฝ่ายตรงข้าม หลังจากได้รับธุรกรรมข้อผูกมัดแล้ว ไม่จำเป็นต้องออกอากาศ และรับประกันความปลอดภัยได้ด้วย )

อัพเดทช่อง

ต่อมา Bob ต้องการส่ง 1 btc กลับไปให้ Alice และพวกเขาต้องการอัปเดตสถานะของช่องนี้เพื่อให้กลับสู่สถานะ 5:5 เพื่อให้บรรลุเป้าหมายนี้ อลิซและบ็อบต้องทำสองสิ่ง

ก่อนอื่น ทั้งสองฝ่ายจะต้องผ่านขั้นตอนที่อธิบายไว้ข้างต้นอีกครั้ง (ยกเว้นในส่วนของการเปิดธุรกรรม เนื่องจากได้รับการบันทึกไว้ในห่วงโซ่) ครั้งนี้ทั้งอลิซและบ็อบกำหนด 5 btc ให้กันและกัน และทั้งคู่กำหนด 5 btc ให้กับที่อยู่แบบหลายลายเซ็นนั้น เงื่อนไขสำหรับที่อยู่แบบหลายลายเซ็นที่ตามมาเหล่านี้คล้ายกัน ยกเว้นว่าทั้งหมดจำเป็นต้องสร้างค่าลับใหม่: ทั้ง Alice และ Bob จัดเตรียมค่าแฮชใหม่ ทั้งคู่ลงนามในธุรกรรมข้อผูกมัดใหม่ของตนเองและส่งให้กันและกัน

ประการที่สอง ทั้งอลิซและบ็อบมอบค่าลับแรกให้กันและกัน (ค่าที่ใช้ในการทำธุรกรรมข้อผูกมัดครั้งแรก)

ณ จุดนี้ ทั้งอลิซและบ็อบสามารถลงนามและถ่ายทอดธุรกรรมข้อผูกมัดล่าสุดของพวกเขาได้ คู่ต่อสู้ของพวกเขาจะได้รับ 5 btc ทันที ในขณะที่การแพร่ภาพนั้นต้องรอ 1,000 บล็อค เช่นเดียวกับที่สถานะของช่องจะได้รับการอัปเดต

แต่อะไรที่ทำให้บ๊อบหยุดออกอากาศการทำธุรกรรมเก่าที่ผูกมัด? การทำธุรกรรมนั้นจะจัดสรรให้เขา 6 btc ซึ่งมากกว่า 5 btc...

แน่นอนว่าสิ่งที่ทำให้บ็อบหยุดไม่อยู่ก็คือค่าความลับแรกของเขา ซึ่งเขาได้มอบให้กับอลิซไปแล้ว

เนื่องจากในเวลานี้ Bob ไม่สามารถลงนามและเผยแพร่ธุรกรรมข้อผูกมัดที่เก่ากว่าได้อีกต่อไปตามที่เขาต้องการ เนื่องจาก Alice รู้ความลับประการแรกของ Bob แล้ว ถ้า Bob ลงนามและออกอากาศ (รายการที่ Alice มอบให้เขา) ในการทำธุรกรรมข้อผูกมัดที่เก่ากว่า เขาจะส่ง 4 btc ไปให้ Alice ทันที... และเขาจะต้องรอ 1,000 บล็อกเพื่ออ้างสิทธิ์ด้วยตัวเอง แต่ Alice รู้ความลับของเขาแล้ว คุ้มค่ามาก ดังนั้นเธอจึงสามารถใช้เวลานี้เพื่อถอน btc ที่เหลืออีก 6 btc ล่วงหน้า!

และเนื่องจากบ็อบก็มีค่าความลับของอลิซเช่นกัน สำหรับบ็อบก็เช่นกัน! หากอลิซต้องการลงนามและเผยแพร่ธุรกรรมข้อผูกมัดเก่า Bob สามารถขโมย btc ทั้งหมดที่เธอใส่ไว้ในช่องได้!

ซึ่งหมายความว่าอลิซและบ็อบต่างจัดระเบียบสิ่งจูงใจที่จะไม่เล่นกล แต่จะออกอากาศเฉพาะสถานะล่าสุดเท่านั้น

หลังจากมีช่องทางการชำระเงินแบบสองทางแล้ว เราต้องขยายให้เป็นเครือข่ายการชำระเงิน นี่คือหัวข้อของบทความที่สองของเรา

ขอบคุณ Rusty Russell และ Joseph Poon สำหรับข้อเสนอแนะที่ทุ่มเท


BTC
ETH
เครือข่ายฟ้าผ่า
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
คลังบทความของผู้เขียน
以太坊爱好者
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android