Hàng khô | Phân mảnh Ethereum: tổng quan và tính hữu hạn
星球君的朋友们
2018-06-25 02:02
本文约4732字,阅读全文需要约19分钟
Tổng quan về thiết kế của Ethereum sharding.

Bài viết này là từ:CSDNBài viết này là từ:liuchengxu,dịch:

Liên kết gốc:

Liên kết gốc:https://medium.com/@icebearhww/ethereum-sharding-and-finality-65248951f649

hiện hữuEthereum Casper 101hiện hữu

Các vấn đề về khả năng mở rộng chuỗi khốisharding doc .

Các vấn đề về khả năng mở rộng chuỗi khối


  • Các vấn đề về khả năng mở rộng chuỗi khối

  • Giao dịch ngày càng tăng.

  • Quá trình tạo khối hiện tại dẫn đến khả năng mở rộng hạn chế. Giới hạn gas của khối hạn chế khả năng tính toán của khối. Việc tăng giới hạn khí khối hoặc giảm đáng kể thời gian khối sẽ dẫn đến tỷ lệ cũ cao và làm suy yếu khả năng chống lại các cuộc tấn công của mạng.


Không đủ song song. Đầu tiên, các EVM hiện có xử lý các giao dịch tuần tự theo thứ tự tuần tự. Thứ hai, để bảo mật và phân cấp, mỗi nút đầy đủ thực hiện mọi giao dịch và lưu trữ toàn bộ cây trạng thái (hoặc đã cắt tỉa).EIP 648 — Easy parallelizability

thuật ngữ

Đầu tiên, chúng ta hãy xem sự khác biệt giữa các đối tượng ở các cấp độ khác nhau trên main chain (có thể hiểu là Mainnet chain hiện tại) và shard chain:

Mô tả hình ảnh

Có thể nghĩ đơn giản rằng các giao dịch sẽ được nạp vào "đối chiếu". Tương tự như một khối, một đối chiếu cũng trỏ đến đối chiếu gốc của nó trên chuỗi (tham chiếu đến chuỗi phân đoạn). Trở thành "người đối chiếu" có nghĩa là bạn đủ điều kiện để chỉ định một đối chiếu mới trên chuỗi phân đoạn POS.

Mô tả hình ảnh

Phân mảnh thứ cấp cơ bản

Sự đồng thuận của chuỗi phân đoạn phụ thuộc vào chuỗi chính

Sự đồng thuận của chuỗi phân đoạn phụ thuộc vào chuỗi chính


  • Tương tự như sidechains, collations chỉ có một bộ bằng chứng nhỏ phải được ghi lại trên mainchain - đây là ý tưởng cơ bản về cách chúng tôi mở rộng quy mô chuỗi khối:

  • Các giao dịch trên chuỗi phân đoạn nằm trong không gian độc lập của riêng chúng và những người xác thực phân đoạn chỉ cần xác minh các phân đoạn mà họ quan tâm.


Hợp đồng quản lý trình xác thực (VMC)

Hợp đồng quản lý trình xác thực (VMC)


  • Để thêm một chuỗi phân đoạn vào chuỗi chính, một hợp đồng đặc biệt có tên là Hợp đồng Trình quản lý Trình xác thực (VMC) được yêu cầu trên chuỗi chính. VMC là cốt lõi của cơ chế bảo vệ này. Mục đích của VMC có thể được tóm tắt như sau:

  • Hệ thống Proof of Stake. Nếu trình xác nhận hoạt động sai, cổ phần của họ sẽ bị khai thác.

  • lấy mẫu giả ngẫu nhiên. Những người đối chiếu đủ điều kiện được lấy mẫu bằng cách sử dụng hàm băm khối hiện tại làm hạt giống. Về cơ bản, những người xác thực gửi cổ phần của họ vào VMC, sau đó địa chỉ mã xác minh của họ (địa chỉ mã xác thực) sẽ được ghi lại trong danh sách nhóm người xác thực toàn cầu bên trong VMC (danh sách nhóm người xác thực toàn cầu). Hệ thống sẽ lấy mẫu người xác nhận chuỗi phân đoạn từ danh sách người xác nhận và chỉ định người đó làm người xác nhận chuỗi phân đoạn được chỉ định trong "khoảng thời gian (thời gian, khoảng thời gian là gì sẽ được giải thích bên dưới)" đã chỉ định. Cách tiếp cận này khiến người xác thực không thể dự đoán trước khi nào họ sẽ trở thành người xác thực hoặc phân đoạn nào họ sẽ trở thành người xác nhận.

  • Xác thực tiêu đề đối chiếu. VMC có chức năng addHeader(bytes collationHeader) xác thực tiêu đề đối chiếu bằng = và ghi lại hàm băm tiêu đề đối chiếu hợp lệ. Chức năng này cung cấp xác minh trên chuỗi ngay lập tức.

  • Giao tiếp xuyên phân đoạn. Bằng cách sử dụng mô hình UTXO và bằng cách thực hiện giao dịch trên chuỗi chính và tạo biên lai (có ID biên nhận), người dùng có thể gửi ether vào một phân đoạn được chỉ định. Người dùng trên chuỗi phân đoạn có thể tạo giao dịch sử dụng biên lai với ID biên nhận nhất định để chi tiêu biên lai.


Làm cách nào để chỉ định Đối chiếu trong một phân đoạn?

Làm cách nào để chỉ định Đối chiếu trong một phân đoạn?

"Khoảng thời gian" được định nghĩa là giới hạn cửa sổ thời gian của khối, ví dụ: PERIOD_LENGTH = 5 có nghĩa là 5 khối mỗi khoảng thời gian. Điều này có nghĩa là không có nhiều hơn 1 đối chiếu hợp lệ trên mỗi phân đoạn trong mỗi kỷ nguyên.

Mô tả hình ảnh

Sau khi trình xác thực được lấy mẫu làm trình đối chiếu đủ điều kiện để đề xuất đối chiếu mới, trình đối chiếu phải xác minh đối chiếu gần đây nhất và gửi giao dịch để gọi hàm addHeader. Lưu ý rằng nếu chu kỳ đối chiếu 10 được lấy mẫu để gửi đối chiếu mới, điều này có nghĩa là giao dịch addHeader phải được bao gồm trong chu kỳ 10, nghĩa là giao dịch phải nằm trong khoảng từ khối số 10 * PERIOD_LENGTH đến số khối (10 + 1) * Trong khoảng PERIOD_LENGTH - 1.

Mô tả hình ảnh

-Hình 2(b).Đối với một lát cắt, một khoảng thời gian chỉ có một đối chiếu;một khối có thể chứa nhiều giao dịch addHeader của các lát cắt khác nhau-

Quy tắc lựa chọn ngã ba cho chuỗi phân đoạn

Quy tắc lựa chọn ngã ba cho chuỗi phân đoạn

Trong ví dụ ở Hình 3(a), có hai nhánh trên chuỗi chính và chuỗi thứ hai trong hình bên dưới là chuỗi chính hợp lệ dài nhất. Vì khối B3 là khối đầu nên dễ thấy đối chiếu C3 là đối chiếu đầu.

Mô tả hình ảnh

Sau đó, khối B3' trong Hình 3(b) đến. Giả sử khối B3 có điểm cao hơn khối B3' thì chuỗi trên vẫn là chuỗi chính dài nhất:

Mô tả hình ảnh

Cuối cùng, Hình 3(c) đến khối 4. Lưu ý rằng đối với phân đoạn này, mặc dù đối chiếu C3 có điểm cao hơn đối chiếu C2, chuỗi thấp hơn là chuỗi chính hiệu quả dài nhất, vì vậy bây giờ đối chiếu C2 là đối chiếu đầu:

Mô tả hình ảnh

Thông tin thêm về: Một thiết kế khác - Vlad Zamfir'ssharded fork choice rule

Mô tả hình ảnh

- Một thiết kế tao nhã đảm bảo rằng các chuỗi khối có thể được nguyên tử hóa trước khi chúng được hoàn thiện -

Sự đánh đổi giữa khả năng mở rộng và bảo mật

— Blockchain Trilemma in Sharding FAQ

Đối với ba thuộc tính phân quyền, khả năng mở rộng và bảo mật, hệ thống chuỗi khối chỉ có thể chọn tối đa hai trong ba thuộc tính.3Do đảm bảo tính bảo mật của hệ thống nên khả năng mở rộng bị hạn chế

. Trong khi phân phối giao dịch cho các phân đoạn để tăng TPS (giao dịch mỗi giây), chúng tôi cũng giảm tài nguyên máy tính cho mỗi giao dịch.


  • Một trong những cơ chế quan trọng của sharding là cách tạo số ngẫu nhiên trên chuỗi.

  • Xác suất người đối chiếu được chọn chỉ nên liên quan và tỷ lệ thuận với khoản tiền gửi của người xác thực.


Nếu những người xác thực có thể dự đoán hoặc tùy ý chọn phân đoạn mà họ muốn tham gia, thì những người xác nhận không trung thực có thể thông đồng với nhau và khởi động một cuộc tấn công thích ứng.kiểm soát sharding.

-Hình 4. Tấn công đa số truyền thống (tấn công 51%)-

Mô tả hình ảnh

-Hình 5. Tấn công 1% vào một mảnh vỡ-

Tính hữu hạn tiềm ẩn so với tính hữu hạn rõ ràng

Tính hữu hạn tiềm ẩn so với tính hữu hạn rõ ràng

Trước hết, tôi phải tuyên bố rằng cơ chế bảo vệ có thể được áp dụng cho cả chuỗi POW và POS. Mặc dù vậy, điều nhỏ bé về tính hữu hạn rõ ràng, giống như Casper, có thể làm cho việc bảo vệ trở nên mạnh mẽ hơn.Trong một chuỗi POW chung, tài chính là xác suất,ẩn ýCasper the Friendly Finality Gadget (“FFG”). Nói một cách đơn giản, ngay cả khi một khối có hàng nghìn xác nhận, vẫn có thể viết lại chuỗi. Thay vào đó, đặt

Cơ chế kinh tế mã hóa được áp dụng cho POS, rõ ràng trong giao thức (in-protocol) để thực thi bảo đảm liệu nó có được hoàn tất cho chúng tôi hay không (chúng tôi có thể kiểm tra nếu nó được hoàn thiện cho chúng tôi).

Tính hữu hạn của chuỗi chính phụ thuộc vào

Tính hữu hạn của chuỗi chính phụ thuộc vào

Trong sharding cơ bản, chuỗi phân đoạn được neo vào chuỗi chính.

Đối với trình xác thực phân đoạn, chúng tôi muốn các phân đoạn mở rộng dung lượng chuỗi khối lên 100 lần trong giai đoạn 1, vì vậy tất cả trình xác thực của 100 phân đoạn này sẽ cần theo dõi trạng thái VMC để có được đối chiếu đầu chính xác và hiệu quả. Điều quan trọng là những người xác nhận phải bị thuyết phục càng sớm càng tốt liệu họ có phải là người đối chiếu hay không. Đối với người dùng thông thường, nếu chúng tôi áp dụng giao dịch cross-shard trong giai đoạn 2, người dùng thông thường cũng sẽ cần lấy lại thông tin nạp tiền (ID biên lai) trên VMC.

Tài chính rõ ràng giúp khách hàng không trạng thái

Tài chính rõ ràng giúp khách hàng không trạng tháiNguyên tắc cơ bản của một client phi trạng thái là nó không lưu trữ toàn bộ cây trạng thái, thay vào đó, một client phi trạng thái chỉ lưu trữ gốc của cây trạng thái. Các máy khách lưu trữ lưu trữ toàn bộ cây trạng thái và cung cấp các nhánh Merkle cần thiết cho một đối chiếu nhất định. Với các nhánh Merkle này, các client phi trạng thái có thể xây dựng các phần của cây trạng thái và 。

Quá trình đồng bộ hóa được kích hoạt ngay sau khi trình xác thực được lấy mẫu và chia sẻ lại. Với cơ chế máy khách phi trạng thái, chi phí xáo trộn lại (tức là thay đổi phân đoạn được trình xác thực phát hiện và đồng bộ hóa chuỗi phân đoạn) thấp (gần bằng) 0, vì họ chỉ cần xác minh đối chiếu mới nhất (tức là có đối chiếu điểm cao nhất ) để đồng bộ hóa các phân đoạn.

Mô tả hình ảnh

-Hình 6. Mô hình máy khách không trạng thái Hình 6. Mô hình máy khách không trạng thái-

Vì quá trình đồng bộ hóa có thể diễn ra rất nhanh nên mô hình máy khách không trạng thái có thể bị xáo trộn giữa mỗi lần đối chiếu. Điều này sẽ không chỉ giảm áp lực lưu trữ và chi phí hoạt động, mà còn làm cho hệ thống an toàn hơn, vì việc lấy mẫu thường xuyên có thể đạt được khả năng chống lại các cuộc tấn công thích ứng.after about 2.5 “epoch times”Casper FFG sẽ cung cấp ngưỡng tài chính rõ ràng, đó là,125 lần khối

Phần kết luận

Phần kết luận

Hy vọng rằng tôi đã giới thiệu ngắn gọn về khái niệm hiện tại về thiết kế sharding của Ethereum và tính hữu hạn rõ ràng có thể mang lại lợi ích như thế nào cho cơ chế sharding. Để có cái nhìn sâu hơn về thiết kế giao thức, hãy truy cậpETHResear.chsharding doc

Nếu có chỗ nào sai sót hoặc diễn đạt chưa rõ ràng mong các bạn sửa giúp!


星球君的朋友们
作者文库