BTE Exam 2
Proof of Work (Bitcoin)- Halving
- Bitcoin halving, often called the "halvening," is an important and preprogrammed event in the Bitcoin network. - It occurs approximately every four years, or after every 210,000 blocks have been mined - The primary purpose of a Bitcoin halving is to control the rate at which new Bitcoins are created and introduced into circulation
Unified Data Repository
Data integration aims to establish a unified data repository or warehouse where data from different sources is stored
Decentralized Finance (DeFi)
DeFi applications are built on Ethereum and use smart contracts to automate financial processes.
Tokenization
DeFi often involves the creation of digital tokens that represent real-world assets like cryptocurrencies, stocks, or commodities.
Tokens- Ethereum
Digital Representation of Value: Customizable Assets (can be customized to represent a wide range of assets) Smart Contracts(created and managed through smart contracts) ex: Utility, Security Tokens,Governance Tokens
Problem Solving
Each language is designed with specific problem domains in mind, and businesses choose languages that align with their needs.
Ether (ETH)
Ether is Ethereum's native cryptocurrency used to power the network.
Upgrades and Improvement Proposals
Ethereum is an evolving platform with regular upgrades to improve scalability, security, and functionality
Decentralized Applications (DApps)
Ethereum provides a platform for developers to build on a global network of computers.
Gas
Fuel for Transactions: Gas in Ethereum is like the fuel required to execute transactions and smart contracts on the Ethereum network. Every operation that writes in the blockchain (sending Ether, creating and executing smart contracts) consumes gas. Miner Compensation: Miners who validate transactions and secure the network receive gas fees as rewards for their work. These fees incentivize m
Smart Contracts
Self-executing contracts with the terms of the agreement between buyer and seller directly written into code. - computer program that automatically executes and enforces the terms of a contract when predefined conditions are met
Key features:
Smart Contracts Decentralized Applications (DApps) Decentralized Finance (DeFi) Ether (ETH) Upgrades and Improvement Proposals
Scalability
Some languages are better suited for building scalable applications, which is crucial for businesses expecting growth.
Solving a problem with programming
Step 1: Analyze the problem Step 2: Implement the algorithm Step 3: Maintain the program
String (str)
Text. ("hello", "bye", "one thing", "2")
Private key
The address to access to your funds
Public Key
The address to receive crypto
Smart contracts ethereum
The blockchain can store code (smart contracts) as well as transactions.
Mobile Wallets
These are smartphone apps that provide convenient access to your cryptocurrencies. They're similar to mobile banking apps.
Desktop Wallets
These are software applications you can install on your computer. They offer control and security, like desktop banking software.
Performance
Depending on the nature of the project, businesses may prioritize languages known for their performance
Data Gathering
forms the foundation for effective decision-making and insights generation
Non-Fungible Token (NFT)
is a digital asset representing ownership or proof of authenticity of a unique item or piece of content using blockchain technology
Scratch
is a high-level block-based visual programming language and website aimed primarily at children as an educational tool, with a target audience of ages 8 to 16
Ledger
is a system of records for a business - transactions are recorded here
Visual programming language (VPL)
is a type of programming language that uses graphical elements, symbols, and visual representations to create, edit, and manipulate code
C#
is favored for Windows app development and game development using Unity It's known for its integration with Microsoft technologies
Proof of Work (Bitcoin) extra
- Every time a new block of transactions gets confirmed: new bitcoin its produced - The total supply of Bitcoin is capped at 21 million coins - There are currently 19,484,462.5 bitcoins in circulation
What is crypto trying to solve?
- It is a decentralized asset - It is not controlled by a single authority - I can be freely tradable (as long as you own And have access to the internet)
Blockchain aspects:
- It is a distributed database leveraging distributed processing - Multiple parties (peer) share it by keeping an identical copy - Transactions are recorded (write) in the database - Each new record (write) to the database is a Block -Transactions/Blocks are processed one at a time, no new transaction/ - block is committed until the prior one is approved
Problems with a centralized financial system
- Money printing - inflation - You are not in control of your own money - Potential lack of protection for the individual
Proof of Work (PoW)
- Participants (miners) compete to solve complex mathematical puzzles. - The first one to solve it gets the right to validate a block of transactions and add it to the blockchain (energy intensive and Bitcoin uses this)
Proof of Stake (Ethereum 2.0)
- Those who hold more tokens (stake) have a more significant say in validating transactions and securing the network. - They are incentivized to act honestly because they have something valuable (their stake) at risk
51% attack
- a situation in a blockchain network where a group of miners controls more than 50% of the network's total computing power or hash rate - This level of control allows the attacker to manipulate the blockchain's consensus mechanism and potentially disrupt the network's normal operation
Transactions could happen in
- open market (auction) - closed market (supply chain)
Flowcharting- Sum of five
1. Set variables (totalsum, counter) to zero 2. Get number (n) from user 3. Add n to totalsum 4. Increase counter by 1 5. If counter less than 5, repeat from step 2 else, print total sum
Proof of Work Process (Mining)
1. Several transactions start. 2. The Block: Miners (computers in the network) gather these transactions into a group called a "block." This block acts like a page in a digital ledger. 3. The Puzzle: Miners compete to solve a complex mathematical puzzle related to the transactions in the block. 4. The Winner: The miner who finds the correct answer first gets to add the block of transactions to the blockchain. This is like winning a lottery. It's a race, and the fastest computer usually wins. 5. The Validation: Other computers in the network quickly check the winning miner's work to make sure it's correct. 6. The Reward: The winning miner is rewarded with cryptocurrency tokens if everything checks out. This reward is their incentive for doing all the hard work and using their computer's power. 7. Once a block is added to the blockchain, a new puzzle starts for the next set of transactions. This keeps the system running smoothly and the ledger up to date
Proof of Stake (Ethereum 2.0) Process
1. Staking: Participants in a PoS blockchain network are required to "stake" cryptocurrency as collateral. 2. Block Creation: Instead of miners competing to solve complex puzzles, as in PoW, PoS networks select validators to create new blocks. The probability of being chosen as a validator is directly proportional to the cryptocurrency they have staked. Validators are responsible for validating transactions and creating new blocks. 3. Transaction Validation: When a transaction starts on the network, validators are chosen to validate and confirm the transaction's accuracy. 4. Block Addition: Once a validator successfully validates a block of transactions, it is added to the blockchain. Validators are rewarded with transaction fees (crypto). 5. Security and Consensus: Validators who attempt to validate fraudulent transactions or manipulate the system risk losing their staked coins as collateral. 6. Energy Efficiency: PoS is more environmentally friendly than PoW, as it doesn't require the massive computational power and energy consumption associated with mining in PoW systems.
Integrated development environment IDE
1. a software application that provides comprehensive facilities for software development. 2. normally consists of at least a source-code editor, build automation tools, and a debugger. 3. It is used to write code
Business intelligence
A broad category of applications, technologies, and processes for gathering, storing, accessing, and analyzing data to help business users make better decisions.
Ecosystem
A language's ecosystem, including libraries and frameworks, can significantly impact its suitability for specific tasks.
Smart contracts in bitcoin
Act as a ledger to keep accounting up to date (transactions)
Transparency
All transactions are recorded in a public ledger that anyone can see (makes it harder for anyone to commit fraud)
Integration of Diverse Data Sources
BI integrates data from various sources, including internal databases, external sources, spreadsheets, cloud applications, and more.
Non fungible vs fungabile
Bitcoin or Ethereum, which are fungible and can be exchanged on a one-to-one basis (1 BTC is always equal to 1 BTC, same as 1 USD is always equal to 1 USD), NFTs are non-fungible, meaning each NFT has distinct properties that make it different and irreplaceable.
Blockchain vs bitcoin:
Blockchain is the technology that enables secure, transparent,and decentralized record-keeping vs. Bitcoin (or other cryptocurrencies, like Ethereum) is a specific application of blockchain technology - it's a digital currency operating through blockchain.
Integration
Compatibility with existing technologies and systems plays a vital role in language selection.
Key aspects of BI
It involves using different tools, techniques, and methodologies to transform raw data into meaningful insights that inform strategic and tactical business decisions
Community and Support
Languages with active communities tend to have better support and resources, making them attractive to businesses.
Open Source- decentralized finance
Most DeFi projects are open source, meaning their code is publicly accessible and can be audited by anyone.
Ownership and Provenance
NFTs are recorded on a blockchain, providing a transparent and immutable ownership and transaction history ledger
Indivisibility
NFTs cannot be divided into smaller units like cryptocurrencies. You either own the entire NFT or none of it.
Choosing a programming language
Problem Solving Ecosystem Scalability Community and Support Integration Performance
Problem Solving and Algorithm
Programming is a process of problem solving - An algorithm is a step-by-step problem-solving process - A solution is achieved in a finite amount of time
Mechanisms to ensure consensus:
Proof of Work (PoW) Proof of Stake (PoS) Delegated Proof of Stake (DPoS) Proof of Authority (PoA) Proof of Space and Time (PoST) Proof of History (PoH)
Online Wallets (Web Wallets)
These are web-based wallets accessible through a browser. They're convenient but may have security trade-offs, similar to online banking.
Uniqueness
They represent ownership of a specific digital or physical item, such as digital art, collectibles, virtual real estate, music, videos, in-game items, or real-world assets like real estate.
Interoperability- decentralized finance
Users can easily move assets and data between different DeFi applications without relying on intermediaries.
Variable Names- python
Variables need labels or identifiers. They should be descriptive and meaningful so anyone reading the code can understand the variable (ex area ina area=100)
Variable Values- python
Variables need to have values (Ex. 100 in area=100)
Data sets- Raw data
a data collection that has not undergone any processing, transformation, or analysis. - represents the most basic and unaltered form of data, typically as it was initially collected or generated. ex. come from surveys
Ethereum
a decentralized, open-source blockchain platform that enables the creation of smart contracts and decentralized applications (DApps)
Wallets
a digital tool that stores, manages, and interacts with your digital assets - software wallets - mobile wallets - desktop wallets - online wallets - hardware wallets - paper wallets
Blockchain three pillars
decentralization(trust, security, ownership and control), transparency, immutability
Solidility
a high-level, statically typed programming language for writing smart contracts on the Ethereum blockchain - designed specifically for Ethereum and is the most commonly used language for developing decentralized applications (DApps) that run on Ethereum
Consensus mechanism
a mechanism in blockchain ensures all participants in a decentralized network agree on the validity of transactions and the ledger's state without needing a central authority - a set of rules or protocols governing how new transactions are added to the blockchain and resolving conflicts
Data integration
a necessary process that involves combining data from multiple sources, making it accessible and usable for analysis and reporting.
Paper Wallets
a physical document (usually a piece of paper) that contains your cryptocurrency's public and private keys.
Data Mining
a process used to extract usable data from a larger set of any raw data. It implies identify patterns and relationships that can help solve business problems through data (usueful to predict trends and identify previously unknown patterns)
Decentralized applications (DApps)- Ethereum
a software application that operates using blockchain technology as its underlying infrastructure - open-source, transparent, and autonomous - Some DApps have native tokens or cryptocurrencies used to incentivize users and provide access to specific features or services within the application
Stable coin
a type of cryptocurrency designed to have a stable value, typically by being pegged to a reserve asset or following a predefined algorithmic mechanism aim to provide a more reliable and stable store of value, making them suitable for various financial applications
Loops
allow you to automate repetitive tasks, saving time and reducing errors. For instance, you can use loops to process large datasets or perform calculations on multiple items.
Block
contains several transactions, just like a page in a ledger contains multiple entries - Each transaction includes information about what was exchanged, who initiated it, and a unique identifier. - Once a block is full of transactions, it undergoes a verification process by network participants (nodes) to ensure its accuracy then once verified, a new block is linked to the previous one, creating a chain
Decentralized finance:
an open and permissionless financial system accessible to anyone with an internet connection, providing greater financial inclusion
Hardware Wallets (Cold Wallets)
are physical devices that resemble USB drives. They are considered one of the most secure options for long-term storage. Think of them as vaults for your cryptocurrencies
Boolean (bool)
can have only two values, True or False. (ex. "In stock" or "Out of stock," "Paid" or "Unpaid.")
Python
easy and simple, It's widely used in data analysis, machine learning, web development, and automation.
Immutability
ensures that the data on a blockchain is reliable, tamper-proof, and can be trusted. - it eliminates the need for intermediaries or third parties to verify transactions or records
Consensus mechanism aspects
ensuring agreement (participants to reach a common understanding of the state of the blockchain) security decentralization
Swift
essential for iOS and macOS app development It's the primary language for building applications on Apple platforms.
JavaScript
essential for web development, used to create interactive and dynamic web pages, making it indispensable for e-commerce, social media, and modern online applications
Indentation
is used to indicate the grouping or nesting of code statements within blocks. Proper indentation is essential for the interpreter to understand the program's structure correctly.
Predictive Analytics
focuses on using historical data and statistical algorithms to predict future events or outcomes. It aims to forecast trends, behaviors, or values based on patterns observed in the data - Create actionable predictive models based on available data.
Programming language
is a computer language engineering to create a standard form of commands - Set of rules symbols and special words
Decentralized exchange (DEX)
is a cryptocurrency exchange that operates without a central authority or intermediary allow users to trade directly using smart contracts on a blockchain
SQL (Structured Query Language)
is used to manage and manipulate databases - It's vital for data-driven decision-making in businesses and plays a significant role in business intelligence
A for loop
is used when you know beforehand how many times you want to repeat a block of code
A while loop
is used when you want to repeat a block of code as long as a certain condition is true
Java
is valued for its portability; it can run on various platforms, used in developing Android apps, enterprise applications, and large scale system
C++
known for its high performance and is used in areas where speed and efficiency are critical widely used in game development, real-time simulations, operating systems, and system software.
Comments
lines of text that are not executed as code. used to provide explanations or notes within the code for humans to understand the program better
Float (float)
numbers with decimal points(1.05, 3.0, 12.001...)
Blockchain used in Supply chain
optimizes supply chain efficiency, reduces costs, and fosters stakeholder trust, making it a powerful tool for modern businesses
Origins of crypto
the cyberpunks, (computer scientists, cryptography and privacy advocates) were passionate about using cryptography and computer technology to protect individual privacy, secure communication, and promote personal freedom in the digital age - was an alternative payment system that was not controlled by central bodies
Blockchain
the technology that makes Bitcoin possible ( as well as other cryptocurrencies)
Print in python
used to display information or results on the screen
Conditional statements
used to make decisions in the program (include if, else, or ifelse statements) - IF expression is true, statement1 is executed; otherwise (else), statement2 is executed - Two way selection syntax
Security and ownership:
wallets and public/private keys
Integer (int)- python
whole numbers. (1, 2, 3, 4...)
Bitcoin
works as a spreadsheet to keep accounting up to date Every time there is a transaction it gets registered (digital currency) - It is decentralized (a decentralized protocol) - It is almost impossible to hack