[AUDIENCE] I wanted to ask, what do you think separates the secondary protocol from the first layer?
Why is Lightning not the base protocol? Do you think the base protocol should be both, or freeze?
What is your vision for Bitcoin 1.0?
[ANDREAS] I think that part of good architectural design and network protocols- I say this because...
my specialization is network protocols.
I have a master's degree in data communications and distributed systems.
I studied network protocol design.
One of the fundamental principles when designing protocols is to have separation between layers,
such that you don't have side-effects bleeding from one layer into another.
This abstraction allows you to have clean interfaces between the layers, so that you [don't need] to see...
what is happening in one layer from the layer underneath or above it.
There are no effects that bleed.
You don't implement everything in one layer.
These are fundamental principles in network protocol design, but not just in network protocol design.
These are the same principles you have in software engineering.
When you write a function, you want the function to do one thing, as simply as possible, with zero side-effects.
That is how programming works.
You create abstractions that do one thing simply and with no side effects.
Then you build higher-level abstractions that combine these primitives to do more complex things.
The reason we do that is to prove the validity and behaviour of a simple primitive without side effects.
Once you have a collection of primitives that are well- proven and reliable, then you can build on top of that...
with additional functionality.
That is how you get scale, but it is also how you get modularity, security, and predictability in performance.
These are not just good principles, but are essential when you are trying to scale.
Otherwise things start breaking very, very quickly.
We see that on the internet. Some layers are not quite as separated as they should be.
You have these nice, clean layers: the physical layer and data transport layer, things like Ethernet.
Then the basic IP network layer and the connection-oriented transport layer with TCP.
Then you have barf on top of all of that. [Laughter]
It was all clean [underneath], but then above TCP you have these weird effects.
Once you get above TCP, things get a bit messy. Some of the layers are not quite separate.
They step on each other. Side-effects bleed up and down.
The biggest mistake we made on the internet was not building sufficient privacy into the base layers.
Now we are trying to retro-fit that on top with the fourth, fifth, and sixth layers above IP.
The result is a disaster: totalitarian surveillance.
The result is the death of peer-to-peer principles, centralisation of power, the death of net neutrality.
All of these effects come directly from the fact that you have insufficient privacy in the base layer.
Insufficient "fungibility of packets," if you want to put it that way.
The important thing we need to achieve in the base layer is not scaling, but what...
cannot be [sufficiently] achieved in the layers above,
which is fungibility and privacy with strong guarantees and simple primitives.
If we have privacy and fungibility primitives in the base layer, then we can scale at the second layer,
and we can do it securely.
Otherwise, we will have a privacy problem, which will be magnified as we go up the layers.
If you can do analysis on the base layer, that gives you a great degree of insight into what is happening above.
At the moment, there are dozens of private companies doing analytics.
Those are just the private companies.
Of course, every intelligence agency in the world is tracking bitcoin transactions, UTXOs, and altcoins,
on every service.
They have little hooks in the centralised exchanges and merchant payment services.
They can get feeds that attach specific identities to each [transaction].
Once they have one identity in correlation, they could [eventually] figure out the rest [of them].
We need to destroy their business model.