BẢO VỆ QUYỀN RIÊNG TƯ KHI SỬ DỤNG BITCOIN BẰNG CÔNG CỤ NÀY

29 lượt xem
CONG CU NAY CO THE BAO VE QUYEN RIENG TU CUA BAN KHI SU DUNG BITCOIN

Có một công cụ bảo mật mới sắp xuất hiện: coinswaps trên statechains. Thiết kế statechain ban đầu được đề xuất bởi Ruben Somsen tại Scaling Bitcoin 2018 ở Tokyo. Tôi sẽ tóm tắt nhanh chóng, nhưng Aaron van Wirdum có một người giải thích rất cặn kẽ về khái niệm ban đầu ở đây . Ý tưởng chung là để một thực thể hỗ trợ (nhà điều hành statechain) tạo địa chỉ đa ký tự 2 trong 2 với người dùng để tạo điều kiện thuận lợi cho việc chuyển giao ngoài chuỗi của một UTXO. Sau đó, người dùng chuyển khóa riêng tư của họ cho 2 trong số 2 cho một người dùng mới. Thực thể statechain sẽ được thông báo về thời điểm điều này xảy ra và tại thời điểm đó sẽ chỉ cho phép chủ sở hữu mới chuyển tiền ra ngoài. Vì vậy, toàn bộ ý tưởng là giao dịch bằng cách chuyển chính khóa cá nhân theo nghĩa đen và yêu cầu nhà điều hành chuỗi nhà nước thực thi quyền sở hữu hiện tại.

Và cũng giống như các kênh Lightning Network, mỗi người dùng có một giao dịch được ký trước cho phép họ kiểm soát đơn phương UTXO sau khi hết hạn khóa thời gian. Bằng cách này nếu nhà điều hành statechain biến mất, tiền sẽ không bị mắc kẹt trong 2 trong số 2 đó mãi mãi. Nhưng tùy chọn dự phòng này phải được cân bằng với rủi ro một trong các bên cố gắng sử dụng sai giao dịch đã ký trước của họ để lấy cắp tiền. Đề xuất của Somsen phụ thuộc vào eltoođể tạo điều kiện cho chủ sở hữu mới thay thế giao dịch đóng đã ký trước của chủ sở hữu trước đó trong trường hợp chủ sở hữu trước đó cố gắng lấy lại tiền. Phần chính cuối cùng của thiết kế statechain là một chuỗi các chữ ký từ chủ sở hữu này sang chủ sở hữu khác bắt đầu từ chủ sở hữu ban đầu và đi đến tận gốc hiện tại. Điều này được chuyển từ chủ sở hữu này sang chủ sở hữu khác và được thêm vào song song với mỗi giao dịch để mọi người có thể giữ một bản sao cục bộ chứng minh việc chuyển nhượng hợp pháp và trong trường hợp là chủ sở hữu hiện tại, họ thực sự là chủ sở hữu hợp pháp.

Do sự phụ thuộc vào eltoo và thực tế là soft fork có xu hướng không xảy ra trong một sớm một chiều, CommerceBlock đã bắt đầu triển khai một biến thể của statechains vào năm 2020 không phụ thuộc vào eltoo. Thay vì eltoo cho phép giao dịch gần đây nhất thay thế các giao dịch trước đó, họ đã triển khaimột lược đồ nLocktime giảm dần được gọi là Mercury. Ý tưởng là giao dịch đóng của chủ sở hữu ban đầu được gắn vào thời gian của x khối trong tương lai; họ không thể thực hiện giao dịch của mình để lấy lại tiền cho đến khi blockchain đạt đến ngưỡng này. Và sau đó trong lần chuyển quyền sở hữu tiếp theo, giao dịch của chủ sở hữu mới được gắn với thời gian là x-1. Điều này cho phép chủ sở hữu hiện tại gửi giao dịch đóng cửa của họ tới chuỗi trước khi chủ sở hữu ban đầu có hiệu lực để gửi. Khi tiếp tục chuyển quyền sở hữu diễn ra, các mốc thời gian tiếp tục giảm (x-2, x-3, v.v.), đảm bảo rằng chủ sở hữu hiện tại luôn có thể hành động trước khi bất kỳ giao dịch nào của chủ sở hữu trước đó mở khóa. Điều này loại bỏ yêu cầu đối với eltoo, nhưng giới hạn trong việc chuyển các trạng thái giữa các chủ sở hữu: bạn chỉ có thể giảm các mốc thời gian rất nhiều lần trước khi nó không thể được hạ xuống nữa; tại một số thời điểm, tương lai, trừ đi một số lượng thời gian (khối), trở nên bằng hiện tại (nLocktime là khối thời gian hiện tại). Tại thời điểm này, người dùng phải đóng statechain hoặc chủ sở hữu cũ hơn sẽ có thể ăn cắp tiền khi các giao dịch nLocktime trước đó đạt đến thời gian khóa thời gian đáo hạn và trở nên hợp lệ.

Một điểm khác biệt chính giữa thiết kế ban đầu của Somsen và Mercury là cách xử lý thế hệ phím. Thay vì sử dụng tập lệnh đa ký tự 2 trong 2 rõ ràng, Mercury triển khai ECDSA-MPC (tính toán nhiều bên của thuật toán chữ ký số theo đường cong elliptic). Bạn có thể coi điều này về mặt chức năng tương tự như địa chỉ MuSig sử dụng Schnorr, ngoại trừ trong trường hợp của Schnorr, người dùng chỉ cần thêm hai khóa công khai với nhau để tạo địa chỉ mà cả hai đều bắt buộc phải đăng nhập. Với ECDSA-MPC, quá trình tạo khóa là một quá trình tương tác hơn với nhiều bước. Cuối cùng, về mặt chức năng, chúng tạo ra cùng một kết quả: một khóa công khai duy nhất không rõ ràng là nhiều ký tự và trong đó cả hai bên liên quan đều có một phần của khóa cá nhân phù hợp cần thiết để ký một giao dịch.

Quá trình chuyển giao sử dụng ECDSA-MPC là một quá trình tương tác trong đó thay vì chủ sở hữu ban đầu chuyển một cách rõ ràng khóa cá nhân hiện có như được mô tả trong đề xuất của Somsen, nhà điều hành statechain và người gửi cộng tác thông qua ECDSA-MPC để tạo khóa riêng thông qua chia sẻ phím. Điều quan trọng, có nhiều hơn một bộ chia sẻ khóa có thể tạo ra cùng một khóa riêng tư đó. Vì vậy, toán tử statechain sau đó tạo lại khóa cá nhân với người nhận, nhưng bằng cách thực hiện các chia sẻ khóa khác nhau. Sau đó, nhà điều hành statechain sẽ xóa keyhare mà họ nắm giữ tương ứng với chủ sở hữu trước đó. CommerceBlock thực thi điều này bằng HSM (mô-đun bảo mật phần cứng), mặc dù điều này không loại bỏ tất cả sự tin cậy. Bằng cách này nếu statechain đang hoạt động trung thực, nó thực sự không có khả năng ký kết giao dịch với chủ sở hữu quá khứ bởi vì chia sẻ khóa mà nó hiện đang nắm giữ không hoạt động với chia sẻ khóa của chủ sở hữu trước đây để tạo ra chữ ký hợp lệ. Cũng trong trường hợp thông đồng như vậy, bằng chứng công khai sẽ được công bố cho thấy thực thể statechain đã hành động không trung thực. Đây là một điều không khuyến khích về danh tiếng để làm như vậy.

Bằng chứng công khai hoạt động như thế nào? CommerceBlock trước đây đã thiết kế một biến thể của Opentimestamps được gọi là Mainstay. Opentimestamps chỉ là một giao thức để lấy bất kỳ dữ liệu tùy ý nào và đưa nó vào một cây merkle rất lớn với gốc được cam kết cho một giao dịch Bitcoin. Vấn đề với Opentimestamps là cây hoàn toàn không có thứ tự; mọi thứ chỉ được thêm vào cuối cây khi chúng đi vào. Điều này có nghĩa là nó không cung cấp đảm bảo rằng thông tin xung đột không được cam kết bởi cùng một giao dịch cố định trong chuỗi khối. Những gì Mainstay làm là chỉ định hiệu quả các “vị trí” chuẩn trong cây merkle cho các phần dữ liệu cụ thể, ví dụ như một nhà tiên tri chứng thực kết quả của một trò chơi thể thao. Mọi người đều có thể biết “vị trí” nào cần kiểm tra nhà tiên tri cụ thể đó và sau đó có thể bỏ qua bất kỳ dấu thời gian xung đột nào không có trong vị trí đó. Điều này cho phép mọi người chứng thực điều gì đó bằng dấu thời gian mà không để ngỏ khả năng đánh dấu thời gian những thứ xung đột để tiết lộ một cách có chọn lọc (nếu bạn có thể viết bất kỳ đâu trong cây merkle, bạn có thể có dấu thời gian thực ở một nơi trong khi trỏ đến một dấu thời gian không có thật ở nơi khác) . Mọi chuyển nhượng statechain Mercury đều được chứng thực trong một vị trí chính cụ thể để cung cấp bằng chứng có dấu thời gian về quyền sở hữu hiện tại có thể được công bố nếu thực thể statechain hành động không trung thực.

Bây giờ, các chi tiết về việc triển khai statechain đã không còn nữa, hãy chuyển sang phần thú vị: coinswaps. Sự khác biệt chung trong lịch sử được thực hiện giữa coinjoins và coinswap là coinjoin là cách sử dụng các kỹ thuật nâng cao quyền riêng tư một cách rõ ràng và công khai xảy ra trong một giao dịch duy nhất, trong khi coinswap thường được coi là bí mật và trong trường hợp hợp tác thành công, không phải là sử dụng công khai kỹ thuật bảo mật xảy ra trên nhiều giao dịch riêng biệt. Cả thế giới có thể thấy khi nào UTXO chuyển sang coinjoin, nhưng nếu được triển khai như đã thảo luận chung trước đây, không ai ngoại trừ những người tham gia sẽ biết khi nào UTXO tham gia vào một coinswap.

Việc triển khai coinswap được xây dựng trên đầu trang của các trạng thái Mercury phá vỡ sự phân biệt rõ ràng giữa coinjoins và coinswap về mặt tài sản riêng tư công khai so với bí mật. Việc chuyển giao các quy chế được ghi lại trong các cam kết Ngày chính thức, vì vậy, ngược lại, bạn phải cho rằng đó là kiến ​​thức công khai mỗi khi một quy chế thay đổi chủ sở hữu. Nhưng mỗi lần chuyển cũng có thể là một coinswap với bất kỳ statechain nào khác được chuyển trong cùng một khoảng thời gian khối. Vì vậy, về mặt công cụ ẩn danh, đây trở thành một loại quái vật của Frankenstein kết hợp các đặc tính ẩn danh của các coinjoins trong khi sử dụng cơ chế của một coinswap để tiến hành trao đổi UTXO ngoài chuỗi. Nó sử dụng chuỗi off “coinswap” trên đầu trang của một statechain để mô phỏng các thuộc tính ẩn danh tương tự của coinjoin mà không phải chịu phí trên chuỗi cho mỗi lần hoán đổi.

Coinswaps trên các stato Mercury về cơ bản chỉ là chuyển giao statechain thông thường với một số phép thuật mật mã thú vịđể làm cho họ ẩn danh. Khi bạn đăng ký UTXO cho một coinjoin điển hình (như Whirlpool hoặc Wasabi), bạn đăng ký UTXO làm đầu vào và sau đó nhận được thông tin đăng nhập mật mã mù mà bạn có thể sử dụng để tạo đầu ra trong coinjoin để lấy lại số tiền của bạn qua kết nối mạng mới để bảo vệ quyền riêng tư của bạn trước điều phối viên. Sự phối hợp tương tự này được ước tính gần đúng trong lược đồ của Mercury bằng cách đăng ký các stato, nhận mã thông báo mù và sau đó truy vấn điều phối viên để được chỉ định ngẫu nhiên một địa chỉ mới để chuyển statechain của họ đến. Thậm chí còn có cơ hội nhận lại statechain của chính bạn. Đó là ngẫu nhiên. Sau đó, về cơ bản chỉ là mọi người đăng ký chuyển tiền statechain của họ một cách nguyên tử, giống như một coinjoin.

Cuối cùng những gì chúng ta có ở đây là một cái gì đó rất phản trực giác và ở một điểm kỳ lạ trong “phổ tin cậy” của các công cụ Bitcoin mà mọi người có thể không quen xem xét sâu. Nói một cách chính xác ở mức độ kỹ thuật, những gì đang xảy ra là một coinswap; tiền xu đang được hoán đổi một cách bí mật mà không để lại dấu vân tay trực tiếp trên chuỗi cho thấy việc hoán đổi UTXO đang diễn ra. Nhưng do cam kết Ngày chính thức đối với tất cả các lần chuyển tiền và tiềm năng phân tích kinh nghiệm mà các quy chế đã chuyển chủ sở hữu trong các khoảng thời gian khác nhau, bạn có thể suy ra coinswap đã xảy ra, do đó giảm mức tăng ẩn danh xuống tương đương với một coinjoin tiêu chuẩn. Nhưng bạn không phải trả phí theo chuỗi cho mỗi “đồng tiền tham gia”.

Để thực sự lái xe về nhà của “điểm kỳ lạ”, có thể cho rằng với một thực thể duy nhất hoạt động như nhà điều hành statechain, bạn có thể xem điều này gần như là một thỏa thuận giám sát. Nhưng do việc xóa chia sẻ khóa được thực thi bởi HSM, chứng thực trước đó và các giao dịch đóng được ký trước, người dùng luôn có con đường đơn phương thoát khỏi hệ thống miễn là nhà điều hành không cộng tác với chủ sở hữu statechain trước đó để lừa đảo chủ sở hữu hợp pháp .

Cách tốt nhất tôi có thể nghĩ để mô tả mô hình tin cậy là diễn giải Tom Trevethan từ CommerceBlock: “Điều này nhằm mục đích chiếm vị trí trung gian giữa một máy trộn được giám sát hoàn toàn và một đồng tiền hoàn toàn không tin cậy về các công cụ bảo mật”. Không thể phủ nhận rằng có một số mức độ tin tưởng vào nhà điều hành statechain, trong trường hợp này là CommerceBlock, để hành động một cách trung thực. Nhưng cũng có các cơ chế để cảnh báo công khai người dùng về hành vi không trung thực từ họ và thu được các lợi ích riêng tư rõ ràng với một khoản phí tiềm năng tiết kiệm so với các đồng tiền trực tuyến thuần túy.

Nó không hoàn toàn không đáng tin cậy, nhưng nó cũng không hoàn toàn dựa trên sự tin tưởng. Đó là một điểm mới trong phổ về các công cụ bảo mật. Cá nhân tôi, với thực tế không được đánh giá cao về mức độ sử dụng rộng rãi của các bộ trộn tập trung, tôi quan tâm đến việc xem điều này phù hợp với hệ sinh thái đó ở đâu. Có một đứa trẻ mới trong thị trấn.

Bạn có thể thích

About the Author: BTC66.VN