SlideShare uma empresa Scribd logo
1 de 24
DECENTRALIZED
GOVERNANCE
Smart Contracts that power Decentralized On-
chain Governance
Gene Leybzon 4/7/2022
DISCLAIMER
§ The views and opinions expressed by the Presenter are those of the Presenter.
§ Presentation is not intended as legal or financial advice and may not be used as legal or
financial advice.
§ Every effort has been made to assure this information is up-to-date as of the date of
publication.
PLAN FOR TODAY
1.DAO and Decentralized Governance
2.Smart Contracts for Decentralized
Governance
DEFINING DAO
“A decentralized autonomous organization (DAO), sometimes called
a decentralized autonomous corporation (DAC), is
an organization represented by rules encoded as a computer program that is
transparent, controlled by the organization members and not influenced by a
central government, in other words they are member-owned communities
without centralized leadership.”
- Wikipedia
• DAOs often use blockchain technology to provide a secure digital ledger to track
digital interactions
• DAO governance is coordinated using tokens or NFTs that grant voting powers
• DAOs can be subject to coups or hostile takeovers that upend their voting
structures especially if the voting power is based upon the number of tokens one
owns
DECENTRALIZED GOVERNANCE
Decentralized
Governance
frameworks for managing collective
action and common resources
rules of decentralized organizations
are primarily enforced by code,
rather than the legal system
often use direct voting
Benefits:
• Gives power directly to token holders
• Eliminates some risks of censorship,
manipulation, bribery
• Reduce reliance on external legal frameworks
and systems
• Helps to align interests with group goals
• Greater autonomy
• Efficiency of decision making
• Improved transparency
GOVERNANCE BY VOTING
On Chain
More secure
No trusted third party is required to
count or enact votes
Passed proposals can be executed
automatically
Works well for approving protocol
changes or other high-risk votes
Reduces risk of vote tampering
Off Chain
Votes are not submitted as
blockchain transactions
No transaction fees are necessary
for off chain votes
More participation, particularly from
smaller holders and wider
community
Off chain votes can be recorded via
decentralized data storage systems,
reducing risk of vote tampering
Works well for sentiment polls or
other low risk votes
NOTABLE DAOS
Name Token Use cases Network Launch Status
Dash DASH
Governance, fund
allocation [24]
Dash
(cryptocurrency)
May 2015[25] Operational since
2015[26][27][28]
The DAO DAO Venture capital Ethereum April 2016
Defunct late 2016
due to hack[29]
Augur REP
Prediction
market, Sports
betting, Option
(finance), Insurance
Ethereum July 2018 Operational
Steem STEEM
Data distribution,
Social media, Name
services, Industrial
Steem March 2016 Operational
Uniswap UNI
Exchange,
Automated Market
Making
Ethereum November 2018 Operational[30]
ConstitutionDAO PEOPLE
Purchasing an
original copy of
the Constitution of
the United States
Ethereum November 2021[31] Defunct[32]
IS IT LEGAL?
EXAMPLE OF VOTING PROPOSAL
FLOW
MAKER GOVERNANCE
EXPERIENCE
(DAI STABLECOIN)
APPROACHES FOR DAO
GOVERNANCE
No-Code
DAO Stack
Aragon
Colony
DAOHaus
xDAO
Snapshot
Coding Solutions
Zodiac
Tally
Gnosis Safe
Openzeppelin
TALLY.XYZ VOTING EXPERIENCE
(DEMO)
TALLY.XYZ VOTE STATISTICS
ADDING YOUR DAO TO TALLY.XYZ
MAJOR GOVERNANCE FRAMEWORKS
AND APPROACHES
On-chain
voting
Off-chain Voting Vote delegation Protocols
Compound Governor ✓ ✓ COMP voting
OpenZeppelin
Governor
✓ ✓ Many
Curve Voting Escrow ✓ ✓ Curve Finance
mStable
Multisigs ✓ Synthetix
Yearn Finance
Sushiswap
Snapshot Polls ✓ Balancer
Sushiswap
Yearn Finance
TALLY.XYZ SUPPORTED
PROTOCOLS
Compound (COMP)
Uniswap (UNI)
Indexed Finance (NDX)
PoolTogether (POOL)
Radicle (RAD)
Idle Finance (IDLE)
Inverse Finance (INV)
Unslashed Finance (USF)
…
BALLOT CONTRACT 1/6
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/// @title Voting with delegation.
contract Ballot {
struct Voter {
uint weight; // weight is accumulated by delegation
bool voted; // if true, that person already voted
address delegate; // person delegated to
uint vote; // index of the voted proposal
}
// This is a type for a single proposal.
struct Proposal {
bytes32 name; // short name (up to 32 bytes)
uint voteCount; // number of accumulated votes
}
BALLOT CONTRACT 2/6
constructor(bytes32[] memory proposalNames) {
chairperson = msg.sender;
voters[chairperson].weight = 1;
// For each of the provided proposal names,
// create a new proposal object and add it
// to the end of the array.
for (uint i = 0; i < proposalNames.length; i++) {
// `Proposal({...})` creates a temporary
// Proposal object and `proposals.push(...)`
// appends it to the end of `proposals`.
proposals.push(Proposal({
name: proposalNames[i],
voteCount: 0
}));
}
}
BALLOT CONTRACT 3/6
function giveRightToVote(address voter) external {
require(
msg.sender == chairperson,
"Only chairperson can give right to vote."
);
require(
!voters[voter].voted,
"The voter already voted."
);
require(voters[voter].weight == 0);
voters[voter].weight = 1;
}
BALLOT CONTRACT 4/6
/// Delegate your vote to the voter `to`.
function delegate(address to) external {
// assigns reference
Voter storage sender = voters[msg.sender];
require(!sender.voted, "You already voted.");
require(to != msg.sender, "Self-delegation is disallowed.");
while (voters[to].delegate != address(0)) {
to = voters[to].delegate;
// We found a loop in the delegation, not allowed.
require(to != msg.sender, "Found loop in delegation.");
}
// Since `sender` is a reference, this
// modifies `voters[msg.sender].voted`
Voter storage delegate_ = voters[to];
// Voters cannot delegate to wallets that cannot vote.
require(delegate_.weight >= 1);
sender.voted = true;
sender.delegate = to;
if (delegate_.voted) {
// If the delegate already voted,
// directly add to the number of votes
proposals[delegate_.vote].voteCount += sender.weight;
} else {
// If the delegate did not vote yet,
// add to her weight.
delegate_.weight += sender.weight;
}
}
BALLOT CONTRACT 5/6
function vote(uint proposal) external {
Voter storage sender = voters[msg.sender];
require(sender.weight != 0, "Has no right to vote");
require(!sender.voted, "Already voted.");
sender.voted = true;
sender.vote = proposal;
// If `proposal` is out of the range of the array,
// this will throw automatically and revert all
// changes.
proposals[proposal].voteCount += sender.weight;
}
BALLOT CONTRACT 6/6
function winnerName() external view
returns (bytes32 winnerName_)
{
winnerName_ = proposals[winningProposal()].name;
}
NEXT STEPS
(AGENDA FOR OUR MEETUP NEXT
MONTH)
Governor Bravo
OpenZeppelin
ABOUT PRESENTER
Gene Leybzon
https://www.linkedin.com/in/leybzon/
https://www.meetup.com/members/90
74420/
https://www.leybzon.com
https://clarity.fm/geneleybzon

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

An Introduction to Blockchain Technology
An Introduction to Blockchain Technology An Introduction to Blockchain Technology
An Introduction to Blockchain Technology
 
Blockchain Network Theory
Blockchain Network TheoryBlockchain Network Theory
Blockchain Network Theory
 
Blockchain concepts
Blockchain conceptsBlockchain concepts
Blockchain concepts
 
Blockchain Technology Fundamentals
Blockchain Technology FundamentalsBlockchain Technology Fundamentals
Blockchain Technology Fundamentals
 
What is Decentralized Autonomous Organization (DAO) & How DAO works?
What is Decentralized Autonomous Organization (DAO) & How DAO works?What is Decentralized Autonomous Organization (DAO) & How DAO works?
What is Decentralized Autonomous Organization (DAO) & How DAO works?
 
Overview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus MechanismsOverview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus Mechanisms
 
Smart contracts using web3.js
Smart contracts using web3.jsSmart contracts using web3.js
Smart contracts using web3.js
 
DAOs on Ethereum: The Future of Venture Finance
DAOs on Ethereum: The Future of Venture FinanceDAOs on Ethereum: The Future of Venture Finance
DAOs on Ethereum: The Future of Venture Finance
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technology
 
Blockchain Presentation
Blockchain PresentationBlockchain Presentation
Blockchain Presentation
 
Intro to smart contract on blockchain en
Intro to smart contract on blockchain enIntro to smart contract on blockchain en
Intro to smart contract on blockchain en
 
Blockchain
BlockchainBlockchain
Blockchain
 
Blockchain
BlockchainBlockchain
Blockchain
 
Ethereum
EthereumEthereum
Ethereum
 
Blockchain
BlockchainBlockchain
Blockchain
 
블록체인 이해와 활용
블록체인 이해와 활용블록체인 이해와 활용
블록체인 이해와 활용
 
Ppt on blockchain technology
Ppt on blockchain technologyPpt on blockchain technology
Ppt on blockchain technology
 
Types of Blockchains
Types of BlockchainsTypes of Blockchains
Types of Blockchains
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 

Semelhante a Onchain Decentralized Governance.pptx

Semelhante a Onchain Decentralized Governance.pptx (20)

Onchain Decentralized Governance 2.pptx
Onchain Decentralized Governance 2.pptxOnchain Decentralized Governance 2.pptx
Onchain Decentralized Governance 2.pptx
 
Chris Adams: Landscape of DAO Tooling, Frameworks and Integration
Chris Adams: Landscape of DAO Tooling, Frameworks and IntegrationChris Adams: Landscape of DAO Tooling, Frameworks and Integration
Chris Adams: Landscape of DAO Tooling, Frameworks and Integration
 
Chris Adams: Landscape of DAO Tooling, Frameworks and a Peek into the Future
Chris Adams: Landscape of DAO Tooling, Frameworks and a Peek into the FutureChris Adams: Landscape of DAO Tooling, Frameworks and a Peek into the Future
Chris Adams: Landscape of DAO Tooling, Frameworks and a Peek into the Future
 
How to create a DAO on blockchain?
How to create a DAO on blockchain?How to create a DAO on blockchain?
How to create a DAO on blockchain?
 
The Anatomy of a DAO–Understanding the inner workings of decentralized organi...
The Anatomy of a DAO–Understanding the inner workings of decentralized organi...The Anatomy of a DAO–Understanding the inner workings of decentralized organi...
The Anatomy of a DAO–Understanding the inner workings of decentralized organi...
 
How to DAO?
How to DAO?How to DAO?
How to DAO?
 
Shaping Successful DAOs (Decentralized Autonomous Organizations) by Cosdec Alpha
Shaping Successful DAOs (Decentralized Autonomous Organizations) by Cosdec AlphaShaping Successful DAOs (Decentralized Autonomous Organizations) by Cosdec Alpha
Shaping Successful DAOs (Decentralized Autonomous Organizations) by Cosdec Alpha
 
how-does-dao-make-money.pdf
how-does-dao-make-money.pdfhow-does-dao-make-money.pdf
how-does-dao-make-money.pdf
 
Initial Commons Offering for Integral Blockchain
Initial Commons Offering for Integral BlockchainInitial Commons Offering for Integral Blockchain
Initial Commons Offering for Integral Blockchain
 
-what-is-dao-and-how-does-it-.pdf
-what-is-dao-and-how-does-it-.pdf-what-is-dao-and-how-does-it-.pdf
-what-is-dao-and-how-does-it-.pdf
 
how-does-dao-make-money-html.pdf
how-does-dao-make-money-html.pdfhow-does-dao-make-money-html.pdf
how-does-dao-make-money-html.pdf
 
Ethereum the next revolution?
Ethereum   the next revolution?Ethereum   the next revolution?
Ethereum the next revolution?
 
SECURE BLOCKCHAIN DECENTRALIZED VOTING FOR VERIFIED USERS
SECURE BLOCKCHAIN DECENTRALIZED VOTING FOR VERIFIED USERSSECURE BLOCKCHAIN DECENTRALIZED VOTING FOR VERIFIED USERS
SECURE BLOCKCHAIN DECENTRALIZED VOTING FOR VERIFIED USERS
 
TOWARDS BLOCKCHAIN ENABLED APPLICATIONS
TOWARDS BLOCKCHAIN ENABLED APPLICATIONSTOWARDS BLOCKCHAIN ENABLED APPLICATIONS
TOWARDS BLOCKCHAIN ENABLED APPLICATIONS
 
Ethereum and the $50m Heist
Ethereum and the $50m HeistEthereum and the $50m Heist
Ethereum and the $50m Heist
 
VII Jornadas eMadrid "Education in exponential times". "Blockchains and their...
VII Jornadas eMadrid "Education in exponential times". "Blockchains and their...VII Jornadas eMadrid "Education in exponential times". "Blockchains and their...
VII Jornadas eMadrid "Education in exponential times". "Blockchains and their...
 
DAO-B Deck.pdf
DAO-B Deck.pdfDAO-B Deck.pdf
DAO-B Deck.pdf
 
Dot staking.pdf
Dot staking.pdfDot staking.pdf
Dot staking.pdf
 
ELECTION SYSTEM BASED ON BLOCKCHAIN TECHNOLOGY
ELECTION SYSTEM BASED ON BLOCKCHAIN TECHNOLOGYELECTION SYSTEM BASED ON BLOCKCHAIN TECHNOLOGY
ELECTION SYSTEM BASED ON BLOCKCHAIN TECHNOLOGY
 
Election System Based on Blockchain Technology
Election System Based on Blockchain TechnologyElection System Based on Blockchain Technology
Election System Based on Blockchain Technology
 

Mais de Gene Leybzon

Non-fungible tokens (nfts)
Non-fungible tokens (nfts)Non-fungible tokens (nfts)
Non-fungible tokens (nfts)
Gene Leybzon
 

Mais de Gene Leybzon (20)

Generative AI Application Development using LangChain and LangFlow
Generative AI Application Development using LangChain and LangFlowGenerative AI Application Development using LangChain and LangFlow
Generative AI Application Development using LangChain and LangFlow
 
Chat GPTs
Chat GPTsChat GPTs
Chat GPTs
 
Generative AI Use cases for Enterprise - Second Session
Generative AI Use cases for Enterprise - Second SessionGenerative AI Use cases for Enterprise - Second Session
Generative AI Use cases for Enterprise - Second Session
 
Generative AI Use-cases for Enterprise - First Session
Generative AI Use-cases for Enterprise - First SessionGenerative AI Use-cases for Enterprise - First Session
Generative AI Use-cases for Enterprise - First Session
 
Non-fungible tokens (nfts)
Non-fungible tokens (nfts)Non-fungible tokens (nfts)
Non-fungible tokens (nfts)
 
Introduction to Solidity and Smart Contract Development (9).pptx
Introduction to Solidity and Smart Contract Development (9).pptxIntroduction to Solidity and Smart Contract Development (9).pptx
Introduction to Solidity and Smart Contract Development (9).pptx
 
Ethereum in Enterprise.pptx
Ethereum in Enterprise.pptxEthereum in Enterprise.pptx
Ethereum in Enterprise.pptx
 
ERC-4907 Rentable NFT Standard.pptx
ERC-4907 Rentable NFT Standard.pptxERC-4907 Rentable NFT Standard.pptx
ERC-4907 Rentable NFT Standard.pptx
 
Web3 File Storage Options
Web3 File Storage OptionsWeb3 File Storage Options
Web3 File Storage Options
 
Web3 Full Stack Development
Web3 Full Stack DevelopmentWeb3 Full Stack Development
Web3 Full Stack Development
 
Instantly tradeable NFT contracts based on ERC-1155 standard
Instantly tradeable NFT contracts based on ERC-1155 standardInstantly tradeable NFT contracts based on ERC-1155 standard
Instantly tradeable NFT contracts based on ERC-1155 standard
 
Non-fungible tokens. From smart contract code to marketplace
Non-fungible tokens. From smart contract code to marketplaceNon-fungible tokens. From smart contract code to marketplace
Non-fungible tokens. From smart contract code to marketplace
 
The Art of non-fungible tokens
The Art of non-fungible tokensThe Art of non-fungible tokens
The Art of non-fungible tokens
 
Graph protocol for accessing information about blockchains and d apps
Graph protocol for accessing information about blockchains and d appsGraph protocol for accessing information about blockchains and d apps
Graph protocol for accessing information about blockchains and d apps
 
Substrate Framework
Substrate FrameworkSubstrate Framework
Substrate Framework
 
Chainlink
ChainlinkChainlink
Chainlink
 
OpenZeppelin + Remix + BNB smart chain
OpenZeppelin + Remix + BNB smart chainOpenZeppelin + Remix + BNB smart chain
OpenZeppelin + Remix + BNB smart chain
 
Chainlink, Cosmos, Kusama, Polkadot: Approaches to the Internet of Blockchains
Chainlink, Cosmos, Kusama, Polkadot:   Approaches to the Internet of BlockchainsChainlink, Cosmos, Kusama, Polkadot:   Approaches to the Internet of Blockchains
Chainlink, Cosmos, Kusama, Polkadot: Approaches to the Internet of Blockchains
 
Dex and Uniswap
Dex and UniswapDex and Uniswap
Dex and Uniswap
 
Accessing decentralized finance on Ethereum blockchain
Accessing decentralized finance on Ethereum blockchainAccessing decentralized finance on Ethereum blockchain
Accessing decentralized finance on Ethereum blockchain
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Onchain Decentralized Governance.pptx

  • 1. DECENTRALIZED GOVERNANCE Smart Contracts that power Decentralized On- chain Governance Gene Leybzon 4/7/2022
  • 2. DISCLAIMER § The views and opinions expressed by the Presenter are those of the Presenter. § Presentation is not intended as legal or financial advice and may not be used as legal or financial advice. § Every effort has been made to assure this information is up-to-date as of the date of publication.
  • 3. PLAN FOR TODAY 1.DAO and Decentralized Governance 2.Smart Contracts for Decentralized Governance
  • 4. DEFINING DAO “A decentralized autonomous organization (DAO), sometimes called a decentralized autonomous corporation (DAC), is an organization represented by rules encoded as a computer program that is transparent, controlled by the organization members and not influenced by a central government, in other words they are member-owned communities without centralized leadership.” - Wikipedia • DAOs often use blockchain technology to provide a secure digital ledger to track digital interactions • DAO governance is coordinated using tokens or NFTs that grant voting powers • DAOs can be subject to coups or hostile takeovers that upend their voting structures especially if the voting power is based upon the number of tokens one owns
  • 5. DECENTRALIZED GOVERNANCE Decentralized Governance frameworks for managing collective action and common resources rules of decentralized organizations are primarily enforced by code, rather than the legal system often use direct voting Benefits: • Gives power directly to token holders • Eliminates some risks of censorship, manipulation, bribery • Reduce reliance on external legal frameworks and systems • Helps to align interests with group goals • Greater autonomy • Efficiency of decision making • Improved transparency
  • 6. GOVERNANCE BY VOTING On Chain More secure No trusted third party is required to count or enact votes Passed proposals can be executed automatically Works well for approving protocol changes or other high-risk votes Reduces risk of vote tampering Off Chain Votes are not submitted as blockchain transactions No transaction fees are necessary for off chain votes More participation, particularly from smaller holders and wider community Off chain votes can be recorded via decentralized data storage systems, reducing risk of vote tampering Works well for sentiment polls or other low risk votes
  • 7. NOTABLE DAOS Name Token Use cases Network Launch Status Dash DASH Governance, fund allocation [24] Dash (cryptocurrency) May 2015[25] Operational since 2015[26][27][28] The DAO DAO Venture capital Ethereum April 2016 Defunct late 2016 due to hack[29] Augur REP Prediction market, Sports betting, Option (finance), Insurance Ethereum July 2018 Operational Steem STEEM Data distribution, Social media, Name services, Industrial Steem March 2016 Operational Uniswap UNI Exchange, Automated Market Making Ethereum November 2018 Operational[30] ConstitutionDAO PEOPLE Purchasing an original copy of the Constitution of the United States Ethereum November 2021[31] Defunct[32]
  • 9. EXAMPLE OF VOTING PROPOSAL FLOW
  • 11. APPROACHES FOR DAO GOVERNANCE No-Code DAO Stack Aragon Colony DAOHaus xDAO Snapshot Coding Solutions Zodiac Tally Gnosis Safe Openzeppelin
  • 14. ADDING YOUR DAO TO TALLY.XYZ
  • 15. MAJOR GOVERNANCE FRAMEWORKS AND APPROACHES On-chain voting Off-chain Voting Vote delegation Protocols Compound Governor ✓ ✓ COMP voting OpenZeppelin Governor ✓ ✓ Many Curve Voting Escrow ✓ ✓ Curve Finance mStable Multisigs ✓ Synthetix Yearn Finance Sushiswap Snapshot Polls ✓ Balancer Sushiswap Yearn Finance
  • 16. TALLY.XYZ SUPPORTED PROTOCOLS Compound (COMP) Uniswap (UNI) Indexed Finance (NDX) PoolTogether (POOL) Radicle (RAD) Idle Finance (IDLE) Inverse Finance (INV) Unslashed Finance (USF) …
  • 17. BALLOT CONTRACT 1/6 // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; /// @title Voting with delegation. contract Ballot { struct Voter { uint weight; // weight is accumulated by delegation bool voted; // if true, that person already voted address delegate; // person delegated to uint vote; // index of the voted proposal } // This is a type for a single proposal. struct Proposal { bytes32 name; // short name (up to 32 bytes) uint voteCount; // number of accumulated votes }
  • 18. BALLOT CONTRACT 2/6 constructor(bytes32[] memory proposalNames) { chairperson = msg.sender; voters[chairperson].weight = 1; // For each of the provided proposal names, // create a new proposal object and add it // to the end of the array. for (uint i = 0; i < proposalNames.length; i++) { // `Proposal({...})` creates a temporary // Proposal object and `proposals.push(...)` // appends it to the end of `proposals`. proposals.push(Proposal({ name: proposalNames[i], voteCount: 0 })); } }
  • 19. BALLOT CONTRACT 3/6 function giveRightToVote(address voter) external { require( msg.sender == chairperson, "Only chairperson can give right to vote." ); require( !voters[voter].voted, "The voter already voted." ); require(voters[voter].weight == 0); voters[voter].weight = 1; }
  • 20. BALLOT CONTRACT 4/6 /// Delegate your vote to the voter `to`. function delegate(address to) external { // assigns reference Voter storage sender = voters[msg.sender]; require(!sender.voted, "You already voted."); require(to != msg.sender, "Self-delegation is disallowed."); while (voters[to].delegate != address(0)) { to = voters[to].delegate; // We found a loop in the delegation, not allowed. require(to != msg.sender, "Found loop in delegation."); } // Since `sender` is a reference, this // modifies `voters[msg.sender].voted` Voter storage delegate_ = voters[to]; // Voters cannot delegate to wallets that cannot vote. require(delegate_.weight >= 1); sender.voted = true; sender.delegate = to; if (delegate_.voted) { // If the delegate already voted, // directly add to the number of votes proposals[delegate_.vote].voteCount += sender.weight; } else { // If the delegate did not vote yet, // add to her weight. delegate_.weight += sender.weight; } }
  • 21. BALLOT CONTRACT 5/6 function vote(uint proposal) external { Voter storage sender = voters[msg.sender]; require(sender.weight != 0, "Has no right to vote"); require(!sender.voted, "Already voted."); sender.voted = true; sender.vote = proposal; // If `proposal` is out of the range of the array, // this will throw automatically and revert all // changes. proposals[proposal].voteCount += sender.weight; }
  • 22. BALLOT CONTRACT 6/6 function winnerName() external view returns (bytes32 winnerName_) { winnerName_ = proposals[winningProposal()].name; }
  • 23. NEXT STEPS (AGENDA FOR OUR MEETUP NEXT MONTH) Governor Bravo OpenZeppelin