Thursday, February 28, 2019

Consistent value in various contexts is the source of money's properties

An ideal money has the same value in all relevant contexts or "dimensions".  The numerous properties ascribed to money are just referring those contexts.

The purpose of a thing is more fundamental to defining it than its properties. For example, ask a person where the chair is in a picture of a forest and he'll know it's the log or stump, but an A.I. won't be able to find legs or a back. Consider the purposes of money authors have mentioned:
  • Medium of exchange
  • Unit of account
  • Store of value
Less frequently mentioned:
  • Deferred payment (a unit of debit or credit)
  • Legal tender (e.g. a unit of account in contracts)
Value is inherent to all of these, and stability in value is obviously also important. If you add "consistent" or "stable" before them it makes sense and sounds idealistic or even redundant.

Here are 15 properties I was able to find, taking the liberty of adding the word "value":
  • Stable value in time
  • Stable value in different locations
  • Divisible value
  • Fungible value (aka "Uniform")
  • Portable value
  • Durable value
  • Acceptable value (aka "Convenient")
  • Trustworthy value ( aka "Confidence")
  • Liquid value (this is vague and encompasses most of the others)
"Consistent value in every way" seems to be an accurate summary. I found two properties which are kind of oblique or re-enforce the others..
  • Limited in Supply  (re-enforces stable value and trustworthy value)
  • Long history of acceptable value (re-enforces trustworthy / confidence in value)
There is another property:
  • Has value in itself
This might be a circular reference, or it breaks money out of a different circular reference "money has value because we agree it has value". This property is saying it should have value because we can use it for something besides exchange. It refers to something like copper, silver, food or vodka (a unit of exchange when the USSR was falling apart). Coins have had this property off and on. For maybe 2 or 3 decades, the copper in a penny was worth about a penny. Then there are silver and gold coins.  So the trades in these types of money are also barter.

Barter, energy, and cryptocurrencies
Continuing on about this final property: it always has taken a lot of energy to get silver and gold. Similarly, POW cryptocoins waste energy to "prove their worth". But the worth in metals is also like stored energy (literally, metals can be burned to get a lot of energy out, but being able to use them saves energy). Especially silver: it's biggest use right now is in solar cells. Buying silver is akin to buying potential energy.  The "inherent" value in a barter-type money is the amount of economic "energy" (possibly literally) it can produce or save, but all the other properties only demand that the "value" is the amount of energy it can control through mutual agreement.  If you could bottle up electrical energy in different quantities that could be easily extracted by anyone and could transfer it over the internet, that would probably be the perfect money.

Importance of stable value to contracts
Contracts (including wages and prices) are just an agreement between economic players. In order for an economic system to be intelligent, it seems a constant value is as important as keeping the definition of a kg of wheat constant.

Currency quantity should track GDP
If the "real" GDP of the currency being used increases, then the amount of currency in circulation must increase in order to maintain stable value. This is if the GDP is increasing from the economy getting more efficient, or if production increases, or if the currency is being demanded by previously "external" economic actors like the rest of the world increasingly using your currency. GDP increases from simply printing more currency (inflation) has to be subtracted from the "real" GDP.  If the real GDP is trying to grow and the currency is not increased with it, it slows the growth rate by strangling trade. Increasing the amount of currency ahead of time can help the GDP to grow, but if too much currency is produced, inefficient decisions are made with the excess currency, leading to a future reduction in GDP.  For example asset prices can artificially rise while inflation is kept low so it can seem like everything is fine, but this leads to a boom-bust cycle in assets.

The "real" GDP can be viewed as a net energy that is acquired and used over time. It is used to sustain (maintain) and increase itself (the economy). But the net energy is not necessarily physical joules (or how efficiently they are used, hence "net"). We may place higher value on things that can't be measured with physical energy. For example, we may print more money to increase the apparent GDP (since the money quantity is higher) that actually reduces "real" (joule-based) GDP. An example of this is wanting an even distribution of joule-based wealth more than total joule-based wealth. In other words "efficient" use of the joules may not be a physical conversion efficiency. But I will assume "real" GDP refers to net work energy in joules.

To keep constant value the quantity of the currency needs to be in proportion to the amount of power (energy per time) the infrastructure can produce, provided the currency's velocity (turnover rate) is constant. So the quantity of money divided by the time it takes the money to "turnover" (its 1/velocity) should remain proportional to the productive power of the infrastructure, which indicates the currency is in units of joules. That is, (money qty)*(velocity) = (net work energy in joules) / (time). But since constant value depends on (money qty)*(velocity) it does not strictly connect money to constant value as in coins with inherent value. The solution is to make money proportional to the infrastructure that creates the GDP. That infrastructure is an engine that has a net work output per time.  It took energy to create the infrastructure, so it's like a potential energy. So money can retain units of joules like the infrastructure and yet be directly connected to a joules/time.

The amount of currency in circulation should "lead" that power. For example, if a new discovery is going to increase efficiency and needs a large capital investment, an amount of currency needs to be created immediately in proportion to the expected benefits of the discovery and loaned to those who will profit from the discovery.  If the discovery increases real GDP as expected and thereby the loaned (created) money is repaid, the issuing authority (like a government) can spend it without inflation. If the venture fails and it's not repaid, there is inflation. Doing it this way pulls marginally unemployed infrastructure into action and/or causing slight temporary inflation that "steals" relative power from other sectors to get the discovery up and going quickly. Intellectual property, culture, and resource depletion affect the efficiency of the infrastructure's production and the efficiency of its use, so knowing the changes in the "power" for the purpose of increasing or decreasing the currency to keep constant value is not easy. We can make an initial error in estimating the true watts of production for the purpose of determining the amount of coin to issue, but it's OK is we are consistent in that error consistent (initial accuracy can be bad, but long term precision should be good). We only need to know that the amount of coin is staying proportional to the power of production, provided the velocity has not changed.  "Net work energy" is clearly defined in physics but we may not want to turn the net work output of our GDP infrastructure into fun heat energy. Evolution indicates we "want" to create more infrastructure that will capture more energy in the future to build more sustainable infrastructure, more quickly. A currency-issuing authority that guides its market in that direction the best is the one who will have the dominant currency. We might want more fun heat energy, but in the end the infrastructure that seeks to expand itself will dominate, pushing for a currency issuing authority that assists it in controlling assets (including people) to this end, eliminating liabilities (including people) along the way. China's rise and strict control of trade and currency is not an accident. USSR's fall in 1989 was a wake up call that economics is important, causing them to intelligently guide macroeconomics. The square caused the government to fear its people which is the opposite of the U.S. government which acts with ignorant impunity as a result of the wealth that resulted from winning the currency war. We've printed an excess for free foreign labor as fast as the increasing world GDP could absorb it, greatly slowing inflation, but reducing our own infrastructure.

A lot of currency is created as banks follow rules set out by governments to create it out of thin air using the asset and the credit-worthy borrower's promise to repay as assets in the banks books that offset the thin-air money.

Economics as an A.I.
Economic systems economize limited resources with competing (evolving) agents. Part of programming interacting A.I. agents is to create a currency that gives access to CPU time and memory space (I'll assume CPU time is primary concern). The quantity of the currency turnover per time must be proportional to CPU calculations per time. Each calculation requires energy and expansion of the A.I. system would mean gaining access to (creating or stealing) more CPUs (infrastructure). So a perfect parallel can be made between a specific type of A.I. and economics.

Slow inflation may be practical, violating constant value
How to increase and decrease the quantity of currency to assist the survival and expansion of the infrastructure is not obvious. It may be necessary to violate constant value. For example, there's a long history of erasing past debts as a way remove the "1%" from having too much power (see Michael Hudson's "The Lost Tradition of Biblical Debt Cancellations").  A 2% annual inflation puts pressure on large holders of the currency to invest the capital in the economy directly or via loans, or lose their value if they don't. 

Monday, February 18, 2019

The Problem with Avalanche (BCH & Ava)

[

update #3.  Here's my rant in a comment to their Sept 26, 2019 dev meeting

Avalanche is not a consensus mechanism for two related reasons: it does not quantify the voting population or detect network partitions. Not having Sybil or eclipse protection is not as big of a problem.   It proves consensus only among its peers without knowing what the wider network thinks, even if it has Sybil & eclipse protection.  It does not meet the "agreement" requirement mentioned in Wikipedia to be called a consensus mechanism. See Leslie Lamport's requirements for consensus and Coda Hale's "You Can’t Sacrifice Partition Tolerance" as an example of a researcher getting exasperated with people calling algorithms like Avalanche a consensus mechanism.  Nakamoto consensus was Earth-shattering in its ability to get consensus in a distributed permissionless setting with Sybil, Eclipse, and partition resolution (not just detection via slow solvetimes). VDF-POS is the only alternative (POS alone requires more excessive bandwidth as centralization & permission are increased). If you find something better like centralized staking for post-consensus, then you do not need Nakamoto consensus because you're unconsciously doing POS where Avalanche gets fast "consensus" at the cost of ruining partition detection which means you must let a real consensus mechanism override it.  I bugged deadalnix & Emin about this 9 months ago and their position is "partitions are rare". That's true, but if you get Sybil protection, you can still have an eclipse problem and more importantly it means it must not be the final say in consensus. Even if you let POW override it, when you get close to something working you'll realize a simpler semi-centralized technique using classical consensus will work better because Avalanche is only useful for quickly resolving the opinion of a large set of voters. If you have a large set, your Sybil protection is going to require a lot of communication. A Sybil solution may also contain  partition & eclipse protection, but keep in mind this conjecture: you can't carry Sybil etc protection over to the speed of Avalanche in a way that maintains the combination of protection, speed, and a level of decentralization that exceed POS + classical methods. Maybe there is a reason the Avalanche researchers want to be anonymous. They are clearly well-published, so why hide when publishing this?  If you use a smaller set of voters, I think you'll find a better solution such as semi-centralized mempools using classical consensus to prevent double spends. So merchants would trust the mempools for small-valued txns but realize they are not a guarantee like the actual blocks. If all nodes agreeing on individual txns are used, then Avalanche can be used, but it's only a suggestion for merchants and miners. To avoid full-blown POS that makes the consensus part of POW pointless, you would just not worry about Sybil protection, so POW would retain the right to over-rule the centralized mempool or node-based Avalanche.  The potential for preventing 51% attacks can only be achieved if you are basically subtly switching to a POS coin, not using the POW as consensus.  It makes no sense to keep Nakamoto consensus if you're going to overrule it with pre- and post- consensus.  You can just use POW in self-hashing txs to generate and distribute coin and just throw Nakamoto consensus out the window. VDF-POS as I've described is the only other option.

If you want fast consensus that maintains Nakamoto consensus, use a DAG.  See the issue in my github for how to do a DAG.


]

[
 Update #2. I recently learned BCH may allow past 100 block winners to be a committee to participate in Avalanche to confirm txs. This is to provide Sybil protection which was my main complaint below.  However, Avalanche's main benefit in speed with little communication by sampling only your peers, hoping they are connected to a much larger network. With only 100 blocks (and maybe only 20 actual distinct mines or pools in the committee), there seems to be little to no advantage over classical consensus methods which will have the advantage of proving consensus instead of hoping for it. Avalanche is not a consensus mechanism because it does not prove agreement between all non-faulty nodes (see Wikipedia). It can't know if a majority consensus has been reached because it does not quantify membership participation. It does not know if the network is split (as in a DoS or eclipse attack that can be combined with a double spend) with each side giving different results. All it knows is if your immediate peers agree. See this tweet thread for more of my more recent comments on Avalanche and 0-conf
https://twitter.com/zawy3/status/1174006755925417986

]



[ update #1:  I believe BCH and Ava are using Avalanche advantageously in this way: if the recipient is confident there is not a 51% attack or network partition in progress, then he can be a sure double spend will not be allowed.  But it invites 33% Sybil attacks on nodes (either locally or globally) to trick nodes into pre-approving txns that POW will have to overturn. The difference between a DAG and Avalanche is that a DAG measures network hashrate integrity by having lots of blocks solved quickly. Neither avoids POW's 51% problem.  ]

The problem with Avalanche is that it assumes a high level of node participation (the "membership" must not change too much, section 3.7).  So there's no protection against network partitions. It assumes the network remains largely intact and does not say what happens when the minority side comes to a different conclusion. There's no mechanism to tell which is the larger side. The authors said they would address this in a later paper, which is harder to do than Avalanche itself. It achieves Consistency and Availability but assumes there is no network Partition. Ava and BCH said partitions are not part of the real world, but if they were not a big issue,  Nakamoto (POW) consensus did not need inventing.

POW's magic is in selecting chain history with the least sum of partitions (via highest cumulative work) with only one voting (hashrate) member (miner) per election (block) needing to communicate that he won, and everyone immediately agreeing without even communicating an acknowledgment. The next vote begins without any other communication. The size of the voting membership (hashrate) is also determined from those single winning announcements, which set a variable for the next election to get an accurate average block time.  It's an amazing achievement. An enormous amount of communication overhead is avoided by making the voters work. No membership list is needed because POW does not prove there was no partition. It only proves the chain had the route of least partitions, assuming a 51% attack has not or will not occur.

If there is a network partition with Avalanche that coincides with conflicting spends on each side of the partition, the network is permanently forked. There's no mechanism to tell nodes which fork is correct unless it defaults back to POW. But if it defaults back to POW, the hidden chain's double-spends will overwrite the Avalanche-approved txns.  BCH said their implementation will allow miners to include txns that Avalanche has not voted on (and not required to include Avalanche-approved txns...both as a way to claim POS is not superseding POW).  This means there is no protection against a double spend because the attacker only needs to get one block on the public chain to include txns that did not receive Avalanche approval, paving the way for double-spends on the hidden chain.

I've tried to come up with ways to "repair" Avalanche with membership metrics that will enable it to detect network partitions. Fast finality, if not all basic POS, requires proof of sufficient network integrity. If centralization is to be avoided, the nodes must independently conclude the necessary percentage of voting members are known to be participating. This is not trivial. I assume Casper and Dfinity are solving this problem in complicated (suspect) ways.  I'm attempting my own design in a future post.





Sunday, September 9, 2018

Zipf's law: causes & derivable from Pareto

I specified the relationship between Pareto and Zipf distributions in wikipedia:


Wikipedia's excuse for Zipf's prevalence:


Preferential Attachment
A simple, common, and possibly accurate view is that there is a preferential attachment ("the rich get richer") going on, e.g. people are more strongly attracted to large cities because there are more opportunities. A common math example for preferential attachment is the Yule process.

Yule process
This is one of the best contenders for explaining Zipf's law and other Pareto (power law) distributions. In biology, the number of species in a genus (or members of a specie?) seems to follow a Yule process that results in a Pareto (power law) in its long tail. This process says a new specie is more likely to form in proportion to the number of species in that genera. It's a simple "the big get bigger in proportion to their size".  It assumes that no species die out. If that condition were included, its tail probably dies off quicker, which is seen in realistic data. Overall, this process gives a hump, or at least a dip at the front end, that is commonly seen in real-world data in their log-log plots. Zipf's law is rho = 0.

Deviation of Front and Tail from straight-line log-log plots
A simple power law such as Pareto (the continuous form of Zipf's) is a straight line on a log-log plot.  But most real data forms a hump, possibly more than the Yule process.  So the front and tail ends dip down from the straight line. The preferential attachment idea is amenable to this: after cities get beyond a certain size, there are drawbacks. If it's not beyond a certain size, there's no benefit to from the limited ability to cooperate.  If a word is used too often, it's not conveying information.  If  a word is used too rarely, no one understands it.  So a double Pareto has been suggested, to cover the front and back tails, but it gives too much of a sharp hump in the middle, so it seems a triple Pareto (power law) would be better. But in many cases, a primary Pareto with a secondary Pareto for the head or tail adjustment might be close enough to the best possible.

BTW,  Zipf-Madelbrot is simply a slightly more general form of Zipf's law, throwing in another constant that might be used to create a more general Pareto distribution (continuous form) by scaling it in a way that results in a CDF =1 at infinity.

This chapter  by a physicist is excellent.

This paper says Zipf law works because it is half way between order and disorder.  It normalized entropy per character is 1/2, half the maximum possible. (At N=100 it's 0.37 and at N=1,000 it's 0.44, using  normalized entropy = H(CDF)/log(N) in a spreadsheet).


Other possible explanations for Zipf's law
Zipf's law usually refers to systems that have an exponent of s = 1. The reason for this simple 1/rank is considered a mystery for a long time. A lot of theories have been proposed (two possibilities are mentioned above, but I don't know if they were s = 1).

An IEEE article (with more comments here) claims many experts say Metcalf's law should be that the "value" of the network is N*log(N) instead of N^2 and that this gives rise to Zipf's law. N^2 assumes the value of every additional connection is the same with every node connected to every other node. Log(N) allows loss in efficiency of the connections as the number of nodes increases. They point out the harmonic sum 1+1/2+1/3+ ... 1/N =~ ln(N) + 0.577. This is not surprising since the integral of 1/x is ln(x).So the network gives ln(N)+0.577 value to each of the N nodes, so the total network value is N*[ln(N)+0.577]. But the node math can't be converted (at least directly) to words and city populations because the nodes have an equal number of connections and the same distributions.  Maybe ideas (for words) or occupations (for city populations) could be treated like nodes. Maybe cities or words could be treated as different networks.



Tuesday, September 4, 2018

Analaogy between Gravity/Momentum and Magnetism/Electrostatics

There is a bewildering array of different ways to find mathematical analogies between mechanics and electromagnetism. Feynman discusses analogues to electrostatics, stating at least that part of the analogies is possibly merely the result of everything needing to be calculated in terms of space, and since vector math is the best way to deal with it, the equations will naturally come out similar. (The vector math of curl, divergence, and gradient should show up a lot.) For a simple example, the 1/R^2 rule shows up a lot. It is the strength of something at a distance R from a point source of some quantity.  The source is emitting "rays" of some sort that spread out as you get further from the source. If the quantity we're interested is proportional to the number of rays per surface area of an imaginary sphere of radius R, then we have a 1/R^2 rule.  It shows up in gravity, electrostatics, sound intensity, and the probability P per second of getting hit by a bullet from a madman (point source) firing N bullets per second in completely random 3D directions. 

Wikipedia has a bunch of analogies between mechanical and electrical systems but the most natural one seems to be the first one mentioned, the Impedance_analogy. It's presented as 4 different substitutions, but it looked like there should be a simple source of the relationships.  I noticed simply replacing charge movement (current)  with "meters movement" (velocity) would derive the relationships.  Replacing charge with meters is a bizarre idea which could explain why respectable sources do not seem to mention this connection.

Two basic electricity equations are:

V = L di/dt
i = 1/J dV/dt

V = volts
L = inductance
i = q/second
q = charge
1/J = C = capacitance

The charge => meters substitution gives valid analogous relationships:

F = M dv/dt
v = 1/K dF/dt

F = force
M = mass
v = x/second
x = meters
K = Hook's law

These equations extend to valid energy equations:
E = 1/2 J q^2  (capacitive energy)
E = 1/2 K x^2  (spring energy)
E = 1/2 L i^2  (inductive energy)
E = 1/2 M v^2 (kinetic energy)

Separating a capacitor's plates by distance x does not result in the spring equation. The analogy works because as a charge q is moved the distance across a capacitor's dielectric, there's not only a V force it's resisting, but it's presence once it's there increases the voltage for future charges trying to move against it. 

The most interesting possibility is a deep parallel between L and M because L is just the result of how charge flows. It creates a self-interacting magnetic field and magnetism (in a non-quantum world) can be derived from q and relativity, i.e. L is not a thing in and of itself in the way we normally think of mass being something "real". L is just the result of q being forced to flow in a self-interacting way  We know the kinetic energy is also the result of relativity increasing the mass as velocity increases.  Is mass just as fictitious as L? It's interesting that inductors are in the same shape as a spring. Is mass in some sense have a capacitor shape? We know in relativity the distance shortens in the direction of travel. This leads to the idea than areas of like charge are like capacitor plates being pushed together and this is the source of how extra energy is being stored when you accelerate a mass. Inertia would just be the force needed to push like charges closer together, although the plate view is not supposed to be the correct view because as I mentioned capacitor energy is not the result of plates pushed together. 

The above are the integrals over either a charge or distance. In other words, these are the derivatives of the above:

V = J*q
F = K*x
magnetic flux = L*i
momentum = M*v

J = 1/C is the difficulty with which q can move onto the capacitor, and K is the difficulty with which "distance can move onto a spring".  Similarly Mass and inductance are difficulty to increasing v and i.

i is to magnetic flux what v is to momentum. We think of pushing charges through inductors, so maybe we should think of moving meters through mass instead of moving a mass through meters.   

Two more equations to point out:

E = F*x
E = V*q

Electrical: Moving charges are confined in a spatial arrangement that we call an inductor. If we try to accelerate them, we encounter a push-back. If we overcome the push-back so that they move faster, it will cause the inductor to have a higher internal energy. (The inductor can be thought of as a superconducting  toroidal type.

Mechanical: "Moving meters" are confined (via charges?) in a an arrangement  we call mass. If we try to accelerate them, we encounter a push-back from their "self-inductance". If we overcome the push-back so that they move faster, it will cause the mass to have a higher internal energy.

To go deeper, I would like to insert v in place of i in Maxwell's equations because Einstein said Maxwell's equations are a great filter for weeding out false theoretical ideas because all relativistic ideas are subject to them. But a straight substitution into Maxwell's equations would seem to have a problem. Maxwell's equations are all about spatial relationships. Throwing in an extra spatial dimension to replace charge seems drastic. Do I exchange an x and q instead of replace the q?

Notice in the all the charge equations above, meters were not present except implied in say J or L.

Will it require somehow replacing the 3D spatial system of the equations with some kind of 3D charge system?  To be clear, this means there would be some sort of 3D "charge-space".  I was once told spatial dimensions are the result of quantum spin and I know spin is at the charge level, so I did a quick Google search for "spin charge" which showed electrons consist of 3 quasi-particles. Are the 3 quasiparticles related to charge in a way that is analogous to how the 3 spatial dimensions' are related to mass? 

Maxwell's equations can be derived from the idea of point charge emitting rays of force in 3D space, and them using relativity to generate the magnetic pair of equations. Magnetism = a relativistic effect of charges (Feynman and Schwartz cover this, but I didn't learn it from school, but came across it in a 1930's Encyclopedia Britannica before looking for it elsewhere). Magnetism is perpendicular to the movement of charge in space.  

Thursday, August 30, 2018

Chinese threat of > 50%

The biggest potential of BTC in the near term is for banks to view it
as good as gold, and hold it accordingly, especially as the dollar
collapses from the U.S. not having a manufacturing base (7% of the
population) and the world no longer needing to finance the US.
military by cycling their trade surpluses into U.S. treasuries that
make the deficit spending possible that makes the military possible.
The dollar house of cards should fall fast because the world "needs"
the last remaining support column, U.S. consumption, less and less.

But BTC is not tenable as a replacement currency if the Chinese
government can tell >50% of miners what to do, or produce enough
mining equipment to get that >50% in a dozen months. They are so
aggressive with solar (with its collapsing costs), no one will be able
to compete with them in electricity. But their ability to be cheapest
mining community has given the Chinese government a zero-cost
infrastructure they can take over at any time. If BTC stands in the
way of the the RMB copying the dollar's play book, they will have no
qualms in using the mining power at a loss to quash it. Only by
squashing it will they be able to dictate trade terms to the rest of
the world in the same way the U.S. military & dollar enabled the U.S.
since even before 1971. Their ability to control BTC's POW should reduce European
and U.S. banks' desire to rely on BTC as if it were gold.

BTW, I do not mean to downplay BTC's importance by equating it with gold: when the
dollar-led fiat bubble collapses, gold-like stuff should shine as it has at the beginning of any monetary collapse and wars.

The Chinese control the BTC mining equipment, and has the cheapest electricity. The shift
to fees does not change anything: China will still have the
POW that can dictate what the ledger says, choosing
txns more easily than the U.S. has been able to place embargos on countries that get
out of line. They need to only act like the U.S. for it to be a disaster for most of us.

The Chinese government may have little interest in BTC,
even if leaving it alone would be their best option. (It would be
because they have the manufacturing base and everyone rising together
would allow them to rise higher than the U.S. IMF/world bank play book allowed us).
But no government or people seems to have been that enlightened when
they have had such a large edge. It seems like they may follow the U.S.
and U.K empires' and guide the world towards the RMB, first
by being the world's greatest producer with the greatest trade
surplus, and then by letting the manufacturing base slip away via the drug
of currency "surplus" and trade deficit.

BTC can't go against the desires of China to an extent that's greater
than China's unwillingness to dictate terms to its mining community.  That
does not seem like a very great barrier. So BTC playing a supporting role to RMB dominance is a real possibility thanks to "might is right" POW mining. 

Bitcoiner's are all about capitalistic free markets and no welfare state, and yet they have a "kumbaya" feeling for a worldwide community-without-government consensus to define a world currency. But at its core is POW which is not a popular vote, or a vote for what's best for the world. It's based on power. If that power gets concentrated, then evolutionary rules replace consensus.  If China remains strong enough to maintain > 50% and if its government acts in a way to coordinate its miners, the rest of the world will be proven evolutionarily weak. It will be an example of really free market weeding out the weak, thanks to the absence of a world government that might have protected the weak via laws and a power outside of the blockchain.

Can BTC be made to prevent China from dictating the POW results?
There is such acrimony shown to forked clones that have so little
community and dev support, it would seem no one believes a
state-sponsored clone, backed by a tweet army, would have much trouble
in replacing BTC. China is the only one who could do this in addition
to POWing the real BTC into worthlessness.

Tuesday, August 28, 2018

Chinese investment in Africa

Much of the Chinese investment in Africa is probably good for Africa, like some of the West's investment in the 3rd world. But the instances of over-charging for infrastructure development (such as the Railway the FT mentions) creates an indebtedness that is also reminiscent of the U.S. model, especially the IMF/world bank play book, as long as the debt to China is in RMB or USD. Debt in local fiat is far better for Africa, as it gives them the option of printing away (inflating) the debt, giving a fiat to China that China can only off-load by spending on things from that same country, employing it's people and businesses. The "inflating away" is not a a total cheat because China can use it to gain some control over that country's people. But it does motivate china to not make bad loans, motivating them to remain interested in the productive success of whatever the loans were for, so that the debt does not need to be inflated away.

Africa investment in USD is alternative to risky U.S. treasury debt. They have to offload excess USD from U.S-China trade imbalance. They can't buy U.S. stocks & real estate. To repay loans, Africa will give resources to China, exported on those same over-priced railways.

If most the money (RMB or USD) is spent on Chinese intellect or labor, they don't even lose the money "loaned"...it goes back to China....so the resources are obtained for the cost of the infrastructure in a way that keeps their trade surplus.

China is graduating 10x more engineers per year than U.S. and building about 10 tons per year per U.S. citizen in its infrastructure. If it continues to grow 3% per year faster than U.S. for the next 40 years (as I expect), that will be 1.03^40 = 3.2x bigger than it is now, compared to U.S. They are not likely to lose their empire edge as fast as Spain, U.K., and U.S. did in prior centuries because they really understand the economics and importance of protectionism better than we ever did. They will not let their manufacturing base slip away as easily as the U.S. did.

But even China is irrelevant compared to on-going rise of the machines.

Thursday, August 16, 2018

Microscopic gravity-powered mechanical computer

This post can be of general interest, but I need it as background reference material for a future article about cryptocurrencies.

A mechanical, gravity-based bit
Let's say that a bit in our system is a ball in a box instead of electrons stored on a capacitor or magnetic domains stored on a ferro-magnetic material.  A 0 or 1 is if the ball is or is not in the box.  For our ball to remain in the box, it must have at least a 50% chance of not being bumped out of the box by thermal agitations. This is the basis of Landauer's principle. The energy needed to do this according to the principle is E1 = k*T*ln(2) where k = 1.38E-23 = Boltzmann's constant and T = absolute temperature in Kelvins.  At room temperature T = 300 so that E1= 3E-21. This is very close to a van der Waals force, which is an attraction so weak it's not considered a bond. Hydrogen bonds are the weakest of attractions called bonds and are not considered permanent in water, due to the polar nature of water and thermal agitations. They are from 2x to 20x stronger. So the Landauer limit is unrealistically low. Covalent bonds are about 200x stronger, and ionic bonds are about 400x to 2000x stronger. In a computer we need a LOT more reliability than 50% chance of the ball being in the box.  If we use E2 as our energy barrier, frequency of a bit escaping out is f = f0 * e^(-E2/E1). See Arrhenius equation (E1 for this part should be k*T, 30% larger than k*T*ln(2)). f0 is the frequency of thermal vibrations in the crystal which is on the order of 10THz for silicon, the structure I'll make this CPU out of. 10 THz is a great overestimate of what I'll need because the balls I'll use are bouncing off the surface so that only a portion of the vibrations are imparting energy.  Let's say I'll make it a nice big CPU with really high reliability. Say 100 million NAND gates with about 2 energy wells per gate and Ill allow 1 error per 10 years, so I want "f" error rate = 1 per 10yr*8670 hrs/sec*3600 sec/hrs*100 million gates*2 wells/gate.Rearranging gives E2/E1 = -ln(f/f0).  For these numbers, I get E2 needs to be > 70 * E1. E1 here is 30% less than my E1=k*T*ln(2), so E2 > 100 * E1. so it appears the strength can be like a weak covalent bond, which makes sense, assuming covalent bonds in air at normal T & P conditions almost never break.

If the ball has a mass in kg of "m", then the height "h" of the walls in meters has to follow the E2 = mgh equation to determine the h necessary to store the ball in the box (g=10 for gravity on Earth).   If I use balls that are 50 billion atoms of gold, E2 = 100*3E-21 = 50E9*1.66E-27 kg/amu*198 amu/goldAtom*(g=10)*h.  Solving gives height of wall = 1.8 microns. The diameter of the ball is 1.2 microns.

Mechanical NAND Gate

This will show that a logic circuit making the simplest single calculation must use the same amount of energy as storing a bit. This is obvious if you already understand entropy and its relation to energy because 2 bits of energy come in and 1 goes out, so the other bit must have turned into heat. That's the minimum energy expenditure for a logic function, not counting esoteric reversible logic.

But that's not enough for my goal. My goal is to show the fundamental physics basis of all the deep parallels between economics and computing.

A single type of many different gates (like NAND, XOR, Toffoli, Fredkin, etc) can (and have) form a complete computer.  The NAND is the usual one used, so I'll use that one. I only need to design a single NAND gate for my purpose, and let others decided how to use them to build a computer.

The balls shown are defined in the bit section above. The pink lines are tubes that return the balls to a pump (not shown) that returns them to the top.

I accidentally made an AND gate instead of NAND gate, but this will show the general idea. This is lacking in detail that I could only fix by building a physical model or with 3D software.

The left-side balance goes down only when there are 2 balls on the left side. It's not shown, but the input has two slots.  Only 1 is shown because we are looking at the side view.  The output can also have more than 1 output.  The balls being stored at the top is a system-wide potential energy well that powers the computer, like voltage drives electrons. There is a rectangular counterweight on the balance equal to the weight of 1 ball.  If 2 balls come in on the inputs, causing the left balance to fall, closing the output . If only 1 ball comes in the top, it is basically back up to its initial level, and there is a mechanism to roll them out of the way to clear the gate for the next computation.



The green and red bars represent walls that go up and down (valves). CPUs are engines going through a cycle, so it's natural they have valves.  They have to be synchronized with a clock. They go down to let previous balls out.. They close after all balls have had time to get in place, in the entire computer. They can weigh much less than the balls and can be mechanically linked so that thermal vibrations cancel each other in trying to raise and lower the individual valves.

The cycle is: green valves open, balance resets. Green valves close, red valves opens. Red valves close. Inputs applied to "highest-level" NAND gates, which has a cascade effect of triggering all the NAND gates that it should. It takes some time to propagate as the appropriate balances fall. Repeat (green valves open).

Each level is the "well" that makes sure we know what state the balls are in: they are deep enough that we know the balls will not bounce out. When 2 balls come into the inputs, the balls fall two levels.  This is a total of 4 units of energy calculated in the previous section that gives me a guaranteed bit, so in 1 cycle, 4 units were used. If no balls come in, zero.  If 1 ball comes in, 1 unit.  There are 4 possible states: 0 balls, 1 ball in "left" side, 1 ball in "right" side, and both balls.  According to Landauer limit, it should average 1 unit of energy, and here I have used (0+1+1+4)/4 = 1.5 units.  One way to help is to let only 1 ball out at the bottom when 2 balls come, so the other can be helped to get back up 1 of the two levels. A more complicated design and arguments might be able to use the counterweight in a might help further.

There are two balls at the top which help push balls into the top compartment when the red valve goes down. This means I have to raise the balls a little more than the top floor. There needs to be at least as many as the number of red valves. The deeper the top layer of balls, the faster they will be pushed into place, enabling a faster computer but requiring more energy since the balls have to be raise higher. Also, the computer has to wait on the balls to fall which depends on force of gravity. If they were magnetically pulled down to fall faster, this would make it faster, but again require more energy.  Also, the wedges needed to get the balls out will force it to require a deeper gravity, again requiring more energy per gate per operation.  This seems to show a connection to the Margolus–Levitin theorem aka Bremermann's limit which says a bit can transition from one state to the next with a combination of more energy and more time.
bits  = 4Et/h
where E = energy, t = time, and h =Planck's constant.   So if E is higher, the time per bit can be less.

Clock Speed: The central clock will have a massive ball raised and lowered based on the clock that provides the energy to raise and lower the light-weight green walls..The clock speed is based on how quickly the balls can fall h which is based on h = 1.8 micon = 1/2*g*t^2 which gives t = 0.007 seconds on Earth where g=10. A clock cycle is at least 2x this which makes this a 750 Hz machine.  I could have chosen heavier balls to get an h as low as 1 nm which gives 28 kHz.

"Transistor" Density?
Four transistors are needed to create a NAND gate. It looks like my NAND gate will take up about 10x30 microns. This gives me about 1.3 million "transistor equivalents" in 1 cm^2 of material.

Memory
Memory may be built more simply, but two NAND gates can be wired as a flip flow to create bit storage.