5 ms·
> can offer that we can't currently do without the use of a Blockchain. The real issue with responses like this is that you can do anything with computers anyw
by IanCal 5y ago
> can offer that we can't currently do without the use of a Blockchain.
The real issue with responses like this is that you can do anything with computers anyway. The blockchain basically gives you a
* Globally writable database
* With stored procedures
* And row level security
Now, you can always swap out that with a centralised service. Turing machines can do stuff and machines can talk to each other. Whether it's possible to build a technically equivalent thing is not really the important question.
What tends to happen though is that the underlying infrastructure if supported by a profit-making company is that it has its own agenda and desire to control access. There's no real desire for the base layer to be open, it's not profitable in itself.
One of the more appealing things to me in the area is that there's a lot of work with shared interfaces. Working with the ERC721 spec I can easily make a non-fungible token that refers to a ticket at a conference, or right to claim a financial security, or game item, or has a link to a wiggly line or whatever I want. Someone else can build an auction contract, and my nft will automatically work in it, as will anyone elses. If you have control of the NFT you can pick which auction type/contract/service you want to use. I don't (and shouldn't) care, that's not the part I build or manage.
Finally, "but can't you do it with postgres and ..." is true but there's a huge shift that's happened. Before, sure, I'd have to have built all this stuff on chain and have all of the complete pain-in-the-arse stuff to deal with that comes with crypto. But now that all exists.
So to make, say, an in game item that people can re-sell, swap, etc, instead of
* Make a website
* Setup the DB
* Manage user accounts
* Manage payment information
* Code the sales, auctions, etc
* Build the integration with my game & my API
* Manage and maintain the server
to do it the traditional way. To do it on chain I
* Create a trivial NFT contract
* Build the integration with my game & a generic API
That's it. All the other work, auctions, etc. has been solved and built already. User accounts are already managed.
You can always solve it another way. The more interesting question is in which cases should you solve a problem in certain ways? Not everything makes sense on chain, the database is slow and public (and even for very cheap chains comparatively expensive), and the stored procedures are extremely limited.
However some things can fit well - do you need to create some kind of economic incentive & want to let market forces control things (for example, filecoin and paying people for storage)? Maybe just creating a token on existing infrastructure will fit your needs. If it does, does it make sense to build even more things yourself?
Disclaimers - I am currently doing contract engineering in this area but am not looking for work, have only small holdings and am not here to shill for anything.
- secretsatan 5y ago`Build the integration with my game & a generic API` Seem to be missing a few steps here
- IanCal 5y agoIs it? The larger point was that that's the same either way so it comes out in the wash. But OK if you want to break it down more: * Have the user prove they own a specific account (https://walletconnect.com/ https://walletconnect.com/ I would guess would be a simple approach to this) * Make a REST API call to check if they own the item (edit - to clarify, the API already exists, you just need to do a single get request) * Set local flag in game to say "yes they own the item"? What more detail would you need?
- falcolas 5y ago> What more detail would you need? Implementing the weapon. Paying for that implementation. Concrete example: I buy an NFT for a sword in World of Warcraft. I want to take it with me to FFXIV. Now FFXIV has to implement the sword. Its looks, its behaviors, its power, in a completely separate engine and world. They - Square Enix - also probably have to pay Blizzard for the trademark and copyrights to the sword. Yet when I buy the sword that money goes to Blizzard, not Square. So... why would Square do it? Plus, implementing a "yes, person with email address N owns sword X" rest API is pretty straightforward. You could even implement public/private key signatures for authentication of the receipt. It just would be stored in someone's email inbox instead of the chain.
- IanCal 5y ago> Implementing the weapon. Implementing an in game item? That's already part of your game, right? > Paying for that implementation. You can buy an NFT entirely on chain, that's surely not in doubt. > Plus, implementing a "yes, person with email address N owns sword X" rest API is pretty straightforward. You could even implement public/private key signatures for authentication of the receipt. It just would be stored in someone's email inbox instead of the chain. Yes, I totally could re-implement all of these things. I could handle payment info, get people to manage their own public/private keys using my own implementations and have them copy & paste it from an email (?). I'm not sure I follow the flow there where people copy keys from emails into my game and how duplication is stopped but it sounds like an awful flow. My point, as I tried to emphasise, is that I can get those things without building them. They already exist if I manage that part with an NFT. So the question has increasingly become (as the field matures) - why build it myself? Why not use existing, working infrastructure? > Concrete example: I buy an NFT for a sword in World of Warcraft. I want to take it with me to FFXIV. Now FFXIV has to implement the sword. Its looks, its behaviors, its power, in a completely separate engine and world. I've not said anything about sharing between games, and the complex part of that is identical whether it's with crypto or not. What the global shared database part solves is that either game can easily check, if this was something they wanted to do.