MENU

What is constantinoplefixblock?

November 25, 2019
0
200
0
If you have ever looked inside a blockchain genesis file, typically called genesis.json or in the case of a private network, privateNetworkGenesis.json, you will have seen lots of configuration parameters. Some are obvious but others a little more mysterious. Take for example this genesis file for a private network: Have you ever wondered what constantinoplefixblock is? It turns out that these are called “Milestone Blocks”. In a public network, these specifies the block at which the network changed protocols. For example, In a private network though, the milestone block defines the protocol version for the network  so it is normally set to 0 (zero) meaning version 0 of the Constantinople protocol. In other words, your chain won’t be hard-forking for these changes, so leave as 0 (zero). Another interesting note in the private genesis file is fixeddifficulty which is used to specify a fixed difficulty in private networks using Ethash which overrides the difficulty field.
Read More ›

CeBIT Australia and Blockchain

October 30, 2019
0
521
0
CEBIT Australia is a showcase of the dynamic merger of business with technology, where it’s going and how it can help you in your daily job. I went along to see the “blockchain”component of it which was relatively small but nevertheless good to see something blockchain related. There were three sessions on day 2 of CeBIT. A Blockchain 101 workshop, which wasn’t really a workshop but a 50 min talk of the blockchain landscape, and two panels. Tim actually did a very good job with his engaging talk. The audience kept growing and was easily the largest of the “mini” zones. The panel discussion was less engaging but having said that, panel discussions are hard in nature. Here, it was basically ask a question and get 4 opinions or thoughts. The audio quality was super clear though! Looking around at the event, it seemed quite empty to tell the truth. Even the main stage looked empty. Many of the topics looked interesting, especially around space and quantum computing and automation and AI. Maybe the other days were different but I didn’t end up returning as many of the booths and the technology on showcase lacked any wow factor.
Read More ›

Learning the basics of Stablecoins

September 20, 2019
0
1073
0
There are plenty of articles, blogs and videos explaining what stablecoins are and how they work but they all define stablecoins in their own unique way and most confusing of all, categorise them differently with different terminology. Here, we’ll attempt to bring some clarity. What is the definition of a Stablecoin? There are lots of different ways to define stablecoins and it is often useful to appreciate these different definitions to help in your own understanding. Here are some examples: Stablecoins are cryptocurrencies designed to minimize the volatility of the price of the stablecoin, relative to some “stable” asset or basket of assets Wikipedia A price stable cryptocurrency whose market price is pegged to another stable asset Blockgeeks – https://www.youtube.com/watch?v=O3rVWLhBIPo A dollar denominated cryptocurrency Off Chain with Jimmy Song – https://medium.com/hackernoon/stablecoins-what-you-need-to-know-cb0bbf211864 A stablecoin is a type of cryptocurrency that is designed to maintain a stable market price. Binance Academy These are all valid definitions and what can be seen is that they are commonly referred to as a cryptocurrency and that they are relative, pegged, or fixed to a stable asset of some sort. Why use stablecoins? Currently, the most common use of stablecoins is as a safe haven for crypto traders. […]
Read More ›

Stablecoin comparison charts

September 12, 2019
0
1053
0
Here are a list of some handy stablecoin comparison charts. Coincodex Coincodex is probably the best on as it provides the ability to select up to 17 stablecoins and compare their value over the time frame of your choice. Each stablecoin can be toggled on or off as well which is very useful. Longhash Longhash provides an interesting stablecoin health index as well as price charts for 5 stablecoins. Each stablecoin can be toggled on or off. Stablecoins War Stablecoins War shows the chart for 7 stablecoins but without the feature to select or unselect various stablecoins.
Read More ›

Stablecoin Interesting Facts

September 1, 2019
0
1389
0
Platforms Based on Cryptoslate, 65% of all stable coins run on the Ethereum blockchain. It shouldn’t be surprising because it is far easier to launch a stablecoin on Ethereum than on other blockchains. How stable are stablecoins? According to The Stablecoin Index, most are pretty close to $1 “most” of the time. The screenshot below shows the deviation in the past week which, ignoring the upper and lower extremes, ranges from 1.008 to 0.9971. That is pretty good. Stablecoin Timeline Here is a brief timeline of the birth of various stablecoins. Tether – Launched in July 2014 as Realcoin before changing their name to Tether in Nov 2014. Nu (Nubits.com), September 2014. Currently trading at $0.087. Failed. Corion October 2017 MakerDAO, Dec 2017 TrueUSD, Mar 2018, CarbonUSD, Sep 2018, first on EOS Gemini Dollar, Oct 2018 USD Coin, Oct 2018 , Sep 26 2018, (From CENTER with founding members of Circle and Coinbase) Paxo, Oct 2018 Alchemint, Sep 2018 HonestCoin, USDH, Bitcoin Cash Network , Jun 2019, (https://news.bitcoin.com/honestnode-founder-discusses-the-first-stablecoin-built-on-bitcoin-cash/)
Read More ›

Neat EthOn Modelling Concept

June 16, 2019
0
2622
0
Here is a neat overview of the major Ethereum concepts in blockchains. Ref: https://media.consensys.net/ethon-introducing-semantic-ethereum-15f1f0696986
Read More ›

TutorialToken smart contract with Truffle

June 10, 2019
0
2872
0
If you are trying to go through the token tutorial by Truffle there are a few things to note. If you follow the instructions fully, it will not work. Firstly the pragma version needs to be updated from 0.4.24 to 0.5.0. This is because if you install Truffle, it will install the latest version of solc, the solidity compiler which will be 0.5.8 at this time of writing. Next, if you run “npm run dev”, you might encounter and error like ERR! tutorialtoken@1.0.0 dev: `lite-server`. If you do, you’ll want to fix it by doing this. Then you’ll want to make sure the Metamask is either not yet installed or that it is disabled. Otherwise the tokens will appear in Metamask instead of on the webpage. Finally, you need to change the port in app.js from 9545 to 7545 which is the Ganache port. The tutorial is great but is several years old so needs these modifications.
Read More ›

tutorialtoken@1.0.0 dev: `lite-server`

June 7, 2019
0
2955
1
If you are going through the Truffle TokenTutorial smart contract and you can’t run “npm run dev” because you get the following error below, it can be very frustrating. You follow all the instructions to the letter but get this strange error such as: – Cannot find module ‘../lib/lite-server’– ERR! code ELIFECYCLE– ERR! tutorialtoken@1.0.0 dev: `lite-server` Seans-MacBook-Pro:tokentutorial sean$ npm run dev > tutorialtoken@1.0.0 dev /Users/sean/Dropbox/CodeDropBox/truffle/tokentutorial > lite-server internal/modules/cjs/loader.js:626 throw err; ^ Error: Cannot find module '../lib/lite-server' Require stack: - /Users/sean/Dropbox/CodeDropBox/truffle/tokentutorial/node_modules/.bin/lite-server at Function.Module._resolveFilename (internal/modules/cjs/loader.js:623:15) at Function.Module._load (internal/modules/cjs/loader.js:527:27) at Module.require (internal/modules/cjs/loader.js:681:19) at require (internal/modules/cjs/helpers.js:16:16) at Object. (/Users/sean/Dropbox/CodeDropBox/truffle/tokentutorial/node_modules/.bin/lite-server:7:1) at Module._compile (internal/modules/cjs/loader.js:774:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10) at Module.load (internal/modules/cjs/loader.js:641:32) at Function.Module._load (internal/modules/cjs/loader.js:556:12) at Function.Module.runMain (internal/modules/cjs/loader.js:837:10) { code: 'MODULE_NOT_FOUND', requireStack: [ '/Users/sean/Dropbox/CodeDropBox/truffle/tokentutorial/node_modules/.bin/lite-server' ] } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! tutorialtoken@1.0.0 dev: `lite-server` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the tutorialtoken@1.0.0 dev script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/sean/.npm/_logs/2019-06-09T09_13_38_647Z-debug.log https://github.com/node-inspector/node-inspector/issues/1044 As with most computer problems, when all else fails, restart, here a clean install of npm resolved this issue for me. […]
Read More ›

Sublime and Solidity Syntax in 10 seconds

June 4, 2019
0
3067
0
If you are using Sublime, which is a very fast and lightweight text editor, to create smart contracts in Solidity, to get syntax highlighting, do the following: ⌘+⇧+P (command+shift+P) to bring up Sublime’s command palette, which is an interactive list whose purpose is to execute commands. Start typing “install” and select “Install Package”. Then wait a few seconds before another text box appears before typing “Ethereum” and select the first option. Before: After: To check that it has been installed, bring up the command palette and type “remove” and select remove package and Ethereum should appear indicating that it has been successfully installed.
Read More ›

Blockchains in Papua New Guinea

June 1, 2019
0
2850
0
“Brave Tango 5-8-3, special ops on board, repeat special ops on board” the police officer said on the walkie talkie as I sat at the back of a van with metal grills over all the windows. “What have I gotten myself into?” I said to myself as a million thoughts ran through my head, mostly all Hollywood movie scenarios, as I was driven to meet the Bank of South Pacific board of directors at their head office in Port Moresby. I was invited to share with the directors what blockchain technology was about in a 2 hour interactive presentation session. It was a privilege to be able to share what I had learnt in the last 4 years of eating, sleeping and breathing blockchain technologies but it must have been intense for them. Lots of new words and terminology was introduced, acronyms used and demystified, and even technical concepts explained. I didn’t want to overwhelm the directors so only shared 1 technical concept and that was the idea of hashing. Instead of defining what it was with words, I actually showed them and encouraged them to boast their new found knowledge to their peers next time they go for drinks. […]
Read More ›

ConsenSys Academy at Ethereal New York

May 23, 2019
0
3513
0
I was fortunate enough to have the opportunity to speak at a blockchain conference called Ethereal Summit in New York recently. It was a two day conference that focused on developments in the blockchain space and was also part of the run up to blockchain week where a three day conference run by Coindesk called “Consensus” and a one day Token Summit conference was held. I shared some of the work we’ve been doing at ConsenSys Academy with a talk called “Reinventing the way we learn blockchains”. Here is the presentation for those interested. I also had the chance to visit ConsenSys HQ in Brooklyn which is fast becoming a must see tourist spot for all those in the blockchain space. 10 points for guessing which graffiti covered door is the entrance into the office! If you can’t figure it out, use the next picture as a clue. I’m sitting outside on the front steps. In New York, I also got to meet the rest of the Academy team for the first time in 3D. ie “IRL” aka In Real Life. I must say that I’m very privileged to work with a bunch of very talented and dedicated people from […]
Read More ›

Sydney Edcon 2019 Wrap

April 19, 2019
0
3839
1
The week of April 8th was Blockchain week in Sydney with many blockchain events culminating in Edcon where Vitalik and his research crew shared their vision of Ethereum 2.0 The Hackathon The week started out with a hackathon at the University of New South Wales (UNSW) where there were lots of teams hacking it out for various cash prizes. What is funning is the story of CryptoChicks. One of the most inspiring team was CryptoBeast mentored by a good friend Nick Addison who entered his son and 3 of his mates. They were all 11 years old and ended up coming third! The most important question though is what do you do with a 6 ft cheque of $2000? Well, it may not provide much warmth as a blanket but it sure does look good! On Wednesday evening, ConsenSys put on an event at Tyro Fintech Hub with a number of guest speakers. Edcon Thursday was when Edcon started and boy did it start with a bang. It actually started with a hilarious rap! The schedule was very full on where the heavy hitters dominated the first day. You had to bring your thinking caps though because some of the […]
Read More ›

All you need to know about 2^256

April 8, 2019
0
3820
0
How to pronounce 2^256? 2^256 is pronounced “two to the power of two hundred and fifty six”. What does it represent? Computers represent numbers in binary. Here is an example where we have 2 bits, where each bit can represent a ‘1’ or a ‘0’ allowing us to produce 4 possible combinations:00 = 001 = 110 = 211 = 3 The formula “2^number of bits” gives us the range of numbers that we can represent. So 2^2 = 4, which is true from the table above where we have 4 possible values. (In computers, we start counting from ‘0’) If we have 3 “bits” then we have 9 possible combinations (ie 2^3=9):000 = 0001 = 1010 = 2011 = 3100 = 4101 = 5110 = 6101 = 7111 = 8 If we have 256 ‘bits’, then we have 2^256 possible combinations which is a really large number! What does 2^256 look like in decimal? 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 OR1.158 x 10^77 (this is 1.1 with 77 zeros after it). Source: https://defuse.ca/big-number-calculator.htm How do you pronounce 2^256? 115 quattuorvigintillion 792 trevigintillion 89 duovigintillion 237 unvigintillion 316 vigintillion 195 novemdecillion 423 octodecillion 570 septendecillion 985 sexdecillion 8 quindecillion 687 quattuordecillion 907 tredecillion 853 duodecillion 269 […]
Read More ›

Sydney Hashgraph Meetup

March 28, 2019
0
3932
0
It was great to finally attend the Sydney Hashgraph meetup and meet some of the organisers. We had Jason Loh and Edgar Seah dialled in to provide an update of Hashgraph and how mainnet is going to be launched very soon. This summer in fact. The audience was quite small but that is normal nowadays as the speculative hype has died down and only the true enthusiast remain. It is fascinating to also note that the Hashgraph consensus algorithm is asynchronous Byzantine Fault Tolerant, ie the gold standard of consensus algorithms. It has also been mathematically proven. The technology is still relatively new and there is still more to understand about it but it is exciting to see the progress.
Read More ›

Static and Symbolic Analysis

March 15, 2019
0
4252
0
Static Analysis Static analysis can be described as a way to test code without actually executing it. The idea here is to use a computer program to analyse a program’s source code without running it. Static analysis has a few sub components such as Flow Analysis. This tracks how values might flow between the different memory relocations in a program. Tainted Flow Analysis is often referred to where untrusted input is considered tainted, eg input from a user and conversely, hardcoded values or constants are untainted. Flow Analysis can have “sensitivity” added to increase the precision and also to reduce false positives. It basically accounts for variables whose contents change, typically by using extra qualifiers. Context Sensitivity Analysis is another sub component of Static Analysis where calling other functions can cause false positives. “So context sensitive analysis solves this problem by distinguishing call sites in some way, so that we don’t allow a call at one place to return it’s value to another call.” Symbolic Analysis Symbolic execution aims to generalise testing so that instead of testing with actual values, tests are run with variables. The image below explains it best. Concolic testing is another term often thrown in when discussing symbolic execution or symbolic analysis. […]
Read More ›

Fascinating POA & IBFT blockchain papers to read

March 9, 2019
0
4746
0
If you are trying to understand more about Proof of Authority consensus, Instanbul Byzantine Fault Tolerance (IBFT) or just blockchain consensus protocols in general, just jump straight into some research papers. It may seem daunting at first and it actually is but these papers are well written where sufficient background is provided to slowly build up a good understanding of other fundamentals. Here are key excerpts from the three papers I read. IBFT was developed by AMIS technologies in early 2017. [1] IBFT consensus protocol falls in the PoA category because only a set of special nodes, called validators, are authorised to propose new blocks. [1]. For more info on IBFT visit: https://github.com/ethereum/EIPs/issues/650 (this was inspired by EIP225 (link below)). The set of validators in PBFT is static whereas in IBFT they are dynamic [1] A private blockchain is a special permissioned blockchain operated by one entity. ie within one single trust domain. [3] Aura and Clique are two popular PoA algorithms. [2] Aura and Clique are two popular PoA implementations. [2] For more information on Clique, visit: https://github.com/ethereum/EIPs/issues/225 A blockchain is a linked data structure replicated over a peer-to-peer network, where transactions are issued to form new blocks. Peers […]
Read More ›

Training trainers at SK in Korea

February 25, 2019
0
5938
0
I had opportunity to provide blockchain train the trainer to SK Global in Korea which is another level up from regular training. SK Global or SK Holding is one of the largest conglomerates in South Korea comprising of around 95 subsidiaries. SK Global has more than 70,000 employees and 113 offices worldwide. My esteemed colleagues Coogan and Luiz, travelled to Korea in December and provided blockchain training to SK. They did an amazing job which pathed the way for part 2 of this training. I arrived on Sunday morning after taking the red eye from Sydney to Tokyo and then connecting to Seoul. I had to be rerouted due to weather conditions at Sydney airport but that is another story in itself. Seoul was cold! It may not feel like it if you’re only outside for a few minutes but very quickly you can feel your ears tingle. On day 1 we went through the plan for the week and reviewed the 1 day non technical edition as well as the first day of smart contracts for developers. The trainees had already gone through the material so this served as a refresher and provided more opportunities for in-depth discussions on […]
Read More ›

Remix MSTORE bug

February 12, 2019
0
5527
1
I was looking into strings v bytes into a bit more detail and started comparing the gas consumption between them. The following code was used: pragma solidity ^0.5.0; contract StringVersusByte { string constant _string = "hello"; bytes32 constant _bytes = "hello"; function getAsString() pure public returns(string memory) { return _string; } function getAsBytes() pure public returns(bytes32) { return _bytes; } } After deploying, I executed the the getAsBytes() first and saw that the execution cost was 196 gas. I then looked to confirm this by stepping through the debugger and summing up the cost of all the op codes. What I discovered was that it summed up to 172 and not 196 gas. I was out by 24 gas. I then looked at the debugger and looked at the remaining gas field. It should reduce by the amount of gas but in step 3 it doesn’t. It reduces by 12 instead of 3 as can be seen in the video. The culprit opcode is MSTORE and there are 2 MSTORE which makes up the missing 24 gas. In the video, the remaining gas decreases by the expected amount until it reaches step 3. This issue is highlighted as a bug […]
Read More ›

Some Merkle Tree resources

February 1, 2019
0
5151
0
Here is a great infographic from YunYun Chen from ConsenSys originally published at: https://media.consensys.net/ever-wonder-how-merkle-trees-work-c2f8b7100ed3 Here is a link to a 10 page research paper called “A digital signature based on conventional encryption function” by Ralph C. Merkle in 1988. https://people.eecs.berkeley.edu/~raluca/cs261-f15/readings/merkle.pdf This is a 7 page paper on “Providing Authentication and Integrity in Outsourced Databases using Merkle Hash Tree’s” https://people.eecs.berkeley.edu/~raluca/cs261-f15/readings/merkleodb.pdf
Read More ›

EVM Illustrated

January 24, 2019
0
5953
0
Here is a neat 116 slide deck that goes through what Ethereum is, the EVM and how it all works by Takenobu Tani. It is a pretty useful explanation but does go into a lot of detail such as endian and byte addressing which is quite low level. Here is a link to the pdf and here is the GitHub.
Read More ›