GIỚI THIỆU VẤN ĐỀ CHỨNG NHẬN HỢP ĐỒNG THÔNG MINH
Blockchain là một sổ cái phân tán, mở có thể ghi lại các giao dịch giữa các bên theo cách có thể xác minh được. Blockchain tạo điều kiện cho các giao dịch trong nhiều ngành khác nhau bao gồm quản lý chuỗi cung ứng, bất động sản, truyền thông, năng lượng, quản lý danh tính và quản lý hồ sơ.
Thông thường, hầu hết các nền tảng blockchain không lưu trữ bất kỳ thứ gì quá lớn trong chính blockchain do dung lượng lưu trữ của các blockchain thấp và chi phí lưu trữ cao. Một giải pháp phổ biến mà các nền tảng này sử dụng để giải quyết vấn đề này là chỉ lưu trữ hàm băm của một đối tượng lớn trong một hợp đồng thông minh và sau đó lưu trữ phần lớn đối tượng ở nơi khác.
Hợp đồng thông minh là một giao thức máy tính tự thực thi nhằm tạo điều kiện kỹ thuật số, xác minh hoặc thực thi thương lượng hoặc thực hiện hợp đồng. Khái niệm hợp đồng thông minh được Nick Szabo thiết kế vào năm 1977. Trong một chuỗi khối, một hợp đồng thông minh có thể lưu trữ rất nhiều thông tin về nguồn gốc của một đối tượng, dòng dõi của nó và quá trình tích hợp dẫn đến sự không thể thay đổi trên chuỗi của một số băm mà mọi người sẽ nhận ra để xác thực.
Người dùng sở hữu một đối tượng cần băm đối tượng và sau đó sử dụng hợp đồng thông minh để xác nhận tính xác thực của nó và kiểm tra các chi tiết khác. Ngoài ra, người dùng có thể cam kết với dữ liệu hợp đồng thông minh của mình và sau đó thêm vào giao dịch của mình các giá trị mà họ muốn cập nhật bằng các bằng chứng mật mã liên quan.
Bất chấp những lợi ích to lớn của nó, hợp đồng thông minh có những hạn chế nhất định. Trước hết, hợp đồng thông minh cung cấp tiền thưởng cho bất kỳ ai cung cấp giải pháp cho một vấn đề toán học, chẳng hạn như giải pháp cho một Sudoku nhất định, mà không có bất kỳ phác thảo nào về cách nó sẽ kiểm tra xem một giải pháp đã cho có đúng hay không. Ngoài ra, hợp đồng thông minh xác định và triển khai các công cụ tài chính phái sinh mà không cần bất kỳ thủ tục nào để kiểm tra giá trị giao dịch thực tế. Ví dụ: một hợp đồng thông minh có thể yêu cầu người dùng A sẽ trả cho người dùng B một khoản phí bảo hiểm nếu giá trị của đồng euro tăng trên 1,5 đô la trong một tháng. Tuy nhiên, hợp đồng thông minh không có chỉ rõ làm sao để kiểm tra giá trị thực tế của đồng euro sau thời hạn nhất định. Những vấn đề này và các vấn đề cố hữu khác hạn chế khả năng mở rộng của công nghệ hợp đồng thông minh.
TÌNH HUỐNG VỀ VẤN ĐỀ CHỨNG NHẬN HỢP ĐỒNG THÔNG MINH
Để hiểu rõ hơn về vấn đề chứng minh, chúng ta hãy xem xét kịch bản sau;
Một người dùng có tên là Greg có ba tài liệu - bằng lái xe, hộ chiếu và giấy khai sinh - với mỗi tài liệu được đại diện bằng Ký hiệu đối tượng JavaScript (JSON) bao gồm tất cả các trường dữ liệu hiện có. Mỗi đối tượng JSON được cấp bởi một cơ quan đăng ký có thẩm quyền với một hợp đồng thông minh ghi lại các hàm băm của các tài liệu xác thực. Không có tài liệu nào được đưa vào danh sách mà không tuân theo quy trình nghiêm ngặt của hợp đồng thông minh.
Bây giờ, chúng ta hãy giả sử rằng Greg muốn hiển thị cho một người dùng khác tên Jane ngày sinh của anh ta mà không tiết lộ thêm bất kỳ chi tiết cá nhân nào. Vì mỗi tài liệu trong số ba tài liệu đều chứa ngày sinh, Greg có ba cách có thể để tiết lộ ngày sinh của mình cho Jane.
Do mỗi dạng của tài liệu được xác thực dễ dàng bằng một hàm băm trên blockchain, Jane sẽ có thể tham khảo cơ quan đăng ký thích hợp để xác nhận tính xác thực của bất kỳ tài liệu nào mà Greg quyết định tiết lộ. Tuy nhiên, để thực hiện việc này, Greg sẽ phải đưa cho Jane toàn bộ tài liệu. Do đó, Greg phải đối mặt với tình huống khó xử. Anh ta có ba tài liệu để lựa chọn, nhưng mỗi tài liệu chứa nhiều thông tin hơn Greg muốn tiết lộ như địa chỉ nhà riêng, lịch sử du lịch và nơi sinh của anh ta tùy thuộc vào tài liệu mà anh ta chọn tiết lộ..
Mặc dù Greg có thể nói những tài liệu này có một ngày sinh nhất định, Jane không thể độc lập chứng minh rằng Greg đang nói sự thật trừ khi anh ta tiết lộ chi tiết một trong những tài liệu này, điều mà Greg không muốn làm. Greg không thể chứng minh bất cứ điều gì nếu không chọn một trong các tài liệu và tiết lộ toàn bộ cho Jane. Một lần nữa, Greg không muốn làm điều đó.
Làm thế nào Greg có thể chứng minh rằng anh ấy đang nói sự thật về một điều duy nhất? Làm thế nào điều này có thể được thực hiện mà không tiết lộ các chi tiết cá nhân quan trọng khác hoặc chuyển các trường quan trọng sang lưu trữ trên chuỗi đắt tiền trong các hợp đồng đăng ký? Kịch bản này minh họa vấn đề bằng chứng của hợp đồng thông minh.
CÁC CÁCH TIẾP CẬN ĐỂ XỬ LÝ VẤN ĐỀ CHỨNG MINH
Để giải quyết vấn đề bằng chứng hợp đồng thông minh, một số phương pháp tiếp cận đã được các nhà phát triển blockchain thiết kế. Để giải quyết vấn đề bằng chứng hợp đồng thông minh, một số phương pháp tiếp cận đã được các nhà phát triển blockchain thiết kế. Nổi bật trong số này là TownCrier và Merkle Proofs.
TownCrier đề xuất một hệ thống cho phép các hợp đồng thông minh trên chuỗi yêu cầu dữ liệu web bên ngoài, đã có thể truy cập thông qua TLS và HTTPS. Kiến trúc TownCrier bao gồm một hợp đồng thông minh hoạt động như giao diện người dùng cho các hợp đồng khách hàng trên chuỗi khác, một enclave chạy trong môi trường Intel Software Guard Extensions (SGX) và một relay xử lý giao tiếp của enclave với blockchain và cung cấp chứng thực về điều được bảo vệ.
Một hạn chế chính của phương pháp TownCrier là sự tập trung đáng kể trên cổng TownCrier. Do đó, không có sự an toàn nào chống lại cuộc tấn công. Ngoài ra, hợp đồng thông minh gốc không thể xác minh trực tiếp chứng thực. Do đó, hành vi không chính xác của vùng bao quanh do bị tấn công hoặc các lý do khác không thể được nhận thấy bởi hợp đồng thông minh gốc.
Mặt khác, Merkle Proofs chứng minh sự tồn tại của một giá trị trong tập dữ liệu. Để Merkle Proof hoạt động, người dùng cần có Merkle Tree. Cây Merkle băm đệ quy các cặp giá trị cho đến khi cuối cùng chỉ còn lại một hàm băm được gọi là Gốc Merkle.
Việc sử dụng Merkle Tree là cách truyền thống được Ethereum và một số blockchain khác thực hiện để cam kết với một bộ dữ liệu. Tuy nhiên, Merkle Tree được biết là sở hữu những bằng chứng rất dài. Ví dụ: người dùng cam kết 1000 giá trị trong hợp đồng thông minh sẽ cần truyền 320 byte dữ liệu bổ sung(bằng chứng mật mã) để chỉ thay đổi một trong các giá trị. Điều này có thể ngốn rất nhiều băng thông mạng và thêm chi phí đáng kể cho các nút tham gia vào sự đồng thuận của các mạng phân tán, nơi mọi giao dịch truyền qua tất cả các nút. Để giải quyết những vấn đề này, chuỗi khối Algorand đã thiết kế PointProofs.
POINTPROOFS: CÁCH TIẾP CẬN ALGORAND
PointProofs là một lược đồ cam kết vectơ mới hỗ trợ việc tổng hợp các bằng chứng không tương tác trên nhiều cam kết. Các PointProof này cho phép người dùng cam kết một chuỗi các giá trị (V1, V2 .... Vn) và có thể tiết lộ một hoặc nhiều giá trị tại các vị trí cụ thể sau đó. Với PointProofs, kích thước cả cam kết và bằng chứng chỉ là 48 byte.
Ngoài ra, PointProofs cho phép bất kỳ bên thứ ba nào tổng hợp một bộ sưu tập các bằng chứng cho các cam kết khác nhau, được tính toán độc lập thành một bằng chứng duy nhất được biểu thị bằng một điểm đường cong elliptic 48 byte. Tổng hợp cam kết chéo là một tính năng hoàn toàn mới mà không có phương pháp nào trước đây đạt được. PointProofs cũng đáp ứng các thuộc tính ẩn sao cho các cam kết và bằng chứng cho một số giá trị sẽ không tiết lộ thông tin về các giá trị còn lại.
Khi được áp dụng cho các hợp đồng thông minh blockchain, PointProofs có thể giảm chi phí băng thông để truyền tải một khối giao dịch ít nhất 60% so với các cam kết vector trước đó. PointProofs cũng hiệu quả vì mất 0.08 giây để tạo bằng chứng cho 8 giá trị cho một cam kết trên một chuỗi đơn, 0.25 giây để tổng hợp 4000 điểm như vậy trên nhiều cam kết thành một bằng chứng và 23 giây để xác minh bằng chứng tổng hợp.
Tóm lại, PointProofs do Algorand thiết kế có thể được sử dụng để giảm lưu trữ trên chuỗi và giảm thiểu yêu cầu băng thông mạng. Điều này giúp blockchain kích hoạt các mạng phi tập trung hiệu quả hơn cho các hợp đồng thông minh. Các nhà phát triển, đặc biệt là ở các quốc gia như Nigeria với dân số đông đúc sẵn sàng áp dụng công nghệ blockchain, có thể tận dụng tính năng này để phát triển các giải pháp hợp đồng thông minh hiệu quả, phi tập trung và an toàn.