domingo, 12 de novembro de 2017

Prova de Tempo Gasto (PdTG) - Proof of Elapsed Time (PoET)

Desenvolvido pela Intel, o algoritmo de consenso Prova de Tempo Gasto emula a Prova de Trabalho do Bitcoin. A implementação Sawtooth do Hyperledger é um exemplo de PdTG funcionando. Ao invés de competir para solucionar o desafio criptográfico e mineirar o bloco seguinte, como na blockchain do Bitcoin, o algoritmo de consenso PdTG é um híbrido de uma loteria aleatória e de chegou-primeiro-comeu-primeiro. No PdTG, cada validador recebe um tempo de espera aleatório.
"The validator with the shortest wait time for a particular transaction block is elected the leader."
"O validador com o menor tempo de espera para um bloco de transação específico é eleito o líder."
O "líder" cria o novo bloco da cadeia.

sábado, 11 de novembro de 2017

Prova de Risco (PdR) - Proof of Stake (PoS)

O algoritmo Prova de Risco - PdR (Proof of Stake - PoS) é uma generalização do algoritmo Prova de Trabalho. No PdR, os nós são chamados de "validadores" e, mais que mineirar a blockchain, eles validam as transações para ganhar uma taxa por transação. Não há mineração aqui, já que todas as moedas existem desde o primeiro dia. De maneira simples, nós são selecionados aleatoriamente para validar os blocos, e a probabilidade dessa seleção randômica depende da quantidade de risco posta. Então, se o nó X possui 2 moedas e o nó Y possui 1 moeda, o nó X tem o dobro de chance de ser chamado para validar o bloco de transações.
A implementação específica de PoS pode variar, dependendo do uso particular, ou dependendo do software implementado. Instâncias incluindo Prova de Depósito - PdD (Proof of Deposit - PoD) e Prova de Queima - PdQ (Proof of Burn). O algoritmo PoS economiza recursos computacionais que seriam gastos minerando num regime de consenso Prova de Trabalho.

Prova de Trabalho (PdT) - Proof of Work (PoW)

O algoritmo de consenso prova de trabalho envolve a resolução de um desafio computacional enigmático  para criar novos blocos na Blockchain de Bitcoin.
Popularmente, esse processo é conhecido como "mineirar", e os nós engajados na mineiração são os mineiradores. O incentivo para as transações de mineração acontecerem são pagamentos economicos, onde os mineiradores competindo são recompensados com 12.5 bitcoins e uma pequena taxa por transação.
Como descrito no artigo de 2016 do Kudelski Security,
"Proof-of-work (PoW) is the outcome of a successful mining process and, although the proof is hard to create, [it] is easy to verify."
"Prova-de-Trabalho (PdT) é o resultado de um processo bem sucedido de mineração e, ainda que a prova seja difícil de crear, é de fácil verificação."

 Para um melhor entendimento, considere o exemplo dado por Ofir Beigel:
"(...) guessing a combination to a lock is a proof to a challenge. It is very hard to produce this since you will need to guess many different combinations; but once produced, it is easy to validate. Just enter the combination and see if the lock opens".
"(...) adivinhar a combinação de um cadeado é uma prova de  um desafio. É muito difícil encontrar a combinação pois são muitas as combinações possíveis que se tentam até encontrar a correta, mas uma vez encontrada, é fácil validá-la. Basta entrar a combinação e ver se o cadeado abre".
Muita crítica é feita ao algoritmo de consenso PoW (existem outros algoritmos de consenso). PoW requer uma quantidade grande de energia, dado o peso computacional do algoritmo. Além disso, PoW tem alta latência de validação, e a concentração de poder de mineração está localizada em países onde a energia elétrica é barata. Em termos de segurança, PoW é suscetível ao "ataque dos 51%", que é o ataque em que um grupo controlando mais de 50% do poder computacional da rede ataca a blockchain.

sexta-feira, 10 de novembro de 2017

Stamp.io

Neste post, tratarei da certificação de um documento dentro de uma blockchain usando o stamp.io.
Primeiro, faça o seu registro gratuito em https://stamp.io/

Como exemplo, eu farei a certificação de um frame da cena de Signor Roboto.

Após isso, drop ou busque os arquivos que tem por intenção certificar.

Após isso, é só aguardar um minuto para o Ethereum e dez minutos para o Bitcoin (esse post foi feito em novembro de 2017, então essas eram as velocidades de bloco da época).





O certificado final mostra o nome do arquivo, e quando ele foi adicionado ao Stampery, além da pessoa que o assinou.
Então, um hash desse documento foi arquivado em transações que foram colocadas em vários blocos, tanto na blockchain da Ethereum quanto na da Bitcoin.
Então, se abrirmos essa transação particular, vamos observar que dentro dela haverá o hash desse documento e que ela foi gravada nesse bloco da blockchain.Portanto, stamp.io e outras tantas ferramentas que estão por vir, servem para colocar e verificar o hash de um documento numa blockchain.

 

quinta-feira, 12 de outubro de 2017

Pool dawn

Pão e passas. Pode ser baguete, pode ser pão francês, pode ser pão de forma, mas destrua em pedaços pequenos. Pode ser passas pretas, passas brancas, numa forma que pode ir pro forno, pode ser alumínio, pode ser marinex.
Umedeça o pão com manteiga derretida.

Pega seis ovos, leite, açúcar, canela em pó e lascas de noz moscada, mistura tudo e joga na forma, sempre tentando umedecer a massa já úmida.

45 a 50 minutos no forno.

Faça uma calda usando suco de duas laranjas, duas colheres de açúcar e manteiga, tudo isso numa panela no fogo médio. Assim que tirar o Pudão do forno, jogue por cima.

Pode comer na hora ou esperar esfriar, quando a cobertura virará um glacê.

sábado, 20 de agosto de 2016

Correndo

A letra original é do álbum "Nothing New" do Gil Scott-Heron, mas o vídeo é da track do "I'm new here", colaboração dele com o Jamie XX. A tradução é uma humilde tentativa minha.

"Running"


Because I always feel like running
Not away, because there is no such place
Because, if there was I would have found it by now
Because it's easier to run,
Easier than staying and finding out you're the only one...who didn't run
Because running will be the way your life and mine will be described
As in "the long run"
Or as in having given someone a "run for his money"
Or as in "running out of time"
Because running makes me look like everyone else, though I hope there will ever be cause for that
Because I will be running in the other direction, not running for cover
Because if I knew where cover was, I would stay there and never have to run for it
Not running for my life, because I have to be running for something of more value to be running and not in fear
Because the thing I fear cannot be escaped, eluded, avoided, hidden from, protected from, gotten away from,
Not without showing the fear as I see it now
Because closer, clearer, no sir, nearer
Because of you and because of that nice
That you quietly, quickly be causing
And because you're going to see me run soon and because you're going to know why I'm running then
You'll know then
Because I'm not going to tell you now


"Correndo"


Porque eu sempre senti que devia correr
não de algo, porque isso não existe
porque, se tivesse isso eu já o teria encontrado
porque é mais fácil correr,
mais fácil que ficar e perceber que você foi o único... que não correu
porque correndo será o único modo pelo qual sua vida e a minha serão descritas
como na "linha de chegada"
ou como fazer alguém "correr pra ganhar o seu dinheiro"
ou como "correr atrás do tempo"
porque correr me faz parecer como o resto do mundo, ainda que eu espere que aquilo não seja a causa disso
porque eu vou correr em outras direções, não pra buscar abrigo
porque se eu soubesse onde o abrigo era, eu teria ficado lá e nunca corrido pra isso
não correndo pela minha vida, porque eu tenho que ficar correndo pra algo mais valioso para ficar correndo e não em medo
porque a coisa que eu temo não posso escapá-la, iludí-la, evitá-la, esconder-me dela, proteger-me dela, fugir dela,
não sem mostrar o medo como eu o vejo agora
porque mais próximo, mais claro, não senhor, mais perto
por sua causa e por causa daquele bem
que você quietamente, rapidamente vai causando

e porque você vai me ver correndo logo e porque você vai saber porque eu estarei correndo então
você saberá então
porque eu não lhe contarei agora