18 September 2020
Z
17:14
Zack
A*B and A*V are constants.
17:20
so the goal is to do some combination of market-swap-tx and use-contract txs to result in the veo row being -(how much you want to spend), and the currency you want is the only non-zero value besides veo.

but there are many different combinations that can achieve this. We want to find the combination that maximizes how much value we receive.

So I think we can take the gradient of this matrix with respect to price, set that equal to zero, and maybe that will give us the solution.
17:26
the 3D vector space has a subspace of values that result in swapping veo for what you want.
I feel like we need to parameterize the subspace before we do the gradient.
or else we need to do some kind of dot product to transform the gradient in the 3D space into the gradient in the subspace.
17:27
What is the subspace shaped like anyway?
It is some kind of hyperbola, right?
17:27
or an ellipse?
Z
19:00
Zack
i think its a hyperbola, because it is approaching a limit of how much money is in the market.
19:04
how many dimensions is the subspace?
19:11
I think it is a higher dimensional conic, and we can get hyperbolas or ellipses or whatever conic out of it from taking slices in different directions.
19:26
oh! there is a nice symmetry that makes it easy.
if we ignore everything besides how much veo we spend and how much of our desired currency we get, and optimize for the best price possible, the best price already has every other kind of subcurrency left at zero. Because at the best price, the maximum amount of value is converted into the form that you want.

So we don't need to worry about normalizing the gradient onto a hyperbolic subspace. We can just find the optimal in the bigger vector space.
19:27
for a lot of the space the price is infinity.
The first step is to find a point where the price is less than infinity.
The next step is to calculate the gradient for that region.
Then we can use newtons method to walk towards the spot where the gradient is zero, just like we are doing in the current implementation.
19:37
instead of a price-field. we should have a field of how many you receive in return for how much you spend.

Then we don't have any undefined region with infinity price.
We can start the optimization process from any point.
19:39
oh, we still need the conditions that you can't spend money which does not exist.
otherwise it will optimize for an infinitely good price where you burn infinite of some in-between subcurrency.
19:41
so there needs to be some undefined region, and we need a method to find a starting value inside the defined region.
Z
19:57
Zack
I am imagining the equation like this:
T*M = [-V 0 0 ... 0 P]

where T is a vector of how much money to invest in each market or contract involved.
M is the matrix of functions showing how participating in each market or contract impacts your various subcurrencies balances.
the result is a vector of how this impacts your subcurrency balances. V is how much you wanted to spend, in the type you wanted to spend. P is how much you wanted to receive, in the type you wanted to receive.
Since this is a swap, the rest are all zeros.

So at the start we know M and V. we are trying to find vector T such that P is maximized. P is how many tokens you receive.
19:57
elements in T can be positive or negative.
Z
20:14
Zack
maybe I can just define some kind of distance function. measure the distance from [-V 0 0 .... 0 P], and minimize that distance?
20:16
for V and 0, it can be the sum of the square of the distances. and for P it can be (-P). so a higher value of P is a negative distance.
20:16
I think we can just optimize that, and ignore the harder math.
19 September 2020
Z
02:10
Zack
It looks like I can calculate how much money to spend in each market and each contract_use_tx in order to optimize the trade. and I am using the new model.

It seems a lot simpler than our old strategy.
02:10
Probably it will be ready for doing trades on the main net in another day or two.
Deleted invited Deleted Account
ŽM
06:23
Živojin Mirić
Do I see a moon in the horizon?
JS
09:29
Jon Snow
In reply to this message
No need to use all caps
09:31
In reply to this message
You can buy from Qtrade
VE
10:27
VV Enth
In reply to this message
Lol
A
11:49
AI 🏅
In reply to this message
🔥👍
Che LaoLao invited Che LaoLao
Z
15:51
Zack
http://159.89.87.58:8080/wallet.html?hide_non_standard=true
I rewrote the AI that generates the trades
15:52
the new one is a little less precise, but a lot faster. and we will be able teach it to buy liquidity shares, and to support contracts with more than 2 subcurrencies.
15:52
also, I added collaterolazation info to the ticker data for the new formatted contracts
A
16:13
AI 🏅
👏
K
19:23
K
I think it's safe to say for most POS networks, the majority of stake is owned by a few entities
19:24
Assuming those entities are also backing projects building on that platform
19:25
How do you expect to bribe them cheaply? Surely in total you'd have to pay them even more than the total network value
Z
21:44
Zack
qtrade is most popular
Z
22:07
Zack
I don't know. hitbtc is not recommended.
I doubt either hitbtc or qtrade is using multi-tx
Z
23:39
Zack
I got liquidity buys working with the new version of the swapper
23:41
I am thinking that when we are buying liquidity, we should tell it to not change the prices in any markets. and that providing liquidity to pairs of markets between different subcurrencies using the same contract is all in a sense, identical.
23:41
because if a market has low liquidity, and puchasing into it moves the price a lot, then you can end up holding liquidity shares in a mis-priced asset.
When the price is fixed, you liquidity shares will be worth a lot less.
20 September 2020
Z
00:28
Zack
so I think I will leave the ability to swap into liquidity shares, because for small amounts it does work and is convenient.
and I will update the pool tab so that you choose a contract to deposit liquidity into, not a pair of currencies.
It will use a mix of markets depending on what currency you are spending, and it will be set to not change the price of any of the markets you are buying liquidity in.
Z
00:48
Zack
I got swapping to work with the new AI for generating trades http://159.89.87.58:8080/wallet.html?hide_non_standard=true
00:49
I think we aren't going to support buying liquidity shares in the normal swap mechanism.
00:50
the AI can be so much simpler if it only needs to do either liquidity shares or market swaps.
Because in that case it doesn't need to remember any state inside any of the markets.
00:51
In reply to this message
and because of this problem, I think no one wants to do both simultaneously.
if both are happening together, it is probably a bug.
01:04
This AI reminds me a lot of the path integral formation of Newtonian mechanics.
Where you use the Lagrangian to find the path of least action.

But our path integral is discrete, for how much to invest into each contract. the path is the investment-vector.

we want to own currencies in the vector goal = [-(amount to spend),0 ,0 ... 0, 0, (amount to receive)]

given an investment-vector, it can be transformed into a goal vector = actual.

we can use the distance metric D = sqrt(sum((goal[i] - actual[i])^2)) + (2^(actual_received/amount_sent))/10

Which is mostly the normal distance metric in euclidean space.
This distance metric shows how much action is being consumed on a given investment-vector.

the "actual received" part of the distance metric is set up to exist everywhere, to be positive everywhere, to be smooth and differentiable, and to always be lower in the case where we are receiving more in our trade.

Using this distance metric, the space of possible combinations of contracts we can participate in, it becomes smooth and differentiable, and it is easy to show it has one unique minimum, and that the minimum is at the set of contracts that would make the ideal trade.

Finding the single global minimum, that is a trivial problem. We can just go in the opposite direction of the gradient until we find the spot where the gradient is zero.
Cryptic Nut invited Cryptic Nut
S
02:48
Sy
I doubt hitbtc even got a working wallet...
Deleted invited Deleted Account
07:59
Deleted Account
Man I love the theoretical shit but we should just get a wrapped amoveo going, more funds les go
08:00
WVEO
JS
08:08
Jon Snow
In reply to this message
A wrapped veo would also be easier for onboarding new users as well. We don’t want to have exchange dependence and everyone can only go to qtrade to get their first veo.
Z
08:09
Zack
how about we have markets for btc and veo on amoveo
08:09
synthetic btc
JS
08:14
Jon Snow
We can have all sorts of synthetic assets on Amoveo, but people need to have $VEO first. A good UX swap interface through which new users can easily swap eth to veo would be instrumental to onboard new users
Z
08:15
Zack
once the price is stable, all forms of moving into and out of the amoveo ecosystem will be more efficient
JS
08:18
Jon Snow
In reply to this message
Don’t new users still need to go to qtrade to get their VEO to get into this ecosystem?
08:21
Qtrade will do KYC if you increase your withdrawal limit. So VEO will de facto be a KYC coin once it grows.
Z
08:51
Zack
im starting to rewrite the pool tool
08:52
my new plan is that you can deposit using whatever currency you want. it will use the swap tool internally to get the source for your contract. then it will buy combinations of the markets in that smart contract to use up all the currency you wanted to spend
08:58
the new AI is pretty powerful.
You can basically tell it any combination of changes you want to make to your portfolio, and it can find a combination of trades to achieve it, without leaving any arbitrage in any market.
08:59
a limitation is that the the extra value you receive, it all needs to go to one currency.
A
12:51
AI 🏅
In reply to this message
Nice 👍
12:52
In reply to this message
i bought 32 veo on hitbit
S
16:01
Sy
In reply to this message
And that's where they will stay, I think there wallet wasn't updated in a while and we hardforked alot lately, not sure if it ever synced again
A
16:21
AI 🏅
In reply to this message
what do you recommend to do?
I
16:24
Instinct
I’m not sure what hardfork this was but u might be able to withdraw https://twitter.com/hitbtc/status/1302913161226604545?s=21
16:25
It says it’s active here https://hitbtc.com/system-monitor
S
17:17
Sy
Ah good so their wallet is working
17:17
They have been lazy a long time
A
17:24
AI 🏅
thank you for your concern
A
18:05
AI 🏅
In reply to this message
hold and sell at the highest)
Z
19:05
Zack
In reply to this message
The exponential function wasn't so good.
It caused chaos if the model was testing samples very far from the minimum.
So I switched it out for this:
https://en.wikipedia.org/wiki/Sigmoid_function
19:07
my hope is that the AI will first prioritize setting all the fixed values. Like, we want to minimize buying dust during your trade.
So I am using the normal euclidean distance metric for that. It is parabolic, so there is a strong correcting influence that drops to zero when the value is accurate.

so once all these values drop to zero, the dominant influence will be trying to maximize how much you get paid, according to this sigmoid function.
C
21:20
Cresus
In reply to this message
Not possible to use deeplearning to optimize that?
C
21:32
Cresus
😂
mx
21:32
mr x
:P
Z
21:33
Zack
The prices in the markets is already 100% of the useful info. There is nothing left to learn
21 September 2020
Guillaume invited Guillaume
Deleted invited Deleted Account
Deleted invited Deleted Account
K
06:44
K
What's your stance on privacy? Is it needed in order for amoveo to be adopted?
Z
07:42
Zack
For now it is like bitcoin.
You don't need to do kyc to use amoveo
07:42
Amoveo is a project for financial derivatives.
N
07:56
NM$L
what price now?
08:56
Deleted Account
What derivatives exist rn? (Like synthetix?)
Z
09:04
Zack
In reply to this message
you can ask the amoveo oracle whatever question in english. For example, you can ask it what the price of bitcoin is. then we can make derivatives based on that oracle.
09:31
Deleted Account
But none exist yet?
MF
09:34
Mr Flintstone
there was a btc one that expired recently here

159.89.87.58:8080/wallet.html?hide_non_standard=true

zack is working on making it show the prices and balances more intuitively and making it easier to provide liquidity to these then there will probably be a lot more. the ticker is arbitrary
11:50
Deleted Account
Fork uniswap and make it work with amoveo and standard pairs
MF
12:00
Mr Flintstone
^that is a uniswap clone. It uses an amm
Z
12:09
Zack
the ai is getting stuck in cusps
12:10
there is only one global minimum, but there are some ridges that are very near to the global minimum, and the pressure to follow along the bottom of the valley is too low. the gradient is basically zero.
12:12
im thinking of teaching the ai about how different markets from the same contract can be different representations of the same price, and to use that information to kick it out of the valley
12:13
but would that involve solving all those quadratic equations again?
12:14
another possibility is to get rid of the sigmoid function, and to do a binary search on this entire process.

If we search at a price that is better than possible, it gives a trade that works.
If we search a price at worse than possible, it is chaotic.
EA
12:40
Eric Arsenault
The result that gnosis came up with makes me think there is no “solution”. They just incentivize people to solve each batch of trades in the most efficient manner
13:03
Deleted Account
That UI sucks balls tho. Legit just go to github and clone
Z
18:08
Zack
In reply to this message
That's a solution to a different problem.
BS
18:13
Bo Smubo
Is there Somebody can make a better UI?
C
18:37
Cresus
Yes we need a better UI 😢
J
19:11
Josh
Anybody can make any UI they want, it's just an open source html page. Asking other people to do work for you doesn't help.
21:45
Deleted Account
Its a community. Community has needs. Expressing them is normal and useful to guage direction. Otherwise you might as well go build something nobody here wants, like a MySpace clone
Z
21:50
Zack
https://en.wikipedia.org/wiki/Gradient_descent
I found a nice wikipedia page describing the kind of AI we are using to make the trades
21:51
they suggest that I keep track of the momentum as well as position of our guess, and that will help it settle to the minimum faster
Z
22:34
Zack
im starting to think our new strategy, with the goal of supporting contracts with more than 2 subcurrencies, it does not work.
22:34
the previous strategy where we calculated all possible paths, and looked at linear combinations. maybe we should return to that strategy.
Z
23:07
Zack
maybe solving the quadratic equations for contracts with more than 2 subcurrencies wont be that bad.
I am thinking that I don't actually need to solve every case.
As long as we have linear combinations that span the full set of possibilities, it works.
23:09
I feel like there must be some better way to represent it though.
Currently if there are N paths from A to B, and M paths from B to C, then that means there are at least M*N paths from A to C.

It just seems like there must be a simpler way.
J
23:11
Josh
In reply to this message
you can also do things like take random jumps, to jump out of local minimums
Z
23:12
Zack
I think in gradient descent there is a fundamental difference between the constraints, and the things we are optimizing for.

I need to project onto the sub-space defined by the constraints somehow.
Which is what we were doing with the old version.
23:13
Maybe a different projection would be better.
23:18
we could try and find the embedded subspace, and then make a function for the perpendicular to it's surface everywhere, and then we could use the new strategy. We would need to move our guess back onto the constrained surface between every iteration.
23:19
I think that might end up being identical to our old strategy though
C
23:34
Cresus
In reply to this message
Zack it what i said yestersay deeplearning use gradient descent to find the optimum
Z
23:34
Zack
I think we have been using gradient descent for a few weeks now
C
23:35
Cresus
Just saying 😅
22 September 2020
03:25
Deleted Account
In reply to this message
How does it get access to those coins? Exchanges? Has some sort of built in wallet? Or you only mean if liquidity already exists within veo network? But if thats the case, if its btc is the multisig on some nodes?
T
08:37
Topab
It should be really easy to set up a basket of currencies in Amoveo. In this podcast around min 30.00 they talk of how many problems they would solve for all the countries and would take away USD dominance https://nlwcrypto.libsyn.com/monetary-policy-is-finished-and-macro-debates-are-boring-feat-raoul-pal
W L invited W L
18:48
Deleted Account
how are VCs still making money when all these new DeFi platforms are providing fair distribution?
19:13
Deleted Account
it’s where the big money is now though
23 September 2020
Deleted invited Deleted Account
Deleted invited Deleted Account
Z
04:02
Zack
I reverted to the old version of the swapping AI
04:02
I also patched some bugs in it.
xing He invited xing He
R
20:48
Rom
Hello where can i buy veo pls
20:48
?
I
20:55
Instinct
In reply to this message
ŽM
20:56
Živojin Mirić
In reply to this message
you failed to provide your refferal!
R
20:58
Rom
Is this safe exchange ?? How quickly will the project application be launched ?
F
22:22
Fića
I hear soon, moon!
OK
22:55
O K
In reply to this message
I have used qtrade, in my experience it has been a good exchange.
24 September 2020
Guillermo Joya invited Guillermo Joya
GJ
09:23
Guillermo Joya
Hello everybody. What’s happening wit ya ?
Z
16:49
Zack
im working on the swap tool
Deleted invited Deleted Account
25 September 2020
Z
01:12
Zack
my strategy to find the ideal trade.
I start by calculating all ways to transform the starting currency into the desired currency without leaving extra money in any other currency types.
Then I consider combinations of these different ways of transformation, to find the combination that gives the cheapest trade price.
01:14
the problem I am running into is that occasionally 2 ways of transforming will both involve a market, and they are using this market in opposite directions in such a way that one path is trading at a very bad price, but the final price along that path looks good.
01:15
so im thinking of going through all the possible paths, and filtering out the ones that double-back on themselves in this way.
01:15
and hopefully the rest of the paths still cover the complete vector space.
J
02:01
Josh
In reply to this message
so a path without cycles?
Z
02:14
Zack
Yes. I got rid of most of them already. But some cycles were hidden to me until now.
Z
03:56
Zack
http://159.89.87.58:8080/wallet.html?hide_non_standard=true
I am releasing another version of the swap tool
03:56
thank you for your patience with me while I have been figuring out how to get this to work.
mx
07:12
mr x
I made demo for veo.js. Would it make sense to do light node stuff this way? I suck at coding. https://github.com/top-type/veojs
MF
08:48
Mr Flintstone
lemme try it out
09:04
Deleted Account
veoscan.io is down?
Deleted invited Deleted Account
mx
10:03
mr x
In reply to this message
Hasn't worked for long time. Try https://explorer.veopool.pw/index.php
JS
10:48
Jon Snow
In reply to this message
The community volunteer who ran this website stoped supporting it.
MF
11:47
Mr Flintstone
it would be interesting if some of the block reward were deposited into a pool to provide liquidity for like veo/btc or veo/usd pair
11:48
i wonder if there is some issue here, or like a way to attack it to profit? in theory it is just providing liquidity at the market price
11:48
over time, the liquidity grows and the market becomes more accurate
11:50
maybe at some point it could be taken out and burned programmatically
11:53
i guess the VEO inflation would be like negative 1 times the pnl which nets impermanence loss + fee revenue
11:53
?
11:57
meaning like, printing 1000 veo and putting it into a pool to provide veo btc liquidity, the actual inflation is more like the PNL of the liquidity provider (amoveo) than 1000 veo. so assuming all liquidity providers are unprofitable in this pool, then there would be inflation proportional to the loss
11:57
does this make sense or am i missing something
12:03
instead of incentivizing people to put liquidity into amoveo pools with typical yield farming inflation incentives (i.e. paying human liquidity providers with VEO rewards), we would be printing the liquidity and paying the pnl as inflation. and maybe we arent even paying inflation. maybe it is deflation because amoveo as an LP is profitable and not unprofitable
EA
12:29
Eric Arsenault
🤔 that’s clever, need to think about that one
12:32
So we just inflate and provide liquidity to both sides
12:34
That is 🤩
mx
13:08
mr x
Cool idea. But what principled way to decide what markets to print liquidity?
13:09
Hashrate futures :P
EA
13:53
Eric Arsenault
In reply to this message
Futarchy?
13:55
I wonder if you even need people to provide liquidity if this works
13:55
Maybe profits from this strategy can be funnelled back to a developer fund
mx
14:15
mr x
In reply to this message
Yeah. We accept now onchain markets so why not onchain automated futarchies? :P
MF
14:20
Mr Flintstone
governance oracle could take a market ID as input. And use a futarchy market to decide true/false on inclusion. something like that. but first need to do futarchy to see if it is a good idea overall
14:25
you could probably just bet: will the LP be profitable
14:25
for the market
EA
14:37
Eric Arsenault
In reply to this message
That’s a good one
C
15:21
Callum Wright
needs an easy way to provide liquidity with my $VEO as well
15:21
maybe talking to qTrade when we're ready for a native integration?
s
15:39
sanket
In reply to this message
+1
I
15:45
Instinct
In reply to this message
U mean VEO derivs listed on qtrade?
C
15:50
Callum Wright
In reply to this message
that can be also, but what I mean is provide liquidity of markets that has VEO as one of the subcurrencies
15:51
I haven't checked on-chain number but pretty sure there's a significant amount of VEO sitting on qTrade's hot wallet
26 September 2020
Z
01:41
Zack
if you have the source currency of a contract with 2 subcurrencies, and there are 3 markets, one between each of the pairs of currencies, then, is it necessarily the case that you can buy liquidity in these 3 markets without leaving any leftover change?
01:41
what kind of math is that? haha
01:49
I think we can add the simplification that the liquidity provider will start off by doing a small trade to correct any arbitrage between the 3 markets, if it exists.
Z
02:24
Zack
so first off, we decide how much of the source currency to convert into subcurrencies. that is 1 degree of freedom.
Then we decide how to divide up our money between the markets. im pretty sure this process has 2 degrees of freedom, because we are dividing up the money 3 ways.

And the outcome has 3 constraints. we want the 3 currencies to be 0, and all the value to be in the liquidity shares.

So I feel like it should be possible.
02:31
I think it works out that you only need 2 markets, unless you are taking some existing arbitrage opportunity between them
Deleted invited Deleted Account
09:16
Someone tokenized Augur shares and it now can be put on uniswap for trading
李林 invited 李林
14:59
I’m not sure how / if this same logic could apply to Amoveo
T
16:12
Topab
Isn't it basically the subcurrencies concept in Amoveo?
Z
16:14
Zack
I thought augur shares were already inside uniswap. I didn't know we had this first.
Trần invited Trần
T
16:21
Trần
In reply to this message
Hello everyone! Glad to have been here. Who can I contact for AMA purposes? Thanks 😄
hehe invited hehe
Deleted invited Deleted Account
Deleted invited Deleted Account
Z
18:26
Zack
In reply to this message
I think this is a problem we already solved in the create tab.
Z
18:46
Zack
lets talk about Amoveo here
18:50
so im thinking more about the [pool] tab.
If the 3 markets start out with some arbitrage opportunity, that is like free money for the trader.

But how can we take this free money without leaving the user holding dust in unwanted currencies at the end?
18:50
We need to move the 3 markets to the same price in such a way that we are left holding a complete set of subcurrencies, so they can be converted back to the source currency.
I
18:54
Instinct
In reply to this message
Lol it happened the other day too, two people start a fake convo then shill something subtly towards the end
JS
18:56
Jon Snow
In reply to this message
And they both joined the channel at the same time lol
B
19:08
Ben
In reply to this message
bad idea, as long as Dev fund is going only to one person.
BAO F invited BAO F
暗格 invited 暗格
阳光多灿烂 invited 阳光多灿烂
Asep Fakyu invited Asep Fakyu
哥 趣 invited 哥 趣
27 September 2020
mx
03:38
mr x
Remove dev fund and move to onchain (hashrate/price) futarchy to print money to fund/reward public goods!
EA
03:47
Eric Arsenault
+1 to that
C
04:12
Cresus
In reply to this message
👍
Deleted invited Deleted Account
继山 王 invited 继山 王
Krol invited Krol
K
11:14
Krol
hi
云 张 invited 云 张
mx
15:26
mr x
Why not have special treasury account that is just like normal account except it is controlled by futarchy not by signatures?
15:27
Anyone could propose futarchy about specific treasury tx
J
20:09
JOHNwick3's dog
how about making a smart contract for an amm for NFTs?
20:09
its novel.trending and doesn't exist.
Z
20:09
Zack
amoveo is for derivatives.
机智的辉子丶 invited 机智的辉子丶
28 September 2020
Z
07:13
Zack
I think we solved all the math related to doing the convenient [pool] tab stuff, so now I am starting the implementation.
I exported a function from the swap tab file for building the txs that are used to do arbitrage free swaps. So we can use any kind of currency to pay when buying liquidity.
MF
07:21
Mr Flintstone
nice
mx
07:53
mr x
yeahh
EA
10:39
Eric Arsenault
🔥 amazing
C
15:51
Cresus
👍
Z
17:39
Zack
https://twitter.com/robinhanson/status/1310416108751671298?s=20 Here is a cool way to use futarchy.

If we want to get more followers, we need goals that cause feelings of passion in their hearts.
R
19:53
Rom
Hello Zack,
Could you give more info about the road map, when do you think you will finish application (functionality and design) ?
Z
20:46
Zack
today I am working on the pool tool.
I want us to be able to use any kind of currency to buy liquidity in any pool, and I want the exchange to be easy, and to not waste value in the form of arbitrage.
20:47
is anyone here exceptionally skilled at spotting mistakes in algebra?
20:47
haha
20:48
nvm, I think I got it.
I was using the quadratic formula wrong
20:50
so, I wanted to calculate the way to take the arbitrage profits if there are 3 markets for the contract, and they don't have the same price, and I think I got it to work
20:53
First, because of the definition of "constant product", we have
K1 = A00 * A10 = A01 * A11
K2 = B00 * B10 = B01 * B11
K3 = C00 * C10 = C01 * C11

Next, we want to conserve every kind of subcurrency, and only profit in the source currency.
A10 + C00 = A11 + C01
B10 + C10 = B11 + C11
A00 + B00 > A01 + B01

Combining the 2 sets of equations, so we are left with 3 equations of 3 unknowns
A10 + C00 = A11 + (K3/C11)
B10 + C10 = B11 + C11
A00 + B00 > (K1/A11) + (K2/B11)

combine them into one equation of one unknown, and simplify
C11 = K3/(A10 + C00 - A11)

B11 = B10 + C10 + K3/(A10 + C00 - A11)

A00 + B00 > (K1/A11) + (K2/(B10 + C10 + K3/(A10 + C00 - A11)))
-> choose A11 to minimize: (K1/A11) + (K2/(B10 + C10 + K3/(A10 + C00 - A11)))

= (K1/A11) + (K2*(A10 + C00 - A11)/((B10 + C10)*(A10 + C00 - A11) + K3))
let X = B10 + C10
let Z = X*(A10 + C00 - A11)
= (K1/A11) + (K2*Z/(X(Z + K3)))

Now we want to set A11 to minimize this function. so we take a derivative and set it equal to zero.

set A11 to minimize.
d(A11)/dx = 0 -> 0 = (-K1/(A11*A11)) + (((X*(Z+K3)*K2)-((K2*Z)*X))/((X(Z+K3))^2))*(-X)
0 = (-K1/(A11*A11)) + X*((K2*Z)*X - (X*K2*(Z+K3)))/((X(Z+K3))^2)
0 = (-K1/(A11*A11)) + ((K2*Z) - (K2*(Z+K3)))/(((Z+K3))^2)
0 = (-K1/(A11*A11)) + (K2*K3)/((Z+K3)^2)
K1/(A11*A11) = (K2*K3)/((Z+K3)^2)
K1(Z+K3)^2 = (K2*K3)*(A11*A11)
K1((X*(A10+C00-A11)+K3)^2 = (K2*K3)*(A11*A11)
let Y = A10 + C00
K1((X*(Y-A11)+K3)^2 = (K2*K3)*(A11*A11)
K1(X*X*(Y-A11)*(Y-A11) + K3*K3 + K3*X*(Y-A11)) = (K2*K3)*(A11*A11)
K1(X*X*(Y*Y
20:53
+ A11*A11 - 2*Y*A11) + K3*K3 + K3*X*(Y-A11)) = (K2*K3)*(A11*A11)
K1*X*X*(Y*Y + A11*A11 - 2*Y*A11) + K1*K3*K3 + K1*K3*X*(Y-A11) = (K2*K3)*(A11*A11)
K1*X*X*(Y*Y + A11*A11 - 2*Y*A11) + K1*K3*K3 + K1*K3*X*(Y-A11) = (K2*K3)*(A11*A11)
A11*A11(K1*X*X) - A11(2*Y*K1*X*X) + (Y*Y*X*X*K1) + (K1*K3*K3) + (K1*K3*X*(Y-A11)) - A11*A11*(K2*K3) = 0
A11*A11(K1*X*X) - A11(2*Y*K1*X*X) + (Y*Y*X*X*K1) + (K1*K3*K3) + (K1*K3*X*Y) -A11*(K1*K3*X)) - A11*A11*(K2*K3) = 0
A11*A11(K1*X*X - K2*K3) + A11(-K1*K3*X - 2*Y*K1*X*X) + ((Y*Y*X*X*K1 + K1*K3*K3 + K1*K3*X*Y)) = 0

Finally we have a second order equation to solve for A11, we can use the quadratic formula.
20:54
it seems to be giving us the right values
R
21:24
Rom
Thank you for these answers, sorry I do not have the sufficient level to be able to check your calculations 😅
Z
21:25
Zack
this calculation is not an answer to your question.
21:25
it is just what I am working on right now.
21:25
this channel is for active Amoveo development
Z
21:56
Zack
there are 3 steps in the pool process.
1) swapping from the currency you want to spend to the source currency of the contract you want liquidity in.
2) solving any arbitrage in the 3 markets that make up this contract.
3) depositing liquidity into the markets so you aren't left holding any extra subcurrency.

(1) was solved by reusing code from the swap tab.
(2) was solved with all that algebra just now.
I had thought we had solved (3) in the [create] tab, and was reusing that strategy, but now I am thinking the strategy we had been using in the [create] tab is broken.
22:08
I found the algebra error in (3).
Z
22:45
Zack
there is at least one more error though
29 September 2020
Z
01:56
Zack
It looks like pool mode might be working.
I still need to add better messages when you are using it, to confirm the price you are buying in at.
01:56
I pushed the new version to the server, in case you want to try it out
01:58
and I accidentally corrupted my database. now the server is re-syncing. haha
01:58
you can still try it out by connecting your light node to a different server.
Z
02:27
Zack
ok, the node is resynced.
mx
03:49
mr x
"make: *** No rule to make target 'config/sys.config.tmpl', needed by 'config/prod/sys.config'. Stop."
03:49
hmm?
03:49
trying to run node
Z
03:52
Zack
What command produced this error?
mx
03:57
mr x
make prod-build
Z
03:58
Zack
Maybe a gitignore issue
03:59
I'll check it out
mx
03:59
mr x
ok
03:59
digital ocean ubuntu20 droplet
Z
04:09
Zack
04:10
In reply to this message
do you have all the dependencies?
mx
04:11
mr x
sudo apt install erlang-asn1 erlang-public-key erlang-ssl erlang-inets erlang-jiffy erlang-dev erlang-base-hipe libncurses5-dev libssl-dev unixodbc-dev g++ git make python
Z
04:13
Zack
the scripts/config_setup.sh file is supposed to copy the default, if yours doesn't exist
04:13
In reply to this message
oh, I know the problen
04:13
should be make prod-restart
mx
04:15
mr x
No cookie is set or found. This limits the scripts functionality, installing, upgrading, rpc and getting a list of versions will not work.
make[1]: Leaving directory '/home/toptype/amoveo'
make[1]: Entering directory '/home/toptype/amoveo'
Node is not running!
make[1]: *** [Makefile:147: attach] Error 1
make[1]: Leaving directory '/home/toptype/amoveo'
make: *** [Makefile:304: prod-restart] Error 2
Z
04:36
Zack
that happens sometimes the first time you build it
04:36
if it tries turning itself on before it has finished building
04:36
but if you try turning it on again, it should work
mx
04:40
mr x
===> Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace or consult rebar3.crashdump
===> When submitting a bug report, please include the output of rebar3 report "your command"
make[1]: *** [Makefile:138: build] Error 1
make[1]: Leaving directory '/home/toptype/amoveo'
make: *** [Makefile:302: prod-restart] Error 2
Z
04:41
Zack
That's a new error.
Maybe I need to test the new Ubuntu out
mx
04:41
mr x
yeah
mx
09:54
mr x
got working with ubuntu18 but stuck at 132910?
09:58
ok sync:start(). fixed it
Ryder Rodriguez invited Ryder Rodriguez
El Turco invited El Turco
Z
14:29
Zack
In reply to this message
Once it is almost synced, you switch to "sync_mode:normal ()."
So it switches to optimizing for staying in sync, instead of optimizing for processing history.
mx
14:50
mr x
so i should have done that at 132910?
Z
15:31
Zack
yes
15:55
Deleted Account
why amoveobook useless??
C
15:57
Callum Wright
In reply to this message
so I can use TrumpWin to buy liquidity on longVEO/USD?
Z
15:58
Zack
In reply to this message
they are based on the old design of amoveo smart contracts.
15:58
In reply to this message
yes.
15:59
Deleted Account
copy
AG
17:36
A G
Zackoshi ;)
Z
21:12
Zack
I added text for when you lookup the price of buying liquidity shares.
But it isn't very useful text. I wonder what I should display then.
Z
22:00
Zack
This is a place to talk about Amoveo
22:01
Deleted Account
i was and was not trying to advertise something else but whatever
R
23:31
Rom
In reply to this message
Ok...
So could you tell me about the progress of the development, when the application will be finalized? have you planned to do any marketing? if i'm on the wrong channel why not create another channel to discuss marketing and pricing?
Z
23:35
Zack
@amoveo_memes
This is the marketing channel.

Progress is going well. We are setting up interfaces for the automatic market maker, from the light node.

Software is never be finalized. There is always maintenance, and room for improvement.

The plan for marketing is to wait until we get the first seed users, and base our marketing strategy on how they use amoveo.
R
23:42
Rom
I believe in the success of this project which is technically very impressive, but marketing remains an essential element of this success especially in this market
23:42
Thank you for these answers
30 September 2020
C
06:44
Cresus
In reply to this message
Totally agree with you marketing is like 50% even more kye of success.
06:56
Deleted Account
UI is king
06:56
marketing is prince
06:57
pray we get either or both
C
06:57
Cresus
🙏
mx
07:15
mr x
So 1 market is actually 3 markets or how this works now?
Z
07:17
Zack
one contract is able to convert a source currency into 2 new subcurrencies. So a contract is an association between 3 different currencies.

markets are an association between 2 different currencies.
So one contract, at most, can have 3 markets between the currencies.
mx
07:18
mr x
In create tab does it create 1 or 3 markets?
Z
07:18
Zack
3
mx
07:18
mr x
ok
07:23
can the concept of market be removed from ui?
07:25
dunno what im even saying
Z
07:25
Zack
yeah, that is kind of what we are going for
07:26
depending on the price, a liquidity provider might want to rebalance how much liqudity they have in each of the markets
07:26
but traders at least shouldn't need to think about markets at all
mx
07:26
mr x
yeah
07:30
different liquidities cannot be summed up in single number?
MF
07:33
Mr Flintstone
3 different LP shares

Subcurrency1/source
Sub2/source
Sub1/Sub2
Z
07:33
Zack
your liquidity share is worth a fraction of the money in
that market.
Different liquidity shares have different currencies in their markets, so they are not compatible.
MF
07:34
Mr Flintstone
of course if you wanted to, you could just provide liquidity in one of them
mx
07:34
mr x
right
Z
07:34
Zack
im trying to optimize the tool to buy a good mix of liquidity shares, to maximize profit from trading fees.
MF
07:43
Mr Flintstone
i think sub1/sub2 is twice as volatile as the others which are equally volatile
07:44
but it is also usually the cheapest market to go through i think, so it would get more volume
07:45
since you can create subcurrencies without needing the market
Z
07:45
Zack
if the price is like 0.9 for sub1, then the sub1:veo market is going to be getting a lot more trading activity in comparison to the markets involving the low-value sub2.
07:47
if the total market cap of sub2 is very low, then there just aren't many available to push through markets.

If sub2 is worth 0.1 veo, that means if you deposit $100 of veo into the contract, you are only going to get $10 of sub2.
So the markets with sub2 just wont get much activity.
Z
09:12
Zack
looks like the pool tab still isn't working right.
09:15
it isn't buying liquidity shares in the correct ratios.
Z
16:22
Zack
Trading is on discord or qtrade.io
Z
19:13
Zack
the pool currencies tool still isn't working.
but I was able to show that the error is occuring at the step where we move all the market prices to be the same.
So I am approaching a solution.
19:14
I made a tool to verify that the prices are the same, or to halt progress at the moment we realize something went wrong.
1 October 2020
Z
17:47
Zack
In reply to this message
The people using trusted feeds controlled by a multisig, they really want to take the word "oracle".
So what should we call truthcoin type oracles?

Is there any application of trusted feeds that makes sense on the blockchain?
I get the feeling that these insecure protocols will get attacked over and over until people realize they are not secure.

In that case, maybe we can keep using the word oracle, and just wait for them to die?

Or maybe "oracle" will soon mean something like "bad idea that we all moved on from", in which case we should drop the word "oracle" right now.
B
17:49
Ben
if it is fairly easy to attack them maybe exploit them?
17:49
with your knowledge of oracels it should be a piece of cake right?
Z
17:59
Zack
Don't get lost in the pyramid schemes.
There exists real useful tech that creates new value.
18:06
oh, I think we should call them "multisig oracles", or "decentralized oracles".
and the original idea of an oracle, from truthcoin, can be "secure oracles".
Deleted invited Deleted Account
C
19:43
Callum Wright
For reference, Loki just released wLoki as wrapped token on ETH. I saw Exantech tried to do something similar for VEO, can take some reference I guess.
Deleted invited Deleted Account
2 October 2020
Deleted invited Deleted Account
Z
18:37
Zack
in a smart contract, there are 2 subcurrencies, and the source currency.
There are 3 markets that make a loop, from source to sub1, from sub1 to sub2, and from sub2 to sub1.

If the 3 markets are each showing different prices for the contract, that means there is an arbitrage opportunity. There should be a way to simultaneously do multiple trades to earn profit without risk.
We want to set up our arbitrage to pay our in the source currency.

So there will be 1 price that sets all 3 markets. If we can solve for what this price would be, then we will know how much to trade in each market to earn the arbitrage.

But we also want it to be the case that we don't gain or lose any sub1 during this process, and we want it to be the case that we don't gain or lose any sub2 during this process.

We can vary the price to try and find a price where we don't gain or lose sub1.
or we can vary the price to find somewhere where we don't gain or lose sub2.
But it seems like it isn't necessarily possible that a price exists where both sub1 and sub2 are conserved.

Every way I try to model it, solving for the price or how much to trade ends up being over-constrained.

I think I am not including something important in my model.
18:40
maybe some of these constraints are like, enveloping others.
So we need to solve for the overlapping region, and then find the minimum value in that region
Z
19:33
Zack
Oh, I think it is just not necessarily possible to make all the prices the same, and only profit in Veo terms.
19:34
If the prices are nearly correct then you end up holding almost zero subcurrency.
And if you do end up holding subcurrency, it is free money you got from arbitrage profits.
Jamie Vardy invited Jamie Vardy
3 October 2020
Deleted invited Deleted Account
Z
03:51
Zack
ive got a new plan for how to make the markets have the same price.
We want that for each of the 3 currencies, we have more profit after this process than we did before.
So we can define 3 functions. given a price, they return "true", if their currency type profits after we set the market to this price.

Once we have these 3 functions, we can do a binary search to find a price that simultaneously meets all 3 conditions.
03:51
if no such price exists, then that means the markets are already at the correct price, so we can skip this step.
03:55
the first 2 currency types change monotonically with the price, so a binary search is natural.
veo is more tricky, it is like a hill.

But I think we can make it work if we start the binary search from the hilltop.
Because then, either side is monotonic.
04:05
so the binary search plan doesn't seem to work. these functions aren't monotonic.
My next plan is to find the regions for each of the 3, and then find the overlap of the regions, and go with the price in the middle of the overlap.
Z
04:50
Zack
so, the first 2 markets are pretty easy. they are a valley with a minimum at the bottom.
So there is a bounded region with the valley in the middle.
The 3rd region is like a hill. If the price is more in the middle, then more of our veo is locked up in markets.
So there is a region of dead space in the middle, and 2 acceptable regions at either end.
04:54
I think since the 3rd rule is like a hill, that means if rules 1 and 2 give us an acceptable region, at least one of the 2 ends of this acceptable region will be acceptable for rule #3 as well.
So we can just test those 2 points, and one will always work.
Z
06:07
Zack
E1) C00 + A10 >= sqrt((1-P)*K3/P) + sqrt(K1/P)
E2) B10 + C10 >= sqrt(K2/(1-P)) + sqrt(K3*P/1-P)
E3) A00 + B00 >= sqrt(P*K1) + sqrt((1-P)*K2)

I need to find a value P between 0 and 1 to make all 3 expressions true.
06:08
if there is an arbitrage opportunity, then there are many valid solutions.
06:08
everything in those expressions besides P is a constant.
Deleted invited Deleted Account
Z
06:52
Zack
the first expression is always decreasing. So it gives us a minimum value of P.
the second expression is always increasing, so it gives us a maximum value of P.

The third expression is like a hill, so it prefers one of the ends more than the middle.

I am thinking we should either go with one of the 2 limits, or maybe the average in the middle of them both.
I guess I can test those 3 values of P to see if they pass all 3 tests.
Z
18:45
Zack
I think I got the pool tab working.
It has some small rounding errors still, but if I buy 0.5% more subcurrencies than I think I need to complete the tx, that seems to make it work.
Then you can sell the spare currency after, if you want.

I have a plan to make it more precise, but for now I want to shift my focus to other tools. because I think it is minimally working.
4 October 2020
Z
09:28
Zack
I think the pool tab is working correctly now.
I solved the 0.5% error.

The problem was that I was using the positive instead of negative branch of the quadratic formula somewhere.
It can be tricky to know which one you need.

Hopefully the one we need doesn't change depending on the conditions of trade.
09:42
we need a way to convert liquidity shares back into the source currency
09:43
How about a button "sell all liquidity shares for subcurrencies".
And they can buy more liquidity shares afterwards if they want.
mx
10:12
mr x
How about only have rebalance portfolio button lol
10:12
just kidding?
mx
10:31
mr x
Still need to buy subcurrencies first before buying liquidity?
Z
10:31
Zack
In reply to this message
no.
10:31
you can choose whatever you want to spend
mx
10:31
mr x
getting server rejected the tx
Z
10:32
Zack
not all the markets are set up correctly
10:32
byBxO0goz8vzT9UvM1rxXWhCKM4CNPkd9PZH44F7WCg=
this one works correctly
10:32
if you make new ones, they will be set up correctly
10:32
only some old ones don't work
mx
10:32
mr x
that one is expired?
Z
10:34
Zack
it is a stablecoin for december 31 2020
mx
10:34
mr x
🧐 hmm
10:35
"BTC - 12:00 30-9-2020 - collateral limit price: 0.00583000"
10:36
that one shows byBxO0goz8vzT9UvM1rxXWhCKM4CNPkd9PZH44F7WCg=
Z
10:37
Zack
yeah, there is a race condition when loading that page.
try reloading. ill fix it soon.
mx
10:38
mr x
ok
Z
11:01
Zack
I added a button to sell all your liquidity shares in a market.
11:04
I think I fixed the race condition.
Z
21:09
Zack
I made some changes to the messages that appear when buying/selling liquidity shares. it should be easier now.
Deleted invited Deleted Account
5 October 2020
Deleted invited Deleted Account
Deleted invited Deleted Account
Z
17:55
Zack
the update to prevent us from being left holding dust after trading, I think it broke the AMM
18:00
I was able to find a temporary solution.
If we do contract_use_tx before market_swap_tx, then it works in many cases.
But I think this is preventing us from using flash loans to their full advantage.
Ideally a loop of swaps should be able to go into debt, and it gets covered at the end.
but after hard update 41, this feature is not available.
18:13
in order to not have dust, we need to know how much money we can push through each market at each step of the multi-tx.
but the amount of money available in one step could be partially determined by a later step.

I think this dust-free strategy is just not compatible with flash loans, and that we should undo update #41.
Deleted invited Deleted Account
Vegas sen invited Vegas sen
Z
21:56
Zack
Maybe this only matters for trades that consume arbitrage opportunities?
x
23:16
x
In reply to this message
why is that misleading?
23:18
In reply to this message
amoveo already have DEX?
Z
23:20
Zack
Usually we use the word "loan" for contracts that are dominated by counterparty risk. Like, you are hoping they won't run off with your money. Some people call it "uncollaterolized".

A derivative is a kind of bet where both parties lock in money, and the money gets distributed at the end based on some publicly available data. The main risk with a derivative is that you will lose your bet, or that the enforcement mechanism will fail.
23:20
In reply to this message
The user interface is still rough. But it is improving quickly.
23:39
Deleted Account
no its not, hire a real UI dev plz lol
23:40
this raw js is messy and isnt cross-browser compatible. its all throw away
23:43
typescript + react or angular or vue, but definitely cypress tests
23:44
otherwise you're gonna end up with an unmaintainable mess of spaghetti, that will likely feel dated
6 October 2020
Z
00:14
Zack
In reply to this message
I bet you can't name one feature in the light node that is non compatible with a browser.
00:17
In reply to this message
I don't see how adding these dependencies would be beneficial.

All i am making is a http Json interface to the full node, and to sign txs. Basically a handful of pure functions.

You can import this into whatever Web framework you want.
Locking us into a single Web framework, and forcing our preferred Web framework on anyone who wants to use amoveo in the browser, it just doesn't make sense.
00:18
In reply to this message
You can write spaghetti code in any turing complete language.
00:25
I only use the most basic js and html features.
It works on my phone.
I bet you could use a browser from 10 years ago
J
00:32
Josh
I think he wants more CSS
00:37
Deleted Account
In reply to this message
it doesnt load in IE11 at all. it wont work in all browsers, and you're going to have a hell of a time accepting public help without it breaking.
you will need compilation checks and typechecking if u want to stay sane, polyfills, proper date handling (so many bugs pop up with date parsing differences) http://159.89.87.58:8080/multi_tx.js
00:38
> I bet you could use a browser from 10 years ago

can't even use IE11 which is what 2013?
00:39
In reply to this message
you develop the core library as an npm package, and import it into an example UI. most people use react so what does it matter
00:42
In reply to this message
you're so cool
J
00:46
Josh
@neter0 it would take less time to make your own version than to explain what you want.
00:50
Deleted Account
probably, assuming zack is open to working with people making their own versions?
00:57
every time I look at the github its just so confusing what is going on. nothing has types. there's low level conversion stuff everywhere. and its all mixed in with thousands of lines of old school raw HTML manipulation. really hard to grok and mold into something useful in a different framework
https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/otc_derivatives2.js <-- you're a god if u can read this
https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/new_market.js#L63-L67 <-- btoa/hash/array conv, this stuff everywhere
Z
01:05
Zack
That's more a problem of standardizing the conversion format. I don't see how a framework would solve this any better than just programming it
01:06
Deleted Account
so lets put UI framework aside
01:06
maybe this stuff can be consolidated into an easier to understand SDK and keep the UI stuff separate
J
01:18
Josh
that makes sense, keep the core functions separate from the rendering stuff.
Deleted invited Deleted Account
C
04:10
Cresus
In reply to this message
Agree with him lack of good UI in 2020 is very bad 😢
04:26
Deleted Account
mining & holding since march 2018 so im no non-believer, but yes I would appreciate amoveo positions itself for the next run a little, its crazy it slept on the defi run. and getting the tech working is most important, but almost equally important is the experience so that must be taken seriously to go anywhere. amoveo.io still points to a 404 explorer. you got an alt explorer with seemingly dead oracle states, that point to a actual nice ui (myveowallet.com) that has an exchange button that goes to a broken tlg.name domain. and a very coupled and unwelcoming codebase. so unless zack is going to do literally everything, and he's no designer, there needs to be a fundamental change, or there is 0 point having a token or a token on an exchange. yes its experimental but lets not pretend we dont want anybody holding the token
04:28
signed, me and my bag of 100 veo
J
04:29
Josh
but who is stopping you?
R
04:32
Rom
In reply to this message
I agree 👍
04:32
No visibility no plan
04:33
Deleted Account
In reply to this message
why should I have to do this? i didnt mint the token
04:37
anyway I would expect if he was open to it, there have been a dozen who would be down to team up on it
04:39
some chains are going with token bounties for submissions, either ios apps, or language sdks, etc. which seems effective
J
05:32
Josh
nobody minted the token, it's proof of work
Deleted invited Deleted Account
06:01
Deleted Account
iirc fees/part of block reward go directly to zack
06:01
same diff
06:03
ultimately he controls the supply, through difficulty and other means, he even said no guarantees there wouldnt be changes
mx
08:24
mr x
Agree with neter0 pretty much100%... Made a little demo a while back about how it could look like but I'm little too dum for coding stuff... https://github.com/top-type/veojs
C
12:08
Callum Wright
I think let's solidify the base layer, then we can use futarchy to fund someone that will modularize the code into easy-to-integrate js library, then someone to work on some UI on top
D
12:14
Devender
In reply to this message
there should be a roadmap for this.
12:17
Deleted Account
love the way ark handles this (well defined roadmap, token incentives)
C
14:20
Callum Wright
You probably might find this interesting @zack_amoveo
Z
14:27
Zack
This is a place to talk about Amoveo
14:29
In reply to this message
how is that not what we are already doing?
14:38
In reply to this message
So you want me to combine all the amoveo modules into one super-module?
But what if someone wants to be able to sign txs, but they don't want to include the entire Chalang VM?

Instead of a single super-module, I think it is better to separate the code into small modules based on either code organization, or on resources that need to be owned by particular threads.
And each module should have a simple well-defined protocol interface to be accessible to other modules. This way it is easy to re-write any module, without breaking the entire system. As long as the protocol is obeyed, you can write the rest in any way.

For example, looking at the module that builds the swap tab in the AMM interface https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/swap_tab_builder.js
Almost everything about this module is hidden inside of it.
Here you can see the protocol being used to communicate with other modules: https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/swap_tab_builder.js#L1384
The first 2 are for setting the values in the fields where users can type.
The next 4 are stateless pure functions which we could want to reuse in other modules.

So if someone wanted to use an amoveo light node, without needing to include all this artificial intelligence software related to generating swaps, it is as easy as removing the swap_tab_builder file/dependency.
14:38
In reply to this message
how is the code not modularized already?
What isn't easy to integrate about the current js library?
C
14:45
Callum Wright
In reply to this message
not a major issue for me, but for example your uniswap.js there are many fuctions that returns a HTML snippet instead of just json, so it's not seamless to plug into an entirely different UI
14:46
obviously those are not really documented as well, at the moment
Z
14:46
Zack
In reply to this message
as for otc_derivatives2.js, it is not being used in the light node at all. It was a fast and dirty test to look at doing the interface differently. It is currently there only as a reference.
Holding it to the same standard as code used in production doesn't make sense.

as for new_market.js, you are literally referencing a pure function for generating mid's. and as you can see below, this pure function is being exported, so is available to all the other modules. That way no one using this light node software needs to type btoa/hash/array or anything like that.
If they want the mid of a market, they just use var MID = new_market.mid(cid1, cid2, type1, type2);
14:50
in order to build valid txs, we need to also generate an identical MID in the light node.

No matter how many web frameworks or development frameworks we use, no matter how many people we hire to build pretty interfaces, the mid function in javascript will still need to exist in order for us to make valid txs.

Building it as a pure function that can be reused elsewhere in the system is the simplest, most standard way to do this.
14:52
In reply to this message
uniswap.js was a fast and dirty test. it is not being used in production, and only exists as a reference.
14:53
In reply to this message
we have a lot of documentation of amoveo https://github.com/zack-bitcoin/amoveo-docs
C
14:55
Callum Wright
In reply to this message
any particular documentation for the js (lightnode)? For example if I wanna build a custom UI on top of it
14:55
obviously i can always dig the code myself, just wondering
Z
14:59
Zack
Here is an example of an html snippet in production code in the light node https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/swap_tab_builder.js#L92

As you can see, it is part of a display_* function.
This is a function that would not be used if someone is making a new interface. It is the current interface being used. This is exactly what is replaced, if someone wants to build a new interface.
It is not exported, it is not available to the other modules https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/swap_tab_builder.js#L1383
15:01
In reply to this message
documentation of what?
Is there something in particular you want to know about this js software?
15:31
In reply to this message
why are fast and dirty tests mixed in? why would you expect people to look at this and understand how to use it? if I was a dev investigating amoveo, I'd report back it's a mess and move on to the next thing
15:32
which is a shame, because there's some really good stuff here
15:33
I dont know what this futarchy crap is but I dont get see why philosophy should be so mixed into how you guys manage blockchain dev
15:33
ill take an amoveo minus futarchy fork if anybody's offering
Z
15:33
Zack
In reply to this message
https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/wallet.html#L10
You can see here which modules are being imported into each page of html.
15:40
Deleted Account
modules is a pretty liberal use of the word. half could be considered that, other half have UI mixed in, none have clearly defined dependencies like web3
and seriously what does this do? https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/swap_tab_builder.js#L143
15:40
its like i need to reverse engineer open source
Z
15:41
Zack
https://github.com/zack-bitcoin/amoveo/blob/master/apps/amoveo_http/src/ext_file_handler.erl#L22
Here is the white-list of files that the full node is willing to serve.
We use a white list to be absolutely sure that an attacker can't do an injection to read the wrong file.

Storing all the js pages in the same file makes the white list convenient. We can change this to organize the files for a final product.

Since each html page is already giving a list of the js modules it uses, that means the js modules are already organized. We don't need to also organize the files into a file-tree in the github repository.

Security and maintainability are priorities here.
15:42
Deleted Account
https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/swap_tab_builder.js#L86
TickerBool is capalized why? and what does it mean? wth does mid mean? what are those params? why the hell does it do s = s? holy shit so much HTML string concat
15:43
too much tilt i need a break from this
Z
15:44
Zack
In reply to this message
tx_maker generates the txs that go inside the multi-tx, and the list of markets involved in this swap, and passes it to the callback function make_tx2, which is where we wrap the list of txs into the multi-tx, and generate the checksum to tell the user how much money they will gain/lose from this tx.
15:46
In reply to this message
mid is the id of a market.
oracles have ids.
contracts have ids.
trades have ids.
15:46
all these things are stored in merkle trees, and we have ids to look them up
15:47
In reply to this message
If you have a list in javascript, L, and you want to update that list to have more stuff in it, you can re-assign the value of the variable L to be a bigger list with the new elements, like this:
L = L.concat([2,3,4]);
This appends the values 2, 3, and 4 to the list L.
That is why it says s=s
I am appending stuff to s.
15:51
In reply to this message
I like to use concats this way because it is very fast to edit the code. I can copy paste entire lines to change the order that information in this string gets displayed. I can delete entire lines without worrying that I made the js expression invalid.
Do you have some other preferred syntax for generating strings with embedded numbers in js?
15:58
In reply to this message
> what are those params?

This is a button that is used to auto-fill a couple fields on the same page. That way you don't need to copy paste the contract id into your form.

you can see the text of the button is "buy contract" and "buy inverse contract"
Those are the buttons from this page: http://159.89.87.58:8080/wallet.html?hide_non_standard=true

in javascript the "onclick" feature of a button is used to execute javascript code when that button gets clicked.
the code that gets executed is
tabs.swap.cid(CID); tabs.swap.type(1);

Here is the tabs module: https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/tabs.js
here it defines tabs.swap https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/tabs.js#L305
it is the variable swap inside the tabs module.
here is the variable swap. https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/tabs.js#L299
It is the tab being built by swap_tab_builder function, which is defined here: https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/swap_tab_builder.js

The swap tab exports stuff here: https://github.com/zack-bitcoin/light-node-amoveo/blob/master/src/js/swap_tab_builder.js#L1384
including cid and type, which are the 2 functions being used when we click the "buy contract" button.

Those 2 functions are used to control the text that is written on the contract_id field and contract_type field.
16:02
In reply to this message
here is documentation related to merkle trees that make up the blockchain consensus state https://github.com/zack-bitcoin/amoveo-docs/blob/master/design/trees.md
16:06
In reply to this message
Why shouldn't a module include a bare-bones interface inside of it?
It is normal to include tests and an example of how to use it inside of each module.
It is easy enough to turn the default interface off if you want to reuse the module inside of a different interface.
16:12
I think the basic tests and default interfaces should be in pure javascript, and not rely on any frameworks.
That way a developer can use these modules inside of any javascript project, without needing to know about the flavor of web-frameworks that were popular in late 2020.
We want the tests and default interfaces to work for anyone, since they make development easier.
We don't want the tests to depend on unnecessary libraries.
Z
16:59
Zack
This is the announcement for hard update 43, which will activate at block 136300.
This update is to undo the changes from update 41.
Update 41 was to prevent us from having dust when we do flash loans for combining multiple market swaps into a single tx.
but it turns out that knowing how much dust you will have makes the time needed for processing multi-txs from linear in the number of embedded txs to exponential, which is a denial of service vulnerability to full nodes.

This update will activate in about 2 weeks, around October 20. So everyone needs to update before then.
here is the doc related to updating https://github.com/zack-bitcoin/amoveo-docs/blob/master//getting-started/updating.md
It is the same process as always.
Deleted invited Deleted Account
R
21:17
Rom
Still 2 weeks for an update ... but concretely when can we expect to start using the platform ? Before the end of the year ? because I holding my token since a long time...
Z
21:25
Zack
In reply to this message
We always schedule hard updates 2 weeks away. So everyone using the software has time to update.
You can use amoveo now as well as you will be able to after, this update won't change much.
21:25
I hope that we have a fun to use application soon.
7 October 2020
𖣘꯭ᴠ꯭۫͊ᴇ꯭͊۫ᴋ꯭۫͊ᴛ꯭۫͊ᴏ꯭۫͊ʀ꯭۫͊𖣘 invited 𖣘꯭ᴠ꯭۫͊ᴇ꯭͊۫ᴋ꯭۫͊ᴛ꯭۫͊ᴏ꯭۫͊ʀ꯭۫͊𖣘
Deleted invited Deleted Account
Deleted invited Deleted Account
EA
07:04
Eric Arsenault
what's next on the roadmap zack?
flocka invited flocka
Z
17:15
Zack
In reply to this message
I want to make the swap tool more comfortable to use.
Then I want to integrate the AMM swap tool with the limit order/swap offer tool.
So if you make a trade, it will atomically match limit orders as necessary to get you the best price.

And if you don't like the price available to trade now, it gives an option to make your trade as a swap offer that anyone can accept.
17:17
This way we can give all the best trading tools to get the best price, and without overwhelming the users with too many buttons to learn.
17:18
The todo list includes many other goals we have for Amoveo https://github.com/zack-bitcoin/amoveo-docs/blob/master/todo.md
T
17:28
Topab
Thanks for the update Zack
C
17:31
Cresus
👍
Z
17:45
Zack
A good ux means showing the minimal amount of information, and requiring the minimal amount of input from the user.
17:46
I think there is a long way to go until css is the bottleneck of the ux.
B
18:34
Ben
a good ux makes the intended use case clear to average joe. which is currently not the case. But maybe that will change as soon as you come close to the MVP.
C
23:37
Cresus
In reply to this message
👆
8 October 2020
Deleted invited Deleted Account
Z
07:08
Zack
I got Amoveo working with Ubuntu 20.
looks like the new version of erlang does not allow duplicate parameters in the config file.
mx
09:42
mr x
ok 👍
Helio Silva | I don't send private messages ! invited Helio Silva | I don't send private messages !
Z
21:07
Zack
I improved the message when you do swaps.
S
21:07
Sy
In reply to this message
which isnt the worst of features...
Z
21:08
Zack
right. I shouldn't have had duplicates in the first place.
9 October 2020
Deleted invited Deleted Account
10 October 2020
K
00:56
K
Someone else is implementing state channels on ETH:
00:57
Hopefully people notice amoveo before every project starts adopting them
EA
00:57
Eric Arsenault
In reply to this message
Maybe after making the swap tool more comfortable, we should focus on getting user feedback from the community
00:58
Would be good to have us actually using the product you are using soon I think
Moe ⛏ invited Waleed
John Tromp invited John Tromp
ŽM
01:09
Živojin Mirić
In reply to this message
That is unlikely
A
01:09
AI 🏅
In reply to this message
Why ?)
ŽM
01:10
Živojin Mirić
In reply to this message
Because of the way this project is developing
01:11
Getting people to notice it is not low priority it's not even on the list
A
01:14
AI 🏅
In reply to this message
Understand 👍
x
20:45
x
In reply to this message
futarchy is useful, but it seems not the best idea to use it for every variable, for example, block size , block reward , supply etc of the amoveo blockchain.
20:47
some variable should be set in stone forever and become immutable
20:47
for a blockchain
Z
20:48
Zack
In reply to this message
If that was true, you would be able to use futarchy evidence to support your case.
x
20:52
x
because futarchy can not be correct 100% of the time, so with one failure, however unlikely, a blockchain can be destroyed, there's a possibility
20:53
that why i thought for blockchain not every variable should be decided by futarchy
Z
20:54
Zack
no method of making decisions is correct 100% of the time.
That is why it is important to reserve the ability to change our mind, if it turns out we made a bad decision.
20:57
In biology, life is a kind of dynamic equilibrium.
Our bodies are constantly making micro-corrections throughout the day to maintain optimum temperature and blood pressure and blood sugar and blood acidity and many other factors.
It is impossible for the body to predict ahead of time what it needs to do to maintain blood sugar for the entire day.
The body needs to be able to continuously adapt to maintain the dynamic equilibrium.

Why wouldn't maintaining the optimal block reward, block size, etc be a dynamic equilibrium?
20:57
The only argument I know for the set-in-stone strategy is that it makes it easier for people to plan ahead.
If you know what the blockchain will act like in a week, then you can plan your financial strategy ahead for a week.
20:58
but even then, since we are living in a dynamic world, it seems like a blockchain that can quickly adapt could allow for more stable conditions, in comparison to an inflexible version.
Macces invited Macces
x
21:22
x
yes ,to be adaptable to the dynamic world, some varible should be decided by futarchy. I mean for blockchain , are there exceptions? for example if there's a hack like the DAO hack of ethereum, should futarchy be used to reverse the transaction.
21:23
same with supply and block size,
Z
21:25
Zack
We use futarchy to make decisions about hard updates.
Hard updates could change anything.

Using futarchy to make decisions about governance variables is a subset of using them to make decisions about hard updates.
x
21:25
x
because immutiablity is what make blockchain different, it's not clear yet which part should be abosolutly immutable forever
Z
21:27
Zack
In reply to this message
"immutability is what makes blockchain different"
I am not convinced that this is a helpful narrative.
mx
21:28
mr x
Why not automate futarchy onchain?
Z
21:29
Zack
In reply to this message
we have AMM and oracles that accept queries in english. how much more automated can futarchy be?
x
21:35
x
In reply to this message
i don't know enought about how important that is, but that's one of the biggest reason some people call etherem a shitcoin
mx
21:37
mr x
So the flow is do some betting to get estimate for desired outcome conditional on doing something vs not doing and then initiating governance variable change.
Z
21:39
Zack
In reply to this message
Futarchy is an alternative to science.
In the science world, if you wanted to change something, you would need to build an experiment that we could repeat. and the experiment gives evidence that the change you want to make is a good thing.
We can all run the experiment, so we can all agree with you that the change is good, and so the change happens by consensus of everyone involved.
21:40
Today we have futarchy instead of science.
If you build the right kind of markets, the prices of those markets should act as evidence for what decisions should be made.
mx
21:40
mr x
Yea yea i know
Z
21:40
Zack
If your evidence is solid, then we can all agree on what change to make
21:41
the governance mechanism is the same thing as the oracle mechanism. It is a way to report to the blockchain on the outcome of some publicly available data.
in this case, the outcome of the futarchy.
mx
21:41
mr x
Ok that clears it up little.
21:42
How about give governance ability to print money :P also
21:42
not just change variables
Z
21:43
Zack
if futarchy says that we need to print money for something, we still need someone to program the update for it, and for people to upgrade.
But the process of upgrading is clear, because the futarchy mechanism can be used to know which update is the valid continuation of Amoveo.
21:44
What is nice about the governance variables is that you don't need to program anything, and no one needs to update
21:44
it is like, a slower cheaper alternative to a hard update.
mx
21:44
mr x
yes
Z
21:44
Zack
or faster in some cases I guess
mx
21:44
mr x
how about do same for money printing?
21:44
print x amount to y address
Z
21:45
Zack
I don't see how to connect that to the governance variable system, but we could certainly do a hard update to change balances
mx
21:45
mr x
yeah could be interesting to give money printing powers in more automated way
21:46
could do stuff like after the fact rewarding...
21:47
printing money with futarchy > dominance assurance contract
Z
21:47
Zack
The point of Amoveo is to be a platform for derivatives.
We are not trying to trick people into buying veo thinking that we will after-the-fact reward them eventually.
Twight 1m+ invited Twight 1m+
mx
21:47
mr x
i meant someone does something good for the network unannounced
Z
21:48
Zack
so if I want my neighborhood to pay to fix the road, instead of using a dominant assurance contract on Amoveo to raise the money, you are suggesting that we should just print VEO and give it to my neighborhood?
mx
21:48
mr x
someone just builds the road one day
21:48
then we reward him
Z
21:49
Zack
Or are you thinking that the normal fundraising mechanism in Amoveo could never work, and we need a dedicated version that can only be used to fundraise for Amoveo related goals?
21:49
dog-fooding means using the same tools as your users.
mx
21:49
mr x
yes
21:49
reward model > wage model
Z
21:50
Zack
so, why should the Amoveo community print veo and give it to build a road in my neighborhood?
21:50
the people who benefit from the road should pay for it. Not the holders of VEO.
mx
21:50
mr x
haha
21:50
amoveo shouldnt
21:50
maybe if the community had its own token...
21:51
but amoveo should print money for pro amoveo projects
Z
21:51
Zack
Amoveo is a platform for derivatives.
There are no community tokens here.
mx
21:51
mr x
yea yea
x
21:54
x
is easy & necesseary to use DAC to attract more developers to build more app for amoveo
mx
21:55
mr x
DAC requires participation to make it happen. Futarchy with money printing requires participation to not make it happen.
x
21:55
x
ethereum have many apps
21:56
although not very useful , there are many,
21:57
that's the same for ico, all need people to participate
Z
21:57
Zack
If we need to pay people to use our product, then it isn't good enough yet.
People should want to use Amoveo because it is the best tool for their job, not because we are offering a reward.
mx
21:58
mr x
We are paying people who do public good work with respect to amoveo.
x
22:02
x
it seems stocks, ipos and icos are more attractive because of more profit potential
22:02
so easier to raise funds
mx
23:02
mr x
🤔 How do I precisely create futarchy setup with AMMs?
23:06
Bad question as the road not taken?
Z
23:15
Zack
You can use binary swap offers to do futarchy the same way as we used to with state channels. As is documented here https://github.com/zack-bitcoin/amoveo-docs/blob/master/basics/using_governance.md

But I think the amm can make things cheaper and easier. I'll make some documentation about that soon.
mx
23:17
mr x
ok
11 October 2020
A A invited A A
Z
20:12
Zack
https://github.com/zack-bitcoin/amoveo-docs/blob/master//basics/using_governance.md
I rewrote the documentation about how to construct futarchy markets.
Now it takes advantage of the AMM to allow for a cheaper design.
Deleted invited Deleted Account
Deleted invited Deleted Account
12 October 2020
Z
07:07
Zack
I updated the swap tab to show prices for each market.
07:08
but it is kind of slow now. I think we need some kind of plan to memoize market data, so we don't have to keep querying the full node for it.
07:09
if you guys like how it looks, then ill use the same format for the pool tab.
Z
07:25
Zack
the negative prices are kind of weird, but it is working correctly.
the contract has 2 types of subcurrencies, type1 and type2.
The expectation is that the price of 1 type1 + 1 type2 = 1 source.
if someone keeps buying type 2 in a market, they can push the price of type2 above the price of 1 source. in which case, if we apply this formula, it looks like the price of type1 should be negative.
So that is what gets displayed.

If the tool is now programmed correctly, then using it to make trades should never result in negative prices like this, because it is an arbitrage free tool, and the price can only go negative if there is an arbitrage opportunity.
Z
07:47
Zack
https://www.coindesk.com/fca-bans-sale-of-cryptoderivatives-to-retail-consumers-in-uk

my understanding is that Amoveo's legality in England is still untested.
That this new law makes it illegal to use the old centralized financial system to build derivatives who's value is connected to cryptocurrencies like bitcoin.
Z
08:07
Zack
A list of available contracts http://159.89.87.58:8080/contracts_list.html

The market maker tools:
http://159.89.87.58:8080/wallet.html

here is the main page to learn about amoveo https://github.com/zack-bitcoin/amoveo
Zack pinned this message
EA
10:34
Eric Arsenault
Maybe we can help
10:34
I’m sure loads of people would want to go long
MF
10:35
Mr Flintstone
when is it supposed to go live
10:36
oh like 4 days\
A
18:03
Anger Trading
Hi guys
18:03
I rmb seeing a few weeks ago that a bridge to ETH is being worked ok or is it wVEO
18:03
am i correct?
Z
18:09
Zack
I think @denis_voskvitsov was thinking of doing that.
DV
18:10
Denis Voskvitsov
we're still researching. sorry there're no more news at the moment.
Deleted invited Deleted Account
A
18:38
Anger Trading
In reply to this message
yea @denis_voskvitsov any progress so far?
DV
18:40
Denis Voskvitsov
there is a proof-of-concept we're researching but it's not trustless at the moment. trustless solution is in progress.
Z
18:41
Zack
Trustless is possible?
Like an augur enforced synthetic asset?
DV
18:43
Denis Voskvitsov
I guess yes. atomic swap between VEO/wVEO and vice versa at 1:1 rate would be enough.
Z
18:45
Zack
Oh, you are trying to get rid of free option risk.
Or in ethereum they call it MEV miner extractable value.
A
19:06
Anger Trading
Cool thanks for the update
Z
19:07
Zack
In reply to this message
I think people would be pretty happy about a wVEO, even if no swap tool exists yet.
A
20:01
Anger Trading
In reply to this message
100% agreed on that & that would bring about more attention to VEO since all eyes are on uniswap
C
20:19
Cresus
What is the advantage of veo if you compare with uniswap ? More cheap ?
Z
20:21
Zack
In reply to this message
amoveo does more stuff than uniswap.
we have a trustless oracle.
Amoveo is a platform for financial derivatives.
C
20:22
Cresus
In reply to this message
Yeah sure but i mean about swap is there an advantage or it rhe same thing ?
Z
20:27
Zack
it is pretty similar.
we have flash minting, and you can atomically connect depositing veo into a contract with doing trades of the subcurrency in that contract.
This should double the effectiveness of liquidity deposited into our markets, and by connecting these different features we can protect traders from arbitrage losses
20:27
Also, having a single interface for both depositing and trading means we can have a simpler user experience.
ŽM
20:28
Živojin Mirić
you can but you don't
Z
20:29
Zack
We are getting there
C
20:35
Cresus
In reply to this message
Ok thanks
JS
20:41
Jon Snow
In reply to this message
I don’t know about others, but I will be pretty happy for sure :)
13 October 2020
Z
Z
09:19
Zack
That is a reality show based on smart contracts.

Amoveo is a platform for derivatives.
This is a channel to talk about Amoveo.
N
09:24
Nyzblossom
Ho well , whatever , the thing I mentioned is also about derivatives ..
09:27
How to read the existing contracts
On market makers tools?
Z
09:32
Zack
I don't understand the question
N
09:46
Nyzblossom
I don't understand the contracts their
09:47
BTC - 12:00 20-9-2020 - collateral: 92.97% - price: 0.00492734 "~
09:48
In reply to this message
What is it ?
Z
09:50
Zack
BTC
this means it is a BTC stablecoin.

12:00 20-9-2020, that is the date when we measure the bicoin price to know the result of the contract

collateral. this is how much veo is locked in the contract to give value to the stablecoins.
if the collateral is below 100%, then the stablecoin is broken. it is worth less than it should be worth.

price. this is the price of veo, in bitcoin, according to this market.
09:50
The interface is still pretty rough, things are changing fast.
the inverse contract button isn't showing correct prices.
MF
09:50
Mr Flintstone
In reply to this message
known as the maturity date
09:51
20-9-2020
N
09:55
Nyzblossom
What is btc stablecoin
MF
09:55
Mr Flintstone
its like btc
Z
09:55
Zack
it is a synthetic asset set up to maintain constant value with bitcoin
N
09:56
Nyzblossom
You mean it's the btc value in usd coletralized with veo
Z
09:57
Zack
not related to usd at all
N
09:57
Nyzblossom
I really don't understand
Z
09:57
Zack
it is a bitcoin stablecoin collateralized in veo
09:57
we can also make USD stablecoins
N
09:58
Nyzblossom
I don't understand the bets in this contracts
MF
09:58
Mr Flintstone
if 50 VEO = 1 bitcoin, holding 1 of these amoveo btc is = holding 50 VEO. if veo price increases by 100%, now your amoveo btc is only worth 25 VEO
09:58
if veo price decreases by 50%, you amoveo btc is worth 100 VEO
N
09:58
Nyzblossom
What is current btc stablecoin value ?
MF
09:58
Mr Flintstone
veo/btc is trading at like 0.0025 on qtrade or something
09:58
you would use that price more or less
N
09:59
Nyzblossom
It's literally not traded
09:59
I can move the price as much as I like with very little money
10:00
Are guys serious
Z
10:00
Zack
if we get this stablecoin market working better, then this AMM can be an alternative to qtrade.io, so this should help to reduce volatility
N
10:01
Nyzblossom
In reply to this message
?
10:01
I still don't understand what is stablecoin btc
Z
10:01
Zack
it is a financial derivative set up to maintain constant value with respect to bitcoin.
10:02
by carefully betting on the price of bitcoin, you can set it up so your bet stays the same value as bitcoin.
N
10:02
Nyzblossom
Can you give me some numbers
MF
10:02
Mr Flintstone
imagine if you held a erc20 on ethereum that let you always claim $100 of eth from a smart contract
10:02
same idea
10:02
does that make sense
10:02
so that would be a usd stablecoin
10:03
collateralized with eth
N
10:04
Nyzblossom
So all bets are in veo or against veo?
10:05
Let's say I want to bet that btc going up against usd what I do with veo ?
10:05
In reply to this message
Why not just keep the 100$ then
Z
10:06
Zack
In reply to this message
the price of BTC in USD is a publicly available number. you can bet on that number.
MF
10:06
Mr Flintstone
In reply to this message
because it's custodial

also if you want exposure to 100 filecoin worth of ether, you cant just hold the filecoin since it doesnt exist
N
10:06
Nyzblossom
In reply to this message
With amoveo ?
MF
10:07
Mr Flintstone
In reply to this message
you would just trade your veo for some btc stablecoin
Z
10:07
Zack
Amoveo has oracles that allow you to type in a question in english. you can ask about any information that will be publicly available. such as the outcome of an election, or the price of anything.
N
10:08
Nyzblossom
In reply to this message
More details , what I n ed to do technically
MF
10:09
Mr Flintstone
dont do this now but when the wallet.html is ready, you hit the buy contract button, then put the amount of veo you want to trade for the btc stablecoin at the bottom, then hit lookup price, then hit confirm
N
10:10
Nyzblossom
Let's say I set date of expiry for one month
10:11
What happens next once one month passed ?
MF
10:11
Mr Flintstone
you dont have to wait that long
10:12
you can sell it back whenever
N
10:16
Nyzblossom
Ok , price of btc at the end of month got up by 20% what do I get and who gives me that ?
MF
10:17
Mr Flintstone
you can either sell it for usd stablecoin in which case you get 20% more USD than you started with
10:17
or you can sell it for veo in which case you get 20% more USD than you started with except in VEO
10:17
you are selling it to some liquidity provider just like on uniswap on ethereum
Z
10:18
Zack
or once the oracle expires, you can use the smart contract to exchange your bet for how much money you won.
N
10:24
Nyzblossom
I guess currently there is no stablecoin btc or usd or even veo market that is liquid in a way that this contracts can be settled
10:24
In reply to this message
Not much use it n case veo fell by same percent or less against the usd
MF
10:25
Mr Flintstone
no
10:25
you get 20% more USD, measured in VEO. so if VEO fell you would get more veo
10:25
if veo went up, you would get less veo
N
10:26
Nyzblossom
Only if I won't veo but if I want the usd I will get all 20%
MF
10:26
Mr Flintstone
they are equivalent in value
10:26
its like if veo is $100, getting $1000 or getting 10 veo
N
10:27
Nyzblossom
Any eta about when all this magic going to happen ?
10:29
Or how you said zack , it's reality show based on smart contracts ... Or in your case AMOVEO
Deleted invited Deleted Account
14 October 2020
EA
03:51
Eric Arsenault
@zack_amoveo where do you see perpetuals (I think that's what they are called?) fitting into the roadmap? (ie synthetics that don't expire)
03:52
I think @kukevich's confusion above is normal, and will be a huge barrier for people coming in
03:52
removing the expiry from the equation would help a lot with that
Z
03:53
Zack
In reply to this message
We have a plan about that hard update.
But I feel like right now the higher priority is to get some kind of interface working so people can trade at all.
EA
03:53
Eric Arsenault
yeah
03:54
I guess both are pretty important
03:55
An interface is nice, but I don't think we will see much volume until perpetuals are available
03:56
perpetuals are nice, but there won't be much volume either until there is a place to easily trade
MF
04:10
Mr Flintstone
idk, what if there is more liquidity on chain than in the qtrade order books
04:10
wouldnt you guys rather dump into less slippage
04:11
even if it is technically a future
04:14
not only will there be more liquidity, youll be able to sell for a way higher price
04:16
In reply to this message
actually not sure about this
EA
06:31
Eric Arsenault
yeah, if I wanted to exit, sure
06:31
as long as usability isn't too high a barrier
20:12
Deleted Account
Deleted Account 14.10.2020 20:07:20
wie wäre es, wenn man mal an alle User ne Warnung per SMS oder zumindest per mail schickt
Z
20:13
Zack
you want an SMS warning about what?
Why talk in german?
R
22:58
Rom
In reply to this message
I agree Zack, we must prioritize the development of a simple interface, fun and usable by everyone (even beginners). This is the only way to make the project "accessible" and "visible".
Z
23:28
Zack
I found another situation in the swap tool where the path is doubling back on itself.
TG
23:47
Toby Ganger
In reply to this message
Agreed.
15 October 2020
JS
01:14
Jon Snow
In reply to this message
Yeah, agree
Deleted invited Deleted Account
C
11:09
Callum Wright
In reply to this message
i don't think interface will take a lot of times
11:09
so perhaps get this done first
11:10
others can even based on this and iterate further
T
11:16
Topab
Very interning thread about AMM, impermanent loss, farming and oracles https://twitter.com/SBF_Alameda/status/1316509291017203712?s=19 does Amoveo makes it better?
Stefan Patatu invited Stefan Patatu
Z
21:40
Zack
http://159.89.87.58:8080/wallet.html?hide_non_standard=true
I made more changes to how prices are displayed when trading.
I think it might finally be correct now.
16 October 2020
x
13:19
x
where can someone create a DAC? How do amoveo measure success ?
Z
23:10
Zack
I updated how balances are stored and updated in the light node.
Now we don't waste so much time re-requesting the same data, and we don't overwhelm the server with spam and cause it to censor us.
17 October 2020
Mona Mahmoud invited Mona Mahmoud
Gehan Basel invited Gehan Basel
Deleted invited Deleted Account
Lords Woo invited Lords Woo
JS
22:46
Jon Snow
Some amazing progress has been made this year
18 October 2020
Deleted invited Deleted Account
Z
07:18
Zack
I think I got the swap tool working for buying inverse shares.
Also, now if you own stablecoins, the part that says your balance, it displays the stablecoin in the units of that stablecoin, instead of the units of the contract.
Charles Maurice invited Charles Maurice
Z
23:32
Zack
I think i figured out why it isnt letting us swap backward to veo.
Along the way i make assumptions about which side of the markets hav3 the currency we are spending, and which side we receive from.
But this assumptions dont hold true when we are selling veo.
19 October 2020
08:41
the wallet need to add tooltips with "(?)" that explain key terms
Z
08:42
Zack
that page is for power users
08:43
we are trying to make this one easier to use
x
08:47
x
i see. even to power users , the tooltip can very helpful if he's new to amove
08:47
i saw that kind of design in bitmex and okex
08:48
there's tooltip after each key term
08:51
they have most advanced features for crypto derivatives trading, i think amoveo can learn a lot from their UX/design. It's not fancy, just functional design that traders need.
08:53
in okex, when the mouse is on a key term , explanation of the term will pop up automatically
Z
08:55
Zack
Mouseovers sounds good
09:05
I think i got selling subcurrency for veo working.
One of the markets was being used in reverse.
But i could display better text when doing this.
JS
11:00
Jon Snow
One philosophical question
11:00
If Amoveo wants to be a widely used financial derivatives, doesn’t VEO need to be the store of value first?
11:01
Like strong store of value similar to eth and BTC
11:01
For its VEO dominated settlement to be more acceptable
s
13:48
sanket
Is there a market for if OkEx has exit scam?
jeezy | tnn.fyi invited jeezy | tnn.fyi
x
16:17
x
i doubt it will ,it's one of the oldest exchanges
16:21
founded in 4-Sep-2013
16:22
was the biggest in china until china exchange ban, and binance
16:22
there's no reason to exit scam becasue they are so rich already
20 October 2020
MC
00:05
Mr Crypto
honestly down to do some design work for free
00:05
i dont code but i can make mockups on webflow
00:06
if anyone is working on an interface for veo lmk
MF
00:12
Mr Flintstone
this is the interface zack is working on, its almost fully functional

http://159.89.87.58:8080/wallet.html?hide_non_standard=true
00:12
probably can add css / make it look nice soon
MC
00:13
Mr Crypto
i can mockup something on figma
00:13
ill send something by eow
00:14
In reply to this message
👍
Z
00:29
Zack
In reply to this message
Thank you. :)
mx
00:31
mr x
Optimizing for pow makes one immune to goodhart's law
mx
00:52
mr x
In reply to this message
great
21 October 2020
00:17
talking about ui...
00:19
attempted this about a year ago
00:20
but halfassed so whatever
00:20
twitter such a natural place to challenge peoples bullshit
00:21
and with veos only onchain in case it gets created would be nice
mahmoud elwrdany invited mahmoud elwrdany
me
03:06
mahmoud elwrdany
Good night
Is the pool compatible with the rent from nicehash?
Z
04:43
Zack
In reply to this message
I think it is not compatible.
me
04:45
mahmoud elwrdany
In reply to this message
Thnx
MF
05:12
Mr Flintstone
someone has been buying inverse USD in the market on chain
05:12
i think buying ivUSD is equivalent to like 2x long VEO? given the current price
05:17
you can currently sell 5 veo for 175 vUSD which is 35 vUSD per VEO. This is a better rate than selling on qtrade where you can sell 5 veo for ~155 dollars in bitcoin
T
08:25
Topab
How can I do that? I am long veo, but still don't know how to use it
s
10:14
sanket
In reply to this message
Is there a guide for how to buy it?
B
16:06
Ben
that is currently exactly the problem, there is no overlay UI that could guide the average joe, but i thought someone here was in the process of working on it or?
N
17:59
Nyzblossom
Not only that but also it's not even possible to understand what veo doing because terminology used here , like veo bitcoin stable coin ( wtf is that ? One needs to read for several months to start to understand what this means ) , the only chance this project has in attracting users is if someone just makes useful app that uses veo as back end
mx
18:47
mr x
In reply to this message
Go to http://159.89.87.58:8080/wallet.html?hide_non_standard=true. Import your key. Find "vUSD - 12:00 26-10-2020..." from the list. Click "buy ivUSD" if you wanna leverage long veo or "buy vUSD" to short veo. Then choose amount of veo you want to collateralize in the "amount to sell" (hmm?) field. Then lookup price. It gives you some (confusing?) info about whats going to happen. Just want to have slippage to pretty low I guess so don't bet too much xD. Then click confirm trade.
N
21:55
Nyzblossom
In reply to this message
The volume is in veo or btc?
Z
22:16
Zack
In reply to this message
It is the total veo locked in he smart contract, i think.
N
22:19
Nyzblossom
So 24 veo locked in vusd right now which is a bet on the price of veo in usd right ? And it's ending in 26.10 what will happen on this date ?
mx
22:27
mr x
Why is it relevant to show total locked? Isnt it liquidity what you want to see?
JT
22:31
John Tromp
what is current block reward?
s
22:36
sanket
MF
22:40
Mr Flintstone
In reply to this message
on or after 10/26, you would be able to redeem 1 vUSD for 1 dollar in VEO
22:41
from a smart contract
22:41
alternatively you can just sell 1 vUSD for 1 dollar of VEO before 10/26
22:42
In reply to this message
agreed total liquidity is better
JT
22:44
John Tromp
so daily emission is only 14.4 VEO ?
MF
22:44
Mr Flintstone
something like that yeah
22:44
a little bit is burned in each tx too
Z
23:14
Zack
In reply to this message
I tend to start with the easiest thing, until i know what peoplw actually want.
mx
23:19
mr x
right
23:46
Feels like right
22 October 2020
Deleted invited Deleted Account
Deleted invited Deleted Account
ismail Ak invited ismail Ak
N
21:22
Nyzblossom
Let's say I buy ivusd with 1 veo and price of veo in the 10/26 will be higher than today where the extra veo coins going to come from to pay me ?
mx
21:24
mr x
The guy who bought vusd
N
21:26
Nyzblossom
So out of the 25 veo currently in this contract half are ppl who hold vusd and half hold ivusd ?
mx
21:28
mr x
Yes there is same amount of vusd and ivusd outstanding.
21:29
or wait 😅
21:31
yea 1 vusd and 1 ivusd can be combined to 1 veo
21:34
the amount of veo you get for 1 vusd or 1 ivusd will be determined on 26/10
21:34
but 1 vusd + 1 ivusd = 1 veo always
21:36
the price will be read from here i think https://coinmarketcap.com/currencies/amoveo/historical-data/
21:36
closing price
N
21:36
Nyzblossom
Do we know the current ratio between ivusd and vusd holders ?
Z
21:39
Zack
In reply to this message
That is true for the underlying contract.
But on the light node interface i convert stablecoins to the other units.
1 vusd is worth about the same as 1 usd.
1 vbtc is about the same as i btc.
mx
21:39
mr x
oh right
N
21:39
Nyzblossom
Also veo doesn't actually trade against usd only vs btc meaning that it usd price is effectively determined by btc / usd price .. so it means that I can get more veo only because btc/ usd is up is that right ?
mx
21:42
mr x
veo price in usd is veo->btc->usd
MF
21:43
Mr Flintstone
just because btc price is up doesnt mean veo will be haha
N
21:43
Nyzblossom
In reply to this message
In usd yes if current bids at 0.026 holds
mx
21:45
mr x
so whats the ceiling price for the contract?
MF
21:47
Mr Flintstone
i think there is some nominal ceiling in the contract @zack_amoveo but there isnt necessarily a practical one
21:47
if veo goes up then the usd holders get less veo and longveo holders get more
N
21:47
Nyzblossom
Not understand what is ceiling you mean ?
21:48
In reply to this message
Yes from what I understood
mx
21:48
mr x
floor?
N
21:49
Nyzblossom
The contract is a derivative of the market at qtrade right now
MF
21:49
Mr Flintstone
its a cmc derivative technically
mx
21:49
mr x
cmc > cme :P
MF
21:50
Mr Flintstone
i think the floor is like $24
mx
21:50
mr x
23.3333
MF
21:50
Mr Flintstone
ya it was put below the bids on qtrade
N
21:52
Nyzblossom
In reply to this message
Why not coingecko it's much better
MF
21:53
Mr Flintstone
why do you think coingecko is better for this
21:53
if it is better we can switch
N
21:53
Nyzblossom
We probably should imo
21:54
Is that the veo Oracle solution btw ? Using cmc api ?
MF
21:55
Mr Flintstone
the oracle can reference any price index . there is no direct api
21:56
humans put the price on chain in the end
21:56
if necessary
N
21:56
Nyzblossom
So I can make veo by telling the price of things using cmc api ?
MF
21:58
Mr Flintstone
only if there is a dispute. Then you can take the veo of the ppl who were lying. it shouldnt happen very frequently at all
21:59
lying is equivalent to burning your veo
22:01
You can also make money by trying to manipulate the cmc veo price
mx
22:05
mr x
In reply to this message
whats the payout formula?
Z
22:10
Zack
In reply to this message
stablecoin is worth a constant amount of usd, in veo.
any leftover money goes to the long-veo contract.
mx
22:11
mr x
right things make more sense now 😅
Z
22:11
Zack
when you deposit veo into the smart contract, it gets split into the 2 kinds, and together they are worth the same as veo.
22:12
so you can either hold vBTC, which is worth a constant amount of btc.
or you can hold ivBTC, which is like having veo with higher leverage than normal.

vBTC and ivBTC together is the same as holding veo.
mx
22:13
mr x
the amount of leverage is higher the closer current price is to floor of the contract
MF
22:23
Mr Flintstone
yeah. i think the wallet will tell you the leverage at some point. it is just a function of collateralization %
22:24
we can also do stuff like calculating the effective veo exposure of a ivUSD position
mx
22:25
mr x
yeah unrealized profits stuff
N
22:53
Nyzblossom
Assuming one who holds veo want to support the veo prediction markets what he can start doing with reletevly low risk ?
N
23:48
Nyzblossom
Is it possible to create contract on tesla stock price ?
23:50
And what is the minimum cost for creating a contract ?
Z
23:50
Zack
In reply to this message
Yes.
But the current ui is optimized for btc stablecoins.
Im making plans to generalize it for other purposes.
23:51
In reply to this message
I think it is around 0.003 veo.
So like 10 cents.
N
23:52
Nyzblossom
So why we don't make market for at least top 300 coins by mcap?
JS
23:56
Jon Snow
time to short Filecoin on Amoveo!
23 October 2020
N
00:05
Nyzblossom
There are Synthetix and others trading at hundreds millions of dollars that doing same as veo .. and I assume a bit worse then it but for some reason no one uses veo and don't understand it ..
00:05
It's either veo community are all with 100 iq in total or I am missing something about how veo works
00:07
Deleted Account
is there an amoveo rich list or wallet explorer
verloc (Sumero Official) invited verloc (Sumero Official)
K. invited K.
N
16:21
Nyzblossom
Where it's possible to see long term hashrate chart ?
Z
16:33
Zack
In reply to this message
https://amoveo.tools/ here is one, but it is really slow.
It was written when the history was short.
I should probably make a new one.
N
16:36
Nyzblossom
Tnx
Z
18:00
Zack
http://159.89.87.58:8080/ext/getmoneysupply
I fixed this api for looking up the total current supply.
It is standardized the way that other projects do it, so it can be integrated more easily into explorers and exchanges.
N
18:50
Nyzblossom
In reply to this message
?
N
19:17
Nyzblossom
I would like to see available contracts on top 300 coins , top 200 stocks , top 10 forex , and 10 real world events . Now how can I help to make this happen ?
Z
19:31
Zack
In reply to this message
Lets make sure it is working well before we scale up the number of markets.
We dont want to have hundreds of markets that dont work well.

Before that stage we probably need some kind of search feature. So it only displays relevant contracts.
N
19:32
Nyzblossom
How we make sure it works well ? What technical things I can do to help with that ?
19:33
I want to participate in whatever needed , maybe set Oracles or provide liquidity for markets
19:34
I am not an expert but imo search feature doesn't sound like a critical one
JS
21:44
Jon Snow
In reply to this message
That’s a good list to start.
24 October 2020
Deleted invited Deleted Account
MC
03:15
Mr Crypto
In reply to this message
love it
03:16
maybe we could focus on fewer, so liquidity is more concentrated?
03:17
FAANG stocks, 5 events and some commodities/precious metals(gold, silver, oil)
mx
08:06
mr x
Guess you can always just show markets in order of liquidity and let people freely create/participate in markets they want.
Deleted invited Deleted Account
14:15
Deleted Account
Hy
25 October 2020
Sheikh Sadi | Listing Partner invited Sheikh Sadi | Listing Partner
S
00:53
Sheikh Sadi | Listing Partner
Hello Admin. I have a listing proposal. With Whom should I contact about it?
CD
Z
04:46
Zack
Futarchy isnt an election. It doesnt need anyones support.
Deleted invited Deleted Account
Deleted invited Deleted Account
Z
19:02
Zack
I fixed a bug where the new tool wouldn't spend to new accounts.
I fixed a bug where the dropdown menu of which currency to spend, it moved your cursor location when new items were appended to the list.
I fixed the spend tool so that the amount you type is in units of the stablecoin, not in the internal units.
Humas & Marketing RS PKT Prima Sangatta invited Humas & Marketing RS PKT Prima Sangatta
Abdul Mhd invited Abdul Mhd
26 October 2020
Deleted invited Deleted Account
Deleted invited Deleted Account
lovega200 lam invited lovega200 lam
Rogue invited Rogue
Nick1980 invited Nick1980
Mario Xavier invited Mario Xavier
Z
01:43
Zack
hi new members. comments or get banned.
MF
02:01
Mr Flintstone
lol
Deleted invited Deleted Account
Deleted invited Deleted Account
Tuấn Bridge invited Tuấn Bridge
JS
02:42
Jon Snow
Can we have those commands to verify if they are bots or human? I saw other channel has it
Calkofski invited Calkofski
N
11:50
Nyzblossom
In reply to this message
+💯
Z
17:57
Zack
haha, someone made a market with a date in freedom units
17:57
I wonder if I should filter those out
17:58
or I could auto-correct the format?
MF
22:28
Mr Flintstone
zack added a way for amoveo frontend developers to get paid a fee
22:28
fyi
22:28
as a % of the volume that goes through your front end
I
22:32
Instinct
In reply to this message
👀 nice
X
22:50
X | NPC
great!!
EA
23:04
Eric Arsenault
oh, that's sweet
27 October 2020
MC
00:12
Mr Crypto
In reply to this message
this is awesome, where could we find more info?
C
00:38
Cresus
In reply to this message
Can you explain how it s work ?
Z
00:39
Zack
Every time you make a multi tx, it calculates about 1% of the value being moved, and it sends that much to the dev address. As a part of the same multi tx.
MC
00:40
Mr Crypto
@zack_amoveo can the fee amount be changed?
Z
00:41
Zack
Yeah.
MC
00:43
Mr Crypto
cool thanks
Deleted invited Deleted Account
00:50
Deleted Account
I have some USDT on MoonSwap .So,can I swap USDT to VEO on MoonSwap?
N
01:11
Nyzblossom
No
01:11
Veo is not erc20 token
JS
01:15
Jon Snow
In reply to this message
So this is the front end developer reward? Different from the Amoveo protocol developer reward right? Is this reward also a governance variable?
404•×VitoZackyו invited 404•×VitoZackyו
4
01:33
404•×VitoZackyו
Hi who is the right person to talk here regarding AMA invitation??😊
Z
03:11
Zack
In reply to this message
Not a gov variable. It is hard coded into the light node.
JS
03:48
Jon Snow
In reply to this message
Good. This should incentivize good frontend build
s
15:20
sanket
https://twitter.com/todayindefi/status/1320986927017816065?s=19

something as simple as catnip exchange should be really helpful for amoveo. It doesn't need to solve a complex problem, but a simple problem.
N
17:38
Nyzblossom
How many veo nodes are currently running?
Z
17:40
Zack
In reply to this message
Z
18:38
Zack
https://github.com/zack-bitcoin/amoveo-docs/blob/master/light_node/glossary/collateral.md
I made a document about collateralization in amoveo contracts.
Rock invited Rock
4
23:11
404•×VitoZackyו
Hi who is the right person to talk here regarding AMA invitation??😊
28 October 2020
Deleted invited Deleted Account
Deleted invited Deleted Account
Deleted invited Deleted Account
N
04:21
Nyzblossom
Very interesting https://atomic.finance/odds/ maybe we can do something similar with our own influencers on amoveo
I bet veo maximalist will take his chances
Deleted invited Deleted Account
N
18:08
Nyzblossom
Why this contract still running ? "vUSD - 12:00 26-10-2020
Z
18:09
Zack
it is set up to display the 10 contracts that have the most veo deposited in them.
once whoever owns the coins in that market converts them back to veo, then it will disappear from the list.
N
18:14
Nyzblossom
So technically it's still possible to trade it ?
Z
18:17
Zack
yeah, you can trade it
N
18:18
Nyzblossom
So basically only one person using this contract
18:19
As there is no actual bet to settle here
Z
18:21
Zack
all the contracts right now are for testing purposes.
N
18:25
Nyzblossom
Ok
18:25
When mainnet lol
Z
18:30
Zack
We have had mainnet since March 2 2018
N
18:35
Nyzblossom
Damn I was young back then
Z
19:07
Zack
https://github.com/zack-bitcoin/amoveo-docs/blob/master/blog_posts/composing_conditional_prevent_frontrunning.md
I wrote about composing conditional contracts to prevent frontrunning in markets.
MF
19:33
Mr Flintstone
In reply to this message
There was like 9 veo of contract to settle
N
19:35
Nyzblossom
In reply to this message
It belongs to the same person who created it
19:35
Otherwise I don't understand why no one close the contract to get his veo back
Z
20:08
Zack
I wrote a blog post about composing conditional contracts with AMM to solve arbitrage issues between them.
20:21
I wrote a blog post about composing conditional contracts to allow for perpetual stablecoins.
29 October 2020
JS
00:15
Jon Snow
it seems like development has stopped on the trading tools?
Z
00:31
Zack
Development is continuing.
JS
05:12
Jon Snow
Great! Cannot wait to introduce more people to test it once some known issues are fixed
T
09:50
Topab
Is this the closest to a DAC we have seen in Ethereum? https://github.com/keep3r-network/keep3r.network
JS
09:54
Jon Snow
Andre’s new baby
Z
09:57
Zack
In reply to this message
DAC is a kind of financial derivative.
This doesn't look like a financial derivative to me.
10:06
A new non collateralized stable usd
Z
10:07
Zack
this is a place to talk about amoveo.
Amoveo is a blockchain for derivatives.
T
10:07
Topab
In reply to this message
Well, it it accomplish its function its not important how you call it
10:08
I thought this was somehow related to Amoveo. What's being done in other parts that gets closer to what Amoveo wants to achieve
Z
10:10
Zack
In reply to this message
what function is that? this doesn't look like a DAC at all to me.
A DAC is a way to buy insurance against the possibility that a public good will not be available. That way we can align incentives in a community to create public goods.
10:10
In reply to this message
Amoveo wants to achieve derivatives.
That means that people are trading risk.
10:15
In reply to this message
stablecoins built from derivatives are more efficient than one-size-fits-all stablecoins.

Each user of stablecoins has different needs.
Some people want higher collateralization than others.
Some people want different expiration rules than others.

A one-size-fits-all system forces some people to pay for more security than they had wanted, and it forces others to use less security than they had been willing to purchase.

So we don't have to concern ourselves with any one-size-fits-all stablecoins like this.
T
10:17
Topab
In reply to this message
Maybe I didn't read it carefully. As I understand it is a system to get projects accomplished and paid for doing it. DACs kind of do the same as I understand it
Z
10:22
Zack
DAC is a market mechanism.
It is for finding out what public goods can be profitably created, and efficiently allocating funding for them.
Each person who can benefit from the public good is incentivized to contribute money proportional to how much they will benefit from that public good.

A DAC can have one pre-defined builder, or it can be set up as a competition for anyone to build the public good.
10:32
if you just want to pay someone cryptocurrency to do a job, with a multisig of validators to determine if the job was done, you can do that with bitcoin.

Make a multisig and set up a refund tx to give the money to yourself, but the refund tx isn't valid until after the builder had enough time to build.
The multisig is controlled by the team of validators.
So if the validators decide that the builder had accomplished the job, they can sign the tx to give the builder the funds.
If the builder doesn't finish in time, then eventually you get your money back when you can publish the refund tx.

The multisig is set up so the validators besides you, they can't send the money to anyone else besides the builder.

multisig is far inferior to a trustless oracle, because the builder can bribe the validators to unlock their funds. they don't have to build anything.

If you want to pay someone to do a job, and you want to use a trustless oracle to know if the job was done, that can be trivially done with Amoveo for years now.
You can make a channel with the builer, and ask an oracle if the job was done.
the channel is set up so if the oracle doesn't return "true" before a certain date, then your funds are refunded.


Both of these methods of paying someone to do a job, they are far far inferior to the power of a DAC, because they suffer from the free rider problem. People who want the public good to exist, they would rather not pay for it. So they can just wait for other people to fund and build it.
A DAC is efficiently crowdfunding from everyone who can benefit from the public good getting created. Everyone is incentivized to participate in proportion to how much the public good will benefit them.
T
12:07
Topab
Makes sense
30 October 2020
Deleted invited Deleted Account
Thomas Gibson invited Thomas Gibson
JS
11:01
Jon Snow
While there are bloodbaths everywhere in the Defi land right now, life in the Amoveo land is just quiet and normal.
MFieldR invited MFieldR
Z
21:50
Zack
I updated the text when swapping. it is a lot nicer when swapping pairs of subcurrencies now.
31 October 2020
B
02:51
Beer
In reply to this message
I mean we didn't participate in Defi bull season, so I suppose we skip the Defi dump as well
JS
03:32
Jon Snow
In reply to this message
Better risk adjusted return! Lol
JS
04:02
Jon Snow
In reply to this message
Hi Zack, what other things are you currently working on right now?
Z
04:14
Zack
I posted a couple blog posts onto the twitter recently
Z
08:56
Zack
trading veo for ivbtc and vbtc works.
trading ivbtc or vbtc for veo works.
trading vbtc for ivbtc works.
when I try to trade ivbtc for vbtc, it makes a tx for trading ivbtc to veo.
x
09:21
x
In reply to this message
will amoveo itself benefit from using DAC to build something at this stage?
Z
09:27
Zack
yes
WL
09:28
Wilson Lau
In reply to this message
Maybe we build some standard or templates around it will help new user to understand what it is all about.
Deleted invited Deleted Account
1 November 2020
Gkx1 invited Gkx1
Z
20:47
Zack
im realizing that to speed up development of the new interfaces, I need to duplicate the servers onto my laptop so I can sync the swap interface faster.

So now im trying to set up the p2p_derivative_explorer to be able to gossip the oracle data it remembers a copy of. That way I can pull that data onto my local machine for faster testing.

This is also important to make the off-chain derivative tool fully decentralized.
2 November 2020
Z
07:19
Zack
I am running into an issue with the p2p_derivative_explorer. It is supposed to remember a copy of the oracle text for the contracts. That way we can resolve the contract eventually.
The problem is if an attacker asks us to remember lots of oracles for contracts that dont exist, and it overflows our memory.
mx
09:53
mr x
Make people sign requests and rate limit or something?
Z
10:09
Zack
my plan is to remove oracle data if:
(it is more than 100 minutes old,
and it doesn't have any on-chain contract,
and no one posted any swap offer related to it.)
or if
(the contract and oracle were both posted on chain)
10:09
and I might combine that with some limiter by IP address
10:10
100 minutes is probably too much. ill make it less.
10:11
well, it might take a while to find the next block. and we don't want to drop oracle data
Võ Thanh invited Võ Thanh
J
17:58
Josh
How about charging a fee for remembering a contract?
Z
18:00
Zack
In reply to this message
That might help too.

I like the idea of this oracle data working like txs in the mempool. That we should gossip them all.
That way there is no central location of oracle data that could get destroyed.