// Mutually Exclusive - first one to get this value is the only one that can get it, subsequent requests get rejected, unless it is from the original creator of the specific data item
// Majority (threshold) vote - anybody can submit, but until the required thresholds are met there is no valid value
// Auction and reverse auction - anybody can submit, everybody sees the highest (lowest) value
// Random - value is a random value, but all nodes get the same value, useful for lottery type of use cases
// MofN - shamir's shared secret
// Pegged - values can be derived from external data feeds and pegged to a moving average
// Averaged - value is a determistically chosen value that is close to the majority of other values in the time period. it is not a true mathematical average, but over time will be very close to the average. The advantage is that submission of bogus values wont affect things much.
// Orderbook - price and volume are combined for bids and asks, Orderbook is constructed from auction (bid) and reverse auction (ask)
// Oneshot (limited triggers) - defined value can only happen the specified number of times, then the data field is expired
// Derived - value is derived from a combination of other values using a standard set of operations. For binary evaluation, values above 0 are treated as true, below zero as false and 0 means undefined. If any value a derived field depends on is undefined, then it also is undefined.
// Scripts - turing complete scripts can be specified in C, that will have access to all the data fields and be able to do standard transactions and invoke any of the other derived data types.