BitShares Forum

Main => General Discussion => Topic started by: toast on March 30, 2014, 12:54:59 am

Title: Unity + TAPOS ("unique notary list")
Post by: toast on March 30, 2014, 12:54:59 am
Here's my variation on the evolving blockchain security model.

Rather than one notary, any key with more than 1% votes becomes a node on the unique notary list. A new block requires signatures from ALL nodes on the UNL. Vote output tx's have a revocation certificate so you don't need to get coins out of cold storage to pull your support for a node. If less than three nodes have more than 1% votes then the top 3 get on the UNL - this should never happen.

So there is a theoretical max of 100 nodes but realistically you will have nodes run by each major exchange (motivated to protect themselves against double spend) and a few hardcore crypto ancap activists.

The idea is that the presence of even ONE non-collusive notary is enough to prevent double-spend attacks.
The tradeoff is that even one node can stall the whole network. You can produce a block without a node's signature if that block includes transactions that remove enough votes for that node. I'm not sure what exactly to do if a node stops signing and then nobody takes their votes off of that node.
Title: Re: Unity + TAPOS ("unique notary list")
Post by: Agent86 on March 30, 2014, 02:00:49 am
Don't you still need a way to select one node from the unique notary list to actually write the block as they can't all do it at the same time?
Title: Re: Unity + TAPOS ("unique notary list")
Post by: toast on March 30, 2014, 02:07:19 am
Well one node will be the first one to see a version with all the signatures and so that is the one that is selected. It doesn't matter because the tx set is seen by everyone before the signing round starts

Sent from my SCH-I535 using Tapatalk

Title: Re: Unity + TAPOS ("unique notary list")
Post by: mint chocolate chip on March 30, 2014, 08:54:01 am
Is the benefit worth it for something that sounds complicated to design, implement and function. And it won't be easy to explain how it all works to other people. Seems to open up the door to a lot of possible issues and will take precious time to develop.
Title: Re: Unity + TAPOS ("unique notary list")
Post by: puppies on March 30, 2014, 05:17:07 pm
I'm a big fan.  I might decrease the percentage of nodes that are required to  sign a block to 75ish%  assuming there are a certain number of valid nodes
Title: Re: Unity + TAPOS ("unique notary list")
Post by: oco101 on March 30, 2014, 05:38:00 pm
I'm a big fan.  I might decrease the percentage of nodes that are required to  sign a block to 75ish%  assuming there are a certain number of valid nodes
+1 this should solve that :
Quote
The tradeoff is that even one node can stall the whole network. You can produce a block without a node's signature if that block includes transactions that remove enough votes for that node. I'm not sure what exactly to do if a node stops signing and then nobody takes their votes off of that node.
Title: Re: Unity + TAPOS ("unique notary list")
Post by: santaclause102 on March 30, 2014, 09:25:56 pm
Here's my variation on the evolving blockchain security model.

Rather than one notary, any key with more than 1% votes becomes a node on the unique notary list. A new block requires signatures from ALL nodes on the UNL. Vote output tx's have a revocation certificate so you don't need to get coins out of cold storage to pull your support for a node. If less than three nodes have more than 1% votes then the top 3 get on the UNL - this should never happen.

So there is a theoretical max of 100 nodes but realistically you will have nodes run by each major exchange (motivated to protect themselves against double spend) and a few hardcore crypto ancap activists.

The idea is that the presence of even ONE non-collusive notary is enough to prevent double-spend attacks.
The tradeoff is that even one node can stall the whole network. You can produce a block without a node's signature if that block includes transactions that remove enough votes for that node. I'm not sure what exactly to do if a node stops signing and then nobody takes their votes off of that node.

First I thought you meant 1% voting power acc. to stake size but you mean at least 1% votes by shareholders, correct? 
What is a revocation certificate?

.... But isn't the only goal of selecting someone to find the next block to avoid double spend tx within and all full Bitcoin nodes have to confirm the suggested block anyway?  If being first to select all transaction that should be included in the next block depends on having a faster internet connection than that is proof of faster internet connection.... Maybe I got something totally wrong there...
Title: Re: Unity + TAPOS ("unique notary list")
Post by: toast on March 30, 2014, 09:48:57 pm
Here's my variation on the evolving blockchain security model.

Rather than one notary, any key with more than 1% votes becomes a node on the unique notary list. A new block requires signatures from ALL nodes on the UNL. Vote output tx's have a revocation certificate so you don't need to get coins out of cold storage to pull your support for a node. If less than three nodes have more than 1% votes then the top 3 get on the UNL - this should never happen.

So there is a theoretical max of 100 nodes but realistically you will have nodes run by each major exchange (motivated to protect themselves against double spend) and a few hardcore crypto ancap activists.

The idea is that the presence of even ONE non-collusive notary is enough to prevent double-spend attacks.
The tradeoff is that even one node can stall the whole network. You can produce a block without a node's signature if that block includes transactions that remove enough votes for that node. I'm not sure what exactly to do if a node stops signing and then nobody takes their votes off of that node.

First I thought you meant 1% voting power acc. to stake size but you mean at least 1% votes by shareholders, correct? 
How is that different?
Quote
What is a revocation certificate?
A way to undo your vote without casting a new one or getting your coins out of storage.

Quote
.... But isn't the only goal of selecting someone to find the next block to avoid double spend tx within and all full Bitcoin nodes have to confirm the suggested block anyway?  If being first to select all transaction that should be included in the next block depends on having a faster internet connection than that is proof of faster internet connection.... Maybe I got something totally wrong there...

You want to prevent "special access" to transactions in a block to avoid market manipulation, it has nothing to do with double spends. To prevent a double spend you just need to prevent two alternate forks.
Title: Re: Unity + TAPOS ("unique notary list")
Post by: santaclause102 on March 30, 2014, 10:21:25 pm
Quote
How is that different?
Voting power by stake would be the equivalent to voting power by hashing power with POW. Votes by others would be votes you gathered from other stakeholders.
Title: Re: Unity + TAPOS ("unique notary list")
Post by: toast on March 30, 2014, 10:59:37 pm
Yeah and how are those different? I vote per share vs vote per what?

Sent from my SCH-I535 using Tapatalk

Title: Re: Unity + TAPOS ("unique notary list")
Post by: santaclause102 on March 30, 2014, 11:13:29 pm
Yeah and how are those different? I vote per share vs vote per what?

Sent from my SCH-I535 using Tapatalk

I think you mean both are voting by stake for one or more trustees. The first option I mentioned was nothing like a trustee model where the chance to find the next block depends on your stake size like with NXT. Now with this NXT POS system you can abstract/generalize your ability to find the next block and call this your overall voting power...
Title: Re: Unity + TAPOS ("unique notary list")
Post by: puppies on March 31, 2014, 02:51:49 am
Yeah and how are those different? I vote per share vs vote per what?

Sent from my SCH-I535 using Tapatalk

I think you mean both are voting by stake for one or more trustees. The first option I mentioned was nothing like a trustee model where the chance to find the next block depends on your stake size like with NXT. Now with this NXT POS system you can abstract/generalize your ability to find the next block and call this your overall voting power...

Does NXT require multiple signatures before a block is considered valid?
Title: Re: Unity + TAPOS ("unique notary list")
Post by: theoretical on March 31, 2014, 08:17:57 pm

Requiring multiple notaries is a good idea.  It solves the problem of how to quickly deal with a notary that's gone offline without introducing a potential for forks.  But there are a few problems with this proposal.

The tradeoff is that even one node can stall the whole network.

This is bad.

You can produce a block without a node's signature if that block includes transactions that remove enough votes for that node.

Requiring a substantial portion of the network to be online and do something proactively seems unrealistic.  It also takes quite a lot of blockchain storage to get votes from a large fraction of the network.

I'm not sure what exactly to do if a node stops signing and then nobody takes their votes off of that node.

Defeating a notary that censors transactions is really tough.  My proposal (in a different thread) solves the issue by taking away the notary's ability to choose which transactions to include, moving that responsibility to nodes randomly selected with proof-of-stake.  In order to censor a transaction with my system, the proof-of-stake would have to keep randomly selecting nodes that agree with the censorship, a situation whose probability of persisting over time decays exponentially (unless most of the network actually agrees with the censorship).  As soon as nodes are selected that care more about the fee they can claim than the reasons for the censorship, they'll put the transaction in the block.  Once that happens, the notary can only accept the outcome and sign the block, or stop producing blocks entirely (which of course will quickly result in the notary's replacement).
Title: Re: Unity + TAPOS ("unique notary list")
Post by: CLains on March 31, 2014, 09:11:49 pm
What if each notary is actually authorized only a small % of the time they try to authorize something? Temporal decentralization? Random thought.