mthcl
|
|
September 20, 2015, 08:03:17 PM |
|
I ponder how full node maintenance is incentivized in this architecture, if at all.
To incentivize users mining on top of your transaction, you could add a fee to be taken by the confirmating tx. But to prevent orphaning wars, the maximum fee should be limited. DECOR+ is too expensive in terms of additional overhead to implement as per-transaction basis. And if tx fees are shared, txs would need to specify an additional payout address for accumulation of fees. That is not good for a txout-based ledger, because it generates too many spamming utxos. I can work for an account-based ledger. For example, if tx1 attach a fee of F, then the first confirmation tx gets F*0.4, the next one gets F*0.3, next 0.2, last 0.1. How does the network achieve consensus, on who was the first, who was the second, etc.?
|
|
|
|
dothebeats
Legendary
Offline
Activity: 3780
Merit: 1354
|
|
September 21, 2015, 01:57:27 AM |
|
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).
|
|
|
|
GingerAle
Legendary
Offline
Activity: 1260
Merit: 1008
|
|
September 21, 2015, 02:07:27 AM |
|
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".
|
|
|
|
dothebeats
Legendary
Offline
Activity: 3780
Merit: 1354
|
|
September 21, 2015, 02:28:30 AM |
|
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.
|
|
|
|
GingerAle
Legendary
Offline
Activity: 1260
Merit: 1008
|
|
September 21, 2015, 02:58:12 AM |
|
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.htmlthis 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...
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
September 21, 2015, 03:13:27 AM |
|
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
|
|
|
|
americanpegasus
|
|
September 21, 2015, 03:25:59 AM |
|
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.
|
Account is back under control of the real AmericanPegasus.
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
September 21, 2015, 03:46:40 AM |
|
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
|
|
|
|
dothebeats
Legendary
Offline
Activity: 3780
Merit: 1354
|
|
September 21, 2015, 04:20:11 AM |
|
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.
|
|
|
|
Smokeasy
Member
Offline
Activity: 140
Merit: 10
Decentralized Block-chain Voting
|
|
September 21, 2015, 04:58:04 AM |
|
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. Same here.
|
CryptoVoter
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
September 21, 2015, 11:59:21 AM |
|
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.
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
September 21, 2015, 02:17:25 PM |
|
Following.
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
September 21, 2015, 03:39:07 PM |
|
You mean upon spending by the recipient? 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.
|
|
|
|
jonald_fyookball
Legendary
Offline
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
|
|
September 21, 2015, 04:00:09 PM |
|
doesnt this have similarities to how the lightening network is supposed to work as far as transactions will have dependencies on other transactions?
|
|
|
|
americanpegasus
|
|
September 21, 2015, 11:19:57 PM Last edit: September 21, 2015, 11:50:29 PM by americanpegasus |
|
... 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.
|
Account is back under control of the real AmericanPegasus.
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
September 21, 2015, 11:39:55 PM |
|
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.
|
|
|
|
crazyearner
Legendary
Offline
Activity: 1820
Merit: 1001
|
|
September 22, 2015, 06:36:38 AM |
|
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?
|
|
|
|
monsterer
Legendary
Offline
Activity: 1008
Merit: 1007
|
|
September 22, 2015, 08:21:28 AM |
|
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.
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
September 22, 2015, 01:20:20 PM |
|
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.
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
tromp
Legendary
Offline
Activity: 990
Merit: 1110
|
|
September 22, 2015, 01:24:49 PM |
|
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.
|
|
|
|
|