This is all FAQ territory, and has been covered on the forums for years.

Balance-at-point-in-time is not completely trust-free, as it is a
dataset that must be bootstrapped into trust by... an earlier dataset.
 Continue this logic and you have a... chain.

There is plenty of on-going discussion on UTXO snapshotting -- UTXO
lockin for each block, or something.  This is /somewhat/ like
balance-at-point-in-time, but no one pretends it is trust-free.

The /only/ way to have a completely trust-free solution is to be able
to verify all data from genesis through $now. However, it is not
necessary for all bitcoin wallets to download and verify all those
gigabytes of data; that is what SPV mode is for.

      Jeff



On Sat, Sep 7, 2013 at 11:56 PM,  <rob.gold...@astutium.com> wrote:
>> (there's no way to be completely trust-free without this).
>
> Not quite true, as I said balance-at-point-in-time would solve that
> (and make the storage requirements much lower)
>
>>> If going that route, then solutions to the 'consolidate
>>> addresses/wallets'
>>> question and formal 'discard' of addresses could get addressed.
>>
>> Not sure what you mean here. Addresses and wallets are two completely
>> different things. Addresses are single-use destinations that point to
>> a wallet
>> (which is itself private and unknown to the network).
>
> For bitcoin to grow beyond interesting experiment into global everyday
> use a number of things would have to happen, not least of which is
> taking 'average punter' into account. Whilst new ideas can filter into
> the general consciousness over time,sometimes concepts have to go with
> 'what already works' :)
>
> People's concept of money hasn't really changed in over 1,000 years -
> it remains 'something of known value i can exchange for something else'.
>
> No-one outside of bitcoin dev's and early adopters really gets the
> one-shot concept of addresses - possibly rightly so - keeping issues of
> it lowering levels of anonymity etc out of the discussion - it doesn't
> fit with the mindset people have - it's difficult enough getting
> merchants to setup separate addresses for each client, one per
> transaction is simply a waste (of addresses, storage, blockchain size,
> numnber of inputs|outputs when spending etc)
>
> I'm sure the wife would love a new handbag everytime she gets some
> money, but the real-world just isnt like that ;)
>
> Addresses are perceived as the equivalent of a jar you stick your coins
> in. You can have lots of jars. Each jar can be for a specific reason or
> whatever, but the analogy is there.
>
> Wallets are like a box you keep some of your jars in. With the added
> interesting concept that a jar can be in multiple boxes at the same
> time. Only the person with the right 'key' can open the jar and take the
> contents.
>
> However unlike the 3 money boxes I have behind me right now - which i
> can take 1 single penny out of one and put it into another - if I want
> to move bitcoins from one addresses (jar) to another *of my own* I have
> to pay a fee. Worse still if the jar doesnt have much in it I'm denied
> that ability.
>
> End user will neither understand why or want to pay the fee, for
> dealing with their own coins.
> If a jar breaks I can just tip the contents into a new one - unless I'm
> very careless, the amount in the new one = the amount in the old one -
> people will want/need it to work like that.
>
> Similarly if you do have all these addresses around, you may want (as
> good housekeeping) discard some of them (after moving the cash).
>
> So having the ability to specify address to send from is essential (and
> a sadly missing feature of the QT client)
>
> 'intra-wallet' transfers with an 'also discard the sending address'
> would be a way of (once confirmed) stopping any further use of that
> address (denied any further transactions by miners ?) and when
> balance-at-point-in-time is implemented, a way of shrinking the storage
> for all other bitcoin users (who chosse not to have a full transaction
> set).
>
>
> If i send luke 10, and luke sends me back 3, i have 3, luke has 7.
> If luke sends me 2, and i send luke 1, i have 4 and luke has 6.
> To verify my ability to send jeff 4, all that is needed is to know that
> I have 4, not all the transactions that led to that state - thats how
> its done now, thats not necessarily efficient as bitcoin grows
>
> If luke sends me 4 more, i now have 4 again, luke has 3
> If i send 1 to each of the children, they have 1 each (*4)
>
> Having a 'family' wallet means when on holiday they can have that
> rental of quad-bikes - to send the rental company 4 the client only
> needs to know that those addresses now have 1 each in them, not all the
> previous transactions - if they didnt exist at the point-in-time
> balance, then yes, it would need to know about the luke>rob>kids
> transactions, but thats all
>
> I moved to a new netbook recently - it took 140 *hours* to d/load and
> process the blockchain (yes the wifi was that bad), I heard from one of
> our clients that (although they only had the client running during
> working hours) that to their desktop it was over 9 days before it had
> caught up.
>
> If all I was d/loading were the transactions since the last difficulty
> change (as one example of a fixed point), and the remaining balance on
> any not-discarded address as at that point it would have been much much
> quicker, and not be shagging my shiny new hard drive.
>
> There's more but it's 4.45 in the morning, and I cant think coherently
> until after a few hours kip and some good coffee :)
>
> Rob
>
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development



-- 
Jeff Garzik
Senior Software Engineer and open source evangelist
BitPay, Inc.      https://bitpay.com/

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development

Reply via email to