Вы находитесь на странице: 1из 7

Mestrado em Engenharia de Computao e Instrumentao Mdica

Instituto Politcnico do Porto


ISEP
CRIPTOGRAFIA EM TRANSAES DIGITAIS,
CRYPTOCURRENCY



Da Costa, A. A. [1], Benevides, D. M. [1]

[1] Instituto Politcnico de Porto, Instituto Superior de Engenharia do Porto, Departamento de
Fsica, Curso de Mestrado em Engenharia de Computao e Instrumentao Mdica
1090248@isep.ipp.pt ; 1100863@isep.ipp.pt


Resumo

A utilizao de tcnicas de criptografia destina-se a tornar mais seguras as
comunicaes na presena de terceiros. Os sistemas de cryptocurrency
consistem na existncia de uma moeda que possa ser transacionada online,
sem quaisquer restries e intervenes por parte de qualquer autoridade.
Estes sistemas recorrem a criptografia para garantir a integridade dos dados
das transaes efetuadas e dos saldos de cada utilizador.

Palavras-Chave: Criptografia, Crytpocurrency, Bitcoin.


1. INTRODUO

A cryptocurrency um meio digital de gesto de transaes monetrias. tipicamente
caracterizado pela sua descentralizao virtual, tendo em conta que no depende de nenhuma
figura de autoridade central (como um banco) para gerir o produto e o fluxo monetrio. De
forma a prevenir abusos e para fundamentar um regime de transaes fivel, este sistema
incorpora princpios criptogrficos para criar uma economia distribuda, segura e
descentralizada. (PIASECKI, 2012)
Ao longo do tempo foram criadas diversas especificaes de cryptocurrencies em que a
maior parte destas so derivaes da primeira implementao, o Bitcoin (BITCOIN
COMMUNITY, 2014). Criado e publicado em 2009 pelo programador de pseudnimo
Satoshi Nakamoto (NAKAMOTO, 2009), este um sistema de pagamento e gesto monetria
P2P (peer-to-peer). Neste protocolo, as funcionalidades criao e movimentao de fundos
so baseadas num projecto criptogrfico de cdigo aberto em que todas as interaes so
digitalmente assinadas. (PIASECKI, 2012)
Qualquer circulao de fundos verificada, marcada temporalmente e registada em bases
de dados partilhadas com o pblico, chamadas de pools. Os operadores que realizam estas
operaes, denominados miners, so recompensados atravs das taxas de transao ou com
novos fundos que foram produzidos. (PIASECKI, 2012)


2. FUNDAMENTOS TERICOS

2.1 A criptografia

Mestrado em Engenharia de Computao e Instrumentao Mdica
Instituto Politcnico do Porto
ISEP
A criptografia a disciplina e o estudo das tcnicas que se destinam a tornar as
comunicaes mais seguras na presena de terceiros. Uma encriptao normalmente feita
atravs da aplicao de uma cifra governada por uma ou mais chaves, ao texto original.
As cryptocurrencies seguem esta filosofia: Cada utilizador possui uma chave privada e
uma chave pblica que so anlogas a uma carteira. Quando requerida uma transao, esta
assinada pela chave privada do utilizador. Cada transao uma vinculao a uma anterior
que creditou o utilizador, implicando assim que o dinheiro no pode ser criado do nada. Em
adio, a mesma moeda no pode ser utilizada duas vezes. Cada transao difundida atravs
da rede P2P, onde aqui validada. (PIASECKI, 2012)

2.2 Endereos

Como referido anteriormente, cada utilizador possuidor de uma carteira. Esta contem
um par ou mais, de chaves pblicas e privadas. Estas so assinadas digitalmente com recurso
ao ECDSA (Elliptic Curve Digital Signature Algorithm). Os endereos so identificados por
27-34 caracteres alfanumricos, com alguns variantes dependendo do protocolo. No Bitcoin,
por exemplo, o endereo principia sempre por 1 ou 3, enquanto no protocolo Litecoin
(LITECOIN COMMUNITY, 2014) o endereo principia com o caracter L, como em
LSvxooYrbWeMnK4QBVFb1Bw4xgE8tD8Nit.
A chave pblica pode ser vista como um elemento identificativo de cada utilizador,
podendo ser utilizada efetuar transaes, desde envio e recebimento de unidades monetrias.
Em contrapartida as chaves privadas so necessrias para que um utilizador possa aceder aos
prprios fundos. Estas chaves so tipicamente armazenadas no ficheiro que constitui a sua
carteira. O propsito chave tambm expresso quando h a necessidade de validar transaes
ou quando so enviados fundos para o utilizador. Se por contingncia o acesso ao endereo
privado for perdido, por exemplo, devido a uma avaria ou perda do disco rgido onde que a
carteira se encontrava gravado, quaisquer fundos associados sero perdidos para sempre
(METRO NEWSPAPPER, 2013). (PIASECKI, 2012)

2.3 Transaes

Uma transao definida como uma movimentao de fundos entre endereos distintos.
Esta viso anloga de uma transferncia bancria. Quando criada uma nova transao em
que owner 1 transfere uma quantia para owner 2, o interveniente owner 1 cede a quantia
definida ao adicionar a chave pblica de owner 2 e simultaneamente assina digitalmente esta
quantia com a sua prpria chave privada. Esta operao necessria para verificar se o
remetente tem realmente fundos suficientes para concluir esta operao. de seguida feito um
broadcast desta operao rede P2P, atravs das pools. Os diversos peers que participam na
rede so responsveis por validar as assinaturas digitais e a quantidade de fundos requeridos
entre as transaes. Se a quantidade de dinheiro exceder a quantidade reivindicada, a
transao definida como invlida, sendo por isso descartada pela rede. Se a quantidade
recebida for inferior enviada, a diferena reconhecida como uma taxa de transao que
ser reclamada pelo miner que participou na criao do bloco, que contem a transao
relevante (como iremos ver na seco seguinte). (PIASECKI, 2012)

Mestrado em Engenharia de Computao e Instrumentao Mdica
Instituto Politcnico do Porto
ISEP


Figura 1: Cada transao contem a chave pblica de quem ir receber os fundos e a assinatura
digital de quem envia, especificada numa transao anterior. (PIASECKI, 2012)

2.4 Blocos e cadeia de blocos

Designam-se por blocos os mtodos que so responsveis por registar permanentemente
todos os dados e eventos relevantes que ocorreram na rede, desde o bloco anterior. Cada um
deles tambm composto por um header que possui informao pertinente para se poder
estabelecer uma trama de comunicao com a rede e os seus peers. Este contem informao
como: A verso do protocolo, o hash criptogrfico do bloco anterior, o hash criptogrfico da
base de todas as transaes ocorridas no bloco em questo (Merkle root hash), um registo no
tempo de quando que o bloco foi criado e o nonce gerado na ronda de criao do bloco.
(PIASECKI, 2012)



Mestrado em Engenharia de Computao e Instrumentao Mdica
Instituto Politcnico do Porto
ISEP
Figura 2: As diferentes transaes (tx) so concatenadas num root hash de uma rvore de
Merkle. O bloco possui tambm o seu hash, e o do bloco anterior. (PIASECKI, 2012)

Um nonce no mais do que um nmero arbitrrio gerado aleatoriamente, que utilizado
uma nica vez, ou seja, apenas para este bloco. Tem como objectivo adicionar sal, para
tornar o resultado do hash criptogrfico correspondente a este bloco, mais robusto.
Cada bloco uma referncia a um bloco que foi registado na rede anteriormente. Por essa
razo, todos os blocos juntos formam uma cadeia, desde o actual at abiognese da rede: o
primeiro bloco codificado plo criador do protocolo da cryptocurrency em questo.
Em termos de validade de um bloco, este s considerado quando todas as transaes a
que lhe dizem respeito tambm so vlidas, quando o bloco anterior vlido, e quando o
valor do hash do header menor que um valor alvo definido pla rede. Este valor definido
para que sejam criado novos blocos, em mdia, a cada dez minutos. (PIASECKI, 2012)

2.5 Mining

O processo de criao de novos blocos denominado mining. Aps a sua concepo,
todo o seu header submetido a um processo de obteno do seu hash. Se o seu valor for
menor que o valor alvo j anteriormente referido, feito um broadcast deste bloco na rede e
adicionado cadeia de blocos. Seno, cabe aos miners mudarem o valor dos componentes do
header, como o nonce, o registo temporal e o Merkle root hash. Este processo feito fazendo
alteraes coinbase de forma a processar um novo hash. A coinbase define-se como a
primeira transao realizada no bloco. O seu valor definido pela soma de todas as taxas de
transao includas no bloco, bem como uma recompensa para os miners que participaram na
resoluo do hash. Como se pode imaginar, este processo criptogrfico para obteno de
novos hashes requere grandes recursos e grande poder de processamento. (PIASECKI, 2012)


3. EXEMPLO PRTICO DE UMA TRANSAO DE CRYPTOCURRENCY

O Roberto, um comerciante online, decide comear a aceitar cryptocurrency como forma
de pagamento. (ROMERO e PALACIO, 2013)
A Alice, uma compradora, possui coins e pretende adquirir mercadoria do Roberto.

3.1. Carteiras e endereos

Tanto o Roberto como a Alice possuem carteiras de cryptocurrency nos seus
computadores. (ROMERO e PALACIO, 2013)
Carteiras so arquivos que fornecem acesso a vrios endereos de cryptocurrency.
(ROMERO e PALACIO, 2013)
Um endereo consiste numa sequncia formada por caracteres alfanumricos, como, por
exemplo, 1HULMwZEPkjEPeCH43BeKJL1ybLCWrfDpN. (ROMERO e PALACIO, 2013)
Cada endereo tem o seu prprio saldo. (ROMERO e PALACIO, 2013)
tentador pensar em endereos como contas bancrias, mas eles trabalham de forma um
pouco diferente. Utilizadores de cryptocurrency podem criar tantos endereos quantos
quiserem, sendo at, na verdade, incentivados a criar um novo para cada transao, com o
objetivo de aumentar a privacidade. Enquanto ningum souber qual o endereo da Alice, o
seu anonimato est protegido. (ROMERO e PALACIO, 2013)

3.2. Criar um novo endereo
Mestrado em Engenharia de Computao e Instrumentao Mdica
Instituto Politcnico do Porto
ISEP

O Roberto cria um novo endereo para que a Alice possa submeter o seu pagamento.
Quando o Roberto cria um novo endereo, o que ele est a fazer na realidade a gerar um
par de chaves criptogrficas, composto por uma chave privada e uma chave pblica. Ao
assinar uma mensagem com uma chave privada, que s o Roberto conhece, essa mensagem
pode ser verificada usando a chave pblica correspondente, que conhecida por qualquer um.
O novo endereo do Roberto representa uma chave pblica nica cuja correspondente chave
privada armazenada na sua carteira. A chave pblica permite a qualquer um verificar que a
mensagem assinada com a chave privada vlida. (ROMERO e PALACIO, 2013)

3.3. Submeter um pagamento

A Alice reporta ao seu cliente de cryptocurrency a sua inteno de transferir a quantia
relativa compra para o endereo do Roberto. (ROMERO e PALACIO, 2013)
A carteira da Alice detm a chave privada para cada um dos seus endereos. O cliente de
cryptocurrency assina o seu pedido de transao com a chave privada do endereo a partir do
qual as moedas virtuais esto a ser transferidas. (ROMERO e PALACIO, 2013)
Qualquer pessoa na rede pode agora usar a chave pblica para verificar se o pedido de
transao realmente proveniente do proprietrio legtimo da conta. (ROMERO e PALACIO,
2013)

3.4 Verificao da transao

O Gabriel, o Gonalo e o Gustavo so miners. (ROMERO e PALACIO, 2013)
Os seus computadores agrupam as transaes dos ltimos 10 minutos num novo bloco de
transaes. (ROMERO e PALACIO, 2013)
Os computadores dos miners so configurados para calcular as funes criptogrficas de
hash. (ROMERO e PALACIO, 2013)
As funes criptogrficas de hash transformam um conjunto de dados numa sequncia
alfanumrica com um tamanho fixo, chamado de valor hash. Mesmo pequenas mudanas nos
dados originais alteram drasticamente o valor hash resultante. altamente improvvel prever
qual o conjunto de dados inicial criar um valor de hash especfico. (ROMERO e PALACIO,
2013)
Para criar diferentes valores de hash a partir dos mesmos dados recorre-se a nonces. Um
nonce um simples nmero aleatrio que adicionado aos dados antes da execuo da funo
de hash. Alteraes no nonce resultam em valores de hash totalmente diferentes. (ROMERO
e PALACIO, 2013)
Os computadores miners calculam novos valores hash com base numa combinao do
valor de hash anterior, o bloco da transao em curso, e um nonce. Assim, cada novo valor de
hash contm informaes sobre todas as transaes de anteriores. (ROMERO e PALACIO,
2013)
A criao de hashes computacionalmente trivial, mas o sistema requer que o novo valor
de hash tenha uma forma particular. Especificamente, deve comear com um determinado
nmero de zeros. (ROMERO e PALACIO, 2013)
Os miners no tm como prever qual o nonce que iro produzir um valor de hash com o
nmero necessrio de zeros esquerda, pelo que so forados a gerar muitos hashes com
diferentes valores aleatrios obterem um que cumpra o padro. (ROMERO e PALACIO,
2013)
Cada bloco contm uma transao denominada por coinbase, que inclui um 50 novas
moedas virtuais que so pagas ao miner vencedor o Gabriel, neste caso. Um novo endereo
Mestrado em Engenharia de Computao e Instrumentao Mdica
Instituto Politcnico do Porto
ISEP
criado na carteira do Gabriel com um saldo equivalente ao nmero de moedas virtuais
recm-cunhadas. (ROMERO e PALACIO, 2013)

3.5 Transao verificada

Como o passar do tempo, a transferncia da Alice para o Roberto fica ocultada sob outras
transaes mais recentes. Para algum modificar os detalhes, teria de refazer no s o trabalho
realizado pelo Gabriel, porque quaisquer mudanas requerem um nonce vencedor
completamente diferente, como tambm o realizado por todos os miners subsequentes. Tal
faanha altamente improvvel. (ROMERO e PALACIO, 2013)


4. CONCLUSO

Numa era de globalizao, qualquer ideia que tenha uma certa credibilidade pode tornar-
se viral com a ajuda preciosa da tecnologia. (COELHO, 2013)
A ideia de existir uma moeda que seja transacionada online, sem restries e sem
interveno de qualquer autoridade, revelou-se interessante para a comunidade virtual,
apresentando potencial para singrar neste meio. isto mesmo que tem vindo a acontecer
desde 2009 com a criao do Bitcoin, pela ideia de Satoshi Nakamoto. So cada vez mais as
pessoas e empresas a aderir a esta e outras moedas virtuais. (COELHO, 2013)
A criptografia, revela-se de elevadssima importncia para a implementao destas ideias
dado que no s protege a integridade da informao contra erros pontuais como tambm
impede que esta seja corrompida intencionalmente em possveis ataques a sistemas de
cryptocurrency.


REFERNCIAS BIBLIOGRFICAS

BITCOIN COMMUNITY. Bitcoin Wiki. Bitcoin Wiki, 2014. Disponivel em:
<https://en.bitcoin.it/wiki/Main_Page>. Acesso em: 8 jan. 2014.

COELHO, M. I. Bitcoin a moeda virtual. Pplware, 2013. Disponivel em:
<http://pplware.sapo.pt/internet/bitcoin-a-moeda-virtual/>. Acesso em: 8 jan. 2014.

LITECOIN COMMUNITY. Litecoin Wiki. Litecoin Wiki, 2014. Disponivel em:
<https://litecoin.info/>. Acesso em: 8 jan. 2014.

METRO NEWSPAPPER. Man loses 4m Bitcoin fortune after chucking out digital wallet
hard drive. Metro, 2013. Disponivel em: <http://metro.co.uk/2013/11/28/man-loses-4m-
bitcoin-fortune-after-chucking-out-digital-wallet-hard-drive-4205600/>. Acesso em: 8 jan.
2014.

NAKAMOTO, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Bitcoin, 2009.
Disponivel em: <http://bitcoin.org/bitcoin.pdf>. Acesso em: 8 jan. 2014.

PIASECKI, P. Design and security analysis of Bitcoin infrastructure using application
deployed on Google Apps Engine. Politechnika Gdaska. Gdnsk, p. 89. 2012. Disponivel
em: < https://dl.dropboxusercontent.com/u/3658181/PiotrPiasecki-BitcoinMasterThesis.pdf>.
Acesso em: 8 jan. 2014.
Mestrado em Engenharia de Computao e Instrumentao Mdica
Instituto Politcnico do Porto
ISEP

ROMERO, J. J.; PALACIO, B. How Bitcoin works. Spectrum IEEE, 2013. Disponivel em:
<http://spectrum.ieee.org/img/06Bitcoin-1338412974774.jpg>. Acesso em: 8 jan. 2014.

Вам также может понравиться