Tác giả: Shinobi
Segregated Witness (với các tác giả BIP là Pieter Wuille, Eric Lombrozo và Johnson Lau) và Taproot (với các tác giả BIP là Pieter Wuille, Jonas Nick, Tim Ruffing và Anthony Towns) là hai thay đổi lớn nhất đối với giao thức Bitcoin cho đến nay.
Sự thay đổi đầu tiên đã thay đổi căn bản cấu trúc giao dịch Bitcoin(và do đó cả khối Bitcoin) để giải quyết những hạn chế vốn có của cấu trúc giao dịch trước đó. Sự thay đổi thứ hai đã tái cấu trúc các khía cạnh của ngôn ngữ lập trình kịch bản của Bitcoin (cách thức xây dựng và xác minh các kịch bản phức tạp) và giới thiệu một lược đồ mới để tạo chữ ký mật mã.
Cả hai đều là những thay đổi đáng kể ; so với đó, việc thêm một mã lệnh như CHECKTIMELOCKVERIFY (CLTV) chỉ cho phép người nhận lựa chọn không chi tiêu khoản thanh toán trước một thời điểm cụ thể, điều này không phải là vấn đề lớn. (Ghi chú của người dịch: CLTV là một khóa thời gian tương đối ở cấp độ kịch bản, Bitcoin trong soft fork BIP65 năm 2015.)
Những thay đổi này nhằm mục đích giải quyết những thiếu sót và hạn chế cơ bản nhất của Bitcoin với tư cách là một hệ thống. Là một lớp nền tảng để duy trì sự đồng thuận toàn cầu về trạng thái tổng thể của Bitcoin(tức là tất cả các đồng tiền chưa được sử dụng), giao thức Bitcoin là một sự đổi mới vô cùng quý giá và khéo léo. Tuy nhiên, nó vẫn chưa đủ để cho phép mọi người trực tiếp giao dịch với những đồng tiền này.
Trong những năm kể từ khi Segregated Witness và Taproot được kích hoạt, nhiều thiếu sót mà họ đã giải quyết đã bị lãng quên. Lý do và triết lý đằng sau những lựa chọn thiết kế của họ cũng dần bị bóp méo qua thời gian do truyền miệng.
Cả hai thay đổi này đều là giải pháp cho những vấn đề lớn trong giao thức Bitcoin, nhưng chúng cũng đặt nền tảng cho việc giải quyết các vấn đề khác và thực hiện các tối ưu hóa khác trong tương lai.
Với nhiều người dùng mới Bitcoin, việc xem xét lại hai thay đổi này và giải thích bối cảnh đằng sau các lựa chọn thiết kế của chúng là điều đáng giá.
Nhân chứng cô lập (BIP 141 1 )
Khi một giao dịch Bitcoin chi tiêu một số đồng tiền, nó sẽ lập chỉ mục cho những đồng tiền đó bằng cách sử dụng mã định danh (TXID) của giao dịch đã tạo ra chúng và số thứ tự của những đồng tiền đó trong hàng đợi đầu ra. Điều này đảm bảo rằng mỗi đầu ra của giao dịch có thể được xác định duy nhất và xác minh một cách chắc chắn tuyệt đối rằng chúng chưa từng được chi tiêu trước đó.
Trước khi nâng cấp Segregated Witness, cấu trúc giao dịch Bitcoin như sau:
[Version] [Inputs] [Outputs] [Locktime]交易版本号输入输出交易锁定时间Mã định danh giao dịch là giá trị băm của dữ liệu này. Vấn đề là "chữ ký kịch bản (ScriptSig)" đầu vào (chữ ký, ảnh ngược của băm, v.v.), được sử dụng để chứng minh tính hợp lệ của giao dịch (hoạt động chi tiêu), cũng được coi là một phần của đầu vào. Bạn có thể thay đổi một chút các lệnh chương trình trong chữ ký kịch bản, hoặc thậm chí thay đổi trong đó ký mật mã, mà không làm cho nó không hợp lệ.
Các "thao tác làm tan chảy" này thay đổi TXID. Điều này gây ra những vấn đề nghiêm trọng cho các giao dịch đã được ký trước.
Lightning Network, Ark, Spark, BitVM và Cautious Log Contracts (DLC) – tất cả các công cụ mở rộng quy mô này đều dựa trên các giao dịch được ký trước. Chúng yêu cầu người tham gia trước tiên phải tạo một giao dịch cấp vốn để được ký, ký trước tất cả các giao dịch đảm bảo thực thi hợp đồng đúng cách và bảo mật quỹ, sau đó ký và xác nhận giao dịch cấp vốn. Tất cả các hệ thống này cũng sử dụng xác thực đa chữ ký để đảm bảo tiền không bị chi tiêu hai lần (điều này rất quan trọng, và chúng ta sẽ thảo luận về nó sau).
Nếu một giao dịch cấp vốn bị hủy bỏ và ID giao dịch của nó bị thay đổi trước khi nhận được xác nhận khối, thì tất cả các giao dịch được ký trước để bảo vệ quỹ Layer 2 sẽ bị vô hiệu hóa. Nếu bất kỳ ai cũng có thể thay đổi TXID của giao dịch cấp vốn của bạn trong quá trình lan truyền, thì tất cả các công cụ được đề cập ở trên đều vô dụng.
Giao thức Segregated Witness sử dụng một mã lệnh không xác định làm mặt nạ để thay thế dữ liệu đã được đặt trước đó trong chữ ký kịch bản đầu vào, chuyển toàn bộ dữ liệu này sang một trường mới trong giao dịch có tên là "witness". Cấu trúc giao dịch mới như sau:
[Version] [Marker/Flag] [Inputs] [Outputs] [Witness] [Locktime]交易版本号标记输入输出见证交易锁定时间Việc "che giấu" thông tin đầu vào này cho phép nút cũ hơn (nút không sử dụng quy tắc SegWit) mặc định coi bất kỳ thông tin nào liên quan đến chúng là hợp lệ, trong khi nút mới hơn (nút sử dụng quy tắc SegWit) sẽ áp dụng logic xác minh phù hợp khi cần thiết. TXID truyền thống sẽ không còn thay đổi do những thay đổi trong dữ liệu chứng thực. Điều này giải quyết vấn đề cho các giao dịch được ký trước và mở ra cánh cửa cho nhiều giải pháp mở rộng quy mô được phát triển hiện nay.
Tuy nhiên, Merkle trees của các giao dịch trong Block Header chỉ cam kết với các TXID truyền thống của mỗi giao dịch đi vào khối, điều này làm nảy sinh một vấn đề mới: khối không cam kết với dữ liệu chứng thực. Do đó, chúng ta cần các cam kết chứng thực, cũng như "ID giao dịch chứng thực (WTXID)". Giống như cấu trúc Merkle trees của các TXID thông thường, các WTXID của mỗi giao dịch tạo thành một Merkle trees, và cam kết được đặt trong chứng thực của giao dịch coinbase. (Ghi chú của người dịch: Điều này không chính xác; Merkle trees của các WTXID nên được đặt trong khóa công khai của tập lệnh đầu ra của giao dịch coinbase.)
Điểm khác biệt duy nhất là gốc của cây này được băm cùng với một giá trị dành riêng, và giá trị dành riêng này được đặt trong chứng thực của giao dịch Coinbase. Điều này cho phép giá trị này được sử dụng trong tương lai cho các trường dữ liệu mới khác trong các quy tắc đồng thuận cam kết. Trước khi cam kết cây chứng thực này (ý tưởng đến từ Luke Dashjr) được phát minh, người ta cho rằng Chứng thực Phân tách sẽ yêu cầu một hard fork vì cấu trúc giao dịch sẽ thay đổi và cần có một cam kết chứng thực chuyên dụng trong Block Header.
Thiết kế "màn che Venetian" này cũng cho phép nâng cấp hệ thống kịch bản, vì tất cả dữ liệu mới sẽ bị nút không sử dụng quy tắc mới bỏ qua và sẽ không được chúng xác minh. Điều này cho phép chúng ta thiết kế một hệ thống kịch bản mới vượt qua tất cả các hạn chế của hệ thống kịch bản cũ. Sự linh hoạt trong các lộ trình nâng cấp này cũng cho phép tích hợp chữ ký Schnorr và cho phép chúng ta kết hợp các lược đồ chữ ký chống lượng tử (nếu cần) (kích thước khóa công khai của các lược đồ chữ ký chống lượng tử thường lớn hơn giới hạn kích thước 520 byte cho một đối tượng dữ liệu duy nhất trong các hệ thống kịch bản cũ, và điều tương tự cũng áp dụng cho chữ ký).
Segregated Witness giải quyết vấn đề cơ bản về việc mất mã định danh giao dịch, cho phép các giao thức lớp 2 mở rộng khả năng mở rộng hoạt động tự do và đưa Bitcoin đến với nhiều người dùng hơn; đồng thời, nó cũng đặt nền tảng cho bất kỳ tối ưu hóa hệ thống kịch bản nào cần thiết để hỗ trợ và cải thiện các giao thức lớp 2 này.
Schnorr Signature 2
Phương thức chữ ký Schnorr được Claus Schnorr phát minh vào năm 1991, và ông đã ngay lập tức được cấp bằng sáng chế cho nó. Trên thực tế, chính vì chữ ký của Schnorr được cấp bằng sáng chế mà phương thức chữ ký ECDSA mới ra đời. Bằng sáng chế của Schnorr hết hạn vào tháng 2 năm 2010, chỉ hơn một năm sau khi mạng Bitcoin được ra mắt.
Nếu không có bằng sáng chế đó, Satoshi Nakamoto(và những người khác trên thế giới) có thể đã sử dụng chữ ký Schnorr ngay từ đầu.
So với ECDSA, chữ ký Schnorr có một số ưu điểm chính:
- Chữ ký Schnorr được chứng minh là an toàn. Bằng chứng toán học chứng minh rằng chữ ký Schnorr ngụy tạo/phá vỡ mạnh mẽ hơn và yêu cầu ít giả định hơn (so với ECDSA). Việc cung cấp cho mật mã cốt lõi của Bitcoin những đảm bảo an ninh mạnh mẽ hơn rõ ràng là một lợi ích rất lớn.
- Chữ ký Schnorr vốn dĩ không thể làm giả, điều đó có nghĩa là vấn đề thay thế chữ ký mà không làm mất hiệu lực giao dịch, vốn tồn tại khi sử dụng ECDSA, hoàn toàn không thể xảy ra khi sử dụng chữ ký Schnorr.
- Chữ ký Schnorr sở hữu "tính chất phân đoạn", cho phép xây dựng mật mã cộng tính, tạo khóa phân tán và tạo chữ ký phân tán một cách đơn giản và hiệu quả. Điều này cho phép người dùng trực tiếp "cộng" các khóa công khai Schnorr riêng lẻ lại với nhau và sau đó, cùng đội ngũ, tạo ra một chữ ký cho khóa công khai tổng hợp đó.
Chữ ký Schnorr an toàn hơn ECDSA, không thể bị làm giả bởi bên thứ ba và mở ra khả năng sử dụng tất cả các loại lược đồ mật mã hiệu quả và linh hoạt để tăng cường xác thực đa chữ ký.
Trong phần thảo luận trước về khả năng tan chảy của giao dịch, tôi đã đề cập rằng tất cả các giao thức ngoài Chuỗi sử dụng giao dịch được ký trước đều dựa vào xác thực đa chữ ký để bảo vệ tiền của người dùng. Mặc dù đây là một biện pháp bảo mật để kiểm soát chung tiền, nhưng nó ngầm giới hạn khả năng mở rộng mà nó có thể đạt được. Các phương pháp đa chữ ký truyền thống không thể thu nhỏ. Kích thước giao dịch bị giới hạn; cũng có những hạn chế về kích thước dữ liệu chứng thực cho phiên bản 0 (Chứng thực phân tách). Nếu một địa chỉ đa chữ ký chỉ cho phép một số lượng người tham gia nhất định, điều đó ngụ ý rằng chỉ có bấy nhiêu người tham gia có thể chia sẻ quyền kiểm soát tiền (do đó giới hạn khả năng mở rộng).
Các lược đồ chữ ký dựa trên Schnorr nới lỏng hạn chế này bằng cách tổng hợp nhiều khóa công khai thành một khóa công khai chung duy nhất: chúng ta không còn cần phải xây dựng các kịch bản bao gồm rõ ràng khóa công khai của từng thành viên nữa. Trước khi nâng cấp Segregated Witness, một địa chỉ đa chữ ký chỉ có thể có 15 người tham gia; sau khi nâng cấp lên Segregated Witness, giới hạn được mở rộng có thể chứa đến 20 người tham gia.
Tuy nhiên, khi sử dụng các lược đồ chữ ký dựa trên Schnorr như "MuSig" 5 và "FROST" 6 , những hạn chế này hoàn toàn biến mất (ít nhất là ở cấp độ quy tắc đồng thuận). Số lượng người tham gia vào thiết bị đa chữ ký có thể lớn tùy ý, miễn là nhóm có thể phối hợp quá trình ký và quá trình ký không bị gián đoạn bởi những người từ chối ký hoặc bỏ cuộc.
(Ghi chú của người dịch: MuSig là một lược đồ chữ ký đa chữ ký dựa trên Schnorr, trong đó tất cả những người tham gia vào việc tổng hợp các khóa công khai đều phải tham gia ký; trong khi FROST là một lược đồ chữ ký ngưỡng, trong đó chữ ký có thể tạo ra miễn là số lượng khóa công khai tham gia ký đạt đến một ngưỡng được thiết lập trước.)
Những đặc tính này cho phép chúng ta tổng hợp các khóa theo cách này, đồng thời cho phép tạo ra các chữ ký bộ chuyển đổi hiệu quả: trong các lược đồ này, chúng ta có thể tạo ra các chữ ký tạm thời không hợp lệ nhưng sẽ có hiệu lực khi một phần thông tin bí mật bị lộ. Những đặc tính này cũng giúp cho một số lược đồ chứng minh dựa trên bằng chứng không tiết lộ thông tin trở nên khả thi, trong đó người ký có thể ký các tin nhắn mà họ chưa từng thấy.
Taproot 3 4
"Taproot" là phiên bản nâng cấp của một khái niệm cũ hơn có tên là "Cây cú pháp trừu tượng Merkel (MAST)" 7. Bản thân MAST chỉ đơn giản là một plug-in cho tập lệnh "Pay-to-Script Hash (P2SH)" 8. P2SH được phát triển để giải quyết hai vấn đề chính:
- Khi sử dụng các tập lệnh khóa tùy chỉnh lớn (nếu các tập lệnh đó được đặt trực tiếp trong đầu ra giao dịch), đầu ra chưa được sử dụng sẽ lớn hơn (so với việc sử dụng các tập lệnh khóa nhỏ), đòi hỏi nhiều không gian hơn để lưu trữ tập hợp UTXO (tức là trạng thái mới nhất của mạng Bitcoin).
- Khi sử dụng các tập lệnh khóa tùy chỉnh lớn, người gửi phải trả phí cao hơn vì các giao dịch họ khởi tạo có quy mô lớn hơn, điều này khiến mọi người không muốn trả tiền cho các tập lệnh tùy chỉnh có khả năng bảo mật cao hơn.
Ý tưởng đằng sau P2SH là chỉ bao gồm mã băm của tập lệnh trong đầu ra của giao dịch, thay vì bao gồm toàn bộ tập lệnh một cách rõ ràng. Khi sử dụng đầu ra, chủ sở hữu đầu ra (người nhận giao dịch trước đó) cung cấp toàn bộ tập lệnh trong đầu vào, có thể được xác minh bằng mã băm. Điều này giải quyết vấn đề đầu ra chưa được sử dụng chiếm dung lượng lưu trữ và chuyển gánh nặng tài chính khi sử dụng các tập lệnh lớn sang chính người dùng (thay vì người trả tiền cho họ).
Tuy nhiên, điều này lại gây ra một vấn đề. Các kịch bản tùy chỉnh có thể chứa nhiều phương pháp chi tiêu, nhưng khi chi tiêu, người chi tiêu vẫn cần phải hiển thị toàn bộ kịch bản, trong đó các nhánh không liên quan đến việc xác minh tính hợp lệ của thao tác chi tiêu. Do đó, hiệu quả sử dụng không gian của các kịch bản lần giảm theo kích thước kịch bản, dẫn đến chi phí cho người chi tiêu vượt quá mức cần thiết.
Ý tưởng đằng sau MAST là chúng ta có thể phân tách một kịch bản đa nhánh thành các điều kiện chi phí riêng lẻ và sau đó xây dựng một Merkle trees bằng cách sử dụng các điều kiện chi phí này. Mỗi điều kiện chi phí được băm (hashed), và gốc của Merkle trees là địa chỉ của người dùng. Khi chi tiêu, người dùng chỉ cần cung cấp điều kiện chi phí mà họ đang sử dụng, bằng chứng Merkle chứng minh rằng điều kiện đó tồn tại trong cây, và dữ liệu cần thiết để đáp ứng điều kiện chi phí.
Cấu trúc Merkle trees này không chỉ giải quyết tất cả các vấn đề mà P2SH cố gắng giải quyết, mà còn tối ưu hóa chi phí cho người dùng (đồng thời tăng cường quyền riêng tư của họ!).
Taproot áp dụng khái niệm này và tích hợp theo cách bảo vệ quyền riêng tư tốt hơn bằng cách tận dụng tính tuyến tính của chữ ký Schnorr. Trong hầu hết các hợp đồng mà mọi người mong muốn, đều có một kết quả lạc quan: tất cả người dùng đồng ý về cách phân chia tiền. Trong trường hợp này, họ có thể trực tiếp ký các giao dịch. Taproot sử dụng gốc của MAST để "tinh chỉnh" khóa công khai Schnorr, tạo ra một khóa công khai mới; bằng cách đơn giản "tinh chỉnh" private key bằng cách sử dụng cùng một gốc MAST, private key tương ứng với khóa công khai mới này có thể được lấy.
Bằng cách này, người dùng có thể trực tiếp sử dụng khóa đã sửa đổi để chi tiêu mà không để lại dấu vết nào trong đó cây MAST, hoặc tiết lộ khóa công khai gốc, gốc MAST và điều kiện chi tiêu được lưu trữ trên cây. Hơn nữa, nếu bạn không muốn sử dụng khóa đã sửa đổi trực tiếp, bạn có thể sử dụng một điểm NUMS đặc biệt (không có cửa hậu) làm khóa công khai gốc, điểm này có thể được chứng minh là không thể chi tiêu (không ai biết private key đằng sau nó), do đó chỉ còn lại kịch bản trên MAST là đường dẫn chi tiêu hợp lệ.
Bên cạnh lựa chọn thiết kế sử dụng Segregated Witness, Taproot cũng giới thiệu "tapscript", một hệ thống kịch bản mới. So với các hệ thống kịch bản trước đây, thay đổi chính là việc loại bỏ OP_CHECKMULTISIG và OP_CHECKMULTISIGVERIFY (các mã lệnh ban đầu được sử dụng để xác minh đa chữ ký), thay thế chúng bằng OP_CHECKSIGADD , có thể xác minh nhiều chữ ký hiệu quả hơn. Kết hợp với thuật toán tổng hợp khóa Schnorr, điều này tạo ra chức năng đa chữ ký tương tự như các hệ thống kịch bản cũ hơn.
Ngoài ra, tapscript đã sửa đổi OP_CHECKSIG và OP_CHECKSIGVERIFY để chỉ xác minh chữ ký Schnorr, và thêm OP_SUCESS để thay thế cho OP_NOP (một opcode không xác định trong các script cũ hơn). OP_SUCCESS được thiết kế để cho phép nâng cấp opcode sạch hơn và an toàn hơn (so với OP_NOP ).
Giới hạn dung lượng dữ liệu chứng kiến
Cho đến nay, vẫn còn hai khía cạnh chưa được thảo luận: giới hạn "blockweight" được thêm vào trong nâng cấp Segregated Witness và giới hạn " dữ liệu size limit" đã được cải thiện trong nâng cấp Taproot.
Cả hai quyết định đều gây tranh cãi trong một nhóm nhỏ người dùng rất tích cực và giàu kinh nghiệm trong hệ sinh thái. Tôi sẽ không thảo luận về việc tăng kích thước khối, vốn là một phần của giới hạn trọng lượng khối và là một sự thỏa hiệp vào thời điểm đó với những người dùng có ý kiến khác nhau (những người đang thúc đẩy việc hard fork để tăng giới hạn kích thước khối), và được những người tham gia mạng lưới cho rằng an toàn vào thời điểm đó; tuy nhiên, cơ chế giảm giá dữ liệu là rất quan trọng.
Việc so sánh phí giao dịch Bitcoin theo chiều ngang dựa trên lượng dữ liệu có trong sàn giao dịch , bất kể giá trị được chuyển. Nó hoàn toàn được xác định bởi số lượng và kích thước (tính bằng byte) của dữ liệu đầu vào, đầu ra (và chứng từ). Như tôi đã đề cập trước đó, trước khi nâng cấp Chứng từ Tách biệt (Segregated Witness), chữ ký kịch bản (hoặc chữ ký và dữ liệu khác) được bao gồm trong đầu ra giao dịch. Đây là một lượng dữ liệu lớn, có trong đầu vào nhưng không có trong đầu ra.
Điều này có nghĩa là, xét từ góc độ một giao dịch đơn lẻ, chi phí đầu vào cao hơn chi phí đầu ra , và cao hơn đáng kể. Điều này tạo ra khích lệ dài hạn cho người dùng chi tiêu các đầu ra có mệnh giá lớn hơn và tạo ra các đầu ra tiền lẻ, thay vì chi tiêu lượng lớn các đầu ra có mệnh giá nhỏ đã tích lũy. Nói cách khác, đây là một khích lệ kinh tế dài hạn khuyến khích người dùng liên tục mở rộng tập hợp UTXO — và việc lưu trữ tập hợp UTXO là điều kiện tiên quyết để tất cả nút đầy đủ xác minh các giao dịch và khối.
Việc chứng kiến điểm khởi đầu của việc giảm giá dữ liệu là để điều chỉnh sự chênh lệch giá này, thu hẹp nó thay vì mở rộng nó. Điều này cực kỳ quan trọng để khích lệ kinh tế cho việc quản lý UTXO có trách nhiệm, ít nhất là về mặt lý thuyết, đối với những người dùng có lý trí về kinh tế, những người chỉ đơn giản muốn sử dụng giao thức Bitcoin.
Bản nâng cấp Taproot đã loại bỏ giới hạn kích thước dữ liệu cho trường chứng thực của một giao dịch. Sau khi nâng cấp Segregated Witness, giới hạn này là 10.000 byte. Điều này được thực hiện vì thiết kế của Taproot đã giảm thiểu khả năng tạo ra các giao dịch khó xác minh, và việc cố gắng thêm giới hạn kích thước như vậy vào tapscript sẽ làm tăng lượng lớn độ phức tạp cho "Miniscript". Vấn đề mà giới hạn này nhằm ngăn chặn không ảnh hưởng đến Taproot, và nó sẽ làm tăng thêm độ phức tạp cho một công cụ được thiết kế để làm cho các tập lệnh tùy chỉnh an toàn hơn và thân thiện hơn với người dùng (vì vậy các nhà phát triển đã quyết định loại bỏ nó).
(Ghi chú của người dịch: Miniscript là một ngôn ngữ lập trình cho phép kết hợp có cấu trúc các đoạn mã lệnh Bitcoin, giúp cho toàn bộ mã lệnh khóa dễ phân tích hơn và an toàn hơn.)
toàn cảnh
Cả hai thay đổi này đều loại bỏ những trở ngại đáng kể trong việc mở rộng Bitcoin và cho phép nhiều người sử dụng Bitcoin theo cách tự quản lý; tuy nhiên, để đạt được điều này, chúng chắc chắn đòi hỏi những thay đổi lượng lớn đối với các phần cơ bản của giao thức.
Tôi hy vọng rằng những độc giả chưa quen thuộc với những lựa chọn thiết kế này và triết lý đằng sau chúng có thể hiểu được những mối quan ngại này và suy ngẫm thêm về cách tiếp cận thiết kế của chúng. Bitcoin là một sáng tạo tuyệt vời, không thể phủ nhận điều đó, nhưng nó không thể phân phối lợi ích của mình cho một tỷ lệ đáng kể dân số.
Segregated Witness và Taproot đã đặt nền móng cho hai vấn đề vô cùng cần thiết để giải quyết những hạn chế mở rộng của Bitcoin . Nếu không có hai đề xuất này (hoặc các thay đổi giao thức khác giải quyết cùng những vấn đề đó), tất cả các giao thức và hệ thống mở rộng đang phát triển mà chúng ta có ngày nay sẽ chỉ là giấc mơ hão huyền.
Ark, Spark, BitVM, DLC — có vẻ như không cái nào trong số đó sẽ xuất hiện.
Đây là bức tranh toàn cảnh. Bitcoin hiện nay chưa hoàn hảo, nhưng nó đang bắt đầu có cơ hội tuyệt vời mở rộng đến một lượng người dùng đủ lớn để tạo ra tác động thực sự đến thế giới và cung cấp một lựa chọn thay thế đích thực cho những người muốn rút lui. Tất cả là nhờ hai nâng cấp giao thức này: chúng đã loại bỏ những rào cản cơ bản đó.
(qua)
chú thích cuối trang
1. https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
2. https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
3. https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki
4. https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki
5. https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki
6. https://github.com/siv2r/bip-frost-signing
7. https://github.com/bitcoin/bips/blob/master/bip-0114.mediawiki
8. https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki



