Keyword

    Làm thế nào để bắt đầu hành trình Web3 của bạn?

    Internet Computer “Warped Hackathon” đang diễn ra và chuỗi sự kiện “Giới thiệu công nghệ DFINITY” đã bắt đầu. Vào ngày 25 tháng 11, người đồng sáng lập ICP League, blockpunk đã được mời làm khách đầu tiên thực hiện “Bước vào thế giới phát triển vi mạch”.

    Xem video: https://b23.tv/NpcgIUE

    Dfinity – Nhận biết

    Internet Computer là blockchain không hạn chế đầu tiên trên thế giới chạy ở tốc độ Web. Đồng thời, nó đại diện cho sự đổi mới blockchain lớn thứ ba bên cạnh Bitcoin và Ethereum. Mạng Internet Computer có thể mở rộng vô hạn và có thể chạy các phép tính và dữ liệu hợp đồng thông minh với tốc độ của Internet, xử lý và lưu trữ dữ liệu một cách hiệu quả, đồng thời cung cấp cho các nhà phát triển một khung phần mềm mạnh mẽ.

    Bằng cách làm cho tất cả những điều này trở nên khả thi, Internet Computer đã mang đến một cách tưởng tượng lại hoàn toàn về phần mềm, cung cấp một cách mới mang tính cách mạng để xây dựng hệ thống tài chính được mã hóa, cũng như các hệ thống và trang web doanh nghiệp truyền thống.

    DFINITY đã trao quyền cho lĩnh vực blockchain với sức mạnh tính toán cho mục đích chung mà trước đây không thể phân cấp hoặc không thể chạy được. Đây là một sự đổi mới rất lớn.

    Dfinity – Nhóm phát triển

    Khả năng đổi mới của DFINITY đã thu hút nhiều nhà phát triển mạnh mẽ tham gia, bao gồm Ben Lynn, một trong những người sáng lập thuật toán BLS và một kỹ sư cấp cao của Google; Andreas, một trong những nhà thiết kế của máy ảo WebAssembly và một kỹ sư cấp cao của Google; và Timo, người phát minh ra thuật toán khai thác Bitcoin Asic sớm nhất. Các nhà phát triển xuất sắc như người phát minh ra Identity Mixer và nhà nghiên cứu chính của IBM Jan đã gia nhập DFINITY.

    Điều đáng nói là nhiều chuỗi công cộng như Ethereum và Polkadot đang xem xét chuyển sang máy ảo WASM. Là người phát minh ra nó, kỹ sư Andreas của Quỹ DFINITY đã tham gia vào việc xây dựng hầu hết các tiêu chuẩn liên quan đến máy ảo WASM. Sự tiến bộ là mở rộng máy ảo WASM 32-bit sang máy ảo WASM 64-bit.

    Dfinity – Cơ chế hoạt động

    Trước hết, DFINITY dựa trên các trung tâm dữ liệu được phân phối trên khắp thế giới, các trung tâm dữ liệu độc lập hoặc các trạm nút do bên thứ ba xây dựng.

    Trung tâm dữ liệu sẽ tạo ra rất nhiều máy nút thông qua ảo hóa máy khách, và sau đó các nút này sẽ tạo thành các mạng con khác nhau dưới sự lựa chọn số ngẫu nhiên, và Canister sẽ chạy trên các mạng con này.

    Canister là một hợp đồng thông minh được nâng cấp trong hệ thống DFINITY. Mạng con có thể hiểu là sự phân mảnh của chuỗi khối.

    Dfinity – Các hợp đồng thông minh (Canisters)

    Các nút tạo thành nhiều mạng con thông qua giao thức ICP và có nhiều Canister chạy trên các mạng con. Canister là phiên bản nâng cấp của hợp đồng thông minh. Điểm khác biệt lớn nhất so với hợp đồng thông minh Ethereum là trạng thái trên Ethereum được hiển thị công khai trên khối, vì vậy hợp đồng thông minh trên Ethereum thực sự là một chuỗi mã trên máy cập nhật trạng thái. Nó không chứa trạng thái; nhưng theo kiến trúc DFINITY, mỗi hợp đồng thông minh phân bổ một lượng bộ nhớ nhất định (hiện tại là 4GB). Nếu bạn có thể coi ICP như một siêu máy tính, thì Canister là một quy trình trong máy tính và mỗi Canister tất cả các quy trình đều chứa bộ nhớ đang chạy của riêng chúng, vì vậy bạn có thể đóng gói một số dữ liệu liên quan đến hợp đồng thông minh trong một vùng chứa, đây cũng là một phương pháp lưu trữ duy nhất trên DFINITY.

    Chức năng bộ nhớ của Canister trong ICP cho phép bạn lưu trữ trạng thái của hợp đồng thông minh, cơ sở dữ liệu và thậm chí cả dữ liệu giao diện người dùng, chẳng hạn như nội dung trò chơi, trong bộ lưu trữ này. Đây là sự khác biệt lớn nhất giữa DFINITY và Ethereum.

    Core – Đổi mới công nghệ

    Mật mã ChainKey cho phép các nút mạng con tạo ra một chữ ký khóa công khai duy nhất thông qua tập hợp các chữ ký. Đây là công nghệ cơ bản để DFINITY mở rộng nhiều mạng con nhằm mở rộng vô hạn hiệu suất.

    Trong Ethereum, nhiều nút cạnh tranh để tạo ra các khối và mỗi nút sẽ ký bằng khóa riêng của chính nó. Do đó, một lượng lớn dữ liệu chữ ký sẽ được tạo ra trên Ethereum. Trên DFINITY, nhiều nút đạt được sự đồng thuận để tạo ra các khối. Mỗi nút sẽ ký vào khối, nhưng khóa cá nhân chữ ký của tất cả các nút đến từ tổng khóa riêng của một mạng con. Sau khi chữ ký của các nút được thu thập trong mạng đạt đến một ngưỡng Ví dụ: 51%, một chữ ký mạng con hoàn chỉnh có thể được tổng hợp và chuỗi này có thể có được một khối đồng thuận. Quá trình này được gọi là công nghệ ChainKey.

    Ngoài ra, DFINITY đang nghiên cứu việc sử dụng công nghệ này để gửi các giao dịch đến mạng Bitcoin, từ đó, việc triển khai các hợp đồng thông minh trên ICP thậm chí có thể trực tiếp gửi các giao dịch trên mạng Bitcoin hoặc thậm chí là mạng Ethereum.

    Hệ thống thần kinh mạng là một sự đổi mới khác do DFINITY đề xuất. Là hệ thống quản trị theo thuật toán mở của DFINITY, có thể thực hiện nhiều nỗ lực tài chính về vấn đề này.

    Cải tiến lớn thứ ba là hợp đồng thông minh Canister đã nói ở trên, cho phép DFINITY lưu trữ toàn bộ phần mềm front-end, back-end và middleware.

    Cuối cùng, DFINITY cố gắng thay thế mô hình truyền thống (tên người dùng và mật khẩu) bằng các phương pháp xác thực được mã hóa tiên tiến và an toàn hơn, do đó loại bỏ khả năng nhà cung cấp dịch vụ đánh cắp dữ liệu người dùng hoặc theo dõi hoạt động của người dùng.

    Mô hình mới của kiến trúc chuỗi công cộng

    Ethereum 2.0 sử dụng công nghệ sharding, nhưng sharding của nó vẫn cần phải tương tác thông qua chuỗi beacon. Vì hiệu suất của chuỗi beacon có giới hạn trên nên lượng thông tin mà nó có thể hỗ trợ bị hạn chế và số lượng chuỗi phân đoạn cũng bị hạn chế. Do đó, Ethereum 2.0 là một giải pháp cho các vấn đề đã được dàn dựng, không phải là giải pháp cuối cùng. Ví dụ, thiết kế relay chain của Polkadot, v.v.

    Chỉ cần có những thiết kế như bus, main chain, hay relay, chúng không thể giải quyết triệt để vấn đề mở rộng, do đó rất nhiều ứng dụng giá trị cao như mạng xã hội, truyền thông trực tuyến và trò chơi khó đạt được.

    DFINITY là một kiến trúc đa mạng con. Không có sự liên kết giữa mạng con và mạng con. Không có chuỗi chung để quản lý tất cả các mạng con. Các mạng con là một mối quan hệ song song.

    Giao tiếp giữa mạng con và mạng con là để ký kết giao dịch đồng thuận thông qua công nghệ ChainKey. Vì sẽ có sự đồng thuận của một mạng con trong mạng con, giao dịch giữa các mạng con sau khi tạo ra sự đồng thuận, các mạng con sẽ kiểm tra chữ ký của các mạng con khác để xác định xem nó có hợp pháp hay không và khóa công khai của mỗi mạng con là duy nhất. Miễn là tin nhắn được gửi qua ChainKey, nó mặc định đã vượt qua sự đồng thuận của mạng con. Trong chế độ này, dữ liệu của mạng con không còn bị giới hạn, giới hạn trên duy nhất là băng thông mạng và có thể mở rộng không giới hạn.

    Đã 6 tháng kể từ khi DFINITY trực tuyến, từ 5 mạng con ban đầu, giờ đã mở rộng lên 27 mạng con. Hơn 300 nút đang chạy 27 mạng con này và 27 mạng con này đã lưu trữ gần 10.000 hợp đồng thông minh Canister.

    Các hợp đồng thông minh, phần mềm trung gian và giao diện người dùng

    Các hợp đồng phát triển Ethereum truyền thống cần triển khai mã liên quan đến tài sản trên chuỗi, nhưng vì người dùng không thể truy cập hợp đồng của bạn trực tiếp thông qua dòng lệnh, nên không thể kết nối trực tiếp với một nút của mạng chính Ethereum thông qua điện thoại di động hoặc máy tính. Do đó, hai nhiều lớp hơn phải được thực hiện ở giữa: một lớp giao diện người dùng, thuận tiện cho người dùng sử dụng chương trình; lớp kia là phần mềm trung gian, hoặc một dịch vụ của ví, hoặc một dịch vụ tiêu chuẩn hóa như infura, để người dùng có thể nhận ra nhanh chóng đọc hiểu.

    Vấn đề còn lại là phần front-end và middleware vẫn mang tính tập trung cao. Ngoài ra, nếu bạn muốn làm một số logic phức tạp, chẳng hạn như một số logic về đầu ra vàng của game, nếu các logic này được đưa lên dây chuyền thì chi phí gas sẽ rất cao. Ngoài ra, máy ảo của EVM áp đặt các hạn chế đối với một số hoạt động. Mặc dù Ethereum là Turing-complete, trên thực tế, nhiều doanh nghiệp vẫn sẽ lựa chọn thực hiện trong các máy chủ tập trung. Bằng cách này, rất khó để đạt được doanh nghiệp có thể xác minh được. Trên đây là những vấn đề phát sinh khi phát triển trên Ethereum.

    Trong DFINITY, front-end, back-end và thậm chí là cơ sở dữ liệu của dịch vụ, bao gồm các hoạt động bổ sung, xóa và kiểm tra liên quan đến cơ sở dữ liệu đều có thể được đưa vào hợp đồng thông minh DFINITY để chạy. Thông thường, chúng ta có thể sử dụng một Canister làm mặt trước và một Canister khác làm mặt sau để tương tác với giao diện người dùng.

    Các nhà phát triển có thể đặt tất cả các giao diện trước và sau, phần mềm trung gian, v.v. trên DFINITY để đạt được một mạng liền mạch mà không cần lo lắng về chi phí. Sẽ tốn khoảng 270 triệu đô la Mỹ để lưu trữ 5GB dữ liệu trên Ethereum và ít nhất 5 triệu đô la Mỹ để lưu trữ 5GB dữ liệu trên SOL. Và chi phí lưu trữ trên DFINITY thấp hơn $5.

    Cung cấp cho nhà phát triển siêu năng lực

    Đối với các nhà phát triển Internet truyền thống, 90% thời gian là giải quyết xung đột giữa các thành phần như máy chủ, cơ sở dữ liệu hệ thống tệp, v.v., chúng ta thường gọi là công việc bẩn thỉu. Sự phát triển của Ethereum cũng gặp phải những vấn đề tương tự, thực tế thì thời gian để viết mã hợp đồng và làm logic nghiệp vụ không lâu, và nó thiên về các vấn đề kết nối cuộc gọi và front-end.

    Nhưng trong DFINITY, bạn có thể cống hiến hết mình để phát triển. Bạn có thể triển khai trực tiếp mã vào chuỗi ICP, giống như tải mã lên github và mọi thứ sẽ chạy trực tiếp trên chuỗi mà không có bất kỳ thời gian chết nào.

    Thực hành phát triển máy tính Internet

    Tạo dự án tiêu chuẩn IC Motoko

    Giới thiệu các tính năng phát triển IC Dapp

    • Có hai loại lưu trữ dữ liệu Canister: lưu trữ liên tục và lưu trữ thời gian chạy
    • Canister cũng là một tác nhân, có thể hiểu là một mô hình hướng sự kiện điển hình, tác nhân cũng là một cỗ máy trạng thái.Mỗi hộp nhận tin nhắn và lưu chúng vào hộp thư, sau đó xử lý tuần tự thông tin trong hộp thư. xử lý từng phần thông tin tại một thời điểm. Các vấn đề về đồng thời
    • Thông báo được chia thành hai loại. Một là thông báo cập nhật sửa đổi trạng thái. Thông báo cập nhật cần được xác định bởi sự đồng thuận của giao thức ICP. Kết quả của việc xử lý thông báo cần được xác minh bởi sự đồng thuận của tất cả các phiên bản canister và trạng thái của hộp cũng được xác định;
    • Một loại thông báo khác là thông báo truy vấn chỉ đọc. Kết quả của loại thực thi thông báo này không yêu cầu sự đồng thuận. Một thể hiện canister thực hiện thông báo truy vấn trực tiếp trả về kết quả và thời gian phản hồi để xử lý thông báo truy vấn là mili giây.
    • Thời gian phản hồi để xử lý thông báo cập nhật là khoảng vài giây, ngay cả khi thông báo truy vấn có mã sửa đổi trạng thái, thay đổi trạng thái sẽ bị loại bỏ sau khi thông báo được xử lý.
    • Triển khai cục bộ; – tham số nâng cấp chế độ

    Dapp đã triển khai vào mạng chính

    • URL faucet: https://faucet.dfinity.org
    • Triển khai lệnh mạng chính: dfx deploy –network ic
    • Triển khai lệnh mainnet: dfx deploy –network ic –no-wallet
      • Sẽ không tự động tạo canister_ids.json,
      • Bạn cần đăng nhập vào nns.ic0.app và tạo một hộp,
      • Đồng thời, thêm phần chính của môi trường cục bộ vào danh sách bộ điều khiển của hộp mới được tạo, rồi thực hiện lệnh triển khai.
      • Tạo tệp canister_ids.json trên thư mục dự án và ghi id cainster được tạo trên nns;

    Nguồn tài liệu:

    Resident