BLOCKCHAINS ARE NOT THE SAME AS DECENTRALIZATION
ActivityPub is a decentralized protocol, but it is not a blockchain.
However, it's another area in the space. Actually, there's *two different kinds*: "convergent decentralization" and "decentralized cooperating agents"
But I also think *convergent decentralization* is being dramatically over-hyped. And that's no shocker because that's where the $$$ is. But it's not where the most important research needs to go.
So okay, for the rest of it, well that's what @spritelyproject is for...
Oops i accidentally split this thread in two, other half is at https://octodon.social/@cwebber/107492636810769669
@cwebber I haven't seen a proof-of-anything blockchain yet that doesn't either use more resources than it's worth, or creates/maintains a weird power structure between participants that will only be net positive for a minority. I've looked, argued about it, and so far, nobody has managed to show me something working.
I'm all for the git-as-blockchain kinds of systems where that doesn't exist, but that's not what people call blockchain. So I'd rather stay away from the term.
@jens yeah I talked about that over on the birdsite https://twitter.com/toba/status/1473752997083627520
There's FairCoin, HyperLedger, and Holochain. FairCoin is mathematically a Bitcoin-like blockchain that uses only 12 democratically elected nodes for signing, so blocks gets signed consistently, but there's low competition and minimal redundancy so it's very efficient. Holochain is software that creates multiple small chains where only the participants in the transaction participate in signing blocks, similarly reducing overhead. HyperLedger is a collection of blockchain software with various trust profiles for industrial use managed by the Linux Foundation for IBM and other providers; this is how Walmart avoids throwing out all their lettuce when there's salmonella contamination from one or two sources
For white westerners, blockchain is waste, currency speculation and art fraud. For others, it's freedom from colonizer currencies and a path towards markets free from monopolies like Steam, the App Store, Belgian chocolate manufacturers, Cristie's and Sotheby's, the CBO, and others. Neither perspective is wrong, just incomplete in itself
@yaaps @jens @cwebber "art fraud" 😂, I was thinking we *really* need to separate the "selling viewing rights at ridiculous price points" part from the "a hopefully less abusable artist-centric trade platform" part - NFTs are affected by the shouting match problem as well imo.
And more thick clients to help with the latter part!
@yaaps @jens @cwebber One part of me is really into technologies which allow communication with spotty, minimal infrastructure - how do you do digital transactions, messaging, and more when there isn't a reliable network, let alone the Internet, where you are? And what happens when someone tries to do that across two disconnected groups?
Most cryptocoins won't be able to handle that. Holo is on my radar because it just might. Scuttlebutt is literally built for this use case.
@yaaps @jens @cwebber What I (and Christine towards the end among all the ocap talk) was saying is that "freedom from colonizer currencies and a path towards markets free from monopolies" need not mean yet another single, globally synchronized thing like a classical distributed ledger. Other approaches exist, and might have unique benefits as well.
@yaaps @jens @cwebber Overall, I think that many of the shortcomings in this field are "unfortunate" - bad, very bad, but we simply haven't invented anything better yet. Mutually suspicious finance needs to exist, the coins are good enough for that, but we sure hope a better one comes along. And that's where exploring the edges of the space and attacking the problem from new perspectives becomes very important.
...Why did I just write a whole mini blog post which likely won't be read seriously?
@Parnikkapore @yaaps @cwebber Mutually suspicious finance can easily be done without a blockchain. First, a transaction needs to be signed by both parties to be valid. Second, all transactions need to be published. Then all transactions relating to e.g. a single party can be audited, for example for overspend.
None of this requires proof-of-anything as part of the publication process. It does require distributed storage, though. It doesn't even need...
Force of habit
I happen to agree very strongly with @cwebber and only differ in emphasis. Missing, in particular, from this conversation is that blockchains and OCaps are interoperable and have different trust profiles
There is a use case for blockchains, though it's much narrower than proponents usually imagine. Specifically, the vast majority of what I hope to accomplish would be better served by the OCaps tooling than by blockchain
A lot of games, especially from developers in Southeast Asia, are currently being developed for Blockchain in order to circumvent restrictions and fees imposed by marketplaces like Steam, Google Play Store, Apple App Store, and the Xbox and Window stores. Players, including many who are educated about the problems of walled gardens, are angry about this - and it's not unjust. It just would be much better if it was possible to take a nuanced view without being berated as a blockchain partisan
After all, the only thing I've done to earn that tag is express literacy in my critique. It's not you; it's endemic to the social climate in which this discourse is being attempted
"intro to distributed computing" ramblings
> only the participants in the transaction participate in signing blocks.
makes some sense. both parties could sign nonsense transactions that would essentially make new money, but since there would be a ledger, the party receiving the money wouldn't want to do that because when they tried to spend more than the ledger permits no other right-behaving clients would accept their fake money.
does Bitcoin not work that way? (never read the specification for Bitcoin) I recall something about needing several clients to check the transaction or block of transactions before they're official. i guess you'd still want something like that though, otherwise every client, for every transaction would need to check virtually the whole log of transactions for every exchange. consensus on past blocks means you can say, "ok, we're good from here back, so I can accept this transaction based on my own verification from here forward". not sure about "blocks" though: seems like you would register your approval of all individual transactions until you found "enough" signatures on the set of transactions leading to the one you participate in directly.
(IDK how you "register approval" though: maybe that's just part of what's exchanged for any transaction. you give to other participants your signatures of all transactions back to that agreeable consensus point and they reciprocate if they're all good.) still there's the problem of whether the ones who sign into the consensus are "good guys" vs some cadre of baddies who all collude to make bad txns for money or lulz: I don't know how you select that quorum or size it because I don't know how you count all of the population... that's a tough one in a "public ledger".
I think the expensive part is in minting the money in the first place because, if you don't want a central entity to say what's money, then you need some way for anyone to generate it, but it can't be too easy or the money won't be worth anything, hence proof-of-work. personally, I guess I don't care much about the other decentralized alternatives: I'd rather have actual central banks backed by governments minting the money and signing it into the system. across currency systems, we can have currency exchanges like we have now with govt backed currency.
"intro to distributed computing" ramblings
OTOH, since I don't care much about decentralization, an easier path to virtual money is something like @cwebber posted a little while ago about a "virtual mint", where you basically keep a secret token of value signed by the mint as an analogue of physical money. then you share that token over a secure channel to spend it, and the receiver/seller *before forking over the thing you're buying* asks the mint for a new token, using the one you gave as license to receive the new one, thus verifying and invalidating the old token to prevent double-spending.
@yaaps @cwebber That's not really a reply that addresses both of my concerns. Which is fine, I'm not trying to challenge you to do that. But I am looking for blockchain that passes both categories; one isn't sufficient.
Faircoin's proof-of-cooperation is great, I suppose I have to direct you to my thread from yesterday why it's not a great approach. Which of course you may disagree with. Better than repeating myself here, at any rate.
the distinction between the convergence to cosntitute a single distributed machine and the communication among distinct machines (distributed or not) is, to me, something new
it's enlightening and insightful
I still don't understand the PoW/PoS thing and the Catp thing
But at least now I have a geography of the continent, if you allow me this analogy
everything attempted to read previously was, frankly, too abstract, rethorical and lenghty
so this is a substantil progress, a fundamental bit
I think this should be consoldated in a blog post somewhere
I find the convergence interesting personally. It devises a strong solution to the "consent" aspect of "consensus", as in, "here is why I'd bother to participate". That's a carrot and stick problem. Most of computing has added consensus sticks(systemic enforcement and monitoring mechanisms) and an occasional carrot(video gam, cat picture), while "Blockchain" adds a whole lot of carrot($$$) with very few sticks.
That specific incentive is wildly suited for people who can "think" in finance - and, lo and behold, the financial industry is really the one sector that's all over it and leading the way; not the rest of tech or other markets. While outsiders are indifferent or hostile to seeing new finance carrots, insiders looking for disruption are jumping up and down in excitement. This is their chance to reset the board and the rules. It's not very principled, but it does let them try new stuff, like any useful tech.
I agree there's no tech that decentralizes everything. We're mostly just accumulating options for centralizing at different scales.
@cwebber this has the potential to get confusing in discussions around stellar's "quorum slices," as they've basically found a quorum based mechanism that works with open membership.
You can have shared ledgers without blockchains, too. The first shared ledgers I knew about were by Todd Boyle: https://financialcryptography.com/mt/archives/001469.html
Could be implemented actually-decentrally by ActivityPub and Spritely.
This might be a side trip, but do you think that Merkle Trees are a necessary part of a workable non-blockchain shared ledger?
@bhaugen define "workable", and define "merkle tree" I guess! But this is an interesting question. My first response was going to be to say that merkle trees are necessary, but then I remembered just how much when it comes to ocap-oriented distributed-object abstractions, one can upend one's normal assumptions of how things which are normally built with cryptography can instead be built with object interactions and object references.
@bhaugen It's possible to build one, I've thought of a design. I'm not sure you'd *want to use it* though.
It resembles my suggestion of how multiplayer terminal phase might work in the article that opened this thread.
But I'm not sure it's *useful*, so I'm not sure it's worth elaborating, but I will think about it. Maybe there's a surprising usefulness application.
> how multiplayer terminal phase might work in the article that opened this thread.
This thread has meandered and crisscrossed enuf that "Expand this toot" does not find an opening article...but if I found it, I would read it.
(It has been a fascinating tangle of threads, though....)
@bhaugen I accidentally split it, see the article linked in https://octodon.social/@cwebber/107492636810769669 which is the longform of these threads
My game genres of choice tend towards resource management, so I have Opinions™ about what constitutes a usable ledger. You need to 1) record transactions, 2) verify the contents of the open record and close it out in such a way that you can 3) treat any closed record the same as you would treat as a single transaction. I wouldn't say you need a Merckle tree to do this since double entry accounting and other ledgers predate Merckle at least 6,000 years, but it's possible that Merckle trees could be the only construct for maintaining a working ledger over an asynchronous network. You don't need Merckle trees to close out on a clay tablet when your supervisor is in the same room, but you need something like that when other interested parties are on a different continent
The Terminal Phase demo is relevant because, in order to close out a transaction in the ledger, all parties involved need to be at a singular point in space-time (even if it's virtual) or you need an undo stack. I proved this for my own requirements a couple years back. It doesn't have to be a Merckle tree, but you do need scoped undo levels and having a vocabulary to identify specific states (as opposed to relative levels) is very useful
You don't need double entries a la both a debit and a credit in the same ledger for the same event, you can generate those later if anybody wants them, but in a distributed environment you do need a record for each of the participants including their signatures.
Holochain recently worked thru a detailed demo, which I can find if wanted.
I don't know Merckle trees well, but the Scuttlebutts discussed them at length recently and I can find their discussion if anybody wants it.
Right. The actual requirement for a working ledger is an agreed upon degree of redundancy to assure the ongoing accuracy of the system, not adherence to double entry accounting as that particular methodology or standard. The clay tablet containing the world's oldest known math mistake was a ledger, not double entry but generally sufficient for their purposes
With modern information theory it should be possible to reduce the space and processing requirements for this overhead compared to double entry. Since that's not what's happening with blockchains, we need to challenge that
Double entry (as a debit and a credit in two accounts in the same ledger recording the same event) does not deal with double-spending or many other problems. The purpose was to satisfy the https://en.wikipedia.org/wiki/Accounting_equation
Assets - Liabilities = Owner Equity
or in manual systems to make sure the accounts balanced.
As soon as computer database business systems took over, nobody needed to enter any event twice anymore. ERP systems don't do that, they generate the debits and credits later.
Another problem with double-entry is that the debits and credits are entered (or generated) from the viewpoint of a single owner or owner group of a single business (the "owner equity" angle), which does not fit economic networks or collaboration systems or (for example) ecological accounting eg for climate change problems.
In this version of this thread https://octodon.social/@cwebber/107492641623642005 I see some interesting comments from @max that do not appear in the social.coop version...wonder if I can invoke Max here...
When you mention "deduction and addition", I wonder if they make the same mistake I have seen several times in the past few years in software discussions of debit and credit: thinking that debit means deduction, and credit means addition.
I think it comes from banks debiting your account which deducts from your account. But that's because to the bank, your account is a liability. A debit increases an asset, but decreases a liability. Which is weird, but that's double-entry.
Just for fun, I will continue the debit-means-decrease-a-liability where your account is a liability to the bank:
your account is of course an asset to you. So when the bank debits your account, if you were keeping your own double-entry books, you would credit your account on your books, because a credit decreases an asset.
A shared ledger would show a transfer of money from your account to the bank.
> Mark S. Miller, who was standing next to me, smiled and gave a very interesting followup: "There is only one case in which you need a blockchain, and that is in a decentralized system which needs to converge on a single order of events, such as a public ledger dealing with the double spending problem."
Great quote! I will re-use it often, citing both of you. Hope that is ok.
@cwebber While CapTP is the long-term goal, I've been thinking about proposing a system for collectibles using the existing @activitypub protocol (e.g. Offer/Accept/Reject plus collections Add/Remove). Would you be interested in collaborating? The goal is to provide an NFT alternative that avoids financialization but keeps the fun of collecting & ability to trace artist provenance. More like achievements than trading cards
@datatitian @activitypub I'm not interested in building that on AP myself, but I'm interested in doing a writeup in terms of "supporting artists and programmers on the internet" which will include the idea of "digital trading cards" (and attempting to kick the term "NFT" into the trash, and then light the trashcan on fire). If you're interested in providing feedback on that and maybe even helping with it, and maybe we could even include your examples (and i could review them), then great!
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!