Nội dung
- Nguồn cấp dữ liệu (oracle) trên blockchain là gì?
- Ví dụ về một oracle
- Các loại oracle khác nhau của blockchain
- Vấn đề của Oracle
- Kết luận
Nguồn cấp dữ liệu (oracle) trên blockchain là gì?
Đây là lúc cần đến các oracle trên blockchain, vì chúng cung cấp một liên kết giữa dữ liệu ngoài chuỗi và dữ liệu trên chuỗi. Các oracle có vai trò thiết yếu trong hệ sinh thái blockchain vì chúng mở rộng phạm vi hoạt động của các hợp đồng thông minh. Nếu không có các oracle của blockchain, các hợp đồng thông minh sẽ có sử dụng hạn chế vì chúng chỉ có quyền truy cập vào dữ liệu từ trong mạng của chúng.
Điều quan trọng cần lưu ý là bản thân các oracle trên blockchain không phải là nguồn dữ liệu, mà là một lớp để truy vấn, xác minh và xác thực các nguồn dữ liệu bên ngoài, sau đó chuyển tiếp thông tin đi. Dữ liệu mà các oracle truyền đi dưới nhiều dạng – thông tin giá cả, việc thanh toán được hoàn thành hoặc nhiệt độ được đo bằng cảm biến.
Để gọi dữ liệu từ các nguồn bên ngoài, hợp đồng thông minh phải được dẫn ra và các tài nguyên mạng phải được sử dụng. Một số oracle ngoài khả năng chuyển thông tin đến các hợp đồng thông minh còn có thể gửi lại cho các nguồn bên ngoài.
Có nhiều loại oracle khác nhau – tuy nhiên, cách thức hoạt động của một oracle trên blockchain hoàn toàn phụ thuộc vào mục đích mà nó được thiết kế. Bài viết này sẽ giới thiệu một số trong các thiết kế đó.
Ví dụ về một oracle
Giả sử Alice và Bob đặt cược ai sẽ người chiến thắng bầu cử tổng thống Mỹ. Alice tin rằng ứng cử viên của đảng Cộng hòa sẽ giành chiến thắng, còn Bob tin rằng đảng Dân chủ sẽ là người chiến thắng. Họ đồng ý về các điều khoản đặt cược và khóa tiền của họ trong một hợp đồng thông minh, hợp đồng này sẽ thanh toán toàn bộ số tiền cho người chiến thắng dựa trên kết quả của cuộc bầu cử.
Nếu không có oracle để chuyển tiếp dữ liệu, sẽ không có cách nào để kết thúc vụ cá cược này.
Các loại oracle khác nhau của blockchain
Có thể phân loại các oracle trên blockchain tùy thuộc vào các tính chất của chúng:
- Nguồn – dữ liệu có nguồn gốc từ phần mềm hay phần cứng?
- Hướng của thông tin – thông tin đến hay thông tin đi?
- Độ tin cậy – dữ liệu là tập trung hay phi tập trung?
Một oracle có thể thuộc vào nhiều phân loại. Ví dụ, một oracle lấy thông tin từ trang web của công ty là oracle phần mềm phi tập trung lấy thông tin từ bên trong.
Oracle phần mềm
Các oracle phần mềm tương tác với các nguồn thông tin trực tuyến và truyền nó đến blockchain. Thông tin này có thể đến từ các cơ sở dữ liệu trực tuyến, các máy chủ, trang web – về cơ bản là bất kỳ nguồn dữ liệu nào trên Web.
Việc các oracle phần mềm được kết nối với mạng Internet không chỉ cho phép chúng cung cấp thông tin cho các hợp đồng thông minh mà còn truyền các thông tin đó đi theo thời gian thực. Điều này làm cho chúng trở thành một trong những loại oracle trên blockchain phổ biến nhất.
Oracle phần cứng
Một số hợp đồng thông minh cần tương tác với thế giới thực. Các oracle phần cứng được thiết kế để thu thập thông tin từ thế giới vật lý và cung cấp nó cho các hợp đồng thông minh. Những thông tin này có thể được chuyển từ các cảm biến điện tử, máy quét mã vạch và các thiết bị đọc thông tin khác.
Một oracle phần cứng về cơ bản “chuyển đổi” các sự kiện trong thế giới thực thành các giá trị kỹ thuật số mà các hợp đồng thông minh có thể hiểu được.
Oracle phần cứng có thể là một cảm biến có khả năng kiểm tra xem liệu một chiếc xe tải vận chuyển hàng hóa đã đến vịnh chất hàng hay chưa. Nếu xe đã đến, nó sẽ chuyển thông tin này đến hợp đồng thông minh và hợp đồng thông minh này sau đó sẽ ra các quyết định dựa trên thông tin đó.
Các oracle nhận thông tin và các oracle gửi thông tin
Các oracle nhận thông tin đảm nhiệm việc gửi các thông tin từ các nguồn bên ngoài đến các hợp đồng thông minh, còn các oracle gửi thông tin sẽ gửi thông tin từ các hợp đồng thông minh ra bên ngoài.
Các oracle tập trung và phi tập trung
Oracle tập trung được kiểm soát bởi một tổ chức duy nhất và là nhà cung cấp thông tin duy nhất cho hợp đồng thông minh. Việc chỉ sử dụng một nguồn thông tin có thể là một việc rủi ro – tính hiệu quả của hợp đồng phụ thuộc hoàn toàn vào tổ chức kiểm soát oracle đó. Ngoài ra, bất kỳ sự can thiệp độc hại nào từ một kẻ xấu sẽ có tác động trực tiếp đến hợp đồng thông minh. Vấn đề chính với các oracle tập trung là chúng tồn tại sự hư hỏng tại một điểm, điều đó làm giảm khả năng bảo vệ của chúng trước các lỗ hổng và các cuộc tấn công.
Các oracle phi tập trung có các mục tiêu tương tự như các blockchain công khai – tránh các rủi ro từ phía đối tác không hoàn thành nghĩa vụ. Chúng giúp tăng độ tin cậy của thông tin được cung cấp cho các hợp đồng thông minh bằng cách không dựa vào một nguồn sự thật duy nhất. Hợp đồng thông minh truy vấn nhiều oracle để xác định tính hợp lệ và chính xác của dữ liệu – đây là lý do tại sao các oracle phi tập trung cũng có thể được gọi là các oracle đồng thuận.
Một số dự án blockchain cung cấp các dịch vụ oracle phi tập trung cho các blockchain khác. Các oracle phi tập trung cũng có thể hữu ích trong các thị trường dự đoán, trong đó tính hợp lệ của một kết quả nhất định có thể được xác minh bằng sự đồng thuận xã hội.
Các oracle cụ thể theo hợp đồng
Một oracle cụ thể theo hợp đồng là một oracle được thiết kế cho một hợp đồng thông minh duy nhất. Điều này có nghĩa là nếu một người muốn triển khai một số hợp đồng thông minh, thì người đó cần phải phát triển một số lượng tương ứng các oracle cụ thể theo hợp đồng.
Để duy trì loại oracle này rất tốn thời gian và tốn kém chi phí. Các công ty muốn trích xuất dữ liệu từ nhiều nguồn khác nhau có thể thấy cách tiếp cận này rất không thực tế. Mặt khác, do các oracle cụ thể theo hợp đồng có thể được thiết kế từ đầu để phục vụ một trường hợp sử dụng cụ thể, nên các nhà phát triển có thể linh hoạt điều chỉnh chúng theo các yêu cầu cụ thể.
Các oracle con người
Vấn đề của Oracle
Vì các hợp đồng thông minh thực thi các quyết định dựa trên dữ liệu do các oracle cung cấp nên chúng là chìa khóa cho một hệ sinh thái blockchain lành mạnh. Vấn đề lớn nhất trong việc thiết kế các blockchain là nếu oracle bị tấn công, thì hợp đồng thông minh dựa vào nó cũng bị tấn công. Điều này thường được gọi là Vấn đề Oracle.
Vì các oracle không phải là một phần của đồng thuận chính của blockchain, nên rất tiếc, chúng không nằm trong các cơ chế bảo mật mà các blockchain công khai có thể cung cấp. Xung đột về yêu cầu sự tin cậy giữa các oracle của bên thứ ba và khả năng thực thi mà không cần sự tin cậy của các hợp đồng minh vẫn là một bài toán chưa có lời giải.
Các cuộc tấn công của người trung gian, trong đó một tác nhân độc hại có quyền truy cập vào luồng dữ liệu giữa các oracle và hợp đồng để sửa đổi hoặc làm sai lệch dữ liệu, cũng có thể là một mối đe dọa.
Kết luận
Để áp dụng blockchain trên phạm vi toàn cầu, cần có một cơ chế đáng tin cậy cho việc giao tiếp giữa các hợp đồng thông minh và thế giới bên ngoài. Nếu không có các oracle trên blockchain, các hợp đồng thông minh sẽ chỉ có thể dựa vào những thông tin có sẵn trong mạng của chúng, điều này sẽ hạn chế đáng kể khả năng của chúng.