~ Canister Smart Contract là một thành phần quan trọng, hoặc có thể nói là phần cốt lõi, liên quan đến tính toán và dữ liệu trên Internet Computer Protocol.
Nó định nghĩa hoặc thiết kế cách thức smart contract sẽ hoạt động, bằng cách chuyển smart contract từ một giao dịch nhỏ hoặc một đoạn mã nhỏ thành một phần mềm web-scale lớn ( kho dữ liệu lớn) mà sẽ luôn thực thi trên Blockchain.
Canister không chỉ là code mà còn là một đơn vị tính toán bao gồm hai thành phần quan trọng:
Thứ nhất là
• The code: chính là WebAssembly (Wasm), một phần chứa logic ứng dụng. Wasm hỗ trợ và cho phép các nhà phát triển viết code bằng những ngôn ngữ lập trình lớn và phổ biến như Rust, Typescript, và cả motoko(, ngôn ngữ lập trình riêng/native của ICP.
Thứ hai là
• The state )Data(: tức là bộ nhớ và lưu trữ dữ liệu cho ứng dụng. Đây là nơi lưu trữ mọi thông tin của ứng dụng và được tự động lưu trữ an toàn bởi mạng lưới theo mô hình gọi là )Orthogonal Persistence(.
Có thể coi nó như một bundle hoặc container của cloud computing Web2 nhưng chạy trên mạng lưới phi tập trung, public Blockchain.
Canister có khả năng hosting và phục vụ toàn bộ web application stack, bao gồm frontend, backend và cả dữ liệu, tất cả đều hoàn toàn On-chain.
Giờ hãy cùng xem xét 4 thành phần quan trọng trong một ứng dụng Blockchain truyền thống )Web3(, cách chúng hoạt động và sẽ như thế nào khi sử dụng hệ thống ICP Cannister App.
Đầu tiên là
• Backend Logic vốn thường chạy trực tiếp trên smart contract )EVM(. Nhưng với hệ thống ICP Cannister App, nó sẽ chạy bên trong Canister )Wasm(
Tiếp theo là
• Data Storage, vốn rất đắt đỏ và đa số các ứng dụng Blockchain truyền thống )Web3( đều phụ thuộc vào các cơ sở dữ liệu tập trung như )AWS, Azure và Cloudflare(. Nhưng với ICP Cannister App, việc lưu trữ sẽ nằm trong memory của Cannister với chi phí rẻ hơn nhiều.
Tiếp nữa là
• Frontend/UI cũng vẫn thường được hosting trên các dịch vụ cloud tập trung như )Netlify, Vercel( hoặc lưu trữ phi tập trung như )IPFS/Filecoin(. Nhưng trong ICP Cannister App, frontend sẽ được phục vụ trực tiếp từ Canister )HTML, CSS và JavaScript(.
Cuối cùng là
• User Access: hiện tại các ứng dụng Blockchain truyền thống cần các cổng/gateway hoặc nhà cung cấp node tập trung như Infura hay Alchemy. Nhưng với ICP Cannister App, truy cập sẽ được thực hiện trực tiếp qua URL, như bất kỳ website nào thông qua ICP Gateway.
Lợi ích của việc chạy Frontend On-chain
Chúng ta đã thấy gần đây nhiều dịch vụ bị gián đoạn do sự cố với Cloudflare.
Nhưng nếu Frontend được phục vụ On-chain thay vì cloud tập trung thì sẽ:
Đạt được
• End-to-End Trust: Do front-end )(giao diện người dùng mà chúng ta nhìn thấy trên trình duyệt)( được phục vụ trực tiếp từ cùng một smart contract phi tập trung xử lý backend logic, toàn bộ ứng dụng trở nên chống chỉnh sửa (tamper-proof) và không thể bị dừng lại. Sẽ không còn Single Point Of Failure )SPOF(.
• Loại bỏ các nhà cung cấp Cloud: Các nhà phát triển sẽ không còn cần phụ thuộc vào AWS, Google Cloud, Cloudflare... cũng như các CDN truyền thống )Content Delivery Networks( để hosting một phần ứng dụng của mình. • Tốc độ Web: Vì Cannister xử lý trực tiếp HTTP requests và phục vụ nội dung nên tốc độ sẽ đạt độ trễ chỉ vài mili giây cho các truy vấn đọc, mang lại trải nghiệm tương tự Web2.
Nếu tất cả các ứng dụng Blockchain truyền thống đều chạy toàn bộ trên hệ thống phi tập trung mà không phụ thuộc vào các dịch vụ cloud Web2 thì ngay cả khi tất cả các nền tảng cloud này ngừng hoạt động, các ứng dụng Blockchain cũng không bị ảnh hưởng.
Bởi vì kiến trúc Cannister Smart Contracts là nền tảng biến Internet Computer từ một sổ cái phi tập trung thành một nền tảng cloud phi tập trung, với khả năng vận hành mọi ứng dụng hiện đại gần như không giới hạn.
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.
Trong số những đổi mới lớn của ICP ( Internet Computer Protocol) có
CANNISTER SMART CONTRACTS ( FULL-STACK DECENTRALIZATION)
~ Canister Smart Contract là một thành phần quan trọng, hoặc có thể nói là phần cốt lõi, liên quan đến tính toán và dữ liệu trên Internet Computer Protocol.
Nó định nghĩa hoặc thiết kế cách thức smart contract sẽ hoạt động, bằng cách chuyển smart contract từ một giao dịch nhỏ hoặc một đoạn mã nhỏ thành một phần mềm web-scale lớn ( kho dữ liệu lớn) mà sẽ luôn thực thi trên Blockchain.
Canister không chỉ là code mà còn là một đơn vị tính toán bao gồm hai thành phần quan trọng:
Thứ nhất là
• The code: chính là WebAssembly (Wasm), một phần chứa logic ứng dụng. Wasm hỗ trợ và cho phép các nhà phát triển viết code bằng những ngôn ngữ lập trình lớn và phổ biến như Rust, Typescript, và cả motoko(, ngôn ngữ lập trình riêng/native của ICP.
Thứ hai là
• The state )Data(: tức là bộ nhớ và lưu trữ dữ liệu cho ứng dụng. Đây là nơi lưu trữ mọi thông tin của ứng dụng và được tự động lưu trữ an toàn bởi mạng lưới theo mô hình gọi là )Orthogonal Persistence(.
Có thể coi nó như một bundle hoặc container của cloud computing Web2 nhưng chạy trên mạng lưới phi tập trung, public Blockchain.
Canister có khả năng hosting và phục vụ toàn bộ web application stack, bao gồm frontend, backend và cả dữ liệu, tất cả đều hoàn toàn On-chain.
Giờ hãy cùng xem xét 4 thành phần quan trọng trong một ứng dụng Blockchain truyền thống )Web3(, cách chúng hoạt động và sẽ như thế nào khi sử dụng hệ thống ICP Cannister App.
Đầu tiên là
• Backend Logic vốn thường chạy trực tiếp trên smart contract )EVM(. Nhưng với hệ thống ICP Cannister App, nó sẽ chạy bên trong Canister )Wasm(
Tiếp theo là
• Data Storage, vốn rất đắt đỏ và đa số các ứng dụng Blockchain truyền thống )Web3( đều phụ thuộc vào các cơ sở dữ liệu tập trung như )AWS, Azure và Cloudflare(. Nhưng với ICP Cannister App, việc lưu trữ sẽ nằm trong memory của Cannister với chi phí rẻ hơn nhiều.
Tiếp nữa là
• Frontend/UI cũng vẫn thường được hosting trên các dịch vụ cloud tập trung như )Netlify, Vercel( hoặc lưu trữ phi tập trung như )IPFS/Filecoin(. Nhưng trong ICP Cannister App, frontend sẽ được phục vụ trực tiếp từ Canister )HTML, CSS và JavaScript(.
Cuối cùng là
• User Access: hiện tại các ứng dụng Blockchain truyền thống cần các cổng/gateway hoặc nhà cung cấp node tập trung như Infura hay Alchemy.
Nhưng với ICP Cannister App, truy cập sẽ được thực hiện trực tiếp qua URL, như bất kỳ website nào thông qua ICP Gateway.
Lợi ích của việc chạy Frontend On-chain
Chúng ta đã thấy gần đây nhiều dịch vụ bị gián đoạn do sự cố với Cloudflare.
Nhưng nếu Frontend được phục vụ On-chain thay vì cloud tập trung thì sẽ:
Đạt được
• End-to-End Trust: Do front-end )(giao diện người dùng mà chúng ta nhìn thấy trên trình duyệt)( được phục vụ trực tiếp từ cùng một smart contract phi tập trung xử lý backend logic, toàn bộ ứng dụng trở nên chống chỉnh sửa (tamper-proof) và không thể bị dừng lại. Sẽ không còn Single Point Of Failure )SPOF(.
• Loại bỏ các nhà cung cấp Cloud: Các nhà phát triển sẽ không còn cần phụ thuộc vào AWS, Google Cloud, Cloudflare... cũng như các CDN truyền thống )Content Delivery Networks( để hosting một phần ứng dụng của mình.
• Tốc độ Web: Vì Cannister xử lý trực tiếp HTTP requests và phục vụ nội dung nên tốc độ sẽ đạt độ trễ chỉ vài mili giây cho các truy vấn đọc, mang lại trải nghiệm tương tự Web2.
Nếu tất cả các ứng dụng Blockchain truyền thống đều chạy toàn bộ trên hệ thống phi tập trung mà không phụ thuộc vào các dịch vụ cloud Web2 thì ngay cả khi tất cả các nền tảng cloud này ngừng hoạt động, các ứng dụng Blockchain cũng không bị ảnh hưởng.
Bởi vì kiến trúc Cannister Smart Contracts là nền tảng biến Internet Computer từ một sổ cái phi tập trung thành một nền tảng cloud phi tập trung, với khả năng vận hành mọi ứng dụng hiện đại gần như không giới hạn.