For the current proposal, I’m going to focus mainly on bringing ZECpages back in an archived form together with a minimal live version; however, there will need to be more rearchitecting done over a longer period of time to fulfil the full vision of a ZECpages 2.0: for the project to scale better, be financially sustainable and ideally allow for interaction with social media networks such as Bluesky and nostr.
The existing zaddress will be deprecated and work in a more limited view-only archive mode. This is necessary as the project will be under a new name and not have access to the existing spending key. New posts will need to use a new address.
The project will be called ZECpublish (based on existing work for ZPublish).
Unfortunately, there are a couple of hurdles to restoring a ZECpages archive from all the old posts: mainly around post replies and polls, which rely on database IDs. There are some API archives from 2021, however I don’t believe transaction ID to database post ID mappings are available anywhere past that.
Some ideas:
Login with Zcash – initially with OpenAuth most likely
Extending ATProtocol PDS server to include UA address as an alternative to email for verification, and possibly receiving messages via memos, given that the user profile has a positive ZEC balance.
Anonymous memo posts can be published under an ATProtocol bot account and be available on Bluesky (pending manual moderation).
How would memes work? Via image embeds? I’ll be exploring the idea of implementing markdown support: for image embeds, and possibly video embeds in the future.
Moderation/reporting support would probably best be done with Bluesky/ATProtocol integration. A JSON transaction ID blacklist will likely be included in the repository also, and available via JSON API.
I think it would be neat to have a convenient mechanism or perhaps like a button that opens textbox to hash text (possibly that appears automatically when zecpages recognizes that a post includes a hash).
The usecase would be able to conveniently prove to others who are viewing zecpages that you are the same poster that posted earlier by showing you know the unhashed text of your previous reply (without necessarily having to reveal spend keys, etc)
Let’s pretend my post here so far was on zecpages. I might end it by saying.
If a bunch of people reply and I want to reply to them while proving I’m the original poster by saying that if you hash the text “Hey here is some UnIQue 3842 text to prove I’m me” it hashes to 896734db75821039d516ff9d27174a590e76e9b3 which was in my original post.
Make this convenient to verify. That way users can easily and conveniently check they are continuing a conversation with the same person if that person wants to reveal it.
This could be good to help with commerce or reputation building for users that want that.
Or could simply auto highlight notes the same color where the first note that includes a correct unhashed text of the hash in the original note shared the same color. Might require people who want to do that to follow a standard format, but would be neat.
I think having something working is much more important than restoring the old archive. That could be done later (if needs to be done at all).
It would be cool if it supported showing posts that are on the mempool - it would basically allow it to show posts in real time. (Of course you’d need to hide stuff if they don’t get mined…)
Yes, will definitely focus on having a live working version of ZECpages too; restoring an archive will be useful for the initial launch of the website while there is effectively no user content yet. It can be just a static/historical feed without reply threading, in a JSON archive to minimise the amount of work required and allow for focusing on new features.
I will work on ZECpages protocol versioning and documentation.
Realtime posts would be risky moderation wise, and could incentivise spam. I’m inclined to work towards incentivised, transparent and decentralised human moderation; word filters can be easily bypassed and AI moderation is a dangerous slippery slope, I’d like to avoid any AI features unless they substantially improve the user experience for the majority of users, do not compromise on privacy/security and can run on an open-source/self-hosted stack.
One idea would be rewarding moderators with a cut of post fees. I like the idea of having a realtime mempool view, and posts can be treated as having an initial score of zero, that would disappear if not mined within an hour. Could reward moderators with a cut of the post fee once the post is confirmed/mined.
I’m planning to work on this functionality; however SHA1 is vulnerable to collisions, and there would need to be a way to securely store/verify secrets. I think some kind of HMAC/JWT signature system could work. Also worth keeping in mind that there is a 512 byte limit to memos.