지갑이 모든 블록과 트랜잭션을 저장하고 있다면, 이것이 풀 노드인가요?
8333 포트를 사용하는 것과 그렇지 않은 것 간의 차이점이 궁금합니다.
답변 감사합니다. Bitcoin-Core를 실행하면 bitcoin-qt.exe가 실행됩니다. 포트번호는 임의(56009 등)로 생성되고 동기화를 위해 8333포트를 통해 다른 노드(port 8333)로 부터 블록 정보를 받습니다. 이경우 bitcoin-qt.exe 는 다른 노드에 정보를 줄 수 없는 것인지요?
설치 프로그램의 daemon 폴더에 보면 bitcoin-cli.exe, bitcoind.exe 가 있는데, 8333 포트를 open하고 정보를 줄 수 있는 노드가 되기 위해 bitcoind.exe를 사용하는 것인지요?
보통 블록체인을 완전히 다 받기 전까지는 다운로드만 받는 것 같습니다. 풀 노드 상태가 되면 주기도 하지요.
트랜젝션의 인증을 담당하는 것이 바로 채굴입니다. 채굴을 통해 블록을 찾아내고 찾아낸 블록에다가 인증되지 않은 거래들을 넣어줍니다. 그렇게 되면 거래는 1컨펌이 되는 것이죠.
채굴을 하게 되면 12.5 BTC의 보상을 받는 것은 아실텐데, 여기에 더하여 찾아낸 블록 안에 포함된 모든 거래의 수수료 또한 채굴자가 가져갑니다. 그러니까 1블록을 찾아내면 12.5 BTC + a 가 되죠.
풀 노드는 비트코인 네트워크에 기여하며, 풀 노드가 1명도 존재하지 않는다면 풀 노드였던 사람이 다시 연결하지 않는 이상 해당 코인은 죽은 코인이 됩니다.
Bitcoin-Core는 기본적으로 8333 포트 연결을 통하여 블록 정보를 가져오게 되며, 풀 노드 상태가 되어야만 지불이 가능합니다.
풀 노드를 만들 수 없는 대표적인 지갑인 Electrum의 경우, 블록체인을 가진 Electrum 서버와 통신을 해야 하기에 8333 포트 대신 50000 과 같은 포트를 사용합니다.