https://en.bitcoin.it/wiki/Protocol_specification#txкак вы не уверены в том, что TxIn не вынимается из сделки и положить в другой? это недостаток?
или есть какие-то mecanisme, что предотвратить это?
простой сценарий атаки:
1. положить много ваших клиентов в сети (с разными IP-адресами). так что вы уверены, что вы можете изолировать другой клиент.
2. когда изолированный клиент делает Tx он передает его вам.
3. с Tx вы извлечь TxIns и помещает их в новый Tx, который посылает вам все, вы можете сделать это, потому что нет никакой защиты.
4. ожидание для него должны быть включены в блок.
5. PROFIT!
Это возможно? это большой большой недостаток, если его реально!
Попробуйте, и вы увидите, что она не работает на практике, даже если это theoreticly возможно. Скорее всего, вы даже не будете иметь возможности изолировать клиент для того, чтобы фактически украсть из его сделок в начале. В любом случае, это нападение на конкретный пользователь Bitcoin, а не недостаток в самой системе. Этот вид кражи атаки может повлиять лишь на одного пользователя.
Как описать это, модифицированная транзакция будет не прошли проверку действия в любом случае, потому что транзакция должна быть хэшируются в целом после того, как «подписан» закрытым ключом отправителя, который вы не имеете. Если вы не можете подписать измененные сделки, сделка потерпит неудачу в этой точке.