BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Tìm hiểu về Lightning Network: Xây dựng kênh thanh toán hai chiều của Bitcoin

Đọc bài viết này mất 23 phút
Lightning Network có lẽ là sự đổi mới được mong đợi nhất trên chuỗi khối Bitcoin.
Tiêu đề gốc: " HIỂU MẠNG LIGHTNING, PHẦN 1: XÂY DỰNG KÊNH THANH TOÁN BITCOIN HAI CHIỀU 》
Tác giả gốc: AARON VAN WIRDUM
Bản tổng hợp gốc: Ajian, người đam mê Ethereum


图片


Lightning Mạng có thể là sự đổi mới được mong đợi nhất trên chuỗi khối Bitcoin (Lưu ý của biên tập viên: Bài viết gốc được viết vào năm 2016). Kế hoạch thanh toán này lần đầu tiên được đề xuất bởi Joseph Poon và Tadge Dryja hơn một năm trước. Nó tuyên bố có thể hỗ trợ số lượng giao dịch không giới hạn giữa những người dùng được gửi ra khỏi chuỗi với chi phí rất thấp - và cũng có thể mượn sự bảo mật được cung cấp bởi Mạng bitcoin.


Ít nhất ba công ty - Lightning, Blockstream và Blockchain của Poon và Dryja - đang phát triển triển khai công nghệ này. Nhưng bên ngoài vòng tròn nhỏ các nhà công nghệ, ít người hiểu được “tương lai của các khoản thanh toán vi mô” có thể giải phóng tiềm năng của Bitcoin như thế nào.


Trong loạt bài viết này, Tạp chí Bitcoin cố gắng liệt kê các khối xây dựng cơ bản nhất của Lightning Network và chỉ ra cách những thứ này có thể được kết hợp để tạo thành Lightning Network sắp tới Mạng. thỏa thuận.

Bài viết đầu tiên trong loạt bài này sẽ liệt kê các mô-đun cần thiết và chỉ ra cách các mô-đun này có thể được kết hợp để tạo ra "hợp đồng thông minh"; khái niệm này có thể được sử dụng để hiểu tiền đề đầu tiên của Lightning Network: hai- cách thanh toán lối đi.

(Mẹo: Người đọc rất quen thuộc với Bitcoin có thể bỏ qua phần giới thiệu về các mô-đun này.)


Học phần số 1: Giao dịch chưa được xác nhận

h3>


Cốt lõi của giao thức Bitcoin là khái niệm về cái gọi là "giao dịch"; Nói chung, một giao dịch luôn liên quan đến một giao dịch khác trước đó và có thể được sử dụng trong các giao dịch trong tương lai. Mỗi giao dịch bao gồm đầu vào trỏ đến địa chỉ mà bitcoin được chuyển đi; và đầu ra trỏ đến địa chỉ nhận bitcoin. Ngoài ra, để gửi Bitcoin, đầu vào phải đáp ứng một số điều kiện nhất định, chẳng hạn như cung cấp chữ ký số để chứng minh rằng người gửi có “quyền sở hữu” địa chỉ đầu vào. Đồng thời, đầu ra cũng sẽ thiết lập các điều kiện mới cho việc sử dụng số Bitcoin này trong tương lai, những điều kiện này phải được đáp ứng khi  giao dịch tuần tự được phát hành.


(Lưu ý của người dịch: Hãy coi Bitcoin như một tấm séc có mệnh giá. Khi được sử dụng, tấm séc sẽ tự cung cấp nguồn tiền và sau khi sử dụng, nó sẽ hình thành tấm séc mới. Vì vậy, đối với mỗi séc, có một giao dịch hình thành nên séc, tức là giao dịch đặt hàng trước; và khi các séc này được chi tiêu lại, giao dịch đó có thể được gọi là giao dịch đặt hàng sau.)


Một tính năng chính của Lightning Network là nó được tạo thành từ các giao dịch Bitcoin ít nhiều thông thường. Tuy nhiên, các giao dịch này thường không lan truyền trong mạng Bitcoin. Thay vào đó, các giao dịch này được người dùng lưu cục bộ trên nút - tuy nhiên, chúng có thể được phổ biến trên mạng Bitcoin bất cứ lúc nào.


图片

-(Ghi chú của người dịch : Như trong hình, Bitcoin có thể được phân chia giống như một tấm séc và sự lưu thông của nó sẽ tạo thành một chuỗi rõ ràng.) -


Học phần #2: Loại bỏ nhiều khoản thanh toán ( Bảo vệ chi tiêu gấp đôi)


Mô-đun thứ hai mà Lightning Network yêu cầu có thể không cần thiết Quá nhiều để giải thích, vì nó được cho là lý do tồn tại của chính giao thức Bitcoin: một biện pháp bảo vệ chống lại nhiều khoản thanh toán. Nếu hai giao dịch (hoặc đầu vào) phụ thuộc vào cùng một đầu ra thì chỉ một trong số chúng sẽ được toàn bộ mạng xác nhận.


Hãy nhớ: Ngay cả khi có xung đột giữa các giao dịch chưa được xác nhận thì cuối cùng chỉ có một giao dịch được xác nhận.


图片


Mô-đun số 3: Nhiều Chữ ký (Multisig)


Mô-đun thứ ba của Lightning Network cũng dễ hiểu: multi- địa chỉ chữ ký. (Hoặc rộng hơn: Địa chỉ P2SH (địa chỉ băm tập lệnh).)


Như tên cho thấy, địa chỉ nhiều chữ ký yêu cầu nhiều khóa riêng để "mở khóa", hãy sử dụng địa chỉ Bitcoin. Các điều kiện cho địa chỉ đa chữ ký có thể được đặt theo nhiều cách khác nhau. Ví dụ: bạn có thể yêu cầu phải có 2 trong 3 khóa riêng trước khi có thể chuyển Bitcoin; hoặc các yêu cầu về số lượng khác (chẳng hạn như 2/5, 3/4, v.v.).


Lightning Network thường sử dụng yêu cầu đa chữ ký 2-2. Để chuyển bitcoin từ một địa chỉ như vậy, bạn cần cung cấp hai chữ ký liên quan đến hai khóa riêng này, nếu thiếu một chữ ký sẽ không hoạt động.


图片


Mô-đun số 4: Khóa thời gian


Mô-đun thứ tư là khóa thời gian. Chức năng khóa thời gian đặt điều kiện khóa trên đầu ra để bitcoin chỉ có thể được sử dụng (tức là được sử dụng làm đầu vào cho giao dịch) sau một thời gian nhất định trong tương lai.


Có hai loại khóa thời gian: 1) khóa thời gian tuyệt đối, được gọi là CheckLockTimeVerify (CLTV); 2) khóa thời gian tương đối, CheckSequenceVerify (CSV). CLTV khóa Bitcoin cho đến một thời điểm cụ thể (được cho là) trong tương lai: ngày và giờ cụ thể hoặc chiều cao khối cụ thể; CSV chỉ sử dụng thời gian tương đối. Khi một đầu ra CVS được tải lên chuỗi, nó phải đợi một số khối nhất định trước khi có thể sử dụng đầu ra.


图片


Mô-đun số 5: Ha Giá trị băm và giá trị bí mật


Học phần thứ năm và cuối cùng - mật mã - Nó cũng là học phần mô-đun cơ bản nhất của Bitcoin. Nhưng trong Lightning Network, cách sử dụng lại khác.


Tóm lại, "giá trị bí mật" là một chuỗi số dài và duy nhất gần như không thể đoán được. Một máy tính có thể thực hiện các phép tính mạnh mẽ mà tôi không thể' không đoán được vô số lần. Thông qua các phép tính đặc biệt, giá trị bí mật này có thể được "chia" thành một số khác, gọi là "giá trị băm". Điều thú vị là ở đây: những người biết giá trị bí mật có thể dễ dàng tính ra giá trị băm của nó, nhưng điều ngược lại là không đúng, bạn không thể suy ra giá trị bí mật bằng giá trị băm.


Trên blockchain Bitcoin, cơ chế này có thể được sử dụng để "khóa Bitcoin" (thực tế, khóa Bitcoin là thứ mà giao thức Bitcoin chạy theo Way). Ví dụ: bạn có thể bao gồm một giá trị băm trong đầu ra và yêu cầu các giao dịch tiếp theo chỉ chi tiêu đầu ra nếu nó chứa giá trị bí mật tương ứng với giá trị băm.


图片


Thử thách đầu tiên: Hai kênh thanh toán một chiều


Trước khi Lightning Network xuất hiện, đã có khái niệm " kênh thanh toán". Các kênh thanh toán tiêu chuẩn được xây dựng có mục đích và do đó bị hạn chế: chúng là các kênh một chiều. Alice có thể bắt đầu thanh toán nhiều bit cho Bob ngoài chuỗi, nhưng Bob không thể sử dụng cùng một kênh để thanh toán cho Alice.


Một tính năng chính của Lightning Network là kênh thanh toán hai chiều không cần sự tin cậy do Poon và Dryja đề xuất.


Mở kênh


Để thiết lập kênh thanh toán hai chiều, trước tiên cả hai bên liên quan phải Đạt được sự đồng thuận về một giao dịch để mở một kênh. Giao dịch mở này xác định số lượng Bitcoin mà mỗi người trong số họ sẽ gửi vào kênh này.


Giả sử Alice muốn gửi 1 btc cho Bob. Vì cả hai đều mong đợi sự trao đổi thường xuyên trong tương lai nên họ quyết định mở kênh thanh toán hai chiều. (Gửi 1 btc trong một kênh có thể hơi lớn, vì xét cho cùng thì các kênh có thể hữu ích hơn cho các khoản thanh toán vi mô - nhưng điều đó hoàn toàn có thể thực hiện được.)


Để mở kênh này, Alice và Bob mỗi người gửi 5 btc đến địa chỉ có 2-2 chữ ký. Đây là "giao dịch mở kênh". Số tiền trong địa chỉ này chỉ có thể được tiêu nếu Alice và Bob ký cùng một giao dịch.


Ngoài ra, cả Alice và Bot đều tạo ra một giá trị bí mật (nghĩa là một chuỗi số) và sau đó trao đổi giá trị băm.


Bây giờ, Alice tạo một giao dịch tiếp theo của giao dịch mở kênh và đây là "giao dịch cam kết". Trong giao dịch cam kết này, Alice gửi 4 btc cho chính mình và 6 btc đến địa chỉ có nhiều chữ ký thứ hai; địa chỉ nhiều chữ ký này thú vị hơn: Bob có thể mở khóa địa chỉ này một mình, nhưng anh ấy phải đợi (Giao dịch của Alice sau 1- 00 khối trên chuỗi, Bob có thể tiêu tiền trong đó (đây là khóa thời gian tương đối); Alice cũng có thể mở địa chỉ này một mình, miễn là cô ấy cũng sở hữu hàm băm mà Bob đưa cho cô ấy. Giá trị bí mật tương ứng với giá trị băm . (Tất nhiên, Alice hoàn toàn không biết giá trị bí mật - cô ấy chỉ có giá trị băm mà Bob đưa cho cô ấy - nên điều đó chỉ có thể xảy ra ở bề ngoài mà thôi.) (Lưu ý của người dịch: Tức là, địa chỉ đa chữ ký thứ hai này vừa có thời gian khóa và khóa băm.)


Alice ký giao dịch cam kết của mình. Nhưng cô ấy sẽ không phát sóng chuyện này! Thay vào đó, cô ấy sẽ chỉ gửi giao dịch cho Bob.


Đồng thời, Bob cũng thực hiện các phép toán đối xứng chính xác. Anh ta cũng tạo ra một giao dịch cam kết, gửi 6 btc cho chính mình và 4 btc đến một địa chỉ có nhiều chữ ký mới. Alice có thể mở khóa địa chỉ một mình sau khi đợi 1000 khối hoặc Bob có thể mở khóa địa chỉ bằng giá trị bí mật của Alice.


Bob đã ký giao dịch và gửi nó cho Alice.


Sau khi trao đổi các giao dịch cam kết và giá trị băm này, họ cùng ký và phát sóng giao dịch mở kênh để có thể tải giao dịch đó lên chuỗi. Bây giờ, kênh thanh toán hai chiều đã được mở.


Sau khi mở kênh, cả Alice và Bob đều có thể ký và phát sóng các giao dịch cam kết hợp lệ một phần mà họ nhận được từ địa phương. Nếu Alice phát sóng (giao dịch đã cam kết mà Bob đã gửi cho cô ấy), Bob sẽ nhận được 6 btc ngay lập tức. Nếu Bod phát sóng, Alice sẽ nhận được 4 btc ngay lập tức. Nhưng người ký và phát sóng giao dịch phải đợi 1.000 khối để mở khóa địa chỉ đa chữ ký tiếp theo đó và lấy đi số Bitcoin còn lại.


图片


Tuy nhiên, đây là khoản thanh toán Mẹo chính cho các kênh: không ký và phát sóng các giao dịch đã cam kết mà họ nhận được.


(Lưu ý của người dịch: Giao dịch cam kết tương tác trước, sau đó phát kênh để mở giao dịch là để tránh sự lừa đảo của đối thủ; sau khi có được giao dịch cam kết, không có cần phát sóng nó. An ninh được đảm bảo.)


Cập nhật kênh


Sau này, Bob muốn để gửi Alice Quay lại 1 btc, họ muốn cập nhật trạng thái của kênh này để trở về trạng thái 5:5. Để đạt được điều này, Alice và Bob cần làm hai việc.


Trước hết, cả hai bên phải thực hiện lại quy trình nêu trên (trừ phần mở giao dịch, vì đã được ghi vào chuỗi) . Lần này, cả Alice và Bob đều phân bổ 5 btc cho nhau và cả hai đều phân bổ 5 btc cho địa chỉ có nhiều chữ ký. Các điều kiện cho các địa chỉ đa chữ ký tiếp theo này là tương tự nhau, ngoại trừ việc tất cả chúng đều cần tạo ra một giá trị bí mật mới: cả Alice và Bob đều cung cấp một giá trị băm mới. Cả hai cùng ký giao dịch cam kết mới và gửi cho bên kia.


Thứ hai, Alice và Bob đều trao cho nhau đầu tiên giá trị bí mật của họ (giá trị được sử dụng trong giao dịch cam kết đầu tiên) .


Tại thời điểm này, cả Alice và Bob đều có thể ký và công bố giao dịch cam kết mới nhất của họ. Đối thủ của họ sẽ nhận được 5 btc ngay lập tức, trong khi đài truyền hình sẽ phải đợi 1000 khối. Cứ như vậy trạng thái của kênh được cập nhật.


Nhưng điều gì ngăn cản Bob công bố giao dịch cam kết cũ? Giao dịch đã hứa sẽ phân bổ 6 btc cho anh ta, nhiều hơn 5 btc...


Điều khiến Bob dừng lại tất nhiên là giá trị bí mật đầu tiên của anh ta, giá trị này Đó là giá trị bí mật mà anh ấy đã trao cho Alice.


Bởi vì lúc này Bob không còn có thể ký và phát đi giao dịch cam kết cũ như ý muốn nữa, vì Alice đã biết giá trị bí mật đầu tiên của Bob rồi. Nếu Bob muốn ký và phát một giao dịch cam kết cũ hơn (mà Alice đã đưa cho anh ấy), anh ấy sẽ ngay lập tức gửi 4 btc cho Alice... và anh ấy sẽ phải đợi 1000 khối trước khi có thể yêu cầu nó, nhưng Alice đã biết rằng anh ấy giá trị bí mật vốn đã cao nên cô ấy có thể tận dụng thời gian này để tấn công phủ đầu và trực tiếp rút 6 btc còn lại!


Và vì Bob cũng có giá trị bí mật của Alice nên Bob cũng vậy! Nếu Alice muốn ký và phát sóng giao dịch cam kết cũ, Bob có thể đánh cắp tất cả số btc mà cô ấy đưa vào kênh!


Điều này có nghĩa là cả Alice và Bob đều phải sắp xếp lại động lực của mình để không giở trò đồi bại và chỉ phát sóng trạng thái mới nhất.


图片


Được rồi, bạn hiểu rồi nó Sau khi thiết lập kênh thanh toán hai chiều, chúng ta cần mở rộng kênh này thành mạng thanh toán. Đây là chủ đề của bài viết thứ hai của chúng tôi.


Cảm ơn Rusty Russell và Joseph Poon vì những phản hồi tận tình của họ.


Liên kết gốc


Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi