- The title is: 'Zero to Hero, or why you should put 5% of your cash/fiat into Bitcoin'.
- The alternative title is the 'Purpose for BBCD Satoshi - rationale for investing in Bitcoin'.
Showing posts with label Bitcoin. Show all posts
Showing posts with label Bitcoin. Show all posts
Tuesday, March 1, 2022
Zero to Hero, or why you should consider investing in Bitcoin
I've just published an article which is the basis/rationale for investing in Bitcoin. Actual article location: https://bbcdsatoshi.blogspot.com/p/rationale.html
Please take a look and send your thoughts or comments to me:
Friday, February 25, 2022
Thursday, February 24, 2022
Useful links
Here are some useful links which include a visual block chain explorer and countdown for the bitcoin halving.
Please look at each of these recommended external links. At some point in your Bitcoin journey they will be useful to you https://bbcdsatoshi.blogspot.com/p/media.html
Wednesday, February 16, 2022
Large collection of resources for learning all about Bitcoin
Here is a large collection of resources for learning all about Bitcoin. Click here
If you have any more suggestions to add to this list, please send me a message at:
Monday, February 14, 2022
Book Review: Bitcoin, The Future of Money? By Dominic Frisby
Review:
"This book is an excellent introduction to Bitcoin. The book discusses some key facts about Bitcoin and the history of cryptocurrency. There is also a discussion about Satoshi Nakamoto and who he/she/them/it was is or are."
Wednesday, February 9, 2022
Mantra and slogan
For the last few years my Twitter account has had a mantra and slogan as part of the profile. It sums up quite neatly why I am interested in Bitcoin. It also sums up a piece of advice I wish I could tell my self 12 years ago. The slogan is "Buy Bitcoin, you'll thank yourself in the future".
Saturday, November 28, 2020
Wednesday, April 1, 2020
Tuesday, January 21, 2020
Friday, September 20, 2019
Quote of the decade from the BBC...
"This time, analysts think what's happening is caused by an issue with money supply."
Monday, July 29, 2019
Understanding the Technical Side of Bitcoin
Source: https://medium.com/@pierre_rochard/understanding-the-technical-side-of-bitcoin-2c212dd65c09
Computer Literacy
Read an overview of different computer hardware components, the physical objects you will be accessing: https://www.explainingcomputers.com/hardware.html
Read the book Code: The Hidden Language of Computer Hardware and Software by Charles Petzold, recommended by Lightning protocol engineer Lisa Neigut. I haven’t read it (yet!) but the Amazon reviews look very promising.
Learn to type: https://www.typing.com/
To get a high-level overview of operating systems from a user’s perspective, get the latest “For Dummies” book for the operating system you are using: Linux, macOS, or Windows. If you have the time and inclination, have all three operating systems installed on the same or on different computers to see which you prefer and to access software that is exclusive to that operating system.
Command Line
As a user you could stop here, but if you want to get technical you’ll have to get comfortable with the command line, a text-only interface where your mouse is (usually) useless! The command line interface (CLI) is the opposite of what you’re probably used to interacting with, the graphical user interface (GUI). I know just enough about the CLI to get by, but there are folks out there who are CLI wizards. Windows has a very different CLI from Linux and macOS, so I would recommend installing the Windows Subsystem for Linux (WSL). It will allow you to learn the command line in a way that is generally portable to macOS and Linux.
There are lots of guides online, and documentation inside the command line itself. Christopher Allen wrote up a tutorial that is macOS focused https://github.com/ChristopherA/intro-mac-command-line and Codecademy has an in-browser course: https://www.codecademy.com/learn/learn-the-command-line
Git
git is a distributed version control system that is widely used in software development. I think git is important to learn because it is used by all of the Bitcoin and Lightning projects I have encountered (correct me if I’m wrong!), and technical documentation often uses git and it would be great if you contribute typos, corrections, improvements, and additions “upstream” as you work through the docs. GitHub.com is a web service that is built on top of git with a GUI, but git is generally interacted with locally (on your computer/laptop) using the CLI. Here are resources and tutorials for getting started with git: https://try.github.io/
Command Line + Bitcoin + Lightning
Give Mastering Bitcoin a close read: https://www.amazon.com/Mastering-Bitcoin-Unlocking-Digital-Cryptocurrencies/dp/1449374042 or https://github.com/bitcoinbook/bitcoinbook
Work through Programming with Bitcoin Core and Lightning by Christopher Allen: https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line/blob/master/README.md
Bitcoin Improvement Proposals (BIPs) are a hodgepodge, so maybe focus on the ones that seem to crop up often in your readings. I wouldn’t necessarily recommend trying to sit down and reading them all from beginning to end. Here they all are: https://github.com/bitcoin/bips/blob/master/README.mediawiki
Mastering Bitcoin has a brief section on the LN. Read Joe Kendzicky’s LN Technical Primer: https://blog.usejournal.com/the-bitcoin-lightning-network-a-technical-primer-d8e073f2a82f recommended by Billy Garrison.
The LN in-progress specifications are here: https://github.com/lightningnetwork/lightning-rfc
I highly recommend carefully reading through these BOLTs from beginning to end, a couple of times if needed! They are, or should be, understandable for non-developers (if something is not clear, research to reword the BOLT and submit a pull request!).
I would recommend watching the Chaincode Labs Lightning Residency video series here https://www.youtube.com/watch?v=aX7lOqf83h0&list=PLpLH33TRghT1SbxinAsNDS6L7RkAjC8ME, read Lighting Labs’ overview https://dev.lightning.community/overview/ and work through the Lightning Labs CLI tutorial https://dev.lightning.community/tutorial/
If you want A LOT more links about Bitcoin / blockchain / Lightning see Oded Leiba’s guide https://github.com/oleiba/blockchain-getting-started
If you stopped here you would have a very solid amount of computer experience, at least a basic understanding of the technical side of BTC/LN, and a clear path to experimenting with other people’s software. But maybe you want to write your own software!
Programming
I think that if you try to learn programming topics that are directly related to the most popular Bitcoin implementation (“Bitcoin Core”, also called “bitcoind”) then you’ll probably overwhelmed. To my knowledge there are no smooth learning curves for learning C++. I think its easier to learn a language like Python first, as it hides a lot of complexity and allows you to focus on mastering the basics of programming logic first. Coincidentally, the Bitcoin Core test suite is written in Python.
There’s a lot that has been written about learning how to code. My route was to start with Python on Codecademy https://www.codecademy.com/learn/learn-python
My friend Michael Goldstein got started with a Ruby on Rails tutorial book written by Michael Hartl, who has lots of great free and paid resources here: https://www.learnenough.com/ Find Hartl on Twitter here: https://twitter.com/mhartl
Warning: Programming is a notoriously frustrating experience. You will *repeatedly* have errors that take you hours to figure out (and the cause was “dumb”, maybe a typo). Please understand that this is everyone’s experience, you are not alone! Aggressively use Google early and often when you run into errors. If you solve the problem with a Google search, think about how you could have avoided the error in the first place and how you can detect the cause and fix it without Google. This will allow you to get faster at “debugging”. Eventually, you’ll write large amounts of code that don’t have too many “simple” obvious bugs, the code will just have really complicated and insidious bugs!
Often, an integrated development environment (IDE) can automatically point out problems to you so you have decades of programmer experience helping you out. Personally I’ve enjoyed using the IDE maker JetBrains over the years in all languages. For Python they have PyCharm (the community edition is free, the pro edition is free for college students) https://www.jetbrains.com/pycharm/.
You can also recreate a Codecademy-like environment that is web-based and highly interactive with Jupyter IPython https://ipython.org/ I really recommend this for rapidly iterating with experiments.
If after that experience you get addicted to programming and Python like I did, check out https://docs.python-guide.org/
I learned basic web development by following Miguel Grinberg’s Flask Mega-Tutorial: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
You can probably find the same combination of interactive tutorial + simple web framework tutorial for any modern programming language. A popular programming language is JavaScript because it can be used both inside a user’s web browser as well as on the server hosting the web content.
“Full stack” web development led to me learning about relational and document databases, key/value stores , message queues, concurrency, networking, etcetera that are either somewhat or completely applicable to BTC/LN programming. Having said that, you can learn all about these concepts by working on BTC/LN itself instead of unrelated web development like I did!
When you become proficient and comfortable with “hobbyist scripting”, start challenging yourself. Whatever modern programming language you’re using, there are “intermediate” and “advanced” books on topics like object-oriented and functional programming. There are also very interesting books that are generically about software architecture, code quality, development methodology, testing, and so on. You can always improve your programming chops by learning shiny new languages, reading code that is widely seen as high quality, and asking for a code review on StackExchange: https://codereview.stackexchange.com/
Programming + Bitcoin
Work through Learn Blockchains by Building One by Daniel van Flymen: https://hackernoon.com/learn-blockchains-by-building-one-117428612f46
Experiment with James O’Beirne’s minimalist Tinychain: https://github.com/jamesob/tinychain
If you choose to learn JavaScript, you’re in luck! Stéphane Roche recently wrote a very extensive guide on BitcoinJS: https://github.com/bitcoin-studio/Programming-Bitcoin-with-BitcoinJS
At this point, if you want to hack inside of Bitcoin Core, you’re going to have to learn C++! Alternatives are btcd which is written in go and is generally considered to be easier to read, or bcoin which is written in JavaScript.
Before you start on your C++ adventure, consider doing a detour to Rust as it may smooth the learning curve.
I learned the basics of C++ with https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113 and https://en.cppreference.com/w/
I found it helpful to build examples using xeus-cling https://github.com/QuantStack/xeus-cling which is IPython but for C++. I found this helpful to make iteration faster than the traditional C++ environment of having to constantly recompile.
Read Contributing to Bitcoin Core, a personal account by John Newbery: https://bitcointechtalk.com/contributing-to-bitcoin-core-a-personal-account-35f3a594340b
Read about contributing here: https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md
Read through recent meeting notes to see what others are working on: https://bitcoincore.org/en/meetings/
I built a website for seeing all the Bitcoin Core pull requests that can give you an idea of what’s in the pipeline and how far along it is in the review process: https://bitcoinacks.com/
Programming + Bitcoin Bootcamps
Each bootcamp has a different focus, visit their websites for topics, dates, and pricing:
- Jimmy Song → https://programmingblockchain.com/
- Justin Moon → https://buidlbootcamp.com/
- Vortex → https://programmingwithbitcoin.com/
Programming + Lightning
There are several full implementations to look at, in alphabetical order:
- c-lightning written in C: https://github.com/ElementsProject/lightning. Billy Garrison pointed out that there is a Python example of how program with c-lightning here: https://github.com/ElementsProject/lightning/blob/master/contrib/pylightning/lightning/lightning.py
- eclair written in Scala (a functional programming flavor of Java): https://github.com/ACINQ/eclair
- LND written in Go: https://github.com/lightningnetwork/lnd
Work through André Neves’ in-depth guide to help you kickstart and streamline your Lightning Application development workflow: https://medium.com/lightwork/lightning-network-development-for-modern-applications-e4dd012dac82
Thursday, June 20, 2019
Facebook Libre will fail
I predict that the project by Facebook called Libre will fail. It may change it's name too, but ultimately it will fail. It will bring more interest and make Bitcoin seem attractive.
Monday, June 10, 2019
Bitcoin Whitepaper - remember... this is why we are all in this space!
Bitcoin: A Peer-to-Peer Electronic Cash System
Satoshi Nakamoto
satoshin@gmx.com
www.bitcoin.org
Abstract. A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending.We propose a solution to the double-spending problem using a peer-to-peer network.The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without re doing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power. As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they'll generate the longest chain and outpace attackers. The network itself requires minimal structure. Messages are broadcast on a best effort basis, and nodes can leave and rejoin the network at will, accepting the longest proof-of-work chain as proof of what happened while they were gone.
https://bitcoin.org/bitcoin.pdf
https://bitcoin.org/en/bitcoin-paper
https://bitcoin.org/bitcoin.pdf
https://bitcoin.org/en/bitcoin-paper
Tuesday, May 28, 2019
Bitcoin will be regulated to death
Bitcoin will be regulated to death. How?
Bitcoin exchanges will be unable to on-ramp fiat customers due to a ban by the banking industry.
The banking industry will be regulated and ordered to not allow fiat transactions to or from exchanges.
With exchanges barred from fiat banking, the price of Bitcoin will plummet and holders (hodlers) will sell.
Bitcoin will become worthless and will die. This is what exchanges and their executives fear the most.
Bitcoin exchanges will be unable to on-ramp fiat customers due to a ban by the banking industry.
The banking industry will be regulated and ordered to not allow fiat transactions to or from exchanges.
With exchanges barred from fiat banking, the price of Bitcoin will plummet and holders (hodlers) will sell.
Bitcoin will become worthless and will die. This is what exchanges and their executives fear the most.
Sunday, May 26, 2019
Bitcoin vocabulary
How will vocabulary change, or be created, for paying and selling increments of Bitcoin?
For example if and when Bitcoin become too expensive for people to buy 1 whole Bitcoin, how will be refer to 0.00010000 Bitcoin?
1.0 BTC = "One Bitcoin"
0.00000001 = "One Satoshi"
How will vocabulary change for these missing increments...
0.00000001 BTC = "One Satoshi"
0.00000010 BTC = "One Nakamoto"?
0.00000100 BTC =
0.00001000 BTC =
0.00010000 BTC =
0.00100000 BTC =
0.01000000 BTC ="One cent of Bitcoin"
For example if and when Bitcoin become too expensive for people to buy 1 whole Bitcoin, how will be refer to 0.00010000 Bitcoin?
1.0 BTC = "One Bitcoin"
0.00000001 = "One Satoshi"
How will vocabulary change for these missing increments...
0.00000001 BTC = "One Satoshi"
0.00000010 BTC = "One Nakamoto"?
0.00000100 BTC =
0.00001000 BTC =
0.00010000 BTC =
0.00100000 BTC =
0.01000000 BTC ="One cent of Bitcoin"
Thursday, May 23, 2019
Bitcoin Log View, to good to be true?
Doing simple analysis of Bitcoin in log view on Trading View. It seems too good to be true for Bitcoin in the next few years. A big part of me thinks we are missing something, and it is too good to be true. I think the undoing will be human greed, whereby transferring to real world assets and fiat currency will eventually mean the log charts we are all hopefully of, will never materialize.
Tuesday, May 14, 2019
Tuesday, April 23, 2019
First Golden Cross for Bitcoin in 3 Years as Bulls Return
First Golden Cross for Bitcoin in 3 Years as Bulls Return
Here’s yet another sign the crypto winter is thawing. Bitcoin, the largest digital currency, has formed its first bullish golden cross since October 2015, according to Bitstamp pricing that includes weekend moves. The milestone follows a 35 percent rally for Bitcoin past $5,600, on track for its best monthly gain since the height of the crypto frenzy in December 2017. The sudden resurgence has also been apparent in other parts of the market, including record contract trading volumes in the futures market at CME Group Inc. earlier this month.
Monday, April 15, 2019
Bitcoin uses a specific elliptic curve
Bitcoin uses a specific elliptic curve and set of mathematical constants, as defined in a
standard called secp256k1, established by the National Institute of Standards and Technology
(NIST). The secp256k1 curve is defined by the following function, which produces
an elliptic curve:
y 2 = (x 3 + 7)over(? p)
or
y 2 mod p = (x 3 + 7) mod p
The mod p (modulo prime number p) indicates that this curve is over a finite field of
prime order p, also written as ? p, where p = 2256 - 232 - 29 - 28 - 27 - 26 - 24 - 1, a very large
prime number.
standard called secp256k1, established by the National Institute of Standards and Technology
(NIST). The secp256k1 curve is defined by the following function, which produces
an elliptic curve:
y 2 = (x 3 + 7)over(? p)
or
y 2 mod p = (x 3 + 7) mod p
The mod p (modulo prime number p) indicates that this curve is over a finite field of
prime order p, also written as ? p, where p = 2256 - 232 - 29 - 28 - 27 - 26 - 24 - 1, a very large
prime number.
Subscribe to:
Posts (Atom)
Could this break the log/log power law for Bitcoin?
The log/log power law governing Bitcoin appears robust. However, could there be a plausible and logical scenario in which this power law i...
-
The Bitcoin Price Log/Log Power Law Growth Corridor (Inspired by Harold Burger). Data presented in table format from 2009 - 2050. Find any ...
-
For ecasting Bitcoin's Minimum Value. This provides an estimate of the lowest potential value, expressed in US Dollars (USD), for a sing...
-
https://www.sec.gov/Archives/edgar/data/1980994/000143774923017574/bit20230608_s1.htm On each Business Day, as soon as practicable after 4:0...