Tác giả: Arweave Nguồn: X, @ArweaveOasis span>
Hệ sinh thái Arweave Kể từ khi ra mắt vào năm 2018, nó đã được coi là một trong những mạng có giá trị nhất trong mạch lưu trữ phi tập trung. Nhưng trong chớp mắt, 5 năm sau, nhiều người vừa quen vừa lạ với Arweave/AR do các thuộc tính dẫn đầu về công nghệ của nó. Bài viết này bắt đầu bằng việc điểm lại lịch sử phát triển công nghệ của Arweave kể từ khi thành lập nhằm nâng cao hiểu biết sâu sắc của mọi người về Arweave.
Arweave đã trải qua hơn 10 lần nâng cấp công nghệ lớn trong 5 năm. Mục tiêu cốt lõi của các lần lặp lại chính của nó là chuyển đổi từ cơ chế khai thác dựa trên máy tính sang cơ chế khai thác dựa trên lưu trữ.
Arweave 1.5: Ra mắt Mainnet
Mạng chính Arweave được ra mắt vào ngày 18 tháng 11 năm 2018. Kích thước của mạng bện lúc đó chỉ là 177 MiB. Arweave ban đầu tương tự như ngày nay ở một số khía cạnh, với thời gian tạo khối là 2 phút và tối đa 1.000 giao dịch trên mỗi khối. Ngoài ra, còn có nhiều khía cạnh khác nhau, chẳng hạn như giới hạn kích thước chỉ 5,8 MiB cho mỗi giao dịch. Và nó sử dụng cơ chế khai thác được gọi là Bằng chứng truy cập.
Vậy câu hỏi đặt ra là Bằng chứng truy cập (PoA) là gì?
Nói một cách đơn giản, để tạo một khối mới, người khai thác phải chứng minh rằng họ có quyền truy cập vào các khối khác trong lịch sử chuỗi khối. Vì vậy, Bằng chứng truy cập chọn ngẫu nhiên một khối lịch sử từ chuỗi và yêu cầu người khai thác đặt khối lịch sử đó làm khối thu hồi (Khối thu hồi) vào khối hiện tại mà họ đang cố gắng tạo. Và đây sẽ là bản sao lưu hoàn chỉnh của khối truy nguyên này.
Ý tưởng là những người khai thác không cần phải lưu trữ tất cả các khối, miễn là họ có thể chứng minh rằng họ có quyền truy cập vào các khối, họ có thể cạnh tranh trong việc khai thác. (Dmac đã sử dụng phép loại suy về đua xe trong video của mình để dễ hiểu, được trích dẫn ở đây.)
Trước hết, trò chơi này có vạch đích, sẽ di chuyển theo số lượng người tham gia hoặc tốc độ khai thác, để đảm bảo trò chơi luôn kết thúc sau khoảng hai phút. Đây là lý do cho thời gian chặn hai phút.
Thứ hai, trò chơi này được chia thành hai phần.
·Phần đầu tiên, có thể gọi là vòng loại, người khai thác phải chứng minh rằng họ có thể truy cập các khối lịch sử. Khi đã có khối được chỉ định trong tay, bạn có thể vào vòng chung kết. Nếu những người khai thác không lưu trữ khối, điều đó không thành vấn đề, họ vẫn có thể truy cập khối đó từ các đồng nghiệp của mình và tham gia cuộc thi.
·Phần thứ hai tương đương với vòng chung kết sau vòng loại. Phần này sử dụng sức mạnh tính toán hàm băm để khai thác hoàn toàn theo cách thức chứng minh công việc. Về bản chất, nó tiêu tốn năng lượng để tính toán hàm băm và cuối cùng giành chiến thắng trò chơi.
Khi người khai thác vượt qua vạch đích, trò chơi kết thúc và trò chơi tiếp theo bắt đầu. Phần thưởng khai thác đều thuộc sở hữu của một người chiến thắng, điều này khiến việc khai thác trở nên cực kỳ căng thẳng. Kết quả là Arweave bắt đầu phát triển nhanh chóng.
Arweave 1.7: RandomX
Nguyên tắc Arweave ban đầu là một cơ chế rất đơn giản và dễ hiểu, nhưng nó không' Không mất nhiều thời gian để các nhà nghiên cứu nhận thức được những hậu quả không mong muốn có thể xảy ra. Nghĩa là, thợ mỏ có thể áp dụng một số chiến lược gây bất lợi cho mạng mà chúng tôi gọi là chiến lược sai lầm.
Chủ yếu là do một số thợ mỏ phải truy cập vào khối của người khác khi họ không lưu trữ các khối truy cập nhanh được chỉ định, điều này khiến họ chậm hơn một bước so với những người khai thác đã lưu trữ khối và thua ở vạch xuất phát. Nhưng giải pháp cũng đơn giản, chỉ cần xếp thật nhiều GPU để bù đắp lỗ hổng này với sức mạnh tính toán rất lớn và tiêu tốn nhiều năng lượng, thậm chí chúng có thể vượt qua những thợ đào lưu trữ khối và duy trì khả năng truy cập nhanh. Nếu chiến lược này trở thành xu hướng chủ đạo, các thợ đào sẽ không còn lưu trữ và chia sẻ khối nữa mà thay vào đó, họ sẽ tiếp tục tối ưu hóa thiết bị máy tính và tiêu thụ lượng năng lượng lớn để giành chiến thắng trong cuộc cạnh tranh. Kết quả cuối cùng sẽ là tính hữu ích của mạng giảm đi đáng kể và dữ liệu dần dần trở nên tập trung. Đây rõ ràng là một bước đi sa đọa của mạng lưu trữ.
Để giải quyết vấn đề này, phiên bản Arweave 1.7 đã xuất hiện.
Tính năng lớn nhất của phiên bản này là sự ra đời của cơ chế có tên RandomX. Đó là một công thức băm rất khó chạy trên GPU hoặc thiết bị ASIC, khiến các thợ đào từ bỏ sức mạnh tính toán GPU và chỉ sử dụng CPU đa năng để cạnh tranh trong cuộc cạnh tranh sức mạnh băm.
Arweave 1.8/1.9: Kích thước giao dịch 10 MiB với SQL lite
Đối với người khai thác, có nhiều vấn đề quan trọng hơn cần giải quyết ngoài việc chứng minh khả năng truy cập các khối lịch sử của họ, tức là xử lý các giao dịch được người dùng đăng lên Arweave.
Tất cả dữ liệu giao dịch của người dùng mới phải được đóng gói thành các khối mới, đây là yêu cầu tối thiểu đối với chuỗi công khai. Trong mạng Arweave, khi người dùng gửi dữ liệu giao dịch cho người khai thác, người khai thác sẽ không chỉ đóng gói dữ liệu vào khối mà anh ta sắp gửi mà còn chia sẻ dữ liệu đó với những người khai thác khác để tất cả những người khai thác có thể. được đóng gói thành các khối tương ứng để gửi. tại sao họ lại làm việc này? Có ít nhất hai lý do cho việc này:
· Họ được khuyến khích về mặt tài chính để làm điều này vì mỗi dữ liệu giao dịch có trong một khối sẽ làm tăng phần thưởng cho khối đó. Những người khai thác chia sẻ dữ liệu giao dịch với nhau để đảm bảo rằng bất kỳ ai giành được quyền tạo khối sẽ nhận được phần thưởng tối đa.
·Ngăn chặn vòng xoáy chết chóc của quá trình phát triển mạng. Nếu dữ liệu giao dịch của người dùng thường không được đóng gói thành khối thì ngày càng có ít người dùng hơn, mạng sẽ mất giá trị và thu nhập của thợ đào cũng giảm, đây là điều không ai muốn thấy.
Vì vậy, những người khai thác chọn tối đa hóa lợi ích của mình theo cách cùng có lợi này. Nhưng điều này gây ra vấn đề trong việc truyền dữ liệu, trở thành điểm nghẽn về khả năng mở rộng mạng. Càng có nhiều giao dịch thì khối càng lớn và giới hạn giao dịch 5,8 MiB không giúp ích được gì. Do đó, Arweave đã cảm thấy nhẹ nhõm hơn nhờ hard fork và tăng quy mô giao dịch lên 10 MiB.
Nhưng dù vậy, vấn đề tắc nghẽn đường truyền vẫn chưa được giải quyết. Arweave là một mạng lưới các thợ mỏ được phân phối trên toàn cầu và tất cả các thợ mỏ cần đồng bộ hóa trạng thái của họ. Và mỗi thợ mỏ có tốc độ kết nối khác nhau, giúp mạng có tốc độ kết nối trung bình. Để mạng có thể tạo ra một khối mới cứ sau hai phút, tốc độ kết nối cần phải đủ nhanh để tải lên tất cả dữ liệu dự kiến sẽ được lưu trữ trong hai phút đó. Nếu người dùng tải lên dữ liệu vượt quá tốc độ kết nối trung bình của mạng sẽ gây tắc nghẽn và làm giảm hiệu quả của mạng. Điều này sẽ trở thành trở ngại cho sự phát triển của Arweave. Do đó, phiên bản cập nhật tiếp theo 1.9 sử dụng cơ sở hạ tầng như SQL lite để cải thiện hiệu suất mạng.
Arweave 2.0: SPoA
Vào tháng 3 năm 2020, bản cập nhật Arweave 2.0 đã giới thiệu hai bản cập nhật quan trọng cho mạng, nhờ đó dỡ bỏ những hạn chế về khả năng mở rộng mạng và phá bỏ những hạn chế về khả năng mở rộng mạng. về khả năng lưu trữ dữ liệu trên Arweave.
Bản cập nhật đầu tiên là Bằng chứng ngắn gọn. Điều này được xây dựng trên cấu trúc mật mã cây Merkle, cho phép người khai thác chứng minh rằng họ đã lưu trữ tất cả byte trong một khối bằng cách cung cấp đường dẫn nhánh nén giống như cây Merkle đơn giản. Sự thay đổi mà nó mang lại là các thợ đào chỉ cần đóng gói bằng chứng ngắn gọn dưới 1 KiB vào khối, thay vì đóng gói khối truy nguyên có thể là 10 GiB.
Bản cập nhật thứ hai là "Giao dịch định dạng 2". Phiên bản này tối ưu hóa định dạng giao dịch nhằm giảm bớt các khối truyền dữ liệu được chia sẻ giữa các nút. So với chế độ "Giao dịch định dạng 1" yêu cầu phải thêm tiêu đề giao dịch và dữ liệu vào khối cùng lúc, "Giao dịch định dạng 2" cho phép tách biệt tiêu đề giao dịch và dữ liệu, nghĩa là trong việc chia sẻ và truyền dữ liệu thông tin khối giữa các nút khai thác. Ngoài bằng chứng ngắn gọn về các khối quay lui, tất cả các giao dịch chỉ cần thêm tiêu đề giao dịch vào khối và dữ liệu giao dịch có thể được thêm vào khối sau khi cuộc thi kết thúc. Điều này sẽ giảm đáng kể yêu cầu truyền tải khi đồng bộ hóa các giao dịch nội khối giữa các nút khai thác.
Kết quả của những cập nhật này là nó tạo ra các khối nhẹ hơn và dễ truyền hơn trước đây, giải phóng băng thông dư thừa trong mạng. Những người khai thác sẽ sử dụng băng thông dư thừa này để truyền dữ liệu của "Giao dịch định dạng 2" vì dữ liệu này sẽ trở thành khối xem lại trong tương lai. Do đó, vấn đề về khả năng mở rộng được giải quyết.
Arweave 2.4: SPoRA
Cho đến nay, tất cả các vấn đề trong mạng Arweave đã được giải quyết chưa? Câu trả lời rõ ràng là không. Một vấn đề khác phát sinh do cơ chế SPoA mới.
Một chiến lược khai thác tương tự như các công cụ khai thác tận dụng sức mạnh tính toán GPU đã xuất hiện trở lại. Mặc dù lần này nó không phải là vấn đề tập trung sức mạnh tính toán của việc xếp chồng GPU, nhưng nó mang đến một chiến lược chủ đạo có thể tập trung vào tính toán hơn. Đó là nơi các nhóm lưu trữ truy cập nhanh xuất hiện. Tất cả các khối lịch sử được lưu trữ trong các nhóm lưu trữ này và khi bằng chứng truy cập tạo ra khối xem lại ngẫu nhiên, chúng có thể nhanh chóng tạo ra bằng chứng và sau đó đồng bộ hóa giữa các thợ mỏ với tốc độ cực nhanh.
Mặc dù đây có vẻ không phải là vấn đề lớn nhưng dữ liệu vẫn có thể được sao lưu và lưu trữ đầy đủ trong chiến lược như vậy. Nhưng vấn đề là chiến lược này sẽ chuyển hướng tập trung của các thợ đào một cách tinh vi, các thợ đào không còn có động cơ để truy cập dữ liệu tốc độ cao nữa, bởi vì giờ đây việc chuyển bằng chứng rất dễ dàng và nhanh chóng nên họ sẽ dành phần lớn sức lực của mình. để chứng minh công việc, trong hoạt động băm, không phải trong việc lưu trữ dữ liệu. Đây không phải chỉ là một hình thức khác của chiến lược đồi trụy sao?
Do đó, Arweave đã trải qua một số nâng cấp về chức năng, chẳng hạn như lặp lại chỉ mục dữ liệu (Lập chỉ mục), nén danh sách ví (Danh sách ví), di chuyển dữ liệu giao dịch phiên bản V1, vân vân. . Cuối cùng đã mở ra một phiên bản lặp lại chính khác - SPoRA, một bằng chứng ngắn gọn về quyền truy cập ngẫu nhiên.
SPoRA thực sự đưa Arweave vào một kỷ nguyên mới. Thông qua việc lặp lại cơ chế, sự chú ý của thợ mỏ chuyển từ tính toán băm sang lưu trữ dữ liệu.
Vậy, bằng chứng ngắn gọn về quyền truy cập ngẫu nhiên có sự khác biệt gì?
Đầu tiên, nó có hai điều kiện tiên quyết,
·Bộ dữ liệu được lập chỉ mục. Nhờ tính năng Lập chỉ mục lặp trong phiên bản 2.1, nó đánh dấu từng đoạn dữ liệu (Chunk) trong mạng dệt bằng một phần bù chung để mỗi đoạn dữ liệu có thể được truy cập nhanh chóng thông qua phần bù chung này. Điều này đưa chúng ta đến cơ chế cốt lõi của SPoRA - truy xuất liên tục các khối dữ liệu. Điều đáng nhắc là khối dữ liệu (Chunk) được đề cập ở đây là đơn vị dữ liệu nhỏ nhất sau khi chia một tệp lớn và kích thước của nó là 256 KiB. Đó không phải là khái niệm về Block.
·Băm chậm. Hàm băm này được sử dụng để chọn ngẫu nhiên các khối ứng cử viên. Nhờ thuật toán RandomX được giới thiệu trong phiên bản 1.7, người khai thác không thể sử dụng khả năng xếp chồng sức mạnh tính toán để tiến lên mà chỉ có thể sử dụng CPU để tính toán.
Dựa trên hai điều kiện tiên quyết này, cơ chế SPoRA có 4 bước
Bước đầu tiên là tạo số ngẫu nhiên và sử dụng số ngẫu nhiên cũng như thông tin khối trước đó để tạo hàm băm chậm thông qua RandomX;
Bước thứ hai bước Trong bước đầu tiên, sử dụng hàm băm chậm này để tính toán byte truy nguyên duy nhất (Recall Byte, là phần bù chung của khối dữ liệu);
Trong bước thứ ba, người khai thác sử dụng byte truy nguyên này để tìm truy nguyên tương ứng byte trong không gian lưu trữ riêng của nó. Nếu người khai thác không lưu trữ khối dữ liệu, hãy quay lại bước đầu tiên và bắt đầu lại;
Bước thứ tư là sử dụng hàm băm chậm được tạo ở bước đầu tiên và khối dữ liệu mới tìm thấy để thực hiện băm nhanh;
Bước thứ năm, nếu kết quả băm được tính toán lớn hơn giá trị độ khó khai thác hiện tại thì quá trình khai thác và phân phối khối được hoàn thành. Nếu không, hãy quay lại bước một và bắt đầu lại.
Như bạn có thể thấy ở đây, có một động lực rất lớn để các thợ mỏ lưu trữ càng nhiều dữ liệu càng tốt trên các ổ cứng có thể được kết nối với CPU của họ thông qua các bus rất nhanh, thay vì trong các kho lưu trữ ở xa . Hoàn thành việc chuyển đổi chiến lược khai thác từ định hướng tính toán sang định hướng lưu trữ.
Arweave 2.5: Đóng gói và bùng nổ dữ liệu
SPoRA khiến những người khai thác bắt đầu lưu trữ dữ liệu một cách điên cuồng vì đây là cách dễ dàng nhất để cải thiện hiệu quả khai thác. Vậy điều gì xảy ra tiếp theo?
Một số công cụ khai thác thông minh nhận ra rằng nút thắt cổ chai trong cơ chế này thực sự là tốc độ lấy dữ liệu từ ổ cứng. Càng thu được nhiều khối dữ liệu từ đĩa cứng thì càng có thể tính toán bằng chứng ngắn gọn hơn, thực hiện được nhiều thao tác băm hơn và cơ hội khai thác càng cao.
Vì vậy, nếu người khai thác chi gấp 10 lần chi phí cho ổ cứng, chẳng hạn như sử dụng ổ SSD có tốc độ đọc và ghi nhanh hơn để lưu trữ dữ liệu, thì công suất băm mà người khai thác có được sẽ cao hơn gấp 10 lần. Tất nhiên, cũng sẽ xảy ra một cuộc chạy đua vũ trang tương tự như sức mạnh tính toán của GPU. Các định dạng lưu trữ nhanh hơn SSD cũng sẽ xuất hiện, chẳng hạn như ổ RAM, các định dạng lưu trữ lạ với tốc độ truyền nhanh hơn. Nhưng tất cả phụ thuộc vào tỷ lệ đầu vào-đầu ra.
Giờ đây, tốc độ nhanh nhất mà người khai thác có thể tạo ra hàm băm là tốc độ đọc và ghi của ổ cứng SSD, tốc độ này đặt ra giới hạn trên thấp hơn về mức tiêu thụ năng lượng tương tự như mô hình PoW, khiến mô hình này trở nên thân thiện với môi trường hơn.
Điều này có hoàn hảo không? Tất nhiên là chưa. Các kỹ thuật viên tin rằng họ có thể làm tốt hơn trên cơ sở này.
Để tải lên lượng dữ liệu lớn hơn, Arweave 2.5 giới thiệu cơ chế gói dữ liệu. Mặc dù đây không thực sự là một bản nâng cấp giao thức nhưng nó là một phần quan trọng trong kế hoạch mở rộng quy mô, cho phép mạng bùng nổ về quy mô. Bởi vì nó phá vỡ giới hạn 1000 giao dịch trên mỗi khối mà chúng ta đã đề cập lúc đầu. Gói dữ liệu chỉ chiếm một trong 1.000 giao dịch đó. Điều này đã đặt nền móng cho Arweave 2.6.
Arweave 2.6
Arweave 2.6 là phiên bản nâng cấp chính kể từ SPoRA. Họ đã thực hiện một bước nữa hướng tới tầm nhìn làm cho hoạt động khai thác Arweave tiết kiệm chi phí hơn nhằm thúc đẩy sự phân bổ phi tập trung hơn của các công cụ khai thác.
Vậy chính xác thì sự khác biệt là gì? Do vấn đề về không gian nên ở đây chỉ giới thiệu ngắn gọn, trong tương lai, thiết kế cơ chế của Arweave 2.6 sẽ được giải thích chi tiết hơn.
Nói một cách đơn giản, Arweave 2.6 là phiên bản giới hạn tốc độ của SPoRA. Nó giới thiệu một đồng hồ mã hóa có thể kiểm chứng cho SPoRA có thể tích tắc một lần mỗi giây mà chúng tôi gọi là Chuỗi băm.
·Nó tạo ra một hàm băm khai thác (Hash khai thác) mỗi tích tắc,
·Người khai thác chọn một chỉ mục của phân vùng dữ liệu được lưu trữ của họ để tham gia khai thác,
·Kết hợp hàm băm khai thác này với chỉ mục phân vùng, phạm vi truy nguyên có thể được tạo trong phân vùng dữ liệu được lưu trữ do người khai thác chọn. Phạm vi truy nguyên này bao gồm các khối truy nguyên 400. Đây là các khối truy nguyên mà người khai thác có thể sử dụng để khai thác. Ngoài phạm vi truy nguyên này, một phạm vi truy nguyên 2 khác sẽ được tạo ngẫu nhiên trong mạng dệt (Dệt). Nếu người khai thác lưu trữ đủ phân vùng dữ liệu, anh ta có thể có được phạm vi 2 này, tức là 400 khối truy nguyên khác. cơ hội chiến thắng cuối cùng. Điều này tạo ra động lực tốt cho những người khai thác lưu trữ đủ bản sao của các phân vùng dữ liệu.
·Người khai thác sử dụng các khối dữ liệu trong phạm vi quay lui để kiểm tra từng khối một. Nếu kết quả lớn hơn độ khó mạng nhất định hiện tại, họ sẽ giành được quyền khai thác. Nếu không, khối dữ liệu tiếp theo sẽ được sử dụng để thử nghiệm.
Điều này có nghĩa là số lượng băm tối đa được tạo ra mỗi giây là cố định. Phiên bản 2.6 kiểm soát con số này ở mức có thể được xử lý bằng đĩa cứng cơ học thông thường hiệu suất trong phạm vi. Điều này khiến tốc độ tối đa hàng nghìn hoặc hàng trăm nghìn băm mỗi giây của ổ cứng SSD ban đầu trở thành một màn hình và chỉ có thể cạnh tranh với các ổ cứng cơ học có tốc độ vài trăm băm mỗi giây. Nó giống như việc Lamborghini cạnh tranh với Toyota Prius trong một cuộc đua có tốc độ giới hạn là 60 km/h, lợi thế của Lamborghini là rất hạn chế. Do đó, yếu tố đóng góp lớn nhất cho hiệu suất khai thác hiện nay là số lượng bộ dữ liệu được lưu trữ bởi các thợ đào.
Trên đây là một số cột mốc quan trọng lặp đi lặp lại trong lịch sử phát triển của Arweave. Từ PoA đến SPoA đến SPoRA cho đến phiên bản giới hạn tốc độ của Arweave 2.6, SPoRA, tầm nhìn ban đầu luôn được tuân theo. Vào ngày 26 tháng 12 năm 2023, Arweave chính thức phát hành phiên bản 2.7 của sách trắng, trong đó có những điều chỉnh lớn dựa trên các cơ chế này và phát triển cơ chế đồng thuận thành bằng chứng sao chép đơn giản của SPoRes.