Blockchain oracle thường được biết đến vì khả năng truyền dữ liệu của chúng, ví dụ như tìm nạp thông tin từ thế giới thực và chuyển nó vào blockchain để ứng dụng hợp đồng thông minh tham chiếu. Tuy nhiên, ngoài công việc kết nối blockchain tới thế giới thực, oracle còn có thể làm được nhiều điều thú vị hơn nữa. Dưới đây chúng ta sẽ cùng tìm hiểu cách các Oracle cải thiện, mở rộng, giảm chi phí vận hành blockchain bằng cách chuyển tính toán trên chuỗi sang ngoài chuỗi.
Định nghĩa tính toán Oracle và các thuộc tính độc đáo của nó
Tính toán là bất kỳ loại phép tính nào được xác định một cách hợp lý bởi một tập hợp các lệnh, chẳng hạn như một phương trình hoặc thuật toán. Tính toán sẽ tạo ra một đầu ra xác định dựa trên đầu vào của nó, tức là nếu điều kiện x được đáp ứng, thì đầu ra y được tạo ra. Một ví dụ về tính toán rất cơ bản là lấy trung điểm (lệnh) của năm số (đầu vào) để nhận được kết quả (đầu ra). Mặc dù việc tính toán có thể được thực hiện theo cách thủ công, nhưng hầu hết việc tính toán ngày nay là kỹ thuật số — được viết dưới dạng code được thực thi bởi máy tính. Máy tính kỹ thuật số tồn tại ở mọi quy mô, từ đồng hồ kỹ thuật số trên cổ tay của bạn đến các siêu máy tính lớn chuyên đào tạo các thuật toán machine learning tiên tiến.
Blockchain là một loại máy tính phi tập trung mới, quản lý một sổ cái phân tán có chứa dữ liệu và tài sản kỹ thuật số. Blockchains cũng có thể lưu trữ và xử lý các bản cập nhật về “trạng thái” hiện tại của các ứng dụng hợp đồng thông minh. Trạng thái có thể được coi như một sổ cái nội bộ của ứng dụng đó trong một sổ cái blockchain rộng hơn, với các quy tắc (lệnh) riêng về cách tài sản có thể di chuyển giữa các tài khoản. Mỗi thay đổi trạng thái bằng hợp đồng thông minh yêu cầu blockchain thực hiện một số loại tính toán, chẳng hạn như:
- Xác minh rằng các chữ ký được tạo bởi khóa cá nhân (tức là mật khẩu) khớp với khóa công khai tương ứng (tức là địa chỉ) tạo ra giao dịch
- Xác nhận địa chỉ khóa công khai có đủ số dư tài khoản để trả cho số tiền muốn gửi và phí mạng
- Thực thi hợp đồng thông minh với đầu vào của người dùng, sau đó sử dụng đầu ra đã tạo để cập nhật trạng thái của hợp đồng
- Tạo băm Bằng chứng công việc hoặc chứng thực Bằng chứng cổ phần trong quá trình tạo block để mở rộng sổ cái với block mới chứa giao dịch của người dùng
Mặc dù các blockchain thực hiện các phép tính chống giả mạo cho các hợp đồng thông minh, nhưng mỗi blockchain đều có những hạn chế riêng. Ví dụ: các blockchain phi tập trung cao cung cấp tính toán được tối ưu hóa để chống lại sự kiểm duyệt, nhưng đi kèm với việc đánh đổi chi phí giao dịch cao hơn và tốc độ thấp hơn. Các blockchain tốc độ cao hơn tối ưu hóa cho các giao dịch có thông lượng cao hơn, nhưng không thể hỗ trợ các tính toán nâng cao hơn như quyền riêng tư đầu cuối hoặc tự động hóa giao dịch.
Thay vì các blockchain thực hiện tất cả các phép tính dApp, nhiều phép tính có thể được thực hiện ngoài chuỗi với kết quả được chuyển tiếp lên chuỗi. Tuy nhiên, tính toán ngoài chuỗi truyền thống từ các hệ thống Web 2.0 tập trung không tương thích với những đảm bảo mà người dùng mong đợi từ các hợp đồng thông minh dựa trên blockchain. Nếu toàn bộ hợp đồng thông minh không sử dụng tính toán chống giả mạo, minh bạch và phi tập trung, thì sẽ không còn quá nhiều ý nghĩa gì trong việc sử dụng blockchain nữa. Do đó, nếu các hợp đồng thông minh sẽ chuyển các tính toán chính ra ngoài chuỗi để mở rộng khả năng của chúng, thì các mạng ngoài chuỗi đó phải cung cấp mức độ bảo mật, độ tin cậy và minh bạch tương tự như blockchain. Đây là nơi cần tính toán ngoài chuỗi ít cần sự tin tưởng, hay còn gọi là tính toán oracle.
Tính toán của Oracle sử dụng mạng lưới oracle phi tập trung để thực hiện tính toán ngoài chuỗi thay mặt cho các hợp đồng thông minh trong khi vẫn được neo vào các blockchain để tạo ra các đảm bảo ít cần sự tin tưởng.
Ví dụ về tính toán Oracle:
CHAINLINK KEEPERS
Chainlink Keepers sử dụng tính toán oracle để theo dõi trạng thái của các điều kiện trong chuỗi hoặc ngoài chuỗi, chẳng hạn như thời gian trôi qua (ví dụ: 24 giờ đã trôi qua chưa?) Hoặc sự kiện xảy ra (ví dụ: tài sản có đạt đến một mức giá nhất định không?). Khi một điều kiện được đáp ứng, Chainlink Keepers sẽ gửi một giao dịch trên chuỗi để đánh thức hợp đồng thông minh và kích hoạt nó chạy một đoạn code được xác định trước. Một số trường hợp sử dụng phổ biến của Chainlink Keepers bao gồm kích hoạt thanh lý các khoản vay trong các giao thức cho vay, thực hiện lệnh giới hạn trong các sàn giao dịch phi tập trung và giải quyết kết quả trong các thị trường dự đoán.
HÀM NGẪU NHIÊN XÁC MINH ĐƯỢC CHAINLINK VRF
Hàm ngẫu nhiên xác minh được Chainlink (VRF) là một giải pháp tạo số ngẫu nhiên (RNG) an toàn và có thể xác minh được nhằm mục đích xây dựng cho các ứng dụng hợp đồng thông minh. Chainlink VRF hoạt động bằng cách tính toán một giá trị ngẫu nhiên và bằng chứng mật mã tương ứng ngoài chuỗi, sau đó được xác minh trên chuỗi trước khi được gửi đến hợp đồng của người dùng. Tính ngẫu nhiên được tạo ra không thể bị thao túng nếu không làm mất hiệu lực của bằng chứng mật mã, giúp ngăn chặn sự thao túng của người dùng, oracle hoặc nhóm phát triển hợp đồng thông minh. Kết quả là, các hợp đồng thông minh hoàn toàn có thể xác minh tính toàn vẹn của tính ngẫu nhiên trước khi sử dụng nó trong ứng dụng của họ. Một số trường hợp sử dụng dApp phổ biến cho Chainlink VRF bao gồm: chỉ định công bằng các đặc điểm về độ hiếm khác nhau cho NFT trong quá trình đúc; giới thiệu sự ngẫu nhiên không thiên vị vào các cơ chế trong trò chơi như ghép trận người chơi và mở hòm; và lựa chọn ngẫu nhiên những người chiến thắng trong các trò chơi rút thăm may mắn và trò chơi có thưởng không thua lỗ.
GIAO THỨC TƯƠNG TÁC CHUỖI CHÉO (CCIP)
Giao thức tương tác chuỗi chéo (CCIP) là một tiêu chuẩn nguồn mở đang được phát triển nhằm thiết lập một kết nối toàn thể giữa các mạng blockchain khác nhau. CCIP là xương sống hỗ trợ cho việc tạo ra các cầu nối token an toàn và các ứng dụng chuỗi chéo để di chuyển dữ liệu, tài sản và lệnh qua các blockchain. Các node Chainlink sử dụng tính toán oracle ở dạng OCR 2.0 để đọc các giao dịch từ một blockchain, tạo ra sự đồng thuận ngoài chuỗi về tính hợp pháp của chúng và sau đó truyền kết quả đến một blockchain khác.