Turns out that the smart contract is a post-it note stapled to the NFT and the marketplace can just ignore what the post-it note says because it’s not legally binding.
What they can’t do is trade with marketplaces that do enforce the contract. Originally it was enforced because if one marketplace stopped enforcing it the marketplace would be cut off from the Echo system but turns out that the 5 big marketplaces just need to agree to drop it and everything is fine.
There is no good design for this. The only design that works is external regulation and laws wich is why we use that for real things that aren’t scams.
Why? It could be enforced in the same way that a BTC transaction is validated, just adding a rule that a wallet, specified as the author, should get a percentage of the trade.
You can easily end up with A gifting B a million and then B sending A the NFT for free, potentially with a trusted escrow service in between to make sure both of these actually happen. The NFT marketplaces are essentially already acting as escrow, so this isn’t weird.
Only thing you could probably enforce is that moving something from one key to another requires a fee to be paid to the original artist, but that’d also trigger if A wants to move their assets to a different key (eg in or out of some hardware wallet, online wallet or marketplace). And if A and B trust each other strongly they can simply share the key.
Or they set up a multisig wallet, each creating one keypair directly on approved (tamper resistant) hardware wallet models, transfer it to the multisig wallet, and now control of the collection of multisig wallets means you control the token.
So now you trade it by trading the set of hardware wallets. Validated by each original participant including results from an audit of the key generation procedure with the hardware wallet.
No trace on the blockchain, and the trust model is more robust than simply taking the word for it as one of them share the private key claiming they did not keep their own copy.
Because the second the rule becomes inconvenient there will be a fork or some kind of bullshit that removes the rule. This has already been done a couple of times when money got stolen from big investors. The thefts followed the rules set up on the blockchain and nothing in those transactions were different from a normal transaction but humans looked at them and said that they weren’t valid and did whatever technical bullshit they needed to do to reverse them.
I disagree, forks can be made but in reality nobody cares, 99.999% still follow the ‘main’ repo. Sometimes shit like that happens (looking at you, Buterik!), but that kinda misses the point that the validation is not implemented optimally.
I hope you are aware that you went from “this can’t be broken” to “I trust that people wouldn’t break it” to “sometimes they do break it but it’s not that often” in a very short comment.
Nah the actual limitation is that providing people a way to transfer the token without paying a royalty is essential if you want to give people the option to freely transfer it between their wallets without selling it and paying a royalty. You could write a smart contract that does enforce this but then you would lose the ability to have that free transfer.
No see it’s a lot more sophisticated than that. The post-it note is immutable because of maths or something, so what that means is that it’s capital-P Property. And because Property is a magic spell that binds even the old ones, and this spell is unbreakable, I own all these apes.
Okay, I assume this comment is in defense of crypto contracts or whatever? This is solving a problem that doesn’t exist.
I was exposed to many, many litigation cases in my time working in the legal system. The worst ones happen because contracts aren’t made or are sloppily constructed. I have never, ever, in many years of seeing civil cases go through the office, seen a single example where the problem was that someone had falsified a contract or there was disagreement about what a contract actually says. Contracts change all the time, so making them immutable makes them less useful to both parties.
Also big companies break contracts all the time, and they don’t get away with it by lying about the contents of the contract, they get away with it because they have all the money and all the power.
The same thing with money. Counterfeiting is a tiny problem with almost any currency. The real problem is theft, and the lawless, immutable nature of the blockchain renders theft absolute, with no recourse.
This is the problem with the blockchain in general - immutability solves a nonexistent problem and creates a much worse problem. The no-trust basis of the system attracts grifters because there is no way to take back a bad transaction. The only reason people believe it works is because they somehow believe that documenting transactions immutably will make them bind people, just like some sort of magic spell. That’s just not how the world works.
You’ve said a lot of words but you still haven’t explained how crypto actually solves these problems.
Once again: laws, including contract law and currency, aren’t magic spells. They don’t have power just because they exist. They require the power of a state to enforce them. Crypto is the same. Just because you’re tracking transactions on a public immutable ledger doesn’t change anything about that.
Now, as an anarchist, I’m not saying that to defend the current system. I am saying the solution is to remove the actual power of the state. Crypto is only attempting to replace tokens of state power, with no attempt to address the power itself.
And yes, I understand how you could in theory make changes to a contract with further ammendments, the thing is that costs transactions. There is no such thing as a modification based purely on consent of the parties. That is a serious problem for their usefulness, which was my actual point.
Right but again, that problem is not one that existed. The future is federation - communities working together based on trust, not finding novel ways to track who has & does not have resources.
It wastes a medium country’s worth of emissions every day just to count coins or write things down, and it doesn’t get used to liberate people it gets used for scams.
Basically the transfer function on an erc721 interface (nft) cannot have enforced royalty payment otherwise it wouldn’t support people transferring the token outside of a sale. Theoretically you could use some kind of interface standard or write up a different contract where users are forced to pay a royalty on any kind of transfer but then there wouldn’t be a way to transfer it without paying the royalty and basically no nft trading platforms would support it because under the hood you have to transfer them the token so they can sell it on your behalf once a buyer is found.
FYI not trying to shill funny pictures but I do know a bit of solidity so maybe someone here is actually curious about the limitation.
I thought the royalty payments were enforced by the contract?
Turns out that the smart contract is a post-it note stapled to the NFT and the marketplace can just ignore what the post-it note says because it’s not legally binding.
What they can’t do is trade with marketplaces that do enforce the contract. Originally it was enforced because if one marketplace stopped enforcing it the marketplace would be cut off from the Echo system but turns out that the 5 big marketplaces just need to agree to drop it and everything is fine.
Well that’s just bad design, then.
There is no good design for this. The only design that works is external regulation and laws wich is why we use that for real things that aren’t scams.
Why? It could be enforced in the same way that a BTC transaction is validated, just adding a rule that a wallet, specified as the author, should get a percentage of the trade.
You can easily end up with A gifting B a million and then B sending A the NFT for free, potentially with a trusted escrow service in between to make sure both of these actually happen. The NFT marketplaces are essentially already acting as escrow, so this isn’t weird.
Only thing you could probably enforce is that moving something from one key to another requires a fee to be paid to the original artist, but that’d also trigger if A wants to move their assets to a different key (eg in or out of some hardware wallet, online wallet or marketplace). And if A and B trust each other strongly they can simply share the key.
Or they set up a multisig wallet, each creating one keypair directly on approved (tamper resistant) hardware wallet models, transfer it to the multisig wallet, and now control of the collection of multisig wallets means you control the token.
So now you trade it by trading the set of hardware wallets. Validated by each original participant including results from an audit of the key generation procedure with the hardware wallet.
No trace on the blockchain, and the trust model is more robust than simply taking the word for it as one of them share the private key claiming they did not keep their own copy.
The protocol doesn’t support covenants like that in smart contracts. It has been discussed a lot but not implemented.
It gets complicated fast.
Because the second the rule becomes inconvenient there will be a fork or some kind of bullshit that removes the rule. This has already been done a couple of times when money got stolen from big investors. The thefts followed the rules set up on the blockchain and nothing in those transactions were different from a normal transaction but humans looked at them and said that they weren’t valid and did whatever technical bullshit they needed to do to reverse them.
Apparently ultimately this involves hitting the person hiding the encryption keys with a $4 wrench until they provide the keys.
I know that reference.
I disagree, forks can be made but in reality nobody cares, 99.999% still follow the ‘main’ repo. Sometimes shit like that happens (looking at you, Buterik!), but that kinda misses the point that the validation is not implemented optimally.
I hope you are aware that you went from “this can’t be broken” to “I trust that people wouldn’t break it” to “sometimes they do break it but it’s not that often” in a very short comment.
No, the nuance is in the number of people who confirm the change, they must be 50% +1.
Nah the actual limitation is that providing people a way to transfer the token without paying a royalty is essential if you want to give people the option to freely transfer it between their wallets without selling it and paying a royalty. You could write a smart contract that does enforce this but then you would lose the ability to have that free transfer.
Royalties were not part of the original design.
No see it’s a lot more sophisticated than that. The post-it note is immutable because of maths or something, so what that means is that it’s capital-P Property. And because Property is a magic spell that binds even the old ones, and this spell is unbreakable, I own all these apes.
deleted by creator
Okay, I assume this comment is in defense of crypto contracts or whatever? This is solving a problem that doesn’t exist.
I was exposed to many, many litigation cases in my time working in the legal system. The worst ones happen because contracts aren’t made or are sloppily constructed. I have never, ever, in many years of seeing civil cases go through the office, seen a single example where the problem was that someone had falsified a contract or there was disagreement about what a contract actually says. Contracts change all the time, so making them immutable makes them less useful to both parties.
Also big companies break contracts all the time, and they don’t get away with it by lying about the contents of the contract, they get away with it because they have all the money and all the power.
The same thing with money. Counterfeiting is a tiny problem with almost any currency. The real problem is theft, and the lawless, immutable nature of the blockchain renders theft absolute, with no recourse.
This is the problem with the blockchain in general - immutability solves a nonexistent problem and creates a much worse problem. The no-trust basis of the system attracts grifters because there is no way to take back a bad transaction. The only reason people believe it works is because they somehow believe that documenting transactions immutably will make them bind people, just like some sort of magic spell. That’s just not how the world works.
deleted by creator
You’ve said a lot of words but you still haven’t explained how crypto actually solves these problems.
Once again: laws, including contract law and currency, aren’t magic spells. They don’t have power just because they exist. They require the power of a state to enforce them. Crypto is the same. Just because you’re tracking transactions on a public immutable ledger doesn’t change anything about that.
Now, as an anarchist, I’m not saying that to defend the current system. I am saying the solution is to remove the actual power of the state. Crypto is only attempting to replace tokens of state power, with no attempt to address the power itself.
And yes, I understand how you could in theory make changes to a contract with further ammendments, the thing is that costs transactions. There is no such thing as a modification based purely on consent of the parties. That is a serious problem for their usefulness, which was my actual point.
deleted by creator
Right but again, that problem is not one that existed. The future is federation - communities working together based on trust, not finding novel ways to track who has & does not have resources.
It wastes a medium country’s worth of emissions every day just to count coins or write things down, and it doesn’t get used to liberate people it gets used for scams.
You’re thinking too rationally now. The thing with NFTs is that it’s not rational at all. Try again.
Basically the transfer function on an erc721 interface (nft) cannot have enforced royalty payment otherwise it wouldn’t support people transferring the token outside of a sale. Theoretically you could use some kind of interface standard or write up a different contract where users are forced to pay a royalty on any kind of transfer but then there wouldn’t be a way to transfer it without paying the royalty and basically no nft trading platforms would support it because under the hood you have to transfer them the token so they can sell it on your behalf once a buyer is found.
FYI not trying to shill funny pictures but I do know a bit of solidity so maybe someone here is actually curious about the limitation.
Thank you. This is what I wanted to know!