Development Update 008—June 22nd, 2018
Is it getting hot in here, or is it just these updates? With all the moves we been making in the past few months, it’s hard to know where to start. One thing’s for certain—it’s going to be a very sexy summer! Here’s a quick and dirty breakdown of what we’ve been up to:
- Camsite
- SpankBank
- State Channels
- Community
- SpankChain on the Prowl
Camsite
Our camsite received a very warm welcome. In the first week since our public beta (6/9, haha), 276 new wallets were created. In that week alone, our generous viewers doled out 1,509 tips to the tune of 7.88 ETH. Even more impressive, since our private beta launch (April 1), 1,492 wallets have been created, 62,084 message sent, and 13,020 tips given, raking in a whopping 61.19 ETH for our performers.
Since the public beta launch, most of what we’ve been up to is fine-tuning what we’ve built. We’re looking at bug reports from our users and fixing any critical errors we come across. We’ve also fixed a bug with geoblocking, which was hilariously blocking entire countries. Oops. All bug reports from users unable to start or re-start streams have also been addressed. We’ve also got quite a few things in progress, including a shift from socket.io to pubnub. The latter will allow for greater stability and a larger load… no not that kind! We’re talking about viewers, get your mind out of the gutter. ;)
Video (iOS Support)
A lot of our performers stream from Chrome, which is a problem for viewers tuning in via Safari/iOS. Browser limitations mean that Safari/iOS users can’t access that content. Now that our Chrome patch has been accepted, it will pave the way for h264 simulcast. The patch should land on mainline Chrome in the coming months. Once this goes through, we’ll immediately have full Safari/iOS support.
New Features
We’ve still got some hard work ahead of us. Some of our top priorities include OBS (Open Broadcast Software) support. OBS is a free media streaming program that’s very popular among cam performers and, not so surprisingly, it’s one of our most requested features (bonus: it will allow us to support twitch-like gamer streams). We’re also working on building out performer profiles, which will include personal details, fun facts, and links to social media profiles. Speaking of social media, to keep up to speed with all show announcements, make sure to follow our brand new SPANK.Live account on Twitter (turn on notifications and you’ll never miss a show!). And if you’re interested in performing on SpankChain, sign-ups for U.S.-based performers can be found here. We’re also building out a handy (pun-intended) support section and crypto-knowledge base for all you curious minds and crypto-virgins out there.
SpankBank
Our work on the SpankBank can be broken up into two categories: research and development. While we’re building the minimally viable SpankBank v0, we’re also researching how to further decentralize future versions of the SpankBank. The first version of the SpankBank will allow for staking SPANK and minting BOOTY, but will not have BOOTY rewards for real-time Proof-of-Spank age verification or decentralized mechanisms to support the $1 BOOTY peg.
SpankBank v0
Since we open sourced the SpankBank code a few weeks back, we’ve added the ability for stakers to split their staked SPANK to another address. For stakers, this means they can more easily manage several staking addresses with different staking lockup times.
We’ve also introduced delegate signing and signing withdrawl addresses for BOOTY. Stakers can, if they choose, select a second address different than their main staking address for the monthly SpankBank check-ins and BOOTY withdrawals, and also select a third (or re-use the second) address to receive withdrawn BOOTY. This grants stakers multiple options along the spectrum of convenience (use the same address for all three) to security (use different addresses for each).
We’ve addressed the issue of smart contract upgrades — a real pain in the butt — with a straightforward solution. We’re now using staked SPANK tokens as votes (one SPANK, one vote). Once the SpankBank opens, if a majority of SPANK stakers decide to upgrade, the smart contract will “close” and all stakeholders will be able to withdraw their funds and move to a new SpankBank contract.
Things move fast in crypto, so even though approveAndCall was deprecated from the ERC-20 extension in favor of ERC-777, we’ve continued to support the integration of multi-signature wallets using it. So, multi-signature wallets holding SPANK need not worry. We’ve got you covered.
To test the SpankBank, we created fuzz and unit tests. The fuzz scripts consists of going through the process of creating stakers that randomly stake, checkIn, claim booty and withdraw their stake. We also have unit tests that explicitly test for all the failures for every method.
All that being said, we’ve still got a few items on our SpankBank to-do list, including a manual test with multi-signature wallets with mainnet SPANK to ensure staking contract-to-contract calls work as expected. We’re also working on a professional smart contract audit, in order to ensure our code is secure. We estimate that staking SPANK should be production ready in the next month.
SpankBank Research
One of the most frequently asked questions about the SpankBank is: “how will you enforce the $1 BOOTY peg?”. There is no magic bullet here — all pegs are backed by reserves. If the price of BOOTY drops below $1, then BOOTY must be bought on the market and burned until the price returns to $1, and the value to purchase it has to come from somewhere.
There are several places where that value could come from:
- SpankChain’s reserves
- The discounted liquidation of stakers’ SPANK (sell $1 worth of staked SPANK for 1 BOOTY)
- Stakers ETH / ERC20 collateral that can be sold in place of their SPANK (sell $1 worth of ETH / ERC20 for 1 BOOTY)
- The inflation of the total SPANK supply (sell newly minted SPANK for BOOTY, similar to MakerDAO’s “buyer of last resort”)
- The reduced generation rate of BOOTY (takes speculative value from SPANK, increases short-term demand for BOOTY)
- Sell BOOTY bonds to encourage BOOTY lockup (takes speculative value from SPANK stakers to reward bond purchasers, similar to Basis’s “Base Bonds”)
We decided to focus in the short-term on shipping the SpankBank v0 because the economic research and secure smart contract implementation of these mechanisms will not be trivial. Many of the mechanisms involve using multiple price feed oracles in concert and as critical triggers for SpankBank events, which itself introduces the need for oracle governance, an unsolved problem. Further, we want to carefully consider the cryptoeconomic incentives that each mechanism introduces, especially when they are combined.
In the coming months, we plan to release a paper discussing these topics, but in the meantime we are confident that a solution to incentivized decentralized maintenance of the $1 BOOTY peg exists, and want to share our current thoughts on reducing BOOTY volatility.
Demand Shock
As planned, the total supply of BOOTY will target 20x the total BOOTY fees paid during the previous month. That means that unlike Basis, the creation of new BOOTY is not tied to the arbitrary demand for price stability, but by real economic activity within the SpankChain ecosystem. In our economy, the most likely situation which would cause a price drop in BOOTY is if the usage of BOOTY spikes for one month and plummets the next, inflating the BOOTY supply beyond its sustained consumption.
Now, this isn’t a problem per se, because BOOTY would continue being consumed and would stop being generated until eventually the total supply reached its equilibrium at 20x the consumption rate, but this scenario makes it more likely that a staker would dump their BOOTY trove onto the market, crashing the price.
There is also a risk of a “death spiral”, where if multiple BOOTY whales suspect that others are getting ready to dump, it is in each of their interest to dump first, thus receiving a better price.
BOOTY Bonds
The primary novel mechanism presented in the Basis whitepaper is that of the Base Bond, which we plan to commandeer as BOOTY bonds. When the price of BOOTY drops below a certain value, say $0.90, the SpankBank could issue BOOTY bonds. Each BOOTY bond would cost 1 BOOTY to purchase, and would pay out 1 BOOTY the next time BOOTY was minted. BOOTY bond holders would receive their BOOTY payouts ahead of SPANK stakers until all BOOTY bond holders were made whole, and would also be paid out in order that the bonds were purchased (first-in-first-out).
This mechanism counteracts the previously mentioned death spiral by providing an incentive to be the first to buy BOOTY as it is dropping.
One concern would be that external actors would buy up all the bonds, reducing the potential reward for stakers, but this could be addressed by giving stakers priority on bond purchases.
BOOTY Call
Should the price of BOOTY drop even further, say to $0.80, the SpankBank could issue a BOOTY call, and force all stakers to send BOOTY to be burned proportional to their SPANK stake or risk their stake being liquidated at a discount.
The logic here is this: For BOOTY to dump, some staker must have dumped their BOOTY or sold it to someone who did, and the staker presumably still has in their possession whatever asset their sold it for, and can buy the BOOTY back. If they fail to do so, then they will be held accountable by the other stakers who can buy $1 worth of the dumper’s staked SPANK for 1 BOOTY.
This mechanism would, in a decentralized way, incentivize all stakers to help maintain the $1 BOOTY peg. The optimal default strategy is for stakers to sell BOOTY on the market equal to the aggregate monthly consumption of BOOTY, and in doing so earn the best possible price.
It would also be possible to combine the BOOTY call and BOOTY bond mechanisms, and further incentivize the purchase of BOOTY bonds by allowing BOOTY bonds to be used in place of BOOTY during a BOOTY call.
Ultimate Goal
This all might sound complicated, and to some degree engineering stable economies without adverse game theoretic feedback loops is complicated. But if we get this right, we’ll have created—completely outside the legacy financial system—a low-volatility fee credit for the SpankChain ecosystem and greater adult industry to use as both a transactional currency and store of value, which we would consider a revolutionary victory.
This isn’t something we want to fire blindly on, so we ask for your patience as we continue to do diligently research this topic. In BOOTY we trust.
State Channels
As far as State Channels are concerned, we’re working closely with Connext to create a non-custodial payment hub — the first implementation of its kind. In order to achieve trustless atomic payments, we decided to leapfrog the hashlocks that Lightning and Raiden are using in favor of “virtual channels”, inspired by the research of the Perun team. Much in the same way that vanilla state channels use the Ethereum blockchain as the settlement and verification layer, two parties which have state channels open with the same hub can open a virtual channel directly with each other, and use their respective hub state channels as the settlement and verification layer.
In our case, users will automatically open virtual channels with performers upon entering a cam show, and then automatically close them upon leaving. Our goal is for the SpankCard UI to change as little as possible while hiding as much of the technological complexity inherent in this as we can. We’re looking at shipping this upgrade in the next two weeks or so, and preparing it for open-source after that.
We’ll have a white paper describing that implementation and its optimizations compared to other proposed protocols shortly, so stay tuned.
We may have also incited a bit of drama by criticizing L4 for developing their state channels code in secret, despite receiving $1.5M from the Ethereum Foundation. Pew pew pew.
Community
If there’s anything that matters most to us, it’s our community. So, we sent out our first community survey to understand just who our members are, what they think we’ve done well, where we can improve, and what future they’d like to help create alongside us. Here are some interesting things we discovered:
- Our community is 85% male
- 56% of our community is aged 25–34
- 51% have a bachelors or masters degree
- The majority work in software/IT
- 90% participated in the camsite private beta in some way
- 40% tipped (compared to ~5% on normal camsites)
- 50% want weekly updates, (so we’ll be releasing more content)
- Dev Updates and Spankonomics are the most requested content
When we asked our community what future they’re most excited about, the cutting edge work we’ve been doing with State Channels and smart contracts does tend to come up quite a bit. However, what our community longs most for is a world that empowers artists and entertainers. They’re eager to see performers equipped with the tools and support to take control of their livelihood.
Not only are we introducing models and viewers alike to cryptocurrency for the first time, but we’re also popping many a camming cherry. Believe it or not, the majority of our community is new to the wonderful world of live-camming, and we couldn’t be more honored or excited to be the ones who get to show them around.
SpankChain on the Prowl
We’ve been racking up those frequent flier miles, spreading the blockchain gospel across the country and the globe. The Spank Team went to the XBIZ Cam Awards in Miami, Florida (where our model community manager Allie Knox won best fetish cam model). We also participated in the Future of Payments panel and debuted our beta cam site to the industry folks and models.
Then, we traveled all the way to the AWSummit in Romania, where we met with even more industry folks and made some great connections. The summit took place in Mamaia, Romania, on the Black Sea. We had the opportunity to attend some pretty amazing seminars and network with potential partners.
Our globe trotting didn’t stop there. We went all the way to Buenos Aires to talk ETH, and our state channels dev team participated in the hackathon and built StrETH Fighter — a fighting game using virtual channels. We also talked SpankChain and state channels in San Juan, Puerto Rico and Santiago, Chile, as part of our adventure.
Closer to home, we dropped by Caltech with a friend from the Ethereum Foundation to talk about scalability, and were well received by the throngs of eager computer science students.
Last but not least, here’s a fun little video of Ethereum co-founder and ConsenSys CEO Joe Lubin giving us his seal of approval. Turns out he’s a big fan of our cutting edge technology and our co-founder and CEO, Ameen Soleimani.
Why we do what we do
We’ve also been unfortunately reminded this month that for adult performers, the struggle is very real. Brenna Sparks, a prominent crypto influencer and a rising adult star had her bank account shut down without warning.
We will not stop until we’ve helped the adult industry overcome the tyranny of the banks. Join us in our rebellion.
Connect with SpankChain
For more information about the SpankChain project:
- Sign up for our beta camsite
- Check out our white paper
- Watch our introduction video
- Follow us on Twitter
- Join us on Discord
- Subscribe to our subreddit