Lỗ hổng của IPFS
Khi nói đến việc lưu trữ dữ liệu phi tập trung, Hệ thống tệp liên hành tinh, được gọi là IPFS, là một dự án không thể bỏ qua.
Là một trong những dự án lưu trữ phi tập trung đáng chú ý nhất, IPFS sử dụng cấu trúc dữ liệu của Merkle DAG (Biểu đồ tuần hoàn có hướng), một bản sửa đổi dựa trên Cây Merkle. Với cấu trúc dữ liệu này, IPFS thực hiện việc đánh địa chỉ nội dung và tải xuống từng đoạn tệp.
Nói một cách cụ thể, IPFS chỉ định một giá trị băm duy nhất cho mỗi tệp, tương tự như dấu vân tay của tệp. Mỗi tệp gốc trỏ đến nhiều tệp nút và khi nội dung của tệp nút thay đổi, giá trị băm cũng thay đổi tương ứng, khiến hàm băm của tệp gốc cũng thay đổi.
Bằng cách này, IPFS lưu trữ và tìm các tệp theo địa chỉ dựa trên nội dung duy nhất thay vì địa chỉ dựa trên địa chỉ. Điều này có nghĩa là nếu bạn đang tìm kiếm một tập tin, bạn không cần biết nó ở đâu mà chỉ cần biết nó chứa gì. IPFS tạo ra một hàm băm duy nhất cho mỗi tệp và khi người dùng cần truy xuất tệp này, họ chỉ cần hỏi IPFS ai có hàm băm này để hoàn tất việc truy xuất. Vì hàm băm ngăn chặn việc lưu trữ trùng lặp nên các tệp có cùng nội dung sẽ không bị IPFS sao chép. Cách tiếp cận này tối ưu hóa việc lưu trữ và cải thiện hiệu suất mạng.

Cơ chế đánh địa chỉ nội dung là một ưu điểm lớn của IPFS, nhưng đồng xu nào cũng có hai mặt, nó cũng mang lại một nhược điểm. Trong IPFS, khi một tệp được lưu trữ, nó không thể được sửa đổi trong hệ thống vì việc sửa đổi nội dung tệp sẽ thay đổi hàm băm của tệp và người dùng không thể tìm thấy tệp đã thay đổi theo giá trị băm ban đầu. Đây là một điểm yếu bị chỉ trích rộng rãi: IPFS không giỏi trong việc lưu trữ các tệp cần được cập nhật và thay đổi theo thời gian.
Mặc dù IPFS hoạt động tốt trong việc lưu trữ các tệp tĩnh, nhưng nó thiếu khả năng tính toán và quản lý trạng thái cho các tính năng giống cơ sở dữ liệu nâng cao hơn như khả năng thay đổi, kiểm soát phiên bản, kiểm soát truy cập và logic lập trình, những tính năng cần thiết để cho phép các nhà phát triển xây dựng hệ thống phi tập trung đầy đủ tính năng. các ứng dụng. Do đó, nhu cầu cấp thiết về một giải pháp hiệu quả và phi tập trung để lưu trữ dữ liệu động - Ceramic giải quyết vấn đề này bằng cơ sở dữ liệu giống NoSQL để các nhà phát triển lưu trữ nội dung có cấu trúc và có thể thay đổi.
Được xây dựng cho nội dung có thể thay đổi
Thiết kế lưu trữ của Ceramic dựa trên IPFS và mở rộng nó bằng lớp lưu trữ động phi tập trung.
Trên Ceramic, mọi thông tin được thể hiện dưới dạng nhật ký cam kết chỉ bổ sung, được gọi là “Luồng”, được hiển thị dưới dạng kết hợp các ô vuông màu xám trong hình bên dưới. Luồng có khái niệm tương tự như cây Git: trạng thái ban đầu (Cam kết Genesis) và mỗi thay đổi tiếp theo (Cam kết) đều được lưu trữ trong IPLD (Dữ liệu liên kết giữa các hành tinh, lớp IPFS dành riêng cho cấu trúc dữ liệu) và các bản ghi này được kết hợp để tạo thành một Suối. Vì Luồng ghi lại “các thay đổi” chứ không phải “ảnh chụp nhanh” của trạng thái kết quả nên chỉ cần xử lý tất cả các sự kiện trên Luồng để có trạng thái mới nhất của nhật ký.

Ví dụ: mẫu bản ghi của Ceramic như sau: ban đầu, Alice và Bob mỗi người có 10 đô la; vào ngày thứ hai, Alice chuyển $5 cho Bob; vào ngày thứ ba, Bob chuyển 3 USD cho Alice. Điều này cũng rất giống sổ cái blockchain, trong đó sổ cái không ghi số dư của từng người dùng và tất cả các quy trình trung gian cần được tính toán để có được số dư cuối cùng của người dùng.
Một cách tương đối, mẫu bản ghi truyền thống của IPFS là: trong tệp a, Alice và Bob mỗi người có 10 USD; trong hồ sơ b, Alice có 5 USD và Bob có 15 USD; và trong hồ sơ c, Alice có 8 USD và Bob có 12 USD. Ở đây, mỗi bản ghi là một ảnh chụp nhanh về trạng thái kết quả và một ảnh chụp nhanh mới cần được tạo ngay khi có thay đổi.
Bằng thiết kế này, Ceramic đảm bảo rằng mỗi nhật ký có một ID luồng duy nhất, với cách đặt tên thống nhất toàn cầu và không thay đổi tên do thay đổi nội dung. Mỗi lần ghi yêu cầu sự cho phép của người dùng và toàn bộ quá trình tương tự như ghi sổ kế toán trên blockchain, ngoại trừ những gì được viết không phải là dữ liệu giao dịch mà là các nội dung có thể thay đổi khác, chẳng hạn như thông tin tài khoản người dùng.
Khả năng kết hợp dữ liệu
Ceramic đạt được khả năng kết hợp dữ liệu ứng dụng chéo chủ yếu thông qua việc sử dụng một phương pháp trừu tượng hóa mới, được gọi là mô hình dữ liệu.
Các mô hình dữ liệu thường đại diện cho một tính năng ứng dụng logic, duy nhất, chẳng hạn như hồ sơ người dùng, biểu đồ xã hội hoặc blog. Ví dụ: bạn có thể tưởng tượng rằng mọi triển khai Twitter phi tập trung sẽ chạy trên một vài mô hình dữ liệu được chia sẻ: một cho các tweet của mỗi người dùng, một cho biểu đồ xã hội của họ, một cho DM của họ, v.v. Bằng cách áp dụng các mô hình dữ liệu cơ bản giống nhau, các ứng dụng có thể để tương tác tự nhiên trên cùng một dữ liệu.
Theo một cách nào đó, bạn có thể so sánh việc sử dụng các tiêu chuẩn mô hình dữ liệu của Ceramic với việc sử dụng các tiêu chuẩn mã thông báo cho sổ cái tài sản. Ví dụ: trên Ethereum, việc giới thiệu mã thông báo có thể thay thế ERC20 và tiêu chuẩn mã thông báo không thể thay thế ERC721 đã tạo ra toàn bộ hệ sinh thái mã thông báo và ứng dụng tài chính tương tác với nhau. Gốm mang khái niệm tương tự này vào dữ liệu.
Ceramic áp dụng cách tiếp cận dựa vào cộng đồng để tạo ra các mô hình dữ liệu này, cho phép bất kỳ nhà phát triển nào dễ dàng xác định, chia sẻ và sử dụng lại mô hình của họ với các nhà phát triển khác trong hệ sinh thái. Khi cộng đồng tạo ra nhiều mô hình dữ liệu hơn, bạn sẽ thấy sự mở rộng liên tục về số lượng và sự đa dạng của các ứng dụng được xây dựng bằng dữ liệu tổng hợp.
Khả năng kết hợp được thực hiện theo cách này cũng giúp trải nghiệm của nhà phát triển tốt hơn. Xây dựng một ứng dụng trên Ceramic trông giống như duyệt qua một thị trường gồm các mô hình dữ liệu, cắm chúng vào ứng dụng của bạn và tự động có quyền truy cập vào tất cả dữ liệu trên mạng được lưu trữ trong các mô hình này. Sử dụng Ceramic, các nhà phát triển sẽ không cần phải lo lắng về việc khởi động ứng dụng của họ với dữ liệu và người dùng riêng biệt của họ. Tốc độ đổi mới tổng hợp giữa các nhà phát triển sẽ tăng tốc đáng kể.
Khả năng mở rộng
Ceramic đạt được khả năng mở rộng thông qua môi trường thực thi được phân chia. Tất cả các luồng trên Ceramic duy trì trạng thái độc lập và các nút mạng thực hiện các giao dịch luồng song song. Cách tiếp cận này, không giống như hầu hết các blockchain, cho phép Ceramic hoạt động với khả năng mở rộng cần thiết cho các phiên bản phi tập trung của ứng dụng xã hội như Twitter hoặc Facebook.
Không giống như các hệ thống blockchain truyền thống nơi khả năng mở rộng bị giới hạn trong một môi trường thực thi ảo toàn cầu duy nhất và trạng thái của một sổ cái duy nhất được chia sẻ giữa tất cả các nút, mỗi nút Ceramic hoạt động như một môi trường thực thi riêng để thực hiện tính toán và xác thực các giao dịch trên luồng – không có môi trường thực thi toàn cầu sổ cái. Phân đoạn thực thi “tích hợp sẵn” này cho phép Mạng gốm mở rộng quy mô theo chiều ngang để song song việc xử lý số lượng giao dịch luồng đồng thời ngày càng tăng khi số lượng nút trên mạng tăng lên. Một thiết kế như vậy là cần thiết để xử lý quy mô dữ liệu của thế giới, có quy mô lớn hơn thông lượng cần thiết trên một chuỗi khối tài chính. Một lợi ích khác của thiết kế này là nút Gốm có thể thực hiện các giao dịch truyền phát trong môi trường ngoại tuyến trước tiên và sau đó đồng bộ hóa các bản cập nhật với phần còn lại của mạng khi nó trực tuyến trở lại.
Giải pháp DID
Ceramic cũng cung cấp giải pháp nhận dạng linh hoạt và mạnh mẽ có tên là IDX, giải pháp nhận dạng phi tập trung (DID) đầy đủ chức năng đầu tiên.
IDX là giao thức nhận dạng chuỗi chéo dành cho các ứng dụng mở có danh tính phi tập trung và dữ liệu người dùng có thể tương tác, cho phép người dùng xây dựng danh tính kỹ thuật số thống nhất bao gồm tất cả dữ liệu của họ, đồng thời cho phép các nhà phát triển chia nhỏ các silo và tự do chia sẻ dữ liệu người dùng giữa các ứng dụng. Như được hiển thị trong hình bên dưới, nó cung cấp một chỉ mục phi tập trung cho phép dữ liệu có cấu trúc được liên kết với mã định danh phi tập trung (DID) và dữ liệu được xác định theo định nghĩa và được lưu trữ trong hồ sơ.

Ngoài ra, IDX có thể được sử dụng với bất kỳ loại kho dữ liệu nào như Ceramic, Textile, OrbitDB, IPFS, Sia, Arweave, cơ quan đăng ký blockchain hoặc thậm chí cơ sở dữ liệu tập trung và hỗ trợ xác thực từ bất kỳ loại ví Web3 nào.
IDX rất phù hợp để liên kết hồ sơ người dùng, biểu đồ xã hội di động, điểm danh tiếng, xác nhận quyền sở hữu, nội dung do người dùng tạo, dữ liệu ứng dụng, cài đặt, tên miền, địa chỉ blockchain và tài khoản Web2 xã hội với người dùng theo cách phi tập trung.
Phần kết luận
Tóm lại, sự xuất hiện của Ceramic đã hỗ trợ rất nhiều cho việc xây dựng Web3 và mở khóa các tính năng mới cho các nhà phát triển Web3. Bất kể nhà phát triển blockchain công khai nào (Ethereum, BSC, Polygon, Avalanche, v.v.) đang xây dựng, họ có thể đồng thời tận dụng Ceramic cho các chức năng tập trung vào dữ liệu để cải thiện ứng dụng của mình. Hơn nữa, thông qua hệ thống tài khoản dựa trên DID linh hoạt của Ceramic, Ceramic giao tiếp tự nhiên với tài khoản và hệ thống khóa của các chuỗi khối lớn hiện tại, mang đến cho người dùng sự tiện lợi lớn.
Thật vui khi thấy đã có nhiều dự án nền tảng xã hội DID và Web3 được phát triển trên Ceramic. Trong số đó có thể kể tên một số dự án đáng chú ý: CyberConnect, nền tảng phần mềm trung gian đồ thị xã hội; Orbis, một nền tảng Twitter Web3; và The Convo Space, một nền tảng nhắn tin tức thời, v.v. Chúng tôi rất mong đợi những khả năng mới mà cơ sở hạ tầng mạng dữ liệu của Ceramic có thể mang lại cho lớp ứng dụng Web3.
Tuyên bố miễn trừ trách nhiệm: Nghiên cứu này chỉ nhằm mục đích cung cấp thông tin. Nó không cấu thành lời khuyên đầu tư hoặc khuyến nghị mua hoặc bán bất kỳ khoản đầu tư nào và không nên được sử dụng để đánh giá giá trị của việc đưa ra bất kỳ quyết định đầu tư nào.
🐦 @chestersigned
📅 Ngày 8 tháng 5 năm 2022
Liên kết:
https://developers.ceramic.network/learn/welcome/
https://blog.ceramic.network/what-is-ceramic/
https://multicoin.capital/2022/02/16/the-composable-web3-data-network/
https://blog.ipfs.io/2021-07-13-ceramic-mainnet-launch/


