Bài toán Blockchain Oracle

Bài toán Blockchain Oracle

Bài toán blockchain oracle là một trong những rào cản quan trọng nhất cần giải quyết để cho phép các hợp đồng thông minh trên các mạng như Ethereum đạt được sự chấp nhận hàng loạt (mass adoption) trên nhiều thị trường và trường hợp sử dụng.

Các hợp đồng thông minh chạy trên blockchain mang lại tiềm năng to lớn để tái xác định cách nhiều bên khác nhau tham gia vào các thỏa thuận hợp đồng được chia sẻ và giá trị trao đổi. Hoạt động tách biệt với nền kinh tế hợp đồng thông minh là nền kinh tế kỹ thuật số phi blockchain lớn hơn nhiều, được tạo thành từ tất cả các thiết bị được kết nối Internet hiện đang tính toán trực tuyến. Sản phẩm phụ của cơ sở hạ tầng kỹ thuật số này là một kho dữ liệu và API ngày càng mở rộng cung cấp thông tin chi tiết về cách thế giới hoạt động; ví dụ. Kết quả tìm kiếm trên Internet hiển thị các chủ đề thảo luận phổ biến trong xã hội hoặc các cảm biến IoT hiển thị các mẫu giao thông phổ biến.

Các hợp đồng thông minh dựa trên blockchain và dữ liệu truyền thống và nền kinh tế API có tiềm năng to lớn để trở thành những khối xây dựng tương lai của tự động hóa theo hướng dữ liệu, nhưng câu hỏi đặt ra là làm thế nào để hai thế giới này kết nối với nhau? Điều này bao gồm mấu chốt của “bài toán oracle” và sẽ là trọng tâm của bài viết này.

Bài viết sẽ được chia thành năm phần chính:

  • Xác định bài toán oracle
  • Phác thảo công việc của một oracle
  • Thảo luận lý do tại sao các blockchain như Ethereum không cung cấp các giải pháp oracle ngay trong nó
  • Xác định các rủi ro bảo mật của oracles tập trung
  • Giới thiệu Chainlink, tiêu chuẩn cho các phép tắc phi tập trung an toàn và đáng tin cậy

Bài toán Oracle

Bài toán Oracle hay vấn dề Oracle xoay quanh một hạn chế rất đơn giản – các blockchain không thể lấy dữ liệu từ hoặc đẩy dữ liệu ra bất kỳ hệ thống bên ngoài nào dưới dạng một chức năng tích hợp.

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

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

Cầu nối kết nối giữa blockchain (trên chuỗi – on-chain) và thế giới bên ngoài (ngoài chuỗi – off-chain) yêu cầu một phần cơ sở hạ tầng bổ sung và riêng biệt được gọi là ‘oracle’.

Blockchain Oracles làm những việc gì?

Blockchain oracle là phần mềm trung gian an toàn tạo điều kiện giao tiếp giữa các blockchain và bất kỳ hệ thống ngoài chuỗi nào, bao gồm các nhà cung cấp dữ liệu, API web, backend của doanh nghiệp, nhà cung cấp dịch vụ đám mây, thiết bị IoT, chữ ký điện tử, hệ thống thanh toán, các blockchain khác, v.v. Oracles bao gồm một số chức năng chính:

  • Lắng nghe – giám sát mạng blockchain để kiểm tra bất kỳ người dùng đến hoặc yêu cầu hợp đồng thông minh nào đối với dữ liệu ngoài chuỗi
  • Trích xuất – tìm nạp dữ liệu từ một hoặc nhiều hệ thống bên ngoài, chẳng hạn như API ngoài chuỗi được lưu trữ trên máy chủ web của bên thứ ba
  • Định dạng – cho phép hai hệ thống kết hợp với nhau bằng cách định dạng dữ liệu được truy xuất từ ​​API thành định dạng có thể đọc được (đầu vào) và / hoặc làm cho dữ liệu blockchain tương thích với API bên ngoài (đầu ra)
  • Xác thực – tạo bằng chứng mật mã để chứng thực hiệu suất của các dịch vụ của oracle bằng cách sử dụng bất kỳ sự kết hợp nào của việc ký dữ liệu, ký giao dịch blockchain, chữ ký TLS, chứng thực Môi trường thực thi tin cậy (TEE), bằng chứng không có kiến ​​thức và hơn thế nữa
  • Tính toán – thực hiện một số kiểu tính toán trên dữ liệu, chẳng hạn như tính toán giá trị trung bình từ nhiều lần đệ trình 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, v.v.)
  • Truyền phát – ký và phát một giao dịch trên blockchain như một phương tiện để gửi 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 (tùy chọn) – gửi dữ liệu đến hệ thống bên ngoài khi thực hiện 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 thanh toán truyền thống hoặc ảnh hưởng đến hệ thống vật lý mạng

Để cung cấp các chức 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, trích xuất 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 tiên tiến hơn.

chainlink oracle
Một hợp đồng thông minh do Chainlink oracle cung cấp cho bảo hiểm cây trồng lấy dữ liệu thời tiết từ nhiều nguồn, sử dụng điểm dữ liệu tổng hợp để kích hoạt việc 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.

Tại sao Blockchains không thể giải quyết vấn đề Oracle

Blockchains có độ bảo mật cao và đáng tin cậy vì một số nguyên tắc thiết kế cụ thể. Như đã mô tả ở trên, chúng chỉ cần đưa ra quyết định đối với những câu hỏi rất cơ bản bằng cách sử dụng dữ liệu chỉ được tạo ra trong môi trường của chính nó mà những dữ liệu này có thể là đúng hoặc sai. Ngoài ra, chúng sử dụng phân quyền để vừa xác thực dự phòng cùng một phần dữ liệu bởi tất cả các nút trong mạng vừa đảm bảo rằng một nút hoặc một nhóm nhỏ các nút không thể thay đổi các quy tắc của thuật toán đồng thuận (PoW, PoS, v.v.) và tấn công Sybil mạng, ví dụ: giành được 51% quyền kiểm soát sức mạnh băm. Các thuộc tính này cung cấp sự đảm bảo mạnh mẽ về tính xác định, đặc biệt là trong một mạng phân cấp cao và kháng Sybil.

Tuy nhiên, các blockchains không phù hợp để trả lời các câu hỏi bắt đầu đi sâu vào lĩnh vực chủ quan hoặc yêu cầu dữ liệu bên ngoài mà không phải nút nào trong mạng cũng có thể truy cập được. Ví dụ: một câu hỏi đơn giản như ‘Giá thị trường của Bitcoin là bao nhiêu?’ Hoặc ‘Thời tiết ở New York như thế nào?’ Có thể gợi ra nhiều câu trả lời khác nhau có thể thay đổi tùy thuộc vào nguồn dữ liệu họ sử dụng và khi họ yêu cầu dữ liệu từ một nguồn. Câu hỏi sau đó trở thành, câu trả lời chính xác là gì?

Việc giới thiệu tính chủ quan ở lớp cơ sở của blockchain sẽ mở ra chiếc hộp của Pandora, tức là mở ra 1 mối nguy hại, xung quanh một loạt các mối quan tâm về bảo mật, độ tin cậy và quản trị, điều này có nguy cơ dẫn đến rủi ro cho chính cái đề xuất giá trị mà blockchain hướng đến cung cấp – tính xác định không thiên vị cho các giao dịch điện toán.

Một mối quan tâm lớn là làm thế nào để đảm bảo dữ liệu có chất lượng cao khi không phải mọi nút đều có quyền truy cập dữ liệu như nhau. Ngay cả một yêu cầu dữ liệu cơ bản về giá Bitcoin cũng rất khó khăn vì chỉ cần nhìn vào một trang web hoặc một sàn giao dịch đơn lẻ sẽ không chính xác hoặc đáng tin cậy như một API được đăng ký trả phí từ một công ty tổng hợp dữ liệu chuyên nghiệp với các ưu đãi tài chính để duy trì dịch vụ chất lượng cao và hàng thập kỷ kinh nghiệm lọc dữ liệu và tạo phạm vi thị trường cho tất cả các môi trường giao dịch. Việc quản lý và thực thi kiểm soát chất lượng đối với dữ liệu ngoài chuỗi được gửi bởi các nút blockchain là cực kỳ khó khăn vì bất kỳ ai cũng có thể chạy một nút giả ẩn danh và tất cả họ đều có cơ hội bình đẳng để gửi câu trả lời, nhưng có thể không phải tất cả họ đều sẵn sàng mua API đăng ký ngoài chuỗi chất lượng cao cũng như là việc này không dễ dàng thực thi.

Một mối quan tâm lớn khác là khả năng mở rộng. Mỗi khi nguồn dữ liệu mới cần được thêm vào mạng hoặc phương pháp tổng hợp dữ liệu hiện có phải được điều chỉnh, nó đòi hỏi phải có sự phối hợp quản trị xã hội rộng rãi để mọi nút trong mạng đồng ý và nâng cấp phần mềm của họ. Chi phí quản lý này làm tăng ma sát, làm chậm sự phát triển của các tính năng cốt lõi khác của blockchain (chẳng hạn như PoS và sharding) và hạn chế tốc độ đổi mới của oracle. Cuối cùng, càng có nhiều sự phức tạp ở lớp cơ sở của blockchain, thì càng có nhiều bề mặt tấn công và rủi ro đối với tất cả các ứng dụng chạy trên đó. Ngay cả các ứng dụng không sử dụng oracles hoặc không liên quan đến các yêu cầu dữ liệu đối đầu cũng sẽ bị vướng vào làn đạn và có khả năng bị gián đoạn nếu toàn bộ chuỗi ngừng hoạt động vì sự cố oracle.

Chính vì những lý do này và nhiều lý do khác nữa mà oracles không được tích hợp vào lớp cơ sở của bất kỳ chuỗi khối chính nào, mà thay vào đó hoạt động như các mạng riêng biệt. Điều này đảm bảo rằng các blockchains có bề mặt tấn công thấp hơn và duy trì tính xác định của chúng bằng cách tập trung duy nhất vào sự đồng thuận của blockchain, trong khi oracles có độ linh hoạt cần thiết để tạo ra tính xác định từ một thế giới ngoài chuỗi phức tạp và chủ quan mà không dẫn đến những sự phụ thuộc và giới hạn gây rủi ro toàn bộ chuỗi.

-> Dài quá không đọc: Việc xây dựng mô đun oracle ngay trong lớp nền tảng sẽ rất rủi ro: phức tạp và tạo ra nhiều bề mặt dễ bị tấn công hơn; ảnh hưởng đến các dự án không cần oracle nếu có sự cố.

Oracles tập trung mang lại các rủi ro nghiêm trọng

Toàn bộ mục đích của hợp đồng thông minh là đạt được tính xác định thông qua việc thực thi công nghệ các điều khoản của hợp đồng thay vì thực thi theo xác suất do con người thực thi. Để đạt được mục tiêu này, blockchain không thể có bất kỳ điểm lỗi đơn lẻ nào, điều này có nghĩa là phải tính đến cả các oracle dùng để duy trì các thuộc tính này trong toàn bộ chuỗi hoạt động từ đầu đến cuối của hợp đồng. Tại sao một hợp đồng trị giá hàng triệu đô la lại hoạt động như một hợp đồng thông minh trên một chuỗi khối phân quyền hoàn toàn nếu chỉ có một oracle tập trung duy nhất có thể kiểm soát các đầu vào quyết định kết quả của hợp đồng?

-> Hỏi đơn giản nè: Làm hợp đồng phân quyền có các điều khoản các bên công bằng cùng thống nhất để làm gì rồi lại đi cho cái dữ liệu tác động đến kết quả hợp đồng được nắm bởi 1 bên duy nhất?

centralized oracle single point of failure
Một oracle tập trung là điểm lỗi trong hệ thống

Cho dù là đội ngũ phát triển của ứng dụng hợp đồng thông minh tự chạy oracle hay dựa vào dịch vụ oracle của bên thứ ba, cả hai tình huống đều trao quyền lực quá mức cho một thực thể để tác động đến hợp đồng 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 thiện 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 ngừng hoạt động (downtime), các cuộc tấn công DDOS, hack và tình trạng không đủ năng lực, tất cả đều khiến tiền của người dùng gặp rủi ro lớn. (Tức là cũng giống như phân quyền ở lớp blockchain, thì lớp oracle cũng nên phân quyền, vì cả rủi ro đạo đức và cả rủi ro năng lực khi để quyền quyết định nằm ở 1 đơn vị duy nhất).

Ngay cả những đơn vị tập trung “cao quý” nhất 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 dọa và áp lực pháp lý, mà cuối cùng chỉ cần một người tham gia vào hoạt động của oracle tập trung là có thể tham gia lừa đảo. Mô hình này không thể mở rộng và không phù hợp với ý tưởng về sử dụng cơ sở hạ tầng phi tập trung làm động lực chính của tự động hóa an toàn và đáng tin cậy – ý nghĩa ngay từ đầu của blockchain.

Để khắc phục những thiếu sót này, các oracles cần phải tạo ra các đảm bảo an ninh và độ tin cậy giống như của một blockchain, mặc dù theo một cách hơi khác do có nhiều khác biệt trong cách giải quyết vấn đề của oracle so với việc đạt được sự đồng thuận của blockchain.

Chainlink: Tiêu chuẩn cho oracle an toàn và đáng tin cậy

Để mang lại thuyết xác định cho lớp oracle, Chainlink đã phát triển một mạng lưới oracle phi tập trung có thể cung cấp vô số các đảm bảo khác nhau có thể được sử dụng trong bất kỳ sự kết hợp nào để cung cấp các giải pháp oracle tùy chỉnh cho mọi trường hợp sử dụng.

  • Mã nguồn mở – là một công nghệ mã nguồn mở cho phép cộng đồng blockchain rộng lớn hơn xác minh độc lập tính bảo mật và độ tin cậy của mã nguồn và các chức năng của Chainlink, cũng như góp phần cải tiến nó
  • Bộ điều hợp bên ngoài – cho phép các nút lưu trữ khóa API và quản lý thông tin đăng nhập tài khoản một cách an toàn cho phép các hợp đồng thông minh truy xuất dữ liệu từ bất kỳ hệ thống và API bên ngoài nào, bao gồm cả những hệ thống được bảo vệ bằng mật khẩu / chứng chỉ
  • Phi tập trung – sử dụng phân quyền ở cấp độ nút và nguồn dữ liệu đảm bảo không có một nút hoặc nguồn dữ liệu nào là điểm lỗi duy nhất, cung cấp cho người dùng sự đảm bảo chắc chắn rằng dữ liệu sẽ được phân phối đúng thời hạn và vẫn có khả năng chống thao túng
  • Ký dữ liệu – việc các nút ký mã hóa dữ liệu mà họ cung cấp cho các hợp đồng thông minh cho phép người dùng xác định các nút nào đã gửi dữ liệu và xem lịch sử trước đây của họ để xác định chất lượng hiệu suất của họ
  • Thỏa thuận dịch vụ – sử dụng các thỏa thuận trên chuỗi ràng buộc giữa hợp đồng thông minh được yêu cầu và nhà cung cấp oracle để phác thảo các điều khoản của dịch vụ oracle và hình phạt / phần thưởng cho hiệu suất cung cấp cho người dùng những đảm bảo có thể thực thi đối với yêu cầu dữ liệu ngoài chuỗi
  • Hệ thống danh tiếng – cung cấp dữ liệu trên chuỗi đã ký vào hệ thống danh tiếng cho phép người dùng đưa ra quyết định sáng suốt về nút nào tốt và nút nào không dựa trên nhiều chỉ số như công việc thành công, khách hàng được phục vụ, thời gian phản hồi trung bình, v.v.
  • Dịch vụ chứng nhận – cho phép các nút tăng cường bảo mật và độ tin cậy cho người dùng bằng cách đạt được bất kỳ số chứng nhận nào có thể cung cấp các đảm bảo chính nhất định như KYC, vị trí địa lý của nút, đánh giá bảo mật về cơ sở hạ tầng của họ, v.v.
  • Mật mã và phần cứng nâng cao – cung cấp tính linh hoạt cho mật mã nâng cao hơn (như Bằng chứng không kiến thức – zero knowledge proofs) và phần cứng (chẳng hạn như môi trường thực thi đáng tin cậy) cho phép các oracles thực hiện các chức năng bổ sung như chứng minh nguồn gốc của dữ liệu cho một hợp đồng thông minh (ví dụ: dữ liệu cụ thể đến từ một cụ thể máy chủ), giữ bí mật dữ liệu khỏi chính oracle, thực hiện tính toán ngoài chuỗi và hơn thế nữa

Trên đây chỉ là một số trong số rất nhiều tính năng được cung cấp bởi Chainlink nhằm cung cấp cho người dùng toàn bộ các đảm bảo để đảm bảo một cơ chế oracle có độ an toàn cao và đáng tin cậy.

Bằng cách xây dựng các tính năng chính này trên Chainlink, các hợp đồng thông minh trên bất kỳ blockchain nào giờ đây có thể truy cập dữ liệu ngoài chuỗi mà không phải hy sinh giá trị cốt lõi của tính xác định, cung cấp nền tảng vững chắc để xây dựng tương lai của tự động hóa theo hướng dữ liệu.

Liên hệ dự án

adminVinaCrypted

Please contact @Ramonryu on Telegram for collaboration. Vui lòng liên hệ Telegram @Ramonryu để hợp tác

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.