Steem multi-authority permissions and how Posting authority works

in #esteem7 years ago (edited)

In one of my recent blog post I have used simple analogy of the keys on Steem. In this post, I want to dive deeper to give some practical use cases of posting authority and private key permissions. Also hoping to shed some light on new feature on eSteem and how it works. There are probably articles that gives you overall picture of what multi-authority is and for what reason it can be used. @xeroc also made detailed post about multi-signature and its usage with piston library few month back.

What's multi-authority

Analogy I have used in recent post is:

You can share any of the permissions with other accounts on Steem.
Just like, you can rent out room in your house or have more than one passcode to access safe/vault or joint ownership of property/house...

You can add any account or private key to your permissions!

Let's take example, you and your friend built @XYZ company/community here on Steem and you both want to share posting authority of that community account. This is how you would do it with steemjs...

steem.api.getAccounts([XYZ], function(err, response){
     if (response) {
       var account = response[0];
       var postingAuth = account.posting;

       //adding permission
       postingAuth.account_auths.push(['youraccount', postingAuth.weight_threshold]);

       steem.broadcast.accountUpdate(wif, XYZ, undefined, undefined, 
           postingAuth, undefined, account.json_metadata, function(err, result) {
         // youraccount got posting authority for XYZ
       });
     }
});


Another example, with recent update on eSteem app, if you want to schedule posts you would allow posting authority for @esteemapp so that posts can be automatically scheduled/published upon your request.

Image on a right side, shows how my account @good-karma shares posting authority with @esteemapp and @streemian. To give/remove posting authority one should use their active private key to sign transaction. esteemapp or streemian doesn't have access to my posting private key but they have authority to post on my behalf. This permission can be revoked anytime. The system is designed such a way to enable multiple applications with just single feature. And there are dozen application and use cases on Steem.

So now I have given permission, how it can be used or utilized by @esteemapp or @streemian?! Let's show an example of that as well.

Use of posting authority

Using authority is just as simple as submitting posts/comments or voting. Steem already recognizes who is publishing the post and if they have the permission to do so.

operations_array = [
    ['comment', {
                        parent_author: "",
                        parent_permlink: category,
                        author: XYZ,
                        permlink: permlink,
                        title: title,
                        body: body,
                        json_metadata: json
         }]
]
//wif is private posting key for youraccount

steem.broadcast.send({ operations: operations_array, extensions: [] }, 
             { posting: wif }, function(err, res) {
    //youraccount published post on behalf of XYZ account.
});


That's in a nutshell how it works!
Before you give permission and authority to any other accounts, beware or make sure you trust them.

This process is straight-forward when using eSteem, just enable permission to add @esteemapp to your posting authority so when you schedule posts, esteemapp can publish post on your behalf. Without permission, esteemapp won't be able to publish post for you when you schedule a post. This is most secure way of doing scheduling posts without asking user for their private posting key.

Alternative method from what I have heard, mostly users sharing same private posting key which in case of dispute both of them will loose access by changing account keys altogether. Above feature allows you to easily control authority without needing to change your keys.

Sharing authority is safest and convenient way, rather than sharing private key directly. Always know how your private keys are being used and who has access to them. Use them with caution!

That's it, hope it helps to clarify how scheduling post feature works on eSteem and how multi-authority works on Steem. In future, I will talk about other authority and their uses cases...

Steem on!


vote witness good-karma

Sort:  
There are 2 pages
Pages

Thank you!

Quick question: Will eSteem show a byline, or add a link to its website / post... at the bottom of our post?

Currently, eSteem shows username, reputation and post category for each post, but I take a note of this to add on upcoming releases ;)

Gotcha! Thanks for the response.

add on upcoming releases

Why add? A checkbox option would be nice, perhaps. So the choice is in our hands.

Oh you meant like and signature lines?!
You can do that already with combination of drafts, just create post with signature line and save it for later which will put it in drafts you can always start new post from that draft which will have your signature lines already filled out...

GREAT POST WITH CLEAR INSTRUCTIONS AND EDUCATION. AWESOME!

Thanks a bunch for it all, I am going to bed less of an idiot because of it! ;)

Namaste :)

Thank you Eric! :)

So can tell me if there is an app for streamit. Or is that last picture just of the website on a computer?

Yes there is an app, eSteem mobile app available for Android and iOS users!

I gotta try the scheduled posts. Makes things so much easier.

Interesting stuff indeed. But i dont get how everything here is still so basic.

Im just trying to give free calls on silver trading, but still i think its just way to basic.

This article is great and explanatory!
I haven't tried esteem app tho, I think I should try it now :)

Let me know if you experience some issues 😉

Awsome post bro! thnak you very much for the info you provided, im new at steem and im loving it, keep going like this!!

Speaking about multilevel permission on Steemit, i tried talking a friend into comming on board since last week and yet he hasn't been verified by the Steemit Crew- no passkey generated after confirming his email. Is that a glitch or they just completely forgot him?....err he wants to be known as @the-commentator

Registration usually takes less than a day or two. You can also create account to your friends by delegating or paying initial Steem Power that's required to perform actions, @timcliff recently posted about it...

Really?.....well this over days now....

I was contemplating bout this, and here comes the 💣. Great post, Resteemed, voted, and thanks

This is just perfect...might be time to buy smart phone after all...:D As i see it is the project where i wanted to help with translation but fortunately i had enough Czech guys.

Congratulations @good-karma!
Your post was mentioned in my hit parade in the following categories:

  • Upvotes - Ranked 3 with 766 upvotes
  • Pending payout - Ranked 2 with $ 1186,63

Hi, I've seen some of your publications I'm going to follow, follow me and let's collaborate together

Awesome! thanks for the explanation. I still need to get the eSteem app on my phone.

Hi @businesswri
You will like the esteem app for being on the go. I have found it helpful.
Best,
Isaac

This makes understanding steemit much easier than before. I usually try not to worry about things like this but its a great thing to know how it all works in order to amplify your game. I love it, thanks good-karma!

I find this information very useful. I printed a hard copy and also resteem so that more can benefit from this information.

Solid info! Seems the more I learn about steem, the more I need to know. But that just adds to the richness of the platform. Thanks! Followed and upvoted!

It is indeed safe and easy to use app, learning more and more new things around but I admit sometimes I can't absorb them all :) but at least @good-karma you make things much easier to understand while explaining it in easy way.

Need to upgrade my celphone coz it cant load much app celpon memory lose is not good hahaha. Wait if I can buy new one you'll be junk! My celpon hahaha. Thank you so much informative post.

What do you mean by "steemjs"?

or even this: "This is how you would do it with steemjs..."

That doesn't make any sense. I can't "do" what you don't describe. I feel like you aren't saying what you mean.

Further, this makes no sense, either:
"This process is straight-forward when using eSteem."

I literally see no value in this post, nor can I fathom what makes it so popular. Please iron out what I see as a dichotomy of backroom techno babble and rustic Russian ruffians. Am I supposed to take sides as to who wins?

I guarantee that I can straighten you both out. Follow me and you'll see how.

Now back to the regularly scheduled technospeak.

steemjs is library that is being used by many Steem apps: https://steemtools.com. eSteem is mobile and desktop app that is using this library just like Steemit.com and Busy.org etc. And at last this post is more for developers and eSteem users to know how things are working behind the scenes.

It seems to be over-the-top technical with no explanations. I would like to discuss this with you, but I am in the middle of creating a major introduction post. If you would like to see it as soon as it posts, please follow me. It's going to knock your socks off... and I say that from one developer to another.

Thanks for the reply!

Thanks again for another post with valuable info, the desktop version should be good. I can't wait to test it out!

Soon they will be launching nuclear missiles from submarines using steemit multi authority permissions

lol 😂

Great, weekends seem to be very slow for traffic so scheduled posting will help in a big way to maximum eyeballs for your post. You can prepare you posts over weekends and schedule them to be posted on Monday morning. I would think the first couple of days even the first few hours of posting is the success of your post especially for newbies.

There are 2 pages
Pages