Configration and usage of private blockchain

+1 vote
We have a distributed record shared across a private record-specific network of parties.

We have a sequential record state of our record, i.e its hash digest after any edit. This is synchronised across the network, only when we have a "full house" of hashes broadcast on a specific update request do we post this to blockchain.

We wish to

a) establish a roughly parallel network of multichain servers to the entire network of our own DL servers. i.e to everyone we've sold to, not just the parties to a given contract/record.

Voting should be unanimous but validated after a certain threshold. i.e. clear it after we've had a reasonable number of votes, but send out some alerts if there is any subsequent dissent. This is a finite network of privately owned but commonly configured systems that should be behaving identically.

b) post (possibly to a random node) on a findOrCreate basis the current hash state of a record to a record specific set on the blockchain. Presumably this per record set would be using either dynamic wallet or currency creation for any new record.

c) Get the last hash posted to a specific set.

d) list, in reverse date order, hashes in any given set.

Obviously d) does c).

I have a lot of other questions about dynamic config but lets just start with the basic how to and set up, and removing any remaining issues of traffic analysis and privacy regarding association between parties that there may be.

I have played a little a few months ago, but I have been a little busy doing line 1. We're now ready to add some blockchain "proof against deletion" tech, and deploy a smart contract technology where the validation of an arbitrarily complex rule set can be performed completely privately. We want the blockchain part to be an independent "model" multichain deployment for these purposes with publicly available specification.
asked May 19, 2016 by Mark Lester
edited May 19, 2016

1 Answer

0 votes
Sorry for the delayed response - had to read this several times to get my head around it.

Do you want to register each hash vote as an independent transaction on the blockchain, or do you want to have a single transaction that contains all the signatures? The former is easier to do without off-chain communication, but the latter is also an option.

Have you reviewed the information on this page, which seems relevant?
answered May 21, 2016 by MultiChain
Yes, that looks like exactly what we need. A stream per record.
Are transactions on a specific stream validated only by nodes subscribing to that stream, or by the network as a whole.
There may only be 2 nodes/parties to a specific contract. Indeed for the vast majority of use cases there will be only 2.
I want only the parties to a contract to be able to write to its stream, obviously. Does the permission system for streams handle all this ?.
I realise transactions will need signing by each of the parties. I already have a set of signed hashes but you have a stuff on that so I'll look t use.
The full streams mechanism is currently under development, so there is no permissioning system to restrict who can write to a quasi-stream (as defined on that page I posted). But when viewing the transactions in a stream you can still verify who sent each one, so perhaps that will be OK as an interim method?