第2課

Khái niệm cơ bản về chuỗi khối của Filecoin

This lesson dives into Filecoin's blockchain architecture, highlighting its secure, distributed database and the pivotal role of actors, akin to smart contracts. We'll explore the unique aspects of Filecoin, including its consensus mechanism, node roles, and the innovative tipset structure that underpins the network's efficiency and scalability.

Nguyên tắc cơ bản về chuỗi khối trong Filecoin

Chuỗi khối Filecoin là một cơ sở dữ liệu phân tán phức tạp được chia sẻ giữa một mạng lưới các nút máy tính. Mỗi nút giữ một bản sao của blockchain, đảm bảo rằng mọi giao dịch và nghĩa vụ hợp đồng trong mạng đều được ghi lại và không thể thay đổi. Điều này cung cấp một sổ cái đáng tin cậy và an toàn cho tất cả các hoạt động trong hệ sinh thái Filecoin.

Tác nhân: Những chú ngựa thồ của Blockchain của Filecoin

Các tác nhân trên chuỗi khối của Filecoin đóng vai trò tương đương với các hợp đồng thông minh trong Máy ảo Ethereum. Mỗi tác nhân đóng gói một tập hợp các biến trạng thái và phương thức để tương tác với mạng Filecoin. Về cơ bản, họ là các tác nhân thực hiện các hành động trên blockchain, chẳng hạn như quản lý các giao dịch lưu trữ hoặc tạo điều kiện thuận lợi cho các giao dịch.

Tác nhân hệ thống tích hợp

Mạng của Filecoin được hỗ trợ bởi một số tác nhân hệ thống tích hợp xử lý các chức năng thiết yếu:

  • Tác nhân hệ thống: Thực thi các hoạt động mạng chung.
  • Init Actor: Chịu trách nhiệm khởi tạo các tác nhân mới và quản lý các quy ước đặt tên mạng.
  • Cron Actor: Đóng vai trò là bộ lập lịch của mạng, kích hoạt các chức năng thiết yếu ở mỗi thời điểm.
  • Diễn viên tài khoản: Quản lý tài khoản người dùng ngoài phạm vi của mẫu đơn.
  • Tác nhân khai thác lưu trữ: Điều phối các hoạt động khai thác lưu trữ và xác thực bằng chứng lưu trữ.
  • Tác nhân thị trường lưu trữ: Quản lý các giao dịch lưu trữ trong thị trường của mạng.
  • Multisig Actor: Xử lý các hoạt động liên quan đến ví đa chữ ký của Filecoin.
  • Tác nhân kênh thanh toán: Quản lý việc thiết lập và thanh toán các kênh thanh toán.
  • Tác nhân Datacap: Giám sát việc phân bổ và quản lý mã thông báo datacap.
  • Tác nhân đăng ký đã được xác minh: Quản lý các máy khách đã được xác minh trong mạng.
  • Tác nhân tài khoản EVM: Đại diện cho danh tính Ethereum bên ngoài, tạo điều kiện cho khả năng tương tác với các hệ thống dựa trên Ethereum.

Tác nhân do người dùng lập trình

Khi Máy ảo Filecoin (FVM) trưởng thành, các nhà phát triển có cơ hội viết và triển khai các tác nhân của riêng họ, tương tự như các hợp đồng thông minh trên các chuỗi khối khác. Các tác nhân do người dùng lập trình này có thể tương tác với các tác nhân tích hợp thông qua các API đã xuất, cho phép xây dựng nhiều ứng dụng và dịch vụ trên mạng Filecoin.

Tính ngẫu nhiên được phân phối trong Filecoin

Filecoin sử dụng giao thức ngẫu nhiên được phân phối và có thể xác minh công khai được gọi là Drand làm nguồn ngẫu nhiên cho việc bầu chọn người lãnh đạo trong quá trình sản xuất khối. Tính ngẫu nhiên này là cần thiết để đảm bảo rằng quy trình không thể đoán trước, không thiên vị và có thể kiểm chứng, duy trì tính công bằng và bảo mật của quy trình khai thác.

Các nút và vai trò của chúng

Các nút trên mạng Filecoin chủ yếu được phân loại theo dịch vụ mà chúng cung cấp:

  • Nút xác minh chuỗi: Xác thực chuỗi khối và thực thi các quy tắc đồng thuận.
  • Nút khách hàng: Tương tác với mạng để lưu trữ và truy xuất dữ liệu.
  • Nút nhà cung cấp lưu trữ: Cung cấp dung lượng lưu trữ cho mạng và chứng minh khả năng lưu trữ liên tục.
  • Nút nhà cung cấp truy xuất: Phục vụ dữ liệu được lưu trữ một cách nhanh chóng và đáng tin cậy khi được yêu cầu.
  • Nhiều triển khai giao thức Filecoin cùng tồn tại để tăng cường tính bảo mật và khả năng phục hồi của mạng, đảm bảo không có điểm lỗi duy nhất và thúc đẩy phân cấp lành mạnh.

Địa chỉ: Xác định các tác nhân trong Filecoin

Địa chỉ trong Filecoin là các chuỗi chữ và số xác định duy nhất các tác nhân hoặc người dùng trên mạng, tạo điều kiện thuận lợi cho các tương tác như giao dịch và thực thi hợp đồng thông minh. Các địa chỉ này có nhiều dạng, phản ánh các loại tác nhân khác nhau mà chúng đại diện:

  • Địa chỉ ID (f0): Mã định danh bằng số cho các tác nhân, cung cấp cách thức mà con người có thể đọc được để tham chiếu đến những người tham gia mạng.
  • Địa chỉ Secp256k1 (f1): Xuất phát từ khóa công khai sử dụng chuẩn mã hóa secp256k1, thường dùng cho ví.
  • Địa chỉ tác nhân (f2): Được chỉ định cho các hợp đồng thông minh và duy trì hoạt động mạnh mẽ trên các nhánh mạng.
  • Địa chỉ BLS (f3): Được tạo từ khóa công khai BLS và được sử dụng cho các ví có mã hóa BLS.
  • Địa chỉ tác nhân do người dùng xác định (f4): Địa chỉ linh hoạt có thể được chỉ định bởi các tác nhân quản lý địa chỉ do người dùng xác định, cho phép các sơ đồ địa chỉ tùy chỉnh và có thể mở rộng.
  • Mỗi loại địa chỉ phục vụ một mục đích cụ thể trong hệ sinh thái của Filecoin, từ tạo điều kiện thuận lợi cho các giao dịch đến quản lý hợp đồng thông minh và tương tác của người dùng.

Mẹo và khối

Chuỗi khối của Filecoin đi chệch khỏi quy chuẩn của một chuỗi khối tuyến tính. Ở đây, các khối được nhóm thành 'các mẹo', có thể được coi là ảnh chụp nhanh trạng thái mạng ở mỗi kỷ nguyên hoặc một khoảng thời gian cố định theo cách nói của blockchain. Mô hình này cho phép tạo ra một blockchain linh hoạt và hiệu quả hơn bằng cách cho phép tạo ra nhiều khối hợp lệ cùng một lúc.

Cấu trúc của một khối Filecoin

Mỗi khối trong Filecoin là một gói chứa tiêu đề và một loạt thông báo thể hiện các hành động được thực hiện bởi các tác nhân, chẳng hạn như giao dịch hoặc thỏa thuận hợp đồng. Tiêu đề khối bao gồm siêu dữ liệu như địa chỉ của người khai thác, vé (bằng chứng công việc) và CID của khối gốc. Các tin nhắn là phần cốt lõi của khối, ghi lại các thay đổi trạng thái như chuyển mã thông báo và gọi hợp đồng. Các khối được liên kết với ít nhất một khối gốc, tạo thành một chuỗi liên tục quay trở lại khối gốc.

Blocktime: Đồng bộ hóa xung của mạng

Thời gian chặn trong Filecoin được đặt ở mức trung bình là 30 giây. Khoảng thời gian này được lựa chọn một cách chiến lược để cân bằng giữa khả năng đáp ứng của mạng và tính thực tế trong hoạt động của nó. Thời gian chặn ngắn hơn có thể tăng tốc độ của mạng, nhưng nó cũng sẽ đặt ra nhu cầu phần cứng lớn hơn và có thể dẫn đến lỗi thời gian chặn thường xuyên hơn. Thời gian chặn 30 giây cho phép các nhà cung cấp dịch vụ lưu trữ có đủ thời gian để thực hiện các hoạt động cần thiết, chẳng hạn như niêm phong các khu vực và tạo bằng chứng mà không đánh thuế quá cao phần cứng của họ.

Lời khuyên: Tối đa hóa hiệu quả và phần thưởng

Trong một kỷ nguyên nhất định, nhiều nhà cung cấp dịch vụ lưu trữ có thể khai thác thành công các khối. Cấu trúc tipset của Filecoin đáp ứng điều này bằng cách gộp tất cả các khối hợp lệ có cùng chiều cao và khối gốc vào một nhóm duy nhất. Điều này có nghĩa là tất cả công việc hợp lệ đều đóng góp vào trạng thái của mạng và được khen thưởng, một tính năng quan trọng khuyến khích sự tham gia và cộng tác giữa các thợ mỏ. Nó cũng đảm bảo rằng mạng có thể xử lý các nhánh một cách hiệu quả, nhanh chóng đạt được sự đồng thuận trên chuỗi chuẩn.

Hệ thống tipset cung cấp một số lợi thế so với các chuỗi khối truyền thống:

  • Tăng thông lượng mạng: Bằng cách sử dụng tất cả các khối hợp lệ để xác định trạng thái mạng, Filecoin có thể xử lý nhiều dữ liệu và giao dịch hơn trong mỗi kỷ nguyên.
  • Khen thưởng công việc hợp lệ: Mọi nhà cung cấp dịch vụ lưu trữ tạo ra khối hợp lệ sẽ nhận được phần thưởng, do đó khuyến khích người khai thác đóng góp cho mạng và không khuyến khích việc tập trung hóa.
  • Hợp tác thay vì cạnh tranh: Các nhà sản xuất khối tiềm năng được khuyến khích cộng tác vì cấu trúc tipset không khuyến khích việc giữ lại các khối có thể có lợi cho sự phát triển của mạng.
  • Khả năng phục hồi cho các nhánh: Với kiến trúc tipset, Filecoin đạt được sự hội tụ nhanh hơn trong các nhánh, đảm bảo sự ổn định của mạng.
  • Ethereum JSON-RPC và Filecoin

Điều đáng chú ý là với việc tích hợp thời gian chạy Filecoin EVM và việc áp dụng các tiêu chuẩn JSON-RPC của Ethereum, khái niệm 'tipset' thậm chí còn trở nên thân thiện hơn với người dùng. Trong ngữ cảnh này, khi chúng ta nói về 'băm khối' trong Ethereum JSON-RPC, chúng ta thực sự đang đề cập đến hàm băm của một bộ mẹo, bao gồm các thay đổi trạng thái kết hợp từ tất cả các khối trong bộ mẹo đó.

Khi tiếp tục khám phá chuỗi khối của Filecoin, chúng ta sẽ thấy các thành phần này tương tác với nhau như thế nào để tạo ra một mạng lưu trữ phi tập trung mạnh mẽ, hiệu quả và sẵn sàng cho sự phát triển trong tương lai.

Sự đồng thuận của Filecoin

Cơ chế đồng thuận của Filecoin, được gọi là Đồng thuận dự kiến (EC), đại diện cho nền tảng trong mạng lưu trữ phi tập trung của nó. Chương này nhằm mục đích giới thiệu về EC, đi sâu vào các nguyên tắc hoạt động, thông số kỹ thuật và vai trò của nó trong việc duy trì tính toàn vẹn và độ tin cậy của mạng Filecoin.

Filecoin hoạt động trên cơ chế đồng thuận duy nhất được gọi là Đồng thuận dự kiến (EC). Không giống như các giao thức blockchain truyền thống thường dựa vào Bằng chứng công việc (PoW) hoặc Bằng chứng cổ phần (PoS), EC kết hợp các yếu tố ngẫu nhiên, sức mạnh lưu trữ và khả năng chịu lỗi Byzantine theo xác suất. Về cốt lõi, EC được thiết kế để điều chỉnh các ưu đãi với mục tiêu chính của Filecoin: lưu trữ dữ liệu hiệu quả và đáng tin cậy.

Bản chất của EC

  • Phân cấp và độ tin cậy: Mục đích chính của EC là thúc đẩy một môi trường phi tập trung nơi việc lưu trữ và truy xuất dữ liệu đều đáng tin cậy và có thể kiểm chứng được.
  • Phương pháp tiếp cận tập trung vào lưu trữ: Không giống như các chuỗi khối truyền thống tập trung vào sức mạnh tính toán hoặc việc nắm giữ tiền xu, EC của Filecoin ưu tiên sức mạnh lưu trữ - khả năng lưu trữ dữ liệu.

Cơ chế cốt lõi của sự đồng thuận dự kiến

Khung hoạt động của EC xoay quanh một số thành phần chính, mỗi thành phần đóng một vai trò quan trọng trong chức năng của mạng.

  1. Khả năng chịu lỗi Byzantine xác suất:
  • EC kết hợp các cơ chế chịu lỗi của Byzantine, giúp nó có khả năng phục hồi trước nhiều điều kiện bất lợi, bao gồm cả các nút hoạt động độc hại hoặc ngoại tuyến.
  1. Bầu cử lãnh đạo và sản xuất khối:
  • Trọng tâm của EC là quy trình bầu chọn người lãnh đạo. Không giống như các quy trình xác định được thấy trong các chuỗi khối khác, EC sử dụng phương pháp xác suất để chọn người đứng đầu hoặc người khai thác chịu trách nhiệm tạo khối.
  1. Ẩn danh cho đến khi được chứng minh là được bầu:
  • Những người khai thác trong EC vẫn ẩn danh cho đến khi họ có thể chứng minh trạng thái bầu cử của mình thông qua 'ElectionProof'. Bằng chứng này có vai trò then chốt để đảm bảo tính công bằng và không thể đoán trước trong quá trình sản xuất khối.
  1. Bằng chứng lưu trữ:
  • Người khai thác được yêu cầu gửi 'WinningPoSt' (Bằng chứng về không thời gian), xác thực sự đóng góp của họ vào dung lượng lưu trữ của mạng.

Thông số kỹ thuật của EC

Nền tảng kỹ thuật của EC là nơi bản chất đổi mới của nó thực sự tỏa sáng. Ở đây, chúng ta khám phá một số thông số kỹ thuật chính xác định cơ chế đồng thuận này:

Tính ngẫu nhiên thông qua DRAND:

  • EC sử dụng DRAND, một tín hiệu ngẫu nhiên bên ngoài, không thiên vị, để hỗ trợ các khía cạnh khác nhau của giao thức, bao gồm cả việc bầu chọn người lãnh đạo.

Hàm ngẫu nhiên có thể kiểm chứng (VRF):

  • Những người khai thác sử dụng VRF, cùng với tính ngẫu nhiên thu được từ DRAND, để tạo ra ElectionProof của họ.

Chuỗi ElectionProof và VRF:

  • ElectionProof rất quan trọng để những người khai thác chứng minh rằng họ đã được bầu chọn một cách hợp pháp để tạo ra một khối.
  • Chuỗi VRF liên tục được duy trì, mở rộng với mỗi khối mới được tạo ra.

Sức mạnh lưu trữ và WinCount:

  • Sức mạnh của người khai thác trong mạng tỷ lệ thuận với dung lượng lưu trữ của họ.
  • WinCount xác định số khối mà người khai thác có thể tạo ra, dựa trên sức mạnh lưu trữ và kết quả VRF của họ.
  • Đồng thuận An ninh và Công bằng

An ninh và công bằng là điều tối quan trọng trong EC, với một số cơ chế được áp dụng để bảo vệ các nguyên tắc này:

Các lỗi và hình phạt đồng thuận:

EC xác định các loại lỗi đồng thuận cụ thể (ví dụ: Khai thác hai nhánh, Khai thác bù thời gian) và áp dụng các hình phạt để ngăn chặn hành vi nguy hiểm.

Nguồn hình ảnh: Tài liệu của Filecoin tại đây: https://spec.filecoin.io/algorithms/expected_consensus/

Trọng số và lựa chọn chuỗi:

  • Giao thức sử dụng một hệ thống tính trọng số chuỗi duy nhất, trong đó chuỗi 'nặng nhất', biểu thị sức mạnh lưu trữ tích lũy nhiều nhất, được ưu tiên.

Cuối cùng mềm:

  • EC sử dụng một hình thức cuối cùng mềm, loại bỏ các khối sai lệch đáng kể so với chuỗi, từ đó đảm bảo sự ổn định của mạng.

Drand: Tính ngẫu nhiên được phân phối trong Filecoin

Drand (Tính ngẫu nhiên được phân phối) là một thành phần quan trọng trong cơ chế đồng thuận của Filecoin, cung cấp nguồn entropy không thể thiên vị cần thiết cho quá trình bầu cử người lãnh đạo bí mật của mạng. Đó là một giao thức báo hiệu ngẫu nhiên có thể kiểm chứng công khai được thiết kế để tạo ra một loạt các giá trị ngẫu nhiên có thể xác định và có thể kiểm chứng.

Drand hoạt động như thế nào

  • Tính toán nhiều bên (MPC): Drand chạy một loạt MPC để tạo ra các giá trị ngẫu nhiên. Sau giai đoạn thiết lập đáng tin cậy, một nhóm các nút drand đã biết sẽ ký một thông báo nhất định bằng cách sử dụng chữ ký BLS ngưỡng trong các vòng liên tiếp diễn ra đều đặn.
  • Ngưỡng chữ ký BLS: Quá trình này yêu cầu số lượng nút tối thiểu (t-of-n) để ký một tin nhắn. Bất kỳ nút nào có t chữ ký đều có thể xây dựng lại chữ ký BLS đầy đủ. Chữ ký này, khi được băm, sẽ tạo ra một giá trị ngẫu nhiên tập thể có thể được xác minh dựa vào khóa chung từ giai đoạn thiết lập.
  • Giả định về bảo mật: Drand giả định ít nhất t trong số n nút là trung thực và trực tuyến. Nếu ngưỡng này bị phá vỡ, kẻ thù có thể ngừng sản xuất tính ngẫu nhiên nhưng không thể làm sai lệch tính ngẫu nhiên.

Đầu ra ngẫu nhiên của Drand

Định dạng giá trị Drand: Các nút Filecoin nhận được giá trị drand ở định dạng cụ thể. Các thành phần chính bao gồm:

  • Chữ ký: Chữ ký BLS trên giá trị chữ ký trước đó và số vòng hiện tại.
  • PreviousSignature: Chữ ký BLS từ vòng Drand trước.
  • Vòng: Chỉ số ngẫu nhiên trong chuỗi do mạng Drand tạo ra.

Sử dụng Drand trong Filecoin

  • Bầu cử lãnh đạo: Drand được sử dụng để bầu chọn lãnh đạo trong Filecoin, cung cấp một giá trị ngẫu nhiên ở mỗi kỷ nguyên. Tính ngẫu nhiên này rất quan trọng đối với thuật toán Đồng thuận dự kiến (EC), đảm bảo việc lựa chọn người lãnh đạo một cách công bằng và không thể đoán trước.
  • Tìm nạp giá trị Drand: Các nút Filecoin truy xuất giá trị ngẫu nhiên mới nhất từ Drand bằng cách sử dụng các điểm cuối cụ thể. Thông tin này sau đó được tích hợp với dữ liệu trên chuỗi để hỗ trợ cơ chế đồng thuận của Filecoin.

Bằng chứng: Đảm bảo tính toàn vẹn và tin cậy

Bằng chứng trong Filecoin dùng để xác thực rằng các nhà cung cấp dịch vụ lưu trữ đang lưu trữ dữ liệu đúng cách theo tiêu chuẩn của mạng. Những bằng chứng này rất quan trọng để duy trì tính toàn vẹn và độ tin cậy của hệ thống lưu trữ phi tập trung.

Các loại bằng chứng trong Filecoin

  • Bằng chứng sao chép (PoRep): Được sử dụng tại thời điểm lưu trữ dữ liệu ban đầu, PoRep xác minh rằng nhà cung cấp dịch vụ lưu trữ đã tạo và đang lưu trữ một bản sao duy nhất của dữ liệu.
  • Bằng chứng về thời gian không gian (PoSt): Liên tục xác minh rằng nhà cung cấp dịch vụ lưu trữ có đang duy trì dữ liệu được lưu trữ theo thời gian hay không. PoSt được chia thành WinningPoSt và WindowPoSt, phục vụ các mục đích xác thực khác nhau trong mạng.

Vai trò của PoRep và PoSt

  • PoRep: Xác thực bản sao dữ liệu ban đầu của nhà cung cấp dịch vụ lưu trữ, đảm bảo rằng dữ liệu được mã hóa và niêm phong duy nhất.
  • PoSt: WinningPoSt được sử dụng trong quy trình đồng thuận khối, trong khi WindowPoSt liên tục kiểm tra các nhà cung cấp dịch vụ lưu trữ, đảm bảo tuân thủ liên tục các thỏa thuận lưu trữ.

Cơ chế đồng thuận của Filecoin, với sự kết hợp độc đáo giữa EC, Drand và bằng chứng mật mã, tạo thành xương sống của mạng lưu trữ phi tập trung mạnh mẽ và đáng tin cậy. Các yếu tố này phối hợp nhịp nhàng với nhau để đảm bảo mạng vẫn an toàn, hiệu quả và công bằng, thúc đẩy một môi trường trong đó tính toàn vẹn dữ liệu là tối quan trọng. Khi chúng tôi nghiên cứu sâu hơn về các sắc thái của chuỗi khối Filecoin, sự khéo léo và phức tạp của mô hình đồng thuận của nó ngày càng trở nên rõ ràng, nhấn mạnh tiềm năng của mạng trong việc cách mạng hóa bối cảnh lưu trữ kỹ thuật số.

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第2課

Khái niệm cơ bản về chuỗi khối của Filecoin

This lesson dives into Filecoin's blockchain architecture, highlighting its secure, distributed database and the pivotal role of actors, akin to smart contracts. We'll explore the unique aspects of Filecoin, including its consensus mechanism, node roles, and the innovative tipset structure that underpins the network's efficiency and scalability.

Nguyên tắc cơ bản về chuỗi khối trong Filecoin

Chuỗi khối Filecoin là một cơ sở dữ liệu phân tán phức tạp được chia sẻ giữa một mạng lưới các nút máy tính. Mỗi nút giữ một bản sao của blockchain, đảm bảo rằng mọi giao dịch và nghĩa vụ hợp đồng trong mạng đều được ghi lại và không thể thay đổi. Điều này cung cấp một sổ cái đáng tin cậy và an toàn cho tất cả các hoạt động trong hệ sinh thái Filecoin.

Tác nhân: Những chú ngựa thồ của Blockchain của Filecoin

Các tác nhân trên chuỗi khối của Filecoin đóng vai trò tương đương với các hợp đồng thông minh trong Máy ảo Ethereum. Mỗi tác nhân đóng gói một tập hợp các biến trạng thái và phương thức để tương tác với mạng Filecoin. Về cơ bản, họ là các tác nhân thực hiện các hành động trên blockchain, chẳng hạn như quản lý các giao dịch lưu trữ hoặc tạo điều kiện thuận lợi cho các giao dịch.

Tác nhân hệ thống tích hợp

Mạng của Filecoin được hỗ trợ bởi một số tác nhân hệ thống tích hợp xử lý các chức năng thiết yếu:

  • Tác nhân hệ thống: Thực thi các hoạt động mạng chung.
  • Init Actor: Chịu trách nhiệm khởi tạo các tác nhân mới và quản lý các quy ước đặt tên mạng.
  • Cron Actor: Đóng vai trò là bộ lập lịch của mạng, kích hoạt các chức năng thiết yếu ở mỗi thời điểm.
  • Diễn viên tài khoản: Quản lý tài khoản người dùng ngoài phạm vi của mẫu đơn.
  • Tác nhân khai thác lưu trữ: Điều phối các hoạt động khai thác lưu trữ và xác thực bằng chứng lưu trữ.
  • Tác nhân thị trường lưu trữ: Quản lý các giao dịch lưu trữ trong thị trường của mạng.
  • Multisig Actor: Xử lý các hoạt động liên quan đến ví đa chữ ký của Filecoin.
  • Tác nhân kênh thanh toán: Quản lý việc thiết lập và thanh toán các kênh thanh toán.
  • Tác nhân Datacap: Giám sát việc phân bổ và quản lý mã thông báo datacap.
  • Tác nhân đăng ký đã được xác minh: Quản lý các máy khách đã được xác minh trong mạng.
  • Tác nhân tài khoản EVM: Đại diện cho danh tính Ethereum bên ngoài, tạo điều kiện cho khả năng tương tác với các hệ thống dựa trên Ethereum.

Tác nhân do người dùng lập trình

Khi Máy ảo Filecoin (FVM) trưởng thành, các nhà phát triển có cơ hội viết và triển khai các tác nhân của riêng họ, tương tự như các hợp đồng thông minh trên các chuỗi khối khác. Các tác nhân do người dùng lập trình này có thể tương tác với các tác nhân tích hợp thông qua các API đã xuất, cho phép xây dựng nhiều ứng dụng và dịch vụ trên mạng Filecoin.

Tính ngẫu nhiên được phân phối trong Filecoin

Filecoin sử dụng giao thức ngẫu nhiên được phân phối và có thể xác minh công khai được gọi là Drand làm nguồn ngẫu nhiên cho việc bầu chọn người lãnh đạo trong quá trình sản xuất khối. Tính ngẫu nhiên này là cần thiết để đảm bảo rằng quy trình không thể đoán trước, không thiên vị và có thể kiểm chứng, duy trì tính công bằng và bảo mật của quy trình khai thác.

Các nút và vai trò của chúng

Các nút trên mạng Filecoin chủ yếu được phân loại theo dịch vụ mà chúng cung cấp:

  • Nút xác minh chuỗi: Xác thực chuỗi khối và thực thi các quy tắc đồng thuận.
  • Nút khách hàng: Tương tác với mạng để lưu trữ và truy xuất dữ liệu.
  • Nút nhà cung cấp lưu trữ: Cung cấp dung lượng lưu trữ cho mạng và chứng minh khả năng lưu trữ liên tục.
  • Nút nhà cung cấp truy xuất: Phục vụ dữ liệu được lưu trữ một cách nhanh chóng và đáng tin cậy khi được yêu cầu.
  • Nhiều triển khai giao thức Filecoin cùng tồn tại để tăng cường tính bảo mật và khả năng phục hồi của mạng, đảm bảo không có điểm lỗi duy nhất và thúc đẩy phân cấp lành mạnh.

Địa chỉ: Xác định các tác nhân trong Filecoin

Địa chỉ trong Filecoin là các chuỗi chữ và số xác định duy nhất các tác nhân hoặc người dùng trên mạng, tạo điều kiện thuận lợi cho các tương tác như giao dịch và thực thi hợp đồng thông minh. Các địa chỉ này có nhiều dạng, phản ánh các loại tác nhân khác nhau mà chúng đại diện:

  • Địa chỉ ID (f0): Mã định danh bằng số cho các tác nhân, cung cấp cách thức mà con người có thể đọc được để tham chiếu đến những người tham gia mạng.
  • Địa chỉ Secp256k1 (f1): Xuất phát từ khóa công khai sử dụng chuẩn mã hóa secp256k1, thường dùng cho ví.
  • Địa chỉ tác nhân (f2): Được chỉ định cho các hợp đồng thông minh và duy trì hoạt động mạnh mẽ trên các nhánh mạng.
  • Địa chỉ BLS (f3): Được tạo từ khóa công khai BLS và được sử dụng cho các ví có mã hóa BLS.
  • Địa chỉ tác nhân do người dùng xác định (f4): Địa chỉ linh hoạt có thể được chỉ định bởi các tác nhân quản lý địa chỉ do người dùng xác định, cho phép các sơ đồ địa chỉ tùy chỉnh và có thể mở rộng.
  • Mỗi loại địa chỉ phục vụ một mục đích cụ thể trong hệ sinh thái của Filecoin, từ tạo điều kiện thuận lợi cho các giao dịch đến quản lý hợp đồng thông minh và tương tác của người dùng.

Mẹo và khối

Chuỗi khối của Filecoin đi chệch khỏi quy chuẩn của một chuỗi khối tuyến tính. Ở đây, các khối được nhóm thành 'các mẹo', có thể được coi là ảnh chụp nhanh trạng thái mạng ở mỗi kỷ nguyên hoặc một khoảng thời gian cố định theo cách nói của blockchain. Mô hình này cho phép tạo ra một blockchain linh hoạt và hiệu quả hơn bằng cách cho phép tạo ra nhiều khối hợp lệ cùng một lúc.

Cấu trúc của một khối Filecoin

Mỗi khối trong Filecoin là một gói chứa tiêu đề và một loạt thông báo thể hiện các hành động được thực hiện bởi các tác nhân, chẳng hạn như giao dịch hoặc thỏa thuận hợp đồng. Tiêu đề khối bao gồm siêu dữ liệu như địa chỉ của người khai thác, vé (bằng chứng công việc) và CID của khối gốc. Các tin nhắn là phần cốt lõi của khối, ghi lại các thay đổi trạng thái như chuyển mã thông báo và gọi hợp đồng. Các khối được liên kết với ít nhất một khối gốc, tạo thành một chuỗi liên tục quay trở lại khối gốc.

Blocktime: Đồng bộ hóa xung của mạng

Thời gian chặn trong Filecoin được đặt ở mức trung bình là 30 giây. Khoảng thời gian này được lựa chọn một cách chiến lược để cân bằng giữa khả năng đáp ứng của mạng và tính thực tế trong hoạt động của nó. Thời gian chặn ngắn hơn có thể tăng tốc độ của mạng, nhưng nó cũng sẽ đặt ra nhu cầu phần cứng lớn hơn và có thể dẫn đến lỗi thời gian chặn thường xuyên hơn. Thời gian chặn 30 giây cho phép các nhà cung cấp dịch vụ lưu trữ có đủ thời gian để thực hiện các hoạt động cần thiết, chẳng hạn như niêm phong các khu vực và tạo bằng chứng mà không đánh thuế quá cao phần cứng của họ.

Lời khuyên: Tối đa hóa hiệu quả và phần thưởng

Trong một kỷ nguyên nhất định, nhiều nhà cung cấp dịch vụ lưu trữ có thể khai thác thành công các khối. Cấu trúc tipset của Filecoin đáp ứng điều này bằng cách gộp tất cả các khối hợp lệ có cùng chiều cao và khối gốc vào một nhóm duy nhất. Điều này có nghĩa là tất cả công việc hợp lệ đều đóng góp vào trạng thái của mạng và được khen thưởng, một tính năng quan trọng khuyến khích sự tham gia và cộng tác giữa các thợ mỏ. Nó cũng đảm bảo rằng mạng có thể xử lý các nhánh một cách hiệu quả, nhanh chóng đạt được sự đồng thuận trên chuỗi chuẩn.

Hệ thống tipset cung cấp một số lợi thế so với các chuỗi khối truyền thống:

  • Tăng thông lượng mạng: Bằng cách sử dụng tất cả các khối hợp lệ để xác định trạng thái mạng, Filecoin có thể xử lý nhiều dữ liệu và giao dịch hơn trong mỗi kỷ nguyên.
  • Khen thưởng công việc hợp lệ: Mọi nhà cung cấp dịch vụ lưu trữ tạo ra khối hợp lệ sẽ nhận được phần thưởng, do đó khuyến khích người khai thác đóng góp cho mạng và không khuyến khích việc tập trung hóa.
  • Hợp tác thay vì cạnh tranh: Các nhà sản xuất khối tiềm năng được khuyến khích cộng tác vì cấu trúc tipset không khuyến khích việc giữ lại các khối có thể có lợi cho sự phát triển của mạng.
  • Khả năng phục hồi cho các nhánh: Với kiến trúc tipset, Filecoin đạt được sự hội tụ nhanh hơn trong các nhánh, đảm bảo sự ổn định của mạng.
  • Ethereum JSON-RPC và Filecoin

Điều đáng chú ý là với việc tích hợp thời gian chạy Filecoin EVM và việc áp dụng các tiêu chuẩn JSON-RPC của Ethereum, khái niệm 'tipset' thậm chí còn trở nên thân thiện hơn với người dùng. Trong ngữ cảnh này, khi chúng ta nói về 'băm khối' trong Ethereum JSON-RPC, chúng ta thực sự đang đề cập đến hàm băm của một bộ mẹo, bao gồm các thay đổi trạng thái kết hợp từ tất cả các khối trong bộ mẹo đó.

Khi tiếp tục khám phá chuỗi khối của Filecoin, chúng ta sẽ thấy các thành phần này tương tác với nhau như thế nào để tạo ra một mạng lưu trữ phi tập trung mạnh mẽ, hiệu quả và sẵn sàng cho sự phát triển trong tương lai.

Sự đồng thuận của Filecoin

Cơ chế đồng thuận của Filecoin, được gọi là Đồng thuận dự kiến (EC), đại diện cho nền tảng trong mạng lưu trữ phi tập trung của nó. Chương này nhằm mục đích giới thiệu về EC, đi sâu vào các nguyên tắc hoạt động, thông số kỹ thuật và vai trò của nó trong việc duy trì tính toàn vẹn và độ tin cậy của mạng Filecoin.

Filecoin hoạt động trên cơ chế đồng thuận duy nhất được gọi là Đồng thuận dự kiến (EC). Không giống như các giao thức blockchain truyền thống thường dựa vào Bằng chứng công việc (PoW) hoặc Bằng chứng cổ phần (PoS), EC kết hợp các yếu tố ngẫu nhiên, sức mạnh lưu trữ và khả năng chịu lỗi Byzantine theo xác suất. Về cốt lõi, EC được thiết kế để điều chỉnh các ưu đãi với mục tiêu chính của Filecoin: lưu trữ dữ liệu hiệu quả và đáng tin cậy.

Bản chất của EC

  • Phân cấp và độ tin cậy: Mục đích chính của EC là thúc đẩy một môi trường phi tập trung nơi việc lưu trữ và truy xuất dữ liệu đều đáng tin cậy và có thể kiểm chứng được.
  • Phương pháp tiếp cận tập trung vào lưu trữ: Không giống như các chuỗi khối truyền thống tập trung vào sức mạnh tính toán hoặc việc nắm giữ tiền xu, EC của Filecoin ưu tiên sức mạnh lưu trữ - khả năng lưu trữ dữ liệu.

Cơ chế cốt lõi của sự đồng thuận dự kiến

Khung hoạt động của EC xoay quanh một số thành phần chính, mỗi thành phần đóng một vai trò quan trọng trong chức năng của mạng.

  1. Khả năng chịu lỗi Byzantine xác suất:
  • EC kết hợp các cơ chế chịu lỗi của Byzantine, giúp nó có khả năng phục hồi trước nhiều điều kiện bất lợi, bao gồm cả các nút hoạt động độc hại hoặc ngoại tuyến.
  1. Bầu cử lãnh đạo và sản xuất khối:
  • Trọng tâm của EC là quy trình bầu chọn người lãnh đạo. Không giống như các quy trình xác định được thấy trong các chuỗi khối khác, EC sử dụng phương pháp xác suất để chọn người đứng đầu hoặc người khai thác chịu trách nhiệm tạo khối.
  1. Ẩn danh cho đến khi được chứng minh là được bầu:
  • Những người khai thác trong EC vẫn ẩn danh cho đến khi họ có thể chứng minh trạng thái bầu cử của mình thông qua 'ElectionProof'. Bằng chứng này có vai trò then chốt để đảm bảo tính công bằng và không thể đoán trước trong quá trình sản xuất khối.
  1. Bằng chứng lưu trữ:
  • Người khai thác được yêu cầu gửi 'WinningPoSt' (Bằng chứng về không thời gian), xác thực sự đóng góp của họ vào dung lượng lưu trữ của mạng.

Thông số kỹ thuật của EC

Nền tảng kỹ thuật của EC là nơi bản chất đổi mới của nó thực sự tỏa sáng. Ở đây, chúng ta khám phá một số thông số kỹ thuật chính xác định cơ chế đồng thuận này:

Tính ngẫu nhiên thông qua DRAND:

  • EC sử dụng DRAND, một tín hiệu ngẫu nhiên bên ngoài, không thiên vị, để hỗ trợ các khía cạnh khác nhau của giao thức, bao gồm cả việc bầu chọn người lãnh đạo.

Hàm ngẫu nhiên có thể kiểm chứng (VRF):

  • Những người khai thác sử dụng VRF, cùng với tính ngẫu nhiên thu được từ DRAND, để tạo ra ElectionProof của họ.

Chuỗi ElectionProof và VRF:

  • ElectionProof rất quan trọng để những người khai thác chứng minh rằng họ đã được bầu chọn một cách hợp pháp để tạo ra một khối.
  • Chuỗi VRF liên tục được duy trì, mở rộng với mỗi khối mới được tạo ra.

Sức mạnh lưu trữ và WinCount:

  • Sức mạnh của người khai thác trong mạng tỷ lệ thuận với dung lượng lưu trữ của họ.
  • WinCount xác định số khối mà người khai thác có thể tạo ra, dựa trên sức mạnh lưu trữ và kết quả VRF của họ.
  • Đồng thuận An ninh và Công bằng

An ninh và công bằng là điều tối quan trọng trong EC, với một số cơ chế được áp dụng để bảo vệ các nguyên tắc này:

Các lỗi và hình phạt đồng thuận:

EC xác định các loại lỗi đồng thuận cụ thể (ví dụ: Khai thác hai nhánh, Khai thác bù thời gian) và áp dụng các hình phạt để ngăn chặn hành vi nguy hiểm.

Nguồn hình ảnh: Tài liệu của Filecoin tại đây: https://spec.filecoin.io/algorithms/expected_consensus/

Trọng số và lựa chọn chuỗi:

  • Giao thức sử dụng một hệ thống tính trọng số chuỗi duy nhất, trong đó chuỗi 'nặng nhất', biểu thị sức mạnh lưu trữ tích lũy nhiều nhất, được ưu tiên.

Cuối cùng mềm:

  • EC sử dụng một hình thức cuối cùng mềm, loại bỏ các khối sai lệch đáng kể so với chuỗi, từ đó đảm bảo sự ổn định của mạng.

Drand: Tính ngẫu nhiên được phân phối trong Filecoin

Drand (Tính ngẫu nhiên được phân phối) là một thành phần quan trọng trong cơ chế đồng thuận của Filecoin, cung cấp nguồn entropy không thể thiên vị cần thiết cho quá trình bầu cử người lãnh đạo bí mật của mạng. Đó là một giao thức báo hiệu ngẫu nhiên có thể kiểm chứng công khai được thiết kế để tạo ra một loạt các giá trị ngẫu nhiên có thể xác định và có thể kiểm chứng.

Drand hoạt động như thế nào

  • Tính toán nhiều bên (MPC): Drand chạy một loạt MPC để tạo ra các giá trị ngẫu nhiên. Sau giai đoạn thiết lập đáng tin cậy, một nhóm các nút drand đã biết sẽ ký một thông báo nhất định bằng cách sử dụng chữ ký BLS ngưỡng trong các vòng liên tiếp diễn ra đều đặn.
  • Ngưỡng chữ ký BLS: Quá trình này yêu cầu số lượng nút tối thiểu (t-of-n) để ký một tin nhắn. Bất kỳ nút nào có t chữ ký đều có thể xây dựng lại chữ ký BLS đầy đủ. Chữ ký này, khi được băm, sẽ tạo ra một giá trị ngẫu nhiên tập thể có thể được xác minh dựa vào khóa chung từ giai đoạn thiết lập.
  • Giả định về bảo mật: Drand giả định ít nhất t trong số n nút là trung thực và trực tuyến. Nếu ngưỡng này bị phá vỡ, kẻ thù có thể ngừng sản xuất tính ngẫu nhiên nhưng không thể làm sai lệch tính ngẫu nhiên.

Đầu ra ngẫu nhiên của Drand

Định dạng giá trị Drand: Các nút Filecoin nhận được giá trị drand ở định dạng cụ thể. Các thành phần chính bao gồm:

  • Chữ ký: Chữ ký BLS trên giá trị chữ ký trước đó và số vòng hiện tại.
  • PreviousSignature: Chữ ký BLS từ vòng Drand trước.
  • Vòng: Chỉ số ngẫu nhiên trong chuỗi do mạng Drand tạo ra.

Sử dụng Drand trong Filecoin

  • Bầu cử lãnh đạo: Drand được sử dụng để bầu chọn lãnh đạo trong Filecoin, cung cấp một giá trị ngẫu nhiên ở mỗi kỷ nguyên. Tính ngẫu nhiên này rất quan trọng đối với thuật toán Đồng thuận dự kiến (EC), đảm bảo việc lựa chọn người lãnh đạo một cách công bằng và không thể đoán trước.
  • Tìm nạp giá trị Drand: Các nút Filecoin truy xuất giá trị ngẫu nhiên mới nhất từ Drand bằng cách sử dụng các điểm cuối cụ thể. Thông tin này sau đó được tích hợp với dữ liệu trên chuỗi để hỗ trợ cơ chế đồng thuận của Filecoin.

Bằng chứng: Đảm bảo tính toàn vẹn và tin cậy

Bằng chứng trong Filecoin dùng để xác thực rằng các nhà cung cấp dịch vụ lưu trữ đang lưu trữ dữ liệu đúng cách theo tiêu chuẩn của mạng. Những bằng chứng này rất quan trọng để duy trì tính toàn vẹn và độ tin cậy của hệ thống lưu trữ phi tập trung.

Các loại bằng chứng trong Filecoin

  • Bằng chứng sao chép (PoRep): Được sử dụng tại thời điểm lưu trữ dữ liệu ban đầu, PoRep xác minh rằng nhà cung cấp dịch vụ lưu trữ đã tạo và đang lưu trữ một bản sao duy nhất của dữ liệu.
  • Bằng chứng về thời gian không gian (PoSt): Liên tục xác minh rằng nhà cung cấp dịch vụ lưu trữ có đang duy trì dữ liệu được lưu trữ theo thời gian hay không. PoSt được chia thành WinningPoSt và WindowPoSt, phục vụ các mục đích xác thực khác nhau trong mạng.

Vai trò của PoRep và PoSt

  • PoRep: Xác thực bản sao dữ liệu ban đầu của nhà cung cấp dịch vụ lưu trữ, đảm bảo rằng dữ liệu được mã hóa và niêm phong duy nhất.
  • PoSt: WinningPoSt được sử dụng trong quy trình đồng thuận khối, trong khi WindowPoSt liên tục kiểm tra các nhà cung cấp dịch vụ lưu trữ, đảm bảo tuân thủ liên tục các thỏa thuận lưu trữ.

Cơ chế đồng thuận của Filecoin, với sự kết hợp độc đáo giữa EC, Drand và bằng chứng mật mã, tạo thành xương sống của mạng lưu trữ phi tập trung mạnh mẽ và đáng tin cậy. Các yếu tố này phối hợp nhịp nhàng với nhau để đảm bảo mạng vẫn an toàn, hiệu quả và công bằng, thúc đẩy một môi trường trong đó tính toàn vẹn dữ liệu là tối quan trọng. Khi chúng tôi nghiên cứu sâu hơn về các sắc thái của chuỗi khối Filecoin, sự khéo léo và phức tạp của mô hình đồng thuận của nó ngày càng trở nên rõ ràng, nhấn mạnh tiềm năng của mạng trong việc cách mạng hóa bối cảnh lưu trữ kỹ thuật số.

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。