Great Place To Work

7 de agosto de 2024

Abordagem Holística da Segurança Faz Toda a Diferença

4 de novembro de 2024

19 de agosto de 2024

CrossApp: De CeFi para DeFi

Transformar desafios em oportunidades é o que fazemos todos os dias.

A proatividade traz inovação

No início de novembro de 2021, a Crossjoin anunciou uma parceria com um restaurante nas proximidades para fornecer refeições de alta qualidade com um desconto de 50% para os funcionários (também conhecidos como Crossers). A elevada adesão a este benefício criou um estrangulamento num único Crosser, que tinha de recolher os recibos do restaurante de outros Crossers e inserir a informação numa folha de cálculo para calcular quanto a Crossjoin tinha de pagar nesse dia ao restaurante. Quando soube deste problema, a primeira coisa que me veio à cabeça foi “Blockchain”.

A 3 de dezembro de 2021, o meu interesse em sistemas distribuídos ilevou-me a escrever um e-mail ao diretor executivo com uma proposta para resolver o problema através da criação de um sistema de pagamentos baseado numa blockchain. Decidi então consultar outros membros da Crosser sobre esta ideia, e isto foiFoi quando conheci um colega que tinha uma ideia semelhante. Na altura, eu tinha mais tempo livre do que ele porque estava à espera que um projeto começasse, por isso, no início, tive de intervir e impulsionar esta iniciativa de inovação.

Usar a ferramenta certa para o trabalho

Todos os engenheiros sabem que escolher a tecnologia certa é crucial e pode impactar a eficiência, a escalabilidade e o sucesso do projeto. Investimos muito tempo nesta parte. As blockchains são relativamente novas. No entanto, a variedade de sabores é avassaladora.

Temos blockchains que são geridas de forma privada por uma organização (com permissões), como o Hyperledger Fabric e o Sawtooth. Por outro lado, temos blockchains públicas, e toda a gente pode criar aplicações DeFi e escrutinar cada transação que é submetida, como a Bitcoin, a Ethereum e a Algorand.

Na busca pela melhor ferramenta para o trabalho, decidimos não avançar com uma blockchain autorizada porque cada participante teria de executar um nó para fazer parte da mesma o protocolo e ter garantias de que não existe um participante bizantino a alterar as transações a seu favor.

Escolhemos Algorand, uma cadeia de blocos (*blockchain*) sem permissões, porque oferece tudo o que precisamos, tais como:

  • Os tokens fungíveis e não fungíveis são tratados como cidadãos de primeira classe.
  • Finalidade de bloco rápida, por volta de 3,3 segundos.
  • Baixas taxas de transação.
  • Escrito em Golang, tornando o código da blockchain direto de analisar.

Para o *front-end*, tivemos outra decisão difícil a tomar entre escrever as aplicações na respetiva linguagem nativa da plataforma, mantendo códigos-fonte diferentes, ou escolher Flutter com Dart como um único código-fonte que compilaria para as várias plataformas (Android e iOS). Decidimos optar pela segunda opção porque éramos apenas dois programadores e não podíamos dispor do tempo extra para desenvolver a mesma coisa duas vezes.

Desafios

A Web3 era um terreno virgem para nós. Na minha tese, tinha alterado código em blockchains para integrar assinaturas de limiar, mas nunca tinha tido a oportunidade de escrever um contrato inteligente para resolver um problema real.

O primeiro desafio surgiu quando começámos a desenvolver o contrato inteligente puramente em TEAL (linguagem de máquina de pilha). A nossa primeira solução foi simples de escrever, mas difícil de manter, pelo que adotámos o PyTEAL como a nossa abstração sobre o TEAL.

Isto levou ao nosso segundo desafio: o ritmo acelerado de evolução da Algorand e de outras tecnologias Web3 é impressionante. Coisas que inicialmente tínhamos desenhado e não conseguíamos implementar tornaram-se possíveis passadas apenas algumas semanas. Tivemos de rever a nossa solução 2 ou 3 vezes para usar a melhor abordagem para o problema. No momento em que escrevo isto, existem São novos ababstrações sobre TEAL e frameworks de testes unitários que poderíamos adotar.

Um dos nossos últimos desafios foi garantir que não haveria problemas de segurança no contrato inteligente. Resolvíamos este problema analisando diferentes caminhos de execução e simulando transações bizantinas.

Para onde ir a partir daqui?

O primeiro conceito da Crossapp tinha um objetivo simples: permitir que os Crossers pagassem o almoço recorrendo a um benefício de copagamento da empresa. Na minha opinião, foi um sucesso; no entanto, há margem para melhorias e para a adição de novas funcionalidades à aplicação.

Por exemplo, poderíamos adicionar pontos de fidelidade ou pontos de fitnesspara introduzir um pouco de gamificação nas tarefas do dia-a-dia. Em resumo, esta aplicação oferece inúmeras oportunidades que ainda podemos explorar, e encorajo todos os Crossers a impulsionarem a inovação, ajudando-nos a tornar a nossa Crossapp ainda melhor ou promovendo novas iniciativas, tal como eu fiz.

por: Jorge Pereira Consultor

Transformar desafios em oportunidades é o que fazemos todos os dias.

A proatividade traz inovação

No início de novembro de 2021, a Crossjoin anunciou uma parceria com um restaurante nas proximidades para fornecer refeições de alta qualidade com um desconto de 50% para os funcionários (também conhecidos como Crossers). A elevada adesão a este benefício criou um estrangulamento num único Crosser, que tinha de recolher os recibos do restaurante de outros Crossers e inserir a informação numa folha de cálculo para calcular quanto a Crossjoin tinha de pagar nesse dia ao restaurante. Quando soube deste problema, a primeira coisa que me veio à cabeça foi “Blockchain”.

A 3 de dezembro de 2021, o meu interesse em sistemas distribuídos ilevou-me a escrever um e-mail ao diretor executivo com uma proposta para resolver o problema através da criação de um sistema de pagamentos baseado numa blockchain. Decidi então consultar outros membros da Crosser sobre esta ideia, e isto foiFoi quando conheci um colega que tinha uma ideia semelhante. Na altura, eu tinha mais tempo livre do que ele porque estava à espera que um projeto começasse, por isso, no início, tive de intervir e impulsionar esta iniciativa de inovação.

Usar a ferramenta certa para o trabalho

Todos os engenheiros sabem que escolher a tecnologia certa é crucial e pode impactar a eficiência, a escalabilidade e o sucesso do projeto. Investimos muito tempo nesta parte. As blockchains são relativamente novas. No entanto, a variedade de sabores é avassaladora.

Temos blockchains que são geridas de forma privada por uma organização (com permissões), como o Hyperledger Fabric e o Sawtooth. Por outro lado, temos blockchains públicas, e toda a gente pode criar aplicações DeFi e escrutinar cada transação que é submetida, como a Bitcoin, a Ethereum e a Algorand.

Na busca pela melhor ferramenta para o trabalho, decidimos não avançar com uma blockchain autorizada porque cada participante teria de executar um nó para fazer parte da mesma o protocolo e ter garantias de que não existe um participante bizantino a alterar as transações a seu favor.

Escolhemos Algorand, uma cadeia de blocos (*blockchain*) sem permissões, porque oferece tudo o que precisamos, tais como:

  • Os tokens fungíveis e não fungíveis são tratados como cidadãos de primeira classe.
  • Finalidade de bloco rápida, por volta de 3,3 segundos.
  • Baixas taxas de transação.
  • Escrito em Golang, tornando o código da blockchain direto de analisar.

Para o *front-end*, tivemos outra decisão difícil a tomar entre escrever as aplicações na respetiva linguagem nativa da plataforma, mantendo códigos-fonte diferentes, ou escolher Flutter com Dart como um único código-fonte que compilaria para as várias plataformas (Android e iOS). Decidimos optar pela segunda opção porque éramos apenas dois programadores e não podíamos dispor do tempo extra para desenvolver a mesma coisa duas vezes.

Desafios

A Web3 era um terreno virgem para nós. Na minha tese, tinha alterado código em blockchains para integrar assinaturas de limiar, mas nunca tinha tido a oportunidade de escrever um contrato inteligente para resolver um problema real.

O primeiro desafio surgiu quando começámos a desenvolver o contrato inteligente puramente em TEAL (linguagem de máquina de pilha). A nossa primeira solução foi simples de escrever, mas difícil de manter, pelo que adotámos o PyTEAL como a nossa abstração sobre o TEAL.

Isto levou ao nosso segundo desafio: o ritmo acelerado de evolução da Algorand e de outras tecnologias Web3 é impressionante. Coisas que inicialmente tínhamos desenhado e não conseguíamos implementar tornaram-se possíveis passadas apenas algumas semanas. Tivemos de rever a nossa solução 2 ou 3 vezes para usar a melhor abordagem para o problema. No momento em que escrevo isto, existem São novos ababstrações sobre TEAL e frameworks de testes unitários que poderíamos adotar.

Um dos nossos últimos desafios foi garantir que não haveria problemas de segurança no contrato inteligente. Resolvíamos este problema analisando diferentes caminhos de execução e simulando transações bizantinas.

Para onde ir a partir daqui?

O primeiro conceito da Crossapp tinha um objetivo simples: permitir que os Crossers pagassem o almoço recorrendo a um benefício de copagamento da empresa. Na minha opinião, foi um sucesso; no entanto, há margem para melhorias e para a adição de novas funcionalidades à aplicação.

Por exemplo, poderíamos adicionar pontos de fidelidade ou pontos de fitnesspara introduzir um pouco de gamificação nas tarefas do dia-a-dia. Em resumo, esta aplicação oferece inúmeras oportunidades que ainda podemos explorar, e encorajo todos os Crossers a impulsionarem a inovação, ajudando-nos a tornar a nossa Crossapp ainda melhor ou promovendo novas iniciativas, tal como eu fiz.

por: Jorge Pereira Consultor

Crossjoin Solutions

Escrito por:
Publicações Recentes
29 de outubro de 2025

Segurança à velocidade: Por que razão o «Shifting Left» é um imperativo empresarial

Detetar falhas de segurança numa fase inicial não é apenas uma melhoria — é uma verdadeira mudança de paradigma. Tradicionalmente, os testes de segurança eram algo que acontecia apenas na fase final do ciclo de desenvolvimento.
22 de Outubro de 2025

Para além do código: por que razão a programação segura é essencial para o futuro da sua empresa

A programação segura é mais do que apenas uma disciplina técnica; é a arte e a ciência de escrever código de uma forma que protege inerentemente as aplicações contra vulnerabilidades e ataques comuns.