Tay Profile picture
30 Jun, 20 tweets, 4 min read
Knowledge dump so you dont recreate the same system but worse and now with your entire financial history 😬

1. Authentication
2. Recovery
3. Revocation
of access to the dapp's account via my "wallet."

4. Granting
5. Revoking
of permissions to access information in my "wallet"
"Wallet" in this case is the thing that you trust so you dont have to trust all dapps. Also:
- holds your private key(s) / evm account(s)
- signs with those keys
- may have multiple identities of yours
- controls access to whatever information, keys, or requests for your signing
1. Allow me to Authenticate myself to the dapp in the future to access whatever an "account" is for that specific dapp. Allow me to do so even if time has passed or even if I'm on a new device.

Don't allow others to illegitimately authenticate themselves as me.
2. Allow me to Recover access to my dapp account, even if I lose or change my wallet or address.

Lost keys fall on wallets but dapps should think about mechanisms dapps may be able to provide.

Moreso, dapps shouldnt discriminate if I move keys/addresses/wallet providers.
3. Allow me to Revoke the ability for an address, key, wallet, whatever it is, to Authenticate my dapp account.

This gives me an painless way to mitigate loss at dapp level if my key/wallet/etc is compromised.

Note: Revocation = WAAAY easier than Authentication and Recovery.
Reminder: wallet has keys. addresses. ALL the juicy details.

When you "sign in with Ethereum," the dapp should get NOTHING. It's a placeholder account. A dapp-created UUID. A dapp-created token. Whatever "it" is. No address, balance, profile pic. Nothing. Nada.
Bc the only way the "Sign In" button can reduce friction HONESTLY and TRUSTLESSLY is if it...
- reduces time/effort/steps required by me
and
- doesn't expose me to undue risk or harm. even if I lack knowledge, diligence.

Therefore, clicking the button can't do much.
4. Allow me to Grant Permission for a dapp to access my info or funds, or to request my signature on a msg/tx, on an as-needed and when-needed basis.

Wanna know my balance? Give me something of value.

Wanna know my address? Aka my entire financial history? Value. Now.
5. Allow me to easily Revoke permission for a dapp to access my information or funds, or to request my signature on a msg/tx.

Note: Always far easier to revoke than to auth/grant/recover.
Bonus points:

6. Kill & Exit

Revoking != deleting. But I should be able to easily fully exit dapps that exploit me.

This would bake in a one click revoke access + revoke permissions + disallow allows + remove all my info/personalization.

All that can be killed, should be.
Bc we don't just want a button that says "Ethereum."

We want a mechanism that is better than what we currently have.

One aligned with + representative of this ecosystem's goals.

One that gains value *from* that.

One that empowers individual people over all else.
Part II

This thing has a decent potential to be harmful if it's creators dont grok their role.

They must create and maintain the tenuous hierarchy between all the players to ensure people remain the #1 priority even when dapps leverage all they've got tryin' to get their way.
Bc it doesn't work if you end up being subservient to dapps at the expense of people.

In fact, all y'all need to be subservient to those real individual people. They are the only reason you even have value.

So users are more valuable to you than you are to users.
But you are more valuable to dapps than dapps are to you.

Without you, dapps need to expend resources to build their own thing. Then they need to build their own trust.

If dapps choose to save resources, choose to ride your trusty coattails, they choose to play by your rules 😄
That said, you can't get carried away here. You're entitled to make demands of dapps but not entitled to be a greedy, centralized gatemaster.

That would be forging a different path to the same "oops we rebuilt the current system but maybe worse" outcome.

😬

😬😬😬
So just as you bound dapps on one side, bound yourself on the other.

The rules you set for dapps by must be:
clearly defined
universally applied
carefully considered
easy to challenge
hard to change.

Cuz you cant legitimately demand they dont exploit while you exploit them lol.
Oh, btw, what exactly are you demanding?

Mostly it's about ensuring dapps can't (not won't) exploit users. See Part I. Like, they can't get a users address upon account creation. Or access GRANT without REVOKE.

All that's relatively easy compared to what happens over time tho.
Which means the culture and values you establish from day one matter a lot.

Each dapp will always have some need or desire or opinion on how you should do things to best serve their use-case. Often they're well-intentioned. And not even dangerous or exploitative...in their case.
But shit goes sideways the second you start conflating what a dapp values with your own values. Instead if serving them, you need to make choices that benefit people on the whole.

If everything is properly aligned, your value grows BECAUSE you prioritize your values.
Here your value grows when you prioritize people over all else. Bc people give you your value. 🌈 Alignment 🌈

So thats the role of the creator of this sign in thing. And all who build something that straddles the line between users and dapps.

Way easier said than done. Lol.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tay

Tay Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @tayvano_

17 Nov
Ugh @Uniswap please save my shitcoin casino playing friends from themselves. There has to be a better way to do this.

Let's say they want to dump 100 shitcoins, which is worth ~$5000 rn.
Uniswap sets slippage to AUTO which apparently is 0.5% (???). For everyone I know who uses Uniswap they have no clue what slippage is OR they don't trust themselves to set the slippage. They use AUTO.

So what should AUTO be?

In this case 0.5% = ~$25. Which I guess is...okay?
Until you realize that if the TX fails bc the shitcoin market is flying, they lose $150-$250 in gas!🤦‍♀️

That means they lost 3%-5% on that *non*-trade to save themselves 0.5%. 😬
Read 12 tweets
19 Sep
Wouldn't it be cool if you didn't have to deal with a MetaMask pop up when you were trying to use a dapp?
Like, you know, once you connected to a dapp, you didn't have click buttons over there to send the transaction and stuff? 🤔
Like, ugh, it's so annoying that I have to click a few button in the dapp AND THEN click more buttons in MetaMask. 😩
Read 32 tweets
25 Aug
Preface/

I wrote this like literally forever ago and it's a mess which is why I never posted it. But @gakonst reminded me of it today.

it's an nugget of a seedling of an idea, maybe, but maybe someone can help it grow.
...and...



....and all the community's outrage at MetaMask for launching their new swap feature w/ a "wAy tOo hIgH" fee...

...and @argentHQ paying for users gas until it got too expensive to do so.....

Yeah. Okay let's go.
Read 22 tweets
16 Aug
So @blocknative has been looking closely at EIP-1559 vs legacy txs since this question & one thing I learned from the discussions absolutely blew my brain up:

Since EIP-1559 there are often a large number of transactions sitting in the tx pool EVEN WHEN BLOCKS ARE NEARLY EMPTY.
Say whaaaa?! That must be a bug, right? Or are miners just mining empty blocks for shits and giggles? It’s not always the case, right?

No. No. Wrong.

This is actually…er…the design.

Big brains may see it already but if you have a brain like mine, I’ll walk you thru it. 😁
Note:
- Type 2 = EIP-1559 transactions
- Type 0 = legacy, gas price transactions
- Effective Fee = aka effective tip (see attached). how much the miner will get from the tx. how txs are sorted in a node’s tx pool. presumably the order txs are included in.
Read 25 tweets
10 Jul
This system's increasing obsession with, and glorification of, money (or "value" as y'all call it) is probably the largest threat to a system that can create money-value out of code and tweets.
Having money doesn't necessarily improve you condition.

Creating new money doesn't necessarily improve society and the human condition.
Having money *can* give you some power. It can give you some control. It can give you some choices otherwise unavailable. The more you have, the more it *can* give you, to a point.

But creating new money doesn't give you any power outside that circle of money.
Read 23 tweets
7 Jul
Its the middle of August. EIP-1559 is here. The current Base Fee is `40.` For simplicity, and 0% of confidence in the future state of the network, let's say there's an equal probability that the base fee is any number between `30` and `50` if your TX is included in block....
What TX fee do you use?

Oh what's that? You don't have enough information? Okay fine.
Background:

Base Fee = Set by network, is burned, changes each block by <12.5%. You know the Current Base Fee (40).

Tip = Set by user/wallet. Paid to miner.

Max Fee = Set by user/wallet. Amt you send your TX with. Max you could pay.
Read 38 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Thank you for your support!

Follow Us on Twitter!

:(