Giới thiệu tổng quan về bài toán đồng thuận trong hệ thống phân tán: Two General Problem; FLP;...
Trình bày về thuật toán Raft:
- Leader election
- Log Replication
- Safety property
Các paper / blog ... tham khảo.
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
Blockchain explained short and simple. Blockchain is now a buzzy word to get more information about blockchain you can read. how blockchain works what is terminology blockchain is explained very well.
An introduction session in the "Blockchain: Cryptocurrencies and other Business Applications" course that I've just finished delivering to the School of Business of Hong Kong Baptist University.
Blockchain 3.0, the Encryption of Innovation. This talk looks beyond the immediate economic benefits and risks of distributed ledgers and considers the broader societal innovations implied by blockchain technology. The possibility of innovation and creating and participating in different and multiple self-determined political and economic systems could mobilize how we create ourselves as individuals and societies. Blockchain technology invites the possibility of creating a social world that gives greater weight to the values we apparently care about: freedom, trust, and dignity
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
Blockchain explained short and simple. Blockchain is now a buzzy word to get more information about blockchain you can read. how blockchain works what is terminology blockchain is explained very well.
An introduction session in the "Blockchain: Cryptocurrencies and other Business Applications" course that I've just finished delivering to the School of Business of Hong Kong Baptist University.
Blockchain 3.0, the Encryption of Innovation. This talk looks beyond the immediate economic benefits and risks of distributed ledgers and considers the broader societal innovations implied by blockchain technology. The possibility of innovation and creating and participating in different and multiple self-determined political and economic systems could mobilize how we create ourselves as individuals and societies. Blockchain technology invites the possibility of creating a social world that gives greater weight to the values we apparently care about: freedom, trust, and dignity
Hackbama Presentation
Presenter: Jason Cuneo
Abstract: The revolution of blockchain centered technologies provides security practitioners with a unique opportunity to participate in shaping the future of secure networking and has the potential to redefine how organizations and society transact and determine value. The objective of this discussion is to introduce how blockchains are disrupting the status quo and how they can be used to improve the Cybersecurity landscape.
Innovation in Byzantine consensus protocols is helping decentralized networks scale up and become highly performant, possibly faster than centralized networks. Investment growth in Bitcoin and FinTech startups, and enterprise blockchain applications in development in multiple sectors
An introduction to Blockchain and covering :
-Blockchain vs cryptocurrency
-Bitcoin vs Ethereum
-Real life and industrial examples
-Business example
-Benefits & challenges
This Edureka Blockchain 101 Training will give you a complete fundamental understanding regrading Blockchain and Bitcoin. You will learn following topics:
1. What is Blockchain?
2. Blockchain concepts
3. Hyperledger
4. Blockchain Use Case
5. Blockchain in the Industry
6. Solidity programming
7. Demo: Smart Contracts
A presentation explaining the concepts of Blockchain. It covers the introduction to blockchain, types of blockchain, process of adding blocks in bitcoin blockchain, hyperledger block structure, use cases of blockchain explained.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
DAOs on Ethereum: The Future of Venture FinancePaul Kohlhaas
An overview and explanation of current developments of DAOs on the Ethereum Blockchain. Specific focus on the slock.it DAO use case, governance, entity interactions and a financial categorization.
This course covers in detail the technical principles & concepts behind blockchain. In addition, it seeks to provide you with the insights and deep understanding of the various components of blockchain technology, and enables you to determine for yourself how to best leverage and exploit blockchain for your project, organisation or start-up.
Link - https://www.experfy.com/training/courses/blockchain-technology-fundamentals
Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...Edureka!
This Edureka Blockchain training will give you a fundamental understanding regrading Blockchain and Bitcoin.
This session will help you learn following topics:
1. Current Existing Monetary System
2. How can Blockchain and Bitcoin help?
3. What is Blockchain?
4. Blockchain concepts
5. Bitcoin Transaction
6. Blockchain features
7. Blockchain Use Case
8. Demo: Bitcoin Transaction
Hackbama Presentation
Presenter: Jason Cuneo
Abstract: The revolution of blockchain centered technologies provides security practitioners with a unique opportunity to participate in shaping the future of secure networking and has the potential to redefine how organizations and society transact and determine value. The objective of this discussion is to introduce how blockchains are disrupting the status quo and how they can be used to improve the Cybersecurity landscape.
Innovation in Byzantine consensus protocols is helping decentralized networks scale up and become highly performant, possibly faster than centralized networks. Investment growth in Bitcoin and FinTech startups, and enterprise blockchain applications in development in multiple sectors
An introduction to Blockchain and covering :
-Blockchain vs cryptocurrency
-Bitcoin vs Ethereum
-Real life and industrial examples
-Business example
-Benefits & challenges
This Edureka Blockchain 101 Training will give you a complete fundamental understanding regrading Blockchain and Bitcoin. You will learn following topics:
1. What is Blockchain?
2. Blockchain concepts
3. Hyperledger
4. Blockchain Use Case
5. Blockchain in the Industry
6. Solidity programming
7. Demo: Smart Contracts
A presentation explaining the concepts of Blockchain. It covers the introduction to blockchain, types of blockchain, process of adding blocks in bitcoin blockchain, hyperledger block structure, use cases of blockchain explained.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
DAOs on Ethereum: The Future of Venture FinancePaul Kohlhaas
An overview and explanation of current developments of DAOs on the Ethereum Blockchain. Specific focus on the slock.it DAO use case, governance, entity interactions and a financial categorization.
This course covers in detail the technical principles & concepts behind blockchain. In addition, it seeks to provide you with the insights and deep understanding of the various components of blockchain technology, and enables you to determine for yourself how to best leverage and exploit blockchain for your project, organisation or start-up.
Link - https://www.experfy.com/training/courses/blockchain-technology-fundamentals
Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...Edureka!
This Edureka Blockchain training will give you a fundamental understanding regrading Blockchain and Bitcoin.
This session will help you learn following topics:
1. Current Existing Monetary System
2. How can Blockchain and Bitcoin help?
3. What is Blockchain?
4. Blockchain concepts
5. Bitcoin Transaction
6. Blockchain features
7. Blockchain Use Case
8. Demo: Bitcoin Transaction
Bài thuyết trình môn học Hệ Điều Hành.pptxduongchausky
Hệ điều hành là một môn học cung cấp kiến thức cơ bản về quản lý tài nguyên của máy tính. Dưới đây là một số nội dung chính của môn học hệ điều hành:
Định nghĩa và tính chất của hệ điều hành:
Định nghĩa và tính chất cơ bản của hệ điều hành.
Lịch sử phát triển hệ điều hành.
Phân loại hệ điều hành.
Quản lý tiến trình:
Tiến trình và luồng (process/thread).
Đồng bộ hóa tiến trình.
Lập lịch CPU.
Tắc nghẽn và xử lý tắc nghẽn:
Khái niệm tắc nghẽn.
Điều kiện xảy ra tắc nghẽn.
Các phương pháp xử lý tắc nghẽn.
Quản lý bộ nhớ:
Khái niệm chung về quản lý bộ nhớ.
Các chiến lược quản lý bộ nhớ thực.
Quản lý bộ nhớ ảo.
Quản lý tập tin:
Hệ thống quản lý tập tin.
Thư mục và cách cài đặt hệ thống file và thư mục.
Quản lý nhập xuất:
Hệ thống vào ra.
Xử lý vào ra.
Quản lý truy cập đĩa.
Môn học hệ điều hành giúp bạn hiểu nguyên tắc hoạt động của hệ điều hành và cung cấp kiến thức cơ bản để xây dựng và quản lý các hệ điều hành cụ thể. Nếu bạn muốn tìm hiểu thêm, có thể xem các tài liệu chi tiết về môn học này.
Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy Chủ Ảo, các bạn tham khảo thêm tại tài liệu, bài mẫu điểm cao tại luanvantot.com
People are leaving WhatsApp for Signal and Telegram. Privacy becomes important more than ever. Have we ever stepped back and rethought carefully how these applications handle end-users’ privacy? Is that a myth; a promise; or back-up by some scientific evidence? How can we, as an end-user, can verify and make sure these claims?
This presentation will explain the history of the development of Signal and Telegram; and how they handle user’s data privacy under the technical microscope.
Prerequisites: Some fundamental knowledge about cryptography: symmetric encryption; asymmetric encryption; public key; private key;
Consensus and Raft Algorithm in Distributed SystemThao Huynh Quang
A modern computing system requires multiple components distributed on different machines to provide scalability, high availability, fault tolerance, and low latency. Therefore, consensus is essential when communicating between nodes to agree on some data value required during computation.
There are many examples of consensus around our tooling:
- Google Chubby uses Paxos, which is a consensus algorithm.
- Kubernetes uses etcd as the backing store for all cluster data. Etcd uses Raft, which is a consensus algorithm.
- Hadoop; Kafka uses ZooKeeper for service discovery; leader’s election, ... ZooKeeper uses a Paxos-variant algorithm.
- Blockchain cannot exist without consensus algorithms such as Proof-of-work; Proof-of-stake; ...
As the result, knowledge of consensus in the distributed system is crucial to understand the behavior of those systems. This presentation will:
Brief introduction about the consensus; challenges and achieved result.
Raft algorithm - the main consensus algorithm used in most of the recent systems.
Some references to get our hand wet on this topic:
https://medium.com/@isuruboyagane.16/what-is-consensus-in-distributed-system-6d51d0802b8c
https://www.youtube.com/watch?v=5m3eBWKjHtM&ab_channel=HasgeekTV
- Discuss Java pros and cons
- Kool features in Kotlin.
- How to use Kotlin in Android development.
- How to migrate old Android java code to new Kotlin code.
Designed and presented by Telco internships.
- Explain all basic components in Git: commit, commit hash, branch, git logs, reflogs ...
- Explain some common use operations and the differences between them: merge, rebase, revert, reset, pull, push ...
- How to use GitHub in daily work.
- Discuss the Android Jetpack: New Android libraries officially developed by Google.
- Discuss the Room persistence library in Jetpack. How does Room library help developer life easier when working with databases.
This presentation gives audiences a broad viewpoint from old to modern architecture. How Kubernetes and service mesh (istio) can help developers in those missions:
- Explain from traditional to modern architecture. The role of Kubernetes in modern architecture.
- Build basic k8s components from the ground up with illustrations: Pod; Node; Service; ReplicaSet; Deployment; Namespace; Ingress ...
- Kubernetes under the developer viewpoint: write a YAML application file and deploy k8s application to the cluster.
- Kubernetes advanced concepts: master node design, how does the auto-scale for pods/nodes work, Kubernetes networking model.
- Discuss microservice challenges. The role of the service mesh in the microservice ecosystem.
- Introduce Envoy, istio and their application in the service mesh.
This presentation introduces every aspects of the Kafka ecosystem:
- Concepts: explain all misleading concepts such as topic vs partition vs replication, producer vs consumer vs consumer group, group leader vs group coordinator, ...
- Advanced concepts: delivery semantic; idempotent producers; isolation levels; differences between the offsets such as High Watermark, Log End Offset, Last Stable Offset ...
- Kafka architecture: explain all Kafka components such as brokers, controllers, zookeeper, ...
- Overview of Kafka security: TLS/SSL, SASL, Kerberos, ...
- Overview of Kafka ecosystem: Kafka Stream, Kafka Connect, Schema Registry, monitoring tools.
- Kafka in Golang: How to use Kafka client in Golang.
- Comparison with other message queues such as RabbitMQ.
This is the short presentation of how does the theorem works at a high level.
This presentation introduces Metamask, Infura, Etherscan, ... and how those systems interact with smart contracts.
- Discuss coroutines and channels in modern architecture.
- Concurrency vs Parallelism with real-world examples.
- Simple to advanced concurrency patterns in Kotlin.
- Discuss the role of Observability (Logging; Tracing; and Metric) in modern architecture.
- How to implement observability in Golang using OpenCensus.
- The 4 golden signals when designing the metrics.
- How to apply observability into the process.
Most developers are familiar with making network requests using RESTFUL APIs. However, there are some disadvantages to this approach: very coupling between the backend and the client. For instance, they must communicate back with the backend team when a mobile client wants to change or add some fields to the response. The time for discussions among teams and service deployment might delay project deadlines, hence affecting business opportunities. This topic will discuss the newer approach, GraphQL, and how to apply libraries to the Android world to solve this problem.
- Discussion about client server communication such as JSON/SOAP and RPC.
- Advantages/Disadvantages of GRPC in micro service, developing application ...
- How to apply GRPC in Android application. Providing source code for both client and server side.
Slide for speaking at Droidcon Vietnam 2017
Introduction:
Million of android developers around the world are making great apps. But very few really take care about their compiled code really looks like. How do reverse engineers view their app under different perspective.
This speaking will explain in detail about android reverse engineering from the ground up. Attendee will learn about reading byte code, modify and compile apk file, hooking framework and all additional tools for reverse engineering life.
13. Key Value
Raft
2. call
Key Value
Raft
Key Value
Raft3. replicate
3. replicate
4. return
to FSM
1. Put / Get K/V
5. return
Leader
Follower 1
Follower 2
waiting
quorum
Flow diagram khi user gửi một request
14. Key Value
Raft
2. call
Key Value
Raft
Key Value
Raft3. replicate
3. replicate
4. return
to FSM
1. Put / Get K/V
5. return
Leader
Follower 1
Follower 2
waiting
quorum
call
denied
leader: 127.0.0.2
Flow diagram khi user gửi một request
32. S1: 5
S2: 5
S3: 5
• S1 là leader của term 5
• Sau đó, S1 bị crash và fast-restart trước khi các node khác nhận được time out.
• S1 start quá trình bầu chọn ở term 6.
S1: 5 6
S2: 5
S3: 5
• S1 là leader của term 6
• Một client insert data vào S1 tại term 6. Log sẽ được append vào local của S1.
• S1 chưa kịp replicate log qua các node khác thì node S1 bị crash và fast-restart trở lại (!!!)
S1: 5 6 7
S2: 5
S3: 5
• S1 tiếp tục là leader của term 7
• Tương tự như trên, một client insert data vào S1 ở term 7
• Tương tự, S1 chưa kịp replicate log qua các node khác thì node S1 bị crash
S1: 5 6 7
S2: 5 8
S3: 5 8
• Lần này, các node khác nhận ra S1 bị crash do timeout, khởi tạo quá trình bầu chọn.
• S2 trở thành leader tại term 8.
• Client insert data vào S2 tại term 8.
• S2 replicate log qua S3 —> majority. Như vậy, chắc chắn data tại term 8 buộc phải available trên toàn bộ machine.
S1: 5 6 7 9
S2: 5 8
S3: 5 8
• Sau khi S1 phục hồi, bắt đầu lại quá trình bầu chọn leader với term 9
• Nếu ta chọn giải pháp “candidate nào có độ dài log dài hơn là leader” —> S1 sẽ chiến thắng
• Khi đó, log ở S1 sẽ replicate qua S2 và S3 (log ở leader không bao giờ xoá)
S1: 5 6 7 9
S2: 5 6 7 9
S3: 5 6 7 9
• Khi đó, log ở term 8 bị mất —> vi phạm tính chất thuật toán: một log khi đã replicate qua quá bán các node, log
đấy sẽ không bao giờ bị thay đổi.
39. Node 2
Node 1
M
T
T
M
M
Log Matching Property
Phát biểu 1: Nếu 2 entry ở 2 đoạn log có chung index và term, 2 entry này có chung data.
Phát biểu 2: Nếu 2 entry ở 2 đoạn log có chung index và term tại vị trí T, toàn bộ log từ đầu đến T đều tương đồng nhau.