Addressability
of devices and users may be the next area of research and development
for unpermissioned crypto-networks.
New
generation crypto-networks will support several types of distributed
applications, in addition to financial transactions and distributed
smart-contract applications (such as Ethereum Dapps).
For
example:
-
Blockchain-registered unique devices may want to interact with IoT objects.
-
Virtual private blockchain networks may need to be supported.
-
Many types of general distributed applications (Gapps) will need to share information among a selected group of peers.
All
of the above applications will need primitive functionality for user
and/or device addressability in an environment without a centralized
directory infrastructure.
All
of these applications will need to establish a more permanent session
between peers than a one-time transaction. Also, they will involve
the participants, but not necessarily the rest of the world.
Some
researchers have proposed ways of safely exchanging encryption keys
over Bitcoin, for the purpose of confirmation or other
post-transaction communication. However, a more general solution is
needed to solve the problem of addressability in an unpermissioned
crypto-network environment.
Building the
Stack.
Each
new technology is aimed at making applications development and the
user experience simpler. Once accepted as a standard, it becomes part
of the base for further developments.
The
internet has largely solved the problem of communication for its
applications.
Current crypto-networks have solved, in a certain measure, the problems of security and
data replication.
Current crypto-networks have solved, in a certain measure, the problems of security and
data replication.
Addressability
can be resolved through crypto-network intrinsic functionality, in
the same way as communication, security, and data replication have
been solved.
Specifics and
Examples
Current
crypto-networks claiming to support distributed applications, such as
Ethereum, do not solve the addressability problem for their nodes or
users. In Ethereum, for example, that’s not where the action
happens: Contracts embody the Ethereum virtual machine executing
Ethereum Dapps.
Ethereum
solves addressability for its contracts on the blockchain by
retrieving them
by content.
by content.
Any
user that is interested in a contract and is given the contract’s
address (a hash of the contract’s code) can look at it or execute
one of its functions. Every time a function is executed, it happens
on-the-blockchain, thus these functions need to be executed on all
nodes. The resulting blockchain changes also need to be reflected on
all nodes.
The
blockchain is the computing machine of Ethereum. i.e.:
Ethereum computes with the blockchain; more
specifically, with a blockchain contract. In essence, Ethereum
supports smart contracts that are distributed, but they are not
general purpose distributed applications. They are a limited type of
distributed applications: Those that need to record events for anyone
and posterity to see: memorable events. We will call these
applications Contract Dapps.
Example
1: let’s suppose we have an Ethereum Contract Dapp for
reserving seats at an event, such as a ball game. The application
must solve the possible conflict of multiple people reserving a seat,
and prevent overbooking. It must also confirm that the person showing
up at the event is the person that booked the seat.
All
of the above transactions are recorded on the blockchain, for a fee,
and are recorded on all nodes in the world, forever. And for each one
of the thousands of people at the event. What’s the use? How many
of these actions people take every day? The same people, that day,
may have entered a secured area at work, may book a seat at a
restaurant, retrieve their car from a parking garage, or book a show
for the evening. Why should the whole world see, record and verify
all these events?
The
requirement to use a blockchain contract for every distributed
function is a serious limitation of current crypto-networks.
New
generation crypto-networks will instead support general distributed
applications, or Gapps. Gapps must be able to run on
any device, with the help of the
blockchain only for those relevant changes (memorable events) that
may need to be recorded forever and/or for anyone to verify.
Most
of the actions people do, and computers do for people, are not
memorable events.
Going
back to our example, we need a Gapp that fulfills the same
requirements (i.e.: must be available to anyone, must resolve
possible conflicts and must be usable to prove who is the person who
booked the seat), but it can do it off-the-blockchain, reading
blockchain information for addressability only, and involving only
the interested parties.
Here
is how our reservation example can work in new generation
crypto-networks (See the Gorbyte’s Distributed Operating
Environment and BRUD architecture):
You
have purchased a unique BRUD device, registered on the blockchain.
This is an example of an action done with the help of
the blockchain: the device is registered once, and you will be able
to use your device for hundreds of applications and thousands of
instances in most cases without the need of recording anything on the
blockchain.
Your
BRUD device can be uniquely identified by anyone with access to the
blockchain, including other devices.
When
you book your seat for an event (for example using a web page
interface), an event management application (EMA) records your device
address off-the-blockchain and reserves your seat. When you show up
at the event, your device address is recognized, by another BRUD
device associated to the EMA, and you are ushered to your seat.
No
memorable event has happened. You just went to a ball game. Nobody
needs to verify who you are or your ID. The only verification is a
look-up of your unique device address on the blockchain.
People
around the world do not need to know about your event booking and
attendance.
Example
2: A group of two or more people want to privately
communicate.
Do we want them to use a smart contract and advertise their event to the world and for years to come? Or do we want their devices to verify each other, just through a look-up on the blockchain, so that they can carry out an exchange of information through a secure session involving only the participants?
Do we want them to use a smart contract and advertise their event to the world and for years to come? Or do we want their devices to verify each other, just through a look-up on the blockchain, so that they can carry out an exchange of information through a secure session involving only the participants?
On
the other hand, in addition to financial transactions and contracts,
we can also think of many examples of distributed applications that
will need to record memorable events and critical data on the
blockchain. However, such recordings will be limited, not only by
fees, but by design.
Example
3: an application which may require unique user
addressability, is a Gapp for voting at political elections, since
people may want to verify the uniqueness of each vote, by each voter,
in disputed cases.
Conclusion
New
generation crypto-networks will provide some form of user, device or
node addressability for selecting specific nodes, for peer-to-peer
distributed functions. This can be achieved without compromising user
privacy and without requiring user identification. However, user,
node or device addresses will need to be unique and readable by
anyone.
Network
addressability will allow Gapps to use the crypto-network as they
sees fit.
For example, a payment Gapp (providing the functionality of basic financial transactions) may require the transaction to be recorded on the blockchain, but may not require a follow-up customer survey to be saved on the blockchain.
For example, a payment Gapp (providing the functionality of basic financial transactions) may require the transaction to be recorded on the blockchain, but may not require a follow-up customer survey to be saved on the blockchain.
No comments:
Post a Comment