Crypto AMA with 3Box (7.24.19)
Guests:
Michael Sena
Joel Thorstensson
Danny Zuckerman
Moderator:
Moderator:
Without further ado, let’s give a warm welcome to 3Box founders Michael Sena (CEO), Joel Thorstensson (CTO), Danny Zuckerman (COO)!
As a reminder for everyone participating—please keep the discussion respectful and on-topic at all times.
@Danny @Michael @Joel —could you start off by giving us a brief bio on your backgrounds as well as how you all got started in crypto? And then a short overview of 3Box and a brief update on your progress to date? We’ll then be off to the races with questions.
Michael:
Thanks, let's get started!
Michael:
Hey Crypto AMA! 👋 I’m Michael Sena, Co-Founder and CEO of 3Box. Excited to be here along with my co-founders Joel Thorstensson (CTO) and Danny Zuckerman (COO). Big thanks for having us on and excited to share our project and thinking with all of you!
As background, we've been thinking about distributed data and identity for years. I was a co-founder at uPort, the first Ethereum project aimed at self-sovereign identity. Danny wrote a book on identity. Joel has been building distributed tech since Ethereum's DevCon1 in 2015. About this time last year we observed a few market developments:
1. Distributed data (IPFS and OrbitDB) became viable and reliable if used intentionally
2. There was a clear path to interoperable shared user data with decentralized identifiers, in the form of DIDs. DID is a spec that came out of the Decentralized Identity Foundation, which we co-founded while at uPort.
3. We saw a clear product need among decentralized app developers for easy to use data infrastructure - they was no way to handle user data in a decentralized app, which is a requirement for building engaging, usable features!
So we started 3Box, which is the easiest way for front-end developers to build fully-featured applications without needing to configure and manage a back end to handle user data. Our goal is to make it super simple for developers to build better, more engaging applications in a safe, secure, and decentralized way that also provides real benefit to end users and businesses. Also apps no longer need to manage the risk of handling user data.
Today, we provide reliable storage network nodes and infrastructure (using IPFS and OrbitDB), as well as 3Box.js, which is a JavaScript SDK that enables developers to quickly and easily build interactive decentralized consumer web applications with APIs for Identity, Authentication, User Profiles, Storage (Spaces), and Messaging (Treads).
To date, we have seen 8,000 user profiles created and more than 350,000 getProfile API requests. Additionally, some of the most influential projects in the Ethereum ecosystem, including MetaMask, Aragon, Giveth, Livepeer, and more, are working on integrations that should soon go live. We're focused on Ethereum app developers for right now and will expand to other blockchain networks and more traditional apps before too long.
Hopefully that's a start, and excited to get into much more about our tech, background, and plans in your questions!
Joel:
Hey all, I’m Joel. I first I started playing around with Ethereum in early 2015, I was studying Computer Science at the time but after being involved in the crypto space I wanted to expand and ended up doing a masters in Complex Adaptive Systems. I parallel I worked at Consensys until we started 3Box.
Danny:
Hey all, excited to be here! As Michael said, I was working on identity (in a very different context), and fell down the blockchain rabbithole as part of my interest in how people work together, starting with my political philosophy studies. More on my 3Box profile :) https://www.3box.io/0xff326878d13b33591d286372e67b4af05cd100bd
Participant:
Hey Michael, Joel, and Danny, thanks for joining the AMA today!
Moderator:
This is great, thanks a ton for the background guys. Let's dive into questions!
Moderator:
I'd like to start off by zooming out a bit. We've seen so many decentralized identity / distributed data projects over the past few years and none of them have really taken off. What has 3Box learned from those earlier projects and what do you think makes 3Box unique and able to overcome the challenges that other projects have faced?
Michael:
We're happy be here 😄
Michael:
Great question and one we get often. Most previous attempts at identity and data have focused on the end user to begin with, and it's very hard to get enough critical mass of users to care to build network effects. With 3Box we took the opposite approach. Instead we provide valuable tooling to developers in the form of infrastructure, SDKs, and APIs that make it easy for them to build better apps. Additionally our model taps into existing network effects on ethereum by leveraging ETH keys as accounts, and doesn't really require users to do anything different.
Participant:
Can you please explain the types of use cases that integrations with Metamask and Livepeer will enable?
Participant:
Hi everyone. Sorry if asked just got here -
Does 3Box use AWS/GCP/Azure for storage? If so, how does it compare to the traditional methods where apps store user storage on the cloud?
I just feel like DApps should leverage cheap cloud storage and give the keys to the users
Thank you!
Moderator:
Got it. So you guys are going out and partnering with dapps (e.g. Foam) and convincing them to use 3Box. What features are you seeing adopted the most with your APIs? What types of dapps are more easily enabled now that teams are using 3Box?
Michael:
Sure thing.
MetaMask is using 3Box as a decentralized, user controlled localStorage that can be shared across various browsers instead of being trapped in one browser. They are backing up extension data such as account names, user preferences, token lists, etc into a MetaMask space on a user's 3Box.
Livepeer is using 3Box for user profiles in their explorer for transcoders and stakers to enable stakers to better identify the transcoders they would like to stake with. This will give an identity to the hex address that are currently in the UI of the explorer.
Participant:
Excellent, thanks!
Joel:
That's an interesting question! 3Box uses IPFS and OrbitDB to store data. This requires nodes of a 3Box pinning service to be run to keep the data available. Currently we are running these nodes on AWS, but they could just as easily be running on others as well. We are also moving towards making it a lot easier for anyone to spin up their own pinning nodes as well, recusing the relience on our AWS based infra.
Participant:
What is the current status of uPort?
Danny:
Yes, some we're working with quite closely (like Livepeer) and other dapps and projects are just finding us on their own and integrating. In some cases we only find out about their use once they're live!
In terms of API usage, it's a mix. We have the deepest usage of Profiles now as it's the simplest integration and was our first API released. It's kind of a precursor to the other ones. But we've seen a spike in interest since we released Messaging, as a lot of dapps have been waiting for a way to do various types of messaging (comment systems, trollbox, private DMs).
In terms of the types of dapps it enables, really anything with a social component or need for user data - which is nearly any dapp that wants to deliver a good experience to end users.
Moderator:
As a reminder I'll also be asking audience-submitted questions from our Slido instance (marked with *)
* Is 3Box competitive to Blockstack?
I'd also add...
Is Libra competitive to 3Box?
> “An additional goal of the (Libra) association is to develop and promote an open identity standard. We believe that decentralized and portable digital identity is a prerequisite to financial inclusion and competition.”
source: https://www.coindesk.com/buried-in-facebooks-cryptocurrency-white-paper-a-digital-identity-bombshell
Joel:
To add to that it's also enables data to be more easily shared between users and abstracts away the underlaying infrastructure. Users shouldn't be forced to rely on some particular backend services that are being used today!
Participant:
Helpful thank you!
Michael:
uPort is still being incubated within ConsenSys, and is focusing on serving Government and Enterprise use cases as well as furthering identity standards inside of the DIF and W3C. They're not focused on serving those building decentralized or distributed applications.
Participant:
Congrats on a polished value prop and on your progress to date. Synergies within Ethereum dapps and infra (and arguably within other smart contract platforms) could strengthen the ecosystem as a whole, as new entrants may more easily leverage incumbent solutions in a decentralized system. Could you please speak to how you think about building in-house vs using other existing solutions for 3box? Thanks!
Danny:
on Libra, we're certainly watching carefully. We don't really know how they'll approach identity yet. They've said they are committed to user control over keys and open identity, but we know there are a lot of avenues for a system to be technically open but practically more closed, especially when one player has such broad distribution and strong network effects at the edges (Calibra).
Michael wrote a piece about what we're watching for as Libra and Calibra develop here - https://medium.com/3box/3-questions-for-facebooks-calibra-44ce547a85cb
Michael:
Blockstack has done a great job of pioneering the space, and we're among the group that founded the DIF along with uPort, Sovrin, and Microsoft. However, they are taking a different market approach. They are building a full-stack of products and are trying to homegrow their own blockstack ecosystem of developers. In contrast, 3Box is serving existing developer ecosystems and is taking a much more middleware approach to the problem by leveraging other distributed technology such as IPFS/OrbitDB, and Ethereum keypairs.
Moderator:
Super helpful color. Thank you @Danny @Michael
Participant:
How do you forsee 3Box's customer base evolving over time? For instance, will you develop 3Box to be used by blockchain devs outside of Ethereum, or for more traditional web2 apps
Danny:
Thanks! Are you thinking about for any piece in particular? Generally, we want to use existing solutions wherever possible. We are taking a middleware approach and building on IPFS and OrbitDB, among others. We have a lot to do, so the more we can stay lean and thin and work with others in the ecosystem who are building complementary pieces, the better!
Participant:
Thanks. I didn’t mean to focus on a past life. Just trying to get some context.
Michael:
definitely have those ambitions and an architecture to support it. By design 3Box can easily support additional authentication methods beyond Ethereum keypairs. Once we see additional blockchain ecosystems have a mass of developers building distributed consumer applications we will easily add support for that chain. 3Box identities will unify a user across the many blockchain networks where they interact. Looking further out, we can add traditional web2 authentication methods as well which will allow us to support adding distributed user data to more traditional web2 applications, who likely just want to reduce the liability of managing user data themselves.
Participant:
Nothing more specific, trying to understand the general philosophy. Helpful, thanks!
Moderator:
What is your business model?
Michael:
For business model, we will offer a managed node service that bills our largest applications for management and storage, but that still offers free services for those hacking or just getting started.
In any context, apps will need to pay for data in some way - be it AWS costs or blockchain storage rent - and we have heard a willingness by the most commercially viable apps to pay.
Long term, we may think about decentralizing this model and incentivizing good behavior on the network in some way, but that is going to require more research.
Michael:
Additionally, anyone can run and operate their own node without using our managed service, so the model is decentralized. Although they won't have to pay us, they will likely will need to pay Filecoin or someone else in the future for the raw storage 🙂
Participant:
What is the stance of 3Box with regard to linking wallet addresses to specific users? Are there concerns with regards to more directed attacks on users based on having open information regarding their off-chain identities? Is the team working on ways to de-couple or obfuscate addresses and identities?
Participant:
Congrats on your recent funding round and thanks for being here! Any thoughts on the ERC-725 standard and Origin's approach to identity and whether it's complementary/competitive/different to you?
Michael:
good question, a couple points on the topic:
- we don't enforce real world identities being linked to their on-chain address, but adopt a pseudonymous model, and users can choose how much to add
- data in 3Box can be stored publicly or privately, and private data is only shared with those that the user consents to
- anytime information is public, we are communicating this well to users
- lastly, our DID architecture allows users to share data across many different on-chain accounts in an obfuscated way. As users move towards using more and more keypairs for dapps, less information will be publicly correlatable to a single user on-chain
Moderator:
What new types of dapps and business models does 3Box enable? Also, are there any Open Finance use cases you're particularly interested in seeing built with 3Box?
Participant:
Is Keybase viewed as competitive? I ask because it’s used for validator identity on most Tendermint based chains.
Joel:
Thanks! Our approach is quite different in that identities are completely off-chain, where as erc725 is completely on-chain. These are complementary for sure, however we believe that most user data will actually need to be off-chain. One use case for on-chain erc725 might be to verify a zero-knowlege KYC proof for participating in a smart contract whitelist. Data that is stored on-chain is immutable though so it's not ideal for personal information.
Participant:
Is https://passbase.com/ viewed as competitive ?
Michael:
Keybase is a key manager and could be used as an authentication method in 3Box. They don't do distributed data storage. We can add Keybase auth to 3Box if our communities want it.
Participant:
Understood, thanks.
Michael:
3Box is really serving developers, and a by product is end users. Keybase is focused on the end user.
Michael:
nope! They actually reached out to partner 🙂
Participant:
Got it, thanks! Why do you think it'll need to be off-chain? Storage bloat?
Participant:
Interesting. Thanks Michael.
Michael:
for one, but in general off-chain is much more scalable and interoperable between all blockchain networks and web2 platforms Also, immutability is not really a property you want when managing user's personal information. Another reason is cost and the poor UX of transactions. Lastly, you want data associated to a DID and not an address.
Participant:
Has 3Box considered adding social reputation layers to the protocol? For instance, scoring between users based on social parameters such as intellect, value added to conversations, humor, etc?
Participant:
Makes sense 👍
Michael:
totally, we hope things like this exist using 3Box data and storage long term. Reputation is a big and hairy topic, and it also tends to be localized to communities so it's hard to build a one-size-fits all solution. We imagine a whole bunch of different types of rich reputation systems that can be built using 3Box social data. I hope developers start building these things 🙂
Danny:
Great question. Three general thoughts here, getting bigger over time, and happy to dig into any in more detail.
-First thing 3Box enables is what we think of 'minimum viable dapp'. Developers can now build applications with distributed data and identity - which we think is the most important piece of an app to be distributed, in many cases - without any ethereum tx's (soon we'll be able to support this with authentication methods other than ethereum keys). There are lots of apps that would love to store data with users for various reasons, but haven't had an easy way until now.
-One model of apps this enables is services for users that can rely on having a complete data history. To date, our data has been fragmented and reconciling/piecing it together is expensive. If a user has all their data in 3Box, apps can rely on high quality, complete data and deliver experiences they couldn't before. And because users are ultimately in control, we think they'll gladly give developers access to data to deliver great experiences, knowing that if trust is abused it can be revoked. To your specific question about open finance, there is a ton that can be done here if a user has all their financial data to grant, which enables dependable and contextual reputations (credit scoring)
-Ultimately, this can really remake the incentive model of many apps. Today the dominant app economy is grabbing user attention + user data. But if users have their full data history to grant access to, this makes less sense and the model shifts to providing valuable services directly, which can be highly interoperable because it's drawing on the same data and history centered around the user.
Moderator:
Love this answer! The way I see it, 3Box introduces *yet another* Lego block for Ethereum devs to use easily when building dapps (distributed data and identity). You can imagine a world soon in which we have battle-tested and provably secure 'minimum viable dapp' created with minimal effort
Michael:
🚀🚀🚀
Moderator:
One way to think about 3Box is that "it makes it easy for the user to carry their data across various apps, networks, and services without needing to recreate new data each time" - which you wrote in your GitHub docs. However, a slightly different way to think about it is that 3Box allows different dapps to communicate and leverage one another with 3Box acting as the glue between them. You touched on this on your last point and I suspect we'll see some pretty cool examples of this emerge soon (probably drawing on personal reputation/history with DAOs and other dapps)
Moderator:
Anways, I'm geeking out. Why aren't you issuing a token? Curious on the thought process
Participant:
If applications as oppososed to users are paying for storage and data costs, is it possible for sybil attacks to occur at the app layer with numerous 3Box profiles?
Michael:
totally! 3Box can be used as the glue between collaborative dapp/app cooperatives that respect and leverage eachothers data to deliver amazing user experiences and services!
Michael:
What Ethereum did to application and financial logic, 3Box can do to user and application data!
Danny:
Here's how we think about tokens for 3Box long-term:
- We are big believers in the value and power of tokens long-term.
- There are a few areas in the decentralized network and data ecosystem that we're buliding where a native incentive could be a natural fit and big help, eventually
- For now, we're providing value to developers through our products directly. We think it's incredibly important that 3Box is as easy to use as possible for developers, so our goal is to keep friction as low as possible as long as possible, and we don't need a token to bootstrap the network since our product value does that
- This also lets us see how the network gets used, what token models work well elsewhere (It's still early!), and learn a lot about how a token does or does not make sense in the context of what we're building.
So, tl/dr: we're thinking about this but really like the position we're in to not have to rush a token before we know it will add a lot of value directly to the network and its participants
Participant:
So if 3Box is managing all the user data, it's not really distributed is it? Do you have any examples of developers choosing not to log certain user data because they know they can query it from 3Box? Is there certain user data that app developers today log about users that 3Box protects?
Joel:
We haven't come up with a perfect solution for this yet. There are many different ways to solve it that we have in mind. However, we don't want to force a particular solution on any application or community. Depending on the use case there will be different solutions that makes sense, so apps and communities might end up with different approaches. We are looking to enable all of them, but might provide some standard ways of doing it.
Participant:
Got it. Thanks!
Michael:
3Box leverages decentralized storage protocols IPFS and OrbitDB, which set the foundation for data to be more and more decentralized as time goes on and gives users ultimate control. At this point, things that guarantee availability of data such as Filecoin are not live, so to provide guarantees about availability, reliability, and performance to our applications and users, we're managing a bunch of nodes now. However developers can always run a redundant node and pin the data that they choose, which decentralizes control.
We have lots of examples of dapps trusting 3Box as the canonical and only source of user data. Most integrations going live use this pattern, including Livepeer, MetaMask, Aragon, etc. In fact, they don't want to store this data themselves because they're buildind a dapp, and centralizing user data isn't really an option to them. It's seen as a liability and against their ethos and promise to their users.
Participant:
Totally with you on the ethos and promise. But if that stopped paying the bills, technically they could still log all the data that they're querying from 3Box, right? Are there types of data 3Box is storing that could be zk-proofed to dapps (e.g. is birthday > 7/24/1998)
Participant:
sidebar: jfc there are 21 year olds born in 1998 now??
Participant:
Are you guys looking into integrating with other Layer 1 protocols now or in the future?
Danny:
Yes, very open to integrating with any layer 1 protocols with an active developer community building user facing dapps. Any in particular you have in mind that we should prioritize?
Our architecture is designed to interoperate across them, with multiple authentication modules (key types) mapping to the users DID, which then maps to the data. So more networks are definitely coming, it's just a matter of when and prioritizing.
Michael:
yes, today the only thing that is stopping apps from also logging the data is their promise to their users, or fear of government regulation (in the case of a decentralized marketplace).
As you mentioned, data stored in 3Box is only of the Key-Value format, and one option is for the values to be ZKPs, that only disclose a bit of information required. There are many methods like this that could be applied in the 3Box context. We are fairly unopinionated about how and what data is kept in 3Box at this time, including verifiable credentials, raw strings, encrypted values, ZKPs, etc...
Participant:
Do you plan to do another raise before structuring a token?
Moderator:
Which decentralized storage protocols are you guys most excited about and tracking? Why?
Danny:
It's too early to know right now. We're in good shape for right now and the immediate future, so focused on building out the network and products in the near term
Moderator:
Alright guys, 5-minute warning! Last questions if anyone has one.
Participant:
Are there any verticles/industries that you think 3Box would not be a fit for?
Participant:
got it. Regarding how to structure dapp requests for user data, how has it been trying to streamline and standardize that request format? Have the desires of Livepeer and co. matched what DIF and W3C expected? Are you converging with Blockstack or diverging?
Michael:
I'd caution us against focusing at this time on highly regulated industries and/or ones that want to store overly sensitive information in 3Box. We can likely support these in the future but I think we should let the tech mature a bit before diving headfirst into those arenas.
Michael:
We use the DID standard so our identity and data addressing model is totally compatible with every other decentralized identity provider, and users should be able to port their data between all providers that adhere to the same standards. As for schemas, we try to keep an open general format, but use schema.org and IPLD where we can. Over time we will work on defining these more as new requirements and use cases come in. Livepeer and others have been okay with our current approach.
Moderator:
Running up on time. @Danny @Joel @Michael - feel free to answer any last remaining questions, and then finally, please tell us the best way to stay up to date with 3Box as well as best ways to stay in touch!
Joel:
We are tracking numerous projects, some highlights are swarm, gun, and DAT. However we are quite convinced that IPFS has the strongest lead and momentum. The community is incredible (I was just at IPFS camp). In addition to this, OrbitDB, which we are using, just released a paper today called Ambients. It describes a really powerful protocol for decentralized computation and data storage. If you haven't yet checked that out make sure to!
https://medium.com/@hajanetworks/re-decentralizing-the-web-54678a1e4848
Danny:
also here's the research our engineering team did on distributed data options last year and why we built on OrbitDB - https://medium.com/3box/3box-research-comparing-distributed-databases-gun-orbitdb-and-scuttlebutt-2e3b5da34ef3. We're big fans of the work that team is doing
Participant:
Awesome, thank you for the thorough responses!!
Participant:
Thanks 3Box team!!! This was great!!!
Michael:
Crypto AMA community - thank you for your interest and questions! We had a great time trading thoughts and ideas with you. Hope we can be on again in the future.
Stay up to date on 3Box! 3️⃣
• join us on discord: https://chat.3box.io
• follow us on twitter: https://twittter.com/3boxdb
• read our medium blog: https://medium.com/3box
• create your ethereum profile: https://3box.io/hub
• join our newsletter: https://3box.us19.list-manage.com/subscribe?u=5a9411d6043824e844bff724b&id=a4851c7de4
✌️Michael, Danny, Oed
Moderator:
Everyone please give a huge thanks to the 3Box team for coming on!
Participant:
Thanks!
Danny:
thanks all! reach out anytime with questions. fun being here
Moderator:
And as always—thanks everyone for tuning in & asking thoughtful questions.
Participant:
Thanks a lot guys!