Массовый открытый онлайн курс: Cloud-технологии: Блокчейн Инженерия

Кожанов Мурат
Кожанов Мурат
Информационно-коммуникационные технологии/Информатика
Класс:
10 класс
Раздел:
Компьютерные сети и информационная безопасность
Тема:

Массовый открытый онлайн курс: Cloud-технологии: Блокчейн Инженерия

27.10.2023
0
Скачать в PDF Скачать в WORD
Цели обучения (ссылка на учебную программу): <ul><li>Ознакомление школьников старших курсов и студентов с детальной структурой и содержанием курса, включая изучение ключевых модулей и ожидаемых результатов. </li><li>Понимание связи между текущим уроком и общими целями программы, а также его вклада в достижение конечных образовательных результатов.&nbsp;</li></ul>
Цели урока: <ul><li>Глубокое погружение в принципы работы и архитектуру блокчейн-технологий. </li><li> Разработка навыков проектирования и создания децентрализованных приложений с акцентом на смарт-контракты.</li></ul>
Языковые цели: <ul><li>Расширение словарного запаса школьников старших курсов и студентов за счет введения специализированных терминов и концепций блокчейна. </li><li> Улучшение навыков академического письма и говорения в контексте блокчейн-технологий.</li></ul>
Ожидаемый результат: <ul><li>Школьники старших курсов и студенты смогут самостоятельно анализировать и оценивать блокчейн-проекты, а также предлагать улучшения и инновационные решения. </li><li> Реализация собственного смарт-контракта, отвечающего заданным техническим требованиям.</li></ul>
Критерии успеха: <ul><li>Каждый школьник старшего курса и студент сможет представить и обосновать свой смарт-контракт, продемонстрировать его работу и безопасность. </li><li> Качественное выполнение практических заданий и активное участие в обсуждениях на уроке.</li></ul>
Привитие ценностей: <ul><li>Формирование ответственного отношения к разработке технологий, которые могут иметь значительное социальное влияние. </li><li> Поддержка культуры инноваций и непрерывного обучения в области высоких технологий.</li></ul>
Навыки использования ИКТ: <ul><li>Освоение передовых инструментов для разработки, тестирования и развертывания блокчейн-приложений.</li><li>Развитие умений работы с облачными сервисами и платформами, которые активно используются в блокчейн-разработке.</li></ul>
Межпредметная связь: <ul><li>Интеграция знаний из области математики (алгоритмы и криптография), информатики (программирование и системный анализ) и экономики (цифровая экономика и финансовые модели). </li><li> Связь с юридическими аспектами использования блокчейн, в том числе вопросами интеллектуальной собственности и регулирования.</li></ul>
Предыдущие знания: <ul><li>Знание основных концепций объектно-ориентированного программирования, а также понимание принципов работы современных операционных систем и баз данных. </li><li> Предварительное знакомство с основами финансов и экономики, что позволит лучше понять потенциальные приложения блокчейн-технологий.</li></ul>

Ход урока

Этапы урока Запланированная деятельность на уроке Ресурсы

Лекция 1-1

<p>История блокчейн технологии и цифровых финансов - 1 часть</p> <p><a href="https://www.youtube.com/watch?v=QliOqKZPQM8" target="_blank">Ссылка на 1 лекцию</a><br></p>

Лекция 1-2

История блокчейн технологии и цифровых финансов - 2 часть <p><a href="https://www.youtube.com/watch?v=GOFQSHZfDMU">Ссылка на 2 лекцию</a><br></p>

Лекция 1-3

Введение в Блокчейн <p><a href="https://www.youtube.com/watch?v=mjarf5s7-dE">Ссылка на 3 лекцию</a><br></p>

Лекция 1-4

<p>Merkle Root</p> <p><a href="https://www.youtube.com/watch?v=lamQVzqNa8o">Ссылка на 4 лекцию</a><br></p>

Лекция 1-5

Распределенный Реестр &amp; Прозрачность Блокчейна. <p><a href="https://www.youtube.com/watch?v=i7TD3gibxgY" target="_blank">Ссылка на 5 лекцию</a><br></p>

Лекция 1-6

Работа с тестовым Блокчейном <p><a href="https://www.youtube.com/watch?v=RuB_3GHeh3E">Ссылка на 6 лекцию</a><br></p>

Практика 1

<ul><li>Cоздание кошелька Практика по второй лекции: Создать web3 кошелек: https://metamask.io/ </li><li> Получить тестовые BNB: https://testnet.bnbchain.org/faucet-smart </li><li> Добавить сеть Binance Smart Chain Testnet в метамаск: https://chainlist.org/?testnets=true&amp;search=97 </li><li> Получить тестовые BNB: https://testnet.bnbchain.org/faucet-smart </li><li> Если первый кран не работает можно через: https://faucet.quicknode.com/binance-smart-chain/bnb-testnet </li><li> Создать второй аккаунт в метамаск (+ Create account): Отправить 0.1 BNB на второй аккаунт&nbsp; &nbsp; &nbsp;&nbsp;</li></ul>

Практика 2

<ul><li>Yellow paper, White paper Следующие ресурсы рекомендуются к прочтению чтобы больше узнать про работу блокчейна </li><li> Yellow paper ethereum: https://ethereum.github.io/yellowpaper/paper.pdf </li><li> White paper ethereum: https://ethereum.org/en/whitepaper/&nbsp; &nbsp;&nbsp;</li></ul>

Лекция 2-1

Ключевые термины - Криптография в Блокчейне <p><a href="https://www.youtube.com/watch?v=sOe6OfRJScU" target="_blank">Ссылка на 2-1 лекцию</a><br></p>

Лекция 2-2

Симметричное и ассиметричное шифрование <p><a href="https://www.youtube.com/watch?v=JNTl32AHx2w" target="_blank">Ссылка на 2-2 лекцию</a></p>

Лекция 2-3

Криптографические хэш-функции <p><a href="https://www.youtube.com/watch?v=kA6xCZcIXGo" target="_blank">Ссылка на 2-3 лекцию</a><br></p>

Лекция 2-4

Как работает Блокчейн <p><a href="https://www.youtube.com/watch?v=a04mdwNJtkY" target="_blank">Ссылка на 2-4 лекцию</a><br></p>

Лекция 2-5

<p>Рабочий процесс Блокчейна. НОДы</p> <p><a href="https://www.youtube.com/watch?v=NnP19TNtHUQ" target="_blank">Ссылка на 2-5 лекцию</a><br></p>

Лекция 2-6

Блокчейн демо <p><a href="https://www.youtube.com/watch?v=1qh1E9gDA9E" target="_blank">Ссылка на 2-6 лекцию</a><br></p>

Практика 3

<ul><li>Практика, криптография в блокчейн Работа с блокчейн обозревателем: https://testnet.bscscan.com/ </li><li> Как создаются ключи в EVM (Ethereum Virtual Machine): https://chainstack.com/how-do-ethereum-and-solana-generate-public-and-private-keys/ </li><li> Практика с симметричным шифром AES (Advanced Encryption Standard): https://aesencryption.net/</li></ul> <p><a href="https://testnet.bscscan.com/" target="_blank">testnet.bscscan</a><br></p>

Практика 2

<ul><li>Как создаются блоки в блокчейне: https://andersbrownworth.com/blockchain/</li></ul> <p><a href="https://andersbrownworth.com/blockchain/" target="_blank">Ссылка</a><br></p>

Лекция 3-1

Алгоритм консенсуса и майнинг блоков <p><a href="https://www.youtube.com/watch?v=8zXLWKtT8Vo" target="_blank">Ссылка на 3-1 лекцию</a><br></p>

Лекция 3-2

Алгоритм консенсуса <p><a href="https://www.youtube.com/watch?v=WmLI2Udd1FA" target="_blank">Ссылка на 3-2 лекцию</a><br></p>

Лекция 3-3

Альтернативные варианты алгоритма консенсуса <p><a href="https://www.youtube.com/watch?v=S0Xw9oEsjto" target="_blank">Ссылка на 3-3 лекцию</a><br></p>

Лекция 3-4

Валидаторы в BNB chain. Gas&amp;fees <p><a href="https://www.youtube.com/watch?v=pVsXlllEIwE" target="_blank">Ссылка на 3-4 лекцию</a><br></p>

Лекция 3-5

Обозреватель блокчейна <p><a href="https://www.youtube.com/watch?v=v7UoVdMTIKY" target="_blank">Ссылка на 3-5 лекцию</a><br></p>

Лекция 3-6

Разбор блока и транзакции <p><a href="https://www.youtube.com/watch?v=XS3YewCgKHM" target="_blank">Ссылка на 3-6 лекцию</a><br></p>

Практика 5

<ul><li>Практика по работе с обозревателем блокчейна </li><li> Обозреватель блокчейна: https://testnet.bscscan.com/ Разбор блока: https://testnet.bscscan.com/block/27656756 </li><li> Разбор транзакции https://testnet.bscscan.com/tx/0x1cda85f1d473f46174dd121ff4ef2c34baba7d6235f698dfe6b93f67703a73bf </li><li> Взаимодействие с dApp: https://pancakeswap.finance/?chain=bscTestnet </li><li> Взаимодействие со смарт-контрактами, пример pancakeswap: https://testnet.bscscan.com/address/0xD99D1c33F9fC3444f8101754aBC46c52416550D1#contracts</li></ul> <p><a href="https://testnet.bscscan.com/block/27656756" target="_blank">Ссылка</a><br></p>

Практика 6

<ul><li>Практика по работе c существующими приложениями </li><li> Обозреватель блокчейна: https://testnet.bscscan.com/ </li><li> Взаимодействие с decentralized exchange: <a href="https://pancakeswap.finance/?chain=bscTestnet" target="_blank">https://pancakeswap.finance/?chain=bscTestnet</a></li><li> Взаимодействие NFT marketplace: https://testnets.opensea.io/ </li><li> Разбор различных видов подписей</li></ul> <p><a href="https://pancakeswap.finance/?chain=bscTestnet" target="_blank">Ссылка</a><br></p>

Лекция 4-1

Понимание DLT, Bitcoin, Ethereum и BNB Chain. <p><a href="https://www.youtube.com/watch?v=Ak0Br8tQYbg" target="_blank">Ссылка на 4-1 лекцию</a><br></p>

Лекция 4-2

DLT в сравнении с традиционными базами данных <p><a href="https://www.youtube.com/watch?v=7lvlRxpBxyw" target="_blank">Ссылка на 4-2 лекцию</a><br></p>

Лекция 4-3

Bitcoin и его тип реестра <p><a href="https://www.youtube.com/watch?v=06VfCMZ8bvI" target="_blank">Ссылка на 4-3 лекцию</a><br></p>

Лекция 4-4

Ethereum и его тип реестра <p><a href="https://www.youtube.com/watch?v=y6zav4AP7Do" target="_blank">Ссылка на 4-4 лекцию</a><br></p>

Лекция 4-5

Ethereum как state machine <p><a href="https://www.youtube.com/watch?v=ChA4YJr5QLc" target="_blank">Ссылка на 4-5 лекцию</a><br></p>

Лекция 4-6

Практика с существующими приложениями <p><a href="https://www.youtube.com/watch?v=sLpAwBxZewg" target="_blank">Ссылка на 4-6 лекцию</a><br></p>

Практика 7

<ul><li>Понимание DLT, Bitcoin, Ethereum и BNB Chain Цель этого задания - углубить ваше понимание о распределенных технологиях (DLT) и три из самых известных криптовалют и блокчейн-платформ: Bitcoin, Ethereum и Binance Smart Chain (BNB Chain). </li><li> Задание 1: Основы DLT Исследуйте и напишите краткий отчет (около 300 слов) о том, что такое распределенная технология (DLT). Объясните, как работает DLT, включая концепции децентрализации, блокчейна и консенсуса. Приведите примеры использования DLT в реальной жизни. </li><li> Задание 2: Bitcoin и его Роль Опишите, что такое Bitcoin и как он работает. Расскажите об основных принципах его консенсус-механизма, децентрализации и майнинга. Объясните, как Bitcoin использовался и как он влияет на сферу финансов и экономику. </li><li> Задание 3: Ethereum и Децентрализованные Приложения Изучите Ethereum и его способность поддерживать смарт-контракты и децентрализованные приложения. Напишите о важных аспектах Ethereum, таких как EVM, токены ERC-20, и его влияние на развитие DeFi и других инноваций.</li><li> Задание 4: Binance Smart Chain и Применение Исследуйте Binance Smart Chain (BNB Chain) и опишите, какие особенности делают его уникальным. Расскажите о преимуществах и возможностях использования BNB Chain для различных сценариев, таких как создание смарт-контрактов, DeFi и децентрализованных приложений. </li><li> Задание 5: Сравнение и Анализ Сравните и проанализируйте Bitcoin, Ethereum и BNB Chain по следующим критериям: концепции, цели, технические характеристики, применение и будущие перспективы. Какие у них общие черты, а в чем различия? Какие преимущества и ограничения у каждой из них? </li><li> Заключение: Ваше исследование и анализ помогут углубить ваше понимание о DLT и криптовалютах, а также позволят рассмотреть разнообразные аспекты их влияния на современный мир. Данные знания будут полезны для понимания технологических и экономических трендов, связанных с блокчейном.</li></ul>

Лекция 5-1

Введение в смарт-контракты <p><a href="https://www.youtube.com/watch?v=7rFccqP1aSI" target="_blank">Ссылка на 5-1 лекцию</a><br></p>

Лекция 5-2

Введение в Solidity Часть 1 <p><a href="https://www.youtube.com/watch?v=8NtCFfG8yuQ" target="_blank">Ссылка на 5-2 лекцию</a><br></p>

Лекция 5-3

Введение в Solidity Часть 2 <p><a href="https://www.youtube.com/watch?v=Vn3Hgbd5rOo" target="_blank">Ссылка на 5-3 лекцию</a><br></p>

Лекция 5-4

Введение в Solidity Часть 3 <p><a href="https://www.youtube.com/watch?v=Mj-nz6u4ZXI" target="_blank">Ссылка на 5-4 лекцию</a><br></p>

Лекция 5-5

Введение в Solidity Часть 4 <p><a href="https://www.youtube.com/watch?v=GNtEY6Ld5JM" target="_blank">Ссылка на 5-5 лекцию</a><br></p>

Лекция 5-6

Введение в Solidity Часть 5 <p><a href="https://www.youtube.com/watch?v=Kv6kco2fn8M" target="_blank">Ссылка на 5-6 лекцию</a><br></p>

Практика 8

<ul><li># Intro to smart-contracts Модификаторы доступа: https://docs.soliditylang.org/en/v0.8.17/cheatsheet.html#function-visibility-specifiers Документация solidity: https://docs.soliditylang.org/en/v0.8.19/ </li><li> Практическое занятие: </li><li> Ознакомится со средой разработки для смарт-контрактов Remix: https://remix.ethereum.org/ </li><li> 1 Написать смарт-контракт: // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract Note { //Мы можем писать заметки а также читать наши заметки string myNote; //state variable (состояние переменная) //модификаторы доступа: private, internal, extarnal, public //Если public -&gt; автоматический создается геттер функция //reference type (ссылочных типов) локальных переменных пишем memory function setNote(string memory _note) public { myNote = _note; } function getNote() public view returns (string memory) { //view = gasless (бесплатной) return myNote; } function pureNote(string memory _pureNote) public pure returns (string memory){ //pure вы даже не читаете state return _pureNote; } }</li><li>2. Скомпилировать смарт-контракт </li><li> 3. Задеплоить контракт через “injected provider metamask” на bnb chain testnet (chain id 97) Взаимодействовать со смарт-контрактом </li><li> 4. Взаимодействовать со смарт-контрактом</li></ul> <p><a href="https://remix.ethereum.org/" target="_blank">remix.ethereum</a><br></p>

Практика 9

Intro to Solidity Coin Flipper smart-contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; //мы можем выбрать орел и решка //смарт-контракт подбрасывает монету и определяет победили ли мы contract CoinFlipper{ uint8 option; //1 BNB = 10^9 gwei //1 BNB = 10^18 wei //0.0001 BNB = 100000 constructor() payable {} function coinFlip(uint8 _option) public payable returns (bool){ require(_option &lt;2, "You can choose only 0 or 1"); require(address(this).balance &gt;= msg.value*2, "Address do not have sufficient balance"); //require option = _option;//орел - 0 решка - 1 uint256 result = block.timestamp%2;//result = 0 или 1 if (result == _option){ payable(msg.sender).transfer(msg.value*2); return true; } else{ return false; } } receive() external payable { } }

Отзывы(0)