Смарт-контракти можуть бути розроблені для визначення того, хто може отримати доступ до певних даних у децентралізованій системі ШІ. Встановлюючи попередньо визначені умови в контракті, ми можемо гарантувати, що лише авторизовані особи зможуть отримати доступ до даних і використовувати їх, зберігаючи таким чином конфіденційність і безпеку даних.
Solidity 
 прагма solidity ^0.8.0; 
 контракт DataAccessControl { 
 адреса public dataOwner; 
 відображення (адреса => логічний) public authorizedEntities; 
 modifier onlyAuthorized() {
        require(authorizedEntities[msg.sender], "Not authorized");
        _;
    }
    функція grantAccess(address _entity) public {
        require(msg.sender == dataOwner, "Only the owner can grant access");
        authorizedEntities[_entity] = true;
    }
    функція revokeAccess(address _entity) public {
        require(msg.sender == dataOwner, "Only the owner can revoke access");
        authorizedEntities[_entity] = false;
    }
    функція accessData() public view onlyAuthorized повертає (string memory) {
        return "Here's the data you requested!";
    }
}
Цей договір дозволяє власнику даних надавати або скасовувати доступ певним особам. Лише ті, хто має доступ, можуть отримати дані.
У децентралізованих мережах штучного інтелекту учасники (наприклад, постачальники даних або інструктори моделей) можуть заохочуватися винагородами. Розумні контракти можуть автоматизувати цей розподіл винагороди на основі заздалегідь визначених критеріїв.
Solidity 
 прагма solidity ^0.8.0; 
 контракт RewardDistribution { 
 адреса публічного адміністратора; 
 відображення (адреса => uint) загальнодоступних нагород; 
 функція distributeReward(address _contributor, uint _amount) public {
        require(msg.sender == admin, "Only admin can distribute rewards");
        rewards[_contributor] += _amount;
    }
    function claimReward() public {
        uint reward = rewards[msg.sender];
        require(reward > 0, "No rewards to claim");
        rewards[msg.sender] = 0;
        payable(msg.sender).transfer(reward);
    }
}
Цей контракт дозволяє адміністратору розподіляти винагороди між співавторами, які потім можуть вимагати свої винагороди.
DAI dApps покладаються на смарт-контракти, щоб гарантувати, що всі операції в додатку є прозорими, безпечними та децентралізованими. Наприклад, смарт-контракт може використовуватися DAI dApp для обробки реєстрацій користувачів, надсилання даних і запитів на навчання моделі AI.
Випадки застосування смарт-контрактів стають складнішими, оскільки ми просуваємось у сфері децентралізованого штучного інтелекту. Можливості безмежні, від виконання складних багатосторонніх обчислень до надання змін у режимі реального часу в моделях ШІ на основі даних блокчейну. На наступних курсах ми розглянемо більш складні випадки.
Пам’ятайте, що наведені вище приклади коду наведено лише для демонстрації. Щоб побачити їх у дії, ви можете перевірити та змінити їх у Remix IDE. Завжди забезпечуйте широке тестування та аудит під час роботи зі смарт-контрактами, особливо в режимі реального часу.
Цей урок забезпечив більш глибоке розуміння функції смарт-контрактів у децентралізованому ШІ. У міру просування ми розглядатимемо складніші принципи, а також фактичне використання та проблеми поєднання штучного інтелекту та технологій блокчейн.