b'\n_START_ARTICLE_\nArmazenamento quente e frio\n_START_PARAGRAPH_\nArmazenamento Quente e Frio no contexto de Bitcoin se refere \xc3\xa0s diferentes maneiras de se guardar os bitcoins, ou mais precisamente as chaves privadas que d\xc3\xa3o acesso a eles._NEWLINE_Por se basear num esquema de chave p\xc3\xbablica, os usu\xc3\xa1rios da rede Bitcoin t\xc3\xaam a garantia de que seus bitcoins n\xc3\xa3o ser\xc3\xa3o gastos por ningu\xc3\xa9m que n\xc3\xa3o tiver a chave privada adequada, pois apenas a chave certa pode gerar uma assinatura v\xc3\xa1lida e s\xc3\xb3 transa\xc3\xa7\xc3\xb5es com assinaturas v\xc3\xa1lidas ser\xc3\xa3o aceitas no blockchain._NEWLINE_O endere\xc3\xa7o p\xc3\xbablico para que um usu\xc3\xa1rio receba bitcoins, bem como a chave privada, que permite que um usu\xc3\xa1rio gaste os bitcoins desse endere\xc3\xa7o, s\xc3\xa3o armazedados em uma Carteira (Wallet). Carteiras s\xc3\xa3o simples arquivos que podem ser guardados em qualquer dispositivo (pendrives, desktops, celulares...) ou at\xc3\xa9 em meios f\xc3\xadsicos, como em uma folha de papel.\n_START_SECTION_\nArmazenamento Quente\n_START_PARAGRAPH_\nTamb\xc3\xa9m conhecido por hot wallet, se refere ao armazenamento online, ou conectado de alguma maneira \xc3\xa0 internet, das Carteiras de bitcoins. Por estar dispon\xc3\xadvel online \xc3\xa9 a maneira mais conveniente de se armazenar bitoins, pois em qualquer lugar com internet voc\xc3\xaa pode us\xc3\xa1-las sem esfor\xc3\xa7o._NEWLINE_Empresas que prestam servi\xc3\xa7os relacionados \xc3\xa0 bitcoins, como bolsas ou casas de c\xc3\xa2mbio, utilizam o armazenamento quente para que o servi\xc3\xa7o de saque/dep\xc3\xb3sito esteja sempre dispon\xc3\xadvel para o cliente._NEWLINE_Uma analogia comum \xc3\xa9 associar hot wallets \xc3\xa0 carteira (f\xc3\xadsica) que se usa no dia-a-dia, pois permite f\xc3\xa1cil acesso ao seu dinheiro._NEWLINE_Apesar de conveniente, Carteiras online n\xc3\xa3o s\xc3\xa3o a maneira mais segura de se manter bitcoins, mesmo nas m\xc3\xa3os de grandes empresas, pois est\xc3\xa3o sujeitas a ataques de hackers. O maior caso conhecido de roubo de bitcoins ocorreu com o Mt. Gox, uma casa de c\xc3\xa2mbio de bitcoins que chegou a operar 80% das transa\xc3\xa7\xc3\xb5es mundiais da moeda, mas que acabou se tornando insolvente e declarou fal\xc3\xaancia ap\xc3\xb3s a perda de uma quantia que gira em torno de US$ 500 milh\xc3\xb5es._NEWLINE_Existem algumas maneiras de tornar o uso de hot wallets mais seguro:_NEWLINE_Guardar pequenas quantias: Assim como ningu\xc3\xa9m sai com todo o dinheiro que possui guardado na carteira, n\xc3\xa3o se deve manter grandes quantias em hot wallets._NEWLINE_Encriptar as Carteiras: Proteger a Carteira com senha \xc3\xa9 uma op\xc3\xa7\xc3\xa3o para aumentar a seguran\xc3\xa7a por\xc3\xa9m, apesar de proteger contra ladr\xc3\xb5es que por ventura tenham acesso ao dispositivo onde ela est\xc3\xa1 armazenada, n\xc3\xa3o impede que hackers descubram a senha. Portanto \xc3\xa9 necess\xc3\xa1rio uma senha forte para garantir mais seguran\xc3\xa7a._NEWLINE_Multi-assinaturas: O protocolo Bitcoin permite que certas transa\xc3\xa7\xc3\xb5es s\xc3\xb3 se tornem v\xc3\xa1lidas se mais de um usu\xc3\xa1rio assin\xc3\xa1-las. Isso pode ser usado por um grupo de usu\xc3\xa1rios que possuam reservas na mesma carteira, mas que s\xc3\xb3 seja poss\xc3\xadvel retirar/gastar os bitcoins se X membros assinarem a transa\xc3\xa7\xc3\xa3o.\n_START_SECTION_\nArmazenamento Frio\n_START_PARAGRAPH_\nOu cold wallets se refere a manter os bitcoins armazenados em meios f\xc3\xadsicos ou em dispositivos que n\xc3\xa3o precisem estar conectados \xc3\xa0 internet._NEWLINE_Assim como podemos comparar hot wallets com carteiras da vida real, cold wallets seriam como cofres que aumentam significativamente a seguran\xc3\xa7a, mas tornam o acesso mais dif\xc3\xadcil e menos conveniente.\n_START_SECTION_\nCarteiras de Papel\n_START_PARAGRAPH_\nTamb\xc3\xa9m conhecidas por Paper wallets, s\xc3\xa3o uma solu\xc3\xa7\xc3\xa3o simples e bem segura de guardar bitcoins. Uma Carteira de papel \xc3\xa9 basicamente a impress\xc3\xa3o no papel de um endere\xc3\xa7o p\xc3\xbablico e da chave privada associada a ele. A chave privada sempre vem lacrada e tanto a informa\xc3\xa7\xc3\xa3o privada quanto a p\xc3\xbablica est\xc3\xa3o dispon\xc3\xadveis em um c\xc3\xb3digo QR e encriptadas numa string na base 58._NEWLINE_Depois de geradas e impressas em um processo rigoroso para garantir que nenhuma informa\xc3\xa7\xc3\xa3o vaze, as Carteiras de papel podem ser armazenadas onde o usu\xc3\xa1rio quiser e seus bitcoins estar\xc3\xa3o t\xc3\xa3o seguros quanto o papel que ele imprimiu._NEWLINE_Por\xc3\xa9m, por motivos de seguran\xc3\xa7a, n\xc3\xa3o se recomenda reusar o mesmo endere\xc3\xa7o v\xc3\xa1rias vezes, para superar isso os usu\xc3\xa1rios t\xc3\xaam tr\xc3\xaas op\xc3\xa7\xc3\xb5es:_NEWLINE_Carteiras de uso \xc3\xbanico: Como o nome j\xc3\xa1 sugere, o usu\xc3\xa1rio s\xc3\xb3 usa o endere\xc3\xa7o para receber uma \xc3\xbanica vez e quando for retirar o dinheiro, transfere tudo uma \xc3\xbanica vez e descarta a Carteira._NEWLINE_M\xc3\xbaltiplas chaves: O usu\xc3\xa1rio gera v\xc3\xa1rias Carteiras de papel e as utiliza apenas uma vez cada, n\xc3\xa3o \xc3\xa9 uma solu\xc3\xa7\xc3\xa3o muito atrativa pois pode se perder algumas Carteiras e gerenciar m\xc3\xbaltiplos endere\xc3\xa7os de uma vez pode causar confus\xc3\xa3o e um mesmo endere\xc3\xa7o acabar sendo reusado._NEWLINE_Geradores de chaves: S\xc3\xa3o carteiras que ao inv\xc3\xa9s de possuir um \xc3\xbanico endere\xc3\xa7o e uma \xc3\xbanica chave, possuem a informa\xc3\xa7\xc3\xa3o necess\xc3\xa1ria para gerar endere\xc3\xa7os e informa\xc3\xa7\xc3\xa3o para gerar chaves. Assim, os endere\xc3\xa7os s\xc3\xa3o gerados sob demanda e n\xc3\xa3o se cria endere\xc3\xa7os desnecess\xc3\xa1rios. Para gerar a i-\xc3\xa9sima chave que corresponda ao i-\xc3\xa9simo endere\xc3\xa7o, basta passar o mesmo par\xc3\xa2metro para os geradores.\n_START_SECTION_\nBitcoins F\xc3\xadsicas\n_START_PARAGRAPH_\nDa mesma forma que as Carteiras de papel a seguran\xc3\xa7a das bitcoins est\xc3\xa1 ligada \xc3\xa0 seguran\xc3\xa7a do objeto f\xc3\xadsico. Alguns exemplos s\xc3\xa3o:\n_START_SECTION_\nCasascius Coins\n_START_PARAGRAPH_\nFoi uma das primeiras Bitcoins f\xc3\xadsicas criadas e elas s\xc3\xa3o mais parecidas com moedas do que suas antecessoras. A chave privada, que permite gastar o seu valor, \xc3\xa9 impressa na moeda e permanece coberta por um lacre at\xc3\xa9 o momento do uso. A moeda s\xc3\xb3 pode ser utilizada uma vez, pois \xc3\xa9 praticamente imposs\xc3\xadvel acessar a chave sem danificar o lacre, o que prova seu uso ou adultera\xc3\xa7\xc3\xa3o e faz com que perca seu valor._NEWLINE_As Casascius Coins est\xc3\xa3o dispon\xc3\xadveis nos valores de 1, 10, 25, 100 e 1000 bitcoins ou seus m\xc3\xbaltiplos.\n_START_SECTION_\nAlitin Mint\n_START_PARAGRAPH_\nSeguindo a ideia da Casascius a Alitin se parece com uma moeda tradicional. A chave privada de cada moeda vem gravada na lateral de cada moeda e para proteger-la, cada moeda vem inserida e lacrada em um case que esconde a chave. O case tamb\xc3\xa9m cont\xc3\xa9m uma marca hologr\xc3\xa1fica para garantir que \xc3\xa9 original e assim como no caso anterior a moeda s\xc3\xb3 pode ser gasta uma vez, moedas com o lacre violado n\xc3\xa3o t\xc3\xaam valor.\n_START_SECTION_\nCarteira de Hardware\n_START_PARAGRAPH_\nConsiste em um dispositivo eletr\xc3\xb4nico que armazena a(s) Carteiras do usu\xc3\xa1rio._NEWLINE_Suas grandes vantagens em rela\xc3\xa7\xc3\xa3o aos outros tipos de Carteiras s\xc3\xa3o:_NEWLINE_- A chave privada est\xc3\xa1 protegida pelo microcontrolador e n\xc3\xa3o \xc3\xa9 poss\xc3\xadvel transferi-la do dispositivo em puro-texto._NEWLINE_- Pode-se fazer backup das informa\xc3\xa7\xc3\xb5es facilmente._NEWLINE_- Pode ser usada em seguran\xc3\xa7a e de forma interativa. Ao contr\xc3\xa1rio das Carteiras de papel que em algum momento precisam ser importadas para um software._NEWLINE_- A maior parte das vezes o software \xc3\xa9 aberto, permitindo que o usu\xc3\xa1rio valide a opera\xc3\xa7\xc3\xa3o do dispositivo e ,caso seja experiente no assunto, corrija algum problema._NEWLINE__NEWLINE_O Armazenamento Frio tamb\xc3\xa9m pode ser feito salvando a Carteira em dispositivos que n\xc3\xa3o tenham acesso \xc3\xa0 rede, como pendrives, ou mantendo o arquivo encriptado online, mas com a chave para decriptar salva offline._NEWLINE_Para grandes quantias de bitcoins, existe o que se chama de Armazenamento Frio Profundo(Deep Cold Storage), que consiste em utilizar algum m\xc3\xa9todo em que seja f\xc3\xa1cil enviar bitcoins para a Carteira, mas significativamente dif\xc3\xadcil recuper\xc3\xa1-las. Um exemplo simples seria encriptar a Carteira, salv\xc3\xa1-la em algum pendrive, colocar o pendrive num cofre ou em qualquer lugar seguro. Como a \xc3\xbanica informa\xc3\xa7\xc3\xa3o necess\xc3\xa1ria para se enviar bitcoins para uma Carteira \xc3\xa9 o endere\xc3\xa7o p\xc3\xbablico dela, \xc3\xa9 trivial armazen\xc3\xa1-lo em um lugar separado para futuros dep\xc3\xb3sitos, mas para gastar os bitcoins um usu\xc3\xa1rio mal intencionado teria que passar por v\xc3\xa1rios n\xc3\xadveis de seguran\xc3\xa7a diferentes._NEWLINE_Os m\xc3\xa9todos de Armazenamento Frio, apesar de mais seguros que os Quentes, tamb\xc3\xa9m n\xc3\xa3o s\xc3\xa3o infal\xc3\xadveis, pois os dispositivos ou itens ainda podem ser danificados ou destru\xc3\xaddos._NEWLINE_Os m\xc3\xa9todos citados acima tamb\xc3\xa9m s\xc3\xa3o utilizados por empresas que operam com Armazenamento Quente para manter um fundo de reserva e minimizar perdas, caso as hot wallets sofram ataques. Assim, \xc3\xa9 comum que pequenas transa\xc3\xa7\xc3\xb5es intermediadas por essas empresas se deem de forma r\xc3\xa1pida, pois a quantia utilizada est\xc3\xa1 dispon\xc3\xadvel nas Carteiras Quentes e transa\xc3\xa7\xc3\xb5es mais volumosas demorem um pouco, pois est\xc3\xa3o a quantia tem que ser retirada de um Armazenamento Frio._NEWLINE_Para aumentar a confian\xc3\xa7a dos clientes, as empresas que lidam com c\xc3\xa2mbio de bitcoins precisam provar que mant\xc3\xaam alguma reserva (veja o t\xc3\xb3pico Prova de Reserva).\n_START_SECTION_\nDividir a Chave\n_START_PARAGRAPH_\nApesar das grandes diferen\xc3\xa7as entre os armazenamentos quente e frio, existe algo em comum entre eles: cada Carteira s\xc3\xb3 possui uma chave associada, isso ocasiona um ponto \xc3\xbanico de falha. Utilizar multi-assinaturas ameniza o problema, mas ainda assim um hacker que obtenha sua chave pode autorizar transa\xc3\xa7\xc3\xb5es que voc\xc3\xaa n\xc3\xa3o autorizaria._NEWLINE_Outro problema de se possuir uma \xc3\xbanica chave \xc3\xa9 que para evitar perd\xc3\xaa-la, muitas vezes a replicamos e apesar de aumentar a disponibilidade para us\xc3\xa1-la, aumenta muito os riscos de outra pessoa conseguir acess\xc3\xa1-la._NEWLINE_A solu\xc3\xa7\xc3\xa3o \xc3\xa9 Dividir a Chave., t\xc3\xa9cnica conhecida em criptografia como compartilhamento secreto._NEWLINE_A ideia basicamente \xc3\xa9 dividir a chave em N peda\xc3\xa7os, de tal forma que de posse de K peda\xc3\xa7os quaisquer seja poss\xc3\xadvel reconstruir a chave original, mas de posse de menos do que K peda\xc3\xa7os n\xc3\xa3o seja poss\xc3\xadvel obter nenhuma informa\xc3\xa7\xc3\xa3o do segredo original._NEWLINE_A ideia \xc3\xa9 simples, mas somente pegar a chave original e dividi-la em N peda\xc3\xa7os n\xc3\xa3o vai funcionar, pois cada peda\xc3\xa7o vai conter alguma informa\xc3\xa7\xc3\xa3o da chave original._NEWLINE_Se tivermos N= 2 e K= 2, ou seja vamos separar a chave em duas partes e apenas com as duas estaremos aptos a obt\xc3\xaa-la de volta, uma maneira que correta seria, por exemplo: vamos dizer que S, a nossa chave privada, seja um inteiro grande (de 128-bit) e vamos gerar um outro inteiro aleat\xc3\xb3rio R de mesmo tamanho. Com essas duas informa\xc3\xa7\xc3\xb5es podemos criar duas partes em que uma \xc3\xa9 simplesmente o inteiro aleat\xc3\xb3rio R e a outra e o inteiro resultante de R\xe2\x8a\x95S. Essencialmente o S foi encriptada por um bloco de uso \xc3\xbanico. E agora que temos a parte (R) e a (R\xe2\x8a\x95S), basta guard\xc3\xa1-las separadas, pois de posse de apenas uma das partes n\xc3\xa3o ser\xc3\xa1 poss\xc3\xadvel obter nenhuma informa\xc3\xa7\xc3\xa3o, mas de posse das duas bastaria fazermos (R\xe2\x8a\x95(R\xe2\x8a\x95S)) e obter\xc3\xadamos S de novo._NEWLINE_O m\xc3\xa9todo descrito acima funciona para qualquer N e K, desde que sejam iguais, pois basta gerar N-1 inteiros aleat\xc3\xb3rios para serem as N-1 primeiras partes e a \xc3\xbaltima seria um XOR(\xe2\x8a\x95) de S com todos os inteiros aleat\xc3\xb3rios, mas para N\xe2\x89\xa0K precisa-se usar um m\xc3\xa9todo diferente._NEWLINE_Vamos supor agora que eu ainda queira dividir a minha chave em duas partes e que precise das duas para obt\xc3\xaa-la de volta. Seja P um n\xc3\xbamero primo muito grande, mas que n\xc3\xa3o precisa ser secreto, e que tanto o nossa chave S quanto um inteiro aleat\xc3\xb3rio R estejam no intervalo [0,P-1]. Sejam tamb\xc3\xa9m X1 e X2 as partes da chaves que vamos guardar separadas, tais que: X1=(S+R)mod P e X2=(S+2R)mod P. Com apenas uma dessas duas partes seria imposs\xc3\xadvel obter S de volta pois R foi gerado aleatoriamente num intervalo muito grande (pois P \xc3\xa9 um primo grande), mas de posse das duas partes, bastaria operar (2X1 -X2)mod P e ter\xc3\xadamos S de volta._NEWLINE_\xc3\x89 f\xc3\xa1cil perceber que o m\xc3\xa9todo acima funciona para qualquer N pois as partes s\xc3\xa3o obtidas por (S+XR)mod P, onde X \xc3\xa9 o \xc3\xadndice da parte (a 3\xc2\xaa parte seria (S+3R)mod P), mas como a fun\xc3\xa7\xc3\xa3o que aplicamos \xc3\xa9 linear o K m\xc3\xadnimo sempre \xc3\xa9 dois, pois com quaisquer dois pontos se obt\xc3\xa9m a reta que passa por eles._NEWLINE_Para que sejam necess\xc3\xa1rios mais pontos para recuperar a chave original, basta utilizar fun\xc3\xa7\xc3\xb5es de graus maiores. Para K = 3, bastaria obter as partes computando (S+XR1+X\xc2\xb2R2)mod P, onde R1 e R2 s\xc3\xa3o n\xc3\xbameros aleat\xc3\xb3rios distintos, pois a partir de quaisquer 3 pontos \xc3\xa9 poss\xc3\xadvel se obter a par\xc3\xa1bola que passa por eles. Por motivos \xc3\xb3bvios K\xe2\x89\xa4N.\n_START_SECTION_\nProva de Reserva\n_START_PARAGRAPH_\nPara dar um certo conforto aos seus clientes, principalmente ap\xc3\xb3s o ocorrido com o Mt. Gox, as casas de c\xc3\xa2mbio de bitcoins precisam provar que mant\xc3\xa9m alguma fra\xc3\xa7\xc3\xa3o do dinheiro que os seus clientes depositam._NEWLINE_A prova pode ser dividida em duas partes: a primeira \xc3\xa9 provar quanto se tem na reserva e a segunda e provar a sua demanda de dep\xc3\xb3sitos, com essas duas informa\xc3\xa7\xc3\xb5es \xc3\xa9 f\xc3\xa1cil encontrar a porcentagem de bitcoins que a empresa mant\xc3\xa9m._NEWLINE_A primeira parte \xc3\xa9 a mais simples: \xc3\xa9 s\xc3\xb3 fazer uma transfer\xc3\xaancia para a pr\xc3\xb3pria empresa da quantia que se quer assumir como reserva financeira. Para garantir que foi a pr\xc3\xb3pria empresa que de fato realizou a transa\xc3\xa7\xc3\xa3o, basta que ela assine uma "string-desafio" gerada imparcialmente. Se a string for assinada com a mesma chave que gerou a primeira transa\xc3\xa7\xc3\xa3o, isso prova que a empresa possui aquela quantia na reserva. \xc3\x89 importante notar que esse procedimento n\xc3\xa3o garante que essa quantia \xc3\xa9 tudo que a empresa possui guardada, mas que ela possui pelo menos aquele valor._NEWLINE_Para provar a demanda de dep\xc3\xb3sitos \xc3\xa9 necess\xc3\xa1rio utilizar uma \xc3\x81rvore de Merkle. Essa \xc3\x81rvore deve ser constru\xc3\xadda pela pr\xc3\xb3pria empresa e deve conter as contas de todos os cliente como folhas da \xc3\xa1rvore, bem como seus dep\xc3\xb3sitos. A \xc3\xbanica modifica\xc3\xa7\xc3\xa3o necess\xc3\xa1ria nessa \xc3\xa1rvore \xc3\xa9 a adi\xc3\xa7\xc3\xa3o de um atributo nos ponteiros de hash, para indicar a soma total dos dep\xc3\xb3sitos da sub-\xc3\xa1rvore logo abaixo dele._NEWLINE_A partir do momento que a empresa assinar a raiz da \xc3\xa1rvore, com a mesma chave que usou anteriormente, qualquer cliente pode verificar se a sua conta est\xc3\xa1 mesmo l\xc3\xa1. Ao pedir que lhe provem que a sua conta est\xc3\xa1 na \xc3\xa1rvore que foi divulgada, a empresa deve mostrar ao cliente uma sub \xc3\xa1rvore que contenha todos os ponteiros de hash da raiz at\xc3\xa9 a sua conta. Assim o cliente pode verificar se o ultimo hash na sub-\xc3\xa1rvore cont\xc3\xa9m o seu valor de dep\xc3\xb3sito e se os hashs acima dele tamb\xc3\xa9m s\xc3\xa3o v\xc3\xa1lidos.'