Blog Article

Announcing...Stellar Protocol 15

Author

Justin Rice

Publishing date

Protocol upgrade

Claimable balances

Sponsored reserves

Overview

There's an important change in plans that everyone building on Stellar should be aware of:

  • The Stellar public network will no longer upgrade to Protocol 14 on 10/28/20.
  • Instead, we're skipping Protocol 14, and scheduling a validator vote to upgrade the public network to Protocol 15 on 11/23/20.
  • Protocol 15 is the same as Protocol 14, only it fixes an issue that could have caused validators to crash.
  • Could have, but didn't: we rolled out new Stellar Core and Horizon releases in plenty of time, and Protocol 15 is already live on the testnet.
  • In advance of the validator vote to upgrade the public network to Protocol 15, anyone running Stellar Core should install v15.0.0 and anyone running Horizon should install v1.11.0
  • If you use a Stellar SDK and have already installed a Protocol-14-supporting version, you should be fine: this update doesn't require changes at the SDK level.

The Details

For the past several weeks, we've been notifying everyone about the upcoming vote to upgrade the Stellar public network to Protocol 14. Well, it turns out we're skipping that one. Instead, we're going straight to Protocol 15. In order to give everyone who runs Stellar Core and Horizon time to install up-to-date versions, we're pushing the vote to upgrade the public network to Protocol 15 to Monday 11/23/2020 at 1600 UTC. That's the week after Meridian.

Here's why:

After the Stellar testnet upgraded to Protocol 14 on 9/29/20, SDF continued testing, and discovered that two rare, specifically constructed transactions could have caused validators to crash on apply. You can find all the details in this Github pull request. Protocol 14 was not yet live on the public network, and no one submitted either transaction on the testnet, so no validators actually encountered the bug. As soon as we identified the problem, we got to work on a fix, completed it, and deployed it to the testnet. As of 10/20/20 at 1900 UTC, the testnet runs on Protocol 15.

Out of an abundance of caution, we opted to release the fix as Protocol 15 rather than as a patched version of Protocol 14. That way, we can ensure that all validators are running an up-to-date version of Stellar Core when the public network upgrades. Since all nodes will recognize these specific transactions as errors, there's no chance an invalid transaction will ever be applied to the ledger.

This discovery is exactly the kind of thing the testnet is designed to bring to light: long before we suggest a change to the public network, we thoroughly test it in a sandbox environment, and leave plenty of time to root out and correct potential problems so they never go live in a production environment.

While this change in plans delays the rollout of the new features we announced recently — they'll now all be available on the public network after the Protocol 15 upgrade on 11/23/20 — it also illustrates that the testnet is an effective safeguard against introducing potential problems to the public network. Over the next few weeks, we appreciate your attention and cooperation in preparing for the Protocol 15 upgrade.

Here's what you need to do:

If you run Stellar Core or Horizon, please install Protocol-15 versions as soon as possible. Both are backwards compatible, so they'll continue to support the current protocol version between now and the upgrade.

If you use a Stellar SDK and have already installed a Protocol-14-supporting version, you should be fine: this update doesn't require changes at the SDK level. If you haven't, please do so as soon as possible. For more information and links to relevant releases, check out our Guide to Protocol 15 Prep, and to learn more about the new features, check out our Protocol 15 Improvements blog post.