LOOKSO CEO Carlos Caldas was kind enough to answer some questions for me while I was doing research about the project. Since his answers were so articulate and informative, I decided to make this a two-part article and publish our correspondence as a Q&A. You can find Part 1 here.
Carlos will also be making an appearance on season 2 premier of The Weekly Pink Pill this Sunday at 1:00 PM EST. Click here to set a reminder.
Q&A
What inspired your idea for LOOKSO?
So, first a bit of background, our goal from day one has been to build DROPPS into a a hub of services for the LUKSO blockchain, something that is leaning more towards the technical side than the creative one (although we see their success as a co-dependency). Our decision to create LOOKSO came down to 2 factors:
For this hackathon we wanted to build something that would allow us to interact and grow with the LUKSO community BEFORE mainnet launch (which is what we’re aiming for with the next iteration of our beta)
Ever since we read Alex’s (@AVSA) article on social media interoperability we’ve been discussing how/if the future wave of social media platforms might integrate blockchain (or if blockchain even is the right choice for their interoperability), and what would those future platforms look like. And in that regard we believe LUKSO might be on to something with their LSP’s.
Is it fair to say LOOKSO is Etherscan X Twitter? Do you have a better analogy?
I guess, going purely by our hackathon submission, “Etherscan x Twitter” does seem like the obvious analogy. Although the technical structure/back-end are representative of our vision for an interoperable and decentralized platform, LOOKSO’s front-end/UI and current features do not yet represent the potential we believe it can achieve.
We want it to be a highly interactive experience, combining the ideas we already have while also taking in and applying user feedback. As an example I’ll give a couple of good ones, SBT support for profiles (showcasing user certifications, sort of like a web3 Linkedin) and the possibility of buying assets directly from user profiles (especially with a “buyable nft” standard in the works) or even directly from blockchain events, (i.e. @user#a1b2 minted CloneX#1234).
What value does LOOKSO add to the LUKSO ecosystem?
Without looking at specifics, I would say any product that is able to attract an audience which is not yet a part of the ecosystem is a value-add. For LOOKSO specifically, there are two value propositions that stand apart, with the second one being in line with the previous statement.
First, the most obvious (and fastest to materialize) is the possibility for users to visualize events from Universal Profiles (collections, friends, KOL’s/influencers, brands, etc) while simultaneously interacting with them, not just in the traditional sense (liking, commenting, following, reposting) but also as in the examples on question 2. The way we build and organize these interactions carries immense potential but might not be too obvious atm, hence why one of our priorities right now is to make the platform as user-friendly as possible.
The second value proposition is something that shows great promise for LUKSO as a whole while also requiring a larger effort on our part: the fact that LOOKSO is one of the first decentralized social media platforms that is actually sustainable, while putting the power back in the hands of the user. As stated in our F.A.Q., “Your social media footprint is permanently stored on the blockchain, according to standards adopted by the whole community. LOOKSO is merely a tool displaying this content and helping its users interact with the network. Anyone can use a different tool/platform (i.e. a LOOKSO competitor) that adheres to the standards because all the content is referenced in each user's Universal Profile.” In other words, influencers and brands no longer have to be afraid of switching social media platforms (for fear of having to start from zero) since they now “truly own” their content and get to keep the brand & follower base they spent years working to grow (as long as other platforms adhere to the standard we proposed).
How does LOOKSO utilize LUKSO’s standards?
To start, we use both ERC725Y and ERC725X:
ERC725X is used by our validator smart contract. The validator is called when a Universal Profile wants to post content, to validate the author and date. After that, it forwards the transaction to the Universal Profile to save the updated Social Media Record in the user’s UP. The key takeaway is that our validator contract writes to the UP through the Key Manager (LSP6) and using ERC725X. This way we save an extra transaction that the user would have to confirm.
ERC725Y defines a mapping and a set of functions that allow a contract to have a dynamic storage, which can be addressed by key name. This means that new variables can be added to a contract state at anytime. We use this to store a Universal Profile’s Social Media Record (aka Arweave reference).
We use LSP0 which is the actual Universal Profile standard. LSP0 is composed of multiple standards, two of them already mentioned above (ERC725X and Y).
LSP2, which we also make use of, creates a standard way to specify what the value stored under a specific data key represents. This way, it can be decoded by a programme reading it. Otherwise, it’s just a random hexadecimal text string like “0x71fb09a7e9dc4fd2a85797bc92080d49ead60ebaa2b562d817bdfb31bc258134”. This string can represent a URL, an index in a list, a number, anything. In our LIP, we specify the schema of the Social Media Record of a Universal Profile according to the LSP2 guidelines:
And finally, we also use LSP3 to fetch and display data from Universal Profiles into our users profile page on LOOKSO.
Did you run into any roadblocks during development?
Proving the authenticity of a post and attaching a timestamp to it were one.
We were initially going to use signatures to prove authenticity. But, as you may know, UPs can’t sign data, so it’s the controlling EOAs that are in charge to sign. Then an issue arose: “If an EOA signed data for a UP, and then lost permissions for it, how could we verify that the signed message really belongs to the UP?”. An answer to that question could be to use block events, but that would be a really heavy process. One other issue also emerged: “How to prove a post date if we only store the url containing all the posts on the Universal Profile?”
We found an answer to both questions by creating a third-party smart contract (see our LIP) in charge of storing the message sender (the Universal Profile address) and the current block timestamp when a new post is added to the Social Registry.
Your future plans refer to implementing a relay service used to postpone the transaction until content is uploaded to off-chain storage – that is clever. Is that a unique use case for relay services?
Collecting the signed transaction instead of pushing it directly through the user wallet helps us design a more efficient process. However, it creates a different user experience. Users are more accustomed to confirming transactions on their wallet than to actually signing and delivering them to a relay service. We need to see how the interaction between users and blockchain evolves with all the new tools LUKSO is putting out and implement a solution that prevents wasting upload resources, while also not compromising the UX.
If using relay services becomes the norm, then this will be a very valid use case, among others that will certainly come up.
Will users’ gas fees be paid for? If so, how is it funded?
There are 2 costs associated with using LOOKSO:
uploading data to decentralized storage networks like Arweave
referencing data on the LUKSO blockchain, under each Universal Profile's keystore (a LUKSO blockchain transaction)
While we’re on the L16 testnet there is no cost associated with blockchain usage (as it only requires LYXt, obtainable through the relayer and the faucet), and, as for Arweave costs, we plan to cover those ourselves.
Once LUKSO transitions to mainnet, we will implement an economic model to allow us to keep covering Arweave costs, while also integrating a relay service to pay for onchain transactions on LUKSO (which is critical for attracting newcomers). This can be a 3rd party relay or even our own service.
Is it a goal to have your standards adopted by other social media platforms?
It is, hence our addition of an LIP to our our hackathon submission. Interoperability and putting the content back in the hands of the user seem like the next logical step for social media. As we said on our FAQ:
“Real interoperability requires social media itself to be separated from social media companies. This proposal aims to create a common interoperable standard in which messages generated on one social media app could be transported and read in any other application.”
One more question from your future plan section ... can you explain this will do?
“Create a system that allows developers to submit translations to events in smart contracts created by them. This makes LOOKSO more complete and gives developers a chance to make their work stand out.”
We aim to create an interface for developers to submit their own smart contract ABIs, allowing them to personalize how we display the interactions from said smart contracts. Sort of like a custom description for blockchain events.
We believe this will drive further engagement with our platform’s users as it makes the feed for “blockchain events” a bit less technically-oriented and more user-friendly.
Is there anything else you would like our readers to know?
Maybe regarding our road-map. The current plan is to work on improvements and fixes while also revamping the UI, releasing periodical upgrades as part of our beta. We plan on keeping an updated bullet list on our Discord, where the community can get up to speed and provide feedback.
We are also in the initial stages of gathering funding, as we intend to grow our team (who, btw, is made up of 3 people right now and a couple of freelancers for design and front end development). This would cover both LOOKSO and DROPPS.
Don’t forget to set that reminded for The Weekly Pink Pill Season 2 Premier!