(1) When are transactions no longer relayed by a node? In other words, when are they baked into an account such that they no longer are relayed? What determines when a transaction is not relayed anymore?
Like I said, transactions are collected into blocks in the same way as Bitcoin transactions, so nodes would stop relying transactions in the same way as they do with Bitcoin. To be honest I'm not exactly sure how a Bitcoin node decides to stop relaying transactions.
It is pull based, so any node can request older transactions. So in this implementation, a node may request a transaction that does not exist in any node. So therefore, there is some criteria when to throw away transactions. What is that criteria?
(2) When the account tree is created. Are accounts relayed through the network for other nodes to store and reconstruct?
Yes obviously the accounts are relayed through the network for other nodes to reconstruct the account tree. The account tree will be created after the first genesis block is created. Nodes will reconstruct the account tree when they are synchronizing with the network.
[/quote]
Does an account have an identifier or hash that will distinguish it from other version of itself in the network?
(3) Which version of an account should a node accept? Is there a block height embedded in the account? Is there a hash that relates the same account to a previous version of it?
In order to determine which version of the account tree is the correct one, a node must first obtain the full proof chain and the mini-blockchain with the highest cumulative difficulty. The master hash of the account tree is contained in every block header so that when the node has reconstructed the account tree they can make sure it contains the right data. The block height can be calculated from the number of block headers in the proof chain and mini-blockchain so it doesn't necessarily need to be stored in the account tree, but it would probably add a bit of extra security to do so.
[/quote]
How is the account information requested from a node? Do I ask the node, "give me account for block height 13?" If the block height is already at 15, do I return an error?
(4) I need to understand the interplay of when transactions are sent and when addresses are sent. I also need to understand what happens when a transaction is in conflict with an address and how to determine if there is a conflict.
I'm not sure what you mean. I get the feeling you still aren't fully understanding the concept of how the mini-blockchain and account tree are supposed to work. What do you mean "when addresses are sent"? Do you mean when are portions of the account tree propagated across the network? Like I said, that should only happen when a node is synchronizing with the network. The mini-blockchain wiki has the answer to all of these questions, please read it properly.
[/quote]
So are you saying that, once a transaction is included in a block it is never accessible or propagated through the network? The problem is, the P2P network is never certain until a number of blocks whether a transaction is in the block chain or not. So you can't start transmitting account information until you have the requisite number of confirmations.
I'll be honest, unless there is a specification of the network protocol, then this specification is incomplete.