Everything in Bitcoinlandia is fairly superficial, since everyone is trying to sell Bitcoin and make himself rich. So it's like reading multi-level-marketing books.
That being said. What's actually kind of good (with actual technical specifications) is Bitcoin wiki, even when it's slightly outdated; then official bitcoin website; and sometimes bitcoin stack exchange website (but that can become outdated too).
I don't think Blockchain can be disconnected from Bitcoin, and if you do, it's very general and not that specific.
He is otherwise great chap, but I don't think he is the guy to turn to on bitcoin/blockchain topics. He has focus certainly somewhere else, and to me his rants about bitcoin sound more like a general complaining because he missed the train.
The bitcoin wiki was a good starting point and did a good job at explaining the fundamentals of a distributed digital ledger. One problem I personally ran into was understanding the crypto subroutines that validate mining, transactions, and verification on the network. Reading their respective wiki pages can be a bit dense if you lack the background knowledge.
Looking forward then to the deluge of DApps coming to Bitcoin using Multisign and nLockTime, just go to http://dapps.ethercasts.com/ and copy paste ideas to Bitcoin using Multisign / nLockTime, should be easy peasy. Oh yeah, and all can be done with Multisign & nLockTime, so I wonder why Counterparty and now Rootstock are implementing Ethereum's virtual machine, strange.
Wish you and your partner in crime stopped spreading false information and just focused on Bitcoin. It should stand on its own merits not on dishing other projects.
I would also recommend this book. It takes a very practical approach of introducing a problem which exists with the blockchain and then how to solve it. It gets you thinking the correct way. Then if you want, you'll have the basic understanding to dive into the theory and math behind each technology.
Someone tells a joke based on a prompt. This would be your Genesis block. Then everyone else competes to tell the funniest joke based on only that and the new prompts from the audience.
Repeat until you have an ongoing, hilarious comedy routine that cannot be edited after the fact without being found out because that would ruin the whole routine. It just wouldn't be as funny.
Absolutely it works that way. Nobody has a formula for coming up with jokes, they usually try different ones until people laugh. Guess and check. Exactly like taking SHA-256 hashes based on the Merkle tree until the hash, taken as a number, is less than or equal to the target.
I assume you have read the the original Nakamoto paper on bitcoin. I will put it here for reference purposes. It is a seminal paper on blockchain and fairly accessible.
I highly recommend the Princeton book and associated video lectures as a place to get started. It does a great job of framing things in the context of the wider fields of cryptography and distribute systems research.
I also recommend this book. I started reading it, figuring I would probably only read the beginning or gloss over it. It was so well written and so interesting that I ended up reading the whole textbook.
I think a good unorthodox start is skimming/looking at Q&A sorted by votes on [1] and [2]. A good book but oriented towards bitcoin is [3]. My company also made an spreadsheet comparing different blockchain approaches [4] to have a high level understanding (e.g. blocks speed, security vulnerabilities)
I work in the field and the most difficult thing is to separate the noise from the signal. On talks with financial institutions and the government, they say they want to use the blockchain but when you ask about how many nodes they are planning to run they came up with one, or doesn't understand the question. Also, there are a lot of use cases that are not realistic because they depend on oracles or there is no way to enforce the smart contract in the real world.
I would suggest the book “Mastering Bitcoin” from O’Reilly. I don’t have extensive experience on the issue but what really worked for me is that the book provides code examples (in Python and C++) that help get a better grasp of the technology.
This. Andreas' book is awesome. It will give you a high enough level to understand all the moving parts, then it deep dives into how they all work. A+++ will buy again.
Once you've read Mastering Bitcoin, install the reference implementation, and start playing with the API while pointing to the testnet. When you get stuck, look to the Bitcoin reference documentation... it's pretty good too.
Set up a full node at home and run it for a while. Turn on logging and watch the messages there.
You'll need (at present) about 80 GB of disk space to hold the blockchain. The full node client will download it for you or you can torrent a recent snapshot of the blockchain and then synchronise from there (quicker).
Or you can use git to pull the source code from GitHub and compile it yourself. I've done both, and found the developers on GitHub friendly and responsive to pull requests, even helpful to a newbie submitting a first pull request.
Beware that running a full node will try to eat all your upstream bandwidth. It takes a few days for the Bitcoin network to notice the existence of your new full node, but the number of connections will grow (others asking you for pieces of the blockchain, as well as transaction verifications). You can learn a lot about the Bitcoin ecology this way.
This book is insidiously useful. I went from not getting it at all to getting it more or less completely. Includes code interacting with the blockchain in a wide variety of ways.
I've found that getting a wallet and sending some Bitcoin is a great first step. This course introduces Bitcoin and also surveys an array of other decentralized, blockchain projects: https://www.pluralsight.com/courses/bitcoin-decentralized-te... (caveats: self-promotion, pay-walled, but the free trial allows you to watch 95% of it).
Bear in mind that the word "blockchain" is an evolving word; almost every definition I've read differs. Some see it as barely different than a distributed database that doesn't allow deletions. Many others see it as paradigm shifting.
I have a blockchain/bitcoin tutoring service at www.blockchaintutoring.com. I did a Show HN but didn't get a single comment :(
I'm a programmer myself, but my target market is not the typical HN user. I'm looking to teach more business types and people in the law profession, for example. I'm preparing a small course plan to help people get from 0 to knowledgeable. The course will certainly be a bit technical, but I would not cover for example the pros and cons of the blocksize debate unless someone asks for that information.
I invite you to contact me, either through my website's contact form or the email address there provided. We can chat, and then if you ever choose to use the service, it's going to be at a discount for HN users. Your questions will definitely help me tailor my offering.
What email? Sent a message on your form, your form has no progress bar / feedback after submit and does not load on chrome mobile. See my message below on this thread.
You can find my email just under the "Contact Us" heading. It is bitcointutoring~at~gmail. I have received the message you sent me through your form, and am writing you a reply. The form confirms the email was sent by writing "Success! Message received." in green under the form. I agree it is not so evident.
^ Following along with this helped me a lot. Bitcoin is a rather large onion, but, as others are saying, implementing parts of it is the only way to go.
I wrote a piece for Linux Voice on how bitcoin works a couple of years ago. It's obviously focused on this particular blockchain, not the principal in general and it's a couple of years old now. I tried to give a good overview for techincal people : https://www.linuxvoice.com/bitcoin/
Although this paper does not directly address the blockchain, I believe it and the thesis below are at the root of the concept. (If you want to go down the rabbit hole, check out the references page of the above paper). Fair warning, the above paper is from 1999/2000 so obviously much has changed, but still worth reading.
Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control by Mark Samuel Miller:
I was working on this service. Teaching blockchain bootcamp courses online. I found a few instructors. Just need go figure out the MVP. Are you in NYC? Check the landing page
http://studioblockchain.com/
as others have mentioned, the princeton course videos + _homework exercises_ are a great entry point. also read satoshi's paper and then other resources
Blockchains are just databases rebranded to be something interesting when cryptography is applied. There's no magic to keeping transactions in 'folders'. Database journaling, and message signing has been performed since the 80's (or older)
Your statement is lacking in a few ways, so to correct you in simple terms...
a database contains data that can be deleted and/or overwritten. Other than examining changelogs and reverting changes according to 'external requirements', a database is a non-auditable pot of changeable information. A blockchain cannot be re-written without a "hard fork" of the network that makes it exist. It is that simple. Consequently,you can also easily audit a blockchain or any part (wallet) of it. To audit a database is not impossible, but auditing a ledger is entirely simpler.
Banking people throw "blockchain" around as a buzzword without necessarily understanding the total difference in the way they operate compared to databases. The fact that the blockchain is a ledger is best demonstrated to them by the notion that a printed bank statement is a 'de facto' ledger of the transactions on a single account. Banks have always told customers that keeping printed (usually monthly) statements is how a permanent record is kept of your transactions. This is because they routinely wipe system transactions to avoid the storage and security costs of keeping a copy of the data. I have bank statements on paper going back to my very first bank account and transaction. They take up a great deal of physical space, but they do represent a permanent and uncontestable history of my finances. They are my personal paperblockchain. If only banks had been willing to keep everyone's transaction data in perpetuity then I wouldn't have boxes of paper in my attic. But that would be hugely impractical and costly. Blockchains for every account are feasible, but not on the horizon given the state of current cryptography and the huge data costs.
Banks trying to get into blockchain tech are only looking at high level intra-bank functionality, which would be well served by a new system, especially given that they don't trust each other but have historically agreed that they should, and pragmatism has cemented the system. A new system is absolutely needed.
rebranding is hardly the point. Blockchains exist as something entirely novel and challenging to legacy database structures. The folders you refer to - do you mean cryptocurrency wallets? The wallets where people can be their own bank? They are just blockchain 1.0 btw.
That's where I would start.
reply