Nguồn dữ liệu phong phú đã phát triển nên internet ngày nay. Các dữ liệu tĩnh được chuyển thành dữ liệu động nhờ các API (oracle). Khi các API (oracle) phát triển trong web truyền thống, chúng mở ra ứng dụng hoàn toàn mới mà trước đây không thể thực hiện được. Đó là chìa khóa đằng sau sự phát triển của web từ web1.0 (tĩnh) sang web2.0 (động).
Oracle v1: gửi yêu cầu on-chain, nhà cung cấp dữ liệu off-chain
Ví dụ cho trường hợp này là Oraclize.
- Người dùng bắt đầu giao dịch trực tuyến (gửi/rút tiền, mua/bán/thanh lý…) với hợp đồng thông minh
- Hợp đồng thông minh gửi yêu cầu HTTP on-chain tới hợp đồng thông minh oracle
- Phía dịch vụ off-chain tập trung sẽ nhận sự kiện và phân tích cú pháp yêu cầu HTTP off-chain, rồi nhận dữ liệu
- Dịch vụ phê duyệt tập trung ghi dữ liệu đã nhận trở lại chuỗi vào hợp đồng thông minh (hợp đồng thông minh có thể tùy chọn gọi lại hợp đồng thông minh khởi tạo)
Ưu điểm:
- Có thể lấy nguồn dữ liệu oracle tùy ý
- Dữ liệu chỉ được cung cấp theo yêu cầu (không có phí lưu trữ dữ liệu hoặc phí gas không cần thiết)
Nhược điểm:
- Dịch vụ tập trung
- Độ trễ phản hồi không đồng bộ (độ phản hồi của ứng dụng)
- Chi phí (cần thanh toán cho giao dịch ban đầu và phí gas cho lệnh callback)
Oracle v2: nhà cung cấp dữ liệu on-chain
Ví dụ tiêu biểu là Chainlink.
- Dapp yêu cầu nguồn cấp dữ liệu (chủ yếu là dữ liệu giá) từ Oracle (off-chain)
- Mạng phân tán thêm nguồn cấp dữ liệu vào các node
- Người ủy quyền tập trung ghi dữ liệu on-chain định kỳ
Ưu điểm:
- Tính sẵn có của dữ liệu (dữ liệu luôn on-chain khi được yêu cầu, không có độ trễ phản hồi)
Nhược điểm:
- Không có dữ liệu tùy ý
- Yêu cầu cấp dữ liệu và quyền truy cập phải được phê duyệt trước
- Ủy quyền tập trung (ủy thác)
- Chi phí (phí gas cho mỗi lần ghi on-chain)
Oracle v3: dữ liệu off-chain, trình xác thực on-chain
Ví dụ là Chainlink alpha. Hiện chúng ta đang ở giai đoạn này.
- Dapp/người dùng yêu cầu dữ liệu có thể chứng minh off-chain từ dịch vụ được ủy quyền
- Người xác thực tập trung yêu cầu dữ liệu off-chain và ký (thông qua khóa được ủy quyền của riêng họ); và được trả về giá trị, thời điểm, nguồn dữ liệu
- Dapp bắt đầu giao dịch on-chain (gửi/rút tiền, mua/bán/thanh lý…), bao gồm dữ liệu đã ký
- Hợp đồng thông minh xác minh người ký là người xác thực dự kiến, xác minh nguồn dữ liệu, thời điểm và dữ liệu. Nếu tất cả được xác minh, tập dữ liệu được cập nhật với dữ liệu mới và phần còn lại của giao dịch sẽ được thực hiện
Ưu điểm:
- Có thể yêu cầu dữ liệu tùy ý
- Dữ liệu chỉ được cung cấp theo yêu cầu
- Tính sẵn có của dữ liệu (có sẵn khi giao dịch được xử lý)
- Chi phí thấp (chỉ cần trả tiền cho xác minh chữ ký bổ sung và SSTORE)
Nhược điểm:
- Cơ quan/người chứng minh là tập trung
- Hợp đồng cần pre-knowledge về public key của người chứng minh
Oracle v4: dữ liệu có thể chứng minh qua zero-knowledge
- Dapp/người dùng yêu cầu dữ liệu có thể chứng minh off-chain từ chương trình xác minh
- Một chương trình xác minh (mạch zero-knowledge được xây dựng tùy chỉnh cho TCP mà bất kỳ ai cũng có thể chạy (kể cả trong chính dapp), lấy đối số làm điểm cuối đích (HTTP/SSL/TCP…) và cung cấp bằng chứng và đầu ra; trả về tập dữ liệu, thời điểm và nguồn (điểm cuối đích)
- Dapp bắt đầu giao dịch trực tuyến (gửi/rút tiền, mua/bán/thanh lý…), bao gồm bằng chứng và dữ liệu
- Hợp đồng thông minh xác minh bằng chứng, nguồn dữ liệu, thời điểm và dữ liệu. Nếu tất cả được xác minh, tập dữ liệu được cập nhật với dữ liệu mới và giao dịch sẽ được thực hiện.
Ưu điểm:
- Có thể yêu cầu dữ liệu tùy ý
- Dữ liệu chỉ được cung cấp theo yêu cầu
- Tính sẵn có của dữ liệu (có sẵn khi giao dịch được xử lý)
- Chi phí thấp (chỉ cần trả tiền cho việc xác minh bằng chứng và SSTORE)
- Không có thực thể tập trung
Nhược điểm:
- Hợp đồng cần pre-knowledge về chương trình xác minh
- Các mạch rất phức tạp và khó có thể sớm ra mắt
Nguồn: Andre Cronje
Về chúng tôi

Cryptoholic – Invest crypto with you
