Unseeded Auction Thread

I ll give it a try.

1 Like

The program has undergone some pretty hardcore changes.

From the readme file:
"A dual side, seedable auction protocol

RPC operations take the auctioneer’s wallet and process unspent transactions to find a common price.
It then outputs the target of a manysend command to be verified and sent manually by the auctioneer.
The target addresses are determined by pairs of NSR/NBT addresses (‘links’) in addresses.txt

Price = NBT received / NSR received
Each link receives funds:
NBT sent = NSR received * Price
NSR sent = NBT received / Price

Participants provide both NSR and NBT in a ratio corresponding to their ideal NBT/NSR price point.
Nu shareholders can vote on blockchain motions to seed this auction publicly in a verifiable manner.
All transactions are public on their respective blockchains, such that the auction must close precisely on a block."

1 Like

check your pm

1 Like

slight rule change:
If your reward is less than the network fee, it will be rounded down to 0 (even 0.009999 NBT gets rounded to 0). This is necessary, as otherwise someone could game the system by submitting many small outputs that all get rounded up. On the upside, this allows me to close the spread down to just the fee. This actually is going to come up with one of my participants.

Participants: Please be aware that you can submit additional funds from the registered addresses at any time (before auction close). If you would like to push your pricepoint down a little, submit some NSR. If you would like to push it up, submit NBT.

1 Like

The first unseeded auction has closed. The results can be seen here:
http://blockexplorer.nu/address/BNjKzZtFtumiw3VNUVoWTNb8CoEtMZEEoN/1/newest
http://blockexplorer.nu/address/SMNjMt4Wu2DKbDavbP6FyxA6nv4ZWgdGEP/1/newest

19.32 NBT and 9904 NSR were received across 4 transactions for a price of:
0.001950726979 NBT/NSR (~$0.00195/NSR)

The rewards have been sent, every send address had a corresponding link.
As a reminder, you do not have to register addresses again for future auctions, simply send the funds at will.

The second unseeded auction will close on block 404000.

1 Like

Thanks. I plugged your numbers in a spreadsheet and can verify the exact total NBT and NSR but only to the 4th digits for the sent amount. I also notice there is more than 1NSR left undistributed.

I did some math and find some interesting results -

  1. Calculated based on the averaged price, everyone’s profit is exactly 0.

Suppose a participant puts in S1 NSR and B1 NBT and gets S2 NSR and B2 NBT back. The averaged price is P.

Then profit is S2-S1in NSR and B2-B1 in NBT. Based on the average price, total profit is S2-S1 + (B2-B1)/P

Since by the distribution rules B2=S1P and S2=B1/P, we have **total profit = B1/P - S1 + (S1P-B1)/P = 0**

  1. Calculated based on one’s own price, no one makes a loss. The more one’s own price deviates from the average price, the greater profit becomes.

Using definitions made above, the profit is S2-S1 in NSR and B2-B1 in NBT. Based on the participant’s own price P’, defined as B1/S1, the total profit is S2-S1 + (B2-B1)/P’. Still by the distribution rules B2=S1*P and S2=B1/P, we have
total profit = S1 * (P’-P)^2 / P1 /P2 = S1 * (P/P’ + P’/P - 2)

Since (P’-P)^2 is always positive, unless P=P’ when the profit is 0, therefore the profit is always non-negative. P/P’ + P’/P - 2 is another way to show the symmetry between P and P’. The more P’ differs from P, the more P/P’ + P’/P is greater than 2.

There are two ways to increase total profit with the same amount input NSR. One is increase input NBT so P’ >> P. One is decrease input NBT so NBT becomes more precious in participants own terms, and the distributed NBT will be worth a lot at price P’. Apparently the latter isn’t what people usually want.

1 Like

There was only 0.0001 NSR unaccounted for because I was too aggressive about closing the spread. You should also have noticed that I subtract the fee from the rewards. Ideally, the auction addresses end up empty after every auction. In the future, the spread will be 1.1 NSR and 0.011 NBT.

Currently, the NSR address still has 1.0999. Before sending the manysend, I subtracted 1.1 NSR from my personal reward (my address is the SVk one) partly because I was confused by the 0.0001 NSR rounding error and partly because I wanted to see how the program dealt with remaining outputs from the previous auction. So I guess the point is that the program still has a couple bugs to iron out, but that this auction was extremely helpful toward that end.

Anyway, @mhps, thank you for your analysis. I was hoping someone would catch the 1.0999 NSR and ask about it. I haven’t completely checked your math, but I’m pretty sure you get the idea. It’s a zero-sum game where everyone trades up at the common price, so no one really ‘loses’ or ‘wins’ but rather readjusts their ratio of NSR to NBT to find a kind of common equilibrium amongst participants.

Also, BChzNkgo6j9sbqDbY71qq27UzJEDs8VBa3 received no reward. This is because their reward was less than the minimum 0.01 NBT.
If you add up all the NBT inputs you get:
19.32 NBT
Add up the outputs and you get:
19.3062 NBT
so 0.01 NBT was used for the fee, and ‘BChz…’ was owed 0.0038 NBT. This reveals that people who submit the bare minimum of funds will end up burning extra funds for Nu because I drop all outputs less than 0.01 NBT.
This could potentially lead to an accumulation of funds in the auction account if many people submit the minimums and get rounded down. That’s why I wanted to test what happens if the auction address has a balance. These are all technicalities, but they are important to define when dealing with the blockchain because you have to be precise about what you want to do.

Yes, this is the auctioneer’s perspective, that everyone is balanced out and happy.

This is the perspective of the participant, where a properly chosen personal price point will assure personal profit.

If a person’s personal concept of what NSR is worth compared to NBT is vastly different than the auction price, then they will certainly profit a great deal from this kind of auction. That is why this auction has a strong equalizing effect.

Thank you again, @mhps, this is a good way of thinking about it.

I have sent over 10,000 NSR to auction and no NBT, as can be seen on the block explorer. I am doing this because I’m trying to sell some NSR for some NBT. That means that at least 10,000 NSR will be sold at this auction. However, I am not Nu, so if not enough NBT is submitted before friday I will most likely submit some myself.

This means that if you are trying to trade a little NBT for NSR this is a good opportunity for you!

1 Like

Because no one knows what tx will be in the closing block, you can’t know if I will submit nbt at the last minute or not. If I am the only one that submits nsr, if you just submit nbt I can submit a bunch of nbt in the closing block and take almost all of the funds. Of course, you can do the same.

The way to keep this auction honest is to have a third party submit both nsr and nbt in comparable volumes. If this auction were seeded, the seed and the market trying to buy the seed would act as the third party. As we do not have that here, the only way to allow people to auction at will is to have several users submitting funds to every auction at their ideal price points.

So, you don’t have to participate, of course, but it is good for both Nu and yourself if you participate in every auction with some of your nbt and nsr. It will develop a decentralized base amount of liquidity such that anyone can auction off extra nbt or nsr at will. (Seeding the auctions would have a similar effect)

The second unseeded auction has closed.
Total Nbt Received: 23.9746
Total Nsr Received: 11628.9999
Auction Closing Price: 0.00206162182528 NSR/NBT

The 3rd unseeded auction will close on block 410,000.

The third unseeded auction has closed.
Total Nbt Received: 23.9513
Total Nsr Received: 9212.0
Auction Closing Price: 0.00260001085541 NBT/NSR
Price: 0.0026 $/NSR

Auctions are now fully automatic and will close every 5,000 blocks starting with block 415,000. The server will wait for 10 confirmations before sending payment. Registration is still done manually, but need only occur once per address pair.

2 Likes

Ha! It worked, I didn’t think it would work. I’m not at my comp but the auction went off. Hooray!

2 Likes

Tto be honest, i have not understood yet how your unseeded auction works and the concrete purpose of it.
I take time to understand things :smile:

Can you explain it in mere terms?

Send nbt and/or nsr to auction addresses. Get back nsr and nbt. How much you get back is determined by the average price of all participants. It is zero-sum, the only loss is the network fees.

It is transparent, efficient, easy, and robust. As it is now automatic, there is very little reason for us not to be making use of it. I’m going to keep coming out with more bells and whistles for it, but it is already fully operational and if I wasn’t the only one using it people would understand by now why it’s so awesome.

1 Like

Pros of the seeded auction over blind auctions:

  1. Transparency (all tx on blockchain)
  2. Dual side (discovers price via competition)
  3. Provides a nbt and nsr use case
  4. Gameable (ends precisely on a block)
  5. Easy for auctioneer (registration only need happen once ever per user)
  6. Easy for participants (after registration, simply submit funds at will using standard wallet software)
  7. Less trust (auctioneer and reserve can be different people)
  8. No minimum bid (aside from network fees)
  9. All participants pay network fees.
  10. All participants are rewarded for participation (assuming >1 participants with different ideal price points)

Cons:

  1. New software could contain bugs
  2. People don’t trust what they don’t understand.
  3. All participants pay network fees. (Penalty for participation)
  4. Dual side (people can waste a lot of money to force nu to waste a little money. This risk can be decreased by increasing the seed.)
1 Like

I think a seeded auction using this setup is better than the current manual one.

4 Likes

Below some extreme examples to help shareholders understand the purpose of unseeded auction thread, including myself:

  • What should I do if I want to convert 1m NSR into 1m NBT? What is the chance of such a conversion attempt?
  • What should I do if I want to convert 1m NBT into 1m NSR? What is the chance of such a conversion attempt?

The main point I’m going to make here is that ‘unseeded’ auctions are not very useful for such a conversion. Rather, they help one keep one’s personal finances in relative order with respect to nbt and nsr.

Are you Nu or are you a participant?

If you are Nu, you are able to use the auction to draw demand because you can guarentee submition on one side and not the other by writing the intention to do so on the block chain via motion. This is “seeding” and is a unique property only accomplishable by Nu, not participants.

If you are a participant, you are only able to use the auction to do a flat conversion if there is established and dependable auction volume. The technicalities get somewhat in the way here, but ideally you will be able to read the transactions involving the auction addresses and predict a minimum level of involvement.

Let’s take your 1 million NSR question, but rephrase a little and say “What is the minimum level of involvement to convert 1 million NSR into NBT at market prices?” Furthermore, we must quantify “at market prices” as being within a certain % of the ideal market price, let’s say 1%.

Market involvement + 1 mil = 1.01 * Market involvement.
Market involvement = 100 million

As you can see, in order for you to be confident dropping funds on the auction, the dependable volume of the auction needs to be over an order of magnitude larger than your intended dump.

The vastly preferred thing for you as a user is to be a part of that ‘market involvement’ by submitting both nbt and nsr in your preferred ratio. That will allow you to find common prices amongst the other custodians and shareholders (and anyone else that registers) and balance your personal funds accordingly.