--
You received this message because you are subscribed to the Google Groups "Stellar Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stellar-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/88f92473-04cc-44b9-8c91-d9fc79dcfa06n%40googlegroups.com.
Hi everyone,
Quick answers on points raised by Jonathan Jove:
A marketplace would typically implement below-reserve bidding off-chain (no transfer), yet once the reserve price is met, all decentralized settlements, including most binding contracts, would still benefit from SDEX operations e.g. for the second price auction feature you mentioned, marketplaces can guarantee the discount to buyer (via on-chain contract, multisigners etc), yet there would be no reason for the marketplace/buyer/seller to run the bidding process off-chain regardless of the auction format.
Most sophisticated auction strategies can already be implemented on-chain through contract tools available but, even though there are workarounds with intermediate assets and path payments, pricing limitations are impairing straightforward usage of such SDEX operations—also creating cryptic offers which may not help the ecosystem for encouraging discovery and leveraging opportunities with these assets.
Finally, I wonder about the initial rationale behind the use of int32 for SDEX pricing (only). It seems to me that such change justifies itself with scalability (i.e. without a case for NFT).
If anyone has a link to a better writeup of the issue please post it
Here is my write up on the issue with pricing limitation on SDEX and the solution using path payment that we are using it for our NFT marketplace.
https://blog.litemint.com/nft-sdex-pricing/
FredHi Mike,
Your ideas here are interesting, and raise several questions for me:
1. What actually needs to be part of the Stellar protocol, and what can be done at the ecosystem level? For example, you mention that it is possible to achieve the goal of selling NFTs for any amount of counter asset by using path payments. I am familiar with this technique, and I agree with you that it isn't particularly obvious or natural. But I wonder if the underlying technical implementation really matters if, for example, it is packaged behind an attractive interface in an SDK? I generally view the protocol as the lowest level building blocks, and if something can be achieved with those building blocks then I often think it can be given an attractive high-level interface. I don't worry about x86 assembly when writing C++.
2. What exactly do people want to do when it comes to selling NFTs? Art is typically auctioned. There is an extensive, and very interesting, theory behind the design of optimal auctions (https://en.wikipedia.org/wiki/Auction_theory); the classical example of an auction that can be proved to be optimal under certain assumptions is second price auction with reserve. I doubt that selling NFTs using the order book would produce the best outcomes for creators.
3. Are there building blocks that could be included in the protocol that could facilitate designs at the ecosystem level? For example, people might want to try a variety of auction strategies in order to maximize profit. But it is very unlikely that we will actually incorporate those strategies natively into the Stellar protocol, especially for some which are more experimental.
As for the specific proposals, both of these would require making non-negligible changes to the order book. Having personally designed and implemented a number of changes to this part of Stellar (CAP-0003, CAP-0004, CAP-0024), I know that it is fraught with difficulty.
1. Allow for indivisible assets: It's not clear to me that this solves the real problem. For example, imagine an artist in Indonesia trying to sell a work in their native currency. At the time of writing this, I am seeing that the exchange rate from IDR to USD is approximately 14,015. So moving the decimal place by 7 digits, which is effectively what indivisible assets would achieve, would be much less effective in expanding the range of possible dollar-equivalent prices in this context. Stellar is a global network, so I am very cognizant of making protocols that work at all scales.
2. Increase the precision on the DEX: This sounds like a small change, but would probably be more work than anyone predicts. As a first example, changing the precision would make it possible for integer overflow to occur in a number of places that it cannot occur today. This would in turn require substantial testing given our intense focus on quality and security.
Personally, I would need to see compelling evidence that the benefits of these changes would be worth the effort and risk involved. Perhaps it is justified, but I don't think that will be clear until we take a deeper dive into what a useful interface to NFTs would look like on Stellar.
Hi Mike,By indivisible are you meaning that there could be a volume of 10, I could hold 2, and I can't transfer you 1.5, I can only transfer you 1 or 2? Or by indivisible are you meaning that if I hold 2, I can only send 2? I'm assuming the former in the rest of my message.
I think the first proposal, making it possible for assets to be indivisible, seems like the meaningful change to make for NFTs because the system is confusing if a user has to make an offer of 20mUSD to buy conceptually 1 NFT, where the amount that will be spent is actually 20kUSD.
The previous issues by Jed and Johan suggest there are non-NFT uses of indivisibility as well but in many jurisdictions fractional shares are allowed. For assets that are regulated it is also likely the issuer will be using SEP-8 and controlling all movements and could deny fractional amounts if that was required, so the potential non-NFT uses is not clear to me. It'd be helpful to know if FTs need indivisibility so that we know if there are more use cases and gains for the first proposal, or if the benefiting use case would only be NFTs.
@Jon, if the implementation of the first proposal was limited to introducing error conditions in all cases that would reduce a balance by an amount that wasn't zeros right of the fixed decimal for assets that are not divisible, would that require non-negligible changes?@Mike Are NFTs better suited to OTC-like trades where two parties agree on an exchange and then perform that exchange in a single transaction signed by both parties? I realize that doesn't particularly address the problem of preventing them from being divided, and that doesn't improve interoperability.
Leigh--
You received this message because you are subscribed to a topic in the Google Groups "Stellar Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/stellar-dev/FU1EXVRVtpY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to stellar-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/83a70a07-6d04-4051-8a04-a8c0daa8e1ecn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/40e4fdae-047a-4326-8a7d-357d68db3e90n%40googlegroups.com.
Hi everyone,
I wanted to make a quick point. In my opinion, the speculative stand on whether auction is the best way to sell NFTs is not relevant because, on a wider scale, it is the entire digital good industry that benefits from NFTs and collectibles.
Even today, most digital good revenues are not made via auction, so there is no real reason to focus on the idea that auction systems as the main platforms for these new assets which benefit all industries (gaming, movie, music, education, publication and so on...) from in-app purchases to subscriptions to licensing. There are existing funnels and a wide user range that are leveraged by this technology other than the eBay/auction style market/seller, let alone new opportunities due to access to decentralized payment rails and cross-experience content.
In my opinion, we could take a more global stand with the purpose of making Stellar more friendly to opportunities offered by these assets—addressing the SDEX limitation would go a long way in that regard.
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/3677fc6b-8b1c-4b6c-bbdb-a61946854c79n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/cc878643-d976-4a6a-97e0-ba906d8f9468%40Spark.
You received this message because you are subscribed to a topic in the Google Groups "Stellar Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/stellar-dev/FU1EXVRVtpY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to stellar-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/8583e254-d8ee-4754-81e1-06d769a69bd6n%40googlegroups.com.
> Always happy to be corrected, but NFTs are basically ownership records
I would say that ownership is already a given on any blockchain, the main function of NFT contracts is to deal with value transfer while enforcing specific rules pertaining to scarcity and non-fungibility. e.g. ERC-721 on Ethereum standardizes such transfers—it does not model ownership which Ethereum does.
Provided that NFTs are just a class of items that can represent anything in the digital goods market, Stellar is already on purpose for that transfer function and the question is not exactly about the relevance of it.
According to OpenSea stats (the largest NFT marketplace by volume), the “Buy Now” market makes up for most of the NFT sales (only 1 item out of 80 is sold via auction) so this market is really something Stellar could handle well, especially with better SDEX support.
Because the problem at core here is just the inability to enforce arbitrary integral, or non-fractional, value transfers so we are required to use stroops for this purpose and trading in such small values is not well supported (although not impossible) on the SDEX.
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/9ccdff55-ff04-4067-9267-f92309dd9f84n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/8af91e96-3b0a-4d99-9deb-aa85976208ebn%40googlegroups.com.
Hi everyone,
To summarize, these seem to be the main concerns (please feel free to correct me if I’ve missed anything, or misrepresented anything):
The suggestion of a decimal representation per token (on asset issuer account) seems like it could solve the cases of #1, and #2 above, and will also be more broadly generalizable which solves #3 to some degree. This sounds like it would be a fair amount of work to change this in core, and also potentially in horizon and other ecosystem projects too. Seems like it can be a good long-term solution.
The NFT use case could be large enough to warrant the flexibility since NFTs are quite a generalized concept that captures different forms of value tokenization. The experience of using NFTs on Stellar would be much better than it is on other platforms and it will be much more cost-effective too in terms of fees. #4 seems like it’s a much harder challenge without baking complex logical structures within Stellar.
Has anyone tried solving these issues by using SEP-8 as a stop-gap solution? This is of-course non-ideal for something decentralized because of the "permissioned sell" requirement of SEP-8. However, these tokens can be deployed without any changes to core, horizon, and ecosystem wallets and would solve the use cases of #1, #2, and also #4 which is not possible with other solutions. We can make use of multisig to provide some level of decentralization to the SEP-8 sign-offs so there isn't a SPOF (eg: NFT portal, artist, and current owner can sign in a 2 of 3 multisig -- up to 20 signers).
One way to look at the SEP-8 usage proposal in the context of NFTs is that it is a good way to experiment on Stellar with almost the same exact functionality as is available on Ethereum without changing too much within Stellar too soon. Once the NFT ecosystem grows within Stellar we would have learned a lot more about the challenges specific to Stellar that could help inform deeper protocol level changes for better NFT support within Stellar.
Best,
Nikhil
To view this discussion on the web visit https://groups.google.com/d/msgid/stellar-dev/CAJVtNT8HCqq-q%3D7KZqQ7r6uMjNyt5WT_bniM8Xt4oXn7bBqZFQ%40mail.gmail.com.