비트 코인 풀 노드의 구현은 무엇입니까? (스페인어)

저는 종종 미디어에서 비트 코인 풀 노드 구현이 * 진짜 *가 무엇인지에 대해 많은 혼란을 겪습니다. 이해하기 쉬운 방식으로 주제를 한곳에서 분석 할 수있는 좋은 시간이라고 생각했습니다. 이것이 혼란에서 도움이되기를 바랍니다. 특히이 문제를 최대한 빨리 해결하기 위해 초안을 작성하는 데 도움을 준 Matt Corallo (핵심 개발자)와 Purse의 동료들에게 감사하고 싶었습니다. 🙂

풀 노드 란 무엇입니까? 그들은 무엇을 할 수 있습니까?

전체 비트 코인 노드는 대략적으로 말하면 다른 모든 노드가 오프라인 상태가 되더라도 비트 코인 네트워크의 중추 역할을 할 수 있습니다. 정의에 따라 전체 노드는 비트 코인 프로토콜의 특성을 엄격하게 준수 할 수 있어야합니다. 즉, 네트워크에서 다양한 유형의 전체 유효성 검사기 노드를 정의하는 기준은 크게 다르지 않습니다. 대부분의 경우 보편적으로 인정되는 표준이 있습니다.

요약하면, 효과적인 풀 노드는 수신되는 각 트랜잭션 블록을 확인하여 해당 블록의 각 요소가 (합의 된 규칙에 따라) 완전히 검증되었는지 확인합니다. 이를 통해 전체 노드는 채굴자를 명시 적으로 신뢰하지 않고도 블록의 전체 무결성을 신뢰할 수 있습니다.

비트 코인의 합의 규칙이 충족 되려면 전체 노드가 다음 사항을 확인해야합니다.

이전에 보았던 것처럼 풀 노드 (다른 규칙도 있지만이 기사에서는 나오지 않음)는 실제로 비트 코인 네트워크의 적극적인 참여자입니다. 이러한 노드는 트랜잭션 또는 블록이 합의 된 각 규칙을 따르는 지 항상 확인합니다. 또한 네트워크의 다른 전체 노드로 블록을 전송하는 작업도 수행합니다 (포트 전달이 활성화 된 경우-나중에 설명하겠습니다-하지만 전체 노드로 간주되기위한 전제 조건은 아닙니다). 이는 비트 코인 블록 체인이 변경 불가능 (변경 불가능)하고 보안이 그대로 유지되도록하는 요소입니다.

블록 체인 데이터베이스의 크기는 완전히 다운로드되고 확인 된 후 현재 ~ 110GB입니다 (크기 기록을 보려면 여기를 클릭하십시오).

아직 공식적인 비트 코인 사양이 없기 때문에 참조 클라이언트 (“비트 코인 코어”로 알려짐)는 대부분의 비트 코인 개발자들이 선호하는 클라이언트입니다. 이를 통해 구현이 모든 매개 변수를 고수 할 수 있으며 네트워크에서 분기되지 않습니다.

선택적 요구 사항 : 일부 전체 노드는 거래 정보를 다른 노드로 전송하는 데 도움이되며 일반적으로 교환기, 블록 브라우저 및 채굴 기와 같은 서비스에서 실행됩니다. (일반적으로 “ 완전한 경제 노드 “라고 함)

P2P 네트워크 서비스
합의 된 규칙을 확인 했음에도 불구하고 전체 노드는 P2P 네트워크의 활성 참여자에게 다른 서비스를 제공 할 수 있습니다.

이러한 추가 서비스는 블록 체인을 전체적으로 처리하지 않고 오히려 트랜잭션 정보의 정확성을 보장 할 때 라이트 노드 (SPV 클라이언트)의 보안에 중요한 역할을합니다. 제대로 동기화하기 위해 전체 노드를 쿼리합니다.

다음은 풀 노드가 제공 할 수있는 몇 가지 서비스입니다.

이러한 서비스의 대부분은 노드를 포트 8333으로 전달하여 들어오는 연결을 트리거 한 후 전체 노드에서 제공됩니다. 전체 노드가 들어오는 연결을 더 많이 받아들 일수록 비트 코인 네트워크는 더 안전하고 분산됩니다. 그 전체. 노드는 개인 또는 회사에서 실행할 수 있습니다. 그러나 많은 서비스는 종종 클라우드에서 전체 노드를 실행하도록 선택합니다 (예 : AWS / Google Cloud). 클라우드에서 전체 노드를 실행함으로써 기업 또는 개발자는 언제든지 검색을 위해 전체 블록 체인을 지속적으로 보관 / 저장하는 고정 노드를 확보 할 수 있습니다.

Bitnodes 또는 NodeCounter와 같은 사이트를 통해 네트워크의 활성 및 전달 된 노드 수를 항상 볼 수 있습니다. 그러나 일부 사람들 (개인)이 포트 포워딩 아이디어에 동의하지 않는다는 것을 아는 것이 중요합니다. 또는 아마도 그들에게 대역폭은 지역에서 매우 비쌉니다. 우리는 좋은 추측을 할 수 있지만, 대부분의 경우 활성 노드의 총 실제 수는 … 알 수 없습니다. 그리고 문제 없습니다! 비트 코인의 탈 중앙화는 각자가 지갑으로 무엇을하는지에 대한 지식에 의존하지 않습니다. 🙂

개방형 포트는 비트 코인 네트워크가 동기화 된 새 노드에 기록 블록을로드하여 새 노드를 시작하도록 도와줍니다. 비트 코인의 P2P 네트워크는 검열에 대한 저항이 조금 더 견딜 수 있도록합니다. 로그 사본이 어딘가 어딘가에있는 한 ( 서버 또는 분산 된 무수정 네트워크) 비트 코인은 번성하는 과정 .

전체 노드 실행의 장점

우선 보안입니다. SPV 노드는 전체 블록 체인을 처리하지 않으므로 트랜잭션 또는 검증되지 않은 블록이 수락되면 위험이 따릅니다. 특정 서비스가 자체 거래를 확인하기 위해 합의 검증의 전체 노드를 동시에 실행하지 않는 한, 특정 블록 또는 거래가 자동으로 처리되어 서비스 / 사용자에게 손상 또는 손실이 발생할 수 있습니다.

개인 정보 보호; 자신의 은행이기 때문에 완전한 재정적 통제권이 있습니다. 전체 노드를 실행하면 트랜잭션 을 가능한 한 비공개로 유지하는 데 도움이됩니다 (공개 블록 체인은 … 공개 ). 대부분의 웹 애플리케이션 기반 지갑 및 서비스는 SPV 노드를 사용하므로 확인 프로세스를 수행하기 위해 외부 제 3 자 소스가 필요합니다 (여기에는 귀하의 주소가 포함됩니다 😧 포함). 이러한 서비스는 귀하의 주소를 인식하고 많은 노력없이 해당 계정에있는 자금의 소유권을 찾기 위해 주소를 연결할 수 있습니다. 비트 코인 네트워크를 최대한 활용하려면 전체 노드를 실행해야합니다.

결론

전체 노드는 Bitcoin 네트워크에 중요합니다. 이전에 논의했듯이 NBitcoin (C #), btcd (Go), bitcoind (C ++), 지금 및 bcoin ()과 같이 네트워크를 완전히 검증 할 수있는 가장 잘 알려진 / 사용 된 비트 코인 풀 노드 구현 중 일부입니다. Node.js). 이러한 수의 구현의 확산과 채택은 비트 코인 개발을 분산화하는 데 없어서는 안될 구성 요소이며, 가능한 한 전 세계 분야의 많은 기술 전문가와 함께합니다.

참조 :
https://en.bitcoin.it/wiki/Full_node
https://en.bitcoin.it/wiki/Clearing_Up_Misconceptions_About_Full_Nodes