Episode 331 - Farcaster with Varun Srinivasan
10 Jul 2024 · 1:22:44
Zero Knowledge hosts Anna Rose and Tarun Chitra talk with Varun Srinivasan, co-founder of Farcaster, about the decentralized social protocol's origins and how it differs from existing social networks. They explore the design space Farcaster opens for developers, comparing it with earlier efforts like Mastodon and Secure Scuttlebutt, and dig into Frames, the interactive mini-app format built on top of Farcaster casts. The conversation also touches on reputation systems like OpenRank and what decentralized social media needs to succeed.
Speakers
Topics
Transcript
[Music] welcome to zero knowledge I'm your host Anna Rose in this podcast we will be exploring the latest in zero knowledge research and the decentralized web as well as new paradigms that promise to change the way we interact and transact online this week tun and I talk with verun from farcaster foraster is a web three native social network which op sources a social graph enabling app developers to build on top of it without a controlling intermediating party we discuss what inspired the project how
different farcaster is from existing social media platforms what design space this opens up and what kind of applications could be built on this in the future now before we kick off I want to let you know about ZK hack Montreal it's an IRL ZK focused hackathon happening on August 9th to 11th ZK hack is another project that I'm involved in it's a hub for ZK learning and as part of this we produce hackathons ZK hack Montreal is our fourth time hosting this hackathon series and our first time hosting it in North America some of you may be attending SBC the week leading up to the zck weekend luckily it's just an hour flight to Montreal from New York so you can easily do both events plus you get to hang out in beautiful Montreal
for the weekend and hack on ZK tools meet experts in the the field and hopefully meet your future collaborators and co-founders at Zack Montreal we already have some amazing Partners like Risk zero and polygon lined up and many more so you should keep your eye on ZK montreal. comom for more info about the event applications are open and we hope to see you there now Tanya will share a little bit about this week's sponsors galot is the first decentralized proving layer with galot users can generate and verify proofs using any proof system for any use case you can use one of the default provs from projects like Aztec starnet and polygon or you can deploy your own galot
is on a mission to dramatically decrease the cost of proving by aggregating proving workloads from across the industry to better utilize underlying Hardware while not compromising on performance galot is offering Priority Access to ZK podcast listeners so if you would like to start using high performance proving infrastructure for free go register on gel.com and write ZK podcast in the note field of the registration form so thanks again gelot Alo is a new layer one blockchain that achieves the programmability of ethereum the privacy of zcash and the scalability of a rollup driven by a mission for a truly secure internet Alo has interwoven zero knowledge proofs into every facet of their stack
resulting in a vertically integrated layer one blockchain that's unparalleled in its approach Alo is ZK by Design dive into their programming language Leo and see what permissionless development looks like offering boundless opportunities for developers and innovators to build ZK apps this is an invitation to be part of a transformational ZK Journey dive deeper and discover more about Alo at al.org and now here's our [Music] episode today trun and I are here with verun shavasan co-founder of farcaster welcome to the show verun hey thanks for having me been a longtime listener and it's exciting to be on actually talking
with youall I have to admit to you just to start I am a very much a latecomer to forecaster I had people pinging me about it maybe last year and I didn't respond until this year and I really did feel when I joined like the party had started I felt like there was a lot of action I felt a little bit like out of it and I was like oh wow I've been missing it all this time tun I think you've been on for a while though you've been signed up for longer than me yeah I mean I I would not put myself in you know the the first you know my My Fit is not sufficiently low which is like the farcaster ID of the user but I have a couple of friends who were very early users who are constantly
badgering me and that convinced me and yeah I think I'm still not exactly sure how to what my social media diet will be in 2024 I feel like in general en I think social media is like a very different place than it feels like it was even 2 years ago so I I'm definitely trying to explore what the alternatives are interesting one of the funny things I mean we've been working on farcaster for a little over three years now every year every season there's always someone who feels this way and by the next year they're the ogs and I think you know we're still very very early in a lot of ways and there's a lot more stuff to happen so even if you feel like you're late to the party I can guarantee you I can hope that you're going to feel very
very early in a few years I have classified myself as a what is it late early adopter M or an early late adopter like I'm definitely not early early adopters usually just generally of of products and stuff I'd say the same for like blockchain the only one where I could say there's an exception is ZK I think I was a pretty early adopter yes but the only one I mean you committed to doing a podcast extremely early I I mean what was other than Groth 16 be the being out plus like a couple test implementations from starkware was there like what was alive when this podcast started so I don't think starkware was alive actually um but bulletproofspeaking.com
2018 got it yeah and then the ZK Summit was March 2018 and that was the first event that we did I think it's important for us to introduce for the audience what forecaster is I know we just kind of talked about our own experience with this I'm I'm assuming our audience is aware that it's something to do with like a social app but yeah what is forecaster so forecaster is a decentralized social network and if you download one of the apps that connect to the network forcast and use it today you'll see something that looks and feels like 80% % Twitter 20% Reddit there's a feed people are posting stuff they're talking to each other it's primarily text based and there's also communities where people can organize into subgroups and do like interesting things in more Niche categories that's
what foraster feels like but what it is and the decentralized component of it is that there's no one server that controls or runs forecaster there's actually many hundreds of thousands of different nodes that all have a copy of the forecaster Network and what that means is for developers and people building on the network they have sovereignty and freedom to be able to build the applications that they want knowing that there's no one that can cut off their API access or shut them down and that's one of the reasons that forecaster we call it the open or the programmable social network is like you can actually build on top of it and you have confidence that the things you're building and the apps you're creating are going to be able to reach your users and there's no intermediating party that sits in between there's like Mastadon
which is like kind of come out as this like alternative to social media also decentralized but more Federated did I actually used that a long long time ago I remember the issue there was that like you could almost have like duplications of your identity in these different servers it was like no unified sense of Truth yeah but in the case of foraster at least it seems like there is is is there is it just like built completely differently so one of the very interesting things if you look at the history of decentralized social it actually has a fairly long history I mean it started back in 2013 when I don't know if you remember but people were trying to decentralize Facebook and diaspora this like decentralized Facebook Network came out and then we
had Mastadon activity Pub there's been secure Scuttle Bud there have been a bunch of very interesting approaches that have tried to decentralize it in different ways the other very interesting thing is social media is kind of the one form of communication or media that isn't actually decentralized because if you think about everything else email the internet television radio SMS they all have this sort of protocol and multi-party communication and that's never existed for social it's always been single player if you want text you go to Twitter if you want uh your friends you go to Facebook or maybe Snapchat now and I think the reason for that has always been that technology has lagged behind what people wanted in quite a significant way where it wasn't really possible to build a lot of the
stuff that makes a good social networking experience because the traditional way that social networks decentralized was what you can think of as Federation so this is the idea that like I run a server you run a server maybe turn runs a server that we both like connect to and use but this leads to like the the fragmented identity problem that you talked about where like you now have to know that someone lives on a different server and how to reach them and how to connect to them it also introduces some like very subtle challenges with how you collect data so one of the biggest problems in building a decentralized social network from from an application developer perspective is I want quick and easy consensus I want to be able to ask the question what are the last 10 things that somebody said and be able to get that answer
definitively and quickly and if you look at the internet which is another Federated decentralized Network that's actually a really hard problem like Google solved that problem and the reason it's hard is because there are hundreds or thousands of millions of servers that are all producing different content and being able to fetch all that data collect it together deal with all the inconsistencies and challenges and say this is what's actually people are talking about is really really hard to get right and so that's kind of been the challenge with using Federation the second approach is to use blockchains where you can say like hey Bitcoin and ethereum have actually figured out how to get all of this data and put it on a single machine so when you run an ethereum node you actually have quite literally every single transaction in
the world that has ever happened on one box and then you don't have fragmented identities you don't have to ask the questions of where's this data it's all here in your machine and so it's this very nice convenient location the challenge with blockchains or just like putting everything social on a blockchain is one it's expensive um you actually have to pay for every transaction and if you go and tell a user hey you have to pay for every post that's actually like a level of friction that they're not excited about like people want these actions to be fluid interactive you want to encourage people to talk to each other the Second Challenge tends to be that if you look at something like Twitter people are posting about 100,000 updates a second like that's how many operations are happening in real time and even the fastest blockchain today is like 100x
slower than that so doing that today is not really going to work that well and one one thing that people say is like look blockchains are going to get faster and they're going to get cheaper so like why not play the long game why not wait it out like 100x will come in the next 2 3 5 years and I I think there's like an interesting second order challenge there which is um One blockchains have to deal with double spent like you can't allow the same money to be spent twice and so that limits the strategies that you can use for consensus social networks don't quite have that problem the Second Challenge is blockchains are inherently financialized like when you build a sort of Turing complete programmable chain people can do whatever they want on it and so even if fees go down someone might build something that is
financialized that is orthogonal that creates a lot of demand and drives up prices and makes the network congested I mean you can see how this happened with Bitcoin ordinals with other things and so it would be very frustrating if you're on a social network and you're trying to post and it's like sorry you can't post somebody's buying this nft and so separating the social data layer from like the financial layer seems like actually a very uh required thing for for the user experience to feel good I mean in what You' just said I have so many questions and and sort of threads I want to pull but actually before I do that I I want to understand a little bit about what got you into this in the first place why are you working on this like have you worked at Twitter or something before no but back in college
I did spend quite a bit of time building social apps it was actually how I cut my teeth and got into programming we built this little app called uh mucher this was back in 2007 on Facebook's like PHP app developer platform and it would scrape in all of the Facebook events in your college and create a calendar of free food so if you wanted to eat pizzas all day and just never pay for uh your cafeteria you could just do that and the thing that clicked for me was it was a simple app that just kind of went viral and a bunch of people used it because it was so easy to get distribution and so was the idea that someone with an interesting idea could build something and actually get it to expand and spread on this social graph that felt like a really really powerful thing yeah but I
think like over the next few years all of these social networks Facebook Twitter everybody kind of shut off their apis and we kind of went into like the dark days of like social developers and it became clear that it was infeasible to build a business you saw Zinga became this huge public company and then nearly get killed by Facebook and all of this stuff and it became this like well nobody serious Builds on a social network because you don't have control over the apis and that dream sort of died out and I think after leaving coinbase so my co-founder Dan and I both worked at coinbase for about 5 years that's where we met each other we were thinking about like what got us excited and what we wanted to go build and work on next like if we wanted to take a 10-year bet on building something that
we thought would be very important for for the world and for society I think both of us got a lot of energy from thinking about social and it's like why is this consistently the only system that isn't decentralized as far as Communication System goes and like you know why hasn't this happened yet and as we started to pull the threads it felt like the timing was right like ethereum and blockchains had solved sort of these like core consensus problems and showed that you could actually have like the single node Global State model which seemed really cool if we could adapt that to Social in some ways and it also felt like the timing was right in terms of people's desire to want to be on decentralized networks and we just felt like this is the most interesting thing we could be working on and so we've been
doing that for the last three years cool I want to understand where you start from though so you start you have this idea that you're going to be doing a social network there's now some scaling tools but I think if you're talking about 3 years ago even like had the rollups been rolled out like even the stack you're built on today I don't know if it already existed or or it's was like sort of still a dream no it didn't um so it's interesting so when we started this so we started kicking around the idea in 2020 l2s were still not really a thing that people used they were like very very early not even U main net ready we we started with a couple of different approaches so one is we realized at that time hey you're not going to be able to
store all the data on ethereum like there's no way that's happening today it's too expensive too volatile none of these other networks are like immune from the same problem like yes today salana might be cheaper but there's nothing that stops IT from like jumping up tomorrow and we actually need a good experience and so we we started off by saying okay we have to figure out a way to separate the data layer from the blockchain we can use the blockchain for like core things like registration signups but we have to actually move the data off and V1 of forecaster we actually took that Federated approach that we talked about similar to what uh these other networks did we said basically hey let's put identities on the blockchain so your username your account that you register so there's no fragmented identities but then everyone runs their own server and
stores their data and within a few months we quickly ran into the problems of like hey all of these servers are starting to diverge a little bit it's getting hard to maintain them this seems really like not ideal and so we evolved into thinking about farcaster V2 two which was this borrow from the ethereum node philosophy of you can run a box and that will sync with every other box and have a copy of every message in the world in exchange it places some constraints on how much data you can produce because if everybody could produce an infinite amount of data well wouldn't fit in that box and it has an economic model where you have to pay to get storage and store some data and that's kind of how farcaster V2 came out but it was really through a lot of trial and error and building the thing getting
users and developers realizing why it didn't work and then repeating that cycle again where was the data being stored so it's our own offchain system so we call it a hub and it's effectively a node in the network so you could go today download a hub and run it and in an hour and a half it would sync with all the other hubs and it would download 140 gigs of data and that's the entirety of forecaster that's every message that has ever been posted and you now have that on your local machine and if you send a new message you can send it to any Hub and it will accept it it will verify that it's from your identity it will check the signature and all of that good stuff and then beam it out to every other Hub so if you're running a hub you
also have this guarantee that in real time you're getting all of this data that you can use to populate your app and your database so then that that kind of comment about consensus is it consensus of the Hub data specifically that like that's where you're kind of building something different exactly so like to give you an example um let's say you wanted to post hello world and then you wanted to delete it so one question is how do these operations happen like what happens if they come out of order so let's so you start off by creating a message that says hello world you sign it you put it out there now all the hubs have this hello world message it's great you decide you want to delete it you go and say like delete this message I didn't want to say this you post another
message saying hey this just got deleted now in an Ideal World the ad arrives and then the remove arrives and so every Hub kind of knows okay this was added and then this was deleted but what happens when those messages arrive in the opposite order some Hub ends up seeing the remove message first and then the add message how do you de decide which one is the origin and forecaster actually uses a very simple consensus mechanism built on what we call crdts or conflict free replicated data types uh it's a bit of a mouthful and it's actually a very simple concept with a very complicated term but it means that it has simple rules that every node can decide what the final State should be based on this so the simple rule in this case is if you have removed your message even if you've added it the state of the
message is always deleted so very simple concept two messages come in at the same time they always converge to the same thing and we take this sort of simple rule set and apply it to like more complex situations like when you're replying to yourself when you have too many messages and all of that and so the cool thing is you can just like blast out these messages to everybody and each Hub can get them and it can reach consensus by itself it never has to communicate with any other Hub in the network to figure out what the state is which is something you have to do with crypto and financial systems because you need strict ordering and you have to know that you know sent money to Bob before Bob could send it to Charlie one interesting kind of thing at least since we're talking about consensus in Social
protocols verus Financial protocols is you know there's sort of a notion of blockchain care about spam in a certain way right like Cil resistances like you know I care about spam being not tolerated unless you pay a certain amount yep in social networks spam shows up but it shows up in a sort of different layer right it's not showing showing up in the transaction level types of things how do you think about like what types of things you want the equivalent of civil resistance like some properties you want in the network that need to be enforced by consensus versus properties that aren't and like how do you choose those for social networks versus Financial networks cuz it it does feel like you know for for financial transactions there is this fundamental
thing about like I really need to make sure that if you're spamming you you have to pay for it right um but here that's not totally true you know and and I'm just kind of yeah would love to have your get your philosophy on that so there are two kinds of spam that are bad for the network one is I would think of it as like protocol type spam and the other one is application type spam so protocol type spam is somebody who just logs onto the network and then just blasts it with a billion messages so I come in this is a social network you know I I said earlier forecaster doesn't have a fee for every transaction or every message so great let me post hello world 5 billion times and now everybody has to store this and that's awful so that's one level level of spam we want
to prevent that that's on the application front or would that be on the uh this is the protocol level like spam it's like you come into the network and you're able to like douse the network with so many messages that the people running the hubs can't run the hubs anymore application Level spam is a little more subtle you actually see pretty sophisticated versions of this on on the apps today and we do a lot to like reduce the amount of spam there but people run llm Bots that will like take your cast read it post a message and reply to it and there's sort of this hope of like maybe I'll get an air up one day maybe something will happen or you're trying to like shift the political narrative like social networks like Twitter have always have had spam and crypto has always had like a lot of
spam and so social networks built on crypto are the intersection of like attracting everybody um and and this is less like Vortex exactly but this is less like they're generating billions of messages and more of they're intruding on your private spaces so you post a question about this podcast you're like hey who listened to this and some llm bot jumps into the replies and it's just a little icky you're like why is this here I don't want this on my feed um and so that's I think like they're not violating the protocol rules they're not posting like a billion messages but it is not something that you want to see in your application and it is something that apps have to filter out um and very important to get right so those are the two problems I can talk a little bit about how we do that if you'd like yeah
yeah yeah exactly like how do you think about that because it does seem like it influences your notion of consensus right like yeah so on the protocol level we actually introduced the concept called storage or storage rent it's like you know philosophically similar to like how salana and some of these other blockchains think about rent but implemented in a way that makes sense for social networks so the idea is that when you join forecaster you pay a fee it's a yearly fee right now it's about $3 for the year denominated in ethereum and you pay this this gives you one storage unit and when you have a storage unit you buy this on the blockchain uh the hubs or the forecaster nodes will let you store a certain number of
messages so they'll say okay you get to store a th cast messages or you can post a th messages now the interesting thing is what happens when you post your thousand And1 message or your thousand and1st message um the way we've designed it is that it will just automatically expire your oldest message and pop the new message in so unlike sort of traditional buying storage where you're like oh you're out of storage you have to go pay more this actually lets you keep participating and lets you keep acting in the network which has two nice properties the first one is the user experience still feels good in most social networks the most recent content is what matters and even if you don't want to pay more you can still have your last 6 months to a Year's worth of cast and just your older stuff is expiring or
you can go pay for a little more and then you can store you know two years worth of cast the other nice property is this model actually fits into the consensus without coordination aspect where implementing this as a rule in that crdt is very simple you just say look at the time stamps and if you have one that exceeds just drop the oldest one and so all of these nodes can Converge on this so the way we stop somebody from publishing you know five billion messages is we basically say Hey you buy one storage unit you pay $3 you get 3,000 messages you publish any more the older ones just get expired you want to store more you have to pay more and that controls that level of spam to a reasonable degree and you have some levers in terms of how much you charge
how much each unit is etc etc but couldn't they still be like running Bots just to like spam for like the user like they'd see a lot of M messages but then older messages would just be wiped out but like nobody's paying attention to the old ones anyway that's a very good question I think there are two ways in which you have to deal with the spam one is the storage which is the amount of data being held and the other is the transaction throughput which is how much stuff is just being sent out so because to your point even if it gets expired that's creating Network thrash and traffic and so the way we tackle that is there are rate limits that each note has that says hey you can't send more than 500 messages per user per hour like anything beyond this is we think is
unreasonable again these are tied to the storage units so if you buy like five storage units maybe your rate limits go up to like 2,000 or 3,000 but there's an upper bound on how many messages per minute or per hour you can send that we also keep fine-tuning so those two things in tandem prevent any one actor from coming in and just flooding the network one other kind of benefit that seems to come from something like this is that your old messages get burned as you described that I was like oh that's actually kind of an interesting idea that like your old tweets disappear anyway or your old far cast casts you know I guess an interesting question is like you know in messaging people are used have been used to this modality of Disappearing messages now on every platform right basically like almost everyone offers it now so I'm kind of
yeah it's kind of interesting to think about the idea that like social networks don't really like other than Snapchat like Tik Tok doesn't really delete anything and you have no guarantees on the deletion and that that's a value to the end user I guess like one interesting note of the way you're describing this is it sort of feels like it's a little more like lagged consensus like you're kind of like the lag though isn't in time the lag is in interaction like you only have to update after a thousand so it's sort of this like lazy update type of system you know I I guess like let's suppose you got 10 times the number of users and they were real users not not pure D gen farming users uh and when I say d gen I mean the token D gen
not not not not D gen let's say there were like 10 times real users how do you view how many hubs you need to service a 10x scaling I think there's there's two like different answers to that so one is the way consensus works right now is it is simultaneously both very fast and very slow and what I mean by that is when you post a message to a hub that Hub is immediately at consensus so anybody listening to that Hub it is immediately confirmed there is no 15 seconds wait for a block to figure out if this was accepted it's just done there's set of rules it processes them in a few hundred milliseconds and if it's done it's finished there's a broader slower consensus which is how do different hubs come into contact with
each other and that can take several seconds or up to a minute before you kind of have this guarantee that 99% of the network has seen it the interesting thing about social networks particularly public facing social networks is you are actually like quite relaxed in how fast messages have to come through relative to something like a blockchain like if your tweets or your casts show up 30 seconds late almost nobody will notice that because the speed of the network is sort of like around like 1 to 5 minutes if you start getting slower than 5 minutes people will notice and so this this relax consensus actually works really nicely for social networks like when our network is operating super well it's at like you know 1 second and everything propagates when it's having a rough day it's like one minute but almost nobody notices the difference
between a second and a minute so this relaxed consensus model works well there wow the second question on hubs is what is very interesting about forecaster is the security of our network is not actually managed by hubs it's managed by the L2 that we use so your identity your key that does the signing and all of that that's actually established on the blockchain and so hubs are really this word is thrown around a lot but it's really a data availability layer that makes your signed messages available to everyone else and so unlike blockchains where you need a certain number of nodes to guarantee that no single actor can come in and fake data or like produce invalid transactions you can't really do
that on forecaster because that's actually guaranteed by uh the L2 the reason you need hubs is just distributed availability of data so that if we took down our Hub or all our servers on Amazon went down there are still other hubs on the network running and processing data and so I think the ideal number of hubs is probably like between 100 to a th000 globally distributed across like different data centers so that no single one so that no single event can take down all of the hubs but it's it's not actually that we need more hubs as we get more users we just need each of these hubs to be able to process like more data simultaneously yeah I I guess that's that's sort of my question though there is some some sort of limit to that right like performance-wise like and I'm just kind of curious how you
view the scaling of that you know because people in blockchains right they care so much about this and then they they they're willing to die and fight over the like how what Hardware is required what level of so so I'm just kind of curious how you think about that for because I assume more relaxed in hubs obviously for for a lot of reasons but what at what size does it change your Calculus like Network size I think about the the short answers I think our architecture will change at like so we have about 100,000 is daily active users today give our take a little bit I think this network architecture will scale like quite linearly until we get to somewhere between a million to 10 million daily users and then I think we have to change the way some of these hubs work and the biggest constraint on
hubs so if you think about blockchains the biggest con constraints tend to be uh compute bandwidth and storage like that those are kind of the three resources that you're constantly optimizing for an ethereum um with hubs it's almost entirely storage and bandwidth and we don't care as much about compute we don't actually do a lot of compute Beyond checking signatures which is usually pretty fast and we don't also care about like hubs as being like a vector for security for the networks right like they're really all about like storing data for users and making that data widely available so so the biggest challenge is as the network grows the sheer amount of data that it has to store gets so big that you literally cannot rent a box in the cloud that will fit all your data this is like
you know you get to like 30 terabytes now that's quite a big way off from where we are but at that point you have to consider a bunch of other techniques you can uh sharding I think is one of the the most common ideas that's been bandied around and I think that will actually help us scale and the very nice thing about our consensus model is it is very easily adaptable to charting again because there is no cross transaction consensus you can very easily say hey all fids from 1 to 50,000 you run on HUB type A and all fids from 50,000 to 100,000 you run on HUB type B and you can just have Hub types A and hub type B this is like a very naive version of sharting but is very trivial to implement and I think it's something
we'll have to do once we get to the 1 million 10 million uh user set have you thought of just like pruning the old stuff because this is something about like social networks where it's like yes sometimes people dig up old things that they've tweeted but I almost wonder like a model where you like highlight the ones you want to keep from the past and then you let the rest even if you're not past your own individual limit have you thought of that like a like would be a mixture of like Twitter and Snapchat or something I don't know we have it would actually be very trivial to implement this as an app like you could just build it in as a feature to any app to like expire older messages and they would just get kind of purged out out and you could buy enough storage so that your
your newer messages get set so I I think this would be quite easily implementable as an idea on top of the protocol today you mentioned sort of these actors the hubs but you also sort of mentioned the hosts and I'm kind of curious about like the apps when someone wants to interface with foraster they often have to find something to download and it's not forecaster so what is that agent what is that application and does it run a hub like yeah what's happening under the hood of those yeah there's a few types of developers that are building things on forecaster so one type is I'm building a forecaster client like I'm literally building a social networking app this is meant to be used to connect to the network post your messages and do all the stuff there's a second class of
developers that are building social network orthogonal stuff so this is like tools and utilities to make your life better on social network so like an app focused on like oh you can schedule your posts and have all these Advanced features and do stuff there's a app called supercast that does this really really well and has a bunch of power users using it or there are tools for like analyze your following and see who your biggest followers are so all these like adjacent things that people build that are not necessarily like full-fledged clients but are very useful tools the other category is people building other social networks that are creating content on their networks but using forecaster for distribution so Dracula is an example of this which is like a web 3 Tik Tock type app that has its own social network but bootstraps
off a forecaster social graph so when you log into Dracula you actually sign in with your forecaster account and all of your friends are there and you record videos you post them on Dracula and you can publish them back to forecast or to share them with your friends and the powerful thing for Dracula is when someone signs up you're not having them find their friends and start their network from scratch you immediately have their profile picture you know who they're following that's already on the network and you're able to get them started in this thing so each of these three classes of developers I think has a different interaction with with how they build on the network and there's two ways you can do it one is you can run your own Hub so this is kind of the hardcore mode of like I know what I'm
doing and I run my own Hub on my box I get all my data I build everything very low level the other is there are now Alchemy like services so there's airstack Nar and pinata which are like hey we'll run the hubs for you we'll actually get all this data into nice apis and you can very easily trade a little bit of decentralization for the ability to build your app a lot faster and so a large number of developers are choosing services like that to start building on top of that's so interesting anything posted through these though do they all end up on a canonical base chain or area okay they all end up on these hubs so basically message comes down propagates to one Hub spreads to every other Hub and then you can pull every Hub and you get a copy of these
messages so I I one tiny thing related to to what you just said is you know I I I think obviously given the history of social networks one of the things that has always been reviled is that like hey it's really hard to build apps you get locked out the platform says like you can't use our data dot dot dot dot dot right like we we we know these history of all failers y but you know if we look maybe in a more forward-looking light there's sort of this sense in which hey in a decentralized social network you don't have those problems but you're going to have a very different ecosystem of applications than the traditional social networks and in the same way you
know if I look at defi defi has a very different set of financial applications than traditional Finance but they seem to work better because you get composability right like okay this is a very inefficient way to do a trade but because I can compose it with a loan and I have no risk in this kind of atomic bundle it actually is fine like I'm willing to take some inefficiency somewhere else to to gain sort of like a you know an aggregate benefit there's sort of something that I've kind of been curious about but I I you know I don't have enough educated thoughts on which is like in social apps these people building on top now they get these guarantees right they get they could they could have composability like someone like Dracula now gets some extra
benefits so what do you think the app ecosystem looks like and like how do they interact with each other now if they have a common substrate you know the same way that D5 protocols you know they had this common substrate that allowed them to to make more complicated things out of simple things and it sort of feels like and maybe this is asking for too much but it's sort of like what what is the thing that causes this network effect amongst the apps that build on top like what do you what do you what do you speculate it is yeah it's still early but I think there are three things that are starting to emerge um the first one is access to social graph which I think is extremely important and today does not exist so if you go to Twitter and you say I want an
API and I want this API to get all of Anna's followers um the documentation actually says this exists but if you go try and use it it was shut down a year and a half ago and no other social network even offers this anymore they're just straight up like nope you just cannot have our social graph this is our most valuable asset and so to any developer building like if you tried to build a social app that is the hardest problem it's the cold start of someone comes in and I can't even tell you who to follow or who to access and so that is probably the single most valuable reason why people use sign in with forecaster because when you connect you can immediately start recommending stuff to people saying hey these are people you've said are your friends and that is just like a public good that is there
and helping Dracula and helping all the other networks accelerate the second reason is I think distribution because if you can publish something back to foraster back to the hubs uh from this person's account using your app you now are have something that is visible to all their followers and so this is where like frames which is like the the building block that we built to like let you put transactions and other things in apps has been really powerful because it gives developers a way to take their app and bring a slice of it to you in your feed where you are more likely to interact with it and use it and so you as a developer don't have to solve the hard problem of how do I get someone to come to my website you can actually take your app to them if you build something
that goes viral on social which tends to be a lot easier to do especially if you have a compelling product and and I think the the the last bit comes from just like compounding tooling and ecosystem benefits of creating decentralized tools like if you go look at Nar and airstack and pinata and some of these tools today it is like getting incrementally easier and easier and easier to build on top of it like on day one it sort of like parallels the evolution of alchemy and infura like on day one it was like these are literally just the Hub apis you just don't have to run the infrastructure on day two it starts to feel like oh we have all these like smarter apis that will let you like search for stuff and pull it and on day three it gets really really fancy and
easy which is like here you can set up web Hooks and all of this stuff and so it is easier and easier and easier than ever to build a social network because the tools and the developer ecosystems are also getting better wow Veron as you go through kind of what's possible I'm getting flashbacks to and I don't even know if the audience knows this but I used to run like a SAS business a video SAS business that used YouTube apis and other web apis and tried to connect them and so I was like we were totally at the whim of them changing apis it was totally challenging because that combination could only exist in our own players like we couldn't put it back into YouTube or whatever like we'd add this extra layer of context on top of video but it could only exist outside of
it so it that speaks to me basically what you're saying like that in a way meant that the business I built a long time ago was very limited in in terms of how it could be used here it opens up a lot of creative space for app developers to just think of like yeah all a sudden they have the social graph they can start integrating their own applications into it do you do you worry though that it would become kind of junky at some point because that was the other thing about like it's when it's very limited it's also kind of I mean it's minimal so like what is allowed in is somewhat minimal and yeah I just wonder if you're worried of too much kind of cross-pollination and that it becomes too like loud or something I I think openness has a lot of challenges that
come with it right so one thing and th alluded to this earlier which is that there's actually a lot of like application Level spam or llms and other stuff that come across and and this sort of problem is pervasive across all angles right it's like you have more apps and some of these apps are low quality you have more users and some of these users are quality and so I think that is actually going to be an important problem for the network to try and solve because decentralization by definition means that hey if you pay the fee and you are an equal participant like ethereum does not judge the worthiness of your transaction like if you paid for it you get to include it in the same way forecast or the protocol does not judge the worthiness of your data if you pay for it you get to store
your messages on the Chain but users care about quality they actually want a quality filter and a quality bar and so this is where applications really come in and have to take a strong POV on like okay what do I show you as the user like what do I filter out what do I surface as notifications what do I put beneath the fold and take away from you and and that's kind of like slowly happening on our app and other apps on the network where you're starting to see things like okay these are like the most interesting replies look at them and here's a bucket of other replies they may be less interesting to you so we'll put them under the fold and you can expand to see them similar approach I think approaches I think will need to be taken with apps and clients and other things where there
sort of like an app store where you can browse and someone taste and is saying these are the most interesting reviewed apps and here's the other bucket you can go try them if you'd like interesting I'm kind of curious like if someone is using a particular client and there's sort of like groups on that particular client is that in any way canonical or is that always just apps specific the way the clients work today is when you publish the actual data the casts or the messages um they're all produced in a format that like syns across all the hubs so so the the main benefit is like hey all of this data is always equally available to create it and get it on clients it has to be standardized now one of the things we do uh especially in forecaster so we we build you know
forecaster the protocol which is the underlying like technology that makes all this work and we also build one of the first apps called warcast which is the app you used to connect to the network so one of the ways in which we prototype and move quickly we call this like product Le protocol development is when we come up with a new feature we actually prototype it in our client as a centralized like only in this app does this work to test and see if people actually like it and if it takes off and it clicks which happens you know 10 to 20% of the time we then say okay how do we turn this into a protocol level feature and go ship it and if it doesn't which actually happens a lot in Social because you don't always know exactly what people want we say back to the
drawing board let's go and do this and and that modality will likely exist across all clients people will try out some new feature it'll work for their users it seems cool then they'll try to incorporate into the protocol so it works across all clients sometimes those experiments will work out and create really cool things sometimes they won't and people go back and iterate on stuff are frames I mean frames I guess were experimented in warcast are those now rolled out everywhere or are those still in experimental phase so frames actually ended up being this very nice thing that when we built was actually fully open and protocolized okay um that was actually kind of like what made frames really cool yeah well frames are actually so the history of frames is kind of cool it was a very simple idea that evolved from people sharing nfts on
forecaster so back in 2023 we noticed a lot of people were posting like nfts they were collecting and when they showed up in the feed they kind of looked like a little messy because you know Facebook has this open graph standard for how to render links and they're always these wide boxy images with titles and one of the things we thought about was like Hey if you're sharing a link to Zora or to like one of these nft platforms we can get the image we can show it in the nice format we can add a little mint button that takes you right to the mint page and so we just shipped this change that said hey hey in your HTML tags you know you have your standard Facebook open graph tags just add a couple of other tags to like declare that this is an nft and we'll
render it like a little more nicely in our client so it is like a very simple modification to the HTML standard you keep saying Facebook so I'm just curious was it a Facebook standard originally or something yeah so Facebook back in I think uh 05 or 06 pioneered this open graph standard where they said like if you just add these few meta tags in your in your website we will then render an image instead of just like a a you know plain old link and that's basically been stagnant for the last you know 15 years it hasn't really changed that much but now when we shipped this nft change like Zora shipped it and what was really cool was like within a day every other NFD platform had integraded it because a it was so easy to do and B it gave them a lot more distribution um on the product
and so that was like the earliest protor frames and we just took that and extended it and started adding more features and so it actually started as a very open protocol that worked everywhere on farcaster that's cool I guess one question I have is how how you know when you look at kind of some of the growth of frames initially from people you know you know I guess this the the the benefit and the curse of the open network but people people uh figuring out how to do airdrops and people figuring out how to take advantage of of like kind of the blockchain things how do you view kind of the overall growth in frames over time like do do you view it as like people use it as a way of doing smaller kind of little inset applications or do
you view it as like people will start gluing them together and making sort of longer term experiences out of sequences or frames CU like I I I've always kind of wondered if like if you think of this as sort of like a it it changes a gaming element of social networks in that it could be very longterm in that like there's like a lot of sequential interaction almost like a game right or it could be very short term right like click here and claim your DJ right so I how do you view you know kind of The Duality of those two so I think there when when we shipped frames we kind of hoped that like two kinds of applications would emerge as a result of it um the first one was onchain transactions because historically it's just been very hard to get someone on a
mobile app to do something on chain and we said we want to build the best possible way to bring that transaction to you bridge it to your wallet and let you execute that cycle pretty efficiently that part I think has actually worked quite well in that there are a lot of frames uh that do transactions so there's a lot of like claim your airdrops but there's also uh Bots like payf flow and payot that make it easy to do venmo like sending money to other people and things like that the part that we also hoped would take off but hasn't yet happened is people building applications that extend the social experience um so these are things like building in polls to actually make it easier to query your audience about something or like inline articles and things like that and and I say it hasn't
happened but it actually has happened uh it's just not as widely distributed as we'd like so for example survey Caster Ponder builds a lot of these survey Bots uh paragraph builds a lot of like read articles in line and the biggest challenge we've noticed with this which is something that we're working on right now is people need sort of like a frame Builder or a frame Creator where it's like hey I want to create a poll I want to do this and there's actually no good entry point or or mechanism in the frame spec to start by creating something that you put in your message frames have always been I discover this in my feed I click on a button which has all been always been good for like claim your aird drop or check this thing but it's locked it out of these set of
experiences and so one of the things we're working on is like how do you actually like give these applications distribution so when someone is writing something they're able to just insert this app um and we actually might have something launching in the next few weeks that makes this a lot easier might and I think the yeah I I I think there's a lot of experimentation around like you know what is the exact entry point and how do we make this as easy as possible both for users who want to insert something and for developers who want to build his experiences and have control and feel like hey my app is um actually getting distribution in this protocol um and so there there are a couple of things that we're cooking there the the third thing I think is making frames composable with each other which is technically possible
today but we haven't seen like a ton of that happening yet and I think one of the reasons is performance of frames because of the way it's built is kind of slow every time you click on a frame the way A Frame Works effectively is you generate an image for every like page of the frame and that's actually kind of a slow piece and so when you have to go through more than three or four or five it starts to get very tedious it feels slow you're used to mobile apps where you tap and stuff happens immediately and so we're thinking about like building a new rendering surface where you're not generating images but you're able to actually generate like Mini web pages or iframe type things that will be super fast and I think that's a big blocker to these longer frame experiences is it's just too slow today
for people to stick around actually a very related question since you brought up iframes is you know security wise how do you think about you know isolation versus not isolation within frames in the sense of you know maybe I have a key that persists in one frame or you know there's signature somewhere that like maybe needs to die because I I feel like obviously mobile security is bad and there's tons of tons of ways people exploit things uh like you know xss stuff or injections things like that yep but I feel like crypto security is even worse because like oh I have all these things that I've signed that you know payloads that maybe need to get destroyed in some way and maybe the frame has to persist them stuff like
that there's like all sorts of like lifetime management Key Management type of stuff that exist so how do you how do you think about that and how do you reason about like you know you want to build the best product experience but you also have to deal with these kind of extra security overhead yeah so the the way frames work today with the image model is it actually keeps things fairly simple from a security perspective so when you interact with a frame a when you look at a frame the frame doesn't even know you're looking at it so there's no privacy leakage when you're simply looking at a frame in your feet but the moment you click on it you send a signed payload saying you know I'm man I clicked on this button and this transaction came through so you do get a signed payload but it is designed to be
very much a intent of I clicked a button that proves to the user it can't be used for anything else there's no way to like unlock money or do anything more fancy or more dangerous with this right now so you just get the signatures that are verifications that you took an action and then frames can return transactions to you and this is kind of the one part where uh things do get a little scary from a security perspective because you could have like a bad frame that returns a wallet drainer or encourages you to do something the way we've approached this bit is by saying okay we are actually going to insert transaction scanning so you know using tools like uh Blowfish and blockade which have actually been surprisingly effective at like identifying transactions that are drainers and just warning users before they click on it we actually see on our
backend every so often someone will come in try to test a drainer and post it and see that it fails and then they just never bother to post it again like they come to our test tools and try it out and realize they're not going to get through and then just go away so people want to do this but they realize it doesn't really work that well anymore so that's the current model I think if we go to an iframe model things get a little like f fancier and a little more complicated because you can do a lot more stuff in there you can store data you can have things on the back ends and I I don't think we honestly have a great answer right now for how we we build that isolation that's one of the reasons why we might choose to go with a sort of
very simple SVG or HTML CSS surface instead of an if frame because it lets us like constrain that security Model A lot more there's also Performance challenges with the if frame especially on mobile if you have like three or four of those like rendering them quickly is Pretty Tough so we may end up on this the HDML side of things for that reason interesting we had a question from a co-host who is not here a sometimes co-host of the show Kobe and he asked when ZK frames and so I thought i' just say I just thought I'd ask it now is that a thing and what is that what actually does that even mean a ZK frame so when we think about ZK and forecaster I think there are two ways in which there are like interesting applications um the first one is literal zero knowledge in the
sense of it's always been this cool idea of like you have a popular social media account you know people know you as founder of a famous podcast in the crypto space but you would like to be able to cast from that identi without disclosing yourself because you want to say something spicy so some way to zero knowledge that proof of your identity and say this post is from someone who's this is verified I think that's a very cool idea that can be explored I think we actually tried that in 2021 and at the time it was like too complex and hard to do that quickly enough that people would use it because it is it is really a feature that you use like once a month or once a year like you're not always saying something super spicy it's just occasional and we couldn't quite
make it work yet but I think as ZK gets easier and EAS easier and it's faster and faster sometime in the next 6 months to 2 years this is going to be built as a feature by an app and people will use it and it'll be really cool the the second application I think is um more at the protocol level which is I think as blockchains get cheaper and cheaper as we're able to do sort of more the the verifiable compute aspect of ZK and as layer twos get more and more efficient there might be a hybrid Hub model where we use our fast consensus model for storing all of this data quickly but we actually have an archive model where there's like a blockchain that stores like older historical data for backup purposes that is actually using like a ZK like Network to store and processes
stuff because they've actually brought down storage and consensus and processing times fast enough that some of this would actually fit in that's a little bit more out there and researchy I don't think there's like a clear like here's how we would apply it today but those are the two ways in which I think ZK can come to foraster interesting well I guess another question and may maybe we cover this so I apologies if I I totally didn't get this but when I do a execution for a frame that's all client side it's not none of it is stored on the Hub like is there any like Remnant storage or compute for a frame that is kept on hubs other than just like the storage diff no so frame is effectively like an interaction between you and the server that the frame is running on and
things that happen as a result of that so the simple way to think about it is a frame is effectively a slice of their web page that's specifically designed to fit into this model of you give me an image image and four buttons and I can click on them and when you click on them it makes just like an HTTP request back to that Hub the cool thing is that request is cryptographically signed with your you know ethereum forecast or identity key so that person always knows that you're interacting with it so it's almost like an i oo into this application and I'm now clicking on this as Anna or as tun so like we now have this interactive thing um and then you just kind of go back and forth with that application and it's all private so it's like purely between you and that
application now you might get a transaction as a result of it so the app might say okay now you go and do this like Buy on the blockchain or you send this money that of course gets committed to the chain but everything that happens between is purely between you and the frame server and the only part that's on hubs is the link to the frame that says hey this Frame exists in this post and comes from this website which can hydrate that frame yeah I guess when I was hearing ZK frame I was just assuming maybe there's like some execution trace of the frame that like the parties post to a hub and now they have like you know some guarantee that like they actually did this you know that when you ask like what is the ZK frame which it seems like you could do today I think there are
like cool and I sort of said this as like a general forecaster thing but like you could also apply to frames I think there are very interesting privacy sensitive applications that you can't really build today because forecaster is effectively a public social network right so one way to think about all the social networks that exist today is they're on a spectrum of private to public so on the left side you sort of have your Snapchats your Facebooks where you are largely talking to people you know and your expectation is that this stuff does not get out anywhere and on the other side you have your Tik toks and your twitters where it's I want this out in front of as many people as possible forecaster architecture today does not make it easy to build a former everything is public everything's unencrypted everything's private and out
there which makes it like very very hard to actually do some of this stuff but I think privacy whether it's through like partial ZK forms or other forms of encryption is going to become increasingly important as we get into things like offering direct messaging as we get into I want to have like private groups that I have with my friends that those are not things that exist at the protocol level today and so that's I think a very interesting and important area of research for building more types of social networks so I want to understand a little bit about where it lives you had sort of mentioned the hubs but then you also mentioned a blockchain and I always heard that the activity of foraster had influenced bass so are you built on bass
so the way to think about the life cycle of forecaster is when you sign up and create an account you the first thing the very first thing you do is you make a transaction to the blockchain we actually use op mainnet which is part of the optimism stack that Bas is also a part of um and what you do is you create your account so you get like an account ID you get your public and private key which says hey these are the keys that I'm going to use to create and sign messages and that's it that's that's pretty much the only time you have to interact act with the blockchain to use forecaster beyond that everything that you do is you use those keys that you've set up to sign messages and you send them to Hubs so they're never blockchain transactions they are sort of forecaster
messages as we call them and they're just sent entirely offchain there's no cost etc etc but the cool thing about forecaster is you can integrate with anything that you like inside the application so there's been a lot of growth in activity on Bas particularly around nfts around artists around transactions and projects and a lot of that has come into farcast through frames through people sharing it and so foraster is very popular in the Bas ecosystem the Bas channels channel is one of the biggest channels in foraster and so it's actually like sort of taken up with the ethos of that but forecaster also supports for example salana like you can connect salana addresses and do transactions on that blockchain and so it's it's really like the identity layer is built here but we can interrupt with any blockchain and make it so that your
experiences on that chain and transactions feel really really native inside your social app so you built it on optimism why did you choose op ISM and would you ever switch I think the the truly honest answer is we could probably build it on any sufficiently cheap blockchain right now and it would be fine and people would not notice the difference so if we shifted from optimism to base or optimism to salana it would work reasonably well these chains are fast enough that most of the costs and execution are like not that exposed to users are changing the experience the the way we thought about it is look we want to be on a chain where transaction costs are low so that when you sign up it's not like prohibitively expensive and the network is fast enough and scalable enough and
decentralized enough that you have credible ownership over your thing the other nice property is we are not tied to a chain let's say tomorrow we decided that we had to move to a different chain something terrible was happening or something great was happening over there and we needed to go it would be possible to say okay we're going to do a migration we're going to take this and and move it over here and put it on this other chain and copy all the data resync everything and do it the honest reason why we're on optimism and why we're on Bas is I think the community felt very very farcast or aligned and like was very supportive and participative in the early forecaster discussions just like a lot of our early users came from those communities and because we said like hey this was a credibly decentralized
project it was fast enough good enough and the people are aligned with building on using forecaster it just felt like the right place to start that's interesting would you ever have your own L2 though there's actually been something we've thought about right because there are other optimism projects like world coin that actually are now doing their own L2 I think having our own L2 makes Financial sense in a world where we are generating so many transactions that the savings on the sequencer from being able to capture those fees would let us reduce costs for our users so I think if we were getting like I don't know 1 million signups a day or something like that we would say hey it's actually cost efficient for us to go run our own L2 and then pass those savings back to users but I think in in
the current world it's just a lot more time energy and Hassle and like building on op mainnet or building on bass or These Chains is a lot better and easier for us and it sounds like the only interaction with the chain is on that sign up moment right it's not in the texts and and the and the cast that you're sending back and forth exactly but could you imagine other onchain activity that you could incorporate into future iterations of this Beyond just signing up so there are a few things that already happen so one is account recovery so if you lose access to your account classic social problem everyone's lost at least one crypto wallet in their lifetime it's very painful if you lose your following and have to rebuild it from scratch so one of the things you can do in forecaster today when you sign up is you can
nominate a second wallet to control your identity and say like this is my backup if I go down you can use this to do things so that actually that recovery happens on chain so when you sign up you associate another wallet so if you lose your account you do this and we process like hundreds of recoveries each day where people are like having to recover their account so that happens on chain there are likely going to be more parts of forecaster that move on chain one of the things we are uh actively in the process of decentralizing is channels where you can create these groups or these communities that are focused around a specific topic and you can post in them this is very early in that product phase where is still a warcast feature but we are trying to move it so that the ownership of a channel is
actually something that's on chain so if you build and create a community and then one day you want to hand it off or you want to sell it or you want to like share it with someone else that is actually like an onchain artifact or contract that you can transfer ownership of and so that's something that we might do on chain Su there's one insanely large ZK channel that I'm in and I and I've always sort of wondered if that was like something you could find across many different applications but it sounds like right now it only lives in warcast the the content lives across all applications so when you post in the ZK Channel you're actually like creating a cast tagging it with ZK and posting it there the part that is warcast only is management and ownership of the channel like who is the person that gets to
decide what shows up in the feed the way to think about channels is they are like curated spaces so anyone can post in a channel but the lead or the moderator gets to decide what shows up on the home feed so there's sort of like tasteful um Renditions of like the the content in there and moving that moderation piece on chain is the part that we are focused on right now because there's actually a certain amount of nuance of like how do you like expose all of this data how do you track ownership and and all that stuff one thing I've actually you know it's kind of related to what we were just talking about but I remember there was a point at which the identities lived in multiple places so like salana and optimism is that correct we we originally started on uh test net so I
think it was like sepolia back in the day and then we moved to optimism so we we we've always existed on a single chain at a single point in time but we've moved between chains the thing that you might be thinking of is we do allow you to connect wallets to your forecaster identity so you sort of have a primary forecaster account but you can say hey I own this salana wallet I own this e see you do like an attestation yeah yeah I see cuz I was kind sort of wondering like how that that worked because I it you know I didn't didn't quite look at exactly I was implemented but that makes sense and do you do you foresee that ever changing like where you know let's suppose say there was sufficient demand to have some synchrony across multiple chains like what what would it take to
get to that point that you would want to do that I think it's a good question so I think the main reason for it is you actually want to build a smart contract that needs to check the identity live in the path of the transaction to do something interesting if you wanted to do that you could only do it on optimism today because no other chain sort of has a truthy state of like forecaster identities what you could do is you could build mirrors so you could effectively build like a mirror contract that you trust that says hey I am going to proxy every state change of the forecast or identity contract onto this other change I believe this actually exists for some erc20 you can actually mirror them on l3s and l2s where you trust like a party to proxy all the things and you can of course verify them
in real time but something like that would let you like Bridge the state of forecaster identities across so they're like composable to all of these contracts uh modul some trust property of like I trust that this person isn't um violating that rule right earlier this year there was this moment where just a ton of people were moving over to foraster I am guilty of being one of those people who yelled in when everyone was talking about it I think I think it was like January February but since then there has been sort of at least a narrative of people returning to crypto Twitter I'm just curious on your side like from where you're sitting what does the trend actually look like was there a major spike in January what caused that and also just the sort of General larger
Trend what it looks like yeah so if you kind of look at the growth graph of farcaster we were sort of like flat and growing a little bit for most of last year frames happened in Jan jary and that was like a big aha moment for a lot of people where there was a lot of hype a lot of excitement and you know it sort of went parabolic where I think we 10 xed in like two weeks and things went really high and I think as the Euphoria settled a lot of folks who like jumped in because it was exciting were like okay there's not actually something here for me and it sort of settled back down I think we're still at about 4X to 5x higher than where we were when we first started but there has sort of been a trending back down of like some people
have retained found a home and found it fun to be on farcaster some people have kind of retain returned to to Twitter or to other apps or whatever fundamentally I think forecaster it is very hard to compete with another social network directly in fact I don't think that's ever really succeeded like you can't be a Twitter replacement and sort of beat Twitter at their game forecaster has to be something compelling and different and that stands on its own Merit that actually feels different to Twitter and so the things that we are investing in now and the things that we think will drive growth for forecaster are one making blockchain transactions super native and super powerful and blockchain identities feel like first class citizens in the app so you own nfts they're part of your collection you have
transactions you can do them within your feed you want to send money to people on ethereum you can do that right from your forecaster app like all of that stuff is like sufficiently different from interacting on Twitter where the the blockchain components feel native to your day-to-day experience and so our focus is really on like what are the people that are doing those things or who want to do those things today and how can we get them to use forecaster and for the set of people who want crypto Twitter for more of its um P2P nature and the arena and like like fighting there I think crypto Twitter will be that for a while to come I don't think farcaster is going to be the place where people suddenly migrate to and start having all these discussions I think it's the more Crypton native stuff
that's not happening on crypto Twitter that will actually be why people use forecaster well an interesting thing if you think about Twitter overall was Twitter sort of Genesis stem from like really being a place to get news before everywhere else right like yep what do you think the thing is that will be like I go to farcaster first to kind of really get information or knowledge about something before anywhere else cuz like I I do feel like there is a sense in which that always seems to be true for different social networks I I think the honest answer is we haven't really cracked that yet like if you look at the reason why people join farcaster in year one is it just felt like a fun group chat it was a bunch of people that were
like two to three degrees separated from like Dan or myself who like we're in crypto doing similar things and it just felt fun to be here and I think that group chat momentum has grown and coalesced a little more and it's now like you know 10,000 people every day instead of a 100 people every day but I would still say that like you don't find out about the newest project launch in crypto by coming to farcaster First you'll often find it on Twitter first or like soon after and it's like crossposting so I don't think we are going to beat Twitter on news at least not not in the near future I think where we are going to win is sort of like unique content things that you're going to be able to do here that you can't do anywhere else so an example of something
might be if someone launches an interesting onchain token or an onchain thing that you can interact with you come to forecaster because you click a button in your app and you're able to do that thing on chain you don't get to do that on Twitter you can't do that on Twitter and so that's the kind of stuff that we think will drive farcaster activity and create something where it's like this is this is my reason to be on farcaster every day are you worried about having to build out like the moderation side of this at least for the client as you describe these things like just we talked about spam but we didn't really talk about like scams or like terrible things that often flow into social media projects I I think it's going to be a very very important part of what we're doing and
and it's actually something that we have to get right so if if you think about like what are the challenges with moderation I think there's a few different categories right so first off one of the things that you talk about most often is like really terrible stuff like C Sam all the stuff on the edge the thing about forecaster is forecaster is a purely text based like decentralized network no images or video or data are actually stored on the hubs it's just pointers to those items and it turns out that most video and image hosting sites like cloudflare actually do a pretty amazing you can literally check a button that says get rid of all of this stuff and they will just filter it out for you so literally every application that builds on this has a built-in filtering mechanism for the really bad stuff um
which didn't exist 5 years ago like Facebook and Twitter basically built all of this from scratch now it's a feature in a Cloud Server provider I think the the second the level that will actually be very interesting and challenging is the spammy content which is and the spam yeah both of them the spams and the scams right um how do you get all of that locked down I I think with with both of those there's like a decent amount of like reporting moderation controls tooling that we have to build on top of the network and we've already started doing some of that the really cool thing about foraster is because all of the data is open people are actually Building open source tools to help with some of this stuff so there's like this company called open rank that's actually building like ranking data for
forecaster where if you're building a new app you can just plug into open ranks rankings and you will immediately say like okay these are the high quality users these are the spammy users this is how I can generate my feed so I think one of the things that will be really powerful is like having many eyes on this and having Financial incentives to go build that means there will be a lot of stuff that you can just use out of the box to get you bootstrapped that a bunch of other smart people are spending all of their time optimizing I mean I see two Futures one is I think the open sourness means there's going to be like a fairness and a lot of people to work on this problem but what if there was just like a massive group of people who had an intention or like an ulterior
motive would the community this very decentralized community be able to sort of like prevent stuff like that the answer to that question really comes down to like what you believe is more efficient at solving problems like do you think that they those kinds of problems are best solved by a company like a Twitter or Facebook that has an internal team that's analyzing all of this data that has super tight control over it and can shut everything down or do you think it's best solved by putting everything out in the open and having a bunch of different smart people go over and analyze and come up with the best Solutions and and I think historically the answer has been in the short run centralized faster companies always win but in the long run over building over enough time the open decentralized protocols get better and better and
better and compound and actually end up like beating and winning in the in the longer time frame and I so that that's what we believe right is like yes there will always be attemp if a social network is successful enough there will always be attempts to manipulate attention and to control how people are interacting but if you make that data open in public and make it easier to find adopt and modify that that is probably going to be much more effective at catching and identifying some of this stuff than relying on a single party doing it behind closed doors I always get the sense the decentralization that works best like most effectively if there's sort of like some set of guidelines or even if it's like behavioral rules culture like something to sort of keep it a little bit in check
but yeah interesting yeah I mean this just gets back to this idea that like if I have a a common public database then it's just more a question of like who writes the queries and what views are they giving me and I I tend to think that like yeah there's there's some set of interactions where clearly the open common framework is going to be a lot better than the ones where like I don't know what view I'm getting right like if I look at the history of social networks it's like my space I'm choosing a lot of the the query parameters of the databases serving people right like I'm choosing the video on my page I'm choosing the ux layout Facebook I don't choose any of the ux I only choose like an image I choose a small amount of text
I choose a very restricted set of things Tik Tok Instagram I kind of don't choose the feed anymore I don't really influence actually the the stuff I see is very not linear and completely right not clear to me so I don't know what view I'm even getting Tik Tok I explicitly have a non-deterministic view of the network right there's been this kind of sequence of things where we've gone for like I have the database I have a set of queries and Views I get and like I have less and less and less and less control over those queries that's a very abstract way of viewing it but yeah I I I feel like there's OB website servers and stuff it sounds like a similar pattern almost like giving it up yeah this is a good like framework for
like the the sort of flow of choice in social networks which has always shifted lower and lower I think the correct answer is not return to a mode where user has like full control over everything and toggles and buttons because people don't actually want that the correct answer is give people a choice because there will be 10% of users who've actually staked their life on the social network are making a lot of money care deeply deeply about it and want those toggles and should have the optionality to be there and there's like your 90% of users who are like casual who just want the easiest possible experience who just want to use the app and have like a generally positive experience and don't want to think about those toggles at all in fact there's this running meme on farcaster of this like stated versus revealed preference
we constantly have these little experiments where we discover these things so one of the most common things is people are like I want to have full control over my following I only want to show you exactly what I follow this seems like a reasonable ask right but here's what happens so Dan put out this cast on TW or tweet on Twitter and said hey if you stopped using farcaster recently you know give us some honest feedback about like why you stopped and what was annoying a lot of the people that messaged back about four of them said hey I just see a lot of dgen stuff in my feet I'm not really interested in dgen the token and I kind of stopped using the app and I went in and looked at all those four users each and every one of them followed the djen channel
and followed the founder of djen and followed a bunch of djen tokens and this is not a user error right it's not like their fault but the nature of social is like you follow somebody because something is something at a point in time it morphs it changes you are no longer interested in it and we can't expect you to go and do work every week to be like oh I now no longer care about this and keep tweaking it we have to infer that based on the way you're acting and like sort of take your follow as your stated preference and then figure out the revealed preference from it and turn that into the graph so I think that is the ideal experience for 90% but then the 10% want their full control different client all bells and whistles and they should be able to get
that and both of these users should Coexist on the same social network well I think that the kind of Parable I was getting trying to trying to get to is there's a notion in which there's only one query one view of the database that's given to you and you can't really you you can't choose one but imagine if you could choose one and I I feel like that to me has always been the the the dream of decentralized socialist like you can choose the set you know you you don't want private likes great then use the client that shows you who likes something but you want private likes okay use the client that like never never shows you likes right like somehow somehow that is the the kind of Freedom that feels like it's it's missing in in a lot of social networks but the problem
I I I I guess I see is like the curation aspect is just so hard in decentralized networks how do you view like feeds in decentralized networks in the long run like how do they evolve like you know obviously this is taking a huge speculative yeah lens on it but like H how how do kind of recommendations feeds automation how does that change for decentralized social networks so the way it's worked so far for us is we started with a very simple quite literal reverse chronological feed of the people you follow we evolved that into like what we called an affinity based feed where we said hey these are the people you follow but these are the people you interact with the most so if you have a thousand unread messages let's pop the stuff from the people you like the most to the top
so you still get the same feed but you kind of get a ranking we've now evolved to like a more machine learning model where it takes in a lot more parameters and it's a lot smarter about like again taking all the stuff that you haven't read but surfacing it to you and starting to add like second deegree stuff right it's like hey Anna andun like this you followed them you probably want to see this post as well and and doing that where I think it evolves from here is very interesting I think I think there's two things that need to happen one is feed generation is really really really hard I don't think we can expect every single client to go and invent this from scratch it is actually like a pretty sophisticated problem and I think you will see companies evolving I mean open rank is already doing this and Nar
is doing this but there are companies that are now providing feed apis where you can give them a user account and they will give you a feed so when you start building your client you kind of have like a feed ready to go that I think is going to be super important like Builder infrastructure the the crazy version of Feed generation is actually something like it's actually something like a c kaggle competition or what numerai is doing where you can create a feed algorithm and it can run in our infrastructure and we can offer it as a service to users so you can tap a button connect to something and immediately get access to like the correct feed that you want or F tune and pick between different feed models yeah I I guess the problem I see is you know when I think about people I know who
work on this type of stuff is like generally there's no like single objective function even for like a single company right like Tik Tok will segment the users first and be like for this segment this is the objective function we optimize like for this segment which is people who like watching Dance videos their objective function is like pure engagement yeah but for people who use T talk for watching restaurant reviews actually the objective function is not how long they're using the app but how fast they cycle through different views like how long until they hit one where they're like okay I'm going to go and convert and part of the reason for that is like Tik Tok makes Revenue off of those so they actually change how they serve things to you based on like whether
they're getting paid for something or not and and and and also like by bucketing users into categories and so like I I I'm kind of curious how you think about like social networks eventually just can't have Global kind of single objective functions that people are competing on let's say that it does feel like they have to have these like little Community Based ones and and like yeah H how do you kind of view that evolving I think that's a very good Insight which is that your Revenue model often drives like what you're optimizing for which drives how the feed works and so on one level just at the global feed I think there will be clients that are focused on different ways of growing and making money there's going to be clients that are just like power user clients that charge like a 100 bucks a month because you're using
like all the bells and whistles they make all of their money off of just the revenue and so they will give you all the fine-tuned controls you want because they actually want to give you control there's going to be clients that make money off advertising and they'll say like hey this is going to be more like Facebook we optimize for clicks engagement views page views and our model is built around that and so that's going to be more focused on that I think the one interesting aspect of forecaster is there're also channels and each channel is sort of its own Community built around a topic and the channel moderator can curate how that works this is like think one of the things that's going to be most interesting or most differentiated relative to a Twitter is like you are going to have these sub feeds that are curated by individuals
using like whatever tools they have and they're going to apply different levels of moderations and styles and filters and give you different cuts into that world which I think is going to be a really cool experience feel like there's there's more to dig into here also on like identity and like the proof of some behavior that you're doing actually on forecaster to like further write an identity program are you exploring that at all I we we're kind of out of time so don't I I realize that's like a bigger topic but I just wanted to to get that in I think identity is one of those things that is like now emerging as like a building block so so my POV on identity has always been good identity systems always evolve from well-used products like it's exceptionally rare that someone says I'm going to create an
identity system and then gets it adopted I mean it happens if you're a government and you have a monopoly on something and you can say everyone needs a passport but otherwise every common identity system email log in with Facebook log in with Google has always started from a consumer product that people use which now you have enough people using it it's valuable to use that to log into other things and forecaster is I think starting to get to that point where now we have a sufficient number of users that a lot of companies are integrating sign in with foraster bring your identity here and I think it's a very powerful building block because you can now get this like start with your profile picture start with your photograph start with all of this data and get started and you can augment whatever identity you have so that's
kind of how I think forecaster identity will evolve over the next year is more and more people will likely integrate the signin with forecaster because it makes their apps better and their new user experience feel a lot better when they can pull in that data from you cool so Veron thanks so much for coming on the podcast and sharing with us sort of the whole story of foraster this has been a really interesting conversation a little different than what we usually cover it's very application focused it's very much looking I mean just talking about social media hasn't been something we've covered a ton so yeah thanks so much for for coming on no this has been really fun thank you guys so much for having me yeah always good to have guests who have uh very high overlap uh linguistically with my name tun and
Veron even though they mean very different things it's only one letter but what what is the meaning of tun I actually don't know youth youth okay and Veron uh it's the god of rain very different slightly slightly different connotation there all right thanks so much I want to say thank you to the podcast team Henrik Rachel and Tanya and to her listeners thanks for listening