This post is to garner some feedback on some ideas we have regarding Blurt's image storage expense and risk.
Currently, Blurt relies on centralised servers to host everyone's post images, avatars, etc. Running those servers can be a major expense and at some point they might just start to shut down due to the expense or risk they take by hosting possible illegal or nasty images (you know what I mean).
So, in the Blurt chatroom on matrix the other day we had a little discussion about reducing or even eliminating the remote hosting expense of some images, automatically (ai-assisted) filtering out nasty/objectionable images (child abuse, porn, etc), scaling images that exceed specified pixel dimensions, minimizing filesize (see vecta), and storing images (like NFT's) permanently on chain as compressed text in Base64, ImageMagick etc (via: a Blurt Premium Storage Service). We have also discussed distributed remote image hosting outside of the chain via minio, jackal, walrus and other means.
Chain-bloat
"Storing images on chain, are you crazy!?" - Users currently pay less than 1 cent per KB to have their images stored on someone's centralised server. That's a great deal, but not so much for the guys who have to host those images on their server forever.
Let's say we offer a "Blurt Premium Storage Service (BPSS)" which adds a permanent image hosting option which charges the user (hypothetically) $1.00 per KB. The images don't have to be stored on the Blurt chain as text or svg, there are other chains and protocols that specialize in this (such as Jackal). By charging a Premium fee for this permanent storage, the Blurt chain receives a profit, as well as the front-end provider getting their cut for offering the BPSS service.
Image Filtering
We don't want anyone trying to store nasty images on our chain. There are packages available like NSFWjs, AWSaisk, Nudejs and others which detect porn and child abuse via TensorFlow. In addition to libs, ai and api's, front-end sites can also employ UX to hide/display images when there are false positives/negatives. With so many levels of automated scrutiny, front-end human moderators may not even be needed anymore.
There are many different use-cases for permanent image storage on-chain such as Blurt NFT's on Blurt, InstaGram style front-end images stored on Jackal, titles and deeds for property owners, blueprints for architects, court case rulings, and so on.
We also see the same images being uploaded over and over to Blurt storage servers (memes, fancy horizontal lines in posts, emoji images, etc). Storage providers need to look at the hash and other things to eliminate the storage of duplicate images (plus scale and minify before image is stored). This saves drive space and speeds up front-end load times for users. UX is everything.
So, before a BPSS image is ever converted to text for storage on Blurt or Jackal, it is hyper-analyzed on the back-end. Then if it's ok, it gets sized, minified, converted and stored. For an extra fee, it can even be encrypted for privacy.
The UX of the front-end site could include a modal that pops up and tells the user that it thinks that it sees a nasty image. If the user submits it anyway, then the front-end would have that image blurred or hidden by default. Then once x or more unique accounts with x amount of BP or greater upvote it over the course of say (an hour?), the image will become visible by default. This concept needs more ideas obviously.
Regarding Blurt NFT's
An NFT image, descrip and other params do not need to be a coin on a single blockchain. Look at the Cosmos ecosystem. The NFT could be the transaction id with the image as text embedded into the tx. One of the big complaints about NFT's is that they merely contain a link to the image and not the image itself. Blurt can easily solve this via the text storage methods above.
Traditional Storage
I don't know who is currently paying for the image storage server(s) for Blurt, but I'm pretty sure they are not getting paid much, if anything. By offloading all images to Jackal and/or the Blurt chain with a BPSS (Premium) fee attached, those centralised servers can be shut down and we become more decentralised and profitable at the same time.
As I stated above, these are just ideas and your ideas below would be greatly appreciated...
Please and thank you! 🙏❤️
@saboin There are a lot of new ideas to make Blurt more attractive and cheaper to maintain. Do you know what's going on with @megadrive? Is he still alive? Does he still care about Blurt or not anymore?
He still cares about Blurt, but he has other things to take care of, so we only hear from him once in a while.
I will forward to him the link to this post so he can read it.
thanks, it's good to know he's still with us
Hi @mariuszkarowski I am still around thank you for asking after me, I appreciate it.
I like that the community is moving forward without me, this is as it should be. I am still around to help steer things on an ad-hoc basis.
I believe that we have reached the point where without you we can no longer do much more on our own. Now is the moment when we should forget about old arguments and focus on how to push Blurt to a new level, especially since @agorise is planning to build some new things here, and in his chat you can find out that his dev team is even able to complete planned hardforks.
https://blurt.pl/en/roadmap.php
That's why I invite you to Blurt Matrix. It is worth talking, even if nothing would come out of it
Hi Marius, thank you so much for your kind response, it does mean a lot to me. Please consider the past forgotten, we will forever be allies from this point on.
For transparency, I am hoping Blurt will flourish without me in time, I am however happy to help steer things to the point Blurt is self-sufficient.
I have joined the Matrix chat which already sounds promising, I have a good history with both Kencode and Jackalprotocol.
Maybe he is like Satoshi Nakamoto ? Blurt is truly decentralized now… just like Bitcoin.
Maybe If we want stuff done the community needs to do it.
Just kidding … I tagged @megadrive on Discord….
One of the big complaints about NFT's is that they merely contain a link to the image and not the image itself. Blurt can easily solve this via the text storage methods above.
I don't know who is currently paying for the image storage server(s) for Blurt, but I'm pretty sure they are not getting paid much, if anything. By offloading all images to Jackal and/or the Blurt chain with a BPSS (Premium) fee attached, those centralized servers can be shut down
I'm not really a fan of storing the images on the blockchain itself. When the blockchain get bloated, we will need to upgrade all the hardware for running the Blurt nodes. That makes it more expensive for witnesses and even more so for RPC node operators.
It's way cheaper to use S3 storage with an image server than it will be to run a node with a bloated blockchain.
I think the Jackal idea is probably better.
It's definitely good to decentralize. That will eliminate the single point of failure that is the situation we have right now.
In the beginning there was another witness who was running his own image server. When he left Blurt, all the images that were uploaded to his server got lost.
Yes, indeed.
Jackal charges a fee for use of their chain and protocol of course, but that cost can be passed on to the user by default for all images of course, but add a BPSS fee if the user wants to store more than x KB of data. In theory, I could even implement this on all Peerhub powered sites like vigilante.tv (which has 1000's of videos and Millions of views) so that those mpeg files also get stored on Jackal, Walrus, Storj, etc.
By increasing the cost to the user, this also encourages users to scale and minify their uploads, a win-win for the front-end UX as well as the server admins.
"Lost images" wouldn't even be a thing anymore.
And how would this be implemented in a peerhub node? I remember that one of the things I gave up on was peerhub storage, it is not compatible with IPFS or other protocols. I have been looking for some ideas on how to implement these storages but my search has not been very satisfactory.
Our Peerhub software includes an option patch for peertube server. In this patch, we can include the integration with jackal, storj, walrus, etc.
Neither peertube servers, or our Peerhub software use IPFS at all. IPFS (as we proved years ago) is not suitable for real-time environments, especially streaming. We even re-wrote IPFS and many of its modules in C-lang just trying to speed it up, but IPFS is just not suitable.
For remote storage on some Peerhub powered sites, we currently use minio over s3 protocol which is lightning fast. We use https://agori.host for these kind of services. For streaming, we needed that level of power, attack resistance and low-latency.
Check out jackal, walrus and storj when you get a chance. If we can get a little bit of funding, I will setup a PoC for Blurt to jackal and run some benchtests to get us the proof we need. This would ultimately decentralise Blurt even more, as well as provide a better quality of service with lower latencies.
when you mention this, is the plugin in development? or is it some kind of private patch from you guys? as I mentioned I am a fan of peertube, however I could never figure out the storage issue a few years ago. Maybe with your enlightenment I can solve this riddle, thanks for responding.
It's a patch we continually develop as new advanced features are being added to our Peerhub software. See the descrip of the patch here:
https://peerhub.app/#install
As for distributed storage, we use minio over s3 with webmin and zabbix monitoring currently, but would really like to move up to ultimate file permanence and the elimination of the humans in the middle between master and slave nodes which jackal can provide. Jackal is available in the Cosmos (IBC) ecosystem of blockchains. Jackal's nodes are run by freedom loving experts too, not corporate types, which for me is very important in whom I work with.
exactly. It will be great to keep blurt BC small. But it should be possible to add additional layers out of main BC. Hive is huge because of games, hive engine and many more transactions in BC. It will fall in future because it will be too big to be decentralized. Maybe additional layer for blurt with lower transaction fees and with ex. smart contracts can be solution also for images.
Hey Saboin, if you get a chance, can you please join us in the Blurt chatroom on matrix?
Located here: https://matrix.to/#/#blurt:matrix.org
Before we start anything, I would really prefer to coordinate with you 💪
Hi Kencode, how are you? Been a while! I know you well from the other Graphene platforms and am so pleased to hear that you want to make Blurt your new home.
Having brilliant minds like yours in our platform is indeed encouraging. I am very open to the idea of decentralised hosting of images and even video, I always had Arweave at the back of my mind but realise it may be expensive.
I know Jackal from the Cosmos ecosystem, I believe they had some chain issues some time back, not too sure how stable their project is, although it did have promise. Having a look at Coingecko it seems they don't have their own chain anymore? Seem to be a layer2 ontop of a few others like Osmosis and Secret network, perhaps you know more about it?
https://www.coingecko.com/en/coins/jackal-protocol
Image storage is currently on an S3 bucket store, it costs around $30 per month, not too expensive yet.
But centralisation is an issue, it would be great to make it decentralised for sure.
Currently the fees that it costs to upload an image go to null and doesn't come to the infra providers.
Thanx megadrive it's nice to be here! I feel way more welcome here and there is no feeling at all of any toxicity either like what we got "over there".
So, our Blurt + Peerhub integration is about 70% complete right now so Blurt will be front and center on streaming sites very soon. The jackal thing looks very promising imo. Walrus hasn't been around long enough yet and is still in its infancy, storj has been around since 2014 or so iirc (since my bitshares dev days) and there are others like maidsafe and nibiru.
I'd really like to see Blurt get use of the IBC for inter-chain interop, and jackal just happens to be within that ecosystem too. This will help us with discoverability and onboarding at the same time.
As for arweave, I got into them awhile back too, but ever since Akord decided to leave arweave, I did some more investigation and made my final decision on jackal. Their per TB fee is a bit high, but for users willing to pay the premium for permanent storage, that extra margin can help cover the cost of all of the image hosting we do at Blurt. I'm not a spreadsheets guru, but the napkin math seems to work.
Jackal is L1 now, no more need for secret's chain (alter finally left secret too). I use Leap with all of them.
As a PoC at the very least I'd really like to add jackal (modularized in case they fail a year from now or something and we can easily flip-on a different storage chain) to Peerhub. Storing video and keeping the slave nodes in sync is not as easy as some people think. Minio with docker is no joke. Anyway, jackal imo seems to be the best choice the world has right now and it gets us one step closer to multi-chain interop and hence a growing userbase.
Hey Kencode, thank you for the detailed overview of the options. I understand everything you have said as I was in the Cosmos ecosystem for 3 years, I should still have the Jackal team on a twitter chat, just have to find it.
Approx how much would it cost to store 150 GB on Jackal do you think? That is roughly our S3 bucket size. How do we pay for it, can we pay in a decentralised way? Maybe a top-up address the community can send funds to and can it be prepaid, say for example we only use 150 GB now, but we prepay for 500GB or 1TB?
I think the modular approach regarding the PoC is a good idea, I'm happy for you to co-ordinate with @saboin on it.
That would be really awesome to hook up with Patrick over there. My friend Flynn has been discussing my work with him recently and Patrick did say "happy to work on it with him". So we will probably connect in the coming days over this integration.
Jackal right now iirc is like $15/TB. Like I said in my last message, that is pretty high actually, but we can roll that cost to the user who requests premium storage for the imagery, video, nft, etc.
By adjoining Cosmos/IBC with Blurt, it opens many doors for us, not just new users. Blurt users pay in Blurt, but the backend keeps Jackal happy with the swap to $JKL. I'm pretty sure our chain can fund what we use, rather than having to buy blocks of space.
As for the Blurt+Peerhub+Jackal connection PoC, it would be great to run it on something smaller like that, rather than the entire Blurt chain. I want to beat the hell out of it first.
I pinged you on matrix, would be nice if we could have that room chat I mentioned there. I have so many ideas that will get Blurt noticed, bring nice profits and demand for the coin at the same time.
Ah can I just confirm is that $15 per TB once off for eternal storage? Because say we currently pay $30 per month for the same 150 GB of space it would be cheaper right away to place our image store on Jackal.
Yes that's right Patrick is the name of the guy.
If we can do Blurt/IBC that would open us up to be listed on Osmosis and we would have the edge over all Graphene chains.
I'm now with you on Matrix, will continue discussing there.
No, I am pretty sure it's $15/TB per month. They'll need that cashflow to keep things running, especially in the beginning before $JKL price takes off.
You are spot-on about IBC, that's why I think it should be a top priority for Blurt. It's one of the things I think @Saboin and I should discuss because it would open the door to all of the things that the many blockchains (like Jackal) can offer to Blurt and vice versa. Cosmos ecosystem does have a couple self-proclaimed socialfi chains on it already, but they are nowhere near as time tested and solid as Blurt.
We can quite easily make Blurt stand out as the go-to socialfi in Cosmos.
100% Agreed, oh and if you have any ideas about incorporating AI into Blurt I would be interested.
I know instagram has AI to assist you with dm responses, me could have that for comments maybe, perhaps AI post creation assist or even AI content search and suggestions.
I'm a yes on FOSS ai-assist for Blurt. The chain is "dumb" and will store whatever someone throws at it. I'm a fan of Ollama ai models, but for detecting NSFW posts, I would definitely like to implement one or more of those other libs too that I mentioned in the OP, so that human intervention/moderation is needed less and less.
This way, our chain (and jackal) includes content flags (as attached ops). The flags are applied of course after the user posts the content (which we have no auth to stop). Some minimal custom_json op should do the trick. Front-end devs can watch for specific flags of their choice.
If the ai or lib does any questionable/false positives/negatives, the content could be upvoted from other front-ends (by user accounts that meet minimum criteria) which can then insert a mod op so the flag is downgraded or removed. This part needs more discussion of course.
Imagine a private investigator or lawyer needs to permanently store encrypted evidence, or the plans for building an earth aether energy plant, or meeting minutes, etc.
We don't have to decide on just one FOSS ai model or lib either, we can have onion layers of filters that text, an image, video or other blob run thru before getting marked or flagged, by default. Front-end webhosts can run the filter on their system, or not, their choice.
As for ai assisted post creation, @unklebonehead knows of tons of great libs for that stuff, I consult him regularly for his advice on various libs and packages out there that we can use for various tasks, privacy and automation.
Would it help with saving costs if we minimize images on our posts?
Yes, always! 💯
My favorite image filesize minifier is tinypng:
https://tinypng.com
Your post after many days is still appreciated by blurt users.
Post has received 1 additional community votes in the past 7 days. Reward from this comment will be credited to your account to additionally support your work!
You can check post ranking on https://blurt.pl/en/promo.php
if you want to support others by this tool just vote on any article you like at any time no matter when it was publish. Help dig up good content from the depths of the Blurt network and reward good authors! :)
Re🤬eD
✌️💜🥓
indeed!! 💚💚💚💚💚
Ive been 8 years publishing scifi on tbis block
From a country that still doesnt know how to vote.
I like how you add space 🥓
i refuse to vote for more government. i vote for myself and my loved ones. every time i voted for more government, i got a LOT more government.
Yep
Is that supposed to be for shade or for the birds to stand on and shit at the unfortunate bystanders below?
🤬
That took me back when I changed kids diapers.
¡Queremos leerte!
Entra y publica tus artículos con nosotros.
Vota por el witness @cosmicboy123
Also have you tried our mobile app, does that perform any better for you? https://app.blurt.blog/
Actually I have not. I will do so tomorrow morn, thanx!
What did u think?
I wasn't too fond of the ui or the ux, so I gave up
Yikes… I had no idea that Blurt had to pay so much for image storage… how is this being paid now ?
What is cost per month ! $1,000 ? $100,000 ????
Do our small posting fees pay for this ?
afaik, the individual server operators pay for it themselves.
Who would that be ? Megadrive ? Saboin etc ?
They pay this out of pocket ? Or need to sell Blurt to pay the monthly fees ? Who is paying for this ?
I do not have a Staff list yet, so I'm not even sure who are the exact people in the Blurt Foundation or DAO.
Right now, it's just me and @megadrive. I operate the infrastructure, he takes care of the financial stuff.
The founders were @jacobgadikian, @baabeetaa, and @megadrive. @baabeetaa left to work on other projects of his, so did Jacob. When Jacob left, I came in to replace him. He was running the infrastructure and taking care of GitLab and those kinds of things.
I'm not a programmer by trade; it's just something that I do as a hobby. That's why we hire outside help when it comes to bigger projects. I could do more software development, but I don't have much time because I have a full time job and a personal business, neither of which have anything to do with computer programming.
I was in the process of rewriting our image services (the proxy, the uploader, and the server). If you can do what you're talking about in this post, I might not have to rewrite the whole thing. I might just do the image proxy and call it a day.
Right now, I'm just using a custom version of Nginx setup as an S3 gateway to serve the images.
Edit: What I meant is that it's just me and @megadrive left of the "management" so to speak. There are other team members who do various things. I don't intend to make it sound like it's just the two of us doing everything. We have a team that handles social media posts on traditional social media, and they also work on marketing Blurt. They came up with the new logo that we have now. There are a few people helping with the RPC nodes. I wrote a small program that monitors the nodes and alerts us whenever one of the nodes goes down, and there are four of us all in different time zones that can attend to them whenever needed.
Thanx for the clarification Saboin, much appreciated. 💪
I/we would love to assist with dev and linux/nginx servers, it's what we do.
Our hosting division is at https://agori.host if you want to have a look. We can physically walk up to our servers, so they are not AWS, DO, etc. We also containerize everything, use ansible, zabbix monitoring, minio for real-time offsite s3 distributed infrastructure, and webmin. All FOSS of course.
As far as dev, we do it all. Everything from C and C++ to Nextjs, react, angular and the like. We keep our public repos on git.agorise.net and npmjs.com.
I've been slowing investing in Blurt myself (ken code) as I firmly believe this is a new home for me. If you guys would like to have a call and discuss our ideas, I'm with you. I only use matrix encrypted calls tho, hope that's ok. I can be reached thru the Blurt matrix room any time (I live in acapulco, mx btw) at:
https://matrix.to/#/#blurt:matrix.org
As for marketing, I suck at that, like seriously sucky. So, hopefully the stuff I am releasing on Blurt can get some love from the marketing types and community. 🙏
You can find out on the Blurt Discord …. It’s mostly @saboin and @angelica7 I believe ….
Maybe @nalexadre ? @beblurt ??
Ask here : https://discord.gg/jMPmA37R
I wish discord peeps would start using matrix protocol, or session, etc. Those massive centralised companies like discord, fedbook, twitter etc won't be around much longer imo, as they're all going bankrupt (let alone my security concerns).
We don't need to dox anyone, but at least their primary blurt usernames would be nice for some better accountability and transparency. Like a Team page or something for the blurt.foundation website that also shows the dapps in the blurt ecosystem, api's available, our git, our official social media pages, etc.
I just prefer to have massive transparency so that new users and investors can see what's going on. @blurtofficial for example, hasn't posted any updates in over 4 months. Community updates imo need to happen at least once/month.
I agree 100% ….. but I’m also not a fan of running apps or d apps on my devices. Is Matrix an App ?
I think that everything is being run by @saboin these days…. At least keeping all the servers up and running …
There might be 2 or 3 other developers but I think they prefer to be completely anonymous. To avoid the Hive Downvoting Club …
I’m just a crypto agnostic blogger on Blurt, Steemit and Hive (pepe, meme etc ) I even collect free TRON
Matrix is a protocol.
Just use their web ui: https://matrix.to/#/#blurt:matrix.org (element.io is the actual url).
The blurt gitlab page shows me who is contributing and committing code, but who is in this foundation is a mystery to me and it shouldn't be. I'd really like for us to have an official team page and such.
"(you know what I mean)"
Actually, no. Censorship MUST be incredibly carefully defined. "You know" is nowhere near that standard, and we must do far better.
Any removal of images needs human oversight and an appeals process, at the very least.
I noticed years ago that my images were altered long after they were uploaded and used in various posts. To save costs, no doubt. But I felt like I was suddenly losing value for my fees. I also felt offended that my images, some of them original artwork and photography, were edited by someone else without my permission or even knowledge. We used to post much large images on these chains, then it was down to 800, now it's 720 or something.
So yeah, we probably need changes when it comes to images. But not more censorship in order to get there!
I agree, 100%.
Here's an idea: On our block explorers like ecosynthesizer, there are menu iotems across the top for witnesses, richlist, etc. Add another choice called Media. That page could have a list of all the images or videos that have been flagged. Flagged, as in another operation that attached to the hash of the media file stored (on s3, jackal, akash, etc). Enable users to upvote images that are not NSFW/copyright-infring/doxxing etc and it will mod the flag on the media file, committing the op to the chain and replacing the current flag on that particular media file's hash.
Just thinkin out loud there, but a page that let's me search for specific images, from certain users, on a date range, that might include imagery of x or y or z, etc (filters) to quickly find the image in question. We could even use ollama a.i. image identification to assist.