A non-transitory computer readable medium comprising a software architecture encoded with a computer-readable program which, when executed by a computer, will cause the computer to operate the following protocols and function: a first protocol, wherein the first protocol is configured to form a plurality of groups, wherein each group of the plurality of groups comprises a set of randomly selected nodes from a network; a creation protocol, wherein the creation protocol is configured to create a plurality of dealing messages, wherein each dealing message of the plurality of dealing messages comprises information from each dealer node in a selected group of the plurality of groups; a hash function, wherein the hash function is configured to generate a hash value from the each dealing message of the plurality of dealing messages; a second protocol, wherein the second protocol is configured to randomly select a notary group from the plurality of groups; a fifth protocol, wherein the fifth protocol is configured to broadcast a plurality of blocks to a network, wherein each block of the plurality of blocks comprises a dealing message of the plurality of dealing messages; a fourth protocol, wherein the fourth protocol is configured to notarize the each block of the plurality of blocks, wherein the notary group is configured to use the fourth protocol; a reading protocol, wherein the reading protocol is configured to read a dealing message of the plurality of dealing messages to a receiver node of the selected notary group, wherein the receiver node is different from a dealer node whose information is contained in the corresponding dealing message; a verification protocol, wherein the verification protocol is configured to verify veracity of the corresponding dealing message, wherein the verification protocol is configured to be run by the receiver node; a complaint protocol, wherein the complaint protocol is configured to generate a complaint message, wherein the complaint message is signed by the receiver node, and wherein the complaint protocol is configured to be run by the receiver node; a justification protocol, wherein the justification protocol is configured to create a justification message, wherein the justification message comprises justifications to the complaint message, wherein the dealer node is configured to run the justification protocol to create the justification message; and a registration protocol, wherein the registration protocol is configured to consolidate confirmation of a plurality of justified public keys, wherein each justified public key of the plurality of justified public keys corresponds to the each dealing message of the plurality of dealing messages, wherein the verification protocol has accepted veracity of each justified public key of the plurality of justified public keys. a first protocol, wherein the first protocol is configured to form a plurality of groups, wherein each group of the plurality of groups comprises a set of randomly selected nodes from a network; a creation protocol, wherein the creation protocol is configured to create a plurality of dealing messages, wherein each dealing message of the plurality of dealing messages comprises information from each dealer node in a selected group of the plurality of groups; a hash function, wherein the hash function is configured to generate a hash value from the each dealing message of the plurality of dealing messages; a second protocol, wherein the second protocol is configured to randomly select a notary group from the plurality of groups; a fifth protocol, wherein the fifth protocol is configured to broadcast a plurality of blocks to a network, wherein each block of the plurality of blocks comprises a dealing message of the plurality of dealing messages; a fourth protocol, wherein the fourth protocol is configured to notarize the each block of the plurality of blocks, wherein the notary group is configured to use the fourth protocol; a reading protocol, wherein the reading protocol is configured to read a dealing message of the plurality of dealing messages to a receiver node of the selected notary group, wherein the receiver node is different from a dealer node whose information is contained in the corresponding dealing message; a verification protocol, wherein the verification protocol is configured to verify veracity of the corresponding dealing message, wherein the verification protocol is configured to be run by the receiver node; a complaint protocol, wherein the complaint protocol is configured to generate a complaint message, wherein the complaint message is signed by the receiver node, and wherein the complaint protocol is configured to be run by the receiver node; a justification protocol, wherein the justification protocol is configured to create a justification message, wherein the justification message comprises justifications to the complaint message, wherein the dealer node is configured to run the justification protocol to create the justification message; and a registration protocol, wherein the registration protocol is configured to consolidate confirmation of a plurality of justified public keys, wherein each justified public key of the plurality of justified public keys corresponds to the each dealing message of the plurality of dealing messages, wherein the verification protocol has accepted veracity of each justified public key of the plurality of justified public keys.