Sunday, November 29, 2015

Magic Blockchains, but for Time? Blocktime Arbitrage

There is no doubt that blockchains are a reality-making technology, a mode and means of implementing as many flavors of our own crypto-enlightenments as we can imagine! This includes newer, flatter, more autonomous economic, political, ethical, scientific, and community systems. But not just in the familiar human social constructs like economics and politics, possibly in physical realities too like time. Blocktime’s temporal multiplicity and malleability suggest a reality feature we have never had access to before – making more time.

Blocktime: A General Temporality of Blockchains
Blocktime as blockchains’ own temporality allows the tantalizing possibility of rejiggering time and making it a malleable property of blockchains. The in-built time clock in blockchains is blocktime, the chain of time by which a certain number of blocks will have been confirmed. Time is specified in units of transaction block confirmation times, not minutes or hours like in a human time system. Block confirmation times are convertible to minutes, but these conversion metrics might change over time.

Blocktime Arbitrage
One key point is that the notion of blocktime, as an extension of computing clocktime more generally, creates a differential. Blocktime and human time already exist as different time schemas. A differential suggests that the two different systems might be used to reinforce each other, or that the differential could be exploited, arbitraging the two time frameworks. Through the differential too is the way to ‘make more time,’ by accessing events in another time trajectory. The conceptualization of time in computer science is already different than human time. Computing clocktime has more dimensions (discrete time, no time, asynchronous time, etc.) than human physical and biological time, which is continuous. Clocktime has always been different than human time. What is different with blocktime is that it builds in even more variability, and the future assignability of time through dapps and smart contracts. For example, MTL (machine trust language) time primitives might be assigned to a micropayment channel dapp as a time arbiter.
Time has not been future-specifiable before, in the way that it can be assigned in blocktime smart contracts.
Temporality as a Smart Contract Feature
Time speed-ups, slow-downs, event-waiting, and event-positing (a true futures-class technology) could become de rigueur blocktime specifications. Even the blocktime regime itself could be a contract-specifiable parameter per drop-down menu, just like legal regime. Temporality becomes a feature as smart contracts are launched and await events or changes in conditions to update contract states. Time malleability could itself be a feature, arbitraging blocktime with real time. An example of a time schema differential arising could be for example, a decentralized peer-to-peer loan that is coming due in blocktime, but where there have not been enough physical-world time cycles available for generating the ‘fiat resources’ to repay the loan. 

Blocktime Standards
In blocktime, the time interval at which things are done is by block. This is the time that it takes blocks to confirm, so blockchain system processes like those involving smart contracts are ordered around the conception of blocktime quanta or units. This is a different temporal paradigm than human lived time (whether Bergsonian doubled duration (the internal sense of time passing) or external measurable clocktime). The human time paradigm is one that is more variable and contingent. Human time is divided and unitized by the vagaries of human experience, by parameters such as day and night; week, weekend, and holiday; seasons; and more contingently, crises, eras, and historical events.

Since blocktime is an inherent blockchain feature, one of the easiest ways to programmatically specify future time intervals for event conditions and state changes in blockchain-based events is via blocktime. Arguably, it is easier, and more congruent and efficient, to call a time measure from within a system rather than from outside. It could be prohibitively costly for example, to specify an external programmatic call to NIST or another time oracle. Possibly the emerging convention could be to call NIST, including as a backup, confirmation, or comparison for blocktime. Currently, blockchain systems do not necessarily synchronize their internal clocktime with NIST, but the possibility of a vast web of worldwide smart contracts suggests the value and necessity of external time oracles, and raises new issues about global time measurement more generally. Especially since each different blockchain might have its own blocktime, there could be some standard means of coordinating blocktime synchronizations for interoperability, maybe via a time sidechain for example.

Novel Temporalities of Computing (Discontinuous) and Big Data (Predictive)
First computing clocktime made time malleable through its different discontinuous forms. Then machine learning and big data facilitated a new temporality, one oriented to the present and future, instead of responding to just the past. There was a shift from only being able to react to events retrospectively after they had passed, to now being able to model, simulate, plan, and act in real-time as events occur, and proactively structure future events. The current change is that blockchains and particularly smart contracts add exponential power to this; they are in some sense a future reality-making technology on steroids. Whole classes of industries (like mortgage servicing) might be outsourced to the seamless orchestration of blockchain dapps and DACs in the next phases of the automation economy. While Bitcoin is the spot market for transactions in the present moment, smart contracts are a robust futures market for locking in the automated orchestration of vast areas of digital activity.

Blockchain Historicity: Computer Memory of Human Events
Blockchain logs are a human event memory server. Blockchains are already event history keepers, and now with blocktime have even more responsibility as the memory computer of human events. It is now possible to think in terms of blockchain time sequences, in the anticipation and scoping of future events and activities, as blockchain reality unfolds, as opposed to human time scales and events. For example, there are normal human time sequences, like a one-year lease agreement. Other sequentiality is based on human-experienced conditions like ‘the park is open until dark,’ which makes little sense in a blocktime schema. There are time guidelines that vary per lived experience in human realities. Likewise, there could be analogs in lived experience in blockchain realities. Different events could mark the historicity of blockchains, for example, the time elapsed since the genesis block, and other metrics regarding number, amount, and the speed of transactions. In cryptophilosophy, Hegel, Benjamin, Holderlin, and Heidegger’s conceptions of historicity and temporality might be instantiated in the blocktime paradigm, where, in ecstatic temporality, historicity is the event from the future reaching back to present now (Heidegger, Being and Time, 474).

Related Crypto-philosophy Talk: Swan, M. “Bergson’s Qualitative, Kant’s Time and Imagination, and Blocktime Smart Contracts.” Spatiality & Temporality Conference. 11-13 December 2015. Warsaw, Poland. 

Monday, November 02, 2015

Machine Trust Language (MTL): Human-Machine Collaboration

Andreas Antonopoulos’s articulation of network-enforced trust primitives (Oct 2015, Feb 2014) could be extended more broadly into the concept of Machine Trust Language (MTL). While blockchains are being popularly conceived as trust machines, and as a new mode of creating societal shared trust, Andreas addresses how at the compositional level, this trust is being generated. The key idea is thinking in terms of a language of trust, of its primitives, its quanta, its elemental pieces, its phonemes, words, and grammar that can be assembled into a computational trust system.

Blockchains are a network-centric trust system that can make and enforce promises. A network is not just a decentralized architecture; a network can have functional properties built into it. Network-centric or network-enforced functionality can thus enable a more complex level of activity. As XML standardized, facilitated, and undergirded Internet I: the Internet of information transfer, MTL could similarly for the Internet II: the Internet of value transfer.

Trust Primitives: Technical Details
The atomistic building blocks of trust, trust primitives, arise from blockchain scripting languages; they are the programming functions or opcodes used to specify different situations. Some examples are OP_CHECKSIG (a script opcode used to verify that a signature is valid) and OP_CHECKLOCKTIMEVERIFY (a script opcode used for a transaction output to be made unspendable until some point in the future).

As human language components are aggregated into different levels (phonemes, morphemes, lexemes, syntax, and context), so too can blockchain trust primitives. These indivisible blockchain trust particles, trust quanta, can be assembled into larger trust structures like payments. One example could be a micropayment channel with bidirectional settlement for vendor payment, for example entered in 1000 blocktime confirmations for 10 millibits. There could be libraries of standard trust primitives that are always included, for example, to verify the signature or multi-signature status of any transaction. The possibility of fine-grained trust primitives is limitless – a very small instruction set can be used as a toolkit for innovation that is composed into infinitely complex macro expressions. Some other examples Andreas mentions in addition to payment channels are stealth addresses, payment codes, and multisig escrows.

More sophisticated examples of in-built blockchain trust are already starting to become conceptual standards. One is Lighthouse, a cryptowallet that has crowdfunding (the ability to pledge funds to an address) as an incorporated feature; essentially a decentralized network Kickstarter program. The Kickstarter functionality is in the program (there is no custodian); just as Bitcoin allows digital currency transfers without a central bank, so too the Lighthouse wallet coordinates crowdfunding for projects without a central intermediary like Kickstarter. A whole series of similar network primitives with embedded trust functionality can be envisioned. These could include crowdfunding, reputation-checking, backfeeding (emergent collaboration), insurance, multisig, payment channels, peer-to-peer tipping (ProTip), compensation, remuneration, micropayments, IP tracking, backup (specified blockchain transaction record-keeping and archival), and advocacy (via third-party oracle like Smart Contract and Early Temple).

Trust as a Feature: Human-Machine Social Contracting
When trust becomes a ‘mere’ assumed included feature as opposed to a marveled at and explicitly designed functionality, we will have really arrived somewhere as a species. In some sense, the entire apparatus and infrastructure known as society has been produced to instill and manage trust. Deception had an evolutionary benefit, but is perhaps a quality that can be reconfigured, first in machine-mediated human interaction, and later in human biology. The longer-term endgame of blockchains-as-algorithmic-trust is human-machine collaboration, particularly in the application of shifting from the labor economy to the actualization economy. Given the increasing potential prevalence of machines in human existence, a looming topic is the kinds of social contracts that may be appropriate to establish between machines and humans. For example, consider what trust primitives might be needed to write a smart contract with your personalized home robot. To open a payment channel with your home robot, first could be identifying the relevant exchange streams for services and data. These might include personal data, life-logging, backup, diagnostics, advice, empathy, sound-boarding, home maintenance services, payments, and record-keeping; a list of operations that make sense to conduct in a ‘payment channel’ structure (e.g.; two-way open transfer over time of value between parties per triggering events).

A New Kind of Language
Here the concept would be considering the possibility space of all language and noticing that there could likely be a bigger range of language than has come into existence so far. There are human languages, computational languages, math, logic, and other systems of semantics and signifying. As seen with examples like math (Husserl), computing algorithms (Wolfram), intelligence (Yudkowsky), and self-assembled locomotion (Lipson) and life forms, what has been seen through the human example may be but a few nodes in a larger possibility space. The bigger query would be what new kinds of language can be made with blockchain trust primitives. Not just solving human problems (e.g.; creating automated trust structures) but creating new languages from these new functionalities. One next step could be applying linguistic theory (Chomsky, etc.), concept theory (Lakoff, Kant, etc.), and mathematics, logic, computation, complexity math, machine-learning, and deep-learning theory to creating platforms for the emergence of new kinds of language. The first task might be to optimize for obvious new types of trust language that might be possible and that might solve low-hanging fruit problems like offloading the cognitive and behavioral energy effort of deception to move to Brin’s Transparent Society. Blockchain trust could be for society what the quantified self fourth-person perspective was for the individual (a trustable independent objective arbitrator of information about reality).

Philosophy: A New Kind of Qualitative Language
A language of trust is undeniably qualitative. Trust is exactly the qualitative easing necessary for society to function, including in more intensive human-machine collaborations, and in larger scale universally-global and extraterrestrial singularity-class endeavors. Is it possible to reach a place with computational language to say what cannot be said with human language? Perhaps not in traditional 1s/0s computational language, but with a new kind of language of qualitative trust primitives, maybe yes. Wittgenstein famously said (the type of) all there is that can be said in the Tractatus, and in this crystallization pointed to what cannot be said, in three domains, ethics, aesthetics, and religion. Now thinking in terms of trust primitives and other qualitative primitives changes the question of what kinds of sentences and language can be written; the grammar and Wittgensteinian language games that can be enacted with blockchains; in an AI DAC and other applications. There could be many diverse blockchain cliometrics implementations in MTL; e.g.; the measurement of social qualitative factors like the amount of liberty in a political system. The notion is qualitative primitives and qualitative machine language; having a pourable bag of trust elements as components. There are trust primitives, and possibly many other kinds of qualitative primitives, for example freedom, autonomy, and choice primitives; idea primitives and innovation primitives; all of these could be on tap in a multi-faceted qualitative machine language to configure a life of crypto enlightenment