질문자께서 질문해 주신 내용에 대해 트랜젝션의 처리와 블록의 생성 과정을 살펴 보면서 답변해 드리도록 하겠습니다.
예를 들어 A가 B에게 1 BTC를 전송하는 상황을 가정하고 트랜젝션이 처리되는 과정을 살펴 보도록 하겠습니다.
우선 A가 B에게 1BTC를 보내는 트랜젝션을 발생시킵니다. 이 트랜젝션이 마이닝 노드들에게 전파되면 해당 마이닝 노드들은 각자 해당 트랜젝션이 유효한지 검증하게 됩니다.
그리고 마이닝 노드는 A가 발생시킨 트랜젝션을 자신의 Mempool에 저장합니다. 즉, Mempool에는 거래의 유효성은 검증되었지만 아직 거래가 완전히 컨펌되지 않은(0 컨펌) 트랜젝션들이 저장된다고 할 수 있습니다.
그 후 마이닝 노드들은 각자 난이도 타겟 값보다 낮은 값을 찾기 위해 해시 함수에 논스를 대입하며 연산을 실행하게 됩니다.
즉, 질문자께서 말씀하신 연산 문제라는 것은 특정한 출제자가 있다기 보다는 현재의 난이도 타겟 값보다 낮은 값을 찾는 문제이므로, 연산 문제는 채굴 과정에서 자동적으로 주어진다고 볼 수 있습니다.
이어서 한 노드가 난이도 타겟 값보다 낮은 해시 값을 찾게 되면 다른 노드들이 해시 값이 맞는지 검증한 후 그것이 맞다면 해시 값을 찾은 노드가 새로운 블록을 생성하고 Mempool에 저장된 트랜젝션들을 수수료가 많은 순서로 기록하게 됩니다.
이때 블록을 생성하며 블록 바디 부분에 트랜젝션을 기록하는데 Coinbase Transaction이라는 거래가 가장 먼저 기록됩니다. 이것은 블록 생성자가 자신의 비트코인 지갑으로 채굴 보상을 전송하는 트랜젝션이라고 할 수 있습니다.
즉, 12.5BTC로 정해져 있는 채굴 보상을 블록 생성자가 자신의 비트코인 지갑으로 전송하는 트랜젝션을 발생시키고 그것이 블록에 기록되어 승인됨으로써 비트코인이 발행되는 것이라고 보시면 되겠습니다.
이어서 블록 크기가 한정되어 있기 때문에 우선 순위에 따라 블록에 거래내역을 기록하는 것이 완료되면 블록 생성 또한 완료됩니다. 그것을 다른 노드들에게 전파하여 블록이 검증받게 되면서 트랜젝션이 1 컨펌을 받게 됩니다. 이런 과정을 거쳐 트랜젝션이 처리되고 블록이 생성된 것이라고 할 수 있습니다.
답변이 도움이 되길 바랍니다.