Bitcoin Forum
April 27, 2024, 03:09:08 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Why are blocks hashed? on: December 18, 2013, 06:21:58 PM
I think I understand that addresses are hashed to compress massive coprimes.

I think I understand that transactions are hashed for the same compression motivation but also to keep the encrypted content more random thus more secure.

I can't figure out why blocks are hashed and can find no explicit motivation in the Satoshi paper, wiki, or here.

Are blocks hashed only to slow verification thus reward release rates?  If not, why?

Thank you so much in advance!
2  Alternate cryptocurrencies / Altcoin Discussion / Re: SmallChange [research-only] [Litecoin based] [15 seconds blocks] [*update now*] on: December 18, 2013, 02:16:27 AM
I think this was a great experiment with lots of valuable data, and I've used it to learn a lot about high speed transaction verification.

I want to conduct my own experiment.

Could someone please show me what to change in the code to set a 1 second block solution time?

Thank you so very much in advance!
3  Alternate cryptocurrencies / Altcoin Discussion / Re: "Proof of Presence" experiment on: December 17, 2013, 11:22:53 PM
Thank you refer_2_me for contributing!

I can't help you with code, but I'm pretty sure that what you said won't help because by default, the bitcoin wallet uses a fresh address each time it mines a block.

I apologize since I don't fully understand and probably wasn't clear.  I'm referring to the address used for fees & rewards.  Is that the address you are referring to?

Thank you so much in advance!
4  Bitcoin / Development & Technical Discussion / Re: Proof of Presence? on: December 17, 2013, 10:57:31 PM
Thank you amincd for continuing to educate me!


As I understand, it can be determined who mined a block by the address used for the fee & reward payments,

The miner can use a different address for each reward payment so this won't allow others to link blocks created by a single party.

Please excuse me, as I am slow sometimes, but I don't think I understand.  Are you confirming that no two consecutive blocks can be mined by the same address?  If not, would you mind expanding on that statement so that I can better understand why not?

Are you also saying that multiple miner addresses can be used for 1 block?  Is it different for rewards vs fees?

I very much appreciate your patience and knowledge and thank you so very much in advance!
5  Bitcoin / Development & Technical Discussion / Re: Proof of Presence? on: December 17, 2013, 10:06:15 PM
I am also going to try to do an experiment to test the viability of this method.

I would very much appreciate any assistance anyone provides.
6  Bitcoin / Development & Technical Discussion / Re: Proof of Presence? on: December 17, 2013, 09:59:45 PM
Thank you so much for participating amincd!

I wasn't able to understand how your proposed "Proof of Presence" system would work. Given there's no way to identify the creator of a block, there would be no way to know when consecutive blocks are created by single party. If you can explain how other network participants would know who is creating the blocks, I would appreciate it.

Please bear with my limited understanding.

As I understand, it can be determined who mined a block by the address used for the fee & reward payments, and this is how Proof of Stake is enforced.  If this is not correct, please educate me on how Proof of Stake is enforced.

I realize that a miner/pool can use multiple addresses and would love advice on how to thwart that as well, but at least the cost to attack with secret chains is increased by some amount, I assume.

Thank you so much in advance for your knowledge!
7  Alternate cryptocurrencies / Altcoin Discussion / "Proof of Presence" experiment on: December 17, 2013, 09:27:10 PM
I would like to test the viability of Proof of Presence to thwart secret chain attacks in a high transaction verification speed environment.

Could someone please show me where in the Peercoin code Proof of Presence should be added and where to drop the verification time to 1 second?  I am a complete noob to cryptocurrency code, but have been programming for decades, so I really just need a quick kickstart...I think.

For reference: "Proof of Presence" in the simplest form rejects consecutive blocks verified by the same miner's address used for rewards & fees.

Thank you to whoever so much in advance!
8  Bitcoin / Development & Technical Discussion / Re: Proof of Presence? on: December 17, 2013, 08:39:13 PM
Thank you so much for contributing amincd!

Proof of Stake could be combined with Proof of Work to make a >50% attack more difficult:

http://gavintech.blogspot.ca/2012/05/neutralizing-51-attack.html

Abandoning a pure Proof of Work consensus arrival process has some pretty big disadvantages however.

I apologize for giving the impression that I support abandoning Proof of Work.  I have seen the arguments for a hybrid PoW/PoS system, and I wholeheartedly agree.

Would you mind giving your opinion on the viability of "Proof of Presence" combined with PoW/PoS to thwart secret chain attacks for high transaction verification speeds?

If it is too weak in its rawest form, forbidding consecutive blocks verified by a single address, could you give a suggestion on a more complex version?

Thank you so much in advance for helping me to understand this problem!
9  Bitcoin / Development & Technical Discussion / Re: Proof of Presence? on: December 17, 2013, 08:32:32 PM
Thank you so much gglon for continuing to educate me!

Could it work to any degree if it was combined with Proof of Stake?
It could. But it would undermine the basics of bitcoin economy.

Would you mind elaborating on how it would undermine the economy please?  I am still quite uninformed on the intricacies of bitcoin.

Thank you so much in advance!
10  Bitcoin / Development & Technical Discussion / Re: Proof of Presence? on: December 17, 2013, 08:00:39 PM
Could it be possible to thwart secret chains by forbidding consecutive block verifications by a single mining address or something more complex?
No, that is not possible. Every such a mean can be easily circumvented. Especially if you can make use of virtually every single participating miner's PC. Centralization of mining pools which gain a slight advantage in terms of latency is something we need to prevent. I think the best method right now is just to educate the miners how potentially dangerous such centralization is.


Thank you gglon for your reply!

Could it work to any degree if it was combined with Proof of Stake?
11  Bitcoin / Development & Technical Discussion / Proof of Presence? on: December 17, 2013, 07:12:40 PM
Could it be possible to thwart secret chains by forbidding consecutive block verifications by a single mining address or something more complex?

It seems that if bad actors were forced to find and incorporate others' verified blocks in a chain, it would be more costly for them to attempt this kind of double spend attack in a high verification speed environment.

I realize that pools can simply use multiple addresses, but with payout thresholds, the threshold effectively doubles because of the use of two addresses.

Could some more elaborate rule based upon this concept be employed to thwart this kind of attack?
12  Other / Beginners & Help / Re: What exactly is the problem with a low verification time? on: December 17, 2013, 03:25:44 AM
Thank you for contributing samsam!

I am not convinced there is a "problem" with low confirmations times. Litecoin has a 2.5 min confirmation time and it seems to work just fine. Sure, confirmation times of less than 1 min are going to be problematic, but anything above 1 min seems fine. Thus, this talk of "problems" with low confirmation times seems academic and totally theoretical.

I think you can find evidence of the issues involved with a high-speed transaction crypto at the SmallChange experiment.

 https://bitcointalk.org/index.php?topic=182430.0

I do not come close to having the technical expertise to pinpoint what the problem actually was, but it does seem that some miners had the problem that Anon136 predicted.

Economically speaking, I think that the availability of instantaneous transactions are necessary for the total displacement of traditional currencies by cryptocurrencies.

I think I may have a solution to make difficulty more flexible and based upon the relative needs for speed & confidence.  I would very much appreciate your input!

https://bitcointalk.org/index.php?topic=373385.msg3995296#msg3995296

Would you mind posting a solution to this thread's problem at the highest speeds if you have one?  Thank you so much in advance!
13  Other / Beginners & Help / Re: What exactly is the problem with a low verification time? on: December 17, 2013, 03:12:32 AM
Thank you so much for continuing to help me with this Anon136!


The truth is i know a lot more about bitcoin than i do peercoin. So im really moving out of my comfort zone here. I'm really not sure if a hybrid model is more secure. It is my understanding that POW was used to get a reasonably homogeneous and fair initial distribution of currency and that the ultimate goal for peercoin is to eventually phase out POW entirely. Peercoin sort of relies on the idea that anyone who controls a large stake will have more to lose from a doublespend than to gain since the doublespend would reduce the value of his stake and anyone who controls a small stake will not be able to produce more than a single block at a time. Still I see some problems with this idea. What if the owner used his stake to buy a put option right after the doublespend? what if he is even more heavily invested in an alternative currency that would absorb a large portion of the capital exodus from peercoin? what if he can liquidate his stake before news spreads of the doublespend? If however peercoins security model is fundamentally sound than you should be able to get pretty fast and secure confirmations.


This is why I was thinking that a hybrid PoW/PoS would be superior to either/or, just to make it that much costlier for a miscreant.  

Actually, I would prefer as many valid Po's as possible.


there would be no way to determine whether two block authors were actually the same person.


Can't the same technique that verifies PoS be used for PoP?


i have been thinking about this a lot and i do think i have solved the problem of waiting for secure confirmations but its rather complicated to explain here. I made a thread about it but there were some problems in my initial outline. problems that i now think i have solved. maybe ill go back and try to update this thread to reflect that fact.


Please do!  I personally can never get enough security.

Would you mind too terribly taking a look at my post in altcoins?  My expertise lies more in economics, so your gracious advice would be invaluable!  

https://bitcointalk.org/index.php?topic=373385.msg3995296#msg3995296
14  Other / Beginners & Help / Re: What exactly is the problem with a low verification time? on: December 17, 2013, 01:15:12 AM
Again Anon136, thank you so much for educating me!


Ok so the extent to which peercoin still uses proof of work is the extent to which this will still be a problem. I really think sonny king should have put the phasing out of the proof of work on a hard timeline but hindsight and what not.


You think that Peercoin should be PoS instead of the hybrid PoW/PoS model (I presume) it's currently working on?  I had heard that the hybrid model was more secure.  Is that not true?  If not, could you please explain why?


Ok so yea there are other problems with orphan blocks. So the bottleneck in how many transactions we can put in a block is not the block size being stored on peoples hard drives (as is the common misconception) it's how many transactions a miner can download. If we have regular orphan blocks, lets say 2/3 of all blocks a miner downloads are orphan blocks than the network can only reliably record 1/3 as many transactions as if the miner were downloading 0 orphan blocks since 2/3 of everything he downloaded is just garbage.


Double thank you!  I had wondered if this was an issue with low transaction verification times.  Thank you so much for confirming this!


If you have TOO many orphan blocks than that can turn into a calamity. No miner can reasonably be expected to check all of the chains floating around so some totally honest miners would end up mining on a chain that isnt the longest because they simply hadnt checked all of the chains and hadnt located the one thats actually the longest. You could end up with a situation where honest nodes were doing the exact same thing that everyone fears dishonest nodes may do, saving up a secret chain and publishing it later. This would make confirmations unreliable, potentially even MANY confirmations could be unreliable, you could have 60 confirmations on 1 minute blocks and suddenly your client finds an even longer chain that that which was incubating hidden on some dank dark corner of the network.


Triple thank you!  I can't express to you my gratitude for you clearing up these issues for me with in depth explanation!  I've been trying to get to the bottom of this for days.

So the only way to be a successful miner for a low transaction time crypto is to check all available chains?

Also, if a miner was to save up and then publish the longest, is there no way to thwart this?  Could a miner only be allowed to add no more than one block to the chain in a row?  "Proof of presence" or something?   Tongue


Ok so about that post. Let me use an example. Imagine that we have A who is a single person and B who is a group of 10 people. Lets say they have the same hashing power. Lets say that it takes 10 seconds to propagate a block across the whole network. Lets say the block time is 20 seconds. Lets say that a is an attacker who wants to save up his own chain and publish it later inorder to double spend. A starts mining, in 20 seconds he produces his first block, 20 seconds from then he produces his second block ect... after 10 minutes he has produced 30 blocks. Now lets compare the group of 10. Group B are all honest. after 20 seconds the first block is created by B_1. B_1 publishes his block and after 10 seconds the rest of group b has the new block. They all start mining on it, after 20 seconds one of them finds the next block and he publishes it, after 10 seconds the rest of the group gets it and they start mining on it. ect... So we see that after 10 minutes group B has produced only 20 blocks. Even though group b has the exact same amount of hashing power as A they just cant compete. You can keep pushing this further. Imagine if it took 10 seconds to propagate a block across the network and the block time was 10 seconds. In this network if you had one dishonest miner with 1GH/s and 1 million honest actors with 0.75Gh/s each, his 1GH/s could over power all 1 million of them.


Thank you for the real world examples!  That's really the only way I can hope to understand.

Could this attack not be thwarted with PoS and "proof of presence"  Tongue as outlined above?

Can you think of any other security feature that could break this down or at least reduce the risk to some sort of tolerable level?

Thank you Anon136 for your tutelage! 
15  Alternate cryptocurrencies / Altcoin Discussion / Instant or Fully Confident Inverse Fisher Index Supplied Crypto on: December 16, 2013, 05:45:05 PM
Please rip apart this idea, but please also explicitly detail the reasoning behind your critique with evidence if possible.  Please do not comment on the economic assumption that the quantity theory of money is more or less correct, but please comment on the ideal rate that it should be calculated with detailed explanations for your reasoning: rolling as available, rolling 24 hours, rolling hours, rolling instants, or decreasing intervals as popularity thus data increases.

I'm not looking to personally profit from this but will work on it until someone else beats me, an easy feat.

My qualifications

I'm about a week young at studying cryptocurrencies, have been programming for a few decades, and have studied economics for about a decade.

Flattery

It is my opinion that cryptocurrencies are on the road to totally displacing conventional national currencies.  I believe that all involved, even malicious miners, have worked to make cryptocurrencies more superior by the day.  I believe that cryptocurrencies will soon be closer to the ideal currency, totally secure cheap fast stable & ubiquitous, than conventional currencies, so I'd like to contribute my small knowledge to that effort.

General Idea

I think cryptos should be able to provide both instantaneous transactions and high confidence transactions for small rapid purchases like in a rush at a vending machine and large slower transactions like bank to bank clearing a billion USD equivalent respectively, and I think that the way to achieve stability is by setting price inflation to 0%.

Mining no longer issues new supply

I think the supply of the crypto should be exclusively determined by price inflation, detailed next.  To that end: there should be no rewards for mining, but a transaction should be rejected if the fee is not > 0.

Total stability through 0% price inflation

I think this can be effected by including Fisher Index data, quantity per unit price & good/service identifier, into the transaction, and applying a currency multiplier, the inverse of the Fisher Index, indicating at what rate all account values should be multiplied.  My concerns are the obvious: how can the master list of the goods/services identifiers be maintained, and how can the price reporting be made honest?  I think but am unsure that using the hybrid PoW/PoS model that Peercoin does could make dishonesty costly since one must become a large holder to manipulate the supply at low cost: there is no reward for mining, transaction fees are > 0 so probably goes to someone else if one's stake is small, only a large % of total transaction value can manipulate the Fisher Index thus the supply.  Also, any benefit a price manipulator gleans for oneself is also distributed to every other holder equally, so someone wishing to get more coins by falsifying a price deflation would get them at the exact same rate as everyone else, nullifying any advantage over other holders.  

Total price stability could be where cryptos begin to exceed traditional currencies in traditional quality, and I would be ecstatic if every crypto adopted it.  Assuming that the price reporting is correct on average, the currency could correct itself instantaneously.  This is impossible with banknotes and metal coins but could happen somewhat if monetary authorities gathered debit & credit transactions.  With cryptos, there are no banknotes, so the price inflation could be always calculated from the start.  I confess I'm unsure at what rate the index should be calculated, but the interval could be as low as the data provides.  Seconds? Deciseconds?  While some part of me believes that rolling 24 hours would capture all of the daily fluctuations, another part tells me that velocity & production would become more constant at higher frequencies allowing for a closer link between supply & prices, and please comment on how to make the price reporting system more secure.

Varying transaction verification speed & confidence through user-defined difficulty

Since mining no longer creates new supply, difficulty is now unlinked from creation rates.

In the real world, a bartender doesn't necessarily check for counterfeiting especially on a busy night on every bill, but a bank will employ a complex clearing process to determine that a one million USD wire transfer is legitimate before permitting a withdrawal.  To give the kind of transactional flexibility that traditional currencies have, should it be effected with a sender-defined difficulty?  Since difficulty is no longer linked to creation rates, should it be instead linked to transaction speed or confidence?  If the user wants a beer, they set the difficulty low for a quick confirmation.  If the user wants to buy an island, they set the difficulty to some extraordinary height.

"Proof of presence" to thwart secret chains on high speed verification

It has been explained to me that with high speed verification, malicious miners can hold back chains, and then publish them so to double spend etc.  I think that by using the same underlying methods as proof of share, that I'm calling "proof of presence" for expediency's sake, miners could be further prevented from monopolizing the blockchain thus this type of attack by forbidding consecutive blocks.

I'm sure this could be enhanced by someone with more expertise than me, but I think this could at least add a small amount of cost to this kind of attack.

Summation

I think a cryptocurrency can be created with total stability and transaction flexibility, with varying preference for speed or confidence by:
  • Issuing/retracting supply not by mining but by a price index
  • Allow senders to determine a transaction's difficulty to trade-off between speed and confidence
  • Make transaction fees mandatory
  • Prevent consecutive block additions by a single account to dampen the risks of high speed verification

Final appeal

I am still fuzzy on the technical aspects of cryptocurrencies, so please correct any technical idea.  Please explicitly state how the protocol should be effected to achieve the above.  

I also understand that the price index is wide open to manipulation and will remain a huge risk, so any suggestion on how to make the reporting more secure would be appreciated.

Actual code is more than welcome!
16  Other / Beginners & Help / Re: What exactly is the problem with a low verification time? on: December 16, 2013, 06:25:36 AM
Thank you Anon136 for that education!

OK, assuming for the purposes of this question that more centralization is not a concern or that it can be sufficiently thwarted with Peercoin's hybrid proof-of-stake/proof-of-ownership model, are there any other problems for the senders/receivers?

Does the system inherently break down because of the many orphan blocks?  I have heard this is the case but not the explanation why.

The failure of currencies such as Smallchange and Mincoin have been cited as practical examples of the limitation of high speed verification, but I can find nothing that blames the verification speed itself, only bad support or ill-prepared and ill-executed protocol updates.

Can a cryptocurrency with a high verification speed succeed in terms of security and reliability?

Also, saw some of your posts on SmallChange.  Thank you for the information!  Could you go into detail on this?  https://bitcointalk.org/index.php?topic=182430.msg1912491#msg1912491  Why do confirmations give no security at all?

Also, how is the 20%er able to create his own chain?  Won't the rest of the network see that his verifications are false?  https://bitcointalk.org/index.php?topic=182430.msg1922820#msg1922820
17  Other / Beginners & Help / Re: What exactly is the problem with a low verification time? on: December 16, 2013, 05:12:36 AM
i'm not agree.

Please explain why.
18  Other / Beginners & Help / What exactly is the problem with a low verification time? on: December 16, 2013, 04:50:45 AM
It's been explained to me elsewhere that a low verification time increases the amount of orphan blocks.
How?
Why?

Does this type of network inherently fail?
If so, why?

Are there costs associated to a cryptocoin with lots of orphan blocks?
What are they?
Why?

Are lots of orphan blocks a nuisance that clogs up miners' networks and systems, or do they actually prevent a cryptocoin from succeeding?
Why?
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!