Bài học 1

Hiểu về oracle và sự phát triển của chúng

Mô-đun này giới thiệu vấn đề cốt lõi mà oracle giải quyết: kết nối các blockchain riêng lẻ với dữ liệu thực tế. Nó giải thích vấn đề về oracle, theo dõi các giải pháp tập trung ban đầu và cho thấy cách các mạng oracle phi tập trung xuất hiện để giảm các điểm lỗi đơn lẻ. Người học cũng sẽ khám phá các loại oracle khác nhau, cơ chế xác minh và phân phối dữ liệu, cũng như quá trình chuyển đổi sang các thiết kế có thể lập trình bổ sung tính năng điện toán, tính ngẫu nhiên và giao tiếp chuỗi chéo.

Tại sao blockchain cần đến oracle

Hợp đồng thông minh được thực thi một cách xác định để mọi node đều đạt được cùng một kết quả từ cùng một đầu vào. Tính chất này đảm bảo sự đồng thuận nhưng lại cô lập các chuỗi khỏi thế giới bên ngoài. Nếu không có cách nào để tiếp nhận thông tin thực tế, hợp đồng thông minh chỉ có thể phản ứng với các sự kiện trên chuỗi. Thị trường, bảo hiểm, hậu cần, trò chơi, danh tính và tuân thủ đều phụ thuộc vào dữ liệu có nguồn gốc ngoài chuỗi. Các oracle ra đời để thu hẹp khoảng cách này bằng cách thu thập các thông tin bên ngoài và cung cấp chúng cho các hợp đồng theo cách mà các node có thể xác minh và đồng ý.

Vấn đề oracle

Việc giới thiệu nguồn dữ liệu bên ngoài sẽ tạo ra ranh giới tin cậy mới. Nếu một bên kiểm soát dữ liệu, hợp đồng sẽ kế thừa độ tin cậy và các ưu đãi của bên đó. Một thông tin đầu vào sai hoặc bị trì hoãn có thể dẫn đến thanh lý, định giá sai hoặc giao dịch bị dừng lại. “Vấn đề về Oracle” là thách thức trong việc cung cấp dữ liệu chính xác, kịp thời mà không cần tạo lại điểm lỗi tập trung. Các câu hỏi cốt lõi là ai cung cấp dữ liệu, cách đối chiếu nhiều quan điểm và bằng chứng mà chuỗi nhận được để biện minh cho việc chấp nhận.

Thiết kế oracle ban đầu

Cách tiếp cận ban đầu là các rơle đơn giản đẩy phản hồi API theo yêu cầu. Những thiết kế này giúp việc phát triển trở nên dễ dàng nhưng lại tập trung rủi ro. Chúng cũng gặp khó khăn với độ trễ trong những giai đoạn tắc nghẽn và thiếu trách nhiệm giải trình rõ ràng khi nguồn cấp dữ liệu không phù hợp với thực tế. Khi tài chính phi tập trung phát triển, các giao thức yêu cầu dữ liệu đầu vào về giá vừa có khả năng chống giả mạo vừa có sẵn trong thời gian khối. Giải pháp là phân bổ trách nhiệm của oracle cho các người vận hành độc lập và tổng hợp báo cáo của họ trên chuỗi.

Các loại oracle và hướng dữ liệu

Các oracle khác nhau về hướng đi và bản chất của thông tin mà chúng xử lý. Oracle đưa các thông tin bên ngoài vào hợp đồng, chẳng hạn như giá thị trường, dữ liệu thời tiết, bản quét lô hàng hoặc xác nhận danh tính. Oracle gửi đi cho phép các hợp đồng kích hoạt các hành động trong hệ thống bên ngoài, chẳng hạn như khởi tạo khoản thanh toán thông qua API ngân hàng hoặc cập nhật nền tảng hậu cần.

Oracle phần mềm lấy dữ liệu từ các dịch vụ web, trong khi oracle phần cứng lấy dữ liệu từ các thiết bị như cảm biến và mô-đun bảo mật. Oracle chuỗi chéo truyền đạt trạng thái giữa các sổ cái để hợp đồng trên một chuỗi có thể phản ứng với các sự kiện trên chuỗi khác. Mỗi biến thể phải đề cập đến tính chính xác, tính kịp thời và khả năng chống lại sự thao túng trong bối cảnh của nó.

Từ nguồn cấp dữ liệu đơn lẻ đến mạng lưới oracle phi tập trung

Mạng lưới oracle phi tập trung xuất hiện nhằm mục đích giảm bớt ảnh hưởng của bất kỳ bên cung cấp nào. Nhiều node lấy dữ liệu từ nhiều nguồn khác nhau, ký các quan sát của họ và cam kết chúng vào chuỗi. Hợp đồng đọc một dữ liệu tổng hợp như trung vị hoặc trung vị có trọng số. Kiến trúc này hạn chế tác động của các báo cáo lỗi hoặc độc hại, cung cấp khả năng dự phòng khi xảy ra sự cố và cho phép kiểm tra minh bạch các bản cập nhật nguồn cấp dữ liệu theo thời gian. Các ưu đãi và hình phạt ở cấp độ mạng lưới giúp điều chỉnh hành vi bằng cách khen thưởng những báo cáo trung thực và ngăn chặn hành vi sai lệch.

Cơ chế xác minh và phân phối dữ liệu

Một luồng thông thường bắt đầu ngoài chuỗi, tại đó các node truy vấn các nguồn chính và phụ, chuẩn hóa định dạng và áp dụng kiểm tra tính hợp lý. Các quan sát được ký và chuyển đến hợp đồng tổng hợp trên chuỗi để xác minh chữ ký và điện toán kết quả. Cập nhật nhịp độ cân bằng giữa độ tươi và chi phí gas. Một số mạng sử dụng các bản cập nhật dựa trên đẩy theo ngưỡng chênh lệch giá, trong khi những mạng khác cho phép đọc dựa trên kéo để kích hoạt bản cập nhật theo yêu cầu. Các kỹ thuật mã hóa, chẳng hạn như chữ ký ngưỡng hoặc điện toán đa bên, có thể nén nhiều chứng thực thành một bằng chứng nhỏ gọn để giảm dấu vết trên chuỗi.

Sự chuyển đổi sang mạng lưới oracle có thể lập trình

Chuyển tiếp dữ liệu tĩnh hạn chế khả năng biểu đạt. Mạng lưới oracle có thể lập trình mở rộng mô hình bằng cách cho phép mã ngoài chuỗi chuyển đổi, xác thực hoặc biên soạn dữ liệu trước khi phân phối. Thay vì cung cấp số liệu thời tiết thô, chương trình oracle có thể đánh giá các điều khoản chính sách và điện toán thông số chi trả. Thay vì chuyển tiếp một giá trị API duy nhất, nó có thể đối chiếu nhiều nguồn, lọc các giá trị ngoại lệ, áp dụng logic cụ thể cho từng miền và đưa ra kết quả có thể kiểm tra được. Cách tiếp cận này di chuyển một số phép tính đến một môi trường có thể truy cập toàn bộ internet trong khi vẫn duy trì liên kết có thể xác minh được với người dùng trên chuỗi.

Tính ngẫu nhiên có thể xác minh được như một dịch vụ oracle chuyên biệt

Các ứng dụng phụ thuộc vào sự may rủi đòi hỏi tính ngẫu nhiên, công bằng và có thể xác minh công khai. Tính ngẫu nhiên giả trên chuỗi bắt nguồn từ các biến khối có thể dự đoán được đối với thợ đào và người xác thực. Các hàm ngẫu nhiên có thể xác minh giải quyết vấn đề này bằng cách để một oracle tạo ra một giá trị ngẫu nhiên và bằng chứng cho thấy giá trị đó tương ứng với một bí mật đã cam kết và hạt giống yêu cầu. Hợp đồng xác minh bằng chứng trước khi sử dụng giá trị. Mẫu này hỗ trợ xổ số công bằng, cơ chế trò chơi, đặc điểm NFT ngẫu nhiên và bất kỳ phân bổ nào phải chống lại sự thao túng.

Truyền thông điệp chuỗi chéo và bằng chứng trạng thái

Khi các hệ sinh thái phân mảnh thành nhiều chuỗi, oracle bắt đầu truyền tải thông điệp và chứng thực giữa chúng. Các phương pháp đơn giản nhất dựa vào các liên bang ký kết các quan sát về các sự kiện trên chuỗi nguồn. Các thiết kế tiên tiến hơn kết hợp các bằng chứng của máy khách nhẹ với chứng thực của ủy ban để chứng minh sự bao hàm của các sự kiện mà không cần tin tưởng vào một bên nào. Mục tiêu là để chuỗi đích chỉ chấp nhận thông điệp khi có đủ bằng chứng cho thấy thông điệp đó đã được hoàn thiện ở nguồn, do đó giảm bề mặt tấn công thường gặp trong kiến trúc cầu nối naïve.

Mô hình bảo mật và chế độ lỗi

Bảo mật oracle dựa trên sự đa dạng của các nguồn dữ liệu, tính độc lập của các người vận hành node, tổng hợp mạnh mẽ và chính sách cập nhật minh bạch. Kẻ tấn công có thể nhắm mục tiêu vào API, xâm phạm người vận hành, thao túng thị trường thanh khoản thấp để tác động đến giá được báo cáo hoặc khai thác khoảng cách thời gian giữa các bản cập nhật. Các biện pháp phòng thủ bao gồm danh sách trắng nguồn có sự chồng chéo, danh tiếng và staking cho người vận hành, bộ ngắt mạch dựa trên độ lệch, kiểm tra giới hạn và logic dự phòng đóng băng hoặc làm chậm quá trình cập nhật khi phát hiện ra bất thường. Việc xác minh chính thức các hợp đồng tổng hợp trên chuỗi và giám sát liên tục hành vi cấp dữ liệu giúp giảm thiểu rủi ro vận hành.

Các ưu đãi và quản trị kinh tế

Những oracle đáng tin cậy đòi hỏi nền kinh tế bền vững. Các mạng trả tiền cho các người vận hành để thu thập và báo cáo dữ liệu và có thể yêu cầu tài sản thế chấp có thể bị cắt giảm đối với hành vi sai trái có thể chứng minh được. Các mô hình phí phải bao gồm chi phí thu thập dữ liệu, chi phí mật mã và gas trên chuỗi nhưng vẫn phải đảm bảo mức giá phải chăng cho người tiêu dùng. Quản trị xác định cách tạo nguồn cấp dữ liệu, nguồn nào được cấp phép, cách cho phép hoặc luân chuyển người vận hành và cách áp dụng các quy trình khẩn cấp. Các chính sách rõ ràng, được cam kết trước sẽ giảm thiểu sự tùy tiện trong các sự cố và cải thiện khả năng dự đoán cho bên tích hợp.

Sự đánh đổi giữa hiệu suất, độ trễ và chi phí

Mức độ phi tập trung cao hơn thường ngụ ý cần thu thập nhiều chữ ký hơn và xác minh trên chuỗi nhiều hơn, làm tăng độ trễ và chi phí. Ngược lại, các ủy ban nhỏ hơn hoặc các rơle đơn lẻ sẽ giảm chi phí nhưng mở rộng các giả định về độ tin cậy. Tần suất cập nhật cũng quan trọng: việc cập nhật thường xuyên sẽ cải thiện độ mới nhưng lại làm tăng lượng gas sử dụng, trong khi các bản cập nhật thưa thớt có thể bị lỗi thời trong quá trình biến động. Thiết kế có thể lập trình bổ sung điện toán ngoài chuỗi, mang lại sự linh hoạt nhưng lại tạo ra một bề mặt khác phải được chứng thực hoặc kiểm toán. Mỗi ứng dụng sẽ chọn một điểm trong những sự đánh đổi này dựa trên khả năng chịu rủi ro và yêu cầu về tính kịp thời của ứng dụng đó.

Tuân thủ, quyền dữ liệu và nguồn gốc

Oracle tương tác với dữ liệu có thể được cấp phép, quản lý hoặc nhạy cảm với quyền riêng tư. Bên cung cấp phải tôn trọng các điều khoản sử dụng, lưu giữ hồ sơ nguồn gốc và trong một số trường hợp phải biên tập hoặc tổng hợp thông tin nhận dạng cá nhân trước khi công bố trên sổ cái công khai. Đối với những địa điểm được quản lý, có thể cần phải có nguồn cấp dữ liệu có kiểm soát danh tính và phân phối được cấp phép. Siêu dữ liệu nguồn gốc và dấu vết kiểm toán giúp người dùng xuôi dòng đánh giá xem giá trị nhất định có được tạo ra trong điều kiện chấp nhận được hay không.

Kỹ thuật và vận hành độ tin cậy

Việc triển khai thực tế coi mạng lưới oracle như hệ thống sản xuất có khả năng quan sát chặt chẽ. Người vận hành chạy cơ sở hạ tầng dự phòng trên nhiều vùng, theo dõi tình trạng nguồn và kiểm tra đường dẫn dự phòng. Thử nghiệm Canary, báo cáo bóng và các kịch bản căng thẳng mô phỏng sẽ tiết lộ điểm yếu trước khi chúng ảnh hưởng đến người tiêu dùng. Quy trình ứng phó sự cố xác định ngưỡng để tạm dừng cập nhật, xoay vòng khóa hoặc chuyển sang nguồn dự phòng. Đánh giá sau sự cố sẽ phản hồi lại cấu hình, lựa chọn nguồn và chính sách của người vận hành.

Quỹ đạo phát triển của oracle

Các oracle bắt đầu như những cầu nối tạm thời tạo nên sự tin tưởng đáng kể. Chúng phát triển thành các mạng lưới phi tập trung tổng hợp các báo cáo độc lập, sau đó thành các hệ thống có thể lập trình thực thi logic miền ngoài chuỗi trong khi lưu trữ kết quả trên chuỗi. Các dịch vụ chuyên biệt như tính ngẫu nhiên có thể xác minh và truyền thông điệp chuỗi chéo đã mở rộng vai trò của chúng từ việc cung cấp dữ liệu sang phối hợp trên khắp các hệ thống. Điểm chung là giảm thiểu sự kiểm soát đơn phương trong khi vẫn đảm bảo tính kịp thời và khả năng biểu đạt mà các trường hợp sử dụng trong thế giới thực yêu cầu. Khi các mạng oracle có thể lập trình hoàn thiện, chúng hoạt động ít giống như các phụ kiện hơn mà giống như một lớp thực thi song song bổ sung cho các hợp đồng trên chuỗi, cho phép các ứng dụng phi tập trung tương tác an toàn và có thể dự đoán được với dữ liệu và điện toán bên ngoài.

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.