WEBVTT

00:00.910 --> 00:07.660
Now in general, unless you're using cash when you make a payment, this payment is processed and is

00:07.660 --> 00:13.930
transferred from one account to another using one or more financial institutions or banks.

00:14.290 --> 00:19.780
The same goes when you go online and buy something, even if you buy with PayPal or some other method.

00:19.810 --> 00:25.090
Again, there is usually one or more financial institution to process that payment.

00:25.600 --> 00:31.930
So as you can see, this is a centralized structure where one entity is managing payments.

00:31.930 --> 00:38.560
And we're also interested in that entity to manage our security, the security of our account and our

00:38.560 --> 00:39.340
privacy.

00:39.580 --> 00:46.930
Now, no matter how well you trust this company or this bank, as we seen before, centralized structures

00:46.930 --> 00:49.720
are just inherently not private.

00:49.990 --> 00:55.450
The reason for this is because all of the information is stored in one single place.

00:55.450 --> 01:00.850
So even if you trust this company and trust everything about it, what about the employees that work

01:00.850 --> 01:01.910
at this place?

01:01.930 --> 01:05.080
What about hackers that manage to gain access to it?

01:05.110 --> 01:11.350
What about other agencies that force this entity to have backdoors or to give them access?

01:11.350 --> 01:13.420
And the list goes on and on and on.

01:13.570 --> 01:18.310
Simply the idea of keeping everything in one place is not private.

01:18.970 --> 01:27.030
The alternative to this is to use cryptocurrency, which is not controlled or managed by a single entity.

01:27.040 --> 01:33.790
So previously we had the money, which is the cash which is stored in a bank or some financial institution

01:33.790 --> 01:35.770
that manages that currency.

01:36.070 --> 01:43.300
When it comes to cryptocurrency, it eliminates the need to a middleman or to an entity that manages

01:43.300 --> 01:44.290
this currency.

01:45.140 --> 01:51.430
Instead, it relies on decentralized peer to peer structure known as blockchain.

01:52.210 --> 01:59.350
Now, to understand how this works, let's have an example where David wants to send money to John to

01:59.350 --> 01:59.890
do this.

01:59.890 --> 02:04.540
The first thing David will do is he'll create a crypto wallet.

02:04.600 --> 02:08.830
You can think of this similar to creating a pjp account.

02:09.250 --> 02:15.760
So the wallet will be associated with two keys, a private key and a public key.

02:16.420 --> 02:23.770
And let's say David wants to transfer one coin to his friend John, so he generates a message or a request

02:23.770 --> 02:25.660
similar to this right here.

02:26.020 --> 02:33.860
And he'll sign this request with his private key, which will generate a signature or a fingerprint.

02:33.880 --> 02:40.250
So again, this is very similar to when we used to sign messages with our private key with PGP.

02:40.270 --> 02:47.380
And the reason why this is done to make sure that whoever inspects this message or this request will

02:47.380 --> 02:54.520
note that this request to transfer one coin from David's account is actually generated by David because

02:54.520 --> 02:57.160
David will never share his private key.

02:57.860 --> 03:05.390
Now, once this is signed, David will also include his public key so that it can be used to verify

03:05.390 --> 03:06.410
the signature.

03:06.440 --> 03:12.830
Again, similar to what we spoke about in the encryption section of this course, the public key is

03:12.830 --> 03:20.360
mathematically related to the private key, and therefore it can be used to verify the signature without

03:20.360 --> 03:23.360
revealing information about the private key.

03:23.660 --> 03:30.590
So when this message is inspected by anybody, they can use the public key to verify the signature.

03:30.590 --> 03:35.700
And if it checks out, we will know that this message was actually generated by David.

03:35.720 --> 03:40.760
Therefore, we can process the transfer of one coin from David to John.

03:41.420 --> 03:49.010
So once this message is generated on David's end, David will send this message to the cryptocurrency

03:49.010 --> 03:49.790
network.

03:50.510 --> 03:58.400
Now, this network is basically a number of computers, usually of high specs that keep a copy of all

03:58.400 --> 04:02.180
transactions done using this cryptocurrency.

04:02.870 --> 04:10.310
These computers are usually referred to as miners because they get paid coins for maintaining the ledger

04:10.310 --> 04:12.530
or this record of transactions.

04:13.490 --> 04:21.470
Now, this record of transactions is known as a blockchain, so it's a public record that contains all

04:21.470 --> 04:24.710
transactions made with this cryptocurrency.

04:24.710 --> 04:32.870
And each miner, each computer on the cryptocurrency network contains a copy of all of these transactions.

04:32.870 --> 04:35.690
So it contains a copy of the blockchain.

04:36.650 --> 04:40.280
So David's message is sent to the currency network.

04:40.370 --> 04:46.250
It will get verified, and if it checks out, it will be added to the blockchain.

04:46.250 --> 04:53.720
So this message will be added as a new block to the existing blockchain stored by each one of these

04:53.720 --> 04:55.370
computers or miners.

04:56.560 --> 05:02.530
So right here I have a zoomed in diagram of the blockchain, so each one of the miners of the computers

05:02.530 --> 05:10.510
contains a copy of this, and you can think of each one of these blocks as a transaction that happened

05:10.510 --> 05:11.530
in the past.

05:12.130 --> 05:18.100
The latest one being the one that David just generated in which he transferred a coin to John.

05:18.100 --> 05:23.320
But the others are just other transactions that have been done in the past.

05:24.040 --> 05:28.390
So as you can see, this is a decentralized structure.

05:28.390 --> 05:32.620
It is not owned by anybody and not controlled by anybody.

05:32.620 --> 05:39.520
Anyone can join this network and use their computer for mining so anyone can download a copy of this

05:39.520 --> 05:45.040
blockchain and start mining and start helping maintain this cryptocurrency network.

05:45.710 --> 05:51.830
Now we can also see that this implementation is private because I'm using names in here.

05:51.830 --> 05:56.960
So I'm saying we're transferring one coin from David to John or here from Bob to Alice.

05:56.960 --> 06:00.350
But in reality, real names are not used.

06:00.350 --> 06:07.010
Instead, wallet addresses are used, so the contents of the blocks, even though they're public, you'll

06:07.010 --> 06:13.580
see the content of it saying it's transferring from a long address to another long address.

06:13.580 --> 06:20.150
And as long as the users are used in proper OPSEC, keeping their real identity separate from their

06:20.150 --> 06:27.260
fake identity, connecting using the Tor network and using all of the tips and methods that we discussed

06:27.260 --> 06:30.920
to stay private and as anonymous as possible.

06:30.920 --> 06:35.000
These addresses will not link to their real identities.

06:35.600 --> 06:42.950
With that being said, the fact that the whole ledger or the whole blockchain is public means that we

06:42.950 --> 06:47.480
can read all of the transactions done using this cryptocurrency.

06:47.480 --> 06:55.100
Therefore, even though these addresses don't link to real identities, we can analyze a specific address

06:55.100 --> 06:58.820
and see all of the transactions it got involved in.

06:58.820 --> 07:04.760
So we can see all of the money that left this address and all of the money that entered this address,

07:04.790 --> 07:11.240
therefore, will even be able to calculate the current balance in this specific account.

07:11.690 --> 07:16.000
Now you can obviously just create multiple addresses to get around this.

07:16.010 --> 07:22.670
There are also other methods to increase anonymity and privacy and make it hard to see where money is

07:22.670 --> 07:24.770
going and where it's leaving from.

07:24.770 --> 07:31.700
And you can simply just use a more private cryptocurrency like Monero, which we'll talk about later

07:31.700 --> 07:32.870
on in the course.

07:33.410 --> 07:40.340
For now, I just wanted to give you a basic understanding on how cryptocurrencies work, and this is

07:40.340 --> 07:45.260
pretty much how Bitcoin works, which is the most popular cryptocurrency.
