It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
% Script file for Matlab or Octave, tested with Matlab 2007b and GNU Octave 3.0.0.
%
% This script illustrates the Total Money Supply and the corresponding yearly rates of Money Supply increase
% (="inflation") of a (crypto-)currency, depending on the scheme how coins are brought into existence.
%
% Schemes considered include:
% - constant inflation rate (=exponential money supply growth)
% - linear growth of money supply (i.e. constant rate at which new coins are being generated)
% - logarithmic growth of money supply
% - Bitcoin-like coin generation with regular block reward halving
% - no growth, constant money supply
N = 248; % number of years, must be multiple of 4
timelimit=30; % how much to zoom-in after pressing, to show years 0 till "this year"
money_supply_after_1_year = 50*52500; % 52500*50 corresponds to nb of bitcoins after 1 year
%% I. Calculate the Money Supply:
%
% About the index: Index "2", i.e. money_supply_xxxx(2), denotes the amount of existing coins after the end
% of the 1st year or start of year 2.
time = [0:1:N];
%% I - (0) Constant
money_supply_const = money_supply_after_1_year*ones(1,N+1);
%% I - (1) Linear Growth
money_supply_linear = money_supply_after_1_year*time;
%% I - (1b) Logarithmic Growth:
% The amount of coins being mined is decreased like this:
% In the first year, coins are mined at a constant rate, and add up to Nc coins at the end of year one.
% The number of coins that are newly created in year n (n>=2) is equal to b/n * Nc,
% where b is a positive coefficient, typically between 0 and 2, but can also be greater than 2.
a = 1.0; % Nc = a*money_supply_after_1_year*ones, i.e. money supply after 1st year can be tuned by this parameter.
b = 1.8; % 0<=b<=2, or b >2 also possible
c = 1.0; % Exponent for "nb of years" variable. Greater values mean slower growth. If =0, logarithmic growth becomes linear.
money_supply_log = a*money_supply_after_1_year*ones(1,N+1);% this is the nb of coins after 1st year, i.e. money_supply_log(2)
money_supply_log(1) = 0;
for k = 3:N+1,
n = k-1; % calculate for year "n" now:
money_supply_log(k) = (a*money_supply_after_1_year) * b/(n)^c + money_supply_log(k-1);
end
%% I - (2) Exponential Growth (1% Inflation Per Year)
money_supply_exp1 = money_supply_after_1_year*ones(1,N+1);
money_supply_exp1(1) = money_supply_exp1(2)/1.01;
for k = 3:N+1,
money_supply_exp1(k) = 1.01*money_supply_exp1(k-1);
end
%% I - (2b) Exponential Growth (5% Inflation Per Year)
money_supply_exp5 = money_supply_after_1_year*ones(1,N+1);
money_supply_exp5(1) = money_supply_exp5(2)/1.05;
for k = 3:N+1,
money_supply_exp5(k) = 1.05*money_supply_exp5(k-1);
end
%% I - (3) Bitcoin-like Growth
money_supply_BTC = NaN*ones(1,N+1);
money_supply_BTC(1) = 0;
money_supply_BTC(2) = 1*money_supply_after_1_year;
money_supply_BTC(3) = 2*money_supply_after_1_year;
money_supply_BTC(4) = 3*money_supply_after_1_year;
money_supply_BTC(5) = 4*money_supply_after_1_year;
increase = 1/2*money_supply_after_1_year; % block reward halving every 4th year
for k = 6:4:N+1,
for kk = k:k+3,
money_supply_BTC(kk) = money_supply_BTC(kk-1) + increase;
end
increase = increase/2;% block reward halving every 4th year
end
money_supply_max = max(money_supply_const, money_supply_linear);
money_supply_max = max(money_supply_log, money_supply_max);
money_supply_max = max(money_supply_exp1, money_supply_max);
money_supply_max = max(money_supply_exp5, money_supply_max);
money_supply_max = max(money_supply_BTC, money_supply_max);
%% II. Calculate the Inflation Rate:
inflation_rate_const = inf*ones(1,N);
inflation_rate_linear = inf*ones(1,N);
inflation_rate_log = inf*ones(1,N);
inflation_rate_exp1 = inf*ones(1,N);
inflation_rate_exp5 = inf*ones(1,N);
inflation_rate_BTC = inf*ones(1,N);
for k = 2:N-1,
inflation_rate_const(k) = money_supply_const(k+1) / money_supply_const(k) - 1;
inflation_rate_linear(k) = money_supply_linear(k+1) / money_supply_linear(k) - 1;
inflation_rate_log(k) = money_supply_log(k+1) / money_supply_log(k) - 1;
inflation_rate_exp1(k) = money_supply_exp1(k+1) / money_supply_exp1(k) - 1;
inflation_rate_exp5(k) = money_supply_exp5(k+1) / money_supply_exp5(k) - 1;
inflation_rate_BTC(k) = money_supply_BTC(k+1) / money_supply_BTC(k) - 1;
end
% Special correction for exponential inflation rates:
inflation_rate_const(1) = inflation_rate_const(2);
inflation_rate_exp1(1) = inflation_rate_exp1(2);
inflation_rate_exp5(1) = inflation_rate_exp5(2);
%% III. Plot Results:
figure
subplot(2,2,1);
plot(time, money_supply_exp5,'r-.','linewidth',2); hold on;
plot(time, money_supply_exp1,'r-','linewidth',2); hold on;
plot(time, money_supply_linear,'b-','linewidth',2);
plot(time, money_supply_log,'c--','linewidth',2);
plot(time, money_supply_BTC,'m-','linewidth',2);
plot(time, money_supply_const,'g-','linewidth',2);
grid on;
title('Total Money Supply');
xlabel('Time in Years')
ylabel('Total Money Supply (Coins in Existence)')
legend('Inflation 5% p.a.','Inflation 1% p.a.','Constant Linear Increase',['Logarithmic Increase, a=',num2str(a),', b=',num2str(b)],'BTC-like Increase','No Money Increase','location','northwest');
subplot(2,2,2);
semilogy(time, money_supply_exp5,'r-.','linewidth',2); hold on;
semilogy(time, money_supply_exp1,'r-','linewidth',2); hold on;
semilogy(time, money_supply_linear,'b-','linewidth',2);
%semilogy(time, money_supply_log,'c--','linewidth',2);
semilogy([0.25, 0.5, time(2:end)], [[0.25, 0.5]*money_supply_log(2),money_supply_log(2:end)],'c--','linewidth',2);
% semilogy(time, money_supply_BTC,'m-','linewidth',2);
semilogy([0.25, 0.5, time(2:end)], [[0.25, 0.5]*money_supply_BTC(2),money_supply_BTC(2:end)],'m-','linewidth',2);
semilogy(time, money_supply_const,'g-','linewidth',2);
grid on;
title('Total Money Supply (Logarithmic Scale)');
xlabel('Time in Years')
ylabel('Total Money Supply (Coins in Existence)')
subplot(2,2,3);
plot(time(1:end), 100*[inflation_rate_exp5(1),inflation_rate_exp5],'r-.','linewidth',2); hold on;
plot(time(1:end), 100*[inflation_rate_exp1(1),inflation_rate_exp1],'r-','linewidth',2); hold on;
plot(time(2:end), 100*inflation_rate_linear,'b-','linewidth',2);
plot(time(2:end), 100*inflation_rate_log,'c--','linewidth',2);
plot(time(2:end), 100*inflation_rate_BTC,'m-','linewidth',2);
plot(time(1:end), 100*[inflation_rate_const(1),inflation_rate_const],'g-','linewidth',2);
grid on;
title('Yearly "Inflation" Rate of Total Money Supply');
xlabel('Time in Years')
ylabel('Yearly Increase of Money Supply in Percent')
legend('Inflation 5% p.a.','Inflation 1% p.a.','Constant Linear Increase',['Logarithmic Increase, a=',num2str(a),', b=',num2str(b)],'BTC-like Increase','No Money Increase','location','northeast');
subplot(2,2,4);
semilogy(time(1:end), 100*[inflation_rate_exp5(1),inflation_rate_exp5],'r-.','linewidth',2); hold on;
semilogy(time(1:end), 100*[inflation_rate_exp1(1),inflation_rate_exp1],'r-','linewidth',2); hold on;
semilogy(time(2:end), 100*inflation_rate_linear,'b-','linewidth',2);
semilogy(time(2:end), 100*inflation_rate_log,'c--','linewidth',2);
semilogy(time(2:end), 100*inflation_rate_BTC,'m-','linewidth',2);
semilogy(time(1:end), 100*[inflation_rate_const(1),inflation_rate_const],'g-','linewidth',2);
grid on;
title('Yearly "Inflation" Rate of Total Money Supply (Logarithmic Scale)');
xlabel('Time in Years')
ylabel('Yearly Increase of Money Supply in Percent')
legend('Inflation 5% p.a.','Inflation 1% p.a.','Constant Linear Increase',['Logarithmic Increase, a=',num2str(a),', b=',num2str(b)],'BTC-like Increase','No Money Increase','location','southeast');
a=axis;
axis([a(1), a(2), 1e-3, 1e2]);
disp('--> Pressto zoom in...')
pause
for k=1:4,
subplot(2,2,k);
a=axis;
if k < 3,
a4=money_supply_max(timelimit);
elseif k == 3,
a4=30;
else
a4=a(4);
end
axis([a(1), timelimit, a(3), a4]);
end