Can you run more than one server with 50000 vid?

can you run more than one server with 50000 vid?

Technically yes, but there’s a lot of nuance.

You have to get someone to delegate with you. Your first server needs 50K no matter what, either borrow it from someone or buy it on an exchange. Once you set it up you can give it back to the person that you borrowed it from but you need to have someone Delegate with you at least 50K so that the machine remains credible.

You can use one balance of 50K (a batch) to get machines online, and then convince delegators to support you to replace that one balance, then you roll it from machine to machine.

In the end though, each machine needs to have 50K allocated to it as a self-stake, it just may not be your VID but someone elses. Does that make sense?

I would also recommend reading my lessons learned to see how GAS is an important concept (both for Ethereum ERC20 token and for the VideoCoin native network).

@Ram_Penke @devadutta

Today I started an experiment to remove my self-stake and work using delegated staking only. I started with the following conditions for my machine:

Client ID: 7405b9b2-299b-4b0c-977d-f28d0e717868
Machine: BDC- Prototype - i9-9900K @ 3.6 GHz

At the beginning of the experiment I had the following balances staked:
Self-Stake: 50,000 VID
Delegated Stake: 59568.52560437 VID

Ran staker:latest stake and yielded back the following:
INFO[0001] worker is staking 50000 tokens and state is StateBonded version=dev

Ran staker stake withdraw 50000 and yielded back the following:

INFO[0002] stake withdraw of amount 50000 tokens has been successfully submitted and be available to complete after 1814400 periods version=dev INFO[0002] finish withdraw with stake withdraw complete command version=dev

Ran staker stake withdraw complete 50000 and yielded (with my surprise!):

INFO[0001] there are no pending withdrawals version=dev

Ran staker:latest stake and yielded the following:

INFO[0001] worker is staking 0 tokens and state is StateUnbonding version=dev

Several questions arise from this exercise that need answering:

Q1: Where are the 50,000 VID? I don’t see them anywhere on the block explorer for ETH ERC-20?

Q2. Is this because of the “unbonding” period, and if so, why does it say “no pending withdrawals” after running “staker stake withdraw complete”?

Q3. Why can’t my worker receive work even if the Delegated Stake > 50K VID minimum? Are you stating that 50K self-stake is the minimum at all times regardless of delegated stake?

Q4. If the 50K VID is a self-stake requirement at all times you do realize that it is mathematically impossible for workers to give the 20% promised to delegators since their own VID will be part of the weighted total VID in the total staking calculation (revenue slice)?

What am I missing or doing wrong?

I also ran through the withdraw process and ran into identical issues. I withdrew 100 vid to put my self stake at 49,900. The 100 vid is in unbonding process and cannot be withdrawn to original ETH address. The issue is that my worker also won’t start while in this unbonding period.

time=“2020-08-02T21:26:11.7256956Z” level=info msg=“current state is UNBONDING” version=v1.1.1-pe-717f3f7
time=“2020-08-02T21:26:11.7258698Z” level=fatal msg=“failed to start, state must be BONDED” version=v1.1.1-pe-717f3f7

I added the 100 back and staked it (50,000 self stake) and it went back to statebonded.

I retried the entire experiment but left it 1 vid short when restaking (49,999 self stake) and it stays in state unbonding.
INFO[0011] worker is staking 49999 tokens and state is StateUnbonding version=dev

So currently even with 61,000 delegated stake, the only way to be statebonded is to have 50,000 self stake?

I was under the assumption that it just needed to be total stake 50k+ to be an active worker, not a minimum of 50k self-stake.

“your Account will be deemed bonded for so long as you maintain the Minimum Stake and otherwise remain in good standing.”

Is minimum stake only derived from direct stake and excludes delegated stake?

If the minimum stake is really minimum direct stake, do data center partners that are onboarded also required to follow the same guidelines?

In this scenario if a data center wanted to add 100 CPUs to the network under current staking guidelines, it would require 5 Million VID direct stake requirement. Is this correct?

Found my answer here:

If BONDED transcoder wishes to withdraw funds it must wait for unbondingPeriod . If after withdrawal transcoder has less than minSelfStake transcoder enters UNBONDING state.

@Santiago_Velez Worker self-stake is is kept with staking-manager(escrow) on VideoCoin Blockchain (as native VID). It continues to be there until “staker stake withdraw complete” is called( after expiry of unbonding period). After stake withdraw completion, the self stake is moved to Worker’s account on VideoCoin Blockchain(as native VID). Then you have to run “staker withdraw” to move native VID from VideoCoin Blockchain to ERC-20 VID on Ethereum mainnet.

In summary self-stake withdraw process involves 3 commands i.e. (1) staker stake withdraw, (2) staker stake withdraw complete (after unbonding period) and (3) staker withdraw (to move native VID to ERC-20 on mainnet)

This message indicates there are no “stake withdraw” requests available for execution of “staker stake withdraw complete” (i.e. requests with unbonding period elapsed). May be we can add another CLI to query pending requests waiting for completion of unbonding period.

Yes min self-stake is requirement of receiving work

With the existing Vidpool guidelines, self-stake performs the role of security deposit for the worker as well as role of stake for rewarding. I think, there is no restriction if vidpool operator wants to adjust the terms to give more rewards

@BluBlu The current worker selection algorithm and staking manager works uniformly across all non zone-0 workers.

Worker self-stake is a tunable parameter of the staking-manager. I think, it will evolve based on community requirement