Skip to content

Continuous Stacking #85

@joberding

Description

@joberding

This proposal intends to enable continuous stacking without requiring a consensus-breaking update to the Stacking contract. Stackers will be able to stack during the “cool-down” period thus avoid missing reward cycles.

Background

What problems do you aim to solve? How does it serve the mission of a user owned internet?

A major problem in the current implementation of stacking is that stackers lose rewards during a “cooling period” cycle in-between stacking commitments (SIPS issue #6). If they for example lock STX tokens for 2 cycles, they will not be able to stack in cycle 3 but have to wait until cycle 4 before they again can participate in stacking (Hiro's Feedback on Stacking):

Hiro's Feedback on Stacking

The discontinuous Stacking issue is a universal problem/impediment to overall growth of the Stacks ecosystem (@cuevasm 1, 2). Requiring a longer stacking commitment to avoid losing rewards is an additional burden or barrier to entry that may significantly impact the stackers decision about where to place their funds; This limitation imposed on users might encourage them to invest in a different ecosystem (Hiro's Feedback on Stacking #5).

Stacking for short intervals is more helpful to the network than Stacking once for a long interval. Yet the cool-down cycle unfairly penalizes users for Stacking in short intervals, even though they're helping the network more (jcnelson).

Project Overview

What solution are you providing? Who will it serve?

Our solution enables continuous stacking by stacking from a credit line of Stacks in place of stacks restricted from stacking due to cool-down requirements.

For example, say a stacker locked their STX tokens for 2 cycles. Their stacks can not be stacked in cycle 3 due to the cool-down requirement. However, STX tokens are fungible, allowing one token to be interchanged for another. In place of the unstackable tokens, we stack STX tokens from the credit line, passing on the rewards to the holder of the unstackable tokens.

The solution will benefit stackers and improve their Stacking experience, indirectly benefitting the larger ecosystem by making stacking more attractive. In the case that continuous stacking is implemented natively in Stacks 2.1 (around August 2021) the ecosystem will have gained experiences and learned valuable lessons that can benefit the design decisions for the technical upgrade.

Related Proposals

A proposal related to enabling continuous stacking is to re-conceptualize Stacking as a multi-item open auction, providing a “STX future” token that can be traded on the secondary market, thereby allowing stackers to practically sell their STX while they are locked up. However, introducing such an auction may have undesirable properties, potentially corrupting mining strategies (comment1, comment2.

Our suggested approach also relates to “a service that Stacks a whole bunch of STX, and rents out the locked STX’s reward slots at a fixed rate to Stackers via a smart contract”, as proposed by @jcnelson in Hiro's Feedback on Stacking.

Scope

What are the components or technical specs of the project? What will the final deliverable look like? How will you measure success?

The main deliverable is an MVP level Clarity contract that implements a way to stack during the cool-down period, together with a minimalistic interface for stackers to use the service, and supported by an agreement with the Stacks Foundation to have access to a line of credit of unstacked STX tokens proportional to the size of the pool.

Other deliverables include a report analyzing the potential legal and governance considerations relevant to, among other issues, STX credit delegation and continuous stacking.

Success is stackers using the service for continuous stacking, bypassing the current cool down periods.

Depending on the outcome of the first milestone, we may apply for subsequent grants to further build out the user interface for stackers, applying the use of STX credits to solve other problems in stacking, such as:

  • Reward stacking of tokens that aren’t eligible for full reward slots
  • Unlock unused STX automatically if preferred
  • Work around the "empty slot" problem
  • Reward partial stacking of tokens that aren’t eligible for reward slots
  • Enable multiple Stacking commitments per address Stacks 2.1: Enable multiple Stacking commitments per address sips#8
  • Allow a low commitment threshold and fine-grained partial stacking
  • Compounding stacking amount (rewards credited to stacking address)

Budget and Milestones

What grant amount are you seeking? How long will the project take in hours? If more than 20, please break down the project into milestones, with a clear output (e.g., low-fi mockup, MVP with two features) and include the estimated work hours for each milestone.

Grant request: $5000

M1: Scope of work, deliverables, and grant amount of total.

  • MVP level Clarity contract implementing continuous stacking
  • Minimalistic interface enabling stackers to use the service
  • LOI or agreement with the Stacks Foundation for STX credit line
  • Legal and Governance analysis

Team

Who is building this? What relevant experience do you bring to this project? Are there skills sets you are missing that you are seeking from the community? Please share links to previous work.

Juliet Oberding has been active in the Stacks ecosystem since 2019 as an app miner, community evangelist, member of the Governance Working Group, Project Lead of the Stacks Code of Conduct and a community representative to the Stacks Foundation Board. Juliet’s education and experience as a lawyer and law professor complements her work as a founder and in the area of governance.

Terje Norderhaug joined the San Francisco ecosystem meetup in 2017 and has contributed to app Mining with multiple applications while also serving as a community evangelist working with developers building apps within the Stacks ecosystem. He is the creator of Clarity.tools, an interactive development environment for Clarity contracts.

Risks

What dependencies or obstacles do you anticipate? What contingency plans do you have in place?

The solution depends on access to a credit line of unstacked STX tokens from a major stacksholder such as the Stacks Foundation.

A key risks is whether organizations like the Stacks Foundation are legally allowed to provide STX credit. This issue as well as other legal/governance risks will be researched concurrent to MVP development.

If our approach to continuous stacking turns out to be infeasible, we will explore alternative solutions, eventually pivot to deliver a report on our attempt with a discussion of reasons for the lack of feasibility.

Community and Supporting Materials

Do you have previous projects, code commits, or experiences that are relevant to this application? What community feedback or input have you received? How do you plan to share your plan to the community over time and as the final deliverable?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions