A distributed decision log for meetings within a consortium of organizations
Examensarbete för masterexamen
When conducting meetings within a consortium of organizations, a method of recording key aspects like participation and decisions so that they can be agreed upon by all parties is needed. A decision log based on a distributed ledger; a data store that is shared on equal terms between the organizations, would remove the need to trust a central authority, and if the data structure of the ledger is a cryptographically chained log, the entries are immutable and secure against tampering. Using a Byzantine fault tolerant (BFT) consensus algorithm when reaching agreement on the state of the data store would further increase the security of the system by making it tolerant against malicious behavior from some of the organizations. The introduction of smart contracts has broadened the field of use cases where distributed ledgers are considered. However, poor performance compared to other systems due to the high complexity of their consensus algorithms is often a limiting factor. While providing the desired functionality, the performance of a system such as this has to be sufficient to be usable; users have to see the response of their actions in near real-time and the meeting cannot be significantly delayed. A prototype system based on these methods was designed and developed, and evaluated in terms of usability. Two metrics were defined to quantify the usability, response time and overhead. Response time was defined as the delay between a user action and its response and overhead was defined as the time added to a meeting by the system when recording the outcome of a decision. The results were measured at different scales in terms of meeting participants, network delay and number of nodes participating in the consensus method. It was found that the performance impact of using a distributed ledger with a BFT consensus algorithm is considerable. The response time remained at sufficiently low levels, between 1.4 and 3.4 seconds. However, due to the high message complexity of BFT consensus methods, the overhead of the system was too high for the system to be considered practical; between 12 and 110 seconds for a single decision. A high number of users especially affected the overhead negatively, but the number of participating organizations and the amount of network delay also had a significant effect. In conclusion, distributed ledgers in combination with Byzantine fault tolerance provides a high level of trust and security to a system, but performance is a big issue that limits the reasonable uses of the technologies. If a system is designed with these technologies, special care has to be taken to keep the rate of events low so that the performance remains sufficient.
distributed systems , distributed consensus , distributed ledger technology , blockchain , Byzantine fault tolerance