Beacon có thể cung cấp dữ liệu cho các ứng dụng phi tập trung khác nhau, chẳng hạn như cho vay DeFi, tài sản tổng hợp, stable coin, NFT và hơn thế nữa.
1. Beacon là gì?
Beacon là nguồn cung cấp dữ liệu Web3 của bên thứ nhất (first-party), mà không có node oracle của bên thứ ba (third-party) làm người trung gian. Beacon cho phép các nhà phát triển hợp đồng thông minh (smart contract) kết nối các ứng dụng Web3 của họ với các luồng dữ liệu ngoài chuỗi (off-chain) và được cập nhật liên tục, chẳng hạn như giá tiền mã hóa, chứng khoán….
Beacon có thể cung cấp dữ liệu cho các ứng dụng phi tập trung khác nhau, chẳng hạn như cho vay DeFi, tài sản tổng hợp, stable coin, NFT và hơn thế nữa.
Được vận hành bởi các nhà cung cấp dữ liệu đáng tin cậy nhất trên thị trường, Beacon minh bạch, tiết kiệm chi phí và có thể mở rộng để các hợp đồng thông minh tương tác với dữ liệu ngoài chuỗi mà họ cần.
Để đạt được thiết kế hoàn toàn minh bạch và an toàn, Beacon được điều hành trực tiếp bởi nhà cung cấp API của dữ liệu mà họ phân phát, mà không có nhà điều hành của node bên thứ ba được sử dụng làm trình chuyển tiếp dữ liệu (data relayer). Điều này có nghĩa là khi gọi Beacon để biết giá mới nhất của tài sản (asset), hợp đồng thông minh của bạn sẽ nhận được giá trị trực tiếp từ API của nhà cung cấp dữ liệu gốc.
2. Beacon giải quyết vấn đề gì
Vấn đề đang mắc phải của các oracle hiện nay
Điểm yếu trong các mô hình oracle phi tập trung hiện nay là giả định rằng việc cung cấp dữ liệu cho một dịch vụ thông qua nhiều node hoặc API làm cho nó trở nên phi tập trung hơn.
Lấy ví dụ về vấn đề gần đây với API CoinMarketCap
Như trên hình bạn có thể thấy, nhìn có vẻ như 01node bị ảnh hưởng bởi sự cố vì báo sai giá của BTC là $389B, nhưng vấn đề chính ở đây là 01node sử dụng API CMC hay họ đang sử dụng các API khác đã báo cáo sai vì họ đang theo mô hình oracle phi tập trung hiện nay.
Giải pháp của Beacon
Oracles của bên thứ nhất (first-party) ánh xạ one-to-one giữa các nguồn dữ liệu và oracles. Việc thảo luận về tính minh bạch của dữ liệu là không cần thiết, vì oracle là nguồn dữ liệu và nguồn dữ liệu là oracle. Điều này rất hữu ích trong việc xử lý các vấn đề như báo cáo sai của CMC gần đây, bởi vì người ta có thể đảm bảo rằng các oracle của bên thứ nhất (first-party) được đảm bảo không bị ảnh hưởng bởi sự cố. Hơn nữa, điều này cho phép các dự án lựa chọn các phép tắc của họ dựa trên hiệu suất nguồn dữ liệu. So với điều này, bạn không thể biết được mức độ nào của oracle bên thứ ba (third-party) sẽ bị ảnh hưởng bởi lỗi như vậy hoặc liệu họ có thực hiện các biện pháp phòng ngừa trong tương lai vì nguồn dữ liệu của họ không thể được điều tra một cách minh bạch hay không.
Oracle của bên thứ nhất (first-party) sẽ hoạt động tốt hơn trong trường hợp có vấn đề về nguồn dữ liệu, trong khi các giải pháp của bên thứ ba (third-party) che khuất các điểm yếu cho đến khi gặp phải vấn đề thảm hại.
Chính vì thế Beacon ra đời và là một nguồn cấp dữ liệu atomic được cung cấp bởi một oracle bên thứ nhất (first-party) duy nhất.
3. Các lý do nên dùng Beacon
Là nguồn cấp dữ liệu của bên thứ nhất trên chuỗi, Beacon cung cấp một lớp khả năng tổng hợp đơn giản và đáng tin cậy để xây dựng các dAPI, dApps, v.v. minh bạch, đáng tin cậy và tiết kiệm chi phí hơn.
Nguồn dữ liệu minh bạch
Một ưu điểm chính của Beacon là tính minh bạch của nguồn dữ liệu: Beacon được vận hành bởi oracle bên thứ nhất (first-party) và do đó mang danh tiếng, độ tin cậy của nhà cung cấp dữ liệu đó.
Bằng cách kết hợp các Beacon, các dAPI có thể có được khả năng phục hồi và độ tin cậy mà không làm mất đi độ tin cậy và tính minh bạch của các Beacon riêng lẻ. Đây là một giải pháp thay thế hấp dẫn đối với sự che giấu của các mục đích “phi tập trung” khác không báo cáo số lượng cũng như danh tính của các API cung cấp nguồn cấp dữ liệu của họ. Người ta chỉ phải xem xét nhiều trường hợp giá tiền mã hóa bị báo cáo sai bởi các oracle của bên thứ ba (third-party) để có bằng chứng cho thấy sự minh bạch hơn trong thành phần nguồn cấp dữ liệu, sẽ cho phép nguồn cấp dữ liệu linh hoạt hơn, ít thất bại thảm hại hơn và trải nghiệm người dùng tổng thể tốt hơn.
Chi phí hiệu quả
Beacon cũng là một cơ chế tiết kiệm chi phí để thu thập dữ liệu ngoài chuỗi đáng tin cậy. Trong các tình huống mà một Beacon độc lập đủ đáng tin cậy và việc phân quyền hơn nữa sẽ tạo ra chi phí không cần thiết, chi phí có thể được giảm thiểu bằng cách tận dụng nguồn dữ liệu đơn lẻ này. Đối với các tình huống yêu cầu dAPI, Beacon cho phép thành phần minh bạch của số lượng nguồn dữ liệu thích hợp cho trường hợp sử dụng cụ thể.
Tính đơn giản
Một ưu điểm lớn khác của Beacon là tính đơn giản của chúng. Các nhà phát triển có thể nhanh chóng tích hợp dữ liệu Beacon bằng cách truy cập vào bộ nhớ hợp đồng trên chuỗi (on-chain).
Vấn đề danh tiếng
Các dAPI được chọn bao gồm các bộ Beacon được tuyển chọn sẽ cung cấp năng lượng (power) cho các ứng dụng mới yêu cầu đảm bảo bảo mật cụ thể. Các đảm bảo này sẽ được cung cấp bởi API3 dưới dạng dịch vụ bảo hiểm, có thể thanh toán trong trường hợp dAPI bị trục trặc.
Có thể mở rộng
Beacon có trọng lượng nhẹ (light-weight) và khả năng mở rộng cao. Mở rộng quy mô cho chuỗi hiệu suất cao. Thu nhỏ quy mô cho nhiều trường hợp sử dụng không khả thi với nguồn cấp dữ liệu truyền thống.
Nhìn chung, Beacon cung cấp cho các nhà phát triển một giải pháp cải tiến để truy cập dữ liệu ngoài chuỗi (off-chain) một cách đơn giản, minh bạch, đáng tin cậy và tiết kiệm chi phí. Nguyên thủy mới này hấp dẫn cả đối với các trường hợp sử dụng oracle truyền thống và đối với các ứng dụng blockchain mới lạ, không khả thi trước đây.
4. Các thành phần của Beacon
Hợp đồng Máy chủ Beacon
Hợp đồng Máy chủ Beacon (RrpBeaconServer.sol ) duy trì một bộ nhớ cache các giá trị Beacon trên chuỗi có sẵn để các hợp đồng thông minh truy xuất ngay lập tức như được minh họa trong hình bên dưới. Beacon được cập nhật khi phát hiện dung sai được xác định trước của giá trị Beacon. Mỗi Beacon có các thông số cấu hình riêng xác định thời điểm và cách thức nó cập nhật.
Airnode
Làm cho tất cả hoạt động là một hệ thống đơn giản và hiệu quả thúc đẩy Airnodes của bên thứ nhất để giữ cho các giá trị Beacon riêng lẻ được cập nhật. Khi giá trị của Beacon nằm ngoài mức dung sai được xác định trước, nó sẽ tự cập nhật bằng cách gọi Airnode liên quan của nó.
Trong hình bên dưới, Beacons on-chain yêu cầu cập nhật từ Airnode ngoài chuỗi được liên kết của họ. Chủ sở hữu của Airnode (một nhà cung cấp API) định cấu hình dung sai được xác định trước của giá trị Beacon cũng như tần suất để kiểm tra độ lệch dung sai. Giá trị của Beacon được cập nhật khi giá trị ngoài chuỗi nằm ngoài dung sai được xác định của giá trị Beacon. Lưu ý rằng một Airnode có thể liên quan đến nhiều hơn một Beacon.
dAPIs – xây dựng trên Beacon
Để khai thác thêm lợi ích của Beacon, các dAPI sắp ra mắt sẽ cho phép các nhà phát triển dApp một công cụ mới mạnh mẽ để nhanh chóng có được các giá trị Beacon tổng hợp trên chuỗi.
dAPI, giống như Beacon, là nguồn cấp dữ liệu được xây dựng hoàn toàn trên chuỗi bằng cách tổng hợp dữ liệu từ nhiều hơn một Beacon. Vì chúng được xây dựng trên lớp Beacon nên dữ liệu của chúng cũng từ nhà cung cấp API bên thứ nhất do Airnodes sở hữu và điều hành .
dAPI sử dụng dữ liệu từ Beacon để cung cấp giá trị tổng hợp. Ví dụ: trong biểu đồ ở trên có thể có một dAPI cho giá ETH/USD, trong đó nó lấy các giá khác nhau từ nhiều Beacon như giá trị báo hiệu CoinGecko ETH/USD, giá trị báo hiệu Binance ETH/USD… Một dAPI như vậy sẽ tổng hợp và cung cấp giá trị cho cặp ETH/USD. Đây chỉ là một trường hợp sử dụng cho một dAPI từ các khả năng vô tận.
5. Tổng kết
Hy vọng với những thông tin trên sẽ giúp các bạn có cái nhìn tổng quan về Beacon