Khám phá
Kết nối với cộng đồng và khám phá ý tưởng mới.
Kiếm phần của bạn từ 1000 Sui
Tích lũy điểm danh tiếng và nhận phần thưởng khi giúp cộng đồng Sui phát triển.
Cộng Đồng
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Bài viết hàng đầuCác thành viên hàng đầu- 1891
- 1865
- 1820
Move is an executable bytecode language used to implement custom transactions and smart contracts.
Bài viết hàng đầuCác thành viên hàng đầu- 271
- 260
- 251
Web3 (also known as Web 3.0) is an idea for a new iteration of the World Wide Web which incorporates concepts such as decentralization, blockchain technologies, and token-based economics.
Bài viết hàng đầuCác thành viên hàng đầu- 397
- 193
- 141
The Graph is a decentralized protocol for indexing and querying blockchain data. The Graph makes it possible to query data that is difficult to query directly.
Bài viết hàng đầuCác thành viên hàng đầu- 2565
- 10
- 10
Aave is a decentralized non-custodial liquidity protocol where users can participate as depositors or borrowers.
Bài viết hàng đầuCác thành viên hàng đầu- 148
- 138
- 74
Peera is a decentralized questions and answers protocol for Web3 where users can organize and store their interests and skills, creating a common community platform
Bài viết hàng đầuCác thành viên hàng đầu- 328
- 286
- 225
Cyfrin Updraft is an education platform specializing on teaching the next generation of smart contract developers
Các thành viên hàng đầu- 1780
- 75
- 60
The InterPlanetary File System (IPFS) is a protocol, hypermedia and file sharing peer-to-peer network for storing and sharing data in a distributed file system.
Bài viết hàng đầuCác thành viên hàng đầu- 25
- 20
- 20
Polygon is a decentralised Ethereum scaling platform that enables developers to build scalable user-friendly dApps with low transaction fees without ever sacrificing on security.
Bài viết hàng đầuAnkr makes accessing Web3 easy for those who want to build and earn on the future web. Ankr is the main infrastructure provider for Polygon, BNB Smart Chain, and Fantom.
Bài viết hàng đầuCác thành viên hàng đầu- 89
- 43
- 34
Walrus is a decentralized storage and data availability protocol designed specifically for large binary files, or "blobs"
Bài viết hàng đầuCác thành viên hàng đầu- 41
- 40
- 38
Koii is a new way to design communications infrastructure that distributes computing authority across a wider group of personal devices.
Bài viết hàng đầuCác thành viên hàng đầu- 402
- 188
- 80
Functionland is replacing Cloud Storage and Service Subscription economy by introducing a new category of products, called Blockchain-Attached Storage. It creates value by auto-minting crypto for the users and allocating a share to the developers.
Bài viết hàng đầuSolidity is an object-oriented, high-level language for implementing smart contracts. It is a curly-bracket language designed to target the Ethereum Virtual Machine (EVM).
Bài viết hàng đầuCác thành viên hàng đầu- 76
- 55
- 46
Fractal Visions is a builder owned and operated creative web3 NFT project hub and a multifaceted & multidimensional experience. Bridging the gap between the physical and digital world.
Các thành viên hàng đầu- 30
- 27
- 23
- Bài viết hàng đầuCác thành viên hàng đầu
- 12
- 11
- 10
Vyper is a relatively new, pythonic programming language used to write smart contracts. Vyper targets Ethereum Virtual Machine making it virtually impossible for developers to code misleading programs.
Bài viết hàng đầuCác thành viên hàng đầu- 40
- 22
- 20
Tiền thưởng
- +15Xavier.eth313Dành choSuiJun 27, 2025
Giao dịch Sui thất bại: Đối tượng được dành riêng cho giao dịch khác
Tôi gặp phải một sự kiên trì JsonRpcErrorkhi cố gắng thực hiện giao dịch trên Sui. Lỗi chỉ ra rằng các đối tượng được dành riêng cho một giao dịch khác, mặc dù tôi đã thực hiện xử lý giao dịch tuần tự với độ trễ. JsonRpcError: Failed to sign transaction by a quorum of validators because one or more of its objects is reserved for another transaction. Other transactions locking these objects: AV7coSQHWg5vN3S47xada6UiZGW54xxUNhRv1QUPqWK (stake 33.83) 0x1c20f15cbe780ee7586a2df90c1ab70861ca77a15970bea8702a8cf97bd3eed9 0x1c20f15cbe780ee7586a2df90c1ab70861ca77a15970bea8702a8cf97bd3eed9 0x1c20f15cbe780ee7586a2df90c1ab70861ca77a15970bea8702a8cf97bd3eed9 Tôi đã thử: Thực hiện giao dịch tuần tự (chờ giao dịch trước hoàn thành) Thêm độ trễ 3 giây giữa các giao dịch Và vẫn gặp phải lỗi tương tự một cách nhất quán. Sử dụng Sui RPC để gửi giao dịch. Cùng một ID đối tượng xuất hiện nhiều lần trong danh sách khóa. Lỗi xảy ra ngay cả với trình tự giao dịch cẩn thận. Điều gì khiến các đối tượng bị “dành riêng” cho các giao dịch khác? Làm thế nào tôi có thể kiểm tra chính xác xem một đối tượng có sẵn hay không trước khi sử dụng nó trong một giao dịch? Có những phương pháp hay nhất để xử lý khóa đối tượng ở Sui không? Điều này có liên quan đến thời điểm cuối cùng của giao dịch không? Có ai gặp phải vấn đề này trước đây không? Bất kỳ thông tin chi tiết nào về quản lý đối tượng phù hợp trong giao dịch Sui sẽ được đánh giá cao!
25 - +15Xavier.eth313Dành choSuiJun 17, 2025
Làm thế nào để các ràng buộc về khả năng tương tác với các trường động trong các bộ sưu tập không đồng nhất?
Tôi đang xây dựng một thị trường cần xử lý nhiều loại tài sản với các yêu cầu về khả năng khác nhau và tôi đã gặp một số câu hỏi cơ bản về hệ thống loại hình của Move. Tôi muốn lưu trữ các loại tài sản khác nhau trong cùng một bộ sưu tập, nhưng chúng có khả năng khác nhau: NFT thông thường: key + store(có thể chuyển nhượng) Mã thông báo Soulbound: key chỉ (không thể chuyển nhượng) Tài sản tùy chỉnh với các hạn chế chuyển nhượng public struct Marketplace has key { id: UID, listings: Bag, // Want to store different asset types here } // This works for transferable assets public fun list_transferable( marketplace: &mut Marketplace, asset: T, price: u64 ) { /* ... */ } // But how to handle soulbound assets? public fun list_soulbound( // No store ability marketplace: &mut Marketplace, asset_ref: &T, // Can only take reference price: u64 ) { /* How do I store metadata about this? */ } Các câu hỏi chính: Yêu cầu về khả năng: Khi sử dụngdynamic_field::add(), Vcó luôn cần store lúc biên dịch không? Các loại bao bọc có thể giải quyết được điều này không? Lưu trữ không đồng nhất: Một Túi duy nhất có thể lưu trữ các đối tượng với các bộ khả năng khác nhau (key + store + copyvskey + store) và xử lý chúng khác nhau khi chạy không? An toàn kiểu: Vì trường động thực hiện xóa kiểu, làm thế nào để duy trì độ an toàn kiểu khi truy xuất giá trị? Mẫu để lưu trữ siêu dữ liệu loại là gì? Mẫu nhân chứng: Các ràng buộc về khả năng hoạt động như thế nào với các loại bóng ma? Tôi có thể lưu trữ Assetvà Assettrong cùng một bộ sưu tập và trích xuất thông tin loại sau này không? Xây dựng một hệ thống mà NFT, token soulbound và tài sản bị hạn chế đều cần chức năng thị trường nhưng với ngữ nghĩa chuyển khác nhau. Tôi đã thử các loại bao bọc, nhiều bộ sưu tập cho mỗi bộ khả năng, lưu trữ siêu dữ liệu loại riêng biệt. Mỗi loại đều có sự đánh đổi giữa an toàn loại, chi phí khí đốt và độ phức tạp.
05 - +10Dành choSuiMay 29, 2025
Tại sao BCS yêu cầu thứ tự trường chính xác để khử chuỗi khi cấu trúc Move có các trường được đặt tên?
Tại sao BCS yêu cầu thứ tự trường chính xác để khử chuỗi khi cấu trúc Move có các trường được đặt tên? Tôi đã đi sâu vào mã hóa/giải mã BCS trong Move, đặc biệt là cho giao tiếp chuỗi chằng và xử lý dữ liệu ngoài chuỗi. Trong khi xem xét các ví dụ trong tài liệu Sui Move, tôi đã gặp một số hành vi có vẻ phản trực giác và tôi đang cố gắng hiểu các quyết định thiết kế cơ bản. Theo đặc tả của BCS, “không có cấu trúc trong BCS (vì không có kiểu); cấu trúc chỉ đơn giản xác định thứ tự mà các trường được nối tiếp.” Điều này có nghĩa là khi giải mã, chúng ta phải sử dụng peel_*các hàm theo thứ tự chính xác với định nghĩa trường struct. Câu hỏi cụ thể của tôi: Lý do thiết kế: Tại sao BCS yêu cầu khớp thứ tự trường chính xác khi cấu trúc Move có các trường được đặt tên? Sẽ không mạnh mẽ hơn nếu sắp xếp các tên trường cùng với các giá trị, tương tự như JSON hoặc các định dạng tự mô tả khác? Tương tác kiểu chung: Các tài liệu đề cập rằng “các loại chứa các trường kiểu chung có thể được phân tích thành trường kiểu chung đầu tiên.” Hãy xem xét cấu trúc này: struct ComplexObject has drop, copy { id: ID, owner: address, metadata: Metadata, generic_data: T, more_metadata: String, another_generic: U } Chính xác thì quá trình khử phân loại một phần hoạt động như thế nào ở đây? Tôi có thể giải chuỗi tối đa more_metadata và bỏ qua cả hai trường chung hay trường chung đầu tiên (generic_data) có chặn hoàn toàn quá trình giải mã hóa tiếp theo không? Tính nhất quán giữa các ngôn ngữ: Khi sử dụng thư viện JavaScript @mysten /bcs để nối tiếp dữ liệu sẽ được sử dụng bởi hợp đồng Move, điều gì sẽ xảy ra nếu: Tôi vô tình sắp xếp lại các trường trong đối tượng JavaScript? Định nghĩa cấu trúc Move thay đổi thứ tự trường trong nâng cấp hợp đồng? Tôi có cấu trúc lồng nhau với các tham số chung của riêng chúng? Ý nghĩa thực tế: Trong các hệ thống sản xuất, các nhóm xử lý sự tiến hóa lược đồ BCS như thế nào? Bạn có phiên bản lược đồ BCS của mình hay kỳ vọng rằng thứ tự trường cấu trúc là bất biến sau khi được triển khai?
53
Mới nhất
Vai trò của upgrade_cap trong các gói Sui là gì?
Tôi đang cố gắng hiểu khía cạnh này của Mạng Sui bởi vì tôi đang xây dựng, gỡ lỗi hoặc triển khai thứ gì đó chạm vào khu vực này. Tôi muốn giải thích chi tiết về cách cơ chế hoặc tính năng này hoạt động, cùng với cách sử dụng CLI có liên quan, cấu trúc mã di chuyển hoặc các khái niệm kiến trúc. Mục tiêu của tôi là đạt được đủ sự rõ ràng để áp dụng kiến thức này vào một dự án thực tế — cho dù đó là hợp đồng thông minh tùy chỉnh, hệ thống NFT, tích hợp ví hay công cụ DeFi. Mạng Sui có những tính năng độc đáo so với chuỗi EVM, vì vậy tôi đặc biệt quan tâm đến điều gì khiến nó khác biệt và điều đó ảnh hưởng như thế nào đến các thực tiễn phát triển tốt nhất. Sẽ rất hữu ích nếu có mã mẫu, ví dụ dòng lệnh hoặc các lỗi điển hình để theo dõi, đặc biệt là khi sử dụng Sui CLI, SDK hoặc triển khai trên localnet/testnet. Cuối cùng, tôi muốn tránh những sai lầm phổ biến, tuân theo các nguyên tắc bảo mật tốt nhất và đảm bảo rằng chức năng tôi đang làm việc hoạt động như mong đợi trong các điều kiện thực tế.
22Làm cách nào để hợp nhất hai đối tượng coin trong Move?
Tôi đang cố gắng hiểu khía cạnh này của Mạng Sui bởi vì tôi đang xây dựng, gỡ lỗi hoặc triển khai thứ gì đó chạm vào khu vực này. Tôi muốn giải thích chi tiết về cách cơ chế hoặc tính năng này hoạt động, cùng với cách sử dụng CLI có liên quan, cấu trúc mã di chuyển hoặc các khái niệm kiến trúc. Mục tiêu của tôi là đạt được đủ sự rõ ràng để áp dụng kiến thức này vào một dự án thực tế — cho dù đó là hợp đồng thông minh tùy chỉnh, hệ thống NFT, tích hợp ví hay công cụ DeFi. Mạng Sui có những tính năng độc đáo so với chuỗi EVM, vì vậy tôi đặc biệt quan tâm đến điều gì khiến nó khác biệt và điều đó ảnh hưởng như thế nào đến các thực tiễn phát triển tốt nhất. Sẽ rất hữu ích nếu có mã mẫu, ví dụ dòng lệnh hoặc các lỗi điển hình để theo dõi, đặc biệt là khi sử dụng Sui CLI, SDK hoặc triển khai trên localnet/testnet. Cuối cùng, tôi muốn tránh những sai lầm phổ biến, tuân theo các nguyên tắc bảo mật tốt nhất và đảm bảo rằng chức năng tôi đang làm việc hoạt động như mong đợi trong các điều kiện thực tế. *
33Một hợp đồng thông minh có thể sở hữu và biến đổi trạng thái đối tượng của chính nó trong Sui không?
Tôi đang cố gắng hiểu khía cạnh này của Mạng Sui bởi vì tôi đang xây dựng, gỡ lỗi hoặc triển khai thứ gì đó chạm vào khu vực này. Tôi muốn giải thích chi tiết về cách cơ chế hoặc tính năng này hoạt động, cùng với cách sử dụng CLI có liên quan, cấu trúc mã di chuyển hoặc các khái niệm kiến trúc. Mục tiêu của tôi là đạt được đủ sự rõ ràng để áp dụng kiến thức này vào một dự án thực tế — cho dù đó là hợp đồng thông minh tùy chỉnh, hệ thống NFT, tích hợp ví hay công cụ DeFi. Mạng Sui có những tính năng độc đáo so với chuỗi EVM, vì vậy tôi đặc biệt quan tâm đến điều gì khiến nó khác biệt và điều đó ảnh hưởng như thế nào đến các thực tiễn phát triển tốt nhất. Sẽ rất hữu ích nếu có mã mẫu, ví dụ dòng lệnh hoặc các lỗi điển hình để theo dõi, đặc biệt là khi sử dụng Sui CLI, SDK hoặc triển khai trên localnet/testnet. Cuối cùng, tôi muốn tránh những sai lầm phổ biến, tuân theo các nguyên tắc bảo mật tốt nhất và đảm bảo rằng chức năng tôi đang làm việc hoạt động như mong đợi trong các điều kiện thực tế.
32
Chưa có câu trả lời
Tôi có thể mất tiền thật trên Sui Testnet không?
Không, bạn không thể mất tiền thật trên Testnet vì nó sử dụng mã thông báo SUI thử nghiệm, không có giá trị trong thế giới thực. Testnet bị cô lập khỏi Mainnet, vì vậy không có quỹ thực sự liên quan. Tuy nhiên, luôn luôn kiểm tra kỹ xem ví của bạn đã được đặt thành Testnet chưa trước khi giao dịch để tránh hoạt động Mainnet vô tình.
00Tiêu chuẩn hiển thị đối tượng trên Sui là gì?
Tiêu chuẩn hiển thị đối tượng (https://docs.sui.io/standards/object-display) xác định cách các đối tượng Sui (ví dụ: NFT) được hiển thị với siêu dữ liệu như tên, mô tả và URL hình ảnh. Nó được sử dụng để hiển thị nhất quán trong ví và thị trường. Triển khai nó trong hợp đồng Move của bạn bằng cách thêm một cấu trúc Hiển thị với các trường như name và image_url. Xem các ví dụ về Sui NFT để biết mã (https://github.com/MystenLabs/sui).
20- Dành choThe GraphMar 14, 2025
GRT Token - suy nghĩ của bạn là gì?
Graph (GRT) là một giao thức phi tập trung được thiết kế để lập chỉ mục và truy vấn dữ liệu từ các blockchain, bắt đầu với Ethereum. Nó cho phép các nhà phát triển xây dựng và xuất bản các API mở, được gọi là subgraphs, giúp dữ liệu blockchain dễ dàng truy cập cho các ứng dụng phi tập trung (DApps). Mã thông báo gốc, GRT, được sử dụng trong mạng bởi những người tham gia như Người lập chỉ mục, Người quản lý và Người ủy quyền để đảm bảo an ninh kinh tế và tính toàn vẹn của dữ liệu đang được truy vấn. Tính đến ngày 14 tháng 3 năm 2025, GRT đang giao dịch ở mức khoảng 0.094 đô la, với khối lượng giao dịch 24 giờ khoảng 36 triệu đô la. Giá hiện tại này phản ánh sự sụt giảm đáng kể từ mức cao nhất mọi thời đại là 2.84 đô la, cho thấy xu hướng giảm trong vài năm qua. Quỹ đạo giá của GRT đã bị ảnh hưởng bởi các yếu tố khác nhau, bao gồm tiến bộ công nghệ, phát triển quy định và các chỉ số kinh tế vĩ mô rộng hơn. Những yếu tố này đã góp phần chung vào sự giảm giá trị quan sát được theo thời gian. Xin lưu ý rằng thị trường tiền điện tử có nhiều biến động và hiệu suất trong quá khứ không đảm bảo kết quả trong tương lai. Điều cần thiết là tiến hành nghiên cứu kỹ lưỡng và xem xét tình hình tài chính của bạn trước khi đưa ra bất kỳ quyết định đầu tư nào.
00
Xu hướng
AMM Bot trong hệ sinh thái Sui
Các tính năng và chức năng chính của bot AMM trong hệ sinh thái Sui là gì? Làm thế nào để họ cải thiện các cơ chế giao dịch truyền thống và chúng mang lại những lợi thế nào cho người dùng tham gia với các giao thức DeFi trên mạng Sui? Tôi có cần xây dựng một cái hay tôi có thể sử dụng Turbos Finance chẳng hạn
93- 0xduckmove1820Dành choSuiApr 08, 2025
👀 SEAL- Tôi nghĩ quyền riêng tư dữ liệu Web3 sắp thay đổi
👀 SEAL đang phát trực tiếp trên Sui Testnet - Tôi nghĩ quyền riêng tư dữ liệu Web3 sắp thay đổi Trong Web3, người ta thường nghe các cụm từ như* “người dùng sở hữu dữ liệu của họ”* hoặc* “phi tập trung theo thiết kế”*. Nhưng khi bạn nhìn kỹ, nhiều ứng dụng vẫn dựa vào cơ sở hạ tầng tập trung để xử lý dữ liệu nhạy cảm - sử dụng các dịch vụ như AWS hoặc Google Cloud để quản lý khóa. Điều này dẫn đến một mâu thuẫn: phân cấp trên bề mặt, tập trung hóa bên dưới. Nhưng điều gì sẽ xảy ra nếu có một cách để quản lý bí mật một cách an toàn, mà không từ bỏ sự phân cấp? Giới thiệu SEAL — Quản lý bí mật phi tập trung (DSM), hiện đang hoạt động trên Sui Testnet. SEAL nhằm mục đích khắc phục một trong những đạo đức giả lớn nhất của Web3: hét lên phân quyền trong khi bí mật sử dụng AWS Bạn có thể hỏi tôi: SEAL là gì? SEAL là một giao thức cho phép bạn quản lý dữ liệu nhạy cảm một cách an toàn và** phi tập trung - được xây dựng đặc biệt cho thế giới Web3. Hãy nghĩ về nó như một lớp kiểm soát truy cập đầu tiên về quyền riêng tư được cắm vào DApp của bạn. Bạn có thể nghĩ về SEAL như một loại khóa lập trình cho dữ liệu của bạn. Bạn không chỉ khóa và mở khóa mọi thứ theo cách thủ công - bạnviết chính sách trực tiếp vào hợp đồng thông minhcủa mình**, sử dụng Move on Sui. Giả sử bạn đang xây dựng một DApp trong đó: Chỉ những người nắm giữ NFT mới có thể mở khóa hướng dẫn cao cấp Hoặc có thể DAO phải bỏ phiếu trước khi các tệp nhạy cảm được tiết lộ Hoặc bạn muốn siêu dữ liệu bị khóa thời gian và chỉ có thể truy cập sau một ngày cụ thể SEAL làm cho tất cả điều đó trở nên khả thi. Kiểm soát truy cập hoạt động * onchain*, hoàn toàn tự động, không cần quản trị viên để quản lý nó. Chỉ là logic, được nung ngay vào blockchain. SEAL làm cho tất cả điều đó trở nên khả thi. Kiểm soát truy cập hoạt động * onchain*, hoàn toàn tự động, không cần quản trị viên để quản lý nó. Chỉ là logic, được nung ngay vào blockchain. Một phần thú vị khác là cách SEAL xử lý* mã hóa. Nó sử dụng một cái gì đó được gọi là* mã hóa ngưỡng**, có nghĩa là: không một nút nào có thể giải mã dữ liệu. Cần một nhóm các máy chủ để làm việc cùng nhau - giống như multi-sig, nhưng để mở khóa bí mật. Điều này phân phối niềm tin và tránh được vấn đề một điểm thất bại thông thường. Và để giữ mọi thứ thực sự riêng tư, SEAL mã hóa và giải mã mọi thứ* ở phía máy khác*. Dữ liệu của bạn không bao giờ hiển thị cho bất kỳ phụ trợ nào. Nó nằm trong tay bạn - theo nghĩa đen - trên thiết bị của bạn. và SEAL không quan tâm bạn lưu trữ dữ liệu của mình ở đâu. Cho dù đó là IPFS, Arweave, Walrus hay một số nền tảng khác, SEAL không cố gắng kiểm soát phần đó. Nó chỉ tập trung vàoai được phép xem cái gì, chứ không phải * ở đây* mọi thứ được lưu trữ. Vì vậy, vâng, nó không chỉ là một thư viện hoặc API - nó là một lớponchain-first, được kiểm soát truy cập, bảo mật theo mặc địnhcho DApp của bạn. SEAL lấp đầy một khoảng trống khá quan trọng. Hãy chia nhỏ nó hơn một chút. Nếu bạn đang xây dựng DApp xử lý**bất kỳ dạng dữ liệu nhạy cảm nào - nội dung được kiểm soát, tài liệu người dùng, tin nhắn được mã hóa, thậm chí cả siêu dữ liệu NFT bị khóa theo thời gian - bạn sẽ gặp phải vấn đề tương tự: ➡️ Làm thế nào để bạn quản lý quyền truy cập một cách an toàn mà không cần dựa vào dịch vụ tập trung? Nếu không có một cái gì đó như SEAL, hầu hết các đội đều: Sử dụng các công cụ tập trung như AWS KMS hoặc Firebase, điều này rõ ràng đi ngược lại sự phân quyền Hoặc cố gắng tự vá các logic mã hóa nửa chừng lại với nhau, điều này thường trở nên dễ vỡ và khó kiểm tra https://x.com/EmanAbio/status/1908240279720841425?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1908240279720841425%7Ctwgr%5E697f93dc65359d0c8c7d64ddede66c0c4adeadf1%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fwww.notion.so%2Fharryph%2FSEAL-Launches-on-Sui-Testnet-1cc4f8e09bb380969c0dcc627b96cc22 Cả hai đều không cân bằng tốt. Đặc biệt là không phải khi bạn đang cố gắng xây dựng các ứng dụng không đáng tin cậy trên nhiều chuỗi hoặc cộng đồng. SEAL làm cho toàn bộ quá trình đó trở nên mô-đun và có thể lập trình được. Bạn xác định quy tắc truy cập của mình trong hợp đồng thông minh Move và SEAL xử lý phần còn lại - tạo khóa, phê duyệt giải mã và thực thi truy cập - tất cả mà không cần bất kỳ ai cấp khóa theo cách thủ công hoặc chạy kiểm tra phụ trợ. Thậm chí tốt hơn, những quy tắc đó có thể kiểm tra và không thể thay đổi**- một khi chúng được kết nối, họ tuân theo hợp đồng, không phải là quản trị viên con người. Vì vậy, thay vì hỏi “ai nên quản lý quyền truy cập vào dữ liệu này?” bạn chỉ cần hỏi: “Logic nào nên xác định quyền truy cập?” > ... và để dây xích xử lý nó. Sạch sẽ và có thể mở rộng. Đó là những gì làm cho SEAL phù hợp với nhiều hơn là “công cụ bảo mật” - nó là lớp cơ sở cho bất kỳ DApp nào quan tâm đến quyền riêng tư, tuân thủ hoặc logic truy cập động.** Đó là một sự thay đổi nhỏ - nhưng nó thay đổi rất nhiều về cách chúng ta nghĩ về dữ liệu trong Web3. Thay vì mã hóasau triển khai hoặc dựa vào các dịch vụ bên ngoài,* bạn bắt đầu với quyền riêng tư tích hợp sẵn - và quyền truy cập được xử lý hoàn toàn bằng logic hợp đồng thông minh.* Và đó chính xác là những gì Web3 cần ngay bây giờ. SEAL thực sự hoạt động như thế nào? Chúng tôi đã đề cập đếnSEAL là gìvà* tại sao Web3 cần nó*, hãy xem nó thực sự được xây dựng như thế nào dưới mui xe. Phần này là nơi mọi thứ trở nên kỹ thuật hơn - nhưng theo một cách tốt. Kiến trúc thanh lịch khi bạn thấy tất cả các mảnh khớp với nhau như thế nào. Ở cấp độ cao, SEAL hoạt động bằng cách kết hợplogic truy cập onchainvớiquản lý khóa offchain, sử dụng một kỹ thuật gọi làMã hóa dựa trên danh tính (IBE). Điều này cho phép các nhà phát triển mã hóa dữ liệu * thành một danh tính, và sau đó dựa vào hợp đồng thông minh để xác định *ai được phép giải mã dữ liệu đó. Bước 1: Quy tắc truy cập trong Hợp đồng thông minh (trên Sui) Mọi thứ bắt đầu với hợp đồng thông minh. Khi bạn đang sử dụng SEAL, bạn xác định một hàm gọi là seal_trong hợp đồng Move của bạn - đây là nơi bạn viết các điều kiện để giải mã. Ví dụ: đây là một quy tắc khóa thời gian đơn giản được viết trong Move: entry fun seal_approve(id: vector, c: &clock::Clock) { let mut prepared: BCS = bcs::new(id); let t = prepared.peel_u64(); let leftovers = prepared.into_remainder_bytes(); assert!((leftovers.length() == 0) && (c.timestamp_ms() >= t), ENoAccess); } Sau khi được triển khai, hợp đồng này hoạt động như người gác cổng. Bất cứ khi nào ai đó muốn giải mã dữ liệu, yêu cầu của họ sẽ được kiểm tra dựa trên logic này. Nếu nó đi qua, chìa khóa sẽ được giải phóng. Nếu không, chúng bị chặn. Không ai phải can thiệp. ##Bước 2: Mã hóa dựa trên danh tính (IBE) Đây là nơi phép thuật xảy ra. Thay vì mã hóa dữ liệu cho một địa chỉ ví cụ thể (như với PGP hoặc RSA), SEAL sử dụng* chuỗi danh tính*- nghĩa là bạn mã hóa thành một cái gì đó như: Địa chỉ 0xwalletaddress dao_bỏ phiếu: proposal_xyz PKGID_2025_05_01 (quy tắc dựa trên dấu thời gian) hoặc thậm chí game_user_nft_holder Khi dữ liệu được mã hóa, nó trông như thế này: Encrypt(mpk, identity, message) mpk = khóa công khai chính (mọi người đều biết đến) danh tính = người nhận được xác định logic tin nhắn = dữ liệu thực tế Sau đó, nếu ai đó muốn giải mã, máy chủ khóa sẽ kiểm tra xem họ có khớp với chính sách hay không (thông qua cuộc gọi seal_approbe onchain). Nếu nó được chấp thuận, nó sẽ trả về khóa riêng có nguồn gốc cho danh tính đó. Derive(msk, identity) → sk Decrypt(sk, encrypted_data) Người dùng sau đó có thể giải mã nội dung cục bộ. Vì vậy, mã hóa được thực hiện mà không cần phải biết ai sẽ giải mã trước thời hạn. Bạn chỉ cần xác định các điều kiện* và SEAL sẽ tìm ra phần còn lại sau. Nó năng động. ##Bước 3: Máy chủ chìa khóa - Offchain, nhưng không tập trung hóa Bạn có thể tự hỏi: ai đang giữ các phím chính này? Đây là nơi* Máy chủ chínhcủa SEAL*xuất hiện. Hãy nghĩ về nó như một backend mà: Giữ khóa bí mật chính (msk) Xem các hợp đồng trên chuỗi (như logic seal_approbe của bạn) Chỉ phát hành các khóa có nguồn gốc nếu các điều kiện được thỏa mãn Nhưng - và đây là chìa khóa - SEAL không chỉ dựa vào * một* máy chủ chìa khóa. Bạn có thể chạy nó ở chế độ người**, trong đó nhiều máy chủ độc lập cần phải đồng ý trước khi khóa giải mã được phát hành. Ví dụ: 3 trong 5 máy chủ chìa khóa phải chấp thuận yêu cầu. Điều này tránh các điểm thất bại trung tâm và cho phép phân cấp ở tầng quản lý chính. Thậm chí tốt hơn, trong tương lai SEAL sẽ hỗ trợMPC (tính toán đa bên) vàthiết lập dựa trên enclave(như TEE) - vì vậy bạn có thể nhận được sự đảm bảo mạnh mẽ hơn mà không ảnh hưởng đến khả năng sử dụng. ##Bước 4: Giải mã phía máy khác Khi khóa được trả lại cho người dùng, quá trình giải mã thực tế sẽ xảy ratrên thiết bị của họ. Điều này có nghĩa là: Máy chủ không bao giờ nhìn thấy dữ liệu của bạn Phần phụ trợ không bao giờ lưu trữ nội dung được giải mã Chỉ người dùng mới có thể truy cập tin nhắn cuối cùng Đó là một mô hình riêng tư vững chắc. Ngay cả khi ai đó xâm phạm lớp lưu trữ (IPFS, Arweave, v.v.), họ vẫn không thể đọc dữ liệu mà không truyền logic truy cập. Đây là mô hình tinh thần nhanh chóng: Cấu trúc này giúp dễ dàng xây dựng DApps nơi các quy tắc truy cập không được mã hóa cứng - chúng động, có thể kiểm tra và được tích hợp đầy đủ vào logic chuỗi của bạn. ##* Đội ngũ đằng sau SEAL* SEAL được dẫn dắt bởi* Samczsun*, một nhân vật nổi tiếng trong cộng đồng bảo mật blockchain. Trước đây là Đối tác Nghiên cứu tại Paradigm, ông đã kiểm toán và cứu nhiều hệ sinh thái khỏi những khai thác lớn. Giờ đây, anh ấy tập trung toàn thời gian vào việc xây dựng SEAL thành một phần cốt lõi của cơ sở hạ tầng quyền riêng tư của Web3. Với nền tảng và uy tín của mình, SEAL không chỉ là một công cụ thử nghiệm khác - đó là một nỗ lực nghiêm túc trong việc làm cho quyền riêng tư dữ liệu phi tập trung trở nên thiết thực và có thể mở rộng. Khi SEAL được phát hành trên Sui Testnet, nó mang đến một tiêu chuẩn mới về cách các ứng dụng Web3 có thể quản lý bí mật. Bằng cách kết hợp kiểm soát truy cập onchain, mã hóa ngưỡng và quyền riêng tư phía máy khách, SEAL cung cấp một nền tảng đáng tin cậy hơn cho việc xử lý dữ liệu phi tập trung. Cho dù bạn đang xây dựng DApps, DAO hay trò chơi phi tập trung - SEAL cung cấp một bộ công cụ mạnh mẽ để thực thi kiểm soát truy cập và bảo vệ dữ liệu người dùng mà không ảnh hưởng đến phân quyền. Nếu Web3 sẽ tiến về phía trước, cơ sở hạ tầng an toàn như SEAL không phải là tùy chọn - đó là điều cần thiết
8 Có phải cách duy nhất để xuất bản gói Move thông qua EOA không?
Tôi cho rằng không có cách nào trên chuỗi Sui vì không có mô-đun nào trên chuỗi xuất bản các gói.
73