Author Topic: Unity + TAPOS ("unique notary list")  (Read 3220 times)

0 Members and 1 Guest are viewing this topic.

Offline CLains

  • Hero Member
  • *****
  • Posts: 2606
    • View Profile
  • BitShares: clains
What if each notary is actually authorized only a small % of the time they try to authorize something? Temporal decentralization? Random thought.

Offline theoretical


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).
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
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?
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
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...
« Last Edit: March 30, 2014, 11:15:09 pm by delulo »

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Yeah and how are those different? I vote per share vs vote per what?

Sent from my SCH-I535 using Tapatalk

Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
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.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
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.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
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...

Offline oco101

  • Hero Member
  • *****
  • Posts: 586
    • View Profile
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.

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
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
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline mint chocolate chip

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.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
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

Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline Agent86

  • Sr. Member
  • ****
  • Posts: 471
  • BTSX: agent86
    • View Profile
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?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
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.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.