Người dùng Bitcoin có thể, trước đó, có thể được hưởng lợi từ một thủ thuật có tên là Tap Tapotot. CTO Blockchain, Gregory Maxwell, Taproot sẽ mở rộng tính linh hoạt của hợp đồng thông minh của Bitcoin, đồng thời mang lại sự riêng tư hơn khi làm như vậy. Ngay cả các hợp đồng thông minh phức tạp nhất, trên blockchain, thường không thể phân biệt được với các giao dịch thông thường.

Mặc dù là một công việc lớn, đây không chỉ là lý thuyết. Một số người đóng góp Bitcoin Core sinh sôi nhất – bao gồm Pieter Wuille, Anthony Towns, Johnson Lau, Jonas Nick, Andrew Poelstra, Tim Ruffing, Rusty Russell và, thực sự, Gregory Maxwell – đang thực hiện một đề xuất chữ ký Schnorr bao gồm Taproot, tất cả trong một bản nâng cấp giao thức.

Đây là Taproot là gì và hoạt động như thế nào.

MAST

Tất cả bitcoin đều bị khóa trong các tập lệnh: 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. Đ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, ví dụ như bao gồm các mốc thời gian (tiền chỉ có thể được chi tiêu sau một chiều cao hoặc ngày cụ thể của khối) hoặc multisig (chỉ có thể sử dụng tiền nếu một số khóa riêng trong số một khóa riêng cung cấp chữ ký).

Các điều kiện khác nhau có thể được trộn lẫ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 có thể được sử dụng nếu cả Alice và Bob ký, hoặc nếu Alice một mình ký sau khi một tuần trôi qua, hoặc nếu Bob một mình cũng ký cung cấp một số bí mật. Bất kỳ điều kiện nào trong ba điều kiện này được đáp ứng trước, là cách các đồng tiền được sử dụng.

Kể từ năm 2012, các tập lệnh (điều kiện) thường không được hiển thị công khai lúc đầu; chỉ chủ sở hữu mới của các đồng tiền mới biết làm thế nào chúng có thể được chi tiêu. Điều này được thực hiện với một thủ thuật gọi là P2SH (trả cho mã băm), trong đó ban đầu chỉ có một hàm băm của tập lệnh được đưa vào blockchain. Con số dường như ngẫu nhiên này được giữ trong các đồng tiền. Khi chủ sở hữu chi tiêu các đồng tiền, anh ta tiết lộ toàn bộ kịch bản cũng như giải pháp khắc họa cho kịch bản cùng một lúc. Sau đó, bất kỳ ai cũng có thể sử dụng hàm băm ban đầu để kiểm tra xem tập lệnh được cung cấp có thực sự là tập lệnh gốc khóa các đồng tiền không và có thể kết luận ngay rằng các yêu cầu của tập lệnh đã được đáp ứng.

hiện tại cần thiết để tiết lộ tất cả các điều kiện có thể 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ó dữ liệu nặng, đặc biệt nếu có nhiều điều kiện. Và hai, nó xấu cho sự riêng tư. Mọi người đều học tất cả các cách khác nhau trong đó có thể sử dụng tiền, ví dụ, có thể tiết lộ loại ví nào đã được sử dụng và thậm chí có thể nhiều hơn.

MAST (Cây cú pháp trừu tượng Merkelized) là một giải pháp được đề xuất sử dụng cây Merkle (cấu trúc dữ liệu nhỏ gọn hàng thập kỷ được phát minh bởi nhà mật mã học Ralph Merkle) để khắc phục những nhược điểm này. Nói tóm lại, tất cả các điều kiện khác nhau mà theo đó tiền có thể được sử dụng là riêng lẻ được băm (trái ngược với kết hợp thành một hàm băm duy nhất) và được bao gồm trong cây Merkle, cuối cùng tạo ra một hàm băm duy nhất: gốc Merkle . Nguồn gốc của Merkle này khóa lại các đồng tiền.

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à Merkle đường dẫn) có thể được sử dụng để xác minh rằng dữ liệu cụ thể được bao gồm trong cây Merkle. Phần còn lại của cây Merkle vẫn được băm và ẩn.

Với MAST, điều này có nghĩa là chỉ điều kiện được đáp ứng cần phải được tiết lộ. Nếu, trong ví dụ ban đầu ở trên, Alice một mình chi tiền sau một tuần, cô ấy chỉ tiết lộ điều kiện đó (và đường dẫn Merkle). Không ai biết rằng số tiền này cũng có thể được Alice và Bob chi tiêu cùng nhau, hoặc bởi một mình Bob nếu anh ấy thêm một số bí mật. Điều này làm cho MAST hiệu quả dữ liệu hơn so với các hợp đồng thông minh P2SH phức tạp và thêm quyền riêng tư để khởi động.

Tuy nhiên, với Schnorr, Taproot có thể làm tốt hơn nữa: một giao dịch có thể che giấu rằng cấu trúc MAST tồn tại.

Schnorr

Lược đồ chữ ký Schnorr từ lâu đã nằm trong danh sách mong muốn của các nhà phát triển Bitcoin và hiện đang được phát triển để nâng cấp giao thức ngã ba mềm. Nhiều nhà mật mã học coi sơ đồ chữ ký Schnorr là tốt nhất trong lĩnh vực này, vì các tính chất toán học của nó cung cấp một mức độ chính xác mạnh mẽ, nó không bị tính linh hoạt và tương đối nhanh để xác minh.

Là tốt nhất của nó lợi ích được biết đến trong bối cảnh của Bitcoin, toán học tuyến tính của Schnorr cho phép tổng hợp chữ ký: một số chữ ký trong cùng một giao dịch có thể được kết hợp thành một. Một mẹo tương tự có thể được áp dụng cho các giao dịch multisig. Kết hợp cả khóa công khai và chữ ký vào các khóa công khai của ngưỡng và chữ ký ngưỡng của người dùng, một giao dịch đa cấp có thể được phân biệt với bất kỳ giao dịch thông thường nào.

Và sơ đồ chữ ký có thể được sử dụng theo những cách thú vị hơn. Ví dụ, nó có thể sử dụng dữ liệu để tinh chỉnh tinh thần cả khóa riêng và khóa chung. Như một ví dụ đơn giản, một khóa riêng và khóa chung tương ứng của nó có thể được điều chỉnh bằng cách nhân cả hai với hai. Khóa riêng của dữ liệu x 2 và khóa công khai của x x 2 vẫn sẽ tương ứng và khóa riêng của C trên 2 x vẫn có thể ký các tin nhắn có thể được xác minh bằng khóa công khai của x x. cặp đã được điều chỉnh thậm chí sẽ không thấy bất kỳ sự khác biệt; các phím được điều chỉnh trông giống như bất kỳ cặp khóa nào khác.

Đây là thứ cho phép Taproot.

Taproot

Taproot dựa trên một nhận thức thú vị: dù phức tạp đến mức nào, hầu như mọi công trình xây dựng 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ỉ cần đăng nhập vào một giao dịch thanh toán cùng nhau. Trong ví dụ trước, nếu Bob biết Alice có thể tự mình yêu cầu tất cả các khoản tiền vào tuần tới, anh ta cũng có thể hợp tác với cô ấy để cùng nhau ký kết. (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 không. Sự phức tạp thực sự chỉ nhằm giữ cho mọi người trung thực.)

Taproot giống với MAST và luôn bao gồm một điều kiện trong đó tất cả những người tham gia đều có thể hợp tác để tiêu tiền: hợp tác xã của người đóng. [[9009003]

Bằng cách sử dụng chữ ký Schnorr, đây là điều thú vị.

Trước hết, hợp tác xã sẽ sử dụng thủ thuật ngưỡng của Schnorr để làm cho nó trông giống như một giao dịch thông thường, từ người này sang người khác. Vì vậy, các khóa công khai của tất cả người tham gia được thêm vào cùng nhau, dẫn đến khóa công khai ngưỡng của Google. Tương ứng với khóa công khai ngưỡng này, sự kết hợp của tất cả chữ ký của người tham gia – chữ ký ngưỡng ngưỡng của họ – cho phép họ chi tiêu tiề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 – chưa có cấu trúc giống MAST nào. Đó là nơi mà trò lừa Schnorr khác xuất hiện.

Tất cả các cách thay thế mà tiền có thể được sử dụng – kết quả không hợp tác – lần này được kết hợp thành một kịch bản khác. Tập lệnh này, sau đó, được băm và sử dụng để điều chỉnh khóa công khai ngưỡng. Thay vì khóa công khai dữ liệu x 2, khóa như được sử dụng trong ví dụ trước đó, điều này dẫn đến một khóa mã khóa công khai ngưỡng x., (Chúng tôi vẫn đang đơn giản hóa.) một chữ ký ngưỡng ngưỡng x kịch bản. Chỉ

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ọ vào chữ ký ngưỡng ngưỡng và điều chỉnh nó với tập lệnh. Chữ ký ngưỡng ngưỡng kết quả x kịch bản x cho phép họ chi tiêu tiền. Tuy nhiên, và quan trọng là với thế giới bên ngoài, tất cả những thứ này vẫn sẽ 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 đóng hợp tác chứng minh là không thể, khóa công khai ngưỡng mới có thể hiển thị cho những gì nó thực sự là: được điều chỉnh.

Trong trường hợp này, cả khóa công khai gốc và tập lệnh đều được tiết lộ. Điều này chứng tỏ rằng khóa công khai ngưỡng của tập lệnh x tập lệnh đã được điều chỉnh với tập lệnh cụ thể này. Vì vậy, giống như hàm băm trong P2SH, điều chỉnh chứng minh với thế giới rằng các khoản tiền nên được chi tiêu nếu các điều kiện thay thế, như được chỉ định trong tập lệnh này, được đáp ứng. (Và, giống như với P2SH, những điều kiện này tất nhiên được đáp ứng ngay lập tức để tiêu tiền.)

Ngoài ra, thay vì điều chỉnh ngưỡng công khai ngưỡng bằng tập lệnh, khóa công khai ngưỡng có thể được điều chỉnh bằng 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à theo đó tiền có thể được sử dụng: một cấu trúc MAST. Sau đó, để chi tiêu tiền, chỉ cần tiết lộ điều kiện chi tiêu cần phải được tiết lộ.

Như vậy, Taproot cung cấp tất cả các lợi ích của MAST, trong khi trong các trường hợp thông thường sẽ không ai biết rằng giao dịch thông thường là ẩ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 ban đầu của Gregory Maxwell hoặc xem bản trình bày này của Pieter Wuille.



Nguồn bitcoinmagazine