Author

Topic: IOTA - page 684. (Read 1473233 times)

full member
Activity: 224
Merit: 100
★YoBit.Net★ 350+ Coins Exchange & Dice
February 04, 2016, 05:15:35 PM
Hey, guys and gals. I'd like to get your feedback on the following:

In it's current implementation Iota's ledger is based on inputs and outputs like Bitcoin. There is another way - balances of accounts like in Nxt and Ethereum.

Now I see that if Iota used the latter it would be more efficient because:
1. No need to send the change back to myself which makes the tangle smaller
2. A lot of dust inputs could be spent with a single payment and this would be more secure because every address reuse leaks the private key
3. A new address wouldn't be needed for every incoming payment (this would make acceptance of Iota donations simple, in the current design it's PITA for humans)
4. Off-tangle payments would become simpler
5. RAM requirement for full nodes would be relaxed

The only problem that might arise in balance-based Iota is worse consensus convergence, but after analyzing the issue I don't see what could break.

I'm thinking if it's worth to do a little redesign that could take few days of extra work...

Redesign is fine. Take your time, thanks for all your work here! Smiley
rlh
hero member
Activity: 804
Merit: 1004
February 04, 2016, 05:06:17 PM
To be clear, if my above analysis is correct, I agree with using balance method instead of signing every tangle transaction associated with an account.
rlh
hero member
Activity: 804
Merit: 1004
February 04, 2016, 05:05:30 PM
I get it.  An address can accumulate multiple payment receipts, but as soon as it "spends" any funds, a new recipient address will get the remaining balance.  This means there is no long ledger of +/- balances that will need to be resolved.

In such a case, point #1 and 3 which you outlined above are no longer true.  You must always send your remaining balance (even if not calculated*) back to a new address.

This could also mean that the following payment system could be used.

Alice receives 5 transactions into account X.

T1 = 100
T2 = 100
T3 = 100
T4 = 100
T5 = 100

She want's to send 250 IOTA to Bobs address (Y), so she makes a transaction that sends 250 IOTA from X to Y and all remaining balance goes to account X' (Alices new account.)

Any node that receives this transaction only needs to see at least 3 of the above transactions in Alices X account transaction chain.  If that's the case, even though the total balance on a node could be incorrect, the transaction can still be verified.  The node will only assume that X.Total-250 will be forwarded to Alices new account (X').  

Later, if Alice attempts to send the remaining 250 IOTAs from X', these nodes will only then have to look for former, missing transactions.

I like this.  This feels solid and allows for a users balance to never be fully known.  You can know at least how much they have, but you can never guarantee the total value of their wallet.
legendary
Activity: 2142
Merit: 1009
Newbie
February 04, 2016, 04:51:34 PM
How will transactions be resolved/confirmed.  Alice sends two payments to two separate regions of the network.  Which transaction will be eliminated, assuming they are both the same, except for some nonce value?  This is likely a problem with the other approach, but at least if a sender engages with any funny business, creating multiple transactions referencing the same, earlier payment receipt transactions, the account can be flagged/black listed more readily.

Using the balance method, detecting this type of monkey business wouldn't be as fast.

If we prohibit address reuse then balance method becomes indistinguishable from input method...

Only one of the transactions will be legit, the one with more PoW tied to it. Just like in Bitcoin.
legendary
Activity: 2142
Merit: 1009
Newbie
February 04, 2016, 04:46:20 PM
If you were to set a rule that only one of the txs is allowed at a time, how long till no ambiguity/consensus on the new balance?  Such rule might not be practical, but I'm still curious.  Smiley

Hard to say without modelling.
rlh
hero member
Activity: 804
Merit: 1004
February 04, 2016, 04:04:17 PM
@CfB

That's what I thought.  I assume this means that if Alice sends a payment transaction to Bob's node and if Bob sees that Alice doesn't have the balance, Bob will request form his neighbor's all transactions for Alice that she's sent and received.

Correct?

Yes.

How will transactions be resolved/confirmed.  Alice sends two payments to two separate regions of the network.  Which transaction will be eliminated, assuming they are both the same, except for some nonce value?  This is likely a problem with the other approach, but at least if a sender engages with any funny business, creating multiple transactions referencing the same, earlier payment receipt transactions, the account can be flagged/black listed more readily.

Using the balance method, detecting this type of monkey business wouldn't be as fast.
legendary
Activity: 2142
Merit: 1009
Newbie
February 04, 2016, 03:55:18 PM
@CfB

That's what I thought.  I assume this means that if Alice sends a payment transaction to Bob's node and if Bob sees that Alice doesn't have the balance, Bob will request form his neighbor's all transactions for Alice that she's sent and received.

Correct?

Yes.
rlh
hero member
Activity: 804
Merit: 1004
February 04, 2016, 03:50:33 PM
@CfB

That's what I thought.  I assume this means that if Alice sends a payment transaction to Bob's node and if Bob sees that Alice doesn't have the balance, Bob will request form his neighbor's all transactions for Alice that she's sent and received.

Correct?
legendary
Activity: 1418
Merit: 1002
February 04, 2016, 03:49:53 PM
Hey, guys and gals. I'd like to get your feedback on the following:

In it's current implementation Iota's ledger is based on inputs and outputs like Bitcoin. There is another way - balances of accounts like in Nxt and Ethereum.

Now I see that if Iota used the latter it would be more efficient because:
1. No need to send the change back to myself which makes the tangle smaller
2. A lot of dust inputs could be spent with a single payment and this would be more secure because every address reuse leaks the private key
3. A new address wouldn't be needed for every incoming payment (this would make acceptance of Iota donations simple, in the current design it's PITA for humans)
4. Off-tangle payments would become simpler
5. RAM requirement for full nodes would be relaxed

The only problem that might arise in balance-based Iota is worse consensus convergence, but after analyzing the issue I don't see what could break.

I'm thinking if it's worth to do a little redesign that could take few days of extra work...

I'd prefer balances, but dont think most people are qualified myself included to make that judgement call without fully understanding the security/technical impact it could have.


legendary
Activity: 1344
Merit: 1000
February 04, 2016, 03:48:50 PM
In case of either ... or and if you sure only 98% percent I will join rlh club - it just does not feal right for probability model via deterministic blockchain.
legendary
Activity: 2142
Merit: 1009
Newbie
February 04, 2016, 03:42:00 PM
Explain.

2 branches of the backend. One with inputs and another with accounts.
full member
Activity: 225
Merit: 100
February 04, 2016, 03:40:26 PM
David said genesis would be this weekend, so 48hrs

Perhaps there is a confusion somewhere. The genesis was ready last week, only frontend beta testing is scheduled/ETAed for this weekend, which is basically just playing with all dialog windows because actual transaction sending requires back-end to be on beta stage too.

In which case this message has propagated through the network and many were expecting genesis this weekend.

Since you weren't gonna launch this weekend then I suggest u make your improvements

I also suggest we launch this badboy ASAP

You want community buzz? You will get a truckload after genesis brother
rlh
hero member
Activity: 804
Merit: 1004
February 04, 2016, 03:39:56 PM
Sorry to decent, but I'm going to have to go with my gut and vote no. I may have to re-read over the Tangle whitepaper and think about this a few times but my gut is quite well at spotting causes of bugs, loopholes, errors and exploits...

I love the idea of a balance based system and I've obviously seen it at work (with Nxt and Qora.)  But in regards to a Tangle, it just doesn't feel right...  I just think this can be exploited on a well orchestrated, well thought out double-spend attack.

Maybe we could go the both routes...

Explain.
legendary
Activity: 2142
Merit: 1009
Newbie
February 04, 2016, 03:37:19 PM
Sorry to decent, but I'm going to have to go with my gut and vote no. I may have to re-read over the Tangle whitepaper and think about this a few times but my gut is quite well at spotting causes of bugs, loopholes, errors and exploits...

I love the idea of a balance based system and I've obviously seen it at work (with Nxt and Qora.)  But in regards to a Tangle, it just doesn't feel right...  I just think this can be exploited on a well orchestrated, well thought out double-spend attack.

Maybe we could go the both routes...
legendary
Activity: 2142
Merit: 1009
Newbie
February 04, 2016, 03:35:41 PM
David said genesis would be this weekend, so 48hrs

Perhaps there is a confusion somewhere. The genesis was ready last week, only frontend beta testing is scheduled/ETAed for this weekend, which is basically just playing with all dialog windows because actual transaction sending requires back-end to be on beta stage too.
legendary
Activity: 1344
Merit: 1000
February 04, 2016, 03:34:12 PM
Can you explain the potential problem.  What do you mean by worse consensus convergence, in this case?

If a balance is 100 IOTA and there are two payments - for 70 and 80, then which one to accept as legit? With input/output system ambiguity is impossible.

Sorry to decent, but I'm going to have to go with my gut and vote no. I may have to re-read over the Tangle whitepaper and think about this a few times but my gut is quite well at spotting causes of bugs, loopholes, errors and exploits...

I love the idea of a balance based system and I've obviously seen it at work (with Nxt and Qora.)  But in regards to a Tangle, it just doesn't feel right...  I just think this can be exploited on a well orchestrated, well thought out double-spend attack.

Yeap. You must be 100% sure about security/correctness of new design to risk the whole consensus/project.
full member
Activity: 225
Merit: 100
February 04, 2016, 03:28:57 PM
48 hrs before genesis and this?
I'm not saying its a bad idea but it is frustrating that this comes up now.
You've been working this for a year... this should have already been done in prep
Im gonna have to say NO, assuming the suggested improvement can come in a fork.

Genesis this weekend as planned imo.

Genesis is ready. What do you mean by "48 hrs"?

David said genesis would be this weekend, so 48hrs
rlh
hero member
Activity: 804
Merit: 1004
February 04, 2016, 03:28:06 PM
Can you explain the potential problem.  What do you mean by worse consensus convergence, in this case?

If a balance is 100 IOTA and there are two payments - for 70 and 80, then which one to accept as legit? With input/output system ambiguity is impossible.

Sorry to decent, but I'm going to have to go with my gut and vote no. I may have to re-read over the Tangle whitepaper and think about this a few times but my gut is quite well at spotting causes of bugs, loopholes, errors and exploits...

I love the idea of a balance based system and I've obviously seen it at work (with Nxt and Qora.)  But in regards to a Tangle, it just doesn't feel right...  I just think this can be exploited on a well orchestrated, well thought out double-spend attack.
legendary
Activity: 1344
Merit: 1000
February 04, 2016, 03:16:01 PM
Hey, guys and gals. I'd like to get your feedback on the following:

In it's current implementation Iota's ledger is based on inputs and outputs like Bitcoin. There is another way - balances of accounts like in Nxt and Ethereum.

Now I see that if Iota used the latter it would be more efficient because:
1. No need to send the change back to myself which makes the tangle smaller
2. A lot of dust inputs could be spent with a single payment and this would be more secure because every address reuse leaks the private key
3. A new address wouldn't be needed for every incoming payment (this would make acceptance of Iota donations simple, in the current design it's PITA for humans)
4. Off-tangle payments would become simpler
5. RAM requirement for full nodes would be relaxed

The only problem that might arise in balance-based Iota is worse consensus convergence, but after analyzing the issue I don't see what could break.

I'm thinking if it's worth to do a little redesign that could take few days of extra work...

From the point of view of humans #3 (address reuse) is a very good cause to spend few day to redesign and code system.
On the other hand the "consensus convergence" is a  single point of failur for the whole system.
So the answer I think is this: if you sure 100% that consensus convergence is not affected - go for addresses. If you do not 100% sure - stay with current input-output system.

legendary
Activity: 1540
Merit: 1000
February 04, 2016, 03:15:12 PM
I vote yes because everyone says yes!!!  Cheesy Cheesy
Jump to: