Announcing Steem 0.14.0 Release Candidate

Steemit is proud to announce a major upgrade to the Steem protocol today. It is our desire to give everyone in the community ample time to review the code and upgrade their software before any hard-fork occurs. Our release process will go as follows:

  1. Publish Release Candidate (Today)
  2. Confirm Release in one week (9/9/2016)
  3. Protocol changes effective 9/13/2016 at 11 AM EST (3 PM GMT)

New Features

Escrow Transfers

The Steem network now comes with native support for advanced escrow transfers of STEEM and Steem Dollars. The purpose of escrow is to facilitate peer to peer trade with untrusted individuals.

Someone wanting to pay via escrow will create an escrow transaction and specify who should receive the funds, who the escrow agent is, and the terms of the contract. The escrow agent and the receiver must both accept the terms within the specified time or the funds are returned to the sender.

Once the terms have been accepted by all parties, the funds are considered to be “in escrow”. Once in this state the sender can release funds to the receiver, or the receiver can return the funds to the sender. If either the sender or receiver has issues they can raise a dispute at which point in time the escrow agent has authority to release some or all of the funds to either the sender or the receiver. If no action is taken for a specified period of time, then the funds are released to the receiver.

This process directly mirrors the basic escrow contracts used in real life escrow transactions. This will facilitate the creation of craigslist or eBay like websites powered by Steem.

Savings Accounts

Savings accounts allow you to protect your liquid STEEM and Steem Dollars in the event your account is hacked / stolen. All transfers out of savings accounts have a 72 hour delay during which the sender can notice, recover their account, and cancel the transfer.

This feature is hugely beneficial for any and all exchanges using Steem. The vast majority of their holdings should be kept in savings accounts to minimize the potential loss from a hack. Users should strongly encourage exchanges to adopt Savings accounts and be wary of maintaining deposits on exchanges that do not adopt this security feature.

Revoking Voting Permissions

This feature is useful for those who want the economic benefits from Steem without the legal liability associated with the political influence holding Steem Power grants them.

Custom Binary Operations

The semantics are the same as the custom json operation, but with a binary payload. The json deserialization has a non-trivial cost associated with it. This operation will allow for binary deserialization of plugin operations and should improve overall performance of plugins (subchains / sidechains) that chose to use it.

Witness Scheduling Updates

Witnesses that have not produced a block or updated their witness data in at least 24 hours will not be scheduled until they show proof-of-life by updating their witness data. Witnesses can now voluntarily retire from their position at any time. This should improve the overall network reliability and reduce the total number of missed blocks.

Bug Fixes

Steem Dollar Stability

Starting when Steem Dollars are 2% of the market cap, a portional of content rewards will be awarded as Steem instead of Steem Dollars. The rate at which Steem Dollars are printed is 50% of the reward at 2% or less market cap and 0% at 5% or more market cap, linearly extrapolated from 2%-5% market cap. So, at 3.5% market cap content rewards will be 25% Steem Dollars, 25% Steem, and 50% Steem Power.

When Steem Dollars reach 10% of the market cap, the price feed will jump off the peg to keep Steem Dollars at 10% of the market cap and will return to the peg when the reported price feed goes below 10%. Witnesses should still report the real dollar value of Steem for their price
feed. The median price feed is automatically capped regardless of what witnesses report.

This change is designed to protect the blockchain from a theoretical, but highly unlikely, event where by the SBD debt would completely devalue Steem. Steem holders are now guaranteed that SBD holders will never be entitled to more than 10% of the market cap.

Cleanup of @null

Balances of the null account and zeroed every block. Because any funds in the null account are inaccessible, they are removed every block and the dynamic global property object is updated to reflect the actual totals. This will remove funds from the supply, slowing the rate of inflation.

Target Votes of 5 per Day instead of 40

We are changing the target number of votes per day from 40 to 5 so that more people keep their voting power below 100%. The purpose of this change is to rebalance power toward normal users and away from bots. You can still vote as often as you like, this change merely impacts the speed at which voting power is consumed.

Miscellaneous Bug Fixes

  1. Fixed a bug that was preventing votes from being completely removed from a post.
  2. Posts are now editable up to the second payout when they are archived.
  3. Removed legacy PoW operation from witness plugin.
  4. Increased the irreversible block threshold to 75%.

Future Roadmap 0.15.0 and beyond

There are a number of features that didn’t quite make the cut for this release, but will be ready for the next release scheduled for mid October. These features include:

Lost Password Recovery

Any account can nominate another account as a lost password recovery agent. This agent will have the power to request a reset the owner key after at least 60 days of account inactivity. If the account is still inactive 30 days after the password reset is requested, then it will take effect.

Users must opt-in to this feature. By default the recovery agent will be @null. A user can opt-out of the feature at any time by changing the agent back to @null.

Proposed Transactions with Chained Confirmation

This feature will work very similar to the proposed transaction feature found in BitShares but with the ability to confirm multiple chained transactions in a single step. This feature will greatly aide the development of side / subchains.

Feedback Wanted

Our team is always looking for new ideas and feedback. Please review the code, test it out, and help us find and fix any undiscovered bugs between now and the final release confirmation.