It's an excellent sign that
#Monero
never published its own whitepaper. It published working code, and that's infinitely more valuable.
@fluffypony
@monerocurrency
#Ethereum
has been live for 2.5 years now, and the only thing its Turing complete, "rich statefulness" smart contract system is being used for is token issuance, which could be done on
#Bitcoin
blockchain with colored coins 2 years before that.
When
@CounterpartyXCP
was launched, we had a working codebase on day 1. I never wrote a whitepaper because I thought it wasn't necessary. Ten years later, I think it could help a lot of people to have a formal description of the project, so I wrote one—
It's bad enough that the word "crypto" has come to refer to cryptocurrency and not cryptography, but it's flat out wrong to say that Bitcoin uses "encryption".
Bitcoin transactions are signed and hashed but not encrypted. All privacy in Bitcoin is mere pseudonymity.
The highest priorities for
@CounterpartyXCP
are infrastructure and ecosystem: testing, deployment, performance, code quality; new block explorers and third-party wallets.
Counterparty has a *ton* of value riding on it, and we're going to make a rock solid platform to build on.
🚨 *ANN* Counterparty Development Update 2024-01-22 🚨
Wondering what's happening with Counterparty development recently? Here's a detailed breakdown by the core devs of near-term development priorities, recent milestones and next steps.
.
@CounterpartyXCP
has a little-known feature called `kickstart` which dramatically speeds up the initial blockchain parsing by reading from the bitcoind db directly. It's been broken for years, so everyone has been relying on `bootstrap`, which isn't trustless. Fixing this now!🛠️
@CounterpartyXCP
codebase is in need of some serious TLC. just got the test suite passing for the first time in half a decade! updated all dependencies and almost ready to start tackling performance optimization 🏎️
@CounterpartyXCP
brought smart contracts to Bitcoin and solved the trust issue in 2014, all without raising a single dollar from investors. We're going to continue building it out, and unlike sidechains, we'll never need any network "signatories" (VCs) to keep the protocol secure
Most arguments against blockchain technology: "Why would you want every apartment in a building to have its own kitchen? How inefficient! Everyone could use a central one and save tons of space."
@InvesterGadget
@kyletorpey
It's still impossible for the creator of Solidity to write a secure smart contract for something as simple as multisig, which Bitcoin had working perfectly in 2009. That means regular users have *zero* chance of being able to build real, decentralized applications on Ethereum.
When I took back over the maintainer role for
@CounterpartyXCP
5 months ago, I was struck by how hamstrung the community was by the ecosystem's limited infrastructure... this is a network with $1bn of value on it, and its only mobile wallet hasn't been updated in *five years*.😱
We're proud to announce that we're launching a modern suite of native tools for the
@CounterpartyXCP
ecosystem and other Bitcoin L2 protocols, including a new wallet and a block explorer.
1/ Use of the word "consensus" to describe Bitcoin's PoW algorithm has done irreparable harm to people's understanding of the protocol. There's no explicit agreement by nodes on which chain is the longest. Every node just uses the longest one it can find as its source of truth.
Bitcoiners are using the success of
#OrdinalsNFT
to try to get people excited about DeFi on Bitcoin, hoping that no one notices that they're just rehashing the sidechains playbook from 10 years ago. Take
@Stacks
, for example...
I'm super excited about this upcoming release...🤩
We fixed *so many* long-standing issues, and improved parsing performance by >20x in the process. Counterparty dev efficiency is at 💯
*Dev Update Summary*
- Major simplification of DB schema
- Spinning up a node is now >20x faster
- Sources of non-determinism squashed 🐞
- Big performance optimizations in the pipeline
- Working to eliminate a huge dependency in `addrindexrs`
- New dev starts today! 🎉
🚨 *ANN* Counterparty Development Update 2024-02-11 📷 Wondering what's happening with Counterparty development recently? Here's a detailed breakdown by the core devs of near-term development priorities, recent milestones and next steps.
A blockchain isn't a distributed ledger. A blockchain can be *used* as one, and as many other things. Just as a regular database isn't a ledger, but can be used as one.
Adding some juicy tests to
@CounterpartyXCP
to its nightly
@CircleCI
run: gonna reparse the whole network history on an in-memory db with rollbacks to random blocks and check that consensus hashes always agree. ✅
Very glad to see
@BitcoinMagazine
's new editorial policy for L2s! 👏👏👏
@CounterpartyXCP
and
#Ordinals
extend the BTC protocol to add value and functionality. A separate network with a two-way peg and a federation of trusted nodes e.g. is not an L2...
Decentralization and trustlessness are actually more valuable for large institutions than for individuals. Individuals can usually trust institutions, but whom can the institutions trust?
life was so much harder back in 2014... we had to squeeze all of our data into a 40-byte `OP_RETURN` because 80 bytes was considered *indulgent*
now a design flaw in Taproot lets anyone stuff 3.6kB in a single output with a simple `OP_FALSE OP_IF` 🙄
#inscriptions
People scratch their heads and wonder how anyone could have been dumb enough to invest in Madoff, with all the accounting irregularities and impossible performance.
The scams in the cryptocurrency sphere are just as big and much more obviously fraudulent.
1/2 Whenever you read a whitepaper for a blockchain application which requires a reputation system--for anything at all--you can sleep well knowing that it'll never work to the point of being actually useful.
👏Cryptocurrencies 👏 aren't 👏 companies👏!
They have:
*Community*, not marketing
*Adoption*, not partnerships
*Money supply*, not market cap
*Mining*, not ICOs
*Decentralization*, not whitelisted servers
There's really no such thing as "distributed ledger technology" (
#DLT
).
#Blockchain
is the technology. "Distributed ledger" is the use case. Where "distributed" means shared by multiple *parties*.
People naturally assume every new thing on the Internet is 1. instantaneous, 2. free, 3. anonymous. They're surprised to find out that Bitcoin is none of the those.
@UnspendableLabs
is not a foundation—it's a for-profit business whose interests will *often* align with those of Counterparty.
@UnspendableLabs
will also build software for other networks. We're going to launch a new cross-platform wallet and explorer—called *Horizon* Soon(TM).
History of Smart Contracts:
1996: Stateless contracts on the stateless Internet
2009: User-deployed, stateless contracts on a blockchain (
#Bitcoin
)
2014: Stateful contracts on a blockchain (
@CounterpartyXCP
)
2015: User-deployed, stateful contracts on a blockchain (
#Ethereum
)
Counterparty desperately needs some new tooling—so I've decided to start building some. We'll do this through a new company
@UnspendableLabs
, which will develop products and services for the
@CounterpartyXCP
ecosystem and contribute to the development of Counterparty Core.
The reason "decentralization" is so hard to pin down is that it's defined negatively: a system is decentralized when it has no central points of control or failure of *any* kind.
People disagree endlessly on the relative importance of each point of control...
Why is
#Ethereum
so much more successful as a token issuance platform that what came before it? (Colored coins, $XCP etc.) It allows issuers to make arbitrary promises about what those tokens will be able to do at some point in the future. But so far they're all just dumb tokens.
@InvesterGadget
@kyletorpey
People have built a few smart contracts in Ethereum, but almost all have been hacked very quickly. Even ERC20, which is used for most ICOs, has major flaws. Ethereum just isn't a good platform for building real decentralized apps. Bitcoin isn't trying to compete, though!
By recycling sidechains as "
#L2
innovation", Bitcoiners have essentially gone full shitcoin: they've traded "trustless" for "trust-minimized" in order to take back the "one coin to rule them all" narrative and get their fingers on some of that tempting VC money
@UnspendableLabs
show show that the interests of businesses that rely on
@CounterpartyXCP
are best served by *making it better for everyone*. For updates on all of the exciting things to come, subscribe to our mailing list () and follow
@UnspendableLabs
.
8/8 This model makes one big assumption: all nodes have identical state. That precludes 1) privacy and 2) scalability. To solves for either, you have to break the blockchain/SMR model *without introducing any centralization*. These are the greatest problems of our industry today.
@ghaz
@fluffypony
@monerocurrency
The point is to distinguish research from implementation.
#Monero
publishes research when it's worthwhile in its own right, rather than as a marketing tool.
"Proof of Transfer" isn't a "novel consensus mechanism" any more than Proof of Burn was 🙄
from the
@Stacks
whitepaper, "Nakamoto" edition:
> Like how Bitcoin PoW miners spend electricity and are rewarded in BTC, Stacks PoX miners spend (already mined) BTC and are rewarded in
The vocabulary that is being used to describe the problems that we face with AI is taken from that of social media: privacy, misinformation, etc.
"Generals are always fighting the last war."
@HumaneTech_
"Immutability" is the most cited advantage of blockchain tech, but what people actually mean is *non-repudiation*.
Deleting old data is perfectly fine (for compaction, e.g.). Lying about the past is what you need to prevent, and storing data forever is just one way to do that.
The problem a distributed ledger solves is the problem with trying to use p2p comm. protocols for stateful, decentralized collaboration. Instead of e-mailing around Word docs, use Google Docs for real-time, multiparty collaboration. A blockchain is Google Docs, *without Google*.
A BFT distributed log (i.e. a chain of blocks) is all that's necessary to share *data* in a decentralized network. To share *logic* as well, you need smart contracts. But without both data and logic, you can't have a stateful decentralized application.
All of the discussion around particular flaws in the IOTA protocol misses the point: the whole thing doesn't make any sense. They've given up consistency and double-spend protection.
Too many smart people are explaining the flaws in IOTA. I really hope it makes a difference, but since IOTA has been a marketing exercise from the start, this seems unlikely. :(
No one ever asks why blockchains are all immutable. Not because it's a nifty feature. It'd be nifty for a regular ol' database too. With a blockchain you can't trust others to keep a copy of their old data. So you have to keep your own copy, and everyone else has to do the same.
@Stacks
is just
@rootstock_io
where the sidechain nodes have to run a BTC node and post on the BTC blockchain, and with "BitVM" to suggest "EVM" and "Clarity" to suggest "Solidity"
The vast majority of arguments against blockchains boil down to: "centralized systems are much more efficient."
Yes, but sometimes a centralized system just isn't what you want.
6/ Building a blockchain usually means solving just two problems: BFT consensus protocol (PoW, PoS, PBFT, etc.) and state machine design (really anything deterministic). If that state machine is a VM, you can build and deploy all of the applications without changing the protocol.
@vkoskiv
@droplister
The Ethereum community is putting forth a token effort (heh) into developing new languages for the EVM, but by and large everyone is satisfied with how things are. Still, it's practically impossible to write a secure, non-trivial contract in the language.
2/ Bitcoin's design is leaky in that miners perform significant validation on blocks before broadcast. You could instead imagine miners only agreeing on the order of transactions, and then letting full nodes do more of the validation automatically.
"A core group of four secret-keepers—all Zcash insiders—slipped a fix into Zcash’s so-called Sapling update on October 28, unbeknownst to anyone else, as far as they’re aware, they say."
Any of these four could have printed infinite money, and *no one would ever know*.
@NPCollapse
OpenAI is taking a page out of the crypto playbook... every time something goes terribly wrong, they say more or less, "Isn't it great this happened *now* instead of later when it really matters?" 🙄
What makes a blockchain decentralized is the functionality being abstracted away from the network topology. When executing a BTC tx e.g. you don't care what nodes are running, where they are, whom they're connected to...
The trick is to preserve this property and add privacy.
@kwerb
@Nouriel
Enterprise blockchains are "just" new kinds of databases, but that doesn't make them pointless. Traditional distributed databases can't be used in networks with multiple independent, untrusted actors.
@droplister
Not at all! I wish that the EVM had been continually improved, and a better language than Solidity had been developed for actually writing more sophisticated decentralized applications.
Why doesn't this apply to
#Ethereum
itself?
"Prospective purchasers are being sold on the potential for tokens to increase in value [...] or to otherwise profit from the tokens based on the efforts of others."
Never underestimate the difficulty of replacing a centralized system with a decentralized one, even when decentralized would be *better*. Case in point: DNS is one of the best uses for blockchain tech. ever, and yet
#Namecoin
, first ever
#Bitcoin
fork, had ~zero adoption.
Bitcoin has lost its first-mover advantage in the public blockchain industry. There were *massive* network effects! And it happened because the Bitcoin developers aggressively stifled innovation within Bitcoin for the greater glory of themselves.
#sidechains
3/ It's worth remembering that nowhere in the Bitcoin protocol is there a notion of the *balance* of an address, just the values of individual inputs and outputs. It's up to the Bitcoin client, running on each full node independently, to calculate balances.
5/ Ideally, you put as much as little logic as possible in the network protocol, which agrees upon the order of TXs, and as much as possible in the state machine, which parses + interprets them. SMR is great for fault tolerance because each node operates independently.
1/ Blockchain and Trusted Computing: Problems, Pitfalls, and a Solution for Hyperledger Fabric
... in which they shoehorn the "execute-order-validate" of
@Hyperledger
Fabric into an
#SGX
model and turn it into the usual "order-execute" in the process.
Immutability isn't a "benefit" of blockchain technology. It's a consequence of the trust model of any decentralized system. You can't trust other network participants either to keep or to delete data, so never delete anything anywhere. Any old DB can be made immutable.
A blockchain is to a central database what Git is to CVS.
You don't need a blockchain for *most* things, but some workflows are naturally decentralized. Asset ownership is decentralized. Software development itself is too.
Or: a blockchain is Git without the merge conflicts.
3/3 "We demonstrate end-to-end attacks to show that the adversary could learn the content of the enclave memory as well as its register values from a victim enclave
developed by enclave developers (i.e., independent software vendors or ISVs)."
Blockchains are useful for the same reason some people pay with cash instead of a credit card. Sometimes you want to trade efficiency for greater control.
4/ This is the sense in which Bitcoin uses "state machine replication". Blockchains that aren't as optimized for one particular use case can use a purer model, where more computation is done by full nodes and even less is done at the "consensus" protocol layer.
Running tally of different ways to build a decentralized computer network:
* Blockchain technology
* DVCS (e.g. Git; has merge conflicts)
* TEE (i.e. SGX; currently requires trust in Intel)
* CRDTs (very limited logic only)
A blockchain is one way to implement a distributed ledger. Another, less powerful way is to use the obscure field of Operational Transformation:
Whenever you build a new system it's crucial to understand what the alternative solutions to your problem are.
The $ZEC key generation ceremonies, with their Chernobyl nuclear waste and cross-country road trips, are classic "security theater". Designed to give the illusion of security, but actually having obvious vulnerabilities and limitations.
2/3 "We show that SgxPectre Attacks completely compromise the confidentiality and integrity of SGX enclaves. [...T]he adversary could perform SgxPectre Attacks against any enclave programs. [...]"
@vkoskiv
@droplister
Far more real value would be created if the efforts of the community were focused more on security and usability and less on such vanity projects as protocol re-implementations, proof-of-stake and sharding.
Software engineers tend to look blockchains and think "How inefficient!". They get frustrated because there's so much duplicate computation that looks unnecessary. But blockchains can do things that your database could never do.
"Now there’s an even better example than
#JavaScript
of what goes wrong if you don’t design your programming language properly, and that’s the
#EVM
and
#Solidity
."
In case you're thinking "Why do you need a blockchain?", imagine having one server with all the data. Who would host it? What would happen if it went down? If sysadmins tampered with it? Would consumers keep a copy? How would they reconcile?
@matt_levine
Traditional databases can be immutable too, e.g.
@datomic_team
. It's usually not worth the performance cost, however. Blockchains have to do all sorts of extra, slow operations because every node has to validate every transaction by itself. It can't trust any other to do it.
1/ So many "DLT" solutions rely on a central party to prevent double spends. Yet this was the very problem Bitcoin was meant to solve. From the Bitcoin whitepaper: