Розробка системи цифрових сертифікатів на блокчейні

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка системи цифрових сертифікатів на блокчейні
Середній
~1-2 тижні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1286
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

Розробка системи цифрових сертифікатів на блокчейні

Блокчейн-сертифікати вирішують головну проблему традиційних цифрових документів: верифікацію. PDF диплом можна підробити. Блокчейн-сертифікат верифікується за секунди — будь-хто може перевірити подлинність без звернення до видавця.

Архітектура системи

Видавець (університет, платформа, компанія) видає сертифікат, підписує і записує хеш on-chain.

Отримувач отримує сертифікат (PDF + JSON) та посилання для верифікації.

Верифікатор (роботодавець, інший університет) перевіряє подлинність — хеш документу збігається з on-chain записом.

On-Chain зберігання: хеші, не дані

Зберігання повних даних on-chain дорого і порушує приватність. Правильний підхід: зберігати тільки хеш сертифікату.

contract CertificateRegistry {
    mapping(bytes32 => CertificateRecord) public certificates;
    
    struct CertificateRecord {
        address issuer;
        uint256 issuedAt;
        bool revoked;
        string metadataURI;  // IPFS CID з метаданими
    }
    
    event CertificateIssued(bytes32 indexed certHash, address indexed recipient, address indexed issuer);
    event CertificateRevoked(bytes32 indexed certHash);
    
    function issueCertificate(
        bytes32 certHash,
        address recipient,
        string calldata metadataURI
    ) external onlyAuthorizedIssuer {
        require(certificates[certHash].issuedAt == 0, "Already issued");
        
        certificates[certHash] = CertificateRecord({
            issuer: msg.sender,
            issuedAt: block.timestamp,
            revoked: false,
            metadataURI: metadataURI
        });
        
        emit CertificateIssued(certHash, recipient, msg.sender);
    }
    
    function verifyCertificate(bytes32 certHash) external view 
        returns (bool valid, address issuer, uint256 issuedAt) {
        CertificateRecord memory record = certificates[certHash];
        valid = record.issuedAt > 0 && !record.revoked;
        issuer = record.issuer;
        issuedAt = record.issuedAt;
    }
}

Стандарт Blockcerts

Blockcerts — відкритий стандарт для blockchain сертифікатів (MIT + Learning Machine). Описує JSON-LD формат та процес верифікації.

{
    "@context": ["https://www.w3.org/2018/credentials/v1", "https://w3id.org/blockcerts/v3"],
    "type": ["VerifiableCredential", "BlockcertsCredential"],
    "issuer": "did:ethr:0xIssuerAddress",
    "issuanceDate": "2024-01-15T00:00:00Z",
    "credentialSubject": {
        "id": "did:ethr:0xRecipientAddress",
        "achievement": {
            "name": "Бакалавр комп'ютерних наук"
        }
    },
    "proof": {
        "type": "MerkleProof2019",
        "merkleRoot": "0xabc123",
        "txId": "0xTransactionHash",
        "targetHash": "0xCertificateHash"
    }
}

Batch видача через Merkle Tree

Видача 1000 дипломів в одній транзакції:

Merkle tree з хешів всіх сертифікатів. Тільки merkle root зберігається on-chain. Кожен сертифікат містить merkle proof — шлях від листа до кореня. Верифікація: обчислити хеш сертифікату → перевірити merkle proof → порівняти з on-chain root.

Економія: 1 транзакція замість 1000. Вартість верифікації — локальні обчислення.

Розробка системи цифрових сертифікатів — 3-6 тиж для базової системи з web UI для видачі та верифікації.