Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add rfc 0010 node software updates #54

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

fflush
Copy link
Collaborator

@fflush fflush commented Nov 9, 2020

Comments are very welcome.

@fflush fflush linked an issue Nov 9, 2020 that may be closed by this pull request

## Motivation

To create a safe environment throughout the blockchain network, software update guidelines are extremely important. All nodes must be updated at a certain interval to ensure safe operation. However, the actual process is quite complex as the entire network must be considered.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like always, missing semantic line breaks 😄


## Examples & Best Practices

Based on the version system there could be different protocols to update a node. If the software of the blockchain nodes follows the [semantic versioning](https://semver.org/) protocol, MINOR and PATCH updates should be updatable without breaking the network functionality. For major patches a coordinated update has to be planned and can lead to a short downtime of the network because of a change in the communication protocol.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Talking about soft- and hard-forks here? I would assume those two classes of updates are, in a certain way, the way of the blockchain community to introduce protocol updates at least.

TGB, and b) accepted by a vote of any other relevant Sovrin Governing Body (such as
the Steward Council).

A clear and strict protocol has to be defined to avoid accidents like the [Überlingen mid-air collision](https://en.wikipedia.org/wiki/2002_%C3%9Cberlingen_mid-air_collision) where the involved parties followed different suggestions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I never heard this example being mentioned in the context of software updates, can you give references of how this is part of the IT industry consciousness? 🙂

- Versioning
- Minor updates without interrupting the network
- Major updates should be planned
- Guaranteed availability of the system
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not guarantees, but target SLAs.

## Specification

- Update protocol
- Versioning
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Versioning
- Version Schema

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plus consequences of versioning, e.g. what is considered a breaking change, etc.

Comment on lines +21 to +22
- Minor updates without interrupting the network
- Major updates should be planned
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Minor updates without interrupting the network
- Major updates should be planned
- Protocols for major and minor updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create RFC-0010 Node software updates
3 participants