Duration 4 Days 24 CPD hours This course is intended for This advanced course is the third in a series of three classes designed for RPG IV programmers. Programming experience using RPG IV is mandatory when enrolling in this course. You should have attended RPG IV Programming Fundamentals Workshop for IBM i (AS060) and RPG IV Programming Intermediate Workshop for IBM i (AS070). This course is not designed for RPG III programmers who want RPG IV. RPG III programmers should review the agenda carefully before they make a decision to attend this class. Overview Use address pointers and user spaces in RPG IV programs Write database triggers in RPG IV Develop ILE modular objects and package them in service programs Explain the purpose of ILE activation groups Explain the behavior of error handling and percolation in ILE Code an ILE error handling program Call application program interfaces (APIs) from RPG IV program Programmers who can write comprehensive RPG IV programs using the IBM i RPG IV compiler (v7), learn additional skills & techniques. Comprehensive exposure to advanced features of the Integrated Language Environment (ILE) RPG compiler and the IBM i. Programmers who can write comprehensive RPG IV programs using the IBM i RPG IV compiler (v7), learn additional skills & techniques. Comprehensive exposure to advanced features of the Integrated Language Environment (ILE) RPG compiler and the IBM i.
Duration 3 Days 18 CPD hours This course is intended for Before taking this course delegates should already be familiar with basic analytics techniques, comfortable with basic data manipulation tools such as spreadsheets and databases and already familiar with at least one programming language Overview This course teaches delegates who are already familiar with analytics techniques and at least one programming language how to effectively use the programming language for three tasks: data manipulation and preparation, statistical analysis and advanced analytics (including predictive modelling and segmentation). Mastery of these techniques will allow delegates to immediately add value in their work place by extracting valuable insight from company data to allow better, data-driven decisions. Outcomes: After completing the course, delegates will be capable of writing production-ready R code to perform advanced analytics tasks enabling their organisations make better, data-driven decisions. Becoming a world class data analytics practitioner requires mastery of the most sophisticated data analytics tools. These programming languages are some of the most powerful and flexible tools in the data analytics toolkit. Topic 1 Intro to our chosen language Topic 2 Basic programming conventions Topic 3 Data structures Topic 4 Accessing data Topic 5 Descriptive statistics Topic 6 Data visualisation Topic 7 Statistical analysis Topic 8 Advanced data manipulation Topic 9 Advanced analytics ? predictive modelling Topic 10 Advanced analytics ? segmentation
Duration 1 Days 6 CPD hours This course is intended for This course is designed for users who wish to analyze Website or mobile application traffic or online advertising campaigns using Google Analytics and Standard Google Analytics reports for a variety of reasons including increasing customer reach, and increasing conversions. Overview Upon successful completion of this course, students will be able to will perform more in-depth analysis of website data by using Google Analytics reports. In this course, you will create a Google Analytics account, create multiple web properties to monitor, and tag website pages with Google Analytics tracking code. You will then create multiple views for collecting and analyzing data, and create filters, goals, and funnels for your views. You will then use Google Analytics real-time reports and dashboards to perform quick analysis of your monitored websites. Implementing Google Analytics Overview of Google Analytics Create a Google Analytics Account Tag Your Pages Configuring Google Analytics Configure Google Analytics Settings Configure Accounts, Properties, and Views Configuring Goals, Funnels, and Filters Configure Goals Configure Funnels Configure Filters Configuring Monitoring and Alerting Monitor Real-Time Reports Manage Dashboards Manage Custom Alerts Analyzing Website Traffic Analyze Web Traffic with Audience Reports Analyze Web Traffic with Acquisition Reports Analyzing Behavior and Conversions Analyze Data with Behavior Reports Analyze Data with Conversion Reports Create Reports with Google Data Studio
Duration 3 Days 18 CPD hours This course is intended for Incoming attendees are required to have current, hands-on experience in developing basic web applications. Student should have some experience with HTML and CSS and be well versed in JavaScript. Experience with coding for the server side would be helpful. Overview This skills-focused course is approximately 50% hands-on. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Learn server-side JavaScript coding through Node.js Explore the latest JavaScript features, and ECMAScript modules Walk through different stages of developing robust applications using Node.js Install and use Node.js for development Use the Express application framework Work with REST service development using the Restify framework Use data storage engines such as MySQL, SQLITE3, and MongoDB Node.js is a server-side JavaScript platform using an event-driven, non-blocking I/O model allowing users to build fast and scalable data-intensive applications running in real time.This fast-paced hands-on course provides the core skills required to develop web applications with Node.js. You will progress from a rudimentary knowledge of JavaScript and server-side development to being able to create, maintain and test your own Node.js applications. You will explore the importance of transitioning to functions that return Promise objects, and the difference between fs, fs/promises and fs-extra, as well as how to use the HTTP Server and Client objects, and data storage with both SQL and MongoDB databases. Overview of Node.js The capabilities of Node.js Why should you use Node.js? The Node.js event-driven architecture Embracing advances in the JavaScript language Developing microservices or maxiservices with Node.js Setting Up Node.js System requirements Installing Node.js using package managers Installing from the source on POSIX-like systems Installing multiple Node.js instances with nvm Requirements for installing native code modules Choosing Node.js versions to use and the version policy Choosing editors and debuggers for Node.js Running and testing commands Advancing Node.js with ECMAScript 2015, 2016, 2017, and beyond Using Babel to use experimental JavaScript features Exploring Node.js Modules Defining a Node.js module Finding and loading modules using require and import Using npm ? the Node.js package management system The Yarn package management system HTTP Servers and Clients Sending and receiving events with EventEmitter Understanding HTTP server applications HTTP Sniffer ? listening to the HTTP conversation Web application frameworks Getting started with Express Creating an Express application to compute Fibonacci numbers Making HTTPClient requests Calling a REST backend service from an Express application Your First Express Application Exploring Promises and async functions in Express router functions Architecting an Express application in the MVC paradigm Creating the Notes application Theming your Express application Scaling up ? running multiple Notes instances Implementing the Mobile-First Paradigm Understanding the problem ? the Notes app isn't mobile friendly Learning the mobile-first paradigm theory Using Twitter Bootstrap on the Notes application Flexbox and CSS Grids Mobile-first design for the Notes application Using third-party custom Bootstrap themes Data Storage and Retrieval Remembering that data storage requires asynchronous code Logging and capturing uncaught errors Storing notes in a filesystem Storing notes with the LevelDB datastore Storing notes in SQL with SQLite3 Storing notes the ORM way with Sequelize Storing notes in MongoDB Additional course details: Nexus Humans Introduction to Node.js (TT4153) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Introduction to Node.js (TT4153) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 2 Days 12 CPD hours This course is intended for System administrators and consultants, application owners, and system architects Overview By the end of the course, you should be able to meet the following objectives: Describe VMware Carbon Black Cloud platform Describe data flows on VMware Carbon Black Cloud Create and edit a custom role in VMware Carbon Black Cloud Recognize the impact of a user role on a console user Describe the VMware Carbon Black Cloud sensor resource usage Explain sensor usage in VMware Carbon Black Cloud Identify configuration settings for endpoints in sensor policy settings Determine requirements for initial deployment of sensors Recognize the differences between attended and unattended sensor installation methods Identify the correct deployment strategy for a given scenario Recognize the deployment process for VMware Carbon Black Cloud Workload⢠Identify eligible workloads in a VMware vSphere environment Describe VMware Carbon Black Cloud sensor deployment Manage VMware vSphere workloads Identify sensor status in RepCLI This two-day hands-on training course provides you with the knowledge, skills, and tools to achieve competency in planning and deploying VMware Carbon Black Cloud in your environment. This course explains the VMware Carbon Black Cloud components, managing users and roles in VMware Carbon Black Cloud, configuring policies to support sensor deployment and management, and presents methods for deploying sensors across endpoints and workloads. Course Introduction Introductions and course logistics Course objectives Introduction to VMware Carbon Black Cloud Describe the VMware Carbon Black Cloud platform Describe VMware Carbon Black Cloud operating systems requirements Identify interesting files according to VMware Carbon Black Cloud Identify events collected Describe data flows Managing VMware Carbon Black Cloud Roles and Users Describe the use of roles in VMware Carbon Black Cloud Describe RBAC capabilities Create and edit a custom role Manage new console users Recognize the impact of a user role on a console user Describe authentication mechanisms VMware Carbon Black Cloud Sensors Describe the VMware Carbon Black Cloud sensor resource usage List the supported operating systems for VMware Carbon Black Cloud sensors Explain sensor usage in VMware Carbon Black Cloud Preparing for Deployment Identify configuration settings for endpoints in sensor policy settings Organize sensors using sensor groups to assign the desired policy based on specific criteria Compare VDI sensor settings as compared to traditional endpoint sensor settings Determine requirements for the initial deployment of sensors Evaluate the policy impact on sensors Identify best practices for deploying sensors Installing Sensors Describe how to send an installation request Recognize the features and limitations of an installation code and company code Recognize the process for successfully completing an attended installation Recognize the differences between attended and unattended sensor installation methods Identify the correct deployment strategy for a given scenario Generate logs with unattended installations Generate sensor logs Check network connectivity for sensor installation Deploying Workloads Recognize the deployment process for VMware Carbon Black Cloud Workload Identify eligible workloads in a vSphere environment Recognize how to enable the VMware Carbon Black Cloud sensor on a VM workload Managing Sensors Describe VMware Carbon Black Cloud sensor deployment Explain the differences in sensor status Describe sensor update capabilities Explain sensor actions Manage vSphere workloads Post-deployment Validation Describe the process of a sensor background scan Recognize a properly registered sensor installation Identify sensor status in RepCLI Additional course details:Notes Delivery by TDSynex, Exit Certified and New Horizons an VMware Authorised Training Centre (VATC) Nexus Humans VMware Carbon Black Cloud: Plan and Deploy training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the VMware Carbon Black Cloud: Plan and Deploy course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 3 Days 18 CPD hours This course is intended for This course is geared for Python experienced attendees who wish to learn and use basic machine learning algorithms and concepts. Students should have skills at least equivalent to the Python for Data Science courses we offer. Overview Working in a hands-on learning environment, guided by our expert team, attendees will learn to Understand the main concepts and principles of predictive analytics Use the Python data analytics ecosystem to implement end-to-end predictive analytics projects Explore advanced predictive modeling algorithms w with an emphasis on theory with intuitive explanations Learn to deploy a predictive model's results as an interactive application Learn about the stages involved in producing complete predictive analytics solutions Understand how to define a problem, propose a solution, and prepare a dataset Use visualizations to explore relationships and gain insights into the dataset Learn to build regression and classification models using scikit-learn Use Keras to build powerful neural network models that produce accurate predictions Learn to serve a model's predictions as a web application Predictive analytics is an applied field that employs a variety of quantitative methods using data to make predictions. It involves much more than just throwing data onto a computer to build a model. This course provides practical coverage to help you understand the most important concepts of predictive analytics. Using practical, step-by-step examples, we build predictive analytics solutions while using cutting-edge Python tools and packages. Hands-on Predictive Analytics with Python is a three-day, hands-on course that guides students through a step-by-step approach to defining problems and identifying relevant data. Students will learn how to perform data preparation, explore and visualize relationships, as well as build models, tune, evaluate, and deploy models. Each stage has relevant practical examples and efficient Python code. You will work with models such as KNN, Random Forests, and neural networks using the most important libraries in Python's data science stack: NumPy, Pandas, Matplotlib, Seabor, Keras, Dash, and so on. In addition to hands-on code examples, you will find intuitive explanations of the inner workings of the main techniques and algorithms used in predictive analytics. The Predictive Analytics Process Technical requirements What is predictive analytics? Reviewing important concepts of predictive analytics The predictive analytics process A quick tour of Python's data science stack Problem Understanding and Data Preparation Technical requirements Understanding the business problem and proposing a solution Practical project ? diamond prices Practical project ? credit card default Dataset Understanding ? Exploratory Data Analysis Technical requirements What is EDA? Univariate EDA Bivariate EDA Introduction to graphical multivariate EDA Predicting Numerical Values with Machine Learning Technical requirements Introduction to ML Practical considerations before modeling MLR Lasso regression KNN Training versus testing error Predicting Categories with Machine Learning Technical requirements Classification tasks Credit card default dataset Logistic regression Classification trees Random forests Training versus testing error Multiclass classification Naive Bayes classifiers Introducing Neural Nets for Predictive Analytics Technical requirements Introducing neural network models Introducing TensorFlow and Keras Regressing with neural networks Classification with neural networks The dark art of training neural networks Model Evaluation Technical requirements Evaluation of regression models Evaluation for classification models The k-fold cross-validation Model Tuning and Improving Performance Technical requirements Hyperparameter tuning Improving performance Implementing a Model with Dash Technical requirements Model communication and/or deployment phase Introducing Dash Implementing a predictive model as a web application Additional course details: Nexus Humans Hands-on Predicitive Analytics with Python (TTPS4879) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Hands-on Predicitive Analytics with Python (TTPS4879) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 4 Days 24 CPD hours This course is intended for This course is intended for: Network administrators Network engineers with little or no programming or Python experience Network managers Systems engineers Overview After taking this course, you should be able to: Create a Python script Describe data types commonly used in Python coding Describe Python strings and their use cases Describe Python loops, conditionals, operators, and their purposes and use cases Describe Python classes, methods, functions, namespaces, and scopes Describe the options for Python data manipulation and storage Describe Python modules and packages, their uses, and their benefits Explain how to manipulate user input in Python Describe error and exception management in Python Describe Python code debugging methods The Programming for Network Engineers (PRNE) v2.0 course is designed to equip you with fundamental skills in Python programming. Through a combination of lectures and lab experience in simulated network environments, you will learn to use Python basics to create useful and practical scripts with Netmiko to retrieve data and configure network devices. Upon completion of this course, you should have a basic understanding of Python, including the knowledge to create, apply, and troubleshoot simple network automation scripts. Course Outline Introducing Programmability and Python for Network Engineers Scripting with Python Examining Python Data Types Manipulating Strings Describing Conditionals, Loops, and Operators Exploring Classes, Methods, Functions, Namespaces, and Scopes Exploring Data Storage Options Exploring Python Modules and Packages Gathering and Validating User Input Analyzing Exceptions and Error Management Examining Debugging Methods
Duration 2 Days 12 CPD hours This course is intended for The primary audience for this course is as follows: Network Video Engineer Voice/UC/Collaboration/Communications Engineer Collaboration Tools Engineer Collaboration Sales/Systems Engineer This is a two day instructor-led course that focuses on the skills and knowledge needed to implement and configure a Cisco TelePresence Management Suite and Cisco TelePresence Management Suite Extensions. Students will configure TMS, TMSPE, TMSXE, VCS and UCM for management of endpoints. Students will also learn to Configure and Schedule Conferencing, Administrative Tasks, Set up Microsoft Active Directory Users, Manage Conferences and Provision Devices. Installing Cisco Telepresence Management Server Windows Server Installation SQL Server Installation Server Pre-requisites and configuration Installing TMS Installing TMS Provisioning Extensions Release and Option Keys Upgrading TMS Backup TMS Configuring Cisco TelePresence Management Suite (TMS) Initial Configuration Endpoint Configuration Adding User Accounts and Profiles Groups and Permissions Active Directory Lookup Configuration Templates Setting Configuration VCS Configuration for TMS Direct Endpoint Management VCS/TMS Direct Managed Endpoint Features CUCM Configuration for TMS Direct Endpoint Management ? CUCM TMS Responsibilities CUCM Responsibilities Findme Configuration Phonebooks & Phonebook Sources Booking Conferencing Conference Creation Advanced Conference Settings Booking & Scheduling Conference Monitoring Dial Plans, Configuration Templates Scheduler/Smart Scheduler Reporting on TMS Reporting Basics Creating a Report Using Reporting Templates Bridge Utilization Call Detail Records Billing Code Statistics Conferences System Managing and Troubleshooting TMS Using the Logs Cisco TMS Ticketing System Troubleshooting VCS Registrations Troubleshooting CUCM Registrations System Maintenance
Duration 5 Days 30 CPD hours This course is intended for This course is for administrators and users who are responsible for planning, administrating and configuring an IBM FileNet P8 Platform system Overview Introduction to IBM FileNet P8 Platform - IBM FileNet P8 Platform features - IBM FileNet P8 Platform integration options - IBM FileNet P8 Platform components - IBM FileNet P8 Platform solutions Architecture and domain structures - IBM FileNet P8 Platform Architecture - Explore the core IBM FileNet P8 Platform applications - Locate P8 domain structures - Use IBM Content Navigator Manage logging - View and archive system logs - Configure trace logging Configure auditing - Create audit definitions - Prune audit entries Manage storage areas - Create a file storage area - Create a storage policy - Create an advanced storage area Build an object store - Create JDBC data sources for an object store - Create an object store - Add the repository to an IBM Content Navigator desktop Create property templates and classes - Create a choice list - Create property templates - Create document and folder classes Modify classes and properties - Change the property template name - Modify a choice list - Work with metadata dependencies Use events to trigger actions - Create a subscription with an event action - Update the event action with new code module Configure security for IBM FileNet P8 assets - Configure initial object store security - Use the Security Script wizard - Configure default instance security - Configure security inheritance - Implement designer group access - Configure role-based access Use bulk operations - Use bulk actions to modify security for multiple documents - Use bulk operations to cancel checkout of documents Configure content-based retrieval searches - Register IBM Content Search Services - Configure index partitioning - Configure content-based indexes - Create content-based searches Work with sweeps - Configure a bulk move content job - Create a disposal policy - Create a content migration policy Move IBM FileNet P8 Platform applications between environments - Configure a destination environment - Create a source environment - Export the FileNet P8 application assets - Convert and analyze the FileNet P8 assets - Import the application assets - Run a change impact analysis in command line Introduction to IBM FileNet P8 content services containers - IBM FileNet P8 content services containers - Benefits of containers - Considerations when choosing containers Organize content across the enterprise - Plan for Multitenancy - Isolate content in an IBM FileNet P8 platform system This course teaches you the configuration and administration of an IBM FileNet P8 Platform 5.5.x system. It introduces you to the key concepts of IBM FileNet P8 Platform architecture and organizing the content across the enterprise. You will learn how to build content repositories, configure metadata, create storage areas, manage security, logging, and auditing, run bulk processing, use the sweep framework, extend the functionality with Events and Subscription, migrate and deploy FileNet P8 assets between environments, and configure content-based retrieval searches Introduction to IBM FileNet P8 Platform IBM FileNet P8 Platform features IBM FileNet P8 Platform integration options IBM FileNet P8 Platform components IBM FileNet P8 Platform solutions Architecture and domain structures IBM FileNet P8 Platform Architecture Explore the core IBM FileNet P8 Platform applications Locate P8 domain structures Use IBM Content Navigator Manage logging View and archive system logs Configure trace logging Configure auditing Create audit definitions Prune audit entries Manage storage areas Create a file storage area Create a storage policy Create an advanced storage area Build an object store Create JDBC data sources for an object store Create an object store Add the repository to an IBM Content Navigator desktop Create property templates and classes Create a choice list Create property templates Create document and folder classes Modify classes and properties Change the property template name Modify a choice list Work with metadata dependencies Use events to trigger actions Create a subscription with an event action Update the event action with new code module Configure security for IBM FileNet P8 assets Use the Security Script wizard Configure default instance security Configure security inheritance Implement designer group access Configure rolebased access +O35Use bulk operations Use bulk actions to modify security for multiple documents Use bulk operations to cancel checkout of documents Configure content-based retrieval searches Register IBM Content Search Services Configure index partitioning Configure contentbased indexes Create contentbased searches Work with sweeps Configure a bulk move content job Create a disposal policy Create a content migration policy Move IBM FileNet P8 Platform applications between environments Configure a destination environment Create a source environment Export the FileNet P8 application assets Convert and analyze the FileNet P8 assets Import the application assets Run a change impact analysis in command line Introduction to IBM FileNet P8 content services container IBM FileNet P8 content services containers Benefits of containers Considerations when choosing container Organize content across the enterprise Plan for Multitenancy Isolate content in an IBM FileNet P8 platform system
Duration 3 Days 18 CPD hours This course is intended for Blockchain Architects Blockchain DevelopersApplication Developers Blockchain System AdministratorsNetwork Security Architects Cyber Security ExpertsIT Professionals w/cyber security experience Overview Those who attend the Security for Blockchain Professionals course and pass the exam certification will have a demonstrated knowledge of:Identifying and differentiating between security threats and attacks on a Blockchain network.Blockchain security methods, best practices, risk mitigation, and more.All known (to date) cyber-attack vectors on the Blockchain.Performing Blockchain network security risk analysis.A complete understanding of Blockchain?s inherent security features and risks.An excellent knowledge of best security practices for Blockchain System/Network Administrators.Demonstrating appropriate Blockchain data safeguarding techniques. This course covers all known aspects of Blockchain security that exist in the Blockchain environment today and provides a detailed overview of all Blockchain security issues, including threats, risk mitigation, node security integrity, confidentiality, best security practices, advanced Blockchain security and more. Fundamental Blockchain Security Cryptography for the Blockchain Hash Functions Public Key Cryptography Elliptic Curve Cryptography A Brief Introduction to Blockchain The Blocks The Chains The Network Promises of the Blockchain Blockchain Security Assumptions Digital Signature Security Hash Function Security Limitations of Basic Blockchain Security Public Key Cryptography Review Real-Life Public Key Protection Cryptography and Quantum Computers Lab 1 (Tentative) Finding Hash Function Collisions Reversible hash function Hash function with poor non-locality Hash function with small search space Breaking Public Key Cryptography Brute Forcing a Short Private Key Brute Forcing a Poorly-Chosen Private Key Consensus in the Blockchain Blockchain Consensus and Byzantine Generals Blockchain Networking Review Byzantine Generals Problem Relation to Blockchain Byzantine Fault Tolerance Introduction to Blockchain Consensus Security Blockchain Consensus Breakthrough Proof of Work What is Proof of Work? How does Proof of Work Solve BGP? Proof of Work Security Assumptions Attacking Proof of Work Proof of Stake What is Proof of Stake? How does Proof of Stake Solve BGP? Proof of Stake Security Assumptions Attacking Proof of Stake General Attacks on Blockchain Consensus Other Blockchain Consensus Algorithms Lab 2 (Tentative) Attacking Proof of Work Performing a 51% Attack Performing a Selfish Mining Attack Attacking Proof of Stake Performing a XX% Attack Performing a Long-Range Attack Malleable Transaction Attacks Advanced Blockchain Security Mechanisms Architectural Security Measures Permissioned Blockchains Checkpointing Advanced Cryptographic Solutions Multiparty Signatures Zero-Knowledge Proofs Stealth Addresses Ring Signatures Confidential Transactions Lab 3 (Tentative) Permissioned Blockchains 51% on a Checkpointed Blockchain Data mining on a blockchain with/without stealth addresses Zero-Knowledge Proof Simulation Trying to fake knowledge of a ZKP Module 4: Blockchain for Business Introduction to Ethereum Security What is Ethereum Consensus in Ethereum Smart Contracts in Ethereum Ethereum Security Pros and Cons of Ethereum Blockchains Introduction to Hyperledger Security What is Hyperledger Consensus in Hyperledger Smart Contracts in Hyperledger Hyperledger Security Pros and Cons of Hyperledger Blockchains Introduction to Corda Security What is Corda Consensus in Corda Smart Contracts in Corda Corda Security Pros and Cons of Corda Blockchains Lab 4 Blockchain Risk Assessment What are the Risks of the Blockchain? Information Security Information Sensitivity Data being placed on blockchain Risks of disclosure Regulatory Requirements Data encryption Data control PII protection Blockchain Architectural Design Public and Private Blockchains Open and Permissioned Blockchains Choosing a Blockchain Architecture Lab 5 Exploring public/private open/permissioned blockchains? Basic Blockchain Security Blockchain Architecture User Security Protecting Private Keys Malware Update Node Security Configuring MSPs Network Security Lab 6 (TBD) Smart Contract Security Introduction to Smart Contracts Smart Contract Security Considerations Turing-Complete Lifetime External Software Smart Contract Code Auditing Difficulties Techniques Tools Lab 7 (Tentative) Try a couple of smart contract code auditing tool against different contracts with built-in vulnerabilities Module 8: Security Implementing Business Blockchains Ethereum Best Practices Hyperledger Best Practices Corda Best Practices Lab 8 Network-Level Vulnerabilities and Attacks Introduction to Blockchain Network Attacks 51% Attacks Denial of Service Attacks Eclipse Attacks Routing Attacks Sybil Attacks Lab 9 Perform different network-level attacks System-Level Vulnerabilities and Attacks Introduction to Blockchain System Vulnerabilities The Bitcoin Hack The Verge Hack The EOS Vulnerability Lab 10 Smart Contract Vulnerabilities and Attacks Introduction to Common Smart Contract Vulnerabilities Reentrancy Access Control Arithmetic Unchecked Return Values Denial of Service Bad Randomness Race Conditions Timestamp Dependence Short Addresses Lab 11 Exploiting vulnerable smart contracts Security of Alternative DLT Architectures What Are Alternative DLT Architectures? Introduction to Directed Acyclic Graphs (DAGs) DAGs vs. Blockchains Advantages of DAGs DAG Vulnerabilities and Security Lab 12 Exploring a DAG network