IOTHACK Logs
Transactions are hashed into a Merkle tree and only the root goes into the block header — so pruning old branches never changes the block's hash, letting nodes drop the data they no longer need.
* Only the root hash sits in the block header; spent branches are stubbed off, so pr...
Q Why does Do You Need a Blockchain? (Wüst & Gervais, 2017) argue that most Supply Chain Management (S...
Because SCM's real weak point is the physical-to-digital interface: if you can't trust the humans/sensors entering data, the blockchain can't fix it; and if you can trust them, a shared database already suffices.
Run SCM through the methodology: it stores state, has multiple writ...
Q What is the overall conclusion of Do You Need a Blockchain? (Wüst & Gervais, 2017) about permissionl...
None is universally best — each is the right answer for some application, and the choice must be made deliberately from trust assumptions, the parties involved, and performance needs.
The take-away is anti-hype but not anti-blockchain. The authors provide a structured methodology...
Q Do You Need a Blockchain? (Wüst & Gervais, 2017) lists six properties to compare ledgers and central...
Public verifiability, transparency, privacy, integrity, redundancy, and the trust anchor.
Property
What it means
Public verifiability
Anyone can verify the state was updated per the protocol
Transparency
How much of the data/update process observers can see (not all-or-n...
Q Ripple aims to modernize cross-border payments with a ledger — but why does Do You Need a Blockchain...
Because currencies on Ripple (other than its own XRP) are "issued" by gateways that must be trusted to honour withdrawals — so Ripple shifts the correspondent-banking trust onto gateways rather than eliminating it.
Ripple provides a shared settlement ledger and its native currenc...
Q E-voting seems to need exactly what a blockchain offers — so why does Do You Need a Blockchain? (Wüs...
Because e-voting's requirements pull against each other (anonymous votes vs public verifiability), and no proposed system has yet been shown to be simultaneously secure, verifiable, and private.
E-voting genuinely matches the blockchain profile: many mutually distrusting parties,...
Q What is the factory pattern, and how does a contract deploy another contract?
A factory is a contract that creates and manages other contracts. In Solidity you deploy a new contract instance from within a contract using the new keyword.
import "./SimpleStorage.sol";
contract StorageFactory {
SimpleStorage[] public simpleStorageArray;
function cre...
Q What is a library in Solidity, and what does using ... for do?
A library is a contract-like collection of reusable functions that holds no state and cannot receive ether. using Lib for Type attaches the library's functions to a type so you can call them as methods on values of that type.
library PriceConverter {
function getConversionRat...
Q How does inheritance work in Solidity, and what do virtual and override do?
A child inherits a parent's functionality with contract Child is Parent. To replace a parent function, the parent function must be marked virtual and the child's version must be marked override.
import "./SimpleStorage.sol";
contract ExtraStorage is SimpleStorage { //...
Q Why can't a smart contract fetch an off-chain price like ETH/USD by itself, and how does a Chainlink...
Blockchains are deterministic — every node must reach the same result — so they cannot make API calls or read real-world data; different nodes would get different answers and consensus would break. A decentralized oracle network like Chainlink delivers that data on-chain instead....