How to cut the wallet ?
The direct lead to this article was discussion continued since yesterday. The fundamental basis for it is the observation that the job of the wallet sits in tension with the rest of TRB's use and function, and this tension must be resolved.
The two identifiable ends of the dubious chimera in question are the node and the wallet. The job of the node is to connect to others via the Internet, and to exchange information with them.i The job of the wallet is to prevent others from connecting via the Internetii, which makes the tension quite evident. Getting in the way of a clean cut is the unfortunate circumstance that the wallet actually needs some knowledge of the state of the world.iii
There were to date three approaches proposed, as follows :
I. That the wallet become strictly a signature mechanism, as exactly homomorphic to PGP as possible ; the operator will create the transactions he wishes signed elsewhere (practically speaking, on the node), will convey them over through the method of his choice, the wallet will sign them and the resulting bytepile will be ferried over and be injected into the node.
This option then requires that most of the work involved in transaction creation (importantly - the coinbase selection!) will be done by the node, which is definitionally a low security environmentiv. What's worse, the logical implementation would then have wallet function maintain continuity with the present nonsense, with "more secure" functionality being available as an optional (ie, disusedv) add-on. We might stubbornly insist to call it "the true wallet", but what's in a name ?
II. That the wallet become a solipsistic node. As per previous discussion, fixing the horrible format of the inherited Bitcoin will allow the operator to inject coinbases he owns into his own wallet at leisure (a node can safely track addresses and produce a digest - this is no loss of security). The wallet will then proceed to optimallyvi select coinbases for an arbitrary payment, sign it, and spit out the resulting transaction ready to be conveyed to a node.
This wallet will not "automatically" discover new payments incoming ; but it is my considered opinion that the conflation of the wallet and of that functionality is dumbvii.
III. That the wallet become separated from the node. To quote the author,
a111 Logged on 2016-11-02 03:16 ben_vulpes: log/2016-11-01
Wednesday, 02 November, Year 8 d.Tr.