The Ethereum Follow Protocol (EFP) revolutionizes social networking by embedding a decentralized social graph directly into the Ethereum blockchain. This innovative system facilitates user interaction and management of social connections via Non-Fungible Tokens (NFTs).
Engaging with the Ethereum Follow Protocol Ecosystem
To engage with the EFP ecosystem, participants begin by creating an EFP List NFT, which is free except for the required transaction fees. This NFT symbolizes the user's personal EFP List, a curated collection of Ethereum addresses and related metadata that the user chooses to follow or manage.
Roles within the EFP List
The structure of each EFP List is defined by three key roles, each associated with an Ethereum address:
- Owner: Possesses the authority to transfer ownership of the EFP List NFT and alter the data storage location.
- Manager: Responsible for the operational management of the list, including updates, metadata management, and role assignments.
- User: Acts as the follower, tracking the Ethereum addresses listed.
While typically one Ethereum address will hold all three roles, they can be distributed across different addresses if necessary.
Data Storage and Management
The EFP List NFT is linked to a List Storage Location that is crucial for maintaining the List Records. This location could be an Ethereum Layer 1 or Layer 2 smart contract address. Future updates may incorporate CCIP-read pointers to facilitate off-chain storage. The storage solution chosen must assign a Manager role, which is often the same account that holds the Owner and User roles, although variations are possible.
List Records and Tags
At the core of an EFP List are the List Records, each containing an Ethereum address and potentially multiple tags. The initial and primary type of record is the Address Record, typically used to indicate a follow. These records can carry various tags to specify the nature of the relationship:
- No Tag: Indicates a straightforward follow without further implications.
- Block: Blocks all interactions and visibility between the user and the blocked account, superseding other tags.
- Mute: Prevents the user from seeing the muted account's activities, although the reverse may not be true.
Tags such as "block" and "mute" also exclude the involved accounts from follower counts. Users have the flexibility to create custom tags under specific conditions, such as a 255-byte maximum length and no unnecessary spaces.
Enhanced User Experience with Account Metadata
The EFP framework includes an Account Metadata contract, enabling users to assign metadata specific to their Ethereum accounts. Users can identify a Primary List, which applications will recognize as the user's main EFP List.
Metrics and Social Graph Construction
The social graph is constructed using all EFP Lists, with exclusions based on the definition of the User role, the list's status as a primary list, and the clarity of list selection when multiple lists exist for a single user.
- Followers: This metric tallies the number of EFP Lists that include an Address Record for a particular Ethereum address, excluding any records with "block" or "mute" tags and lists not designated as primary.
- Following: This measures the number of Address Records in a user's primary EFP List, with similar exclusions for "block" and "mute" tags and considering multiple records for the same address as a single follow.
The Ethereum Follow Protocol offers a structured yet adaptable approach to managing social interactions within the Ethereum network, enhancing the ecosystem with the robustness and transparency of blockchain technology.