Turing complete

37 results back to index


pages: 960 words: 125,049

Mastering Ethereum: Building Smart Contracts and DApps by Andreas M. Antonopoulos, Gavin Wood Ph. D.

Amazon Web Services, bitcoin, blockchain, continuous integration, cryptocurrency, Debian, domain-specific language, don't repeat yourself, Edward Snowden, en.wikipedia.org, Ethereum, ethereum blockchain, fault tolerance, fiat currency, Firefox, Google Chrome, intangible asset, Internet of things, litecoin, move fast and break things, move fast and break things, node package manager, peer-to-peer, Ponzi scheme, prediction markets, pull request, QR code, Ruby on Rails, Satoshi Nakamoto, sealed-bid auction, sharing economy, side project, smart contracts, transaction costs, Turing complete, Turing machine, Vickrey auction, web application, WebSocket

Ethereum programs run “everywhere,” yet produce a common state that is secured by the rules of consensus. Turing Completeness as a “Feature” Hearing that Ethereum is Turing complete, you might arrive at the conclusion that this is a feature that is somehow lacking in a system that is Turing incomplete. Rather, it is the opposite. Turing completeness is very easy to achieve; in fact, the simplest Turing-complete state machine known has 4 states and uses 6 symbols, with a state definition that is only 22 instructions long. Indeed, sometimes systems are found to be “accidentally Turing complete.” A fun reference of such systems can be found at http://bit.ly/2Og1VgX. However, Turing completeness is very dangerous, particularly in open access systems like public blockchains, because of the halting problem we touched on earlier. For example, modern printers are Turing complete and can be given files to print that send them into a frozen state.

Town Crier, Data Authentication transaction call, Transaction/message call context transaction fees (see gas) transaction receipt, Events transactions, Transactions-Conclusionsas atomic, Life Cycle of a Smart Contract basic structure, The Structure of a Transaction contract creation, Special Transaction: Contract Creation-Special Transaction: Contract Creation defined, Quick Glossary digital signatures and, Digital Signatures-Raw Transaction Creation with EIP-155 gas, Transaction Gas-Transaction Gas multiple-signature, Multiple-Signature (Multisig) Transactions nonces, The Transaction Nonce-Concurrency, Transaction Origination, and Nonces propagation of, Transaction Propagation raw transaction creation with EIP-1455, Raw Transaction Creation with EIP-155 raw transaction creation/signing, Raw Transaction Creation and Signing recipient of, Transaction Recipient recording on the blockchain, Recording on the Blockchain separating signing and transmission, Separating Signing and Transmission (Offline Signing)-Separating Signing and Transmission (Offline Signing) signature prefix value (v) and public key recovery, The Signature Prefix Value (v) and Public Key Recovery signing in practice, Transaction Signing in Practice smart contracts and, Life Cycle of a Smart Contract transmitting data payload to EOAs and contracts, Transmitting a Data Payload to an EOA or Contract-Transmitting a Data Payload to an EOA or Contract transmitting value to EOAs and contract, Transmitting Value to EOAs and Contracts value and data fields, Transaction Value and Data-Transmitting a Data Payload to an EOA or Contract warnings and cautions, Ethereum Addresses and Transactions in this Book transfer functionERC20 token standard, ERC20 workflows: “transfer” and “approve & transferFrom”-ERC20 workflows: “transfer” and “approve & transferFrom” to reduce reentrancy vulnerabilities, Preventative Techniques trapdoor functions, Public Key Cryptography and Cryptocurrency tree structure, navigating, Navigating the HD wallet tree structure TrueBit, Computation Oracles Truffle, Truffle-Using the Truffle consoleas test framework, Testing Smart Contracts configuring, Configuring truffle console, Using the Truffle console-Using the Truffle console contract deployment with, Using truffle to deploy a contract creating a project directory, Creating a truffle project directory-Creating a truffle project directory defined, Quick Glossary installing, Installing the Truffle framework integrating a prebuilt Truffle project, Integrating a prebuilt Truffle project (Truffle Box) interacting with METoken via Truffle console, Interacting with METoken using the Truffle console-Interacting with METoken using the Truffle console migrations, Truffle migrations — understanding deployment scripts-Truffle migrations — understanding deployment scripts running test transaction with, Catching events Truffle Box, Integrating a prebuilt Truffle project (Truffle Box) Trust Wallet, Mobile (Smartphone) Wallets trusted execution environments (TEEs), Data Authentication trustless systems, Oracles(see also oracles) Turing completenessas feature, Turing Completeness as a “Feature” defined, Quick Glossary Ethereum and, Ethereum and Turing Completeness EVM and, What Is the EVM?, Turing Completeness and Gas implications of, Implications of Turing Completeness Turing, Alan, Ethereum and Turing Completeness tx object, Transaction context tx.origin authentication security threatpreventative techniques, Preventative Techniques vulnerability, The Vulnerability typecasting, Variable Typecasting typographical conventions, Conventions Used in This Book U unchecked CALL return value security threat, Unchecked CALL Return Values-Real-World Example: Etherpot and King of the Etherpreventative techniques, Preventative Techniques real-world example: Etherpot and King of the Ether, Real-World Example: Etherpot and King of the Ether vulnerability, The Vulnerability underflow, Arithmetic Over/Underflows-Real-World Examples: PoWHC and Batch Transfer Overflow (CVE-2018–10299), The Vulnerability unexpected etherpreventative techniques, Preventative Techniques security threat from, Unexpected Ether-Further Examples vulnerability, The Vulnerability-The Vulnerability uninitialized storage pointers security threat, Uninitialized Storage Pointers-Real-World Examples: OpenAddressLottery and CryptoRoulette Honey Potspreventative techniques, Preventative Techniques real-world examples: OpenAddressLottery and CryptoRoulette honey pots, Real-World Examples: OpenAddressLottery and CryptoRoulette Honey Pots vulnerability, The Vulnerability-The Vulnerability Universal Turing machine (UTM), Ethereum and Turing Completeness user interface, as DApp frontend, Frontend (Web User Interface) utilities, EthereumJS helpeth: A Command-Line Utilitydapp.tools, dapp.tools EthereumJS helpeth, EthereumJS helpeth: A Command-Line Utility SputnikVM, SputnikVM utility currency, ether as, Compared to Bitcoin utility tokensdefined, Using Tokens: Utility or Equity equity tokens disguised as, It’s a Duck!

In October of that year, Vitalik proposed a more generalized approach to the Mastercoin team, one that allowed flexible and scriptable (but not Turing-complete) contracts to replace the specialized contract language of Mastercoin. While the Mastercoin team were impressed, this proposal was too radical a change to fit into their development roadmap. In December 2013, Vitalik started sharing a whitepaper that outlined the idea behind Ethereum: a Turing-complete, general-purpose blockchain. A few dozen people saw this early draft and offered feedback, helping Vitalik evolve the proposal. Both of the authors of this book received an early draft of the whitepaper and commented on it. Andreas M. Antonopoulos was intrigued by the idea and asked Vitalik many questions about the use of a separate blockchain to enforce consensus rules on smart contract execution and the implications of a Turing-complete language. Andreas continued to follow Ethereum’s progress with great interest but was in the early stages of writing his book Mastering Bitcoin, and did not participate directly in Ethereum until much later.


pages: 271 words: 52,814

Blockchain: Blueprint for a New Economy by Melanie Swan

23andMe, Airbnb, altcoin, Amazon Web Services, asset allocation, banking crisis, basic income, bioinformatics, bitcoin, blockchain, capital controls, cellular automata, central bank independence, clean water, cloud computing, collaborative editing, Conway's Game of Life, crowdsourcing, cryptocurrency, disintermediation, Edward Snowden, en.wikipedia.org, Ethereum, ethereum blockchain, fault tolerance, fiat currency, financial innovation, Firefox, friendly AI, Hernando de Soto, intangible asset, Internet Archive, Internet of things, Khan Academy, Kickstarter, lifelogging, litecoin, Lyft, M-Pesa, microbiome, Network effects, new economy, peer-to-peer, peer-to-peer lending, peer-to-peer model, personalized medicine, post scarcity, prediction markets, QR code, ride hailing / ride sharing, Satoshi Nakamoto, Search for Extraterrestrial Intelligence, SETI@home, sharing economy, Skype, smart cities, smart contracts, smart grid, software as a service, technological singularity, Turing complete, uber lyft, unbanked and underbanked, underbanked, web application, WikiLeaks

This has been fine for the Blockchain 1.0 implementation of currency and payment transactions, but for the more complicated tier of Blockchain 2.0 applications such as the recording and transfer of more complex assets like smart property and smart contracts, we need the third step—a more robust scripting system—and ultimately, Turing completeness (the ability to run any coin, protocol, or blockchain). Nakamoto envisioned not just sending money from point A to point B, but having programmable money and a full feature set to enable it. One blockchain infrastructure project aiming to deliver a Turing-complete scripting language and Turing-complete platform is Ethereum. Ethereum is a platform and a programming language for building and publishing distributed applications. More fundamentally, Ethereum is a foundational general-purpose cryptocurrency platform that is a Turing-complete virtual machine (meaning that it can run any coin, script, or cryptocurrency project). Rather than being a blockchain, or a protocol running over a blockchain, or a metaprotocol running over a protocol like other projects, Ethereum is a fundamental underlying infrastructure platform that can run all blockchains and protocols, rather like a unified universal development platform.

-M2M/IoT Bitcoin Payment Network to Enable the Machine Economy and consensus models, Blockchain AI: Consensus as the Mechanism to Foster “Friendly” AI-Blockchain Consensus Increases the Information Resolution of the Universe extensibility of, Extensibility of Blockchain Technology Concepts for facilitating big data predictive task automation, Blockchain Layer Could Facilitate Big Data’s Predictive Task Automation future applications, Blockchain AI: Consensus as the Mechanism to Foster “Friendly” AI-Blockchain Consensus Increases the Information Resolution of the Universe limitations of (see limitations) organizational capabilities, Blockchain Technology Is a New and Highly Effective Model for Organizing Activity tracking capabilities, Fundamental Economic Principles: Discovery, Value Attribution, and Exchange-Fundamental Economic Principles: Discovery, Value Attribution, and Exchange blockchain-recorded marriage, Decentralized Governance Services BlockCypher, Blockchain Development Platforms and APIs BOINC, DAOs and DACs bond deposit postings, Technical Challenges Brin, David, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel BTCjam, Financial Services business model challenges, Business Model Challenges Buttercoin, Financial Services Byrne, Patrick, Financial Services C Campus Cryptocurrency Network, Campuscoin Campuscoin, Campuscoin-Campuscoin censorship, Internet (see decentralized DNS system) Chain, Blockchain Development Platforms and APIs challenges (see see limitations) charity donations, Charity Donations and the Blockchain—Sean’s Outpost China, Relation to Fiat Currency ChromaWallet, Wallet Development Projects Chronobit, Virtual Notary, Bitnotar, and Chronobit Circle Internet Financial, eWallet Services and Personal Cryptosecurity Codius, Financial Services coin drops, Coin Drops as a Strategy for Public Adoption coin mixing, eWallet Services and Personal Cryptosecurity coin, defining, Terminology and Concepts, Currency, Token, Tokenizing Coinapult, Global Public Health: Bitcoin for Contagious Disease Relief Coinapult LOCKS, Relation to Fiat Currency Coinbase, Merchant Acceptance of Bitcoin, Financial Services CoinBeyond, Merchant Acceptance of Bitcoin Coinffeine, Financial Services Coinify, Merchant Acceptance of Bitcoin Coinprism, Wallet Development Projects Coinspace, Crowdfunding CoinSpark, Wallet Development Projects colored coins, Smart Property, Blockchain 2.0 Protocol Projects community supercomputing, Community Supercomputing Communitycoin, Currency, Token, Tokenizing-Communitycoin: Hayek’s Private Currencies Vie for Attention complementary currency systems, Demurrage Currencies: Potentially Incitory and Redistributable concepts, redefining, Terminology and Concepts-Terminology and Concepts consensus models, Blockchain AI: Consensus as the Mechanism to Foster “Friendly” AI-Blockchain Consensus Increases the Information Resolution of the Universe consensus-derived information, Blockchain Consensus Increases the Information Resolution of the Universe contagious disease relief, Global Public Health: Bitcoin for Contagious Disease Relief contracts, Blockchain 2.0: Contracts-The Blockchain as a Path to Artificial Intelligence (see also smart contracts) crowdfunding, Crowdfunding-Crowdfunding financial services, Financial Services-Financial Services marriage, Decentralized Governance Services prediction markets, Bitcoin Prediction Markets smart property, Smart Property-Smart Property wallet development projects, Wallet Development Projects copyright protection, Monegraph: Online Graphics Protection Counterparty, Blockchain 2.0 Protocol Projects, Counterparty Re-creates Ethereum’s Smart Contract Platform Counterparty currency (XCP), Currency, Token, Tokenizing Counterwallet, Wallet Development Projects crowdfunding, Crowdfunding-Crowdfunding cryptocurrencies benefits of, Currency, Token, Tokenizing cryptosecurity, eWallet Services and Personal Cryptosecurity eWallet services, eWallet Services and Personal Cryptosecurity mechanics of, How a Cryptocurrency Works-Merchant Acceptance of Bitcoin merchant acceptance, Merchant Acceptance of Bitcoin cryptosecurity challenges, eWallet Services and Personal Cryptosecurity cryptowallet, Blockchain Neutrality currency, Technology Stack: Blockchain, Protocol, Currency-Regulatory Status, Currency, Token, Tokenizing-Extensibility of Demurrage Concept and Features Campuscoin, Campuscoin-Campuscoin coin drops, Coin Drops as a Strategy for Public Adoption Communitycoin, Communitycoin: Hayek’s Private Currencies Vie for Attention-Communitycoin: Hayek’s Private Currencies Vie for Attention cryptocurrencies, How a Cryptocurrency Works-Merchant Acceptance of Bitcoin decentralizing, Communitycoin: Hayek’s Private Currencies Vie for Attention defining, Currency, Token, Tokenizing-Currency, Token, Tokenizing, Currency: New Meanings demurrage, Demurrage Currencies: Potentially Incitory and Redistributable-Extensibility of Demurrage Concept and Features double-spend problem, The Double-Spend and Byzantine Generals’ Computing Problems fiat currency, Relation to Fiat Currency-Relation to Fiat Currency monetary and nonmonetary, Currency Multiplicity: Monetary and Nonmonetary Currencies-Currency Multiplicity: Monetary and Nonmonetary Currencies new meanings, Currency: New Meanings technology stack, Technology Stack: Blockchain, Protocol, Currency-Technology Stack: Blockchain, Protocol, Currency currency mulitplicity, Currency Multiplicity: Monetary and Nonmonetary Currencies-Currency Multiplicity: Monetary and Nonmonetary Currencies D DAOs, DAOs and DACs-DAOs and DACs DAOs/DACs, DAOs and DACs-DAOs and DACs, Batched Notary Chains as a Class of Blockchain Infrastructure, Blockchain Government Dapps, Dapps-Dapps, Extensibility of Demurrage Concept and Features Dark Coin, eWallet Services and Personal Cryptosecurity dark pools, Technical Challenges Dark Wallet, eWallet Services and Personal Cryptosecurity DASs, DASs and Self-Bootstrapped Organizations DDP, Crowdfunding decentralization, Smart Contracts, Centralization-Decentralization Tension and Equilibrium decentralized applications (Dapps), Dapps-Dapps decentralized autonomous organization/corporation (DAO) (see DAOs/DACs) decentralized autonomous societies (DASs), DASs and Self-Bootstrapped Organizations decentralized autonomy, eWallet Services and Personal Cryptosecurity decentralized DNS, Namecoin: Decentralized Domain Name System-Decentralized DNS Functionality Beyond Free Speech: Digital Identity challenges of, Challenges and Other Decentralized DNS Services and digital identity, Decentralized DNS Functionality Beyond Free Speech: Digital Identity-Decentralized DNS Functionality Beyond Free Speech: Digital Identity DotP2P, Challenges and Other Decentralized DNS Services decentralized file storage, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation decentralized secure file serving, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation deeds, Decentralized Governance Services demurrage currencies, Demurrage Currencies: Potentially Incitory and Redistributable-Extensibility of Demurrage Concept and Features action-incitory features, Extensibility of Demurrage Concept and Features limitations of, Demurrage Currencies: Potentially Incitory and Redistributable digital art, Digital Art: Blockchain Attestation Services (Notary, Intellectual Property Protection)-Personal Thinking Blockchains (see also blockchain attestation services) hashing and timestamping, Hashing Plus Timestamping-Limitations online graphics protection, Monegraph: Online Graphics Protection digital cryptography, Ethereum: Turing-Complete Virtual Machine, Public/Private-Key Cryptography 101 digital divide, defining, Digital Divide of Bitcoin digital identity verification, Blockchain 2.0: Contracts, Smart Property, Wallet Development Projects, Digital Identity Verification-Digital Divide of Bitcoin, Limitations, Decentralized Governance Services, Liquid Democracy and Random-Sample Elections, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy, Privacy Challenges for Personal Records dispute resolution, PrecedentCoin: Blockchain Dispute Resolution DIYweathermodeling, Community Supercomputing DNAnexus, Genomecoin, GenomicResearchcoin Dogecoin, Technology Stack: Blockchain, Protocol, Currency, Currency Multiplicity: Monetary and Nonmonetary Currencies, Scandals and Public Perception DotP2P, Challenges and Other Decentralized DNS Services double-spend problem, The Double-Spend and Byzantine Generals’ Computing Problems DriveShare, DAOs and DACs dynamic redistribution of currency (see demurrage currency) E education (see learning and literacy) Electronic Freedom Foundation (EFF), Distributed Censorship-Resistant Organizational Models EMR (electronic medical record) system, EMRs on the Blockchain: Personal Health Record Storage Ethereum, Crowdfunding, Blockchain 2.0 Protocol Projects, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Ethereum: Turing-Complete Virtual Machine-Counterparty Re-creates Ethereum’s Smart Contract Platform eWallet services, eWallet Services and Personal Cryptosecurity ExperimentalResultscoin, Blockchain Academic Publishing: Journalcoin F Fairlay, Bitcoin Prediction Markets fiat currency, Relation to Fiat Currency-Relation to Fiat Currency file serving, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Ethereum: Turing-Complete Virtual Machine file storage, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation financial services, Regulatory Status, Financial Services-Financial Services, Blockchain Technology Is a New and Highly Effective Model for Organizing Activity, Government Regulation Fitbit, Personal Thinking Blockchains, Blockchain Health Research Commons, Extensibility of Demurrage Concept and Features Florincoin, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel Folding@Home, DAOs and DACs, Blockchain Science: Gridcoin, Foldingcoin, Community Supercomputing franculates, Blockchain Government freedom of speech, Namecoin: Decentralized Domain Name System, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel (see also decentralized DNS system) Freicoin, Demurrage Currencies: Potentially Incitory and Redistributable fundraising (see crowdfunding) futarchy, Futarchy: Two-Step Democracy with Voting + Prediction Markets-Futarchy: Two-Step Democracy with Voting + Prediction Markets G GBIcoin, Demurrage Currencies: Potentially Incitory and Redistributable GBIs (Guaranteed Basic Income initiatives), Demurrage Currencies: Potentially Incitory and Redistributable Gems, Blockchain Development Platforms and APIs, Dapps Genecoin, Blockchain Genomics Genomecoin, Genomecoin, GenomicResearchcoin Genomic Data Commons, Genomecoin, GenomicResearchcoin genomic sequencing, Blockchain Genomics 2.0: Industrialized All-Human-Scale Sequencing Solution-Genomecoin, GenomicResearchcoin GenomicResearchcoin, Genomecoin, GenomicResearchcoin genomics, consumer, Blockchain Genomics-Genomecoin, GenomicResearchcoin Git, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation GitHub, Blockchain Academic Publishing: Journalcoin, Currency Multiplicity: Monetary and Nonmonetary Currencies global public health, Global Public Health: Bitcoin for Contagious Disease Relief GoCoin, Financial Services GoToLunchcoin, Terminology and Concepts governance, Blockchain Government-Societal Maturity Impact of Blockchain Governance decentralized services, Decentralized Governance Services-Decentralized Governance Services dispute resolution, PrecedentCoin: Blockchain Dispute Resolution futarchy, Futarchy: Two-Step Democracy with Voting + Prediction Markets-Futarchy: Two-Step Democracy with Voting + Prediction Markets Liquid Democracy system, Liquid Democracy and Random-Sample Elections-Liquid Democracy and Random-Sample Elections personalized governance services, Blockchain Government random-sample elections, Random-Sample Elections societal maturity impact of blockchain governance, Societal Maturity Impact of Blockchain Governance government regulation, Regulatory Status, Government Regulation-Government Regulation Gridcoin, Blockchain Science: Gridcoin, Foldingcoin-Blockchain Science: Gridcoin, Foldingcoin H hashing, Hashing Plus Timestamping-Limitations, Batched Notary Chains as a Class of Blockchain Infrastructure, Technical Challenges Hayek, Friedrich, Communitycoin: Hayek’s Private Currencies Vie for Attention, Demurrage Currencies: Potentially Incitory and Redistributable, Conclusion, The Blockchain Is an Information Technology health, Blockchain Health-Virus Bank, Seed Vault Backup as demurrage currency, Extensibility of Demurrage Concept and Features doctor vendor RFP services, Doctor Vendor RFP Services and Assurance Contracts health notary services, Blockchain Health Notary health research commons , Blockchain Health Research Commons health spending, Healthcoin healthcare decision making and advocacy, Liquid Democracy and Random-Sample Elections personal health record storage, EMRs on the Blockchain: Personal Health Record Storage virus bank and seed vault backup, Virus Bank, Seed Vault Backup Healthcoin, Healthcoin, Demurrage Currencies: Potentially Incitory and Redistributable I identity authentication, eWallet Services and Personal Cryptosecurity, Blockchain 2.0: Contracts, Smart Property, Smart Property, Wallet Development Projects, Digital Identity Verification-Digital Divide of Bitcoin, Limitations, Decentralized Governance Services, Liquid Democracy and Random-Sample Elections, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy, Privacy Challenges for Personal Records Indiegogo, Crowdfunding, Dapps industry scandals, Scandals and Public Perception infrastructure needs and issues, Technical Challenges inheritance gifts, Smart Contracts intellectual property, Monegraph: Online Graphics Protection (see also digital art) Internet administration, Distributed Censorship-Resistant Organizational Models Internet Archive, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Personal Thinking Blockchains Internet censorship prevention (see Decentralized DNS system) Intuit Quickbooks, Merchant Acceptance of Bitcoin IP protection, Hashing Plus Timestamping IPFS project, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation J Johnston, David, Blockchain Technology Could Be Used in the Administration of All Quanta Journalcoin, Blockchain Academic Publishing: Journalcoin Judobaby, Crowdfunding justice applications for censorship-resistant organizational models, Distributed Censorship-Resistant Organizational Models-Distributed Censorship-Resistant Organizational Models digital art, Digital Art: Blockchain Attestation Services (Notary, Intellectual Property Protection)-Personal Thinking Blockchains (see also digital art, blockchain attestation services) digital identity verification, Blockchain 2.0: Contracts, Smart Property, Wallet Development Projects, Digital Identity Verification-Digital Divide of Bitcoin, Limitations, Decentralized Governance Services, Liquid Democracy and Random-Sample Elections, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy, Privacy Challenges for Personal Records freedom of speech/anti-censorship, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel governance, Blockchain Government-Societal Maturity Impact of Blockchain Governance (see also governance) Namecoin, Namecoin: Decentralized Domain Name System-Decentralized DNS Functionality Beyond Free Speech: Digital Identity, Monegraph: Online Graphics Protection (see also decentralized DNS) K Kickstarter, Crowdfunding, Community Supercomputing Kipochi, Blockchain Neutrality, Global Public Health: Bitcoin for Contagious Disease Relief, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy Koinify, Crowdfunding, Dapps Kraken, Financial Services L latency, Blockchain 2.0 Protocol Projects, Technical Challenges, Technical Challenges, Scandals and Public Perception LaZooz, Dapps, Campuscoin, Extensibility of Demurrage Concept and Features Learncoin, Learncoin learning and literacy, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy-Learning Contract Exchanges learning contract exchanges, Learning Contract Exchanges Ledra Capital, Blockchain 2.0: Contracts, Ledra Capital Mega Master Blockchain List legal implications crowdfunding, Crowdfunding smart contracts, Smart Contracts lending, trustless, Smart Property Lighthouse, Crowdfunding limitations, Limitations-Overall: Decentralization Trends Likely to Persist business model challenges, Business Model Challenges government regulation, Government Regulation-Government Regulation personal records privacy challenges, Privacy Challenges for Personal Records scandals and public perception, Scandals and Public Perception-Scandals and Public Perception technical challenges, Technical Challenges-Technical Challenges Liquid Democracy system, Liquid Democracy and Random-Sample Elections-Liquid Democracy and Random-Sample Elections Litecoin, Technology Stack: Blockchain, Protocol, Currency, Technology Stack: Blockchain, Protocol, Currency, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel, Currency Multiplicity: Monetary and Nonmonetary Currencies, Technical Challenges literacy (see learning and literacy) LTBcoin, Wallet Development Projects, Currency, Token, Tokenizing M M2M/IoT infrastructure, M2M/IoT Bitcoin Payment Network to Enable the Machine Economy, Blockchain Development Platforms and APIs, Blockchain Academic Publishing: Journalcoin-The Blockchain Is Not for Every Situation, The Blockchain Is an Information Technology Maidsafe, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Technical Challenges Manna, Crowdfunding marriage, blockchain recorded, Decentralized Governance Services Mastercoin, Blockchain 2.0 Protocol Projects mechanics of cryptocurrencies, How a Cryptocurrency Works Medici, Financial Services mega master blockchain list, Ledra Capital Mega Master Blockchain List-Ledra Capital Mega Master Blockchain List Melotic, Crowdfunding, Wallet Development Projects merchant acceptance, Merchant Acceptance of Bitcoin merchant payment fees, Summary: Blockchain 1.0 in Practical Use messaging, Ethereum: Turing-Complete Virtual Machine, Dapps, Challenges and Other Decentralized DNS Services, Technical Challenges MetaDisk, DAOs and DACs mindfiles, Personal Thinking Blockchains MIT Bitcoin Project, Campuscoin Monegraph, Monegraph: Online Graphics Protection money (see currency) MOOCs (massive open online courses), Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy Moroz, Tatiana, Communitycoin: Hayek’s Private Currencies Vie for Attention multicurrency systems, Demurrage Currencies: Potentially Incitory and Redistributable N Nakamoto, Satoshi, Blockchain 2.0: Contracts, Blockchain 2.0: Contracts Namecoin, Namecoin: Decentralized Domain Name System-Decentralized DNS Functionality Beyond Free Speech: Digital Identity, Monegraph: Online Graphics Protection Nationcoin, Coin Drops as a Strategy for Public Adoption, Demurrage Currencies: Potentially Incitory and Redistributable notary chains, Batched Notary Chains as a Class of Blockchain Infrastructure notary services, Hashing Plus Timestamping, Blockchain Health Notary NSA surveillance, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel NXT, Technology Stack: Blockchain, Protocol, Currency, Blockchain 2.0 Protocol Projects O offline wallets, Technical Challenges OneName, Digital Identity Verification-Digital Identity Verification OneWallet, Wallet Development Projects online graphics protection, Monegraph: Online Graphics Protection-Monegraph: Online Graphics Protection Open Assets, Blockchain 2.0 Protocol Projects Open Transactions, Blockchain 2.0 Protocol Projects OpenBazaar, Dapps, Government Regulation Ostel, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel P passports, Decentralized Governance Services PayPal, The Double-Spend and Byzantine Generals’ Computing Problems, Financial Services, Distributed Censorship-Resistant Organizational Models peer-to-peer lending, Financial Services Peercoin, Technology Stack: Blockchain, Protocol, Currency personal cryptosecurity, eWallet Services and Personal Cryptosecurity personal data rights, Blockchain Genomics personal mindfile blockchains, Personal Thinking Blockchains personal thinking chains, Personal Thinking Blockchains-Personal Thinking Blockchains physical asset keys, Blockchain 2.0: Contracts, Smart Property plagiarism detection/avoidance, Blockchain Academic Publishing: Journalcoin Precedent, PrecedentCoin: Blockchain Dispute Resolution, Terminology and Concepts prediction markets, Bitcoin Prediction Markets, DASs and Self-Bootstrapped Organizations, Decentralized Governance Services, Futarchy: Two-Step Democracy with Voting + Prediction Markets-Futarchy: Two-Step Democracy with Voting + Prediction Markets Predictious, Bitcoin Prediction Markets predictive task automation, Blockchain Layer Could Facilitate Big Data’s Predictive Task Automation privacy challenges, Privacy Challenges for Personal Records private key, eWallet Services and Personal Cryptosecurity Proof of Existence, Proof of Existence-Proof of Existence proof of stake, Blockchain 2.0 Protocol Projects, PrecedentCoin: Blockchain Dispute Resolution, Technical Challenges proof of work, PrecedentCoin: Blockchain Dispute Resolution, Technical Challenges-Technical Challenges property ownership, Smart Property property registration, Decentralized Governance Services public documents registries, Decentralized Governance Services public health, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Global Public Health: Bitcoin for Contagious Disease Relief public perception, Scandals and Public Perception-Scandals and Public Perception public/private key cryptography, Public/Private-Key Cryptography 101-Public/Private-Key Cryptography 101 publishing, academic, Blockchain Academic Publishing: Journalcoin-Blockchain Academic Publishing: Journalcoin pull technology, eWallet Services and Personal Cryptosecurity push technology, eWallet Services and Personal Cryptosecurity R random-sample elections, Random-Sample Elections Realcoin, Relation to Fiat Currency redistribution of currency (see demurrage currency) regulation, Government Regulation-Government Regulation regulatory status, Regulatory Status reputation vouching, Ethereum: Turing-Complete Virtual Machine Researchcoin, Blockchain Academic Publishing: Journalcoin REST APIs, Technical Challenges Ripple, Technology Stack: Blockchain, Protocol, Currency, Relation to Fiat Currency, Blockchain 2.0 Protocol Projects Ripple Labs, Financial Services Roadcoin, Blockchain Government S Saldo.mx, Blockchain Neutrality scandals, Scandals and Public Perception science, Blockchain Science: Gridcoin, Foldingcoin-Charity Donations and the Blockchain—Sean’s Outpost community supercomputing, Community Supercomputing global public health, Global Public Health: Bitcoin for Contagious Disease Relief Sean's Outpost, Charity Donations and the Blockchain—Sean’s Outpost secret messaging, Ethereum: Turing-Complete Virtual Machine security issues, Technical Challenges self-bootstrapped organizations, DASs and Self-Bootstrapped Organizations self-directing assets, Automatic Markets and Tradenets self-enforced code, Smart Property self-sufficiency, Smart Contracts SETI@home, Blockchain Science: Gridcoin, Foldingcoin, Community Supercomputing size and bandwidth, Technical Challenges smart contracts, Smart Contracts-Smart Contracts, Smart Contract Advocates on Behalf of Digital Intelligence automatic markets and tradenets, Automatic Markets and Tradenets Counterparty, Counterparty Re-creates Ethereum’s Smart Contract Platform DAOs/DACs, DAOs and DACs-DAOs and DACs Dapps, Dapps-Dapps DASs, DASs and Self-Bootstrapped Organizations Ethereum, Ethereum: Turing-Complete Virtual Machine increasingly autonomous, Dapps, DAOs, DACs, and DASs: Increasingly Autonomous Smart Contracts-Automatic Markets and Tradenets smart literacy contracts, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy-Learning Contract Exchanges smart property, Smart Property-Smart Property, Monegraph: Online Graphics Protection smartwatch, Extensibility of Demurrage Concept and Features Snowden, Edward, Distributed Censorship-Resistant Organizational Models social contracts, Smart Contracts social network currencies, Currency Multiplicity: Monetary and Nonmonetary Currencies Stellar, Blockchain Development Platforms and APIs stock market, Financial Services Storj, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Dapps, Technical Challenges Stripe, Blockchain Development Platforms and APIs supercomputing, Community Supercomputing Svalbard Global Seed Vault, Virus Bank, Seed Vault Backup Swancoin, Smart Property swaps exchange, Financial Services Swarm, Crowdfunding, Dapps Swarm (Ethereum), Ethereum: Turing-Complete Virtual Machine Swarmops, Crowdfunding T Tatianacoin, Communitycoin: Hayek’s Private Currencies Vie for Attention technical challenges, Technical Challenges-Technical Challenges Tendermint, Technical Challenges Tera Exchange, Financial Services terminology, Terminology and Concepts-Terminology and Concepts 37Coins, Global Public Health: Bitcoin for Contagious Disease Relief throughput, Technical Challenges timestamping, Hashing Plus Timestamping-Limitations titling, Decentralized Governance Services tradenets, Automatic Markets and Tradenets transaction fees, Summary: Blockchain 1.0 in Practical Use Tribecoin, Coin Drops as a Strategy for Public Adoption trustless lending, Smart Property Truthcoin, Futarchy: Two-Step Democracy with Voting + Prediction Markets Turing completeness, Ethereum: Turing-Complete Virtual Machine Twister, Dapps Twitter, Monegraph: Online Graphics Protection U Uber, Government Regulation unbanked/underbanked markets, Blockchain Neutrality usability issues, Technical Challenges V value chain composition, How a Cryptocurrency Works versioning issues, Technical Challenges Virtual Notary, Virtual Notary, Bitnotar, and Chronobit voting and prediction, Futarchy: Two-Step Democracy with Voting + Prediction Markets-Futarchy: Two-Step Democracy with Voting + Prediction Markets W wallet APIs, Blockchain Development Platforms and APIs wallet companies, Wallet Development Projects wallet software, How a Cryptocurrency Works wasted resources, Technical Challenges Wayback Machine, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation Wedbush Securities, Financial Services Whatevercoin, Terminology and Concepts WikiLeaks, Distributed Censorship-Resistant Organizational Models Wikinomics, Community Supercomputing World Citizen project, Decentralized Governance Services X Xapo, eWallet Services and Personal Cryptosecurity Z Zennet Supercomputer, Community Supercomputing Zooko's Triangle, Decentralized DNS Functionality Beyond Free Speech: Digital Identity About the Author Melanie Swan is the Founder of the Institute for Blockchain Studies and a Contemporary Philosophy MA candidate at Kingston University London and Université Paris VIII.

-M2M/IoT Bitcoin Payment Network to Enable the Machine Economy and consensus models, Blockchain AI: Consensus as the Mechanism to Foster “Friendly” AI-Blockchain Consensus Increases the Information Resolution of the Universe extensibility of, Extensibility of Blockchain Technology Concepts for facilitating big data predictive task automation, Blockchain Layer Could Facilitate Big Data’s Predictive Task Automation future applications, Blockchain AI: Consensus as the Mechanism to Foster “Friendly” AI-Blockchain Consensus Increases the Information Resolution of the Universe limitations of (see limitations) organizational capabilities, Blockchain Technology Is a New and Highly Effective Model for Organizing Activity tracking capabilities, Fundamental Economic Principles: Discovery, Value Attribution, and Exchange-Fundamental Economic Principles: Discovery, Value Attribution, and Exchange blockchain-recorded marriage, Decentralized Governance Services BlockCypher, Blockchain Development Platforms and APIs BOINC, DAOs and DACs bond deposit postings, Technical Challenges Brin, David, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel BTCjam, Financial Services business model challenges, Business Model Challenges Buttercoin, Financial Services Byrne, Patrick, Financial Services C Campus Cryptocurrency Network, Campuscoin Campuscoin, Campuscoin-Campuscoin censorship, Internet (see decentralized DNS system) Chain, Blockchain Development Platforms and APIs challenges (see see limitations) charity donations, Charity Donations and the Blockchain—Sean’s Outpost China, Relation to Fiat Currency ChromaWallet, Wallet Development Projects Chronobit, Virtual Notary, Bitnotar, and Chronobit Circle Internet Financial, eWallet Services and Personal Cryptosecurity Codius, Financial Services coin drops, Coin Drops as a Strategy for Public Adoption coin mixing, eWallet Services and Personal Cryptosecurity coin, defining, Terminology and Concepts, Currency, Token, Tokenizing Coinapult, Global Public Health: Bitcoin for Contagious Disease Relief Coinapult LOCKS, Relation to Fiat Currency Coinbase, Merchant Acceptance of Bitcoin, Financial Services CoinBeyond, Merchant Acceptance of Bitcoin Coinffeine, Financial Services Coinify, Merchant Acceptance of Bitcoin Coinprism, Wallet Development Projects Coinspace, Crowdfunding CoinSpark, Wallet Development Projects colored coins, Smart Property, Blockchain 2.0 Protocol Projects community supercomputing, Community Supercomputing Communitycoin, Currency, Token, Tokenizing-Communitycoin: Hayek’s Private Currencies Vie for Attention complementary currency systems, Demurrage Currencies: Potentially Incitory and Redistributable concepts, redefining, Terminology and Concepts-Terminology and Concepts consensus models, Blockchain AI: Consensus as the Mechanism to Foster “Friendly” AI-Blockchain Consensus Increases the Information Resolution of the Universe consensus-derived information, Blockchain Consensus Increases the Information Resolution of the Universe contagious disease relief, Global Public Health: Bitcoin for Contagious Disease Relief contracts, Blockchain 2.0: Contracts-The Blockchain as a Path to Artificial Intelligence (see also smart contracts) crowdfunding, Crowdfunding-Crowdfunding financial services, Financial Services-Financial Services marriage, Decentralized Governance Services prediction markets, Bitcoin Prediction Markets smart property, Smart Property-Smart Property wallet development projects, Wallet Development Projects copyright protection, Monegraph: Online Graphics Protection Counterparty, Blockchain 2.0 Protocol Projects, Counterparty Re-creates Ethereum’s Smart Contract Platform Counterparty currency (XCP), Currency, Token, Tokenizing Counterwallet, Wallet Development Projects crowdfunding, Crowdfunding-Crowdfunding cryptocurrencies benefits of, Currency, Token, Tokenizing cryptosecurity, eWallet Services and Personal Cryptosecurity eWallet services, eWallet Services and Personal Cryptosecurity mechanics of, How a Cryptocurrency Works-Merchant Acceptance of Bitcoin merchant acceptance, Merchant Acceptance of Bitcoin cryptosecurity challenges, eWallet Services and Personal Cryptosecurity cryptowallet, Blockchain Neutrality currency, Technology Stack: Blockchain, Protocol, Currency-Regulatory Status, Currency, Token, Tokenizing-Extensibility of Demurrage Concept and Features Campuscoin, Campuscoin-Campuscoin coin drops, Coin Drops as a Strategy for Public Adoption Communitycoin, Communitycoin: Hayek’s Private Currencies Vie for Attention-Communitycoin: Hayek’s Private Currencies Vie for Attention cryptocurrencies, How a Cryptocurrency Works-Merchant Acceptance of Bitcoin decentralizing, Communitycoin: Hayek’s Private Currencies Vie for Attention defining, Currency, Token, Tokenizing-Currency, Token, Tokenizing, Currency: New Meanings demurrage, Demurrage Currencies: Potentially Incitory and Redistributable-Extensibility of Demurrage Concept and Features double-spend problem, The Double-Spend and Byzantine Generals’ Computing Problems fiat currency, Relation to Fiat Currency-Relation to Fiat Currency monetary and nonmonetary, Currency Multiplicity: Monetary and Nonmonetary Currencies-Currency Multiplicity: Monetary and Nonmonetary Currencies new meanings, Currency: New Meanings technology stack, Technology Stack: Blockchain, Protocol, Currency-Technology Stack: Blockchain, Protocol, Currency currency mulitplicity, Currency Multiplicity: Monetary and Nonmonetary Currencies-Currency Multiplicity: Monetary and Nonmonetary Currencies D DAOs, DAOs and DACs-DAOs and DACs DAOs/DACs, DAOs and DACs-DAOs and DACs, Batched Notary Chains as a Class of Blockchain Infrastructure, Blockchain Government Dapps, Dapps-Dapps, Extensibility of Demurrage Concept and Features Dark Coin, eWallet Services and Personal Cryptosecurity dark pools, Technical Challenges Dark Wallet, eWallet Services and Personal Cryptosecurity DASs, DASs and Self-Bootstrapped Organizations DDP, Crowdfunding decentralization, Smart Contracts, Centralization-Decentralization Tension and Equilibrium decentralized applications (Dapps), Dapps-Dapps decentralized autonomous organization/corporation (DAO) (see DAOs/DACs) decentralized autonomous societies (DASs), DASs and Self-Bootstrapped Organizations decentralized autonomy, eWallet Services and Personal Cryptosecurity decentralized DNS, Namecoin: Decentralized Domain Name System-Decentralized DNS Functionality Beyond Free Speech: Digital Identity challenges of, Challenges and Other Decentralized DNS Services and digital identity, Decentralized DNS Functionality Beyond Free Speech: Digital Identity-Decentralized DNS Functionality Beyond Free Speech: Digital Identity DotP2P, Challenges and Other Decentralized DNS Services decentralized file storage, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation decentralized secure file serving, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation deeds, Decentralized Governance Services demurrage currencies, Demurrage Currencies: Potentially Incitory and Redistributable-Extensibility of Demurrage Concept and Features action-incitory features, Extensibility of Demurrage Concept and Features limitations of, Demurrage Currencies: Potentially Incitory and Redistributable digital art, Digital Art: Blockchain Attestation Services (Notary, Intellectual Property Protection)-Personal Thinking Blockchains (see also blockchain attestation services) hashing and timestamping, Hashing Plus Timestamping-Limitations online graphics protection, Monegraph: Online Graphics Protection digital cryptography, Ethereum: Turing-Complete Virtual Machine, Public/Private-Key Cryptography 101 digital divide, defining, Digital Divide of Bitcoin digital identity verification, Blockchain 2.0: Contracts, Smart Property, Wallet Development Projects, Digital Identity Verification-Digital Divide of Bitcoin, Limitations, Decentralized Governance Services, Liquid Democracy and Random-Sample Elections, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy, Privacy Challenges for Personal Records dispute resolution, PrecedentCoin: Blockchain Dispute Resolution DIYweathermodeling, Community Supercomputing DNAnexus, Genomecoin, GenomicResearchcoin Dogecoin, Technology Stack: Blockchain, Protocol, Currency, Currency Multiplicity: Monetary and Nonmonetary Currencies, Scandals and Public Perception DotP2P, Challenges and Other Decentralized DNS Services double-spend problem, The Double-Spend and Byzantine Generals’ Computing Problems DriveShare, DAOs and DACs dynamic redistribution of currency (see demurrage currency) E education (see learning and literacy) Electronic Freedom Foundation (EFF), Distributed Censorship-Resistant Organizational Models EMR (electronic medical record) system, EMRs on the Blockchain: Personal Health Record Storage Ethereum, Crowdfunding, Blockchain 2.0 Protocol Projects, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Ethereum: Turing-Complete Virtual Machine-Counterparty Re-creates Ethereum’s Smart Contract Platform eWallet services, eWallet Services and Personal Cryptosecurity ExperimentalResultscoin, Blockchain Academic Publishing: Journalcoin F Fairlay, Bitcoin Prediction Markets fiat currency, Relation to Fiat Currency-Relation to Fiat Currency file serving, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Ethereum: Turing-Complete Virtual Machine file storage, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation financial services, Regulatory Status, Financial Services-Financial Services, Blockchain Technology Is a New and Highly Effective Model for Organizing Activity, Government Regulation Fitbit, Personal Thinking Blockchains, Blockchain Health Research Commons, Extensibility of Demurrage Concept and Features Florincoin, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel Folding@Home, DAOs and DACs, Blockchain Science: Gridcoin, Foldingcoin, Community Supercomputing franculates, Blockchain Government freedom of speech, Namecoin: Decentralized Domain Name System, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel (see also decentralized DNS system) Freicoin, Demurrage Currencies: Potentially Incitory and Redistributable fundraising (see crowdfunding) futarchy, Futarchy: Two-Step Democracy with Voting + Prediction Markets-Futarchy: Two-Step Democracy with Voting + Prediction Markets G GBIcoin, Demurrage Currencies: Potentially Incitory and Redistributable GBIs (Guaranteed Basic Income initiatives), Demurrage Currencies: Potentially Incitory and Redistributable Gems, Blockchain Development Platforms and APIs, Dapps Genecoin, Blockchain Genomics Genomecoin, Genomecoin, GenomicResearchcoin Genomic Data Commons, Genomecoin, GenomicResearchcoin genomic sequencing, Blockchain Genomics 2.0: Industrialized All-Human-Scale Sequencing Solution-Genomecoin, GenomicResearchcoin GenomicResearchcoin, Genomecoin, GenomicResearchcoin genomics, consumer, Blockchain Genomics-Genomecoin, GenomicResearchcoin Git, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation GitHub, Blockchain Academic Publishing: Journalcoin, Currency Multiplicity: Monetary and Nonmonetary Currencies global public health, Global Public Health: Bitcoin for Contagious Disease Relief GoCoin, Financial Services GoToLunchcoin, Terminology and Concepts governance, Blockchain Government-Societal Maturity Impact of Blockchain Governance decentralized services, Decentralized Governance Services-Decentralized Governance Services dispute resolution, PrecedentCoin: Blockchain Dispute Resolution futarchy, Futarchy: Two-Step Democracy with Voting + Prediction Markets-Futarchy: Two-Step Democracy with Voting + Prediction Markets Liquid Democracy system, Liquid Democracy and Random-Sample Elections-Liquid Democracy and Random-Sample Elections personalized governance services, Blockchain Government random-sample elections, Random-Sample Elections societal maturity impact of blockchain governance, Societal Maturity Impact of Blockchain Governance government regulation, Regulatory Status, Government Regulation-Government Regulation Gridcoin, Blockchain Science: Gridcoin, Foldingcoin-Blockchain Science: Gridcoin, Foldingcoin H hashing, Hashing Plus Timestamping-Limitations, Batched Notary Chains as a Class of Blockchain Infrastructure, Technical Challenges Hayek, Friedrich, Communitycoin: Hayek’s Private Currencies Vie for Attention, Demurrage Currencies: Potentially Incitory and Redistributable, Conclusion, The Blockchain Is an Information Technology health, Blockchain Health-Virus Bank, Seed Vault Backup as demurrage currency, Extensibility of Demurrage Concept and Features doctor vendor RFP services, Doctor Vendor RFP Services and Assurance Contracts health notary services, Blockchain Health Notary health research commons , Blockchain Health Research Commons health spending, Healthcoin healthcare decision making and advocacy, Liquid Democracy and Random-Sample Elections personal health record storage, EMRs on the Blockchain: Personal Health Record Storage virus bank and seed vault backup, Virus Bank, Seed Vault Backup Healthcoin, Healthcoin, Demurrage Currencies: Potentially Incitory and Redistributable I identity authentication, eWallet Services and Personal Cryptosecurity, Blockchain 2.0: Contracts, Smart Property, Smart Property, Wallet Development Projects, Digital Identity Verification-Digital Divide of Bitcoin, Limitations, Decentralized Governance Services, Liquid Democracy and Random-Sample Elections, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy, Privacy Challenges for Personal Records Indiegogo, Crowdfunding, Dapps industry scandals, Scandals and Public Perception infrastructure needs and issues, Technical Challenges inheritance gifts, Smart Contracts intellectual property, Monegraph: Online Graphics Protection (see also digital art) Internet administration, Distributed Censorship-Resistant Organizational Models Internet Archive, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Personal Thinking Blockchains Internet censorship prevention (see Decentralized DNS system) Intuit Quickbooks, Merchant Acceptance of Bitcoin IP protection, Hashing Plus Timestamping IPFS project, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation J Johnston, David, Blockchain Technology Could Be Used in the Administration of All Quanta Journalcoin, Blockchain Academic Publishing: Journalcoin Judobaby, Crowdfunding justice applications for censorship-resistant organizational models, Distributed Censorship-Resistant Organizational Models-Distributed Censorship-Resistant Organizational Models digital art, Digital Art: Blockchain Attestation Services (Notary, Intellectual Property Protection)-Personal Thinking Blockchains (see also digital art, blockchain attestation services) digital identity verification, Blockchain 2.0: Contracts, Smart Property, Wallet Development Projects, Digital Identity Verification-Digital Divide of Bitcoin, Limitations, Decentralized Governance Services, Liquid Democracy and Random-Sample Elections, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy, Privacy Challenges for Personal Records freedom of speech/anti-censorship, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel governance, Blockchain Government-Societal Maturity Impact of Blockchain Governance (see also governance) Namecoin, Namecoin: Decentralized Domain Name System-Decentralized DNS Functionality Beyond Free Speech: Digital Identity, Monegraph: Online Graphics Protection (see also decentralized DNS) K Kickstarter, Crowdfunding, Community Supercomputing Kipochi, Blockchain Neutrality, Global Public Health: Bitcoin for Contagious Disease Relief, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy Koinify, Crowdfunding, Dapps Kraken, Financial Services L latency, Blockchain 2.0 Protocol Projects, Technical Challenges, Technical Challenges, Scandals and Public Perception LaZooz, Dapps, Campuscoin, Extensibility of Demurrage Concept and Features Learncoin, Learncoin learning and literacy, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy-Learning Contract Exchanges learning contract exchanges, Learning Contract Exchanges Ledra Capital, Blockchain 2.0: Contracts, Ledra Capital Mega Master Blockchain List legal implications crowdfunding, Crowdfunding smart contracts, Smart Contracts lending, trustless, Smart Property Lighthouse, Crowdfunding limitations, Limitations-Overall: Decentralization Trends Likely to Persist business model challenges, Business Model Challenges government regulation, Government Regulation-Government Regulation personal records privacy challenges, Privacy Challenges for Personal Records scandals and public perception, Scandals and Public Perception-Scandals and Public Perception technical challenges, Technical Challenges-Technical Challenges Liquid Democracy system, Liquid Democracy and Random-Sample Elections-Liquid Democracy and Random-Sample Elections Litecoin, Technology Stack: Blockchain, Protocol, Currency, Technology Stack: Blockchain, Protocol, Currency, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel, Currency Multiplicity: Monetary and Nonmonetary Currencies, Technical Challenges literacy (see learning and literacy) LTBcoin, Wallet Development Projects, Currency, Token, Tokenizing M M2M/IoT infrastructure, M2M/IoT Bitcoin Payment Network to Enable the Machine Economy, Blockchain Development Platforms and APIs, Blockchain Academic Publishing: Journalcoin-The Blockchain Is Not for Every Situation, The Blockchain Is an Information Technology Maidsafe, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Technical Challenges Manna, Crowdfunding marriage, blockchain recorded, Decentralized Governance Services Mastercoin, Blockchain 2.0 Protocol Projects mechanics of cryptocurrencies, How a Cryptocurrency Works Medici, Financial Services mega master blockchain list, Ledra Capital Mega Master Blockchain List-Ledra Capital Mega Master Blockchain List Melotic, Crowdfunding, Wallet Development Projects merchant acceptance, Merchant Acceptance of Bitcoin merchant payment fees, Summary: Blockchain 1.0 in Practical Use messaging, Ethereum: Turing-Complete Virtual Machine, Dapps, Challenges and Other Decentralized DNS Services, Technical Challenges MetaDisk, DAOs and DACs mindfiles, Personal Thinking Blockchains MIT Bitcoin Project, Campuscoin Monegraph, Monegraph: Online Graphics Protection money (see currency) MOOCs (massive open online courses), Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy Moroz, Tatiana, Communitycoin: Hayek’s Private Currencies Vie for Attention multicurrency systems, Demurrage Currencies: Potentially Incitory and Redistributable N Nakamoto, Satoshi, Blockchain 2.0: Contracts, Blockchain 2.0: Contracts Namecoin, Namecoin: Decentralized Domain Name System-Decentralized DNS Functionality Beyond Free Speech: Digital Identity, Monegraph: Online Graphics Protection Nationcoin, Coin Drops as a Strategy for Public Adoption, Demurrage Currencies: Potentially Incitory and Redistributable notary chains, Batched Notary Chains as a Class of Blockchain Infrastructure notary services, Hashing Plus Timestamping, Blockchain Health Notary NSA surveillance, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel NXT, Technology Stack: Blockchain, Protocol, Currency, Blockchain 2.0 Protocol Projects O offline wallets, Technical Challenges OneName, Digital Identity Verification-Digital Identity Verification OneWallet, Wallet Development Projects online graphics protection, Monegraph: Online Graphics Protection-Monegraph: Online Graphics Protection Open Assets, Blockchain 2.0 Protocol Projects Open Transactions, Blockchain 2.0 Protocol Projects OpenBazaar, Dapps, Government Regulation Ostel, Freedom of Speech/Anti-Censorship Applications: Alexandria and Ostel P passports, Decentralized Governance Services PayPal, The Double-Spend and Byzantine Generals’ Computing Problems, Financial Services, Distributed Censorship-Resistant Organizational Models peer-to-peer lending, Financial Services Peercoin, Technology Stack: Blockchain, Protocol, Currency personal cryptosecurity, eWallet Services and Personal Cryptosecurity personal data rights, Blockchain Genomics personal mindfile blockchains, Personal Thinking Blockchains personal thinking chains, Personal Thinking Blockchains-Personal Thinking Blockchains physical asset keys, Blockchain 2.0: Contracts, Smart Property plagiarism detection/avoidance, Blockchain Academic Publishing: Journalcoin Precedent, PrecedentCoin: Blockchain Dispute Resolution, Terminology and Concepts prediction markets, Bitcoin Prediction Markets, DASs and Self-Bootstrapped Organizations, Decentralized Governance Services, Futarchy: Two-Step Democracy with Voting + Prediction Markets-Futarchy: Two-Step Democracy with Voting + Prediction Markets Predictious, Bitcoin Prediction Markets predictive task automation, Blockchain Layer Could Facilitate Big Data’s Predictive Task Automation privacy challenges, Privacy Challenges for Personal Records private key, eWallet Services and Personal Cryptosecurity Proof of Existence, Proof of Existence-Proof of Existence proof of stake, Blockchain 2.0 Protocol Projects, PrecedentCoin: Blockchain Dispute Resolution, Technical Challenges proof of work, PrecedentCoin: Blockchain Dispute Resolution, Technical Challenges-Technical Challenges property ownership, Smart Property property registration, Decentralized Governance Services public documents registries, Decentralized Governance Services public health, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Global Public Health: Bitcoin for Contagious Disease Relief public perception, Scandals and Public Perception-Scandals and Public Perception public/private key cryptography, Public/Private-Key Cryptography 101-Public/Private-Key Cryptography 101 publishing, academic, Blockchain Academic Publishing: Journalcoin-Blockchain Academic Publishing: Journalcoin pull technology, eWallet Services and Personal Cryptosecurity push technology, eWallet Services and Personal Cryptosecurity R random-sample elections, Random-Sample Elections Realcoin, Relation to Fiat Currency redistribution of currency (see demurrage currency) regulation, Government Regulation-Government Regulation regulatory status, Regulatory Status reputation vouching, Ethereum: Turing-Complete Virtual Machine Researchcoin, Blockchain Academic Publishing: Journalcoin REST APIs, Technical Challenges Ripple, Technology Stack: Blockchain, Protocol, Currency, Relation to Fiat Currency, Blockchain 2.0 Protocol Projects Ripple Labs, Financial Services Roadcoin, Blockchain Government S Saldo.mx, Blockchain Neutrality scandals, Scandals and Public Perception science, Blockchain Science: Gridcoin, Foldingcoin-Charity Donations and the Blockchain—Sean’s Outpost community supercomputing, Community Supercomputing global public health, Global Public Health: Bitcoin for Contagious Disease Relief Sean's Outpost, Charity Donations and the Blockchain—Sean’s Outpost secret messaging, Ethereum: Turing-Complete Virtual Machine security issues, Technical Challenges self-bootstrapped organizations, DASs and Self-Bootstrapped Organizations self-directing assets, Automatic Markets and Tradenets self-enforced code, Smart Property self-sufficiency, Smart Contracts SETI@home, Blockchain Science: Gridcoin, Foldingcoin, Community Supercomputing size and bandwidth, Technical Challenges smart contracts, Smart Contracts-Smart Contracts, Smart Contract Advocates on Behalf of Digital Intelligence automatic markets and tradenets, Automatic Markets and Tradenets Counterparty, Counterparty Re-creates Ethereum’s Smart Contract Platform DAOs/DACs, DAOs and DACs-DAOs and DACs Dapps, Dapps-Dapps DASs, DASs and Self-Bootstrapped Organizations Ethereum, Ethereum: Turing-Complete Virtual Machine increasingly autonomous, Dapps, DAOs, DACs, and DASs: Increasingly Autonomous Smart Contracts-Automatic Markets and Tradenets smart literacy contracts, Blockchain Learning: Bitcoin MOOCs and Smart Contract Literacy-Learning Contract Exchanges smart property, Smart Property-Smart Property, Monegraph: Online Graphics Protection smartwatch, Extensibility of Demurrage Concept and Features Snowden, Edward, Distributed Censorship-Resistant Organizational Models social contracts, Smart Contracts social network currencies, Currency Multiplicity: Monetary and Nonmonetary Currencies Stellar, Blockchain Development Platforms and APIs stock market, Financial Services Storj, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation, Dapps, Technical Challenges Stripe, Blockchain Development Platforms and APIs supercomputing, Community Supercomputing Svalbard Global Seed Vault, Virus Bank, Seed Vault Backup Swancoin, Smart Property swaps exchange, Financial Services Swarm, Crowdfunding, Dapps Swarm (Ethereum), Ethereum: Turing-Complete Virtual Machine Swarmops, Crowdfunding T Tatianacoin, Communitycoin: Hayek’s Private Currencies Vie for Attention technical challenges, Technical Challenges-Technical Challenges Tendermint, Technical Challenges Tera Exchange, Financial Services terminology, Terminology and Concepts-Terminology and Concepts 37Coins, Global Public Health: Bitcoin for Contagious Disease Relief throughput, Technical Challenges timestamping, Hashing Plus Timestamping-Limitations titling, Decentralized Governance Services tradenets, Automatic Markets and Tradenets transaction fees, Summary: Blockchain 1.0 in Practical Use Tribecoin, Coin Drops as a Strategy for Public Adoption trustless lending, Smart Property Truthcoin, Futarchy: Two-Step Democracy with Voting + Prediction Markets Turing completeness, Ethereum: Turing-Complete Virtual Machine Twister, Dapps Twitter, Monegraph: Online Graphics Protection U Uber, Government Regulation unbanked/underbanked markets, Blockchain Neutrality usability issues, Technical Challenges V value chain composition, How a Cryptocurrency Works versioning issues, Technical Challenges Virtual Notary, Virtual Notary, Bitnotar, and Chronobit voting and prediction, Futarchy: Two-Step Democracy with Voting + Prediction Markets-Futarchy: Two-Step Democracy with Voting + Prediction Markets W wallet APIs, Blockchain Development Platforms and APIs wallet companies, Wallet Development Projects wallet software, How a Cryptocurrency Works wasted resources, Technical Challenges Wayback Machine, Blockchain Ecosystem: Decentralized Storage, Communication, and Computation Wedbush Securities, Financial Services Whatevercoin, Terminology and Concepts WikiLeaks, Distributed Censorship-Resistant Organizational Models Wikinomics, Community Supercomputing World Citizen project, Decentralized Governance Services X Xapo, eWallet Services and Personal Cryptosecurity Z Zennet Supercomputer, Community Supercomputing Zooko's Triangle, Decentralized DNS Functionality Beyond Free Speech: Digital Identity About the Author Melanie Swan is the Founder of the Institute for Blockchain Studies and a Contemporary Philosophy MA candidate at Kingston University London and Université Paris VIII.


pages: 405 words: 117,219

In Our Own Image: Savior or Destroyer? The History and Future of Artificial Intelligence by George Zarkadakis

3D printing, Ada Lovelace, agricultural Revolution, Airbnb, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, animal electricity, anthropic principle, Asperger Syndrome, autonomous vehicles, barriers to entry, battle of ideas, Berlin Wall, bioinformatics, British Empire, business process, carbon-based life, cellular automata, Claude Shannon: information theory, combinatorial explosion, complexity theory, continuous integration, Conway's Game of Life, cosmological principle, dark matter, dematerialisation, double helix, Douglas Hofstadter, Edward Snowden, epigenetics, Flash crash, Google Glasses, Gödel, Escher, Bach, income inequality, index card, industrial robot, Internet of things, invention of agriculture, invention of the steam engine, invisible hand, Isaac Newton, Jacquard loom, Jacques de Vaucanson, James Watt: steam engine, job automation, John von Neumann, Joseph-Marie Jacquard, Kickstarter, liberal capitalism, lifelogging, millennium bug, Moravec's paradox, natural language processing, Norbert Wiener, off grid, On the Economy of Machinery and Manufactures, packet switching, pattern recognition, Paul Erdős, post-industrial society, prediction markets, Ray Kurzweil, Rodney Brooks, Second Machine Age, self-driving car, Silicon Valley, social intelligence, speech recognition, stem cell, Stephen Hawking, Steven Pinker, strong AI, technological singularity, The Coming Technological Singularity, The Future of Employment, the scientific method, theory of mind, Turing complete, Turing machine, Turing test, Tyler Cowen: Great Stagnation, Vernor Vinge, Von Neumann architecture, Watson beat the top human players on Jeopardy!, Y2K

On the basis of this, Turing4 designed an electromechanical device – called ‘bombe’ because of the terrible noise it produced – that could predict some of the daily settings of the Enigma machines by replicating the actions of several Enigma machines wired together. This idea of a machine (the bombe) effectively simulating other machines (the Enigma) is central to computer theory. When a machine can simulate every other machine this is called ‘Turing complete’. We saw how Babbage’s Analytical Engine was the first ‘Turing complete’ machine in the world. Our modern computers are also Turing complete. But to get from the Analytical Engine to modern computers required a giant leap in the early 1940s, as the British and the Americans fought the Germans in the Atlantic. Turing’s bombe cannot be considered a precursor of modern computer architecture. However, there was another machine designed and built at Bletchley Park that could.

Oxford: Oxford University Press. 20Rebeck, J. (1994), ‘Synthetic Self-Replicating Molecules’, in: Scientific American, July 1994, pp. 48–55. 21Wolfram had conjectured that Rule 110 was Turing complete. Proof that Rule 110 is Turing complete was published by Matthew Cook. The proof is found in: Wolfram, S. (2002), A New Kind of Science, Wolfram Media. 22Or a transition to another state of dynamic equilibrium. In this case we have a ‘bifurcation’ point beyond which the system transits unpredictably to another attractor. An interesting speculation about such a mechanism applied in evolution was made by the late evolutionary biologist Stephen Jay Gould (1941–2002). His ‘punctuated equilibria hypothesis’ is a description of abrupt phase transitions on the scale of an ecosystem. 23There exist 88 possible unique elementary cellular automata, but only Rule 110 has been proven to be Turing complete so far. It is possible that other unique cellular automata are also Turing complete, but more complex. 24Baron-Cohen, S. (1997), Mindblindness: an essay on autism and theory of mind, New York: MIT Press. 25Willingham, E. (2012), ‘Is Autism an “Epidemic” or are we just noticing more people who have it?’

Cellular automata are patterns of 0s and 1s that evolve step-by-step according to a simple set of rules. A new pattern, or ‘generation’, of a cellular automaton emerges after each step. Points on the new patterns will be either 0 or 1 depending on their current value as well as the value of their neighbours. In the early 1980s, the English mathematician Stephen Wolfram conjectured that a particular cellular automaton called ‘Rule 110’ might be ‘Turing complete’,21 a conjecture that was later proved by Matthew Cook. ‘Turing complete’ means that Rule 110 is capable of universal computation, i.e. any calculation or computer program can be simulated using this automaton. What is particularly interesting about Rule 110 is its behaviour on the boundary between stability and chaos. It is neither stable nor completely chaotic. Localised structures appear and interact in various complicated looking ways.


Mastering Blockchain, Second Edition by Imran Bashir

3D printing, altcoin, augmented reality, autonomous vehicles, bitcoin, blockchain, business process, carbon footprint, centralized clearinghouse, cloud computing, connected car, cryptocurrency, data acquisition, Debian, disintermediation, disruptive innovation, distributed ledger, domain-specific language, en.wikipedia.org, Ethereum, ethereum blockchain, fault tolerance, fiat currency, Firefox, full stack developer, general-purpose programming language, gravity well, interest rate swap, Internet of things, litecoin, loose coupling, MITM: man-in-the-middle, MVC pattern, Network effects, new economy, node package manager, Oculus Rift, peer-to-peer, platform as a service, prediction markets, QR code, RAND corporation, Real Time Gross Settlement, reversible computing, RFC: Request For Comment, RFID, ride hailing / ride sharing, Satoshi Nakamoto, single page application, smart cities, smart contracts, smart grid, smart meter, supply-chain management, transaction costs, Turing complete, Turing machine, web application, x509 certificate

Script is a limited language, however, in the sense that it only allows essential operations that are necessary for executing transactions, but it does not allow for arbitrary program development. Think of it as a calculator that only supports standard preprogrammed arithmetic operations. As such, Bitcoin script language cannot be called Turing complete. In simple words, Turing complete language means that it can perform any computation. It is named after Alan Turing who developed the idea of Turing machine that can run any algorithm however complex. Turing complete languages need loops and branching capability to perform complex computations. Therefore, Bitcoin's scripting language is not Turing complete, whereas Ethereum's Solidity language is. To facilitate arbitrary program development on a blockchain, Turing complete programming language is needed, and it is now a very desirable feature of blockchains. Think of this as a computer that allows development of any program using programming languages.

Therefore, any blockchain network such as Bitcoin, Ethereum, Hyperledger Fabric, or Quorum can be used to provide decentralization service. Many organizations around the world have introduced platforms that promise to make distributed application development easy, accessible, and secure. Some of these platforms are described next. Ethereum Ethereum tops the list as being the first blockchain to introduce a Turing-complete language and the concept of a virtual machine. This is in stark contrast to the limited scripting language in Bitcoin and many other cryptocurrencies. With the availability of its Turing-complete language called Solidity, endless possibilities have opened for the development of decentralized applications. This blockchain was first proposed in 2013 by Vitalik Buterin, and it provides a public blockchain to develop smart contracts and decentralized applications. Currency tokens on Ethereum are called Ethers.

Nevertheless, the security of such languages is a crucial question and an essential and ongoing research area. We will discuss this in greater detail in Chapter 5, Introducing Bitcoin, Chapter 9, Smart Contracts, and Chapter 13, Development Tools and Frameworks, later in this book. Virtual machine: This is an extension of the transaction script introduced earlier. A virtual machine allows Turing complete code to be run on a blockchain (as smart contracts); whereas a transaction script is limited in its operation. However, virtual machines are not available on all blockchains. Various blockchains use virtual machines to run programs such as Ethereum Virtual Machine (EVM) and Chain Virtual Machine (CVM). EVM is used in Ethereum blockchain, while CVM is a virtual machine developed for and used in an enterprise-grade blockchain called Chain Core.


pages: 247 words: 43,430

Think Complexity by Allen B. Downey

Benoit Mandelbrot, cellular automata, Conway's Game of Life, Craig Reynolds: boids flock, discrete time, en.wikipedia.org, Frank Gehry, Gini coefficient, Guggenheim Bilbao, Laplace demon, mandelbrot fractal, Occupy movement, Paul Erdős, peer-to-peer, Pierre-Simon Laplace, sorting algorithm, stochastic process, strong AI, Thomas Kuhn: the structure of scientific revolutions, Turing complete, Turing machine, Vilfredo Pareto, We are the 99%

Of all the possible rules for a 2D CA, most yield simple behavior; most initial conditions quickly stabilize or grow unbounded. By avoiding uninteresting CAs, Conway was also avoiding Wolfram’s Class 1 and Class 2 behavior, and probably Class 3 as well. If we believe Wolfram’s Principle of Computational Equivalence, we expect GoL to be in Class 4, and it is. The Game of Life was proved Turing complete in 1982 (and again, independently, in 1983). Since then, several people have constructed GoL patterns that implement a Turing machine or another machine known to be Turing complete. Example 7-3. Many named patterns are available in portable file formats. Modify Life.py to parse one of these formats and initialize the grid. Realism Stable patterns in GoL are hard not to notice, especially the ones that move. It is natural to think of them as persistent entities, but remember that a CA is made of cells; there is no such thing as a toad or a loaf.

Wolfram’s demonstration of complex behavior in simple cellular automata is more surprising—and disturbing, at least to a deterministic world view. So far I have focused on scientific challenges to determinism, but the longest-standing objection is the conflict between determinism and human free will. Complexity science provides a possible resolution of this apparent conflict; we come back to this topic in Free Will. Structures The behavior of Class 4 CAs is even more surprising. Several 1-D CAs, most notably Rule 110, are Turing complete, which means that they can compute any computable function. This property, also called universality, was proved by Matthew Cook in 1998. See http://en.wikipedia.org/wiki/Rule_110. Figure 6-5 shows what Rule 110 looks like with an initial condition of a single cell and 100 time steps. At this time scale, it is not apparent that anything special is going on. There are some regular patterns but also some features that are hard to characterize.

The Turing machine is useful because it is possible to characterize the set of functions that can be computed by a Turing machine, which is what Turing did. Functions in this set are called Turing computable. To say that a Turing machine can compute any Turing-computable function is a tautology: it is true by definition. But Turing computability is more interesting than that. It turns out that just about every reasonable model of computation anyone has come up with is Turing complete; that is, it can compute exactly the same set of functions as the Turing machine. Some of these models, like lambda calculus, are very different from a Turing machine, so their equivalence is surprising. This observation led to the Church-Turing thesis, which is essentially a definition of what it means to be computable. The thesis is that Turing computability is the right (or at least natural) definition of computability, because it describes the power of such a diverse collection of models of computation.


pages: 612 words: 187,431

The Art of UNIX Programming by Eric S. Raymond

A Pattern Language, Albert Einstein, barriers to entry, bioinformatics, Clayton Christensen, combinatorial explosion, commoditize, correlation coefficient, David Brooks, Debian, domain-specific language, don't repeat yourself, Donald Knuth, Everything should be made as simple as possible, facts on the ground, finite state, general-purpose programming language, George Santayana, Innovator's Dilemma, job automation, Larry Wall, MVC pattern, pattern recognition, Paul Graham, peer-to-peer, premature optimization, pre–internet, publish or perish, revision control, RFC: Request For Comment, Richard Stallman, Robert Metcalfe, Steven Levy, transaction costs, Turing complete, Valgrind, wage slave, web application

The troff and PostScript typesetting languages are imperative languages with a lot of special-purpose domain expertise baked into them. Some task-specific imperative minilanguages start to border on being general-purpose interpreters. They reach this level when they are explicitly Turing-complete—that is, they can do both conditionals and loops (or recursion)[80] with features that are designed to be used as control structures. Some languages, by contrast, are only accidentally Turing-complete — they have features that can be used to implement control structures as a sort of side effect of what they are actually designed to do. The bc(1) and dc(1) interpreters we looked at in Chapter 7 are good examples of specialized imperative minilanguages that are explicitly Turing-complete. We are over the border into general-purpose interpreters when we reach languages like Emacs Lisp and JavaScript that are designed to be full programming languages run in specialized contexts.

* * * [79] For less technical readers: the compiled form of a C program is derived from its C source form by compilation and linkage. The PostScript version of a troff document is derived from the troff source; the command to make the former from the latter is a troff invocation. There are many other kinds of derivation; makefiles can express almost all of them. [80] Any Turing-complete language could theoretically be used for general-purpose programming, and is theoretically exactly as powerful as any other Turing-complete language. In practice, some Turing-complete languages would be far too painful to use for anything outside a specified and narrow problem domain. Applying Minilanguages Designing with minilanguages involves two distinct challenges. One is having existing minilanguages handy in your toolkit, and recognizing when they can be applied as-is.

This is a trivial example; m4 supports macros with arguments that can be used to do more than transform one fixed string into another. Typing info m4 at your shell prompt will probably display on-line documentation for this language. Example 8.2. A sample m4 macro. define(`OS', `operating system') The m4 macro language supports conditionals and recursion. The combination can be used to implement loops, and this was intended; m4 is deliberately Turing-complete. But actually trying to use m4 as a general-purpose language would be deeply perverse. The m4 macro processor is usually employed as a preprocessor for minilanguages that lack a built-in notion of named procedures or a built-in file-inclusion feature. It's an easy way to extend the syntax of the base language so the combination with m4 supports both these features. One well-known use of m4 has been to clean up (or at least effectively hide) another minilanguage design that was called out as a bad example earlier in this chapter.


pages: 349 words: 102,827

The Infinite Machine: How an Army of Crypto-Hackers Is Building the Next Internet With Ethereum by Camila Russo

4chan, Airbnb, algorithmic trading, altcoin, always be closing, Any sufficiently advanced technology is indistinguishable from magic, Asian financial crisis, bitcoin, blockchain, Burning Man, crowdsourcing, cryptocurrency, distributed ledger, diversification, Donald Trump, East Village, Ethereum, ethereum blockchain, Flash crash, Google Glasses, Google Hangouts, hacker house, Internet of things, Mark Zuckerberg, Maui Hawaii, mobile money, new economy, peer-to-peer, Peter Thiel, pets.com, Ponzi scheme, prediction markets, QR code, reserve currency, RFC: Request For Comment, Richard Stallman, Robert Shiller, Robert Shiller, Sand Hill Road, Satoshi Nakamoto, semantic web, sharing economy, side project, Silicon Valley, Skype, slashdot, smart contracts, South of Market, San Francisco, the payments system, too big to fail, tulip mania, Turing complete, Uber for X

Texture took some time to read it and said, “So this thing is trying to be a platform for all the token and blockchain use cases we’ve been talking about, but without having a specific function designed for each use case.” “Right, instead it has a machine that’s at its core,” Adam said. “The Ethereum Virtual Machine,” Texture said, scrolling through the paper. “Yeah, which is Turing-complete, so it can process whatever piece of code you throw at it,” Adam said. “Turing completeness” is a concept named after mathematician Alan Turing. Turing-complete machines are able to run any computer code. Bitcoin has a scripting language that supports some computation, but Ethereum’s Turing-complete language is designed to support anything a programmer could dream of, and still run in a decentralized way. “The problem with Turing-complete machines is that infinite loops can break them. Like, for example, you ask the computer to add x + x, as long as the result is less than 5, and you also tell it that x equals 1.

This leads to another key difference with Bitcoin in what Vitalik called the “first-class citizen” property of Ethereum—the idea that contracts have equivalent powers to external (or people’s) accounts. This makes running applications with self-executing code easier, as there’s no need for someone to pull the trigger. If the purpose of blockchain technology was to remove the middleman, this concept was ingrained at the core of Ethereum. All these parts come together to form a foundational layer: a blockchain with a built-in Turing-complete programming language, allowing anyone to write smart contracts and decentralized applications. Some of the applications that could be created on top of Ethereum, Vitalik wrote, are digital currencies, hedging contracts, a domain-name system, a reputation system, a shareholder-run corporation where decisions on where to move funds can be made by a quorum of investors, “and potentially even the groundwork for a social network.”

The possibilities would be infinite. “Other cryptocurrencies aim to add complexity and increase the number of ‘features,’” he wrote. Ethereum, on the other hand, takes features away. The protocol does not “support” multisignature transactions, multiple inputs and outputs, hash codes, lock times or many other features that even Bitcoin provides. Instead, all complexity comes from an all-powerful, Turing-complete assembly language, which can be used to build up literally any feature that is mathematically describable. By the end of the white paper, Vitalik’s excitement was palpable. “As a result, we have a cryptocurrency protocol whose codebase is very small, and yet which can do anything that any cryptocurrency will ever be able to do,” the paper concluded. When Anthony Di Iorio read Vitalik’s words, he, too, sensed that this could be something very big, even if his technical skills weren’t sophisticated enough to grasp the details.


pages: 210 words: 62,771

Turing's Vision: The Birth of Computer Science by Chris Bernhardt

Ada Lovelace, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, Albert Einstein, Andrew Wiles, British Empire, cellular automata, Claude Shannon: information theory, complexity theory, Conway's Game of Life, discrete time, Douglas Hofstadter, Georg Cantor, Gödel, Escher, Bach, Henri Poincaré, Internet Archive, Jacquard loom, John Conway, John von Neumann, Joseph-Marie Jacquard, Norbert Wiener, Paul Erdős, Turing complete, Turing machine, Turing test, Von Neumann architecture

So did Minsky who looked at the system with the help of a computer. In fact, this question still remains unanswered. In 1961, Minsky showed how any Turing machine can be emulated by a tag system. This means that given any algorithm, there is a tag system that computes it. This fact is sometimes expressed in the literature by saying that tag systems are Turing complete. It has even been shown that you only ever need to consider systems that drop the first two letters — 2-tag systems — to get Turing completeness.10 Given an algorithm, we can in theory design a Turing machine that implements it, and then convert to a tag system. However, the resulting tag system is usually extremely complicated. It would be nice to construct the tag system without first constructing a Turing machine. This has been done in certain cases. We will look at one particular example, an interesting tag system that was found by Liesbeth De Mol as part of her PhD. dissertation in 2007.11 It is a very simple system that calculates the modified Collatz function.

Minsky studied Post’s tag systems and was able to construct one that simulated a universal Turing machine. Consequently, anything a Turing machine, or computer, can do a tag system can do — at least in theory.4 When we looked at one-dimensional cellular automata, we made the observation that some of the rules could be considered as algorithms for computations. Surprisingly, they can also simulate universal Turing machines. Stephen Wolfram conjectured that Rule 110 was Turing complete. This is one of the rules that shows a mixture of chaos and stability depending on the starting tape. For some starting tapes the rule produces very simple output. For other starting tapes the output looks chaotic. Wolfram’s conjecture was that Rule 110 should be able to do any computation whatsoever. Here is the rule: Matthew Cook, who was working at Wolfram Research at the time, managed to prove that Wolfram was correct.

It was not a major part of his dissertation and he never studied them in detail. (It would be Post who followed up and proved the major results concerning oracles in the 1940s.) But these machines have also proved to be an important part of theoretical computer science. As Robert Soare has commented, you can think of your laptop being a Turing machine and the oracle as being the web. After Turing completed his Ph.D., von Neumann offered him a position as his assistant, but Turing decided not to accept and instead returned to England. During the time that Turing was working on his Ph.D. another breakthrough paper was written. This was on logic and switching circuits and was written by Claude Shannon. Claude Shannon In 1936, Claude Shannon graduated from the University of Michigan with two undergraduate degrees; one in electrical engineering and one in mathematics.


pages: 161 words: 44,488

The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology by William Mougayar

Airbnb, airport security, Albert Einstein, altcoin, Amazon Web Services, bitcoin, Black Swan, blockchain, business process, centralized clearinghouse, Clayton Christensen, cloud computing, cryptocurrency, disintermediation, distributed ledger, Edward Snowden, en.wikipedia.org, Ethereum, ethereum blockchain, fault tolerance, fiat currency, fixed income, global value chain, Innovator's Dilemma, Internet of things, Kevin Kelly, Kickstarter, market clearing, Network effects, new economy, peer-to-peer, peer-to-peer lending, prediction markets, pull request, QR code, ride hailing / ride sharing, Satoshi Nakamoto, sharing economy, smart contracts, social web, software as a service, too big to fail, Turing complete, web application

In 2013, attention started to shift to the “blockchain 2.0” applications: uses of the same technology that underlies Bitcoin's decentralization and security to other applications, ranging from domain name registration to financial contracts to crowdfunding and even games. The core insight behind my own platform, Ethereum, was that a Turing-complete programming language, embedded into the protocol at the base layer, could be used as the ultimate abstraction, allowing developers to build applications with any kind of business logic or purpose while benefiting from the blockchain's core properties. Around the same time, systems such as the decentralized storage platform InterPlanetary File System (IPFS) began to emerge, and cryptographers came out with powerful new tools that could be used in combination with blockchain technology to add privacy, particularly zk-SNARKs, or zero-knowledge Succinct Non-Interactive ARgument Knowledge. The combination of Turing-complete blockchain computing, non-blockchain decentralized networks using similar cryptographic technologies, and the integration of blockchains with advanced cryptography was what I chose to call “crypto 2.0”—a title that may be ambitious, but which I feel best captures the spirit of the movement in its widest form.

Oracles are data sources that send actionable information to smart contracts. 7. Smart contracts are not for developers only. The next generation of smart contracts will include user-friendly entry points, like a Web browser. That will allow any business user to configure smart contracts via a graphical user interface, or perhaps a text-based language input. 8. Smart contracts are safe. Even in the Ethereum implementation, smart contracts run as quasi-Turing complete programs. This means there is finality in their execution, and they do not risk looping infinitely. 9. Smart contract have a wide range of applications. Like HTML, the applications are limited by whoever writes them. Smart contracts are ideal for interacting with real-world assets, smart property, Internet of Things (IoT), and financial services instruments. They are not limited to money movements.


pages: 309 words: 54,839

Attack of the 50 Foot Blockchain: Bitcoin, Blockchain, Ethereum & Smart Contracts by David Gerard

altcoin, Amazon Web Services, augmented reality, Bernie Madoff, bitcoin, blockchain, Blythe Masters, Bretton Woods, clean water, cloud computing, collateralized debt obligation, credit crunch, Credit Default Swap, credit default swaps / collateralized debt obligations, cryptocurrency, distributed ledger, Ethereum, ethereum blockchain, Extropian, fiat currency, financial innovation, Firefox, Flash crash, Fractional reserve banking, index fund, Internet Archive, Internet of things, Kickstarter, litecoin, M-Pesa, margin call, Network effects, peer-to-peer, Peter Thiel, pets.com, Ponzi scheme, Potemkin village, prediction markets, quantitative easing, RAND corporation, ransomware, Ray Kurzweil, Ross Ulbricht, Ruby on Rails, Satoshi Nakamoto, short selling, Silicon Valley, Silicon Valley ideology, Singularitarianism, slashdot, smart contracts, South Sea Bubble, tulip mania, Turing complete, Turing machine, WikiLeaks

There were some smart contract experiments on Bitcoin, but Ethereum was pretty much the first practical platform for writing and running computer programs on a blockchain. Humans are bad at tasks requiring perfection. But when programming errors have drastic consequences, the usual approach is to make it harder to shoot yourself in the foot: functional programming languages, formal methods, mathematical verification of the code, don’t use a full computer language (avoid Turing completeness), and so on. Szabo wrote up some requirements and a simple example language in 2002.344 This is particularly important when you have multiple smart contracts interacting with each other – massively concurrent programming, with unknown possibly-hostile programs calling into functions of yours. Ethereum ignores all of this. Its standard contract language, Solidity, is a procedural language based on the web programming language JavaScript – to make it as easy as possible for beginners to write their first smart contract.

Tor: The Onion Router, a method to browse the web anonymously. Development is substantially sponsored by the US government, both for their own use and to help dissidents in oppressive countries. (Even as the NSA doesn’t like it at all.) Also favoured by Internet trolls and darknet users. Tulip: a pretty flower, and the subject of the 1637 bubble known as “tulip mania,” one of the first well-documented bubbles. Turing complete: when a computer or computer language is sophisticated enough that it can theoretically solve any problem that any other computer can … given enough memory and time. You often don’t want this, because it makes it harder to prove mathematical correctness when you really need to be certain, e.g. in a smart contract. Wallet: anywhere you keep the private keys to your bitcoins. Can be a hot wallet or cold wallet.

Petersburg Bowl 77 Status 95, 98 Stellar 48 Stephenson, Neal 19 streaming 127 Szabo, Nick 19, 32, 59, 101, 102, 105, 107 TAO, The 135 TechUK 115 Telstra 73 Temkin, Max 75 Thiel, Peter 18 Thornburg, Jonathan 23 Tiny Human 129 Today (Radio 4) 67 Todd, Peter 59, 68 Top500 65 Tor 49, 59 Tual, Stephen 109 Tucker, Jeffrey 40 Tulip Mania 35 Tulip Trust 64 Turing completeness 107 Ujo Music 129 UK Government Office for Science 123 Ukash 73 Ulbricht, Lyn 53 Ulbricht, Ross 26, 48, 64 unbanked 29 Underhanded C Contest 106 Underhanded Solidity Coding Contest 106 Venezuela 31 Ver, Roger 17, 37, 44, 47, 48, 50 virtual reality 135 Visa 28, 36 wallet 12 Walpole, Sir Mark 123 WannaCry 73 Washington Post 32 Wells Fargo 87 Western Union 28 Westwood, Adam 64 WhollyHemp 76 WikiLeaks 36, 62 Wikimedia Foundation 76 Wikipedia 76 Wilcke, Jeffrey 94 Willybot 82 Winter Olympics 93 Wired 64 Wise, Josh 93 Wood, Gavin 94 WordPress 75 Wright Family Trust 63 Wright, Craig 61, 139 Yapizon 89 YouTube 137 Zamovskiy, Andrey 120 Zero Hedge 24 Zhoutong 83 Notes [1] Satoshi Nakamoto.


pages: 515 words: 126,820

Blockchain Revolution: How the Technology Behind Bitcoin Is Changing Money, Business, and the World by Don Tapscott, Alex Tapscott

Airbnb, altcoin, asset-backed security, autonomous vehicles, barriers to entry, bitcoin, blockchain, Blythe Masters, Bretton Woods, business process, buy and hold, Capital in the Twenty-First Century by Thomas Piketty, carbon footprint, clean water, cloud computing, cognitive dissonance, commoditize, corporate governance, corporate social responsibility, creative destruction, Credit Default Swap, crowdsourcing, cryptocurrency, disintermediation, disruptive innovation, distributed ledger, Donald Trump, double entry bookkeeping, Edward Snowden, Elon Musk, Erik Brynjolfsson, Ethereum, ethereum blockchain, failed state, fiat currency, financial innovation, Firefox, first square of the chessboard, first square of the chessboard / second half of the chessboard, future of work, Galaxy Zoo, George Gilder, glass ceiling, Google bus, Hernando de Soto, income inequality, informal economy, information asymmetry, intangible asset, interest rate swap, Internet of things, Jeff Bezos, jimmy wales, Kickstarter, knowledge worker, Kodak vs Instagram, Lean Startup, litecoin, Lyft, M-Pesa, Marc Andreessen, Mark Zuckerberg, Marshall McLuhan, means of production, microcredit, mobile money, money market fund, Network effects, new economy, Oculus Rift, off grid, pattern recognition, peer-to-peer, peer-to-peer lending, peer-to-peer model, performance metric, Peter Thiel, planetary scale, Ponzi scheme, prediction markets, price mechanism, Productivity paradox, QR code, quantitative easing, ransomware, Ray Kurzweil, renewable energy credits, rent-seeking, ride hailing / ride sharing, Ronald Coase, Ronald Reagan, Satoshi Nakamoto, Second Machine Age, seigniorage, self-driving car, sharing economy, Silicon Valley, Skype, smart contracts, smart grid, social graph, social intelligence, social software, standardized shipping container, Stephen Hawking, Steve Jobs, Steve Wozniak, Stewart Brand, supply-chain management, TaskRabbit, The Fortune at the Bottom of the Pyramid, The Nature of the Firm, The Wisdom of Crowds, transaction costs, Turing complete, Turing test, Uber and Lyft, uber lyft, unbanked and underbanked, underbanked, unorthodox policies, wealth creators, X Prize, Y2K, Zipcar

Ask his legion of followers about Ethereum, and they’ll tell you it’s a “blockchain-based, arbitrary-state, Turing-complete scripting platform.”1 It has attracted IBM, Samsung, UBS, Microsoft, and the Chinese auto giant Wanxiang, and an army of the smartest software developers in the world, all of whom think that Ethereum may be the “planetary scale computer” that changes everything.2 When Buterin explained “arbitrary-state, Turing-complete” to us, we got a glimpse of his mind. Listening to music is very different from reading a book or calculating the day’s revenues and expenses, and yet you can do all three on your smart phone, because your smart phone’s operating system is Turing complete. That means that it can accommodate any other language that is Turing complete. So innovators can build just about any digital app imaginable on Ethereum—apps that perform very dissimilar tasks, from smart contracts and computational resource marketplaces to complex financial instruments and distributed governance models.

See Design principles ShapeShift, 260 Shapiro, Melanie, 287 Shareholders, 11, 78–79, 100, 107, 125–28 Sharing economy, 17–18, 134–35, 187 Sidechains, 60 Silbert, Barry, 86, 284 Silk Road, 9, 276 Simplified payment verification (SPV), 50 Simpson, Arianna, 287 Skogstad, Anselm, 240 Skynet, 273 Slack, 89 Smart contracts, 101–3, 109, 126, 142, 219 aid groups and, 190 DApps, 120, 121 definition of, 101–2 MFIs and, 192 multisig authentication, 103–5 ownership rights and, 46–48 for political reputations, 210–11 Smart devices, 150–54 economic payoffs, 161–64 future developments, 164–67 hacking your future, 168–69 twelve disruptions, 156–61 Smart homes, 161, 275 Smart locks, 117 Smart pills, 151, 158 Smartwallet, 83, 131, 153 Snow Crash (Stephenson), 38, 315n Snowden, Edward, 243 Social contracts, 99 Social energy, 148–50 Social production, 129–32 Social Security, 80, 176 Societal change, 257–58 Society for Worldwide Interbank Financial Telecommunication (SWIFT), 42, 59, 262 Society of European Stage Authors and Composers (SESAC), 229 Song, Dawn, 288 Sony Music Entertainment, 229, 230 Soul of a New Machine, The (Kidder), 150 Spain, Agora Voting, 218–19 Spam, 34, 39, 255, 321n Spotify, 88, 229, 230, 239, 319n Srinivasan, Balaji, 178–79 Stakeholders, 262 Standards networks, 304–6 Stark, Elizabeth, 288 Steiner, Peter, 3 Stellar, 32, 37, 170–71 Stellar Development Foundation, 170–71 Stephenson, Neal, 315 Stiglitz, Joseph, 35–36, 57, 107 Storing value, in financial services, 61–62, 64 Storj, 95, 120 Streaming music, 229, 230 Streaming open and trusted data, 208–9 Streamium, 233 Student debt, 248–49 SUber, 165–67 Subledger, 73–74 Surveillance, 25, 42, 44–45, 212, 243–44, 274–75 Swan, Melanie, 110, 204, 224, 247–49 Sybil attacks, 36, 37, 315n Systemic risk, 59 Szabo, Nick, 4–5, 37, 101–2, 255 Talking Heads, 227, 228 “Taps,” 146–47 Tapscott, Bob, 261, 268 Taylor, Simon, 75 TCP/IP (Transmission Control Protocol/Internet Protocol), 43, 50 Technology democracy and, 212–14 as implementation challenge, 254–58 Termen, Lev Sergeyevich, 253–54, 277 Terms of third-party engagement, 234 Tezos, 95 Theory of the firm, 92–93, 100, 105–6, 121, 319n Theremin, 253–54 Thiel, Peter, 93–94 360-degree deals, 229 Ticoll, David, 25, 109, 134 Tinsley, Michelle, 155 Title registration, 8, 19–20, 51, 188–89, 193–95, 198 Todd, Peter, 133, 268 Tools of abundance, 178–79 Top-down management, 89, 92, 106 Tor, 263 Torvalds, Linus, 88, 282 Totalitarianism, 34, 52, 141, 145 TradeNet, 165 Trading volume, 256 Transactional capacity, 255 Transaction costs, 92–93, 95–101, 107, 142, 193, 269 Transparency, 10, 11, 298 aid groups and, 190–91 design principles and, 30, 39, 41, 44, 45 financial services and, 66–67, 77 government and political institutions, 205, 210, 296 MFIs and, 192 music and, 232–33, 236 Transportation, 137, 156–57, 164–67, 206 Treat, David, 70 Triple-entry accounting, 77, 78–79, 180 Trump, Donald, 210 Trust achieving in the digital age, 10–11 costs of (re-)building, 107–9, 143 networked integrity, 30–33 in political institutions, 201–2 Trust Barometer, 10 Trusted data, 208–9 Trusted systems. See Walled gardens Trust protocol, 4–6, 58, 309–11 Turing completeness, 278 22Hertz, 237–38 Twister, 246 Twoway peg, 60 Uber, 17, 118, 134, 135, 164–65, 270 Ulbricht, Ross William, 9 Unbanked and underbanked, 170–72, 175–78 Unemployment, 173 UNESCO, 249 UNICEF, 189–90 Unicoin, 190 Unique node list, 32 Universal Music, 229, 230 Usage data analytics, 233–34 Utility grids, 145–50 Value as incentive, 35–39, 202 Value innovation, 60 Value templates, 232 Vavilov, Valery, 261, 268 “Vectors of disruption,” 163 Vegetabile, Andrew, 267 Venture capitalists (VCs), 284, 287 Ver, Roger, 263, 284 VeriCoin, 266 VerifyID, 116 Verisart, 133 Vertical search, 97 Virtru Corporation, 40 Virtual private networks (VPNs), 118 Visa, 187–88 Vogogo, 72 Voorhees, Erik, 56, 81–82, 260, 284 Voter ID fraud, 217 Voter intimidation, 216–17 Voter turnout, 200–201 Voting, 198, 202, 214–15, 218–19 electronic (e-voting), 198, 215–17 Waldemeyer, Moritz, 228 Wales, Jimmy, 282 Walled gardens, 13, 70, 265 Warner Music Group, 229 Wassenaar Arrangement, 243–44 Waste management, in IoTs, 157 Watchdog networks, 303–4 Water management, in IoTs, 157 Wealth of Networks, The (Benkler), 277 Wealth tax, 173 WeatherDApp, 124–25 Weathernet, 123–24 WeatherNodes, 123–25, 147, 158 Western Union, 20, 56, 115, 185–86, 187–88 WhatsApp, 184 White, Derek, 68–69 Wikinomics, 128, 137 Wikipedia, 12, 129, 130–32, 282 Wilkins, Carolyn, 9, 294, 295–96 Williamson, Oliver, 93–94, 100, 105–6, 320n Windowing strategy, 235–36 Winklevoss, Tyler, 175, 255–56, 301 Winter, Alex, 21 Wisdom of the crowds, 84–85, 221 WISeKey, 11, 14, 154, 204 Women leaders in blockchain, 287–89 Wong, Pindar, 300, 305 Wood, Gavin, 119 World Bank, 193, 295, 300 World Economic Forum (WEF), 175, 270, 306 World Health Organization, 281 World Trade Organization, 281 World Wide Ledger, 6–8, 75–77, 95–96, 142 World Wide Web Consortium, 271, 299 Wozniak, Steve, 129, 274 Wright, Aaron, 103, 258, 264, 265, 293 YouTube, 230, 234, 235, 236 Zeall, Anson, 217 Zelaya, Manuel, 193 Zero to One (Thiel), 94 Zimbabwe, voter intimidation, 216–17 Zipcar, 134, 137, 187 Zyskind, Guy, 27–28 Looking for more?


pages: 239 words: 80,319

Lurking: How a Person Became a User by Joanne McNeil

4chan, A Declaration of the Independence of Cyberspace, Ada Lovelace, Airbnb, AltaVista, Amazon Mechanical Turk, Burning Man, Chelsea Manning, Chris Wanstrath, citation needed, cloud computing, crowdsourcing, delayed gratification, dematerialisation, don't be evil, Donald Trump, drone strike, Edward Snowden, Elon Musk, feminist movement, Firefox, Google Earth, Google Glasses, Google Hangouts, helicopter parent, Internet Archive, invention of the telephone, Jeff Bezos, jimmy wales, l'esprit de l'escalier, Marc Andreessen, Mark Zuckerberg, Marshall McLuhan, means of production, Menlo Park, moral panic, move fast and break things, move fast and break things, Network effects, packet switching, PageRank, pre–internet, profit motive, QAnon, recommendation engine, Saturday Night Live, Shoshana Zuboff, Silicon Valley, slashdot, Snapchat, social graph, Stephen Hawking, Steve Jobs, Steven Levy, Stewart Brand, technoutopianism, Ted Nelson, Tim Cook: Apple, trade route, Turing complete, We are the 99%, web application, white flight, Whole Earth Catalog

Until then, the internet remains imperfect, a hell that is fun, ruled by idiots and thieves, providing users with slingshots for self-expression but no shield from the bile that rebounds. It is our potential, our conscription, and our reality: platforms that trap us, platforms that cannot accommodate us, platforms that don’t deserve us. NOTES INTRODUCTION Olia Lialina’s 2012 essay “Turing Complete User” is available on her website: contemporary-home-computing.org/turing-complete-user/. The email from a Mechanical Turk worker to Jeff Bezos was part of a letter-writing campaign organized through the MTurk collective Dynamo. Will Oremus has written about Amazon as a surveillance company, with products like Ring and Echo, in the Medium publication OneZero (“Amazon Is Watching,” June 27, 2019). Goodreads and Twitch, the livestreaming video platform, are Amazon subsidiaries, but their social media operations are small in comparison to services like cloud computing, logistics, and retail.

Some data is “shared,” some is taken, the harvest is shaken together in a sillage of algorithmic modeling, floating around, predicting and approximating, while never quite defining the user in the middle of it all. “User” is a particular status, activity, and state of being, but the word is hated by some. Don Norman, who coined “UX”—user experience—said in 2008, “One of the horrible words we use is ‘users.’ I am on a crusade to get rid of the word ‘users.’ I would prefer to call them ‘people.’” But the word “people,” as the artist Olia Lialina responded in her essay, “Turing Complete User,” hides the “existence of two classes of people—developers and users.” It is not a mellifluous word or elegant, but “user” is, uh, useful. Developers scripted these mazes, these interfaces, which users use to communicate and keep in touch. There are humans on the outside and humans on the inside; the platforms created by and used by humans outline and define identities, boxing users in, while tendering new methods of expression.


Turing's Cathedral by George Dyson

1919 Motor Transport Corps convoy, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, Albert Einstein, anti-communist, Benoit Mandelbrot, British Empire, Brownian motion, cellular automata, cloud computing, computer age, Danny Hillis, dark matter, double helix, fault tolerance, Fellow of the Royal Society, finite state, Georg Cantor, Henri Poincaré, housing crisis, IFF: identification friend or foe, indoor plumbing, Isaac Newton, Jacquard loom, John von Neumann, mandelbrot fractal, Menlo Park, Murray Gell-Mann, Norbert Wiener, Norman Macrae, packet switching, pattern recognition, Paul Erdős, Paul Samuelson, phenotype, planetary scale, RAND corporation, random walk, Richard Feynman, SETI@home, social graph, speech recognition, Thorstein Veblen, Turing complete, Turing machine, Von Neumann architecture

They evidently had a long conversation on a bench in Central Park, leaving no record of their discussion of the Ivy Mike test, but a subsequent exchange of letters hinted at the conversation having extended to the possibility of a digital universe being brought to life. “Only because of our conversation on the bench in Central Park I was able to understand…[that] given is an actually infinite system of points (the actual infinity is worth stressing because nothing will make sense on a finite no matter how large model),” noted Ulam, who then sketched out how he and von Neumann had hypothesized the evolution of Turing-complete (or “universal”) cellular automata within a digital universe of communicating memory cells. The definitions had to be made mathematically precise: A “universal” automaton is a finite system which given an arbitrary logical proposition in form of (a linear set L) tape attached to it, at say specified points, will produce the true or false answer. (Universal ought to have relative sense: with reference to a class of problems it can decide.)

Goldstine—who rarely agreed on anything, so this may be a reference to early discussions of the powers of arrays of communicating cells, before disagreement about how to implement this in practice intervened. “Double line trick, etc.” is evocative of the double-helix replication of DNA, and “Degeneration (?)” probably refers to how any enduring system of self-reproduction must depend on error-correcting codes in translating from one generation to the next. “Ulam!” probably refers to Ulam’s interest in the powers of Turing-complete cellular automata, now evidenced by many of the computational processes surrounding us today. The triplicate appearance of “Turing!” reflects how central Turing’s proof of universality was to any theory of self-reproduction, whether applied to mathematics, biology, or machines. The Institute for Advanced Study computer was duplicated, with variation, by a first generation of immediate siblings that included SEAC in Washington, D.C., ILLIAC at the University of Illinois, ORDVAC at Aberdeen, JOHNNIAC at the RAND Corporation, MANIAC at Los Alamos National Laboratory, AVIDAC at Argonne, ORACLE at Oak Ridge, BESK in Stockholm, DASK in Copenhagen, SILLIAC in Sydney, BESM in Moscow, PERM in Munich, WEIZAC in Rehovot, and the IBM 701.

“This synthesis can be executed by a digital computer, in particular, by the computer to be designed if sufficiently large,” they reported in April 1956, concluding that “it appears that we have thereby exhibited a machine which can reproduce (i.e. design) itself. This result seems to be related to the self-reproducing machines of von Neumann.”19 They were right. Codes populating the growing digital universe soon became Turing-complete, much as envisioned by Ulam and von Neumann in 1952. Turing’s ACE, a powerful Universal Machine, was to have had a memory of 25 kilobytes, or 2 × 105 bits. The present scale of the digital universe has been estimated at 1022 bits. The number of Turing machines populating this universe is unknown, and increasingly these machines are virtual machines that do not necessarily map to any particular physical hardware at any particular time.


pages: 496 words: 174,084

Masterminds of Programming: Conversations With the Creators of Major Programming Languages by Federico Biancuzzi, Shane Warden

Benevolent Dictator For Life (BDFL), business intelligence, business process, cellular automata, cloud computing, commoditize, complexity theory, conceptual framework, continuous integration, data acquisition, domain-specific language, Douglas Hofstadter, Fellow of the Royal Society, finite state, Firefox, follow your passion, Frank Gehry, general-purpose programming language, Guido van Rossum, HyperCard, information retrieval, iterative process, John von Neumann, Larry Wall, linear programming, loose coupling, Mars Rover, millennium bug, NP-complete, Paul Graham, performance metric, Perl 6, QWERTY keyboard, RAND corporation, randomized controlled trial, Renaissance Technologies, Ruby on Rails, Sapir-Whorf hypothesis, Silicon Valley, slashdot, software as a service, software patent, sorting algorithm, Steve Jobs, traveling salesman, Turing complete, type inference, Valgrind, Von Neumann architecture, web application

It was pretty successful, and as our typesetting equipment became more capable, I also did a language for drawing figures and diagrams, which was called PIC. PIC started out only able to draw, but it rapidly became clear that it needed arithmetic expressions to handle computations on coordinates and the like, and it needed variables to store results, and it needed loops to create repetitive structures. All of these were added, but each one was kind of awkward and shaky. In the end, PIC was quite powerful, a Turing-complete language, but one wouldn’t want to write a lot of code in it. How do you define success in terms of your work? Brian: One of the most rewarding things is to have someone say that they used your language or tool and found that it helped them get their job done better. That’s really satisfying. Of course it’s sometimes followed by a report of problems or of missing features, but even those are valuable.

Brian: Perhaps, but the further from C, the less likely it would have succeeded. It’s a difficult balance, and I think he did a very good job. To what degree can you pursue backward compatibility versus trying to introduce something new and revolutionary? Brian: That’s a dilemma in absolutely every field, and I don’t see any way out of it. You mentioned that a lot of little languages started adding features and becoming Turing-complete and losing their conceptual purity. Are there design principles to apply if you’re taking a little language and making it more general purpose without losing its way? Brian: I guess. I remember saying that on a variety of occasions, and I often wondered how much of it was a parochial view. That is, all of the languages I had touched had this property and maybe nothing else did. Perhaps I was just seeing my own problem.

This ongoing struggle will be made easier if the language has a good extensibility mechanism (see the next item). Extensibility The language should have a well-defined, general-purpose mechanism whereby new functionality can be added, ideally with little or no impact on the syntax of the language. For example, a database query language might provide a facility for adding user-defined functions written in a separate Turing-complete programming language. Abstraction The language should not expose or depend on aspects of a specific implementation. For example, eliminating duplicates from a set of values should be specified in terms of an abstract concept such as a “primary key” rather than a physical strategy such as a “unique index.” (This was a flaw in some of the earliest versions of SQL.) In the database world, this concept is sometimes called data independence.


pages: 416 words: 106,532

Cryptoassets: The Innovative Investor's Guide to Bitcoin and Beyond: The Innovative Investor's Guide to Bitcoin and Beyond by Chris Burniske, Jack Tatar

Airbnb, altcoin, asset allocation, asset-backed security, autonomous vehicles, bitcoin, blockchain, Blythe Masters, business cycle, business process, buy and hold, capital controls, Carmen Reinhart, Clayton Christensen, clean water, cloud computing, collateralized debt obligation, commoditize, correlation coefficient, creative destruction, Credit Default Swap, credit default swaps / collateralized debt obligations, cryptocurrency, disintermediation, distributed ledger, diversification, diversified portfolio, Donald Trump, Elon Musk, en.wikipedia.org, Ethereum, ethereum blockchain, fiat currency, financial innovation, fixed income, George Gilder, Google Hangouts, high net worth, Jeff Bezos, Kenneth Rogoff, Kickstarter, Leonard Kleinrock, litecoin, Marc Andreessen, Mark Zuckerberg, market bubble, money market fund, money: store of value / unit of account / medium of exchange, moral hazard, Network effects, packet switching, passive investing, peer-to-peer, peer-to-peer lending, Peter Thiel, pets.com, Ponzi scheme, prediction markets, quantitative easing, RAND corporation, random walk, Renaissance Technologies, risk tolerance, risk-adjusted returns, Robert Shiller, Robert Shiller, Ross Ulbricht, Satoshi Nakamoto, Sharpe ratio, Silicon Valley, Simon Singh, Skype, smart contracts, social web, South Sea Bubble, Steve Jobs, transaction costs, tulip mania, Turing complete, Uber for X, Vanguard fund, WikiLeaks, Y2K

Dmitry Buterin is also very much involved in the cryptoasset world as cofounder of Blockgeeks and other influential startups. 3. http://fortune.com/ethereum-blockchain-vitalik-buterin/. 4. http://www.ioi2012.org/competition/results-2/. 5. https://backchannel.com/the-uncanny-mind-that-built-ethereum-9b448dc9d14f#.4yr8yhfp8. 6. https://blog.ethereum.org/2014/01/23/ethereum-now-going-public/. 7. http://counterparty.io/platform/. 8. https://steemit.com/ethereum/@najoh/beyond-bitcoin-and-crypto-currency-ethereum. 9. https://blog.ethereum.org/2014/01/23/ethereum-now-going-public/. 10. https://github.com/ethereum/wiki/wiki/white-paper. 11. Turing complete refers to a system that is effectively capable of the full functionality of a general purpose computer. Bitcoin was intentionally constructed not to be Turing complete to constrain complexity and prioritize security. 12. https://ethereum.org/ether. 13. Nathaniel Popper, Digital Gold: Bitcoin and the Inside Story of the Misfits and Millionaires Trying to Reinvent Monday, Harper, 2015. 14. http://www.coindesk.com/peter-thiel-fellowship-ethereum-vitalik-buterin/. 15. http://www.wtn.net/summit-2014/2014-world-technology-awards-winners. 16. http://ether.fund/market. 17. https://www.ethereum.org/foundation. 18. https://blog.ethereum.org/2015/03/14/ethereum-the-first-year/. 19. http://ethdocs.org/en/latest/introduction/history-of-ethereum.html. 20. http://ether.fund/market. 21. http://ethdocs.org/en/latest/introduction/history-of-ethereum.html. 22.

This distinguished Ethereum from many of the altcoins that came before it. By having no affiliation with “coin” in its name, Ethereum was moving beyond the idea of currency into the realm of cryptocommodities. While Bitcoin is mostly used to send monetary value between people, Ethereum could be used to send information between programs. It would do so by building a decentralized world computer with a Turing complete programming language.11 Developers could write programs, or applications, that would run on top of this decentralized world computer. Just as Apple builds the hardware and operating system that allows developers to build applications on top, Ethereum was promising to do the same in a distributed and global system. Ether, the native unit, would come into play as follows: Ether is a necessary element—a fuel—for operating the distributed application platform Ethereum.


pages: 52 words: 13,257

Bitcoin Internals: A Technical Guide to Bitcoin by Chris Clark

bitcoin, fiat currency, peer-to-peer, Satoshi Nakamoto, transaction costs, Turing complete

In python, the script would look something like this (bracketed names represent hard-coded values in the script): def scriptSig(): return <sig>, <pubKey> def scriptPubKey(txHash): sig, pubKey = scriptSig() return (hash(pubKey) == <pubKeyHash> and verifySig(sig, pubKey, txHash)) The parameter txHash is a hash of some parts of the transaction, and this hash is the message that was signed to generate the signature. This ensures that these parameters of the transaction can not change without a new signature. The script in Bitcoin looks quite a bit different though, because Bitcoin uses its own custom scripting language. 7.3 Scripting The scripting language used in Bitcoin is a stack-based language similar to Forth. It is intentionally not Turing-complete so that it can be executed without concern for whether the script will hang. It works like a reverse polish notation calculator. The script is read from left to right. When a value is encountered in the script, it is pushed onto a stack. When an operator is encountered in the script, some values are popped off the stack, the operator is applied to these values, and the result is pushed onto the stack.


pages: 720 words: 197,129

The Innovators: How a Group of Inventors, Hackers, Geniuses and Geeks Created the Digital Revolution by Walter Isaacson

1960s counterculture, Ada Lovelace, AI winter, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, Albert Einstein, AltaVista, Apple II, augmented reality, back-to-the-land, beat the dealer, Bill Gates: Altair 8800, bitcoin, Bob Noyce, Buckminster Fuller, Byte Shop, c2.com, call centre, citizen journalism, Claude Shannon: information theory, Clayton Christensen, commoditize, computer age, crowdsourcing, cryptocurrency, Debian, desegregation, Donald Davies, Douglas Engelbart, Douglas Engelbart, Douglas Hofstadter, Dynabook, El Camino Real, Electric Kool-Aid Acid Test, en.wikipedia.org, Firefox, Google Glasses, Grace Hopper, Gödel, Escher, Bach, Hacker Ethic, Haight Ashbury, Howard Rheingold, Hush-A-Phone, HyperCard, hypertext link, index card, Internet Archive, Jacquard loom, Jaron Lanier, Jeff Bezos, jimmy wales, John Markoff, John von Neumann, Joseph-Marie Jacquard, Leonard Kleinrock, Marc Andreessen, Mark Zuckerberg, Marshall McLuhan, Menlo Park, Mitch Kapor, Mother of all demos, new economy, New Journalism, Norbert Wiener, Norman Macrae, packet switching, PageRank, Paul Terrell, pirate software, popular electronics, pre–internet, RAND corporation, Ray Kurzweil, RFC: Request For Comment, Richard Feynman, Richard Stallman, Robert Metcalfe, Rubik’s Cube, Sand Hill Road, Saturday Night Live, self-driving car, Silicon Valley, Silicon Valley startup, Skype, slashdot, speech recognition, Steve Ballmer, Steve Crocker, Steve Jobs, Steve Wozniak, Steven Levy, Steven Pinker, Stewart Brand, technological singularity, technoutopianism, Ted Nelson, The Coming Technological Singularity, The Nature of the Firm, The Wisdom of Crowds, Turing complete, Turing machine, Turing test, Vannevar Bush, Vernor Vinge, Von Neumann architecture, Watson beat the top human players on Jeopardy!, Whole Earth Catalog, Whole Earth Review, wikimedia commons, William Shockley: the traitorous eight

Bletchley Park’s Colossus I, completed in December 1943 by Max Newman and Tommy Flowers (with input from Alan Turing), was the first digital computer that was fully electronic, programmable, and operational. It was not, however, a general-purpose or Turing-complete machine; it was geared to the specific purpose of breaking Germany’s wartime codes. Howard Aiken’s Harvard Mark I, built with IBM and put into operation in May 1944, was programmable, as we will see in the following chapter, but it was electromechanical rather than electronic. ENIAC, completed by Presper Eckert and John Mauchly in November 1945, was the first machine to incorporate the full set of traits of a modern computer. It was all-electronic, superfast, and could be programmed by plugging and unplugging the cables connecting its different units. It was capable of changing paths based on interim results, and it qualified as a general-purpose Turing-complete machine, meaning it could in theory tackle any task. Most important, it worked.

BLETCHLEY PARK Although few outsiders knew it at the time—and would not know for more than three decades—another electronic computer using vacuum tubes had been secretly built at the end of 1943 on the grounds of a redbrick Victorian manor in the town of Bletchley, fifty-four miles northwest of London, where the British had sequestered a team of geniuses and engineers to break the German wartime codes. The computer, known as Colossus, was the first all-electronic, partially programmable computer. Because it was geared for a special task, it was not a general-purpose or “Turing-complete” computer, but it did have Alan Turing’s personal fingerprints on it. Turing had begun to focus on codes and cryptology in the fall of 1936, when he arrived at Princeton just after writing “On Computable Numbers.” He explained his interest in a letter to his mother that October: I have just discovered a possible application of the kind of thing I am working on at present. It answers the question “What is the most general kind of code or cipher possible,” and at the same time (rather naturally) enables me to construct a lot of particular and interesting codes.

But it used electromechanical relays and was thus not fully electronic. It was also a special-purpose computer and not programmable. Herman Zuse’s Z3, completed in May 1941, was the first automatically controlled, programmable, electrical, binary machine. It was designed to do engineering problems rather than be a general-purpose machine. However, it was later shown that, in theory, it could have been used as a Turing-complete machine. Its major difference from modern computers was that it was electromechanical, dependent on clacking and slow relay switches, rather than electronic. Another shortcoming is that it never really went into full-scale service. It was destroyed by the Allied bombing of Berlin in 1943. The computer designed by John Vincent Atanasoff, which was complete but not fully workable by the time Atanasoff abandoned it to serve in the Navy in September 1942, was the world’s first electronic digital computer, but it was only partly electronic.


Practical OCaml by Joshua B. Smith

cellular automata, Debian, domain-specific language, general-purpose programming language, Grace Hopper, hiring and firing, John Conway, Paul Graham, slashdot, SpamAssassin, text mining, Turing complete, type inference, web application, Y2K

In turn, these smaller components are less complicated, and (theoretically) easier to debug. Less Code There are several reasons why this is true, and one of the biggest is that functional languages are often more terse than their structured counterparts. This terseness does not hamper their expressiveness, and because functional languages are just as Turing-complete as their structured brethren. Expressiveness is more than simple Turing completeness; the functional programming style encourages short functions that perform simple actions. Less code is also a direct result of more general modularity. The ability to decompose problems into smaller parts is dependent on the ability to utilize those parts. Higher-order functions are a very powerful way in which those parts can be used (often referred to as “bottom-up” programming).

Random BMP 620Xch27final.qxd 9/22/06 1:22 AM Page 389 CHAPTER 27 ■ PROCESSING BINARY FILES Figure 27-3. xor BMP Figure 27-4. and BMP 389 620Xch27final.qxd 390 9/22/06 1:22 AM Page 390 CHAPTER 27 ■ PROCESSING BINARY FILES Conway’s Game of Life In 1970, a British mathematician named John Conway created the field of cellular automata when he published the first article on the subject. Conway’s “game” isn’t so much a game played by people as it is a mathematical experiment. The game is an example of emergent behavior because there are only four simple rules that generate an amazing amount of complexity. Conway’s game is also Turing Complete, which means that (given the right initial conditions) the game is as powerful as any “real” computer. The game itself is represented (in its original version) by a matrix of cells. These cells can be either alive or dead, as determined by the cells’ neighbors and the rules of the game. This representation of cells is why Conway’s game provides an excellent graphical target to shoot for. There are only four rules in the game: • A cell will die if it has fewer than two living neighbors. • A cell will die if it has more than three living neighbors. • A living cell stays the same if it has two or three living neighbors. • A dead cell with three living neighbors becomes a living cell.


pages: 372 words: 101,174

How to Create a Mind: The Secret of Human Thought Revealed by Ray Kurzweil

Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, Albert Einstein, Albert Michelson, anesthesia awareness, anthropic principle, brain emulation, cellular automata, Claude Shannon: information theory, cloud computing, computer age, Dean Kamen, discovery of DNA, double helix, en.wikipedia.org, epigenetics, George Gilder, Google Earth, Isaac Newton, iterative process, Jacquard loom, John von Neumann, Law of Accelerating Returns, linear programming, Loebner Prize, mandelbrot fractal, Norbert Wiener, optical character recognition, pattern recognition, Peter Thiel, Ralph Waldo Emerson, random walk, Ray Kurzweil, reversible computing, selective serotonin reuptake inhibitor (SSRI), self-driving car, speech recognition, Steven Pinker, strong AI, the scientific method, theory of mind, Turing complete, Turing machine, Turing test, Wall-E, Watson beat the top human players on Jeopardy!, X Prize

Turing and Alonzo Church (1903–1995), his former professor, went on to develop the Church-Turing thesis, which states that if a problem that can be presented to a Turing machine is not solvable by it, it is also not solvable by any machine, following natural law. Even though the Turing machine has only a handful of commands and processes only one bit at a time, it can compute anything that any computer can compute. Another way to say this is that any machine that is “Turing complete” (that is, that has equivalent capabilities to a Turing machine) can compute any algorithm (any procedure that we can define). A block diagram of a Turing machine with a head that reads and writes the tape and an internal program consisting of state transitions. “Strong” interpretations of the Church-Turing thesis propose an essential equivalence between what a human can think or know and what is computable by a machine.

Because the Turing machine (and therefore any computer) is capable of basing its future course of action on results it has already computed, it is capable of making decisions and modeling arbitrarily complex hierarchies of information. In 1939 Turing designed an electronic calculator called Bombe that helped decode messages that had been encrypted by the Nazi Enigma coding machine. By 1943, an engineering team influenced by Turing completed what is arguably the first computer, the Colossus, that enabled the Allies to continue decoding messages from more sophisticated versions of Enigma. The Bombe and Colossus were designed for a single task and could not be reprogrammed for a different one. But they performed this task brilliantly and are credited with having enabled the Allies to overcome the three-to-one advantage that the German Luftwaffe enjoyed over the British Royal Air Force and win the crucial Battle of Britain, as well as to continue anticipating Nazi tactics throughout the war.


pages: 348 words: 97,277

The Truth Machine: The Blockchain and the Future of Everything by Paul Vigna, Michael J. Casey

3D printing, additive manufacturing, Airbnb, altcoin, Amazon Web Services, barriers to entry, basic income, Berlin Wall, Bernie Madoff, bitcoin, blockchain, blood diamonds, Blythe Masters, business process, buy and hold, carbon footprint, cashless society, cloud computing, computer age, computerized trading, conceptual framework, Credit Default Swap, crowdsourcing, cryptocurrency, cyber-physical system, dematerialisation, disintermediation, distributed ledger, Donald Trump, double entry bookkeeping, Edward Snowden, Elon Musk, Ethereum, ethereum blockchain, failed state, fault tolerance, fiat currency, financial innovation, financial intermediation, global supply chain, Hernando de Soto, hive mind, informal economy, intangible asset, Internet of things, Joi Ito, Kickstarter, linked data, litecoin, longitudinal study, Lyft, M-Pesa, Marc Andreessen, market clearing, mobile money, money: store of value / unit of account / medium of exchange, Network effects, off grid, pets.com, prediction markets, pre–internet, price mechanism, profit maximization, profit motive, ransomware, rent-seeking, RFID, ride hailing / ride sharing, Ross Ulbricht, Satoshi Nakamoto, self-driving car, sharing economy, Silicon Valley, smart contracts, smart meter, Snapchat, social web, software is eating the world, supply-chain management, Ted Nelson, the market place, too big to fail, trade route, transaction costs, Travis Kalanick, Turing complete, Uber and Lyft, uber lyft, unbanked and underbanked, underbanked, universal basic income, web of trust, zero-sum game

Here are just a few: digital “self-sovereign” identity; decentralized medical record sharing; automated, market-driven solar microgrids; decentralized commodity exchanges; crowdfunded, ownerless investment funds; blockchain-certified marriage certificates; provably secure online voting systems; decentralized supply-chain and logistics platforms; security for the Internet of Things. The list goes on and on. Ethereum’s internal programming language is described as being “Turing complete”—which essentially means it has great versatility, allowing people to write an unlimited variety of programs. The key breakthrough was that this structure, beyond its easy-to-use programming language, would enable smart contracts. As they were first raised in the pre-Bitcoin era by crypto-systems theorist Nick Szabo, smart contracts are a way to express, in a piece of computing code, instructions for executing transactions according to previously agreed contractual conditions.

See Transmission Control Protocol/Internet Protocol (TCP/IP) Tea Party Tendermint Tesla Tez token Tezos 3D printing Tiananmen Square Tillemen, Tomicah token economy and advertising and digital bartering and initial coin offerings (ICOs) and open protocols and regulation reputation tokens Token Report TokenStars too big to fail Torrens system Tradle Tragedy of the Commons Transactive Grid Transmission Control Protocol/Internet Protocol (TCP/IP) triple-entry bookkeeping. See also ledger-keeping Trump, Donald trust, distributed trusted computing Trusted Computing Group Trusted IoT Alliance trusted third parties and Bitcoin and blockchain-inspired startups and blockchain property registries and cloud computing and energy sector and governance and identity and permissioned systems truth discovery truth machine Tual, Stephan Turing, Alan “Turing complete” Uber “God’s View” knowledge Ubitquity UBS Ujo Ulbricht, Ross UNESCO Union Square Ventures United Kingdom Brexit Financial Conduct Authority Government Office for Science blockchain report and universal basic income United Nations UN High Commission for Refugees (UNHCR) UNHCR identity program World Food Program (WFP) universal basic income (UBI) user attention Veem venture capital (VC) Ver, Roger Veripart Verisign Vertcoin Vigna, Paul.


pages: 214 words: 31,751

Software Engineering at Google: Lessons Learned From Programming Over Time by Titus Winters, Tom Manshreck, Hyrum Wright

anti-pattern, computer vision, continuous integration, defense in depth, en.wikipedia.org, job automation, loss aversion, microservices, transaction costs, Turing complete

Engineers would still need to tell the system what to build, but the how of doing the build would be left to the system. This is exactly the approach taken by Blaze and the other artifact-based build systems descended from it (which include Bazel, Pants, and Buck). Like with task-based build systems, we still have buildfiles, but the contents of those buildfiles are very different. Rather than being an imperative set of commands in a Turing-complete scripting language describing how to produce an output, buildfiles in Blaze are a declarative manifest describing a set of artifacts to build, their dependencies, and a limited set of options that affect how they’re built. When engineers run blaze on the command line, they specify a set of targets to build (the “what”), and Blaze is responsible for configuring, running, and scheduling the compilation steps (the “how”).


pages: 489 words: 148,885

Accelerando by Stross, Charles

business cycle, call centre, carbon-based life, cellular automata, cognitive dissonance, commoditize, Conway's Game of Life, dark matter, dumpster diving, Extropian, finite state, Flynn Effect, glass ceiling, gravity well, John von Neumann, Kickstarter, knapsack problem, Kuiper Belt, Magellanic Cloud, mandelbrot fractal, market bubble, means of production, MITM: man-in-the-middle, orbital mechanics / astrodynamics, packet switching, performance metric, phenotype, planetary scale, Pluto: dwarf planet, reversible computing, Richard Stallman, SETI@home, Silicon Valley, Singularitarianism, slashdot, South China Sea, stem cell, technological singularity, telepresence, The Chicago School, theory of mind, Turing complete, Turing machine, Turing test, upwardly mobile, Vernor Vinge, Von Neumann architecture, web of trust, Y2K, zero-sum game

He grabs one of her small breasts, feeling very brutish and primitive. Naked. He's not sure Pamela ever let him see her fully naked: She thought skin was more sexy when it was covered. Annette squeezes him again, and he stiffens. "More!" By the time they finish, he's aching, and she shows him how to use the bidet. Everything is crystal clear, and her touch is electrifying. While she showers, he sits on the toilet seat lid and rants about Turing-completeness as an attribute of company law, about cellular automata and the blind knapsack problem, about his work on solving the Communist Central Planning problem using a network of interlocking unmanned companies. About the impending market adjustment in integrity, the sinister resurrection of the recording music industry, and the still-pressing need to dismantle Mars. When she steps out of the shower, he tells her that he loves her.

Owning slaves is legal – the fiction is that the owner has an option hedged on the indentured laborer's future output, with interest payments that grow faster than the unfortunate victim can pay them off – and companies are legal entities. If Amber sells herself into slavery to this company, she will become a slave and the company will be legally liable for her actions and upkeep. The rest of the legal instrument – about ninety percent of it, in fact – is a set of self-modifying corporate mechanisms coded in a variety of jurisdictions that permit Turing-complete company constitutions, and which act as an ownership shell for the slavery contract. At the far end of the corporate shell game is a trust fund of which Amber is the prime beneficiary and shareholder. When she reaches the age of majority, she'll acquire total control over all the companies in the network and can dissolve her slave contract; until then, the trust fund (which she essentially owns) oversees the company that owns her (and keeps it safe from hostile takeover bids).


pages: 680 words: 157,865

Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design by Diomidis Spinellis, Georgios Gousios

Albert Einstein, barriers to entry, business intelligence, business process, call centre, continuous integration, corporate governance, database schema, Debian, domain-specific language, don't repeat yourself, Donald Knuth, en.wikipedia.org, fault tolerance, Firefox, general-purpose programming language, iterative process, linked data, locality of reference, loose coupling, meta analysis, meta-analysis, MVC pattern, peer-to-peer, premature optimization, recommendation engine, Richard Stallman, Ruby on Rails, semantic web, smart cities, social graph, social web, SPARQL, Steve Jobs, Stewart Brand, traveling salesman, Turing complete, type inference, web application, zero-coupon bond

With the <fb:-if-can-see> tag and others like it, an application can specify a target user in the attributes such that the child elements are rendered only if the viewer can see that target user’s specific content. Thus, the privacy values themselves are not exposed to the application, yet it allows an application to enforce privacy. In this sense, FBML is a trusted declarative execution environment, in contrast to an imperative execution environment such as C or PHP. In a strict sense, FBML is not “Turing-complete” like these languages (for instance, no looping constructs are available). Much like HTML itself, no state can be saved during the execution except that implied by the tree traversal; for instance, <fb:tab-item> makes sense only within <fb:tabs>. However, FBML enables a great deal of the functionality that most developers want to provide to their users, through making data available to the user within the trusted system.

The preface to the first edition of The C++ Programming Language starts with SWH, and the 1980 Turing Award lecture by K. E. Iverson (of APL fame) was devoted to the importance of notation for expressing our thoughts. The SWH is controversial—after all, everybody has had the experience of not being able to find the words for something, so we are able to think of more than we can say—but in computer code the link between languages and programs is clear. We know that computer languages are Turing complete, but we also know that for some things some languages fit better than others. But apart from influencing program architecture, a language’s architecture is interesting in its own right. We will take a glimpse at Smalltalk’s own architecture—implementation choices, design concepts, and patterns. We see many of them today in more recent programming languages; some of those that we do not see give us reason to pause and reflect on the reasons why.


pages: 233 words: 66,446

Bitcoin: The Future of Money? by Dominic Frisby

3D printing, altcoin, bank run, banking crisis, banks create money, barriers to entry, bitcoin, blockchain, capital controls, Chelsea Manning, cloud computing, computer age, cryptocurrency, disintermediation, Ethereum, ethereum blockchain, fiat currency, fixed income, friendly fire, game design, Isaac Newton, Julian Assange, land value tax, litecoin, M-Pesa, mobile money, money: store of value / unit of account / medium of exchange, Occupy movement, Peter Thiel, Ponzi scheme, prediction markets, price stability, QR code, quantitative easing, railway mania, Ronald Reagan, Ross Ulbricht, Satoshi Nakamoto, Silicon Valley, Skype, slashdot, smart contracts, Snapchat, Stephen Hawking, Steve Jobs, Ted Nelson, too big to fail, transaction costs, Turing complete, War on Poverty, web application, WikiLeaks

You could have programmable money and you could have programmable smart contracts that extended Bitcoin into something beyond just a money system – into a kind of a replacement for the current way the internet works. But he felt that there were a lot of concerns from scalability to security, so he purposefully neutered the scripting language of Bitcoin, so as to not enable this. We call it state and Turing completeness. ‘So, it’s been five years, we’ve learned a huge amount of lessons, there’s been a lot of overlay protocols, other attempts to increase the functionality of Bitcoin. What we did with Ethereum is we kind of unified a lot of the 2.0 actors and put them into a big bucket and we’re building a completely new block chain and we’re building a completely new scripting language that basically adds in those missing features.


pages: 218 words: 68,648

Confessions of a Crypto Millionaire: My Unlikely Escape From Corporate America by Dan Conway

Affordable Care Act / Obamacare, Airbnb, bank run, basic income, bitcoin, blockchain, buy and hold, cloud computing, cognitive dissonance, corporate governance, crowdsourcing, cryptocurrency, disruptive innovation, distributed ledger, double entry bookkeeping, Ethereum, ethereum blockchain, fault tolerance, financial independence, gig economy, Gordon Gekko, Haight Ashbury, high net worth, job satisfaction, litecoin, Marc Andreessen, Mitch Kapor, obamacare, offshore financial centre, Ponzi scheme, prediction markets, rent control, reserve currency, Ronald Coase, Satoshi Nakamoto, Silicon Valley, smart contracts, Steve Jobs, supercomputer in your pocket, Turing complete, Uber for X, universal basic income, upwardly mobile

Which reminds me of what Winston Churchill said about modern government: “Democracy is the worst form of government, except for all of the others.” The same could have been said of the modern firm. Until it wasn’t. While I was struggling to master the corporate world, which had always eluded me, a young genius named Vitalik Buterin was creating Ethereum. More on Vitalik later. Ethereum is a “Turing complete blockchain,” which means it can be programmed to do anything. Whereas Bitcoin has the functionality of a calculator and can transact digital money, Ethereum has the functionality of a computer and is a trustless—thus, supremely trustworthy —platform to transact any type of business. To understand this, you need to think of Ethereum not as a way to buy coffee with digital money but as a computer that can be accessed with the cryptocurrency, ether (ETH).


pages: 931 words: 79,142

Concepts, Techniques, and Models of Computer Programming by Peter Van-Roy, Seif Haridi

computer age, Debian, discrete time, Donald Knuth, Eratosthenes, fault tolerance, G4S, general-purpose programming language, George Santayana, John von Neumann, Lao Tzu, Menlo Park, natural language processing, NP-complete, Paul Graham, premature optimization, sorting algorithm, Therac-25, Turing complete, Turing machine, type inference

All models are Turing complete, i.e., they are equivalent in computing power to a Turing machine. However, Turing completeness is only a small part of the story. The ease with which programs can be written or reasoned about differs greatly in these models. Increased expressiveness typically goes hand in hand with increased difficulty to reason about programs. D.3.1 Declarative models Strict functional model The simplest practical model is strict functional programming with values. This model is defined in section 2.8.1. In this model there are no unbound variables; each new variable is immediately bound to a value. This model is close to the λ calculus, which contains just procedure definition and application and leaves out the conditional and pattern matching. The λ calculus is Turing complete but is much too cumbersome for practical programming.


pages: 1,201 words: 233,519

Coders at Work by Peter Seibel

Ada Lovelace, bioinformatics, cloud computing, Conway's Game of Life, domain-specific language, don't repeat yourself, Donald Knuth, fault tolerance, Fermat's Last Theorem, Firefox, George Gilder, glass ceiling, Guido van Rossum, HyperCard, information retrieval, Larry Wall, loose coupling, Marc Andreessen, Menlo Park, Metcalfe's law, Perl 6, premature optimization, publish or perish, random walk, revision control, Richard Stallman, rolodex, Ruby on Rails, Saturday Night Live, side project, slashdot, speech recognition, the scientific method, Therac-25, Turing complete, Turing machine, Turing test, type inference, Valgrind, web application

I was really thinking of TeX as something that the more programming it had in it, the less it was doing its real mission of typesetting. When I put in the calculation of prime numbers into the TeX manual I was not thinking of this as the way to use TeX. I was thinking, “Oh, by the way, look at this: dogs can stand on their hind legs and TeX can calculate prime numbers.” Seibel: But people use the fact that it's a Turing-complete programming language to do typesetting-related computations. If it wasn't Turing-complete they would be unable to do those things. Knuth: Yeah, that's right. I wrote a programming language for simulation in the '60s that I had to work hard to kill because it had a lot of users, but then when Simula came out I liked Simula better and I told people to stop using my SOL language. Mostly I don't consider that I have great talent for language design.


pages: 416 words: 106,582

This Will Make You Smarter: 150 New Scientific Concepts to Improve Your Thinking by John Brockman

23andMe, Albert Einstein, Alfred Russel Wallace, banking crisis, Barry Marshall: ulcers, Benoit Mandelbrot, Berlin Wall, biofilm, Black Swan, butterfly effect, Cass Sunstein, cloud computing, congestion charging, correlation does not imply causation, Daniel Kahneman / Amos Tversky, dark matter, data acquisition, David Brooks, delayed gratification, Emanuel Derman, epigenetics, Exxon Valdez, Flash crash, Flynn Effect, hive mind, impulse control, information retrieval, Intergovernmental Panel on Climate Change (IPCC), Isaac Newton, Jaron Lanier, Johannes Kepler, John von Neumann, Kevin Kelly, lifelogging, mandelbrot fractal, market design, Mars Rover, Marshall McLuhan, microbiome, Murray Gell-Mann, Nicholas Carr, open economy, Pierre-Simon Laplace, place-making, placebo effect, pre–internet, QWERTY keyboard, random walk, randomized controlled trial, rent control, Richard Feynman, Richard Feynman: Challenger O-ring, Richard Thaler, Satyajit Das, Schrödinger's Cat, security theater, selection bias, Silicon Valley, Stanford marshmallow experiment, stem cell, Steve Jobs, Steven Pinker, Stewart Brand, the scientific method, Thorstein Veblen, Turing complete, Turing machine, twin studies, Vilfredo Pareto, Walter Mischel, Whole Earth Catalog, WikiLeaks, zero-sum game

For instance, in the Game of Life, you can distinguish “still lives,” small patterns that are stable and unchanging; “oscillators,” patterns that perpetually cycle through a fixed sequence of states; “spaceships,” patterns that move across the grid (such as gliders); “guns,” stationary patterns that send out an incessant stream of spaceships; and “puffer trains,” patterns that move across the grid leaving debris behind. As you begin to form these and other concepts, the chaos on the screen gradually becomes more comprehensible. Developing concepts that carve nature at its joints is the first crucial step toward understanding, not only in the Game of Life but in science and in ordinary life as well. At a more advanced level, we discover that the Game of Life is Turing complete. That is, it’s possible to build a pattern that acts like a Universal Turing Machine (a computer that can simulate any other computer). Thus, any computable function could be implemented in the Game of Life—including perhaps a function that describes a universe like the one we inhabit. It’s also possible to build a universal constructor in the Game of Life, a pattern that can build many types of complex objects, including copies of itself.


pages: 385 words: 111,113

Augmented: Life in the Smart Lane by Brett King

23andMe, 3D printing, additive manufacturing, Affordable Care Act / Obamacare, agricultural Revolution, Airbnb, Albert Einstein, Amazon Web Services, Any sufficiently advanced technology is indistinguishable from magic, Apple II, artificial general intelligence, asset allocation, augmented reality, autonomous vehicles, barriers to entry, bitcoin, blockchain, business intelligence, business process, call centre, chief data officer, Chris Urmson, Clayton Christensen, clean water, congestion charging, crowdsourcing, cryptocurrency, deskilling, different worldview, disruptive innovation, distributed generation, distributed ledger, double helix, drone strike, Elon Musk, Erik Brynjolfsson, Fellow of the Royal Society, fiat currency, financial exclusion, Flash crash, Flynn Effect, future of work, gig economy, Google Glasses, Google X / Alphabet X, Hans Lippershey, Hyperloop, income inequality, industrial robot, information asymmetry, Internet of things, invention of movable type, invention of the printing press, invention of the telephone, invention of the wheel, James Dyson, Jeff Bezos, job automation, job-hopping, John Markoff, John von Neumann, Kevin Kelly, Kickstarter, Kodak vs Instagram, Leonard Kleinrock, lifelogging, low earth orbit, low skilled workers, Lyft, M-Pesa, Mark Zuckerberg, Marshall McLuhan, megacity, Metcalfe’s law, Minecraft, mobile money, money market fund, more computing power than Apollo, Network effects, new economy, obamacare, Occupy movement, Oculus Rift, off grid, packet switching, pattern recognition, peer-to-peer, Ray Kurzweil, RFID, ride hailing / ride sharing, Robert Metcalfe, Satoshi Nakamoto, Second Machine Age, selective serotonin reuptake inhibitor (SSRI), self-driving car, sharing economy, Shoshana Zuboff, Silicon Valley, Silicon Valley startup, Skype, smart cities, smart grid, smart transportation, Snapchat, social graph, software as a service, speech recognition, statistical model, stem cell, Stephen Hawking, Steve Jobs, Steve Wozniak, strong AI, TaskRabbit, technological singularity, telemarketer, telepresence, telepresence robot, Tesla Model S, The Future of Employment, Tim Cook: Apple, trade route, Travis Kalanick, Turing complete, Turing test, uber lyft, undersea cable, urban sprawl, V2 rocket, Watson beat the top human players on Jeopardy!, white picket fence, WikiLeaks

In 2004, Mack followed his interests in visual effects and motion tracking and founded Lightcraft Technology, applying robotic techniques to the motion picture industry to create what would become the Previzion virtual studio system. He is a recognised authority in the mechanical engineering of non-humanoid robotics. Q. Eliot, you’ve talked previously about the core drivers in designing robots for the future and you’ve made a case that robots don’t need to look like humans to be effective. Can you tell me about your thesis behind this? A. In a nutshell, there is no Turing complete mechanical system. Atoms do not generalise in the same way that bits generalise. Looking at the history of computers is misleading. A key central innovation (the general-purpose CPU) could be arbitrarily reprogrammed to any other data manipulation task, as the movement of data bits was pretty close to free. Things shrunk down and got faster over time but programming has remained remarkably unchanged over 70 years.


pages: 457 words: 128,838

The Age of Cryptocurrency: How Bitcoin and Digital Money Are Challenging the Global Economic Order by Paul Vigna, Michael J. Casey

Airbnb, altcoin, bank run, banking crisis, bitcoin, blockchain, Bretton Woods, buy and hold, California gold rush, capital controls, carbon footprint, clean water, collaborative economy, collapse of Lehman Brothers, Columbine, Credit Default Swap, cryptocurrency, David Graeber, disintermediation, Edward Snowden, Elon Musk, Ethereum, ethereum blockchain, fiat currency, financial innovation, Firefox, Flash crash, Fractional reserve banking, hacker house, Hernando de Soto, high net worth, informal economy, intangible asset, Internet of things, inventory management, Joi Ito, Julian Assange, Kickstarter, Kuwabatake Sanjuro: assassination market, litecoin, Long Term Capital Management, Lyft, M-Pesa, Marc Andreessen, Mark Zuckerberg, McMansion, means of production, Menlo Park, mobile money, money: store of value / unit of account / medium of exchange, Nelson Mandela, Network effects, new economy, new new economy, Nixon shock, offshore financial centre, payday loans, Pearl River Delta, peer-to-peer, peer-to-peer lending, pets.com, Ponzi scheme, prediction markets, price stability, profit motive, QR code, RAND corporation, regulatory arbitrage, rent-seeking, reserve currency, Robert Shiller, Robert Shiller, Ross Ulbricht, Satoshi Nakamoto, seigniorage, shareholder value, sharing economy, short selling, Silicon Valley, Silicon Valley startup, Skype, smart contracts, special drawing rights, Spread Networks laid a new fibre optics cable between New York and Chicago, Steve Jobs, supply-chain management, Ted Nelson, The Great Moderation, the market place, the payments system, The Wealth of Nations by Adam Smith, too big to fail, transaction costs, tulip mania, Turing complete, Tyler Cowen: Great Stagnation, Uber and Lyft, uber lyft, underbanked, WikiLeaks, Y Combinator, Y2K, zero-sum game, Zimmermann PGP

In his view, its core protocol was too clunky for software developers to create robust yet user-friendly application programming interfaces (APIs). All the secondary protocols being built upon it were similarly narrow. He was essentially saying it was like DOS, before Windows was created. What if he built an entirely independent protocol and blockchain that could sustain any kind of application written in any programming language, one that was, as developers say, “Turing complete”? What if it could support any decentralized service—currency-trading systems, smart contracts, shareholder registrations, voting systems, DApps, DACs, DAOs, whatever—and let developers construct as pretty an interface as they felt their market needed? The solution he came up with quickly took the cryptocurrency world by storm: a completely redesigned, fully versatile, decentralized blockchain that could function as an open platform on which all manner of contracts and decentralized applications could be installed.


pages: 519 words: 142,646

Track Changes by Matthew G. Kirschenbaum

active measures, Apple II, Apple's 1984 Super Bowl advert, Bill Gates: Altair 8800, Buckminster Fuller, commoditize, computer age, corporate governance, David Brooks, dematerialisation, Donald Knuth, Douglas Hofstadter, Dynabook, East Village, en.wikipedia.org, feminist movement, forensic accounting, future of work, Google Earth, Gödel, Escher, Bach, Haight Ashbury, HyperCard, Jason Scott: textfiles.com, Joan Didion, John Markoff, John von Neumann, Kickstarter, low earth orbit, mail merge, Marshall McLuhan, Mother of all demos, New Journalism, Norman Mailer, pattern recognition, pink-collar, popular electronics, RAND corporation, rolodex, Ronald Reagan, self-driving car, Shoshana Zuboff, Silicon Valley, social web, Stephen Hawking, Steve Jobs, Steve Wozniak, Steven Levy, Stewart Brand, technoutopianism, Ted Nelson, text mining, thinkpad, Turing complete, Vannevar Bush, Whole Earth Catalog, Y2K, Year of Magical Thinking

When we turned the Redactron on, lights would be dimmed across Fitzrovia. When we ran it, conversation ceased and flakes of plaster would drift down from the ceiling. The room thrummed. We purchased earplugs in bulk.”45 Hyperbole, of course, but it conveys the essence of the experience. Berezin remains particularly proud of the fact that despite its name the Data Secretary was not “just” a hardwired word processor. It was a real computer, Turing-complete as the jargon goes: “The only thing that made it a word processor was the program.”46 Its integrated circuits could, in theory, be repurposed for other applications, albeit not necessarily efficiently. By September 1971 Redactron was ready to begin shipping. Next came advertising and promotion, and this presented its own challenges; it was a “very new idea,” as Berezin recalls.47 She enlisted the aid of Roslyn Willett, an old friend who now ran a public relations agency—noteworthy in itself in an era when such agencies were dominated by (mad) men.


pages: 999 words: 194,942

Clojure Programming by Chas Emerick, Brian Carper, Christophe Grand

Amazon Web Services, Benoit Mandelbrot, cloud computing, continuous integration, database schema, domain-specific language, don't repeat yourself, en.wikipedia.org, failed state, finite state, Firefox, game design, general-purpose programming language, Guido van Rossum, Larry Wall, mandelbrot fractal, Paul Graham, platform as a service, premature optimization, random walk, Ruby on Rails, Schrödinger's Cat, semantic web, software as a service, sorting algorithm, Turing complete, type inference, web application

Code can be executed repeatedly in a loop; or, code can be grouped as a unit and given a name as a function; or, using conditionals, the same code can do different things in different circumstances. It should be clear that some languages offer more powerful means of abstraction than others. Imagine for a moment a programming language without loops. Such a language might be usable, but unrolling all loops by hand would be incredibly tedious. Similarly, a language without functions might be able to do anything any other Turing-complete language can do, but code would have to be repeated over and over. In short, when a language lacks proper means of abstraction, the result is boilerplate and repetition, both signs of fundamental weaknesses in that language. Macros are powerful because they give you a way to define entirely new levels of abstraction within the language itself. Macros are the ultimate tool for eliminating boilerplate and growing a programming language up to meet your needs.


pages: 647 words: 43,757

Types and Programming Languages by Benjamin C. Pierce

Albert Einstein, combinatorial explosion, experimental subject, finite state, Henri Poincaré, Perl 6, Russell's paradox, sorting algorithm, Turing complete, Turing machine, type inference, Y Combinator

Suppose we want to construct a similar type system for a language combining booleans (for the sake of brevity, we'll ignore numbers in this chapter) with the primitives of the pure lambda-calculus. That is, we want to introduce typing rules for variables, abstractions, and applications that (a) maintain type safety—i.e., satisfy the type preservation and progress theorems, 8.3.2 and 8.3.3—and (b) are not too conservative—i.e., they should assign types to most of the programs we actually care about writing. Of course, since the pure lambda-calculus is Turing complete, there is no hope of giving an exact type analysis for these primitives. For example, there is no way of reliably determining whether a program like if <long and tricky computation> then true else (λx.x) yields a boolean or a function without actually running the long and tricky computation and seeing whether it yields true or false. But, in general, the [1] long and tricky computation might even diverge, and any typechecker that tries to predict its outcome precisely will then diverge as well.


pages: 1,737 words: 491,616

Rationality: From AI to Zombies by Eliezer Yudkowsky

Albert Einstein, Alfred Russel Wallace, anthropic principle, anti-pattern, anti-work, Arthur Eddington, artificial general intelligence, availability heuristic, Bayesian statistics, Berlin Wall, Build a better mousetrap, Cass Sunstein, cellular automata, cognitive bias, cognitive dissonance, correlation does not imply causation, cosmological constant, creative destruction, Daniel Kahneman / Amos Tversky, dematerialisation, different worldview, discovery of DNA, Douglas Hofstadter, Drosophila, effective altruism, experimental subject, Extropian, friendly AI, fundamental attribution error, Gödel, Escher, Bach, hindsight bias, index card, index fund, Isaac Newton, John Conway, John von Neumann, Long Term Capital Management, Louis Pasteur, mental accounting, meta analysis, meta-analysis, money market fund, Nash equilibrium, Necker cube, NP-complete, P = NP, pattern recognition, Paul Graham, Peter Thiel, Pierre-Simon Laplace, placebo effect, planetary scale, prediction markets, random walk, Ray Kurzweil, reversible computing, Richard Feynman, risk tolerance, Rubik’s Cube, Saturday Night Live, Schrödinger's Cat, scientific mainstream, scientific worldview, sensible shoes, Silicon Valley, Silicon Valley startup, Singularitarianism, Solar eclipse in 1919, speech recognition, statistical model, Steven Pinker, strong AI, technological singularity, The Bell Curve by Richard Herrnstein and Charles Murray, the map is not the territory, the scientific method, Turing complete, Turing machine, ultimatum game, X Prize, Y Combinator, zero-sum game

So long as there is a God in the classic sense—full-blown, ontologically fundamental, the God—we can rest assured that no sufficiently awful event will ever, ever happen. There is no soul anywhere that need fear true annihilation; God will prevent it. What if you build your own simulated universe? The classic example of a simulated universe is Conway’s Game of Life. I do urge you to investigate Life if you’ve never played it—it’s important for comprehending the notion of “physical law.” Conway’s Life has been proven Turing-complete, so it would be possible to build a sentient being in the Life universe, although it might be rather fragile and awkward. Other cellular automata would make it simpler. Could you, by creating a simulated universe, escape the reach of God? Could you simulate a Game of Life containing sentient entities, and torture the beings therein? But if God is watching everywhere, then trying to build an unfair Life just results in the God stepping in to modify your computer’s transistors.

And it’s not likely that anyone will defy the Khan; if they did, someone would strike them with a sword, and the sword would disrupt their organs and they would die, and that would be the end of that. So the victims die, screaming, and no one helps them; that is the answer to the what-if question. Could the victims be completely innocent? Why not, in the what-if world? If you look at the rules for Conway’s Game of Life (which is Turing-complete, so we can embed arbitrary computable physics in there), then the rules are really very simple. Cells with three living neighbors stay alive; cells with two neighbors stay the same; all other cells die. There isn’t anything in there about innocent people not being horribly tortured for indefinite periods. Is this world starting to sound familiar? Belief in a fair universe often manifests in more subtle ways than thinking that horrors should be outright prohibited: Would the twentieth century have gone differently, if Klara Pölzl and Alois Hitler had made love one hour earlier, and a different sperm fertilized the egg, on the night that Adolf Hitler was conceived?


Engineering Security by Peter Gutmann

active measures, algorithmic trading, Amazon Web Services, Asperger Syndrome, bank run, barriers to entry, bitcoin, Brian Krebs, business process, call centre, card file, cloud computing, cognitive bias, cognitive dissonance, combinatorial explosion, Credit Default Swap, crowdsourcing, cryptocurrency, Daniel Kahneman / Amos Tversky, Debian, domain-specific language, Donald Davies, Donald Knuth, double helix, en.wikipedia.org, endowment effect, fault tolerance, Firefox, fundamental attribution error, George Akerlof, glass ceiling, GnuPG, Google Chrome, iterative process, Jacob Appelbaum, Jane Jacobs, Jeff Bezos, John Conway, John Markoff, John von Neumann, Kickstarter, lake wobegon effect, Laplace demon, linear programming, litecoin, load shedding, MITM: man-in-the-middle, Network effects, Parkinson's law, pattern recognition, peer-to-peer, Pierre-Simon Laplace, place-making, post-materialism, QR code, race to the bottom, random walk, recommendation engine, RFID, risk tolerance, Robert Metcalfe, Ruby on Rails, Sapir-Whorf hypothesis, Satoshi Nakamoto, security theater, semantic web, Skype, slashdot, smart meter, social intelligence, speech recognition, statistical model, Steve Jobs, Steven Pinker, Stuxnet, telemarketer, text mining, the built environment, The Death and Life of Great American Cities, The Market for Lemons, the payments system, Therac-25, too big to fail, Turing complete, Turing machine, Turing test, web application, web of trust, x509 certificate, Y2K, zero day, Zimmermann PGP

Obviously this sort of thing isn’t limited only to Postscript and PDF. For example if you’d like to get your blog posts rated highly then you can use similar types of tricks to have them submit themselves to social news site Digg [647]. Another proof-ofconcept used LaTeX to implement a virus that infects other LaTeX documents, 49 Security issues are actually a secondary problem with these Turing machines, with the primary one being that any Turing-complete domain-specific language starts out being a hammer and then at some point ends up being used as a screwdriver, pocket knife, spanner, car jack, lint remover, bandsaw and, eventually, a nail. User Education, and Why it Doesn’t Work 199 although this could easily have been extended to perform standard malware functions like stealing data or downloading and installing binaries to add assorted supplemental functionality to the operating environment [648][649].

For example the Norwegian banks use a weird inside-out design in which a centralised system controlled by the Norwegian Banks’ Payment and Clearing Centre generates a private key on behalf of the user, sends the public portion out to the user’s bank to be turned into a certificate, and then performs all signing operations in the centralised infrastructure with the user having no control over, or even access to, their own keys and certificates [114][115]. The user’s interaction with the banking system is the standard password/PIN used by any other bank, although in this case with special twists that make them more vulnerable to attack, as discussed in “Banking Passwords” on page 606. In other 147 Whether certificate paths are Turing-complete is an open problem. Certificate Chains 671 words this has all the overhead and complexity of a PKI while providing a service no different from what any other bank achieves without any PKI components. Combine this with the fact that using the whole system requires the use of the horribly vulnerability-prone Java environment in the browser and it’s no surprise that attackers have already figured out how to bypass it and perform unauthorised withdrawals of funds from customer accounts [116].


pages: 1,076 words: 67,364

Haskell Programming: From First Principles by Christopher Allen, Julie Moronuki

c2.com, en.wikipedia.org, natural language processing, spaced repetition, Turing complete, Turing machine, type inference, web application, Y Combinator

This possibility for unlimited nested sentences is recursive and enables the limitless expressibility therein. Recursion is a means of expressing code that must take an indefinite number of steps to return a result. But the lambda calculus does not appear on the surface to have any means of recursion, because of the anonymity of expressions. How do you call something without a name? Being able to write recursive functions, though, is essential to Turing completeness. We use a combinator – known as the Y combinator or fixed-point combinator – to write recursive functions in the lambda calculus. Haskell has native recursion ability based on the same principle as the Y combinator. It is important to have a solid understanding of the behavior of recursive functions. In later chapters, we will see that, in fact, it is not often necessary to write our own recursive functions, as many standard higher-order functions have built-in recursion.


pages: 903 words: 235,753

The Stack: On Software and Sovereignty by Benjamin H. Bratton

1960s counterculture, 3D printing, 4chan, Ada Lovelace, additive manufacturing, airport security, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, algorithmic trading, Amazon Mechanical Turk, Amazon Web Services, augmented reality, autonomous vehicles, basic income, Benevolent Dictator For Life (BDFL), Berlin Wall, bioinformatics, bitcoin, blockchain, Buckminster Fuller, Burning Man, call centre, carbon footprint, carbon-based life, Cass Sunstein, Celebration, Florida, charter city, clean water, cloud computing, connected car, corporate governance, crowdsourcing, cryptocurrency, dark matter, David Graeber, deglobalization, dematerialisation, disintermediation, distributed generation, don't be evil, Douglas Engelbart, Douglas Engelbart, Edward Snowden, Elon Musk, en.wikipedia.org, Eratosthenes, Ethereum, ethereum blockchain, facts on the ground, Flash crash, Frank Gehry, Frederick Winslow Taylor, future of work, Georg Cantor, gig economy, global supply chain, Google Earth, Google Glasses, Guggenheim Bilbao, High speed trading, Hyperloop, illegal immigration, industrial robot, information retrieval, Intergovernmental Panel on Climate Change (IPCC), intermodal, Internet of things, invisible hand, Jacob Appelbaum, Jaron Lanier, Joan Didion, John Markoff, Joi Ito, Jony Ive, Julian Assange, Khan Academy, liberal capitalism, lifelogging, linked data, Mark Zuckerberg, market fundamentalism, Marshall McLuhan, Masdar, McMansion, means of production, megacity, megastructure, Menlo Park, Minecraft, MITM: man-in-the-middle, Monroe Doctrine, Network effects, new economy, offshore financial centre, oil shale / tar sands, packet switching, PageRank, pattern recognition, peak oil, peer-to-peer, performance metric, personalized medicine, Peter Eisenman, Peter Thiel, phenotype, Philip Mirowski, Pierre-Simon Laplace, place-making, planetary scale, RAND corporation, recommendation engine, reserve currency, RFID, Robert Bork, Sand Hill Road, self-driving car, semantic web, sharing economy, Silicon Valley, Silicon Valley ideology, Slavoj Žižek, smart cities, smart grid, smart meter, social graph, software studies, South China Sea, sovereign wealth fund, special economic zone, spectrum auction, Startup school, statistical arbitrage, Steve Jobs, Steven Levy, Stewart Brand, Stuxnet, Superbowl ad, supply-chain management, supply-chain management software, TaskRabbit, the built environment, The Chicago School, the scientific method, Torches of Freedom, transaction costs, Turing complete, Turing machine, Turing test, undersea cable, universal basic income, urban planning, Vernor Vinge, Washington Consensus, web application, Westphalian system, WikiLeaks, working poor, Y Combinator

As those representations become more closely glued to the direct perception of environments (as for augmented reality, for example), their capacity to engender committed interpretations for Users will prove irresistible to various fundamentalisms (see below). The machinic image is qualified by many little sinkholes between the symbolic, the imaginary, and the real, and at a global scale of billions of Users, the interfacial image is also partially a function of sheer machinic quantity. With the comparatively instantaneous adoption of mobile devices (a Turing complete processor + camera + homing tether + telephonic voice relay), we have seen an explosion in the absolute volume of mechanical images of and in the world, dwarfing the total sum produced before the mobile phone appeared in our hands. Unlike images of the painting-photographic-cinematic era, these images do not pass into an archive only after their practical life is passed; rather, through various Apps, images are produced through the medium of the archival database itself, socialized through the archive, and assigned searchable metadata through the archive.