xGov-123: AlgoDirectory (directory.algo)


id: 123
period: 3
title: AlgoDirectory (directory.algo)
author: Brian (@SilentRhetoric), Christian (@tak-o-kat)
discussions-to: https://forum.algorand.org/
company_name: Distributed Ledger Technologies
category: dApps
focus_area: User Onboarding
open_source: Yes
amount_requested: 50000
status: Final

Abstract

AlgoDirectory will help people discover all that the Algorand ecosystem has to offer while enabling users to easily create & edit listings through an on-chain model. The Directory will become permissionless and sustainable by leveraging Algorand’s powerful capabilities to put listings on chain and let owners maintain them through a novel “Vouching Protocol” smart contract.

Team

The AlgoDirectory team will consist of two members, Christian and Brian.

Christian (Tako) is immensely eager to work on new and innovative blockchain projects and is a full-stack software developer with several years of experience.

GitHub - takokat

Brian (SilentRhetoric) is a self-taught, full-stack software developer passionate about bringing the promises of blockchain to the people.

GitHub - SilentRhetoric

Experience with Algorand

Christian has been in the Algorand community since 2021 and is learning to become an Algorand smart contract developer.

  • Built the Blocki tool that enables node runners to monitor the number of blocks the address has proposed to the chain in a time range. The tool integrates with NFD and Algonode’s GraphQL API.
  • Has run Algorand participation nodes since summer 2022.

Brian has been an active developer in the Algorand community since 2021 in various capacities:

  • Built the open source Bonfire app for burning ASAs per the ARC-54 standard (xGov-86).
  • Placed 2nd in the Build-A-Bull hackathon Interoperability category for building the Wormhole Connect + Algorand open source SDK module.
  • Built the open source Solid Algo Wallets Javascript library for integrating wallets into a web app (xGov-49).
  • Created the open source xGov Viewer app for reviewing xGov proposals and visualizing xGov voting data.
  • Place 3rd in the 2022 Encode x Algorand Hackathon for a prototype of the Alright agreements protocol.
  • Has run Algorand participation nodes since 2021.

Present Proposal

AlgoDirectory will be launched in Q3 2024 and consist of a web app at algodirectory.app that can view the Directory, create & edit listings as segments of directory.algo via NFD’s API, and maintain listings through a new Vouching Protocol smart contract.

Benefits for the community

AlgoDirectory will be the best first stop for new users upon joining the Algorand ecosystem, a valuable reference guide for existing Algorand enthusiasts, and the premier place for projects to be listed and discovered.

AlgoDirectory improves upon previous Algorand directories in three key ways:

Decentralized, Permissionless, Permanent

AlgoDirectory leverages Algorand’s powerful on-chain capabilties to provide a directory that applies the values we love about Algorand to the Directory itself. It will be decentralized across the node network, open to anyone through a permissionless smart contract, and permanent for the lifetime of the chain.

Designed for Quality and Freshness

A central challenge of directories is keeping their information up to date so it is useful to people. AlgoDirectory will use a novel Vouching Protocol to automate the process of determining if listings are still valid and active. Listing owners will effectively vouch for their listings by providing a guarantee and interacting with them regularly. This system will provide on-chain data about whether someone stands behind a listing and how long it has been since someone “touched” a listing. This way, listings can be automatically sorted and filtered so that active listings people are standing behind get the visibility they deserve while stale ones or ones that have been abandoned are discoverable but de-emphasized.

Sustainable for the Long Term

Another key objective of AlgoDirectory is to be sustainable so that it outlasts the efforts of its creators and any centralized website hosting. Algorand has had several directories over the years, some of which are now gone because their creators are no longer curating them and their Web2 sites. By putting the Directory on chain and providing open source code to interact with it, listings on AlgoDirectory will always be accessible.

Additional information

AlgoDirectory will be the spiritual successor to directorydotalgo.xyz, a “Web2” directory site created and maintained by @tomonalgo until it became clear that a hand-curated model was unsustainable.

The main technical approach to AlgoDirectory will be a wrapper around existing functionality provided by segments of the directory.algo NFD. This enables a robust, on-chain data management process and interoperability with other parts of the Algorand ecosystem that have integrated with NFD. We acknowledge that utilizing NFD’s API means there is some short-term dependency on NFD, but decentralization absolutists should note that all of the data management does occur on-chain, the smart contracts are technically permissionless and can be locked for immutability, and NFD has a roadmap to further decentralize their platform. We think this is a reasonable and practical approach to bootstrapping an on-chain directory. The Directory will be designed to operate at cost and is not intended to generate revenue for the AlgoDirectory team.

2 Likes

you can categorize these various projects better, so ppl can make algo index tokens. like top 10 meme coin index, top 10 RWA index etc. it’ll increase tvl as people try and make the list imo.

2 Likes

Love this idea. What will be the estimated overhead to keep this alive month to month?

1 Like

The goal is for it to cost next to nothing on an ongoing basis and be sustainable for the long term.

The protocol for creating and maintaining listings would be automated and self-service, and the website hosting by would be covered under this proposal up to…let’s say 100GB bandwidth/month.

That said, the proposal is to build the site open-source so that anyone could host a copy of the front end on their own without depending on hosting I pay for.

2 Likes

I like the idea, but one thing that I think needs addressing is that in a completely decentralized/permissionless system, there is the problem of outright scams getting through. If there is no mechanism for dealing with scams, then I think the directory loses trust and usage.

For instance, what would stop me from making a deceptive listing for “Folk Finance” that leads to spoofed Folks website with a wallet drainer. So long as someone keeps “vouching” for it, it remains active, right? (now imagine if the directory is proliferated with this type of stuff).

Thus, I think you need to be able to incorporate some system of on-chain feedback so that suspected scams get flagged/commented on (or potentially get dropped out somehow). The hard part seems like it will be in how to make sure this system itself isn’t gamed. Since fees are cheap, it would not be difficult to spam those sorts of feedback transactions.

1 Like

A couple questions:

  1. Will this have directory categories/headings and be organized by those headings? If so, will those be baked in forever from the outset, or will there be a mechanism for adding or changing them over time.

  2. Can listings themselves be edited? If so, by whom? Is it only the wallet that originally created the listing?

Thanks for your feedback! I want to say a few things:

  1. A key outcome this on-chain directory is intended to address is making the data permanent, because as other Web2 directories shut down I think no directory at all is worse than a “messy” directory.

  2. The vouching protocol should dampen spam listings because someone will need to post some collateral and periodically interact with the listing, else the UI will give the spam listings lower priority.

  3. The fraudulent listings concern should be mitigated by being able to use existing verification capabilities that NFD has built. For example, listings without verification could be flagged/hidden in the UI. Also, if someone creates a fraudulent listing, you would get a permanent and public, on-chain record of it that could be used to help investigate them, which should serve as a deterrent to some degree.

1 Like
  1. The exact design of the categories has not been finalized, but I would imagine it would be like hashtags insofar as anyone can create a new hashtag but it makes sense to utilize existing ones for discoverability. For example, you probably want to tag your defi app listing with “defi” but you can also add whatever else you want, like “real estate”

  2. Yes, they’ll be editable much like you can edit metadata on NFDs today–by the owner. That said, we could potentially provide the ability for anyone to vouch for a listing even if they did not create it. Is there some use case you have in mind for which someone other than the owner would need to be able to edit a listing?

Potentially, yes. For instance we’ve seen projects change hands not just in the NFT space but also in DeFi (e.g. Pact). Of course one would hope that the listing was created with an official project wallet (rather than the personal wallet of a creator). But that may not always be the case (particularly with smaller projects). It seems like one way to maybe deal with this would be for editing permissions to be tied to an NFD. So, let’s say you transfer a project, you could transfer the NFD rather than the keys to the wallet.

Yes, exactly. This entire concept is sort of an additional-functionality wrapper around NFD segments, which can be sold/transferred like you say.

Yeah, this wasn’t so much a critique as it was just flagging an issue that will need to be addressed in some fashion. As long as the system you have in mind is capable of discouraging fraud listings in some way, then this is just a matter of proper tuning.

i havent heard of you guys, but the team looks amazing… would it be possible to consider making an android app that can use this directory? i really prefer using my phone for this kinda stuff, looks good otherwise!

Thanks! The web app will be built as a PWA which means you can “install” it and have it feel like a native app on Android or iOS with an icon on your home screen, a full-screen appearance, etc.

THen this is a great XGov option! It’s actually something new we need, you have my support SilentRhetoric!

1 Like

This seems like a decent idea and includes some good tactics to bring to market.

1 Like

I love the idea of indestructible ecosystem records. Maybe you can consider versioning. Your listings could also serve as some kind of WayBack Machine to see the history of the ecosystem.

Could also be a global record of ecosystem release notes (from each project). Could also generate a chronological feed of project events.

1 Like

Congrats on proposal passing

1 Like

Thank you, Ludo! @tako and I are excited to build this for everyone.

1 Like