Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FinTech Lecture 10 : Blockchain and Smart Contr...

Kenji Saito
December 14, 2023

FinTech Lecture 10 : Blockchain and Smart Contracts

Slides I used for FinTech - Financial Innovation and the Internet 2023 Fall at Graduate School of Business and Finance, Waseda University on December 15, 2023.

Kenji Saito

December 14, 2023
Tweet

More Decks by Kenji Saito

Other Decks in Technology

Transcript

  1. Financial technology in the living room. Generated by Stable Diffusion

    XL Beta FinTech — Financial Innovation and the Internet 2023 Fall Lecture 10 : Blockchain and Smart Contracts Kenji Saito, Graduate School of Business and Finance, Waseda University Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.1/42
  2. This class is recorded Using Zoom The recordings could be

    used for research on (online) learning Transcribed for use and anonymized Will let you know when the necessity arises Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.2/42
  3. The lecture slides can be found at : https://speakerdeck.com/ks91/collections/fintech-2023-fall Trial

    automatic transcription for lectures will be posted at Discord Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.3/42
  4. Schedule (provisional) Lecture 1 10/6 Overview of FinTech (1) •

    Lecture 2 10/13 Overview of FinTech (2) • Lecture 3 10/20 Internet Technology and Governance (1) • Lecture 4 10/27 Internet Technology and Governance (2) on-demand • Lecture 5 11/10 The World of Apps (1) • Lecture 6 11/17 The World of Apps (2) • Lecture 7 11/24 Basics of Cryptography and Blockchain • Lecture 8 12/1 Blockchain • Lecture 9 12/8 Blockchain Continued • Lecture 10 12/15 Blockchain and Smart Contracts • Lecture 11 12/22 Smart Contracts (w/ Demo) Lecture 12 1/12 Cyber-Physical Society and Future of Finance Lecture 13 1/19 FinTech Ideathon Lecture 14 1/26 Presentations and Conclusions Online presence is possible but not recommended for non-online lectures for interactivity reasons Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.4/42
  5. Last Week, We Did . . . Understanding Blockchain Validity/Existence/Uniqueness

    layers revisited Applicability of Blockchain Impossibility and Challenges of Blockchain Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.5/42
  6. Today’s Topics Impossibility and Challenges of Blockchain Brief Introduction to

    Upgrading and Governance of Blockchain ↑ Only small part of the above will be covered today They are in Lecture 9 slides and questions are always welcome Assignment Review Smart Contracts and Ethereum What is Smart Contract? Ethereum Smart Contract Programming Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.6/42
  7. Scaling Out Question There is one ATM that always has

    10 people in line Sorry if you are in an advanced environment, and you don’t know what we are talking about (or even wonder what an ATM is) ;) What happens to the number of people in the queue if we add one ATM? Other conditions remain the same cf. Daisuke Yamazaki, “Rethinking Scaling Out” (in Japanese) http://www.slideshare.net/yamaz2/ss-58813038 Performance problems can be solved by adding a server ⇒ The system scales out Blockchain does not scale out in its bare form (because everyone makes and maintains a replica) Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.7/42
  8. Scaling Out and Blockchain 7PMVNFPG%BUBUP1SPDFTT -PBEQFS/PEF #MPDLDIBJO 1SPQFSMZEFTJHOFEEJTUSJCVUFETZTUFN In blockchain,

    the cost of maintaining data structures rises linearly as transactions increase It does not scale out Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.8/42
  9. Blockchain’s “Oneness Trap” It does not scale out Adding more

    nodes does not solve or mitigate performance challenges Must be “the world is one” to work System does not work correctly if the network is partitioned by a large-scale disasters or political change Difficulty of governance to advance technology You cannot “try something different partially, and if it works, apply it to the whole” Impossibility of governance : Agreement by the “whole” must be maintained, but the “whole” cannot be defined ⇒ Powered few changes the technology instead ⇒ Those are disadvantages of non-decentralized nature of blockchain Conversely, there are great expectations and potential for truly decentralized “record fixation device in the air” Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.9/42
  10. Incentive Mismatch Ethereum cannot survive as an application platform if

    ETH as a currency crashes and declines Supported by validators’ motivation to get ETH When the value of ETH drops, validators withdraw Can people who want to run apps (smart contracts) buy ETH to maintain the price? If ETH’s market participants are primarily app users, may be . . . (but they aren’t) The design of the raw Bitcoin is goal-consistent, but . . . In other words, “Bitcoin cannot survive if BTC declines” would be fine But as proof applications such as Proof of Existence advance, similar problems arise Either way, the future of the system depends on the interests of the miners/validators ⇒ Need to separate application platforms from currency systems That is where the recent ledger technology is going, hopefully (because many still aren’t) Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.10/42
  11. Assignment Review Lecture 10 : Blockchain and Smart Contracts —

    FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.11/42
  12. Assignment 4. “Smart Contracts” Please think freely with the image

    of the word “smart contract” to fantasize a specific application example, and state the application briefly That is, go ahead and write a very short science fiction Deadline and how to submit December 12, 2023 at 17:59 JST From Moodle (mandatory) (Q&A forum) So that your classmates can read your report, refer to it, and comment on it Optionally, you can also post to #assignments channel at Discord So that anyone in our Discord can read your report, refer to it, and comment on it Just plain text, and be concise, please You may want to apply Kent Beck style for abstracts (4 sentences) (problem) (why it is a problem) (startling sentence) (consequences) of a story Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.12/42
  13. Trends and Measures Trends . . . of your reports

    Measures . . . how to improve the class 20 out of 26 students submitted (as of Wednesday; always better late than never) Your Sci-Fi stories are about . . . transport / payroll / direct banking / insurance / eco-contracts / body donation / divorce / monetary policy / planetary or inter-planetary agreements / authenticity of contracts / medical records / decisions for the community / guardians of trust in shopping / mating and dating / judicial procedures / taxation / nano machines Very interesting stories! Several students came up with a sort of application of the last will example That is good, because this would be an appropriate application of blockchain Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.13/42
  14. Story by N-san Despite a higher number of registered body

    donations, there remains a shortage of cadavers for the sake of medical education This is because the donor’s family often refuses to grant permission due to religious beliefs or perceptions Smart contracts can effectively solve this problem Via a smart contract, after the donor’s death is confirmed, the right over the body will automatically transferred to the medical schools based upon the donor’s registration ⇒ This is a sort of application of the last will example (and Kent Beck style for abstracts) Confirmation of the death of the donor may be problematic, but maybe we can trigger the contract with some legal process involving the doctor’s signature, and the right to the body can be declared invalid if the person is in fact still alive Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.14/42
  15. Story by S-san I will be launching the app called

    “HealthChain,” where your medical records are safe on a blockchain You can get a special key that lets you choose who sees your info Doctors ask for permission, and the app keeps track of who looks at your records After check-ups, your records update by themselves If something urgent comes up, the right people can get your vital info fast. Moreover, it sorts out insurance claims automatically after your visits It’s all about keeping your health info safe, private, and easy to manage ⇒ Be careful about the privacy part If the medical information itself, even if it is encrypted, is written to the blockchain and cannot be erased, anyone who can use the key can have access to it at any time Perhaps it is better to keep just the evidence (digest) of the medical information on the blockchain Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.15/42
  16. Story by N-san In 2147, NanoMed, a fictional company, introduced

    SmartHealth You sign up, and these microscopic health bots, the nano-docs, cruise your veins They chat on a decentralized network, fine-tuning your diet, workouts, and meds It’s a deal where you nod to a future of health guided by smart maestros ⇒ It is about whether you can trust your life to a digital contract Trust for automated systems will be a major challenge in the future Let’s see if today’s smart contracts are good enough for that, shall we? Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.16/42
  17. Smart Contracts and Ethereum What is Smart Contract? Ethereum Smart

    Contract Programming Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.17/42
  18. What is Smart Contract? Speak in a narrow sense Speak

    in a broad sense Smart contracts and vending machines What is a contract? Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.18/42
  19. Speak in a Narrow Sense A smart contract is, A

    system for automatically transferring and transitioning digitally represented assets according to predetermined rules Or more mechanically, To write program code and data to a blockchain, Or to a ledger that can pass the last will test (censorship-resistent in a broad sense) And run the program blockchain-wise to update data Run when miners/validators verify transactions They do not agree with the feeling of the word But there is a meaning to this narrow sense Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.19/42
  20. Speak in a Broad Sense A smart contract is, A

    mechanism for implementing contracts mechanically Or, a contract implemented as such ↑ Definition in future dictionaries A vending machine is a primitive form of a smart contract Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.20/42
  21. What is a Contract Anyway? Contracts (by Oxford Dictionary) A

    written or spoken agreement, especially one concerning employment, sales, or tenancy, that is intended to be enforceable by law ⇒ Well, code may be law Essential requirement for its establishment Coherence of manifestation of intention between the parties And the medium for that, Oral, handshake, carving/baking on clay tablets and breaking them, paper (handwriting), paper (print) What can a machine do? cf. “The medium is the message.” by McLuhan cf. “Gutenberg Galaxy” by McLuhan Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.21/42
  22. Gutenberg Galaxy (typography) (revisited) Birth of the concept of “authors”

    (meaningless concept unless texts are copied word for word without difference) Scientific methodology (publish papers and have results tested) Nationalism (one standard language, one country) Prepared “movies” (series of photos from one viewpoint) Clear distinction between finished and unfinished “products” (printed copies are the products, handwritten manuscripts are not) Individualism (can carry knowledge personally) Unification of popular culture (massive copies) . . . ⇒ Prepared the industrial society Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.22/42
  23. Reversed Gutenberg Galaxy (digital media) (revisited) Destruction of the concept

    of “authors” (social media time lines are like mosaic media) Overturned scientific methodology (automated hypothesis-testing loops for discoveries) Global perspective (connected across borders) Everyone becomes a moviemaker (YouTubers, TikTokers) Obscured finished and unfinished products ⇒ open design Promotion of collaboration (sharing by default) Diversification of cultural events (long tail) . . . ⇒ Preparing for the next society Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.23/42
  24. Overview of Ethereum Blockchain and State Transition EVM (Ethereum Virtual

    Machine) Ethereum explained by a physical model Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.24/42
  25. What is Ethereum? Vitalik Buterin, “Ethereum White Paper: A NEXT

    GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM” Applying blockchain technology Block interval : at most 1 block in a 12-second time slot Put a programming language on it Turing complete = can emulate a universal Turing machine (well that’s almost a definition of a programming language) Foundation for DApps (applications that automate the center) An attempt to make the current financial and monetary system obsolete That’s what smart contracts are all about Automate digital asset transfers and their state transitions Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.25/42
  26. Blockchain and State Transitions TUBUF FYUFSOBMBDUPST BDDPVOU &7.DPEF &UIFSˠHBT JOWPLF

    DPOUSBDUDPEF NFTTBHFPSBOFXBVUPOPNPVTPCKFDU EBUBFYDIBOHFEBNPOHBDDPVOUTPS&UIFS TUPSBHF TUBUF` TFUPG USBOTBDUJPOT EJHJUBMTJHOBUVSF &7. IVNBO GPSFYBNQMF Blockchain = Run of a state machine (state transition system) = Operation of a computer Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.26/42
  27. Glossary Ether (ETH) Native currency of Ethereum (compensation for validating)

    External Actor A real person/entity who can digitally sign, having an account EOA : Externally-Owned Account Autonomous Object (internal actor) Operates autonomously within the system, and has an account That said, if you don’t send a message, it won’t work (and validators run them) Account Has an Ether balance, and can have storage (state) and EVM code EVM Code Smart contract program Smart contract = application program on Ethereum = intelligent contract Authenticity is ensured by being recorded in blockchain Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.27/42
  28. EVM : Ethereum Virtual Machine TUBUF FYUFSOBMBDUPST BDDPVOU &7.DPEF &UIFSˠHBT

    JOWPLF DPOUSBDUDPEF NFTTBHFPSBOFXBVUPOPNPVTPCKFDU EBUBFYDIBOHFEBNPOHBDDPVOUTPS&UIFS TUPSBHF TUBUF` TFUPG USBOTBDUJPOT EJHJUBMTJHOBUVSF &7. IVNBO GPSFYBNQMF BVUPOPNPVT PCKFDU Triggered when an autonomous object receives a message, performs a contract, and changes state Gas (computing resource) must be bought for the following reasons To avoid infinite loops and control congestion (base fee; burnt), and compensate the block proposers (priority fee) Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.28/42
  29. Beaker/Newspaper/Machine Model (1/7) Physical model of how Ethereum works today

    cf. PROOF-OF-STAKE (POS), Eth2Book Preconditions About beakers (containers for native cryptocurrency) Unlike Bitcoin, beakers are not created anew for each transaction, but are created as a set with the private key and placed at a specific address for each Private key opens the stopper, and the liquid is injected somewhere (no need to empty it) The pour spout is always open, allowing liquid to be injected About Liquid The liquid is used as fuel for the mechanical calculator to run automatically About the machine (mechanical calculator) We use the world’s one and only mechanical calculator It has a vast memory and works by inserting punch cards and setting a beaker Programmers cannot type directly into a punch card Use a service that compiles human-readable code into punch cards Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.29/42
  30. Beaker/Newspaper/Machine Model (2/7) Transactions Calculator-assisted processing is called a transaction,

    and there are three types: (1) Set source and destination beakers and move the fuel by the specified amount (2) Set up a beaker with a card deck describing the application program and initial parameters, and write the program in memory (deploy) · The calculator also executes the initialization code for that program to set up the application (3) Set up a card and beaker and use it to call a program in memory Signed newspaper article The person wishing to execute their transaction distributes copies of the following information as their signed article to the validators described later Address of the beaker from which the fuel was injected (signed so we know it is you) Punch card contents Amount of fuel that may be given to the validator running the calculator (priority fee) and the maximum amount of fuel that may be used The articles of the executed transactions make up one page of the newspaper Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.30/42
  31. Beaker/Newspaper/Machine Model (3/7) Fuel consumption Mechanical calculator does not run

    at a constant fuel consumption rate; it runs worse (requires more fuel) when transactions are crowded and better (requires less fuel) when not One unit of calculation that consumes fuel is confusingly called gas Newspaper page size is also weighed in gas (Total gas usage for executed transactions) The standard paper size is 15 million gas and the maximum size is 30 million gas If the page standard is exceeded, the fuel consumption of transactions will be worse on the next page, and if below the standard, the fuel consumption of the next page will be better People like to use the calculator when they can get the most mileage, so we hope this will help regulate congestion (what do you think?) Move to the next method with sufficiently accumulated costs of PoW Method described on the next page and beyond cannot be started from zero Ethereum has moved from PoW to the next scheme in September 2022 Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.31/42
  32. Beaker/Newspaper/Machine Model (4/7) Deposits and Validators Fuel is weighed in

    units of Gwei where 1 Giga Gwei is ETH A validator is an entity person who has deposited 32 ETH(!) into the system Validators are required to do the following tasks, and if they do them diligently, they will increase the ETH deposit, and if they do them sloppily, they will forfeit the ETH deposit · The maximum value that counts as a deposit is 32 ETH (actual amount can be more) · Validator is expelled for falling below 16 ETH Slot and Newspaper Page (block) proposal Time is separated by slots at 12 second intervals In each slot, one of the validators wins a raffle (in the usual sense) Winning validator lets selected articles actually run on the calculator (if they fail to run, the articles are discarded), composes a page of the newspaper and proposes it to everyone If the validator skips it, the page was not made in that slot Other validators that received the page will do confirmation calculations Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.32/42
  33. Beaker/Newspaper/Machine Model (5/7) Epoch and Finalization 32 slots as 1

    epoch (384 sec) Validator is assigned to a committee for one of the slots in each epoch (beacon committee) to testify (sign) the correctness of the page proposed for that slot The first slot in an epoch is called the checkpoint Validator specifically attests to the checkpoints of two consecutive epochs If testimonials from validators that amount ≥ 2 3 of the total deposit are obtained The latest checkpoint is justified The second latest checkpoint is finalized (the pages up to it are their final versions) Sync Committee Every 256 epochs, 512 validators are selected as a committee to testify for the pages This will help non-validators to consider the correctness of the pages Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.33/42
  34. Beaker/Newspaper/Machine Model (6/7) What if the sequence of pages in

    an epoch branches? Since everyone does what they do as they please, divergence may occur For example, one validator might think that no block was proposed in the previous slot In that case, we will use the history with the most testimonials weighed by the deposits (modified Nakamoto consensus ← the history with the most cost is the most correct) Confiscation and expulsion If you are selected for a sync committee and do not respond, you forfeit from your deposit If you do not testify at checkpoints, you forfeit from the deposit Failure to finalize a page for more than 4 epochs will result in forfeiture from the deposits attested to the minority side (no reward for the majority side in the meantime) Hopefully this will make it easier for the majority side to get ≥ 2 3 of the deposits If you propose more than one page in the same slot, attempt to alter the history, or double-vote, you will be banned after forfeiting your deposit (after 36 days) If there are multiple validators who misbehaved at the same time, we will consider possibility of a conspiracy and confiscate them so badly Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.34/42
  35. Beaker/Newspaper/Machine Model (7/7) Rewards Reward for working diligently as a

    validator is proportional to the amount of your deposit and inversely proportional to the square root of everyone’s total deposit Delay in testifying will reduce the amount of your reward Rewards are given per epoch Way of drawing lots or electing validators to committees (existing metaphor) Uses a conceptual DAO (RANDAO) to generate random numbers This is a deck of playing cards placed in the memory of the calculator Validator proposing a page shuffles the deck once during the proposal Takes XOR of the digest of the signature on the data based on the epoch number and the existing RANDAO Each time a page is generated, the deck is shuffled one after the other, so that it accumulates enough randomness It is random yet deterministic since everyone is looking at the same deck The deck at the end of each epoch is used to determine the proposers and committee members after 2 epochs Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.35/42
  36. Smart Contract Programming Programming language Characteristics and challenges Lecture 10

    : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.36/42
  37. Programming Language EVM interprets bytecode (instruction set for virtual machines

    or interpreters) EVM is a stack machine (stack calculator) (see Lecture 6) Programmers don’t usually program in bytecode or machine languages Requires compilers for other, high-level languages High-level language : human-readable/writable language On the other hand, languages close to machines are called low-level languages . . . We may be scolded by artificial intelligence in the near future ;) Examples : Solidity — JavaScript-like language Current primary language Vyper — Python-like language LLL — Lisp-like language Fe — Rust-like features with reference to Vyper? ← NEW! Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.37/42
  38. Solidity Sample Code (this is a high-level language!) pragma solidity

    >=0.4.18 <0.6.0; contract IndivisibleAsset { /* transfer ownership of non-divisible assets */ string public _name; string public _symbol; uint256 public _quantity; address public _owner; constructor(string name, string symbol, uint256 quantity) public { _name = name; _symbol = symbol; _quantity = quantity; _owner = msg.sender; } function transfer(address to) public returns (bool) { require (_owner == msg.sender); _owner = to; return true; } } Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.38/42
  39. Another Solidity Sample Code (snippet) . . . function transfer(address

    to, uint256 value) public returns (bool) { balances[msg.sender] = balances[msg.sender] - value; balances[to] = balances[to] + value; return true; } . . . This can be the core of a (not-so-secure) token contract Without considering overflow/underflow A token contract typically manages the balances of all users Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.39/42
  40. Features of Programming Language Solidity JavaScript-like Object-oriented Describe a contract

    as a template (type or class) Constructor is called during deployment Deploy here means to deploy the contract to the blockchain Decides what parameters to pass to the constructor upon deployment Conforms to Ethereum programming model Deployed contract is a specific entity (instance) Has an account (identified by the address, just like a human user) Has storage and ETH balance Can send messages to other contracts Model where deployed contracts are manipulated by sending messages On the assumption that the authenticity of the code that responds to the message is guaranteed Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.40/42
  41. Characteristics and Challenges Characteristics Execute the program during the block

    validation process, and reflect the results in the “world state” Redundant verifiers Closed within the state of blockchain (maintained by the verifiers) This design is consistent in the Ethereum system Challenges I/O commands cannot be issued from within the program Not affected by the outside world other than external actors who send signed messages ⇒ ex. Data from sensors cannot be read directly (problem of an oracle) Not able to directly affect the outside world ⇒ ex. Cannot send commands to the motor to turn it on/off Lecture 10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.41/42
  42. Have a Nice Weekend and See You Next Week! Lecture

    10 : Blockchain and Smart Contracts — FinTech — Financial Innovation and the Internet 2023 Fall — 2023-12-15 – p.42/42