News for hackers. Stuff that matters.

hem777

Re:Binance-hacker-1029 – $5.6B stolen from Binance on Friday October 30, 2026 @09:41AM (#50303768)
That’s some proper leadership right there
Re:Backdoors in official Claude Code extensions on Friday October 30, 2026 @07:25AM (#50302493)
”I've confirmed Binance use Claude Code with this extension.”
Re:EU chief opens door for Canada to become 'associate member' on Wednesday September 16, 2026 @11:18AM (#49728375)
1) it wasn’t millions (plural) 2) absolutely everyone would be better off if Leningrad was part of Finland
Re:Cloudflare Turnstile requiring fingerprintable WebGL on Monday June 01, 2026 @03:56AM (#48353842)
The alternative is not have that one choke point that can be hammered. Decentralize.
Re:Collaborative Text Editing Without CRDTs or OT on Wednesday May 21, 2025 @02:24PM (#44054536)
It wasn’t really that we wanted to have a CRDT per se, but as it was implemented on top of an op-based append-only log CRDT, it turned out to hold those properties, which makes it a CRDT. We wanted to have the edits to be able to arrive in any order or after delays due to network partitions (this was for a p2p network).
Re:Collaborative Text Editing Without CRDTs or OT on Wednesday May 21, 2025 @02:04PM (#44054323)
Agreed, the undoing and replying isn’t exactly non-fancy. Peristent B+Tree is also not very non-fancy.
Re:Collaborative Text Editing Without CRDTs or OT on Wednesday May 21, 2025 @02:00PM (#44054275)
Cool to see a write up on this! Discovered the same method years ago and also wondered why it doesn’t show up in academic literature.

I implemented this in a decentralized context and as a CRDT though, so that the properties hold (commutative, idempotent and associative).

Re:Reports of widespread power cuts in Spain and Portugal on Monday April 28, 2025 @08:26AM (#43820703)
Not if 1 million people install and monitor them instead of 100 people.
There’s also OrbitDB https://github.com/orbitdb/orbitdb which to my understanding has been a pioneer for p2p logs, databases and CRDTs.
Re:Finland and Lithuania Report Severed Undersea Data Cables on Tuesday November 19, 2024 @01:30AM (#42180561)
Number two is calling for nukes, anywhere by anybody. Nobody else brings that to the conversation.
Re:Ethereum has blobs. Where do we go from here? on Friday March 29, 2024 @01:29AM (#39860996)
My non-techie brother has been staking his 1 ETH he bought couple of years ago and has earned today, in his words, “slightly more than from my insurance savings account in the past 10 years”. I think that’s a really nice use case.
One way to do authorization is to use Authenticated Data Structures. Eg. sign each operation/message and then verify the signature to match a public key in an access control list. This also enables CRDTs to work in a peer to peer context.

But as aboodman says in a sibling comment, if there’s a server as an authority, it can simply reject messages from unauthorized clients.

Re:Coinbase Sued by SEC for Breaking US Securities Rules on Tuesday June 06, 2023 @11:34AM (#36214440)
Great analogy! Well done.
Re:DJI Mavic 3 Pro on Wednesday April 26, 2023 @01:07PM (#35716931)
Are you or your people being, or have been, slaughtered by a fascist, barbaric military?

If yes, I’m sorry and I understand your position. If not, gtfo.

Re:KV.js on Tuesday April 18, 2023 @03:25AM (#35611008)
Maybe? Depends on the rest of the software you’d be developing and what features and abstractions you’d need.

The point was that “just use redis” is a poor and incorrect advice.

Re:KV.js on Tuesday April 18, 2023 @02:32AM (#35610648)
Can you run Redis in browser? You can’t.

Is an in-process, in-memory database faster than making a query over network? Yes it is.

Re:HyperShell: Spawn shells anywhere. Fully peer-to-peer on Saturday April 15, 2023 @09:48AM (#35580610)
*and if you don’t want to sign up for DDNS :)
Re:HyperShell: Spawn shells anywhere. Fully peer-to-peer on Saturday April 15, 2023 @09:19AM (#35580378)
Accessing a “home computer” behind a NAT you don’t control or has a dynamic IP, eg. computers/devices that only have mobile connection and many (most?) broadband home connections.
> there are lww registers and multi-value registers

Use a single value register then in place where I said “register”.

> partition means that different subsets of nodes in a single system have different views on reality

Partition means that nodes of a (single) network are (temporarily) not connected.

In the example discussed here, blue and green were in different partitions thus had “different view” to the state. Once synchronized, their view on the state is consistent and both observe both values, blue being the latest state.

> is no longer represented in the history of v when the partition heals

Please review the above discussion again and the original article. You keep saying this but it’s shown in both that it’s is not true.

> there was a period of time where i observed v as blue, right? that observation was invalid.

Not invalid. The observation was correct at that time and place, meaning, in the partition that it was observed. This is the P in AP.

It seems to me that you’re talking about and arguing for synchronization, that is, consensus about the values (=state), which takes the system to CP as opposed to AP.

> there is no straightforward way to module "a value"

I would recommend to look into the “Register” (CR)data structure.

> Its joining NATO only makes NATO less secure as a whole, rather than strenghtening it.

Why is that?

> that's not true in general

Can you elaborate what do you mean by this? I was arguing that it’s possible as the original argument was “this is not possible in a real system and is only theoretical”.

> provide no meaningful consistency guarantees to users, because they allows "committed" writes to be lost

If I set the (shared) value to green and you set it to blue, what is the expected observed value? What if you set it to green and I set it blue, what is the observed value? More importantly, what is the consistency that was lost?

> "correct primitives" do not by themselves provide a linear order of events

Review the description of Lamport Causal Clock in the article. Note that it carries “additional info” (additional to the example diagram). This “additional info” is what establishes the structure needed for total order.

> whichever concurrent updates you don't choose are lost, and that violates consistency

They’re not lost! The concurrent updates not chosen are still part of the “list of operations”, but the update to the data/value itself may not be observable if the subsequent update (the update that was sorted to be first) updates the same data/value (eg. both operations update the same key in a key-value structure). If the two operations update different data/value, then both updated values are observable. This isn’t cheating, rather it works exactly as expected: it is eventually consistent.

We don’t assume “reliable delivery” in AP or eventually consistent systems. We assume “once all messages have been delivered…”

So if you have all messages and the two properties above, a total order can be derived.

You’re correct to say that causal order != total order as such but with the use of correct primitives, like Lamport Causal Locks, we can get a nice and clean linear order of events :)

> "having the instances always process [ops] in the same order" is basically not possible in any real-world network

By having 1) causal order (eg. using what the article refers to as Lamport Causal Clock) and 2) a deterministic sorting function to sort ops that happened concurrently (from the perspective of causal order), we can derive total order.

It’s absolutely possible and used.

And with those two properties, almost any data structure can be turned into a (op-based) CRDT.

That is to say, thoughtlede has it correct in their comments above.

Re:Instagram Is Disabling Its NFT Features on Tuesday March 14, 2023 @05:56AM (#35149265)
> The fact that I have not met a single knowledgable person who managed to convince me that NFTs are a good technology that solves problems that need solving in elegant ways doesn't speak about me, it speaks about the topic at hand.

It doesn’t say anything about the correct answer to the question and all about your analysis process. Keep looking, good luck!

Re:Domain Names as Handles in Bluesky on Tuesday March 07, 2023 @11:50AM (#35057557)
I think this is true if the system is global or there’s model where Sybil resistance is “here everyone, have an access to write to the database”. In a system like HN there’s value in Sybil resistance. On your Twitter feed, almost none.

So I disagree this is a non-starter, because we didn’t find a solution in the past, but rather an ideal place to start and a great space to discover new Sybil resistance mechanisms (which we have over the recent years).

Re:Domain Names as Handles in Bluesky on Tuesday March 07, 2023 @11:09AM (#35056976)
These are fantastic observations and I hope I’ll have time to get back to them in detail.

I can’t say there’s a simple solution to all of these, today, but my intuition and optimism says there’s a solution for all of these :)

Older »