Filecoin 사양 시리즈 (1)
Filecoin은 블록체인 메커니즘을 기반으로 하는 분산 저장 네트워크입니다. Filecoin 채굴자는 주기적으로 증명을 생성하여 네트워크 저장 용량을 제공하고 Filecoin 암호화폐를 얻을 수 있습니다(채굴자는 지정된 용량의 암호화된 증명을 제공하고 있습니다). 또한 Filecoin은 네트워크 참여자가 Filecoin 블록체인의 공유 원장에 기록된 트랜잭션을 통해 FIL 통화를 교환할 수 있도록 합니다.
Filecoin은 블록체인의 합의를 유지하기 위해 비트코인의 작업 증명(POW)을 사용하지 않지만 저장소 자체의 증명을 사용합니다. 합의 프로토콜에서 채굴자의 능력은 그들이 제공하는 저장소의 양에 비례합니다.
Filecoin 블록체인은 FIL 트랜잭션 및 계정의 원장을 유지할 뿐만 아니라 네트워크 참여자 간에 다양한 암호화된 계약 및 시장 규칙을 시행하는 복제된 상태 머신인 Filecoin VM을 구현합니다. 이러한 계약에는 고객이 요청한 특정 파일 데이터를 저장하는 대가로 고객이 광부에게 FIL 통화로 지불하는 스토리지 거래가 포함됩니다.
시간이 지남에 따라 Filecoin VM의 분산 구성을 통해 체인에 기록된 스토리지 트랜잭션 및 기타 계약 메커니즘은 데이터 스토리지를 요청하는 클라이언트의 추가 상호 작용 없이 계속 처리됩니다.
1. 데이터 구조는 의미적으로 표시된 데이터 멤버(예: 구조, 인터페이스 또는 유형)의 모음입니다.
2. 함수는 외부 상태에 의존하지 않는 계산 프로세스입니다(전역 변수를 참조하지 않는 수학 함수 또는 프로그래밍 언어 함수).
3. 구성 요소는 구현 구조에서 단일 소프트웨어 단위로 표현되도록 의도된 기능 집합입니다. 언어 및 특정 구성 요소 선택에 따라 이는 단일 소프트웨어 모듈, 일부 메인 루프를 실행하는 스레드 또는 프로세스, 디스크 지원 데이터베이스 또는 다양한 기타 디자인 선택에 해당할 수 있습니다.
4. API는 구성 요소에 메시지를 전달하기 위한 인터페이스입니다. 예를 들어, 저장소 시장에 파일을 저장하기 위해 광부 노드의 저장소 광부 구성 요소에 요청하려면 일련의 API 요청을 실행해야 합니다.
5. 노드는 프로토콜과 상호 작용하는 완전한 소프트웨어 및 하드웨어 시스템입니다. 노드는 노드 구성에 따라 위의 여러 구성 요소를 지속적으로 실행하고, 여러 하위 시스템에 참여하고, 로컬 및/또는 네트워크를 통해 API를 노출할 수 있습니다.
6. 하위 시스템(하위 시스템)은 완전한 프로토콜(예: 저장 시장 또는 검색 시장) 또는 기능(예: VM-가상 머신) 측면에서 전체 Filecoin 프로토콜의 개념적 구분입니다. 특정 노드 또는 소프트웨어 구성 요소와 반드시 일치하지는 않습니다.
7. 액터는 Filecoin VM 상태에 구현된 가상 엔터티입니다. 프로토콜 참가자는 스마트 계약 참가자와 유사합니다. 참가자는 FIL 통화 잔액을 가지고 있으며 VM 작동을 통해 다른 참가자와 상호 작용할 수 있지만 반드시 특정 노드 또는 소프트웨어 구성 요소와 일치하지는 않습니다.
Filecoin의 사용자 대면 기능(결제, 스토리지 시장, 전원 테이블 등)의 대부분은 Filecoin 가상 머신(Filecoin VM)을 통해 관리됩니다. 네트워크는 일련의 블록을 생성하고 올바른 블록체인에 동의합니다. 각 블록에는 일련의 상태 전환 메시지와 이러한 전환을 전역 상태에 적용한 후의 현재 체크포인트 메시지가 포함됩니다.
전역 상태에는 각각 고유한 개인 상태를 가진 행위자 집합이 있습니다.
액터는 Filecoin의 이더리움 스마트 계약과 동일하며 본질적으로 Filecoin 네트워크의 "객체"이며 상호 작용하는 데 사용할 수 있는 상태 및 일련의 메서드가 있습니다. 각 참가자는 Filecoin 잔액, 상태 포인터, 코드 CID(참가자 속성 표시) 및 해당 참가자가 보낸 메시지 수를 추적하는 nonce를 가집니다.
액터에서 메서드를 호출하는 방법에는 두 가지가 있습니다.
먼저 시스템의 외부 참여자(즉, Filecoin을 사용하는 일반 사용자)로 메서드를 호출하려면 사용자가 메시지 네트워크에 서명을 보내고 해당 채굴자를 포함한 수수료 메시지를 지불해야 합니다. 메시지의 서명은 메시지 실행 비용을 지불하기에 충분한 Filecoin이 있는 계정과 연결된 키와 일치해야 합니다. 여기서 수수료는 비트코인과 이더리움의 거래 수수료와 동일하며 메시지를 처리하는 작업에 비례합니다(비트코인은 바이트당 메시지 가격을 책정하고 이더리움은 "가스" 개념을 사용합니다. 우리는 "가스"도 사용합니다).
둘째, 액터가 한 액터의 메서드를 호출할 때 다른 액터의 메서드를 호출할 수 있습니다. 그러나 이런 일이 발생할 수 있는 유일한 경우는 액터가 외부 사용자 메시지에 의해 호출되는 경우입니다. ).







