Click me
Transcribed

Bitcoin infographic

How a Bitcoin transaction works

Bob, an online merchant, decides to begin accepting bitcoins as payment.
Alice, a buyer, has bitcoins and wants to purchase merchandise from Bob.

WALLETS AND ADDRESSES

Bob and Alice both have Bitcoin "wallets" on their computers

Wallets are files that provide access to multiple Bitcoin addresses.

An address is a string of letters and numbers such as LGULMwZEPkjEPeCH438ekjlybLCWropN

Each address has its own balance of bitcoins.

CREATING A NEW ADDRESS

-Bob creates a new Bitcoin address for Alice to send her payment to.

SUBMITTING A PAYMENT

-Alice tells her
Bitcoin client
that shed like
to transfer
the purchase
amount to
Bob’s address.

Private key Public Key

-Alice's wallet holds the private key for each of her addresses. The Bitcoin client signs her transaction request with the private key of the address she's transferring bitcoins from.

-Anyone on the network can now use
the public key to verify that the transaction
request is actually coming from the
legitimate account owner.

VERIFYING THE TRANSACTION

-Gari Garth and Glenn are Bitcoin miners.

-The computers bundle the transactions of the past 10 minutes into a new “transaction block”

-The miners’ computers are set up to calculate cryptographic hash functions.

>Cryptographic Hashes
Cryptographic hash functions
transform a collection of data into an
alphanumeric string with a fixed length,
called a hash value. Even tiny changes in
the original data drastically change the
resulting hash value. And it’s essentially
impossible to predict which initial data set
will create a specific hash value.

The root of all evil > 6d0a189g086a..(56 more characters)
The root of all evil >486c 6be4 6dde.
The root of all veil >b8db7eegB3g2

Nonces

-To create different hash values from the
same data, Bitcoin uses “nonces. A nonce is
just a random number that’s added to data
prior to hashing. Changing the nonce results
in a wildly different hash value.

Hash value +
• Each new hash value contains Information about all previous Bitcoin transactions.
+ Nonce > New hash value
+ Nonce > New hash value
+ Nonce > New hash value

-The mining computers
calculate new hash values
based on a combination of the
previous hash value, the new
transaction block, and a nonce.

The root of all evil??? > 0000 0000 0000...

-Creating hashes Is computationally
trivial, but the Bitcoin system requires
that the new hash value have a
particular form—specifically, it must
start with a certain number of zeros.

-The miners have no way to predict which nonce will produce a hash value with the required number of leading zeros. So they're forced to generate many hashes with different nonces until they happen upon one that works.

-Each block includes a coinbase transaction that pays out 50 bitcoins to the winning miner—in this case. Gary. A new address is created in Gary’s wallet with a balance of newly minted bitcoins.

TRANSACTION VERIFIED
-As time goes on. Alice’s transfer to Bob gets buried beneath other.
more recent transactions. For anyone to modify the details, he
would have to redo the work that Gary did—because any changes
require a completely different winning nonce—and then redo the
work of all the subsequent miners. Such a feat Is nearly impossible.



->Private key Public Key
-Public Key Cryptography 101
When Bob creates a new address,
what he’s really doing Is generating a
cryptographlc key pair, composed of
a private key and a public key. If you sign
a message with a private key (which only
you know), it can be verified by using the
matching public key (which is known
to anyone). Bob’s new Bitcoin address
represents a unique public key, and the
corresponding private key is stored in his
wallet. The public key allows anyone to
verify that a message signed with the
private key is valid.

->It’s tempting to think of addresses as bank
accounts, but they work a bit differently. Bitcoin
users can create as many addresses as they wish
and in fact are encouraged to create a new one
for every new transaction to increase privacy.
So long as no one knows which addresses are
Alice’s, her anonymity is protected. How a Bitcoin transaction works Hash value* * Each new hash value contains information about all previous Bitcoin transactions. The mining computers calculate new hash values based on a combination of the New hash value previous hash value, the new transaction block, and a nonce. Nonce Bob, an online merchant, decides to begin accepting bitcoins as payment. Alice, a buyer, has bitcoins and wants to purchase merchandise from Bob. New Nonce hash value Wallets are files Bob and Alice both have WALLETS AND ADDRESSES that provide New hash Bitcoin "wallets" access to multiple Bitcoin addresses. on their Nonce value computers. Cryptographic Hashes Cryptographic hash functions An address transform a collection of data into an The root of 0000 0000 0000 .. is a string of letters and numbers, such as alphanumeric string with a fixed length, called a hash value. Even tiny changes in the original data drastically change the resulting hash value. And it's essentially impossible to predict which initial data set will create a specific hash value. all evil ??? Each address has its own balance of Creating hashes is computationally trivial, but the Bitcoin system requires that the new hash value have a Bob creates a new Bitcoin address for Alice to send CREATING A NEW ADDRESS 1HULMWZEP kjEPeCh particular form-specifically, it must start with a certain number of zeros. bitcoins. 43BeKJLlyb LCWrfDpN. her payment to. 6d0a 1899 086a.. (56 more characters) The root of all evil The root of all euil The miners have no way to 486c 6be4 6dde. It's tempting to think of addresses as bank accounts, but they work a bit differently. Bitcoin users can create as many addresses as they wish and in fact are encouraged to create a new one for every new transaction to increase privacy. So long as no one knows which addresses are Alice's, her anonymity is protected. predict which nonce will The root of all veil b8db 7ee9 8392.. produce a hash SUBMITTING A PAYMENT Private key Public key Nonces To create different hash values from the same data, Bitcoin uses "nonces." A nonce is Public Key Cryptography 101 just a random number that's added to data prior to hashing. Changing the nonce results in a wildly different hash value. When Bob creates a new address, what he's really doing is generating a "cryptographic key pair," composed of a private key and a public key. If you sign a message with a private key (which only you know), it can be verified by using the matching public key (which is known to anyone). Bob's new Bitcoin address represents a unique public key, and the corresponding private key is stored in his wallet. The public key allows anyone to verify that a message signed with the private key is valid. Gary Garth b4056df6 691f8dc7 2e56302d dad345d6 value with the required number of leading zeros. So they're forced to generate Gary, Garth, and Glenn are many hashes with different Bitcoin miners. Each block includes a "coinbase" trans- Alice tells her action that pays out 50 bitcoins to the winning miner-in this case, Gary. A new address is created in Gary's wallet with a balance of newly minted bitcoins. nonces until they happen upon one that works. Bitcoin client The miners' that she'd like to transfer VERIFYING THE TRANSACTION computers are set up to cal- culate crypto- the purchase Their comput- amount to ers bundle the Bob's address. transactions graphic hash of the past functions. 10 minutes into a new "trans- action block." -Bob & Alice TRANSACTION VERIFIED Private Public key key Alice's wallet holds the private key for each of her addresses. The Bitcoin client signs her transaction request with the private key of the address she's transferring bitcoins from. As time goes on, Alice's transfer to Bob gets buried beneath other, more recent transactions. For anyone to modify the details, he would have to redo the work that Gary did-because any changes require a completely different winning nonce-and then redo the work of all the subsequent miners. Such a feat is nearly impossible. Anyone on the network can noW use the public key to verify that the transaction request is actually coming from the legitimate account owner. JOSHUA J. ROMERO, BRANDO ACIO & KARI SSo How a Bitcoin transaction works Hash value* * Each new hash value contains information about all previous Bitcoin transactions. The mining computers calculate new hash values based on a combination of the New hash value previous hash value, the new transaction block, and a nonce. Nonce Bob, an online merchant, decides to begin accepting bitcoins as payment. Alice, a buyer, has bitcoins and wants to purchase merchandise from Bob. New Nonce hash value Bob and Alice Wallets are files WALLETS AND ADDRESSES both have that provide New hash Bitcoin "wallets" access to multiple Bitcoin addresses. on their Nonce value computers. Cryptographic Hashes Cryptographic hash functions An address transform a collection of data into an The root of 0000 0000 0000 .. alphanumeric string with a fixed length, called a hash value. Even tiny changes in the original data drastically change the resulting hash value. And it's essentially impossible to predict which initial data set will create a specific hash value. is a string of all evil ??? letters and numbers, such as Creating hashes is computationally trivial, but the Bitcoin system requires Each address has its own balance of Bob creates CREATING A NEW ADDRESS a new Bitcoin IHULMWZEP that the new hash value have a address for Alice to send kjEPeCh 43BeKJLlyb LCWrfDpN. particular form-specifically, it must start with a certain number of zeros. bitcoins. her payment to. 6d0a 1899 086a.. (56 more characters) The root of all evil The miners The root of all euil have no way to predict which 486c 6be4 6dde. It's tempting to think of addresses as bank accounts, but they work a bit differently. Bitcoin users can create as many addresses as they wish and in fact are encouraged to create a new one for every new transaction to increase privacy. So long as no one knows which addresses are Alice's, her anonymity is protected. nonce will The root of all veil b8db 7ee9 8392. produce a hash Private key Public SUBMITTING A PAYMENT key Nonces To create different hash values from the same data, Bitcoin uses "nonces." A nonce is Public Key Cryptography 101 just a random number that's added to data prior to hashing. Changing the nonce results in a wildly different hash value. When Bob creates a new address, what he's really doing is generating a "cryptographic key pair," composed of a private key and a public key. If you sign a message with a private key (which only you know), it can be verified by using the matching public key (which is known to anyone). Bob's new Bitcoin address represents a unique public key, and the corresponding private key is stored in his wallet. The public key allows anyone to verify that a message signed with the private key is valid. Gary Garth b4056df6 691f8dc7 2e56302d dad345d6 value with the B required number of leading zeros. So they're forced to generate many hashes Gary, Garth, and Glenn are Bitcoin miners. Each block includes a "coinbase" trans- Alice tells her with different action that pays out 50 bitcoins to the winning miner-in this case, Gary. A new address is created in Gary's wallet with a balance of newly minted bitcoins. Bitcoin client nonces until they happen upon one that works. that she'd like The miners' VERIFYING THE TRANSACTION computers are set up to cal- culate crypto- to transfer the purchase Their comput- amount to ers bundle the Bob's address. graphic hash functions. transactions of the past 10 minutes into a new "trans- -Bob & Alice action block." TRANSACTION VERIFIED Private Public key key Alice's wallet holds the private key for each of her addresses. The Bitcoin client signs her transaction request with the private key of the address she's transferring bitcoins from. As time goes on, Alice's transfer to Bob gets buried beneath other, more recent transactions. For anyone to modify the details, he would have to redo the work that Gary did-because any changes require a completely different winning nonce-and then redo the work of all the subsequent miners. Such a feat is nearly impossible. Anyone on the network can noW use the public key to verify that the transaction request is actually coming from the legitimate account owner. OSHUA L ROMERO BRANDO ACIO & KARI SSo How a Bitcoin transaction works Hash value* * Each new hash value contains information about all previous Bitcoin transactions. The mining computers calculate new hash values based on a combination of the New hash value previous hash value, the new transaction block, and a nonce. Nonce Bob, an online merchant, decides to begin accepting bitcoins as payment. Alice, a buyer, has bitcoins and wants to purchase merchandise from Bob. New Nonce hash value Bob and Alice Wallets are files WALLETS AND ADDRESSES both have that provide New hash Bitcoin "wallets" access to multiple Bitcoin addresses. on their Nonce value computers. Cryptographic Hashes Cryptographic hash functions An address transform a collection of data into an The root of 0000 0000 0000 .. alphanumeric string with a fixed length, called a hash value. Even tiny changes in the original data drastically change the resulting hash value. And it's essentially impossible to predict which initial data set will create a specific hash value. is a string of all evil ??? letters and numbers, such as Creating hashes is computationally trivial, but the Bitcoin system requires Each address has its own balance of Bob creates CREATING A NEW ADDRESS a new Bitcoin IHULMWZEP that the new hash value have a address for Alice to send kjEPeCh 43BeKJLlyb LCWrfDpN. particular form-specifically, it must start with a certain number of zeros. bitcoins. her payment to. 6d0a 1899 086a.. (56 more characters) The root of all evil The miners The root of all euil have no way to predict which 486c 6be4 6dde. It's tempting to think of addresses as bank accounts, but they work a bit differently. Bitcoin users can create as many addresses as they wish and in fact are encouraged to create a new one for every new transaction to increase privacy. So long as no one knows which addresses are Alice's, her anonymity is protected. nonce will The root of all veil b8db 7ee9 8392. produce a hash Private key Public SUBMITTING A PAYMENT key Nonces To create different hash values from the same data, Bitcoin uses "nonces." A nonce is Public Key Cryptography 101 just a random number that's added to data prior to hashing. Changing the nonce results in a wildly different hash value. When Bob creates a new address, what he's really doing is generating a "cryptographic key pair," composed of a private key and a public key. If you sign a message with a private key (which only you know), it can be verified by using the matching public key (which is known to anyone). Bob's new Bitcoin address represents a unique public key, and the corresponding private key is stored in his wallet. The public key allows anyone to verify that a message signed with the private key is valid. Gary Garth b4056df6 691f8dc7 2e56302d dad345d6 value with the B required number of leading zeros. So they're forced to generate many hashes Gary, Garth, and Glenn are Bitcoin miners. Each block includes a "coinbase" trans- Alice tells her with different action that pays out 50 bitcoins to the winning miner-in this case, Gary. A new address is created in Gary's wallet with a balance of newly minted bitcoins. Bitcoin client nonces until they happen upon one that works. that she'd like The miners' VERIFYING THE TRANSACTION computers are set up to cal- culate crypto- to transfer the purchase Their comput- amount to ers bundle the Bob's address. graphic hash functions. transactions of the past 10 minutes into a new "trans- -Bob & Alice action block." TRANSACTION VERIFIED Private Public key key Alice's wallet holds the private key for each of her addresses. The Bitcoin client signs her transaction request with the private key of the address she's transferring bitcoins from. As time goes on, Alice's transfer to Bob gets buried beneath other, more recent transactions. For anyone to modify the details, he would have to redo the work that Gary did-because any changes require a completely different winning nonce-and then redo the work of all the subsequent miners. Such a feat is nearly impossible. Anyone on the network can noW use the public key to verify that the transaction request is actually coming from the legitimate account owner. OSHUA L ROMERO BRANDO ACIO & KARI SSo How a Bitcoin transaction works Hash value* * Each new hash value contains information about all previous Bitcoin transactions. The mining computers calculate new hash values based on a combination of the New hash value previous hash value, the new transaction block, and a nonce. Nonce Bob, an online merchant, decides to begin accepting bitcoins as payment. Alice, a buyer, has bitcoins and wants to purchase merchandise from Bob. New Nonce hash value Bob and Alice Wallets are files WALLETS AND ADDRESSES both have that provide New hash Bitcoin "wallets" access to multiple Bitcoin addresses. on their Nonce value computers. Cryptographic Hashes Cryptographic hash functions An address transform a collection of data into an The root of 0000 0000 0000 .. alphanumeric string with a fixed length, called a hash value. Even tiny changes in the original data drastically change the resulting hash value. And it's essentially impossible to predict which initial data set will create a specific hash value. is a string of all evil ??? letters and numbers, such as Creating hashes is computationally trivial, but the Bitcoin system requires Each address has its own balance of Bob creates CREATING A NEW ADDRESS a new Bitcoin IHULMWZEP that the new hash value have a address for Alice to send kjEPeCh 43BeKJLlyb LCWrfDpN. particular form-specifically, it must start with a certain number of zeros. bitcoins. her payment to. 6d0a 1899 086a.. (56 more characters) The root of all evil The miners The root of all euil have no way to predict which 486c 6be4 6dde. It's tempting to think of addresses as bank accounts, but they work a bit differently. Bitcoin users can create as many addresses as they wish and in fact are encouraged to create a new one for every new transaction to increase privacy. So long as no one knows which addresses are Alice's, her anonymity is protected. nonce will The root of all veil b8db 7ee9 8392. produce a hash Private key Public SUBMITTING A PAYMENT key Nonces To create different hash values from the same data, Bitcoin uses "nonces." A nonce is Public Key Cryptography 101 just a random number that's added to data prior to hashing. Changing the nonce results in a wildly different hash value. When Bob creates a new address, what he's really doing is generating a "cryptographic key pair," composed of a private key and a public key. If you sign a message with a private key (which only you know), it can be verified by using the matching public key (which is known to anyone). Bob's new Bitcoin address represents a unique public key, and the corresponding private key is stored in his wallet. The public key allows anyone to verify that a message signed with the private key is valid. Gary Garth b4056df6 691f8dc7 2e56302d dad345d6 value with the B required number of leading zeros. So they're forced to generate many hashes Gary, Garth, and Glenn are Bitcoin miners. Each block includes a "coinbase" trans- Alice tells her with different action that pays out 50 bitcoins to the winning miner-in this case, Gary. A new address is created in Gary's wallet with a balance of newly minted bitcoins. Bitcoin client nonces until they happen upon one that works. that she'd like The miners' VERIFYING THE TRANSACTION computers are set up to cal- culate crypto- to transfer the purchase Their comput- amount to ers bundle the Bob's address. graphic hash functions. transactions of the past 10 minutes into a new "trans- -Bob & Alice action block." TRANSACTION VERIFIED Private Public key key Alice's wallet holds the private key for each of her addresses. The Bitcoin client signs her transaction request with the private key of the address she's transferring bitcoins from. As time goes on, Alice's transfer to Bob gets buried beneath other, more recent transactions. For anyone to modify the details, he would have to redo the work that Gary did-because any changes require a completely different winning nonce-and then redo the work of all the subsequent miners. Such a feat is nearly impossible. Anyone on the network can noW use the public key to verify that the transaction request is actually coming from the legitimate account owner. OSHUA L ROMERO BRANDO ACIO & KARI SSo How a Bitcoin transaction works Hash value* * Each new hash value contains information about all previous Bitcoin transactions. The mining computers calculate new hash values based on a combination of the New hash value previous hash value, the new transaction block, and a nonce. Nonce Bob, an online merchant, decides to begin accepting bitcoins as payment. Alice, a buyer, has bitcoins and wants to purchase merchandise from Bob. New Nonce hash value Bob and Alice Wallets are files WALLETS AND ADDRESSES both have that provide New hash Bitcoin "wallets" access to multiple Bitcoin addresses. on their Nonce value computers. Cryptographic Hashes Cryptographic hash functions An address transform a collection of data into an The root of 0000 0000 0000 .. alphanumeric string with a fixed length, called a hash value. Even tiny changes in the original data drastically change the resulting hash value. And it's essentially impossible to predict which initial data set will create a specific hash value. is a string of all evil ??? letters and numbers, such as Creating hashes is computationally trivial, but the Bitcoin system requires Each address has its own balance of Bob creates CREATING A NEW ADDRESS a new Bitcoin IHULMWZEP that the new hash value have a address for Alice to send kjEPeCh 43BeKJLlyb LCWrfDpN. particular form-specifically, it must start with a certain number of zeros. bitcoins. her payment to. 6d0a 1899 086a.. (56 more characters) The root of all evil The miners The root of all euil have no way to predict which 486c 6be4 6dde. It's tempting to think of addresses as bank accounts, but they work a bit differently. Bitcoin users can create as many addresses as they wish and in fact are encouraged to create a new one for every new transaction to increase privacy. So long as no one knows which addresses are Alice's, her anonymity is protected. nonce will The root of all veil b8db 7ee9 8392. produce a hash Private key Public SUBMITTING A PAYMENT key Nonces To create different hash values from the same data, Bitcoin uses "nonces." A nonce is Public Key Cryptography 101 just a random number that's added to data prior to hashing. Changing the nonce results in a wildly different hash value. When Bob creates a new address, what he's really doing is generating a "cryptographic key pair," composed of a private key and a public key. If you sign a message with a private key (which only you know), it can be verified by using the matching public key (which is known to anyone). Bob's new Bitcoin address represents a unique public key, and the corresponding private key is stored in his wallet. The public key allows anyone to verify that a message signed with the private key is valid. Gary Garth b4056df6 691f8dc7 2e56302d dad345d6 value with the B required number of leading zeros. So they're forced to generate many hashes Gary, Garth, and Glenn are Bitcoin miners. Each block includes a "coinbase" trans- Alice tells her with different action that pays out 50 bitcoins to the winning miner-in this case, Gary. A new address is created in Gary's wallet with a balance of newly minted bitcoins. Bitcoin client nonces until they happen upon one that works. that she'd like The miners' VERIFYING THE TRANSACTION computers are set up to cal- culate crypto- to transfer the purchase Their comput- amount to ers bundle the Bob's address. graphic hash functions. transactions of the past 10 minutes into a new "trans- -Bob & Alice action block." TRANSACTION VERIFIED Private Public key key Alice's wallet holds the private key for each of her addresses. The Bitcoin client signs her transaction request with the private key of the address she's transferring bitcoins from. As time goes on, Alice's transfer to Bob gets buried beneath other, more recent transactions. For anyone to modify the details, he would have to redo the work that Gary did-because any changes require a completely different winning nonce-and then redo the work of all the subsequent miners. Such a feat is nearly impossible. Anyone on the network can noW use the public key to verify that the transaction request is actually coming from the legitimate account owner. OSHUA L ROMERO BRANDO ACIO & KARI SSo How a Bitcoin transaction works Hash value* * Each new hash value contains information about all previous Bitcoin transactions. The mining computers calculate new hash values based on a combination of the New hash value previous hash value, the new transaction block, and a nonce. Nonce Bob, an online merchant, decides to begin accepting bitcoins as payment. Alice, a buyer, has bitcoins and wants to purchase merchandise from Bob. New Nonce hash value Bob and Alice Wallets are files WALLETS AND ADDRESSES both have that provide New hash Bitcoin "wallets" access to multiple Bitcoin addresses. on their Nonce value computers. Cryptographic Hashes Cryptographic hash functions An address transform a collection of data into an The root of 0000 0000 0000 .. alphanumeric string with a fixed length, called a hash value. Even tiny changes in the original data drastically change the resulting hash value. And it's essentially impossible to predict which initial data set will create a specific hash value. is a string of all evil ??? letters and numbers, such as Creating hashes is computationally trivial, but the Bitcoin system requires Each address has its own balance of Bob creates CREATING A NEW ADDRESS a new Bitcoin IHULMWZEP that the new hash value have a address for Alice to send kjEPeCh 43BeKJLlyb LCWrfDpN. particular form-specifically, it must start with a certain number of zeros. bitcoins. her payment to. 6d0a 1899 086a.. (56 more characters) The root of all evil The miners The root of all euil have no way to predict which 486c 6be4 6dde. It's tempting to think of addresses as bank accounts, but they work a bit differently. Bitcoin users can create as many addresses as they wish and in fact are encouraged to create a new one for every new transaction to increase privacy. So long as no one knows which addresses are Alice's, her anonymity is protected. nonce will The root of all veil b8db 7ee9 8392. produce a hash Private key Public SUBMITTING A PAYMENT key Nonces To create different hash values from the same data, Bitcoin uses "nonces." A nonce is Public Key Cryptography 101 just a random number that's added to data prior to hashing. Changing the nonce results in a wildly different hash value. When Bob creates a new address, what he's really doing is generating a "cryptographic key pair," composed of a private key and a public key. If you sign a message with a private key (which only you know), it can be verified by using the matching public key (which is known to anyone). Bob's new Bitcoin address represents a unique public key, and the corresponding private key is stored in his wallet. The public key allows anyone to verify that a message signed with the private key is valid. Gary Garth b4056df6 691f8dc7 2e56302d dad345d6 value with the B required number of leading zeros. So they're forced to generate many hashes Gary, Garth, and Glenn are Bitcoin miners. Each block includes a "coinbase" trans- Alice tells her with different action that pays out 50 bitcoins to the winning miner-in this case, Gary. A new address is created in Gary's wallet with a balance of newly minted bitcoins. Bitcoin client nonces until they happen upon one that works. that she'd like The miners' VERIFYING THE TRANSACTION computers are set up to cal- culate crypto- to transfer the purchase Their comput- amount to ers bundle the Bob's address. graphic hash functions. transactions of the past 10 minutes into a new "trans- -Bob & Alice action block." TRANSACTION VERIFIED Private Public key key Alice's wallet holds the private key for each of her addresses. The Bitcoin client signs her transaction request with the private key of the address she's transferring bitcoins from. As time goes on, Alice's transfer to Bob gets buried beneath other, more recent transactions. For anyone to modify the details, he would have to redo the work that Gary did-because any changes require a completely different winning nonce-and then redo the work of all the subsequent miners. Such a feat is nearly impossible. Anyone on the network can noW use the public key to verify that the transaction request is actually coming from the legitimate account owner. OSHUA L ROMERO BRANDO ACIO & KARI SSo

Bitcoin infographic

shared by [email protected] on May 24
51,961 views
53 shares
10 comments
Infographic explaining the steps in a Bitcoin transaction, and how security is built into the system, making it impenetrable to hackers.

Publisher

IEEE Spectrum

Designer

bpalacio

Source

Unknown. Add a source

Category

Technology
Did you work on this visual? Claim credit!

Get a Quote

Embed Code

For hosted site:

Click the code to copy

For wordpress.com:

Click the code to copy
Customize size