Unseeded Auction Thread

No there is lot to interpret. This is the key: every participants just puts their funds at the auction and takes back an amont that is splitted according to an average “price”.

Participating in the auction is balancing one’s dual-component (NBT and NSR) portfolio in a NBT/NSR price index fund, where the price is only determined by the auction participants. Or you can just say participating the auction is buying a price index fund.

The above view has several implications understandable in more conventional terms:

  • It’s perfectly OK if someone only submits NBT or NSR to the auction. She just buys a basket of NBT+NSR (at auction price) with one kind of fund.
  • If the reserve participates just like any participants (see question in my post above), then the reserve buys into this index fund.
  • If NU comes behind the reserve to buy the index fund, and a lot of shareholders participate, the price will hopefully be a stable one.
  • Since in fact not all NBT and NSR in existence will participate in the auction, the auction price will be influenced by supply and demand of NBT and NSR. For example someone sells a load of NSR on NSR/BTC market or buys a load of NBT for his business, and causes a price dip or supply to change in external markets, the effect will show in the auction price as arbitrageurs react.
  • The above seems to suggest that even without external signal to choose which side of seeding to place, as long as the reserve is open end, the auction will balance NBT/NSR with the help of arbitrageurs, and that choosing seeding side and amount will accerlate the price movement but is not critical to establish an equilibrium price eventually. However I haven’t taken pegging NBT to USD and burning into consideration. I just stop here and see what others think.
1 Like

That’s not true. If you submit only NBT, you will only receive NSR and vice versa. You can feel free to do this, but you have no guarantee that you won’t crash the market this way and I highly advise against it.

OK. She just trades her fund into the opposite component at the price.

OK. Because the price could be erratic and highly unfavorable or favorable. So what stops people from intentionally manipulate the result? Say you put 10,000 NSR seed, someone comes with 1 NBT and 10M NSR to claim all your seed and leave you with 0.001 NBT. Will you manually stop it? Why? He claims that 1NBT:10M NSR is what he thinks the proper price. Where do you draw the line of intervention?

1 Like

Wait, so players involved:

A: Nu, 10K NSR
B: Attacker, 1 NBT, 10M NSR
C: Rest of market?

Without C, the attacker buys the 10K seed for 1 NBT. If he had submitted 0.01 NBT he also would have won the 10K seed. The 10M NSR doesn’t matter.

Let’s pretend C = 19 NBT and 10K NSR. Now, the auction price is (19+1) / (10M + 10K + 10K) = ~210^-6. That means that C takes away 19/(210^-6) = 9.5M NSR while the attacker gets 10^7*(~2*10^-6) = ~20 NBT. So now the attacker has no money and is no longer an attacker, while C (the rest of the market) takes away a huge NSR win for a small NBT cost. Nu loses money here because the attacker targeted a time after the seed had been determined to intentionally hurt Nu, so I suppose this is a viable attack vector, but a very costly one.

Edit: This could be thwarted by determining the seed after the auction ends. We could do this, but not so much utilizing the block chain because it wouldn’t respond fast enough. Also, it would kind of mean Nu is no longer acting as a normal participant, but rather a super participant. One of the most interesting points you should realize is that every auction submission is publicly accessible on the blockchain as a transaction with an auction address as an output. That means that anyone can know how the auction will go based on the current submission if they search through the blockchain effectively. I don’t expect that to happen for a while, but it is not an attack, it adds to the competition. What’s more, it makes people compete to get transactions closer and closer to the auction ending block, which could mean a whole lot of cool things for stuff like tx fees and so on. I could go on, this mechanism is a wealth of cool possibility.

1 Like

OK attacking isn’t very easy. Neither is understanding it.

The idea of determining the seed after the auction ends sounds too much like market rigging unless you can show it is fair to participants.

2 Likes

Yes, the seed should be determined before the auction starts.

I think learning-by-doing is the best approach here. Once you see the auction in practice, it should become much easier to understand.

3 Likes

Block height 392,190.

Go for it! :slight_smile:

This auction closes in about 30 hours. Just a reminder that submitting to the auction is as simple as sending 10 NSR and 0.05 NBT (just as an example) to the auction addresses and telling me your send addresses. The more participants with unique outputs there are in this first round, the better tested this process will be. If just the people that have already replied to this thread were to participate, it would really go miles toward not only testing the program but also the community’s understanding of this process.

Participating really is as easy as sending some coins and registering really is as simple as telling me your send addresses.

Please register in advance, as it makes the whole system much more robust.

2 Likes

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.