SlideShare une entreprise Scribd logo
1  sur  59
Blockchain
Decentralized Application Development
Cihan Özhan | Founder of DeepLab.co | Developer/Hacker, AI Engineer, Data Master, Author
Bitcoin?
• bitcoin.pdf
– 31 Ekim 2008’de yayınlandı.
– 8 sayfa, 12 bölüm
– Satoshi Nakamoto
– https://bitcoin.org/bitcoin.pdf
Blockchain?
• Transaction gibi verileri depolayan ve bu verileri kendi ağının tüm
node’larında halka açık olarak paylaşan dağıtılmış ve merkezi olmayan bir
defterdir.
Ledger?
• Bir organizasyonun tüm işlemlerini saklayan bir kayıt defteridir.
Centralized?
• Bir varlık veriyi kaydeder.
• Merkez varlığın çok fazla gücü var.
• Para cezası ya da ödüllendirme için tam yetkilidir.
• Varlığa tam güven(mek zorunda olmak).
Distributed?
• Centralized mimarideki gibi merkezi bir güç tarafından yönetilir.
• Dağıtık olmasının nedeni teknik verimlilik/performans sağlamaktır.
Decentralized?
• Herkes veriyi kaydeder.
• Herkes eşit güce sahiptir.
• Adil ve şeffaf bir sistemdir.
• Güvensizdir(Trustless).
Ne Algoritması?
LinkedList!
Blockchain = LinkedList
Blockchain Vs. Traditional DBs
• Merkeziyetçilik
• Performans
• Gizlilik
Blockchain Vs. Traditional DBs
Blockchain Ne Sunar?
• Ortak ve Sıralı Kayıt Defteri
• Güvenlik
– Son derece güvenli ve merkezi bir hata noktası yok.
• Otonomi
– Aracı kişi ve kurumlardan ve onların ek maliyetleri aradan çıkarmak.
• Değişmezlik
– İşlenmiş bir veri değiştirilemez!
• Şeffaflık
– İlk Bitcoin hesabının yıllar önce gerçekleştirdiği tüm transaction’ları bile herkes görebilir.
Blockchain ile Neler Yapılabilir?
• Ödeme İşlemleri
• Yurtdışına Para Gönderme
• Değişmezlik İspatları
• Seçim / Yönetim
• Kitlesel Fonlama
• Paylaşım Ekonomisi *
• Tedarik Zinciri Denetimi
• Dosya Depolama
• Fikri Mülkiyetin Korunması
• Nesnelerin İnterneti (IoT)
• … bildiğimiz ve henüz bilmediğimiz birçok alanda daha…
Blockchain Pratiği
(Kriptopara)
• Kriptopara bir dijital değiş tokuş aracıdır.
• Kriptoparanın üç ana özelliği vardır:
– Güvenli Bir Blockchain
– Cüzdanlar
– Madencilik
Blockchain Pratiği
(Kriptopara)
• Güçlü bir blockchain(!)
– Dijital imzalar için kriptografi kullanmak…
Dijital İmza
(Kriptopara)
Dijital İmza
(Kriptopara)
Dijital İmza
(Kriptopara)
Dijital İmza
(Kriptopara)
Cüzdan
(Kriptopara)
• Bir varlığın özel(private) ve genel(public) anahtarını depolayan nesnelerdir.
• Genel(public) anahtar cüzdanın adresidir.
Madencilik
(Kriptopara)
• Tüm transaction’lar geçici olarak onaysızdır.
• Bir proof of work algoritması çözerek transaction bloklarını dahil etmek:
– Çözmek zor ve bilgisayar hesaplama gücü gerektiriyor. Ve pahalı…
– Bir kez çözüldükten sonra madenci bloğu ekleyebilir ve diğer madenciler doğrular.
– Madenciler zincire bir blok eklediği için ödüllendirilir.
– Hesaplama zorluğu gelen yeni blokların oranını kontrol etmek için ayarlanabilir.
Blockchain Seviyeleri
(Blockchain Levels)
Blockchain Seviyeleri
• Protocol Level
– Çekirdek seviyede Blockchain mimarisi ve hizmeti oluşturmak/geliştirmek için kullanılır.
– Algoritmik seviyede Blockchain kurallarının uygulandığı katmandır.
– Bu bir CryptoCurrency de olabilir, endüstriyel amaçla geliştirilmiş bir mimari de…
– Öğrenmesi ve geliştirme süreci zor ve uzmanlık gerektirir.
– Genellikle yoğun hesaplama gerektirdiği için dil/teknoloji seçimlerinde performansa bakılır.
– Low-Level Blockchain katmanıdır.
• Application Level (Decentralized App[DApp])
– Protokol seviyesindeki bir mimari/hizmet üzerinde çalışan Blockchain kod parçalarına denir.
– DApp(Decentralized Application) olarak isimlendirilir.
– Tabi olduğu kurallar üzerinde bulunduğu Blockchain protokolü tarafından belirlenir.
– Öğrenmesi ve geliştirme süreçleri göreceli olarak kolaydır.
– High-Level Blockchain katmanıdır.
– High-Level olduğu için kullanılan dilde daha çok Developer Friendly özellikler tasarlanır/aranır.
Blockchain Seviyeleri
Protokol seviyeli Blockchain geliştirme ile Decentralized App(DApp) geliştirmek
birbirinden neredeyse tamamen farklıdır.
Protocol Level hizmete bir işletim sistemi dersek, DApp uygulamaları o işletim
sistemi üzerindeki bilgisayar programları gibidir. İkisinin de amaç ve hedeflemesi,
farklı olduğu gibi zorlukları ve gereklilikleri farklıdır.
Protocol Level
(Örnek Girişimler)
• Bitcoin
– https://bitcoin.org – bitcoin.pdf(EN) – bitcoin.pdf(TR)
– https://github.com/bitcoin/bitcoin, C++
• Ethereum
– https://ethereum.org/
– https://github.com/ethereum, Go
• Tezos
– https://tezos.com/
– https://gitlab.com/tezos/tezos, F#
• NEO
– https://neo.org/
– https://github.com/neo-project, C#
• HyperLedger
– https://www.hyperledger.org/ - Introduction to HyperLedger
– https://github.com/hyperledger, Go, Rust
• Corda
– https://www.corda.net/
– https://github.com/corda/corda, Java
Application Level
(Örnek Girişimler)
• Etherem, Solidity Programming Language
– https://ethereum.org/
– https://ethereum.org/developers/#smart-contract-languages
– https://geth.ethereum.org/
– Solidity
• https://github.com/ethereum/solidity
• https://solidity.readthedocs.io/en/v0.6.3/
DApp Uygulamaları
(Decentralized Application)
• NEUFUND : https://neufund.org/
• Aion Network : https://aion.network/
• SingularityNET : https://singularitynet.io/
• Santiment : https://santiment.net/
• OpenZeppelin : https://openzeppelin.com/contracts/
• IoTex : https://www.iotex.io/
• Civil : http://joincivil.com/
• Metamask : https://metamask.io/
• OmiseGO : https://omisego.network/
• TrustWallet : https://trustwallet.com/
• Gnosis : http://gnosis.pm/
• Raiden Network : https://raiden.network/
• High Fidelity : https://highfidelity.com/
DApp Uygulamaları
(Decentralized Application)
• Ox : https://0x.org/
• Origin Protocol : https://dapp.originprotocol.com/#/
• Aragon : https://aragon.org/discover/
• Cosmos : https://cosmos.network/
• Augur : https://www.augur.net/
• Storj : https://storj.io/
• Status : https://status.im/
Blockchain Nasıl Çalışır?
Blockchain Mimari Komponentleri
• Node
– Blockchain içindeki kullanıcı ya da bilgisayar.
• Transaction
– Blockchain sisteminin en küçük yapı taşı.
• Block
– Ağdaki tüm düğümlere(node) dağıtılmış bir işlem kümesini tutmak için kullanılan bir veri yapısı
• Chain
– Belirli bir sıradaki blok dizisi.
• Miner
– Blok doğrulama işlemini gerçekleştiren belirli düğümler(node)
• Consensus
– Blockchain işlemlerini gerçekleştirmek için bir dizi kural ve düzenleme.
Merkle Tree
Nonce : Hedef hash değerini elde etmek için gereken sayı.
Data : Kullanıcının blokta saklamak istediği herhangi bir veri.
Hash : Miner tarafından üretilir ve hedefi belli bir pattern’e sahip olan hash’i bulmaktır.
Programlama Dilleri
(Blockchain, Protocol Level)
• C++
– Performanslı ve low-level bir dil olduğu için en çok tercih edilen dillerden biridir.
• Go
– Performanslı ve low-level bir dil olduğu için en çok tercih edilen dillerden biridir.
– C’nin gücüyle birlikte web ve veri uygulamalarındaki gücü nedeniyle ekstra değere sahiptir.
• Rust
– Performanslı ve low-level bir dil olduğu için en çok tercih edilen dillerden biridir.
– Gücü ve low-level’daki avantajları(C/C++’a göre) nedeniyle tercih ediliyor.
• C#
– Dil ve platform gücü nedeniyle birçok projede tercih edilir.
– Microsoft’un cross-platform’daki geç adımları nedeniyle diğer dillerin yerine geçmesi zor.
• Python
– Açık kaynaktaki gücü nedeniyle bilgi kaynakları ve örnek projeler genellikle bu dille hazırlanır.
• Node.js (JavaScript)
– Büyük protokol seviyeli Blockchain projelerinde pek tercih edilmez. Ancak hem Blockchain
algoritmalarının öğrenilmesini kolaylaştırmak, hem de yaygınlığını artırmak için kullanıldığı
gibi, hem de orta büyüklükteki Blockchain projelerinde kullanılabiliyor.
Nereden Başlamalı?
Protokol seviyesinde geliştirme yapmak daha zordur ve daha yoğun çalışma
gerektirir. Bu nedenle genel çalışma mantığını anlamak için Ethereum
üzerinde Solidity programlama dilini kullanarak akıllı kontratlar geliştirmekle
başlanmasını öneririm. Bu sayede bir DApp geliştirici olarak Blockchain
geliştirici olunabilir.
Blockchain için Cloud
• Azure
– https://azure.microsoft.com/tr-tr/solutions/blockchain/
• Amazon
– https://aws.amazon.com/tr/blockchain/
• IBM
– https://www.ibm.com/tr-tr/blockchain
• Oracle
– https://www.oracle.com/tr/blockchain/
Blockchain Uzmanlık Alanları
• Blockchain Developer : Protocol Level
• Blockchain Developer : Application Level
• Blockchain Database Developer
• Blockchain DevOps Expert
• Decentralized AI Developer
İnceleme Önerileri
(Girişim Projeleri)
• https://www.hyperledger.org/
• https://ethereum.org/
• https://bitcoin.org
• https://u.network/
• https://neo.org/
• https://eos.io/
• https://cosmos.network/
• https://www.cortexlabs.ai/
• https://www.iotex.io/
• https://ont.io/
• https://www.deepbrainchain.org/
• https://singularitynet.io/
• https://www.bigchaindb.com/
• http://nethereum.com
• https://www.blockchain.com/api
Araştırma Tavsiyesi
(Decentralized AI)
• Blockchain + Artificial Intelligence
Araştırma Tavsiyesi
(Hashgraph, hedera.com)
Awesome Blockchain
• https://github.com/igorbarinov/awesome-blockchain
• https://github.com/imbaniac/awesome-blockchain
• https://github.com/dily3825002/awesome-blockchain
• https://github.com/yjjnls/awesome-blockchain
• https://github.com/chaozh/awesome-blockchain-cn
• https://github.com/openblockchains/awesome-blockchains
• https://github.com/steven2358/awesome-blockchain-ai
• https://github.com/CityOfZion/awesome-neo
• https://github.com/machinomy/awesome-non-financial-blockchain
• https://github.com/jpantunes/awesome-cryptoeconomics
• https://github.com/ong/awesome-decentralized-finance
• https://github.com/Netherdrake/awesome-eos
• https://github.com/rust-in-blockchain/awesome-blockchain-rust
• https://github.com/hashgraph/awesome-hashgraph
• https://github.com/learndapp/awesome-libra
• https://github.com/Guppster/awesome-ark
Awesome Blockchain
• https://github.com/skcript/awesome-hyperledger
• https://github.com/koltenb/awesome-stellar
• https://github.com/toadkicker/awesome-ethereum
• https://github.com/nongiach/awesome-cryptocurrency-security
• https://github.com/Mikerah/awesome-privacy-on-blockchains
• https://github.com/openblockchains/awesome-libra
• https://github.com/transmute-industries/awesome-smart-contracts
• https://github.com/soulmachine/awesome-blockchain-whitepapers
• https://github.com/istinspring/awesome-blockchain
• https://github.com/obxium/awesome-crypto-art
Cihan Özhan
Bağlantılar
• cihanozhan.com
• linkedin.com/in/cihanozhan
• medium.com/@cihanozhan
• youtube.com/cihanozhan
• twitter.com/UnmannedCode
• github.com/cihanozhan
E-Mail
• cihan@deeplab.co

Contenu connexe

Tendances

Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overviewgjuljo
 
Microsoft Azure Fundamentals
Microsoft Azure FundamentalsMicrosoft Azure Fundamentals
Microsoft Azure FundamentalsAdwait Ullal
 
Azure Web Apps - Introduction
Azure Web Apps - IntroductionAzure Web Apps - Introduction
Azure Web Apps - IntroductionChristopher Gomez
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft AzureKasun Kodagoda
 
Introduction to Azure
Introduction to AzureIntroduction to Azure
Introduction to AzureRobert Crane
 
Azure key vault
Azure key vaultAzure key vault
Azure key vaultRahul Nath
 
Azure Availability Options
Azure Availability OptionsAzure Availability Options
Azure Availability OptionsEmre Martin
 
Vertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
Vertex AI - Unified ML Platform for the entire AI workflow on Google CloudVertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
Vertex AI - Unified ML Platform for the entire AI workflow on Google CloudMárton Kodok
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure FunctionsCallon Campbell
 
[Azure Governance] Lesson 2 : Azure Locks
[Azure Governance] Lesson 2 : Azure Locks[Azure Governance] Lesson 2 : Azure Locks
[Azure Governance] Lesson 2 : Azure Locks☁ Hicham KADIRI ☁
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
Azure Arc Overview from Microsoft
Azure Arc Overview from MicrosoftAzure Arc Overview from Microsoft
Azure Arc Overview from MicrosoftDavid J Rosenthal
 
Migrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure MigrateMigrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure MigrateDinusha Kumarasiri
 
Tom Grey - Google Cloud Platform
Tom Grey - Google Cloud PlatformTom Grey - Google Cloud Platform
Tom Grey - Google Cloud PlatformFondazione CUOA
 
AWS Application Discovery Service
AWS Application Discovery ServiceAWS Application Discovery Service
AWS Application Discovery ServiceAmazon Web Services
 

Tendances (20)

Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Microsoft Azure Fundamentals
Microsoft Azure FundamentalsMicrosoft Azure Fundamentals
Microsoft Azure Fundamentals
 
Azure 101
Azure 101Azure 101
Azure 101
 
Azure Web Apps - Introduction
Azure Web Apps - IntroductionAzure Web Apps - Introduction
Azure Web Apps - Introduction
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft Azure
 
Introduction to Azure
Introduction to AzureIntroduction to Azure
Introduction to Azure
 
Azure key vault
Azure key vaultAzure key vault
Azure key vault
 
Azure Availability Options
Azure Availability OptionsAzure Availability Options
Azure Availability Options
 
Vertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
Vertex AI - Unified ML Platform for the entire AI workflow on Google CloudVertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
Vertex AI - Unified ML Platform for the entire AI workflow on Google Cloud
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
[Azure Governance] Lesson 2 : Azure Locks
[Azure Governance] Lesson 2 : Azure Locks[Azure Governance] Lesson 2 : Azure Locks
[Azure Governance] Lesson 2 : Azure Locks
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
Azure storage
Azure storageAzure storage
Azure storage
 
Azure WAF
Azure WAFAzure WAF
Azure WAF
 
Azure Arc Overview from Microsoft
Azure Arc Overview from MicrosoftAzure Arc Overview from Microsoft
Azure Arc Overview from Microsoft
 
Migrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure MigrateMigrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure Migrate
 
Tom Grey - Google Cloud Platform
Tom Grey - Google Cloud PlatformTom Grey - Google Cloud Platform
Tom Grey - Google Cloud Platform
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
AWS Application Discovery Service
AWS Application Discovery ServiceAWS Application Discovery Service
AWS Application Discovery Service
 
Azure: PaaS or IaaS
Azure: PaaS or IaaSAzure: PaaS or IaaS
Azure: PaaS or IaaS
 

Similaire à Blockchain : Decentralized Application Development (Turkish)

Meteor.js Hakkinda
Meteor.js HakkindaMeteor.js Hakkinda
Meteor.js HakkindaUğur Oruc
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - SeminerCihan Özhan
 
Siber Güvenlik 1. hafta
Siber Güvenlik 1. haftaSiber Güvenlik 1. hafta
Siber Güvenlik 1. haftaOnur Er
 
Python programlama
Python programlamaPython programlama
Python programlamaMurat KARA
 
Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018Murat KARA
 
PHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
PHP ve NATS ile
 Mikroservis Mesajlaşma SistemiPHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
PHP ve NATS ile
 Mikroservis Mesajlaşma SistemiErhan Yakut
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureDilaver Demirel
 
Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Gokhan Boranalp
 
Blockchain Temelleri1.pptx
Blockchain Temelleri1.pptxBlockchain Temelleri1.pptx
Blockchain Temelleri1.pptxakirAytk
 
Blockchain ile Yeni Internet
Blockchain ile Yeni InternetBlockchain ile Yeni Internet
Blockchain ile Yeni InternetEmre Tekisalp
 
OpenStack Türkiye 15.Meetup Ankara: Containers, Kubernetes and OpenStack
OpenStack Türkiye 15.Meetup Ankara: Containers, Kubernetes and OpenStackOpenStack Türkiye 15.Meetup Ankara: Containers, Kubernetes and OpenStack
OpenStack Türkiye 15.Meetup Ankara: Containers, Kubernetes and OpenStackHuseyin Cotuk
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Mustafa AKIN
 

Similaire à Blockchain : Decentralized Application Development (Turkish) (20)

Web development
Web developmentWeb development
Web development
 
Meteor.js Hakkinda
Meteor.js HakkindaMeteor.js Hakkinda
Meteor.js Hakkinda
 
Her şey için Açık Kaynak Kod Sunumu
Her şey için Açık Kaynak Kod SunumuHer şey için Açık Kaynak Kod Sunumu
Her şey için Açık Kaynak Kod Sunumu
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - Seminer
 
Siber Güvenlik 1. hafta
Siber Güvenlik 1. haftaSiber Güvenlik 1. hafta
Siber Güvenlik 1. hafta
 
Python programlama
Python programlamaPython programlama
Python programlama
 
12factor apps
12factor apps12factor apps
12factor apps
 
Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018
 
PHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
PHP ve NATS ile
 Mikroservis Mesajlaşma SistemiPHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
PHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?
 
Akıllı Sözleşmeler
Akıllı SözleşmelerAkıllı Sözleşmeler
Akıllı Sözleşmeler
 
Blockchain Temelleri1.pptx
Blockchain Temelleri1.pptxBlockchain Temelleri1.pptx
Blockchain Temelleri1.pptx
 
Blockchain ile Yeni Internet
Blockchain ile Yeni InternetBlockchain ile Yeni Internet
Blockchain ile Yeni Internet
 
Openstack Magnum CaaS
Openstack Magnum CaaSOpenstack Magnum CaaS
Openstack Magnum CaaS
 
OpenStack Türkiye 15.Meetup Ankara: Containers, Kubernetes and OpenStack
OpenStack Türkiye 15.Meetup Ankara: Containers, Kubernetes and OpenStackOpenStack Türkiye 15.Meetup Ankara: Containers, Kubernetes and OpenStack
OpenStack Türkiye 15.Meetup Ankara: Containers, Kubernetes and OpenStack
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup
 
Tizen TR
Tizen TRTizen TR
Tizen TR
 
.Net Core sunum
.Net Core sunum.Net Core sunum
.Net Core sunum
 
MongoDB ve C# Driver'ı
MongoDB ve C# Driver'ıMongoDB ve C# Driver'ı
MongoDB ve C# Driver'ı
 

Plus de Cihan Özhan

MongoDB - JSON'a Genel Bakış
MongoDB - JSON'a Genel BakışMongoDB - JSON'a Genel Bakış
MongoDB - JSON'a Genel BakışCihan Özhan
 
AI and Machine Learning - Today’s Implementation Realities
AI and Machine Learning - Today’s Implementation RealitiesAI and Machine Learning - Today’s Implementation Realities
AI and Machine Learning - Today’s Implementation RealitiesCihan Özhan
 
Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)Cihan Özhan
 
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yapılar
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve YapılarGo Book - Fonksiyonlar, Metotlar, Arayüzler ve Yapılar
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve YapılarCihan Özhan
 
Golang Book - Go Programlama Dili Temelleri
Golang Book - Go Programlama Dili TemelleriGolang Book - Go Programlama Dili Temelleri
Golang Book - Go Programlama Dili TemelleriCihan Özhan
 
Golang Book - Genel Bakış
Golang Book - Genel BakışGolang Book - Genel Bakış
Golang Book - Genel BakışCihan Özhan
 
Golang Book - Giriş
Golang Book - GirişGolang Book - Giriş
Golang Book - GirişCihan Özhan
 
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...Cihan Özhan
 
Endüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerEndüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerCihan Özhan
 
AI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision SecurityAI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision SecurityCihan Özhan
 
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...Cihan Özhan
 
Python Programlama Dili
Python Programlama DiliPython Programlama Dili
Python Programlama DiliCihan Özhan
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21Cihan Özhan
 
İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20Cihan Özhan
 
İleri Seviye T-SQL Programlama - Chapter 19
İleri Seviye T-SQL Programlama - Chapter 19İleri Seviye T-SQL Programlama - Chapter 19
İleri Seviye T-SQL Programlama - Chapter 19Cihan Özhan
 
İleri Seviye T-SQL Programlama - Chapter 18
İleri Seviye T-SQL Programlama - Chapter 18İleri Seviye T-SQL Programlama - Chapter 18
İleri Seviye T-SQL Programlama - Chapter 18Cihan Özhan
 
İleri Seviye T-SQL Programlama - Chapter 17
İleri Seviye T-SQL Programlama - Chapter 17İleri Seviye T-SQL Programlama - Chapter 17
İleri Seviye T-SQL Programlama - Chapter 17Cihan Özhan
 
İleri Seviye T-SQL Programlama - Chapter 16
İleri Seviye T-SQL Programlama - Chapter 16İleri Seviye T-SQL Programlama - Chapter 16
İleri Seviye T-SQL Programlama - Chapter 16Cihan Özhan
 
İleri Seviye T-SQL Programlama - Chapter 15
İleri Seviye T-SQL Programlama - Chapter 15İleri Seviye T-SQL Programlama - Chapter 15
İleri Seviye T-SQL Programlama - Chapter 15Cihan Özhan
 

Plus de Cihan Özhan (20)

MongoDB Overview
MongoDB OverviewMongoDB Overview
MongoDB Overview
 
MongoDB - JSON'a Genel Bakış
MongoDB - JSON'a Genel BakışMongoDB - JSON'a Genel Bakış
MongoDB - JSON'a Genel Bakış
 
AI and Machine Learning - Today’s Implementation Realities
AI and Machine Learning - Today’s Implementation RealitiesAI and Machine Learning - Today’s Implementation Realities
AI and Machine Learning - Today’s Implementation Realities
 
Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)Mobil Uygulama Güvenliği (Mobile Security)
Mobil Uygulama Güvenliği (Mobile Security)
 
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yapılar
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve YapılarGo Book - Fonksiyonlar, Metotlar, Arayüzler ve Yapılar
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yapılar
 
Golang Book - Go Programlama Dili Temelleri
Golang Book - Go Programlama Dili TemelleriGolang Book - Go Programlama Dili Temelleri
Golang Book - Go Programlama Dili Temelleri
 
Golang Book - Genel Bakış
Golang Book - Genel BakışGolang Book - Genel Bakış
Golang Book - Genel Bakış
 
Golang Book - Giriş
Golang Book - GirişGolang Book - Giriş
Golang Book - Giriş
 
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
 
Endüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerEndüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom Sistemler
 
AI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision SecurityAI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision Security
 
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenliği : Machine Learning & Deep Learning & Computer Vision Sec...
 
Python Programlama Dili
Python Programlama DiliPython Programlama Dili
Python Programlama Dili
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21
 
İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20İleri Seviye T-SQL Programlama - Chapter 20
İleri Seviye T-SQL Programlama - Chapter 20
 
İleri Seviye T-SQL Programlama - Chapter 19
İleri Seviye T-SQL Programlama - Chapter 19İleri Seviye T-SQL Programlama - Chapter 19
İleri Seviye T-SQL Programlama - Chapter 19
 
İleri Seviye T-SQL Programlama - Chapter 18
İleri Seviye T-SQL Programlama - Chapter 18İleri Seviye T-SQL Programlama - Chapter 18
İleri Seviye T-SQL Programlama - Chapter 18
 
İleri Seviye T-SQL Programlama - Chapter 17
İleri Seviye T-SQL Programlama - Chapter 17İleri Seviye T-SQL Programlama - Chapter 17
İleri Seviye T-SQL Programlama - Chapter 17
 
İleri Seviye T-SQL Programlama - Chapter 16
İleri Seviye T-SQL Programlama - Chapter 16İleri Seviye T-SQL Programlama - Chapter 16
İleri Seviye T-SQL Programlama - Chapter 16
 
İleri Seviye T-SQL Programlama - Chapter 15
İleri Seviye T-SQL Programlama - Chapter 15İleri Seviye T-SQL Programlama - Chapter 15
İleri Seviye T-SQL Programlama - Chapter 15
 

Blockchain : Decentralized Application Development (Turkish)

  • 1. Blockchain Decentralized Application Development Cihan Özhan | Founder of DeepLab.co | Developer/Hacker, AI Engineer, Data Master, Author
  • 2.
  • 3.
  • 4. Bitcoin? • bitcoin.pdf – 31 Ekim 2008’de yayınlandı. – 8 sayfa, 12 bölüm – Satoshi Nakamoto – https://bitcoin.org/bitcoin.pdf
  • 5.
  • 6. Blockchain? • Transaction gibi verileri depolayan ve bu verileri kendi ağının tüm node’larında halka açık olarak paylaşan dağıtılmış ve merkezi olmayan bir defterdir.
  • 7. Ledger? • Bir organizasyonun tüm işlemlerini saklayan bir kayıt defteridir.
  • 8.
  • 9. Centralized? • Bir varlık veriyi kaydeder. • Merkez varlığın çok fazla gücü var. • Para cezası ya da ödüllendirme için tam yetkilidir. • Varlığa tam güven(mek zorunda olmak).
  • 10. Distributed? • Centralized mimarideki gibi merkezi bir güç tarafından yönetilir. • Dağıtık olmasının nedeni teknik verimlilik/performans sağlamaktır.
  • 11. Decentralized? • Herkes veriyi kaydeder. • Herkes eşit güce sahiptir. • Adil ve şeffaf bir sistemdir. • Güvensizdir(Trustless).
  • 12.
  • 13.
  • 17. Blockchain Vs. Traditional DBs • Merkeziyetçilik • Performans • Gizlilik
  • 19. Blockchain Ne Sunar? • Ortak ve Sıralı Kayıt Defteri • Güvenlik – Son derece güvenli ve merkezi bir hata noktası yok. • Otonomi – Aracı kişi ve kurumlardan ve onların ek maliyetleri aradan çıkarmak. • Değişmezlik – İşlenmiş bir veri değiştirilemez! • Şeffaflık – İlk Bitcoin hesabının yıllar önce gerçekleştirdiği tüm transaction’ları bile herkes görebilir.
  • 20. Blockchain ile Neler Yapılabilir? • Ödeme İşlemleri • Yurtdışına Para Gönderme • Değişmezlik İspatları • Seçim / Yönetim • Kitlesel Fonlama • Paylaşım Ekonomisi * • Tedarik Zinciri Denetimi • Dosya Depolama • Fikri Mülkiyetin Korunması • Nesnelerin İnterneti (IoT) • … bildiğimiz ve henüz bilmediğimiz birçok alanda daha…
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Blockchain Pratiği (Kriptopara) • Kriptopara bir dijital değiş tokuş aracıdır. • Kriptoparanın üç ana özelliği vardır: – Güvenli Bir Blockchain – Cüzdanlar – Madencilik
  • 27. Blockchain Pratiği (Kriptopara) • Güçlü bir blockchain(!) – Dijital imzalar için kriptografi kullanmak…
  • 32.
  • 33. Cüzdan (Kriptopara) • Bir varlığın özel(private) ve genel(public) anahtarını depolayan nesnelerdir. • Genel(public) anahtar cüzdanın adresidir.
  • 34. Madencilik (Kriptopara) • Tüm transaction’lar geçici olarak onaysızdır. • Bir proof of work algoritması çözerek transaction bloklarını dahil etmek: – Çözmek zor ve bilgisayar hesaplama gücü gerektiriyor. Ve pahalı… – Bir kez çözüldükten sonra madenci bloğu ekleyebilir ve diğer madenciler doğrular. – Madenciler zincire bir blok eklediği için ödüllendirilir. – Hesaplama zorluğu gelen yeni blokların oranını kontrol etmek için ayarlanabilir.
  • 36. Blockchain Seviyeleri • Protocol Level – Çekirdek seviyede Blockchain mimarisi ve hizmeti oluşturmak/geliştirmek için kullanılır. – Algoritmik seviyede Blockchain kurallarının uygulandığı katmandır. – Bu bir CryptoCurrency de olabilir, endüstriyel amaçla geliştirilmiş bir mimari de… – Öğrenmesi ve geliştirme süreci zor ve uzmanlık gerektirir. – Genellikle yoğun hesaplama gerektirdiği için dil/teknoloji seçimlerinde performansa bakılır. – Low-Level Blockchain katmanıdır. • Application Level (Decentralized App[DApp]) – Protokol seviyesindeki bir mimari/hizmet üzerinde çalışan Blockchain kod parçalarına denir. – DApp(Decentralized Application) olarak isimlendirilir. – Tabi olduğu kurallar üzerinde bulunduğu Blockchain protokolü tarafından belirlenir. – Öğrenmesi ve geliştirme süreçleri göreceli olarak kolaydır. – High-Level Blockchain katmanıdır. – High-Level olduğu için kullanılan dilde daha çok Developer Friendly özellikler tasarlanır/aranır.
  • 37. Blockchain Seviyeleri Protokol seviyeli Blockchain geliştirme ile Decentralized App(DApp) geliştirmek birbirinden neredeyse tamamen farklıdır. Protocol Level hizmete bir işletim sistemi dersek, DApp uygulamaları o işletim sistemi üzerindeki bilgisayar programları gibidir. İkisinin de amaç ve hedeflemesi, farklı olduğu gibi zorlukları ve gereklilikleri farklıdır.
  • 38.
  • 39.
  • 40. Protocol Level (Örnek Girişimler) • Bitcoin – https://bitcoin.org – bitcoin.pdf(EN) – bitcoin.pdf(TR) – https://github.com/bitcoin/bitcoin, C++ • Ethereum – https://ethereum.org/ – https://github.com/ethereum, Go • Tezos – https://tezos.com/ – https://gitlab.com/tezos/tezos, F# • NEO – https://neo.org/ – https://github.com/neo-project, C# • HyperLedger – https://www.hyperledger.org/ - Introduction to HyperLedger – https://github.com/hyperledger, Go, Rust • Corda – https://www.corda.net/ – https://github.com/corda/corda, Java
  • 41. Application Level (Örnek Girişimler) • Etherem, Solidity Programming Language – https://ethereum.org/ – https://ethereum.org/developers/#smart-contract-languages – https://geth.ethereum.org/ – Solidity • https://github.com/ethereum/solidity • https://solidity.readthedocs.io/en/v0.6.3/
  • 42. DApp Uygulamaları (Decentralized Application) • NEUFUND : https://neufund.org/ • Aion Network : https://aion.network/ • SingularityNET : https://singularitynet.io/ • Santiment : https://santiment.net/ • OpenZeppelin : https://openzeppelin.com/contracts/ • IoTex : https://www.iotex.io/ • Civil : http://joincivil.com/ • Metamask : https://metamask.io/ • OmiseGO : https://omisego.network/ • TrustWallet : https://trustwallet.com/ • Gnosis : http://gnosis.pm/ • Raiden Network : https://raiden.network/ • High Fidelity : https://highfidelity.com/
  • 43. DApp Uygulamaları (Decentralized Application) • Ox : https://0x.org/ • Origin Protocol : https://dapp.originprotocol.com/#/ • Aragon : https://aragon.org/discover/ • Cosmos : https://cosmos.network/ • Augur : https://www.augur.net/ • Storj : https://storj.io/ • Status : https://status.im/
  • 45. Blockchain Mimari Komponentleri • Node – Blockchain içindeki kullanıcı ya da bilgisayar. • Transaction – Blockchain sisteminin en küçük yapı taşı. • Block – Ağdaki tüm düğümlere(node) dağıtılmış bir işlem kümesini tutmak için kullanılan bir veri yapısı • Chain – Belirli bir sıradaki blok dizisi. • Miner – Blok doğrulama işlemini gerçekleştiren belirli düğümler(node) • Consensus – Blockchain işlemlerini gerçekleştirmek için bir dizi kural ve düzenleme.
  • 46.
  • 47.
  • 49. Nonce : Hedef hash değerini elde etmek için gereken sayı. Data : Kullanıcının blokta saklamak istediği herhangi bir veri. Hash : Miner tarafından üretilir ve hedefi belli bir pattern’e sahip olan hash’i bulmaktır.
  • 50. Programlama Dilleri (Blockchain, Protocol Level) • C++ – Performanslı ve low-level bir dil olduğu için en çok tercih edilen dillerden biridir. • Go – Performanslı ve low-level bir dil olduğu için en çok tercih edilen dillerden biridir. – C’nin gücüyle birlikte web ve veri uygulamalarındaki gücü nedeniyle ekstra değere sahiptir. • Rust – Performanslı ve low-level bir dil olduğu için en çok tercih edilen dillerden biridir. – Gücü ve low-level’daki avantajları(C/C++’a göre) nedeniyle tercih ediliyor. • C# – Dil ve platform gücü nedeniyle birçok projede tercih edilir. – Microsoft’un cross-platform’daki geç adımları nedeniyle diğer dillerin yerine geçmesi zor. • Python – Açık kaynaktaki gücü nedeniyle bilgi kaynakları ve örnek projeler genellikle bu dille hazırlanır. • Node.js (JavaScript) – Büyük protokol seviyeli Blockchain projelerinde pek tercih edilmez. Ancak hem Blockchain algoritmalarının öğrenilmesini kolaylaştırmak, hem de yaygınlığını artırmak için kullanıldığı gibi, hem de orta büyüklükteki Blockchain projelerinde kullanılabiliyor.
  • 51. Nereden Başlamalı? Protokol seviyesinde geliştirme yapmak daha zordur ve daha yoğun çalışma gerektirir. Bu nedenle genel çalışma mantığını anlamak için Ethereum üzerinde Solidity programlama dilini kullanarak akıllı kontratlar geliştirmekle başlanmasını öneririm. Bu sayede bir DApp geliştirici olarak Blockchain geliştirici olunabilir.
  • 52. Blockchain için Cloud • Azure – https://azure.microsoft.com/tr-tr/solutions/blockchain/ • Amazon – https://aws.amazon.com/tr/blockchain/ • IBM – https://www.ibm.com/tr-tr/blockchain • Oracle – https://www.oracle.com/tr/blockchain/
  • 53. Blockchain Uzmanlık Alanları • Blockchain Developer : Protocol Level • Blockchain Developer : Application Level • Blockchain Database Developer • Blockchain DevOps Expert • Decentralized AI Developer
  • 54. İnceleme Önerileri (Girişim Projeleri) • https://www.hyperledger.org/ • https://ethereum.org/ • https://bitcoin.org • https://u.network/ • https://neo.org/ • https://eos.io/ • https://cosmos.network/ • https://www.cortexlabs.ai/ • https://www.iotex.io/ • https://ont.io/ • https://www.deepbrainchain.org/ • https://singularitynet.io/ • https://www.bigchaindb.com/ • http://nethereum.com • https://www.blockchain.com/api
  • 55. Araştırma Tavsiyesi (Decentralized AI) • Blockchain + Artificial Intelligence
  • 57. Awesome Blockchain • https://github.com/igorbarinov/awesome-blockchain • https://github.com/imbaniac/awesome-blockchain • https://github.com/dily3825002/awesome-blockchain • https://github.com/yjjnls/awesome-blockchain • https://github.com/chaozh/awesome-blockchain-cn • https://github.com/openblockchains/awesome-blockchains • https://github.com/steven2358/awesome-blockchain-ai • https://github.com/CityOfZion/awesome-neo • https://github.com/machinomy/awesome-non-financial-blockchain • https://github.com/jpantunes/awesome-cryptoeconomics • https://github.com/ong/awesome-decentralized-finance • https://github.com/Netherdrake/awesome-eos • https://github.com/rust-in-blockchain/awesome-blockchain-rust • https://github.com/hashgraph/awesome-hashgraph • https://github.com/learndapp/awesome-libra • https://github.com/Guppster/awesome-ark
  • 58. Awesome Blockchain • https://github.com/skcript/awesome-hyperledger • https://github.com/koltenb/awesome-stellar • https://github.com/toadkicker/awesome-ethereum • https://github.com/nongiach/awesome-cryptocurrency-security • https://github.com/Mikerah/awesome-privacy-on-blockchains • https://github.com/openblockchains/awesome-libra • https://github.com/transmute-industries/awesome-smart-contracts • https://github.com/soulmachine/awesome-blockchain-whitepapers • https://github.com/istinspring/awesome-blockchain • https://github.com/obxium/awesome-crypto-art
  • 59. Cihan Özhan Bağlantılar • cihanozhan.com • linkedin.com/in/cihanozhan • medium.com/@cihanozhan • youtube.com/cihanozhan • twitter.com/UnmannedCode • github.com/cihanozhan E-Mail • cihan@deeplab.co