Uploaded October 2017 | Updated September 2026, 2 weeks ago
This is part 28 of the Blockchain tutorial.
In this video series different topics will be explained which will help you to understand blockchain.
It is recommended to watch each video sequentially as I may refer to certain Blockchain topics explained earlier.
WHAT IS A WALLET
--------------------------------
A wallet stores private keys.
The word wallet is misleading, it just stores private keys and not the coins.
The public addresses are automatically derived from the private keys.
If you open your Bitcoin wallet and one of your Bitcoin addresses shows that is has a balance of 5 BTC, than these bitcoins are not actually stored in your wallet.
It means that these 5 bitcoins were transferred to your Bitcoin address during a transaction.
This transaction (TX) information is stored on the blockchain.
Your wallet queries the blockchain and searches for Unspent TX Outputs (UTXO) for all your Bitcoin addresses to display their balances.
The bitcoins on these UTXO can be unlocked and transferred to another Bitcoin address using the private keys stored in the wallet.
NON-DETERMINISTIC WALLET
-------------------------------------------------
Wallets stores private keys but they also create these private keys.
The private keys are randomly generated numbers which are not related to each other.
You can not derive these private keys with an algorithm.
Hence the words "non-deterministic".
If you use a non-deterministic wallet you must make regular backups of these private keys.
If you have problems with your wallet, you can restore your wallet by importing the backupped private keys.
Explaining a non-deterministic wallet (for educational purpose only), see:
mobilefish.com/services/cryptocurrency/cryptocurrency.html
DETERMINISTIC WALLET
-----------------------------------------
A deterministic wallet uses 12 - 24 words to create a 512 bit seed.
These words are called mnemonic words, because they are more easily to remember than this long hexadecimal string.
The 512 bit seed is used to create a master private key.
This master private key in turn is used to create private keys and corresponding public addresses.
Generally speaking using these 12 - 24 words will complete restore your wallet with exactly the same private keys and corresponding public addresses.
Hence the word "deterministic".
It is imperative that you safely store these 12 - 24 words, without it you have no access to your private keys.
To see how an Ethereum deterministic wallet works, see YouTube movie:
youtu.be/cqz8-hOz_nk
BIP-39
-----------
The acronym BIP means Bitcoin Improvement Proposal.
BIPs are design documents for introducing features or information to Bitcoin.
An overview can be found at:
github.com/bitcoin/bips
BIP-39 describes the implementation of mnemonic words for the generation of deterministic wallets, see:
github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
BIP-39 is becoming an industry standard which is not only used for Bitcoin wallets but it is also used in Ethereum, Dash and other Altcoin wallets.
The wordlist can be found at:
github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md
For additional security you can allow users to enter a passphrase.
Use the Password-Based Key Derivation Function 2 (PBKDF2) together with the mnemonic phrase and salt to produce a 512 bits seed.
If an attacker gets its hands on your mnemonic words the passphrase (it you have set it) will prevent the attacker to access the private keys.
PBKDF2 is purposefully made slow to make brute force dictionary attack very difficult.
The 512 bit seed is used to generate deterministic wallets.
How to generate deterministic wallets is explained in BIP-32 and BIP-44.
It is important to know that each time you enter a different passphrase it will generate a valid 512 bit seed and thus a valid wallet with valid public and private key pairs.
This feature can help you limit your loss after a 5$ wrench attack.
You can setup a second deterministic wallet with some coins to satisfy the attacker.
If you do not know what a 5$ wrench attack is watch this comic:
xkcd.com/538
Storing your passphrase at the same location as your mnemonic words is not recommended and beats the purpose.
But if you lose your passphrase, you have lost access to your coins.
A JavaScript implementation of BIP-39 can be found at:
github.com/bitcoinjs/bip39
How this JavaScript library is used see:
mobilefish.com/download/ethereum/bip39.html
A Mnemonic Code Converter web application can be found at:
iancoleman.github.io/bip39
Check out all my other Blockchain tutorial videos
goo.gl/aMTFHU
Subscribe to my YouTube channel
goo.gl/61NFzK
The presentation used in this video tutorial can be found at:
mobilefish.com/developer/blockchain/blockchain_quickguide_tutorial.html
#mobilefish #blockchain #bitcoin #cryptocurrency #ethereum
This is part 28 of the Blockchain tutorial.
In this video series different topics will be explained which will help you to understand blockchain.
It is recommended to watch each video sequentially as I may refer to certain Blockchain topics explained earlier.
WHAT IS A WALLET
--------------------------------
A wallet stores private keys.
The word wallet is misleading, it just stores private keys and not the coins.
The public addresses are automatically derived from the private keys.
If you open your Bitcoin wallet and one of your Bitcoin addresses shows that is has a balance of 5 BTC, than these bitcoins are not actually stored in your wallet.
It means that these 5 bitcoins were transferred to your Bitcoin address during a transaction.
This transaction (TX) information is stored on the blockchain.
Your wallet queries the blockchain and searches for Unspent TX Outputs (UTXO) for all your Bitcoin addresses to display their balances.
The bitcoins on these UTXO can be unlocked and transferred to another Bitcoin address using the private keys stored in the wallet.
NON-DETERMINISTIC WALLET
-------------------------------------------------
Wallets stores private keys but they also create these private keys.
The private keys are randomly generated numbers which are not related to each other.
You can not derive these private keys with an algorithm.
Hence the words "non-deterministic".
If you use a non-deterministic wallet you must make regular backups of these private keys.
If you have problems with your wallet, you can restore your wallet by importing the backupped private keys.
Explaining a non-deterministic wallet (for educational purpose only), see:
mobilefish.com/services/cryptocurrency/cryptocurrency.html
DETERMINISTIC WALLET
-----------------------------------------
A deterministic wallet uses 12 - 24 words to create a 512 bit seed.
These words are called mnemonic words, because they are more easily to remember than this long hexadecimal string.
The 512 bit seed is used to create a master private key.
This master private key in turn is used to create private keys and corresponding public addresses.
Generally speaking using these 12 - 24 words will complete restore your wallet with exactly the same private keys and corresponding public addresses.
Hence the word "deterministic".
It is imperative that you safely store these 12 - 24 words, without it you have no access to your private keys.
To see how an Ethereum deterministic wallet works, see YouTube movie:
youtu.be/cqz8-hOz_nk
BIP-39
-----------
The acronym BIP means Bitcoin Improvement Proposal.
BIPs are design documents for introducing features or information to Bitcoin.
An overview can be found at:
github.com/bitcoin/bips
BIP-39 describes the implementation of mnemonic words for the generation of deterministic wallets, see:
github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
BIP-39 is becoming an industry standard which is not only used for Bitcoin wallets but it is also used in Ethereum, Dash and other Altcoin wallets.
The wordlist can be found at:
github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md
For additional security you can allow users to enter a passphrase.
Use the Password-Based Key Derivation Function 2 (PBKDF2) together with the mnemonic phrase and salt to produce a 512 bits seed.
If an attacker gets its hands on your mnemonic words the passphrase (it you have set it) will prevent the attacker to access the private keys.
PBKDF2 is purposefully made slow to make brute force dictionary attack very difficult.
The 512 bit seed is used to generate deterministic wallets.
How to generate deterministic wallets is explained in BIP-32 and BIP-44.
It is important to know that each time you enter a different passphrase it will generate a valid 512 bit seed and thus a valid wallet with valid public and private key pairs.
This feature can help you limit your loss after a 5$ wrench attack.
You can setup a second deterministic wallet with some coins to satisfy the attacker.
If you do not know what a 5$ wrench attack is watch this comic:
xkcd.com/538
Storing your passphrase at the same location as your mnemonic words is not recommended and beats the purpose.
But if you lose your passphrase, you have lost access to your coins.
A JavaScript implementation of BIP-39 can be found at:
github.com/bitcoinjs/bip39
How this JavaScript library is used see:
mobilefish.com/download/ethereum/bip39.html
A Mnemonic Code Converter web application can be found at:
iancoleman.github.io/bip39
Check out all my other Blockchain tutorial videos
goo.gl/aMTFHU
Subscribe to my YouTube channel
goo.gl/61NFzK
The presentation used in this video tutorial can be found at:
mobilefish.com/developer/blockchain/blockchain_quickguide_tutorial.html
#mobilefish #blockchain #bitcoin #cryptocurrency #ethereum

![LoRa/LoRaWAN tutorial 8: Link Budget and Link Margin
If you like this video and want to support me, go this page for my donation Paypal or crypto addresses:
https://www.youtube.com/c/mobilefish/about
This is part 8 of the LoRa/LoRaWAN tutorial.
In this video series different topics will be explained which will help you to understand LoRa/LoRaWAN.
It is recommended to watch each video sequentially as I may refer to certain LoRa/LoRaWAN topics explained earlier.
In this video I will explain what link budgets, maximum link budgets and link margins are.
If an input signal (=message) is imposed onto a carrier signal this process is called modulation.
The modulated signal is broadcasted to the receiver.
Demodulation is the opposite, where the original signal (= message) is recovered from the modulated carrier wave.
A link budget is the sum of all of the gains and losses from the transmitter, through the medium (aka free space), to the receiver in a telecommunication system.
It is a way of quantifying the link performance.
Transmitter
The radio transmitter value must be specified in dbm, otherwise you do not know its absolute value.
Gains
Antenna (Unit: dbi)
Losses
Cables, connectors, signal propagating thru the medium (Unit: db)
When a signal propagates thru the medium, the signal loses strength.
This is called the path loss or path attenuation.
A simple link budget equation looks like this:
Received Power = Transmitted Power + Gains − Losses
For example: Received Power = 20 - 5 + 10 - 115 + 12 - 2 = -80 dBm
The receiver sensitivity is the lowest power level at which receiver can receive or demodulate the signal.
For example: Receiver sensitivity = -90 dBm
The link margin is the difference between the received power and receiver sensitivity.
Link margin = Received power - Receiver sensitivity
Link margin in dBm
Received power in dBm
Receiver sensitivity in dBm
For example:
Received power = -80dBm
Receiver sensitivity = -90
dBmLink margin = -80 - (-90) = 10 dBm = 10 mW
Question:
There are two receivers:
Receiver A with receiver sensitivity = -120 dBm
Receiver B with receiver sensitivity = -130 dBm
Which receiver is better?
Answer:
Receiver B is better because it can demodulate a RF signal at a lower power level.
If the link margin is too big, or too small, corrective actions can be applied to ensure the system will operate satisfactorily.
The link margin must be positive (Received Power must be greater than the Receiver sensitivity) and should be at least a few dB for the receiver to successfully demodulate the signal.
LoRa receivers are very sensitive and are offering a sensitivity down to -148 dBm [2], due to the use of Chirp Spread Spectrum.
More information:
https://www.semtech.com/products/wireless-rf/lora-transceivers/SX1276
The maximum link budget can be used as a baseline value to compare one radio to the next.
Maximum link budget = Maximum transmitter power - Lowest receiver sensitivity
Maximum link budget in dBm
Maximum transmitter power in dBm
Lowest receiver sensitivity in dBm
For example:
Max transmitter power = 20 dBm [2]
Lowest receiver sensitivity = -148 dBm [2]
Max link budget = Max transmitter power - Lowest receiver sensitivity
Max link budget = 20 - (-148) = 168 dBm [2]
Check out all my other LoRa/LoRaWAN tutorial videos:
https://www.youtube.com/playlist?list=PLmL13yqb6OxdeOi97EvI8QeO8o-PqeQ0g
Subscribe to my YouTube channel:
https://www.youtube.com/channel/UCG5_CT_KjexxjbgNE4lVGkg?sub_confirmation=1
The presentation used in this video tutorial can be found at:
https://www.mobilefish.com/developer/lorawan/lorawan_quickguide_tutorial.html
#mobilefish #lora #lorawan LoRa/LoRaWAN tutorial 8: Link Budget and Link Margin](https://i.ytimg.com/vi/jMFa3AiDbcI/mqdefault.jpg)








