Giới thiệu

Điều quan trọng đối với hoạt động của blockchain là hệ thống phải minh bạch. Điều này có nghĩa là mọi nút trên mạng đều có thể lưu trữ một bản sao và xác minh rằng không có quy tắc nào bị phá vỡ. Đối với nhiều sổ cái phân tán, bất kỳ ai cũng có thể tải lên trình khám phá khối trực tuyến cho phép họ tìm kiếm thông qua các khối, giao dịch và địa chỉ.

Về mặt riêng tư, điều này không lý tưởng. Trong một hệ thống như Bitcoin, mọi giao dịch đều có thể được liên kết ngược lại với giao dịch trước đó. Về mặt kỹ thuật, tiền xu không thể thay thế được, có nghĩa là mỗi loại tiền có thể được gắn với các giao dịch cụ thể. Không ai có thể ngăn cản bạn gửi bitcoin, nhưng họ có thể từ chối chấp nhận giao dịch của bạn nếu những đồng tiền đó trước đó đã được chuyển qua một địa chỉ trong danh sách đen.

Trong trường hợp xấu nhất, việc thiếu khả năng thay thế có thể ảnh hưởng sâu sắc đến nền tảng của hệ thống. Những đồng tiền sạch có thể có giá cao hơn, trong khi những đồng tiền cũ hơn sẽ ít giá trị hơn do lịch sử của chúng.

Quyền riêng tư trong Bitcoin thường được cường điệu hóa. Không chỉ có thể truy tìm tiền xu mà người dùng cũng có thể. Họ thích sử dụng bút danh (địa chỉ công khai được hiển thị thay vì tên), nhưng điều này không phải là không có sai sót. Các kỹ thuật phân tích phức tạp có thể, với độ chính xác ngày càng tăng, nhóm các địa chỉ lại với nhau nhằm cố gắng khử ẩn danh các thực thể mạng.

Một bản nâng cấp được đề xuất để làm cho các giao dịch thực sự riêng tư là Giao dịch bí mật.


Giao dịch bí mật là gì?

Giao dịch bí mật (CT) lần đầu tiên được thảo luận bởi Giám đốc điều hành Blockstream Adam Back vào năm 2013 và sau đó được nhà phát triển Bitcoin Gregory Maxwell mở rộng. Maxwell đã phác thảo các vấn đề được đề cập trong phần đầu tiên (tính linh hoạt và bút danh yếu) – và đề xuất giải pháp. Số tiền được chuyển có thể được bảo vệ khỏi mạng lưới rộng hơn để chỉ các bên giao dịch mới biết số tiền đã được gửi.


Normal transactions vs Confidential transactions


Trong các trường hợp thông thường (với các giao dịch có thể xem công khai), nút có thể dễ dàng xác minh rằng số tiền nhận được không vượt quá số tiền đã gửi. Nếu Alice muốn gửi 0,3 BTC cho Bob, cô ấy lấy một đầu ra chưa tiêu (hãy gọi nó là 1 BTC) và chia nó thành hai phần: 0,3 để gửi cho Bob và 0,69 để gửi lại cho cô ấy (phần còn lại bị mất như phí khai thác).

Đây là đại số đơn giản cho các nút khác: 1 vượt quá 0,3 + 0,69, tất cả các chữ ký đều chính xác và đầu vào của Alice chưa được chi tiêu ở nơi khác, vì vậy giao dịch phải hợp lệ. Tuy nhiên, khi số tiền bị che mắt, mọi thứ không quá tầm thường. Làm thế nào để bạn bắt đầu đánh giá xem một số tiền chưa biết có bằng hoặc vượt quá tổng của hai số tiền chưa biết khác hay không?


Tổng quan về mật mã liên quan

Để ẩn dữ liệu, cần phải mã hóa. Tuy nhiên, các phương pháp truyền thống cũng giống như việc cất tài liệu vào két an toàn: một khi đã khóa bên trong, nó sẽ không thể sử dụng được cho đến khi được lấy ra. Những gì chúng tôi cần để Giao dịch bí mật hoạt động là một chiếc két kỹ thuật số có nội dung không được tiết lộ nhưng tài sản của nó có thể được xác minh bởi người ngoài.

Câu trả lời nằm ở mã hóa đồng cấu cụ thể, trong một sơ đồ được gọi là cam kết Pedersen. Kiểu mã hóa này cho phép người ngoài thực hiện các thao tác trên dữ liệu được mã hóa (mà họ không thể nhìn thấy) cho một số mục đích.

Hàm băm thông thường có thể được sử dụng để xác nhận dữ liệu mà bạn muốn tiết lộ sau này. Giả sử bạn muốn thông báo về một cuộc thi trên mạng xã hội, trong đó ai đoán được sàn giao dịch yêu thích của bạn sẽ giành được giải thưởng 0,01 BTC. Những người tham gia có thể nghi ngờ vì bạn chỉ có thể xem câu trả lời sau khi cuộc thi kết thúc và chọn một cuộc trao đổi chưa được đề cập.

Những gì bạn có thể làm là cung cấp cho những người theo dõi mình một hàm băm: một chuỗi các số và ký tự dường như ngẫu nhiên ánh xạ tới một đầu vào cụ thể. Bạn chuyển trao đổi của mình thông qua một chức năng để có được một đầu ra nhất định. Chúng tôi sẽ minh họa bằng thuật toán SHA256:


f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191


Nhìn vào đây, bạn không biết đầu vào là gì. Bạn cũng không thể đảo ngược chức năng để có được nó. Tuy nhiên, nếu bạn biết rằng đầu vào là “Binance”, bạn có thể dễ dàng kiểm tra xem hàm băm của nó có khớp với giá trị được liệt kê ở trên hay không. Bằng cách này, những người theo dõi bạn có thể đảm bảo rằng bạn sẽ không thay đổi câu trả lời của mình khi cuộc thi kết thúc – làm như vậy sẽ tạo ra kết quả hoàn toàn khác.

Tuy nhiên, trên thực tế, điều này không an toàn lắm. Mặc dù những người theo dõi của bạn không thể thiết kế ngược thuật toán, nhưng họ có thể xây dựng danh sách các sàn giao dịch có thể thực hiện, băm từng cái một cho đến khi tìm được kết quả trùng khớp. Chúng ta có thể giảm khả năng xảy ra điều này bằng cách thêm một số dữ liệu ngẫu nhiên được gọi là yếu tố gây mù vào dữ liệu chúng ta sắp băm.

Nếu chúng ta nhập “Binance là sàn giao dịch yêu thích của tôi, tôi yêu thích nó hơn bất kỳ sàn giao dịch nào khác 2#43Wr”, thì đối thủ sẽ khó đoán hơn đáng kể (và đối với 0,01 BTC, chắc chắn khó có ai dám thử nó).

Cam kết Pedersen cho phép chúng tôi thêm đầu vào đằng sau các cam kết. Như Maxwell minh họa:


confidential transaction equation


C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)

Trong đó BF là yếu tố gây mù và D là dữ liệu


Còn một vài bước nữa từ đây liên quan đến mật mã đường cong elip và bằng chứng phạm vi, nhưng ý tưởng cơ bản là người dùng có cam kết Pedersen cho địa chỉ của họ. Khi gửi tiền, hai cam kết bổ sung sẽ được tạo (một cho địa chỉ thay đổi sẽ được trả lại cho người dùng và một cho địa chỉ đích).

Không ai biết số tiền được gửi đi nhưng họ có thể kiểm tra xem các cam kết thay đổi và đích đến (phía bên trái của phương trình Maxwell) có cộng với địa chỉ ban đầu (phía bên phải của phương trình) hay không. Nếu điều này đánh giá chính xác thì giao dịch của người dùng là hợp lệ vì có thể chứng minh rằng đầu vào bằng đầu ra.


Giao dịch bí mật có thể thực hiện được những gì?

Nếu Giao dịch bí mật được triển khai bằng Bitcoin, chúng ta sẽ được hưởng một hệ thống riêng tư hơn rất nhiều. Cả đầu vào và đầu ra sẽ bị ẩn khỏi mạng rộng hơn và các mục trên sổ cái sẽ bị xáo trộn - nhưng các nút vẫn có thể xác minh tính xác thực của chúng. Với sự tăng cường quyền riêng tư khổng lồ này, bitcoin có thể được hiển thị một cách hiệu quả vì phân tích chuỗi không còn tiết lộ lịch sử nữa của một đơn vị nhất định.

Về việc liệu Giao dịch bí mật có được tích hợp vào giao thức hay không, điều đó dường như không có khả năng xảy ra vào thời điểm hiện tại. Với chức năng bổ sung này, các giao dịch sẽ lớn hơn nhiều so với các giao dịch tiêu chuẩn – với không gian khối hạn chế, điều này sẽ chỉ làm tăng nhu cầu. Nó cũng sẽ yêu cầu đa số người tham gia đồng ý thay đổi mã, một nhiệm vụ mà theo truyền thống được chứng minh là khó khăn.


Bớt tư tưởng

Giao dịch bí mật đã chứng kiến ​​một số lần lặp lại trong các loại tiền điện tử khác và chuỗi bên Bitcoin. Ví dụ: Monero sử dụng chúng kết hợp với các cấu trúc được gọi là chữ ký vòng để đạt được tính ẩn danh và tính có thể thay thế được. Liquid sidechain triển khai chúng để mang lại sự riêng tư cao hơn và MimbleWimble mở rộng chúng cho cùng một mục đích.

Vì những lợi ích mà chúng mang lại, Giao dịch bí mật đi kèm với sự đánh đổi là dấu ấn lớn hơn. Tiền điện tử thường gặp khó khăn với khả năng mở rộng và thông lượng ở lớp cơ sở và quy mô giao dịch lớn hơn không hấp dẫn tất cả mọi người. Điều đó nói lên rằng, những người ủng hộ quyền riêng tư tin rằng cần phải che giấu số tiền giao dịch và những người tham gia để thực sự cho phép tiền điện tử hoạt động như một loại tiền có thể thay thế được.