Bitcoin Forum
May 14, 2024, 02:54:26 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 195 »
61  Economy / Service Discussion / Re: php second password rpc.blockchain.info request on: July 05, 2014, 04:33:53 AM
Check the wallet locking/unlocking functions.
62  Bitcoin / Hardware wallets / Re: Hardbit -- Bitcoin Hardware Wallet on: July 05, 2014, 04:33:00 AM
I think there is an appropriate place for you to advertise your device, but this ain't it.

   Because Hardbit can work offline, so it can act like bank cards for payment in shops. It enables immediate confirmation because double spending is avoided by changing the transaction broadcaster  from payer to payee.

Among other problems, this jumped out at me.  It suggests that you might not have an entirely firm grip on how double spends work, which calls into question other aspects of your project.
63  Bitcoin / Development & Technical Discussion / Re: Thoughts on M of N systems (competing and heirarchically nested) on: June 23, 2014, 02:07:18 PM
But POW and POS are not ideal: proof of capability is ideal

I didn't read your wall of text, and I doubt that anyone else will either, but this jumped out at me.

The proof of capability is work.  If you prove that you did work, you have proved that you had the capability of doing that work.  Nothing else is necessary, nothing else is sufficient.
64  Bitcoin / Bitcoin Discussion / Re: Double spending has already happened when will protocol be fixed? on: June 19, 2014, 03:56:10 AM
I agree that I cannot know what TX you sent first unless I was observing you send them

Generalize this to everyone else, and you'll understand why I'm done with this topic.  To me, it makes no difference whether an objective ordering exists, but is not knowable, vs does not exist at all.  It would be more productive to define double spending as any transaction that does not have the approval of the Easter Bunny.  The arguments are the same:

Quote
I agree that I cannot know which TX the Easter Bunny prefers, unless I was observing him doing the approving, but the statement is still valid.  One of your TXs was approved.
65  Other / New forum software / improved ignore on watch lists and updated topics on: June 18, 2014, 07:20:23 AM
When there are new posts in a watched/subscribed thread, if all of the new posts are from users that are on your ignore list, that topic should not show up on the list as having been updated.
66  Bitcoin / Bitcoin Discussion / Re: Double spending has already happened when will protocol be fixed? on: June 18, 2014, 07:17:57 AM
No, Bob never said anything to anyone in my example.  He simply threw rock A into the lake, and then 10 seconds later he threw rock B into the lake.  This means that he threw rock A first.  If you disagree, then you're arguing that X != X.  If something happened then it happened.

If Charlie trusts Alice who claims that Bob threw rock B first, then Charlie's opinion doesn't change the fact the Bob actually threw rock A first.  Charlie and Alice could convince the entire world that Bob threw rock B first, and everyone might call Bob a liar.  But if he threw rock A first then he threw rock A first.  

Objective reality exists independent of our perception of it.  

Einstein is snickering at you from his grave.

Objective reality is like a platonic ideal of a sphere or a straight line.  One might exist, but you'll never see anything better than an approximation.  When time gets involved, relativity says that when information is constrained to finite speeds, like it is in our universe, even the approximations are personal to each observer.

At any rate, all that you can accomplish with this sophistry is to swap the labels on the problem around.
67  Bitcoin / Bitcoin Discussion / Re: What happens if the cryptography of Bitcoin gets cracked? on: June 18, 2014, 07:01:47 AM
Can the devs not just switch from SHA-256 to the next secure protocol?  It would make miners obsolete, is that the problem?

In a sudden catastrophic break, that is exactly what would happen.

Of course, such a break is widely regarded as, ahem, unlikely.  Like "getting arrested for going over the tag limit on your unicorn hunting license" unlikely.

What will happen in reality is that some day, someone will publish a theoretical attack that weakens a wildly reduced form of SHA2.  A few years later, people will start to take notice as someone manages to produce an attack on a moderately (or maybe even just slightly) reduced version.  Around that time, someone will make a pull request that invokes the 75/95 rule*, triggering a new rule that says that starting a few tens of thousands of blocks after the majority is achieved, blocks that satisfy the target using either SHA-256 or some other hash function will be accepted**.  Then, someone on the mailing list will pipe up and suggest a different new algorithm that no one has ever heard of, and no one but djb trusts.

We'll spend the next year or so painting that bike shed good and hard, eventually settling on something newer than SHA2, and using a different fundamental compressor, but still something that has been around for a while, and widely respected.

Probably about a quarter million blocks after that, SHA will be retired.

By now, we are a decade past the first signs of weakness, and the cryptographers are getting close to shaving a bit or two off of the full version of SHA2.  Ten or twenty years after that, and SHA2 will be moderately unsafe against an institutional attacker, in some applications, none of which will ever apply to bitcoin.  At some point, the attacks get good enough that cryptographers are creating collisions on napkins at cocktail parties to impress women (to paraphrase the famous timeline), and yet bitcoin would have remained totally safe because the attacks that break hash functions simply do not generalize to short inputs with rigid constraints.

* Yes, I know that the 75/95 rule is for soft forks, but nothing else seems to fit here.  The devs are a conservative lot, but this hard fork can't be dodged.  Most likely, the "tens of thousands of blocks" that I mention next will really be on the order of 100k.

** The mechanism is very simple.  Try the new algorithm.  If it hits a valid target, accept.  Otherwise, try SHA2.  IF it hits a valid target, accept.  Otherwise, junk it.  Notice that there is no need to change any of the structure or fields of the blocks or header, and no new block version is necessarily needed.
68  Economy / Service Discussion / campbx helpdesk SSL and SPF problems on: June 18, 2014, 06:31:57 AM
Does anyone have useful contact info for campbx?  I've tried explaining this to their helpdesk live chat several times now, but they think the problem is on my end.

Campbx uses kayako for helpdesk service.  If you click their helpdesk link, you'll eventually come to https://support.campbx.com/Tickets/Submit.  Problem is that the page has a kayako.com cert, not a campbx.com cert, which causes a SSL error in sane browsers.  Simple enough to bypass this one, just go to https://campbx.kayako.com/.

Also, the kayako helpdesk software forges emails claiming to be from support.1@campbx.com, but they actually come from a kayako.net server.  Problem there is that campbx.com has published SPF records that do not allow mail from the kayako IPs.  If you have a sane mail system, meaning one that understands and follows SPF records, it will end the session with a permanent (5xx) error as soon as it figures out that it is talking to a peer that is explicitly denied by the published policy.
69  Bitcoin / Development & Technical Discussion / Re: Proof of Hash proposal on: June 17, 2014, 04:39:18 AM
Thank you for your comments
The issue with not unified memory pool is solved once a block is published. If some node does not have that TX then that node should ignore the block until it can verify that all the transactions in it are in the network. I think this is what current protocol works. Because that issue would affect PoW also I think.

No, this is not how the network works.  Not even close.

Please browse this board for a while.  Most (all?) of your ideas are already here, complete with discussions revealing how and why they don't work.
70  Bitcoin / Bitcoin Discussion / Re: Double spending has already happened when will protocol be fixed? on: June 17, 2014, 03:38:45 AM
Last time we polled the community to determine the accepted definition of "successful double spend," the results were as follows:




Nonsense.  The blockchain defines the order of transactions.  If we had some way to determine which transaction was "broadcast first", we wouldn't bother with all of the hashing.
71  Bitcoin / Bitcoin Discussion / Re: What happens if the cryptography of Bitcoin gets cracked? on: June 17, 2014, 03:35:15 AM
I'm no expert on bank security but obviously it doesn't use public key cryptography as a basis.  Even if passwords are stored as hashes (and they almost certainly are), the public cannot access them as with bitcoin.
And you can do a password reset.  If you cannot reset your password based on 2FA, the bank can help you out.  So, essentially they are based on hierarchical levels of trusted control...bank employees, tech admins, managers, clearing houses, etc.  Bitcoin is trustless at the base level and no way to recover a lost private key.

Bank security, ultimately, comes down to one simple thing.  Money isn't real.

What a bank protects is not money, but a list of debts owed (deposit accounts, etc) and debts owned (loans, etc).  And literally nothing in banking is ever final.  If someone tampers with the debt lists, they can just untamper them during the next audit.
72  Bitcoin / Development & Technical Discussion / Re: Separate wallet and daemon even further on: June 11, 2014, 11:35:30 AM
A lightweight wallet has limited capabilities, relying instead on external services.  The term is widely understood in programming, engineering, etc.  Armory is a good example of a general external wallet.  It exists today, and indeed has for several years now.  But it is far from lightweight.

I have a job, a life, and indeed a variety of other interests.  In addition, I rarely use C++, so working on the official client is difficult for me, and because of the aforementioned other interests, I have not yet got around to investing enough time to improve my skills in that area (and probably never will).  However, all is not lost.  What I have built works very well for me, though it will never be suitable for general release to the public.  And other people are implementing similar things in their own way, so it isn't like the world is deprived of any great benefit by my continued inattention.

My point is that it is possible to use the existing tools to implement a bitcoin wallet outside of the standard node, today.  Bringing that wallet up to your standards will require a bit more, such as an extra service that implements the extra RPC calls that I identified 3 years ago.  But that isn't hard to do at all.

Bitcoin is a volunteer effort.  The developers either follow their own whims, or the whims of their employers.  Unless you are footing the bill, there isn't much point in complaining that your pet project isn't getting attention.
73  Bitcoin / Development & Technical Discussion / Re: Separate wallet and daemon even further on: June 10, 2014, 10:59:55 PM
You can already hook up an external wallet using the RPC functions.  Optionally, add the notifiers to reduce polling.

We probably have a different understanding of what a wallet is.

For me wallet would be saying to the node like "give me all the current UTXO records for these addresses: <here go the addresses>"
And then, after a second or two, the node would reply with the list of the UTXO records, that the wallet can potentially spend.

For all I know the current RPC does not support such things.
And the architecture does not make it easy to add such a support.

Your wallet is just a lightweight version of a general wallet.  You are correct that the current API does not support lightweight wallets.  See the second link in my sig for a look at exactly what changes would be needed to support them.

But a heavier wallet works just fine with what we already have.  Actually, the only thing that is hard to do today is sweep privkeys.
74  Bitcoin / Development & Technical Discussion / Re: Separate wallet and daemon even further on: June 10, 2014, 06:06:12 PM
You can already hook up an external wallet using the RPC functions.  Optionally, add the notifiers to reduce polling.
75  Bitcoin / Development & Technical Discussion / Re: "Easy way" to extract the UXTO from Bitcoin Core? on: June 10, 2014, 05:51:07 PM
On a related note what is the "bytes serialized" representing.  393434666 / 11337577 = ~35 bytes per output.   The tx hash (32 bytes) and output index (1-2 bytes) would be 33 to 34 bytes right there.  Is it just referring to the index? Or is it just referring the raw output data (value & script) not the lookup values?  It can't be the full set as that would be closer to

To validate an the input of an arbitrary tx isn't the following needed?
tx_out_hash (32 bytes)
tx_out_index (4 bytes)
value (8 bytes)
script_len (variant - usually 1 byte)
script (variable - 25 bytes for P2PKH outputs which make up 90%+ of UXTO)
That is 70 bytes minimum, so for 11,337,577 outputs the UXTO would be a minimum of 794MB right?  What am I missing?

Look in txdb.cpp, CCoinsViewDB::GetStats.

Code:
stats.nSerializedSize += 32 + slValue.size();

I didn't follow the objects around, but at first glance it looks like the txid and sequence number (in varint form).  That works out pretty well with your 35 bytes per output calculation.
76  Bitcoin / Development & Technical Discussion / Re: Ok, but seriously how will I pay for my $250 grocery bill with bitcoin? on: June 10, 2014, 11:14:36 AM
If only there was some way to establish a network of transaction-risk management companies to assist in cases like these...
77  Bitcoin / Bitcoin Technical Support / Re: get sender address from RPC api on: June 03, 2014, 09:44:45 PM
I wrote the ultimate guide many times.  Eventually got sick of it.

The short version is that there is no "sender", much less a "sender address".
78  Bitcoin / Development & Technical Discussion / Re: signrawtransaction hex on: June 03, 2014, 02:18:45 PM
I haven't kept current with the recent changes to the client, but I believe that a transaction will go from zero to -1 confirmations when the client sees a conflict in the block chain.  The idea is that zero means "not confirmed yet" and -1 means "and never will".

If you use walletnotify, you can examine each transaction and compare the input and output sets to your 0 and -1 transactions, looking for a match.  If you see one, you can mark them as equivalent in your own system.

There has been some talk of making an immutable ID.  For all I know, it is already done and in the client.  The block chain requires that the signature be included in the ID hash, otherwise blocks would be impossible to verify (or at least harder).  And it is useful almost all of the time to present that same ID to the user.  But a signatureless hash can be useful too.
79  Bitcoin / Development & Technical Discussion / Re: signrawtransaction hex on: June 03, 2014, 12:50:50 PM
Again, your question is confused.

But, I promise you that your string will not change if someone else mutates your transaction.  If they re-serialize their version of your transaction, they will get a string different from the string you have, but your string will not have changed.  Unless you have a quantum computer, haha.

Note that their transaction and your transaction are not the same transaction.  They have the same inputs and the same outputs, but a different ID.  This is mostly a matter of philosophy though, because we've defined the transaction ID as the sole identifier of a transaction.  If we defined a transaction by their input and output sets, they would be the same.

This, by the way, is the core of the malleability problem.  If you track transactions by ID, you can end up having problems if someone manages to get a changed version of your transaction into a block instead of your version.  You must track by inputs, and you must be prepared for the ID to change between when you create it and when it is safely frozen into the chain.
80  Bitcoin / Development & Technical Discussion / Re: Stupid question re: "script," "unspent outputs," and the divisibility of bitcoin on: June 02, 2014, 11:45:04 PM
"coin" has many meanings.

A transaction creates "coins" as outputs, and the values of these outputs are granular (currently) in lumps of 0.000 000 01 "(bit)coins".

So, skip over the chicken/egg problem for a moment.  Say you have keys to 3 unspent outputs, 1 BTC, 2 BTC and 3 BTC.  You want to pay someone 4.5 BTC.  Your wallet creates a new transaction that spends the 2 BTC and 3 BTC "coins" and creates two new ones: 4.5 (sent to the recipient) and 0.5 (sent back to you).
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 195 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!