Skip to content

Latest commit

 

History

History
88 lines (66 loc) · 3.34 KB

bsip-0039.md

File metadata and controls

88 lines (66 loc) · 3.34 KB
BSIP: 0039
Title: Automatically approve proposals by the proposer
Authors: Fabian Schuh <https://github.com/xeroc>
         Abit More <https://github.com/abitmore>
Status: Draft
Type: Protocol
Created: 2018-03-20
Discussion: https://github.com/bitshares/bitshares-core/issues/138
            https://github.com/bitshares/bsips/issues/71
Worker: <Id of worker proposal>

Abstract

On the BitShares Blockchain, proposals allow to gather signatures for a multisignature-setup by means of on-chain approvals. In contrast to other blockchains, these proposals are actually stored on the blockchain and automatically executed once the required amount of approvals has been reached. This allows participants of a multisignature-setup to exchange insufficiently signed transactions easily.

However, when creating a new proposal, the proposer needs to manually approve his operation afterwards. This is not only inconvenient, but also costs and additional operation and thus a fee.

This BSIP proposes a protocol change that enables the proposer of a proposal to automatically added herself as approved.

Motivation

In the case of a simple 2-of-3 multisig-scheme, today's implementation forces us to have 3 operations stored on the blockchain: a) the proposal itself, and two approvals.

The inconvenience and additional fee hinders adoption of this scheme and makes it unnecessary complicated.

Due to lacking of an auto-approval feature, an ignorant user might fire a proposal_create operation to create a proposal and then immediately fire a proposal_update (i.e. approve) operation to approve the proposal. However, the final proposal ID is not known before the proposal_create operation is beyond the last irreversible block. So the user might inadvertently approve the wrong proposal. On Monday, 20th December 2018, a node crash incident was indirectly caused by this.

Rational

Giving the proposer an option to automatically approve the proposal after creation solves the issue.

If the proposer is not part of the multisig-setup, having him approve the proposal automatically does not affect the validity of the proposal itself.

For backward compatibility, to avoid breaking existing applications, It's good to keep the default behavior.

Specifications

Add an extension to the proposal_create_operation that let the proposer define whether to auto-approve the proposal after creation. If the extension is not present, do not auto-approve. The extension can only be used after a scheduled protocol upgrade time.

Discussion

By proposing an action, sometimes the proposer can be considered as an agreeing party, otherwise the proposal wouldn't have been created in the first place. Since sometimes the proposer doesn't want to approve immediately, it's better that she has an option to decide whether to auto-approve.

Non-technical Summary

This BSIP proposes a minor modification that improves the process of using hierarchical account permissions and simplifies the use of multisig-setups with only minimal modifications.

Copyright

This document is placed in the public domain.

See Also