Người dùng Bitcoin có thể, trong thời gian không lâu, có thể được hưởng lợi từ một thủ thuật gọi là
Mặc dù là một công việc lớn, nhưng đây không chỉ là lý thuyết. Một số người đóng góp nhiều nhất Bitcoin Core
Đây là Taproot và cách nó hoạt động.
P2SH
Tất cả các bitcoin đều được khóa trong các kịch bản: một vài dòng mã được nhúng trong một giao dịch được bao gồm trong blockchain, xác định cách các đồng tiền có thể được chi tiêu trong giao dịch tiếp theo. Các điều kiện chi tiêu thường liên quan đến việc cung cấp một chữ ký để chứng minh quyền sở hữu của các đồng tiền. Nhưng các điều kiện nổi tiếng khác chẳng hạn như bao gồm timelocks (tiền có thể chỉ được chi tiêu sau một chiều cao hoặc ngày cụ thể) hoặc multisig (tiền chỉ có thể được chi tiêu nếu một số khóa riêng từ một tập các khóa riêng cung cấp chữ ký).
Các điều kiện khác nhau có thể được trộn và khớp, để tạo ra các loại hợp đồng thông minh phức tạp. Một ví dụ về hợp đồng như vậy có thể là tiền xu có thể được chi tiêu nếu cả Alice và Bob ký, hoặc nếu Alice ký một mình sau một tuần đã qua, hoặc nếu Bob ký một mình trong khi cũng cung cấp một số bí mật.
Kể từ năm 2012, các kịch bản (các điều kiện) thường không hiển thị công khai lúc đầu; chỉ có chủ sở hữu mới của các đồng tiền mới biết cách chúng có thể được chi tiêu. Điều này được thực hiện bằng một thủ thuật gọi là P2SH (trả tiền cho các hash kịch bản), nơi ban đầu chỉ có một hash của kịch bản được bao gồm trong blockchain. Con số này dường như bị xáo trộn ngẫu nhiên giữ các coin. Khi chủ sở hữu chi tiêu các coin, anh ta tiết lộ toàn bộ kịch bản cũng như giải pháp cho kịch bản cùng một lúc. Bất cứ ai cũng có thể sử dụng hash ban đầu để kiểm tra xem kịch bản được cung cấp thực sự là kịch bản ban đầu khóa các coin và có thể kết luận ngay lập tức rằng các yêu cầu của kịch bản đã được đáp ứng.
Tuy nhiên, khi tiền xu được chi tiêu, hiện tại cần phải tiết lộ tất cả các điều kiện có thể đã được đáp ứng bao gồm cả các điều kiện đã không được đáp ứng. Điều này có hai nhược điểm chính. Một, nó là dữ liệu nặng, đặc biệt là nếu có nhiều điều kiện. Và hai, nó không tốt cho quyền riêng tư. Mọi người đều tìm hiểu tất cả các cách khác nhau mà các quỹ có thể đã được chi tiêu, có thể, ví dụ, tiết lộ loại ví đã được sử dụng và thậm chí nhiều hơn nữa.
MAST
MAST (Merkelized Abstract Syntax Tree) là một giải pháp được đề xuất sử dụng cây Merkle (một cấu trúc dữ liệu nhỏ gọn được phát minh bởi nhà mật mã học Ralph Merkle) để làm việc xung quanh hai nhược điểm này.
Lợi ích duy nhất là nếu bất kỳ dữ liệu nào trong cây Merkle được tiết lộ, gốc Merkle và một số dữ liệu bổ sung (được gọi là con đường Merkle) có thể được sử dụng để xác minh rằng dữ liệu cụ thể đó đã được bao gồm trong cây Merkle.
Với MAST, điều này có nghĩa là chỉ cần tiết lộ điều kiện được đáp ứng. Nếu, trong ví dụ ban đầu ở trên, Alice một mình chi tiền sau một tuần, cô chỉ tiết lộ điều kiện đó (và con đường Merkle). Không ai biết rằng tiền cũng có thể đã được Alice và Bob cùng nhau chi tiêu, hoặc bởi Bob một mình nếu anh ta đã thêm một số bí mật. Điều này làm cho MAST hiệu quả dữ liệu hơn các hợp đồng thông minh P2SH phức tạp và thêm sự riêng tư để khởi động.
Tuy nhiên với Schnorr, Taproot có thể làm tốt hơn: một giao dịch có thể che giấu rằng một cấu trúc MAST tồn tại.
Schnorr
Kế hoạch chữ ký Schnorr từ lâu đã nằm trong danh sách mong muốn của nhiều nhà phát triển Bitcoin và hiện đang được phát triển để được triển khai như một bản nâng cấp giao thức Soft Fork.
Là lợi ích nổi tiếng nhất của nó trong bối cảnh Bitcoin, Schnorr
Và kế hoạch chữ ký có thể được sử dụng theo những cách thú vị hơn nữa. Ví dụ, có thể sử dụng dữ liệu để
Đây là thứ cho phép Taproot.
Cây rễ
Taproot dựa trên một nhận thức thú vị: bất kể phức tạp như thế nào, hầu hết các cấu trúc MAST đều có thể (hoặc nên) bao gồm một điều kiện cho phép tất cả những người tham gia đồng ý về kết quả và chỉ đơn giản là ký kết một giao dịch giải quyết cùng nhau. Trong ví dụ trước đây, nếu Bob biết Alice có thể tự mình, tuyên bố tất cả các quỹ trong tuần tới, anh ta cũng có thể hợp tác với cô ấy ngay bây giờ để ký kết cùng nhau. (Trong nhiều thiết lập hợp đồng thông minh điển hình anh ta thậm chí sẽ bị phạt nếu anh ta không làm như vậy. Sự phức tạp thực sự chỉ phục vụ để giữ cho mọi người trung thực).
Taproot giống như MAST và luôn bao gồm một điều kiện mà tất cả những người tham gia có thể hợp tác để chi tiêu các quỹ:
Bằng cách sử dụng chữ ký Schnorr, đây là nơi nó trở nên thú vị.
Đầu tiên, việc đóng hợp tác sẽ sử dụng thủ thuật ngưỡng Schnorr để làm cho nó trông giống như một giao dịch thông thường, từ một người sang người khác. Vì vậy, các khóa công khai của tất cả những người tham gia được cộng lại với nhau, dẫn đến
Cho đến nay vẫn tốt, nhưng chi tiêu tiền như thể đó là một giao dịch bình thường là điều duy nhất họ có thể làm
Tất cả các cách thay thế mà trong đó các quỹ có thể được chi tiêu
Bây giờ, nếu tiền được chi tiêu hợp tác, tất cả những người tham gia kết hợp chữ ký của họ thành chữ ký ngưỡng và điều chỉnh nó với kịch bản. Kết quả là chữ ký ngưỡng x kịch bản cho phép họ chi tiêu tiền. Tuy nhiên, và quan trọng hơn, đối với thế giới bên ngoài, tất cả điều này vẫn chỉ trông giống như một khóa công khai thông thường và một chữ ký thông thường. một giao dịch thông thường.
Chỉ khi nào kết thúc hợp tác chứng minh là không thể, các ngưỡng khóa công khai có thể được hiển thị cho những gì nó thực sự là: tinh chỉnh.
Trong trường hợp này, cả khóa công khai ngưỡng ban đầu và kịch bản được tiết lộ. Điều này chứng minh rằng
Ngoài ra, thay vì điều chỉnh khóa công khai ngưỡng bằng kịch bản, khóa công khai ngưỡng có thể được điều chỉnh bằng một gốc Merkle của một cây Merkle bao gồm tất cả các điều kiện khác nhau mà dưới đó các quỹ có thể được chi tiêu: một cấu trúc MAST. Để chi tiêu các quỹ, sau đó, chỉ cần tiết lộ điều kiện chi tiêu đã được đáp ứng.
Như vậy, Taproot cung cấp tất cả các lợi ích của MAST, trong khi trong hoàn cảnh bình thường không ai sẽ biết rằng một giao dịch thông thường đã ẩn một hợp đồng thông minh phức tạp như một dự phòng.
Đây là một phác thảo chung về khái niệm Taproot; chi tiết thực hiện có thể khác nhau. Để biết thêm chi tiết, hãy đọc đề xuất Taproot gốc của Gregory Maxwell hoặc xem bài thuyết trình này của Pieter Wuille.