votorola.a.register.trust
Class TrustEdge.Primary

java.lang.Object
  extended by TrustEdge.Primary
Enclosing class:
TrustEdge

@ThreadSafe
public static final class TrustEdge.Primary
extends Object

The configuration of a primary trust edge. The source node is the electoral office (root), and the destination node is a voter. Unlike an ordinary source node, the root may extend any number of edges to the same destination. The maximum trust level in the network (T-max) is, in fact, limited by the redundancy of these primary edges, and by the number and distribution of primary destinations.

As a rule, to attain an T-max of 3 in the network requires a minimum of 3 destinations, and a minimum of 3 edges to each. For example, a minimal configuration for a T-max of 3 is (this goes in your JavaScript configuration):

     register.addPrimaryTrust( 'officer-1@domain.dom' 3 );
     register.addPrimaryTrust( 'officer-2@domain.dom' 3 );
     register.addPrimaryTrust( 'officer-3@domain.dom' 3 );
     

Or, for an T-max of 4, the minimum is:

     register.addPrimaryTrust( 'officer-1@domain.dom' 4 );
     register.addPrimaryTrust( 'officer-2@domain.dom' 4 );
     register.addPrimaryTrust( 'officer-3@domain.dom' 4 );
     register.addPrimaryTrust( 'officer-4@domain.dom' 4 );
     

(But you would typically specify more than the bare minimum of primary destinations.)

Of course, each of the destinations must be trusted by the electoral administrator. They must also be likely to extend their own edges, and thus to grow the network.

Furthermore, if you want them to propagate T-max to other voters, then at least T-max of the primary destinations must cooperate in extending their edges to further, common destinations that are in range. So the primary destinations must be:

  1. known to each other; and
  2. close enough together that the trust script (below) will not bar them from extending their edges to common destinations.

Whatever number of primary destinations you choose, therefore, you may want to add them as one or more groups of size T-max or larger, in which all members are known to each other, and are located relatively close together.


Constructor Summary
TrustEdge.Primary(String voter1Email, int edgeCount)
          Constructs a Primary.
 
Method Summary
 int edgeCount()
          The number of edges extended to the primary destination.
 String voter1Email()
          Identifies the primary destination.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TrustEdge.Primary

public TrustEdge.Primary(String voter1Email,
                         int edgeCount)
Constructs a Primary.

Parameters:
voter1Email - per voter1Email()
edgeCount - per edgeCount()
Method Detail

edgeCount

public int edgeCount()
The number of edges extended to the primary destination.


voter1Email

public String voter1Email()
Identifies the primary destination.

Returns:
email address (bare)