diff options
author | Phil Burton <phil@d3r.com> | 2019-02-25 13:37:59 +0000 |
---|---|---|
committer | Phil Burton <phil@d3r.com> | 2019-02-25 13:37:59 +0000 |
commit | 3431e667a5c6475043ebfd97b43a3fdc4b078596 (patch) | |
tree | cd9eb1249e42de8ee1c7e99fd83cb7f091637b7c /day1/diving-deep-into-blockchain.txt | |
parent | 4e8368f4d847e5c1352302fc53658dfab2c72a9b (diff) |
Diffstat (limited to 'day1/diving-deep-into-blockchain.txt')
-rw-r--r-- | day1/diving-deep-into-blockchain.txt | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/day1/diving-deep-into-blockchain.txt b/day1/diving-deep-into-blockchain.txt new file mode 100644 index 0000000..8fe9218 --- /dev/null +++ b/day1/diving-deep-into-blockchain.txt @@ -0,0 +1,100 @@ +Block chain + +Tomasz Kowalczyk +https://joind.in/event/php-uk-conference-2019/dive-deep-into-blockchain + +- Block chain is a database +- Bespoke data structure + +"Not crpyto" + +General Purpose block chain: + +Why? +- Data in block is immutable +- Don't edit or remove, you append +- traceability (Auditing / logging) +- Verifiability (Data must be fully valid) +- reproducibility +- decentralisation +- Trust-less (Removes need for trust) +- transparency + +How? +- What type? + - public - will be hacked + - shared - shared ledger + - private +- Cryptography + - pub/rivate keys + - sign information + - verifablity + - Elliptic Curves + - openssl ecparam -list_curves + - Addressing + - can shorten public keys massively + - Hash algorithm + - Integrity + - 2x sha256 (sha256(sha256($data))) + - 4B version, 32B hash of last Block, 32B hash of data block, 4B timestamp, 4B difficulty, 4B nonce + - Merkle tree - binary hash tree + - Merkle path - list of hashes through the tree + - Genesis block - First block in the chain + - Special as it's first + - Prevents exploitation by being hardcoded + +- consensus + - Confidence + - chain forking needs resolution + - bitcoin users longest chain wins + - proof of work / proof of stake + - difficulty is no of zeros that need to be at the start of the hash + - others (proof of burn, proof of time, proof of ....) + + +- Smart contracts + - Programs that are included in the chain + - e.g. A loan paid by the chain + +- Lighting network (drawback off blockhain is it focuses on integrity not perf) + - Off chain transactions with on-chain settlement + +- Not all blockchains are chains + - IOTA Tangle + +- Challenges + - Fault tolerance + - You lose control of public/shared blockchains + - Now way to enforce software updates + - Conflict resolution + - Integration with current systems + - Security + - Cryptography is first and last line of defence + +- Not perfect for: + - scalability + - performance + - throughput + +- Incentives + - Mining in currencies + - Power for money +- Privacy + - Protect data + +- Hard forks +- 51% attacks + +- Right solution for the right kind of problem + +- Event sourcing on steroids + +QUESTIONS +- Any php recommendations? + - No. +- security? + - Store data not values somewhere else + - Encrypt +- Why private blocks? + - Can give public list of hashes for verification + - keep data private |