user35962: Think about a bitcoin transaction:
Inputs: Address1: 2 BTC, Address2: 1 BTC
Output: Address3: 3 BTC
So the value of Address1 is because of two previous transactions where every one of those 2 transactions sent 1 BTC to Address1. How is a full node now be able to verify that the amount of "2" is correct for the transaction?

user5757: Transactions don't work like that, so this issue does not arise.
Inputs of a transaction don't specify addresses, they specify previous transactions; more precisely, a particular output from a previous transaction.  The data included in an input is a transaction ID and an output index.
So in the example you cite, the transaction would have to have three inputs: one for each of the two Address1 transctions, and a third for the Address2 transaction.  

35962: <p>Think about a bitcoin transaction:</p>

<p>Inputs: Address1: 2 BTC, Address2: 1 BTC</p>

<p>Output: Address3: 3 BTC</p>

<p>So the value of Address1 is because of two previous transactions where every one of those 2 transactions sent 1 BTC to Address1. How is a full node now be able to verify that the amount of "2" is correct for the transaction?</p>
 5757: <p>Transactions don't work like that, so this issue does not arise.</p>

<p>Inputs of a transaction don't specify <em>addresses</em>, they specify <em>previous transactions</em>; more precisely, a particular output from a previous transaction.  The data included in an input is a transaction ID and an output index.</p>

<p>So in the example you cite, the transaction would have to have <em>three</em> inputs: one for each of the two Address1 transctions, and a third for the Address2 transaction.  </p>
