24 C
Vietnam
Tuesday, 23 April
HomeĐầu tưKiến thức tổng hợpTổng quan về Oracle (P1): Những khái niệm cơ bản về oracle

Tổng quan về Oracle (P1): Những khái niệm cơ bản về oracle

Date:

Đăng kí theo dõi

- Nhận các bản tin cập nhật thị trường tiền số liên tục

Oracle là một khái niệm đang được cộng đồng trong giới crypto quan tâm trong thời gian gần đây, sự quan tâm này bắt buồn từ việc các dự án đóng vai trò cung cấp dịch vụ oracle hay các dự án sử dụng công nghệ oracle có được mức tăng trưởng vô cùng ấn tượng.

Qua đó chúng ta có thể thấy rằng, oracle là một công nghệ đang mang lại hiệu quả và có tính ứng dụng cao, không những vậy nó còn đang trở nên đặc biệt quan trọng trong thế giới Blockchain nói chung và crypto nói riêng. Và hiện tại oracle cũng đang giữ một vai trò quan trọng đối với thị trường DeFi (tài chính phi tập trung).

Vậy oracle là gì và Tại sao nó lại mang đến nhiều lợi ích cũng như là hiệu quả như thế? Hãy cùng coinmoi tìm hiểu tất tần tật về oracle qua loạt bài này.

Oracle là gì?

Oracle là những hệ thống cung cấp dữ liệu theo thời gian thực cho các Blockchain và hợp đồng thông minh. Các dữ liệu này có thể là: giá của các đồng tiền mã hoá (BTC, ETH, XRP, …), tin tức (kết quả bầu cử, bóng đá), tình hình thời tiết (nắng, mưa),…

Nhờ oracle, mà Blockchain và các hợp đồng thông minh trên chuỗi có thể tương tác với dữ liệu bên ngoài (off-chain)… do đó, oracle là một phần không thể thiếu để đưa Blockchain và hợp đồng thông minh vào áp dụng trong đời thực.

Blockchain Oracle là gì?

Oracle của một Blockchain (Blockchain oracle) là bất cứ thiết bị hoặc thực thể nào kết nối Blockchain đó với dữ liệu ngoài chuỗi.

Hạn chế của các Blockchain là không có quyền truy cập vào các thông tin bên ngoài chuỗi, nên không có cách nào để xác thực các điều kiện mà hợp đồng thông minh dựa vào đó để thực thi hay thực hiện thoả thuận của hợp đồng. Oracle được tạo ra để thực hiện điều này, nó đóng vai trò như một người phiên dịch cho thông tin được cung cấp bởi các nền tảng ở bên ngoài.

Oracle sẽ cung cấp dữ liệu cần thiết để kích hoạt các hợp đồng thông minh nhằm thực thi khi các điều khoản ban đầu của hợp đồng được đáp ứng. Những điều kiện này có thể là bất cứ điều gì liên quan đến hợp đồng thông minh như nhiệt độ, hoàn tất thanh toán, những thay đổi giá, …

Nói cách khác:
Blockchain oracle đóng vai trò là cầu nối giữa các Blockchain và thế giới bên ngoài.

Blockchain Oracle
Blockchain Oracle

Oracle đóng vai trò rất quan trọng 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 Blockchain oracle thì hợp đồng thông minh sẽ có rất nhiều hạn chế trong việc sử dụng vì chúng chỉ có thể truy cập đến dữ liệu từ bên trong mạng lưới của mình.

Chúng ta cần lưu ý rằng, Blockchain oracle không phải là nguồn dữ liệu, mà nó là nơi truy vấn, xác minh, xác thực thông tin từ nguồn dữ liệu bên ngoài và chuyển tiếp nguồn thông tin đó vào Blockchain. Có một số oracle còn có khả năng chuyển tiếp thông tin từ Blockchain ra ngoài.

Ví dụ về một Blockchain oracle:

Giả sử chúng ta có một cuộc đánh cược giữa A và B xem ai sẽ là Tổng thống tiếp theo của Hoa Kỳ. A tin rằng Biden sẽ chiến thắng, trong khi B thì đặt cược vào Trump. Hai người đồng ý các điều khoản đặt cược vào khoá phần thưởng vào hợp đồng thông minh, hợp đồng thông minh này sẽ chuyển phần thưởng cho người chiến thắng dựa trên kết quả cuối cùng của cuộc bầu cử.

Vì hợp đồng thông minh không thể tương tác trực tiếp với dữ liệu bên ngoài, nên nó cần phải nhờ vào một oracle để cung cấp các thông tin cần thiết cho nó – trong trường hợp này la kết quả của cuộc bầu cử. Sau khi đã có kết quả bầu cử, oracle sẽ truy vấn một API đáng tin cậy để tìm ra ứng viên đã chiến thắng trong cuộc bầu cử này và chuyển tiếp thông tin đó đến hợp đồng thông minh. Sau đó, hợp đồng thông minh sẽ chuyển phần thưởng đến một trong 2 người A hoặc B.

Bạn thấy đấy, nếu không có oracle chuyển tiếp dữ liệu, thì sẽ không có cách nào giải quyết được vụ cá cược này.

Vấn đề mà oracle giải quyết là gì?

Do các Blockchain không thể lấy dữ liệu hoặc xuất dữ liệu ra bất cứ hệ thống bên ngoài nào dưới dạng tính năng được tích hợp, nên các Blockchain không khác gì mạng lưới bị cô lập, điều này rất giống với một máy tính không có kết nối với Internet, Tuy nhiên chính những tính năng đó của Blockchain lại khiến nó trở nên cực kỳ an toàn và đáng tin cậy, bởi mạng lưới chỉ cần hình thành sự đồng thuận về các câu hỏi đúng/sai cơ bản, bằng cách sử dụng dữ liệu đã được lưu trữ sẵn bên trong sổ cái của nó, ví dụ như: địa chỉ công khai có đủ tiền để thực hiện được giao dịch hay không? Hoặc loại giao dịch này có hợp lệ trong hợp đồng thông minh này không? Sự đồng thuận của Blockchain đã giải thích lý do tại sao các hợp đồng thông minh được xem là có tính tất định, chúng thực thi chính xác những gì được viết với một mức độ chắc chắn cao hơn nhiều so với các hệ thống truyền thống.

ncsPGt liWrpvkR7gz2GwFtFIybZtDYfYuBopTatDhEma UxxMqQnhXRFGC0LQe5cCM0V Jv6RR7hUff00rt2QHapWmVCuExV8inH pl4cNux2Crwc9iB7JysbSn Twzseyua6Aj

Tuy nhiên để cho các hợp đồng thông minh thực hiện hoá được hơn 90% các trường hợp sử dụng tiềm năng thì chúng phải được kết nối với thế giới bên ngoài. Ví dụ như: hợp đồng thông minh tài chính cần có thông tin thị trường để xác định các khoản thanh toán, hợp đồng bảo hiểm cần IoT và dữ liệu web để đưa ra quyết định trên các khoản thanh toán,… không có thông tin nào được tạo ra trong Blockchain cả.

Cầu nối giữa Blockchain (trên chuỗi) và thế giới bên ngoài (ngoài chuỗi) yêu cầu cần có một cơ sở hạ tầng bổ sung và riêgn biệt được gọi là “oracle”

Các chức năng chính của oracle

Một Blockchain oracle là trung gian an toàn tạo điều kiện giao tiếp giữa các Blockchain và bất cứ hệ thống ngoài chuỗi nào, bao gồm nhà cung cấp dữ liệu, các API web, nhà cung cấp dịch vụ đám mây, back-end của doanh nghiệp, thiết bị IoT, chữ ký điện tử, hệ thống thanh toán, …

  • Lắng nghe – giám sát mạng lưới Blockchain để kiểm tra sự tham gia của người dùng hoặc hợp đồng thông minh yêu cầu dữ liệu ngoài chuỗi.
  • Lấy dữ liệu – tìm nạp dữ liệu từ một hoặc nhiều hệ thống bên ngoài như API ngoài chuỗi được lưu trữ trên máy chủ của bên thứ ba.
  • Định dạng – cho phép hai hệ thống giao với nhau bằng cách định dạng dữ liệu được truy xuất từ các API phù hợp với định dạng đầu vào của Blockchain (input) hoặc làm cho dữ liệu của Blockchain tương tích với API bên ngoài (output).
  • Xác thực – tạo ra một bằng chứng mật mã để chứng thực hiệu suất của các dịch vụ oracle bằng cách sử dụng bất cứ sự kết hợp nào của chữ ký dữ liệu, chữ ký giao dịch Blockchain, chữ ký TLS, chứng thực bằng công nghệ Trusted Execution Environment (TEE), bằng chứng không kiến thức zero knowledge proof,…
  • Tính toán – thực hiện một số tính toán trên dữ liệu, như tính toán một giá trị trung bình từ nhiều oracle hoặc chạy các tác vụ phức tạp hơn như tạo báo giá bảo hiểm từ một số loại dữ liệu (hồ sơ rủi ro cá nhân, tỷ giá thị trường, chi phí vốn,…).
  • Lan truyền (Broadcast) – ký và lan truyền một giao dịch trên Blockchain như một phương tiện để giử dữ liệu và bằng chứng tương ứng của nó trên chuỗi để sử dụng hợp đồng thông minh.
  • Đầu ra (output) – gửi dữ liệu đến hệ thống bên ngoài khi thực thi hợp đồng thông minh chẳng hạn như chuyển tiếp hướng dẫn thanh toán tới mạng lưới thanh toán truyền thống hoặc những hệ thống không gian mạng thực tế – ảo,…)

Để cung cấp các chứng năng trên, hệ thống oracle phải hoạt động đồng thời cả trên và ngoài Blockchain.

  • Thành phần trên chuỗi là để thiết lập kết nối Blockchain (để lắng nghe yêu cầu), truyền phát dữ liệu, gửi bằng chứng, lấy dữ liệu Blockchain và đôi khi thực hiện tính toán trên Blockchain.
  • Thành phần ngoài chuỗi dành cho các yêu cầu theo quy trình, truy xuất và định dạng dữ liệu bên ngoài, gửi dữ liệu Blockchain đến các hệ thống bên ngoài và có khả năng thực hiện tính toán trong các mạng lưới oracle tiên tiến hơn.

Dưới đây là thông tin một hợp đồng được cung cấp bởi oracle của Chainlink cho bảo hiểm cây trồng được lấy dữ liệu thời tiết từ nhiều nguồn, sử dụng điểm dữ liệu được tổng hợp để kích hoạt thực hiện hợp đồng bảo hiểm trên Blockchain, và thanh toán theo bất kỳ phương thức thanh toán truyền thống nào.

YuRrv1FyTAGNaZ5e0LlEcdKHubpbd8wW0h0BISLNVtBC3qoJ3VUJmJ2CTFaRGf6niioK0uR2b1JEQeNF2Zy 0UoQZOntWs29sZlYW0iE92peO2F4GjqjmPYHkZ0vqZQSFt81kGRl

Tầm quan trọng của Oracles

Oracle rất quan trọng, vì hợp đồng thông minh sẽ không thể hoạt động nếu không có một số nguồn dữ liệu. Nếu không thể truy cập vào các nguồn thông tin này, ứng dụng của hợp đồng thông minh sẽ bị giảm xuống rất nhiều so với tiềm năng thực sự của chúng.

Bên cạnh đó, các hợp đồng thông minh được ứng dụng rất nhiều trong thế giới thực ở hầu hết các lĩnh vực. Một khi dữ liệu được đưa vào Blockchain, thông tin có thể được sử dụng để thực thi các hợp đồng và cung cấp cho các trường hợp sử dụng chúng, việc không có oracle sẽ gây ảnh hưởng tiêu cực đến hợp đồng thông minh rồi từ đó có thể gián đoạn cho các ngành công nghiệp trên diện rộng.

Phân loại Blockchain oracle

Có thể phân loại các oracle trên Blockchain tuỳ 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?
Độ tin cậy – dữ liệu là tập trung hay phi tập trung?

L5WGHiFhxOMBQgMzyu2dqWTtMRT13LHjyy3CtXZsPlDUIZ0U1bD 6wXzKV4RhVD1nyKXeG4ocvatAJyNfACJrZfyTMxqVS sTEDJ76d1oB1 wPMxXqW5wZWcyG7M32PnmobxqA i

Software oracles (oracle phần mềm) là gì?

Các oracle phần mềm tương tác với các nguồn thông tin trực tuyết 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ết, 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 phổ biến nhất hiện nay trên Blockchain.

Các oracle phần mềm có thể cung cấp các thông tin bao gồm tỷ giá hối đoái, giá tài sản kỹ thuật số hoặc thông tin chuyến bay theo thời gian thực.

Hardware oracles (oracle phần cứng) là gì?

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 hoá đã đến địa điểm 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à sau đó hợp đồng thông minh này sẽ ra các quyết định dựa trên thông tin đó.

Inbound (oracle nhận thông tin) and outbound oracles (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 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.

Ví dụ, một oracle nhận thông tin sẽ cung cấp cho hợp đồng thông minh thông tin về nhiệt độ mà cảm biến đo được. Một oracle gửi thông tin có thể được kết hợp sử dụng với khoá thông minh. Khi tiền đã được gửi vào địa chỉ, hợp đồng thông minh sẽ gửi thông tin này qua một oracle gửi thông tin đến một hệ thống để mở khoá thông minh.

Centralized oracles (oracle tập trung) and decentralized oracles (oracle 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 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 điểm yếu chí tử, đ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.

Những rủi ro chính đối với oracle tập trung có thể kể đến (Centralized oracle)
Cho dù là nhóm phát triển của ứng dụng hợp đồng thông minh tự chạy oracle của họ hay dựa vào dịch vụ oracle của bên thứ ba thì cả hai tình huống đều đã trao quyền quá mức cho một thực thể duy nhất để tác động đến hợp đồng thông minh thông qua sự kiểm soát của oracle. Mặc dù nhà điều hành oracle tập trung có thể hoạt động với mục đích tốt nhất, nhưng họ vẫn phải chịu tất cả các vấn đề tập trung phổ biến hiện nay như thời gian không hoạt động, các cuộc tấn công DDOS, hack và không đủ năng lực để vận hành, tất cả đều khiến tiền của người dùng gặp rủi ro lớn. Ngay cả những thực thể có uy tín cao cũng có thể phải chịu áp lực một khi giá trị của hợp đồng thay đổi, khiến họ dễ bị hối lộ, đe doạ và áp lực pháp lý, …

Để khắc phục những thiếu sót này, oracle cần phải được bảo mật tốt và độ tin cậy cao

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 khi 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 thông tin đáng tin cậy duy nhất. Hợp đồng thông minh sẽ 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 dự án Blockchain khác. Các oracle phi tập trung cũng 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.

Mặc dù các oracle phi tập trung nhằm mục đích đạt được tính không cần sự tin cậy của một bên nhất định, cần lưu ý rằng cũng giống như các mạng Blockchain không cần sự tin cậy, các oracle phi tập trung không loại bỏ hoàn toàn vai trò của sự tin cậy mà là phân chia chúng cho nhiều người tham gia.

Contract-specific oracles (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.

Việc duy trì loại oracle này tốn rất nhiều thời gian và 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ể.

Human oracles (các oracle con người)

Đôi khi những người có kiến thức chuyên ngành trong một lĩnh vực cụ thể cũng có thể đóng vai trò như một oracle. Họ có thể nghiên cứ và xác minh tính xác thực của thông tin từ nhiều nguồn khác nhau và chuyển các thông tin đó đến các hợp đồng thông minh. Vì các oracle con người có thể xác minh danh tính của họ bằng cách sử dụng mật mã, nên nguy cơ họ bị giả mạo danh tính và cung cấp dữ liệu lỗi là tương đối thấp.

Tin tức khác

Index