This component is a part of the Blockchain Voting System, which aims to integrate blockchain technology into the vote-counting system to enhance security and transparency in election processes.
The asuncion_sc
module for the Blockchain Voting System facilitates the blockchain-based verification and storage of voting records. It adds a critical layer to the traditional Latin American voting process by making it auditable, secure, and accessible on the blockchain. The module performs the following tasks:
- Manages the state of voting records (
Actas
) throughout each stage: scanning, intelligent recognition, digitization, and quality control. - Secures each record by creating and storing hashes on the Cardano blockchain.
- Enables decentralized storage of images, depending on factors such as cost and decentralized storage options compatible with Cardano.
- State Management: Tracks each voting record’s progress through scanning, intelligent recognition, digitization, and quality control.
- Blockchain Hashing: Publishes unique hashes to the Cardano blockchain for verification at every stage.
- IPFS Integration: Allows decentralized storage of images when feasible.
- Scanning: Digitizes the voting record, generating a hash stored on the blockchain.
- Intelligent Recognition: Recognizes characters in each segmented image section, assigning votes to candidates on the blockchain.
- Digitization: "Digitators" validate and enter votes based on segments, verifying each hash on the blockchain.
- Quality Control: Ensures the accuracy of votes through a "2 out of 3" validation approach.
- Cardano Blockchain Knowledge
- Aiken Language Familiarity
- Clone the repository:
$ git clone https://github.com/democracyonchain/asuncion-sc.git
- Build the Aiken scripts using:
aiken build
- Run all checks to validate functionality:
aiken check
Write validators in the validators
folder, and supporting functions in the lib
folder using .ak
as a file extension.
Example validator (validators/always_true.ak
):
validator {
fn spend(_datum: Data, _redeemer: Data, _context: Data) -> Bool {
True
}
}
To generate HTML documentation, use:
aiken docs
Find more on Aiken's user manual.
Este componente forma parte del Sistema de Votación en Blockchain y está diseñado para integrar tecnología blockchain en el sistema de conteo de votos, brindando seguridad y transparencia en los procesos electorales.
El módulo asuncion_sc
del Sistema de Votación en Blockchain permite la verificación y almacenamiento de actas de votación en la blockchain de manera segura y auditable. Este módulo cumple las siguientes funciones:
- Gestiona el estado de las actas de votación (
Actas
) a lo largo de cada etapa: escaneo, reconocimiento inteligente, digitación y control de calidad. - Asegura cada acta mediante la creación y almacenamiento de hashes en la blockchain de Cardano.
- Permite el almacenamiento descentralizado de imágenes, según factores como costo y opciones de almacenamiento compatibles con Cardano.
- Gestión de Estado: Monitorea el progreso de cada acta en las fases de escaneo, reconocimiento inteligente, digitación y control de calidad.
- Hashing en Blockchain: Publica hashes únicos en la blockchain de Cardano para verificación en cada etapa.
- Integración con IPFS: Permite almacenamiento descentralizado de imágenes cuando sea viable.
- Escaneo: Digitaliza el acta, generando un hash almacenado en la blockchain.
- Reconocimiento Inteligente: Reconoce caracteres en cada sección segmentada de la imagen, asignando votos a candidatos en la blockchain.
- Digitación: Los "digitadores" validan e ingresan votos según los segmentos, verificando cada hash en la blockchain.
- Control de Calidad: Asegura la precisión de los votos mediante una validación "2 de 3".
- Conocimiento de Blockchain en Cardano
- Familiaridad con el Lenguaje Aiken
- Clonar el repositorio:
$ git clone https://github.com/democracyonchain/asuncion-sc.git
- Construya los scripts de Aiken usando:
aiken build
- Ejecute todas las verificaciones para validar la funcionalidad:
aiken check
Escriba validadores en la carpeta validators
y funciones de soporte en la carpeta lib
usando la extensión .ak
.
Ejemplo de validador (validators/always_true.ak
):
validator {
fn spend(_datum: Data, _redeemer: Data, _context: Data) -> Bool {
True
}
}
Para generar documentación en HTML, use:
aiken docs
Encuentra más en el manual de usuario de Aiken.