Vibratory Money​
​by José Manuel Rodríguez Caballero

Disclaimer

The present work is only theory. A real-life implementation is subject to local legal regulations which will not be covered in this talk.

Simple program

I will first present a simple model and then study its properties.
In[]:=
F[x_,y_,z_]:=​​Block[{t=x},​​Function[{i,j},If[Xor[y[[i]],z[[i]]]==Xor[y[[j]],z[[j]]],​​(*then*){t[[i]],t[[j]]}={t[[i]]-1,t[[j]]+1},​​(*else*){t[[i]],t[[j]]}={t[[i]]+1,t[[j]]-1}​​]][First[#],Last[#]]&/@Subsets[Range[Length[x]],{2}];​​t​​]
The properties of the model will motivate its applications and not the other way around.
I do not follow the ancient tradition of engineering; I am following A New Kind of Science.

Simulation I

Consider the following simulation, where
x is an array of random numbers;
y and z are chosen to be the array of False.
In[]:=
n=30;​​X={Table[RandomInteger[{-3000,3000}],{n}]};​​y=Table[False,{n}];​​z=Table[False,{n}];​​Do[X=Append[X,F[Last[X],y,z]],​​1000]
In[]:=
Show[Table[ListPlot[Table[X[[i]][[k]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000}],{k,n}]]
In[]:=
Animate[ListPlot[X[[i]],Axes->{False,False},PlotRange{-4000,4000}],{i,1,Length[X],1},AnimationRunningFalse,AnimationDirectionForwardBackward]

Simulation II

Consider the following simulation, where
x is an array of random numbers;
y is an array of random Boolean values;
z are chosen to be the array of False.
In[]:=
n=30;​​X={Table[RandomInteger[{-3000,3000}],{n}]};​​z=Table[False,{n}];​​Do[X=Append[X,​​y=Table[RandomChoice[{False,True}],{n}];​​F[Last[X],y,z]],​​1000]
In[]:=
Show[Table[ListPlot[Table[X[[i]][[k]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000}],{k,n}]]
In[]:=
Animate[ListPlot[X[[i]],Axes->{False,False},PlotRange{-4000,4000}],{i,1,Length[X],1},AnimationRunningFalse,AnimationDirectionForwardBackward]

Simulation III

Consider the following simulation, where
x is an array of random numbers;
y is an array of random Boolean values;
z is an array of random Boolean values.
In[]:=
n=30;​​X={Table[RandomInteger[{-3000,3000}],{n}]};​​Do[X=Append[X,​​y=Table[RandomChoice[{False,True}],{n}];​​z=Table[RandomChoice[{False,True}],{n}];​​F[Last[X],y,z]],​​1000]
In[]:=
Show[Table[ListPlot[Table[X[[i]][[k]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000}],{k,n}]]
In[]:=
Animate[ListPlot[X[[i]],Axes->{False,False},PlotRange{-4000,4000}],{i,1,Length[X],1},AnimationRunningFalse,AnimationDirectionForwardBackward]

Simulation IV

Consider the following simulation, where
x is an array of random numbers;
y is an array of random Boolean values;
z is an array of random Boolean values;
z[[1]] = y[[n]] and z[[n]] = y[[1]] (statistical correlation).
In[]:=
n=30;​​X={Table[RandomInteger[{-3000,3000}],{n}]};​​Do[X=Append[X,​​y=Table[RandomChoice[{False,True}],{n}];​​z=Table[RandomChoice[{False,True}],{n}];​​{z[[1]],z[[n]]}={y[[n]],y[[1]]};​​F[Last[X],y,z]],​​1000]
In[]:=
Show[Union[Table[ListPlot[Table[X[[i]][[k]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000}],{k,2,n-1}],{ListPlot[Table[X[[i]][[1]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000},PlotStyleRed],ListPlot[Table[X[[i]][[n]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000},PlotStyleBlack]}]]
In[]:=
Animate[ListPlot[X[[i]],Axes->{False,False},PlotRange{-4000,4000}],{i,1,Length[X],1},AnimationRunningFalse,AnimationDirectionForwardBackward]

Simulation V

Consider the following simulation, where
x is an array of random numbers;
y is an array of random Boolean values;
z is an array of random Boolean values;
z[[1]] = y[[n]] and z[[n]] = Not[ y[[1]] ] (statistical correlation).
In[]:=
n=30;​​X={Table[RandomInteger[{-3000,3000}],{n}]};​​Do[X=Append[X,​​y=Table[RandomChoice[{False,True}],{n}];​​z=Table[RandomChoice[{False,True}],{n}];​​{z[[1]],z[[n]]}={y[[n]],Not[y[[1]]]};​​F[Last[X],y,z]],​​1000]
In[]:=
Show[Union[Table[ListPlot[Table[X[[i]][[k]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000}],{k,2,n-1}],{ListPlot[Table[X[[i]][[1]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000},PlotStyleRed],ListPlot[Table[X[[i]][[n]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000},PlotStyleBlack]}]]
In[]:=
Animate[ListPlot[X[[i]],Axes->{False,False},PlotRange{-4000,4000}],{i,1,Length[X],1},AnimationRunningFalse,AnimationDirectionForwardBackward]

Simulation VI

Consider the following simulation, where
x is an array of random numbers;
y is an array of Boolean values;
z is an array of Boolean values;
z[[i]] = y[[n]] and z[[n]] = y[[i]] for all 1 ≤ i ≤ n -1 such that x[[ i ]] > 1000
In[]:=
n=30;​​X={Table[RandomInteger[{-3000,3000}],{n}]};​​L=Select[Range[n-1],X[[1]][[#]]>1000&];​​Do[X=Append[X,​​y=Table[RandomChoice[{False,True}],{n}];​​z=Table[RandomChoice[{False,True}],{n}];​​For[i=1,i<=Length[L],i++,​​{z[[L[[i]]]],z[[n]]}={y[[n]],y[[L[[i]]]]}];​​F[Last[X],y,z]],​​1000]
In[]:=
Show[Union[Table[ListPlot[Table[X[[i]][[k]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000}],{k,2,n-1}],{ListPlot[Table[X[[i]][[n]],{i,Length[X]}],Axes->{False,False},PlotRange{-4000,4000},PlotStyleBlack]}]]
In[]:=
Animate[ListPlot[X[[i]],Axes->{False,False},PlotRange{-4000,4000}],{i,1,Length[X],1},AnimationRunningFalse,AnimationDirectionForwardBackward]

Technological implementation

The values of x can be stored in a cloud.
The random values of the variable y can be implemented as outputs of measurements of the Bell states shared between the cloud and any user through a secure quantum channel.
Random values of z can be implemented as random numbers generated by the user’s cell phone and transmitted to the cloud through an insecure classic channel.
Statistical correlations associated with money transfers can be implemented by connecting two cell phones via a cable (secure classical channel).
Selling point: Because the attacker of the insecure classic channel does not know the result of the Bell state measurement, he/she cannot gain an advantage in money transfers by supplanting the users’ identity.

Future work

To explore the economic interpretations of other simple programs.
The program should not be motivated by the applications, but the applications should be motivated by the properties of the simple program, i.e., follow the methodology from A New Kind of Science, rather than the methodology of engineering.

References

Bell, John S . “On the Einstein Podolsky Rosen paradox.” Physics Physique Fizika 1.3 (1964) : 195.
Einstein, A; B Podolsky; N Rosen (1935 - 05 - 15) . “Can Quantum-Mechanical Description of Physical Reality be Considered Complete?”. Physical Review . 47 (10) : 777–780.
Malaney, P . N ., 1996. “The index number problem : a differential geometric approach” (Doctoral dissertation, Harvard University).
S . Wolfram, Conversation about unintentional transfers. Personal communication related to the Wolfram Physics Project, 2020, 2021.
S . Wolfram, “A New Kind of Science.” Vol . 5. Champaign, IL : Wolfram media, 2002.
S . Wolfram, “A Class of Models with the Potential to Represent Fundamental Physics,” Complex Systems, 29 (2), 2020 pp . 107–536.
https : // doi . org/10.25088/ComplexSystems .29 .2 .107