C++ std::unique_ptr that represents each object as an NFT on the Ethereum blockchain.
Why?
Biggest issue facing $125 billion security industry: Memory safety.
“~70% of the vulnerabilities addressed through a security update each year continue to be memory safety issues.” – Microsoft Security Response CenterThe world’s largest codebases are written in C++
Browsers, operating systems, databases, financial systemsC++ memory management is hard to understand, opaque, and not secure
As we all know, adding blockchain to a problem automatically makes it simple, transparent, and cryptographically secure.
Thus, we extend std::unique_ptr, the most popular C++ smart pointer used for memory management, with blockchain support
Non-Fungible Tokens and std::unique_ptr have the exact same semantics:
each token/object is unique, not fungible with other tokens/objects
each token/object is owned by 1 owner/unique_ptr
others may view the NFT/use the object, but only the owner can transfer/destroy the NFT/object.
absolutely no protection against just pirating the image represented by the NFT/copying the pointer out of the unique_ptrWritten in Rust for the hipster cred.
2021-11-11: Funny and poignant web3 critique here:
Even at comparable stages in their development, the World Wide Web and Web 2.0 were not quite so … self-referential? They were about other things — science and coffee pots and links and camera lenses — while Web3 is, to a first approximation, about Web3. For all the Web3 rhetoric around the potential rewards for “users”, Ethereum only recognizes “wallets”. One user can control many wallets; one BOT can control many wallets; Ethereum doesn’t know the difference, doesn’t care. Therefore, Web3’s governance tools are appropriate for decision-making processes that approximate those of an LLC, but not for anything truly democratic, which is to say, anything that respects the uniform, unearned — unearned!—value of personhood.