Hacker News new | ask | show | jobs
by klabb3 1296 days ago
Not saying this is the future, but something like it is. All of the core decisions here are solid (pub key identities, signed events, dumb relays).

There are still features that many apps will need such as tying multiple devices to an identity, abuse prevention for relay operators, etc.

2 comments

“All of the core decisions here are solid (pub key identities…”

I agree, except for the bit about public keys as identities.

I think public key identities are a step in the right direction, but there’s still a gap between that and what the ultimate solution is going to wind up being.

We need to have some layer of indirection between user identities and public keys so that users can do things like rotate keys, have multiple keys, and recover their identities.

I don’t know what the right solution to that is; I think it’s an open problem and probably one of the most important ones to solve. Keybase probably came closest to a good solution, but it wasn’t decentralized.

I was reading about algorand rekeying today, as well as DIDs and atproto/bluesky.

Both seem to use a “signed rotation” approach. Algorand keeps your public key stable while adding metadata that your spend key has changed and links the two. Atproto similarly uses the recovery key to sign a rotation op which can regenerate your signing key, additionally readjusting the tree to preattack state (by setting prev of the rotation to the last precompromise state).

This seems like an improvement of some kind, but still leaves gaps for lost keys. Keybase style approach, or multisig social recovery may also help.

Until Algorand can remove the CGO requirements and libc JS dependencies then I hope it won't ever be considered for something like this. Let's not also forget about their terrible management.
I wasn’t suggesting either of the technologies wholesale. The “signed rotation” commonality seemed interesting, with subtle differences. I’m curious to see where DIDs go, I’ve seen those crop up a few places.

UCAN also seems interesting, JWT with extra steps and attenuation. But orthogonal to this issue for the most part.

Is there a way to do what you're suggesting with identities? I don't think there is. How are you going to rotate keys without a master key?

And even if you're ok with the master key, the only way to solve this without centralized providers is with blockchains. A blockchain for rotating keys doesn't make sense.

But I do want to know if you're ok with a master key and subkeys that can be rotated.

“Is there a way to do what you're suggesting with identities”

There are certainly solutions, but I don’t know what the best solution is, hence why I called it an open problem.

An example solution would be something like having your identity be a hash of your initial public keyset, making each key have a set expiration date, adding new keys by signing them with one of the existing keys, and then storing all of the rotation operations in a transparency log.

“the only way to solve this without centralized providers is with blockchains”

That’s not true; you probably want a transparency log, but that doesn’t require blockchains.

Vitalik wrote a bit about ways blockchains can help with identity systems here: https://vitalik.ca/general/2022/06/12/nonfin.html
My vote is for extended keys, something based off HD Wallets:

https://github.com/bitcoin/bips/blob/master/bip-0032.mediawi...

Easy rotation and recovery of individual keys, but you do have to protect your master seed.

Nostr also supports user verification through DNS hostnames.

https://github.com/nostr-protocol/nips/blob/master/05.md

How can you rotate that? No one knows the second key is related to the first. You still need to publish your second key somewhere along with an invalidation certificate for the first key.
They do with the extended key as it includes the chain code.
Rotate keys: old key signs an event indicating that it is being rolled into a new key.

Multiple keys: nothing to change. Works like that now.

Recover your identity: Well, if you want a well-known identity use NIP-05/NIP-35 and just change your .well-known/nostr.json file to point to your new identity, the one that hasn't been stolen. Hopefully nostr clients of your followers will respect that (who knows what programmers actually will do).

I think these problems are easier than you think they are.

Something like passkey?
A couple of ideas that have been tossed around for relay abuse prevention:

- Proof of work: computing some hash, which is not enough to be onerous but enough to reduce spam

- micropayment over Bitcoin lightning network

Proof of work via computing should be a non-starter for anyone caring for limiting environmental damage.
Bitcoin is carbon-negative believe it or not. Not that CO2 emissions are a meaningful measure of environmental stewardship.
I absolutely, unequivocally do not believe it.

Bitcoin consumes 111TWh annually, the power consumption of the Netherlands, and emits 62Mt of CO2 per year, the same as Belarus. It also yields 42kT of e-waste per year.

Each transaction produces 650kg of CO2, consumes 1160kWh of power (as much as 40 days consumption for the average American home) and produces 450g of e-waste (about the same as hucking your iPad into the garbage can each time you transact on-chain).

97% of all Bitcoin mining hardware will never successfully produce a single block in its entire useful life, going from factory, to space heater, to garbage can - while about 60% of all the power consumed comes from oil, natural gas and coal. So whoever sold producers the offsets I assume you must be alluding to better have replanted the entire Amazon rainforest by now. (Quick spoiler, carbon offsets are also a scam, generally speaking).

To say you're going to need to get some sources is an understatement about as large at Bitcoin's environmental footprint.

You can find all this in [1] or you can just reverse it yourself from the specs of the latest AntMiner and the current hash rate. Some napkin math is all you need.

I'm honestly amazed people still believe something so trivially falsifiable, but with everything else going on in 2022...

[1] https://digiconomist.net/bitcoin-energy-consumption

> 97% of all Bitcoin mining hardware will never successfully produce a single block in its entire useful life, going from factory, to space heater, to garbage can

This is a really disengenuous point. Mining works probabilistically, and mining pools payout based on smaller units of work that probably have some probability of finding a block for the pool. The fact that a block itself is a large parcel does not make the system less efficient.

The point is a centralized equivalent of bitcoin could run on a raspberry pi. Heck a proof of stake bitcoin could run on a raspberry pi. It’s a ridiculous system even Hal Finney thought was unsustainable 10 years ago.

Value judgement aside the question was “is it carbon neutral” and the answer is a resounding no.

So much FUD.

1) miners profit from energy surplus. They do not create new power plants. Nobody is firing up a new coal plant to mine bitcoin. That is absurd.

2) miners have incentives to find and use wasted energy. For ex, flare gas recycling. Which actually helps the environment.

3) miners can turn on/off at will, and produce energy loads on demand. Which means they balance out the energy grid. Especially from erratic energy sources like wind and solar. This is already being deployed in some states.

You are fighting on the wrong side buddy.

(1) They literally reopened a natural gas plant in New York, where were you? [1] the broader point is this fossil capacity can just be turned off if we stopped wasting it on a bitmask lottery. You don’t have to bring on new capacity to cause harm (although they are doing that too).

(2) burning flared methane is better than not but not flaring at all is best? There’s no such thing as stranded power, there’s only missing transmission infrastructure which is being incentivized not to come online through profitable waste at point of generation.

(3) raising the baseline usage level through waste then turning it off when there’s a brownout level crisis is just an asinine plan to manage load that costs everyone money. Active demand management is an actual solution. So is grid storage. Also, “some states” is Texas, famously the worst energy grid in the US, home of the blackout. Meanwhile New York is banning wasting fossil fuel energy on miners.

Anyways you seem to bring no data to the table other than a “nuh uh” and some obviously flawed apologism.

No word on the ewaste?

It appears to me you’re using the “facts u dislike” acronym expansion for FUD.

[1] https://grist.org/technology/bitcoin-greenidge-seneca-lake-c...

Digiconomist’s model is flawed and doesn’t represent actual mining electricity use or carbon output.

Also he’s a central banker, so not exactly motivated to fix it.

> Bitcoin consumes 111TWh annually, the power consumption of the Netherlands, and emits 62Mt of CO2 per year, the same as Belarus. It also yields 42kT of e-waste per year.

it only consumes as much as the complexity required to roll out new blocks. As its price goes down so does the energy required to find new blocks. It is not static.

I gave current numbers. Surprisingly (and obviously unfortunately) the price change hasn't had an impact on energy consumption commensurate with the drop. There's a lot that goes into it - for instance cost basis of power: theft of power, graft, corruption, etc. If you're able to steal the power then it doesn't matter much so long as you can afford new miners.

tl;dr: price per coin represents something of a bounding function on consumption of resources (including mining hardware and electricity) but it's not as tightly correlated as hoped.

My point though is the idea all that consumption has been papered over by what I assume is buying some offsets - and now it's magically carbon neutral - is silly and obviously wrong.

Or wanting to operate in New York State as of this week!
Is it forbidden to calculate in New York now? Had no idea.
I suspect you're being intentionally obtuse, but it bears repeating that there are plenty of simple activities that are forbidden by policy, and it would be just silly to argue that there shouldn't be any.