SteemHordes - A proposal for a sidechain for Groups and Moderation

in #steemit8 years ago

As a key element of the considerations for which reason I am motivated to implement an application, which I am calling 'steemportal' (written in Python, using piston and Glib-2.0/Gtk+-3.0), what got me started was wanting a proper block function. Well, I'll get around to implementing that, of course.

This is something that does not have a direct impact on anything anyone else does, and I think that people could do with having this feature to filter their feeds from authors they don't like, and this could help act as a buffer against the impact of trolling.

In reading comments relating to the subject, I thought more about my group management system. I think I have a sketch of the architecture laid out now.

SteemHordes is a small, peer to peer blockchain. It does not involve any PoW at all, only PoS. That is to say, likely it should have a 'post payment' limitation like Bitmessage, that prevents spamming this little blockchain, something that makes it impossible for someone to put more than 1 item onto it in a minute or two (so, it would need to be memory hard to prevent exploitation using more powerful calculation devices, eg asics, gpu's).

A person has the ability, using their private key, to sign a transaction to make a claim on a new name. Similar in principle to Namecoin. All other nodes will check and verify this transaction to ensure the name is unique. Yes, indeed, people could register names, and squat them. They could demand some deal to transfer the founder status to another person. This can be of limited success, in any case, because only things like brand names really have value. But why not? If someone wants to register a SteemHordes name CocaCola, why not. Although that may be a legally shaky area.

The point I am making is simply that, a system of name staking would be subject to market forces, and irritating characters like these squatters would either be bypassed by small alterations, suffixes, etc. I am talking about a naming scheme, essentially, for what in Facebook you call 'groups'. In fact, if a person registers a name, they can just not add members to it, and it is the same as a facebook 'page', only their posts will appear on it.

So the founder, whose key registers the name in the first place, has a special position. But this can be delegated. Using the cryptographic technique called secret shares, the founder keys can be split into x of y required to reform the original secret. Thus there would be a 'partial signing' process as well, something a little like multisig, but with a twist. You could put a new transaction out on the network with your partial signature to add or remove a member from the group. This could have a hard limited TTL on the network, let's say 24 hours. In order for the transaction to complete, the minimum number of other holders of the secret share must also propagate a signature to the transaction. At no point will any member of the network see any more than one additional share, the signatures composing a multiple signature also register the first node that saw the shared part, and would not send it to this node. The transformation that occurs then requires each new signature to be summed with the others, and once the minimum is reached, the transaction becomes exactly the same as though the founder made the transaction.

Further security in this is that selection of other nodes will work using RNGs and the peer directory will be, like bittorrent DHT or the same as the way it's done in Maidsafe. The chances that the minimum number of signatures required will hit nodes controlled by the same individual is vanishingly small.

Really, if you think about it, I have just devised an automated, cryptographic system of access control for something akin to a President and a Corporate Board. Yes, it is effectively a permissioned blockchain. But what it does is allow the owners and their delegates to create a specialised filter system from the broader content of the Steem blockchain.

The way it would be implemented, as regard to posts, is it would be two short base58 codes at the very end of a post. This would be one, the group, and the second, which would in fact be a signature from the poster. This would allow the filter system to co-exist with the main, wide open Steem blockchain, but when you use this filter on the application side, it would strip out any post comment that lacks these two elements, and thus restricts the visible comments on a post to only the members, in the view used by this system.

Coin Marketplace

STEEM 0.29
TRX 0.11
JST 0.031
BTC 67685.77
ETH 3856.07
USDT 1.00
SBD 3.69