Pages:
Author

Topic: DagCoin: a cryptocurrency without blocks - page 16. (Read 70882 times)

legendary
Activity: 2142
Merit: 1010
Newbie
September 22, 2015, 09:47:00 AM
#82
There have to be nodes. There have to be people listening for and forwarding transactions. Maintaining an internal model of the state of the network and forwarding its observations to those who request it.

Right, but consensus model doesn't require to assume anything about nodes.
legendary
Activity: 1008
Merit: 1007
September 22, 2015, 08:35:03 AM
#81
Wrong; blocks need timestamps in order to retarget the PoW difficulty.
Quoting from

https://en.bitcoin.it/wiki/Difficulty

"The difficulty is adjusted every 2016 blocks based on the time it took to find the previous 2016 blocks"

Blocks can lie only a little about their timestamp; if too far out of whack, the block
is not relayed.

Notice how the interval is large enough to make the massive errors in timestamp values insignificant? There is something like a 22 minute window of validity for timestamps in bitcoin. They're basically useless, except when dealing with them over a massive interval, such as in the retargeting.
legendary
Activity: 990
Merit: 1108
September 22, 2015, 08:24:49 AM
#80
There is no actual 'time' in any cryptocurrency, and any things you might find in blocks called 'time stamps' are not to be trusted because in a p2p environment, nodes lie. This is what satoshi solved in his paper - a time stamping algorithm called POW.

Wrong; blocks need timestamps in order to retarget the PoW difficulty.
Quoting from

https://en.bitcoin.it/wiki/Difficulty

"The difficulty is adjusted every 2016 blocks based on the time it took to find the previous 2016 blocks"

Blocks can lie only a little about their timestamp; if too far out of whack, the block
is not relayed.
legendary
Activity: 1722
Merit: 1217
September 22, 2015, 08:20:20 AM
#79
Ok, let me take a break and re-read this thread and see if I can make more sense of what you are saying.  

It's completely wrong. There is no nodes, there is no even time (transactions don't have timestamps), there is only work measured in hashes and conflicts are resolved by prioritizing variants having more PoW.

There have to be nodes. There have to be people listening for and forwarding transactions. Maintaining an internal model of the state of the network and forwarding its observations to those who request it.
legendary
Activity: 1008
Merit: 1007
September 22, 2015, 03:21:28 AM
#78
It's completely wrong. There is no nodes, there is no even time (transactions don't have timestamps), there is only work measured in hashes and conflicts are resolved by prioritizing variants having more PoW.

There is no actual 'time' in any cryptocurrency, and any things you might find in blocks called 'time stamps' are not to be trusted because in a p2p environment, nodes lie. This is what satoshi solved in his paper - a time stamping algorithm called POW.
legendary
Activity: 1820
Merit: 1001
September 22, 2015, 01:36:38 AM
#77
So hows the paper coming along on this? is their any news regarding this? Also hows the future looking for this project any news on current development at looking at a early alpha wallet and progression made into this becoming a reality?
legendary
Activity: 2142
Merit: 1010
Newbie
September 21, 2015, 06:39:55 PM
#76
Ok, let me take a break and re-read this thread and see if I can make more sense of what you are saying.   

It's completely wrong. There is no nodes, there is no even time (transactions don't have timestamps), there is only work measured in hashes and conflicts are resolved by prioritizing variants having more PoW.
hero member
Activity: 770
Merit: 504
September 21, 2015, 06:19:57 PM
#75
...  to verify that total of outputs doesn't exceed total of inputs.
 

Edit: Come From Beyond says in the next message that all this was wrong, so it's italicized so you don't waste your time.  


  
OK, I'm going to simplify some of your statements.  If my simplifications are inacurate, please feel free to correct me.  I am not an expert programmer or cryptographer.  Have you heard of the rubber duck approach to programming?  Consider me the rubber duck -  if it makes sense to me, you can rest assured the proposal is bullet proof.  
  
- Your system proposes to use a node based system vs. a decentralized one.  This way the system isn't just decentralized; it's self healing.  Even if you did significant damage to the network, the best you could achieve would be to fork it, not destroy it.... Vs a decentralized system which could have significant damage done to it if you took out the most important 10% of users.  
  
- Your propose a currency without blocks.  This means that instead of incorporating all new transactions into a new hash which will form the basis of a new block for all members of the network, you *instead* propose to have members broadcast transactions out to the 'system' (comprised of all other nodes).  
  
- The system works in such a way that nodes know their own balance, but do not reveal that balance to 'the system' until the choose to transact.  
  
- When they choose to transact, the system doesn't necessarily prioritize the amount the spent.  It prioritizes the person (node) they sent a transaction to.  
  
I am talking through this myself, so forgive me if anything I said was incorrect.  
  
I can only assume that without blocks, the method will have to somehow create a "living local understanding" of the system which incorporates transactions as it encounters them.  The method by which nodes secure the network is still based on cryptographic work, right?  Also, with the method you are proposing, if Node A broadcasts "I am sending outputs of 30 DAG to Node Z", Node Z (which is very distant to Node A on the network) can rely on that transaction being "confirmed" and respendable the moment it encounters it?  
  
Ok, let me take a break and re-read this thread and see if I can make more sense of what you are saying.  
  
legendary
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
September 21, 2015, 11:00:09 AM
#74
doesnt this have similarities to how the lightening network is supposed to work as far
as transactions will have dependencies on other transactions?
legendary
Activity: 2142
Merit: 1010
Newbie
September 21, 2015, 10:39:07 AM
#73
You mean upon spending by the recipient?   Huh

If yes...   I wonder how balances are determined in the meantime...   :curiositykilledthecat:

I mean that it's possible to implement the following:

Alice (10 DAG), Bob (40 DAG) and Charlie (50 DAG) pay to David (30 DAG), Eve (30 DAG) and Frank (40 DAG).

Alice, Bob and Charlie create 3 separate transactions that spend outputs of previous payment(s) and specify HASH(HASH(David=30), HASH(Eve=30), HASH(Frank=40)) as the beneficiary.

The system verifies that Alice, Bob and Charlie spent legit outputs, it knows only beneficiaryHash and can't guess even the number of the recipients.

David, Eve and Frank know only their own "publicKey=amount", about other recipients they know only that their total amount doesn't exceed 10+40+50-amount, none of the recipients know how many parties is actually involved (depends on the protocol used during beneficiaryHash calculation, number of parties may be known).

After a while (say, 3 years) Eve may want to spend her 30 DAG, in this case she has to reveal "Eve=30", "HASH(David=30)" and "HASH(Frank=40)". I wrote "HASH(Frank=40)" but actually it can be "HASH(HASH(Joe=20), HASH(Ian=15), HASH(Hillary=5))", we don't know until Frank or Joe, Ian and Hillary try to spend the coins.

At this point the system knows only that 3 years ago Eve got 30 DAG from Alice, Bob and/or Charlie.


PS: Pay attention that beneficiaryHash may correspond to "Eve=500000000", in this case her transaction will be rejected. Also, Eve can't do "Eve=100" to claim all the coins because there is a protocol that allows to verify that total of outputs doesn't exceed total of inputs.
legendary
Activity: 1722
Merit: 1217
September 21, 2015, 09:17:25 AM
#72
Following.
legendary
Activity: 2142
Merit: 1010
Newbie
September 21, 2015, 06:59:21 AM
#71
 
I need to hear a bulletproof ELI5 explanation for how a node-based currency will work and prevent double spends and Sybil attacks before I can even begin to consider it as a real thing.  

I will try to do it later, for now I'll leave a bold claim just to make your brain to analyse this in the background:

It is possible to do payments to a hash without specifying the output amount(s) which will be revealed only upon spending.
member
Activity: 140
Merit: 10
Decentralized Block-chain Voting
September 20, 2015, 11:58:04 PM
#70
The idea presented on to this post is enough for me to research further on a 'block-less' cryptocurrency. Everything is new to me, including the "Five Room House Puzzle" linked here by americanpegasus. Though some of the words here presented are unfamiliar to me, I'm grasping some pretty interesting ideas.

Thanks to all who posted after me and gave some explanations regarding the matter. Will watch this thread to see how it progresses. Smiley

Same here.
legendary
Activity: 3542
Merit: 1352
September 20, 2015, 11:20:11 PM
#69
The idea presented on to this post is enough for me to research further on a 'block-less' cryptocurrency. Everything is new to me, including the "Five Room House Puzzle" linked here by americanpegasus. Though some of the words here presented are unfamiliar to me, I'm grasping some pretty interesting ideas.

Thanks to all who posted after me and gave some explanations regarding the matter. Will watch this thread to see how it progresses. Smiley
legendary
Activity: 1176
Merit: 1134
September 20, 2015, 10:46:40 PM
#68
I don't exactly know how the pure DAG approach would deal with double spends (i.e., I sign a transaction on my local PC, the transaction begins propagating the network... 20 ms later I log into some machine on the other side of the world using the same output but sending somewhere else)... now you have the same output in two different branches in the DAG, and from what was presented, I didn't pick up a mechanism to 100% say "this is the right one". I mean, perhaps a timestamp could be used.
 
  
This.  
  
I need to hear a bulletproof ELI5 explanation for how a node-based currency will work and prevent double spends and Sybil attacks before I can even begin to consider it as a real thing.  
  
It almost feels like this is the crypto equivilant of the Five Room House Puzzle.  At first glance you think that a solution might be difficult, but possible -- but in fact it is a completely impossible mathematical task.  
  

what if we changed blocks to have a one tx limit? would that make the blockchain impossible?

just like with a blockchain having forks and reorgs, a txnet will also have the same property. The answer is to wait more than 20 milliseconds before accepting a transaction. Without blocks doesnt mean without confirmations. As time passes, the txnet reaches eventual consensus, just like the blockchain that has more than one tx per block.

there are more overall reorgs needed as the txnet propagates each transaction instead of a block of them, but this is nothing fundamentally different in a qualitative sense. One big problem is that there wont be anyway to debate about blocksizes when there are no blocks

James

I dont see how  a one tx block vs normal blocks has any significant difference as far as sybil resistance goes. each tx will be signed by the one spending the output and in a txnet once that is broadcast to the network, then it will eventually propagate. it decentralizes the block
hero member
Activity: 770
Merit: 504
September 20, 2015, 10:25:59 PM
#67
I don't exactly know how the pure DAG approach would deal with double spends (i.e., I sign a transaction on my local PC, the transaction begins propagating the network... 20 ms later I log into some machine on the other side of the world using the same output but sending somewhere else)... now you have the same output in two different branches in the DAG, and from what was presented, I didn't pick up a mechanism to 100% say "this is the right one". I mean, perhaps a timestamp could be used.
 
  
This.  
  
I need to hear a bulletproof ELI5 explanation for how a node-based currency will work and prevent double spends and Sybil attacks before I can even begin to consider it as a real thing.  
  
It almost feels like this is the crypto equivilant of the Five Room House Puzzle.  At first glance you think that a solution might be difficult, but possible -- but in fact it is a completely impossible mathematical task.  
  
legendary
Activity: 1176
Merit: 1134
September 20, 2015, 10:13:27 PM
#66
the block is a wrapper that helps to synchronize the global state, but it isnt actually required and creates a set of problems that a pure txnet wouldnt have.

it just takes more work to make a transaction explorer vs block explorer and of course to achieve consensus in reasonable time.

but a properly designed consensus system should achieve similar "eventual consensus" that blocks achieve

James
legendary
Activity: 1260
Merit: 1008
September 20, 2015, 09:58:12 PM
#65
Interesting. I wonder how would I check transactions myself if blocks aren't available. Just read the whole thing and it actually caught my attention. First time for me to hear a cryptocurrency without having to rely on blocks (which was the common feature that almost all cryptocoins have).

I think, theoretically, you would still be able to check transactions... they're just not necessarily in blocks - they are in this ever growing DAG "chain". But, as OP pointed out, some of the fundamental conceptual hurdles are "what do we mean by consensus" and "the current state of the ledger".

So there will be an available transaction parser, and we could actually check our transactions (though they are not included in blocks of data, which I was used to). I'm still puzzled on how would this thing work. First time to hear such a 'block-less' chain and cryptocurrency.

For me, the thing that helped me put it all together was this document which explains directed acyclic graph:

http://ericsink.com/vcbe/html/directed_acyclic_graphs.html

this explains it in terms of version control... but version control is essentially cryptocurrency to some degree. I don't exactly know how the pure DAG approach would deal with double spends (i.e., I sign a transaction on my local PC, the transaction begins propagating the network... 20 ms later I log into some machine on the other side of the world using the same output but sending somewhere else)... now you have the same output in two different branches in the DAG, and from what was presented, I didn't pick up a mechanism to 100% say "this is the right one". I mean, perhaps a timestamp could be used.

What I brought to the table I think was slightly different but similar... where there are still blocks, but a solution can only be found for a block if the worker puts a transaction in the block... and each transaction is an attempt to find a block. Hrm, there'd be psych-economical factors here though.... i may diagram this out...
legendary
Activity: 3542
Merit: 1352
September 20, 2015, 09:28:30 PM
#64
Interesting. I wonder how would I check transactions myself if blocks aren't available. Just read the whole thing and it actually caught my attention. First time for me to hear a cryptocurrency without having to rely on blocks (which was the common feature that almost all cryptocoins have).

I think, theoretically, you would still be able to check transactions... they're just not necessarily in blocks - they are in this ever growing DAG "chain". But, as OP pointed out, some of the fundamental conceptual hurdles are "what do we mean by consensus" and "the current state of the ledger".

So there will be an available transaction parser, and we could actually check our transactions (though they are not included in blocks of data, which I was used to). I'm still puzzled on how would this thing work. First time to hear such a 'block-less' chain and cryptocurrency.
legendary
Activity: 1260
Merit: 1008
September 20, 2015, 09:07:27 PM
#63
Interesting. I wonder how would I check transactions myself if blocks aren't available. Just read the whole thing and it actually caught my attention. First time for me to hear a cryptocurrency without having to rely on blocks (which was the common feature that almost all cryptocoins have).

I think, theoretically, you would still be able to check transactions... they're just not necessarily in blocks - they are in this ever growing DAG "chain". But, as OP pointed out, some of the fundamental conceptual hurdles are "what do we mean by consensus" and "the current state of the ledger".
Pages:
Jump to: