Bài Viết
Tài liệu học tập & hướng dẫn về Sui
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.
Bài viết
42- Bài Viết0xduckmove288May 31, 2025
Biến ví thành các tác nhân thông minh có thể lập trình, có thể lập trình được.
Account.tech là một khung mã nguồn mở trên blockchain Sui giới thiệu Tài khoản thông minh có tính chất lượng cao các đối tượng tài khoản linh hoạt, an toàn và có thể tùy chỉnh có thể thực hiện các hành động trên chuỗi thông qua kiến trúc mô-đun, dựa trên ý định. Hãy nghĩ về nó giống như ví có thể lập trình với hỗ trợ gốc cho multisig, logic DAO, thực thi theo lịch trình, kiểm soát truy cập động và hơn thế nữa. Tại sao lại là tài khoản thông minh? Các tài khoản truyền thống chỉ là các container thụ động. Họ nắm giữ tài sản và ký các giao dịch. Tài khoản thông minh là các thực thể hoạt động, có thể lập trình có thể xác định logic sở hữu, tự động hóa quy trình công việc và quản lý tài sản dựa trên các quy tắc. Với Account.tech, các quy tắc này tồn tại trên chuỗi, có thể tùy chỉnh thông qua các mô-đun Move và được thực thi thông qua Intents. Khái niệm chính Cấu trúc tài khoản thông minh public struct Account has key, store { id: UID, metadata: Metadata, deps: Deps, intents: Intents, config: Config, } Tài khoản thông minh là một đối tượng được chia sẻ chứa: Siêu dữ liệu: thông tin mô tả Deps - các gói phụ thuộc được sử dụng Ý định - yêu cầu đang chờ xử lý hoặc đang hoạt động để thực hiện các hành động Cấu hình - bộ quy tắc tùy chỉnh (ví dụ: multisig, dựa trên vai trò, logic DAO) Mỗi tài khoản có một mô-đun Config duy nhất xác định cách giải quyết ý định. Thực hiện dựa trên ý định Ý định là một yêu cầu có cấu trúc để thực hiện một hoặc nhiều hành động trên chuỗi. Nó tiến triển qua 3 giai đoạn: [ ] Yêu cầu người dùng tạo ý định với các hành động [ ] Độ phân giải - mô-đun cấu hình kiểm tra xem các điều kiện có được đáp ứng không [ ] Thực thi - bất cứ ai cũng có thể thực hiện ý định khi nó hợp lệ Ví dụ: ý định chuyển tiền bằng nhiều thẻ sẽ chỉ thực hiện khi có đủ thành viên chấp thuận. Hành động = Đơn vị thực thi mô-đun Mỗi hành động là một cấu trúc Move độc lập, như: struct WithdrawAction { object_id: ID } struct TransferAction { recipient: address } Bạn có thể soạn nhiều hành động trong một ý định. Ví dụ: Withdraw → Transfer → Withdraw → Transfer Điều này cho phép các quy trình công việc nâng cao - như hoán đổi nguyên tử, chuyển hàng loạt, phát hành kho lưu trữ dựa trên thời gian, v.v. Cấu hình: Logic sở hữu có thể tùy chỉnh Kiểu cấu hình xác định cách giải quyết ý định. Bạn có thể cắm logic như: ✅ Multisig với phiếu bầu có trọng số 🔐 Kiểm soát truy cập dựa trên vai trò 🗳 logic bỏ phiếu DAO ⏳ Thời gian trì hoãn hoặc nhiệm vụ định kỳ 💾 Luồng phục hồi Mỗi ý định theo dõi một Kết quả, đại diện cho trạng thái giải quyết (ví dụ: phiếu bầu được thu thập, phê duyệt được cấp, v.v.). Tìm hiểu thêm 🔗 Tài liệu: https://account-tech.gitbook.io/docs 🧑💻 GitHub: https://github.com/account-tech
- Sui
1 - Bài Viết0xduckmove288May 30, 2025
Mã hóa BCS trong Sui Nó là gì và tại sao nó quan trọng
Nếu bạn đang xây dựng trên Sui hoặc mày mò với Move, có lẽ bạn đã nghe đến thuật ngữ BCS trôi nổi xung quanh. Đó là viết tắt của máy định dạng Binary Canonical Serialization ban đầu được tạo ra cho blockchain Diem và hiện là nền tảng của các hệ sinh thái dựa trên Move như Sui, Aptos, Starcoin và 0L. Vì vậy, vâng, tốt hơn hết bạn nên ấm cúng với nó nếu bạn nghiêm túc với việc xây dựng trong không gian này. BCS là gì? Binary Canonical Serialization (BCS) là một định dạng được sử dụng để tuần tự hóa (mã hóa) và giải mã (giải mã) dữ liệu có cấu trúc thành byte. Bạn sẽ thấy nó được sử dụng khi: Mã hóa giao dịch trước khi ký. Phát ra hoặc phân tích các sự kiện từ blockchain. Tương tác với Move smart contract off-chain thông qua JavaScript. Nhưng BCS không bao gồm thông tin kiểu trong byte. Điều này có nghĩa là bạn phải biết cấu trúc trước khi giải mã không giống như các định dạng như JSON hoặc Protocol Buffers, vốn tự mô tả nhiều hơn. Các tính năng chính của BCS Không có loại siêu dữ liệu Đầu ra được nối tiếp không chứa gợi ý về loại trường. Bạn phải biết bạn đang đối mặt với những gì khi bạn giải mã. Sê-ri hóa phụ thuộc vào đơn hàng Các cấu trúc được mã hóa theo thứ tự chính xác của các trường của chúng. Thay đổi thứ tự và quá trình khử chuỗi của bạn bị ngắt. Đây là lý do tại sao các hàm peel_* trong Move phải khớp với bố cục của struct 1:1. Loại chung Trong một cấu trúc như: struct BCSObject has drop, copy { id: ID, owner: address, meta: Metadata, generic: T } Bạn chỉ có thể giải mã hóa một cách đáng tin cậy cho đến trường meta. Các loại chung gây rối với phân tích cú pháp BCS, vì vậy hãy luôn đặt chúng cuối cùng nếu bạn muốn dữ liệu của mình được giải mã một cách an toàn. Sử dụng BCS trong JavaScript Nhờ thư viện @mysten /bcs, bạn có thể làm việc với BCS trong JS như một chuyên gia. npm i @mysten/bcs và ví dụ cơ bản: import { BCS, getSuiMoveConfig } from "@mysten/bcs"; const bcs = new BCS(getSuiMoveConfig()); const ser = bcs.ser(BCS.U16, 10); console.log(ser.toBytes()); // [0x0a, 0x00] const des = bcs.de(BCS.U16, ser.toBytes()); console.log(des); // 10 Bạn cũng có thể tuần tự hóa vectơ và chuỗi: bcs.ser("vector", [1, 2, 3, 4]); // 04 01 02 03 04 bcs.ser(BCS.STRING, "test string"); // 0b7465737420737472696e67 Đăng ký các loại tùy chỉnh Giả sử bạn có cấu trúc Move sau: struct Metadata has drop, copy { name: std::ascii::String } struct BCSObject has drop, copy { id: ID, owner: address, meta: Metadata } Bạn có thể đăng ký chúng như thế này trong JS: bcs.registerStructType("Metadata", { name: BCS.STRING, }); bcs.registerStructType("BCSObject", { id: BCS.ADDRESS, owner: BCS.ADDRESS, meta: "Metadata", }); Ví dụ về sê-ri hóa & giải mã Trình tự hóa JavaScript: const bytes = bcs .ser("BCSObject", { id: "0x0000000000000000000000000000000000000005", owner: "0x000000000000000000000000000000000000000a", meta: { name: "aaa" } }) .toString("hex"); console.log("Hex:", bytes); Đầu ra có thể: 0x0000000000000000000000000000000000000005000000000000000000000000000000000000000a03616161 Điều này bây giờ có thể được chuyển vào hợp đồng Move hoặc thậm chí kiểm tra thủ công trong Sui CLI. BCS có thể trông cấp thấp và nặng byte, nhưng một khi bạn hiểu cách nó mã hóa dữ liệu, bạn sẽ hiểu sâu hơn về cách hợp đồng thông minh Move thực sự hoạt động như thế nào - và cách kết nối các hệ thống ngoài chuỗi trên chuỗi ↔ một cách an toàn. Và nếu bạn đang gỡ lỗi byte BCS trên Sui Explorer (như bên dưới): Mã hóa BCS Binary Canonical Serialization, hay BCS, là một định dạng chuỗi hóa được phát triển trong bối cảnh của chuỗi khối Diệm, và hiện được sử dụng rộng rãi trong hầu hết các blockchain dựa trên Move (Sui, Starcoin, Aptos, 0L). BCS không chỉ được sử dụng trong Move VM, mà còn được sử dụng trong mã hóa giao dịch và sự kiện, chẳng hạn như sắp xếp các giao dịch trước khi ký, hoặc phân tích dữ liệu sự kiện. Biết cách thức hoạt động của BCS là rất quan trọng nếu bạn muốn hiểu cách Move hoạt động ở mức độ sâu hơn và trở thành chuyên gia Move. Hãy đi sâu vào. Đặc điểm kỹ thuật và tính chất của BCS Có một số thuộc tính cấp cao của mã hóa BCS cần lưu ý khi chúng ta xem qua phần còn lại của bài học: BCS là một định dạng chuỗi hóa dữ liệu trong đó các byte đầu ra kết quả không chứa bất kỳ thông tin kiểu nào; vì điều này, bên nhận các byte được mã hóa sẽ cần biết cách giải mã hóa dữ liệu 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 Các loại Wrapper bị bỏ qua, vì vậy OuterType và UnnestedType sẽ có cùng một biểu diễn BCS: cấu trúc OuterType { chủ sở hữu: InnerType } cấu trúc innerType { địa chỉ: địa chỉ } cấu trúc unnestedType { địa chỉ: địa chỉ } Các loại chứa các trường kiểu chung có thể được phân tích cú pháp cho đến trường kiểu chung đầu tiên. Vì vậy, bạn nên đặt (các) trường kiểu chung cuối cùng nếu đó là kiểu tùy chỉnh sẽ được ser/de'd. struct BCSObject có drop, copy { ID: ID, chủ sở hữu: địa chỉ, meta: Siêu dữ liệu, chung chung: T } Trong ví dụ này, chúng ta có thể giải mã mọi thứ cho đến trường meta. Các kiểu nguyên thủy như int không dấu được mã hóa ở định dạng Little Endian Vector được nối tiếp thành độ dài ULEB128 (với chiều dài tối đa lên đến u32) theo sau là nội dung của vectơ. Thông số kỹ thuật đầy đủ của BCS có thể được tìm thấy trong kho lưu trữ BCS. Sử dụng Thư viện JavaScript @mysten /bcs Lắp đặt Thư viện bạn sẽ cần cài đặt cho phần này là thư viện @mysten /bcs. Bạn có thể cài đặt nó bằng cách nhập vào thư mục gốc của dự án nút: npm ở @mysten /bcs Ví dụ cơ bản Trước tiên, chúng ta hãy sử dụng thư viện JavaScript để tuần tự hóa và khử sê-ri một số kiểu dữ liệu đơn giản: nhập {BCS, getsuimoveConfig} từ "@mysten /bcs “; //khởi tạo trình tuần tự với cấu hình Sui Move mặc định const bcs = BCS mới (getSUIMoveConfig ()); //Xác định một số kiểu dữ liệu thử nghiệm const integer = 10; mảng const = [1, 2, 3, 4]; const string = “chuỗi thử nghiệm” //sử dụng bcs.ser () để nối tiếp dữ liệu const ser_integer = bcs.ser (BCS.U16, số nguyên); const ser_array = bcs.ser (“vector “, mảng); const ser_string = bcs.ser (BCS.STRING, chuỗi); //sử dụng bcs.de () để giải mã dữ liệu const de_integer = bcs.de (BCS.U16, SER_integer.tobytes ()); const de_array = bcs.de (“vector “, ser_array.tobytes ()); const de_string = bcs.de (BCS.STRING, ser_string.tobytes ()); Chúng ta có thể khởi tạo phiên bản serializer với cài đặt mặc định tích hợp cho Sui Move bằng cách sử dụng cú pháp trên, new BCS (getSUIMoveConfig ()). Có các ENUM tích hợp sẵn có thể được sử dụng cho các kiểu Sui Move như BCS.U16, BCS.STRING, v.v. Đối với các kiểu chung, nó có thể được định nghĩa bằng cách sử dụng cú pháp tương tự như trong Sui Move, giống như vector trong ví dụ trên. Chúng ta hãy xem xét kỹ các trường được nối tiếp và giải mã hóa: int là số thập lục phân little-endian 0a00 10 phần tử đầu tiên của vectơ cho biết tổng chiều dài, thì nó chỉ là bất kỳ phần tử nào trong vectơ 4001020304 1,2,3,4 string chỉ là vectơ của u8, với phần tử đầu tiên bằng chiều dài của chuỗi 0b7465737420737472696e67 chuỗi kiểm tra Loại đăng ký Chúng tôi có thể đăng ký các loại tùy chỉnh mà chúng tôi sẽ làm việc bằng cú pháp sau: nhập {BCS, getsuimoveConfig} từ "@mysten /bcs “; const bcs = BCS mới (getSUIMoveConfig ()); //Đăng ký loại siêu dữ liệu bcs.registerStructType (“Siêu dữ liệu”, { Tên: BCS.STRING, }); //Tương tự đối với đối tượng chính mà chúng tôi dự định đọc bcs.registerStructType (“BCSObject”, { //BCS.ADDRESS được sử dụng cho các loại ID cũng như các loại địa chỉ ID: BCS.ADDRESS, chủ sở hữu: BCS.ADDRESS, meta: “Siêu dữ liệu”, }); Sử dụng bcs trong Hợp đồng thông minh Sui Hãy tiếp tục ví dụ của chúng tôi từ phía trên với các cấu trúc. Định nghĩa cấu trúc Chúng ta bắt đầu với các định nghĩa cấu trúc tương ứng trong hợp đồng Sui Move. { //.. struct Siêu dữ liệu có drop, copy { Tên: std: :ascii: :String } struct BCSObject có drop, copy { ID: ID, chủ sở hữu: địa chỉ, meta: Siêu dữ liệu } //.. } Không phân loại hóa Bây giờ, chúng ta hãy viết hàm để giải mã một đối tượng trong hợp đồng Sui. công cộng vui nhộn object_from_bytes (bcs_bytes: vector): BCSObject { //Khởi tạo phiên bản bcs bytes hãy để bcs = bcs: :mới (bcs_bytes); //Sử dụng các peel_*hàm để bóc các giá trị từ các byte được nối tiếp. //Thứ tự phải giống như chúng tôi đã sử dụng trong quá trình nối tiếp! let (id, chủ sở hữu, meta) = ( bcs: :địa chỉ peel_( & mut bcs), bcs:: địa chỉ peel_( & mut bcs), bcs:: peel_vec_u8 (& mut bcs) ); //Đóng gói cấu trúc BCSObject với kết quả sắp xếp sê-ri BCSObject {id: object: :id_from_address (id), chủ sở hữu, meta: Siêu dữ liệu {tên: std: :ascii: :chuỗi (meta)}}} Các phương thức peel_* khác nhau trong mô-đun Sui Frame bcs được sử dụng để “bóc” từng trường riêng lẻ từ các byte nối tiếp BCS. Lưu ý rằng thứ tự chúng ta bóc các trường phải hoàn toàn giống với thứ tự của các trường trong định nghĩa cấu trúc. Trắc nghiệm: Tại sao kết quả không giống nhau từ hai cuộc gọi peel_address đầu tiên trên cùng một đối tượng bcs? Cũng lưu ý cách chúng ta chuyển đổi các kiểu từ địa chỉ sang id và từ vector sang std: :ascii: :string với các hàm trợ giúp. Trắc nghiệm: Điều gì sẽ xảy ra nếu BSCobject có kiểu UID thay vì loại ID? Hoàn thành ví dụ Ser/De Tìm mã mẫu JavaScript và Sui Move đầy đủ trong thư mục example_projects. Đầu tiên, chúng tôi tuần tự hóa một đối tượng thử nghiệm bằng chương trình JavaScript: //Chúng tôi xây dựng một đối tượng thử nghiệm để nối tiếp, lưu ý rằng chúng tôi có thể chỉ định định dạng của đầu ra thành hex cho _byte = bcs .ser (“bcsObject”, { id: “0x0000000000000000000000000000000000000005", chủ sở hữu: “0x000000000000000000000000000000000000000a”, meta: {name: “aaa"} }) .toString (“hex”); Chúng tôi muốn đầu ra của trình ghi BCS lần này ở định dạng thập lục phân, có thể được chỉ định như ở trên. Dán kết quả chuỗi hóa hexstring với tiền tố 0x và xuất sang biến môi trường: xuất object_hexstring=0x00000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000a03616161 Bây giờ chúng ta có thể chạy các bài kiểm tra đơn vị Move liên quan để kiểm tra tính chính xác: kiểm tra sui move Bạn sẽ thấy điều này trong bảng điều khiển: XÂY DỰNG bcs_move Chạy thử nghiệm đơn vị Move [PASS] 0x0: :bcs_object: :test_deserialization Kết quả kiểm tra: OK. Tổng số bài kiểm tra: 1; vượt qua: 1; thất bại: 0 Hoặc chúng ta có thể xuất bản mô-đun (và xuất PACKAGE_ID) và gọi phương thức emit_object bằng cách sử dụng chuỗi lục giác nối tiếp BCS ở trên: gọi máy khách riêng --function emit_object --module bcs_object --package $PACKAGE_ID --args $OBJECT_HEXSTRING Sau đó, chúng tôi có thể kiểm tra tab Sự kiện của giao dịch trên Sui Explorer để xem chúng tôi đã phát ra BCSobject được giải mã chính xác hay không:
- Sui
- SDKs and Developer Tools
1 - Bài ViếtVens.sui134May 29, 2025
Hack giao thức Cetus - Khai thác DeFi lớn nhất trên Sui
Vào tháng 5 năm 2025, thế giới DeFi đã bị rung chuyển bởi một trong những vi phạm bảo mật quan trọng nhất trong lịch sử gần đây. Cetus Protocol, một sàn giao dịch phi tập trung (DEX) hàng đầu và giao thức thanh khoản trên blockchain Sui, đã trở thành nạn nhân của một vụ hack tinh vi dẫn đến tổn thất vượt quá 200 triệu đô la. Sự cố này không chỉ gây ra làn sóng chấn động cho cộng đồng DeFi mà còn làm dấy lên những lo ngại nghiêm trọng về tính bảo mật của các hợp đồng thông minh và tính mạnh mẽ của các giao thức được xây dựng trên các blockchain mới nổi như Sui. Cetus Protocol đã tự khẳng định mình là DEX hàng đầu trên Mạng Sui, cung cấp cho người dùng một nền tảng để hoán đổi mã thông báo và cung cấp thanh khoản. Là một thành phần cơ sở hạ tầng quan trọng trong hệ sinh thái Sui, Cetus đóng một vai trò quan trọng trong việc tạo điều kiện giao dịch phi tập trung và đóng góp vào tính thanh khoản tổng thể của mạng. Sự nổi bật của nó khiến nó trở thành một mục tiêu hấp dẫn cho các tác nhân độc hại đang tìm cách khai thác các lỗ hổng trong cơ sở mã của nó. Hack Cetus mở ra Vụ vi phạm xảy ra vào ngày 22 tháng 5 năm 2025, khi những kẻ tấn công xác định và khai thác một lỗ hổng nghiêm trọng trong logic hợp đồng thông minh của Cetus. Cụ thể, lỗ hổng xuất phát từ một lỗi tràn số học tinh tế cho phép tin tặc thao túng các cơ chế kế toán nội bộ của giao thức. Bằng cách triển khai mã thông báo giả mạo và thao túng các đường cong giá trong các nhóm thanh khoản, kẻ tấn công đã có thể rút một lượng lớn tiền mà không kích hoạt các hệ thống phát hiện ngay lập tức. Vào khoảng 3:52 sáng giờ PT (11:52 UTC), các nhà giám sát blockchain bắt đầu phát hiện các giao dịch bất thường trên một số nhóm thanh khoản trên Cetus. Trong vòng vài giờ, mức độ thiệt hại đã trở nên rõ ràng - tài sản trị giá hơn 260 triệu đô la đã được rút ra từ giao thức. Các khoản tiền bị đánh cắp nhanh chóng được hoán đổi và kết nối với các blockchain khác, làm phức tạp các nỗ lực phục hồi. Tác động đến Thị trường và Hệ sinh thái Sui Hậu quả của vụ hack diễn ra nhanh chóng và nghiêm trọng. Giao dịch trên Cetus ngay lập tức bị dừng lại khi các nhà phát triển đấu tranh để đánh giá tình hình và giảm thiểu tổn thất hơn nữa. Trong khi đó, giá trị của các token gốc liên quan đến nền tảng đã giảm mạnh, với một số bị giảm tới 80% trong vài giờ. Các nhà đầu tư và người dùng phải đối mặt với tổn thất lớn, và niềm tin vào hệ sinh thái Sui bị lung lay. Một diễn biến đặc biệt đáng báo động xảy ra khi mạng Sui cố gắng thực hiện một biện pháp đối phó gây tranh cãi: bỏ phiếu để đóng băng ví của kẻ tấn công chứa 160 triệu đô la tiền bị đánh cắp. Mặc dù động thái này thể hiện một cách tiếp cận chủ động để phục hồi tài sản, nó cũng làm dấy lên các cuộc tranh luận về các nguyên tắc phân cấp và liệu những hành động như vậy có làm suy yếu niềm tin vào tính bất biến của các giao dịch blockchain hay không. Trong đà tăng, $SUI mất 5% và $ CETUS +- 40%, bước nhảy đó vừa đáng kinh ngạc vừa đáng sợ. Chi tiết kỹ thuật của Khai thác giao thức Cetus Theo phân tích được cung cấp bởi công ty an ninh mạng Halborn, nguyên nhân gốc rễ của việc khai thác nằm ở cách Cetus xác thực các hoạt động số học nhất định trong quá trình hoán đổi mã thông báo. Một sự giám sát trong việc xử lý số lượng lớn đã dẫn đến tình trạng tràn, mà kẻ tấn công đã khôn ngoan thao túng để tạo ra sự mất cân bằng nhân tạo trong các nhóm thanh khoản. Những mất cân bằng này sau đó được khai thác để trích xuất tài sản thực từ hệ thống mà không cần bồi thường thích hợp cho các nhà cung cấp thanh khoản. Loại lỗ hổng này đặc biệt quỷ quyệt vì nó không phải lúc nào cũng biểu hiện trong điều kiện hoạt động bình thường; thay vào đó, nó yêu cầu các trường hợp edge cụ thể liên quan đến các giá trị rất lớn hoặc chuỗi giao dịch bất thường để kích hoạt. Những lỗi như vậy nổi tiếng là rất khó phát hiện trong các giai đoạn kiểm toán và thử nghiệm tiêu chuẩn, khiến chúng trở thành ứng cử viên chính để khai thác bởi các đối thủ có nguồn lực tốt. Nỗ lực Phản ứng và Phục hồi từ Quỹ Cetus và Sui (hay còn gọi là Mysten Labs) Trong cuộc tấn công, khoảng 160 triệu đô la được cho là đã bị đóng băng và sẽ được trả lại cho các hồ Cetus. Đó là lý do tại sao tất cả các quỹ Sui đã khởi xướng một cuộc bỏ phiếu để giải phóng các mã thông báo này. Sau vụ tấn công, nhóm Cetus đã đưa ra các tuyên bố công khai thừa nhận vi phạm và phác thảo các bước hướng tới giải quyết. Họ đã làm việc chặt chẽ với các công ty phân tích blockchain như Elliptic và Chainalysis để theo dõi chuyển động của các khoản tiền bị đánh cắp và xác định các con đường tiềm năng để phục hồi. Ngoài ra, các cuộc thảo luận đã xuất hiện xung quanh việc triển khai các nâng cấp khẩn cấp để vá các lỗ hổng hiện có và tăng cường khả năng phục hồi trong tương lai trước các cuộc tấn công Các thành viên cộng đồng bày tỏ phản ứng trái chiều đối với những phát triển này. Trong khi nhiều người ca ngợi sự minh bạch của lãnh đạo Cetus sau vụ hack, những người khác chỉ trích sự thiếu chuẩn bị cho các kịch bản như vậy và đặt câu hỏi liệu có đủ các biện pháp bảo vệ đã được thực hiện trước khi phóng hay không.
- Sui
- Security Protocols
1 - Bài ViếtHaGiang144May 25, 2025
Bài viết đầu tiên của tôi zKat: Xác thực bảo vệ quyền riêng tư cho các blockchain công cộng
Bởi vì sự minh bạch không có nghĩa là từ bỏ bí mật của bạn. Trên hầu hết các blockchain công khai ngày nay, mọi giao dịch và danh tính người dùng đều được hiển thị công khai. Mặc dù tính minh bạch là một trong những thế mạnh lớn nhất của blockchain, nhưng nó phải trả giá bằng quyền riêng tư, đặc biệt là khi nói đến xác thực. zKat viết tắt của zero-knowledge authenticators là một nguyên thủy mật mã mới mang xác thực bảo vệ quyền riêng tư cho thế giới blockchain. Với zKat, người dùng có thể chứng minh họ được ủy quyền thực hiện giao dịch mà không tiết lộ các quy tắc hoặc chính sách đằng sau ủy quyền đó. ##* Vấn đề với các phương pháp tiếp cận truyền thống* Những nỗ lực trước đây về quyền riêng tư trong xác thực như sử dụng**chữ ký ngưỡng chỉ có thể ẩn thông tin hạn chế. Ví dụ: họ có thể che khuất người dùng nào đã ký giao dịch, nhưng không nhiều thứ khác. Họ cũng phải vật lộn với các chính sách xác thực phức tạp hơn**hơn (như kết hợp vai trò, danh tính hoặc quy tắc). ZKat thay đổi trò chơi bằng cách: Hỗ trợ các chính sách phức tạp tùy ý Cho phép các cấu trúc linh hoạt như* kết hợp chữ ký đa sơ đồ* Giữ toàn bộ chính sách ẩn khỏi công chúng ##* Cách hoạt động của ZKat* Để xây dựng zKat, các tác giả đã thiết kế một* trình biên lịbiến đổi hệ thốngGroth16zk-SNARK được sử dụng rộng rãi thành một loại chứng minh mới* Kiến thức không tương tác (NIZK)* - một hệ thống hỗ trợcác khóa xác minh tương đợ*. Điều đó có nghĩa là gì? Điều đó có nghĩa là người xác minh không thể cho biết chính sách nào đang được sử dụng, nhưng bằng chứng vẫn thuyết phục họ rằng chính sách đó là hợp lệ. Đây là một thuộc tính mật mã hoàn toàn mới được giới thiệu trong bài báo và nó là nền tảng cho cách ZKat đảm bảoquyền riêng tư chính sách. Nhưng các tác giả đã không dừng lại ở ZKat. Họ đã tiến thêm một bước với* ZKat, một phiên bản hỗ trợ* các bản cập nhật không biết tốt**. Tóm lại: Người phát hành chính sách có thể cập nhật chính sách xác thực * mà không tiết lộ bất cứ điều gì mới* Điều này cực kỳ mạnh mẽ trong các hệ thống blockchain trong thế giới thực, nơi các chính sách có thể cần phải phát triển - hãy nghĩ rằng DAO cập nhật các quy tắc bỏ phiếu hoặc các tổ chức luân phiên khóa. Họ cũng khám phá việc sử dụngkiểm chứng zk đệ đệ đổiđể làm cho zKat+ có thể mở rộng và phù hợp cho việc tích hợp blockchain. Các nhà nghiên cứu đã triển khai zKAT trong một nguyên mẫu để xác thực dựa trên ngưỡng. Đánh giá của họ cho thấy: Hiệu suất ngang bằng với chữ ký ngưỡng truyền thống ZKat hỗ trợ* các chính sách phức tạp hơn nhiều* Tất cả những điều đó, với* chi phí tối thiểu*
- Sui
- Architecture
1 - Bài Viết0xduckmove288May 19, 2025
IKA là gì? “Không chỉ là cường điệu 👀”
(p/s: Không phải là một trong những “bản cập nhật web3” cung cấp cho bạn 3 dòng lông tơ và gọi nó là alpha 😮💨) Đọc toàn bộ bài viết: https://x.com/InternSui81687/status/1897309368644985108 Bạn đã bao giờ di chuyển tài sản giữa các chuỗi và cảm thấy như mình là Indiana Jones né tránh bẫy? Vâng. Đó là bởi vì khả năng tương tác ngay bây giờ = cầu nối rủi ro+điểm trung tâm của sự thất bại. Ika nói: “Không, chúng tôi đã hoàn thành việc đó.” Họ đang xây dựng một hệ thống không tin cậy, AF nhanh và không đưa chìa khóa của bạn cho bất cứ ai. Được xây dựng trên Sui, nó sử dụng mã hóa Threshold và 2PC-MPC Trong video ở đây, David Lash (đồng sáng lập Ika) thẳng thắn nói những gì mọi người nghĩ: khả năng tương tác bị phá vỡ AF. Và thay vì viết một blog khác “chúng ta cần một giải pháp” như hầu hết các nhóm làm, họ đã dành hai năm để thu hút các chuyên gia bảo mật, mọt sách AI và học giả để thực sự xây dựng một blog. Họ nghĩ ra gì? Một hệ thống sử dụng MPC 2PC và mã hóa ngưỡng - những từ lạ mắt về cơ bản có nghĩa là: khóa của bạn vẫn là của bạn, tài sản của bạn không được gói lại như một món quà Giáng sinh từ năm 2017 và mọi thứ chuyển động nhanh như địa ngục. Giống như, Ika không chỉ bảo vệ đồ đạc của bạn. Nó phá vỡ các giao dịch ở độ trễ dưới giây và vẫn được phân cấp. Trong khi đó, những cây cầu ở đây mất 8 phút và tâm hồn bạn chỉ để xác nhận một cuộc trao đổi. Họ xây dựng cái này trên Tùy. Và nếu bạn đã ngủ trên Sui cho đến bây giờ, giấc ngủ trưa đó đã kết thúc. Mô hình lấy đối tượng làm trung tâm của Sui, tính cuối cùng nhanh chóng và sự đồng thuận Mysticeti (vâng đó là một điều, không nó không được tạo ra) là hoàn hảo cho những gì Ika đang cố gắng làm. David thậm chí còn nói rằng trải nghiệm phát triển của Sui đã khiến nó trở thành một lựa chọn rõ ràng - đây là một lời khen ngợi hiếm hoi trong tiền điện tử, nơi mọi công cụ dành cho nhà phát triển đều có cảm giác giống như một cuộn giấy cổ xưa. Nhưng điều thực sự thu hút tôi là quan điểm của họ về UX. Tiền điện tử tốt nhất? Loại nhàm chán. Không phải theo cách xấu, nhưng theo cách “nó chỉ hoạt động”. Ika đang quay về một tương lai mà bạn thậm chí không biết mình đang làm những thứ liên kết. Không có cửa sổ bật lên, không có cầu nối, không có mã thông báo giả. Chỉ cần mở ví của bạn, cho mượn BTC của bạn một cách nguyên bản, thực hiện hoán đổi giữa các chuỗi và giữ tâm trạng”. Đó là những gì chúng tôi đã yêu cầu và bằng cách nào đó quên yêu cầu. Và đừng nghĩ rằng điều này chỉ dành cho Degen Bros. Ika cho phép DAO, nhóm độc lập và doanh nghiệp triển khai các giải pháp lưu ký của riêng họ - hãy nghĩ đến “gói khởi động Fireblocks” nhưng sử dụng steroid và thực sự có thể truy cập được. Bạn không cần thiết lập $500k để xây dựng infra an toàn nữa. Chỉ là Sui, Ika, và một chút can đảm. Ồ, và chúng ta đừng ngủ với Bitcoin. BTC đã ngồi bên lề trong nhiều năm như anh chàng từ chối tham gia trò chơi. Nhưng Ika đang làm cho nó có thể chơi được. DeFi không bao bọc, không di chuyển - chỉ cần khóa nó làm tài sản thế chấp gốc và đi. Các tổ chức sẽ thích nó vì nó giữ cho họ tuân thủ và hiệu quả. Không có FUD thuế, không có bẫy giám sát. Chỉ là nguồn vốn chảy sạch sẽ. Vì vậy, nếu ai đó hỏi bạn, “Điều gì tiếp theo đối với tiền điện tử?” Đừng gửi cho họ một dòng tweet có nội dung “Khả năng tương tác là tương lai”
- Sui
1 - Bài ViếtRogueRig134May 13, 2025
IKA là gì và tại sao cường điệu?
@ikadotxyz, mạng MPC song song cực nhanh trên blockchain Sui, đang tạo ra tiếng vang nghiêm túc về tiềm năng cách mạng hóa bảo mật và khả năng tương tác Web3. Các bài đăng gần đây trên X làm nổi bật tâm lý tăng giá, với IKA được báo cáo giao dịch từ $4.90 đến $10 trên các nền tảng tiền thị trường như Whales, mặc dù nguồn cung token 1B. Điều này cho thấy mức vốn hóa thị trường có thể lên tới hàng tỷ nếu đà duy trì, được thúc đẩy bởi khoản đầu tư chiến lược 21 triệu đô la từ Quỹ Sui và chiến dịch nghệ thuật SUI NFT kỷ lục 1,4 triệu USD. Độ trễ dưới giây của Ika và khả năng mở rộng quy mô trên hàng trăm node người ký làm cho nó trở thành một yếu tố thay đổi cuộc chơi cho các ứng dụng DeFi, lưu ký phi tập trung và chuỗi chằng. Việc ra mắt token IKA sắp tới trên Sui dự kiến sẽ mở khóa tiện ích mới, thúc đẩy việc áp dụng hơn nữa. Người dùng X được thổi phồng về vai trò của IKA trong chương trình khách hàng thân thiết @GiveRep, với một số người gọi đây là một trong những cơ hội airdrop lớn nhất trên Sui. Điều đó nói lên rằng, giá tiền thị trường có thể biến động và đầu cơ, vì vậy phạm vi $4,90—$10 không được đảm bảo sẽ giữ vững sau khi ra mắt. Luôn đào sâu vào những yếu tố cơ bản của dự án — kiểm tra các kênh chính thức của Ika để có cái nhìn sâu sắc hơn — và cân nhắc những rủi ro trước khi tham gia. Hệ sinh thái Sui đang nóng lên, nhưng không có gì chắc chắn trong tiền điện tử
- Sui
- Architecture
1 - Bài ViếtRogue129May 13, 2025
Thiết lập nút SUI - Hướng dẫn chi tiết
Để thiết lập một nút Sui, bạn sẽ cần cài đặt các nhị phân Sui, sao chép kho lưu trữ Sui và cấu hình nút. Bạn có thể xây dựng từ nguồn hoặc sử dụng Docker. Khi nút đang chạy, bạn có thể theo dõi trạng thái của nó và tiến trình đồng bộ hóa. Các bước chi tiết: Cài đặt Sui Binaries: Làm theo hướng dẫn trong Tài liệu Sui để cài đặt các tệp nhị phân Sui. Nếu bạn đang sử dụng Docker, hãy làm theo hướng dẫn trong Sui Full node Docker Readme. Nếu bạn đang xây dựng từ nguồn, bạn sẽ cần sao chép kho lưu trữ Sui và biên dịch nó. Định cấu hình Node: Node đầy đủ: Bạn có thể cấu hình một nút Sui Full bằng Docker hoặc bằng cách xây dựng từ nguồn, theo Tài liệu Sui. Node xác thực: Thực hiện theo các hướng dẫn trong Cấu hình nút xác thực Sui để định cấu hình nút xác thực. Điều này bao gồm cài đặt và cấu hình Sui, quản lý khóa và cấu hình lưu trữ. Cấu hình nút đầy đủ: Tắt bất kỳ nút Full đang chạy. Xóa cơ sở dữ liệu và tệp genesis.blob. Lấy nguồn từ bản phát hành mới nhất. Đặt lại chi nhánh của bạn. Tải xuống Genesis Blob mới nhất. Cập nhật tệp cấu hình fullnode.yaml của bạn, nếu cần. Khởi động lại nút Sui Full của bạn. Chạy Node: Khởi động nút Sui bằng cách sử dụng lệnh thích hợp cho phương thức cấu hình của bạn (ví dụ: lệnh sui-node hoặc Docker). Giám sát nút: Theo dõi trạng thái của node, tiến trình đồng bộ hóa và nhật ký để đảm bảo nó đang chạy chính xác. Sử dụng các công cụ như ghi nhật ký, theo dõi và số liệu để theo dõi nút. Cổng số liệu mặc định là 9184, nhưng bạn có thể thay đổi nó trong tệp fullnode.yaml. Các bước bổ sung: Đăng ký ủy ban: Nếu bạn đang chạy một nút xác thực, bạn sẽ cần phải đăng ký với ủy ban. Staking bằng chất lỏng: Nếu bạn đang chạy một node, bạn cũng có thể tham gia vào staking lỏng. Đồng bộ hóa fork của bạn: Nếu bạn đang đóng góp cho dự án Sui, bạn sẽ cần phải đồng bộ hóa fork của mình với kho lưu trữ chính. Bằng cách làm theo các bước sau, bạn có thể thiết lập và chạy thành công một nút Sui.
- Sui
1 - Bài ViếtHaGiang144May 12, 2025
“Giải mã bộ ba Sui: Mở ra tương lai của cơ sở hạ tầng Web3
Trong quá trình khám phá thế giới Web3, ngoài việc theo đuổi tốc độ giao dịch nhanh hơn và phí thấp hơn, những thách thức cơ cấu sâu sắc hơn đang ngày càng nổi lên. Làm thế nào để một lượng lớn dữ liệu có thể được lưu trữ một cách kinh tế? Làm thế nào để thông tin nhạy cảm có thể được bảo vệ an toàn trong một môi trường phi tập trung? Các tính toán phức tạp có thể được thực hiện hiệu quả ngoài chuỗi trong khi vẫn có kết quả được xác minh và đáng tin cậy trên chuỗi không? Nhiều dự án cố gắng giải quyết những vấn đề này bằng cách kết hợp các dịch vụ của bên thứ ba khác nhau. Tuy nhiên, con đường này thường mang theo sự phức tạp tích hợp, ma sát tin cậy tiềm ẩn và trải nghiệm người dùng bị phân mảnh. Đối mặt với những thách thức cấp cơ sở hạ tầng này, blockchain Sui và nhóm phát triển cốt lõi Mysten Labs đã đề xuất một giải pháp tích hợp hơn. Thay vì dựa vào một loạt các công cụ bên ngoài, họ đã thiết kế một blockchain với kiến trúc độc đáo - bao gồm mô hình lấy đối tượng trung tâm và ngôn ngữ lập trình Move đồng thời xây dựng ba thành phần cơ sở hạ tầng gốc được kết nối chặt chẽ: Walrus, Seal và Nautilus. Bài viết này nhằm mục đích giải thích các khái niệm thiết kế đằng sau ba thành phần này, khám phá cách chúng hoạt động, cách chúng liên quan với nhau và những thay đổi thực sự mà chúng có thể mang lại cho các ứng dụng Web3. Kiến trúc độc đáo của Sui Để hiểu cách ba công cụ này hoạt động trên Sui, trước tiên chúng ta phải xem xét một số đặc điểm chính của chính nền tảng Sui. Một trong những đổi mới cốt lõi của Sui là mô hình hướng đối tượng, một sự thay đổi cơ bản từ kiến trúc dựa trên tài khoản truyền thống. Sui coi token, NFT và thậm chí cả cấu trúc dữ liệu phức tạp là “đối tượng” độc lập. Hãy tưởng tượng việc quản lý từng tài sản như một hộp riêng biệt thay vì ghi mọi thứ vào một sổ cái duy nhất. Thiết kế này cho phép các hành động không liên quan — như xử lý hai NFT không liên quan — được xử lý song song, tăng cường thông lượng. Tính chi tiết đối tượng này tạo ra sức mạnh tổng hợp tự nhiên với Walrus và Seal: Walrus xử lý dữ liệu được lưu trữ như các đối tượng, trong khi Seal có thể đính kèm các quy tắc cấp phép trực tiếp vào các đối tượng riêng lẻ. Ngoài ra, Sui sử dụng ngôn ngữ lập trình Move, được thiết kế đặc biệt để quản lý tài sản kỹ thuật số. Move nhấn mạnh sự an toàn và nhằm mục đích giảm nhiều lỗ hổng hợp đồng thông minh phổ biến ở cấp độ ngôn ngữ. Nền tảng vững chắc này làm cho nó rất phù hợp để xây dựng các thành phần cơ sở hạ tầng mạnh mẽ. Bằng cách sắp xếp thiết kế chuỗi và phát triển cơ sở hạ tầng dưới một mái nhà (Mysten Labs), Sui đặt mục tiêu mang lại trải nghiệm cho nhà phát triển liền mạch hơn, hiệp đồng hơn. Walrus: Lưu trữ phi tập trung tiết kiệm, có thể lập trình Lưu trữ các tệp lớn (hình ảnh, video, mô hình AI — gọi chung là blob) trực tiếp trên chuỗi là rất tốn kém. Mỗi giải pháp lưu trữ phi tập trung hiện có sự đánh đổi, nhưng Walrus tìm kiếm sự cân bằng mới giữa hiệu quả chi phí và tương tác hợp đồng thông minh, trực tiếp giải quyết các rào cản chi phí của dữ liệu trên chuỗi quy mô lớn. Trọng tâm của Walrus là Erasure Coding, một kỹ thuật thông minh “chia nhỏ” một tệp và thêm “manh mối phục hồi” để tệp có thể được tái tạo ngay cả khi các bộ phận bị mất. Walrus gọi những mảnh phụ này là “Red Stuff”. Hãy nghĩ về nó theo cách này: nếu bạn có hai số, ví dụ như 3 và 5, và bạn lưu trữ cả hai cũng như tổng của chúng (8), mất số 3 không phải là thảm khốc — bạn có thể khôi phục nó bằng cách sử dụng 8 - 5 = 3. Các mảnh phục hồi bổ sung đóng một vai trò tương tự, gắn liền về mặt toán học với bản gốc. Sau khi phân mảnh và mã hóa, Walrus phân phối các mảnh vỡ này trên nhiều nút. Ngay cả khi một số mảnh vỡ bị mất, hệ thống có thể tái tạo lại tệp gốc miễn là số lượng ngưỡng của các đoạn được truy xuất — tiết kiệm không gian đáng kể so với sao chép tệp đầy đủ. Cách tiếp cận này làm giảm đáng kể chi phí lưu trữ và có thể đưa giá lưu trữ phi tập trung đến gần hơn với giá của các nhà cung cấp đám mây tập trung. Thậm chí thú vị hơn, Walrus tận dụng mô hình đối tượng của Sui: mỗi tệp được lưu trữ trở thành một đối tượng trên chuỗi có thể lập trình. Các nhà phát triển có thể sử dụng Move để viết các hợp đồng thông minh quản lý các đối tượng lưu trữ này—thiết lập quy tắc truy cập, tự động cập nhật siêu dữ liệu, v.v. Lưu trữ không còn chỉ thụ động mà nó trở thành một tài nguyên có thể lập trình tự nhiên. Ngoài ra còn có một lớp tiện ích token: tương tác với dữ liệu Walrus trên Sui yêu cầu mã thông báo SUI ghi lại siêu dữ liệu (như tên tệp, kích thước, vị trí lưu trữ) và có khả năng khóa mã thông báo cho phí lưu trữ. Nếu việc áp dụng Walrus tăng lên, nhu cầu về SUI có thể tăng lên, thắt chặt nguồn cung. Con dấu: Kho lưu trữ phi tập trung và người giữ cổng truy cập Nhiều ứng dụng Web3 xử lý dữ liệu nhạy cảm: ID người dùng, chi tiết tài chính, nội dung trả phí. Trong bối cảnh phi tập trung, làm thế nào để bạn lưu trữ bí mật một cách an toàn và kiểm soát quyền truy cập vào chúng? Seal là một giải pháp quản lý bí mật phi tập trung (DSM) được thiết kế để trả lời câu hỏi đó. Một trong những công nghệ cốt lõi của nó là Mã hóa ngưỡng. Hãy tưởng tượng một kho tiền yêu cầu hai chìa khóa để mở, mỗi chìa khóa được giữ bởi một người khác nhau. Tương tự, mã hóa ngưỡng chia khóa giải mã thành nhiều phần và phân phối chúng cho các máy chủ khóa độc lập. Chỉ khi một số lượng được xác định trước trong số họ cộng tác (ngưỡng), dữ liệu mới có thể được giải mã — không một máy chủ nào có thể làm điều đó một mình, điều này sẽ lan tỏa niềm tin và tăng khả năng chịu lỗi. Tính năng thông minh khác của Seal là logic kiểm soát truy cập được viết là Move smart contract trên chuỗi. Các nhà phát triển có thể xác định các quy tắc rõ ràng: ví dụ: chỉ những người dùng nắm giữ một NFT nhất định hoặc những người đã trả phí mới có thể truy cập một số dữ liệu nhất định. Tính minh bạch và khả năng kiểm chứng này phân biệt Seal với các hệ thống truy cập tập trung truyền thống. Khi một người dùng hoặc ứng dụng muốn giải mã một bí mật, nó sẽ gửi yêu cầu đến các máy chủ chính. Các máy chủ này kiểm tra các quy tắc trên chuỗi. Chỉ khi các điều kiện được đáp ứng, họ mới phát hành các mảnh chính của chúng. Việc giải mã thực tế xảy ra trên thiết bị máy khách, vì vậy các máy chủ chìa khóa không bao giờ chạm vào dữ liệu gốc. Seal có thể bảo vệ dữ liệu được lưu trữ ở bất cứ đâu — trên Walrus, các mạng phi tập trung khác hoặc thậm chí là đám mây tập trung. Điều này làm cho nó trở nên lý tưởng cho việc nhắn tin an toàn, dữ liệu người dùng riêng tư, nội dung trả phí, bỏ phiếu bí mật và hơn thế nữa. Nautilus: Làm cho tính toán ngoài chuỗi có thể xác minh được trên chuỗi Blockchain không giỏi trong các nhiệm vụ phức tạp hoặc nặng tài nguyên. Thực hiện những điều đó trên chuỗi là chậm, tốn kém và ảnh hưởng đến quyền riêng tư. Các giải pháp như Layer 2s hoặc oracles giúp ích, nhưng Nautilus khám phá một con đường khác: cho phép tính toán ngoài chuỗi đáng tin cậy. Nautilus sử dụng một giải pháp dựa trên phần cứng gọi là Trusted Execution Environments (TEE). Hãy nghĩ về TEE như một khu vực an toàn, cô lập bên trong CPU. Mã và dữ liệu bên trong vùng này được bảo vệ khỏi phần còn lại của hệ thống, bao gồm cả chính hệ điều hành. Quy trình làm việc cơ bản như sau: Một nhà phát triển triển khai một nhiệm vụ tính toán (ví dụ: mô hình tài chính, suy luận AI, logic trò chơi) cho TEE mà họ kiểm soát. Khi nhiệm vụ kết thúc, TEE sẽ tạo ra một chứng thực mật mã — một loại “biên nhận” chống giả mạo chứng minh: nhiệm vụ chạy trong TEE mã không bị giả mạo quá trình hoàn thành thành công. Chứng nhận này và kết quả được nộp cho hợp đồng thông minh Move trên Sui. Hợp đồng xác minh chứng thực (ví dụ: tính hợp lệ của chữ ký và mã băm của mã). Chỉ khi xác minh được thông qua, hợp đồng mới chấp nhận kết quả và tiến hành các hành động trên chuỗi. Nautilus kết nối điện toán ngoài chuỗi hiệu suất cao với khả năng xác minh và tin cậy trên chuỗi mà không tiết lộ các chi tiết nhạy cảm. Nautilus đang hành động: Trường hợp của Bluefin Một ví dụ cụ thể là Bluefin, một nền tảng giao dịch vĩnh viễn phi tập trung. Hầu hết các nền tảng giao dịch hiệu suất cao đều phải đối mặt với một vấn đề nan giải: việc giữ sổ lệnh hoàn toàn trên chuỗi cung cấp tính minh bạch nhưng chậm và tốn kém; di chuyển chúng ra ngoài chuỗi sẽ cải thiện tốc độ nhưng gây ra các vấn đề về niềm tin. Bluefin sử dụng Nautilus để thu hẹp khoảng cách này: • Việc khớp lệnh chạy bên trong TEE, đảm bảo xử lý an toàn, cô lập. • Nautilus cung cấp bằng chứng mật mã cho thấy logic phù hợp đã chạy chính xác. • Bằng chứng và kết quả được gửi trên chuỗi, nơi các hợp đồng thông minh xác minh chúng trước khi thực hiện giải quyết. Cách tiếp cận này cho phép Bluefin cung cấp khả năng kết hợp ngoài chuỗi nhanh chóng với các đảm bảo tin cậy trên chuỗi, giúp nó khả thi cho giao dịch DeFi hiệu suất cao như giao dịch phái sinh. Tất nhiên, điều này chuyển một số niềm tin từ sự đồng thuận blockchain thuần túy sang phần cứng và triển khai TEE.
- Sui
- Architecture
1 - Bài ViếtHaGiang144May 01, 2025
Bên trong Kiosk của Sui: Cách xây dựng thị trường NFT an toàn
Kiosk của Sui là gì? Kiosk là một mô-đun hợp đồng thông minh gốc trên blockchain Sui, được thiết kế để tiêu chuẩn hóa và đơn giản hóa cách lưu trữ, quản lý và giao dịch NFT. Nó hoạt động như một cửa hàng NFT có thể lập trình được — lý tưởng cho các nhà phát triển muốn tránh phát minh lại bánh xe cho mọi dự án liên quan đến NFT. Cho dù bạn đang xây dựng thị trường, sàn giao dịch tài sản trò chơi hay thư viện sưu tập kỹ thuật số, Kiosk cung cấp cho bạn các khối xây dựng an toàn, có thể tùy chỉnh. 🛠️ Các tính năng chính của Kiosk 📦 Lưu trữ & Hiển thị NFT: Người dùng có thể gửi NFT vào hợp đồng thông minh Kiosk để lưu trữ, khoe hoặc giao dịch chúng 🔐 Chuyển quyền sở hữu an toàn: Tất cả các luồng mua/bán đều được tiêu chuẩn hóa và có thể xác minh được — tạm biệt các giao dịch hoán đổi mờ ám 👋 🎛️ Quyền chi tiết: Kiosk cho phép các nhà phát triển xác định chính xác ai có thể làm gì với mỗi NFT. 📈 Khả năng mở rộng cho nhà phát triển: Đấu giá cắm vào, danh sách hàng loạt, gói và hơn thế nữa. 🤔 Tại sao phải xây dựng với Kiosk? Hãy tưởng tượng bạn đang khởi chạy một ứng dụng NFT. Bạn có thể sẽ cần một cách để người dùng lưu trữ tài sản một cách an toàn. Một cách để liệt kê và mua tài sản. Kiosk xử lý tất cả những điều đó cho bạn. Thay vì viết tất cả các luồng này từ đầu (và gặp rủi ro về lỗi 🐛 hoặc khai thác), bạn sử dụng API đã được thử nghiệm chiến đấu của Kiosk. 🧪 Ứng dụng ví dụ: Xây dựng với Kiosk Hãy đi vào một ví dụ thực tế. Bạn sẽ tạo một mô-đun NFT cơ bản, sau đó sử dụng mô-đun Kiosk để gửi nó, liệt kê nó và cho phép người khác mua nó. Phân tích mã từng bước module 0xNFT::simple_nft { use sui::object::{UID}; use sui::tx_context::TxContext; struct SimpleNFT has key { id: UID, name: String, description: String, url: String, } public entry fun mint( name: String, description: String, url: String, ctx: &mut TxContext ): SimpleNFT { SimpleNFT { id: UID::new(ctx), name, description, url, } } } Lệnh (Sui CLI) Compile your package sui move build Deploy to network sui client publish --gas-budget 10000 Mint NFT sui client call --function mint --module simple_nft \ --args "My NFT" "Desc" "https://example.com/img.png" --gas-budget 1000 Initialize Kiosk sui client call --function init_kiosk --module kiosk_example --gas-budget 1000 Deposit NFT to Kiosk sui client call --function deposit_nft --module kiosk_example \ --args --gas-budget 1000 List for sale sui client call --function list_nft_for_sale --module kiosk_example \ --args 100 --gas-budget 1000 Purchase NFT sui client call --function purchase_nft --module kiosk_example \ --args --gas-budget 1000 Kiosk là một trong những nguyên thủy mạnh mẽ nhất trong hệ sinh thái Sui dành cho các nhà phát triển NFT. Nó trừu tượng hóa logic lặp đi lặp lại và đưa tính bảo mật và mô-đun vào ngăn xếp ứng dụng của bạn. Chỉ với một vài dòng mã, bạn đang xây dựng các luồng thị trường NFT đầy đủ sẵn sàng cho sản xuất và được thử nghiệm chiến đấu.
- Sui
2 - Bài ViếtMiniBob406Apr 30, 2025
Ngôn ngữ lập trình Move - Câu chuyện đằng sau
Trong bối cảnh không ngừng phát triển của công nghệ blockchain, các ngôn ngữ lập trình hợp đồng thông minh đã trở thành xương sống của các ứng dụng phi tập trung (DApps). Trong số này, Move đã nổi lên như một sự đổi mới đột phá, cung cấp các tính năng độc đáo khiến nó khác biệt với các ngôn ngữ truyền thống như Solidity hoặc Vyper. Được thiết kế với tính bảo mật và khả năng mở rộng, Move được tạo ra để giải quyết nhiều lỗ hổng và sự kém hiệu quả vốn có trong các hệ sinh thái blockchain trước đó. Bài viết này đi sâu vào nguồn gốc, tính năng và tác động của ngôn ngữ lập trình Move, khám phá hành trình của nó từ khi bắt đầu trở thành một trong những công cụ hứa hẹn nhất để xây dựng các hệ thống phi tập trung mạnh mẽ. Nguồn gốc của việc di chuyển: Giải pháp cho các thách thức Blockchain Ngôn ngữ lập trình Move lần đầu tiên được giới thiệu bởi Meta (trước đây là Facebook) như một phần của dự án Diem đầy tham vọng (ban đầu được gọi là Libra). Diệm nhằm mục đích tạo ra một loại tiền kỹ thuật số toàn cầu và cơ sở hạ tầng tài chính được hỗ trợ bởi công nghệ blockchain. Tuy nhiên, nhóm nhanh chóng nhận ra rằng các ngôn ngữ hợp đồng thông minh hiện có không đủ cho tầm nhìn của họ. Các ngôn ngữ truyền thống thường thiếu các cơ chế để ngăn chặn các lỗ hổng phổ biến như tấn công tái nhập, tràn số nguyên và sao chép tài sản trái phép. Những vấn đề này đã gây ra thiệt hại đáng kể trong các hệ sinh thái khác, đáng chú ý nhất là vụ hack DAO khét tiếng trên Ethereum. Để vượt qua những thách thức này, nhóm kỹ sư của Meta đã phát triển Move, một ngôn ngữ mới được thiết kế đặc biệt cho lập trình định hướng tài nguyên. Không giống như các ngôn ngữ lập trình thông thường, Move coi tài sản kỹ thuật số như tài nguyên hạng nhất, đảm bảo chúng không thể bị sao chép, vô tình xóa hoặc sử dụng sai. Cách tiếp cận này được lấy cảm hứng từ logic tuyến tính, một khung toán học thực thi các quy tắc sở hữu nghiêm ngặt đối với các tài nguyên. Bằng cách nhúng các nguyên tắc này vào cốt lõi của ngôn ngữ, Move đã đưa ra một sự thay đổi mô hình trong cách các nhà phát triển tương tác với các tài sản kỹ thuật số trên blockchain. Mặc dù dự án Diệm cuối cùng đã bị gác lại do giám sát quy định, Move đã tìm thấy cuộc sống mới trong các dự án blockchain độc lập như Aptos và Sui. Các nền tảng này đã sử dụng Move làm ngôn ngữ hợp đồng thông minh chính của họ, nhận ra tiềm năng của nó trong việc cách mạng hóa cách các ứng dụng phi tập trung được xây dựng và bảo mật. Các tính năng chính của Move: Tại sao nó nổi bật 1. Lập trình định hướng tài nguyên Một trong những đặc điểm xác định của Move là tập trung vào lập trình định hướng tài nguyên. Trong Move, các tài sản kỹ thuật số như mã thông báo, NFT hoặc thậm chí các đối tượng tùy chỉnh được coi là tài nguyên tuân theo các quy tắc sở hữu nghiêm ngặt. Sau khi được tạo, một tài nguyên không thể được sao chép hoặc phá hủy trừ khi được mô-đun của nó cho phép một cách rõ ràng. Điều này đảm bảo rằng các hoạt động quan trọng liên quan đến tài sản — chẳng hạn như chuyển nhượng hoặc cập nhật trạng thái — được thực hiện một cách an toàn và bảo mật. Ví dụ, hãy xem xét một hàm chuyển mã thông báo đơn giản được viết trong Move: ví dụ mô-đun: :token { sử dụng sui: :object:: {Self, UID}; sử dụng sui: :transfer; mã thông báo struct có khóa, store { ID: UID, giá trị: u64, } public fun mint (ctx: & mut txContext, giá trị: u64): Token { Mã thông báo { id: đối tượng: :mới (ctx), giá trị } } public fun transfer_token (token: Token, người nhận: địa chỉ) { chuyển: :public_transfer (mã thông báo, người nhận); } } Ở đây, Token struct đại diện cho một tài nguyên chỉ có thể được chuyển bằng hàm public_transfer. Bất kỳ nỗ lực sao chép hoặc thao tác mã thông báo bên ngoài chức năng này sẽ dẫn đến lỗi biên dịch. Thiết kế này loại bỏ toàn bộ các lớp lỗi và khai thác thường thấy trong các ngôn ngữ khác. 2. Tính mô đun và đóng gói Move thúc đẩy thiết kế mô-đun, cho phép các nhà phát triển đóng gói chức năng trong các mô-đun khép kín. Mỗi mô-đun xác định các loại, chức năng và kiểm soát truy cập riêng, đảm bảo sự phân tách rõ ràng giữa các thành phần khác nhau của hợp đồng thông minh. Ví dụ: một nhà phát triển có thể tạo các mô-đun riêng biệt để tạo mã thông báo, các cặp giao dịch và logic quản trị. Tính mô-đun này nâng cao khả năng đọc mã, khả năng bảo trì và khả năng tái sử dụng. 3. Hỗ trợ xác minh chính thức Một tính năng nổi bật khác của Move là hỗ trợ xác minh chính thức, một quá trình được sử dụng để chứng minh về mặt toán học tính đúng đắn của một chương trình. Xác minh chính thức giúp xác định các lỗi tinh vi và các trường hợp cạnh có thể không bị phát hiện thông qua các phương pháp thử nghiệm truyền thống. Mặc dù không phải tất cả các dự án dựa trên MOVE đều yêu cầu xác minh chính thức, nhưng cấu trúc của ngôn ngữ giúp áp dụng kỹ thuật này dễ dàng hơn khi cần thiết. 4. Thiết kế lấy đối tượng làm trung tâm (Cải tiến cụ thể cho UI) Trên blockchain Sui, Move đã được tăng cường hơn nữa với mô hình lấy đối tượng làm trung tâm. Mỗi tài nguyên trong Sui Move đều có một định danh duy nhất toàn cầu (UID), cho phép tham chiếu trực tiếp và tương tác với các đối tượng. Thiết kế này đơn giản hóa các quy trình công việc phức tạp, chẳng hạn như quản lý NFT hoặc theo dõi dữ liệu dành riêng cho người dùng, đồng thời duy trì hiệu suất và khả năng mở rộng cao. Các ứng dụng trong thế giới thực của Move Kể từ khi được Aptos và Sui áp dụng, Move đã được sử dụng để xây dựng một loạt các ứng dụng phi tập trung. Một số ví dụ đáng chú ý bao gồm: 1. Giao thức tài chính phi tập trung (DeFi) Sự nhấn mạnh mẽ của Move về bảo mật khiến nó trở nên lý tưởng cho các ứng dụng DeFi, nơi tài sản trị giá hàng tỷ đô la đang bị đe dọa. Các dự án như Cetus — một sàn giao dịch phi tập trung (DEX) được xây dựng trên SUI — tận dụng chương trình định hướng tài nguyên của Move để triển khai các tính năng giao dịch nâng cao đồng thời giảm thiểu rủi ro liên quan đến thao túng tài sản. 2. Mã thông báo không thể thay thế (NFT) Các thị trường NFT được hưởng lợi rất nhiều từ khả năng xác định và quản lý các tài sản kỹ thuật số độc đáo của Move. Các nhà phát triển có thể tạo các tiêu chuẩn NFT tinh vi với quyền kiểm soát chi tiết đối với quyền sở hữu, tiền bản quyền và siêu dữ liệu. Ngoài ra, các cải tiến lấy đối tượng làm trung tâm của Sui cho phép tích hợp liền mạch các NFT động, có thể phát triển dựa trên các điều kiện được xác định trước. 3. Nền tảng chơi game và Metaverse Trò chơi Blockchain đòi hỏi phải xử lý hiệu quả các tài sản trong trò chơi, tương tác của người chơi và cập nhật theo thời gian thực. Kiến trúc mô-đun của Move và khả năng thực thi độ trễ thấp làm cho nó rất phù hợp để xây dựng trải nghiệm chơi game nhập vai. Các nền tảng như Blockus, một hệ sinh thái trò chơi Web3, sử dụng Move để cung cấp năng lượng cho các trò chơi và nền kinh tế phi tập trung của họ. So sánh chuyển sang các ngôn ngữ hợp đồng thông minh khác Mặc dù Move chia sẻ một số điểm tương đồng với các ngôn ngữ hợp đồng thông minh khác, các tính năng độc đáo của nó mang lại cho nó một lợi thế cạnh tranh: Solidity: Là ngôn ngữ chính của Ethereum, Solidity được áp dụng rộng rãi nhưng gặp phải các vấn đề di sản như lỗ hổng đối với các cuộc tấn công tái nhập. Move giải quyết những điểm yếu này thông qua mô hình định hướng tài nguyên và an toàn kiểu nghiêm ngặt hơn. Rust (được sử dụng trong Solana): Rust cung cấp hiệu suất tuyệt vời và an toàn bộ nhớ nhưng thiếu sự hỗ trợ gốc của Move để quản lý tài nguyên và xác minh chính thức. Ngoài ra, đường cong học tập dốc của Rust có thể ngăn cản người mới so với cú pháp trực quan hơn của Move. Clarity (được sử dụng trong Stacks): Clarity nhấn mạnh tính minh bạch và khả năng dự đoán nhưng hoạt động trong phạm vi hạn chế gắn liền với hệ sinh thái của Bitcoin. Mặt khác, Move hỗ trợ các trường hợp sử dụng rộng hơn trên nhiều blockchain. Tương lai của việc di chuyển: Nhận con nuôi và tiến hóa Khi công nghệ blockchain tiếp tục trưởng thành, nhu cầu về các ngôn ngữ hợp đồng thông minh an toàn và có thể mở rộng sẽ chỉ tăng lên. Move đã sẵn sàng đóng một vai trò quan trọng trong việc định hình thế hệ ứng dụng phi tập trung tiếp theo, nhờ vào thiết kế sáng tạo và sự hỗ trợ ngày càng tăng của cộng đồng. Các dự án như Aptos và Sui đang tích cực đầu tư vào giáo dục, công cụ và cơ sở hạ tầng cho nhà phát triển để đẩy nhanh việc áp dụng Move. Các sáng kiến như nền tảng Move eLearning cung cấp các hướng dẫn và tài nguyên toàn diện cho các nhà phát triển đầy tham vọng, giảm rào cản gia nhập. Hơn nữa, sự hợp tác với các tổ chức học thuật và các nhà lãnh đạo ngành đang thúc đẩy nghiên cứu về các chủ đề nâng cao như xác minh chính thức và khả năng tương tác giữa các chuỗi. Nhìn về phía trước, chúng ta có thể mong đợi Move sẽ mở rộng ra ngoài các trường hợp sử dụng hiện tại, cung cấp năng lượng cho mọi thứ từ các giải pháp chuỗi cung ứng cấp doanh nghiệp đến các mạng xã hội phi tập trung. Khả năng thích ứng và mạnh mẽ của nó đảm bảo rằng nó vẫn phù hợp trong một hệ sinh thái blockchain ngày càng đa dạng và kết nối với nhau.
- Move
3

- 0xduckmove... SUI+68
1
- MiniBob... SUI+57
2
- harry phan... SUI+51
3
- ... SUIRogue+47
- ... SUIRogueRig+44
- ... SUIHaGiang+36
- ... SUIPeera Admin+25
- ... SUIVens.sui+20
- ... SUIMarlKey+20
- ... SUIdudley_smith+16
- Sui
- Architecture
- SDKs and Developer Tools
- Move
- Security Protocols
- NFT Ecosystem
- Transaction Processing