4 ms·
For some reason, there is no current software implementation of a "globally consensus-replicated, peer-to-peer, append-only, signed-message log store, with Turi
by derefr 2y ago
For some reason, there is no current software implementation of a "globally consensus-replicated, peer-to-peer, append-only, signed-message log store, with Turing-complete programmable matviews that pump by reducing over the store's log messages as CQRS commands per some set of validity rules"... other than the ones that are also permissionless to transact upon, and thereby are "blockchains."
I find that almost all (non-blockchain-space) tech people who find "blockchains" interesting as a concept, and see potential use-cases for them in system architecture design, are actually thinking about the uses of this taxonomic parent category — whether they realize it or not.
But the only way to currently talk about this concept — in a way that doesn't require you to first give an extensive definition of the idea you're talking about — is to use the word "blockchain", even though that's not precisely what you mean.
Since there's no software system that's just one of these things, without also being a blockchain, there's no word we've invented to talk about the set of such software systems.
If someone came along and actually made a piece of software that was all the things a blockchain is, except for the "open submission of transactions, with spam control using eStamps that necessitate the introduction of a whole economy into the system that it doesn't otherwise require" part, I think it'd become a huge thing among tech crowds, and "blockchains" as infra systems would be completely forgotten about in favor of (whatever name these parent-category systems would be given once we have any to talk about.)
Sadly, I think there's very little interest in doing this, for two reasons:
1. Anyone who builds such a system knows that with just a little bit of extra implementation effort, they can introduce such an economy, turning their thingy into a "blockchain", and potentially making a bajillion dollars by being the first one in the door of that new economy as it grows with usage.
2. Most blockchain node software is designed to be flexible-enough in its definition of a blockchain network, that it can be flexed toward being used in a "Proof-of-Authority" network implementation that doesn't actually have an internal economy. And, because blockchain node software has a lot of engineering effort already invested into it, vs. systems of this parent category that have none yet — it makes a lot of sense, as a systems engineer who just wants an infra component to slap into place, to use blockchain-node software for these use-cases, configured into a Proof-of-Authority mode where the economy logic is vestigial. It feels like an "overkill" solution, but the alternative would be DIYing a parent-category system and having to learn all the Hard Lessons that blockchain-software engineers already figured out about non-repudiability, storage architectures amenable to state garbage-collection, scalable consensus mechanisms that don't halt-and-catch-fire during hard-fork network upgrades, etc.
- LegionMammal978 2y ago> except for the "open submission of transactions, with spam control using eStamps that necessitate the introduction of a whole economy into the system that it doesn't otherwise require" part, ... Would you know of any projects around this idea? As far as I'm aware, "making spam costly" has always been the big kicker that has made every decentralized-permissionless-ledger project invariably include its own coin (and associated economy) to enforce that costliness. The only idea off the top of my head would be something like "PoW, but anyone adding data just pays the miners directly via some secondary market", which would still have pathologies of its own.
- derefr 2y agoI mean, a blockchain does have to be a blockchain to be a "distributed, permissionless, uncensorable, indefinitely-durable ledger." Blockchains are at a local optimum in their own design space. They're the Pareto-optimal form of the cypherpunk communication technology that started with Mixmaster remailers. If you want to send someone a truly-anonymous message through a dead-drop consisting of "the entire Internet", with no idea of how long it might take them to check it — then "a large, living blockchain network with many other people already using it for very mundane things, where you can stash your message in the extra-data of a transaction, or in its value, or in the address you're sending to, etc." really is exactly what you want. If that isn't your use-case, though — if you remove or weaken at least one of those design-space constraints — then things can change. For example, if the "ledger" in your use-case doesn't need to retain transaction history in a distributed, uncensorable, online state indefinitely; but rather can function with a history that's continuously being "offlined" past some finality threshold, converted into e.g. files in some agreed-upon format made available through BitTorrent (that have a bijective relationship with the data held in an archive node) — then you no longer need "spam control"; you only need "flood control." Compare/contrast: NNTP as a store-and-forward mechanism (needs spam control), vs IRC as a forward-and-forget mechanism (only needs flood control.) And flood control doesn't need eStamps; just much more boring infra-level solutions — node txpools that impose rate limits on messages buffered per peer and per signer per minute; validator nodes putting signers on a fail2ban-like temporary blacklist whenever a non-trivial fraction of their transactions are failing (and so wasting the validator's CPU-time); and so on. In such a system, you might want it to be expensive to generate a new signing key. IMHO this is an actually-valid use-case for Proof-of-Work: a one-time account-onboarding-time cost that serves as an anonymous equivalent to the barriers imposed by KYC/AML, making it so that spammers have to pay that fee again when blocked, and/or pay it O(N) times to send O(N) times as much spam (but where the spam is likely able to be recognized by signature and blocked with only O(log N) effort.) Essentially, if you aren't concerned with total spam accumulated over the lifetime of the chain, only with the rate of spam the network has to handle — then you can simply charge spammers (and transactors generally) in time, rather than in economic value.