Shardeum thúc đẩy đổi mới công nghệ phân mảnh, khám phá con đường mới cho phân mảnh trạng thái động

Con đường đổi mới công nghệ phân mảnh: Shardeum và phân mảnh trạng thái động

Ngày 15 tháng 9 năm 2022, Ethereum đã hoàn thành việc hợp nhất (Merge). Đây là một khoảnh khắc lịch sử, Ethereum đã chuẩn bị cho điều này trong 5 năm và đã hoãn lại 6 lần. Do sự phát triển và thử nghiệm kéo dài, cùng với hiệu ứng ánh hào quang được chú ý, nhiều người đã hiểu nhầm rằng việc hợp nhất sẽ tự nhiên mang lại khả năng mở rộng, an toàn và bền vững hơn, nhưng thực tế không phải vậy. Việc chuyển đổi từ PoW( chứng minh công việc) sang PoS( chứng minh cổ phần) chỉ đơn giản là thay đổi đường ray và bánh xe, nó không trực tiếp mang lại tốc độ nhanh hơn, dung lượng lớn hơn, hoặc chi phí thấp hơn. Những gì thực sự có thể đạt được những mục tiêu này là một bộ giải pháp hoàn chỉnh: mạng chính có khả năng phân mảnh kết hợp với các giải pháp Layer2 tăng cường khả năng mở rộng.

Như người sáng lập Ethereum, Vitalik Buterin đã chỉ ra, phân mảnh là một giải pháp mở rộng dưới thách thức ba khó khăn về khả năng mở rộng, bằng cách chia các nút trong mạng thành các nhóm nhỏ hơn, xử lý các tập giao dịch khác nhau và thực hiện xử lý song song. Bằng cách giảm bớt gánh nặng xử lý lượng dữ liệu lớn cần thiết để tổng hợp trên toàn mạng, giống như chúng ta khi thanh toán mua sắm tại Walmart, việc mở thêm một vài kênh thanh toán có thể giảm thiểu thời gian xếp hàng và nâng cao hiệu quả thanh toán.

Đây là logic của phân mảnh, trực tiếp và đơn giản, tuy nhiên, quỷ nằm trong chi tiết - nguyên lý và hướng đi không sai, nhưng trong quá trình thực hiện luôn gặp phải nhiều vấn đề. Bài viết này muốn thông qua việc làm rõ hướng đi và khó khăn trên con đường "phân mảnh", vẽ ra một bản đồ của những người khám phá phân mảnh vừa ngước nhìn bầu trời vừa đứng vững trên mặt đất. Đồng thời, thông qua việc so sánh các giải pháp phân mảnh hiện có, tìm ra một số vấn đề chung và đề xuất một hướng đi khả thi: Shardeum và phân mảnh động.

Một, về "Phân mảnh"

Nói một cách đơn giản, xem xét những giới hạn của tam giác không thể, bắt đầu từ Ethereum như điểm gốc tọa độ (0,0), theo hai hướng "dọc" và "ngang", chúng ta sẽ chia các phương pháp mở rộng của blockchain hiện tại thành hai loại lớn:

Mở rộng theo chiều dọc (Vertical Scaling): Đạt được bằng cách cải thiện hiệu suất của phần cứng hiện có của hệ thống. Xây dựng một mạng lưới phi tập trung, trong đó mỗi nút trong mạng đều có khả năng tính toán siêu, tức là mỗi nút đều cần phần cứng "tốt hơn" - cách này đơn giản và hiệu quả, có thể đạt được cải thiện ban đầu về thông lượng, đặc biệt phù hợp với giao dịch tần suất cao, trò chơi và các ứng dụng khác nhạy cảm với độ trễ. Tuy nhiên, cách mở rộng này sẽ hạn chế mức độ phi tập trung của mạng, vì chi phí để vận hành các nút xác thực hoặc nút đầy đủ đã tăng lên. Việc duy trì mức độ phi tập trung bị giới hạn bởi tốc độ tăng trưởng xấp xỉ của hiệu suất phần cứng tính toán ( đây được gọi là "định luật Moore": số lượng transistor trên chip sẽ gấp đôi sau mỗi hai năm, và chi phí tính toán sẽ giảm một nửa ).

Mở rộng theo chiều ngang ( Horizontal Scaling ): Mở rộng theo chiều ngang thường có một số ý tưởng. Một cách là trong bối cảnh blockchain, phân tán khối lượng tính toán giao dịch trong một hệ sinh thái đến nhiều blockchain độc lập, mỗi chuỗi đều có nhà sản xuất khối và khả năng thực thi riêng, cách này có thể tùy chỉnh hoàn toàn lớp thực thi của mỗi chuỗi, chẳng hạn như yêu cầu phần cứng của nút, chức năng bảo mật, phí gas, máy ảo và cài đặt quyền truy cập, v.v. Một phương án mở rộng theo chiều ngang khác là blockchain mô-đun, phân chia hạ tầng blockchain thành lớp thực thi, lớp khả dụng dữ liệu ( DA ) và lớp đồng thuận. Cơ chế mô-đun blockchain phổ biến nhất là rollup. Một cách khác là chia một blockchain thành nhiều phần, thực thi song song. Mỗi phần có thể coi như một blockchain, nghĩa là nhiều blockchain có thể thực thi song song. Ngoài ra, thường sẽ có một chuỗi chính, nhiệm vụ duy nhất của nó là giữ cho tất cả các phần đồng bộ.

Cần lưu ý rằng, những ý tưởng mở rộng ở trên không tồn tại một cách độc lập, mỗi giải pháp đều tìm được một điểm cân bằng trong tam giác bất khả thi, kết hợp với thiết kế cơ chế khuyến khích do lực lượng kinh tế trong hệ thống tạo ra, đạt được sự cân bằng hiệu quả ở cả cấp vĩ mô và vi mô.

Để thảo luận về "Phân mảnh", chúng ta cần bắt đầu từ đầu.

Vẫn giả định một tình huống như vậy, thanh toán tại Walmart, để nâng cao hiệu quả thanh toán và giảm thời gian chờ đợi của khách hàng, chúng tôi đã mở rộng từ một kênh thanh toán duy nhất sang 10 cửa sổ thanh toán, để tránh sai sót trong sổ sách, lúc này chúng tôi cần制定 các quy tắc thống nhất:

Đầu tiên, nếu chúng ta có 10 thu ngân, chúng ta nên phân mảnh họ đi làm việc ở cửa sổ nào?

Thứ hai, nếu chúng ta có 1000 khách hàng đang xếp hàng chờ đợi, làm thế nào để quyết định mỗi khách hàng sẽ đến quầy thanh toán nào?

Thứ ba, làm thế nào để tổng hợp 10 sổ cái riêng biệt tương ứng với 10 cửa sổ này?

Thứ tư, để tránh xảy ra tình trạng không khớp sổ sách, làm thế nào để ngăn chặn việc nhân viên thu ngân mắc lỗi?

Các vấn đề này thực ra tương ứng với một số vấn đề then chốt trong phân mảnh, cụ thể là:

Làm thế nào để xác định các nút/nhà xác thực trên toàn mạng thuộc về phân mảnh nào? Tức là: làm thế nào để thực hiện phân mảnh mạng (NetworkSharding);

Làm thế nào để xác định mỗi giao dịch được phân bổ cho phân mảnh nào? Tức là: làm thế nào để thực hiện phân mảnh giao dịch (Transaction Sharding);

Dữ liệu blockchain được lưu trữ như thế nào trong các phân mảnh khác nhau? Tức là: làm thế nào để thực hiện phân mảnh trạng thái (State Sharding);

Phức tạp có nghĩa là rủi ro, trên tất cả những cơ sở đó, làm thế nào để tránh sự phân mảnh của tính an toàn của toàn bộ hệ thống?

01 Phân mảnh mạng ( Network Sharding )

Nếu chúng ta hiểu đơn giản về blockchain như một loại sổ cái phi tập trung, thì cơ chế đồng thuận, dù là PoS hay PoW, đều nhằm mục đích để các nút cạnh tranh quyền ghi chép theo những quy tắc nhất định đã được thiết lập, trong quá trình này đảm bảo tính chính xác của sổ cái. Còn mạng phân mảnh là chỉ việc cần có một quy tắc đã định khác, để phân mảnh mạng blockchain, với điều kiện giảm thiểu tối đa việc giao tiếp lẫn nhau, các phân mảnh sẽ xử lý giao dịch trên chuỗi và cạnh tranh quyền ghi chép - tức là, quy tắc nhóm các nút.

Và trong quá trình này, vấn đề gặp phải là, khi các nút bên trong chuỗi khối được chia thành những phân mảnh khác nhau, độ khó và chi phí của kẻ tấn công sẽ giảm xuống một cách đáng kể. Chúng ta có thể suy luận rằng, giả sử quy tắc và kết quả của quá trình phân nhóm này là cố định và có thể dự đoán được, thì kẻ tấn công chỉ cần kiểm soát một phân mảnh nào đó trong toàn bộ mạng chuỗi khối, mua chuộc một số nút bên trong phân mảnh đó là có thể kiểm soát toàn bộ mạng.

Người sáng lập Near, Alexander Skidanov, mô tả vấn đề này như sau: nếu một chuỗi đơn có X xác thực viên quyết định phân tách thành một chuỗi phân mảnh và chia X xác thực viên thành 10 phân mảnh, thì mỗi phân mảnh giờ đây chỉ có X/10 xác thực viên, việc phá hủy một phân mảnh chỉ cần phá hủy 5.1%(51% / 10) tổng số xác thực viên. Điều này dẫn đến điểm thứ hai: ai chọn xác thực viên cho mỗi phân mảnh? Chỉ khi tất cả 5.1% xác thực viên này đều ở trong cùng một phân mảnh thì việc kiểm soát 5.1% xác thực viên mới có hại. Nếu xác thực viên không thể chọn phân mảnh nào để thực hiện xác thực, thì khả năng mà những người tham gia kiểm soát 5.1% xác thực viên đặt tất cả xác thực viên vào cùng một phân mảnh là rất thấp, do đó giảm đáng kể khả năng phá hủy hệ thống của họ.

Hệ thống phân mảnh phải phát triển một cơ chế để tin tưởng rằng mạng không thể đảo ngược các giao dịch từ các phân mảnh bên ngoài. Đến nay, có thể câu trả lời tốt nhất là đảm bảo số lượng các xác nhận viên trong phân mảnh cao hơn một ngưỡng tối thiểu nào đó, như vậy xác suất để các xác nhận viên không trung thực áp đảo một phân mảnh đơn lẻ sẽ rất thấp. Cách phổ biến nhất là xây dựng một mức độ ngẫu nhiên không thiên lệch nào đó, dựa vào toán học, nhằm giảm thiểu xác suất thành công của kẻ tấn công. Ví dụ như Ethereum, giải pháp của Ethereum là chọn ngẫu nhiên một xác nhận viên cho một phân mảnh từ tất cả các xác nhận viên, và cứ mỗi 6.4 phút ( một độ dài epoch ) sẽ thay đổi xác nhận viên.

Nói một cách đơn giản là chia các nút thành các nhóm ngẫu nhiên, sau đó phân công công việc cho các nút trong từng nhóm để xác thực độc lập.

Tuy nhiên, cần lưu ý rằng tính ngẫu nhiên trong blockchain là một chủ đề rất thách thức. Theo logic, quá trình sinh ra số ngẫu nhiên này không nên phụ thuộc vào tính toán của bất kỳ phân mảnh cụ thể nào. Đối với tính toán này, nhiều ý tưởng thiết kế hiện có đều phát triển một blockchain riêng biệt để duy trì toàn bộ mạng. Chuỗi như vậy được gọi là Beacon chain trong Ethereum và Near, Relay chain trong PolkaDot, và Cosmos Hub trong Cosmos.

Giải thích chi tiết về chuỗi công khai mới Shardeum: Một khả năng khác của phân mảnh

02 Giao dịch Phân mảnh (Transaction Sharding )

Phân mảnh giao dịch là quy tắc xác định "các giao dịch nào sẽ được phân bổ vào các phân mảnh nào", điều này không chỉ đạt được mục tiêu xử lý song song mà còn tránh được sự xuất hiện của vấn đề chi tiêu gấp đôi. Mô hình sổ cái của blockchain khác nhau sẽ ảnh hưởng đến việc phát triển phân mảnh giao dịch.

Hiện nay trong mạng lưới blockchain có hai loại phương thức ghi sổ, đó là mô hình UTXO( Unspent Transaction Outputs, và mô hình tài khoản/số dư, đại diện điển hình cho cái trước là BTC, còn cái sau như ETH.

Mô hình UTXO: Trong giao dịch BTC, mỗi giao dịch sẽ có một hoặc nhiều đầu ra, UTXO chỉ các đầu ra giao dịch blockchain chưa được chi tiêu, có thể được sử dụng làm đầu vào cho giao dịch mới, trong khi các đầu ra giao dịch đã chi tiêu không thể được chi tiêu lại, tương tự như trong trường hợp thanh toán và tiền thối với tiền giấy, khách hàng đưa một hoặc nhiều tờ tiền cho chủ cửa hàng, chủ cửa hàng sẽ trả lại một hoặc nhiều tờ tiền cho khách hàng. Dưới mô hình UTXO, việc phân mảnh giao dịch cần phải giao tiếp giữa các phân mảnh. Một giao dịch có thể bao gồm nhiều đầu vào và nhiều đầu ra, không có khái niệm tài khoản, cũng sẽ không có ghi chép số dư, một cách khả thi là: theo giá trị đầu vào của giao dịch nào đó, nó sẽ được đưa vào hàm băm để xử lý thành giá trị băm rời rạc nhằm xác định dữ liệu nên đi đến phân mảnh nào. Như sau:

Để đảm bảo rằng các mục được đặt vào các phân mảnh đúng cách và nhất quán, các giá trị được nhập vào hàm băm phải đến từ cùng một cột. Cột này được gọi là Khóa Phân mảnh. Sau đó, các giao dịch có giá trị bằng 1 sẽ được phân vào phân mảnh 1, còn các giao dịch có giá trị bằng 2 sẽ được phân vào phân mảnh 2. Tuy nhiên, nhược điểm của phương pháp này là các phân mảnh phải giao tiếp với nhau để tránh tấn công chi tiêu đôi. Nếu giới hạn giao dịch giữa các phân mảnh thì sẽ hạn chế tính khả dụng của nền tảng, trong khi nếu cho phép giao dịch giữa các phân mảnh thì phải cân nhắc giữa chi phí giao tiếp giữa các phân mảnh và lợi ích từ việc cải thiện hiệu suất.

Mô hình tài khoản/số dư: Hệ thống ghi nhận số dư của mỗi tài khoản, khi thực hiện giao dịch, hệ thống kiểm tra xem tài khoản có đủ số dư để thanh toán hay không, tương tự như khi chuyển khoản ngân hàng, ngân hàng sẽ ghi nhận số dư của mỗi tài khoản, chỉ khi số dư tài khoản lớn hơn số tiền chuyển khoản cần thiết, giao dịch mới có thể thực hiện. Dưới mô hình tài khoản/số dư, do một giao dịch chỉ có một đầu vào, vì vậy chỉ cần phân mảnh giao dịch theo địa chỉ người gửi, có thể đảm bảo rằng nhiều giao dịch của cùng một tài khoản được xử lý trong cùng một phân mảnh, hiệu quả ngăn chặn việc chi tiêu gấp đôi. Do đó, hầu hết các blockchain sử dụng công nghệ phân mảnh đều giống như hệ thống sổ cái tài khoản của Ethereum.

![Giải thích chi tiết về chuỗi công cộng mới Shardeum: Phân mảnh một khả năng khác])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(

) 03 Trạng thái Phân mảnh###State Sharding(

Trạng thái phân mảnh chỉ về cách mà dữ liệu trong blockchain được phân bổ để lưu trữ trong các phân mảnh khác nhau.

Vẫn tiếp tục sử dụng ví dụ về xếp hàng tại Walmart, mỗi cửa sổ đều có một sổ sách, vậy sổ sách của họ được ghi chép như thế nào? Nếu: khách hàng đến xếp hàng ở cửa nào, thì ghi sổ ở đó, ví dụ khách hàng A đến cửa A, thì ngày hôm sau khách hàng đó đến cửa thanh toán khác chẳng hạn như cửa B, mà cửa B lại không có thông tin tài khoản trước đây của khách hàng đó ) chẳng hạn như liên quan đến thẻ tiền gửi và các phương thức thanh toán khác (, thì phải làm sao? Gọi thông tin tài khoản của khách hàng đó từ cửa A?

Trạng thái phân mảnh là thách thức lớn nhất của phân mảnh, khó hơn cả phân mảnh mạng và phân mảnh giao dịch đã đề cập ở trên. Bởi vì trong cơ chế phân mảnh, giao dịch sẽ được phân bổ theo địa chỉ để xử lý trong các phân mảnh khác nhau, tức là trạng thái chỉ được lưu trữ trong phân mảnh nơi địa chỉ của nó, vấn đề cần đối mặt lúc này là giao dịch sẽ không chỉ diễn ra trong một phân mảnh, thường xuyên sẽ liên quan đến việc xuyên phân mảnh )Cross-Sharding(.

Xem xét một tình huống chuyển khoản, tài khoản A chuyển 10U cho tài khoản B, trong đó địa chỉ của A được phân bổ vào Phân mảnh 1, và hồ sơ giao dịch cũng sẽ được lưu trữ trong Phân mảnh 1. Địa chỉ của B được phân bổ vào Phân mảnh 2, hồ sơ giao dịch sẽ được lưu trữ trong Phân mảnh 2.

Một khi A muốn chuyển tiền cho B, sẽ hình thành giao dịch xuyên phân mảnh, phân mảnh 2 sẽ gọi các hồ sơ giao dịch trước đó từ phân mảnh 1 để xác nhận tính hợp lệ của giao dịch. Nếu A thường xuyên chuyển tiền cho B, phân mảnh 2 sẽ phải liên tục tương tác với phân mảnh 1, hiệu suất xử lý giao dịch sẽ giảm xuống. Tuy nhiên, nếu không tải xuống và xác minh toàn bộ lịch sử của một phân mảnh cụ thể, các bên tham gia sẽ không chắc chắn về trạng thái tương tác của họ là kết quả của một số chuỗi khối hợp lệ, và chuỗi khối như vậy thực sự là chuỗi chuẩn trong phân mảnh.

Do đó, so với chuỗi đơn không có phân mảnh, hệ thống phân mảnh phải đối mặt với thách thức mới là người dùng không

SHM9.7%
Xem bản gốc
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.
  • Phần thưởng
  • 6
  • Chia sẻ
Bình luận
0/400
GateUser-c799715cvip
· 3giờ trước
Lại đang thổi phồng giấc mơ merge nữa rồi.
Xem bản gốcTrả lời0
GasOptimizervip
· 9giờ trước
gas什么时候能降到2gwei啊 算了整套 bẫy再等5年吧
Xem bản gốcTrả lời0
GateUser-32ed30edvip
· 07-30 20:40
Có thể nói tiếng người không?
Xem bản gốcTrả lời0
CryptoTarotReadervip
· 07-30 05:08
Điều này không có nghĩa là đã lãng phí năm năm.
Xem bản gốcTrả lời0
pumpamentalistvip
· 07-30 05:04
Chỉ biết giao dịch merge, kết quả chẳng có tác dụng gì.
Xem bản gốcTrả lời0
GateUser-00be86fcvip
· 07-30 04:57
Đợt nâng cấp này không bằng trực tiếp lên L2
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)