Re: DIS: Proto-Contract: Industrial Bank Agora
On 5/2/09 5:23 PM, comex wrote: On Sat, May 2, 2009 at 6:54 PM, Charles Reiss woggl...@gmail.com wrote: Also, I rather dislike the bias here towards currencies denominated in large units. How about a little less such bias, like: I thought about having it depending on zm but this system is already relatively annoying, as you have to remember what you're already deposited this week or risk messing up your transactions. As the main purpose of the diminishing returns is to prevent scams, legitimate uses should rarely go below 0.80; so it makes little difference, and basing it on zm makes deposits even more of a pain to calculate because you have to keep a running total of your deposits so far. If it makes a big difference to you, I might change it. I didn't think my proposal was much more burdensome, since I expected players to be tracking how much zm they think they got from their deposits anyways so as not to use zm they don't have. (Or, if they aren't, to not really care exactly how much they have until they see the President's report.) A perhaps simpler approach might be to count deposits of some cheap assets (say Rate 40, covering the common crops initially) as some fraction (e.g. a quarter) of a deposit. But this probably doesn't remove burden substantially. Also, shouldn't there be a rate for X crops initially? - woggle signature.asc Description: OpenPGP digital signature
Re: DIS: Proto-Contract: Industrial Bank Agora
2009/5/2 comex com...@gmail.com: On Fri, May 1, 2009 at 10:54 PM, Benjamin Caplan celestialcognit...@gmail.com wrote: comex wrote: Repeats: (a nonnegative integer, or infinity; default 1) [...] An Offer with zero Repeats is automatically destroyed. As was pointed out on IRC, this won't ever happen. Try When an Offer with one Repeat is filled, instead of its 'Repeats' field being decreased, the Offer is destroyed. I changed it from 'positive' to 'nonnegative' so this shouldn't be a problem. Note: Please do not cast a vote like ISELL(8 zm - AGAINST)*8, as this won't do what you think. ISELL(1 zm - AGAINST)*8, however, may be desirable -- so much so, in fact, that it might be worth working out a clearer syntax for it. Perhaps 8*ISELL(1 zm each - AGAINST). True. I was thinking of that, but the current language forces ISELL to be up to the voting limit-- 8*ISELL would sell all your votes eight separate times, almost certainly resulting in a breach of contract. I guess I may as well reword it to allow separate vote selling, although it's unlikely to occur in practice. How about ISELL(x zm - AGAINST*x)? Maybe not possible to sell to more than one person, but it allows for buying only 4 out of 8 votes if that's all that's needed. -- -Tiger
Re: DIS: Proto-Contract: Industrial Bank Agora
On Fri, 2009-05-01 at 20:16 -0400, comex wrote: Note: Please do not cast a vote like ISELL(8 zm - AGAINST)*8, as this won't do what you think. For the benefit of players too new to remember it: the last time someone tried a vote like that, it caused a row lasting almost a month before anyone figured out what had actually happened; the fact that two different people had made that sort of vote, and meant different things by it, wasn't particularly helpful either. -- ais523
Re: DIS: Proto-Contract: Industrial Bank Agora
On Fri, May 1, 2009 at 18:16, comex com...@gmail.com wrote: The PBA, RBoA, and both Vote Markets are dead, which has made the economy a lot less interesting. This is a draft for a replacement, which allows regular banking, trade offers, and vote selling. Rates are manually set by the President (me) without two objections, and would be updated on a regular basis. To prevent scams, you are only allowed to deposit about 10 assets per week before you start getting less and less cash; withdrawals are not affected. Comments and suggestions are welcome, and I will most likely create the contract proper in a few days. I think the hyper-inflation of the PBA proved auto-rates are not the end-all be-all that ehird claimed they were. I like what you have here though I suggest you charge more for withdraws than deposits, otherwise the bank will never accumulate any equity (and may likely lose equity leading to inflation of zm as players work around rate changes to obtain favorable withdraws). BobTHJ
Re: DIS: Proto-Contract: Industrial Bank Agora
2009/5/2 Roger Hicks pidge...@gmail.com: I think the hyper-inflation of the PBA proved auto-rates are not the end-all be-all that ehird claimed they were. You weren't there for it, so I'll assume you didn't know that the whole economy stopped and, therefore, since nobody used the bank - duh - of course it went to pot. If the economy had, say, stayed alive, the rates would have been more or less fine.
Re: DIS: Proto-Contract: Industrial Bank Agora
On Fri, May 1, 2009 at 10:31 PM, Elliott Hird penguinoftheg...@googlemail.com wrote: Add auto rates and I'm sold. I'm explicitly not including auto rates in this. I actually think the PBA did pretty well, but my highest priority is preventing scams-- a bank should be a trustworthy place to invest your assets. Most normal transactions are low-volume but scams are very high-volume, and diminishing returns should significantly slow down the latter without much affecting the former. I'm not sure I've set the limit at the right place, but the rate multipliers can be changed once the IBA has some real-world experience. Auto rate systems don't necessarily enable scams, but your assumption with the PBA was wrong: there was too much apathy for your expected periodic mini-scams to stabilize the rates, and I think that applies in general for assumptions about market forces and whatnot. So I'm going to go with a manual system this time, and we'll see what happens! Second draft, with lots of bugfixes, slightly changed multipliers (thanks for the advice, BobTHJ), and initial rates at the bottom: === I. IBA This is the Industrial Bank Agora. The currency of the IBA is zorkmids (zm); the recordkeepor of zorkmids is the President. Any person CAN join this contract by announcement. Any party to this contract CAN leave it by announcement, unless e is involved in a pending Offer. The President of the IBA is comex. II. Summary - You can join the contract by announcement. Please join before attempting to make Offers or vote ISELL-- your only obligations are to uphold the terms of Offers you make. - You can deposit 4 assets per week for the standard rate; further deposits give you diminishing returns to prevent scams, but you can still get a good price for up to 10. - You can always withdraw assets for the standard rate. - You can intend to sell or buy assets, naming a price; this is known as an Offer, and other parties can fill the Offer by announcement. - ISELL works like SELL, but you can vote ISELL on dependent actions as well as decisions. III. Banking Every asset has a Rate in zorkmids, intially zero. The President's report includes a Rate List containing all nonzero Rates. IV. Withdrawal A person CAN withdraw an asset in the IBA's possession if e has at least its Rate in zorkmids; those zorkmids are destroyed in eir possession and the IBA transfers the asset to em. V. Deposits A person CAN deposit an asset by transferring it to the IBA; e then gains the Effective Rate in zorkmids. The Effective Rate for a deposit is its Rate, multiplied by a value depending on the number of previous deposits made in the same week with the same Executor, and rounded to the nearest integer: prevrate 0-3 1.00 4-6 0.90 7-9 0.80 10 0.73 11 0.62 12 0.50 13 0.38 14 0.26 15 0.18 16 0.12 17 0.08 18 0.05 19 0.03 20 0.02 21- 0.01 VI. Offers An Offer is an entity with three fields: Selling: (a nonempty list of assets and/or actions) For cost: (a nonempty list of assets and/or actions) Repeats: (a nonnegative integer, or infinity; default 1) A person CAN create an Offer by announcement, thus becoming its offerer. A person CAN destroy an Offer for which e is the offerer by announcement. A party (the filler) CAN fill an Offer by announcement if and only if: - the offerer is a party, and - the offerer has the assets in the 'Selling' field (if any), and CAN perform the actions in that field (if any), and - the filler has the assets in the 'For cost' field (if any), and CAN perform the actions in that field (if any). When an Offer is filled, - the IBA acts on behalf of the offerer to transfer the assets in the 'Selling' field to the filler, and to take the actions in the 'Selling' field, and - the IBA acts on behalf of the filler to transfer the assets in the 'For cost' field to the offerer, and to take the actions in the 'For cost' field, and - the Offer's 'Repeats' field is decreased by one. An Offer with zero Repeats is automatically destroyed. To intend to sell X for Y is to create an Offer with X as 'Selling' and Y as 'For cost'; to intend to buy X for Y is to create an Offer with X as 'For cost' and Y as 'Selling'; to intend to sell A*X for Y each is to create an Offer with X as 'Selling', Y as 'For cost', and A as 'Repeats'; etc. Examples: - I intend to sell a WRV for 8 zm. - I intend to sell 4 G# Credits for 2 zm each. - I intend buy a Land for 3 zm. - I intend to sell a WRV for a Land. VII. Selling Votes Voting ISELL(X) on a decision is equivalent to intending to sell a number of votes equal to your voting limit on that decision for X. Voting ISELL(X - A*Y) on a decision (A equals one if not specified) is equivalent to intending to sell A votes on that decision for X, and then voting A*Y. Examples: - ISELL(8 zm)
Re: DIS: Proto-Contract: Industrial Bank Agora
On 5/2/09 3:09 PM, comex wrote: On Fri, May 1, 2009 at 10:31 PM, Elliott Hird penguinoftheg...@googlemail.com wrote: Add auto rates and I'm sold. I'm explicitly not including auto rates in this. I actually think the PBA did pretty well, but my highest priority is preventing scams-- a bank should be a trustworthy place to invest your assets. Most normal transactions are low-volume but scams are very high-volume, and diminishing returns should significantly slow down the latter without much affecting the former. I'm not sure I've set the limit at the right place, but the rate multipliers can be changed once the IBA has some real-world experience. Auto rate systems don't necessarily enable scams, but your assumption with the PBA was wrong: there was too much apathy for your expected periodic mini-scams to stabilize the rates, and I think that applies in general for assumptions about market forces and whatnot. So I'm going to go with a manual system this time, and we'll see what happens! Second draft, with lots of bugfixes, slightly changed multipliers (thanks for the advice, BobTHJ), and initial rates at the bottom: === I. IBA This is the Industrial Bank Agora. The currency of the IBA is zorkmids (zm); the recordkeepor of zorkmids is the President. Any person CAN join this contract by announcement. Any party to this contract CAN leave it by announcement, unless e is involved in a pending Offer. The President of the IBA is comex. II. Summary - You can join the contract by announcement. Please join before attempting to make Offers or vote ISELL-- your only obligations are to uphold the terms of Offers you make. - You can deposit 4 assets per week for the standard rate; further deposits give you diminishing returns to prevent scams, but you can still get a good price for up to 10. - You can always withdraw assets for the standard rate. - You can intend to sell or buy assets, naming a price; this is known as an Offer, and other parties can fill the Offer by announcement. - ISELL works like SELL, but you can vote ISELL on dependent actions as well as decisions. III. Banking Every asset has a Rate in zorkmids, intially zero. The President's report includes a Rate List containing all nonzero Rates. IV. Withdrawal A person CAN withdraw an asset in the IBA's possession if e has at least its Rate in zorkmids; those zorkmids are destroyed in eir possession and the IBA transfers the asset to em. V. Deposits A person CAN deposit an asset by transferring it to the IBA; e then gains the Effective Rate in zorkmids. The Effective Rate for a deposit is its Rate, multiplied by a value depending on the number of previous deposits made in the same week with the same Executor, and rounded to the nearest integer: prevrate 0-3 1.00 4-6 0.90 7-9 0.80 10 0.73 11 0.62 12 0.50 13 0.38 14 0.26 15 0.18 16 0.12 17 0.08 18 0.05 19 0.03 20 0.02 21- 0.01 This needs a ceiling. (If I get infinite currency _X_, I should get a large but bounded amount of zm within a week.) Also, I rather dislike the bias here towards currencies denominated in large units. How about a little less such bias, like: The Effective Rate for a deposit is its Rate, multiplied by a value depending on the value (in zorkmids) gained from previous deposits made in the same week with the same Executor, and rounded to the nearest integer (breaking ties by rounding to even integers): floor(prev/100) rate 0-3 1.00 4-6 0.90 7-9 0.80 10 0.73 11 0.62 12 0.50 13 0.38 14 0.26 15 0.18 16 0.12 17 0.08 18 0.05 19 0.03 20 0.02 21-30 0.01 31-40 0.005 41-50 0.003 51-60 0.001 61- 0 [Revised summary here is You can deposit 400zm of assets in a week for the standard rate; further deposits give you diminishing returns to prevent scams, but you can still get a good rate for up to 1100zm worth.] -woggle signature.asc Description: OpenPGP digital signature
Re: DIS: Proto-Contract: Industrial Bank Agora
On Sat, May 2, 2009 at 6:54 PM, Charles Reiss woggl...@gmail.com wrote: Also, I rather dislike the bias here towards currencies denominated in large units. How about a little less such bias, like: I thought about having it depending on zm but this system is already relatively annoying, as you have to remember what you're already deposited this week or risk messing up your transactions. As the main purpose of the diminishing returns is to prevent scams, legitimate uses should rarely go below 0.80; so it makes little difference, and basing it on zm makes deposits even more of a pain to calculate because you have to keep a running total of your deposits so far. If it makes a big difference to you, I might change it.
Re: DIS: Proto-Contract: Industrial Bank Agora
Add auto rates and I'm sold. Sent from a sentient banana On 2009-05-02, comex com...@gmail.com wrote: The PBA, RBoA, and both Vote Markets are dead, which has made the economy a lot less interesting. This is a draft for a replacement, which allows regular banking, trade offers, and vote selling. Rates are manually set by the President (me) without two objections, and would be updated on a regular basis. To prevent scams, you are only allowed to deposit about 10 assets per week before you start getting less and less cash; withdrawals are not affected. Comments and suggestions are welcome, and I will most likely create the contract proper in a few days. === I. IBA This is the Industrial Bank Agora. The currency of the IBA is zorkmids (zm); the recordkeepor of zorkmids is the President. Any person CAN join this contract by announcement. Any party to this contract CAN leave it by announcement. The President of the IBA is comex. II. Banking Every asset has a Rate in zorkmids, intially zero. The President's report includes a Rate List containing all nonzero Rates. III. Withdrawal A person CAN withdraw an asset in the IBA's possession if e has at least its Rate in zorkmids; those zorkmids are destroyed in eir possession and the IBA transfers the asset to em. IV. Deposits A person CAN deposit an asset by transferring it to the IBA; e then gains the Effective Rate in zorkmids. The Effective Rate for a deposit is its Rate, multiplied by a value depending on the number of previous deposits made in the same week with the same Executor, and rounded to the nearest integer: prevrate 1-6 1.00 7-9 0.80 10 0.73 11 0.62 12 0.50 13 0.38 14 0.26 15 0.18 16 0.12 17 0.08 18 0.05 19 0.03 20 0.02 21- 0.01 V. Offers An Offer is an entity with three fields: Selling: (a nonempty list of assets and/or actions) For cost: (a nonempty list of assets and/or actions) Repeats: (a nonnegative integer, or infinity; default 1) A person CAN create an Offer by announcement, thus becoming its offerer. A person CAN destroy an Offer for which e is the offerer by announcement. A person (the offeree) CAN fill an Offer by announcement if and only if: - the offerer has the assets in the 'Selling' field (if any), and CAN perform the actions in that field (if any), and - the offeree has the assets in the 'For cost' field (if any), and CAN perform the actions in that field (if any). When an Offer is filled, - the IBA acts on behalf of the offerer to transfer the assets in the 'Selling' field to the offeree, and to take the actions in the 'Selling' field, and - the IBA acts on behalf of the offeree to transfer the assets in the 'For cost' field to the offerer, and to take the actions in the 'For cost' field, and - the Offer's 'Repeats' field is decreased by one. An Offer with zero Repeats is automatically destroyed. To intend to sell X for Y is to create an Offer with X as 'Selling' and Y as 'For cost'; to intend to buy X for Y is to create an Offer with X as 'For cost' and Y as 'Selling'; to intend to sell A*X for Y each is to create an Offer with X as 'Selling', Y as 'For cost', and A as 'Repeats'; etc. Examples: - I intend to sell a WRV for 8 zm. - I intend to sell 4 G# Credits for 2 zm each. - I intend buy a Land for 3 zm. - I intend to sell a WRV for a Land. VI. Voting as Action ISELL When a Offer is filled that specifies voting on a certain Agoran decision in the 'Selling' or 'For cost' field, the offeree or offerer, respectively, retracts all eir votes on that decision and votes as specified by the other party a number of times equal to eir voting limit on the decision, and SHALL NOT retract those votes. Voting ISELL(X) on a decision is equivalent to intending to sell one's vote on that decision for X. Voting ISELL(X - Y) on a decision is equivalent to intending to sell one's vote on that decision for X, and then voting Y. Examples: - ISELL(8 zm) - ISELL(8 zm - AGAINST*8) Note: Please do not cast a vote like ISELL(8 zm - AGAINST)*8, as this won't do what you think. VII. Motions A motion is an entity which acts identically to an Agoran decision, except that the requirement that the voting period last at least seven days is waived, and, by default, the eligible voters are the parties to this contract, each eligible voter's voting limit is one, and the voting period lasts 72 hours. Any party CAN initiate a Motion to Amend, specifying a set of amendments to this contract. For this motion, the adoption index is 2. If the option selected on a Motion to Amend is ADOPTED, this contract is amended as specified. VIII. Changing the Rates A Rate List is a list of assets and associated Rates. To effect a Rate List is to set the Rate of each
Re: DIS: Proto-Contract: Industrial Bank Agora
comex wrote: Repeats: (a nonnegative integer, or infinity; default 1) [...] An Offer with zero Repeats is automatically destroyed. As was pointed out on IRC, this won't ever happen. Try When an Offer with one Repeat is filled, instead of its 'Repeats' field being decreased, the Offer is destroyed. Note: Please do not cast a vote like ISELL(8 zm - AGAINST)*8, as this won't do what you think. ISELL(1 zm - AGAINST)*8, however, may be desirable -- so much so, in fact, that it might be worth working out a clearer syntax for it. Perhaps 8*ISELL(1 zm each - AGAINST). signature.asc Description: OpenPGP digital signature
Re: DIS: Proto-Contract: Industrial Bank Agora
On Fri, May 1, 2009 at 10:54 PM, Benjamin Caplan celestialcognit...@gmail.com wrote: comex wrote: Repeats: (a nonnegative integer, or infinity; default 1) [...] An Offer with zero Repeats is automatically destroyed. As was pointed out on IRC, this won't ever happen. Try When an Offer with one Repeat is filled, instead of its 'Repeats' field being decreased, the Offer is destroyed. I changed it from 'positive' to 'nonnegative' so this shouldn't be a problem. Note: Please do not cast a vote like ISELL(8 zm - AGAINST)*8, as this won't do what you think. ISELL(1 zm - AGAINST)*8, however, may be desirable -- so much so, in fact, that it might be worth working out a clearer syntax for it. Perhaps 8*ISELL(1 zm each - AGAINST). True. I was thinking of that, but the current language forces ISELL to be up to the voting limit-- 8*ISELL would sell all your votes eight separate times, almost certainly resulting in a breach of contract. I guess I may as well reword it to allow separate vote selling, although it's unlikely to occur in practice.