Fireside podcast entry - Mainstreaming Distributed Systems

in #podcast7 years ago

Mainstreaming Distributed Systems

As per the rules of the Fireside Podcast, the following is a proposal for a topic to be discussed in the upcoming podcast for this week. The notes here will be short and incomplete as to not spoil the content of the podcast.

The topic intends to explore areas developing in allowing everyday users to access, interface and use distributed systems, namely BOINC and cryptocurrency systems. It will cover current problems with distributed systems regarding their perception, how users and developers perceive such systems, and what can be done to solve various problems in implementation and interface.

Introduction

In reference to human psychology, humans are attuned to order and structure and are almost incapable of understanding something that consists of disorder without some extent of mental labour. Examples of this are abundant and show that humans have adapted to structure and uniformity as opposed to distribution and individuality.

This trait is critical to distributed systems as they must overcome their complexity and disorder to produce some structured functionality that is either easy to understand or doesn't need to be understood at all.

Abstraction

Abstraction can be thought of as many things, but in this context it can be thought of as the act of producing high-level functionality from a series of very simple, low-level processes. In the case of distributed systems, this high-level functionality being similar to say processing a transaction (in cryptocurrency) and its subsequent low-level processes are the intricate interaction between nodes on the network.

This concept is also the main problem that distributed systems have to cope with, the fact that it is increasingly difficult to produce an adequate amount of abstraction using what you have.

Users

The users are the most important part of and should be placed at the centre of all design decisions because they are after all the sheer motivating factor for the developer and in some cases, the only source of revenue. It is therefore crucial that as much abstraction be implemented in order to present the user with a phenomenal service and thus persuade them to continue usage. The only limiting factor that distributed systems have in this regard is the fact that you cannot make guarantees on their functionality which completely ruins user experience.

The other side of the argument are the users themselves where we have to consider "human inertia". This is generally the tendency to choose the cheaper or easier solution whether or not it be logically correct or ethical. This problem exists within software/system development and manifests itself into the design of every program you use, it is therefore the role of any distributed system to provide as much ease of use possible to satiate for natural human inclinations which in many cases we see as increasingly difficult to pull-off.

Developers

By its very nature, distributed networks make it hard for developers to generate robust programs that yield abstract functionality. This is due to the fact that such systems are inconsistent and constantly changing, thus causing the developer to take hugely laborious actions to ensure an interface to the network to extract functionality that is sufficient for everyday users in regards to technical level and reliability. With greater difficulty comes greater cost.

Practical Examples

There are two very distinct theories/systems that I wish to touch on in the discussion:

  • The BOINC network
  • Proof of Useful Work Cryptocurrencies (POUW)

The main problem BOINC has in being fully decentralised poses the question: "How can we distribute tasks of a scientific organisation (which are by nature, centralised) without central servers?"

Within the context of BOINC, distribution does not necessarily provide any more benefits than what we already have, instead it will become a trade-off between security and functionality (more distributed means more security but less functionality). There has however been proposals to make it fully distributed.

Moving to POUW, it has been a struggle both in cryptocurrency and associated computer science fields to try and develop a POUW currency that allows for useful work to get done while providing an adequately secure payment handling service (cryptocurrency) to its nodes and users. The question here is: "How can we do things that are beneficial to society in such a way that the security of assets within a financial transaction can be ensured?"

We have seen some examples of this, notably Folding/Cure coin and Gridcoin which do work and are fully functional cryptocurrencies however are the result of a long "evolutionary" period where trial and error took place trying to develop and effecting POUW currency.

Solutions

A prime example and the main focus of this discussion is the BOINC network. It achieves a mix of decentralisation and user functionality through two measures.

  1. Centralisation: Which means simplified services, user trust and most importantly, consistency
  2. Extensive development: Allows for a fleshed-out interface to take precedence and provide the user with an effective, high-level experience.

A secondary example we have not seen much of includes pre-packaged systems that are built to provide correct, robust and abstract functionality to the user within a completely new and segregated ecosystem to what is regularly used. This means that the user is at no risk of losing their original and learned environment, causing them to gain more confidence in teaching themselves and exploring the new system. This coupled with high-order functionality within constituent programs provides a substantially better experience compared to existing solutions. Some well known examples of this include BILD and my very own BOINC OS.

Conclusion

It is this knowledge that drives me to continue to develop and take insight into the field of bringing distributed services to the user in a simple and functional way.

If you wish to know more in-depth these views, please join us for the Fireside Podcast hosted by @jringo on the Gridcoin discord server where I will be presenting more elaborate notes in plainer terms. I'll see you all there!

BOINC OS Website | GitHub | Email: [email protected]

Sort:  

This is awesome. A great example of how to merge a project you're working on with the reasons you're working on it. Reach out to me on the discord server to reserve a slot.

Thanks for joining the discussions!


Since this Thursday is only the 2nd episode, I want to make sure a few things are clear for others who are reading this and might want to reserve a slot.

  1. You don't need to publish the writings you want to talk about on steemit.
  2. They can be writings from years ago if you want.
  3. Be sure to pm me on the discord server to reserve a slot.

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63004.58
ETH 2548.62
USDT 1.00
SBD 2.81