Nghiên cứu sâu về thuật toán Eigentrust của OpenRank: Làm thế nào để xây dựng lớp tính toán xã hội?

Tác giả: Andrew Hong

Biên soạn: Ladyfinger, BlockBeats

Biên tập viên chú ý:

Trong bài viết này, tác giả đi sâu vào thuật toán Eigentrust của OpenRank, đây là một công nghệ mới hiện đang được sử dụng bởi Metamask Snaps, Degen tips và Supercast. OpenRank là một tầng tính toán có thể chạy nhiều thuật toán đồ thị uy tín, thuật toán eigentrust được giới thiệu đầu tiên. Tác giả chia sẻ về lý do tại sao cần xây dựng đồ thị cộng đồng, các khái niệm chính của thuật toán, cách nó hoạt động và cách tạo ra đồ thị riêng của mình. Ngoài ra, tác giả cũng giới thiệu sự kiện Bytexplorers sắp tới và khuyến khích độc giả đăng ký để nhận thông tin mới nhất.

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Hiện nay, phần lớn các tiền điện tử hàng đầu đều bao gồm bảng xếp hạng đơn giản, được sắp xếp theo khối lượng giao dịch, thanh khoản, đúc, điểm, bỏ phiếu, v.v. Nếu chúng ta muốn tham gia vào trải nghiệm tiền điện tử tiêu dùng vượt trội hơn so với các đối thủ Web2 hiện tại, thì ứng dụng của chúng ta cần nhiều hơn chỉ là bảng xếp hạng.

OpenRank là một trong những nền tảng cốt lõi giúp chúng tôi đạt được mục tiêu này và đã được sử dụng bởi Metamask Snaps, Degen Tips và Supercast. OpenRank là một lớp tính toán có thể chạy nhiều thuật toán đồ thị uy tín, trong đó thuật toán đầu tiên là thuật toán eigentrust.

Trong bài viết này, tôi sẽ giới thiệu thuật toán eigentrust của OpenRank và thảo luận về các nội dung sau:

Tầm quan trọng của xây dựng cộng đồng hình ảnh và tại sao bạn cần chúng.

Các khái niệm chính và nguyên lý hoạt động của thuật toán này

Làm thế nào để tạo biểu đồ của bạn, tham khảo biểu đồ tôi đã tạo trong sổ tay Python của mình

Hãy bắt đầu ngay!

Tại sao bạn nên xây dựng biểu đồ đề xuất cùng cộng đồng thay vì chỉ dựa vào nhóm máy học của bạn?

Khi xây dựng thuật toán và luồng gợi ý trong tiền điện tử, bạn sẽ nhanh chóng đối mặt với một số vấn đề dữ liệu:

· Giao dịch bao gồm nhiều lớp thao tác

· Mối quan hệ giữa các địa chỉ có thể trở nên vô cùng phức tạp thông qua nhiều giao dịch.

· Địa chỉ chứa một phần danh tính, và mỗi danh tính liên quan đến ngữ cảnh khác nhau

Các yếu tố trên đều phát triển với tốc độ mũ không ngừng, chúng ta gọi những yếu tố ngày càng tăng lên này là "bối cảnh".

Nhóm ML nhỏ của bạn không thể đuổi kịp những ý tưởng vô tận này

Bạn cũng không muốn nhóm phụ trợ hoặc kỹ thuật dữ liệu của mình giải quyết những vấn đề này, sau tất cả, họ có một sản phẩm để xây dựng. Những ngày mà các ứng dụng có người dùng và cấu trúc dữ liệu người dùng đã kết thúc và thay vì chỉ có một liên kết, ID người dùng, thích / trả lời / chia sẻ và ID bài đăng đơn giản, bạn có thể sàn giao dịch, tách, Thả, hoán đổi, thế chấp, ủy quyền, bỏ phiếu, đang đúc và hơn thế nữa. Hầu như mỗi ngày, các "hoạt động" mới xuất hiện, cũng như các chuỗi mới, các loại Ví mới, các loại danh tính mới, v.v.

Tôi tin rằng trong năm tiếp theo, ngành công nghiệp tiền điện tử sẽ phát triển một cộng đồng khoa học dữ liệu đồ thị dựa trên giao thức và sản phẩm OpenRank

Tôi đã ở trong cộng đồng wizard của Dune từ nhiều năm trước và đã chứng kiến sức mạnh của cộng đồng vượt qua khả năng của các nhóm nhỏ. Tôi cũng thấy hầu như mọi nhóm mã hóa nhỏ từ việc 'Chúng ta có thể hoàn thành công việc này chỉ với một nút và cơ sở dữ liệu RDS' đến việc 'Chúng ta cần sử dụng các công cụ dữ liệu được xây dựng bởi cộng đồng như The Graph và Dune'. Đối với tôi, việc tạo ra các truy vấn và biểu đồ kết hợp cho luồng đề xuất và điều chỉnh của cộng đồng dựa trên loại cụ thể là một vấn đề tương tự. Chúng ta cần bắt đầu thu thập và kiểm tra các biểu đồ có thể cung cấp luồng đề xuất trên mọi ứng dụng, từ khách hàng Farcaster đến trình duyệt khối.

Một khái niệm dòng tin được đề xuất là phi hình thái và sẽ bị loại bỏ. Người dùng trở thành người tổ chức nội dung.

Trong lĩnh vực tiền điện tử, người dùng không chỉ muốn đưa biểu đồ mạng xã hội của họ vào các ứng dụng khác nhau, mà còn muốn đưa cả ngữ cảnh ẩn trong những biểu đồ đó đi cùng. Nếu tôi theo dõi tích cực cộng đồng/degen trên Farcaster, tôi muốn được đề xuất các hoạt động của cộng đồng này trên Zora, Roam.xyz hoặc OnceUpon, và tôi muốn có thể chuyển đổi đề xuất đó sang ngữ cảnh của một cộng đồng khác mà tôi tham gia, ví dụ như những người sưu tập artblocks. Tương lai sẽ là thời đại mà người dùng khám phá và lựa chọn feed của riêng họ, thay vì bị hạn chế trong chức năng nhóm hoặc kênh trên một nền tảng duy nhất.

Thuật toán Eigentrust của OpenRank hoạt động như thế nào?

Thuật toán Eigentrust tương tự như PageRank, nó xếp hạng các nút trong mạng đồ thị. Khác biệt là nó tập trung vào việc nắm bắt các mối quan hệ phức tạp giữa các cặp điểm, như là phân phối tin tưởng. Ban đầu, nó được xây dựng để phân bổ điểm tin tưởng trong mạng chia sẻ tệp. Trong lĩnh vực tiền điện tử, bạn có thể tưởng tượng sử dụng nó để đại diện cho các bên tuyển trạch chất lượng cao hoặc nhận dạng các hợp đồng thông minh đáng tin cậy.

Dưới đây là công thức của Eigentrust:

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Có hai đầu vào quan trọng ở trên: nút đáng tin cậy trước và đồ thị đáng tin cậy địa phương. 「P」 là đầu vào đáng tin cậy trước của bạn, 「S」 là đồ thị đáng tin cậy địa phương của bạn.

· Đáng tin cậy địa phương(localtrust): Đây là đo lường tương tác giữa hai nút khi nút 'i' chuyển giá trị nào đó cho nút 'j'. Điều này có thể là việc chuyển đổi token, chứng minh, bình chọn trả lời/like, v.v.

· Pretrust: Đây là lựa chọn 'hạt giống' của các nút mạng mà bạn nên tin cậy hơn trong mạng lưới mà bạn đã chọn.

· 「c」:Hằng số này (trong khoảng từ 0 đến 1) là trọng số của giá trị tin cậy giữa biểu đồ tin cậy toàn cầu và hạt giống tin cậy. Biểu đồ tương tác thường có phân phối mũ, vì vậy trọng số tin cậy dự đoán cao giúp điều chỉnh phân phối giá trị xếp hạng cuối cùng.

Nếu các công thức toán học này khó hiểu, bạn có thể tưởng tượng chúng như một mạng xã hội như Twitter, với những người theo dõi, like, phản hồi và ảnh hưởng thường tập trung vào một số người, tạo ra hiệu ứng quyền lực mũ. Bằng cách thiết lập một nhóm cá nhân có ảnh hưởng và chọn hằng số 'c' là 0.5 hoặc cao hơn, thực tế là những người tương tác với những cá nhân đáng tin cậy này sẽ kế thừa một nửa giá trị của quyền lực đó. Đây là cách để cân bằng và phân phối điểm tin cậy một cách đồng đều hơn trên mạng.

Điều này liên quan đến việc lựa chọn bất kỳ ngữ cảnh nào và tạo bất kỳ luồng gợi ý nào không?

Giả sử bạn muốn sắp xếp 10000 đề xuất tài trợ trong một luồng đề xuất. Dựa trên một tập hợp tương tác bỏ phiếu (niềm tin cục bộ) và một tập hợp những người bỏ phiếu được tin cậy mà bạn chọn (tín nhiệm trước), bạn có thể xếp hạng giá trị của tất cả người bỏ phiếu và người đề xuất. Bạn có thể chọn 10 người bỏ phiếu mà bạn đã ủy quyền bỏ phiếu trong nhiều DAO để chọn ra những người bỏ phiếu được tin cậy trước của bạn. Eigentrust sẽ chạy dựa trên hai đầu vào này và cung cấp cho bạn một danh sách người bỏ phiếu lớn hơn, xếp hạng theo sự tin cậy được thừa kế từ các nút tin cậy trước trong đồ thị.

Vì vậy, bạn có thể sử dụng danh sách giá trị xếp hạng này để cân nhắc các đề xuất quản trị thời gian thực và nhận được luồng gợi ý cá nhân hóa hơn ngay bây giờ!

Điều này có thể vẫn quá trừu tượng, vì vậy tôi sẽ giải thích thông qua các ví dụ cụ thể trong phần tiếp theo. Hãy nhớ rằng OpenRank xử lý tính toán và lưu trữ các biểu đồ Eigentrust này và đề xuất bạn có thể sử dụng luồng đề xuất được đầu ra. Điều bạn cần làm chỉ là quyết định đầu vào tin cậy trước và tin cậy cục bộ.

Làm thế nào để xây dựng đồ thị Eigentrust bằng OpenRank?

Mục tiêu cuối cùng

Trong ví dụ này, tôi muốn cung cấp luồng đăng ký hợp đồng được đề xuất dựa trên ví tiền người dùng của Farcaster/base (Farcaster là một ứng dụng tương tự Twitter). Đầu ra chỉ là một danh sách chứa id và giá trị, trong đồ thị của tôi, mỗi id đều liên quan đến một fid của người dùng Farcaster.

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Nguồn dữ liệu

Sau khi tạo biểu đồ xếp hạng, chúng tôi đã tự động tạo ra luồng giới thiệu này dựa trên các hợp đồng chính của họ trong tuần trước:

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Nguồn dữ liệu

Bạn có thể xem bảng điều khiển để xem các luồng tiếp theo được tạo ra từ biểu đồ này, chẳng hạn như đúc NFT, giao dịch token DEX và hoạt động kênh Farcaster.

Triển khai mã

Bây giờ bạn đã nhìn thấy mục tiêu, chúng ta hãy nói về cách tôi đã tạo ra biểu đồ xếp hạng này.

Tất cả mã trong ví dụ này đều có thể được tìm thấy trong sổ tay hex.tech, nếu bạn thích chạy cục bộ, bạn cũng có thể sử dụng sổ tay jupyter.

Trước tiên, tôi đã tạo hai truy vấn riêng cho niềm tin trước và niềm tin cục bộ của chúng tôi:

Truy vấn đầu tiên là 'nút tin cậy trước'. Truy vấn này dựa trên tương tác nhận được (like, chia sẻ, trả lời) để xuất ra người dùng hàng đầu trong kênh /base. Công thức của tôi là (like + 3 chia sẻ + 10 trả lời). Chúng tôi sẽ lấy 100 id đầu tiên từ truy vấn này làm các nút tin cậy của chúng tôi.

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Nguồn dữ liệu

Truy vấn thứ hai được sử dụng để theo dõi tương tác trên chuỗi giữa các nút, sử dụng địa chỉ liên kết của người dùng trong kênh /base. Vì luồng đăng ký sẽ đẩy các hoạt động trên chuỗi, vì vậy tôi muốn đảm bảo lựa chọn biểu đồ tương tác dựa trên lượng tương tác trên chuỗi. Việc sử dụng giá trị đô la được chuyển từ nút này sang nút khác là một đại lý phổ quát tốt - tôi đã theo dõi các chuyển đổi đồng sáng lập và ETH trên các mạng Optimism, Base và Ethereum chính.

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Nguồn dữ liệu

Phân tích đồ thị đầu vào và kiểm tra đồ thị Eigentrust đầu ra

Hiện tại chúng ta đã có các nút tin cậy trước và đồ thị tin cậy cục bộ, hãy xem một số dữ liệu tổng hợp. Trong kênh /base, có 65.755 người dùng đã chuyển token cho những người khác trong kênh này, và từ nút tin cậy trước của chúng ta, chúng ta có thể duyệt qua 19% đồ thị (tức là các nút kết nối). Tỷ lệ này có thể thay đổi tùy thuộc vào mức độ Sybil của dữ liệu tin cậy cục bộ. Việc chuyển token có thể là một tín hiệu cao, nhưng cũng có thể là swiping độc hại, vì vậy không ngạc nhiên khi hầu hết đồ thị không được kết nối.

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Sau khi xác nhận kích thước và kết nối dữ liệu đầu vào hợp lý, chúng ta có thể chạy và lưu Eigentrust của mình. Tôi đã lưu đồ thị của mình với id "base_transfer_50"- bạn có thể thấy chỉ cần 10 dòng mã là có thể huấn luyện đồ thị. OpenRank SDK có thể được coi như là scikit-learn của mô hình đồ thị mã hóa.

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Còn nhớ hằng số 'c' trong công thức phía trên không? Hãy thực hiện tìm kiếm lưới với các giá trị c khác nhau (tôi gọi chúng là alpha) và kích thước hạt giống tin cậy khác nhau, để xem giá trị nào có thể cung cấp cho chúng ta điểm số tin cậy phân phối chuẩn tối đa và tỷ lệ bao phủ cao nhất:

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

Ở đây có rất nhiều sự cân nhắc, không có một giá trị tối ưu cụ thể để lựa chọn. Nếu bạn muốn đề xuất có tính đa dạng mạnh mẽ, thì việc chính quy hóa cao và tỷ lệ phủ sóng là một lựa chọn tốt, nhưng đối với việc bỏ phiếu quản trị có rủi ro cao, bạn có thể muốn tập trung đáng tin cậy hơn. Ở đây bạn có thể sử dụng trực giác của mình.

Từ đây, chúng ta có thể chèn giá trị vào truy vấn đăng ký được liên kết khi bảng điều khiển của Dune bắt đầu, để có được luồng tương tác hợp đồng của người dùng được tin tưởng trong kênh /base. Đầu ra khuyến nghị chủ quan này giúp chúng tôi liên kết các chỉ số chung trước đó với dự kiến ​​trực giác của chúng tôi về chất lượng đầu ra khuyến nghị.

深入探讨OpenRank的Eigentrust算法:如何构建社交计算层?

搞定了!Bạn có thể ngay lập tức sử dụng API Dune này để cung cấp năng lượng cho bất kỳ ứng dụng nào của mình.

Học cách xây dựng đồ thị OpenRank Eigentrust của riêng bạn

Bạn đã sẵn sàng tự làm chưa? Bạn có thể fork sổ ghi chú của tôi và thử làm mọi thứ một mình, tất cả các liên kết cần thiết như sau:

· Tài liệu OpenRank

·Python SDK kho lưu trữ

·Sổ tay Python

Bảng điều khiển Dune feed

Trong tháng tới, tôi sẽ tiến hành một nhiệm vụ Bytexplorers, chúng ta sẽ thiết kế đồ thị luồng đăng ký tốt nhất cho ứng dụng mã hóa hàng đầu.

DEGEN6.27%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 1
  • Chia sẻ
Bình luận
0/400
LookForwardTo~vip
· 2024-06-24 02:47
Tấn công 100x coin 📈
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)