diff --git a/.all-contributorsrc b/.all-contributorsrc
index 58e3fb63e1c..161933bc867 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -2748,7 +2748,9 @@
"avatar_url": "https://avatars.githubusercontent.com/u/2653167?v=4",
"profile": "http://austingriffith.com",
"contributions": [
- "content"
+ "content",
+ "tool",
+ "maintenance"
]
},
{
@@ -4039,7 +4041,9 @@
"profile": "https://github.com/lukassim",
"contributions": [
"content",
- "ideas"
+ "ideas",
+ "translation",
+ "bug"
]
},
{
@@ -6239,10 +6243,10 @@
]
},
{
- "login": "mradziwon",
- "name": "mradziwon",
+ "login": "maciejrrr",
+ "name": "maciejrrr",
"avatar_url": "https://avatars.githubusercontent.com/u/6785984?v=4",
- "profile": "http://www.linkedin.com/in/mradziwon",
+ "profile": "http://www.linkedin.com/in/maciejrrr",
"contributions": [
"code",
"bug"
@@ -10179,7 +10183,8 @@
"avatar_url": "https://avatars.githubusercontent.com/u/84749041?v=4",
"profile": "http://uniyj.eth",
"contributions": [
- "content"
+ "content",
+ "maintenance"
]
},
{
@@ -11685,7 +11690,8 @@
"avatar_url": "https://avatars.githubusercontent.com/u/6020891?v=4",
"profile": "http://www.edukids.cz",
"contributions": [
- "eventOrganizing"
+ "eventOrganizing",
+ "maintenance"
]
},
{
@@ -12361,7 +12367,8 @@
"avatar_url": "https://avatars.githubusercontent.com/u/82784104?v=4",
"profile": "https://github.com/JoshDavisLight",
"contributions": [
- "content"
+ "content",
+ "maintenance"
]
},
{
@@ -12625,6 +12632,489 @@
"contributions": [
"design"
]
+ },
+ {
+ "login": "jkylling",
+ "name": "Jonas Irgens Kylling",
+ "avatar_url": "https://avatars.githubusercontent.com/u/6781076?v=4",
+ "profile": "https://github.com/jkylling",
+ "contributions": [
+ "content"
+ ]
+ },
+ {
+ "login": "CremaFR",
+ "name": "Thomas Brillard",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5360522?v=4",
+ "profile": "https://github.com/CremaFR",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "YakshitAgarwal",
+ "name": "Yakshit Agarwal",
+ "avatar_url": "https://avatars.githubusercontent.com/u/153830716?v=4",
+ "profile": "https://github.com/YakshitAgarwal",
+ "contributions": [
+ "content"
+ ]
+ },
+ {
+ "login": "mseidlx",
+ "name": "Matthias Seidl",
+ "avatar_url": "https://avatars.githubusercontent.com/u/32496674?v=4",
+ "profile": "https://growthepie.com",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "JoeChenJ",
+ "name": "JoeChenJ",
+ "avatar_url": "https://avatars.githubusercontent.com/u/171761102?v=4",
+ "profile": "https://github.com/JoeChenJ",
+ "contributions": [
+ "content",
+ "bug",
+ "code"
+ ]
+ },
+ {
+ "login": "itzVarsha",
+ "name": "Varshitha",
+ "avatar_url": "https://avatars.githubusercontent.com/u/138134029?v=4",
+ "profile": "https://github.com/itzVarsha",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "alexandriaroberts",
+ "name": "Alexandria Roberts",
+ "avatar_url": "https://avatars.githubusercontent.com/u/31341867?v=4",
+ "profile": "https://alexandriaroberts.dev/",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "colinlyguo",
+ "name": "colin",
+ "avatar_url": "https://avatars.githubusercontent.com/u/102356659?v=4",
+ "profile": "https://github.com/colinlyguo",
+ "contributions": [
+ "content"
+ ]
+ },
+ {
+ "login": "jenish-thapa",
+ "name": "Jenish Thapa",
+ "avatar_url": "https://avatars.githubusercontent.com/u/141203631?v=4",
+ "profile": "https://github.com/jenish-thapa",
+ "contributions": [
+ "ideas"
+ ]
+ },
+ {
+ "login": "iusx",
+ "name": "iusx",
+ "avatar_url": "https://avatars.githubusercontent.com/u/57232813?v=4",
+ "profile": "https://jiangxue.org/~ritsu",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "JJOptimist",
+ "name": "JJOptimist",
+ "avatar_url": "https://avatars.githubusercontent.com/u/86833563?v=4",
+ "profile": "https://github.com/JJOptimist",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "hotequil",
+ "name": "João Paulo Hotequil",
+ "avatar_url": "https://avatars.githubusercontent.com/u/46814712?v=4",
+ "profile": "https://github.com/hotequil",
+ "contributions": [
+ "code",
+ "translation"
+ ]
+ },
+ {
+ "login": "microHoffman",
+ "name": "microHoffman",
+ "avatar_url": "https://avatars.githubusercontent.com/u/61500778?v=4",
+ "profile": "http://pwn.xyz",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "smithrashell",
+ "name": "Rashell Smith",
+ "avatar_url": "https://avatars.githubusercontent.com/u/36465023?v=4",
+ "profile": "https://github.com/smithrashell",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "aolson078",
+ "name": "Alex Olson",
+ "avatar_url": "https://avatars.githubusercontent.com/u/69769089?v=4",
+ "profile": "https://github.com/aolson078",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "adminsuci",
+ "name": "SUCI - Blockchain Hub Team",
+ "avatar_url": "https://avatars.githubusercontent.com/u/155696196?v=4",
+ "profile": "https://www.suci.io/",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "Nik-EpicWeb3",
+ "name": "Nik-EpicWeb3",
+ "avatar_url": "https://avatars.githubusercontent.com/u/214466248?v=4",
+ "profile": "https://github.com/Nik-EpicWeb3",
+ "contributions": [
+ "eventOrganizing"
+ ]
+ },
+ {
+ "login": "brossetti1",
+ "name": "Brian Rossetti",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5998100?v=4",
+ "profile": "https://github.com/brossetti1",
+ "contributions": [
+ "maintenance",
+ "code"
+ ]
+ },
+ {
+ "login": "Antoine-Sparenberg",
+ "name": "Antoine-Sparenberg",
+ "avatar_url": "https://avatars.githubusercontent.com/u/128523213?v=4",
+ "profile": "https://github.com/Antoine-Sparenberg",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "kks-code",
+ "name": "Kendra Karol Sevilla",
+ "avatar_url": "https://avatars.githubusercontent.com/u/214244795?v=4",
+ "profile": "https://github.com/kks-code",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "otc-png",
+ "name": "otc group",
+ "avatar_url": "https://avatars.githubusercontent.com/u/214395681?v=4",
+ "profile": "https://github.com/otc-png",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "Savio-Sou",
+ "name": "Savio",
+ "avatar_url": "https://avatars.githubusercontent.com/u/72797635?v=4",
+ "profile": "https://github.com/Savio-Sou",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "vtjl10",
+ "name": "fuder.eth",
+ "avatar_url": "https://avatars.githubusercontent.com/u/139509124?v=4",
+ "profile": "https://github.com/vtjl10",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "CXYZTW",
+ "name": "@karelxfi",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54091831?v=4",
+ "profile": "https://github.com/CXYZTW",
+ "contributions": [
+ "tool"
+ ]
+ },
+ {
+ "login": "gorbatiukcom",
+ "name": "Oleg Gorbatiuk",
+ "avatar_url": "https://avatars.githubusercontent.com/u/35546483?v=4",
+ "profile": "https://www.linkedin.com/in/gorbatiuk/",
+ "contributions": [
+ "content"
+ ]
+ },
+ {
+ "login": "Tri-stone",
+ "name": "Tri-stone",
+ "avatar_url": "https://avatars.githubusercontent.com/u/17921243?v=4",
+ "profile": "https://github.com/Tri-stone",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "deca12x",
+ "name": "deca",
+ "avatar_url": "https://avatars.githubusercontent.com/u/74135582?v=4",
+ "profile": "https://github.com/deca12x",
+ "contributions": [
+ "eventOrganizing"
+ ]
+ },
+ {
+ "login": "Anish-Gupta1",
+ "name": "Anish Gupta ",
+ "avatar_url": "https://avatars.githubusercontent.com/u/180473292?v=4",
+ "profile": "https://github.com/Anish-Gupta1",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "rohitt-gupta",
+ "name": "Rohit Gupta",
+ "avatar_url": "https://avatars.githubusercontent.com/u/81370462?v=4",
+ "profile": "https://rohitt.in",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "rvmz",
+ "name": "Roman Mazurenko",
+ "avatar_url": "https://avatars.githubusercontent.com/u/92804957?v=4",
+ "profile": "https://github.com/rvmz",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "standstaff",
+ "name": "ZhengXingRu",
+ "avatar_url": "https://avatars.githubusercontent.com/u/163401255?v=4",
+ "profile": "https://github.com/standstaff",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "imbarty",
+ "name": "barty",
+ "avatar_url": "https://avatars.githubusercontent.com/u/191963641?v=4",
+ "profile": "https://github.com/imbarty",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "futreall",
+ "name": "futreall",
+ "avatar_url": "https://avatars.githubusercontent.com/u/86553580?v=4",
+ "profile": "https://github.com/futreall",
+ "contributions": [
+ "translation",
+ "bug"
+ ]
+ },
+ {
+ "login": "0xshikhar",
+ "name": "Shikhar Singh",
+ "avatar_url": "https://avatars.githubusercontent.com/u/64684053?v=4",
+ "profile": "https://github.com/0xshikhar",
+ "contributions": [
+ "code",
+ "content"
+ ]
+ },
+ {
+ "login": "clacladev",
+ "name": "clacla",
+ "avatar_url": "https://avatars.githubusercontent.com/u/161903?v=4",
+ "profile": "https://github.com/clacladev",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "baumstern",
+ "name": "Daehyun Paik",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1610146?v=4",
+ "profile": "https://a30a.dev/",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "dbarabashh",
+ "name": "Dima Barabash",
+ "avatar_url": "https://avatars.githubusercontent.com/u/10253529?v=4",
+ "profile": "https://dbarabashh.com",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "YashIIT0909",
+ "name": "Yash Agarwal",
+ "avatar_url": "https://avatars.githubusercontent.com/u/182656811?v=4",
+ "profile": "https://github.com/YashIIT0909",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "tomrpl",
+ "name": "Reppelin Tom",
+ "avatar_url": "https://avatars.githubusercontent.com/u/75627352?v=4",
+ "profile": "http://www.linkedin.com/in/tom-reppelin",
+ "contributions": [
+ "tool"
+ ]
+ },
+ {
+ "login": "mdqst",
+ "name": "Dmitry",
+ "avatar_url": "https://avatars.githubusercontent.com/u/98899785?v=4",
+ "profile": "https://mdqst.com",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "3eph1r0th",
+ "name": "Sephiroth",
+ "avatar_url": "https://avatars.githubusercontent.com/u/26237289?v=4",
+ "profile": "https://github.com/3eph1r0th",
+ "contributions": [
+ "tool"
+ ]
+ },
+ {
+ "login": "IlyaSmiyukha",
+ "name": "Ilya Smiyukha",
+ "avatar_url": "https://avatars.githubusercontent.com/u/39830587?v=4",
+ "profile": "https://ilyasmiyukha.github.io/",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "jorgesumle",
+ "name": "Jorge",
+ "avatar_url": "https://avatars.githubusercontent.com/u/14212780?v=4",
+ "profile": "https://github.com/jorgesumle",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "CryptoDelirium",
+ "name": "Crypto Delirium",
+ "avatar_url": "https://avatars.githubusercontent.com/u/6353394?v=4",
+ "profile": "https://github.com/CryptoDelirium",
+ "contributions": [
+ "content"
+ ]
+ },
+ {
+ "login": "alinobrasil",
+ "name": "AK",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1214559?v=4",
+ "profile": "https://github.com/alinobrasil",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "0xumarkhatab",
+ "name": "0xumarkhatab",
+ "avatar_url": "https://avatars.githubusercontent.com/u/71306738?v=4",
+ "profile": "https://github.com/0xumarkhatab",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "alcueca",
+ "name": "Alberto Cuesta Cañada",
+ "avatar_url": "https://avatars.githubusercontent.com/u/38806121?v=4",
+ "profile": "https://www.linkedin.com/in/albertocuesta/",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "Co1nB3e",
+ "name": "Co1nB3e",
+ "avatar_url": "https://avatars.githubusercontent.com/u/91367832?v=4",
+ "profile": "https://github.com/Co1nB3e",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "Verestra",
+ "name": "Revo Arya",
+ "avatar_url": "https://avatars.githubusercontent.com/u/44845508?v=4",
+ "profile": "https://github.com/Verestra",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "teniolafatunmbi",
+ "name": "Teniola Fatunmbi",
+ "avatar_url": "https://avatars.githubusercontent.com/u/70762806?v=4",
+ "profile": "http://teniolafatunmbi.com",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "dinitheth",
+ "name": "Dinith",
+ "avatar_url": "https://avatars.githubusercontent.com/u/170238361?v=4",
+ "profile": "https://github.com/dinitheth",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "julio4",
+ "name": "Julio",
+ "avatar_url": "https://avatars.githubusercontent.com/u/30329843?v=4",
+ "profile": "https://github.com/julio4",
+ "contributions": [
+ "maintenance"
+ ]
+ },
+ {
+ "login": "abeldotam",
+ "name": "Abel Derderian",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5216201?v=4",
+ "profile": "http://abel.fr",
+ "contributions": [
+ "maintenance"
+ ]
}
],
"contributorsPerLine": 7,
diff --git a/.claude/commands/update-llms-txt.md b/.claude/commands/update-llms-txt.md
new file mode 100644
index 00000000000..854340da82e
--- /dev/null
+++ b/.claude/commands/update-llms-txt.md
@@ -0,0 +1,87 @@
+# Update LLMS.txt Command
+
+This command helps maintain the `public/llms.txt` file by monitoring key navigation files:
+
+1. **Main Navigation**: `src/components/Nav/useNavigation.ts`
+2. **Developer Docs**: `src/data/developer-docs-links.yaml`
+3. **Footer Links**: `src/components/Footer.tsx`
+
+## How it works
+
+- Adds missing links to appropriate sections
+- Preserves existing descriptions and organization
+- Follows established llms.txt structure
+- **Prefers static markdown files URLs over html URLs** for better LLM comprehension
+
+## Implementation
+
+When this command is executed, I will:
+
+### Step 1: Parse Navigation Files
+
+**Main Navigation** (`src/components/Nav/useNavigation.ts`):
+
+```javascript
+// Extract linkSections object structure
+// Parse learn, use, build, participate sections
+// Get href, label, and description for each link
+```
+
+**Developer Docs** (`src/data/developer-docs-links.yaml`):
+
+```yaml
+# Parse foundational-topics, ethereum-stack, advanced, design-fundamentals
+# Extract href and id mappings
+# Build hierarchical structure
+```
+
+**Footer Links** (`src/components/Footer.tsx`):
+
+```javascript
+// Extract linkSections and dipperLinks arrays
+// Get all footer navigation items
+// Include external links (blog, ESP, Devcon)
+```
+
+### Step 2: Analyze Current llms.txt
+
+- Parse existing sections and their links
+- Extract current URLs and descriptions
+- Identify section organization and hierarchy
+
+### Step 3: URL to Markdown File Mapping
+
+**Priority: Static markdown files URLs over web html URLs**
+
+For each link, I will:
+
+1. Check if corresponding markdown file exists in `public/content/`. **Ignore translations**: Skip `public/content/translations/` directory (60+ language versions)
+2. Use a URL pointing to the markdown file for the page: `https://ethereum.org/content/[page]/index.md`
+3. Fall back to web URL only if no markdown file exists
+4. Example: `https://ethereum.org/learn/` → `https://ethereum.org/content/learn/index.md`
+5. Example2: `https://ethereum.org/guides/how-to-use-a-wallet/` → `https://ethereum.org/content/guides/how-to-use-a-wallet/index.md`
+
+### Step 4: Smart Link Categorization
+
+New links are categorized using these rules:
+
+1. **Learn Section**: `/learn/`, `/what-is-*`, `/guides/`, `/quizzes/`, `/glossary/`
+2. **Use Section**: `/get-eth`, `/wallets/`, `/dapps/`, `/staking/`, use cases
+3. **Build Section**: `/developers/`, `/enterprise/`, developer tools
+4. **Participate Section**: `/community/`, `/contributing/`, `/foundation/`
+5. **Research Section**: `/whitepaper`, `/roadmap/`, `/eips/`, `/governance/`
+
+### Step 5: Validation & Quality Checks
+
+- Verify all markdown files exist in `public/content/`
+- Check for duplicate links within sections
+- Validate section organization and hierarchy
+- Ensure descriptions are informative and concise
+
+### Step 6: Execute Action
+
+Update llms.txt file with improved structure and validated links
+
+---
+
+The command ensures the llms.txt file remains comprehensive and current with minimal manual maintenance.
diff --git a/.env.example b/.env.example
index 08e8ef5b97d..ca0e328cbc8 100644
--- a/.env.example
+++ b/.env.example
@@ -4,10 +4,17 @@
# be careful not to expose sensitive data (e.g. your Algolia admin key)
# Algolia environment (app ID, search key and base search index name required for search)
+# You can use the following test keys provided by DocSearch for local development/testing:
+# NEXT_PUBLIC_ALGOLIA_APP_ID=R2IYF7ETH7
+# NEXT_PUBLIC_ALGOLIA_SEARCH_KEY=599cec31baffa4868cae4e79f180729b
+# NEXT_PUBLIC_ALGOLIA_BASE_SEARCH_INDEX_NAME=docsearch
+# Replace insertValue with your actual keys for production builds.
# NEXT_PUBLIC_ALGOLIA_APP_ID=insertValue
# NEXT_PUBLIC_ALGOLIA_SEARCH_KEY=insertValue
# NEXT_PUBLIC_ALGOLIA_BASE_SEARCH_INDEX_NAME=insertValue
-# NEXT_PUBLIC_GITHUB_TOKEN_READ_ONLY=insertValue
+
+# Github token for read-only use with api functions
+# GITHUB_TOKEN_READ_ONLY=insertValue
# Etherscan API key (required for Etherscan API fetches)
# ETHERSCAN_API_KEY=insertValue
@@ -15,6 +22,7 @@
# Google API key and Calendar ID (required to fetch Calendar events)
# GOOGLE_API_KEY=
# GOOGLE_CALENDAR_ID=
+# GOOGLE_SHEET_ID_DAPPS=
# Dune Analytics API key (required for total eth staked)
# DUNE_API_KEY=
@@ -24,12 +32,12 @@ NEXT_PUBLIC_MATOMO_URL=
NEXT_PUBLIC_MATOMO_SITE_ID=
# Used to avoid loading Matomo in our preview deploys
-IS_PREVIEW_DEPLOY=false
+NEXT_PUBLIC_IS_PREVIEW_DEPLOY=false
# Build pages only for the specified langs. Leave it empty to build all the langs
# e.g. `en,fr` will only build English and French pages
# Note: always include `en` as it is the default lang of the site
-BUILD_LOCALES=
+NEXT_PUBLIC_BUILD_LOCALES=
# If resource constraints are being hit during builds, change LIMIT_CPUS to a
# fixed number of CPUs (e.g. 2) to limit the demand during build time
@@ -40,4 +48,9 @@ ANALYZE=false
# Use mock data for development. Set to "false" to use live data but you must have the
# environment variables set to make api requests
-USE_MOCK_DATA=true
\ No newline at end of file
+USE_MOCK_DATA=true
+
+# AWS SES Configuration for Enterprise Contact Form
+# SES_ACCESS_KEY_ID=your_iam_access_key_id
+# SES_SECRET_ACCESS_KEY=your_iam_secret_access_key
+# SES_REGION=us-east-2
diff --git a/.eslintrc.json b/.eslintrc.json
index c8813d5bbf6..190ff1656e4 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,16 +1,19 @@
{
- "extends": [
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended",
- "next/core-web-vitals",
- "prettier",
- "plugin:storybook/recommended"
- ],
+ "extends": ["eslint:recommended", "next/core-web-vitals", "prettier"],
"env": {
- "es6": true
+ "es6": true,
+ "node": true,
+ "browser": true
},
"plugins": ["simple-import-sort", "@typescript-eslint", "unused-imports"],
"parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": "latest",
+ "sourceType": "module",
+ "ecmaFeatures": {
+ "jsx": true
+ }
+ },
"rules": {
"simple-import-sort/imports": [
"error",
@@ -21,10 +24,8 @@
"^(assert|buffer|child_process|cluster|console|constants|crypto|dgram|dns|domain|events|fs|http|https|module|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|sys|timers|tls|tty|url|util|vm|zlib|freelist|v8|process|async_hooks|http2|perf_hooks)(/.*|$)"
],
// Packages. `react` related packages come first.
- // Also, put `react-icons` in sorting order not with `react`
+ // Also, put `react-*` in sorting order not with `react`
["^react(?!-.)$", "^\\w", "^@\\w"],
- // The Chakra theme directory if imported to story file or other places
- ["^@/@chakra-ui"],
// From the `types` directory.
["^@/lib/types", "^@/lib/interfaces"],
// From the `components` directory.
@@ -35,8 +36,8 @@
["^@/data"],
// From the `constants` directory.
["^@/lib/constants"],
- // From the `.storybook/utils` file
- ["^@/storybook-utils"],
+ // `.storybook` directory and utils files`
+ ["^@/storybook", "^@/storybook-utils"],
// Parent imports. Put `..` last.
["^\\.\\.(?!/?$)", "^\\.\\./?$"],
// Other relative imports. Put same-folder imports and `.` last.
@@ -50,13 +51,6 @@
],
"simple-import-sort/exports": "error",
"no-unused-vars": "off",
- "@typescript-eslint/no-unused-vars": "off",
- "@typescript-eslint/no-explicit-any": [
- "error",
- {
- "fixToUnknown": true
- }
- ],
"unused-imports/no-unused-vars": [
"error",
{
@@ -65,17 +59,38 @@
"varsIgnorePattern": "^_$"
}
],
- "unused-imports/no-unused-imports-ts": "warn",
- "no-restricted-imports": [
- "warn",
- {
- "paths": [
+ "unused-imports/no-unused-imports": "warn"
+ },
+ "overrides": [
+ {
+ "files": ["**/*.{ts,tsx}"],
+ "extends": ["plugin:@typescript-eslint/recommended"],
+ "rules": {
+ "@typescript-eslint/no-explicit-any": [
+ "error",
{
- "name": "react-i18next",
- "message": "Please use next-i18next instead of react-i18next."
+ "fixToUnknown": true
}
]
}
- ]
- }
+ },
+ {
+ "files": ["**/*.stories.@(js|jsx|ts|tsx|mdx)"],
+ "extends": ["plugin:storybook/recommended"]
+ }
+ ],
+ "ignorePatterns": [
+ "node_modules/",
+ ".next/",
+ "out/",
+ "dist/",
+ "build/",
+ ".vercel/",
+ ".netlify/",
+ "coverage/",
+ "storybook-static/",
+ "**/*.d.ts",
+ "src/intl/",
+ "public/code-examples/"
+ ]
}
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 50cc4db14fe..9afbc926c06 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -8,4 +8,5 @@
* @wackerow @corwintines @pettinarip @minimalsm
# Owners of specific files
-/src/data/consensus-bounty-hunters.json @djrtwo @asanso @fredriksvantes
+/src/data/consensus-bounty-hunters.json @asanso @fredriksvantes
+/src/data/wallets/new-to-crypto.ts @konopkja @minimalsm
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/suggest_quiz.yaml b/.github/ISSUE_TEMPLATE/suggest_quiz.yaml
index 7ca8c1d7b93..af037b47770 100644
--- a/.github/ISSUE_TEMPLATE/suggest_quiz.yaml
+++ b/.github/ISSUE_TEMPLATE/suggest_quiz.yaml
@@ -1,5 +1,5 @@
name: Suggest quiz
-description: Add, update, delete questions for a quiz on ethereum.osg
+description: Add, update, delete questions for a quiz on ethereum.org
title: Add/Update/Delete quiz question
labels: ["feature ✨", "quiz 📚"]
body:
diff --git a/.github/ISSUE_TEMPLATE/suggest_resource.yaml b/.github/ISSUE_TEMPLATE/suggest_resource.yaml
new file mode 100644
index 00000000000..6df8803f163
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/suggest_resource.yaml
@@ -0,0 +1,63 @@
+name: Suggest a resource
+description: Suggest a new resource to list on ethereum.org/resources
+title: Suggest a resource
+labels: ["resource 📚"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Before suggesting a resource, make sure you've read [our listing policy](https://www.ethereum.org/en/contributing/adding-resources/).
+ - type: markdown
+ attributes:
+ value: Only continue with the issue if your resource meets the criteria listed there.
+ - type: markdown
+ attributes:
+ value: If it does, complete the following information which we need to accurately list the resource.
+ - type: markdown
+ id: resource_info
+ attributes:
+ value: "## Resource info"
+ - type: input
+ id: resource_name
+ attributes:
+ label: Name
+ description: Please provide the official name of the resource
+ validations:
+ required: true
+ - type: input
+ id: resource_url
+ attributes:
+ label: Resource URL
+ description: Please provide a URL to the resource
+ validations:
+ required: true
+ - type: textarea
+ id: resource_description
+ attributes:
+ label: Description
+ description: Please provide a short 1-2 sentence description of the resource
+ validations:
+ required: true
+ - type: textarea
+ id: resource_logo
+ attributes:
+ label: Logo
+ description: |
+ Please provide an SVG or transparent PNG
+ Tip: You can attach images by clicking this area to highlight it and then dragging files in.
+ - type: input
+ id: resource_category
+ attributes:
+ label: Category
+ description: Please specify a best fit to categorize the resource (e.g., DeFi, NFT, Scaling, etc.)
+ - type: checkboxes
+ id: resource_work_on
+ attributes:
+ label: Would you like to work on this issue?
+ options:
+ - label: "Yes"
+ required: false
+ - label: "No"
+ required: false
+ validations:
+ required: true
diff --git a/.github/labeler.yml b/.github/labeler.yml
index e6d58364be9..e8baaa81854 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -12,11 +12,11 @@
"dependencies 📦":
- package.json
- yarn.lock
+ - pnpm-lock.yaml
"config ⚙️":
- i18n.config.json
- next.config.js
- - next-i18next.config,js
- next-sitemap.config.js
- tsconfig.json
- .nvmrc
diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml
index 3054c265b98..fd061c16e16 100644
--- a/.github/workflows/chromatic.yml
+++ b/.github/workflows/chromatic.yml
@@ -6,19 +6,8 @@ name: Chromatic Publish and Testing
# Event for the workflow
on:
pull_request:
- types:
- - opened
- - synchronize
- - ready_for_review
- paths:
- # Only run on file changes in any of these paths
- - "src/components/**/*"
- - "src/pages/**/*"
- - "src/layouts/**/*"
- - "src/@chakra-ui/**/*"
- - ".storybook/**/*"
- - "tailwind.config.ts"
- - "src/styles/**/*"
+ branches: [master, staging, "test/**"]
+ types: [opened, synchronize, ready_for_review]
# List of jobs
jobs:
@@ -27,19 +16,35 @@ jobs:
runs-on: ubuntu-latest
# Job steps
steps:
- # 👇 Version 2 of the action
- name: Checkout repo
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
with:
- fetch-depth: 0 # 👈 Required to retrieve git history
+ fetch-depth: 0
+ # Tells the checkout which commit hash to reference
+ ref: ${{ github.event.pull_request.head.ref }}
+ env:
+ CHROMATIC_BRANCH: ${{ github.event.pull_request.head.ref || github.ref_name }}
+ CHROMATIC_SHA: ${{ github.event.pull_request.head.sha || github.ref }}
+ CHROMATIC_SLUG: ${{ github.repository }}
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ version: 10
+ - name: Setup Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: "pnpm"
+
- name: Install deps
- # 👇 Install dependencies with the same package manager used in the project (replace it as needed), e.g. yarn, npm, pnpm
- run: yarn
+ run: pnpm install
+
- name: Publish to Chromatic
- # 👇 Adds Chromatic as a step in the workflow
uses: chromaui/action@v1
- # Options required for Chromatic's GitHub Action
with:
projectToken: fee8e66c9916
# 👇 Only fail if Storybook contains stories that error
exitZeroOnChanges: true
+ onlyChanged: true # enables TurboSnap
+ zip: true
diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml
new file mode 100644
index 00000000000..afd22a73d67
--- /dev/null
+++ b/.github/workflows/claude.yml
@@ -0,0 +1,52 @@
+name: Claude PR Assistant
+
+on:
+ issue_comment:
+ types: [created]
+ pull_request_review_comment:
+ types: [created]
+ issues:
+ types: [opened, assigned]
+ pull_request_review:
+ types: [submitted]
+
+jobs:
+ claude-code-action:
+ if: |
+ (
+ github.event_name == 'issue_comment' &&
+ contains(github.event.comment.body, '@claude') &&
+ contains('minimalsm,pettinarip,wackerow,corwintines,nloureiro,konopkja', github.event.comment.user.login)
+ ) ||
+ (
+ github.event_name == 'pull_request_review_comment' &&
+ contains(github.event.comment.body, '@claude') &&
+ contains('minimalsm,pettinarip,wackerow,corwintines,nloureiro,konopkja', github.event.comment.user.login)
+ ) ||
+ (
+ github.event_name == 'pull_request_review' &&
+ contains(github.event.review.body, '@claude') &&
+ contains('minimalsm,pettinarip,wackerow,corwintines,nloureiro,konopkja', github.event.review.user.login)
+ ) ||
+ (
+ github.event_name == 'issues' &&
+ contains(github.event.issue.body, '@claude') &&
+ contains('minimalsm,pettinarip,wackerow,corwintines,nloureiro,konopkja', github.event.issue.user.login)
+ )
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pull-requests: read
+ issues: read
+ id-token: write
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 1
+
+ - name: Run Claude PR Action
+ uses: anthropics/claude-code-action@beta
+ with:
+ anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
+ timeout_minutes: "60"
\ No newline at end of file
diff --git a/.github/workflows/crowdin-ci.yml b/.github/workflows/crowdin-ci.yml
index 7d8a7c81570..ea7b333e53d 100644
--- a/.github/workflows/crowdin-ci.yml
+++ b/.github/workflows/crowdin-ci.yml
@@ -18,16 +18,22 @@ jobs:
- name: Check out code
uses: actions/checkout@v3
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ version: 10
+
- name: Set up Node.js
uses: actions/setup-node@v3
with:
- node-version: 18
+ node-version: 20
+ cache: 'pnpm'
- name: Install dependencies
- run: yarn install
+ run: pnpm install
- name: Install ts-node
- run: yarn global add ts-node
+ run: pnpm add -g ts-node
- name: Set up git
run: |
diff --git a/.github/workflows/generate-review-report.yml b/.github/workflows/generate-review-report.yml
index 8b09e4a0d8c..fe0b6075b1d 100644
--- a/.github/workflows/generate-review-report.yml
+++ b/.github/workflows/generate-review-report.yml
@@ -10,16 +10,22 @@ jobs:
- name: Check out code
uses: actions/checkout@v3
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ version: 10
+
- name: Set up Node.js
uses: actions/setup-node@v3
with:
- node-version: 18
+ node-version: 20
+ cache: 'pnpm'
- name: Install dependencies
- run: yarn install
+ run: pnpm install
- name: Install ts-node
- run: yarn global add ts-node
+ run: pnpm add -g ts-node
- name: Run script
run: npx ts-node -O '{"module":"commonjs"}' ./src/scripts/crowdin/reports/generateReviewReport.ts
@@ -28,7 +34,7 @@ jobs:
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
- name: Upload output as artifact
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: output
path: ./src/data/crowdin/bucketsAwaitingReviewReport.csv
\ No newline at end of file
diff --git a/.github/workflows/get-crowdin-contributors.yml b/.github/workflows/get-crowdin-contributors.yml
index 57a051ab06a..ef02c809ba7 100644
--- a/.github/workflows/get-crowdin-contributors.yml
+++ b/.github/workflows/get-crowdin-contributors.yml
@@ -12,16 +12,22 @@ jobs:
- name: Check out code
uses: actions/checkout@v3
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ version: 10
+
- name: Set up Node.js
uses: actions/setup-node@v3
with:
- node-version: 18
+ node-version: 20
+ cache: 'pnpm'
- name: Install dependencies
- run: yarn install
+ run: pnpm install
- name: Install ts-node
- run: yarn global add ts-node
+ run: pnpm add -g ts-node
- name: Set up git
run: |
diff --git a/.github/workflows/get-leaderboard-reports.yml b/.github/workflows/get-leaderboard-reports.yml
index 4b1dc1c292d..a6a78ecb678 100644
--- a/.github/workflows/get-leaderboard-reports.yml
+++ b/.github/workflows/get-leaderboard-reports.yml
@@ -12,16 +12,22 @@ jobs:
- name: Check out code
uses: actions/checkout@v3
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ version: 10
+
- name: Set up Node.js
uses: actions/setup-node@v3
with:
- node-version: 18
+ node-version: 20
+ cache: 'pnpm'
- name: Install dependencies
- run: yarn install
+ run: pnpm install
- name: Install ts-node
- run: yarn global add ts-node
+ run: pnpm add -g ts-node
- name: Set up git
run: |
diff --git a/.github/workflows/get-translation-progress.yml b/.github/workflows/get-translation-progress.yml
index f843c616ab3..2d879b8b793 100644
--- a/.github/workflows/get-translation-progress.yml
+++ b/.github/workflows/get-translation-progress.yml
@@ -12,16 +12,22 @@ jobs:
- name: Check out code
uses: actions/checkout@v3
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ version: 10
+
- name: Set up Node.js
uses: actions/setup-node@v3
with:
- node-version: 18
+ node-version: 20
+ cache: 'pnpm'
- name: Install dependencies
- run: yarn install
+ run: pnpm install
- name: Install ts-node
- run: yarn global add ts-node
+ run: pnpm add -g ts-node
- name: Set up git
run: |
diff --git a/.github/workflows/import-community-events.yml b/.github/workflows/import-community-events.yml
index ab555af9051..289b150a2c8 100644
--- a/.github/workflows/import-community-events.yml
+++ b/.github/workflows/import-community-events.yml
@@ -12,13 +12,19 @@ jobs:
- name: Check out code
uses: actions/checkout@master
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ version: 10
+
- name: Set up Node.js
uses: actions/setup-node@v3
with:
- node-version: 18
+ node-version: 20
+ cache: 'pnpm'
- name: Install dependencies
- run: yarn install
+ run: pnpm install
- name: Set up git
run: |
@@ -37,7 +43,7 @@ jobs:
git checkout -b "automated-update-${{ env.TIMESTAMP }}" origin/dev
- name: Run script
- run: yarn events-import
+ run: pnpm events-import
env:
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
diff --git a/.github/workflows/lychee-cron.yml b/.github/workflows/lychee-cron.yml
new file mode 100644
index 00000000000..d1c78dff7ad
--- /dev/null
+++ b/.github/workflows/lychee-cron.yml
@@ -0,0 +1,52 @@
+name: Check Links In Public Directory
+
+on:
+ schedule:
+ - cron: "0 0 1 * *" # Monthly run on the 1st day of every month at midnight UTC
+ workflow_dispatch:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ check-links:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ ref: dev
+
+ - name: Check links in /public
+ uses: lycheeverse/lychee-action@v2
+ with:
+ args: |
+ public/
+ --quiet
+ --max-retries 1
+ --accept 200,429,403
+ --exclude-all-private
+ --exclude '^file://'
+ --exclude "ethereum\.org"
+ --include '^https?://'
+ --format detailed
+ './**/*.md'
+ continue-on-error: true
+
+ - name: Provide helpful failure message
+ if: failure()
+ run: |
+ echo "::error::Link check failed! Please review the broken links reported above."
+ echo ""
+ echo "If certain links are valid but fail due to:"
+ echo "- CAPTCHA challenges"
+ echo "- IP blocking"
+ echo "- Authentication requirements"
+ echo "- Rate limiting"
+ echo ""
+ echo "Consider adding them to .lycheeignore to bypass future checks."
+ echo "Format: Add one URL pattern per line"
+ exit 1
diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml
new file mode 100644
index 00000000000..58ae05e5485
--- /dev/null
+++ b/.github/workflows/playwright.yml
@@ -0,0 +1,80 @@
+name: E2E tests
+on:
+ push:
+ branches: [master, staging, e2e-tests] # TODO: remove e2e-tests branch after testing
+ pull_request:
+ branches: [master, staging, e2e-tests] # TODO: remove e2e-tests branch after testing
+jobs:
+ playwright:
+ runs-on: ubuntu-latest
+ env:
+ CI: true
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Wait for Netlify Deploy
+ id: netlify_deploy
+ uses: pettinarip/wait-for-netlify-action@v1.0.2
+ with:
+ site_id: "e8f2e766-888b-4954-8500-1b647d84db99"
+ max_timeout: 3600
+ env:
+ NETLIFY_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+
+ - name: Install dependencies
+ run: pnpm install
+
+ - name: Install Playwright with all browsers
+ run: npx playwright install --with-deps
+
+ - name: Run E2E Tests on Netlify URL
+ run: pnpm test:e2e
+ env:
+ PLAYWRIGHT_TEST_BASE_URL: ${{ steps.netlify_deploy.outputs.url }}
+
+ - uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: playwright-report
+ path: ./tests/e2e/__results__
+ retention-days: 7
+
+ chromatic:
+ name: chromatic
+ needs: playwright
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 22.12.0
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+
+ - name: Install dependencies
+ run: pnpm install
+
+ - name: Download Playwright test results
+ uses: actions/download-artifact@v4
+ with:
+ name: playwright-report
+ path: ./tests/e2e/__results__
+
+ - name: Run Chromatic
+ uses: chromaui/action@latest
+ with:
+ projectToken: ${{ secrets.CHROMATIC_E2E_TOKEN }}
+ playwright: true
+ exitZeroOnChanges: true
+ storybookBaseDir: .
+ env:
+ CHROMATIC_ARCHIVE_LOCATION: ./tests/e2e/__results__
diff --git a/.github/workflows/update-chains.yml b/.github/workflows/update-chains.yml
new file mode 100644
index 00000000000..f253e819061
--- /dev/null
+++ b/.github/workflows/update-chains.yml
@@ -0,0 +1,47 @@
+name: Update Chains
+
+on:
+ schedule:
+ - cron: '20 16 * * FRI' # Runs every Friday at 16:20 UTC
+ workflow_dispatch: # Can be dispatched manually
+
+jobs:
+ update-chains:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ version: 10
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: 20
+ cache: 'pnpm'
+
+ - name: Install dependencies
+ run: pnpm install
+
+ - name: Install ts-node
+ run: pnpm add -g ts-node
+
+ - name: Update chains data
+ run: npx ts-node -O '{"module":"commonjs"}' ./src/scripts/update-chains.ts
+
+ - name: Create Pull Request
+ uses: peter-evans/create-pull-request@v6
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ branch: update-chains
+ branch-suffix: timestamp
+ commit-message: |
+ Update chains data
+ base: dev
+ title: Update chains data
+ body: Automated update of chains data from https://chainid.network/chains.json
+ labels: update 🔄
\ No newline at end of file
diff --git a/.github/workflows/wallets-check.yml b/.github/workflows/wallets-check.yml
deleted file mode 100644
index 952b398a887..00000000000
--- a/.github/workflows/wallets-check.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-name: Check Wallet Data for new_to_crypto
-
-on:
- pull_request:
- paths:
- - "src/data/wallets/wallet-data.ts"
-
-jobs:
- check_new_to_crypto:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v3
-
- - name: Check for new_to_crypto
- id: check_new_to_crypto
- run: |
- if git diff --name-only HEAD^ | grep -q "data/wallets/wallet-data.ts"; then
- if git diff -U0 HEAD^ HEAD data/wallets/wallet-data.ts | grep -q "+.*new_to_crypto: true"; then
- echo "New wallet added with 'new_to_crypto: true'"
- echo "new_to_crypto_found=true" >> $GITHUB_OUTPUT
- else
- echo "new_to_crypto_found=false" >> $GITHUB_OUTPUT
- fi
- fi
-
- - name: Comment on PR if new_to_crypto is added
- if: steps.check_new_to_crypto.outputs.new_to_crypto_found == 'true'
- uses: actions-ecosystem/action-add-comment@v1
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- body: "A wallet has been added with 'new_to_crypto: true'. Please ensure this meets our guidelines."
diff --git a/.gitignore b/.gitignore
index 836e71fee97..9b536dfaf52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
/node_modules
/.pnp
.pnp.js
+.pnpm-store/
# testing
/coverage
@@ -23,6 +24,9 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
+.pnpm-debug.log
+
+pnpm-lock.yaml.bak
# local env files
.env*.local
@@ -59,6 +63,7 @@ src/data/crowdin/bucketsAwaitingReviewReport.csv
# Storybook
build-storybook.log
+build-archive.log
storybook-static
# Trigger local dev folder
diff --git a/.husky/pre-commit b/.husky/pre-commit
index d0a778429a3..2312dc587f6 100644
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1 +1 @@
-npx lint-staged
\ No newline at end of file
+npx lint-staged
diff --git a/.mise.toml b/.mise.toml
new file mode 100644
index 00000000000..e56021c749b
--- /dev/null
+++ b/.mise.toml
@@ -0,0 +1,4 @@
+[settings]
+# tools can read the versions files used by other version managers
+# for example, .nvmrc in the case of node's nvm
+idiomatic_version_file_enable_tools = ['node']
\ No newline at end of file
diff --git a/.nvmrc b/.nvmrc
index 209e3ef4b62..ba331903d16 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-20
+20.19.2
diff --git a/.prettierignore b/.prettierignore
index ed8032e23cc..707becd3450 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -4,3 +4,4 @@ yarn.lock
package-lock.json
public
build
+pnpm-lock.yaml
\ No newline at end of file
diff --git a/.storybook/ChakraDecorator.tsx b/.storybook/ChakraDecorator.tsx
deleted file mode 100644
index dbde5985d55..00000000000
--- a/.storybook/ChakraDecorator.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import { useEffect, useMemo, useState } from "react"
-import {
- ChakraBaseProvider,
- extendBaseTheme,
- useColorMode,
-} from "@chakra-ui/react"
-import type { Decorator } from "@storybook/react"
-
-import theme from "../src/@chakra-ui/theme"
-
-import i18n from "./i18next"
-
-type DecoratorProps = Parameters
+ {date} {description1} {description2} Unable to fetch network fees
+ Celebrate a decade of decentralization with a free, limited-time 10th
+ anniversary NFT. Mint yours before time runs out.
+
+ Thank you all for joining the celebration
+ {errorMessage}
+ {hoveredEvent.city}
+ {hoveredEvent.host}
+ {t("page-10-year-celebrating")}{" "}
+
+
+ {WORDS[0]}
+
+
+ {/* CLIENT SIDE, lazy loaded */}
+
+ {t("page-10-year-banner-launch-text")}
+ {t("page-10-year-banner-tagline")}
+ {story.name?.slice(0, 1) || "?"}
+ {story.name}
+ {story.country}
+
+ {story.storyEnglish}
+
+ {t("page-10-year-stories-english-translation")}
+
+ {story.date}
+
+ {story.name?.slice(0, 1) || "?"}
+ {story.name}
+ {story.country}
+
+ {story.storyOriginal}
+
+ {t("page-10-year-stories-original-language")}
+
+ {story.date}
+ {t("page-10-year-hero-description")} {t("page-10-year-hero-tagline")}
+ To commemorate this historic milestone, we're introducing the{" "}
+ Ethereum Torch NFT a NFT that embodies the spirit
+ of decentralization and community that has defined Ethereum's
+ first decade.
+
+ Like a ceremonial flame that travels from community to community,
+ the Ethereum Torch will journey across the global Ethereum
+ ecosystem. This special NFT will be passed from wallet to wallet
+ among carefully selected community members, developers, and
+ builders who have shaped Ethereum's story over the past 10
+ years.
+
+ Only one Ethereum Torch NFT exists, making each holder a
+ temporary guardian of Ethereum's legacy
+
+ Each holder keeps the torch for 24hours before passing it to the
+ next guardian. On July 30 this NFT wil be burned to celebrate
+ the anniversary.
+
+ {t("page-10-year-innovation-description-1")}
+ {t("page-10-year-innovation-description-2")} {t("page-10-year-innovation-description-3")}
+ {t("page-10-year-adoption-description-1")}
+ {t("page-10-year-adoption-description-2")}
+
+ {t("page-10-year-stories-description-1")}
+ {t("page-10-year-stories-description-2")} {t("page-10-year-ideas-description")}
+ by {app.parentCompany}
+
+ {formatStringList(
+ formatLanguageNames(app.languages),
+ 5
+ )}{" "}
+ See next
+ {nextApp.name}
+ See next
+ {nextApp.name}
+ {app.description} Founded
+ {new Date(app.dateOfLaunch).getFullYear()}
+ Creator {app.parentCompany} Last updated {getTimeAgo(app.lastUpdated)}
+ {app.name}
+
+ {app.subCategory.map((subCategory) => subCategory).join(" · ")}
+ Filter by
+ Showing{" "}
+
+ (
+ {filteredApps.length === apps.length
+ ? apps.length
+ : `${filteredApps.length}/${apps.length}`}
+ )
+
+
+ We're always looking for new apps to add to our list. If you know
+ of an app that you think should be on the list, please let us know.
+
+ {category}
+ {children}
+ {path.description} {description} {course.description}
@@ -557,7 +595,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Dave Mackey
🖋
Emanuel Tesař
🖋
-
DeFiDude
🐛
+
Austin Griffith
🖋
Austin Griffith
🖋 🔧 🚧
@@ -736,7 +774,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Chase Manning
🐛 🖋
Kamil Zarzycki
🌍 🖋
Filip Martinsson
🖋
-
zeroservices
🐛
+
LukaK
🖋 🤔
LukaK
🖋 🤔 🌍 🐛
Luke Ingalls
🖋
@@ -1040,7 +1078,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
yash
🤔
Isaac Beale
📖 🐛
-
Bal Krishna Jha
📖
+
mradziwon
💻 🐛
maciejrrr
💻 🐛
mmilenkovic
📖 🤔
Fernando Guevara
📖
@@ -1587,7 +1625,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Jose Manuel Garcia Rivas
🤔
-
changwu
🖋
+
yj
🖋
yj
🖋 🚧
megatheikal
🐛
Stephen Guo
🌍
@@ -1798,7 +1836,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
F. Eugene Aumson
🐛 🖋
Héctor Chong
🖋
nace.kimura
🖋
-
WuRuiLei2023
🐛
+
Radek
📋
Radek
📋 🚧
Bhargav kakadiya
🐛
@@ -1894,7 +1932,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
+
Krishnakumar Chavan
🖋
-
0xV4L3NT1N3
🔧
+
Josh Davis
🖋
Josh Davis
🖋 🚧
Mobin Mohanan
🖋
Adebayo Steve
💻
@@ -1932,6 +1970,75 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Sanjana
🐛
Sumit Vekariya
🚧
Rafa Gomes
💻
+
ddannehh
🎨
+
Jonas Irgens Kylling
🖋
+
Thomas Brillard
📖
+
Yakshit Agarwal
🖋
+
+
+
Matthias Seidl
💻
+
JoeChenJ
🖋 🐛 💻
+
Varshitha
🚧
+
Alexandria Roberts
💻
+
colin
🖋
+
Jenish Thapa
🤔
+
iusx
💻
+
+
+
JJOptimist
🐛
+
João Paulo Hotequil
💻 🌍
+
microHoffman
🐛
+
Rashell Smith
🐛
+
Alex Olson
🐛
+
SUCI - Blockchain Hub Team
🚧
+
Nik-EpicWeb3
📋
+
+
+
Brian Rossetti
🚧 💻
+
Antoine-Sparenberg
🚧
+
Kendra Karol Sevilla
🚧
+
otc group
🚧
+
Savio
🚧
+
fuder.eth
🚧
+
@karelxfi
🔧
+
+
+
Oleg Gorbatiuk
🖋
+
Tri-stone
🚧
+
deca
📋
+
Anish Gupta
💻
+
Rohit Gupta
💻
+
Roman Mazurenko
🚧
+
ZhengXingRu
🚧
+
+
+
barty
🐛
+
futreall
🌍 🐛
+
Shikhar Singh
💻 🖋
+
clacla
🚧
+
Daehyun Paik
🐛
+
Dima Barabash
💻
+
Yash Agarwal
🐛
+
+
+
Reppelin Tom
🔧
+
Dmitry
🐛
+
Sephiroth
🔧
+
Ilya Smiyukha
🚧
+
Jorge
🐛
+
Crypto Delirium
🖋
+
AK
🚧
+
+
+
0xumarkhatab
🚧
+
Alberto Cuesta Cañada
🚧
+
Co1nB3e
🚧
+
Revo Arya
🚧
+
Teniola Fatunmbi
🚧
+
Dinith
🚧
+
Julio
🚧
+
@@ -1946,3 +2053,5 @@ This project follows the [all-contributors](https://github.com/all-contributors/
### Join our Discord server
We have a space to discuss all things ethereum.org – share your ideas or just say hi over [on Discord](https://discord.gg/ethereum-org).
+
+[🔼Back to top!](#Table-of-contents)
diff --git a/app/[locale]/10years/_components/AdoptionSwiper/index.tsx b/app/[locale]/10years/_components/AdoptionSwiper/index.tsx
new file mode 100644
index 00000000000..d9b34775689
--- /dev/null
+++ b/app/[locale]/10years/_components/AdoptionSwiper/index.tsx
@@ -0,0 +1,60 @@
+"use client"
+
+import { Image } from "@/components/Image"
+import Translation from "@/components/Translation"
+import { ButtonLink } from "@/components/ui/buttons/Button"
+import {
+ Swiper,
+ SwiperContainer,
+ SwiperNavigation,
+ SwiperSlide,
+} from "@/components/ui/swiper"
+
+import { cn } from "@/lib/utils/cn"
+
+import { AdoptionCard } from "../types"
+
+type AdoptionCardProps = {
+ adoptionCards: AdoptionCard[]
+ adoptionStyles: string[]
+}
+
+const AdoptionSwiper = ({
+ adoptionCards,
+ adoptionStyles,
+}: AdoptionCardProps) => (
+
Abel Derderian
🚧{title}
+ {title}
+ `,
+ }))
+
+ // State for custom tooltip
+ const [hoveredEvent, setHoveredEvent] = useState
{t("page-10-year-banner-header")}
+
+ {t("page-10-year-hero-title")}
+
+ Join the livestream
+
+
+
+ One-of-a-kind:
+ Time-limited custody:
+
+
+ {t("page-10-year-innovation-title")}
+
+
+ {t("page-10-year-innovation-subtitle")}
+
+
+
+
+ {t("page-10-year-adoption-title")}
+
+
+ {t("page-10-year-adoption-subtitle")}
+
+
+
+ {t(`page-10-year-adoption-card-${index + 1}-title`)}
+
+
+
+ {t("page-10-year-stories-title")}
+
+
+ {t("page-10-year-stories-subtitle")}
+
+
+ {t("page-10-year-ideas-title")}
+ {app.name}
+ Info
+ Gallery
+ More apps like this
+ {pick.name}
+ Suggest an app
+ Highlights
+ Highlights
+ Discover
+ Applications
+ Application categories
+ Community picks
+ {t("page-assets-h1")}
{t("page-assets-page-assets-solid-background")}
@@ -464,19 +413,19 @@ const AssetsPage = () => {
title={t("page-assets-eth-diamond-white")}
alt={t("page-assets-eth-diamond-white")}
image={ethDiamondBlackWhite}
- svgUrl="/images/assets/svgs/eth-diamond-black-white.svg"
+ svgUrl={`${svgPathFromOrigin}/images/assets/svgs/eth-diamond-black-white.svg`}
/>
{t("page-assets-illustrations")}
@@ -559,10 +508,10 @@ const AssetsPage = () => {
title={t("page-assets-merge-panda")}
alt={t("page-assets-merge-panda")}
image={mergePanda}
- svgUrl="/images/assets/svgs/merge-panda.svg"
+ svgUrl={`${svgPathFromOrigin}/images/assets/svgs/merge-panda.svg`}
/>
- {children}
+
+ {t("page-upgrades-bug-bounty-validity")}
+
+
+
+ {t("page-upgrades-bug-bounty-types")}
+ {t("page-upgrades-bug-bounty-specs-docs")}
+ {t("page-upgrades-bug-bounty-types")}
+ {t("page-upgrades-bug-bounty-help-links")}
+ {t("page-upgrades-bug-bounty-help-links")}
+ {t("page-upgrades-bug-bounty-help-links")}
+
+ {t("page-upgrades-bug-bounty-help-links")}
+
+ {t("page-upgrades-bug-bounty-not-included")}
+ {t("page-upgrades-bug-bounty-submit")}
+ {t("page-upgrades-bug-bounty-hunting")}
+ {t("page-upgrades-bug-bounty-hunting-execution-leaderboard")}
+ {t("page-upgrades-bug-bounty-hunting-leaderboard")}
+ {t("page-upgrades-question-title")}
+
+ {children}
+
+ )
+}
+
+const CommunityPage = () => {
+ const { t } = useTranslation("page-community")
+
+ const cards: Array
+ {t("page-community-why-get-involved-title")}
+
+
+ {t("page-community-get-involved-title")}
+
+ {t("page-community-open-source")}
+ {t("page-community-contribute")}
+ {t("page-community-support")}
+
+ {t("page-community-try-ethereum")}
+
+
+ {t(
+ "page-contributing-translation-program-acknowledgements-acknowledgement-page-title"
+ )}
+
+
+ {t(
+ "page-contributing-translation-program-acknowledgements-translation-leaderboard-title"
+ )}
+
+
+ {t(
+ "page-contributing-translation-program-acknowledgements-our-translators-title"
+ )}
+
+
+ {t(
+ "page-contributing-translation-program-acknowledgements-cert-title"
+ )}
+
+
+ {t(
+ "page-contributing-translation-program-acknowledgements-oats-title"
+ )}
+
+
+ {t(
+ "page-contributing-translation-program-acknowledgements-how-to-claim-title"
+ )}
+
+
+
+ {t("page-contributing-translation-program-contributors-title")}
+
+
+ {t(
+ "page-contributing-translation-program-contributors-number-of-contributors"
+ )}{" "}
+ {translators.length}
+
+
+ {t("page-contributing-translation-program-contributors-thank-you")}
+
+
+ {translators
+ .sort((user1, user2) =>
+ user1.toLowerCase().localeCompare(user2.toLowerCase())
+ )
+ .map((user) => (
+
+ {path.title}
+ {title}
+
+ {course.title}
+
+
{t("page-developers-build-section-desc")}
+ {/* Desktop */} ++ {t("page-developers-quickstart-scaffold-subtext")}{" "} + + {t("page-developers-quickstart-scaffold-docs")} + +
+llms-full.txt
+
+ + {t("page-developers-get-help-desc")} +
++ {t("page-developers-resources-desc")} +
++ {t("page-developers-tutorials-desc")} +
+{t("page-developers-video-courses-desc")}
+ + {/* DESKTOP */} +{t("page-developers-docs-section-desc")}
+{t("page-developers-hackathons-desc")}
+ + {/* DESKTOP */} +{t("page-developers-founders-desc")}
+
+
+
+ {t("page-tutorial-subtitle")} +
+ +{content}
+{strings.success.message}
++ {errors.email} +
+ )} ++ {errors.message} +
+ )} ++ {errors.general} +
++ {p} +
+ ))} +
+
+ {t("page-enterprise-ecosystem-description")} +
++ {t("page-enterprise-why-description")} +
+{content}
++ {t("page-enterprise-team-description")} +
+
+
{t("page-gas-what-are-gas-fees-text-1")}
+
+
{t("page-gas-how-do-i-pay-less-gas-text")}
++ {t("page-gas-what-causes-high-gas-fees-text-1")} +
+
+
+ {t("page-gas-what-causes-high-gas-fees-text-3")} +
+
+ {t("page-gas-want-to-dive-deeper")}{" "}
+
+ {t("page-gas-attack-of-the-cryptokitties-text")} +
+{t("page-gas-why-do-we-need-gas-text")}
+{t("page-gas-how-is-gas-calculated-text-1")}
+
+
+
+
+
+
{t("page-gas-faq-question-3-a-2")}
+{description}
++ {t("page-get-eth-where-to-buy-desc")} +
+
+
+ {tCommon("listing-policy-disclaimer")}{" "}
+
+ {t("page-get-eth-exchanges-intro")} +
+ + {/* CLIENT SIDE */} +{t("page-get-eth-dexs-desc")}
+
+ {t("page-get-eth-dexs-desc-2")}{" "}
+
{t("page-get-eth-dexs-desc-3")}
+{t("page-get-eth-need-wallet")}
+{t("page-get-eth-swapping")}
+{t("page-get-eth-description")}
+{t("page-get-eth-security")}
+{t("page-get-eth-protect-eth-desc")}
+{t("page-get-eth-your-address-desc")}
++ 0x0125e2478d69eXaMpLe81766fef5c120d30fb53f +
++ {t("page-get-eth-do-not-copy")} +
+{t("page-get-eth-your-address-desc-3")}
+{t("page-get-eth-wallet-instructions-lost")}
++ + {t("page-layer-2-powered-by-ethereum-description-1")}{" "} + + {t("page-layer-2-powered-by-ethereum-description-2")} +
+{t("page-layer-2-powered-by-ethereum-description-3")}
++ $ + {( + growThePieData.dailyTxCosts["ethereum"] || 0 + ).toLocaleString(locale as Lang, { + minimumFractionDigits: 2, + maximumFractionDigits: 2, + })} +
++ {t("page-layer-2-blockchain-transaction-cost")} +
++ $ + {medianTxCost.toLocaleString(locale as Lang, { + minimumFractionDigits: 2, + maximumFractionDigits: 3, + })} +
++ {t("page-layer-2-networks-transaction-cost")} +
++ {t("page-layer-2-network-of-networks-description")} +
+{t("page-layer-2-ready-to-start-description")}
+{l2.name}
+{t(l2.description)}
+{t("page-layer-2-powered-by-ethereum-title")}
+{t("page-layer-2-why-do-we-need-multiple-networks-2")}
+
+ {t("page-layer-2-faq-ExpandableCard-1-description-1")}{" "}
+
{t("page-layer-2-faq-ExpandableCard-1-description-2")}
+
+ {t("page-layer-2-faq-ExpandableCard-2-description-1")}{" "}
+
{t("page-layer-2-faq-ExpandableCard-2-description-2")}
+{t("page-layer-2-faq-ExpandableCard-3-description")}
+{t("page-layer-2-faq-ExpandableCard-4-description")}
+
+
+
+
+
+ {t("page-layer-2-learn-layer-1-list-title")} +
+{t("page-layer-2-learn-why-do-we-need-layer-2-1")}
+{t("page-layer-2-learn-why-do-we-need-layer-2-2")}
+
+
{t("page-layer-2-learn-why-do-we-need-layer-2-scalability-2")}
+{t("page-layer-2-learn-how-does-layer-2-work-1")}
+{t("page-layer-2-learn-how-does-layer-2-work-2")}
+{t("page-layer-2-learn-how-does-layer-2-work-rollups-1")}
+{t("page-layer-2-learn-how-does-layer-2-work-rollups-2")}
+
+
{t("page-layer-2-learn-dyor-2")}
+{t("page-layer-2-learn-note-on-alt-l1-1")}
+
+
+ {t("page-layer-2-networks-more-advanced-descripton-1")}{" "} + + {t("page-layer-2-networks-more-advanced-descripton-2")} + +
+{t("page-layer-2-networks-more-advanced-descripton-3")}
+{description}
} ++ 10 years of Ethereum! -{" "} + + Join us to celebrate 10 years of Ethereum! + +
+{description}
++ {t("page-index-activity-description")} +
+{t("page-index-learn-description")}
++ {label} +
++ {t("page-index-values-description")} +
+{t("page-index-builders-description")}
+{t("page-index-community-description-1")}
+{t("page-index-community-description-2")}
+{t("page-index-community-description-3")}
++ {new Intl.DateTimeFormat(locale, { + month: "long", + day: "2-digit", + year: "numeric", + hour: "numeric", + minute: "numeric", + }).format(new Date(date))} +
+{t("page-index-posts-subtitle")}
+ + {/* dynamic / lazy loaded */} +{t("page-index-posts-action")}
+{t("page-index-events-subtitle")}
+{t("page-index-join-description")}
+{description}
+{t("want-more-quizzes")}
+{t("contribute")}
+{description}
++ {t("page-resources-contribute-description")} +
+In production
++ Coming soon +
++ In development +
++ {release.releaseName} +
++ {displayDate} +
+{getDisplayDate(release)}
++ Main features +
++ Ethereum's development is community-driven and subject to change. +
++ Ethereum is already a powerful platform, but it is still being + improved. An ambitious set of improvements will upgrade Ethereum + from its current form into a fully scaled, maximally resilient + platform. +
+{item.description}
++ Ethereum gets regular upgrades that enhance its scalability, + security, or sustainability. One of Ethereum's core strengths + is adapting as new ideas emerge from research and development. + Adaptability gives Ethereum the flexibility to tackle emerging + challenges and keep up with the most advanced technological + breakthroughs. +
++ The roadmap is mostly the result of years of work by researchers + and developers - because the protocol is very technical - but any + motivated person can participate. +
++ Ideas usually start off as discussions on a forum such as{" "} + ethresear.ch,{" "} + + Ethereum Magicians + {" "} + or the Eth R&D discord server. They may be responses to new + vulnerabilities that are discovered, suggestions from + organizations working in the application layer (such as dapps and + exchanges) or from known frictions for end users (such as costs or + transaction speeds). +
++ When these ideas mature, they can be proposed as{" "} + + Ethereum Improvement Proposals + + . This is all done in public so that anyone from the community can + weigh in at any time. +
++ Yes—almost definitely. The roadmap is the + current plan for upgrading Ethereum, covering both near-term + and future plans. We expect the roadmap to change as new + information and technology become available. +
++ Think of Ethereum's roadmap as a set of intentions for + improving Ethereum; it is the core researchers' and + developers' best hypothesis of Ethereum's most + optimal path forward. +
++ Some upgrades are lower priority and likely not to be + implemented for the next 5-10 years (e.g. quantum + resistance).{" "} + + Giving precise timing of each upgrade is complicated + {" "} + to predict as many roadmap items are worked on in parallel + and developed at different speeds. The urgency of an upgrade + can also change over time depending on external factors + (e.g. a sudden leap in the performance and availability of + quantum computers may make quantum-resistant cryptography + more urgent). +
++ One way to think about Ethereum development is by analogy to + biological evolution. A network that is able to adapt to new + challenges and maintain fitness is more likely to succeed + than one that is resistant to change, although as the + network becomes more and more performant, scalable and + secure fewer changes to the protocol will be required. +
++ Upgrades tend not to impact end-users except by providing + better user-experiences and a more secure protocol and + perhaps more options for how to interact with + Ethereum.{" "} + + Regular users are not required to actively participate in + an upgrade, nor are they required to do anything** to + secure their assets. + {" "} + Node operators will need + to update their clients to prepare for an upgrade. Some + upgrades may lead to changes for application developers. For + example, history expiry upgrades may lead application + developers to grab historical data from new sources. +
++ Sharding is splitting up the Ethereum blockchain so that + subsets of{" "} + validators are only + responsible for a fraction of the total data. This was + originally intended to be the way for Ethereum to scale. + However, layer 2{" "} + rollups have developed much faster than expected and have + provided a lot of scaling already, and will provide much + more after Proto-Danksharding is implemented. This means + "shard chains" are no longer needed and have been + dropped from the roadmap. +
+
+
+
{t("page-run-a-node-who-copy-2")}
+{t("page-run-a-node-who-copy-3")}
++ {t("page-run-a-node-who-copy-bold")} +
+{item}
+ ))} +
+
+ {t(
+ "page-run-a-node-getting-started-software-section-1-alert"
+ )}
+
+ {t("page-run-a-node-buy-fully-loaded-note-3")}
+
+ {t(
+ "page-run-a-node-build-your-own-software-option-2-button"
+ )}
+
+
+ {t("page-stablecoins-prices-definition")}{" "}
+
+ {t("page-stablecoins-bitcoin-pizza-body")}{" "} +
++ {t("page-stablecoins-find-stablecoin-intro")} +
+{t("page-stablecoins-editors-choice-intro")}
+ +{choice.body}
++ {t("page-stablecoins-top-coins-intro")}{" "} + {t("page-stablecoins-top-coins-intro-code")} +
++ {t("page-stablecoins-save-stablecoins-body")} +
+{t("page-stablecoins-saving")}
+
+
{t("page-staking-section-why-p1")}
+{t("page-staking-section-why-p2")}
+
+
+ {t("page-staking-section-comparison-subtitle")} +
+{t("page-staking-faq-4-answer-p1")}
+{t("page-staking-faq-4-answer-p2")}
+{t("page-staking-faq-4-answer-p3")}
+{t("page-staking-faq-5-answer-p1")}
+{t("page-staking-faq-5-answer-p2")}
+{t("page-staking-faq-3-answer-p1")}
+
+
+ {t("page-staking-deposit-contract-staking")}{" "}
+
+ {t("page-staking-deposit-contract-staking-check-desc")} +
+{t("page-start-subtitle")}
+{t("page-start-share-section-description")}
++ {t("page-trillion-dollar-security-subtitle")} +
+{t("page-trillion-dollar-security-hero-paragraph-1")}
+{t("page-trillion-dollar-security-hero-paragraph-2")}
+
+ {t.rich("page-trillion-dollar-security-hero-paragraph-5", {
+ a: (chunks) => (
+
{t("page-trillion-dollar-security-hero-paragraph-6")}
+ ++ {t( + "page-trillion-dollar-security-user-experience-description" + )} +
++ {t( + "page-trillion-dollar-security-smart-contract-description" + )} +
++ {t( + "page-trillion-dollar-security-infrastructure-description" + )} +
++ {t("page-trillion-dollar-security-consensus-description")} +
++ {t("page-trillion-dollar-security-incident-description")} +
++ {t("page-trillion-dollar-security-social-description")} +
++ This first report is focused on identifying and mapping the + problems and challenges that remain. The next step will be to + choose the highest priority issues, identify solutions, and work + with the ecosystem to address them. +
++ Because the Ethereum ecosystem is decentralized, securing + Ethereum is not something that can be done by a single entity. + Ethereum's technology stack is built and maintained by + independent organizations all around the world, ranging from + wallets to infrastructure to developer tooling. While the 1TS + project is coordinated by the Ethereum Foundation, we need your + help to secure Ethereum. +
++ You can contribute to the 1TS security project by sharing your + feedback and ideas: +
+ ++ We're eager to hear from you at{" "} + + trilliondollarsecurity@ethereum.org + + . +
++ Security begins with the interface people use to interact with + Ethereum. This boundary between users and the blockchain itself + is a consistent source of security challenges. +
++ One defining feature of blockchains is the atomic nature of + transactions: once an update is recorded into the + blockchain, there is no opportunity for intervention or + reversal. This provides strong guarantees of consistency and + protocol level security, but exposes users to heightened + operational risk: a single mistake, compromised key, or + rushed approval can lead to irreversible loss. +
++ As a result, a significant burden of security falls on the + user. To use Ethereum safely, individuals and organizations + must securely hold and manage keys, interact with onchain + applications, and use their keys to sign transactions to + transfer assets or otherwise update Ethereum's state. +
++ Each of these requirements introduces risks like key + compromise or loss, rushed or uninformed approvals, or + compromise of the wallet software users rely on to inform + and guide them through interacting with Ethereum. +
++ Many users are not equipped to safely manage cryptographic + keys. +
++ Most widely used software wallets rely on users securely + storing seed phrases representing their underlying + cryptographic private key, which often leads them to use + insecure workarounds like storing seed phrases in plaintext, + on cloud services, or writing them down on paper. +
++ Hardware wallets are an alternative, which enable users to + manage a cryptographic key stored within a special purpose + physical device. However, hardware wallets have their own + flaws and attack surface. Hardware wallets can be lost, + damaged, or stolen. Many hardware wallets are not open + source and may have opaque supply chains, raising the risk + of a supply chain attack where compromised devices are sold + into the market. +
++ Whether keys are managed in a software or hardware wallet, + many users are understandably nervous about self custody + when it can be compromised through physical theft or + assault. +
++ Enterprise and institutional users face additional + challenges in key management. If individual employees hold + keys (e.g. as part of a multisig wallet), the organization + must be able to replace them and create new ones due to + personnel changes over time. Compliance requirements in + different industries and jurisdictions may require custom + workflows or audit trails not supported by existing wallet + software. In some cases, enterprise users turn to + third-party custodians for digital assets, which may + introduce another layer of security risks to consider. +
++ Users routinely approve transactions “blindly” + without understanding what they are doing. Wallets often + present raw hexadecimal data, truncated contract address, or + other information that is not sufficient for the user to + understand the consequences of a given transaction. This + leaves users of all kinds vulnerable to malicious smart + contracts, phishing, scams, spoofed interfaces, front-end + compromises, and basic user errors. +
++ In many Ethereum applications, it is common for users to + grant certain permissions to the underlying application as + part of normal use. For instance, a user might grant a + decentralized exchange like Uniswap permission to move their + tokens in order to swap them for ETH. +
++ These approvals can have limits on the amount, but many + wallets default to granting unlimited approvals with no + expiry date. There is no way for users to manage or review + their outstanding approvals from within most wallets. +
++ This can expose users to malicious apps or compromised + frontends, because the default pattern for many users is to + grant unlimited approvals which can be used to drain their + funds. Even if a user grants an approval to a legitimate + smart contract, if that contract were later compromised + while the approval remains in place, then the compromised + contract could drain the user’s funds. +
++ This is equally a risk for organizational users. For + instance, an organization might choose to grant a DEX router + unlimited USDC allowance for operational convenience, which + then exposes them to risks if the router contract is + upgraded. +
++ Most users do not directly interact with a smart contract, + but rather through a web interface via their mobile device + or web browser. +
++ These frontends can be vulnerable to attack through familiar + means like DNS hijacking, malicious javascript injection, + insecure hosting, or various third party dependencies. A + compromised app UX can redirect users of all kinds to + malicious smart contracts or lead them to sign misleading + transactions. +
++ Privacy can mitigate or magnify security risks for users of + all kinds. +
++ Weaker privacy protections expose individual users to a + variety of targeted threats like phishing, exploitation, + scams, or physical attacks. Many common UX patterns expose + users, e.g., address reuse, KYC data, and other metadata + leaks. +
++ For institutions and enterprises, privacy is often a + fundamental business requirement for compliance reasons or + certain use cases. In addition to those issues, it can + create exposure to specific security risks. For instance, a + user of a supply chain system built on Ethereum may require + strong privacy guarantees to protect intellectual property + assets that could be compromised if the system was + transparent. +
++ There is a lack of consistency in how different wallets + handle core behaviours like displaying transactions, + handling approvals, or labelling contracts. This + fragmentation of user experience adds friction to the + user’s ability to learn how to safely use wallets, and + increases risks. +
++ For instance, users cannot rely on consistent UX cues to + protect themselves from phishing and spoofing as they differ + across wallets. Users cannot form reliable expectations + about how Ethereum works if each tool functions differently. +
++ Smart contracts are the onchain components of Ethereum + applications: the code that holds funds, defines access + controls, and enforces the application’s business logic. + Because smart contracts are typically transparent and accessible + to anyone, they are a critical attack surface when considering + security in the Ethereum ecosystem. +
++ Smart contract security has radically improved over + Ethereum’s history. Early security incidents like the + DAO hack motivated the ecosystem to professionalize and + improve safeguards across the software lifecycle that leads + to code being deployed onchain. Key advancements include: +
++ However, there remain weaknesses and areas for improvement + in this domain. +
++ Despite advances in smart contract security, there are still + vulnerabilities that can lead to significant security + issues, including: +
++ Vulnerabilities end up in deployed code as a result of + developer error. Improved developer tooling has made it + significantly easier to deploy safe smart contracts. + However, issues remain. +
++ Institutions and enterprises have existing processes, + standards, and requirements for evaluating the security of + technology and systems that they depend on. However, + existing frameworks often do not cleanly map onto smart + contracts, usually assuming mutable code, centralized change + control, and clear lines of accountability or legal + liability. Systems built on smart contracts may sometimes + break those assumptions, making it difficult for + organizations to adopt Ethereum and manage risk + appropriately. +
++ Many uses of Ethereum depend on a variety of infrastructure + providers, including both crypto-specific infrastructure (e.g., + Layer 2 chains, RPC providers) and traditional cloud and + internet infra (e.g., AWS, CDN, DNS). +
++ These systems are an attack surface both for the wallet and + application layer (e.g., RPC endpoints for wallets) and for + the Ethereum protocol itself (e.g., many validators are + hosted on cloud infrastructure). Private key compromise, + phishing, and lack of granular access controls can lead to + large-scale outages, theft, or unauthorized changes, even if + the underlying blockchain protocol remains secure. +
++ Layer 2 chains (L2s) serve as extensions for Ethereum, + enabling faster and lower fee environments while retaining + some of the characteristic security guarantees of Ethereum + mainnet (depending on their specific design). However, they + also have their own distinct attack surfaces including: +
++ See L2Beat for a + detailed framework and monitoring dashboard that evaluates + and compares L2 performance and security. +
++ Ethereum applications depend on a small number of infra + providers for RPC access, APIs and node services. This + includes crypto-specific infra providers, as well as + traditional cloud services that are commonly used to host + nodes (e.g., AWS, Cloudflare, Hetzner). +
++ If these infra providers went offline or attempted to censor + or throttle access, many users could be prevented from + accessing Ethereum through their wallet or application, + until they were able to migrate to a new RPC or other infra + provider. Some of these providers have previously suspended + or shut down accounts associated with blockchain activity, + raising concerns about their long-term reliability for + decentralized applications. +
++ The Domain Name System (DNS) is a foundational layer of the + internet, but it is also centralized and can be compromised. + Many users access apps through web domains, which are + susceptible to: +
++ Ethereum developers rely on open-source libraries, often + pulled directly from services like npm, crates.io, or + GitHub. If these libraries are compromised, they can be a + vector for attacks like: +
++ Many Ethereum applications serve their frontends via a + Content Delivery Network (CDN) or cloud-based hosting + platform (e.g., Vercel, Netlify, Cloudflare). If these + services are compromised, they can be a vector for attacks + like malicious javascript injection, where attackers serve + an altered frontend to users. +
++ Internet Service Providers (ISPs) or nation states can use + control of underlying internet infrastructure to censor + access to Ethereum. For example, these attacks could + include: +
++ Many of these basic techniques are already used by + authoritarian governments around the world to suppress + access to information, protest tools, or cryptocurrencies + today. +
++ Ethereum’s consensus protocol defines how the network + updates the state of the Ethereum blockchain and comes to + agreement. This protocol is at the foundation of what makes + Ethereum a trustworthy platform for money, finance, identity, + governance, real world assets, and more. +
++ Ethereum’s consensus protocol has proven robust in + practice, with zero downtime since first launching in 2015 + and across several upgrades. However, there remain long-term + areas for improvement to make the system more resilient and + secure. +
++ Ethereum’s fork choice and finality rules are + resilient, but they are not invulnerable. During certain + edge case conditions (like prolonged validator disagreement, + client bugs, or network partitions) consensus could stall or + temporarily diverge. In extreme conditions, this could lead + to cascading validator penalties through inactivity leaks or + slashing, which could further lead to capital flight from + validators. +
++ Ethereum’s industry-leading client diversity protects + the network from bugs in any single client. However, client + diversity could still be improved with more adoption of + minority clients to reduce these risks even further. +
++ A significant amount of validator weight is concentrated in + liquid staking protocols, custodial services, and large node + operators. This concentration can lead to risks like: +
++ In some extreme failure modes, Ethereum would rely on + “social slashing” to penalize validators who + acted maliciously to attack the network (see section 6.1). + However, the infrastructure, norms, and expected processes + for this kind of slashing are underdeveloped. There is no + established mechanism that the community would use to engage + in this process. +
++ Many potential economic attack vectors remain understudied, + including: +
++ Ethereum’s core cryptography (e.g. elliptic curve + signatures like secp256k1) could one day be broken by + quantum computers. While this is not an imminent risk, a + credible threat could instantly render existing wallets, + contracts, and staking keys vulnerable. This future + challenge weakens Ethereum’s long-term guarantees to + users. +
++ Migration paths to quantum-resistant cryptography (e.g., via + post-quantum signature schemes) need to be designed, tested, + and possibly embedded in the protocol years before they are + needed. Organizations across the Ethereum ecosystem, + including the Ethereum Foundation, are actively exploring + these options and monitoring risks. +
++ Even an idealized blockchain ecosystem will have risks, + attacks, and vulnerabilities. When things do go wrong, there + must be effective systems to mitigate, detect and respond. + Challenges here include: +
++ {t("page-wallets-description")} +
++ {t("page-wallets-desc-2")} +
++ {t("page-wallets-desc-3")} +
++ {t("page-wallets-desc-4")} +
++ {t("page-wallets-accounts-addresses-desc")} +
+
+
+
+
+ {t("page-wallets-most-wallets")} +
++ {t("page-wallets-types-desc")} +
++ Interactive tutorial +
+
+
+ {t("page-wallets-seed-phrase-example")} +
++ {t("page-wallets-seed-phrase-snippet")} +
++ {t("page-wallets-seed-phrase-write-down")} +
+ +{t("page-wallets-tips-community")}
++ {t("page-find-wallet-description")} +
+
+
+
+
+
+
{t("page-what-is-ethereum-slide-1-desc-2")}
+{t("page-what-is-ethereum-slide-2-desc-1")}
+
+
+
{t("page-what-is-ethereum-slide-4-desc-1")}
+{t("page-what-is-ethereum-slide-4-desc-2")}
++ {t("page-what-is-ethereum-desc")} +
++ {t("page-what-is-ethereum-subtitle")} +
+{t("page-what-is-ethereum-summary-desc-1")}
+{t("page-what-is-ethereum-summary-desc-2")}
+{t("page-what-is-ethereum-why-would-i-use-ethereum-1")}
+{t("page-what-is-ethereum-why-would-i-use-ethereum-2")}
+ +
+
+
+
+
+
{t("page-what-is-ethereum-meet-ether-desc-1")}
+{t("page-what-is-ethereum-meet-ether-desc-2")}
+
+
+
{t("page-what-is-ethereum-criminal-activity-desc-1")}
+{t("page-what-is-ethereum-criminal-activity-desc-2")}
++ + {t("page-what-is-ethereum-criminal-activity-desc-3")} + +
+{t("page-what-is-ethereum-btc-eth-diff-1")}
+
+
{t("page-what-is-ethereum-btc-eth-diff-3")}
+{t("page-what-is-ethereum-btc-eth-diff-4")}
+
+
+
+
diff --git a/docs/review-process.md b/docs/review-process.md
index 9c79b3b0b21..18e0ae97bcb 100644
--- a/docs/review-process.md
+++ b/docs/review-process.md
@@ -42,7 +42,7 @@ Typographical and grammatical errors are medium-priority as small errors of this
### Adding products
-Adding new products is currently a low-to-medium priority (depending on the type of product). These pull requests often take a long time to review as we must extensively research products to ensure we not sending our users to any dubious or unsafe products.
+Adding new products is currently a low-to-medium priority (depending on the type of product). These pull requests often take a long time to review as we must extensively research products to ensure we are not sending our users to any dubious or unsafe products.
**Timeline:** PRs should be closed or merged within 30 days of opening.
@@ -50,4 +50,6 @@ Adding new products is currently a low-to-medium priority (depending on the type
Adding new tutorials to [ethereum.org](http://ethereum.org) is currently low-priority. We are currently in the middle of an epic to revamp our tutorials. As part of this, we’ll be reviewing our existing tutorials, purging outdated or low-quality tutorials, and refining our listing criteria for future tutorials to meet our increased standards. Please always create an issue to discuss the usefulness of your proposed tutorial before opening a PR.
+New tutorials should be placed in `public/content/developers/tutorials/your-tutorial-name/index.md`, with `your-tutorial-name` added to `src/data/internalTutorials.json` for inclusion.
+
**Timeline:** PRs should be closed or merged within 30 days of opening.
diff --git a/docs/stack.md b/docs/stack.md
index c82ab4b7569..7070d4b059c 100644
--- a/docs/stack.md
+++ b/docs/stack.md
@@ -1,7 +1,7 @@
# The ethereum.org website stack
- [Node.js](https://nodejs.org/)
-- [Yarn package manager](https://yarnpkg.com/cli/install)
+- [pnpm](https://pnpm.io/) - Fast, disk space efficient package manager
- [NextJS](https://nextjs.org/)
- React framework that provides some goodies out of the box (pages router, SSG, SSR, i18n support, Image component, etc)
- Configurable in `next.config.js`
@@ -10,7 +10,7 @@
- [React](https://reactjs.org/) - A JavaScript library for building component-based user interfaces
- [Typescript](https://www.typescriptlang.org/) - TypeScript is a strongly typed programming language that builds on JavaScript
- [Chakra UI](https://chakra-ui.com/) - A UI library (Migration in progress)
-- [Algolia](https://www.algolia.com/) - Site indexing, rapid intra-site search results, and search analytics. [Learn more on how we implement Algolia for site search](./docs/ALGOLIA_DOCSEARCH.md).
+- [Algolia](https://www.algolia.com/) - Site indexing, rapid intra-site search results, and search analytics. [Learn more on how we implement Algolia for site search](./site-search.md).
- Primary implementation: `/src/components/Search/index.ts`
- [Crowdin](https://crowdin.com/) - crowdsourcing for our translation efforts (See "Translation initiative" below)
- [GitHub Actions](https://github.com/features/actions) - Manages CI/CD, and issue tracking
diff --git a/docs/translation-program.md b/docs/translation-program.md
index 9fb2f98a5b7..880be48e90c 100644
--- a/docs/translation-program.md
+++ b/docs/translation-program.md
@@ -2,6 +2,6 @@
_The Translation Program is an initiative to translate ethereum.org into different languages and make the website accessible to people from all over the world._
-If you are looking to get involved as a translator, you can [join our project in Crowdin](https://crowdin.com/project/ethereum-org/) and start translating the website to your language immediately.
+If you are looking to get involved as a translator, you can [join our project in Crowdin](https://crowdin.com/project/ethereum-org/) and start translating the website into your language immediately.
To get more information about the program, learn how to use Crowdin, check on the progress or find some useful tools for translators, please visit the [Translation Program page](https://ethereum.org/en/contributing/translation-program/).
diff --git a/docs/typescript.md b/docs/typescript.md
index 78884f9b141..bdccb06e0f9 100644
--- a/docs/typescript.md
+++ b/docs/typescript.md
@@ -14,7 +14,7 @@ const someVar: string = 'string'
const someVar = 'string'
```
-Do declare a type for an unassigned variable when a type can not be inferred.
+Do declare a type for an unassigned variable when a type cannot be inferred.
```
const someVar: string
diff --git a/i18n.config.json b/i18n.config.json
index 0f845c9d0fe..25708fe362d 100644
--- a/i18n.config.json
+++ b/i18n.config.json
@@ -5,7 +5,8 @@
"name": "English",
"localName": "English",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "am",
@@ -13,7 +14,8 @@
"name": "Amharic",
"localName": "አማርኛ",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ar",
@@ -21,7 +23,8 @@
"name": "Arabic",
"localName": "العربية",
"langDir": "rtl",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "az",
@@ -29,7 +32,8 @@
"name": "Azerbaijani",
"localName": "Azərbaycan",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "be",
@@ -37,7 +41,8 @@
"name": "Belarusian",
"localName": "беларускі",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "bg",
@@ -45,7 +50,8 @@
"name": "Bulgarian",
"localName": "български",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "bn",
@@ -53,7 +59,8 @@
"name": "Bengali",
"localName": "বাংলা",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "bs",
@@ -61,7 +68,8 @@
"name": "Bosnian",
"localName": "босански",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ca",
@@ -69,7 +77,8 @@
"name": "Catalan",
"localName": "Català",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "cs",
@@ -77,7 +86,8 @@
"name": "Czech",
"localName": "Čeština",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "da",
@@ -85,7 +95,8 @@
"name": "Danish",
"localName": "Dansk",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "de",
@@ -93,7 +104,8 @@
"name": "German",
"localName": "Deutsch",
"langDir": "ltr",
- "dateFormat": "DD/MM/YYYY"
+ "dateFormat": "DD/MM/YYYY",
+ "validISO639_1": true
},
{
"code": "el",
@@ -101,7 +113,8 @@
"name": "Greek",
"localName": "Ελληνικά",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "es",
@@ -109,7 +122,8 @@
"name": "Spanish",
"localName": "Español",
"langDir": "ltr",
- "dateFormat": "DD/MM/YYYY"
+ "dateFormat": "DD/MM/YYYY",
+ "validISO639_1": true
},
{
"code": "fa",
@@ -117,7 +131,8 @@
"name": "Farsi",
"localName": "فارسی",
"langDir": "rtl",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "fi",
@@ -125,7 +140,8 @@
"name": "Finnish",
"localName": "Suomi",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "fr",
@@ -133,7 +149,17 @@
"name": "French",
"localName": "Français",
"langDir": "ltr",
- "dateFormat": "DD/MM/YYYY"
+ "dateFormat": "DD/MM/YYYY",
+ "validISO639_1": true
+ },
+ {
+ "code": "ga",
+ "crowdinCode": "ga-IE",
+ "name": "Irish",
+ "localName": "Gaeilge",
+ "langDir": "ltr",
+ "dateFormat": "DD/MM/YYYY",
+ "validISO639_1": true
},
{
"code": "gl",
@@ -141,7 +167,8 @@
"name": "Galician",
"localName": "Galego",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "gu",
@@ -149,7 +176,8 @@
"name": "Gujarati",
"localName": "ગુજરાતી",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ha",
@@ -157,7 +185,8 @@
"name": "Hausa",
"localName": "Hausa",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "he",
@@ -165,7 +194,8 @@
"name": "Hebrew",
"localName": "עִבְרִית",
"langDir": "rtl",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "hi",
@@ -173,7 +203,8 @@
"name": "Hindi",
"localName": "हिन्दी",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "hr",
@@ -181,7 +212,8 @@
"name": "Croatian",
"localName": "Hrvatski",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "hu",
@@ -189,7 +221,8 @@
"name": "Hungarian",
"localName": "Magyar",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "hy-am",
@@ -197,7 +230,8 @@
"name": "Armenian",
"localName": "հայերեն",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "id",
@@ -205,7 +239,8 @@
"name": "Indonesian",
"localName": "Bahasa Indonesia",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ig",
@@ -213,7 +248,8 @@
"name": "Igbo",
"localName": "Ibo",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "it",
@@ -221,7 +257,8 @@
"name": "Italian",
"localName": "Italiano",
"langDir": "ltr",
- "dateFormat": "DD/MM/YYYY"
+ "dateFormat": "DD/MM/YYYY",
+ "validISO639_1": true
},
{
"code": "ja",
@@ -229,7 +266,8 @@
"name": "Japanese",
"localName": "日本語",
"langDir": "ltr",
- "dateFormat": "YYYY/MM/DD"
+ "dateFormat": "YYYY/MM/DD",
+ "validISO639_1": true
},
{
"code": "ka",
@@ -237,7 +275,8 @@
"name": "Georgian",
"localName": "ქართული",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "kk",
@@ -245,7 +284,8 @@
"name": "Kazakh",
"localName": "қазақ",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "km",
@@ -253,7 +293,8 @@
"name": "Khmer",
"localName": "ចក្រភពខ្មែរ",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "kn",
@@ -261,7 +302,8 @@
"name": "Kannada",
"localName": "ಕನ್ನಡ",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ko",
@@ -269,7 +311,8 @@
"name": "Korean",
"localName": "한국어",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "lt",
@@ -277,7 +320,8 @@
"name": "Lithuanian",
"localName": "Lietuvis",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ml",
@@ -285,7 +329,8 @@
"name": "Malayalam",
"localName": "മലയാളം",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "mr",
@@ -293,7 +338,8 @@
"name": "Marathi",
"localName": "मराठी",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ms",
@@ -301,7 +347,8 @@
"name": "Malay",
"localName": "Melayu",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ne-np",
@@ -309,7 +356,8 @@
"name": "Nepali",
"localName": "नेपाली",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "nl",
@@ -317,7 +365,8 @@
"name": "Dutch",
"localName": "Nederlands",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "nb",
@@ -325,7 +374,8 @@
"name": "Norwegian",
"localName": "Norsk",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "pcm",
@@ -333,7 +383,8 @@
"name": "Nigerian Pidgin",
"localName": "Nigerian Pidgin",
"langDir": "ltr",
- "dateFormat": "DD/MM/YYYY"
+ "dateFormat": "DD/MM/YYYY",
+ "validISO639_1": false
},
{
"code": "fil",
@@ -341,7 +392,8 @@
"name": "Filipino",
"localName": "Filipino",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": false
},
{
"code": "pl",
@@ -349,7 +401,8 @@
"name": "Polish",
"localName": "Polski",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "pt-br",
@@ -357,7 +410,8 @@
"name": "Portuguese (Brazilian)",
"localName": "Português",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "pt",
@@ -365,7 +419,8 @@
"name": "Portuguese",
"localName": "Português",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ro",
@@ -373,7 +428,8 @@
"name": "Romanian",
"localName": "Română",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ru",
@@ -381,7 +437,8 @@
"name": "Russian",
"localName": "Pусский",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "se",
@@ -389,7 +446,8 @@
"name": "Swedish",
"localName": "Svenska",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "sk",
@@ -397,7 +455,8 @@
"name": "Slovak",
"localName": "Slovenský",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "sl",
@@ -405,7 +464,8 @@
"name": "Slovenian",
"localName": "Slovenščina",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "sn",
@@ -413,7 +473,8 @@
"name": "Shona",
"localName": "Shona",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "sr",
@@ -421,7 +482,8 @@
"name": "Serbian",
"localName": "Српски",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "sw",
@@ -429,7 +491,8 @@
"name": "Swahili",
"localName": "Kiswahili",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ta",
@@ -437,7 +500,8 @@
"name": "Tamil",
"localName": "தமிழ்",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "te",
@@ -445,7 +509,8 @@
"name": "Telugu",
"localName": "తెలుగు",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "tk",
@@ -453,7 +518,8 @@
"name": "Turkmen",
"localName": "türkmen",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "th",
@@ -461,7 +527,8 @@
"name": "Thai",
"localName": "ภาษาไทย",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "tl",
@@ -469,7 +536,8 @@
"name": "Tagalog",
"localName": "Tagalog",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "tr",
@@ -477,7 +545,8 @@
"name": "Turkish",
"localName": "Türkçe",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "tw",
@@ -485,7 +554,8 @@
"name": "Akan, Twi",
"localName": "Twi",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "uk",
@@ -493,7 +563,8 @@
"name": "Ukrainian",
"localName": "Українська",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "ur",
@@ -501,7 +572,8 @@
"name": "Urdu",
"localName": "اردو",
"langDir": "rtl",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "uz",
@@ -509,7 +581,8 @@
"name": "Uzbek",
"localName": "O'zbekcha",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "vi",
@@ -517,7 +590,17 @@
"name": "Vietnamese",
"localName": "Tiếng Việt",
"langDir": "ltr",
- "dateFormat": "MM/DD/YYYY"
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
+ },
+ {
+ "code": "yo",
+ "crowdinCode": "yo",
+ "name": "Yoruba",
+ "localName": "Yorùbá",
+ "langDir": "ltr",
+ "dateFormat": "MM/DD/YYYY",
+ "validISO639_1": true
},
{
"code": "zh-tw",
@@ -525,7 +608,8 @@
"name": "Chinese Traditional",
"localName": "繁體中文",
"langDir": "ltr",
- "dateFormat": "YYYY-MM-DD"
+ "dateFormat": "YYYY-MM-DD",
+ "validISO639_1": true
},
{
"code": "zh",
@@ -533,6 +617,7 @@
"name": "Chinese Simplified",
"localName": "简体中文",
"langDir": "ltr",
- "dateFormat": "YYYY-MM-DD"
+ "dateFormat": "YYYY-MM-DD",
+ "validISO639_1": true
}
]
diff --git a/middleware.ts b/middleware.ts
new file mode 100644
index 00000000000..ccc22f188fd
--- /dev/null
+++ b/middleware.ts
@@ -0,0 +1,10 @@
+import createMiddleware from "next-intl/middleware"
+
+import { routing } from "./src/i18n/routing"
+
+export default createMiddleware(routing)
+
+// Simplified matcher pattern
+export const config = {
+ matcher: ["/((?!api|_next|_vercel|.well-known|.*\\.[^/]*$).*)"],
+}
diff --git a/netlify.toml b/netlify.toml
index 83bdfa26db2..ed323ce2e98 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -7,7 +7,7 @@
publish = ".next"
# Default build command.
- command = "yarn build"
+ command = "pnpm build"
[build.environment]
NEXT_FORCE_EDGE_IMAGES="true"
@@ -39,4 +39,4 @@
path = "en/developers/tutorials/creating-a-wagmi-ui-for-your-contract/"
[functions]
- included_files = ["i18n.config.json","src/data/mocks/**/*"]
\ No newline at end of file
+ included_files = ["i18n.config.json", "src/intl/**/*", "src/data/mocks/**/*"]
\ No newline at end of file
diff --git a/next-i18next.config.js b/next-i18next.config.js
deleted file mode 100644
index cb62211c599..00000000000
--- a/next-i18next.config.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/* eslint-disable @typescript-eslint/no-var-requires */
-const path = require("path")
-const i18nConfig = require("./i18n.config.json")
-
-const BUILD_LOCALES = process.env.BUILD_LOCALES
-// Supported locales defined in `i18n.config.json`
-const locales = BUILD_LOCALES
- ? BUILD_LOCALES.split(",")
- : i18nConfig.map(({ code }) => code)
-
-/** @type {import('next-i18next').UserConfig} */
-module.exports = {
- i18n: {
- // "default" locale is a hack to always display the locale prefix in the
- // url. Ref: https://nextjs.org/docs/pages/building-your-application/routing/internationalization#prefixing-the-default-locale
- defaultLocale: "default",
- // supported locales defined in `i18n.config.json`
- locales: ["default", ...locales],
- localeDetection: false,
- },
- // define custom location for intl files, otherwise default to public/locales (https://github.com/i18next/next-i18next#2-translation-content)
- // use path.resolve to work with Netlify (https://github.com/i18next/next-i18next/issues/1552#issuecomment-1538452722)
- localePath: path.resolve("./src/intl"),
- // see updates to your translation JSON files without having to restart your development server each time
- reloadOnPrerender: true,
- // Language codes to lookup, given set language is 'en-US': 'all' --> ['en-US', 'en', 'dev'], 'currentOnly' --> 'en-US', 'languageOnly' --> 'en'
- load: "currentOnly",
- // Language will be lowercased EN --> en while leaving full locales like en-US
- cleanCode: true,
- // Language will be lowercased eg. en-US --> en-us
- lowerCaseLng: true,
-}
diff --git a/next.config.js b/next.config.js
index 886870c1b02..f5e5ef76c30 100644
--- a/next.config.js
+++ b/next.config.js
@@ -5,7 +5,9 @@ const withBundleAnalyzer = require("@next/bundle-analyzer")({
enabled: process.env.ANALYZE === "true",
})
-const { i18n } = require("./next-i18next.config")
+const createNextIntlPlugin = require("next-intl/plugin")
+
+const withNextIntl = createNextIntlPlugin()
const LIMIT_CPUS = Number(process.env.LIMIT_CPUS ?? 2)
@@ -51,18 +53,72 @@ module.exports = (phase, { defaultConfig }) => {
issuer: fileLoaderRule.issuer,
resourceQuery: { not: [...fileLoaderRule.resourceQuery.not, /url/] }, // exclude if *.svg?url
use: ["@svgr/webpack"],
+ },
+ {
+ test: /\.md$/,
+ use: ["raw-loader"],
}
)
// Modify the file loader rule to ignore *.svg, since we have it handled now.
fileLoaderRule.exclude = /\.svg$/i
+ config.module.rules.push({
+ test: /\.(mp3)$/,
+ type: "asset/resource",
+ generator: {
+ filename: "static/media/[name][ext]",
+ },
+ })
+
+ // WalletConnect related packages are not needed for the bundle
+ // https://docs.reown.com/appkit/next/core/installation#extra-configuration
+ config.externals.push("pino-pretty", "lokijs", "encoding")
+
return config
},
- i18n,
trailingSlash: true,
images: {
deviceSizes: [640, 750, 828, 1080, 1200, 1504, 1920],
+ remotePatterns: [
+ {
+ protocol: "https",
+ hostname: "crowdin-static.downloads.crowdin.com",
+ },
+ {
+ protocol: "https",
+ hostname: "avatars.githubusercontent.com",
+ },
+ {
+ protocol: "https",
+ hostname: "coin-images.coingecko.com",
+ },
+ {
+ protocol: "https",
+ hostname: "i.imgur.com",
+ },
+ {
+ protocol: "https",
+ hostname: "imgur.com",
+ },
+ {
+ protocol: "https",
+ hostname: "unavatar.io",
+ },
+ ],
+ },
+ async headers() {
+ return [
+ {
+ source: "/(.*)", // Apply to all routes
+ headers: [
+ {
+ key: "X-Frame-Options",
+ value: "DENY",
+ },
+ ],
+ },
+ ]
},
}
@@ -83,14 +139,24 @@ module.exports = (phase, { defaultConfig }) => {
"node_modules/@swc/core-linux-x64-gnu",
"node_modules/@swc/core-linux-x64-musl",
"node_modules/@esbuild/linux-x64",
+ "src/data",
+ "public/**/*.jpg",
"public/**/*.png",
+ "public/**/*.webp",
+ "public/**/*.svg",
"public/**/*.gif",
- "src/data",
+ "public/**/*.json",
+ "public/**/*.txt",
+ "public/**/*.xml",
+ "public/**/*.pdf",
+ "public/fonts",
+ "public/images",
+ "public/content",
],
},
},
}
}
- return withBundleAnalyzer(nextConfig)
+ return withBundleAnalyzer(withNextIntl(nextConfig))
}
diff --git a/package.json b/package.json
index b90c1e506fa..8cc6cad6fb8 100644
--- a/package.json
+++ b/package.json
@@ -1,11 +1,10 @@
{
"name": "ethereum-org-website",
- "version": "9.1.0",
+ "version": "10.9.0",
"license": "MIT",
"private": true,
"scripts": {
"dev": "next dev",
- "postinstall": "yarn theme",
"build": "next build",
"postbuild": "next-sitemap",
"start": "next start",
@@ -27,17 +26,22 @@
"theme:watch": "chakra-cli tokens ./src/@chakra-ui/theme.ts --watch",
"prepare": "husky",
"trigger:dev": "trigger dev",
- "trigger:deploy": "trigger deploy"
+ "trigger:deploy": "trigger deploy",
+ "update-tutorials": "ts-node -O '{ \"module\": \"commonjs\" }' src/scripts/update-tutorials-list.ts",
+ "prepare": "husky",
+ "test:e2e": "playwright test",
+ "test:e2e:ui": "playwright test --ui",
+ "test:e2e:debug": "playwright test --debug",
+ "test:e2e:report": "playwright show-report tests/e2e/__report__"
},
"dependencies": {
- "@chakra-ui/react": "^2.8.0",
+ "@aws-sdk/client-ses": "^3.859.0",
"@crowdin/crowdin-api-client": "^1.25.0",
"@docsearch/react": "^3.5.2",
- "@emotion/react": "^11.11.1",
- "@emotion/styled": "^11.11.0",
"@hookform/resolvers": "^3.8.0",
"@next/bundle-analyzer": "^14.2.5",
"@radix-ui/react-accordion": "^1.2.0",
+ "@radix-ui/react-avatar": "^1.1.2",
"@radix-ui/react-checkbox": "^1.1.1",
"@radix-ui/react-compose-refs": "^1.1.0",
"@radix-ui/react-dialog": "^1.1.1",
@@ -47,86 +51,101 @@
"@radix-ui/react-portal": "^1.1.1",
"@radix-ui/react-progress": "^1.1.0",
"@radix-ui/react-radio-group": "^1.2.0",
+ "@radix-ui/react-scroll-area": "^1.2.2",
"@radix-ui/react-select": "^2.1.1",
- "@radix-ui/react-slot": "^1.1.0",
+ "@radix-ui/react-slot": "^1.2.0",
"@radix-ui/react-switch": "^1.1.0",
"@radix-ui/react-tabs": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.2",
"@radix-ui/react-visually-hidden": "^1.1.0",
+ "@rainbow-me/rainbowkit": "^2.2.3",
"@socialgouv/matomo-next": "^1.8.0",
+ "@tanstack/react-query": "^5.66.7",
"@tanstack/react-table": "^8.19.3",
"@trigger.dev/sdk": "3.1.0",
+ "@types/canvas-confetti": "^1.9.0",
+ "@types/three": "^0.177.0",
+ "@wagmi/core": "^2.17.3",
+ "canvas-confetti": "^1.9.3",
"chart.js": "^4.4.2",
"chartjs-plugin-datalabels": "^2.2.0",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"cmdk": "^1.0.0",
+ "embla-carousel-react": "^8.6.0",
"ethereum-blockies-base64": "^1.0.2",
"framer-motion": "^10.13.0",
"gray-matter": "^4.0.3",
+ "howler": "^2.2.4",
"htmr": "^1.0.2",
- "i18next": "^23.6.0",
- "lodash.merge": "^4.6.2",
- "lodash.shuffle": "^4.2.0",
- "lodash.union": "^4.6.0",
- "next": "^14.2.10",
- "next-i18next": "^14.0.3",
- "next-mdx-remote": "^3.0.8",
+ "lodash": "^4.17.21",
+ "lucide-react": "^0.516.0",
+ "next": "^14.2.30",
+ "next-intl": "^3.26.3",
+ "next-mdx-remote": "^5.0.0",
"next-sitemap": "^4.2.3",
"next-themes": "^0.3.0",
"prism-react-renderer": "1.1.0",
- "prismjs": "^1.27.0",
+ "prismjs": "^1.30.0",
"react": "^18.2.0",
"react-chartjs-2": "^5.2.0",
"react-dom": "^18.2.0",
"react-emoji-render": "^2.0.1",
+ "react-globe.gl": "^2.33.2",
"react-hook-form": "^7.52.1",
- "react-i18next": "^13.3.1",
- "react-icons": "^4.10.1",
"react-lite-youtube-embed": "^2.4.0",
"react-select": "5.8.0",
"reading-time": "^1.5.0",
- "remark-gfm": "^3.0.1",
- "swiper": "^11.1.10",
+ "recharts": "^2.13.3",
+ "remark-gfm": "^4.0.1",
+ "sharp": "0.32.6",
+ "swiper": "^11.2.8",
"tailwind-merge": "^2.3.0",
"tailwind-variants": "^0.2.1",
"tailwindcss-animate": "^1.0.7",
+ "three": "^0.177.0",
"usehooks-ts": "^3.1.0",
"vaul": "^1.0.0",
+ "viem": "^2.23.3",
+ "wagmi": "^2.14.11",
"yaml-loader": "^0.8.0"
},
"devDependencies": {
- "@chakra-ui/cli": "^2.4.1",
+ "@chromatic-com/playwright": "^0.12.4",
"@chromatic-com/storybook": "1.5.0",
- "@netlify/plugin-nextjs": "^5.8.0",
- "@opentelemetry/instrumentation-http": "^0.54.0",
- "@storybook/addon-essentials": "8.1.10",
- "@storybook/addon-interactions": "8.1.10",
- "@storybook/addon-links": "8.1.10",
- "@storybook/addon-themes": "8.1.10",
- "@storybook/nextjs": "^8.1.10",
- "@storybook/react": "8.1.10",
- "@storybook/test": "8.1.10",
+ "@netlify/plugin-nextjs": "^5.10.0",
+ "@playwright/test": "^1.52.0",
+ "@storybook/addon-essentials": "8.6.14",
+ "@storybook/addon-interactions": "8.6.14",
+ "@storybook/addon-links": "8.6.14",
+ "@storybook/addon-themes": "8.6.14",
+ "@storybook/manager-api": "8.6.14",
+ "@storybook/nextjs": "^8.6.14",
+ "@storybook/react": "8.6.14",
+ "@storybook/test": "8.6.14",
+ "@storybook/theming": "^8.6.14",
"@svgr/webpack": "^8.1.0",
"@trigger.dev/build": "3.1.0",
"@types/decompress": "^4.2.7",
"@types/hast": "^3.0.0",
+ "@types/lodash": "^4.17.17",
+ "@types/mdast": "^4.0.4",
"@types/node": "^20.4.2",
"@types/react": "18.2.57",
"@types/react-dom": "18.2.19",
- "@types/swiper": "^6.0.0",
"@types/xml2js": "^0.4.14",
- "@typescript-eslint/eslint-plugin": "^6.19.0",
- "@typescript-eslint/parser": "^6.19.0",
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
+ "@typescript-eslint/parser": "^7.18.0",
"autoprefixer": "^10.4.19",
- "chromatic": "10.9.6",
+ "chromatic": "12.0.0",
"decompress": "^4.2.1",
- "eslint": "^8.45.0",
+ "dotenv": "^16.5.0",
+ "eslint": "^8.57.1",
"eslint-config-next": "^14.2.2",
- "eslint-config-prettier": "9.1.0",
+ "eslint-config-prettier": "^9",
"eslint-plugin-simple-import-sort": "^10.0.0",
"eslint-plugin-storybook": "0.8.0",
- "eslint-plugin-unused-imports": "^3.0.0",
+ "eslint-plugin-unused-imports": "^3.2.0",
"husky": "^9.0.11",
"image-size": "^1.0.2",
"lint-staged": "^15.2.5",
@@ -138,8 +157,10 @@
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.5",
"raw-loader": "^4.0.2",
- "storybook": "8.1.10",
- "storybook-react-i18next": "3.1.1",
+ "rehype-slug": "^6.0.0",
+ "remark-heading-id": "^1.0.1",
+ "storybook": "8.6.14",
+ "storybook-next-intl": "^1.2.5",
"tailwindcss": "^3.4.4",
"trigger.dev": "^3.1.0",
"ts-node": "^10.9.1",
@@ -149,9 +170,5 @@
"unist-util-visit": "^5.0.0",
"xml2js": "^0.6.2"
},
- "resolutions": {
- "jackspeak": "2.1.1",
- "sharp": "0.32.6"
- },
- "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
+ "packageManager": "pnpm@10.12.4"
}
diff --git a/playwright.config.ts b/playwright.config.ts
new file mode 100644
index 00000000000..863e2009c9c
--- /dev/null
+++ b/playwright.config.ts
@@ -0,0 +1,61 @@
+import path from "path"
+
+import dotenv from "dotenv"
+import type { ChromaticConfig } from "@chromatic-com/playwright"
+import { defineConfig, devices } from "@playwright/test"
+
+dotenv.config({ path: path.resolve(__dirname, ".env.local") })
+
+export default defineConfigGood to know
+AI agents and related tools are still in early development and very experimental—use with caution.
+No. This year, the Translatathon will only have one main individual track and there will be no team competition.
-You can still team up with your friends and translate together, however everyone will be competing in the Translatathon as an individual and only the number of your individual translated words will count towards your final score.
-You can translate into any language! It is recommended to only translate into your native language to ensure sufficient quality, but in short, all languages available in Crowdin are in scope for the Translatathon.
-If you want to translate into a language that isn't available in Crowdin, reach out to us and we will add any language per request.
-` and contains a code snippet, therefore the content inside these tags should not be translated.
+In the example below, you can see that hovering over the `<0>` tag shows that it represents `` and contains a code snippet, therefore the content inside these tags should not be translated.

diff --git a/public/content/dao/index.md b/public/content/dao/index.md
index 6fc2f53630a..a8d1dfab701 100644
--- a/public/content/dao/index.md
+++ b/public/content/dao/index.md
@@ -1,5 +1,6 @@
---
-title: Decentralized autonomous organizations (DAOs)
+title: What is a DAO?
+metaTitle: What is a DAO? | Decentralized Autonomous Organization
description: An overview of DAOs on Ethereum
lang: en
template: use-cases
@@ -18,7 +19,7 @@ A DAO is a collectively-owned organization working towards a shared mission.
DAOs allow us to work with like-minded folks around the globe without trusting a benevolent leader to manage the funds or operations. There is no CEO who can spend funds on a whim or CFO who can manipulate the books. Instead, blockchain-based rules baked into the code define how the organization works and how funds are spent.
-They have built-in treasuries that no one has the authority to access without the approval of the group. Decisions are governed by proposals and voting to ensure everyone in the organization has a voice, and everything happens transparently [on-chain](/glossary/#on-chain).
+They have built-in treasuries that no one has the authority to access without the approval of the group. Decisions are governed by proposals and voting to ensure everyone in the organization has a voice, and everything happens transparently [onchain](/glossary/#onchain).
## Why do we need DAOs? {#why-dao}
@@ -91,7 +92,7 @@ In 1977, Wyoming invented the LLC, which protects entrepreneurs and limits their
### A famous example {#law-example}
-[CityDAO](https://citydao.io) – CityDAO used Wyoming's DAO law to buy 40 acres of land near Yellowstone National Park.
+[CityDAO](https://citizen.citydao.io/) – CityDAO used Wyoming's DAO law to buy 40 acres of land near Yellowstone National Park.
## DAO membership {#dao-membership}
@@ -119,13 +120,13 @@ _Typically used for more closer-knit, human-centric organizations like charities
### Reputation-based membership {#reputation-based-membership}
-Reputation represents proof of participation and grants voting power in the DAO. Unlike token or share-based membership, reputation-based DAOs don't transfer ownership to contributors. Reputation cannot be bought, transferred or delegated; DAO members must earn reputation through participation. On-chain voting is permissionless and prospective members can freely submit proposals to join the DAO and request to receive reputation and tokens as a reward in exchange for their contributions.
+Reputation represents proof of participation and grants voting power in the DAO. Unlike token or share-based membership, reputation-based DAOs don't transfer ownership to contributors. Reputation cannot be bought, transferred or delegated; DAO members must earn reputation through participation. Onchain voting is permissionless and prospective members can freely submit proposals to join the DAO and request to receive reputation and tokens as a reward in exchange for their contributions.
_Typically used for decentralized development and governance of protocols and [dapps](/glossary/#dapp), but also well suited to a diverse set of organizations like charities, worker collectives, investment clubs, etc._
#### A famous example {#reputation-example}
-[DXdao](https://DXdao.eth.limo) – DXdao was a global sovereign collective building and governing decentralized protocols and applications since 2019. It leveraged reputation-based governance and [holographic consensus](/glossary/#holographic-consensus) to coordinate and manage funds, meaning no one could buy their way into influencing its future or governance.
+[DXdao](https://DXdao.eth.limo) – DXdao was a global sovereign collective building and governing decentralized protocols and applications since 2019. It leveraged reputation-based governance and [holographic consensus](/glossary/#holographic-consensus) to coordinate and manage funds, meaning no one could buy their way into influencing its future or governance.
## Join / start a DAO {#join-start-a-dao}
diff --git a/public/content/decentralized-identity/index.md b/public/content/decentralized-identity/index.md
index 634fbd86b4b..d8fba4c819c 100644
--- a/public/content/decentralized-identity/index.md
+++ b/public/content/decentralized-identity/index.md
@@ -39,7 +39,7 @@ These traditional examples of identifiers are issued, held and controlled by cen
1. Decentralized identity increases individual control of identifying information. Decentralized identifiers and attestations can be verified without relying on centralized authorities and third-party services.
-2. Decentralized identity solutions facilitates a trustless, seamless, and privacy-protecting method for verifying and managing user identity.
+2. Decentralized identity solutions facilitate a trustless, seamless, and privacy-protecting method for verifying and managing user identity.
3. Decentralized identity harnesses blockchain technology, which creates trust between different parties and provides cryptographic guarantees to prove the validity of attestations.
@@ -67,9 +67,9 @@ Decentralized identity allows companies to skip on conventional [Know-Your-Custo
### 3. Voting and online communities {#voting-and-online-communities}
-Online voting and social media are two novel applications for decentralized identity. Online voting schemes are susceptible to manipulation, especially if malicious actors create false identities to vote. Asking individuals to present on-chain attestations can improve the integrity of online voting processes.
+Online voting and social media are two novel applications for decentralized identity. Online voting schemes are susceptible to manipulation, especially if malicious actors create false identities to vote. Asking individuals to present onchain attestations can improve the integrity of online voting processes.
-Decentralized identity can help create online communities that are free of fake accounts. For example, each user might have to authenticate their identity using an on-chain identity system, like the Ethereum Name Service, reducing the possibility of bots.
+Decentralized identity can help create online communities that are free of fake accounts. For example, each user might have to authenticate their identity using an onchain identity system, like the Ethereum Name Service, reducing the possibility of bots.
### 4. Anti-Sybil protection {#sybil-protection}
@@ -119,47 +119,47 @@ Decentralized identifiers are also crucial to protecting the privacy of personal
How attestation information is stored and retrieved in an Ethereum-based identity ecosystem is different from traditional identity management. Here is an overview of the various approaches to issuing, storing, and verifying attestations in decentralized identity systems:
-### Off-chain attestations {#off-chain-attestations}
+### Offchain attestations {#offchain-attestations}
-One concern with storing attestations on-chain is that they might contain information individuals want to keep private. The public nature of the Ethereum blockchain makes it unattractive to store such attestations.
+One concern with storing attestations onchain is that they might contain information individuals want to keep private. The public nature of the Ethereum blockchain makes it unattractive to store such attestations.
-The solution is to issue attestations, held by users off-chain in digital wallets, but signed with the issuer's DID stored on-chain. These attestations are encoded as [JSON Web Tokens](https://en.wikipedia.org/wiki/JSON_Web_Token) and contain the issuer's digital signature—which allows for easy verification of off-chain claims.
+The solution is to issue attestations, held by users offchain in digital wallets, but signed with the issuer's DID stored onchain. These attestations are encoded as [JSON Web Tokens](https://en.wikipedia.org/wiki/JSON_Web_Token) and contain the issuer's digital signature—which allows for easy verification of offchain claims.
-Here's an hypothetical scenario to explain off-chain attestations:
+Here's an hypothetical scenario to explain offchain attestations:
1. A university (the issuer) generates an attestation (a digital academic certificate), signs with its keys, and issues it to Bob (the identity owner).
2. Bob applies for a job and wants to prove his academic qualifications to an employer, so he shares the attestation from his mobile wallet. The company (the verifier) can then confirm the validity of the attestation by checking the issuer's DID (i.e., its public key on Ethereum).
-### Off-chain attestations with persistent access {#offchain-attestations-with-persistent-access}
+### Offchain attestations with persistent access {#offchain-attestations-with-persistent-access}
-Under this arrangement attestations are transformed into JSON files and stored off-chain (ideally on a [decentralized cloud storage](/developers/docs/storage/) platform, such as IPFS or Swarm). However, a [hash](/glossary/#hash) of the JSON file is stored on-chain and linked to a DID via an on-chain registry. The associated DID could either be that of the issuer of the attestation or the recipient.
+Under this arrangement attestations are transformed into JSON files and stored offchain (ideally on a [decentralized cloud storage](/developers/docs/storage/) platform, such as IPFS or Swarm). However, a [hash](/glossary/#hash) of the JSON file is stored onchain and linked to a DID via an onchain registry. The associated DID could either be that of the issuer of the attestation or the recipient.
This approach enables attestations to gain blockchain-based persistence, while keeping claims information encrypted and verifiable. It also allows for selective disclosure since the holder of the private key can decrypt the information.
-### On-chain attestations {#onchain-attestations}
+### Onchain attestations {#onchain-attestations}
-On-chain attestations are held in [smart contracts](/glossary/#smart-contract) on the Ethereum blockchain. The smart contract (acting as a registry) will map an attestation to a corresponding on-chain decentralized identifier (a public key).
+Onchain attestations are held in [smart contracts](/glossary/#smart-contract) on the Ethereum blockchain. The smart contract (acting as a registry) will map an attestation to a corresponding onchain decentralized identifier (a public key).
-Here's an example to show how on-chain attestations might work in practice:
+Here's an example to show how onchain attestations might work in practice:
1. A company (XYZ Corp) plans to sell ownership shares using a smart contract but only wants buyers that have completed a background check.
-2. XYZ Corp can have the company performing background checks to issue on-chain attestations on Ethereum. This attestation certifies that an individual has passed the background check without exposing any personal information.
+2. XYZ Corp can have the company performing background checks to issue onchain attestations on Ethereum. This attestation certifies that an individual has passed the background check without exposing any personal information.
3. The smart contract selling shares can check the registry contract for the identities of screened buyers, making it possible for the smart contract to determine who is permitted to buy shares or not.
### Soulbound tokens and identity {#soulbound}
-[Soulbound tokens](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) ([non-transferable NFTs](/glossary/#nft)) could be used to collect information unique to a specific wallet. This effectively creates a unique on-chain identity bound to a particular Ethereum address that could include tokens representing achievements (e.g. finishing some specific online course or passing a threshold score in a game) or community participation.
+[Soulbound tokens](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) ([non-transferable NFTs](/glossary/#nft)) could be used to collect information unique to a specific wallet. This effectively creates a unique onchain identity bound to a particular Ethereum address that could include tokens representing achievements (e.g. finishing some specific online course or passing a threshold score in a game) or community participation.
## Use decentralized identity {#use-decentralized-identity}
There are many ambitious projects using Ethereum as a foundation for decentralized identity solutions:
-- **[Ethereum Name Service (ENS)](https://ens.domains/)** - _A decentralized naming system for on-chain, machine-readable identifiers, like, Ethereum wallet addresses, content hashes, and metadata._
+- **[Ethereum Name Service (ENS)](https://ens.domains/)** - _A decentralized naming system for onchain, machine-readable identifiers, like, Ethereum wallet addresses, content hashes, and metadata._
- **[SpruceID](https://www.spruceid.com/)** - _A decentralized identity project which allows users to control digital identity with Ethereum accounts and ENS profiles instead of relying on third-party services._
-- **[Ethereum Attestation Service (EAS)](https://attest.sh/)** - _A decentralized ledger/protocol for making on-chain or off-chain attestations about anything._
+- **[Ethereum Attestation Service (EAS)](https://attest.sh/)** - _A decentralized ledger/protocol for making onchain or offchain attestations about anything._
- **[Proof of Humanity](https://www.proofofhumanity.id)** - _Proof of Humanity (or PoH) is a social identity verification system built on Ethereum._
- **[BrightID](https://www.brightid.org/)** - _A decentralized, open-source social identity network seeking to reform identity verification through the creation and analysis of a social graph._
- **[walt.id](https://walt.id)** — _Open source decentralized identity and wallet infrastructure that enables developers and organizations to leverage self-sovereign identity and NFTs/SBTs._
@@ -180,7 +180,7 @@ There are many ambitious projects using Ethereum as a foundation for decentraliz
- [Decentralized Identity (Bonus Livestream Session)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _A great explainer video on decentralized identity by Andreas Antonopolous_
- [Sign In with Ethereum and Decentralized Identity with Ceramic, IDX, React, and 3ID Connect](https://www.youtube.com/watch?v=t9gWZYJxk7c) — _YouTube tutorial on building out an identity management system for creating, reading, and updating a user's profile using their Ethereum wallet by Nader Dabit_
- [BrightID - Decentralized Identity on Ethereum](https://www.youtube.com/watch?v=D3DbMFYGRoM) — _Bankless podcast episode discussing BrightID, a decentralized identity solution for Ethereum_
-- [The Off Chain Internet: Decentralized Identity & Verifiable Credentials](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — EthDenver 2022 presentation by Evin McMullen
+- [The Offchain Internet: Decentralized Identity & Verifiable Credentials](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — EthDenver 2022 presentation by Evin McMullen
- [Verifiable Credentials Explained](https://www.youtube.com/watch?v=ce1IdSr-Kig) - YouTube explainer video with demo by Tamino Baumann
### Communities {#communities}
diff --git a/public/content/defi/index.md b/public/content/defi/index.md
index 19d41c91073..2109b44c12b 100644
--- a/public/content/defi/index.md
+++ b/public/content/defi/index.md
@@ -1,5 +1,6 @@
---
title: Decentralized finance (DeFi)
+metaTitle: What is DeFi? | Benefits and Use of Decentralised Finance
description: An overview of DeFi on Ethereum
lang: en
template: use-cases
@@ -31,7 +32,7 @@ One of the best ways to see the potential of DeFi is to understand the problems
- Financial services can block you from getting paid.
- A hidden charge of financial services is your personal data.
- Governments and centralized institutions can close down markets at will.
-- Trading hours are often limited to business hours of specific time zone.
+- Trading hours are often limited to business hours of a specific time zone.
- Money transfers can take days due to internal human processes.
- There's a premium to financial services because intermediary institutions need their cut.
@@ -47,7 +48,7 @@ One of the best ways to see the potential of DeFi is to understand the problems
| The markets are always open. | Markets close because employees need breaks. |
| It's built on transparency – anyone can look at a product's data and inspect how the system works. | Financial institutions are closed books: you can't ask to see their loan history, a record of their managed assets, and so on. |
-
+
Explore DeFi apps
@@ -65,7 +66,7 @@ This sounds odd... "why would I want to program my money"? However, this is more
Explore our suggestions for DeFi applications to try out if you're new to Ethereum.
-
+
Explore DeFi apps
@@ -92,7 +93,7 @@ There's a decentralized alternative to most financial services. But Ethereum als
As a blockchain, Ethereum is designed for sending transactions in a secure and global way. Like Bitcoin, Ethereum makes sending money around the world as easy as sending an email. Just enter your recipient's [ENS name](/glossary/#ens) (like bob.eth) or their account address from your wallet and your payment will go directly to them in minutes (usually). To send or receive payments, you will need a [wallet](/wallets/).
-
+
See payment dapps
@@ -123,7 +124,7 @@ Borrowing money from decentralized providers comes in two main varieties.
- Peer-to-peer, meaning a borrower will borrow directly from a specific lender.
- Pool-based where lenders provide funds (liquidity) to a pool that borrowers can borrow from.
-
+
See borrowing dapps
@@ -139,7 +140,7 @@ This allows you to borrow money without credit checks or handing over private in
#### Access to global funds {#access-global-funds}
-When you use a decentralized lender you have access to funds deposited from all over the globe, not just the funds in the custody of your chosen bank or institution. This make loans more accessible and improves the interest rates.
+When you use a decentralized lender you have access to funds deposited from all over the globe, not just the funds in the custody of your chosen bank or institution. This makes loans more accessible and improves the interest rates.
#### Tax-efficiencies {#tax-efficiencies}
@@ -168,7 +169,7 @@ If exchange B's supply dropped suddenly and the user wasn't able to buy enough t
To be able to do the above example in the traditional finance world, you'd need an enormous amount of money. These money-making strategies are only accessible to those with existing wealth. Flash loans are an example of a future where having money is not necessarily a prerequisite for making money.
-
+
More on flash loans
@@ -185,7 +186,7 @@ You can earn interest on your crypto by lending it and see your funds grow in re
- Your aDai will increase based on the interest rates and you can see your balance growing in your wallet. Dependent on the [APR](/glossary/#apr), your wallet balance will read something like 100.1234 after a few days or even hours!
- You can withdraw an amount of regular Dai that's equal to your aDai balance at any time.
-
+
See lending dapps
@@ -213,7 +214,7 @@ There are thousands of tokens on Ethereum. Decentralized exchanges (DEXs) let yo
For example, if you want to use the no-loss lottery PoolTogether (described above), you'll need a token like Dai or USDC. These DEXs allow you to swap your ETH for those tokens and back again when you're finished.
-
+
See token exchanges
@@ -225,7 +226,7 @@ There are more advanced options for traders who like a little more control. Limi
When you use a centralized exchange you have to deposit your assets before the trade and trust them to look after them. While your assets are deposited, they're at risk as centralized exchanges are attractive targets for hackers.
-
+
See trading dapps
@@ -237,7 +238,7 @@ There are fund management products on Ethereum that will try to grow your portfo
A good example is the [DeFi Pulse Index fund (DPI)](https://defipulse.com/blog/defi-pulse-index/). This is a fund that rebalances automatically to ensure your portfolio always includes the top DeFi tokens by market capitalization. You never have to manage any of the details and you can withdraw from the fund whenever you like.
-
+
See investment dapps
@@ -251,7 +252,7 @@ Ethereum is an ideal platform for crowdfunding:
- It's transparent so fundraisers can prove how much money has been raised. You can even trace how funds are being spent later down the line.
- Fundraisers can set up automatic refunds if, for example, there is a specific deadline and minimum amount that isn't met.
-
+
See crowdfunding dapps
@@ -280,7 +281,7 @@ Decentralized insurance aims to make insurance cheaper, faster to pay out, and m
Ethereum products, like any software, can suffer from bugs and exploits. So right now a lot of insurance products in the space focus on protecting their users against loss of funds. However, there are projects starting to build out coverage for everything life can throw at us. A good example of this is Etherisc's Crop cover which aims to [protect smallholder farmers in Kenya against droughts and flooding](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Decentralized insurance can provide cheaper cover for farmers who are often priced out of traditional insurance.
-
+
See insurance dapps
@@ -290,7 +291,7 @@ Ethereum products, like any software, can suffer from bugs and exploits. So righ
With so much going on, you'll need a way to keep track of all your investments, loans, and trades. There are a host of products that let you coordinate all your DeFi activity from one place. This is the beauty of DeFi's open architecture. Teams can build out interfaces where you can't just see your balances across products, you can use their features too. You might find this useful as you explore more of DeFi.
-
+
See portfolio dapps
@@ -322,15 +323,15 @@ You can think of DeFi in layers:
1. The blockchain – Ethereum contains the transaction history and state of accounts.
2. The assets – [ETH](/eth/) and the other tokens (currencies).
3. The protocols – [smart contracts](/glossary/#smart-contract) that provide the functionality, for example, a service that allows for decentralized lending of assets.
-4. [The applications](/dapps/) – the products we use to manage and access the protocols.
+4. [The applications](/apps/) – the products we use to manage and access the protocols.
-Note: much of DeFi uses the [ERC-20 standard](/glossary/#erc-20). Applications in DeFi use a wrapper for ETH called Wrapped Ether (WETH). [Learn more about wrapped ether](/wrapped-eth).
+Note: much of DeFi uses the [ERC-20 standard](/glossary/#erc-20). Applications in DeFi use a wrapper for ETH called Wrapped ether (WETH). [Learn more about wrapped ether](/wrapped-eth).
## Build DeFi {#build-defi}
DeFi is an open-source movement. The DeFi protocols and applications are all open for you to inspect, fork, and innovate on. Because of this layered stack (they all share the same base blockchain and assets), protocols can be mixed and matched to unlock unique combo opportunities.
-
+
More on building dapps
@@ -358,4 +359,4 @@ DeFi is an open-source movement. The DeFi protocols and applications are all ope
-
\ No newline at end of file
+
diff --git a/public/content/desci/index.md b/public/content/desci/index.md
index 1abd03ddb7b..95c5ebff275 100644
--- a/public/content/desci/index.md
+++ b/public/content/desci/index.md
@@ -37,7 +37,7 @@ An incomplete list of key problems in science and how decentralized science can
| **New models for publishing** can be developed that use Web3 primitives for trust, transparency and universal access. | You publish through established pathways frequently acknowledged as **inefficient, biased and exploitative**. |
| You can **earn tokens and reputation for peer-reviewing** work. | Your **peer-review work is unpaid**, benefiting for-profit publishers. |
| **You own the intellectual property (IP)** you generate and distribute it according to transparent terms. | **Your home institution owns the IP** you generate. Access to the IP is not transparent. |
-| **Sharing all of the research**, including the data from unsuccessful efforts, by having all steps on-chain. | **Publication bias** means that researchers are more likely to share experiments that had successful results. |
+| **Sharing all of the research**, including the data from unsuccessful efforts, by having all steps onchain. | **Publication bias** means that researchers are more likely to share experiments that had successful results. |
## Ethereum and DeSci {#ethereum-and-desci}
@@ -76,7 +76,7 @@ Intellectual property (IP) is a big problem in traditional science: from being s
In the same way that NFTs can pass revenue for future transactions back to the original creator, you can establish transparent value attribution chains to reward researchers, governing bodies (like DAOs), or even the subjects whose data is collected.
-[IP-NFTs](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) can also function as a key to a decentralized data repository of the research experiments being undertaken, and plug into NFT and [DeFi](/glossary/#defi) financialization (from fractionalization to lending pools and value appraisal). It also allows natively on-chain entities such as DAOs like [VitaDAO](https://www.vitadao.com/) to conduct research directly on-chain.
+[IP-NFTs](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) can also function as a key to a decentralized data repository of the research experiments being undertaken, and plug into NFT and [DeFi](/glossary/#defi) financialization (from fractionalization to lending pools and value appraisal). It also allows natively onchain entities such as DAOs like [VitaDAO](https://www.vitadao.com/) to conduct research directly onchain.
The advent of non-transferable ["soulbound" tokens](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) may also play an important role in DeSci by allowing individuals to prove their experience and credentials linked to their Ethereum address.
### Data storage, access and architecture {#data-storage}
@@ -97,7 +97,7 @@ Explore projects and join the DeSci community.
- [VitaDAO: receive funding through sponsored research agreements for longevity research](https://www.vitadao.com/)
- [ResearchHub: post a scientific result and engage in a conversation with peers](https://www.researchhub.com/)
- [LabDAO: fold a protein in-silico](https://alphafodl.vercel.app/)
-- [dClimate API: query climate data collected by a decentralized community](https://api.dclimate.net/)
+- [dClimate API: query climate data collected by a decentralized community](https://www.dclimate.net/)
- [DeSci Foundation: DeSci publishing tool builder](https://descifoundation.org/)
- [DeSci.World: one-stop shop for users to view, engage with decentralized science](https://desci.world)
- [OceanDAO: DAO governed funding for data-related science](https://oceanprotocol.com/)
@@ -119,7 +119,7 @@ We welcome suggestions for new projects to list - please look at our [listing po
- [A guide to decentralized biotech by Jocelynn Pearl for a16z future](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [The case for DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [Guide to DeSci](https://future.com/what-is-decentralized-science-aka-desci/)
-- [Decentralized science resources](https://www.vincentweisser.com/decentralized-science)
+- [Decentralized science resources](https://www.vincentweisser.com/desci)
- [Molecule’s Biopharma IP-NFTs - A Technical Description](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [Building Trustless Systems of Science by Jon Starr](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Paul Kohlhaas - DeSci: The Future of Decentralized Science (podcast)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a)
@@ -127,7 +127,7 @@ We welcome suggestions for new projects to list - please look at our [listing po
- [DeSci: The Future of Research by Samuel Akinosho](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec)
- [Science Funding (Epilogue: DeSci and new crypto primitives) by Nadia](https://nadia.xyz/science-funding)
- [Decentralisation is Disrupting Drug Development](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f)
-- [What Is DeSci – Decentralized Science?](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/)
+- [What Is DeSci – Decentralized Science?](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/)
### Videos {#videos}
diff --git a/public/content/developers/docs/accounts/index.md b/public/content/developers/docs/accounts/index.md
index 83dc26d1e80..e79bb205ff8 100644
--- a/public/content/developers/docs/accounts/index.md
+++ b/public/content/developers/docs/accounts/index.md
@@ -4,7 +4,7 @@ description: An explanation of Ethereum accounts – their data structures and t
lang: en
---
-An Ethereum account is an entity with an ether (ETH) balance that can send transactions on Ethereum. Accounts can be user-controlled or deployed as smart contracts.
+An Ethereum account is an entity with an ether (ETH) balance that can send messages on Ethereum. Accounts can be user-controlled or deployed as smart contracts.
## Prerequisites {#prerequisites}
@@ -34,7 +34,7 @@ Both account types have the ability to:
**Contract**
- Creating a contract has a cost because you're using network storage
-- Can only send transactions in response to receiving a transaction
+- Can only send messages in response to receiving a transaction
- Transactions from an external account to a contract account can trigger code which can execute many different actions, such as transferring tokens or even creating a new contract
- Contract accounts don't have private keys. Instead, they are controlled by the logic of the smart contract code
@@ -45,7 +45,7 @@ Ethereum accounts have four fields:
- `nonce` – A counter that indicates the number of transactions sent from an externally-owned account or the number of contracts created by a contract account. Only one transaction with a given nonce can be executed for each account, protecting against replay attacks where signed transactions are repeatedly broadcast and re-executed.
- `balance` – The number of wei owned by this address. Wei is a denomination of ETH and there are 1e+18 wei per ETH.
- `codeHash` – This hash refers to the _code_ of an account on the Ethereum virtual machine (EVM). Contract accounts have code fragments programmed in that can perform different operations. This EVM code gets executed if the account gets a message call. It cannot be changed, unlike the other account fields. All such code fragments are contained in the state database under their corresponding hashes for later retrieval. This hash value is known as a codeHash. For externally owned accounts, the codeHash field is the hash of an empty string.
-- `storageRoot` – Sometimes known as a storage hash. A 256-bit hash of the root node of a Merkle Patricia trie that encodes the storage contents of the account (a mapping between 256-bit integer values), encoded into the trie as a mapping from the Keccak 256-bit hash of the 256-bit integer keys to the RLP-encoded 256-bit integer values. This trie encodes the hash of the storage contents of this account, and is empty by default.
+- `storageRoot` – Sometimes known as a storage hash. A 256-bit hash of the root node of a [Merkle Patricia Trie](/developers/docs/data-structures-and-encoding/patricia-merkle-trie/) that encodes the storage contents of the account (a mapping between 256-bit integer values), encoded into the trie as a mapping from the Keccak 256-bit hash of the 256-bit integer keys to the RLP-encoded 256-bit integer values. This trie encodes the hash of the storage contents of this account, and is empty by default.

_Diagram adapted from [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
diff --git a/public/content/developers/docs/apis/backend/index.md b/public/content/developers/docs/apis/backend/index.md
index 7bfdb6cac91..47219134ea6 100644
--- a/public/content/developers/docs/apis/backend/index.md
+++ b/public/content/developers/docs/apis/backend/index.md
@@ -55,6 +55,9 @@ These libraries abstract away much of the complexity of interacting directly wit
**Etherscan - Block Explorer and Transaction APIs**
- [Documentation](https://docs.etherscan.io/)
+**Blockscout - Open Source Block Explorer**
+- [Documentation](https://docs.blockscout.com/)
+
**GetBlock-** **_Blockchain-as-a-service for Web3 development_**
- [GetBlock.io](https://getblock.io/)
@@ -144,7 +147,7 @@ These libraries abstract away much of the complexity of interacting directly wit
**Chainstack -** **_Elastic and dedicated Ethereum nodes as a service._**
- [chainstack.com](https://chainstack.com)
-- [Documentation](https://docs.chainbase.com/docs)
+- [Documentation](https://docs.chainstack.com/)
- [Ethereum API reference](https://docs.chainstack.com/reference/ethereum-getting-started)
**Coinbase Cloud Node -** **_Blockchain Infrastructure API._**
diff --git a/public/content/developers/docs/apis/javascript/index.md b/public/content/developers/docs/apis/javascript/index.md
index c0c5139cac9..6613422cf87 100644
--- a/public/content/developers/docs/apis/javascript/index.md
+++ b/public/content/developers/docs/apis/javascript/index.md
@@ -26,6 +26,8 @@ These libraries abstract away much of the complexity of interacting directly wit
Using providers, these libraries allow you to connect to Ethereum and read its data, whether that's over JSON-RPC, INFURA, Etherscan, Alchemy or MetaMask.
+> **Warning:** Web3.js was archived on March 4, 2025. [Read the announcement](https://blog.chainsafe.io/web3-js-sunset/). Consider using alternative libraries like ethers.js or viem for new projects.
+
**Ethers example**
```js
diff --git a/public/content/developers/docs/apis/json-rpc/index.md b/public/content/developers/docs/apis/json-rpc/index.md
index 129f8acc633..6b85f335185 100755
--- a/public/content/developers/docs/apis/json-rpc/index.md
+++ b/public/content/developers/docs/apis/json-rpc/index.md
@@ -26,7 +26,7 @@ An internal API is also used for inter-client communication within a node - that
## Execution client spec {#spec}
-[Read the full JSON-RPC API spec on GitHub](https://github.com/ethereum/execution-apis). This API is documented on the [Execution API webpage](https://ethereum.github.io/execution-apis/api-documentation/) and includes an Inspector to try out all the available methods.
+[Read the full JSON-RPC API spec on GitHub](https://github.com/ethereum/execution-apis). This API is documented on the [Execution API webpage](https://ethereum.github.io/execution-apis/) and includes an Inspector to try out all the available methods.
## Conventions {#conventions}
@@ -58,9 +58,9 @@ Here are some examples:
- WRONG: 0xf0f0f (must be even number of digits)
- WRONG: 004200 (must be prefixed 0x)
-### The default block parameter {#default-block}
+### The block parameter {#block-parameter}
-The following methods have an extra default block parameter:
+The following methods have a block parameter:
- [eth_getBalance](#eth_getbalance)
- [eth_getCode](#eth_getcode)
@@ -68,9 +68,9 @@ The following methods have an extra default block parameter:
- [eth_getStorageAt](#eth_getstorageat)
- [eth_call](#eth_call)
-When requests are made that act on the state of Ethereum, the last default block parameter determines the height of the block.
+When requests are made that query the state of Ethereum, the provided block parameter determines the height of the block.
-The following options are possible for the defaultBlock parameter:
+The following options are possible for the block parameter:
- `HEX String` - an integer block number
- `String "earliest"` for the earliest/genesis block
@@ -208,8 +208,8 @@ None
The full list of current network IDs is available at [chainlist.org](https://chainlist.org). Some common ones are:
- `1`: Ethereum Mainnet
-- `5`: Goerli testnet
- `11155111`: Sepolia testnet
+- `560048` : Hoodi Testnet
**Example**
@@ -303,6 +303,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[]
Returns an object with data about the sync status or `false`.
+
+ Try endpoint in playground
+
+
**Parameters**
None
@@ -387,6 +391,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}
Returns the client coinbase address.
+
+ Try endpoint in playground
+
+
> **Note:** This method has been deprecated as of **v1.14.0** and is no longer supported. Attempting to use this method will result in a "Method not supported" error.
**Parameters**
@@ -414,6 +422,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":6
Returns the chain ID used for signing replay-protected transactions.
+
+ Try endpoint in playground
+
+
**Parameters**
None
@@ -439,13 +451,17 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":67
Returns `true` if client is actively mining new blocks. This can only return `true` for proof-of-work networks and may not be available in some clients since [The Merge](/roadmap/merge/).
+
+ Try endpoint in playground
+
+
**Parameters**
None
**Returns**
-`Boolean` - returns `true` of the client is mining, otherwise `false`.
+`Boolean` - returns `true` if the client is mining, otherwise `false`.
**Example**
@@ -464,6 +480,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71}
Returns the number of hashes per second that the node is mining with. This can only return `true` for proof-of-work networks and may not be available in some clients since [The Merge](/roadmap/merge/).
+
+ Try endpoint in playground
+
+
**Parameters**
None
@@ -489,6 +509,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":7
Returns an estimate of the current price per gas in wei. For example, the Besu client examines the last 100 blocks and returns the median gas unit price by default.
+
+ Try endpoint in playground
+
+
**Parameters**
None
@@ -514,6 +538,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":7
Returns a list of addresses owned by client.
+
+ Try endpoint in playground
+
+
**Parameters**
None
@@ -539,6 +567,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1
Returns the number of most recent block.
+
+ Try endpoint in playground
+
+
**Parameters**
None
@@ -564,10 +596,14 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id
Returns the balance of the account of given address.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 20 Bytes - address to check for balance.
-2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"`, or `"finalized"`, see the [default block parameter](/developers/docs/apis/json-rpc/#default-block)
+2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"`, or `"finalized"`, see the [block parameter](/developers/docs/apis/json-rpc/#block-parameter)
```js
params: ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]
@@ -594,11 +630,15 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x407
Returns the value from a storage position at a given address.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 20 Bytes - address of the storage.
2. `QUANTITY` - integer of the position in the storage.
-3. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"`, `"finalized"`, see the [default block parameter](/developers/docs/apis/json-rpc/#default-block)
+3. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"`, `"finalized"`, see the [block parameter](/developers/docs/apis/json-rpc/#block-parameter)
**Returns**
@@ -662,10 +702,14 @@ curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": [
Returns the number of transactions _sent_ from an address.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 20 Bytes - address.
-2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"` or `"finalized"`, see the [default block parameter](/developers/docs/apis/json-rpc/#default-block)
+2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"` or `"finalized"`, see the [block parameter](/developers/docs/apis/json-rpc/#block-parameter)
```js
params: [
@@ -695,6 +739,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params
Returns the number of transactions in a block from a block matching the given block hash.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 32 Bytes - hash of a block
@@ -724,9 +772,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHa
Returns the number of transactions in a block matching the given block number.
+
+ Try endpoint in playground
+
+
**Parameters**
-1. `QUANTITY|TAG` - integer of a block number, or the string `"earliest"`, `"latest"`, `"pending"`, `"safe"` or `"finalized"`, as in the [default block parameter](/developers/docs/apis/json-rpc/#default-block).
+1. `QUANTITY|TAG` - integer of a block number, or the string `"earliest"`, `"latest"`, `"pending"`, `"safe"` or `"finalized"`, as in the [block parameter](/developers/docs/apis/json-rpc/#block-parameter).
```js
params: [
@@ -755,6 +807,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNu
Returns the number of uncles in a block from a block matching the given block hash.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 32 Bytes - hash of a block
@@ -784,9 +840,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","p
Returns the number of uncles in a block from a block matching the given block number.
+
+ Try endpoint in playground
+
+
**Parameters**
-1. `QUANTITY|TAG` - integer of a block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"` or `"finalized"`, see the [default block parameter](/developers/docs/apis/json-rpc/#default-block)
+1. `QUANTITY|TAG` - integer of a block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"` or `"finalized"`, see the [block parameter](/developers/docs/apis/json-rpc/#block-parameter)
```js
params: [
@@ -815,10 +875,14 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber",
Returns code at a given address.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 20 Bytes - address
-2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"` or `"finalized"`, see the [default block parameter](/developers/docs/apis/json-rpc/#default-block)
+2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"` or `"finalized"`, see the [block parameter](/developers/docs/apis/json-rpc/#block-parameter)
```js
params: [
@@ -992,7 +1056,11 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params"
### eth_call {#eth_call}
-Executes a new message call immediately without creating a transaction on the block chain. Often used for executing read-only smart contract functions, for example the `balanceOf` for an ERC-20 contract.
+Executes a new message call immediately without creating a transaction on the blockchain. Often used for executing read-only smart contract functions, for example the `balanceOf` for an ERC-20 contract.
+
+
+ Try endpoint in playground
+
**Parameters**
@@ -1005,7 +1073,7 @@ Executes a new message call immediately without creating a transaction on the bl
- `value`: `QUANTITY` - (optional) Integer of the value sent with this transaction
- `input`: `DATA` - (optional) Hash of the method signature and encoded parameters. For details see [Ethereum Contract ABI in the Solidity documentation](https://docs.soliditylang.org/en/latest/abi-spec.html).
-2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"` or `"finalized"`, see the [default block parameter](/developers/docs/apis/json-rpc/#default-block)
+2. `QUANTITY|TAG` - integer block number, or the string `"latest"`, `"earliest"`, `"pending"`, `"safe"` or `"finalized"`, see the [block parameter](/developers/docs/apis/json-rpc/#block-parameter)
**Returns**
@@ -1028,6 +1096,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}]
Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including EVM mechanics and node performance.
+
+ Try endpoint in playground
+
+
**Parameters**
See [eth_call](#eth_call) parameters, except that all properties are optional. If no gas limit is specified geth uses the block gas limit from the pending block as an upper bound. As a result the returned estimate might not be enough to executed the call/transaction when the amount of gas is higher than the pending block gas limit.
@@ -1053,6 +1125,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{see
Returns information about a block by hash.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 32 Bytes - Hash of a block.
@@ -1072,13 +1148,13 @@ params: [
- `number`: `QUANTITY` - the block number. `null` when its pending block.
- `hash`: `DATA`, 32 Bytes - hash of the block. `null` when its pending block.
- `parentHash`: `DATA`, 32 Bytes - hash of the parent block.
-- `nonce`: `DATA`, 8 Bytes - hash of the generated proof-of-work. `null` when its pending block.
+- `nonce`: `DATA`, 8 Bytes - hash of the generated proof-of-work. `null` when its pending block, `0x0` for proof-of-stake blocks (since The Merge)
- `sha3Uncles`: `DATA`, 32 Bytes - SHA3 of the uncles data in the block.
- `logsBloom`: `DATA`, 256 Bytes - the bloom filter for the logs of the block. `null` when its pending block.
- `transactionsRoot`: `DATA`, 32 Bytes - the root of the transaction trie of the block.
- `stateRoot`: `DATA`, 32 Bytes - the root of the final state trie of the block.
- `receiptsRoot`: `DATA`, 32 Bytes - the root of the receipts trie of the block.
-- `miner`: `DATA`, 20 Bytes - the address of the beneficiary to whom the mining rewards were given.
+- `miner`: `DATA`, 20 Bytes - the address of the beneficiary to whom the block rewards were given.
- `difficulty`: `QUANTITY` - integer of the difficulty for this block.
- `totalDifficulty`: `QUANTITY` - integer of the total difficulty of the chain until this block.
- `extraData`: `DATA` - the "extra data" field of this block.
@@ -1130,9 +1206,13 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0
Returns information about a block by block number.
+
+ Try endpoint in playground
+
+
**Parameters**
-1. `QUANTITY|TAG` - integer of a block number, or the string `"earliest"`, `"latest"`, `"pending"`, `"safe"` or `"finalized"`, as in the [default block parameter](/developers/docs/apis/json-rpc/#default-block).
+1. `QUANTITY|TAG` - integer of a block number, or the string `"earliest"`, `"latest"`, `"pending"`, `"safe"` or `"finalized"`, as in the [block parameter](/developers/docs/apis/json-rpc/#block-parameter).
2. `Boolean` - If `true` it returns the full transaction objects, if `false` only the hashes of the transactions.
```js
@@ -1158,6 +1238,10 @@ Result see [eth_getBlockByHash](#eth_getblockbyhash)
Returns the information about a transaction requested by transaction hash.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 32 Bytes - hash of a transaction
@@ -1217,6 +1301,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","param
Returns information about a transaction by block hash and transaction index position.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 32 Bytes - hash of a block.
@@ -1245,9 +1333,13 @@ Result see [eth_getTransactionByHash](#eth_gettransactionbyhash)
Returns information about a transaction by block number and transaction index position.
+
+ Try endpoint in playground
+
+
**Parameters**
-1. `QUANTITY|TAG` - a block number, or the string `"earliest"`, `"latest"`, `"pending"`, `"safe"` or `"finalized"`, as in the [default block parameter](/developers/docs/apis/json-rpc/#default-block).
+1. `QUANTITY|TAG` - a block number, or the string `"earliest"`, `"latest"`, `"pending"`, `"safe"` or `"finalized"`, as in the [block parameter](/developers/docs/apis/json-rpc/#block-parameter).
2. `QUANTITY` - the transaction index position.
```js
@@ -1341,6 +1433,10 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","para
Returns information about a uncle of a block by hash and uncle index position.
+
+ Try endpoint in playground
+
+
**Parameters**
1. `DATA`, 32 Bytes - The hash of a block.
@@ -1371,9 +1467,13 @@ Result see [eth_getBlockByHash](#eth_getblockbyhash)
Returns information about a uncle of a block by number and uncle index position.
+
+ Try endpoint in playground
+
+
**Parameters**
-1. `QUANTITY|TAG` - a block number, or the string `"earliest"`, `"latest"`, `"pending"`, `"safe"`, `"finalized"`, as in the [default block parameter](/developers/docs/apis/json-rpc/#default-block).
+1. `QUANTITY|TAG` - a block number, or the string `"earliest"`, `"latest"`, `"pending"`, `"safe"`, `"finalized"`, as in the [block parameter](/developers/docs/apis/json-rpc/#block-parameter).
2. `QUANTITY` - the uncle's index position.
```js
@@ -1623,7 +1723,7 @@ Returns an array of all logs matching a given filter object.
- `toBlock`: `QUANTITY|TAG` - (optional, default: `"latest"`) Integer block number, or `"latest"` for the last proposed block, `"safe"` for the latest safe block, `"finalized"` for the latest finalized block, or `"pending"`, `"earliest"` for transactions not yet in a block.
- `address`: `DATA|Array`, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate.
- `topics`: `Array of DATA`, - (optional) Array of 32 Bytes `DATA` topics. Topics are order-dependent. Each topic can also be an array of DATA with "or" options.
-- `blockhash`: `DATA`, 32 Bytes - (optional, **future**) With the addition of EIP-234, `blockHash` will be a new filter option which restricts the logs returned to the single block with the 32-byte hash `blockHash`. Using `blockHash` is equivalent to `fromBlock` = `toBlock` = the block number with hash `blockHash`. If `blockHash` is present in the filter criteria, then neither `fromBlock` nor `toBlock` are allowed.
+- `blockHash`: `DATA`, 32 Bytes - (optional, **future**) With the addition of EIP-234, `blockHash` will be a new filter option which restricts the logs returned to the single block with the 32-byte hash `blockHash`. Using `blockHash` is equivalent to `fromBlock` = `toBlock` = the block number with hash `blockHash`. If `blockHash` is present in the filter criteria, then neither `fromBlock` nor `toBlock` are allowed.
```js
params: [
diff --git a/public/content/developers/docs/bridges/index.md b/public/content/developers/docs/bridges/index.md
index 401c64f072c..54a75171fc1 100644
--- a/public/content/developers/docs/bridges/index.md
+++ b/public/content/developers/docs/bridges/index.md
@@ -121,12 +121,14 @@ To monitor contract activity across chains, developers can use subgraphs and dev
- [Tenderly](https://tenderly.co/)
## Further reading {#further-reading}
-
- [Blockchain Bridges](/bridges/) – ethereum.org
-- [Blockchain Bridges: Building Networks of Cryptonetworks](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) Sep 8, 2021 – Dmitriy Berenzon
-- [The Interoperability Trilemma](https://blog.connext.network/the-interoperability-trilemma-657c2cf69f17) Oct 1, 2021 – Arjun Bhuptani
-- [Clusters: How Trusted & Trust-Minimized Bridges Shape the Multi-Chain Landscape](https://blog.celestia.org/clusters/) Oct 4, 2021 – Mustafa Al-Bassam
-- [LI.FI: With Bridges, Trust is a Spectrum](https://blog.li.fi/li-fi-with-bridges-trust-is-a-spectrum-354cd5a1a6d8) Apr 28, 2022 – Arjun Chand
+- [L2Beat Bridge Risk Framework](https://l2beat.com/bridges/summary)
+- [Blockchain Bridges: Building Networks of Cryptonetworks](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) - Sep 8, 2021 – Dmitriy Berenzon
+- [The Interoperability Trilemma](https://blog.connext.network/the-interoperability-trilemma-657c2cf69f17) - Oct 1, 2021 – Arjun Bhuptani
+- [Clusters: How Trusted & Trust-Minimized Bridges Shape the Multi-Chain Landscape](https://blog.celestia.org/clusters/) - Oct 4, 2021 – Mustafa Al-Bassam
+- [LI.FI: With Bridges, Trust is a Spectrum](https://blog.li.fi/li-fi-with-bridges-trust-is-a-spectrum-354cd5a1a6d8) - Apr 28, 2022 – Arjun Chand
+- [The State Of Rollup Interoperability Solutions](https://research.2077.xyz/the-state-of-rollup-interoperability) - June 20, 2024 – Alex Hook
+- [Harnessing Shared Security For Secure Cross-Chain Interoperability: Lagrange State Committees And Beyond](https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) - June 12, 2024 – Emmanuel Awosika
Additionally, here are some insightful presentations by [James Prestwich](https://twitter.com/_prestwich) that can help develop a deeper understanding of bridges:
diff --git a/public/content/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md b/public/content/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
index 048cf885b47..d51c63752c4 100644
--- a/public/content/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
+++ b/public/content/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
@@ -16,7 +16,7 @@ A common misconception is that a successful attacker can generate new ether, or
A **“reorg”** is a reshuffling of blocks into a new order, perhaps with some addition or subtraction of blocks in the canonical chain. A malicious reorg might ensure specific blocks are included or excluded, allowing double-spending or value extraction by front-running and back-running transactions (MEV). Re-orgs could also be used to prevent certain transactions from being included in the canonical chain - a form of censorship. The most extreme form of reorg is “finality reversion” which removes or replaces blocks that have previously been finalized. This is only possible if more than ⅓ of the total staked ether is destroyed by the attacker - this guarantee is known as “economic finality” - more on this later.
-**Double finality** is the unlikely but severe condition where two forks are able to finalize simultaneously, creating a permanent schism in the chain. This is theoretically possible for an attacker willing to risk 34% of the total staked ether. The community would be forced to coordinate off-chain and come to an agreement about which chain to follow, which would require strength in the social layer.
+**Double finality** is the unlikely but severe condition where two forks are able to finalize simultaneously, creating a permanent schism in the chain. This is theoretically possible for an attacker willing to risk 34% of the total staked ether. The community would be forced to coordinate offchain and come to an agreement about which chain to follow, which would require strength in the social layer.
A **finality delay** attack prevents the network from reaching the necessary conditions finalizing sections of the chain. Without finality, it is hard to trust financial applications built on top of Ethereum. The aim of a finality delay attack is likely simply to disrupt Ethereum rather than to directly profit, unless the attacker has some strategic short position(s).
@@ -127,7 +127,7 @@ One of the strengths of Ethereum’s PoS consensus is that there are a [range of
Whatever the penalty imposed on the attacker, the community also has to decide together whether the dishonest chain, despite being the one favored by the fork choice algorithm coded into the Ethereum clients, is in fact invalid and that the community should build on top of the honest chain instead. Honest validators could collectively agree to build on top of a community-accepted fork of the Ethereum blockchain that might, for example, have forked off the canonical chain before the attack started or have the attackers’ validators forcibly removed. Honest validators would be incentivized to build on this chain because they would avoid the penalties applied to them for failing (rightly) to attest to the attacker’s chain. Exchanges, on-ramps and applications built on Ethereum would presumably prefer to be on the honest chain and would follow the honest validators to the honest blockchain.
-However, this would be a substantial governance challenge. Some users and validators would undoubtedly lose out as a result of the switch back to the honest chain, transactions in blocks validated after the attack could potentially be rolled back, disrupting the application layer, and it quite simply undermines the ethics of some users who tend to believe “code is law”. Exchanges and applications will most likely have linked off-chain actions to on-chain transactions that may now be rolled back, starting a cascade of retractions and revisions that would be hard to unpick fairly, especially if ill-gotten gains have been mixed, deposited into DeFi or other derivatives with secondary effects for honest users. Undoubtedly some users, perhaps even institutional ones, would have already benefited from the dishonest chain either by being shrewd or by serendipity, and might oppose a fork to protect their gains. There have been calls to rehearse the community response to >51% attacks so that a sensible coordinated mitigation could be executed quickly. There is some useful discussion by Vitalik on ethresear.ch [here](https://ethresear.ch/t/timeliness-detectors-and-51-attack-recovery-in-blockchains/6925) and [here](https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363) and on Twitter [here](https://twitter.com/skylar_eth/status/1551798684727508992?s=20&t=oHZ1xv8QZdOgAXhxZKtHEw). The aim of a coordinated social response should be to be very targeted and specific about punishing the attacker and minimizing effects for other users.
+However, this would be a substantial governance challenge. Some users and validators would undoubtedly lose out as a result of the switch back to the honest chain, transactions in blocks validated after the attack could potentially be rolled back, disrupting the application layer, and it quite simply undermines the ethics of some users who tend to believe “code is law”. Exchanges and applications will most likely have linked offchain actions to onchain transactions that may now be rolled back, starting a cascade of retractions and revisions that would be hard to unpick fairly, especially if ill-gotten gains have been mixed, deposited into DeFi or other derivatives with secondary effects for honest users. Undoubtedly some users, perhaps even institutional ones, would have already benefited from the dishonest chain either by being shrewd or by serendipity, and might oppose a fork to protect their gains. There have been calls to rehearse the community response to >51% attacks so that a sensible coordinated mitigation could be executed quickly. There is some useful discussion by Vitalik on ethresear.ch [here](https://ethresear.ch/t/timeliness-detectors-and-51-attack-recovery-in-blockchains/6925) and [here](https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363) and on Twitter [here](https://twitter.com/skylar_eth/status/1551798684727508992?s=20&t=oHZ1xv8QZdOgAXhxZKtHEw). The aim of a coordinated social response should be to be very targeted and specific about punishing the attacker and minimizing effects for other users.
Governance is already a complicated topic. Managing a Layer-0 emergency response to a dishonest finalizing chain would undoubtedly be challenging for the Ethereum community, but it [has happened](/history/#dao-fork-summary) - [twice](/history/#tangerine-whistle) - in Ethereum’s history).
diff --git a/public/content/developers/docs/consensus-mechanisms/pos/keys/index.md b/public/content/developers/docs/consensus-mechanisms/pos/keys/index.md
index 8778b06972f..fbbbe284493 100644
--- a/public/content/developers/docs/consensus-mechanisms/pos/keys/index.md
+++ b/public/content/developers/docs/consensus-mechanisms/pos/keys/index.md
@@ -23,7 +23,7 @@ The validator signing key consists of two elements:
- Validator **private** key
- Validator **public** key
-The purpose of the validator private key is to sign on-chain operations such as block proposals and attestations. Because of this, these keys must be held in a hot wallet.
+The purpose of the validator private key is to sign onchain operations such as block proposals and attestations. Because of this, these keys must be held in a hot wallet.
This flexibility has the advantage of moving validator signing keys very quickly from one device to another, however, if they have gotten lost or stolen, a thief may be able to **act maliciously** in a few ways:
@@ -56,6 +56,8 @@ Separating the validator keys from the Ethereum account keys enables multiple va

+**Note**: Exiting from staking duties and withdrawing a validator's balance currently requires signing a [voluntary exit message (VEM)](https://mirror.xyz/ladislaus.eth/wmoBbUBes2Wp1_6DvP6slPabkyujSU7MZOFOC3QpErs&1) with the validator key. However, [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) is a proposal that will allow a user to trigger a validator's exit and withdrawals its balance by signing exit messages with the withdrawal key in the future. This will reduce trust assumptions by enabling stakers who delegate ETH to [staking-as-a-service providers](https://ethereum.org/en/staking/saas/#what-is-staking-as-a-service) to remain in control of their funds.
+
## Deriving keys from a seed phrase {#deriving-keys-from-seed}
If every 32 ETH staked required a new set of 2 completely independent keys, key management would quickly become unwieldy, especially for users running multiple validators. Instead, multiple validator keys can be derived from a single common secret and storing that single secret allows access to multiple validator keys.
@@ -94,3 +96,5 @@ Each branch is separated by a `/` so `m/2` means start with the master key and f
- [Ethereum Foundation blog post by Carl Beekhuizen](https://blog.ethereum.org/2020/05/21/keys/)
- [EIP-2333 BLS12-381 key generation](https://eips.ethereum.org/EIPS/eip-2333)
+- [EIP-7002: Execution Layer Triggered Exits](https://research.2077.xyz/eip-7002-unpacking-improvements-to-staking-ux-post-merge)
+- [Key management at scale](https://docs.ethstaker.cc/ethstaker-knowledge-base/scaled-node-operators/key-management-at-scale)
diff --git a/public/content/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md b/public/content/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
index 696a4a285ec..065eac86d8f 100644
--- a/public/content/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
+++ b/public/content/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
@@ -70,7 +70,7 @@ Slashing is a more severe action that results in the forceful removal of a valid
- By attesting to a block that "surrounds" another one (effectively changing history)
- By "double voting" by attesting to two candidates for the same block
-If these actions are detected, the validator is slashed. This means that 1/32 of their staked ether (up to a maximum of 1 ether) is immediately burned, then a 36 day removal period begins. During this removal period the validator's stake gradually bleeds away. At the mid-point (Day 18) an additional penalty is applied whose magnitude scales with the total staked ether of all slashed validators in the 36 days prior to the slashing event. This means that when more validators are slashed, the magnitude of the slash increases. The maximum slash is the full effective balance of all slashed validators (i.e. if there are lots of validators being slashed they could lose their entire stake). On the other hand, a single, isolated slashing event only burns a small portion of the validator's stake. This midpoint penalty that scales with the number of slashed validators is called the "correlation penalty".
+If these actions are detected, the validator is slashed. This means that 0.0078125 is immediately burned for a 32 ETH validator (scaled linearly with active balance), then a 36 day removal period begins. During this removal period the validator's stake gradually bleeds away. At the mid-point (Day 18) an additional penalty is applied whose magnitude scales with the total staked ether of all slashed validators in the 36 days prior to the slashing event. This means that when more validators are slashed, the magnitude of the slash increases. The maximum slash is the full effective balance of all slashed validators (i.e. if there are lots of validators being slashed they could lose their entire stake). On the other hand, a single, isolated slashing event only burns a small portion of the validator's stake. This midpoint penalty that scales with the number of slashed validators is called the "correlation penalty".
## Inactivity leak {#inactivity-leak}
@@ -84,6 +84,8 @@ The reward, penalty and slashing design of the consensus mechanism encourages in
- [Incentives in Ethereum's hybrid Casper protocol](https://arxiv.org/pdf/1903.04205.pdf)
- [Vitalik's annotated spec](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#rewards-and-penalties-1)
- [Eth2 Slashing Prevention Tips](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50)
+- [EIP-7251 Explained: Increasing Maximum Effective Balance For Validators](https://research.2077.xyz/eip-7251_Increase_MAX_EFFECTIVE_BALANCE)
+- [Analysis of slashing penalties under EIP-7251](https://ethresear.ch/t/slashing-penalty-analysis-eip-7251/16509)
_Sources_
diff --git a/public/content/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md b/public/content/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
index 2eba9fe91bb..a8374a84fbb 100644
--- a/public/content/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
+++ b/public/content/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
@@ -16,7 +16,7 @@ Subjectivity is inherent to proof-of-stake blockchains because selecting the cor
## Weak subjectivity checkpoints {#ws-checkpoints}
-Weak subjectivity is implemented in proof-of-stake Ethereum by using "weak subjectivity checkpoints". These are state roots that all nodes on the network agree belong in the canonical chain. They serve the same "universal truth" purpose to genesis blocks, except that they do not sit at the genesis position in the blockchain. The fork choice algorithm trusts that the blockchain state defined in that checkpoint is correct and that it independently and objectively verifies the chain from that point onwards. The checkpoints act as "revert limits" because blocks located before weak-subjectivity checkpoints cannot be changed. This undermines long-range attacks simply by defining long-range forks to be invalid as part of the mechanism design. Ensuring that the weak subjectivity checkpoints are separated by a smaller distance than the validator withdrawal period ensures that a validator that forks the chain is slashed at least some threshold amount before they can withdraw their stake and that new entrants cannot be tricked onto incorrect forks by validators whose stake has been withdrawn.
+Weak subjectivity is implemented in proof-of-stake Ethereum by using "weak subjectivity checkpoints". These are state roots that all nodes on the network agree belong in the canonical chain. They serve the same "universal truth" purpose as genesis blocks, except that they do not sit at the genesis position in the blockchain. The fork choice algorithm trusts that the blockchain state defined in that checkpoint is correct and that it independently and objectively verifies the chain from that point onwards. The checkpoints act as "revert limits" because blocks located before weak-subjectivity checkpoints cannot be changed. This undermines long-range attacks simply by defining long-range forks to be invalid as part of the mechanism design. Ensuring that the weak subjectivity checkpoints are separated by a smaller distance than the validator withdrawal period ensures that a validator that forks the chain is slashed at least some threshold amount before they can withdraw their stake and that new entrants cannot be tricked onto incorrect forks by validators whose stake has been withdrawn.
## Difference between weak subjectivity checkpoints and finalized blocks {#difference-between-ws-and-finalized-blocks}
diff --git a/public/content/developers/docs/dapps/index.md b/public/content/developers/docs/dapps/index.md
index d8dead975fb..9d9a8de53ab 100644
--- a/public/content/developers/docs/dapps/index.md
+++ b/public/content/developers/docs/dapps/index.md
@@ -1,5 +1,5 @@
---
-title: Introduction to dapps
+title: Technical introduction to dapps
description:
lang: en
---
@@ -82,7 +82,7 @@ A smart contract is code that lives on the Ethereum blockchain and runs exactly
## Further reading {#further-reading}
-- [Explore dapps](/dapps)
+- [Explore dapps](/apps)
- [The Architecture of a Web 3.0 application](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_
- [A 2021 guide to decentralized applications](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) - _LimeChain_
- [What Are Decentralized Apps?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) - _Gemini_
diff --git a/public/content/developers/docs/data-and-analytics/block-explorers/index.md b/public/content/developers/docs/data-and-analytics/block-explorers/index.md
index 4618236c317..7079143563a 100644
--- a/public/content/developers/docs/data-and-analytics/block-explorers/index.md
+++ b/public/content/developers/docs/data-and-analytics/block-explorers/index.md
@@ -5,7 +5,7 @@ lang: en
sidebarDepth: 3
---
-Block explorers are your portal to Ethereum's data. You can use them to see real-time data on blocks, transactions, validators, accounts, and other on-chain activity.
+Block explorers are your portal to Ethereum's data. You can use them to see real-time data on blocks, transactions, validators, accounts, and other onchain activity.
## Prerequisites {#prerequisites}
@@ -25,7 +25,6 @@ You should understand the basic concepts of Ethereum so you can make sense of th
- [Ethplorer](https://ethplorer.io/) -_Also available in Chinese, Spanish, French, Turkish, Russian, Korean and Vietnamese_
- [EthVM](https://www.ethvm.com/)
- [OKLink](https://www.oklink.com/eth)
-- [Rantom](https://rantom.app/)
- [Ethseer](https://ethseer.io)
## Open source tools {#open-source-tools}
@@ -95,7 +94,7 @@ Block explorers have become a common place for people to track the progress of t
- Gas limit - The maximum numbers of gas units this transaction can consume
- Gas used - The actual amount of gas units the transaction consumed
- Gas price - The price set per gas unit
-- Nonce - The transaction number for the `from` address (bear in mind this starts at 0 so a nonce of `100` would actually be the 101st transaction submitted by this account
+- Nonce - The transaction number for the `from` address (bear in mind this starts at 0 so a nonce of `100` would actually be the 101st transaction submitted by this account)
- Input data - Any extra information required by the transaction
### Accounts {#accounts}
@@ -238,13 +237,12 @@ The consensus layer top-level data includes the following:
## Block explorers {#block-explorers}
-- [Etherscan](https://etherscan.io/) - a block explorer you can use to fetch data for Ethereum Mainnet and Goerli Testnet
+- [Etherscan](https://etherscan.io/) - a block explorer you can use to fetch data for Ethereum Mainnet and Testnet
- [3xpl](https://3xpl.com/ethereum) - an ad-free open-source Ethereum explorer which allows downloading its datasets
-- [Beaconcha.in](https://beaconcha.in/) - an open source block explorer for Ethereum Mainnet and Goerli Testnet
+- [Beaconcha.in](https://beaconcha.in/) - an open source block explorer for Ethereum Mainnet and Testnet
- [Blockchair](https://blockchair.com/ethereum) - the most private Ethereum explorer. Also for sorting and filtering (mempool) data
- [Etherchain](https://www.etherchain.org/) - a block explorer for the Ethereum Mainnet
- [Ethplorer](https://ethplorer.io/) - a block explorer with a focus on tokens for the Ethereum Mainnet and the Kovan testnet
-- [Rantom](https://rantom.app/) - A user-friendly open-source DeFi & NFT transaction viewer for detailed insights
- [Ethernow](https://www.ethernow.xyz/) - a real-time transaction explorer that enables you to see the Ethereum Mainnet pre-chain layer
## Further reading {#further-reading}
diff --git a/public/content/developers/docs/data-and-analytics/index.md b/public/content/developers/docs/data-and-analytics/index.md
index 42638340ad3..c972dae22e6 100644
--- a/public/content/developers/docs/data-and-analytics/index.md
+++ b/public/content/developers/docs/data-and-analytics/index.md
@@ -1,12 +1,12 @@
---
title: Data and analytics
-description: How to get on-chain analytics and data for use in your dapps
+description: How to get onchain analytics and data for use in your dapps
lang: en
---
## Introduction {#Introduction}
-As utilization of the network continues to grow, an increasing amount of valuable information will exist in the on-chain data. As the volume of data rapidly increases, calculating and aggregating this information to report upon or drive a dapp can become a time and process heavy endeavor.
+As utilization of the network continues to grow, an increasing amount of valuable information will exist in the onchain data. As the volume of data rapidly increases, calculating and aggregating this information to report upon or drive a dapp can become a time and process heavy endeavor.
Leveraging existing data providers can expedite development, produce more accurate results, and reduce ongoing maintenance efforts. This will enable a team to concentrate on the core functionality their project is trying to provide.
@@ -18,23 +18,35 @@ In terms of architectural fundamentals, understanding what an [API](https://www.
## Block explorers {#block-explorers}
-Many [Block Explorers](/developers/docs/data-and-analytics/block-explorers/) offer [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [API](https://www.wikipedia.org/wiki/API) gateways that will provide developers visibility into real-time data on blocks, transactions, validators, accounts, and other on-chain activity.
+Many [Block Explorers](/developers/docs/data-and-analytics/block-explorers/) offer [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [API](https://www.wikipedia.org/wiki/API) gateways that will provide developers visibility into real-time data on blocks, transactions, validators, accounts, and other onchain activity.
-Developers can then process and transform this data to give their users unique insights and interactions with the [blockchain](/glossary/#blockchain). For example, [Etherscan](https://etherscan.io) provides execution and consensus data for every 12s slot.
+Developers can then process and transform this data to give their users unique insights and interactions with the [blockchain](/glossary/#blockchain). For example, [Etherscan](https://etherscan.io) and [Blockscout](https://eth.blockscout.com) provide execution and consensus data for every 12s slot.
## The Graph {#the-graph}
-The [Graph Network](https://thegraph.com/) is a decentralized indexing protocol for organizing blockchain data. Instead of building and managing off-chain and centralized data stores to aggregate on-chain data, with The Graph, developers can build serverless applications that run entirely on public infrastructure.
+[The Graph](https://thegraph.com/) is an indexing protocol that provides an easy way to query blockchain data through open APIs known as subgraphs.
-Using [GraphQL](https://graphql.org/), developers can query any of the curated open APIs, known as sub-graphs, to acquire the necessary information they need to drive their dapp. By querying these indexed sub-graphs, Reports and dapps not only get performance and scalability benefits but also the built in accuracy provided by network consensus. As new improvements and/or sub-graphs are added to the network, your projects can rapidly iterate to take advantage of these enhancements.
+With The Graph, developers can benefit from:
-## Client diversity
+- Decentralized indexing: Enables indexing blockchain data through multiple indexers, thus eliminating any single point of failure
+- GraphQL queries: Provides a powerful GraphQL interface for querying indexed data, making data retrieval super simple
+- Customization: Define your own logic for transforming & storing blockchain data, and reuse subgraphs published by other developers on The Graph Network
+
+Follow this [quick-start](https://thegraph.com/docs/en/quick-start/) guide to create, deploy, and query a subgraph within 5 minutes.
+
+## Client diversity {#client-diversity}
[Client diversity](/developers/docs/nodes-and-clients/client-diversity/) is important for the overall health of the Ethereum network because it provides resilience to bugs and exploits. There are now several client diversity dashboards including [clientdiversity.org](https://clientdiversity.org/), [rated.network](https://www.rated.network), [supermajority.info](https://supermajority.info//) and [Ethernodes](https://ethernodes.org/).
## Dune Analytics {#dune-analytics}
-[Dune Analytics](https://dune.com/) pre-processes blockchain data into relational database (PostgreSQL and DatabricksSQL) tables, allows users to query blockchain data using SQL and build dashboards based on query results. On-chain data are organized into 4 raw tables: `blocks`, `transactions`, (event) `logs` and (call) `traces`. Popular contracts and protocols have been decoded, and each has its own set of event and call tables. Those event and call tables are processed further and organized into abstraction tables by the type of protocols, for example, dex, lending, stablecoins, etc.
+[Dune Analytics](https://dune.com/) pre-processes blockchain data into relational database (DuneSQL) tables, allows users to query blockchain data using SQL and build dashboards based on query results. Onchain data are organized into 4 raw tables: `blocks`, `transactions`, (event) `logs` and (call) `traces`. Popular contracts and protocols have been decoded, and each has its own set of event and call tables. Those event and call tables are processed further and organized into abstraction tables by the type of protocols, for example, dex, lending, stablecoins, etc.
+
+## SQD {#sqd}
+
+[SQD](https://sqd.dev/) is a decentralized hyper-scalable data platform optimized for providing efficient, permissionless access to large volumes of data. It currently serves historical on-chain data, including event logs, transaction receipts, traces, and per-transaction state diffs. SQD offers a powerful toolkit for creating custom data extraction and processing pipelines, achieving an indexing speed of up to 150k blocks per second.
+
+To get started, visit the [documentation](https://docs.sqd.dev/) or see [EVM examples](https://github.com/subsquid-labs/squid-evm-examples) of what you can build with SQD.
## SubQuery Network {#subquery-network}
@@ -43,13 +55,22 @@ Using [GraphQL](https://graphql.org/), developers can query any of the curated o
To start, visit the [Ethereum quick start guide](https://academy.subquery.network/quickstart/quickstart_chains/ethereum-gravatar.html) to start indexing Ethereum blockchain data in minutes in a local Docker environment for testing before going live on a [SubQuery's managed service](https://managedservice.subquery.network/) or on [SubQuery's decentralised network](https://app.subquery.network/dashboard).
## Ethernow - Mempool Data Program {#ethernow}
-[Blocknative](https://www.blocknative.com/) provides open access to its Ethereum historical [mempool data archive](https://www.ethernow.xyz/mempool-data-archive). This enables researchers and community good projects to explore the pre-chain layer of Ethereum Mainnet. The data set is actively maintained and represents the most comprehensive historical record of mempool transaction events within the Ethereum ecosystem. Learn more at [Ethernow](https://www.ethernow.xyz/).
+
+[Blocknative](https://www.blocknative.com/) provides open access to its Ethereum historical [mempool data archive](https://www.ethernow.xyz/mempool-data-archive). This enables researchers and community good projects to explore the pre-chain layer of Ethereum Mainnet. The data set is actively maintained and represents the most comprehensive historical record of mempool transaction events within the Ethereum ecosystem. Learn more at [Ethernow](https://www.ethernow.xyz/).
+
+## EVM Query Language {#evm-query-language}
+
+EVM Query Language (EQL) is an SQL-like language designed to query EVM (Ethereum Virtual Machine) chains. EQL's ultimate goal is to support complex relational queries on EVM chain first-class citizens (blocks, accounts, and transactions) while providing developers and researchers with an ergonomic syntax for everyday use. With EQL, developers can fetch blockchain data using familiar SQL-like syntax and eliminate the need for complex boilerplate code. EQL supports standard blockchain data requests (e.g., retrieving an account's nonce and balance on Ethereum or fetching the current block size and timestamp) and is continually adding support for more complex requests and featuresets.
## Further Reading {#further-reading}
-- [Graph Network Overview](https://thegraph.com/docs/en/about/network/)
+- [Exploring Crypto Data I: Data Flow Architectures](https://web.archive.org/web/20250125012042/https://research.2077.xyz/exploring-crypto-data-1-data-flow-architectures)
+- [Graph Network Overview](https://thegraph.com/docs/en/about/)
- [Graph Query Playground](https://thegraph.com/explorer/subgraph/graphprotocol/graph-network-mainnet?version=current)
- [API code examples on EtherScan](https://etherscan.io/apis#contracts)
+- [API documentation on Blockscout](https://docs.blockscout.com/devs/apis)
- [Beaconcha.in Beacon Chain explorer](https://beaconcha.in)
- [Dune Basics](https://docs.dune.com/#dune-basics)
- [SubQuery Ethereum Quick Start Guide](https://academy.subquery.network/indexer/quickstart/quickstart_chains/ethereum-gravatar.html)
+- [SQD Network Overview](https://docs.sqd.dev/)
+- [EVM Query Language](https://eql.sh/blog/alpha-release-notes)
diff --git a/public/content/developers/docs/data-availability/blockchain-data-storage-strategies/index.md b/public/content/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
index 3543f98b901..3341841d94d 100644
--- a/public/content/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
+++ b/public/content/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
@@ -63,7 +63,7 @@ Calldata refers to the bytes sent as part of the transaction. It is stored as pa
This is the cheapest method to permanently put data in the blockchain. The cost per byte is either 4 execution gas (if the byte is zero) or 16 gas (any other value). If the data is compressed, which is standard practice, then every byte value is equally likely, so the average cost is approximately 15.95 gas per byte.
-At writing the prices are 12 gwei/gas and 2300 $/ETH, which means the cost is appoximately 45 cents per kilobyte. Because this was the cheapest method prior to EIP-4844, this is the method rollups used to store transaction information, which need to be available for [fault challenges](https://docs.optimism.io/stack/protocol/overview#fault-proofs), but do not need to be accessible directly onchain.
+At the time of writing, the prices are 12 gwei/gas and 2300 $/ETH, which means the cost is approximately 45 cents per kilobyte. Because this was the cheapest method prior to EIP-4844, this is the method rollups used to store transaction information, which need to be available for [fault challenges](https://docs.optimism.io/stack/protocol/overview#fault-proofs), but do not need to be accessible directly onchain.
Here are the addresses to see the transactions posted by some famous rollups.
diff --git a/public/content/developers/docs/data-availability/index.md b/public/content/developers/docs/data-availability/index.md
index 9728d7d9983..f56bf33373b 100644
--- a/public/content/developers/docs/data-availability/index.md
+++ b/public/content/developers/docs/data-availability/index.md
@@ -6,7 +6,7 @@ lang: en
"Don't trust, verify" is a common maxim in Ethereum. The idea is that your node can independently verify that the information it receives is correct by executing all the transactions in the blocks they receive from peers to ensure that the changes proposed precisely match those computed independently by the node. This means nodes do not have to trust that the senders of the block are honest. This is not possible if data is missing.
-**Data availability** refers to the confidence a user can have that the data required to verify a block is really available to all network participants. For full nodes on Ethereum layer 1 this is relatively simple; the full node downloads a copy of all the data in each block - the data _has_ to be available for the downloading to be possible. A block with missing data would be discarded rather than being added to the blockchain. This is "on chain data availability" and it is a feature of monolithic blockchains. Full nodes cannot be tricked into accepting invalid transactions because they download and execute every transaction for themselves. However, for modular blockchains, layer 2 rollups and light clients, the data availability landscape is more complex, requiring some more sophisticated verification procedures.
+**Data availability** refers to the confidence a user can have that the data required to verify a block is really available to all network participants. For full nodes on Ethereum layer 1 this is relatively simple; the full node downloads a copy of all the data in each block - the data _has_ to be available for the downloading to be possible. A block with missing data would be discarded rather than being added to the blockchain. This is "onchain data availability" and it is a feature of monolithic blockchains. Full nodes cannot be tricked into accepting invalid transactions because they download and execute every transaction for themselves. However, for modular blockchains, layer 2 rollups and light clients, the data availability landscape is more complex, requiring some more sophisticated verification procedures.
## Prerequisites {#prerequisites}
@@ -32,7 +32,7 @@ DAS will be used to ensure rollup operators make their transaction data availabl
Data Availability Committees (DACs) are trusted parties that provide, or attest to, data availability. DACs can be used instead of, [or in combination with](https://hackmd.io/@vbuterin/sharding_proposal#Why-not-use-just-committees-and-not-DAS) DAS. The security guarantees that come with committees depends on the specific set up. Ethereum uses randomly sampled subsets of validators to attest to data availability for light nodes, for example.
-DACs are also used by some validiums. The DAC is a trusted set of nodes that stores copies of data offline. The DAC is required to make the data available in the event of a dispute. Members of the DAC also publish on-chain attestations to prove that the said data is indeed available. Some validiums replace DACs with a proof-of-stake (PoS) validator system. Here, anyone can become a validator and store data off-chain. However, they must provide a “bond”, which is deposited in a smart contract. In the event of malicious behavior, such as the validator withholding data, the bond can be slashed. Proof-of-stake data availability committees are considerably more secure than regular DACs because they directly incentivize honest behavior.
+DACs are also used by some validiums. The DAC is a trusted set of nodes that stores copies of data offline. The DAC is required to make the data available in the event of a dispute. Members of the DAC also publish onchain attestations to prove that the said data is indeed available. Some validiums replace DACs with a proof-of-stake (PoS) validator system. Here, anyone can become a validator and store data offchain. However, they must provide a “bond”, which is deposited in a smart contract. In the event of malicious behavior, such as the validator withholding data, the bond can be slashed. Proof-of-stake data availability committees are considerably more secure than regular DACs because they directly incentivize honest behavior.
## Data availability and light nodes {#data-availability-and-light-nodes}
@@ -54,11 +54,11 @@ Even in this scenario, attacks that withhold just a few bytes could feasibly go
## Data availability and layer 2 rollups {#data-availability-and-layer-2-rollups}
-[Layer 2 scaling solutions](/layer-2/), such as [rollups](/glossary/#rollups), reduce transaction costs and increase Ethereum's throughput by processing transactions off-chain. Rollup transactions are compressed and posted on Ethereum in batches. Batches represent thousands of individual off-chain transactions in a single transaction on Ethereum. This reduces congestion on the base layer and reduces fees for users.
+[Layer 2 scaling solutions](/layer-2/), such as [rollups](/glossary/#rollups), reduce transaction costs and increase Ethereum's throughput by processing transactions offchain. Rollup transactions are compressed and posted on Ethereum in batches. Batches represent thousands of individual offchain transactions in a single transaction on Ethereum. This reduces congestion on the base layer and reduces fees for users.
-However, it is only possible to trust the 'summary' transactions posted to Ethereum if the state change proposed can be independently verified and confirmed to be the result of applying all the individual off-chain transactions. If rollup operators do not make the transaction data available for this verification, then they could send incorrect data to Ethereum.
+However, it is only possible to trust the 'summary' transactions posted to Ethereum if the state change proposed can be independently verified and confirmed to be the result of applying all the individual offchain transactions. If rollup operators do not make the transaction data available for this verification, then they could send incorrect data to Ethereum.
-[Optimistic rollups](/developers/docs/scaling/optimistic-rollups/) post compressed transaction data to Ethereum and wait for some amount of time (typically 7 days) to allow independent verifiers to check the data. If anyone identifies a problem, they can generate a fraud-proof and use it to challenge the rollup. This would cause the chain to roll back and omit the invalid block. This is only possible if data is available. Currently, there are two ways that optimistic rollups post transaction data to L1. Some rollups make data permanently available as `CALLDATA` which lives permanently on-chain. With the implementation of EIP-4844, some rollups post their transaction data to cheaper blob storage instead. This is not permanent storage. Independent verifiers have to query the blobs and raise their challenges within ~18 days before the data is deleted from Ethereum layer-1. Data availability is only guaranteed by the Ethereum protocol for that short fixed window. After that, it becomes the responsibility of other entities in the Ethereum ecosystem. Any node can verify data availability using DAS, i.e. by downloading small, random samples of the blob data.
+[Optimistic rollups](/developers/docs/scaling/optimistic-rollups/) post compressed transaction data to Ethereum and wait for some amount of time (typically 7 days) to allow independent verifiers to check the data. If anyone identifies a problem, they can generate a fraud-proof and use it to challenge the rollup. This would cause the chain to roll back and omit the invalid block. This is only possible if data is available. Currently, there are two ways that optimistic rollups post transaction data to L1. Some rollups make data permanently available as `CALLDATA` which lives permanently onchain. With the implementation of EIP-4844, some rollups post their transaction data to cheaper blob storage instead. This is not permanent storage. Independent verifiers have to query the blobs and raise their challenges within ~18 days before the data is deleted from Ethereum layer-1. Data availability is only guaranteed by the Ethereum protocol for that short fixed window. After that, it becomes the responsibility of other entities in the Ethereum ecosystem. Any node can verify data availability using DAS, i.e. by downloading small, random samples of the blob data.
[Zero-knowledge (ZK) rollups](/developers/docs/scaling/zk-rollups) don't need to post transaction data since [zero-knowledge validity proofs](/glossary/#zk-proof) guarantee the correctness of state transitions. However, data availability is still an issue because we can't guarantee the functionality of the ZK-rollup (or interact with it) without access to its state data. For example, users cannot know their balances if an operator withholds details about the rollup’s state. Also, they cannot perform state updates using information contained in a newly added block.
@@ -74,11 +74,12 @@ The core Ethereum protocol is primarily concerned with data availability, not da
- [WTF is Data Availability?](https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f)
- [What Is Data Availability?](https://coinmarketcap.com/alexandria/article/what-is-data-availability)
-- [The Ethereum Off-Chain Data Availability Landscape](https://blog.celestia.org/ethereum-off-chain-data-availability-landscape/)
+- [The Ethereum Offchain Data Availability Landscape](https://blog.celestia.org/ethereum-offchain-data-availability-landscape/)
- [A primer on data availability checks](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html)
- [An explanation of the sharding + DAS proposal](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
- [A note on data availability and erasure coding](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding#can-an-attacker-not-circumvent-this-scheme-by-releasing-a-full-unavailable-block-but-then-only-releasing-individual-bits-of-data-as-clients-query-for-them)
- [Data availability committees.](https://medium.com/starkware/data-availability-e5564c416424)
- [Proof-of-stake data availability committees.](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
- [Solutions to the data retrievability problem](https://notes.ethereum.org/@vbuterin/data_sharding_roadmap#Who-would-store-historical-data-under-sharding)
-- [Data Availability Or: How Rollups Learned To Stop Worrying And Love Ethereum](https://ethereum2077.substack.com/p/data-availability-in-ethereum-rollups)
+- [Data Availability Or: How Rollups Learned To Stop Worrying And Love Ethereum](https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum)
+- [EIP-7623: Increasing Calldata Cost](https://research.2077.xyz/eip-7623-increase-calldata-cost)
diff --git a/public/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md b/public/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
index b49d806937c..fce9985f2d2 100644
--- a/public/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
+++ b/public/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
@@ -5,17 +5,17 @@ lang: en
sidebarDepth: 2
---
-The state of Ethereum (the totality of all accounts, balances, and smart contracts), is encoded into a special version of the data structure known generally in computer science as a Merkle Tree. This structure is useful for many applications in cryptography because it creates a verifiable relationship between all the individual pieces of data entangled in the tree, resulting in a single **root** value that can be used to prove things about the data.
+The state of Ethereum (the totality of all accounts, balances, and smart contracts), is encoded into a special version of the data structure known generally in computer science as a Merkle Tree. This structure is useful for many applications in cryptography because it creates a verifiable relationship between all the individual pieces of data entangled in the tree, resulting in a single **root** value that can be used to prove things about the data.
-Ethereum's data structure is a 'modified Merkle-Patricia Trie', named so because it borrows some features of PATRICIA (the Practical Algorithm To Retrieve Information Coded in Alphanumeric), and because it is designed for efficient data re**trie**val of items that comprise the Ethereum state.
+Ethereum's data structure is a 'modified Merkle-Patricia Trie', named so because it borrows some features of PATRICIA (the Practical Algorithm To Retrieve Information Coded in Alphanumeric), and because it is designed for efficient data re**trie**val of items that comprise the Ethereum state.
-A Merkle-Patricia trie is deterministic and cryptographically verifiable: The only way to generate a state root is by computing it from each individual piece of the state, and two states that are identical can be easily proven so by comparing the root hash and the hashes that led to it (_a Merkle proof_). Conversely, there is no way to create two different states with the same root hash, and any attempt to modify state with different values will result in a different state root hash. Theoretically, this structure provides the 'holy grail' of `O(log(n))` efficiency for inserts, lookups and deletes.
+A Merkle-Patricia trie is deterministic and cryptographically verifiable: The only way to generate a state root is by computing it from each individual piece of the state, and two states that are identical can be easily proven so by comparing the root hash and the hashes that led to it (_a Merkle proof_). Conversely, there is no way to create two different states with the same root hash, and any attempt to modify state with different values will result in a different state root hash. Theoretically, this structure provides the 'holy grail' of `O(log(n))` efficiency for inserts, lookups and deletes.
-In the near future, Ethereum plans to migrate to a [Verkle Tree](https://ethereum.org/en/roadmap/verkle-trees) structure, which will open up many new possibilities for future protocol improvements.
+In the near future, Ethereum plans to migrate to a [Verkle Tree](https://ethereum.org/en/roadmap/verkle-trees) structure, which will open up many new possibilities for future protocol improvements.
## Prerequisites {#prerequisites}
-To better understand this page, it would be helpful to have basic knowledge of [hashes](https://en.wikipedia.org/wiki/Hash_function), [Merkle trees](https://en.wikipedia.org/wiki/Merkle_tree), [tries](https://en.wikipedia.org/wiki/Trie) and [serialization](https://en.wikipedia.org/wiki/Serialization). This article begins with a description of a basic [radix tree](https://en.wikipedia.org/wiki/Radix_tree), then gradually introduces the modifications necessary for Ethereum's more optimized data structure.
+To better understand this page, it would be helpful to have basic knowledge of [hashes](https://en.wikipedia.org/wiki/Hash_function), [Merkle trees](https://en.wikipedia.org/wiki/Merkle_tree), [tries](https://en.wikipedia.org/wiki/Trie) and [serialization](https://en.wikipedia.org/wiki/Serialization). This article begins with a description of a basic [radix tree](https://en.wikipedia.org/wiki/Radix_tree), then gradually introduces the modifications necessary for Ethereum's more optimized data structure.
## Basic radix tries {#basic-radix-tries}
@@ -33,34 +33,34 @@ There is a difference between looking something up in the 'trie' and the underly
The update and delete operations for radix tries can be defined as follows:
-```
- def update(node,path,value):
- curnode = db.get(node) if node else [ NULL ] * 17
+```python
+ def update(node_hash, path, value):
+ curnode = db.get(node_hash) if node_hash else [NULL] * 17
newnode = curnode.copy()
- if path == '':
+ if path == "":
newnode[-1] = value
else:
- newindex = update(curnode[path[0]],path[1:],value)
+ newindex = update(curnode[path[0]], path[1:], value)
newnode[path[0]] = newindex
- db.put(hash(newnode),newnode)
+ db.put(hash(newnode), newnode)
return hash(newnode)
- def delete(node,path):
- if node is NULL:
+ def delete(node_hash, path):
+ if node_hash is NULL:
return NULL
else:
- curnode = db.get(node)
+ curnode = db.get(node_hash)
newnode = curnode.copy()
- if path == '':
+ if path == "":
newnode[-1] = NULL
else:
- newindex = delete(curnode[path[0]],path[1:])
+ newindex = delete(curnode[path[0]], path[1:])
newnode[path[0]] = newindex
if all(x is NULL for x in newnode):
return NULL
else:
- db.put(hash(newnode),newnode)
+ db.put(hash(newnode), newnode)
return hash(newnode)
```
@@ -95,69 +95,72 @@ When traversing paths in nibbles, we may end up with an odd number of nibbles to
The flagging of both _odd vs. even remaining partial path length_ and _leaf vs. extension node_ as described above reside in the first nibble of the partial path of any 2-item node. They result in the following:
- hex char bits | node type partial path length
- ----------------------------------------------------------
- 0 0000 | extension even
- 1 0001 | extension odd
- 2 0010 | terminating (leaf) even
- 3 0011 | terminating (leaf) odd
+| hex char | bits | node type partial | path length |
+| -------- | ---- | ------------------ | ----------- |
+| 0 | 0000 | extension | even |
+| 1 | 0001 | extension | odd |
+| 2 | 0010 | terminating (leaf) | even |
+| 3 | 0011 | terminating (leaf) | odd |
For even remaining path length (`0` or `2`), another `0` "padding" nibble will always follow.
-```
+```python
def compact_encode(hexarray):
term = 1 if hexarray[-1] == 16 else 0
- if term: hexarray = hexarray[:-1]
+ if term:
+ hexarray = hexarray[:-1]
oddlen = len(hexarray) % 2
flags = 2 * term + oddlen
if oddlen:
hexarray = [flags] + hexarray
else:
hexarray = [flags] + [0] + hexarray
- // hexarray now has an even length whose first nibble is the flags.
- o = ''
- for i in range(0,len(hexarray),2):
- o += chr(16 * hexarray[i] + hexarray[i+1])
+ # hexarray now has an even length whose first nibble is the flags.
+ o = ""
+ for i in range(0, len(hexarray), 2):
+ o += chr(16 * hexarray[i] + hexarray[i + 1])
return o
```
Examples:
-```
- > [ 1, 2, 3, 4, 5, ...]
+```python
+ > [1, 2, 3, 4, 5, ...]
'11 23 45'
- > [ 0, 1, 2, 3, 4, 5, ...]
+ > [0, 1, 2, 3, 4, 5, ...]
'00 01 23 45'
- > [ 0, f, 1, c, b, 8, 10]
+ > [0, f, 1, c, b, 8, 10]
'20 0f 1c b8'
- > [ f, 1, c, b, 8, 10]
+ > [f, 1, c, b, 8, 10]
'3f 1c b8'
```
Here is the extended code for getting a node in the Merkle Patricia trie:
-```
- def get_helper(node,path):
- if path == []: return node
- if node = '': return ''
- curnode = rlp.decode(node if len(node) < 32 else db.get(node))
+```python
+ def get_helper(node_hash, path):
+ if path == []:
+ return node_hash
+ if node_hash == "":
+ return ""
+ curnode = rlp.decode(node_hash if len(node_hash) < 32 else db.get(node_hash))
if len(curnode) == 2:
(k2, v2) = curnode
k2 = compact_decode(k2)
- if k2 == path[:len(k2)]:
- return get(v2, path[len(k2):])
+ if k2 == path[: len(k2)]:
+ return get(v2, path[len(k2) :])
else:
- return ''
+ return ""
elif len(curnode) == 17:
- return get_helper(curnode[path[0]],path[1:])
+ return get_helper(curnode[path[0]], path[1:])
- def get(node,path):
+ def get(node_hash, path):
path2 = []
for i in range(len(path)):
path2.push(int(ord(path[i]) / 16))
path2.push(ord(path[i]) % 16)
path2.push(16)
- return get_helper(node,path2)
+ return get_helper(node_hash, path2)
```
### Example Trie {#example-trie}
@@ -205,7 +208,7 @@ There is one global state trie, and it is updated every time a client processes
Storage trie is where _all_ contract data lives. There is a separate storage trie for each account. To retrieve values at specific storage positions at a given address the storage address, integer position of the stored data in the storage, and the block ID are required. These can then be passed as arguments to the `eth_getStorageAt` defined in the JSON-RPC API, e.g. to retrieve the data in storage slot 0 for address `0x295a70b2de5e3953354a6a8344e616ed314d7251`:
-```
+```bash
curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545
{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"}
@@ -214,7 +217,7 @@ curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": [
Retrieving other elements in storage is slightly more involved because the position in the storage trie must first be calculated. The position is calculated as the `keccak256` hash of the address and the storage position, both left-padded with zeros to a length of 32 bytes. For example, the position for the data in storage slot 1 for address `0x391694e7e0b0cce554cb130d723a9d27458f9298` is:
-```
+```python
keccak256(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"))
```
@@ -229,7 +232,7 @@ undefined
The `path` is therefore `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)`. This can now be used to retrieve the data from the storage trie as before:
-```
+```bash
curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545
{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"}
@@ -241,7 +244,7 @@ Note: The `storageRoot` for an Ethereum account is empty by default if it's not
There is a separate transactions trie for every block, again storing `(key, value)` pairs. A path here is: `rlp(transactionIndex)` which represents the key that corresponds to a value determined by:
-```
+```python
if legacyTx:
value = rlp(tx)
else:
diff --git a/public/content/developers/docs/data-structures-and-encoding/rlp/index.md b/public/content/developers/docs/data-structures-and-encoding/rlp/index.md
index 04bc25d3032..890c86d8cc4 100644
--- a/public/content/developers/docs/data-structures-and-encoding/rlp/index.md
+++ b/public/content/developers/docs/data-structures-and-encoding/rlp/index.md
@@ -62,7 +62,7 @@ def encode_length(L, offset):
elif L < 256**8:
BL = to_binary(L)
return chr(len(BL) + offset + 55) + BL
- raise Exception("input too long")
+ raise Exception("input too long")
def to_binary(x):
if x == 0:
diff --git a/public/content/developers/docs/data-structures-and-encoding/ssz/index.md b/public/content/developers/docs/data-structures-and-encoding/ssz/index.md
index 8427236d1df..26aef12220e 100644
--- a/public/content/developers/docs/data-structures-and-encoding/ssz/index.md
+++ b/public/content/developers/docs/data-structures-and-encoding/ssz/index.md
@@ -5,7 +5,7 @@ lang: en
sidebarDepth: 2
---
-**Simple serialize (SSZ)** is the serialization method used on the Beacon Chain. It replaces the RLP serialization used on the execution layer everywhere across the consensus layer except the peer discovery protocol. SSZ is designed to be deterministic and also to Merkleize efficiently. SSZ can be thought of as having two components: a serialization scheme and a Merkleization scheme that is designed to work efficiently with the serialized data structure.
+**Simple serialize (SSZ)** is the serialization method used on the Beacon Chain. It replaces the RLP serialization used on the execution layer everywhere across the consensus layer except the peer discovery protocol. To learn more about RLP serialization, see [Recursive-length prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp/). SSZ is designed to be deterministic and also to Merkleize efficiently. SSZ can be thought of as having two components: a serialization scheme and a Merkleization scheme that is designed to work efficiently with the serialized data structure.
## How does SSZ work? {#how-does-ssz-work}
diff --git a/public/content/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/developers/docs/design-and-ux/dex-design-best-practice/index.md
index 5d4fc3f0e59..05e659dfe1f 100644
--- a/public/content/developers/docs/design-and-ux/dex-design-best-practice/index.md
+++ b/public/content/developers/docs/design-and-ux/dex-design-best-practice/index.md
@@ -177,7 +177,7 @@ The law of proximity states that items that are close together are perceived as
Ultimately, there are pluses and minuses for both options, but it is interesting how the trend appears to be towards token on the right.
-# Button behavior {#button-behavior}
+## Button behavior {#button-behavior}
Don’t have a separate button for Approve. Also don’t have a separate click for Approve. The user wants to Swap, so just say “swap” on the button and initiate the approval as the first step. A modal can show progress with a stepper, or a simple “tx 1 of 2 - approving” notification.
@@ -185,7 +185,7 @@ Don’t have a separate button for Approve. Also don’t have a separate click f

-## Button as contextual help {#button-as-contextual-help}
+### Button as contextual help {#button-as-contextual-help}
The button can do double duty as an alert!
diff --git a/public/content/developers/docs/design-and-ux/heuristics-for-web3/index.md b/public/content/developers/docs/design-and-ux/heuristics-for-web3/index.md
index 41d3a665fd7..48e5300adb6 100644
--- a/public/content/developers/docs/design-and-ux/heuristics-for-web3/index.md
+++ b/public/content/developers/docs/design-and-ux/heuristics-for-web3/index.md
@@ -53,7 +53,7 @@ People care deeply about their data. Safety is often a primary concern for users
**Example:**
Include your audits in the footer, at a prominent size.
-
+
### 3. The most important info is obvious {#the-most-important-info-is-obvious}
diff --git a/public/content/developers/docs/design-and-ux/index.md b/public/content/developers/docs/design-and-ux/index.md
index ffbe988eeb8..07a060896f4 100644
--- a/public/content/developers/docs/design-and-ux/index.md
+++ b/public/content/developers/docs/design-and-ux/index.md
@@ -23,30 +23,27 @@ This is a curated list of user research done in web3 that may help with design a
| Area of focus | Name |
| :------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Crypto onboarding | [The WalletConnect Pulse 2024: Crypto Consumer Sentiment & Usage](https://walletconnect.com/pulse-2024-crypto-consumer-report) |
-| Crypto onboarding | [CRADL: UX in Cryptocurrency](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
-| Crypto onboarding | [CRADL: Onboarding to Cryptocurrency](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
-| Crypto onboarding | [Bitcoin UX report](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
-| Crypto onboarding | [ConSensys: The State of Web3 perception around the world 2023](https://consensys.io/insight-report/web3-and-crypto-global-survey-2023) |
-| Crypto onboarding | [NEAR: Accelerating the journey towards adoption](https://drive.google.com/file/d/1VuaQP4QSaQxR5ddQKTMGI0b0rWdP7uGn/view) |
-| Staking | [OpenUX: Rocket Pool Node Operator UX](https://storage.googleapis.com/rocketpool/RocketPool-NodeOperator-UX-Report-Jan-2024.pdf) |
-| Staking | [Staking: Key trends, takeaways, and predictions - Eth Staker](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
-| Staking | [Multi App Staking]() |
-| DAO | [2022 DAO Research Update: What do DAO Builders Need?](https://blog.aragon.org/2022-dao-research-update/) |
-| DeFi | [The state of Defi 2024](https://stateofdefi.org/) (ongoing survey) |
-| DeFi | [Coverage pools](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
-| DeFi | [ConSensys: DeFi User Research Report 2022](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
-| Metaverse | [Metaverse: User Research Report](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
-| Metaverse | [Going on Safari: Researching Users in the Metaverse](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube) (video, 27 min) |
-| Ethereum.org UX stats | [Usability and user satisfaction survey dashboard - Ethereum.org](https://lookerstudio.google.com/reporting/0a189a7c-a890-40db-a5c6-009db52c81c9) |
+| Crypto onboarding | [The Reown Pulse 2024: Crypto Consumer Sentiment & Usage](https://reown.com/blog/unveiling-walletconnects-consumer-crypto-report) |
+| Crypto onboarding | [CRADL: UX in Cryptocurrency](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
+| Crypto onboarding | [CRADL: Onboarding to Cryptocurrency](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
+| Crypto onboarding | [Bitcoin UX report](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
+| Crypto onboarding | [ConSensys: The State of Web3 perception around the world 2023](https://consensys.io/insight-report/web3-and-crypto-global-survey-2023) |
+| Crypto onboarding | [NEAR: Accelerating the journey towards adoption](https://drive.google.com/file/d/1VuaQP4QSaQxR5ddQKTMGI0b0rWdP7uGn/view) |
+| Staking | [OpenUX: Rocket Pool Node Operator UX](https://storage.googleapis.com/rocketpool/RocketPool-NodeOperator-UX-Report-Jan-2024.pdf) |
+| Staking | [Staking: Key trends, takeaways, and predictions - Eth Staker](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
+| Staking | [Multi App Staking]() |
+| DAO | [2022 DAO Research Update: What do DAO Builders Need?](https://blog.aragon.org/2022-dao-research-update/) |
+| DeFi | [Coverage pools](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
+| DeFi | [ConSensys: DeFi User Research Report 2022](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
+| Metaverse | [Metaverse: User Research Report](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
+| Metaverse | [Going on Safari: Researching Users in the Metaverse](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube) (video, 27 min) |
+| Ethereum.org UX stats | [Usability and user satisfaction survey dashboard - Ethereum.org](https://lookerstudio.google.com/reporting/0a189a7c-a890-40db-a5c6-009db52c81c9) |
## Design for web3 {#design-for-web3}
- [Web3 UX Design Handbook](https://web3ux.design/) - Practical guide to designing Web3 apps
- [Web3 Design Principles](https://medium.com/@lyricalpolymath/web3-design-principles-f21db2f240c1) - A framework of UX rules for blockchain based dapps
- [Blockchain Design Principles](https://medium.com/design-ibm/blockchain-design-principles-599c5c067b6e) - Lessons learned by the blockchain design team at IBM
-- [Web3 Design Patterns](https://www.web3designpatterns.io/)- A curated library of design patterns from real Web3 products
-- [W3design.io](https://w3design.io/) - A curated library of UI flows of different projects in the ecosystem
- [Neueux.com](https://neueux.com/apps) - UI library of user flows with diverse filtering options
- [Web3's Usability Crisis: What You NEED to Know!](https://www.youtube.com/watch?v=oBSXT_6YDzg) - A panel discussion on pitfalls of developer focused project building (video, 34 min)
@@ -58,7 +55,6 @@ This is a curated list of user research done in web3 that may help with design a
## Web3 Design Case Studies {#design-case-studies}
- [Deep Work Studio](https://deepwork.studio/case-studies/)
-- [Crypto UX Handbook](https://www.cryptouxhandbook.com/)
- [Selling an NFT on OpenSea](https://builtformars.com/case-studies/opensea)
- [Wallet UX teardown how wallets need to change](https://www.youtube.com/watch?v=oTpuxYj8JWI&ab_channel=ETHDenver) (video, 20 min)
@@ -74,12 +70,11 @@ Get involved in professional community-driven organizations or join design group
- [Vectordao.com](https://vectordao.com/)
- [Deepwork.studio](https://www.deepwork.studio/)
-- [Designer-dao.xyz](https://www.designer-dao.xyz/)
- [We3.co](https://we3.co/)
- [Openux.xyz](https://openux.xyz/)
- [Open Source Web3Design](https://www.web3designers.org/)
-## Design Systems {#design-systems}
+## Design Systems and other design resources {#design-systems-and-resources}
- [Optimism Design](https://www.figma.com/@optimism) (Figma)
- [Ethereum.org Design system](https://www.figma.com/@ethdotorg) (Figma)
diff --git a/public/content/developers/docs/development-networks/index.md b/public/content/developers/docs/development-networks/index.md
index 73e7cad8d4e..774bb9852cd 100644
--- a/public/content/developers/docs/development-networks/index.md
+++ b/public/content/developers/docs/development-networks/index.md
@@ -41,16 +41,15 @@ Hardhat Network comes built-in with Hardhat, an Ethereum development environment
Some consensus clients have built-in tools for spinning up local beacon chains for testing purposes. Instructions for Lighthouse, Nimbus and Lodestar are available:
-- [Local testnet using Lodestar](https://chainsafe.github.io/lodestar/usage/local/)
+- [Local testnet using Lodestar](https://chainsafe.github.io/lodestar/contribution/advanced-topics/setting-up-a-testnet#post-merge-local-testnet/)
- [Local testnet using Lighthouse](https://lighthouse-book.sigmaprime.io/setup.html#local-testnets)
- [Local testnet using Nimbus](https://github.com/status-im/nimbus-eth1/blob/master/fluffy/docs/local_testnet.md)
### Public Ethereum Test-chains {#public-beacon-testchains}
-There are also two maintained public test implementations of Ethereum: Goerli and Sepolia. The recommended testnet with long-term support is Goerli, which anyone is free to validate on. Sepolia is a newer, smaller chain also expected to be maintained for the foreseeable future, with a permissioned validator set (meaning there is no general access to new validators on this testnet). The Ropsten chain is expected to be deprecated in Q4 2022, and the Rinkeby chain is expected to be deprecated in Q2/Q3 2023.
+There are also two maintained public test implementations of Ethereum: Sepolia and Hoodi. The recommended testnet with long-term support is Hoodi, which anyone is free to validate on. Sepolia uses a permissioned validator set, meaning there is no general access to new validators on this testnet.
-- [Goerli Staking Launchpad](https://goerli.launchpad.ethereum.org/)
-- [Ropsten, Rinkeby & Kiln Deprecation Announcement](https://blog.ethereum.org/2022/06/21/testnet-deprecation)
+- [Hoodi Staking Launchpad](https://hoodi.launchpad.ethereum.org/)
### Kurtosis Ethereum Package {#kurtosis}
diff --git a/public/content/developers/docs/evm/index.md b/public/content/developers/docs/evm/index.md
index 92132062bc5..175b29698ae 100644
--- a/public/content/developers/docs/evm/index.md
+++ b/public/content/developers/docs/evm/index.md
@@ -4,7 +4,7 @@ description: An introduction to the Ethereum virtual machine and how it relates
lang: en
---
-The Ethereum Virtual Machine (EVM) is a decentralized virtual environment that executes code consistently and securely across all Ethereum nodes. Nodes run the EVM to execute smart contracts, using "[gas](/gas/)" to measure the computational effort required for [operations](/developers/docs/evm/opcodes/), ensuring efficient resource allocation and network security.
+The Ethereum Virtual Machine (EVM) is a decentralized virtual environment that executes code consistently and securely across all Ethereum nodes. Nodes run the EVM to execute smart contracts, using "[gas](/developers/docs/gas/)" to measure the computational effort required for [operations](/developers/docs/evm/opcodes/), ensuring efficient resource allocation and network security.
## Prerequisites {#prerequisites}
@@ -14,7 +14,7 @@ Some basic familiarity with common terminology in computer science such as [byte
The analogy of a 'distributed ledger' is often used to describe blockchains like Bitcoin, which enable a decentralized currency using fundamental tools of cryptography. The ledger maintains a record of activity which must adhere to a set of rules that govern what someone can and cannot do to modify the ledger. For example, a Bitcoin address cannot spend more Bitcoin than it has previously received. These rules underpin all transactions on Bitcoin and many other blockchains.
-While Ethereum has its own native cryptocurrency (Ether) that follows almost exactly the same intuitive rules, it also enables a much more powerful function: [smart contracts](/developers/docs/smart-contracts/). For this more complex feature, a more sophisticated analogy is required. Instead of a distributed ledger, Ethereum is a distributed [state machine](https://wikipedia.org/wiki/Finite-state_machine). Ethereum's state is a large data structure which holds not only all accounts and balances, but a _machine state_, which can change from block to block according to a pre-defined set of rules, and which can execute arbitrary machine code. The specific rules of changing state from block to block are defined by the EVM.
+While Ethereum has its own native cryptocurrency (ether) that follows almost exactly the same intuitive rules, it also enables a much more powerful function: [smart contracts](/developers/docs/smart-contracts/). For this more complex feature, a more sophisticated analogy is required. Instead of a distributed ledger, Ethereum is a distributed [state machine](https://wikipedia.org/wiki/Finite-state_machine). Ethereum's state is a large data structure which holds not only all accounts and balances, but a _machine state_, which can change from block to block according to a pre-defined set of rules, and which can execute arbitrary machine code. The specific rules of changing state from block to block are defined by the EVM.

_Diagram adapted from [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
diff --git a/public/content/developers/docs/evm/opcodes/index.md b/public/content/developers/docs/evm/opcodes/index.md
index b9b3022e78b..d3599eb10e6 100644
--- a/public/content/developers/docs/evm/opcodes/index.md
+++ b/public/content/developers/docs/evm/opcodes/index.md
@@ -18,7 +18,7 @@ For operations with dynamic gas costs, see [gas.md](https://github.com/wolflo/ev
💡 Quick tip: To view entire lines, use `[shift] + scroll` to scroll horizontally on desktop.
| Stack | Name | Gas | Initial Stack | Resulting Stack | Mem / Storage | Notes |
-| :---: | :------------- | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------- | :------------------------------ | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
+| :---: | :------------- | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------- | :------------------------------ | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |
| 00 | STOP | 0 | | | | halt execution |
| 01 | ADD | 3 | `a, b` | `a + b` | | (u)int256 addition modulo 2\*\*256 |
| 02 | MUL | 5 | `a, b` | `a * b` | | (u)int256 multiplication modulo 2\*\*256 |
diff --git a/public/content/developers/docs/gas/index.md b/public/content/developers/docs/gas/index.md
index 2b6cedb16c8..9c9356b96c0 100644
--- a/public/content/developers/docs/gas/index.md
+++ b/public/content/developers/docs/gas/index.md
@@ -1,5 +1,6 @@
---
title: Gas and fees
+metaTitle: "Ethereum gas and fees: technical overview"
description:
lang: en
---
@@ -107,7 +108,7 @@ _Diagram adapted from [Ethereum EVM illustrated](https://takenobu-hs.github.io/d
The gas limit refers to the maximum amount of gas you are willing to consume on a transaction. More complicated transactions involving [smart contracts](/developers/docs/smart-contracts/) require more computational work, so they require a higher gas limit than a simple payment. A standard ETH transfer requires a gas limit of 21,000 units of gas.
-For example, if you put a gas limit of 50,000 for a simple ETH transfer, the EVM would consume 21,000, and you would get back the remaining 29,000. However, if you specify too little gas, for example, a gas limit of 20,000 for a simple ETH transfer, the EVM will consume your 20,000 gas units attempting to fulfill the transaction, but it will not complete. The EVM then reverts any changes, but since the validator has already done 20k gas units worth of work, that gas is consumed.
+For example, if you put a gas limit of 50,000 for a simple ETH transfer, the EVM would consume 21,000, and you would get back the remaining 29,000. However, if you specify too little gas, for example, a gas limit of 20,000 for a simple ETH transfer, the transaction will fail during the validation phase. It will be rejected before being included in a block, and no gas will be consumed. On the other hand, if a transaction runs out of gas during execution (e.g., a smart contract uses up all the gas halfway), the EVM will revert any changes, but all the gas provided will still be consumed for the work performed.
## Why can gas fees get so high? {#why-can-gas-fees-get-so-high}
@@ -124,6 +125,7 @@ Layer 2 scaling is a primary initiative to greatly improve gas costs, user exper
If you want to monitor gas prices, so you can send your ETH for less, you can use many different tools such as:
- [Etherscan](https://etherscan.io/gastracker) _Transaction gas price estimator_
+- [Blockscout](https://eth.blockscout.com/gas-tracker) _Open source transaction gas price estimator_
- [ETH Gas Tracker](https://www.ethgastracker.com/) _Monitor and track the Ethereum, and L2 gas prices to reduce transaction fees and save money_
- [Blocknative ETH Gas Estimator](https://chrome.google.com/webstore/detail/blocknative-eth-gas-estim/ablbagjepecncofimgjmdpnhnfjiecfm) _Gas estimating Chrome extension supporting both Type 0 legacy transactions and Type 2 EIP-1559 transactions._
- [Cryptoneur Gas Fees Calculator](https://www.cryptoneur.xyz/gas-fees-calculator) _Calculate gas fees in your local currency for different transaction types on Mainnet, Arbitrum, and Polygon._
@@ -139,4 +141,5 @@ If you want to monitor gas prices, so you can send your ETH for less, you can us
- [Proof of Stake versus Proof of Work](https://blockgeeks.com/guides/proof-of-work-vs-proof-of-stake/)
- [Gas Optimization Strategies for Developers](https://www.alchemy.com/overviews/solidity-gas-optimization)
- [EIP-1559 docs](https://eips.ethereum.org/EIPS/eip-1559).
-- [Tim Beiko's EIP-1559 Resources](https://hackmd.io/@timbeiko/1559-resources).
+- [Tim Beiko's EIP-1559 Resources](https://hackmd.io/@timbeiko/1559-resources)
+- [EIP-1559: Separating Mechanisms From Memes](https://research.2077.xyz/eip-1559-separating-mechanisms-from-memes)
diff --git a/public/content/developers/docs/intro-to-ether/index.md b/public/content/developers/docs/intro-to-ether/index.md
index 6ecff1f4d17..5c857bffec4 100644
--- a/public/content/developers/docs/intro-to-ether/index.md
+++ b/public/content/developers/docs/intro-to-ether/index.md
@@ -1,5 +1,5 @@
---
-title: Intro to ether
+title: Technical intro to ether
description: A developer's introduction to the ether cryptocurrency.
lang: en
---
@@ -38,9 +38,9 @@ Ether is minted as a reward for each block proposed and at every epoch checkpoin
As well as creating ether through block rewards, ether can be destroyed through a process called 'burning'. When ether gets burned, it gets removed from circulation permanently.
-Ether burn occurs in every transaction on Ethereum. When users pay for their transactions, a base gas fee, set by the network according to transactional demand, gets destroyed. This, coupled with variable block sizes and a maximum gas fee, simplifies transaction fee estimation on Ethereum. When network demand is high, [blocks](https://etherscan.io/block/12965263) can burn more ether than they mint, effectively offsetting ether issuance.
+Ether burn occurs in every transaction on Ethereum. When users pay for their transactions, a base gas fee, set by the network according to transactional demand, gets destroyed. This, coupled with variable block sizes and a maximum gas fee, simplifies transaction fee estimation on Ethereum. When network demand is high, [blocks](https://eth.blockscout.com/block/22580057) can burn more ether than they mint, effectively offsetting ether issuance.
-Burning the base fee hinders a block producer's ability to manipulate transactions. For example, if block producers received the base fee, they could include their own transactions for free and raise the base fee for everyone else. Alternatively, they could refund the base fee to some users off-chain, leading to a more opaque and complex transaction fee market.
+Burning the base fee hinders a block producer's ability to manipulate transactions. For example, if block producers received the base fee, they could include their own transactions for free and raise the base fee for everyone else. Alternatively, they could refund the base fee to some users offchain, leading to a more opaque and complex transaction fee market.
## Denominations of ether {#denominations}
@@ -67,11 +67,11 @@ When the recipient address is a [smart contract](/developers/docs/smart-contract
Users can query the ether balance of any [account](/developers/docs/accounts/) by inspecting the account's `balance` field, which shows ether holdings denominated in wei.
-[Etherscan](https://etherscan.io) is a popular tool to inspect address balances via a web-based application. For example, [this Etherscan page](https://etherscan.io/address/0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae) shows the balance for the Ethereum Foundation. Account balances can also be queried using wallets or directly by making requests to nodes.
+[Etherscan](https://etherscan.io) and [Blockscout](https://eth.blockscout.com) are popular tools to inspect address balances via web-based applications. For example, [this Blockscout page](https://eth.blockscout.com/address/0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe) shows the balance for the Ethereum Foundation. Account balances can also be queried using wallets or directly by making requests to nodes.
## Further reading {#further-reading}
-- [Defining Ether and Ethereum](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _CME Group_
+- [Defining ether and Ethereum](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _CME Group_
- [Ethereum Whitepaper](/whitepaper/): The original proposal for Ethereum. This document includes a description of ether and the motivations behind its creation.
- [Gwei Calculator](https://www.alchemy.com/gwei-calculator): Use this gwei calculator to easily convert wei, gwei, and ether. Simply plug in any amount of wei, gwei, or ETH and automatically calculate the conversion.
diff --git a/public/content/developers/docs/intro-to-ethereum/index.md b/public/content/developers/docs/intro-to-ethereum/index.md
index 56cbee11a9b..a2158773077 100644
--- a/public/content/developers/docs/intro-to-ethereum/index.md
+++ b/public/content/developers/docs/intro-to-ethereum/index.md
@@ -1,5 +1,5 @@
---
-title: Intro to Ethereum
+title: Technical intro to Ethereum
description: A dapp developer's introduction to the core concepts of Ethereum.
lang: en
---
@@ -109,6 +109,14 @@ A reusable snippet of code (a program) which a developer publishes into EVM stat
- [Ethereum Whitepaper](/whitepaper/)
- [How does Ethereum work, anyway?](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369) - _Preethi Kasireddy_ (**NB** this resource is still valuable but be aware that it predates [The Merge](/roadmap/merge) and therefore still refers to Ethereum's proof-of-work mechanism - Ethereum is actually now secured using [proof-of-stake](/developers/docs/consensus-mechanisms/pos))
+### More of a visual learner? {#visual-learner}
+
+This video series offers a thorough exploration of foundational topics:
+
+
+
+[Ethereum Basics Playlist](https://youtube.com/playlist?list=PLqgutSGloqiJyyoL0zvLVFPS-GMD2wKa5&si=kZTf5I7PKGTXDsOZ)
+
_Know of a community resource that helped you? Edit this page and add it!_
## Related tutorials {#related-tutorials}
diff --git a/public/content/developers/docs/mev/index.md b/public/content/developers/docs/mev/index.md
index 68483f19370..c2771a6d427 100644
--- a/public/content/developers/docs/mev/index.md
+++ b/public/content/developers/docs/mev/index.md
@@ -12,7 +12,7 @@ Maximal extractable value was first applied in the context of [proof-of-work](/d
## Prerequisites {#prerequisites}
-Make sure you're familiar with [transactions](/developers/docs/transactions/), [blocks](/developers/docs/blocks/), [proof-of-stake](/developers/docs/consensus-mechanisms/pos) and [gas](/developers/docs/gas/). Familiarity with [dapps](/dapps/) and [DeFi](/defi/) is helpful as well.
+Make sure you're familiar with [transactions](/developers/docs/transactions/), [blocks](/developers/docs/blocks/), [proof-of-stake](/developers/docs/consensus-mechanisms/pos) and [gas](/developers/docs/gas/). Familiarity with [dapps](/apps/) and [DeFi](/defi/) is helpful as well.
## MEV extraction {#mev-extraction}
@@ -26,7 +26,7 @@ With that, for some highly competitive MEV opportunities, such as [DEX arbitrage
This dynamic has made being good at "gas golfing" — programming transactions so that they use the least amount of gas — a competitive advantage, because it allows searchers to set a higher gas price while keeping their total gas fees constant (since gas fees = gas price \* gas used).
-A few well-known gas golf techniques include: using addresses that start with a long string of zeroes (e.g. [0x0000000000C521824EaFf97Eac7B73B084ef9306](https://etherscan.io/address/0x0000000000c521824eaff97eac7b73b084ef9306)) since they take less space (and hence gas) to store; and leaving small [ERC-20](/developers/docs/standards/tokens/erc-20/) token balances in contracts, since it costs more gas to initialize a storage slot (the case if the balance is 0) than to update a storage slot. Finding more techniques to reduce gas usage is an active area of research among searchers.
+A few well-known gas golf techniques include: using addresses that start with a long string of zeroes (e.g. [0x0000000000C521824EaFf97Eac7B73B084ef9306](https://eth.blockscout.com/address/0x0000000000C521824EaFf97Eac7B73B084ef9306)) since they take less space (and hence gas) to store; and leaving small [ERC-20](/developers/docs/standards/tokens/erc-20/) token balances in contracts, since it costs more gas to initialize a storage slot (the case if the balance is 0) than to update a storage slot. Finding more techniques to reduce gas usage is an active area of research among searchers.
### Generalized frontrunners {#mev-extraction-generalized-frontrunners}
@@ -46,7 +46,7 @@ MEV emerges on the blockchain in a few ways.
It works like this: if two DEXes are offering a token at two different prices, someone can buy the token on the lower-priced DEX and sell it on the higher-priced DEX in a single, atomic transaction. Thanks to the mechanics of the blockchain, this is true, riskless arbitrage.
-[Here's an example](https://etherscan.io/tx/0x5e1657ef0e9be9bc72efefe59a2528d0d730d478cfc9e6cdd09af9f997bb3ef4) of a profitable arbitrage transaction where a searcher turned 1,000 ETH into 1,045 ETH by taking advantage of different pricing of the ETH/DAI pair on Uniswap vs. Sushiswap.
+[Here's an example](https://eth.blockscout.com/tx/0x5e1657ef0e9be9bc72efefe59a2528d0d730d478cfc9e6cdd09af9f997bb3ef4) of a profitable arbitrage transaction where a searcher turned 1,000 ETH into 1,045 ETH by taking advantage of different pricing of the ETH/DAI pair on Uniswap vs. Sushiswap.
### Liquidations {#mev-examples-liquidations}
@@ -78,7 +78,7 @@ However, since NFT transactions happen on the same blockchain shared by all othe
For example, if there's a popular NFT drop and a searcher wants a certain NFT or set of NFTs, they can program a transaction such that they are the first in line to buy the NFT, or they can buy the entire set of NFTs in a single transaction. Or if an NFT is [mistakenly listed at a low price](https://www.theblockcrypto.com/post/113546/mistake-sees-69000-cryptopunk-sold-for-less-than-a-cent), a searcher can frontrun other purchasers and snap it up for cheap.
-One prominent example of NFT MEV occurred when a searcher spent $7 million to [buy](https://etherscan.io/address/0x650dCdEB6ecF05aE3CAF30A70966E2F395d5E9E5) every single Cryptopunk at the price floor. A blockchain researcher [explained on Twitter](https://twitter.com/IvanBogatyy/status/1422232184493121538) how the buyer worked with an MEV provider to keep their purchase secret.
+One prominent example of NFT MEV occurred when a searcher spent $7 million to [buy](https://eth.blockscout.com/address/0x650dCdEB6ecF05aE3CAF30A70966E2F395d5E9E5?tab=txs) every single Cryptopunk at the price floor. A blockchain researcher [explained on Twitter](https://twitter.com/IvanBogatyy/status/1422232184493121538) how the buyer worked with an MEV provider to keep their purchase secret.
### The long tail {#mev-examples-long-tail}
@@ -108,7 +108,7 @@ This possibility of blockchain re-organization has been [previously explored on
## State of MEV {#state-of-mev}
-MEV extraction ballooned in early 2021, resulting in extremely high gas prices in the first few months of the year. The emergence of Flashbots's MEV relay has reduced the effectiveness of generalized frontrunners and has taken gas price auctions off-chain, lowering gas prices for ordinary users.
+MEV extraction ballooned in early 2021, resulting in extremely high gas prices in the first few months of the year. The emergence of Flashbots's MEV relay has reduced the effectiveness of generalized frontrunners and has taken gas price auctions offchain, lowering gas prices for ordinary users.
While many searchers are still making good money from MEV, as opportunities become more well-known and more and more searchers compete for the same opportunity, validators will capture more and more total MEV revenue (because the same sort of gas auctions as originally described above also occur in Flashbots, albeit privately, and validators will capture the resulting gas revenue). MEV is also not unique to Ethereum, and as opportunities become more competitive on Ethereum, searchers are moving to alternate blockchains like Binance Smart Chain, where similar MEV opportunities as those on Ethereum exist with less competition.
@@ -130,7 +130,7 @@ With fewer resources at their disposal, solo stakers may be unable to profit fro
### Permissioned mempools {#permissioned-mempools}
-In response to sandwiching and frontrunning attacks, traders may start conducting off-chain deals with validators for transaction privacy. Instead of sending a potential MEV transaction to the public mempool, the trader sends it directly to the validator, who includes it in a block and splits profits with the trader.
+In response to sandwiching and frontrunning attacks, traders may start conducting offchain deals with validators for transaction privacy. Instead of sending a potential MEV transaction to the public mempool, the trader sends it directly to the validator, who includes it in a block and splits profits with the trader.
“Dark pools” are a larger version of this arrangement and function as permissioned, access-only mempools open to users willing to pay certain fees. This trend would diminish Ethereum’s permissionlessness and trustlessness and potentially transform the blockchain into a “pay-to-play” mechanism that favors the highest bidder.
@@ -156,7 +156,7 @@ In-protocol proposer-builder separation reduces MEV’s effect on consensus by r
This doesn’t exclude validators totally from MEV-related income, though, as builders must bid high to get their blocks accepted by validators. Nevertheless, with validators no longer directly focused on optimizing MEV income, the threat of time-bandit attacks reduces.
-Proposer-builder separation also reduces MEV’s centralization risks. For instance, the use of a commit-reveal scheme removes the need for builders to trust validators not to steal the MEV opportunity or expose it to other builders. This lowers the barrier for solo stakers to benefit from MEV, otherwise, builders would trend towards favoring large pools with off-chain reputation and conducting off-chain deals with them.
+Proposer-builder separation also reduces MEV’s centralization risks. For instance, the use of a commit-reveal scheme removes the need for builders to trust validators not to steal the MEV opportunity or expose it to other builders. This lowers the barrier for solo stakers to benefit from MEV, otherwise, builders would trend towards favoring large pools with offchain reputation and conducting offchain deals with them.
Similarly, validators don’t have to trust builders not to withhold block bodies or publish invalid blocks because payment is unconditional. The validator’s fee still processes even if the proposed block is unavailable or declared invalid by other validators. In the latter case, the block is simply discarded, forcing the block builder to lose all transaction fees and MEV revenue.
diff --git a/public/content/developers/docs/networking-layer/network-addresses/index.md b/public/content/developers/docs/networking-layer/network-addresses/index.md
index 5a8b5c5c1b6..3c09ed6e85e 100644
--- a/public/content/developers/docs/networking-layer/network-addresses/index.md
+++ b/public/content/developers/docs/networking-layer/network-addresses/index.md
@@ -23,7 +23,7 @@ For an Ethereum node, the multiaddr contains the node-ID (a hash of their public
## Enode {#enode}
-An enode is a way to identify an Ethereum node using a URL address format. The hexadecimal node-ID is encoded in the username portion of the URL separated from the host using an @ sign. The hostname can only be given as an IP address; DNS names are not allowed. The port in the hostname section is the TCP listening port. If the TCP and UDP (discovery) ports differ, the UDP port is specified as a query parameter "discport"
+An enode is a way to identify an Ethereum node using a URL address format. The hexadecimal node-ID is encoded in the username portion of the URL separated from the host using an @ sign. The hostname can only be given as an IP address; DNS names are not allowed. The port in the hostname section is the TCP listening port. If the TCP and UDP (discovery) ports differ, the UDP port is specified as a query parameter "discport".
In the following example, the node URL describes a node with IP address `10.3.58.6`, TCP port `30303` and UDP discovery port `30301`.
@@ -35,6 +35,6 @@ Ethereum Node Records (ENRs) are a standardized format for network addresses on
## Further Reading {#further-reading}
-[EIP-778: Ethereum Node Records (ENR)](https://eips.ethereum.org/EIPS/eip-778)
-[Network addresses in Ethereum](https://dean.eigenmann.me/blog/2020/01/21/network-addresses-in-ethereum/)
-[LibP2P: Multiaddr-Enode-ENR?!](https://consensys.net/diligence/blog/2020/09/libp2p-multiaddr-enode-enr/)
+- [EIP-778: Ethereum Node Records (ENR)](https://eips.ethereum.org/EIPS/eip-778)
+- [Network addresses in Ethereum](https://dean.eigenmann.me/blog/2020/01/21/network-addresses-in-ethereum/)
+- [LibP2P: Multiaddr-Enode-ENR?!](https://consensys.net/diligence/blog/2020/09/libp2p-multiaddr-enode-enr/)
diff --git a/public/content/developers/docs/networking-layer/portal-network/index.md b/public/content/developers/docs/networking-layer/portal-network/index.md
index 2d4d822267b..9358af08072 100644
--- a/public/content/developers/docs/networking-layer/portal-network/index.md
+++ b/public/content/developers/docs/networking-layer/portal-network/index.md
@@ -55,7 +55,7 @@ The benefits of this network design are:
- reduce dependence on centralized providers
- Reduce Internet bandwidth usage
- Minimized or zero syncing
-- Accessible to resource-constrained devices (<1 GB RAM, <100 MB disk space, 1 CPU)
+- Accessible to resource-constrained devices (\<1 GB RAM, \<100 MB disk space, 1 CPU)
The diagram below shows the functions of existing clients that can be delivered by the Portal Network, enabling users to access these functions on very low-resource devices.
@@ -74,7 +74,7 @@ The Portal Network developers also made the design choice to build three separat
The Portal Network clients are:
- [Trin](https://github.com/ethereum/trin): written in Rust
-- [Fluffy](https://nimbus.team/docs/fluffy.html): written in Nim
+- [Fluffy](https://fluffy.guide): written in Nim
- [Ultralight](https://github.com/ethereumjs/ultralight): written in Typescript
- [Shisui](https://github.com/optimism-java/shisui): written in Go
@@ -82,7 +82,7 @@ Having multiple independent client implementations enhances the resilience and d
If one client experiences issues or vulnerabilities, other clients can continue to operate smoothly, preventing a single point of failure. Additionally, diverse client implementations foster innovation and competition, driving improvements and reducing monoculture risk within the ecosystem.
-## Further reading {#futher-reading}
+## Further reading {#further-reading}
- [The Portal Network (Piper Merriam at Devcon Bogota)](https://www.youtube.com/watch?v=0stc9jnQLXA).
- [The Portal Network discord](https://discord.gg/CFFnmE7Hbs)
diff --git a/public/content/developers/docs/networks/index.md b/public/content/developers/docs/networks/index.md
index fa0b8ae9bf6..b6367551854 100644
--- a/public/content/developers/docs/networks/index.md
+++ b/public/content/developers/docs/networks/index.md
@@ -34,16 +34,11 @@ ETH on testnets is supposed to have no real value; however, there have been mark
#### Which Testnet should I use?
-The two public testnets that client developers are currently maintaining are Sepolia and Goerli. Sepolia is a network for contract and application developers to test their applications. The Goerli network lets protocol developers test network upgrades, and lets stakers test running validators.
+The two public testnets that client developers are currently maintaining are Sepolia and Hoodi. Sepolia is a network for contract and application developers to test their applications. The Hoodi network lets protocol developers test network upgrades, and lets stakers test running validators.
#### Sepolia {#sepolia}
-**Sepolia is the recommended default testnet for application development**.
-The Sepolia network uses a permissioned validator set. It's fairly new, meaning its state and history are both quite small. This means the network is quick to sync to and that running a node on it requires less storage. This is useful for users who want to quickly spin up a node and interact with the network directly.
-
-- Closed validator set, controlled by client & testing teams
-- New testnet, less applications deployed than other testnets
-- Fast to sync and running a node requires minimal disk space
+**Sepolia is the recommended default testnet for application development**. The Sepolia network uses a permissioned validator set controlled by client & testing teams.
##### Resources
@@ -55,20 +50,18 @@ The Sepolia network uses a permissioned validator set. It's fairly new, meaning
##### Faucets
-- [QuickNode Sepolia Faucet](https://faucet.quicknode.com/drip)
+- [QuickNode Sepolia Faucet](https://faucet.quicknode.com/ethereum/sepolia)
- [Grabteeth](https://grabteeth.xyz/)
- [PoW faucet](https://sepolia-faucet.pk910.de/)
-- [Coinbase Wallet Faucet | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet)
-- [Alchemy Sepolia faucet](https://sepoliafaucet.com/)
+- [Alchemy Sepolia faucet](https://www.alchemy.com/faucets/ethereum-sepolia)
- [Infura Sepolia faucet](https://www.infura.io/faucet)
-- [Chainstack Sepolia faucet](https://faucet.chainstack.com/sepolia-faucet)
+- [Chainstack Sepolia faucet](https://faucet.chainstack.com/sepolia-testnet-faucet)
- [Ethereum Ecosystem faucet](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
+- [Google Cloud Web3 Sepolia faucet](https://cloud.google.com/application/web3/faucet/ethereum/sepolia)
-#### Goerli _(long-term support)_ {#goerli}
-
-_Note: [the Goerli testnet is deprecated](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) and will be replaced by [Holesovice](https://github.com/eth-clients/holesovice) in 2023. Please consider migrating your applications to Sepolia._
+#### Hoodi {#hoodi}
-Goerli is a testnet for testing validating and staking. The Goerli network is open for users wanting to run a testnet validator. Stakers wanting to test protocol upgrades before they are deployed to mainnet should therefore use Goerli.
+Hoodi is a testnet for testing validating and staking. The Hoodi network is open for users wanting to run a testnet validator. Stakers wanting to test protocol upgrades before they are deployed to mainnet should therefore use Hoodi.
- Open validator set, stakers can test network upgrades
- Large state, useful for testing complex smart contract interactions
@@ -76,52 +69,116 @@ Goerli is a testnet for testing validating and staking. The Goerli network is op
##### Resources
-- [Website](https://goerli.net/)
-- [GitHub](https://github.com/eth-clients/goerli)
-- [Etherscan](https://goerli.etherscan.io)
-- [Blockscout](https://eth-goerli.blockscout.com/)
+- [Website](https://hoodi.ethpandaops.io/)
+- [GitHub](https://github.com/eth-clients/hoodi)
+- [Explorer](https://explorer.hoodi.ethpandaops.io/)
+- [Checkpoint Sync](https://checkpoint-sync.hoodi.ethpandaops.io/)
+- [Otterscan](https://hoodi.otterscan.io/)
+- [Etherscan](https://hoodi.etherscan.io/)
+- [Blockscout](https://hoodi.cloud.blockscout.com/)
##### Faucets
-- [QuickNode Goerli Faucet](https://faucet.quicknode.com/drip)
-- [Grabteeth](https://grabteeth.xyz/)
-- [PoW faucet](https://goerli-faucet.pk910.de/)
-- [Paradigm faucet](https://faucet.paradigm.xyz/)
-- [Alchemy Goerli Faucet](https://goerlifaucet.com/)
-- [All That Node Goerli Faucet](https://www.allthatnode.com/faucet/ethereum.dsrv)
-- [Coinbase Wallet Faucet | Goerli](https://coinbase.com/faucets/ethereum-goerli-faucet)
-- [Chainstack Goerli faucet](https://faucet.chainstack.com/goerli-faucet)
+- [Hoodi Faucet](https://hoodi.ethpandaops.io/)
+- [PoW faucet](https://hoodi-faucet.pk910.de/)
+
+#### Ephemery {#ephemery}
+
+Ephemery is a unique kind of testnet that fully resets every month. The execution and consensus state reverts back to genesis every 28 days, which means anything that happens on the testnet is ephemeral. This makes it ideal for a short term testing, fast node bootstrap and 'hello world' kind of applications that don't need permanence.
+
+- Always fresh state, short term testing of validators and apps
+- Includes only basic set of contracts
+- Open validator set and easy to access large amounts of funds
+- Smallest node requirements and quickest sync, <5GB on average
+
+##### Resources
+
+- [Website](https://ephemery.dev/)
+- [Github]( https://github.com/ephemery-testnet/ephemery-resources)
+- [Community chat](https://matrix.to/#/#staker-testnet:matrix.org)
+- [Blockscout](https://explorer.ephemery.dev/)
+- [Otterscan](https://otter.bordel.wtf/)
+- [Beacon explorer](https://beaconlight.ephemery.dev/)
+- [Checkpoint Sync](https://checkpoint-sync.ephemery.ethpandaops.io)
+- [Launchpad]( https://launchpad.ephemery.dev/)
+
+#### Faucets
+
+- [Bordel Faucet](https://faucet.bordel.wtf/)
+- [Pk910 PoW Faucet](https://ephemery-faucet.pk910.de/)
+
+#### Holesky {#holesky}
+
+The Holesky testnet will be [deprecated in September 2025](https://blog.ethereum.org/en/2025/03/18/hoodi-holesky). Staking operators and infrastructure providers should use Hoodi for validator testing instead.
+
+##### Resources
+
+- [Website](https://holesky.ethpandaops.io/)
+- [GitHub](https://github.com/eth-clients/holesky)
+- [Otterscan](https://holesky.otterscan.io/)
+- [Etherscan](https://holesky.etherscan.io/)
+- [Blockscout](https://eth-holesky.blockscout.com/)
+
+##### Faucets
-To launch a Validator on Holesky testnet, use ethstaker's ["cheap Holesky validator" launchpad](https://holesky.launchpad.ethstaker.cc/en/).
+- [QuickNode Holesky Faucet](https://faucet.quicknode.com/ethereum/holesky)
+- [PoW faucet](https://holesky-faucet.pk910.de/)
+- [Alchemy Holesky Faucet](https://www.alchemy.com/faucets/ethereum-holesky)
+- [Chainstack Holesky faucet](https://faucet.chainstack.com/holesky-testnet-faucet)
+- [Ethereum Ecosystem faucet](https://www.ethereum-ecosystem.com/faucets/ethereum-holesky)
+- [Google Cloud Web3 Holesky faucet](https://cloud.google.com/application/web3/faucet/ethereum/holesky)
+
+To launch a Validator on Hoodi testnet, use [Hoodi launchpad](https://hoodi.launchpad.ethereum.org/en/).
### Layer 2 testnets {#layer-2-testnets}
[Layer 2 (L2)](/layer-2/) is a collective term to describe a specific set of Ethereum scaling solutions. A layer 2 is a separate blockchain that extends Ethereum and inherits the security guarantees of Ethereum. Layer 2 testnets are usually tightly coupled to public Ethereum testnets.
-#### Arbitrum Goerli {#arbitrum-goerli}
+#### Arbitrum Sepolia {#arbitrum-sepolia}
A testnet for [Arbitrum](https://arbitrum.io/).
+##### Resources
+
+- [Etherscan](https://sepolia.arbiscan.io/)
+- [Blockscout](https://sepolia-explorer.arbitrum.io/)
+
##### Faucets
-- [Chainlink faucet](https://faucets.chain.link/)
+- [Chainlink faucet](https://faucets.chain.link/arbitrum-sepolia)
+- [Alchemy faucet](https://www.alchemy.com/faucets/arbitrum-sepolia)
+- [QuickNode Arbitrum Sepolia Faucet](https://faucet.quicknode.com/arbitrum/sepolia)
+- [Alchemy Arbitrum Sepolia Faucet](https://www.alchemy.com/faucets/arbitrum-sepolia)
+- [Chainlink Arbitrum Sepolia faucet](https://faucets.chain.link/arbitrum-sepolia)
-#### Optimistic Goerli {#optimistic-goerli}
+#### Optimistic Sepolia {#optimistic-sepolia}
A testnet for [Optimism](https://www.optimism.io/).
+##### Resources
+
+- [Etherscan](https://sepolia-optimistic.etherscan.io/)
+- [Blockscout](https://optimism-sepolia.blockscout.com/)
+
##### Faucets
-- [Paradigm faucet](https://faucet.paradigm.xyz/)
-- [Coinbase Wallet Faucet | Optimism Goerli](https://coinbase.com/faucets/optimism-goerli-faucet)
+- [Chainlink faucet](https://faucets.chain.link/optimism-sepolia)
+- [Alchemy faucet](https://www.alchemy.com/faucets/optimism-sepolia)
+- [Testnet faucets](https://docs.optimism.io/builders/tools/build/faucets)
-#### Starknet Goerli {#starknet-goerli}
+#### Starknet Sepolia {#starknet-sepolia}
A testnet for [Starknet](https://www.starknet.io).
+##### Resources
+
+- [Starkscan](https://sepolia.starkscan.co/)
+
##### Faucets
-- [Starknet faucet](https://faucet.goerli.starknet.io)
+- [Alchemy faucet](https://www.alchemy.com/faucets/starknet-sepolia)
+- [Starknet faucet](https://starknet-faucet.vercel.app/)
+- [Blast Starknet Sepolia faucet](https://blastapi.io/faucets/starknet-sepolia-eth)
## Private networks {#private-networks}
diff --git a/public/content/developers/docs/nodes-and-clients/archive-nodes/index.md b/public/content/developers/docs/nodes-and-clients/archive-nodes/index.md
index 2cf47278c2c..297835b06d6 100644
--- a/public/content/developers/docs/nodes-and-clients/archive-nodes/index.md
+++ b/public/content/developers/docs/nodes-and-clients/archive-nodes/index.md
@@ -63,7 +63,7 @@ Apart from general [recommendations for running a node](/developers/docs/nodes-a
Always make sure to verify hardware requirements for a given mode in a client's documentation.
The biggest requirement for archive nodes is the disk space. Depending on client, it varies from 3TB to 12TB. Even if HDD might be considered a better solution for large amounts of data, syncing it and constantly updating the head of the chain will require SSD drives. [SATA](https://www.cleverfiles.com/help/sata-hard-drive.html) drives are good enough but it should be a reliable quality, at least [TLC](https://blog.synology.com/tlc-vs-qlc-ssds-what-are-the-differences). Disks can be fitted into a desktop computer or a server with enough slots. Such dedicated devices are ideal for running high uptime node. It's totally possible to run it on a laptop but the portability will come at an additional cost.
-All of the data needs to fit in one volume, therefore disks have to be joined, e.g. with [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) or [LVM](https://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/ch-lvm.html). It might be also worth considering using [ZFS](https://en.wikipedia.org/wiki/ZFS) as it supports "Copy-on-write" which ensures data is correctly written to the disk without any low level errors.
+All of the data needs to fit in one volume, therefore disks have to be joined, e.g. with [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) or LVM. It might be also worth considering using [ZFS](https://en.wikipedia.org/wiki/ZFS) as it supports "Copy-on-write" which ensures data is correctly written to the disk without any low level errors.
For more stability and security in preventing accidental database corruption, especially in a professional setup, consider using [ECC memory](https://en.wikipedia.org/wiki/ECC_memory) if your system supports it. The size of RAM is generally advised to be the same as for a full node but more RAM can help speed up the synchronization.
diff --git a/public/content/developers/docs/nodes-and-clients/client-diversity/index.md b/public/content/developers/docs/nodes-and-clients/client-diversity/index.md
index 57231954f26..cfa0a3da8d3 100644
--- a/public/content/developers/docs/nodes-and-clients/client-diversity/index.md
+++ b/public/content/developers/docs/nodes-and-clients/client-diversity/index.md
@@ -56,7 +56,7 @@ Until now, the conversation around client diversity has focused mainly on the co
## Use a minority client {#use-minority-client}
-Addressing client diversity requires more than individual users to choose minority clients - it requires mining/validator pools and institutions like the major dapps and exchanges to switch clients too. However, all users can do their part in redressing the current imbalance and normalizing the use of all the available Ethereum software. After The Merge, all node operators will be required to run an execution client and a consensus client. Choosing combinations of the clients suggested below will help increase client diversity.
+Addressing client diversity requires more than individual users to choose minority clients - it requires validator pools and institutions like the major dapps and exchanges to switch clients too. However, all users can do their part in redressing the current imbalance and normalizing the use of all the available Ethereum software. After The Merge, all node operators will be required to run an execution client and a consensus client. Choosing combinations of the clients suggested below will help increase client diversity.
### Execution clients {#execution-clients}
@@ -68,6 +68,8 @@ Addressing client diversity requires more than individual users to choose minori
[Go-Ethereum](https://geth.ethereum.org/)
+[Reth](https://reth.rs/)
+
### Consensus clients {#consensus-clients}
[Nimbus](https://nimbus.team/)
@@ -80,6 +82,8 @@ Addressing client diversity requires more than individual users to choose minori
[Prysm](https://docs.prylabs.network/docs/getting-started)
+[Grandine](https://docs.grandine.io/)
+
Technical users can help accelerate this process by writing more tutorials and documentation for minority clients and encouraging their node-operating peers to migrate away from the dominant clients. Guides for switching to a minority consensus client are available on [clientdiversity.org](https://clientdiversity.org/).
## Client diversity dashboards {#client-diversity-dashboards}
@@ -90,7 +94,8 @@ Several dashboards give real-time client diversity statistics for the execution
- [Rated.network](https://www.rated.network/)
- [clientdiversity.org](https://clientdiversity.org/)
- **Execution layer:**
+
+**Execution layer:**
- [supermajority.info](https://supermajority.info//)
- [Ethernodes](https://ethernodes.org/)
diff --git a/public/content/developers/docs/nodes-and-clients/index.md b/public/content/developers/docs/nodes-and-clients/index.md
index 5da1a93f3a9..fe95fc21430 100644
--- a/public/content/developers/docs/nodes-and-clients/index.md
+++ b/public/content/developers/docs/nodes-and-clients/index.md
@@ -49,6 +49,7 @@ Multiple trackers offer a real-time overview of nodes in the Ethereum network. N
- [Ethernodes](https://ethernodes.org/) by Bitfly
- [Nodewatch](https://www.nodewatch.io/) by Chainsafe, crawling consensus nodes
- [Monitoreth](https://monitoreth.io/) - by MigaLabs, A distributed network monitoring tool
+- [Weekly Network Health Reports](https://probelab.io) - by ProbeLab, Using the [Nebula crawler](https://github.com/dennis-tra/nebula) and other tools
## Node types {#node-types}
@@ -67,7 +68,7 @@ Full nodes do a block-by-block validation of the blockchain, including downloadi
Archive nodes are full nodes that verify every block from genesis and never delete any of the downloaded data.
-- Stores everything kept in the full node and builds an archive of historical states. It is needed if you want to query something like an account balance at block #4,000,000, or simply and reliably test your own transactions set without mining them using tracing.
+- Stores everything kept in the full node and builds an archive of historical states. It is needed if you want to query something like an account balance at block #4,000,000, or simply and reliably test your own transactions set without validating them using tracing.
- This data represents units of terabytes, which makes archive nodes less attractive for average users but can be handy for services like block explorers, wallet vendors, and chain analytics.
Syncing clients in any mode other than archive will result in pruned blockchain data. This means, there is no archive of all historical states but the full node is able to build them on demand.
@@ -76,7 +77,7 @@ Learn more about [Archive nodes](/developers/docs/nodes-and-clients/archive-node
### Light node {#light-node}
-Instead of downloading every block, light nodes only download block headers. These headers contain summary information about the contents of the blocks. Any other information the light node requires gets requested from a full node. The light node can then independently verify the data they receive against the state roots in the block headers. Light nodes enable users to participate in the Ethereum network without the powerful hardware or high bandwidth required to run full nodes. Eventually, light nodes might run on mobile phones or embedded devices. The light nodes do not participate in consensus (i.e. they cannot be miners/validators), but they can access the Ethereum blockchain with the same functionality and security guarantees as a full node.
+Instead of downloading every block, light nodes only download block headers. These headers contain summary information about the contents of the blocks. Any other information the light node requires gets requested from a full node. The light node can then independently verify the data they receive against the state roots in the block headers. Light nodes enable users to participate in the Ethereum network without the powerful hardware or high bandwidth required to run full nodes. Eventually, light nodes might run on mobile phones or embedded devices. The light nodes do not participate in consensus (i.e. they cannot be validators), but they can access the Ethereum blockchain with the same functionality and security guarantees as a full node.
Light clients are an area of active development for Ethereum and we expect to see new light clients for the consensus layer and execution layer soon.
There are also potential routes to providing light client data over the [gossip network](https://www.ethportal.net/). This is advantageous because the gossip network could support a network of light nodes without requiring full nodes to serve requests.
@@ -194,14 +195,14 @@ Learn more about it by reading its [documentation](https://github.com/ethereumjs
There are multiple consensus clients (previously known as 'Eth2' clients) to support the [consensus upgrades](/roadmap/beacon-chain/). They are responsible for all consensus-related logic including the fork-choice algorithm, processing attestations and managing [proof-of-stake](/developers/docs/consensus-mechanisms/pos) rewards and penalties.
-| Client | Language | Operating systems | Networks |
-| ------------------------------------------------------------- | ---------- | --------------------- | ----------------------------------------------------------------- |
-| [Lighthouse](https://lighthouse.sigmaprime.io/) | Rust | Linux, Windows, macOS | Beacon Chain, Goerli, Pyrmont, Sepolia, Ropsten, and more |
-| [Lodestar](https://lodestar.chainsafe.io/) | TypeScript | Linux, Windows, macOS | Beacon Chain, Goerli, Sepolia, Ropsten, and more |
-| [Nimbus](https://nimbus.team/) | Nim | Linux, Windows, macOS | Beacon Chain, Goerli, Sepolia, Ropsten, and more |
-| [Prysm](https://docs.prylabs.network/docs/getting-started/) | Go | Linux, Windows, macOS | Beacon Chain, Gnosis, Goerli, Pyrmont, Sepolia, Ropsten, and more |
-| [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) | Java | Linux, Windows, macOS | Beacon Chain, Gnosis, Goerli, Sepolia, Ropsten, and more |
-| [Grandine](https://docs.grandine.io/) (beta) | Rust | Linux, Windows, macOS | Beacon Chain, Goerli, Sepolia, and more |
+| Client | Language | Operating systems | Networks |
+| ------------------------------------------------------------- | ---------- | --------------------- | --------------------------------------------------------- |
+| [Lighthouse](https://lighthouse.sigmaprime.io/) | Rust | Linux, Windows, macOS | Beacon Chain, Holesky, Pyrmont, Sepolia, and more |
+| [Lodestar](https://lodestar.chainsafe.io/) | TypeScript | Linux, Windows, macOS | Beacon Chain, Holesky, Sepolia, and more |
+| [Nimbus](https://nimbus.team/) | Nim | Linux, Windows, macOS | Beacon Chain, Holesky, Sepolia, and more |
+| [Prysm](https://docs.prylabs.network/docs/getting-started/) | Go | Linux, Windows, macOS | Beacon Chain, Gnosis, Holesky, Pyrmont, Sepolia, and more |
+| [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) | Java | Linux, Windows, macOS | Beacon Chain, Gnosis, Holesky, Sepolia, and more |
+| [Grandine](https://docs.grandine.io/) | Rust | Linux, Windows, macOS | Beacon Chain, Holesky, Sepolia, and more |
### Lighthouse {#lighthouse}
diff --git a/public/content/developers/docs/nodes-and-clients/node-architecture/index.md b/public/content/developers/docs/nodes-and-clients/node-architecture/index.md
index c1433832591..5986b52a043 100644
--- a/public/content/developers/docs/nodes-and-clients/node-architecture/index.md
+++ b/public/content/developers/docs/nodes-and-clients/node-architecture/index.md
@@ -4,19 +4,21 @@ description: Introduction to how Ethereum nodes are organized.
lang: en
---
-An Ethereum node is composed of two clients: an [execution client](/developers/docs/nodes-and-clients/#execution-clients) and a [consensus client](/developers/docs/nodes-and-clients/#consensus-clients).
+An Ethereum node is composed of two clients: an [execution client](/developers/docs/nodes-and-clients/#execution-clients) and a [consensus client](/developers/docs/nodes-and-clients/#consensus-clients). For a node to propose a new block, it must also run a [validator client](#validators).
-When Ethereum was using [proof-of-work](/developers/docs/consensus-mechanisms/pow/), an execution client was enough to run a full Ethereum node. However, since implementing [proof-of-stake](/developers/docs/consensus-mechanisms/pow/), the execution client needs to be used alongside another piece of software called a [“consensus client”](/developers/docs/nodes-and-clients/#consensus-clients).
+When Ethereum was using [proof-of-work](/developers/docs/consensus-mechanisms/pow/), an execution client was enough to run a full Ethereum node. However, since implementing [proof-of-stake](/developers/docs/consensus-mechanisms/pow/), the execution client must be used alongside another piece of software called a [consensus client](/developers/docs/nodes-and-clients/#consensus-clients).
The diagram below shows the relationship between the two Ethereum clients. The two clients connect to their own respective peer-to-peer (P2P) networks. Separate P2P networks are needed as the execution clients gossip transactions over their P2P network, enabling them to manage their local transaction pool, whilst the consensus clients gossip blocks over their P2P network, enabling consensus and chain growth.

-For this two-client structure to work, consensus clients must be able to pass bundles of transactions to the execution client. Executing the transactions locally is how the client validates that the transactions do not violate any Ethereum rules and that the proposed update to Ethereum’s state is correct. Likewise, when the node is selected to be a block producer the consensus client must be able to request bundles of transactions from Geth to include in the new block and execute them to update the global state. This inter-client communication is handled by a local RPC connection using the [engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
+_There are several options for the execution client including Erigon, Nethermind, and Besu_.
+
+For this two-client structure to work, consensus clients must pass bundles of transactions to the execution client. The execution client executes the transactions locally to validate that the transactions do not violate any Ethereum rules and that the proposed update to Ethereum’s state is correct. When a node is selected to be a block producer its consensus client instance requests bundles of transactions from the execution client to include in the new block and execute them to update the global state. The consensus client drives the execution client via a local RPC connection using the [Engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
## What does the execution client do? {#execution-client}
-The execution client is responsible for transaction handling, transaction gossip, state management and supporting the Ethereum Virtual Machine ([EVM](/developers/docs/evm/)). However, it is **not** responsible for block building, block gossiping or handling consensus logic. These are in the remit of the consensus client.
+The execution client is responsible for transaction validation, handling, and gossip, along with state management and supporting the Ethereum Virtual Machine ([EVM](/developers/docs/evm/)). It is **not** responsible for block building, block gossiping or handling consensus logic. These are in the remit of the consensus client.
The execution client creates execution payloads - the list of transactions, updated state trie, and other execution-related data. Consensus clients include the execution payload in every block. The execution client is also responsible for re-executing transactions in new blocks to ensure they are valid. Executing transactions is done on the execution client's embedded computer, known as the [Ethereum Virtual Machine (EVM)](/developers/docs/evm).
@@ -35,20 +37,20 @@ The consensus client does not participate in attesting to or proposing blocks -
## Validators {#validators}
-Node operators can add a validator to their consensus clients by depositing 32 ETH in the deposit contract. The validator client comes bundled with the consensus client and can be added to a node at any time. The validator handles attestations and block proposals. They enable a node to accrue rewards or lose ETH via penalties or slashing. Running the validator software also makes a node eligible to be selected to propose a new block.
+Staking and running the validator software makes a node eligible to be selected to propose a new block. Node operators can add a validator to their consensus clients by depositing 32 ETH in the deposit contract. The validator client comes bundled with the consensus client and can be added to a node at any time. The validator handles attestations and block proposals. It also enables a node to accrue rewards or lose ETH via penalties or slashing.
[More on staking](/staking/).
## Components of a node comparison {#node-comparison}
-| Execution Client | Consensus Client | Validator |
-| -------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------- |
-| Gossips transactions over its p2p network | Gossips blocks and attestations over its p2p network | Proposes blocks |
-| Executes/re-executes transactions | Runs the fork choice algorithm | Accrues rewards/penalties |
-| Verifies incoming state changes | Keeps track of the head of the chain | Makes attestations |
-| Manages state and receipts tries | Manages the Beacon state (contains consensus and execution info) | Requires 32 ETH to be staked |
-| Creates execution payload | Keeps track of accumulated randomness in RANDAO | Can be slashed |
-| Exposes JSON-RPC API for interacting with Ethereum | Keeps track of justification and finalization | |
+| Execution Client | Consensus Client | Validator |
+| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
+| Gossips transactions over its P2P network | Gossips blocks and attestations over its P2P network | Proposes blocks |
+| Executes/re-executes transactions | Runs the fork choice algorithm | Accrues rewards/penalties |
+| Verifies incoming state changes | Keeps track of the head of the chain | Makes attestations |
+| Manages state and receipts tries | Manages the Beacon state (contains consensus and execution info) | Requires 32 ETH to be staked |
+| Creates execution payload | Keeps track of accumulated randomness in RANDAO (an algorithm that provides verifiable randomness for validator selection and other consensus operations) | Can be slashed |
+| Exposes JSON-RPC API for interacting with Ethereum | Keeps track of justification and finalization | |
## Further reading {#further-reading}
diff --git a/public/content/developers/docs/nodes-and-clients/node-architecture/node-architecture-text-background.png b/public/content/developers/docs/nodes-and-clients/node-architecture/node-architecture-text-background.png
index 1cca4fb43f5..d59d20cea30 100644
Binary files a/public/content/developers/docs/nodes-and-clients/node-architecture/node-architecture-text-background.png and b/public/content/developers/docs/nodes-and-clients/node-architecture/node-architecture-text-background.png differ
diff --git a/public/content/developers/docs/nodes-and-clients/node-architecture/node_architecture.png b/public/content/developers/docs/nodes-and-clients/node-architecture/node_architecture.png
deleted file mode 100644
index 1cca4fb43f5..00000000000
Binary files a/public/content/developers/docs/nodes-and-clients/node-architecture/node_architecture.png and /dev/null differ
diff --git a/public/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
index 4ab1b1247c6..483e225cacb 100644
--- a/public/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
+++ b/public/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
@@ -64,6 +64,19 @@ Here is a list of some of the most popular Ethereum node providers, feel free to
- Integrated testnet faucet access
- Active Discord builder community with 18k users
+- [**Allnodes**](https://www.allnodes.com/)
+ - [Docs](https://docs.allnodes.com/)
+ - Features
+ - No rate limits with PublicNode token created on the Allnodes portfolio page.
+ - Privacy focused free rpc endpoints (100+ blockchains) on [PublicNode](https://www.publicnode.com)
+ - Dedicated nodes without rate limits for 90+ blockchains
+ - Dedicated archive nodes for 30+ blockchains
+ - Available in 3 regions (US, EU, Asia)
+ - Snapshots for 100+ blockchains on [PublicNode](https://www.publicnode.com/snapshots)
+ - 24/7 technical support with 99.90%-99.98% uptime SLA (depends on plan).
+ - Pay-per-hour pricing
+ - Pay with Credit Card, PayPal or Crypto
+
- [**All That Node**](https://allthatnode.com/)
- [Docs](https://docs.allthatnode.com/)
- Features
@@ -226,7 +239,7 @@ Here is a list of some of the most popular Ethereum node providers, feel free to
- 500+ administrative and service APIs
- RESTful interface for Ethereum transaction submission (Apache Kafka backed)
- Outbound streams for event delivery (Apache Kafka backed)
- - Deep collection of "off-chain" and ancillary services (e.g. bilateral encrypted messaging transport)
+ - Deep collection of "offchain" and ancillary services (e.g. bilateral encrypted messaging transport)
- Straightforward network onboarding with governance and role-based access control
- Sophisticated user management for both administrators and end users
- Highly scalable, resilient, enterprise-grade infrastructure
@@ -264,7 +277,7 @@ Here is a list of some of the most popular Ethereum node providers, feel free to
- Direct, technical support
- [**NodeReal MegaNode**](https://nodereal.io/)
- - [Docs](https://docs.nodereal.io/nodereal/meganode/introduction)
+ - [Docs](https://docs.nodereal.io/docs/introduction)
- Features
- Reliable, fast and scalable RPC API services
- Enhanced API for web3 developers
diff --git a/public/content/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/developers/docs/nodes-and-clients/run-a-node/index.md
index b2bef8282d0..d05d92c4300 100644
--- a/public/content/developers/docs/nodes-and-clients/run-a-node/index.md
+++ b/public/content/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -129,6 +129,7 @@ Multiple user-friendly projects aim to improve the experience of setting up a cl
Below are a few projects which can help you install and control clients just with a few clicks:
- [DappNode](https://docs.dappnode.io/docs/user/getting-started/choose-your-path) - DappNode doesn't come only with a machine from a vendor. The software, the actual node launcher and control center with many features can be used on arbitrary hardware.
+- [EthPillar](https://www.coincashew.com/coins/overview-eth/ethpillar) - Quickest and easiest way to setup a full node. One-liner setup tool and node management TUI. Free. Open source. Public goods for Ethereum by solo stakers. ARM64 and AMD64 support.
- [eth-docker](https://eth-docker.net/) - Automated setup using Docker focused on easy and secure staking, requires basic terminal and Docker knowledge, recommended for a bit more advanced users.
- [Stereum](https://stereum.net/ethereum-node-setup/) - Launcher for installing clients on a remote server via SSH connection with a GUI setup guide, control center, and many other features.
- [NiceNode](https://www.nicenode.xyz/) - Launcher with a straightforward user experience to run a node on your computer. Just choose clients and start them with a few clicks. Still in development.
@@ -163,7 +164,7 @@ It is also worth noting that client diversity is an [issue on the execution laye
##### Consensus clients
- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest)
-- [Lodestar](https://chainsafe.github.io/lodestar/install/source/) (Doesn't provide a pre-built binary, only a Docker image or to be build from source)
+- [Lodestar](https://chainsafe.github.io/lodestar/run/getting-started/installation#build-from-source/) (Doesn't provide a pre-built binary, only a Docker image or to be build from source)
- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest)
- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest)
- [Teku](https://github.com/ConsenSys/teku/releases)
@@ -257,7 +258,7 @@ Besu also comes with a launcher option which will ask a series of questions and
besu --Xlauncher
```
-[Besu's documentation](https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Starting-node/) contains additional options and configuration details.
+[Besu's documentation](https://besu.hyperledger.org/public-networks/get-started/start-node/) contains additional options and configuration details.
##### Running Erigon
@@ -289,7 +290,7 @@ Check [docs for all configuration options](https://geth.ethereum.org/docs/fundam
##### Running Nethermind
-Nethermind offers various [installation options](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started). The package comes with various binaries, including a Launcher with a guided setup, which will help you to create the configuration interactively. Alternatively, you find Runner which is the executable itself and you can just run it with config flags. JSON-RPC is enabled by default.
+Nethermind offers various [installation options](https://docs.nethermind.io/get-started/installing-nethermind). The package comes with various binaries, including a Launcher with a guided setup, which will help you to create the configuration interactively. Alternatively, you find Runner which is the executable itself and you can just run it with config flags. JSON-RPC is enabled by default.
```sh
Nethermind.Runner --config mainnet \
@@ -297,7 +298,7 @@ Nethermind.Runner --config mainnet \
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
```
-Nethermind docs offer a [complete guide](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/running-nethermind-post-merge) on running Nethermind with consensus client.
+Nethermind docs offer a [complete guide](https://docs.nethermind.io/first-steps-with-nethermind/running-nethermind-post-merge) on running Nethermind with consensus client.
An execution client will initiate its core functions, chosen endpoints, and start looking for peers. After successfully discovering peers, the client starts synchronization. The execution client will await a connection from consensus client. Current blockchain data will be available once the client is successfully synced to the current state.
@@ -312,7 +313,7 @@ reth node \
--authrpc.port 8551
```
-See [Configuring Reth](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth) to learn more about data default data directories. [Reth's documentation](https://reth.rs/run/mainnet.html) contains additional options and configuration details.
+See [Configuring Reth](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth) to learn more about default data directories. [Reth's documentation](https://reth.rs/run/mainnet.html) contains additional options and configuration details.
#### Starting the consensus client {#starting-the-consensus-client}
@@ -467,8 +468,9 @@ As part of your monitoring, make sure to keep an eye on your machine's performan
## Further reading {#further-reading}
- [Ethereum Staking Guides](https://github.com/SomerEsat/ethereum-staking-guides) - _Somer Esat, updated often_
-- [Guide | How to setup a validator for Ethereum staking on mainnet](https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet) _– CoinCashew, updated regularly_
+- [Guide | How to setup a validator for Ethereum staking on mainnet](https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet) _– CoinCashew, updated often_
- [ETHStaker guides on running validators on testnets](https://github.com/remyroy/ethstaker#guides) – _ETHStaker, updated regularly_
+- [Sample AWS Blockchain Node Runner app for Ethereum Nodes](https://aws-samples.github.io/aws-blockchain-node-runners/docs/Blueprints/Ethereum) - _AWS, updated often_
- [The Merge FAQ for node operators](https://notes.ethereum.org/@launchpad/node-faq-merge) - _July 2022_
- [Analyzing the hardware requirements to be an Ethereum full validated node](https://medium.com/coinmonks/analyzing-the-hardware-requirements-to-be-an-ethereum-full-validated-node-dc064f167902) _– Albert Palau, 24 September 2018_
- [Running Ethereum Full Nodes: A Guide for the Barely Motivated](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– Justin Leroux, 7 November 2019_
diff --git a/public/content/developers/docs/oracles/index.md b/public/content/developers/docs/oracles/index.md
index 15e0d8c95e4..71ad6635d08 100644
--- a/public/content/developers/docs/oracles/index.md
+++ b/public/content/developers/docs/oracles/index.md
@@ -4,9 +4,9 @@ description: Oracles provide Ethereum smart contracts with access to real-world
lang: en
---
-Oracles are applications that produce data feeds that make off-chain data sources available to the blockchain for smart contracts. This is necessary because Ethereum-based smart contracts cannot, by default, access information stored outside the blockchain network.
+Oracles are applications that produce data feeds that make offchain data sources available to the blockchain for smart contracts. This is necessary because Ethereum-based smart contracts cannot, by default, access information stored outside the blockchain network.
-Giving smart contracts the ability to execute using off-chain data extends the utility and value of decentralized applications. For instance, on-chain prediction markets rely on oracles to provide information about outcomes that they use to validate user predictions. Suppose Alice bets 20 ETH on who will become the next U.S. President. In that case, the prediction-market dapp needs an oracle to confirm election results and determine if Alice is eligible for a payout.
+Giving smart contracts the ability to execute using offchain data extends the utility and value of decentralized applications. For instance, onchain prediction markets rely on oracles to provide information about outcomes that they use to validate user predictions. Suppose Alice bets 20 ETH on who will become the next U.S. President. In that case, the prediction-market dapp needs an oracle to confirm election results and determine if Alice is eligible for a payout.
## Prerequisites {#prerequisites}
@@ -14,11 +14,11 @@ This page assumes the reader is familiar with Ethereum fundamentals, including [
## What is a blockchain oracle? {#what-is-a-blockchain-oracle}
-Oracles are applications that source, verify, and transmit external information (i.e. information stored off-chain) to smart contracts running on the blockchain. Besides “pulling” off-chain data and broadcasting it on Ethereum, oracles can also “push” information from the blockchain to external systems, e.g., unlocking a smart lock once the user sends a fee via an Ethereum transaction.
+Oracles are applications that source, verify, and transmit external information (i.e. information stored offchain) to smart contracts running on the blockchain. Besides “pulling” offchain data and broadcasting it on Ethereum, oracles can also “push” information from the blockchain to external systems, e.g., unlocking a smart lock once the user sends a fee via an Ethereum transaction.
-Without an oracle, a smart contract would be limited entirely to on-chain data.
+Without an oracle, a smart contract would be limited entirely to onchain data.
-Oracles differ based on the source of data (one or multiple sources), trust models (centralized or decentralized), and system architecture (immediate-read, publish-subscribe, and request-response). We can also distinguish between oracles based on whether they retrieve external data for use by on-chain contracts (input oracles), send information from the blockchain to the off-chain applications (output oracles), or perform computational tasks off-chain (computational oracles).
+Oracles differ based on the source of data (one or multiple sources), trust models (centralized or decentralized), and system architecture (immediate-read, publish-subscribe, and request-response). We can also distinguish between oracles based on whether they retrieve external data for use by onchain contracts (input oracles), send information from the blockchain to the offchain applications (output oracles), or perform computational tasks offchain (computational oracles).
## Why do smart contracts need oracles? {#why-do-smart-contracts-need-oracles}
@@ -36,11 +36,11 @@ If blockchains received information from external sources (i.e. from the real wo
For a public blockchain like Ethereum, with thousands of nodes around the world processing transactions, determinism is critical. With no central authority serving as a source of truth, nodes need mechanisms for arriving at the same state after applying the same transactions. A case whereby node A executes a smart contract’s code and gets "3" as a result, while node B gets "7" after running the same transaction would cause consensus to break down and eliminate Ethereum’s value as a decentralized computing platform.
-This scenario also highlights the problem with designing blockchains to pull information from external sources. Oracles, however, solve this problem by taking information from off-chain sources and storing it on the blockchain for smart contracts to consume. Since information stored on-chain is unalterable and publicly available, Ethereum nodes can safely use the oracle imported off-chain data to compute state changes without breaking consensus.
+This scenario also highlights the problem with designing blockchains to pull information from external sources. Oracles, however, solve this problem by taking information from offchain sources and storing it on the blockchain for smart contracts to consume. Since information stored onchain is unalterable and publicly available, Ethereum nodes can safely use the oracle imported offchain data to compute state changes without breaking consensus.
-To do this, an oracle is typically made up of a smart contract running on-chain and some off-chain components. The on-chain contract receives requests for data from other smart contracts, which it passes to the off-chain component (called an oracle node). This oracle node can query data sources—using application programming interfaces (APIs), for example—and send transactions to store the requested data in the smart contract's storage.
+To do this, an oracle is typically made up of a smart contract running onchain and some offchain components. The onchain contract receives requests for data from other smart contracts, which it passes to the offchain component (called an oracle node). This oracle node can query data sources—using application programming interfaces (APIs), for example—and send transactions to store the requested data in the smart contract's storage.
-Essentially, a blockchain oracle bridges the information gap between the blockchain and the external environment, creating “hybrid smart contracts”. A hybrid smart contract is one that functions based on a combination of on-chain contract code and off-chain infrastructure. Decentralized prediction markets are an excellent example of hybrid smart contracts. Other examples might include crop insurance smart contracts that pay out when a set of oracles determine that certain weather phenomena have taken place.
+Essentially, a blockchain oracle bridges the information gap between the blockchain and the external environment, creating “hybrid smart contracts”. A hybrid smart contract is one that functions based on a combination of onchain contract code and offchain infrastructure. Decentralized prediction markets are an excellent example of hybrid smart contracts. Other examples might include crop insurance smart contracts that pay out when a set of oracles determine that certain weather phenomena have taken place.
## What is the oracle problem? {#the-oracle-problem}
@@ -54,11 +54,11 @@ The so-called “oracle problem” demonstrates the issues that come with using
Different oracles offer different solutions to the oracle problem, which we explore later. Oracles are typically evaluated on how well they can handle the following challenges:
-1. **Correctness**: An oracle should not cause smart contracts to trigger state changes based on invalid off-chain data. An oracle must guarantee _authenticity_ and _integrity_ of data. Authenticity means the data was gotten from the correct source, while integrity means the data remained intact (i.e. wasn’t altered) before being sent on-chain.
+1. **Correctness**: An oracle should not cause smart contracts to trigger state changes based on invalid offchain data. An oracle must guarantee _authenticity_ and _integrity_ of data. Authenticity means the data was gotten from the correct source, while integrity means the data remained intact (i.e. wasn’t altered) before being sent onchain.
2. **Availability**: An oracle should not delay or prevent smart contracts from executing actions and triggering state changes. This means that data from an oracle must be _available on request_ without interruption.
-3. **Incentive compatibility**: An oracle should incentivize off-chain data providers to submit correct information to smart contracts. Incentive compatibility involves _attributability_ and _accountability_. Attributability allows for linking a piece of external information to its provider, while accountability bonds data providers to the information they give, so they can be rewarded or penalized based on the quality of information provided.
+3. **Incentive compatibility**: An oracle should incentivize offchain data providers to submit correct information to smart contracts. Incentive compatibility involves _attributability_ and _accountability_. Attributability allows for linking a piece of external information to its provider, while accountability bonds data providers to the information they give, so they can be rewarded or penalized based on the quality of information provided.
## How does a blockchain oracle service work? {#how-does-a-blockchain-oracle-service-work}
@@ -66,7 +66,7 @@ Different oracles offer different solutions to the oracle problem, which we expl
Users are entities (i.e., smart contracts) that need information external to the blockchain to complete specific actions. The basic workflow of an oracle service starts with the user sending a data request to the oracle contract. Data requests will usually answer some or all of the following questions:
-1. What sources can off-chain nodes consult for the requested information?
+1. What sources can offchain nodes consult for the requested information?
2. How do reporters process information from data sources and extract useful data points?
@@ -78,11 +78,11 @@ Users are entities (i.e., smart contracts) that need information external to the
### Oracle contract {#oracle-contract}
-The oracle contract is the on-chain component for the oracle service. It listens for data requests from other contracts, relays data queries to oracle nodes, and broadcasts returned data to client contracts. This contract may also perform some computation on the returned data points to produce an aggregate value to send to the requesting contract.
+The oracle contract is the onchain component for the oracle service. It listens for data requests from other contracts, relays data queries to oracle nodes, and broadcasts returned data to client contracts. This contract may also perform some computation on the returned data points to produce an aggregate value to send to the requesting contract.
-The oracle contract exposes some functions which client contracts call when making a data request. Upon receiving a new query, the smart contract will emit a [log event](/developers/docs/smart-contracts/anatomy/#events-and-logs) with details of the data request. This notifies off-chain nodes subscribed to the log (usually using something like the JSON-RPC `eth_subscribe` command), who proceed to retrieve data defined in the log event.
+The oracle contract exposes some functions which client contracts call when making a data request. Upon receiving a new query, the smart contract will emit a [log event](/developers/docs/smart-contracts/anatomy/#events-and-logs) with details of the data request. This notifies offchain nodes subscribed to the log (usually using something like the JSON-RPC `eth_subscribe` command), who proceed to retrieve data defined in the log event.
-Below is an [example oracle contract](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) by Pedro Costa. This is a simple oracle service that can query off-chain APIs upon request by other smart contracts and store the requested information on the blockchain:
+Below is an [example oracle contract](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) by Pedro Costa. This is a simple oracle service that can query offchain APIs upon request by other smart contracts and store the requested information on the blockchain:
```solidity
pragma solidity >=0.4.21 <0.6.0;
@@ -198,11 +198,11 @@ contract Oracle {
### Oracle nodes {#oracle-nodes}
-The oracle node is the off-chain component of the oracle service. It extracts information from external sources, such as APIs hosted on third-party servers, and puts it on-chain for consumption by smart contracts. Oracle nodes listen for events from the on-chain oracle contract and proceed to complete the task described in the log.
+The oracle node is the offchain component of the oracle service. It extracts information from external sources, such as APIs hosted on third-party servers, and puts it onchain for consumption by smart contracts. Oracle nodes listen for events from the onchain oracle contract and proceed to complete the task described in the log.
-A common task for oracle nodes is sending a [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) request to an API service, parsing the response to extract relevant data, formatting into a blockchain-readable output, and sending it on-chain by including it in a transaction to the oracle contract. The oracle node may also be required to attest to the validity and integrity of submitted information using “authenticity proofs”, which we explore later.
+A common task for oracle nodes is sending a [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) request to an API service, parsing the response to extract relevant data, formatting into a blockchain-readable output, and sending it onchain by including it in a transaction to the oracle contract. The oracle node may also be required to attest to the validity and integrity of submitted information using “authenticity proofs”, which we explore later.
-Computational oracles also rely on off-chain nodes to perform computational tasks that would be impractical to execute on-chain, given gas costs and block size limits. For example, the oracle node may be tasked with generating a verifiably random figure (e.g., for blockchain-based games).
+Computational oracles also rely on offchain nodes to perform computational tasks that would be impractical to execute onchain, given gas costs and block size limits. For example, the oracle node may be tasked with generating a verifiably random figure (e.g., for blockchain-based games).
## Oracle design patterns {#oracle-design-patterns}
@@ -216,15 +216,15 @@ This type of oracle exposes a “data feed” which other contracts can regularl
A request-response setup allows the client contract to request arbitrary data other than that provided by a publish-subscribe oracle. Request-response oracles are ideal when the dataset is too large to be stored in a smart contract’s storage, and/or users will only need a small part of the data at any point in time.
-Although more complex than publish-subscribe models, request-response oracles are basically what we described in the previous section. The oracle will have an on-chain component that receives a data request and passes it to an off-chain node for processing.
+Although more complex than publish-subscribe models, request-response oracles are basically what we described in the previous section. The oracle will have an onchain component that receives a data request and passes it to an offchain node for processing.
-Users initiating data queries must cover the cost of retrieving information from the off-chain source. The client contract must also provide funds to cover gas costs incurred by the oracle contract in returning the response via the callback function specified in the request.
+Users initiating data queries must cover the cost of retrieving information from the offchain source. The client contract must also provide funds to cover gas costs incurred by the oracle contract in returning the response via the callback function specified in the request.
## Centralized vs. decentralized oracles {#types-of-oracles}
### Centralized oracles {#centralized-oracles}
-A centralized oracle is controlled by a single entity responsible for aggregating off-chain information and updating the oracle contract's data as requested. Centralized oracles are efficient since they rely on a single source of truth. They may function better in cases where proprietary datasets are published directly by the owner with a widely accepted signature. However, they bring downsides as well:
+A centralized oracle is controlled by a single entity responsible for aggregating offchain information and updating the oracle contract's data as requested. Centralized oracles are efficient since they rely on a single source of truth. They may function better in cases where proprietary datasets are published directly by the owner with a widely accepted signature. However, they bring downsides as well:
#### Low correctness guarantees {#low-correctness-guarantees}
@@ -232,7 +232,7 @@ With centralized oracles, there's no way to confirm if the information provided
#### Poor availability {#poor-availability}
-Centralized oracles aren't guaranteed to always make off-chain data available to other smart contracts. If the provider decides to turn off the service or a hacker hijacks the oracle's off-chain component, your smart contract is at risk of a denial of service (DoS) attack.
+Centralized oracles aren't guaranteed to always make offchain data available to other smart contracts. If the provider decides to turn off the service or a hacker hijacks the oracle's offchain component, your smart contract is at risk of a denial of service (DoS) attack.
#### Poor incentive compatibility {#poor-incentive-compatibility}
@@ -240,7 +240,7 @@ Centralized oracles often have poorly designed or non-existent incentives for th
### Decentralized oracles {#decentralized-oracles}
-Decentralized oracles are designed to overcome the limitations of centralized oracles by eliminating single points of failure. A decentralized oracle service comprises multiple participants in a peer-to-peer network that form consensus on off-chain data before sending it to a smart contract.
+Decentralized oracles are designed to overcome the limitations of centralized oracles by eliminating single points of failure. A decentralized oracle service comprises multiple participants in a peer-to-peer network that form consensus on offchain data before sending it to a smart contract.
A decentralized oracle should (ideally) be permissionless, trustless, and free from administration by a central party; in reality, decentralization among oracles is on a spectrum. There are semi-decentralized oracle networks where anyone can participate, but with an “owner” that approves and removes nodes based on historical performance. Fully decentralized oracle networks also exist: these usually run as standalone blockchains and have defined consensus mechanisms for coordinating nodes and punishing misbehavior.
@@ -248,7 +248,7 @@ Using decentralized oracles comes with the following benefits:
### High correctness guarantees {#high-correctness-guarantees}
-Decentralized oracles attempt to achieve correctness of data using different approaches. This includes using proofs attesting to the authenticity and integrity of the returned information and requiring multiple entities to collectively agree on the validity of off-chain data.
+Decentralized oracles attempt to achieve correctness of data using different approaches. This includes using proofs attesting to the authenticity and integrity of the returned information and requiring multiple entities to collectively agree on the validity of offchain data.
#### Authenticity proofs {#authenticity-proofs}
@@ -264,9 +264,9 @@ Certain classes of decentralized oracles require oracle node operators to provid
#### Consensus-based validation of information {#consensus-based-validation-of-information}
-Centralized oracles rely on a single source of truth when providing data to smart contracts, which introduces the possibility of publishing inaccurate information. Decentralized oracles solve this problem by relying on multiple oracle nodes to query off-chain information. By comparing data from multiple sources, decentralized oracles reduce the risk of passing invalid information to on-chain contracts.
+Centralized oracles rely on a single source of truth when providing data to smart contracts, which introduces the possibility of publishing inaccurate information. Decentralized oracles solve this problem by relying on multiple oracle nodes to query offchain information. By comparing data from multiple sources, decentralized oracles reduce the risk of passing invalid information to onchain contracts.
-Decentralized oracles, however, must deal with discrepancies in information retrieved from multiple off-chain sources. To minimize differences in information and ensure the data passed to the oracle contract reflects the collective opinion of oracle nodes, decentralized oracles use the following mechanisms:
+Decentralized oracles, however, must deal with discrepancies in information retrieved from multiple offchain sources. To minimize differences in information and ensure the data passed to the oracle contract reflects the collective opinion of oracle nodes, decentralized oracles use the following mechanisms:
##### Voting/staking on accuracy of data
@@ -282,19 +282,19 @@ Staking/voting also protects decentralized oracles from [Sybil attacks](/glossar
An early idea for this was [SchellingCoin](https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/), a proposed data feed where participants submit responses to "scalar" questions (questions whose answers are described by magnitude, e.g., "what is the price of ETH?"), along with a deposit. Users who provide values between the 25th and 75th [percentile](https://en.wikipedia.org/wiki/Percentile) are rewarded, while those whose values deviate largely from the median value are penalized.
-While SchellingCoin doesn’t exist today, a number of decentralized oracles—notably [Maker Protocol’s Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module)—use the schelling-point mechanism to improve accuracy of oracle data. Each Maker Oracle consists of an off-chain P2P network of nodes ("relayers" and "feeds") who submit market prices for collateral assets and an on-chain “Medianizer” contract that calculates the median of all provided values. Once the specified delay period is over, this median value becomes the new reference price for the associated asset.
+While SchellingCoin doesn’t exist today, a number of decentralized oracles—notably [Maker Protocol’s Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module)—use the schelling-point mechanism to improve accuracy of oracle data. Each Maker Oracle consists of an offchain P2P network of nodes ("relayers" and "feeds") who submit market prices for collateral assets and an onchain “Medianizer” contract that calculates the median of all provided values. Once the specified delay period is over, this median value becomes the new reference price for the associated asset.
-Other examples of oracles that use Schelling point mechanisms include [Chainlink Off-Chain Reporting](https://docs.chain.link/docs/off-chain-reporting/) and [Witnet](https://witnet.io/). In both systems, responses from oracle nodes in the peer-to-peer network are aggregated into a single aggregate value, such as a mean or median. Nodes are rewarded or punished according to the extent to which their responses align with or deviate from the aggregate value.
+Other examples of oracles that use Schelling point mechanisms include [Chainlink Offchain Reporting](https://docs.chain.link/architecture-overview/off-chain-reporting) and [Witnet](https://witnet.io/). In both systems, responses from oracle nodes in the peer-to-peer network are aggregated into a single aggregate value, such as a mean or median. Nodes are rewarded or punished according to the extent to which their responses align with or deviate from the aggregate value.
-Schelling point mechanisms are attractive because they minimize on-chain footprint (only one transaction needs to be sent) while guaranteeing decentralization. The latter is possible because nodes must sign off on the list of submitted responses before it is fed into the algorithm that produces the mean/median value.
+Schelling point mechanisms are attractive because they minimize onchain footprint (only one transaction needs to be sent) while guaranteeing decentralization. The latter is possible because nodes must sign off on the list of submitted responses before it is fed into the algorithm that produces the mean/median value.
### Availability {#availability}
-Decentralized oracle services ensure high availability of off-chain data to smart contracts. This is achieved by decentralizing both the source of off-chain information and nodes responsible for transferring the information on-chain.
+Decentralized oracle services ensure high availability of offchain data to smart contracts. This is achieved by decentralizing both the source of offchain information and nodes responsible for transferring the information onchain.
This ensures fault-tolerance since the oracle contract can rely on multiple nodes (who also rely on multiple data sources) to execute queries from other contracts. Decentralization at the source _and_ node-operator level is crucial—a network of oracle nodes serving information retrieved from the same source will run into the same problem as a centralized oracle.
-It is also possible for stake-based oracles can slash node operators who fail to respond quickly to data requests. This significantly incentivizes oracle nodes to invest in fault-tolerant infrastructure and provide data in timely fashion.
+It is also possible for stake-based oracles to slash node operators who fail to respond quickly to data requests. This significantly incentivizes oracle nodes to invest in fault-tolerant infrastructure and provide data in timely fashion.
### Good incentive compatibility {#good-incentive-compatibility}
@@ -358,15 +358,15 @@ contract PriceConsumerV3 {
Certain blockchain applications, such as blockchain-based games or lottery schemes, require a high level of unpredictability and randomness to work effectively. However, the deterministic execution of blockchains eliminates randomness.
-The original approach was to use pseudorandom cryptographic functions, such as `blockhash`, but these could be [manipulated by miners](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.) solving the proof-of-work algorithm. Also, Ethereum’s [switch to proof-of-stake](/roadmap/merge/) means developers can no longer rely on `blockhash` for on-chain randomness. The Beacon Chain’s [RANDAO mechanism](https://eth2book.info/altair/part2/building_blocks/randomness) provides an alternative source of randomness instead.
+The original approach was to use pseudorandom cryptographic functions, such as `blockhash`, but these could be [manipulated by miners](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.) solving the proof-of-work algorithm. Also, Ethereum’s [switch to proof-of-stake](/roadmap/merge/) means developers can no longer rely on `blockhash` for onchain randomness. The Beacon Chain’s [RANDAO mechanism](https://eth2book.info/altair/part2/building_blocks/randomness) provides an alternative source of randomness instead.
-It is possible to generate the random value off-chain and send it on-chain, but doing so imposes high trust requirements on users. They must believe the value was truly generated via unpredictable mechanisms and wasn’t altered in transit.
+It is possible to generate the random value offchain and send it onchain, but doing so imposes high trust requirements on users. They must believe the value was truly generated via unpredictable mechanisms and wasn’t altered in transit.
-Oracles designed for off-chain computation solve this problem by securely generating random outcomes off-chain that they broadcast on-chain along with cryptographic proofs attesting to the unpredictability of the process. An example is [Chainlink VRF](https://docs.chain.link/docs/chainlink-vrf/) (Verifiable Random Function), which is a provably fair and tamper-proof random number generator (RNG) useful for building reliable smart contracts for applications that rely on unpredictable outcomes. Another example is [API3 QRNG](https://docs.api3.org/explore/qrng/) that serves Quantum random number generation (QRNG) is a public method of Web3 RNG based on quantum phenomena, served with the courtesy of the Australian National University (ANU).
+Oracles designed for offchain computation solve this problem by securely generating random outcomes offchain that they broadcast onchain along with cryptographic proofs attesting to the unpredictability of the process. An example is [Chainlink VRF](https://docs.chain.link/docs/chainlink-vrf/) (Verifiable Random Function), which is a provably fair and tamper-proof random number generator (RNG) useful for building reliable smart contracts for applications that rely on unpredictable outcomes. Another example is [API3 QRNG](https://docs.api3.org/explore/qrng/) that serves Quantum random number generation (QRNG) is a public method of Web3 RNG based on quantum phenomena, served with the courtesy of the Australian National University (ANU).
### Getting outcomes for events {#getting-outcomes-for-events}
-With oracles, creating smart contracts that respond to real-world events is easy. Oracle services make this possible by allowing contracts to connect to external APIs through off-chain components and consume information from those data sources. For example, the prediction dapp mentioned earlier may request an oracle to return election results from a trusted off-chain source (e.g., the Associated Press).
+With oracles, creating smart contracts that respond to real-world events is easy. Oracle services make this possible by allowing contracts to connect to external APIs through offchain components and consume information from those data sources. For example, the prediction dapp mentioned earlier may request an oracle to return election results from a trusted offchain source (e.g., the Associated Press).
Using oracles to retrieve data based on real-world outcomes enables other novel use cases; for example, a decentralized insurance product needs accurate information about weather, disasters, etc. to work effectively.
@@ -378,7 +378,7 @@ But there are also _private functions_ within a contract that are inaccessible t
Developers will need to trigger such functions at intervals to keep the application running smoothly. However, this might lead to more hours lost on mundane tasks for developers, which is why automating execution of smart contracts is attractive.
-Some decentralized oracle networks offer automation services, which allow off-chain oracle nodes to trigger smart contract functions according to parameters defined by the user. Typically, this requires “registering” the target contract with the oracle service, providing funds to pay the oracle operator, and specifying the conditions or times to trigger the contract.
+Some decentralized oracle networks offer automation services, which allow offchain oracle nodes to trigger smart contract functions according to parameters defined by the user. Typically, this requires “registering” the target contract with the oracle service, providing funds to pay the oracle operator, and specifying the conditions or times to trigger the contract.
Chainlink’s [Keeper Network](https://chain.link/keepers) provides options for smart contracts to outsource regular maintenance tasks in a trust minimized and decentralized manner. Read the official [Keeper's documentation](https://docs.chain.link/docs/chainlink-keepers/introduction/) for information on making your contract Keeper-compatible and using the Upkeep service.
@@ -388,7 +388,9 @@ There are multiple oracle applications you can integrate into your Ethereum dapp
**[Chainlink](https://chain.link/)** - _Chainlink decentralized oracle networks provide tamper-proof inputs, outputs, and computations to support advanced smart contracts on any blockchain._
-**[Chronicle](https://chroniclelabs.org/)** - _Chronicle overcomes the current limitations of transferring data on-chain by developing truly scalable, cost-efficient, decentralized, and verifiable oracles._
+**[RedStone Oracles](https://redstone.finance/)** - _RedStone is a decentralized modular oracle that provides gas-optimized data feeds. It specializes in offering price feeds for emerging assets, such as liquid staking tokens (LSTs), liquid restaking tokens (LRTs), and Bitcoin staking derivatives._
+
+**[Chronicle](https://chroniclelabs.org/)** - _Chronicle overcomes the current limitations of transferring data onchain by developing truly scalable, cost-efficient, decentralized, and verifiable oracles._
**[Witnet](https://witnet.io/)** - _Witnet is a permissionless, decentralized, and censorship-resistant oracle helping smart contracts to react to real world events with strong crypto-economic guarantees._
@@ -400,11 +402,11 @@ There are multiple oracle applications you can integrate into your Ethereum dapp
**[Paralink](https://paralink.network/)** - _Paralink provides an open source and decentralized oracle platform for smart contracts running on Ethereum and other popular blockchains._
-**[Pyth Network](https://pyth.network/)** - _The Pyth network is a first-party financial oracle network designed to publish continuous real-world data on-chain in a tamper-resistant, decentralized, and self-sustainable environment._
+**[Pyth Network](https://pyth.network/)** - _The Pyth network is a first-party financial oracle network designed to publish continuous real-world data onchain in a tamper-resistant, decentralized, and self-sustainable environment._
**[API3 DAO](https://www.api3.org/)** - _API3 DAO is delivering first-party oracle solutions that deliver greater source transparency, security and scalability in a decentralized solution for smart contracts_
-**[Supra](https://supra.com/)** - A vertically integrated toolkit of cross-chain solutions that interlink all blockchains, public (L1s and L2s) or private (enterprises), providing decentralized oracle price feeds that can be used for on-chain and off-chain use-cases.
+**[Supra](https://supra.com/)** - A vertically integrated toolkit of cross-chain solutions that interlink all blockchains, public (L1s and L2s) or private (enterprises), providing decentralized oracle price feeds that can be used for onchain and offchain use-cases.
## Further reading {#further-reading}
diff --git a/public/content/developers/docs/programming-languages/javascript/index.md b/public/content/developers/docs/programming-languages/javascript/index.md
index 5813464e560..27842c5e67c 100644
--- a/public/content/developers/docs/programming-languages/javascript/index.md
+++ b/public/content/developers/docs/programming-languages/javascript/index.md
@@ -46,17 +46,15 @@ This will help you understand things like "what's the data structure of an accou
If you prefer to read code, this JavaScript could be a great alternative to reading through our docs.
-**Check out the monorepo**
-[`ethereumjs`](https://github.com/ethereumjs/ethereumjs-vm)
+**Check out the EVM**
+[`@ethereumjs/evm`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm)
### Nodes and clients {#nodes-and-clients}
An Ethereumjs client is in active development that lets you dig into how Ethereum clients work in a language you understand; JavaScript!
-It used to be housed in a standalone [`repository`](https://github.com/ethereumjs/ethereumjs-client), however, was later merged into the EthereumVM monorepo as a package.
-
**Check out the client**
-[`ethereumjs-client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client)
+[`@ethereumjs/client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client)
## Other projects {#other-projects}
diff --git a/public/content/developers/docs/programming-languages/python/index.md b/public/content/developers/docs/programming-languages/python/index.md
index b04d7dc433c..6d3aa1f9c86 100644
--- a/public/content/developers/docs/programming-languages/python/index.md
+++ b/public/content/developers/docs/programming-languages/python/index.md
@@ -19,31 +19,40 @@ Need a more basic primer first? Check out [ethereum.org/learn](/learn/) or [ethe
- [Understanding Smart Contracts](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
- [Write your First Smart Contract](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
- [Learn How to Compile and Deploy Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+- [The state of Python in blockchain 2023 report](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023)
## Beginner articles {#beginner-articles}
+- [web3.py Overview](https://web3py.readthedocs.io/en/latest/overview.html)
+- [Ethereum Python Ecosystem Tour](https://snakecharmers.ethereum.org/python-ecosystem/)
- [A (Python) Developer's Guide to Ethereum](https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/)
-- [The state of Python in blockchain 2023 report](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023)
+- [Prize-Worthy: An Ethereum Python Hackathon Guide](https://snakecharmers.ethereum.org/prize-worthy/)
- [An Introduction to Smart Contracts with Vyper](https://kauri.io/#collections/Getting%20Started/an-introduction-to-smart-contracts-with-vyper/)
-- [Deploy your own ERC20 Token with Python and Brownie](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58)
- [How to develop Ethereum contract using Python Flask?](https://medium.com/coinmonks/how-to-develop-ethereum-contract-using-python-flask-9758fe65976e)
- [Intro to Web3.py · Ethereum For Python Developers](https://www.dappuniversity.com/articles/web3-py-intro)
- [How to call a Smart Contract function using Python and web3.py](https://stackoverflow.com/questions/57580702/how-to-call-a-smart-contract-function-using-python-and-web3-py)
## Intermediate articles {#intermediate-articles}
+- [Friends of web3.py: Intro to Ape](https://snakecharmers.ethereum.org/intro-to-ape/)
- [Dapp Development for Python Programmers](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28)
- [Creating a Python Ethereum Interface: Part 1](https://hackernoon.com/creating-a-python-ethereum-interface-part-1-4d2e47ea0f4d)
- [Ethereum Smart Contracts in Python: a comprehensive(ish) guide](https://hackernoon.com/ethereum-smart-contracts-in-python-a-comprehensive-ish-guide-771b03990988)
-- [Using Brownie and Python to deploy Smart Contracts](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp)
-- [Creating NFTs on OpenSea with Brownie](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/)
## Advanced use patterns {#advanced-use-patterns}
+- [web3.py Patterns: Real-Time Event Subscriptions](https://snakecharmers.ethereum.org/subscriptions/)
+- [web3.py Patterns: WebSocketProvider](https://snakecharmers.ethereum.org/websocketprovider/)
- [Compiling, deploying and calling Ethereum smartcontract using Python](https://yohanes.gultom.id/2018/11/28/compiling-deploying-and-calling-ethereum-smartcontract-using-python/)
- [Analyze Solidity Smart Contracts with Slither](https://kauri.io/#collections/DevOps/analyze-solidity-smart-contracts-with-slither/#analyze-solidity-smart-contracts-with-slither)
- [Blockchain Fintech Tutorial: Lending and Borrowing With Python](https://blog.chain.link/blockchain-fintech-defi-tutorial-lending-borrowing-python/)
+## Archived articles
+
+- [Deploy your own ERC20 Token with Python and Brownie](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58)
+- [Using Brownie and Python to deploy Smart Contracts](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp)
+- [Creating NFTs on OpenSea with Brownie](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/)
+
## Python projects and tools {#python-projects-and-tools}
### Active: {#active}
@@ -75,7 +84,7 @@ Looking for more resources? Check out [ethereum.org/developers](/developers/).
The following Ethereum-based projects use tools mentioned on this page. The related open-source repositories serve as a good reference for example code and best practices.
- [Yearn Finance](https://yearn.finance/) and [Yearn Vault Contracts repository](https://github.com/yearn/yearn-vaults)
-- [Curve](https://curve.fi/) and [Curve smart contracts repository](https://github.com/curvefi/curve-contract)
+- [Curve](https://www.curve.finance/) and [Curve smart contracts repository](https://github.com/curvefi/curve-contract)
- [BadgerDAO](https://badger.com/) and [smart contracts using Brownie toolchain](https://github.com/Badger-Finance/badger-system)
- [Sushi](https://sushi.com/) uses [Python in managing and deploying their vesting contracts](https://github.com/sushiswap/sushi-vesting-protocols)
- [Alpha Finance](https://alphafinance.io/), of Alpha Homora fame, uses [Brownie to test and deploy smart contracts](https://github.com/AlphaFinanceLab/alpha-staking-contract)
diff --git a/public/content/developers/docs/scaling/index.md b/public/content/developers/docs/scaling/index.md
index 748bfd50a22..3e777cdbe78 100644
--- a/public/content/developers/docs/scaling/index.md
+++ b/public/content/developers/docs/scaling/index.md
@@ -13,31 +13,31 @@ The main goal of scalability is to increase transaction speed (faster finality)
While speed and throughput are important, it is essential that scaling solutions enabling these goals remain decentralized and secure. Keeping the barrier to entry low for node operators is critical in preventing a progression towards centralized and insecure computing power.
-Conceptually we first categorize scaling as either on-chain scaling or off-chain scaling.
+Conceptually we first categorize scaling as either onchain scaling or offchain scaling.
## Prerequisites {#prerequisites}
You should have a good understanding of all the foundational topics. Implementing scaling solutions is advanced as the technology is less battle-tested, and continues to be researched and developed.
-## On-Chain scaling {#on-chain-scaling}
+## Onchain scaling {#onchain-scaling}
-On-chain scaling requires changes to the Ethereum protocol (layer 1 [Mainnet](/glossary/#mainnet)). For a long time, sharding the blockchain was expected to scale Ethereum. This was going to involve splitting the blockchain into discrete pieces (shards) to be verified by subsets of validators. However, scaling by layer-2 rollups has taken over as the primary scaling technique. This is supported by the addition of a new cheaper form of data attached to Ethereum blocks that is specially designed to make rollups cheap for users.
+Onchain scaling requires changes to the Ethereum protocol (layer 1 [Mainnet](/glossary/#mainnet)). For a long time, sharding the blockchain was expected to scale Ethereum. This was going to involve splitting the blockchain into discrete pieces (shards) to be verified by subsets of validators. However, scaling by layer-2 rollups has taken over as the primary scaling technique. This is supported by the addition of a new cheaper form of data attached to Ethereum blocks that is specially designed to make rollups cheap for users.
### Sharding {#sharding}
Sharding is the process of splitting a database. Subsets of validators would be responsible for individual shards rather than keeping track of all of Ethereum. Sharding was on the Ethereum [roadmap](/roadmap/) for a long time, and was once intended to be shipped before The Merge to proof-of-stake. However, the rapid development of [layer 2 rollups](#layer-2-scaling) and the invention of [Danksharding](/roadmap/danksharding) (adding blobs of rollup data to Ethereum blocks that can be very efficiently verified by validators) has led the Ethereum community to favour rollup-centric scaling instead of scaling by sharding. This will also help to keep Ethereum's consensus logic simpler.
-## Off-chain scaling {#off-chain-scaling}
+## Offchain scaling {#offchain-scaling}
-Off-chain solutions are implemented separately from layer 1 Mainnet - they require no changes to the existing Ethereum protocol. Some solutions, known as "layer 2" solutions, derive their security directly from layer 1 Ethereum consensus, such as [optimistic rollups](/developers/docs/scaling/optimistic-rollups/), [zero-knowledge rollups](/developers/docs/scaling/zk-rollups/) or [state channels](/developers/docs/scaling/state-channels/). Other solutions involve the creation of new chains in various forms that derive their security separately from Mainnet, such as [sidechains](#sidechains), [validiums](#validium), or [plasma chains](#plasma). These solutions communicate with Mainnet but derive their security differently to obtain a variety of goals.
+Offchain solutions are implemented separately from layer 1 Mainnet - they require no changes to the existing Ethereum protocol. Some solutions, known as "layer 2" solutions, derive their security directly from layer 1 Ethereum consensus, such as [optimistic rollups](/developers/docs/scaling/optimistic-rollups/), [zero-knowledge rollups](/developers/docs/scaling/zk-rollups/) or [state channels](/developers/docs/scaling/state-channels/). Other solutions involve the creation of new chains in various forms that derive their security separately from Mainnet, such as [sidechains](#sidechains), [validiums](#validium), or [plasma chains](#plasma). These solutions communicate with Mainnet but derive their security differently to obtain a variety of goals.
### Layer 2 scaling {#layer-2-scaling}
-This category of off-chain solutions derives its security from Mainnet Ethereum.
+This category of offchain solutions derives its security from Mainnet Ethereum.
Layer 2 is a collective term for solutions designed to help scale your application by handling transactions off the Ethereum Mainnet (layer 1) while taking advantage of the robust decentralized security model of Mainnet. Transaction speed suffers when the network is busy, making the user experience poor for certain types of dapps. And as the network gets busier, gas prices increase as transaction senders aim to outbid each other. This can make using Ethereum very expensive.
-Most layer 2 solutions are centered around a server or cluster of servers, each of which may be referred to as a node, validator, operator, sequencer, block producer, or similar term. Depending on the implementation, these layer 2 nodes may be run by the individuals, businesses or entities that use them, or by a 3rd party operator, or by a large group of individuals (similar to Mainnet). Generally speaking, transactions are submitted to these layer 2 nodes instead of being submitted directly to layer 1 (Mainnet). For some solutions the layer 2 instance then batches them into groups before anchoring them to layer 1, after which they are secured by layer 1 and cannot be altered. The details of how this is done vary significantly between different layer 2 technologies and implementations.
+Most layer 2 solutions are centered around a server or cluster of servers, each of which may be referred to as a node, validator, operator, sequencer, block producer, or similar term. Depending on the implementation, these layer 2 nodes may be run by the individuals, businesses or entities that use them, or by a 3rd party operator, or by a large group of individuals (similar to Mainnet). Generally speaking, transactions are submitted to these layer 2 nodes instead of being submitted directly to layer 1 (Mainnet). For some solutions, the layer 2 instance then batches them into groups before anchoring them to layer 1, after which they are secured by layer 1 and cannot be altered. The details of how this is done vary significantly between different layer 2 technologies and implementations.
A specific layer 2 instance may be open and shared by many applications, or may be deployed by one project and dedicated to supporting only their application.
@@ -57,11 +57,11 @@ Rollups perform transaction execution outside layer 1 and then the data is poste
There are two types of rollups with different security models:
- **Optimistic rollups**: assumes transactions are valid by default and only runs computation, via a [**fraud proof**](/glossary/#fraud-proof), in the event of a challenge. [More on Optimistic rollups](/developers/docs/scaling/optimistic-rollups/).
-- **Zero-knowledge rollups**: runs computation off-chain and submits a [**validity proof**](/glossary/#validity-proof) to the chain. [More on zero-knowledge rollups](/developers/docs/scaling/zk-rollups/).
+- **Zero-knowledge rollups**: runs computation offchain and submits a [**validity proof**](/glossary/#validity-proof) to the chain. [More on zero-knowledge rollups](/developers/docs/scaling/zk-rollups/).
#### State channels {#channels}
-State channels utilize multisig contracts to enable participants to transact quickly and freely off-chain, then settle finality with Mainnet. This minimizes network congestion, fees, and delays. The two types of channels are currently state channels and payment channels.
+State channels utilize multisig contracts to enable participants to transact quickly and freely offchain, then settle finality with Mainnet. This minimizes network congestion, fees, and delays. The two types of channels are currently state channels and payment channels.
Learn more about [state channels](/developers/docs/scaling/state-channels/).
@@ -94,7 +94,7 @@ Learn more about [Validium](/developers/docs/scaling/validium/).
-_Note the explanation in the video uses the term "Layer 2" to refer to all off-chain scaling solutions, while we differentiate "Layer 2" as an off-chain solution that derives its security through layer 1 Mainnet consensus._
+_Note the explanation in the video uses the term "Layer 2" to refer to all offchain scaling solutions, while we differentiate "Layer 2" as an offchain solution that derives its security through layer 1 Mainnet consensus._
@@ -106,9 +106,10 @@ _Note the explanation in the video uses the term "Layer 2" to refer to all off-c
- [An Incomplete Guide to Rollups](https://vitalik.eth.limo/general/2021/01/05/rollup.html)
- [Ethereum-powered ZK-Rollups: World Beaters](https://hackmd.io/@canti/rkUT0BD8K)
- [Optimistic Rollups vs ZK Rollups](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/)
-- [Zero-Knowledge Blockchain Scalability](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
+- [Zero-Knowledge Blockchain Scalability](https://www.archblock.com/poland/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
- [Why rollups + data shards are the only sustainable solution for high scalability](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48)
- [What kind of Layer 3s make sense?](https://vitalik.eth.limo/general/2022/09/17/layer_3.html)
-- [Data Availability Or: How Rollups Learned To Stop Worrying And Love Ethereum](https://ethereum2077.substack.com/p/data-availability-in-ethereum-rollups)
+- [Data Availability Or: How Rollups Learned To Stop Worrying And Love Ethereum](https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum)
+- [The Practical Guide to Ethereum Rollups](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
_Know of a community resource that helped you? Edit this page and add it!_
diff --git a/public/content/developers/docs/scaling/optimistic-rollups/index.md b/public/content/developers/docs/scaling/optimistic-rollups/index.md
index 66105d22400..bfca46841b9 100644
--- a/public/content/developers/docs/scaling/optimistic-rollups/index.md
+++ b/public/content/developers/docs/scaling/optimistic-rollups/index.md
@@ -4,7 +4,7 @@ description: An introduction to optimistic rollups—a scaling solution used by
lang: en
---
-Optimistic rollups are layer 2 (L2) protocols designed to extend the throughput of Ethereum's base layer. They reduce computation on the main Ethereum chain by processing transactions off-chain, offering significant improvements in processing speeds. Unlike other scaling solutions, such as [sidechains](/developers/docs/scaling/sidechains/), optimistic rollups derive security from Mainnet by publishing transaction results on-chain, or [plasma chains](/developers/docs/scaling/plasma/), which also verify transactions on Ethereum with fraud proofs, but store transaction data elsewhere.
+Optimistic rollups are layer 2 (L2) protocols designed to extend the throughput of Ethereum's base layer. They reduce computation on the main Ethereum chain by processing transactions offchain, offering significant improvements in processing speeds. Unlike other scaling solutions, such as [sidechains](/developers/docs/scaling/sidechains/), optimistic rollups derive security from Mainnet by publishing transaction results onchain, or [plasma chains](/developers/docs/scaling/plasma/), which also verify transactions on Ethereum with fraud proofs, but store transaction data elsewhere.
As computation is the slow, expensive part of using Ethereum, optimistic rollups can offer up to 10-100x improvements in scalability. Optimistic rollups also write transactions to Ethereum as `calldata` or in [blobs](/roadmap/danksharding/), reducing gas costs for users.
@@ -14,11 +14,11 @@ You should have read and understood our pages on [Ethereum scaling](/developers/
## What is an optimistic rollup? {#what-is-an-optimistic-rollup}
-An optimistic rollup is an approach to scaling Ethereum that involves moving computation and state storage off-chain. Optimistic rollups execute transactions outside of Ethereum, but post transaction data to Mainnet as `calldata` or in [blobs](/roadmap/danksharding/).
+An optimistic rollup is an approach to scaling Ethereum that involves moving computation and state storage offchain. Optimistic rollups execute transactions outside of Ethereum, but post transaction data to Mainnet as `calldata` or in [blobs](/roadmap/danksharding/).
-Optimistic rollup operators bundle multiple off-chain transactions together in large batches before submitting to Ethereum. This approach enables spreading fixed costs across multiple transactions in each batch, reducing fees for end-users. Optimistic rollups also use compression techniques to reduce the amount of data posted on Ethereum.
+Optimistic rollup operators bundle multiple offchain transactions together in large batches before submitting to Ethereum. This approach enables spreading fixed costs across multiple transactions in each batch, reducing fees for end-users. Optimistic rollups also use compression techniques to reduce the amount of data posted on Ethereum.
-Optimistic rollups are considered “optimistic” because they assume off-chain transactions are valid and don't publish proofs of validity for transaction batches posted on-chain. This separates optimistic rollups from [zero-knowledge rollups](/developers/docs/scaling/zk-rollups) that publish cryptographic [proofs of validity](/glossary/#validity-proof) for off-chain transactions.
+Optimistic rollups are considered “optimistic” because they assume offchain transactions are valid and don't publish proofs of validity for transaction batches posted onchain. This separates optimistic rollups from [zero-knowledge rollups](/developers/docs/scaling/zk-rollups) that publish cryptographic [proofs of validity](/glossary/#validity-proof) for offchain transactions.
Optimistic rollups instead rely on a fraud-proving scheme to detect cases where transactions are not calculated correctly. After a rollup batch is submitted on Ethereum, there's a time window (called a challenge period) during which anyone can challenge the results of a rollup transaction by computing a [fraud proof](/glossary/#fraud-proof).
@@ -28,17 +28,17 @@ If the rollup batch remains unchallenged (i.e., all transactions are correctly e
## How do optimistic rollups interact with Ethereum? {#optimistic-rollups-and-Ethereum}
-Optimistic rollups are [off-chain scaling solutions](/developers/docs/scaling/#off-chain-scaling) built to operate on top of Ethereum. Each optimistic rollup is managed by a set of smart contracts deployed on the Ethereum network. Optimistic rollups process transactions off the main Ethereum chain, but post off-chain transactions (in batches) to an on-chain rollup contract. Like the Ethereum blockchain, this transaction record is immutable and forms the "optimistic rollup chain."
+Optimistic rollups are [offchain scaling solutions](/developers/docs/scaling/#offchain-scaling) built to operate on top of Ethereum. Each optimistic rollup is managed by a set of smart contracts deployed on the Ethereum network. Optimistic rollups process transactions off the main Ethereum chain, but post offchain transactions (in batches) to an onchain rollup contract. Like the Ethereum blockchain, this transaction record is immutable and forms the "optimistic rollup chain."
The architecture of an optimistic rollup comprises the following parts:
-**On-chain contracts**: The optimistic rollups's operation is controlled by smart contracts running on Ethereum. This includes contracts that store rollup blocks, monitor state updates on the rollup, and track user deposits. In this sense, Ethereum serves as the base layer or "layer 1" for optimistic rollups.
+**Onchain contracts**: The optimistic rollups's operation is controlled by smart contracts running on Ethereum. This includes contracts that store rollup blocks, monitor state updates on the rollup, and track user deposits. In this sense, Ethereum serves as the base layer or "layer 1" for optimistic rollups.
-**Off-chain virtual machine (VM)**: Although contracts managing the optimistic rollup protocol run on Ethereum, the rollup protocol performs computation and state storage on another virtual machine separate from the [Ethereum Virtual Machine](/developers/docs/evm/). The off-chain VM is where applications live and state changes are executed; it serves as the upper layer or "layer 2" for an optimistic rollup.
+**Offchain virtual machine (VM)**: Although contracts managing the optimistic rollup protocol run on Ethereum, the rollup protocol performs computation and state storage on another virtual machine separate from the [Ethereum Virtual Machine](/developers/docs/evm/). The offchain VM is where applications live and state changes are executed; it serves as the upper layer or "layer 2" for an optimistic rollup.
-As optimistic rollups are designed to run programs either written or compiled for the EVM, the off-chain VM incorporates many EVM design specs. Additionally, fraud proofs computed on-chain allows the Ethereum network to enforce the validity of state changes computed in the off-chain VM.
+As optimistic rollups are designed to run programs either written or compiled for the EVM, the offchain VM incorporates many EVM design specs. Additionally, fraud proofs computed onchain allows the Ethereum network to enforce the validity of state changes computed in the offchain VM.
-Optimistic rollups are described as 'hybrid scaling solutions' because, while they exist as separate protocols, their security properties are derived from Ethereum. Among other things, Ethereum guarantees the correctness of a rollup’s off-chain computation and the availability of data behind the computation. This makes optimistic rollups more secure than pure off-chain scaling protocols (e.g., [sidechains](/developers/docs/scaling/sidechains/)) that do not rely on Ethereum for security.
+Optimistic rollups are described as 'hybrid scaling solutions' because, while they exist as separate protocols, their security properties are derived from Ethereum. Among other things, Ethereum guarantees the correctness of a rollup’s offchain computation and the availability of data behind the computation. This makes optimistic rollups more secure than pure offchain scaling protocols (e.g., [sidechains](/developers/docs/scaling/sidechains/)) that do not rely on Ethereum for security.
Optimistic rollups rely on the main Ethereum protocol for the following:
@@ -56,7 +56,7 @@ Optimistic rollups also rely on Ethereum for censorship resistance. In an optimi
- Rollup operators can prevent users from withdrawing funds deposited in the rollup contract by withholding state data necessary to Merkle proofs of ownership. Withholding state data can also conceal the rollup’s state from users and prevent them from interacting with the rollup.
-Optimistic rollups solve this problem by forcing operators to publish data associated with state updates on Ethereum. Publishing rollup data on-chain has the following benefits:
+Optimistic rollups solve this problem by forcing operators to publish data associated with state updates on Ethereum. Publishing rollup data onchain has the following benefits:
- If an optimistic rollup operator goes offline or stops producing transaction batches, another node can use available data to reproduce the rollup’s last state and continue block production.
@@ -82,21 +82,21 @@ Other validators on the optimistic rollup chain are expected to execute the subm
Some optimistic rollups may forgo a permissionless validator system and use a single “sequencer” to execute the chain. Like a validator, the sequencer processes transactions, produces rollup blocks, and submits rollup transactions to the L1 chain (Ethereum).
-The sequencer is different from a regular rollup operator because they have greater control over the ordering of transactions. Also, the sequencer has priority access to the rollup chain and is the only entity authorized to submit transactions to the on-chain contract. Transactions from non-sequencer nodes or regular users are simply queued up in a separate inbox until the sequencer includes them in a new batch.
+The sequencer is different from a regular rollup operator because they have greater control over the ordering of transactions. Also, the sequencer has priority access to the rollup chain and is the only entity authorized to submit transactions to the onchain contract. Transactions from non-sequencer nodes or regular users are simply queued up in a separate inbox until the sequencer includes them in a new batch.
#### Submitting rollup blocks to Ethereum {#submitting-blocks-to-ethereum}
-As mentioned, the operator of an optimistic rollup bundles off-chain transactions into a batch and sends it to Ethereum for notarization. This process involves compressing transaction-related data and publishing it on Ethereum as `calldata` or in blobs.
+As mentioned, the operator of an optimistic rollup bundles offchain transactions into a batch and sends it to Ethereum for notarization. This process involves compressing transaction-related data and publishing it on Ethereum as `calldata` or in blobs.
-`calldata` is a non-modifiable, non-persistent area in a smart contract that behaves mostly like [memory](/developers/docs/smart-contracts/anatomy/#memory). While `calldata` persists on-chain as part of the blockchain's [history logs](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs), it is not stored as a part of Ethereum's state. Because `calldata` does not touch any part of Ethereum's state, it is cheaper than state for storing data on-chain.
+`calldata` is a non-modifiable, non-persistent area in a smart contract that behaves mostly like [memory](/developers/docs/smart-contracts/anatomy/#memory). While `calldata` persists onchain as part of the blockchain's [history logs](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs), it is not stored as a part of Ethereum's state. Because `calldata` does not touch any part of Ethereum's state, it is cheaper than state for storing data onchain.
The `calldata` keyword is also used in Solidity to pass arguments to a smart contract function at execution time. `calldata` identifies the function being called during a transaction and holds inputs to the function in the form of an arbitrary sequence of bytes.
-In the context of optimistic rollups, `calldata` is used to send compressed transaction data to the on-chain contract. The rollup operator adds a new batch by calling the required function in the rollup contract and passing the compressed data as function arguments. Using `calldata` reduces user fees since most costs that rollups incur come from storing data on-chain.
+In the context of optimistic rollups, `calldata` is used to send compressed transaction data to the onchain contract. The rollup operator adds a new batch by calling the required function in the rollup contract and passing the compressed data as function arguments. Using `calldata` reduces user fees since most costs that rollups incur come from storing data onchain.
-Here is [an example](https://etherscan.io/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591) of a rollup batch submission to show how this concept works. The sequencer invoked the `appendSequencerBatch()` method and passed the compressed transaction data as inputs using `calldata`.
+Here is [an example](https://eth.blockscout.com/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591) of a rollup batch submission to show how this concept works. The sequencer invoked the `appendSequencerBatch()` method and passed the compressed transaction data as inputs using `calldata`.
-Some rollups now use blobs to post batches of transactions to Ethereum.
+Some rollups now use blobs to post batches of transactions to Ethereum.
Blobs are non-modifiable and non-persistent (just like `calldata`) but are pruned from history after ~18 days. For more information on blobs, see [Danksharding](/roadmap/danksharding).
@@ -104,7 +104,7 @@ Blobs are non-modifiable and non-persistent (just like `calldata`) but are prune
At any point in time, the optimistic rollup’s state (accounts, balances, contract code, etc.) is organized as a [Merkle tree](/whitepaper/#merkle-trees) called a “state tree”. The root of this Merkle tree (state root), which references the rollup’s latest state, is hashed and stored in the rollup contract. Every state transition on the chain produces a new rollup state, which an operator commits to by computing a new state root.
-The operator is required to submit both old state roots and new state roots when posting batches. If the old state root matches the existing state root in the on-chain contract, the latter is discarded and replaced with the new state root.
+The operator is required to submit both old state roots and new state roots when posting batches. If the old state root matches the existing state root in the onchain contract, the latter is discarded and replaced with the new state root.
The rollup operator is also required to commit a Merkle root for the transaction batch itself. This allows anyone to prove the inclusion of a transaction in the batch (on L1) by presenting a [Merkle proof](/developers/tutorials/merkle-proofs-for-offline-data-integrity/).
@@ -118,7 +118,7 @@ If someone disputes an assertion, then the rollup protocol will initiate the fra
Single-round interactive proving schemes replay disputed transactions on L1 to detect invalid assertions. The rollup protocol emulates the re-execution of the disputed transaction on L1 (Ethereum) using a verifier contract, with the computed state root determining who wins the challenge. If the challenger's claim about the rollup’s correct state is correct, the operator is penalized by having their bond slashed.
-However, re-executing transactions on L1 to detect fraud requires publishing state commitments for individual transactions and increases the data rollups must publish on-chain. Replaying transactions also incurs significant gas costs. For these reasons, optimistic rollups are switching to multi-round interactive proving, which achieves the same objective (i.e., detecting invalid rollup operations) with more efficiency.
+However, re-executing transactions on L1 to detect fraud requires publishing state commitments for individual transactions and increases the data rollups must publish onchain. Replaying transactions also incurs significant gas costs. For these reasons, optimistic rollups are switching to multi-round interactive proving, which achieves the same objective (i.e., detecting invalid rollup operations) with more efficiency.
#### Multi-round interactive proving {#multi-round-interactive-proving}
@@ -132,7 +132,7 @@ Some notes about this type of fraud proof:
1. Multi-round interactive fraud proving is considered efficient because it minimizes the work the L1 chain must do in dispute arbitration. Instead of replaying the entire transaction, the L1 chain only needs to re-execute one step in the rollup's execution.
-2. Bisection protocols reduce the amount of data posted on-chain (no need to publish state commits for every transaction). Also, optimistic rollup transactions are not constrained by Ethereum's gas limit. Conversely, optimistic rollups re-executing transactions must make sure an L2 transaction has a lower gas limit to emulate its execution within a single Ethereum transaction.
+2. Bisection protocols reduce the amount of data posted onchain (no need to publish state commits for every transaction). Also, optimistic rollup transactions are not constrained by Ethereum's gas limit. Conversely, optimistic rollups re-executing transactions must make sure an L2 transaction has a lower gas limit to emulate its execution within a single Ethereum transaction.
3. Part of the malicious asserter's bond is awarded to the challenger, while the other part is burned. The burning prevents collusion among validators; if two validators collude to initiate bogus challenges, they will still forfeit a considerable chunk of the entire stake.
@@ -156,7 +156,7 @@ Optimistic rollups are designed for interoperability with Ethereum Mainnet and a
To use an optimistic rollup, users deposit ETH, ERC-20 tokens, and other accepted assets in the rollup’s [bridge](/developers/docs/bridges/) contract on L1. The bridge contract will relay the transaction to L2, where an equivalent amount of assets is minted and sent to the user’s chosen address on the optimistic rollup.
-User-generated transactions (like an L1 > L2 deposit) are usually queued until the sequencer re-submits them to the rollup contract. However, to preserve censorship resistance, optimistic rollups allow users to submit a transaction directly to the on-chain rollup contract if it has been delayed past the maximum time allowed.
+User-generated transactions (like an L1 > L2 deposit) are usually queued until the sequencer re-submits them to the rollup contract. However, to preserve censorship resistance, optimistic rollups allow users to submit a transaction directly to the onchain rollup contract if it has been delayed past the maximum time allowed.
Some optimistic rollups adopt a more straightforward approach to prevent sequencers from censoring users. Here, a block is defined by all transactions submitted to the L1 contract since the previous block (e.g., deposits) in addition to the transactions processed on the rollup chain. If a sequencer ignores an L1 transaction, it will publish the (provably) wrong state root; therefore, sequencers cannot delay user-generated messages once posted on L1.
@@ -198,7 +198,7 @@ Finally, we should note that L2 > L1 message calls between contracts need to acc
Optimistic rollups use a gas fee scheme, much like Ethereum, to denote how much users pay per transaction. Fees charged on optimistic rollups depends on the following components:
-1. **State write**: Optimistic rollups publish transaction data and block headers (consisting of the previous block header hash, state root, batch root) to Ethereum as a `blob`, or "binary large object". [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) introduced a cost-effective solution for including data on-chain. A `blob` is a new transaction field that allows rollups to post compressed state transition data to Ethereum L1. Unlike `calldata`, which remains permanently on-chain, blobs are short-lived and can be pruned from clients after [4096 epochs](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147) (approximately 18 days). By using blobs to post batches of compressed transactions, optimistic rollups can significantly reduce the cost of writing transactions to L1.
+1. **State write**: Optimistic rollups publish transaction data and block headers (consisting of the previous block header hash, state root, batch root) to Ethereum as a `blob`, or "binary large object". [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) introduced a cost-effective solution for including data onchain. A `blob` is a new transaction field that allows rollups to post compressed state transition data to Ethereum L1. Unlike `calldata`, which remains permanently onchain, blobs are short-lived and can be pruned from clients after [4096 epochs](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147) (approximately 18 days). By using blobs to post batches of compressed transactions, optimistic rollups can significantly reduce the cost of writing transactions to L1.
2. **Blob gas used**: Blob-carrying transactions employ a dynamic fee mechanism similar to the one introduced by [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559). The gas fee for type-3 transactions takes into account the base fee for blobs, which is determined by the network based on blob-space demand and the blob-space usage of the transaction being sent.
@@ -208,7 +208,7 @@ Optimistic rollups apply several mechanisms to reducing fees for users, includin
## How do optimistic rollups scale Ethereum? {#scaling-ethereum-with-optimistic-rollups}
-As explained, optimistic rollups publish compressed transaction data on Ethereum to guarantee data availability. The ability to compress data published on-chain is crucial to scaling throughput on Ethereum with optimistic rollups.
+As explained, optimistic rollups publish compressed transaction data on Ethereum to guarantee data availability. The ability to compress data published onchain is crucial to scaling throughput on Ethereum with optimistic rollups.
The main Ethereum chain places limits on how much data blocks can hold, denominated in gas units (the [average block size](/developers/docs/blocks/#block-size) is 15 million gas). While this restricts how much gas each transaction can use, it also means we can increase transactions processed per block by reducing transaction-related data—directly improving scalability.
@@ -244,7 +244,7 @@ The introduction of [data sharding](/roadmap/danksharding/) on Ethereum is expec
| Fraud proving guarantees trustless finality and allows honest minorities to secure the chain. | If there are no honest nodes a malicious operator can steal funds by posting invalid blocks and state commitments. |
| Computing fraud proofs is open to regular L2 node, unlike validity proofs (used in ZK-rollups) that require special hardware. | Security model relies on at least one honest node executing rollup transactions and submitting fraud proofs to challenge invalid state transitions. |
| Rollups benefit from "trustless liveness" (anyone can force the chain to advance by executing transactions and posting assertions) | Users must wait for the one-week challenge period to expire before withdrawing funds back to Ethereum. |
-| Optimistic rollups rely on well-designed cryptoeconomic incentives to increase security on the chain. | Rollups must post all transaction data on-chain, which can increase costs. |
+| Optimistic rollups rely on well-designed cryptoeconomic incentives to increase security on the chain. | Rollups must post all transaction data onchain, which can increase costs. |
| Compatibility with EVM and Solidity allows developers to port Ethereum-native smart contracts to rollups or use existing tooling to create new dapps. |
### A visual explanation of optimistic rollups {#optimistic-video}
@@ -253,17 +253,13 @@ More of a visual learner? Watch Finematics explain optimistic rollups:
-### Use Optimistic rollups {#use-optimistic-rollups}
-
-Multiple implementations of Optimistic rollups exist that you can integrate into your dapps:
-
-
-
## Further reading on optimistic rollups
- [How do optimistic rollups work (The Complete guide)](https://www.alchemy.com/overviews/optimistic-rollups)
- [What is a Blockchain Rollup? A Technical Introduction](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction)
-- [The Essential Guide to Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum)
-- [How does Optimism's Rollup really work?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work)
+- [The Essential Guide to Arbitrum](https://www.bankless.com/the-essential-guide-to-arbitrum)
+- [The Practical Guide To Ethereum Rollups](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
+- [The State Of Fraud Proofs In Ethereum L2s](https://research.2077.xyz/the-state-of-fraud-proofs-in-ethereum-l2s)
+- [How does Optimism's Rollup really work?](https://www.paradigm.xyz/2021/01/how-does-optimism-s-rollup-really-work)
- [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
- [What is the Optimistic Virtual Machine?](https://www.alchemy.com/overviews/optimistic-virtual-machine)
diff --git a/public/content/developers/docs/scaling/plasma/index.md b/public/content/developers/docs/scaling/plasma/index.md
index cd9f52e6a6a..a743e45ce89 100644
--- a/public/content/developers/docs/scaling/plasma/index.md
+++ b/public/content/developers/docs/scaling/plasma/index.md
@@ -6,7 +6,7 @@ incomplete: true
sidebarDepth: 3
---
-A Plasma chain is a separate blockchain anchored to Ethereum Mainnet but executing transactions off-chain with its own mechanism for block validation. Plasma chains are sometimes referred to as "child" chains, essentially smaller copies of the Ethereum Mainnet. Plasma chains use [fraud proofs](/glossary/#fraud-proof) (like [optimistic rollups](/developers/docs/scaling/optimistic-rollups/)) to arbitrate disputes.
+A Plasma chain is a separate blockchain anchored to Ethereum Mainnet but executing transactions offchain with its own mechanism for block validation. Plasma chains are sometimes referred to as "child" chains, essentially smaller copies of the Ethereum Mainnet. Plasma chains use [fraud proofs](/glossary/#fraud-proof) (like [optimistic rollups](/developers/docs/scaling/optimistic-rollups/)) to arbitrate disputes.
Merkle trees enable the creation of an endless stack of these chains that can work to offload bandwidth from parent chains (including Ethereum Mainnet). However, while these chains derive some security from Ethereum (via fraud proofs), their security and efficiency are affected by several design limitations.
@@ -24,7 +24,7 @@ The Plasma contract functions, among other things, as a [bridge](/developers/doc
The basic components of the Plasma framework are:
-### Off-chain computation {#off-chain-computation}
+### Offchain computation {#offchain-computation}
Ethereum's current processing speed is limited to ~ 15-20 transactions per second, reducing the short-term possibility of scaling to handle more users. This problem exists mainly because Ethereum's [consensus mechanism](/developers/docs/consensus-mechanisms/) requires many peer-to-peer nodes to verify every update to the blockchain's state.
@@ -32,17 +32,17 @@ Although Ethereum's consensus mechanism is necessary for security, it may not ap
Plasma supposes that Ethereum Mainnet doesn't need to verify all transactions. Instead, we can process transactions off Mainnet, freeing nodes from having to validate every transaction.
-Off-chain computation is necessary since Plasma chains can optimize for speed and cost. For example, a Plasma chain may—and most often does—use a single "operator" to manage the ordering and execution of transactions. With just one entity verifying transactions, processing times on a plasma chain are faster than Ethereum Mainnet.
+Offchain computation is necessary since Plasma chains can optimize for speed and cost. For example, a Plasma chain may—and most often does—use a single "operator" to manage the ordering and execution of transactions. With just one entity verifying transactions, processing times on a plasma chain are faster than Ethereum Mainnet.
### State commitments {#state-commitments}
-While Plasma executes transactions off-chain, they are settled on the main Ethereum execution layer—otherwise, Plasma chains cannot benefit from Ethereum's security guarantees. But finalizing off-chain transactions without knowing the state of the plasma chain would break the security model and allow the proliferation of invalid transactions. This is why the operator, the entity responsible for producing blocks on the plasma chain, is required to publish "state commitments" on Ethereum periodically.
+While Plasma executes transactions offchain, they are settled on the main Ethereum execution layer—otherwise, Plasma chains cannot benefit from Ethereum's security guarantees. But finalizing offchain transactions without knowing the state of the plasma chain would break the security model and allow the proliferation of invalid transactions. This is why the operator, the entity responsible for producing blocks on the plasma chain, is required to publish "state commitments" on Ethereum periodically.
A [commitment scheme](https://en.wikipedia.org/wiki/Commitment_scheme) is a cryptographic technique for committing to a value or statement without revealing it to another party. Commitments are "binding" in the sense that you cannot change the value or statement once you've committed to it. State commitments in Plasma take the form of "Merkle roots" (derived from a [Merkle tree](/whitepaper/#merkle-trees)) which the operator sends at intervals to the Plasma contract on the Ethereum chain.
Merkle roots are cryptographic primitives that enable compressing of large amounts of information. A Merkle root (also called a "block root" in this case) could represent all the transactions in a block. Merkle roots also make it easier to verify that a small piece of data is part of the larger dataset. For instance, a user can produce a [Merkle proof](/developers/tutorials/merkle-proofs-for-offline-data-integrity/#main-content) to prove the inclusion of a transaction in a specific block.
-Merkle roots are important for providing information about the off-chain's state to Ethereum. You can think of Merkle roots as "save points": the operator is saying, "This is the state of the Plasma chain at x point in time, and this is the Merkle root as proof." The operator is committing to the _current state_ of the plasma chain with a Merkle root, which is why it is called a "state commitment".
+Merkle roots are important for providing information about the offchain's state to Ethereum. You can think of Merkle roots as "save points": the operator is saying, "This is the state of the Plasma chain at x point in time, and this is the Merkle root as proof." The operator is committing to the _current state_ of the plasma chain with a Merkle root, which is why it is called a "state commitment".
### Entries and exits {#entries-and-exits}
@@ -86,9 +86,9 @@ The mass exit problem occurs when a large number of users try to withdraw from a
Data availability is the ability to verify that the information for a proposed block was actually published on the blockchain network. A block is "unavailable" if the producer publishes the block itself but withholds data used to create the block.
-Blocks must be available if nodes are to be able to download the block and verify the validity of transactions. Blockchains ensure data availability by forcing block producers to post all transaction data on-chain.
+Blocks must be available if nodes are to be able to download the block and verify the validity of transactions. Blockchains ensure data availability by forcing block producers to post all transaction data onchain.
-Data availability also helps with securing off-chain scaling protocols that build on Ethereum's base layer. By forcing operators on these chains to publish transaction data on Ethereum, anyone can challenge invalid blocks by constructing fraud proofs referencing the correct state of the chain.
+Data availability also helps with securing offchain scaling protocols that build on Ethereum's base layer. By forcing operators on these chains to publish transaction data on Ethereum, anyone can challenge invalid blocks by constructing fraud proofs referencing the correct state of the chain.
Plasma chains primarily store transaction data with the operator and **do not publish any data on Mainnet** (i.e., besides periodic state commitments). This means users must rely on the operator to provide block data if they need to create fraud proofs challenging invalid transactions. If this system works, then users can always use fraud proofs to secure funds.
@@ -108,10 +108,10 @@ Although exit games sound nice in theory, real-life mass exits will likely trigg
| Pros | Cons |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Offers high throughput and low cost per transaction. | Does not support general computation (cannot run smart contracts. Only basic token transfers, swaps, and a few other transaction types are supported via predicate logic. |
+| Offers high throughput and low cost per transaction. | Does not support general computation (cannot run smart contracts). Only basic token transfers, swaps, and a few other transaction types are supported via predicate logic. |
| Good for transactions between arbitrary users (no overhead per user pair if both are established on the plasma chain) | Need to periodically watch the network (liveness requirement) or delegate this responsibility to someone else to ensure the security of your funds. |
| Plasma chains can be adapted to specific use-cases that are unrelated to the main chain. Anyone, including businesses, can customize Plasma smart contracts to provide scalable infrastructure that works in different contexts. | Relies on one or more operators to store data and serve it upon request. |
-| Reduces load on Ethereum Mainnet by moving computation and storage off-chain. | Withdrawals are delayed by several days to allow for challenges. For fungible assets, this can be mitigated by liquidity providers, but there is an associated capital cost. |
+| Reduces load on Ethereum Mainnet by moving computation and storage offchain. | Withdrawals are delayed by several days to allow for challenges. For fungible assets, this can be mitigated by liquidity providers, but there is an associated capital cost. |
| | If too many users try to exit simultaneously, Ethereum Mainnet could get congested. |
## Plasma vs layer 2 scaling protocols {#plasma-vs-layer-2}
@@ -120,7 +120,7 @@ While Plasma was once considered a useful scaling solution for Ethereum, it has
### Efficiency {#efficiency}
-[Zero-Knowledge rollups](/developers/docs/scaling/zk-rollups) generate cryptographic proofs of the validity of each batch of transactions processed off-chain. This prevents the users (and operators) from advancing invalid state transitions, eliminating the need for challenge periods and exit games. It also means users don't have to watch the chain periodically to secure their funds.
+[Zero-Knowledge rollups](/developers/docs/scaling/zk-rollups) generate cryptographic proofs of the validity of each batch of transactions processed offchain. This prevents the users (and operators) from advancing invalid state transitions, eliminating the need for challenge periods and exit games. It also means users don't have to watch the chain periodically to secure their funds.
### Support for smart contracts {#support-for-smart-contracts}
diff --git a/public/content/developers/docs/scaling/state-channels/index.md b/public/content/developers/docs/scaling/state-channels/index.md
index 06ebd25fed3..bb395088d8e 100644
--- a/public/content/developers/docs/scaling/state-channels/index.md
+++ b/public/content/developers/docs/scaling/state-channels/index.md
@@ -5,7 +5,7 @@ lang: en
sidebarDepth: 3
---
-State channels allow participants to securely transact off-chain while keeping interaction with Ethereum Mainnet at a minimum. Channel peers can conduct an arbitrary number of off-chain transactions while only submitting two on-chain transactions to open and close the channel. This allows for extremely high transaction throughput and results in lower costs for users.
+State channels allow participants to securely transact offchain while keeping interaction with Ethereum Mainnet at a minimum. Channel peers can conduct an arbitrary number of offchain transactions while only submitting two onchain transactions to open and close the channel. This allows for extremely high transaction throughput and results in lower costs for users.
## Prerequisites {#prerequisites}
@@ -13,49 +13,49 @@ You should have read and understood our pages on [Ethereum scaling](/developers/
## What are channels? {#what-are-channels}
-Public blockchains, such as Ethereum, face scalability challenges due to their distributed architecture: on-chain transactions must be executed by all nodes. Nodes have to be able to handle the volume of transactions in a block using modest hardware, imposing a limit on the transaction throughput to keep the network decentralized. Blockchain channels solve this problem by allowing users to interact off-chain while still relying on the security of the main chain for final settlement.
+Public blockchains, such as Ethereum, face scalability challenges due to their distributed architecture: onchain transactions must be executed by all nodes. Nodes have to be able to handle the volume of transactions in a block using modest hardware, imposing a limit on the transaction throughput to keep the network decentralized. Blockchain channels solve this problem by allowing users to interact offchain while still relying on the security of the main chain for final settlement.
Channels are simple peer-to-peer protocols that allow two parties to make many transactions between themselves and then only post the final results to the blockchain. The channel uses cryptography to demonstrate that the summary data they generate is truly the result of a valid set of intermediate transactions. A ["multisig"](/developers/docs/smart-contracts/#multisig) smart contract ensures the transactions are signed by the correct parties.
With channels, state changes are executed and validated by interested parties, minimizing computation on Ethereum's execution layer. This decreases congestion on Ethereum and also increases transaction processing speeds for users.
-Each channel is managed by a [multisig smart contract](/developers/docs/smart-contracts/#multisig) running on Ethereum. To open a channel, participants deploy the channel contract on-chain and deposit funds into it. Both parties collectively sign a state update to initialize the channel's state, after which they can transact quickly and freely off-chain.
+Each channel is managed by a [multisig smart contract](/developers/docs/smart-contracts/#multisig) running on Ethereum. To open a channel, participants deploy the channel contract onchain and deposit funds into it. Both parties collectively sign a state update to initialize the channel's state, after which they can transact quickly and freely offchain.
-To close the channel, participants submit the last agreed-upon state of the channel on-chain. Afterward, the smart contract distributes the locked funds according to each participant's balance in the channel's final state.
+To close the channel, participants submit the last agreed-upon state of the channel onchain. Afterward, the smart contract distributes the locked funds according to each participant's balance in the channel's final state.
Peer-to-peer channels are particularly useful for situations where some predefined participants wish to transact with high frequency without incurring visible overhead. Blockchain channels fall under two categories: **payment channels** and **state channels**.
## Payment channels {#payment-channels}
-A payment channel is best described as a "two-way ledger" collectively maintained by two users. The ledger's initial balance is the sum of deposits locked into the on-chain contract during the channel opening phase. Payment channel transfers can be performed instantaneously and without the involvement of the actual blockchain itself, except for an initial one-time on-chain creation and an eventual closing of the channel.
+A payment channel is best described as a "two-way ledger" collectively maintained by two users. The ledger's initial balance is the sum of deposits locked into the onchain contract during the channel opening phase. Payment channel transfers can be performed instantaneously and without the involvement of the actual blockchain itself, except for an initial one-time onchain creation and an eventual closing of the channel.
Updates to the ledger's balance (i.e., the payment channel's state) require the approval of all parties in the channel. A channel update, signed by all channel participants, is considered finalized, much like a transaction on Ethereum.
-Payment channels were among the earliest scaling solutions designed to minimize expensive on-chain activity of simple user interactions (e.g. ETH transfers, atomic swaps, micropayments). Channel participants can conduct an unlimited amount of instant, feeless transactions between each other as long as the net sum of their transfers does not exceed the deposited tokens.
+Payment channels were among the earliest scaling solutions designed to minimize expensive onchain activity of simple user interactions (e.g. ETH transfers, atomic swaps, micropayments). Channel participants can conduct an unlimited amount of instant, feeless transactions between each other as long as the net sum of their transfers does not exceed the deposited tokens.
## State channels {#state-channels}
-Apart from supporting off-chain payments, payment channels have not proven useful for handling general state transition logic. State channels were created to solve this problem and make channels useful for scaling general-purpose computation.
+Apart from supporting offchain payments, payment channels have not proven useful for handling general state transition logic. State channels were created to solve this problem and make channels useful for scaling general-purpose computation.
State channels still have a lot in common with payment channels. For example, users interact by exchanging cryptographically signed messages (transactions), which the other channel participants must also sign. If a proposed state update isn't signed by all participants, it is considered invalid.
However, in addition to holding the user's balances, the channel also tracks the current state of the contract's storage (i.e., values of contract variables).
-This makes it possible to execute a smart contract off-chain between two users. In this scenario, updates to the smart contract's internal state require only the approval of the peers who created the channel.
+This makes it possible to execute a smart contract offchain between two users. In this scenario, updates to the smart contract's internal state require only the approval of the peers who created the channel.
-While this solves the scalability problem described earlier, it has implications for security. On Ethereum, the validity of state transitions on Ethereum is enforced by the network's consensus protocol. This makes it impossible to propose an invalid update to a smart contract's state or alter smart contract execution.
+While this solves the scalability problem described earlier, it has implications for security. On Ethereum, the validity of state transitions is enforced by the network's consensus protocol. This makes it impossible to propose an invalid update to a smart contract's state or alter smart contract execution.
State channels don't have the same security guarantees. To some extent, a state channel is a miniature version of Mainnet. With a limited set of participants enforcing rules, the possibility of malicious behavior (e.g., proposing invalid state updates) increases. State channels derive their security from a dispute arbitration system based on [fraud proofs](/glossary/#fraud-proof).
## How state channels work {#how-state-channels-work}
-Basically, the activity in a state channel is a session of interactions involving users and a blockchain system. Users mostly communicate with each other off-chain and only interact with the underlying blockchain to open the channel, close the channel, or settle potential disputes between participants.
+Basically, the activity in a state channel is a session of interactions involving users and a blockchain system. Users mostly communicate with each other offchain and only interact with the underlying blockchain to open the channel, close the channel, or settle potential disputes between participants.
The following section outlines the basic workflow of a state channel:
### Opening the channel {#opening-the-channel}
-Opening a channel requires participants to commit funds to a smart contract on Mainnet. The deposit also functions as a virtual tab, so participating actors can transact freely without needing to settle payments immediately. Only when the channel is finalized on-chain do parties settle each other and withdraw what's left of their tab.
+Opening a channel requires participants to commit funds to a smart contract on Mainnet. The deposit also functions as a virtual tab, so participating actors can transact freely without needing to settle payments immediately. Only when the channel is finalized onchain do parties settle each other and withdraw what's left of their tab.
This deposit also serves as a bond to guarantee honest behavior from each participant. If depositors are found guilty of malicious actions during the dispute resolution phase, the contract slashes their deposit.
@@ -73,13 +73,13 @@ After initializing the channel's state, peers interact by signing transactions a
- The transaction which triggers the state transition (e.g., Alice sends 5 ETH to Bob)
-State updates in the channel are not broadcasted on-chain as is normally the case when users interact on Mainnet, which aligns with state channels' goal to minimize on-chain footprint. As long as participants agree on state updates, they are as final as an Ethereum transaction. Participants only need to depend on Mainnet's consensus if a dispute arises.
+State updates in the channel are not broadcasted onchain as is normally the case when users interact on Mainnet, which aligns with state channels' goal to minimize onchain footprint. As long as participants agree on state updates, they are as final as an Ethereum transaction. Participants only need to depend on Mainnet's consensus if a dispute arises.
### Closing the channel {#closing-the-channel}
-Closing a state channel requires submitting the channel's final, agreed-upon state to the on-chain smart contract. Details referenced in the state update include the number of each participant's moves and a list of approved transactions.
+Closing a state channel requires submitting the channel's final, agreed-upon state to the onchain smart contract. Details referenced in the state update include the number of each participant's moves and a list of approved transactions.
-After verifying that the state update is valid (i.e., it is signed by all parties) the smart contract finalizes the channel and distributes the locked funds according to the channel's outcome. Payments made off-chain are applied to Ethereum's state and each participant receives their remaining portion of the locked funds.
+After verifying that the state update is valid (i.e., it is signed by all parties) the smart contract finalizes the channel and distributes the locked funds according to the channel's outcome. Payments made offchain are applied to Ethereum's state and each participant receives their remaining portion of the locked funds.
The scenario described above represents what happens in the happy case. Sometimes, users may be unable to reach an agreement and finalize the channel (the sad case). Any of the following could be true of the situation:
@@ -87,33 +87,33 @@ The scenario described above represents what happens in the happy case. Sometime
- Participants refuse to co-sign valid state updates
-- Participants try to finalize the channel by proposing an old state update to the on-chain contract
+- Participants try to finalize the channel by proposing an old state update to the onchain contract
- Participants propose invalid state transitions for others to sign
-Whenever consensus breaks down between participating actors in a channel, the last option is to rely on Mainnet's consensus to enforce the channel's final, valid state. In this case, closing the state channel requires settling disputes on-chain.
+Whenever consensus breaks down between participating actors in a channel, the last option is to rely on Mainnet's consensus to enforce the channel's final, valid state. In this case, closing the state channel requires settling disputes onchain.
### Settling disputes {#settling-disputes}
-Typically, parties in a channel agree on closing the channel beforehand and co-sign the last state transition, which they submit to the smart contract. Once the update is approved on-chain, execution of the off-chain smart contract ends and participants exit the channel with their money.
+Typically, parties in a channel agree on closing the channel beforehand and co-sign the last state transition, which they submit to the smart contract. Once the update is approved onchain, execution of the offchain smart contract ends and participants exit the channel with their money.
-However, one party can submit an on-chain request to end the smart contract's execution and finalize the channel—without waiting for their counterpart's approval. If any of the consensus-breaking situations described earlier occur, either party can trigger the on-chain contract to close the channel and distribute funds. This provides **trustlessness**, ensuring that honest parties can exit their deposits at any point, regardless of the other party's actions.
+However, one party can submit an onchain request to end the smart contract's execution and finalize the channel—without waiting for their counterpart's approval. If any of the consensus-breaking situations described earlier occur, either party can trigger the onchain contract to close the channel and distribute funds. This provides **trustlessness**, ensuring that honest parties can exit their deposits at any point, regardless of the other party's actions.
-To process the channel exit, the user must submit the application's last valid state update to the on-chain contract. If this checks out (i.e., it bears the signature of all parties), then funds are redistributed in their favor.
+To process the channel exit, the user must submit the application's last valid state update to the onchain contract. If this checks out (i.e., it bears the signature of all parties), then funds are redistributed in their favor.
-There is, however, a delay in executing single-user exit requests. If the request to conclude the channel was unanimously approved, then the on-chain exit transaction is executed immediately.
+There is, however, a delay in executing single-user exit requests. If the request to conclude the channel was unanimously approved, then the onchain exit transaction is executed immediately.
-The delay comes into play in single-user exits due to the possibility of fraudulent actions. For example, a channel participant may try to finalize the channel on Ethereum by submitting an older state update on-chain.
+The delay comes into play in single-user exits due to the possibility of fraudulent actions. For example, a channel participant may try to finalize the channel on Ethereum by submitting an older state update onchain.
-As a countermeasure, state channels allow honest users to challenge invalid state updates by submitting the latest, valid state of the channel on-chain. State channels are designed such that newer, agreed-upon state updates trump older state updates.
+As a countermeasure, state channels allow honest users to challenge invalid state updates by submitting the latest, valid state of the channel onchain. State channels are designed such that newer, agreed-upon state updates trump older state updates.
-Once a peer triggers the on-chain dispute-resolution system, the other party is required to respond within a time limit (called the challenge window). This allows users to challenge the exit transaction, especially if the other party is applying a stale update.
+Once a peer triggers the onchain dispute-resolution system, the other party is required to respond within a time limit (called the challenge window). This allows users to challenge the exit transaction, especially if the other party is applying a stale update.
-Whatever the case may be, channel users always have strong finality guarantees: if the state transition in their possession was signed by all members and is the most recent update, then it is of equal finality with a regular on-chain transaction. They still have to challenge the other party on-chain, but the only possible outcome is finalizing the last valid state, which they hold.
+Whatever the case may be, channel users always have strong finality guarantees: if the state transition in their possession was signed by all members and is the most recent update, then it is of equal finality with a regular onchain transaction. They still have to challenge the other party onchain, but the only possible outcome is finalizing the last valid state, which they hold.
### How do state channels interact with Ethereum? {#how-do-state-channels-interact-with-ethereum}
-Although they exist as off-chain protocols, state channels have an on-chain component: the smart contract deployed on Ethereum when opening the channel. This contract controls the assets deposited into the channel, verifies state updates, and arbitrates disputes between participants.
+Although they exist as offchain protocols, state channels have an onchain component: the smart contract deployed on Ethereum when opening the channel. This contract controls the assets deposited into the channel, verifies state updates, and arbitrates disputes between participants.
State channels don't publish transaction data or state commitments to Mainnet, unlike [layer 2](/layer-2/) scaling solutions. However, they are more connected to Mainnet than, say, [sidechains](/developers/docs/scaling/sidechains/), making them somewhat safer.
@@ -121,53 +121,53 @@ State channels rely on the main Ethereum protocol for the following:
#### 1. Liveness {#liveness}
-The on-chain contract deployed when opening the channel is responsible for the channel's functionality. If the contract is running on Ethereum, then the channel is always available for usage. Conversely, a sidechain can always fail, even if Mainnet is operational, putting user funds at risk.
+The onchain contract deployed when opening the channel is responsible for the channel's functionality. If the contract is running on Ethereum, then the channel is always available for usage. Conversely, a sidechain can always fail, even if Mainnet is operational, putting user funds at risk.
#### 2. Security {#security}
To some extent, state channels rely on Ethereum to provide security and protect users from malicious peers. As discussed in later sections, channels use a fraud proof mechanism that lets users challenge attempts to finalize the channel with an invalid or stale update.
-In this case, the honest party provides the latest valid state of the channel as a fraud proof to the on-chain contract for verification. Fraud proofs enable mutually distrustful parties to conduct off-chain transactions without risking their funds in the process.
+In this case, the honest party provides the latest valid state of the channel as a fraud proof to the onchain contract for verification. Fraud proofs enable mutually distrustful parties to conduct offchain transactions without risking their funds in the process.
#### 3. Finality {#finality}
-State updates collectively signed by channel users are considered as good as on-chain transactions. Still, all in-channel activity only achieves true finality when the channel is closed on Ethereum.
+State updates collectively signed by channel users are considered as good as onchain transactions. Still, all in-channel activity only achieves true finality when the channel is closed on Ethereum.
-In the optimistic case, both parties can cooperate and sign the final state update and submit on-chain to close the channel, after which the funds are distributed according to the channel's final state. In the pessimistic case, where someone tries to cheat by posting an incorrect state update on-chain, their transaction isn't finalized until the challenge window elapses.
+In the optimistic case, both parties can cooperate and sign the final state update and submit onchain to close the channel, after which the funds are distributed according to the channel's final state. In the pessimistic case, where someone tries to cheat by posting an incorrect state update onchain, their transaction isn't finalized until the challenge window elapses.
## Virtual state channels {#virtual-state-channels}
-The naive implementation of a state channel would be to deploy a new contract when two users wish to execute an application off-chain. This is not only infeasible, but it also negates the cost-effectiveness of state channels (on-chain transaction costs can quickly add up).
+The naive implementation of a state channel would be to deploy a new contract when two users wish to execute an application offchain. This is not only infeasible, but it also negates the cost-effectiveness of state channels (onchain transaction costs can quickly add up).
-To solve this problem, "virtual channels" were created. Unlike regular channels that require on-chain transactions to open and terminate, a virtual channel can be opened, executed, and finalized without interacting with the main chain. It is even possible to settle disputes off-chain using this method.
+To solve this problem, "virtual channels" were created. Unlike regular channels that require onchain transactions to open and terminate, a virtual channel can be opened, executed, and finalized without interacting with the main chain. It is even possible to settle disputes offchain using this method.
-This system relies on the existence of so-called "ledger channels", which have been funded on-chain. Virtual channels between two parties can be built on top of an existing ledger channel, with the owner(s) of the ledger channel serving as an intermediary.
+This system relies on the existence of so-called "ledger channels", which have been funded onchain. Virtual channels between two parties can be built on top of an existing ledger channel, with the owner(s) of the ledger channel serving as an intermediary.
-Users in each virtual channel interact via a new contract instance, with the ledger channel able to support multiple contract instances. The ledger channel's state also contains more than one contract storage state, allowing for parallel execution of applications off-chain between different users.
+Users in each virtual channel interact via a new contract instance, with the ledger channel able to support multiple contract instances. The ledger channel's state also contains more than one contract storage state, allowing for parallel execution of applications offchain between different users.
-Just like regular channels, users exchange state updates to progress the state machine. Except a dispute arises, the intermediary only has to be contacted when opening or terminating the channel.
+Just like regular channels, users exchange state updates to progress the state machine. Unless a dispute arises, the intermediary only has to be contacted when opening or terminating the channel.
### Virtual payment channels {#virtual-payment-channels}
-Virtual payment channels work off the same idea as virtual state channels: participants connected to the same network can pass messages without needing to open a new channel on-chain. In virtual payment channels, value transfers are routed through one or more intermediaries, with guarantees that only the intended recipient can receive transferred funds.
+Virtual payment channels work off the same idea as virtual state channels: participants connected to the same network can pass messages without needing to open a new channel onchain. In virtual payment channels, value transfers are routed through one or more intermediaries, with guarantees that only the intended recipient can receive transferred funds.
## Applications of state channels {#applications-of-state-channels}
### Payments {#payments}
-Early blockchain channels were simple protocols that allowed two participants to conduct rapid, low-fee transfers off-chain without having to pay high transaction fees on Mainnet. Today, payment channels are still useful for applications designed for the exchange and deposits of ether and tokens.
+Early blockchain channels were simple protocols that allowed two participants to conduct rapid, low-fee transfers offchain without having to pay high transaction fees on Mainnet. Today, payment channels are still useful for applications designed for the exchange and deposits of ether and tokens.
Channel-based payments have the following advantages:
-1. **Throughput**: The amount of off-chain transactions per channel is unconnected to Ethereum's throughput, which is influenced by various factors, especially block size and block time. By executing transactions off-chain, blockchain channels can achieve higher throughput.
+1. **Throughput**: The amount of offchain transactions per channel is unconnected to Ethereum's throughput, which is influenced by various factors, especially block size and block time. By executing transactions offchain, blockchain channels can achieve higher throughput.
-2. **Privacy**: Because channels exist off-chain, details of interactions between participants are not recorded on Ethereum's public blockchain. Channel users only have to interact on-chain when funding and closing channels or settling disputes. Thus, channels are useful for individuals who desire more private transactions.
+2. **Privacy**: Because channels exist offchain, details of interactions between participants are not recorded on Ethereum's public blockchain. Channel users only have to interact onchain when funding and closing channels or settling disputes. Thus, channels are useful for individuals who desire more private transactions.
-3. **Latency**: Off-chain transactions conducted between channel participants can be settled instantly, if both parties cooperate, reducing delays. In contrast, sending a transaction on Mainnet requires waiting for nodes to process the transaction, produce a new block with the transaction, and reach consensus. Users may also need to wait for more block confirmations before considering a transaction finalized.
+3. **Latency**: Offchain transactions conducted between channel participants can be settled instantly, if both parties cooperate, reducing delays. In contrast, sending a transaction on Mainnet requires waiting for nodes to process the transaction, produce a new block with the transaction, and reach consensus. Users may also need to wait for more block confirmations before considering a transaction finalized.
4. **Cost**: State channels are particularly useful in situations where a set of participants will exchange many state updates over a long period. The only costs incurred are the opening and closing of the state channel smart contract; every state change between opening and closing the channel will be cheaper than the last as the settlement cost is distributed accordingly.
-Implementing state channels on layer 2 solutions, such as [rollups](/developers/docs/scaling/#rollups), could make them even more attractive for payments. While channels offer cheap payments, the costs of setting up the on-chain contract on Mainnet during the opening phase can be get expensive—especially when gas fees spike. Ethereum-based rollups offer [lower transaction fees](https://l2fees.info/) and can reduce overhead for channel participants by bringing down setup fees.
+Implementing state channels on layer 2 solutions, such as [rollups](/developers/docs/scaling/#rollups), could make them even more attractive for payments. While channels offer cheap payments, the costs of setting up the onchain contract on Mainnet during the opening phase can be get expensive—especially when gas fees spike. Ethereum-based rollups offer [lower transaction fees](https://l2fees.info/) and can reduce overhead for channel participants by bringing down setup fees.
### Microtransactions {#microtransactions}
@@ -179,19 +179,19 @@ Beyond the cost of opening and closing the channel, participants don't incur fur
### Decentralized applications {#decentralized-applications}
-Like payment channels, state channels can make conditional payments according to the state machine's final states. State channels can also support arbitrary state transition logic, making them useful for executing generic apps off-chain.
+Like payment channels, state channels can make conditional payments according to the state machine's final states. State channels can also support arbitrary state transition logic, making them useful for executing generic apps offchain.
-State channels are often limited to simple turn-based applications, as this makes it easier to manage funds committed to the on-chain contract. Also, with a limited number of parties updating the off-chain application's state at intervals, punishing dishonest behavior is relatively straightforward.
+State channels are often limited to simple turn-based applications, as this makes it easier to manage funds committed to the onchain contract. Also, with a limited number of parties updating the offchain application's state at intervals, punishing dishonest behavior is relatively straightforward.
-The efficiency of a state channel application also depends on its design. For example, a developer might deploy the app channel contract on-chain once and allow other players to re-use the app without having to go on-chain. In this case, the initial app channel serves as a ledger channel supporting multiple virtual channels, each running a new instance of the app's smart contract off-chain.
+The efficiency of a state channel application also depends on its design. For example, a developer might deploy the app channel contract onchain once and allow other players to re-use the app without having to go onchain. In this case, the initial app channel serves as a ledger channel supporting multiple virtual channels, each running a new instance of the app's smart contract offchain.
-A potential use-case for state channel applications is simple two-player games, where funds are distributed based on the game's outcome. The benefit here is that players don't have to trust each other (trustlessness) and the on-chain contract, not players, controls the allocation of funds and settlement of disputes (decentralization).
+A potential use-case for state channel applications is simple two-player games, where funds are distributed based on the game's outcome. The benefit here is that players don't have to trust each other (trustlessness) and the onchain contract, not players, controls the allocation of funds and settlement of disputes (decentralization).
Other possible use-cases for state channel apps include ENS name ownership, NFT ledgers, and many more.
### Atomic transfers {#atomic-transfers}
-Early payment channels were restricted to transfers between two parties, limiting their usability. However, the introduction of virtual channels allowed individuals to route transfers through intermediaries (i.e., multiple p2p channels) without having to open a new channel on-chain.
+Early payment channels were restricted to transfers between two parties, limiting their usability. However, the introduction of virtual channels allowed individuals to route transfers through intermediaries (i.e., multiple p2p channels) without having to open a new channel onchain.
Commonly described as "multi-hop transfers", routed payments are atomic (i.e., either all parts of the transaction succeed or it fails altogether). Atomic transfers use [Hashed Timelock Contracts (HTLCs)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) to ensure the payment is released only if certain conditions are met, thereby reducing counterparty risk.
@@ -203,41 +203,41 @@ To ensure efficiency, state channels place time limits on the ability of channel
In reality, users can go offline for reasons out of their control (e.g., poor internet connection, mechanical failure, etc.). If an honest user goes offline, a malicious peer can exploit the situation by presenting old intermediate states to the adjudicator contract and stealing the committed funds.
-Some channels use "watchtowers"—entities responsible for watching on-chain dispute events on behalf of others and taking necessary actions, like alerting concerned parties. However, this can add to the costs of using a state channel.
+Some channels use "watchtowers"—entities responsible for watching onchain dispute events on behalf of others and taking necessary actions, like alerting concerned parties. However, this can add to the costs of using a state channel.
### Data unavailability {#data-unavailability}
As explained earlier, challenging an invalid dispute requires presenting the latest, valid state of the state channel. This is another rule based on an assumption—that users have access to the channel's latest state.
-Although expecting channel users to store copies of off-chain application state is reasonable, this data may be lost due to error or mechanical failure. If the user doesn't have the data backed up, they can only hope that the other party doesn't finalize an invalid exit request using old state transitions in their possession.
+Although expecting channel users to store copies of offchain application state is reasonable, this data may be lost due to error or mechanical failure. If the user doesn't have the data backed up, they can only hope that the other party doesn't finalize an invalid exit request using old state transitions in their possession.
Ethereum users don't have to deal with this problem since the network enforces rules on data availability. Transaction data is stored and propagated by all nodes and available for users to download if and when necessary.
### Liquidity issues {#liquidity-issues}
-To establish a blockchain channel, participants need to lock funds in an on-chain smart contract for the channel's lifecycle. This reduces the liquidity of channel users and also limits channels to those who can afford to keep funds locked on Mainnet.
+To establish a blockchain channel, participants need to lock funds in an onchain smart contract for the channel's lifecycle. This reduces the liquidity of channel users and also limits channels to those who can afford to keep funds locked on Mainnet.
-However, ledger channels—operated by an off-chain service provider (OSP)—can reduce liquidity issues for users. Two peers connected to a ledger channel can create a virtual channel, which they can open and finalize completely off-chain, anytime they want.
+However, ledger channels—operated by an offchain service provider (OSP)—can reduce liquidity issues for users. Two peers connected to a ledger channel can create a virtual channel, which they can open and finalize completely offchain, anytime they want.
-Off-chain service providers could also open channels with multiple peers, making them useful for routing payments. Of course, users must pay fees to OSPs for their services, which may be undesirable for some.
+Offchain service providers could also open channels with multiple peers, making them useful for routing payments. Of course, users must pay fees to OSPs for their services, which may be undesirable for some.
### Griefing attacks {#griefing-attacks}
Griefing attacks are a common feature of fraud proof-based systems. A griefing attack does not directly benefit the attacker but causes grief (i.e., harm) to the victim, hence the name.
-Fraud proving is susceptible to griefing attacks because the honest party must respond to every dispute, even invalid ones, or risk losing their funds. A malicious participant can decide to repeatedly post stale state transitions on-chain, forcing the honest party to respond with the valid state. The cost of those on-chain transactions can quickly add up, causing honest parties to lose out in the process.
+Fraud proving is susceptible to griefing attacks because the honest party must respond to every dispute, even invalid ones, or risk losing their funds. A malicious participant can decide to repeatedly post stale state transitions onchain, forcing the honest party to respond with the valid state. The cost of those onchain transactions can quickly add up, causing honest parties to lose out in the process.
### Predefined participant sets {#predefined-participant-sets}
-By design, the number of participants that comprise a state channel remains fixed throughout its lifetime. This is because updating the participant set would complicate the channel's operation, especially when funding the channel, or settling disputes. Adding or removing participants would also require additional on-chain activity, which increases overhead for users.
+By design, the number of participants that comprise a state channel remains fixed throughout its lifetime. This is because updating the participant set would complicate the channel's operation, especially when funding the channel, or settling disputes. Adding or removing participants would also require additional onchain activity, which increases overhead for users.
While this makes state channels easier to reason about, it limits the usefulness of channel designs to application developers. This partly explains why state channels have been dropped in favor of other scaling solutions, such as rollups.
### Parallel transaction processing {#parallel-transaction-processing}
-Participants in the state channel send state updates in turns, which is why they work best for "turn-based applications" (e.g., a two-player chess game). This eliminates the need to handle simultaneous state updates and reduces the work the on-chain contract must do to punish stale update posters. However, a side-effect of this design is that transactions are dependent on each other, increasing latency and diminishing the overall user experience.
+Participants in the state channel send state updates in turns, which is why they work best for "turn-based applications" (e.g., a two-player chess game). This eliminates the need to handle simultaneous state updates and reduces the work the onchain contract must do to punish stale update posters. However, a side-effect of this design is that transactions are dependent on each other, increasing latency and diminishing the overall user experience.
-Some state channels solve this problem by using a "full-duplex" design that separates the off-chain state into two unidirectional "simplex" states, allowing for concurrent state updates. Such designs improve off-chain throughput and decrease transaction delays.
+Some state channels solve this problem by using a "full-duplex" design that separates the offchain state into two unidirectional "simplex" states, allowing for concurrent state updates. Such designs improve offchain throughput and decrease transaction delays.
## Use state channels {#use-state-channels}
diff --git a/public/content/developers/docs/scaling/validium/index.md b/public/content/developers/docs/scaling/validium/index.md
index 11d2ec76569..2e2958b40d4 100644
--- a/public/content/developers/docs/scaling/validium/index.md
+++ b/public/content/developers/docs/scaling/validium/index.md
@@ -5,7 +5,7 @@ lang: en
sidebarDepth: 3
---
-Validium is a [scaling solution](/developers/docs/scaling/) that enforces integrity of transactions using validity proofs like [ZK-rollups](/developers/docs/scaling/zk-rollups/), but doesn’t store transaction data on the Ethereum Mainnet. While off-chain data availability introduces trade-offs, it can lead to massive improvements in scalability (validiums can process [~9,000 transactions, or more, per second](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)).
+Validium is a [scaling solution](/developers/docs/scaling/) that enforces integrity of transactions using validity proofs like [ZK-rollups](/developers/docs/scaling/zk-rollups/), but doesn’t store transaction data on the Ethereum Mainnet. While offchain data availability introduces trade-offs, it can lead to massive improvements in scalability (validiums can process [~9,000 transactions, or more, per second](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)).
## Prerequisites {#prerequisites}
@@ -13,35 +13,35 @@ You should have read and understood our page on [Ethereum scaling](/developers/d
## What is validium? {#what-is-validium}
-Validiums are scaling solutions that use off-chain data availability and computation designed to improve throughput by processing transactions off the Ethereum Mainnet. Like zero-knowledge rollups (ZK-rollups), validiums publish [zero-knowledge proofs](/glossary/#zk-proof) to verify off-chain transactions on Ethereum. This prevents invalid state transitions and enhances the security guarantees of a validium chain.
+Validiums are scaling solutions that use offchain data availability and computation designed to improve throughput by processing transactions off the Ethereum Mainnet. Like zero-knowledge rollups (ZK-rollups), validiums publish [zero-knowledge proofs](/glossary/#zk-proof) to verify offchain transactions on Ethereum. This prevents invalid state transitions and enhances the security guarantees of a validium chain.
These "validity proofs" can come in the form of ZK-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) or ZK-STARKs (Zero-Knowledge Scalable Transparent ARgument of Knowledge). More on [zero-knowledge proofs](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/).
-Funds belonging to validium users are controlled by a smart contract on Ethereum. Validiums offer near-instant withdrawals, much like ZK-rollups do; once the validity proof for a withdrawal request has been verified on Mainnet, users can withdraw funds by providing [Merkle proofs](/developers/tutorials/merkle-proofs-for-offline-data-integrity/). The Merkle proof validates the inclusion of the user’s withdrawal transaction in a verified transaction batch, allowing the on-chain contract to process the withdrawal.
+Funds belonging to validium users are controlled by a smart contract on Ethereum. Validiums offer near-instant withdrawals, much like ZK-rollups do; once the validity proof for a withdrawal request has been verified on Mainnet, users can withdraw funds by providing [Merkle proofs](/developers/tutorials/merkle-proofs-for-offline-data-integrity/). The Merkle proof validates the inclusion of the user’s withdrawal transaction in a verified transaction batch, allowing the onchain contract to process the withdrawal.
-However, validium users can have their funds frozen and withdrawals restricted. This can happen if data availability managers on the validium chain withhold off-chain state data from users. Without access to transaction data, users cannot compute the Merkle proof required to prove ownership of funds and execute withdrawals.
+However, validium users can have their funds frozen and withdrawals restricted. This can happen if data availability managers on the validium chain withhold offchain state data from users. Without access to transaction data, users cannot compute the Merkle proof required to prove ownership of funds and execute withdrawals.
This is the major difference between validiums and ZK-rollups—their positions on the data availability spectrum. Both solutions approach data storage differently, which has implications for security and trustlessness.
## How do validiums interact with Ethereum? {#how-do-validiums-interact-with-ethereum}
-Validiums are scaling protocols built on top of the existing Ethereum chain. Although it executes transactions off-chain, a validium chain is administered by a collection of smart contracts deployed on Mainnet including:
+Validiums are scaling protocols built on top of the existing Ethereum chain. Although it executes transactions offchain, a validium chain is administered by a collection of smart contracts deployed on Mainnet including:
-1. **Verifier contract**: The verifier contract verifies the validity of proofs submitted by the validium operator when making state updates. This includes validity proofs attesting to the correctness of off-chain transactions and data availability proofs verifying the existence of off-chain transaction data.
+1. **Verifier contract**: The verifier contract verifies the validity of proofs submitted by the validium operator when making state updates. This includes validity proofs attesting to the correctness of offchain transactions and data availability proofs verifying the existence of offchain transaction data.
-2. **Main contract**: The main contract stores state commitments (Merkle roots) submitted by block producers and updates the validium's state once a validity proof is verified on-chain. This contract also processes deposits to and withdrawals from the validium chain.
+2. **Main contract**: The main contract stores state commitments (Merkle roots) submitted by block producers and updates the validium's state once a validity proof is verified onchain. This contract also processes deposits to and withdrawals from the validium chain.
Validiums also rely on the main Ethereum chain for the following:
### Settlement {#settlement}
-Transactions executed on a validium cannot be fully confirmed until the parent chain verifies their validity. All business conducted on a validium must eventually be settled on Mainnet. The Ethereum blockchain also provides "settlement guarantees" for validium users, meaning off-chain transactions cannot be reversed or altered once committed to on-chain.
+Transactions executed on a validium cannot be fully confirmed until the parent chain verifies their validity. All business conducted on a validium must eventually be settled on Mainnet. The Ethereum blockchain also provides "settlement guarantees" for validium users, meaning offchain transactions cannot be reversed or altered once committed to onchain.
### Security {#security}
-Ethereum, acting as a settlement layer, also guarantees the validity of state transitions on validium. Off-chain transactions executed on the validium chain are verified via a smart contract on the base Ethereum layer.
+Ethereum, acting as a settlement layer, also guarantees the validity of state transitions on validium. Offchain transactions executed on the validium chain are verified via a smart contract on the base Ethereum layer.
-If the on-chain verifier contract deems the proof invalid, the transactions are rejected. This means operators must satisfy validity conditions enforced by the Ethereum protocol before updating the validium's state.
+If the onchain verifier contract deems the proof invalid, the transactions are rejected. This means operators must satisfy validity conditions enforced by the Ethereum protocol before updating the validium's state.
## How does validium work? {#how-does-validium-work}
@@ -55,11 +55,11 @@ The operator aggregates transactions into a batch and sends it to a proving circ
The state of the validium is hashed as a Merkle tree with the root stored in the main contract on Ethereum. The Merkle root, also known as the state root, acts as a cryptographic commitment to the current state of accounts and balances on the validium.
-To perform a state update, the operator must compute a new state root (after executing transactions) and submit it to the on-chain contract. If the validity proof checks out, the proposed state is accepted and the validium switches to the new state root.
+To perform a state update, the operator must compute a new state root (after executing transactions) and submit it to the onchain contract. If the validity proof checks out, the proposed state is accepted and the validium switches to the new state root.
### Deposits and withdrawals {#deposits-and-withdrawals}
-Users move funds from Ethereum to a validium by depositing ETH (or any ERC-compatible token) in the on-chain contract. The contract relays the deposit event to the validium off-chain, where the user's address is credited with an amount equal to their deposit. The operator also includes this deposit transaction in a new batch.
+Users move funds from Ethereum to a validium by depositing ETH (or any ERC-compatible token) in the onchain contract. The contract relays the deposit event to the validium offchain, where the user's address is credited with an amount equal to their deposit. The operator also includes this deposit transaction in a new batch.
To move funds back to Mainnet, a validium user initiates a withdrawal transaction and submits it to the operator who validates the withdrawal request and includes it in a batch. The user's assets on the validium chain are also destroyed before they can exit the system. Once the validity proof associated with the batch is verified, the user can call the main contract to withdraw the remainder of their initial deposit.
@@ -69,25 +69,25 @@ As an anti-censorship mechanism, the validium protocol allows users to withdraw
After executing a batch of transactions, the operator submits the associated validity proof to the verifier contract and proposes a new state root to the main contract. If the proof is valid, the main contract updates the validium's state and finalizes the results of transactions in the batch.
-Unlike a ZK-rollup, block producers on a validium are not required to publish transaction data for transaction batches (only block headers). This makes validium a purely off-chain scaling protocol, as opposed to "hybrid" scaling protocols (i.e., [layer 2](/layer-2/)) that publish state data on the main Ethereum chain as `calldata`.
+Unlike a ZK-rollup, block producers on a validium are not required to publish transaction data for transaction batches (only block headers). This makes validium a purely offchain scaling protocol, as opposed to "hybrid" scaling protocols (i.e., [layer 2](/layer-2/)) that publish state data on the main Ethereum chain using blob data, `calldata`, or a combination of both.
### Data availability {#data-availability}
-As mentioned, validiums utilize an off-chain data availability model, where operators store all transaction data off Ethereum Mainnet. Validium's low on-chain data footprint improves scalability (throughput isn't limited by Ethereum's data processing capacity) and reduces user fees (the cost of publishing `calldata` is lower).
+As mentioned, validiums utilize an offchain data availability model, where operators store all transaction data off Ethereum Mainnet. Validium's low onchain data footprint improves scalability (throughput isn't limited by Ethereum's data processing capacity) and reduces user fees (the cost of publishing data onchain is lower).
-Off-chain data availability, however, presents a problem: data necessary for creating or verifying Merkle proofs may be unavailable. This means users may be unable to withdraw funds from the on-chain contract if operators should act maliciously.
+Offchain data availability, however, presents a problem: data necessary for creating or verifying Merkle proofs may be unavailable. This means users may be unable to withdraw funds from the onchain contract if operators should act maliciously.
-Various validium solutions attempt to solve this problem by decentralizing the storage of state data. This involves forcing block producers to send the underlying data to "data availability managers" responsible for storing off-chain data and making it available to users on request.
+Various validium solutions attempt to solve this problem by decentralizing the storage of state data. This involves forcing block producers to send the underlying data to "data availability managers" responsible for storing offchain data and making it available to users on request.
-Data availability managers in validium attest to the availability of data for off-chain transactions by signing every validium batch. These signatures constitute a form of "availability proof" which the on-chain verifier contract checks before approving state updates.
+Data availability managers in validium attest to the availability of data for offchain transactions by signing every validium batch. These signatures constitute a form of "availability proof" which the onchain verifier contract checks before approving state updates.
Validiums differ in their approach to data availability management. Some rely on trusted parties to store state data, while others use randomly assigned validators for the task.
#### Data availability committee (DAC) {#data-availability-committee}
-To guarantee the availability of off-chain data, some validium solutions appoint a group of trusted entities, collectively known as a data availability committee (DAC), to store copies of the state and provide proof of data availability. DACs are easier to implement and require less coordination since membership is low.
+To guarantee the availability of offchain data, some validium solutions appoint a group of trusted entities, collectively known as a data availability committee (DAC), to store copies of the state and provide proof of data availability. DACs are easier to implement and require less coordination since membership is low.
-However, users must trust the DAC to make the data available when needed (e.g., for generating Merkle proofs). There's the possibility of members of data availability committees [getting compromised by a malicious actor](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view) who can then withhold off-chain data.
+However, users must trust the DAC to make the data available when needed (e.g., for generating Merkle proofs). There's the possibility of members of data availability committees [getting compromised by a malicious actor](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view) who can then withhold offchain data.
[More on data availability committees in validiums](https://medium.com/starkware/data-availability-e5564c416424).
@@ -95,7 +95,7 @@ However, users must trust the DAC to make the data available when needed (e.g.,
Other validiums require participants charged with storing offline data to stake (i.e., lock up) tokens in a smart contract before assuming their roles. This stake serves as a “bond” to guarantee honest behavior among data availability managers and reduces trust assumptions. If these participants fail to prove data availability, the bond is slashed.
-In a bonded data availability scheme, anyone can be assigned to hold off-chain data once they provide the required stake. This expands the pool of eligible data availability managers, reducing the centralization that affects data availability committees (DACs). More importantly, this approach relies on cryptoeconomic incentives to prevent malicious activity, which is considerably more secure than appointing trusted parties to secure offline data in the validium.
+In a bonded data availability scheme, anyone can be assigned to hold offchain data once they provide the required stake. This expands the pool of eligible data availability managers, reducing the centralization that affects data availability committees (DACs). More importantly, this approach relies on cryptoeconomic incentives to prevent malicious activity, which is considerably more secure than appointing trusted parties to secure offline data in the validium.
[More on bonded data availability in validiums](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf).
@@ -103,7 +103,7 @@ In a bonded data availability scheme, anyone can be assigned to hold off-chain d
Validiums offer many benefits but come with trade-offs (most notably, data availability). But, as with many scaling solutions, validiums are suited to specific use-cases—which is why volitions were created.
-Volitions combine a ZK-rollup and validium chain and allow users to switch between the two scaling solutions. With volitions, users can take advantage of validium's off-chain data availability for certain transactions, while retaining the freedom to switch to an on-chain data availability solution (ZK-rollup) if needed. This essentially gives users the freedom to choose trade-offs as dictated by their unique circumstances.
+Volitions combine a ZK-rollup and validium chain and allow users to switch between the two scaling solutions. With volitions, users can take advantage of validium's offchain data availability for certain transactions, while retaining the freedom to switch to an onchain data availability solution (ZK-rollup) if needed. This essentially gives users the freedom to choose trade-offs as dictated by their unique circumstances.
A decentralized exchange (DEX) may prefer using a validium’s scalable and private infrastructure for high-value trades. It can also use a ZK-rollup for users who want a ZK-rollup's higher security guarantees and trustlessness.
@@ -113,34 +113,34 @@ Like ZK-rollups, validiums are mostly suited to simple applications, such as tok
Some validium projects attempt to sidestep this problem by compiling EVM-compatible languages (e.g., Solidity, Vyper) into creating custom bytecode optimized for efficient proving. A drawback of this approach is that new zero-knowledge proof-friendly VMs may not support important EVM opcodes, and developers have to write directly in the high-level language for an optimal experience. This creates even more problems: it forces developers to build dapps with an entirely new development stack and breaks compatibility with current Ethereum infrastructure.
-Some teams, however, are attempting to optimize existing EVM opcodes for ZK-proving circuits. This will result in the development of a zero-knowledge Ethereum Virtual Machine (zkEVM), an EVM-compatible VM that produces proofs to verify the correctness of program execution. With a zkEVM, validium chains can execute smart contracts off-chain and submit validity proofs to verify an off-chain computation (without having to re-execute it) on Ethereum.
+Some teams, however, are attempting to optimize existing EVM opcodes for ZK-proving circuits. This will result in the development of a zero-knowledge Ethereum Virtual Machine (zkEVM), an EVM-compatible VM that produces proofs to verify the correctness of program execution. With a zkEVM, validium chains can execute smart contracts offchain and submit validity proofs to verify an offchain computation (without having to re-execute it) on Ethereum.
[More on zkEVMs](https://www.alchemy.com/overviews/zkevm).
## How do validiums scale Ethereum? {#scaling-ethereum-with-validiums}
-### 1. Off-chain data storage {#off-chain-data-storage}
+### 1. Offchain data storage {#offchain-data-storage}
-Layer 2 scaling projects, such as optimistic rollups and ZK-rollups, trade the infinite scalability of pure off-chain scaling protocols (e.g., [Plasma](/developers/docs/scaling/plasma/)) for security by publishing some transaction data on L1. But this means the scalability properties of rollups is limited by data bandwidth on Ethereum Mainnet ([data sharding](/roadmap/danksharding/) proposes to improve Ethereum's data storage capacity for this reason).
+Layer 2 scaling projects, such as optimistic rollups and ZK-rollups, trade the infinite scalability of pure offchain scaling protocols (e.g., [Plasma](/developers/docs/scaling/plasma/)) for security by publishing some transaction data on L1. But this means the scalability properties of rollups is limited by data bandwidth on Ethereum Mainnet ([data sharding](/roadmap/danksharding/) proposes to improve Ethereum's data storage capacity for this reason).
-Validiums achieve scalability by keeping all transaction data off-chain and only post state commitments (and validity proofs) when relaying state updates to the main Ethereum chain. The existence of validity proofs, however, gives validiums higher security guarantees than other pure off-chain scaling solutions, including Plasma and [sidechains](/developers/docs/scaling/sidechains/). By reducing the amount of data Ethereum has to process before validating off-chain transactions, validium designs greatly extend throughput on Mainnet.
+Validiums achieve scalability by keeping all transaction data offchain and only post state commitments (and validity proofs) when relaying state updates to the main Ethereum chain. The existence of validity proofs, however, gives validiums higher security guarantees than other pure offchain scaling solutions, including Plasma and [sidechains](/developers/docs/scaling/sidechains/). By reducing the amount of data Ethereum has to process before validating offchain transactions, validium designs greatly extend throughput on Mainnet.
### 2. Recursive proofs {#recursive-proofs}
A recursive proof is a validity proof that verifies the validity of other proofs. These "proof of proofs" are generated by recursively aggregating multiple proofs until one final proof verifying all previous proofs is created. Recursive proofs scale blockchain processing speeds by increasing the number of transactions that can be verified per validity proof.
-Typically, each validity proof the validium operator submits to Ethereum for verification validates the integrity of a single block. Whereas a single recursive proof can be used to confirm the validity of several validium blocks at the same time—this is possible since the proving circuit can recursively aggregate several block proofs into one final proof. If the on-chain verifier contract accepts the recursive proof, all the underlying blocks are finalized immediately.
+Typically, each validity proof the validium operator submits to Ethereum for verification validates the integrity of a single block. Whereas a single recursive proof can be used to confirm the validity of several validium blocks at the same time—this is possible since the proving circuit can recursively aggregate several block proofs into one final proof. If the onchain verifier contract accepts the recursive proof, all the underlying blocks are finalized immediately.
## Pros and cons of validium {#pros-and-cons-of-validium}
| Pros | Cons |
| ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Validity proofs enforce integrity of off-chain transactions and prevent operators from finalizing invalid state updates. | Producing validity proofs requires special hardware, which poses a centralization risk. |
+| Validity proofs enforce integrity of offchain transactions and prevent operators from finalizing invalid state updates. | Producing validity proofs requires special hardware, which poses a centralization risk. |
| Increases capital efficiency for users (no delays in withdrawing funds back to Ethereum) | Limited support for general computation/smart contracts; specialized languages required for development. |
| Not vulnerable to certain economic attacks faced by fraud-proof based systems in high-value applications. | High computational power required to generate ZK proofs; not cost-effective for low throughput applications. |
| Reduces gas fees for users by not posting calldata to Ethereum Mainnet. | Slower subjective finality time (10-30 min to generate a ZK proof) but faster to full finality because there is no dispute time delay. |
-| Suitable for specific use-cases, like trading or blockchain gaming that prioritize transaction privacy and scalability. | Users can be prevented from withdrawing funds since generating Merkle proofs of ownership requires off-chain data to be available at all times. |
-| Off-chain data availability provides higher levels of throughput and increases scalability. | Security model relies on trust assumptions and cryptoeconomic incentives, unlike ZK-rollups, which purely rely on cryptographic security mechanisms. |
+| Suitable for specific use-cases, like trading or blockchain gaming that prioritize transaction privacy and scalability. | Users can be prevented from withdrawing funds since generating Merkle proofs of ownership requires offchain data to be available at all times. |
+| Offchain data availability provides higher levels of throughput and increases scalability. | Security model relies on trust assumptions and cryptoeconomic incentives, unlike ZK-rollups, which purely rely on cryptographic security mechanisms. |
### Use Validium/Volitions {#use-validium-and-volitions}
@@ -154,7 +154,7 @@ Multiple projects provide implementations of Validium and volitions that you can
**Matter Labs zkPorter**- _zkPorter is a Layer 2 scaling protocol tackling data availability with a hybrid approach that combines the ideas of zkRollup and sharding. It can support arbitrarily many shards, each with its own data availability policy._
- [Blog](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
-- [Documentation](https://docs.zksync.io/zk-stack/concepts/data-availability)
+- [Documentation](https://docs.zksync.io/zksync-protocol/rollup/data-availability)
- [Website](https://zksync.io/)
## Further reading {#further-reading}
@@ -163,3 +163,4 @@ Multiple projects provide implementations of Validium and volitions that you can
- [ZK-rollups vs Validium](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)
- [Volition and the Emerging Data Availability spectrum](https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb)
- [Rollups, Validiums, and Volitions: Learn About the Hottest Ethereum Scaling Solutions](https://www.defipulse.com/blog/rollups-validiums-and-volitions-learn-about-the-hottest-ethereum-scaling-solutions)
+- [The Practical Guide to Ethereum Rollups](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
diff --git a/public/content/developers/docs/scaling/zk-rollups/index.md b/public/content/developers/docs/scaling/zk-rollups/index.md
index 01f04c472e9..cdfe7289155 100644
--- a/public/content/developers/docs/scaling/zk-rollups/index.md
+++ b/public/content/developers/docs/scaling/zk-rollups/index.md
@@ -4,7 +4,7 @@ description: An introduction to zero-knowledge rollups—a scaling solution used
lang: en
---
-Zero-knowledge rollups (ZK-rollups) are layer 2 [scaling solutions](/developers/docs/scaling/) that increase throughput on Ethereum Mainnet by moving computation and state-storage off-chain. ZK-rollups can process thousands of transactions in a batch and then only post some minimal summary data to Mainnet. This summary data defines the changes that should be made to the Ethereum state and some cryptographic proof that those changes are correct.
+Zero-knowledge rollups (ZK-rollups) are layer 2 [scaling solutions](/developers/docs/scaling/) that increase throughput on Ethereum Mainnet by moving computation and state-storage offchain. ZK-rollups can process thousands of transactions in a batch and then only post some minimal summary data to Mainnet. This summary data defines the changes that should be made to the Ethereum state and some cryptographic proof that those changes are correct.
## Prerequisites {#prerequisites}
@@ -12,35 +12,35 @@ You should have read and understood our page on [Ethereum scaling](/developers/d
## What are zero-knowledge rollups? {#what-are-zk-rollups}
-**Zero-knowledge rollups (ZK-rollups)** bundle (or 'roll up') transactions into batches that are executed off-chain. Off-chain computation reduces the amount of data that has to be posted to the blockchain. ZK-rollup operators submit a summary of the changes required to represent all the transactions in a batch rather than sending each transaction individually. They also produce [validity proofs](/glossary/#validity-proof) to prove the correctness of their changes.
+**Zero-knowledge rollups (ZK-rollups)** bundle (or 'roll up') transactions into batches that are executed offchain. Offchain computation reduces the amount of data that has to be posted to the blockchain. ZK-rollup operators submit a summary of the changes required to represent all the transactions in a batch rather than sending each transaction individually. They also produce [validity proofs](/glossary/#validity-proof) to prove the correctness of their changes.
-The ZK-rollup's state is maintained by a smart contract deployed on the Ethereum network. To update this state, ZK-rollup nodes must submit a validity proof for verification. As mentioned, the validity proof is a cryptographic assurance that the state-change proposed by the rollup is really the result of executing the given batch of transactions. This means that ZK-rollups only need to provide validity proofs to finalize transactions on Ethereum instead of posting all transaction data on-chain like [optimistic rollups](/developers/docs/scaling/optimistic-rollups/).
+The ZK-rollup's state is maintained by a smart contract deployed on the Ethereum network. To update this state, ZK-rollup nodes must submit a validity proof for verification. As mentioned, the validity proof is a cryptographic assurance that the state-change proposed by the rollup is really the result of executing the given batch of transactions. This means that ZK-rollups only need to provide validity proofs to finalize transactions on Ethereum instead of posting all transaction data onchain like [optimistic rollups](/developers/docs/scaling/optimistic-rollups/).
There are no delays when moving funds from a ZK-rollup to Ethereum because exit transactions are executed once the ZK-rollup contract verifies the validity proof. Conversely, withdrawing funds from optimistic rollups is subject to a delay to allow anyone to challenge the exit transaction with a [fraud proof](/glossary/#fraud-proof).
-ZK-rollups write transactions to Ethereum as `calldata`. `calldata` is where data that is included in external calls to smart contract functions gets stored. Information in `calldata` is published on the blockchain, allowing anyone to reconstruct the rollup’s state independently. ZK-rollups use compression techniques to reduce transaction data—for example, accounts are represented by an index rather than an address, which saves 28 bytes of data. On-chain data publication is a significant cost for rollups, so data compression can reduce fees for users.
+ZK-rollups write transactions to Ethereum as `calldata`. `calldata` is where data that is included in external calls to smart contract functions gets stored. Information in `calldata` is published on the blockchain, allowing anyone to reconstruct the rollup’s state independently. ZK-rollups use compression techniques to reduce transaction data—for example, accounts are represented by an index rather than an address, which saves 28 bytes of data. Onchain data publication is a significant cost for rollups, so data compression can reduce fees for users.
## How do ZK-rollups interact with Ethereum? {#zk-rollups-and-ethereum}
-A ZK-rollup chain is an off-chain protocol that operates on top of the Ethereum blockchain and is managed by on-chain Ethereum smart contracts. ZK-rollups execute transactions outside of Mainnet, but periodically commit off-chain transaction batches to an on-chain rollup contract. This transaction record is immutable, much like the Ethereum blockchain, and forms the ZK-rollup chain.
+A ZK-rollup chain is an offchain protocol that operates on top of the Ethereum blockchain and is managed by onchain Ethereum smart contracts. ZK-rollups execute transactions outside of Mainnet, but periodically commit offchain transaction batches to an onchain rollup contract. This transaction record is immutable, much like the Ethereum blockchain, and forms the ZK-rollup chain.
The ZK-rollup's core architecture is made up of the following components:
-1. **On-chain contracts**: As mentioned, the ZK-rollup protocol is controlled by smart contracts running on Ethereum. This includes the main contract which stores rollup blocks, tracks deposits, and monitors state updates. Another on-chain contract (the verifier contract) verifies zero-knowledge proofs submitted by block producers. Thus, Ethereum serves as the base layer or "layer 1" for the ZK-rollup.
+1. **Onchain contracts**: As mentioned, the ZK-rollup protocol is controlled by smart contracts running on Ethereum. This includes the main contract which stores rollup blocks, tracks deposits, and monitors state updates. Another onchain contract (the verifier contract) verifies zero-knowledge proofs submitted by block producers. Thus, Ethereum serves as the base layer or "layer 1" for the ZK-rollup.
-2. **Off-chain virtual machine (VM)**: While the ZK-rollup protocol lives on Ethereum, transaction execution and state storage happen on a separate virtual machine independent of the [EVM](/developers/docs/evm/). This off-chain VM is the execution environment for transactions on the ZK-rollup and serves as the secondary layer or "layer 2" for the ZK-rollup protocol. Validity proofs verified on Ethereum Mainnet guarantee the correctness of state transitions in the off-chain VM.
+2. **Offchain virtual machine (VM)**: While the ZK-rollup protocol lives on Ethereum, transaction execution and state storage happen on a separate virtual machine independent of the [EVM](/developers/docs/evm/). This offchain VM is the execution environment for transactions on the ZK-rollup and serves as the secondary layer or "layer 2" for the ZK-rollup protocol. Validity proofs verified on Ethereum Mainnet guarantee the correctness of state transitions in the offchain VM.
-ZK-rollups are "hybrid scaling solutions"—off-chain protocols that operate independently but derive security from Ethereum. Specifically, the Ethereum network enforces the validity of state updates on the ZK-rollup and guarantees the availability of data behind every update to the rollup's state. As a result, ZK-rollups are considerably safer than pure off-chain scaling solutions, such as [sidechains](/developers/docs/scaling/sidechains/), which are responsible for their security properties, or [validiums](/developers/docs/scaling/validium/), which also verify transactions on Ethereum with validity proofs, but store transaction data elsewhere.
+ZK-rollups are "hybrid scaling solutions"—offchain protocols that operate independently but derive security from Ethereum. Specifically, the Ethereum network enforces the validity of state updates on the ZK-rollup and guarantees the availability of data behind every update to the rollup's state. As a result, ZK-rollups are considerably safer than pure offchain scaling solutions, such as [sidechains](/developers/docs/scaling/sidechains/), which are responsible for their security properties, or [validiums](/developers/docs/scaling/validium/), which also verify transactions on Ethereum with validity proofs, but store transaction data elsewhere.
ZK-rollups rely on the main Ethereum protocol for the following:
### Data availability {#data-availability}
-ZK-rollups publish state data for every transaction processed off-chain to Ethereum. With this data, it is possible for individuals or businesses to reproduce the rollup’s state and validate the chain themselves. Ethereum makes this data available to all participants of the network as `calldata`.
+ZK-rollups publish state data for every transaction processed offchain to Ethereum. With this data, it is possible for individuals or businesses to reproduce the rollup’s state and validate the chain themselves. Ethereum makes this data available to all participants of the network as `calldata`.
-ZK-rollups don’t need to publish much transaction data on-chain because validity proofs already verify the authenticity of state transitions. Nevertheless, storing data on-chain is still important because it allows permissionless, independent verification of the L2 chain's state which in turn allows anyone to submit batches of transactions, preventing malicious operators from censoring or freezing the chain.
+ZK-rollups don’t need to publish much transaction data onchain because validity proofs already verify the authenticity of state transitions. Nevertheless, storing data onchain is still important because it allows permissionless, independent verification of the L2 chain's state which in turn allows anyone to submit batches of transactions, preventing malicious operators from censoring or freezing the chain.
-On-chain is required for users to interact with the rollup. Without access to state data users cannot query their account balance or initiate transactions (e.g., withdrawals) that rely on state information.
+Onchain is required for users to interact with the rollup. Without access to state data users cannot query their account balance or initiate transactions (e.g., withdrawals) that rely on state information.
### Transaction finality {#transaction-finality}
@@ -62,27 +62,27 @@ Other ZK-rollups may rotate the operator role by using a [proof-of-stake](/devel
#### How ZK-rollups publish transaction data on Ethereum {#how-zk-rollups-publish-transaction-data-on-ethereum}
-As explained, transaction data is published on Ethereum as `calldata`. `calldata` is a data area in a smart contract used to pass arguments to a function and behaves similarly to [memory](/developers/docs/smart-contracts/anatomy/#memory). While `calldata` isn’t stored as part of Ethereum’s state, it persists on-chain as part of the Ethereum chain's [history logs](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs). `calldata` does not affect Ethereum's state, making it a cheap way to store data on-chain.
+As explained, transaction data is published on Ethereum as `calldata`. `calldata` is a data area in a smart contract used to pass arguments to a function and behaves similarly to [memory](/developers/docs/smart-contracts/anatomy/#memory). While `calldata` isn’t stored as part of Ethereum’s state, it persists onchain as part of the Ethereum chain's [history logs](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs). `calldata` does not affect Ethereum's state, making it a cheap way to store data onchain.
-The `calldata` keyword often identifies the smart contract method being called by a transaction and holds inputs to the method in the form of an arbitrary sequence of bytes. ZK-rollups use `calldata` to publish compressed transaction data on-chain; the rollup operator simply adds a new batch by calling the required function in the rollup contract and passes the compressed data as function arguments. This helps reduce costs for users since a large part of rollup fees go toward storing transaction data on-chain.
+The `calldata` keyword often identifies the smart contract method being called by a transaction and holds inputs to the method in the form of an arbitrary sequence of bytes. ZK-rollups use `calldata` to publish compressed transaction data onchain; the rollup operator simply adds a new batch by calling the required function in the rollup contract and passes the compressed data as function arguments. This helps reduce costs for users since a large part of rollup fees go toward storing transaction data onchain.
### State commitments {#state-commitments}
-The ZK-rollup’s state, which includes L2 accounts and balances, is represented as a [Merkle tree](/whitepaper/#merkle-trees). A cryptographic hash of the Merkle tree’s root (Merkle root) is stored in the on-chain contract, allowing the rollup protocol to track changes in the state of the ZK-rollup.
+The ZK-rollup’s state, which includes L2 accounts and balances, is represented as a [Merkle tree](/whitepaper/#merkle-trees). A cryptographic hash of the Merkle tree’s root (Merkle root) is stored in the onchain contract, allowing the rollup protocol to track changes in the state of the ZK-rollup.
-The rollup transitions to a new state after the execution of a new set of transactions. The operator who initiated the state transition is required to compute a new state root and submit to the on-chain contract. If the validity proof associated with the batch is authenticated by the verifier contract, the new Merkle root becomes the ZK-rollup’s canonical state root.
+The rollup transitions to a new state after the execution of a new set of transactions. The operator who initiated the state transition is required to compute a new state root and submit to the onchain contract. If the validity proof associated with the batch is authenticated by the verifier contract, the new Merkle root becomes the ZK-rollup’s canonical state root.
Besides computing state roots, the ZK-rollup operator also creates a batch root—the root of a Merkle tree comprising all transactions in a batch. When a new batch is submitted, the rollup contract stores the batch root, allowing users to prove a transaction (e.g., a withdrawal request) was included in the batch. Users will have to provide transaction details, the batch root, and a [Merkle proof](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) showing the inclusion path.
### Validity proofs {#validity-proofs}
-The new state root that the ZK-rollup operator submits to the L1 contract is the result of updates to the rollup’s state. Say Alice sends 10 tokens to Bob, the operator simply decreases Alice’s balance by 10 and increments Bob’s balance by 10. The operator then hashes the updated account data, rebuilds the rollup's Merkle tree, and submits the new Merkle root to the on-chain contract.
+The new state root that the ZK-rollup operator submits to the L1 contract is the result of updates to the rollup’s state. Say Alice sends 10 tokens to Bob, the operator simply decreases Alice’s balance by 10 and increments Bob’s balance by 10. The operator then hashes the updated account data, rebuilds the rollup's Merkle tree, and submits the new Merkle root to the onchain contract.
But the rollup contract won’t automatically accept the proposed state commitment until the operator proves the new Merkle root resulted from correct updates to the rollup’s state. The ZK-rollup operator does this by producing a validity proof, a succinct cryptographic commitment verifying the correctness of batched transactions.
-Validity proofs allow parties to prove the correctness of a statement without revealing the statement itself—hence, they are also called zero-knowledge proofs. ZK-rollups use validity proofs to confirm the correctness of off-chain state transitions without having to re-execute transactions on Ethereum. These proofs can come in the form of a [ZK-SNARK](https://arxiv.org/abs/2202.06877) (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) or [ZK-STARK](https://eprint.iacr.org/2018/046) (Zero-Knowledge Scalable Transparent Argument of Knowledge).
+Validity proofs allow parties to prove the correctness of a statement without revealing the statement itself—hence, they are also called zero-knowledge proofs. ZK-rollups use validity proofs to confirm the correctness of offchain state transitions without having to re-execute transactions on Ethereum. These proofs can come in the form of a [ZK-SNARK](https://arxiv.org/abs/2202.06877) (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) or [ZK-STARK](https://eprint.iacr.org/2018/046) (Zero-Knowledge Scalable Transparent Argument of Knowledge).
-Both SNARKs and STARKs help attest to the integrity of off-chain computation in ZK-rollups, although each proof type has distinctive features.
+Both SNARKs and STARKs help attest to the integrity of offchain computation in ZK-rollups, although each proof type has distinctive features.
**ZK-SNARKs**
@@ -96,7 +96,7 @@ Trust assumptions aside, ZK-SNARKs are popular for their small proof sizes and c
**ZK-STARKs**
-Like ZK-SNARKs, ZK-STARKs prove the validity of off-chain computation without revealing the inputs. However, ZK-STARKs are considered an improvement on ZK-SNARKs because of their scalability and transparency.
+Like ZK-SNARKs, ZK-STARKs prove the validity of offchain computation without revealing the inputs. However, ZK-STARKs are considered an improvement on ZK-SNARKs because of their scalability and transparency.
ZK-STARKs are 'transparent', as they can work without the trusted setup of a Common Reference String (CRS). Instead, ZK-STARKs rely on publicly verifiable randomness to set up parameters for generating and verifying proofs.
@@ -152,7 +152,7 @@ Users enter the ZK-rollup by depositing tokens in the rollup's contract deployed
If the pending deposit queue starts filling up, the ZK-rollup operator will take the deposit transactions and submit them to the rollup contract. Once the user's funds are in the rollup, they can start transacting by sending transactions to the operator for processing. Users can verify balances on the rollup by hashing their account data, sending the hash to the rollup contract, and providing a Merkle proof to verify against the current state root.
-Withdrawing from a ZK-rollup to L1 is straightforward. The user initiates the exit transaction by sending their assets on the rollup to a specified account for burning. If the operator includes the transaction in the next batch, the user can submit a withdrawal request to the on-chain contract. This withdrawal request will include the following:
+Withdrawing from a ZK-rollup to L1 is straightforward. The user initiates the exit transaction by sending their assets on the rollup to a specified account for burning. If the operator includes the transaction in the next batch, the user can submit a withdrawal request to the onchain contract. This withdrawal request will include the following:
- Merkle proof proving the inclusion of the user's transaction to the burn account in a transaction batch
@@ -180,7 +180,7 @@ How much users pay for transactions on ZK-rollups is dependent on the gas fee, j
1. **State write**: There is a fixed cost for writing to Ethereum’s state (i.e., submitting a transaction on the Ethereum blockchain). ZK-rollups reduce this cost by batching transactions and spreading fixed costs across multiple users.
-2. **Data publication**: ZK-rollups publish state data for every transaction to Ethereum as `calldata`. `calldata` costs are currently governed by [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), which stipulates a cost of 16 gas for non-zero bytes and 4 gas for zero bytes of `calldata`, respectively. The cost paid on each transaction is influenced by how much `calldata` needs to be posted on-chain for it.
+2. **Data publication**: ZK-rollups publish state data for every transaction to Ethereum as `calldata`. `calldata` costs are currently governed by [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), which stipulates a cost of 16 gas for non-zero bytes and 4 gas for zero bytes of `calldata`, respectively. The cost paid on each transaction is influenced by how much `calldata` needs to be posted onchain for it.
3. **L2 operator fees**: This is the amount paid to the rollup operator as compensation for computational costs incurred in processing transactions, much like [transaction "priority fees (tips)"](/developers/docs/gas/#how-are-gas-fees-calculated) on Ethereum Mainnet.
@@ -192,7 +192,7 @@ Apart from batching transactions, ZK-rollups reduce fees for users by compressin
### Transaction data compression {#transaction-data-compression}
-ZK-rollups extend the throughput on Ethereum’s base layer by taking computation off-chain, but the real boost for scaling comes from compressing transaction data. Ethereum’s [block size](/developers/docs/blocks/#block-size) limits the data each block can hold and, by extension, the number of transactions processed per block. By compressing transaction-related data, ZK-rollups significantly increase the number of transactions processed per block.
+ZK-rollups extend the throughput on Ethereum’s base layer by taking computation offchain, but the real boost for scaling comes from compressing transaction data. Ethereum’s [block size](/developers/docs/blocks/#block-size) limits the data each block can hold and, by extension, the number of transactions processed per block. By compressing transaction-related data, ZK-rollups significantly increase the number of transactions processed per block.
ZK-rollups can compress transaction data better than optimistic rollups since they don't have to post all the data required to validate each transaction. They only have to post the minimal data required to rebuild the latest state of accounts and balances on the rollup.
@@ -208,10 +208,10 @@ Recursive proofs, however, make it possible to finalize several blocks with one
| Pros | Cons |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Validity proofs ensure correctness of off-chain transactions and prevent operators from executing invalid state transitions. | The cost associated with computing and verifying validity proofs is substantial and can increase fees for rollup users. |
+| Validity proofs ensure correctness of offchain transactions and prevent operators from executing invalid state transitions. | The cost associated with computing and verifying validity proofs is substantial and can increase fees for rollup users. |
| Offers faster transaction finality as state updates are approved once validity proofs are verified on L1. | Building EVM-compatible ZK-rollups is difficult due to complexity of zero-knowledge technology. |
| Relies on trustless cryptographic mechanisms for security, not the honesty of incentivized actors as with [optimistic rollups](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons). | Producing validity proofs requires specialized hardware, which may encourage centralized control of the chain by a few parties. |
-| Stores data needed to recover the off-chain state on L1, which guarantees security, censorship-resistance, and decentralization. | Centralized operators (sequencers) can influence the ordering of transactions. |
+| Stores data needed to recover the offchain state on L1, which guarantees security, censorship-resistance, and decentralization. | Centralized operators (sequencers) can influence the ordering of transactions. |
| Users benefit from greater capital efficiency and can withdraw funds from L2 without delays. | Hardware requirements may reduce the number of participants that can force the chain to make progress, increasing the risk of malicious operators freezing the rollup's state and censoring users. |
| Doesn't depend on liveness assumptions and users don't have to validate the chain to protect their funds. | Some proving systems (e.g., ZK-SNARK) require a trusted setup which, if mishandled, could potentially compromise a ZK-rollup's security model. |
| Better data compression can help reduce the costs of publishing `calldata` on Ethereum and minimize rollup fees for users. | |
@@ -222,11 +222,6 @@ Watch Finematics explain ZK-rollups:
-### Use ZK-rollups {#use-zk-rollups}
-
-Multiple implementations of ZK-rollups exist that you can integrate into your dapps:
-
-
## Who is working on a zkEVM? {#zkevm-projects}
@@ -250,10 +245,12 @@ Projects working on zkEVMs include:
- [What Are Zero-Knowledge Rollups?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups)
- [What are zero-knowledge rollups?](https://alchemy.com/blog/zero-knowledge-rollups)
+- [The Practical Guide To Ethereum Rollups](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
- [STARKs vs SNARKs](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/)
- [What is a zkEVM?](https://www.alchemy.com/overviews/zkevm)
- [ZK-EVM types: Ethereum-equivalent, EVM-equivalent, Type 1, Type 4, and other cryptic buzzwords](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4)
- [Intro to zkEVM](https://hackmd.io/@yezhang/S1_KMMbGt)
+- [What are ZK-EVM L2s?](https://linea.mirror.xyz/qD18IaQ4BROn_Y40EBMTUTdJHYghUtdECscSWyMvm8M)
- [Awesome-zkEVM resources](https://github.com/LuozhuZhang/awesome-zkevm)
- [ZK-SNARKS under the hood](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html)
- [How are SNARKs possible?](https://vitalik.eth.limo/general/2021/01/26/snarks.html)
diff --git a/public/content/developers/docs/smart-contracts/composability/index.md b/public/content/developers/docs/smart-contracts/composability/index.md
index 9c5165844f8..a5daa9df25a 100644
--- a/public/content/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/developers/docs/smart-contracts/composability/index.md
@@ -29,7 +29,7 @@ Ethereum smart contracts are like public APIs, so anyone can interact with the c
### Shorter development cycle {#shorter-development-cycle}
-Composability reduces the work that developers have to do when creating [dapps](/dapps/#what-are-dapps). [As Naval Ravikant puts it:](https://twitter.com/naval/status/1444366754650656770) "Open source means every problem has to be solved once."
+Composability reduces the work that developers have to do when creating [dapps](/apps/#what-are-dapps). [As Naval Ravikant puts it:](https://twitter.com/naval/status/1444366754650656770) "Open source means every problem has to be solved once."
If there is a smart contract that solves one problem, other developers can reuse it, so they don’t have to solve the same problem. This way, developers can take existing software libraries and add extra functionality to create new dapps.
diff --git a/public/content/developers/docs/smart-contracts/formal-verification/index.md b/public/content/developers/docs/smart-contracts/formal-verification/index.md
index 8136d5333b9..30b66d6c763 100644
--- a/public/content/developers/docs/smart-contracts/formal-verification/index.md
+++ b/public/content/developers/docs/smart-contracts/formal-verification/index.md
@@ -70,7 +70,7 @@ Low-level formal specifications can be given as either Hoare-style properties or
### Hoare-style properties {#hoare-style-properties}
-[Hoare Logic](https://en.wikipedia.org/wiki/Hoare_logic) provides a set of formal rules for reasoning about the correctness of programs, including smart contracts. A Hoare-style property is represented by a Hoare triple {_P_}_c_{_Q_}, where _c_ is a program and _P_ and _Q_ are predicates on the state of the _c_ (i.e., the program), formally described as _preconditions_ and _postconditions_, respectively.
+[Hoare Logic](https://en.wikipedia.org/wiki/Hoare_logic) provides a set of formal rules for reasoning about the correctness of programs, including smart contracts. A Hoare-style property is represented by a Hoare triple `{P}c{Q}`, where `c` is a program and `P` and `Q` are predicates on the state of the `c` (i.e., the program), formally described as _preconditions_ and _postconditions_, respectively.
A precondition is a predicate describing the conditions required for the correct execution of a function; users calling into the contract must satisfy this requirement. A postcondition is a predicate describing the condition that a function establishes if correctly executed; users can expect this condition to be true after calling into the function. An _invariant_ in Hoare logic is a predicate that is preserved by execution of a function (i.e., it doesn't change).
diff --git a/public/content/developers/docs/smart-contracts/index.md b/public/content/developers/docs/smart-contracts/index.md
index 4be9a10e4c6..d28f22c6402 100644
--- a/public/content/developers/docs/smart-contracts/index.md
+++ b/public/content/developers/docs/smart-contracts/index.md
@@ -86,9 +86,9 @@ Learn more about [smart contract composability](/developers/docs/smart-contracts
## Limitations {#limitations}
-Smart contracts alone cannot get information about "real-world" events because they can't retrieve data from off-chain sources. This means they can't respond to events in the real world. This is by design. Relying on external information could jeopardise consensus, which is important for security and decentralization.
+Smart contracts alone cannot get information about "real-world" events because they can't retrieve data from offchain sources. This means they can't respond to events in the real world. This is by design. Relying on external information could jeopardise consensus, which is important for security and decentralization.
-However, it is important for blockchain applications to be able to use off-chain data. The solution is [oracles](/developers/docs/oracles/) which are tools that ingest off-chain data and make it available to smart contracts.
+However, it is important for blockchain applications to be able to use offchain data. The solution is [oracles](/developers/docs/oracles/) which are tools that ingest offchain data and make it available to smart contracts.
Another limitation of smart contracts is the maximum contract size. A smart contract can be a maximum of 24KB or it will run out of gas. This can be circumnavigated by using [The Diamond Pattern](https://eips.ethereum.org/EIPS/eip-2535).
diff --git a/public/content/developers/docs/smart-contracts/libraries/index.md b/public/content/developers/docs/smart-contracts/libraries/index.md
index 37dfd28e5ad..9aeeb996959 100644
--- a/public/content/developers/docs/smart-contracts/libraries/index.md
+++ b/public/content/developers/docs/smart-contracts/libraries/index.md
@@ -104,7 +104,7 @@ Last, when deciding on whether to include a library, consider its overall usage.
**thirdweb Solidity SDK -** **_Provides the tools needed to build custom smart contracts efficiently_**
-- [Documentation](https://portal.thirdweb.com/solidity/)
+- [Documentation](https://portal.thirdweb.com/contracts/build/overview)
- [GitHub](https://github.com/thirdweb-dev/contracts)
## Related tutorials {#related-tutorials}
diff --git a/public/content/developers/docs/smart-contracts/security/index.md b/public/content/developers/docs/smart-contracts/security/index.md
index e6451925967..8f2fd801722 100644
--- a/public/content/developers/docs/smart-contracts/security/index.md
+++ b/public/content/developers/docs/smart-contracts/security/index.md
@@ -8,7 +8,7 @@ Smart contracts are extremely flexible, and capable of controlling large amounts
Public blockchains, like Ethereum, further complicate the issue of securing smart contracts. Deployed contract code _usually_ cannot be changed to patch security flaws, while assets stolen from smart contracts are extremely difficult to track and mostly irrecoverable due to immutability.
-Although figures vary, it is estimated that the total amount of value stolen or lost due to security defects in smart contracts is easily over $1 billion. This includes high-profile incidents, such as the [DAO hack](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (3.6M ETH stolen, worth over $1B in today’s prices), [Parity multi-sig wallet hack](https://www.coindesk.com/30-million-ether-reported-stolen-parity-wallet-breach) ($30M lost to hackers), and the [Parity frozen wallet issue](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (over $300M in ETH locked forever).
+Although figures vary, it is estimated that the total amount of value stolen or lost due to security defects in smart contracts is easily over $1 billion. This includes high-profile incidents, such as the [DAO hack](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (3.6M ETH stolen, worth over $1B in today’s prices), [Parity multi-sig wallet hack](https://www.coindesk.com/markets/2017/07/19/30-million-ether-reported-stolen-due-to-parity-wallet-breach) ($30M lost to hackers), and the [Parity frozen wallet issue](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (over $300M in ETH locked forever).
The aforementioned issues make it imperative for developers to invest effort in building secure, robust, and resilient smart contracts. Smart contract security is serious business, and one that every developer will do well to learn. This guide will cover security considerations for Ethereum developers and explore resources for improving smart contract security.
@@ -99,7 +99,7 @@ That said, you should avoid treating audits as a silver bullet. Smart contract a
Setting up a bug bounty program is another approach for implementing external code reviews. A bug bounty is a financial reward given to individuals (usually whitehat hackers) that discover vulnerabilities in an application.
-When used properly, bug bounties give members of the hacker community incentive to inspect your code for critical flaws. A real-life example is the “infinite money bug” that would have let an attacker create an unlimited amount of Ether on [Optimism](https://www.optimism.io/), a [Layer 2](/layer-2/) protocol running on Ethereum. Fortunately, a whitehat hacker [discovered the flaw](https://www.saurik.com/optimism.html) and notified the team, [earning a large payout in the process](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
+When used properly, bug bounties give members of the hacker community incentive to inspect your code for critical flaws. A real-life example is the “infinite money bug” that would have let an attacker create an unlimited amount of ether on [Optimism](https://www.optimism.io/), a [Layer 2](/layer-2/) protocol running on Ethereum. Fortunately, a whitehat hacker [discovered the flaw](https://www.saurik.com/optimism.html) and notified the team, [earning a large payout in the process](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
A useful strategy is to set the payout of a bug bounty program in proportion to the amount of funds at stake. Described as the “[scaling bug bounty](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)”, this approach provides financial incentives for individuals to responsibly disclose vulnerabilities instead of exploiting them.
@@ -115,7 +115,7 @@ The existence of audits and bug bounties doesn’t excuse your responsibility to
- Use a [development environment](/developers/docs/frameworks/) for testing, compiling, deploying smart contracts
-- Run your code through basic code analysis tools, such as, [Cyfrin Aaderyn](https://github.com/Cyfrin/aderyn), Mythril and Slither. Ideally, you should do this before each pull request is merged and compare differences in output
+- Run your code through basic code analysis tools, such as, [Cyfrin Aderyn](https://github.com/Cyfrin/aderyn), Mythril and Slither. Ideally, you should do this before each pull request is merged and compare differences in output
- Ensure your code compiles without errors, and the Solidity compiler emits no warnings
@@ -199,23 +199,23 @@ This example shows the basic features of emergency stops:
`onlyWhenStopped` is used for functions that should be callable during an emergency (e.g., `emergencyWithdraw()`). Such functions can help resolve the situation, hence their exclusion from the “restricted functions” list.
-Using an emergency stop functionality provides an effective stopgap for dealing with serious vulnerabilities in your smart contract. However, it increases the need for users to trust developers not to activate it for self-serving reasons. To this end, decentralizing control of the emergency stop either by subjecting it to an on-chain voting mechanism, timelock, or approval from a multisig wallet are possible solutions.
+Using an emergency stop functionality provides an effective stopgap for dealing with serious vulnerabilities in your smart contract. However, it increases the need for users to trust developers not to activate it for self-serving reasons. To this end, decentralizing control of the emergency stop either by subjecting it to an onchain voting mechanism, timelock, or approval from a multisig wallet are possible solutions.
#### Event monitoring {#event-monitoring}
[Events](https://docs.soliditylang.org/en/v0.8.15/contracts.html#events) allow you to track calls to smart contract functions and monitor changes to state variables. It is ideal to program your smart contract to emit an event whenever some party takes a safety-critical action (e.g., withdrawing funds).
-Logging events and monitoring them off-chain provides insights on contract operations and aids faster discovery of malicious actions. This means your team can respond faster to hacks and take action to mitigate impact on users, such as pausing functions or performing an upgrade.
+Logging events and monitoring them offchain provides insights on contract operations and aids faster discovery of malicious actions. This means your team can respond faster to hacks and take action to mitigate impact on users, such as pausing functions or performing an upgrade.
You can also opt for an off-the-shelf monitoring tool that automatically forwards alerts whenever someone interacts with your contracts. These tools will allow you to create custom alerts based on different triggers, such as transaction volume, frequency of function calls, or the specific functions involved. For example, you could program an alert that comes in when the amount withdrawn in a single transaction crosses a particular threshold.
### 7. Design secure governance systems {#design-secure-governance-systems}
-You may want to decentralize your application by turning over control of core smart contracts to community members. In this case, the smart contract system will include a governance module—a mechanism that allows community members to approve administrative actions via an on-chain governance system. For example, a proposal to upgrade a proxy contract to a new implementation may be voted upon by token-holders.
+You may want to decentralize your application by turning over control of core smart contracts to community members. In this case, the smart contract system will include a governance module—a mechanism that allows community members to approve administrative actions via an onchain governance system. For example, a proposal to upgrade a proxy contract to a new implementation may be voted upon by token-holders.
Decentralized governance can be beneficial, especially because it aligns the interests of developers and end-users. Nevertheless, smart contract governance mechanisms may introduce new risks if implemented incorrectly. A plausible scenario is if an attacker acquires enormous voting power (measured in number of tokens held) by taking out a [flash loan](/defi/#flash-loans) and pushes through a malicious proposal.
-One way of preventing problems related to on-chain governance is to [use a timelock](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). A timelock prevents a smart contract from executing certain actions until a specific amount of time passes. Other strategies include assigning a “voting weight” to each token based on how long it has been locked up for, or measuring the voting power of an address at a historical period (for example, 2-3 blocks in the past) instead of the current block. Both methods reduce the possibility of quickly amassing voting power to swing on-chain votes.
+One way of preventing problems related to onchain governance is to [use a timelock](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). A timelock prevents a smart contract from executing certain actions until a specific amount of time passes. Other strategies include assigning a “voting weight” to each token based on how long it has been locked up for, or measuring the voting power of an address at a historical period (for example, 2-3 blocks in the past) instead of the current block. Both methods reduce the possibility of quickly amassing voting power to swing onchain votes.
More on [designing secure governance systems](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/), [different voting mechanisms in DAOs](https://hackernoon.com/governance-is-the-holy-grail-for-daos), and [the common DAO attack vectors leveraging DeFi](https://dacian.me/dao-governance-defi-attacks) in the shared links.
@@ -235,7 +235,7 @@ The EVM doesn’t permit concurrency, meaning two contracts involved in a messag
Although mostly harmless, transferring control flow to untrusted contracts can cause problems, such as reentrancy. A reentrancy attack occurs when a malicious contract calls back into a vulnerable contract before the original function invocation is complete. This type of attack is best explained with an example.
-Consider a simple smart contract (‘Victim’) that allows anyone to deposit and withdraw Ether:
+Consider a simple smart contract (‘Victim’) that allows anyone to deposit and withdraw ether:
```solidity
// This contract is vulnerable. Do not use in production
@@ -304,7 +304,7 @@ There’s nothing wrong here, except that `Attacker` has another function that c
- `Victim` finally applies the results of the first transaction (and subsequent ones) to its state, so `Attacker`’s balance is set to 0
```
-The summary is that because the caller’s balance isn't set to 0 until the function execution completes, subsequent invocations will succeed and allow the caller to withdraw their balance multiple times. This kind of attack can be used to drain a smart contract of its funds, like what happened in the [2016 DAO hack](https://www.coindesk.com/learn/2016/06/25/understanding-the-dao-attack/). Reentrancy attacks are still a critical issue for smart contracts today as [public listings of reentrancy exploits](https://github.com/pcaversaccio/reentrancy-attacks) show.
+The summary is that because the caller’s balance isn't set to 0 until the function execution completes, subsequent invocations will succeed and allow the caller to withdraw their balance multiple times. This kind of attack can be used to drain a smart contract of its funds, like what happened in the [2016 DAO hack](https://www.coindesk.com/learn/understanding-the-dao-attack). Reentrancy attacks are still a critical issue for smart contracts today as [public listings of reentrancy exploits](https://github.com/pcaversaccio/reentrancy-attacks) show.
##### How to prevent reentrancy attacks
@@ -346,7 +346,7 @@ contract MutexPattern {
require(balances[msg.sender] >= _amount, "No balance to withdraw.");
balances[msg.sender] -= _amount;
- bool (success, ) = msg.sender.call{value: _amount}("");
+ (bool success, ) = msg.sender.call{value: _amount}("");
require(success);
return true;
@@ -439,13 +439,13 @@ As of version 0.8.0, the Solidity compiler rejects code that results in integer
#### Oracle manipulation {#oracle-manipulation}
-[Oracles](/developers/docs/oracles/) source off-chain information and send it on-chain for smart contracts to use. With oracles, you can design smart contracts that interoperate with off-chain systems, such as capital markets, greatly expanding their application.
+[Oracles](/developers/docs/oracles/) source offchain information and send it onchain for smart contracts to use. With oracles, you can design smart contracts that interoperate with offchain systems, such as capital markets, greatly expanding their application.
-But if the oracle is corrupted and sends incorrect information on-chain, smart contracts will execute based on erroneous inputs, which can cause problems. This is the basis of the “oracle problem”, which concerns the task of making sure information from a blockchain oracle is accurate, up-to-date, and timely.
+But if the oracle is corrupted and sends incorrect information onchain, smart contracts will execute based on erroneous inputs, which can cause problems. This is the basis of the “oracle problem”, which concerns the task of making sure information from a blockchain oracle is accurate, up-to-date, and timely.
-A related security concern is using an on-chain oracle, such as a decentralized exchange, to get the spot price for an asset. Lending platforms in the [decentralized finance (DeFi)](/defi/) industry often do this to determine the value of a user’s collateral to determine how much they can borrow.
+A related security concern is using an onchain oracle, such as a decentralized exchange, to get the spot price for an asset. Lending platforms in the [decentralized finance (DeFi)](/defi/) industry often do this to determine the value of a user’s collateral to determine how much they can borrow.
-DEX prices are often accurate, largely due to arbitrageurs restoring parity in markets. However, they are open to manipulation, particularly if the on-chain oracle calculates asset prices based on historical trading patterns (as is usually the case).
+DEX prices are often accurate, largely due to arbitrageurs restoring parity in markets. However, they are open to manipulation, particularly if the onchain oracle calculates asset prices based on historical trading patterns (as is usually the case).
For instance, an attacker could artificially pump the spot price of an asset by taking out a flash loan right before interacting with your lending contract. Querying the DEX for the asset’s price would return a higher-than-normal value (due to the attacker’s large “buy order” skewing demand for the asset), allowing them to borrow more than they should. Such "flash loan attacks" have been used to exploit reliance on price oracles among DeFi applications, costing protocols millions in lost funds.
@@ -453,7 +453,7 @@ For instance, an attacker could artificially pump the spot price of an asset by
The minimum requirement to [avoid oracle manipulation](https://www.cyfrin.io/blog/price-oracle-manipultion-attacks-with-examples) is to use a decentralized oracle network that queries information from multiple sources to avoid single points of failure. In most cases, decentralized oracles have built-in cryptoeconomic incentives to encourage oracle nodes to report correct information, making them more secure than centralized oracles.
-If you plan on querying an on-chain oracle for asset prices, consider using one that implements a time-weighted average price (TWAP) mechanism. A [TWAP oracle](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) queries the price of an asset at two different points in time (which you can modify) and calculates the spot price based on the average obtained. Choosing longer time periods protects your protocol against price manipulation since large orders executed recently cannot impact asset prices.
+If you plan on querying an onchain oracle for asset prices, consider using one that implements a time-weighted average price (TWAP) mechanism. A [TWAP oracle](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) queries the price of an asset at two different points in time (which you can modify) and calculates the spot price based on the average obtained. Choosing longer time periods protects your protocol against price manipulation since large orders executed recently cannot impact asset prices.
## Smart contract security resources for developers {#smart-contract-security-resources-for-developers}
@@ -505,7 +505,7 @@ If you plan on querying an on-chain oracle for asset prices, consider using one
- **[Hacken](https://hacken.io)** - _Web3 cybersecurity auditor bringing the 360-degree approach to blockchain security._
-- **[Nethermind](https://nethermind.io/smart-contracts-audits)** - _Solidity and Cairo auditing services, ensuring the integrity of smart contracts and the safety of users across Ethereum and Starknet._
+- **[Nethermind](https://www.nethermind.io/smart-contract-audits)** - _Solidity and Cairo auditing services, ensuring the integrity of smart contracts and the safety of users across Ethereum and Starknet._
- **[HashEx](https://hashex.org/)** - _HashEx focuses on blockchain and smart contract auditing to ensure the security of cryptocurrencies, providing services such as smart contract development, penetration testing, blockchain consulting._
@@ -515,7 +515,7 @@ If you plan on querying an on-chain oracle for asset prices, consider using one
- **[Cyfrin](https://cyfrin.io)** - _Web3 security powerhouse, incubating crypto security through products and smart contract auditing services._
-- **[ImmuneBytes](https://www.immunebytes.com//smart-contract-audit/)** - _Web3 security firm offering security audits for blockchain systems through a team of experienced auditors and best-in-class tools._
+- **[ImmuneBytes](https://immunebytes.com/smart-contract-audit/)** - _Web3 security firm offering security audits for blockchain systems through a team of experienced auditors and best-in-class tools._
- **[Oxorio](https://oxor.io/)** - _Smart contract audits and blockchain security services with expertise in EVM, Solidity, ZK, Cross-chain tech for crypto firms and DeFi projects._
@@ -528,9 +528,9 @@ If you plan on querying an on-chain oracle for asset prices, consider using one
- **[HackerOne](https://www.hackerone.com/)** - _Vulnerability coordination and bug bounty platform that connects businesses with penetration testers and cybersecurity researchers._
- **[HackenProof](https://hackenproof.com/)** - _Expert bug bounty platform for crypto projects (DeFi, Smart Contracts, Wallets, CEX and more), where security professionals provide triage services and researchers get paid for relevant, verified bug reports._
-
+
- **[Sherlock](https://www.sherlock.xyz/)** - _Underwriter in Web3 for smart contract security, with payouts for auditors managed via smart contracts to secure that relevant bugs are paid fairly._
-
+
- **[CodeHawks](https://www.codehawks.com/)** - _Competitive bug bounty platform where auditors take part in security contests and challenges, and (soon) in their own private audits._
### Publications of known smart contract vulnerabilities and exploits {#common-smart-contract-vulnerabilities-and-exploits}
@@ -563,7 +563,7 @@ If you plan on querying an on-chain oracle for asset prices, consider using one
- **[Smart Contract Security Verification Standard](https://github.com/securing/SCSVS)** - _Fourteen-part checklist created to standardize the security of smart contracts for developers, architects, security reviewers and vendors._
-- **[Learn Smart Contract Security and Auditing](https://updraft.cyfrin.io/courses/security) - _Ultimate smart contract security and auditing course, created for smart contract developers looking to level up their security best practices and become security researchers._
+- **[Learn Smart Contract Security and Auditing](https://updraft.cyfrin.io/courses/security)** - _Ultimate smart contract security and auditing course, created for smart contract developers looking to level up their security best practices and become security researchers._
### Tutorials on smart contract security {#tutorials-on-smart-contract-security}
diff --git a/public/content/developers/docs/smart-contracts/testing/index.md b/public/content/developers/docs/smart-contracts/testing/index.md
index 30f27ac1a9e..051be52de4b 100644
--- a/public/content/developers/docs/smart-contracts/testing/index.md
+++ b/public/content/developers/docs/smart-contracts/testing/index.md
@@ -130,7 +130,7 @@ Many unit testing frameworks allow you to create assertions—simple statements
##### 3. Measure code coverage
-[Code coverage](https://en.m.wikipedia.org/wiki/Code_coverage) is a testing metric that tracks the number of branches, lines, and statements in your code executed during tests. Tests should have good code coverage, otherwise you may get "false negatives" which happen a contract passes all tests, but vulnerabilities still exist in the code. Recording high code coverage, however, gives the assurance all statements/functions in a smart contract were sufficiently tested for correctness.
+[Code coverage](https://en.m.wikipedia.org/wiki/Code_coverage) is a testing metric that tracks the number of branches, lines, and statements in your code executed during tests. Tests should have good code coverage to minimize the risk of untested vulnerabilities. Without sufficient coverage, you might falsely assume your contract is secure because all tests pass, while vulnerabilities still exist in untested code paths. Recording high code coverage, however, gives the assurance all statements/functions in a smart contract were sufficiently tested for correctness.
##### 4. Use well-developed testing frameworks
@@ -150,7 +150,7 @@ Unit testing frameworks for Solidity smart contracts come in different languages
While unit testing debugs contract functions in isolation, integration tests evaluate the components of a smart contract as a whole. Integration testing can detect issues arising from cross-contract calls or interactions between different functions in the same smart contract. For example, integration tests can help check if things like [inheritance](https://docs.soliditylang.org/en/v0.8.12/contracts.html#inheritance) and dependency injection work properly.
-Integration testing is useful if your contract adopts a modular architecture or interfaces with other on-chain contracts during execution. One way of running integration tests is to [fork the blockchain](/glossary/#fork) at a specific height (using a tool like [Forge](https://book.getfoundry.sh/forge/fork-testing) or [Hardhat](https://hardhat.org/hardhat-network/docs/guides/forking-other-networks) and simulate interactions between your contract and deployed contracts.
+Integration testing is useful if your contract adopts a modular architecture or interfaces with other onchain contracts during execution. One way of running integration tests is to [fork the blockchain](/glossary/#fork) at a specific height (using a tool like [Forge](https://book.getfoundry.sh/forge/fork-testing) or [Hardhat](https://hardhat.org/hardhat-network/docs/guides/forking-other-networks) and simulate interactions between your contract and deployed contracts.
The forked blockchain will behave similarly to Mainnet and have accounts with associated states and balances. But it only acts as a sandboxed local development environment, meaning you won't need real ETH for transactions, for example, nor will your changes affect the real Ethereum protocol.
@@ -207,13 +207,13 @@ While automated testing performed in a local development environment can provide
Testing your contract on a local blockchain (also known as a [development network](/developers/docs/development-networks/)) is a recommended alternative to testing on Mainnet. A local blockchain is a copy of the Ethereum blockchain running locally on your computer which simulates the behavior of Ethereum's execution layer. As such, you can program transactions to interact with a contract without incurring significant overhead.
-Running contracts on a local blockchain could be useful as a form of manual integration testing. [Smart contracts are highly composable](/developers/docs/smart-contracts/composability/), allowing you to integrate with existing protocols—but you'll still need to ensure that such complex on-chain interactions produce the correct results.
+Running contracts on a local blockchain could be useful as a form of manual integration testing. [Smart contracts are highly composable](/developers/docs/smart-contracts/composability/), allowing you to integrate with existing protocols—but you'll still need to ensure that such complex onchain interactions produce the correct results.
[More on development networks.](/developers/docs/development-networks/)
### Testing contracts on testnets {#testing-contracts-on-testnets}
-A test network or testnet works exactly like Ethereum Mainnet, except that it uses Ether (ETH) with no real-world value. Deploying your contract on a [testnet](/developers/docs/networks/#ethereum-testnets) means anyone can interact with it (e.g., via the dapp's frontend) without putting funds at risk.
+A test network or testnet works exactly like Ethereum Mainnet, except that it uses ether (ETH) with no real-world value. Deploying your contract on a [testnet](/developers/docs/networks/#ethereum-testnets) means anyone can interact with it (e.g., via the dapp's frontend) without putting funds at risk.
This form of manual testing is useful for evaluating the end-to-end flow of your application from a user’s point of view. Here, beta testers can also perform trial runs and report any issues with the contract’s business logic and overall functionality.
@@ -259,7 +259,7 @@ The major difference is that bug bounty programs are open to the wider developer
- **[Brownie unit testing framework](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** - _Brownie utilizes Pytest, a feature-rich test framework that lets you write small tests with minimal code, scales well for large projects, and is highly extendable._
-- **[Foundry Tests](https://github.com/foundry-rs/foundry/tree/master/forge)** - _Foundry offers Forge, a fast and flexible Ethereum testing framework capable of executing simple unit tests, gas optimization checks, and contract fuzzing._
+- **[Foundry Tests](https://github.com/foundry-rs/foundry/tree/master/crates/forge)** - _Foundry offers Forge, a fast and flexible Ethereum testing framework capable of executing simple unit tests, gas optimization checks, and contract fuzzing._
- **[Hardhat Tests](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** - _Framework for testing smart contracts based on ethers.js, Mocha, and Chai._
diff --git a/public/content/developers/docs/smart-contracts/verifying/index.md b/public/content/developers/docs/smart-contracts/verifying/index.md
index 740977e763a..99287323ff3 100644
--- a/public/content/developers/docs/smart-contracts/verifying/index.md
+++ b/public/content/developers/docs/smart-contracts/verifying/index.md
@@ -72,14 +72,20 @@ The traditional process of verifying contracts can be complex. This is why we ha
Although mostly known as an [Ethereum blockchain explorer](/developers/docs/data-and-analytics/block-explorers/), Etherscan also offers a [source code verification service](https://etherscan.io/verifyContract) for smart contract developers and users.
-Etherscan allows you to recompile contract bytecode from the original data payload (source code, library address, compiler settings, contract address, etc.) If the recompiled bytecode is associated with the bytecode (and constructor parameters) of the on-chain contract, then [the contract is verified](https://info.etherscan.com/types-of-contract-verification/).
+Etherscan allows you to recompile contract bytecode from the original data payload (source code, library address, compiler settings, contract address, etc.) If the recompiled bytecode is associated with the bytecode (and constructor parameters) of the onchain contract, then [the contract is verified](https://info.etherscan.com/types-of-contract-verification/).
Once verified, your contract’s source code receives a "Verified" label and is published on Etherscan for others to audit. It also gets added to the [Verified Contracts](https://etherscan.io/contractsVerified/) section—a repository of smart contracts with verified source codes.
-Etherscan is the most used tool for verifying contracts. However, Etherscan's contract verification has a drawback: it fails to compare the **metadata hash** of the on-chain bytecode and recompiled bytecode. Therefore the matches in Etherscan are partial matches.
+Etherscan is the most used tool for verifying contracts. However, Etherscan's contract verification has a drawback: it fails to compare the **metadata hash** of the onchain bytecode and recompiled bytecode. Therefore the matches in Etherscan are partial matches.
[More on verifying contracts on Etherscan](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327).
+### Blockscout {#blockscout}
+
+[Blockscout](https://blockscout.com/) is an open-source blockchain explorer that also provides a [contract verification service](https://eth.blockscout.com/contract-verification) for smart contract developers and users. As an open-source alternative, Blockscout offers transparency in how verification is performed and enables community contributions to improve the verification process.
+
+Similar to other verification services, Blockscout allows you to verify your contract's source code by recompiling the bytecode and comparing it with the deployed contract. Once verified, your contract receives verification status and the source code becomes publicly available for auditing and interaction. Verified contracts are also listed in Blockscout's [verified contracts repository](https://eth.blockscout.com/verified-contracts) for easy browsing and discovery.
+
### Sourcify {#sourcify}
[Sourcify](https://sourcify.dev/#/verifier) is another tool for verifying contracts that is open-sourced and decentralized. It is not a block explorer and only verifies contracts on [different EVM based networks](https://docs.sourcify.dev/docs/chains). It acts as a public infrastructure for other tools to build on top of it, and aims to enable more human-friendly contract interactions using the [ABI](/developers/docs/smart-contracts/compiling/#web-applications) and [NatSpec](https://docs.soliditylang.org/en/v0.8.15/natspec-format.html) comments found in the metadata file.
diff --git a/public/content/developers/docs/standards/tokens/erc-1155/index.md b/public/content/developers/docs/standards/tokens/erc-1155/index.md
index dcd9e181ce4..dfa8ab4c0ed 100644
--- a/public/content/developers/docs/standards/tokens/erc-1155/index.md
+++ b/public/content/developers/docs/standards/tokens/erc-1155/index.md
@@ -141,6 +141,6 @@ _Note_: All batch functions including the hook also exist as versions without ba
## Further reading {#further-reading}
- [EIP-1155: Multi Token Standard](https://eips.ethereum.org/EIPS/eip-1155)
-- [ERC-1155: Openzeppelin Docs](https://docs.openzeppelin.com/contracts/3.x/erc1155)
+- [ERC-1155: Openzeppelin Docs](https://docs.openzeppelin.com/contracts/5.x/erc1155)
- [ERC-1155: GitHub Repo](https://github.com/enjin/erc-1155)
- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)
diff --git a/public/content/developers/docs/standards/tokens/erc-20/index.md b/public/content/developers/docs/standards/tokens/erc-20/index.md
index 674c31db3b2..47e4560ab50 100644
--- a/public/content/developers/docs/standards/tokens/erc-20/index.md
+++ b/public/content/developers/docs/standards/tokens/erc-20/index.md
@@ -151,6 +151,8 @@ print("Addr Balance:", addr_balance)
### ERC-20 token reception issue {#reception-issue}
+**As of 06/20/2024 at least $83,656,418 worth of ERC-20 tokens were lost due to this issue. Note that a pure ERC-20 implementation is prone to this problem unless you implement a set of additional restrictions on top of the standard as listed below.**
+
When ERC-20 tokens are sent to a smart contract that is not designed to handle ERC-20 tokens, those tokens can be permanently lost. This happens because the receiving contract does not have the functionality to recognize or respond to the incoming tokens, and there’s no mechanism in the ERC-20 standard to notify the receiving contract about the incoming tokens. The main ways this issue takes form is through:
1. Token transfer mechanism
@@ -162,6 +164,15 @@ When ERC-20 tokens are sent to a smart contract that is not designed to handle E
3. No built-in handling
- The ERC-20 standard does not include a mandatory function for receiving contracts to implement, leading to a situation where many contracts are unable to manage incoming tokens properly
+**Possible Solutions**
+
+While it is not possible to prevent this issue with ERC-20 completely there are methods that would allow to significantly reduce the possibility of a tokens loss for the end user:
+
+- The most common problem is when a user sends tokens to the token contract address itself (e.g. USDT deposited to the address of USDT token contract). It is recommended to restrict `transfer(..)` function to revert such transfer attempts. Consider adding `require(_to != address(this));` check within the implementation of the `transfer(..)` function.
+- The `transfer(..)` function in general is not designed for depositing tokens to contracts. `approve(..) & transferFrom(..)` pattern is used to deposit ERC-20 tokens to contracts instead. It is possible to restrict the transfer function to disallow depositing tokens to any contracts with it, however it may break compatibility with contracts that assume tokens can be deposited to contracts with the `trasnfer(..)` function (e.g. Uniswap liqudity pools).
+- Always assume that ERC-20 tokens can end up in your contract even if your contract is not supposed to ever receive any. There is no way to prevent or reject accidental deposits on the recipients end. It is recommended to implement a function that would allow to extract accidentally deposited ERC-20 tokens.
+- Consider using alternative token standards.
+
Some alternative standards have come out of this issue such as [ERC-223](/developers/docs/standards/tokens/erc-223)
## Further reading {#further-reading}
diff --git a/public/content/developers/docs/standards/tokens/erc-223/index.md b/public/content/developers/docs/standards/tokens/erc-223/index.md
index 76f3f5559c3..a5f61c63e8e 100644
--- a/public/content/developers/docs/standards/tokens/erc-223/index.md
+++ b/public/content/developers/docs/standards/tokens/erc-223/index.md
@@ -129,7 +129,7 @@ contract RecipientContract is IERC223Recipient {
{
// It is important to understand that within this function
// msg.sender is the address of a token that is being received,
- // msg.value is always 0 as the token contract does not own or send Ether in most cases,
+ // msg.value is always 0 as the token contract does not own or send ether in most cases,
// _from is the sender of the token transfer,
// _value is the amount of tokens that was deposited.
require(msg.sender == tokenA);
@@ -155,7 +155,7 @@ If an ERC-20 token is sent to the `RecipientContract`, the tokens will be transf
### What if we want to execute some function after the token deposit is completed? {#function-execution}
-There are multiple ways of doing so. In this example we will follow the method which makes ERC-223 transfers identical to Ether transfers:
+There are multiple ways of doing so. In this example we will follow the method which makes ERC-223 transfers identical to ether transfers:
```solidity
contract RecipientContract is IERC223Recipient {
@@ -178,7 +178,7 @@ contract RecipientContract is IERC223Recipient {
}
```
-When the `RecipientContract` will receive a ERC-223 token the contract will execute a function encoded as `_data` parameter of the token transaction, identical to how Ether transactions encode function calls as transaction `data`. Read [the data field](https://ethereum.org/en/developers/docs/transactions/#the-data-field) for more information.
+When the `RecipientContract` will receive a ERC-223 token the contract will execute a function encoded as `_data` parameter of the token transaction, identical to how ether transactions encode function calls as transaction `data`. Read [the data field](https://ethereum.org/en/developers/docs/transactions/#the-data-field) for more information.
In the above example an ERC-223 token must be transferred to the address of the `RecipientContract` with the `transfer(address,uin256,bytes calldata _data)` function. If the data parameter will be `0xc2985578` (the signature of a `foo()` function) then the function foo() will be invoked after the token deposit is received and the event Foo() will be fired.
diff --git a/public/content/developers/docs/standards/tokens/erc-4626/index.md b/public/content/developers/docs/standards/tokens/erc-4626/index.md
index a7429c253a7..88d4a9b62a8 100644
--- a/public/content/developers/docs/standards/tokens/erc-4626/index.md
+++ b/public/content/developers/docs/standards/tokens/erc-4626/index.md
@@ -16,6 +16,22 @@ ERC-4626 in yield-bearing vaults will lower the integration effort and unlock ac
The ERC-4626 token is described fully in [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626).
+**Asynchronous vault extension (ERC-7540)**
+
+ERC-4626 is optimized for atomic deposits and redemptions up to a limit. If the limit is reached, no new deposits or redemptions can be submitted. This limitation does not work well for any smart contract system with asynchronous actions or delays as a prerequisite for interfacing with the Vault (e.g. real-world asset protocols, undercollateralized lending protocols, cross-chain lending protocols, liquid staking tokens, or insurance safety modules).
+
+ERC-7540 expands the utility of ERC-4626 Vaults for asynchronous use cases. The existing Vault interface (`deposit`/`withdraw`/`mint`/`redeem`) is fully utilized to claim asynchronous Requests.
+
+The ERC-7540 extension is described fully in [ERC-7540](https://eips.ethereum.org/EIPS/eip-7540).
+
+**Multi-asset vault extension (ERC-7575)**
+
+One missing use case that is not supported by ERC-4626 is Vaults which have multiple assets or entry points such as liquidity provider (LP) Tokens. These are generally unwieldy or non-compliant due to the requirement of ERC-4626 to itself be an ERC-20.
+
+ERC-7575 adds support for Vaults with multiple assets by externalizing the ERC-20 token implementation from the ERC-4626 implementation.
+
+The ERC-7575 extension is described fully in [ERC-7575](https://eips.ethereum.org/EIPS/eip-7575).
+
## Prerequisites {#prerequisites}
To better understand this page, we recommend you first read about [token standards](/developers/docs/standards/tokens/) and [ERC-20](/developers/docs/standards/tokens/erc-20/).
@@ -62,7 +78,7 @@ This function returns the amount of `assets` that would be exchanged by the vaul
function maxDeposit(address receiver) public view returns (uint256 maxAssets)
```
-This function returns the maximum amount of underlying assets that can be deposited in a single [`deposit`](#deposit) call by the `receiver`.
+This function returns the maximum amount of underlying assets that can be deposited in a single [`deposit`](#deposit) call, with the shares minted for the `receiver`.
#### previewDeposit {#previewdeposit}
@@ -86,7 +102,7 @@ This function deposits `assets` of underlying tokens into the vault and grants o
function maxMint(address receiver) public view returns (uint256 maxShares)
```
-This function returns the maximum amount of shares that can be minted in a single [`mint`](#mint) call by the `receiver`.
+This function returns the maximum amount of shares that can be minted in a single [`mint`](#mint) call, with the shares minted for the `receiver`.
#### previewMint {#previewmint}
@@ -176,7 +192,7 @@ Returns the total amount of vault shares the `owner` currently has.
#### Deposit Event
-**MUST** be emitted when tokens are deposited into the vault via the [`mint`](#mint) and [`deposit`](#deposit) methods
+**MUST** be emitted when tokens are deposited into the vault via the [`mint`](#mint) and [`deposit`](#deposit) methods.
```solidity
event Deposit(
diff --git a/public/content/developers/docs/storage/index.md b/public/content/developers/docs/storage/index.md
index ce2913058bf..ded3aaebe68 100644
--- a/public/content/developers/docs/storage/index.md
+++ b/public/content/developers/docs/storage/index.md
@@ -38,12 +38,12 @@ Platforms with blockchain-based persistence:
**Contract-based** persistence has the intuition that data cannot be replicated by every node and stored forever, and instead must be upkept with contract agreements. These are agreements made with multiple nodes that have promised to hold a piece of data for a period of time. They must be refunded or renewed whenever they run out to keep the data persisted.
-In most cases, instead of storing all data on-chain, the hash of where the data is located on a chain gets stored. This way, the entire chain doesn't need to scale to keep all of the data.
+In most cases, instead of storing all data onchain, the hash of where the data is located on a chain gets stored. This way, the entire chain doesn't need to scale to keep all of the data.
Platforms with contract-based persistence:
- [Filecoin](https://docs.filecoin.io/about-filecoin/what-is-filecoin/)
-- [Skynet](https://siasky.net/)
+- [Skynet](https://sia.tech/)
- [Storj](https://storj.io/)
- [Züs](https://zus.network/)
- [Crust Network](https://crust.network)
@@ -126,11 +126,11 @@ Proof-of-stake based:
- [Documentation](https://docs.storj.io/)
- [GitHub](https://github.com/storj/storj)
-**Skynet - _Skynet is a decentralized PoW chain dedicated to a decentralized web._**
+**Sia - _Harnesseses cryptography to create a trustless cloud storage marketplace, allowing buyers and sellers to transact directly._**
-- [Skynet.net](https://siasky.net/)
-- [Documentation](https://siasky.net/docs/)
-- [GitHub](https://github.com/SkynetLabs/)
+- [Skynet.net](https://sia.tech/)
+- [Documentation](https://docs.sia.tech/)
+- [GitHub](https://github.com/SiaFoundation/)
**Filecoin - _Filecoin was created from the same team behind IPFS. It is an incentive layer on top of the IPFS ideals._**
diff --git a/public/content/developers/docs/transactions/index.md b/public/content/developers/docs/transactions/index.md
index 5c427727816..b526ba072e3 100644
--- a/public/content/developers/docs/transactions/index.md
+++ b/public/content/developers/docs/transactions/index.md
@@ -23,7 +23,7 @@ Transactions require a fee and must be included in a validated block. To make th
A submitted transaction includes the following information:
-- `from` – the address of the sender, that will be signing the transaction. This will be an externally-owned account as contract accounts cannot send transactions.
+- `from` – the address of the sender, that will be signing the transaction. This will be an externally-owned account as contract accounts cannot send transactions
- `to` – the receiving address (if an externally-owned account, the transaction will transfer value. If a contract account, the transaction will execute the contract code)
- `signature` – the identifier of the sender. This is generated when the sender's private key signs the transaction and confirms the sender has authorized this transaction
- `nonce` - a sequentially incrementing counter which indicates the transaction number from the account
@@ -170,7 +170,7 @@ Any gas not used in a transaction is refunded to the user account.
Gas is required for any transaction that involves a smart contract.
-Smart contracts can also contain functions known as [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) or [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions) functions, which do not alter the state of the contract. As such, calling these functions from an EOA will not require any gas. The underlying RPC call for this scenario is [`eth_call`](/developers/docs/apis/json-rpc#eth_call)
+Smart contracts can also contain functions known as [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) or [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions) functions, which do not alter the state of the contract. As such, calling these functions from an EOA will not require any gas. The underlying RPC call for this scenario is [`eth_call`](/developers/docs/apis/json-rpc#eth_call).
Unlike when accessed using `eth_call`, these `view` or `pure` functions are also commonly called internally (i.e. from the contract itself or from another contract) which does cost gas.
@@ -209,7 +209,7 @@ Where the fields are defined as:
- `TransactionType` - a number between 0 and 0x7f, for a total of 128 possible transaction types.
- `TransactionPayload` - an arbitrary byte array defined by the transaction type.
-Based on the `TransactionType` value, a transaction can be classified as
+Based on the `TransactionType` value, a transaction can be classified as:
1. **Type 0 (Legacy) Transactions:** The original transaction format used since Ethereum's launch. They do not include features from [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) such as dynamic gas fee calculations or access lists for smart contracts. Legacy transactions lack a specific prefix indicating their type in their serialized form, starting with the byte `0xf8` when using [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp) encoding. The TransactionType value for these transactions is `0x0`.
@@ -217,7 +217,7 @@ Based on the `TransactionType` value, a transaction can be classified as
3. **Type 2 Transactions**, commonly referred to as EIP-1559 transactions, are transactions introduced in [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), in Ethereum's [London Upgrade](/history/#london). They have become the standard transaction type on the Ethereum network. These transactions introduce a new fee market mechanism that improves predictability by separating the transaction fee into a base fee and a priority fee. They start with the byte `0x02` and include fields such as `maxPriorityFeePerGas` and `maxFeePerGas`. Type 2 transactions are now the default due to their flexibility and efficiency, especially favored during periods of high network congestion for their ability to help users manage transaction fees more predictably. The TransactionType value for these transactions is `0x2`.
-
+4. **Type 3 (Blob) Transactions** were introduced in [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) as part of Ethereum's [Dencun Upgrade](/history/#dencun). These transactions are designed to handle "blob" data (Binary Large Objects) more efficiently, particularly benefiting Layer 2 rollups by providing a way to post data to the Ethereum network at a lower cost. Blob transactions include additional fields such as `blobVersionedHashes`, `maxFeePerBlobGas`, and `blobGasPrice`. They start with the byte `0x03`, and their TransactionType value is `0x3`. Blob transactions represent a significant improvement in Ethereum's data availability and scaling capabilities.
## Further reading {#further-reading}
diff --git a/public/content/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md b/public/content/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
index 44c29376d1f..4d090ab049b 100644
--- a/public/content/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
+++ b/public/content/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
@@ -139,7 +139,7 @@ A similar pattern is used when handling transactions in ether. However, i
-Try converting some values to and from wei. Note that [there are names for many of the denominations](https://web3py.readthedocs.io/en/stable/examples.html#converting-currency-denominations) in between ether and wei. One of the better known among them is **gwei**, as it’s often how transaction fees are represented.
+Try converting some values to and from wei. Note that [there are names for many of the denominations](https://web3py.readthedocs.io/en/stable/troubleshooting.html#how-do-i-convert-currency-denominations) in between ether and wei. One of the better known among them is **gwei**, as it’s often how transaction fees are represented.
```python
In [2]: Web3.to_wei(1, 'ether')
diff --git a/public/content/developers/tutorials/all-you-can-cache/index.md b/public/content/developers/tutorials/all-you-can-cache/index.md
index 7e56310b9c2..7acc612d4e7 100644
--- a/public/content/developers/tutorials/all-you-can-cache/index.md
+++ b/public/content/developers/tutorials/all-you-can-cache/index.md
@@ -8,9 +8,9 @@ published: 2022-09-15
lang: en
---
-When using rollups the cost of a byte in the transaction is a lot more expensive than the cost of a storage slot. Therefore, it makes sense to cache as much information as possible on chain.
+When using rollups the cost of a byte in the transaction is a lot more expensive than the cost of a storage slot. Therefore, it makes sense to cache as much information as possible onchain.
-In this article you learn how to create and use a caching contract in such a way that any parameter value that is likely to be used multiple times will be cached and available for use (after the first time) with a much smaller number of bytes, and how to write off chain code that uses this cache.
+In this article you learn how to create and use a caching contract in such a way that any parameter value that is likely to be used multiple times will be cached and available for use (after the first time) with a much smaller number of bytes, and how to write offchain code that uses this cache.
If you want to skip the article and just see the source code, [it is here](https://github.com/qbzzt/20220915-all-you-can-cache). The development stack is [Foundry](https://book.getfoundry.sh/getting-started/installation).
@@ -242,7 +242,7 @@ One big advantage of Foundry is that it allows tests to be written in Solidity (
function encodeVal(uint _val) public view returns(bytes memory) {
```
-`encodeVal` is a function that off-chain code calls to help create calldata that uses the cache. It receives a single value and returns the bytes that encode it. This function is a `view`, so it does not require a transaction and when called externally does not cost any gas.
+`encodeVal` is a function that offchain code calls to help create calldata that uses the cache. It receives a single value and returns the bytes that encode it. This function is a `view`, so it does not require a transaction and when called externally does not cost any gas.
```solidity
uint _key = val2key[_val];
@@ -724,7 +724,7 @@ The read function is a `view`, so it does not require a transaction and does not
uint cacheGoat = worm.cacheWrite(0x60A7);
```
-Here we use the fact that `cacheWrite` returns the cache key. This is not something we'd expect to use in production, because `cacheWrite` changes the state, and therefore can only be called during a transaction. Transactions don't have return values, if they have results those results are supposed to be emitted as events. So the `cacheWrite` return value is only accessible from on-chain code, and on-chain code does not need parameter caching.
+Here we use the fact that `cacheWrite` returns the cache key. This is not something we'd expect to use in production, because `cacheWrite` changes the state, and therefore can only be called during a transaction. Transactions don't have return values, if they have results those results are supposed to be emitted as events. So the `cacheWrite` return value is only accessible from onchain code, and onchain code does not need parameter caching.
```solidity
(_success,) = address(worm).call(_callInput);
@@ -756,7 +756,6 @@ Since we use the low level `.call()` function, we can't use `vm.expectR
This is the way we verify that code [emits an event correctly](https://book.getfoundry.sh/cheatcodes/expect-emit) in Foundry.
### The client {#the-client}
-
One thing you don't get with Solidity tests is JavaScript code you can cut and paste into your own application. To write that code I deployed WORM to [Optimism Goerli](https://community.optimism.io/docs/useful-tools/networks/#optimism-goerli), [Optimism's](https://www.optimism.io/) new testnet. It is at address [`0xd34335b1d818cee54e3323d3246bd31d94e6a78a`](https://goerli-optimism.etherscan.io/address/0xd34335b1d818cee54e3323d3246bd31d94e6a78a).
[You can see JavaScript code for the client here](https://github.com/qbzzt/20220915-all-you-can-cache/blob/main/javascript/index.js). To use it:
diff --git a/public/content/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md b/public/content/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
index b297f49402a..4e336ae76cb 100644
--- a/public/content/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
+++ b/public/content/developers/tutorials/creating-a-wagmi-ui-for-your-contract/index.md
@@ -176,11 +176,11 @@ This file contains most of the UI functionality. It includes definitions that wo
```tsx
import { useState, ChangeEventHandler } from 'react'
-import { useNetwork,
- useContractRead,
- usePrepareContractWrite,
- useContractWrite,
- useContractEvent
+import { useNetwork,
+ useReadContract,
+ usePrepareContractWrite,
+ useContractWrite,
+ useContractEvent
} from 'wagmi'
```
@@ -264,17 +264,17 @@ Because this is a hook (`use...`), every time this information changes the compo
The address of the Greeter contract, which varies by chain (and which is `undefined` if we don't have chain information or we are on a chain without that contract).
```tsx
- const readResults = useContractRead({
+ const readResults = useReadContract({
address: greeterAddr,
abi: greeterABI,
functionName: "greet" , // No arguments
- watch: true
+ watch: true
})
```
-[The `useContractRead` hook](https://wagmi.sh/react/hooks/useContractRead) reads information from a contract. You can see exactly what information it returns expand `readResults` in the UI. In this case we want it to keep looking so we'll be informed when the greeting changes.
+[The `useReadContract` hook](https://wagmi.sh/react/api/hooks/useReadContract) reads information from a contract. You can see exactly what information it returns expand `readResults` in the UI. In this case we want it to keep looking so we'll be informed when the greeting changes.
-**Note:** We could listen to [`setGreeting` events](https://eth-holesky.blockscout.com/address/0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8?tab=logs) to know when the greeting changes and update that way. However, while it may be more efficient, it will not apply in all cases. When the user switches to a different chain the greeting also changes, but that change is not accompanied by an event. We could have one part of the code listening for events and another to identify chain changes, but that would be more complicated than just setting [the `watch` parameter](https://wagmi.sh/react/hooks/useContractRead#watch-optional).
+**Note:** We could listen to [`setGreeting` events](https://eth-holesky.blockscout.com/address/0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8?tab=logs) to know when the greeting changes and update that way. However, while it may be more efficient, it will not apply in all cases. When the user switches to a different chain the greeting also changes, but that change is not accompanied by an event. We could have one part of the code listening for events and another to identify chain changes, but that would be more complicated than just setting [the `watch` parameter](https://wagmi.sh/react/api/hooks/useReadContract#watch-optional).
```tsx
const [ newGreeting, setNewGreeting ] = useState("")
@@ -290,7 +290,7 @@ The `useState` hook returns a list with two values:
In this case, we are using a state variable for the new greeting the user wants to set.
```tsx
- const greetingChange : ChangeEventHandler = (evt) =>
+ const greetingChange : ChangeEventHandler = (evt) =>
setNewGreeting(evt.target.value)
```
@@ -303,7 +303,7 @@ This is the event handler for when the new greeting input field changes. The typ
functionName: 'setGreeting',
args: [ newGreeting ]
})
- const workingTx = useContractWrite(preparedTx.config)
+ const workingTx = useContractWrite(preparedTx.config)
```
This is the process to submit a blockchain transaction from the client perspective:
@@ -336,8 +336,8 @@ Now we can finally create the actual HTML to return.
Create a `ShowGreeting` component (explained below), but only if the greeting was read successfully from the blockchain.
-```tsx
-
@@ -481,7 +481,7 @@ const { chains, publicClient, webSocketPublicClient } = configureChains(
[
publicProvider(),
],
-)
+)
const { connectors } = getDefaultWallets({
appName: 'My wagmi + RainbowKit App',
@@ -526,7 +526,7 @@ These days there are a lot of [L2 scaling solution](https://ethereum.org/en/laye
http: ['https://rpc.holesky.redstone.xyz'],
webSocket: ['wss://rpc.holesky.redstone.xyz/ws'],
},
- public: {
+ public: {
http: ['https://rpc.holesky.redstone.xyz'],
webSocket: ['wss://rpc.holesky.redstone.xyz/ws'],
},
@@ -543,7 +543,7 @@ These days there are a lot of [L2 scaling solution](https://ethereum.org/en/laye
const { chains, publicClient, webSocketPublicClient } = configureChains(
[ holesky, sepolia, redstoneHolesky ],
[ publicProvider(), ],
- )
+ )
```
1. Ensure that the application knows the address for your contracts on the new network. In this case, we modify `src/components/Greeter.tsx`:
@@ -552,16 +552,16 @@ These days there are a lot of [L2 scaling solution](https://ethereum.org/en/laye
const contractAddrs : AddressPerBlockchainType = {
// Holesky
17000: '0x432d810484AdD7454ddb3b5311f0Ac2E95CeceA8',
-
+
// Redstone Holesky
17001: '0x4919517f82a1B89a32392E1BF72ec827ba9986D3',
-
+
// Sepolia
11155111: '0x7143d5c190F048C8d19fe325b748b081903E3BF0'
- }
+ }
```
-# Conclusion {#conclusion}
+## Conclusion {#conclusion}
Of course, you don't really care about providing a user interface for `Greeter`. You want to create a user interface for your own contracts. To create your own application, run these steps:
diff --git a/public/content/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md b/public/content/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
index f581691ba42..18ae61a95ae 100644
--- a/public/content/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
+++ b/public/content/developers/tutorials/develop-and-test-dapps-with-a-multi-client-local-eth-testnet/index.md
@@ -37,8 +37,8 @@ In this guide, the Kurtosis eth-network-package spins up a local Ethereum testne
Before you proceed, make sure you have:
-- [Installed and started the Docker engine](https://docs.kurtosis.com/next/install#i-install--start-docker) on your local machine
-- [Installed the Kurtosis CLI](https://docs.kurtosis.com/next/install#ii-install-the-cli) (or upgraded it to the latest release, if you already have the CLI installed)
+- [Installed and started the Docker engine](https://docs.kurtosis.com/install/#i-install--start-docker) on your local machine
+- [Installed the Kurtosis CLI](https://docs.kurtosis.com/install#ii-install-the-cli) (or upgraded it to the latest release, if you already have the CLI installed)
- Installed [Node.js](https://nodejs.org/en), [yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable), and [npx](https://www.npmjs.com/package/npx) (for your dApp environment)
## Instantiating a local Ethereum testnet {#instantiate-testnet}
@@ -95,9 +95,9 @@ Congratulations! You used Kurtosis to instantiate a local Ethereum testnet, with
### Review {#review-instantiate-testnet}
-In this section, you executed a command that directed Kurtosis to use the [`eth-network-package` hosted remotely on GitHub](https://github.com/kurtosis-tech/eth-network-package) to spin up a local Ethereum testnet within a Kurtosis [Enclave](https://docs.kurtosis.com/concepts-reference/enclaves/). Inside your enclave, you will find both "file artifacts" and "user services".
+In this section, you executed a command that directed Kurtosis to use the [`eth-network-package` hosted remotely on GitHub](https://github.com/kurtosis-tech/eth-network-package) to spin up a local Ethereum testnet within a Kurtosis [Enclave](https://docs.kurtosis.com/advanced-concepts/enclaves/). Inside your enclave, you will find both "file artifacts" and "user services".
-The [File Artifacts](https://docs.kurtosis.com/concepts-reference/files-artifacts/) in your enclave include all the data generated and utilized to bootstrap the EL and CL clients. The data was created using the `prelaunch-data-generator` service built from this [Docker image](https://github.com/ethpandaops/ethereum-genesis-generator)
+The [File Artifacts](https://docs.kurtosis.com/advanced-concepts/files-artifacts/) in your enclave include all the data generated and utilized to bootstrap the EL and CL clients. The data was created using the `prelaunch-data-generator` service built from this [Docker image](https://github.com/ethpandaops/ethereum-genesis-generator)
User services display all the containerized services operating in your enclave. You will notice that a single node, featuring both an EL client and a CL client, has been created.
diff --git a/public/content/developers/tutorials/eip-1271-smart-contract-signatures/index.md b/public/content/developers/tutorials/eip-1271-smart-contract-signatures/index.md
index b3abd974208..5c60937ad63 100644
--- a/public/content/developers/tutorials/eip-1271-smart-contract-signatures/index.md
+++ b/public/content/developers/tutorials/eip-1271-smart-contract-signatures/index.md
@@ -36,7 +36,7 @@ Your Ethereum account (i.e. your externally-owned account/EOA) has a private key
An app can [verify a signature](https://docs.alchemy.com/docs/how-to-verify-a-message-signature-on-ethereum) you create using a third-party library like ethers.js [without knowing your private key](https://en.wikipedia.org/wiki/Public-key_cryptography) and be confident that _you_ were the one that created the signature.
-> In fact, because EOA digital signatures use public-key cryptography, they can be generated and verified **off-chain**! This is how gasless DAO voting works — instead of submitting votes on-chain, digital signatures can be created and verified off-chain using cryptographic libraries.
+> In fact, because EOA digital signatures use public-key cryptography, they can be generated and verified **offchain**! This is how gasless DAO voting works — instead of submitting votes onchain, digital signatures can be created and verified offchain using cryptographic libraries.
While EOA accounts have a private key, smart contract accounts do not have any sort of private or secret key (so "Log in with Ethereum", etc. cannot natively work with smart contract accounts).
@@ -92,11 +92,11 @@ One notable contract which implements EIP-1271 is Safe (previously Gnosis Safe).
In Safe’s code, `isValidSignature` [is implemented](https://github.com/safe-global/safe-contracts/blob/main/contracts/handler/CompatibilityFallbackHandler.sol) so that signatures can be created and verified in [two ways](https://ethereum.stackexchange.com/questions/122635/signing-messages-as-a-gnosis-safe-eip1271-support):
-1. On-chain messages
+1. Onchain messages
1. Creation: a safe owner creates a new safe transaction to “sign” a message, passing the message as data into the transaction. Once enough owners sign the transaction to reach the multisig threshold, the transaction is broadcast and run. In the transaction, there is a safe function called which adds the message to a list of “approved” messages.
2. Verification: call `isValidSignature` on the Safe contract, and pass in the message to verify as the message parameter and [an empty value for the signature parameter](https://github.com/safe-global/safe-contracts/blob/main/contracts/handler/CompatibilityFallbackHandler.sol#L32) (i.e. `0x`). The Safe will see that the signature parameter is empty and instead of cryptographically verifying the signature, it will know to just go ahead and check whether the message is on the list of “approved” messages.
-2. Off-chain messages:
- 1. Creation: a safe owner creates a message off-chain, then gets other safe owners to sign the message each individually until there are enough signatures to overcome the multisig approval threshold.
+2. Offchain messages:
+ 1. Creation: a safe owner creates a message offchain, then gets other safe owners to sign the message each individually until there are enough signatures to overcome the multisig approval threshold.
2. Verification: call `isValidSignature`. In the message parameter, pass in the message to be verified. In the signature parameter, pass in each safe owner’s individual signatures all concatenated together, back-to-back. The Safe will check that there are enough signatures to meet the threshold **and** that each signature is valid. If so, it will return a value indicating successful signature verification.
## What exactly is the `_hash` parameter? Why not pass the whole message?
diff --git a/public/content/developers/tutorials/erc-721-vyper-annotated-code/index.md b/public/content/developers/tutorials/erc-721-vyper-annotated-code/index.md
index 43eb5b7b7c8..64ca43a6d71 100644
--- a/public/content/developers/tutorials/erc-721-vyper-annotated-code/index.md
+++ b/public/content/developers/tutorials/erc-721-vyper-annotated-code/index.md
@@ -278,8 +278,7 @@ def supportsInterface(_interfaceID: bytes32) -> bool:
```
In contrast to Python, Vyper is a [static typed language](https://wikipedia.org/wiki/Type_system#Static_type_checking).
-You can't declare a variable, or a function parameter, without identifying the [data
-type](https://vyper.readthedocs.io/en/latest/types.html). In this case the input parameter is `bytes32`, a 256-bit value
+You can't declare a variable, or a function parameter, without identifying the [data type](https://vyper.readthedocs.io/en/latest/types.html). In this case the input parameter is `bytes32`, a 256-bit value
(256 bits is the native word size of the [Ethereum Virtual Machine](/developers/docs/evm/)). The output is a boolean
value. By convention, the names of function parameters start with an underscore (`_`).
@@ -689,14 +688,14 @@ Anybody who is allowed to transfer a token is allowed to burn it. While a burn a
transfer to the zero address, the zero address does not actually receives the token. This allows us to
free up all the storage that was used for the token, which can reduce the gas cost of the transaction.
-# Using this Contract {#using-contract}
+## Using this Contract {#using-contract}
In contrast to Solidity, Vyper does not have inheritance. This is a deliberate design choice to make the
code clearer and therefore easier to secure. So to create your own Vyper ERC-721 contract you take [this
contract](https://github.com/vyperlang/vyper/blob/master/examples/tokens/ERC721.vy) and modify it
to implement the business logic you want.
-# Conclusion {#conclusion}
+## Conclusion {#conclusion}
For review, here are some of the most important ideas in this contract:
diff --git a/public/content/developers/tutorials/erc20-annotated-code/index.md b/public/content/developers/tutorials/erc20-annotated-code/index.md
index 198e266d5df..af7750a4c33 100644
--- a/public/content/developers/tutorials/erc20-annotated-code/index.md
+++ b/public/content/developers/tutorials/erc20-annotated-code/index.md
@@ -92,7 +92,7 @@ more valuable than it actually is. However, that fear ignores the true nature of
every node. To achieve this, every contract's machine language code and storage is available on every node. While you are not required to publish the Solidity
code for your contract, nobody would take you seriously unless you publish the source code and the version of Solidity with which it was complied, so it can
be verified against the machine language code you provided.
-For example, see [this contract](https://etherscan.io/address/0xa530F85085C6FE2f866E7FdB716849714a89f4CD#code).
+For example, see [this contract](https://eth.blockscout.com/address/0xa530F85085C6FE2f866E7FdB716849714a89f4CD?tab=contract).
@@ -681,7 +681,7 @@ the way normal addition does.
These are the four functions that do the actual work: `_transfer`, `_mint`, `_burn`, and `_approve`.
-#### The \_transfer function {#\_transfer}
+#### The _transfer function {#_transfer}
```solidity
/**
@@ -757,7 +757,7 @@ is atomic, nothing can happen in the middle of it.
Finally, emit a `Transfer` event. Events are not accessible to smart contracts, but code running outside the blockchain
can listen for events and react to them. For example, a wallet can keep track of when the owner gets more tokens.
-#### The \_mint and \_burn functions {#\_mint-and-\_burn}
+#### The _mint and _burn functions {#_mint-and-_burn}
These two functions (`_mint` and `_burn`) modify the total supply of tokens.
They are internal and there is no function that calls them in this contract,
@@ -819,7 +819,7 @@ Make sure to update `_totalSupply` when the total number of tokens changes.
The `_burn` function is almost identical to `_mint`, except it goes in the other direction.
-#### The \_approve function {#\_approve}
+#### The _approve function {#_approve}
This is the function that actually specifies allowances. Note that it allows an owner to specify
an allowance that is higher than the owner's current balance. This is OK because the balance is
@@ -904,7 +904,7 @@ are not designed to handle it.
This is the hook function to be called during transfers. It is empty here, but if you need
it to do something you just override it.
-# Conclusion {#conclusion}
+## Conclusion {#conclusion}
For review, here are some of the most important ideas in this contract (in my opinion, yours is likely to vary):
diff --git a/public/content/developers/tutorials/erc20-with-safety-rails/index.md b/public/content/developers/tutorials/erc20-with-safety-rails/index.md
index 0d23224e3a8..b9915082f6e 100644
--- a/public/content/developers/tutorials/erc20-with-safety-rails/index.md
+++ b/public/content/developers/tutorials/erc20-with-safety-rails/index.md
@@ -47,7 +47,7 @@ Before we can add the safety rail functionality we need an ERC-20 contract. In t
Users sometimes send tokens to the wrong address. While we cannot read their minds to know what they meant to do, there are two error types that happen a lot and are easy to detect:
-1. Sending the tokens to the contract's own address. For example, [Optimism's OP token](https://optimism.mirror.xyz/qvd0WfuLKnePm1Gxb9dpGchPf5uDz5NSMEFdgirDS4c) managed to accumulate [over 120,000](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000042#tokentxns) OP tokens in less than two months. This represents a significant amount of wealth that presumably people just lost.
+1. Sending the tokens to the contract's own address. For example, [Optimism's OP token](https://optimism.mirror.xyz/qvd0WfuLKnePm1Gxb9dpGchPf5uDz5NSMEFdgirDS4c) managed to accumulate [over 120,000](https://optimism.blockscout.com/address/0x4200000000000000000000000000000000000042) OP tokens in less than two months. This represents a significant amount of wealth that presumably people just lost.
2. Sending the tokens to an empty address, one that doesn't correspond to an [externally owned account](/developers/docs/accounts/#externally-owned-accounts-and-key-pairs) or a [smart contract](/developers/docs/smart-contracts). While I don't have statistics on how often this happens, [one incident could have cost 20,000,000 tokens](https://gov.optimism.io/t/message-to-optimism-community-from-wintermute/2595).
@@ -125,7 +125,7 @@ Sometimes it is useful to have an administrator that can undo mistakes. To reduc
1. Freezing and unfreezing accounts. This can be useful, for example, when an account might be compromised.
2. Asset cleanup.
- Sometimes frauds send fraudulent tokens to the real token's contract to gain legitimacy. For example, [see here](https://optimistic.etherscan.io/token/0x2348b1a1228ddcd2db668c3d30207c3e1852fbbe?a=0x4200000000000000000000000000000000000042). The legitimate ERC-20 contract is [0x4200....0042](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000042). The scam that pretends to be it is [0x234....bbe](https://optimistic.etherscan.io/address/0x2348b1a1228ddcd2db668c3d30207c3e1852fbbe).
+ Sometimes frauds send fraudulent tokens to the real token's contract to gain legitimacy. For example, [see here](https://optimism.blockscout.com/token/0x2348B1a1228DDCd2dB668c3d30207c3E1852fBbe?tab=holders). The legitimate ERC-20 contract is [0x4200....0042](https://optimism.blockscout.com/token/0x4200000000000000000000000000000000000042). The scam that pretends to be it is [0x234....bbe](https://optimism.blockscout.com/token/0x2348B1a1228DDCd2dB668c3d30207c3E1852fBbe).
It is also possible that people send legitimate ERC-20 tokens to our contract by mistake, which is another reason to want to have a way to get them out.
@@ -146,7 +146,7 @@ Freezing and thawing contracts requires several changes:
mapping(address => bool) public frozenAccounts;
```
-- [Events](https://www.tutorialspoint.com/solidity/solidity_events.htm) to inform anybody interested when an account is frozen or thawed. Technically speaking events are not required for these actions, but it helps off chain code to be able to listen to these events and know what is happening. It's considered good manners for a smart contract to emit them when something that miught be relevant to somebody else happens.
+- [Events](https://www.tutorialspoint.com/solidity/solidity_events.htm) to inform anybody interested when an account is frozen or thawed. Technically speaking events are not required for these actions, but it helps offchain code to be able to listen to these events and know what is happening. It's considered good manners for a smart contract to emit them when something that might be relevant to somebody else happens.
The events are indexed so will be possible to search for all the times an account has been frozen or thawed.
diff --git a/public/content/developers/tutorials/ethereum-for-web2-auth/fig-01-saml.png b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-01-saml.png
new file mode 100755
index 00000000000..48b5668f0b4
Binary files /dev/null and b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-01-saml.png differ
diff --git a/public/content/developers/tutorials/ethereum-for-web2-auth/fig-02-eth-logon.png b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-02-eth-logon.png
new file mode 100755
index 00000000000..0a0dcd5e9ba
Binary files /dev/null and b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-02-eth-logon.png differ
diff --git a/public/content/developers/tutorials/ethereum-for-web2-auth/fig-03-eas-data.png b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-03-eas-data.png
new file mode 100755
index 00000000000..a7a7029d420
Binary files /dev/null and b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-03-eas-data.png differ
diff --git a/public/content/developers/tutorials/ethereum-for-web2-auth/fig-04-saml-no-eth.png b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-04-saml-no-eth.png
new file mode 100755
index 00000000000..c6252d5ff12
Binary files /dev/null and b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-04-saml-no-eth.png differ
diff --git a/public/content/developers/tutorials/ethereum-for-web2-auth/fig-05-saml-w-signature.png b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-05-saml-w-signature.png
new file mode 100755
index 00000000000..95ca0dd3284
Binary files /dev/null and b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-05-saml-w-signature.png differ
diff --git a/public/content/developers/tutorials/ethereum-for-web2-auth/fig-06-saml-sig-n-email.png b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-06-saml-sig-n-email.png
new file mode 100755
index 00000000000..d317b2c87f9
Binary files /dev/null and b/public/content/developers/tutorials/ethereum-for-web2-auth/fig-06-saml-sig-n-email.png differ
diff --git a/public/content/developers/tutorials/ethereum-for-web2-auth/index.md b/public/content/developers/tutorials/ethereum-for-web2-auth/index.md
new file mode 100644
index 00000000000..cd166a52027
--- /dev/null
+++ b/public/content/developers/tutorials/ethereum-for-web2-auth/index.md
@@ -0,0 +1,885 @@
+---
+title: Using Ethereum for web2 authentication
+description: After reading this tutorial, a developer will be able to integrate Ethereum login (web3) with SAML login, a standard used in web2 to provide single sign-on and other related services. This allows access to web2 resources to be authenticated through Ethereum signatures, with the user attributes coming from attestations.
+author: Ori Pomerantz
+tags: ["web2", "authentication", "eas"]
+skill: beginner
+lang: en
+published: 2025-04-30
+---
+
+## Introduction
+
+[SAML](https://www.onelogin.com/learn/saml) is a standard used on web2 to allow an [identity provider (IdP)](https://en.wikipedia.org/wiki/Identity_provider#SAML_identity_provider) to provide user information for [service providers (SP)](https://en.wikipedia.org/wiki/Service_provider_(SAML)).
+
+In this tutorial you learn how to integrate Ethereum signatures with SAML to allow users to use their Ethereum wallets to authenticate themselves to web2 services that don't support Ethereum natively yet.
+
+Note that this tutorial is written for two separate audiences:
+
+- Ethereum people who understand Ethereum and need to learn SAML
+- Web2 people who understand SAML and web2 authentication and need to learn Ethereum
+
+As a result, it is going to contain a lot of introductory material that you already know. Feel free to skip it.
+
+### SAML for Ethereum people
+
+SAML is a centralized protocol. A service provider (SP) only accepts assertions (such as "this is my user John, he should have permissions to do A, B, and C") from an identity provider (IdP) if it has a pre-existing trust relationship either with it, or with the [certificate authority](https://www.ssl.com/article/what-is-a-certificate-authority-ca/) that signed that IdP's certificate.
+
+For example, the SP can be a travel agency providing travel services to companies, and the IdP can be a company's internal web site. When employees need to book business travel, the travel agency sends them for authentication by the company before letting them actually book travel.
+
+
+
+This is the way the three entities, the browser, SP, and IdP, negotiate for access. The SP does not need to know anything about the user using the browser in advance, just to trust the IdP.
+
+### Ethereum for SAML people
+
+Ethereum is a decentralized system.
+
+
+
+Users have a a private key (typically held in a browser extension). From the private key you can derive a public key, and from that a 20-byte address. When users need to log into a system, they are requested to sign a message with a nonce (a single-use value). The server can verify the signature was created by that address.
+
+
+
+The signature only verifies the Ethereum address. To get other user attributes, you typically use [attestations](https://attest.org/). An attestation typically has these fields:
+
+- **Attestor**, the address that made the attestation
+- **Recipient**, the address to which the attestation applies
+- **Data**, the data being attested, such as name, permissions, etc.
+- **Schema**, the ID of the schema used to interpret the data.
+
+Because of the decentralized nature of Ethereum, any user can make attestations. The attestor's identity is important to identify which attestations we consider reliable.
+
+## Setup
+
+The first step is to have a SAML SP and a SAML IdP communicating between themselves.
+
+1. Download the software. The sample software for this article is [on github](https://github.com/qbzzt/250420-saml-ethereum). Different stages are stored in different branches, for this stage you want `saml-only`
+
+ ```sh
+ git clone https://github.com/qbzzt/250420-saml-ethereum -b saml-only
+ cd 250420-saml-ethereum
+ pnpm install
+ ```
+
+2. Create keys with self-signed certificates. This means that the key is its own certificate authority, and needs to be imported manually to the service provider. See [the OpenSSL docs](https://docs.openssl.org/master/man1/openssl-req/) for more information.
+
+ ```sh
+ mkdir keys
+ cd keys
+ openssl req -new -x509 -days 365 -nodes -sha256 -out saml-sp.crt -keyout saml-sp.pem -subj /CN=sp/
+ openssl req -new -x509 -days 365 -nodes -sha256 -out saml-idp.crt -keyout saml-idp.pem -subj /CN=idp/
+ cd ..
+ ```
+
+3. Start the servers (both SP and IdP)
+
+ ```sh
+ pnpm start
+ ```
+
+4. Browse to the SP at URL [http://localhost:3000/](http://localhost:3000/) and click the button to be redirected to the IdP (port 3001).
+
+5. Provide the IdP with your email address and click **Login to the service provider**. See that you get redirected back to the service provider (port 3000) and that it knows you by your email address.
+
+### Detailed explanation
+
+This is what happens, step by step:
+
+
+
+#### src/config.mts
+
+This file contains the configuration for both the Identity Provider and the Service Provider. Normally these two would be different entities, but here we can share code for simplicity.
+
+```typescript
+const fs = await import("fs")
+
+const protocol="http"
+```
+
+For now we're just testing, so it's fine to use HTTP.
+
+```typescript
+export const spCert = fs.readFileSync("keys/saml-sp.crt").toString()
+export const idpCert = fs.readFileSync("keys/saml-idp.crt").toString()
+```
+
+Read the public keys, which are normally available to both components (and either trusted directly, or signed by a trusted certificate authority).
+
+```typescript
+export const spPort = 3000
+export const spHostname = "localhost"
+export const spDir = "sp"
+
+export const idpPort = 3001
+export const idpHostname = "localhost"
+export const idpDir = "idp"
+
+export const spUrl = `${protocol}://${spHostname}:${spPort}/${spDir}`
+export const idpUrl = `${protocol}://${idpHostname}:${idpPort}/${idpDir}`
+```
+
+The URLs for both components.
+
+```typescript
+export const spPublicData = {
+```
+
+The public data for the service provider.
+
+```typescript
+ entityID: `${spUrl}/metadata`,
+```
+
+By convention, in SAML the `entityID` is the URL where the metadata of the entity is available. This metadata corresponds to the public data here, except it is in XML form.
+
+```typescript
+ wantAssertionsSigned: true,
+ authnRequestsSigned: false,
+ signingCert: spCert,
+ allowCreate: true,
+ assertionConsumerService: [{
+ Binding: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
+ Location: `${spUrl}/assertion`,
+ }]
+ }
+```
+
+The most important definition for our purposes is the `assertionConsumerServer`. It means that to assert something (for example, "the user who sends you this information is somebody@example.com") to the service provider we need to use [HTTP POST](https://www.w3schools.com/tags/ref_httpmethods.asp) to URL `http://localhost:3000/sp/assertion`.
+
+```typescript
+export const idpPublicData = {
+ entityID: `${idpUrl}/metadata`,
+ signingCert: idpCert,
+ wantAuthnRequestsSigned: false,
+ singleSignOnService: [{
+ Binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
+ Location: `${idpUrl}/login`
+ }],
+ singleLogoutService: [{
+ Binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
+ Location: `${idpUrl}/logout`
+ }],
+ }
+```
+
+The public data for the identity provider is similar. It specifies that to log a user in you POST to `http://localhost:3001/idp/login` and to log a user out you POST to `http://localhost:3001/idp/logout`.
+
+#### src/sp.mts
+
+This is the code that implements a service provider.
+
+```typescript
+import * as config from "./config.mts"
+const fs = await import("fs")
+const saml = await import("samlify")
+```
+
+We use the [`samlify`](https://www.npmjs.com/package/samlify) library to implement SAML.
+
+```typescript
+import * as validator from "@authenio/samlify-node-xmllint"
+saml.setSchemaValidator(validator)
+```
+
+The `samlify` library expects to have a package validate that XML is correct, signed with the expected public key, etc. We use [`@authenio/samlify-node-xmllint`](https://www.npmjs.com/package/@authenio/samlify-node-xmllint) for this purpose.
+
+```typescript
+const express = (await import("express")).default
+const spRouter = express.Router()
+const app = express()
+```
+
+An [`express`](https://expressjs.com/) [`Router`](https://expressjs.com/en/5x/api.html#router) is a "mini web site" that can be mounted inside a web site. In this case, we use it to group all the service provider definitions together.
+
+```typescript
+const spPrivateKey = fs.readFileSync("keys/saml-sp.pem").toString()
+
+const sp = saml.ServiceProvider({
+ privateKey: spPrivateKey,
+ ...config.spPublicData
+})
+```
+
+The service provider's own representation of itself is all the public data, and the private key it uses to sign information.
+
+```typescript
+const idp = saml.IdentityProvider(config.idpPublicData);
+```
+
+The public data contains everything the service provider needs to know about the identity provider.
+
+```typescript
+spRouter.get(`/metadata`,
+ (req, res) => res.header("Content-Type", "text/xml").send(sp.getMetadata())
+)
+```
+
+To enable interoperability with other SAML components, service and identity providers should have their public data (called the metadata) available in XML format in `/metadata`.
+
+```typescript
+spRouter.post(`/assertion`,
+```
+
+This is the page accessed by the browser to identify itself. The assertion includes the user identifier (here we use email address), and can include additional attributes. This is the handler for step 7 in the sequence diagram above.
+
+```typescript
+ async (req, res) => {
+ // console.log(`SAML response:\n${Buffer.from(req.body.SAMLResponse, 'base64').toString('utf-8')}`)
+```
+
+You can use the commented out command to see the XML data provided in the assertion. It is [base64 encoded](https://en.wikipedia.org/wiki/Base64).
+
+```typescript
+ try {
+ const loginResponse = await sp.parseLoginResponse(idp, 'post', req);
+```
+
+Parse the login request from the identity server.
+
+```typescript
+ res.send(`
+
+
+ Hello ${loginResponse.extract.nameID}
+
+
+ `)
+ res.send();
+```
+
+Send an HTML response, just to show the user we got the login.
+
+```typescript
+ } catch (err) {
+ console.error('Error processing SAML response:', err);
+ res.status(400).send('SAML authentication failed');
+ }
+ }
+)
+```
+
+Inform the user in case of failure.
+
+```typescript
+spRouter.get('/login',
+```
+
+Create a login request when the browser attempts to get this page. This is the handler for step 1 in the sequence diagram above.
+
+```typescript
+ async (req, res) => {
+ const loginRequest = await sp.createLoginRequest(idp, "post")
+```
+
+Get the information to post a login request.
+
+```typescript
+ res.send(`
+
+
+
+```
+
+This page submits the form (see below) automatically. This way the user does not have to do anything to be redirected. This is step 2 in the sequence diagram above.
+
+```typescript
+
+
+
+ `)
+ }
+)
+
+app.use(express.urlencoded({extended: true}))
+```
+
+[This middleware](https://expressjs.com/en/5x/api.html#express.urlencoded) reads the body of the [HTTP request](https://www.tutorialspoint.com/http/http_requests.htm). By default express ignores it, because most requests don't require it. We need it because POST does use the body.
+
+```typescript
+app.use(`/${config.spDir}`, spRouter)
+```
+
+Mount the router in the service provider directory (`/sp`).
+
+```typescript
+app.get("/", (req, res) => {
+ res.send(`
+
+
+
+
+
+ `)
+})
+```
+
+If a browser tries to get the root directory, provide it with a link to the login page.
+
+```typescript
+app.listen(config.spPort, () => {
+ console.log(`service provider is running on http://${config.spHostname}:${config.spPort}`)
+})
+```
+
+Listen to the `spPort` with this express application.
+
+#### src/idp.mts
+
+This is the identity provider. It is very similar to the service provider, the explanations below are for the parts that are different.
+
+```typescript
+const xmlParser = new (await import("fast-xml-parser")).XMLParser(
+ {
+ ignoreAttributes: false, // Preserve attributes
+ attributeNamePrefix: "@_", // Prefix for attributes
+ }
+)
+```
+
+We need to read and understand the XML request we receive from the service provider.
+
+```typescript
+const getLoginPage = requestId => `
+```
+
+This function creates the page with the auto-submitted form that is returned in step 4 of the sequence diagram above.
+
+```typescript
+
+
+ Login page
+
+
+ Login page
+
+
+
+
+const idpRouter = express.Router()
+
+idpRouter.post("/loginSubmitted", async (req, res) => {
+ const loginResponse = await idp.createLoginResponse(
+```
+
+This is the handler for step 5 of the sequence diagram above. [`idp.createLoginResponse`](https://github.com/tngan/samlify/blob/master/src/entity-idp.ts#L73-L125) creates the login response.
+
+```typescript
+ sp,
+ {
+ authnContextClassRef: 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport',
+ audience: sp.entityID,
+```
+
+The audience is the service provider.
+
+```typescript
+ extract: {
+ request: {
+ id: req.body.requestId
+ }
+ },
+```
+
+Information extracted from the request. The one parameter we care about in the request is the requestId, which lets the service provider match requests and their responses.
+
+```typescript
+ signingKey: { privateKey: idpPrivateKey, publicKey: config.idpCert } // Ensure signing
+```
+
+We need `signingKey` to have the data to sign the response. The service provider doesn't trust unsigned requests.
+
+```typescript
+ },
+ "post",
+ {
+ email: req.body.email
+```
+
+This is the field with the user information we send back to the service provider.
+
+```typescript
+ }
+ );
+
+ res.send(`
+
+
+
+
+
+
+
+ `)
+})
+```
+
+Again, use an auto-submitted form. This is step 6 of the sequence diagram above.
+
+```typescript
+
+// IdP endpoint for login requests
+idpRouter.post(`/login`,
+```
+
+This is the endpoint that receives a login request from the service provider. This is the handler the step 3 of the sequence diagram above.
+
+```typescript
+ async (req, res) => {
+ try {
+ // Workaround because I couldn't get parseLoginRequest to work.
+ // const loginRequest = await idp.parseLoginRequest(sp, 'post', req)
+ const samlRequest = xmlParser.parse(Buffer.from(req.body.SAMLRequest, 'base64').toString('utf-8'))
+ res.send(getLoginPage(samlRequest["samlp:AuthnRequest"]["@_ID"]))
+```
+
+We should be able to use [`idp.parseLoginRequest`](https://github.com/tngan/samlify/blob/master/src/entity-idp.ts#L127-L144) to read the authentication request's ID. However, I couldn't get it working and it wasn't worth spending a lot of time on it so I just use a [general-purpose XML parser](https://www.npmjs.com/package/fast-xml-parser). The information we need is the `ID` attribute inside the `` tag, which is at the top level of the XML.
+
+## Using Ethereum signatures
+
+Now that we can send a user identity to the service provider, the next step is to obtain the user identity in a trusted manner. Viem allows us to just ask the wallet for the user address, but this means asking the browser for the information. We don't control the browser, so we can't automatically trust the response we get from it.
+
+Instead, the IdP is going to send the browser a string to sign. If the wallet in the browser signs this string, it means that it really is that address (that is, it knows the private key that corresponds to the address).
+
+To see this in action, stop the existing IdP and SP and run these commands:
+
+```sh
+git checkout eth-signatures
+pnpm install
+pnpm start
+```
+
+Then browse [to the SP](http://localhost:3000) and follow the directions.
+
+Note that at this point we don't know how to get the email address from the Ethereum address, so instead we report `@bad.email.address` to the SP.
+
+### Detailed explanation
+
+The changes are in steps 4-5 in the previous diagram.
+
+
+
+The only file we changed is `idp.mts`. Here are the changed parts.
+
+```typescript
+import { v4 as uuidv4 } from 'uuid'
+import { verifyMessage } from 'viem'
+```
+
+We need these two additional libraries. We use [`uuid`](https://www.npmjs.com/package/uuid) to create the [nonce](https://en.wikipedia.org/wiki/Cryptographic_nonce) value. The value itself does not matter, just the fact it is only used once.
+
+The [`viem`](https://viem.sh/) library lets us use Ethereum definitions. Here we need it to verify that the signature is indeed valid.
+
+```typescript
+const loginPrompt = "To access the service provider, sign this nonce: "
+```
+
+The wallet asks the user for permission to sign the message. A message that is just a nonce could confuse users, so we include this prompt.
+
+```typescript
+// Keep requestIDs here
+let nonces = {}
+```
+
+We need the request information to be able to respond to it. We could send it with the request (step 4), and receive it back (step 5). However, we cannot trust the information we get from the browser, which is under the control of a potentially hostile user. So it's better to store it here, with the nonce as key.
+
+Note that we are doing it here as a variable for the sake of simplicity. However, this has several disadvantages:
+
+- We are vulnerable to a denial of service attack. A malicious user could attempt to log on multiple times, filling up our memory.
+- If the IdP process needs to be restarted, we lose the existing values.
+- We cannot load balance across multiple processes, because each would have its own variable.
+
+On a production system we'd use a database and implement some kind of expiry mechanism.
+
+```typescript
+const getSignaturePage = requestId => {
+ const nonce = uuidv4()
+ nonces[nonce] = requestId
+```
+
+Create a nonce, and store the `requestId` for future use.
+
+```typescript
+ return `
+
+
+
+
+
+ Please sign
+
+
+
+
+
+`
+}
+```
+
+The rest is just standard HTML.
+
+```typescript
+idpRouter.get("/signature/:nonce/:account/:signature", async (req, res) => {
+```
+
+This is the handler for step 5 in the sequence diagram.
+
+```typescript
+ const requestId = nonces[req.params.nonce]
+ if (requestId === undefined) {
+ res.send("Bad nonce")
+ return ;
+ }
+
+ nonces[req.params.nonce] = undefined
+```
+
+Get the request ID, and delete the nonce from `nonces` to make sure it cannot be reused.
+
+```typescript
+ try {
+```
+
+Because there are so many ways in which the signature can be invalid, we wrap this in a `try ... catch` block to catch any thrown errors.
+
+```typescript
+ const validSignature = await verifyMessage({
+ address: req.params.account,
+ message: `${loginPrompt}${req.params.nonce}`,
+ signature: req.params.signature
+ })
+```
+
+Use [`verifyMessage`](https://viem.sh/docs/actions/public/verifyMessage#verifymessage) to implement step 5.5 in the sequence diagram.
+
+```typescript
+ if (!validSignature)
+ throw("Bad signature")
+ } catch (err) {
+ res.send("Error:" + err)
+ return ;
+ }
+```
+
+The rest of the handler is equivalent to what we've done in the `/loginSubmitted` handler previously, except for one small change.
+
+```typescript
+ const loginResponse = await idp.createLoginResponse(
+ .
+ .
+ .
+ {
+ email: req.params.account + "@bad.email.address"
+ }
+ );
+```
+
+We don't have the actual email address (we will get it in the next section), so for now we return the Ethereum address and mark it clearly as not an email address.
+
+
+```typescript
+// IdP endpoint for login requests
+idpRouter.post(`/login`,
+ async (req, res) => {
+ try {
+ // Workaround because I couldn't get parseLoginRequest to work.
+ // const loginRequest = await idp.parseLoginRequest(sp, 'post', req)
+ const samlRequest = xmlParser.parse(Buffer.from(req.body.SAMLRequest, 'base64').toString('utf-8'))
+ res.send(getSignaturePage(samlRequest["samlp:AuthnRequest"]["@_ID"]))
+ } catch (err) {
+ console.error('Error processing SAML response:', err);
+ res.status(400).send('SAML authentication failed');
+ }
+ }
+)
+```
+
+Instead of `getLoginPage`, now use `getSignaturePage` in the step 3 handler.
+
+## Getting the email address
+
+The next step is to obtain the email address, the identifier requested by the service provider. To do that, we use [Ethereum Attestation Service (EAS)](https://attest.org/).
+
+The easiest way to get attestations is to use the [GraphQL API](https://docs.attest.org/docs/developer-tools/api). We use this query:
+
+```
+query GetAttestationsByRecipient {
+ attestations(
+ where: {
+ recipient: { equals: "${getAddress(ethAddr)}" }
+ schemaId: { equals: "0xfa2eff59a916e3cc3246f9aec5e0ca00874ae9d09e4678e5016006f07622f977" }
+ }
+ take: 1
+ ) {
+ data
+ id
+ attester
+ }
+}
+```
+
+This [`schemaId`](https://optimism.easscan.org/schema/view/0xfa2eff59a916e3cc3246f9aec5e0ca00874ae9d09e4678e5016006f07622f977) includes just an e-mail address. This query asks for attestations of this schema. The subject of the attestation is called the `recipient`. It is always an Ethereum address.
+
+Warning: The way we are getting attestations here has two security issues.
+
+- We are going to the API endpoint, `https://optimism.easscan.org/graphql`, which is a centralized component. We can get the `id` attribute and then do a lookup onchain to verify that an attestation is real, but the API endpoint can still censor attestations by not telling us about them.
+
+ This problem is not impossible to solve, we could run our own GraphQL endpoint and get the attestations from the chain logs, but that is excessive for our purposes.
+
+- We don't look at the attester identity. Anybody can feed us false information. In a real world implementation we would have a set of trusted attesters and only look at their attestations.
+
+To see this in action, stop the existing IdP and SP and run these commands:
+
+```sh
+git checkout email-address
+pnpm install
+pnpm start
+```
+
+Then provide your e-mail address. You have two ways to do that:
+
+- Import a wallet using a private key, and use the testing private key `0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80`.
+
+- Add an attestation for your own e-mail address:
+
+ 1. Browse to [the schema in the attestation explorer](https://optimism.easscan.org/schema/view/0xfa2eff59a916e3cc3246f9aec5e0ca00874ae9d09e4678e5016006f07622f977).
+
+ 2. Click **Attest with Schema**.
+
+ 3. Enter your Ethereum address as the recipient, your e-mail address as email address, and select **Onchain**. Then click **Make Attestation**.
+
+ 4. Approve the transaction in your wallet. You will need some ETH on [the Optimism Blockchain](https://app.optimism.io/bridge/deposit) to pay for gas.
+
+Either way, after you do this browse to [http://localhost:3000](http://localhost:3000) and follow the directions. If you imported the testing private key, the e-mail you receive is `test_addr_0@example.com`. If you used your own address, it should be whatever you attested.
+
+### Detailed explanation
+
+
+
+The new steps are the GraphQL communication, steps 5.6 and 5.7.
+
+Again, here are the changed parts of `idp.mts`.
+
+```typescript
+import { GraphQLClient } from 'graphql-request'
+import { SchemaEncoder } from '@ethereum-attestation-service/eas-sdk'
+```
+
+Import the libraries we need.
+
+```typescript
+const graphqlEndpointUrl = "https://optimism.easscan.org/graphql"
+```
+
+There is [a separate endpoint for each blockchain](https://docs.attest.org/docs/developer-tools/api).
+
+```typescript
+const graphqlClient = new GraphQLClient(graphqlEndpointUrl, { fetch })
+```
+
+Create a new `GraphQLClient` client we can use for querying the endpoint.
+
+```typescript
+const graphqlSchema = 'string emailAddress'
+const graphqlEncoder = new SchemaEncoder(graphqlSchema)
+```
+
+GraphQL only gives us an opaque data object with bytes. To understand it we need the schema.
+
+```typescript
+const ethereumAddressToEmail = async ethAddr => {
+```
+
+A function to get from an Ethereum address to an e-mail address.
+
+```typescript
+ const query = `
+ query GetAttestationsByRecipient {
+```
+
+This is a GraphQL query.
+
+```typescript
+ attestations(
+```
+
+We are looking for attestations.
+
+```typescript
+ where: {
+ recipient: { equals: "${getAddress(ethAddr)}" }
+ schemaId: { equals: "0xfa2eff59a916e3cc3246f9aec5e0ca00874ae9d09e4678e5016006f07622f977" }
+ }
+```
+
+The attestations we want are those in our schema, where the recipient is `getAddress(ethAddr)`. The [`getAddress`](https://viem.sh/docs/utilities/getAddress#getaddress) function makes sure our address has the correct [checksum](https://github.com/ethereum/ercs/blob/master/ERCS/erc-55.md). This is necessary about GraphQL is case-significant. "0xBAD060A7", "0xBad060A7", and "0xbad060a7" are differemt values.
+
+```typescript
+ take: 1
+```
+
+Regardless of how many attestations we find, we only want the first one.
+
+```typescript
+ ) {
+ data
+ id
+ attester
+ }
+ }`
+```
+
+The fields we want to receive.
+
+- `attester`: The address that submitted the attestation. Normally this is used to decide whether to trust the attestation or not.
+- `id`: The attestation ID. You can use this value to [read the attestation onchain](https://optimism.blockscout.com/address/0x4200000000000000000000000000000000000021?tab=read_proxy&source_address=0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088#0xa3112a64) to verify that the information from the GraphQL query is correct.
+- `data`: The schema data (in this case, the e-mail address).
+
+```typescript
+ const queryResult = await graphqlClient.request(query)
+
+ if (queryResult.attestations.length == 0)
+ return "no_address@available.is"
+```
+
+If there is no attestation, return a value that is obviously incorrect, but that would appear valid to the service provider.
+
+```typescript
+ const attestationDataFields = graphqlEncoder.decodeData(queryResult.attestations[0].data)
+ return attestationDataFields[0].value.value
+}
+```
+
+If there is a value, use `decodeData` to decode the data. We don't need the metadata it provides, just the value itself.
+
+```typescript
+ const loginResponse = await idp.createLoginResponse(
+ sp,
+ {
+ .
+ .
+ .
+ },
+ "post",
+ {
+ email: await ethereumAddressToEmail(req.params.account)
+ }
+ );
+```
+
+Use the new function to get the e-mail address.
+
+## What about decentralization?
+
+In this configuration users cannot pretend to be somebody they are not, as long as we rely on trustworthy attesters for the Ethereum to e-mail address mapping. However, our identity provider is still a centralized component. Whoever has the private key of the identity provider can send false information to the service provider.
+
+There may be a solution using [multi-party computation (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation). I hope to write about it in a future tutorial.
+
+## Conclusion
+
+Adoption of a log on standard, such as Ethereum signatures, faces a chicken and egg problem. Service providers want to appeal to the broadest possible market. Users want to be able to access services without having to worry about supporting their log on standard.
+Creating adapters, such as an Ethereum IdP, can help us get over this hurdle.
diff --git a/public/content/developers/tutorials/hello-world-smart-contract-fullstack/index.md b/public/content/developers/tutorials/hello-world-smart-contract-fullstack/index.md
index e8b357c9faf..b636638c7dd 100644
--- a/public/content/developers/tutorials/hello-world-smart-contract-fullstack/index.md
+++ b/public/content/developers/tutorials/hello-world-smart-contract-fullstack/index.md
@@ -9,7 +9,7 @@ tags:
"alchemy",
"smart contracts",
"deploying",
- "blockexplorer",
+ "block explorer",
"frontend",
"transactions",
]
@@ -50,7 +50,7 @@ Click **Create app**. Your app will appear in the table below.
You need an Ethereum account to send and receive transactions. We'll use MetaMask, a virtual wallet in the browser that lets users manage their Ethereum account address.
-You can download and create a MetaMask account for free [here](https://metamask.io/download.html). When you are creating an account, or if you already have an account, make sure to switch over to the “Goerli Test Network” in the upper right (so that we’re not dealing with real money).
+You can download and create a MetaMask account for free [here](https://metamask.io/download). When you are creating an account, or if you already have an account, make sure to switch over to the “Goerli Test Network” in the upper right (so that we’re not dealing with real money).
### Step 4: Add ether from a Faucet {#step-4-add-ether-from-a-faucet}
@@ -263,7 +263,7 @@ In your project directory type:
npm install --save-dev @nomiclabs/hardhat-ethers "ethers@^5.0.0"
```
-### Step 13: Update hardhat.config.js {#step-13-update-hardhat.configjs}
+### Step 13: Update hardhat.config.js {#step-13-update-hardhat-configjs}
We’ve added several dependencies and plugins so far, now we need to update `hardhat.config.js` so that our project knows about all of them.
@@ -435,7 +435,7 @@ To interact with our contract, we need to create a contract instance in our code
1. Provider - a node provider that gives you read and write access to the blockchain
2. Signer - represents an Ethereum account that can sign transactions
-3. Contract - an Ethers.js object representing a specific contract deployed on-chain
+3. Contract - an Ethers.js object representing a specific contract deployed onchain
We'll use the contract ABI from the previous step to create our instance of the contract:
@@ -664,7 +664,7 @@ Successfully verified contract HelloWorld on Etherscan.
https://goerli.etherscan.io/address/#contracts
```
-Congrats! Your smart contract code is on Etherescan!
+Congrats! Your smart contract code is on Etherscan!
### Check out your smart contract on Etherscan! {#check-out-your-smart-contract-on-etherscan}
@@ -1119,7 +1119,7 @@ If you want to understand more about how transactions on Ethereum work, check ou
#### Download MetaMask {#download-metamask}
-You can download and create a MetaMask account for free [here](https://metamask.io/download.html). When you are creating an account, or if you already have an account, make sure to switch over to the “Goerli Test Network” in the upper right \(so that we’re not dealing with real money\).
+You can download and create a MetaMask account for free [here](https://metamask.io/download). When you are creating an account, or if you already have an account, make sure to switch over to the “Goerli Test Network” in the upper right \(so that we’re not dealing with real money\).
#### Add ether from a Faucet {#add-ether-from-a-faucet}
@@ -1174,7 +1174,7 @@ export const connectWallet = async () => {
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your
browser.
@@ -1270,7 +1270,7 @@ export const getCurrentWalletConnected = async () => {
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your
browser.
@@ -1332,7 +1332,7 @@ function addWalletListener() {
setStatus(
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your browser.
diff --git a/public/content/developers/tutorials/hello-world-smart-contract/index.md b/public/content/developers/tutorials/hello-world-smart-contract/index.md
index 702c94a5a7a..5aecaac8b24 100644
--- a/public/content/developers/tutorials/hello-world-smart-contract/index.md
+++ b/public/content/developers/tutorials/hello-world-smart-contract/index.md
@@ -44,7 +44,7 @@ Once you’ve created an Alchemy account, you can generate an API key by creatin
We need an Ethereum account to send and receive transactions. For this tutorial, we’ll use MetaMask, a virtual wallet in the browser used to manage your Ethereum account address. More on [transactions](/developers/docs/transactions/).
-You can download and create a MetaMask account for free [here](https://metamask.io/download.html). When you are creating an account, or if you already have an account, make sure to switch over to the “Goerli Test Network” in the upper right (so that we’re not dealing with real money).
+You can download and create a MetaMask account for free [here](https://metamask.io/download). When you are creating an account, or if you already have an account, make sure to switch over to the “Goerli Test Network” in the upper right (so that we’re not dealing with real money).

diff --git a/public/content/developers/tutorials/how-to-mint-an-nft/index.md b/public/content/developers/tutorials/how-to-mint-an-nft/index.md
index f6e3081f671..db58ac0164d 100644
--- a/public/content/developers/tutorials/how-to-mint-an-nft/index.md
+++ b/public/content/developers/tutorials/how-to-mint-an-nft/index.md
@@ -12,7 +12,7 @@ published: 2021-04-22
[3LAU](https://www.forbes.com/sites/abrambrown/2021/03/03/3lau-nft-nonfungible-tokens-justin-blau/?sh=5f72ef64643b): $11 Million
[Grimes](https://www.theguardian.com/music/2021/mar/02/grimes-sells-digital-art-collection-non-fungible-tokens): $6 Million
-All of them minted their NFTs using Alchemy’s powerful API. In this tutorial, we’ll teach you how to do the same in <10 minutes.
+All of them minted their NFTs using Alchemy’s powerful API. In this tutorial, we’ll teach you how to do the same in \<10 minutes.
“Minting an NFT” is the act of publishing a unique instance of your ERC-721 token on the blockchain. Using our smart contract from [Part 1 of this NFT tutorial series](/developers/tutorials/how-to-write-and-deploy-an-nft/), let’s flex our Web3 skills and mint an NFT. At the end of this tutorial, you’ll be able to mint as many NFTs as your heart (and wallet) desires!
@@ -109,7 +109,7 @@ Once you’re done editing the JSON file, save it and upload it to Pinata, follo
## Step 5: Create an instance of your contract {#instance-contract}
-Now, to interact with our contract, we need to create an instance of it in our code. To do so we’ll need our contract address which we can get from the deployment or [Etherscan](https://sepolia.etherscan.io/) by looking up the address you used to deploy the contract.
+Now, to interact with our contract, we need to create an instance of it in our code. To do so we'll need our contract address which we can get from the deployment or [Blockscout](https://eth-sepolia.blockscout.com/) by looking up the address you used to deploy the contract.

@@ -316,7 +316,7 @@ Now, run `node scripts/mint-nft.js` to deploy your NFT. After a couple of second
Check Alchemy's Mempool to view the status of your transaction!
-Next, visit your [Alchemy mempool](https://dashboard.alchemyapi.io/mempool) to see the status of your transaction (whether it’s pending, mined, or got dropped by the network). If your transaction got dropped, it’s also helpful to check [Sepolia Etherscan](https://sepolia.etherscan.io/) and search for your transaction hash.
+Next, visit your [Alchemy mempool](https://dashboard.alchemyapi.io/mempool) to see the status of your transaction (whether it’s pending, mined, or got dropped by the network). If your transaction got dropped, it’s also helpful to check [Blockscout](https://eth-sepolia.blockscout.com/) and search for your transaction hash.
_View your NFT transaction hash on Etherscan_
diff --git a/public/content/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md b/public/content/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
index 813412bef7f..5fc5a28b581 100644
--- a/public/content/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
+++ b/public/content/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/index.md
@@ -3,7 +3,7 @@ title: How to use Slither to find smart contract bugs
description: How to use Slither to automatically find bugs in smart contracts
author: Trailofbits
lang: en
-tags: ["solidity", "smart contracts", "security", "testing", "static analysis"]
+tags: ["solidity", "smart contracts", "security", "testing"]
skill: advanced
published: 2020-06-09
source: Building secure contracts
diff --git a/public/content/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md b/public/content/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
index e91c3a2c572..d425324a6e3 100644
--- a/public/content/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
+++ b/public/content/developers/tutorials/how-to-use-tellor-as-your-oracle/index.md
@@ -10,7 +10,7 @@ source: Tellor Docs
sourceUrl: https://docs.tellor.io/tellor/
---
-Pop Quiz: Your protocol is just about finished, but it needs an oracle to get access to off chain data...What do you do?
+Pop Quiz: Your protocol is just about finished, but it needs an oracle to get access to offchain data...What do you do?
## (Soft) Prerequisites {#soft-prerequisites}
diff --git a/public/content/developers/tutorials/how-to-write-and-deploy-an-nft/index.md b/public/content/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
index 22a5d440396..30aa83c0a55 100644
--- a/public/content/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
+++ b/public/content/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
@@ -42,7 +42,7 @@ Once you’ve created an Alchemy account, you can generate an API key by creatin
We need an Ethereum account to send and receive transactions. For this tutorial, we’ll use MetaMask, a virtual wallet in the browser used to manage your Ethereum account address. If you want to understand more about how transactions on Ethereum work, check out [this page](/developers/docs/transactions/) from the Ethereum foundation.
-You can download and create a MetaMask account for free [here](https://metamask.io/download.html). When you are creating an account, or if you already have an account, make sure to switch over to the “Sepolia Test Network” in the upper right (so that we’re not dealing with real money).
+You can download and create a MetaMask account for free [here](https://metamask.io/download). When you are creating an account, or if you already have an account, make sure to switch over to the “Sepolia Test Network” in the upper right (so that we’re not dealing with real money).

@@ -73,6 +73,7 @@ Now that we’re inside our project folder, we’ll use npm init to initialize t
It doesn’t really matter how you answer the installation questions; here is how we did it for reference:
+```json
package name: (my-nft)
version: (1.0.0)
description: My first NFT!
@@ -95,6 +96,7 @@ It doesn’t really matter how you answer the installation questions; here is ho
"author": "",
"license": "ISC"
}
+```
Approve the package.json, and we’re good to go!
@@ -255,6 +257,7 @@ We’ve added several dependencies and plugins so far, now we need to update har
Update your hardhat.config.js to look like this:
+```js
/**
* @type import('hardhat/config').HardhatUserConfig
*/
@@ -272,6 +275,7 @@ Update your hardhat.config.js to look like this:
}
},
}
+```
## Step 14: Compile our contract {#compile-contract}
diff --git a/public/content/developers/tutorials/ipfs-decentralized-ui/index.md b/public/content/developers/tutorials/ipfs-decentralized-ui/index.md
index 29447bddcf4..4f4db3e2e68 100644
--- a/public/content/developers/tutorials/ipfs-decentralized-ui/index.md
+++ b/public/content/developers/tutorials/ipfs-decentralized-ui/index.md
@@ -2,7 +2,7 @@
title: IPFS for decentralized user interfaces
description: This tutorial teaches the reader how to use IPFS to store the user interface for a dapp. Although the application's data and business logic are decentralized, without a censorship resistant user interface users might lose access to it anyway.
author: Ori Pomerantz
-tags: ["ipfs", "user interface"]
+tags: ["ipfs"]
skill: beginner
lang: en
published: 2024-06-29
diff --git a/public/content/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md b/public/content/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
index 15527d37798..cc95274fc64 100644
--- a/public/content/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
+++ b/public/content/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/index.md
@@ -3,7 +3,7 @@ title: Kickstart your dapp frontend development with create-eth-app
description: An overview of how to use create-eth-app and its features
author: "Markus Waas"
tags:
- ["create-eth-app", "frontend", "javascript", "ethers.js", "the graph", "defi"]
+ ["frontend", "javascript", "ethers.js", "the graph", "defi"]
skill: beginner
lang: en
published: 2020-04-27
@@ -54,13 +54,13 @@ While [Web3](https://docs.web3js.org/) is still mostly used, [ethers.js](https:/
Usually you would fetch data from your smart contract directly. Want to read the time of the latest trade? Just call `MyContract.methods.latestTradeTime().call()` which fetches the data from an Ethereum node into your dapp. But what if you need hundreds of different data points? That would result in hundreds of data fetches to the node, each time requiring an [RTT](https://wikipedia.org/wiki/Round-trip_delay_time) making your dapp slow and inefficient. One workaround might be a fetcher call function inside your contract that returns multiple data at once. This is not always ideal though.
-And then you might be interested in historical data as well. You want to know not only the last trade time, but the times for all trades that you ever did yourself. Use the _create-eth-app_ subgraph package, read the [documentation](https://thegraph.com/docs/define-a-subgraph) and adapt it to your own contracts. If you are looking for popular smart contracts, there may even already be a subgraph. Check out the [subgraph explorer](https://thegraph.com/explorer/).
+And then you might be interested in historical data as well. You want to know not only the last trade time, but the times for all trades that you ever did yourself. Use the _create-eth-app_ subgraph package, read the [documentation](https://thegraph.com/docs/en/subgraphs/developing/creating/starting-your-subgraph) and adapt it to your own contracts. If you are looking for popular smart contracts, there may even already be a subgraph. Check out the [subgraph explorer](https://thegraph.com/explorer/).
Once you have a subgraph, it allows you to write one simple query in your dapp that retrieves all the important blockchain data including historical ones that you need, only one fetch required.
### Apollo {#apollo}
-Thanks to the [Apollo Boost](https://www.apollographql.com/docs/react/get-started/) integration you can easily integrate the graph in your React dapp. Especially when using [React hooks and Apollo](https://www.apollographql.com/blog/apollo-client-now-with-react-hooks-676d116eeae2), fetching data is as simple as writing a single GraphQl query in your component:
+Thanks to the [Apollo Boost](https://www.apollographql.com/docs/react/get-started/) integration you can easily integrate the graph in your React dapp. Especially when using [React hooks and Apollo](https://www.apollographql.com/blog/apollo-client-now-with-react-hooks), fetching data is as simple as writing a single GraphQl query in your component:
```js
const { loading, error, data } = useQuery(myGraphQlQuery)
diff --git a/public/content/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md b/public/content/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
index 40bdfcbcdd6..beadc961150 100644
--- a/public/content/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
+++ b/public/content/developers/tutorials/learn-foundational-ethereum-topics-with-sql/index.md
@@ -1,6 +1,6 @@
---
title: Learn Foundational Ethereum Topics with SQL
-description: This tutorial helps readers understand fundamental Ethereum concepts including transactions, blocks and gas by querying on-chain data with Structured Query Language (SQL).
+description: This tutorial helps readers understand fundamental Ethereum concepts including transactions, blocks and gas by querying onchain data with Structured Query Language (SQL).
author: "Paul Apivat"
tags: ["SQL", "Querying", "Transactions"]
skill: beginner
@@ -10,21 +10,21 @@ source: paulapivat.com
sourceUrl: https://paulapivat.com/post/query_ethereum/
---
-Many Ethereum tutorials target developers, but there’s a lack of educational resources for data analysts or for people who wish to see on-chain data without running a client or node.
+Many Ethereum tutorials target developers, but there’s a lack of educational resources for data analysts or for people who wish to see onchain data without running a client or node.
-This tutorial helps readers understand fundamental Ethereum concepts including transactions, blocks and gas by querying on-chain data with structured query language (SQL) through an interface provided by [Dune Analytics](https://dune.xyz/home).
+This tutorial helps readers understand fundamental Ethereum concepts including transactions, blocks and gas by querying onchain data with structured query language (SQL) through an interface provided by [Dune Analytics](https://dune.xyz/home).
-On-chain data can help us understand Ethereum, the network, and as an economy for computing power and should serve as a base for understanding challenges facing Ethereum today (i.e., rising gas prices) and, more importantly, discussions around scaling solutions.
+Onchain data can help us understand Ethereum, the network, and as an economy for computing power and should serve as a base for understanding challenges facing Ethereum today (i.e., rising gas prices) and, more importantly, discussions around scaling solutions.
### Transactions {#transactions}
A user’s journey on Ethereum starts with initializing a user-controlled account or an entity with an ETH balance. There are two account types - user-controlled or a smart contract (see [ethereum.org](/developers/docs/accounts/)).
-Any account can be viewed on a block explorer like [Etherscan](https://etherscan.io/). Block explorers are a portal to Ethereum’s data. They display, in real-time, data on blocks, transactions, miners, accounts and other on-chain activity (see [here](/developers/docs/data-and-analytics/block-explorers/)).
+Any account can be viewed on a block explorer like [Etherscan](https://etherscan.io/) or [Blockscout](https://eth.blockscout.com/). Block explorers are a portal to Ethereum's data. They display, in real-time, data on blocks, transactions, miners, accounts and other onchain activity (see [here](/developers/docs/data-and-analytics/block-explorers/)).
However, a user may wish to query the data directly to reconcile the information provided by external block explorers. [Dune Analytics](https://duneanalytics.com/) provides this capability to anyone with some knowledge of SQL.
-For reference, the smart contract account for the Ethereum Foundation (EF) can be viewed on [Etherscan](https://etherscan.io/address/0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae).
+For reference, the smart contract account for the Ethereum Foundation (EF) can be viewed on [Blockscout](https://eth.blockscout.com/address/0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe).
One thing to note is that all accounts, including the EF’s, have a public address that can be used to send and receive transactions.
@@ -64,7 +64,7 @@ This will yield the same information as provided on Etherscan's transaction page

-[EF's contract page on Etherscan.](https://etherscan.io/address/0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe)
+[EF's contract page on Blockscout.](https://eth.blockscout.com/address/0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe)
#### Dune Analytics {#dune-analytics}
@@ -132,9 +132,9 @@ The only thing this query does not cover is _list of transaction_ which requires
- Chain data (list of blocks, transactions)
- State data (result of each transaction’s state transition)
-State root falls in the latter and is _implicit_ data (not stored on-chain), while chain data is explicit and stored on the chain itself ([source](https://ethereum.stackexchange.com/questions/359/where-is-the-state-data-stored)).
+State root falls in the latter and is _implicit_ data (not stored onchain), while chain data is explicit and stored on the chain itself ([source](https://ethereum.stackexchange.com/questions/359/where-is-the-state-data-stored)).
-For this tutorial, we'll be focusing on on-chain data that _can_ be queried with SQL via Dune Analytics.
+For this tutorial, we'll be focusing on onchain data that _can_ be queried with SQL via Dune Analytics.
As stated above, each block contains a list of transactions, we can query this by filtering for a specific block. We'll try the most recent block, 12396854:
@@ -262,7 +262,7 @@ ORDER BY block_time DESC
### Summary {#summary}
-With this tutorial, we understand foundational Ethereum concepts and how the Ethereum blockchain works by querying and getting a feel for on-chain data.
+With this tutorial, we understand foundational Ethereum concepts and how the Ethereum blockchain works by querying and getting a feel for onchain data.
The dashboard that holds all code used in this tutorial can be found [here](https://duneanalytics.com/paulapivat/Learn-Ethereum).
diff --git a/public/content/developers/tutorials/logging-events-smart-contracts/index.md b/public/content/developers/tutorials/logging-events-smart-contracts/index.md
index ecd0fd7b483..6ddf21dc45e 100644
--- a/public/content/developers/tutorials/logging-events-smart-contracts/index.md
+++ b/public/content/developers/tutorials/logging-events-smart-contracts/index.md
@@ -59,4 +59,4 @@ If we now deploy the contract and call the increment function, we’ll see that

-Logs are really useful for debugging your smart contracts but they are also important if you build applications used by different people and make it easier to make analytics to track and understand how your smart contract is used. The logs generated by transactions are displayed in popular block explorers and you can also for example use them to create off chain scripts for listening to specific events and taking action when they occur.
+Logs are really useful for debugging your smart contracts but they are also important if you build applications used by different people and make it easier to make analytics to track and understand how your smart contract is used. The logs generated by transactions are displayed in popular block explorers and you can also for example use them to create offchain scripts for listening to specific events and taking action when they occur.
diff --git a/public/content/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md b/public/content/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
index fd1de41b86d..743ee598e22 100644
--- a/public/content/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
+++ b/public/content/developers/tutorials/merkle-proofs-for-offline-data-integrity/index.md
@@ -1,6 +1,6 @@
---
title: Merkle proofs for offline data integrity
-description: Ensuring data integrity on chain for data that is stored, mostly, off chain
+description: Ensuring data integrity onchain for data that is stored, mostly, offchain
author: Ori Pomerantz
tags: ["storage"]
skill: advanced
@@ -24,13 +24,13 @@ In this article you learn **how** to ensure data integrity without storing the d
## How does it work? {#how-does-it-work}
-In theory we could just store the hash of the data on chain, and send all the data in transactions that require it. However, this is still too expensive. A byte of data to a transaction costs about 16 gas, currently about half a cent, or about $5 per kilobyte. At $5000 per megabyte, this is still too expensive for many uses, even without the added cost of hashing the data.
+In theory we could just store the hash of the data onchain, and send all the data in transactions that require it. However, this is still too expensive. A byte of data to a transaction costs about 16 gas, currently about half a cent, or about $5 per kilobyte. At $5000 per megabyte, this is still too expensive for many uses, even without the added cost of hashing the data.
The solution is to repeatedly hash different subsets of the data, so for the data that you don't need to send you can just send a hash. You do this using a Merkle tree, a tree data structure where each node is a hash of the nodes below it:

-The root hash is the only part that needs to be stored on chain. To prove a certain value, you provide all the hashes that need to be combined with it to obtain the root. For example, to prove `C` you provide `D`, `H(A-B)`, and `H(E-H)`.
+The root hash is the only part that needs to be stored onchain. To prove a certain value, you provide all the hashes that need to be combined with it to obtain the root. For example, to prove `C` you provide `D`, `H(A-B)`, and `H(E-H)`.

@@ -38,9 +38,9 @@ The root hash is the only part that needs to be stored on chain. To prove a cert
[The sample code is provided here](https://github.com/qbzzt/merkle-proofs-for-offline-data-integrity).
-### Off-chain code {#off-chain-code}
+### Offchain code {#offchain-code}
-In this article we use JavaScript for the off-chain computations. Most decentralized applications have their off-chain component in JavaScript.
+In this article we use JavaScript for the offchain computations. Most decentralized applications have their offchain component in JavaScript.
#### Creating the Merkle root {#creating-the-merkle-root}
@@ -62,7 +62,7 @@ const dataArray = [
]
```
-Encoding each entry into a single 256-bit integer results in less readable code than using JSON, for example. However, this means significantly less processing to retrieve the data in the contract, so much lower gas costs. [You can read JSON on chain](https://github.com/chrisdotn/jsmnSol), it's just a bad idea if avoidable.
+Encoding each entry into a single 256-bit integer results in less readable code than using JSON, for example. However, this means significantly less processing to retrieve the data in the contract, so much lower gas costs. [You can read JSON onchain](https://github.com/chrisdotn/jsmnSol), it's just a bad idea if avoidable.
```javascript
// The array of hash values, as BigInts
@@ -85,7 +85,7 @@ The ethers hash function expects to get a JavaScript string with a hexadecimal n
const pairHash = (a, b) => hash(hash(a) ^ hash(b))
```
-This function is symmetrical (hash of a [xor](https://en.wikipedia.org/wiki/Exclusive_or) b). This means that when we check the Merkle proof we don't need to worry about whether to put the value from the proof before or after the calculated value. Merkle proof checking is done on chain, so the less we need to do there the better.
+This function is symmetrical (hash of a [xor](https://en.wikipedia.org/wiki/Exclusive_or) b). This means that when we check the Merkle proof we don't need to worry about whether to put the value from the proof before or after the calculated value. Merkle proof checking is done onchain, so the less we need to do there the better.
Warning:
Cryptography is harder than it looks.
@@ -172,9 +172,9 @@ We hash `(v[0],v[1])`, `(v[2],v[3])`, etc. So for even values we need the next o
} // getMerkleProof
```
-### On-chain code {#on-chain-code}
+### Onchain code {#onchain-code}
-Finally we have the code that checks the proof. The on-chain code is written in [Solidity](https://docs.soliditylang.org/en/v0.8.11/). Optimization is a lot more important here because gas is relatively expensive.
+Finally we have the code that checks the proof. The onchain code is written in [Solidity](https://docs.soliditylang.org/en/v0.8.11/). Optimization is a lot more important here because gas is relatively expensive.
```solidity
//SPDX-License-Identifier: Public Domain
@@ -241,7 +241,7 @@ In mathematical notation Merkle proof verification looks like this: `H(proof_n,
Merkle proofs don't work well with [rollups](/developers/docs/scaling/#rollups). The reason is that rollups write all the transaction data on L1, but process on L2. The cost to send a Merkle proof with a transaction averages to 638 gas per layer (currently a byte in call data costs 16 gas if it isn't zero, and 4 if it is zero). If we have 1024 words of data, a Merkle proof requires ten layers, or a total of 6380 gas.
-Looking for example at [Optimism](https://public-grafana.optimism.io/d/9hkhMxn7z/public-dashboard?orgId=1&refresh=5m), writing L1 gas costs about 100 gwei and L2 gas costs 0.001 gwei (that is the normal price, it can rise with congestion). So for the cost of one L1 gas we can spend a hundred thousand gas on L2 processing. Assuming we don't overwrite storage, this means that we can write about five words to storage on L2 for the price of one L1 gas. For a single Merkle proof we can write the entire 1024 words to storage (assuming they can be calculated on chain to begin with, rather than provided in a transaction) and still have most of the gas left over.
+Looking for example at [Optimism](https://public-grafana.optimism.io/d/9hkhMxn7z/public-dashboard?orgId=1&refresh=5m), writing L1 gas costs about 100 gwei and L2 gas costs 0.001 gwei (that is the normal price, it can rise with congestion). So for the cost of one L1 gas we can spend a hundred thousand gas on L2 processing. Assuming we don't overwrite storage, this means that we can write about five words to storage on L2 for the price of one L1 gas. For a single Merkle proof we can write the entire 1024 words to storage (assuming they can be calculated onchain to begin with, rather than provided in a transaction) and still have most of the gas left over.
## Conclusion {#conclusion}
diff --git a/public/content/developers/tutorials/nft-minter/index.md b/public/content/developers/tutorials/nft-minter/index.md
index dac3bc801dc..293d1edb685 100644
--- a/public/content/developers/tutorials/nft-minter/index.md
+++ b/public/content/developers/tutorials/nft-minter/index.md
@@ -197,7 +197,7 @@ For users to be able to interact with your smart contract they will need to conn
For this tutorial, we’ll use MetaMask, a virtual wallet in the browser used to manage your Ethereum account address. If you want to understand more about how transactions on Ethereum work, check out [this page](/developers/docs/transactions/).
-You can download and create a MetaMask account for free [here](https://metamask.io/download.html). When you are creating an account, or if you already have an account, make sure to switch over to the “Ropsten Test Network” in the upper right \(so that we’re not dealing with real money\).
+You can download and create a MetaMask account for free [here](https://metamask.io/download). When you are creating an account, or if you already have an account, make sure to switch over to the “Ropsten Test Network” in the upper right \(so that we’re not dealing with real money\).
### Add ether from a Faucet {#add-ether-from-faucet}
@@ -254,7 +254,7 @@ export const connectWallet = async () => {
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your
browser.
@@ -364,7 +364,7 @@ export const getCurrentWalletConnected = async () => {
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your
browser.
@@ -428,7 +428,7 @@ function addWalletListener() {
setStatus(
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your browser.
@@ -473,7 +473,7 @@ To store our metadata on IPFS, we will use [Pinata](https://pinata.cloud/), a co
## Use Pinata to pin your metadata to IPFS {#use-pinata-to-pin-your-metadata-to-IPFS}
-If you don't have a [Pinata](https://pinata.cloud/) account, sign up for a free account [here](https://pinata.cloud/signup) and complete the steps to verify your email and account.
+If you don't have a [Pinata](https://pinata.cloud/) account, sign up for a free account [here](https://app.pinata.cloud/auth/signup) and complete the steps to verify your email and account.
### Create your Pinata API key {#create-pinata-api-key}
@@ -512,7 +512,7 @@ Save the file, and then you're ready to start writing the function to upload you
### Implement pinJSONToIPFS {#pin-json-to-ipfs}
-Fortunately for us, Pinata has an [API specifically for uploading JSON data to IPFS](https://pinata.cloud/documentation#PinJSONToIPFS) and a convenient JavaScript with axios example that we can use, with some slight modifications.
+Fortunately for us, Pinata has an [API specifically for uploading JSON data to IPFS](https://docs.pinata.cloud/api-reference/endpoint/ipfs/pin-json-to-ipfs#pin-json) and a convenient JavaScript with axios example that we can use, with some slight modifications.
In your `utils` folder, let's create another file called `pinata.js` and then import our Pinata secret and key from the .env file like so:
diff --git a/public/content/developers/tutorials/optimism-std-bridge-annotated-code/index.md b/public/content/developers/tutorials/optimism-std-bridge-annotated-code/index.md
index fb48cef6e8b..f0e7c7118cd 100644
--- a/public/content/developers/tutorials/optimism-std-bridge-annotated-code/index.md
+++ b/public/content/developers/tutorials/optimism-std-bridge-annotated-code/index.md
@@ -17,7 +17,7 @@ One way to achieve this is for users to lock assets (ETH and [ERC-20 tokens](/de
Eventually, whoever ends up with them might want to bridge them back to L1.
When doing this, the assets are burned on L2 and then released back to the user on L1.
-This is the way the [Optimism standard bridge](https://community.optimism.io/docs/developers/bridge/standard-bridge) works.
+This is the way the [Optimism standard bridge](https://docs.optimism.io/app-developers/bridging/standard-bridge) works.
In this article we go over the source code for that bridge to see how it works and study it as an example of well written Solidity code.
## Control flows {#control-flows}
@@ -1101,7 +1101,7 @@ There are two significant differences:
1. On L1 you initiate deposits and finalize withdrawals.
Here you initiate withdrawals and finalize deposits.
2. On L1 it is necessary to distinguish between ETH and ERC-20 tokens.
- On L2 we can use the same functions for both because internally ETH balances on Optimism are handled as an ERC-20 token with the address [0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000](https://optimistic.etherscan.io/address/0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000).
+ On L2 we can use the same functions for both because internally ETH balances on Optimism are handled as an ERC-20 token with the address [0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000](https://explorer.optimism.io/address/0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000).
```solidity
/* Library Imports */
@@ -1347,7 +1347,7 @@ The only way we can do this from L2 is to send a message that will have to wait
The standard bridge is the most flexible mechanism for asset transfers.
However, because it is so generic it is not always the easiest mechanism to use.
-Especially for withdrawals, most users prefer to use [third party bridges](https://www.optimism.io/apps/bridges) that do not wait the challenge period and do not require a Merkle proof to finalize the withdrawal.
+Especially for withdrawals, most users prefer to use [third party bridges](https://optimism.io/apps#bridge) that do not wait the challenge period and do not require a Merkle proof to finalize the withdrawal.
These bridges typically work by having assets on L1, which they provide immediately for a small fee (often less than the cost of gas for a standard bridge withdrawal).
When the bridge (or the people running it) anticipates being short on L1 assets it transfers sufficient assets from L2. As these are very big withdrawals, the withdrawal cost is amortized over a large amount and is a much smaller percentage.
diff --git a/public/content/developers/tutorials/reverse-engineering-a-contract/index.md b/public/content/developers/tutorials/reverse-engineering-a-contract/index.md
index f1ff9f47fcf..a25e4d40b69 100644
--- a/public/content/developers/tutorials/reverse-engineering-a-contract/index.md
+++ b/public/content/developers/tutorials/reverse-engineering-a-contract/index.md
@@ -51,8 +51,8 @@ Contracts are always executed from the first byte. This is the initial part of t
| 4 | MSTORE | Empty |
| 5 | PUSH1 0x04 | 0x04 |
| 7 | CALLDATASIZE | CALLDATASIZE 0x04 |
-| 8 | LT | CALLDATASIZE<4 |
-| 9 | PUSH2 0x005e | 0x5E CALLDATASIZE<4 |
+| 8 | LT | CALLDATASIZE\<4 |
+| 9 | PUSH2 0x005e | 0x5E CALLDATASIZE\<4 |
| C | JUMPI | Empty |
This code does two things:
@@ -117,8 +117,8 @@ The `NOT` is bitwise, so it reverses the value of every bit in the call value.
| -----: | ------------ | --------------------------------------------------------------------------- |
| 1AC | DUP3 | Value\* 2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
| 1AD | GT | Value\*>2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
-| 1AE | ISZERO | Value\*<=2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
-| 1AF | PUSH2 0x01df | 0x01DF Value\*<=2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AE | ISZERO | Value\*\<=2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AF | PUSH2 0x01df | 0x01DF Value\*\<=2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
| 1B2 | JUMPI |
We jump if `Value*` is smaller than 2^256-CALLVALUE-1 or equal to it. This looks like logic to prevent overflow. And indeed, we see that after a few nonsense operations (writing to memory is about to get deleted, for example) at offset 0x01DE the contract reverts if the overflow is detected, which is normal behavior.
@@ -429,7 +429,7 @@ The code in offsets 0x138-0x143 is identical to what we saw in 0x103-0x10E in `s
| 194 | DUP3 | 0x04 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 195 | DUP5 | CALLDATASIZE 0x04 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 196 | SUB | CALLDATASIZE-4 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
-| 197 | SLT | CALLDATASIZE-4<32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 197 | SLT | CALLDATASIZE-4\<32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 198 | ISZERO | CALLDATASIZE-4>=32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 199 | PUSH2 0x01a0 | 0x01A0 CALLDATASIZE-4>=32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 19C | JUMPI | 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
@@ -469,8 +469,8 @@ Let's see what happens if the function _does_ get the call data it needs.
| 172 | DUP2 | 0x04 calldataload(4) 0x04 calldataload(4) 0xDA |
| 173 | SLOAD | Storage[4] calldataload(4) 0x04 calldataload(4) 0xDA |
| 174 | DUP2 | calldataload(4) Storage[4] calldataload(4) 0x04 calldataload(4) 0xDA |
-| 175 | LT | calldataload(4)) makes absolutely no sense if you can just go on a blockchain explorer and see the map.
+
+The simplest solution is to use a [server component](/developers/tutorials/server-components/) to hold the secret state. However, the reason we use blockchain is to prevent cheating by the game developer. We need to ensure the server component's honesty. The server can provide a hash of the state, and use [zero-knowledge proofs](/zero-knowledge-proofs/#why-zero-knowledge-proofs-are-important) to prove that the state used to calculate the result of a move is the correct one.
+
+After reading this article you will know how to create this kind of secret state holding server, a client for showing the state, and an onchain component for communication between the two. The main tools we use will be:
+
+| Tool | Purpose | Verified on version |
+| --------------------------------------------- | ------------------------------------------------------- | ------------------: |
+| [Zokrates](https://zokrates.github.io/) | Zero-knowledge proofs and their verification | 1.1.9 |
+| [Typescript](https://www.typescriptlang.org/) | Programming language for both the server and the client | 5.4.2 |
+| [Node](https://nodejs.org/en) | Running the server | 20.18.2 |
+| [Viem](https://viem.sh/) | Communication with the Blockchain | 2.9.20 |
+| [MUD](https://mud.dev/) | Onchain data management | 2.0.12 |
+| [React](https://react.dev/) | Client user interface | 18.2.0 |
+| [Vite](https://vitejs.dev/) | Serving the client code | 4.2.1 |
+
+## Minesweeper example {#minesweeper}
+
+[Minesweeper]() is a game that includes a secret map with a minefield. The player chooses to dig in a specific location. If that location has a mine, it's game over. Otherwise, the player gets the number of mines in the eight squares surrounding that location.
+
+This application is written using [MUD](https://mud.dev/), a framework that lets us store data onchain using a [key-value database](https://aws.amazon.com/nosql/key-value/) and synchronize that data automatically with offchain components. In addition to synchronization, MUD makes it easy to provide access control, and for other users to [extend](https://mud.dev/guides/extending-a-world) our application permissionlessly.
+
+### Running the minesweeper example {#running-minesweeper-example}
+
+To run the minesweeper example:
+
+1. Make sure you [have the prerequisites installed](https://mud.dev/quickstart#prerequisites): [Node](https://mud.dev/quickstart#prerequisites), [Foundry](https://book.getfoundry.sh/getting-started/installation), [`git`](https://git-scm.com/downloads), [`pnpm`](https://git-scm.com/downloads), and [`mprocs`](https://github.com/pvolok/mprocs).
+
+2. Clone the repository.
+
+ ```sh copy
+ git clone https://github.com/qbzzt/20240901-secret-state.git
+ ```
+
+3. Install the packages.
+
+ ```sh copy
+ cd 20240901-secret-state/
+ pnpm install
+ npm install -g mprocs
+ ```
+
+ If Foundry was installed as part of `pnpm install`, you need to restart the command-line shell.
+
+4. Compile the contracts
+
+ ```sh copy
+ cd packages/contracts
+ forge build
+ cd ../..
+ ```
+
+
+5. Start the program (including an [anvil](https://book.getfoundry.sh/anvil/) blockchain) and wait.
+
+ ```sh copy
+ mprocs
+ ```
+
+ Note that the startup takes a long time. To see the progress, first use the down arrow to scroll to the _contracts_ tab to see the MUD contracts being deployed. When you get the message _Waiting for file changes…_, the contracts are deployed and further progress will happen in the _server_ tab. There, you wait until you get the message _Verifier address: 0x...._.
+
+ If this step is successful, you will see the `mprocs` screen, with the different processes on the left and the console output for the currently selected process on the right.
+
+ 
+
+ If there is a problem with `mprocs`, you can run the four processes manually, each in its own command line window:
+
+ - **Anvil**
+
+ ```sh
+ cd packages/contracts
+ anvil --base-fee 0 --block-time 2
+ ```
+
+ - **Contracts**
+
+ ```sh
+ cd packages/contracts
+ pnpm mud dev-contracts --rpc http://127.0.0.1:8545
+ ```
+
+ - **Server**
+
+ ```sh
+ cd packages/server
+ pnpm start
+ ```
+
+ - **Client**
+
+ ```sh
+ cd packages/client
+ pnpm run dev
+ ```
+
+6. Now you can browse to [the client](http://localhost:3000), click **New Game**, and start playing.
+
+### Tables {#tables}
+
+We need [several tables](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/mud.config.ts) onchain.
+
+- `Configuration`: This table is a singleton, it has no key and single record. It is used to hold game configuration information:
+ - `height`: The height of a minefield
+ - `width`: The width of a minefield
+ - `numberOfBombs`: The number of bombs in each minefield
+- `VerifierAddress`: This table is also a singleton. It is used to hold one part of the configuration, the address of the verifier contract (`verifier`). We could have put this information in the `Configuration` table, but it is set by a different component, the server, so it's easier to put it in a separate table.
+
+- `PlayerGame`: The key is the player's address. The data is:
+
+ - `gameId`: 32-byte value that is the hash of the map the player is playing on (the game identifier).
+ - `win`: a boolean that is whether the player won the game.
+ - `lose`: a boolean that is whether the player lost the game.
+ - `digNumber`: the number of successful digs in the game.
+
+- `GamePlayer`: This table holds the reverse mapping, from `gameId` to player address.
+
+- `Map`: The key is a tuple of three values:
+
+ - `gameId`: 32-byte value that is the hash of the map the player is playing on (the game identifier).
+ - `x` coordinate
+ - `y` coordinate
+
+ The value is a single number. It's 255 if a bomb was detected. Otherwise, it is the number of bombs around that location plus one. We cannot just use the number of bombs, because by default all storage in the EVM and all row values in MUD are zero. We need to distinguish between "the player haven't dug here yet" and "the player dug here, and found there are zero bombs around".
+
+In addition, communication between the client and server happens through the onchain component. This is also implemented using tables.
+
+- `PendingGame`: Unserviced requests to start a new game.
+- `PendingDig`: Unserviced requests to dig in a specific place in a specific game. This is an [offchain table](https://mud.dev/store/tables#types-of-tables), meaning that it does not get written to EVM storage, it's only readable offchain using events.
+
+### Execution and data flows {#execution-data-flows}
+
+These flows coordinate execution between the client, the onchain component, and the server.
+
+#### Initialization {#initialization-flow}
+
+When you run `mprocs`, these steps happen:
+
+1. [`mprocs`](https://github.com/pvolok/mprocs) runs four components:
+
+ - [Anvil](https://book.getfoundry.sh/anvil/), which runs a local blockchain
+ - [Contracts](https://github.com/qbzzt/20240901-secret-state/tree/main/packages/contracts), which compiles (if needed) and deploys the contracts for MUD
+ - [Client](https://github.com/qbzzt/20240901-secret-state/tree/main/packages/client), which runs [Vite](https://vitejs.dev/) to serve the UI and client code to web browsers.
+ - [Server](https://github.com/qbzzt/20240901-secret-state/tree/main/packages/server), which performs the server actions
+
+2. The `contracts` package deploys the MUD contracts and then runs [the `PostDeploy.s.sol` script](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/script/PostDeploy.s.sol). This script sets the configuration. The code from github specifies [a 10x5 minefield with eight mines in it](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/script/PostDeploy.s.sol#L23).
+
+3. [The server](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts) starts by [setting up MUD](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L6). Among other things, this activates data synchronization, so that a copy of the relevant tables exists in the server's memory.
+
+4. The server subscribes a function to be executed [when the `Configuration` table changes](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L23). [This function](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L24-L168) is called after `PostDeploy.s.sol` executes and modifies the table.
+
+5. When the server initialization function has the configuration, [it calls `zkFunctions`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L34-L35) to initialize [the zero-knowledge part of the server](#using-zokrates-from-typescript). This cannot happen until we get the configuration because the zero-knowledge functions have to have the width and height of the minefield as constants.
+
+6. After the zero-knowledge part of the server is initialized, the next step is to [deploy the zero-knowledge verification contract to the blockchain](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L42-L53) and set the verifiee address in MUD.
+
+7. Finally, we subscribe to updates so we'll see when a player requests either [to start a new game](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L55-L71) or to [dig in an existing game](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L73-L108).
+
+#### New game {#new-game-flow}
+
+This is what happens when the player requests a new game.
+
+1. If there is no game in progress for this player, or there is one but with a gameId of zero, the client displays a [new game button](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L175). When the user presses this button, [React runs the `newGame` function](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L96).
+
+2. [`newGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/mud/createSystemCalls.ts#L43-L46) is a `System` call. In MUD all calls are routed through the `World` contract, and in most cases you call `__`. In this case, the call is to `app__newGame`, which MUD then routes to [`newGame` in `GameSystem`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L16-L22).
+
+3. The onchain function checks that the player does not have a game in progress, and if there isn't one [adds the request to the `PendingGame` table](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L21).
+
+4. The server detects the change in `PendingGame` and [runs the subscribed function](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L55-L71). This function calls [`newGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L110-L114), which in turn calls [`createGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L116-L144).
+
+5. The first thing `createGame` does is [create a random map with the appropriate number of mines](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L120-L135). Then, it calls [`makeMapBorders`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L147-L166) to create a map with blank borders, which is necessary for Zokrates. Finally, `createGame` calls [`calculateMapHash`](#calculateMapHash), to get the hash of the map, which is used as the game ID.
+
+6. The `newGame` function adds the new game to `gamesInProgress`.
+
+7. The last thing the server does is call [`app__newGameResponse`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L38-L43), which is onchain. This function is in a different `System`, [`ServerSystem`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol), to enable access control. Access control is defined in the [MUD configuration file](https://mud.dev/config), [`mud.config.ts`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/mud.config.ts#L67-L72).
+
+ The access list only allows a single address to call the `System`. This restricts access to the server functions to a single address, so nobody can impersonate the server.
+
+8. The onchain component updates the relevant tables:
+
+ - Create the game in `PlayerGame`.
+ - Set the reverse mapping in `GamePlayer`.
+ - Remove the request from `PendingGame`.
+
+9. The server identifies the change in `PendingGame`, but does not do anything because [`wantsGame`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L58-L60) is false.
+
+10. On the client [`gameRecord`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L143-L148) is set to the `PlayerGame` entry for the player's address. When `PlayerGame` changes, `gameRecord` changes too.
+
+11. If there is a value in `gameRecord`, and the game hasn't been won or lost, the client [displays the map](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L175-L190).
+
+#### Dig {#dig-flow}
+
+1. The player [clicks the map cell's button](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L188), which calls [the `dig` function](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/mud/createSystemCalls.ts#L33-L36). This function calls [`dig` onchain](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L24-L32).
+
+2. The onchain component [performs a number of sanity checks](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L25-L30), and if successful adds the dig request to [`PendingDig`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/GameSystem.sol#L31).
+
+3. The server [detects the change in `PendingDig`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L73). [If it is valid](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L75-L84), it [calls the zero-knowledge code](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L86-L95) (explained below) to generate both the result and a proof that it is valid.
+
+4. [The server](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L97-L107) calls [`digResponse`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L45-L64) onchain.
+
+5. `digResponse` does two things. First, it checks [the zero knowledge proof](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L47-L61). Then, if the proof checks out, it calls [`processDigResult`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L67-L86) to actually process the result.
+
+6. `processDigResult` checks if the game has been [lost](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L76-L78) or [won](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L83-L86), and [updates `Map`, the onchain map](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol#L80).
+
+7. The client picks up the updates automatically and [updates the map displayed to the player](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/client/src/App.tsx#L175-L190), and if applicable tells the player if it's a win or a lose.
+
+## Using Zokrates {#using-zokrates}
+
+In the flows explained above we skipped over the zero-knowledge parts, treating them as a black box. Now let's crank it open and see how that code is written.
+
+### Hashing the map {#hashing-map}
+
+We can use [this JavaScript code](https://github.com/ZK-Plus/ICBC24_Tutorial_Compute-Offchain-Verify-onchain/tree/solutions/exercise) to implement [Poseidon](https://www.poseidon-hash.info), the Zokrates hash function we use. However, while this would be faster, it would also be more complicated than just using the Zokrates hash function to do it. This is a tutorial, and so the code is optimized for simplicity, not for performance. Therefore, we need two different Zokrates programs, one to just calculate the hash of a map (`hash`) and one to actually create a zero-knowledge proof of the result of the dig in a location on the map (`dig`).
+
+### The hash function {#hash-function}
+
+This is the function that calculates the hash of a map. We'll go over this code line by line.
+
+```
+import "hashes/poseidon/poseidon.zok" as poseidon;
+import "utils/pack/bool/pack128.zok" as pack128;
+```
+
+These two lines import two functions from the [Zokrates standard library](https://zokrates.github.io/toolbox/stdlib.html). [The first function](https://github.com/Zokrates/ZoKrates/blob/latest/zokrates_stdlib/stdlib/hashes/poseidon/poseidon.zok) is a [Poseidon hash](https://www.poseidon-hash.info/). It takes an array of [`field` elements](https://zokrates.github.io/language/types.html#field) and returns a `field`.
+
+The field element in Zokrates is typically less than 256 bits long, but not by much. To simplify the code, we restrict the map to be up to 512 bits, and hash an array of four fields, and in each field we use only 128 bits. [The `pack128` function](https://github.com/Zokrates/ZoKrates/blob/latest/zokrates_stdlib/stdlib/utils/pack/bool/pack128.zok) changes an array of 128 bits into a `field` for this purpose.
+
+```
+ def hashMap(bool[${width+2}][${height+2}] map) -> field {
+```
+
+This line starts a function definition. `hashMap` gets a single parameter called `map`, a two dimensional `bool`(ean) array. The size of the map is `width+2` by `height+2` for reasons that are [explained below](#why-map-border).
+
+We can use `${width+2}` and `${height+2}` because the Zokrates programs are stored in this application as [template strings](https://www.w3schools.com/js/js_string_templates.asp). Code between `${` and `}` is evaluated by JavaScript, and this way the program can be used for different map sizes. The map parameter has a one location wide border all around it without any bombs, which is the reason we need to add two to the width and height.
+
+The return value is a `field` that contains the hash.
+
+```
+ bool[512] mut map1d = [false; 512];
+```
+
+The map is two-dimensional. However, the `pack128` function does not work with two-dimensional arrays. So we first flatten the map into a 512-byte array, using `map1d`. By default Zokrates variables are constants, but we need to assign values to this array in a loop, so we define it as [`mut`](https://zokrates.github.io/language/variables.html#mutability).
+
+We need to initialize the array because Zokrates doesn't have `undefined`. The `[false; 512]` expression means [an array of 512 `false` values](https://zokrates.github.io/language/types.html#declaration-and-initialization).
+
+```
+ u32 mut counter = 0;
+```
+
+We also need a counter to distinguish between the bits we already filled in `map1d` and those we haven't.
+
+```
+ for u32 x in 0..${width+2} {
+```
+
+This is how you declare a [`for` loop](https://zokrates.github.io/language/control_flow.html#for-loops) in Zokrates. A Zokrates `for` loop has to have fixed bounds, because while it appears to be a loop, the compiler actually "unrolls" it. The expression `${width+2}` is a compile time constant because `width` is set by the TypeScript code before it calls the compiler.
+
+```
+ for u32 y in 0..${height+2} {
+ map1d[counter] = map[x][y];
+ counter = counter+1;
+ }
+ }
+```
+
+For every location in the map, put that value in the `map1d` array and increment the counter.
+
+```
+ field[4] hashMe = [
+ pack128(map1d[0..128]),
+ pack128(map1d[128..256]),
+ pack128(map1d[256..384]),
+ pack128(map1d[384..512])
+ ];
+```
+
+The `pack128` to create an array of four `field` values from `map1d`. In Zokrates `array[a..b]` means the slice of the array that starts at `a` and ends at `b-1`.
+
+```
+ return poseidon(hashMe);
+}
+```
+
+Use `poseidon` to convert this array to a hash.
+
+### The hash program {#hash-program}
+
+The server needs to call `hashMap` directly to create game identifiers. However, Zokrates can only call the `main` function on a program to start, so we create a program with a `main` that calls the hash function.
+
+```
+${hashFragment}
+
+def main(bool[${width+2}][${height+2}] map) -> field {
+ return hashMap(map);
+}
+```
+
+### The dig program {#dig-program}
+
+This is the heart of the zero-knowledge part of the application, where we produce the proofs that are used to verify dig results.
+
+```
+${hashFragment}
+
+// The number of mines in location (x,y)
+def map2mineCount(bool[${width+2}][${height+2}] map, u32 x, u32 y) -> u8 {
+ return if map[x+1][y+1] { 1 } else { 0 };
+}
+```
+
+#### Why map border {#why-map-border}
+
+Zero-knowledge proofs use [arithmetic circuits](https://medium.com/web3studio/simple-explanations-of-arithmetic-circuits-and-zero-knowledge-proofs-806e59a79785), which don't have an easy equivalent to an `if` statement. Instead, they use the equivalent of the [conditional operator](https://en.wikipedia.org/wiki/Ternary_conditional_operator). If `a` can be either zero or one, you can calculate `if a { b } else { c }` as `ab+(1-a)c`.
+
+Because of this, a Zokrates `if` statement always evaluates both branches. For example, if you have this code:
+
+```
+bool[5] arr = [false; 5];
+u32 index=10;
+return if index>4 { 0 } else { arr[index] }
+```
+
+It will error out, because it needs to calculate `arr[10]`, even though that value will be later multiplied by zero.
+
+This is the reason we need a one location wide border all around the map. We need to calculate the total number of mines around a location, and that means we need to see the location one row above and below, to the left and to the right, of the location where we're digging. Which means those location have to exist in the map array that Zokrates is provided.
+
+```
+def main(private bool[${width+2}][${height+2}] map, u32 x, u32 y) -> (field, u8) {
+```
+
+By default Zokrates proofs include their inputs. It does no good to know there are five mines around a spot unless you actually know which spot it is (and you can't just match it to your request, because then the prover could use different values and not tell you about it). However, we need to keep the map a secret, while providing it to Zokrates. The solution is to use a `private` parameter, one that is _not_ revealed by the proof.
+
+This opens another venue for abuse. The prover could use the correct coordinates, but create a map with any number of mines around the location, and possibly at the location itself. To prevent this abuse, we make the zero knowledge proof include the hash of the map, which is the game identifier.
+
+```
+ return (hashMap(map),
+```
+
+The return value here is a tuple that includes the map hash array as well as the dig result.
+
+```
+ if map2mineCount(map, x, y) > 0 { 0xFF } else {
+```
+
+We use 255 as a special value in case the location itself has a bomb.
+
+```
+ map2mineCount(map, x-1, y-1) + map2mineCount(map, x, y-1) + map2mineCount(map, x+1, y-1) +
+ map2mineCount(map, x-1, y) + map2mineCount(map, x+1, y) +
+ map2mineCount(map, x-1, y+1) + map2mineCount(map, x, y+1) + map2mineCount(map, x+1, y+1)
+ }
+ );
+}
+```
+
+If the player hasn't hit a mine, add the mine counts for the area around the location and return that.
+
+### Using Zokrates from TypeScript {#using-zokrates-from-typescript}
+
+Zokrates has a command line interface, but in this program we use it in the [TypeScript code](https://zokrates.github.io/toolbox/zokrates_js.html).
+
+The library that contains the Zokrates definitions is called [`zero-knowledge.ts`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts).
+
+```typescript
+import { initialize as zokratesInitialize } from "zokrates-js"
+```
+
+Import the [Zokrates JavaScript bindings](https://zokrates.github.io/toolbox/zokrates_js.html). We only need the [`initialize`](https://zokrates.github.io/toolbox/zokrates_js.html#initialize) function because it returns a promise that resolves to all the Zokrates definitions.
+
+```typescript
+export const zkFunctions = async (width: number, height: number) : Promise => {
+```
+
+Similar to Zokrates itself, we also export only one function, which is also [asynchronous](https://www.w3schools.com/js/js_async.asp). When it eventually returns, it provides several functions as we'll see below.
+
+```typescript
+const zokrates = await zokratesInitialize()
+```
+
+Initialize Zokrates, get everything we need from the library.
+
+```typescript
+const hashFragment = `
+ import "utils/pack/bool/pack128.zok" as pack128;
+ import "hashes/poseidon/poseidon.zok" as poseidon;
+ .
+ .
+ .
+ }
+ `
+
+const hashProgram = `
+ ${hashFragment}
+ .
+ .
+ .
+ `
+
+const digProgram = `
+ ${hashFragment}
+ .
+ .
+ .
+ `
+```
+
+Next we have the hash function and two Zokrates programs we saw above.
+
+```typescript
+const digCompiled = zokrates.compile(digProgram)
+const hashCompiled = zokrates.compile(hashProgram)
+```
+
+Here we compile those programs.
+
+```typescript
+// Create the keys for zero knowledge verification.
+// On a production system you'd want to use a setup ceremony.
+// (https://zokrates.github.io/toolbox/trusted_setup.html#initializing-a-phase-2-ceremony).
+const keySetupResults = zokrates.setup(digCompiled.program, "")
+const verifierKey = keySetupResults.vk
+const proverKey = keySetupResults.pk
+```
+
+On a production system we might use a more complicated [setup ceremony](https://zokrates.github.io/toolbox/trusted_setup.html#initializing-a-phase-2-ceremony), but this is good enough for a demonstration. It's not a problem that the users can know the prover key - they still cannot use it to prove things unless they are true. Because we specify the entropy (the second parameter, `""`), the results are always going to be the same.
+
+**Note:** Compilation of Zokrates programs and key creation are slow processes. There is no need to repeat them every time, just when map size changes. On a production system you'd do them once, and then store the output. The only reason I am not doing it here is for the sake of simplicity.
+
+#### `calculateMapHash` {#calculateMapHash}
+
+```typescript
+const calculateMapHash = function (hashMe: boolean[][]): string {
+ return (
+ "0x" +
+ BigInt(zokrates.computeWitness(hashCompiled, [hashMe]).output.slice(1, -1))
+ .toString(16)
+ .padStart(64, "0")
+ )
+}
+```
+
+The [`computeWitness`](https://zokrates.github.io/toolbox/zokrates_js.html#computewitnessartifacts-args-options) function actually runs the Zokrates program. It returns a structure with two fields: `output`, which is the output of the program as a JSON string, and `witness`, which is the information needed to create the a zero knowledge proof of the result. Here we just need the output.
+
+The output is a string of the form `"31337"`, a decimal number enclosed in quotation marks. But the output we need for `viem` is a hexadecimal number of the form `0x60A7`. So we use `.slice(1,-1)` to remove the quotation marks and then `BigInt` to run the remaining string, which is a decimal number, to a [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt). `.toString(16)` converts this `BigInt` into a hexadecimal string, and `"0x"+` adds the marker for hexadecimal numbers.
+
+```typescript
+// Dig and return a zero knowledge proof of the result
+// (server-side code)
+```
+
+The zero knowledge proof includes the public inputs (`x` and `y`) and results (hash of the map and number of bombs).
+
+```typescript
+ const zkDig = function(map: boolean[][], x: number, y: number) : any {
+ if (x<0 || x>=width || y<0 || y>=height)
+ throw new Error("Trying to dig outside the map")
+```
+
+It's a problem to check if an index is out of bounds in Zokrates, so we do it here.
+
+```typescript
+const runResults = zokrates.computeWitness(digCompiled, [map, `${x}`, `${y}`])
+```
+
+Execute the dig program.
+
+```typescript
+ const proof = zokrates.generateProof(
+ digCompiled.program,
+ runResults.witness,
+ proverKey)
+
+ return proof
+ }
+```
+
+Use [`generateProof`](https://zokrates.github.io/toolbox/zokrates_js.html#generateproofprogram-witness-provingkey-entropy) and return the proof.
+
+```typescript
+const solidityVerifier = `
+ // Map size: ${width} x ${height}
+ \n${zokrates.exportSolidityVerifier(verifierKey)}
+ `
+```
+
+A Solidity verifier, a smart contract we can deploy to the blockchain and use to verify proofs generated by `digCompiled.program`.
+
+```typescript
+ return {
+ zkDig,
+ calculateMapHash,
+ solidityVerifier,
+ }
+}
+```
+
+Finally, return everything that other code might need.
+
+## Security tests {#security-tests}
+
+Security tests are important because a functionality bug will eventually reveal itself. But if the application is insecure, that is likely to remain hidden for a long time before it is revealed by somebody cheating and getting away with resources that belong to others.
+
+### Permissions {#permissions}
+
+There is one privileged entity in this game, the server. It is the only user allowed to call the functions in [`ServerSystem`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol). We can use [`cast`](https://book.getfoundry.sh/cast/) to verify calls to permissioned functions are only allowed as the server account.
+
+[The server's private key is in `setupNetwork.ts`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/mud/setupNetwork.ts#L52).
+
+1. On the computer that runs `anvil` (the blockchain), set these environment variables.
+
+ ```sh copy
+ WORLD_ADDRESS=0x8d8b6b8414e1e3dcfd4168561b9be6bd3bf6ec4b
+ UNAUTHORIZED_KEY=0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a
+ AUTHORIZED_KEY=0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d
+ ```
+
+2. Use `cast` to attempt to set the verifier address as an unauthorized address.
+
+ ```sh copy
+ cast send $WORLD_ADDRESS 'app__setVerifier(address)' `cast address-zero` --private-key $UNAUTHORIZED_KEY
+ ```
+
+ Not only does `cast` report a failure, but you can open **MUD Dev Tools** in the game on the browser, click **Tables**, and select **app\_\_VerifierAddress**. See that the address is not zero.
+
+3. Set the verifier address as the server's address.
+
+ ```sh copy
+ cast send $WORLD_ADDRESS 'app__setVerifier(address)' `cast address-zero` --private-key $AUTHORIZED_KEY
+ ```
+
+ The address in **app\_\_VerifiedAddress** should now be zero.
+
+All MUD functions in the same `System` go through the same access control, so I consider this test sufficient. If you don't, you can check the other functions in [`ServerSystem`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/contracts/src/systems/ServerSystem.sol).
+
+### Zero-knowledge abuses {#zero-knowledge-abuses}
+
+The math to verify Zokrates is beyond the scope of this tutorial (and my abilities). However, we can run various checks on the zero-knowledge code to verify that if it is not done correctly it fails. All of these tests are going to require us to change [`zero-knowledge.ts`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts) and restart the entire application. It is not sufficient to restart the server process, because it puts the application in an impossible state (the player has a game in progress, but the game is no longer available to the server).
+
+#### Wrong answer {#wrong-answer}
+
+The simplest possibility is to provide the wrong answer in the zero-knowledge proof. To do that, we go inside `zkDig` and [modify line 91](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L91):
+
+```ts
+proof.inputs[3] = "0x" + "1".padStart(64, "0")
+```
+
+This means we'll always claim there is one bomb, regardless of the correct answer. Try to play with this version, and you'll see in the **server** tab of the `pnpm dev` screen this error:
+
+```
+ cause: {
+ code: 3,
+ message: 'execution reverted: revert: Zero knowledge verification fail',
+ data: '0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000
+000000000000000000000000000000000000000000000000205a65726f206b6e6f776c6564676520766572696669636174696f6
+e206661696c'
+ },
+```
+
+So this kind of cheat fails.
+
+#### Wrong proof {#wrong-proof}
+
+What happens if we provide the correct information, but just have the wrong proof data? Now, replace line 91 with:
+
+```ts
+proof.proof = {
+ a: ["0x" + "1".padStart(64, "0"), "0x" + "2".padStart(64, "0")],
+ b: [
+ ["0x" + "1".padStart(64, "0"), "0x" + "2".padStart(64, "0")],
+ ["0x" + "1".padStart(64, "0"), "0x" + "2".padStart(64, "0")],
+ ],
+ c: ["0x" + "1".padStart(64, "0"), "0x" + "2".padStart(64, "0")],
+}
+```
+
+It still fails, but now it fails without a reason because it happens during the verifier call.
+
+### How can a user verify the zero trust code? {#user-verify-zero-trust}
+
+Smart contracts are relatively easy to verify. Typically, the developer publishes the source code to a block explorer, and the block explorer verifies that the source code does compile to the code in the [contract deployment transaction](https://ethereum.org/en/developers/docs/smart-contracts/deploying/). In the case of MUD `System`s this is [slightly more complicated](https://mud.dev/cli/verify), but not by much.
+
+This is harder with zero-knowledge. The verifier includes some constants and runs some calculations on them. This doesn't tell you what is being proved.
+
+```solidity
+ function verifyingKey() pure internal returns (VerifyingKey memory vk) {
+ vk.alpha = Pairing.G1Point(uint256(0x0f43f4fe7b5c2326fed4ac6ed2f4003ab9ab4ea6f667c2bdd77afb068617ee16), uint256(0x25a77832283f9726935219b5f4678842cda465631e72dbb24708a97ba5d0ce6f));
+ vk.beta = Pairing.G2Point([uint256(0x2cebd0fbd21aca01910581537b21ae4fed46bc0e524c055059aa164ba0a6b62b), uint256(0x18fd4a7bc386cf03a95af7163d5359165acc4e7961cb46519e6d9ee4a1e2b7e9)], [uint256(0x11449dee0199ef6d8eebfe43b548e875c69e7ce37705ee9a00c81fe52f11a009), uint256(0x066d0c83b32800d3f335bb9e8ed5e2924cf00e77e6ec28178592eac9898e1a00)]);
+```
+
+The solution, at least until block explorers get around to adding Zokrates verification to their user interfaces, is for the application developers to make available the Zokrates programs, and for at least some users to compile them themselves with the appropriate verification key.
+
+To do so:
+
+1. [Install Zokrates](https://zokrates.github.io/gettingstarted.html).
+2. Create a file, `dig.zok`, with the Zokrates program. The code below assumes you kept the original map size, 10x5.
+
+ ```zokrates
+ import "utils/pack/bool/pack128.zok" as pack128;
+ import "hashes/poseidon/poseidon.zok" as poseidon;
+
+ def hashMap(bool[12][7] map) -> field {
+ bool[512] mut map1d = [false; 512];
+ u32 mut counter = 0;
+
+ for u32 x in 0..12 {
+ for u32 y in 0..7 {
+ map1d[counter] = map[x][y];
+ counter = counter+1;
+ }
+ }
+
+ field[4] hashMe = [
+ pack128(map1d[0..128]),
+ pack128(map1d[128..256]),
+ pack128(map1d[256..384]),
+ pack128(map1d[384..512])
+ ];
+
+ return poseidon(hashMe);
+ }
+
+
+ // The number of mines in location (x,y)
+ def map2mineCount(bool[12][7] map, u32 x, u32 y) -> u8 {
+ return if map[x+1][y+1] { 1 } else { 0 };
+ }
+
+ def main(private bool[12][7] map, u32 x, u32 y) -> (field, u8) {
+ return (hashMap(map) ,
+ if map2mineCount(map, x, y) > 0 { 0xFF } else {
+ map2mineCount(map, x-1, y-1) + map2mineCount(map, x, y-1) + map2mineCount(map, x+1, y-1) +
+ map2mineCount(map, x-1, y) + map2mineCount(map, x+1, y) +
+ map2mineCount(map, x-1, y+1) + map2mineCount(map, x, y+1) + map2mineCount(map, x+1, y+1)
+ }
+ );
+ }
+ ```
+
+3. Compile the Zokrates code and create the verification key. The verification key has to be created with the same entropy used in the original server, [in this case an empty string](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L67).
+
+ ```sh copy
+ zokrates compile --input dig.zok
+ zokrates setup -e ""
+ ```
+
+4. Create the Solidity verifier on your own, and verify it is functionally identical to the one on the blockchain (the server adds a comment, but that's not important).
+
+ ```sh copy
+ zokrates export-verifier
+ diff verifier.sol ~/20240901-secret-state/packages/contracts/src/verifier.sol
+ ```
+
+## Design decisions {#design}
+
+In any sufficiently complex application there are competing design goals that require trade-offs. Let's look at some of the tradeoffs and why the current solution is preferable to other options.
+
+### Why zero-knowledge {#why-zero-knowledge}
+
+For minesweeper you don't really need zero-knowledge. The server can always hold the map, and then just reveal all of it when the game is over. Then, at the end of the game, the smart contract can calculate the map hash, verify that it matches, and if it doesn't penalize the server or disregard the game completely.
+
+I didn't use this simpler solution because it only works for short games with a well defined end state. When a game is potentially infinite (such as the case with [autonomous worlds](https://0xparc.org/blog/autonomous-worlds)), you need a solution that proves the state _without_ revealing it.
+
+As a tutorial this article needed a short game that is easy to understand, but this technique is most useful for longer games.
+
+### Why Zokrates? {#why-zokrates}
+
+[Zokrates](https://zokrates.github.io/) isn't the only zero-knowledge library available, but it is similar to a normal, [imperative](https://en.wikipedia.org/wiki/Imperative_programming) programming language and supports boolean variables.
+
+For your application, with different requirements, you might prefer to use [Circum](https://docs.circom.io/getting-started/installation/) or [Cairo](https://www.cairo-lang.org/tutorials/getting-started-with-cairo/).
+
+### When to compile Zokrates {#when-compile-zokrates}
+
+In this program we compile the Zokrates programs [every time the server starts](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L60-L61). This is clearly a waste of resources, but this is a tutorial, optimized for simplicity.
+
+If I were writing a production-level application, I'd check if I have a file with the compiled Zokrates programs at this minefield size, and if so use that. The same is true for deploying a verifier contract onchain.
+
+### Creating the verifier and prover keys {#key-creation}
+
+[Key creation](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L63-L69) is another pure calculation that needn't be done more than once for a given minefield size. Again, it is done only once for the sake of simplicity.
+
+Additionally, we could use [a setup ceremony](https://zokrates.github.io/toolbox/trusted_setup.html#initializing-a-phase-2-ceremony). The advantage of a setup ceremony is that you need either the entropy or some intermediate result from each participant to cheat on the zero-knowledge proof. If at least one ceremony participant is honest and deletes that information, the zero-knowledge proofs are safe from certain attacks. However, there is _no mechanism_ to verify that information has been deleted from everywhere. If zero-knowledge proofs are critically important, you want to participate in the setup ceremony.
+
+Here we rely on [perpetual powers of tau](https://github.com/privacy-scaling-explorations/perpetualpowersoftau), which had dozens of participants. It is probably safe enough, and much simpler. We also don't add entropy to the during key creation, which makes it easier for users to [verify the zero-knowledge configuration](#user-verify-zero-trust).
+
+### Where to verify {#where-verification}
+
+We can verify the zero-knowledge proofs either onchain (which costs gas) or in the client (using [`verify`](https://zokrates.github.io/toolbox/zokrates_js.html#verifyverificationkey-proof)). I chose the first, because this lets you [verify the verifier](#user-verify-zero-trust) once and then trust that if doesn't change as long as the contract address for it stays the same. If verification was done on the client, you'd have to verify the code you receive each time you download the client.
+
+Also, while this game is single player, a lot of blockchain games are multi-player. onchain verification means you only verify the zero-knowledge proof once. Doing it in the client would require each client to verify independently.
+
+### Flatten the map in TypeScript or Zokrates? {#where-flatten}
+
+In general, when processing can be done either in TypeScript or Zokrates, it is better to do it TypeScript, which is a lot faster, and does not require zero-knowledge proofs. This is the reason, for example, that we don't provide Zokrates with the hash and make it verify that it is correct. Hashing has to be done inside Zokrates, but the match between the returned hash and the hash onchain can happen outside it.
+
+However, we still [flatten the map in Zokrates](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L15-L20), whereas we could have done it in TypeScript. The reason is that the other options are, in my opinion, worse.
+
+- Provide a one dimensional array of boolean to the Zokrates code, and use an expression such as `x*(height+2)
++y` to get the two dimensional map. This would make [the code](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/zero-knowledge.ts#L44-L47) somewhat more complicated, so I decided the performance gain isn't worth it for a tutorial.
+
+- Send Zokrates both the one dimensional array and the two dimensional array. However, this solution doesn't gain us anything. The Zokrates code would have to verify that the one dimensional array it is provided really is the correct representation of the two dimensional array. So there wouldn't be any performance gain.
+
+- Flatten the two dimensional array in Zokrates. This is the simplest option, so I chose it.
+
+### Where to store maps {#where-store-maps}
+
+In this application [`gamesInProgress`](https://github.com/qbzzt/20240901-secret-state/blob/main/packages/server/src/app.ts#L20) is simply a variable in memory. This means that if you server dies and needs to be restarted, all the information it stored is lost. Not only are players unable to continue their game, they cannot even start a new game because the onchain component thinks they still have a game in progress.
+
+This is clearly bad design for a production system, in which you'd store this information in a database. The only reason I used a variable here is because this is a tutorial and simplicity is the main consideration.
+
+## Conclusion: Under what conditions is this the appropriate technique? {#conclusion}
+
+So, now you know how to write a game with a server that stores secret state that doesn't belong onchain. But in what cases should you do it? There are two main considerations.
+
+- _Long running game_: [As mentioned above](#why-zero-knowledge), in a short game you can just publish the state once the game is over and have everything verified then. But that is not an option when the game takes a long or indefinite time, and the state needs to stay secret.
+
+- _Some centralization acceptable_: Zero-knowledge proofs can verify integrity, that an entity is not faking the results. What they can't do is ensure that the entity will still be available and answer messages. In situations where availability also needs to be decentralized, zero-knowledge proofs are not a sufficient solution, and you need [multi-party computation](https://en.wikipedia.org/wiki/Secure_multi-party_computation).
+
+### Acknowledgements {#acknowledgements}
+
+- Alvaro Alonso read a draft of this article and cleared up some of my misunderstandings about Zokrates.
+
+Any remaining errors are my responsibility.
diff --git a/public/content/developers/tutorials/secret-state/mprocs.png b/public/content/developers/tutorials/secret-state/mprocs.png
new file mode 100644
index 00000000000..3364e25a6e2
Binary files /dev/null and b/public/content/developers/tutorials/secret-state/mprocs.png differ
diff --git a/public/content/developers/tutorials/secure-development-workflow/index.md b/public/content/developers/tutorials/secure-development-workflow/index.md
index 1dbc4b96ad6..039d5b50393 100644
--- a/public/content/developers/tutorials/secure-development-workflow/index.md
+++ b/public/content/developers/tutorials/secure-development-workflow/index.md
@@ -47,6 +47,6 @@ Finally, be mindful of issues that automated tools cannot easily find:
## Ask for help {#ask-for-help}
-[Ethereum office hours](https://calendly.com/dan-trailofbits/ethereum-office-hours) run every Tuesday afternoon. These 1-hour, 1-on-1 sessions are an opportunity to ask us any questions you have about security, troubleshoot using our tools, and get feedback from experts about your current approach. We will help you work through this guide.
+[Ethereum office hours](https://calendly.com/dan-trailofbits/office-hours) run every Tuesday afternoon. These 1-hour, 1-on-1 sessions are an opportunity to ask us any questions you have about security, troubleshoot using our tools, and get feedback from experts about your current approach. We will help you work through this guide.
Join our Slack: [Empire Hacking](https://join.slack.com/t/empirehacking/shared_invite/zt-h97bbrj8-1jwuiU33nnzg67JcvIciUw). We're always available in the #crytic and #ethereum channels if you have any questions.
diff --git a/public/content/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md b/public/content/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
index 5c30c120cd4..94dcae2f4a6 100644
--- a/public/content/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
+++ b/public/content/developers/tutorials/sending-transactions-using-web3-and-alchemy/index.md
@@ -55,7 +55,7 @@ This is what we will be using in this tutorial.
Okay, now that we have a few of these questions out of the way, let’s move on to the tutorial. Feel free to ask questions anytime in the Alchemy [discord](https://discord.gg/gWuC7zB)!
-### 7\. How to send secure, gas-optimized, and private transactions? {how-to-send-secure-gas-optimized-and-private-transactions}
+### 7\. How to send secure, gas-optimized, and private transactions? {#how-to-send-secure-gas-optimized-and-private-transactions}
- [Alchemy has a suite of Transact APIs](https://docs.alchemy.com/reference/transact-api-quickstart). You can use these to send reinforced transactions, simulate transactions before they happen, send private transactions, and send gas-optimized transactions
- You can also use the [Notify API](https://docs.alchemy.com/docs/alchemy-notify) to be alerted when your transaction is pulled from the mempool and added to the chain
diff --git a/public/content/developers/tutorials/server-components/index.md b/public/content/developers/tutorials/server-components/index.md
index 14fae60d5ab..aa351a37008 100644
--- a/public/content/developers/tutorials/server-components/index.md
+++ b/public/content/developers/tutorials/server-components/index.md
@@ -1,10 +1,10 @@
---
title: "Server components and agents for web3 apps"
-description: After reading this tutorial, you will be able to write TypeScript servers that listen to events on a blockchain and respond accordingly with their own transactions. This will enable you to write centralized applications (because the server is a point of failure), but can interact with web3 entities. The same techniques can also be used to write an agent that responds to on-chain events without a human in the loop.
+description: After reading this tutorial, you will be able to write TypeScript servers that listen to events on a blockchain and respond accordingly with their own transactions. This will enable you to write centralized applications (because the server is a point of failure), but can interact with web3 entities. The same techniques can also be used to write an agent that responds to onchain events without a human in the loop.
author: Ori Pomerantz
lang: en
-tags: ["agent", "server", "offchain", "centralized"]
+tags: ["agent", "server", "offchain"]
skill: beginner
published: 2024-07-15
---
@@ -169,7 +169,7 @@ const greeter = getContract({
})
```
-Now that we have all the prerequisites, we can finally create a [contract instance](https://viem.sh/docs/contract/getContract). We will use this contract instance to communicate with the on-chain contract.
+Now that we have all the prerequisites, we can finally create a [contract instance](https://viem.sh/docs/contract/getContract). We will use this contract instance to communicate with the onchain contract.
##### Reading from the blockchain
diff --git a/public/content/developers/tutorials/short-abi/index.md b/public/content/developers/tutorials/short-abi/index.md
index ff6cfd424b1..65e7879dd28 100644
--- a/public/content/developers/tutorials/short-abi/index.md
+++ b/public/content/developers/tutorials/short-abi/index.md
@@ -21,7 +21,7 @@ However, the technique explained here should work just as well for other rollups
### Terminology {#terminology}
When discussing rollups, the term 'layer 1' (L1) is used for Mainnet, the production Ethereum network.
-The term 'layer 2' (L2) is used for the rollup or any other system that relies on L1 for security but does most of its processing off-chain.
+The term 'layer 2' (L2) is used for the rollup or any other system that relies on L1 for security but does most of its processing offchain.
## How can we further reduce the cost of L2 transactions? {#how-can-we-further-reduce-the-cost-of-L2-transactions}
@@ -196,7 +196,7 @@ In the case of `CalldataInterpreter`, _any_ call gets here because there are no
Read the first byte of the calldata, which tells us the function.
There are two reasons why a function would not be available here:
-1. Functions that are `pure` or `view` don't change the state and don't cost gas (when called off-chain).
+1. Functions that are `pure` or `view` don't change the state and don't cost gas (when called offchain).
It makes no sense to try to reduce their gas cost.
2. Functions that rely on [`msg.sender`](https://docs.soliditylang.org/en/v0.8.12/units-and-global-variables.html#block-and-transaction-properties).
The value of `msg.sender` is going to be `CalldataInterpreter`'s address, not the caller.
diff --git a/public/content/developers/tutorials/smart-contract-security-guidelines/index.md b/public/content/developers/tutorials/smart-contract-security-guidelines/index.md
index e38a40829a3..234ad0541cd 100644
--- a/public/content/developers/tutorials/smart-contract-security-guidelines/index.md
+++ b/public/content/developers/tutorials/smart-contract-security-guidelines/index.md
@@ -24,9 +24,9 @@ Documentation can be written at different levels, and should be updated while im
- **Schema and architectural diagrams**, including the contract interactions and the state machine of the system. [Slither printers](https://github.com/crytic/slither/wiki/Printer-documentation) can help to generate these schemas.
- **Thorough code documentation**, the [Natspec format](https://solidity.readthedocs.io/en/develop/natspec-format.html) can be used for Solidity.
-### On-chain vs off-chain computation {#on-chain-vs-off-chain-computation}
+### Onchain vs offchain computation {#onchain-vs-offchain-computation}
-- **Keep as much code as you can off-chain.** Keep the on-chain layer small. Pre-process data with code off-chain in such a way that verification on-chain is simple. Do you need an ordered list? Sort the list offchain, then only check its order onchain.
+- **Keep as much code as you can offchain.** Keep the onchain layer small. Pre-process data with code offchain in such a way that verification onchain is simple. Do you need an ordered list? Sort the list offchain, then only check its order onchain.
### Upgradeability {#upgradeability}
diff --git a/public/content/developers/tutorials/testing-erc-20-tokens-with-waffle/index.md b/public/content/developers/tutorials/testing-erc-20-tokens-with-waffle/index.md
index b1bea6045cd..00a9ba4938c 100644
--- a/public/content/developers/tutorials/testing-erc-20-tokens-with-waffle/index.md
+++ b/public/content/developers/tutorials/testing-erc-20-tokens-with-waffle/index.md
@@ -40,6 +40,7 @@ Somewhat like this :
package.json
+```json
{
"name": "tutorial",
"version": "1.0.0",
@@ -63,12 +64,14 @@ Somewhat like this :
"typescript": "^3.8.3"
}
}
+```
tsconfig.json
+```json
{
"compilerOptions": {
"declaration": true,
@@ -85,6 +88,7 @@ Somewhat like this :
"target": "ES2018"
}
}
+```
@@ -99,6 +103,7 @@ Somewhat like this :
.eslintrc.js
+```js
module.exports = {
"env": {
"es6": true
@@ -633,6 +638,7 @@ Somewhat like this :
}
]
}
+```
@@ -704,6 +710,7 @@ You should see that Waffle compiled your contract and placed the resulting JSON
BasicToken.json
+```json
{
"abi": [
{
@@ -1004,6 +1011,7 @@ You should see that Waffle compiled your contract and placed the resulting JSON
},
"bytecode": "60806040523480156200001157600080fd5b506040516200153938038062001539833981810160405260208110156200003757600080fd5b81019080805190602001909291905050506040518060400160405280600581526020017f42617369630000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f42534300000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000cc92919062000389565b508060049080519060200190620000e592919062000389565b506012600560006101000a81548160ff021916908360ff16021790555050506200011633826200011d60201b60201c565b5062000438565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620001d560008383620002fb60201b60201c565b620001f1816002546200030060201b62000f2d1790919060201c565b6002819055506200024f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200030060201b62000f2d1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000808284019050838110156200037f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003cc57805160ff1916838001178555620003fd565b82800160010185558215620003fd579182015b82811115620003fc578251825591602001919060010190620003df565b5b5090506200040c919062000410565b5090565b6200043591905b808211156200043157600081600090555060010162000417565b5090565b90565b6110f180620004486000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161102660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161109760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110736024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fde6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061104e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fbb6023913960400191505060405180910390fd5b610cc3838383610fb5565b610d2e81604051806060016040528060268152602001611000602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122081c840f087cef92feccb03fadc678b2708c331896ec5432b5d4c675f27b6d3e664736f6c63430006020033"
}
+```
diff --git a/public/content/developers/tutorials/the-graph-fixing-web3-data-querying/index.md b/public/content/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
index 6aed327d08c..575b9069f03 100644
--- a/public/content/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
+++ b/public/content/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
@@ -3,15 +3,7 @@ title: "The Graph: Fixing Web3 data querying"
description: Blockchain is like a database but without SQL. All the data is there, but no way to access it. Let me show you how to fix this with The Graph and GraphQL.
author: Markus Waas
lang: en
-tags:
- [
- "solidity",
- "smart contracts",
- "querying",
- "the graph",
- "create-eth-app",
- "react",
- ]
+tags: ["solidity", "smart contracts", "querying", "the graph", "react"]
skill: intermediate
published: 2020-09-06
source: soliditydeveloper.com
@@ -91,9 +83,9 @@ First let's talk about GraphQL, originally designed and implemented by Facebook.

-
+
-The two images pretty much capture the essence of GraphQL. With the query on the right we can define exactly what data we want, so there we get everything in one request and nothing more than exactly what we need. A GraphQL server handles the fetching of all data required, so it is incredibly easy for the frontend consumer side to use. [This is a nice explanation](https://www.apollographql.com/blog/graphql-explained-5844742f195e/) of how exactly the server handles a query if you're interested.
+The two images pretty much capture the essence of GraphQL. With the query on the right we can define exactly what data we want, so there we get everything in one request and nothing more than exactly what we need. A GraphQL server handles the fetching of all data required, so it is incredibly easy for the frontend consumer side to use. [This is a nice explanation](https://www.apollographql.com/blog/graphql-explained) of how exactly the server handles a query if you're interested.
Now with that knowledge, let's finally jump into blockchain space and The Graph.
@@ -198,7 +190,7 @@ Then we create a new Bet entity. The id for this will be `event.transaction.hash
Lastly we can update the Player entity with all the data. Arrays cannot be pushed to directly, but need to be updated as shown here. We use the id to reference the bet. And `.save()` is required at the end to store an entity.
-The full documentation can be seen here: https://thegraph.com/docs/en/developing/creating-a-subgraph/#writing-mappings. You can also add logging output to the mapping file, see [here](https://thegraph.com/docs/assemblyscript-api#api-reference).
+The full documentation can be seen here: https://thegraph.com/docs/en/developing/creating-a-subgraph/#writing-mappings. You can also add logging output to the mapping file, see [here](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-ts/api/#api-reference).
```typescript
import { Bet, Player } from "../generated/schema"
diff --git a/public/content/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md b/public/content/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md
index 1a76d929b89..784a6912f92 100644
--- a/public/content/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md
+++ b/public/content/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/index.md
@@ -13,7 +13,7 @@ address: "0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE"
In the previous tutorial we studied [the anatomy of an ERC-20 token in Solidity](/developers/tutorials/understand-the-erc-20-token-smart-contract/) on the Ethereum blockchain. In this article we’ll see how we can use a smart contract to interact with a token using the Solidity language.
-For this smart contract, we’ll create a really dummy decentralized exchange where a user can trade ether for our newly deployed [ERC-20 token](/developers/docs/standards/tokens/erc-20/).
+For this smart contract, we’ll create a real dummy decentralized exchange where a user can trade ether for our newly deployed [ERC-20 token](/developers/docs/standards/tokens/erc-20/).
For this tutorial we’ll use the code we wrote in the previous tutorial as a base. Our DEX will instantiate an instance of the contract in its constructor and perform the operations of:
diff --git a/public/content/developers/tutorials/uniswap-v2-annotated-code/index.md b/public/content/developers/tutorials/uniswap-v2-annotated-code/index.md
index db3ef902de1..d89438465db 100644
--- a/public/content/developers/tutorials/uniswap-v2-annotated-code/index.md
+++ b/public/content/developers/tutorials/uniswap-v2-annotated-code/index.md
@@ -755,7 +755,7 @@ This is the main function of the factory, to create a pair exchange between two
(address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
```
-We want the address of the new exchange to be deterministic, so it can be calculated in advance off chain (this can be useful for [layer 2 transactions](/developers/docs/scaling/)).
+We want the address of the new exchange to be deterministic, so it can be calculated in advance offchain (this can be useful for [layer 2 transactions](/developers/docs/scaling/)).
To do this we need to have a consistent order of the token addresses, regardless of the order in which we have received them, so we sort them here.
```solidity
@@ -817,7 +817,7 @@ These two functions allow `feeSetter` to control the fee recipient (if any), and
[This contract](https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol) implements the ERC-20 liquidity token. It is similar to the [OpenZeppelin ERC-20 contract](/developers/tutorials/erc20-annotated-code), so I will only explain the part that is different, the `permit` functionality.
Transactions on Ethereum cost ether (ETH), which is equivalent to real money. If you have ERC-20 tokens but not ETH, you can't send transactions, so you can't do anything with them. One solution to avoid this problem is [meta-transactions](https://docs.uniswap.org/contracts/v2/guides/smart-contract-integration/supporting-meta-transactions).
-The owner of the tokens signs a transaction that allows somebody else to withdraw tokens off chain and sends it using the Internet to the recipient. The recipient, which does have ETH, then submits the permit on behalf of the owner.
+The owner of the tokens signs a transaction that allows somebody else to withdraw tokens offchain and sends it using the Internet to the recipient. The recipient, which does have ETH, then submits the permit on behalf of the owner.
```solidity
bytes32 public DOMAIN_SEPARATOR;
@@ -1323,7 +1323,7 @@ This function performs internal processing that is required for the functions th
for (uint i; i < path.length - 1; i++) {
```
-As I'm writing this there are [388,160 ERC-20 tokens](https://etherscan.io/tokens). If there was a pair exchange for each token pair, it would be over a 150 billion pair exchanges. The entire chain, at the moment, [only has 0.1% that number of accounts](https://etherscan.io/chart/address). Instead, the swap functions support the concept of a path. A trader can exchange A for B, B for C, and C for D, so there is no need for a direct A-D pair exchange.
+As I'm writing this there are [388,160 ERC-20 tokens](https://eth.blockscout.com/tokens). If there was a pair exchange for each token pair, it would be over 150 billion pair exchanges. The entire chain, at the moment, [only has 0.1% that number of accounts](https://eth.blockscout.com/stats/accountsGrowth). Instead, the swap functions support the concept of a path. A trader can exchange A for B, B for C, and C for D, so there is no need for a direct A-D pair exchange.
The prices on these markets tend to be synchronized, because when they are out of sync it creates an opportunity for arbitrage. Imagine, for example, three tokens, A, B, and C. There are three pair exchanges, one for each pair.
diff --git a/public/content/developers/tutorials/waffle-test-simple-smart-contract/index.md b/public/content/developers/tutorials/waffle-test-simple-smart-contract/index.md
index 0594f138f44..117011e3e1c 100644
--- a/public/content/developers/tutorials/waffle-test-simple-smart-contract/index.md
+++ b/public/content/developers/tutorials/waffle-test-simple-smart-contract/index.md
@@ -21,7 +21,7 @@ published: 2021-02-26
- You have used some package managers like yarn or npm
- You possess very basic knowledge of smart contracts and Solidity
-# Getting started {#getting-started}
+## Getting started {#getting-started}
The tutorial demonstrates test setup and run using yarn, but there is no problem if you prefer npm - I will provide proper references to the official Waffle [documentation](https://ethereum-waffle.readthedocs.io/en/latest/index.html).
@@ -100,7 +100,7 @@ Testing with Waffle requires using Chai matchers and Mocha, so you need to [add]
If you want to [execute](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#running-tests) your tests, just run `yarn test` .
-# Testing {#testing}
+## Testing {#testing}
Now create the `test` directory and create the new file `test\EtherSplitter.test.ts`.
Copy the snippet below and paste it to our test file.
@@ -194,7 +194,7 @@ it("Reverts when Vei amount uneven", async () => {
The test, if passed, will assure us that the transaction was reverted indeed. However, there must be also an exact match between the messages that we passed in `require` statement and the message we expect in `revertedWith`. If we go back to the code of EtherSplitter contract, in the `require` statement for the wei amount, we provide the message: 'Uneven wei amount not allowed'. This matches the message we expect in our test. If they were not equal, the test would fail.
-# Congratulations! {#congratulations}
+## Congratulations! {#congratulations}
You've made your first big step towards testing smart contracts with Waffle! You might be interested in other Waffle tutorials:
diff --git a/public/content/developers/tutorials/yellow-paper-evm/index.md b/public/content/developers/tutorials/yellow-paper-evm/index.md
index e9635682702..31370595026 100644
--- a/public/content/developers/tutorials/yellow-paper-evm/index.md
+++ b/public/content/developers/tutorials/yellow-paper-evm/index.md
@@ -173,7 +173,7 @@ We have an exceptional halt if any of these conditions is true:
The function _W(w,μ)_ is defined later in equation 150. _W(w,μ)_ is true if one of these conditions is true:
- - **_w ∈ {CREATE, CREATE2, SSTORE, SELFDESTRUCT}_**
+ - **_w ∈ \{CREATE, CREATE2, SSTORE, SELFDESTRUCT}_**
These opcodes change the state, either by creating a new contract, storing a value, or destroying the current contract.
- **_LOG0≤w ∧ w≤LOG4_**
@@ -240,7 +240,7 @@ The address whose balance we need to find is _μs[0] mod 2160s[0] mod 2160] ≠ ∅_, it means that there is information about this address. In that case, _σ[μs[0] mod 2160]b_ is the balance for that address. If _σ[μs[0] mod 2160] = ∅_, it means that this address is uninitialized and the balance is zero. You can see the list of account information fields in section 4.1 on p. 4.
-The second equation, _A'a ≡ Aa ∪ {μs[0] mod 2160}_, is related to the difference in cost between access to warm storage (storage that has recently been accessed and is likely to be cached) and cold storage (storage that hasn't been accessed and is likely to be in slower storage that is more expensive to retrieve). _Aa_ is the list of addresses previously accessed by the transaction, which should therefore be cheaper to access, as defined in section 6.1 on p. 8. You can read more about this subject in [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929).
+The second equation, _A'a ≡ Aa ∪ \{μs[0] mod 2160}_, is related to the difference in cost between access to warm storage (storage that has recently been accessed and is likely to be cached) and cold storage (storage that hasn't been accessed and is likely to be in slower storage that is more expensive to retrieve). _Aa_ is the list of addresses previously accessed by the transaction, which should therefore be cheaper to access, as defined in section 6.1 on p. 8. You can read more about this subject in [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929).
| Value | Mnemonic | δ | α | Description |
| ----: | -------- | --- | --- | --------------------------------------- |
diff --git a/public/content/enterprise/index.md b/public/content/enterprise/index.md
deleted file mode 100644
index 0725819503b..00000000000
--- a/public/content/enterprise/index.md
+++ /dev/null
@@ -1,161 +0,0 @@
----
-title: Enterprise on Ethereum Mainnet
-description: Guides, articles, and tools about enterprise applications on the public Ethereum blockchain
-lang: en
----
-
-# Ethereum for enterprise {#ethereum-for-enterprise}
-
-Ethereum can help many kinds of businesses, including large companies:
-
-- Increase trust and reduce the cost of coordination between business parties
-- Improve business network accountability and operational efficiency
-- Build new business models and value creation opportunities
-- Competitively future-proof their organization
-
-In the early years, many enterprise blockchain applications were built on private permissioned Ethereum compatible blockchains or consortium chains. Today, thanks to technological advances which enable greater throughput, lower transaction cost, and privacy, most enterprise applications that use Ethereum technology are being built on the public Ethereum Mainnet or on [Layer 2](/layer-2) chains.
-
-
-## Resources {#enterprise-resources}
-
-### Further reading {#further-reading}
-
-Non-technical resources for understanding how businesses can benefit from Ethereum
-
-- [Why Are Blockchains Useful For Business?](https://entethalliance.org/why-are-blockchains-useful-for-business/) - _Discusses the value of blockchains through the lens of predictability_
-- [Enterprise Ethereum Alliance 2023 Business Readiness Report](https://entethalliance.org/eea-ethereum-business-readiness-report-2023/) - _surveys the potential and capabilities of public Ethereum and the broader Ethereum ecosystem for businesses_
-- [_Ethereum for Business_ by Paul Brody](https://www.uapress.com/product/ethereum-for-business/) - _is a plain-English guide to the use cases that generate returns from asset management to payments to supply chains_
-
-### Organizations {#organizations}
-
-Some collaborative efforts to make Ethereum enterprise friendly have been made by different organizations
-
-- [Enterprise Ethereum Alliance](https://entethalliance.org/) - The EEA helps organizations to adopt and use Ethereum technology in their daily business operations. Its goal is accelerating business Ethereum through professional and commercial support, advocacy and research, standards development and ecosystem trust services.
-- [Global Blockchain Business Council](https://www.gbbc.io/) - The GBBC is an industry association for the blockchain technology ecosystem. Through engaging policymakers and regulators, curating events and in-depth discussions, and driving research, GBBC is dedicated to further adoption of blockchain to create more secure, equitable, and functional societies.
-
-
-## Enterprise developer resources {#enterprise-developer-resources}
-
-### Products and services {#products-and-services}
-
-- [4EVERLAND](https://www.4everland.org/) - _provides APIs, RPC services and tools for hosting decentralized applications and enabling decentralized storage on Ethereum_
-- [Alchemy](https://www.alchemy.com/) - _provides API services and tools for building and monitoring applications on Ethereum_
-- [Blast](https://blastapi.io/) - _an API platform that provides RPC/WSS APIs for Ethereum Archive Mainnet and Testnets._
-- [Blockapps](https://blockapps.net/) - _implementation of the Enterprise Ethereum protocol, tooling and APIs that form the STRATO platform_
-- [Chainstack](https://chainstack.com/) - _mainnet and testnet Ethereum infrastructure hosted in public & isolated customer clouds_
-- [ConsenSys](https://consensys.io/) - _provides a range of products and tools for building on Ethereum, as well as consulting and custom development services_
-- [Crossmint](http://crossmint.com/) _Enterprise-grade web3 development platform to deploy smart contracts, enable credit-card and cross chain payments, and use APIs to create, distribute, sell, store, and edit NFTs._
-- [Envision Blockchain](https://envisionblockchain.com/) - _provides enterprise focused consulting and development services specializing in Ethereum Mainnet_
-- [EY OpsChain](https://blockchain.ey.com/products/contract-manager) - _provides a procurement workflow by issuing RFQ’s, contracts, purchase orders, and invoices across your network of trusted business partners_
-- [Hyperledger Besu](https://www.hyperledger.org/use/besu) - _an enterprise focused open-source Ethereum client developed under the Apache 2.0 license and written in Java_
-- [Infura](https://infura.io/) - _scalable API access to the Ethereum and IPFS networks_
-- [Kaleido](https://kaleido.io/) - _an enterprise-focused development platform that offers simplified blockchain and digital asset applications_
-- [NodeReal](https://nodereal.io/) - _provides scalable blockchain infrastructure and API services provider for the Web3 ecosystem_
-- [Moralis](http://moralis.io/) - _enterprise grade APIs and Nodes with a SOC2 type 2 certification_
-- [Provide](https://provide.services/) - _enterprise zero-knowledge middleware_
-- [QuickNode](https://www.quicknode.com/) - _provides reliable and fast nodes with high-level APIs like NFT API, Token API, etc., while delivering a unified product suite and enterprise-grade solutions_
-- [Tenderly](https://tenderly.co) - _a Web3 development platform that provides debugging, observability, and infrastructure building blocks for developing, testing, monitoring, and operating smart contracts_
-- [Unibright](https://unibright.io/) - _a team of blockchain specialists, architects, developers and consultants with 20+ years of experience in business processes and integration_
-- [Zeeve](https://www.zeeve.io/) - _provides a range of products and tools for building on Ethereum, also infrastructure and APIs for Enterprise Web3 applications._
-
-### Tooling and libraries {#tooling-and-libraries}
-
-- [Baseline Project](https://www.baseline-protocol.org/) - _The Baseline Protocol is a set of tools and libraries that helps enterprises coordinate complex, multi-party business processes and workflows with privacy while keeping data in respective systems of record. The standard enables two or more state machines to achieve and maintain data consistency and workflow continuity by using a network as a common frame of reference._
-- [Chainlens](https://www.chainlens.com/) - _SaaS and on-prem blockchain data and analytics platform from Web3 Labs_
-- [Ernst & Young's 'Nightfall'](https://github.com/EYBlockchain/nightfall_3) - _an application for transferring ERC20, ERC721 and ERC1155 applications under Zero Knowledge, using an Optimistic Rollup_
-
-### Scalability solutions {#scalability-solutions}
-
-Most new blockchain applications are being built on [Layer 2](/layer-2) chains. Layer 2 is a set of technologies or systems that run on top of Ethereum (Layer 1), inherit security properties from Layer 1, and provide greater transaction processing capacity (throughput), lower transaction fees (operating cost), and faster transaction confirmations than Layer 1. Layer 2 scaling solutions are secured by Layer 1, but they enable blockchain applications to handle many more users or actions or data than Layer 1 could accommodate. Many of them leverage recent advances in cryptography and zero-knowledge (ZK) proofs to maximize performance and security, and some offer an additional level of privacy.
-
-## Enterprise applications live on Ethereum Mainnet {#enterprise-live-on-mainnet}
-
-Here are some of the enterprise applications that have been built on top of the public Ethereum Mainnet and L2s by and for traditional, non-blockchain based companies.
-
-### Payments {#payments}
-
-- [Brave Browser](https://basicattentiontoken.org/) - _pays users for their attention to advertisements and users can pay publishers to support them, via the Basic Attention Token_
-- [City of Lugano, Switzerland](https://bitcoinsuisse.com/news/city-of-lugano-accepts-crypto-payments) - _payment of taxes and other municipal services_
-- [EthereumAds](https://ethereumads.com/) - _lets web site operators sell advertising space and get paid via Ethereum_
-- [hCaptcha](https://www.hcaptcha.com/) - _Bot prevention CAPTCHA system which pays web site operators for the work done by users to label data for machine learning. Now deployed by Cloudflare_
-- [Opera MiniPay](https://www.opera.com/products/minipay) - _makes mobile payments more accessible and secure for people in Africa with a non-custodial wallet and leverages phone numbers for easy transactions_
-- [Roxpay](https://www.roxpay.ch/) - _automates pay-per-use asset invoicing and payments_
-- [SAP Digital Currency Hub](https://community.sap.com/t5/technology-blogs-by-sap/cross-border-payments-made-easy-with-digital-money-experience-the-future/ba-p/13560384) - _cross border payments with stablecoins_
-- [Toku](https://www.toku.com/) - _payroll, token grant administration, tax compliance, local employment, benefits & distributed HR solutions_
-- [Xerof](https://www.xerof.com/) - _facilitates fast and inexpensive international (cross-border) B2B payments_
-
-### Finance {#finance}
-
-- [ABN AMRO](https://tokeny.com/tokeny-fuels-abn-amro-bank-in-tokenizing-green-bonds-on-polygon/) - _with Tokeny, tokenized green bonds_
-- [Crowdz](https://crowdz.io/) - _invoice/receivables financing and factoring platform_
-- [Mata Capital](https://consensys.io/blockchain-use-cases/finance/mata-capital) - _real estate investment tokenization_
-- [Obligate](https://www.obligate.com/) - _regulated and KYC'd on-chain bonds and commercial paper_
-- [Siemens](https://press.siemens.com/global/en/pressrelease/siemens-issues-first-digital-bond-blockchain ) - _bond issuance_
-- [Sila](https://silamoney.com/) - _banking and ACH payments infrastructure-as-a-service, using a stablecoin_
-- [Societe Generale FORGE](https://www.sgforge.com/product/bonds/) - _bond issuance_
-- [Taurus](https://www.taurushq.com/) - _issues tokenized securities_
-
-### Asset tokenization {#tokenization}
-
-- [AgroToken](https://agrotoken.io/en/) - _tokenizing and trading agricultural commodities_
-- [Bitbond](https://www.bitbond.com/) - _improves the issuance, settlement and custody of financial assets with tokenization_
-- [Blocksquare](https://blocksquare.io/) - _tokenization infrastructure for real estate_
-- [Centrifuge](https://centrifuge.io/) - _tokenized receivables financing, debt, and assets_
-- [Clearmatics](https://www.clearmatics.com) - _builds decentralised network platforms for the p2p exchange of tokenised value_
-- [dClimate](https://www.dclimate.net/) - _decentralized climate information ecosystem_
-- [Fabrica](https://www.fabrica.land/) - _a platform for digitizing real estate assets, enabling DeFi borrowing and property trading_
-- [Fasset](https://www.fasset.com/) - _a platform for supporting sustainable infrastructure_
-- [Nori](https://nori.com/) - _open source market infrastructure to allow for carbon removal projects to measure and monetize their activity_
-- [Propy](https://propy.com/) - _a platform to automate residential real estate transactions with smart contracts_
-- [RealT](https://realt.co/) - _investors around the globe can buy into the US real estate market through fully-compliant, fractional, tokenized ownership_
-- [Rubey](https://www.rubey.be/) - _a platform that tokenizes high-end art to make it accessible to retail investors_
-- [Swarm](https://swarm.com/) - _a platform focused on the digitization and trading of real-world assets in a regulatory compliant manner_
-- [Thallo](https://www.thallo.io/) - _a platform to integrate digital carbon credits into business transactions_
-- [Tokenchampions](https://tokenchampions.com/) - _tokenizes European football players' image rights_
-
-### Notarization of data {#notarization-of-data}
-
-- [ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html) - _Italian news agency fights fake news and enables readers to verify the origin of news stories by recording them on Mainnet_
-- [Breitling](https://www.coindesk.com/breitling-arianee-all-new-watches-ethereum) - _records provenance and repair history of watches on Ethereum_
-- [BRØK](https://www.xn--brk-1na.no/) - _a cap tables platform for unlisted companies on the public, provided by The Norwegian Government_
-- [Certifaction](https://certifaction.com/) - _legally valid eSignatures with by privacy-by-design_
-- [EthSign](https://ethsign.xyz/) - _records signed electronic documents on the Ethereum blockchain_
-- [Stacktical](https://stacktical.com/) - _enables the software development, digital issuance and digital signature of Service Level Agreements (SLA) with native escrowing capabilities_
-- [Verizon](https://decrypt.co/46745/verizon-news-press-releases-ethereum-full-transparency) - _logs press releases on Ethereum to ensure corporate accountability and trust_
-- [WolfTown](https://www.mef.net/edge-view-blog/automated-secure-timely-sla-reporting-is-finally-a-reality/) - _by MEF and Sage Management automates Service Level Agreement reporting between telecom carriers_
-
-### Supply chain {#supply-chain}
-
-- [Birra Peroni](https://www.ey.com/en_gl/news/2021/05/birra-peroni-is-the-first-industrial-organization-to-mint-unique-non-fungible-tokens-using-ey-opschain-traceability) _mints NFTs for each new batch of beer, enabling greater visibility and efficiency across its supply chain_
-- [CargoX](https://cargox.io/) - _electronic bill of lading and document transfer provider for shipping_
-- [Circularize](https://www.circularise.com/) - _an end-to-end traceability solution for raw materials made into products_
-- [EY OpsChain Contract Manager](https://blockchain.ey.com/products/contract-manager) - _enables companies to engage in a procurement workflow by issuing RFQ’s, contracts, purchase orders, and invoices across a network of business partners_
-- [Minespider](https://www.minespider.com/) - _supply chain tracking and provenance, and CO2 emissions tracking_
-- [Morpheus.network](https://morpheus.network/) - _supply chain automation platform_
-- [StaTwig](https://statwig.com/) - _supply chain operations_
-- [TradeTrust](https://www.tradetrust.io/) - _verifies electronic Bills of Lading (eBLs) for international shipping_
-- [Transmute](https://transmute.industries/) - _data exchange platform for global trade; supports Transactions with Decentralized Identity on Ethereum_
-
-### Insurance {#insurance}
-
-- [Arbol](https://www.arbolmarket.com/) - _parmetric insurance to cover weather related risks_
-- [Etherisc](https://etherisc.com/) - _decentralized insurance for a variety of risks_
-- [Nayms](https://www.nayms.com/) - _a digital space for the creation of insurance programs, the raising and trading of capital, the writing of risk, and the payment rails for premium and claim transactions, built with AON_
-
-### Identity, credentials and certifications {#credentials}
-
-- [BCdiploma](https://www.bcdiploma.com/) - _digitizes and verifies diplomas, certificates, and micro-credentials_
-- [Hyland Credentials](https://www.hylandcredentials.com) - _digital diplomas and other education credentials, licenses, and certificates_
-- [Palau Digital Residency Program](https://rns.id/) - _offers global citizens the ability to have a legal Palau government-issued ID_
-- [Spherity](https://www.spherity.com/) - _offers digital identity management solutions to establish digital trust in ecosystems, focusing on decentralized identities and verifiable credentials_
-- [Zug Digital ID](https://ezug.ch/en/) - _is a blockchain-based identity system in Switzerland, offering residents digital access to government services and supporting functionalities like e-bike borrowing and municipal voting_
-
-### Entertainment, NFTs, and Loyalty
-
-- [Adidas Virtual Gear](https://www.adidas.com/metaverse) - _a virtual gear NFT collection_
-- [The British Museum's Sandbox](https://decrypt.co/150405/british-museum-enter-metaverse-via-sandbox) - _an NFT collection_
-- [Fruitlab](https://fruitlab.com/) - _a platform for gamers to earn from watching, sharing and playing online games_
-- [Nike Swoosh](https://www.swoosh.nike/) - _an NFT platform_
-- [Sothbebys Metaverse](https://metaverse.sothebys.com/) - _a digital art NFT marketplace by Sothebys_
-
-If you would like to add to this list, please see [instructions for contributing](/contributing/).
diff --git a/public/content/enterprise/use-cases/index.md b/public/content/enterprise/use-cases/index.md
new file mode 100644
index 00000000000..b4ebed0674f
--- /dev/null
+++ b/public/content/enterprise/use-cases/index.md
@@ -0,0 +1,169 @@
+---
+title: Enterprise use cases on Ethereum Mainnet
+description: Guides, articles, and tools about enterprise applications on the public Ethereum blockchain
+lang: en
+---
+
+# Enterprise use cases on Ethereum Mainnet {#ethereum-for-enterprise}
+
+Ethereum can help many kinds of businesses, including large companies:
+
+- Increase trust and reduce the cost of coordination between business parties
+- Improve business network accountability and operational efficiency
+- Build new business models and value creation opportunities
+- Competitively future-proof their organization
+
+
+Get in touch
+
+
+## Enterprise applications built on Ethereum {#enterprise-applications-on-ethereum}
+
+Here are some of the enterprise applications that have been built on top of the public Ethereum Mainnet and L2s by and for traditional, non-blockchain based companies.
+
+### Payments {#payments}
+
+- [Brave Browser](https://basicattentiontoken.org/) - _pays users for their attention to advertisements and users can pay publishers to support them, via the Basic Attention Token_
+- [EthereumAds](https://ethereumads.com/) - _lets web site operators sell advertising space and get paid via Ethereum_
+- [hCaptcha](https://www.hcaptcha.com/) - _Bot prevention CAPTCHA system which pays web site operators for the work done by users to label data for machine learning. Now deployed by Cloudflare_
+- [Opera MiniPay](https://www.opera.com/products/minipay) - _makes mobile payments more accessible and secure for people in Africa with a non-custodial wallet and leverages phone numbers for easy transactions_
+- [Roxpay](https://www.roxpay.ch/) - _automates pay-per-use asset invoicing and payments_
+- [SAP Digital Currency Hub](https://community.sap.com/t5/technology-blogs-by-sap/cross-border-payments-made-easy-with-digital-money-experience-the-future/ba-p/13560384) - _cross border payments with stablecoins_
+- [Toku](https://www.toku.com/) - _payroll, token grant administration, tax compliance, local employment, benefits & distributed HR solutions_
+- [Xerof](https://www.xerof.com/) - _facilitates fast and inexpensive international (cross-border) B2B payments_
+
+### Finance {#finance}
+
+- [ABN AMRO](https://tokeny.com/tokeny-fuels-abn-amro-bank-in-tokenizing-green-bonds-on-polygon/) - _with Tokeny, tokenized green bonds_
+- [Anvil](https://anvil.xyz/) - _a system of Ethereum-based smart contracts that manages collateral and issues fully secured credit_
+- [Mata Capital](https://consensys.io/blockchain-use-cases/finance/mata-capital) - _real estate investment tokenization_
+- [Obligate](https://www.obligate.com/) - _regulated and KYC'd onchain bonds and commercial paper_
+- [Siemens](https://press.siemens.com/global/en/pressrelease/siemens-remains-pioneer-another-digital-bond-successfully-issued-blockchain) - _bond issuance_
+- [Sila](https://silamoney.com/) - _banking and ACH payments infrastructure-as-a-service, using a stablecoin_
+- [Societe Generale FORGE](https://www.sgforge.com/product/bonds/) - _bond issuance_
+- [Taurus](https://www.taurushq.com/) - _issues tokenized securities_
+- [Visa Tokenized Asset Platform](https://developer.visa.com/capabilities/visa-tokenized-asset-platform) - _provides the tools and infrastructure for banks to tokenize fiat currencies on blockchain networks_
+
+### Asset tokenization {#tokenization}
+
+- [AgroToken](https://agrotoken.io/en/) - _tokenizing and trading agricultural commodities_
+- [Bitbond](https://www.bitbond.com/) - _improves the issuance, settlement and custody of financial assets with tokenization_
+- [Blocksquare](https://blocksquare.io/) - _tokenization infrastructure for real estate_
+- [Centrifuge](https://centrifuge.io/) - _tokenized receivables financing, debt, and assets_
+- [Clearmatics](https://www.clearmatics.com) - _builds decentralised network platforms for the p2p exchange of tokenised value_
+- [dClimate](https://www.dclimate.net/) - _decentralized climate information ecosystem_
+- [Fabrica](https://www.fabrica.land/) - _a platform for digitizing real estate assets, enabling DeFi borrowing and property trading_
+- [Propy](https://propy.com/) - _a platform to automate residential real estate transactions with smart contracts_
+- [RealT](https://realt.co/) - _investors around the globe can buy into the US real estate market through fully-compliant, fractional, tokenized ownership_
+- [Rubey](https://www.rubey.be/) - _a platform that tokenizes high-end art to make it accessible to retail investors_
+- [Swarm](https://swarm.com/) - _a platform focused on the digitization and trading of real-world assets in a regulatory compliant manner_
+- [Thallo](https://www.thallo.io/) - _a platform to integrate digital carbon credits into business transactions_
+- [Tokenchampions](https://tokenchampions.com/) - _tokenizes European football players' image rights_
+
+### Notarization of data {#notarization-of-data}
+
+- [ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html) - _Italian news agency fights fake news and enables readers to verify the origin of news stories by recording them on Mainnet_
+- [Breitling](https://www.breitling.com/us-en/about/digital-passport/) - _records provenance and repair history of watches on Ethereum_
+- [BRØK](https://www.xn--brk-1na.no/) - _a cap tables platform for unlisted companies on the public, provided by The Norwegian Government_
+- [Certifaction](https://certifaction.com/) - _legally valid eSignatures with by privacy-by-design_
+- [EthSign](https://ethsign.xyz/) - _records signed electronic documents on the Ethereum blockchain_
+- [Stacktical](https://stacktical.com/) - _enables the software development, digital issuance and digital signature of Service Level Agreements (SLA) with native escrowing capabilities_
+- [Verizon Full Transparency](https://www.verizon.com/about/news/transparency-technology) - _logs press releases to ensure corporate accountability and trust_
+- [Verify](https://www.verifymedia.com/) - _by Fox Corporation stores hashes of media content on a Layer 2 to facilitate content licensing and combating deepfakes_
+- [WolfTown](https://www.mef.net/edge-view-blog/automated-secure-timely-sla-reporting-is-finally-a-reality/) - _by MEF and Sage Management automates Service Level Agreement reporting between telecom carriers_
+
+### Supply chain {#supply-chain}
+
+- [CargoX](https://cargox.io/) - _electronic bill of lading and document transfer provider for shipping_
+- [Circularize](https://www.circularise.com/) - _an end-to-end traceability solution for raw materials made into products_
+- [EY OpsChain Contract Manager](https://blockchain.ey.com/) - _enables companies to engage in a procurement workflow by issuing RFQ’s, contracts, purchase orders, and invoices across a network of business partners_
+- [Global Battery Passport project](https://dlt.mobi/gbp-mvp/) _uses DIDs anchored on Ethereum through MOBI's Integrated Trust Network to track EV batteries, for compliance with EU regulations_
+- [Minespider](https://www.minespider.com/) - _supply chain tracking and provenance, and CO2 emissions tracking_
+- [Morpheus.network](https://morpheus.network/) - _supply chain automation platform_
+- [StaTwig](https://statwig.com/) - _supply chain operations_
+- [TradeTrust](https://www.tradetrust.io/) - _verifies electronic Bills of Lading (eBLs) for international shipping_
+- [Tradeverifyd](https://tradeverifyd.com/) - _data exchange platform for global trade; supports Transactions with Decentralized Identity on Ethereum_
+
+### Insurance {#insurance}
+
+- [Arbol](https://www.arbolmarket.com/) - _parmetric insurance to cover weather related risks_
+- [Etherisc](https://etherisc.com/) - _decentralized insurance for a variety of risks_
+- [Nayms](https://www.nayms.com/) - _a digital space for the creation of insurance programs, the raising and trading of capital, the writing of risk, and the payment rails for premium and claim transactions, built with AON_
+
+### Identity, credentials and certifications {#credentials}
+
+- [BCdiploma](https://www.bcdiploma.com/) - _digitizes and verifies diplomas, certificates, and micro-credentials_
+- [Bhutan National Digital Identity](https://www.bhutanndi.com/) - \_a foundation for Bhutan’s digital economy, facilitating trusted interactions between individuals and organizations
+- [Hyland Credentials](https://www.hylandcredentials.com) - _digital diplomas and other education credentials, licenses, and certificates_
+- [Palau Digital Residency Program](https://rns.id/) - _offers global citizens the ability to have a legal Palau government-issued ID_
+- [QuarkID](https://quarkid.org/) _is a self-soverign identity protocol for managing essential personal documents such as birth and marriage certificates, academic credentials, and proof of income, developed by the government of Buenos Aires for use in Argentina and other South American countries_
+- [Spherity](https://www.spherity.com/) - _offers digital identity management solutions to establish digital trust in ecosystems, focusing on decentralized identities and verifiable credentials_
+- [Zug Digital ID](https://ezug.ch/en/) - _is a blockchain-based identity system in Switzerland, offering residents digital access to government services and supporting functionalities like e-bike borrowing and municipal voting_
+
+### Entertainment, NFTs, and Loyalty
+
+- [The British Museum's Sandbox](https://decrypt.co/150405/british-museum-enter-metaverse-via-sandbox) - _an NFT collection_
+- [Fruitlab](https://fruitlab.com/) - _a platform for gamers to earn from watching, sharing and playing online games_
+- [Lamborghini](https://venturebeat.com/games/lamborghini-and-animocas-motorverse-tap-base-blockchain-for-in-game-assets/) - _creates in-game assets for Animoca’s Web3 racing game Motorverse_
+- [Nike Swoosh](https://www.swoosh.nike/) - _an NFT platform_
+- [Sothbebys Metaverse](https://metaverse.sothebys.com/) - _a digital art NFT marketplace by Sothebys_
+- [Soneium](https://soneium.org/) - \_a Layer 2 by Sony to support Web3 games and NFTs
+
+If you would like to add to this list, please see [instructions for contributing](/contributing/).
+
+## Enterprise developer resources {#enterprise-developer-resources}
+
+### Scalability solutions {#scalability-solutions}
+
+Most new blockchain applications are being built on [Layer 2](/layer-2) chains. Layer 2 is a set of technologies or systems that run on top of Ethereum (Layer 1), inherit security properties from Layer 1, and provide greater transaction processing capacity (throughput), lower transaction fees (operating cost), and faster transaction confirmations than Layer 1. Layer 2 scaling solutions are secured by Layer 1, but they enable blockchain applications to handle many more users or actions or data than Layer 1 could accommodate. Many of them leverage recent advances in cryptography and zero-knowledge (ZK) proofs to maximize performance and security, and some offer an additional level of privacy.
+
+[L2 Beat](https://l2beat.com/scaling/summary) maintains an up to date list of Layer 2 networks and key metrics.
+
+### Products, services, and tools {#products-and-services}
+
+- [4EVERLAND](https://www.4everland.org/) - _provides APIs, RPC services and tools for hosting decentralized applications and enabling decentralized storage on Ethereum_
+- [Alchemy](https://www.alchemy.com/) - _provides API services and tools for building and monitoring applications on Ethereum_
+- [Baseline Project](https://www.baseline-protocol.org/) - _a set of tools and libraries that helps enterprises coordinate complex, multi-party business processes and workflows with privacy while keeping data in respective systems of record. The standard enables two or more state machines to achieve and maintain data consistency and workflow continuity by using a network as a common frame of reference._
+- [Blast](https://blastapi.io/) - _an API platform that provides RPC/WSS APIs for Ethereum Archive Mainnet and Testnets._
+- [Blockapps](https://blockapps.net/) - _implementation of the Enterprise Ethereum protocol, tooling and APIs that form the STRATO platform_
+- [Chainlens](https://www.chainlens.com/) - _SaaS and on-prem blockchain data and analytics platform from Web3 Labs_
+- [Chainstack](https://chainstack.com/) - _mainnet and testnet Ethereum infrastructure hosted in public & isolated customer clouds_
+- [ConsenSys](https://consensys.io/) - _provides a range of products and tools for building on Ethereum, as well as consulting and custom development services_
+- [Crossmint](http://crossmint.com/) _Enterprise-grade web3 development platform to deploy smart contracts, enable credit-card and cross chain payments, and use APIs to create, distribute, sell, store, and edit NFTs._
+- [Envision Blockchain](https://envisionblockchain.com/) - _provides enterprise focused consulting and development services specializing in Ethereum Mainnet_
+- [EY OpsChain](https://blockchain.ey.com/products/contract-manager) - _provides a procurement workflow by issuing RFQ’s, contracts, purchase orders, and invoices across your network of trusted business partners_
+- [Hyperledger Besu](https://www.hyperledger.org/use/besu) - _an enterprise focused open-source Ethereum client developed under the Apache 2.0 license and written in Java_
+- [Infura](https://infura.io/) - _scalable API access to the Ethereum and IPFS networks_
+- [Kaleido](https://kaleido.io/) - _an enterprise-focused development platform that offers simplified blockchain and digital asset applications_
+- [Moralis](http://moralis.io/) - _enterprise grade APIs and Nodes with a SOC2 type 2 certification_
+- [Nightfall](https://github.com/EYBlockchain/nightfall_3) - _an application for transferring ERC20, ERC721 and ERC1155 applications under Zero Knowledge, using an Optimistic Rollup, from Ernst & Young_
+- [NodeReal](https://nodereal.io/) - _provides scalable blockchain infrastructure and API services provider for the Web3 ecosystem_
+- [QuickNode](https://www.quicknode.com/) - _provides reliable and fast nodes with high-level APIs like NFT API, Token API, etc., while delivering a unified product suite and enterprise-grade solutions_
+- [Tenderly](https://tenderly.co) - _a Web3 development platform that provides debugging, observability, and infrastructure building blocks for developing, testing, monitoring, and operating smart contracts_
+- [Unibright](https://unibright.io/) - _a team of blockchain specialists, architects, developers and consultants with 20+ years of experience in business processes and integration_
+- [Zeeve](https://www.zeeve.io/) - _provides a range of products and tools for building on Ethereum, also infrastructure and APIs for Enterprise Web3 applications._
+
+## Resources {#enterprise-resources}
+
+### Further reading {#further-reading}
+
+Non-technical resources for understanding how businesses can benefit from Ethereum
+
+- [Why Are Blockchains Useful For Business?](https://entethalliance.org/why-are-blockchains-useful-for-business/) - _Discusses the value of blockchains through the lens of predictability_
+- [Enterprise Ethereum Alliance 2023 Business Readiness Report](https://entethalliance.org/eea-ethereum-business-readiness-report-2023/) - _surveys the potential and capabilities of public Ethereum and the broader Ethereum ecosystem for businesses_
+- [_Ethereum for Business_ by Paul Brody](https://www.uapress.com/product/ethereum-for-business/) - _is a plain-English guide to the use cases that generate returns from asset management to payments to supply chains_
+
+### Organizations {#organizations}
+
+Some collaborative efforts to make Ethereum enterprise friendly have been made by different organizations
+
+- [Enterprise Ethereum Alliance](https://entethalliance.org/) - The EEA helps organizations to adopt and use Ethereum technology in their daily business operations. Its goal is accelerating business Ethereum through professional and commercial support, advocacy and research, standards development and ecosystem trust services.
+- [Global Blockchain Business Council](https://www.gbbc.io/) - The GBBC is an industry association for the blockchain technology ecosystem. Through engaging policymakers and regulators, curating events and in-depth discussions, and driving research, GBBC is dedicated to further adoption of blockchain to create more secure, equitable, and functional societies.
+
+
+
+
+ Get in touch
+
+
+
diff --git a/public/content/eth/supply/index.md b/public/content/eth/supply/index.md
new file mode 100644
index 00000000000..c8b68698c73
--- /dev/null
+++ b/public/content/eth/supply/index.md
@@ -0,0 +1,78 @@
+---
+title: Understanding ETH Supply and Issuance
+description: A beginner-friendly guide to ETH supply and issuance, covering key concepts such as EIPs, PoS, and EIP-1559.
+lang: en
+---
+
+# ETH Supply and Issuance {#eth-supply-and-issuance}
+
+## Prerequisites {#prerequisites}
+
+This article is written for beginners with no prior knowledge. However, to fully understand the topic, it is helpful to have a basic understanding of concepts such as [Ethereum Improvement Proposals (EIPs)](/eips/#introduction-to-ethereum-improvement-proposals), [Proof-of-work (PoW)](/developers/docs/consensus-mechanisms/pow/), [Proof-of-stake (PoS)](/developers/docs/consensus-mechanisms/pos/), and [The London Upgrade](/history/#london).
+
+## How Many ETH Tokens Are There Today? {#current-eth-supply}
+
+The total supply of ETH is dynamic and changes constantly due to two main factors:
+
+1. **Proof-of-Stake (PoS) Issuance**: New ETH is created as rewards for validators who secure the network
+2. **EIP-1559 Burning**: A portion of transaction fees are permanently removed from circulation
+
+You can track the current supply and these changes in real-time on platforms like [Ultrasound Money](https://ultrasound.money).
+
+Ethereum's supply and issuance are essential metrics for understanding the health and future of the network. But what exactly does ETH issuance mean? Let's break it down.
+
+## Why ETH Supply and Issuance Matter {#why-eth-supply-matters}
+
+In traditional finance, central banks control the supply of money, often printing more to stimulate economies. Ethereum, on the other hand, operates on a transparent and predictable system governed by its code. Knowing how many ETH exist and how quickly new ETH is issued helps:
+
+- **Build Trust**: The Ethereum community can verify supply and issuance data directly from the blockchain.
+- **Understand Value**: The relationship between issuance and ETH burn rates impacts ETH's inflation or deflation, influencing its value over time.
+- **Track Network Health**: Changes in issuance and burn rates reflect the activity and security of the network.
+
+## What is ETH Issuance? {#eth-issuance}
+
+ETH issuance refers to the process of creating new ETH as rewards for validators who secure the Ethereum network. It's separate from total supply, which is the total amount of ETH in circulation.
+
+### In simple terms:
+- **Issuance** adds new ETH to the network.
+- **Burning** (introduced by EIP-1559) removes ETH from the network by destroying a portion of the transaction fees.
+
+These two forces determine whether Ethereum's supply grows (inflationary) or shrinks (deflationary) over time.
+
+## ETH Supply and Issuance Today {#eth-supply-today}
+
+Ethereum's Proof-of-Stake (PoS) system has drastically reduced ETH issuance compared to its earlier Proof-of-Work (PoW) model. Validators—who lock up ETH to secure the network—earn ETH as rewards. You can see the current issuance rate on [Ultrasound Money](https://ultrasound.money).
+
+However, this number is dynamic. Thanks to EIP-1559, when network activity is high, ETH burn rates can surpass issuance, creating a deflationary effect. For example, during periods of high demand, like NFT launches or DeFi activity, more ETH may be burned than issued.
+
+### Tools to Track ETH Supply and Issuance:
+- [Ultrasound Money](https://ultrasound.money) - Real-time tracking of ETH supply, issuance, and burn rates
+- [Etherscan](https://etherscan.io) - Block explorer with supply metrics
+
+## Factors Influencing Future ETH Supply and Issuance {#future-eth-supply}
+
+Ethereum's future supply isn't fixed—it depends on several variables:
+
+1. **Staking Participation**:
+ - More validators joining the network means more ETH rewards are distributed.
+ - Fewer validators participating may decrease issuance.
+ - Learn more about [staking](/staking/).
+
+2. **Network Activity**:
+ - High transaction volumes lead to more ETH being burned, potentially offsetting or exceeding issuance.
+ - Read about [gas fees](/developers/docs/gas/) and how they affect burning.
+
+3. **Protocol Upgrades**:
+ - Future changes to Ethereum's code could adjust staking rewards or burning mechanisms, further shaping supply dynamics.
+ - Stay updated with the [Ethereum roadmap](/roadmap/).
+
+## Recap: ETH Supply, Issuance, and What's Next {#recap}
+
+Here's a quick summary of what you need to know about ETH supply and issuance:
+
+- **ETH Supply**: Dynamic and constantly changing, trackable in real-time through tools like [Ultrasound Money](https://ultrasound.money)
+- **Issuance Under PoS**: Significantly reduced compared to PoW, with rewards going to validators. See current rates on [Ultrasound Money](https://ultrasound.money)
+- **EIP-1559's Role**: ETH burning can make the network deflationary during periods of high activity
+- **Future Trends**: Staking participation, network demand, and protocol updates will all shape ETH supply
+
+Understanding ETH issuance helps demystify the value of Ethereum and its potential as a deflationary, decentralized asset. For more detailed information about how The Merge impacted ETH supply, check out our [detailed breakdown](/roadmap/merge/issuance/). Curious about the future of ETH? Dive deeper with tools like [Ultrasound Money](https://ultrasound.money) or explore our [staking guides](/staking/).
\ No newline at end of file
diff --git a/public/content/glossary/index.md b/public/content/glossary/index.md
index 64026adc232..a13e06b5e06 100644
--- a/public/content/glossary/index.md
+++ b/public/content/glossary/index.md
@@ -320,11 +320,11 @@ lang: en
## O {#section-o}
-
+
-
+
@@ -474,6 +474,8 @@ lang: en
+
+
## Z {#section-z}
diff --git a/public/content/governance/index.md b/public/content/governance/index.md
index 9909b03a88b..e75edc18972 100644
--- a/public/content/governance/index.md
+++ b/public/content/governance/index.md
@@ -20,17 +20,17 @@ No one person owns or controls the Ethereum protocol, but decisions still need t
## Ethereum Governance {#ethereum-governance}
-Ethereum governance is the process by which protocol changes are made. It's important to point out that this process isn't related to how people and applications use the protocol - Ethereum is permissionless. Anyone from anywhere in the world can participate in on-chain activities. There are no rules set for who can or cannot build an application or send a transaction. However, there is a process to propose changes to the core protocol, which decentralized applications run on top of. Since so many people depend on Ethereum's stability, there is a very high coordination threshold for core changes, including social and technical processes, to ensure any changes to Ethereum are secure and widely supported by the community.
+Ethereum governance is the process by which protocol changes are made. It's important to point out that this process isn't related to how people and applications use the protocol - Ethereum is permissionless. Anyone from anywhere in the world can participate in onchain activities. There are no rules set for who can or cannot build an application or send a transaction. However, there is a process to propose changes to the core protocol, which decentralized applications run on top of. Since so many people depend on Ethereum's stability, there is a very high coordination threshold for core changes, including social and technical processes, to ensure any changes to Ethereum are secure and widely supported by the community.
-### On-chain vs off-chain governance {#on-chain-vs-off-chain}
+### Onchain vs offchain governance {#onchain-vs-offchain}
-Blockchain technology allows for new governance capabilities, known as on-chain governance. On-chain governance is when proposed protocol changes are decided by a stakeholder vote, usually by holders of a governance token, and voting happens on the blockchain. With some forms of on-chain governance, the proposed protocol changes are already written in code and implemented automatically if the stakeholders approve the changes via signing a transaction.
+Blockchain technology allows for new governance capabilities, known as onchain governance. Onchain governance is when proposed protocol changes are decided by a stakeholder vote, usually by holders of a governance token, and voting happens on the blockchain. With some forms of onchain governance, the proposed protocol changes are already written in code and implemented automatically if the stakeholders approve the changes via signing a transaction.
-The opposite approach, off-chain governance, is where any protocol change decisions happen through an informal process of social discussion, which, if approved, would be implemented in code.
+The opposite approach, offchain governance, is where any protocol change decisions happen through an informal process of social discussion, which, if approved, would be implemented in code.
-**Ethereum governance happens off-chain** with a wide variety of stakeholders involved in the process.
+**Ethereum governance happens offchain** with a wide variety of stakeholders involved in the process.
-_Whilst at the protocol level Ethereum governance is off-chain, many use cases built on top of Ethereum, such as DAOs, use on-chain governance._
+_Whilst at the protocol level Ethereum governance is offchain, many use cases built on top of Ethereum, such as DAOs, use onchain governance._
More on DAOs
@@ -44,7 +44,7 @@ There are various stakeholders in the [Ethereum community](/community/), each pl
- **Ether holders**: these people hold an arbitrary amount of ETH. [More on ETH](/eth/).
- **Application Users**: these people interact with applications on the Ethereum blockchain.
-- **Application/Tooling Developers**: these people write applications that run on the Ethereum blockchain (e.g. DeFi, NFTs, etc.) or build tooling to interact with Ethereum (e.g. wallets, test suites, etc.). [More on dapps](/dapps/).
+- **Application/Tooling Developers**: these people write applications that run on the Ethereum blockchain (e.g. DeFi, NFTs, etc.) or build tooling to interact with Ethereum (e.g. wallets, test suites, etc.). [More on dapps](/apps/).
- **Node Operators**: these people run nodes that propagate blocks and transactions, rejecting any invalid transaction or block that they come across. [More on nodes](/developers/docs/nodes-and-clients/).
- **EIP Authors**: these people propose changes to the Ethereum protocol, in the form of Ethereum Improvement Proposals (EIPs). [More on EIPs](/eips/).
- **Validators**: these people run nodes that can add new blocks to the Ethereum blockchain.
@@ -118,7 +118,7 @@ Generally, disagreements are handled with long-form discussion in public forums
Forks are when major technical upgrades or changes need to be made to the network and change the "rules" of the protocol. [Ethereum clients](/developers/docs/nodes-and-clients/) must update their software to implement the new fork rules.
-The DAO fork was in response to the [2016 DAO attack](https://www.coindesk.com/understanding-dao-hack-journalists) where an insecure [DAO](/glossary/#dao) contract was drained of over 3.6 million ETH in a hack. The fork moved the funds from the faulty contract to a new contract allowing anyone who lost funds in the hack to recover them.
+The DAO fork was in response to the [2016 DAO attack](https://www.coindesk.com/learn/understanding-the-dao-attack) where an insecure [DAO](/glossary/#dao) contract was drained of over 3.6 million ETH in a hack. The fork moved the funds from the faulty contract to a new contract allowing anyone who lost funds in the hack to recover them.
This course of action was voted on by the Ethereum community. Any ETH holder was able to vote via a transaction on [a voting platform](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/). The decision to fork reached over 85% of the votes.
@@ -180,3 +180,5 @@ Governance in Ethereum isn’t rigidly defined. Various community participants h
- [What is an Ethereum core developer?](https://hudsonjameson.com/2020-06-22-what-is-an-ethereum-core-developer/) - _Hudson Jameson_
- [Governance, Part 2: Plutocracy Is Still Bad](https://vitalik.eth.limo/general/2018/03/28/plutocracy.html) - _Vitalik Buterin_
- [Moving beyond coin voting governance](https://vitalik.eth.limo/general/2021/08/16/voting3.html) - _Vitalik Buterin_
+- [Understanding Blockchain Governance](https://research.2077.xyz/understanding-blockchain-governance) - _2077 Research_
+- [The Ethereum Government](https://www.galaxy.com/insights/research/ethereum-governance/) - _Christine Kim_
diff --git a/public/content/guides/how-to-id-scam-tokens/index.md b/public/content/guides/how-to-id-scam-tokens/index.md
index 512adac8497..5f0942ca408 100644
--- a/public/content/guides/how-to-id-scam-tokens/index.md
+++ b/public/content/guides/how-to-id-scam-tokens/index.md
@@ -13,7 +13,7 @@ There are two ways in which they are likely to deceive you:
- **Selling you a scam token**, which may look like the legitimate token you want to purchase, but are issued by the scammers and worth nothing.
- **Tricking you into signing bad transactions**, usually by directing you into their own user interface. They might try to get you into giving their contracts an allowance on your ERC-20 tokens, exposing sensitive information that gives them access to your assets, etc. These user interfaces might be near-perfect clones of honest sites, but with hidden tricks.
-To illustrate what scam tokens are, and how to identify them, we are going to look at an example of one: [`wARB`](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82). This token attempts to look like the legitimate [`ARB`](https://etherscan.io/address/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1) token.
+To illustrate what scam tokens are, and how to identify them, we are going to look at an example of one: [`wARB`](https://eth.blockscout.com/token/0xB047c8032b99841713b8E3872F06cF32beb27b82). This token attempts to look like the legitimate [`ARB`](https://eth.blockscout.com/address/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1) token.
diff --git a/public/content/guides/index.md b/public/content/guides/index.md
index 79c5f6f5d1c..e5d7f33d7b1 100644
--- a/public/content/guides/index.md
+++ b/public/content/guides/index.md
@@ -18,7 +18,7 @@ Do you want to start your Ethereum journey? Our practical guides lead you step-b
1. [How to revoke smart contract access to your crypto funds](/guides/how-to-revoke-token-access/) - If you suddenly see a transaction in your wallet that you did not initiate, this guide will teach you how to prevent that from happening again.
-2. [How to identify scam tokens](/guides/how-to-id-scam-tokens/) - What are scam tokens, how do they make themselves look legitimate, and how to identify them to protect yourself and avoid being scammed.
+2. [How to identify scam tokens](/guides/how-to-id-scam-tokens/) - What are scam tokens? How do they make themselves look legitimate, and how do you identify them to protect yourself and avoid being scammed?
## Using Ethereum
diff --git a/public/content/history/index.md b/public/content/history/index.md
index 125c784030e..e97f9dd5048 100644
--- a/public/content/history/index.md
+++ b/public/content/history/index.md
@@ -29,12 +29,12 @@ Since 2021, upgrades to the **execution layer** are named according to the city
| Upgrade Name | Devcon Year | Devcon Number | Upgrade Date |
| ------------ | ----------- | ------------- | ------------ |
-| Berlin | 2015 | 0 | Apr 15, 2021 |
-| London | 2016 | I | Aug 5, 2021 |
-| Shanghai | 2017 | II | Apr 12, 2023 |
-| **Cancun** | 2018 | III | Mar 13, 2024 |
-| _Prague_ | 2019 | IV | TBD |
-| _Osaka_ | 2020 | V | TBD |
+| Berlin | 2014 | 0 | Apr 15, 2021 |
+| London | 2015 | I | Aug 5, 2021 |
+| Shanghai | 2016 | II | Apr 12, 2023 |
+| Cancun | 2017 | III | Mar 13, 2024 |
+| **Prague** | 2018 | IV | TBD - Next |
+| _Osaka_ | 2019 | V | TBD |
| _Bogota_ | 2022 | VI | TBD |
| _Bangkok_ | 2024 | VII | TBD |
@@ -42,23 +42,26 @@ Since 2021, upgrades to the **execution layer** are named according to the city
Since the launch of the [Beacon Chain](/glossary/#beacon-chain), upgrades to the **consensus layer** are named after celestial stars beginning with letters that proceed in alphabetical order:
-| Upgrade Name | Upgrade Date |
-| ----------------------------------------------------------- | ------------ |
-| Beacon Chain genesis | Dec 1, 2020 |
-| [Altair](https://en.wikipedia.org/wiki/Altair) | Oct 27, 2021 |
-| [Bellatrix](https://en.wikipedia.org/wiki/Bellatrix) | Sep 6, 2022 |
-| [Capella](https://en.wikipedia.org/wiki/Capella) | Apr 12, 2023 |
-| [**Deneb**](https://en.wikipedia.org/wiki/Deneb) | Mar 13, 2024 |
-| [_Electra_]() | TBD |
+| Upgrade Name | Upgrade Date |
+| ------------------------------------------------------------- | ------------ |
+| Beacon Chain genesis | Dec 1, 2020 |
+| [Altair](https://en.wikipedia.org/wiki/Altair) | Oct 27, 2021 |
+| [Bellatrix](https://en.wikipedia.org/wiki/Bellatrix) | Sep 6, 2022 |
+| [Capella](https://en.wikipedia.org/wiki/Capella) | Apr 12, 2023 |
+| [Deneb](https://en.wikipedia.org/wiki/Deneb) | Mar 13, 2024 |
+| [**Electra**]() | TBD - Next |
+| [_Fulu_]() | TBD |
**Combined naming**
-The execution and consensus upgrades were initially rolled out at different times, but after [The Merge](/roadmap/merge/) in 2022 these have been deployed simultaneously. As-such, colloquial terms have emerged to simplify references to these upgrades using a single conjoined term. This began with the _Shanghai-Capella_ upgrade, commonly referred to as "**Shapella**", and is continued with the _Cancun-Deneb_ upgrade, which may be referred to as "**Dencun**."
+The execution and consensus upgrades were initially rolled out at different times, but after [The Merge](/roadmap/merge/) in 2022 these have been deployed simultaneously. As-such, colloquial terms have emerged to simplify references to these upgrades using a single conjoined term. This began with the _Shanghai-Capella_ upgrade, commonly referred to as "**Shapella**", and is continued with the _Cancun-Deneb_ (**Dencun**), and the _Prague-Electra_ (**Pectra**) upgrades.
| Execution Upgrade | Consensus Upgrade | Short Name |
| ----------------- | ----------------- | ---------- |
| Shanghai | Capella | "Shapella" |
| Cancun | Deneb | "Dencun" |
+| Prague | Electra | "Pectra" |
+| Osaka | Fulu | "Fusaka" |
@@ -68,6 +71,55 @@ Looking for future protocol upgrades? [Learn about upcoming upgrades on the Ethe
+## 2025 {#2025}
+
+### Prague-Electra ("Pectra") {#pectra}
+
+
+
+The Prague-Electra ("Pectra") upgrade included several improvements to the Ethereum protocol aimed at enhancing the experience for all users, layer 2 networks, stakers and node operators.
+
+Staking got an upgrade with compounding validator accounts, and improved control over staked funds using the execution withdrawal address. EIP-7251 increased the max effective balance for a single validator to 2048, improving capital efficiency for stakers. EIP-7002 enabled an execution account to securely trigger validator actions, including exiting, or withdrawing portions of the funds, improving the experience for ETH stakers, while helping strengthen accountability for node operators.
+
+Other parts of the upgrade focused on improving the experience for regular users. EIP-7702 brought the ability for a regular non-smart-contract account ([EOA](/glossary/#eoa)) to execute code similar to a smart contract. This unlocked unbounded new functionality for traditional Ethereum accounts, such as transaction batching, gas sponsorship, alternative authentication, programmable spending controls, account recovery mechanisms and more.
+
+
+
+Better user experience:
+
+
+ - EIP-7702 - Set EOA account code
+ - EIP-7691 - Blob throughput increase
+ - EIP-7623 - Increase calldata cost
+ - EIP-7840 - Add blob schedule to EL config files
+
+
+Better staking experience:
+
+
+
+Protocol efficiency and security improvements:
+
+
+
+
+
+- [Pectra.wtf](https://pectra.wtf)
+- [How Pectra will enhance the staking experience](https://www.kiln.fi/post/next-ethereum-upgrade-how-pectra-will-enhance-the-staking-experience)
+- [Read the Electra upgrade specifications](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/)
+- [Prague-Electra ("Pectra") FAQ](/roadmap/pectra/)
+
+
+
## 2024 {#2024}
### Cancun-Deneb ("Dencun") {#dencun}
@@ -102,7 +154,7 @@ Notably this includes EIP-4844, known as **Proto-Danksharding**, which significa
The Deneb upgrade contains a set of improvements to Ethereum's _consensus_ aimed towards improving scalability. This upgrade comes in tandem with the Cancun execution upgrades to enable Proto-Danksharding (EIP-4844), along with other improvements to the Beacon Chain.
-Pre-generated signed "voluntary exit messages" no longer expire, thus giving more control to users staking their funds with a third-party node operator. With this signed exit message, stakers can delegate node operation while maintaining the ability to safely exit and withdrawal their funds at any time, without needing to ask permission from anyone.
+Pre-generated signed "voluntary exit messages" no longer expire, thus giving more control to users staking their funds with a third-party node operator. With this signed exit message, stakers can delegate node operation while maintaining the ability to safely exit and withdraw their funds at any time, without needing to ask permission from anyone.
EIP-7514 brings a tightening to the issuance of ETH by capping the "churn" rate that validators can join the network to eight (8) per epoch. Since ETH issuance is proportional to total ETH staked, limiting the number of validators joining caps the _growth rate_ of newly issued ETH, while also reducing hardware requirements for node operators, helping decentralization.
@@ -426,7 +478,7 @@ The Constantinople fork:
- - EIP-145 – optimises cost of certain on-chain actions.
+ - EIP-145 – optimises cost of certain onchain actions.
- EIP-1014 – allows you to interact with addresses that have yet to be created.
- EIP-1052 – introduces the
EXTCODEHASH instruction to retrieve the hash of another contract's code.
- EIP-1234 – makes sure the blockchain doesn't freeze before proof-of-stake and reduces block reward from 3 to 2 ETH.
@@ -529,7 +581,7 @@ The Tangerine Whistle fork was the first response to the denial of service (DoS)
#### Summary {#dao-fork-summary}
-The DAO fork was in response to the [2016 DAO attack](https://www.coindesk.com/learn/understanding-the-dao-attack/) where an insecure [DAO](/glossary/#dao) contract was drained of over 3.6 million ETH in a hack. The fork moved the funds from the faulty contract to a [new contract](https://etherscan.io/address/0xbf4ed7b27f1d666546e30d74d50d173d20bca754) with a single function: withdraw. Anyone who lost funds could withdraw 1 ETH for every 100 DAO tokens in their wallets.
+The DAO fork was in response to the [2016 DAO attack](https://www.coindesk.com/learn/understanding-the-dao-attack/) where an insecure [DAO](/glossary/#dao) contract was drained of over 3.6 million ETH in a hack. The fork moved the funds from the faulty contract to a [new contract](https://eth.blockscout.com/address/0xbf4ed7b27f1d666546e30d74d50d173d20bca754) with a single function: withdraw. Anyone who lost funds could withdraw 1 ETH for every 100 DAO tokens in their wallets.
This course of action was voted on by the Ethereum community. Any ETH holder was able to vote via a transaction on [a voting platform](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/). The decision to fork reached over 85% of the votes.
diff --git a/public/content/nft/index.md b/public/content/nft/index.md
index e24cf4646db..9d473b44d73 100644
--- a/public/content/nft/index.md
+++ b/public/content/nft/index.md
@@ -1,5 +1,6 @@
---
title: Non-fungible tokens (NFT)
+metaTitle: What are NFTs? | Benefits and use
description: An overview of NFTs on Ethereum
lang: en
template: use-cases
@@ -56,7 +57,7 @@ Maybe you are an artist that wants to share their work using NFTs, without losin
Explore, buy or create your own NFT art/collectibles...
-
+
Explore NFT art
@@ -101,6 +102,7 @@ Security issues relating to NFTs are most often related to phishing scams, smart
- [A beginner's guide to NFTs](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _Linda Xie, January 2020_
- [EtherscanNFT tracker](https://etherscan.io/nft-top-contracts)
+- [Blockscout NFT tracker](https://eth.blockscout.com/tokens?type=ERC-721,ERC-1155,ERC-404)
- [ERC-721 token standard](/developers/docs/standards/tokens/erc-721/)
- [ERC-1155 token standard](/developers/docs/standards/tokens/erc-1155/)
- [Popular NFT Apps and Tools](https://www.ethereum-ecosystem.com/blockchains/ethereum/nfts)
diff --git a/public/content/payments/computer.png b/public/content/payments/computer.png
new file mode 100644
index 00000000000..fb6db5b3ac6
Binary files /dev/null and b/public/content/payments/computer.png differ
diff --git a/public/content/payments/eth_robot.png b/public/content/payments/eth_robot.png
new file mode 100644
index 00000000000..01db53c69bf
Binary files /dev/null and b/public/content/payments/eth_robot.png differ
diff --git a/public/content/payments/index.md b/public/content/payments/index.md
new file mode 100644
index 00000000000..72569c2908c
--- /dev/null
+++ b/public/content/payments/index.md
@@ -0,0 +1,153 @@
+---
+title: Ethereum Payments
+metaTitle: Payments on Ethereum
+description: An overview of payments on Ethereum
+lang: en
+template: use-cases
+emoji: ":frame_with_picture:"
+sidebarDepth: 2
+image: /images/impact_transparent.png
+alt: An Eth logo being displayed along with giving hands.
+summaryPoint1: A world where money moves as freely as information
+summaryPoint2: Open and global, enabling borderless transactions for everyone
+summaryPoint3: Payments received within a minute
+---
+
+Every day, millions of people face the same challenge: moving money across borders is slow, expensive, and often frustrating. A freelancer in Bali waits days for payment to clear from their New York client. This particularly affects people in regions with limited banking infrastructure, making it difficult to participate in the global economy.
+
+This isn't a far-off dream – it's happening today on Ethereum. While traditional financial institutions have built robust payment systems over decades, they often remain constrained by borders, working hours, and legacy infrastructure. Ethereum offers a new paradigm: a global, 24/7 financial platform that enables near-instant, programmable transactions for anyone with internet access.
+
+
+
+
+
+
+
+## Remittances: cheaper international transfers {#remittances}
+
+For millions of people working abroad, sending money back home is a regular necessity. Traditional remittance services often come with high fees and slow processing times. Ethereum offers a compelling alternative.
+
+
+
+
+
+
+
+## Access to Global Currencies {#access-to-global-currencies}
+
+In many countries, inflation is a pressing concern, often accompanied by limited access to foreign currencies. People in these situations struggle to preserve their wealth as they are forced to hold rapidly depreciating savings.
+
+The Ethereum community has created **a robust alternative financial system** that is independent of any nation’s monetary policies or control.
+
+Ethereum users can use **stablecoins—tokens typically tied to strong currencies like the US Dollar**. By earning and saving in cryptocurrency, people can protect themselves from high inflation in their country, helping to preserve or even grow their purchasing power. This also enables easier payments for goods and services, both locally and globally.
+
+
+ More on stablecoins
+
+
+## Buying Goods and Payment for Services {#buying-goods-and-payment-for-services}
+
+Many businesses are beginning to accept ether (ETH) and other cryptocurrencies as payment. For example:
+
+- **Newegg:** The popular electronics retailer accepts Ethereum for purchases in select countries.
+- **Travala.com:** This travel booking platform allows users to pay for hotels and flights using Ethereum.
+- **Shopify:** This popular E-commerce platform which serves as a platform for hosting businesses also accepts payments for goods and services using Ethereum.
+- **Sotheby's:** This organisation trade fine and decorative art, jewellery, and collectibles and allows for payments using Ethereum and other cryptocurrencies.
+
+Countries like El Salvador and the Central African Republic have even adopted cryptocurrencies as legal tender, paving the way for wider acceptance of Ethereum payments in everyday transactions.
+
+In countries where their means of payment have been disconnected from the rest of the world, crypto-integrated payment solutions have been a huge relief. Payments of subscriptions for platforms like Netflix, Spotify, and educational courses have now been made easy through crypto payment platforms like Gnosis Pay and Paypal.
+
+
+ Create your Ethereum account with a wallet app today.
+
+ Get started
+
+
+
+## Salary Payments {#salary-payments}
+
+Many forward-thinking companies are now offering employees the option to receive their salaries, or a portion of them, in cryptocurrencies like ether (ETH):
+
+- **Gipsybee:** is an organisation that deals in electronics, robotics, game creation and other services. They give employees the option to get paid in Ethereum.
+- **SC5:** This Finnish company was one of the first to offer salaries in Bitcoin, paving the way for similar arrangements with Ethereum.
+- **Blockchain startups:** Many companies in the blockchain space naturally offer cryptocurrency salary options to their employees.
+- **DAOs:** Due to the peculiarity and diversity of contributors to DAOs, most contributions and salaries are rewarded in cryptocurrency.
+
+This trend particularly appeals to remote workers and digital nomads who can benefit from borderless payments and potentially favorable exchange rates.
+
+
+
+## Global relief efforts {#global-relief-efforts}
+
+In February 2023, when devastating earthquakes struck Turkey and Syria, the global crypto community sprang into action. Various campaigns were launched to collect funds for relief efforts, showcasing the power of Ethereum in times of crisis. Despite crypto [not being a recognized form](https://www.reuters.com/technology/no-more-kebabs-bitcoins-turkeys-crypto-payment-ban-looms-2021-04-28/) of payment in Turkey, authorities made [exceptions](https://x.com/haluklevent/status/1622913175409623041) for some organizations to collect donations. Some examples are:
+
+- [Refik Anadol](https://x.com/refikanadol/status/1622623521104089090): is a renowned digital artist who initiated a fundraising campaign.
+- DAO Power: [Anka Relief DAO](https://ankarelief.org/) and [Bankless DAO](https://x.com/banklessDAO) joined forces with [Giveth](https://x.com/Giveth/status/1623493672149843969) to raise funds.
+- [Pak](https://cause.quest/), a prominent NFT artist, also contributed to the cause.
+- Even Ethereum co-founder [Vitalik Buterin](https://cointelegraph.com/news/vitalik-buterin-donates-227k-to-help-earthquake-victims-in-turkey-syria) made personal donations to multiple campaigns.
+The result of this? Over $6 million was raised in a matter of days, as tracked by a [Dune](https://dune.com/davy42/turkiye-earthquake-donations) Analytics dashboard.
+
+There were also similar response times for tragedies that happened in India and Ukraine. This rapid response highlights a crucial advantage of Ethereum payments, which is the ability to quickly mobilize global support without the hurdles of currency conversion, lengthy bank transfers, or exorbitant fees.
+
+
+
+
+
+
+## Ethereum vs fiat {#ethereum-vs-fiat}
+
+To truly appreciate the impact of Ethereum payments, it's worth comparing them to traditional fiat currencies:
+
+| | **Ethereum** | **Traditional banks** |
+| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| **Speed** | Seconds to minutes | Hours to days |
+| **Global Reach** | Borderless, 24/7 | Subject to international banking restrictions and work hours |
+| **Transparency** | Fully transparent | Varies by institution |
+| **Programmability** | Smart contracts enabled | Limited to basic transactions |
+| **Inflation Control** | Predictable issuance | Subject to central bank policies |
+| **Accessibility** | Anyone with internet | Subject to national and international restrictions |
+
+At its core, Ethereum is a decentralized platform that allows for secure, fast, and transparent transactions. However, many components set it apart from traditional payment methods. Let's dive into the benefits that make Ethereum payments a game-changer:
+
+### Programmability {#programmability}
+
+One of Ethereum's unique features is its ability to support smart contracts. Smart contracts are self-executing agreements with the terms directly written into code. This opens up a world of possibilities for automated, condition-based payments that can greatly improve transactions like:
+
+- Escrow services
+- Recurring payments
+- Performance-based compensation
+
+### Speed {#speed}
+
+Do you remember the last time you waited days for an international bank transfer to clear? The long queue? And the multiple forms you had to fill? With Ethereum, those days are long gone. Transactions on the Ethereum network settle in minutes, regardless of where the sender and recipient are located. Due to Ethereum being permissionless, there is no regulatory bureaucracy when sending money. This speed is particularly crucial in time-sensitive situations, such as emergency relief efforts.
+
+### Lower Fees {#lower-fees}
+
+Traditional international money transfers fees sometimes eat up a significant portion of the amount sent, especially when dealing with transactions in the hundreds of dollars. Ethereum transactions, while not free, often come with lower fees. This means more of your money goes where you intend it to, rather than lining the pockets of intermediaries.
+
+### Transparency {#transparency}
+
+Every transaction on the Ethereum blockchain is recorded on a public ledger. This means anyone can verify the movement of funds, making it an excellent tool for:
+
+- Charitable organizations to demonstrate how donations are used
+- Businesses to prove payments to suppliers or employees
+- Individuals to keep track of their financial activities
+
+With Ethereum, everyone can see how money moves and how costs are implemented, unlike traditional organisations where most of these remain unknown.
+
+
+
+
+
+
+While fiat currencies have the advantage of widespread acceptance and stability, Ethereum offers unique benefits that make it an attractive option for certain types of transactions.
+
+From facilitating rapid disaster relief to empowering global workers, Ethereum payments are writing a new chapter in the long history of money. While challenges remain, the unique advantages offered by this technology make it an attractive option for a wide range of use cases.
+
+
+ Time to get your own Ethereum account.
+
+ Get started
+
+
\ No newline at end of file
diff --git a/public/content/payments/walking.png b/public/content/payments/walking.png
new file mode 100644
index 00000000000..698f5c7a128
Binary files /dev/null and b/public/content/payments/walking.png differ
diff --git a/public/content/prediction-markets/index.md b/public/content/prediction-markets/index.md
new file mode 100644
index 00000000000..bfd97221f07
--- /dev/null
+++ b/public/content/prediction-markets/index.md
@@ -0,0 +1,81 @@
+---
+title: Prediction markets
+lang: en
+template: use-cases
+image: /images/use-cases/prediction-markets.png
+sidebarDepth: 2
+summaryPoint1: Receive financial incentives to generate accurate forecasts
+summaryPoint2: High quality predictions about future events
+buttons:
+ - content: Learn more
+ toId: how-prediction-markets-work
+ - content: Explore apps
+ toId: find-a-prediction-market
+ isSecondary: false
+---
+
+Prediction markets use crowd wisdom and financial incentives to forecast events. They offer diverse, high-quality data and gained traction during the 2024 U.S. elections.
+
+## How prediction markets work {#how-prediction-markets-work}
+
+Unlike traditional forecasting methods that rely on expert opinions, limited survey samples or historical data, prediction markets leverage **real-time financial incentives** and **crowd wisdom** to generate insights relating to a particular event—elections, crypto prices, sports outcomes—anything.
+
+This allows anyone to signal support for a specific outcome with a financial commitment.
+
+By enabling betting on real-world events and adjusting the prices as new information arises, informed opinions are valued higher, and accuracy can be rewarded.
+
+In theory, because bettors stand to profit from being correct, prediction markets can forecast outcomes with great precision. Blockchain-based prediction markets are even more exciting, as virtually anyone can take part in the forecasting and earn stablecoin or cryptocurrency rewards.
+
+## Why does this matter? {#why-does-this-matter}
+
+Unlike traditional forecasting, blockchain-based prediction markets are:
+
+
+
+
+
+
+
+Even as an observer of the market, you can assess valuable data that would be otherwise unavailable. Think of it like this:
+
+1. Predictions are tied to a specific event (e.g. Will Beam Chain deploy by 2030?).
+2. Market participants buy and sell shares based on their confidence in any outcome.
+3. Prices adjust as more participants stake their beliefs, reflecting real-time insights.
+4. Anyone betting correctly earns proportionately to the amount staked.
+5. Market observers can leverage the open data to inform research or discussion.
+
+## Find a prediction market {#find-a-prediction-market}
+
+There are several Ethereum-based prediction markets available. These are some of the most well-known prediction markets today:
+
+
+
+
+ Stay mindful of the risks
+ Only bet what you can afford, and be aware of potential addictive behaviors.
+
+
+## Challenges & Risks {#challenges-and-risks}
+
+Prediction markets on the blockchain face few challenges that can impact fairness, legality, and accuracy.
+
+⚠️ **Market Manipulation** – Wealthy players can distort outcomes through wash trading.
+💧 **Liquidity Issues** – Low participation ([thin liquidity](https://www.investopedia.com/terms/t/thinmarket.asp)) can reduce market reliability.
+🏛 **Regulatory Uncertainty** – Governments have imposed restrictions on some platforms.
+
+To mitigate these issues, Ethereum developers are experimenting with solutions like futarchy (governance by prediction markets) and decentralized identity verification.
+
+## Experimenting with prediction markets {#experimenting-with-prediction-markets}
+
+Prediction markets are reshaping decision-making in the digital age. By leveraging Ethereum, they offer **fair, open, and rewarding ways to predict the future.**
+
+There are many ways to use forecasting tools outside of financial gain. For example, in a [DevCon Improvement Proposal](https://forum.devcon.org/t/futarchy-decision-markets-for-deciding-next-devcon/5305) (DIP) it was suggested that the organizers of DevCon use prediction markets to anticipate attendance for future events.
+
+This would help the organizers determine which location would lead to the largest event, compared to which location would lead to the most internationally accessible. The benefits of this mean the organizers of DevCon can expedite the amount of time required to screen multiple
+visa policies, airport access, and cost of living in the area while also gathering data on where prospective attendees would be excited to go.
+
+## Further reading {#further-reading}
+
+[From prediction markets to info finance](https://vitalik.eth.limo/general/2024/11/09/infofinance.html) - Vitalik Buterin
+[Decentralized Prediction Market Development on Ethereum](https://blockchain.oodles.io/dev-blog/decentralized-prediction-market-development-ethereum/)
+[The Augur Project Whitepaper](https://github.com/AugurProject/whitepaper)
\ No newline at end of file
diff --git a/public/content/privacy-policy/index.md b/public/content/privacy-policy/index.md
index 900fa30f2cf..f1bd74545e4 100644
--- a/public/content/privacy-policy/index.md
+++ b/public/content/privacy-policy/index.md
@@ -18,7 +18,7 @@ In case you provide us with the personal data of third persons (such as family m
**2. Responsible Person**
-For any matters, relating to data protection you may contact in writing by e-mail or letter to the following address:
+For any matters, relating to data protection you may contact notices@ethereum.org in writing by e-mail or letter to the following address:
Ethereum Foundation
Zeughausgasse 7A,
@@ -47,7 +47,7 @@ Furthermore, the IP addresses may be evaluated, together with other data, in cas
**3.2 Use of Website Cookies**
-The Websites may use cookies. Cookies are text files that are stored in a computer system via an Internet browser. More detailed information on cookies and how they work can be found at: .
+The Websites may use cookies. Cookies are text files that are stored in a computer system via an Internet browser. More detailed information on cookies and how they work can be found at: http://www.allaboutcookies.org.
Many Internet sites and servers use cookies. Many cookies contain a so-called cookie ID. A cookie ID is a unique identifier of the cookie. It consists of a character string through which Internet pages and servers can be assigned to the specific Internet browser in which the cookie was stored. This allows visited Internet sites and servers to differentiate the individual browser of the data subject from other Internet browsers that contain other cookies. A specific Internet browser can be recognized and identified using the unique cookie ID.
@@ -81,13 +81,13 @@ Any processing of this technical personal data helps us to identify what is work
**3.4 Opening an account for the Ethereum Web Forum**
-To access our forums at you must set up an account and provide us with your username, e-mail address, skype name, and password.
+To access our forums at https://forum.ethereum.org/ you must set up an account and provide us with your username, e-mail address, skype name, and password.
The collected data, which you have voluntarily provided, is used for the purpose of providing your password-protected access to your base data we have stored. The legal basis for processing the data for this purpose lies in the consent you have provided in accordance with Art. 6 Par. 1 lit. a GDPR.
**3.5 Contact possibility via the Websites**
-You may contact us via our Websites’ contact page or by e-mail to the following e-mail address: . For this, we require the following information: Name, Subject, E-Mail address, message.
+You may contact us via our Websites’ contact page or by e-mail to the following e-mail address: support@ethereum.org. For this, we require the following information: Name, Subject, E-Mail address, message.
We use this data, which you may give voluntarily, only in order to answer your contact question or to reply to your e-mail in the best possible manner. Therefore, the processing of this data is in our legitimate interest in accordance with Art. 6 Par. 1 lit. f GDPR and you have provided consent in accordance with Art. 6 Par. 1 lit. a GDPR.
@@ -222,11 +222,11 @@ For more information on applicable privacy regulations, you may refer
to:
- EU General Data Protection Regulation:
-
+ https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.L_.2016.119.01.0001.01.ENG
- Swiss Federal Act on Data Protection:
-
+ https://www.admin.ch/opc/en/classified-compilation/19920153/index.html
- Swiss Ordinance to the Federal Act on Data Protection:
-
+ https://www.admin.ch/opc/en/classified-compilation/19930159/index.html
Please do not hesitate to contact us if you have any questions regarding
this Privacy Policy by contacting us at [support@ethereum.org](mailto:support@ethereum.org).
diff --git a/public/content/real-world-assets/index.md b/public/content/real-world-assets/index.md
new file mode 100644
index 00000000000..00e72bfde6f
--- /dev/null
+++ b/public/content/real-world-assets/index.md
@@ -0,0 +1,95 @@
+---
+title: Real-world assets (RWAs)
+metaTitle: What are RWAs? | Benefits and Use of Real-world assets
+description: An overview of Real-world assets on Ethereum
+lang: en
+template: use-cases
+emoji: ":house_buildings:"
+image: /images/man-and-dog-playing.png
+alt: Man and dog playing.
+sidebarDepth: 2
+summaryPoint1: A method for turning valuable commodities into digital tokens.
+summaryPoint2: You can now own portions of real-life objects or assets, rather than having to buy an entire property or item.
+summaryPoint3: Connects traditional finance with the blockchain ecosystem.
+---
+
+Real-world assets (RWAs) are tokens representing existing forms of wealth, such as real estate, gold, stocks, art, machinery or collectibles. Tokenizing these items translates them into digital form, allowing them to be divided between multiple owners and making it easier to trade them.
+
+## What are RWAs? {#what-are-rwas}
+
+Some RWAs are tangible—items you can see and touch, such as gold bars or commercial buildings. Others are intangible, such as government debt, intellectual property, or equity in a company.
+
+When tokenized, these assets are turned into units of value. Tokenized gold is a good example of how this works. The company [Paxos](https://www.paxos.com/) translates 400-ounce gold bars into 400 tokens on the Ethereum blockchain, each backed by one ounce of gold. Token-holders can redeem their tokens for gold at any point. That’s also the case for tokens purchased from another RWA company, [Tether Gold](https://gold.tether.to/).
+
+Each token can be divided into even smaller fractions. Tether Gold tokens, for instance, can be split into parts as small as 0.000001.
+
+RWA tokens don’t have any intrinsic value. Rather, they reflect the value of the item that they represent, and so the token’s value changes along with the item’s value.
+
+## What are the benefits of RWAs? {#rwas-benifits}
+
+
+
+
+
+
+
+
+
+
+## How do RWAs work? {#how-rwas-work}
+
+Let’s look at a few examples from across the RWA ecosystem: real estate, traditional financial products, and fine art.
+
+### Investing in real estate {#investing-in-real-estate}
+
+Say that you’d like to invest in real estate, but purchasing an entire property is out of reach. Instead, you could buy RWAs through a project such as [RealT](https://realt.co/). Its tokens represent shares in a limited liability company (LLC) created to hold a property’s deed. Token-holders receive rental income in the form of stablecoins according to the fraction they hold; RealT says it has so far returned $15 million USD in net rental income to investors.
+
+Another project along the same lines, [LABS Group](https://x.com/labsgroupio), allows people to buy into tokenized real estate with amounts as small as $100 USD.
+
+### Investing in financial products {#investing-in-financial-products}
+
+Several projects bridge the world of traditional finance and decentralized finance (DeFi) by bringing securities, stocks, bonds and other financial instruments onto the blockchain.
+
+For example, the Ethereum-based company [Securitize](https://securitize.io/) specializes in tokenizing traditional financial products. In 2024, it partnered with BlackRock to launch a RWA fund. BlackRock says it plans to eventually tokenize $10 trillion USD of its assets: its CEO, Larry Fink, called tokenization “the next generation for markets”.
+
+### Investing in fine art {#investing-in-fine-art}
+
+There are a few different mechanisms for fine-art investment. [Masterworks](https://www.masterworks.com/) buys artwork, securitizes each piece, and sells shares in the form of tokens. It plans to later sell the artwork and distribute the profits to token-holders.
+
+Art owners looking to capitalize on their collection can sell up to 49 per cent of an artwork’s value on the platform [Maecenas](https://www.maecenas.co/), provided the piece is valued at more than $1 million USD.
+
+In both cases, token-holders don’t control the storage or future sale of the artwork. Rather, they’re in charge of how long they hold onto their tokens, which rise and fall with the value of the art.
+
+Meanwhile, the blockchain-based digital art registry [Artory](https://www.artory.com/) verifies the authenticity of artworks and records past ownership.
+
+### Investing in collectibles {#investing-in-collectibles}
+
+So far, most of these examples demonstrate how tokenization allows partial ownership of various types of wealth. Another benefit of tokenization is that it enables the trade of valuable items, such as collectibles, on the global market.
+
+One example of this is [Courtyard](https://courtyard.io/), which tokenizes trading cards–think of baseball cards, football cards or Pokemon cards. Card owners ship their cards to a secure storage facility in the USA. The cards are minted as digital tokens and added to the owners’ wallets for trading on Courtyard’s marketplace. Courtyard only accepts graded cards: that’s where a third party has certified a card’s authenticity and awarded it a score based on its condition, whether dilapidated or pristine.
+
+Courtyard also offers a type of royalty scheme. Each time a card is sold, the person who tokenized it receives one percent of the revenue. Only card originators are rewarded in this way. At any point, an owner can swap their digital cards for physical cards, no matter where they are located in the world.
+
+## What are the limitations of RWAs? {#rwas-limitations}
+
+One of the challenges of RWAs, at this early stage, involves ensuring the connection between real-life objects and their digital representations.
+
+A green flag is when RWA projects supply investors with proof of reserves–the guarantee that they are the legal owners of the physical objects backing digital tokens. Think of Paxos, Tether Gold, or Courtyard, mentioned earlier, all of which hold their assets in secure storage and offer owners the option of swapping a token for its physical equivalent at any point.
+
+Another limitation is whether token ownership is recognised by legal systems around the world. In other words, are smart contracts enforceable in a court of law, or can the holder of a RWA token claim ownership of the real-life item?
+
+Some of the frontrunners in terms of setting up legal frameworks specifically to recognise tokenization include Singapore, the United Arab Emirates, Hong Kong, and Switzerland, which introduced legislation in 2021 nicknamed the ‘Blockchain Act’ to regulate technologies such as tokenization. The European Union has begun the process of regulating RWAs, while in the United States, the Securities and Exchange Commission is expected to issue guidance on RWAs at some point.
+
+## Learn more {#learn-more}
+
+Dive into [smart contracts](/smart-contracts/) or find out more about a different token class, [non-fungible tokens (NFT)](/nft/).
+
+## Further reading {#further-reading}
+
+- [What is asset tokenization?](https://www.britannica.com/money/real-world-asset-tokenization) on Britannica
+- [How tokenization is transforming global finance and investment](https://www.weforum.org/stories/2024/12/tokenization-blockchain-assets-finance/) on the World Economic Forum
+- [What crypto investors need to know about tokenizing real-world assets](https://www.forbes.com/sites/irinaheaver/2024/03/14/what-crypto-investors-need-to-know-about-tokenizing-real-world-assets/) on Forbes
+- [How smart contracts work with blockchain](https://www.britannica.com/money/how-smart-contracts-work) on Britannica
+- [How tokenized real-world assets are transforming DeFi](https://medium.com/coinmonks/how-tokenized-real-world-assets-are-transforming-defi-4e040f28732a) on Medium
+- [What is RWA in crypto? Its blockchain role explained](https://www.bitdegree.org/crypto/tutorials/what-is-rwa-in-crypto) on BitDegree
+- [Top real-world assets (RWAs) coins today by market cap](https://www.forbes.com/digital-assets/categories/real-world-assets-rwa/) on Forbes
\ No newline at end of file
diff --git a/public/content/roadmap/account-abstraction/index.md b/public/content/roadmap/account-abstraction/index.md
index 61c783d011d..cc3aa5dcfff 100644
--- a/public/content/roadmap/account-abstraction/index.md
+++ b/public/content/roadmap/account-abstraction/index.md
@@ -10,9 +10,9 @@ summaryPoints:
# Account abstraction {#account-abstraction}
-Users interact with Ethereum using **[externally owned accounts (EOAs)](/glossary/#eoa)**. This is the only way to start a transaction or execute a smart contract. This limits how users can interact with Ethereum. For example, it makes it difficult to do batches of transactions and requires users to always keep an ETH balance to cover gas.
+Most existing users interact with Ethereum using **[externally owned accounts (EOAs)](/glossary/#eoa)**. This limits how users can interact with Ethereum. For example, it makes it difficult to do batches of transactions and requires users to always keep an ETH balance to pay transaction fees.
-Account abstraction is a way to solve these problems by allowing users to flexibly program more security and better user experiences into their accounts. This can happen by [upgrading EOAs](https://eips.ethereum.org/EIPS/eip-3074) so they can be controlled by smart contracts, or by [upgrading smart contracts](https://eips.ethereum.org/EIPS/eip-2938) so they can initiate transactions. These options both require changes to the Ethereum protocol. There is also a third path involving adding a [second, separate transaction system](https://eips.ethereum.org/EIPS/eip-4337) to run in parallel to the existing protocol. Regardless of the route, the outcome is access to Ethereum via smart contract wallets, either natively supported as part of the existing protocol or via an add-on transaction network.
+Account abstraction is a way to solve these problems by allowing users to flexibly program more security and better user experiences into their accounts. This can happen by [upgrading EOAs](https://eips.ethereum.org/EIPS/eip-7702) (EIP-7702) so they can be controlled by smart contracts. There is also another path involving adding a [second, separate transaction system](https://eips.ethereum.org/EIPS/eip-4337) (EIP-4337) to run in parallel to the existing protocol. Regardless of the route, the outcome is access to Ethereum via smart contract wallets, either natively supported as part of the existing protocol or via an add-on transaction network.
Smart contract wallets unlock many benefits for the user, including:
@@ -20,7 +20,7 @@ Smart contract wallets unlock many benefits for the user, including:
- recover your account if you lose the keys
- share your account security across trusted devices or individuals
- pay someone else's gas, or have someone else pay yours
-- batch transactions together (e.g. approve and execute a swap in one go)
+- batch transactions together (e.g., approve and execute a swap in one go)
- more opportunities for dapps and wallet developers to innovate on user experiences
These benefits are not natively supported today because only externally-owned accounts ([EOAs](/glossary/#eoa)) can start transactions. EOAs are simply public-private key pairs. They work like this:
@@ -32,95 +32,40 @@ If you lose your keys they can't be recovered, and stolen keys give thieves inst
Smart contract wallets are the solution to these problems, but today they are difficult to program because in the end, any logic they implement has to be translated into a set of EOA transactions before they can be processed by Ethereum. Account abstraction enables smart contracts to initiate transactions themselves, so that any logic that the user wishes to implement can be coded into the smart contract wallet itself and executed on Ethereum.
-Ultimately, account abstraction improves support for smart contract wallets, making them easier to build and safer to use. In the end, with account abstraction, users can enjoy all the benefits of Ethereum without knowing or caring about the underlying technology.
+Ultimately, account abstraction improves support for smart contract wallets, making them easier to build and safer to use. With account abstraction, users can enjoy all the benefits of Ethereum without needing to understand the underlying technology.
## Beyond seed phrases {#beyond-seed-phrases}
-Today's accounts are secured using private keys that are calculated from seed phrases. Any person who has access to a seed phrase can easily discover the private key protecting an account and gain access to all the assets it protects. If a private key and seed phrase are lost, they can never be recovered and the assets they control are frozen forever. Securing these seed phrases is awkward, even for expert users and seed phrase phishing is one of the most common ways users get scammed.
+Today's accounts are secured using private keys that are calculated from seed phrases. Anyone with access to a seed phrase can easily discover the private key protecting an account and gain access to all the assets it protects. If a private key and seed phrase are lost, the assets are permanently inaccessible. Securing these seed phrases is awkward, even for expert users, and seed phrase phishing is one of the most common scams.
-Account abstraction will solve this problem by using a smart contract to hold assets and authorize transactions. These smart contracts can then be decorated with custom logic to make them as secure and tailored to the user as possible. Ultimately, you still use private keys to control access to your account, but with safety nets that make them easier and safer to manage.
+Account abstraction solves this by using a smart contract to hold assets and authorize transactions. Smart contracts can include custom logic tailored for maximum security and usability. Users still use private keys to control access, but with enhanced safety measures.
-For example, backup keys can be added to a wallet so that if you lose or accidentally expose your main key, it can be replaced with a new, secure one with permission from the backup keys. You might secure each of these keys in a different way, or split them across trusted guardians. This makes it much harder for a thief to gain full control over your funds. Similarly, you can add rules to the wallet to reduce the impact if your main key gets compromised, for example, you might allow low-value transactions to be verified by a single signature, whereas higher-value transactions require approval from multiple authenticated signers. There are other ways smart contract wallets can help you to thwart thieves too, for example, an allowlist can be used to block every transaction unless it is to a trusted address or verified by several of your pre-approved keys.
-
-### Examples of security logic that can be built into a smart contract wallet:
-
-- **Multisig authorization**: You can share authorization credentials across multiple trusted people or devices. Then the contract can be configured so that transactions of more than some preset value require authorization from a certain proportion (e.g. 3/5) of the trusted parties. For example, high-value transactions might require approval from both a mobile device and a hardware wallet, or signatures from accounts distributed to trusted family members.
-- **Account freezing**: If a device is lost or compromised the account can be locked from another authorized device, protecting the user's assets.
-- **Account recovery**: Lost a device or forgotten a password? In the current paradigm, this means your assets could be frozen forever. With a smart contract wallet, you can setup an allowlist of accounts that can authorize new devices and reset access.
-- **Set transaction limits**: Specify daily thresholds for how much value can be transferred from the account in a day/week/month. This means if an attacker does gain access to your account they can't drain everything at once and you have opportunities to freeze and reset access.
-- **Create allowlists**: Only allow transactions to certain addresses that you know to be safe. This means that _even if_ your private key was stolen, the attacker could only send funds to destination accounts on your list. These allowlists would require multiple signatures to change them so that an attacker couldn't add their own address to the list unless they had access to several of your backup keys.
+For example, backup keys can be added to a wallet, enabling key replacement if the primary key is compromised. Each key can be secured differently or distributed among trusted individuals, significantly increasing security. Additional wallet rules can mitigate damage from key exposure, such as requiring multiple signatures for high-value transactions or restricting transactions to trusted addresses.
## Better user experience {#better-user-experience}
-Account abstraction allows for a **better overall user experience** as well as **improved security** because it adds support for smart contract wallets at the protocol level. The most important reason for this is that it will provide developers of smart contracts, wallets and applications with much more freedom to innovate on the user experience in ways that we may not yet be able to anticipate. Some obvious improvements that will come along with account abstraction include bundling of transactions for speed and efficiency. For example, a simple swap should be a one-click operation, but today it requires signing multiple transactions to approve spending of individual tokens before the swap is executed. Account abstraction removes that friction by allowing transaction bundling. Furthermore, the bundled transaction could approve precisely the right value of tokens required for each transaction and then revoke the approvals after the transaction completes, providing additional security.
-
-Gas management is also much improved with account abstraction. Not only can applications offer to pay their users' gas fees, but gas fees can be paid in tokens other than ETH, freeing users from having to maintain an ETH balance for funding transactions. This would work by swapping the user's tokens for ETH inside the contract and then using the ETH to pay for gas.
-
-
-
-Gas management is one of the primary frictions for users of Ethereum, mainly because ETH is the only asset that can be used to pay for transactions. Imagine you have a wallet with a USDC balance, but no ETH. You can't move or swap those USDC tokens because you can't pay gas. You can't swap the USDC for ETH either, because that in itself costs gas. You would have to send more ETH to your account from an exchange or another address to solve the problem. With smart contract wallets, you can simply pay gas in USDC instead, freeing your account. You don't have to keep an ETH balance in all your accounts anymore.
-
-Account abstraction also allows dapp developers to be creative with gas management. For example, you might be able to start paying your favorite DEX a fixed fee each month for unlimited transactions. Dapps might offer to pay all your gas fees on your behalf as a reward for using their platform, or as an onboarding offer. It will be much easier for developers to innovate on gas when smart contract wallets are supported at the protocol level.
+Account abstraction greatly enhances the user experience and security by supporting smart contract wallets at the protocol level. Developers can innovate freely, improving transaction bundling for speed and efficiency. Simple swaps can become one-click operations, significantly improving ease of use.
-
-
-Trusted sessions are also potentially transformative for user experiences, especially for applications like gaming, where large numbers of small transactions might need approval in a short time. Individually approving each transaction would break the gaming experience, but permanent approval is unsafe. A smart contract wallet could approve certain transactions for a fixed time, up to a specific value or only to certain addresses.
-
-It is also interesting to consider how purchases could change with account abstraction. Today, each transaction has to be approved and executed from a wallet pre-funded with a sufficient amount of the correct token. With account abstraction, the experience could be more like familiar online shopping where a user could fill a "basket" with items and click once to purchase all at once, with all the logic required handled by the contract, not the user.
-
-These are just a few examples of how user experiences could be leveled up by account abstraction, but there will be many more that we haven't imagined yet. Account abstraction frees developers from the constraints of present-day EOAs, allows them to bring the good aspects of web2 into web3 without sacrificing self-custody, and to hack creatively on inventive new user experiences.
+Gas management improves considerably. Applications can pay users' gas fees or allow payment in tokens other than ETH, eliminating the need to maintain an ETH balance.
## How will account abstraction be implemented? {#how-will-aa-be-implemented}
-Smart contract wallets exist today but are challenging to implement because the EVM does not support them. Instead, they rely on wrapping relatively complex code around standard Ethereum transactions. Ethereum can change this by allowing smart contracts to initiate transactions, handling the necessary logic in Ethereum smart contracts instead of off-chain. Putting logic into smart contracts also increases Ethereum's decentralization since it removes the need for "relayers" run by wallet developers to translate messages signed by the user to regular Ethereum transactions.
-
-
-
-EIP-2771 introduces the concept of meta-transactions that allow third parties to pay for a user's gas costs without making changes to the Ethereum protocol. The idea is that transactions signed by a user get sent to a `Forwarder` contract. The forwarder is a trusted entity that verifies that transactions are valid before sending them on to a gas relay. This is done off-chain, avoiding the need to pay gas. The gas relay passes the transaction on to a `Recipient` contract, paying the necessary gas to make the transaction executable on Ethereum. The transaction is executed if the `Forwarder` is known and trusted by the `Recipient`. This model makes it easy for developers to implement gasless transactions for users.
-
-
-
-
-
-EIP-4337 is the first step towards native smart contract wallet support in a decentralized way without requiring changes to the Ethereum protocol. Instead of modifying the consensus layer to support smart contract wallets, a new system is added separately to the normal transaction gossip protocol. This higher-level system is built around a new object called a UserOperation that package up actions from a user along with the relevant signatures. These UserOperation objects then get broadcast into a dedicated mempool where validators can collect them into a "bundle transaction". The bundle transaction represents a sequence of many individual UserOperations and can be included in Ethereum blocks just like a normal transaction, and would be picked up by validators using a similar fee-maximizing selection model.
-
-The way wallets work would also change under EIP-4337. Instead of each wallet re-implementing common but complex safety logic, those functions would be outsourced to a global wallet contract known as the "entry point". This would handle operations such as paying fees and executing EVM code so that wallet developers can focus on providing excellent user experiences.
-
-Note the EIP 4337 entry point contract was deployed to Ethereum Mainnet on 1st March 2023. You can see the contract on Etherscan.
-
-
-
-
-
-EIP-2938 aims to update the Ethereum protocol by introducing a new transaction type, AA_TX_TYPE that includes three fields: nonce, target and data, where nonce is a transaction counter, target is the entry point contract address and data is EVM bytecode. To execute these transactions, two new instructions (known as opcodes) have to be added to the EVM: NONCE and PAYGAS. The NONCE opcode tracks the transaction sequence and PAYGAS calculates and withdraws the gas required to execute the transaction from the contract's balance. These new features allow Ethereum to support smart contract wallets natively as the necessary infrastructure is built into Ethereum's protocol.
-
-Note that EIP-2938 is currently not active. The community is currently favoring EIP-4337 because it does not require changes to the protocol.
-
-
-
-
-
-EIP-3074 aims to update Ethereum's externally-owned accounts by allowing them to delegate control to a smart contract. This means smart contract logic could approve transactions originating from an EOA. This would allow features such as gas-sponsoring and batched transactions. For this to work, two new opcodes have to be added to the EVM: AUTH and AUTHCALL. With EIP-3074 the benefits of a smart contract wallet are made available without needing a contract - instead, a specific type of stateless, trustless, non-upgradeable contract known as an "invoker" handles the transactions.
+Currently, smart contract wallets are challenging to implement as they rely on complex code wrapping standard transactions. Ethereum can change this by allowing smart contracts to directly initiate transactions, embedding logic in Ethereum smart contracts rather than relying on external relayers.
-Note that EIP-3074 is currently not active. The community is currently favoring EIP-4337 because it does not require changes to the protocol.
+### EIP-4337: Account abstraction without protocol changes
-
+EIP-4337 enables native smart contract wallet support without modifying Ethereum's core protocol. It introduces `UserOperation` objects collected into transaction bundles by validators, simplifying wallet development. The EIP-4337 EntryPoint contract was deployed to Ethereum Mainnet on 1st March 2023 and has facilitated the creation of over 26 million smart wallets and 170 million UserOperations.
## Current progress {#current-progress}
-Smart contract wallets are already available, but more upgrades are required to make them as decentralized and permissionless as possible. EIP-4337 is a mature proposal that does not require any changes to Ethereum's protocol, so it is possible that this could be implemented quickly. However, upgrades that alter Ethereum's protocol are currently not in active development, so those changes may take much longer to ship. It is also possible that account abstraction is achieved well enough by EIP-4337 that no protocol changes are ever required.
+As part of Ethereum's Pectra upgrade, EIP-7702 is scheduled for May 7, 2025. EIP-4337 has been widely adopted, [with over 26 million smart accounts deployed and more than 170 million UserOperations processed](https://www.bundlebear.com/overview/all).
## Further reading {#further-reading}
- [erc4337.io](https://www.erc4337.io/)
-- [Account abstraction panel discussion from Devcon Bogota](https://www.youtube.com/watch?app=desktop&v=WsZBymiyT-8)
-- ["Why account abstraction is a game changer for dapps" from Devcon Bogota](https://www.youtube.com/watch?v=OwppworJGzs)
-- ["Account abstraction ELI5" from Devcon Bogota](https://www.youtube.com/watch?v=QuYZWJj65AY)
-- [Vitalik's "Road to Account Abstraction" notes](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
-- [Vitalik's blog post on social recovery wallets](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
-- [EIP-2938 notes](https://hackmd.io/@SamWilsn/ryhxoGp4D#What-is-EIP-2938)
-- [EIP-2938 documentation](https://eips.ethereum.org/EIPS/eip-2938)
-- [EIP-4337 notes](https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a)
- [EIP-4337 documentation](https://eips.ethereum.org/EIPS/eip-4337)
-- [EIP-2771 documentation](https://eips.ethereum.org/EIPS/eip-2771)
-- ["Basics of Account Abstraction" -- What is Account Abstraction Part I](https://www.alchemy.com/blog/account-abstraction)
+- [EIP-7702 documentation](https://eips.ethereum.org/EIPS/eip-7702)
+- [ERC-4337 adoption dashboard](https://www.bundlebear.com/overview/all)
+- [Vitalik's "Road to Account Abstraction"](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
+- [Vitalik's blog on social recovery wallets](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
+- [Awesome Account Abstraction](https://github.com/4337Mafia/awesome-account-abstraction)
diff --git a/public/content/roadmap/danksharding/index.md b/public/content/roadmap/danksharding/index.md
index 534f95c8665..e22d76b31e3 100644
--- a/public/content/roadmap/danksharding/index.md
+++ b/public/content/roadmap/danksharding/index.md
@@ -17,17 +17,17 @@ summaryPoints:
Proto-Danksharding, also known as [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), is a way for [rollups](/layer-2/#rollups) to add cheaper data to blocks. The name comes from the two researchers who proposed the idea: Protolambda and Dankrad Feist. Historically, rollups had been limited in how cheap they can make user transactions by the fact that they post their transactions in `CALLDATA`.
-This is expensive because it is processed by all Ethereum nodes and lives on-chain forever, even though rollups only need the data for a short time. Proto-Danksharding introduces data blobs that can be sent and attached to blocks. The data in these blobs is not accessible to the EVM and is automatically deleted after a fixed time period (set to 4096 epochs at time of writing, or about 18 days). This means rollups can send their data much more cheaply and pass the savings on to end users in the form of cheaper transactions.
+This is expensive because it is processed by all Ethereum nodes and lives onchain forever, even though rollups only need the data for a short time. Proto-Danksharding introduces data blobs that can be sent and attached to blocks. The data in these blobs is not accessible to the EVM and is automatically deleted after a fixed time period (set to 4096 epochs at time of writing, or about 18 days). This means rollups can send their data much more cheaply and pass the savings on to end users in the form of cheaper transactions.
-Rollups are a way to scale Ethereum by batching transactions off-chain and then posting the results to Ethereum. A rollup is essentially composed of two parts: data and execution check. The data is the full sequence of transactions that is being processed by a rollup to produce the state change being posted to Ethereum. The execution check is the re-execution of those transactions by some honest actor (a "prover") to ensure that the proposed state change is correct. To perform the execution check, the transaction data has to be available for long enough for anyone to download and check. This means any dishonest behavior by the rollup sequencer can be identified and challenged by the prover. However, it does not need to be available forever.
+Rollups are a way to scale Ethereum by batching transactions offchain and then posting the results to Ethereum. A rollup is essentially composed of two parts: data and execution check. The data is the full sequence of transactions that is being processed by a rollup to produce the state change being posted to Ethereum. The execution check is the re-execution of those transactions by some honest actor (a "prover") to ensure that the proposed state change is correct. To perform the execution check, the transaction data has to be available for long enough for anyone to download and check. This means any dishonest behavior by the rollup sequencer can be identified and challenged by the prover. However, it does not need to be available forever.
-Rollups post commitments to their transaction data on-chain and also make the actual data available in data blobs. This means provers can check the commitments are valid or challenge data they think is wrong. At the node-level, the blobs of data are held in the consensus client. The consensus clients attest that they have seen the data and that it has been propagated around the network. If the data was kept forever, these clients would bloat and lead to large hardware requirements for running nodes. Instead, the data is automatically pruned from the node every 18 days. The consensus client attestations demonstrate that there was a sufficient opportunity for provers to verify the data. The actual data can be stored off-chain by rollup operators, users or others.
+Rollups post commitments to their transaction data onchain and also make the actual data available in data blobs. This means provers can check the commitments are valid or challenge data they think is wrong. At the node-level, the blobs of data are held in the consensus client. The consensus clients attest that they have seen the data and that it has been propagated around the network. If the data was kept forever, these clients would bloat and lead to large hardware requirements for running nodes. Instead, the data is automatically pruned from the node every 18 days. The consensus client attestations demonstrate that there was a sufficient opportunity for provers to verify the data. The actual data can be stored offchain by rollup operators, users or others.
@@ -47,7 +47,7 @@ The EIP-4844 KZG ceremony was open to the public and tens of thousands of people
-When a rollup posts data in a blob, they provide a "commitment" that they post on-chain. This commitment is the result of evaluating a polynomial fit to the data at certain points. These points are defined by the random numbers generated in the KZG ceremony. Provers can then evaluate the polynomial at the same points in order to verify the data - if they arrive at the same values then the data is correct.
+When a rollup posts data in a blob, they provide a "commitment" that they post onchain. This commitment is the result of evaluating a polynomial fit to the data at certain points. These points are defined by the random numbers generated in the KZG ceremony. Provers can then evaluate the polynomial at the same points in order to verify the data - if they arrive at the same values then the data is correct.
diff --git a/public/content/roadmap/dencun/index.md b/public/content/roadmap/dencun/index.md
index 1a45f40b3af..8fb3d6236f8 100644
--- a/public/content/roadmap/dencun/index.md
+++ b/public/content/roadmap/dencun/index.md
@@ -68,9 +68,9 @@ Yes, Proto-Danksharding (EIP-4844) requires updates to both execution clients an
The consensus clients handle the _Validator_ software, which has all been updated to accommodate the upgrade.
-## How does Cancun-Deneb (Dencun) affect Goerli or other Ethereum testnets? {#testnet-impact}
+## How does Cancun-Deneb (Dencun) affect Ethereum testnets? {#testnet-impact}
-- Devnets, Goerli, Sepolia and Holesky have all undergone the Dencun upgrade and have Proto-Danksharding fully functioning
+- Devnets, Sepolia and Holesky have all undergone the Dencun upgrade and have Proto-Danksharding fully functioning
- Rollup developers can use these networks for EIP-4844 testing
- Most users will be completely unaffected by this change to each testnet
diff --git a/public/content/roadmap/future-proofing/index.md b/public/content/roadmap/future-proofing/index.md
index 8570938bab3..625bec5dbbd 100644
--- a/public/content/roadmap/future-proofing/index.md
+++ b/public/content/roadmap/future-proofing/index.md
@@ -15,24 +15,39 @@ Some of the [cryptography](/glossary/#cryptography) securing present-day Ethereu
The challenge facing Ethereum developers is that the current [proof-of-stake](/glossary/#pos) protocol relies upon a very efficient signature scheme known as BLS to aggregate votes on valid [blocks](/glossary/#block). This signature scheme is broken by quantum computers, but the quantum resistant alternatives are not as efficient.
-The [“KZG” commitment schemes](/roadmap/danksharding/#what-is-kzg) used in several places across Ethereum to generate cryptographic secrets are known to be quantum-vulnerable. Currently, this is circumvented using “trusted setups” where many users generate randomness that cannot be reverse-engineered by a quantum computer. However, the ideal solution would simply be to incorporate quantum safe cryptography instead. There are two leading approaches that could become efficient replacements for the BLS scheme: [STARK-based](https://hackmd.io/@vbuterin/stark_aggregation) and [lattice-based](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) signing. **These are still being researched and prototyped**.
+The [“KZG” commitment schemes](/roadmap/danksharding/#what-is-kzg) used in several places across Ethereum to generate cryptographic secrets are known to be quantum-vulnerable. Currently, this is circumvented using “trusted setups” (for which the main setup ceremony completed successfully in 2023), where many users generated randomness that cannot be reverse-engineered by a quantum computer. However, the ideal long-term solution would be to incorporate quantum safe cryptography instead. There are two leading approaches that could become efficient replacements for the BLS scheme: [STARK-based](https://hackmd.io/@vbuterin/stark_aggregation) and [lattice-based](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) signing. **These are still being actively researched and prototyped**.
- Read about KZG and trusted setups
+[Read about KZG and trusted setups](/roadmap/danksharding#what-is-kzg)
## Simpler and more efficient Ethereum {#simpler-more-efficient-ethereum}
-Complexity creates opportunities for bugs or vulnerabilities that can be exploited by attackers. Therefore, part of the roadmap is simplifying Ethereum and removing code that has hung around through various upgrades but is no longer needed or can now be improved upon. A leaner, simpler codebase is easier for developers to maintain and reason about.
+Complexity creates opportunities for bugs or vulnerabilities that can be exploited by attackers. Therefore, part of the roadmap is simplifying Ethereum and removing or modifying code that has hung around through various upgrades but is no longer needed or can now be improved upon. A leaner, simpler codebase is easier for developers to maintain and reason about.
-There are several updates that will be made to the [Ethereum Virtual Machine (EVM)](/developers/docs/evm) to make it simpler and more efficient. These include [removing the SELFDESTRUCT opcode](https://hackmd.io/@vbuterin/selfdestruct) - a rarely used command that is no longer needed and in some circumstances can be dangerous to use, especially when combined with other future upgrades to Ethereum’s storage model. [Ethereum clients](/glossary/#consensus-client) also still support some old transaction types that can now be completely removed. The way [gas](/glossary/#gas) is calculated can also be improved and more efficient methods for the arithmetic underpinning some cryptographic operations can be brought in.
+To make the [Ethereum Virtual Machine (EVM)](/developers/docs/evm) simpler and more efficient, improvements are continuously researched and implemented. This involves both addressing legacy components and introducing optimizations.
-Similarly, there are updates that can be made to other parts of present-day Ethereum clients. One example is that current execution and consensus clients use a different type of data compression. It will be much easier and more intuitive to share data between clients when the compression scheme is unified across the whole network.
+**Recent Changes Implemented:**
+
+- **Gas Calculation Overhaul:** The way [gas](/glossary/#gas) is calculated was significantly improved with **EIP-1559 (implemented in the London upgrade, 2021)**, introducing a base fee and burn mechanism for more predictable transaction pricing.
+- **`SELFDESTRUCT` Restriction:** The `SELFDESTRUCT` opcode, while rarely used, posed potential risks. Its functionality was heavily **restricted in the Dencun upgrade (March 2024) via EIP-6780** to mitigate dangers, especially concerning state management.
+- **Modernized Transaction Types:** New transaction formats have been introduced (e.g., via **EIP-2718** and **EIP-4844** for blobs in the Dencun upgrade) to support new features and improve efficiency over legacy types.
+
+**Ongoing and future goals:**
+
+- **Further `SELFDESTRUCT` Handling:** While restricted, the **potential complete removal** of the `SELFDESTRUCT` opcode is still considered for future upgrades to further simplify the EVM state. ([More context on SELFDESTRUCT issues](https://hackmd.io/@vbuterin/selfdestruct)).
+- **Phasing Out Legacy Transactions:** Although [Ethereum clients](/glossary/#consensus-client) still support older transaction types for backward compatibility, the goal is to encourage migration to newer types and **potentially deprecate or fully remove support for the oldest formats** in the future.
+- **Continued Gas Efficiency Research:** Exploration continues into **further refinements for gas calculation**, potentially including concepts like multi-dimensional gas to better reflect resource usage.
+- **Optimized Cryptographic Operations:** Efforts are ongoing to **bring in more efficient methods for the arithmetic** underpinning cryptographic operations used within the EVM.
+
+Similarly, there are updates that can be made to other parts of present-day Ethereum clients. One example is that current execution and consensus clients use a different type of data compression. It will be much easier and more intuitive to share data between clients when the compression scheme is unified across the whole network. This remains an area of exploration.
## Current progress {#current-progress}
-Most of the upgrades required for future-proofing Ethereum are **still in the research phase and may be several years away** from being implemented. Upgrades such as removing SELFDESTRUCT and harmonizing the compression scheme used in the execution and consensus clients are likely to come sooner than quantum resistant cryptography.
+Many of the long-term future-proofing upgrades, particularly **full quantum resistance for core protocols, are still in the research phase and may be several years away** from being implemented.
+
+However, **significant progress has already been made on simplification efforts.** For example, key changes like the **restriction of `SELFDESTRUCT` (EIP-6780)** and the introduction of **blob-carrying transactions (EIP-4844)** were implemented in the **Dencun upgrade (March 2024)**. Work on harmonizing client compression schemes and other efficiency improvements also continues.
**Further reading**
- [Gas](/developers/docs/gas)
- [EVM](/developers/docs/evm)
-- [Data structures](/developers/docs/data-structures-and-encoding)
+- [Data structures](/developers/docs/data-structures-and-encoding)
\ No newline at end of file
diff --git a/public/content/roadmap/index.md b/public/content/roadmap/index.md
deleted file mode 100644
index 781bf05e55d..00000000000
--- a/public/content/roadmap/index.md
+++ /dev/null
@@ -1,117 +0,0 @@
----
-title: Ethereum roadmap
-description: The path to more scalability, security and sustainability for Ethereum.
-lang: en
-template: roadmap
-image: /images/heroes/roadmap-hub-hero.jpg
-alt: "Ethereum roadmap"
-summaryPoints:
-buttons:
- - content: Further upgrades
- toId: what-changes-are-coming
- - content: Past upgrades
- href: /history/
- variant: outline
----
-
-Ethereum is already a powerful platform for global coordination, but it is still being improved. An ambitious set of improvements will upgrade Ethereum from its current form into a fully scaled, maximally resilient platform. These upgrades are laid out in the Ethereum roadmap.
-
-**To learn about previous upgrades to Ethereum, please visit our [History](/history/) page**
-
-## What changes are coming to Ethereum? {#what-changes-are-coming}
-
-The Ethereum roadmap outlines the specific improvements that will be made to protocol in the future. Overall, the roadmap will bring the following benefits to Ethereum users:
-
-
-
-
-
-
-
-
-## Why does Ethereum need a roadmap? {#why-does-ethereum-need-a-roadmap}
-
-Ethereum gets regular upgrades that enhance its scalability, security, or sustainability. One of Ethereum's core strengths is adapting as new ideas emerge from research and development. Adaptability gives Ethereum the flexibility to tackle emerging challenges and keep up with the most advanced technological breakthroughs.
-
-
-
-The roadmap is mostly the result of years of work by researchers and developers - because the protocol is very technical - but any motivated person can participate. Ideas usually start off as discussions on a forum such as [ethresear.ch](https://ethresear.ch/), [Ethereum Magicians](https://ethereum-magicians.org/) or the Eth R&D discord server. They may be responses to new vulnerabilities that are discovered, suggestions from organizations working in the application layer (such as [dapps](/glossary/#dapp) and exchanges) or from known frictions for end users (such as costs or transaction speeds). When these ideas mature, they can be proposed as [Ethereum Improvement Proposals](https://eips.ethereum.org/). This is all done in public so that anyone from the community can weigh in at any time.
-
-[More on Ethereum governance](/governance/)
-
-
-
-
- What was ETH2?
-
- The term 'Eth2' was commonly used to describe the future of Ethereum before the switch to proof-of-stake but it was phased out in favor of more precise terminology. It was originally used to differentiate the Ethereum network before the switch to proof-of-stake and the network after, or sometimes to refer to the different Ethereum clients (execution clients were sometimes referred to as ETH1 clients and consensus clients were sometimes referred to as ETH2 clients).
-
-
-
-## Will Ethereum's roadmap change over time? {#will-ethereums-roadmap-change-over-time}
-
-**Yes—almost definitely**. The roadmap is the current plan for upgrading Ethereum, covering both near-term and future plans. We expect the roadmap to change as new information and technology become available.
-
-Think of Ethereum's roadmap as a set of intentions for improving Ethereum; it is the core researchers' and developers' best hypothesis of Ethereum's most optimal path forward.
-
-## When will the roadmap be finished? {#when-will-the-roadmap-be-finished}
-
-Some upgrades are lower priority and likely not to be implemented for the next 5-10 years (e.g. quantum resistance). **Giving precise timing of each upgrade is complicated to predict** as many roadmap items are worked on in parallel and developed at different speeds. The urgency of an upgrade can also change over time depending on external factors (e.g. a sudden leap in the performance and availability of quantum computers may make quantum-resistant cryptography more urgent).
-
-One way to think about Ethereum development is by analogy to biological evolution. A network that is able to adapt to new challenges and maintain fitness is more likely to succeed that one that is resistant to change, although as the network becomes more and more performant, scalable and secure fewer changes to the protocol will be required.
-
-## Do I have to do anything when there is an upgrade? {#do-i-have-to-do-anything-when-there-is-an-upgrade}
-
-Upgrades tend not to impact end-users except by providing better user-experiences and a more secure protocol and perhaps more options for how to interact with Ethereum. **Regular users are not required to actively participate in an upgrade, nor are they required to do anything** to secure their assets. [Node](/glossary/#node) operators will need to update their clients to prepare for an upgrade. Some upgrades may lead to changes for application developers. For example, history expiry upgrades may lead application developers to grab historical data from new sources.
-
-## What about The Verge, The Splurge, etc? {#what-about-the-verge-splurge-etc}
-
-[Vitalik Buterin proposed a vision for the Ethereum roadmap](https://twitter.com/VitalikButerin/status/1741190491578810445) that was organized into several categories linked by their effects on Ethereum's architecture. It included:
-
-- **The Merge**: upgrades relating to the switch from [proof-of-work](/glossary/#pow) to [proof-of-stake](/glossary/#pos)
-- **The Surge**: upgrades related to scalability by [rollups](/glossary/#rollups) and data sharding
-- **The Scourge**: upgrades related to censorship resistance, decentralization and protocol risks from [MEV](/glossary/#mev)
-- **The Verge**: upgrades related to verifying [blocks](/glossary/#block) more easily
-- **The Purge**: upgrades related to reducing the computational costs of running nodes and simplifying the protocol
-- **The Splurge**: other upgrades that don't fit well into the previous categories.
-
-We decided not to use this terminology because we wanted to use a simpler and more user-centric model. Although we use user-centric language, the vision remains the same as the one proposed by Vitalik.
-
-## What about sharding? {#what-about-sharding}
-
-Sharding is splitting up the Ethereum blockchain so that subsets of [validators](/glossary/#validator) are only responsible for a fraction of the total data. This was originally intended to be the way for Ethereum to scale. However, [layer 2](/glossary/#layer-2) rollups have developed much faster than expected and have provided a lot of scaling already, and will provide much more after Proto-Danksharding is implemented. This means "shard chains" are no longer needed and have been dropped from the roadmap.
-
-## Looking for specific technical upgrades? {#looking-for-specific-technical-upgrades}
-
-- [Danksharding](/roadmap/danksharding) - Danksharding makes layer 2 rollups much cheaper for users by adding “blobs” of data to Ethereum blocks.
-- [Staking withdrawals](/staking/withdrawals) - The Shanghai/Capella upgrade enabled staking withdrawals on Ethereum, allowing people to unlock their staked ETH.
-- [Single slot finality](/roadmap/single-slot-finality) - Instead of waiting for fifteen minutes, blocks could get proposed and finalized in the same slot. This is more convenient for apps and much more difficult to attack.
-- [Proposer-builder separation](/roadmap/pbs) - Splitting the block building and block proposal tasks across separate validators creates a fairer, more censorship resistant and efficient way for Ethereum to come to consensus.
-- [Secret leader election](/roadmap/secret-leader-election) - Clever cryptography can be used to ensure that the identity of the current block proposer is not made public, protecting them from certain types of attack.
-- [Account abstraction](/roadmap/account-abstraction) - Account abstraction is a class of upgrades that support smart contract wallets natively on Ethereum, rather than having to use complex middleware.
-- [Verkle trees](/roadmap/verkle-trees) - Verkle trees are a data structure that can be used to enable stateless clients on Ethereum. These “stateless” clients will require a tiny amount of storage space but will still be able to verify new blocks.
-- [Statelessness](/roadmap/statelessness) - Stateless clients will be able to verify new blocks without having to store large amounts of data. This will provide all the benefits of running a node with only a tiny fraction of today’s costs.
diff --git a/public/content/roadmap/merge/index.md b/public/content/roadmap/merge/index.md
index aff0da7d792..c277698b432 100644
--- a/public/content/roadmap/merge/index.md
+++ b/public/content/roadmap/merge/index.md
@@ -92,13 +92,13 @@ title="Dapp and smart contract developers"
contentPreview="The Merge was designed to have minimal impact on smart contract and dapp developers."
id="developers">
-The Merge came with changes to consensus, which also includes changes related to:<
+The Merge came with changes to consensus, which also includes changes related to:
- block structure
- slot/block timing
- opcode changes
- - sources of on-chain randomness
+ - sources of onchain randomness
- concept of safe head and finalized blocks
diff --git a/public/content/roadmap/pectra/7702/index.md b/public/content/roadmap/pectra/7702/index.md
new file mode 100644
index 00000000000..0fb2f3fc943
--- /dev/null
+++ b/public/content/roadmap/pectra/7702/index.md
@@ -0,0 +1,148 @@
+---
+title: Pectra 7702 guidelines
+description: Learn more about 7702 in the Pectra release
+lang: en
+---
+
+# Pectra 7702
+
+## Abstract {#abstract}
+
+EIP 7702 defines a mechanism to add code to an EOA. This proposal allows EOAs, the legacy ethereum accounts, to receive short-term functionality improvements, increasing the usability of applications. This is done by setting a pointer to already deployed code using a new transaction type: 4.
+
+This new transaction type introduces an authorization list. Each authorization tuple in the list is defined as
+
+```
+[ chain_id, address, nonce, y_parity, r, s ]
+```
+
+**address** is the delegation (already deployed bytecode that'll be used by the EOA)
+**chain_id** locks the authorization to a specific chain (or 0 for all chains)
+**nonce** locks the authorization to a specific account nonce
+(**y_parity, r, s**) is the signature of the authorization tuple, defined as keccak(0x05 || rlp ([chain_id ,address, nonce])) by the private key of EOA to which the authorization applies (also called the authority)
+
+A delegation can be reset by delegating to the null address.
+
+The private key of the EOA retains full control over the account after the delegation. For example delegating to a Safe doesn't make the account a multisig because there's still a single key that can bypass any signing policy. Going forward, developers should design with the assumption that any participant in the system could be a smart contract. For smart contract developers, it’s no longer safe to assume that `tx.origin` refers to an EOA.
+
+## Best practices {#best-practices}
+
+**Account Abstraction**: A delegation contract should align with Ethereum’s broader account abstraction (AA) standards to maximize compatibility. In particular, it should ideally be ERC-4337 compliant or compatible.
+
+**Permissionless and Censorship-Resistant Design**: Ethereum values permissionless participation. A delegation contract MUST NOT hard-code or rely on any single “trusted” relayer or service. This would brick the account if the relayer goes offline. Features like batching (e.g. approve+transferFrom) can be used by the EOA itself without a relayer. For application developers that want to use advanced features enabled by 7702 (Gas Abstraction, Privacy-Preserving Withdrawals) you’ll need a relayer. While there are different relayer architectures, our recommendation is to use [4337 bundlers](https://www.erc4337.io/bundlers) pointing at least [entry point 0.8](https://github.com/eth-infinitism/account-abstraction/releases/tag/v0.8.0) because:
+
+- They provide standardized interfaces for relaying
+- Include built-in paymaster systems
+- Ensure forward compatibility
+- Can support censorship resistance through a [public mempool](https://notes.ethereum.org/@yoav/unified-erc-4337-mempool)
+- Can require the init function to only be called from [EntryPoint](https://github.com/eth-infinitism/account-abstraction/releases/tag/v0.8.0)
+
+In other words, anyone should be able to act as the transaction sponsor/relayer as long as they provide the required valid signature or UserOperation from the account. This ensures censorship resistance: if no custom infrastructure is required, a user’s transactions cannot be arbitrarily blocked by a gatekeeping relay. For example, [MetaMask’s Delegation Toolkit](https://github.com/MetaMask/delegation-framework/releases/tag/v1.3.0) explicitly works with any ERC-4337 bundler or paymaster on any chain, rather than requiring a MetaMask-specific server.
+
+**dApps Integration via Wallet Interfaces**:
+
+Given that wallets will whitelist specific delegation contracts for EIP-7702, dApps should not expect to directly request 7702 authorizations. Instead, integration should occur through standardized wallet interfaces:
+
+- **ERC-5792 (`wallet_sendCalls`)**: Enables dApps to request wallets to execute batched calls, facilitating functionalities like transaction batching and gas abstraction.
+
+- **ERC-6900**: Allows dApps to leverage modular smart account capabilities, such as session keys and account recovery, through wallet-managed modules.
+
+By utilizing these interfaces, dApps can access smart account functionalities provided by EIP-7702 without directly managing delegations, ensuring compatibility and security across different wallet implementations.
+
+> Note: There is no standardized method for dApps to request 7702 authorization signatures directly. DApps must rely on specific wallet interfaces like ERC-6900 to take advantage of EIP-7702 features.
+
+For more information:
+
+- [ERC-5792 specification](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-5792.md)
+- [ERC-6900 specification](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-6900.md)
+
+**Avoiding Vendor Lock-In**: In line with the above, a good implementation is vendor-neutral and interoperable. This often means adhering to emerging standards for smart accounts. For instance, [Alchemy’s Modular Account](https://github.com/alchemyplatform/modular-account) uses the ERC-6900 standard for modular smart accounts and is designed with “permissionless interoperable usage” in mind.
+
+**Privacy Preservation**: While onchain privacy is limited, a delegation contract should strive to minimize data exposure and linkability. This can be achieved by supporting features like gas payments in ERC-20 tokens (so users need not maintain a public ETH balance, which improves privacy and UX) and one-time session keys (which reduce reliance on a single long-term key). For example, EIP-7702 enables paying gas in tokens via sponsored transactions, and a good implementation will make it easy to integrate such paymasters without leaking more information than necessary. Additionally, off-chain delegation of certain approvals (using signatures that are verified onchain) means fewer onchain transactions with the user’s primary key, aiding privacy. Accounts that require using a relayer force users to reveal their IP addresses. PublicMempools improves this, when a transaction/UserOp propagates through the mempool you can't tell whether it originated from the IP that sent it, or just relayed through it via the p2p protocol.
+
+**Extensibility and Modular Security**: Account implementations should be extensible so they can evolve with new features and security improvements. Upgradability is inherently possible with EIP-7702 (since an EOA can always delegate to a new contract in the future to upgrade its logic). Beyond upgradability, a good design allows modularity – e.g. plug-in modules for different signature schemes or spending policies – without needing to redeploy entirely. Alchemy’s Account Kit is a prime example, allowing developers to install validation modules (for different signature types like ECDSA, BLS, etc.) and execution modules for custom logic. To achieve greater flexibility and security in EIP-7702-enabled accounts, developers are encouraged to delegate to a proxy contract rather than directly to a specific implementation. This approach allows for seamless upgrades and modularity without requiring additional EIP-7702 authorizations for each change.
+
+Benefits of the Proxy Pattern:
+
+- **Upgradability**: Update the contract logic by pointing the proxy to a new implementation contract.
+
+- **Custom Initialization Logic**: Incorporate initialization functions within the proxy to set up necessary state variables securely.
+
+For instance, the [SafeEIP7702Proxy](https://docs.safe.global/advanced/eip-7702/7702-safe) demonstrates how a proxy can be utilized to securely initialize and manage delegations in EIP-7702-compatible accounts.
+
+Cons of the Proxy Pattern:
+
+- **Reliance on external actors**: You have to rely on an external team to not upgrade to an unsafe contract.
+
+## Security Considerations {#security-considerations}
+
+**Reentrancy guard**: With the introduction of EIP-7702 delegation, a user’s account can dynamically switch between an Externally Owned Account (EOA) and a Smart Contract (SC). This flexibility enables the account to both initiate transactions and be the target of calls. As a result, scenarios where an account calls itself and makes external calls will have `msg.sender` equal to `tx.origin`, which undermines certain security assumptions that previously relied on `tx.origin` always being an EOA.
+
+For smart contract developers, it's no longer safe to assume that `tx.origin` refers to an EOA. Likewise, using `msg.sender == tx.origin` as a safeguard against reentrancy attacks is no longer a reliable strategy.
+
+Going forward, developers should design with the assumption that any participant in the system could be a smart contract. Alternatively they could implement explicit reentrancy protection using reentrancy guards with a `nonReentrant` modifier patterns. We recommend following an audited modifier e.g [Open Zeppelin's Reentrancy Guard](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol). They could also use a [transient storage variable](https://docs.soliditylang.org/en/latest/internals/layout_in_storage.html).
+
+**Initialization Security Considerations**
+
+Implementing EIP-7702 delegation contracts introduces specific security challenges, particularly concerning the initialization process. A critical vulnerability arises when the initialization function (`init`) is atomically coupled with the delegation process. In such cases, a frontrunner could intercept the delegation signature and execute the `init` function with altered parameters, potentially taking control of the account.
+
+This risk is especially pertinent when attempting to use existing Smart Contract Account (SCA) implementations with EIP-7702 without modifying their initialization mechanisms.
+
+**Solutions to Mitigate Initialization Vulnerabilities**
+
+- Implement `initWithSig`
+ Replace the standard `init` function with an `initWithSig` function that requires the user to sign the initialization parameters. This approach ensures that the initialization can only proceed with explicit user consent, thereby mitigating unauthorized initialization risks.
+
+- Utilize ERC-4337's EntryPoint
+ Require that the initialization function be called exclusively from the ERC-4337 EntryPoint contract. This method leverages the standardized validation and execution framework provided by ERC-4337, adding an additional layer of security to the initialization process.
+ _(See: [Safe Docs](https://docs.safe.global/advanced/eip-7702/7702-safe))_
+
+By adopting these solutions, developers can enhance the security of EIP-7702 delegation contracts, safeguarding against potential frontrunning attacks during the initialization phase.
+
+**Storage Collisions** Delegating code does not clear existing storage. When migrating from one delegation contract to another, the residual data from the previous contract remains. If the new contract utilizes the same storage slots but interprets them differently, it can cause unintended behavior. For instance, if the initial delegation was to a contract where a storage slot represents a `bool`, and the subsequent delegation is to a contract where the same slot represents a `uint`, the mismatch can lead to unpredictable outcomes.
+
+**Phishing risks** With the implementation of EIP-7702 delegation, the assets in a user's account may be entirely controlled by smart contracts. If a user unknowingly delegates their account to a malicious contract, an attacker could easily gain control and steal funds. When using `chain_id=0` the delegation is applied to all chain ids. Only delegate to an immutable contract (never delegate to a proxy), and only to contracts that were deployed using CREATE2 (with standard initcode - no metamorphic contracts) so the deployer can't deploy something different to the same address elsewhere. Otherwise your delegation puts your account at risk on all other EVM chains.
+
+When users perform delegated signatures, the target contract receiving the delegation should be clearly and prominently displayed to help mitigate phishing risks.
+
+**Minimal Trusted Surface & Security**: While offering flexibility, a delegation contract should keep its core logic minimal and auditable. The contract is effectively an extension of the user’s EOA, so any flaw can be catastrophic. Implementations should follow best practices from the smart contract security community. For instance, constructor or initializer functions must be carefully secured – as highlighted by Alchemy, if using a proxy pattern under 7702, an unprotected initializer could let an attacker take over the account. Teams should aim to keep the onchain code simple: Ambire’s 7702 contract is only ~200 lines of Solidity, deliberately minimizing complexity to reduce bugs. A balance must be struck between feature-rich logic and the simplicity that eases auditing.
+
+### Known implementations {#known-implementations}
+
+Due to the nature of EIP 7702, it is recommended wallets use caution when helping users delegate to a 3rd party contract. Listed below is a collection of known implementations that have been audited:
+
+| Contract address | Source | Audits |
+| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00 | [Uniswap/calibur](https://github.com/Uniswap/calibur) | [audits](https://github.com/Uniswap/calibur/tree/main/audits) |
+| 0x69007702764179f14F51cdce752f4f775d74E139 | [alchemyplatform/modular-account](https://github.com/alchemyplatform/modular-account) | [audits](https://github.com/alchemyplatform/modular-account/tree/develop/audits) |
+| 0x5A7FC11397E9a8AD41BF10bf13F22B0a63f96f6d | [AmbireTech/ambire-common](https://github.com/AmbireTech/ambire-common/blob/feature/eip-7702/contracts/AmbireAccount7702.sol) | [audits](https://github.com/AmbireTech/ambire-common/tree/feature/eip-7702/audits) |
+| 0x63c0c19a282a1b52b07dd5a65b58948a07dae32b | [MetaMask/delegation-framework](https://github.com/MetaMask/delegation-framework) | [audits](https://github.com/MetaMask/delegation-framework/tree/main/audits) |
+| 0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9 | [Ethereum Foundation AA team](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/Simple7702Account.sol) | [audits](https://github.com/eth-infinitism/account-abstraction/blob/develop/audits/SpearBit%20Account%20Abstraction%20Security%20Review%20-%20Mar%202025.pdf) |
+
+## Hardware wallet guidelines {#hardware-wallet-guidelines}
+
+Hardware wallets shouldn't expose arbitrary delegation. The consensus in the Hardware wallet space is to use a list of trusted delegator contracts. We suggest to allow known implementations listed above and to consider others on a case by case basis. As delegating your EOA to a contract gives control over all the assets, hardware wallets should be cautious with the way they implement 7702.
+
+### Integration scenarios for companion apps {#integration-scenarios-for-companion-apps}
+
+#### Lazy {#lazy}
+
+As the EOA still operates as usual, there's nothing to do.
+
+Note : some assets could be automatically rejected by the delegation code, such as ERC 1155 NFTs, and support should be aware of it.
+
+#### Aware {#aware}
+
+Notify the user that a delegation is in place for the EOA by checking its code, and optionally offer to remove the delegation.
+
+#### Common delegation {#common-delegation}
+
+Hardware provider whitelists known delegation contracts and implements their support in software companion. It is recommended to choose a contract with full ERC 4337 support.
+
+EOAs delegated to a different one will be handled as standard EOAs.
+
+#### Custom delegation {#custom-delegation}
+
+Hardware provider implements its own delegation contract and adds it to the lists implements its support in softaware companion. It is recommended to build a contract with full ERC 4337 support.
+
+EOAs delegated to a different one will be handled as standard EOAs.
diff --git a/public/content/roadmap/pectra/index.md b/public/content/roadmap/pectra/index.md
new file mode 100644
index 00000000000..4276c890b16
--- /dev/null
+++ b/public/content/roadmap/pectra/index.md
@@ -0,0 +1,119 @@
+---
+title: Prague-Electra (Pectra)
+description: Learn about the Pectra protocol upgrade
+lang: en
+---
+
+# Pectra {#pectra}
+
+The Pectra network upgrade followed [Dencun](/roadmap/dencun/) and brought changes to both the execution and consensus layer of Ethereum. The shortened name Pectra is a combination of Prague and Electra, which are the respective names for the execution and consensus layer specification changes. Together, these changes bring a number of improvements to Ethereum users, developers and validators.
+
+This upgrade was successfully activated on Ethereum mainnet at epoch `364032`, on **07-May-2025 at 10:05 (UTC)**.
+
+
+Pectra upgrade is only a single step in Ethereum's long-term development goals. Learn more about the protocol roadmap and previous upgrades.
+
+
+## Improvements in Pectra {#new-improvements}
+
+Pectra brings the biggest number of [EIPs](https://eips.ethereum.org/) of any previous upgrades! There are many minor changes but also some significant new features. The full list of changes and technical details can be found in the individual included EIPs.
+
+### EOA account code {#7702}
+
+[EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) represents a major step toward widespread [account abstraction](/roadmap/account-abstraction/). With this feature, users can set their address ([EOA](/glossary/#eoa)) to be extended with a smart contract. The EIP introduces a new type of transaction with a specific function - to allow address owners to sign an authorization that sets their address to mimic a chosen smart contract.
+
+With this EIP, users can opt in to programmable wallets that allow new features like transaction bundling, gasless transacting and custom asset access for alternative recovery schemes. This hybrid approach combines the simplicity of EOAs with the programmability of contract-based accounts.
+
+Read a deeper dive on 7702 [here](/roadmap/pectra/7702/)
+
+### Increase the max effective balance {#7251}
+
+The current effective balance of the validator is exactly 32 ETH. It's the minimum necessary amount to participate in the consensus but at the same time the maximum a single validator can stake.
+
+[EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) raises the maximum possible effective balance to 2048 ETH, meaning that a single validator can now stake between 32 and 2048 ETH. Instead of multiples of 32, stakers can now choose an arbitrary amount of ETH to stake and receive rewards on every 1 ETH above the minimum. For example, if a validator's balance grows with their rewards to 33 ETH, the extra 1 ETH is also considered part of the effective balance and receives rewards.
+
+But the benefit of a better reward system for validators is only a part of this improvement. [Stakers](/staking/) running multiple validators can now aggregate them into a single one, which enables easier operation and reduces network overhead. Because every validator in Beacon Chain submits a signature in every epoch, the bandwidth requirements grow with more validators and a large number of signatures to propagate. Aggregating validators will take load off of the network and open new scaling options while keeping the same economic security.
+
+Read a deeper dive on maxEB [here](/roadmap/pectra/maxeb/)
+
+### Blob throughput increase {#7691}
+
+Blobs provide [data availability](/developers/docs/data-availability/#data-availability-and-layer-2-rollups) for L2s. They were introduced in the [the previous network upgrade](/roadmap/dencun/).
+
+Currently, network targets an average 3 blobs per block with a maximum of 6 blobs. With [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691), the average blob count will be increased to 6, with a maximum of 9 per block, resulting in increased capacity for Ethereum rollups. This EIP helps bridge the gap until [PeerDAS](https://eips.ethereum.org/EIPS/eip-7594) enables even higher blob counts.
+
+### Increase calldata cost {#7623}
+
+Before the introduction of [blobs in Dencun upgrade](/roadmap/danksharding), L2s were using [calldata](/docs/data-availability/blockchain-data-storage-strategies/#calldata) to store their data in Ethereum. Both blobs and calldata affect Ethereum's bandwidth usage. While most blocks only use a minimal amount of calldata, data-heavy blocks that also contain many blobs can be harmful to Ethereum's p2p network.
+
+To address this, [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623) increases calldata pricing, but only for data-heavy transactions. This bounds the worst-case block size, provides an incentive for L2s to only use blobs and leaves over 99% of transactions unaffected.
+
+### Execution layer triggerable exits {#7002}
+
+Currently, exiting a validator and [withdrawing staked ETH](/staking/withdrawals/) is a consensus layer operation that requires an active validator key, the same BLS key used by the validator to perform active duties like attestations. Withdrawal credentials is a separate cold key that receives the exited stake but cannot trigger the exit. The only way for stakers to exit is to send a special message to the Beacon Chain network signed using the active validator key. This is limiting in scenarios where the withdrawal credentials and validator key are held by different entities or when the validator key gets lost.
+
+[EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) introduces a new contract that can be used to trigger the exit using execution layer withdrawal credentials. Stakers will be able to exit their validator by calling a function in this special contract without the need for their validator signing key or access to Beacon Chain at all. Importantly, enabling validator withdrawals onchain allows for staking protocols with reduced trust assumptions over node operators.
+
+### Validator deposits on chain {#6110}
+
+Validator deposits are currently processed by [eth1data poll](https://eth2book.info/capella/part2/deposits-withdrawals/deposit-processing/) which is a function on the Beacon Chain that fetches data from the execution layer. It's sort of a technical debt from times before The Merge when Beacon Chain was a separate network and had to concern itself with proof-of-work re-orgs.
+
+[EIP-6110](https://eips.ethereum.org/EIPS/eip-6110) is a new way of delivering deposits from execution to the consensus layer, which allows for instant processing with less implementation complexity. It's a more secure way of handling deposits native to merged Ethereum. It also helps to future-proof the protocol because it doesn't require historical deposits to bootstrap the node, which is necessary for history expiry.
+
+### Precompile for BLS12-381 {#2537}
+
+Precompiles are a special set of smart contracts built directly into the Ethereum Virtual Machine ([EVM](/developers/docs/evm/)). Unlike regular contracts, precompiles are not deployed by users but are part of the client implementation itself, written in its native language (e.g. Go, Java, etc, not Solidity). Precompiles serve for widely used and standardized functions like cryptographic operations. Smart contract developers can call precompiles as a regular contract but with more security and efficiency.
+
+[EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) adds new precompiles for curve operations over [BLS12-381](https://hackmd.io/@benjaminion/bls12-381). This elliptic curve became widely used in cryptocurrency ecosystems thanks to its practical properties. More specifically, it's been adopted by Ethereum's consensus layer, where it's used by validators.
+
+The new precompile adds the ability for every developer to easily, efficiently, and securely perform cryptographic operations using this curve, for example, verifying signatures. Onchain applications that depend on this curve can become more gas efficient and secure relying on a precompile instead of some custom contract. This mainly applies to applications that want to reason about validators inside the EVM, e.g. staking pools, restaking, light clients, bridges but also zero-knowledge.
+
+### Serve historical block hashes from state {#2935}
+
+The EVM currently provides `BLOCKHASH` opcode which enables contract developers to retrieve the hash of a block directly in the execution layer. However, this is limited only to the last 256 blocks and might become problematic for stateless clients in the future.
+
+[EIP-2935](https://eips.ethereum.org/EIPS/eip-2935) creates a new system contract that can serve the last 8192 block hashes as storage slots. This helps to future-proof the protocol for stateless execution and becomes more efficient when verkle tries are adopted. However, apart from this, rollups can benefit from this right away, as they can query the contract directly with a longer historical window.
+
+### Move committee index outside Attestation {#7549}
+
+The Beacon Chain consensus is based on validators casting their votes for the latest block and finalized epoch. The attestation includes 3 elements, 2 of which are votes and the third is the committee index value.
+
+[EIP-7549](https://eips.ethereum.org/EIPS/eip-7549) moves this index outside of the signed attestation message, which makes it easier to verify and aggregate consensus votes. This will enable more efficiency in every consensus client and can bring significant performance improvements to zero-knowledge circuits for proving Ethereum consensus.
+
+### Add blob schedule to EL config files {#7840}
+
+[EIP-7840](https://eips.ethereum.org/EIPS/eip-7840) is a simple change that adds a new field to execution layer client configuration. It configures the number of blocks, enabling dynamic setting for target and maximum blob counts per block as well as blob fee adjustment. With directly defined configuration, clients can avoid the complexity of exchanging this information via Engine API.
+
+
+To learn more about how Pectra affects you specifically as an Ethereum user, developer or validator, look into Pectra FAQ.
+
+
+## Does this upgrade affect all Ethereum nodes and validators? {#client-impact}
+
+Yes, Pectra upgrade requires updates to both [execution clients and consensus clients](/developers/docs/nodes-and-clients/). All main Ethereum clients will release versions supporting the hard fork marked as high priority. To maintain synchronization with the Ethereum network post-upgrade, node operators must ensure they are running a supported client version. Note that the information about client releases is time-sensitive, and users should refer to the latest updates for the most current details.
+
+## How can ETH be converted after the hard fork? {#scam-alert}
+
+- **No Action Required for Your ETH**: Following the Ethereum Pectra upgrade, there is no need to convert or upgrade your ETH. Your account balances will remain the same, and the ETH you currently hold will remain accessible in its existing form after the hard fork.
+- **Beware of Scams!** **anyone instructing you to "upgrade" your ETH is trying to scam you.** There is nothing you need to do in relation to this upgrade. Your assets will stay completely unaffected. Remember, staying informed is the best defense against scams.
+
+[More on recognizing and avoiding scams](/security/)
+
+## More of a visual learner? {#visual-learner}
+
+
+
+_What’s Going Into the Pectra Upgrade? - Christine Kim_
+
+
+
+_Ethereum Pectra Upgrade: What Stakers Need to Know — Blockdaemon_
+
+## Further reading {#further-reading}
+
+- [Ethereum roadmap](/roadmap/)
+- [Pectra FAQ](https://epf.wiki/#/wiki/pectra-faq)
+- [Pectra.wtf info page](https://pectra.wtf)
+- [How Pectra enhances staker experience](https://www.kiln.fi/post/next-ethereum-upgrade-how-pectra-will-enhance-the-staking-experience)
+- [EIP7702 info page](https://eip7702.io/)
+- [Pectra devnets](https://github.com/ethereum/pm/blob/master/Pectra/pectra-pm.md)
diff --git a/public/content/roadmap/pectra/maxeb/0x00-wd.png b/public/content/roadmap/pectra/maxeb/0x00-wd.png
new file mode 100644
index 00000000000..27447b6ecf6
Binary files /dev/null and b/public/content/roadmap/pectra/maxeb/0x00-wd.png differ
diff --git a/public/content/roadmap/pectra/maxeb/0x01-wd.png b/public/content/roadmap/pectra/maxeb/0x01-wd.png
new file mode 100644
index 00000000000..a598ae480ed
Binary files /dev/null and b/public/content/roadmap/pectra/maxeb/0x01-wd.png differ
diff --git a/public/content/roadmap/pectra/maxeb/consolidation.png b/public/content/roadmap/pectra/maxeb/consolidation.png
new file mode 100644
index 00000000000..34050437643
Binary files /dev/null and b/public/content/roadmap/pectra/maxeb/consolidation.png differ
diff --git a/public/content/roadmap/pectra/maxeb/conversion.png b/public/content/roadmap/pectra/maxeb/conversion.png
new file mode 100644
index 00000000000..5521b20e398
Binary files /dev/null and b/public/content/roadmap/pectra/maxeb/conversion.png differ
diff --git a/public/content/roadmap/pectra/maxeb/index.md b/public/content/roadmap/pectra/maxeb/index.md
new file mode 100644
index 00000000000..512c8d25476
--- /dev/null
+++ b/public/content/roadmap/pectra/maxeb/index.md
@@ -0,0 +1,203 @@
+---
+title: Pectra MaxEB
+description: Learn more about MaxEB in the Pectra release
+lang: en
+---
+
+# MaxEB {#maxeb}
+
+*tl;dr:* The Pectra hard fork allows Ethereum validators to opt into a higher max effective balance and compounding by converting from **Type 1** to **Type 2** withdrawal credentials. The official tool to do this is the Launchpad. This operation cannot be reversed.
+
+## Overview {#overview}
+
+### Who is affected? {#who-is-affected}
+
+Anyone who runs a validator - this is likely someone who knows the index (e.g. [Validator #12345](https://beaconcha.in/validator/12345)) of a validator that they control. If you use a protocol to run a validator (e.g. Lido CSM or Rocket Pool), you will have to check with them to see if and when they support maxEB.
+
+If you stake using a liquid staking token (e.g. rETH or stETH), no action is required or recommended.
+
+### What is "maxEB"? {#what-is-maxeb}
+
+maxEB = the MAXimum Effective Balance of a validator. Until the Pectra hard fork, every validator earns on a maximum 32 ETH. After Pectra, validators have the option to earn on any balance between 32 and 2048 ETH, in 1 ETH increments by opting in to the change.
+
+### How does a validator opt in? {#how-does-a-validator-opt-in}
+
+A validator opts into the maxEB change by converting from **Type 1** to **Type 2** withdrawal credentials. This can be done on the [Launchpad](https://launchpad.ethereum.org/) after the Pectra hard fork goes live. As with **Type 0** → **Type 1**, converting from **Type 1** → **Type 2** is an irreversible process.
+
+### What's a withdrawal credential? {#whats-a-withdrawal-credential}
+
+When you run a validator, you have a set of withdrawal credentials. These can be found in your deposit data json or you can view them on your validator's beaconcha.in [deposit tab](https://beaconcha.in/validator/12345#deposits).
+
+1. **Type 0** withdrawal credentials: If your validator's withdrawal credentials begin with `0x00...`, you deposited before the Shapella hard fork and do not yet have a withdrawal address set.
+
+
+
+2. **Type 1** withdrawal credentials: If your validator's withdrawal credentials begin with `0x01...`, you deposited after the Shapella hard fork or already converted your **Type 0** credentials to **Type 1** credentials.
+
+ 
+
+3. **Type 2** withdrawal credentials: This new withdrawal credential type will begin with `0x02...` and will be enabled after Pectra. Validators with **Type 2** withdrawal credentials are sometimes called "**compounding validators**"
+
+| **Allowed** | **Not allowed** |
+| --- | --- |
+| ✅ Type 0 → Type 1 | ❌ Type 0 → Type 2 |
+| ✅ Type 1 → Type 2 | ❌ Type 1 → Type 0 |
+| | ❌ Type 2 → Type 1 |
+| | ❌ Type 2 → Type 0 |
+
+### Risks {#risks}
+
+MaxEB enables a validator to send its entire balance to another validator. Users submitting a consolidation request should verify the source and contents of the transaction they're signing. The official tool for taking advantage of maxEB features is the Launchpad. If you do decide to use a third-party tool, you should verify that:
+
+- The source validator's pubkey and withdrawal address match the validator they control
+- The target validator's pubkey is correct and belongs to them
+- The request is a conversion, not a consolidation, if they don't intend to send funds to another validator
+- The transaction is being signed by the correct withdrawal address
+
+We **strongly recommend** discussing any third-party tool you plan to use with the [EthStaker community](https://ethstaker.org/about). It's a helpful place to sanity-check your approach and avoid mistakes. If you use a malicious or misconfigured tool, **your entire validator balance could be sent to a validator you don't control** — with no way to get it back.
+
+## Technical details {#technical-details}
+
+### The flow {#the-flow}
+
+There will be two uses of the `ConsolidationRequest` operation:
+
+1. Converting an existing validator from a **Type 1** to a **Type 2** validator
+2. Consolidating other validators into an existing **Type 2** validator
+
+In a conversion of a **Type 1** to a **Type 2** validator, both the *source* and *target* will be the validator you are converting. The operation will cost gas and will be queued behind other consolidation requests. This queue is **separate** from the deposit queue and is unaffected by new validator deposits and can be viewed on [pectrified.com](https://pectrified.com/).
+
+To consolidate validators, you must have a *target validator* that has a **Type 2** withdrawal credential. This is the destination of any validator balances being consolidated, and the index being preserved.
+
+### Requirements for converting to Type 2 {#requirements-for-converting-to-type-2}
+
+This will be required for the first validator you convert to **Type 2**. This validator's index is preserved and active. For a conversion, the *source validator* == the *target validator.*
+
+The validator must...
+
+- be active
+- have **Type 1** withdrawal credentials
+- not be in an exiting state (or slashed)
+- not have pending manually-triggered withdrawals (does not apply to sweeps)
+
+
+
+### Requirements for consolidating {#requirements-for-consolidating}
+
+This is the *same operation* as converting but is when the *source validator* is different from the *target validator*. The target validator's index is preserved and accepts the balance from the source validator. The source validator's index is put into an `EXITED` state.
+
+In this case, the source validator has all the same requirements as above plus:
+
+- has been active for at least ~27.3 hours (one `SHARD_COMMITTEE_PERIOD`)
+
+The target validator must
+
+- have **Type 2** withdrawal credentials
+- not be in an exiting state.
+
+
+
+### The consolidation request {#the-consolidation-request}
+
+The consolidation request will be signed by the withdrawal address associated with the source validator and have:
+
+1. Address of the source validator (e.g. `0x15F4B914A0cCd14333D850ff311d6DafbFbAa32b`)
+2. Public key of the source validator (e.g. `0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c`)
+3. Public key of that target validator
+
+In a conversion, 2 & 3 will be the same. This operation can be done on [the Launchpad](https://launchpad.ethereum.org/).
+
+### Signing requirements {#signing-requirements}
+
+To submit a `ConsolidationRequest`, the **withdrawal address of the source validator** must sign the request. This proves control over the validator funds.
+
+### What is signed? {#what-is-signed}
+
+A domain-separated [signing root](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#compute_signing_root) of the `ConsolidationRequest` object is used.
+
+- **Domain:** `DOMAIN_CONSOLIDATION_REQUEST`
+- **Signing root fields:**
+ - `source_pubkey`: `BLSPubkey`
+ - `target_pubkey`: `BLSPubkey`
+ - `source_address`: `ExecutionAddress`
+
+The resulting **BLS signature** is submitted alongside the request.
+
+Note: The signing is done by the withdrawal address, not the validator key.
+
+### Partial withdrawals {#partial-withdrawals}
+
+Validators with **Type 1** credentials get automatic, gasless sweeps of their excess balance (anything over 32 ETH) to their withdrawal address. Because **Type 2** allows a validator to compound balances in 1 ETH increments, it will not automatically sweep balances until it reaches 2048 ETH. Partial withdrawals on **Type 2** validators must be manually triggered and will cost gas.
+
+## Consolidation tooling {#consolidation-tooling}
+
+There are several tools available to manage consolidations. The official tool, created by the Ethereum Foundation, is the [Launchpad](https://launchpad.ethereum.org/en/validator-actions). There are also third-party tools created by entities from the staking community that may offer features not provided by the Launchpad. While the tools here are not audited or endorsed by the Ethereum Foundation, the following are open source tools by known members of the community.
+
+| Tool | Website | Open source | Creator | Audited | Interface | Notable features |
+| --- | --- | --- | --- | --- | --- | --- |
+| Pectra Staking Manager | pectrastaking.com | Yes, Apache 2.0 | [Pier Two](https://piertwo.com/) | No | Web UI | Wallet Connect, works with SAFE |
+| Pectra Validator Ops CLI Tool | [GitHub](https://github.com/Luganodes/Pectra-Batch-Contract) | Yes, MIT | [Luganodes](https://www.luganodes.com/) | Yes, Quantstamp [May 2025](https://certificate.quantstamp.com/full/luganodes-pectra-batch-contract/23f0765f-969a-4798-9edd-188d276c4a2b/index.html) | Command line | Batching, for many validators at once |
+| Ethereal | [GitHub](https://github.com/wealdtech/ethereal) | Yes, Apache 2.0 | [Jim McDonald](https://www.attestant.io/team/) | No | Command line | Full feature set for validator and node management |
+| Siren | [GitHub](https://github.com/sigp/siren) | Yes, Apache 2.0 | [Sigma Prime](https://sigmaprime.io/) | No | Some command line, but primarily web UI | Only works if you're using the Lighthouse consensus client |
+
+## FAQ {#faq}
+
+### Does opting-in change my proposal luck or rewards? {#change-luck-or-rewards}
+
+No. Opting in does not decrease your change of proposal - your duties and proposal selection remain the same. For example, if you have two 32 ETH validators vs one 64 ETH validator, you will have the same total chances of being selected to propose a block and earn rewards.
+
+### Does opting in change my slashing risk? {#change-slashing-risk}
+
+For smaller or unprofessional operators, the short answer is no. The longer answer is that, for professional operators running many validators per node with fast alerting, consolidating into fewer validators may reduce their ability to react to a slashing and prevent cascade events. The initial slashing *penalty* for all validators has been dramatically reduced from 1 ETH (per 32 ETH) to 0.0078125 ETH (per 32 ETH) to offset this risk.
+
+### Do I have to exit my validator to convert? {#exit-validator}
+
+No. You can convert in place without exiting.
+
+### How long will it take to convert / consolidate? {#how-long}
+
+A minimum of 27.3 hours but consolidations are also subject to a queue. This queue is independent of the deposit and withdrawal queues and is not affected by them.
+
+### Can I keep my validator index? {#keep-validator-index}
+
+Yes. In-place conversion keeps the same validator index. If you consolidate multiple validators, you'll only be able to keep the index of the *target validator*.
+
+### Will I miss attestations? {#miss-attestations}
+
+During a consolidation into another validator, the source validator is exited and there is a ~27 hour waiting period before the balance is active on the target validator. This period **does not affect performance metrics**.
+
+### Will I incur penalties? {#incur-penalties}
+
+No. As long as your validator is online, you will not incur penalties.
+
+### Do the withdrawal addresses of the validators being consolidated have to match? {#withdrawal-addresses-match}
+
+No. But the *source* must authorize the request from its own address.
+
+### Will my rewards compound after converting? {#rewards-compound}
+
+Yes. With **Type 2** credentials, rewards above 32 ETH are automatically restaked — but not instantly. Because of a small buffer (called [*hysteresis*](https://eth2book.info/capella/part2/incentives/balances/#hysteresis)), your balance needs to reach **about 1.25 ETH more** before the extra is restaked. So instead of compounding at 33.0 ETH, it happens at 33.25 (effective balance = 33 ETH), then 34.25 (effective balance = 34 ETH), and so on.
+
+### Can I still get automatic sweeps after converting? {#automatic-sweep}
+
+Automatic sweeps will only happen with excess balances over 2048. For all other partial withdrawals, you'll need to manually trigger them.
+
+### Can I change my mind and go back from Type 2 to Type 1? {#go-back-to-type1}
+
+No. Converting to **Type 2** is irreversible.
+
+### If I want to consolidate multiple validators, do I have convert each one to Type 2 first? {#consolidate-multiple-validators}
+
+Nope! Convert one validator to Type 2 then use that as the target. All other validators consolidated into that Type 2 target can be Type 1 or Type 2
+
+### My validator is offline or below 32 ETH - can I still convert it? {#offline-or-below-32eth}
+
+Yes. As long as it's active (not exited) and you can sign with its withdrawal address, you can convert it.
+
+## Resources {#resources}
+
+- [Electra consensus specs](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/beacon-chain.md): This is the 'truest' version that you should rely on. When in doubt, read the specs
+- Not everybody is comfortable wading through code, so [this maxEB-GPT](https://chatgpt.com/g/g-67f1650fb48081918f555e0c8d1c2ae9-maxeb-gpt) can help interpret the specs. *Disclaimer: The specs, not the AI, should be relied on as truth, as the AI may misinterpret information or hallucinate answers*
+- [pectrified.com](https://pectrified.com/): View the state of consolidations, deposits, and queue waiting times
+- [Ethereal](https://github.com/wealdtech/ethereal): Community-created CLI tool for managing common validator tasks
+- [batch-validator-depositor](https://github.com/attestantio/batch-validator-depositor): Community-created contract that allows multiple Ethereum validators to be deposited in a single transaction
diff --git a/public/content/roadmap/scaling/index.md b/public/content/roadmap/scaling/index.md
index ee0a7dcc31e..b484d16ffde 100644
--- a/public/content/roadmap/scaling/index.md
+++ b/public/content/roadmap/scaling/index.md
@@ -1,6 +1,6 @@
---
title: Scaling Ethereum
-description: Rollups batch transactions together off-chain, reducing costs for the user. However, the way rollups currently use data is too expensive, limiting how cheap transactions can be. Proto-Danksharding fixes this.
+description: Rollups batch transactions together offchain, reducing costs for the user. However, the way rollups currently use data is too expensive, limiting how cheap transactions can be. Proto-Danksharding fixes this.
lang: en
image: /images/roadmap/roadmap-transactions.png
alt: "Ethereum roadmap"
@@ -32,7 +32,7 @@ With Proto-Danksharding, it is possible to add many blobs to Ethereum blocks. Th
The second stage of expanding blob data is complicated because it requires new methods for checking rollup data is available on the network and relies on [validators](/glossary/#validator) separating their [block](/glossary/#block) building and block proposal responsibilities. It also requires a way to cryptographically prove that validators have verified small subsets of the blob data.
-This second step is known as [“Danksharding”](/roadmap/danksharding/). **It is likely several years away** from being fully implemented. Danksharding relies on other developments such as [separating block building and block proposal](/roadmap/pbs) and new network designs that enable the network to efficiently confirm that data is available by randomly sampling a few kilobytes at a time, known as [data availability sampling (DAS)](/developers/docs/data-availability).
+This second step is known as ["Danksharding"](/roadmap/danksharding/). Implementation work continues, with progress being made on prerequisites like [separating block building and block proposal](/roadmap/pbs) and new network designs that enable the network to efficiently confirm that data is available by randomly sampling a few kilobytes at a time, known as [data availability sampling (DAS)](/developers/docs/data-availability).
More on Danksharding
@@ -44,9 +44,10 @@ This second step is known as [“Danksharding”](/roadmap/danksharding/). **It
## Current progress {#current-progress}
-Proto-Danksharding is the first of these roadmap items to be implemented as part of the Cancun-Deneb ("Dencun") network upgrade in March of 2024.
-**Full Danksharding is likely several years away**, as it relies upon several other roadmap items being completed first. Decentralizing rollup infrastructure is likely to be a gradual process - there are many different rollups that are building slightly different systems and will fully decentralize at different rates.
+Proto-Danksharding was successfully implemented as part of the Cancun-Deneb ("Dencun") network upgrade in March 2024. Since its implementation, rollups have begun utilizing blob storage, resulting in reduced transaction costs for users and millions of transactions processed in blobs.
-[More on the Dencun network upgrade](/roadmap/dencun/)
+Work on full Danksharding continues, with progress being made on its prerequisites like PBS (Proposer-Builder Separation) and DAS (Data Availability Sampling). Decentralizing rollup infrastructure is a gradual process - there are many different rollups that are building slightly different systems and will fully decentralize at different rates.
-
+[More on the Dencun network upgrade and its impact](/roadmap/dencun/)
+
+
\ No newline at end of file
diff --git a/public/content/roadmap/statelessness/index.md b/public/content/roadmap/statelessness/index.md
index b09a4397e43..4f3d6b7767a 100644
--- a/public/content/roadmap/statelessness/index.md
+++ b/public/content/roadmap/statelessness/index.md
@@ -16,7 +16,7 @@ Cheaper hard drives can be used to store older data but those are too slow to ke
There are several ways to reduce the amount of data each node has to store, each requiring Ethereum's core protocol to be updated to a different extent:
-- **History expiry**: enable nodes to discard state data older than X blocks, but does not change how Ethereum client's handle state data
+- **History expiry**: enable nodes to discard state data older than X blocks, but does not change how Ethereum client's handle state data.
- **State expiry**: allow state data that is not used frequently to become inactive. Inactive data can be ignored by clients until it is resurrected.
- **Weak statelessness**: only block producers need access to full state data, other nodes can verify blocks without a local state database.
- **Strong statelessness**: no nodes need access to the full state data.
diff --git a/public/content/roadmap/verkle-trees/index.md b/public/content/roadmap/verkle-trees/index.md
index a5a466f03a8..ef0611f06c5 100644
--- a/public/content/roadmap/verkle-trees/index.md
+++ b/public/content/roadmap/verkle-trees/index.md
@@ -57,10 +57,12 @@ Verkle tree testnets are already up and running, but there are still substantial
- [Verkle Trees for Statelessness](https://verkle.info/)
- [Dankrad Feist explain Verkle trees on PEEPanEIP](https://www.youtube.com/watch?v=RGJOQHzg3UQ)
+- [Verkle Trees For The Rest Of Us](https://research.2077.xyz/verkle-trees)
+- [Anatomy of A Verkle Proof](https://ihagopian.com/posts/anatomy-of-a-verkle-proof)
- [Guillaume Ballet explain Verkle trees at ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
- ["How Verkle trees make Ethereum lean and mean" by Guillaume Ballet at Devcon 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
- [Piper Merriam on stateless clients from ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4)
-- [Dankrad Fiest explains Verkle trees and statelessness on Zero Knowledge podcast](https://zeroknowledge.fm/episode-202-stateless-ethereum-verkle-tries-with-dankrad-feist/)
+- [Dankrad Fiest explains Verkle trees and statelessness on Zero Knowledge podcast](https://zeroknowledge.fm/podcast/202/)
- [Vitalik Buterin on Verkle trees](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
- [Dankrad Feist on Verkle trees](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
- [Verkle tree EIP documentation](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
diff --git a/public/content/smart-contracts/index.md b/public/content/smart-contracts/index.md
index 64bf7d73a62..ce04a3ee8b8 100644
--- a/public/content/smart-contracts/index.md
+++ b/public/content/smart-contracts/index.md
@@ -1,11 +1,16 @@
---
title: Smart contracts
+metaTitle: "Smart contracts: What are the and benefits"
description: A non-technical introduction to smart contracts
lang: en
---
# Introduction to smart contracts {#introduction-to-smart-contracts}
+
+
+
+
Smart contracts are the fundamental building blocks of Ethereum's application layer. They are computer programs stored on the [blockchain](/glossary/#blockchain) that follow "if this then that" logic, and are guaranteed to execute according to the rules defined by its code, which cannot be changed once created.
Nick Szabo coined the term "smart contract". In 1994, he wrote [an introduction to the concept](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html), and in 1996 he wrote [an exploration of what smart contracts could do](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html).
@@ -69,14 +74,17 @@ They can perform computations, create currency, store data, mint [NFTs](/glossar
- [Stablecoins](/stablecoins/)
- [Creating and distributing unique digital assets](/nft/)
- [An automatic, open currency exchange](/get-eth/#dex)
-- [Decentralized gaming](/dapps/?category=gaming#explore)
+- [Decentralized gaming](/apps/?category=gaming#explore)
- [An insurance policy that pays out automatically](https://etherisc.com/)
- [A standard that lets people create customized, interoperable currencies](/developers/docs/standards/tokens/)
## Further reading {#further-reading}
- [How Smart Contracts Will Change the World](https://www.youtube.com/watch?v=pA6CGuXEKtQ)
-- [Smart Contracts: The Blockchain Technology That Will Replace Lawyers](https://blockgeeks.com/guides/smart-contracts/)
- [Smart contracts for developers](/developers/docs/smart-contracts/)
- [Learn to write smart-contracts](/developers/learning-tools/)
- [Mastering Ethereum - What is a Smart Contract?](https://github.com/ethereumbook/ethereumbook/blob/develop/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract)
+
+
+
+
\ No newline at end of file
diff --git a/public/content/social-networks/index.md b/public/content/social-networks/index.md
index 9cee0377816..091121d5574 100644
--- a/public/content/social-networks/index.md
+++ b/public/content/social-networks/index.md
@@ -23,7 +23,7 @@ Many decentralized social networks exist as alternatives to established social m
### How do decentralized social networks work? {#decentralized-social-networks-overview}
-Decentralized social networks are a class of [decentralized applications (dapps)](/dapps/)—applications powered by [smart contracts](/glossary/#smart-contract) deployed on the blockchain. The contract code serves as the backend for these apps and defines their business logic.
+Decentralized social networks are a class of [decentralized applications (dapps)](/apps/)—applications powered by [smart contracts](/glossary/#smart-contract) deployed on the blockchain. The contract code serves as the backend for these apps and defines their business logic.
Traditional social media platforms rely on databases to store user information, program code, and other forms of data. But this creates single points-of-failure and introduces significant risk. For instance, Facebook's servers infamously [went offline for hours](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) in October 2021, cutting off users from the platform.
@@ -74,15 +74,13 @@ Users use the platform's native [ERC-20](/glossary/#erc-20) token $MIND to pay f
## Web2 social networks on Ethereum {#web2-social-networks-and-ethereum}
-[Web3](/glossary/#web3) native social platforms aren't the only ones trying to incorporate blockchain technology into social media. Many centralized platforms are also planning to integrate Ethereum into their infrastructure:
+[Web3](/glossary/#web3) native social platforms aren't the only ones trying to incorporate blockchain technology into social media. Many centralized platforms are also exploring or have experimented with integrating Ethereum into their infrastructure:
### Reddit {#reddit}
-Reddit has [touted Community Points](https://cointelegraph.com/news/reddit-to-reportedly-tokenize-karma-points-and-onboard-500m-new-users), which are ERC-20 tokens that users can earn by posting quality content and contributing to online communities (subreddits). You can redeem these tokens within a subreddit to get exclusive privileges and perks. For this project, Reddit is working with Arbitrum, a [layer 2](/glossary/#layer-2) network designed to scale Ethereum transactions.
-
-The program is already live, with the r/CryptoCurrency subreddit [running its version of Community Points called "Moons"](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki). Per the official description, Moons "reward posters, commenters, and moderators for their contributions to the subreddit." Because these tokens are on the blockchain (users receive them in wallets), they are independent of Reddit and cannot be taken away.
-
-Besides using Community Points to unlock special features, users can also trade them for fiat on exchanges. Also, the amount of Community Points a user owns determines their influence on the decision-making process within the community.
+- Reddit previously experimented with **Community Points**, which were ERC-20 tokens users could earn by posting quality content and contributing to specific online communities (subreddits). Users could redeem these tokens within a subreddit for exclusive perks or trade them. For this project, Reddit utilized Arbitrum Nova, a [layer 2](/glossary/#layer-2) network designed to scale Ethereum transactions.
+- The program was notably active in the r/CryptoCurrency subreddit with its "Moons" and the r/FortNiteBR subreddit with its "Bricks". Because these tokens were on the blockchain, they were independent of Reddit once claimed into a user's [wallet](/glossary/#wallet).
+- However, **Reddit [sunsetted the Community Points program](https://www.reddit.com/r/CryptoCurrency/comments/17a33ql/reddit_is_officially_deprecating_community_points/) in late 2023**, citing scalability and resource challenges. While the tokens still exist on the blockchain, Reddit no longer actively supports or integrates them into its platform features.
## Further reading {#further-reading}
@@ -103,4 +101,4 @@ Besides using Community Points to unlock special features, users can also trade
### Communities {#communities}
-- [r/CryptoCurrency subreddit](https://www.reddit.com/r/CryptoCurrency/)
+- [r/CryptoCurrency subreddit](https://www.reddit.com/r/CryptoCurrency/)
\ No newline at end of file
diff --git a/public/content/staking/pools/index.md b/public/content/staking/pools/index.md
index aa2611d076d..e7cdc71ea71 100644
--- a/public/content/staking/pools/index.md
+++ b/public/content/staking/pools/index.md
@@ -17,7 +17,7 @@ summaryPoints:
Staking pools are a collaborative approach to allow many with smaller amounts of ETH to obtain the 32 ETH required to activate a set of validator keys. Pooling functionality is not natively supported within the protocol, so solutions were built out separately to address this need.
-Some pools operate using smart contracts, where funds can be deposited to a contract, which trustlessly manages and tracks your stake, and issues you a token that represents this value. Other pools may not involve smart contracts and are instead mediated off-chain.
+Some pools operate using smart contracts, where funds can be deposited to a contract, which trustlessly manages and tracks your stake, and issues you a token that represents this value. Other pools may not involve smart contracts and are instead mediated offchain.
## Why stake with a pool? {#why-stake-with-a-pool}
diff --git a/public/content/staking/saas/index.md b/public/content/staking/saas/index.md
index ef0a6865b73..34d43c0d1bc 100644
--- a/public/content/staking/saas/index.md
+++ b/public/content/staking/saas/index.md
@@ -74,7 +74,7 @@ Updating withdrawal credentials is a required step to enable withdrawals\*. This
-Staking withdrawals were implemented in the Shanghai/Capella upgrade in April 2023. Stakers need to provide a withdrawal address (if not provided on initial deposit), and reward payments will begin being distributed automatically on a periodic basis every few days.
+Stakers need to provide a withdrawal address (if not provided on initial deposit), and reward payments will begin being distributed automatically on a periodic basis every few days.
Validators can also fully exit as a validator, which will unlock their remaining ETH balance for withdrawal. Accounts that have provided an execution withdrawal address and completed the exiting process will receive their entire balance to the withdrawal address provided during the next validator sweep.
diff --git a/public/content/staking/solo/index.md b/public/content/staking/solo/index.md
index 5b4a0ba5cf0..372c34e774a 100644
--- a/public/content/staking/solo/index.md
+++ b/public/content/staking/solo/index.md
@@ -25,7 +25,7 @@ Home stakers are responsible for operating the hardware needed to run these clie
A home staker receives rewards directly from the protocol for keeping their validator properly functioning and online.
-## Why stake home? {#why-stake-solo}
+## Why stake from home? {#why-stake-solo}
Home staking comes with more responsibility but provides you with maximum control over your funds and staking setup.
@@ -134,9 +134,13 @@ A validator is a virtual entity that lives on Ethereum and participates
-Each key-pair associated with a validator requires exactly 32 ETH to be activated. More ETH deposited to a single set of keys does not increase rewards potential, as each validator is limited to an effective balance of 32 ETH. This means that staking is done in 32 ETH increments, each with it's own set of keys and balance.
+Yes, modern validator accounts are capable of holding up to 2048 ETH. Additional ETH over 32 will compound in a step-wise manner, increasing in whole-number increments as your true balance increases. This is known as your effective balance.
-Do not deposit more than 32 ETH for a single validator. It will not increase your rewards. If a withdrawal address has been set for the validator, excess funds over 32 ETH will be automatically withdrawn to this address during the next validator sweep.
+To increase the effective balance of an account, and thus increase rewards, a buffer of 0.25 ETH above any full-ETH threshold must be crossed. For example, an account with a true balance of 32.9 and an effective balance of 32 would need to earn another 0.35 ETH to bring it's true balance above 33.25 before triggering an increase in effective balance.
+
+This buffer prevents also prevents an effective balance from dropping until it has gone 0.25 ETH below it's current effective balance.
+
+Each key-pair associated with a validator requires at least 32 ETH to be activated. Any balance above this may be withdrawn to the associated withdrawal address at any time via a transaction signed by this address. Any funds over the maximum effective balance will automatically be withdrawn on a periodic basis.
If home staking seems too demanding for you, consider using a staking-as-a-service provider, or if you're working with less than 32 ETH, check out the staking pools.
@@ -203,4 +207,4 @@ To unlock and receive your entire balance back you must also complete the proces
- [Step by Step: How to join the Ethereum 2.0 Testnet](https://kb.beaconcha.in/guides/tutorial-eth2-multiclient) - _Butta_
- [Eth2 Slashing Prevention Tips](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) - _Raul Jordan 2020_
-
+
diff --git a/public/content/staking/withdrawals/index.md b/public/content/staking/withdrawals/index.md
index fb07f152f8a..00375c936e0 100644
--- a/public/content/staking/withdrawals/index.md
+++ b/public/content/staking/withdrawals/index.md
@@ -13,10 +13,6 @@ summaryPoints:
- Validators who fully exit staking will receive their remaining balance
---
-
-Staking withdrawals were enabled with the Shanghai/Capella upgrade which occurred on April 12, 2023. More about Shanghai/Capella
-
-
**Staking withdrawals** refer to transfers of ETH from a validator account on Ethereum's consensus layer (the Beacon Chain), to the execution layer where it can be transacted with.
**Reward payments of excess balance** over 32 ETH will automatically and regularly be sent to a withdrawal address linked to each validator, once provided by the user. Users can also **exit staking entirely**, unlocking their full validator balance.
@@ -59,9 +55,9 @@ The process of a validator exiting from staking takes variable amounts of time,
Once an account is flagged as "withdrawable", and withdrawal credentials have been provided, there is nothing more a user needs to do aside from wait. Accounts are automatically and continuously swept by block proposers for eligible exited funds, and your account balance will be transferred in full (also known as a "full withdrawal") during the next sweep.
-## When are staking withdrawals enabled? {#when}
+## When were staking withdrawals enabled? {#when}
-Staking withdrawals are live! Withdrawal functionality was enabled as part of the Shanghai/Capella upgrade which occurred on April 12, 2023.
+Withdrawal functionality was enabled as part of the Shanghai/Capella upgrade which occurred on** April 12, 2023**.
The Shanghai/Capella upgrade enabled previously staked ETH to be reclaimed into regular Ethereum accounts. This closed the loop on staking liquidity, and brought Ethereum one step closer on its journey towards building a sustainable, scalable, secure decentralized ecosystem.
diff --git a/public/content/terms-of-use/index.md b/public/content/terms-of-use/index.md
index 5d172c4a6f0..e70cbbd55f8 100644
--- a/public/content/terms-of-use/index.md
+++ b/public/content/terms-of-use/index.md
@@ -33,7 +33,7 @@ Your continued use of the Websites following the posting of revised Terms of Use
**Accessing the Websites and Account Security**
-We reserve the right to withdraw or amend the Websites, and any service or material we provide on the Websites, in our sole discretion without notice. We do not guarantee that our Websites or any content on them will always be available or be interrupted. We will not be liable if for any reason all or any part of the Websites are unavailable at any time or for any period. From time to time, we may restrict access to some parts of the Websites, or entire Websites, to users.
+We reserve the right to withdraw or amend the Websites, and any service or material we provide on the Websites, in our sole discretion without notice. We do not guarantee that our Websites or any content on them will always be available or not be interrupted. We will not be liable if for any reason all or any part of the Websites are unavailable at any time or for any period. From time to time, we may restrict access to some parts of the Websites, or entire Websites, to users.
You are responsible for:
diff --git a/public/content/translations/ar/dao/index.md b/public/content/translations/ar/dao/index.md
index bf7222be852..0293e0dd16a 100644
--- a/public/content/translations/ar/dao/index.md
+++ b/public/content/translations/ar/dao/index.md
@@ -93,7 +93,7 @@ summaryPoint3: مكان آمن لتخصيص أموال لسبب محدد.
### مثال شهير {#law-example}
-[CityDAO](https://citydao.io) – استخدمت CityDAO قانون المنظمات المستقلة اللامركزية الذي وضعته ولاية وايومنغ لشراء 40 فدانًا من الأراضي بالقرب من متنزه يلوستون الوطني.
+[CityDAO](https://citizen.citydao.io/) – استخدمت CityDAO قانون المنظمات المستقلة اللامركزية الذي وضعته ولاية وايومنغ لشراء 40 فدانًا من الأراضي بالقرب من متنزه يلوستون الوطني.
## عضوية المنظمات المستقلة اللامركزية {#dao-membership}
diff --git a/public/content/translations/ar/decentralized-identity/index.md b/public/content/translations/ar/decentralized-identity/index.md
index e285bdce062..016d646d2c1 100644
--- a/public/content/translations/ar/decentralized-identity/index.md
+++ b/public/content/translations/ar/decentralized-identity/index.md
@@ -160,7 +160,7 @@ summaryPoint3: بفضل العملات الرقمية، أصبح لدى المس
- **[خدمة مصادقة إثيريوم (EAS)](https://attest.sh/)** - _دفتر الأستاذ/البروتوكول اللامركزي لعمل المصادقات ضمن السلسلة أو خارج السلسلة بخصوص أي شيء._
- **[إثبات الإنسانية](https://www.proofofhumanity.id)** - _إثبات الإنسانية (أو poH) هو نظام للتحقق من الهوية الاجتماعية مبني على إثيريوم._
- **[BrightID](https://www.brightid.org/)** - _ شبكة الهوية الاجتماعية اللامركزية مفتوحة المصدر تسعى إلى إصلاح التحقق من الهوية من خلال إنشاء مخطط اجتماعي وتحليله._
-- **[ جواز إثبات الشخصية](https://proofofpersonhood.com/)** - _مجمع للهوية الرقمية اللامركزية_
+- **[ جواز إثبات الشخصية](https://passport.human.tech/)** - _مجمع للهوية الرقمية اللامركزية_
## قراءة إضافية {#further-reading}
diff --git a/public/content/translations/ar/defi/index.md b/public/content/translations/ar/defi/index.md
index 67f1747c7f2..2693f1f3ee4 100644
--- a/public/content/translations/ar/defi/index.md
+++ b/public/content/translations/ar/defi/index.md
@@ -47,7 +47,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
| الأسواق مفتوحة دائمًا. | الأسواق تغلق لأن الموظفين يحتاجون إلى فترات راحة. |
| إنه مبني على الشفافية - يمكن لأي شخص الاطلاع على بيانات المنتج وفحص كيفية عمل النظام. | المؤسسات المالية عبارة عن دفاتر مغلقة: لا يمكنك أن تطلب الاطلاع على سجل قروضها، وسجل أصولها المدارة، وما إلى ذلك. |
-
+
استكشف تطبيقات التمويل اللامركزي دي فاي (DeFi)
@@ -65,7 +65,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
استكشف اقتراحاتنا لتطبيقات التمويل اللامركزي دي فاي (DeFi) التي يمكن تجربتها إذا كنت جديدًا على إيثريوم.
-
+
استكشف النظام المالي اللامركزي (DeFi)
@@ -92,7 +92,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
كسلسلة بلوكتشين، صممت إيثريوم لإرسال المعاملات بطريقة آمنة وعالمية. مثل عملة بيتكوين، إيثريوم يجعل إرسال الأموال حول العالم سهلاً مثل إرسال البريد الإلكتروني. فقط أدخل [اسم ENS](/glossary/#ens) للطرف المستلم (مثل bob.eth) أو عنوان الحساب الخاص به من محفظتك، وسوف تنتقل المدفوعات الخاصة بك إليه مباشرة في دقائق (عادةً). لإرسال أو تلقي المدفوعات، ستحتاج إلى [محفظة](/wallets/).
-
+
شاهد تطبيقات الدفع اللامركزية
@@ -123,7 +123,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
- النظير إلى النظير: ويعني أن المقترض سيقترض من مقرض معين مباشرة.
- الاقتراض القائم على مُجمع، حيث يقوم المقرضون بتوفير أموال (سيولة) لمُجمع يمكن للمقترضين الاقتراض منه.
-
+
اطلع على تطبيقات الاقتراض اللامركزية
@@ -168,7 +168,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
لكن لتتمكن من تنفيذ المثال المذكور أعلاه في عالم التمويل التقليدي، ستحتاج إلى مبلغ هائل من المال. ولا يتاح هذا النوع من إستراتيجيات كسب الأموال إلا لمن لديهم ثروات قائمة. القروض السريعة مثال على مستقبل لا يكون فيه وجود المال شرطًا مسبقًا ضروريًا لكسب المال.
-
+
المزيد عن القروض السريعة
@@ -185,7 +185,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
- ستزيد قيمة aDai لديك بناءً على معدلات الفائدة وستتمكن من ملاحظة رصيدك ينمو في محفظتك. واعتمادًا على [معدل النسبة المئوية السنوية](/glossary/#apr)، سيعرض رصيد محفظتك شيئًا مثل 100.1234 بعد بضعة أيام أو حتى ساعات!
- ثم يمكنك سحب مبلغ من Dai القياسي يعادل رصيد aDai الخاص بك في أي وقت.
-
+
اطلع على التطبيقات اللامركزية للإقراض
@@ -213,7 +213,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
على سبيل المثال، إذا كنت ترغب في استخدام اليانصيب دون خسارة PoolTogether (الموصوف أعلاه)، فستحتاج إلى رمز مميز مثل Dai أو USDC. تسمح لك منصات التبادل اللامركزية هذه باستبدال عملة ETH مقابل هذه الرموز المميزة واستردادها لاحقًا عندما تنتهي.
-
+
اطلع على منصات تبادل الرموز المميزة
@@ -225,7 +225,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
فعندما تُستخدم منصة تبادل مركزية، عليك أن تودع أصولك قبل التداول، وأن تثق بأن هذه المنصات ستعتني بالأصول. عندما تكون أصولك مودعة، فهي معرضة للخطر لأن منصات التبادل المركزية هي أهداف جذابة للقراصنة.
-
+
اطلع على التطبيقات اللامركزية للتداول
@@ -237,7 +237,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
ومن الأمثلة الجيدة على ذلك [تمويل مؤشر دي فاي بلس (DPI)](https://defipulse.com/blog/defi-pulse-index/). هذا تمويل يعيد توازن الرصيد تلقائيًا لضمان أن محفظتك تحتوى دائمًا على أعلى رموز التمويل اللامركزي دي فاي (DeFi) في رأسمالية السوق. لا تحتاج أبدًا إلى إدارة أي من التفاصيل ويمكنك السحب من الأموال متى ما رغبت.
-
+
شاهد التطبيقات اللامركزية للاستثمار
@@ -251,7 +251,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
- إنها تتمتع بالشفافية بحيث يستطيع جامعو الأموال أن يثبتوا مقدار الأموال التي تم جمعها. يمكنك حتى تتبع كيفية إنفاق هذه الأموال لاحقًا في المستقبل.
- ويمكن لجامعي الأموال إعداد مدفوعات الاسترداد تلقائيًا، على سبيل المثال، إذا كان هناك موعد نهائي محدد وحد أدنى للمبلغ لم يتم الوفاء به.
-
+
اطلع على التطبيقات اللامركزية للتمويل الجماعي
@@ -280,7 +280,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
يمكن لمنتجات إيثريوم، حالها حال جميع البرامج، أن تعاني من الأخطاء والاستغلال. لذا فإن الكثير من منتجات التأمين الموجودة حاليًا في المجال تركز على حماية مستخدميها من فقدان أموالهم. إلا أن هناك مشاريع بدأت ببناء تغطية لكل ما يمكن للحياة أن تفاجئنا به. ومن الأمثلة الجيدة على ذلك تغطية Etherisc's Crop الذي يهدف إلى [حماية صغار المزارعين في كينيا من الجفاف والفيضانات](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). ويمكن للتأمين اللامركزي أن يوفر تغطية أرخص للمزارعين الذين كثيرًا ما يواجهون أسعارًا باهظة في التأمين التقليدي.
-
+
اطلع على تطبيقات التأمين اللامركزية
@@ -290,7 +290,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
مع الكثير من الأحداث، ستحتاج إلى طريقة لتتبع جميع استثماراتك، وقروضك، وتداولاتك. هناك مجموعة من المنتجات التي تسمح لك بتنسيق جميع أنشطة التمويل اللامركزي دي فاي (DeFi) الخاصة بك من مكان واحد. هذا ما تمتاز به البنية المفتوحة للتمويل اللامركزي دي فاي (DeFi). يمكن للفرق بناء واجهات تتيح لك الاطلاع على أرصدتك عبر المنتجات، كما يمكنك استخدام ميزاتها أيضًا. قد تجد هذا مفيدًا وأنت تستكشف المزيد عن التمويل اللامركزي دي فاي (DeFi).
-
+
اطلع على التطبيقات اللامركزية للحافظات
@@ -322,7 +322,7 @@ summaryPoint3: استنادًا إلى التكنولوجيا مفتوحة ال
1. سلسلة البلوكتشين - يحتوي إيثريوم على تاريخ المعاملات وحالة الحسابات.
2. الأصول - عملة [ETH](/eth/) والرموز المميزة الأخرى (العملات).
3. البروتوكولات - [العقود الذكية](/glossary/#smart-contract) التي تقدم وظيفة، على سبيل المثال خدمة تسمح بالإقراض اللامركزي للأصول.
-4. [التطبيقات](/dapps/) - المنتجات التي نستخدمها لإدارة البروتوكولات والوصول إليها.
+4. [التطبيقات](/apps/) - المنتجات التي نستخدمها لإدارة البروتوكولات والوصول إليها.
ملاحظة: العديد من عمليات التمويل اللامركزي دي فاي (DeFi) تستخدم [معيار ERC-20](/glossary/#erc-20). تستخدم التطبيقات في التمويل اللامركزي دي فاي (DeFi) غلافًا لـ ETH يُسمى Wrapped Ether (WETH). [تعرف على المزيد عن Wrapped Ether](/wrapped-eth).
diff --git a/public/content/translations/ar/desci/index.md b/public/content/translations/ar/desci/index.md
index 276c6881e16..96644927ab6 100644
--- a/public/content/translations/ar/desci/index.md
+++ b/public/content/translations/ar/desci/index.md
@@ -96,7 +96,7 @@ Web3 لديه القدرة على تعطيل نموذج التمويل المع
- [VitaDAO: تلقي التمويل من خلال اتفاقيات البحث المدعومة للأبحاث طويلة العمر](https://www.vitadao.com/)
- [ResearchHub: انشر نتيجة علمية وانخرط في محادثة مع نظرائك](https://www.researchhub.com/)
- [LabDAO: إدماج البروتين في الحاسوب](https://alphafodl.vercel.app/)
-- [dClimate API: الاستعلام عن البيانات المناخية التي تم جمعها من قبل مجتمع لامركزي](https://api.dclimate.net/)
+- [dClimate API: الاستعلام عن البيانات المناخية التي تم جمعها من قبل مجتمع لامركزي](https://www.dclimate.net/)
- [DeSci Foundation: منشئ أداة نشر العلوم اللامركزية](https://descifoundation.org/)
- [DeSci.World: متجر شامل يتيح للمستخدمين عرض العلوم اللامركزية والتفاعل معها](https://desci.world)
- [Fleming Protocol: اقتصاد بيانات مفتوحة المصدر يغذي اكتشاف الطب الحيوي التعاوني](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd)
@@ -120,7 +120,7 @@ Web3 لديه القدرة على تعطيل نموذج التمويل المع
- [دليل للتكنولوجيا الحيوية اللامركزية بقلم جوسلين بيرل لمستقبل a16z](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [حالة العلوم اللامركزية](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [دليل إلى العلوم اللامركزية](https://future.com/what-is-decentralized-science-aka-desci/)
-- [موارد العلوم اللامركزية](https://www.vincentweisser.com/decentralized-science)
+- [موارد العلوم اللامركزية](https://www.vincentweisser.com/desci)
- [Molecule's Biopharma IP-NFTs - وصف تقني](https://molecule.to/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [بناء أنظمة علمية غير موثوقة بقلم جون ستار](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [ظهور DAOs للتكنولوجيا الحيوية](https://molecule.to/blog/the-emergence-of-biotech-daos)
diff --git a/public/content/translations/ar/enterprise/index.md b/public/content/translations/ar/enterprise/index.md
index aa738ec4be7..d2507587392 100644
--- a/public/content/translations/ar/enterprise/index.md
+++ b/public/content/translations/ar/enterprise/index.md
@@ -40,7 +40,7 @@ lang: ar
- [Blockapps](https://blockapps.net/) _تنفيذ بروتوكول إيثريوم للمؤسسات وأدوات وAPIs من منصة STRATO_
- [Clearmatics](https://www.clearmatics.com/about) _بروتوكولات وبنية منصة نظراء، سلسلة كتل R&D للشركة_
- [PegaSys Plus](https://pegasys.tech/enterprise/) _يوفر نفس ميزات ووظائف HF Besu، بالإضافة إلى فوائد إضافية تركز على المؤسسة_
-- [Quorum](https://www.goquorum.com/) _منصة سلسلة كتل مفتوحة المصدر تجمع بين ابتكار مجتمع إيثريوم العام وتحسينات لدعم احتياجات المؤسسة_
+- [Quorum](https://docs.goquorum.consensys.io/) _منصة سلسلة كتل مفتوحة المصدر تجمع بين ابتكار مجتمع إيثريوم العام وتحسينات لدعم احتياجات المؤسسة_
## البروتوكول والبنية التحتية {#protocol-and-infrastructure}
@@ -63,7 +63,7 @@ lang: ar
- [Ernst & Young's ‘Nightfall'](https://github.com/EYBlockchain/nightfall) _المزيد من المعلومات [هنا](https://bravenewcoin.com/insights/ernst-and-young-rolls-out-'nightfall-to-enable-private-transactions-on)_
- [Pegasys' Orion](https://docs.pantheon.pegasys.tech/en/stable/Concepts/Privacy/Privacy-Overview/) _المزيد من المعلومات [هنا](https://pegasys.tech/privacy-in-pantheon-how-it-works-and-why-your-enterprise-should-care/)_
-- [Quorum's Tessera](https://docs.goquorum.com/en/latest/Privacy/Tessera/Tessera/) _المزيد من المعلومات [هنا](https://github.com/jpmorganchase/tessera/wiki/How-Tessera-works)_
+- [Quorum's Tessera](https://docs.goquorum.consensys.io/concepts/privacy#private-transaction-manager/) _المزيد من المعلومات [هنا](https://github.com/jpmorganchase/tessera/wiki/How-Tessera-works)_
### الأمان {#security}
@@ -73,7 +73,7 @@ lang: ar
### الأدوات {#tooling}
- [Alethio](https://explorer.aleth.io/) _منصة لتحليل البيانات بواسطة إيثريوم_
-- [Treum](https://treum.io/) _جلب الشفافية وقابلية التتبع وقابلية الإتجار لسلالس الإمداد، باستخدام تقنية سلسلة الكتل_
+- [Treum](https://consensys.io/blog/consensys-acquires-treum) _جلب الشفافية وقابلية التتبع وقابلية الإتجار لسلالس الإمداد، باستخدام تقنية سلسلة الكتل_
## المجتمع المؤسسي للمطورين {#enterprise-developer-community}
diff --git a/public/content/translations/ar/refi/index.md b/public/content/translations/ar/refi/index.md
index ab5ec7855c1..49a26123a40 100644
--- a/public/content/translations/ar/refi/index.md
+++ b/public/content/translations/ar/refi/index.md
@@ -47,7 +47,7 @@ summaryPoint3: أداة تسهم في توسع الأصول الإيكولوجي
- **حيث تتركز السيولة النقدية ضمن أعداد قليلة من مجموعات السيولة النقدية** والتي يمكن أن يداولها الجميع بحرية. المستخدمون الفرديون والمؤسسات على حد سواء يمكنهم استخدام هذه المجموعات، من دون الحاجة إلى البحث اليدوي عن بائع/مشترٍ، دفع رسوم المشاركة، أو حتى التسجيل المسبق.
- **كما أن جميع المعاملات مسجلة على بلوكتشين عامة**. يمكن تتبع المسار، الناتج عن أنشطة التداول، الذي يسلكه كل رصيد كربوني إلى الأبد بمجرد توافره في أسواق الكربون الرقمية.
- **ناهيك عن أن سرعة المعاملة تكاد أن تكون فورية**. قد تستغرق عملية الحصول على كمية كبيرة من الحصص الكربونية من الأسواق التقليدية أيامًا أو أسابيع بينما تستغرق نفس العملية بضع لحظات في أسواق الكربون الرقمية.
-- **تحدث عملية التداول بدون وسطاء**، الذين يفرضون رسومًا باهظة. فبالاستناد الى بيانات إحدى شركات التحليلات،[ تحسن الحصص الكربونية الرقمية التكلفة بنسبة ٦٢%، بالمقارنة مع الحصص التقليدية](https://www.klimadao.finance/blog/klimadao-analysis-of-the-base-carbon-tonne).
+- **تحدث عملية التداول بدون وسطاء**، الذين يفرضون رسومًا باهظة. فبالاستناد الى بيانات إحدى شركات التحليلات،[ تحسن الحصص الكربونية الرقمية التكلفة بنسبة ٦٢%، بالمقارنة مع الحصص التقليدية](https://www.klimadao.finance/resources/klimadao-impact-report-analysis-of-the-base-carbon-tonne).
- يتميز **سوق الكربون الرقمية بقابلية التطور** التي تسطيع تلبية احتياجات الأفراد والشركات متعددة الجنسيات.
### العناصر الرئيسة لأسواق الكربون الرقمية {#key-components-dcm}
diff --git a/public/content/translations/ar/smart-contracts/index.md b/public/content/translations/ar/smart-contracts/index.md
index 455945e9011..53ec6ba52ef 100644
--- a/public/content/translations/ar/smart-contracts/index.md
+++ b/public/content/translations/ar/smart-contracts/index.md
@@ -69,7 +69,7 @@ lang: ar
- [عملات ثابتة](/stablecoins/)
- [إنشاء أصول رقمية فريدة وتوزيعها](/nft/)
- [منصة تبادل عملات مفتوحة ومؤتمتة](/get-eth/#dex)
-- [ألعاب الفيديو اللامركزية](/dapps/?category=gaming#explore)
+- [ألعاب الفيديو اللامركزية](/apps/?category=gaming#explore)
- [بوليصة تأمين تقوم بالسداد تلقائيًا](https://etherisc.com/)
- [معيار قياسي يتيح للأشخاص إنشاء عملات مخصصة وقابلة للتشغيل المتبادل](/developers/docs/standards/tokens/)
diff --git a/public/content/translations/ar/social-networks/index.md b/public/content/translations/ar/social-networks/index.md
index 6dbe01451b5..7e73efa2ffe 100644
--- a/public/content/translations/ar/social-networks/index.md
+++ b/public/content/translations/ar/social-networks/index.md
@@ -21,7 +21,7 @@ summaryPoint3: الرموز المميزة و NFTs تنشئ أساليب جدي
### كيف تعمل شبكات التواصل الاجتماعية اللامركزية؟ {#decentralized-social-networks-overview}
-الشبكات الاجتماعية اللامركزية هي فئة من [التطبيقات اللامركزية](/dapps/)-أي التطبيقات المدعومة [بالعقود الذكية](/developers/docs/smart-contracts/) المنشورة على سلسلة الكتل. يعمل النص البرمجي للعقد الذكي كواجهة خلفية لهذه التطبيقات ويحدد منطق أعمالها.
+الشبكات الاجتماعية اللامركزية هي فئة من [التطبيقات اللامركزية](/apps/)-أي التطبيقات المدعومة [بالعقود الذكية](/developers/docs/smart-contracts/) المنشورة على سلسلة الكتل. يعمل النص البرمجي للعقد الذكي كواجهة خلفية لهذه التطبيقات ويحدد منطق أعمالها.
تعتمد منصات التواصل الاجتماعي التقليدية على قواعد البيانات لتخزين معلومات المستخدم، والنص البرمجي، وأشكال أخرى من البيانات. ولكن هذا يؤدي لنقطة ضعف ويسبب مخاطر كبيرة. على سبيل المثال، خوادم Facebook السخيفة [انفصلت لعدة ساعات](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) في العام الماضي، فقطعت المستخدمين عن المنصة.
@@ -105,7 +105,7 @@ summaryPoint3: الرموز المميزة و NFTs تنشئ أساليب جدي
- [Web3 holds the promise of decentralized, community-powered social networks (يبشر Web3 بشبكات اجتماعية لامركزية مدعومة من المجتمع](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) - _سوميت جوش_
- [An Overview of the Blockchain Social Media Landscape (نظرة عامة على وسائل التواصل الاجتماعي لسلسلة الكتلة](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_
- [How Blockchain Can Solve Social Media Privacy (كيف يمكن لسلسلة الكتل أن تحل مشكلة الخصوصية في وسائل التواصل الاجتماعي)](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _برابلين باجباي_
-- [Social Media Networks Are Coming To The Blockchain (انتقال وسائل التواصل الاجتماعي إلى سلسلة الكتل](https://businesstechguides.co/what-are-decentralized-social-networks) — _إيمانويل أوسيكا_
+- [Social Media Networks Are Coming To The Blockchain (انتقال وسائل التواصل الاجتماعي إلى سلسلة الكتل](https://eawosika.com/what-are-decentralized-social-networks) — _إيمانويل أوسيكا_
- [Sufficient Decentralization for Social Networks (لامركزية كافية للشبكات الاجتماعية](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) _فارون سرينيفاسان_
### مقاطع الفيديو {#videos}
diff --git a/public/content/translations/ar/web3/index.md b/public/content/translations/ar/web3/index.md
index 64e080d7b7f..c7c1a0b40c6 100644
--- a/public/content/translations/ar/web3/index.md
+++ b/public/content/translations/ar/web3/index.md
@@ -139,7 +139,7 @@ OnlyFans هو موقع محتوى للبالغين تم إنشاؤه بواسط
- [احصل على محفظة](/wallets/)
- [ابحث عن مجتمع](/community/)
-- [استكشف تطبيقات الإصدار الثالث من الويب Web3](/dapps/)
+- [استكشف تطبيقات الإصدار الثالث من الويب Web3](/apps/)
- [الإنضمام إلى DAO](/dao/)
- [ابنِ على الإصدار الثالث من الويب Web3](/developers/)
@@ -147,11 +147,11 @@ OnlyFans هو موقع محتوى للبالغين تم إنشاؤه بواسط
لا يوجد تعريف دقيق للإصدار الثالث من الويب Web3. فلدى مختلف المشاركين في المجتمع وجهات نظر مختلفة بشأن هذا الموضوع. هنا يوجد بعض من وجهات النظر تلك:
-- [ما هو الإصدار الثالث من الويب Web3؟ شرح إنترنت المستقبل اللامركزي](https://www.freecodecamp.org/news/what-is-web3/) – _نادر ضبيط_
+- [ما هو الإصدار الثالث من الويب Web3؟ شرح إنترنت المستقبل اللامركزي](https://www.freecodecamp.org/news/what-is-web3) – _نادر ضبيط_
- [فهم الويب 3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) – _جوش ستارك_
- [ما سبب أهمية الإصدار الثالث من الويب Web3](https://future.a16z.com/why-web3-matters/) — _كريس ديكسون_
- [ما سبب أهمية اللامركزية](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _كريس ديكسون_
- [تصميم الإصدار الثالث من الويب Web3](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
-- [الجدال بشأن الإصدار الثالث من الويب Web3](https://www.notboring.co/p/the-web3-debate?s=r) – _باكي ماكورميك_
+- [الجدال بشأن الإصدار الثالث من الويب Web3](https://www.notboring.co/p/the-web3-debate) – _باكي ماكورميك_
diff --git a/public/content/translations/az/dao/index.md b/public/content/translations/az/dao/index.md
index 81230291e7f..b514a8b6476 100644
--- a/public/content/translations/az/dao/index.md
+++ b/public/content/translations/az/dao/index.md
@@ -93,7 +93,7 @@ DAO-ların minlərlə səsvermə üzvü ola bilsə də, fondlar etibar edilən v
### Tanınmış bir nümunə {#law-example}
-[CityDAO](https://citydao.io)- CityDAO, Yellowstone Milli Parkının yaxınlığında 40 hektar torpaq almaq üçün Vyoming'in DAO qanunundan istifadə etdi.
+[CityDAO](https://citizen.citydao.io/)- CityDAO, Yellowstone Milli Parkının yaxınlığında 40 hektar torpaq almaq üçün Vyoming'in DAO qanunundan istifadə etdi.
## DAO üzvlüyü {#dao-membership}
diff --git a/public/content/translations/az/decentralized-identity/index.md b/public/content/translations/az/decentralized-identity/index.md
index 62568ac80b3..0b8171e7967 100644
--- a/public/content/translations/az/decentralized-identity/index.md
+++ b/public/content/translations/az/decentralized-identity/index.md
@@ -160,7 +160,7 @@ Ethereum-dan mərkəzləşdirilməmiş kimlik həlləri üçün əsas kimi istif
- **[Ethereum Attestasiya Xidməti (EAS)](https://attest.sh/)** - _ Hər hansı bir şey haqqında zəncirli və ya zəncirdən kənar sertifikatlar əldə etmək üçün mərkəzləşdirilməmiş kitab/protokol._
- **[Proof of Humanity](https://www.proofofhumanity.id)** - _Proof of Humanity (or PoH) Ethereum üzərində qurulmuş sosial kimlik yoxlama sistemidir._
- **[BrightID](https://www.brightid.org/)** - _Mərkəzləşdirilməmiş, sosial qrafikin yaradılması və təhlili vasitəsilə kimliyin yoxlanılmasında islahatlar aparmağa çalışan açıq mənbəli sosial kimlik şəbəkəsi._
-- **[Kimliyi təsdiq edən pasport](https://proofofpersonhood.com/)** - _ Mərkəzləşdirilməmiş rəqəmsal kimlik toplayıcısı._
+- **[Kimliyi təsdiq edən pasport](https://passport.human.tech/)** - _ Mərkəzləşdirilməmiş rəqəmsal kimlik toplayıcısı._
- **[walt.id](https://walt.id)** — _Tərtibatçılara və təşkilatlara öz suveren kimlik və NFTs/SBT-lərdən istifadə etməyə imkan verən açıq mənbəli mərkəzləşdirilməmiş kimlik və cüzdan infrastrukturu._
## Further reading {#further-reading}
diff --git a/public/content/translations/az/defi/index.md b/public/content/translations/az/defi/index.md
index c03f9f3d9a7..9c8eb00fbed 100644
--- a/public/content/translations/az/defi/index.md
+++ b/public/content/translations/az/defi/index.md
@@ -47,7 +47,7 @@ DeFi potensialını görməyin ən yaxşı yollarından biri bu gün mövcud ola
| Bazarlar həmişə açıqdır. | İşçilərin fasilələrə ehtiyacı olduğu üçün bazarlar bağlanır. |
| Sistem şəffaflıq üzərində qurulub – hər kəs məhsulun məlumatlarına baxa və sistemin necə işlədiyini yoxlaya bilər. | Maliyyə qurumları qapalı qutulardır: siz onların kredit tarixçəsini, idarə olunan aktivlərinin qeydini və s. yoxlaya bilməzsiniz. |
-
+
DeFi tətbiqlərini kəşf edin
@@ -65,7 +65,7 @@ Bu qəribə səslənir... "Mən niyə pulumu proqramlaşdırmaq istəyim"? Bunun
Ethereum-da yenisinizsə, sınamaq məqsədilə DeFi tətbiqləri üçün təkliflərimizi araşdırın.
-
+
DeFi tətbiqlərini kəşf edin
@@ -92,7 +92,7 @@ Bu qəribə səslənir... "Mən niyə pulumu proqramlaşdırmaq istəyim"? Bunun
Blokçeyn olaraq, Ethereum əməliyyatları təhlükəsiz və qlobal şəkildə göndərmək üçün nəzərdə tutulmuşdur. Bitcoin kimi, Ethereum da bütün dünyaya pul göndərməyi e-poçt göndərmək qədər asanlaşdırır. Sadəcə cüzdanınızda alıcınızın [ENS adını](/nft/#nft-domains) (məsələn, bob.eth) və ya hesab ünvanını daxil edin və ödənişiniz dəqiqələr ərzində birbaşa ona keçəcək (adətən). Ödənişləri göndərmək və ya qəbul etmək üçün sizə [cüzdan](/wallets/) lazımdır.
-
+
Ödəniş tətbiqlərinə baxın
@@ -123,7 +123,7 @@ Mərkəzləşdirilməmiş provayderlərdən borc pul götürmək iki əsas növd
- Peer-to-peer, yəni borcalanın müəyyən bir borc verəndən birbaşa borc alması.
- Pool-based, yəni kreditorların borcalanların borc ala biləcəyi hovuza vəsait (likvidlik) təmin etməsi.
-
+
Borc almaq üçün tətbiqlərə baxın
@@ -168,7 +168,7 @@ Beləliklə, bir əməliyyatda aşağıdakılar baş verir:
Ənənəvi maliyyə dünyasında yuxarıdakı əməliyyatı yerinə yetirmək üçün sizə böyük miqdarda pul lazımdır. Bu pul qazanma strategiyaları yalnız mövcud sərvəti olanlar üçün əlçatandır. Flaş kreditləri, pula sahib olmağın mütləq pul qazanmaq üçün ilkin şərt olmadığı bir gələcəyin nümunəsidir.
-[Flaş kreditləri haqqında daha çox](https://aave.com/flash-loans/)
+[Flaş kreditləri haqqında daha çox](https://aave.com/docs/concepts/flash-loans/)
@@ -183,7 +183,7 @@ Kriptovalyutanızı borc verməklə faiz qazana və vəsaitlərinizin real vaxtd
- Sizin aDai faiz dərəcələrinə əsasən artacaq və siz cüzdanınızda balansınızın artdığını görə bilərsiniz. APR-dən asılı olaraq, cüzdan balansınız bir neçə gün və ya hətta saatdan sonra 100.1234 kimi bir rəqəm oxuyacaq!
- İstənilən vaxt aDai balansınıza bərabər olan adi Dai məbləğini çıxara bilərsiniz.
-
+
Borc vermək üçün tətbiqlərə baxın
@@ -211,7 +211,7 @@ Ethereum-da minlərlə token var. Mərkəzləşdirilməmiş birjalar (DEXs) ist
Məsələn, PoolTogether (yuxarıda təsvir edilmişdir) itkisiz lotereyasından istifadə etmək istəyirsinizsə, sizə Dai və ya USDC kimi token lazımdır. Bu DEX-lər sizə ETH-ni həmin tokenlərlə dəyişdirməyə və işiniz bitdikdə yenidən geri qaytarmağa imkan verir.
-
+
Token mübadiləsinə baxın
@@ -223,7 +223,7 @@ Bir az daha çox nəzarəti sevən treyderlər üçün daha qabaqcıl alternativ
Mərkəzləşdirilmiş birjadan istifadə edərkən, ticarətdən əvvəl aktivlərinizi depozitə qoymalı və onların güvəndə olduğuna etibar etməlisiniz. Aktivləriniz depozitə qoyulsa da, onlar risk altındadır, çünki mərkəzləşdirilmiş mübadilələr hakerlər üçün cəlbedici hədəflərdir.
-
+
Ticarət tətbiqlərinə baxın
@@ -235,7 +235,7 @@ Ethereum-da seçdiyiniz strategiya əsasında portfelinizi böyütməyə çalı
Yaxşı nümunə [DeFi Pulse İndeks fondudur (DPI)](https://defipulse.com/blog/defi-pulse-index/). Bu, portfelinizin həmişə [bazar kapitallaşmasına görə ən yaxşı DeFi tokenlərini](https://www.coingecko.com/en/defi) ehtiva etməsini təmin etmək üçün avtomatik yenidən balanslaşdıran fonddur. Heç vaxt heç bir detalı idarə etməli deyilsiniz və istədiyiniz zaman fonddan çıxa bilərsiniz.
-
+
İnvestisiya tətbiqlərinə baxın
@@ -249,7 +249,7 @@ Ethereum kraudfandinq üçün ideal platformadır:
- O, şəffafdır ki, fandreyzerlər nə qədər pul yığıldığını sübut edə bilsinlər. Siz hətta sonradan vəsaitlərin necə xərcləndiyini izləyə bilərsiniz.
- Məsələn, müəyyən bir son tarix və minimum məbləğ yerinə yetirilmədikdə, vəsait toplayanlar avtomatik geri qaytarma ala bilər.
-
+
Kraudfandinq tətbiqlərinə baxın
@@ -276,7 +276,7 @@ Mərkəzləşdirilməmiş sığorta sığortanı daha ucuz, daha sürətli ödə
Ethereum məhsulları, hər hansı bir proqram kimi, səhvlərdən və istismarlarla üzləşə bilər. Beləliklə, hazırda bir çox sığorta məhsulları istifadəçilərini vəsait itkisindən qorumağa yönəlib. Bununla belə, qarşılaşacağımız hər hansı bir problem üçün həll yaratmağa başlayan layihələr var. Buna ən yaxşı nümunə [Keniyada kiçik fermerləri quraqlıq və daşqınlardan qorumaq məqsədi daşıyan Etherisc's Crop məhsuludur](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Mərkəzləşdirilməmiş sığorta, fermerlər üçün ənənəvi sığortadan daha ucuz sığorta təmin edə bilər.
-
+
Sığorta tətbiqlərinə baxın
@@ -286,7 +286,7 @@ Ethereum məhsulları, hər hansı bir proqram kimi, səhvlərdən və istismarl
Baş verən bir çox şeylə birlikdə bütün investisiyalarınızı, kreditlərinizi və ticarətlərinizi izləmək üçün bir yola ehtiyacınız olacaq. Bütün DeFi fəaliyyətinizi bir yerdən əlaqələndirməyə imkan verən bir sıra məhsullar var. Bu, DeFi-nin açıq arxitekturasının gözəlliyidir. Komandalar interfeyslər yarada bilər ki, burada siz sadəcə məhsullar arasında balanslarınızdan deyil, həm də onların xüsusiyyətlərindən də istifadə edə bilərsiniz. DeFi-ni daha çox araşdırdığınız zaman bunun da faydasını görə bilərsiniz.
-
+
Portfolio tətbiqlərinə baxın
@@ -318,7 +318,7 @@ DeFi-ni təbəqələrdə düşünə bilərsiniz:
1. Blokçeyn– Ethereum əməliyyat tarixini və hesabların vəziyyətini ehtiva edir.
2. Aktivlər – [ETH](/eth/) və digər tokenlər (valyutalar).
3. Protokollar – funksionallığı təmin edən [ağıllı müqavilələr](/glossary/#smart-contract), məsələn, aktivlərin mərkəzləşdirilməmiş kreditləşməsinə imkan verən xidmət.
-4. [Tətbiqlər](/dapps/) – protokolları idarə etmək və onlara daxil olmaq üçün istifadə etdiyimiz məhsullar.
+4. [Tətbiqlər](/apps/) – protokolları idarə etmək və onlara daxil olmaq üçün istifadə etdiyimiz məhsullar.
## DeFi qurun {#build-defi}
diff --git a/public/content/translations/az/desci/index.md b/public/content/translations/az/desci/index.md
index f616a6c8dc7..d3b727c5f69 100644
--- a/public/content/translations/az/desci/index.md
+++ b/public/content/translations/az/desci/index.md
@@ -68,7 +68,7 @@ Elmi maliyyələşdirmək üçün mövcud standart model, ayrı-ayrı şəxslər
Tədqiqatlar göstərdi ki, qrantların nəzərdən keçirilməsi panelləri yüksək keyfiyyətli təklifləri seçməkdə zəif iş görür, çünki müxtəlif panellərə verilən eyni təkliflər tamamilə fərqli nəticələr verir. Maliyyələşmə getdikcə azaldıqca, o, daha intellektual mühafizəkar layihələri olan daha böyük tədqiqatçılardan ibarət daha kiçik bir hovuzda cəmləşib. Təsir, təhrif stimulları möhkəmləndirən və innovasiyaları boğan hiper-rəqabətli maliyyələşdirmə mənzərəsi yaradıb.
-Web3, DAO və Web3 tərəfindən geniş şəkildə hazırlanmış müxtəlif təşviq modelləri ilə sınaqdan keçirərək, bu pozulmuş maliyyələşdirmə modelini pozmaq potensialına malikdir. [Retroaktiv ictimai malların maliyyələşdirilməsi](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [kvadrat maliyyələşdirmə](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [DAO idarəetməsi](https://www.antler.co/blog/daos-and-web3-governance) və [tokenləşdirilmiş təşviq strukturları](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) bunlardan bəziləridir. Elmin maliyyələşdirilməsində inqilab edə biləcək Web3 alətləri.
+Web3, DAO və Web3 tərəfindən geniş şəkildə hazırlanmış müxtəlif təşviq modelləri ilə sınaqdan keçirərək, bu pozulmuş maliyyələşdirmə modelini pozmaq potensialına malikdir. [Retroaktiv ictimai malların maliyyələşdirilməsi](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [kvadrat maliyyələşdirmə](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [DAO idarəetməsi](https://www.antler.co/blog/daos-and-web3-governance-the-promise-implications-and-challenges-ahead) və [tokenləşdirilmiş təşviq strukturları](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) bunlardan bəziləridir. Elmin maliyyələşdirilməsində inqilab edə biləcək Web3 alətləri.
### IP mülkiyyəti və inkişafı {#ip-ownership}
@@ -96,7 +96,7 @@ Layihələri araşdırın və DeSci cəmiyyətinə qoşulun.
- [VitaDAO: uzunömürlülük tədqiqatları üçün sponsorluq edilən tədqiqat müqavilələri vasitəsilə maliyyə əldə edin](https://www.vitadao.com/)
- [ResearchHub: elmi nəticəni dərc edin və həmkarlarınız ilə söhbət edin](https://www.researchhub.com/)
- [LabDAO: in-silico-da protein qazanın](https://alphafodl.vercel.app/)
-- [dClimate API: mərkəzləşdirilməmiş icma tərəfindən toplanan iqlim məlumatlarını sorğulayın](https://api.dclimate.net/)
+- [dClimate API: mərkəzləşdirilməmiş icma tərəfindən toplanan iqlim məlumatlarını sorğulayın](https://www.dclimate.net/)
- [DeSci Fondu: DeSci nəşriyyat aləti qurucusu](https://descifoundation.org/)
- [DeSci.World: istifadəçilər üçün mərkəzləşdirilməmiş elmlə məşğul olmaq üçün bir mağaza](https://desci.world)
- [Fleming Protokolu: birgə biotibbi kəşfləri gücləndirən açıq mənbəli məlumat iqtisadiyyatı](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd)
@@ -120,7 +120,7 @@ Siyahıya salınacaq yeni layihələr üçün təklifləri alqışlayırıq - ba
- [A16z gələcəyi üçün Jocelynn Pearl tərəfindən mərkəzləşdirilməmiş biotexnologiyaya dair bələdçi](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [DeSci üçün keys](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [DeSci üçün bələdçi](https://future.com/what-is-decentralized-science-aka-desci/)
-- [Mərkəzləşdirilməmiş elm resursları](https://www.vincentweisser.com/decentralized-science)
+- [Mərkəzləşdirilməmiş elm resursları](https://www.vincentweisser.com/desci)
- [Molekulun Biopharma IP-NFTs - Texniki Təsvir](https://molecule.to/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [Jon Starr tərəfindən hazırlanmış Etibar Əsasında Qurulmayan Elmi Sistemlər](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Biotech DAO-ların yaranması](https://molecule.to/blog/the-emergence-of-biotech-daos)
diff --git a/public/content/translations/az/refi/index.md b/public/content/translations/az/refi/index.md
index 4c8aad839cd..8a7a009ab3c 100644
--- a/public/content/translations/az/refi/index.md
+++ b/public/content/translations/az/refi/index.md
@@ -47,7 +47,7 @@ ReFi layihələri ənənəvi bazarın bir çox problemlərini yüngülləşdirm
- **Likvidlik hər kəs tərəfindən sərbəst şəkildə satıla bilən az sayda likvidlik hovuzlarında cəmləşmişdir**. Böyük təşkilatlar, eləcə də fərdi istifadəçilər bu hovuzlardan satıcılar/alıcılar üçün manual axtarışlar, iştirak haqqı və ya əvvəlcədən qeydiyyat olmadan istifadə edə bilərlər.
- **Bütün əməliyyatlar ictimai blokçeynlərdə qeydə alınır**. Hər bir karbon kreditinin ticarət fəaliyyəti ilə bağlı keçdiyi yol, DCM-də mövcud olan kimi həmişəlik izlənilə bilər.
- **Tranzaksiya sürəti demək olar ki, anidir**. Böyük miqdarda karbon kreditinin köhnə bazarlar vasitəsilə təmin edilməsi günlər və ya həftələr çəkə bilər, lakin DCM-də buna bir neçə saniyə ərzində nail olmaq olar.
-- **Ticarət fəaliyyəti yüksək rüsum tələb edən vasitəçilər olmadan baş verir**. Bir analitik firmanın verdiyi məlumata görə, rəqəmsal karbon kreditləri [ekvivalent ənənəvi kreditlərlə müqayisədə xərclərin 62% yaxşılaşdırılmasını](https://www.klimadao.finance/blog/klimadao-analysis-of-the-base-carbon-tonne) təmsil edir.
+- **Ticarət fəaliyyəti yüksək rüsum tələb edən vasitəçilər olmadan baş verir**. Bir analitik firmanın verdiyi məlumata görə, rəqəmsal karbon kreditləri [ekvivalent ənənəvi kreditlərlə müqayisədə xərclərin 62% yaxşılaşdırılmasını](https://www.klimadao.finance/resources/klimadao-impact-report-analysis-of-the-base-carbon-tonne) təmsil edir.
- **DCM genişlənə** və həm fiziki şəxslərin, həm də çoxmillətli korporasiyaların tələblərinə cavab verə bilər.
### DCM-nin əsas komponentləri {#key-components-dcm}
diff --git a/public/content/translations/az/smart-contracts/index.md b/public/content/translations/az/smart-contracts/index.md
index 6e299290566..d79f874cb0d 100644
--- a/public/content/translations/az/smart-contracts/index.md
+++ b/public/content/translations/az/smart-contracts/index.md
@@ -65,7 +65,7 @@ Onlar hesablamalar həyata keçirə, valyuta yarada, məlumatları saxlaya, NFT-
- [Stabil koinlər](/stablecoins/)
- [Unikal rəqəmsal aktivlərin yaradılması və yayılması](/nft/)
- [Avtomatik, açıq valyuta mübadiləsi](/get-eth/#dex)
-- [Mərkəzləşdirilməmiş oyun](/dapps/?category=gaming)
+- [Mərkəzləşdirilməmiş oyun](/apps/?category=gaming)
- [Avtomatik ödəniş edən sığorta siyasəti](https://etherisc.com/)
- [İnsanlara fərdiləşdirilmiş, qarşılıqlı işləyə bilən valyutalar yaratmağa imkan verən standart](/developers/docs/standards/tokens/)
diff --git a/public/content/translations/az/social-networks/index.md b/public/content/translations/az/social-networks/index.md
index 06a43554906..86eee259a2e 100644
--- a/public/content/translations/az/social-networks/index.md
+++ b/public/content/translations/az/social-networks/index.md
@@ -21,7 +21,7 @@ Bir çox mərkəzləşdirilməmiş sosial şəbəkələr Facebook, LinkedIn, Twi
### Mərkəzləşdirilməmiş sosial şəbəkələr necə işləyir? {#decentralized-social-networks-overview}
-Mərkəzləşdirilməmiş sosial şəbəkələr [mərkəzləşdirilməmiş tətbiqlər (dapps)](/dapps/) sinfidir — blokçeynində yerləşdirilmiş [ağıllı müqavilələr](/developers/docs/smart-contracts/) tərəfindən dəstəklənən tətbiqlər. Müqavilə kodu bu proqramlar üçün arxa plan kimi xidmət edir və onların biznes məntiqini müəyyənləşdirir.
+Mərkəzləşdirilməmiş sosial şəbəkələr [mərkəzləşdirilməmiş tətbiqlər (dapps)](/apps/) sinfidir — blokçeynində yerləşdirilmiş [ağıllı müqavilələr](/developers/docs/smart-contracts/) tərəfindən dəstəklənən tətbiqlər. Müqavilə kodu bu proqramlar üçün arxa plan kimi xidmət edir və onların biznes məntiqini müəyyənləşdirir.
Ənənəvi sosial media platformaları istifadəçi məlumatlarını, proqram kodunu və digər məlumat formalarını saxlamaq üçün verilənlər bazasına əsaslanır. Lakin bu, uğursuzluq nöqtələri və əhəmiyyətli risk yaradır. Məsələn, Facebook serverləri keçən il [saatlarla oflayn oldu](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact), istifadəçiləri platformadan kənar aldı.
@@ -111,7 +111,7 @@ Rinkeby test şəbəkəsində beta mərhələsini başa vurduqdan sonra, Reddit
- [Web3 mərkəzləşdirilməmiş, icma dəstəkli sosial şəbəkələrə inam verir](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_
- [Blockchain Sosial Media Landşaftına Baxış](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — *Gemini Kriptopediyası*
- [Blokçeyn Sosial Media Məxfiliyini Necə Həll edə bilər](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_
-- [Sosial Media Şəbəkələri Blockchain-ə gəlir](https://businesstechguides.co/what-are-decentralized-social-networks) — _Emmanuel Awosika_
+- [Sosial Media Şəbəkələri Blockchain-ə gəlir](https://eawosika.com/what-are-decentralized-social-networks) — _Emmanuel Awosika_
- [Sosial şəbəkələr üçün kifayət qədər mərkəzsizləşdirmə](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — _Varun Srinivasan_
diff --git a/public/content/translations/be/defi/index.md b/public/content/translations/be/defi/index.md
index c3f44261b89..a892835eb63 100644
--- a/public/content/translations/be/defi/index.md
+++ b/public/content/translations/be/defi/index.md
@@ -47,7 +47,7 @@ DeFi — гэта абагульнены тэрмін для фінансавы
| Рынкі заўсёды адчыненыя. | Рынкі зачыняюцца, таму што працаўнікам патрэбны перапынкі. |
| Усё пабудавана на празрыстасці: любы можа прагледзець даныя прадукту і праверыць, як працуе сістэма. | Актыўнасць фінансавых устаноў скрытая: вы не можаце прагледзець іх крэдытную гісторыю, звесткі аб іх актывах і гэтак далей. |
-
+
Даследаваць дадаткі DeFi
@@ -65,7 +65,7 @@ Ethereum пабудаваны на гэтым. Як і ў выпадку Біт
Праглядзіце нашы прапановы па дадаткам DeFi, калі вы толькі асвойваецеся ў Ethereum.
-
+
Даследаваць дадаткі DeFi
@@ -92,7 +92,7 @@ Ethereum пабудаваны на гэтым. Як і ў выпадку Біт
Як блокчэйн, Ethereum прызначаны для адпраўкі транзакцый бяспечным і глабальным спосабам. Як і Біткоін, Ethereum робіць перавод грошай па ўсім свеце такім жа простым, як і адпраўка электроннай пошты. Проста ўвядзіце [імя ENS](/glossary/#ens) атрымальніка (напрыклад, bob.eth) або адрас яго аккаўнта ў сваім гаманцы, і ваш плацеж паступіць непасрэдна яму праз (як правіла) некалькіх хвілін. Каб адпраўляць або атрымліваць плацяжы, вам спатрэбіцца [гаманец](/wallets/).
-
+
Праглядзець плацежныя дэцэнтралізаваныя дадаткі
@@ -123,7 +123,7 @@ Ethereum пабудаваны на гэтым. Як і ў выпадку Біт
- У аднарангавым фармаце: пазычальнік пазычае сродкі непасрэдна ў пэўнага крэдытора.
- У заснаваным на пуле фармаце: крэдыторы падаюць сродкі (ліквіднасць), якія потым бяруць у доўг пазычальнікі.
-
+
Праглядзець дэцэнтралізаваныя дадаткі для пазык
@@ -168,7 +168,7 @@ Ethereum пабудаваны на гэтым. Як і ў выпадку Біт
Каб зрабіць здзейсніць вышэйшы прыклад у свеце традыцыйных фінансаў, вам спатрэбіцца вялікая колькасць грошай. Гэтыя стратэгіі, накіраваныя на тое, каб зарабіць грошы, даступныя толькі тым, у каго ўжо накоплена вялікае багацце. Вокамгненныя пазыкі з'яўляюцца прыкладам будучыні, у якой наяўнасць грошай не з'яўляецца абавязковай умовай для таго, каб зарабіць іх.
-
+
Дакладней пра вокамгненныя пазыкі
@@ -185,7 +185,7 @@ Ethereum пабудаваны на гэтым. Як і ў выпадку Біт
- Колькасць вашых aDai павялічыцца ў залежнасці ад працэнтных ставак, і вы ўбачыце, як расце ваш баланс у гаманцы. У залежнасці ад [гадавога працэнта](/glossary/#apr), праз некалькі дзён ці нават гадзін баланс вашага гаманца можа быць такі: 100,1234.
- Вы можаце ў любы час зняць суму звычайных Dai, роўную вашаму балансу aDai.
-
+
Праглядзець крэдытныя дэцэнтралізаваныя дадаткі
@@ -213,7 +213,7 @@ Ethereum пабудаваны на гэтым. Як і ў выпадку Біт
Напрыклад, калі вы жадаеце выкарыстоўваць бяспройгрышную латарэю PoolTogether (апісаную вышэй), вам спатрэбіцца токен, такі як Dai або USDC. Гэтыя DEX дазваляюць вам абменьваць ваш ETH на гэтыя токены і наадварот, калі вам спатрэбіцца.
-
+
Праглядзець спіс біржаў
@@ -225,7 +225,7 @@ Ethereum пабудаваны на гэтым. Як і ў выпадку Біт
Калі вы карыстаецеся цэнтралізаванай біржай, вы павінны ўнесці свае актывы перад гандлем і даверыць біржы клопат аб іх. Пакуль вашы актывы дэпазітаваны, яны схільныя рызыцы, паколькі цэнтралізаваныя біржы з'яўляюцца прывабнымі мэтамі для хакераў.
-
+
Праглядзець дэцэнтралізаваныя дадаткі для гандлю
@@ -237,7 +237,7 @@ Ethereum пабудаваны на гэтым. Як і ў выпадку Біт
Добрым прыкладам з'яўляецца фонд [ DeFi Pulse Index (DPI)](https://defipulse.com/blog/defi-pulse-index/). Ён выконвае аўтаматычнае рэбалансаванне, каб ваш партфель заўсёды ўключаў лепшыя па рынкавай капіталізацыі токены DeFi. Вам ніколі не давядзецца кіраваць дэталямі, і вы можаце вывесці грошы з фонду, калі пажадаеце.
-
+
Праглядзець дэцэнтралізаваныя дадаткі для інвестыцый
@@ -251,7 +251,7 @@ Ethereum з'яўляецца ідэальнай платформай для кр
- Усё празрыста, бо зборшчыкі сродкаў могуць пацвердзіць, колькі грошай было сабрана. Вы нават можаце адсочваць, як сродкі страчваюцца ў далейшым.
- Зборшчыкі сродкаў могуць наладзіць аўтаматычнае вяртанне грошай, калі, напрыклад, ёсць пэўны дэдлайн і мінімальная сума, якія не былі выкананы.
-
+
Праглядзець дэцэнтралізаваныя дадаткі для краўдфандынгу
@@ -280,7 +280,7 @@ Quadratic funding makes sure that the projects that receive the most funding are
Прадукты Ethereum, як і любое праграмнае забеспячэнне, могуць пакутаваць ад памылак і ўразлівасці. Так што зараз многія страхавыя прадукты сканцэнтраваны на абароне сваіх карыстальнікаў ад страты сродкаў. Аднак ужо ёсць праекты, якія пачынаюць страхаваць усё, з чым можна сутыкнуцца ў рэальным жыцці. Добрым прыкладам гэтага з'яўляецца страхаванне ўраджаю Etherisc, мэта якога — [абараніць мелкіх фермераў у Кеніі ад засух і выпадкаў затаплення](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Дэцэнтралізаванае страхаванне можа забяспечыць таннейшую страхоўку для фермераў, цэны на якую часта выходзяць за рамкі ў традыцыйным страхаванні.
-
+
Праглядзець дэцэнтралізаваныя дадаткі для страхавання
@@ -290,7 +290,7 @@ Quadratic funding makes sure that the projects that receive the most funding are
Сярод іншага, вам спатрэбіцца спосаб адсочваць усе вашы інвестыцыі, пазыкі і здзелкі. Ёсць мноства прадуктаў, якія дазваляюць вам кіраваць усімі вашымі дзеяннямі DeFi з аднаго месца. У гэтым прывабнасць адкрытай архітэктуры DeFi. Каманды могуць ствараць інтэрфейсы, у якіх вы можаце не толькі праглядаць балансы актываў, але і таксама выкарыстоўваць іх функцыі. Гэта можа быць карысным падчас вывучэння DeFi.
-
+
Праглядзець дэцэнтралізаваныя дадаткі для партфеляў
@@ -322,7 +322,7 @@ Ethereum — ідэальная аснова для DeFi па шэрагу пр
1. Блокчэйн: Ethereum змяшчае гісторыю транзакцый і стан акаўнтаў.
2. Актывы: [ETH](/eth/) і іншыя токены (валюты).
3. Пратаколы: [разумныя кантракты](/glossary/#smart-contract), якія даюць функцыянальныя магчымасці, напрыклад сэрвіс, які дазваляе дэцэнтралізаваць крэдытаванне актываў.
-4. [Дадаткі](/dapps/): прадукты, якія мы выкарыстоўваем для кіравання і доступу да пратаколаў.
+4. [Дадаткі](/apps/): прадукты, якія мы выкарыстоўваем для кіравання і доступу да пратаколаў.
Заўвага: вялікая колькасць DeFi-сэрвісаў выкарыстоўвае [стандарт ERC-20](/glossary/#erc-20). Дадаткі ў DeFi выкарыстоўваюць абгорнуты ETH пад назвай Wrapped Ether (WETH). [Даведайцеся больш пра абгорнуты эфір](/wrapped-eth).
diff --git a/public/content/translations/be/nft/index.md b/public/content/translations/be/nft/index.md
index 1772a74b04a..bf703c21fc5 100644
--- a/public/content/translations/be/nft/index.md
+++ b/public/content/translations/be/nft/index.md
@@ -56,7 +56,7 @@ NFT выкарыстоўваюцца для многіх рэчаў, у тым
Шукайце, купляйце або стварайце ўласныя творы мастацтва NFT ці прадметы калекцыяніравання...
-
+
Даведайцеся пра мастацтва NFT
diff --git a/public/content/translations/be/smart-contracts/index.md b/public/content/translations/be/smart-contracts/index.md
index e6af700f6ca..89f4b5a795b 100644
--- a/public/content/translations/be/smart-contracts/index.md
+++ b/public/content/translations/be/smart-contracts/index.md
@@ -69,7 +69,7 @@ lang: be
- [Стэйблкоіны](/stablecoins/)
- [Стварэнне і распаўсюджванне ўнікальных лічбавых актываў](/nft/)
- [Аўтаматычная адкрытая біржа валют](/get-eth/#dex)
-- [Дэцэнтралізаваныя гульні](/dapps/?category=gaming#explore)
+- [Дэцэнтралізаваныя гульні](/apps/?category=gaming#explore)
- [Страхавы поліс з аўтаматычнай аплатай](https://etherisc.com/)
- [Стандарт, які дазваляе ствараць індывідуальныя і сумяшчальныя валюты](/developers/docs/standards/tokens/)
diff --git a/public/content/translations/be/web3/index.md b/public/content/translations/be/web3/index.md
index 7d7bf02537b..8defaf7af43 100644
--- a/public/content/translations/be/web3/index.md
+++ b/public/content/translations/be/web3/index.md
@@ -139,7 +139,7 @@ Web3 — гэта маладая экасістэма, якая развівае
- [Атрымаць гаманец](/wallets/)
- [Знайдзіце супольнасць](/community/)
-- [Даследуйце прыкладанні Web3](/dapps/)
+- [Даследуйце прыкладанні Web3](/apps/)
- [Join a DAO](/dao/)
- [Стварайце на Web3](/developers/)
@@ -147,11 +147,11 @@ Web3 — гэта маладая экасістэма, якая развівае
Web3 не мае жорсткага вызначэння. Розныя ўдзельнікі супольнасці маюць розныя погляды на гэта. Here are a few of them:
-- [Што такое Web3? Тлумачэнне дэцэнтралізаванага Інтэрнэту будучыні](https://www.freecodecamp.org/news/what-is-web3/) — _Надэр Дабіт_
+- [Што такое Web3? Тлумачэнне дэцэнтралізаванага Інтэрнэту будучыні](https://www.freecodecamp.org/news/what-is-web3) — _Надэр Дабіт_
- [Асэнсаванне Web 3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) — _Джош Старк_
- [Чаму Web3 — гэта важна](https://future.a16z.com/why-web3-matters/) — _Крыс Дыксан_
- [Чаму дэцэнтралізацыя з'яўляецца важнай](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) — _Крыс Дыксан_
- [Пейзаж Web3](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) — _a16z_
-- [Дэбаты Web3](https://www.notboring.co/p/the-web3-debate?s=r) — _Пэкі Маккормік_
+- [Дэбаты Web3](https://www.notboring.co/p/the-web3-debate) — _Пэкі Маккормік_
diff --git a/public/content/translations/bn/dao/index.md b/public/content/translations/bn/dao/index.md
index 214ee34eb1e..159e4042b44 100644
--- a/public/content/translations/bn/dao/index.md
+++ b/public/content/translations/bn/dao/index.md
@@ -93,7 +93,7 @@ DAO আমাদের ফান্ড বা ক্রিয়াকলাপ
### একটি বিখ্যাত উদাহরণ {#law-example}
-[CityDAO](https://citydao.io) – CityDAO ইয়েলোস্টোন ন্যাশনাল পার্কের কাছে 40 একর জমি কেনার জন্য ওয়াইমিং এর DAO আইন ব্যবহার করেছে।
+[CityDAO](https://citizen.citydao.io/) – CityDAO ইয়েলোস্টোন ন্যাশনাল পার্কের কাছে 40 একর জমি কেনার জন্য ওয়াইমিং এর DAO আইন ব্যবহার করেছে।
## DAO সদস্যপদ {#dao-membership}
diff --git a/public/content/translations/bn/dapps/index.md b/public/content/translations/bn/dapps/index.md
index 4c8a898355d..c054f3693ed 100644
--- a/public/content/translations/bn/dapps/index.md
+++ b/public/content/translations/bn/dapps/index.md
@@ -27,6 +27,6 @@ lang: bn
- [ইথেরিয়াম ডিফাই (DeFI) ইকোসিস্টেম](https://defiprime.com/ethereum)_প্রায়শই আপডেট করা হয় - Defiprime_
- [DeFi Llama](https://defillama.com/) _অ্যানালিটিক্স+ DeFi প্রোটোকলগুলির র্যাঙ্কিং- Defi Llama_
-কিছু ইথেরিয়াম অ্যাপ্লিকেশনের একটি ওয়ালেট প্রয়োজন - [ইথেরিয়াম ওয়ালেট সম্পর্কে এখানে আরও জানুন](/bn/wallets/)।
+কিছু ইথেরিয়াম অ্যাপ্লিকেশনের একটি ওয়ালেট প্রয়োজন - [ইথেরিয়াম ওয়ালেট সম্পর্কে এখানে আরও জানুন](/wallets/)।
-কিছু ইথেরিয়াম অ্যাপ্লিকেশনের ETH প্রয়োজন হবে - [ETH সম্পর্কে এখানে আরও জানুন](/bn/eth/)।
+কিছু ইথেরিয়াম অ্যাপ্লিকেশনের ETH প্রয়োজন হবে - [ETH সম্পর্কে এখানে আরও জানুন](/eth/)।
diff --git a/public/content/translations/bn/decentralized-identity/index.md b/public/content/translations/bn/decentralized-identity/index.md
index 5e75f6f0804..f8c97b75860 100644
--- a/public/content/translations/bn/decentralized-identity/index.md
+++ b/public/content/translations/bn/decentralized-identity/index.md
@@ -160,7 +160,7 @@ summaryPoint3: ক্রিপ্টোকারেন্সির জন্য
- **[ইথেরিয়াম অ্যাটেস্টেশন সার্ভিস (EAS)](https://attest.sh/)** - _ যেকোনো বিষয়ে অন-চেইন বা অফ-চেইন প্রত্যয়ন করার জন্য একটি বিকেন্দ্রীকৃত লেজার/প্রটোকল।_
- **[প্রুফ অফ হিউম্যানিটি](https://www.proofofhumanity.id)** - _মানবতার প্রমাণ (বা PoH) হল ইথেরিয়াম-এ নির্মিত একটি সামাজিক পরিচয় যাচাইকরণ ব্যবস্থা।_
- **[BrightID](https://www.brightid.org/)** - _একটি বিকেন্দ্রীভূত, ওপেন সোর্স সামাজিক পরিচয় নেটওয়ার্ক যা একটি সামাজিক গ্রাফ তৈরি এবং বিশ্লেষণের মাধ্যমে পরিচয় যাচাইকরণ সংস্কার করতে চাইছে।_
-- **[প্রুফ অফ পার্সনহুড পাসপোর্ট](https://proofofpersonhood.com/)** - _ একটি বিকেন্দ্রীভূত ডিজিটাল পরিচয় সমষ্টিকারী।_
+- **[প্রুফ অফ পার্সনহুড পাসপোর্ট](https://passport.human.tech/)** - _ একটি বিকেন্দ্রীভূত ডিজিটাল পরিচয় সমষ্টিকারী।_
## Further reading {#further-reading}
diff --git a/public/content/translations/bn/defi/index.md b/public/content/translations/bn/defi/index.md
index bf76dd4e4fd..eafe308797a 100644
--- a/public/content/translations/bn/defi/index.md
+++ b/public/content/translations/bn/defi/index.md
@@ -47,7 +47,7 @@ DeFi এর সম্ভাব্যতা দেখার সর্বোত্
| মার্কেট সবসময় খোলা থাকে। | কর্মীদের বিরতির প্রয়োজন হয় বিধার মার্কেট বন্ধ করা হয়। |
| এটি স্বচ্ছতার উপর নির্মিত – যে কেউ একটি পণ্যের ডেটা দেখতে পারে এবং সিস্টেমটি কীভাবে কাজ করে তা পরিদর্শন করতে পারে। | আর্থিক প্রতিষ্ঠানগুলি বন্ধ বই: আপনি তাদের ঋণের ইতিহাস, তাদের পরিচালিত সম্পদের রেকর্ড এবং আরও অনেক কিছু দেখতে চাইতে পারবেন না। |
-
+
DeFi অ্যাপগুলি ঘেটে দেখুন
@@ -65,7 +65,7 @@ DeFi এর সম্ভাব্যতা দেখার সর্বোত্
আপনি যদি ইথেরিয়াম-এ নতুন হন তবে চেষ্টা করতে DeFi অ্যাপ্লিকেশনগুলির জন্য আমাদের পরামর্শগুলি এক্সপ্লোর করুন।
-
+
DeFi অ্যাপগুলি ঘেটে দেখুন
@@ -92,7 +92,7 @@ DeFi এর সম্ভাব্যতা দেখার সর্বোত্
একটি ব্লকচেইন হিসাবে, ইথেরিয়াম একটি নিরাপদ এবং বিশ্বব্যাপী লেনদেন পাঠানোর জন্য ডিজাইন করা হয়েছে। বিটকয়েনের মতো, ইথেরিয়াম বিশ্বজুড়ে অর্থ প্রেরণকে একটি ইমেল পাঠানোর মতোই সহজ করে তোলে। আপনার ওয়ালেট থেকে শুধু আপনার প্রাপকের [ENS নাম](/nft/#nft-domains) (যেমন bob.eth) বা তাদের অ্যাকাউন্টের ঠিকানা লিখুন এবং আপনার অর্থপ্রদান মিনিটের মধ্যে সরাসরি তাদের কাছে যাবে (সাধারণত)। পেমেন্ট পাঠাতে বা গ্রহণ করতে, আপনার একটি [ওয়ালেট](/wallets/) প্রয়োজন হবে।
-
+
পেমেন্ট dapps গুলো দেখুন
@@ -123,7 +123,7 @@ Dai বা USDC-এর মতো কয়েনগুলির একটি ম
- পিয়ার-টু-পিয়ার, যার অর্থ একজন ঋণগ্রহীতা সরাসরি একটি নির্দিষ্ট ঋণদাতার কাছ থেকে ধার করবে।
- পুল-ভিত্তিক যেখানে ঋণদাতারা একটি পুলে ফান্ড (লিকুইডিটি) প্রদান করে যেখান থেকে ঋণগ্রহীতারা ধার নিতে পারে।
-
+
ঋণদাতা dapps গুলো দেখুন
@@ -168,7 +168,7 @@ Dai বা USDC-এর মতো কয়েনগুলির একটি ম
প্রথাগত আর্থিক জগতে উপরের উদাহরণটি করতে সক্ষম হতে, আপনার প্রচুর পরিমাণ অর্থের প্রয়োজন হবে। এই অর্থ উপার্জন কৌশল শুধুমাত্র যাদের বিদ্যমান সম্পদ আছে তাদের অ্যাক্সেসযোগ্য। ফ্ল্যাশ লোন হল একটি ভবিষ্যতের উদাহরণ যেখানে অর্থ উপার্জনের জন্য অর্থ থাকা অপরিহার্য নয়।
-[ফ্ল্যাশ লোন সম্পর্কে আরো](https://aave.com/flash-loans/)
+[ফ্ল্যাশ লোন সম্পর্কে আরো](https://aave.com/docs/concepts/flash-loans/)
@@ -183,7 +183,7 @@ Dai বা USDC-এর মতো কয়েনগুলির একটি ম
- সুদের হারের উপর ভিত্তি করে আপনার aDai বৃদ্ধি পাবে এবং আপনি আপনার ওয়ালেটে আপনার ব্যালেন্স বাড়তে দেখতে পাবেন। APR-এর উপর নির্ভর করে, আপনার ওয়ালেট ব্যালেন্স কয়েক দিন বা এমনকি কয়েক ঘন্টা পরে 100.1234 এর মত কিছু পড়বে!
- আপনি যেকোন সময় আপনার aDai ব্যালেন্সের সমান পরিমাণ নিয়মিত Dai তুলতে পারবেন।
-
+
ধার দেওয়া dapps গুলো দেখুন
@@ -211,7 +211,7 @@ PoolTogether-এর মতো নো-লস লটারি অর্থ সঞ
উদাহরণস্বরূপ, আপনি যদি নো-লস লটারি PoolTogether (উপরে বর্ণিত) ব্যবহার করতে চান, তাহলে আপনাকে Dai বা USDC-এর মতো একটি টোকেনের প্রয়োজন হবে। এই DEX গুলি আপনাকে সেই টোকেনগুলির জন্য আপনার ETH অদলবদল করতে এবং আপনার শেষ হয়ে গেলে আবার ফিরে আসতে দেয়।
-
+
টোকেন এক্সচেঞ্জ দেখুন
@@ -223,7 +223,7 @@ PoolTogether-এর মতো নো-লস লটারি অর্থ সঞ
যখন আপনি একটি কেন্দ্রীভূত এক্সচেঞ্জ ব্যবহার করেন তখন আপনাকে ট্রেডের আগে আপনার সম্পদ জমা করতে হবে এবং সেগুলির যত্ন নেওয়ার জন্য তাদের বিশ্বাস করতে হবে। আপনার সম্পদ জমা হওয়ার সময়, সেগুলি ঝুঁকির মধ্যে রয়েছে কারণ কেন্দ্রীভূত এক্সচেঞ্জগুলি হ্যাকারদের জন্য আকর্ষণীয় লক্ষ্য।
-
+
ট্রেডিং dapps দেখুন
@@ -235,7 +235,7 @@ PoolTogether-এর মতো নো-লস লটারি অর্থ সঞ
একটি ভাল উদাহরণ হল [DeFi পালস ইনডেক্স ফান্ড (DPI)](https://defipulse.com/blog/defi-pulse-index/)। এটি এমন একটি তহবিল যা আপনার পোর্টফোলিওতে সর্বদা [বাজার মূলধন দ্বারা শীর্ষ DeFi টোকেন](https://www.coingecko.com/en/defi) অন্তর্ভুক্ত থাকে তা নিশ্চিত করতে স্বয়ংক্রিয়ভাবে ভারসাম্য বজায় রাখে। আপনাকে কখনই কোনো বিবরণ পরিচালনা করতে হবে না এবং আপনি যখন খুশি ফান্ড থেকে উত্তোলন করতে পারেন।
-
+
বিনিয়োগ dapps গুলো দেখুন
@@ -249,7 +249,7 @@ PoolTogether-এর মতো নো-লস লটারি অর্থ সঞ
- এটি স্বচ্ছ তাই তহবিল সংগ্রহকারীরা প্রমাণ করতে পারেন যে কত টাকা তোলা হয়েছে। এমনকি আপনি পরবর্তীতে কীভাবে ফান্ড ব্যয় করা হচ্ছে তাও ট্রেস করতে পারেন।
- তহবিল সংগ্রহকারীরা স্বয়ংক্রিয় অর্থ ফেরত সেটআপ করতে পারে যদি, উদাহরণস্বরূপ, একটি নির্দিষ্ট সময়সীমা এবং ন্যূনতম পরিমাণ পূরণ না হয়।
-
+
ক্রাউডফান্ডিং dapps গুলো দেখুন
@@ -276,7 +276,7 @@ Quadratic funding makes sure that the projects that receive the most funding are
যেকোন সফ্টওয়্যারের মতো ইথেরিয়াম পণ্যগুলি বাগ এবং শোষণের শিকার হতে পারে। তাই এই মুহূর্তে এই ক্ষেত্রে প্রচুর বীমা পণ্য তাদের ব্যবহারকারীদের তহবিলের ক্ষতি থেকে রক্ষা করার উপর ফোকাস করে। যাইহোক, জীবন আমাদের দিকে এগিয়ে দিতে পারে এমন সবকিছুর জন্য কভারেজ তৈরি করতে শুরু করা প্রকল্প রয়েছে। এর একটি ভাল উদাহরণ হল Etherisc এর ক্রপ কভার যার লক্ষ্য [খরা এবং বন্যা থেকে কেনিয়ার ক্ষুদ্র কৃষকদের রক্ষা করুন](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc)। বিকেন্দ্রীভূত বীমা কৃষকদের জন্য সস্তা কভার প্রদান করতে পারে যাদের প্রায়শই প্রথাগত বীমার বাইরে মূল্য দেওয়া হয়।
-
+
বীমা dapps গুলো দেখুন
@@ -286,7 +286,7 @@ Quadratic funding makes sure that the projects that receive the most funding are
এত কিছু করার সাথে, আপনার সমস্ত বিনিয়োগ, ঋণ এবং ব্যবসার ট্র্যাক রাখার জন্য আপনার একটি উপায় প্রয়োজন। অনেকগুলি পণ্য রয়েছে যা আপনাকে আপনার সমস্ত DeFi কার্যকলাপকে এক জায়গা থেকে সমন্বয় করতে দেয়। এটি DeFi এর উন্মুক্ত আর্কিটেকচারের সৌন্দর্য। দলগুলো এমন ইন্টারফেস তৈরি করতে পারে যেখানে আপনি কেবল পণ্য জুড়ে আপনার ব্যালেন্স দেখতে পাবেন না, আপনি তাদের বৈশিষ্ট্যগুলিও ব্যবহার করতে পারেন। আপনি DeFi এর আরও এক্সপ্লোর করার সাথে সাথে এটি দরকারী বলে মনে হতে পারে।
-
+
পোর্টফোলিও dapps সমূহ দেখুন
@@ -318,7 +318,7 @@ DeFi-এ, একটি স্মার্ট কন্ট্র্যাক্
1. ব্লকচেইন – ইথেরিয়ামে লেনদেনের ইতিহাস এবং অ্যাকাউন্টের অবস্থা ধারন করে।
2. সম্পদ – [ETH](/eth/) এবং অন্যান্য টোকেনগুলো (মুদ্রাসমূহ)।
3. প্রোটোকল - [স্মার্ট কনট্র্যাক্ট](/glossary/#smart-contract) যাকিনা কার্যকারিতা প্রদান করে, উদাহরণস্বরূপ, একটি পরিষেবা যা সম্পদের বিকেন্দ্রীভূত ঋণের অনুমতি দেয়।
-4. [অ্যাপ্লিকেশানগুলো](/dapps/) – প্রোটোকলগুলি পরিচালনা এবং অ্যাক্সেস করতে আমরা যে পণ্যগুলি ব্যবহার করি।
+4. [অ্যাপ্লিকেশানগুলো](/apps/) – প্রোটোকলগুলি পরিচালনা এবং অ্যাক্সেস করতে আমরা যে পণ্যগুলি ব্যবহার করি।
## DeFi তৈরি করুন {#build-defi}
diff --git a/public/content/translations/bn/desci/index.md b/public/content/translations/bn/desci/index.md
index 8a912117316..4a229f933dc 100644
--- a/public/content/translations/bn/desci/index.md
+++ b/public/content/translations/bn/desci/index.md
@@ -96,7 +96,7 @@ Web3 প্যাটার্ন ব্যবহার করে বৈজ্ঞ
- [VitaDAO: দীর্ঘায়ু গবেষণার জন্য স্পনসরড গবেষণা চুক্তির মাধ্যমে অর্থায়ন পান](https://www.vitadao.com/)
- [ResearchHub: একটি বৈজ্ঞানিক ফলাফল পোস্ট করুন এবং সহকর্মীদের সাথে কথোপকথনে নিযুক্ত হন](https://www.researchhub.com/)
- [LabDAO: সিলিকোতে একটি প্রোটিন ভাঁজ করুন](https://alphafodl.vercel.app/)
-- [dClimate API: একটি বিকেন্দ্রীভূত সম্প্রদায়ের দ্বারা সংগৃহীত জলবায়ু সংক্রান্ত তথ্য অনুসন্ধান করে](https://api.dclimate.net/)
+- [dClimate API: একটি বিকেন্দ্রীভূত সম্প্রদায়ের দ্বারা সংগৃহীত জলবায়ু সংক্রান্ত তথ্য অনুসন্ধান করে](https://www.dclimate.net/)
- [DeSci ফাউন্ডেশন: DeSci প্রকাশনা টুল নির্মাতা](https://descifoundation.org/)
- [DeSci.World: ব্যবহারকারীদের দেখার জন্য, বিকেন্দ্রীভূত বিজ্ঞানের সাথে জড়িত থাকার ওয়ান-স্টপ শপ](https://desci.world)
- [ফ্লেমিং প্রোটোকল: ওপেন-সোর্স ডেটা ইকোনমি যা সহযোগিতামূলক বায়োমেডিকাল আবিষ্কারকে জ্বালানী দেয়](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd)
@@ -120,7 +120,7 @@ Web3 প্যাটার্ন ব্যবহার করে বৈজ্ঞ
- [একটি a16z ভবিষ্যতের জন্য Jocelynn Pearl এর বিকেন্দ্রীভূত বায়োটেকের একটি নির্দেশিকা](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [DeSci এর জন্য ক্ষেত্র](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [DeSci-এর নির্দেশিকা](https://future.com/what-is-decentralized-science-aka-desci/)
-- [বিকেন্দ্রীকৃত বিজ্ঞান রিসোর্সসমূহ](https://www.vincentweisser.com/decentralized-science)
+- [বিকেন্দ্রীকৃত বিজ্ঞান রিসোর্সসমূহ](https://www.vincentweisser.com/desci)
- [মলিকিউলের বায়োফার্মা IP-NFT - একটি প্রযুক্তিগত বর্ণনা](https://molecule.to/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [জন স্টারের তৈরি করা বিজ্ঞানের বিশ্বাসহীন সিস্টেম](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [বায়োটেক DAO-এর উত্থান](https://molecule.to/blog/the-emergence-of-biotech-daos)
diff --git a/public/content/translations/bn/enterprise/index.md b/public/content/translations/bn/enterprise/index.md
index 6871e8aa31c..64550106063 100644
--- a/public/content/translations/bn/enterprise/index.md
+++ b/public/content/translations/bn/enterprise/index.md
@@ -40,7 +40,7 @@ lang: bn
- [Blockapps](https://blockapps.net/)_এন্টারপ্রাইজ ইথেরিয়াম প্রোটোকলের বাস্তবায়ন, টুলিং এবং APIs যেগুলি STRATO প্ল্যাটফর্ম গঠন করে_
- [Clearmatics](https://www.clearmatics.com/about)_প্রোটোকল এবং পিয়ার-টু-পিয়ার প্ল্যাটফর্ম আর্কিটেকচার, ব্লকচেইন R&D কোম্পানি।_
- [PegaSys Plus](https://pegasys.tech/enterprise/)_ HF বেসু-র মতো একই বৈশিষ্ট্য এবং কার্যকারিতা, অতিরিক্ত এন্টারপ্রাইজ ফোকাসড বেনিফিট প্রদান করে_
-- [Quorum](https://www.goquorum.com/) _একটি ওপেন সোর্স ব্লকচেইন প্ল্যাটফর্ম যা এন্টারপ্রাইজের প্রয়োজনগুলিকে সমর্থন করার জন্য সর্বজনীন ইথেরিয়াম সম্প্রদায়ের উদ্ভাবনকে উন্নয়নের সাথে সংযুক্ত করে।_
+- [Quorum](https://docs.goquorum.consensys.io/) _একটি ওপেন সোর্স ব্লকচেইন প্ল্যাটফর্ম যা এন্টারপ্রাইজের প্রয়োজনগুলিকে সমর্থন করার জন্য সর্বজনীন ইথেরিয়াম সম্প্রদায়ের উদ্ভাবনকে উন্নয়নের সাথে সংযুক্ত করে।_
## প্রোটোকল এবং পরিকাঠামো {#protocol-and-infrastructure}
@@ -63,7 +63,7 @@ lang: bn
- [Ernst & Young's ‘Nightfall'](https://github.com/EYBlockchain/nightfall) _আরো তথ্য [এখানে](https://bravenewcoin.com/insights/ernst-and-young-rolls-out-'nightfall-to-enable-private-transactions-on)_
- [Pegasys' Orion](https://docs.pantheon.pegasys.tech/en/stable/Concepts/Privacy/Privacy-Overview/) _আরো তথ্য এখানে_
-- [Quorum's Tessera](https://docs.goquorum.com/en/latest/Privacy/Tessera/Tessera/) _আরো তথ্য_
+- [Quorum's Tessera](https://docs.goquorum.consensys.io/concepts/privacy#private-transaction-manager/) _আরো তথ্য_
- [এখানে](https://github.com/jpmorganchase/tessera/wiki/How-Tessera-works)
### নিরাপত্তা {#security}
@@ -74,7 +74,7 @@ lang: bn
### টুলিং {#tooling}
- [Alethio](https://explorer.aleth.io/) _ইথেরিয়াম ডেটা অ্যানালিটিক্স প্ল্যাটফর্ম_
-- [Treum](https://treum.io/) _ব্লকচেইন প্রযুক্তি ব্যবহার করে সাপ্লাই চেইনের ক্ষেত্রে স্বচ্ছতা, ট্রেসেবিলিটি এবং ব্যবসায়যোগ্যতা নিয়ে আসে_
+- [Treum](https://consensys.io/blog/consensys-acquires-treum) _ব্লকচেইন প্রযুক্তি ব্যবহার করে সাপ্লাই চেইনের ক্ষেত্রে স্বচ্ছতা, ট্রেসেবিলিটি এবং ব্যবসায়যোগ্যতা নিয়ে আসে_
## এন্টারপ্রাইজ ডেভেলপার সম্প্রদায় {#enterprise-developer-community}
diff --git a/public/content/translations/bn/eth/index.md b/public/content/translations/bn/eth/index.md
index 23d2bb56f3d..76539d4fb3b 100644
--- a/public/content/translations/bn/eth/index.md
+++ b/public/content/translations/bn/eth/index.md
@@ -14,7 +14,7 @@ lang: bn
## ETH কী এবং আমি কীভাবে এটি পেতে পারি? {#what-is-eth-and-how-do-i-get-it}
-ইথার বা ETH হল ইথেরিয়ামের স্থানীয় মুদ্রা। এটি হ'ল "ডিজিটাল অর্থ" যা তাৎক্ষণিকভাবে এবং সস্তায় ইন্টারনেটের মাধ্যমে পাঠানো যায় এবং অনেকগুলি [ইথেরিয়াম-ভিত্তিক অ্যাপ্লিকেশনেও](/bn/dapps/) ব্যবহার করা যায়।
+ইথার বা ETH হল ইথেরিয়ামের স্থানীয় মুদ্রা। এটি হ'ল "ডিজিটাল অর্থ" যা তাৎক্ষণিকভাবে এবং সস্তায় ইন্টারনেটের মাধ্যমে পাঠানো যায় এবং অনেকগুলি [ইথেরিয়াম-ভিত্তিক অ্যাপ্লিকেশনেও](/apps/) ব্যবহার করা যায়।
ETH পাওয়ার সহজতম উপায় হ'ল কয়েকটি ক্রয় করা। অনেকগুলি ক্রিপ্টোকারেন্সি এক্সচেঞ্জ আছে যা আপনাকে ETH কেনার অনুমতি দেবে, তবে আপনার কোনটি ব্যবহার করা উচিত তা নির্ভর করবে আপনি কোথায় থাকেন এবং কীভাবে আপনি অর্থ প্রদান করতে চান তার উপর।
diff --git a/public/content/translations/bn/refi/index.md b/public/content/translations/bn/refi/index.md
index 30c5fc4247f..9eb7b22cfb2 100644
--- a/public/content/translations/bn/refi/index.md
+++ b/public/content/translations/bn/refi/index.md
@@ -47,7 +47,7 @@ ReFi প্রকল্পগুলি প্রথাগত বাজারে
- **লিকুইডিটি অল্প সংখ্যক লিকুইডিটি পুলে কেন্দ্রীভূত হয়** যা যে কেউ অবাধে ট্রেড করতে পারে। বড় সংস্থাগুলির পাশাপাশি স্বতন্ত্র ব্যবহারকারীরা বিক্রেতা/ক্রেতাদের জন্য ম্যানুয়াল অনুসন্ধান, অংশগ্রহণ ফি বা পূর্ব নিবন্ধন ছাড়াই এই পুলগুলি ব্যবহার করতে পারেন।
- **সমস্ত লেনদেন পাবলিক ব্লকচেইনে রেকর্ড করা হয়**। ট্রেডিং ক্রিয়াকলাপের কারণে প্রতিটি কার্বন ক্রেডিট যে পথটি নেয় তা DCM-এ এভেইল্যাবল হওয়ার সাথে সাথে চিরতরে শনাক্ত করা যায়।
- **লেনদেনের গতি প্রায় তাৎক্ষণিক**। পূর্ববর্তী বাজারের মাধ্যমে প্রচুর পরিমাণে কার্বন ক্রেডিট সুরক্ষিত করতে কয়েক দিন বা সপ্তাহ সময় লাগতে পারে তবে এটি DCM-এ কয়েক সেকেন্ডের মধ্যে অর্জন করা যেতে পারে।
-- **ব্যবসায়িক কার্যকলাপ মধ্যস্থতাকারীদের ছাড়াই ঘটে**, যা উচ্চ ফি চার্জ করে। একটি অ্যানালিটিক্স ফার্মের তথ্য অনুসারে, [ডিজিটাল কার্বন ক্রেডিটগুলি সমতুল্য প্রথাগত ক্রেডিটের তুলনায় 62% ব্যয়ের উন্নতি](https://www.klimadao.finance/blog/klimadao-analysis-of-the-base-carbon-tonne) প্রতিনিধিত্ব করে।
+- **ব্যবসায়িক কার্যকলাপ মধ্যস্থতাকারীদের ছাড়াই ঘটে**, যা উচ্চ ফি চার্জ করে। একটি অ্যানালিটিক্স ফার্মের তথ্য অনুসারে, [ডিজিটাল কার্বন ক্রেডিটগুলি সমতুল্য প্রথাগত ক্রেডিটের তুলনায় 62% ব্যয়ের উন্নতি](https://www.klimadao.finance/resources/klimadao-impact-report-analysis-of-the-base-carbon-tonne) প্রতিনিধিত্ব করে।
- **DCM মাপযোগ্য** এবং একইভাবে ব্যক্তি এবং বহুজাতিক কর্পোরেশনের চাহিদা মেটাতে পারে।
### DCM এর মূল উপাদান {#key-components-dcm}
diff --git a/public/content/translations/bn/smart-contracts/index.md b/public/content/translations/bn/smart-contracts/index.md
index ad532d0f4fc..3f9bf5f29a8 100644
--- a/public/content/translations/bn/smart-contracts/index.md
+++ b/public/content/translations/bn/smart-contracts/index.md
@@ -65,7 +65,7 @@ Szabo একটি ডিজিটাল মার্কেটপ্লেসে
- [স্টেবলকয়েন](/stablecoins/)
- [অনন্য ডিজিটাল সম্পদ তৈরি এবং বিতরণ](/nft/)
- [একটি স্বয়ংক্রিয়, উন্মুক্ত মুদ্রা বিনিময়](/get-eth/#dex)
-- [বিকেন্দ্রীভূত গেমিং](/dapps/?category=gaming#explore)
+- [বিকেন্দ্রীভূত গেমিং](/apps/?category=gaming#explore)
- [একটি বীমা পলিসি যা স্বয়ংক্রিয়ভাবে পরিশোধ করে](https://etherisc.com/)
- [একটি মান যা লোকেদের কাস্টমাইজড, ইন্টারঅপারেবল মুদ্রা তৈরি করতে দেয়](/developers/docs/standards/tokens/)
diff --git a/public/content/translations/bn/social-networks/index.md b/public/content/translations/bn/social-networks/index.md
index 4017963bba3..574978c40fc 100644
--- a/public/content/translations/bn/social-networks/index.md
+++ b/public/content/translations/bn/social-networks/index.md
@@ -21,7 +21,7 @@ summaryPoint3: টোকেন এবং NFT কনটেন্ট নগদী
### বিকেন্দ্রীভূত সামাজিক নেটওয়ার্ক কিভাবে কাজ করে? {#decentralized-social-networks-overview}
-বিকেন্দ্রীভূত সামাজিক নেটওয়ার্ক হল [বিকেন্দ্রীভূত অ্যাপ্লিকেশনের (dapps)](/dapps/) একটি শ্রেণী—[স্মার্ট কন্ট্র্যাক্ট](/developers/docs/smart-contracts/) দ্বারা চালিত অ্যাপ্লিকেশন যেগুলো ব্লকচেইনে স্থাপন করা হয়েছে। কনট্র্যাক্ট কোড এই অ্যাপগুলির জন্য ব্যাকএন্ড হিসাবে কাজ করে এবং তাদের ব্যবসার যুক্তি সংজ্ঞায়িত করে।
+বিকেন্দ্রীভূত সামাজিক নেটওয়ার্ক হল [বিকেন্দ্রীভূত অ্যাপ্লিকেশনের (dapps)](/apps/) একটি শ্রেণী—[স্মার্ট কন্ট্র্যাক্ট](/developers/docs/smart-contracts/) দ্বারা চালিত অ্যাপ্লিকেশন যেগুলো ব্লকচেইনে স্থাপন করা হয়েছে। কনট্র্যাক্ট কোড এই অ্যাপগুলির জন্য ব্যাকএন্ড হিসাবে কাজ করে এবং তাদের ব্যবসার যুক্তি সংজ্ঞায়িত করে।
প্রথাগত সোশ্যাল মিডিয়া প্ল্যাটফর্মগুলি ব্যবহারকারীর তথ্য, প্রোগ্রাম কোড এবং অন্যান্য ধরণের ডেটা সঞ্চয় করার জন্য ডেটাবেসের উপর নির্ভর করে। কিন্তু এটি ব্যর্থতার একক পয়েন্ট তৈরি করে এবং উল্লেখযোগ্য ঝুঁকির পরিচয় দেয়। উদাহরণস্বরূপ, গত বছর ফেসবুকের সার্ভারগুলি [কয়েক ঘন্টার জন্য অফলাইন হয়ে যায়](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact), যার ফলে ব্যবহারকারীরা প্ল্যাটফর্ম থেকে বিচ্ছিন্ন হয়ে যায়।
@@ -79,7 +79,7 @@ Reddit [কমিউনিটি পয়েন্টগুলি প্রচ
এই প্রোগ্রামটি ইতিমধ্যেই লাইভ এবং r/CryptoCurrency [সাবরেডিট "মুনস" নামের এর কমিউনিটি পয়েন্টের ভার্সন রান করছে](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki)। অফিসিয়াল বিবরণ অনুসারে, মুনস "সাবরেডিতে অবদানের জন্য পোস্টার, মন্তব্যকারী এবং মডারেটরদের পুরস্কৃত করে।" যেহেতু এই টোকেনগুলি ব্লকচেইনে রয়েছে (ব্যবহারকারীরা এগুলি ওয়ালেটগুলিতে গ্রহণ করে), তারা Reddit থেকে স্বাধীন এবং এটি কেড়ে নেওয়া যায় না।
-Rinkeby টেস্টনেট-এ একটি বিটা পর্ব শেষ করার পর, Reddit কমিউনিটি পয়েন্টগুলি এখন [Arbitrum Nova](https://nova.arbitrum.io/)-এ রয়েছে, একটি ব্লকচেইন যা
+
Exploreu aplicacions DeFi
@@ -65,7 +65,7 @@ Sona estrany... «per què he de voler programar els meus diners»? En tot cas,
Exploreu els nostres suggeriments d'aplicacions DeFi per provar-les, si sou novells a Ethereum.
-
+
Exploreu aplicacions DeFi
@@ -92,7 +92,7 @@ Hi ha una alternativa descentralitzada a la majoria dels serveis financers. Per
Com a cadena de blocs (o «blockchain»), Ethereum està dissenyat per enviar transaccions de forma segura i global. Igual que Bitcoin, Ethereum converteix l'acte d'enviar diners arreu del món en una cosa tan fàcil com enviar un correu electrònic. Només heu d'introduir el [el nom ENS](/nft/#nft-domains) del destinatari (com josep.eth) o l'adreça de la seva cartera i el vostre pagament li arribarà en qüestió de minuts (normalment). Per a enviar o rebre pagaments, necessiteu una [cartera](/wallets/).
-
+
Exploreu dapps de pagament
@@ -123,7 +123,7 @@ Obtenir diners prestats de proveïdors descentralitzats té dues varietats princ
- Persona-persona, és a dir el prestatari obtindrà el préstec directament d'un prestador específic.
- Basat en grups, on els prestadors proveeixen els fons (liquiditat) a un grup d'on els prestataris poden obtenir els préstecs.
-
+
Exploreu dapps per obtenir préstecs
@@ -168,7 +168,7 @@ Si la disponibilitat del mercat B cau de sobte i l'usuari no pot comprar prou ac
Per a poder dur a terme l'exemple anterior en les finances tradicionals, necessitaríeu una quantitat enorme de diners. Aquest tipus d'estratègies de negoci només estan disponibles per aquells que disposin d'una gran riquesa. Els préstecs ràpids són un exemple d'un futur on tenir diners no és necessàriament un prerequisit per a guanyar diners.
-[Més sobre préstecs ràpids](https://aave.com/flash-loans/)
+[Més sobre préstecs ràpids](https://aave.com/docs/concepts/flash-loans/)
@@ -183,7 +183,7 @@ Podeu guanyar interessos per les vostres criptomonedes fent préstecs i veure co
- Els vostres aDai s'incrementaran en base als tipus d'interès i podreu veure créixer el vostre saldo a la vostra cartera. En funció del tipus d'interès, el saldo de la vostra cartera serà de 100.1234 al cap d'uns pocs dies o, fins i tot, hores!
- Podeu retirar una quantitat de Dai normal, igual a la del vostre saldo, en qualsevol moment.
-
+
Veure dApps de préstecs
@@ -211,7 +211,7 @@ Hi ha milers de tókens a Ethereum. Els mercats d'intercanvi descentralitzats (D
Per exemple, si voleu fer servir la loteria sense pèrdues PoolTogether (descrita més amunt), necessitareu un token com Dai o USDC. Aquests DEX us permeten intercanviar els vostres ETH per aquets tókens i recuperar els ETH quan hàgiu acabat.
-
+
Veure intercanvi de tókens
@@ -223,7 +223,7 @@ Hi ha opcions més avançades per a qui vulgui una mica més de control sobre le
Quan feu servir un mercat (o casa de canvi) centralitzat heu de dipositar-hi els vostres actius abans d'executar la transacció i confiar que els vigilaran per tu. Mentre els vostres actius estan dipositats estan en risc, ja que els mercats centralitzats són objectius atractius per als hackers.
-
+
Veure dapps de comerç
@@ -235,7 +235,7 @@ Hi ha productes de gestió de fons a Ethereum que poden fer créixer la vostra c
Un bon exemple és el [fons DeFi Pulse Index (DPI)](https://defipulse.com/blog/defi-pulse-index/). Aquest és un fons que s'ajusta automàticament per assegurar que la vostra cartera sempre inclou [els tókens DeFi més rellevants en funció de la seva capitalització](https://www.coingecko.com/en/defi). Mai n'heu de gestionar cap detall i podeu retirar actius del fons en qualsevol moment.
-
+
Veure dapps d'inversió
@@ -249,13 +249,13 @@ Ethereum és una plataforma ideal per al crowfunding:
- És transparent, de manera que els receptors dels fons poden demostrar la quantitat de diners que han aixecat. Fins i tot podeu seguir el rastre de com els fons s'apliquen més endavant.
- Els receptors dels fons poden definir el retorn immediat dels diners si, per exemple, hi ha una data límit per aconseguir una quantitat mínima.
-
+
Veure dapps de crowfunding
#### Finançament quadràtic {#quadratic-funding}
-Ethereum és un sofware de codi obert i molta de la feina que s'ha fet fins ara l'ha finançada la comunitat. Això ha comportat el creixement d'un nou model de finançament interessant: el finançament quadràtic. Té el potencial de millorar la manera en què es subvenciona tot tipus de béns públics en un futur.
+Ethereum és un software de codi obert i molta de la feina que s'ha fet fins ara l'ha finançada la comunitat. Això ha comportat el creixement d'un nou model de finançament interessant: el finançament quadràtic. Té el potencial de millorar la manera en què es subvenciona tot tipus de béns públics en un futur.
El finançament quadràtic assegura que els projectes que reben més finançament són aquells amb major demanda única. En altres paraules, projectes que pretenen millorar les vides del major nombre de persones. Funciona així:
@@ -276,7 +276,7 @@ Les assegurances descentralitzades pretenen ser més econòmiques, ràpides a co
Els productes Ethereum, com qualsevol software, poden tenir errors de codi i ser atacats. Així que, en aquests moments, moltes de les assegurances en aquest sector se centren en protegir els usuaris de la possible pèrdua dels seus fons. Tot i això hi ha projectes que estan treballant per donar cobertura a qualsevol accident habitual. Un bon exemple n'és la cobertura d'Etherisc Crop que pretén [protegir petits agricultors a Kènia de les pèrdues per sequeres i inundacions](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Les assegurances descentralitzades poden proporcionar cobertures més econòmiques als agricultors que, sovint, no poden permetre's assegurances tradicionals.
-
+
Veure dapps d'assegurances
@@ -286,7 +286,7 @@ Els productes Ethereum, com qualsevol software, poden tenir errors de codi i ser
Amb tantes coses alhora, necessitareu una forma per fer un seguiment de totes les inversions, préstecs i compra-vendes. Hi ha una munió de productes que us permeten coordinar la vostra activitat DeFi des d'un mateix lloc. Aquesta és la bellesa de l'arquitectura oberta de les DeFi. Equips de desenvolupadors fan interfícies on no només podeu veure els saldos de tots els vostres productes, sinó que també podeu utilitzar les seves funcions. Això us pot ser útil alhora que continueu l'exploració de les DeFi.
-
+
Veure les dapps de gestió de carteres
@@ -318,7 +318,7 @@ Podeu pensar en les DeFi com en capes:
1. La cadena de blocs («blockchain»): Ethereum conté l'historial de transaccions i l'estat dels comptes.
2. Els actius: [ETH](/eth/) i la resta de tókens (divises).
3. Els protocols\_ [contractes intel·ligents](/glossary/#smart-contract) que proporcionen les funcionalitats, per exemple un servei que permeti el préstec d'actius de forma descentralitzada.
-4. [Les aplicacions](/dapps/): els productes que fem servir per a gestionar i accedir als protocols.
+4. [Les aplicacions](/apps/): els productes que fem servir per a gestionar i accedir als protocols.
## Construir les DeFi {#build-defi}
diff --git a/public/content/translations/ca/governance/index.md b/public/content/translations/ca/governance/index.md
index e021010a327..9ec10ef8d41 100644
--- a/public/content/translations/ca/governance/index.md
+++ b/public/content/translations/ca/governance/index.md
@@ -44,7 +44,7 @@ Hi ha diversos tipus de tenidors a la [comunitat Ethereum](/community/) i cadasc
- **Tenidors d'Ether**: gent que posseeix una quantitat arbitrària d'ETH. [Més informació sobre ETH](/eth/).
- **Usuaris d'aplicacions**: gent que interactua amb les aplicacions a la cadena de blocs d'Ethereum.
-- **Desenvolpadors d'aplicacions/eines**: gent que escriu aplicacions executades a la cadena de blocs d'Ethereum (p. ex. DeFi, NFT, etc.) o fabrica eines per interactuar amb Ethereum (p. ex. carteres, conjunts de proves, etc.). [Més informació sobre dapps](/dapps/).
+- **Desenvolpadors d'aplicacions/eines**: gent que escriu aplicacions executades a la cadena de blocs d'Ethereum (p. ex. DeFi, NFT, etc.) o fabrica eines per interactuar amb Ethereum (p. ex. carteres, conjunts de proves, etc.). [Més informació sobre dapps](/apps/).
- **Operadors de nodes**: gent que executa nodes que propaguen blocs i transaccions i refusa qualsevol transacció o bloc invàlids amb què es trobin. [Més informació sobre els nodes](/developers/docs/nodes-and-clients/).
- **Autors d'EIP**: gent que proposa canvis al protocol Ethereum en forma de Propostes de Millora d'Ethereum («Ethereum Improvement Proposals» o EIP en anglès). [Més informació sobre les EIP](/eips/).
- **Miners/validadors**: gent que executa nodes que poden afegir nous blocs a la cadena de blocs d'Ethereum.
@@ -118,7 +118,7 @@ Per norma general, els desacords s'aborden en llargues discussions en fòrums p
Les bifurcacions es donen quan s'han de fer importants millores tècniques o modificacions a la xarxa i canvien les «normes» del protocol. [Els clients Ethereum](/developers/docs/nodes-and-clients/) han d'actualitzar el software per a implementar les noves normes de la bifurcació.
-La bifurcació d'una DAO va ser la resposta a [l'atac d'una DAO el 2016](https://www.coindesk.com/understanding-dao-hack-journalists), on un contracte insegur d'una [DAO](/glossary/#dao) va patir un drenatge de més de 3,6 milions d'ETH en un hack. La bifurcació va moure els fons del contracte defectuós al nou contracte i va permetre recuperar els fons a qui n'hagués perdut a causa del pirateig.
+La bifurcació d'una DAO va ser la resposta a [l'atac d'una DAO el 2016](https://www.coindesk.com/learn/understanding-the-dao-attack), on un contracte insegur d'una [DAO](/glossary/#dao) va patir un drenatge de més de 3,6 milions d'ETH en un hack. La bifurcació va moure els fons del contracte defectuós al nou contracte i va permetre recuperar els fons a qui n'hagués perdut a causa del pirateig.
La comunitat d'Ethereum va votar a favor d'aquest pla d'acció. Qualsevol titular d'ETH va poder votar mitjançant una transacció a [una plataforma de votació](http://v1.carbonvote.com/). La decisió de bifurcar va assolir el 85% dels vots.
diff --git a/public/content/translations/ca/nft/index.md b/public/content/translations/ca/nft/index.md
index a527dec790f..41d44d8f374 100644
--- a/public/content/translations/ca/nft/index.md
+++ b/public/content/translations/ca/nft/index.md
@@ -56,7 +56,7 @@ Potser sou un artista i voleu compartir la vostra obra utilitzant els NFT, sense
Exploreu, compreu o creeu els vostres propis NFT d'art o col·leccionables...
-
+
Exploreu l'art NFT
diff --git a/public/content/translations/ca/security/index.md b/public/content/translations/ca/security/index.md
index 9eb6671feb6..93fdd1769dc 100644
--- a/public/content/translations/ca/security/index.md
+++ b/public/content/translations/ca/security/index.md
@@ -276,7 +276,7 @@ Les estafes d'enviament involucren que un projecte d'estafa enviï un actiu (NFT
### Criptoseguretat {#reading-crypto-security}
- [Protegint-vos a vosaltres i als vostres fons](https://support.mycrypto.com/staying-safe/protecting-yourself-and-your-funds) - _MyCrypto_
-- [Quatre formes d'anar amb compte en el món de les criptomonedes](https://www.coindesk.com/tech/2021/04/20/4-ways-to-stay-safe-in-crypto/) - _CoinDesk_
+- [Quatre formes d'anar amb compte en el món de les criptomonedes](https://www.coindesk.com/learn/4-ways-to-stay-safe-in-crypto/) - _CoinDesk_
- [Guia de seguretat per a principiants i també per a gent intel·ligent](https://medium.com/mycrypto/mycryptos-security-guide-for-dummies-and-smart-people-too-ab178299c82e) - _MyCrypto_
- [Criptoseguretat: contrasenyes i autenticacions](https://www.youtube.com/watch?v=m8jlnZuV1i4) - _Andreas M. Antonopoulos_
diff --git a/public/content/translations/cs/about/index.md b/public/content/translations/cs/about/index.md
new file mode 100644
index 00000000000..50081388ba3
--- /dev/null
+++ b/public/content/translations/cs/about/index.md
@@ -0,0 +1,129 @@
+---
+title: O nás
+description: O týmu, komunitě a misi ethereum.org
+lang: cs
+---
+
+# O platformě Ethereum {#about-ethereumorg}
+
+ethereum.org je veřejný, open-source projekt pro komunitu Ethereum, do kterého může přispět každý. Máme malý klíčový tým, který se věnuje údržbě a rozvoji webu, s přispěním tisíců členů komunity z celého světa.
+
+**Nikdo z ethereum.org vás nikdy nebude kontaktovat. Neodpovídejte.**
+
+## Poznámka k názvům {#a-note-on-names}
+
+Je běžné, že lidé zaměňují názvy v rámci ekosystému Etherea, což může vést k mylným představám o tom, jak Ethereum funguje. Zde je rychlé vysvětlení, aby se věci vyjasnily:
+
+### Ethereum {#ethereum}
+
+Ethereum je veřejná síť, blockchain a open-source protokol – provozovaný, řízený, spravovaný a vlastněný globální komunitou desítek tisíc vývojářů, provozovatelů uzlů, držitelů ETH a uživatelů.
+
+[Více o Ethereu](/what-is-ethereum/)
+
+[Více o řízení Etherea](/governance/)
+
+### Ether (ETH) {#ether-or-eth}
+
+Ether (také známý pod svým tickerovým symbolem ETH) je nativní měna používaná k realizaci transakcí na Ethereu. ETH je potřeba k placení za používání sítě Ethereum (ve formě transakčních poplatků). ETH se také používá k zabezpečení sítě prostřednictvím uzamčení. Když lidé mluví o ceně Etherea, mají na mysli ETH jako aktivum.
+
+[Více o ETH](/eth/)
+
+[Více o uzamčení ETH](/staking/)
+
+### Nadace Ethereum {#ethereum-foundation}
+
+Nezisková organizace, financovaná původně z prodeje ETH, která se věnuje podpoře sítě a ekosystému Ethereum.
+
+[Více o Nadaci Ethereum](/foundation/)
+
+### ethereum.org {#ethereum-org}
+
+Veřejná, open-source webová stránka a vzdělávací zdroj pro komunitu Ethereum. ethereum.org vede malý klíčový tým, financovaný Nadací Ethereum, s přispěním tisíců členů komunity z celého světa.
+
+Tato stránka uvádí další informace o ethereum.org.
+
+## Naše mise {#our-mission}
+
+**Posláním ethereum.org je být nejlepším portálem pro rostoucí ethereovskou komunitu**
+
+Snažíme se vytvořit snadno pochopitelný vzdělávací zdroj pokrývající všechna témata související s Ethereem, navržený tak, aby pomohl novým uživatelům. Chceme:
+
+- Vysvětlit Ethereum všem, kteří se s touto technologií teprve seznamují
+- Pomoci novým uživatelům začít pracovat s ETH a Ethereem
+- Pomoci novým vývojářům začít stavět na Ethereu
+- Informovat o novinkách ve světě Etherea
+- Prezentovat zdroje vytvořené komunitou
+- Vzdělávat v oblasti Etherea v co největším počtu jazyků
+
+Abychom dosáhli této mise, náš tým se zaměřuje na dva hlavní cíle na ethereum.org:
+
+### 1. Zlepšení uživatelské zkušenosti pro návštěvníky ethereum.org {#visitors}
+
+- Rozšiřování, vylepšování a udržování aktuálního obsahu
+- Zlepšování použitelnosti a přístupnosti prostřednictvím lokalizace a osvědčených postupů webového vývoje
+- Zvýšení zapojení uživatelů prostřednictvím funkcí jako průzkumy, kvízy a integrace web3
+- Udržování webu jednoduchého a výkonného
+
+### 2. Růst, posilování a umocňování naší komunity přispěvatelů {#community}
+
+- Zvýšení celkového počtu přispěvatelů na webu
+- Zlepšení retence přispěvatelů prostřednictvím zapojení, uznání a odměn
+- Povzbuzování členů komunity k čím dál většímu přispívání
+- Podpora větší rozmanitosti příspěvků: kód, obsah, design, překlady, moderace
+- Udržování moderního, čistého a dobře zdokumentovaného kódu
+
+## Základní zásady {#core-principles}
+
+Máme několik základních zásad, které nám pomáhají k naplnění naší mise.
+
+### 1. ethereum.org je portál pro Ethereum 🌏 {#core-principles-1}
+
+Chceme, aby naši uživatelé měli zájem a jejich otázky byly zodpovězeny. Náš portál tedy musí kombinovat informace, „kouzelné okamžiky“ a odkazy na skvělé komunitní zdroje. Účelem našeho obsahu je být „nástupním portálem“, nikoliv náhradou za již existující rozsáhlé zdroje. Rádi bychom podpořili a integrovali zdroje vytvořené komunitou, zviditelnili je a učinili je lépe dohledatelnými. [Komunita Ethereum](/community/) je v centru dění: musíme komunitě nejen sloužit, ale také s ní spolupracovat a zapracovávat její zpětnou vazbu. Web není určen pouze pro komunitu, kterou máme nyní, ale pro komunitu, do které doufáme jednou přerůst. Musíme mít na paměti, že naše komunita je globální a obsahuje lidi různých řečí, regionů a kultur.
+
+### 2. ethereum.org se neustále vyvíjí 🛠 {#core-principles-2}
+
+Ethereum a komunita se neustále vyvíjejí a to stejné platí i o ethereum.org. Proto má web jednoduchý design a modulární strukturu. Dozvídáme se více o tom, jak lidé web používají a co od nich komunita chce, a provádíme opětovné změny. Jsme open source s komunitou přispěvatelů, takže i vy můžete navrhovat změny nebo nám pomáhat. [Více informací o přispívání](/contributing/)
+
+### 3. ethereum.org není typický produktový web 🦄 {#core-principles-3}
+
+Ethereum je velká věc: zahrnuje komunitu, technologii, soubor myšlenek a ideologií a další. To znamená, že web musí vyhovět uživatelům různých zaměření, od „vývojáře, který chce konkrétní nástroj“, až po „nováčka, který si právě koupil ETH a neví, co je to peněženka“. „Jaká je nejlepší webová stránka pro blockchainovou platformu?“ zůstává otevřenou otázkou – jsme průkopníci. Její budování vyžaduje experimentování.
+
+## Plán produktů {#roadmap}
+
+Aby byla naše práce přístupnější a podpořili jsme více komunitní spolupráce, publikuje klíčový tým ethereum.org přehled našich plánovaných cílů v rámci [formovacích cyklů](https://www.productplan.com/glossary/shape-up-method/).
+
+[Podívejte se na náš produktový plán pro cyklus 1 roku 2025](https://github.com/ethereum/ethereum-org-website/issues/14726)
+
+**Jak se vám líbí?** Vždy oceníme zpětnou vazbu k našemu plánu – pokud je něco, na čem bychom podle vás měli pracovat, dejte nám vědět! Vítáme nápady a PR od kohokoli z komunity.
+
+**Chcete se zapojit?** [Přečtěte si další informace o přispívání](/contributing/), [napište nám na Twitteru](https://twitter.com/ethdotorg) nebo se připojte k diskusím komunity [na našem Discord serveru](https://discord.gg/ethereum-org).
+
+## Principy designu {#design-principles}
+
+Používáme sadu [designových principů](/contributing/design-principles/), které nás vedou při rozhodování o obsahu a designu na webu.
+
+## Designový systém {#design-system}
+
+Vytvořili a zveřejnili jsme [designový systém](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System?node-id=0%3A1&t=QBt9RkhpPqzE3Aa6-1), abychom mohli rychleji dodávat nové funkce a umožnili členům komunity podílet se na otevřeném designu ethereum.org.
+
+Chcete se zapojit?[Sledujte náš postup na Figmě](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System), [GitHubových issues](https://github.com/ethereum/ethereum-org-website/issues/6284) a připojte se k diskusi v našem [#design kanálu na Discordu](https://discord.gg/ethereum-org).
+
+## Průvodce stylem {#style-guide}
+
+Máme [průvodce stylem](/contributing/style-guide/), který standardizuje určité aspekty psaní obsahu, aby byl proces přispívání plynulejší.
+
+Ujistěte se, že jste si přečetli [naše principy](/contributing/design-principles/) a [průvodce stylem](/contributing/style-guide/), pokud byste chtěli [přispět na web](/contributing/).
+
+Také uvítáme zpětnou vazbu k našim designovým principům, designovému systému a k průvodci stylem. Nezapomeňte, že ethereum.org je pro komunitu a od komunity.
+
+## Licence {#license}
+
+Web ethereum.org je open source a je vytvořen pod [licencí MIT](https://github.com/ethereum/ethereum-org-website/blob/dev/LICENSE), pokud není uvedeno jinak. Více o [podmínkách použití](/terms-of-use/) ethereum.org.
+
+## Volná místa {#open-jobs}
+
+Ačkoli je tento web open source a kdokoli na něm může pracovat, máme tým věnovaný ethereum.org a dalším webovým projektům Nadace Ethereum.
+
+Na tomto místě zveřejníme jakékoliv pracovní nabídky. Pokud zde pro sebe nevidíte vhodnou pozici, přejděte na [náš Discord server](https://discord.gg/ethereum-org) a dejte nám vědět, jak byste s námi chtěli spolupracovat!
+
+Hledáte mimo tým ethereum.org? [Podívejte se na další pracovní příležitosti související s Ethereem](/community/get-involved/#ethereum-jobs/).
diff --git a/public/content/translations/cs/account-abstraction/index.md b/public/content/translations/cs/account-abstraction/index.md
new file mode 100644
index 00000000000..9592a20a763
--- /dev/null
+++ b/public/content/translations/cs/account-abstraction/index.md
@@ -0,0 +1,132 @@
+---
+title: Abstrakce účtů
+description: Přehled plánů Etherea na zjednodušení a větší zabezpečení uživatelských účtů
+lang: cs
+summaryPoints:
+ - Abstrakce účtů usnadňuje vytváření peněženek založených na chytrých kontraktech
+ - Chytré kontraktové peněženky výrazně usnadňují správu přístupu k účtům na Ethereu
+ - Ztracené nebo zkompromitované klíče lze obnovit pomocí několika záloh
+---
+
+# Abstrakce účtů {#account-abstraction}
+
+Uživatelé interagují s Ethereem pomocí **[externě vlastněných účtů (externally owned accounts, EOA)](/glossary/#eoa)**. To je jediný způsob, jak poslat transakci nebo spustit chytrý kontrakt. To limituje možnosti uživatelů interagovat s Ethereem. Např. to komplikuje hromadné posílání transakcí a je nutné, aby uživatelé neustále měli na účtu zůstatek ETH na pokrytí poplatků za palivo.
+
+Abstrakce účtů je způsob, jak tyto problémy vyřešit, a to tak, že uživatelům umožňuje flexibilně naprogramovat do svých účtů větší zabezpečení a lepší uživatelské prostředí. Toho může být dosaženo vylepšením [EOA](https://eips.ethereum.org/EIPS/eip-3074), aby je bylo možné ovládat pomocí chytrých kontraktů, nebo [vylepšením chytrých kontraktů](https://eips.ethereum.org/EIPS/eip-2938), aby mohly iniciovat transakce. Obě možnosti vyžadují změny v protokolu Etherea. Existuje také třetí cesta, která zahrnuje přidání [druhého, samostatného systému zpracovávání transakcí](https://eips.ethereum.org/EIPS/eip-4337), který běží paralelně se stávajícím protokolem. Bez ohledu na způsob je výsledkem přístup k Ethereu prostřednictvím peněženek založených na chytrých kontraktech, buď nativně podporovaných jako součást stávajícího protokolu, nebo prostřednictvím doplňkové transakční sítě.
+
+Peněženky založené na chytrých kontraktech odemykají spoustu výhod pro uživatele, např.:
+
+- definování vlastních flexibilních bezpečnostních pravidel,
+- obnovení účtu v případě ztráty klíčů,
+- sdílení bezpečnosti účtu mezi důvěryhodnými zařízeními nebo osobami,
+- placením poplatků za palivo za někoho jiného, nebo možnost nechat někoho jiného platit za vás,
+- hromadné transakce (např. schválení a provedení směny v jednom kroku),
+- více příležitostí vývojářů dappek a peněženek vylepšit uživatelskou zkušenost.
+
+Tyto výhody nejsou v současné době nativně podporovány, protože pouze externě vlastněné účty ([EOA](/glossary/#eoa)) mohou zahajovat transakce. EOA jsou jednoduše páry veřejných a privátních klíčů. Fungují takto:
+
+- Pokud máte privátní klíč, můžete dělat cokoliv v rámci pravidel Virtuálního stroje Etherea Machine (EVM).
+- V případě, že privátní klíč nemáte, nemůžete dělat _nic_.
+
+Pokud ztratíte klíče, nemohou být obnoveny, a ukradené klíče dávají zlodějům okamžitý přístup ke všem prostředkům na účtu.
+
+Peněženky založené na chytrých kontraktech řeší tyto problémy, ale dnes je obtížné je naprogramovat, protože jakákoliv logika, kterou implementují, musí být nakonec převedena do souboru EOA transakcí, než může být zpracována Ethereem. Abstrakce účtu umožňuje chytrým kontraktům iniciovat transakce samostatně, takže jakákoliv logika, kterou chce uživatel implementovat, může být zakódována přímo do peněženky založené na chytrém kontraktu a spuštěna na Ethereu.
+
+Ve finále zlepšuje abstrakce účtu podporu pro peněženky založené na chytrých kontraktech, což usnadňuje jejich vytváření a zabezpečuje používání. Navíc mohou uživatelé díky abstrakci účtu využívat všech výhod Etherea, aniž by museli znát nebo se starat o podkladovou technologii.
+
+## Za bezpečnostní frází {#beyond-seed-phrases}
+
+Dnešní účty jsou zabezpečeny pomocí privátních klíčů, které jsou vypočítány z bezpečnostních frází. Každý, kdo má přístup k bezpečnostní frázi, může snadno objevit privátní klíč chránící účet a získat přístup ke všem prostředkům. Pokud jsou privátní klíč a bezpečnostní fráze ztraceny, nemohou být nikdy obnoveny a prostředky, které měly zabezpečovat, jsou navždy zmrazeny. Zabezpečení těchto bezpečnostních frází je obtížné i pro odborníky a phishing bezpečnostních frází je jedním z nejběžnějších způsobů podvodů cílených na uživatele.
+
+Abstrakce účtu vyřeší tento problém tím, že použije chytrý kontrakt k uchovávání prostředků a autorizaci transakcí. Tyto chytré kontrakty mohou být následně obohaceny o vlastní logiku, aby byly co nejbezpečnější a přizpůsobily se uživateli na míru. Ve finále stále používáte pro přístup ke svému účtu privátní klíče, ale s bezpečnostními sítěmi, které usnadňují a zabezpečují jejich správu.
+
+Záložní klíče mohou být např. přidány do peněženky, takže pokud ztratíte nebo omylem odhalíte svůj hlavní klíč, může být nahrazen novým, bezpečným klíčem díky souhlasu záložních klíčů. Každý z těchto klíčů můžete různě zabezpečit, nebo je rozdělit mezi důvěryhodné osoby. To zlodějům výrazně komplikuje snahu získat plnou kontrolu nad vašimi prostředky. Podobně můžete přidat do peněženky pravidla, která sníží dopad kompromitování vašeho hlavního klíče. Např. můžete umožnit transakcím s nízkou hodnotou ověření jediným podpisem, zatímco u transakcí s vyšší hodnotou můžete nastavit vyžadování schválení od několika ověřených účtů. Existují i další způsoby, jak vám chytré kontraktové peněženky mohou pomoci odradit zloděje. Např. můžete použít whitelist, který zablokuje každou transakci, pokud není adresována na důvěryhodnou adresu nebo ověřena několika vašimi předem schválenými klíči.
+
+### Příklady bezpečnostní logiky, kterou lze vložit do chytré kontraktové peněženky:
+
+- **Autorizace mnoha podpisy**: Můžete sdílet autorizaci napříč několika důvěryhodnými osobami nebo zařízeními. Kontrakt může být nastaven tak, že transakce přesahující určitou předem danou hodnotu vyžadují autorizaci od určitého podílu (např. 3/5) důvěryhodných stran. Transakce s vysokou hodnotou mohou např. vyžadovat schválení jak od mobilního zařízení, tak od hardwarové peněženky, nebo podpisy od účtů sdílených mezi důvěryhodné členy rodiny.
+- **Zmrazení účtu**: Pokud je zařízení ztraceno nebo kompromitováno, může být účet uzamčen z jiného autorizovaného zařízení, což chrání prostředky uživatele.
+- **Obnova účtu**: Ztratili jste zařízení nebo zapomněli heslo? V současném paradigmatu to znamená, že vaše prostředky mohou být navždy zmrazeny. S chytrou kontraktovou peněženkou můžete nastavit whitelist účtů, které mohou autorizovat nová zařízení a znovu nastavit přístup.
+- **Nastavení limitů transakcí**: Lze určit denní hodnoty pro to, kolik prostředků může být převedeno z účtu za den/týden/měsíc. To znamená, že i když útočník získá přístup k vašemu účtu, nemůže najednou vybrat vše a máte příležitost zmrazit a znovu nastavit přístup.
+- **Vytvoření whitelistů**: Umožňuje povolit transakce jen na určité adresy, které označíte jako bezpečné. To znamená, že _i když_ by byl váš privátní klíč zcizen, útočník by mohl posílat prostředky pouze na účty na vašem seznamu. Změna těchto whitelistů by vyžadovala více podpisů, takže útočník nemůže přidat vlastní adresu na seznam, pokud nemá přístup k několika vašim záložním klíčům.
+
+## Lepší uživatelská zkušenost {#better-user-experience}
+
+Abstrakce účtů umožňuje **lepší celkové uživatelské možnosti** a **vylepšenou bezpečnost**, protože přidává podporu pro peněženky založené na chytrých kontraktech na úrovni protokolu. Nejvýznamnějším důvodem je, že poskytne vývojářům chytrých kontraktů, peněženek a aplikací mnohem větší svobodu ve vylepšení uživatelských možností způsoby, které ještě nemusíme být schopni předvídat. Některá zřejmá vylepšení, která přijdou s abstrakcí účtu, zahrnují spojování transakcí za účelem zvýšení rychlosti a efektivity. Jednoduchá směna by např. měla být operací na jedno kliknutí, ale dnes vyžaduje podepsání několika transakcí ke schválení přístupu k jednotlivým tokenům před provedením směny. Abstrakce účtů odstraní tuto nepříjemnost tím, že umožní slučování transakcí. Sloučené transakce by navíc mohly schválit přesně správnou hodnotu tokenů potřebnou pro každou transakci a poté zrušit schválení po dokončení transakce, což posune bezpečnost na další úroveň.
+
+Správa poplatků za palivo je s abstrakcí účtu také výrazně lepší. Nejenže aplikace mohou nabídnout platbu poplatků za palivo svých uživatelů, ale tyto poplatky mohou být placeny tokeny jinými než ETH, což zbavuje uživatele nutnosti mít zůstatek ETH za účelem financování transakcí. To by fungovalo tak, že by se tokeny uživatele v kontraktu směnily za ETH a poté by se ETH použilo k platbě za palivo.
+
+
+
+Správa poplatků za palivo je jednou z hlavních nepříjemností pro uživatele Etherea, především proto, že ETH je jediné aktivum, které v současnosti mohou k platbě za transakce používat. Představte si, že máte peněženku se zůstatkem USDC, ale bez ETH. Nemůžete tyto USDC tokeny přesunout nebo směnit, protože nemáte jak zaplatit za palivo. Nemůžete také směnit USDC za ETH, protože to samo o sobě vyžaduje palivo. Abyste tento problém vyřešili, museli byste si poslat ETH na účet z burzy nebo jiné adresy. S peněženkami založenými na chytrých kontraktech můžete místo toho platit poplatky za palivov USDC, čímž svůj účet odblokujete. Už nemusíte udržovat zůstatek ETH ve všech svých účtech.
+
+Abstrakce účtu také umožňuje vývojářům dappek určitou kreativitu v přístupu k řízení poplatků za palivo. Např. můžete začít platit své oblíbené decentralizované burze stálý poplatek každý měsíc za neomezené transakce. Platformy dappek by mohly nabídnout placení všech vašich poplatků za palivo za vás jako odměnu za používání jejich platformy nebo jako lákadlo pro nové uživatele. Pro vývojáře bude mnohem snadnější zavádět inovace v oblasti poplatků za palivo, když budou peněženky založené na chytrých kontraktech podporovány už na úrovni protokolu.
+
+
+
+Důvěryhodné relace jsou také potenciálně transformační pro uživatelské možnosti, zejména pro aplikace, jako jsou hry, kde může velké množství malých transakcí vyžadovat rychlé schválení. Individuální schvalování každé transakce by narušilo herní zážitek, ale trvalý souhlas není bezpečný. Chytrá kontraktová peněženka by mohla schválit určité transakce na pevně stanovenou dobu, až do specifické hodnoty nebo pouze pro určité adresy.
+
+Je také zajímavé si představit, jak by se mohlo díky abstrakci účtu změnit nakupování. Dnes každá transakce musí být schválena a poslána z peněženky předfinancované dostatečným množstvím správného tokenu. S abstrakcí účtu by mohlo být prostředí podobnější online nakupování, kde uživatel naplní „košík“ položkami a jedním klikem zaplatí všechny najednou, přičemž veškerá potřebná logika by byla zpracována kontraktem, nikoliv uživatelem.
+
+Toto je jen několik příkladů, jak by mohly být uživatelské možnosti vylepšeny pomocí abstrakce účtu, ale použití je mnohem širší a spousta z nich je ještě za hranicemi naší fantazie. Abstrakce účtů osvobozuje vývojáře od omezení současných EOA, přenáší pozitivní aspekty web2 do web3 bez nutnosti obětovat samosprávu a umožňuje kreativně vytvářet nové uživatelské možnosti.
+
+## Jak bude abstrakce účtu implementována? {#how-will-aa-be-implemented}
+
+Peněženky založené na chytrých kontraktech už existují, ale jejich implementace je složitá, protože EVM je nepodporuje. Místo toho se spoléhají na obalení relativně složitého kódu kolem standardních Ethereum transakcí. Ethereum může tuto situaci změnit tím, že umožní chytrým kontraktům iniciovat transakce, přičemž nezbytnou logiku zpracovává v chytrých kontraktech přímo na Ethereu namísto mimo blockchain. Umístění logiky do chytrých kontraktů také zvyšuje decentralizaci Etherea, protože odstraňuje potřebu „převaděčů“ spuštěných vývojáři peněženek, kteří překládají zprávy podepsané uživateli na běžné Ethereum transakce.
+
+
+
+EIP-2771 zavádí koncept meta-transakcí, které umožňují třetím stranám platit náklady na palivo uživatelů, aniž by se měnil protokol Ethereum. Myšlenkou je, že transakce podepsané uživateli jsou odesílány do Přeposílacího kontraktu. Přeposílací kontrakt je důvěryhodný subjekt, který ověřuje platnost transakcí, než je pošle na relé paliva. Toto probíhá mimo blockchain, což eliminuje potřebu platit za palivo. Relé paliva pak přenáší transakci na Přijímací kontrakt, který platí potřebný poplatek, aby mohla být transakce vykonatelná na Ethereu. Transakce je provedena, pokud je Přeposílací kontrakt známý a důvěryhodný pro Přijímací kontrakt. Tento model usnadňuje vývojářům implementaci transakcí bez poplatků za palivo na straně uživatele.
+
+
+
+
+
+EIP-4337 je prvním krokem směrem k nativní podpoře chytrých kontraktových peněženek decentralizovaným způsobem, aniž by bylo potřeba měnit protokol Ethereum. Místo úpravy konsenzuální vrstvy pro podporu chytrých kontraktových peněženek je přidán nový systém odděleně od běžného transakčního komunikačního protokolu. Tento vysoceúrovňový systém je postaven kolem nového objektu nazývaného UserOperation, který balí akce uživatele spolu s relevantními podpisy. Tyto objekty UserOperation jsou následně posílány do specializovaného mempoolu, kde je validátoři shromažďují do „balíčkové transakce“. Balíčková transakce představuje sekvenci mnoha jednotlivých objektů UserOperation a může být zahrnuta do bloků na Ethereu stejně jako běžná transakce, a může být vybírána validátory pomocí podobného modelu maximizace poplatků.
+
+Způsob, jakým peněženky fungují, by se se zavedením EIP-4337 také změnil. Místo toho, aby každá peněženka znovu implementovala běžnou, ale složitou bezpečnostní logiku, by tyto funkce byly outsourcovány do globálního peněženkového kontraktu známého jako „vstupní bod“. Ten by spravoval operace, jako je platba poplatků a spuštění EVM kódu, takže vývojáři peněženek se mohou soustředit na poskytování vynikajících uživatelských funkcí.
+
+Poznámka: Kontrakt vstupního bodu EIP-4337 byl nasazen na hlavní síť Etherea 1. března 2023. Můžete se na něj podívat na Etherscanu.
+
+
+
+
+
+EIP-2938 si klade za cíl vylepšit protokol Ethereum zavedením nového typu transakce, AA_TX_TYPE, který zahrnuje tři položky: nonce, target a data, kde nonce je čítač transakcí, target je cílová adresa kontraktu vstupního bodu a data je bytecode EVM. Za účelem vykonání těchto transakcí je třeba přidat do EVM dvě nové instrukce (známé jako opkódy): NONCE a PAYGAS. Opkód NONCE sleduje sekvenci transakcí a PAYGAS počítá a vybírá ze zůstatku kontraktu poplatek za palivo potřebný k vykonání transakce. Tyto nové funkce umožňují Ethereu podporovat chytré kontraktové peněženky nativně, protože potřebná infrastruktura je zabudována do protokolu Ethereum.
+
+Připomínáme, že EIP-2938 v současné době není aktivní. Komunita aktuálně upřednostňuje EIP-4337, protože nevyžaduje změny protokolu.
+
+
+
+
+
+EIP-3074 si klade za cíl aktualizovat externě vlastněné účty na Ethereu tím, že umožní delegování kontroly nad nimi na chytrý kontrakt. To znamená, že logika chytrého kontraktu by mohla schvalovat transakce pocházející z EOA (externě vlastněného účtu). To by umožnilo funkce jako sponzorování poplatků za palivo a sdružování transakcí. Aby to fungovalo, je třeba do EVM přidat dva nové opkódy: AUTH a AUTHCALL. S EIP-3074 jsou výhody chytrých kontraktových peněženek dostupné bez nutnosti kontraktu – místo toho zpracovává transakce specifický typ stateless, trustless, nevylepšitelného kontraktu známého jako "započínač".
+
+Připomínáme, že EIP-3074 v současné době není aktivní. Komunita aktuálně upřednostňuje EIP-4337, protože nevyžaduje změny protokolu.
+
+
+
+## Aktuální průběh {#current-progress}
+
+Peněženky založené na chytrých kontraktech jsou už k dispozici, ale je třeba uvést do chodu další vylepšení, aby byly co nejvíce decentralizované a přístupné bez nutnosti povolení třetí strany. EIP-4337 je hotový návrh, který nevyžaduje žádné změny protokolu Ethereum, takže je možné, že bude implementován rychle. Nicméně vylepšení, která mění protokol Ethereum, nejsou v současné době aktivně vyvíjena, takže může trvat mnohem déle, než budou tyto změny realizovány. Je také možné, že abstrakce účtu bude dostatečně dosažena prostřednictvím EIP-4337, takže žádné změny protokolu nebudou nikdy potřeba.
+
+**Poznámka**: Přijetí peněženek s chytrými kontrakty ERC-4337 můžete sledovat [přes tento panel](https://www.bundlebear.com/overview/all).
+
+## Další informace {#further-reading}
+
+- [erc4337.io](https://www.erc4337.io/)
+- [Panelová diskuze o abstrakci účtu na Devconu v Bogotě](https://www.youtube.com/watch?app=desktop&v=WsZBymiyT-8)
+- [„Proč je abstrakce účtů revoluční pro dappky“ z Devconu v Bogotě](https://www.youtube.com/watch?v=OwppworJGzs)
+- [„Abstrakce účtů ELI5“ z Devconu v Bogotě](https://www.youtube.com/watch?v=QuYZWJj65AY)
+- [Vitalikovy poznámky „Cesta k abstrakci účtů“](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
+- [Vitalikův blogový příspěvek o společenském obnovování peněženek](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
+- [Poznámky k EIP-2938](https://hackmd.io/@SamWilsn/ryhxoGp4D#What-is-EIP-2938)
+- [Dokumentace k EIP-2938](https://eips.ethereum.org/EIPS/eip-2938)
+- [Poznámky k EIP-4337](https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a)
+- [Dokumentace k EIP-4337](https://eips.ethereum.org/EIPS/eip-4337)
+- [Dokumentace k EIP-2771](https://eips.ethereum.org/EIPS/eip-2771)
+- [„Základy abstrakce účtů“ – Co je abstrakce účtů, část I](https://www.alchemy.com/blog/account-abstraction)
+- [Mapování plánu abstrakce Ethereum účtu I: EIP-3074, EIP-5806, & EIP-7702](https://research.2077.xyz/charting-ethereums-account-abstraction-roadmap-eip-3074-eip-5806-eip-7702)
+- [Úžasná abstrakce účtu](https://github.com/4337Mafia/awesome-account-abstraction)
+- [Modulární abstrakce účtu pro všechny ostatní](https://blog.rhinestone.wtf/part-1-modular-account-abstraction-for-everyone-else-84567422bc46)
+
diff --git a/public/content/translations/cs/beacon-chain/index.md b/public/content/translations/cs/beacon-chain/index.md
new file mode 100644
index 00000000000..9dca8bb12c1
--- /dev/null
+++ b/public/content/translations/cs/beacon-chain/index.md
@@ -0,0 +1,75 @@
+---
+title: Beacon chain
+description: Přečtěte si o Řetězové vazbě – vylepšení, které umožnilo důkaz podílem na Ethereu.
+lang: cs
+template: upgrade
+image: /images/upgrades/core.png
+alt:
+summaryPoint1: Řetězová vazba zavedla důkaz podílem do ekosystému Etherea.
+summaryPoint2: V září 2022 byla sloučena s původním Ethereem založeným na důkazu prací.
+summaryPoint3: Řetězová vazba představila logiku konsensu a blokový komunikační protokol, který v současné době zabezpečuje Ethereum.
+---
+
+
+ Řetězová vazba byla spuštěna 1. prosince 2020 a formalizovala důkaz podílem jako mechanismus konsenzu Etherea s upgradem Sloučení dne 15. září 2022.
+
+
+## Co je Řetězová vazba? {#what-is-the-beacon-chain}
+
+Řetězová vazba je název původního blockchainu založeného na důkazu podílem, který byl spuštěn v roce 2020. Byl vytvořen za účelem zajištění správnosti a udržitelnosti logiky konsensu důkazu podílem před nasazením na hlavní síť Ethereum. Proto běžel souběžně s původním Ethereem založeným na důkazu prací. Řetězová vazba byla řetězec „prázdných“ bloků, ale vypnutí důkazu prací a zapnutí důkazu podílem na Ethereu vyžadovalo instruovat Řetězovou vazbu, aby přijímala transakční data od exekučních klientů, sdružovala je do bloků a poté organizovala do blockchainu pomocí mechanismu konsenzu založeného na důkazu podílem. Ve stejnou chvíli původní klienti Etherea vypnuli těžbu, tvorbu bloků a logiku konsensu a převedli vše na Řetězovou vazbu. Tato událost byla známá jako [Sloučení](/roadmap/merge/). Jakmile došlo ke Sloučení, už neexistovaly dva blockchainy. Místo toho nyní existuje jen jedno Ethereum, které vyžaduje dva různé klienty na síťový uzel. Řetězová vazba je nyní konsensuální vrstva: Peer-to-peer síť konsenzuálních klientů, která zpracovává blokovou komunikaci a konsenzuální logiku, zatímco původní klienti tvoří exekuční vrstvu, která je zodpovědná za komunikaci a exekuci transakcí a správu stavu Etherea. Tyto dvě vrstvy spolu mohou komunikovat pomocí Engine API.
+
+## Co Řetězová vazba dělá? {#what-does-the-beacon-chain-do}
+
+Řetězová vazba je název pro řetězec účtů, který vedla a koordinovala síť [uzamykatelů](/staking/) Etherea předtím, než tito uzamykatelé začali ověřovat skutečné bloky Etherea. Nezpracovává transakce ani interakce s chytrými kontrakty, protože to se děje v exekuční vrstvě. Řetězová vazba je zodpovědná za akce, jako je zpracování bloků a atestací, provozování algoritmu výběru forku a správa odměn a sankcí. Přečtěte si více na naší stránce věnované [architektuře síťových uzlů](/developers/docs/nodes-and-clients/node-architecture/#node-comparison).
+
+## Důsledky spuštění Řetězové vazby {#beacon-chain-features}
+
+### Zavedení uzamčení {#introducing-staking}
+
+Řetězová vazba umožnila v Ethereu [důkaz podílem](/developers/docs/consensus-mechanisms/pos/). To udržuje Ethereum v bezpečí a vydělává validátorům více ETH. V praxi to znamená, že uzamknete ETH, abyste se stali validátorem. Jako uzamykatel spouštíte software, který vytváří a ověřuje nové bloky.
+
+Uzamčení slouží k podobnému účelu, jako dříve sloužila [těžba](/developers/docs/consensus-mechanisms/pow/mining/), ale v mnoha ohledech se liší. Těžba vyžadovala velké výdaje ve formě pořízení výkonného hardwaru a spotřeby energie, což vedlo k úsporám z rozsahu a tím k podpoře centralizace. Těžba nevyžadovala zablokování aktiv jako kolaterálu, což omezovalo schopnost protokolu uvalit sankce na těžaře, kteří útočili na síť.
+
+Přechod na Ethereum založené na důkazu podílem významně zabezpečil a decentralizoval jeho provoz ve srovnání s důkazem prací. Čím více lidí se do sítě zapojí, tím bude decentralizovanější a bezpečnější před útoky.
+
+Použití Důkazu podílem jako mechanismu konsenzu je navíc základním stavebním kamenem [bezpečného, ekologického a škálovatelného Etherea, které máme v současné době](/roadmap/vision/).
+
+
+ Pokud se chcete stát validátorem a pomoci zabezpečit Ethereum, zjistěte více o uzamčení.
+
+
+### Nastavení pro tříštění {#setting-up-for-sharding}
+
+Od té doby, co se Řetězová vazba sloučila s původní hlavní sítí Ethereum, začala komunita Ethereum usilovat o škálování sítě.
+
+Důkaz podílem má tu výhodu, že má neustále registr všech schválených producentů bloků a každý producent bloků má uzamčené ETH. Tento registr nastavuje scénu pro schopnost dobře rozdělit konkrétní síťové zodpovědnosti.
+
+Tato odpovědnost je v kontrastu s důkazem prací, kde těžaři nemají žádné závazky vůči síti a mohli by zastavit těžbu a vypnout software síťových uzlů okamžitě a bez následků. V důkazu prací také neexistuje žádný registr známých navrhovatelů bloků a žádný spolehlivý způsob, jak bezpečně rozdělit síťové odpovědnosti.
+
+[Více o tříštění](/roadmap/danksharding/)
+
+## Vztahy mezi vylepšeními {#relationship-between-upgrades}
+
+Všechna vylepšení Etherea jsou vzájemně provázaná. Pojďme si tedy zrekapitulovat, jak Řetězová vazba ovlivňuje další vylepšení.
+
+### Řetězová vazba a Sloučení {#merge-and-beacon-chain}
+
+Řetězová vazba nejprve existovala odděleně od hlavní sítě Ethereum, ale v roce 2022 byly oba blockchainy sloučeny.
+
+
+ Sloučení
+
+
+### Tříštění a Řetězová vazba {#shards-and-beacon-chain}
+
+Tříštění může být bezpečně implementováno do ekosystému Ethereum pouze se zavedeným mechanismem konsenzu důkazu podílem. Řetězová vazba představila uzamčení, když se „sloučila“ s hlavní sítí, čímž se otevřela cesta pro tříštění, které pomůže dále škálovat Ethereum.
+
+
+ Řetězce úlomků
+
+
+## Další informace
+
+- [Více o budoucích vylepšeních Etherea](/roadmap/vision)
+- [Více o architektuře síťových uzlů](/developers/docs/nodes-and-clients/node-architecture)
+- [Více o důkazu podílem](/developers/docs/consensus-mechanisms/pos)
diff --git a/public/content/translations/cs/bridges/index.md b/public/content/translations/cs/bridges/index.md
index 602ebe7ef3b..eab0e953968 100644
--- a/public/content/translations/cs/bridges/index.md
+++ b/public/content/translations/cs/bridges/index.md
@@ -49,7 +49,7 @@ Představte si, že máte ETH na hlavní síti Ethereum, ale chtěli byste plati
### Dappky na jiných blockchainech {#dapps-other-chains}
-Pokud jste používali Aave na hlavní síti Ethereum k poskytování půjček v USDT, ale úroková sazba pro půjčování USDT pomocí Aave na Polygonu je vyšší.
+Pokud jste používali Aave na hlavní síti Etherea k poskytování půjček v USDT, ale úroková sazba pro půjčování USDT pomocí Aave na Polygonu je vyšší.
### Prozkoumávání blockchainových ekosystémů {#explore-ecosystems}
@@ -95,6 +95,15 @@ Většina řešení přemostění aplikuje modely s různými stupni důvěry, k
+## Jak můžete přemostění používat {#use-bridge}
+
+Přemostění vám umožňují přesouvat aktiva mezi různými blockchainy. Zde je několik zdrojů, které vám mohou pomoci najít a používat přemostění:
+
+- **[Souhrn přemostění L2BEAT](https://l2beat.com/bridges/summary) & [Analýza rizik přemostění L2BEAT](https://l2beat.com/bridges/risk)**: Komplexní souhrn různých přemostění, včetně podrobností o podílu na trhu, typu přemostění a cílových blockchainech. L2BEAT rovněž obsahuje analýzu rizik pro přemostění, která uživatelům při výběru přemostění pomáhá činit informovaná rozhodnutí.
+- **[Souhrn přemostění DefiLlama](https://defillama.com/bridges/Ethereum)**: Přehled přemostění v sítích Ethereum.
+
+
+
## Rizika používání blockchainovým přemostění {#bridge-risk}
V současné době se nacházíme v rané fázi vývoje těchto řešení. Je pravděpodobné, že optimální návrh přemostění zatím nebyl vyvinut. Interakce s jakýmkoli typem přemostění nese rizika:
@@ -122,7 +131,9 @@ Přemostění jsou klíčová pro vstup uživatelů do 2. vrstev Etherea, stejn
## Další četba {#further-reading}
+- [EIP-5164: Meziblockchainová exekuce](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) – _18. června 2022 – Brendan Asselstine_
+- [Rizika přemostění vrstev 2](https://gov.l2beat.com/t/l2bridge-risk-framework/31) – _5. července 2022 – Bartek Kiepuszewski_
+- [Proč je budoucnost multiblockchainová, ale ne meziblockchainová](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) – _8. ledna 2022 – Vitalik Buterin_
+- [Využití sdíleného zabezpečení pro bezpečnou interoperabilitu mezi blockchainy: Lagrangovy stavové výbory a další](https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) – _ 12. června 2024 – Emmanuel Awosika_
+- [Stav řešení interoperability rollupů](https://research.2077.xyz/the-state-of-rollup-interoperability) – _20. června 2024 – Alex Hook_
-- [EIP-5164: Meziblockchainová exekuce](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) _18. června 2022 - Brendan Asselstine_
-- [Rizika přemostění 2. vrstev](https://gov.l2beat.com/t/l2bridge-risk-framework/31) _5. července 2022 - Bartek Kiepuszewski_
-- [Proč je budoucnost multiblockchainová, ale ne meziblockchainová](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) _8. ledna 2022 - Vitalik Buterin_
diff --git a/public/content/translations/cs/code-of-conduct/index.md b/public/content/translations/cs/code-of-conduct/index.md
new file mode 100644
index 00000000000..1f518679f6a
--- /dev/null
+++ b/public/content/translations/cs/code-of-conduct/index.md
@@ -0,0 +1,77 @@
+---
+title: Etický kodex
+description: Základní standardy, o které se snažíme napříč ekosystémem ethereum.org.
+lang: cs
+---
+
+# Etický kodex {#code-of-conduct}
+
+## Mise {#mission}
+
+Vyvinout a udržovat nejkomplexnější a nejdostupnější centrum znalostí pro Ethereum.
+
+## Hodnoty {#values}
+
+Komunita ethereum.org se snaží být:
+
+- otevřena vzdělávání, cílem je pomoci pochopit Ethereum komukoliv
+- inkluzivní
+- dostupná
+- řízená komunitou
+- zaměřená na základní technologii a modelové případy použití Etherea
+- zaměřená na koncepty Etherea a designové principy
+
+## Co nejsme {#what-we-are-not}
+
+- Web Ethereum Foundation
+- Platforma pro podporu investic nebo ziskuchtivosti jakéhokoli druhu
+- Platforma pro zviditelnění nebo podporu jednotlivých projektů nebo organizací
+- DEX, CEX nebo jakákoli jiná forma finanční platformy
+- Platforma, která poskytuje finanční nebo právní poradenství jakéhokoli druhu
+
+## Etický kodex {#code-of-conduct}
+
+### Závazek {#pledge}
+
+Otevřená účast je základem étosu ethereum.org. Jsme webová stránka a komunita spravovaná tisíci přispěvateli, a to je možné pouze tehdy, pokud udržujeme příjemné a participativní prostředí. Za tímto účelem se přispěvatelé ethereum.org zavazují udržovat příjemné prostředí bez obtěžování na všech platformách a komunitních prostorech ethereum.org. Komunita ethereum.org uvítá každého, kdo se chce zapojit konstruktivním a přátelským způsobem, bez ohledu na věk, postižení, etnický původ, pohlaví, genderovou identitu, úroveň zkušeností, oblast odbornosti, vzdělání, socioekonomický status, národnost, vzhled, rasu, náboženství nebo jakýkoliv další rozměr rozmanitosti.
+
+### Rozsah {#scope}
+
+Tento kodex chování se vztahuje na všechny prostory ethereum.org (jako jsou GitHub, Discord, Figma Crowdin, Twitter a další online platformy) i na veřejné prostory skutečného světa, jako jsou meetingy, konference a další události.
+
+### Naše standardy {#our-standards}
+
+Chování, které přispívá k vytváření pozitivního prostředí, zahrnuje:
+
+- Vstřícnou a inkluzivní komunikaci
+- Respektování různých názorů a zkušeností
+- Schopnost slušně přijímat a/nebo empaticky poskytovat konstruktivní kritiku
+- Klidné a profesionální jednání při řešení konfliktů či neshod
+- Projevy empatie a tolerance vůči ostatním členům komunity
+- Povzbuzování a posilování nových členů komunity
+
+Příklady nepřijatelného chování zahrnují:
+
+- Fyzické násilí, vyhrožování fyzickým násilím nebo nabádání k fyzickému násilí jakéhokoliv druhu
+- Používání sexualizovaného jazyka nebo vnucování nevítané sexuální pozornosti
+- Vydávání se za jinou osobu nebo jiné nečestné tvrzení o příslušnosti k nějaké osobě nebo organizaci
+- Trolling, urážlivé komentáře a osobní nebo politické útoky
+- Obtěžování ostatních členů komunity na veřejných nebo soukromých kanálech
+- Zveřejňování soukromých informací ostatních, jako je fyzická nebo elektronická adresa, bez výslovného povolení
+- Sociální hacking, podvody nebo jiná manipulace ostatních členů komunity
+- Propagace investic, tokenů, projektů nebo jakýchkoliv jiných aktiv za účelem osobního peněžního nebo nepeněžního zisku
+- Spamovací servery s obsahem, který není k tématu
+- Ignorování žádostí nebo varování od moderátorů komunity
+- Jakékoliv jiné jednání, které by mohlo být v profesionálním prostředí důvodně považováno za nevhodné
+
+### Hlášení {#reporting}
+
+Porušení kodexu chování bude viditelné pro celou komunitu, protože se snažíme komunikovat v otevřených, veřejných kanálech, což umožňuje členům komunity nastavit vlastní ochranná opatření.
+
+Pokud se však stane něco, o čem si myslíte, že vyžaduje pozornost, můžete na to upozornit někoho, kdo má roli moderátora (např. discord guide) a kdo by mohl pomoci při vyšetřování a nastavení vhodné reakce.
+
+Při hlášení potíží uveďte co nejvíce podrobností, včetně konkrétních příkladů a času. To nám pomůže zajistit spravedlivý výsledek.
+
+### Vynucení {#enforcement}
+
+V závislosti na závažnosti mohou lidé, kteří porušují kodex chování, obdržet varování, dočasné zákazy nebo trvalé zákazy od komunit ethereum.org.
diff --git a/public/content/translations/cs/community/code-of-conduct/index.md b/public/content/translations/cs/community/code-of-conduct/index.md
new file mode 100644
index 00000000000..1f518679f6a
--- /dev/null
+++ b/public/content/translations/cs/community/code-of-conduct/index.md
@@ -0,0 +1,77 @@
+---
+title: Etický kodex
+description: Základní standardy, o které se snažíme napříč ekosystémem ethereum.org.
+lang: cs
+---
+
+# Etický kodex {#code-of-conduct}
+
+## Mise {#mission}
+
+Vyvinout a udržovat nejkomplexnější a nejdostupnější centrum znalostí pro Ethereum.
+
+## Hodnoty {#values}
+
+Komunita ethereum.org se snaží být:
+
+- otevřena vzdělávání, cílem je pomoci pochopit Ethereum komukoliv
+- inkluzivní
+- dostupná
+- řízená komunitou
+- zaměřená na základní technologii a modelové případy použití Etherea
+- zaměřená na koncepty Etherea a designové principy
+
+## Co nejsme {#what-we-are-not}
+
+- Web Ethereum Foundation
+- Platforma pro podporu investic nebo ziskuchtivosti jakéhokoli druhu
+- Platforma pro zviditelnění nebo podporu jednotlivých projektů nebo organizací
+- DEX, CEX nebo jakákoli jiná forma finanční platformy
+- Platforma, která poskytuje finanční nebo právní poradenství jakéhokoli druhu
+
+## Etický kodex {#code-of-conduct}
+
+### Závazek {#pledge}
+
+Otevřená účast je základem étosu ethereum.org. Jsme webová stránka a komunita spravovaná tisíci přispěvateli, a to je možné pouze tehdy, pokud udržujeme příjemné a participativní prostředí. Za tímto účelem se přispěvatelé ethereum.org zavazují udržovat příjemné prostředí bez obtěžování na všech platformách a komunitních prostorech ethereum.org. Komunita ethereum.org uvítá každého, kdo se chce zapojit konstruktivním a přátelským způsobem, bez ohledu na věk, postižení, etnický původ, pohlaví, genderovou identitu, úroveň zkušeností, oblast odbornosti, vzdělání, socioekonomický status, národnost, vzhled, rasu, náboženství nebo jakýkoliv další rozměr rozmanitosti.
+
+### Rozsah {#scope}
+
+Tento kodex chování se vztahuje na všechny prostory ethereum.org (jako jsou GitHub, Discord, Figma Crowdin, Twitter a další online platformy) i na veřejné prostory skutečného světa, jako jsou meetingy, konference a další události.
+
+### Naše standardy {#our-standards}
+
+Chování, které přispívá k vytváření pozitivního prostředí, zahrnuje:
+
+- Vstřícnou a inkluzivní komunikaci
+- Respektování různých názorů a zkušeností
+- Schopnost slušně přijímat a/nebo empaticky poskytovat konstruktivní kritiku
+- Klidné a profesionální jednání při řešení konfliktů či neshod
+- Projevy empatie a tolerance vůči ostatním členům komunity
+- Povzbuzování a posilování nových členů komunity
+
+Příklady nepřijatelného chování zahrnují:
+
+- Fyzické násilí, vyhrožování fyzickým násilím nebo nabádání k fyzickému násilí jakéhokoliv druhu
+- Používání sexualizovaného jazyka nebo vnucování nevítané sexuální pozornosti
+- Vydávání se za jinou osobu nebo jiné nečestné tvrzení o příslušnosti k nějaké osobě nebo organizaci
+- Trolling, urážlivé komentáře a osobní nebo politické útoky
+- Obtěžování ostatních členů komunity na veřejných nebo soukromých kanálech
+- Zveřejňování soukromých informací ostatních, jako je fyzická nebo elektronická adresa, bez výslovného povolení
+- Sociální hacking, podvody nebo jiná manipulace ostatních členů komunity
+- Propagace investic, tokenů, projektů nebo jakýchkoliv jiných aktiv za účelem osobního peněžního nebo nepeněžního zisku
+- Spamovací servery s obsahem, který není k tématu
+- Ignorování žádostí nebo varování od moderátorů komunity
+- Jakékoliv jiné jednání, které by mohlo být v profesionálním prostředí důvodně považováno za nevhodné
+
+### Hlášení {#reporting}
+
+Porušení kodexu chování bude viditelné pro celou komunitu, protože se snažíme komunikovat v otevřených, veřejných kanálech, což umožňuje členům komunity nastavit vlastní ochranná opatření.
+
+Pokud se však stane něco, o čem si myslíte, že vyžaduje pozornost, můžete na to upozornit někoho, kdo má roli moderátora (např. discord guide) a kdo by mohl pomoci při vyšetřování a nastavení vhodné reakce.
+
+Při hlášení potíží uveďte co nejvíce podrobností, včetně konkrétních příkladů a času. To nám pomůže zajistit spravedlivý výsledek.
+
+### Vynucení {#enforcement}
+
+V závislosti na závažnosti mohou lidé, kteří porušují kodex chování, obdržet varování, dočasné zákazy nebo trvalé zákazy od komunit ethereum.org.
diff --git a/public/content/translations/cs/community/events/index.md b/public/content/translations/cs/community/events/index.md
new file mode 100644
index 00000000000..6305faa32f2
--- /dev/null
+++ b/public/content/translations/cs/community/events/index.md
@@ -0,0 +1,24 @@
+---
+title: Události Etherea
+description: Jak se zapojit do Ethereum komunity.
+lang: cs
+hideEditButton: true
+---
+
+# Nadcházející události {#events}
+
+**Každý měsíc se po celém světě konají významné akce věnované Ethereu.** Zvažte účast na některé z nich ve vašem okolí, abyste se seznámili s dalšími lidmi z komunity, dozvěděli se o možnostech zaměstnání a rozvíjeli nové dovednosti.
+
+
+
+Toto je neúplný seznam spravován naší komunitou. Znáš nějaké další Ethereum události pro přidání do tohoto seznamu? [Prosím, přidej ji](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)!
+
+## Ethereum setkání {#meetups}
+
+Nevidíš událost, která ti vyhovuje? Zkus se připojit ke schůzce. Setkání jsou menší akce pořádané skupinkami nadšenců Etherea – šance pro lidi, kteří mají zájem o Ethereum, aby se sešli, hovořili společně o Etheru a dozvěděli se o nejnovějším vývoji.
+
+
+
+Máš zájem o zahájení své vlastní schůzky? Podívejte se na [BUIDL Network](https://consensys.net/developers/buidlnetwork/), iniciativu ConsenSys na podporu komunit setkání Ethereum.
+
+Toto je neúplný seznam spravován naší komunitou. Další Ethereum schůzky [ lze najít zde](https://www.meetup.com/topics/ethereum/). Znáš aktivní schůzku pro přidání do seznamu? [Prosím, přidej ji](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json)!
diff --git a/public/content/translations/cs/community/get-involved/index.md b/public/content/translations/cs/community/get-involved/index.md
new file mode 100644
index 00000000000..0ef11506d49
--- /dev/null
+++ b/public/content/translations/cs/community/get-involved/index.md
@@ -0,0 +1,135 @@
+---
+title: Jak se mohu zapojit?
+description: Jak se zapojit do Ethereum komunity.
+lang: cs
+---
+
+# Jak se mohu zapojit? {#get-involved}
+
+V Ethereum komunitě najdete osoby s různými zázemími a dovednostmi. Ať už jste vývojář, umělec, nebo účetní, existují způsoby, jak se zapojit. Zde je seznam nápadů, které vám mohou pomoci začít.
+
+Začněte tím, že si v našem [kodexu chování](/community/code-of-conduct) přečtete o misi a hodnotách ethereum.org.
+
+## Vývojáři {#developers}
+
+- Učte se o Ethereu a experimentujte s ním na [ethereum.org/developers/](/developers/)
+- Zúčastněte se blízkého hackathonu [ETHGlobal](http://ethglobal.co/)!
+- Podívejte se na [projekty související s vaší odborností nebo oblíbeným programovacím jazykem](/developers/docs/programming-languages/)
+- Sledujte nebo se účastněte videohovorů [Consensus a Execution Layer](https://www.youtube.com/@EthereumProtocol/streams)
+- [Ecosystem Support Program's wishlist](https://esp.ethereum.foundation/wishlist/) – nástroje, dokumentace a infrastruktura, ve kterých tento program aktivně shání žádosti o granty
+- [Web3Bridge](https://www.web3bridge.com/) – připojte se k začínající komunitě web3, která se snaží identifikovat, školit a podporovat stovky vývojářů a členů komunity napříč Afrikou
+- Připojte se k [Discordu Eth R&D](https://discord.com/invite/VmG7Uxc)
+- Připojte se k [Discordu Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu)
+
+## Výzkumníci & akademici {#researchers-and-academics}
+
+Máte znalosti matematiky, kryptografie nebo ekonomie? Možná vás zaujme některá z pokročilých prací v ekosystému Ethereum:
+
+- Připojte se k [Discordu Eth R&D](https://discord.com/invite/VmG7Uxc)
+- Napište nebo recenzujte návrh na vylepšení Etherea (EIP)
+ - Napište EIP
+ 1. Popište svůj nápad na [Ethereum Magicians](https://ethereum-magicians.org)
+ 2. Přečtěte si [EIP-1](https://eips.ethereum.org/EIPS/eip-1) – **Ano, to je _celý_ dokument.**
+ 3. Postupujte podle pokynů v EIP-1. Odkazujte na něj při psaní svého návrhu.
+ - Naučte se, jak se stát [editorem EIP](https://eips.ethereum.org/EIPS/eip-5069)
+ - Začít recenzovat EIP můžete hned! Podívejte se na [otevřené PRs s označením `e-review`](https://github.com/ethereum/EIPs/pulls?q=is%3Apr+is%3Aopen+label%3Ae-review). Poskytněte technickou zpětnou vazbu na `diskusní` odkaz.
+ - Účastněte se [správy EIP](https://github.com/ethereum-cat-herders/EIPIP)
+ - Připojte se k [Discordu Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu)
+ - [Více o EIP](/eips/)
+- [Challenges.ethereum.org](https://challenges.ethereum.org/) – série výzkumných bounties s vysokou hodnotou, kde si můžete vydělat > 100 000 USD
+- [Ethresear.ch](https://ethresear.ch) – hlavní fórum pro výzkum Etherea a nejvlivnější fórum pro kryptoekonomii na světě
+- [EF Research AMA](https://old.reddit.com/r/ethereum/comments/vrx9xe/ama_we_are_ef_research_pt_8_07_july_2022) – otázky a odpovědi s výzkumníky Etherea. Jakmile se ohlásí další díl, kdokoliv jim může položit otázky.
+- [Ecosystem Support Program's wishlist](https://esp.ethereum.foundation/wishlist/) – výzkumné oblasti, ve kterých tento program aktivně hledá žádosti o granty
+- [AllWalletDevs](https://allwallet.dev) – fórum pro vývojáře, designéry a zájemce o Ethereum, kde se pravidelně setkávají a diskutují o peněženkách
+
+[Prozkoumejte další aktivní oblasti výzkumu](/community/research/).
+
+## Netechnické dovednosti {#non-technical}
+
+Pokud nejste vývojář, může být obtížné zjistit, jak začít pracovat s Ethereem. Zde je několik nápadů spolu se zdroji pro konkrétní odbornosti.
+
+### Zorganizujte ve svém městě schůzku {#meetups}
+
+- Nevíte, jak začít? Může vám pomoci [síť BUIDL](https://consensys.net/developers/buidlnetwork/).
+
+### Pište o Ethereu {#write-content}
+
+- Ethereum potřebuje dobré autory, kteří zvládnou vysvětlit jeho přínos jednoduše
+- Nejste připraveni publikovat vlastní články? Zvažte možnost přispívat ke stávajícímu obsahu komunitních zdrojů nebo [navrhněte nový obsah pro ethereum.org](/contributing/)!
+
+### Nabídněte pomoc při psaní poznámek během komunitních hovorů {#take-notes}
+
+- Existuje mnoho hovorů open-source komunit a mít osobu dedikovanou na zápis poznámek je velká pomoc. Pokud máte zájem, připojte se k [Discordu Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu)a představte se!
+
+### Překládejte obsah o Ethereu do svého rodného jazyka {#translate-ethereum}
+
+- ethereum.org má program věnovaný překladům, který překládá webové stránky a další zdroje do mnoha různých jazyků
+- [Tady](/contributing/translation-program)zjistíte, jak se můžete zapojit
+
+### Spustit uzel {#run-a-node}
+
+Připojte se k tisícům provozovatelů síťových uzlů, kteří pomáhají decentralizovat Ethereum.
+
+- [Další informace o spuštění uzlu](/developers/docs/nodes-and-clients/run-a-node/)
+
+### Stakujte Vaše ETH {#staking}
+
+Stakování ETH vám umožní vydělávat na odměnách při zajišťování bezpečnosti sítě Ethereum.
+
+- [Více o sázení](/staking/)
+
+### Podpora projektů {#support-projects}
+
+Ekosystém Etherea má za cíl financovat veřejné statky a významné projekty. I velmi malými dary můžete vyjádřit svou podporu a umožnit realizaci důležitých projektů.
+
+- [Gitcoin](https://gitcoin.co/fund)
+- [clr.fund](https://clr.fund/#/about)
+
+## Finanční odborníci & účetní {#financial-professionals}
+
+- Ethereum je domovem ekosystému „decentralizovaných financí“ – sítě protokolů a aplikací, které nabízejí alternativní finanční systém. Pokud jste finanční profesionál/ka, podívejte se na některé DeFi aplikace na [DeFi Llama](https://defillama.com/) nebo [DeFiPrime](https://defiprime.com)
+- Účetní? Aktiva na Ethereu – ETH, tokeny, DeFi, atd. – přinášejí mnoho nových účetních výzev. Můžete začít tím, že se podíváte na některé projekty, které pomáhají uživatelům kryptoměn řešit jejich problémy s účetnictvím, jako je [Rotki](https://rotki.com/)
+
+## Produktoví manažeři {#product-managers}
+
+- Ekosystém Etherea potřebuje váš talent! Celá řada společností hledá produktové manažery. Pokud chcete začít přispívat do open source projektu, kontaktujte [Ethereum Cat Herders](https://discord.com/invite/Nz6rtfJ8Cu) nebo [RaidGuild](https://www.raidguild.org/)
+
+## Marketing {#marketing}
+
+- V ekosystému Etherea existuje mnoho otevřených pozic v oblasti marketingu a komunikace!
+
+## Pracovní pozice v ekosystému Etherea {#ethereum-jobs}
+
+**Hledáte práci v ekosystému Etherea?**
+
+- [ethereum.org jobs](/about/#open-jobs)
+- [Ethereum Foundation job board (Lever)](https://jobs.lever.co/ethereumfoundation)
+- [Ethereum Foundation job board (BambooHR)](https://ethereum.bamboohr.com/jobs/)
+- [JobStash](https://jobstash.xyz)
+- [Kryptoměna – pracovní pozice](https://cryptocurrencyjobs.co/ethereum/)
+- [Kariéra v ConsenSys](https://consensys.net/careers/)
+- [Seznam pracovních pozic – Crypto](https://cryptojobslist.com/ethereum-jobs)
+- [Bankless jobs board](https://pallet.xyz/list/bankless/jobs)
+- [Web3 – pracovní pozice](https://web3.career)
+- [Web3 Army](https://web3army.xyz/)
+- [Crypto Valley – pracovní pozice](https://cryptovalley.jobs/)
+- [Ethereum – pracovní pozice](https://startup.jobs/ethereum-jobs)
+- [CryptoJobster](https://cryptojobster.com/tag/ethereum/)
+
+## Připojte se k DAO {#decentralized-autonomous-organizations-daos}
+
+„DAO“ jsou decentralizované autonomní organizace. Tyto skupiny využívají technologii Etherea k usnadnění organizace a spolupráce. Například ke kontrole členství, hlasování o návrzích nebo správě sdružených aktiv. I když jsou DAOs stále experimentální, nabízejí příležitosti, jak najít skupiny, se kterými se identifikujete, najít spolupracovníky a rozšířit svůj vliv na komunitu Etherea. [Další informace o DAO](/dao/)
+
+- [DAOSquare](https://daosquare.io/) [@DAOSquare](https://twitter.com/DAOSquare) – _Propagujte koncept DAO v netechnických oblastech a pomáhejte lidem vytvářet hodnoty prostřednictvím DAO_
+- [Developer DAO](https://www.developerdao.com/) [@developer_dao](https://twitter.com/developer_dao) – _Komunita stavitelů, kteří věří v kolektivní vlastnictví internetu_
+- [dOrg](https://dOrg.tech) [@dOrg_tech](https://twitter.com/dOrg_tech) – _Vývojový Web3 kolektiv na volné noze pracující jako DAO_
+- [HausDAO](https://daohaus.club) [@nowdaoit](https://twitter.com/nowdaoit) – _Správa komunity DAOhaus_
+- [LexDAO](https://lexdao.org) [@lex_DAO](https://twitter.com/lex_DAO) – _Právní inženýrství_
+- [Machi X](https://machix.com) [@MachiXOfficial](https://twitter.com/MachiXOfficial) – _Umělecká komunita_
+- [MetaCartel Ventures](https://metacartel.xyz) [@VENTURE_DAO](https://twitter.com/VENTURE_DAO) – _Podnik pro pre-seed krypto projekty_
+- [MetaGame](https://metagame.wtf) [@MetaFam](https://twitter.com/MetaFam) – _MMORPG herní mechanismy pro reálný život_
+- [MetaFactory](https://metafactory.ai) [@TheMetaFactory](https://twitter.com/TheMetaFactory) – _Digifyzické oděvní značky_
+- [MolochDAO](https://molochdao.com) [@MolochDAO](https://twitter.com/MolochDAO) – _Komunita zaměřená na financování vývoje Etherea_
+- [Raid Guild](https://raidguild.org) [@RaidGuild](https://twitter.com/RaidGuild) – _Kolektiv stavitelů Web3_
+
+Mějte prosím na paměti, že při přispívání na ethereum.org je třeba se řídit [kodexem chování](/community/code-of-conduct)!
diff --git a/public/content/translations/cs/community/grants/index.md b/public/content/translations/cs/community/grants/index.md
new file mode 100644
index 00000000000..43d6a2c130a
--- /dev/null
+++ b/public/content/translations/cs/community/grants/index.md
@@ -0,0 +1,47 @@
+---
+title: Ethereum Foundation & granty pro komunity
+description: Seznam grantových programů v ekosystému Etherea.
+lang: cs
+---
+
+# Granty Etehrea {#ethereum-grants}
+
+Níže uvedené programy nabízejí finanční granty pro projekty, které podporují úspěch a růst ekosystému Ethereum. Tento článek berte jako návod k nalezení správného grantu a k podání úspěšné žádosti o finanční prostředky, které vám pomohou k úspěchu vašeho dalšího projektu běžícího na Ethereuu.
+
+Tento seznam je kurátorován naší komunitou. Pokud zde něco chybí nebo není uvedeno správně, navrhněte prosím úpravu této stránky!
+
+## Široký ekosystém Ethereum {#broad-ethereum-ecosystem}
+
+Tyto programy podporují ekosystém Ethereum tím, že nabízejí granty široké škále projektů. Patří mezi ně řešení pro škálovatelnost, budování komunit, zabezpečení, ochrana soukromí a další. Tyto granty nejsou specifické pro žádnou část Etherea a jsou dobrým místem, kde začít, pokud si nejste jisti, kam váš projekt spadá.
+
+- [EF Ecosystem Support Program](https://esp.ethereum.foundation) – _Financování open source projektů, které jsou přínosem pro Ethereum, se zaměřením na univerzální nástroje, infrastrukturu, výzkum a veřejné statky_
+- [Moloch DAO](https://www.molochdao.com/) – _Soukromí, škálování vrstvy 2, zabezpečení klientů a další_
+- [DAO Grants](https://docs.google.com/spreadsheets/d/1XHc-p_MHNRdjacc8uOEjtPoWL86olP4GyxAJOFO0zxY/edit#gid=0) – _Google sheet organizací nabízejících granty_
+- [Akademické granty](https://esp.ethereum.foundation/academic-grants) – _Granty na podporu akademických prací souvisejících s Ethereem_
+- [Grantfarma Blockworks](https://blockworks.co/grants/programs) – _Blockworks sestavil komplexní adresář všech grantů, RFP a bug odměn._
+
+## Projektově specifické {#project-specific}
+
+Tyto projekty vytvořily vlastní granty pro projekty zaměřené na vývoj a experimentování s jejich technologií.
+
+- [Aave Grants Program](https://aavegrants.org/) – _[Aave](https://aave.com/) grants DAO_
+- [Balancer](https://grants.balancer.community/) – _Ekosystémový fond od [Balanceru](https://balancer.fi/)_
+- [Chainlink Grants Program](https://chain.link/community/grants) – _Komunitní granty od [Chainlinku](https://chain.link/)_
+- [Decentraland Grants Program](https://governance.decentraland.org/grants/) – _[Decentraland](https://decentraland.org/) DAO Metaverse_
+- [Lido Ecosystem Grants Organization (LEGO)](https://lido.fi/lego) – _Finanční ekosystém [Lido](https://lido.fi/)_
+- [MetaMask Program](https://metamaskgrants.org/) – _Granty od zaměstnanci [MetaMasku](https://metamask.io/) vedeného DAO_
+- [Program grantů sítě SKALE](https://skale.space/developers#grants) – _Ekosystém [SKALE Network](https://skale.space/)_
+- [Swarm Foundation Grants Program](https://my.ethswarm.org/grants) – _Ekosystém [Swarm Foundation](https://www.ethswarm.org/)_
+- [The Graph](https://thegraph.com/ecosystem/grants/) – _[Ekosystém](https://thegraph.com/) The Graph_
+- [Uniswap Grants Program](https://www.uniswapfoundation.org/approach) – _[Uniswap](https://uniswap.org/) komunita_
+
+## Kvadratické financování {#quadratic-funding}
+
+Open sourcové kořeny Etherea vedly k růstu zajímavého nového fundraisingového modelu: kvadratického financování. To má potenciál zlepšit způsob, jakým budeme v budoucnu financovat všechny druhy veřejných statků. Kvadratické financování zajišťuje, že nejvíce finančních prostředků obdrží projekty s největší poptávkou. Jinými slovy, projekty, které zlepšují životy většiny lidí. [Další informace o kvadratickém financování.](/defi/#quadratic-funding)
+
+- [Gitcoin](https://gitcoin.co/grants)
+- [clr.fund](https://clr.fund/)
+
+## Práce v ekosystému Etherea {#work-in-ethereum}
+
+Nejste připraveni rozjet svůj vlastní projekt? Existují stovky společností, které aktivně hledají zapálené jednotlivce, kteří by pro ně pracovali a tím přispívali do ekosystému Ethereum. Zajímají vás další informace? [Podívejte se na pracovní místa související s rozvojem Etherea](/community/get-involved/#ethereum-jobs)
diff --git a/public/content/translations/cs/community/language-resources/index.md b/public/content/translations/cs/community/language-resources/index.md
new file mode 100644
index 00000000000..870fdaed0a5
--- /dev/null
+++ b/public/content/translations/cs/community/language-resources/index.md
@@ -0,0 +1,153 @@
+---
+title: Jazykové zdroje
+description: Zdroje informací o Ethereu, které nejsou v angličtině
+lang: cs
+---
+
+# Jazykové zdroje {#language-resources}
+
+Ethereovská komunita je globální a zahrnuje miliony lidí, kteří nemluví anglicky.
+
+Naším cílem je poskytovat vzdělávací obsah ve všech jazycích a pomoci překonat jazykové bariéry, které ztěžují vstup lidí z celého světa do světa Etherea.
+
+Pokud dáváte přednost čtení ve svém rodném jazyce nebo znáte někoho, kdo nemluví anglicky, níže najdete seznam užitečných neanglických zdrojů. Stovky tisíc nadšenců Etherea se shromažďují na těchto online fórech, aby sdíleli novinky, probírali nejnovější vývoj, debatovali o technických otázkách a představovali si budoucnost.
+
+Víte o vzdělávacím zdroji ve svém jazyce? [Otevřete problém](https://github.com/ethereum/ethereum-org-website/issues/new/choose) a přidejte ho do seznamu!
+
+## Zdroje na Ethereum.org {#ethereum-org}
+
+Ethereum.org je přeloženo do více než 40 jazyků, které najdete pomocí našeho jazykového výběru v menu, které se nachází v záhlaví každé stránky.
+
+
+
+Pokud jste bilingvní a chcete nám pomoci oslovit více lidí, můžete se zapojit do [překladového programu ethereum.org](/contributing/translation-program/#translation-program) a pomoci nám s překladem webových stránek.
+
+## Komunitní zdroje {#community}
+
+### Brazilská portugalština {#br-pt}
+
+**Zprávy**
+
+- [BeInCrypto](http://www.beincrypto.com.br) – zprávy a články o kryptoměnách, včetně seznamu burz dostupných v Brazílii
+- [Cointelegraph](http://cointelegraph.com.br/category/analysis) – brazilská verze Cointelegraph, hlavního zpravodajského serveru o kryptoměnách
+- [Livecoins](http://www.livecoins.com.br/ethereum) – zprávy o kryptoměnách a nástroje
+- [Seudinheiro](http://www.seudinheiro.com/criptomoedas/) – zprávy a reporty o kryptoměnách
+- [Modular Crypto](https://modularcrypto.xyz/) – zprávy a vzdělávací články o kryptoměnách
+
+**Vzdělávání**
+
+- [web3dev](https://www.web3dev.com.br/) – hub obsahu a discordová komunita pro web3 vývojáře.
+- [Web3Brasil](https://github.com/web3brasil/web3brasil) – zdroje týkající se Web3 a DeFi
+- [CriptoFacil](http://www.criptofacil.com/ultimas-noticias/) – zprávy a vzdělávání v oblasti kryptoměn, včetně „Ethereum pro začátečníky“ a „DeFi“ pro začátečníky
+- [CriptoAtivos](http://www.criptoativos.wiki.br/) – postřehy ze světa kryptoměn, vzdělávání a blog
+- [Cointimes](http://www.cointimes.com.br/) – zprávy a vzdělávání o kryptoměnách
+- [Web3 starter pack](https://docs.google.com/document/d/1X8PSTFH7FTw9J-gbKWM6Y430SWCBT8d4t4pJgFQHJ8E/) – průvodce odpovídající na nejčastější a základní otázky týkající se kryptoměn
+
+### Čínština {#zh}
+
+**Obecné zdroje**
+
+- [Ethereum.cn](https://www.ethereum.cn/) – komunitou udržovaný obsah, zahrnující upgrade konsenzuální vrstvy, poznámky ze schůzek klíčových vývojářů, vrstvy 2 atd.
+- [EthFans](https://github.com/editor-Ajian/EthFans.org-annual-collected-works/) – naučte se vše od základů po pokročilá témata Etherea
+- [Unitimes](https://mp.weixin.qq.com/s/tvloZSDBSOQN9zDQj_91kA) – komunitou udržovaný obsah, zahrnující znalosti o Ethereu, DeFi, NFT, Web3
+- [123ETH](https://123eth.org/) – portál do ekosystému Etherea
+- [Zhen Xiao](http://zhenxiao.com/blockchain/) – bezplatné online kurzy o kryptoměnách a jejich aplikacích
+- [Ethereum Whitepaper](https://github.com/ethereum/wiki/wiki/[%E4%B8%AD%E6%96%87]-%E4%BB%A5%E5%A4%AA%E5%9D%8A%E7%99%BD%E7%9A%AE%E4%B9%A6) – čínská verze whitepaperu Etherea
+
+**Ekosystém Etherea**
+
+- [ETHPlanet](https://www.ethplanet.org/) – online a osobní hackathony nabízející školení pro studenty vysokých škol
+- [PrimitivesLane](https://www.primitiveslane.org/) – nezisková výzkumná skupina zaměřená na blockchainové technologie
+- [Ethereum Translation Community CN](https://www.notion.so/Ethereum-Translation-Community-CN-05375fe0a94c4214acaf90f42ba40171) – komunita zaměřená na překlad vzdělávacího obsahu o Ethereu
+
+**Pro vývojáře**
+
+- [DappLearning](https://github.com/Dapp-Learning-DAO/Dapp-Learning) – studijní skupina zaměřená na studium hlavních dappek a každotýdenní sdílení názorů a komentářů
+- [LearnBlockchain](https://learnblockchain.cn/) – komunita pro vývojáře, sdílení informací o blockchainových technologiích
+
+**Pro kryptografické výzkumníky**
+
+- [SecbitLabs](https://mp.weixin.qq.com/s/69_tqBJpr_sbaKtR1sBRMw) – WeChat účet vysvětlující kryptografii, bezpečnost atd.
+- [Sparkbyte](https://mp.weixin.qq.com/s/9KgKTc_jtJ7bWKdbNPoqvQ) – WeChat účet vysvětlující zk technologii
+
+### Čeština {#cs}
+
+- [Gwei.cz](https://gwei.cz) – místní komunita kolem Web3, vytváří vzdělávací obsah, organizuje online a osobní akce
+- [Příručka Gwei.cz](https://prirucka.gwei.cz/) – průvodce Ethereem pro začátečníky
+- [Příručka DAO](https://dao.gwei.cz/) – průvodce DAO pro začátečníky
+- [Mastering Ethereum](https://ipfs.io/ipfs/bafybeidvuxhnsgfx3tncpfxheqglkjwmdxclknlgd7s7qggd2a6bzgb27m) – kniha Mastering Ethereum v češtině
+
+### Francouzština {#fr}
+
+- [Ethereum France](https://www.ethereum-france.com/) – Ethereum France organizuje akce, vytváří obsah a podporuje diskuse o Ethereu
+- [Ethereum.fr](https://ethereum.fr/) – novinky a vzdělávání
+- [BanklessFR](https://banklessfr.substack.com/) – Bankless newsletter ve francouzštině
+- [CryptoFR](https://cryptofr.com/category/44/ethereum-general) – kryptoměnové fórum s podstránkou pro Ethereum
+
+### Němčina {#de}
+
+- [Microsoft Learn (Solidity)](https://docs.microsoft.com/de-de/learn/modules/blockchain-learning-solidity/) – použití Solidity
+- [Microsoft Learn (chytré kontrakty)](https://docs.microsoft.com/de-de/learn/modules/blockchain-solidity-ethereum-smart-contracts/) – psaní chytrých kontraktů na Ethereu se Solidity
+- [Microsoft Learn (Ethereovské sítě)](https://docs.microsoft.com/de-de/learn/modules/blockchain-ethereum-networks/) – připojení a nasazení sítí Etherea
+- [Microsoft Learn (blockchainy)](https://docs.microsoft.com/de-de/learn/paths/ethereum-blockchain-development/) – úvod do blockchainového vývoje
+
+### Hebrejština {#he}
+
+- [Udi Wertheimer – co se mohou bitcoinoví nadšenci naučit od Etherea](https://www.cryptojungle.co.il/udi-wertheimer-what-bitcoiners-can-learn-from-ethereum/)
+- [Omer Greismen (OpenZeppelin) – jak jsme zabránili hacku chytrého kontraktu za 15 miliard dolarů](https://www.cryptojungle.co.il/omer-greisman-openzeppelin/)
+- [Shy Datika (INX) – tokenizace a budoucnost cenných papírů, včetně toho, zda je Ethereum cenný papír](https://www.cryptojungle.co.il/shy-datika-tokenization/)
+- [Roy Confino (Lemonade) – pojištění na Ethereu](https://www.cryptojungle.co.il/roy-confino-insurance/)
+- [Idan Ofrat (Fireblocks) – institucionální adopce](https://www.cryptojungle.co.il/idan-ofrat-fireblocks/)
+- [Gal Weizman (MetaMask) – co je MetaMask](https://www.cryptojungle.co.il/gal-weizman-metamask/)
+- [Dror Aviely (Consensys) – centrum Etherea](https://www.cryptojungle.co.il/dror-aviely-ethereum-center/)
+- [Nir Rozin – být kryptopunk](https://www.cryptojungle.co.il/nir-rozin-cryptopunk/)
+- [Adan Kedem – gaming & metaverse](https://www.cryptojungle.co.il/adan-kedem-web3-gaming/)
+- [Uri Kolodny (Starkware) – Ethereum a vrstvy blockchainu](https://www.cryptojungle.co.il/uri-kolodny-starkware/)
+- [Udi Wertheimer – Ethereum 2.0 vs konkurence](https://www.cryptojungle.co.il/udi-on-eth2/)
+- [Ben Samocha (myself) – Ethereum 2.0 – příležitost?](https://www.cryptojungle.co.il/etherurm2-week-summary/)
+- [Alon Muroch (Bloxstaking) – co je Ethereum 2.0?](https://www.cryptojungle.co.il/alon-moroch-eth2/)
+- [Eilon Aviv (Collider Ventures) – co se může pokazit s Ethereum 2.0](https://www.cryptojungle.co.il/eilon-aviv-eth2-0/)
+- [Eilon Aviv (Collider Ventures) – proč potřebujeme Ethereum 2.0](https://www.cryptojungle.co.il/eilon-aviv-ethereum-2-0/)
+
+### Italština {#it}
+
+- [Ethereum Italia](https://www.ethereum-italia.it/) – vzdělávání, akce a novinky o Ethereu, zaměřené na chytré kontrakty a technologii blockchainu
+- [Ethereum Italia Podcast](https://www.ethereum-italia.it/podcast/) – podcast o Ethereu v italštině
+- [Microsoft Learn (Solidity)](https://docs.microsoft.com/it-it/learn/modules/blockchain-learning-solidity/) – naučte se, jak používat Solidity
+- [Microsoft Learn (chytré kontrakty)](https://docs.microsoft.com/it-it/learn/modules/blockchain-solidity-ethereum-smart-contracts/) – naučte se psát chytré kontrakty pomocí Solidity
+- [Microsoft Learn (dapps)](https://docs.microsoft.com/it-it/learn/modules/blockchain-create-ui-decentralized-apps/) – vytvoření uživatelského rozhraní s decentralizovanými aplikacemi
+
+### Japonština {#ja}
+
+- [Japan Virtual and Crypto assets Exchange Association](https://jvcea.or.jp/)
+- [Japan Cryptoasset Business Association](https://cryptocurrency-association.org/)
+- [Začněte s vývojem blockchainu – Learn | Microsoft Docs](https://docs.microsoft.com/ja-jp/learn/paths/ethereum-blockchain-development/) – tato výuková cesta vás uvede do světa blockchainu a vývoje na platformě Ethereum
+- [Mastering Ethereum](https://www.oreilly.co.jp/books/9784873118963/) – kniha Mastering Ethereum v japonštině
+- [Hands-On Smart Contract Development with Solidity and Ethereum](https://www.oreilly.co.jp/books/9784873119342/) – praktický vývoj chytrých kontraktů pomocí Solidity a Etherea v japonštině
+
+### Ruština {#ru}
+
+- [Cyber Academy](https://cyberacademy.dev) – vzdělávací prostor pro tvůrce web3
+- [Forklog](https://forklog.com) – zprávy a vzdělávací články o kryptoměnách obecně, stávajících technologiích a budoucích vylepšeních různých blockchainů
+- [BeInCrypto](https://ru.beincrypto.com) – zprávy, analýza cen kryptoměn a netechnické články s jednoduchým vysvětlením všeho v kryptoměnách
+
+### Španělština {#es}
+
+- [Ethereum Madrid](https://ethereummadrid.com/) – kurzy, akce a blogy o blockchainu, DeFi a řízení
+- [Cointelegraph](https://es.cointelegraph.com/ethereum-for-beginners) – průvodce Ethereem pro začátečníky ve španělštině
+- [Online tutoriály](https://tutoriales.online/curso/solidity) – naučte se Solidity a programování na Ethereu
+- [Kurz Úvod do vývoje na Ethereu](https://youtube.com/playlist?list=PLTqiwJDd_R8y9pfUBjhkVa1IDMwyQz-fU) – základy Solidity, testování a nasazení vašeho prvního chytrého kontraktu
+- [Kurz Úvod do bezpečnosti a hackování na Ethereu](https://youtube.com/playlist?list=PLTqiwJDd_R8yHOvteko_DmUxUTMHnlfci) – pochopení běžných zranitelností a bezpečnostních problémů v reálných chytrých kontraktech
+- [Kurz Úvod do vývoje DeFi](https://youtube.com/playlist?list=PLTqiwJDd_R8zZiP9_jNdaPqA3HqoW2lrS) – naučte se, jak fungují chytré kontrakty DeFi v Solidity a vytvořte si vlastního automatizovaného tvůrce trhu
+- [Cryptoversidad](https://www.youtube.com/c/Cryptoversidad) – netechnické vzdělávání o blockchainu od začátečníků po pokročilé. Naučte se vše o kryptoměnách a Ethereu.
+
+### Turečtina {#tr}
+
+- [BTK Akademi](https://www.btkakademi.gov.tr/portal/course/blokzincir-ve-kripto-paralar-10569#!/about) – kurz zaměřený na blockchain a kryptoměny
+- [Velké přejmenování: co se stalo s Eth2?](https://miningturkiye.org/konu/ethereum-madenciligi-bitiyor-mu-onemli-gelisme.655/) – turecký překlad blogového příspěvku o upuštění od terminologie „Eth2“
+
+### Vietnamština {#vi}
+
+- [Tino Group](https://wiki.tino.org/ethereum-la-gi/) – přehled Etherea, dapps, peněženek a častých dotazů
+- [Tap Chi Bitcoin](https://tapchibitcoin.io/tap-chi/tin-tuc-ethereum-eth) – webová platforma s podstránkami s novinkami a vzdělávání o Ethereu
+- [Coin68](https://coin68.com/ethereum-tieu-diem/) – kryptoměnový portál s novinkami a vzdělávacím obsahem o Ethereu
diff --git a/public/content/translations/cs/community/online/index.md b/public/content/translations/cs/community/online/index.md
new file mode 100644
index 00000000000..497f12a35bc
--- /dev/null
+++ b/public/content/translations/cs/community/online/index.md
@@ -0,0 +1,76 @@
+---
+title: Online komunity
+description: Seznam grantových programů v ekosystému Etherea.
+lang: cs
+---
+
+# Online komunity {#online-communities}
+
+Stovky tisíc nadšenců Etherea se shromažďují na těchto online fórech, aby sdíleli novinky, probírali nejnovější vývoj, debatovali o technických otázkách a představovali si budoucnost.
+
+## Zásady uvedení {#listing-policy}
+
+V zájmu zachování integrity a hodnoty uvedených komunit se ethereum.org řídí přísnými pravidly pro určování způsobilosti:
+
+### Kritéria způsobilosti {#eligibility-criteria}
+
+- **Relevance**: Komunita musí přímo souviset s Ethereem a jeho ekosystémem.
+- **Úroveň aktivity**: Komunita by měla být aktivní, s pravidelnými interakcemi, příspěvky nebo diskusemi. Nečinné nebo neaktivní komunity mohou být odstraněny.
+- **Inkluzivita**: Komunita by měla vytvářet přívětivé prostředí, které respektuje rozmanitost a podporuje účast lidí z různých prostředí.
+- **Nekomerční zaměření**: Soupisky jsou určeny spíše pro komunitně zaměřené prostory než pro komerční nebo propagační platformy.
+
+### Pokyny pro obsah {#content-guidelines}
+
+- **Vhodný obsah**: Komunity musí mít vlastní pravidla pro moderování, vyhýbat se spamu, nenávistným projevům, obtěžování nebo jakémukoli obsahu, který propaguje nezákonné činnosti.
+- **Jazyk**: Přestože primárním jazykem je angličtina, komunity v jiných jazycích jsou podporovány, pokud zachovávají inkluzivní a uctivou atmosféru.
+- **Transparentnost**: Členové by měli mít k dispozici jasné informace o účelu komunity, pravidlech a moderátorech.
+
+### Další doporučení {#other-recommendations}
+
+- **Přístupnost**: Komunitní fóra by měla být přístupná každému, aniž by bylo nutné se registrovat nebo přihlašovat.
+- **Pozvánky na Discord server**: Doporučujeme přidávat na ethereum.org pouze spolehlivé pozvánky na Discord server. Ideálně by tyto pozvánky měly odkazovat na stránku komunity na webových stránkách (např. [ethglobal.com/discord](https://ethglobal.com/discord)) nebo by měly být z oficiální URL adresy (např. [discord.gg/ethstaker](https://discord.gg/ethstaker) nebo [discord.com/invite/ethstaker](https://discord.com/invite/ethstaker)).
+
+Pokud si myslíte, že by komunita měla být na základě těchto pokynů přidána nebo odebrána, [otevřete prosím problém v našem GitHub repozitáři](https://github.com/ethereum/ethereum-org-website/issues).
+
+
+## Fóra {#forums}
+
+r/ethereum – vše o Ethereu
+r/ethfinance – finanční stránka Etherea, včetně DeFi
+r/ethdev – zaměřeno na vývoj Etherea
+r/ethtrader – trendy a analýza trhu
+r/ethstaker – vítá všechny zájemce o staking na Ethereu
+Fellowship of Ethereum Magicians – komunita zaměřená na technické standardy Etherea
+Ethereum Stackexchange – diskuze a pomoc pro vývojáře Etherea
+Ethereum Research – nejvlivnější fórum pro výzkum kryptoekonomiky
+
+## Chatovací místnosti {#chat-rooms}
+
+Ethereum Cat Herders – komunita zaměřená na poskytování projektového řízení vývoje Etherea
+Ethereum Hackers – Discord chat provozovaný ETHGlobal: online komunita pro hackery Etherea z celého světa
+CryptoDevs – komunita na Discordu zaměřená na vývoj Etherea
+EthStaker Discord – komunita poskytující vedení, vzdělání, podporu a zdroje pro stávající i potenciální stakeholdery
+Ethereum.org website team – zastavte se na slovíčko o vývoji a designu webu ethereum.org s týmem a lidmi z komunity
+Matos Discord – komunita web3 tvůrců, kde se scházejí vývojáři, průmysloví lídři a nadšenci do Etherea. Jsme nadšení do vývoje, designu a kultury web3. Pojďte s námi budovat.
+Solidity Gitter – chat pro vývoj v Solidity (Gitter)
+Solidity Matrix – chat pro vývoj v Solidity (Matrix)
+Ethereum Stack Exchange* – fórum otázek a odpovědí*
+Komunitní fórum Peera *– decentralizované fórum pro otázky a odpovědi*
+
+## YouTube a X (dříve Twitter) {#youtube-and-twitter}
+
+Ethereum Foundation – sledujte aktuální dění z Ethereum Foundation
+@ethereum – Hlavní Ethereum účet pro komunitu
+@ethereumfndn – Oficiální účet pro Nadaci Ethereum
+@ethdotorg – portál do světa Etherea, vytvořený pro naši rostoucí globální komunitu
+Seznam vlivných účtů na Twitteru o Ethereu
+
+
+
+
+
+
+ Více o DAO
+
+
+
diff --git a/public/content/translations/cs/community/research/index.md b/public/content/translations/cs/community/research/index.md
new file mode 100644
index 00000000000..fc946b4b3fd
--- /dev/null
+++ b/public/content/translations/cs/community/research/index.md
@@ -0,0 +1,399 @@
+---
+title: Aktivní oblasti výzkumu Etherea
+description: Prozkoumejte různé oblasti výzkumu a zjistěte, jak se můžete zapojit.
+lang: cs
+---
+
+# Aktivní oblasti výzkumu Etherea {#active-areas-of-ethereum-research}
+
+Jednou z hlavních silných stránek Etherea je aktivní výzkumná a inženýrská komunita, která neustále pracuje na jeho zlepšování. Mnoho nadšených a schopných lidí po celém světě by se rádo zapojilo do řešení aktuálních problémů Etherea, ale ne vždy je snadné zjistit, jaké problémy to jsou. Tato stránka nastiňuje klíčové oblasti aktivního výzkumu jako přehled aktuálního stavu v oblasti výzkumu Etherea.
+
+## Jak funguje výzkum Etherea {#how-ethereum-research-works}
+
+Výzkum Etherea je otevřený a transparentní, přičemž se řídí principy [Decentralizované vědy (DeSci)](https://hackernoon.com/desci-decentralized-science-as-our-chance-to-recover-the-real-science). Vše je navržené tak, aby výzkumné nástroje a výstupy byly co nejvíce otevřené a interaktivní, například prostřednictvím spustitelných notebooků. Výzkum Etherea postupuje rychle, přičemž nové poznatky jsou zveřejňovány a diskutovány otevřeně na fórech, jako je [ethresear.ch](https://ethresear.ch/), spíše než aby se dostávaly ke komunitě prostřednictvím tradičních publikací po několika kolech odborného hodnocení.
+
+## Obecné výzkumné zdroje {#general-research-resources}
+
+Bez ohledu na konkrétní téma existuje na [ethresear.ch](https://ethresear.ch) a kanálu [Eth R&D Discord](https://discord.gg/qGpsxSA) spousta informací o výzkumu Etherea. To jsou hlavní místa, kde výzkumníci Etherea diskutují o nejnovějších nápadech a možnostech vývoje.
+
+Tato zpráva publikovaná v květnu 2022 společností [DelphiDigital](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum) poskytuje dobrý přehled o plánu rozvoje Etherea.
+
+## Zdroje financování {#sources-of-funding}
+
+Každý se může zapojit do výzkumu Etherea a být za to placen! Například [Ethereum Foundation](/foundation/) nedávno uspořádala [financování Akademických grantů](https://esp.ethereum.foundation/academic-grants). Informace o aktivních a nadcházejících možnostech financování najdete na [stránce věnované grantům Etherea](/community/grants/).
+
+## Výzkum protokolů {#protocol-research}
+
+Výzkum protokolů se zabývá základní vrstvou Etherea – souborem pravidel, která definují, jak se uzly připojují, komunikují, vyměňují a ukládají data Etherea a jak dochází ke konsenzu o stavu blockchainu. Výzkum protokolů se dělí na dvě nejvyšší kategorie: konsenzus a provádění.
+
+### Konsenzus {#consensus}
+
+Výzkum konsenzu se zabývá [Ethereum mechanismem „důkaz podílem“](/developers/docs/consensus-mechanisms/pos/). Mezi příklady témat výzkumu konsenzu patří:
+
+- identifikace a oprava zranitelností;
+- kvantifikace kryptoekonomické bezpečnosti;
+- zvýšení bezpečnosti nebo výkonu klientských implementací;
+- a rozvoj jednoduchých klientů.
+
+Kromě výzkumu zaměřeného na budoucnost se zkoumají i některé zásadní změny protokolů, jako je například finalita jednoho slotu, která by umožnila významné vylepšení Etherea. Kromě toho jsou důležitými tématy výzkumu také efektivita, bezpečnost a peer-to-peer monitorování sítí mezi konsenzuálními klienty.
+
+#### Základní podklady {#background-reading}
+
+- [Úvod do důkazu podílem](/developers/docs/consensus-mechanisms/pos/)
+- [Práce na Casper-FFG](https://arxiv.org/abs/1710.09437)
+- [Vysvětlení Casper-FFG](https://arxiv.org/abs/1710.09437)
+- [Práce na Casper](https://arxiv.org/abs/2003.03052)
+
+#### Nedávný výzkum {#recent-research}
+
+- [Ethresear.ch Consensus](https://ethresear.ch/c/consensus/29)
+- [Dilema dostupnosti/finality](https://arxiv.org/abs/2009.04987)
+- [Finalita jednoho slotu](https://ethresear.ch/t/a-model-for-cumulative-committee-based-finality/10259)
+- [Separace navrhovatele a stavitele](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
+
+### Provádění {#execution}
+
+Exekuční vrstva se stará o provádění transakcí, spouštění [virtuálního stroje Etherea (EVM)](/developers/docs/evm/) a generování exekučních payloadů, které se předávají vrstvě konsenzu. Existuje mnoho aktivních oblastí výzkumu, včetně:
+
+- budování podpory jednoduchých klientů;
+- zkoumání limitů paliva;
+- a začleňování nových datových struktur (např. Verkle Tries).
+
+#### Základní podklady {#background-reading-1}
+
+- [Úvod do EVM](/developers/docs/evm)
+- [Exekuční vrstva Ethresear.ch](https://ethresear.ch/c/execution-layer-research/37)
+
+#### Nedávný výzkum {#recent-research-1}
+
+- [Optimalizace databází](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/db_faq.md)
+- [Expirace stavu](https://notes.ethereum.org/@vbuterin/state_expiry_eip)
+- [Cesty k expiraci stavu](https://hackmd.io/@vbuterin/state_expiry_paths)
+- [Návrh k expiraci Verkle a stavu](https://notes.ethereum.org/@vbuterin/verkle_and_state_expiry_proposal)
+- [Správa historie](https://eips.ethereum.org/EIPS/eip-4444)
+- [Verkle stromy](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
+- [Vzorkování dostupnosti dat](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding)
+
+## Vývoj klientů {#client-development}
+
+Klienti Etherea jsou implementace protokolu Etherea. Vývoj klientů přetváří výsledky výzkumu protokolů v realitu tím, že je zabudovává do těchto klientů. Vývoj klientů zahrnuje aktualizaci specifikací klientů a vytváření konkrétních implementací.
+
+Ethereum uzel vyžaduje spuštění dvou částí softwaru:
+
+1. konsenzuálního klientu, který má přehled o hlavě blockchainu, gossip blocích a zpracovává logiku konsenzu
+2. exekučního klientu pro podporu virtuálního stroje Etherea a provádění transakcí a chytrých kontraktů
+
+Další podrobnosti o uzlech a klientech a seznam všech aktuálních implementací klientů najdete na stránce o [uzlech a klientech](/developers/docs/nodes-and-clients/). Historii všech upgradů Etherea najdete také na stránce o [historii](/history/).
+
+### Exekuční klienty {#execution-clients}
+
+- [Specifikace exekučního klientu](https://github.com/ethereum/execution-specs)
+- [Specifikace exekučního API](https://github.com/ethereum/execution-apis)
+
+### Konsenzuální klienty {#consensus-clients}
+
+- [Specifikace konsenzuálního klientu](https://github.com/ethereum/consensus-specs)
+- [Specifikace Beacon API](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot)
+
+## Škálování a výkon {#scaling-and-performance}
+
+Škálování Etherea je velkou oblastí, na kterou se výzkumníci Etherea zaměřují. Současné přístupy zahrnují přenášení transakcí na rollupy a jejich co nejlevnější zpracování pomocí datových blobů. Úvodní informace o škálování Etherea jsou k dispozici na naší stránce o [škálování](/developers/docs/scaling).
+
+### Vrstva 2 {#layer-2}
+
+V současné době existuje několik protokolů vrstvy 2, které škálují Ethereum pomocí různých technik dávkování transakcí a jejich zabezpečení na vrstvě 1 Etherea. Jedná se o velmi rychle se rozvíjející téma s velkým výzkumným a vývojovým potenciálem.
+
+#### Základní podklady {#background-reading-2}
+
+- [Úvod do vrstvy 2](/layer-2/)
+- [Polynya: Rollupy, DA a modulární blockchainy](https://polynya.medium.com/rollups-data-availability-layers-modular-blockchains-introductory-meta-post-5a1e7a60119d)
+
+#### Nedávný výzkum {#recent-research-2}
+
+- [Arbitrum a spravedlivé řazení pro sekvencery](https://eprint.iacr.org/2021/1465)
+- [Vrstva 2 Ethresear.ch](https://ethresear.ch/c/layer-2/32)
+- [Rollup-centrický plán](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)
+- [L2Beat](https://l2beat.com/)
+
+### Přemostění {#bridges}
+
+Jednou z konkrétních oblastí vrstvy 2, která vyžaduje další výzkum a vývoj, jsou bezpečná a výkonná přemostění. To zahrnuje přemostění mezi různými vrstvami 2 a přemostění mezi vrstvou 1 a vrstvou 2. Jedná se o obzvláště důležitou oblast výzkumu, protože přemostění se běžně stávají cílem útoků hackerů.
+
+#### Základní podklady {#background-reading-3}
+
+- [Úvod do přemostění blockchainů](/bridges/)
+- [Vitalik o přemostění](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/)
+- [Článek o přemostění blockchainů](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8)
+- [Hodnota uzamčena v přemostění](https://dune.com/eliasimos/Bridge-Away-\(from-Ethereum\))
+
+#### Nedávný výzkum {#recent-research-3}
+
+- [Validování přemostění](https://stonecoldpat.github.io/images/validatingbridges.pdf)
+
+### Sharding {#sharding}
+
+Sharding blockchainu Etherea je již dlouho součástí vývojového plánu. V současné době se však do popředí dostávají nová řešení škálování, jako je například „Danksharding“.
+
+Předchůdce ryzího Dankshardingu, známý jako Proto-Danksharding, byl spuštěn s modernizací sítě Cancún-Deneb („Dencun“).
+
+[Více o modernizaci Dencunu](/roadmap/dencun/)
+
+#### Základní podklady {#background-reading-4}
+
+- [Poznámky o Proto-Dankshardingu](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq)
+- [Video na Danksharding od Bankless](https://www.youtube.com/watch?v=N5p0TB77flM)
+- [Kompendium výzkumu shardingu Etherea](https://notes.ethereum.org/@serenity/H1PGqDhpm?type=view)
+- [Danksharding (Polynya)](https://polynya.medium.com/danksharding-36dc0c8067fe)
+
+#### Nedávný výzkum {#recent-research-4}
+
+- [EIP-4844: Proto-Danksharding](https://eips.ethereum.org/EIPS/eip-4844)
+- [Vitalik o shardingu a vzorkování dostupnosti dat](https://hackmd.io/@vbuterin/sharding_proposal)
+
+### Hardware {#hardware}
+
+[Provoz uzlů](/developers/docs/nodes-and-clients/run-a-node/) na skromném hardwaru je základem pro zachování decentralizace Etherea. Důležitou oblastí výzkumu je proto aktivní výzkum minimalizace hardwarových nároků na provoz uzlů.
+
+#### Základní podklady {#background-reading-5}
+
+- [Ethereum na ARM](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/)
+
+#### Nedávný výzkum {#recent-research-5}
+
+- [ecdsa na FPGA](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738)
+
+## Bezpečnost {#security}
+
+Bezpečnost je široké téma, které může zahrnovat prevenci spamu/podvodů, bezpečnost peněženek, bezpečnost hardwaru, kryptoekonomickou bezpečnost, vyhledávání chyb a testování aplikací a klientského softwaru a správu klíčů. Přispění ke znalostem v těchto oblastech pomůže podnítit jejich všeobecné přijetí.
+
+### Kryptografie a DNZ {#cryptography--zkp}
+
+Důkazy s nulovými znalostmi (DNZ) a kryptografie mají zásadní význam pro budování soukromí a bezpečnosti na Ethereu a příslušných aplikacích. Nulová znalost je relativně mladá, ale rychle se rozvíjející oblast s mnoha otevřenými možnostmi výzkumu a vývoje. Některé možnosti zahrnují vývoj efektivnějších implementací [Keccak hashing algoritmu](https://hackmd.io/sK7v0lr8Txi1bgION1rRpw?view#Overview), nalezení lepších polynomiálních závazků, než jaké v současnosti existují, nebo snížení nákladů na obvody pro generování veřejných ecdsa klíčů a ověřování podpisů.
+
+#### Základní podklady {#background-reading-6}
+
+- [0xparc blog](https://0xparc.org/blog)
+- [zkp.science](https://zkp.science/)
+- [Podcast o Nulové znalosti](https://zeroknowledge.fm/)
+
+#### Nedávný výzkum {#recent-research-6}
+
+- [Nedávný pokrok v kryptografii eliptických křivek](https://ethresear.ch/t/the-ec-fft-algorithm-without-elliptic-curve-and-isogenies/11346)
+- [Ethresear.ch NZ](https://ethresear.ch/c/zk-s-nt-arks/13)
+
+### Peněženky {#wallets}
+
+Peněženky Etherea mohou být rozšíření prohlížeče, desktopové a mobilní aplikace nebo chytré kontrakty na Ethereu. Probíhá aktivní výzkum peněženek pro sociální obnovu, které snižují některá rizika spojená se správou klíčů jednotlivých uživatelů. S vývojem peněženek souvisí i výzkum alternativních forem abstrakce účtu, což je důležitá oblast vznikajícího výzkumu.
+
+#### Základní podklady {#background-reading-7}
+
+- [Úvod do peněženek](/wallets/)
+- [Úvod do zabezpečení peněženek](/security/)
+- [Bezpečnost Ethresear.ch](https://ethresear.ch/tag/security)
+- [Abstrakce účtu EIP-2938](https://eips.ethereum.org/EIPS/eip-2938)
+- [Abstrakce účtu EIP-4337](https://eips.ethereum.org/EIPS/eip-4337)
+
+#### Nedávný výzkum {#recent-research-7}
+
+- [Validace zaměřená na peněženky s chytrými kontrakty](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
+- [Budoucnost účtů](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
+- [AUTH a AUTHCALL operační kódy EIP-3074](https://eips.ethereum.org/EIPS/eip-3074)
+- [Zveřejnění kódu na EOA adrese](https://eips.ethereum.org/EIPS/eip-5003)
+
+## Komunita, vzdělávání a oslovování {#community-education-and-outreach}
+
+Nástup nových uživatelů na Ethereum vyžaduje nové vzdělávací zdroje a přístupy k oslovování. Může se jednat o příspěvky a články na blogu, knihy, podcasty, memy, výukové zdroje, události a cokoli dalšího, co vytváří komunity, vítá nové zájemce a vzdělává lidi o Ethereu.
+
+### UX/UI {#uxui}
+
+Aby se na Ethereum dostalo více lidí, musí ekosystém zlepšit UX/UI. To bude vyžadovat, aby designéři a produktoví odborníci přehodnotili design peněženek a aplikací.
+
+#### Základní podklady {#background-reading-8}
+
+- [UX/UI Ethresear.ch](https://ethresear.ch/c/ui-ux/24)
+
+#### Nedávný výzkum {#recent-research-8}
+
+- [Design Discord Web3](https://discord.gg/FsCFPMTSm9)
+- [Design principy Web3](https://www.web3designprinciples.com/)
+- [Ethereum Magicians UX diskuze](https://ethereum-magicians.org/t/og-council-ux-follow-up/9032/3)
+
+### Ekonomika {#economics}
+
+Ekonomický výzkum v oblasti Etherea se obecně řídí dvěma přístupy: ověřovat bezpečnost mechanismů, které se opírají o ekonomické pobídky („mikroekonomie“), a analyzovat toky hodnot mezi protokoly, aplikacemi a uživateli („makroekonomie“). Existují složité kryptoekonomické faktory související s nativním aktivem Etherea (ether) a tokeny na něm postavenými (například NFT a tokeny ERC20).
+
+#### Základní podklady {#background-reading-9}
+
+- [Robust Incentives Group](https://ethereum.github.io/rig/)
+- [Workshop ETHconomics na Devconnect](https://www.youtube.com/playlist?list=PLTLjFJ0OQOj5PHRvA2snoOKt2udVsyXEm)
+
+#### Nedávný výzkum {#recent-research-9}
+
+- [Empirická analýza EIP1559](https://arxiv.org/abs/2201.05574)
+- [Rovnováha nabídky v oběhu](https://ethresear.ch/t/circulating-supply-equilibrium-for-ethereum-and-minimum-viable-issuance-during-the-proof-of-stake-era/10954)
+- [Kvantifikace MEV: Jak temný je les?](https://arxiv.org/abs/2101.05511)
+
+### Blokový prostor a trhy poplatků {#blockspace-fee-markets}
+
+Trhy s blokovým prostorem řídí začlenění transakcí koncových uživatelů, a to buď přímo na Ethereu (vrstva 1), nebo na přemostěných sítích, např. rollupech (vrstva 2). Na Ethereu se transakce odesílají na trh poplatků nasazený v protokolu jako EIP-1559, což chrání blockchain před spamem a cenovým přetížením. Na obou vrstvách mohou transakce vytvářet externality, známé jako maximální extrahovatelné hodnoty (MEH), které vyvolávají nové tržní struktury k zachycení nebo řízení těchto externalit.
+
+#### Základní podklady {#background-reading-10}
+
+- [Návrh mechanismu transakčních poplatků pro Ethereum Blockchain: Ekonomická analýza EIP-1559 (Tim Roughgarden, 2020)](https://timroughgarden.org/papers/eip1559.pdf)
+- [Simulace EIP-1559 (Robust Incentives Group)](https://ethereum.github.io/abm1559)
+- [Ekonomika rollupů z prvních principů](https://barnabe.substack.com/p/understanding-rollup-economics-from?utm_source=url)
+- [Flash Boys 2.0: Frontrunning, změna pořadí transakcí a nestabilita konsenzu na decentralizovaných burzách](https://arxiv.org/abs/1904.05234)
+
+#### Nedávný výzkum {#recent-research-10}
+
+- [Multidimenzionální videoprezentace EIP-1559](https://youtu.be/QbR4MTgnCko)
+- [MEH napříč doménami](http://arxiv.org/abs/2112.01472)
+- [MEH aukce](https://ethresear.ch/t/mev-auction-auctioning-transaction-ordering-rights-as-a-solution-to-miner-extractable-value/6788)
+
+### Pobídky důkazem podílu {#proof-of-stake-incentives}
+
+Validátoři používají nativní aktivum Etherea (ether) jako zástavu proti nekalému chování. Tato kryptoekonomika určuje bezpečnost sítě. Sofistikovaní validátoři mohou být schopni využít nuance pobídkové vrstvy k explicitním útokům.
+
+#### Základní podklady {#background-reading-11}
+
+- [Masterclass ekonomiky Etherea a ekonomický model](https://github.com/CADLabs/ethereum-economic-model)
+- [Simulace pobídek důkazem podílu (Robust Incentives Group)](https://ethereum.github.io/beaconrunner/)
+
+#### Nedávný výzkum {#recent-research-11}
+
+- [Zvyšování cenzurní odolnosti transakcí v rámci oddělení navrhovatele a sestavovatele (PBS)](https://notes.ethereum.org/s3JToeApTx6CKLJt8AbhFQ)
+- [Tři útoky na důkaz podílem Ethereum](https://arxiv.org/abs/2110.10086)
+
+### Likvidní staking a deriváty {#liquid-staking-and-derivatives}
+
+Likvidní staking umožňuje uživatelům s méně než 32 ETH získat výnosy ze stakingu výměnou etherů za token představující stakovaný ether, který lze použít v DeFi. Nové pobídky a dynamiky trhu spojené s likvidním stakingem se však stále objevují, stejně jako jejich vliv na bezpečnost Etherea (např. rizika centralizace).
+
+#### Základní podklady {#background-reading-12}
+
+- [Likvidní staking Ethresear.ch](https://ethresear.ch/search?q=liquid%20staking)
+- [Lido: Cesta ke stakingu Etherea bez nutnosti další důvěry](https://blog.lido.fi/the-road-to-trustless-ethereum-staking/)
+- [Rocket Pool: Úvod k protokolům stakingu](https://medium.com/rocket-pool/rocket-pool-staking-protocol-part-1-8be4859e5fbd)
+
+#### Nedávný výzkum {#recent-research-12}
+
+- [Zpracování výběrů z Lido](https://ethresear.ch/t/handling-withdrawals-in-lidos-eth-liquid-staking-protocol/8873)
+- [Ověřovací údaje o výběrech](https://ethresear.ch/t/withdrawal-credential-rotation-from-bls-to-eth1/8722)
+- [Rizika derivátů likvidního stakingu](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
+
+## Testování {#testing}
+
+### Formální ověřování {#formal-verification}
+
+Formální ověřování je psaní kódu, který ověřuje, zda jsou specifikace konsenzu Etherea správné a bez chyb. Existuje spustitelná verze specifikace napsaná v Pythonu, která vyžaduje údržbu a vývoj. Další výzkum může pomoci zlepšit implementaci specifikace v Pythonu a přidat nástroje, které mohou robustněji ověřovat správnost a identifikovat problémy.
+
+#### Základní podklady {#background-reading-13}
+
+- [Úvod do formálního ověřování](https://ptolemy.berkeley.edu/projects/embedded/research/vis/doc/VisUser/vis_user/node4.html)
+- [Formální ověřování (Intel)](https://www.cl.cam.ac.uk/~jrh13/papers/mark10.pdf)
+
+#### Nedávný výzkum {#recent-research-13}
+
+- [Formální ověřování vkladového kontraktu](https://github.com/runtimeverification/deposit-contract-verification)
+- [Formální ověřování specifikace Beacon Chain](https://github.com/runtimeverification/deposit-contract-verification)
+
+## Datová věda a analytika {#data-science-and-analytics}
+
+Je potřeba vytvořit více nástrojů pro analýzu dat a ovládacích panelů, které poskytují podrobné informace o aktivitě na Ethereu a stavu sítě.
+
+### Základní podklady {#background-reading-14}
+
+- [Dune Analytics](https://dune.com/browse/dashboards)
+- [Ovládací panel Client diversity](https://clientdiversity.org/)
+
+#### Nedávný výzkum {#recent-research-14}
+
+- [Datová analýza Robust Incentives Group](https://ethereum.github.io/rig/)
+
+## Aplikace a nástroje {#apps-and-tooling}
+
+Aplikační vrstva podporuje rozmanitý ekosystém programů, které vypořádávají transakce na základní vrstvě Etherea. Vývojové týmy neustále hledají nové způsoby, jak využít Ethereum k vytváření složitelných verzí důležitých, proti cenzuře odolných Web2 aplikací bez nutnosti oprávění nebo k vytváření zcela nových Web3 nativních konceptů. Zároveň se vyvíjejí nové nástroje, díky nimž je vytváření dappek na Ethereu méně složité.
+
+### DeFi {#defi}
+
+Decentralizované finance (DeFi) jsou jednou z hlavních tříd aplikací postavených na Ethereu. Cílem DeFi je vytvořit složitelné „peněžní lego“, které uživatelům umožní ukládat, převádět, zapůjčovat, půjčovat si a investovat kryptoaktivum pomocí chytrých kontraktů. DeFi je rychle se měnící prostor, který se neustále aktualizuje. Výzkum bezpečných, účinných a dostupných protokolů je neustále potřebný.
+
+#### Základní podklady {#background-reading-15}
+
+- [DeFi](/defi/)
+- [Coinbase: Co je DeFi?](https://www.coinbase.com/learn/crypto-basics/what-is-defi)
+
+#### Nedávný výzkum {#recent-research-15}
+
+- [Decentralizované finance, centralizované vlastnictví?] (https://arxiv.org/pdf/2012.09306.pdf)
+- [Optimism: Cesta k poddolarovým transakcím](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92)
+
+### DAO {#daos}
+
+Důležitou možností využití Etherea je možnost vytvoření decentralizované organizace pomocí DAO. V současné době se aktivně zkoumá, jak lze DAO na Ethereu vyvíjet a využívat k provádění lepších forem správy jako koordinačního nástroje s minimalizovanou důvěrou, což výrazně rozšiřuje možnosti lidí nad rámec tradičních korporací a organizací.
+
+#### Základní podklady {#background-reading-16}
+
+- [Úvod do DAO](/dao/)
+- [Dao Collective](https://daocollective.xyz/)
+
+#### Nedávný výzkum {#recent-research-16}
+
+- [Mapování DAO ekosystému](https://www.researchgate.net/publication/358694594_Mapping_out_the_DAO_Ecosystem_and_Assessing_DAO_Autonomy)
+
+### Nástroje pro vývojáře {#developer-tools}
+
+Nástroje pro vývojáře Etherea se rychle zlepšují. V této obecné oblasti probíhá mnoho aktivního výzkumu a vývoje.
+
+#### Základní podklady {#background-reading-17}
+
+- [Nástroje dle programovacího jazyka](/developers/docs/programming-languages/)
+- [Vývojářské frameworky](/developers/docs/frameworks/)
+- [Seznam konsenzuálních vývojářských nástrojů](https://github.com/ConsenSys/ethereum-developer-tools-list)
+- [Standardy tokenů](/developers/docs/standards/tokens/)
+- [CryptoDevHub: Nástroje pro EVM](https://cryptodevhub.io/wiki/ethereum-virtual-machine-tools)
+
+#### Nedávný výzkum {#recent-research-17}
+
+- [Discord kanál pro nástroje k výzkumu a vývoji Eth konsenzu](https://discordapp.com/channels/595666850260713488/746343380900118528)
+
+### Orákula {#oracles}
+
+Orákula importují data mimo blockchain do blockchainu decentralizovaným způsobem bez nutnosti povolení. Získávání těchto dat na blockchain umožňuje decentralizovaným aplikacím reagovat na jevy reálného světa, jako jsou výkyvy cen reálných aktiv, události v aplikacích mimo blockchain, nebo dokonce změny počasí.
+
+#### Základní podklady {#background-reading-18}
+
+- [Úvod do Orákul](/developers/docs/evm)
+
+#### Nedávný výzkum {#recent-research-18}
+
+- [Přehled blockchainových orákul](https://arxiv.org/pdf/2004.07140.pdf)
+- [Oficiální dokument Chainlink](https://chain.link/whitepaper)
+
+### Bezpečnost aplikací {#app-security}
+
+Hackeři na Ethereu obvykle využívají zranitelnosti v jednotlivých aplikacích, nikoli v samotném protokolu. Hackeři a vývojáři aplikací se předhánějí ve vývoji nových útoků a obran. To znamená, že je vždy nutné provádět důležitý výzkum a vývoj, aby byly aplikace bezpečné před hackery.
+
+#### Základní podklady {#background-reading-19}
+
+- [Zpráva o zneužití Wormhole](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
+- [Seznam následných rozborů hacků kontraktů na Ethereu](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
+- [Rekt News](https://twitter.com/RektHQ?s=20&t=3otjYQdM9Bqk8k3n1a1Adg)
+
+#### Nedávný výzkum {#recent-research-19}
+
+- [Aplikace Ethresear.ch](https://ethresear.ch/c/applications/18)
+
+### Technologický stack {#technology-stack}
+
+Decentralizace celého technologického stacku Etherea je důležitou oblastí výzkumu. V současné době mají dappky na Ethereu běžně některé body centralizace, protože se spoléhají na centralizované nástroje nebo infrastrukturu.
+
+#### Základní podklady {#background-reading-20}
+
+- [Stack Etherea](/developers/docs/ethereum-stack/)
+- [Coinbase: Úvod do Web3 stacku](https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0)
+- [Úvod do chytrých kontraktů](/developers/docs/smart-contracts/)
+- [Úvod do decentralizovaného úložiště](/developers/docs/storage/)
+
+#### Nedávný výzkum {#recent-research-20}
+
+- [Složitelnost chytrých kontraktů](/developers/docs/smart-contracts/composability/)
diff --git a/public/content/translations/cs/community/support/index.md b/public/content/translations/cs/community/support/index.md
new file mode 100644
index 00000000000..87a2a99c6e6
--- /dev/null
+++ b/public/content/translations/cs/community/support/index.md
@@ -0,0 +1,105 @@
+---
+title: Ethereum podpora
+description: Získejte podporu v ekosystému Etherea.
+lang: cs
+---
+
+# Ethereum podpora {#support}
+
+## Oficiální podpora pro Ethereum {#official-support}
+
+Hledáte oficiální podporu pro Ethereum? První věc, kterou byste měli vědět, je, že Ethereum je decentralizované. To znamená, že žádná centrální organizace, entita nebo osoba nevlastní Ethereum, a proto neexistují žádné oficiální kanály podpory.
+
+Pochopení decentralizované povahy Etherea je zásadní, protože **každý, kdo se vydává za oficiálního podporovatele Etherea, se vás pravděpodobně snaží podvést!** Nejlepší ochranou před podvodníky je vzdělávat se a brát bezpečnost vážně.
+
+
+ Bezpečnost a předcházení podvodům v Ethereu
+
+
+
+ Osvojte si základy Etherea
+
+
+Přestože neexistuje oficiální podpora, mnoho skupin, komunit a projektů v ekosystému Etherea je ochotných vám pomoci a na této stránce můžete najít mnoho užitečných informací a zdrojů. Stále máte dotazy? Připojte se na [Discordu ethereum.org](/discord/) a my se vám pokusíme pomoci.
+
+## Často kladené dotazy {#faq}
+
+### Poslal/a jsem ETH na špatnou peněženku {#wrong-wallet}
+
+Transakce odeslaná na Ethereu je nevratná. Bohužel, pokud jste poslali ETH na špatnou peněženku, není žádný způsob, jak tyto prostředky získat zpět. Žádná centrální organizace, entita ani osoba nevlastní Ethereum, což znamená, že nikdo nemůže transakce vrátit zpět. Proto je důležité vždy pečlivě zkontrolovat své transakce před jejich odesláním.
+
+### Jak mohu získat svou odměnu z Ethereum giveaway? {#giveaway-scam}
+
+Ethereum giveaway jsou podvody navržené k tomu, aby vám ukradly ETH. Nenechte se zlákat nabídkami, které vypadají až moc dobře na to, aby byly pravdivé — pokud pošlete ETH na adresu giveaway, nedostanete žádnou odměnu a nebudete moci své prostředky získat zpět.
+
+[Více o prevenci podvodů](/security/#common-scams)
+
+### Moje transakce se zasekla {#stuck-transaction}
+
+Transakce na Ethereu se mohou někdy zaseknout, a to v případě, že jste zadali nižší poplatek za transakci, než je požadováno vzhledem k zatížení sítě. Spousta peněženek poskytuje možnost znovu odeslat stejnou transakci s vyšším poplatkem, aby byla transakce zpracována. Alternativně můžete zrušit nevyřízenou transakci tím, že pošlete transakci na svou vlastní adresu a použijete stejné jedinečné číslo nonce jako u nevyřízené transakce.
+
+[Jak zrychlit nebo zrušit nevyřízenou transakci v MetaMasku](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction)
+
+[Jak zrušit nevyřízené transakce na Ethereu](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/)
+
+### Jak mohu těžit Ethereum? {#mining-ethereum}
+
+Těžba Etherea už není možná. Těžba byla ukončena, když Ethereum přešlo z [proof of work](/glossary/#pow) na [proof of stake](/glossary/#pos). Nyní má Ethereum místo těžařů validátory. Každý může [stakovat](/glossary/#staking) ETH a dostávat odměny za provozování validačního softwaru zabezpečujícího síť.
+
+### Jak se stát stakerem / provozovat validátor? {#how-to-stake}
+
+Chcete-li se stát validátorem, musíte zastakovat 32 ETH v Ethereum deposit contractu a nastavit validační síťový uzel. Další informace naleznete na našich [stránkách o stakování](/staking) a na [staking launchpadu](https://launchpad.ethereum.org/).
+
+## Vývoj dappek {#building-support}
+
+Vývoj může být obtížný. Zde najdete několik zdrojů zaměřených na vývoj, kde vám zkušení vývojáři Etherea rádi pomohou.
+
+- [Alchemy University](https://university.alchemy.com/#starter_code)
+- [Discord CryptoDevs](https://discord.com/invite/5W5tVb3)
+- [Ethereum StackExchange](https://ethereum.stackexchange.com/)
+- [StackOverflow](https://stackoverflow.com/questions/tagged/web3)
+- [Web3 University](https://www.web3.university/)
+- [LearnWeb3](https://discord.com/invite/learnweb3)
+
+V naší sekci [zdrojů pro vývojáře Etherea](/developers/) najdete dokumentaci a průvodce vývojem.
+
+### Nástroje {#dapp-tooling}
+
+Týká se vaše otázka konkrétního nástroje, projektu nebo knihovny? Většina projektů má chatovací servery nebo fóra věnovaná poskytování podpory.
+
+Zde jsou některé oblíbené příklady:
+
+- [Solidity](https://gitter.im/ethereum/solidity)
+- [ethers.js](https://discord.gg/6jyGVDK6Jx)
+- [web3.js](https://discord.gg/GsABYQu4sC)
+- [Hardhat](https://discord.gg/xtrMGhmbfZ)
+- [Alchemy](http://alchemy.com/discord)
+- [Tenderly](https://discord.gg/fBvDJYR)
+
+## Provozování vlastního síťového uzlu {#node-support}
+
+Pokud provozujete uzel nebo validátora, tady najdete některé komunity, které vám pomohou začít.
+
+- [Discord EthStaker](https://discord.gg/ethstaker)
+- [Reddit EthStaker](https://www.reddit.com/r/ethstaker)
+
+Většina týmů, které vytvářejí klienty na Ethereu, má také veřejně přístupné body, kde můžete získat podporu a ptát se na otázky.
+
+### Exekuční klienti {#execution-clients}
+
+- [Geth](https://discord.gg/FqDzupGyYf)
+- [Nethermind](https://discord.gg/YJx3pm8z5C)
+- [Besu](https://discord.gg/p8djYngzKN)
+- [Erigon](https://github.com/ledgerwatch/erigon/issues)
+- [Reth](https://github.com/paradigmxyz/reth/discussions)
+
+### Konsenzuální klienti {#consensus-clients}
+
+- [Prysm](https://discord.gg/prysmaticlabs)
+- [Nimbus](https://discord.gg/nSmEH3qgFv)
+- [Lighthouse](https://discord.gg/cyAszAh)
+- [Teku](https://discord.gg/7hPv2T6)
+- [Lodestar](https://discord.gg/aMxzVcr)
+- [Grandine](https://discord.gg/H9XCdUSyZd)
+
+[Naučte se provozovat síťový uzel](/developers/docs/nodes-and-clients/run-a-node/).
diff --git a/public/content/translations/cs/contributing/design-principles/index.md b/public/content/translations/cs/contributing/design-principles/index.md
new file mode 100644
index 00000000000..e32964dba65
--- /dev/null
+++ b/public/content/translations/cs/contributing/design-principles/index.md
@@ -0,0 +1,93 @@
+---
+title: Principy designu
+lang: cs
+description: Principy, které stojí za designem a obsahem na ethereum.org
+---
+
+# Naše principy designu {#contributing-to-ethereumorg-}
+
+ Dobrý den, vítejte v principech designu pro ethereum.org. Toto je součástí probíhajícího procesu vývoje a zlepšování ethereum.org.
+
+Naše zásady určují vzhled webu a obsah, který na něm najdete.
+
+Měli byste si je přečíst, než začnete [přispívat na ethereum.org](/contributing/).
+
+## Co jsou principy designu? {#ways-to-contribute}
+
+Nebojte se, jsou docela jednoduché! **Principy designu** se myslí soubor pokynů, kterými se řídíme, když něco navrhujeme (tj. vytváříme, udržujeme nebo aktualizujeme).
+
+V kontextu ethereum.org jsou tyto principy designu základem toho, co chceme, aby web reprezentoval a ukazoval světu. Jsou aspirační **a zároveň** funkční. Nejde jen o to, jak web _vypadá_, ale také o to, jak _funguje_, a dokonce i o to, jak se na něm někdo _cítí._ Těmito principy by se mělo řídit vše, od barev přes rozvržení stránek až po to, jak na webu o Ethereu mluvíme.
+
+## Principy v praxi {#how-decisions-about-the-site-are-made}
+
+Podívejme se na přiklad. Jedním z principů je „Důvěryhodný“, což znamená, že chceme, aby návštěvníci stránek _cítili_ a _věděli_, že stránky jsou důvěryhodné – stejně jako širší ekosystém Etherea. V rámci tohoto principu máme 3 funkční „dílčí principy“, které považujeme za realizovatelné kroky, které můžeme podniknout, aby byl web důvěryhodný:
+
+- _„Čerstvý“_, tj. udržovat obsah aktuální.
+- _„Společenský důkaz“_, tj. ukázat velikost, rozmanitost a aktivitu ekosystému (však víte: pokrok v upgradu Etherea, DeFi, hry, všechny hackathony atd.)
+- _„Konzistentní“_, tj. konzistentní design stránek a tón a přesnost psaní.
+
+Když se tedy rozhodujeme o designu nebo o copywritingu, můžeme se odvolat na princip „Důvěryhodný“ a zeptat se:
+
+- _„Odráží stránka aktuální informace?“_
+- _„Jak a kde ukazujeme velikost a aktivitu ekosystému?“_
+- _„Jsou nové příspěvky navržené členem komunity, které si prohlížím, v souladu se současným designem a textem na webu?“_
+
+## Principy designu ethereum.org {#contributors}
+
+### 1. Inspirativní {#1-inspirational}
+
+Stránky by měly uživatele inspirovat k tomu, aby snili o tom, jak může Ethereum změnit svět. Měly by motivovat lidi k prozkoumávání a hraní si s nástroji a aplikacemi ekosystému Etherea.
+
+- **Radikální:** Stránky by měly informovat o ambiciózních cílech Etherea, které mají smysluplně změnit svět. Mělo by být jasné, že Ethereum není jen nějaký nový technologický stack – je to transformační technologie.
+- **Posílení skrz vzdělávání:** Stránky by měly lidi vzdělávat, aby pochopili potenciál Etherea, našli své místo v ekosystému a cítili se oprávněni se na něm podílet.
+
+Vizuální směřování • Obsah
+
+### 2. Univerzální {#2-universal}
+
+Ethereum je globální, decentralizovaný projekt a naše publikum to odráží. Stránky by měly být přístupné všem a měly by zohledňovat rozmanitost světových kultur.
+
+- **Přístupné:** Stránky by měly splňovat pokyny pro přístupnost – včetně stránek pro osoby s malou šířkou pásma.
+- **Přímočaré:** Stránky by měly být jednoduché a jednoznačné. Kopie by neměla používat jazyk, který by mohl být špatně interpretován nebo ztracen v překladu.
+- **Ethereum má mnoho tváří:** Ethereum je projekt, kódová základna, komunita a vize. Ethereum má pro různé lidi hodnotu z různých důvodů a existuje mnoho způsobů, jak se do něj zapojit.
+
+Systémy psaní • Použití barev • Vizuální směřování • Obsah
+
+### 3. Dobrý příběh {#3-a-good-story}
+
+Stránky by měly fungovat jako dobrý příběh. Návštěvníci jsou na cestě a obsah, který do ní vkládáte, je její součástí. Vaše příspěvky by měly zapadat do jasného příběhu: s počátkem (úvod), středem (soubor poznatků a postřehů) a koncem (odkaz(y) na příslušné zdroje nebo další kroky).
+
+- **Hierarchické**: Přehledná, hierarchicky strukturovaná informační architektura pomáhá návštěvníkům ethereum.org procházet webem „jako příběhem“ při hledání jejich cílů.
+- **Odrazový můstek:** Jsme odrazovým můstkem pro každého, kdo hledá odpovědi. Nechceme nahradit ani se stát náhradou mnoha již existujících zdrojů. Poskytujeme odpovědi a další spolehlivé kroky.
+
+Cesty uživatelů • Obsah
+
+### 4. Důvěryhodný {#4-credible}
+
+Někteří lidé se mohou chtít seznámit s ekosystémem Etherea nebo někteří mohou být skeptici. Uvědomte si tuto odpovědnost v tom, jak komunikujete. Zajistěte, aby oba odcházeli s větší důvěrou v ekosystém Etherea.
+
+- **Čerstvé:** Vždy aktuální.
+- **Společenský důkaz:** Ukažte velikost, rozmanitost a aktivitu ekosystému.
+- **Konzistentní:** Konzistentnost designu a obsahu působí důvěryhodně.
+
+Vizuální směřování • Obsah
+
+### 5. Společné zlepšování {#5-collaborative-improvement}
+
+Tyto webové stránky jsou výsledkem práce mnoha přispěvatelů, stejně jako celý ekosystém.
+
+- **Otevřené:** Oslavujte transparentnost zdrojového kódu, procesů a projektů v celém ekosystému.
+- **Rozšiřitelné:** Modularita je hlavním cílem všeho, co děláme, a proto by i příspěvky měly být modulární. Základní design, kód komponentů a implementace webu by měla umožnit jeho snadné rozšíření v budoucnu.
+- **Experimentální:** Neustále experimentujeme, testujeme a iterujeme.
+- **Spolupráce:** Tento projekt nás všechny spojuje.
+- **Udržitelné:** Příprava na dlouhodobou údržbu komunitou
+
+Naše principy designu můžete vidět v praxi [na celém našem webu](/).
+
+## Poskytněte zpětnou vazbu {#give-feedback}
+
+**Podělte se o své připomínky k tomuto dokumentu!** Jedním z našich navrhovaných principů je „**Společné zlepšování**“, což znamená, že chceme, aby webové stránky byly výsledkem práce mnoha přispěvatelů. V duchu tohoto principu se proto chceme o tyto principy podělit s komunitou Etherea.
+
+Ačkoli jsou tyto principy zaměřeny na web ethereum.org, doufáme, že mnoho z nich reprezentují hodnoty ekosystému Etherea jako celku (např. můžete vidět vliv [principů Ethereum Whitepaper](https://github.com/ethereum/wiki/wiki/White-Paper#philosophy)). Možná byste některé z nich dokonce chtěli začlenit do svého vlastního projektu!
+
+Dejte nám vědět své názory na [Discord serveru](https://discord.gg/ethereum-org) nebo [vytvořením problému](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=).
diff --git a/public/content/translations/cs/contributing/design/index.md b/public/content/translations/cs/contributing/design/index.md
new file mode 100644
index 00000000000..de4df16fc13
--- /dev/null
+++ b/public/content/translations/cs/contributing/design/index.md
@@ -0,0 +1,77 @@
+---
+title: Přispívání designem
+description: Přispívání designem na ethereum.org
+lang: cs
+---
+
+# Přispívání designem na ethereum.org {#design-contributions}
+
+Design je důležitou součástí každého projektu a věnováním svého času a designérských dovedností do ethereum.org můžete přispět ke zlepšení uživatelského komfortu našich návštěvníků. Přispívání do open-source projektů je příležitostí k získání relevantních zkušeností a rozvoji dovedností v prostředí spolupráce. Budete mít možnost spolupracovat s dalšími designéry, vývojáři a členy komunity, kteří budou mít své vlastní jedinečné pohledy a postřehy.
+
+Hlavně je to skvělý způsob, jak si vytvořit rozmanité a působivé portfolio, které ukáže vaše designérské dovednosti.
+
+## Jak přispívat?
+
+### Poskytujte zpětnou vazbu k návrhovým prototypům {#design-critique}
+
+Někdy potřebujeme pomoc při testování našich hrubých představ. Toto je skvělý způsob, jak přispět bez jakýchkoli technických znalostí.
+
+1. Návrhářský tým bude sdílet prototyp návrhu na [Discordu](https://discord.com/invite/ethereum-org) a na [GitHubu](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+2. Budete provedeni návrhy, abyste mohli poskytnout zpětnou vazbu prostřednictvím funkce komentářů.
+3. O výsledek se podělíme v problému na GitHubu a tým ho poté uzavře.
+
+### Účastněte se průzkumů {#answer-surveys}
+
+Poskytněte nám zpětnou vazbu k našim webovým stránkám tím, že:
+
+1. Navštívíte ethereum.org a pročtete si několik stránek.
+2. Kliknete na widget zpětné vazby v pravém dolním rohu a zodpovíte otázky týkající se designu a obsahu.
+3. Zaměříte se na volné a otevřené otázky.
+
+### Vyhledávejte problémy související s designem na webových stránkách a nahlaste je {#report-design-issues}
+
+ethereum.org je rychle rostoucí webová stránka s mnoha funkcemi a obsahem. Některá uživatelská rozhraní mohou snadno zastarat nebo by mohla být vylepšena. Pokud se s takovým případem setkáte, nahlaste jej, abychom na něj upozornili.
+
+1. Projděte si webové stránky a věnujte pozornost jejich designu.
+2. Pokud najdete nějaké vizuální problémy nebo problémy s UX, pořiďte si snímky obrazovky a poznámky.
+3. Nalezené problémy nahlaste pomocí [hlášení chyby](https://github.com/ethereum/ethereum-org-website/issues/new/choose).
+
+### Navrhněte změny designu {#propose-design-changes}
+
+Pokud se na to cítíte, můžete navštívit naši nástěnku problémů na GitHubu a vyfiltrovat [problémy týkající se designu](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+
+1. Projděte si naše webové stránky a věnujte pozornost jejich designu nebo přejděte do našeho GitHub repozitáře a prohlédněte si problémy označené štítkem [„Design požadován“](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+2. Vymyslete řešení a navrhněte ho. (ideálně pomocí našeho [návrhového systému](https://www.figma.com/community/file/1134414495420383395)).
+3. Předložte řešení do příslušného GitHub problému nebo [vytvořte nový problém.](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A&template=feature_request.yaml&title=Feature+request)
+4. Počkejte, až tým návrhářů provede kontrolu.
+
+### Podílejte se na tvoření návrhového systému {#Contribute-to-design-system}
+
+Díky našemu návrhovému systému je navrhování ethereum.org zábavné a snadné. Pokud jste zkušený designér, můžete nám pomoci připravit mnoho komponentů pro webové stránky.
+
+1. Vyberte problém, na kterém chcete pracovat, z [nástěnky návrhového systému](https://github.com/ethereum/ethereum-org-website/labels/design%20system) na GitHubu nebo vytvořte nový.
+2. Požádejte o přidělení vybraného problému.
+3. Začněte navrhovat požadovaný komponent v programu Figma.
+4. Jakmile budete potřebovat revizi nebo pokyny, kontaktujte tým návrhářů na GitHubu.
+5. Tým návrhářů váš návrh posoudí.
+6. Tým návrhářů zapracuje změny do hlavního souboru a zveřejní jej pro komunitu.
+
+### Pište na webové stránky obsah související s designem {#write-design-articles}
+
+Komunita vývojářů Etherea je silná, ale komunita designérů mírně zaostává. Pokud jste designér se znalostmi webu3, zvažte prosím sdílení svých poznatků s širší komunitou, abychom mohli všichni společně růst a zlepšovat se; máme [stránku o designu pro Ethereum](/developers/docs/design-and-ux/), na kterou můžete přispět. Můžete se také podívat na naše [zásady uvedení](/contributing/design/adding-design-resources).
+
+1. Vymyslete témata designu, která by měla být zahrnuta na ethereum.org a byla by přínosná pro designéry v této oblasti.
+2. Přejděte do našeho GitHub repozitáře a [vytvořte problém](https://github.com/ethereum/ethereum-org-website/issues/new) s návrhem tématu (zatím nepište obsah).
+3. Počkejte, až ho tým návrhářů schválí.
+4. Po schválení napište obsah.
+5. Zašlete ho do příslušného problému na GitHubu.
+
+### Nakreslete nové ilustrace {#prepare-illustrations}
+
+Vizualizace jsou jedním z nejúčinnějších nástrojů pro vysvětlení abstraktních témat. Přidáním diagramů a infografiky se otevírá obrovský potenciál. Jak se říká, jeden obrázek může říci tisíc slov.
+
+1. Přejděte na naše webové stránky a podívejte se na stránky, kde by mohly být přidány nové infografiky.
+2. Ujistěte se, že styl ilustrace odpovídá našim [zdrojům](/assets/).
+3. Přejděte na náš GitHub repozitář a [vytvořte problém](https://github.com/ethereum/ethereum-org-website/issues/new) s návrhem ilustrace.
+4. Tým návrhářů vaši ilustraci posoudí.
+5. Vytvoříme nový problém a požádáme vývojáře o implementaci nové ilustrace.
diff --git a/public/content/translations/cs/contributing/index.md b/public/content/translations/cs/contributing/index.md
new file mode 100644
index 00000000000..d9ae264aea8
--- /dev/null
+++ b/public/content/translations/cs/contributing/index.md
@@ -0,0 +1,116 @@
+---
+title: Příspěvky
+description: Přečtěte si o různých způsobech, jak můžete přispívat na ethereum.org
+lang: cs
+---
+
+# Přispívání na ethereum.org 🦄 {#contributing-to-ethereumorg}
+
+Ethereum.org je open-source projekt s **více než 12 000** přispěvateli, kteří pomáhají překládat, psát, navrhovat a udržovat webové stránky.
+
+Jsme přátelská komunita, která vám pomůže rozvíjet se a vzdělávat v ekosystému Etherea a zároveň smysluplně přispívat a získávat relevantní praktické zkušenosti!
+
+## Způsoby, jak přispívat {#ways-to-contribute}
+
+**Překlady**
+- [Připojte se k překladatelskému programu](/contributing/translation-program/) – pomozte nám přenést ethereum.org do nových jazyků
+
+**Vývoj**
+- [Pracujte na otevřeném problému](https://github.com/ethereum/ethereum-org-website/issues) – problém, který jsme identifikovali a který je třeba vyřešit
+
+**Design**
+- [Pomozte s designem webových stránek](/contributing/design/) – designéři všech úrovní mohou přispět ke zlepšení webových stránek
+
+**Obsah**
+- [Vytvářejte/upravujte obsah](/contributing/#how-to-update-content) – navrhněte nové stránky nebo upravte ty, které zde již jsou
+- [Přidejte komunitní zdroje](/contributing/content-resources/) – přidejte užitečný článek nebo zdroje na příslušnou stránku
+- [Navrhněte zdroj návrhu](/contributing/design/adding-design-resources/) – přidejte, aktualizujte a mažte užitečné zdroje designu
+- [Kvízy](/contributing/quizzes/) – přidejte, aktualizujte a mažte ze sbírky kvízových otázek pro příslušnou stránku
+
+**Nápady na funkce**
+- [Požádat o funkci](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) – dejte nám vědět o svých nápadech na novou funkci nebo design
+
+**Seznam produktů**
+- [Přidejte burzu](/contributing/adding-exchanges/) – přidejte burzu do našeho [vyhledávače burz](/get-eth/#country-picker)
+- [Přidejte produkt](/contributing/adding-products/) – přidejte dappku nebo peněženku na příslušnou stránku
+- [Přidejte nástroje pro vývojáře](/contributing/adding-developer-tools/) – přidejte nástroje pro vývojáře na příslušnou stránku
+- [Přidejte vrstvu 2](/contributing/adding-layer-2s/) – přidejte vrstvu 2 na příslušnou stránku
+- [Přidejte stakingový produkt nebo službu](/contributing/adding-staking-products/) – přidejte projekt, který pomáhá usnadnit individuální staking, sdružený staking nebo staking jako službu
+- [Přidejte peněženku](/contributing/adding-wallets/) – přidejte peněženku na stránku [vyhledat peněženky](/wallets/find-wallet/)
+- [Navrhněte projekt pro naši stránku o DeSci](/contributing/adding-desci-projects/) – přidejte projekt postavený na Ethereu, který přispívá k decentralizované vědě
+
+Nějaké dotazy? 🤔 Připojte se k našemu [Discord serveru](https://discord.gg/ethereum-org)
+
+## Kde začít s příspíváním
+
+Toto je několik aktuálních úkolů, které byste nám mohli pomoci vyřešit a převzít za ně odpovědnost. Pro většinu z nich budete potřebovat GitHub účet, protože většina změn na webu se provádí prostřednictvím GitHubu.
+
+
+
+Zobrazit všechny úkoly
+
+## Jak pracovat na ethereum.org {#how-to-update-content}
+
+Pokud chcete přispět do [překladatelského programu](/contributing/translation-program/), žádáme vás, abyste si vytvořili účet na [Crowdinu](https://crowdin.com/project/ethereum-org). Pro všechno ostatní – přidávání nebo úpravy obsahu či vizuálů webu, opravy chyb, práci na otevřených úkolech – budete potřebovat [GitHub](https://github.com/) účet.
+
+Všechny aktualizace jsou prováděny prostřednictvím PR procesů na GitHubu. To znamená, že si vytvoříte místní kopii webu, provedete změny a požádáte o sloučení změn. Pokud jste to ještě nikdy nedělali, postupujte podle pokynů v dolní části našeho [GitHub repozitáře](https://github.com/ethereum/ethereum-org-website).
+
+K práci nepotřebujete povolení, ale vždy je lepší nás informovat o tom, co plánujete dělat. To můžete udělat tak, že:
+
+- Okomentujete problém nebo PR na [GitHubu](https://github.com/ethereum/ethereum-org-website)
+- Napíšete nám na náš [Discord server](https://discord.gg/ethereum-org)
+
+Než začnete přispívat, ujistěte se, že jste obeznámeni s:
+
+- Vyvíjející se [vizí ethereum.org](/about/)
+- Našimi [principy designu](/contributing/design-principles/)
+- Naším [průvodcem stylem](/contributing/style-guide/)
+- Naším [etickým kodexem](/community/code-of-conduct)
+
+
+
+## Jak se rozhoduje o změnách stránek {#how-decisions-about-the-site-are-made}
+
+Rozhodnutí o jednotlivých PR, vývoji designu a významných aktualizacích přijímá tým z celého ekosystému Etherea. Tento tým zahrnuje projektové manažery, vývojáře, designéry, pracovníky v marketingu, komunikátory a odborníky na danou problematiku. Každé rozhodnutí je ovlivněno názory komunity: proto prosím vznášejte dotazy v otázkách, zasílejte PR nebo kontaktujte tým:
+
+- [website@ethereum.org](mailto:website@ethereum.org)
+- [@ethdotorg](https://twitter.com/ethdotorg)
+- [Discord server](https://discord.gg/ethereum-org)
+
+### Poznámka k plagiátorství {#plagiarism}
+
+Při přispívání jakéhokoli obsahu na ethereum.org používejte pouze svou vlastní práci nebo obsah, k jehož použití máte povolení. Mnoho projektů v rámci ekosystému Etherea využívá open-source licence, které umožňují volné sdílení informací. Pokud však tyto informace nenajdete, nepokoušejte se je na ethereum.org přidat. Pull requesty, které budou považovány za plagiáty, budou zamítnuty.
+
+## Nováček v open-source? {#new-to-open-source}
+
+V našem GitHub repozitáři máme nízké vstupní bariéry speciálně určené pro vývojáře, kteří s open-source teprve začínají, označené [dobrý první problém](https://github.com/ethereum/ethereum-org-website/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
+
+## Vyzvedněte si svůj Onchain Achievement Token (OAT) {#oat}
+
+Pokud bude váš příspěvek začleněn do ethereum.org, budete mít možnost získat speciální odznak na [Galxe](https://app.galxe.com/quest/ethereumorg). Onchain Achievement Token (OAT) je důkazem, že jste pomohli udělat ekosystém o něco úžasnějším.
+
+[Více o OATech](https://help.galxe.com/en/articles/9645630-create-quest-rewards#h_1c5d63ba03)
+
+### Jak vyzvednout
+1. Připojte se k našemu [Discord serveru](https://discord.gg/ethereum-org).
+2. Vložte odkaz na svůj příspěvek do kanálu `#🥇 | proof-of-contribution`.
+3. Počkejte, až vám člen našeho týmu zašle odkaz na váš OAT.
+4. Vyzvedněte si svůj OAT!
+
+K uplatnění nároku na OAT byste měli používat pouze peněženky pro vlastní úschovu. Nepoužívejte burzové účty ani jiné účty, ke kterým nemáte soukromé klíče, protože vám neumožní přistupovat k vaším OATům a spravovat je.
+
+## Vyzvedněte si svůj GitPOAP {#claim-gitpoap}
+
+GitPOAP také automaticky rozpozná váš sloučený příspěvek a nechá vás vyrazit si samostatný unikátní POAP pro přispěvatele na své platformě!
+
+
+### Jak vyzvednout {#how-to-claim}
+
+1. Navštivte [GitPOAP](https://www.gitpoap.io).
+2. Připojte se pomocí své peněženky nebo dokonce pomocí e-mailu prostřednictvím možnosti přihlášení.
+3. Vyhledejte své uživatelské jméno na GitHubu, ETH adresu, ENS jména nebo libovolný GitPOAP a zkontrolujte, zda máte nárok.
+4. Pokud má váš GitHub účet nárok, budete moci si vyrazit GitPOAP!
+
+## Přispěvatelé {#contributors}
+
+
diff --git a/public/content/translations/cs/contributing/translation-program/faq/index.md b/public/content/translations/cs/contributing/translation-program/faq/index.md
new file mode 100644
index 00000000000..3f20118e4e7
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/faq/index.md
@@ -0,0 +1,119 @@
+---
+title: Často kladené otázky (FAQ) o překladatelském programu
+lang: cs
+description: Často kladené otázky týkající se překladatelského programu stránky ethereum.org
+---
+
+# Průvodce překladem ethereum.org {#translating-ethereum-guide}
+
+Pokud jste noví v překladatelském programu a váháte, jestli se vrhnout na překlad, toto jsou některé často kladené otázky, jejichž zodpovězení vám může pomoci začít. Tento průvodce obsahuje odpovědi na nejčastější dotazy.
+
+## Mohu za překlad ethereum.org dostat zaplaceno? {#compensation}
+
+Ethereum.org je open-source web, což znamená, že se do něj může zapojit a přispívat kdokoli.
+
+Překladatelský program ethereum.org je jeho rozšířením a je organizován s podobnou filozofií.
+
+Cílem překladatelského programu je zpřístupnit obsah Etherea všem bez ohledu na to, jakým jazykem mluví. Umožňuje také každému dvojjazyčnému člověku zapojit se do ekosystému Etherea a přispívat přístupným způsobem.
+
+Z tohoto důvodu je překladatelský program otevřený a dobrovolný a účast v něm není podmíněna finanční odměnou. Pokud bychom měli překladatele kompenzovat za počet přeložených slov, mohli bychom do překladatelského programu pozvat pouze ty, kteří mají dostatečné překladatelské zkušenosti (profesionální překladatele). Tím by se překladatelský program stal uzavřeným a nedosáhli bychom vytyčených cílů, konkrétně: umožnit všem účastnit se a zapojit se do ekosystému.
+
+Vynakládáme veškeré úsilí, abychom našim přispěvatelům umožnili uspět v ekosystému Etherea; existuje mnoho nepeněžních pobídek, jako např.: [nabízíme POAPy](/contributing/translation-program/acknowledgements/#poap) a [certifikát překladatele](/contributing/translation-program/acknowledgements/#certificate), stejně jako organizujeme [Žebříčky překladatelů](/contributing/translation-program/acknowledgements/) a [seznam všech našich překladatelů na webu](/contributing/translation-program/contributors/).
+
+## Jak překládat řetězce s ``? {#tags}
+
+Ne každý řetězec je čistě v textové podobě. Některé řetězce obsahují i kód, jako jsou HTML značky (`<0>`, `0>`).To obyčejně označuje hypertextové odkazy nebo vložené styly ve větě.
+
+- Přeložte text mezi značkami, ale ne samotné značky. To, co se nachází mezi `<` a `>`, nesmí být přeloženo ani odstraněno.
+- Pro jistotu doporučujeme kliknout na tlačítko „Kopírovat zdroj“ vlevo dole. To zkopíruje původní řetězec a vloží jej do textového pole. To vám pomůže si ujasnit, kde jsou značky, a pomáhá vám vyhnout se chybám.
+
+
+
+Umístění značek v řetězci můžete přesunout, aby překlad ve vašem jazyce zněl přirozeněji. Jen se ujistěte, že přesouváte celou značku.
+
+Podrobnější informace o práci se štítky a úryvky kódu naleznete v [průvodci stylem překladu ethereum.org](/contributing/translation-program/translators-guide/#dealing-with-tags).
+
+## Odkud tyto řetězce jsou? {#strings}
+
+Často nejsou jen zdrojové řetězce dostačující k vytvoření přesného překladu.
+
+- Pro více informací se podívejte na „snímky obrazovky“ a „kontext“. V oddílu zdrojových řetězců lze vidět snímek obrazovky, který vám ukáže, v jakém kontextu se tento řetězec používá.
+- Pokud si stále nejste jisti, můžete se zeptat v komentářích. [Nejste si jisti, jak zanechat komentář?](#comment)
+
+
+
+
+
+## Jak mohu zanechat komentář nebo položit otázku? Rád/a bych upozornil na problém nebo překlepy… {#comment}
+
+Pokud chcete upozornit na určitý řetězec, který vyžaduje pozornost, můžete zaslat komentář.
+
+- Klikněte na druhé tlačítko vpravo nahoře. Vpravo se objeví skrytá karta. Zanechte nový komentář a klikněte na zaškrtávací políčko „Problém“ v dolní části. Typ problému můžete určit výběrem jedné z možností z rozevírací nabídky.
+- Po odeslání bude problém nahlášen našemu týmu. Problém opravíme a dáme vám vědět odpovědí na váš komentář a uzavřením problému.
+- Pokud nahlásíte nesprávný překlad, bude překlad a vámi navržená alternativa při příští kontrole zkontrolována rodilým mluvčím.
+
+
+
+## Co je překladová paměť (PP)? {#translation-memory}
+
+Překladová paměť (PP) je funkce Crowdinu, která ukládá všechny dříve přeložené řetězce na [ethereum.org](http://ethereum.org/). Když je řetězec přeložen, automaticky se uloží do PP našeho projektu. Může to být užitečný nástroj, který vám pomůže ušetřit čas!
+
+- Podívejte se do sekce „Návrhy PP a SP“ a uvidíte, jak stejný nebo podobný řetězec přeložili jiní překladatelé. Pokud naleznete návrh s vysokou mírou shody, neváhejte na překlad odkázat kliknutím.
+- Pokud v seznamu nic není, můžete v PP vyhledat dříve vytvořené překlady a znovu je použít pro zajištění konzistence.
+
+
+
+## Jak používat glosář Crowdinu? {#glossary}
+
+Další důležitou součástí naší překladatelské práce je terminologie Etherea, protože nové technické termíny často ještě nejsou lokalizovány do mnoha jazyků. Existují také termíny, které mají v různých kontextech různý význam. [Další informace o překladu terminologie Etherea](#terminology)
+
+Nejlepším místem pro objasnění pojmů a definic je glosář Crowdinu. Na glosář lze odkazovat dvěma způsoby.
+
+- Když ve zdrojovém řetězci najdete podtržený výraz, můžete na něj najet myší a zobrazit jeho stručnou definici.
+
+
+
+- Dále, pokud uvidíte termín, který vám není známý, ale není podtržený, můžete hledat v kartě glosáře (třetí tlačítko v pravém sloupci). Najdete zde vysvětlení konkrétních a v projektu často používaných pojmů.
+
+
+
+- Pokud ho stále nemůžete najít, máte šanci přidat nový termín! Doporučujeme vám, abyste si ho vyhledali ve vyhledávači a přidali jeho popis do glosáře. Ostatním překladatelům to velmi pomůže lépe porozumět tomuto termínu.
+
+
+
+### Politika překladu terminologie {#terminology}
+
+_Pro názvy (značek, firem, lidí) a nové technologické termíny (Beacon Chain, shard chains atd.)_
+
+Ethereum představuje spoustu nových termínů, které byly nedávno vytvořeny. Některé termíny se u jednotlivých překladatelů liší, protože v jejich jazyce neexistuje oficiální překlad. Tyto nesrovnalosti mohou způsobit nedorozumění a snížit srozumitelnost.
+
+Vzhledem k jazykové rozmanitosti a odlišným standardizacím v jednotlivých jazycích bylo téměř nemožné vypracovat jednotnou politiku překladu terminologie, kterou by bylo možné přizpůsobit všem podporovaným jazykům.
+
+Po pečlivém zvážení jsme dospěli k rozhodnutí ponechat nejčastěji používanou terminologii na vás, překladatelích.
+
+Pokud narazíte na termín, který neznáte, doporučujeme následující postup:
+
+- Podívejte se do [Glosáře pojmů](#glossary), možná zjistíte, jak jej dříve překládali jiní překladatelé. Pokud si myslíte, že dříve přeložený termín není vhodný, můžete překlad obnovit přidáním nového termínu do glosáře Crowdinu.
+- Pokud takový předchozí překlad ve slovníku neexistuje, doporučujeme vám, abyste si jej vyhledali ve vyhledávači nebo v článku v médiích, který ukazuje, jak se daný termín ve vaší komunitě skutečně používá.
+- Pokud nenajdete vůbec žádné odkazy, neváhejte důvěřovat své intuici a navrhněte nový překlad do vašeho jazyka!
+- Pokud se cítíte méně jistí, ponechte termín nepřeložený. Někdy jsou anglické termíny více než vhodné pro poskytnutí přesných definic.
+
+Doporučujeme ponechat názvy značek, firem a zaměstnanců nepřeložené, protože překlad by mohl způsobit zbytečné zmatky a potíže s SEO.
+
+## Jak probíhá proces revize? {#review-process}
+
+Abychom zajistili určitou úroveň kvality a konzistence našich překladů, spolupracujeme s [Acolad](https://www.acolad.com/), jedním z největších poskytovatelů jazykových služeb na světě. Acolad má 20 000 profesionálních lingvistů, což znamená, že může poskytnout profesionální revizory pro každý jazyk a typ obsahu, který potřebujeme.
+
+Proces revize je jednoduchý; jakmile je určitá [obsahová kategorie](/contributing/translation-program/content-buckets) přeložena na 100 %, objednáme její revizi. Proces revize probíhá přímo v Crowdinu. Jakmile je revize dokončena, aktualizujeme webové stránky s přeloženým obsahem.
+
+## Jak přidám obsah ve svém jazyce? {#adding-foreign-language-content}
+
+V současné době je veškerý neanglický obsah překládán přímo z anglického zdrojového obsahu a obsah, který neexistuje v angličtině, nelze přidat do jiných jazyků.
+
+Chcete-li navrhnout nový obsah pro ethereum.org, můžete [vytvořit problém](https://github.com/ethereum/ethereum-org-website/issues) na GitHubu. V případě přidání bude obsah sepsán v angličtině a přeložen do dalších jazyků přes Crowdin.
+
+V blízké budoucnosti plánujeme přidat podporu pro přidávání jiného než anglického obsahu.
+
+## Kontaktujte nás {#contact}
+
+Děkujeme, že jste si všechno přečetli. Doufáme, že vám to pomůže při nástupu do našeho programu. Neváhejte se připojit k našemu [překladatelskému kanálu na Discordu](https://discord.gg/ethereum-org) a klást otázky a spolupracovat s ostatními překladateli, nebo nás kontaktujte na adrese translations@ethereum.org!
diff --git a/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md b/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md
new file mode 100644
index 00000000000..9bdaff4b8b3
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/how-to-translate/index.md
@@ -0,0 +1,89 @@
+---
+title: Jak překládat
+lang: cs
+description: Instrukce pro používání Crowdinu pro překlad ethereum.org
+---
+
+# Jak překládat {#how-to-translate}
+
+## Vizuální průvodce {#visual-guide}
+
+Pro ty, kteří se lépe učí vizuálně: Podívejte se, jak vás Luka provede nastavením v Crowdinu. Alternativně můžete najít stejné kroky v psaném formátu v následující sekci.
+
+
+
+## Psaný průvodce {#written-guide}
+
+### Připojte se k našemu projektu v Crowdinu {#join-project}
+
+Budete se muset přihlásit do svého účtu Crowdin nebo se zaregistrovat, pokud ho ještě nemáte. K registraci stačí pouze e-mail a heslo.
+
+
+ Připojte se k projektu
+
+
+### Otevřete svůj jazyk {#open-language}
+
+Po přihlášení do Crowdinu uvidíte popis projektu a seznam všech dostupných jazyků. Každý jazyk také obsahuje informace o celkovém počtu přeložitelných slov a přehled toho, kolik obsahu bylo v daném jazyce přeloženo a schváleno.
+
+Otevřete jazyk, do kterého chcete překládat, abyste viděli seznam souborů dostupných k překladu.
+
+
+
+### Najděte dokument, na kterém budete pracovat {#find-document}
+
+Obsah webu je rozdělen do několika dokumentů a obsahových bloků. Napravo můžete zkontrolovat pokrok u každého dokumentu – pokud je pokrok překladu pod 100 %, přispějte!
+
+Nevidíte svůj jazyk v seznamu? [Otevřete problém](https://github.com/ethereum/ethereum-org-website/issues/new/choose) nebo se zeptejte na našem [Discordu](/discord/)
+
+
+
+Poznámka k obsahovým blokům: V rámci Crowdinu používáme „obsahové bloky“, abychom nejprve přeložili obsah s nejvyšší prioritou. Když se podíváte na jazyk, například [filipínštinu](https://crowdin.com/project/ethereum-org/fil#), uvidíte složky pro obsahové bloky („1. Úvodní stránka“, „2. Základy“, „3. Průzkum“ atd.).
+
+Doporučujeme vám překládat v tomto číselném pořadí (1 → 2 → 3 → ⋯), aby byly nejdůležitější stránky přeloženy jako první.
+
+[Další informace o obsahových blocích ethereum.org](/contributing/translation-program/content-buckets/)
+
+### Překládejte {#translate}
+
+Po výběru souboru, který chcete přeložit, se otevře v online editoru. Pokud jste Crowdin nikdy nepoužívali, projděte si tohoto rychlého průvodce, abyste se seznámili se základy.
+
+
+
+**_1 – Levý postranní panel_**
+
+- Nepřeloženo (červeně) – text, na kterém se ještě nepracovalo. Toto jsou řetězce, které byste měli překládat.
+- Přeloženo (zeleně) – text, který již byl přeložen, ale ještě nebyl zkontrolován. Můžete navrhnout alternativní překlady nebo hlasovat o stávajících pomocí tlačítek „+“ a „-“ v editoru.
+- Schváleno (zaškrtnutí) – text, který již byl zkontrolován a je aktuálně naživo na webu.
+
+Můžete také použít tlačítka nahoře k vyhledávání konkrétních řetězců, filtrování podle stavu nebo změně zobrazení.
+
+**_2 – Oblast editoru_**
+
+Hlavní oblast pro překlad - zdrojový text se zobrazuje nahoře s dalším kontextem a screenshoty, pokud jsou k dispozici. Chcete-li navrhnout nový překlad, zadejte svůj překlad do pole „Zadejte překlad zde“ a klikněte na Uložit.
+
+V této sekci také najdete existující překlady řetězce a překlady do jiných jazyků, stejně jako shody z překladové paměti a návrhy strojového překladu.
+
+**_3 – Pravý postranní panel_**
+
+Zde můžete najít komentáře, položky překladové paměti a položky glosáře. Výchozí zobrazení ukazuje komentáře a umožňuje překladatelům komunikovat, upozorňovat na problémy nebo hlásit nesprávné překlady.
+
+Pomocí tlačítek nahoře můžete také přepnout na Překladovou paměť, kde můžete vyhledávat existující překlady, nebo na Glosář, který obsahuje popisy a standardní překlady klíčových termínů.
+
+Chcete se dozvědět více? Neváhejte a podívejte se na [dokumentaci k používání online editoru Crowdin](https://support.crowdin.com/online-editor/).
+
+### Proces kontroly {#review-process}
+
+Jakmile dokončíte překlad (tj. všechny soubory pro obsahový blok ukazují 100 %), náš profesionální překladatelský servis obsah zkontroluje (a případně upraví). Jakmile je kontrola dokončena (tj. pokrok kontroly je 100 %), přidáme ho na web.
+
+
+ Prosím, nepoužívejte strojový překlad. Všechny překlady budou před přidáním na web zkontrolovány. Pokud zjistíme, že vaše navržené překlady jsou strojové, budou odmítnuty a přispěvatelé, kteří často používají strojový překlad, budou z projektu odstraněni.
+
+
+### Kontaktujte nás {#get-in-touch}
+
+Máte nějaké otázky? Nebo chcete spolupracovat s naším týmem a dalšími překladateli? Prosím, napište nám na kanálu #translations na našem [Discord serveru ethereum.org](/discord/).
+
+Můžete se také obrátit na translations@ethereum.org
+
+Děkujeme vám za vaši účast v překladatelském programu ethereum.org!
diff --git a/public/content/translations/cs/contributing/translation-program/index.md b/public/content/translations/cs/contributing/translation-program/index.md
new file mode 100644
index 00000000000..8b5e29ff723
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/index.md
@@ -0,0 +1,90 @@
+---
+title: Překladatelský program
+lang: cs
+description: Informace o překladatelském programu ethereum.org
+---
+
+# Překladatelský program {#translation-program}
+
+Překladatelský program je společným úsilím o překlad webu ethereum.org do různých jazyků, aby byl web přístupnější miliardám lidí, kteří nemluví anglicky.
+
+
+
+## Pomozte nám s překladem {#help-us-translate}
+
+Překladatelský program ethereum.org je otevřený a každý může přispět!
+
+1. Budete se muset přihlásit ke svému účtu Crowdin nebo se zaregistrovat.
+2. Vyberte jazyk, do kterého chcete přispět.
+3. Než začnete, podívejte se na průvodce [Jak překládat](/contributing/translation-program/how-to-translate/), kde se dozvíte, jak používat Crowdin, a na [Průvodce stylem překladu](/contributing/translation-program/translators-guide/) pro tipy a osvědčené postupy.
+4. Strojové překlady nebudou schváleny.
+5. Všechny překlady jsou před přidáním na web přezkoumány, takže před zveřejněním vašich překladů může dojít ke krátkému zpoždění.
+
+_Připojte se k [Discordu ethereum.org](/discord/), kde můžete spolupracovat na překladech, klást otázky, sdílet zpětnou vazbu a nápady nebo se připojit ke skupině překladatelů._
+
+
+ Začněte překládat
+
+
+## O překladatelském programu {#about-us}
+
+Komunita Etherea se snaží být globální a inkluzivní, přesto však velká část jejího obsahu oslovuje pouze anglicky mluvící, čímž vylučuje 6 miliard lidí, kteří anglicky nemluví. Aby mohl ethereum.org sloužit jako portál do světa Etherea pro globální komunitu, věříme, že poskytování obsahu o Ethereu v rodných jazycích neanglicky mluvících uživatelů je zásadní.
+
+Cílem překladatelského programu ethereum.org je zpřístupnit Ethereum všem tím, že překládáme ethereum.org a další obsah Etherea do co nejvíce jazyků.
+
+Přečtěte si více o [poslání a vizi](/contributing/translation-program/mission-and-vision) překladatelského programu ethereum.org.
+
+### Naše dosavadní pokroky {#our-progress}
+
+- [**6 900 +** překladatelů](/contributing/translation-program/contributors/)
+- **68** jazyků dostupných na webu
+- [**2,89 milionu** přeložených slov v roce 2024](/contributing/translation-program/acknowledgements/)
+
+
+
+### Poděkování {#acknowledgements}
+
+Ethereum.org je překládáno tisíci členy komunity, kteří jsou klíčovou součástí překladatelského programu. Rádi bychom našim překladatelům vyjádřili uznání a podpořili je na jejich kariérní cestě. Zde jsou některá z našich ocenění pro překladatele:
+
+#### Certifikát {#certificate}
+
+Pokud jste přispěli do překladatelského programu a bylo schváleno alespoň 5 000 vašich přeložených slov, máte nárok na certifikát překladatele ethereum.org. [Více o certifikátech](/contributing/translation-program/acknowledgements/#certificate)
+
+#### OAT {#oats}
+
+Přispěvatelé do překladatelského programu mají v roce 2024 nárok na různé OAT (onchain achievement tokens) na základě počtu přeložených slov. OAT jsou NFT, které dokazují váš přínos pro překladatelský program ethereum.org. [Více o OAT](/contributing/translation-program/acknowledgements/#oats)
+
+#### Ocenění překladatelů {#translator-acknowledgements}
+
+Veřejné uznání našich nejlepších překladatelů pomocí [žebříčků](/contributing/translation-program/acknowledgements/) a [seznamu všech přispěvatelů do překladatelského programu](/contributing/translation-program/contributors/).
+
+#### Odměny {#rewards}
+
+V minulosti jsme našim nejaktivnějším přispěvatelům zpětně udělovali vstupenky na konference o Ethereu, jako jsou [Devcon](https://devcon.org/en/) a [Devconnect](https://devconnect.org/), a exkluzivní merch ethereum.org.
+
+Stále přemýšlíme o nových a inovativních způsobech, jak odměnit naše přispěvatele, takže sledujte další novinky!
+
+### Návody a zdroje {#guides-and-resources}
+
+Pokud přispíváte do překladatelského programu nebo zvažujete zapojení, měli byste se podívat na následující překladatelské průvodce:
+
+- [Průvodce stylem překladu](/contributing/translation-program/translators-guide/) _– pokyny a tipy pro překladatele ethereum.org_
+- [Časté dotazy k překladu](/contributing/translation-program/faq/) _– často kladené otázky a odpovědi k překladatelskému programu ethereum.org_
+- [Průvodce online editorem Crowdin](https://support.crowdin.com/online-editor/) _– podrobný průvodce používáním online editoru Crowdin a některých pokročilých funkcí Crowdinu_
+- [Obsahové kategorie](/contributing/translation-program/content-buckets/) _– které stránky jsou zahrnuty v jednotlivých obsahových kategoriích ethereum.org_
+
+Pro další užitečné překladatelské nástroje, překladatelské komunity a blogové příspěvky o překladatelském programu navštivte [stránku Zdroje](/contributing/translation-program/resources/).
+
+## Kontaktujte nás {#get-in-touch}
+
+Máte nějaké otázky? Nebo chcete spolupracovat s naším týmem a dalšími překladateli? Zveřejněte svůj příspěvek v kanálu #translations na našem [Discord serveru ethereum.org](https://discord.gg/ethereum-org).
+
+Můžete se také obrátit na translations@ethereum.org.
+
+## Zahájení vlastního překladatelského programu {#starting-a-translation-program}
+
+Jsme odhodláni překládat obsah Etherea do co nejvíce jazyků a zpřístupnit vzdělávací obsah všem. V souladu s naším zaměřením na překlady chceme pomoci dalším projektům Etherea s organizací, řízením a zlepšováním jejich vlastních překladatelských úsilí.
+
+Z tohoto důvodu jsme vytvořili [příručku překladatelského programu](/contributing/translation-program/playbook/), která obsahuje některé tipy a osvědčené postupy, které jsme získali při překládání ethereum.org.
+
+Chcete dále spolupracovat nebo využít některé z našich překladatelských zdrojů? Máte nějakou zpětnou vazbu k příručce? Napište nám na translations@ethereum.org.
diff --git a/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md b/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md
new file mode 100644
index 00000000000..23b42369723
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/mission-and-vision/index.md
@@ -0,0 +1,25 @@
+---
+title: Poslání a vize
+lang: cs
+description: Poslání a vize překladatelského programu ethereum.org
+---
+
+# Poslání a vize {#mission-and-vision}
+
+Komunita Etherea se snaží být globální a inkluzivní, přesto však velká část jejího obsahu oslovuje pouze anglicky mluvící, čímž vylučuje 6 miliard lidí, kteří anglicky nemluví. Aby mohl ethereum.org sloužit jako portál do světa Etherea pro globální komunitu, věříme, že poskytování obsahu o Ethereu v rodných jazycích neanglicky mluvících uživatelů je zásadní.
+
+Cílem překladatelského programu ethereum.org je zpřístupnit Ethereum všem tím, že překládáme ethereum.org a další obsah Etherea do co nejvíce jazyků.
+
+## Naše mise {#our-mission}
+
+- Poskytnout přeložené verze webu, aby si návštěvníci z celého světa mohli přečíst o Ethereu ve svém rodném jazyce
+- Usnadnit připojení dalších členů do globální komunity Etherea
+- Umožnit dostupnější a inkluzivnější sdílení informací a znalostí o Ethereu
+- Motivovat členy komunity, aby do Etherea přispěli překlady a zanechali svou stopu v ekosystému
+- Identifikovat, spojit se a poskytnout vedení vášnivým přispěvatelům, kteří se chtějí zapojit do ekosystému
+
+## Naše vize {#our-vision}
+
+- Přeložit důležitý obsah pro členy komunity Etherea z co nejvíce zemí a částí světa
+- Podpořit sdílení znalostí napříč jazyky, aby vznikla lépe informovaná a vzdělaná komunita Etherea
+- Zvýšit inkluzivitu a přístupnost Etherea odstraněním jazykových bariér, které brání lidem, kteří nemluví anglicky, připojit se k ekosystému
diff --git a/public/content/translations/cs/contributing/translation-program/resources/index.md b/public/content/translations/cs/contributing/translation-program/resources/index.md
new file mode 100644
index 00000000000..89cb388a46d
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/resources/index.md
@@ -0,0 +1,45 @@
+---
+title: Zdroje pro překladatele
+lang: cs
+description: Užitečné zdroje pro překladatele ethereum.org
+---
+
+# Zdroje {#resources}
+
+Níže najdete několik užitečných průvodců a nástrojů pro překladatele ethereum.org, stejně jako překladatelské komunity a aktualizace.
+
+## Příručky {#guides}
+
+- [Průvodce stylem překladu](/contributing/translation-program/translators-guide/) _– pokyny a tipy pro překladatele ethereum.org_
+- [Časté dotazy k překladu](/contributing/translation-program/faq/) _– často kladené otázky a odpovědi k překladatelskému programu ethereum.org_
+- [Průvodce online editorem Crowdin](https://support.crowdin.com/online-editor/) _– podrobný průvodce používáním online editoru Crowdin a některých pokročilých funkcí Crowdinu_
+- [Obsahové kategorie](/contributing/translation-program/content-buckets/) _– které stránky jsou zahrnuty v jednotlivých obsahových kategoriích ethereum.org_
+
+## Nástroje {#tools}
+
+- [Microsoft Language Portal](https://www.microsoft.com/en-us/language) _– užitečné pro vyhledání a kontrolu standardních překladů technických termínů_
+- [Linguee](https://www.linguee.com/) _– vyhledávač překladů a slovník, který umožňuje vyhledávání podle slov nebo frází_
+- [Proz term search](https://www.proz.com/search/) _– databáze překladových slovníků a glosářů pro odborné termíny_
+- [Eurotermbank](https://www.eurotermbank.com/) _– sbírky evropské terminologie ve 42 jazycích_
+
+## Komunity {#communities}
+
+- [Jazykově specifické překladové skupiny na Discordu](/discord/) _– iniciativa na propojení překladatelů ethereum.org s překladatelskými skupinami_
+- [Skupina překladatelů do čínštiny](https://www.notion.so/Ethereum-org-05375fe0a94c4214acaf90f42ba40171) _– stránka s pojmy pro snazší koordinaci mezi překladateli do čínštiny_
+
+## Poslední aktualizace {#latest-updates}
+
+Chcete-li mít přehled o nejnovějším vývoji překladatelského programu, můžete sledovat [blog Nadace Ethereum](https://blog.ethereum.org/):
+
+- [Aktualizace milníků v říjnu 2021](https://blog.ethereum.org/2021/10/04/translation-program-update/)
+- [Aktualizace milníků v prosinci 2020](https://blog.ethereum.org/2020/12/21/translation-program-milestones-updates-20/)
+- [Aktualizace milníků v červenci 2020](https://blog.ethereum.org/2020/07/29/ethdotorg-translation-milestone/)
+- [Zahájení překladatelského programu v srpnu 2019](https://blog.ethereum.org/2019/08/20/translating-ethereum-for-our-global-community/)
+
+## Úřední hodiny pro překladatele {#office-hours}
+
+Každou druhou středu v měsíci máme úřední hodiny pro překladatele. Ty se konají v hlasovém kanálu #office-hours na [Discordu ethereum.org](/discord/), kde také najdete přesné časy a další podrobnosti.
+
+V úředních hodinách mohou naši překladatelé klást otázky týkající se procesu překladu, poskytovat zpětnou vazbu k programu, sdílet své nápady nebo si jen popovídat s hlavním týmem ethereum.org. V neposlední řadě chceme prostřednictvím těchto hovorů informovat o nejnovějším vývoji překladatelského programu a sdílet s našimi přispěvateli klíčové tipy a pokyny.
+
+Pokud jste překladatelem ethereum.org nebo byste se jím chtěli stát, neváhejte a připojte se k nám během jednoho z těchto zasedání.
diff --git a/public/content/translations/cs/contributing/translation-program/translators-guide/index.md b/public/content/translations/cs/contributing/translation-program/translators-guide/index.md
new file mode 100644
index 00000000000..0054ee24ae8
--- /dev/null
+++ b/public/content/translations/cs/contributing/translation-program/translators-guide/index.md
@@ -0,0 +1,293 @@
+---
+title: Průvodce překladem
+lang: cs
+description: Pokyny a tipy pro překladatele ethereum.org
+---
+
+# Průvodce stylem překladu ethereum.org {#style-guide}
+
+Průvodce stylem překladu pro ethereum.org obsahuje některé z nejdůležitějších pokynů, instrukcí a tipů pro překladatele, kteří nám pomáhají lokalizovat webové stránky.
+
+Tento dokument slouží jako obecný průvodce a není specifický pro žádný konkrétní jazyk.
+
+Pokud máte jakékoli dotazy, návrhy nebo zpětnou vazbu, neváhejte nás kontaktovat na translations@ethereum.org, pošlete zprávu na @ethdotorg na Crowdin nebo se [připojte k našemu Discordu](https://discord.gg/ethereum-org), kde nám můžete poslat zprávu v kanálu #translations nebo kontaktovat některého z členů týmu.
+
+## Používání Crowdinu {#using-crowdin}
+
+Základní pokyny, jak se připojit k projektu na Crowdinu a jak používat online editor Crowdin, najdete na stránce [Translation Program](/contributing/translation-program/#how-to-translate).
+
+Pokud byste se chtěli dozvědět více o Crowdinu a používat některé z jeho pokročilých funkcí, [znalostní báze Crowdin](https://support.crowdin.com/online-editor/) obsahuje mnoho podrobných průvodců a přehledů všech jeho funkcionalit.
+
+## Zachycení podstaty sdělení {#capturing-the-essence}
+
+Při překládání obsahu ethereum.org se vyhýbejte doslovným překladům.
+
+Je důležité, aby překlady zachytily podstatu sdělení. To může znamenat přeformulování určitých frází nebo použití popisných překladů místo překládání obsahu slovo od slova.
+
+Různé jazyky mají různá gramatické pravidla, konvence a pořadí slov. Při překládání mějte na paměti, jak jsou věty strukturovány v cílovém jazyce, a vyhněte se doslovnému překladu anglického zdroje, protože to může vést ke špatné struktuře vět a čitelnosti.
+
+Místo překládání zdrojového textu slovo od slova se doporučuje přečíst si celou větu a přizpůsobit ji tak, aby odpovídala konvencím cílového jazyka.
+
+## Formální vs. neformální {#formal-vs-informal}
+
+Používáme formální oslovení, které je vždy zdvořilé a vhodné pro všechny návštěvníky.
+
+Používání formálního oslovení nám umožňuje vyhnout se neoficiálnímu nebo urážlivému tónu a funguje bez ohledu na věk a pohlaví návštěvníka.
+
+Většina indoevropských a afroasijských jazyků používá genderově specifická osobní zájmena, která rozlišují mezi mužským a ženským pohlavím. Při oslovování uživatele nebo používání přivlastňovacích zájmen se můžeme vyhnout předpokladu o pohlaví návštěvníka, protože formální forma oslovení je obecně použitelná a konzistentní, bez ohledu na to, jak se identifikují.
+
+## Jednoduchá a jasná slovní zásoba a význam {#simple-vocabulary}
+
+Naším cílem je, aby obsah na webu byl srozumitelný co největšímu počtu lidí.
+
+Ve většině případů toho lze snadno dosáhnout použitím krátkých a jednoduchých slov, která jsou snadno srozumitelná. Pokud ve vašem jazyce existuje více možných překladů pro určitý výraz se stejným významem, nejlepší možností je většinou nejkratší slovo, které jasně odráží význam.
+
+## Písmo {#writing-system}
+
+Ethereum.org je dostupné v řadě jazyků, které používají alternativní písma (nebo abecedy) k latince.
+
+Veškerý obsah by měl být přeložen s použitím správného písma pro váš jazyk a neměl by obsahovat žádná slova psaná pomocí latinky.
+
+Při překládání obsahu byste měli zajistit, že překlady budou konzistentní a nebudou obsahovat žádné latinské znaky.
+
+Běžná mylná představa je, že Ethereum by mělo být vždy psáno latinkou. To je většinou nesprávné, prosím, použijte název Ethereum tak, jak je vlastní vašemu jazyku (např. 以太坊 v čínštině, إيثيريوم v arabštině atd.).
+
+**Výše uvedené neplatí pro jazyky, kde se jména obvykle nepřekládají.**
+
+## Překládání metadat stránky {#translating-metadata}
+
+Některé stránky obsahují metadata jako „title“, „lang“, „description“, „sidebar“ atd.
+
+Když nahráváme nové stránky do Crowdinu, skryjeme obsah, který by překladatelé nikdy neměli překládat, což znamená, že všechna metadata viditelná pro překladatele v Crowdinu by měla být přeložena.
+
+Buďte obzvláště opatrní při překládání jakýchkoli řetězců, kde je zdrojový text „en“. Tento text představuje jazyk, ve kterém je stránka dostupná, a měl by být přeložen na [ISO jazykový kód vašeho jazyka](https://www.andiamo.co.uk/resources/iso-language-codes/). Tyto řetězce by měly být vždy přeloženy pomocí latinských znaků, nikoli abecedy, která je vlastní cílovému jazyku.
+
+Pokud si nejste jisti, jaký jazykový kód použít, můžete se podívat do překladové paměti v Crowdinu nebo najít jazykový kód pro váš jazyk v URL stránky v online editoru Crowdin.
+
+Některé příklady jazykových kódů pro nejrozšířenější jazyky:
+
+- Arabština – ar
+- Čínština zjednodušená – zh
+- Francouzština – fr
+- Hindština – hi
+- Španělština – es
+
+## Názvy externích článků {#external-articles}
+
+Některé řetězce obsahují názvy externích článků. Většina našich stránek s dokumentací pro vývojáře obsahuje odkazy na externí články pro další čtení. Řetězce obsahující názvy článků je třeba přeložit bez ohledu na jazyk článku, aby se zajistila konzistentnější uživatelská zkušenost pro návštěvníky, kteří si prohlížejí stránku ve svém jazyce.
+
+Níže najdete několik příkladů toho, jak tyto řetězce vypadají pro překladatele a jak je identifikovat (odkazy na články najdete většinou na konci těchto stránek, v sekci „Další čtení“):
+
+ 
+
+## Upozornění v Crowdinu {#crowdin-warnings}
+
+Crowdin má zabudovanou funkci, která varuje překladatele, když se chystají udělat chybu. Crowdin vás automaticky upozorní před uložením překladu, pokud zapomenete zahrnout tag ze zdroje, přeložíte prvky, které by neměly být přeloženy, přidáte několik po sobě jdoucích mezer, zapomenete koncové interpunkční znaménko atd. Pokud vidíte takové upozornění, vraťte se a dvakrát zkontrolujte navrhovaný překlad.
+
+**Nikdy tato varování neignorujte, protože obvykle znamenají, že něco není v pořádku nebo že v překladu chybí klíčová část zdrojového textu.**
+
+Příklad upozornění v Crowdinu, když zapomenete přidat tag do překladu: 
+
+## Práce s tagy a úryvky kódu {#dealing-with-tags}
+
+Mnoho zdrojového obsahu obsahuje tagy a proměnné, které jsou v editoru Crowdin zvýrazněny žlutě. Tyto prvky slouží různým funkcím a je nutné k nim přistupovat správně.
+
+**Nastavení Crowdinu**
+
+Aby bylo snazší pracovat s tagy a kopírovat je přímo ze zdroje, doporučujeme změnit nastavení v editoru Crowdin.
+
+1. Otevřete nastavení 
+
+2. Sjeďte dolů do sekce „Zobrazování HTML tagů“
+
+3. Vyberte „Skrýt“ 
+
+4. Klikněte na „Uložit“
+
+Při výběru této možnosti se celý text tagu již nebude zobrazovat a bude nahrazen číslem. Při překládání kliknutí na tento tag automaticky zkopíruje přesný tag do pole překladu.
+
+**Odkazy**
+
+Můžete si také všimnout úplných odkazů na stránky na ethereum.org nebo na jiné webové stránky.
+
+Tyto odkazy by měly být identické se zdrojem a neměly by být měněny nebo překládány. Pokud odkaz přeložíte nebo ho jakýmkoliv způsobem změníte, dokonce i jen odstraněním části, jako je například lomítko (/), povede to k nefunkčním a nepoužitelným odkazům.
+
+Nejlepší způsob, jak pracovat s odkazy, je kopírovat je přímo ze zdroje, buď kliknutím na ně, nebo použitím tlačítka „Kopírovat zdroj“ (Alt+C).
+
+
+
+Odkazy se také zobrazují ve zdrojovém textu ve formě tagů (tj. \<0> \0>). Pokud na tag umístíte kurzor, editor zobrazí jeho celý obsah – někdy tyto tagy představují odkazy.
+
+Je velmi důležité zkopírovat odkazy ze zdroje a neměnit jejich pořadí.
+
+Pokud se změní pořadí tagů, odkaz, který představují, bude nefunkční.
+
+
+
+**Tagy a proměnné**
+
+Zdrojový text obsahuje mnoho různých typů tagů, které by měly být vždy zkopírovány ze zdroje a nikdy měněny. Podobně jako výše, pořadí těchto tagů v překladu by mělo zůstat stejné jako ve zdroji.
+
+Tagy vždy obsahují otevírací a zavírací tag. Ve většině případů by text mezi otevíracím a zavíracím tagem měl být přeložen.
+
+Příklad: ``Decentralized``
+
+`` – _otevírací tag, který udělá text tučným_
+
+Decentralized – _přeložitelný text_
+
+`` – _zavírací tag_
+
+
+
+Úryvky kódu by měly být zpracovány trochu jinak než ostatní tagy, protože obsahují kód, který by neměl být přeložen.
+
+Příklad: ``nonce``
+
+`` – _otevírací tag, který obsahuje úryvek kódu_
+
+nonce – _text, který není určen k překladu_
+
+`` – _zavírací tag_
+
+
+
+Zdrojový text také obsahuje zkrácené tagy, které obsahují pouze čísla, což znamená, že jejich funkce není okamžitě zřejmá. Můžete na tyto tagy najet kurzorem, abyste přesně zjistili, jakou funkci plní.
+
+V příkladu níže můžete vidět, že když najedete kurzorem na tag \<0> , zobrazí se, že představuje `` a obsahuje úryvek kódu, takže obsah uvnitř těchto tagů by neměl být přeložen.
+
+
+
+## Krátké versus plné formy nebo zkratky {#short-vs-full-forms}
+
+Na webových stránkách se používá mnoho zkratek, např. dapps, NFT, DAO, DeFi atd. Tyto zkratky jsou běžně používány v angličtině a většina návštěvníků webu je s nimi obeznámena.
+
+Protože obvykle nemají zavedené překlady v jiných jazycích, nejlepší způsob, jak k těmto a podobným termínům přistupovat, je poskytnout popisný překlad plné formy a přidat anglickou zkratku v závorkách.
+
+Tyto zkratky nepřekládejte, protože většina lidí by jim nerozuměla a lokalizované verze by pro většinu návštěvníků nedávaly smysl.
+
+Příklad, jak přeložit dapps:
+
+- Decentralized applications (dapps) → _přeložená plná forma (anglická zkratka v závorkách)_
+
+## Termíny bez zavedených překladů {#terms-without-established-translations}
+
+Některé termíny nemusí mít zavedené překlady v jiných jazycích a jsou široce známé pod původním anglickým termínem. Tyto termíny většinou zahrnují novější koncepty, jako je proof-of-work, proof-of-stake, Beacon Chain, staking atd.
+
+I když může překlad těchto termínů znít nepřirozeně, protože anglická verze je běžně používána i v jiných jazycích, je silně doporučeno, aby byly přeloženy.
+
+Při jejich překladu se nebojte být kreativní, použijte popisné překlady nebo je jednoduše přeložte doslovně.
+
+**Důvod, proč by většina termínů měla být přeložena, místo toho, aby některé zůstaly v angličtině, spočívá v tom, že tato nová terminologie se v budoucnu rozšíří, jakmile začne více lidí používat Ethereum a související technologie. Pokud chceme do tohoto ekosystému přivést více lidí z celého světa, musíme poskytnout srozumitelnou terminologii v co nejvíce jazycích, i když ji musíme sami vytvořit.**
+
+## Tlačítka a výzvy k akci (CTA) {#buttons-and-ctas}
+
+Web obsahuje spoustu tlačítek, která by měla být přeložena odlišně od ostatního obsahu.
+
+Text tlačítek lze identifikovat zobrazením kontextových snímků obrazovky, spojených s většinou řetězců, nebo kontrolou kontextu v editoru, který obsahuje frázi „tlačítko“.
+
+Překlady tlačítek by měly být co nejkratší, aby se zabránilo problémům s formátováním. Kromě toho by překlady tlačítek měly být imperativní, tj. představovat příkaz nebo žádost.
+
+
+
+## Překládání s ohledem na inkluzivitu {#translating-for-inclusivity}
+
+Návštěvníci ethereum.org pocházejí z celého světa a z různých prostředí. Jazyk na webu by proto měl být neutrální, přívětivý ke všem a ne vylučující.
+
+Důležitým aspektem tohoto přístupu je genderová neutralita. Toho lze snadno dosáhnout použitím formálního způsobu oslovení a vyhnutím se jakýmkoli genderově specifickým slovům v překladech.
+
+Další formou inkluzivity je snaha překládat pro globální publikum, nikoli specificky pro jakoukoli zemi, rasu nebo region.
+
+Jazyk by měl být vhodný pro všechna publika a věkové kategorie.
+
+## Jazykově specifické překlady {#language-specific-translations}
+
+Při překládání je důležité dodržovat gramatická pravidla, konvence a formátování používané ve vašem jazyce, na rozdíl od kopírování ze zdroje. Zdrojový text se řídí anglickými gramatickými pravidly a konvencemi, což není použitelné pro mnoho jiných jazyků.
+
+Měli byste být obeznámeni s pravidly pro váš jazyk a překládat podle nich. Pokud potřebujete pomoc, kontaktujte nás a my vám pomůžeme najít nějaké zdroje, které vám ukážou, jak by tyto prvky měly být ve vašem jazyce používány.
+
+Některé příklady toho, na co být obzvláště opatrní:
+
+### Interpunkce, formátování {#punctuation-and-formatting}
+
+**Velká písmena**
+
+- V různých jazycích existují obrovské rozdíly ve využívání velkých písmen.
+- V angličtině je běžné psát všechna slova v nadpisech a názvech s velkým počátečním písmenem, stejně jako názvy měsíců, dní, jazyků, svátků apod. V mnoha jiných jazycích je to však gramaticky nesprávné, protože mají odlišná pravidla pro používání velkých písmen.
+- Některé jazyky mají také pravidla pro psaní velkých písmen u osobních zájmen, podstatných jmen a určitých přídavných jmen, která nejsou v angličtině psána s velkým písmenem.
+
+**Mezery**
+
+- Pravidla pro používání mezer jsou definována ortografií pro každý jazyk. Protože mezery se používají všude, tato pravidla jsou velmi odlišná a mezery jsou často nesprávně překládány.
+- Některé běžné rozdíly v používání mezer mezi angličtinou a jinými jazyky:
+ - Mezera před jednotkami měření a měnami (např. USD, EUR, kB, MB)
+ - Mezera před znakem stupně (např. °C, ℉)
+ - Mezera před některými interpunkčními znaky, zejména před trojtečkou (…)
+ - Mezera před a za lomítky (/)
+
+**Seznamy**
+
+- Každý jazyk má rozmanitý a složitý soubor pravidel pro psaní seznamů. Tato pravidla mohou být výrazně odlišná od angličtiny.
+- V některých jazycích je první slovo každé nové položky seznamu třeba psát s velkým písmenem, zatímco v jiných jazycích by nové položky měly začínat malým písmenem. Mnoho jazyků má také různá pravidla pro psaní velkých písmen v seznamech, která závisí na délce každé položky.
+- Totéž platí pro interpunkci jednotlivých položek seznamu. Závěrečná interpunkce v seznamech může být tečka (**.**), čárka (**,**) nebo středník (**;**), v závislosti na jazyce.
+
+**Uvozovky**
+
+- Různé jazyky používají různé typy uvozovek. Pouhé kopírování anglických uvozovek ze zdroje je často nesprávné.
+- Některé z nejběžnějších typů uvozovek zahrnují:
+ - „ukázkový text“
+ - ‚ukázkový text’
+ - »ukázkový text«
+ - “ukázkový text”
+ - ‘ukázkový text’
+ - «ukázkový text»
+
+**Spojovníky a pomlčky**
+
+- V angličtině se spojovník (-) používá ke spojení slov nebo různých částí slova, zatímco pomlčka (–) se používá k označení rozsahu nebo pauzy.
+- Mnoho jazyků má odlišná pravidla pro používání spojovníků a pomlček, která by měla být dodržována.
+
+### Formáty {#formats}
+
+**Čísla**
+
+- Hlavním rozdílem při psaní čísel v různých jazycích je oddělovač použitý pro desetinná místa a tisíce. Pro tisíce to může být tečka, čárka nebo mezera. Podobně některé jazyky používají desetinnou tečku, zatímco jiné používají desetinnou čárku.
+ - Některé příklady velkých čísel:
+ - Angličtina – **1,000.50**
+ - Španělština – **1.000,50**
+ - Francouzština – **1 000,50**
+- Dalším důležitým faktorem při překladu čísel je procentní znak. Ten může být psán různými způsoby: **100%**, **100 %** nebo **%100**.
+- Záporná čísla mohou být zobrazena různě, v závislosti na jazyce: -100, 100-, (100) nebo [100].
+
+**Data**
+
+- Při překladu dat existuje řada úvah a rozdílů v závislosti na jazyce. Patří sem formát data, oddělovač, používání velkých písmen a počáteční nuly. Existují také rozdíly mezi plnými a číselnými formami data.
+ - Některé příklady různých formátů data:
+ - Angličtina (UK) (dd/mm/yyyy) – 1st January, 2022
+ - Angličtina (US) (mm/dd/yyyy) – January 1st, 2022
+ - Čínština (yyyy-mm-dd) – 2022 年 1 月 1 日
+ - Francouzština (dd/mm/yyyy) – 1er janvier 2022
+ - Italština (dd/mm/yyyy) – 1º gennaio 2022
+ - Němčina (dd/mm/yyyy) – 1. Januar 2022
+
+**Měny**
+
+- Překlad měn může být náročný kvůli různým formátům, konvencím a převodům. Obecně platí, že měny ponecháte stejné jako ve zdrojovém textu. Pro pohodlí čtenáře můžete přidat místní měnu a převod v závorce.
+- Hlavní rozdíly ve psaní měn v různých jazycích zahrnují umístění symbolu, desetinné čárky vs. desetinné tečky, mezery a zkratky vs. symboly.
+ - Umístění symbolu: $100 nebo 100$
+ - Desetinné čárky vs. desetinné tečky: 100,50$ nebo 100.50$
+ - Mezery: 100$ nebo 100 $
+ - Zkratky vs. symboly: 100 $ nebo 100 USD
+
+**Měrné jednotky**
+
+- Obecně platí, že měrné jednotky můžete ponechat tak, jak jsou ve zdrojovém textu. Pokud vaše země používá jiný systém, můžete zahrnout převod v závorce.
+- Kromě lokalizace jednotek měření je také důležité si uvědomit rozdíly v tom, jak jazyky přistupují k těmto jednotkám. Hlavní rozdíl je ve vzdálenosti mezi číslem a jednotkou, která může být rozdílná v závislosti na jazyce. Příkladem toho může být 100kB vs. 100 kB nebo 50ºF vs. 50 ºF.
+
+## Závěr {#conclusion}
+
+Překlad ethereum.org je skvělou příležitostí, jak se dozvědět více o různých aspektech Etherea.
+
+Při překládání se nesnažte spěchat. Vezměte to v klidu a bavte se!
+
+Děkujeme, že jste se zapojili do překladatelského programu a pomáháte nám zpřístupnit web širšímu publiku. Komunita Etherea je globální a jsme rádi, že jste její součástí!
diff --git a/public/content/translations/cs/danksharding/index.md b/public/content/translations/cs/danksharding/index.md
new file mode 100644
index 00000000000..60d3345c5e9
--- /dev/null
+++ b/public/content/translations/cs/danksharding/index.md
@@ -0,0 +1,95 @@
+---
+title: Danksharding
+description: Seznamte se s Proto-Dankshardingem a Dankshardingem - dvěma po sobě jdoucími vylepšeními pro škálování Etherea.
+lang: cs
+summaryPoints:
+ - Danksharding je vícestupňové vylepšení, které má zlepšit škálovatelnost a kapacitu Etherea.
+ - První fáze, Proto-Danksharding, přidává do bloků datové bloby.
+ - Datové bloby nabízejí levnější způsob zveřejnění dat rollupů na Ethereu a tyto náklady mohou být replikovány na uživatele ve formě nižších transakčních poplatků.
+ - V dalších krocích rozloží plný Danksharding odpovědnost za ověřování datových blobů mezi podmnožiny uzlů, což dále škáluje Ethereum na více než 100 000 transakcí za sekundu.
+---
+
+# Danksharding {#danksharding}
+
+**Danksharding** je způsob, jehož pomocí se Ethereum stává skutečně škálovatelným blockchainem, ale k tomu je potřeba několik aktualizací protokolu. **Proto-Danksharding** je mezikrokem na této cestě. Obě vylepšení mají za cíl co nejvíce zlevnit transakce na druhé vrstvě pro uživatele a měly by zvýšit škálovatelnost Etherea na > 100 000 transakcí za sekundu.
+
+## Co je Proto-Danksharding? {#what-is-protodanksharding}
+
+Proto-Danksharding, známý také jako [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), je způsob, jakým mohou [rollupy](/layer-2/#rollups) přidávat levnější data do bloků. Název pochází od dvou výzkumníků, kteří tento nápad navrhli: Protolambdy a Dankrada Feista. Historicky byly rollupy omezeny v tom, jak levně mohou zpracovávat uživatelské transakce, protože jejich transakce byly ukládány do `CALLDATA`.
+
+Toto je drahé, protože CALLDATA jsou zpracovávána všemi uzly na Ethereu a zůstávají na blockchainu navždy, i když rollupy potřebují tato data jen po krátkou dobu. Proto-Danksharding zavádí datové bloby, které mohou být odeslány a připojeny k blokům. Data v těchto blobech nejsou přístupná pro EVM a jsou automaticky smazána po stanovené době (v době psaní tohoto článku to bylo 4 096 epoch, což je přibližně 18 dní). To znamená, že rollupy mohou odesílat svá data mnohem levněji a přenést úspory na koncové uživatele ve formě levnějších transakcí.
+
+
+
+Rollupy jsou způsobem, jak škálovat Ethereum tím, že sdružují transakce mimo blockchain a poté zveřejňují výsledky na Ethereu. Rollup se v podstatě skládá ze dvou částí: dat a ověření provedení. Data jsou úplné sekvence transakcí, které jsou zpracovány rollupem k vytvoření změny stavu, jež je zveřejněna na Ethereu. Ověření provedení je opětovné provedení těchto transakcí nějakým poctivým aktérem (tzv. „schvalovatel“), aby bylo zajištěno, že navrhovaná změna stavu je správná. K provedení ověření musí být transakční data dostupná dostatečně dlouho na to, aby si je mohl kdokoliv stáhnout a zkontrolovat. To znamená, že jakékoliv nepoctivé chování sequencera rollupu může být identifikováno a napadnuto ověřovatelem. Nicméně není nutné, aby byla tato data dostupná navždy.
+
+
+
+
+
+Rollupy zveřejňují závazky ke svým transakčním datům na blockchainu a také zpřístupňují skutečná data v datových blobech. To znamená, že ověřovatelé mohou verifikovat, že jsou závazky platné, nebo napadnout data, která považují za nesprávná. Na úrovni uzlů jsou tyto datové bloby uloženy v konsenzus klientech. Konsenzus klienti potvrzují, že data viděli a že byla rozšířena po celé síti. Pokud by se data uchovávala navždy, tito klienti by zůstali přetíženi, což by vedlo k velkým požadavkům na hardware pro provozování uzlů. Místo toho se data automaticky mažou z uzlu každých 18 dní. Atestace konsenzus klientů prokazují, že ověřovatelé měli dostatečnou příležitost data ověřit. Skutečná data mohou být uložena mimo blockchain provozovateli rollupu, uživateli nebo ostatními.
+
+
+
+### Jak jsou data v blobech ověřována? {#how-are-blobs-verified}
+
+Rollupy zveřejňují transakce, které provádějí, v datových blobech. Zároveň k těmto datům zveřejňují „závazek“. Dělají to tak, že datům přizpůsobí polynomiální funkci. Tato funkce může být poté vyhodnocena na různých bodech. Např. pokud definujeme extrémně jednoduchou funkci `f(x) = 2x – 1`, můžeme tuto funkci vyhodnotit pro `x = 1`, `x = 2`, `x = 3` a získat výsledky `1, 3, 5`. Ověřovatel aplikuje stejnou funkci na data a vyhodnotí ji ve stejných bodech. Pokud byla původní data změněna, funkce nebude identická, a proto ani hodnoty vyhodnocené v každém bodě nejsou stejné. Ve skutečnosti jsou závazek a důkaz složitější, protože jsou zabaleny v kryptografických funkcích.
+
+### Co je KZG? {#what-is-kzg}
+
+KZG znamená Kate-Zaverucha-Goldberg – jména tří [původních autorů](https://link.springer.com/chapter/10.1007/978-3-642-17373-8_11) schématu, které redukuje blob dat na malý [kryptografický „závazek“](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html). Blob dat předložený rollupem musí být ověřen, aby bylo zajištěno, že rollup nejedná nepoctivě. To zahrnuje ověřovatelovo opětovné provedení transakcí v blobu, aby bylo ověřeno, že závazek byl platný. To je konceptuálně stejné jako způsob, jakým exekuční klienti kontrolují platnost transakcí na Ethereu na vrstvě 1 pomocí Merkle důkazů. KZG je alternativní důkaz, který přizpůsobí polynomiální rovnici datům. Závazek vyhodnocuje polynom na určitých tajných bodech dat. Ověřovatel by přizpůsobil stejný polynom datům a vyhodnotil ho na stejných hodnotách, přičemž by ověřil, že výsledek je stejný. To je způsob, jak ověřit data, který je kompatibilní s technikami zero-knowledge používanými některými rollupy a nakonec i jinými částmi protokolu Ethereum.
+
+### Co byl Ceremoniál KZG? {#what-is-a-kzg-ceremony}
+
+Ceremoniál KZG byla akce, při které se spousta lidí z celé Ethereum komunity společně podílela na vygenerování tajného náhodného řetězce čísel, který lze použít k ověřování dat. Je klíčové, aby tento řetězec čísel nebyl nikomu znám a nemohl být nikým znovu vytvořen. Proto každý účastník ceremoniálu obdržel řetězec od předchozího účastníka. Poté vytvořil nové náhodné hodnoty (např. tím, že dovolil prohlížeči měřit pohyb myši) a smíchal je s předchozí hodnotou. Následně tuto novou hodnotu odeslal dalšímu účastníkovi a na svém lokálním zařízení ji zničil. Pokud alespoň jeden účastník tohoto ceremoniálu postupoval poctivě, konečná hodnota bude pro útočníka neznámá.
+
+Ceremoniál KZG EIP-4844 byl veřejný a zúčastnily se ho desítky tisíc uživatelů, kteří přidali svou vlastní entropii (náhodnost). Celkem šlo o 140 000 příspěvků, což z něj činí největší ceremoniál svého druhu na světě. Aby byl ceremoniál znehodnocen, muselo by 100 % účastníků jednat nepoctivě. Z pohledu účastníků stačí vědět, že jen oni jednali poctivě, není třeba důvěřovat nikomu jinému, protože vědí, že ceremoniál zabezpečili (individuálně splnili požadavek, aby alespoň jeden účastník z N byl poctivý).
+
+
+
+Když rollup zveřejní data v blobu, poskytne také „závazek“, který zveřejní na blockchainu. Tento závazek je výsledkem vyhodnocení polynomu přizpůsobeného datům v určitých bodech. Tyto body jsou definovány náhodnými čísly generovanými v ceremoniálu KZG. Ověřovatelé mohou poté vyhodnotit polynom ve stejných bodech, aby ověřili data – pokud dosáhnou stejných hodnot, jsou data správná.
+
+
+
+
+
+Pokud někdo zná náhodné body použité pro vytvoření závazku, je pro něj snadné vytvořit nový polynom, který se bude shodovat v těchto konkrétních bodech (tj. „kolize“). To znamená, že by byl schopen přidat nebo odebrat data z blobu a stále poskytovat platný důkaz. Aby se tomu zabránilo, místo toho, aby ověřovatelé dostávali skutečné tajné body, obdrží body zabalené v kryptografické „černé skříňce“ pomocí eliptických křivek. Tyto body efektivně zamíchají hodnoty tak, aby původní hodnoty nemohly být zpětně rekonstruovány, ale s určitým chytrým algebraickým postupem mohou ověřovatelé stále vyhodnotit polynomy v bodech, které reprezentují.
+
+
+
+
+ Ani Danksharding, ani Proto-Danksharding nesledují tradiční model „tříštění“, který má za cíl rozdělit blockchain do více částí. Shard chainy již nejsou součástí plánu. Místo toho Danksharding využívá ke škálování Etherea distribuované vzorkování dat napříč bloby. To je mnohem jednodušší na implementaci. Tento model je někdy označován jako „tříštění dat“.
+
+
+## Co je Danksharding? {#what-is-danksharding}
+
+Danksharding je úplná realizace škálování rollupů, které začalo s Proto-Danksharding. Danksharding přinese obrovské množství prostoru na Ethereu, kde mohou rollupy ukládat svá komprimovaná transakční data. To znamená, že Ethereum bude schopno snadno podporovat stovky jednotlivých rollupů a umožní provádění milionů transakcí za sekundu.
+
+Funguje to tak, že se rozšíří počet blobů připojených k blokům ze šesti (6) v Proto-Danksharding na 64 v úplném Danksharding. Zbytek změn vyžaduje aktualizace způsobu, jakým konsenzus klienti fungují, aby byli schopni zpracovávat nové velké bloby. Některé z těchto změn jsou již součástí plánu pro jiné účely nezávisle na Danksharding. Např. Danksharding vyžaduje implementaci oddělení navrhovatelů a stavitelů bloků (proposer-builder separation). To je vylepšení, které rozděluje úkoly budování bloků a jejich navrhování mezi různé validátory. Podobně je pro Danksharding potřeba vzorkování dostupnosti dat, ale to je také nezbytné pro vývoj jednoduchých klientů, které neukládají velké množství historických dat („bezstavové klienty“).
+
+
+
+Oddělení navrhovatelů a stavitelů bloků je nezbytné k tomu, aby jednotliví validátoři nemuseli generovat drahé závazky a důkazy pro 32 MB blobových dat. To by příliš zatěžovalo domácí validátory a vyžadovalo by to investice do výkonnějšího hardwaru, což by signifikantně snížilo decentralizaci. Místo toho převezmou zodpovědnost za tuto náročnou výpočetní práci specializovaní stavitelé bloků. Poté zpřístupní své bloky navrhovatelům bloků, aby je mohli šířit. Navrhovatel bloku jednoduše vybere blok, který je nejziskovější. Každý může levně a rychle ověřit bloby, což znamená, že jakýkoliv běžný validátor může zkontrolovat poctivost jednání stavitelů bloků. To umožňuje zpracování velkých blobů bez obětování decentralizace. Nepoctiví stavitelé bloků by mohli být jednoduše vyloučeni ze sítě a penalizováni a další by je nahradili, protože stavba bloků je výnosná činnost.
+
+
+
+
+
+Vzorkování dostupnosti dat je nezbytné pro validátory k rychlému a efektivnímu ověřování blobových dat. Pomocí vzorkování dostupnosti dat si mohou být validátoři jistí, že byla blobová data dostupná a správně potvrzena. Každý validátor může náhodně vybrat jen několik datových bodů a vytvořit důkaz, což znamená, že žádný validátor nemusí kontrolovat celý blob. Pokud nějaká data chybí, budou rychle identifikována a blob bude zamítnut.
+
+
+
+### Aktuální průběh {#current-progress}
+
+Úplný Danksharding je vzdálen několik let. Mezitím Ceremoniál KZG skončil s více než 140 000 příspěvky a [EIP](https://eips.ethereum.org/EIPS/eip-4844) pro Proto-Danksharding je hotový. Tento návrh byl plně implementován na všech testovacích sítích a byl spuštěn na hlavní síti s vylepšením sítě Cancun-Deneb („Dencun“) v březnu 2024.
+
+### Další informace {#further-reading}
+
+- [Poznámky k Proto-Dankshardingu](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) – _Vitalik Buterin_
+- [Poznámky Dankrada k Dankshardingu](https://notes.ethereum.org/@dankrad/new_sharding)
+- [Diskuze mezi Dankradem, Protem a Vitalikem o Dankshardingu](https://www.youtube.com/watch?v=N5p0TB77flM)
+- [Ceremoniál KZG](https://ceremony.ethereum.org/)
+- [Přednáška Carla Beekhuizena na Devconu o důvěryhodných nastaveních](https://archive.devcon.org/archive/watch/6/the-kzg-ceremony-or-how-i-learnt-to-stop-worrying-and-love-trusted-setups/?tab=YouTube)
+- [Více o vzorkování dostupnosti dat pro bloby](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
+- [Dankrad Feist o KZG závazcích a důkazech](https://youtu.be/8L2C6RDMV9Q)
+- [KZG polynomiální závazky](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html)
diff --git a/public/content/translations/cs/dao/index.md b/public/content/translations/cs/dao/index.md
index 0e241e65d29..d4d54e2a446 100644
--- a/public/content/translations/cs/dao/index.md
+++ b/public/content/translations/cs/dao/index.md
@@ -1,5 +1,6 @@
---
-title: Decentralizované autonomní organizace (DAO)
+title: Co je DAO?
+metaTitle: Co je DAO? | Decentralizovaná autonomní organizace
description: Přehled DAO na Ethereu
lang: cs
template: use-cases
@@ -48,7 +49,7 @@ Několik příkladů, k čemu je možné DAO využít:
## Jak fungují DAO? {#how-daos-work}
-Základem DAO je [smart kontrakt](/glossary/#smart-contract), který definuje pravidla organizace a spravuje majetek celé skupiny. Jakmile je kontrakt nasazen na Ethereu, nikdo nemůže změnit pravidla jinak než hlasováním. Pokud by se tedy někdo prokusil provést akci, která není definována pravidly a logikou počítačového kódu, skončí to neúspěchem. Stejně tak i finanční prostředky jsou řízeny chytrým kontraktem, takže nikdo nemůže utratit peníze bez souhlasu skupiny Znamená to tedy, že DAO nepotřebuje žádnou ústřední entitu a namísto toho jsou všechna rozhodnutí i platby prováděny kolektivně na základě společného hlasování.
+Základem DAO je [chytrý kontrakt](/glossary/#smart-contract), který definuje pravidla organizace a spravuje majetek celé skupiny. Jakmile je kontrakt nasazen na Ethereu, nikdo nemůže změnit pravidla jinak než hlasováním. Pokud by se tedy někdo prokusil provést akci, která není definována pravidly a logikou počítačového kódu, skončí to neúspěchem. Stejně tak i finanční prostředky jsou řízeny chytrým kontraktem, takže nikdo nemůže utratit peníze bez souhlasu skupiny Znamená to tedy, že DAO nepotřebuje žádnou ústřední entitu a namísto toho jsou všechna rozhodnutí i platby prováděny kolektivně na základě společného hlasování.
To je možné z toho důvodu, že chytré kontrakty jsou po nasazení na Ethereum chráněny proti nedovolené manipulaci. Pravidla DAO jsou totiž zapsaná pomocí veřejně dostupného kódu a nelze je tak upravovat bez povšimnutí.
@@ -91,7 +92,7 @@ V roce 1977 představil stát Wyoming LLC, typ společnosti ekvivalentní k čes
### Příklad z praxe {#law-example}
-[CityDAO](https://citydao.io) – CityDAO používal zákon DAO státu Wyoming ke koupi 40 akrů půdy poblíž Yellowstonského národního parku.
+[CityDAO](https://citizen.citydao.io/) – CityDAO používal zákon DAO státu Wyoming ke koupi 40 akrů půdy poblíž Yellowstonského národního parku.
## Členství v DAO {#dao-membership}
@@ -99,7 +100,7 @@ Existují různé typy členství v DAO. Na základně nich je pak určeno, jak
### Členství založené na tokenech {#token-based-membership}
-Obvykle zcela [bez nutnosti povolení](/glossary/#permissionless), v závislosti na použitém tokenu. Takové tokeny jsou typicky volně obchodovány na [decentralizovaných burzách](/glossary/#dex). získávány poskytnutím likvidity anebo těženy nějakým „proof-of-work“ způsobem. Ve všech případech ale pouhé držení tokenu umožňuje přístup k hlasování.
+Obvykle zcela [bez nutnosti povolení](/glossary/#permissionless), v závislosti na použitém tokenu. Takové tokeny jsou typicky volně obchodovány na [decentralizovaných burzách](/glossary/#dex). získávány poskytnutím likvidity anebo těženy nějakým „důkazem prací“. Ve všech případech ale pouhé držení tokenu umožňuje přístup k hlasování.
_Obvykle se používá k řízení rozsáhlých decentralizovaných protokolů a/nebo tokenů samotných._
@@ -121,7 +122,7 @@ _Obvykle se používá u lidskoprávních organizací, jako jsou charity a odbor
Reputace je důkazem účasti a poskytuje hlasovací práva v DAO. Na rozdíl od tokenových či podílových členství, organizace DAO založené na reputaci nepřevádějí vlastnictví na přispěvatele. Reputaci nelze koupit, převést či delegovat; členové DAO si ji musí získat prostřednictvím účasti. Hlasování na blockchainuje je veřejně dostupné a budoucí členové mohou svobodně předložit návrhy na vstup do DAO a požádat o získání reputace a tokenů jako odměnu za své příspěvky.
-_Tento přístup se obvykle používá při decentralizovaném vývoji a řízení protokolů a [decentralizovaných aplikací](/glossary/#dapp), ale hodí se i pro další organizace, jako je charita, pracovní družstva, investiční kluby atd._
+_Tento přístup se obvykle používá při decentralizovaném vývoji a řízení protokolů a [dappek](/glossary/#dapp), ale hodí se i pro další organizace, jako je charita, pracovní družstva, investiční kluby atd._
#### Příklad z praxe {#reputation-example}
@@ -160,3 +161,7 @@ _Tento přístup se obvykle používá při decentralizovaném vývoji a řízen
- [Co je to DAO?](https://youtu.be/KHm0uUPqmVE)
- [Dokáže DAO vybudovat město?](https://www.ted.com/talks/scott_fitsimones_could_a_dao_build_the_next_great_city) – [TED](https://www.ted.com/)
+
+
+
+
diff --git a/public/content/translations/cs/decentralized-identity/index.md b/public/content/translations/cs/decentralized-identity/index.md
index b83f4c7255c..0db37181c5b 100644
--- a/public/content/translations/cs/decentralized-identity/index.md
+++ b/public/content/translations/cs/decentralized-identity/index.md
@@ -67,9 +67,9 @@ Decentralizovaná identita umožňuje společnostem vyhnout se konvenčním [Kno
### 3. Hlasování a online komunity {#voting-and-online-communities}
-Online hlasování a sociální média jsou dvě nová využití pro decentralizovanou identitu. Online hlasovací systémy jsou náchylné k manipulaci, zejména pokud škodliví aktéři vytvářejí k hlasování falešnou identitu. Žádat jednotlivce, aby předložili online atestace, může zlepšit integritu procesů hlasování on-line.
+Online hlasování a sociální média jsou dvě nová využití pro decentralizovanou identitu. Online hlasovací systémy jsou náchylné k manipulaci, zejména pokud škodliví aktéři vytvářejí k hlasování falešnou identitu. Žádat jednotlivce, aby předložili blockchainové atestace, může zlepšit integritu procesů hlasování online.
-Decentralizovaná identita může pomoci vytvořit online komunity, které jsou bez falešných účtů. Každý uživatel například bude muset ověřit svou identitu pomocí blockchainového systému identity jako je Ethereum Name Service, což snižuje možnost výskytu botů.
+Decentralizovaná identita může pomoci vytvořit online komunity, které jsou bez falešných účtů. Každý uživatel například bude muset ověřit svou identitu pomocí blockchainového systému identity, jako je Ethereum Name Service, což snižuje možnost výskytu botů.
### 4. Ochrana proti Sybil útokům {#sybil-protection}
@@ -119,7 +119,7 @@ Decentralizované identifikátory jsou také klíčové pro ochranu soukromí os
Jak se informace atestací ukládají a získávají v ekosystému založeném na Ethereu se liší od tradiční správy identity. Zde je přehled různých přístupů k vydávání, ukládání a ověřování atestací v decentralizovaných systémech identity:
-### Atestace mimo blockchain {#off-chain-attestations}
+### Atestace mimo blockchain {#offchain-attestations}
Jednou z obav o uchovávání atestací na blockchainu je to, že by mohly obsahovat informace, které si jednotlivci přejí zachovat v tajnosti. Veřejná povaha blockchainu Ethereum činí ukládání takových osvědčení neatraktivním.
@@ -139,7 +139,7 @@ Tento přístup umožňuje atestacím získat trvalost založenou na blockchainu
### Atestace na blockchainu {#onchain-attestations}
-Atestace na blockchainu jsou ukládány ve [chytrých kontaktech](/glossary/#smart-contract) na blockchainu Ethereum. Chytrý kontrakt (sloužící jako rejstřík) spojí atestaci k odpovídajícímu blockchainovému decentralizovanému identifikátoru (veřejnému klíči).
+Atestace na blockchainu jsou ukládány v [chytrých kontaktech](/glossary/#smart-contract) na blockchainu Etherea. Chytrý kontrakt (sloužící jako rejstřík) spojí atestaci s odpovídajícím blockchainovým decentralizovaným identifikátorem (veřejným klíčem).
Zde je příklad toho, jak by mohla fungovat blockchainová atestace v praxi:
@@ -151,15 +151,15 @@ Zde je příklad toho, jak by mohla fungovat blockchainová atestace v praxi:
### Soulbound tokeny a identity {#soulbound}
-[Soulbound tokeny](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) ([nepřenosná NFT](/glossary/#nft)) je možné používat ke shromažďování informací, které jsou pro konkrétní peněženku jedinečné. To efektivně vytváří jedinečnou blockchainovou identitu vázanou na konkrétní Ethereum adresu, která by mohla zahrnovat tokeny reprezentující úspěchy (např.: dokončení daného online kurzu nebo dosažení nového skóre ve hře) nebo komunitní účasti.
+[Soulbound tokeny](https://vitalik.eth.limo/general/2022/01/26/soulbound.html) ([nepřenosná NFT](/glossary/#nft)) je možné používat ke shromažďování informací, které jsou pro konkrétní peněženku jedinečné. To efektivně vytváří jedinečnou blockchainovou identitu vázanou na konkrétní Ethereum adresu, která by mohla zahrnovat tokeny reprezentující úspěchy (např.: dokončení daného online kurzu nebo dosažení nového skóre ve hře) nebo komunitní účast.
## Využití decentralizované identity {#use-decentralized-identity}
Existuje mnoho ambiciózních projektů, které využívají Ethereum jako základ pro decentralizovaná řešení identity:
-- **[Ethereum Name Service (ENS)](https://ens.domains/)** – _Decentralizovaný systém pojmenování pro blockchainové, strojově čitelné identifikátory, jako jsou adresy peněženky Ethereum, hashe obsahů a metadata._
+- **[Ethereum Name Service (ENS)](https://ens.domains/)** – _Decentralizovaný systém pojmenování pro blockchainové, strojově čitelné identifikátory, jako jsou adresy Ethereum peněženek, hashe obsahů a metadata._
- **[SpruceID](https://www.spruceid.com/)** – _Projekt decentralizované identity, který uživatelům umožňuje ovládat digitální identitu s Ethereum účty a profily ENS místo spoléhání se na služby třetích stran._
-- **[Ethereum Attestation Service (EAS)](https://attest.sh/)** – _Decentralizovaná účetní kniha/protokol pro vytváření jakýkoliv atestací na blockchainu nebo mimo něj._
+- **[Ethereum Attestation Service (EAS)](https://attest.sh/)** – _Decentralizovaná účetní kniha / protokol pro vytváření atestací na blockchainu nebo mimo něj._
- **[Proof of Humanity](https://www.proofofhumanity.id)** – _Proof of Humanity (nebo PoH) je systém pro ověřování sociální identity postavený na Ethereu._
- **[BrightID](https://www.brightid.org/)** – _Decentralizovaná síť sociální identity s veřejně dostupným zdrojovým kódem usilující o reformu ověřování identity vytvořením a analýzou sociálního grafu._
- **[walt.id](https://walt.id)** - _Open source decentralizovaná identita a peněženková infrastruktura, která umožňuje vývojářům a organizacím využívat vlastní suverénní identitu a NFT/SBT._
@@ -180,7 +180,7 @@ Existuje mnoho ambiciózních projektů, které využívají Ethereum jako zákl
- [Decentralizovaná identita (Bonusové živé vysílání)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _Skvělé video na vysvětlení decentralizované identity od Andrease Antonopolouse_
- [Přihlaste se pomocí Etherea a decentralizované identity s Ceramic, IDX, React, a 3ID Connect](https://www.youtube.com/watch?v=t9gWZYJxk7c) – _YouTube tutorial na vytváření systému správy identity pro tvorbu, čtení a aktualizaci uživatelského profilu pomocí jejich Ethereum peněženky od Nadera Dabita_
- [BrightID – Decentralizovaná identita na Ethereu](https://www.youtube.com/watch?v=D3DbMFYGRoM) — _epizoda podcastu Bankless o BrightID, decentralizovaném řešení identity pro Ethereum_
-- [Internet mimo blockchain: Decentralizovaná identita & Ověřitelné údaje](https://www.youtube.com/watch?v=EZ_Bb6j87mg) – EthDenver 2022 prezentace Evina McMullena
+- [Internet mimo blockchain: Decentralizovaná identita a Ověřitelné údaje](https://www.youtube.com/watch?v=EZ_Bb6j87mg) – EthDenver 2022 prezentace Evina McMullena
- [Vysvětlení ověřitelných pověření](https://www.youtube.com/watch?v=ce1IdSr-Kig) - Vysvětlující video na YouTube s demo ukázkou od Tamina Baumanna
### Komunity {#communities}
diff --git a/public/content/translations/cs/defi/index.md b/public/content/translations/cs/defi/index.md
index e0758c76801..9d6f89589dc 100644
--- a/public/content/translations/cs/defi/index.md
+++ b/public/content/translations/cs/defi/index.md
@@ -47,7 +47,7 @@ Jedním z nejlepších způsobů, jak vidět potenciál DeFi je pochopit problé
| Trhy jsou vždy otevřené. | Trhy se zavírají, protože zaměstnanci potřebují přestávky. |
| Je postaveno na transparentnosti – kdokoli se může podívat na data produktu a zkontrolovat, jak systém funguje. | Finanční instituce jsou uzavřeným účetnictvím: nemůžete je požádat o nahlédnutí do jejich úvěrové historie, záznamu o spravovaných aktivech apod. |
-
+
Objevte DeFi aplikace
@@ -65,7 +65,7 @@ Zní to zvláštně... "Proč bych chtěl programovat své peníze"? Toto je vš
Prozkoumejte naše návrhy pro DeFi aplikace a vyzkoušet je, pokud jste v Ethereu noví.
-
+
Objevte DeFi aplikace
@@ -92,7 +92,7 @@ Existuje decentralizovaná alternativa k většině finančních služeb. Ethere
Protože je Ethereum blockchain, je navržen pro zasílání bezpečných a celosvětových transakcí. Stejně jako Bitcoin umožňuje Ethereum posílat peníze po celém světě stejně snadno jako poslat e-mail. Stačí zadat příjemcovo [ENS jméno](/glossary/#ens) (např. bob.eth) nebo adresu jeho účtu z vaší peněženky a vaše platba mu (obvykle) během několika minut přijde. Chcete-li posílat nebo přijímat platby, budete potřebovat [peněženku](/wallets/).
-
+
Zobrazit platební dappky
@@ -123,7 +123,7 @@ Půjčování peněz od decentralizovaných poskytovatelů má dvě hlavní vari
- Peer-to-peer, což znamená, že si dlužník půjčí přímo od konkrétního věřitele.
- Poolové půjčky, kde věřitelé poskytují finanční prostředky (likviditu) do poolu, ze kterého si poté dlužníci mohou půjčovat.
-
+
Zobrazit dappky na půjčky
@@ -168,7 +168,7 @@ Pokud zásoby burzy B náhle poklesly a uživatel nebyl schopen koupit dostatek
Abyste mohli provést výše uvedený příklad v tradičním finančním systému, potřebovali byste obrovské množství peněz. Tyto strategie vydělávání peněz jsou přístupné pouze těm, kteří jsou již bohatí. Bleskové úvěry jsou příkladem budoucnosti, kdy mít peníze není nutně podmínkou pro jejich vydělávání.
-
+
Více o bleskových úvěrech
@@ -185,7 +185,7 @@ Půjčováním kryptoměn můžete vydělávat na úrocích a sledovat růst sv
- Váš aDai se bude zvyšovat na základě úrokových sazeb a v peněžence uvidíte rostoucí zůstatek. V závislosti na [APR](/glossary/#apr) bude zůstatek ve vaší peněžence po několika dnech nebo dokonce hodinách činit například 100,1234!
- Kdykoli si můžete vybrat částku běžných Dai, která se rovná vašemu zůstatku aDai.
-
+
Zobrazit dappky na půjčování
@@ -213,7 +213,7 @@ Na Ethereu jsou tisíce tokenů. Decentralizované burzy (DEXy) umožňují obch
Chcete-li se například zúčastnit bezztrátové loterie PoolTogether (popsané výše), budete potřebovat token Dai nebo USDC. Tyto DEXy vám umožní vyměnit ETH za tyto tokeny a zase zpět, až budete hotovi.
-
+
Zobrazit burzy tokenů
@@ -225,7 +225,7 @@ Pro obchodníky, kteří mají rádi větší kontrolu, jsou k dispozici pokroč
Když používáte centralizovanou burzu, musíte svá aktiva před obchodem uložit a důvěřovat jí, že se o ně postará. Zatímco jsou vaše aktiva uložena, jsou v ohrožení, protože centralizované burzy jsou atraktivním cílem pro hackery.
-
+
Zobrazit dappky na obchodování
@@ -237,7 +237,7 @@ Na Ethereu existují produkty pro správu fondů, které se snaží rozšířit
Dobrým příkladem je fond [DeFi Pulse Index (DPI)](https://defipulse.com/blog/defi-pulse-index/). Jedná se o fond, který se automaticky rebalancuje, aby vaše portfolio vždy zahrnovalo nejlepší DeFi tokeny podle tržní kapitalizace. Nikdy se nemusíte starat o žádné podrobnosti a z fondu můžete vybírat, kdykoli se vám zachce.
-
+
Zobrazit investiční dappky
@@ -251,7 +251,7 @@ Ethereum je ideální platformou pro crowdfunding:
- Je transparentní, takže sponzoři mohou prokázat, kolik peněz se podařilo vybrat. Později můžete dokonce sledovat, jak je s prostředky vynaloženo.
- Sponzoři mohou nastavit automatické vracení peněz, například pokud není dodržen určitý termín a minimální částka.
-
+
Zobrazit dappky na crowdfunding
@@ -280,7 +280,7 @@ Cílem decentralizovaného pojištění je zlevnit pojištění, urychlit výpla
Ethereum produkty, stejně jako ostatní software, mohou trpět chybami a zneužíváním. Mnoho pojišťovacích produktů v této oblasti se nyní zaměřuje na ochranu uživatelů před ztrátou finančních prostředků. Existují ale i projekty, které začínají vytvářet krytí pro všechno, co nám život může přinést. Dobrým příkladem je projekt společnosti Etherisc Crop, jehož cílem je [ochránit drobné zemědělce v Keni před suchem a povodněmi](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Decentralizované pojištění může poskytnout levnější krytí zemědělcům, kteří jsou často z tradičního pojištění vyřazeni.
-
+
Zobrazit dappky na pojištění
@@ -290,7 +290,7 @@ Ethereum produkty, stejně jako ostatní software, mohou trpět chybami a zneuž
Vzhledem k tomuto všemu potřebujete mít přehled o všech svých investicích, půjčkách a obchodech. Existuje celá řada produktů, které umožňují koordinovat všechny aktivity DeFi z jednoho místa. V tom spočívá krása otevřené architektury DeFi. Týmy mohou vytvořit rozhraní, ve kterých můžete nejen vidět své zůstatky napříč produkty, ale také používat jejich funkce. Mohlo by se vám to hodit, až budete prozkoumávat další části DeFi.
-
+
Zobrazit dappky na portfolia
@@ -322,7 +322,7 @@ O DeFi můžete přemýšlet ve vrstvách:
1. Blockchain – Ethereum obsahuje historii transakcí a stavy účtů.
2. Aktiva – [ETH](/eth/) a ostatní tokeny (měny).
3. Protokoly 2 [chytré kontrakty](/glossary/#smart-contract), které poskytují například službu umožňující decentralizované půjčování aktiv.
-4. [Aplikace](/dapps/) – produkty, které používáme ke správě a přístupu k protokolům.
+4. [Aplikace](/apps/) – produkty, které používáme ke správě a přístupu k protokolům.
Poznámka: Většina subjektů působících v DeFi používá [ERC-20 standard](/glossary/#erc-20). Aplikace v DeFi používají wrapper pro ETH, který je nazývá Wrapped Ether (WETH). [Další informace o WETH](/wrapped-eth).
@@ -355,3 +355,7 @@ DeFi je open-source hnutí. Všechny protokoly a aplikace DeFi jsou otevřené,
- [Server DeFi Llama na Discordu](https://discord.defillama.com/)
- [Server DeFi Pulse na Discordu](https://discord.gg/Gx4TCTk)
+
+
+
+
diff --git a/public/content/translations/cs/desci/index.md b/public/content/translations/cs/desci/index.md
index 6fb1352de16..11d702f8160 100644
--- a/public/content/translations/cs/desci/index.md
+++ b/public/content/translations/cs/desci/index.md
@@ -96,7 +96,7 @@ Podívejte se na níže uvedené projekty a zapojte se do DeSci komunity.
- [VitaDAO: Získávejte financování prostřednictvím sponzorovaných smluv o výzkumu pro výzkum dlouhověkosti](https://www.vitadao.com/)
- [ResearchHub: Publikujte vědecké výsledky a zapojte se do konverzace s kolegy](https://www.researchhub.com/)
- [LabDAO: Skládejte bílkoviny in-silico](https://alphafodl.vercel.app/)
-- [dClimate API: Poptávejte klimatická data shromážděná decentralizovanou komunitou](https://api.dclimate.net/)
+- [dClimate API: Poptávejte klimatická data shromážděná decentralizovanou komunitou](https://www.dclimate.net/)
- [DeSci Foundation: Publikační nástroj v rámci DeSci](https://descifoundation.org/)
- [DeSci.World: Jednotné kontaktní místo, kde se uživatelé mohou podívat a zapojovat do DeSci](https://desci.world)
- [OceanDAO: Financování řízené DAO pro vědu zabývající se daty](https://oceanprotocol.com/)
@@ -118,7 +118,7 @@ Uvítáme návrhy na nové projekty, které je třeba uvést na seznam – pro z
- [Průvodce decentralizovanou biotechnologií od Jocelynn Pearl pro budoucnost a16z](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [Případ pro DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [Průvodce DeSci](https://future.com/what-is-decentralized-science-aka-desci/)
-- [Decentralizované vědecké zdroje](https://www.vincentweisser.com/decentralized-science)
+- [Decentralizované vědecké zdroje](https://www.vincentweisser.com/desci)
- [Molecule's Biopharma IP-NFTs – technický popis](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [Budování důvěryhodných systémů vědy od Jona Starra](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Paul Kohlhaas – DeSci: Budoucnost decentralizované vědy (podcast)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a)
@@ -126,6 +126,7 @@ Uvítáme návrhy na nové projekty, které je třeba uvést na seznam – pro z
- [DeSci: Budoucnost výzkumu od Samuela Akinosho](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec)
- [Financování vědy (Epilolog: DeSci a nové krypto základní prvky) od Nadie](https://nadia.xyz/science-funding)
- [Decentralizace narušuje vývoj léků](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f)
+- [Co je DeSci – decentralizovaná věda?](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/)
### Videa {#videos}
@@ -134,3 +135,4 @@ Uvítáme návrhy na nové projekty, které je třeba uvést na seznam – pro z
- [Vědecké publikování je rozbité. Může ho opravit Web3?](https://www.youtube.com/watch?v=WkvzYgCvWj8)
- [Juan Benet – DeSci, nezávislé laboratoře & velké škálování Data Science](https://www.youtube.com/watch?v=zkXM9H90g_E)
- [Sebastian Brunemeier – Jak může DeSci transformovat biomedicínský výzkum & rizikový kapitál](https://www.youtube.com/watch?v=qB4Tc3FcVbM)
+- [Paige Donner - Tooling Open Science with Web3 & The Blockchain](https://www.youtube.com/watch?v=nC-2QWQ-lgw&t=17s)
diff --git a/public/content/translations/cs/developers/docs/blocks/index.md b/public/content/translations/cs/developers/docs/blocks/index.md
index 228d3cb6b54..d9b30aa3dd8 100644
--- a/public/content/translations/cs/developers/docs/blocks/index.md
+++ b/public/content/translations/cs/developers/docs/blocks/index.md
@@ -33,7 +33,7 @@ Důkaz podílem znamená následující:
- Ostatní validátoři, kteří se dozvědí o novém bloku, znovu provedou transakce, aby se ujistili, že souhlasí s navrženou změnou globálního stavu. Pokud je blok platný, přidají jej do své vlastní databáze.
- Pokud validátor obdrží informace o dvou konfliktních blocích pro stejný slot, použije svůj algoritmus pro volbu větve, aby vybral ten, který podpořilo nejvíce uzamčených ETH.
-[Více o proof of stake](/developers/docs/consensus-mechanisms/pos)
+[Více o důkazu podílem](/developers/docs/consensus-mechanisms/pos)
## Co je v bloku? {#block-anatomy}
diff --git a/public/content/translations/cs/developers/docs/dapps/index.md b/public/content/translations/cs/developers/docs/dapps/index.md
index e9ea700d0d6..4687126396f 100644
--- a/public/content/translations/cs/developers/docs/dapps/index.md
+++ b/public/content/translations/cs/developers/docs/dapps/index.md
@@ -82,7 +82,7 @@ Chytrý kontrakt je kód, který žije v blockchainu Etherea a běží přesně
## Další informace {#further-reading}
-- [Prozkoumat dappky](/dapps)
+- [Prozkoumat dappky](/apps)
- [The Architecture of a Web 3.0 application](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) – _Preethi Kasireddy_
- [A 2021 guide to decentralized applications](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) – _LimeChain_
- [What Are Decentralized Apps?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) – _Gemini_
diff --git a/public/content/translations/cs/developers/docs/evm/index.md b/public/content/translations/cs/developers/docs/evm/index.md
index 2d50ed440b8..b7cff65f1f8 100644
--- a/public/content/translations/cs/developers/docs/evm/index.md
+++ b/public/content/translations/cs/developers/docs/evm/index.md
@@ -4,7 +4,7 @@ description: Úvod do virtuálního stroje Etherea a jeho vztah ke stavu, transa
lang: cs
---
-Virtuální stroj Etherea (EVM) je decentralizované virtuální prostředí, které konzistentně a bezpečně vykonává kód na všech uzlech Etherea. Uzly spouštějí EVM, aby vykonávaly chytré kontrakty, přičemž používají "[jednotky](/gas/)" k měření výpočetního úsilí potřebného pro tyto [operace](/developers/docs/evm/opcodes/), což zajišťuje efektivní alokaci zdrojů a bezpečnost sítě.
+Virtuální stroj Etherea (EVM) je decentralizované virtuální prostředí, které konzistentně a bezpečně vykonává kód na všech uzlech Etherea. Uzly spouštějí EVM, aby vykonávaly chytré kontrakty, přičemž používají jednotky „[paliva](/developers/docs/gas/)“ k měření výpočetního úsilí potřebného pro tyto [operace](/developers/docs/evm/opcodes/), což zajišťuje efektivní alokaci zdrojů a bezpečnost sítě.
## Předpoklady {#prerequisites}
@@ -14,7 +14,7 @@ Pro pochopení EVM je nutné mít základní povědomí o běžné terminologii
Přirovnání k „distribuované účetní knize“ se často používá k popisu blockchainů, jako je Bitcoin, které mají decentralizovanou měnu s využitím základních nástrojů kryptografie. Účetní kniha udržuje záznam aktivit za současného dodržování souboru pravidel, která určují, co může a nemůže uživatel dělat při úpravě této knihy. Např. bitcoinová adresa nemůže utratit více Bitcoinů, než kolik jich předtím obdržela. Tato pravidla jsou základem všech transakcí na Bitcoinu a mnoha dalších blockchainech.
-Ethereum má svou vlastní nativní kryptoměnu (Ether), která se řídí téměř stejnými intuitivními pravidly, ale také umožňuje mnohem silnější funkci: [chytré kontrakty](/developers/docs/smart-contracts/). Pro tuto složitější funkci potřebujeme sofistikovanější přirovnání. Namísto distribuované účetní knihy je Ethereum distribuovaný [stavový stroj](https://wikipedia.org/wiki/Finite-state_machine). Stav Etherea je velká datová struktura, která obsahuje nejen všechny účty a zůstatky, ale také _stav stroje_, který se může měnit od bloku k bloku podle předem definovaného souboru pravidel a který může vykonávat libovolný strojový kód. Specifická pravidla pro změnu stavu od bloku k bloku jsou definována v EVM.
+Ethereum sice má vlastní nativní kryptoměnu (ether), která se řídí téměř stejnými intuitivními pravidly, ale zároveň umožňuje mnohem výkonnější funkce: [chytré kontrakty](/developers/docs/smart-contracts/). Pro tuto složitější funkci potřebujeme sofistikovanější přirovnání. Namísto distribuované účetní knihy je Ethereum distribuovaný [stavový stroj](https://wikipedia.org/wiki/Finite-state_machine). Stav Etherea je velká datová struktura, která obsahuje nejen všechny účty a zůstatky, ale také _stav stroje_, který se může měnit od bloku k bloku podle předem definovaného souboru pravidel a který může vykonávat libovolný strojový kód. Specifická pravidla pro změnu stavu od bloku k bloku jsou definována v EVM.
 _Schéma převzato z [ilustrace Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
diff --git a/public/content/translations/cs/developers/docs/gas/index.md b/public/content/translations/cs/developers/docs/gas/index.md
index 93a770fd010..706018c8e5d 100644
--- a/public/content/translations/cs/developers/docs/gas/index.md
+++ b/public/content/translations/cs/developers/docs/gas/index.md
@@ -1,5 +1,6 @@
---
title: Palivo a poplatky
+metaTitle: "Palivo a poplatky na Ethereu: technický přehled"
description:
lang: cs
---
@@ -105,7 +106,7 @@ Ačkoliv transakce obsahuje limit, palivo nevyužité během transakce se vrací
Limit paliva označuje maximální množství paliva, které jste ochotni za transakci utratit. Složitější transakce zahrnující [chytré kontrakty](/developers/docs/smart-contracts/) potřebují více výpočetního výkonu, a proto vyžadují vyšší limit paliva než jednoduchá platba. Standardní převod ETH vyžaduje limit paliva 21 000 jednotek.
-Např. pokud nastavíte limit paliva na 50 000 pro jednoduchý převod ETH, EVM spotřebuje 21 000 a zbývajících 29 000 se vám vrátí. Pokud však nastavíte příliš nízký limit, např. 20 000 pro jednoduchý převod ETH, EVM spotřebuje vašich 20 000 jednotek paliva při pokusu o provedení transakce, ale nedokončí ji. EVM poté jakékoli změny smaže, ale protože validátor už udělal práci za 20 000 jednotek paliva, je toto palivo spotřebováno.
+Např. pokud nastavíte limit paliva na 50 000 pro jednoduchý převod ETH, EVM spotřebuje 21 000 a zbývajících 29 000 se vám vrátí. Pokud však zadáte příliš málo paliva, například limit paliva 20 000 pro jednoduchý převod ETH, transakce ve fázi validace selže. Bude odmítnuta před zařazením do bloku a nebude spotřebováno žádné palivo. Na druhou stranu, pokud transakci během provádění dojde palivo (např. chytrý kontrakt spotřebuje v polovině provádění veškeré palivo), EVM vrátí všechny změny, ale veškeré poskytnuté palivo bude stále spotřebováno na provedenou práci.
## Proč mohou být poplatky za palivo tak vysoké? {#why-can-gas-fees-get-so-high}
@@ -122,6 +123,7 @@ Primární iniciativou ke snížení palivových nákladů a zlepšení uživate
Pokud chcete monitorovat poplatky za palivo, abyste mohli odesílat své ETH za nižší ceny, můžete využít několik různých nástrojů, např.:
- [Etherscan](https://etherscan.io/gastracker) – _odhad ceny paliva za transakci_
+- [ETH tracker paliva](https://www.ethgastracker.com/) _Monitorujte a sledujte ceny paliva na Ethereu a vrstvě 2, abyste snížili transakční poplatky a ušetřili peníze_
- [Blocknative ETH Gas Estimator](https://chrome.google.com/webstore/detail/blocknative-eth-gas-estim/ablbagjepecncofimgjmdpnhnfjiecfm) – _rozšíření pro prohlížeč Chrome odhadující poplatky za palivo, které podporuje jak typ 0 legacy transakce, tak typ 2 transakce EIP-1559_
- [Cryptoneur Gas Fees Calculator](https://www.cryptoneur.xyz/gas-fees-calculator) – _kalkulačka poplatků za palivo v místní měně pro různé typy transakcí na hlavní síti, Arbitru a Polygonu_
@@ -137,3 +139,4 @@ Pokud chcete monitorovat poplatky za palivo, abyste mohli odesílat své ETH za
- [Strategie optimalizace paliva pro vývojáře](https://www.alchemy.com/overviews/solidity-gas-optimization)
- [Dokumentace EIP-1559](https://eips.ethereum.org/EIPS/eip-1559)
- [Zdroje k EIP-1559 od Tima Beika](https://hackmd.io/@timbeiko/1559-resources)
+- [EIP-1559: Oddělování mechanismů od memů](https://research.2077.xyz/eip-1559-separating-mechanisms-from-memes)
diff --git a/public/content/translations/cs/developers/docs/intro-to-ether/index.md b/public/content/translations/cs/developers/docs/intro-to-ether/index.md
index dafece75c42..f877b92093f 100644
--- a/public/content/translations/cs/developers/docs/intro-to-ether/index.md
+++ b/public/content/translations/cs/developers/docs/intro-to-ether/index.md
@@ -22,11 +22,11 @@ První kryptoměnou byl Bitcoin, který vytvořil Satoshi Nakamoto. Od spuštěn
Ethereum umožňuje vývojářům vytvářet [**decentralizované aplikace (dappky)**](/developers/docs/dapps), které sdílejí společný fond výpočetního výkonu. Tento sdílený fond je omezený, takže Ethereum potřebuje mechanismus, který určí, kdo ho může používat. Jinak by mohla dappka omylem nebo záměrně spotřebovat všechny síťové zdroje, což by znemožnilo přístup ostatním.
-Kryptoměna ether podporuje mechanismus stanovení cen pro výpočetní výkon Etherea. Když uživatelé chtějí provést transakci, musí zaplatit ethereum, aby byla jejich transakce na blockchainu uznána. Tyto náklady jsou známé jako [poplatky za palivo](/developers/docs/gas/) a výše poplatku závisí na množství výpočetního výkonu potřebného k provedení transakce a na celosíťové poptávce po výpočetním výkonu v daném okamžiku.
+Kryptoměna ether podporuje mechanismus stanovení cen pro výpočetní výkon Etherea. Když uživatelé chtějí provést transakci, musí zaplatit Ethereum, aby byla jejich transakce na blockchainu uznána. Tyto náklady jsou známé jako [poplatky za palivo](/developers/docs/gas/) a výše poplatku závisí na množství výpočetního výkonu potřebného k provedení transakce a na celosíťové poptávce po výpočetním výkonu v daném okamžiku.
Proto, i když by škodlivá dappka odeslala nekonečnou smyčku, transakci by nakonec došel ether a byla by ukončena, což by umožnilo síti vrátit se do normálu.
-[Často](https://www.reuters.com/article/us-crypto-currencies-lending-insight-idUSKBN25M0GP#:~:text=price%20of%20ethereum) [dochází k](https://abcnews.go.com/Business/bitcoin-slumps-week-low-amid-renewed-worries-chinese/story?id=78399845#:~:text=cryptocurrencies%20including%20ethereum) [záměně](https://www.cnn.com/2021/03/14/tech/nft-art-buying/index.html#:~:text=price%20of%20ethereum) Etherea a etheru — když lidé odkazují na „cenu Etherea“, popisují cenu etheru.
+Je [běžné zaměňovat](https://abcnews.go.com/Business/bitcoin-slumps-week-low-amid-renewed-worries-chinese/story?id=78399845) Ethereum a ether – když se lidé zmiňují o „ceně Etherea“, popisují cenu etheru.
## Ražba etheru {#minting-ether}
@@ -40,7 +40,7 @@ Kromě vytváření etheru prostřednictvím odměn za bloky může být ether t
K pálení etheru dochází při každé transakci na Ethereu. Když uživatelé platí za transakce, základní poplatek za palivo, který je stanoven sítí podle poptávky po transakcích, je zničen. Tento proces, ve spojení s proměnlivými velikostmi bloků a maximálním poplatkem za palivo, zjednodušuje odhad poplatků za transakce na Ethereu. Když je poptávka po síti vysoká, [bloky](https://etherscan.io/block/12965263) mohou spálit více etheru, než kolik se vyrazí, což efektivně kompenzuje vydávání nových etherů.
-Pálení základního poplatku omezuje schopnost producenta bloku manipulovat s transakcemi. Např. kdyby producenti bloků dostávali základní poplatek, mohli by zahrnout své vlastní transakce zdarma a zvýšit základní poplatek pro všechny ostatní. Alternativně by mohli vrátit základní poplatek některým uživatelům mimo řetězec, což by vedlo k méně transparentnímu a složitějšímu trhu s transakčními poplatky.
+Pálení základního poplatku omezuje schopnost producenta bloku manipulovat s transakcemi. Např. kdyby producenti bloků dostávali základní poplatek, mohli by zahrnout své vlastní transakce zdarma a zvýšit základní poplatek pro všechny ostatní. Alternativně by mohli vrátit základní poplatek některým uživatelům mimo blockchain, což by vedlo k méně transparentnímu a složitějšímu trhu s transakčními poplatky.
## Denominace etheru {#denominations}
@@ -71,8 +71,8 @@ Uživatelé mohou zjistit zůstatek etheru na jakémkoliv [účtu](/developers/d
## Další informace {#further-reading}
-- [Definování Etheru a Etherea](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _CME Group_
+- [Definování etheru a Etherea](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _CME Group_
- [Ethereum Whitepaper](/whitepaper/): Původní návrh Etherea. Tento dokument obsahuje popis etheru a motivaci za jeho vytvořením.
-- [Kalkulačka gwei](https://www.alchemy.com/gwei-calculator): Použijte tuto kalkulačku gwei pro snadnou konverzi mezi wei, gwei a ethereum. Stačí zadat jakoukoliv částku ve wei, gwei nebo ETH a automaticky vypočítat konverzi.
+- [Kalkulačka gwei](https://www.alchemy.com/gwei-calculator): Použijte tuto kalkulačku gwei pro snadnou konverzi mezi wei, gwei a ether. Stačí zadat jakoukoliv částku ve wei, gwei nebo ETH a automaticky vypočítat konverzi.
_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/networks/index.md b/public/content/translations/cs/developers/docs/networks/index.md
index b69c17d322f..cd11b69763e 100644
--- a/public/content/translations/cs/developers/docs/networks/index.md
+++ b/public/content/translations/cs/developers/docs/networks/index.md
@@ -4,7 +4,7 @@ description: Přehled sítí Etherea a návod, kde získat ether (ETH) testovac
lang: cs
---
-Sítě Etherea jsou skupiny propojených počítačů, které komunikují pomocí protokolu Ethereum. Existuje pouze jedna hlavní síť Etherea, ale nezávislé sítě, které dodržují stejná pravidla protokolu, mohou být vytvořeny pro testovací a vývojové účely. Existuje mnoho nezávislých „sítí“, které dodržují protokol, aniž by mezi sebou komunikovaly. Můžete si dokonce spustit vlastní síť na svém počítači k testování chytrých kontraktů a web3 aplikací.
+Sítě Etherea jsou skupiny propojených počítačů, které komunikují pomocí protokolu Ethereum. Existuje pouze jedna hlavní síť Etherea, ale nezávislé sítě, které dodržují stejná pravidla protokolu, mohou být vytvořeny pro testovací a vývojové účely. Existuje mnoho nezávislých "sítí", které dodržují protokol, aniž by mezi sebou komunikovaly. Můžete si dokonce spustit vlastní síť na svém počítači k testování chytrých kontraktů a web3 aplikací.
Váš účet na Ethereu bude fungovat na různých sítích, ale zůstatek na účtu a historie transakcí se nepřenesou z hlavní sítě Etherea. Pro testovací účely je užitečné vědět, které sítě jsou k dispozici a jak získat ETH testovací sítě, abyste mohli experimentovat. Obecně platí, že z bezpečnostních důvodů se nedoporučuje používat účty z hlavní sítě na testovacích sítích nebo naopak.
@@ -34,7 +34,7 @@ ETH na testovacích sítích nemá mít žádnou skutečnou hodnotu. Přesto vzn
#### Kterou testovací síť bych měl/a použít?
-Dvě veřejné testovací sítě, které aktuálně udržují vývojáři klientů, jsou Sepolia a Goerli. Sepolia je síť pro vývojáře kontraktů a aplikací, kteří je chtějí otestovat. Síť Goerli umožňuje vývojářům protokolu testovat vylepšení sítě a také umožňuje uzamykatelům zkoušet provozování validátorů.
+Dvě veřejné testovací sítě, které aktuálně udržují vývojáři klientů, jsou Sepolia a Hoodi. Sepolia je síť pro vývojáře kontraktů a aplikací, kteří je chtějí otestovat. Síť Hoodi umožňuje vývojářům protokolu testovat vylepšení sítě a také umožňuje uzamykatelům zkoušet provozování validátorů.
#### Sepolia {#sepolia}
@@ -60,14 +60,12 @@ Dvě veřejné testovací sítě, které aktuálně udržují vývojáři klient
- [Coinbase Wallet Faucet | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet)
- [Alchemy Sepolia faucet](https://sepoliafaucet.com/)
- [Infura Sepolia faucet](https://www.infura.io/faucet)
-- [Chainstack Sepolia faucet](https://faucet.chainstack.com/sepolia-faucet)
+- [Chainstack Sepolia faucet](https://faucet.chainstack.com/sepolia-testnet-faucet)
- [Ethereum Ecosystem faucet](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
-#### Goerli _(dlouhodobá podpora)_ {#goerli}
+#### Hoodi {#hoodi}
-_Poznámka: [Testovací síť Goerli je zastaralá](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) a v roce 2023 bude nahrazena testovací sítí [Holesovice](https://github.com/eth-clients/holesovice). Zvažte přesun aplikací na testovací síť Sepolia._
-
-Goerli je testovací síť pro testování validace a uzamčení. Síť Goerli je otevřená uživatelům, kteří chtějí provozovat validátor na testovací síti. Uzamykatelé, kteří chtějí testovat vylepšení protokolu před jejich nasazením na hlavní síť, by proto měli používat Goerli.
+Hoodi je testovací síť pro testování validace a uzamčení. Síť Hoodi je otevřená uživatelům, kteří chtějí provozovat validátor na testovací síti. Uzamykatelé, kteří chtějí testovat vylepšení protokolu před jejich nasazením na hlavní síť, by proto měli používat Hoodi.
- Otevřená sada validátorů, uzamykatelé mohou testovat vylepšení sítě
- Obsáhlý stav, užitečné pro testování složitých interakcí chytrých kontraktů
@@ -75,56 +73,50 @@ Goerli je testovací síť pro testování validace a uzamčení. Síť Goerli j
##### Zdroje
-- [Web](https://goerli.net/)
-- [GitHub](https://github.com/eth-clients/goerli)
-- [Etherscan](https://goerli.etherscan.io)
-- [Blockscout](https://eth-goerli.blockscout.com/)
+- [Web](https://hoodi.ethpandaops.io/)
+- [GitHub](https://github.com/eth-clients/hoodi)
+- [Explorer](https://explorer.hoodi.ethpandaops.io/)
+- [Checkpoint Sync](https://checkpoint-sync.hoodi.ethpandaops.io/)
##### Faucety
-- [QuickNode Goerli Faucet](https://faucet.quicknode.com/drip)
-- [Grabteeth](https://grabteeth.xyz/)
-- [PoW faucet](https://goerli-faucet.pk910.de/)
-- [Paradigm faucet](https://faucet.paradigm.xyz/)
-- [Alchemy Goerli Faucet](https://goerlifaucet.com/)
-- [All That Node Goerli Faucet](https://www.allthatnode.com/faucet/ethereum.dsrv)
-- [Coinbase Wallet Faucet | Goerli](https://coinbase.com/faucets/ethereum-goerli-faucet)
-- [Chainstack Goerli faucet](https://faucet.chainstack.com/goerli-faucet)
+- [Hoodi Faucet](https://hoodi.ethpandaops.io/)
-Chcete-li spustit validátor na testovací síti Goerli, použijte [launchpad „cheap goerli validator“](https://holesky.launchpad.ethstaker.cc/en/) od ethstaker.
+Ke spuštění validátoru na testovací síti Hoodi použijte [Hoodi launchpad](https://hoodi.launchpad.ethereum.org/en/).
### Testovací sítě druhé vrstvy {#layer-2-testnets}
[Druhá vrstva (L2)](/layer-2/) je souhrnný termín pro popis specifických sad škálovacích řešení Etherea. Druhá vrstva je samostatný blockchain, který rozšiřuje Ethereum a dědí jeho bezpečnostní záruky. Testovací sítě druhé vrstvy jsou obvykle úzce spojeny s veřejnými testovacími sítěmi Etherea.
-#### Arbitrum Goerli {#arbitrum-goerli}
+#### Arbitrum Sepolia {#arbitrum-sepolia}
Testovací síť pro [Arbitrum](https://arbitrum.io/).
##### Faucety
-- [Chainlink faucet](https://faucets.chain.link/)
+- [Chainlink faucet](https://faucets.chain.link/arbitrum-sepolia)
+- [Alchemy faucet](https://www.alchemy.com/faucets/arbitrum-sepolia)
-#### Optimistic Goerli {#optimistic-goerli}
+#### Optimistic Sepolia {#optimistic-sepolia}
Testovací síť pro [Optimism](https://www.optimism.io/).
##### Faucety
-- [Paradigm faucet](https://faucet.paradigm.xyz/)
-- [Coinbase Wallet Faucet | Optimism Goerli](https://coinbase.com/faucets/optimism-goerli-faucet)
+- [Chainlink faucet](https://faucets.chain.link/optimism-sepolia)
+- [Alchemy faucet](https://www.alchemy.com/faucets/optimism-sepolia)
-#### Starknet Goerli {#starknet-goerli}
+#### Starknet Sepolia {#starknet-sepolia}
Testovací síť pro [Starknet](https://www.starknet.io).
##### Faucety
-- [Starknet faucet](https://faucet.goerli.starknet.io)
+- [Alchemy faucet](https://www.alchemy.com/faucets/starknet-sepolia)
## Privátní sítě {#private-networks}
-Síť Etherea je privátní, pokud její uzly nejsou připojeny k veřejné síti (tj. hlavní nebo testovací síť). V tomto kontextu znamená „privátní“ pouze vyhrazená nebo izolovaná, spíše než chráněná nebo bezpečná.
+Síť Etherea je privátní, pokud její uzly nejsou připojeny k veřejné síti (tj. hlavní nebo testovací síť). V tomto kontextu znamená "privátní" pouze vyhrazená nebo izolovaná, spíše než chráněná nebo bezpečná.
### Vývojové sítě {#development-networks}
diff --git a/public/content/translations/cs/developers/docs/scaling/index.md b/public/content/translations/cs/developers/docs/scaling/index.md
index 8f6a73bd28a..f73b841b924 100644
--- a/public/content/translations/cs/developers/docs/scaling/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/index.md
@@ -100,13 +100,13 @@ _Upozornění: Ve videu je pojem „Vrstva 2“ používán k označení všech
## Další informace {#further-reading}
-- [A rollup-centric Ethereum roadmap](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)– _Vitalik Buterin_
+- [A rollup-centric Ethereum roadmap](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) – _Vitalik Buterin_
- [Aktuální analytika škálovacích řešení vrstvy 2 pro Ethereum](https://www.l2beat.com/)
- [Hodnocení škálovacích řešení vrstvy 2 pro Ethereum: Porovnávací rámec](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955)
- [Neúplný průvodce rollupy](https://vitalik.eth.limo/general/2021/01/05/rollup.html)
- [Ethereum-powered ZK-Rollups: Světoví šampioni](https://hackmd.io/@canti/rkUT0BD8K)
- [Optimistické rollupy vs ZK Rollupy](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/)
-- [Zero-Knowledge Blockchain Scalability](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
+- [Zero-Knowledge Blockchain Scalability](https://www.archblock.com/poland/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
- [Proč jsou rollupy + data shards jediným udržitelným řešením vysoké škálovatelnosti](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48)
- [Jaké vrstvy 3 dávají smysl?](https://vitalik.eth.limo/general/2022/09/17/layer_3.html)
- [Dostupnost dat: Jak se rollupy přestaly bát a začaly milovat Ethereum](https://ethereum2077.substack.com/p/data-availability-in-ethereum-rollups)
diff --git a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
index b23ece70a06..966d0625f8c 100644
--- a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md
@@ -253,17 +253,11 @@ Učíte se spíše vizuálně? Podívejte se na video od Finematics, které vysv
-### Použití optimistických rollupů {#use-optimistic-rollups}
-
-Existuje několik implementací optimistických rollupů, které můžete integrovat do svých dappek:
-
-
-
## Další čtení o optimistických rollupech
- [Jak fungují optimistické rollupy (kompletní průvodce)](https://www.alchemy.com/overviews/optimistic-rollups)
- [Co je to Blockchain Rollup? Technický úvod](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction)
-- [Zásadní průvodce pro Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum)
-- [Jak skutečně funguje rollup od Optimism?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work)
+- [Zásadní průvodce pro Arbitrum](https://www.bankless.com/the-essential-guide-to-arbitrum)
+- [Jak skutečně funguje rollup od Optimism?](https://www.paradigm.xyz/2021/01/how-does-optimism-s-rollup-really-work)
- [Hloubkový rozbor OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
- [Co je to Virtuální stroj Optimistic?](https://www.alchemy.com/overviews/optimistic-virtual-machine)
diff --git a/public/content/translations/cs/developers/docs/scaling/state-channels/index.md b/public/content/translations/cs/developers/docs/scaling/state-channels/index.md
new file mode 100644
index 00000000000..9b63fd7bdaf
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/scaling/state-channels/index.md
@@ -0,0 +1,261 @@
+---
+title: Stavové kanály
+description: Úvod do stavových kanálů a platebních kanálů jako škálovacího řešení, které v současné době využívá komunita Etherea.
+lang: cs
+sidebarDepth: 3
+---
+
+Stavové kanály umožňují účastníkům bezpečně transakčně komunikovat mimo řetězec, přičemž minimalizují interakci s Ethereum Mainnetem. Partneři v tomto kanálu mohou provést libovolný počet transakcí mimo řetězec, přičemž na řetězec se zapisují pouze dvě transakce – jedna pro otevření kanálu a druhá pro jeho uzavření. Tím je dosaženo extrémně vysoké propustnosti transakcí a nižších nákladů pro uživatele.
+
+## Prerequisites {#prerequisites}
+
+Měli byste mít přečteny naše stránky o [škálování Etherea](/developers/docs/scaling/) a [vrstvě 2](/layer-2/).
+
+## Co to jsou kanály? {#what-are-channels}
+
+Veřejné blockchainy, jako je Ethereum, čelí výzvám v oblasti škálovatelnosti kvůli své distribuované architektuře: transakce na řetězci musí být vykonány všemi síťovými uzly. Ty musí být schopny zpracovat objem transakcí v bloku s použitím běžného hardwaru, což omezuje propustnost transakcí za účelem zachování decentralizace sítě. Blockchainové kanály tento problém řeší tím, že uživatelům umožňují komunikovat mimo řetězec a přitom se při konečném vypořádání stále spoléhat na bezpečnost hlavního řetězce.
+
+Kanály jsou jednoduché peer-to-peer protokoly, které umožňují dvěma stranám provést mnoho transakcí mezi sebou a poté na blockchain zveřejnit pouze konečné výsledky. Kanál využívá kryptografii k prokázání, že souhrnná data, která generují, jsou skutečně výsledkem platné sady mezitransakcí. Chytrý kontrakt typu [„multisig“](/developers/docs/smart-contracts/#multisig) zajišťuje, že transakce jsou podepsány správnými stranami.
+
+Ve stavových kanálech jsou změny stavu prováděny a ověřovány zainteresovanými stranami, což minimalizuje výpočty na exekuční vrstvě Etherea. To snižuje přetížení na Ethereu a zároveň zvyšuje rychlost zpracování transakcí uživatelů.
+
+Každý kanál je spravován [chytrým kontraktem typu multisig](/developers/docs/smart-contracts/#multisig) běžícím na Ethereu. K otevření kanálu účastníci nasadí kontrakt kanálu na řetězec a vloží do něj prostředky. Obě strany společně podepíší aktualizaci stavu, aby inicializovaly stav kanálu, po čemž mohou rychle a volně transakčně komunikovat mimo řetězec.
+
+K uzavření kanálu účastníci předloží na řetězec poslední dohodnutý stav kanálu. Poté chytrý kontrakt rozdělí uzamčené prostředky podle zůstatku každého účastníka v konečném stavu kanálu.
+
+Peer-to-peer kanály jsou užitečné zejména v situacích, kdy někteří účastníci chtějí provádět transakce s vysokou frekvencí bez viditelné režie. Blockchainové kanály spadají do dvou kategorií: **platební kanály** a **stavové kanály**.
+
+## Platební kanály {#payment-channels}
+
+Platební kanál je nejlépe popsán jako „obousměrná účetní kniha“, kterou společně spravují dva uživatelé. Počáteční zůstatek účetní knihy je součtem vkladů uzamčených v on-chain kontraktu během fáze otevření kanálu. Převody v platebním kanálu mohou být prováděny okamžitě a bez zapojení samotného blockchainu, s výjimkou počátečního jednorázového vytvoření kanálu na řetězci a jeho pozdějšího uzavření.
+
+Aktualizace zůstatku účetní knihy (tj. stavu platebního kanálu) vyžaduje souhlas všech stran v kanálu. Aktualizace kanálu, podepsaná všemi účastníky kanálu, je považována za konečnou, podobně jako transakce na Ethereu.
+
+Platební kanály patřily mezi první škálovací řešení navržená k minimalizaci drahých on-chain aktivit nebo jednoduchých uživatelských interakcí (např. převody ETH, atomické směny, převody malých částek). Účastníci kanálu mohou mezi sebou provádět neomezené množství okamžitých, bezpoplatkových transakcí, dokud čistá suma jejich převodů nepřekročí vložené tokeny.
+
+## Stavové kanály {#state-channels}
+
+Kromě podpory off-chain plateb se platební kanály neukázaly býti užitečnými pro zpracování obecné logiky změny stavu. Stavové kanály byly vytvořeny k vyřešení tohoto problému a ke zpřístupnění kanálů pro škálování obecného výpočtu.
+
+Stavové kanály mají stále mnoho společného s platebními kanály. Například uživatelé komunikují výměnou kryptograficky podepsaných zpráv (transakcí), které musí podepsat i ostatní účastníci kanálu. Pokud navrhovaná aktualizace stavu není podepsána všemi účastníky, je považována za neplatnou.
+
+Nicméně kromě držení zůstatků uživatelů kanál také sleduje aktuální stav úložiště kontraktu (tj. hodnoty proměnných kontraktu).
+
+To umožňuje exekuovat chytrý kontrakt mimo řetězec mezi dvěma uživateli. V tomto scénáři vyžadují aktualizace interního stavu chytrého kontraktu pouze souhlas partnerů, kteří kanál vytvořili.
+
+I když toto řeší dříve popsaný problém se škálovatelností, má to vliv na bezpečnost. Na Ethereu je platnost přechodů stavu vynucována konsenzuálním protokolem sítě. To znemožňuje navrhnout neplatnou aktualizaci stavu chytrého kontraktu nebo změnit exekuci chytrého kontraktu.
+
+Stavové kanály nemají stejné bezpečnostní záruky. Do určité míry je stavový kanál miniaturou Mainnetu. S omezeným počtem účastníků, kteří vynucují pravidla, se zvyšuje možnost podvodů (např. návrhu neplatných aktualizací stavu). Stavové kanály odvozují svoji bezpečnost z arbitrážního systému založeného na [důkazech podvodu](/glossary/#fraud-proof).
+
+## Jak stavové kanály fungují {#how-state-channels-work}
+
+V podstatě je aktivita ve stavovém kanálu relací interakcí zahrnujících uživatele a blockchainový systém. Uživatelé většinou komunikují mezi sebou mimo řetězec a s podkladovým blockchainem interagují pouze k otevření kanálu, uzavření kanálu nebo k řešení potenciálních sporů mezi účastníky.
+
+Následující část popisuje základní pracovní tok stavového kanálu:
+
+### Otevření kanálu {#opening-the-channel}
+
+Otevření kanálu vyžaduje, aby účastníci vložili prostředky do chytrého kontraktu na Mainnetu. Tento vklad také funguje jako virtuální účet, takže účastníci mohou volně transakčně komunikovat bez potřeby okamžitého vypořádání plateb. Strany si vyrovnají své zůstatky a vyberou zbylé prostředky pouze tehdy, když je kanál uzavřen.
+
+Tento vklad také slouží jako záruka čestného chování každého účastníka. Pokud jsou vkladatelé během fáze řešení sporů shledáni vinnými z nekalých praktik, kontrakt jim jejich vklad sníží.
+
+Partneři v kanálu musí podepsat počáteční stav, na kterém se všichni shodnou. Tento stav slouží jako geneze stavového kanálu a poté mohou uživatelé začít transakčně komunikovat.
+
+### Používání kanálu {#using-the-channel}
+
+Po inicializaci stavu kanálu partneři komunikují podepisováním transakcí a jejich zasíláním ostatním ke schválení. Účastníci pomocí těchto transakcí zahajují aktualizace stavu a podepisují aktualizace stavu od ostatních. Každá transakce obsahuje následující:
+
+- **Nonce**, tedy jedinečné číslo, které funguje jako unikátní ID transakcí a zabraňuje útokům opětovným opakováním transakcí. Také identifikuje pořadí, ve kterém došlo k aktualizacím stavu (což je důležité pro řešení sporů)
+
+- Starý stav kanálu
+
+- Nový stav kanálu
+
+- Transakce, která spouští změnu stavu (např. Alice pošle Bobovi 5 ETH)
+
+Aktualizace stavu v kanálu se neposílají na řetězec, jak se to obvykle dělá, když uživatelé interagují na Mainnetu, což je v souladu s cílem stavových kanálů minimalizovat stopu na řetězci. Pokud účastníci souhlasí s aktualizacemi stavu, jsou stejně závazné jako transakce na Ethereu. Účastníci se musí spoléhat na konsenzuální mechanismus Mainnetu pouze v případě sporu.
+
+### Zavírání kanálu {#closing-the-channel}
+
+Uzavření stavového kanálu vyžaduje předložení konečného, dohodnutého stavu kanálu on-chain chytrého kontraktu. Podrobnosti uvedené v aktualizaci stavu zahrnují počet kroků každého účastníka a seznam schválených transakcí.
+
+Po ověření, že je aktualizace stavu platná (tj. je podepsána všemi stranami), chytrý kontrakt kanálu uzavře a rozdělí uzamčené prostředky podle výsledku kanálu. Platby provedené mimo řetězec se aplikují na stav Etherea a každý účastník obdrží svou zbývající část uzamčených prostředků.
+
+Výše popsaný scénář představuje, co se děje v ideálním případě. Někdy se však může stát, že uživatelé nedosáhnou dohody a kanál neuzavřou (takzvaný „nešťastný případ“). Může nastat některá z následujících situací:
+
+- Účastníci přestanou být online a nepodaří se jim navrhnout přechody stavu
+
+- Účastníci odmítnou spolupodepsat platné aktualizace stavu
+
+- Účastníci se pokusí uzavřít kanál tím, že navrhnou starou aktualizaci stavu on-chain kontraktu
+
+- Účastníci navrhnou neplatné přechody stavu k podepsání ostatním
+
+Kdykoliv dojde k rozpadu konsenzu mezi účastníky kanálu, poslední možností je spolehnout se na konsenzuální mechanismus Mainnetu k vynucení konečného, platného stavu kanálu. V tomto případě vyžaduje uzavření stavového kanálu vyřešení sporů on-chain.
+
+### Řešení sporů {#settling-disputes}
+
+Obvykle se strany v kanálu předem dohodnou na uzavření kanálu a spolupodepíší poslední přechod stavu, který předloží chytrému kontraktu. Jakmile je aktualizace on-chain schválena, exekuce off-chain chytrého kontraktu končí a účastníci vystoupí z kanálu se svými prostředky.
+
+Nicméně jedna strana může předložit on-chain žádost o ukončení exekuce chytrého kontraktu a uzavření kanálu – aniž by čekala na schválení od druhé strany. Pokud nastane některá z výše popsaných situací narušujících konsenzus, může kterákoli ze stran aktivovat on-chain kontrakt k uzavření kanálu a distribuci finančních prostředků. Tím je zajištěna **nezávislost na důvěře**, což zaručuje, že poctivé strany mohou kdykoliv vybrat své vklady, bez ohledu na akce druhé strany.
+
+Pro zpracování výstupu z kanálu musí uživatel předložit on-chain kontraktu poslední platnou aktualizaci stavu aplikace. Pokud je tato aktualizace schválena (tj. nese podpis všech stran), prostředky jsou přerozděleny v jejich prospěch.
+
+Existuje však zpoždění při provádění žádostí o výstup od jediné strany. Pokud byla žádost o uzavření kanálu jednomyslně schválena, pak je on-chain výstupní transakce provedena okamžitě.
+
+Zpoždění nastává při žádosti o výstup jen od jediné strany a to z důvodu možnosti podvodných akcí. Například účastník kanálu se může pokusit uzavřít kanál na Ethereu předložením starší aktualizace stavu on-chain.
+
+Jako protiopatření umožňují stavové kanály poctivým uživatelům napadnout neplatné aktualizace stavu předložením nejnovějšího platného stavu kanálu on-chain. Stavové kanály jsou navrženy tak, že novější, domluvené aktualizace stavu mají přednost před staršími aktualizacemi stavu.
+
+Jakmile některá ze stran vyvolá on-chain systém řešení sporů, druhá strana je povinna odpovědět v časovém limitu (tzv. „okno pro výzvy“). To umožňuje uživatelům napadnout výstupní transakci, zejména pokud druhá strana uplatňuje zastaralou aktualizaci.
+
+Ať už je situace jakákoliv, uživatelé kanálu mají vždy silné záruky finálnosti: Pokud je přechod stavu, který mají k dispozici, podepsán všemi členy a je to nejnovější aktualizace, má stejnou finálnost jako běžná on-chain transakce. Stále musí na řetězci vyzvat druhou stranu, ale jediným možným výsledkem je finalizace posledního platného stavu, který drží.
+
+### Jak stavové kanály interagují s Ethereem? {#how-do-state-channels-interact-with-ethereum}
+
+Ačkoli existují jako off-chain protokoly, stavové kanály mají on-chain komponentu: chytrý kontrakt nasazený na Ethereu při otevření kanálu. Tento kontrakt kontroluje aktiva vložená do kanálu, ověřuje aktualizace stavu a řeší spory mezi účastníky.
+
+Stavové kanály nepublikují transakční data ani závazky stavu na Mainnetu, na rozdíl od škálovacích řešení [vrstvy 2](/layer-2/). Jsou však více propojeny s Mainnetem než například [postranní řetězce](/developers/docs/scaling/sidechains/), takže jsou o něco bezpečnější.
+
+Stavové kanály se spoléhají na hlavní protokol Etherea v následujících bodech:
+
+#### 1. Dostupnost {#liveness}
+
+On-chain kontrakt nasazený při otevření kanálu je zodpovědný za funkčnost kanálu. Pokud kontrakt běží na Ethereu, pak je kanál vždy dostupný k použití. Naopak postranní řetězec může kdykoliv selhat, i když je Mainnet funkční, čímž jsou ohroženy prostředky uživatelů.
+
+#### 2. Bezpečnost {#security}
+
+Do určité míry se stavové kanály pro zajištění bezpečnosti a ochranu uživatelů před podvodníky spoléhají na Ethereum. Kanály používají mechanismus důkazu podvodu, který umožňuje uživatelům napadnout pokusy o uzavření kanálu s neplatnou nebo zastaralou aktualizací, což více rozebereme níže.
+
+V takovém případě poskytuje poctivá strana nejnovější platný stav kanálu on-chain kontraktu k ověření jako důkaz podvodu. Důkazy podvodu umožňují vzájemně nedůvěřivým stranám provádět transakce mimo řetězec, aniž by při tom riskovaly své prostředky.
+
+#### 3. Konečnost {#finality}
+
+Aktualizace stavu kolektivně podepsané uživateli kanálu jsou považovány za stejně dobré jako on-chain transakce. Přesto veškerá aktivita v kanálu dosáhne skutečné finálnosti až tehdy, když je kanál uzavřen na Ethereu.
+
+V optimistickém případě mohou obě strany spolupracovat, podepsat konečnou aktualizaci stavu a předložit ji on-chain, aby uzavřely kanál, po čemž jsou prostředky rozděleny podle konečného stavu kanálu. V pesimistickém případě, kdy se někdo pokusí podvádět tím, že zveřejní nesprávnou aktualizaci stavu on-chain, jeho transakce nebude finalizována, dokud neuplyne časové okno pro výzvy.
+
+## Virtuální stavové kanály {#virtual-state-channels}
+
+Naivní implementace stavového kanálu by spočívala v nasazení nového kontraktu, když si dva uživatelé přejí spustit aplikaci mimo řetězec. To však není jen nepraktické, ale také to popírá nákladovou efektivitu stavových kanálů (náklady na on-chain transakce se mohou začít rychle stupňovat).
+
+K vyřešení tohoto problému byly vytvořeny „virtuální kanály“. Na rozdíl od běžných kanálů, které vyžadují on-chain transakce k otevření a uzavření, lze virtuální kanál otevřít, exekuovat a uzavřít bez interakce s hlavním řetězcem. Pomocí této metody je dokonce možné řešit spory mimo řetězec.
+
+Tento systém spoléhá na existenci tzv. „účetních kanálů“, které byly financovány on-chain. Virtuální kanály mezi dvěma stranami mohou být vytvořeny na vrcholu existujícího účetního kanálu, přičemž vlastník (či vlastníci) účetního kanálu slouží jako prostředník.
+
+Uživatelé v každém virtuálním kanálu interagují prostřednictvím nové instance kontraktu, přičemž účetní kanál je schopen podporovat více instancí kontraktů. Stav účetního kanálu také obsahuje více než jeden stav úložiště kontraktu, což umožňuje paralelní provádění aplikací mimo řetězec mezi různými uživateli.
+
+Stejně jako u běžných kanálů si uživatelé vyměňují aktualizace stavu za účelem rozvoje stavového stroje. Pokud nedojde ke sporu, prostředník je kontaktován pouze při otevření nebo uzavření kanálu.
+
+### Virtuální platební kanály {#virtual-payment-channels}
+
+Virtuální platební kanály fungují na stejném principu jako virtuální stavové kanály: účastníci propojení ve stejné síti si mohou předávat zprávy, aniž by museli otevírat nový kanál on-chain. Ve virtuálních platebních kanálech jsou převody hodnot směrovány prostřednictvím jednoho nebo více prostředníků, přičemž je zaručeno, že pouze zamýšlený příjemce může obdržet převedené prostředky.
+
+## Využití stavových kanálů {#applications-of-state-channels}
+
+### Platby {#payments}
+
+První blockchainové kanály byly jednoduché protokoly, které umožňovaly dvěma účastníkům provádět rychlé, nízkonákladové převody mimo řetězec, aniž by museli platit vysoké transakční poplatky na Mainnetu. Platební kanály jsou dodnes užitečné pro aplikace navržené ke směně a vkladům etheru a tokenů.
+
+Platby založené na kanálech mají následující výhody:
+
+1. **Propustnost**: Množství transakcí mimo řetězec není spojeno s propustností Etherea, kterou ovlivňuje řada faktorů, zejména velikost bloku a doba bloku. Prováděním transakcí mimo řetězec mohou blockchainové kanály dosáhnout vyšší propustnosti.
+
+2. **Soukromí**: Protože kanály existují mimo řetězec, podrobnosti o interakcích mezi účastníky nejsou zaznamenány na veřejném blockchainu Etherea. Uživatelé kanálu musí interagovat on-chain pouze při otevírání a uzavírání kanálů nebo řešení sporů. Proto jsou kanály užitečné pro jednotlivce, kteří si přejí více soukromí při provádění transakcí.
+
+3. **Latence**: Transakce mimo řetězec prováděné mezi účastníky kanálu mohou být vypořádány okamžitě, kdy obě strany spolupracují, což snižuje zpoždění. Naproti tomu odeslání transakce na Mainnetu vyžaduje počkat, až síťové uzly zpracují transakci, vytvoří nový blok s transakcí a dosáhnou konsenzu. Uživatelé také mohou chtít čekat na potvrzení dalších bloků, než budou transakci považovat za finální.
+
+4. **Náklady**: Stavové kanály jsou obzvláště užitečné v situacích, kdy si bude skupina účastníků vyměňovat mnoho aktualizací stavu po delší dobu. Jediné náklady, které vzniknou, jsou na otevření a uzavření chytrého kontraktu stavového kanálu; každá změna stavu mezi otevřením a uzavřením kanálu bude levnější než ta předchozí, protože se náklady na vypořádání rozdělí.
+
+Implementace stavových kanálů v řešeních vrstvy 2, jako jsou [rollupy](/developers/docs/scaling/#rollups), by mohla učinit platby ještě atraktivnějšími. Zatímco kanály nabízejí levné platby, náklady na nastavení on-chain kontraktu na Mainnetu během fáze otevření mohou být drahé – zejména když se zvýší palivové poplatky. Rollupy založené na Ethereu nabízejí [nižší transakční poplatky](https://l2fees.info/) a mohou snížit režii pro účastníky kanálů tím, že snižují náklady na jejich nastavení.
+
+### Mikrotransakce {#microtransactions}
+
+Mikrotransakce jsou platby s nízkou hodnotou (např. nižší než zlomek dolaru), které firmy nemohou zpracovávat a zároveň u toho generovat zisk. Tyto subjekty musí platit poskytovatelům platebních služeb, což nemohou udělat, pokud je marže na platbách zákazníků příliš nízká na to, aby dosáhly zisku.
+
+Platební kanály tento problém řeší tím, že snižují režii spojenou s mikrotransakcemi. Například poskytovatel internetových služeb (ISP) může otevřít platební kanál se zákazníkem, což mu umožní provádět malé platby pokaždé, když zákazník službu využívá.
+
+Kromě nákladů na otevření a uzavření kanálu účastníkům nevznikají žádné další náklady na mikrotransakce (žádné poplatky za palivo). Je to výhodná situace pro obě strany, protože zákazníci mají větší flexibilitu v tom, kolik za služby platí, a podniky nepřicházejí o ziskové mikrotransakce.
+
+### Decentralizované aplikace {#decentralized-applications}
+
+Stejně jako platební kanály mohou stavové kanály dělat podmíněné platby podle konečných stavů stavového stroje. Stavové kanály mohou také podporovat libovolnou logiku přechodu stavu, což je činí užitečnými pro spouštění obecných aplikací mimo řetězec.
+
+Stavové kanály jsou často omezeny na jednoduché tahové aplikace, protože to usnadňuje správu finančních prostředků vázaných na on-chain kontrakt. Také s omezeným počtem stran, které v intervalech aktualizují stav aplikace mimo řetězec, je relativně snadné potrestat podvodníky.
+
+Efektivita aplikace stavového kanálu také závisí na jejím návrhu. Například vývojář může nasadit kontrakt kanálu aplikace on-chain jen jednou a umožnit ostatním uživatelům znovu používat tuto aplikaci, aniž by museli být on-chain. V tomto případě slouží počáteční kanál aplikace jako účetní kanál podporující více virtuálních kanálů, z nichž každý provozuje novou instanci chytrého kontraktu aplikace mimo řetězec.
+
+Potenciálním příkladem použití stavových kanálů jsou jednoduché hry pro dva hráče, kde jsou prostředky rozděleny na základě výsledku hry. Výhodou je, že hráči si nemusí důvěřovat (nezávislost na důvěře) a on-chain kontrakt, nikoli hráči, kontroluje alokaci prostředků a řešení sporů (decentralizace).
+
+Další možná využití stavových kanálů zahrnují vlastnictví názvů v ENS, NFT účetní knihy a mnoho dalších.
+
+### Atomické převody {#atomic-transfers}
+
+První platební kanály byly omezeny na převody mezi dvěma stranami, což omezovalo jejich použitelnost. Nicméně zavedení virtuálních kanálů umožnilo jednotlivcům provádět transfery s využitím prostředníků (tj. více p2p kanálů), aniž by museli otevírat nový kanál on-chain.
+
+Běžně popisované jako „multi-hop převody“, směrované platby jsou atomické (tj. buď všechny části transakce uspějí, nebo transakce selže jako celek). Atomické převody využívají [hashované timelock kontrakty (HTLC)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) k zajištění toho, že platba bude uvolněna pouze tehdy, pokud jsou splněny určité podmínky, což snižuje riziko podvodu protistrany.
+
+## Nevýhody používání stavových kanálů {#drawbacks-of-state-channels}
+
+### Předpoklady dostupnosti {#liveness-assumptions}
+
+Aby byla zajištěna efektivita, stavové kanály stanovují časové limity, během kterých mohou účastníci kanálu reagovat na spory. Toto pravidlo předpokládá, že partneři budou vždy online, aby sledovali aktivitu kanálu a v případě potřeby zpochybnili výzvy.
+
+Ve skutečnosti mohou uživatelé zůstat offline z důvodů mimo jejich kontrolu (např. špatné internetové připojení, mechanická porucha atd.). Pokud poctivý uživatel zůstane offline, může škodlivý partner situace využít tím, že předloží soudci staré mezistavy kontraktu a tak si přisvojí cizí prostředky.
+
+Některé kanály používají „strážní věže“ – subjekty zodpovědné za sledování on-chain sporů jménem ostatních a za podnikání nezbytných kroků, jako je upozornění zúčastněných stran. To však může zvýšit náklady na používání stavového kanálu.
+
+### Nedostupnost dat {#data-unavailability}
+
+Jak jsme vysvětlili dříve, napadení neplatného sporu vyžaduje předložení nejnovějšího platného stavu stavového kanálu. Toto pravidlo je dalším pravidlem založeným na předpokladu, že uživatelé mají přístup k nejnovějšímu stavu kanálu.
+
+Ačkoli je rozumné očekávat, že uživatelé kanálu budou uchovávat kopie stavu aplikace mimo řetězec, tato data mohou být ztracena v důsledku chyby nebo mechanické poruchy. Pokud uživatel nemá data zálohovaná, může jen doufat, že druhá strana nefinalizuje neplatnou žádost o výstup pomocí starých změn stavu, které má k dispozici.
+
+Uživatelé Etherea se s tímto problémem nemusí potýkat, protože síť vynucuje pravidla o dostupnosti dat. Transakční data jsou uchovávána a šířena všemi síťovými uzly a jsou dostupná uživatelům ke stažení, kdykoli je to potřeba.
+
+### Problémy s likviditou {#liquidity-issues}
+
+Pro založení blockchainového kanálu musí účastníci uzamknout finanční prostředky v on-chain chytrém kontraktu po dobu životního cyklu kanálu. To snižuje likviditu uživatelů kanálu a také omezuje kanály na ty, které si mohou dovolit držet prostředky uzamčené na Mainnetu.
+
+Nicméně účetní kanály – provozované off-chain poskytovatelem služeb (OSP) – mohou snížit problémy s likviditou uživatelů. Dva partneři připojení k účetnímu kanálu mohou vytvořit virtuální kanál, který mohou kdykoli otevřít a uzavřít zcela mimo řetězec.
+
+Poskytovatelé služeb mimo řetězec by také mohli otevřít kanály s více partnery, což je činí užitečnými pro směrování plateb. Uživatelé samozřejmě musí za služby OSP platit poplatky, což pro některé může být nežádoucí.
+
+### Smuteční útoky {#griefing-attacks}
+
+Smuteční útoky jsou běžným rysem systémů založených na důkazech podvodu. Takový útok nepřináší přímý prospěch útočníkovi, ale způsobuje „smutek“ (tj. újmu) oběti, což dává název tomuto útoku.
+
+Důkazní systém podvodu je ke smutečním útokům náchylný, protože poctivá strana musí reagovat na každý spor, i neplatný, nebo riskovat ztrátu svých prostředků. Podvodník se může rozhodnout opakovaně zveřejňovat zastaralé přechody stavu on-chain, což nutí poctivou stranu reagovat platným stavem. Náklady na tyto on-chain transakce se mohou rychle nasčítat, což způsobí, že poctivá strana v tomto procesu utrpí ztrátu.
+
+### Předdefinované sestavy účastníků {#predefined-participant-sets}
+
+Z povahy návrhu zůstává počet účastníků, kteří tvoří stavový kanál, pevně stanoven po celou dobu jeho životnosti. Je to proto, že aktualizace sady účastníků by komplikovala provoz kanálu, zejména při financování kanálu nebo řešení sporů. Přidání nebo odebrání účastníků by také vyžadovalo další on-chain aktivitu, což uživatelům zvyšuje režii.
+
+I když to usnadňuje úvahy o stavových kanálech, omezuje to užitečnost návrhů kanálů pro vývojáře aplikací. To částečně vysvětluje, proč bylo od stavových kanálů upuštěno ve prospěch jiných škálovacích řešení, jako jsou rollupy.
+
+### Zpracování paralelních transakcí {#parallel-transaction-processing}
+
+Účastníci stavového kanálu posílají aktualizace stavu postupně, což je důvod, proč nejlépe fungují pro „aplikace založené na střídání tahů“ (např. šachová hra pro dva hráče). To eliminuje potřebu zpracovávat současné aktualizace stavu a snižuje zátěž, kterou on-chain kontrakt musí zvládnout, aby potrestal ty, kteří zveřejňují zastaralé aktualizace. Vedlejším efektem tohoto návrhu však je, že transakce jsou na sobě závislé, což zvyšuje latenci a zhoršuje celkový uživatelský zážitek.
+
+Některé stavové kanály řeší tento problém pomocí „full-duplex“ návrhu, který rozděluje off-chain stav na dva jednosměrné „simplexní“ stavy, což umožňuje souběžné aktualizace stavu. Takové návrhy zlepšují propustnost mimo řetězec a snižují zpoždění transakcí.
+
+## Využijte stavové kanály {#use-state-channels}
+
+Několik projektů poskytuje implementace stavových kanálů, které můžete integrovat do svých dappek:
+
+- [Connext](https://connext.network/)
+- [Kchannels](https://www.kchannels.io/)
+- [Perun](https://perun.network/)
+- [Raiden](https://raiden.network/)
+- [Statechannels.org](https://statechannels.org/)
+
+## Further reading {#further-reading}
+
+**Stavové kanály**
+
+- [Porozumění škalovacím řešením na vrstvě 2 Etherea: Stavové kanály, Plasma a Truebit](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4) _– Josh Stark, 12. února 2018_
+- [Stavové kanály - vysvětlení](https://www.jeffcoleman.ca/state-channels/) _6. listopadu 2015 – Jeff Coleman_
+- [Základy stavových kanálů](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/) _District0x_
+- [Stavové kanály na blockchainu: Špička blockchainu](https://ieeexplore.ieee.org/document/9627997)
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
diff --git a/public/content/translations/cs/developers/docs/scaling/validium/index.md b/public/content/translations/cs/developers/docs/scaling/validium/index.md
index 366164c5765..3ca3b9b0325 100644
--- a/public/content/translations/cs/developers/docs/scaling/validium/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/validium/index.md
@@ -154,7 +154,7 @@ Několik projektů poskytuje implementace validia a volitia, které můžete int
**Matter Labs zkPorter** – _zkPorter je škálovací protokol druhé vrstvy, který řeší dostupnost dat hybridním přístupem, který kombinuje myšlenky zkRollupu a shardingu. Může podporovat libovolný počet shardů, každý s vlastní politikou dostupnosti dat._
- [Blog](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
-- [Dokumentace](https://docs.zksync.io/zk-stack/concepts/data-availability)
+- [Dokumentace](https://docs.zksync.io/zksync-protocol/rollup/data-availability)
- [Web](https://zksync.io/)
## Další informace {#further-reading}
diff --git a/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
index 6120233ef79..20d2c3d3ca4 100644
--- a/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
+++ b/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md
@@ -222,11 +222,6 @@ Podívejte se na vysvětlení ZK-rollupů od Finematics:
-### Použití ZK-rollupů {#use-zk-rollups}
-
-Existuje několik implementací ZK-rollupů, které můžete integrovat do svých dappek:
-
-
## Kdo pracuje na zkEVM? {#zkevm-projects}
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md b/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md
new file mode 100644
index 00000000000..56c3d72b80d
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/anatomy/index.md
@@ -0,0 +1,658 @@
+---
+title: Anatomie chytrých kontraktů
+description: Podrobný pohled na anatomii chytrého kontaktu – funkce, údaje a proměnné.
+lang: cs
+---
+
+Chytrý kontrakt je program běžící na adrese na Ethereu. Skládá se z dat a funkcí, které se mohou spustit po přijetí transakce. Zde je přehled toho, co tvoří chytrý kontrakt.
+
+## Předpoklady {#prerequisites}
+
+Nejprve se ujistěte, že jste si přečetli o [chytrých kontraktech](/developers/docs/smart-contracts/). Tento dokument předpokládá, že již znáte programovací jazyky, jako je JavaScript nebo Python.
+
+## Data {#data}
+
+Veškeré údaje o kontraktu musí být přiřazeny k lokaci: buď do `storage`, nebo do `memory`. Úprava storage v chytrém kontraktu je nákladná, takže je třeba zvážit, kde by měla být vaše data uložena.
+
+### Úložiště {#storage}
+
+Trvalá data se označují jako storage a jsou reprezentována stavovými proměnnými. Tyto hodnoty se trvale uloží na blockchain. Datový typ je třeba deklarovat, aby kontrakt mohl při kompilaci sledovat, kolik potřebuje na blockchainu úložiště.
+
+```solidity
+// Solidity example
+contract SimpleStorage {
+ uint storedData; // State variable
+ // ...
+}
+```
+
+```python
+# Vyper example
+storedData: int128
+```
+
+Pokud jste již programovali v objektově orientovaných jazycích, většinu typů pravděpodobně znáte. Nicméně `address` by pro vás měla být novinkou, pokud s vývojem na Ethereu teprve začínáte.
+
+Datový typ `address` může obsahovat Ethereum adresu, která odpovídá 20 bajtům nebo 160 bitům. Návratová hodnota je v hexadecimálním zápisu začínajícím 0x.
+
+Mezi další datové typy patří:
+
+- boolean
+- integer
+- čísla s pevnou řádovou čárkou
+- pole bajtů s pevnou velikostí
+- pole bajtů s dynamickou velikostí
+- racionální a celočíselné literály
+- řetězcové literály
+- hexadecimální literály
+- enumy
+
+Další vysvětlení najdete v těchto dokumentech:
+
+- [Datové typy ve Vyper](https://vyper.readthedocs.io/en/v0.1.0-beta.6/types.html#value-types)
+- [Datové typy v Solidity](https://solidity.readthedocs.io/en/latest/types.html#value-types)
+
+### Memory {#memory}
+
+Hodnoty, které jsou uloženy pouze po dobu provádění funkce kontraktu, se nazývají paměťové proměnné. Protože nejsou trvale uloženy na blockchainu, je jejich používání mnohem levnější.
+
+Více informací o tom, jak EVM ukládá data (Storage, Memory a Stack), najdete v [dokumentech Solidity](https://solidity.readthedocs.io/en/latest/introduction-to-smart-contracts.html?highlight=memory#storage-memory-and-the-stack).
+
+### Proměnné prostředí {#environment-variables}
+
+Kromě proměnných, které definujete v kontraktu, existují i speciální globální proměnné. Ty slouží především k poskytování informací o blockchainu nebo aktuální transakci.
+
+Příklady:
+
+| **Objekt** | **Stavová proměnná** | **Popis** |
+| ----------------- | -------------------- | ------------------------------------ |
+| `block.timestamp` | uint256 | Časové razítko aktuální epochy bloku |
+| `msg.sender` | address (adresa) | Odesílatel zprávy (aktuální volání) |
+
+## Funkce {#functions}
+
+Nejjednodušeji řečeno, funkce mohou získávat informace nebo nastavovat informace v reakci na příchozí transakce.
+
+Existují dva typy volání funkcí:
+
+- `internal` – nevytvářejí EVM volání
+ - K interním funkcím a stavovým proměnným lze přistupovat pouze interně (tj. v rámci aktuálního kontraktu nebo kontraktů z něho odvozených).
+- `external` – vytvářejí EVM volání
+ - Externí funkce jsou součástí rozhraní kontraktu, což znamená, že je lze volat z jiných kontraktů a prostřednictvím transakcí. Externí funkce `f` nelze volat interně (tzn. `f()` nefunguje, ale `this.f()` ano).
+
+Tyto funkce mohou být také `public` nebo `private`.
+
+- Funkce `public` lze volat interně z kontraktu nebo externě prostřednictvím zpráv
+- Funkce `private` jsou viditelné pouze pro kontrakt, ve kterém jsou definovány, a ne v odvozených kontraktech
+
+Funkce i stavové proměnné mohou být veřejné nebo soukromé.
+
+Zde je funkce pro aktualizaci stavové proměnné v kontraktu:
+
+```solidity
+// Solidity example
+function update_name(string value) public {
+ dapp_name = value;
+}
+```
+
+- Parametr `value` typu `string` je předán funkci: `update_name`
+- Je deklarována jako `public`, což znamená, že k ní má kdokoli přístup
+- Není deklarována jako `view`, takže kdokoli může změnit stav kontraktu
+
+### View funkce {#view-functions}
+
+Tyto funkce slibují, že nebudou měnit stav dat kontraktu. Běžným příkladem jsou „getter“ funkce – můžete je použít například k získání zůstatku uživatele.
+
+```solidity
+// Solidity example
+function balanceOf(address _owner) public view returns (uint256 _balance) {
+ return ownerPizzaCount[_owner];
+}
+```
+
+```python
+dappName: public(string)
+
+@view
+@public
+def readName() -> string:
+ return dappName
+```
+
+Co se považuje jako změna stavu:
+
+1. Zápis do stavových proměnných.
+2. [Odesílání událostí](https://solidity.readthedocs.io/en/v0.7.0/contracts.html#events).
+3. [Vytváření jiných kontraktů](https://solidity.readthedocs.io/en/v0.7.0/control-structures.html#creating-contracts).
+4. Používání `selfdestruct`.
+5. Posílání etheru pomocí volání.
+6. Volání jakékoli funkce, která není označena jako `view` nebo `pure`.
+7. Používání nízkoúrovňových volání.
+8. Používání inline assembly, která obsahuje určité operační kódy.
+
+### Funkce konstruktor {#constructor-functions}
+
+Funkce `konstruktor` se provedou pouze jednou při prvním nasazení kontraktu. Podobně jako `konstruktory` v mnoha programovacích jazycích založených na třídách, tyto funkce často inicializují stavové proměnné na zadané hodnoty.
+
+```solidity
+// Solidity example
+// Initializes the contract's data, setting the `owner`
+// to the address of the contract creator.
+constructor() public {
+ // All smart contracts rely on external transactions to trigger its functions.
+ // `msg` is a global variable that includes relevant data on the given transaction,
+ // such as the address of the sender and the ETH value included in the transaction.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
+ owner = msg.sender;
+}
+```
+
+```python
+# Vyper example
+
+@external
+def __init__(_beneficiary: address, _bidding_time: uint256):
+ self.beneficiary = _beneficiary
+ self.auctionStart = block.timestamp
+ self.auctionEnd = self.auctionStart + _bidding_time
+```
+
+### Vestavěné funkce {#built-in-functions}
+
+Kromě proměnných a funkcí, které definujete v kontraktu, existují i speciální vestavěné funkce. Nejzřetelnějším příkladem je:
+
+- `address.send()` – Solidity
+- `send(address)` – Vyper
+
+Ty umožňují posílat ETH na jiné účty.
+
+## Psaní funkcí {#writing-functions}
+
+Vaše funkce potřebuje:
+
+- parametr a jeho datový typ (pokud parametry přijímá)
+- deklaraci, zda je internal/external
+- deklaraci, zda je pure/view/payable
+- datový typ návratové hodnoty (pokud nějakou vrací)
+
+```solidity
+pragma solidity >=0.4.0 <=0.6.0;
+
+contract ExampleDapp {
+ string dapp_name; // state variable
+
+ // Called when the contract is deployed and initializes the value
+ constructor() public {
+ dapp_name = "My Example dapp";
+ }
+
+ // Get Function
+ function read_name() public view returns(string) {
+ return dapp_name;
+ }
+
+ // Set Function
+ function update_name(string value) public {
+ dapp_name = value;
+ }
+}
+```
+
+Kompletní kontrakt může vypadat následovně. Zde funkce `konstruktor` poskytuje počáteční hodnotu proměnné `dapp_name`.
+
+## Události a záznamy {#events-and-logs}
+
+Události umožňují vašemu chytrému kontraktu komunikovat s vaším frontendem nebo jinými přihlášenými aplikacemi. Jakmile je transakce ověřena a přidána do bloku, mohou chytré kontrakty vysílat události a zaznamenávat informace, které pak frontend může zpracovat a využít.
+
+## Příklady s poznámkami {#annotated-examples}
+
+Zde jsou příklady napsané v Solidity. Pokud si chcete s kódem pohrát, můžete tak udělat v [Remixu](http://remix.ethereum.org).
+
+### Ahoj světe {#hello-world}
+
+```solidity
+// Specifies the version of Solidity, using semantic versioning.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
+pragma solidity ^0.5.10;
+
+// Defines a contract named `HelloWorld`.
+// A contract is a collection of functions and data (its state).
+// Once deployed, a contract resides at a specific address on the Ethereum blockchain.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
+contract HelloWorld {
+
+ // Declares a state variable `message` of type `string`.
+ // State variables are variables whose values are permanently stored in contract storage.
+ // The keyword `public` makes variables accessible from outside a contract
+ // and creates a function that other contracts or clients can call to access the value.
+ string public message;
+
+ // Similar to many class-based object-oriented languages, a constructor is
+ // a special function that is only executed upon contract creation.
+ // Constructors are used to initialize the contract's data.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
+ constructor(string memory initMessage) public {
+ // Accepts a string argument `initMessage` and sets the value
+ // into the contract's `message` storage variable).
+ message = initMessage;
+ }
+
+ // A public function that accepts a string argument
+ // and updates the `message` storage variable.
+ function update(string memory newMessage) public {
+ message = newMessage;
+ }
+}
+```
+
+### Token {#token}
+
+```solidity
+pragma solidity ^0.5.10;
+
+contract Token {
+ // An `address` is comparable to an email address - it's used to identify an account on Ethereum.
+ // Addresses can represent a smart contract or an external (user) accounts.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#address
+ address public owner;
+
+ // A `mapping` is essentially a hash table data structure.
+ // This `mapping` assigns an unsigned integer (the token balance) to an address (the token holder).
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types
+ mapping (address => uint) public balances;
+
+ // Events allow for logging of activity on the blockchain.
+ // Ethereum clients can listen for events in order to react to contract state changes.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events
+ event Transfer(address from, address to, uint amount);
+
+ // Initializes the contract's data, setting the `owner`
+ // to the address of the contract creator.
+ constructor() public {
+ // All smart contracts rely on external transactions to trigger its functions.
+ // `msg` is a global variable that includes relevant data on the given transaction,
+ // such as the address of the sender and the ETH value included in the transaction.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
+ owner = msg.sender;
+ }
+
+ // Creates an amount of new tokens and sends them to an address.
+ function mint(address receiver, uint amount) public {
+ // `require` is a control structure used to enforce certain conditions.
+ // If a `require` statement evaluates to `false`, an exception is triggered,
+ // which reverts all changes made to the state during the current call.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+
+ // Only the contract owner can call this function
+ require(msg.sender == owner, "You are not the owner.");
+
+ // Enforces a maximum amount of tokens
+ require(amount < 1e60, "Maximum issuance exceeded");
+
+ // Increases the balance of `receiver` by `amount`
+ balances[receiver] += amount;
+ }
+
+ // Sends an amount of existing tokens from any caller to an address.
+ function transfer(address receiver, uint amount) public {
+ // The sender must have enough tokens to send
+ require(amount <= balances[msg.sender], "Insufficient balance.");
+
+ // Adjusts token balances of the two addresses
+ balances[msg.sender] -= amount;
+ balances[receiver] += amount;
+
+ // Emits the event defined earlier
+ emit Transfer(msg.sender, receiver, amount);
+ }
+}
+```
+
+### Unikátní digitální aktivum {#unique-digital-asset}
+
+```solidity
+pragma solidity ^0.5.10;
+
+// Imports symbols from other files into the current contract.
+// In this case, a series of helper contracts from OpenZeppelin.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#importing-other-source-files
+
+import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol";
+import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
+import "../node_modules/@openzeppelin/contracts/introspection/ERC165.sol";
+import "../node_modules/@openzeppelin/contracts/math/SafeMath.sol";
+
+// The `is` keyword is used to inherit functions and keywords from external contracts.
+// In this case, `CryptoPizza` inherits from the `IERC721` and `ERC165` contracts.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#inheritance
+contract CryptoPizza is IERC721, ERC165 {
+ // Uses OpenZeppelin's SafeMath library to perform arithmetic operations safely.
+ // Learn more: https://docs.openzeppelin.com/contracts/2.x/api/math#SafeMath
+ using SafeMath for uint256;
+
+ // Constant state variables in Solidity are similar to other languages
+ // but you must assign from an expression which is constant at compile time.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables
+ uint256 constant dnaDigits = 10;
+ uint256 constant dnaModulus = 10 ** dnaDigits;
+ bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;
+
+ // Struct types let you define your own type
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs
+ struct Pizza {
+ string name;
+ uint256 dna;
+ }
+
+ // Creates an empty array of Pizza structs
+ Pizza[] public pizzas;
+
+ // Mapping from pizza ID to its owner's address
+ mapping(uint256 => address) public pizzaToOwner;
+
+ // Mapping from owner's address to number of owned token
+ mapping(address => uint256) public ownerPizzaCount;
+
+ // Mapping from token ID to approved address
+ mapping(uint256 => address) pizzaApprovals;
+
+ // You can nest mappings, this example maps owner to operator approvals
+ mapping(address => mapping(address => bool)) private operatorApprovals;
+
+ // Internal function to create a random Pizza from string (name) and DNA
+ function _createPizza(string memory _name, uint256 _dna)
+ // The `internal` keyword means this function is only visible
+ // within this contract and contracts that derive this contract
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters
+ internal
+ // `isUnique` is a function modifier that checks if the pizza already exists
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers
+ isUnique(_name, _dna)
+ {
+ // Adds Pizza to array of Pizzas and get id
+ uint256 id = SafeMath.sub(pizzas.push(Pizza(_name, _dna)), 1);
+
+ // Checks that Pizza owner is the same as current user
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+
+ // note that address(0) is the zero address,
+ // indicating that pizza[id] is not yet allocated to a particular user.
+
+ assert(pizzaToOwner[id] == address(0));
+
+ // Maps the Pizza to the owner
+ pizzaToOwner[id] = msg.sender;
+ ownerPizzaCount[msg.sender] = SafeMath.add(
+ ownerPizzaCount[msg.sender],
+ 1
+ );
+ }
+
+ // Creates a random Pizza from string (name)
+ function createRandomPizza(string memory _name) public {
+ uint256 randDna = generateRandomDna(_name, msg.sender);
+ _createPizza(_name, randDna);
+ }
+
+ // Generates random DNA from string (name) and address of the owner (creator)
+ function generateRandomDna(string memory _str, address _owner)
+ public
+ // Functions marked as `pure` promise not to read from or modify the state
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions
+ pure
+ returns (uint256)
+ {
+ // Generates random uint from string (name) + address (owner)
+ uint256 rand = uint256(keccak256(abi.encodePacked(_str))) +
+ uint256(_owner);
+ rand = rand % dnaModulus;
+ return rand;
+ }
+
+ // Returns array of Pizzas found by owner
+ function getPizzasByOwner(address _owner)
+ public
+ // Functions marked as `view` promise not to modify state
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions
+ view
+ returns (uint256[] memory)
+ {
+ // Uses the `memory` storage location to store values only for the
+ // lifecycle of this function call.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/introduction-to-smart-contracts.html#storage-memory-and-the-stack
+ uint256[] memory result = new uint256[](ownerPizzaCount[_owner]);
+ uint256 counter = 0;
+ for (uint256 i = 0; i < pizzas.length; i++) {
+ if (pizzaToOwner[i] == _owner) {
+ result[counter] = i;
+ counter++;
+ }
+ }
+ return result;
+ }
+
+ // Transfers Pizza and ownership to other address
+ function transferFrom(address _from, address _to, uint256 _pizzaId) public {
+ require(_from != address(0) && _to != address(0), "Invalid address.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ require(_from != _to, "Cannot transfer to the same address.");
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+
+ ownerPizzaCount[_to] = SafeMath.add(ownerPizzaCount[_to], 1);
+ ownerPizzaCount[_from] = SafeMath.sub(ownerPizzaCount[_from], 1);
+ pizzaToOwner[_pizzaId] = _to;
+
+ // Emits event defined in the imported IERC721 contract
+ emit Transfer(_from, _to, _pizzaId);
+ _clearApproval(_to, _pizzaId);
+ }
+
+ /**
+ * Safely transfers the ownership of a given token ID to another address
+ * If the target address is a contract, it must implement `onERC721Received`,
+ * which is called upon a safe transfer, and return the magic value
+ * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
+ * otherwise, the transfer is reverted.
+ */
+ function safeTransferFrom(address from, address to, uint256 pizzaId)
+ public
+ {
+ // solium-disable-next-line arg-overflow
+ this.safeTransferFrom(from, to, pizzaId, "");
+ }
+
+ /**
+ * Safely transfers the ownership of a given token ID to another address
+ * If the target address is a contract, it must implement `onERC721Received`,
+ * which is called upon a safe transfer, and return the magic value
+ * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
+ * otherwise, the transfer is reverted.
+ */
+ function safeTransferFrom(
+ address from,
+ address to,
+ uint256 pizzaId,
+ bytes memory _data
+ ) public {
+ this.transferFrom(from, to, pizzaId);
+ require(_checkOnERC721Received(from, to, pizzaId, _data), "Must implement onERC721Received.");
+ }
+
+ /**
+ * Internal function to invoke `onERC721Received` on a target address
+ * The call is not executed if the target address is not a contract
+ */
+ function _checkOnERC721Received(
+ address from,
+ address to,
+ uint256 pizzaId,
+ bytes memory _data
+ ) internal returns (bool) {
+ if (!isContract(to)) {
+ return true;
+ }
+
+ bytes4 retval = IERC721Receiver(to).onERC721Received(
+ msg.sender,
+ from,
+ pizzaId,
+ _data
+ );
+ return (retval == _ERC721_RECEIVED);
+ }
+
+ // Burns a Pizza - destroys Token completely
+ // The `external` function modifier means this function is
+ // part of the contract interface and other contracts can call it
+ function burn(uint256 _pizzaId) external {
+ require(msg.sender != address(0), "Invalid address.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+
+ ownerPizzaCount[msg.sender] = SafeMath.sub(
+ ownerPizzaCount[msg.sender],
+ 1
+ );
+ pizzaToOwner[_pizzaId] = address(0);
+ }
+
+ // Returns count of Pizzas by address
+ function balanceOf(address _owner) public view returns (uint256 _balance) {
+ return ownerPizzaCount[_owner];
+ }
+
+ // Returns owner of the Pizza found by id
+ function ownerOf(uint256 _pizzaId) public view returns (address _owner) {
+ address owner = pizzaToOwner[_pizzaId];
+ require(owner != address(0), "Invalid Pizza ID.");
+ return owner;
+ }
+
+ // Approves other address to transfer ownership of Pizza
+ function approve(address _to, uint256 _pizzaId) public {
+ require(msg.sender == pizzaToOwner[_pizzaId], "Must be the Pizza owner.");
+ pizzaApprovals[_pizzaId] = _to;
+ emit Approval(msg.sender, _to, _pizzaId);
+ }
+
+ // Returns approved address for specific Pizza
+ function getApproved(uint256 _pizzaId)
+ public
+ view
+ returns (address operator)
+ {
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ return pizzaApprovals[_pizzaId];
+ }
+
+ /**
+ * Private function to clear current approval of a given token ID
+ * Reverts if the given address is not indeed the owner of the token
+ */
+ function _clearApproval(address owner, uint256 _pizzaId) private {
+ require(pizzaToOwner[_pizzaId] == owner, "Must be pizza owner.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ if (pizzaApprovals[_pizzaId] != address(0)) {
+ pizzaApprovals[_pizzaId] = address(0);
+ }
+ }
+
+ /*
+ * Sets or unsets the approval of a given operator
+ * An operator is allowed to transfer all tokens of the sender on their behalf
+ */
+ function setApprovalForAll(address to, bool approved) public {
+ require(to != msg.sender, "Cannot approve own address");
+ operatorApprovals[msg.sender][to] = approved;
+ emit ApprovalForAll(msg.sender, to, approved);
+ }
+
+ // Tells whether an operator is approved by a given owner
+ function isApprovedForAll(address owner, address operator)
+ public
+ view
+ returns (bool)
+ {
+ return operatorApprovals[owner][operator];
+ }
+
+ // Takes ownership of Pizza - only for approved users
+ function takeOwnership(uint256 _pizzaId) public {
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+ address owner = this.ownerOf(_pizzaId);
+ this.transferFrom(owner, msg.sender, _pizzaId);
+ }
+
+ // Checks if Pizza exists
+ function _exists(uint256 pizzaId) internal view returns (bool) {
+ address owner = pizzaToOwner[pizzaId];
+ return owner != address(0);
+ }
+
+ // Checks if address is owner or is approved to transfer Pizza
+ function _isApprovedOrOwner(address spender, uint256 pizzaId)
+ internal
+ view
+ returns (bool)
+ {
+ address owner = pizzaToOwner[pizzaId];
+ // Disable solium check because of
+ // https://github.com/duaraghav8/Solium/issues/175
+ // solium-disable-next-line operator-whitespace
+ return (spender == owner ||
+ this.getApproved(pizzaId) == spender ||
+ this.isApprovedForAll(owner, spender));
+ }
+
+ // Check if Pizza is unique and doesn't exist yet
+ modifier isUnique(string memory _name, uint256 _dna) {
+ bool result = true;
+ for (uint256 i = 0; i < pizzas.length; i++) {
+ if (
+ keccak256(abi.encodePacked(pizzas[i].name)) ==
+ keccak256(abi.encodePacked(_name)) &&
+ pizzas[i].dna == _dna
+ ) {
+ result = false;
+ }
+ }
+ require(result, "Pizza with such name already exists.");
+ _;
+ }
+
+ // Returns whether the target address is a contract
+ function isContract(address account) internal view returns (bool) {
+ uint256 size;
+ // Currently there is no better way to check if there is a contract in an address
+ // than to check the size of the code at that address.
+ // See https://ethereum.stackexchange.com/a/14016/36603
+ // for more details about how this works.
+ // TODO Check this again before the Serenity release, because all addresses will be
+ // contracts then.
+ // solium-disable-next-line security/no-inline-assembly
+ assembly {
+ size := extcodesize(account)
+ }
+ return size > 0;
+ }
+}
+```
+
+## Další informace {#further-reading}
+
+Kompletní přehled chytrých kontraktů najdete v dokumentaci Solidity a Vyper:
+
+- [Solidity](https://solidity.readthedocs.io/)
+- [Vyper](https://vyper.readthedocs.io/)
+
+## Související témata {#related-topics}
+
+- [Chytré kontrakty](/developers/docs/smart-contracts/)
+- [Virtuální stroj Etherea](/developers/docs/evm/)
+
+## Související návody {#related-tutorials}
+
+- [Zmenšování kontraktů pro boj s limitem velikosti kontraktu](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– několik praktických tipů pro zmenšení velikosti vašeho chytrého kontraktu._
+- [Zaznamenávání dat z chytrých kontraktů pomocí událostí](/developers/tutorials/logging-events-smart-contracts/) _– úvod do událostí chytrých kontraktů a jak je můžete použít k zaznamenávání dat._
+- [Interagujte s dalšími kontrakty ze Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním._
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md b/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md
new file mode 100644
index 00000000000..6453d8e4347
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/compiling/index.md
@@ -0,0 +1,282 @@
+---
+title: Zpracování chytrých smluv
+description: Vysvětlení, proč je třeba kompilovat chytré kontrakty a co kompilace vlastně dělá.
+lang: cs
+incomplete: true
+---
+
+Kontrakt musíte zkompilovat tak, aby mu webová aplikace a virtuální stroj Etherea (EVM) rozuměly.
+
+## Předpoklady {#prerequisites}
+
+Možná vám pomůže, když si před čtením o kompilaci přečtete náš úvod do [chytrých kontraktů](/developers/docs/smart-contracts/) a [virtuálního stroje Etherea](/developers/docs/evm/).
+
+## EVM {#the-evm}
+
+Aby [EVM](/developers/docs/evm/) mohl spustit váš kontrakt, musí být v **bytecode**. Kompilace udělá z tohoto:
+
+```solidity
+pragma solidity 0.4.24;
+
+contract Greeter {
+
+ function greet() public constant returns (string) {
+ return "Hello";
+ }
+
+}
+```
+
+**tohle**
+
+```
+PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x46 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x80 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xC8 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SLT 0xec 0xe 0xf5 0xf8 SLT 0xc7 0x2d STATICCALL ADDRESS SHR 0xdb COINBASE 0xb1 BALANCE 0xe8 0xf8 DUP14 0xda 0xad DUP13 LOG1 0x4c 0xb4 0x26 0xc2 DELEGATECALL PUSH7 0x8994D3E002900
+```
+
+Toto jsou **operační kódy**. Operační kódy EVM jsou nízkoúrovňové instrukce, které může vykonávat virtuální stroj Etherea (EVM). Každý operační kód představuje konkrétní operaci, například aritmetické operace, logické operace, manipulaci s daty, tok řízení atd.
+
+[Více o operačních kódech](/developers/docs/evm/opcodes/)
+
+## Webové aplikace {#web-applications}
+
+Kompilátor také vytvoří **Aplikační binární rozhraní (ABI)**, které potřebujete, aby vaše aplikace rozuměla kontraktu a mohla volat jeho funkce.
+
+ABI je soubor JSON, který popisuje nasazený kontrakt a jeho funkce. To pomáhá překlenout propast mezi webem2 a webem3.
+
+[JavaScriptová klientská knihovna](/developers/docs/apis/javascript/) přečte **ABI**, abyste mohli v rozhraní své webové aplikace volat svůj chytrý kontrakt.
+
+Níže je uvedeno ABI pro kontrakt na tokeny ERC-20. ERC-20 je token, se kterým můžete na Ethereu obchodovat.
+
+```json
+[
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "name",
+ "outputs": [
+ {
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_spender",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "approve",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "totalSupply",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_from",
+ "type": "address"
+ },
+ {
+ "name": "_to",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "transferFrom",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "decimals",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint8"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [
+ {
+ "name": "_owner",
+ "type": "address"
+ }
+ ],
+ "name": "balanceOf",
+ "outputs": [
+ {
+ "name": "balance",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "symbol",
+ "outputs": [
+ {
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_to",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "transfer",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [
+ {
+ "name": "_owner",
+ "type": "address"
+ },
+ {
+ "name": "_spender",
+ "type": "address"
+ }
+ ],
+ "name": "allowance",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "payable": true,
+ "stateMutability": "payable",
+ "type": "fallback"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Approval",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "name": "from",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Transfer",
+ "type": "event"
+ }
+]
+```
+
+## Další informace {#further-reading}
+
+- [ABI specifikace](https://solidity.readthedocs.io/en/v0.7.0/abi-spec.html) _– Solidity_
+
+## Související témata {#related-topics}
+
+- [JavaScriptové klientské knihovny](/developers/docs/apis/javascript/)
+- [Virtuální stroj Etherea](/developers/docs/evm/)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md b/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
new file mode 100644
index 00000000000..2a2b37a5fa3
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/composability/index.md
@@ -0,0 +1,76 @@
+---
+title: Složitelnost chytrých kontraktů
+description:
+lang: cs
+incomplete: true
+---
+
+## Stručné představení {#a-brief-introduction}
+
+Chytré kontrakty na Ethereu jsou veřejné a lze je považovat za otevřená API. Nemusíte napsat vlastní chytrý kontrakt, abyste se stali vývojářem dapp, stačí vědět, jak s nimi pracovat. Například můžete použít existující chytré kontrakty [Uniswapu](https://uniswap.exchange/swap), decentralizované burzy, k obsluze veškeré logiky pro směnu tokenů ve vaší aplikaci – nemusíte začínat od nuly. Podívejte se na některé z jejich kontraktů [v2](https://github.com/Uniswap/uniswap-v2-core/tree/master/contracts) a [v3](https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts).
+
+## Co je to složitelnost? {#what-is-composability}
+
+Složitelnost znamená kombinování různých komponent k vytvoření nových systémů nebo výstupů. Ve vývoji softwaru znamená složitelnost, že vývojáři mohou znovu použít existující softwarové komponenty k vytváření nových aplikací. Dobrou analogií pro pochopení složitelnosti je představit si složitelné prvky jako kostky Lego. Každou kostku je možné zkombinovat s jinou, což vám umožní stavět složité struktury kombinací různých kostek Lego.
+
+Na Ethereu je každý chytrý kontrakt jakousi kostkou Lego – můžete použít chytré kontrakty z jiných projektů jako stavební bloky pro váš projekt. To znamená, že nemusíte trávit čas znovuobjevováním kola nebo začínáním od nuly.
+
+## Jak funguje složitelnost? {#how-does-composability-work}
+
+Chytré kontrakty na Ethereu jsou jako veřejná API, takže s nimi může kdokoli pracovat nebo je integrovat do své dappky za účelem přidání funkcionality. Složitelnost chytrých kontraktů obecně funguje na třech principech: modularita, autonomie a objevitelnost:
+
+**1. Modularita**: Schopnost jednotlivých komponent vykonávat specifickou úlohu. Na Ethereu má každý chytrý kontrakt specifické použití (jak je ukázáno v příkladu Uniswapu).
+
+**2. Autonomie**: Složitelné komponenty musí být schopny fungovat nezávisle. Každý chytrý kontrakt na Ethereu je samostatně vykonávaný a může fungovat bez závislosti na jiných částech systému.
+
+**3. Objevitelnost**: Vývojáři nemohou volat externí kontrakty nebo integrovat softwarové knihovny do aplikací, pokud nejsou veřejně dostupné. Chytré kontrakty jsou z podstaty open-source; kdokoli je může volat nebo může kódovou základnu větvit.
+
+## Výhody složitelnosti {#benefits-of-composability}
+
+### Kratší vývojový cyklus {#shorter-development-cycle}
+
+Složitelnost zmenšuje množství práce, kterou musí vývojáři při vytváření [dappek](/apps/#what-are-dapps) udělat. [Jak říká Naval Ravikant](https://twitter.com/naval/status/1444366754650656770): „Open source znamená, že každý problém musí být vyřešen pouze jednou.“
+
+Pokud existuje chytrý kontrakt, který řeší jeden problém, mohou ho ostatní vývojáři znovu použít, takže nemusí řešit stejný problém znovu. Tímto způsobem mohou vzít existující softwarové knihovny a přidat k nim další funkce, když vyvíjejí novou dappku.
+
+### Větší inovace {#greater-innovation}
+
+Složitelnost podporuje inovace a experimentování, protože vývojáři mohou svobodně znovu použít, upravit, duplikovat nebo integrovat open-source kód za účelem dosažení požadovaných výsledků. Vývojové týmy tak tráví méně času základní funkcionalitou a mohou věnovat více času experimentování s novými funkcemi.
+
+### Lepší uživatelská zkušenost {#better-user-experience}
+
+Interoperabilita mezi komponentami ekosystému Ethereum zlepšuje uživatelskou zkušenost. Uživatelé mají přístup k větší funkcionalitě, když dappky integrují externí chytré kontrakty, než v roztříštěném ekosystému, kde aplikace nemohou komunikovat.
+
+K ilustraci výhod interoperability použijeme příklad z arbitrážního obchodování:
+
+Pokud se token obchoduje na `burze A` za vyšší cenu než na `burze B`, můžete využít cenový rozdíl k dosažení zisku. To však můžete udělat, pouze pokud máte dostatek prostředků k financování transakce (tj. nákup tokenu na `burze B` a prodej na `burze A`).
+
+V situaci, kdy nemáte dostatek prostředků na pokrytí takové směny, může být řešením blesková půjčka. [Bleskové půjčky](/defi/#flash-loans) jsou vysoce technické, ale základní myšlenkou je, že si můžete půjčit aktiva (bez zástavy) a ještě je stihnout v rámci _jedné_ transakce vrátit.
+
+Vrátíme-li se k našemu původnímu příkladu, arbitrážní obchodník si může vzít velkou bleskovou půjčku, nakoupit tokeny na `burze B`, prodat je na `burze A`, splatit půjčený kapitál i s úroky a vydělat na tom, to vše v rámci jedné transakce. Tato složitá logika vyžaduje kombinování volání více kontraktů, což by nebylo možné, kdyby chytré kontrakty neměly interoperabilitu.
+
+## Příklady složitelnosti na Ethereu {#composability-in-ethereum}
+
+### Směny tokenů {#token-swaps}
+
+Pokud vytvoříte dappku, která vyžaduje platbu za transakce v ETH, můžete uživatelům umožnit platit v jiných ERC-20 tokenech a to pomocí zavedení logiky pro směnu tokenů. Kód automaticky převede token uživatele na ETH, než kontrakt vykoná volanou funkci.
+
+### Řízení {#governance}
+
+Tvorba na míru šitých řídicích systémů pro [DAO](/dao/) může být drahá a časově náročná. Místo toho můžete k rychlému vytvoření řídicího frameworku pro vaše DAO použít open-source toolkit řízení, jako je [Aragon Client](https://client.aragon.org/).
+
+### Správa identity {#identity-management}
+
+Místo vytváření vlastního autentizačního systému nebo nutnosti spoléhat se na centralizované poskytovatele, můžete ke správě autentizace uživatelů integrovat nástroje pro decentralizovanou identitu (DID). Příkladem je [SpruceID](https://www.spruceid.com/), open-source toolkit, který nabízí funkci „Přihlásit se pomocí Etherea“, která uživatelům umožňuje autentizovat identitu pomocí ethereovské peněženky.
+
+## Související návody {#related-tutorials}
+
+- [Nastartujte vývoj frontendového rozhraní pro dappky pomocí create-eth-app](/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/) _– Přehled o tom, jak používat create-eth-app k vytváření aplikací s populárními chytrými kontrakty._
+
+## Další informace {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!_
+
+- [Složitelnost je inovace](https://future.a16z.com/how-composability-unlocks-crypto-and-everything-else/)
+- [Proč je složitelnost důležitá pro Web3](https://hackernoon.com/why-composability-matters-for-web3)
+- [Co je to složitelnost?](https://blog.aragon.org/what-is-composability/#:~:text=Aragon,connect%20to%20every%20other%20piece.)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md b/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md
new file mode 100644
index 00000000000..3438368f625
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/deploying/index.md
@@ -0,0 +1,81 @@
+---
+title: Nasazování chytrých smluv
+description:
+lang: cs
+---
+
+Aby byl váš chytrý kontrakt dostupný uživatelům Etherea, musíte jej nasadit.
+
+Abyste nasadili chytrý kontrakt, stačí odeslat Ethereum transakci obsahující zkompilovaný kód chytrého kontraktu bez uvedení příjemce.
+
+## Předpoklady {#prerequisites}
+
+Než nasadíte chytrý kontrakt, měli byste vědět o [Ethereum sítích](/developers/docs/networks/), [transakcích](/developers/docs/transactions/) a [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/).
+
+Nasazení smlouvy také stojí ethery (ETH), protože jsou uloženy na blockchainu, takže byste měli vědět o [palivech a poplatcích](/developers/docs/gas/) na Ethereu.
+
+Nakonec budete muset kontrakt před nasazením zkompilovat, takže se ujistěte, že jste si přečetli o [kompilování chytrých kontraktů](/developers/docs/smart-contracts/compiling/).
+
+## Jak nasadit chytrý kontrakt {#how-to-deploy-a-smart-contract}
+
+### Co budete potřebovat {#what-youll-need}
+
+- Bytecode vašeho kontraktu – generuje se při [kompilování](/developers/docs/smart-contracts/compiling/)
+- ETH na palivo – nastavíte si svůj palivový limit jako další transakce, takže počítejte s tím, že nasazení kontraktu potřebuje mnohem více paliva než prostý převod ETH
+- Script nasazení nebo plugin
+- Přístup k [uzlu Etherea](/developers/docs/nodes-and-clients/), a to buď provozováním vlastního, připojením k veřejnému uzlu, nebo prostřednictvím API klíče pomocí [služby uzlů](/developers/docs/nodes-and-clients/nodes-as-a-service/)
+
+### Kroky k nasazení chytrého kontraktu {#steps-to-deploy}
+
+Konkrétní kroky závisí na daném vývojovém frameworku. Můžete se například podívat do [Hardhat dokumentace o nasazování kontraktů](https://hardhat.org/guides/deploying.html) nebo do [Foundry dokumentace o nasazování a ověřování chytrého kontraktu](https://book.getfoundry.sh/forge/deploying). Po nasazení bude mít váš kontrakt adresu Etherea jako ostatní [účty](/developers/docs/accounts/) a lze jej ověřit pomocí [nástrojů pro ověření zdrojového kódu](/developers/docs/smart-contracts/verifying/#source-code-verification-tools).
+
+## Související nástroje {#related-tools}
+
+**Remix – _remix IDE umožňuje vyvíjet, nasazovat a spravovat chytré kontrakty pro blockchainy typu Etherea_**
+
+- [Remix](https://remix.ethereum.org)
+
+**Tenderly – _platforma na vývoj Web3, která poskytuje ladění, pozorovatelnost a infrastrukturní stavební bloky pro vývoj, testování, monitorování a provozování chytrých kontraktů_**
+
+- [tenderly.co](https://tenderly.co/)
+- [Dokumentace](https://docs.tenderly.co/)
+- [GitHub](https://github.com/Tenderly)
+- [Discord](https://discord.gg/eCWjuvt)
+
+**Hardhat – _vývojové prostředí pro kompilaci, nasazení, testování a ladění Ethereum softwaru_**
+
+- [hardhat.org](https://hardhat.org/getting-started/)
+- [Dokumentace na nasazování vašich kontraktů](https://hardhat.org/guides/deploying.html)
+- [GitHub](https://github.com/nomiclabs/hardhat)
+- [Discord](https://discord.com/invite/TETZs2KK4k)
+
+**thirdweb – _lehce nasaďte libovolný kontrakt do libovolného blockchainu kompatibilního s EVM pomocí jediného příkazu_**
+
+- [Dokumentace](https://portal.thirdweb.com/deploy/)
+
+**Crossmint – _vývojová platforma na úrovni webu3 pro nasazení chytrých kontraktů, umožnění plateb kreditními kartami a plateb napříč blockchainy a používání API k vytváření, distribuci, prodeji, ukládání a úpravám NFT_**
+
+- [crossmint.com](https://www.crossmint.com)
+- [Dokumentace](https://docs.crossmint.com)
+- [Discord](https://discord.com/invite/crossmint)
+- [Blog](https://blog.crossmint.com)
+
+## Související návody {#related-tutorials}
+
+- [Nasazení vašeho prvního chytrého kontraktu](/developers/tutorials/deploying-your-first-smart-contract/) _– úvod do nasazení prvního chytrého kontraktu v testovací síti Etherea._
+- [Ahoj Světe | tutoriál na chytrý kontrakt](/developers/tutorials/hello-world-smart-contract/) _– jednoduchý návod na vytvoření a nasazení základního chytrého kontraktu na Ethereu._
+- [Interagujte s dalšími kontrakty ze Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– jak nasadit chytrý kontrakt z existujícího kontraktu a interagovat s ním._
+- [Jak snížit velikost kontraktu](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– jak snížit velikost kontraktu, abyste nepřekročili limit a ušetřili za palivo_
+
+## Další informace {#further-reading}
+
+- [https://docs.openzeppelin.com/learn/deploying-and-interacting](https://docs.openzeppelin.com/learn/deploying-and-interacting) – _OpenZeppelin_
+- [Nasazení vašich kontraktů pomocí Hardhat](https://hardhat.org/guides/deploying.html) – _Nomic Labs_
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ji!_
+
+## Související témata {#related-topics}
+
+- [Vývojářské rámce](/developers/docs/frameworks/)
+- [Run an Ethereum node](/developers/docs/nodes-and-clients/run-a-node/)
+- [Uzly jako služba](/developers/docs/nodes-and-clients/nodes-as-a-service)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
new file mode 100644
index 00000000000..7004bb0202a
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/formal-verification/index.md
@@ -0,0 +1,283 @@
+---
+title: Formální ověření chytrých kontraktů
+description: Přehled formálního ověření pro chytré kontrakty na Ethereu
+lang: cs
+---
+
+[Chytré kontrakty](/developers/docs/smart-contracts/) umožňují vytvářet decentralizované, důvěryhodné a robustní aplikace, které nabízejí nová využití a jsou pro uživatele přínosem. Protože chytré kontrakty spravují hodnotná aktiva, bezpečnost je pro vývojáře kritická.
+
+Formální verifikace je jednou z doporučených technik pro zlepšení bezpečnosti [chytrých kontraktů](/developers/docs/smart-contracts/security/). Formální verifikace, která používá [formální metody](https://www.brookings.edu/techstream/formal-methods-as-a-path-toward-better-cybersecurity/) pro specifikaci, návrh a ověřování programů, se již léta používá k zajištění správnosti kritických hardwarových a softwarových systémů.
+
+Když je formální verifikace implementována v chytrých kontraktech, může dokázat, že obchodní logika kontraktu splňuje předem definovanou specifikaci. Ve srovnání s jinými metodami pro hodnocení správnosti kódu kontraktu, jako je testování, poskytuje formální verifikace silnější záruky, že chytrý kontrakt je funkčně správný.
+
+## Co je formální verifikace? {#what-is-formal-verification}
+
+Formální verifikace se týká procesu hodnocení správnosti systému ve vztahu k formální specifikaci. Jednoduše řečeno, formální verifikace nám umožňuje zjistit, zda chování systému splňuje některé požadavky (tj. zda dělá to, co od něj očekáváme).
+
+Očekávané chování systému (v tomto případě chytrého kontraktu) je popsáno pomocí formálního modelování, zatímco specifikační jazyky umožňují vytvoření formálních vlastností. Formální verifikační techniky pak mohou ověřit, že implementace kontraktu odpovídá jeho specifikaci a odvodit matematický důkaz o správnosti této implementace. Když kontrakt splňuje svou specifikaci, je popsán jako „funkčně správný“, „správný podle návrhu“ nebo „správný podle konstrukce“.
+
+### Co je formální model? {#what-is-a-formal-model}
+
+Ve výpočetní technice je [formální model](https://en.wikipedia.org/wiki/Model_of_computation) matematický popis výpočetního procesu. Programy jsou abstrahovány do matematických funkcí (rovnic) a model popisuje, jak se výstupy funkcí vypočítávají na základě zadaných vstupů.
+
+Formální modely poskytují úroveň abstrakce, nad kterou lze analyzovat chování programu. Existence formálních modelů umožňuje vytvoření _formální specifikace_, která popisuje požadované vlastnosti daného modelu.
+
+Pro modelování chytrých kontraktů za účelem formální verifikace se používají různé techniky. Například některé modely se používají k simulaci chování chytrého kontraktu na vysoké úrovni. Tyto modelovací techniky se na chytré kontrakty dívají jako na „černé skříňky“, vnímají je jako systémy, které přijímají vstupy a provádějí výpočty na základě těchto vstupů.
+
+Modely na vysoké úrovni se zaměřují na vztah mezi chytrými kontrakty a externími agenty, jako jsou externě vlastněné účty (EOAs), kontraktové účty a blockchainové prostředí. Tyto modely jsou užitečné pro definování vlastností určujících, jak by se měl kontrakt chovat v reakci na předem dané interakce uživatelů.
+
+Naopak, jiné formální modely se zaměřují na chování chytrého kontraktu na nižší úrovni. Zatímco modely zkoumající chování kontraktů na vysoké úrovni mohou pomoci při úvahách o funkčnosti kontraktu, není vyloučeno jejich selhání při zachycování detailů o interních mechanismech implementace. Modely pro nízké úrovně na analýzu programu aplikují pohled „bílé skříňky“ a spoléhají na nižší úroveň reprezentací aplikací chytrých kontraktů, jako jsou programové stopy a [grafy toku řízení](https://en.wikipedia.org/wiki/Control-flow_graph), za účelem úvah o relevantních vlastnostech pro vykonávání kontraktu.
+
+Modely nízké úrovně jsou považovány za ideální, protože reprezentují skutečnou exekuci chytrého kontraktu v prostředí Etherea (tj. v [EVM](/developers/docs/evm/)). Techniky modelování na nízké úrovni jsou zvláště užitečné při stanovování kritických bezpečnostních vlastností chytrých kontraktů a detekci potenciálních zranitelností.
+
+### Co je formální specifikace? {#what-is-a-formal-specification}
+
+Specifikace je jednoduše řečeno technický požadavek, který musí daný systém splňovat. V programování představují specifikace obecné představy o provádění programu (tj. co by měl program dělat).
+
+V kontextu chytrých kontraktů se formální specifikace týkají _vlastností_ – formálních popisů požadavků, které musí kontrakt splňovat. Takové vlastnosti se označují jako „invarianty“ a představují logická tvrzení o provádění kontraktu, která musí zůstat pravdivá za všech okolností, bez jakýchkoliv výjimek.
+
+Formální verifikaci tedy můžeme považovat za sbírku tvrzení napsaných ve formálním jazyce, která popisují zamýšlený výkon chytrého kontraktu. Specifikace pokrývají vlastnosti kontraktu a definují, jak by se měl chovat v různých situacích. Účelem formální verifikace je zjistit, zda chytrý kontrakt tyto vlastnosti (invarianty) má a zda nejsou tyto vlastnosti během provádění porušeny.
+
+Formální specifikace jsou klíčové při vývoji bezpečných implementací chytrých kontraktů. Kontrakty, které neimplementují invarianty nebo mají své vlastnosti porušené během provádění, jsou náchylné ke zranitelnostem, které mohou poškodit jejich funkčnost nebo umožnit zneužití.
+
+## Typy formálních specifikací pro chytré kontrakty {#formal-specifications-for-smart-contracts}
+
+Formální specifikace umožňují matematické uvažování o správnosti provádění programu. Stejně jako formální modely mohou formální specifikace zachytit buď vlastnosti na vysoké úrovni, nebo chování implementace kontraktu na nízké úrovni.
+
+Formální specifikace jsou odvozeny pomocí prvků [programové logiky](https://en.wikipedia.org/wiki/Logic_programming), která umožňuje formální uvažování o vlastnostech programu. Programová logika má formální pravidla, která vyjadřují (v matematickém jazyce) očekávané chování programu. Pro vytváření formálních specifikací se používají různé programové logiky, včetně [logiky dosažitelnosti](https://en.wikipedia.org/wiki/Reachability_problem), [temporální logiky](https://en.wikipedia.org/wiki/Temporal_logic) a [Hoareovy logiky](https://en.wikipedia.org/wiki/Hoare_logic).
+
+Formální specifikace pro chytré kontrakty lze obecně rozdělit na specifikace na **vysoké úrovni** a specifikace na **nízké úrovni**. Bez ohledu na to, do které kategorie specifikace patří, musí adekvátně a jednoznačně popisovat vlastnost systému, který je podroben analýze.
+
+### Specifikace na vysoké úrovni {#high-level-specifications}
+
+Jak název napovídá, specifikace na vysoké úrovni (také nazývané „modelově orientované specifikace“) popisují chování programu na vysoké úrovni. Specifikace na vysoké úrovni modelují chytrý kontrakt jako [konečný automat](https://en.wikipedia.org/wiki/Finite-state_machine) (final state machine, FSM), který může prováděním operací přecházet mezi stavy, přičemž pro definování formálních vlastností modelu FSM se používá temporální logika.
+
+[Temporální logiky](https://en.wikipedia.org/wiki/Temporal_logic) jsou „pravidla pro uvažování o tvrzeních kvalifikovaných z hlediska času (např. „_vždy_ mám hlad“ nebo „_nakonec_ budu mít hlad“)“. Když se aplikují na formální verifikaci, temporální logiky se používají k vyjádření tvrzení o správném chování systémů modelovaných jako automaty. Konkrétně popisuje temporální logika budoucí stavy, ve kterých se chytrý kontrakt může nacházet, a jak mezi těmito stavy přechází.
+
+Specifikace na vysoké úrovni obecně zachycují dvě klíčové temporální vlastnosti chytrých kontraktů: **bezpečnost** a **živost**. Bezpečnostní vlastnosti představují myšlenku, že „nic špatného se nikdy nestane“ a obvykle vyjadřují invarianty. Bezpečnostní vlastnost může definovat obecné softwarové požadavky, jako je ochrana před [zablokováním](https://www.techtarget.com/whatis/definition/deadlock), nebo vyjadřovat specifické vlastnosti pro chytré kontrakty (např. invarianty týkající se přístupu k funkcím, přípustné hodnoty stavových proměnných nebo podmínky pro převod tokenů).
+
+Vezměme si pro příklad tento bezpečnostní požadavek, který pokrývá podmínky pro použití funkcí `transfer()` nebo `transferFrom()` v ERC-20 tokenových kontraktech: _„Zůstatek odesílatele nikdy nesmí být nižší než požadované množství tokenů, které mají být odeslány.“_ Tento popis invariantu kontraktu v přirozeném jazyce lze převést do formální (matematické) specifikace, která pak může být rigorózně ověřena z hlediska platnosti.
+
+Živostní vlastnosti zajišťují, že „se ve výsledku stane něco dobrého“, a týkají se schopnosti kontraktu přepínat mezi různými stavy. Příkladem živostní vlastnosti je „likvidita“, která odkazuje na schopnost kontraktu převádět své zůstatky uživatelům na základě žádosti. Pokud je tato vlastnost porušena, uživatelé nejsou schopni vybrat aktiva uložená v kontraktu, jako se to stalo při incidentu s [Parity peněženkou](https://www.cnbc.com/2017/11/08/accidental-bug-may-have-frozen-280-worth-of-ether-on-parity-wallet.html).
+
+### Specifikace na nízké úrovni {#low-level-specifications}
+
+Specifikace na vysoké úrovni berou jako výchozí bod model konečného automatu kontraktu a definují požadované vlastnosti tohoto modelu. Naopak specifikace na nízké úrovni (také nazývané „specifikace orientované na vlastnosti“) často modelují programy (chytré kontrakty) jako systémy skládající se ze sbírky matematických funkcí a popisují správné chování těchto systémů.
+
+Jednoduše řečeno, specifikace na nízké úrovni analyzují _sledy funkcí programu_ a snaží se definovat vlastnosti chytrého kontraktu na základě těchto sledů. Sledy odkazují na sekvence provádění funkcí, které mění stav chytrého kontraktu; proto specifikace na nízké úrovni pomáhají specifikovat požadavky na interní exekuci kontraktu.
+
+Formální specifikace na nízké úrovni mohou být uvedeny buď jako vlastnosti ve stylu Hoareovy logiky, nebo jako invarianty na exekučních cestách.
+
+### Vlastnosti ve stylu Hoareovy logiky {#hoare-style-properties}
+
+[Hoareova logika](https://en.wikipedia.org/wiki/Hoare_logic) poskytuje sadu formálních pravidel pro uvažování o správnosti programů, včetně chytrých kontraktů. Vlastnost ve stylu Hoareovy logiky je reprezentována jako Hoareova trojice \{_P_}_c_\{_Q_}, kde _c_ je program a _P_ a _Q_ jsou predikáty na stavu _c_ (tj. programu), formálně popsané jako _předpoklady_ a _podmínky následku_.
+
+Předpoklad je predikát popisující podmínky potřebné pro správné provedení funkce; uživatelé volající kontrakt musí tuto podmínku splnit. Podmínka následku je predikát popisující podmínku, kterou funkce stanoví, pokud je správně provedena; uživatelé mohou očekávat, že tato podmínka bude po volání funkce pravdivá. _Invariant_ v Hoareově logice je predikát, který je zachován při provádění funkce (tj. nemění se).
+
+Specifikace ve stylu Hoareovy logiky mohou zaručit buď _částečnou správnost_, _nebo úplnou správnost_. Implementace funkce kontraktu je „částečně správná“, pokud předpoklad platí před provedením funkce a když provedení končí, podmínka následku je také pravdivá. Důkaz úplné správnosti je obdržen, pokud je předpoklad pravdivý před provedením funkce, dále je zaručeno, že provádění funkce bude ukončeno, a když k tomu dojde, následek bude pravdivý.
+
+Získání důkazu o úplné správnosti je obtížné, protože některá provedení se mohou před ukončením opozdit, nebo nemusí být dokončena vůbec. To znamená, že otázka, zda provedení skončí, je pravděpodobně diskutabilní, protože mechanismus paliva na Ethereu zabraňuje nekonečným smyčkám programu (provádění buď úspěšně skončí, nebo skončí kvůli chybě „došlo palivo“).
+
+Specifikace chytrých kontraktů vytvořené pomocí Hoareovy logiky budou mít definovány předpoklady, podmínky následku a invarianty pro provedení funkcí a smyček kontraktu. Předpoklady často zahrnují možnost chybných vstupů funkce, přičemž následky popisují očekávanou reakci na takové vstupy (např. vyvolání specifické výjimky). Tímto způsobem jsou vlastnosti ve stylu Hoareovy logiky účinné při zajišťování správnosti implementací kontraktů.
+
+Mnoho rámců pro formální verifikaci používá specifikace ve stylu Hoareovy logiky k prokázání sémantické správnosti funkcí. Je také možné přidat vlastnosti ve stylu Hoareovy logiky (jako tvrzení) přímo do kódu kontraktu pomocí příkazů `require` a `assert` v jazyce Solidity.
+
+Příkazy `require` vyjadřují předpoklad nebo invariant a často se používají k ověření vstupů uživatelů, zatímco `assert` zachycuje podmínku následku nezbytnou pro bezpečnost. Například správná kontrola přístupu k funkcím (příklad bezpečnostní vlastnosti) může být zajištěna pomocí `require` jako předpokladu ověřujícího identitu volajícího účtu. Podobně lze invariant na přípustné hodnoty stavových proměnných v kontraktu (např. celkový počet tokenů v oběhu) chránit před porušením pomocí `assert`, aby se potvrdil stav kontraktu po provedení funkce.
+
+### Vlastnosti na úrovni trasování {#trace-level-properties}
+
+Specifikace založené na trasování popisují operace, které mění různé stavy kontraktu, a vztahy mezi těmito operacemi. Jak jsme vysvětlili výše, trasy jsou sekvence operací, které mění stav kontraktu určitým způsobem.
+
+Tento přístup se spoléhá na modelování chytrých kontraktů jako systémů změny stavů s předdefinovanými stavy (popisovanými stavovými proměnnými) spolu se souborem předdefinovaných přechodů (popisovaných funkcemi kontraktu). Dále se často používá [graf toků řízení](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/) (CFG), což je grafické znázornění toku provádění programu, pro popis operační sémantiky kontraktu. V něm je každá trasa reprezentována jako cesta na tomto grafu toků řízení.
+
+Primárně se specifikace na úrovni tras používají k úvahám o vzorcích interního provádění v chytrých kontraktech. Vytvořením specifikací na úrovni tras se ujišťujeme o přípustných cestách provedení (tj. přechodech stavů) pro daný chytrý kontrakt. Pomocí technik, jako je symbolické provádění, můžeme formálně ověřit, že provedení nikdy nenásleduje cestu, která není definována ve formálním modelu.
+
+Použijme příklad [DAO](/dao/) kontraktu, který má několik veřejně přístupných funkcí, abychom popsali vlastnosti na úrovni tras. Pro tento příklad předpokládáme, že DAO kontrakt umožňuje uživatelům provádět následující operace:
+
+- Vklad prostředků
+
+- Hlasování o návrhu po vložení prostředků
+
+- Požadování vrácení peněz, pokud uživatelé o návrhu nehlasovali
+
+Příklady vlastností na úrovni tras by mohly být _„uživatelé, kteří nevložili prostředky, nemohou hlasovat o návrhu“_ nebo _„uživatelé, kteří nehlasovali o návrhu, by měli mít vždy možnost požádat o vrácení peněz“_. Obě vlastnosti zajišťují preferované sekvence provádění (hlasování nemůže probíhat _před_ vložením prostředků a požadování vrácení peněz nemůže probíhat _po_ hlasování o návrhu).
+
+## Techniky formální verifikace pro chytré kontrakty {#formal-verification-techniques}
+
+### Kontrola modelu {#model-checking}
+
+Kontrola modelu je technika formální verifikace, při které algoritmus kontroluje formální model chytrého kontraktu vůči jeho specifikaci. Při kontrole modelu jsou chytré kontrakty často reprezentovány jako systémy přechodu stavů, zatímco vlastnosti přípustných stavů kontraktu jsou definovány pomocí dočasné logiky.
+
+Kontrola modelu vyžaduje vytvoření abstraktní matematické reprezentace systému (tj. kontraktu) a vyjádření vlastností tohoto systému pomocí vzorců založených na [výrokové logice](https://www.baeldung.com/cs/propositional-logic). To zjednodušuje úkol algoritmu kontroly modelu, kterým je možné prokázat, že matematický model splňuje daný logický vzorec.
+
+Kontrola modelu se ve formální verifikaci primárně používá k vyhodnocení dočasných vlastností, které popisují chování kontraktu v průběhu času. Dočasné vlastnosti pro chytré kontrakty zahrnují _bezpečnost_ a _živost_, které jsme vysvětlili dříve.
+
+Například bezpečnostní vlastnost týkající se kontroly přístupu (např. _Pouze vlastník kontraktu může volat `selfdestruct`_) může být napsána ve formální logice. Poté může algoritmus kontroly modelu ověřit, zda kontrakt splňuje tuto formální specifikaci.
+
+Kontrola modelu využívá prozkoumávání stavového prostoru, což zahrnuje konstrukci všech možných stavů chytrého kontraktu a pokus o nalezení dosažitelných stavů, které vedou k porušení chtěných vlastností. To však může vést k nekonečnému počtu stavů (známému jako „problém explozí stavů“), proto se při kontrole modelu spoléhejte na abstrakční techniky, které umožňují efektivní analýzu chytrých kontraktů.
+
+### Dokazování vět {#theorem-proving}
+
+Dokazování věz je metoda matematického uvažování o správnosti programů, včetně chytrých kontraktů. Spočívá v transformaci modelu systému kontraktu a jeho specifikací na matematické formule (logické výroky).
+
+Cílem dokazování vět je ověřit logickou ekvivalenci mezi těmito výroky. „Logická ekvivalence“ (také nazývaná „obousměrná logická implikace“) je typ vztahu mezi dvěma výroky, kdy první výrok je pravdivý, _pokud a jen pokud_ je pravdivý i druhý výrok.
+
+Požadovaný vztah (logická ekvivalence) mezi výroky o modelu kontraktu a jeho vlastnostech je formulován jako dokazatelný výrok (nazývaný věta). Pomocí formálního systému odvozování může automatizovaný důkazní systém ověřit platnost této věty. Jinými slovy, důkazní systém může jednoznačně prokázat, že model chytrého kontraktu přesně odpovídá jeho specifikacím.
+
+Zatímco kontrola modelu nahlíží na kontrakty jako na přechodové systémy s konečnými stavy, dokazování vět dokáže analyzovat systémy s nekonečným počtem stavů. To však znamená, že automatizovaný důkazní systém nemůže vždy vědět, zda je logický problém „rozhodnutelný“ nebo ne.
+
+V důsledku toho je často k vedení důkazního systému při odvozování důkazů správnosti zapotřebí lidská asistence. Použití lidského faktoru při důkazu vět činí tuto metodu nákladnější ve srovnání s kontrolou modelu, která je plně automatizovaná.
+
+### Symbolické provádění {#symbolic-execution}
+
+Symbolické provádění je metoda analýzy chytrých kontraktů, která provádí funkce pomocí _symbolických hodnot_ (např. `x > 5`) místo _konkrétních hodnot_ (např. `x == 5`). Jako technika formální verifikace se symbolické provádění používá k formálnímu uvažování o vlastnostech na úrovni tras v kódu kontraktu.
+
+Symbolické provádění reprezentuje trasu provádění jako matematický vzorec nad symbolickými vstupními hodnotami, které se jinak nazývají _predikát cesty_. K ověření, zda je predikát cesty „splnitelný“ (tj. zda existuje hodnota, která může vzorec splnit), se používá [SMT solver](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories). Pokud je zranitelná trasa splnitelná, SMT solver vygeneruje konkrétní hodnotu, která nasměruje provádění směrem k této trase.
+
+Předpokládejme, že funkce chytrého kontraktu přijímá jako vstup hodnotu typu `uint` (`x`) a vrací chybu, když je `x` větší než `5` a zároveň menší než `10`. Nalezení hodnoty pro `x`, která vyvolá chybu, by pomocí běžného testovacího postupu vyžadovalo provedení desítek testovacích případů (nebo více) bez záruky, že skutečně najdete vstup, který chybu vyvolá.
+
+Naopak, nástroj pro symbolické provádění by funkci spustil se symbolickou hodnotou: `X > 5 ∧ X < 10` (tj. `x` je větší než 5 A `x` je menší než 10). Příslušný predikát cesty `x = X > 5 ∧ X < 10` by byl poté zadán SMT solveru k vyřešení. Pokud nějaká hodnota splňuje vzorec `x = X > 5 ∧ X < 10`, SMT solver ji vypočítá – například solver může pro `x` vygenerovat hodnotu `7`.
+
+Protože se symbolické provádění spoléhá na vstupy programu a množina vstupů pro prozkoumání všech dosažitelných stavů je potenciálně nekonečná, stále se jedná o formu testování. Jak však ukazuje příklad, symbolické provádění je efektivnější než běžné testování pro hledání vstupů, které vyvolávají porušení vlastností.
+
+Navíc symbolické provádění generuje méně falešných pozitiv než jiné techniky založené na vlastnostech (např. fuzzing), které náhodně generují vstupy do funkce. Pokud se během symbolického provádění vyvolá stav chyby, je možné vygenerovat konkrétní hodnotu, která chybu vyvolá, a tím problém reprodukovat.
+
+Symbolické provádění může také poskytnout určitou míru matematického důkazu správnosti. Zvažte následující příklad funkce kontraktu s ochranou proti přetečení:
+
+```
+function safe_add(uint x, uint y) returns(uint z){
+
+ z = x + y;
+ require(z>=x);
+ require(z>=y);
+
+ return z;
+```
+
+Trasování provádění, které vede k přetečení celého čísla, by muselo splňovat vzorec: `z = x + y AND (z >= x) AND (z=>y) AND (z < x OR z < y)` Takový vzorec je nepravděpodobný k vyřešení, slouží tedy jako matematický důkaz, že funkce `safe_add` nikdy nepřeteče.
+
+### Proč používat formální ověřování pro chytré kontrakty? {#benefits-of-formal-verification}
+
+#### Potřeba spolehlivosti {#need-for-reliability}
+
+Formální ověřování se používá k posouzení správnosti systémů kritických z hlediska bezpečnosti, jejichž selhání může mít katastrofální následky, jako je smrt, zranění nebo finanční krach. Chytré kontrakty jsou aplikace s vysokou hodnotou, které ovládají obrovské množství hodnot, a jednoduché chyby v návrhu mohou vést k [nezvratným ztrátám pro uživatele](https://www.freecodecamp.org/news/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce/amp/). Formální ověření kontraktu před jeho nasazením však může zvýšit záruku, že bude po spuštění na blockchainu fungovat dle očekávání.
+
+Spolehlivost je velmi žádaná vlastnost každého chytrého kontraktu, zejména proto, že kód nasazený ve virtuálním stroji Etherea (EVM) je obvykle neměnný. Vzhledem k tomu, že aktualizace po spuštění nejsou snadno dostupné, je nutné zaručit spolehlivost kontraktu a provést formální ověření. Formální ověřování dokáže odhalit záludné problémy, jako je přetečení a podtečení integerů, reentrace a špatná optimalizace paliva, které mohou auditorům a testerům uniknout.
+
+#### Prokázání funkční správnosti {#prove-functional-correctness}
+
+Testování programu je nejběžnější metodou, jak prokázat, že chytrý kontrakt splňuje určité požadavky. To zahrnuje spuštění kontraktu se vzorkem dat, která má zpracovávat, a analýzu jeho chování. Pokud kontrakt vrátí očekávané výsledky pro vzorová data, mají vývojáři objektivní důkaz jeho správnosti.
+
+Tento přístup však nemůže prokázat správné provedení pro vstupní hodnoty, které nejsou součástí vzorku. Proto testování kontraktu může pomoci odhalit chyby (tj. pokud některé cesty kódu nevracejí během provádění požadované výsledky), ale **nemůže jednoznačně prokázat neexistenci chyb**.
+
+Naopak formální ověřování může formálně dokázat, že chytrý kontrakt splňuje požadavky pro nekonečný rozsah provedení _bez toho_, aby se kontrakt vůbec spustil. To vyžaduje vytvoření formální specifikace, která přesně popisuje správné chování kontraktu, a vytvoření formálního (matematického) modelu systému kontraktu. Poté můžeme formálním důkazním postupem zkontrolovat soulad mezi modelem kontraktu a jeho specifikací.
+
+Při formálním ověřování je otázka ověření, zda obchodní logika kontraktu splňuje požadavky, matematickým tvrzením, které lze dokázat nebo vyvrátit. Formálním dokazováním tvrzení můžeme ověřit nekonečný počet testovacích případů s konečným počtem kroků. Tímto způsobem má formální ověření lepší vyhlídky prokázat, že kontrakt je funkčně shodný se specifikací.
+
+#### Ideální cíle ověřování {#ideal-verification-targets}
+
+Cíl ověřování popisuje systém, který má být formálně ověřen. Formální ověřování se nejlépe používá ve „vestavěných systémech“ (malých, jednoduchých částech softwaru, které jsou součástí většího systému). Jsou také ideální pro specializované domény, které mají málo pravidel, protože to usnadňuje úpravu nástrojů pro ověřování vlastností specifických pro danou doménu.
+
+Chytré kontrakty – alespoň do určité míry – splňují oba požadavky. Například díky malé velikosti kontraktů na Ethereu je lze formálně ověřit. Podobně se řídí jednoduchými pravidly i EVM, což usnadňuje specifikaci a ověřování sémantických vlastností programů běžících v EVM.
+
+### Rychlejší vývojový cyklus {#faster-development-cycle}
+
+Techniky formálního ověřování, jako je kontrola modelu a symbolické provádění, jsou obecně účinnější než běžná analýza kódu chytrých kontraktů (prováděná během testování nebo auditu). Je to proto, že formální ověřování se při testování tvrzení spoléhá na symbolické hodnoty („co když se uživatel pokusí vybrat _n_ etheru?“) na rozdíl od testování, které používá konkrétní hodnoty („co když se uživatel pokusí vybrat 5 etheru?“).
+
+Symbolické vstupní proměnné mohou pokrývat více tříd konkrétních hodnot, takže formální ověřovací přístupy slibují větší pokrytí kódu v kratším časovém horizontu. Pokud se formální ověřování používá efektivně, může vývojářům urychlit vývojový cyklus.
+
+Formální ověřování také zlepšuje proces vytváření decentralizovaných aplikací (dappek) tím, že omezuje nákladné chyby v návrhu. Aktualizace kontraktů (tam, kde je to možné) za účelem opravy zranitelností vyžaduje rozsáhlé přepisování kódových základen a větší úsilí vynaložené na vývoj. Formální ověřování může odhalit mnoho chyb v implementacích kontraktů, které mohou testerům a auditorům uniknout, a poskytuje dostatek příležitostí k jejich odstranění před nasazením kontraktu.
+
+## Nevýhody formálního ověřování {#drawbacks-of-formal-verification}
+
+### Náklady na ruční práci {#cost-of-manual-labor}
+
+Formální ověřování, zejména poloautomatické ověřování, při němž člověk vede dokazovací nástroj při odvozování důkazů správnosti, vyžaduje značné množství ruční práce. Tvorba formální specifikace je navíc složitá činnost, která vyžaduje vysokou úroveň dovedností.
+
+Tyto faktory (úsilí a dovednosti) činí formální ověřování náročnějším a nákladnějším ve srovnání s obvyklými metodami posuzování správnosti kontraktů, jako je testování a audity. Nicméně vzhledem k nákladům na chyby v implementacích chytrých kontraktů je zaplacení nákladů na úplný ověřovací audit praktické.
+
+### Falešně negativní výsledky {#false-negatives}
+
+Formální ověřování může pouze zkontrolovat, zda provedení chytrého kontraktu odpovídá formální specifikaci. Proto je důležité zajistit, aby specifikace správně popisovala očekávané chování chytrého kontraktu.
+
+Pokud jsou specifikace špatně napsané, porušení vlastností, které poukazují na zranitelná provedení, nelze při auditu formálního ověřování odhalit. V takovém případě by se vývojář mohl mylně domnívat, že kontrakt je bez chyb.
+
+### Výkonnostní problémy {#performance-issues}
+
+Formální ověřování naráží na řadu výkonnostních problémů. Například problémy s explozí stavů a cest, které se vyskytují při kontrole modelu, resp. symbolické kontrole, mohou ovlivnit verifikační postupy. Dále formální ověřovací nástroje často používají ve své základní vrstvě SMT řešiče a jiné řešiče omezení a ty se spoléhají na výpočetně náročné postupy.
+
+Také není vždy možné, aby ověřovatelé programů určili, zda je vlastnost (popsaná jako logická formule) splnitelná nebo ne („problém [rozhodnutelnosti](https://en.wikipedia.org/wiki/Decision_problem)“), protože program nemusí být nikdy ukončen. Proto může být nemožné prokázat některé vlastnosti kontraktu, i když je dobře specifikovaný.
+
+## Nástroje pro formální ověřování chytrých kontraktů na Ethereu {#formal-verification-tools}
+
+### Specifikační jazyky pro vytváření formálních specifikací {#specification-languages}
+
+**Act** – _*Act umožňuje specifikovat aktualizace úložiště, předběžné/následné podmínky a invarianty kontraktu. Jeho sada nástrojů má také dokazovací backendy, které dokáží dokázat mnoho vlastností pomocí Coq, SMT solverů nebo hevm.**
+
+- [GitHub](https://github.com/ethereum/act)
+- [Dokumentace](https://ethereum.github.io/act/)
+
+**Scribble** – _*Scribble transformuje anotace kódu ve specifikačním jazyce Scribble na konkrétní tvrzení, která kontrolují specifikaci.**
+
+- [Dokumentace](https://docs.scribble.codes/)
+
+**Dafny** – _*Dafny je programovací jazyk připravený na ověřování, který se spoléhá na vysokoúrovňové anotace pro zdůvodnění a prokázání správnosti kódu.**
+
+- [GitHub](https://github.com/dafny-lang/dafny)
+
+### Ověřovače programů pro kontrolu správnosti {#program-verifiers}
+
+**Certora Prover** – _Certora Prover je automatický formální ověřovací nástroj pro kontrolu správnosti kódu v chytrých kontraktech. Specifikace jsou napsány v jazyce CVL (Certora Verification Language), přičemž porušení vlastností se zjišťuje pomocí kombinace statické analýzy a řešení omezení._
+
+- [Web](https://www.certora.com/)
+- [Dokumentace](https://docs.certora.com/en/latest/index.html)
+
+**Solidity SMTChecker** – _*Solidity SMTChecker je vestavěný ověřovač modelu založený na SMT (Satisfiability Modulo Theories) a Hornově řešení. Během kompilace potvrzuje, zda zdrojový kód kontraktu odpovídá specifikacím, a staticky kontroluje, zda nejsou porušeny bezpečnostní vlastnosti.**
+
+- [GitHub](https://github.com/ethereum/solidity)
+
+**solc-verify** – _*solc-verify je rozšířená verze kompilátoru Solidity, která dokáže provádět automatické formální ověřování kódu Solidity pomocí anotací a modulárního ověřování programu.**
+
+- [GitHub](https://github.com/SRI-CSL/solidity)
+
+**KEVM** – _*KEVM je formální sémantika virtuálního stroje Etherea (EVM) napsaná ve frameworku K. KEVM je spustitelný a může dokazovat určitá tvrzení týkající se vlastností pomocí logiky dosažitelnosti.**
+
+- [GitHub](https://github.com/runtimeverification/evm-semantics)
+- [Dokumentace](https://jellopaper.org/)
+
+### Logické frameworky pro dokazování tvrzení {#theorem-provers}
+
+**Isabelle** – _Isabelle/HOL je dokazovací pomocník, který umožňuje vyjádřit matematické formule ve formálním jazyce a poskytuje nástroje pro dokazování těchto formulí. Hlavní aplikací je formalizace matematických důkazů a zejména formální ověřování, které zahrnuje dokazování správnosti počítačového hardwaru nebo softwaru a dokazování vlastností počítačových jazyků a protokolů._
+
+- [GitHub](https://github.com/isabelle-prover)
+- [Dokumentace](https://isabelle.in.tum.de/documentation.html)
+
+**Coq** – _Coq je interaktivní dokazovací nástroj, který umožňuje definovat programy pomocí vět a interaktivně generovat strojově kontrolované důkazy správnosti._
+
+- [GitHub](https://github.com/coq/coq)
+- [Dokumentace](https://coq.github.io/doc/v8.13/refman/index.html)
+
+### Nástroje pro odhalování zranitelných vzorů v chytrých kontraktech založené na symbolickém provádění {#symbolic-execution-tools}
+
+**Manticore** – _*Nástroj pro analýzu bytekódu EVM založený na symbolickém provádění*.*
+
+- [GitHub](https://github.com/trailofbits/manticore)
+- [Dokumentace](https://github.com/trailofbits/manticore/wiki)
+
+**hevm** – _*hevm je nástroj pro symbolické provádění a kontrolu ekvivalence pro bytekód EVM.**
+
+- [GitHub](https://github.com/dapphub/dapptools/tree/master/src/hevm)
+
+**Mythril** – _Nástroj pro symbolické provádění k odhalování zranitelností v chytrých kontraktech Etherea._
+
+- [GitHub](https://github.com/ConsenSys/mythril-classic)
+- [Dokumentace](https://mythril-classic.readthedocs.io/en/develop/)
+
+## Další četba {#further-reading}
+
+- [Jak funguje formální ověřování chytrých kontraktů](https://runtimeverification.com/blog/how-formal-verification-of-smart-contracts-works/)
+- [Jak může formální ověřování zajistit bezchybné chytré kontrakty](https://media.consensys.net/how-formal-verification-can-ensure-flawless-smart-contracts-cbda8ad99bd1)
+- [Přehled projektů formálního ověřování v ekosystému Etherea](https://github.com/leonardoalt/ethereum_formal_verification_overview)
+- [Formální end-to-end ověřování chytrého kontraktu Ethereum 2.0 Deposit Smart Contract](https://runtimeverification.com/blog/end-to-end-formal-verification-of-ethereum-2-0-deposit-smart-contract/)
+- [Formální ověření nejoblíbenějšího chytrého kontraktu na světě](https://www.zellic.io/blog/formal-verification-weth)
+- [SMTChecker a formální ověřování](https://docs.soliditylang.org/en/v0.8.15/smtchecker.html)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/index.md b/public/content/translations/cs/developers/docs/smart-contracts/index.md
new file mode 100644
index 00000000000..1608d0dd257
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/index.md
@@ -0,0 +1,112 @@
+---
+title: Úvod do smart kontraktů
+description: Přehled smart kontraktů se zaměřením na jejich jedinečné vlastnosti a omezení.
+lang: cs
+---
+
+## Co to je smart kontrakt? {#what-is-a-smart-contract}
+
+„Smart kontrakt“ je jednoduše program, který je spuštěn na blockchainu Ethereum. Je to sbírka kódu (jeho funkcí) a dat (jeho stavu), které sídlí na specifické adrese na blockchainu Ethereum.
+
+Smart kontrakty jsou typem [účtu na Ethereu](/developers/docs/accounts/). To znamená, že mají zůstatek a mohou být cílem transakcí. Nejsou však ovládány uživatelem, místo toho jsou nasazeny na síť a běží podle toho, jak jsou naprogramovány. Uživatelé pak mohou interagovat se smart kontraktem prostřednictvím transakcí, které spouštějí funkce definované na smart kontraktu. Smart kontrakty mohou definovat pravidla, podobně jako běžné smlouvy, a automaticky je vynucovat prostřednictvím kódu. Smart kontrakty nelze ve výchozím nastavení smazat a interakce s nimi jsou nevratné.
+
+## Předpoklady {#prerequisites}
+
+Pokud teprve začínáte nebo hledáte méně technický úvod, doporučujeme si přečíst naši [úvodní příručku ke smart kontraktům](/smart-contracts/).
+
+Ujistěte se, že jste si přečetli informace o [účtech](/developers/docs/accounts/), [transakcích](/developers/docs/transactions/) a [Virtuálním stroji Etherea](/developers/docs/evm/), než se pustíte do světa smart kontraktů.
+
+## Digitální výdejní automat {#a-digital-vending-machine}
+
+Možná nejlepší metaforou pro smart kontrakt je výdejní automat, jak jej popsal [Nick Szabo](https://unenumerated.blogspot.com/). S těmi správnými vstupy je zaručen určitý výstup.
+
+Pakliže chcete svačinu z prodejního automatu:
+
+```
+money + snack selection = snack dispensed
+```
+
+Tato logika je naprogramována do automatu.
+
+Smart kontrakt má do sebe naprogramovanou logiku, podobně jako prodejní automat. Zde je jednoduchý příklad, jak by takový prodejní automat vypadal, kdyby to byl smart kontrakt napsaný v Solidity:
+
+```solidity
+pragma solidity 0.8.7;
+
+contract VendingMachine {
+
+ // Declare state variables of the contract
+ address public owner;
+ mapping (address => uint) public cupcakeBalances;
+
+ // When 'VendingMachine' contract is deployed:
+ // 1. set the deploying address as the owner of the contract
+ // 2. set the deployed smart contract's cupcake balance to 100
+ constructor() {
+ owner = msg.sender;
+ cupcakeBalances[address(this)] = 100;
+ }
+
+ // Allow the owner to increase the smart contract's cupcake balance
+ function refill(uint amount) public {
+ require(msg.sender == owner, "Only the owner can refill.");
+ cupcakeBalances[address(this)] += amount;
+ }
+
+ // Allow anyone to purchase cupcakes
+ function purchase(uint amount) public payable {
+ require(msg.value >= amount * 1 ether, "You must pay at least 1 ETH per cupcake");
+ require(cupcakeBalances[address(this)] >= amount, "Not enough cupcakes in stock to complete this purchase");
+ cupcakeBalances[address(this)] -= amount;
+ cupcakeBalances[msg.sender] += amount;
+ }
+}
+```
+
+Podobně jako prodejní automat odstraňuje potřebu zaměstnance prodejce, smart kontrakty mohou nahradit prostředníky v mnoha průmyslových odvětvích.
+
+## Bez nutnosti povolení {#permissionless}
+
+Kdokoli může napsat smart kontrakt a vypustit ho na síť. Stačí se naučit programovat v [jazyce pro smart kontrakty](/developers/docs/smart-contracts/languages/) a mít dostatek ETH k nasazení kontraktu. Nasazení smart kontraktu je z technického hlediska transakcí, takže musíte zaplatit poplatek za [palivo](/developers/docs/gas/), stejně jako při jednoduchém převodu ETH. Náklady na palivo jsou však při nasazení kontraktu mnohem vyšší.
+
+Ethereum má programovací jazyky pro psaní smart kontraktů, které jsou vývojářsky přívětivé:
+
+- Solidity
+- Vyper
+
+[Další informace o jazycích](/developers/docs/smart-contracts/languages/)
+
+Je však třeba je před nasazením zkompilovat, aby je Virtuální stroj Etherea mohl interpretovat a uložit. [Více informací o kompilaci](/developers/docs/smart-contracts/compiling/)
+
+## Složitelnost {#composability}
+
+Chytré kontrakty na Ethereu jsou veřejné a lze je považovat za otevřená API. To znamená, že ve svém smart kontraktu můžete volat jiné smart kontrakty, což značně rozšiřuje vaše možnosti. Kontrakty mohou dokonce nasazovat další kontrakty.
+
+Další informace o [komponovatelnosti smart kontraktů](/developers/docs/smart-contracts/composability/).
+
+## Omezení {#limitations}
+
+Samotné chytré kontrakty nemohou získávat informace o „skutečných“ událostech, protože nemohou získávat data ze zdrojů mimo blockchain. To znamená, že nemohou reagovat na události ve skutečném světě. Tento design je úmyslný. Spoléhat se na externí informace by mohlo ohrozit konsenzus, což je důležité pro bezpečnost a decentralizaci.
+
+Nicméně je důležité, aby blockchainové aplikace mohly používat data, která jsou mimo blockchain. Řešením jsou [orákula](/developers/docs/oracles/), což jsou nástroje, které zpracovávají data mimo blockchain a zpřístupňují je chytrým kontraktům.
+
+Dalším omezením smart kontraktů je maximální velikost kontraktu. Smart kontrakt může mít maximálně 24 Kb, jinak dojde k vyčerpání paliva. Toto lze obejít pomocí tzv. [Diamond Pattern](https://eips.ethereum.org/EIPS/eip-2535).
+
+## Multisig kontrakty {#multisig}
+
+Multisig (vícepodpisové) kontrakty jsou smart kontraktové účty, které vyžadují více platných podpisů k provedení transakce. To je velmi užitečné pro zabránění jednotlivým bodům selhání u kontraktů držících značné množství etheru nebo jiných tokenů. Multisigy také mohou rozdělit odpovědnost za provádění kontraktů a správu klíčů mezi více stran a zabraňují ztrátě prostředků v případě ztráty jediného soukromého klíče. Z těchto důvodů lze multisig kontrakty použít pro jednoduchou správu DAO. Multisigy vyžadují N podpisů z M možných přijatelných podpisů (kde N ≤ M a M > 1) k provedení transakce. Běžně se používají multisigy `N = 3, M = 5` a `N = 4, M = 7`. Multisig 4/7 vyžaduje čtyři ze sedmi možných platných podpisů. To znamená, že prostředky jsou stále dostupné, i když jsou ztraceny tři podpisy. V tomto případě to také znamená, že většina držitelů klíčů musí souhlasit a podepsat, aby mohl být kontrakt exekuován.
+
+## Zdroje smart kontraktů {#smart-contract-resources}
+
+**OpenZeppelin Contracts –** **_knihovna pro vývoj bezpečných chytrých kontraktů._**
+
+- [openzeppelin.com/contracts/](https://openzeppelin.com/contracts/)
+- [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts)
+- [Komunitní fórum](https://forum.openzeppelin.com/c/general/16)
+
+## Další informace {#further-reading}
+
+- [Coinbase: Co je to smart kontrakt?](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract)
+- [Chainlink: Co je to smart kontrakt?](https://chain.link/education/smart-contracts)
+- [Video: Simply Explained – Smart Contracts](https://youtu.be/ZE2HxTmxfrI)
+- [Cyfrin Updraft: Web3 learning and auditing platform](https://updraft.cyfrin.io)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md b/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
new file mode 100644
index 00000000000..882a65a5f1d
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/languages/index.md
@@ -0,0 +1,326 @@
+---
+title: Jazyk chytrých smluv
+description: Přehled a srovnání dvou hlavních programovacích jazyků pro smart kontrakty – Solidity a Vyper.
+lang: cs
+---
+
+Jednou z výhod Etherea je, že smart kontrakty lze programovat v relativně uživatelsky přívětivých programovacích jazycích. Pokud máte zkušenosti s Pythonem nebo jiným [jazykem používajícím složené závorky](https://wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages), můžete si najít jazyk s podobnou syntaxí.
+
+Dva nejaktivnější a nejvíce udržované jazyky jsou:
+
+- Solidity
+- Vyper
+
+Remix IDE poskytuje komplexní vývojové prostředí pro vytváření a testování kontraktů jak v Solidity, tak ve Vyperu. [Vyzkoušejte webový Remix IDE](https://remix.ethereum.org), abyste mohli začít kódovat.
+
+Zkušenější vývojáři mohou také chtít používat Yul, což je intermediární jazyk pro [Virtuální stroj Etherea](/developers/docs/evm/), nebo Yul+, rozšíření jazyka Yul.
+
+Pokud jste zvědaví a rádi pomáháte testovat nové jazyky, které jsou stále ve fázi intenzivního vývoje, můžete experimentovat s Fe, nově vznikajícím jazykem pro smart kontrakty, který je v současnosti ještě v rané fázi.
+
+## Předpoklady {#prerequisites}
+
+Předchozí znalosti programovacích jazyků, zejména JavaScriptu nebo Pythonu, vám mohou pomoci lépe porozumět rozdílům mezi jazyky pro smart kontrakty. Doporučujeme také, abyste nejprve pochopili koncept smart kontraktů, než se ponoříte do srovnání jazyků. [Úvod do smart kontraktů](/developers/docs/smart-contracts/).
+
+## Solidity {#solidity}
+
+- Objektově orientovaný, vysoce úrovňový jazyk pro implementaci chytrých kontraktů.
+- Jazyk se složenými závorkami, který je nejvíce ovlivněn jazykem C++.
+- Staticky typovaný (typ proměnné je znám v době kompilace).
+- Podporuje:
+ - Dědičnost (můžete rozšiřovat jiné kontrakty).
+ - Knihovny (můžete vytvářet opakovaně použitelný kód, který můžete volat z různých kontraktů – podobně jako statické funkce ve statické třídě v jiných objektově orientovaných programovacích jazycích).
+ - Komplexní uživatelem definované typy.
+
+### Důležité odkazy {#important-links}
+
+- [Dokumentace](https://docs.soliditylang.org/en/latest/)
+- [Portál jazyka Solidity](https://soliditylang.org/)
+- [Solidity by Example](https://docs.soliditylang.org/en/latest/solidity-by-example.html)
+- [GitHub](https://github.com/ethereum/solidity/)
+- [Solidity Gitter Chatroom](https://gitter.im/ethereum/solidity) propojeno se [Solidity Matrix Chatroom](https://matrix.to/#/#ethereum_solidity:gitter.im)
+- [Tahák](https://reference.auditless.com/cheatsheet)
+- [Blog Solidity](https://blog.soliditylang.org/)
+- [Twitter Solidity](https://twitter.com/solidity_lang)
+
+### Ukázkový kontrakt {#example-contract}
+
+```solidity
+// SPDX-License-Identifier: GPL-3.0
+pragma solidity >= 0.7.0;
+
+contract Coin {
+ // The keyword "public" makes variables
+ // accessible from other contracts
+ address public minter;
+ mapping (address => uint) public balances;
+
+ // Events allow clients to react to specific
+ // contract changes you declare
+ event Sent(address from, address to, uint amount);
+
+ // Constructor code is only run when the contract
+ // is created
+ constructor() {
+ minter = msg.sender;
+ }
+
+ // Sends an amount of newly created coins to an address
+ // Can only be called by the contract creator
+ function mint(address receiver, uint amount) public {
+ require(msg.sender == minter);
+ require(amount < 1e60);
+ balances[receiver] += amount;
+ }
+
+ // Sends an amount of existing coins
+ // from any caller to an address
+ function send(address receiver, uint amount) public {
+ require(amount <= balances[msg.sender], "Insufficient balance.");
+ balances[msg.sender] -= amount;
+ balances[receiver] += amount;
+ emit Sent(msg.sender, receiver, amount);
+ }
+}
+```
+
+Tento příklad by vám měl poskytnout představu o tom, jaká je syntaxe kontraktů v Solidity. Pro podrobnější popis funkcí a proměnných [si přečtěte dokumentaci](https://docs.soliditylang.org/en/latest/contracts.html).
+
+## Vyper {#vyper}
+
+- Pythonický programovací jazyk
+- Silné typování
+- Malý a srozumitelný kompilátor
+- Efektivní generování bytekódu
+- Úmyslně má méně funkcí než Solidity s cílem učinit kontrakty bezpečnějšími a snáze auditovatelnými. Vyper nepodporuje:
+ - Modifikátory
+ - #Dědičnost
+ - Inline sestavení (assembly)
+ - Přetěžování funkcí
+ - Přetěžování operátorů
+ - Rekurzivní volání
+ - Nekonečné smyčky
+ - Binární pevné body
+
+Pro více informací si přečtěte [Vyper rationale](https://vyper.readthedocs.io/en/latest/index.html).
+
+### Důležité odkazy {#important-links-1}
+
+- [Dokumentace](https://vyper.readthedocs.io)
+- [Vyper by Example](https://vyper.readthedocs.io/en/latest/vyper-by-example.html)
+- [More Vyper by Example](https://vyper-by-example.org/)
+- [GitHub](https://github.com/vyperlang/vyper)
+- [Discord chat Vyper komunity](https://discord.gg/SdvKC79cJk)
+- [Tahák](https://reference.auditless.com/cheatsheet)
+- [Frameworky a nástroje pro vývoj smart kontraktů v jazyce Vyper](/developers/docs/programming-languages/python/)
+- [VyperPunk – naučte se zabezpečit a hackovat smart kontrakty v jazyce Vyper](https://github.com/SupremacyTeam/VyperPunk)
+- [VyperExamples – příklady zranitelnosti ve Vyper](https://www.vyperexamples.com/reentrancy)
+- [Vyper Hub pro vývojáře](https://github.com/zcor/vyper-dev)
+- [Příklady nejlepších chytrých kontraktů na Vyper](https://github.com/pynchmeister/vyper-greatest-hits/tree/main/contracts)
+- [Úžasné Vyperem kurátorované zdroje](https://github.com/spadebuilders/awesome-vyper)
+
+### Příklad {#example}
+
+```python
+# Open Auction
+
+# Auction params
+# Beneficiary receives money from the highest bidder
+beneficiary: public(address)
+auctionStart: public(uint256)
+auctionEnd: public(uint256)
+
+# Current state of auction
+highestBidder: public(address)
+highestBid: public(uint256)
+
+# Set to true at the end, disallows any change
+ended: public(bool)
+
+# Keep track of refunded bids so we can follow the withdraw pattern
+pendingReturns: public(HashMap[address, uint256])
+
+# Create a simple auction with `_bidding_time`
+# seconds bidding time on behalf of the
+# beneficiary address `_beneficiary`.
+@external
+def __init__(_beneficiary: address, _bidding_time: uint256):
+ self.beneficiary = _beneficiary
+ self.auctionStart = block.timestamp
+ self.auctionEnd = self.auctionStart + _bidding_time
+
+# Bid on the auction with the value sent
+# together with this transaction.
+# The value will only be refunded if the
+# auction is not won.
+@external
+@payable
+def bid():
+ # Check if bidding period is over.
+ assert block.timestamp < self.auctionEnd
+ # Check if bid is high enough
+ assert msg.value > self.highestBid
+ # Track the refund for the previous high bidder
+ self.pendingReturns[self.highestBidder] += self.highestBid
+ # Track new high bid
+ self.highestBidder = msg.sender
+ self.highestBid = msg.value
+
+# Withdraw a previously refunded bid. The withdraw pattern is
+# used here to avoid a security issue. If refunds were directly
+# sent as part of bid(), a malicious bidding contract could block
+# those refunds and thus block new higher bids from coming in.
+@external
+def withdraw():
+ pending_amount: uint256 = self.pendingReturns[msg.sender]
+ self.pendingReturns[msg.sender] = 0
+ send(msg.sender, pending_amount)
+
+# End the auction and send the highest bid
+# to the beneficiary.
+@external
+def endAuction():
+ # It is a good guideline to structure functions that interact
+ # with other contracts (i.e. they call functions or send ether)
+ # into three phases:
+ # 1. checking conditions
+ # 2. performing actions (potentially changing conditions)
+ # 3. interacting with other contracts
+ # If these phases are mixed up, the other contract could call
+ # back into the current contract and modify the state or cause
+ # effects (ether payout) to be performed multiple times.
+ # If functions called internally include interaction with external
+ # contracts, they also have to be considered interaction with
+ # external contracts.
+
+ # 1. Conditions
+ # Check if auction endtime has been reached
+ assert block.timestamp >= self.auctionEnd
+ # Check if this function has already been called
+ assert not self.ended
+
+ # 2. Effects
+ self.ended = True
+
+ # 3. Interaction
+ send(self.beneficiary, self.highestBid)
+```
+
+Tento příklad by vám měl poskytnout představu o tom, jaká je syntaxe kontraktů ve Vyperu. Pro podrobnější popis funkcí a proměnných [si přečtěte dokumentaci](https://vyper.readthedocs.io/en/latest/vyper-by-example.html#simple-open-auction).
+
+## Yul a Yul+ {#yul}
+
+Pokud jste v Ethereum nováčkem a ještě jste neprogramovali v jazycích pro smart kontrakty, doporučujeme začít se Solidity nebo Vyperem. Na Yul nebo Yul+ se zaměřte až poté, co si osvojíte osvědčené postupy v oblasti bezpečnosti smart kontraktů a specifika práce s EVM.
+
+**Yul**
+
+- Pokročilý jazyk pro Ethereum.
+- Podporuje [EVM](/developers/docs/evm) i [Ewasm](https://github.com/ewasm), což je varianta WebAssembly přizpůsobená pro Ethereum, a je navržen tak, aby byl použitelným společným základem pro obě platformy.
+- Dobrá volba pro optimalizační fáze na vyšší úrovni, které mohou mít stejný přínos jak pro platformy EVM, tak pro Ewasm.
+
+**Yul+**
+
+- Nízkoúrovňové, vysoce efektivní rozšíření Yulu.
+- Původně navržen pro kontrakt [optimistického rollupu](/developers/docs/scaling/optimistic-rollups/).
+- Yul+ lze považovat za experimentální návrh upgradu Yul, který do něj přidává nové funkce.
+
+### Důležité odkazy {#important-links-2}
+
+- [Dokumentace Yul](https://docs.soliditylang.org/en/latest/yul.html)
+- [Dokumentace Yul+](https://github.com/fuellabs/yulp)
+- [Playground Yul+](https://yulp.fuel.sh/)
+- [Úvodní příspěvek Yul+](https://medium.com/@fuellabs/introducing-yul-a-new-low-level-language-for-ethereum-aa64ce89512f)
+
+### Ukázkový kontrakt {#example-contract-2}
+
+Následující jednoduchý příklad implementuje funkci mocniny. Lze jej zkompilovat pomocí příkazu `solc --strict-assembly --bin input.yul`. Příklad by měl být uložen v souboru input.yul.
+
+```
+{
+ function power(base, exponent) -> result
+ {
+ switch exponent
+ case 0 { result := 1 }
+ case 1 { result := base }
+ default
+ {
+ result := power(mul(base, base), div(exponent, 2))
+ if mod(exponent, 2) { result := mul(base, result) }
+ }
+ }
+ let res := power(calldataload(0), calldataload(32))
+ mstore(0, res)
+ return(0, 32)
+}
+```
+
+Pokud již máte se smart kontrakty bohaté zkušenosti, plnou implementaci ERC20 v Yul můžete najít [zde](https://solidity.readthedocs.io/en/latest/yul.html#complete-erc20-example).
+
+## Fe {#fe}
+
+- Staticky typovaný jazyk pro Virtuální stroj Etherea (EVM).
+- Inspirován jazyky Python a Rust.
+- Cílem je, aby byl snadno naučitelný – i pro vývojáře, kteří jsou v ekosystému Ethereum noví.
+- Vývoj Fe je stále v raných fázích, první alfa verze jazyka byla vydána v lednu 2021.
+
+### Důležité odkazy {#important-links-3}
+
+- [GitHub](https://github.com/ethereum/fe)
+- [Oznámení Fe](https://snakecharmers.ethereum.org/fe-a-new-language-for-the-ethereum-ecosystem/)
+- [Plán vylepšení Fe pro rok 2021](https://notes.ethereum.org/LVhaTF30SJOpkbG1iVw1jg)
+- [Chat na Discordu Fe](https://discord.com/invite/ywpkAXFjZH)
+- [Twitter Fe](https://twitter.com/official_fe)
+
+### Ukázkový kontrakt {#example-contract-3}
+
+Následuje jednoduchý kontrakt implementovaný v jazyce Fe.
+
+```
+type BookMsg = bytes[100]
+
+contract GuestBook:
+ pub guest_book: map
+
+ event Signed:
+ book_msg: BookMsg
+
+ pub def sign(book_msg: BookMsg):
+ self.guest_book[msg.sender] = book_msg
+
+ emit Signed(book_msg=book_msg)
+
+ pub def get_msg(addr: address) -> BookMsg:
+ return self.guest_book[addr].to_mem()
+
+```
+
+## Jak si vybrat {#how-to-choose}
+
+Stejně jako u jakéhokoli jiného programovacího jazyka jde především o výběr správného nástroje pro daný úkol a o osobní preference.
+
+Uvádíme několik věcí, které byste měli zvážit, pokud jste ještě žádný z jazyků nezkusili:
+
+### Co je skvělé na Solidity? {#solidity-advantages}
+
+- Pokud jste začátečník, najdete mnoho tutoriálů a vzdělávacích nástrojů. Více se dozvíte v sekci [Learn by Coding](/developers/learning-tools/).
+- K dispozici je dobrá sada nástrojů pro vývojáře.
+- Solidity má velkou vývojářskou komunitu, což znamená, že na případné otázky pravděpodobně najdete odpovědi poměrně rychle.
+
+### Co je skvělé na Vyperu? {#vyper-advatages}
+
+- Skvělý na začátek pro Python vývojáře, kteří chtějí psát chytré kontrakty.
+- Vyper má menší počet funkcí, což ho činí skvělým pro rychlé prototypování nápadů.
+- Vyper usiluje o snadnou auditovatelnost a maximální čitelnost pro lidské bytosti.
+
+### Co je skvělé na Yul a Yul+? {#yul-advantages}
+
+- Jednoduchý a funkční nízkoúrovňový jazyk.
+- Umožňuje dostat se mnohem blíže k surovému EVM, což vám může pomoci s optimalizací spotřeby paliva vašich kontraktů.
+
+## Porovnání jazyků {#language-comparisons}
+
+Pro srovnání základní syntaxe, životního cyklu kontraktů, rozhraní, operátorů, datových struktur, funkcí, řídicích struktur a dalších rozdílů se podívejte na tento [cheatsheet od Auditless](https://reference.auditless.com/cheatsheet/)
+
+## Další čtení {#further-reading}
+
+- [Knihovna Solidity kontraktů od OpenZeppelin](https://docs.openzeppelin.com/contracts)
+- [Solidity by Example](https://solidity-by-example.org)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md b/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md
new file mode 100644
index 00000000000..4cb965d2b29
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/libraries/index.md
@@ -0,0 +1,117 @@
+---
+title: Knihovny smart kontraktů
+description:
+lang: cs
+---
+
+Ve svém projektu nemusíte psát každý smart kontrakt od nuly. Existuje mnoho open-source knihoven smart kontraktů, které poskytují znovupoužitelné stavební bloky pro váš projekt, což vám může ušetřit čas a práci s vymýšlením již existujících řešení.
+
+## Předpoklady {#prerequisites}
+
+Než se ponoříte do knihoven smart kontraktů, je dobré mít pevné základy ve struktuře smart kontraktů. Pokud je nemáte, nastudujte si nejdříve [anatomii smart kontraktu](/developers/docs/smart-contracts/anatomy/).
+
+## Jaký je obsah knihovny {#whats-in-a-library}
+
+V knihovnách smart kontraktů obvykle najdete dva druhy stavebních bloků: znovupoužitelné akce, které můžete přidat ke svým kontraktům, a implementace různých standardů.
+
+### Akce {#behaviors}
+
+Při psaní smart kontraktů je pravděpodobné, že se ocitnete v situaci, kdy budete psát podobné vzory znovu a znovu, jako například přiřazení adresy _administrátora_ k provádění zabezpečených operací v kontraktu nebo přidání tlačítka pro nouzové _zastavení_ v případě neočekávaného problému.
+
+Knihovny smart kontraktů obvykle poskytují znovupoužitelné implementace těchto chování prostřednictvím [knihoven](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#libraries) nebo prostřednictvím [dědičnosti](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#inheritance) v Solidity.
+
+Jako příklad následuje zjednodušená verze [kontraktu `Ownable`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol) z knihovny [OpenZeppelin Contracts](https://github.com/OpenZeppelin/openzeppelin-contracts), která přiřazuje adresu jako vlastníka kontraktu a poskytuje modifikátor pro umožnění přístupu k metodám pouze tomuto vlastníkovi.
+
+```solidity
+contract Ownable {
+ address public owner;
+
+ constructor() internal {
+ owner = msg.sender;
+ }
+
+ modifier onlyOwner() {
+ require(owner == msg.sender, "Ownable: caller is not the owner");
+ _;
+ }
+}
+```
+
+Abyste mohli ve svém smart kontraktu použít takovýto stavební blok, musíte jej nejprve importovat a následně jej ve svých vlastních kontraktech rozšířit (dědit z něj). To vám umožní použít modifikátor k zabezpečení vlastních funkcí poskytovaný základním kontraktem `Ownable`.
+
+```solidity
+import ".../Ownable.sol"; // Path to the imported library
+
+contract MyContract is Ownable {
+ // The following function can only be called by the owner
+ function secured() onlyOwner public {
+ msg.sender.transfer(1 ether);
+ }
+}
+```
+
+Dalším populárním příkladem je [SafeMath](https://docs.openzeppelin.com/contracts/3.x/utilities#math) nebo [DsMath](https://dappsys.readthedocs.io/en/latest/ds_math.html). Jedná se o knihovny (na rozdíl od základních kontraktů), které poskytují aritmetické funkce s kontrolami přetečení, což jazyk samotný nenabízí. Je dobrým zvykem používat některou z těchto knihoven místo nativních aritmetických operací, aby byl váš smart kontrakt chráněn před přetečeními, která mohou mít katastrofální následky!
+
+### Standardy {#standards}
+
+Pro usnadnění [kompozice a interoperability](/developers/docs/smart-contracts/composability/) definovala komunita Etherea několik standardů ve formě **ERC (Ethereum Request for Comments)**. Více si o nich můžete přečíst v sekci věnované [standardům](/developers/docs/standards/).
+
+Pokud zahrnete ERC do svých smart kontraktů, je dobré hledat standardní implementace místo toho, abyste se snažili vytvořit vlastní. Spousta knihoven smart kontraktů zahrnuje implementace pro nejpopulárnější ERC. Například všudypřítomný [standard ERC20 pro zaměnitelné tokeny](/developers/tutorials/understand-the-erc-20-token-smart-contract/) lze najít v knihovnách [HQ20](https://github.com/HQ20/contracts/blob/master/contracts/token/README.md), [DappSys](https://github.com/dapphub/ds-token/) a [OpenZeppelin](https://docs.openzeppelin.com/contracts/3.x/erc20). Navíc některé ERC poskytují kanonické implementace jako součást samotného standardu.
+
+Stojí za zmínku, že některé ERC nejsou samostatné, ale jsou rozšířením jiných ERC. Například [ERC2612](https://eips.ethereum.org/EIPS/eip-2612) přidává rozšíření k ERC20 za účelem zlepšení jeho použitelnosti.
+
+## Jak přidat knihovnu {#how-to}
+
+Vždy se řiďte dokumentací knihovny, kterou přidáváte, kde najdete konkrétní instrukce, jak ji zahrnout do svého projektu. Řada knihoven pro smart kontrakty v Solidity je zabalena pomocí `npm`, takže je můžete jednoduše nainstalovat pomocí příkazu `npm install`. Většina nástrojů pro [kompilaci](/developers/docs/smart-contracts/compiling/) kontraktů prohledá vaši složku `node_modules`, aby našla knihovny smart kontraktů, takže můžete postupovat následovně:
+
+```solidity
+// This will load the @openzeppelin/contracts library from your node_modules
+import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
+
+contract MyNFT is ERC721 {
+ constructor() ERC721("MyNFT", "MNFT") public { }
+}
+```
+
+Bez ohledu na to, jakou metodu používáte, při zahrnutí knihovny vždy věnujte pozornost verzi [jazyka](/developers/docs/smart-contracts/languages/). Například nemůžete použít knihovnu pro Solidity 0.6, pokud píšete své smart kontrakty v Solidity 0.5.
+
+## Kdy používat knihovny {#when-to-use}
+
+Použití knihovny smart kontraktů přináší vašemu projektu několik výhod. Především vám ušetří čas tím, že poskytne hotové stavební bloky, které můžete zahrnout do svého systému, místo abyste je museli programovat sami.
+
+Bezpečnost je také velkým přínosem. Open source knihovny smart kontraktů jsou často podrobeny přísné kontrole. Vzhledem k tomu, že na nich závisí mnoho projektů, je komunita silně motivována je neustále kontrolovat. Mnohem častěji lze najít chyby v aplikačním kódu než v knihovnách pro znovupoužitelné smart kontrakty. Některé knihovny také za účelem zajištění vyšší bezpečnosti procházejí [externími audity](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audits).
+
+Nicméně používání knihoven smart kontraktů nese riziko, že do vašeho projektu zahrnete kód, se kterým nejste obeznámeni. Je lákavé importovat kontrakt a přímo jej zahrnout do vašeho projektu, ale bez perfektního porozumění tomu, co tento kontrakt dělá, můžete neúmyslně do systému zavést neočekávané chování a tím si zadělat na problémy. Vždy si předtím, než kód zahrnete do svého projektu, přečtěte jeho dokumentaci a poté si kód sami prohlédněte!
+
+Nakonec při rozhodování, zda zahrnout knihovnu, zvažte její celkové použití. Široce adoptovaná knihovna má výhodu větší komunity, což znamená více lidí, kteří do ní nahlížejí a hledají problémy. Bezpečnost by měla být při vytváření smart kontraktů vaší hlavní prioritou!
+
+## Související nástroje {#related-tools}
+
+**OpenZeppelin Contracts –** **_nejoblíbenější knihovna pro vývoj bezpečných smart kontraktů._**
+
+- [Dokumentace](https://docs.openzeppelin.com/contracts/)
+- [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts)
+- [Komunitní fórum](https://forum.openzeppelin.com/c/general/16)
+
+**DappSys –** **_bezpečné, jednoduché a flexibilní návrhové vzory pro smart kontrakty._**
+
+- [Dokumentace](https://dappsys.readthedocs.io/)
+- [GitHub](https://github.com/dapphub/dappsys)
+
+**HQ20 –** **_Solidity projekt s kontrakty, knihovnami a příklady, které vám pomohou vytvořit plně funkční distribuované aplikace pro reálný svět._**
+
+- [GitHub](https://github.com/HQ20/contracts)
+
+**thirdweb Solidity SDK –** **_poskytuje nástroje potřebné pro efektivní vytváření vlastních smart kontraktů._**
+
+- [Dokumentace](https://portal.thirdweb.com/contracts/build/overview)
+- [GitHub](https://github.com/thirdweb-dev/contracts)
+
+## Související návody {#related-tutorials}
+
+- [Security considerations for Ethereum developers](/developers/docs/smart-contracts/security/) _– tutorial o bezpečnostních aspektech při vytváření smart kontraktů, včetně použití knihoven._
+- [Understand the ERC-20 token smart contract](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _– tutorial o ERC20 standardu, poskytovaný několika knihovnami._
+
+## Další informace {#further-reading}
+
+_Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ji!_
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/security/index.md b/public/content/translations/cs/developers/docs/smart-contracts/security/index.md
new file mode 100644
index 00000000000..18c2e0b2586
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/security/index.md
@@ -0,0 +1,580 @@
+---
+title: Bezpečnost chytrých smluv
+description: Přehled pokynů pro vytváření bezpečných smart kontraktů na Ethereu
+lang: cs
+---
+
+Smart kontrakty jsou velmi flexibilní a schopné ovládat velké množství hodnot a dat, přičemž běží nezměnitelnou logikou založenou na kódu spuštěném na blockchainu. To vytvořilo živý ekosystém decentralizovaných aplikací bez nutnosti důvěry, které mají oproti tradičním systémům spoustu výhod. Zároveň však představují příležitosti pro útočníky, kteří se snaží vydělat zneužitím zranitelností ve smart kontraktech.
+
+Veřejné blockchainy, jako je Ethereum, dále komplikují otázku zabezpečení smart kontraktů. Nasazený kód kontraktu _obvykle_ není možné změnit, aby se opravily bezpečnostní chyby, a majetek odcizený ze smart kontraktů je kvůli nezměnitelnosti extrémně obtížné sledovat a prakticky nemožné získat zpět.
+
+I když se údaje liší, odhaduje se, že celková hodnota odcizených nebo ztracených prostředků z důvodu bezpečnostních chyb ve smart kontraktech dnes přesahuje 1 miliardu dolarů. To zahrnuje incidenty s vysokým profilem, jako je [hack DAO](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (ukradeno 3,6 milionu ETH, což v dnešní ceně představuje více než 1 miliardu dolarů), [hack multi-sig peněženky Parity](https://www.coindesk.com/markets/2017/07/19/30-million-ether-reported-stolen-due-to-parity-wallet-breach) (škoda ve výši 30 milionů dolarů kvůli hackerům) a [problém se zmrazením peněženek Parity](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (přes 300 milionů dolarů v ETH zůstalo zamčeno navždy).
+
+Výše zmíněné problémy ukazují na důležitost zajištění bezpečnosti smart kontraktů a dělají z ní nezbytnost, do které by měli vývojáři investovat úsilí. Zabezpečení smart kontraktů je vážnou záležitostí, kterou by se měl každý vývojář naučit. Tento průvodce pokrývá bezpečnostní aspekty pro vývojáře Etherea a poskytuje zdroje pro zvýšení bezpečnosti smart kontraktů.
+
+## Předpoklady {#prerequisites}
+
+Než se pustíte do studia bezpečnosti, ujistěte se, že jste obeznámeni se [základy vývoje smart kontraktů](/developers/docs/smart-contracts/).
+
+## Pokyny pro vytváření bezpečných smart kontraktů na Ethereu {#smart-contract-security-guidelines}
+
+### 1. Navrhněte správná omezení přístupu {#design-proper-access-controls}
+
+Ve smart kontraktech mohou funkce označené jako `public` nebo `external` volat jakýkoli externí (EOA) nebo kontraktový účet. Specifikace veřejné viditelnosti funkcí je nezbytná, pokud chcete, aby mohli s vaším kontraktem interagovat i ostatní. Funkce označené jako `private` mohou být volány pouze funkcemi v rámci smart kontraktu a nikoliv externími účty. Pokud umožníte každému účastníkovi sítě přístup ke všem funkcím kontraktu, můžete tím způsobit problémy, zejména pokud to znamená, že kdokoliv může provádět citlivé operace (např. vydávání nových tokenů).
+
+Aby se zabránilo neoprávněnému použití funkcí smart kontraktu, je nutné implementovat bezpečné přístupové kontroly. Mechanismy přístupové kontroly omezují schopnost používat určité funkce ve smart kontraktu na schválené subjekty, jako jsou účty odpovědné za správu kontraktu. **Vzor Ownable** a **kontrola přístupu založená na rolích** jsou dva vzory užitečné pro implementaci přístupové kontroly ve smart kontraktech:
+
+#### Vzor Ownable {#ownable-pattern}
+
+Tento vzor přiřadí při vytváření kontraktu adresu jako „vlastníka“ kontraktu. Chráněným funkcím je přiřazen modifikátor `OnlyOwner`, který zajistí, že kontrakt ověří identitu volající adresy před spuštěním funkce. Volání chráněných funkcí z jiných adres, než je adresa vlastníka kontraktu, se vždy vrátí zpět, čímž se zabrání přístupu nežádoucích adres.
+
+#### Kontrola přístupu založená na rolích {#role-based-access-control}
+
+Registrace jediné adresy jako `vlastníka` smart kontraktu představuje riziko centralizace a jediného bodu selhání. Pokud jsou kompromitovány klíče účtu vlastníka, útočníci mohou napadnout i kontrakt, který vlastní. Proto může být lepší možností použít kontrolu přístupu založenou na rolích s účty několika správců.
+
+V řízení přístupu na základě rolí je přístup k citlivým funkcím rozdělen mezi několik důvěryhodných adres. Jeden účet může být například zodpovědný za vydávání nových tokenů, zatímco jiný účet provádí vylepšení nebo kontrakt pozastavuje. Decentralizace řízení přístupu tímto způsobem eliminuje jednotlivé body selhání a snižuje nutnost uživatele vašemu kontraktu slepě důvěřovat.
+
+##### Použití multi-signature peněženek
+
+Dalším přístupem k implementaci bezpečné přístupové kontroly je možnost ke správě kontraktu použít [multi-signature účet](/developers/docs/smart-contracts/#multisig). Na rozdíl od běžného EOA jsou multi-signature účty vlastněny několika subjekty a k provedení transakcí vyžadují podpisy od předem daného minimálního počtu účtů – například alespoň 3 z 5.
+
+Použití multisigu pro řízení přístupu přináší další vrstvu zabezpečení, protože akce na smart kontraktu vyžadují souhlas více stran. To je užitečné zejména v případě, že je použití vzoru Ownable nezbytné, protože útočníkovi nebo i insiderovi se špatným úmyslem komplikuje manipulaci s citlivými funkcemi kontraktu.
+
+### 2. Použijte příkazy require(), assert() a revert() k ochraně akcí kontraktu {#use-require-assert-revert}
+
+Jakmile je váš smart kontrakt nasazen na blockchain, volat jeho veřejné funkce může kdokoliv. Jelikož nemůžete předem vědět, jak budou externí účty s kontraktem interagovat, je ideální volbou implementovat interní zabezpečení proti problematickým operacím ještě před nasazením kontraktu. Pomocí příkazů `require()`, `assert()` a `revert()` můžete nastavit požadované chování smart kontraktu za účelem vyvolání výjimek a vrácení změn stavu, pokud exekuce funkce nebude úspěšná.
+
+**`require()`**: ``Vyžaduje, aby byly předem definované podmínky splněny před spuštěním volané funkce. Příkaz `require` lze použít k ověření uživatelských vstupů, kontrole stavových proměnných nebo ověření identity volajícího účtu před pokračováním exekuce funkce.
+
+**`assert()`**: `assert()` se používá k detekci interních chyb a kontrole porušení „invariantů“ v kódu. Invariant je logické tvrzení o stavu kontraktu, které by mělo platit pro všechny exekuce funkcí. Příkladem invariantu je maximální celková nabídka nebo zůstatek tokenového kontraktu. Použití funkce `assert()` zajišťuje, že váš kontrakt nikdy nedosáhne zranitelného stavu, a pokud ano, všechny změny stavových proměnných budou vráceny zpět.
+
+**`revert()`**: `revert()` může být použit v if-else příkazu k vyvolání výjimky, pokud není splněna požadovaná podmínka. Ukázkový kontrakt níže používá `revert()` k ochraně exekuce funkcí:
+
+```
+pragma solidity ^0.8.4;
+
+contract VendingMachine {
+ address owner;
+ error Unauthorized();
+ function buy(uint amount) public payable {
+ if (amount > msg.value / 2 ether)
+ revert("Not enough Ether provided.");
+ // Perform the purchase.
+ }
+ function withdraw() public {
+ if (msg.sender != owner)
+ revert Unauthorized();
+
+ payable(msg.sender).transfer(address(this).balance);
+ }
+}
+```
+
+### 3. Testování smart kontraktů a ověřování správnosti kódu {#test-smart-contracts-and-verify-code-correctness}
+
+Neměnnost kódu běžícího na [Virtuálním stroji Etherea (EVM)](/developers/docs/evm/) znamená, že smart kontrakty vyžadují vyšší úroveň kontroly kvality během vývojové fáze. Důkladné testování vašeho kontraktu a sledování jakýchkoli neočekávaných výsledků výrazně zvýší bezpečnost a dlouhodobě ochrání vaše uživatele.
+
+Obvyklou metodou je psát malé jednotkové testy (unit tests) pomocí mock dat, která kontrakt očekává od uživatelů. [Jednotkové testování](/developers/docs/smart-contracts/testing/#unit-testing) je dobré pro testování funkčnosti určitých funkcí a zajištění, že smart kontrakt funguje podle očekávání.
+
+Jednotkové testování je při zajištění bezpečnosti smart kontraktů účinné bohužel jen minimálně, pokud se používá izolovaně. Jednotkový test může prokázat, že funkce správně provádí operace s mock daty, ale obecně jsou jednotkové testy účinné pouze do té míry, jak jsou napsány. To ztěžuje detekci opomenutých hraničních případů a zranitelností, které by mohly ohrozit bezpečnost vašeho smart kontraktu.
+
+Lepším přístupem je kombinovat jednotkové testování s testováním založeným na vlastnostech (property-based testing) prováděným pomocí [statické a dynamické analýzy](/developers/docs/smart-contracts/testing/#static-dynamic-analysis). Statická analýza se spoléhá na nízkoúrovňové reprezentace, jako jsou [grafy toku kontroly (control flow graphs)](https://en.wikipedia.org/wiki/Control-flow_graph) a [abstraktní syntaktické stromy](https://deepsource.io/glossary/ast/) (abstract syntax trees), za účelem analýzy dosažitelných stavů programu a možných exekučních cest. Mezitím dynamické analytické techniky, jako je [fuzzing smart kontraktů](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry), provádějí kód kontraktu s náhodnými vstupními hodnotami, aby detekovaly operace, které porušují bezpečnostní vlastnosti.
+
+[Formální verifikace](/developers/docs/smart-contracts/formal-verification) je dalším postupem pro ověřování bezpečnostních vlastností ve smart kontraktech. Na rozdíl od běžného testování může formální verifikace definitivně prokázat nepřítomnost chyb ve smart kontraktu. Toho lze docílit vytvořením formální specifikace, která zachycuje požadované bezpečnostní vlastnosti, a prokázáním, že formální model kontraktů odpovídá této specifikaci.
+
+### 4. Požádejte o nezávislé přezkoumání vašeho kódu {#get-independent-code-reviews}
+
+Po testování vašeho kontraktu je dobré požádat jiné osoby, aby zkontrolovaly zdrojový kód a odhalily případné bezpečnostní problémy. Testování neodhalí všechny chyby ve smart kontraktu, ale nezávislé přezkoumání zvyšuje možnost odhalení zranitelností.
+
+#### Audity {#audits}
+
+Zajištění auditu smart kontraktů je jedním ze způsobů, jak provést nezávislé přezkoumání kódu. Auditoři hrají důležitou roli při zajišťování, že smart kontrakty jsou bezpečné a bez defektů kvality a návrhových chyb.
+
+Je však důležité nenahlížet na audity jako na všelék. Audity smart kontraktů neodhalí každou chybu a jsou navrženy především pro poskytování dalšího kola kontrol, které mohou pomoci odhalit problémy, které vývojáři během počátečního vývoje a testování přehlédli. Doporučuje se dodržovat osvědčené postupy při práci s auditory, jako je řádné dokumentování kódu a přidávání komentářů, aby se přínos takového auditu maximalizoval.
+
+- [Smart contract auditing tips & tricks](https://twitter.com/tinchoabbate/status/1400170232904400897) – _@tinchoabbate_
+- [Make the most out of your audit](https://inference.ag/blog/2023-08-14-tips/) – _Inference_
+
+#### Odměna za vyřešení chyby {#bug-bounties}
+
+Zřízení programu bug bounty, tedy programu odměn za vyřešení chyb, je dalším přístupem k implementaci externích kontrol kódu. Bug bounty je finanční odměna poskytovaná jednotlivcům (obvykle whitehat hackerům), kteří objeví zranitelnosti v aplikaci.
+
+Při správném použití bug bounty motivuje členy hackerské komunity k inspekci vašeho kódu a odhalení kritických chyb. Příkladem z reálného světa je „infinite money bug“, který by útočníkovi umožnil vytvořit neomezené množství etheru na [Optimismu](https://www.optimism.io/), protokolu [druhé vrstvy](/layer-2/) na Ethereu. Naštěstí whitehat hacker [odhalil tuto chybu](https://www.saurik.com/optimism.html) a informoval tým, čímž si [vysloužil velkou odměnu](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
+
+Užitečnou strategií je nastavit odměnu v programu bug bounty v poměru k výši prostředků, které jsou v sázce. Tento přístup, popisovaný jako „[škálovatelná bug bounty](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)“, finančně motivuje jednotlivce zodpovědně zveřejnit zranitelnosti namísto jejich zneužití.
+
+### 5. Při vývoji smart kontraktů dodržujte osvědčené postupy {#follow-smart-contract-development-best-practices}
+
+Existence auditů a bug bounty vás nezbavuje odpovědnosti za psaní kvalitního kódu. Bezpečnost smart kontraktů začíná dodržováním správných návrhových a vývojových procesů:
+
+- Ukládejte veškerý kód do systému správy verzí, jako je git
+
+- Všechny úpravy kódu dělejte prostřednictvím pull requestů
+
+- Zajistěte, aby měl každý pull request alespoň jednoho nezávislého recenzenta – pokud pracujete na projektu sami, zvažte, zda nenajít jiné vývojáře a poprosit je o vzájemné recenzování vašich kódů
+
+- Pro testování, kompilaci a nasazování smart kontraktů používejte [vývojové prostředí](/developers/docs/frameworks/)
+
+- Spusťte svůj kód pomocí základních nástrojů pro analýzu kódu, jako jsou [Cyfrin Aderyn](https://github.com/Cyfrin/aderyn), Mythril a Slither. Ideálně byste to měli udělat před každým sloučením pull requestu a porovnat rozdíly ve výstupu
+
+- Ujistěte se, že váš kód se kompiluje bez chyb a kompilátor Solidity nevydává žádná varování
+
+- Správně dokumentujte svůj kód (pomocí [NatSpec](https://solidity.readthedocs.io/en/develop/natspec-format.html)) a uveďte podrobnosti o architektuře kontraktu ve snadno srozumitelném jazyce. To usnadní audit a přezkoumání vašeho kódu.
+
+### 6. Implementujte robustní plány obnovy po nehodě {#implement-disaster-recovery-plans}
+
+Navrhování bezpečných přístupových kontrol, implementace modifikátorů funkcí a další doporučení mohou zlepšit bezpečnost smart kontraktů, ale nemohou vyloučit možnost zlovolných útoků. Budování bezpečných smart kontraktů vyžaduje „přípravu na selhání“ a mít záložní plán pro efektivní reakci na útoky. Správný plán obnovy po nehodě zahrnuje některé nebo všechny z následujících komponent:
+
+#### Aktualizace kontraktů {#contract-upgrades}
+
+I když jsou smart kontrakty na Ethereu ve výchozím nastavení neměnné, pomocí vzorů aktualizace je možné dosáhnout určité míry změny. Aktualizace kontraktů je nezbytná v případech, kdy kritická chyba činí váš starý kontrakt nepoužitelným a nasazení nové logiky je nejrealističtější možností.
+
+Mechanismy aktualizace kontraktů fungují různě, ale jedním z populárních přístupů je „proxy vzor“. [Proxy vzory](https://www.cyfrin.io/blog/upgradeable-proxy-smart-contract-pattern) rozdělují stav a logiku aplikace mezi _dva_ kontrakty. První kontrakt (tzv. „proxy kontrakt“) uchovává stavové proměnné (např. zůstatky uživatelů), zatímco druhý kontrakt (tzv. „logický kontrakt“) obsahuje kód pro vykonávání funkcí kontraktu.
+
+Účty interagují s proxy kontraktem, který přesměruje všechna volání funkcí na logický kontrakt pomocí nízkoúrovňového volání [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries). Na rozdíl od běžného volání zpráv `delegatecall()` zajišťuje, že kód spuštěný na adrese logického kontraktu je prováděn v kontextu volajícího kontraktu. To znamená, že logický kontrakt vždy zapisuje do úložiště proxy kontraktu (místo vlastního úložiště) a původní hodnoty `msg.sender` a `msg.value` jsou zachovány.
+
+Delegování volání na logický kontrakt vyžaduje uložení jeho adresy do úložiště proxy kontraktu. Proto je aktualizace logiky kontraktu pouze otázkou nasazení nového logického kontraktu a uložení nové adresy do proxy kontraktu. Následná volání proxy kontraktu jsou pak automaticky směrována na nový logický kontrakt, čímž dojde k „aktualizaci“ kontraktu bez skutečné modifikace kódu.
+
+[Další informace o aktualizaci kontraktu](/developers/docs/smart-contracts/upgrading/).
+
+#### Nouzové zastavení {#emergency-stops}
+
+Jak již bylo zmíněno, i přes rozsáhlé audity a testování není možné objevit úplně všechny chyby ve smart kontraktu. Pokud se po nasazení objeví ve vašem kódu zranitelnost, její oprava je nemožná, protože nemůžete změnit kód běžící na adrese kontraktu. Navíc implementace mechanismů aktualizace (např. proxy vzory) může nějakou chvíli trvat (často vyžaduje schválení několika subjektů), což dává útočníkům více času a mohou tak způsobit větší škody.
+
+Nejradikálnější možností je implementovat funkci „nouzového zastavení“, která zablokuje volání zranitelných funkcí v kontraktu. Nouzové zastavení obvykle zahrnuje následující komponenty:
+
+1. Globální Booleanovská proměnná, která indikuje, zda je smart kontrakt zastaven, či nikoli. Tato proměnná je při spouštění kontraktu nastavena na `false`, ale při zastavení kontraktu se změní na `true`.
+
+2. Funkce, které odkazují na Booleanovskou proměnnou při jejich provádění. Tyto funkce jsou přístupné, když smart kontrakt není pozastaven, a stávají se nepřístupnými, když je funkce nouzového zastavení aktivována.
+
+3. Entita, která má přístup k funkci nouzového zastavení a která nastavuje Booleanovskou proměnnou na `true`. Aby se zabránilo zlovolným akcím, lze volání této funkce omezit na důvěryhodnou adresu (např. vlastníka kontraktu).
+
+Jakmile je nouzové zastavení aktivováno, určité funkce nebudou volatelné. Toho lze dosáhnout obalením vybraných funkcí v modifikátoru, který odkazuje na globální proměnnou. Níže je uveden [příklad](https://github.com/fravoll/solidity-patterns/blob/master/EmergencyStop/EmergencyStop.sol) implementace tohoto vzoru v kontraktech:
+
+```solidity
+// This code has not been professionally audited and makes no promises about safety or correctness. Use at your own risk.
+
+contract EmergencyStop {
+
+ bool isStopped = false;
+
+ modifier stoppedInEmergency {
+ require(!isStopped);
+ _;
+ }
+
+ modifier onlyWhenStopped {
+ require(isStopped);
+ _;
+ }
+
+ modifier onlyAuthorized {
+ // Check for authorization of msg.sender here
+ _;
+ }
+
+ function stopContract() public onlyAuthorized {
+ isStopped = true;
+ }
+
+ function resumeContract() public onlyAuthorized {
+ isStopped = false;
+ }
+
+ function deposit() public payable stoppedInEmergency {
+ // Deposit logic happening here
+ }
+
+ function emergencyWithdraw() public onlyWhenStopped {
+ // Emergency withdraw happening here
+ }
+}
+```
+
+Tento příklad ukazuje základní funkce nouzového zastavení:
+
+- Proměnná `isStopped` je Booleanovská hodnota, která se na začátku vyhodnocuje jako `false` a změní se na `true`, když kontrakt vstoupí do nouzového režimu.
+
+- Modifikátory funkcí `onlyWhenStopped` a `stoppedInEmergency` kontrolují proměnnou `isStopped`. Modifikátor `stoppedInEmergency` se používá k ovládání funkcí, které by měly být nepřístupné, když je kontrakt zranitelný (např. funkce `deposit()`). Volání těchto funkcí se jednoduše zruší.
+
+Modifikátor `onlyWhenStopped` se používá pro funkce, které by měly být volatelné během nouze (např. `funkce emergencyWithdraw()`). Tyto funkce mohou pomoci situaci vyřešit, a proto jsou vyloučeny ze seznamu „omezených funkcí“.
+
+Použití funkce nouzového zastavení poskytuje efektivní řešení vážných zranitelností smart kontraktu. Nicméně to zvyšuje nutnost uživatelů důvěřovat vývojářům, že tuto funkci neaktivují z vlastních sobeckých důvodů. Za tímto účelem je možné decentralizovat kontrolu nad nouzovým zastavením buď tím, že bude podléhat hlasovacímu mechanismu na blockchainu, časovému zámku nebo schválení z multisig peněženky.
+
+#### Monitorování událostí {#event-monitoring}
+
+[Události](https://docs.soliditylang.org/en/v0.8.15/contracts.html#events) umožňují sledovat volání funkcí smart kontraktů a monitorovat změny stavových proměnných. Ideální je naprogramovat váš smart kontrakt tak, aby zapsal událost pokaždé, když nějaká strana provede bezpečnostně kritickou akci (např. výběr prostředků).
+
+Protokolování událostí a jejich monitorování mimo blockchain poskytuje přehled o činnostech kontraktu a pomáhá rychleji odhalit škodlivé akce. To znamená, že váš tým může rychleji reagovat na útoky a podniknout kroky ke zmírnění dopadu na uživatele, jako je pozastavení funkcí nebo provedení aktualizace.
+
+Můžete si také vybrat hotový nástroj pro monitorování, který automaticky přeposílá upozornění pokaždé, když někdo interaguje s vašimi kontrakty. Tyto nástroje vám umožní vytvářet vlastní upozornění na základě různých spouštěcích událostí, jako je objem transakcí, četnost volání funkcí nebo specifické funkce zapojené do transakce. Například byste mohli naprogramovat upozornění, které se objeví, když částka vybraná v jedné transakci překročí určitou prahovou hodnotu.
+
+### 7. Návrh bezpečných řídicích systémů {#design-secure-governance-systems}
+
+Možná budete chtít decentralizovat svou aplikaci tím, že předáte kontrolu nad hlavními smart kontrakty členům komunity. V tomto případě bude systém chytrých kontraktů zahrnovat řídicí modul — mechanismus, který členům komunity umožní schvalovat administrativní kroky prostřednictvím systému řízení na blockchainu. Například návrh na aktualizaci proxy kontraktu na novou implementaci může být odhlasován držiteli tokenů.
+
+Decentralizované řízení může být prospěšné, zejména proto, že sladí zájmy vývojářů a koncových uživatelů. Nicméně mechanismy správy smart kontraktů mohou při nesprávné implementaci představovat nové riziko. Pravděpodobný scénář je, že útočník získá obrovskou hlasovací sílu (měřenou počtem držených tokenů) tím, že si vezme [bleskovou půjčku](/defi/#flash-loans) a protlačí škodlivý návrh.
+
+Jedním ze způsobů, jak předcházet problémům spojeným s řízením na blockchainu, je [použití časového zámku](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). Časový zámek brání smart kontraktu v provádění předem daných akcí, dokud neuplyne stanovené množství času. Další strategie zahrnují přiřazení „váhy hlasu“ každému tokenu na základě toho, jak dlouho ho adresa držela, nebo měření hlasovací síly adresy v historickém období (například 2–3 bloky v minulosti) namísto aktuálního bloku. Obě metody snižují možnosti rychlého získávání hlasovací síly za účelem ovlivnění hlasování na blockchainu.
+
+Více o [návrhu systémů bezpečného řízení](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/), [různých hlasovacích mechanismech v DAO](https://hackernoon.com/governance-is-the-holy-grail-for-daos) a [běžných vektorech útoku DAO využívajících DeFi](https://dacian.me/dao-governance-defi-attacks) najdete ve sdílených odkazech.
+
+### 8. Snižte složitost kódu na minimum {#reduce-code-complexity}
+
+Vývojáři tradičních softwarů znají princip KISS („Keep It Simple, Stupid“), který doporučuje zbytečně softwarový design nekomplikovat. Tento princip vychází z myšlenky, že „komplexní systémy selhávají složitým způsobem“ a jsou náchylnější k nákladným chybám.
+
+Udržování jednoduchosti je zvláště důležité při psaní smart kontraktů, vzhledem k tomu, že smart kontrakty potenciálně spravují velké objemy aktiv. Tipem pro docílení jednoduchosti při psaní smart kontraktů je opětovné použití stávajících knihoven, jako je [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/4.x/), kdekoliv je to možné. Protože tyto knihovny byly důkladně auditovány a testovány vývojáři, jejich použití snižuje pravděpodobnost chyb při psaní nové funkcionality od začátku.
+
+Dalším běžným doporučením je psát malé funkce a udržovat smart kontrakty modulární rozdělením obchodní logiky mezi více kontraktů. Nejenže psaní jednoduššího kódu snižuje možnosti útoku na váš smart kontrakt, ale také usnadňuje ověřování správnosti celého systému a včasné odhalení možných návrhových chyb.
+
+### 9. Chraňte se před běžnými zranitelnostmi smart kontraktů {#mitigate-common-smart-contract-vulnerabilities}
+
+#### Opětovný vstup {#reentrancy}
+
+EVM neumožňuje souběžné zpracování (konkurenci), což znamená, že dva kontrakty zapojené do volání zprávy nemohou běžet současně. Externí volání pozastaví exekuci a paměť volajícího kontraktu, dokud se volání nevrátí, načež provádění pokračuje normálně. Tento proces lze formálně popsat jako předání [řízení](https://www.computerhope.com/jargon/c/contflow.htm) dalšímu kontraktu.
+
+Ačkoli je tento proces většinou neškodný, předání řízení nedůvěryhodným kontraktům může způsobit problémy, jako je reentrancy (opětovný vstup). Útok opětovným vstupem nastane, když škodlivý kontrakt znovu volá do zranitelného kontraktu, než je původní funkce dokončena. Tento typ útoku je nejlepší vysvětlovat na příkladu.
+
+Mějme jednoduchý chytrý kontrakt (Victim), který umožňuje komukoli vložit a vybrat ether:
+
+```solidity
+// This contract is vulnerable. Do not use in production
+
+contract Victim {
+ mapping (address => uint256) public balances;
+
+ function deposit() external payable {
+ balances[msg.sender] += msg.value;
+ }
+
+ function withdraw() external {
+ uint256 amount = balances[msg.sender];
+ (bool success, ) = msg.sender.call.value(amount)("");
+ require(success);
+ balances[msg.sender] = 0;
+ }
+}
+```
+
+Tento kontrakt nabízí funkci `withdraw()`, která umožňuje uživatelům vybrat ETH, které do kontraktu vložili v minulosti. Při zpracování výběru kontrakt provádí následující operace:
+
+1. Zjistí zůstatek ETH uživatele
+2. Odešle prostředky na volající adresu
+3. Resetuje jejich zůstatek na 0, aby zabránil dalším výběrům od uživatele
+
+Funkce `withdraw()` v kontraktu `Victim` následuje vzor „kontroly-interakce-efekty“ (checks-interactions-effects). Nejprve _zkontroluje_, zda jsou splněny podmínky pro exekuci (tzn. uživatel má kladný zůstatek ETH), poté provede _interakci_ odesláním ETH na adresu volajícího a nakonec aplikuje _efekty_ transakce (tj. sníží zůstatek uživatele).
+
+Pokud je funkce `withdraw()` volána z účtu vlastněného externí osobou (EOA), funkce se provede podle očekávání: `msg.sender.call.value()` odešle ETH volajícímu. Avšak pokud je `msg.sender` účet smart kontraktu, který volá `withdraw()`, odeslání prostředků pomocí `msg.sender.call.value()` spustí i kód uložený na této adrese.
+
+Představte si, že toto je kód na adrese kontraktu:
+
+```solidity
+ contract Attacker {
+ function beginAttack() external payable {
+ Victim(victim_address).deposit.value(1 ether)();
+ Victim(victim_address).withdraw();
+ }
+
+ function() external payable {
+ if (gasleft() > 40000) {
+ Victim(victim_address).withdraw();
+ }
+ }
+}
+```
+
+Tento kontrakt je navržen tak, aby dělal tři věci:
+
+1. Přijal vklad z jiného účtu (pravděpodobně z EOA útočníka)
+2. Uložil 1 ETH do kontraktu Victim
+3. Vybral 1 ETH uložený ve smart kontraktu
+
+Na první pohled není na tomto kontraktu nic špatného, až na to, že kontrakt `Attacker` má další funkci, která znovu volá `withdraw()` v kontraktu `Victim`, pokud je zbývající palivo (gas) z příchozího volání `msg.sender.call.value` více než 40 000. To dává kontraktu `Attacker` schopnost znovu vstoupit do kontraktu `Victim` a vybrat více prostředků _před tím_, než se dokončí první volání `withdraw`. Tento cyklus vypadá následovně:
+
+```solidity
+- Attacker's EOA calls `Attacker.beginAttack()` with 1 ETH
+- `Attacker.beginAttack()` deposits 1 ETH into `Victim`
+- `Attacker` calls `withdraw() in `Victim`
+- `Victim` checks `Attacker`’s balance (1 ETH)
+- `Victim` sends 1 ETH to `Attacker` (which triggers the default function)
+- `Attacker` calls `Victim.withdraw()` again (note that `Victim` hasn’t reduced `Attacker`’s balance from the first withdrawal)
+- `Victim` checks `Attacker`’s balance (which is still 1 ETH because it hasn’t applied the effects of the first call)
+- `Victim` sends 1 ETH to `Attacker` (which triggers the default function and allows `Attacker` to reenter the `withdraw` function)
+- The process repeats until `Attacker` runs out of gas, at which point `msg.sender.call.value` returns without triggering additional withdrawals
+- `Victim` finally applies the results of the first transaction (and subsequent ones) to its state, so `Attacker`’s balance is set to 0
+```
+
+Výsledkem je, že následná vyvolání budou úspěšná a umožní volajícímu vybrat svůj zůstatek vícekrát, protože zůstatek volajícího není nastaven na 0, dokud se nedokončí provedení funkce. Tento druh útoku může být použit k vybrání prostředků smart kontraktu, jako se to stalo při [DAO hacku v roce 2016](https://www.coindesk.com/learn/understanding-the-dao-attack). Útoky opětovným vstupem (reentrancy) jsou stále kritickým problémem smart kontraktů, jak ukazují [veřejné seznamy exploitů reentrancy útoků](https://github.com/pcaversaccio/reentrancy-attacks).
+
+##### Jak zabránit útokům opětovným vstupem
+
+Jedním z přístupů, jak se vypořádat s reentrancy útoky, je dodržovat vzor [kontroly-efekty-interakce](https://docs.soliditylang.org/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern). Tento vzor uspořádává provádění funkcí takovým způsobem, že kód, který provádí nezbytné kontroly před pokračováním v exekuci, je proveden jako první, následovaný kódem, který manipuluje se stavem kontraktu, a kód, který interaguje s jinými kontrakty nebo EOA, přichází na řadu jako poslední.
+
+Vzor kontroly-efekty-interakce je použit v revidované verzi kontraktu `Victim`, která je uvedena níže:
+
+```solidity
+contract NoLongerAVictim {
+ function withdraw() external {
+ uint256 amount = balances[msg.sender];
+ balances[msg.sender] = 0;
+ (bool success, ) = msg.sender.call.value(amount)("");
+ require(success);
+ }
+}
+```
+
+Tento kontrakt provádí _kontrolu_ zůstatku uživatele, aplikuje _efekty_ funkce `withdraw()` (nastavením zůstatku uživatele na 0) a poté pokračuje v _interakci_ (odesláním ETH na uživatelovu adresu). Tímto způsobem kontrakt aktualizuje svůj stav před externím voláním, čímž eliminuje podmínku opětovného vstupu, která umožňovala původní útok. Kontrakt `Attacker` stále může znovu volat funkci `withdraw()` v kontraktu `NoLongerAVictim`, ale protože `balances[msg.sender]` byla nastavena na 0, pokus o opětovné výběry by vyvolal chybu.
+
+Další možností je použití zámku pro vzájemné vyloučení (běžně označovaného jako „mutex“), který uzamkne část stavu kontraktu, dokud se nedokončí volání funkce. To je implementováno pomocí proměnné typu Boolean, která je nastavena na `true` před provedením funkce a po dokončení volání se vrací na hodnotu `false`. Jak je vidět v níže uvedeném příkladu, použití mutexu chrání funkci před rekurzivními voláními, zatímco původní volání je stále zpracováváno, což účinně zastavuje reentrancy.
+
+```solidity
+pragma solidity ^0.7.0;
+
+contract MutexPattern {
+ bool locked = false;
+ mapping(address => uint256) public balances;
+
+ modifier noReentrancy() {
+ require(!locked, "Blocked from reentrancy.");
+ locked = true;
+ _;
+ locked = false;
+ }
+ // This function is protected by a mutex, so reentrant calls from within `msg.sender.call` cannot call `withdraw` again.
+ // Příkaz 'return' se vyhodnotí jako 'true', ale stále vyhodnocuje příkaz 'locked = false' v modifikátoru.
+ function withdraw(uint _amount) public payable noReentrancy returns(bool) {
+ require(balances[msg.sender] >= _amount, "No balance to withdraw.");
+
+ balances[msg.sender] -= _amount;
+ (bool success, ) = msg.sender.call{value: _amount}("");
+ require(success);
+
+ return true;
+ }
+}
+```
+
+Můžete také použít systém [pull payments](https://docs.openzeppelin.com/contracts/4.x/api/security#PullPayment), který vyžaduje, aby sami uživatelé vybrali prostředky ze smart kontraktů, namísto systému „push payments“, který prostředky na účty odesílá sám. Tím se eliminuje možnost neúmyslného spuštění kódu na neznámých adresách (a může také zabránit určitým útokům typu denial-of-service).
+
+#### Přetečení a podtečení celých čísel {#integer-underflows-and-overflows}
+
+Přetečení celého čísla nastává, když výsledek aritmetické operace překročí přijatelný rozsah hodnot, což způsobí „přetočení“ na nejnižší reprezentovatelnou hodnotu. Například `uint8` může uložit hodnoty až do 2^8-1=255. Aritmetické operace, které vedou k hodnotám vyšším než `255`, přetečou a nastaví `uint` na `0`, podobně jako se tachometr automobilu resetuje na 0, když dosáhne maximálního nájezdu (999999).
+
+Podtečení celého čísla se děje ze stejných důvodů: výsledek aritmetické operace klesne pod přijatelný rozsah. Pokud byste například zkusili snížit hodnotu `0` v `uint8`, výsledek by se jednoduše přetočil na maximální reprezentovatelnou hodnotu (`255`).
+
+Přetečení i podtečení celých čísel může vést k neočekávaným změnám proměnných stavu kontraktu a způsobit neplánovanou exekuci. Níže je uveden příklad, jak může útočník zneužít aritmetické přetečení ve smart kontraktu k provedení neplatné operace:
+
+```
+pragma solidity ^0.7.6;
+
+// This contract is designed to act as a time vault.
+// User can deposit into this contract but cannot withdraw for at least a week.
+// User can also extend the wait time beyond the 1 week waiting period.
+
+/*
+1. Deploy TimeLock
+2. Deploy Attack with address of TimeLock
+3. Call Attack.attack sending 1 ether. You will immediately be able to
+ withdraw your ether.
+
+What happened?
+Attack caused the TimeLock.lockTime to overflow and was able to withdraw
+before the 1 week waiting period.
+*/
+
+contract TimeLock {
+ mapping(address => uint) public balances;
+ mapping(address => uint) public lockTime;
+
+ function deposit() external payable {
+ balances[msg.sender] += msg.value;
+ lockTime[msg.sender] = block.timestamp + 1 weeks;
+ }
+
+ function increaseLockTime(uint _secondsToIncrease) public {
+ lockTime[msg.sender] += _secondsToIncrease;
+ }
+
+ function withdraw() public {
+ require(balances[msg.sender] > 0, "Insufficient funds");
+ require(block.timestamp > lockTime[msg.sender], "Lock time not expired");
+
+ uint amount = balances[msg.sender];
+ balances[msg.sender] = 0;
+
+ (bool sent, ) = msg.sender.call{value: amount}("");
+ require(sent, "Failed to send Ether");
+ }
+}
+
+contract Attack {
+ TimeLock timeLock;
+
+ constructor(TimeLock _timeLock) {
+ timeLock = TimeLock(_timeLock);
+ }
+
+ fallback() external payable {}
+
+ function attack() public payable {
+ timeLock.deposit{value: msg.value}();
+ /*
+ if t = current lock time then we need to find x such that
+ x + t = 2**256 = 0
+ so x = -t
+ 2**256 = type(uint).max + 1
+ so x = type(uint).max + 1 - t
+ */
+ timeLock.increaseLockTime(
+ type(uint).max + 1 - timeLock.lockTime(address(this))
+ );
+ timeLock.withdraw();
+ }
+}
+```
+
+##### Jak zabránit podtečení a přetečení celých čísel
+
+Od verze 0.8.0 kompilátor Solidity odmítá kód, který by vedl k podtečení nebo přetečení celých čísel. A smart kontrakty, které jsou kompilovány pomocí starší verze kompilátoru, by měly buď provádět kontroly ve funkcích zahrnujících aritmetické operace, nebo použít knihovnu (např. [SafeMath](https://docs.openzeppelin.com/contracts/2.x/api/math)), která provádí kontroly podtečení/přetečení.
+
+#### Manipulace s orákly {#oracle-manipulation}
+
+[Orákula](/developers/docs/oracles/) získávají informace mimo blockchain a posílají je do něj, kde je mohou použít chytré kontrakty. Pomocí orákul můžete navrhovat chytré kontrakty, které spolupracují se systémy mimo blockchain, jako jsou kapitálové trhy, což výrazně rozšiřuje jejich využití.
+
+Pokud je však orákulum poškozeno a posílá nesprávné informace na blockchain, kód chytrých kontraktů bude vykonáván na základě chybných vstupů, což může způsobit problémy. To je podstatou „problému orákulí“, který se týká úkolu zajistit, aby informace z blockchainového orákula byly přesné, aktuální a včasné.
+
+Souvisejícím bezpečnostním problémem je použití orákula na blockchainu, například decentralizované burzy, k získání aktuální ceny aktiva. Platformy na půjčování prostředků v odvětví [decentralizovaných financí (DeFi)](/defi/) to často dělají, aby určily hodnotu zástavy uživatele a zjistily, kolik si může půjčit.
+
+Ceny na DEX jsou často přesné, zejména díky arbitrážím, které obnovují paritu na trzích. Je však možné s nimi manipulovat, zejména pokud orákulum na blockchainu vypočítává ceny aktiv na základě historických obchodních vzorců (což se obvykle stává).
+
+Útočník by mohl například uměle zvýšit spotovou cenu aktiva tím, že si vezme bleskovou půjčku těsně před interakcí s vaším půjčovacím kontraktem. Dotazování na cenu aktiva na DEX by vrátilo vyšší než normální hodnotu (kvůli velké „nákupní objednávce“ útočníka, která zkresluje poptávku po aktivu), což by mu umožnilo si půjčit více, než by měl. Takovéto „útoky na bleskové půjčky“ byly použity ke zneužití závislosti na cenových oráklech mezi aplikacemi DeFi, což stálo protokoly miliony finančních prostředků.
+
+##### Jak zabránit manipulaci s orákly
+
+Minimálním požadavkem na [zabránění manipulaci s orákly](https://www.cyfrin.io/blog/price-oracle-manipultion-attacks-with-examples) je použití decentralizované sítě orákulí, která dotazuje informace z více zdrojů, aby se zabránilo jednotlivým bodům selhání. Ve většině případů mají decentralizovaná orákula vestavěné kryptoekonomické pobídky, které motivují orákulové uzly k hlášení správných informací, což je činí bezpečnějšími než centralizovaná orákula.
+
+Pokud plánujete dotazovat se blockchainového orákula na ceny aktiv, zvažte použití takového systému, který implementuje mechanismus časově vážené průměrné ceny (TWAP). [TWAP orákulum](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) dotazuje cenu aktiva ve dvou různých časových bodech (které můžete upravit) a vypočítá spotovou cenu na základě získaného průměru. Volba delších časových období chrání váš protokol proti manipulaci s cenami, protože velké objednávky provedené nedávno nemohou ovlivnit ceny aktiv.
+
+## Zdroje pro zabezpečení smart kontraktů pro vývojáře {#smart-contract-security-resources-for-developers}
+
+### Nástroje pro analýzu smart kontraktů a ověřování správnosti kódu {#code-analysis-tools}
+
+- **[Testovací nástroje a knihovny](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** – _sbírka profesionálních nástrojů a knihoven pro provádění unit testů, statické analýzy a dynamické analýzy na smart kontraktech._
+
+- **[Nástroje pro formální ověřování](/developers/docs/smart-contracts/formal-verification/#formal-verification-tools)** – _nástroje pro ověřování funkční správnosti ve smart kontraktech a kontrolu invariantů._
+
+- **[Služby auditu smart kontraktů](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** – _seznam organizací poskytujících služby auditu smart kontraktů pro vývojové projekty Etherea._
+
+- **[Platformy na odměny za řešení chyb](/developers/docs/smart-contracts/testing/#bug-bounty-platforms)** – _platformy pro koordinaci odměn za řešení chyb a odměňování odpovědného odhalování kritických zranitelností ve smart kontraktech._
+
+- **[Kontrola forku](https://forkchecker.hashex.org/)** – _bezplatný online nástroj pro kontrolu všech dostupných informací o forkovaném kontraktu._
+
+- **[ABI Kodér](https://abi.hashex.org/)** – _bezplatná online služba pro kódování funkcí a argumentů konstruktorů kontraktů Solidity._
+
+- **[Aderyn](https://github.com/Cyfrin/aderyn)** – _statický analyzér Solidity, který prochází abstraktní syntaktické stromy (AST) za účelem zjištění podezřelých zranitelností a vypisuje problémy v přehledném markdown formátu._
+
+### Nástroje pro monitorování smart kontraktů {#smart-contract-monitoring-tools}
+
+- **[OpenZeppelin Defender Sentinels](https://docs.openzeppelin.com/defender/v1/sentinel)** – _nástroj pro automatické sledování a reagování na události, funkce a parametry transakcí ve vašich smart kontraktech._
+
+- **[Tenderly Real-Time Alerting](https://tenderly.co/alerting/)** – _nástroj pro získávání oznámení v reálném čase, když dojde k neobvyklým nebo neočekávaným událostem ve vašich smart kontraktech nebo peněženkách._
+
+### Nástroje pro bezpečnou správu smart kontraktů {#smart-contract-administration-tools}
+
+- **[OpenZeppelin Defender Admin](https://docs.openzeppelin.com/defender/v1/admin)** – _rozhraní pro správu smart kontraktů, včetně řízení přístupu, aktualizací a pozastavení._
+
+- **[Safe](https://safe.global/)** – _peněženka se smart kontraktem běžící na platformě Ethereum, která vyžaduje, aby transakci schválil minimální počet lidí (M-z-N)._
+
+- **[Kontrakty OpenZeppelin](https://docs.openzeppelin.com/contracts/4.x/)** – _knihovny kontraktů pro implementaci funkcí správy, včetně vlastnictví kontraktů, upgradů, řízení přístupu, správy, možnosti pozastavení a více._
+
+### Služby auditu smart kontraktů {#smart-contract-auditing-services}
+
+- **[ConsenSys Diligence](https://consensys.net/diligence/)** – _služba auditu smart kontraktů, která pomáhá projektům napříč blockchainovým ekosystémem zajistit, aby jejich protokoly byly připraveny ke spuštění a vytvořeny tak, aby chránily uživatele._
+
+- **[CertiK](https://www.certik.com/)** – _blockchainová bezpečnostní firma, která je průkopníkem v používání nejmodernější technologie formálního ověřování ve smart kontraktech a blockchainových sítích._
+
+- **[Trail of Bits](https://www.trailofbits.com/)** – _společnost zabývající se kybernetickou bezpečností, která kombinuje bezpečnostní výzkum s mentalitou útočníka s cílem snížit riziko a posílit kód._
+
+- **[PeckShield](https://peckshield.com/)** – _blockchainová bezpečnostní společnost nabízející produkty a služby pro bezpečnost, soukromí a použitelnost celého blockchainového ekosystému._
+
+- **[QuantStamp](https://quantstamp.com/)** – _auditorská služba usnadňující mainstreamové přijetí blockchainové technologie prostřednictvím služeb hodnocení bezpečnosti a rizik._
+
+- **[OpenZeppelin](https://www.openzeppelin.com/security-audits)** – _bezpečnostní společnost zabývající se smart kontrakty poskytující bezpečnostní audity pro distribuované systémy._
+
+- **[Runtime Verification](https://runtimeverification.com/)** – _bezpečnostní společnost specializující se na formální modelování a ověřování smart kontraktů._
+
+- **[Hacken](https://hacken.io)** – _Web3 auditor kybernetické bezpečnosti přinášející 360stupňový přístup k bezpečnosti blockchainu._
+
+- **[Nethermind](https://www.nethermind.io/smart-contract-audits)** – _služby auditu Solidity a Cairo, které zajišťují integritu smart kontraktů a bezpečnost uživatelů napříč Ethereem a Starknetem._
+
+- **[HashEx](https://hashex.org/)** – _HashEx se zaměřuje na audit blockchainu a smart kontraktů s cílem zajistit bezpečnost kryptoměn a poskytuje služby, jako je vývoj smart kontraktů, penetrační testování a poradenství v oblasti blockchainu._
+
+- **[Code4rena](https://code4rena.com/)** – _kompetitivní platforma pro audit, která motivuje experty na zabezpečení smart kontraktů, aby našli zranitelnosti a pomohli zvýšit bezpečnost webu3._
+
+- **[CodeHawks](https://codehawks.com/)** – _kompetitivní platforma pro auditování smart kontraktů pořádající soutěže pro výzkumníky v oblasti bezpečnosti._
+
+- **[Cyfrin](https://cyfrin.io)** – _bezpečnostní Web3 společnost, inkubátor krypto bezpečnosti prostřednictvím produktů a služeb auditu smart kontraktů._
+
+- **[ImmuneBytes](https://immunebytes.com/smart-contract-audit/)** – _Web3 bezpečnostní firma nabízející bezpečnostní audity pro blockchainové systémy prostřednictvím týmu zkušených auditorů a nejlepších nástrojů ve své třídě._
+
+- **[Oxorio](https://oxor.io/)** – _audity smart kontraktů a bezpečnostní služby blockchainu s odbornými znalostmi v oblasti EVM, Solidity, ZK, technologií napříč blockchainy pro krypto firmy a projekty DeFi._
+
+- **[Inference](https://inference.ag/)** – _bezpečnostní auditorská společnost, která se specializuje na audit smart kontraktů pro blockchainy založené na EVM. Díky svým odborným auditorům identifikují potenciální problémy a navrhují schůdná řešení k jejich odstranění ještě před nasazením._
+
+### Platformy pro odměny za řešení chyb {#bug-bounty-platforms}
+
+- **[Immunefi](https://immunefi.com/)** – _platforma na odměny za řešení chyb ve smart kontraktech a projektech DeFi, kde bezpečnostní výzkumníci revidují kód, odhalují zranitelnosti, dostávají zaplaceno a zvyšují bezpečnost kryptoměn._
+
+- **[HackerOne](https://www.hackerone.com/)** – _platforma pro koordinaci zranitelností a odměny za chyby, která spojuje podniky s testery penetrací a výzkumníky kybernetické bezpečnosti._
+
+- **[HackenProof](https://hackenproof.com/)** – _expertní platforma na odměny za řešení chyb pro krypto projekty (DeFi, smart kontrakty, peněženky, CEX a další), kde bezpečnostní profesionálové poskytují služby třídění a výzkumníci dostávají zaplaceno za relevantní, ověřená hlášení chyb._
+
+- **[Sherlock](https://www.sherlock.xyz/)** – _ručitel ve Web3 pro zabezpečení smart kontraktů, s výplatami pro auditory řízenými prostřednictvím smart kontraktů, aby se zajistilo, že příslušné chyby budou spravedlivě zaplaceny._
+
+- **[CodeHawks](https://www.codehawks.com/)** – _kompetitivní platforma na odměny za řešení chyb, kde se auditoři účastní bezpečnostních soutěží a výzev a (brzy) i vlastních soukromých auditů._
+
+### Publikace známých zranitelností a zneužití smart kontraktů {#common-smart-contract-vulnerabilities-and-exploits}
+
+- **[ConsenSys: Známé útoky na smart kontrakty](https://consensys.github.io/smart-contract-best-practices/attacks/)** – _vysvětlení pro začátečníky nejvýznamnějších zranitelností smluv s ukázkovým kódem pro většinu případů._
+
+- **[Registr SWC](https://swcregistry.io/)** – _souborný seznam položek Common Weakness Enumeration (CWE, enumerací častých slabin), které se vztahují na smart kontrakty Etherea._
+
+- **[Rekt](https://rekt.news/)** – _pravidelně aktualizovaná publikace významných krypto hacků a exploitů spolu s podrobnými postmortálními zprávami._
+
+### Výzvy určené k učení se zabezpečení smart kontraktů {#challenges-for-learning-smart-contract-security}
+
+- **[Awesome BlockSec CTF](https://github.com/blockthreat/blocksec-ctfs)** – _kurátorský seznam blockchainových bezpečnostních válečných her, výzev a [Capture The Flag](https://www.webopedia.com/definitions/ctf-event/amp/) soutěží a zápisů řešení._
+
+- **[Damn Vulnerable DeFi](https://www.damnvulnerabledefi.xyz/)** – _válečná hra, ve které se naučíte ofensivní zabezpečení smart kontraktů DeFi a získáte dovednosti v oblasti hledání chyb a bezpečnostního auditu._
+
+- **[Ethernaut](https://ethernaut.openzeppelin.com/)** – _Web3/Solidity válečná hra, kde každá úroveň představuje smart kontrakt, který je třeba „hacknout“._
+
+- **[HackenProof x HackTheBox](https://app.hackthebox.com/tracks/HackenProof-Track)** – _hackovací výzvy smart kontraktů, zasazená do fantasy dobrodružství. Úspěšné splnění výzvy také umožňuje přístup do soukromého programu odměn za řešení chyb._
+
+### Osvědčené postupy pro zabezpečení smart kontraktů {#smart-contract-security-best-practices}
+
+- **[ConsenSys: ](https://consensys.github.io/smart-contract-best-practices/)** – _Úplný seznam pokynů pro zabezpečení smart kontraktů na Ethereu._
+
+- **[Nascent: Jednoduchý bezpečnostní toolkit](https://github.com/nascentxyz/simple-security-toolkit)** – _sbírka praktických průvodců a kontrolních seznamů zaměřených na bezpečnost při vývoji smart kontraktů._
+
+- **[Solidity Patterns](https://fravoll.github.io/solidity-patterns/)** – _užitečná kompilace bezpečných vzorů a osvědčených postupů pro programovací jazyk smart kontraktů Solidity._
+
+- **[Dokumenty Solidity: Security Considerations](https://docs.soliditylang.org/en/v0.8.16/security-considerations.html)** – _pokyny pro psaní bezpečných smart kontraktů pomocí Solidity._
+
+- **[Standard ověřování zabezpečení smart kontraktů](https://github.com/securing/SCSVS)** – _čtrnáctidílný kontrolní seznam vytvořený za účelem standardizace zabezpečení smart kontraktů pro vývojáře, architekty, bezpečnostní recenzenty a prodejce._
+
+- **[Učte se zabezpečení a auditování chytrých kontraktů](https://updraft.cyfrin.io/courses/security)** – _Ultimátní kurz bezpečnosti a auditu chytrých kontraktů vytvořený pro vývojáře chytrých kontraktů, kteří chtějí zvýšit úroveň svých osvědčených postupů v oblasti bezpečnosti a stát se bezpečnostními výzkumníky._
+
+### Výukové programy o zabezpečení smart kontraktů {#tutorials-on-smart-contract-security}
+
+- [Jak psát bezpečné smart kontrakty](/developers/tutorials/secure-development-workflow/)
+
+- [Jak používat Slither k hledání chyb ve smart kontraktech](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+
+- [Jak používat Manticore k vyhledávání chyb v chytrých kontraktech](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
+
+- [Pokyny pro zabezpečení smart kontraktů](/developers/tutorials/smart-contract-security-guidelines/)
+
+- [Jak bezpečně integrovat tokenový kontrakt s libovolnými tokeny](/developers/tutorials/token-integration-checklist/)
+
+- [Cyfrin Updraft – zabezpečení a auditování smart kontraktů, celý kurz](https://updraft.cyfrin.io/courses/security)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md b/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md
new file mode 100644
index 00000000000..f8689e2826f
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/testing/index.md
@@ -0,0 +1,308 @@
+---
+title: Testování chytrých smluv
+description: Přehled technik a úvah využívaných při testování chytrých kontraktů na Ethereu.
+lang: cs
+---
+
+Veřejné blockchainy, jako je Ethereum, jsou neměnné, což ztěžuje změnu kódu chytrých kontraktů po nasazení. Existují [vzory vylepšení kontraktů](/developers/docs/smart-contracts/upgrading/) pro provádění „virtuálních vylepšení“, které se však obtížně implementují a vyžadují sociální konsenzus. Navíc vylepšení může chybu opravit až _po_ jejím objevení – pokud útočník objeví zranitelnost jako první, je váš chytrý kontrakt vystaven riziku zneužití.
+
+Z těchto důvodů je testování chytrých kontraktů před [nasazením](/developers/docs/smart-contracts/deploying/) do hlavní sítě minimálním požadavkem na [bezpečnost](/developers/docs/smart-contracts/security/). Existuje mnoho technik pro testování kontraktů a vyhodnocování správnosti kódu; výběr závisí na vašich potřebách. Nicméně sada testů složená z různých nástrojů a přístupů je ideální pro odhalení menších i větších bezpečnostních chyb v kódu kontraktu.
+
+## Předpoklady {#prerequisites}
+
+Tato stránka vysvětluje, jak testovat chytré kontrakty před nasazením do Etherea. Předpokládá, že rozumíte [chytrým kontraktům](/developers/docs/smart-contracts/).
+
+## Co je to testování chytrého kontraktu? {#what-is-smart-contract-testing}
+
+Testování chytrých kontraktů je proces ověřování, zda kód chytrého kontraktu funguje podle očekávání. Testování je užitečné pro kontrolu, zda konkrétní chytrý kontrakt splňuje požadavky na spolehlivost, použitelnost a bezpečnost.
+
+Ačkoli se přístupy liší, většina metod testování vyžaduje spuštění chytrého kontraktu s malým vzorkem dat, který má zpracovávat. Pokud kontrakt poskytuje správné výsledky pro vzorková data, předpokládá se, že funguje správně. Většina testovacích nástrojů poskytuje prostředky pro psaní a provádění [testovacích případů](https://en.m.wikipedia.org/wiki/Test_case) ke kontrole, zda provedení kontraktu odpovídá očekávaným výsledkům.
+
+### Proč je důležité testovat chytré kontrakty? {#importance-of-testing-smart-contracts}
+
+Vzhledem k tomu, že chytré kontrakty často spravují finanční aktiva vysoké hodnoty, mohou drobné programátorské chyby často vést k [masivním ztrátám pro uživatele](https://rekt.news/leaderboard/). Důkladné testování vám však může pomoci včas odhalit chyby a problémy v kódu chytrého kontraktu a opravit je ještě před spuštěním na hlavní síti.
+
+V případě objevení chyby je sice možné kontrakt vylepšit, ale vylepšení jsou složitá a při nesprávném postupu mohou [vést k chybám](https://blog.trailofbits.com/2018/09/05/contract-upgrade-anti-patterns/). Vylepšení kontraktu dále popírá princip neměnnosti a zatěžuje uživatele dalšími předpoklady důvěryhodnosti. Komplexní plán testování kontraktu naopak zmírňuje bezpečnostní rizika a snižuje potřebu provádět po nasazení složité vylepšení logiky.
+
+## Metody testování chytrých kontraktů {#methods-for-testing-smart-contracts}
+
+Metody testování chytrých kontraktů na Ethereu spadají do dvou velkých kategorií: **automatizované testování** a **ruční testování**. Automatizované a ruční testování nabízejí jedinečné výhody a kompromisy, ale můžete je kombinovat a vytvořit tak robustní plán pro analýzu vašich kontraktů.
+
+### Automatizované testování {#automated-testing}
+
+Automatizované testování využívá nástroje, které automaticky kontrolují kód chytrých kontraktů na chyby při provádění. Výhodou automatizovaného testování je možnost používání [skriptů](https://www.techtarget.com/whatis/definition/script?amp=1), které slouží k vyhodnocování funkcí kontraktu. Skriptované testy lze naplánovat tak, aby se opakovaně spouštěly s minimálním zásahem člověka, čímž je automatizované testování efektivnější než ruční přístup k testování.
+
+Automatizované testování je užitečné zejména v případech, kdy se testy opakují a jsou časově náročné; je obtížné je provádět ručně; jsou náchylné k lidským chybám; nebo zahrnují hodnocení kritických funkcí kontraktu. Automatické testovací nástroje však mohou mít i své nevýhody – mohou přehlédnout některé chyby a produkovat mnoho [falešně pozitivních výsledků](https://www.contrastsecurity.com/glossary/false-positive). Proto je ideální kombinovat automatizované testování s ručním testováním chytrých kontraktů.
+
+### Ruční testování {#manual-testing}
+
+Ruční testování probíhá za pomoci člověka a zahrnuje postupné provádění jednotlivých testovacích případů v sadě testů při analýze správnosti chytrých kontraktů. To je rozdíl od automatizovaného testování, kdy můžete současně spustit několik izolovaných testů na kontraktu a získat zprávu zobrazující všechny neúspěšné a úspěšné testy.
+
+Ruční testování může provádět jeden člověk podle písemného plánu testování, který zahrnuje různé testovací případy. V rámci ručního testování můžete také nechat více jednotlivců nebo skupin interagovat s chytrým kontraktem po určitou dobu. Testeři porovnají skutečné chování kontraktu s očekávaným chováním a jakýkoli rozdíl označí jako chybu.
+
+Efektivní ruční testování vyžaduje značné zdroje (dovednosti, čas, peníze a úsilí) a je možné, že při provádění testů dojde k přehlédnutí některých chyb v důsledku lidského faktoru. Ruční testování však může být také přínosné – například lidský tester (např. auditor) může pomocí intuice odhalit krajní případy, které by automatizovaný testovací nástroj přehlédl.
+
+## Automatizované testování chytrých kontraktů {#automated-testing-for-smart-contracts}
+
+### Jednotkové testování {#unit-testing-for-smart-contracts}
+
+Jednotkové testování vyhodnocuje funkce kontraktů samostatně a kontroluje, zda každá komponenta funguje správně. Dobré jednotkové testy by měly být jednoduché, rychle spustitelné a měly by poskytovat jasnou představu o tom, co se pokazilo, pokud testy selžou.
+
+Jednotkové testy jsou užitečné pro kontrolu, zda funkce vracejí očekávané hodnoty a zda je úložiště kontraktu po provedení funkce správně aktualizováno. Spuštění jednotkových testů po provedení změn v kódové základně kontraktu navíc zajistí, že přidání nové logiky nezpůsobí chyby. Níže je uvedeno několik pokynů pro efektivní provádění jednotkových testů:
+
+#### Pokyny pro jednotkové testování chytrých kontraktů {#unit-testing-guidelines}
+
+##### 1. Pochopte obchodní logiku a pracovní postupy vašich kontraktů
+
+Před psaním jednotkových testů je dobré vědět, jaké funkce chytrý kontrakt nabízí a jak k nim budou uživatelé přistupovat a používat je. To je užitečné zejména při provádění testů [šťastné cesty](https://en.m.wikipedia.org/wiki/Happy_path), které zjišťují, zda funkce v kontraktu vracejí správný výstup pro platné uživatelské vstupy. Tento koncept si vysvětlíme na tomto (zkráceném) příkladu [aukčního kontraktu.](https://docs.soliditylang.org/en/v0.8.17/solidity-by-example.html?highlight=Auction%20contract#simple-open-auction)
+
+```
+constructor(
+ uint biddingTime,
+ address payable beneficiaryAddress
+ ) {
+ beneficiary = beneficiaryAddress;
+ auctionEndTime = block.timestamp + biddingTime;
+ }
+
+function bid() external payable {
+
+ if (block.timestamp > auctionEndTime)
+ revert AuctionAlreadyEnded();
+
+ if (msg.value <= highestBid)
+ revert BidNotHighEnough(highestBid);
+
+ if (highestBid != 0) {
+ pendingReturns[highestBidder] += highestBid;
+ }
+ highestBidder = msg.sender;
+ highestBid = msg.value;
+ emit HighestBidIncreased(msg.sender, msg.value);
+ }
+
+ function withdraw() external returns (bool) {
+ uint amount = pendingReturns[msg.sender];
+ if (amount > 0) {
+ pendingReturns[msg.sender] = 0;
+
+ if (!payable(msg.sender).send(amount)) {
+ pendingReturns[msg.sender] = amount;
+ return false;
+ }
+ }
+ return true;
+ }
+
+function auctionEnd() external {
+ if (block.timestamp < auctionEndTime)
+ revert AuctionNotYetEnded();
+ if (ended)
+ revert AuctionEndAlreadyCalled();
+
+ ended = true;
+ emit AuctionEnded(highestBidder, highestBid);
+
+ beneficiary.transfer(highestBid);
+ }
+}
+```
+
+Toto je jednoduchý aukční kontrakt určený k přijímání nabídek během přihazovacího období. Pokud se `highestBid` zvýší, předchozí účastník s nejvyšší nabídkou obdrží své peníze; jakmile přihazovací období skončí, `beneficiary` vypoví smlouvu a obdrží své peníze.
+
+Jednotkové testy pro takový kontrakt by se týkaly různých funkcí, které by uživatel mohl volat při interakci s kontraktem. Příkladem může být jednotkový test, který kontroluje, zda uživatel může zadat nabídku, zatímco aukce probíhá (tj. volání `bid()` je úspěšné), nebo test, který kontroluje, zda uživatel může zadat vyšší nabídku, než je aktuální `highestBid`.
+
+Pochopení provozního pracovního postupu kontraktu také pomáhá při psaní jednotkových testů, které kontrolují, zda provádění splňuje požadavky. Například aukční kontrakt určuje, že uživatelé nemohou podávat nabídky poté, co aukce skončí (tj. když `auctionEndTime` je nižší než `block.timestamp`). Vývojář tak může spustit jednotkový test, který kontroluje, zda volání funkce `bid()` uspěje nebo selže, když aukce skončí (tj. když `auctionEndTime` > `block.timestamp`).
+
+##### 2. Vyhodnoďte všechny předpoklady související se spuštěním kontraktu
+
+Je důležité zdokumentovat všechny předpoklady o provádění kontraktu a napsat jednotkové testy k ověření platnosti těchto předpokladů. Kromě ochrany před neočekávaným spuštěním vás testování tvrzení nutí přemýšlet o operacích, které by mohly narušit bezpečnostní model chytrých kontraktů. Užitečným tipem je jít nad rámec „testů šťastného uživatele“ a napsat negativní testy, které zkontrolují, zda funkce selže při špatných vstupech.
+
+Mnoho frameworků pro jednotkové testy umožňuje vytvářet tvrzení – jednoduché příkazy, které uvádějí, co kontrakt může a co nemůže dělat – a spouštět testy, které zjišťují, zda tato tvrzení platí při provádění. Vývojář, který pracuje na dříve popsaném aukčním kontraktu, může před provedením negativních testů učinit následující tvrzení o jeho chování:
+
+- Uživatelé nemohou podávat nabídky, pokud aukce skončila nebo ještě nezačala.
+
+- Pokud je nabídka pod přijatelnou hranicí, aukční kontrakt vrátí nabídku zpět.
+
+- Uživatelům, kteří aukci nevyhráli, jsou připsány jejich finanční prostředky.
+
+**Poznámka**: Další možností testování předpokladů je psaní testů, které spouštějí [modifikátory funkcí](https://docs.soliditylang.org/en/v0.8.16/contracts.html#function-modifiers) v kontraktu, zejména příkazy `require`, `assert` a `if…else`.
+
+##### 3. Změřte pokrytí kódu
+
+[Pokrytí kódu](https://en.m.wikipedia.org/wiki/Code_coverage) je metrika testování, která sleduje počet větví, řádků a příkazů v kódu provedených během testů. Testy by měly mít dobré pokrytí kódu, aby se minimalizovalo riziko netestovaných zranitelností. Bez dostatečného pokrytí se můžete mylně domnívat, že váš kontrakt je bezpečný, protože všechny testy prošly, zatímco v netestovaných cestách kódu stále existují zranitelnosti. Zaznamenání vysokého pokrytí kódu však dává jistotu, že všechny příkazy/funkce v chytrém kontraktu byly dostatečně otestovány z hlediska správnosti.
+
+##### 4. Použijte dobře vyvinuté testovací frameworky
+
+Kvalita nástrojů používaných při spouštění jednotkových testů pro vaše chytré kontrakty je klíčová. Ideální testovací framework je takový, který je pravidelně udržován, poskytuje užitečné funkce (např. funkce protokolování a reportování) a musí být hojně používán a ověřován ostatními vývojáři.
+
+Frameworky jednotkového testování pro chytré kontrakty Solidity existují v různých jazycích (většinou JavaScript, Python a Rust). Informace o tom, jak začít spouštět jednotkové testy s různými testovacími frameworky, najdete v některých z níže uvedených návodů:
+
+- **[Spouštění jednotkových testů pomocí Brownie](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)**
+- **[Spouštění jednotkových testů pomocí Foundry](https://book.getfoundry.sh/forge/writing-tests)**
+- **[Spouštění jednotkových testů pomocí Waffle](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#writing-tests)**
+- **[Spouštění jednotkových testů pomocí Remix](https://remix-ide.readthedocs.io/en/latest/unittesting.html#write-tests)**
+- **[Spouštění jednotkových testů pomocí Ape](https://docs.apeworx.io/ape/stable/userguides/testing.html)**
+- **[Spouštění jednotkových testů pomocí Hardhat](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)**
+- **[Spouštění jednotkových testů pomocí Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)**
+
+### Integrační testování {#integration-testing-for-smart-contracts}
+
+Zatímco jednotkové testy ladí funkce kontraktu izolovaně, integrační testy hodnotí součásti chytrého kontraktu jako celek. Integrační testování může odhalit problémy vyplývající z volání napříč kontrakty nebo interakcí mezi různými funkcemi ve stejném chytrém kontraktu. Integrační testy mohou například pomoci zkontrolovat, zda věci jako [dědičnost](https://docs.soliditylang.org/en/v0.8.12/contracts.html#inheritance) a injekce závislostí fungují správně.
+
+Integrační testování je užitečné, pokud váš kontrakt používá modulární architekturu nebo se během provádění propojuje s jinými kontrakty na blockchainu. Jedním ze způsobů provádění integračních testů je [rozvětvit blockchain](/glossary/#fork) v určité míře (pomocí nástroje jako [Forge](https://book.getfoundry.sh/forge/fork-testing) nebo [Hardhat](https://hardhat.org/hardhat-network/docs/guides/forking-other-networks) a simulovat interakce mezi vaším kontraktem a nasazenými kontrakty.
+
+Rozvětvený blockchain se bude chovat podobně jako hlavní síť a bude mít účty s přidruženými stavy a zůstatky. Funguje však pouze jako lokální sandboxové vývojové prostředí, což znamená, že například pro transakce nebudete potřebovat skutečné ETH a vaše změny neovlivní skutečný protokol Etherea.
+
+### Testování na základě vlastností {#property-based-testing-for-smart-contracts}
+
+Testování na základě vlastností je proces kontroly, zda chytrý kontrakt splňuje nějakou definovanou vlastnost. Vlastnosti potvrzují skutečnosti o chování kontraktu, které by měly zůstat pravdivé v různých situacích – příkladem vlastnosti chytrého kontraktu může být „Aritmetické operace v kontraktu nikdy nepřetékají ani nepodtékají.“
+
+**Statická analýza** a **dynamická analýza** jsou dvě běžné techniky pro provádění testování na základě vlastností a obě mohou ověřit, zda kód programu (v tomto případě chytrého kontraktu) splňuje nějakou předem definovanou vlastnost. Některé nástroje pro testování na základě vlastností obsahují předdefinovaná pravidla o očekávaných vlastnostech kontraktu a kontrolují kód podle těchto pravidel, zatímco jiné umožňují vytvořit vlastní vlastnosti chytrého kontraktu.
+
+#### Statická analýza {#static-analysis}
+
+Statický analyzátor přijímá jako vstup zdrojový kód chytrého kontraktu a na výstupu deklaruje, zda kontrakt splňuje danou vlastnost, či nikoli. Na rozdíl od dynamické analýzy statická analýza nezahrnuje spuštění kontraktu a jeho analýzu z hlediska správnosti. Statická analýza namísto toho uvažuje o všech možných cestách, kterými by se chytrý kontrakt mohl během provádění vydat (tj. zkoumá strukturu zdrojového kódu a zjišťuje, co by to znamenalo pro fungování kontraktu za běhu).
+
+[Lintování](https://www.perforce.com/blog/qac/what-lint-code-and-why-linting-important) a [statické testování](https://www.techtarget.com/whatis/definition/static-analysis-static-code-analysis) jsou běžné metody pro provádění statické analýzy kontraktů. Obě vyžadují analýzu nízkoúrovňových reprezentací provádění kontraktu, jako jsou [abstraktní syntaktické stromy](https://en.m.wikipedia.org/wiki/Abstract_syntax_tree) a [grafy toku řízení](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/amp/), které vypisuje kompilátor.
+
+Ve většině případů je statická analýza užitečná pro odhalení bezpečnostních problémů, jako je použití nebezpečných konstrukcí, syntaktických chyb nebo porušení kódovacích standardů v kódu kontraktu. Je však známo, že statické analyzátory nejsou obecně spolehlivé při odhalování hlubších zranitelností a mohou produkovat nadměrné množství falešně pozitivních výsledků.
+
+#### Dynamická analýza {#dynamic-analysis}
+
+Dynamická analýza generuje symbolické vstupy (např. v [symbolickém provedení](https://en.m.wikipedia.org/wiki/Symbolic_execution)) nebo konkrétní vstupy (např. ve [fuzzingu](https://owasp.org/www-community/Fuzzing)) do funkcí chytrých kontraktů, aby zjistila, zda některá(é) stopa(y) provedení porušuje(í) konkrétní vlastnosti. Tato forma testování na základě vlastností se od jednotkových testů liší tím, že testovací případy pokrývají více situací a generování testovacích případů zajišťuje program.
+
+[Fuzzing](https://halborn.com/what-is-fuzz-testing-fuzzing/) je příkladem techniky dynamické analýzy pro ověřování libovolných vlastností chytrých kontraktů. Fuzzer vyvolává funkce v cílovém kontraktu s náhodnými nebo chybnými variantami definované vstupní hodnoty. Pokud se chytrý kontrakt dostane do chybového stavu (např. do stavu, kdy selže tvrzení), je problém označen a v hlášení jsou uvedeny vstupy, které vedou provádění ke zranitelné cestě.
+
+Fuzzing je užitečný pro vyhodnocení mechanismu ověřování vstupů chytrých kontraktů, protože nesprávné zpracování neočekávaných vstupů může vést k nechtěnému spuštění a nebezpečným účinkům. Tato forma testování na základě vlastností může být ideální z mnoha důvodů:
+
+1. **Psaní testovacích případů, které by pokryly mnoho situací, je obtížné.** Testování vlastností vyžaduje pouze definování chování a rozsahu dat, se kterými se chování testuje – program automaticky generuje testovací případy na základě definované vlastnosti.
+
+2. **Vaše sada testů nemusí dostatečně pokrývat všechny možné cesty v rámci programu.** I při 100% pokrytí je možné vynechat krajní případy.
+
+3. **Jednotkové testy prokazují správné provedení kontraktu pro vzorová data, ale není známo, zda se kontrakt správně provede pro vstupy mimo vzorek.** Testy vlastností provádějí cílový kontrakt s více variantami dané vstupní hodnoty a hledají stopy provedení, které způsobují selhání tvrzení. Test vlastností tak poskytuje více záruk, že se kontrakt provede správně pro širokou třídu vstupních dat.
+
+### Pokyny pro testování chytrých kontraktů na základě vlastností {#running-property-based-tests}
+
+Provádění testování na základě vlastností obvykle začíná definováním vlastnosti (např. nepřítomnost přetečení [celých čísel](https://github.com/ConsenSys/mythril/wiki/Integer-Overflow)) nebo kolekce vlastností, které chcete v chytrém kontraktu ověřit. Při psaní testů vlastností může být také nutné definovat rozsah hodnot, ve kterém může program generovat data pro vstupy transakcí.
+
+Po správné konfiguraci bude nástroj pro testování vlastností vykonávat funkce vašich chytrých kontraktů s náhodně vygenerovanými vstupy. Pokud dojde k porušení tvrzení, měla by se zobrazit zpráva s konkrétními vstupními daty, která porušují vyhodnocovanou vlastnost. Podívejte se na některé z níže uvedených návodů, které vám pomohou začít s testováním na základě vlastností pomocí různých nástrojů:
+
+- **[Statická analýza chytrých kontraktů pomocí Slither](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither#slither)**
+- **[Statická analýza chytrých kontraktů pomocí Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)**
+- **[Testování na základě vlastností pomocí Brownie](https://eth-brownie.readthedocs.io/en/stable/tests-hypothesis-property.html)**
+- **[Fuzzingové kontrakty s Foundry](https://book.getfoundry.sh/forge/fuzz-testing)**
+- **[Fuzzingové kontrakty s Echidna](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna#echidna-tutorial)**
+- **[Fuzzingové kontrakty s Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/fuzzing/)**
+- **[Symbolické provádění chytrých kontraktů pomocí Manticore](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore#manticore-tutorial)**
+- **[Symbolické provádění chytrých kontraktů pomocí Mythril](https://mythril-classic.readthedocs.io/en/master/tutorial.html)**
+
+## Ruční testování pro chytré kontrakty {#manual-testing-for-smart-contracts}
+
+Ruční testování chytrých kontraktů často přichází na řadu později ve vývojovém cyklu po spuštění automatických testů. Tato forma testování hodnotí chytrý kontrakt jako jeden plně integrovaný produkt a zjišťuje, zda funguje tak, jak je uvedeno v technických požadavcích.
+
+### Testování kontraktů na lokálním blockchainu {#testing-on-local-blockchain}
+
+Přestože automatizované testování prováděné v lokálním vývojovém prostředí může poskytnout užitečné informace pro ladění, budete chtít vědět, jak se váš chytrý kontrakt chová v produkčním prostředí. Nasazení do hlavního řetězce Etherea je však spojeno s poplatky za palivo – nemluvě o tom, že vy nebo vaši uživatelé můžete přijít o skutečné peníze, pokud má váš chytrý kontrakt stále chyby.
+
+Testování kontraktu na lokálním blockchainu (známém také jako [vývojová síť](/developers/docs/development-networks/)) je doporučenou alternativou k testování na hlavní síti. Lokální blockchain je kopie blockchainu Etherea spuštěná lokálně na vašem počítači, která simuluje chování exekuční vrstvy Etherea. Proto můžete naprogramovat transakce pro interakci s kontraktem, aniž byste museli vynaložit značné režijní náklady.
+
+Spuštění kontraktů na lokálním blockchainu by mohlo být užitečné jako forma ručního integračního testování. [Chytré kontrakty jsou vysoce modulární](/developers/docs/smart-contracts/composability/), což umožňuje integraci se stávajícími protokoly, ale stále je třeba zajistit, aby tyto složité interakce na blockchainu vedly ke správným výsledkům.
+
+[Další informace o vývojových sítích.](/developers/docs/development-networks/)
+
+### Testování kontraktů v testovacích sítích {#testing-contracts-on-testnets}
+
+Testovací síť neboli testnet funguje přesně jako hlavní síť Ethereum s tím rozdílem, že používá ether (ETH) bez reálné hodnoty. Nasazení kontraktu na [testovací síti](/developers/docs/networks/#ethereum-testnets) znamená, že s ním může kdokoli interagovat (např. prostřednictvím frontendu dappky), aniž by ohrozil finanční prostředky.
+
+Tato forma ručního testování je užitečná pro vyhodnocení komplexního toku aplikace z pohledu uživatele. Zde mohou beta testeři také provádět zkušební provoz a hlásit případné problémy s obchodní logikou a celkovou funkčností kontraktu.
+
+Nasazení v testovací síti po testování na lokálním blockchainu je ideální, protože první z nich je blíže chování virtuálního stroje Etherea. Proto je u mnoha projektů založených na Ethereu běžné nasazovat dappky v testovacích sítích, aby bylo možné vyhodnotit fungování chytrých kontraktů v reálných podmínkách.
+
+[Další informace o testovacích sítích na Ethereu.](/developers/docs/development-networks/#public-beacon-testchains)
+
+## Testování vs. formální ověřování {#testing-vs-formal-verification}
+
+Testování sice pomáhá potvrdit, že kontrakt vrací očekávané výsledky pro některé datové vstupy, ale nemůže jednoznačně prokázat totéž pro vstupy, které nebyly během testů použity. Testování chytrého kontraktu proto nemůže zaručit „funkční správnost“ (tj. nemůže ukázat, že se program chová tak, jak je požadováno pro _všechny_ sady vstupních hodnot).
+
+Formální ověřování je přístup k posuzování správnosti softwaru pomocí kontroly, zda formální model programu odpovídá formální specifikaci. Formální model je abstraktní matematická reprezentace programu, zatímco formální specifikace definuje vlastnosti programu (tj. logická tvrzení o provádění programu).
+
+Protože vlastnosti jsou zapsány v matematických termínech, je možné ověřit, zda formální (matematický) model systému splňuje specifikaci pomocí logických pravidel odvozování. Proto se říká, že formální ověřovací nástroje vytvářejí „matematický důkaz“ správnosti systému.
+
+Na rozdíl od testování lze formální ověřování použít k ověření, že provádění chytrých kontraktů splňuje formální specifikaci pro _všechny_ provádění (tj. že neobsahuje žádné chyby), aniž by bylo nutné provádět je se vzorovými daty. Nejenže se tím zkrátí čas strávený spouštěním desítek jednotkových testů, ale je to také účinnější při odhalování skrytých zranitelností. Formální ověřovací techniky se přitom pohybují v různém spektru v závislosti na obtížnosti jejich implementace a užitečnosti.
+
+[Další informace o formálním ověřování chytrých kontraktů.](/developers/docs/smart-contracts/formal-verification)
+
+## Testování vs. audity a odměny za vyřešení chyb {#testing-vs-audits-bug-bounties}
+
+Jak již bylo zmíněno, důsledné testování může jen zřídka zaručit, že kontrakt neobsahuje chyby; formální ověřovací přístupy mohou poskytnout silnější záruky správnosti, ale v současné době je obtížné je používat a jsou s nimi spojeny značné náklady.
+
+Přesto můžete možnost odhalení zranitelností kontraktu ještě zvýšit tím, že si necháte provést nezávislou revizi kódu. [Audity chytrých kontraktů](https://www.immunebytes.com/blog/what-is-a-smart-contract-audit/) a [odměny za vyřešení chyb](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7) jsou dva způsoby, jak přimět ostatní, aby analyzovali vaše kontrakty.
+
+Audity provádějí auditoři, kteří mají zkušenosti s odhalováním bezpečnostních nedostatků a špatných vývojových postupů v chytrých kontraktech. Audit obvykle zahrnuje testování (a případně formální ověření) a ruční kontrolu celé kódové základny.
+
+Naproti tomu program odměn za vyřešení chyby obvykle zahrnuje nabídku finanční odměny jednotlivci (běžně označovanému jako [whitehat hacker](https://en.wikipedia.org/wiki/White_hat_(computer_security))), který objeví zranitelnost v chytrém kontraktu a odhalí ji vývojářům. Odměny za vyřešení chyb jsou podobné auditům, protože zahrnují žádost ostatních, aby pomohli najít chyby v chytrých kontraktech.
+
+Hlavní rozdíl spočívá v tom, že programy odměn za vyřešení chyb jsou otevřené širší komunitě vývojářů/hackerů a přitahují širokou skupinu etických hackerů a nezávislých bezpečnostních odborníků s jedinečnými dovednostmi a zkušenostmi. To může být výhoda oproti auditům chytrých kontraktů, které se spoléhají především na týmy, které mohou mít omezené nebo úzké odborné znalosti.
+
+## Testovací nástroje a knihovny {#testing-tools-and-libraries}
+
+### Nástroje pro jednotkové testování {#unit-testing-tools}
+
+- **[solidity-coverage](https://github.com/sc-forks/solidity-coverage)** – _Nástroj pro pokrytí kódu chytrých kontraktů napsaných v Solidity._
+
+- **[Waffle](https://ethereum-waffle.readthedocs.io/en/latest/)** – _Framework pro pokročilý vývoj a testování chytrých kontraktů (založený na ethers.js)_.
+
+- **[Remix Tests](https://github.com/ethereum/remix-project/tree/master/libs/remix-tests)** – _Nástroj pro testování chytrých kontraktů Solidity. Pracuje pod pluginem „Solidity Unit Testing“ v prostředí Remix IDE, který se používá k psaní a spouštění testovacích případů pro kontrakt._
+
+- **[OpenZeppelin Test Helpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers)** – _Knihovna pro testování chytrých kontraktů na Ethereu. Ujistěte se, že se vaše kontrakty chovají podle očekávání!_
+
+- **[Brownie unit testing framework](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** – _Brownie využívá Pytest, funkčně bohatý testovací framework, který umožňuje psát malé testy s minimem kódu, dobře se škáluje pro velké projekty a je vysoce rozšiřitelný._
+
+- **[Foundry Tests](https://github.com/foundry-rs/foundry/tree/master/crates/forge)** – _Foundry nabízí Forge, rychlý a flexibilní framework pro testování na Ethereu, který dokáže provádět jednoduché jednotkové testy, kontroly optimalizace paliva a fuzzing kontraktů._
+
+- **[Hardhat Tests](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** – _Framework pro testování chytrých kontraktů založený na ethers.js, Mocha a Chai._
+
+- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** – _Vývojový a testovací framework pro chytré kontrakty v jazyce Python zaměřený na virtuální stroj Etherea._
+
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** – _Python framework pro jednotkové testování a fuzzing se silnými možnostmi ladění a podporou testování napříč blockchainy, využívající pytest a Anvil pro co nejlepší uživatelský zážitek a výkon._
+
+### Nástroje pro testování na základě vlastností {#property-based-testing-tools}
+
+#### Nástroje pro statickou analýzu {#static-analysis-tools}
+
+- **[Slither](https://github.com/crytic/slither)** – _Statický analytický framework v Solidity založený na Pythonu pro vyhledávání zranitelností, zlepšování srozumitelnosti kódu a psaní vlastních analýz pro chytré kontrakty._
+
+- **[Ethlint](https://ethlint.readthedocs.io/en/latest/)** – _Linter pro vynucení nejlepších postupů stylu a zabezpečení pro programovací jazyk chytrých kontraktů Solidity._
+
+- **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** – _Statický analyzátor založený na Rust speciálně navržený pro zabezpečení a vývoj chytrých kontraktů na Web3._
+
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)** – _Statický analytický framework založený na Pythonu s detektory zranitelností a kvality kódu, nástroji pro extrakci užitečných informací z kódu a podporou psaní vlastních podmodulů._
+
+#### Nástroje pro dynamickou analýzu {#dynamic-analysis-tools}
+
+- **[Echidna](https://github.com/crytic/echidna/)** – _Rychlý fuzzer kontraktů pro odhalování zranitelností v chytrých kontraktech pomocí testování na základě vlastností._
+
+- **[Diligence Fuzzing](https://consensys.net/diligence/fuzzing/)** – _Automatický fuzzing nástroj užitečný pro odhalování porušení vlastností v kódu chytrých kontraktů._
+
+- **[Manticore](https://manticore.readthedocs.io/en/latest/index.html)** – _Dynamický framework pro symbolické spouštění pro analýzu EVM bytekódu._
+
+- **[Mythril](https://github.com/ConsenSys/mythril-classic)** – _Nástroj pro vyhodnocování EVM bytekódu pro detekci zranitelností kontraktů pomocí analýzy taintů, analýzy concolic a kontroly toku řízení._
+
+- **[Diligence Scribble](https://consensys.net/diligence/scribble/)** – _Scribble je specifikační jazyk a runtime ověřovací nástroj, který umožňuje anotovat chytré kontrakty pomocí vlastností, které umožňují automatické testování kontraktů pomocí nástrojů, jako je Diligence Fuzzing nebo MythX._
+
+## Související návody {#related-tutorials}
+
+- [Přehled a srovnání různých testovacích produktů](/developers/tutorials/guide-to-smart-contract-security-tools/) \_
+- [Jak používat Echidnu k testování chytrých kontraktů](/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/)
+- [Jak používat Manticore k vyhledávání chyb v chytrých kontraktech](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
+- [Jak používat Slither k hledání chyb ve smart kontraktech](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+- [Jak vytvořit maketu smlouvy Solidity pro testování](/developers/tutorials/how-to-mock-solidity-contracts-for-testing/)
+- [Jak spouštět jednotkové testy v Solidity pomocí Foundry](https://www.rareskills.io/post/foundry-testing-solidity)
+
+## Další informace {#further-reading}
+
+- [Podrobný průvodce testováním chytrých kontraktů na Ethereu](https://iamdefinitelyahuman.medium.com/an-in-depth-guide-to-testing-ethereum-smart-contracts-2e41b2770297)
+- [Jak testovat chytré kontrakty na Ethereu](https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d)
+- [Průvodce jednotkovým testováním pro vývojáře od MolochDAO](https://github.com/MolochVentures/moloch/tree/4e786db8a4aa3158287e0935dcbc7b1e43416e38/test#moloch-testing-guide)
+- [Jak testovat chytré kontrakt jako borec](https://forum.openzeppelin.com/t/test-smart-contracts-like-a-rockstar/1001)
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md b/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
new file mode 100644
index 00000000000..8bb877f0fad
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/upgrading/index.md
@@ -0,0 +1,165 @@
+---
+title: Vylepšení chytrých kontraktů
+description: Přehled vzorů vylepšení pro chytré kontrakty na Ethereu
+lang: cs
+---
+
+Chytré kontrakty na Ethereu jsou samospustitelné programy, které běží ve virtuálním stroji Etherea (EVM). Tyto programy jsou ze své podstaty neměnné, což zabraňuje jakýmkoli aktualizacím obchodní logiky po nasazení kontraktu.
+
+Neměnnost je sice nezbytná pro zajištění žádné další důvěry, decentralizace a bezpečnosti chytrých kontraktů, ale v některých případech může být i nevýhodou. Neměnný kód může například vývojářům znemožnit opravu zranitelných kontraktů.
+
+Zvýšený výzkum v oblasti vylepšování chytrých kontraktů však vedl k zavedení několika vzorů vylepšení. Tyto vzory vylepšení umožňují vývojářům aktualizovat chytré kontrakty (při zachování neměnnosti) umístěním obchodní logiky do různých kontraktů.
+
+## Předpoklady {#prerequisites}
+
+Měli byste dobře rozumět [chytrým kontraktům](/developers/docs/smart-contracts/), [anatomii chytrých kontraktů](/developers/docs/smart-contracts/anatomy/) a [virtuálnímu stroji Etherea (EVM)](/developers/docs/evm/). Tato příručka také předpokládá, že čtenáři mají znalosti o programování chytrých kontraktů.
+
+## Co je to vylepšení chytrého kontraktu? {#what-is-a-smart-contract-upgrade}
+
+Vylepšení chytrého kontraktu zahrnuje změnu obchodní logiky chytrého kontraktu při zachování jeho stavu. Je důležité objasnit, že možnost vylepšit a měnit nejsou totéž, zejména v kontextu chytrých kontraktů.
+
+Program nasazený na adresu v síti Etherea stále nelze změnit. Můžete však změnit kód, který se spustí při interakci uživatelů s chytrým kontraktem.
+
+To lze provést následujícími způsoby:
+
+1. Vytvořením více verzí chytrého kontraktu a migrací stavu (tj. dat) ze starého kontraktu do nové instance kontraktu.
+
+2. Vytvořením samostatných kontraktů pro ukládání obchodní logiky a stavu.
+
+3. Pomocí proxy vzorů delegujte volání funkcí z neměnného proxy kontraktu na modifikovatelný logický kontrakt.
+
+4. Vytvořením neměnného hlavního kontraktu, který se propojuje s flexibilními satelitními kontrakty a spoléhá na ně při provádění konkrétních funkcí.
+
+5. Použití diamantového vzoru k delegování volání funkcí z proxy kontraktu na logické kontrakty.
+
+### Mechanismus vylepšení č. 1: Migrace kontraktu {#contract-migration}
+
+Migrace kontraktu je založena na verzování – myšlence vytváření a správy jedinečných stavů téhož softwaru. Migrace kontraktu zahrnuje nasazení nové instance stávajícího chytrého kontraktu a převod úložiště a zůstatků do nového kontraktu.
+
+Nově nasazený kontrakt bude mít prázdné úložiště, což vám umožní obnovit data ze starého kontraktu a zapsat je do nové implementace. Poté bude nutné aktualizovat všechny kontrakty, které byly v interakci se starým kontraktem, aby odrážely novou adresu.
+
+Posledním krokem při migraci kontraktu je přesvědčit uživatele, aby přešli na používání nového kontraktu. Nová verze kontraktu zachovává zůstatky a adresy uživatelů, čímž je zachována neměnnost. Pokud se jedná o kontrakt založený na tokenech, budete také muset kontaktovat burzy, aby se zbavily starého kontraktu a používaly nový kontrakt.
+
+Migrace kontraktu je relativně jednoduché a bezpečné opatření pro aktualizaci chytrých kontraktů bez narušení uživatelských interakcí. Ruční migrace uživatelských úložišť a zůstatků do nového kontraktu je však časově náročná a může být spojena s vysokými náklady na palivo.
+
+[Více o migraci kontraktu.](https://blog.trailofbits.com/2018/10/29/how-contract-migration-works/)
+
+### Mechanismus vylepšení č. 2: Oddělení dat {#data-separation}
+
+Další metodou vylepšení chytrých kontraktů je oddělení obchodní logiky a ukládání dat do samostatných kontraktů. To znamená, že uživatelé komunikují s logickým kontraktem, zatímco data jsou uložena v úložném kontraktu.
+
+Logický kontrakt obsahuje kód prováděný při interakci uživatelů s aplikací. Uchovává také adresu úložného kontraktu a komunikuje s ním při získávání a nastavování dat.
+
+Úložný kontrakt mezitím uchovává stav spojený s chytrým kontraktem, například zůstatky a adresy uživatelů. Všimněte si, že úložný kontrakt je vlastněn logickým kontraktem a při nasazení je nakonfigurován s jeho adresou. Tím se zabrání volání úložného kontraktu nebo aktualizaci jeho dat neoprávněnými osobami.
+
+Ve výchozím nastavení je úložný kontrakt neměnný, ale logický kontrakt, na který ukazuje, můžete nahradit novou implementací. Tím se změní kód, který běží v EVM, přičemž úložiště a zůstatky zůstanou zachovány.
+
+Použití této metody vylepšení vyžaduje aktualizaci adresy logického kontraktu v úložném kontraktu. Z důvodů vysvětlených dříve je také nutné nakonfigurovat nový logický kontrakt s adresou úložného kontraktu.
+
+Vzor oddělení dat je pravděpodobně jednodušší na implementaci ve srovnání s migrací kontraktu. Budete však muset spravovat více kontraktů a implementovat složitá autorizační schémata na ochranu chytrých kontraktů před škodlivými vylepšeními.
+
+### Mechanismus vylepšení č. 3: Proxy vzory {#proxy-patterns}
+
+Proxy vzor také používá oddělení dat, aby obchodní logika a data byly v oddělených kontraktech. V proxy vzoru však úložný kontrakt (nazývaný proxy) volá logický kontrakt během provádění kódu. Jedná se o obrácenou metodu oddělení dat, kdy logický kontrakt volá ten úložný.
+
+V proxy vzoru se děje toto:
+
+1. Uživatelé komunikují s proxy kontraktem, který ukládá data, ale neobsahuje obchodní logiku.
+
+2. Proxy kontrakt ukládá adresu logického kontraktu a deleguje všechna volání funkcí na logický kontrakt (který obsahuje obchodní logiku) pomocí funkce `delegatecall`.
+
+3. Po předání volání logickému kontraktu se načtou vrácená data z logického kontraktu a vrátí se uživateli.
+
+Použití proxy vzorů vyžaduje znalost funkce **delegatecall**. `delegatecall` je v podstatě operační kód, který umožňuje kontraktu volat jiný kontrakt, zatímco skutečné provádění kódu probíhá v kontextu volajícího kontraktu. Důsledkem použití `delegatecall` v proxy vzorech je, že proxy kontrakt čte a zapisuje do svého úložiště a provádí logiku uloženou v logickém kontraktu, jako by volal interní funkci.
+
+Z [dokumentace Solidity](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#delegatecall-callcode-and-libraries):
+
+> _Existuje speciální varianta volání zprávy s názvem **delegatecall**, která je totožná s voláním zprávy až na to, že kód na cílové adrese se provádí v kontextu (tj. na adrese) volajícího kontraktu a `msg.sender` a `msg.value` nemění své hodnoty._ _To znamená, že kontrakt může za běhu dynamicky načíst kód z jiné adresy. Úložiště, aktuální adresa a zůstatek se stále vztahují k volajícímu kontraktu, pouze kód je převzat z volané adresy._
+
+Proxy kontrakt ví, že má zavolat `delegatecall`, kdykoli uživatel zavolá funkci, protože má v sobě zabudovanou funkci `fallback`. V programování Solidity se funkce [fallback](https://docs.soliditylang.org/en/latest/contracts.html#fallback-function) provede, když volání funkce neodpovídá funkcím uvedeným v kontraktu.
+
+Zprovoznění proxy vzoru vyžaduje napsání vlastní nouzové funkce, která určuje, jak má proxy kontrakt zacházet s voláními funkcí, které nepodporuje. V tomto případě je záložní funkce proxy kontraktu naprogramována tak, aby iniciovala delegatecall a přesměrovala požadavek uživatele na aktuální implementaci logického kontraktu.
+
+Proxy kontrakt je ve výchozím nastavení neměnný, ale lze vytvářet nové logické kontrakty s aktualizovanou obchodní logikou. Provedení vylepšení pak spočívá ve změně adresy logického kontraktu, na který odkazuje proxy kontrakt.
+
+Ukázáním proxy kontraktu na nový logický kontrakt se změní kód prováděný při volání funkce proxy kontraktu uživateli. To nám umožňuje vylepšit logiku kontraktu, aniž bychom od uživatelů vyžadovali interakci s novým kontraktem.
+
+Proxy vzory jsou oblíbenou metodou vylepšení chytrých kontraktů, protože eliminují obtíže spojené s migrací kontraktu. Použití proxy vzorů je však složitější a při nesprávném použití může způsobit kritické chyby, například [kolize selektorů funkcí](https://medium.com/nomic-foundation-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357).
+
+[Více o proxy vzorech](https://blog.openzeppelin.com/proxy-patterns/).
+
+### Mechanismus vylepšení č. 4: Vzor strategie {#strategy-pattern}
+
+Tato technika je ovlivněna [vzorem strategie](https://en.wikipedia.org/wiki/Strategy_pattern), který podporuje vytváření softwarových programů, které se propojují s jinými programy a implementují specifické funkce. Použití vzoru strategie při vývoji Etherea by znamenalo vytvoření chytrého kontraktu, který volá funkce z jiných kontraktů.
+
+Hlavní kontrakt v tomto případě obsahuje základní obchodní logiku, ale je propojen s dalšími chytrými kontrakty („satelitními kontrakty“), které provádějí určité funkce. Tento hlavní kontrakt také uchovává adresu pro každý satelitní kontrakt a může přepínat mezi různými implementacemi satelitního kontraktu.
+
+Můžete vytvořit nový satelitní kontrakt a nakonfigurovat hlavní kontrakt s novou adresou. To umožňuje měnit _strategie_ (tj. implementovat novou logiku) pro chytrý kontrakt.
+
+Ačkoli je podobný dříve popsanému proxy vzoru, vzor strategie se liší, protože hlavní kontrakt, se kterým uživatelé komunikují, obsahuje obchodní logiku. Použití tohoto vzoru vám dává možnost zavést omezené změny v chytrém kontraktu, aniž by to ovlivnilo základní infrastrukturu.
+
+Hlavní nevýhodou je, že tento vzor je užitečný hlavně pro zavádění drobných vylepšení. Pokud je hlavní kontrakt kompromitován (např. hacknutím), nelze tento způsob vylepšení použít.
+
+### Mechanismus aktualizace č. 5: Diamantový vzor {#diamond-pattern}
+
+Diamantový vzor lze považovat za vylepšení proxy vzoru. Diamantové vzory se od proxy vzorů liší tím, že diamantový proxy kontrakt může delegovat volání funkcí na více než jeden logický kontrakt.
+
+Logické kontrakty v diamantovém vzoru se označují jako _fasety_. Aby diamantový vzor fungoval, je třeba v proxy kontraktu vytvořit mapování, které mapuje [selektory funkcí](https://docs.soliditylang.org/en/latest/abi-spec.html#function-selector) na různé adresy faset.
+
+Když uživatel zavolá funkci, proxy kontrakt zkontroluje mapování a najde aspekt odpovědný za provedení dané funkce. Poté vyvolá `delegatecall` (pomocí funkce fallback) a přesměruje volání na příslušný logický kontrakt.
+
+Diamantový vzor vylepšení má oproti tradičním vzorům proxy vylepšení určité výhody:
+
+1. Umožňuje vylepšit malou část kontraktu, aniž by bylo nutné měnit celý kód. Použití proxy vzoru pro vylepšení vyžaduje vytvoření zcela nového logického kontraktu, a to i pro drobná vylepšení.
+
+2. Všechny chytré kontrakty (včetně logických kontraktů používaných v proxy vzorech) mají limit velikosti 24 Kb, což může být omezení – zejména u složitých kontraktů vyžadujících více funkcí. Diamantový vzor usnadňuje řešení tohoto problému rozdělením funkcí do více logických kontraktů.
+
+3. Proxy vzory používají univerzální přístup k řízení přístupu. Entita s přístupem k funkcím vylepšení může změnit _celý_ kontrakt. Diamantový vzor však umožňuje modulární přístup k oprávněním, kdy můžete entitám omezit vylepšení určitých funkcí v rámci chytrého kontraktu.
+
+[Více o diamantovém vzoru](https://eip2535diamonds.substack.com/p/introduction-to-the-diamond-standard?s=w).
+
+## Výhody a nevýhody vylepšení chytrých kontraktů {#pros-and-cons-of-upgrading-smart-contracts}
+
+| Plusy | Mínusy |
+| ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
+| Vylepšení chytrého kontraktu může usnadnit opravu zranitelností objevených ve fázi po nasazení. | Aktualizace chytrých kontraktů popírá myšlenku neměnnosti kódu, což má důsledky pro decentralizaci a bezpečnost. |
+| Vývojáři mohou pomocí vylepšení logiky přidávat do decentralizovaných aplikací nové funkce. | Uživatelé musí důvěřovat vývojářům, že nebudou svévolně upravovat chytré kontrakty. |
+| Vylepšení chytrých kontraktů mohou zvýšit bezpečnost koncových uživatelů, protože chyby lze rychle opravit. | Programování funkcí vylepšení do chytrých kontraktů přidává další vrstvu složitosti a zvyšuje možnost kritických chyb. |
+| Vylepšení kontraktů dávají vývojářům větší prostor pro experimentování s různými funkcemi a vylepšování dappek v průběhu času. | Možnost vylepšovat chytré kontrakty může vývojáře podnítit k rychlejšímu spuštění projektů, aniž by ve fázi vývoje provedli náležitou kontrolu. |
+| | Nezabezpečené řízení přístupu nebo centralizace v chytrých kontraktech může škodlivým aktérům usnadnit provádění neoprávněných aktualizací. |
+
+## Co vzít v úvahu při vylepšování chytrých kontraktů {#considerations-for-upgrading-smart-contracts}
+
+1. Používejte bezpečné mechanismy řízení přístupu/autorizace, abyste zabránili neoprávněným vylepšením chytrých kontraktů, zejména pokud používáte proxy vzory, vzory strategií nebo oddělení dat. Příkladem je omezení přístupu k funkci vylepšení tak, aby ji mohl volat pouze vlastník kontraktu.
+
+2. Vylepšení chytrých kontraktů je složitá činnost a vyžaduje vysokou míru pečlivosti, aby se zabránilo zavedení zranitelností.
+
+3. Snižte předpoklady důvěryhodnosti decentralizací procesu provádění vylepšení. Mezi možné strategie patří použití [kontraktu peněženky s více signatáři](/developers/docs/smart-contracts/#multisig) pro kontrolu vylepšení nebo požadavek, aby [členové DAO](/dao/) hlasovali o schválení vylepšení.
+
+4. Uvědomte si náklady spojené s vylepšením kontraktů. Například kopírování stavu (např. zůstatků uživatelů) ze starého kontraktu do nového během migrace kontraktu může vyžadovat více než jednu transakci, což znamená více poplatků za palivo.
+
+5. Zvažte zavedení **časových zámků** pro ochranu uživatelů. Časový zámek označuje zpoždění vynucené pro změny v systému. Časové zámky lze kombinovat se systémem správy s více signály pro řízení vylepšení: pokud navrhovaná akce dosáhne požadovaného prahu schválení, neprovede se, dokud neuplyne předem definovaná doba zpoždění.
+
+Časové zámky dávají uživatelům určitý čas na opuštění systému, pokud nesouhlasí s navrhovanou změnou (např. vylepšením logiky nebo novými systémy poplatků). Bez časových zámků musí uživatelé důvěřovat vývojářům, že neimplementují libovolné změny v chytrém kontraktu bez předchozího upozornění. Nevýhodou je, že časové zámky omezují možnost rychle opravovat zranitelnosti.
+
+## Zdroje {#resources}
+
+**OpenZeppelin Upgrades Plugins – _Sada nástrojů pro nasazení a zabezpečení vylepšitelných chytrých kontraktů._**
+
+- [GitHub](https://github.com/OpenZeppelin/openzeppelin-upgrades)
+- [Dokumentace](https://docs.openzeppelin.com/upgrades)
+
+## Návody {#tutorials}
+
+- [Vylepšení vašich chytrých kontraktů | YouTube Tutoriál](https://www.youtube.com/watch?v=bdXJmWajZRY) od Patrick Collins
+- [Tutoriál na migraci chytrého kontraktu na Ethereu](https://medium.com/coinmonks/ethereum-smart-contract-migration-13f6f12539bd) od Austin Griffith
+- [Použití UUPS proxy vzoru k vylepšení chytrých kontraktů](https://blog.logrocket.com/author/praneshas/) od Pranesh A.S
+- [Web3 Tutoriál: Napište vylepšitelný chytrý kontrakt (proxy) pomocí OpenZeppelin](https://dev.to/yakult/tutorial-write-upgradeable-smart-contract-proxy-contract-with-openzeppelin-1916) od fangjun.eth
+
+## Další informace {#further-reading}
+
+- [Stav vylepšení chytrých kontraktů](https://blog.openzeppelin.com/the-state-of-smart-contract-upgrades/) od Santiago Palladino
+- [Více způsobů, jak vylepšit chytrý kontrakt Solidity](https://cryptomarketpool.com/multiple-ways-to-upgrade-a-solidity-smart-contract/) – Crypto Market Pool blog
+- [Učení: Vylepšení chytrých kontraktů](https://docs.openzeppelin.com/learn/upgrading-smart-contracts) – Dokumentace OpenZeppelin
+- [Proxy vzory pro vylepšitelnost kontraktů Solidity: Transparentní vs. UUPS proxy](https://mirror.xyz/0xB38709B8198d147cc9Ff9C133838a044d78B064B/M7oTptQkBGXxox-tk9VJjL66E1V8BUF0GF79MMK4YG0) od Naveen Sahu
+- [Jak fungují diamantová vylepšení](https://dev.to/mudgen/how-diamond-upgrades-work-417j) od Nick Mudge
diff --git a/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md b/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md
new file mode 100644
index 00000000000..902e409e962
--- /dev/null
+++ b/public/content/translations/cs/developers/docs/smart-contracts/verifying/index.md
@@ -0,0 +1,107 @@
+---
+title: Ověřování chytrých kontraktů
+description: Přehled ověřování zdrojového kódu pro chytré kontrakty na Ethereu
+lang: cs
+---
+
+[Chytré kontrakty](/developers/docs/smart-contracts/) jsou navrženy tak, aby byly „bez nutnosti další důvěry“, což znamená, že uživatelé by před interakcí s kontraktem neměli důvěřovat třetím stranám (např. vývojářům a společnostem). Podmínkou pro to je, aby uživatelé a další vývojáři mohli ověřit zdrojový kód chytrého kontraktu. Ověření zdrojového kódu zajišťuje uživatelům a vývojářům, že zveřejněný kód kontraktu je stejný kód, který běží na adrese kontraktu na blockchainu Etherea.
+
+Je důležité rozlišovat mezi „ověřováním zdrojového kódu“ a „[formálním ověřováním](/developers/docs/smart-contracts/formal-verification/)“. Ověřování zdrojového kódu, které bude podrobně vysvětleno níže, se týká ověření, že se daný zdrojový kód chytrého kontraktu ve vysoce úrovňovém jazyce (např. Solidity) zkompiluje do stejného bytekódu, který má být spuštěn na adrese kontraktu. Formální ověřování však popisuje ověření správnosti chytrého kontraktu, což znamená, že se kontrakt chová podle očekávání. Ačkoli ověřování kontraktu závisí na kontextu, obvykle se vztahuje na ověření zdrojového kódu.
+
+## Co je ověřování zdrojového kódu? {#what-is-source-code-verification}
+
+Před nasazením chytrého kontraktu do [Virtuálního stroje Etherea (EVM)](/developers/docs/evm/) vývojáři [kompilují](/developers/docs/smart-contracts/compiling/) zdrojový kód kontraktu – instrukce [napsané v jazyce Solidity](/developers/docs/smart-contracts/languages/) nebo jiném vysokoúrovňovém programovacím jazyce – do bytekódu. Jelikož EVM nedokáže interpretovat vysokoúrovňové instrukce, je pro provádění logiky kontraktu v EVM nutná kompilace zdrojového kódu do bytekódu (tj. nízkoúrovňových strojových instrukcí).
+
+Ověřování zdrojového kódu je porovnávání zdrojového kódu chytrého kontraktu a zkompilovaného bytekódu použitého při vytváření kontraktu s cílem odhalit případné rozdíly. Ověřování chytrých kontraktů je důležité, protože inzerovaný kód kontraktu se může lišit od toho, který běží na blockchainu.
+
+Ověřování chytrých kontraktů umožňuje zkoumat, co kontrakt dělá, prostřednictvím vysokoúrovňového jazyka, ve kterém je napsán, aniž by bylo nutné číst strojový kód. Funkce, hodnoty a obvykle i názvy proměnných a komentáře zůstávají stejné jako v původním zdrojovém kódu, který je zkompilován a nasazen. Čtení kódu je tak mnohem snazší. Ověřování zdrojových kódů také zajišťuje dokumentaci kódu, aby koncoví uživatelé věděli, k čemu je chytrý kontrakt určen.
+
+### Co je úplné ověření? {#full-verification}
+
+Některé části zdrojového kódu nemají na zkompilovaný bytekód vliv, například komentáře nebo názvy proměnných. To znamená, že dva zdrojové kódy s různými názvy proměnných a různými komentáři budou schopny ověřit stejný kontrakt. Záškodník tak může do zdrojového kódu přidat klamavé komentáře nebo uvést zavádějící názvy proměnných a nechat ověřit kontrakt s jiným zdrojovým kódem, než je původní zdrojový kód.
+
+Tomu je možné se vyhnout tak, že se k bytekódu připojí další data, která slouží jako _kryptografická záruka_ přesnosti zdrojového kódu a jako _otisk prstu_ informací o kompilaci. Potřebné informace se nacházejí v [metadatech kontraktu Solidity](https://docs.soliditylang.org/en/v0.8.15/metadata.html) a hash tohoto souboru je připojen k bytekódu kontraktu. Můžete si je prohlédnout v akci na [metadatovém hřišti](https://playground.sourcify.dev)
+
+Soubor metadat obsahuje informace o kompilaci kontraktu včetně zdrojových souborů a jejich hashů. To znamená, že pokud se změní nastavení kompilace nebo dokonce jediný bajt v některém ze zdrojových souborů, změní se i soubor metadat. V důsledku toho se změní i hash souboru metadat, který je připojen k bytekódu. To znamená, že pokud se bytekód kontraktu + připojený hash metadat shodují s daným zdrojovým kódem a nastavením kompilace, můžeme si být jisti, že se jedná o přesně stejný zdrojový kód, který byl použit při původní kompilaci, a že se neliší ani o jediný bajt.
+
+Tento typ ověření, který využívá hash metadat, se označuje jako **„[úplné ověření](https://docs.sourcify.dev/docs/full-vs-partial-match/)“** (také „dokonalé ověření“). Pokud se hashe metadat neshodují nebo nejsou při ověřování brány v úvahu, jedná se o „částečnou shodu“, což je v současné době běžnější způsob ověřování kontraktů. Bez úplného ověření je možné [vložit škodlivý kód](https://samczsun.com/hiding-in-plain-sight/), který by se v ověřeném zdrojovém kódu neprojevil. Většina vývojářů si není vědoma úplného ověření a neuchovává soubor s metadaty o své kompilaci, proto je částečné ověření dosud de facto metodou ověřování kontraktů.
+
+## Proč je ověřování zdrojového kódu důležité? {#importance-of-source-code-verification}
+
+### Bez nutnosti další důvěry {#trustlessness}
+
+Skutečnost, že není potřeba další důvěry je pravděpodobně největším předpokladem pro chytré kontrakty a [decentralizované aplikace (dappky)](/developers/docs/dapps/). Chytré kontrakty jsou „neměnné“ a nelze je pozměnit; kontrakt provede pouze obchodní logiku definovanou v kódu v době nasazení. To znamená, že vývojáři a podniky nemohou manipulovat s kódem kontraktu po jeho nasazení na Ethereu.
+
+Aby chytrý kontrakt fungoval bez nutnosti další důvěry, měl by být kód kontraktu dostupný pro nezávislé ověření. Zatímco zkompilovaný bytekód pro každý chytrý kontrakt je veřejně dostupný na blockchainu, nízkoúrovňový jazyk je obtížně srozumitelný jak pro vývojáře, tak pro uživatele.
+
+Projekty snižují předpoklady důvěryhodnosti zveřejněním zdrojového kódu svých kontraktů. To však vede k dalšímu problému: je obtížné ověřit, zda zveřejněný zdrojový kód odpovídá bytekódu kontraktu. V tomto případě je hodnota bezdůvěryhodnosti ztracena, protože uživatelé musí věřit vývojářům, že nezmění obchodní logiku kontraktu (tj. změnou bytekódu) před jeho nasazením do blockchainu.
+
+Nástroje pro ověřování zdrojového kódu poskytují záruky, že soubory zdrojového kódu chytrého kontraktu odpovídají kódu sestavení. Výsledkem je ekosystém bez nutnosti další důvěry, kde uživatelé slepě nedůvěřují třetím stranám a místo toho si před vložením prostředků do kontraktu ověřují kód.
+
+### Bezpečnost uživatelů {#user-safety}
+
+U chytrých kontraktů je obvykle v sázce spousta peněz. To vyžaduje vyšší bezpečnostní záruky a ověření logiky chytrého kontraktu před jeho použitím. Problém spočívá v tom, že bezohlední vývojáři mohou uživatele oklamat vložením škodlivého kódu do chytrého kontraktu. Bez ověření mohou mít škodlivé chytré kontrakty [zadní vrátka](https://www.trustnodes.com/2018/11/10/concerns-rise-over-backdoored-smart-contracts), kontroverzní mechanismy řízení přístupu, zneužitelné zranitelnosti a další věci, které ohrožují bezpečnost uživatelů a které by zůstaly neodhaleny.
+
+Zveřejnění souborů se zdrojovým kódem chytrého kontraktu usnadňuje zájemcům, například auditorům, posouzení kontraktu z hlediska možných vektorů útoku. Díky tomu, že chytrý kontrakt nezávisle ověřuje více stran, mají uživatelé větší záruku jeho bezpečnosti.
+
+## Jak ověřit zdrojový kód chytrých kontraktů na Ethereu {#source-code-verification-for-ethereum-smart-contracts}
+
+[Nasazení chytrého kontraktu na Ethereu](/developers/docs/smart-contracts/deploying/) vyžaduje odeslání transakce s datovým payloadem (zkompilovaným bytekódem) na speciální adresu. Datový payload je generován kompilací zdrojového kódu a [argumentů konstruktoru](https://docs.soliditylang.org/en/v0.8.14/contracts.html#constructor) instance kontraktu připojené k datovému payloadu v transakci. Kompilace je deterministická, což znamená, že při použití stejných zdrojových souborů a nastavení kompilace (např. verze překladače, optimalizátor) je vždy vytvořen stejný výstup (tj. bytekód kontraktu).
+
+
+
+Ověření chytrého kontraktu v podstatě zahrnuje následující kroky:
+
+1. Vložte zdrojové soubory a nastavení kompilace do kompilátoru.
+
+2. Kompilátor vrátí bytekód kontraktu
+
+3. Vezměte bytekód nasazeného kontraktu na dané adrese
+
+4. Porovnejte nasazenýho bytekód s překompilovaným bytekódem. Pokud se kódy shodují, kontrakt se ověří pomocí zadaného zdrojového kódu a nastavení kompilace.
+
+5. Pokud se navíc hashe metadat na konci bytekódu shodují, jedná se o úplnou shodu.
+
+Berte v úvahu, že se jedná o zjednodušený popis ověřování a existuje mnoho výjimek, které by v tomto případě nefungovaly, například [neměnné proměnné](https://docs.sourcify.dev/docs/immutables/).
+
+## Nástroje pro ověřování zdrojového kódu {#source-code-verification-tools}
+
+Tradiční proces ověřování kontraktů může být složitý. Proto máme nástroje pro ověřování zdrojového kódu chytrých kontraktů nasazených na Ethereu. Tyto nástroje automatizují velkou část ověřování zdrojových kódů a také kurátorsky zpracovávají ověřené kontrakty pro potřeby uživatelů.
+
+### Etherscan {#etherscan}
+
+Ačkoli je Etherscan známý především jako [prohlížeč blockchainu Etherea](/developers/docs/data-and-analytics/block-explorers/), nabízí také [službu ověřování zdrojového kódu](https://etherscan.io/verifyContract) pro vývojáře a uživatele chytrých kontraktů.
+
+Etherscan umožňuje překompilovat bytekód kontraktu z původního datového payloadu (zdrojový kód, adresa knihovny, nastavení kompilátoru, adresa kontraktu atd.). Pokud je překompilovaný bytekód spojen s bytekódem (a parametry konstruktoru) kontraktu na blockchainu, pak je [kontrakt ověřen](https://info.etherscan.com/types-of-contract-verification/).
+
+Po ověření obdrží zdrojový kód vašeho kontraktu označení „Ověřeno“ a je zveřejněn na Etherscanu, kde ho mohou kontrolovat ostatní. Přidá se také do sekce [Ověřené kontrakty](https://etherscan.io/contractsVerified/) – úložiště chytrých kontraktů s ověřenými zdrojovými kódy.
+
+Etherscan je nejpoužívanějším nástrojem pro ověřování kontraktů. Ověřování kontraktu na Etherscanu má však nevýhodu: nedokáže porovnat **hash metadat** bytekódu na blockchainu a překompilovaného bytekódu. Shody v programu Etherscan jsou proto pouze částečné.
+
+[ Více o ověřování kontraktů na Etherscanu](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327).
+
+### Sourcify {#sourcify}
+
+[Sourcify](https://sourcify.dev/#/verifier) je další nástroj pro ověřování kontraktů, který je open-source a decentralizovaný. Není to průzkumník bloků a ověřuje pouze kontrakty v [různých sítích založených na EVM](https://docs.sourcify.dev/docs/chains). Funguje jako veřejná infrastruktura pro další nástroje, které na ní mohou stavět, a jejím cílem je umožnit lidsky přívětivější interakce s kontrakty pomocí komentářů [ABI](/developers/docs/smart-contracts/compiling/#web-applications) a [NatSpec](https://docs.soliditylang.org/en/v0.8.15/natspec-format.html), které se nacházejí v souboru metadat.
+
+Na rozdíl od Etherscanu podporuje Sourcify úplné shody s hashem metadat. Ověřené kontrakty jsou doručovány do jeho [veřejného úložiště](https://docs.sourcify.dev/docs/repository/) na HTTP a [IPFS](https://docs.ipfs.io/concepts/what-is-ipfs/#what-is-ipfs), což je decentralizované, [obsahem adresované](https://web3.storage/docs/concepts/content-addressing/) úložiště. To umožňuje načtení souboru metadat kontraktu přes IPFS, protože připojený hash metadat je hash IPFS.
+
+Kromě toho lze přes IPFS načíst také soubory se zdrojovým kódem, protože v metadatech IPFS se nacházejí také hashe těchto souborů. Kontrakt lze ověřit poskytnutím souboru metadat a zdrojových souborů prostřednictvím rozhraní API nebo [UI](https://sourcify.dev/#/verifier) nebo pomocí pluginů. Monitorovací nástroj Sourcify také aktivně sleduje vytváření kontraktů na nových blocích a snaží se ověřit kontrakty, pokud jsou jejich metadata a zdrojové soubory zveřejněny na systému IPFS.
+
+[ Více informací o ověřování kontraktů na Sourcify](https://blog.soliditylang.org/2020/06/25/sourcify-faq/).
+
+### Tenderly {#tenderly}
+
+[Platforma Tenderly](https://tenderly.co/) umožňuje vývojářům Web3 vytvářet, testovat, monitorovat a provozovat chytré kontrakty. Tenderly kombinuje ladicí nástroje s pozorovatelností a stavebními bloky infrastruktury a pomáhá vývojářům urychlit vývoj chytrých kontraktů. Aby mohli vývojáři plně využívat funkce Tenderly, musí [provádět ověřování zdrojového kódu](https://docs.tenderly.co/monitoring/contract-verification) pomocí několika metod.
+
+Kontrakt je možné ověřit soukromě nebo veřejně. Pokud je chytrý kontrakt ověřen soukromě, je viditelný pouze pro vás (a ostatní členy vašeho projektu). Veřejné ověření kontraktu ho zviditelní všem uživatelům platformy Tenderly.
+
+Vaše kontrakty můžete ověřit pomocí [Hlavního panelu](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-a-smart-contract), [pluginu Tenderly Hardhat](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-the-tenderly-hardhat-plugin) nebo [CLI](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-cli).
+
+Při ověřování kontraktů prostřednictvím hlavního panelu je třeba importovat zdrojový soubor nebo soubor metadat vygenerovaný kompilátorem Solidity, adresu/síť a nastavení kompilátoru.
+
+Použití pluginu Tenderly Hardhat umožňuje větší kontrolu nad procesem ověřování s menším úsilím a umožňuje volit mezi automatickým (bez kódu) a ručním (na základě kódu) ověřováním.
+
+## Další informace {#further-reading}
+
+- [Ověřování zdrojového kódu kontraktu](https://programtheblockchain.com/posts/2018/01/16/verifying-contract-source-code/)
diff --git a/public/content/translations/cs/developers/docs/transactions/index.md b/public/content/translations/cs/developers/docs/transactions/index.md
index 84b0cb22ddf..362fa65eb96 100644
--- a/public/content/translations/cs/developers/docs/transactions/index.md
+++ b/public/content/translations/cs/developers/docs/transactions/index.md
@@ -22,7 +22,7 @@ Transakce vyžadují poplatek a musí být zahrnuty do validovaného bloku. Abyc
Odeslaná transakce obsahuje následující informace:
-- `from` – adresa odesílatele, který transakci podepíše. Toto bude externě vlastněný účet, protože kontraktové účty nemohou odesílat transakce.
+- `from` – adresa odesílatele, který transakci podepíše. Toto bude externě vlastněný účet, protože kontraktové účty nemohou odesílat transakce
- `to` – adresa příjemce. Pokud jde o externě vlastněný účet, transakce převede hodnotu. Pokud jde o kontraktový účet, transakce vykoná kód kontraktu.
- `signature` – podpis, který je identifikátorem odesílatele. Tento identifikátor je vygenerován, když odesílatelův privátní klíč podepíše transakci a potvrdí, že odesílatel tuto transakci autorizoval.
- `nonce` – postupně se zvyšující čítač, který označuje číslo transakce z účtu.
@@ -162,7 +162,7 @@ Jakékoliv palivo, které nebude v transakci použito, bude vráceno na účet o
Palivo je potřeba pro jakoukoliv transakci, která zahrnuje chytrý kontrakt.
-Chytré kontrakty mohou také obsahovat funkce známé jako [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) nebo [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions), které nemění stav kontraktu. Volání těchto funkcí z externě vlastněného účtu tedy nevyžaduje žádné palivo. Základní volání RPC pro tento scénář je [`eth_call`](/developers/docs/apis/json-rpc#eth_call).
+Chytré kontrakty mohou také obsahovat funkce známé jako [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) nebo [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions), které nemění stav kontraktu. Volání těchto funkcí z externě vlastněného účtu tedy nevyžaduje žádné palivo. Základní RPC volání pro tento scénář je [`eth_call`](/developers/docs/apis/json-rpc#eth_call).
Na rozdíl od volání pomocí `eth_call` jsou tyto funkce `view` nebo `pure` často volány interně (tj. z kontraktu samotného nebo z jiného kontraktu), což stojí palivo.
@@ -198,7 +198,7 @@ Kde jsou pole definována jako:
- `TransactionType` – číslo mezi 0 a 0x7f, což umožňuje celkem 128 možných typů transakcí.
- `TransactionPayload` – libovolné pole bajtů definované typem transakce.
-Na základě hodnoty `TransactionType` může být transakce klasifikována jako
+Na základě hodnoty `TransactionType` může být transakce klasifikována jako:
1. **Transakce typu 0 (Legacy):** Původní formát transakce používaný od spuštění Etherea. Neobsahuje funkce z [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), jako je dynamický výpočet poplatků za palivo nebo seznamy přístupu pro chytré kontrakty. Legacy transakce nemají specifický prefix označující jejich typ ve svém serializovaném formátu, začínají bajtem `0xf8` při použití kódování [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp). Hodnota TransactionType pro tyto transakce je `0x0`.
diff --git a/public/content/translations/cs/dvt/index.md b/public/content/translations/cs/dvt/index.md
new file mode 100644
index 00000000000..990f60b83d1
--- /dev/null
+++ b/public/content/translations/cs/dvt/index.md
@@ -0,0 +1,91 @@
+---
+title: Technologie distribuovaných validátorů
+description: Technologie distribuovaných validátorů umožňuje distribuovaný provoz ethereovského validátoru více stranami.
+lang: cs
+---
+
+# Technologie distribuovaných validátorů {#distributed-validator-technology}
+
+Technologie distribuovaných validátorů (DVT) je přístup k zabezpečení validátoru, který dělí odpovědnost za přístupová hesla a podepisování mezi více stran, a to za účelem snížení pravděpodobnosti selhání a zvýšení odolnosti validátoru.
+
+Principem je **rozdělení privátního klíče** používaného k zabezpečení validátoru **mezi více počítačů** organizovaných do klastru. Výhodou tohoto rozdělení je, že útočníci musí vynaložit mnohem více energie, aby se dostali k privátnímu klíči, protože na žádném počítači není uložen celý. Taktéž umožňuje vypnutí některých síťových uzlů, protože potřebné podpisy mohou být generovány podmnožinou počítačů v každém klastru. To snižuje pravděpodobnost selhání a zvyšuje odolnost celého souboru validátorů.
+
+
+
+## Proč potřebujeme DVT? {#why-do-we-need-dvt}
+
+### Bezpečnost {#security}
+
+Validátory generují dva páry privátních a veřejných klíčů: Klíče pro účast v konsensu a klíče pro výběr finančních prostředků. Zatímco klíče pro výběr je možné uchovávat v bezpečí cold storage, privátní klíče validátorů musí být neustále online. Pokud je privátní klíč odhalen, útočník může tento validátor ovládnout a potenciálně dojde k trestu nebo ztrátě vloženého ETH. DVT může validátorům pomoci toto riziko snížit. Jak to funguje:
+
+Vkladatelé se mohou podílet na vkládání a zároveň uchovávat privátní klíč svého validátoru v cold storage, pokud používají DVT. Původní privátní klíč je totiž zašifrován a poté rozdělen na několik částí. Tyto části jsou online sdíleny mezi více síťových uzlů, což umožňuje distribuovaný provoz validátoru. To je možné díky tomu, že validátory Etherea používají BLS podpisy, které jsou aditivní, což znamená, že úplný klíč lze obnovit součtem jeho složek. To umožňuje vkladateli uchovávat plný původní „master“ klíč validátoru v bezpečí offline.
+
+### Žádná slabá místa {#no-single-point-of-failure}
+
+Když je validátor rozdělen mezi více provozovatelů a více strojů, dokáže odolat individuálním hardwarovým a softwarovým poruchám bez toho, aby byl odpojen. Riziko selhání lze také snížit tím, že se použijí různé konfigurace hardwaru a softwaru na síťových uzlech v klastru. Tato odolnost je nedostupná pro konfigurace validátorů s jedním síťovým uzlem - pochází právě z vrstvy DVT.
+
+Pokud některá z komponent počítače v klastru selže (například pokud jsou v klastru validátorů čtyři provozovatelé a jeden používá specifického klienta, který má chybu), ostatní provozovatelé zajistí, že validátor bude nadále fungovat.
+
+### Decentralizace {#decentralization}
+
+Ideálním scénářem pro Ethereum je existence co nejvíce nezávisle provozovaných validátorů. Nicméně několik poskytovatelů vkládání je v současné době velmi populárních a spravuje značnou část celkově vložených ETH. DVT umožňuje provoz těchto validátorů, aniž by utrpěla decentralizace vloženého kapitálu. A to díky tomu, že klíče každého validátoru jsou distribuovány mezi více počítačů a bylo by třeba, aby se na případné podvodné aktivitě validátoru shodlo mnohem větší množství držitelů těchto částí klíče.
+
+Bez DVT je snazší, aby poskytovatelé vkládání používali pouze jednu nebo dvě konfigurace klienta pro všechny své validátory, což zvyšuje dopad případné chyby v klientu. DVT lze použít k rozložení rizika mezi různé konfigurace klienta a různý hardware a díky této rozmanitosti se zvyšuje odolnost.
+
+**DVT poskytuje Ethereu tyto výhody:**
+
+1. **Decentralizuje** ethereovský konsensus důkazu podílem.
+2. Zabezpečuje **životaschopnost** sítě.
+3. Vytváří **toleranci validátorů k chybám**.
+4. **Snižuje důvěru** operací validátoru.
+5. **Minimalizuje tresty** a rizika výpadku.
+6. **Vylepšuje rozmanitost** (klient, datové centrum, lokace, regulace, atd.).
+7. **Zvyšuje bezpečnost** klíčů validátorů.
+
+## Jak DVT funguje? {#how-does-dvt-work}
+
+DVT obsahuje tyto komponenty:
+
+- **[Shamirův systém tajného sdílení](https://medium.com/@keylesstech/a-beginners-guide-to-shamir-s-secret-sharing-e864efbf3648)** – Validátory používají [BLS klíče](https://en.wikipedia.org/wiki/BLS_digital_signature). Jednotlivé BLS „části klíče“ („key shares“) lze sloučit do jediného agregovaného klíče (podpisu). V DVT je privátní klíč validátora kombinovaným BLS podpisem každého operátora v klastru.
+- **[Schéma minimálního podpisu](https://medium.com/nethermind-eth/threshold-signature-schemes-36f40bc42aca)** – Určuje, kolik částí klíče je potřeba pro podpis, například 3 ze 4.
+- **[Distribuované generování klíčů (DKG)](https://medium.com/toruslabs/what-distributed-key-generation-is-866adc79620)** – Kryptografický proces, který generuje jednotlivé části klíče a slouží k distribuci podílů existujícího nebo nového klíče validátoru síťovým uzlům v klastru.
+- **[Vícestranný výpočet (MPC)](https://messari.io/report/applying-multiparty-computation-to-the-world-of-blockchains)** – Kompletní klíč validátoru je generován tajně pomocí vícestranného výpočtu. Celý klíč není znám žádnému operátorovi – každý zná pouze svoji část (svůj „podíl“).
+- **Konsenzuální protokol** – Konsenzuální protokol vybere jeden síťový uzel, který se stane navrhovatelem bloku. Tento síťový uzel sdílí blok s ostatními síťovými uzly v klastru, které přidávají své části klíče k agregovanému podpisu. Jakmile je agregován dostatečný počet částí klíče, blok je navržen na Ethereum.
+
+Distribuované validátory mají naprogramovanou toleranci k chybám a mohou pokračovat v provozu i v případě, že se některé individuální síťové uzly odpojí. To znamená, že klastr je odolný i v případě, že jsou některé síťové uzly v něm napadeny nebo že jsou nefunkční.
+
+## Příklady použití DVT {#dvt-use-cases}
+
+DVT má významné důsledky pro širší ekosystém vkládání:
+
+### Samostatní vkladatelé {#solo-stakers}
+
+DVT umožňuje i vkládání bez prostředníka a to tak, že rozloží klíč validátoru mezi vzdálené síťové uzly, přičemž celý klíč zůstane úplně offline. To znamená, že vkladatelé, kteří pracují z domova, nemusí nutně vynakládat finanční prostředky na hardware, zatímco distribuce částí klíče jim může pomoci zvýšit odolnost proti potenciálním hackům.
+
+### Staking as a service (SaaS) {#saas}
+
+Operátoři (jako jsou vkladové fondy a institucionální vkladatelé), kteří spravují více validátorů, mohou pomocí DVT snížit svá rizika. Distribuováním infrastruktury mohou přidat do svých výpočtů redundanci a diverzifikovat druhy hardware, který při vkládání používají.
+
+DVT sdílí odpovědnost za správu klíčů mezi více síťových uzlů, což znamená, že i některé provozní náklady mohou být sdíleny. DVT může také snížit operační riziko a náklady na pojištění pro poskytovatele vkládání.
+
+### Staking pools {#staking-pools}
+
+Díky standardním nastavením validátorů jsou vkladové fondy a poskytovatelé likvidního vkládání nuceni mít různé úrovně důvěry jednotlivým operátorům, protože zisky a ztráty jsou sdíleny v rámci fondu. Musejí se také spoléhat na operátory, kterým svěřují zabezpečení podpisového klíče, protože dosud pro ně neexistovala jiná možnost.
+
+I když se tradičně snažili o rozložení rizika tím, že se vklad rozdělil mezi více operátorů, každý operátor i tak samostatně spravoval významné částky. Pokud by operátor nebyl schopen provádět dané úkony, měl výpadek, byl napaden nebo se dopustil podvodného jednání, představuje přístup, kdy se na něj spoléhá celý fond, obrovské riziko.
+
+Pokud ale pool využívá DVT, je míra potřebné důvěry v operátory významně snížena. **Fondy mohou operátorům umožnit držet staky, aniž by potřebovali spravovat klíč validátoru** (jsou využívány pouze části klíče). DVT dále umožňuje rozdělit spravované vklady mezi více operátorů (například místo toho, aby jeden operátor spravoval 1 000 validátorů, DVT umožňuje, aby byly tyto validátory provozovány kolektivně více operátory). Různé konfigurace operátorů zajistí, že pokud jeden operátor selže, ostatní budou stále schopni fungovat. To vede k redundanci a diverzifikaci systému, což vede ke zlepšení výkonu a odolnosti a zároveň maximalizaci odměn poolu.
+
+Další výhodou minimalizace důvěry vůči jednotlivým operátorům je to, že vkladové fondy mohou umožnit otevřenější účast bez nutnosti schvalování operátorů. Tímto způsobem mohou snížit svá rizika a podpořit decentralizaci Etherea tím, že budou zapojovat jak supervizované operátory, tak operátory bez nutnosti schvalování, například tím, že budou spojovat domácí nebo menší vkladatele s těmi většími.
+
+## Potenciální nevýhody DVT {#potential-drawbacks-of-using-dvt}
+
+- **Dodatečná komponenta** – zavedení DVT síťového uzlu přidává do systému další část, která může být potenciálně poruchová nebo zranitelná. Eliminovat tento problém je možné pomocí implementace dalších DVT síťových uzlů, což znamená více DVT klientů (stejně jako existuje více klientů pro konsenzuální a exekuční vrstvy).
+- **Provozní náklady** – protože DVT distribuuje validátor mezi více účastníků, je k provozu zapotřebí více síťových uzlů namísto jednoho, což zvyšuje provozní náklady.
+- **Potenciálně zvýšená latence** – protože DVT využívá konsenzuální protokol k dosažení konsenzu mezi více síťovými uzly, které provozují validátor, může potenciálně způsobit zvýšenou latenci.
+
+## Další informace {#further-reading}
+
+- [Specifikace distribuovaných validátorů Etherea (pro pokročilé)](https://github.com/ethereum/distributed-validator-specs)
+- [Technická specifikace distribuovaných validátorů Etherea](https://github.com/ethereum/distributed-validator-specs/tree/dev/src/dvspec)
+- [Demo aplikace pro Shamirovo sdílení hesel](https://iancoleman.io/shamir/)
diff --git a/public/content/translations/cs/eips/index.md b/public/content/translations/cs/eips/index.md
new file mode 100644
index 00000000000..2e35057e94d
--- /dev/null
+++ b/public/content/translations/cs/eips/index.md
@@ -0,0 +1,79 @@
+---
+title: Návrhy na zlepšení platformy Ethereum (EIP)
+description: Základní informace, které potřebujete k pochopení EIP
+lang: cs
+---
+
+# Úvod do návrhů na zlepšení platformy Ethereum (EIP) {#introduction-to-ethereum-improvement-proposals}
+
+## Co jsou EIP? {#what-are-eips}
+
+[Návrhy na na zlepšení platformy Ethereum (Ethereum Improvement Proposals, EIP)](https://eips.ethereum.org/) jsou standardy specifikující potenciální nové funkce nebo procesy pro Ethereum. EIP obsahují technické specifikace pro navrhovaná vylepšení a fungují jako „zdroj správnosti“ pro komunitu. Diskuze a vývoj síťových vylepšení a aplikačních standardů Etherea probíhají právě prostřednictvím procesu EIP.
+
+Kdokoli z komunity Ethereum má možnost vytvořit EIP. Pokyny pro psaní EIP jsou součástí [EIP-1](https://eips.ethereum.org/EIPS/eip-1). Každý EIP by měl poskytovat stručnou technickou specifikaci a částečně i popis motivace ke vzniku tohoto návrhu. Autor EIP je zodpovědný za dosažení shody v rámci komunity a zdokumentování alternativních názorů. Vzhledem k vysoké technické náročnosti, která je pro kvalitní EIP nezbytná, jich většinu navrhují vývojáři aplikací nebo protokolů.
+
+## Proč na EIP záleží? {#why-do-eips-matter}
+
+EIP hrají ústřední roli ve změnách a dokumentaci Etherea. Jedná se o standardní způsob, jak mohou členové komunity navrhovat, diskutovat a přijímat změny. Existují [různé typy EIP](https://eips.ethereum.org/EIPS/eip-1#eip-types), včetně základních EIP pro nízkoúrovňové změny protokolů, které ovlivňují konsensus a vyžadují vylepšení sítě, jako je [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), a ERC pro aplikační standardy, jako je [EIP-20](https://eips.ethereum.org/EIPS/eip-20) a [EIP-721](https://eips.ethereum.org/EIPS/eip-721).
+
+Každé vylepšení sítě se skládá ze sady EIP, které musí implementovat každý [ethereovský klient](/learn/#clients-and-nodes) v síti. To znamená, že aby vývojáři klientů zůstali v konsensu s ostatními klienty na hlavní síti Ethereum, musí se ujistit, že požadované EIP implementovali všichni.
+
+Kromě poskytnutí technické specifikace změn jsou EIP také jednotkou, kolem které se v Ethereu odehrává řízení: Kdokoli může EIP navrhnout, a pokud se tak stane, různé zúčastněné strany v komunitě začnou diskutovat o jeho přijetí jako standardu nebo zahrnutí do vylepšení sítě. Protože EIP, které se netýkají klíčových částí Etherea, nemusí být přijaty všemi aplikacemi (například je možné vytvořit zastupitelný token, který neimplementuje EIP-20), ale základní EIP musí být široce přijaty (protože všechny síťové uzly musí implementovat stejné vylepšení, aby zůstaly součástí stejné sítě), základní EIP vyžadují širší konsensus v rámci komunity než EIP, které se netýkají klíčových částí protokolu.
+
+## Historie EIP {#history-of-eips}
+
+[GitHub repozitář Ethereum Improvement Proposals (EIPs)](https://github.com/ethereum/EIPs) byl založen v říjnu 2015. Proces EIP je založen na procesu [Bitcoin Improvement Proposals (BIPs)](https://github.com/bitcoin/bips), který sám o sobě vychází z procesu [Python Enhancement Proposals (PEPs)](https://www.python.org/dev/peps/).
+
+Editoři EIP mají za úkol revidovat EIP z hlediska technické správnosti, formátování a opravy pravopisu, gramatiky a stylu kódu. Martin Becze, Vitalik Buterin, Gavin Wood a několik dalších byli původními editory EIP od roku 2015 do konce roku 2016.
+
+Současnými EIP editory jsou
+
+- Alex Beregszaszi (@axic)
+- Gavin John (@Pandapip1)
+- Greg Colvin (@gcolvin)
+- Matt Garnett (@lightclient)
+- Sam Wilson (@SamWilsn)
+
+Emeritními EIP editory jsou
+
+- Casey Detrio (@cdetrio)
+- Hudson Jameson (@Souptacular)
+- Martin Becze (@wanderer)
+- Micah Zoltu (@MicahZoltu)
+- Nick Johnson (@arachnid)
+- Nick Savers (@nicksavers)
+- Vitalik Buterin (@vbuterin)
+
+Pokud se chcete stát editorem EIP, podívejte se na návrh [EIP-5069](https://eips.ethereum.org/EIPS/eip-5069).
+
+Editoři EIP rozhodují, kdy je návrh připraven stát se EIP, a pomáhají autorům EIP přetavit jejich návrhy do realizovatelné podoby. Setkání mezi editory EIP a komunitou pomáhají organizovat [Ethereum Cat Herders](https://www.ethereumcatherders.com/) (viz [EIPIP](https://github.com/ethereum-cat-herders/EIPIP)).
+
+Celý proces standardizace spolu s grafem je popsán v [EIP-1](https://eips.ethereum.org/EIPS/eip-1)
+
+## Zjistit více {#learn-more}
+
+Pokud si chcete přečíst více o EIP, podívejte se na [web EIP](https://eips.ethereum.org/) a [EIP-1](https://eips.ethereum.org/EIPS/eip-1). Zde je několik užitečných odkazů:
+
+- [Seznam všech návrhů na zlepšení platformy Ethereum](https://eips.ethereum.org/all)
+- [Popis všech typů EIP](https://eips.ethereum.org/EIPS/eip-1#eip-types)
+- [Popis všech stavů EIP](https://eips.ethereum.org/EIPS/eip-1#eip-process)
+
+### Komunitní vzdělávací projekty {#community-projects}
+
+- [PEEPanEIP](https://www.youtube.com/playlist?list=PL4cwHXAawZxqu0PKKyMzG_3BJV_xZTi1F) — *PEEPanEIP je série vzdělávacích videí, která je zaměřena na návrhy na zlepšení platformy Ethereum (EIP) a klíčové funkce nadcházejících vylepšení.*
+- [EIPs For Nerds](https://ethereum2077.substack.com/t/eip-research) — *EIPs For Nerds poskytuje komplexní, jednoduché přehledy různých návrhů na zlepšení platformy Ethereum (EIP), včetně základních EIP a EIP na aplikační/infrastrukturní vrstvě (ERC), s cílem vzdělávat čtenáře a formovat konsenzus ohledně navrhovaných změn v protokolu Ethereum.*
+- [EIPs.wtf](https://www.eips.wtf/) — *EIPs.wtf poskytuje doplňující informace o návrzích na zlepšení platformy Ethereum (EIP), včetně jejich statusu, detailů implementace, souvisejících pull requestů a zpětné vazby od komunity.*
+- [EIP.Fun](https://eipfun.substack.com/) — *EIP.Fun poskytuje nejnovější zprávy o návrzích na zlepšení platformy Ethereum (EIP), aktualizace z jednání o EIP a další informace.*
+- [EIPs Insight](https://eipsinsight.com/) — *EIPs Insight představuje přehled stavu návrhů na zlepšení platformy Ethereum (EIP) a statistiky na základě informací z různých zdrojů.*
+
+## Jak se zapojit {#participate}
+
+Každý může vytvořit EIP. Před odesláním návrhu je třeba nastudovat si [EIP-1](https://eips.ethereum.org/EIPS/eip-1), který popisuje proces EIP a jak napsat EIP. Dalším krokem je vyžádat si zpětnou vazbu na webu [Ethereum Magicians](https://ethereum-magicians.org/), kde jsou návrhy nejprve prodiskutovány s komunitou.
+
+## Reference {#references}
+
+
+
+Obsah stránky byl částečně převzat z [Ethereum Protocol Development Governance and Network Upgrade Coordination](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) od Hudsona Jamesona
+
+
diff --git a/public/content/translations/cs/enterprise/index.md b/public/content/translations/cs/enterprise/index.md
index 4d767e5ceaf..3b3fa99940a 100644
--- a/public/content/translations/cs/enterprise/index.md
+++ b/public/content/translations/cs/enterprise/index.md
@@ -41,7 +41,7 @@ Následující projekty poskytují blockchainové služby pro firemní systémy:
- [Blockapps](https://blockapps.net/) _implementace Ethereum protokolu pro firmy, nástroje a aplikační rozhraní, která tvoří platformu STRATO_
- [Clearmatics](https://www.clearmatics.com/about) _protokoly a architektura platformy peer-to-peer, společnost zaměřená na výzkum a vývoj blockchainu_
- [PegaSys Plus](https://pegasys.tech/enterprise/) _nabízí stejné funkce a funkce jako HF Besu, a také další výhody zaměřené na firemní sféru_
-- [Quorum](https://www.goquorum.com/) _open source blockchain platforma, která kombinuje inovace veřejné Ethereum komunity s vylepšeními podpory firemních potřeb_
+- [Quorum](https://docs.goquorum.consensys.io/) _open source blockchain platforma, která kombinuje inovace veřejné Ethereum komunity s vylepšeními podpory firemních potřeb_
## Protokol a infrastruktura {#protocol-and-infrastructure}
@@ -64,7 +64,7 @@ Veřejné a soukromé Ethereum sítě mohou v závislosti na tom, kdo je použí
- [Ernst & Young's ‘Nightfall'](https://github.com/EYBlockchain/nightfall) _Více informací [zde](https://bravenewcoin.com/insights/ernst-and-young-rolls-out-'nightfall-to-enable-private-transactions-on)_
- [Pegasys' Orion](https://docs.pantheon.pegasys.tech/en/stable/Concepts/Privacy/Privacy-Overview/) _Více informací [zde](https://pegasys.tech/privacy-in-pantheon-how-it-works-and-why-your-enterprise-should-care/)_
-- [Quorum's Tessera](https://docs.goquorum.com/en/latest/Privacy/Tessera/Tessera/) _Více informací [zde](https://github.com/jpmorganchase/tessera/wiki/How-Tessera-works)_
+- [Quorum's Tessera](https://docs.goquorum.consensys.io/concepts/privacy#private-transaction-manager/) _Více informací [zde](https://github.com/jpmorganchase/tessera/wiki/How-Tessera-works)_
### Bezpečnost {#security}
@@ -74,7 +74,7 @@ Veřejné a soukromé Ethereum sítě mohou v závislosti na tom, kdo je použí
### Nástroje {#tooling}
- [Alethio](https://explorer.aleth.io/) _Datově analytická platforma pro Ethereum_
-- [Treum](https://treum.io/) _pomocí technologie blockchainu přináší transparentnost, dohledatelnost a obchodovatelnost dodavatelským řetězcům_
+- [Treum](https://consensys.io/blog/consensys-acquires-treum) _pomocí technologie blockchainu přináší transparentnost, dohledatelnost a obchodovatelnost dodavatelským řetězcům_
## Komunita vývojářů funkcí pro firmy {#enterprise-developer-community}
diff --git a/public/content/translations/cs/foundation/index.md b/public/content/translations/cs/foundation/index.md
new file mode 100644
index 00000000000..ee04c056a03
--- /dev/null
+++ b/public/content/translations/cs/foundation/index.md
@@ -0,0 +1,40 @@
+---
+title: Ethereum Foundation
+description: Zjistěte více o Nadaci Ethereum (Ethereum Foundation, EF), neziskové organizaci, která se věnuje podpoře Etherea a souvisejících technologií.
+hideEditButton: true
+lang: cs
+---
+
+# O Nadaci Ethereum {#about-the-ethereum-foundation}
+
+
+
+[Nadace Ethereum ](http://ethereum.foundation/) (Ethereum Foundation, EF) je nezisková organizace, která se věnuje podpoře [Etherea](/what-is-ethereum/) a souvisejících technologií.
+
+Nadace EF není společnost ani tradiční neziskovka. Její role není kontrolovat nebo vést Ethereum, ani není jedinou organizací, která financuje kritický vývoj technologií souvisejících s Ethereem. EF je jen jednou částí mnohem většího [ekosystému](/community/).
+
+## Iniciativy Nadace Ethereum {#ethereum-foundation-initiatives}
+
+### Program podpory ekosystému {#ecosystem-support-program}
+
+[Program podpory ekosystému](https://esp.ethereum.foundation/) existuje, aby poskytoval jak finanční, tak nefinanční podporu projektům a subjektům v rámci širší komunity Etherea, s cílem urychlit růst ekosystému. Program podpory ekosystému je rozšířením původního programu Ethereum Grants, který se zaměřoval především na finanční podporu.
+
+Zjistěte více o Programu podpory ekosystému, minulých příjemcích grantů a procesu podávání žádostí na [esp.ethereum.foundation](https://esp.ethereum.foundation/). Můžete si také prohlédnout [Blog Programu podpory ekosystému](https://blog.ethereum.org/category/ecosystem-support-program/) nebo sledovat [@EF_ESP](https://twitter.com/EF_ESP), kde najdete nejnovější zprávy a oznámení.
+
+### Devcon {#devcon}
+
+Od roku 2014 Nadace Ethereum organizuje Devcon, každoroční konferenci pro všechny vývojáře, výzkumníky, myslitele a tvůrce Etherea.
+
+Můžete se podívat na prezentace z konference za každý rok od jejího vzniku na [archive.devcon.org](https://archive.devcon.org/).
+
+Zjistěte více na [devcon.org](https://devcon.org/), podívejte se na [Devcon Blog](https://devcon.org/en/blogs/) nebo sledujte [@efdevcon](https://twitter.com/EFDevcon), kde najdete nejnovější oznámení.
+
+### Fellowship Program {#fellowship-program}
+
+[Fellowship Program Nadace Ethereum](https://fellowship.ethereum.foundation/) je iniciativou, která pomáhá vyplňovat mezery v zastoupení napříč kulturami, národnostmi a ekonomickými třídami. Fellowship Program se snaží o překlenutí těchto mezer tím, že identifikuje a podporuje jedinečné a talentované jedince, kteří pomáhají zvýšit relevanci Etherea, a bourá bariéry pro vstup pro ty, kteří jsou nedostatečně zastoupeni, ale stanou se budoucností Web3.
+
+[Zjistěte více na fellowship.ethereum.foundation](https://fellowship.ethereum.foundation/).
+
+
+
+Další informace o nadaci a její práci naleznete na [ethereum.foundation](http://ethereum.foundation/), nebo se podívejte na [Blog Ethereum Foundation](https://blog.ethereum.org/), kde najdete nejnovější zprávy a oznámení od nadace EF.
diff --git a/public/content/translations/cs/future-proofing/index.md b/public/content/translations/cs/future-proofing/index.md
new file mode 100644
index 00000000000..1785e9d8bc4
--- /dev/null
+++ b/public/content/translations/cs/future-proofing/index.md
@@ -0,0 +1,38 @@
+---
+title: Příprava na budoucnost Etherea
+description: Neustávající práce na vylepšeních činí Ethereum odolnou, decentralizovanou základní vrstvou, bez ohledu na to, co nám budoucnost přinese.
+lang: cs
+image: /images/roadmap/roadmap-future.png
+alt: "Plán Etherea"
+template: roadmap
+---
+
+Některé části plánu nejsou nezbytně nutné pro škálování nebo zabezpečení Etherea v blízké budoucnosti, ale pro stabilitu a spolehlivost ve vzdálené budoucnosti.
+
+## Odolnost proti kvantovým počítačům {#quantum-resistance}
+
+Až budou vynalezeny kvantové počítače, bude část [kryptografie](/glossary/#cryptography) zajišťující bezpečnost současného Etherea ohrožena. Přestože kvantové počítače jsou pravděpodobně desítky let vývoje daleko od toho, aby se staly skutečnou hrozbou pro moderní kryptografii, Ethereum je budováno tak, aby bylo bezpečné po celá staletí. I tak je ale snaha o [Ethereum odolné proti útokům kvantových počítačům](https://consensys.net/blog/developers/how-will-quantum-supremacy-affect-blockchain/) prioritou.
+
+Výzva, před kterou vývojáři Etherea stojí, spočívá v tom, že současný protokol [Důkaz podílem](/glossary/#pos) spoléhá na efektivní podpisové schéma pro agregaci hlasů na platných [blocích](/glossary/#block), známé jako BLS. Toto schéma podpisu je ohroženo kvantovými počítači, ale kvantově odolné alternativy nejsou tak účinné.
+
+Je známo, že [schémata závazků „KZG“](/roadmap/danksharding/#what-is-kzg), která se v Ethereu používají ke generování kryptografických tajemství, jsou kvantově zranitelná. V současné době se tento problém obchází pomocí „nastavení s nutností důvěry“, kde mnoho uživatelů generuje náhodnost, kterou nelze zpětně analyzovat kvantovým počítačem. Ideálním řešením by však bylo začlenit místo toho kvantově bezpečnou kryptografii. Existují dva hlavní přístupy, které by mohly účinně nahradit BLS schéma: Podepisování založené na [STARK](https://hackmd.io/@vbuterin/stark_aggregation) technologii a podepisování založené na [mřížce](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175). **Ty jsou v současné době zkoumány a prototypovány**.
+
+ Další materiály o KZG a nastaveních s nutností důvěry
+
+## Jednodušší a efektivnější Ethereum {#simpler-more-efficient-ethereum}
+
+Složitost vytváří příležitosti pro chyby nebo zranitelnosti, které mohou útočníci zneužít. Proto je součástí plánu vývoje Etherea jeho zjednodušení a odstranění kódu, který byl připojen s různými vylepšeními, ale už není potřeba nebo je možné ho vylepšit. Štíhlý a jednoduchý kód je pro vývojáře snazší udržovat a rozvíjet.
+
+V plánu je několik aktualizací, které budou provedeny ve [virtuálním stroji Etherea (EVM)](/developers/docs/evm) za účelem zjednodušení a zvýšení efektivity. Patří mezi ně [odstranění opkódu SELFDESTRUCT](https://hackmd.io/@vbuterin/selfdestruct) – jedná se o zřídka používaný příkaz, který už není potřeba a za určitých okolností může být jeho použití nebezpečné, zejména v kombinaci s dalšími budoucími vylepšeními úložiště Etherea. [Klienti na Ethereu](/glossary/#consensus-client) také stále podporují některé staré typy transakcí, které lze nyní zcela odstranit. Způsob výpočtu [transakčního poplatku](/glossary/#gas) je také možné zlepšit. Dále mohou být zavedeny efektivnější metody pro aritmetický základ některých kryptografických operací.
+
+Podobně existují aktualizace, které lze provést v jiných částech současných klientů Etherea. Jedním z příkladů je, že současní exekutivní a konsensuální klienti používají jiný typ komprese dat. Sdílení dat mezi klienty bude mnohem jednodušší a intuitivnější, když bude schéma komprese jednotné v celé síti.
+
+## Aktuální průběh {#current-progress}
+
+Většina vylepšení potřebných pro budoucí zabezpečení Etherea je **stále ve fázi výzkumu a může trvat několik let**, než dojde k jejich implementaci. Vylepšení, jako je odstranění SELFDESTRUCT a harmonizace kompresního schématu používaného v exekučních a konsensuálních klientech, pravděpodobně přijdou dříve než kvantově odolná kryptografie.
+
+**Další informace**
+
+- [Palivo](/developers/docs/gas)
+- [EVM](/developers/docs/evm)
+- [Datové struktury](/developers/docs/data-structures-and-encoding)
diff --git a/public/content/translations/cs/governance/index.md b/public/content/translations/cs/governance/index.md
index 99faf335978..700542ff3a9 100644
--- a/public/content/translations/cs/governance/index.md
+++ b/public/content/translations/cs/governance/index.md
@@ -4,15 +4,15 @@ description: Úvod do rozhodování o Ethereu.
lang: cs
---
-# Úvod do správy Etherea {#introduction}
+# Úvod do řízení Etherea {#introduction}
-_Pokud Ethereum nikdo nevlastní, jak se rozhoduje o minulých a budoucích změnách Etherea? Ethereum governance, nebo česky správa Etherea, je proces, který toto umožňuje._
+_Pokud Ethereum nikdo nevlastní, jak se rozhoduje o minulých a budoucích změnách Etherea? Řízení Etherea je proces, který toto umožňuje._
-## Co je správa? {#what-is-governance}
+## Co je řízení? {#what-is-governance}
-Pod pojmem správa rozumíme systémy, které umožňují přijímat rozhodnutí. V typické organizační struktuře může mít při rozhodování poslední slovo výkonný management nebo představenstvo. Nebo možná o návrzích změn hlasují akcionáři. V politickém systému mohou volení úředníci uzákonit legislativu, která se pokouší reprezentovat přání jejich voličů.
+Pod pojmem řízení rozumíme systémy, které umožňují přijímat rozhodnutí. V typické organizační struktuře může mít při rozhodování poslední slovo výkonný management nebo představenstvo. Nebo možná o návrzích změn hlasují akcionáři. V politickém systému mohou volení úředníci uzákonit legislativu, která se pokouší reprezentovat přání jejich voličů.
## Decentralizované řízení {#decentralized-governance}
@@ -20,17 +20,17 @@ Nikdo nevlastní ani neřídí protokol Etherea, ale stále je třeba dělat roz
## Kdo řídí Ethereum {#ethereum-governance}
-Správa Etherea je proces, kterým se provádějí změny v protokolu. Je důležité zdůraznit, že tento proces nesouvisí s tím, jak uživatelé a aplikace protokol používají – Ethereum je bez vstupních bariér. Do on-chain aktivit se může zapojit kdokoli z celého světa. Nejsou nastavena žádná pravidla pro to, kdo může nebo nemůže spustit aplikaci nebo odeslat transakci. Existuje však proces navrhování změn základního protokolu, nad kterým jsou spuštěny decentralizované aplikace. Na stabilitě Etherea je v současné době závislých hodně lidí. Existuje proto vysoce pečlivá koordinace změn základních funkcí, včetně sociálních a technických procesů, za účelem zajištění bezpečnosti jakýcholiv změn Etherea, které budou zároveň přijaty komunitou.
+Řízení Etherea je proces, kterým se provádějí změny v protokolu. Je důležité zdůraznit, že tento proces nesouvisí s tím, jak uživatelé a aplikace protokol používají – Ethereum je bez vstupních bariér. Do blockchainových aktivit se může zapojit kdokoli z celého světa. Nejsou nastavena žádná pravidla pro to, kdo může nebo nemůže spustit aplikaci nebo odeslat transakci. Existuje však proces navrhování změn základního protokolu, nad kterým jsou spuštěny decentralizované aplikace. Na stabilitě Etherea je v současné době závislých hodně lidí. Existuje proto vysoce pečlivá koordinace změn základních funkcí, včetně sociálních a technických procesů, za účelem zajištění bezpečnosti jakýchkoliv změn Etherea, které budou zároveň přijaty komunitou.
-### On-chain versus off-chain správa {#on-chain-vs-off-chain}
+### Blockchainové řízení versus řízení mimo blockchain {#onchain-vs-offchain}
-Blockchainové technologie umožňují nové možnosti řízení, známé jako on-chain správa. On-chain správa znamená, že o navrhovaných změnách protokolu hlasují zúčastněné strany, obvykle držitelé tokenu umožňujícího se na hlasování podílet, a celý proces probíhá na blockchainu. U některých forem on-chain správy jsou navrhované změny protokolu zapsány v kódu a implementovány automaticky, pokud zainteresované strany schválí změny podpisem transakce.
+Blockchainové technologie umožňují nové možnosti řízení známé jako blockchainové řízení. Blockchainové řízení znamená, že o navrhovaných změnách protokolu hlasují zúčastněné strany, obvykle držitelé řídicího tokenu, a celý proces hlasování probíhá na blockchainu. U některých forem blockchainového řízení jsou navrhované změny protokolu zapsány v kódu a implementovány automaticky, pokud zúčastněné strany schválí změny podpisem transakce.
-Opačný přístup, off-chain správa, spočívá v tom, že jakákoliv rozhodnutí o změně protokolu probíhají prostřednictvím neformálního procesu diskuse, jejíž výstupy by byly implementovány do kódu, pokud by byly schváleny.
+Opačný přístup, řízení mimo blockchain, spočívá v tom, že jakákoliv rozhodnutí o změně protokolu probíhají prostřednictvím neformálního procesu diskuse, jejíž výstupy by byly implementovány do kódu, pokud by byly schváleny.
-**Správa Etherea probíhá off-chain** s širokou škálou zúčastněných stran zapojených do procesu.
+**Řízení Etherea probíhá mimo blockchain** s širokou škálou zúčastněných stran zapojených do procesu.
-_Zatímco na úrovni protokolu je řízení Etherea off-chain, velké množství projektů běžících na Ethereu, jako jsou DAO, používá řízení on-chain._
+_Zatímco na úrovni protokolu je řízení Etherea mimo blockchain, velké množství projektů běžících na Ethereu, jako jsou DAO, používá blockchainové řízení._
Více o DAO
@@ -38,17 +38,17 @@ _Zatímco na úrovni protokolu je řízení Etherea off-chain, velké množství
-## Kdo je zapojen do správy Etherea? {#who-is-involved}
+## Kdo je zapojen? {#who-is-involved}
-V [komunitě Etherea](/community/), jsou různé zainteresované strany, z nichž každá hraje roli v procesu správy. Počínaje zainteresovanými stranami, které jsou nejvzdálenější od protokolu, se jedná o:
+V [komunitě Ethereum](/community/) jsou různé zainteresované strany, z nichž každá hraje roli v procesu řízení. Počínaje zainteresovanými stranami, které jsou nejvzdálenější od protokolu, se jedná o:
- **Držitele etheru**: Tito lidé drží libovolné množství ETH. [Více o ETH](/eth/).
- **Uživatele aplikací**: Tito lidé komunikují s aplikacemi na blockchainu Ethereum.
-- **Vývojáře aplikací a nástrojů**: Tito lidé píší aplikace, které běží na blockchainu Ethereum (např. DeFi, NFT atd.) nebo vytvářejí nástroje pro interakci s Ethereem (např. peněženky, testovací sady atd.). [Více o dappkách](/dapps/).
+- **Vývojáře aplikací a nástrojů**: Tito lidé píší aplikace, které běží na blockchainu Ethereum (např. DeFi, NFT atd.) nebo vytvářejí nástroje pro interakci s Ethereem (např. peněženky, testovací sady atd.). [Více o dappkách](/apps/).
- **Operátory síťových uzlů**: Tito lidé provozují síťové uzly, které schvalují bloky a transakce a odmítají jakoukoli neplatnou transakci nebo blok, se kterým se setkají. [Více o síťových uzlech](/developers/docs/nodes-and-clients/).
- **Autory EIP**: Tito lidé navrhují změny protokolu Ethereum ve formě návrhů na vylepšení Etherea (EIP). [Více o EIP](/eips/).
- **Validátory**: Tito lidé provozují síťové uzly, které mohou přidávat nové bloky do blockchainu Ethereum.
-- **Vývojáře protokolu** (také známí jako "Klíčoví vývojáři“ ): Tito lidé se starají o různé implementace Etherea (např. go-ethereum, Nethermind, Besu, Erigon, Reth na exekuční vrstvě nebo Prysm, Lighthouse, Nimbus, Teku, Lodestar na vrstvě konsenzu). [Více o klientech Etherea](/developers/docs/nodes-and-clients/).
+- **Vývojáře protokolu** (také známí jako „Klíčoví vývojáři“ ): Tito lidé se starají o různé implementace Etherea (např. go-ethereum, Nethermind, Besu, Erigon a Reth na exekuční vrstvě nebo Prysm, Lighthouse, Nimbus, Teku, Lodestar a Grandine na vrstvě konsenzu). [Více o klientech Etherea](/developers/docs/nodes-and-clients/).
_Poznámka: Každý může být součástí více skupin (např. vývojář protokolu může navrhovat EIP a provozovat validátor beacon chainu a používat DeFi aplikace). Pro jednoduchost je však lepší tyto skupiny uvést odděleně._
@@ -56,7 +56,7 @@ _Poznámka: Každý může být součástí více skupin (např. vývojář prot
## Co je to EIP? {#what-is-an-eip}
-Důležitým procesem používaným při správě Etherea je **návrh na zlepšení Etherea (Ethereum Improvement Proposals, EIP)**. EIP jsou standardy specifikující potenciální nové funkce nebo procesy pro Ethereum. EIP může vytvořit kdokoliv. Jestliže chcete sepsat EIP nebo se zúčastnit vzájemného hodnocení a/nebo správy, podívejte se na:
+Důležitým procesem používaným při řízení Etherea je **návrh na zlepšení Etherea (Ethereum Improvement Proposals, EIP)**. EIP jsou standardy specifikující potenciální nové funkce nebo procesy pro Ethereum. EIP může vytvořit kdokoliv. Jestliže chcete sepsat EIP nebo se zúčastnit vzájemného hodnocení a/nebo správy, podívejte se na:
Více o EIP
@@ -104,7 +104,7 @@ Neexistuje žádný jasný návod, jak řešit sporné návrhy. Je to výsledek
Od šampionů EIP se očekává, že si vyžádají zpětnou vazbu od všech zúčastněných stran. Pokud zjistíte, že jste šampionem EIP, které je sporné, měli byste se pokusit vyřešit námitky zúčastněných stran, abyste dosáhli konsensu. Vzhledem k velikosti a rozmanitosti komunity Etherea neexistuje jediná metrika (např. hlasování pomocí tokenů), kterou by bylo možné použít k posouzení konsenzu komunity, a od šampionů EIP se očekává, že se přizpůsobí okolnostem svého návrhu.
-Kromě zabezpečení sítě přikládali vývojáři protokolu významnou váhu tomu, čeho si vývojáři aplikací/nástrojů a uživatelé aplikací cení - a to vzhledem k tomu, že používání aplikací a vývoj na Ethereu je to, co činí ekosystém atraktivním pro ostatní zúčastněné strany. Kromě toho je třeba implementovat EIP napříč všemi implementacemi klientů, které jsou spravovány různými týmy. Součástí tohoto procesu je obvykle přesvědčování různých týmů vývojářů protokolu, že konkrétní změna je cenná a že pomůže koncovým uživatelům nebo vyřeší problém se zabezpečením.
+Kromě zabezpečení sítě přikládali vývojáři protokolu významnou váhu tomu, čeho si vývojáři aplikací/nástrojů a uživatelé aplikací cení – a to vzhledem k tomu, že používání aplikací a vývoj na Ethereu je to, co činí ekosystém atraktivním pro ostatní zúčastněné strany. Kromě toho je třeba implementovat EIP napříč všemi implementacemi klientů, které jsou spravovány různými týmy. Součástí tohoto procesu je obvykle přesvědčování různých týmů vývojářů protokolu, že konkrétní změna je cenná a že pomůže koncovým uživatelům nebo vyřeší problém se zabezpečením.
@@ -118,7 +118,7 @@ Obecně se neshody řeší dlouhodobou diskusí na veřejných fórech, aby se p
Forky nastávají, když je potřeba provést zásadní technická vylepšení nebo změny v síti a změnit "pravidla“ protokolu. [Klienty na Ethereu](/developers/docs/nodes-and-clients/) musí aktualizovat svůj software, aby implementovali nová pravidla forku.
-Fork The DAO byl reakcí na [útok na DAO v roce 2016](https://www.coindesk.com/understanding-dao-hack-journalists), kdy bylo z nezabezpečeného kontraktu [DAO](/glossary/#dao) odčerpáno více než 3,6 milionu ETH. Tento fork přesunul finanční prostředky z chybného smart kontraktu do nového kontraktu, který umožnil získat zpět své finanční prostředky komukoli, kdo o ně přišel během hacku.
+Fork The DAO byl reakcí na [útok na DAO v roce 2016](https://www.coindesk.com/learn/understanding-the-dao-attack), kdy bylo z nezabezpečeného kontraktu [DAO](/glossary/#dao) odčerpáno více než 3,6 milionu ETH. Tento fork přesunul finanční prostředky z chybného smart kontraktu do nového kontraktu, který umožnil získat zpět své finanční prostředky komukoli, kdo o ně přišel během hacku.
Tento postup byl odhlasován ethereovskou komunitou. Každý držitel ETH mohl hlasovat prostřednictvím transakce na [hlasovací platformě](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/). Rozhodnutí o forku získalo více než 85 % hlasů.
@@ -180,3 +180,5 @@ Správa Etherea není pevně definována. Různí členové komunity mají na ř
- [Kdo je Ethereum core developer?](https://hudsonjameson.com/2020-06-22-what-is-an-ethereum-core-developer/) - _Hudson Jameson_
- [Řízení, část 2: Plutokracie je furt špatná](https://vitalik.eth.limo/general/2018/03/28/plutocracy.html) - _Vitalik Buterin_
- [Nahrazení mincemi hlasované řízení](https://vitalik.eth.limo/general/2021/08/16/voting3.html) - _Vitalik Buterin_
+- [Pochopení řízení blockchainu](https://research.2077.xyz/understanding-blockchain-governance) – _2077 Research_
+- [Vláda Etherea](https://www.galaxy.com/insights/research/ethereum-governance/) – _Christine Kim_
diff --git a/public/content/translations/cs/nft/index.md b/public/content/translations/cs/nft/index.md
index 609c074dede..121057dd154 100644
--- a/public/content/translations/cs/nft/index.md
+++ b/public/content/translations/cs/nft/index.md
@@ -1,5 +1,6 @@
---
title: Nezaměnitelné tokeny (NFT)
+metaTitle: Co jsou NFTéčka? | Výhody a využití
description: Přehled NFT na Ethereu
lang: cs
template: use-cases
@@ -56,7 +57,7 @@ Možná jste umělec, který chce zveřejnit svou práci pomocí NFT, aniž by z
Prozkoumejte, kupte nebo si vytvořte vlastní NFT umění...
-
+
Prozkoumat NFT umění
@@ -75,7 +76,7 @@ Tato webová stránka má také alternativní název domény využívající NFT
## Jak fungují NFT? {#how-nfts-work}
-Stejně jako kterékoliv digitální předměty na Ethereum blockchainu jsou NFT vytvářeny skrze speciální počítačový program založený na Ethereu s názvem "chytrý kontrakt." Tyto kontrakty fungují podle specifických pravidel, jako jsou standardy [ERC-721](/glossary/#erc-721) nebo [ERC-1155](/glossary/#erc-1155), které určují, jaké operace může kontrakt vykonávat.
+Stejně jako kterékoliv digitální předměty na Ethereum blockchainu jsou NFT vytvářeny skrze speciální počítačový program založený na Ethereu s názvem „chytrý kontrakt“. Tyto kontrakty fungují podle specifických pravidel, jako jsou standardy [ERC-721](/glossary/#erc-721) nebo [ERC-1155](/glossary/#erc-1155), které určují, jaké operace může kontrakt vykonávat.
Chytrý kontrakt NFT může dělat několik klíčových věcí:
diff --git a/public/content/translations/cs/roadmap/merge/index.md b/public/content/translations/cs/roadmap/merge/index.md
new file mode 100644
index 00000000000..95b038447bf
--- /dev/null
+++ b/public/content/translations/cs/roadmap/merge/index.md
@@ -0,0 +1,229 @@
+---
+title: The Merge
+description: Zjistěte více o Sloučení – když hlavní síť Ethereum přešla na důkaz podílem.
+lang: cs
+template: upgrade
+image: /images/upgrades/merge.png
+alt:
+summaryPoint1: Hlavní síť Ethereum používá důkaz podílem, ale ne vždy tomu tak bylo.
+summaryPoint2: Upgrade z původního mechanismu důkazu prací na důkaz podílem se nazývá Sloučení.
+summaryPoint3: Sloučení označuje sloučení původní hlavní sítě Ethereum s odděleným blockchainem založeným na důkazu podílem nazývaným Řetězová vazba, které nyní existují jako jeden řetězec.
+summaryPoint4: Sloučení snížilo spotřebu energie potřebné k provozu Etherea přibližně o 99,95 %.
+---
+
+
+ Sloučení bylo provedeno 15. září 2022. Tento krok dokončil přechod Etherea na konsensuální mechanismus důkaz podílem a oficiálně odstranil důkaz prací, čímž snížil spotřebu energie přibližně o 99,95 %.
+
+
+## Co bylo Sloučení? {#what-is-the-merge}
+
+Sloučení představovalo spojení původní exekuční vrstvy Etherea (hlavní síť, která existovala od [genesis](/history/#frontier)) s novou konsensuální vrstvou založenou na důkazu podílem, Řetězovou vazbou. To eliminovalo potřebu energeticky náročného těžení a místo toho umožnilo zabezpečení sítě pomocí uzamčeného ETH. Byl to opravdu zajímavý krok k naplnění vize Etherea — větší škálovatelnost, bezpečnost a udržitelnost.
+
+
+
+Původně byla [Řetězová vazba](/roadmap/beacon-chain/) spuštěna nezávisle na [hlavní síti](/glossary/#mainnet). Hlavní síť Ethereum — se všemi svými účty, zůstatky, chytrými kontrakty a stavem blockchainu — byla nadále zabezpečována pomocí [důkazu prací](/developers/docs/consensus-mechanisms/pow/), i když Řetězová vazba běžela paralelně na [důkazu podílem](/developers/docs/consensus-mechanisms/pos/). Sloučení byl okamžik, kdy se tyto dva systémy konečně spojily a důkaz prací byl trvale nahrazen důkazem podílem.
+
+Představte si Ethereum jako vesmírnou loď, která byla vypuštěna předtím, než byla zcela připravena na mezihvězdné putování. S Řetězovou vazbou komunita postavila nový motor a zpevněný trup. Po pečlivém testování nastal čas vyměnit starý motor za nový během letu. Tím se nový, efektivnější motor zapojil do existující lodi, což jí umožnilo urazit velké vzdálenosti a vydat se hlouběji do vesmíru.
+
+## Sloučení s hlavní sítí {#merging-with-mainnet}
+
+Důkaz prací zabezpečoval hlavní síť Ethereum od začátku (Genesis) až do Sloučení. To umožnilo vznik blockchainu Etherea, na který jsme všichni zvyklí, v červenci 2015, se všemi jeho známými funkcemi — transakcemi, chytrými kontrakty, účty atd.
+
+V průběhu historie Etherea vývojáři připravovali přechod z důkazu prací na důkaz podílem. 1. prosince 2020 byla vytvořena Řetězová vazba jako blockchain oddělený od hlavní sítě, který běžel paralelně.
+
+Řetězová vazba původně nezpracovávala transakce hlavní sítě. Místo toho dosahovala konsensu o svém vlastním stavu tím, že se dohodla na aktivních validátorech a zůstatcích na jejich účtech. Po rozsáhlém testování nastal čas, aby Řetězová vazba dosahovala konsensu o skutečných datech. Po Sloučení se Řetězová vazba stala konsensuálním motorem pro všechna data sítě, včetně transakcí exekuční vrstvy a zůstatků na účtech.
+
+Sloučení představovalo oficiální přechod na používání Řetězové vazby jako pohonu pro vytváření bloků. Těžba už není prostředkem k vytváření platných bloků. Místo toho tuto roli převzali validátoři důkazu podílem, kteří nyní zpracovávají platnost všech transakcí a navrhují bloky.
+
+Historie nebyla během Sloučení vymazána. Jak se hlavní síť sloučila s Řetězovou vazbou, sloučila se také celá transakční historie Etherea.
+
+
+Tento přechod na důkaz podílem změnil způsob, jakým je ether vydáván. Přečtěte si další informace na téma vydávání etheru před Sloučením a po něm.
+
+
+### Uživatelé a držitelé {#users-holders}
+
+**Sloučení nezměnilo nic pro držitele/uživatele.**
+
+_Jednu věc je třeba zdůraznit_: Jako uživatel nebo držitel ETH nebo jakéhokoliv jiného digitálního aktiva na Ethereu, stejně jako uzamykatelé, kteří neprovozují síťové uzly, **nemusíte s vašimi prostředky nebo peněženkou podnikat kvůli Sloučení žádné kroky.** ETH je jednoduše ETH. Neexistuje něco jako „starý ETH“/„nový ETH“ nebo „ETH1“/„ETH2“ a peněženky fungují po Sloučení úplně stejně jako předtím — lidé, kteří vám říkají něco jiného, jsou s největší pravděpodobností podvodníci.
+
+Navzdory přechodu z důkazu prací na důkaz podílem zůstala celá historie Etherea od genesis neporušená a nezměněná. Jakékoliv prostředky držené ve vaší peněžence před Sloučením jsou stále přístupné i po Sloučení. **Nemusíte pro to vůbec nic udělat.**
+
+[Více o bezpečnosti Etherea](/security/#eth2-token-scam)
+
+### Provozovatelé síťových uzlů a vývojáři decentralizovaných aplikací {#node-operators-dapp-developers}
+
+
+
+Klíčové akční položky zahrnují:
+
+1. Spusťte _oba_ klienty: konsensuálního i exekučního; koncové body třetích stran pro získání exekučních dat po Sloučení nefungují.
+2. Autentizujte exekučního i konsensuálního klienta s použitím sdíleného JWT klíče, aby spolu mohli komunikovat v zabezpečeném prostředí.
+3. Nastavte adresu pro „příjem odměn“ abyste mohli dostat transakční poplatky/MEV, které si vyděláte.
+
+Pokud neprovedete první dvě výše uvedené položky, vámi provozovaný síťový uzel uzel bude považován za „offline“, dokud nebudou obě vrstvy synchronizovány a autentizovány.
+
+Pokud nenastavíte adresu pro „příjem odměn“, váš validátor bude stále fungovat jako obvykle, ale poplatky a MEV, které byste jinak získali v blocích navržených vaším validátorem, budou spáleny.
+
+
+
+
+Před Sloučením byl exekuční klient (například Geth, Erigon, Besu nebo Nethermind) dostačující pro příjem, správné ověření a šíření bloků distribuovaných sítí. Platnost transakcí obsažených v exekuční zprávě _po Sloučení_ závisí i na platnosti „konsensuálního bloku“, ve kterém je obsažena.
+
+Výsledkem je, že kompletní síťový uzel Etherea nyní potřebuje jak klienta exekučního, tak konsensuálního. Tyto dva klienty spolupracují prostřednictvím nového Engine API. Engine API vyžaduje autentizaci pomocí JWT klíče, který je poskytován oběma klientům a umožňuje jim tak bezpečnou komunikaci.
+
+Klíčové akční body zahrnují:
+
+- Nainstalujte klienta konsensu navíc k exekučnímu klientovi.
+- Autentizujte exekuční a konsensuální klienty sdíleným JWT klíčem a umožněte jim tak bezpečnou komunikaci.
+
+Nesplnění výše uvedených položek povede k tomu, že váš uzel se bude jevit jako „offline“, dokud nebudou obě vrstvy synchronizovány a autentizovány.
+
+
+
+
+
+Sloučení přineslo změny v konsensu, což zahrnuje i změny týkající se:
+
+
+ - struktury bloku
+ - časování slotů/bloků
+ - změn opcode
+ - zdrojů náhodnosti na blockchainu
+ - konceptu bezpečného prvního prvku a finalizovaných bloků
+
+
+Více informací najdete v tomto příspěvku na blogu od Tima Beika o tom, jak Sloučení ovlivňuje aplikační vrstvu Etherea.
+
+
+
+## Sloučení a spotřeba energie {#merge-and-energy}
+
+Sloučení znamenalo pro Ethereum konec důkazu prací a zahájilo éru udržitelnějšího, ekologičtějšího Etherea. Spotřeba energie Ethereem klesla odhadem o 99,95 %, což činí Ethereum ekologickým blockchainem. Další informace o [spotřebě energie Ethereem](/energy-consumption/).
+
+## Sloučení a škálování {#merge-and-scaling}
+
+Sloučení také připravilo půdu pro další škálovatelná vylepšení, která nebyla za důkazu prací možná, a přiblížilo Ethereum o krok blíže k dosažení plného škálování, bezpečnosti a udržitelnosti uvedených v [jeho vizi](/roadmap/vision/).
+
+## Mýty o Sloučení {#misconceptions}
+
+
+
+Existují dva typy síťových uzlů Etherea: Uzly, které mohou navrhovat bloky, a uzly, které nemohou.
+
+Uzly, které navrhují bloky, jsou pouze malou částí celkového počtu uzlů na Ethereu. Tato kategorie zahrnuje těžební uzly pod důkazem prací (proof-of-work, PoW) a validační uzly pod důkazem podílem (proof-of-stake, PoS). Tato kategorie vyžaduje investici ekonomických zdrojů (například GPU hashovací výkon v případě důkazu prací nebo uzamčené ETH v případě důkazu podílem) výměnou za možnost občas navrhnout další blok a získat protokolové odměny.
+
+Ostatní uzly v síti (tj. většina) nemusí investovat žádné ekonomické zdroje nad rámec běžného počítače s 1–2 TB dostupného úložiště a internetového připojení. Tyto síťové uzly nenavrhují bloky, ale stále hrají klíčovou roli při zabezpečení sítě tím, že kontrolují platnost nových bloků a ověřují je podle pravidel konsensu sítě. Pokud je blok platný, uzel pokračuje v jeho šíření sítí. Pokud je blok z jakéhokoli důvodu neplatný, software síťového uzlu jej odmítne jako neplatný a přestane jej šířit.
+
+Spuštění uzlu, který nenavrhuje bloky, je možné pro každého pod konsensuálním mechanismem (důkaz prací nebo důkaz podílem) a doporučuje se všem uživatelům, pokud k tomu mají volné prostředky. Provozování takového uzlu je pro Ethereum velmi cenné a poskytuje jednotlivcům, kteří ho provozují, dodatečné výhody, jako je zvýšená bezpečnost, soukromí a odolnost proti cenzuře.
+
+Schopnost každého spustit svůj vlastní uzel je naprostým základem pro udržení decentralizace sítě Ethereum.
+
+Další informace o provozování vlastního uzlu
+
+
+
+
+
+Transakční poplatky jsou výsledkem poptávky na síti v poměru k její kapacitě. Sloučení zrušilo používání důkazu prací, došlo k přechodu na důkaz podílem z důvodu konsensu, ale nezměnilo významně žádné parametry, které přímo ovlivňují kapacitu nebo propustnost sítě.
+
+S plánem orientovaným na rollupy se úsilí zaměřuje na škálování uživatelské aktivity na druhé vrstvě, zatímco první vrstva hlavní síť funguje jako bezpečná decentralizovaná vypořádací vrstva optimalizovaná pro ukládání dat rollupů, což vede k exponenciálnímu snížení nákladů na transakce na rollupech. Přechod na důkaz podílem je klíčovým předpokladem pro realizaci tohoto cíle. Další informace o palivu a poplatcích.
+
+
+
+
+Rychlost transakce může být měřena několika způsoby, včetně času na zařazení do bloku a času k finalizaci. Oba tyto aspekty se mírně změnily, ale ne tak, aby to uživatelé zaznamenali.
+
+Historicky, na důkazu prací, bylo cílem mít nový blok přibližně každých 13,3 sekundy. Na důkazu podílem se sloty objevují přesně každých 12 sekund, z nichž každý je příležitostí pro validátora publikovat blok. Většina slotů obsahuje bloky, ale nutně ne všechny bloky (např. když je validátor offline). V případě důkazu podílem se bloky produkují přibližně o 10 % častěji než v případě důkazu prací. Tento rozdíl je poměrně nevýznamný a je nepravděpodobné, že by byl uživateli zaznamenán.
+
+Důkaz podílem zavedl koncept finalizace transakcí, který dříve neexistoval. V případě důkazu prací se schopnost vrátit blok stává exponenciálně obtížnější s každým dalším blokem těženým po této transakci, ale nikdy nedosáhne nuly. V případě důkazu podílem jsou bloky seskupeny do epoch (6,4minutové úseky času obsahující 32 šancí na blok), o kterých validátoři hlasují. Když epocha skončí, validátoři hlasují o tom, zda ji lze považovat za „ověřenou“. Pokud se validátoři dohodnou na justifikaci epochy, bude finalizována v následující epoše. Vrátit finalizované transakce je ekonomicky neproveditelné, protože by to vyžadovalo zisk a spálení více než jedné třetiny celkového uzamčeného ETH.
+
+
+
+
+
+Bezprostředně po Sloučení mohli uzamykatelé přistupovat pouze k odměnám za poplatky a MEV, které získali v důsledku navrhování bloků. Tyto odměny jsou připisovány na účet, který sám o sobě vkladový není a který ovládá validátor (známý jako příjemce poplatků), a jsou dostupné okamžitě. Tyto odměny jsou oddělené od protokolových odměn za vykonávání funkcí validátora.
+
+Po vylepšení sítě Shanghai/Capella mohou nyní uzamykatelé určit adresu pro výběr, kde mohou začít přijímat automatické výplaty jakéhokoliv přebytku zůstatku uzamčení (množství větší než je 32 ETH z protokolových odměn). Toto vylepšení také umožnilo validátorovi odemknout a získat celý svůj zůstatek po vystoupení ze sítě.
+
+Další informace o výběrech prostředků z uzamčení
+
+
+
+
+Po vylepšení Shanghai/Capella jsou validátoři motivováni k výběru svého zůstatku uzamčení nad 32 ETH, protože tyto prostředky nepřispívají k výnosu a leží nevyužity. V závislosti na APR (určeném celkovým množstvím uzamčeného ETH) mohou být motivováni k vystoupení ze svých validátorů, aby si vymohli celý svůj zůstatek, nebo případně uzamknout ještě více pomocí svých odměn, aby získali větší výnos.
+
+Důležité upozornění: Úplné vystoupení validátorů je omezeno protokolem, a pouze určité množství validátorů může vystoupit během jedné epochy (každých 6,4 minuty). Tento limit se mění v závislosti na počtu aktivních validátorů, ale vychází přibližně na 0,33 % celkového uzamčeného ETH, které může být vybráno ze sítě za jeden den.
+
+To brání masovému exodu uzamčených prostředků. Dále to zabraňuje potenciálnímu útočníkovi, který má přístup k velké části celkového uzamčeného ETH, aby spáchal trestný čin a vystoupil či vybral všechny zůstatky vadných validátorů v jedné epoše, než protokol uplatní trest.
+
+APR je také úmyslně dynamický, což umožňuje trhu uzamykatelů vyvážit, kolik jsou ochotni být placeni za zabezpečení sítě. Pokud je sazba příliš nízká, validátoři vystoupí rychlostí omezenou protokolem. Tento krok postupně zvýší APR pro všechny, kteří zůstanou, a znovu přiláká nové nebo vracející se uzamykatele.
+
+
+## Co se stalo s Eth2? {#eth2}
+
+Termín Eth2 už se nepoužívá. Po sloučení Eth1 a Eth2 do jednoho řetězce již není potřeba rozlišovat mezi dvěma sítěmi Ethereum; existuje pouze Ethereum.
+
+Aby nedošlo ke zmatku, komunita tyto termíny aktualizovala:
+
+- Eth1 je nyní „exekuční vrstva“, která zpracovává transakce a exekuci.
+- Eth2 je nyní „vrstva konsenzu“, která se zabývá konsensem důkazu podílem.
+
+Tyto změny termínů slouží pouze k úpravě názvosloví. Cíle ani plán Etherea se nemění.
+
+[Další informace o přejmenování Eth2](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/)
+
+## Vztahy mezi aktualizacemi {#relationship-between-upgrades}
+
+Všechna Ethereum vylepšení jsou poněkud vzájemně provázaná. Pojďme si tedy připomenout, jak Sloučení souvisí s ostatními vylepšeními.
+
+### Sloučení a Řetězová vazba {#merge-and-beacon-chain}
+
+Sloučení představuje formální přijetí Řetězové vazby jako nové konsensuální vrstvy k původní exekuční vrstvě, hlavní síti. Po Sloučení jsou validátoři pověřeni zajištěním hlavní sítě Ethereum a těžba pomocí [důkazu prací](/developers/docs/consensus-mechanisms/pow/) již není platným způsobem tvorby bloků.
+
+Bloky jsou nyní navrhovány validujícími uzly, které mají uzamčené ETH, výměnou za právo účastnit se konsensu. Tato vylepšení připravují půdu pro budoucí škálovací vylepšení, včetně tříštění.
+
+
+ Řetězová vazba
+
+
+### Sloučení a vylepšení Shanghai {#merge-and-shanghai}
+
+Aby se usnadnilo a maximalizovalo zaměření na úspěšný přechod na důkaz podílem, vylepšení Sloučení z počátku nezahrnovalo některé očekávané funkce, jako je možnost vybrat uzamčené ETH. Tato funkčnost byla umožněna samostatně s vylepšením Shanghai/Capella.
+
+Těm z vás, které toto téma zajímá, doporučujeme podívat se na příspěvek [Co se stane po Sloučení](https://youtu.be/7ggwLccuN5s?t=101) od Vitalika na akci ETHGlobal v dubnu 2021.
+
+### Sloučení a tříštění {#merge-and-data-sharding}
+
+Původní plán byl pracovat na tříštění před Sloučením, aby se zlepšila škálovatelnost. Nicméně, s boomem [řešení škálování druhé vrstvy](/layer-2/) dostal přednost přechod z důkazu prací na důkaz podílem.
+
+Plány na tříštění se rychle vyvíjejí, ale vzhledem k úspěchu technologií druhé vrstvy pro škálování exekuce transakcí, se přesunuly na hledání optimálního způsobu, jak distribuovat zátěž, kterou způsobuje uchovávání komprimovaných calldat z kontraktů rollupů, což umožní exponenciální růst kapacity sítě. To by nebylo možné bez předchozího přechodu na důkaz podílem.
+
+
+ Tříštění
+
+
+## Další informace {#further-reading}
+
+
+
+
diff --git a/public/content/translations/cs/roadmap/merge/issuance/index.md b/public/content/translations/cs/roadmap/merge/issuance/index.md
new file mode 100644
index 00000000000..6e97c1bd963
--- /dev/null
+++ b/public/content/translations/cs/roadmap/merge/issuance/index.md
@@ -0,0 +1,134 @@
+---
+title: Jak Sloučení ovlivnilo nabídku ETH
+description: Rozbor toho, jak Sloučení ovlivnilo nabídku ETH
+lang: cs
+---
+
+# Jak Sloučení ovlivnilo nabídku ETH {#how-the-merge-impacts-ETH-supply}
+
+Sloučení představovalo přechod sítě Ethereum z důkazu prací na důkaz podílem, který proběhl v září 2022. Způsob vydávání nových ETH do oběhu v této době prošel změnami. Dříve byly nové ETH vydávány ze dvou zdrojů: z exekuční vrstvy (tj. hlavní síť) a vrstvy konsenzu (tj. Řetězová vazba). Od Sloučení je na exekuční vrstvě vydávání nových ETH nulové. Pojďme si to vysvětlit.
+
+## Složky vydávání ETH {#components-of-eth-issuance}
+
+Nabídku ETH můžeme rozdělit na dvě hlavní složky: vydávání a pálení.
+
+**Vydávání** ETH je proces vytváření ETH, které předtím neexistovaly. K **pálení** ETH dochází, když se stávající ETH zničí a odstraní z oběhu. Míra vydávání a pálení se vypočítává na základě několika parametrů a rovnováha mezi nimi určuje výslednou míru inflace či deflace etheru.
+
+
+
+- Před přechodem na důkaz podílem bylo těžařům vydáváno přibližně 13 000 ETH/den.
+- Uzamykatelům je vydáváno přibližně 1 700 ETH/den, na základě přibližně 14 milionů celkově uzamčených ETH.
+- Přesná míra vydávání uzamčení se mění podle celkového množství uzamčených ETH.
+- **Od Sloučení se vydává pouze ~1 700 ETH/den, což snižuje celkové vydávání nových ETH o ~88 %**.
+- Pálení: Mění se podle poptávky sítě. - Pokud je průměrná cena paliva alespoň 16 gwei za daný den, nastává efektivní kompenzace právě těch ~1 700 ETH, které jsou vydávány validátorům, a směruje čistou inflaci ETH v daný den k nule nebo níže.
+
+
+
+## Před Sloučením (historicky) {#pre-merge}
+
+### Vydávání v exekuční vrstvě {#el-issuance-pre-merge}
+
+Za časů důkazu prací komunikovali těžaři pouze s exekuční vrstvou, a pokud byli první, kdo vyřešil další blok, byla jejich práce kompenzována blokovými odměnami. Od [vylepšení Constantinople](/history/#constantinople) v roce 2019 činila tato odměna 2 ETH na blok. Těžaři byli také odměňováni za zveřejňování [ommer](/glossary/#ommer) bloků, což byly platné bloky, které se neobjevily v nejdelším/kanonickém řetězci. Tyto odměny dosahovaly maximálně 1,75 ETH na ommer a těžaři je dostávali _navíc k_ odměně za kanonický blok. Proces těžby byl ekonomicky náročnou aktivitou, která v minulosti navíc vyžadovala vysokou úroveň vydávání ETH za účelem zachování udržitelnosti.
+
+### Vydávání ve vrstvě konsenzu {#cl-issuance-pre-merge}
+
+[Řetězová vazba](/history/#beacon-chain-genesis) byla spuštěna v roce 2020. Místo těžařů je zabezpečena validátory využívajícími důkaz podílem. Tento řetězec byl inicializován uživateli Etherea, kteří vkládali ETH jednosměrně do chytrého kontraktu na hlavní síti (exekuční vrstva), který Řetězová vazba sledovala a připsala uživateli stejné množství ETH na novém řetězci. Dokud nedošlo ke Sloučení, validátoři Řetězové vazby nezpracovávali transakce a v podstatě dosahovali shody ohledně samotného stavu poolu validátorů.
+
+Validátoři na Řetězové vazbě jsou za potvrzování stavu řetězce a navrhování bloků odměňováni v ETH. Odměny (nebo pokuty) jsou vypočítávány a rozdělovány každou epochu (každých 6,4 minuty) na základě výkonu validátorů. Odměny validátorům jsou **výrazně** menší než odměny za těžbu, které byly dříve vydávány v době důkazu prací (2 ETH každých ~13,5 sekundy), protože provoz validujícího uzlu není tak ekonomicky náročný, a proto nevyžaduje, a tím pádem ani neospravedlňuje, tak vysokou odměnu.
+
+### Systém vydávání před Sloučením {#pre-merge-issuance-breakdown}
+
+Celková nabídka ETH: **~120 520 000 ETH** (v době Sloučení v září 2022)
+
+**Vydávání v exekuční vrstvě:**
+
+- Odhadováno na 2,08 ETH každých 13,3 sekundy*: **~4 930 000** ETH vydáno za rok
+- Vedlo k inflaci **přibližně 4,09 %** (4,93 mil. za rok / 120,5 mil. celkem)
+- \*To zahrnuje 2 ETH za kanonický blok, plus průměrně 0,08 ETH za ommer bloky. Také pracuje s časovým úsekem 13,3 sekundy, což je základní cílový čas bloku bez jakéhokoli vlivu [bomby obtížnosti.](/glossary/#difficulty-bomb). ([Vizte zdroje](https://bitinfocharts.com/ethereum/))
+
+**Vydávání ve vrstvě konsenzu:**
+
+- Při použití 14 000 000 celkově uzamčených ETH je míra vydávání ETH přibližně 1700 ETH/den ([Vizte zdroj](https://ultrasound.money/))
+- Výsledkem je **~620 500** ETH vydaných za rok
+- To vedlo k inflaci **přibližně 0,52 %** (620,5 tis. za rok / 119,3 mil. celkem)
+
+
+Celková anualizovaná míra vydávání (před Sloučením): ~4,61 % (4,09 % + 0,52 %)
+~88,7 % vydávaných ETH směřovalo k těžařům v exekuční vrstvě (4,09 / 4,61 * 100)
+~11,3 % bylo vydáváno uzamykatelům ve vrstvě konsenzu (0,52 / 4,61 * 100)
+
+
+## Po Sloučení (současnost) {#post-merge}
+
+### Vydávání v exekuční vrstvě {#el-issuance-post-merge}
+
+Vydávání ETH v exekuční vrstvě je od Sloučení nulové. Podle nových pravidel konsenzu už důkaz prací není platným způsobem tvorby bloků. Veškerá činnost v exekuční vrstvě je seskupena do „beacon bloků“, které jsou potvrzovány a publikovány validátory důkazu podílem. Odměny za potvrzování a publikování beacon bloků jsou evidovány samostatně ve vrstvě konsenzu.
+
+### Vydávání ve vrstvě konsenzu {#cl-issuance-post-merge}
+
+Vydávání ETH ve vrstvě konsenzu pokračuje stejně jako před Sloučením, s malými odměnami pro validátory, kteří potvrzují a navrhují bloky. Odměny validátorů se nadále připisují k jejich _zůstatkům_ spravovaným ve vrstvě konsenzu. Na rozdíl od aktuálních účtů („exekučních“ účtů), které mohou provádět transakce na hlavní síti, tyto samostatné účty Etherea nemohou volně transakčně interagovat s jinými účty Etherea. Prostředky na těchto účtech lze stáhnout pouze na jednu specifikovanou exekuční adresu.
+
+Od vylepšení Shanghai/Capella, které proběhlo v dubnu 2023, je umožněno uzamykatelům vybírat tyto prostředky. Uzamykatelé mají motivaci k vybrání svých _výdělků/odměn (přebytek nad 32 ETH)_, protože tyto prostředky nijak nepřispívají k váze jejich uzamčení (která se maximálně rovná 32).
+
+Uzamykatelé se také mohou rozhodnout odejít a vybrat celý zůstatek. Aby bylo zajištěno, že Ethereum zůstane stabilní, je počet validátorů, kteří mohou odejít současně, omezen.
+
+Přibližně 0,33 % z celkového počtu validátorů může odejít během jednoho dne. Ve výchozím nastavení mohou odejít čtyři (4) validátoři během jedné epochy (každých 6,4 minuty, tedy 900 za den). Další jeden (1) validátor dostane povolení k odchodu na každých 65 536 (216) dalších validátorů nad 262 144 (218). Například, s více než 327 680 validátory může odejít pět (5) validátorů během jedné epochy (1 125 za den). Šest (6) dostane povolení s celkovým počtem aktivních validátorů nad 393 216 a tak dále.
+
+Čím více validátorů vybírá své prostředky, tím více je maximální počet odcházejících validátorů postupně snižován na minimálně čtyři, aby se úmyslně zabránilo hromadnému destabilizujícímu vybírání velkého množství uzamčených ETH současně.
+
+### Rozbor inflace po Sloučení {#post-merge-inflation-breakdown}
+
+- Celková nabídka ETH: **~120 520 000 ETH** (v době Sloučení v září 2022)
+- Vydávání v exekuční vrstvě: **0**
+- Vydávání ve vrstvě konsenzu: Stejné jako výše, roční míra vydávání (při celkovém uzamčení 14 milionů ETH) je **~0,52 %**
+
+
+Celková roční míra vydávání: ~0,52 %
+Čisté snížení ročního vydávání ETH: ~88,7 % ((4,61 % - 0,52 %) / 4,61 % * 100)
+
+
+## Pálení {#the-burn}
+
+Opakem vydávání ETH je stupeň, při které je ETH pálen. Aby byla transakce na Ethereu provedena, musí být zaplacen minimální poplatek (známý jako „základní poplatek“), který se neustále mění (blok od bloku) v závislosti na aktivitě sítě. Poplatek je placen v ETH a je _nezbytný_ pro to, aby byla transakce považována za platnou. Tento poplatek je během transakčního procesu _pálen_, čímž se odstraňuje z oběhu.
+
+
+Pálení poplatků bylo spuštěno s vylepšením London v srpnu 2021 a od Sloučení zůstává beze změn.
+
+
+Kromě pálení poplatků zavedeného s vylepšením London mohou validátoři také dostávat pokuty za to, že jsou offline, nebo hůře, mohou být „potrestáni“ za porušení specifických pravidel, které ohrožuje bezpečnost sítě. Tyto pokuty vedou k odečtení ETH od zůstatku validátora, aniž by byly převedeny jako odměna jinému účtu, čímž se efektivně pálí/odstraňují z oběhu.
+
+### Výpočet průměrné ceny paliva za účelem deflace {#calculating-average-gas-price-for-deflation}
+
+Jak bylo uvedeno výše, množství vydaného ETH za daný den závisí na celkovém uzamčeném ETH. V době psaní tohoto textu je to přibližně 1700 ETH/den.
+
+Abychom určili průměrnou cenu paliva potřebnou k úplné kompenzaci vydávání za dané 24hodinové období, začneme výpočtem celkového počtu bloků za den, při blokovém čase 12 sekund:
+
+- `(1 blok za 12 sekund) * (60 sekund za jednu minutu) = 5 bloků za jednu minutu`
+- `(5 bloků za jednu minutu) * (60 minut za jednu hodinu) = 300 bloků za jednu hodinu`
+- `(300 bloků za jednu hodinu) * (24 hodin za jeden den) = 7200 bloků za jeden den`
+
+Každý blok cílí na `15x10^6 paliva za blok` ([více o palivu](/developers/docs/gas/)). Použitím tohoto výpočtu můžeme stanovit průměrnou cenu paliva (v jednotkách gwei za jednotku paliva) potřebnou k vyrovnání vydávání, pokud je dané denní vydávání ETH v objemu 1700 ETH:
+
+- `7200 bloků za jeden den * 15x10^6 paliva za jeden blok * `**`Y gwei za jedno palivo`**` * 1 ETH/ 10^9 gwei = 1700 ETH za jeden den`
+
+Řešení pro `Y`:
+
+- `Y = (1700(10^9))/(7200 * 15(10^6)) = (17x10^3)/(72 * 15) = 16 gwei` (zaokrouhleno na dvě číslice)
+
+Dalším způsobem, jak upravit tento poslední krok, by bylo nahradit číslo `1700` proměnnou `X`, která představuje denní vydávání ETH, a zjednodušit zbytek na:
+
+- `Y = (X(10^3)/(7200 * 15)) = X/108`
+
+To můžeme zjednodušit a zapsat jako funkci `X`:
+
+- `f(X) = X/108`, kde `X` je denní vydávání ETH, a `f(X)` představuje cenu gwei za jednotku paliva potřebnou k vyrovnání veškerého nově vydaného ETH.
+
+Například, pokud `X` (denní vydávání ETH) vzroste na 1800 na základě celkového uzamčeného ETH, `f(X)` (gwei potřebný k vyrovnání veškerého vydávání) by pak byl `17 gwei` (za použití dvou platných číslic)
+
+## Další informace {#further-reading}
+
+- [Sloučení](/roadmap/merge/)
+- [Ultrasound.money](https://ultrasound.money/) - _Dashboardy dostupné k vizualizaci vydávání a pálení ETH v reálném čase_
+- [Charting Ethereum Issuance](https://www.attestant.io/posts/charting-ethereum-issuance/) - _Jim McDonald 2020_
diff --git a/public/content/translations/cs/roadmap/statelessness/index.md b/public/content/translations/cs/roadmap/statelessness/index.md
index 4d3c7e0bff9..7ab7f1ea8cb 100644
--- a/public/content/translations/cs/roadmap/statelessness/index.md
+++ b/public/content/translations/cs/roadmap/statelessness/index.md
@@ -16,7 +16,7 @@ Levnější pevné disky mohou být použity k ukládání starších dat, ale t
Existuje několik způsobů, jak snížit množství dat, která musí každý uzel ukládat, přičemž každý z nich vyžaduje odlišný rozsah aktualizace základního protokolu Etherea:
-- **Expirace historie**: Dovoluje uzlům odstraňovat stavová data starší než X bloků, aniž by se změnil způsob, jakým klienty Etherea s těmito daty pracují.
+- **Expirace historie**: Dovoluje uzlům odstraňovat stavová data starší než X bloků, aniž by se změnil způsob, jakým klienti Etherea s těmito daty pracují.
- **Vypršení stavu**: Dovoluje stavovým datům, která nejsou často používána, aby se stala neaktivními. Neaktivní data mohou klienty ignorovat, dokud nebudou znovu oživena.
- **Slabá bezstavovost**: Pouze producenti bloků potřebují přístup k plným stavovým datům, ostatní uzly mohou ověřovat bloky bez místní stavové databáze.
- **Silná bezstavovost**: Žádné uzly nepotřebují přístup k úplným stavovým datům.
diff --git a/public/content/translations/cs/roadmap/verkle-trees/index.md b/public/content/translations/cs/roadmap/verkle-trees/index.md
index 6c93905ec10..7758181a010 100644
--- a/public/content/translations/cs/roadmap/verkle-trees/index.md
+++ b/public/content/translations/cs/roadmap/verkle-trees/index.md
@@ -49,9 +49,9 @@ Verkle trees jsou `(key, value)`, tedy páry klíč-hodnota, kde klíče jsou 32
Testovací sítě Verkle tree jsou již v provozu, ale vyžadují značné aktualizace klientů, které podporují Verkle stromy. I vy můžete pomoci urychlit tento vývoj tím, že spustíte své kontrakty na testnetech nebo spustíte testnetové klienty.
-[Prozkoumejte testovací síť Verkle Gen Devnet 2](https://verkle-gen-devnet-2.ethpandaops.io/)
+[Prozkoumejte testovací síť Verkle Gen Devnet 6](https://verkle-gen-devnet-6.ethpandaops.io/)
-[Sledujte, jak Guillaume Ballet vysvětluje testovací síť Condrieu Verkle](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (poznámka: testovací síť Condrieu byla důkaz prací a nyní byla nahrazen testovací sítí Verkle Gen Devnet 2).
+[Sledujte, jak Guillaume Ballet vysvětluje testovací síť Condrieu Verkle](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (poznámka: testovací síť Condrieu byla důkaz prací a nyní byla nahrazena testovací sítí Verkle Gen Devnet 6).
## Další informace {#further-reading}
@@ -60,7 +60,7 @@ Testovací sítě Verkle tree jsou již v provozu, ale vyžadují značné aktua
- [Guillaume Ballet vysvětluje Verkle trees na ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
- [„Jak Verkle trees činí Ethereum štíhlejším a efektivnějším“ od Guillauma Balleta na Devconu 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
- [Piper Merriam o bezstavových klientech z ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4)
-- [Dankrad Feist vysvětluje Verkle trees a bezstavovost v podcastu Zero Knowledge](https://zeroknowledge.fm/episode-202-stateless-ethereum-verkle-tries-with-dankrad-feist/)
+- [Dankrad Feist vysvětluje Verkle trees a bezstavovost v podcastu Zero Knowledge](https://zeroknowledge.fm/podcast/202/)
- [Vitalik Buterin o Verkle trees](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
- [Dankrad Feist o Verkle trees](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
- [Dokumentace k EIP Verkle trees](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
diff --git a/public/content/translations/cs/scaling/index.md b/public/content/translations/cs/scaling/index.md
new file mode 100644
index 00000000000..716562e1ad2
--- /dev/null
+++ b/public/content/translations/cs/scaling/index.md
@@ -0,0 +1,51 @@
+---
+title: Škálování Etherea
+description: Rollupy združují transakce mimo blockchain, čímž uživateli snižují náklady za transkaci. Současný způsob, jakým rollupy zpracovávají data, je však příliš drahý, což limituje, nakolik mohou transakce zlevnit. Tento problém řeší Proto-Danksharding.
+lang: cs
+image: /images/roadmap/roadmap-transactions.png
+alt: "Plán Etherea"
+template: roadmap
+---
+
+Ethereum je škálováno pomocí [druhé vrstvy](/layer-2/#rollups) (řešení též známého pod pojmem „rollupy“), která sdružuje transakce a výstup odesílá do Etherea. Přestože jsou rollupy až osmkrát levnější než hlavní síť Ethereum, je možné je dále optimalizovat a snížit tak náklady pro koncové uživatele. Rollupy spoléhají na některé centralizované komponenty, které mohou vývojáři v budoucnu odstranit.
+
+
+
+ - Dnešní rollupy jsou přibližně 5x až 20x levnější než 1. vrstva Etherea
+ - ZK-rollupy brzy sníží poplatky asi 40x až 100x
+ - ZK-rollupy brzy sníží poplatky asi 40x až 100x
+ - Pro uživatele to bude znamenat, že se cena za provedení transakce ustálí na hodnotě, která odpovídá přibližně 0,001 USD
+
+
+
+## Zlevnění dat {#making-data-cheaper}
+
+Rollupy sdružují velké množství transakcí, provádějí je a výsledky zasílají do Etherea. Tento postup generuje mnoho dat, která musí být otevřeně dostupná, aby kdokoli mohl provádět transakce a ověřit čestnost operátora rollupu. Pokud někdo zjistí nějakou nesrovnalost, může vznést námitku.
+
+### Proto-Danksharding {#proto-danksharding}
+
+Rollupová data jsou permanentně uložena na Ethereu, což je drahé. Více než 90 % transakčních nákladů, které uživatelé platí za použití rollupů, je využito na uložení dat. Abychom snížili transakční náklady, můžeme data přesunout do nového dočasného úložiště zvaného „blob“. Bloby jsou levnější, protože nejsou permanentní; jakmile nebudou potřeba, budou z Etherea odstraněny. Dlouhodobé ukládání dat rollupů je odpovědností lidí, kteří je potřebují, jako jsou operátoři rollupů, burzy, indexovací služby atd. Přidání blobových transakcí do infrastruktury Etherea je součástí vylepšení známého jako „Proto-Danksharding“.
+
+Pomocí Proto-Dankshardingu je možné do bloků na Ethereu přidávat spoustu blobů. To umožňuje další podstatné zvýšení škálovatelnosti (více než >100x) Etherea a zmenšení transakčních nákladů.
+
+### Danksharding {#danksharding}
+
+Druhá fáze rozšiřování blobových dat je komplikovaná, protože vyžaduje nové metody kontroly dostupnosti souhrnných dat v síti. Také se v otázce oddělení odpovědnosti za vytváření bloků a návrhy [bloků](/glossary/#block) spoléhá na [validátory](/glossary/#validator). To také vyžaduje vývoj řešení kryptografického důkazu, že validátoři skutečně ověřili malé podmnožiny blobových dat.
+
+Tento druhý krok je známý jako [„Danksharding“](/roadmap/danksharding/). Do úplné implementace pravděpodobně **zbývá několik let**. Danksharding spoléhá na další vývoj, jako je [oddělení tvorby bloků a návrhů bloků](/roadmap/pbs) a nové návrhy sítí, které umožňují efektivně potvrdit dostupnost dat náhodným vzorkováním několika kilobajtů najednou, známým jako [vzorkování dostupnosti dat (DAS)](/developers/docs/data-availability).
+
+Více o Dankshardingu
+
+## Decentralizující rollupy {#decentralizing-rollups}
+
+[Rollupy](/layer-2) již v současné době pomáhají škálovat Ethereum. [Rozsáhlý ekosystém rollupových projektů](https://l2beat.com/scaling/tvl) umožňuje uživatelům provádět transakce rychle a levně s řadou bezpečnostních záruk. Rollupy ale byly zavedeny pomocí centralizovaných sekvencerů (to jsou počítače, které provádějí veškeré zpracování a agregaci transakcí před jejich odesláním do Etherea). To je řešení s potenciální cenzurou, protože operátory sekvenceru mohou být sankcionovány, podplaceny nebo jinak kompromitovány. [Rollupy se zároveň liší](https://l2beat.com) ve způsobu, jakým ověřují příchozí data. Nejlepším způsobem je, že „prověřovatelé“ předkládají [důkazy o podvodu](/glossary/#fraud-proof) nebo důkazy o platnosti, ale ne všechny rollupy už toto umí. Dokonce i ty, které používají důkazy o platnosti/podvodu, používají jen malou skupinu známých důkazů. Proto je dalším kritickým krokem při škálování Etherea rozdělení odpovědnosti za provoz sekvencerů a prověřovatelů mezi více entit.
+
+Více o rollupech
+
+## Aktuální průběh {#current-progress}
+
+Proto-Danksharding je první z bodů plánu, které budou implementovány v rámci vylepšení sítě Cancun-Deneb („Dencun“) v březnu 2024. **Úplný Danksharding bude pravděpodobně implementován za několik let**. Nejprve je třeba spustit několik dalších bodů plánu vylepšení Etherea. Decentralizace rollupové infrastruktury bude pravděpodobně postupný proces – existuje mnoho různých rollupů, které budují mírně odlišné systémy a budou se plně decentralizovat různým tempem.
+
+[Více o vylepšení sítě s názvem Dencun](/roadmap/dencun/)
+
+
diff --git a/public/content/translations/cs/security/index.md b/public/content/translations/cs/security/index.md
index 858d5d3b9c2..3cedcdf0d8e 100644
--- a/public/content/translations/cs/security/index.md
+++ b/public/content/translations/cs/security/index.md
@@ -1,293 +1,48 @@
---
-title: Bezpečnost a předcházení podvodům v Ethereu
-description: Jak zůstat v bezpečí na Ethereu
+title: Bezpečnější Ethereum
+description: Ethereum je nejbezpečnější a nejvíce decentralizovaná platforma pro chytré kontrakty, která existuje. Nicméně stále je možné ho vylepšit, aby zůstalo odolné vůči jakékoliv úrovni útoků i v daleké budoucnosti.
lang: cs
+image: /images/roadmap/roadmap-security.png
+alt: "Plán Etherea"
+template: roadmap
---
-# Bezpečnost a předcházení podvodům v Ethereu {#introduction}
+**Ethereum už je velmi bezpečná** a decentralizovaná platforma pro [chytré kontrakty](/glossary/#smart-contract). Nicméně stále je možné ho vylepšit, aby zůstalo odolné vůči jakémukoliv druhu útoků i v daleké budoucnosti. To zahrnuje jemné změny v tom, jak se [klienti na Ethereu](/glossary/#consensus-client) chovají ke konkurenčním [blokům](/glossary/#block), stejně jako zrychlení procesu, kdy síť považuje bloky za [„finalizované“](/developers/docs/consensus-mechanisms/pos/#finality) (což znamená, že je nelze změnit bez extrémních ekonomických ztrát pro útočníka).
-Rostoucí zájem o kryptoměny s sebou přináší rostoucí riziko ze strany podvodníků a hackerů. Tento článek uvádí některé osvědčené postupy ke zmírnění těchto rizik.
+Existují také vylepšení, která ztíží cenzuru transakcí tím, že navrhovatelé bloků nebudou mít přístup k aktuálnímu obsahu svých bloků, a další nové způsoby, jak identifikovat, kdy se klient snaží blockchain cenzorovat. Tyto změny vylepší protokol [důkaz podílem](/glossary/#pos) tak, aby uživatelé – jak jednotlivci, tak firmy – měli okamžitou důvěru v aplikace, data a aktiva na Ethereu.
-
+## Uzamčení výběrů {#staking-withdrawals}
-## Krypto bezpečnost v kostce {#crypto-security}
+Přechod z [důkazu prací](/glossary/#pow) na důkaz podílem začal tím, že první uživatelé na Ethereu „uzamkli“ své ETH do depozitního kontraktu. Tyto ETH jsou používány k ochraně sítě. 12. dubna 2023 byla provedena druhá aktualizace, která umožňuje výběr uzamčeného ETH. Od té doby mohou validátoři uzamykat nebo vybírat ETH bez dřívějších omezení.
-### Rozšiřte své znalosti {#level-up-your-knowledge}
+Další informace o výběrech
-Nedorozumění ohledně toho, jak kryptoměny fungují, mohou vést k nákladným chybám. Např. pokud se někdo vydává za pracovníka zákaznického servisu, který vám může vrátit ztracené ETH výměnou za vaše privátní klíče, využívá toho, že lidé nerozumí tomu, že Ethereum je decentralizovaná síť, která takovou funkčnost nemá. Vzdělávat se v oblasti fungování Etherea se vyplatí.
+## Obrana proti útokům {#defending-against-attacks}
-
- Co je to Ethereum?
-
+Protokol důkaz podílem na Ethereu je stále možné vylepšovat. Jedno z vylepšení je známé jako [view-merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739) – bezpečnější algoritmus pro výběr [větve](/glossary/#fork), který ztěžuje určité sofistikované typy útoků.
-
- Co je Ether?
-
-
+Snížení času potřebného k [finalizaci](/glossary/#finality) bloků by poskytlo lepší uživatelskou zkušenost a zabránilo sofistikovaným „reorg“ útokům, při kterých se útočníci snaží přeorganizovat nejnovější bloky za účelem zisku nebo cenzury transakcí. [**Finalizace v jednom slotu (single slot finality, tzv. SSF)**](/roadmap/single-slot-finality/) je **způsob, jak minimalizovat zpoždění finalizace**. V současnosti je časové okno bloků 15 minut, během kterých by teoreticky útočník mohl přesvědčit další validátory, aby bloky přeorganizovali. V případě SSF je to 0 minut. Uživatelé, od jednotlivců po aplikace a burzy, benefitují z rychlého ujištění, že jejich transakce nebudou zrušeny, a síť benefituje z toho, že zamezí celé řadě útoků.
-## Zabezpečení peněženky {#wallet-security}
+Další informace o finalizaci v jednom slotu
-### Nesdílejte své privátní klíče {#protect-private-keys}
+## Obrana proti cenzuře {#defending-against-censorship}
-**Nikdy, za žádných okolností, nesdílejte své privátní klíče!**
+Decentralizace zabraňuje tomu, aby jednotlivci nebo malé skupiny [validátorů](/glossary/#validator) získali příliš velký vliv. Nové technologie uzamčení mohou pomoci zajistit, že validátoři Etherea zůstanou co nejvíce decentralizovaní, a zároveň je chrání proti hardwarovým, softwarovým a síťovým poruchám. Mezi ně patří i software, který sdílí odpovědnosti validátorů napříč několika [síťovými uzly](/glossary/#node). Tomu se říká **distribuovaná validační technologie (DVT)**. [Vkladové fondy](/glossary/#staking-pool) jsou motivovány k použití DVT, protože umožňuje více počítačům kolektivně se podílet na validaci, čímž zvyšuje zabezpečení a odolnost proti chybám. Také rozděluje klíče validátorů mezi několik systémů, místo aby jeden operátor provozoval několik validátorů. To ztěžuje nepoctivým operátorům koordinaci útoků na Ethereum. Celkově je cílem dosáhnout bezpečnostních výhod tím, že jsou validátoři provozováni jako _komunity_, nikoliv jako jednotlivci.
-Privátní klíč k vaší peněžence slouží jako heslo k vaší peněžence Ethereum. Je to jediná věc, která brání tomu, aby někdo, kdo zná adresu vaší peněženky, vybral z vašeho účtu veškerá aktiva!
+Další informace o technologie distribuovaných validátorů
-
- Co je Ethereum peněženka?
-
+Implementace **oddělení navrhovatele a stavitele bloků (proposer-builder separation, PBS)** výrazně zlepší vestavěné obranné mechanismy Etherea proti cenzuře. PBS umožňuje jednomu validátorovi vytvořit blok a jinému ho šířit po síti Ethereum. To zajišťuje, že zisky z algoritmů na maximalizaci zisku při vytváření bloků, které naprogramují profesionálové, jsou spravedlivěji rozděleny po celé síti, **čímž se zabraňuje koncentraci uzamčených prostředků** u nejvýkonnějších institucionálních uzamykatelů. Navrhovatel bloku si vybere nejziskovější blok, který mu nabídnul trh stavitelů bloků. Aby byl navrhovatel bloku schopen cenzurovat, musel by si ve většině případů vybrat méně ziskový blok, což by bylo **ekonomicky iracionální a také zřejmé ostatním validátorům** v síti.
-#### Nepořizujte si snímky obrazovky s bezpečnostními frázemi / privátními klíči {#screenshot-private-keys}
+Existují potenciální doplňky k PBS, jako jsou šifrované transakce a inkluzní seznamy, které by mohly dále zlepšit odolnost Etherea proti cenzuře. Tyto funkce činí stavitele i navrhovatele bloků slepými k aktuálním transakcím zahrnutým v jejich blocích.
-Pořízení snímku obrazovky s vašimi bezpečnostními frázemi nebo privátními klíči je může synchronizovat s poskytovatelem cloudových služeb, což by je mohlo zpřístupnit hackerům. Získání privátních klíčů z cloudu je běžným způsobem útoku hackerů.
+Další informace o oddělení navrhovatele a stavitele bloků
-### Používejte hardwarovou peněženku {#use-hardware-wallet}
+## Ochrana validátorů {#protecting-validators}
-Hardwarová peněženka poskytuje offline úložiště privátních klíčů. Je považována za nejbezpečnější variantu peněženky pro ukládání privátních klíčů: váš privátní klíč se nikdy nedotkne internetu a zůstává zcela lokálně ve vašem zařízení.
+Sofistikovaný útočník by mohl identifikovat budoucí validátory a spamovat je, aby jim zabránil v navrhování bloků; tomu se říká útok **odmítnutí služby (denial of service, DoS)**. Implementace [**tajného výběru lídrů (secret leader election, SLE)**](/roadmap/secret-leader-election) chrání proti tomuto typu útoku tím, že zabraňuje navrhovatelům bloků být známi předem. Toho je možné dosáhnout tak, že se konstantně promíchává sada kryptografických závazků reprezentujících kandidáty na navrhovatele bloků a implementuje jejich pořadí za účelem určení výběru validátora takovým způsobem, že pouze validátoři sami znají své pořadí předem.
-Uchovávání privátních klíčů offline výrazně snižuje riziko napadení, a to i v případě, že hacker získá kontrolu nad vaším počítačem.
+Další informace o tajném výběru lídrů
-#### Vyzkoušejte hardwarovou peněženku: {#try-hardware-wallet}
+## Aktuální průběh {#current-progress}
-- [Ledger](https://www.ledger.com/)
-- [Trezor](https://trezor.io/)
-
-### Dvakrát zkontrolujte transakce před odesláním {#double-check-transactions}
-
-Častou chybou je náhodné odeslání kryptoměn na nesprávnou adresu peněženky. **Transakce odeslaná na Ethereu je nevratná.** Pokud neznáte vlastníka adresy a nepřesvědčíte ho, aby vám prostředky vrátil, nebudete schopni je získat zpět.
-
-Před odesláním transakce se vždy ujistěte, že adresa, na kterou odesíláte, přesně odpovídá adrese požadovaného příjemce. Při interakci s chytrým kontraktem je nejlepší si před podpisem přečíst zprávu o transakci.
-
-### Nastavte si u chytrých kontraktů limity převodů {#spend-limits}
-
-Při interakci s chytrými kontrakty nepovolujte neomezené limity převodů. Neomezené převody by mohly chytrému kontraktu umožnit vyčerpat vaši peněženku. Místo toho nastavte limity převodů pouze na částku nezbytnou pro danou transakci.
-
-Mnoho Ethereum peněženek nabízí ochranu limitů, která chrání před vybíráním peněz z účtů.
-
-[Jak zrušit chytrý přístup k Vašim krypto fondům](/guides/how-to-revoke-token-access/)
-
-
-
-## Běžné podvody {#common-scams}
-
-Podvodníky nelze zcela zastavit, ale můžeme jim ztížit situaci tím, že budeme znát většinu používaných technik. Těchto podvodů existuje mnoho, ale obecně se řídí stejnými základními vzorci. Když už nic jiného, nezapomeňte:
-
-- být vždy skeptičtí
-- že vám nikdo nedá ETH zdarma ani se slevou
-- že nikdo nepotřebuje přístup k vašim privátním klíčům nebo osobním údajům
-
-### Reklamní phishing na Twitteru {#ad-phishing}
-
-
-
-Existuje způsob, jak podvrhnout funkci náhledu (rozbalení) odkazu na Twitteru (také známém jako X) za účelem oklamání uživatele. Cílem je vyvolat v uživatelích dojem, že navštěvují legitimní web. Tato technika využívá mechanismus Twitteru pro generování náhledů URL adres sdílených v tweetech a ukazuje náhled například _z ethereum.org_ (viz výše), i když jsou tyto odkazy ve skutečnosti přesměrovány na škodlivý web.
-
-Vždy se ujistěte, že jste na správné doméně, obzváště poté, co kliknete na odkaz.
-
-[Další informace](https://harrydenley.com/faking-twitter-unfurling).
-
-### Rozdávací podvod {#giveaway}
-
-Jedním z nejčastějších podvodů v oblasti kryptoměn je tzv. rozdávací podvod. Rozdávací podvod může mít mnoho podob, ale obecně funguje tak, že pokud pošlete ETH na uvedenou adresu peněženky, dostanete své ETH zpět, ale navíc zdvojnásobené. *Z tohoto důvodu je také známý jako podvod 2 za 1.*
-
-Tyto podvody obvykle stanovují omezený čas pro možnost nároku na výhru, aby vytvořily falešný pocit naléhavosti.
-
-### Podvody na sociálních médiích {#social-media-hacks}
-
-K významnému případu došlo v červenci 2020, kdy byly nabourány účty významných osobností a organizací na Twitteru. Hacker zároveň na nabouraných účtech zveřejnil nabídku na rozdávání bitcoinů. Přestože byly klamavé tweety rychle zaznamenány a smazány, hackerům se přesto podařilo uniknout s 11 bitcoiny (v září 2021 to bylo 500 000 dolarů).
-
-
-
-### Rozdávání dárků od celebrit {#celebrity-giveaway}
-
-Další častou formou podvodu je rozdávání dárků od celebrit. Podvodníci vezmou nahraný videorozhovor nebo konferenční přednášku celebrity a živě ji přenášejí na YouTube, aby to vypadalo, že celebrita poskytla živý videorozhovor a podpořila rozdávání kryptoměn.
-
-Nejčastěji je v tomto podvodu využíván Vitalik Buterin, ale i mnoho dalších významných osobností působících v oblasti kryptoměn (např. Elon Musk nebo Charles Hoskinson). Zahrnutí známé osoby dává podvodníkům pocit legitimity (vypadá to pochybně, ale Vitalik je zapojen, takže to musí být v pořádku!).
-
-**Rozdávání jsou vždycky podvody. Pokud na tyto účty pošlete své prostředky, navždy o ně přijdete.**
-
-
-
-### Podvody s podporou {#support-scams}
-
-Kryptoměny jsou relativně mladou a nepochopenou technologií. Častým podvodem, který toho využívá, je podvod s podporou, kdy se podvodníci vydávají za pracovníky podpory populárních peněženek, burz nebo blockchainů.
-
-Velká část diskuzí o Ethereu se odehrává na Discordu. Podvodníci obvykle najdou svůj cíl tak, že vyhledají dotazy na podporu ve veřejných discordových kanálech a poté tazateli pošlou soukromou zprávu s nabídkou podpory. Vybudováním důvěry se vás podvodníci snaží přimět k tomu, abyste jim prozradili své privátní klíče nebo poslali své finanční prostředky do jejich peněženek.
-
-
-
-Obecně platí, že zaměstnanci s vámi nikdy nebudou komunikovat soukromými, neoficiálními kanály. Při žádosti o podporu je třeba mít na paměti pár jednoduchých věcí:
-
-- Nikdy nesdílejte své privátní klíče, bezpečnostní fráze ani hesla
-- Nikdy nikomu neumožňujte vzdálený přístup k vašemu počítači
-- Nikdy nekomunikujte mimo kanály určené organizací
-
-
-
- Pozor: ačkoli k podvodům s podporou běžně dochází na Discordu, mohou se vyskytovat i v jiných chatovacích aplikacích, kde se diskutuje o kryptoměnách, včetně e-mailu.
-
-
-
-### Podvod s 'Eth2' tokenem {#eth2-token-scam}
-
-Před [Sloučením](/roadmap/merge/) využili podvodníci zmatku kolem termínu "Eth2" a snažili se přimět uživatele, aby vyměnili své ETH za token "ETH2". Žádný "ETH2" neexistuje a žádný jiný legitimní token nebyl se Sloučením zaveden. ETH, které jste vlastnili před Sloučením, jsou stále stejné ETH. Pro přechod z důkazu prací na důkaz podílem **není třeba provádět žádnou akci týkající se vašeho ETH**.
-
-Podvodníci se mohou vydávat za "podporu" a tvrdit vám, že pokud jim dáte vaše ETH, dostanete zpět "ETH2". Neexistuje žádná [oficiální podpora Etherea](/community/support/) ani žádný nový token. Nikdy nikomu nesdělujte bezpečnostní frázi vaší peněženky.
-
-_Poznámka: Existují odvozené tokeny/tickery, které mohou představovat podílové ETH (tj. rETH od Rocket Pool, stETH od Lido, ETH2 od Coinbase), ale není třeba na ně "migrovat."_
-
-### Phishingové podvody {#phishing-scams}
-
-Dalším stále častějším úhlem pohledu, který podvodníci využívají k pokusu o krádež peněz z vaší peněženky, jsou phishingové podvody.
-
-Některé phishingové e-maily vyzývají uživatele, aby klikli na odkazy, které je přesměrují na falešné webové stránky a požádají je o zadání jejich bezpečnostní fráze, obnovení hesla nebo odeslání ETH. Jiné vás mohou požádat, abyste nevědomky nainstalovali malware, který infikuje váš počítač a umožní podvodníkům přístup k souborům vašeho počítače.
-
-Pokud obdržíte e-mail od neznámého odesílatele, nezapomeňte:
-
-- Nikdy neotvírejte odkazy nebo přílohy z e-mailových adres, které neznáte
-- Nikdy nikomu neprozrazujte své osobní údaje ani hesla
-- Mažte e-maily od neznámých odesílatelů
-
-[Další informace o tom, jak se vyhnout phishingovým podvodům](https://support.mycrypto.com/staying-safe/mycrypto-protips-how-not-to-get-scammed-during-ico)
-
-### Podvody s kryptomakléři {#broker-scams}
-
-Podvodní kryptomakléři tvrdí, že jsou specializovaní makléři s kryptoměnami, kteří vám nabídnou, že převezmou kontrolu nad vašimi penězi a investují je za vás. Poté, co podvodník obdrží vaše finanční prostředky, vás může vést dál a požádat vás o zaslání dalších prostředků, abyste nepřišli o další investiční zisky, nebo může úplně zmizet.
-
-Tito podvodní makléři vyhledávají své cíle využíváním falešných účtů na YouTube a tím, že začínají zdánlivě přirozené konverzace o "makléři". Tyto konverzace jsou často vysoce hodnocené, aby se zvýšila jejich legitimita, ale všechna hodnocení pocházejí od robotů.
-
-**Neumožňujte cizím lidem na internetu, aby za vás investovali. Přijdete o své krypto.**
-
-
-
-### Podvody s kryptotěžebními pooly {#mining-pool-scams}
-
-Od září 2022 již těžba na Ethereu není možná. Podvody s těžebními pooly však stále existují. Podvody s těžebními pooly spočívají v tom, že vás nevyžádaně kontaktují lidé, kteří tvrdí, že vstupem do těžebního Ethereum poolu můžete dosáhnout vysokých zisků. Podvodník bude vznášet nároky a zůstane s vámi v kontaktu tak dlouho, jak bude potřeba. Podvodník se vás v podstatě bude snažit přesvědčit, že když se připojíte k těžebnímu poolu na Ethereu, budou vaše kryptoměny použity k vytvoření ETH a budou vám vyplaceny dividendy ve formě ETH. Poté uvidíte, že vaše kryptoměna přináší malé výnosy. Je to jen návnada, abyste investovali více. Nakonec budou všechny vaše finanční prostředky odeslány na neznámou adresu a podvodník buď zmizí, nebo v některých případech zůstane v kontaktu, jak se stalo v jednom z nedávných případů.
-
-Sečteno a podtrženo, buďte obezřetní vůči lidem, kteří vás kontaktují na sociálních sítích a žádají vás o účast v těžebním poolu. Jakmile o kryptoměny přijdete, jsou fuč.
-
-Několik věcí k zapamatování:
-
-- Dávejte si pozor, aby vás někdo nekontaktoval ohledně způsobů, jak vydělat peníze na vašich kryptoměnách
-- Udělejte si průzkum o stakování, likvidních poolech nebo jiných způsobech investování vašeho krypta
-- Málokdy, pokud vůbec, jsou takové systémy legitimní. Pokud by tomu tak bylo, pravděpodobně by se staly mainstreamem a vy byste o nich určitě slyšeli.
-
-[Muž přišel o 200 tisíc dolarů při podvodu s těžebním poolem](https://www.reddit.com/r/CoinBase/comments/r0qe0e/scam_or_possible_incredible_payout/)
-
-### Airdropové podvody {#airdrop-scams}
-
-Airdropové podvody spočívají v tom, že podvodný projekt vám do peněženky airdropne aktivum (NFT, token) a pošle vás na podvodnou webovou stránku, kde si ho můžete vyzvednout. Při pokusu o vyzvednutí budete vyzváni, abyste se přihlásili pomocí vaší Ethereum peněženky a "schválili" transakci. Tato transakce kompromituje váš účet tím, že podvodníkovi odešle vaše veřejné a privátní klíče. Alternativní forma tohoto podvodu může spočívat v potvrzení transakce, která odešle finanční prostředky na účet podvodníka.
-
-[Více o airdropových podvodech](https://www.youtube.com/watch?v=LLL_nQp1lGk)
-
-
-
-## Bezpečnost na internetu v kostce {#web-security}
-
-### Používejte silná hesla {#use-strong-passwords}
-
-[Více než 80 % případů napadení účtu je důsledkem slabých nebo ukradených hesel](https://cloudnine.com/ediscoverydaily/electronic-discovery/80-percent-hacking-related-breaches-related-password-issues-cybersecurity-trends/). Pro zabezpečení účtů je nejlepší dlouhá kombinace znaků, čísel a symbolů.
-
-Běžnou chybou je použití kombinace několika běžných, souvisejících slov. Taková hesla nejsou bezpečná, protože jsou náchylná k jednoduché hackerské technice zvané slovníkový útok.
-
-```md
-Příklad slabého hesla: CuteFluffyKittens!
-
-Příklad silného hesla: ymv\*azu.EAC8eyp8umf
-```
-
-Další častou chybou je používání hesel, která lze snadno uhodnout nebo zjistit pomocí [sociálního inženýrství](https://wikipedia.org/wiki/Social_engineering_(security)). Použití jména vaší matky za svobodna, jmen dětí nebo domácích mazlíčků nebo dat narození v hesle není bezpečné a zvyšuje riziko prolomení hesla.
-
-#### Čeho se držet, když vytváříte heslo: {#good-password-practices}
-
-- Vytvářejte hesla tak dlouhá, jak to umožňuje generátor hesel nebo vyplňovaný formulář
-- Používejte kombinaci velkých a malých písmen, číslic a symbolů
-- V hesle nepoužívejte osobní údaje, například příjmení
-- Vyhněte se běžným výrazům
-
-[Více o vytváření silných hesel](https://terranovasecurity.com/how-to-create-a-strong-password-in-7-easy-steps/)
-
-### Používejte pro všechno jedinečná hesla {#use-unique-passwords}
-
-Silné heslo, které bylo odhaleno při úniku dat, již není silným heslem. Webová stránka [Have I Been Pwned](https://haveibeenpwned.com) vám umožňuje zkontrolovat, zda vaše účty byly zahrnuty do veřejných úniků dat. Pokud ano, **okamžitě tato hesla změňte**. Používání jedinečných hesel pro každý účet snižuje riziko, že se hackeři dostanou ke všem vašim účtům, pokud jedno z vašich hesel bude kompromitováno.
-
-### Používejte správce hesel {#use-password-manager}
-
-
-
- Správce hesel se postará o vytvoření silných a jedinečných hesel a jejich zapamatování! Vřele doporučujeme nějaký používat, většina z nich je zdarma!
-
-
-
-Pamatovat si silná a jedinečná hesla pro každý účet není ideální. Správce hesel nabízí bezpečné šifrované úložiště všech vašich hesel, ke kterým máte přístup prostřednictvím jednoho silného hlavního hesla. Při registraci do nové služby také doporučují silná hesla, abyste si nemuseli vytvářet vlastní. Mnoho správců hesel vám také oznámí, zda jste byli součástí úniku dat, a umožní vám změnit hesla dříve, než dojde ke škodlivým útokům.
-
-
-
-#### Vyzkoušejte správce hesel: {#try-password-manager}
-
-- [Bitwarden](https://bitwarden.com/)
-- [KeePass](https://keepass.info/)
-- [1Password](https://1password.com/)
-- Nebo se podívejte na další [doporučené správce hesel](https://www.privacytools.io/secure-password-manager)
-
-### Používejte dvoufaktorové ověření {#two-factor-authentication}
-
-Někdy můžete být požádáni o ověření své identity prostřednictvím jedinečných důkazů. Tyto důkazy jsou známé jako **faktory**. Tři hlavní faktory jsou:
-
-- Něco, co víte (jako třeba heslo nebo bezpečností otázku)
-- Něco, co jste (jako třeba otisk prstu nebo sken duhovky/obličeje)
-- Něco, co vlastníte (bezpečnostní klíč nebo ověřovací aplikace v telefonu)
-
-Používání **dvoufaktorového ověřování (2FA)** je dalším *bezpečnostním faktorem* pro vaše online účty. 2FA zajišťuje, že pouze mít vaše heslo nestačí k přístupu k účtu. Druhým faktorem je nejčastěji náhodný šestimístný kód, známý jako **jednorázové heslo (TOTP)**, ke kterému získáte přístup prostřednictvím autentizační aplikace, jako je Google Authenticator nebo Authy. Fungují jako "něco, co vlastníte", protože seed, který generuje časovaný kód, je uložen ve vašem zařízení.
-
-
-
- Poznámka: Používání 2FA pomocí SMS je náchylné k odcizení SIM karty a není bezpečné. Pro nejlepší ochranu používejte službu jako Google Authenticator nebo Authy.
-
-
-
-#### Bezpečnostní klíče {#security-keys}
-
-Bezpečnostní klíč je pokročilejší a bezpečnější typ dvoufaktorového ověřování (2FA). Bezpečnostní klíče jsou fyzická hardwarová ověřovací zařízení, která fungují podobně jako ověřovací aplikace. Nejbezpečnějším způsobem 2FA je použití bezpečnostního klíče. Mnoho těchto klíčů využívá standard FIDO Universal 2nd Factor (U2F). [Zjistěte více o FIDO U2F](https://www.yubico.com/authentication-standards/fido-u2f/).
-
-Podívejte se na další informace o 2FA:
-
-
-
-### Odinstalujte rozšíření prohlížeče {#uninstall-browser-extensions}
-
-Rozšíření pro prohlížeče, jako jsou rozšíření pro Chrome nebo doplňky pro Firefox, mohou zlepšit funkčnost prohlížeče, ale také přinášejí určitá rizika. Ve výchozím nastavení si většina rozšíření prohlížeče vyžádá přístup ke "čtení a změně dat webu", což jim umožňuje dělat s vašimi daty téměř cokoli. Rozšíření Chrome jsou vždy automaticky aktualizována, takže dříve bezpečné rozšíření může být později aktualizováno a obsahovat škodlivý kód. Většina rozšíření prohlížeče se nesnaží ukrást vaše data, ale měli byste vědět, že to mohou udělat.
-
-#### Zůstaňte v bezpečí tím, že: {#browser-extension-safety}
-
-- Budete instalovat rozšíření prohlížeče pouze z důvěryhodných zdrojů
-- Budete odstraňovat nepoužívaná rozšíření prohlížeče
-- Budete instalovat rozšíření Chrome lokálně, abyste zastavili automatické aktualizace (Pokročilé)
-
-[Další informace o rizicích rozšíření prohlížeče](https://www.kaspersky.co.uk/blog/browser-extensions-security/12750/)
-
-
-
-## Další informace {#further-reading}
-
-### Bezpečnost na internetu {#reading-web-security}
-
-- [Až 3 miliony zařízení infikovaných doplňky pro Chrome a Edge](https://arstechnica.com/information-technology/2020/12/up-to-3-million-devices-infected-by-malware-laced-chrome-and-edge-add-ons/) - _Dan Goodin_
-- [Jak vytvořit silné heslo — které nezapomenete](https://www.avg.com/en/signal/how-to-create-a-strong-password-that-you-wont-forget) - _AVG_
-- [Co je to bezpečnostní klíč?](https://help.coinbase.com/en/coinbase/getting-started/verify-my-account/security-keys-faq) - _Coinbase_
-
-### Krypto bezpečnost {#reading-crypto-security}
-
-- [Jak ochránit sebe a své prostředky](https://support.mycrypto.com/staying-safe/protecting-yourself-and-your-funds) - _MyCrypto_
-- [Bezpečnostní problémy v běžném kryptokomunikačním softwaru](https://docs.salusec.io/untitled/web3-penetration-test/risks-in-social-media) - _Salus_
-- [Bezpečnostní návod pro ťuňti, ale i pro chytré](https://medium.com/mycrypto/mycryptos-security-guide-for-dummies-and-smart-people-too-ab178299c82e) - _MyCrypto_
-- [Krypto bezpečnost: Hesla a Ověřování](https://www.youtube.com/watch?v=m8jlnZuV1i4) - _Andreas M. Antonopoulos_
-
-### Výuka o podvodech {#reading-scam-education}
-
-- [Návod: Jak rozpoznat podvodné tokeny](/guides/how-to-id-scam-tokens/)
-- [Jak zůstat v bezpečí: Časté podvody](https://support.mycrypto.com/staying-safe/common-scams) - _MyCrypto_
-- [Předcházení podvodům](https://bitcoin.org/en/scams) - _Bitcoin.org_
-- [Vlákno na Twitteru o běžných kryptophishingových e-mailech a zprávách](https://twitter.com/tayvano_/status/1516225457640787969) - _Taylor Monahan_
-
-
+**Bezpečnostní vylepšení zahrnutá v plánu jsou v pokročilých stádiích výzkumu**, ale nečeká se, že budou implementována v nejbližší době. Další kroky pro view-merge, PBS, SSF a SLE jsou dokončení jejich specifikace a zahájení vývoje prototypů.
diff --git a/public/content/translations/cs/smart-contracts/index.md b/public/content/translations/cs/smart-contracts/index.md
index 9c9236c6547..593c0235e85 100644
--- a/public/content/translations/cs/smart-contracts/index.md
+++ b/public/content/translations/cs/smart-contracts/index.md
@@ -69,7 +69,7 @@ Mohou provádět výpočty, vytvářet měnu, ukládat data, těžit [NFT](/glos
- [Stablecoiny](/stablecoins/)
- [Vytváření a distribuce jedinečných digitálních majetků](/nft/)
- [Automatická otevřená směnárna](/get-eth/#dex)
-- [Decentralizované počítačové hry](/dapps/?category=gaming#explore)
+- [Decentralizované počítačové hry](/apps/?category=gaming#explore)
- [Pojistná smlouva, která automaticky vyplatí plnění](https://etherisc.com/)
- [Standard, který umožňuje vytvářet interoperabilní měny dle konkrétních požadavků](/developers/docs/standards/tokens/)
diff --git a/public/content/translations/cs/social-networks/index.md b/public/content/translations/cs/social-networks/index.md
index ac42e9c6d73..a730e797a9c 100644
--- a/public/content/translations/cs/social-networks/index.md
+++ b/public/content/translations/cs/social-networks/index.md
@@ -23,7 +23,7 @@ Existuje mnoho decentralizovaných sociálních sítí jako alternativy k zavede
### Jak fungují decentralizované sociální sítě? {#decentralized-social-networks-overview}
-Decentralizované sociální sítě patří mezi [decentralizované aplikace (dappky)](/dapps/) – aplikace využívající ke svému fungování [chytré kontrakty](/glossary/#smart-contract) nasazené na blockchainu. Zdrojový kód kontraktu slouží jako backend pro tyto aplikace a definuje jejich byznysovou logiku.
+Decentralizované sociální sítě patří mezi [decentralizované aplikace (dappky)](/apps/) – aplikace využívající ke svému fungování [chytré kontrakty](/glossary/#smart-contract) nasazené na blockchainu. Zdrojový kód kontraktu slouží jako backend pro tyto aplikace a definuje jejich byznysovou logiku.
Tradiční sociální sítě využívají pro ukládání informací uživatelů databáze, programový kód a další formy dat. To však vytváří tzv. jediné body selhání a tím uživatelům přináší značné riziko. Například v říjnu 2021 se servery Facebooku nechvalně proslavily tím, že [byly na několik hodin offline](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) a odřízly uživatele od platformy.
diff --git a/public/content/translations/cs/staking/pools/index.md b/public/content/translations/cs/staking/pools/index.md
index 375ad73baa7..f7f39d35f56 100644
--- a/public/content/translations/cs/staking/pools/index.md
+++ b/public/content/translations/cs/staking/pools/index.md
@@ -17,7 +17,7 @@ summaryPoints:
Vkladový fond je přístup založený na spolupráci, který umožňuje mnoha lidem s menším množsvím ETH získat 32 ETH potřebných k aktivaci sady validátorových klíčů. Funkce stakingových fondů není v rámci protokolu nativně podporována, takže řešením byla vytvořena tato samostatná funkce, aby potřebu řešila.
-Některé fondy fungují pomocí chytrých kontraktů, kde lze vložit prostředky do kontraktu, který důvěryhodně spravuje a sleduje váš vklad a vydává vám token, který představuje tuto hodnotu. Jiné fondy nemusí zahrnovat chytré kontrakty a jsou místo toho zprostředkovány mimo řetězec.
+Některé fondy fungují pomocí chytrých kontraktů, kde lze vložit prostředky do kontraktu, který důvěryhodně spravuje a sleduje váš vklad a vydává vám token, který představuje tuto hodnotu. Jiné fondy nemusí zahrnovat chytré kontrakty a jsou místo toho zprostředkovány mimo blockchain.
## Proč vkládat s fondem? {#why-stake-with-a-pool}
diff --git a/public/content/translations/cs/staking/solo/index.md b/public/content/translations/cs/staking/solo/index.md
index 70d4af0af86..76a99ed86e7 100644
--- a/public/content/translations/cs/staking/solo/index.md
+++ b/public/content/translations/cs/staking/solo/index.md
@@ -1,6 +1,6 @@
---
-title: Samostatný vklad do ETH
-description: Přehled toho, jak začít samostatně vkládat ETH
+title: Uzamykejte své ETH z domova
+description: Přehled toho, jak začít uzamykat své ETH z domova
lang: cs
template: staking
emoji: ":money_with_wings:"
@@ -13,31 +13,31 @@ summaryPoints:
- Odstraňte důvěru a nikdy se nevzdávejte kontroly nad klíči ke svým prostředkům
---
-## Co je samostatný vklad? {#what-is-solo-staking}
+## Co je uzamčení z domova? {#what-is-solo-staking}
-Samostatný vklad je akt [spuštění uzlu Ethereum](/run-a-node/) připojeného k internetu a vložením 32 ETH k aktivaci [validátoru](#faq), což vám dává možnost přímo se podílet na konsenzu sítě.
+Uzamčení z domova je akt [spuštění uzlu Ethereum](/run-a-node/) připojeného k internetu a vložení 32 ETH k aktivaci [validátoru](#faq), což vám dává možnost přímo se podílet na konsenzu sítě.
-**Samostatný vklad zvyšuje decentralizaci sítě Ethereum**, díky čemuž je Ethereum odolnější vůči cenzuře a odolnější vůči útokům. Jiné metody vkladů nemusí síti pomoci stejným způsobem. Samostatný vklad je nejlepší možností vkládání pro zajištění Etherea.
+**Uzamčení z domova zvyšuje decentralizaci sítě Ethereum**, díky čemuž je Ethereum odolnější vůči cenzuře a útokům. Jiné metody vkladů nemusí síti pomoci stejným způsobem. Uzamčení z domova je nejlepší možností uzamčení pro zajištění Etherea.
Uzel Ethereum se skládá jak z klienta prováděcí vrstvy (EL), tak z klienta konsensuální vrstvy (CL). Tyto klienty jsou software, který společně s platnou sadou podpisových klíčů ověřuje transakce a bloky, osvědčuje správnému vedoucímu řetězce, shromažďuje atestace a navrhuje bloky.
-Samostatní vkladatelé jsou zodpovědní za provoz hardwaru potřebného ke spuštění těchto klientů. Důrazně se doporučuje používat k tomu vyhrazený počítač, který obsluhujete z domova – to je mimořádně prospěšné pro zdraví sítě.
+Uzamykatelé z domova jsou zodpovědní za provoz hardwaru potřebného ke spuštění těchto klientů. Důrazně se doporučuje používat k tomu vyhrazený počítač, který obsluhujete z domova – to je mimořádně prospěšné pro zdraví sítě.
-Samostatný vkladatel dostává odměny přímo z protokolu za to, že jejich validátor řádně funguje a je online.
+Uzamykatel z domova dostává odměny přímo z protokolu za to, že jejich validátor řádně funguje a je online.
-## Proč vkládat samostatně? {#why-stake-solo}
+## Proč uzamykat z domova? {#why-stake-solo}
-Samostatné vklady přináší větší odpovědnost, ale poskytuje vám maximální kontrolu nad vašimi prostředky a nastavením vkladů.
+Uzamčení z domova přináší větší odpovědnost, ale poskytuje vám maximální kontrolu nad vašimi prostředky a nastavením uzamčení.
-
+
-## Úvahy před samostatným vkladem {#considerations-before-staking-solo}
+## Úvahy před uzamčením z domova {#considerations-before-staking-solo}
-Jakkoli si přejeme, aby byly samostatné vklady přístupné a bez rizika pro každého, není to realita. Než se rozhodnete vložit své ETH samostatně, je třeba mít na paměti několik praktických a vážných úvah.
+I když bychom si přáli, aby bylo uzamčení z domova dostupné a bez rizika pro každého, není to realita. Než se rozhodnete uzamčít své ETH z domova, je třeba mít na paměti několik praktických a vážných úvah.
@@ -58,7 +58,7 @@ Stejně jako privátní klíče zajišťují vaši adresu Ethereum, budete muset
Zabezpečení Etherea a prevence podvodů
-
+
Hardware občas selže, dojde k chybě síťových připojení a klientský software občas potřebuje upgrade. Údržba uzlů je nevyhnutelná a občas bude vyžadovat vaši pozornost. Budete si chtít být jisti, že budete informováni o všech očekávaných upgradech sítě nebo jiných důležitých upgradech klientů.
@@ -93,7 +93,7 @@ Vkladový spouštěcí panel je open source aplikace, která vám pomůže stát
## Co je třeba zvážit u nástrojů pro nastavení uzlů a klienta {#node-tool-considerations}
-Existuje rostoucí počet nástrojů a služeb, které vám pomohou samostatně vložit vaše ETH, ale každý přichází s jinými riziky a výhodami.
+Existuje rostoucí počet nástrojů a služeb, které vám pomohou uzamčít vaše ETH z domova, ale každý přichází s jinými riziky a výhodami.
Atributové indikátory se používají níže k signalizaci pozoruhodných silných nebo slabých stránek, které mohou mít uvedený vkladový nástroj. Použijte tuto část jako referenci, jak definujeme tyto atributy, když vybíráte nástroje, které vám pomohou s vaší cestou vkladu.
@@ -119,7 +119,7 @@ Tyto nástroje lze použít jako alternativu k [Staking Deposit CLI](https://git
Máte návrh na vkladový nástroj, který nám chyběl? Podívejte se na naše [zásady pro záznam produktů](/contributing/adding-staking-products/), abyste zjistili, zda by se hodily, a odešlete je ke kontrole.
-## Prozkoumejte průvodce samostatným vkládáním {#staking-guides}
+## Prozkoumejte návody na uzamčení z domova {#staking-guides}
@@ -138,7 +138,7 @@ Každý pár klíčů spojený s validátorem vyžaduje k aktivaci přesně 32 E
Nevkládejte více než 32 ETH na jeden validátor. Nezvýší to vaše odměny. Pokud byla pro validátor nastavena adresa pro výběr, přebytečné prostředky nad 32 ETH budou automaticky vybrány na tuto adresu během příští kontroly validátoru.
-Pokud se vám samostatné vkládání zdá příliš náročné, zvažte použití poskytovatele staking-as-a-service, nebo pokud pracujete s méně než 32 ETH, zkontrolujte vkladové fondy.
+Pokud se vám uzamčení z domova zdá příliš náročné, zvažte použití poskytovatele typu uzamčení-jako-služba, nebo pokud pracujete s méně než 32 ETH, koukněte se na vkladové fondy.
@@ -146,7 +146,7 @@ Přechod do režimu offline v době, kdy se síť správně dokončuje, NEBUDE m
Všimněte si, že sankce za nečinnost jsou úměrné tomu, kolik validátorů je současně offline. V případech, kdy je velká část sítě offline najednou, budou postihy pro každý z těchto validátorů vyšší, než když je jeden validátor nedostupný.
-V extrémních případech, pokud se síť přestane dokončovat v důsledku toho, že více než třetina validátorů je offline, tito uživatelé utrpí takzvaný kvadratický únik nečinnosti, což je exponenciální odliv ETH z účtů offline validátoru. To umožňuje, aby se síť časem samoopravila spotřebováním EHT neaktivních validátorů, dokud nebude zůstatek 16 EHT, přičemž budou automaticky vyřazeny z fondu validátorů. Zbývající online validátoři budou nakonec opět zahrnovat více než 2/3 sítě, čímž uspokojí nadpoloviční většinu potřebnou k opětovnému dokončení řetězce.
+V extrémních případech, pokud se síť přestane dokončovat v důsledku toho, že více než třetina validátorů je offline, tito uživatelé utrpí takzvaný kvadratický únik nečinnosti, což je exponenciální odliv ETH z účtů offline validátoru. To umožňuje, aby se síť časem samoopravila spotřebováním ETH neaktivních validátorů, dokud nebude zůstatek 16 ETH, přičemž budou automaticky vyřazeny z fondu validátorů. Zbývající online validátoři budou nakonec opět zahrnovat více než 2/3 sítě, čímž uspokojí nadpoloviční většinu potřebnou k opětovnému dokončení řetězce.
@@ -203,4 +203,4 @@ Chcete-li odemknout a získat zpět celý zůstatek, musíte také dokončit pro
- [Krok za krokem: Jak se připojit k testovací síti Ethereum 2.0](https://kb.beaconcha.in/guides/tutorial-eth2-multiclient) – _ Butta_
- [Tipy pro prevenci trestu Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) – _Raul Jordan 2020 _
-
+
diff --git a/public/content/translations/cs/statelessness/index.md b/public/content/translations/cs/statelessness/index.md
new file mode 100644
index 00000000000..7ab7f1ea8cb
--- /dev/null
+++ b/public/content/translations/cs/statelessness/index.md
@@ -0,0 +1,103 @@
+---
+title: Bezstavovost, expirace stavu a expirace historie
+description: Vysvětlení expirace historie a bezstavového Etherea
+lang: cs
+---
+
+# Bezstavovost, expirace stavu a expirace historie {#statelessness}
+
+Možnost provozovat uzly Etherea na obyčejném hardwaru je pro skutečnou decentralizaci zásadní. A to z toho důvodu, že provozování uzlu dává uživatelům možnost ověřovat informace nezávislým prováděním kryptografických kontrol, místo aby se spoléhali na třetí stranu, která jim poskytne data. Provozování uzlu umožňuje uživatelům odesílat transakce přímo do peer-to-peer sítě Etherea, aniž by museli důvěřovat zprostředkovateli. Decentralizace není možná, pokud jsou tyto výhody dostupné pouze uživatelům s drahým hardwarem. Místo toho by uzly měly být schopny fungovat se skromnými požadavky na zpracování a paměť, aby mohly fungovat na mobilních telefonech, mikropočítačích nebo na domácím počítači, aniž by zpomalily jeho výkon.
+
+Dnes je hlavní překážkou bránící univerzálnímu přístupu k uzlům vysoká potřeba úložného prostoru. To je primárně způsobeno nutností ukládat velké množství stavových dat Etherea. Tato stavová data obsahují kritické informace potřebné pro správné zpracování nových bloků a transakcí. V době psaní tohoto textu je pro provozování plného uzlu na Ethereu doporučováno rychlé SSD s kapacitou 2 TB. U uzlu, který neodstraňuje žádná starší data, rostou požadavky na úložiště přibližně o 14 GB týdně a archivační uzly, které ukládají všechna data od vzniku sítě, se blíží 12 TB (v době psaní, únor 2023).
+
+Levnější pevné disky mohou být použity k ukládání starších dat, ale ty jsou příliš pomalé na to, aby držely krok s příchozími bloky. Zachování současných modelů úložiště pro klienty, při současném zlevnění a zjednodušení ukládání dat, je pouze dočasným a částečným řešením problému, protože růst stavových dat Etherea je „neomezený“, což znamená, že požadavky na úložiště se mohou pouze zvyšovat a technologické zlepšení bude muset neustále držet krok s pokračujícím růstem stavu. Proto musí klienti hledat nové způsoby, jak ověřovat bloky a transakce, které nezávisí na vyhledávání dat z místních databází.
+
+## Redukce úložiště uzlů {#reducing-storage-for-nodes}
+
+Existuje několik způsobů, jak snížit množství dat, která musí každý uzel ukládat, přičemž každý z nich vyžaduje odlišný rozsah aktualizace základního protokolu Etherea:
+
+- **Expirace historie**: Dovoluje uzlům odstraňovat stavová data starší než X bloků, aniž by se změnil způsob, jakým klienti Etherea s těmito daty pracují.
+- **Vypršení stavu**: Dovoluje stavovým datům, která nejsou často používána, aby se stala neaktivními. Neaktivní data mohou klienty ignorovat, dokud nebudou znovu oživena.
+- **Slabá bezstavovost**: Pouze producenti bloků potřebují přístup k plným stavovým datům, ostatní uzly mohou ověřovat bloky bez místní stavové databáze.
+- **Silná bezstavovost**: Žádné uzly nepotřebují přístup k úplným stavovým datům.
+
+## Expirace dat {#data-expiry}
+
+### Expirace historie {#history-expiry}
+
+Expirace historie znamená, že klienty mažou data, která pravděpodobně nebudou potřebovat, takže ukládají pouze malé množství historických dat a odstraňují starší data, když přijdou nová. Klienty vyžadují historická data ze dvou důvodů: synchronizace a zpracování žádostí o data. Původně se klienty musely synchronizovat od genesis bloku, ověřováním, že každý následující blok je správný, až k hlavě řetězce. Dnes klienti používají „slabé kontrolní body subjektivity“ k bootstrapování cesty k hlavě řetězce. Tyto kontrolní body jsou důvěryhodné výchozí body, jako kdyby genesis blok byl blízko přítomnosti, spíše než první blok Etherea. To znamená, že klienty mohou odstranit všechna data před posledním slabým kontrolním bodem subjektivity, aniž by ztratili schopnost synchronizovat se s hlavou řetězce. Klienty v současnosti zpracovávají žádosti (přicházející přes JSON-RPC) o historická data doručováním ze svých místních databází. Se zavedením expirace historie to však nebude možné, pokud budou požadovaná data odstraněna. Sdílení těchto historických dat je oblastí, ve které jsou potřeba inovativní řešení.
+
+Jedním z řešení je, že klienty budou požadovat historická data od peerů pomocí projektů, jako je Portal Network. Portal Network je rozvíjející se peer-to-peer síť pro poskytování historických dat, kam každý uzel ukládá malý kousek historie Etherea, takže celá historie je distribuována po celé síti. Žádosti jsou v tomto případě zpracovávány vyhledáváním peerů, kteří ukládají příslušná data, a vysíláním žádostí o tato data směrem k nim. Alternativně, protože historická data obecně vyžadují hlavně aplikace, může být jejich odpovědností je ukládat. V prostoru Etherea by také mohl být dostatek altruistických aktérů, kteří by byli ochotni udržovat historické archivy. Mohla by to být DAO, která by vznikla za účelem správy úložiště historických dat, nebo ideálně by to byla kombinace všech těchto možností. Tito poskytovatelé by mohli šířit data různými způsoby, např. prostřednictvím torrentu, FTP, Filecoinu nebo IPFS.
+
+Expirace historie je poněkud kontroverzní, protože dosud Ethereum vždy implicitně zaručovalo dostupnost jakýchkoliv historických dat. Plná synchronizace od vzniku sítě byla standardně možná, i když se někdy spoléhala na obnovu některých starších dat ze snapshotů. Expirace historie přesouvá odpovědnost za poskytování této záruky mimo hlavní protokol Etherea. To by mohlo zavést nová rizika cenzury, pokud by se poskytování historických dat ujaly centralizované organizace.
+
+EIP-4444 ještě není připraveno k implementaci, ale je předmětem aktivní diskuse. Zajímavostí je, že výzvy spojené s EIP-4444 nejsou ani tak technické, ale spíše souvisejí s řízením komunity. Aby bylo možné tento návrh na vylepšení Etherea uvést do chodu, musí získat podporu komunity, což zahrnuje nejen souhlas, ale také závazky k ukládání a poskytování historických dat od důvěryhodných subjektů.
+
+Toto vylepšení zásadně nemění způsob, jakým uzly Etherea pracují se stavovými daty, mění pouze způsob přístupu k historickým datům.
+
+### Expirace stavu {#state-expiry}
+
+Expirace stavu znamená odstranění stavových dat z jednotlivých uzlů v případě, že nebyl v poslední době využit. Existuje několik způsobů implementace, včetně:
+
+- **Expirace na základě nájmu**: Počítání „nájmu“ účtům a jejich expirace, když je nájem roven nule.
+- **Expirace na základě času**: Deaktivace účtů, pokud po určitou dobu nedošlo k jejich čtení/zápisu.
+
+Expirace na základě nájmu by mohla spočívat v přímém počítání nájmu účtům za účelem jejich udržení v aktivní stavové databázi. Expirace na základě času by mohla být odpočítáváním od poslední interakce s účtem, nebo by mohlo jít o periodickou expiraci všech účtů. Mohly by také existovat mechanismy, které kombinují prvky obou modelů založených na čase a nájmu, např. jednotlivé účty by zůstaly v aktivním stavu, pokud by zaplatily malý poplatek před vypršením času. Při expiraci stavu je důležité si uvědomit, že neaktivní stav **není smazán**, pouze je uložen odděleně od aktivního stavu. Neaktivní stav může být obnoven do aktivního stavu.
+
+To by mohlo fungovat tak, že by existoval stavový strom pro specifická časová období (řekněme ~1 rok). Kdykoli začne nové období, začíná i zcela nový stavový strom. Pouze aktuální stavový strom může být modifikován, všechny ostatní jsou neměnné. Od uzlů Etherea se očekává, že budou držet pouze aktuální stavový strom a nejnovější předchozí strom. K tomu je zapotřebí najít způsob, jak spojit adresu s obdobím, ve kterém existuje. Existuje [několik možných způsobů](https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607), jak toho dosáhnout, ale jedna z hlavních možností vyžaduje [prodloužení adres](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485), aby se do nich vešla dodatečná informace, s přidaným benefitem, že delší adresy jsou mnohem bezpečnější. Plánovaná položka v plánu, která toto umožňuje, se nazývá [rozšíření adresního prostoru (address space extension)](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485).
+
+Podobně jako u expirace historie, v případě expirací stavu je odpovědnost za ukládání starých stavových dat odebrána jednotlivým uživatelům a přenesena na jiné subjekty, jako jsou centralizovaní poskytovatelé, altruističtí členové komunity nebo futurističtější decentralizovaná řešení, jako je Portal Network.
+
+Expirace stavu je stále ve fázi výzkumu a v současné době není připravena ke spuštění. Expirace stavu bude pravděpodobně spuštěna později než bezstavové klienty a expirace historie, protože tato vylepšení umožňují většině validátorů snadné zpracování velkých stavových objemů.
+
+## Bezstavovost {#statelessness}
+
+Bezstavovost je trochu zavádějící termín, protože neznamená, že by byl koncept „stavu“ eliminován, ale zahrnuje změny ve způsobu, jakým uzly Etherea pracují se stavovými daty. Bezstavovost sama o sobě má dvě podoby: slabou bezstavovost a silnou bezstavovost. Slabá bezstavovost umožňuje většině uzlů být bezstavovými tím, že přenáší odpovědnost za ukládání stavu na méně uzlů. Silná bezstavovost úplně odstraňuje potřebu jakéhokoliv uzlu ukládat plná stavová data. Slabá i silná bezstavovost nabízí běžným validátorům následující výhody:
+
+- téměř okamžitou synchronizaci,
+- schopnost ověřovat bloky mimo pořadí,
+- uzly mohou být spuštěny s velmi nízkými hardwarovými požadavky (např. na telefonech),
+- uzly mohou být spuštěny na levných pevných discích, protože neexistuje potřeba čtení/zápisu na disk,
+- kompatibilitu s budoucími vylepšeními kryptografie Etherea.
+
+### Slabá bezstavovost {#weak-statelessness}
+
+Slabá bezstavovost zahrnuje změny ve způsobu, jakým uzly Etherea ověřují změny stavu, ale zcela neodstraňuje potřebu ukládání stavových dat ve všech uzlech sítě. Místo toho slabá bezstavovost přenáší odpovědnost za ukládání stavových dat na navrhovatele bloků, zatímco všechny ostatní uzly v síti ověřují bloky bez uložení plných stavových dat.
+
+**Při slabé bezstavovosti vyžaduje navrhování bloků přístup k plným stavovým datům, ale ověřování bloků nevyžaduje žádná stavová data.**
+
+Aby to bylo možné, musí už být v klientských verzích Etherea implementovány [Verkle trees](/roadmap/verkle-trees/). Verkle trees jsou nová datová struktura pro ukládání stavových dat Etherea, která umožňuje předávat mezi peery malé, stejně velké „svědky“ dat, jež mohou být použity k ověřování bloků namísto ověřování bloků proti místním databázím. Je také nutné zavést [oddělení navrhovatelů a sestavovatelů bloků](/roadmap/pbs/), protože to umožňuje, aby sestavovatelé byli specializované uzly s výkonnějším hardwarem, které vyžadují přístup k plným stavovým datům.
+
+
+
+Bezstavovost spoléhá na to, že sestavovatelé bloků udržují kopii plných stavových dat, aby mohli generovat svědky, kteří mohou být použiti k ověření bloku. Ostatní síťové uzly nepotřebují přístup ke stavovým datům, všechny informace potřebné k ověření bloku jsou dostupné ve svědkovi. To vede k situaci, kdy je navrhování bloku nákladné, ale ověřování bloku je levné, což naznačuje, že méně operátorů bude provozovat uzly navrhující bloky. Decentralizace navrhovatelů bloků však není kritická, pokud si co nejvíce účastníků může nezávisle ověřit, že bloky, které navrhují, jsou platné.
+
+Další informace najdete v Dankradových poznámkách
+
+
+Navrhovatelé bloků používají stavová data k vytvoření „svědků“ – minimální sady dat, která prokazuje hodnoty stavů, jež jsou transakcemi v bloku změněny. Ostatní validátoři stavová data neuchovávají, pouze ukládají kořen stavu (hash celého stavu). Dostanou blok a svědka a jejich pomocí aktualizují svůj kořen stavu. Díky tomu je ověřovací uzel tak lehký.
+
+Slabá bezstavovost je v pokročilém stadiu výzkumu, ale spoléhá na implementaci oddělení navrhovatelů a sestavovatelů bloků a Verkle trees, aby malí svědci mohli být předáváni mezi peery. To znamená, že slabá bezstavovost bude pravděpodobně na hlavní síti Etherea spuštěna až za několik let.
+
+### Silná bezstavovost {#strong-statelessness}
+
+Silná bezstavovost odstraňuje potřebu jakéhokoliv uzlu uchovávat stavová data. Místo toho jsou transakce odesílány se svědky, kteří mohou být sdružováni producenty bloků. Producenti bloků jsou pak zodpovědní za ukládání pouze těch stavových dat, která jsou potřeba pro generování svědků k příslušným účtům. Odpovědnost za stav se téměř úplně přesouvá na uživatele, kteří posílají svědky a „přístupové seznamy“, aby deklarovali, s jakými účty a klíči úložiště interagují. To by umožnilo extrémně lehké uzly, ale za cenu kompromisů, včetně toho, že transakce s chytrými kontrakty by byly obtížnější.
+
+Silnou bezstavovost zkoumali výzkumní vývojáři, ale v současnosti se neočekává, že by byla součástí plánu Etherea – jako pravděpodobnější varianta se jeví, že slabá bezstavovost bude pro potřeby škálování Etherea dostatečná.
+
+## Aktuální průběh {#current-progress}
+
+Slabá bezstavovost, expirace historie a expirace stavu jsou všechny ve fázi výzkumu a očekává se, že budou nasazeny za několik let. Neexistuje žádná záruka, že všechny tyto návrhy budou implementovány, např. pokud bude nejdříve implementována expirace stavu, nemusí být nutné implementovat i expiraci historie. Existují také další položky v plánu, jako jsou [Verkle trees](/roadmap/verkle-trees) a [oddělení navrhovatelů a sestavovatelů bloků](/roadmap/pbs), které je třeba dokončit jako první.
+
+## Další informace {#further-reading}
+
+- [AMA s Vitalikem o bezstavovosti](https://www.reddit.com/r/ethereum/comments/o9s15i/impromptu_technical_ama_on_statelessness_and/)
+- [Teorie řízení velikosti stavu](https://hackmd.io/@vbuterin/state_size_management)
+- [Znovuobnovení konfliktů a minimalizace omezení stavu](https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739)
+- [Cesty k bezstavovosti a expiraci stavu](https://hackmd.io/@vbuterin/state_expiry_paths)
+- [Specifikace EIP-4444](https://eips.ethereum.org/EIPS/eip-4444)
+- [Alex Stokes o EIP-4444](https://youtu.be/SfDC_qUZaos)
+- [Proč je tak důležité přejít na bezstavovost](https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html)
+- [Původní poznámky ke konceptu bezstavového klienta](https://ethresear.ch/t/the-stateless-client-concept/172)
+- [Další informace o expiraci stavu](https://hackmd.io/@vbuterin/state_size_management#A-more-moderate-solution-state-expiry)
+- [Ještě více informací o expiraci stavu](https://hackmd.io/@vbuterin/state_expiry_paths#Option-2-per-epoch-state-expiry)
diff --git a/public/content/translations/cs/support/index.md b/public/content/translations/cs/support/index.md
new file mode 100644
index 00000000000..87a2a99c6e6
--- /dev/null
+++ b/public/content/translations/cs/support/index.md
@@ -0,0 +1,105 @@
+---
+title: Ethereum podpora
+description: Získejte podporu v ekosystému Etherea.
+lang: cs
+---
+
+# Ethereum podpora {#support}
+
+## Oficiální podpora pro Ethereum {#official-support}
+
+Hledáte oficiální podporu pro Ethereum? První věc, kterou byste měli vědět, je, že Ethereum je decentralizované. To znamená, že žádná centrální organizace, entita nebo osoba nevlastní Ethereum, a proto neexistují žádné oficiální kanály podpory.
+
+Pochopení decentralizované povahy Etherea je zásadní, protože **každý, kdo se vydává za oficiálního podporovatele Etherea, se vás pravděpodobně snaží podvést!** Nejlepší ochranou před podvodníky je vzdělávat se a brát bezpečnost vážně.
+
+
+ Bezpečnost a předcházení podvodům v Ethereu
+
+
+
+ Osvojte si základy Etherea
+
+
+Přestože neexistuje oficiální podpora, mnoho skupin, komunit a projektů v ekosystému Etherea je ochotných vám pomoci a na této stránce můžete najít mnoho užitečných informací a zdrojů. Stále máte dotazy? Připojte se na [Discordu ethereum.org](/discord/) a my se vám pokusíme pomoci.
+
+## Často kladené dotazy {#faq}
+
+### Poslal/a jsem ETH na špatnou peněženku {#wrong-wallet}
+
+Transakce odeslaná na Ethereu je nevratná. Bohužel, pokud jste poslali ETH na špatnou peněženku, není žádný způsob, jak tyto prostředky získat zpět. Žádná centrální organizace, entita ani osoba nevlastní Ethereum, což znamená, že nikdo nemůže transakce vrátit zpět. Proto je důležité vždy pečlivě zkontrolovat své transakce před jejich odesláním.
+
+### Jak mohu získat svou odměnu z Ethereum giveaway? {#giveaway-scam}
+
+Ethereum giveaway jsou podvody navržené k tomu, aby vám ukradly ETH. Nenechte se zlákat nabídkami, které vypadají až moc dobře na to, aby byly pravdivé — pokud pošlete ETH na adresu giveaway, nedostanete žádnou odměnu a nebudete moci své prostředky získat zpět.
+
+[Více o prevenci podvodů](/security/#common-scams)
+
+### Moje transakce se zasekla {#stuck-transaction}
+
+Transakce na Ethereu se mohou někdy zaseknout, a to v případě, že jste zadali nižší poplatek za transakci, než je požadováno vzhledem k zatížení sítě. Spousta peněženek poskytuje možnost znovu odeslat stejnou transakci s vyšším poplatkem, aby byla transakce zpracována. Alternativně můžete zrušit nevyřízenou transakci tím, že pošlete transakci na svou vlastní adresu a použijete stejné jedinečné číslo nonce jako u nevyřízené transakce.
+
+[Jak zrychlit nebo zrušit nevyřízenou transakci v MetaMasku](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction)
+
+[Jak zrušit nevyřízené transakce na Ethereu](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/)
+
+### Jak mohu těžit Ethereum? {#mining-ethereum}
+
+Těžba Etherea už není možná. Těžba byla ukončena, když Ethereum přešlo z [proof of work](/glossary/#pow) na [proof of stake](/glossary/#pos). Nyní má Ethereum místo těžařů validátory. Každý může [stakovat](/glossary/#staking) ETH a dostávat odměny za provozování validačního softwaru zabezpečujícího síť.
+
+### Jak se stát stakerem / provozovat validátor? {#how-to-stake}
+
+Chcete-li se stát validátorem, musíte zastakovat 32 ETH v Ethereum deposit contractu a nastavit validační síťový uzel. Další informace naleznete na našich [stránkách o stakování](/staking) a na [staking launchpadu](https://launchpad.ethereum.org/).
+
+## Vývoj dappek {#building-support}
+
+Vývoj může být obtížný. Zde najdete několik zdrojů zaměřených na vývoj, kde vám zkušení vývojáři Etherea rádi pomohou.
+
+- [Alchemy University](https://university.alchemy.com/#starter_code)
+- [Discord CryptoDevs](https://discord.com/invite/5W5tVb3)
+- [Ethereum StackExchange](https://ethereum.stackexchange.com/)
+- [StackOverflow](https://stackoverflow.com/questions/tagged/web3)
+- [Web3 University](https://www.web3.university/)
+- [LearnWeb3](https://discord.com/invite/learnweb3)
+
+V naší sekci [zdrojů pro vývojáře Etherea](/developers/) najdete dokumentaci a průvodce vývojem.
+
+### Nástroje {#dapp-tooling}
+
+Týká se vaše otázka konkrétního nástroje, projektu nebo knihovny? Většina projektů má chatovací servery nebo fóra věnovaná poskytování podpory.
+
+Zde jsou některé oblíbené příklady:
+
+- [Solidity](https://gitter.im/ethereum/solidity)
+- [ethers.js](https://discord.gg/6jyGVDK6Jx)
+- [web3.js](https://discord.gg/GsABYQu4sC)
+- [Hardhat](https://discord.gg/xtrMGhmbfZ)
+- [Alchemy](http://alchemy.com/discord)
+- [Tenderly](https://discord.gg/fBvDJYR)
+
+## Provozování vlastního síťového uzlu {#node-support}
+
+Pokud provozujete uzel nebo validátora, tady najdete některé komunity, které vám pomohou začít.
+
+- [Discord EthStaker](https://discord.gg/ethstaker)
+- [Reddit EthStaker](https://www.reddit.com/r/ethstaker)
+
+Většina týmů, které vytvářejí klienty na Ethereu, má také veřejně přístupné body, kde můžete získat podporu a ptát se na otázky.
+
+### Exekuční klienti {#execution-clients}
+
+- [Geth](https://discord.gg/FqDzupGyYf)
+- [Nethermind](https://discord.gg/YJx3pm8z5C)
+- [Besu](https://discord.gg/p8djYngzKN)
+- [Erigon](https://github.com/ledgerwatch/erigon/issues)
+- [Reth](https://github.com/paradigmxyz/reth/discussions)
+
+### Konsenzuální klienti {#consensus-clients}
+
+- [Prysm](https://discord.gg/prysmaticlabs)
+- [Nimbus](https://discord.gg/nSmEH3qgFv)
+- [Lighthouse](https://discord.gg/cyAszAh)
+- [Teku](https://discord.gg/7hPv2T6)
+- [Lodestar](https://discord.gg/aMxzVcr)
+- [Grandine](https://discord.gg/H9XCdUSyZd)
+
+[Naučte se provozovat síťový uzel](/developers/docs/nodes-and-clients/run-a-node/).
diff --git a/public/content/translations/cs/user-experience/index.md b/public/content/translations/cs/user-experience/index.md
new file mode 100644
index 00000000000..4e75daad6dd
--- /dev/null
+++ b/public/content/translations/cs/user-experience/index.md
@@ -0,0 +1,36 @@
+---
+title: Zlepšování zkušeností uživatelů
+description: Používání Etherea je pro většinu lidí stále moc složité. Aby bylo možné přiblížit se k masovému přijetí, musí Ethereum zásadně snížit své bariéry pro vstup – uživatelé by měli mít výhody decentralizovaného, cenzuře odolného přístupu k Ethereu bez omezení, ale musí to být stejně bezproblémové, jako používání tradičních Web2 aplikací.
+lang: cs
+image: /images/roadmap/roadmap-ux.png
+alt: "Plán Etherea"
+template: roadmap
+---
+
+**Používání Etherea musí být jednodušší**; od správy [klíčů](/glossary/#key) a [peněženek](/glossary/#wallet) až po posílání transakcí. Aby bylo masové přijetí vůbec možné, musí být používání Etherea mnohem jednodušší, aby měli uživatelé možnost cenzuře odolného přístupu k Ethereu bez omezení se zkušeností podobnou bezproblémovému používání [Web2](/glossary/#web2) aplikací.
+
+## Za bezpečnostní frází {#no-more-seed-phrases}
+
+Účty na Ethereu jsou chráněny párem klíčů, které se používají k identifikaci účtu (veřejný klíč) a podepisování zpráv (privátní klíč). Privátní klíč je jako hlavní heslo; umožňuje úplný přístup k účtu na Ethereu. To je odlišný způsob fungování, než na který jsou lidé zvyklí u bank a Web2 aplikací, které spravují účty za uživatele. Aby Ethereum dosáhlo masového přijetí bez nutnosti spoléhat se na centralizované třetí strany, musí existovat jednoduchý a bezproblémový způsob, jak může uživatel převzít kontrolu nad svými aktivy a daty, aniž by musel rozumět kryptografii veřejného a privátního klíče a správě těchto klíčů.
+
+Řešením je při interakci s Ethereem používat peněženky založené na [chytrých kontraktech](/glossary/#smart-contract). Takové peněženky vytvářejí způsoby ochrany účtů v případě ztráty nebo krádeže klíčů, možnosti lepší detekce a obrany proti podvodům a umožňují peněženkám rozšířit nabídku o nové funkce. Ačkoliv peněženky založené na chytrých kontraktech v současné době existují, je obtížné je vyvíjet, protože to ze strany protokolu Ethereum vyžaduje lepší podporu. Tato dodatečná podpora je známá jako abstrakce účtů.
+
+Více o abstrakci účtů
+
+## Síťové uzly pro každého
+
+Uživatelé provozující [síťové uzly](/glossary/#node) nemusí důvěřovat třetím stranám, které by jim poskytovaly data, a mohou rychle, v soukromí a bez povolení interagovat s [blockchainem](/glossary/#blockchain) Ethereum. Nicméně, provoz síťového uzlu v současnosti vyžaduje technické znalosti a významný prostor na pevném disku, což vede mnoho lidí k tomu, že raději důvěřují zprostředkovatelům.
+
+Existuje několik vylepšení, která usnadní provoz těchto uzlů a sníží jejich náročnost na zdroje. Způsob ukládání dat se změní ve prospěch prostorově efektivnější struktury známé jako **Verkle Tree**. Dále, s využitím [bezstavovosti](/roadmap/statelessness) nebo [expirace dat](/roadmap/statelessness/#data-expiry), nebudou síťové uzly na Ethereu potřebovat ukládat kopii celého stavu Etherea, což výrazně sníží požadavky na prostor na pevném disku. [Jednoduché síťové uzly](/developers/docs/nodes-and-clients/light-clients/) nabídnou řadu výhod provozu plného uzlu, ale mohou být snadno provozovány na mobilních telefonech nebo v jednoduchých webových aplikacích.
+
+Další informace o Verkle Trees
+
+S těmito vylepšeními budou bariéry pro provoz síťového uzlu sníženy prakticky na nulu. Uživatelé budou benefitovat z bezpečného přístupu k Ethereu bez bariér, aniž by museli obětovat velký prostor na pevném disku nebo CPU na svém počítači či mobilním telefonu, a nebudou se muset spoléhat na třetí strany za účelem získání dat nebo přístupu k síti při používání aplikací.
+
+## Aktuální průběh {#current-progress}
+
+Peněženky založené na chytrých kontraktech jsou už k dispozici, ale je třeba uvést do chodu další vylepšení, aby byly co nejvíce decentralizované a přístupné bez nutnosti povolení třetí strany. EIP-4337 je hotový návrh, který nevyžaduje žádné změny v protokolu Etherea. Hlavní chytrý kontrakt nutný pro EIP-4337 byl **spuštěn v březnu 2023**.
+
+**Úplná bezstavovost je stále ve fázi výzkumu** a její implementace bude pravděpodobně trval několik let. Existuje několik milníků na cestě k úplné bezstavovosti, včetně expirace dat, které mohou být implementovány dříve. Nejprve je ale třeba dokončit jiné body plánu, jako jsou [Verkle Trees](/roadmap/verkle-trees/) a [oddělení navrhovatelů a stavitelů bloků](/roadmap/pbs/).
+
+Testovací sítě Verkle Trees jsou již v provozu a další fáze zahrnuje spuštění klientů podporujících Verkle Tree na soukromých a následně veřejných testovacích sítích. I vy můžete pomoci urychlit tento vývoj tím, že spustíte své kontrakty na testovacích sítích nebo spustíte klienty testovacích sítí.
diff --git a/public/content/translations/cs/web3/index.md b/public/content/translations/cs/web3/index.md
index e8666388943..1f326c3695b 100644
--- a/public/content/translations/cs/web3/index.md
+++ b/public/content/translations/cs/web3/index.md
@@ -139,7 +139,7 @@ Jsme teprve na začátku lepšího webu s pomocí Web3, ale díky neustávajíc
- [Vybrat peněženku](/wallets/)
- [Najděte svoji komunitu](/community/)
-- [Prozkoumejte Web3 aplikace](/dapps/)
+- [Prozkoumejte Web3 aplikace](/apps/)
- [Připojte se k DAO](/dao/)
- [Budujte na Web3](/developers/)
@@ -147,11 +147,11 @@ Jsme teprve na začátku lepšího webu s pomocí Web3, ale díky neustávajíc
Web3 není pevně definován. Různí členové komunity mají na jeho definici odlišné pohledy. Zde je několik z nich:
-- [Co je Web3? Vysvětlení decentralizovaného internetu budoucnosti](https://www.freecodecamp.org/news/what-is-web3/) – _Nader Dabit_
+- [Co je Web3? Vysvětlení decentralizovaného internetu budoucnosti](https://www.freecodecamp.org/news/what-is-web3) – _Nader Dabit_
- [Jak dáváme Web3 smysl](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) – _Josh Stark_
- [Proč na Web3 záleží](https://future.a16z.com/why-web3-matters/) — _Chris Dixon_
- [Proč na decentralizaci záleží](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _Chris Dixon_
- [Web3 ekosystém](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
-- [Debata o Web3](https://www.notboring.co/p/the-web3-debate?s=r) – _Packy McCormick_
+- [Debata o Web3](https://www.notboring.co/p/the-web3-debate) – _Packy McCormick_
diff --git a/public/content/translations/cs/withdrawals/index.md b/public/content/translations/cs/withdrawals/index.md
new file mode 100644
index 00000000000..7ab2d1549c2
--- /dev/null
+++ b/public/content/translations/cs/withdrawals/index.md
@@ -0,0 +1,218 @@
+---
+title: Uzamčení výběrů
+description: Stránka shrnující, co jsou výběry push, jak fungují a co musí stakeři udělat, aby získali své odměny
+lang: cs
+template: staking
+image: /images/staking/leslie-withdrawal.png
+alt: Nosorožec Leslie se svými vkladovými odměnami
+sidebarDepth: 2
+summaryPoints:
+ - Upgrade Shanghai/Capella umožnil výběry sázek na Ethereum
+ - Operátoři validátorů musí pro aktivaci poskytnout adresu pro výběr
+ - Odměny jsou automaticky rozdělovány každých několik dní
+ - Validátoři, kteří zcela ukončí vklady, obdrží zbývající zůstatek
+---
+
+
+Výběry vkladů byly povoleny při upgradu Shanghai/Capella, ke kterému došlo 12. dubna 2023. Další informace o Šanghaji/Capelle
+
+
+**Výběry vkladů** označují převody ETH z účtu validátoru na konsensuální vrstvě Etherea (Beacon Chain) do realizační vrstvy, kde s nimi lze provádět transakce.
+
+**Výplaty odměny za přebytečný zůstatek** nad 32 ETH budou automaticky a pravidelně zasílány na adresu pro výběr propojenou s každým validátorem, jakmile ji poskytne uživatel. Uživatelé mohou také **úplně ukončit vklady** a odemknout tak svůj plný zůstatek na validátoru.
+
+## Vložení odměn {#staking-rewards}
+
+Platby odměn se automaticky zpracovávají pro aktivní účty validátorů s maximálním efektivním zůstatkem 32 ETH.
+
+Jakýkoli zůstatek nad 32 ETH získaný prostřednictvím odměn ve skutečnosti nepřispívá k jistině ani nezvyšuje váhu tohoto validátoru v síti, a je tak automaticky vybrán jako výplata odměny každých několik dní. Kromě jednorázového poskytnutí adresy pro výběr nevyžadují tyto odměny žádnou akci ze strany operátora validátoru. To vše je zahájeno na konsensuální vrstvě, takže v žádném kroku není vyžadováno žádné palivo (transakční poplatek).
+
+### Jak jsme se sem dostali? {#how-did-we-get-here}
+
+Během několika posledních let Ethereum prošlo několika upgrady sítě a přešlo na síť zabezpečenou samotným ETH namísto energeticky náročné těžby, jak tomu bylo dříve. Účast na konsensu o Ethereu je nyní známá jako „staking“, protože účastníci dobrovolně zablokovali ETH, čímž je „v sázce“ možnost zapojit se do sítě. Uživatelé, kteří dodržují pravidla, budou odměněni, zatímco pokusy o podvádění mohou být penalizovány.
+
+Od zahájení smlouvy o vkladu v listopadu 2020 někteří stateční průkopníci Etherea dobrovolně uzamkli finanční prostředky, aby aktivovali „validátory“, speciální účty, které mají právo formálně potvrzovat a navrhovat bloky podle pravidel sítě.
+
+Před upgradem Shanghai/Capella jste nemohli používat svůj vsazený ETH ani k němu přistupovat. Nyní se však můžete přihlásit k automatickému přijímání odměn na vybraný účet a také můžete kdykoli vybrat své vsazené ETH.
+
+### Jak mohu přispět? {#how-do-i-prepare}
+
+
+
+### Důležitá upozornění {#important-notices}
+
+Poskytnutí adresy pro výběr je povinným krokem pro jakýkoli účet validátoru, než bude mít nárok na výběr ETH ze svého zůstatku.
+
+
+ Každému účtu validátoru lze přiřadit pouze jednu adresu pro výběr, a to jednou. Jakmile je adresa vybrána a odeslána do konsensuální vrstvy, nelze to vrátit zpět ani znovu změnit. Před odesláním znovu zkontrolujte vlastnictví a správnost poskytnuté adresy.
+
+
+Pokud adresu mezitím neposkytnete, nehrozí vašim finančním prostředkům žádné ohrožení, za předpokladu, že vaše mnemotechnická pomůcka nebo fráze zůstala v bezpečí offline a nebyla žádným způsobem kompromitována. Nepřidání přihlašovacích údajů pro výběr jednoduše ponechá ETH uzamčené v účtu validátoru tak, jak bylo, dokud nebyla poskytnuta adresa pro výběr.
+
+## Úplné ukončení stakingu {#exiting-staking-entirely}
+
+Před převedením _jakýchkoli_ prostředků ze zůstatku účtu validátoru je vyžadováno zadání adresy pro výběr.
+
+Uživatelé, kteří chtějí zcela ukončit vklady a vybrat zpět svůj celý zůstatek, musí také podepsat a vysílat zprávu „dobrovolný odchod“ s validačními klíči, která zahájí proces ukončení vkladu. To se provádí pomocí vašeho klienta validátoru a předává se vašemu konsensuálnímu uzlu a nevyžaduje palivo.
+
+Proces odchodu validátoru z vkládání trvá různě dlouhou dobu v závislosti na tom, kolik dalších současně odchází. Po dokončení tento účet již nebude odpovědný za plnění povinností sítě validátorů, nebude mít nárok na odměny a nebude již „v sázce“ jejich ETH. V tomto okamžiku bude účet označen jako plně „výběrný“.
+
+Jakmile je účet označen jako „výběrný“ a byly poskytnuty přihlašovací údaje pro výběr, uživatel nemusí kromě čekání dělat nic jiného. Navrhovatelé bloků automaticky a nepřetržitě odstraňují způsobilé vyřazené prostředky a zůstatek na vašem účtu bude převeden v plné výši (známé také jako „úplný výběr“) během příští kontroly.
+
+## Kdy jsou povoleny výběry vkladů? {#when}
+
+Výběry vkladů jsou živé! Funkce výběru byla povolena v rámci upgradu Shanghai/Capella, ke kterému došlo 12. dubna 2023.
+
+Upgrade Shanghai/Capella umožnil získat dříve vložené ETH zpět na běžné účty Ethereum. Tím se uzavřela smyčka v nasazování likvidity a Ethereum se o krok přiblížilo na jeho cestě k vybudování udržitelného, škálovatelného a bezpečného decentralizovaného ekosystému.
+
+- [Více o historii Etherea](/history/)
+- [Více o plánu Etherea](/roadmap/)
+
+## Jak fungují platby za výběr? {#how-do-withdrawals-work}
+
+O tom, zda má daný validátor nárok na výběr či nikoli, rozhoduje stav samotného účtu validátoru. K určení, zda má být u účtu zahájen výběr či nikoli, není v žádném okamžiku potřeba žádný uživatelský vstup – celý proces probíhá automaticky konsensuální vrstvou v nepřetržité smyčce.
+
+### Učíte se spíše vizuálně? {#visual-learner}
+
+Podívejte se na toto vysvětlení výběrů z vkladů Ethereum od Finematics:
+
+
+
+### Kontrola validátorů {#validator-sweeping}
+
+Když je naplánováno, že validátor navrhne další blok, je nutné sestavit frontu pro výběr až 16 způsobilých výběrů. To se provádí tak, že se původně začne s indexem validátoru 0, určí se, zda pro tento účet existuje způsobilý výběr podle pravidel protokolu, a pokud ano, přidá se do fronty. Validátor nastavený tak, aby navrhoval následující blok, bude pokračovat tam, kde skončil poslední, přičemž postupuje v pořadí neomezeně dlouho.
+
+
+Představte si analogové hodiny. Ručička na hodinách ukazuje na hodinu, postupuje jedním směrem, nepřeskakuje žádné hodiny a nakonec se po dosažení posledního čísla opět přetočí na začátek.
+Nyní si místo 1 až 12 představte, že hodiny mají 0 až N (celkový počet účtů validátorů, které kdy byly zaregistrovány na vrstvě konsensu, přes 500 000 k lednu 2023).
+Ručička na hodinách ukazuje na další validátor, u kterého je třeba zkontrolovat oprávněné výběry. Začíná na 0 a postupuje stále dokola, aniž by přeskakovala jakýkoli účet. Když je dosaženo posledního validátoru, cyklus pokračuje zpět na začátek.
+
+
+#### Kontrola účtu pro výběry {#checking-an-account-for-withdrawals}
+
+Zatímco navrhovatel prochází validátory ohledně možných výběrů, každý kontrolovaný validátor je hodnocen na základě krátké série otázek, aby se určilo, zda by měl být spuštěn výběr, a pokud ano, jaké množství ETH by mělo být odebráno.
+
+1. **Byla zadána adresa pro výběr?** Pokud nebyla zadána žádná adresa pro výběr, účet bude přeskočen a výběr nebude zahájen.
+2. **Je validátor ukončen a lze jej vybrat?** Pokud validátor zcela skončil a my jsme dosáhli epochy, kdy je jejich účet považován za „výběrný“, dojde k úplnému výběru. Tím se celý zbývající zůstatek převede na adresu pro výběr.
+3. **Je efektivní zůstatek maximálních 32?** Pokud má účet přihlašovací údaje k výběru, není úplně ukončen a čekají odměny ve vyšším počtu než 32, bude zpracován částečný výběr, který převede pouze odměny nad 32 na adresu výběru uživatele.
+
+Operátoři validátoru v průběhu životního cyklu validátoru provádějí pouze dvě akce, které přímo ovlivňují tento tok:
+
+- Poskytněte přihlašovací údaje pro výběr, abyste umožnili jakoukoli formu výběru.
+- Opusťte síť, což způsobí úplný výběr.
+
+### Bez paliva {#gas-free}
+
+Tento přístup k výběrům vkladů zabraňuje tomu, aby satkeři museli ručně odeslat transakci požadující výběr konkrétní částky ETH. To znamená, že **není vyžadováno žádné palivo (transakční poplatek)** a výběry také nesoutěží o stávající blokový prostor prováděcí vrstvy.
+
+### Jak často dostanu odměny za vklady? {#how-soon}
+
+Maximální počet výběrů, které je možné zpracovat v jednom bloku. Při tomto tempu lze zpracovat 115 200 výběrů validátorů za den (za předpokladu, že nejsou žádné vynechané sloty). Jak je uvedeno výše, validátoři bez způsobilých výběrů budou přeskočeni, čímž se zkrátí čas na dokončení kontroly.
+
+Po rozšíření tohoto výpočtu můžeme odhadnout dobu, kterou bude trvat zpracování daného počtu výběrů:
+
+
+
+| Počet výběrů | Čas na dokončení |
+| :--------------------: | :---------------: |
+| 400 000 | 3,5 dne |
+| 500 000 | 4,3 dne |
+| 600 000 | 5,2 dne |
+| 700 000 | 6,1 dne |
+| 800 000 | 7,0 dnů |
+
+
+
+Jak vidíte, toto se zpomaluje, protože je v síti více validátorů. Nárůst vynechaných slotů by to mohl úměrně zpomalit, ale to bude obecně představovat pomalejší možné výsledky.
+
+## Často kladené dotazy {#faq}
+
+
+Ne, proces poskytnutí přihlašovacích údajů pro výběr je jednorázový proces a nelze jej po odeslání změnit.
+
+
+
+Nastavením adresy pro stažení prováděcí vrstvy byly přihlašovací údaje pro tento validátor trvale změněny. To znamená, že staré přihlašovací údaje již nebudou fungovat a nové přihlašovací údaje budou přesměrovány na účet prováděcí vrstvy.
+
+Adresy pro výběr mohou být buď chytrý kontrakt (řízený svým kódem), nebo externě vlastněný účet (EOA, řízený svým privátním klíčem). V současné době tyto účty nemají žádný způsob, jak předat zprávu zpět do konsensuální vrstvy, která by signalizovala změnu pověření validátoru, a přidání této funkce by přidalo zbytečné složitosti protokolu.
+
+Jako alternativu ke změně adresy pro výběr u konkrétního validátoru se uživatelé mohou rozhodnout nastavit jako adresu pro výběr chytrý kontrakt, který zvládne rotaci klíčů, jako je Trezor. Uživatelé, kteří nastaví své prostředky na vlastní EOA, mohou provést úplný odchod, aby mohli vybrat všechny své vložené prostředky, a poté znovu vložit pomocí nových pověření.
+
+
+
+
+Pokud jste součástí vkladového fondu nebo držíte vkladové tokeny, měli byste se u svého poskytovatele informovat o tom, jak se nakládá s výběry vkladů, protože každá služba funguje jinak.
+
+Obecně by uživatelé měli mít možnost získat zpět své základní vložené ETH nebo změnit poskytovatele vkladů, kterého využívají. Pokud je konkrétní fond příliš velký, lze prostředky opustit, uplatnit a znovu vložit u menšího poskytovatele. Nebo, pokud jste nashromáždili dostatek ETH, můžete vložit z domova.
+
+
+
+
+Ano, pokud váš validátor poskytl adresu pro výběr. Ta musí být poskytnuta jednou, aby bylo možné zpočátku provádět jakékoli výběry, poté budou platby odměn automaticky spuštěny každých několik dní s každým validátorem.
+
+
+
+
+Ne, pokud je váš validátor stále aktivní v síti, k úplnému výběru nedojde automaticky. To vyžaduje ruční spuštění dobrovolného ukončení.
+
+Jakmile validátor dokončí proces ukončení a za předpokladu, že účet má přihlašovací údaje k výběru, bude zbývající zůstatek pak vybrán během příští kontroly validátorem.
+
+
+
+
+Výběry jsou navrženy tak, aby byly spouštěny automaticky a převáděly jakékoli ETH, které aktivně nepřispívají ke vkladu. To zahrnuje úplné zůstatky účtů, které dokončily proces ukončení.
+
+Není možné ručně vyžádat určité množství ETH k výběru.
+
+
+
+
+Provozovatelům validátorů doporučujeme navštívit stránku Výběry z vkladového spouštěcího panelu, kde najdete další podrobnosti o přípravě validátoru na výběry, načasování událostí a další podrobnosti o fungování výběrů.
+
+Chcete-li své nastavení nejprve vyzkoušet na testovací síti, navštivte Holesky Testnet Staking Launchpad a začněte.
+
+
+
+
+Ne. Jakmile validátor skončí a vybere se jeho celý zůstatek, veškeré dodatečné prostředky vložené na tomto validátoru budou automaticky převedeny na adresu pro výběr během příští kontroly validátoru. Chcete-li znovu vložit ETH, musí být aktivován nový validátor.
+
+
+## Další informace {#further-reading}
+
+- [Výběry z vkladového spouštěcího panelu](https://launchpad.ethereum.org/withdrawals)
+- [EIP-4895: Řetězová vazba výběru jako operace](https://eips.ethereum.org/EIPS/eip-4895)
+- [Ethereum Cat Herders – Šanghaj](https://www.ethereumcatherders.com/shanghai_upgrade/index.html)
+- [PEEPanEIP #94: Výběr vložených ETH (testování) s Potuz & Hsiao-Wei Wang](https://www.youtube.com/watch?v=G8UstwmGtyE)
+- [PEEPanEIP#68: EIP-4895: Výběry pomocí řetězové vazby jako operace s Alexem Stokesem](https://www.youtube.com/watch?v=CcL9RJBljUs)
+- [Porozumění efektivnímu zůstatku validátoru](https://www.attestant.io/posts/understanding-validator-effective-balance/)
diff --git a/public/content/translations/cs/zero-knowledge-proofs/index.md b/public/content/translations/cs/zero-knowledge-proofs/index.md
index 59c0a3aad84..b5faf29423b 100644
--- a/public/content/translations/cs/zero-knowledge-proofs/index.md
+++ b/public/content/translations/cs/zero-knowledge-proofs/index.md
@@ -32,11 +32,11 @@ Vraťme se k našemu příkladu: Jediný důkaz, který potřebujete k prokázá
Platby kreditní kartou jsou často viditelné pro více stran, včetně poskytovatele plateb, bank a dalších zainteresovaných stran (např. vládních úřadů). Finanční dohled má sice výhody, například v případě odhalování nezákonné činnosti, ale také narušuje soukromí běžných občanů.
-Kryptoměny byly vyvinuty jako nástroj pro uskutečňování soukromých peer-to-peer transakcí. Většina transakcí s kryptoměnami je ale otevřeně viditelná na veřejných blockchainech. Identity uživatelů jsou často pseudonymní a buď záměrně propojeny s identitami v reálném světě (např. zahrnutím ethereovských adres na profily Twitter nebo GitHub), nebo mohou být spojeny s identitami v reálném světě pomocí datové analýzy aktivity uživatele.
+Kryptoměny byly vyvinuty jako nástroj pro uskutečňování soukromých peer-to-peer transakcí. Většina transakcí s kryptoměnami je ale otevřeně viditelná na veřejných blockchainech. Identity uživatelů jsou často pseudonymní a buď záměrně propojeny s identitami v reálném světě (např. zahrnutím ETH adres na profily na Twitteru nebo GitHubu), nebo mohou být spojeny s identitami v reálném světě pomocí datové analýzy aktivity uživatele.
Existují specifické „kryptoměny na ochranu soukromí“ určené pro zcela anonymní transakce. Blockchainy zaměřené na soukromí, jako jsou Zcash a Monero, neuvádí podrobnosti o transakci, včetně adres odesílatele/příjemce, typu finančních prostředků, množství a časové osy transakce.
-Díky zahrnutí technologie nulové znalosti umožňují [blockchainové](/glossary/#blockchain) sítě, které se zaměřují na soukromí, [síťovým uzlům](/glossary/#node) ověřovat transakce bez nutnosti přístupu k datům transakcí.
+Díky zahrnutí technologie nulové znalosti umožňují [blockchainové](/glossary/#blockchain) sítě, které se zaměřují na soukromí, [síťovým uzlům](/glossary/#node) ověřovat transakce bez nutnosti přístupu k datům transakcí. [EIP-7503](https://eips.ethereum.org/EIPS/eip-7503) je příkladem navrženého návrhu, který umožní nativní soukromé převody hodnoty v blockchainu Etherea. Takové návrhy je však obtížné realizovat kvůli kombinaci bezpečnostních, regulačních a uživatelských obav.
**Důkazy s nulovými znalostmi se také používají při anonymizaci transakcí na veřejných blockchainech.** Příkladem je Tornado Cash, decentralizovaná služba bez třetí strany, která uživatelům umožňuje provádět soukromé transakce na Ethereu. Tornado Cash používá důkazy s nulovou znalostí ke skrytí podrobností o transakcích a k zajištění finančního soukromí. Bohužel, protože se jedná o "opt-in" nástroje ochrany osobních údajů, jsou spojovány s nezákonnou činností. Pro vyřešení tohoto problému je třeba, aby se soukromí stalo výchozím nastavením veřejných blockchainů.
@@ -58,9 +58,9 @@ Ověřitelný výpočet je další aplikací technologie s nulovou znalostí pro
Ověřitelný výpočet je **zásadní pro zlepšení rychlosti zpracování na blockchain** bez snížení bezpečnosti. Pochopení tohoto principu vyžaduje znalost rozdílů v navrhovaných řešeních pro škálování Etherea.
-[Řešení škálování blockchainu](/developers/docs/scaling/#on-chain-scaling), jako je sharding, vyžadují rozsáhlou úpravu základní vrstvy blockchainu. Tento přístup je však velmi složitý a chyby v implementaci mohou podkopat bezpečnostní model Etherea.
+[Řešení škálování blockchainu](/developers/docs/scaling/#onchain-scaling), jako je tříštění, vyžadují rozsáhlou úpravu základní vrstvy blockchainu. Tento přístup je však velmi složitý a chyby v implementaci mohou podkopat bezpečnostní model Etherea.
-[Řešení škálování mimo blockchain](/developers/docs/scaling/#off-chain-scaling) nevyžadují přepracování základního protokolu Etherea. Místo toho se spoléhají na outsourcovaný výpočetní model pro zlepšení propustnosti transakcí na základní vrstvě Etherea.
+[Řešení škálování mimo blockchain](/developers/docs/scaling/#offchain-scaling) nevyžadují přepracování základního protokolu Etherea. Místo toho se spoléhají na outsourcovaný výpočetní model pro zlepšení propustnosti transakcí na základní vrstvě Etherea.
V praxi to funguje takto:
@@ -70,13 +70,13 @@ V praxi to funguje takto:
Výhodou je, že Ethereum nemusí provádět žádnou exekuci a potřebuje pouze aplikovat výsledky z outsourcovaných výpočtů na svůj stav. To snižuje zahlcení sítě a také zlepšuje rychlost transakcí (protokoly mimo blockchain se optimalizují pro rychlejší exekuci).
-Blockchain potřebuje způsob, jak ověřovat transakce externě bez opětovného provádění, jinak dojde ke ztrátě výhody externí exekuce.
+Blockchain potřebuje způsob, jak ověřovat transakce mimo blockchain bez opětovného provádění, jinak dojde ke ztrátě výhody exekuce mimo blockchain.
-Zde přichází na řadu ověřitelný výpočet. Když síťový uzel provede transakci mimo Ethereum, předloží důkaz s nulovou znalostí, aby prokázal správnost externí exekuce. Tento důkaz (nazývaný [důkaz platnosti](/glossary/#validity-proof)) zaručuje, že transakce je platná, což umožňuje Ethereu aplikovat výsledek na svůj stav – aniž by čekal, zda tento výsledek někdo zpochybní.
+Zde přichází na řadu ověřitelný výpočet. Když uzel provede transakci mimo Ethereum, předloží důkaz nulové znalosti, aby prokázal správnost exekuce mimo blockchain. Tento důkaz (nazývaný [důkaz platnosti](/glossary/#validity-proof)) zaručuje, že transakce je platná, což umožňuje Ethereu aplikovat výsledek na svůj stav – aniž by čekal, zda tento výsledek někdo zpochybní.
[Rollupy s nulovou znalostí](/developers/docs/scaling/zk-rollups) a [validia](/developers/docs/scaling/validium/) jsou dvě řešení škálování mimo blockchain, která používají důkazy platnosti k zajištění bezpečné škálovatelnosti. Tyto protokoly provádějí tisíce transakcí mimo blockchain a předkládají důkazy k ověření na Ethereu. Tyto výsledky lze použít okamžitě po ověření důkazu, což umožňuje Ethereu zpracovat více transakcí bez zvýšení náročnosti výpočtů na základní vrstvě.
-### Snížení úplatkářství a tajných dohod při hlasování {#secure-blockchain-voting}
+### Snížení úplatkářství a tajných dohod při hlasování na blockchainu {#secure-blockchain-voting}
Hlasovací schémata na blockchainu mají spoustu dobrých vlastností: Jsou plně auditovatelná, zabezpečená proti útokům, odolná vůči cenzuře a nemají žádná geografická omezení. Ale nejsou imunní vůči problému **tajné dohody**.
@@ -86,13 +86,13 @@ Tajná dohoda, definovaná jako „koordinace za účelem omezení otevřené so
Například [kvadratické mechanismy financování](https://www.radicalxchange.org/concepts/plural-funding/) využívají dary k měření preference veřejně prospěšných projektů. Každý dar se počítá jako „hlas“ pro konkrétní projekt, přičemž projekty, které získají více hlasů, získají více prostředků z odpovídající skupiny.
-Díky hlasování na blockchainu je kvadratické financování náchylné k tajným dohodám: Blockchainové transakce jsou veřejné, takže úplatkáři mohou kontrolovat aktivitu úplatníka v řetězci, protože vidí, jak kdo „hlasoval“. Tímto způsobem kvadratické financování přestává být efektivním prostředkem pro alokaci finančních prostředků na základě preferencí komunity.
+Díky hlasování na blockchainu je kvadratické financování náchylné k tajným dohodám: Blockchainové transakce jsou veřejné, takže úplatkáři mohou kontrolovat aktivitu úplatkáře na blockchainu, protože vidí, jak kdo „hlasoval“. Tímto způsobem kvadratické financování přestává být efektivním prostředkem pro alokaci finančních prostředků na základě preferencí komunity.
-Novější řešení, jako je MACI (Minimum Anti-Collusion Infrastructure), naštěstí používají důkazy s nulovou znalostí, aby bylo hlasování na blockchainu (např. kvadratické mechanismy financování) odolné vůči úplatkům a tajným dohodám. MACI je sada chytrých kontraktů a skriptů, které umožňují centrálnímu správci (nazývanému „koordinátor“) shromažďovat hlasy a sčítat výsledky, _aniž by odhalovaly_ podrobnosti o tom, jak jednotlivci hlasovali. I tak je možné ověřit, že hlasy byly řádně sečteny, případně potvrdit, že se konkrétní jednotlivec zúčastnil hlasování.
+Novější řešení, jako je MACI (Minimum Anti-Collusion Infrastructure), naštěstí používají důkazy nulové znalosti, aby bylo hlasování na blockchainu (např. kvadratické mechanismy financování) odolné vůči úplatkům a tajným dohodám. MACI je sada chytrých kontraktů a skriptů, které umožňují centrálnímu správci (nazývanému „koordinátor“) shromažďovat hlasy a sčítat výsledky, _aniž by odhalovaly_ podrobnosti o tom, jak jednotlivci hlasovali. I tak je možné ověřit, že hlasy byly řádně sečteny, případně potvrdit, že se konkrétní jednotlivec zúčastnil hlasování.
#### Jak MACI pracuje s důkazy s nulovou znalostí? {#how-maci-works-with-zk-proofs}
-Na začátku koordinátor zařadí MACI kontrakt na Ethereum, pté se uživatelé mohou přihlásit k hlasování (registrací svého veřejného klíče do chytrého kontraktu). Uživatelé hlasují zasíláním zpráv zašifrovaných jejich veřejným klíčem do chytrého kontraktu (platný hlas musí být mimo jiné podepsán nejnovějším veřejným klíčem spojeným s identitou uživatele). Poté skončení hlasování koordinátor zpracuje všechny zprávy, sečte hlasy a ověří výsledky na blockchainu.
+Na začátku koordinátor zařadí MACI kontrakt na Ethereum, pté se uživatelé mohou přihlásit k hlasování (registrací svého veřejného klíče do chytrého kontraktu). Uživatelé hlasují zasíláním zpráv zašifrovaných jejich veřejným klíčem do chytrého kontraktu (platný hlas musí být mimo jiné podepsán nejnovějším veřejným klíčem spojeným s identitou uživatele). Poté koordinátor zpracuje všechny zprávy po skončení hlasování, sečte hlasy a ověří výsledky na blockchainu.
V MACI se důkazy s nulovou znalostí používají k zajištění správnosti výpočtu tím, že koordinátorovi znemožní nesprávné zpracování hlasů a sečtení výsledků. Toho je dosaženo tím, že koordinátor musí vygenerovat důkazy ZK-SNARK ověřující, že a) všechny zprávy byly zpracovány správně, b) konečný výsledek odpovídá součtu všech _platných_ hlasů.
@@ -104,11 +104,11 @@ MACI tedy i bez sdílení podrobností o hlasech uživatelů (jak je tomu obvykl
- Alice tajně odešle zašifrovanou transakci, a tím změní veřejný klíč spojený se svou identitou.
- Alice odešle další (zašifrovanou) zprávu do chytrého kontraktu, čímž hlasuje pro `možnost A` pomocí nového veřejného klíče.
- Alice ukáže Bobovi transakci, která prokazuje, že hlasovala pro `možnost B` (tato transakce je neplatná, protože veřejný klíč, který pro tento hlas použila, již není spojen s Alicinou identitou v systému)
-- Při zpracovávání zpráv koordinátor přeskočí Alicin hlas pro `možnost B` a započítává pouze hlas pro `možnost A`. Bobův pokus manipulovat s hlasováním pomocí dohody s Alicí selže.
+- Při zpracovávání zpráv koordinátor přeskočí Alicin hlas pro `možnost B` a započítává pouze hlas pro `možnost A`. Proto Bobův pokus manipulovat s hlasováním pomocí tajné dohody s Alicí selže.
Používání MACI _vyžaduje_ víru, že se koordinátor nedomluví s úplatkáři nebo se nepokusí uplatit samotné voliče. Koordinátor může dešifrovat uživatelské zprávy (nezbytné pro vytvoření důkazu), takže pro něj není problém přesně ověřit, jak kdo hlasoval.
-Ale v případech, kdy je koordinátor čestný, MACI představuje mocný nástroj pro zaručení poctivosti hlasování v řetězci. To vysvětluje jeho popularitu mezi aplikacemi kvadratického financování (např. [clr.fund](https://clr.fund/#/about/maci)), které do značné míry spoléhají na nedotknutelnost volby každého jednotlivce.
+Ale v případech, kdy je koordinátor čestný, MACI představuje mocný nástroj pro zaručení poctivosti hlasování na blockchainu. To vysvětluje jeho popularitu mezi aplikacemi kvadratického financování (např. [clr.fund](https://clr.fund/#/about/maci)), které do značné míry spoléhají na nedotknutelnost volby každého jednotlivce.
[Zjistěte více o MACI](https://privacy-scaling-explorations.github.io/maci/).
@@ -211,4 +211,4 @@ ZK-STARK je považován za imunní vůči hrozbě kvantových počítačů, prot
- [ZK-STARKs — Vytvořte ověřitelnou důvěru, odolnou dokonce i proti kvantovým počítačům](https://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d) — _Adam Luciano_
- [Přibližné úvod k tomu, jak fungují zk-SNARKy](https://vitalik.eth.limo/general/2021/01/26/snarks.html) — _Vitalik Buterin_
- [Proč je Zero Knowledge Proof (ZKP) zásadní změnou pro samostatnou identitu](https://frankiefab.hashnode.dev/why-zero-knowledge-proofs-zkps-is-a-game-changer-for-self-sovereign-identity) — _Franklin Ohaegbulam_
-
+- [EIP-7503 vysvětleno: Povolení soukromých převodů na Ethereu pomocí důkazů nulové znalosti](https://research.2077.xyz/eip-7503-zero-knowledge-wormholes-for-private-ethereum-transactions#introduction) — _Emmanuel Awosika_
diff --git a/public/content/translations/de/community/grants/index.md b/public/content/translations/de/community/grants/index.md
index 19aa5e17cb3..188fd8f32f7 100644
--- a/public/content/translations/de/community/grants/index.md
+++ b/public/content/translations/de/community/grants/index.md
@@ -31,7 +31,7 @@ Diese Projekte haben ihre eigenen Zuschüsse für Projektvorhaben zur Entwicklun
- [Lido Ecosystem Grants Organisation (LEGO)](https://lido.fi/lego) – _[Lido](https://lido.fi/)-Finanzökosystem_
- [MetaMask-Programm](https://metamaskgrants.org/) – _Mitarbeitergeleitete DAO für[MetaMask](https://metamask.io/)-Zuschüsse_
- [SKALE-Network-Förderprogramm](https://skale.space/developers#grants) – _[SKALE-Network](https://skale.space/)-Ökosystem_
-- [Swarm Foundation-Förderprogramm](https://my.ethswarm.org/grants) – _[Swarm Foundation](https://www.ethswarm.org/)-Ökosystem_
+- [Swarm Foundation-Förderprogramm](https://my.ethswarm.org) – _[Swarm Foundation](https://www.ethswarm.org/)-Ökosystem_
- [The Graph](https://thegraph.com/ecosystem/grants/) – _[The Graph](https://thegraph.com/)-Ökosystem_
- [Uniswap-Förderprogramm](https://www.uniswapfoundation.org/approach) – _[Uniswap](https://uniswap.org/)-Community_
diff --git a/public/content/translations/de/contributing/translation-program/translators-guide/index.md b/public/content/translations/de/contributing/translation-program/translators-guide/index.md
index 3c8dab3cdd8..718e6300c14 100644
--- a/public/content/translations/de/contributing/translation-program/translators-guide/index.md
+++ b/public/content/translations/de/contributing/translation-program/translators-guide/index.md
@@ -116,7 +116,7 @@ Am besten ist es, Links direkt aus der Quelle zu kopieren, entweder durch Anklic

-Links erscheinen im Quelltext auch in Form von Tags (z. B. <0> 0>). Wenn Sie mit dem Mauszeiger über das Tag fahren, zeigt der Editor den vollständigen Inhalt an. Manchmal stellen diese Tags auch Links dar.
+Links erscheinen im Quelltext auch in Form von Tags (z. B. \<0> \0>). Wenn Sie mit dem Mauszeiger über das Tag fahren, zeigt der Editor den vollständigen Inhalt an. Manchmal stellen diese Tags auch Links dar.
Es ist sehr wichtig, die Links aus der Quelle zu kopieren und die Reihenfolge nicht zu verändern.
@@ -154,7 +154,7 @@ Nonce – _Nicht übersetzbarer Text_
Der Quelltext enthält auch verkürzte Tags, die nur Zahlen enthalten. Ihre Funktion ist dadurch nicht direkt ersichtlich. Sie können mit dem Mauszeiger über diese Tags fahren, um genau zu sehen, welche Funktion sie haben.
-Im folgenden Beispiel können Sie sehen, dass der Mauszeiger über dem <0> Tag zeigt, dass er `` darstellt und einen Code-Ausschnitt enthält. Daher sollte der Inhalt innerhalb dieser Tags nicht übersetzt werden.
+Im folgenden Beispiel können Sie sehen, dass der Mauszeiger über dem \<0> Tag zeigt, dass er `` darstellt und einen Code-Ausschnitt enthält. Daher sollte der Inhalt innerhalb dieser Tags nicht übersetzt werden.

diff --git a/public/content/translations/de/dao/index.md b/public/content/translations/de/dao/index.md
index 6272aef7d1f..f7922d74baf 100644
--- a/public/content/translations/de/dao/index.md
+++ b/public/content/translations/de/dao/index.md
@@ -16,7 +16,7 @@ summaryPoint3: Ein Ort, an dem sich Geldmittel für einen bestimmten Zweck siche
Eine DAO ist eine Organisation im kollektiven Besitz, die auf eine gemeinsame Mission hinarbeitet.
-DAOs ermöglichen es uns, mit Gleichgesinnten rund um den Globus zusammenzuarbeiten, ohne auf das Wohlwollen einer Führungskraft vertrauen zu müssen, die unsere Geldmittel oder die Operationen verwaltet. Es gibt keinen CEO, der Geld nach Lust und Laune ausgibt, und keinen Finanzchef, der die Buchhaltung manipulieren kann. Stattdessen bestimmen die in den Code eingebauten, Blockchain-basierten Regeln, wie die Organisation funktioniert und wie Geldmittel ausgegeben werden.
+DAOs ermöglichen es uns, mit Gleichgesinnten rund um den Globus zusammenzuarbeiten, ohne auf das Wohlwollen einer Führungskraft vertrauen zu müssen, die unsere Geldmittel oder die Operationen verwaltet. Es gibt keinen CEO, der Geldmittel nach Lust und Laune ausgibt, und keinen Finanzchef, der die Buchhaltung manipulieren kann. Stattdessen bestimmen die in den Code eingebauten, Blockchain-basierten Regeln, wie die Organisation funktioniert und wie Geldmittel ausgegeben werden.
Die Finanzverwaltung ist integriert und niemand kann ohne die Zustimmung der Gruppe auf die Mittel zugreifen. Entscheidungen werden nach Vorschlägen und Abstimmungen getroffen. So wird sichergestellt, dass jeder in der Organisation eine Stimme hat und dass alles transparent [on-Chain](/glossary/#on-chain) abläuft.
@@ -67,7 +67,7 @@ Um DAOs zu verwalten, sind vorher zahlreiche Überlegungen notwendig – etwa wi
### Delegation {#governance-delegation}
-Die Delegation ist die DAO-Variante repräsentativer Demokratie. Tokenbesitzer delegieren Stimmen an Nutzer, die sich selbst nominieren und sich verpflichten, auf dem aktuellen Stand zu bleiben und das Protokoll zu verwalten.
+Die Delegation ist die DAO-Variante repräsentativer Demokratie. Tokenbesitzer delegieren Stimmen an Benutzer, die sich selbst nominieren und sich verpflichten, auf dem aktuellen Stand zu bleiben und das Protokoll zu verwalten.
#### Bekanntes Beispiel {#governance-example}
@@ -91,7 +91,7 @@ Im US-Bundesstaat Wyoming wurde 1977 die LCC eingeführt, die Unternehmer schüt
### Bekanntes Beispiel {#law-example}
-[CityDAO](https://citydao.io) – CityDAO hat durch Wyomings DAO-Gesetz rund 16 Hektar Land in der Nähe des Yellowstone-Nationalparks gekauft.
+[CityDAO](https://citizen.citydao.io/) – CityDAO hat durch Wyomings DAO-Gesetz rund 16 Hektar Land in der Nähe des Yellowstone-Nationalparks gekauft.
## DAO-Mitgliedschaft {#dao-membership}
@@ -125,7 +125,7 @@ _Wird üblicherweise für die dezentralisierte Entwicklung und Verwaltung von Pr
#### Bekanntes Beispiel {#reputation-example}
-[DXdao](https://DXdao.eth.limo) – DXdao war eine weltweit souveräne Gemeinschaft, die seit 2019 dezentralisierte Protokolle und Applikationen entwickelte und verwaltete. Sie nutzte reputationsbasierte Verwaltung und [holografischen Konsens](/glossary/#holographic-consensus) zur Koordiantion und Verwaltung von Geldmitteln, d. h. niemand konnte sich Einfluss auf ihre Entwicklung oder Verwaltung erkaufen.
+[DXdao](https://DXdao.eth.limo) – DXdao war eine weltweit souveräne Gemeinschaft, die seit 2019 dezentralisierte Protokolle und Anwendungen entwickelte und verwaltete. Sie nutzte reputationsbasierte Verwaltung und [holografischen Konsens](/glossary/#holographic-consensus) zur Koordiantion und Verwaltung von Geldmitteln, d. h. niemand konnte sich Einfluss auf ihre Entwicklung oder Verwaltung erkaufen.
## DAO – Beitritt und Gründung {#join-start-a-dao}
diff --git a/public/content/translations/de/defi/index.md b/public/content/translations/de/defi/index.md
index 2ea94dbade5..420d834da9f 100644
--- a/public/content/translations/de/defi/index.md
+++ b/public/content/translations/de/defi/index.md
@@ -12,7 +12,7 @@ summaryPoint2: Produkte, mit denen Sie sich Geld leihen, sparen, investieren sow
summaryPoint3: Die Grundlage bildet Open-Source-Technologie, mit der jeder programmieren kann.
---
-DeFi ist ein offenes und globales Finanzsystem für das Zeitalter des Internets und bietet eine Alternative zu dem undurchsichtigen und streng kontrollierten System, das durch jahrzehntealte Infrastruktur und Prozesse zusammengehalten wird. Es gibt Ihnen Kontrollmöglichkeiten und Transparenz über Ihr Geld zurück. Zudem ermöglicht es Ihnen den Zugang zu globalen Märkten und Alternativen zu lokalen Währungs- oder Banksystemen. DeFi-Produkte ermöglichen jedem mit einer Internetverbindung den Zugang zu Finanzdienstleistungen. Sie sind zudem größtenteils im Besitz der eigenen Nutzer, die auch die Verwaltung übernehmen. Bis dato sind viele Milliarden Dollar an Kryptowährungen durch DeFi-Anwendungen geflossen und jeden Tag wird die Summe mehr.
+DeFi ist ein offenes und globales Finanzsystem für das Zeitalter des Internets und bietet eine Alternative zu dem undurchsichtigen und streng kontrollierten System, das durch jahrzehntealte Infrastruktur und Prozesse zusammengehalten wird. Es gibt Ihnen Kontrollmöglichkeiten und Transparenz über Ihr Geld zurück. Zudem ermöglicht es Ihnen den Zugang zu globalen Märkten und Alternativen zu lokalen Währungs- oder Banksystemen. DeFi-Produkte ermöglichen jedem mit einer Internetverbindung den Zugang zu Finanzdienstleistungen. Sie sind zudem größtenteils im Besitz der eigenen Benutzer, die auch die Verwaltung übernehmen. Bis dato sind viele Milliarden Dollar an Kryptowährungen durch DeFi-Anwendungen geflossen und jeden Tag wird die Summe mehr.
## Was ist DeFi? {#what-is-defi}
@@ -47,7 +47,7 @@ Um das wahre Potenzial von DeFi erkennen zu können, ist es wichtig, die aktuell
| Märkte sind rund um die Uhr geöffnet. | Märkte schließen, da es Beschränkungen für die Arbeitszeit von Angestellten gibt. |
| Basiert auf dem Transparenzprinzip – jeder kann die Daten eines Produktes einsehen und überprüfen, wie das System funktioniert. | Finanzinstitute sind wie geschlossene Bücher: Es ist nicht möglich, ihre Kredithistorie, Aufzeichnungen der verwalteten Vermögenswerte oder Ähnliches einzusehen. |
-
+
DeFi-Apps entdecken
@@ -65,7 +65,7 @@ Das klingt merkwürdig... „Warum würde ich mein Geld programmieren wollen?“
Machen Sie sich mit unseren Vorschlägen für DeFi-Anwendungen vertraut und testen sie, wenn Sie neu bei Ethereum sind.
-
+
DeFi-Apps entdecken
@@ -92,7 +92,7 @@ Für fast alle Finanzdienstleistungen gibt es dezentrale Alternativen. Ethereum
Als Blockchain ist Ethereum für sichere und globale Transaktionen konzipiert. Wie auch Bitcoin macht Ethereum das weltweite Senden von Geld so einfach wie das Versenden einer E-Mail. Geben Sie einfach den [ENS-Namen](/glossary/#ens) des Empfängers (z. B. bob.eth) oder die Kontoadresse der Wallet ein und schon geht die Zahlung (typischerweise) innerhalb von Minuten direkt beim Empfänger ein. Zum Senden oder Empfangen von Zahlungen ist eine [Wallet](/wallets/) erforderlich.
-
+
Siehe Zahlungs-dApps
@@ -123,7 +123,7 @@ Es gibt zwei etablierte Möglichkeiten, um Geld von dezentralen Anbietern zu lei
- Peer-to-Peer, das heißt der Kreditnehmer leiht direkt von einem bestimmten Kreditgeber.
- Pool-basiert, das heißt Kreditgeber stellen Geldmittel (Liquidität) für einen Pool bereit, aus dem Kreditnehmer die Mittel leihen können.
-
+
Siehe Lending-dApps
@@ -168,7 +168,7 @@ Gäbe es an Handelsplatz B kurzfristig zu wenig Angebot von Assets, wodurch Sie
Um das obige Beispiel in der etablierten Finanzwelt umzusetzen, benötigten Sie sehr viel Geld. Diese Strategien des Geldverdienens sind jenen mit großem bestehenden Vermögen vorbehalten. Flash Loans sind ein Beispiel einer Zukunft, in der der Besitz von Geld nicht die Voraussetzung dafür ist, Geld zu verdienen.
-
+
Mehr zu Flash Loans
@@ -185,7 +185,7 @@ Sie können Ihrer Krypto in Echtzeit beim Wachsen zusehen, indem Sie sie verleih
- Ihr aDai steigt auf Grundlage der Zinssätze an und Sie können Ihr Guthaben in Ihrer Wallet wachsen sehen. Abhängig von der [APR](/glossary/#apr) kann Ihr Wallet-Guthaben beispielsweise nach ein paar Tagen und sogar nur ein paar Stunden 100,1234 anzeigen!
- Sie können dann jederzeit normales Dai in Höhe Ihres aDai-Guthabens abheben.
-
+
Zu Lending-dApps
@@ -213,7 +213,7 @@ Auf Ethereum gibt es Tausende Token. Der Handel mit verschiedenen Token erfolgt
Wenn Sie zum Beispiel die No-Loss-Lotterie PoolTogether (wie oben beschrieben) nutzen möchten, benötigen Sie einen Token wie Dai oder USDC. An diesen DEXs können Sie Ihr ETH gegen solche Token eintauschen. Sobald Sie fertig sind, ist es wieder möglich, diese Token zurückzutauschen.
-
+
Zu Token-Handesplätzen
@@ -225,7 +225,7 @@ Für Trader, die sich mehr Kontrolle wünschen, gibt es fortgeschrittenere Optio
Wenn Sie sich für einen zentralen Handelsplatz entscheiden, müssen Sie Ihre Assets vor dem Handeln zuerst hinterlegen und darauf vertrauen, dass der Anbieter diese sicher verwahrt. Während Ihre Assets bei dem Anbieter hinterlegt sind, sind sie dem Risiko von Hackerangriffen ausgesetzt.
-
+
Zu Trading-dApps
@@ -237,7 +237,7 @@ Auf Ethereum gibt es auch Produkte für das Portfoliomanagement, deren Ziel es i
Ein gutes Beispiel ist der [DeFi Pulse Index Fund (DPI)](https://defipulse.com/blog/defi-pulse-index/). Es handelt sich um einen Fonds, der automatisch ein Rebalancing durchführt, um sicherzustellen, dass Ihr Portfolio immer die besten DeFi-Token nach Marktkapitalisierung enthält. Sie werden niemals irgendwelche Details verwalten müssen und können jederzeit Abhebungen aus dem Fonds tätigen.
-
+
Zu Investment-dApps
@@ -251,7 +251,7 @@ Ethereum ist die ideale Platform für Crowdfunding:
- Das System ist transparent, so dass Spendensammler beweisen können, wie viel Geld gesammelt wurde. Es lässt sich sogar nachverfolgen, wie die Mittel später ausgegeben werden.
- Spendensammler können automatische Erstattungen einrichten, wenn es beispielsweise eine bestimmte Frist und einen Mindestbetrag gibt, die bzw. der nicht eingehalten oder erreicht wird.
-
+
Zu Crowdfunding-dApps
@@ -280,7 +280,7 @@ Eine dezentralisierte Versicherung zielt darauf ab, Versicherungen billiger und
Bei Ethereum-Produkten gibt es wie auch bei jeder anderen Software Fehler und Exploits. Derzeit liegt beispielsweise bei vielen Versicherungsprodukten in diesem Bereich der Schwerpunkt auf dem Schutz der Benutzer vor finanziellen Verlusten. Es gibt jedoch Projekte, die damit beginnen, einen Versicherungsschutz für alles Unwägbarkeiten aufzubauen, die das Leben uns bescheren kann. Ein gutes Beispiel ist die Ernteversicherung von Etherisc. Es wird versucht, [Kleinbauern in Kenia gegen Dürren und Überschwemmungen abzusichern](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Dezentrale Versicherungen können Landwirten, denen herkömmliche Versicherungen oft zu teuer sind, einen erschwinglichen Versicherungsschutz bieten.
-
+
Zu Versicherungs-dApps
@@ -290,7 +290,7 @@ Bei Ethereum-Produkten gibt es wie auch bei jeder anderen Software Fehler und Ex
Bei all diesen Entwicklungen brauchen Sie einen Weg, um alle Ihre Investitionen, Darlehen und Trades im Auge zu behalten. Es gibt eine Reihe von Produkten, mit denen Sie alle Ihre DeFi-Aktivitäten zentral koordinieren können. Das ist der Vorteil der offenen Architektur von DeFi. Teams können Schnittstellen entwickeln, über die Sie nicht nur Ihr Guthaben für alle Produkte sehen, sondern zusätzlich auch deren Funktionen nutzen können. Das finden Sie vielleicht nützlich, wenn Sie sich umfassender mit DeFi vertraut machen.
-
+
Zu Portfolio-dApps
@@ -322,7 +322,7 @@ DeFi ist praktisch ein Ebenenmodell:
1. Die Blockchain: Ethereum enthält den Transaktionsverlauf und den Status der Konten.
2. Die Assets: [ETH](/eth/) und die anderen Token (Währungen).
3. Die Protokolle – [Smart Contracts](/glossary/#smart-contract), die die Funktionalität bereitstellen, z.B. einen Dienst, der die dezentrale Ausleihe von Vermögenswerten ermöglicht.
-4. [Die Anwendungen](/dapps/): Produkte die wir benutzen, um Protokolle zu verwalten und auf diese zuzugreifen.
+4. [Die Anwendungen](/apps/): Produkte die wir benutzen, um Protokolle zu verwalten und auf diese zuzugreifen.
Merke: Vieles von DeFi nutzt den [ERC-20-Standard](/glossary/#erc-20). Anwendungen in DeFi nutzen einen Wrapper namens „Wrapped Ether“ (WETH) für ETH. [Erfahren Sie mehr über Wrapped Ether](/wrapped-eth).
@@ -355,3 +355,7 @@ DeFi ist eine Open-Source-Bewegung. DeFi-Protokolle und -Anwendungen sind für j
- [DeFi Llama Discord Server](https://discord.defillama.com/)
- [DeFi Pulse Discord Server](https://discord.gg/Gx4TCTk)
+
+
+
+
diff --git a/public/content/translations/de/desci/index.md b/public/content/translations/de/desci/index.md
index 11b8332fb93..f5049dafcb1 100644
--- a/public/content/translations/de/desci/index.md
+++ b/public/content/translations/de/desci/index.md
@@ -96,7 +96,7 @@ Erkunden Sie Projekte und werden Sie Teil der DeSci-Gemeinschaft.
- [VitaDAO: langfristige Forschung finanziert durch gesponserte Forschungsverträge](https://www.vitadao.com/)
- [ResearchHub: wissenschaftliche Ergebnisse veröffentlichen und in Diskurs mit Partnern gehen](https://www.researchhub.com/)
- [LabDAO: Falten eines Proteins in Silizium](https://alphafodl.vercel.app/)
-- [dClimate API: Klimadaten abfragen, die von einer dezentralen Gemeinschaft erfasst werden](https://api.dclimate.net/)
+- [dClimate API: Klimadaten abfragen, die von einer dezentralen Gemeinschaft erfasst werden](https://www.dclimate.net/)
- [DeSci Foundation: DeSci Publishing Tool Builder](https://descifoundation.org/)
- [DeSci.World: One-Stop-Shop für Benutzer, mit dezentralisierter Wissenschaft](https://desci.world)
- [OceanDAO: DAO regelte die Finanzierung der datenbezogenen Wissenschaft](https://oceanprotocol.com/)
@@ -118,7 +118,7 @@ Wir freuen uns über Vorschläge für neue Projekte, die in die Liste aufgenomme
- [Ein Leitfaden für die dezentrale Biotechnologie von Jocelynn Perl für die Zukunft von a16z](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [Die Argumente für DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [Anleitung zu DeSci](https://future.com/what-is-decentralized-science-aka-desci/)
-- [Dezentralisierte Wissenschaftsressourcen](https://www.vincentweisser.com/decentralized-science)
+- [Dezentralisierte Wissenschaftsressourcen](https://www.vincentweisser.com/desci)
- [Die Biopharma-IP-NFTs von Molecule – Eine technische Beschreibung](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [Aufbau zuverlässiger Wissenschaftssysteme von Jon Starr](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Paul Kohlhaas – DeSci: die Zukunft der dezentralisierten Wissenschaft (Podcast)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a)
diff --git a/public/content/translations/de/developers/docs/apis/json-rpc/index.md b/public/content/translations/de/developers/docs/apis/json-rpc/index.md
index 4c78d00071d..ad51b54df9a 100644
--- a/public/content/translations/de/developers/docs/apis/json-rpc/index.md
+++ b/public/content/translations/de/developers/docs/apis/json-rpc/index.md
@@ -207,8 +207,8 @@ Keine
Die vollständige Liste der aktuellen Netzwerk-IDs ist verfügbar unter [chainlist.org](https://chainlist.org). Einige häufige sind:
- `1`: Ethereum Mainnet
-- `5`: Goerli Testnetz
- `11155111`: Sepolia Testnetz
+- `560048` : Hoodi Testnetz
**Beispiel**
diff --git a/public/content/translations/de/developers/docs/consensus-mechanisms/pos/index.md b/public/content/translations/de/developers/docs/consensus-mechanisms/pos/index.md
index 904abb687ac..dc5a02febc1 100644
--- a/public/content/translations/de/developers/docs/consensus-mechanisms/pos/index.md
+++ b/public/content/translations/de/developers/docs/consensus-mechanisms/pos/index.md
@@ -18,26 +18,26 @@ Proof-of-Stake ist eine Methode, mit der nachgewiesen wird, dass Validatoren ein
Um als Validator teilzunehmen, muss ein Nutzer 32 ETH im Einzahlungsvertrag hinterlegen und drei separate Softwarekomponenten ausführen: einen Ausführungs-Client, einen Konsens-Client und einen Validator-Client. Wenn der Nutzer seine ETH hinterlegt, tritt er in eine Aktivierungswarteschlange ein, die die Anzahl neuer Validatoren begrenzt, die dem Netzwerk beitreten. Nach der Aktivierung erhalten Validatoren neue Blöcke von Peers im Ethereum-Netzwerk. Die im Block enthaltenen Transaktionen werden erneut ausgeführt, um zu prüfen, ob die vorgeschlagenen Änderungen am Ethereum-Status gültig sind. Zusätzlich dazu erfolgt die Überprüfung der Blocksignatur. Der Validator versendet dann ein Votum (genannt Attestierung) zugunsten dieses Blocks über das Netzwerk.
-Bei Proof-of-Work war das Timing der Blocks durch die Schwierigkeit des Minings bestimmt. Bei Proof-of-Work ist das Tempo hingegen festgelegt. Die Zeit wird bei Proof-of-Stake-Ethereum in Slots (12 Sekunden) und Epochen (32 Slots) unterteilt. Ein Validator wird in jedem Slot zufällig für das Vorschlagen eines Blocks ausgewählt. Es ist die Aufgabe dieses Validators, einen neuen Block zu erstellen und ihn an andere Knoten im Netzwerk zu versenden. In jedem Slot wird außerdem zufällig ein Komitee aus Validatoren ausgewählt, das per Abstimmung über die Gültigkeit des vorgeschlagenen Blocks entscheidet. Die Aufteilung des Validatoren-Sets in Komitees ist wichtig, um die Netzwerkbelastung in einem kontrollierbaren Rahmen zu halten. Die Komitees teilen das Validatoren-Team so auf, dass jeder aktive Validator in jeder Epoche Attestierungen abgibt, jedoch nicht in jedem Slot.
+Bei Proof-of-Work war das Timing der Blocks durch die Schwierigkeit des Minings bestimmt. Bei Proof-of-Work ist das Tempo hingegen festgelegt. Die Zeit wird bei Proof-of-Stake-Ethereum in Slots (12 Sekunden) und Epochen (32 Slots) unterteilt. Ein Validator wird in jedem Slot zufällig für das Vorschlagen eines Blocks ausgewählt. Es ist die Aufgabe dieses Validators, einen neuen Block zu erstellen und ihn an andere Nodes im Netzwerk zu versenden. In jedem Slot wird außerdem zufällig ein Komitee aus Validatoren ausgewählt, das per Abstimmung über die Gültigkeit des vorgeschlagenen Blocks entscheidet. Die Aufteilung des Validatoren-Sets in Komitees ist wichtig, um die Netzwerkbelastung in einem kontrollierbaren Rahmen zu halten. Die Komitees teilen das Validatoren-Team so auf, dass jeder aktive Validator in jeder Epoche Attestierungen abgibt, jedoch nicht in jedem Slot.
## Wie eine Transaktion auf Ethereum PoS ausgeführt wird {#transaction-execution-ethereum-pos}
Der folgende Abschnitt enthält eine End-to-End-Erklärung, wie eine Transaktion auf Ethereum Proof of Stake ausgeführt wird.
-1. Ein Nutzer erstellt und signiert eine [Transaktion](/developers/docs/transactions/) mit seinem privaten Schlüssel. Diese wird üblicherweise von einer Wallet oder einer Library wie [ether.js](https://docs.ethers.io/v5/), [web3js](https://docs.web3js.org/), [web3py](https://web3py.readthedocs.io/en/v5/) ect. gehandhabt, aber in Wirklichkeit nutzt der Anwender die [JSON-RPC API](/developers/docs/apis/json-rpc/) von Ethereum, um einen Knoten anzufragen. Der Nutzer setzte die Menge an Gas fest, die er als Trinkgeld an den Validator abgeben würde, um ihn dazu anzuregen, die Transaktion in einen Block aufzunehmen. Das [Trinkgeld](/developers/docs/gas/#priority-fee) wird an den Validator gezahlt, wohingegen die [Basisgebühr](/developers/docs/gas/#base-fee) verbrannt wird.
+1. Ein Nutzer erstellt und signiert eine [Transaktion](/developers/docs/transactions/) mit seinem privaten Schlüssel. Dies wird üblicherweise durch eine Wallet oder eine Bibliothek wie [ethers.js](https://docs.ethers.org/v6/), [web3js](https://docs.web3js.org/), [web3py](https://web3py.readthedocs.io/en/v5/) usw. verarbeitet, aber im Hintergrund stellt der Anwender mithilfe der [JSON-RPC-API](/developers/docs/apis/json-rpc/) von Ethereum eine Anfrage an einen Knoten. Der Nutzer setzte die Menge an Gas fest, die er als Trinkgeld an den Validator abgeben würde, um ihn dazu anzuregen, die Transaktion in einen Block aufzunehmen. Das [Trinkgeld](/developers/docs/gas/#priority-fee) wird an den Validator gezahlt, wohingegen die [Basisgebühr](/developers/docs/gas/#base-fee) verbrannt wird.
2. Die Transaktion wird an einen Ethereum [Ausführungsclient](/developers/docs/nodes-and-clients/#execution-client) übermittelt, der deren Gültigkeit verifiziert. Das bedeutet, sicherzustellen, dass der Sender über genügend ETH verfügt, um die Transaktion zu erfüllen, und dass er sie mit dem richtigen Schlüssel signiert hat.
-3. Wenn die Transaktion gültig ist, fügt der Ausführungsclient sie seinem lokalen Mempool (Liste der ausstehenden Transaktionen) hinzu und versendet sie über die Ausführungsebene im Gossip-Netzwerk an andere Knoten. Wenn andere Knoten von der Transaktion erfahren, fügen sie sie ebenfalls ihrem lokalen Mempool hinzu. Erfahrene Nutzer könnten davon absehen, ihre Transaktionen zu versenden, und sie stattdessen an spezialisierte Blockersteller weiterleiten, wie z. B. die [Flashbots Auction](https://docs.flashbots.net/flashbots-auction/overview). Dies ermöglicht es Ihnen, die Transaktionen in kommenden Blöcken so zu organisieren, dass maximaler Profit ([MEV](/developers/docs/mev/#mev-extraction)) erzielt wird.
-4. Einer der Validatoren-Nodes im Netzwerk ist der Block-Proposer für den aktuellen Slot, der zuvor mittels RANDAO pseudozufällig ausgewählt wurde. Dieser Knoten ist dafür verantwortlich, den nächsten Block zu erstellen und zu übertragen, der zur Ethereum-Blockchain hinzugefügt wird, und dafür, den globalen Status zu aktualisieren. Der Knoten setzt sich aus drei Teilen zusammen: einem Ausführungsclient, einem Konsensclient und einem Validatorenclient. Der Ausführungsclient bündelt Transaktionen aus dem lokalen Mempool zu einer „Ausführungsnutzlast“ und führt sie lokal aus, um eine Zustandsänderung herbeizuführen. Diese Informationen werden an den Konsensclient weitergeleitet, wo die Ausführungsnutzlast als Teil eines „Beacon-Blocks“ verpackt wird, der auch Informationen über Belohnungen, Strafen, Slashings, Attestierungen usw. enthält, die es dem Netzwerk ermöglichen, sich auf die Reihenfolge der Blöcke an der Spitze der Chain zu einigen. Die Kommunikation zwischen den Ausführungs- und Konsensclients wird in [Konsens- und Ausführungsclients miteinander verbinden](/developers/docs/networking-layer/#connecting-clients) näher beschrieben.
-5. Andere Knoten empfangen den neuen Beacon-Block über das Gossip-Netzwerk auf der Konsensebene. Sie leiten ihn an ihren Ausführungs-Client weiter, wo die Transaktionen erneut lokal ausgeführt werden, um sicherzustellen, dass die vorgeschlagene Zustandsänderung gültig ist. Der Validator-Client attestiert dann die Gültigkeit des Blocks und dass er den logisch nächsten Block in seiner Sicht auf die Chain darstellt (d. h. er baut auf der Chain mit dem größten Gewicht an Attestierungen auf, o wie es in den [Abspaltungsregeln](/developers/docs/consensus-mechanisms/pos/#fork-choice) definiert ist). Der Block wird zur lokalen Datenbank in jedem Knoten hinzugefügt, der ihn attestiert.
+3. Wenn die Transaktion gültig ist, fügt der Ausführungsclient sie seinem lokalen Mempool (Liste der ausstehenden Transaktionen) hinzu und versendet sie über die Ausführungsebene im Gossip-Netzwerk an andere Nodes. Wenn andere Nodes von der Transaktion erfahren, fügen sie sie ebenfalls ihrem lokalen Mempool hinzu. Erfahrene Nutzer könnten davon absehen, ihre Transaktionen zu versenden, und sie stattdessen an spezialisierte Blockersteller weiterleiten, wie z. B. die [Flashbots Auction](https://docs.flashbots.net/flashbots-auction/overview). Dies ermöglicht es Ihnen, die Transaktionen in kommenden Blöcken so zu organisieren, dass maximaler Profit ([MEV](/developers/docs/mev/#mev-extraction)) erzielt wird.
+4. Einer der Validatoren-Nodes im Netzwerk ist der Block-Proposer für den aktuellen Slot, der zuvor mittels RANDAO pseudozufällig ausgewählt wurde. Dieser Node ist dafür verantwortlich, den nächsten Block zu erstellen und zu übertragen, der zur Ethereum-Blockchain hinzugefügt wird, und dafür, den globalen Status zu aktualisieren. Der Node setzt sich aus drei Teilen zusammen: einem Ausführungsclient, einem Konsensclient und einem Validatorenclient. Der Ausführungsclient bündelt Transaktionen aus dem lokalen Mempool zu einer „Ausführungsnutzlast“ und führt sie lokal aus, um eine Zustandsänderung herbeizuführen. Diese Informationen werden an den Konsensclient weitergeleitet, wo die Ausführungsnutzlast als Teil eines „Beacon-Blocks“ verpackt wird, der auch Informationen über Belohnungen, Strafen, Slashings, Attestierungen usw. enthält, die es dem Netzwerk ermöglichen, sich auf die Reihenfolge der Blöcke an der Spitze der Chain zu einigen. Die Kommunikation zwischen den Ausführungs- und Konsensclients wird in [Konsens- und Ausführungsclients miteinander verbinden](/developers/docs/networking-layer/#connecting-clients) näher beschrieben.
+5. Andere Nodes empfangen den neuen Beacon-Block über das Gossip-Netzwerk auf der Konsensebene. Sie leiten ihn an ihren Ausführungs-Client weiter, wo die Transaktionen erneut lokal ausgeführt werden, um sicherzustellen, dass die vorgeschlagene Zustandsänderung gültig ist. Der Validator-Client attestiert dann die Gültigkeit des Blocks und dass er den logisch nächsten Block in seiner Sicht auf die Chain darstellt (d. h. er baut auf der Chain mit dem größten Gewicht an Attestierungen auf, o wie es in den [Abspaltungs-Wahl-Regeln](/developers/docs/consensus-mechanisms/pos/#fork-choice) definiert ist). Der Block wird zur lokalen Datenbank in jedem Node hinzugefügt, der ihn attestiert.
6. Eine Transaktion kann als „finalisiert“ angesehen werden, wenn sie Teil einer Chain geworden ist, wobei zwischen zwei Checkpoints eine „Supermajority-Verbindung“ besteht. Zu Checkpoints kommt es zu Beginn jeder Epoche. Sie sollen der Tatsache Rechnung tragen, dass in jedem Slot nur eine bestimmte Teilmenge der aktiven Validatoren Attestierungen abgibt, wohingegen über die gesamte Epoche gesehen alle aktiven Validatoren Attestierungen abgeben. Deshalb kann eine „Supermajority-Verbindung“ nur zwischen Epochen nachgewiesen werden (hier stimmen 66 % der gesamten eingesetzten ETH im Netzwerk über zwei Checkpoints überein).
-Weitere Details zur Finalität finden Sie unten.
+Weitere Details zur Endgültigkeit finden Sie unten.
## Endgültigkeit {#finality}
-Eine Transaktion hat in verteilten Netzwerken „Finalität“, wenn sie Teil eines Blocks ist, der nicht geändern werden kann, ohne dass eine große Menge ETH verbrannt wird. Auf Proof-of-Stake-Ethereum wird dies mithilfe von „Checkpoint“-Blöcken verwaltet. Der erste Block jeder Epoche ist ein Checkpoint. Validatoren stimmen für Paare von Checkpoints ab, die sie als gültig einstufen. Wenn ein Paar von Checkpoints Stimmen auf sich vereint, die mindestens zwei Drittel der gesamten eingesetzten ETH repräsentieren, werden die Checkpoints aktualisiert. Der aktuellere der beiden (Ziel) wird „berechtigt“. Der frühere der beiden ist bereits berechtigt, da er in der vorherigen Epoche das „Ziel“ war. Jetzt wird er auf „finalisiert“ aktualisiert.
+Eine Transaktion hat in verteilten Netzwerken „Endgültigkeit“, wenn sie Teil eines Blocks ist, der nicht geändern werden kann, ohne dass eine große Menge ETH verbrannt wird. Auf Proof-of-Stake-Ethereum wird dies mithilfe von „Checkpoint“-Blöcken verwaltet. Der erste Block jeder Epoche ist ein Checkpoint. Validatoren stimmen für Paare von Checkpoints ab, die sie als gültig einstufen. Wenn ein Paar von Checkpoints Stimmen auf sich vereint, die mindestens zwei Drittel der gesamten eingesetzten ETH repräsentieren, werden die Checkpoints aktualisiert. Der aktuellere der beiden (Ziel) wird „berechtigt“. Der frühere der beiden ist bereits berechtigt, da er in der vorherigen Epoche das „Ziel“ war. Jetzt wird er auf „finalisiert“ aktualisiert.
-Um diesen Vorgang für einen finalisierten Block rückgängig zu machen, müsste ein Angreifer sich dazu bereit erklären, mindestens ein Drittel der Gesamtmenge an eingesetzten ETH zu verlieren. Der genaue Grund dafür wird in diesem [Ethereum Foundation-Blogbeitrag](https://blog.ethereum.org/2016/05/09/on-settlement-finality/) erklärt. Da für die Finalität eine Zwei-Drittel-Mehrheit erforderlich ist, könnte ein Angreifer verhindern, dass das Netzwerk Finalität erreicht, indem er mit einem Drittel des gesamten Einsatzes abstimmt. Es gibt einen Mechanismus, um sich dagegen zu verteidigen: das [Inactivity Leak](https://eth2book.info/bellatrix/part2/incentives/inactivity). Dieses tritt immer dann in Kraft, wenn die Chain in mehr als vier Epochen nicht finalisiert wird. Das Inactivity Leak entzieht den Validatoren die eingesetzten ETH, die gegen die Mehrheit stimmen, wodurch die Mehrheit wieder eine Zwei-Drittel-Mehrheit erreichen und die Chain finalisieren kann.
+Um diesen Vorgang für einen finalisierten Block rückgängig zu machen, müsste ein Angreifer sich dazu bereit erklären, mindestens ein Drittel der Gesamtmenge an eingesetzten ETH zu verlieren. Der genaue Grund dafür wird in diesem [Ethereum Foundation-Blogbeitrag](https://blog.ethereum.org/2016/05/09/on-settlement-finality/) erklärt. Da für die Endgültigkeit eine Zwei-Drittel-Mehrheit erforderlich ist, könnte ein Angreifer verhindern, dass das Netzwerk Endgültigkeit erreicht, indem er mit einem Drittel des gesamten Einsatzes abstimmt. Es gibt einen Mechanismus, um sich dagegen zu verteidigen: das [Inactivity Leak](https://eth2book.info/bellatrix/part2/incentives/inactivity). Dieses tritt immer dann in Kraft, wenn die Chain in mehr als vier Epochen nicht finalisiert wird. Das Inactivity Leak entzieht den Validatoren die eingesetzten ETH, die gegen die Mehrheit stimmen, wodurch die Mehrheit wieder eine Zwei-Drittel-Mehrheit erreichen und die Chain finalisieren kann.
## Kryptoökonomische Sicherheit {#crypto-economic-security}
@@ -47,18 +47,18 @@ Die Höhe der geslashten ETH hängt davon ab, wie viele Validatoren ungefähr zu
## Auswahl abgeben {#fork-choice}
-Wenn das Netzwerk optimal und auf ehrliche Weise funktioniert, gibt es immer nur einen neuen Block an der Spitze der Chain und alle Validatoren bestätigen dies durch ihre Attestierungen. Es ist jedoch möglich, dass Validatoren aufgrund der Netzwerklatenz oder mehrdeutiger Aussagen eines Block-Vorschlagenden unterschiedliche Ansichten über Spitze der Chain haben. Daher benötigen Konsens-Clients einen Algorithmus, um zu entscheiden, welchen sie bevorzugen sollen. Der für Proof-of-Stake-Ethereum verwendete Algorithmus heißt [LMD-GHOST](https://arxiv.org/pdf/2003.03052.pdf). Er funktioniert so, dass er die Fork identifiziert, die das größte Gewicht an Attestierungen in ihrer Historie hat.
+Wenn das Netzwerk optimal und auf ehrliche Weise funktioniert, gibt es immer nur einen neuen Block an der Spitze der Chain und alle Validatoren bestätigen dies durch ihre Attestierungen. Es ist jedoch möglich, dass Validatoren aufgrund der Netzwerklatenz oder mehrdeutiger Aussagen eines Block-Proposers unterschiedliche Ansichten über Spitze der Chain haben. Daher benötigen Konsens-Clients einen Algorithmus, um zu entscheiden, welchen sie bevorzugen sollen. Der für Proof-of-Stake-Ethereum verwendete Algorithmus heißt [LMD-GHOST](https://arxiv.org/pdf/2003.03052.pdf). Er funktioniert so, dass er die Abspaltung identifiziert, die das größte Gewicht an Attestierungen in ihrer Historie hat.
## Proof-of-Stake und Sicherheit {#pos-and-security}
-Die Gefahr eines [51 %-Angriffs](https://www.investopedia.com/terms/1/51-attack.asp) besteht genauso unter Proof-of-Stake, wie sie unter Proof-of-Work bestand. Allerdings ist das Risiko für die Angreifer höher. Ein Angreifer müsste über 51 % der eingesetzten ETH verfügen. Er könnte dann seine eigenen Attestierungen einsetzen, um sicherzustellen, dass seine gewünschte Fork diejenige mit den meisten kumulierten Attestierungen ist. Das „Gewicht“ der kumulierten Attestierungen wird von Konsens-Clients verwendet, um die richtige Chain zu bestimmen. Ein Angreifer mit 51 % der eingesetzten ETH hätte also die Möglichkeit, seine Fork zur kanonischen zu machen. Ein Vorteil von Proof-of-Stake gegenüber Proof-of-Work besteht allerdings darin, dass die Community Flexibilität bei der Durchführung einer Gegenattacke hat. Zum Beispiel könnten die ehrlichen Validatoren beschließen, weiterhin auf der Minderheits-Chain aufzubauen und gleichzeitig die Fork des Angreifers zu ignorieren, während sie Apps, Börsen und Pools ermutigen, es ihnen gleichzutun. Sie könnten auch beschließen, den Angreifer gewaltsam aus dem Netzwerk zu entfernen und seine eingesetzten ETH zu vernichten. Diese Maßnahmen stellen starke wirtschaftliche Verteidigungsmechanismen gegen einen 51 %-Angriff dar.
+Die Gefahr eines [51 %-Angriffs](https://www.investopedia.com/terms/1/51-attack.asp) besteht genauso unter Proof-of-Stake, wie sie unter Proof-of-Work bestand. Allerdings ist das Risiko für die Angreifer höher. Ein Angreifer müsste über 51 % der eingesetzten ETH verfügen. Er könnte dann seine eigenen Attestierungen einsetzen, um sicherzustellen, dass seine gewünschte Abspaltung diejenige mit den meisten kumulierten Attestierungen ist. Das „Gewicht“ der kumulierten Attestierungen wird von Konsens-Clients verwendet, um die richtige Chain zu bestimmen. Ein Angreifer mit 51 % der eingesetzten ETH hätte also die Möglichkeit, seine Abspaltung zur kanonischen zu machen. Ein Vorteil von Proof-of-Stake gegenüber Proof-of-Work besteht allerdings darin, dass die Community Flexibilität bei der Durchführung einer Gegenattacke hat. Zum Beispiel könnten die ehrlichen Validatoren beschließen, weiterhin auf der Minderheits-Chain aufzubauen und gleichzeitig die Abspaltung des Angreifers zu ignorieren, während sie Apps, Börsen und Pools ermutigen, es ihnen gleichzutun. Sie könnten auch beschließen, den Angreifer gewaltsam aus dem Netzwerk zu entfernen und seine eingesetzten ETH zu vernichten. Diese Maßnahmen stellen starke wirtschaftliche Verteidigungsmechanismen gegen einen 51 %-Angriff dar.
Neben 51 %-Angriffen könnten böswillige Akteure auch versuchen, andere Arten von schädlichen Aktivitäten durchzuführen, wie zum Beispiel:
-- Langstreckenangriffe (obwohl das Finalitäts-Gadget diesen Angriffsvektor neutralisiert)
+- Langstreckenangriffe (obwohl das Endgültigkeits-Gadget diesen Angriffsvektor neutralisiert)
- Kurzstrecken-'Reorgs' (werden durch Proposer-Boosting und Fristen für Attestierungen abgeschwächt)
- Bouncing- und Balancing-Angriffe (ebenfalls durch das Proposer-Boosting abgeschwächt; diese Angriffe wurden ohnehin nur unter idealisierten Netzwerkbedingungen demonstriert)
-- Lawinenangriffe (neutralisiert durch die Regel des Fork-Wahl-Algorithmus, die besagt, dass nur die neueste Nachricht berücksichtigt wird)
+- Lawinenangriffe (neutralisiert durch die Regel des Abspaltungs-Wahl-Algorithmus, die besagt, dass nur die neueste Nachricht berücksichtigt wird)
Es hat sich insgesamt gezeigt, dass Proof-of-Stake, wie es auf Ethereum implementiert ist, wirtschaftlich sicherer ist als Proof-of-Work.
diff --git a/public/content/translations/de/developers/docs/consensus-mechanisms/pos/keys/index.md b/public/content/translations/de/developers/docs/consensus-mechanisms/pos/keys/index.md
index d9c848f22fc..5c21f4e0413 100644
--- a/public/content/translations/de/developers/docs/consensus-mechanisms/pos/keys/index.md
+++ b/public/content/translations/de/developers/docs/consensus-mechanisms/pos/keys/index.md
@@ -14,7 +14,7 @@ Dieser neue Schlüsseltyp verwendet das Signaturschema [**Boneh-Lynn-Shacham (BL
## Die beiden Arten von Validatorenschlüsseln {#two-types-of-keys}
-Vor dem Wechsel zu Proof-of-Stake verfügten Ethereum-Benutzer nur über einen einzigen auf einer elliptischen Kurve basierenden privaten Schlüssel, mit dem sie auf ihre Assets zugreifen konnten. Mit der Einführung von Proof-of-Stake brauchten Benutzer, die Solo-Staker sein wollten, auch einen **Validatorenschlüssel** und einen **Auszahlungsschlüssel**.
+Vor dem Wechsel zu Proof-of-Stake verfügten Ethereum-Benutzer nur über einen einzigen auf einer elliptischen Kurve basierenden privaten Schlüssel, mit dem sie auf ihre Geldmittel zugreifen konnten. Mit der Einführung von Proof-of-Stake brauchten Benutzer, die Solo-Staker sein wollten, auch einen **Validatorenschlüssel** und einen **Auszahlungsschlüssel**.
### Der Validatorenschlüssel {#validator-key}
diff --git a/public/content/translations/de/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md b/public/content/translations/de/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
index 12876cac61c..9ab712fd77c 100644
--- a/public/content/translations/de/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
+++ b/public/content/translations/de/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
@@ -74,7 +74,7 @@ Wenn diese Aktionen erkannt werden, wird der Validator geslasht. Das bedeutet, d
## Inactivity Leak {#inactivity-leak}
-Wenn es in der Konsensebene mehr als vier Epochen lang zu keiner Finalisierung kam, wird ein Notfallprotokoll namens „Inactivity Leak“ aktiviert. Das ultimative Ziel des Inactivity Leak ist es, die Bedingungen dafür zu schaffen, dass die Chain Endgültigkeit wiedererlangen kann. Wie oben erläutert erfordert die Endgültigkeit eine 2/3-Mehrheit des gesamten eingesetzten Ethers, um sich auf Quell- und Ziel-Checkpoints zu einigen. Wenn Validatoren, die mehr als 1/3 der gesamten Validatoren repräsentieren, offline gehen oder es versäumen, korrekten Attestierungen einzureichen, ist es für eine 2/3-Supermajority nicht möglich, die Checkpoints zu finalisieren. Das Inactivity Leak sorgt dafür, dass der Stake der inaktiven Validatoren allmählich verschwindet, bis sie weniger als 1/3 des gesamten Stakes kontrollieren, sodass die verbleibenden aktiven Validatoren die Chain finalisieren können. Wie groß der Pool der inaktiven Validatoren auch sein mag, die verbleibenden aktiven Validatoren werden schließlich >2/3 des Stakes kontrollieren. Der Verlust von Stake ist ein starker Anreiz für inaktive Validatoren, so schnell wie möglich wieder aktiv zu werden! Zu einem Szenario mit Inactivity Leak kam es auf dem Medalle-Testnetz, als <66 % der aktiven Validatoren in der Lage waren, einen Konsens zur derzeitigen Spitze der Blockchain zu erreichen. Das Inactivity Leak wurde aktiviert und später wurde die Endgültigkeit zurückgewonnen!
+Wenn es in der Konsensebene mehr als vier Epochen lang zu keiner Finalisierung kam, wird ein Notfallprotokoll namens „Inactivity Leak“ aktiviert. Das ultimative Ziel des Inactivity Leak ist es, die Bedingungen dafür zu schaffen, dass die Chain Endgültigkeit wiedererlangen kann. Wie oben erläutert erfordert die Endgültigkeit eine 2/3-Mehrheit des gesamten eingesetzten Ethers, um sich auf Quell- und Ziel-Checkpoints zu einigen. Wenn Validatoren, die mehr als 1/3 der gesamten Validatoren repräsentieren, offline gehen oder es versäumen, korrekten Attestierungen einzureichen, ist es für eine 2/3-Supermajority nicht möglich, die Checkpoints zu finalisieren. Das Inactivity Leak sorgt dafür, dass der Stake der inaktiven Validatoren allmählich verschwindet, bis sie weniger als 1/3 des gesamten Stakes kontrollieren, sodass die verbleibenden aktiven Validatoren die Chain finalisieren können. Wie groß der Pool der inaktiven Validatoren auch sein mag, die verbleibenden aktiven Validatoren werden schließlich >2/3 des Stakes kontrollieren. Der Verlust von Stake ist ein starker Anreiz für inaktive Validatoren, so schnell wie möglich wieder aktiv zu werden! Zu einem Szenario mit Inactivity Leak kam es auf dem Medalle-Testnetz, als \<66 % der aktiven Validatoren in der Lage waren, einen Konsens zur derzeitigen Spitze der Blockchain zu erreichen. Das Inactivity Leak wurde aktiviert und später wurde die Endgültigkeit zurückgewonnen!
Das Belohnungs-, Strafen- und Slashing-Design des Konsensmechanismus ermutigt die einzelnen Validatoren dazu, sich korrekt zu verhalten. Aus diesen Designentscheidungen ergibt sich jedoch ein System, das starke Anreize für eine gleichmäßige Verteilung der Validatoren auf mehrere Clients setzt und die Anreize zur Dominanz eines einzelnen Clients stark reduzieren sollte.
diff --git a/public/content/translations/de/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md b/public/content/translations/de/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
index 4b7cbeae84b..acb801f2e33 100644
--- a/public/content/translations/de/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
+++ b/public/content/translations/de/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
@@ -12,7 +12,7 @@ Um diese Seite zu verstehen, müssen zuerst die Grundlagen von [Proof-of-Stake](
## Welche Probleme löst die schwache Subjektivität? {#problems-ws-solves}
-Subjektivität ist bei Proof-of-Stake-Blockchains inhärent, da die Auswahl der korrekten Chain aus mehreren Forks durch das Zählen historischer Stimmen erfolgt. Dies setzt die Blockchain mehreren Angriffsvektoren aus. Dazu gehören auch Langstreckenangriffe, bei denen Nodes, die sehr früh an der Chain beteiligt waren, eine alternative Fork aufrechterhalten, die sie viel später zu ihrem eigenen Vorteil freigeben. Wenn 33 % der Validatoren ihren Stake zurückziehen, jedoch weiter attestieren und Blöcke produzieren, könnten diese andererseits eine alternative Fork generieren, die mit der kanonischen Chain in Konflikt steht. Neue Nodes oder Nodes, die lange Zeit offline waren, wissen möglicherweise nicht, dass diese angreifenden Validatoren ihre Geldmittel zurückgezogen haben. Angreifer könnten sie also dazu bringen, einer falschen Chain zu folgen. Ethereum kann dieses Problem mit Angriffsvektoren lösen, indem es Beschränkungen auferlegt, die die subjektiven Aspekte des Mechanismus – und damit die Vertrauensannahmen – auf das absolute Minimum reduziert.
+Subjektivität ist bei Proof-of-Stake-Blockchains inhärent, da die Auswahl der korrekten Chain aus mehreren Abspaltungen durch das Zählen historischer Stimmen erfolgt. Dies setzt die Blockchain mehreren Angriffsvektoren aus. Dazu gehören auch Langstreckenangriffe, bei denen Nodes, die sehr früh an der Chain beteiligt waren, eine alternative Abspaltung aufrechterhalten, die sie viel später zu ihrem eigenen Vorteil freigeben. Wenn 33 % der Validatoren ihren Stake zurückziehen, jedoch weiter attestieren und Blöcke produzieren, könnten diese andererseits eine alternative Abspaltung generieren, die mit der kanonischen Chain in Konflikt steht. Neue Nodes oder Nodes, die lange Zeit offline waren, wissen möglicherweise nicht, dass diese angreifenden Validatoren ihre Geldmittel zurückgezogen haben. Angreifer könnten sie also dazu bringen, einer falschen Chain zu folgen. Ethereum kann dieses Problem mit Angriffsvektoren lösen, indem es Beschränkungen auferlegt, die die subjektiven Aspekte des Mechanismus – und damit die Vertrauensannahmen – auf das absolute Minimum reduziert.
## Checkpoints von schwacher Subjektivität {#ws-checkpoints}
@@ -24,7 +24,7 @@ Finalisierte Blöcke und Checkpoints von schwacher Subjektivität werden von Eth
## Wie schwach ist schwach? {#how-weak-is-weak}
-Der subjektive Aspekt von Proof-of-Stake für Ethereum besteht darin, dass ein aktueller Zustand (Checkpoint von schwacher Subjektivität) aus einer vertrauenswürdigen Quelle erforderlich ist, von der aus die Synchronisierung erfolgen kann. Das Risiko, einen schlechten Checkpoint von schwacher Subjektivität zu erhalten, ist sehr gering, da diese anhand mehrerer unabhängiger öffentlicher Quellen wie Block-Explorer oder mehrerer Nodes überprüft werden können. Jedoch ist immer ein gewisses Maß an Vertrauen für die Ausführung jeder Software-Anwendung erforderlich. Zum Beispiel muss den Software-Entwicklern genug Vertrauen entgegengebracht werden, dass sie eine ehrliche Software produziert programmiert haben.
+Der subjektive Aspekt von Proof-of-Stake für Ethereum besteht darin, dass ein aktueller Zustand (Checkpoint von schwacher Subjektivität) aus einer vertrauenswürdigen Quelle erforderlich ist, von der aus die Synchronisierung erfolgen kann. Das Risiko, einen schlechten Checkpoint von schwacher Subjektivität zu erhalten, ist sehr gering, da diese anhand mehrerer unabhängiger öffentlicher Quellen wie Block-Explorer oder mehrerer Nodes überprüft werden können. Jedoch ist immer ein gewisses Maß an Vertrauen für die Ausführung jeder Software-Anwendung erforderlich. Zum Beispiel muss den Software-Entwicklern genug Vertrauen entgegengebracht werden, dass sie eine ehrliche Software programmiert haben.
Ein Checkpoint von schwacher Subjektivität könnte sogar als Teil der Client-Software kommen. Ein Angreifer kann wohl nicht nur den Checkpoint in der Software, sondern genauso leicht auch die Software selbst korrumpieren. Es gibt keinen echten kryptowirtschaftlichen Weg, dieses Problem zu umgehen. Der Einfluss unseriöser Entwickler wird in Ethereum allerdings dadurch minimiert, dass mehrere unabhängige Client-Teams beteiligt sind. Jedes Team entwickelt äquivalente Software in unterschiedlichen Programmiersprachen und hat ein eigenes Interesse daran, eine ehrliche Blockchain aufrechtzuerhalten. Block-Explorer können auch Checkpoints von schwacher Subjektivität oder eine Möglichkeit zum Abgleich von Checkpoints, die von anderer Stelle stammen, mit einer zusätzlichen Quelle bereitstellen.
diff --git a/public/content/translations/de/developers/docs/consensus-mechanisms/pow/index.md b/public/content/translations/de/developers/docs/consensus-mechanisms/pow/index.md
index 9c3375d78dd..1ed800dad17 100644
--- a/public/content/translations/de/developers/docs/consensus-mechanisms/pow/index.md
+++ b/public/content/translations/de/developers/docs/consensus-mechanisms/pow/index.md
@@ -106,4 +106,4 @@ Im Großen und Ganzen hat Proof-of-Stake dasselbe Ziel wie Proof-of-Work: dem de
- [Mining](/developers/docs/consensus-mechanisms/pow/mining/)
- [Proof-of-Stake](/developers/docs/consensus-mechanisms/pos/)
-- [Proof-of-authority](/developers/docs/consensus-mechanisms/poa/)
+- [Proof-of-Authority](/developers/docs/consensus-mechanisms/poa/)
diff --git a/public/content/translations/de/developers/docs/dapps/index.md b/public/content/translations/de/developers/docs/dapps/index.md
index 8cd27b4fc14..934f383496c 100644
--- a/public/content/translations/de/developers/docs/dapps/index.md
+++ b/public/content/translations/de/developers/docs/dapps/index.md
@@ -82,7 +82,7 @@ Ein Smart Contract ist ein Code, der auf der Ethereum-Blockchain existiert und g
## Weiterführende Informationen {#further-reading}
-- [Entdecken Sie dApps](/dapps)
+- [Entdecken Sie dApps](/apps)
- [Die Architektur einer Web 3.0-Anwendung](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) – _Preethi Kasireddy_
- [Ein Leitfaden für dezentrale Anwendungen aus dem Jahr 2021](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) – _LimeChain_
- [Was sind dezentrale Apps?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) – _Gemini_
diff --git a/public/content/translations/de/developers/docs/data-and-analytics/block-explorers/index.md b/public/content/translations/de/developers/docs/data-and-analytics/block-explorers/index.md
index c24cd65e26c..1ee0c1dfd60 100644
--- a/public/content/translations/de/developers/docs/data-and-analytics/block-explorers/index.md
+++ b/public/content/translations/de/developers/docs/data-and-analytics/block-explorers/index.md
@@ -26,6 +26,7 @@ Sie sollten das Basiskonzept von Ethereum verstehen, damit Sie die Daten, die Si
- [EthVM](https://www.ethvm.com/)
- [OKLink](https://www.oklink.com/eth)
- [Rantom](https://rantom.app/)
+- [Ethseer](https://ethseer.io)
## Open-Source-Werkzeuge {#open-source-tools}
@@ -54,7 +55,7 @@ Neue Blöcke werden alle 12 Sekunden zu Ethereum hinzugefügt (es sei denn, ein
- Gaslimit - Die Gaslimits, die von den Transaktionen im Block gesetzt wurden
- Grundgebühr pro Gas - Der Mindestmultiplikator, der erforderlich ist, damit eine Transaktion in einen Block aufgenommen werden kann
- Verbrannte Gebühren - Wie viel ETH in einem Block verbrannt wird
-- Extradaten – alle zusätzlichen Daten, die der Ersteller im Block eingefügt hat
+- Extradaten - alle zusätzlichen Daten, die der Ersteller im Block eingefügt hat
**Erweiterte Daten**
@@ -116,7 +117,7 @@ Smart-Contract-Konten verfügen über die gleichen Daten wie ein Benutzerkonto,
- Vertragsersteller - Die Adresse, die den Vertrag im Mainnet bereitgestellt hat
- Erstellungstransaktion - Die Transaktion, die die Bereitstellung im Mainnet beinhaltete
- Quellcode - Der Solidity- oder Vyper-Code des Smart Contracts
-- Vertrags-ABI - Die „Application Binary Interface“ - die Aufrufe, die der Vertrag tätigt, und die empfangenen Daten
+- Vertrags-ABI - Die "Application Binary Interface" - die Aufrufe, die der Vertrag tätigt, und die empfangenen Daten
- Vertragserstellungscode - Der kompilierte Bytecode des Smart Contracts – wird erstellt, wenn Sie einen in Solidity oder Vyper usw. geschriebenen Smart Contract kompilieren
- Vertragsereignisse - Eine Historie der im Smart Contract aufgerufenen Methoden – im Grunde eine Möglichkeit zu sehen, wie der Vertrag verwendet wird und wie oft
@@ -213,7 +214,7 @@ Validatoren sind dafür verantwortlich, Blöcke vorzuschlagen und sie innerhalb
### Beglaubigungen {#attestations}
-Attestierungen sind „Ja“-Stimmen für die Aufnahme von Blöcken in die Chain. Ihre Daten beziehen sich auf eine Aufzeichnung der Attestierung und der bestätigenden Validatoren.
+Attestierungen sind "Ja"-Stimmen für die Aufnahme von Blöcken in die Chain. Ihre Daten beziehen sich auf eine Aufzeichnung der Attestierung und der bestätigenden Validatoren.
- Slot - Der Slot, in dem die Attestierung stattgefunden hat
- Komitee-Index - Der Index des Komitees für den gegebenen Slot
@@ -237,13 +238,15 @@ Die Daten der obersten Ebene der Konsensebene umfassen Folgendes:
## Block Explorer {#block-explorers}
-- [Etherscan](https://etherscan.io/) - ein Block-Explorer, mit dem Sie Daten für Ethereum Mainnet und Goerli Testnetz abrufen können
+- [Etherscan](https://etherscan.io/) - ein Block-Explorer, mit dem Sie Daten für Ethereum Mainnet abrufen können
+- [Etherscan Sepolia](https://sepolia.etherscan.io/) - ein Block-Explorer, mit dem Sie Daten für das Sepolia Testnet abrufen können
+- [Etherscan Hoodi](https://hoodi.etherscan.io/) - ein Block-Explorer, mit dem Sie Daten für das Hoodi Testnet abrufen können
- [3xpl](https://3xpl.com/ethereum) – ein werbefreier Open-Source-Ethereum-Explorer, der den Download seiner Datensätze erlaubt
-- [Beaconcha.in](https://beaconcha.in/) - ein Open-Source-Block-Explorer für Ethereum Mainnet und Goerli Testnetz
+- [Beaconcha.in](https://beaconcha.in/) - ein Open-Source-Block-Explorer für Ethereum Mainnet
- [Blockchair](https://blockchair.com/ethereum) – Der privateste Ethereum-Explorer. Auch zum Sortieren und Filtern von (Mempool-) Daten
- [Etherchain](https://www.etherchain.org/) - Ein Block-Explorer für das Ethereum Mainnet
-- [Ethplorer](https://ethplorer.io/) - ein Block-Explorer mit Fokus auf Token für das Ethereum Mainnet und das Kovan Testnetz
-- [Rantom](https://rantom.app/) - Ein krypto-freundlicher Open-Source-Dienst, der in seine dezentrale Finanzplattform (DeFi)& integriert ist Visualisierung des Transaktionsvolumens von NFTs für einen detaillierten Überblick
+- [Ethplorer](https://ethplorer.io/) - ein Block-Explorer mit Fokus auf Token für das Ethereum Mainnet
+- [Rantom](https://rantom.app/) - Ein benutzerfreundlicher Open-Source-DeFi- und NFT-Transaktions-Viewer für detaillierte Einblicke
- [Ethernow](https://www.ethernow.xyz/) – ein Echtzeit-Transaktions-Explorer, der es ermöglicht, die Pre-Chain-Ebene des Ethereum-Mainnets einzusehen
## Weiterführende Informationen {#further-reading}
diff --git a/public/content/translations/de/developers/docs/data-and-analytics/index.md b/public/content/translations/de/developers/docs/data-and-analytics/index.md
index 215ca5fcd08..90348c1a85e 100644
--- a/public/content/translations/de/developers/docs/data-and-analytics/index.md
+++ b/public/content/translations/de/developers/docs/data-and-analytics/index.md
@@ -34,7 +34,7 @@ Die [Client-Vielfalt](/developers/docs/nodes-and-clients/client-diversity/) ist
## Dune Analytics {#dune-analytics}
-[Dune Analytics](https://dune.com/) verarbeitet Blockchain-Daten in relationalen Datenbanktabellen (PostgreSQL und DatabricksSQL) vor, ermöglicht Benutzern die Abfrage von Blockchain-Daten mit SQL und die Erstellung von Dashboards auf der Grundlage der Abfrageergebnisse. Die On-Chain-Daten sind in 4 Rohtabellen organisiert: `Blöcke`, `Transaktionen`, (Event) `Logs` und (Call) `Traces`. Beliebte Verträge und Protokolle liegen entschlüsselt vor und jedes hat seinen eigenen Satz von Event- und Call-Tabellen. Diese Event- und Call-Tabellen werden weiterverarbeitet und in Abstraktionstabellen nach der Art der Protokolle organisiert, z. B. Dex, Lending, Stablecoins usw.
+[Dune Analytics](https://dune.com/) verarbeitet Blockchain-Daten in relationalen Datenbanktabellen (DuneSQL) vor, ermöglicht Benutzern die Abfrage von Blockchain-Daten mit SQL und die Erstellung von Dashboards auf der Grundlage der Abfrageergebnisse. Die On-Chain-Daten sind in 4 Rohtabellen organisiert: `Blöcke`, `Transaktionen`, (Event) `Logs` und (Call) `Traces`. Beliebte Verträge und Protokolle liegen entschlüsselt vor und jedes hat seinen eigenen Satz von Event- und Call-Tabellen. Diese Event- und Call-Tabellen werden weiterverarbeitet und in Abstraktionstabellen nach der Art der Protokolle organisiert, z. B. Dex, Lending, Stablecoins usw.
## SubQuery Network {#subquery-network}
@@ -47,7 +47,7 @@ Um loszulegen, sehen Sie sich die [Ethereum-Schnellstartanleitung](https://acade
## Weiterführende Informationen {#further-reading}
-- [Graph Network-Übersicht](https://thegraph.com/docs/en/about/network/)
+- [Graph Network-Übersicht](https://thegraph.com/docs/en/about/)
- [Graph-Abfrageplatz](https://thegraph.com/explorer/subgraph/graphprotocol/graph-network-mainnet?version=current)
- [API-Code-Beispiele auf EtherScan](https://etherscan.io/apis#contracts)
- [Beaconcha.in Beacon Chain Explorer](https://beaconcha.in)
diff --git a/public/content/translations/de/developers/docs/development-networks/index.md b/public/content/translations/de/developers/docs/development-networks/index.md
index ee860d69acf..af781017dd1 100644
--- a/public/content/translations/de/developers/docs/development-networks/index.md
+++ b/public/content/translations/de/developers/docs/development-networks/index.md
@@ -41,16 +41,17 @@ Hardhat Network beinhaltet Hardhat, eine Ethereum-Entwicklungsumgebung für Prof
Einige Konsensclients verfügen über integrierte Tools, um lokale Beacon Chains zu Testzwecken zu erstellen. Anleitungen für Lighthouse, Nimbus und Lodestar sind verfügbar:
-- [Lokales Testnetz unter Verwendung von Lodestar](https://chainsafe.github.io/lodestar/usage/local/)
+- [Lokales Testnetz unter Verwendung von Lodestar](https://chainsafe.github.io/lodestar/contribution/advanced-topics/setting-up-a-testnet#post-merge-local-testnet/)
- [Lokales Testnetz unter Verwendung von Lighthouse](https://lighthouse-book.sigmaprime.io/setup.html#local-testnets)
- [Lokales Testnetz unter Verwendung von Nimbus](https://github.com/status-im/nimbus-eth1/blob/master/fluffy/docs/local_testnet.md)
### Öffentliche Ethereum Test-Chains {#public-beacon-testchains}
-Es gibt auch zwei öffentliche Testimplementierungen von Ethereum: Goerli und Sepolia. Das empfohlene Testnetz mit langfristiger Unterstützung ist Goerli, auf dem potenziell jeder validieren kann. Bei Sepolia handelt es sich um eine neuere, kleinere Chain, die ebenfalls auf absehbare Zeit gewartet werden soll und deren Validatoren ausgewählt sind (d. h. es gibt keinen offnen Zugang zu neuen Validatoren in diesem Testnetz). Die Ropsten Chain wird voraussichtlich im 4. Quartal 2022 und die Rinkeby Chain im 2. und 3. Quartal 2023 veraltet sein.
+Es gibt auch zwei öffentliche Testimplementierungen von Ethereum: Sepolia und Hoodi. Sepolia ist das empfohlene Standard-Testnetz für die Anwendungsentwicklung, mit einem geschlossenen Validatorsatz für schnelle Synchronisation. Hoodi ist ein Testnetz für Validierung und Staking, das einen offenen Validatorsatz verwendet und es potenziell jedem ermöglicht, zu validieren.
-- [Goerli Staking Launchpad](https://goerli.launchpad.ethereum.org/)
-- [Ropsten, Rinkeby & Kiln, Ankündigung der Abschaltung](https://blog.ethereum.org/2022/06/21/testnet-deprecation)
+- [Hoodi Staking Launchpad](https://hoodi.launchpad.ethereum.org/en/)
+- [Sepolia Website](https://sepolia.dev/)
+- [Hoodi Website](https://hoodi.ethpandaops.io/)
### Kurtosis Ethereum-Paket {#kurtosis}
diff --git a/public/content/translations/de/developers/docs/mev/index.md b/public/content/translations/de/developers/docs/mev/index.md
index 70d164de2c1..be1ba39a1bc 100644
--- a/public/content/translations/de/developers/docs/mev/index.md
+++ b/public/content/translations/de/developers/docs/mev/index.md
@@ -12,7 +12,7 @@ Dieses Konzept wurde erstmals im Rahmen des [Arbeitsnachweis](/developers/docs/c
## Voraussetzungen {#prerequisites}
-Stellen Sie sicher, dass Sie mit [Transaktionen](/developers/docs/transactions/), [Blöcken](/developers/docs/blocks/), [Gas](/developers/docs/gas/) und [Mining](/developers/docs/consensus-mechanisms/pow/mining/) vertraut sind. Eine Vertrautheit mit [dApps](/dapps/) und [DeFi](/defi/) ist ebenfalls hilfreich.
+Stellen Sie sicher, dass Sie mit [Transaktionen](/developers/docs/transactions/), [Blöcken](/developers/docs/blocks/), [Gas](/developers/docs/gas/) und [Mining](/developers/docs/consensus-mechanisms/pow/mining/) vertraut sind. Eine Vertrautheit mit [dApps](/apps/) und [DeFi](/defi/) ist ebenfalls hilfreich.
## MEV-Extrahierung {#mev-extraction}
diff --git a/public/content/translations/de/developers/docs/networks/index.md b/public/content/translations/de/developers/docs/networks/index.md
index bbf2289c3af..583edd737f4 100644
--- a/public/content/translations/de/developers/docs/networks/index.md
+++ b/public/content/translations/de/developers/docs/networks/index.md
@@ -16,33 +16,34 @@ Sie sollten die [Grundlagen von Ethereum](/developers/docs/intro-to-ethereum/) v
Öffentliche Netzwerke sind für jedermann auf der Welt mit einer Internetverbindung zugänglich. Jeder kann Transaktionen in einer öffentlichen Blockchain lesen oder erstellen und die ausgeführten Transaktionen validieren. Der Konsens zwischen den Peers entscheidet über die Aufnahme von Transaktionen und den Zustand des Netzwerks.
-### Ethereum-Mainnet {#ethereum-mainnet}
+### Ethereum Mainnet {#ethereum-mainnet}
Mainnet ist die primäre öffentliche Ethereum-Produktions-Blockchain, bei der Transaktionen mit tatsächlichem Wert im dezentralisierten Ledger stattfinden.
Wenn Menschen und Börsen ETH-Preise diskutieren, sprechen sie über Mainnet ETH.
-### Ethereum-Testnets {#ethereum-testnets}
+### Ethereum Testnetze {#ethereum-testnets}
-Zusätzlich zum Mainnet gibt es öffentliche Testnetze. Dabei handelt es sich um Netzwerke, die von Protokollentwicklern oder Smart-Contract-Entwicklern eingesetzt werden, um sowohl Protokoll-Upgrades als auch potenzielle Smart Contracts in einer produktionsähnlichen Umgebung zu testen, bevor sie ins Mainnet gelangen. Stelle dir dies als Analog zur Produktion im Vergleich zu Staging-Servern vor.
+Neben dem Mainnet gibt es öffentliche Testnetze. Diese werden von Protokollentwicklern oder Smart-Contract-Entwicklern verwendet, um sowohl Protokoll-Upgrades als auch potenzielle Smart Contracts in einer produktionsähnlichen Umgebung zu testen, bevor sie auf das Mainnet deployed werden. Stellen Sie sich das als Analogie zu Produktions- und Staging-Servern vor.
-Sie sollten jeden Contract-Code, den Sie schreiben, in einem Testnet testen, bevor Sie ihn im Mainnet einsetzen. dApps, die mit bestehenden Smart Contracts integriert werden, haben Kopien der meisten Projekte in Testnets bereitgestellt.
+Sie sollten jeden Contract-Code, den Sie schreiben, auf einem Testnet testen, bevor Sie ihn auf dem Mainnet deployen. Unter den dApps, die mit bestehenden Smart Contracts integriert sind, haben die meisten Projekte Kopien auf Testnetzen deployed.
-Die meisten Testnets begannen mit einem berechtigten Proof-of-Authority-Konsensmechanismus. Dies bedeutet, dass eine kleine Anzahl von Nodes ausgewählt wird, um Transaktionen zu validieren und neue Blöcke zu erstellen – und ihre Identität im Prozess zu hinterlegen. Alternativ dazu bieten einige Testnets einen offenen Proof-of-Stake-Konsensmechanismus, bei dem jeder testweise einen Valitador laufen lassen kann, genau wie beim Ethereum-Mainnet.
+Die meisten Testnetze begannen mit einem berechtigten Proof-of-Authority-Konsensmechanismus. Das bedeutet, dass eine kleine Anzahl von Nodes ausgewählt wird, um Transaktionen zu validieren und neue Blöcke zu erstellen – wobei sie ihre Identität in diesem Prozess einsetzen. Alternativ verfügen einige Testnetze über einen offenen Proof-of-Stake-Konsensmechanismus, bei dem jeder das Validieren testen kann, genau wie beim Ethereum Mainnet.
-ETH in Testnets soll keinen wirklichen Wert haben. Es wurden jedoch Märkte für bestimmte Arten von Testnet-ETH geschaffen, die knapp oder schwer zu bekommen sind. Da Sie ETH benötigen, um tatsächlich mit Ethereum zu interagieren (sogar auf Testnets), erhalten die meisten Nutzer Testnet-ETH kostenlos von Faucets. Die meisten Faucets sind Webapplikationen, bei denen Sie eine Adresse eingeben können, an die die ETH gesendet werden sollen.
+ETH auf Testnetzen soll keinen realen Wert haben; es wurden jedoch Märkte für bestimmte Arten von Testnet-ETH geschaffen, die knapp oder schwer zu erhalten geworden sind. Da Sie ETH benötigen, um tatsächlich mit Ethereum zu interagieren (selbst auf Testnetzen), erhalten die meisten Menschen Testnet-ETH kostenlos von Faucets. Die meisten Faucets sind Webanwendungen, in die Sie eine Adresse eingeben können, an die Sie ETH senden möchten.
#### Welches Testnet soll ich benutzen?
-Die beiden öffentlichen Testnets, die die Client-Entwickler derzeit betreiben, sind Sepolia und Goerli. Sepolia ist ein Netz für Smart Contract- und Anwendungsentwickler zum Testen ihrer Anwendungen. Das Goerli-Netz ermöglicht es Protokollentwicklern, Netzwerk-Upgrades zu testen, bzw. erlaubt es Stakern, laufende Validatoren zu testen.
+Die beiden öffentlichen Testnetze, die Client-Entwickler derzeit warten, sind Sepolia und Hoodi. Sepolia ist ein Netzwerk für Contract- und Anwendungsentwickler, um ihre Anwendungen zu testen. Das Hoodi-Netzwerk ermöglicht es Protokollentwicklern, Netzwerk-Upgrades zu testen, und Stakern, das Validieren zu testen.
#### Sepolia {#sepolia}
-**Sepolia ist das empfohlene Standard-Testnet für die Anwendungsentwicklung**. Das Sepolia-Netz verwendet ein berechtigtes Validator-Set. Es ist relativ neu, d. h. der Status und Verlauf sind beide recht klein. Das bedeutet, dass das Netzwerk schnell zu synchronisieren ist und dass der Betrieb eines Knotens weniger Speicherplatz erfordert. Das ist nützlich für Benutzer, die schnell einen Knoten einrichten und direkt mit dem Netzwerk interagieren möchten.
+**Sepolia ist das empfohlene Standard-Testnet für die Anwendungsentwicklung**.
+Das Sepolia-Netzwerk verwendet einen berechtigten Validatorsatz. Es ist relativ neu, was bedeutet, dass sein Zustand und seine Historie beide recht klein sind. Das bedeutet, dass das Netzwerk schnell synchronisiert und dass das Betreiben eines Nodes weniger Speicherplatz erfordert. Dies ist nützlich für Benutzer, die schnell einen Node starten und direkt mit dem Netzwerk interagieren möchten.
-- Geschlossener Validatorensatz, kontrolliert von Client und Testteams
-- Neues Testnet, weniger Anwendungen im Einsatz als auf anderen Testnets
-- Schnelle Synchronisierung und minimaler Speicherplatzbedarf für den Betrieb eines Knotens
+- Geschlossener Validatorsatz, kontrolliert von Client- und Testteams
+- Neues Testnet, weniger Anwendungen deployed als bei anderen Testnetzen
+- Schnelle Synchronisation und minimaler Speicherplatzbedarf für den Betrieb eines Nodes
##### Ressourcen
@@ -56,71 +57,64 @@ Die beiden öffentlichen Testnets, die die Client-Entwickler derzeit betreiben,
- [QuickNode Sepolia Faucet](https://faucet.quicknode.com/drip)
- [Grabteeth](https://grabteeth.xyz/)
-- [PoW-Faucet](https://sepolia-faucet.pk910.de/)
-- [Faucet für Coinbase-Wallet | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet)
-- [Faucet für Alchemy Sepolia](https://sepoliafaucet.com/)
-- [Faucet für Infura Sepolia](https://www.infura.io/faucet)
-- [Faucet für Chainstack Sepolia](https://faucet.chainstack.com/sepolia-faucet)
-- [Ethereum-Ökosystem-Faucet](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
+- [PoW faucet](https://sepolia-faucet.pk910.de/)
+- [Coinbase Wallet Faucet | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet)
+- [Alchemy Sepolia faucet](https://sepoliafaucet.com/)
+- [Infura Sepolia faucet](https://www.infura.io/faucet)
+- [Chainstack Sepolia faucet](https://faucet.chainstack.com/sepolia-faucet)
+- [Ethereum Ecosystem faucet](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
-#### Goerli _(Langzeit-Support)_ {#goerli}
-_Hinweis: [Das Goerli-Testnetz ist veraltet](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) und wird 2023 durch [Holesovice](https://github.com/eth-clients/holesovice) ersetzt. Sie sollten die Migration Ihrer Anwendungen auf Sepolia in Erwägung ziehen._
+#### Hoodi {#hoodi}
-Goerli ist ein Testnet zum Testen, Validieren und Staking. Das Goerli-Netzwerk ist offen für Benutzer, die einen Testnet-Validator betreiben möchten. Staker, die Protokoll-Upgrades testen wollen, bevor sie im Mainnet eingesetzt werden, sollten daher Goerli benutzen.
+Hoodi ist ein Testnet zum Testen von Validierung und Staking. Das Hoodi-Netzwerk ist offen für Benutzer, die einen Testnet-Validator betreiben möchten. Staker, die Protokoll-Upgrades testen möchten, bevor sie auf dem Mainnet deployed werden, sollten daher Hoodi verwenden.
-- Offenes Validator-Set, Staker können Netzwerk-Upgrades testen
-- Großer State, nützlich zum Testen komplexer Smart-Contract-Interaktionen
-- Langwierige Synchronisierung und hoher Speicherbedarf für den Betrieb eines Knotens
+- Offener Validatorsatz, Staker können Netzwerk-Upgrades testen
+- Großer Zustand, nützlich für das Testen komplexer Smart-Contract-Interaktionen
+- Längere Synchronisationszeit und mehr Speicherplatz für den Betrieb eines Nodes erforderlich
##### Ressourcen
-- [Website](https://goerli.net/)
-- [GitHub](https://github.com/eth-clients/goerli)
-- [Etherscan](https://goerli.etherscan.io)
-- [Blockscout](https://eth-goerli.blockscout.com/)
+- [Website](https://hoodi.ethpandaops.io/)
+- [GitHub](https://github.com/eth-clients/hoodi)
+- [Explorer](https://explorer.hoodi.ethpandaops.io/)
+- [Checkpoint Sync](https://checkpoint-sync.hoodi.ethpandaops.io/)
##### Faucets
-- [QuickNode Goerli Faucet](https://faucet.quicknode.com/drip)
-- [Grabteeth](https://grabteeth.xyz/)
-- [PoW-Faucet](https://goerli-faucet.pk910.de/)
-- [Paradigm-Faucet](https://faucet.paradigm.xyz/)
-- [Alchemy Goerli Faucet](https://goerlifaucet.com/)
-- [All That Node Goerli Faucet](https://www.allthatnode.com/faucet/ethereum.dsrv)
-- [Coinbase Wallet Faucet | Goerli](https://coinbase.com/faucets/ethereum-goerli-faucet)
-- [Chainstack Goerli-Faucet](https://faucet.chainstack.com/goerli-faucet)
+- [Hoodi Faucet](https://hoodi.ethpandaops.io/)
-Um einen Validator im Goerli-Testnet zu starten, verwenden Sie das [Launchpad "cheap goerli validator"](https://holesky.launchpad.ethstaker.cc/en/) von ethstaker.
+Um einen Validator auf dem Hoodi-Testnet zu starten, verwenden Sie [Hoodi launchpad](https://hoodi.launchpad.ethereum.org/en/).
-### Layer-2-Testnets {#layer-2-testnets}
+### Layer-2-Testnetze {#layer-2-testnets}
-[Layer-2 (L2)](/layer-2/) ist ein Sammelbegriff, der eine bestimmte Gruppe von Ethereum-Skalierungslösungen beschreibt. Ein Layer-2 ist eine separate Blockchain, die Ethereum erweitert und die Sicherheitsgarantien von Ethereum erbt. Layer-2-Testnets sind in der Regel eng mit öffentlichen Ethereum-Testnets gekoppelt.
+[Layer 2 (L2)](/layer-2/) ist ein Sammelbegriff zur Beschreibung einer bestimmten Gruppe von Ethereum-Skalierungslösungen. Ein Layer 2 ist eine separate Blockchain, die Ethereum erweitert und die Sicherheitsgarantien von Ethereum erbt. Layer-2-Testnetze sind normalerweise eng mit öffentlichen Ethereum-Testnetzen verbunden.
-#### Arbitrum Goerli {#arbitrum-goerli}
+#### Arbitrum Sepolia {#arbitrum-sepolia}
Ein Testnet für [Arbitrum](https://arbitrum.io/).
##### Faucets
-- [Chainlink-Faucet](https://faucets.chain.link/)
+- [Chainlink faucet](https://faucets.chain.link/arbitrum-sepolia)
+- [Alchemy faucet](https://www.alchemy.com/faucets/arbitrum-sepolia)
-#### Optimistic Goerli {#optimistic-goerli}
+#### Optimistic Sepolia {#optimistic-sepolia}
Ein Testnet für [Optimism](https://www.optimism.io/).
##### Faucets
-- [Paradigm-Faucet](https://faucet.paradigm.xyz/)
-- [Coinbase Wallet Faucet | Optimism Goerli](https://coinbase.com/faucets/optimism-goerli-faucet)
+- [Chainlink faucet](https://faucets.chain.link/optimism-sepolia)
+- [Alchemy faucet](https://www.alchemy.com/faucets/optimism-sepolia)
-#### Starknet Goerli {#starknet-goerli}
+#### Starknet Sepolia {#starknet-sepolia}
-Ein Testnetz für [Starknet](https://www.starknet.io).
+Ein Testnet für [Starknet](https://www.starknet.io).
##### Faucets
-- [Starknet-Faucet](https://faucet.goerli.starknet.io)
+- [Alchemy faucet](https://www.alchemy.com/faucets/starknet-sepolia)
## Private Netzwerke {#private-networks}
diff --git a/public/content/translations/de/developers/docs/nodes-and-clients/archive-nodes/index.md b/public/content/translations/de/developers/docs/nodes-and-clients/archive-nodes/index.md
index 2a1bab7cc38..336f79d73a6 100644
--- a/public/content/translations/de/developers/docs/nodes-and-clients/archive-nodes/index.md
+++ b/public/content/translations/de/developers/docs/nodes-and-clients/archive-nodes/index.md
@@ -62,7 +62,7 @@ Abgesehen von den generellen [Empfehlungen zum Betreiben einer Node](/developers
Versichern Sie sich immer, dass ihre Hardware alle Voraussetzungen für einen gegebenen Modus in der Dokumentation des Clients erfüllt. Die größte Voraussetzung für Archivierungsknoten ist dabei der Speicherplatz. Je nach Client variiert dieser von 3 TB bis 12 TB. Obwohl HDD als eine bessere Lösung für große Datenmengen gesehen werden kann, wird eine SSD für das kontinuierliche Synchronisieren und Aktualisieren der Blockchain-Spitze benötigt. [SATA](https://www.cleverfiles.com/help/sata-hard-drive.html)-Datenträger sind ausreichend, jedoch sollten sie von zuverlässiger Qualität, also mindestens [TLC](https://blog.synology.com/tlc-vs-qlc-ssds-what-are-the-differences) sein. Festplatten können in einen Desktop Computer oder einen Server mit genügend Slots eingebaut werden. Diese speziellen Geräte sind ideal, um Knoten mit hoher Verfügbarkeit zu betreiben. Es ist durchaus möglich, Archivierungsknoten auf einem Laptop zu betreiben. Die Portabilität erfordert jedoch zusätzliche Kosten.
-Alle Daten müssen in einen einzigen Speicherort passen, deshalb müssen Festplatten beispielsweise mit [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) oder [LVM](https://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/ch-lvm.html) zusammengelegt werden. Es könnte sich auch lohnen, [ZFS](https://en.wikipedia.org/wiki/ZFS) zu nutzen, da es „Kopieren beim Schreiben“ (Copy-on-write) unterstützt. Dadurch wird sicherstellt, dass Daten korrekt auf die Festplatten geschrieben werden, ohne dass geringfügige Fehler entstehen.
+Alle Daten müssen in einen einzigen Speicherort passen, deshalb müssen Festplatten beispielsweise mit [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) oder LVM zusammengelegt werden. Es könnte sich auch lohnen, [ZFS](https://en.wikipedia.org/wiki/ZFS) zu nutzen, da es „Kopieren beim Schreiben“ (Copy-on-write) unterstützt. Dadurch wird sicherstellt, dass Daten korrekt auf die Festplatten geschrieben werden, ohne dass geringfügige Fehler entstehen.
Für mehr Stabilität und Sicherheit bei der Prävention gegen die Beschädigung der Datenbanken, besonders in einer professionellen Einrichtung, sollten sie sich überlegen [ECC Speicher](https://en.wikipedia.org/wiki/ECC_memory) zu verwenden, sollte Ihr System dies unterstützen. Die Größe des RAM sollte genauso groß wie für einen vollständigen Knoten sein. Mehr RAM kann jedoch dazu beitragen, die Synchronisierung zu beschleunigen.
diff --git a/public/content/translations/de/developers/docs/nodes-and-clients/client-diversity/index.md b/public/content/translations/de/developers/docs/nodes-and-clients/client-diversity/index.md
index b88f11247c6..5b5282d394d 100644
--- a/public/content/translations/de/developers/docs/nodes-and-clients/client-diversity/index.md
+++ b/public/content/translations/de/developers/docs/nodes-and-clients/client-diversity/index.md
@@ -31,7 +31,7 @@ Die Client-Vielfalt bietet auch eine gewisse Widerstandsfähigkeit gegen Angriff
Ein Fehler in einem Konsensclient mit mehr als 33 % der Ethereum-Knoten könnte verhindern, dass die Konsensebene finalisieren kann. Das bedeutet, dass die Nutzer nicht darauf vertrauen können, dass Transaktionen nicht irgendwann rückgängig gemacht oder geändert werden. Dies wäre für viele der auf Ethereum aufbauenden Anwendungen, insbesondere DeFi, sehr problematisch.
- Schlimmer noch, ein kritischer Fehler in einem Client mit einer Zweidrittelmehrheit könnte dazu führen, dass die Chain nicht korrekt geteilt und finalisiert wird. Dies wiederum würde dazu führen, dass eine große Anzahl von Validatoren auf einer ungültigen Chain stecken bleibt. Wenn sie sich der korrekten Chain wieder anschließen möchten, müssen diese Validatoren mit Slashing oder einem langsamen und teuren freiwilligen Rückzug und Reaktivierung rechnen. Das Ausmaß eines Slashings skaliert mit der Anzahl der schuldigen Knoten, wobei maximal eine Zweidrittelmehrheit geslashed werden kann (32 ETH).
+ Schlimmer noch, ein kritischer Fehler in einem Client mit einer Zweidrittelmehrheit könnte dazu führen, dass die Chain nicht korrekt geteilt und finalisiert wird. Dies wiederum würde dazu führen, dass eine große Anzahl von Validatoren auf einer ungültigen Chain stecken bleibt. Wenn sie sich der korrekten Chain wieder anschließen möchten, müssen diese Validatoren mit Slashing oder einem langsamen und teuren freiwilligen Rückzug und Reaktivierung rechnen. Das Ausmaß eines Slashings skaliert mit der Anzahl der schuldigen Knoten, wobei maximal eine Zweidrittelmehrheit geslashed werden kann (32 ETH).
Obwohl dies unwahrscheinliche Szenarien sind, kann das Ethereum-Ökosystem das Risiko mindern, indem es die Verteilung der Clients auf die aktiven Knoten ausgleicht. Im Idealfall würde kein Konsensclient jemals einen Anteil von 33 % an der Gesamtzahl der Nodes erreichen.
diff --git a/public/content/translations/de/developers/docs/nodes-and-clients/index.md b/public/content/translations/de/developers/docs/nodes-and-clients/index.md
index 00252323606..d1d5f3bb661 100644
--- a/public/content/translations/de/developers/docs/nodes-and-clients/index.md
+++ b/public/content/translations/de/developers/docs/nodes-and-clients/index.md
@@ -46,6 +46,7 @@ Es gibt mehrere Tracker, die einen Echtzeit-Überblick über die Knoten im Ether
- [Karte der Knotenpunkte](https://etherscan.io/nodetracker) von Etherscan
- [Ethernodes](https://ethernodes.org/) von Bitfly
- [Nodewatch](https://www.nodewatch.io/) von Chainsafe, Crawler für Konsensknoten
+- [Monitoreth](https://monitoreth.io/) – von MigaLabs, ein Netzwerküberwachungstool für verteilte Netzwerke
## Node-Typen {#node-types}
@@ -197,6 +198,7 @@ Es gibt mehrere Konsensclients (früher als „Eth2“-Clients bekannt), die daz
| [Nimbus](https://nimbus.team/) | Nim | Linux, Windows, MacOS | Beacon Chain, Goerli, Sepolia, Ropsten und weitere |
| [Prysm](https://docs.prylabs.network/docs/getting-started/) | Los | Linux, Windows, MacOS | Beacon Chain, Gnosis, Goerli, Pyrmont, Sepolia, Ropsten und weitere |
| [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) | Java | Linux, Windows, MacOS | Beacon Chain, Gnosis, Goerli, Sepolia, Ropsten und weitere |
+| [Grandine](https://docs.grandine.io/) (Beta) | Rust | Linux, Windows, MacOS | Beacon Chain, Goerli, Sepolia und mehr |
### Lighthouse {#lighthouse}
@@ -230,6 +232,12 @@ Teku bietet sehr flexible Einsatzmöglichkeiten. Der Beacon Node und der Validat
Teku ist in Java unter der Apache 2.0 Lizenz geschrieben. Es wird vom Protokoll-Team bei ConsenSys entwickelt, das auch für Besu und Web3Signer verantwortlich ist. Erfahren Sie mehr in den [Teku-Docs](https://docs.teku.consensys.net/en/latest/).
+### Grandine {#grandine}
+
+Grandine ist eine Konsens-Client-Implementierung, geschrieben in Rust und unter der GPL-3.0-Lizenz. Es wird vom Grandine Core Team gepflegt und ist schnell, leistungsstark und leicht. Es ist für eine Vielzahl von Stakern geeignet – von Einzelstakern, die ressourcenarme Geräte wie Raspberry Pi verwenden, bis hin zu großen institutionellen Stakern, die Zehntausende von Validatoren betreiben.
+
+Die entsprechende Dokumentation finden Sie im [Grandine Book](https://docs.grandine.io/)
+
## Synchronisationsmodi {#sync-modes}
Um die aktuellen Daten im Netzwerk zu verfolgen und zu überprüfen, muss sich der Ethereum-Client mit dem neuesten Netzwerkstatus synchronisieren. Dazu werden Daten von Peers heruntergeladen, wobei ihre Integrität kryptographisch verifiziert und eine lokale Blockchain-Datenbank aufgebaut wird.
diff --git a/public/content/translations/de/developers/docs/nodes-and-clients/light-clients/index.md b/public/content/translations/de/developers/docs/nodes-and-clients/light-clients/index.md
index be37c2aa74b..b4563ade424 100644
--- a/public/content/translations/de/developers/docs/nodes-and-clients/light-clients/index.md
+++ b/public/content/translations/de/developers/docs/nodes-and-clients/light-clients/index.md
@@ -44,7 +44,7 @@ Es befinden sich mehrere leichte Clients in der Entwicklung, darunter Ausführun
- [Lodestar](https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client): leichter Konsensclient in TypeScript
- [Helios](https://github.com/a16z/helios): kombinierter leichter Ausführungs- und Konsensclient in Rust
-- [Geth](https://github.com/ethereum/go-ethereum/tree/master/light): Light-Modus für Ausführungsclient (in Entwicklung) in Go
+- [Geth](https://github.com/ethereum/go-ethereum/tree/master/beacon/light): Light-Modus für Ausführungs-Client (in Entwicklung) in Go
- [Nimbus](https://nimbus.guide/el-light-client.html): Leichter Konsensclient in Nim
Unseres Wissens nach ist noch keiner dieser Clients produktionsreif.
diff --git a/public/content/translations/de/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/de/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
index 0bf40f1e262..869e277a98d 100644
--- a/public/content/translations/de/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
+++ b/public/content/translations/de/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
@@ -264,7 +264,7 @@ Hier ist eine Liste der beliebtesten Ethereum-Nodeanbieter. Fügen Sie gerne neu
- Direkter, technischer Support
- [**NodeReal MegaNode**](https://nodereal.io/)
- - [Dokumente](https://docs.nodereal.io/nodereal/meganode/introduction)
+ - [Dokumente](https://docs.nodereal.io/docs/introduction)
- Eigenschaften
- Zuverlässige, schnelle und skalierbare RPC-API-Services
- Verbesserte API für Web3-Entwickler
diff --git a/public/content/translations/de/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/de/developers/docs/nodes-and-clients/run-a-node/index.md
index 33536fa157c..db96de7af0e 100644
--- a/public/content/translations/de/developers/docs/nodes-and-clients/run-a-node/index.md
+++ b/public/content/translations/de/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -162,7 +162,7 @@ Es sei auch erwähnet, dass die Client-Vielfalt ein [Problem auf der Ausführung
##### Konsens-Clients
- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest)
-- [Lodestar](https://chainsafe.github.io/lodestar/install/source/) (Bietet keine vorgefertigte Binärdatei, sondern nur eine Docker-Abbildung, die aus den Quelldateien erstellt werden muss)
+- [Lodestar](https://chainsafe.github.io/lodestar/run/getting-started/installation#build-from-source/) (Bietet keine vorgefertigte Binärdatei, sondern nur eine Docker-Abbildung, die aus den Quelldateien erstellt werden muss)
- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest)
- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest)
- [Teku](https://github.com/ConsenSys/teku/releases)
@@ -256,7 +256,7 @@ Besu verfügt auch über eine Startoption, die eine Reihe von Fragen stellt und
besu --Xlauncher
```
-[Dokumentation von Besu](https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Starting-node/) enthält zusätzliche Optionen und Konfigurationsdetails.
+[Dokumentation von Besu](https://besu.hyperledger.org/public-networks/get-started/start-node/) enthält zusätzliche Optionen und Konfigurationsdetails.
##### Ausführen von Erigon
@@ -288,7 +288,7 @@ geth --mainnet \
##### Ausführen von Nethermind
-Nethermind bietet verschiedene [Installationsoptionen](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started). Das Paket enthält verschiedene Binärdateien, darunter einen Launcher mit einem geführten Setup, mit dem Sie die Konfiguration interaktiv erstellen können. Alternativ finden Sie Runner, das die ausführbare Datei selbst ist, und Sie können sie einfach mit Konfigurationsflaggen ausführen. JSON-RPC ist standardmäßig aktiviert.
+Nethermind bietet verschiedene [Installationsoptionen](https://docs.nethermind.io/get-started/installing-nethermind). Das Paket enthält verschiedene Binärdateien, darunter einen Launcher mit einem geführten Setup, mit dem Sie die Konfiguration interaktiv erstellen können. Alternativ finden Sie Runner, das die ausführbare Datei selbst ist, und Sie können sie einfach mit Konfigurationsflaggen ausführen. JSON-RPC ist standardmäßig aktiviert.
```sh
Nethermind.Runner --config mainnet \
@@ -296,7 +296,7 @@ Nethermind.Runner --config mainnet \
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
```
-Die Nethermind-Dokumente bieten eine [vollständige Anleitung](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/running-nethermind-post-merge) zum Betrieb von Nethermind mit Konsensclients.
+Die Nethermind-Dokumente bieten eine [vollständige Anleitung](https://docs.nethermind.io/first-steps-with-nethermind/running-nethermind-post-merge) zum Betrieb von Nethermind mit Konsensclients.
Ein Ausführungsclient initiiert seine Kernfunktionen, wählt Endpunkte und beginnt mit der Suche nach Peers. Nach erfolgreicher Erkennung von Peers beginnt der Client mit der Synchronisierung. Der Ausführungsclient wartet auf eine Verbindung vom Konsensclient. Die aktuellen Blockchain-Daten sind verfügbar, sobald der Client erfolgreich mit dem aktuellen Zustand synchronisiert wurde.
diff --git a/public/content/translations/de/developers/docs/scaling/index.md b/public/content/translations/de/developers/docs/scaling/index.md
index d695b905290..ea77f5587b6 100644
--- a/public/content/translations/de/developers/docs/scaling/index.md
+++ b/public/content/translations/de/developers/docs/scaling/index.md
@@ -106,7 +106,7 @@ _Beachten Sie, dass in der Erklärung im Video der Begriff „Layer 2" für alle
- [Ein unvollständiger Leitfaden für Rollups](https://vitalik.eth.limo/general/2021/01/05/rollup.html)
- [Ethereum-betriebene ZK-Rollups: Weltmeister](https://hackmd.io/@canti/rkUT0BD8K)
- [Optimistische Rollups ggü. ZK-Rollups](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/)
-- [Zero-Knowledge Blockchain Skalierung](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
+- [Zero-Knowledge Blockchain Skalierung](https://www.archblock.com/poland/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
- [Warum Rollups + Daten-Shards die einzige nachhaltige Lösung für hohe Skalierbarkeit sind](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48)
_Kennen Sie eine Community Ressource, die Ihnen geholfen hat? Bearbeiten Sie diese Seite und fügen Sie sie hinzu!_
diff --git a/public/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md
index 1427bbfb8e1..abfd1faf2c1 100644
--- a/public/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md
+++ b/public/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md
@@ -43,14 +43,8 @@ Sehen Sie, wie Finematics optimistische Rollups erklärt:
-### Optimistische Rollups verwenden {#use-optimistic-rollups}
-
-Es gibt mehrere Implementierungen von optimistischen Rollups, die Sie in Ihre dApps integrieren können:
-
-
-
**Optimistische Rollups verstehen**
-- [Der Leitfaden zu Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum)
-- [Wie funktioniert das Rollup von Optimismus wirklich?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work)
+- [Der Leitfaden zu Arbitrum](https://www.bankless.com/the-essential-guide-to-arbitrum)
+- [Wie funktioniert das Rollup von Optimismus wirklich?](https://www.paradigm.xyz/2021/01/how-does-optimism-s-rollup-really-work)
- [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
diff --git a/public/content/translations/de/developers/docs/scaling/sidechains/index.md b/public/content/translations/de/developers/docs/scaling/sidechains/index.md
index f1463b7111c..b898566010c 100644
--- a/public/content/translations/de/developers/docs/scaling/sidechains/index.md
+++ b/public/content/translations/de/developers/docs/scaling/sidechains/index.md
@@ -28,7 +28,7 @@ Mehrere Projekte bieten Implementierungen von Sidechains, die Sie in Ihre dApps
- [Polygon PoS](https://polygon.technology/solutions/polygon-pos)
- [Skale](https://skale.network/)
-- [Gnosis-Chain (ehemals xDai)](https://www.xdaichain.com/)
+- [Gnosis-Chain (ehemals xDai)](https://www.gnosis.io/)
## Weiterführende Informationen {#further-reading}
diff --git a/public/content/translations/de/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/de/developers/docs/scaling/zk-rollups/index.md
index 7d5295598e2..48f06c230bd 100644
--- a/public/content/translations/de/developers/docs/scaling/zk-rollups/index.md
+++ b/public/content/translations/de/developers/docs/scaling/zk-rollups/index.md
@@ -34,12 +34,6 @@ Sehen Sie, wie Finematics ZK-Rollups erklärt:
-### ZK-Rollups verwenden {#use-zk-rollups}
-
-Es gibt mehrere Implementierungen von ZK-Rollups, die Sie in Ihre dApps integrieren können:
-
-
-
**ZK-Rollups verstehen**
- [Was sind Zero-Knowledge Rollups?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups)
diff --git a/public/content/translations/de/developers/docs/smart-contracts/anatomy/index.md b/public/content/translations/de/developers/docs/smart-contracts/anatomy/index.md
index a9008f9b3f0..5c9810ba5af 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/anatomy/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/anatomy/index.md
@@ -1,6 +1,6 @@
---
title: Anatomie von Smart Contracts
-description: "Ein tiefgreifender Einblick in die Anatomie eines Smart Contracts: Funktionen, Daten und Variablen"
+description: 'Ein tiefgreifender Einblick in die Anatomie eines Smart Contracts: Funktionen, Daten und Variablen'
lang: de
---
@@ -100,7 +100,7 @@ function update_name(string value) public {
- Es wird `public` deklariert. Das bedeutet, dass jeder darauf zugreifen kann.
- `view` wird nicht deklariert, damit eine Änderung des Vertragsstatus möglich ist.
-### View-Funktionen {#view-functions}
+### Ansicht-Funktionen {#view-functions}
Diese Funktionen verpflichten sich, den Zustand der Vertragsdaten nicht zu ändern. Gängige Beispiele sind "Getter"-Funktionen, mit denen Sie z. B. den Kontostand eines Benutzers abfragen können.
@@ -167,7 +167,7 @@ Zusätzlich zu den Variablen, die Sie in Ihrem Vertrag definieren, gibt es einig
Diese erlauben es Smart Contracts, ETH an andere Konten zu senden.
-## Funktionen entwickeln {#writing-functions}
+## Funktionen schreiben {#writing-functions}
Ihre Funktion benötigt folgende Elemente:
@@ -203,13 +203,13 @@ Ein vollständiger Smart Contract könnte so aussehen. Hier stellt die `construc
## Ereignisse und Protokolle {#events-and-logs}
-Ereignisse ermöglichen Ihnen die Kommunikation mit Ihrem Smart Contract von Ihrem Frontend oder anderen verbundenen Anwendungen aus. Wenn eine Transaktion verifiziert wird, können Smart Contracts Events emittieren und Protokolle in die Blockchain schreiben, die das Frontend dann verarbeiten kann.
+Ereignisse ermöglichen es Ihrem Smart Contract, mit Ihrem Frontend oder anderen abonnierenden Anwendungen zu kommunizieren. Sobald eine Transaktion validiert und einem Block hinzugefügt wurde, können Smart Contracts Ereignisse auslösen und Informationen protokollieren, die das Frontend dann verarbeiten und nutzen kann.
## Kommentierte Beispiele {#annotated-examples}
Das sind einige Beispiele in Solidity. Wenn Sie mit dem Code spielen möchten, können Sie mit ihm in [Remix](http://remix.ethereum.org) interagieren.
-### Hallo Welt {#hello-world}
+### Hello world {#hello-world}
```solidity
// Bestimmt die Version von Solidity mit semantischer Versionierung.
diff --git a/public/content/translations/de/developers/docs/smart-contracts/compiling/index.md b/public/content/translations/de/developers/docs/smart-contracts/compiling/index.md
index d90456c28b0..4eb758d7556 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/compiling/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/compiling/index.md
@@ -33,6 +33,10 @@ contract Greeter {
PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x46 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x80 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xC8 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SLT 0xec 0xe 0xf5 0xf8 SLT 0xc7 0x2d STATICCALL ADDRESS SHR 0xdb COINBASE 0xb1 BALANCE 0xe8 0xf8 DUP14 0xda 0xad DUP13 LOG1 0x4c 0xb4 0x26 0xc2 DELEGATECALL PUSH7 0x8994D3E002900
```
+Diese werden als **Opcodes** bezeichnet. EVM-Opcodes sind die niedrigstufigen Anweisungen, die die Ethereum Virtual Machine (EVM) ausführen kann. Jeder Opcode bezeichnet eine spezifische Operation, wie etwa arithmetische Operationen, logische Operationen, Datenmanipulation, Kontrollfluss usw.
+
+[Mehr zu Opcodes](/developers/docs/evm/opcodes/)
+
## Webanwendungen {#web-applications}
Der Compiler erzeugt außerdem die **Application Binary Interface (ABI)**, die Sie benötigen, damit Ihre Anwendung den Smart Contract verstehen und die Funktionen des Vertrages aufrufen kann.
diff --git a/public/content/translations/de/developers/docs/smart-contracts/composability/index.md b/public/content/translations/de/developers/docs/smart-contracts/composability/index.md
index e565ee651c1..6059a5c0517 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/composability/index.md
@@ -9,13 +9,68 @@ incomplete: true
Smart Contracts sind auf Ethereum öffentlich und können als offene APIs betrachtet werden. Sie müssen nicht unbedingt Ihren eigenen Smart Contract schreiben, um ein dApp-Entwickler zu werden, sondern nur wissen, wie Sie mit Smart Contracts interagieren können. Sie können zum Beispiel vorhandenen Smart Contracts von [Uniswap](https://uniswap.exchange/swap), eine dezentrale Börse, verwenden, um die Token-Swap-Logik in Ihrer App zu handhaben. Sie müssen also nicht bei Null anfangen. Sehen Sie sich einige der [v2](https://github.com/Uniswap/uniswap-v2-core/tree/master/contracts)- und [v3](https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts)-Verträge an.
-## Verwandte Tutorials {#related-tutorials}
+## Was ist Zusammensetzbarkeit? {#what-is-composability}
-- [Vertragskombinierbarkeit: die Bausteine der Smart-Contract-Entwicklung von Ethereum](https://www.decentlabs.io/blog/contract-composability-the-building-blocks-of-ethereum-smart-contract-development)
-- [Starten Sie Ihre dApp-Frontend-Entwicklung mit Create-eth-app](/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/) _– Eine Übersicht darüber, wie Create-eth-app verwendet wird, um Apps mit beliebten Smart Contracts zu erstellen_
+Zusammensetzbarkeit ist die Kombination verschiedener Komponenten zur Schaffung neuer Systeme oder Ergebnisse. In der Softwareentwicklung bedeutet Zusammensetzbarkeit, dass Entwickler vorhandene Softwarekomponenten wiederverwenden können, um neue Anwendungen zu erstellen. Um die Zusammensetzbarkeit zu verstehen, stellen Sie sich einfach zusammensetzbare Elemente als Legosteine vor. Jeder Legostein kann mit einem anderen kombiniert werden, sodass Sie durch die Verbindung verschiedener Legosteine komplexe Strukturen errichten können.
+
+Auf Ethereum ist jeder Smart Contract eine Art Legostein – Sie können Smart Contracts aus anderen Projekten als Bausteine für Ihr Projekt verwenden. Das bedeutet, dass Sie keine Zeit damit verschwenden müssen, das Rad neu zu erfinden oder von Grund auf neu zu entwickeln.
+
+## Wie funktioniert Zusammensetzbarkeit? {#how-does-composability-work}
+
+Ethereum-Smart-Contracts sind wie öffentliche APIs, d. h. jeder kann mit dem Vertrag interagieren oder sie in DApps integrieren, um zusätzliche Funktionen zu erhalten. Die Zusammensetzbarkeit von Smart Contracts beruht im Allgemeinen auf drei Prinzipien: Modularität, Autonomie und Auffindbarkeit:
+
+**1. Modularität**: Dies ist die Fähigkeit einzelner Komponenten, eine bestimmte Aufgabe zu erfüllen. Auf Ethereum verfügt jeder Smart Contract über einen bestimmten Anwendungsfall (wie im Beispiel von Uniswap gezeigt).
+
+**2. Autonomie**: Zusammensetzbare Komponenten müssen in der Lage sein, unabhängig voneinander zu arbeiten. Jeder Smart Contract in Ethereum ist selbstausführend und kann betrieben werden, ohne auf andere Teile des Systems angewiesen zu sein.
+
+**3. Auffindbarkeit**: Entwickler können keine externen Verträge aufrufen oder Softwarebibliotheken in Anwendungen integrieren, wenn Erstere nicht öffentlich zugänglich sind. Smart Contracts sind bewusst als Open-Source-Software konzipiert, d. h. jeder kann einen Smart Contract aufrufen oder eine Codebasis abspalten.
+
+## Vorteile der Zusammensetzbarkeit {#benefits-of-composability}
+
+### Kürzere Entwicklungszyklen {#shorter-development-cycle}
+
+Die Zusammensetzbarkeit reduziert die Arbeit, die Entwickler bei der Erstellung von [DApps](/apps/#what-are-dapps) leisten müssen. [Wie Naval Ravikant es ausdrückt:](https://twitter.com/naval/status/1444366754650656770) „Open Source bedeutet, dass jedes Problem nur einmal gelöst werden muss.“
+
+Wenn es einen Smart Contract gibt, der ein Problem löst, können andere Entwickler ihn wiederverwenden, damit sie nicht das gleiche Problem lösen müssen. Auf diese Weise können Entwickler bestehenden Softwarebibliotheken zusätzliche Funktionen hinzufügen, um neue DApps zu erstellen.
+
+### Mehr Innovation {#greater-innovation}
+
+Die Zusammensetzbarkeit fördert Innovationen und Experimentierfreude, da es den Entwicklern freisteht, Open-Source-Code wiederzuverwenden, abzuändern, zu vervielfältigen oder zu integrieren, um die gewünschten Ergebnisse zu erzielen. Infolgedessen verbringen die Entwicklungsteams weniger Zeit mit der grundlegenden Funktionalität und können mehr Zeit für das Experimentieren mit neuen Funktionen aufwenden.
+
+### Bessere Nutzererfahrung {#better-user-experience}
+
+Die Interoperabilität zwischen den Komponenten des Ethereum-Ökosystems verbessert das Benutzererlebnis. Wenn DApps externe Smart Contracts integrieren, können die Benutzer auf mehr Funktionen zugreifen als in einem fragmentierten Ökosystem, in dem Anwendungen nicht miteinander kommunizieren können.
+
+Anhand eines Beispiels aus dem Arbitrage-Handel wollen wir die Vorteile der Interoperabilität verdeutlichen:
+
+Wenn ein Token auf `Börse A` höher gehandelt wird als auf `Börse B`, können Sie sich den Preisunterschied zunutze machen, um Gewinn zu erzielen. Sie können das allerdings nur tun, wenn Sie über genügend Kapital verfügen, um die Transaktion zu finanzieren (d. h. den Token auf `Börse B` zu kaufen und ihn auf `Börse A` zu verkaufen).
+
+In einem Szenario, in dem Sie nicht über genügend Geldmittel verfügen, um den Handel zu decken, könnte sich ein Flash Loan ideal eignen. [Flash Loans](/defi/#flash-loans) sind sehr fachspezifisch, aber die Grundidee ist, dass Assets (ohne Sicherheiten) ausgeliehen und diese innerhalb _einer_ Transaktion zurückgeben werden können.
+
+Zurück zu unserem anfänglichen Beispiel: Ein Arbitrage-Händler kann einen großen Flash Loan aufnehmen, Token von `Börse B` kaufen, diese auf `Börse A` verkaufen, das Kapital + Zinsen zurückzahlen und den Gewinn innerhalb derselben Transaktion behalten. Diese komplexe Logik erfordert die Kombination von Aufrufen für mehrere Verträge, was nicht möglich wäre, wenn Smart Contracts nicht über Interoperabilität verfügen würden.
+
+## Beispiele für Zusammensetzbarkeit auf Ethereum {#composability-in-ethereum}
+
+### Token-Tausch {#token-swaps}
+
+Wenn Sie eine DApp erstellen, für die Transaktionen in ETH bezahlt werden müssen, können Sie den Benutzern die Zahlung in anderen ERC-20-Token erlauben, indem Sie eine Token-Tausch-Logik integrieren. Der Code wandelt den Token des Benutzers automatisch in ETH um, bevor der Vertrag die aufgerufene Funktion ausführt.
+
+### Verwaltung {#governance}
+
+Die Entwicklung maßgeschneiderter Verwaltungssysteme für eine [DAO](/dao/) kann teuer und zeitaufwendig sein. Stattdessen könnten Sie ein Verwaltungs-Toolkit auf Open-Source-Basis wie [Aragon Client](https://client.aragon.org/) zur Gründung Ihrer DAO und schnellen Schaffung eines Verwaltungs-Frameworks verwenden.
+
+### Identitätsmanagement {#identity-management}
+
+Anstatt ein benutzerdefiniertes Authentifizierungssystem zu entwickeln oder sich auf zentrale Anbieter zu verlassen, können Sie zur Verwaltung der Benutzerauthentifizierung Werkzeuge für dezentrale Identität (DID) integrieren. Ein Beispiel hierfür ist [SpruceID](https://www.spruceid.com/), ein Open-Source-Toolkit, das eine „Anmeldung bei Ethereum“-Funktionalität anbietet, mit der Benutzer Identitäten mithilfe einer Ethereum-Wallet authentifizieren können.
+
+## Ähnliche Tutorials {#related-tutorials}
+
+- [Starten Sie die Entwicklung Ihres DApp-Frontends mit create-eth-app](/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/) _– Ein Überblick über die Verwendung von create-eth-app, um sofort einsatzbereite Apps mit beliebten Smart Contracts zu erstellen._
## Weiterführende Informationen {#further-reading}
-_Kennen Sie eine Community-Ressource, die Ihnen geholfen hat? Bearbeiten Sie diese Seite und fügen Sie sie hinzu._
+_Kennst du eine Community-Ressource, die dir geholfen hat? Bearbeite diese Seite und füge sie hinzu!_
- [Kombinierbarkeit ist Innovation](https://future.a16z.com/how-composability-unlocks-crypto-and-everything-else/)
+- [Warum Zusammensetzbarkeit für Web3 wichtig ist](https://hackernoon.com/why-composability-matters-for-web3)
+- [Was ist Zusammensetzbarkeit?](https://blog.aragon.org/what-is-composability/#:~:text=Aragon,connect%20to%20every%20other%20piece.)
diff --git a/public/content/translations/de/developers/docs/smart-contracts/deploying/index.md b/public/content/translations/de/developers/docs/smart-contracts/deploying/index.md
index a418dd86bd3..d9a77e07334 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/deploying/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/deploying/index.md
@@ -20,16 +20,14 @@ Zu guter letzt muss ein Vertrag vor der Bereitstellung kompiliert werden. Lesen
### Folgendes ist erforderlich {#what-youll-need}
-- Der Vertragsbytecode – dieser wird durch [Kompilierung](/developers/docs/smart-contracts/compiling/) generiert
+- Ihr Contract-Bytecode – dieser wird durch [Kompilierung](/developers/docs/smart-contracts/compiling/) generiert.
- Ether for gas – Sie setzen Ihre Ressourcengrenze wie bei anderen Transaktionen fest. Beachten Sie dabei jedoch, dass das Integrieren von Smart Contracts viel mehr Ressourcen erfordert als eine einfache ETH-Transaktion.
- Ein Bereitstellungsskript oder Plug-in
- Zugriff auf einen [Ethereum-Knoten](/developers/docs/nodes-and-clients/), entweder durch Betreiben Ihres eigenen Knotens, durch Verbindung zu einem öffentlichen Knoten oder über einen API-Schlüssel mit einem [Node-Service](/developers/docs/nodes-and-clients/nodes-as-a-service/)
### Schritte zur Bereitstellung eines Smart Contracts {#steps-to-deploy}
-Die einzelnen Schritte hängen von den verwendeten Tools ab. Ein Beispiel dafür finden Sie in der [Hardhat-Dokumentation über die Bereitstellung Ihrer Verträge](https://hardhat.org/guides/deploying.html). Das sind zwei der beliebtesten Tools für die Bereitstellung von Smart Contracts, bei denen ein Skript geschrieben werden muss, um die Bereitstellungsschritte durchzuführen.
-
-Sobald Ihr Smart Contract integriert ist, hat er eine Ethereum-Adresse, wie andere [-Konten](/developers/docs/accounts/).
+Die spezifischen Schritte hängen vom jeweiligen Entwicklungsframework ab. Zum Beispiel können Sie sich [die Dokumentation von Hardhat zur Bereitstellung Ihrer Contracts](https://hardhat.org/guides/deploying.html) oder [die Dokumentation von Foundry zur Bereitstellung und Verifizierung eines Smart Contract](https://book.getfoundry.sh/forge/deploying) ansehen. Nach Bereitstellung hat Ihr Vertrag wie andere [Konten](/developers/docs/accounts/) eine Ethereum-Adresse und kann mit [Werkzeugen zur Verifizierung des Quellcodes](/developers/docs/smart-contracts/verifying/#source-code-verification-tools) verifiziert werden.
## Verwandte Werkzeuge {#related-tools}
@@ -55,6 +53,13 @@ Sobald Ihr Smart Contract integriert ist, hat er eine Ethereum-Adresse, wie ande
- [Dokumentation](https://portal.thirdweb.com/deploy/)
+**Crossmint – _Web3-Entwicklungsplattform auf Unternehmensniveau, um Smart Contracts bereitzustellen, Zahlungen per Kreditkarte und über verschiedene Ketten hinweg zu ermöglichen sowie APIs zu nutzen, um NFTs zu erstellen, zu verteilen, zu verkaufen, zu speichern und zu bearbeiten._**
+
+- [crossmint.com](https://www.crossmint.com)
+- [Dokumentation](https://docs.crossmint.com)
+- [Discord](https://discord.com/invite/crossmint)
+- [Blog](https://blog.crossmint.com)
+
## Verwandte Tutorials {#related-tutorials}
- [Bereitstellung Ihres ersten Smart Contracts](/developers/tutorials/deploying-your-first-smart-contract/) _– Eine Einführung in die Bereitstellung Ihres ersten Smart Contracts in einem Ethereum-Testnetzwerk._
diff --git a/public/content/translations/de/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/de/developers/docs/smart-contracts/formal-verification/index.md
new file mode 100644
index 00000000000..c6fc119f41b
--- /dev/null
+++ b/public/content/translations/de/developers/docs/smart-contracts/formal-verification/index.md
@@ -0,0 +1,283 @@
+---
+title: Formale Verifizierung von Smart Contracts
+description: Ein Überblick über die formale Verifizierung von Ethereum-Smart-Contracts
+lang: de
+---
+
+[Smart Contracts](/developers/docs/smart-contracts/) machen es möglich, dezentrale, vertrauenslose und robuste Anwendungen zu entwickeln, die neue Einsatzmöglichkeiten bieten und den Nutzern einen Mehrwert verschaffen. Da mit Smart Contracts große Mengen an Wert verwaltet werden, ist die Sicherheit ein wichtiger Aspekt für die Entwickler.
+
+Die formale Verifizierung ist eine der empfohlenen Techniken zur Verbesserung der [Smart-Contract-Sicherheit](/developers/docs/smart-contracts/security/). Die formale Verifizierung, die auf [formale Methoden](https://www.brookings.edu/techstream/formal-methods-as-a-path-toward-better-cybersecurity/) für die Spezifizierung, den Entwurf und die Verifizierung von Programmen zurückgreift, wird seit Jahren eingesetzt, um die Korrektheit von kritischen Hardware- und Softwaresystemen zu gewährleisten.
+
+Wenn die formale Verifizierung in Smart Contracts implementiert wird, lässt sich mit ihr beweisen, dass die Geschäftslogik eines Vertrags einer vordefinierten Spezifizierung entspricht. Im Vergleich zu anderen Methoden zur Bewertung der Korrektheit des Vertragscodes, wie z. B. Tests, bietet die formale Verifizierung stärkere Garantien dafür, dass ein Smart Contract funktional korrekt ist.
+
+## Was ist eine formale Verifizierung? {#what-is-formal-verification}
+
+Unter einer formalen Verifizierung versteht man den Bewertungsprozess der Korrektheit eines Systems in Bezug auf eine formale Spezifizierung. Vereinfacht ausgedrückt, können wir mithilfe der formalen Verifizierung prüfen, ob das Verhalten eines Systems bestimmte Anforderungen erfüllt (d. h., ob es das tut, was wir wollen).
+
+Die erwarteten Verhaltensweisen des Systems (in diesem Fall eines Smart Contracts) werden durch formale Modellierung beschrieben, wohingegen Spezifizierungssprachen die Erstellung formaler Eigenschaften ermöglichen. Mithilfe formaler Verifizierungstechniken lässt sich dann verifizieren, ob die Implementierung eines Vertrags mit seiner Spezifizierung übereinstimmt und es kann ein mathematischer Beweis für die Korrektheit des Vertrags erbracht werden. Entspricht ein Vertrag seiner Spezifizierung, wird er als „funktionell korrekt“, „bewusst korrekt“ oder „designbedingt korrekt“ bezeichnet.
+
+### Was ist ein formales Modell? {#what-is-a-formal-model}
+
+In der Informatik ist ein [formales Modell](https://en.wikipedia.org/wiki/Model_of_computation) eine mathematische Beschreibung eines Rechenprozesses. Programme werden in mathematische Funktionen (Gleichungen) abgetrennt, wobei das Modell beschreibt, wie die Ausgaben von Funktionen in Abhängigkeit von Eingaben berechnet werden.
+
+Formale Modelle bieten eine Abstraktionsebene, auf der die Analyse des Verhaltens eines Programms bewertet werden kann. Das Vorhandensein von formalen Modellen ermöglicht die Erstellung einer _formalen Spezifizierung_, die die gewünschten Eigenschaften des betreffenden Modells beschreibt.
+
+Für die Modellierung von Smart Contracts zur formalen Verifizierung kommen verschiedene Techniken zum Einsatz. Einige Modelle werden beispielsweise verwendet, um Aussagen über das High-Level-Verhalten eines Smart Contracts zu treffen. Diese Modellierungstechniken wenden eine Blackbox-Sichtweise auf Smart Contracts an und betrachten sie als Systeme, die Eingaben akzeptieren und Berechnungen auf der Grundlage dieser Eingaben ausführen.
+
+High-Level-Modelle konzentrieren sich auf die Beziehung zwischen Smart Contracts und externen Agenten, wie z. B. extern geführten Konto (Externally Owned Accounts, EOAs), Vertragskonten und der Blockchain-Umgebung. Solche Modelle sind nützlich, um Eigenschaften zu definieren, die festlegen, wie sich ein Vertrag als Reaktion auf bestimmte Benutzerinteraktionen verhalten soll.
+
+Im Gegensatz dazu konzentrieren sich andere formale Modelle auf das Low-Level-Verhalten eines Smart Contracts. High-Level-Modelle können zwar dabei helfen, Aussagen über die Funktionalität eines Vertrags zu treffen, aber sie erfassen möglicherweise keine Details über die interne Funktionsweise der Implementierung. Low-Level-Modelle wenden eine White-Box-Sicht auf die Programmanalyse an und stützen sich auf Lower-Level-Darstellungen von Smart-Contract-Anwendungen, wie z. B. Programmverläufe und [Kontrollflussdiagramme](https://en.wikipedia.org/wiki/Control-flow_graph), um Aussagen über Eigenschaften zu treffen, die für die Ausführung eines Vertrags relevant sind.
+
+Low-Level-Modelle gelten als ideal, da sie die tatsächliche Ausführung eines Smart Contracts in der Ausführungsumgebung von Ethereum (d. h. der [EVM](/developers/docs/evm/)) darstellen. Low-Level-Modellierungstechniken sind besonders nützlich, um kritische Sicherheitseigenschaften in Smart Contracts festzulegen und potenzielle Schwachstellen zu erkennen.
+
+### Was ist eine formale Spezifizierung? {#what-is-a-formal-specification}
+
+Eine Spezifizierung ist einfach eine technische Anforderung, die ein bestimmtes System erfüllen muss. Beim Programmieren stellen Spezifizierungen allgemeine Vorstellungen über die Ausführung eines Programms dar (d. h., was das Programm tun soll).
+
+Im Zusammenhang mit Smart Contracts beziehen sich die formalen Spezifizierungen auf _Eigenschaften_ – formale Beschreibungen der Anforderungen, die ein Vertrag erfüllen muss. Solche Eigenschaften werden als „Invarianten“ bezeichnet und stellen logische Behauptungen über die Ausführung eines Vertrags dar, die unter allen möglichen Umständen und ohne Ausnahmen wahr bleiben müssen.
+
+Wir können uns eine formale Spezifizierung also als eine Sammlung von Aussagen vorstellen, die in einer formalen Sprache geschrieben sind und die beabsichtigte Ausführung eines Smart Contracts beschreiben. Spezifizierungen umfassen die Eigenschaften eines Vertrags und legen fest, wie sich der Vertrag unter verschiedenen Umständen verhalten soll. Der Zweck der formalen Verifizierung besteht darin, festzustellen, ob ein Smart Contract diese Eigenschaften (Invarianten) besitzt, und sicherzugehen, dass während der Ausführung nicht gegen diese Eigenschaften verstoßen wird.
+
+Formale Spezifizierungen sind entscheidend für die Entwicklung sicherer Implementierungen von Smart Contracts. Verträge, für die eine Implementierung von Invarianten nicht gelingt, oder gegen deren Eigenschaften während der Ausführung verstoßen wird, sind anfällig für Sicherheitslücken, die die Funktionalität beeinträchtigen oder böswillige Angriffe ermöglichen können.
+
+## Verschiedene Arten formaler Spezifizierungen für Smart Contracts {#formal-specifications-for-smart-contracts}
+
+Formale Spezifizierungen ermöglichen mathematische Schlussfolgerungen über die Korrektheit der Programmausführung. Wie bei formalen Modellen können formale Spezifizierungen entweder die High-Level-Eigenschaften oder das Low-Level-Verhalten einer Vertragsimplementierung erfassen.
+
+Formale Spezifizierungen werden aus Elementen der [Programmlogik](https://en.wikipedia.org/wiki/Logic_programming) abgeleitet, die formale Schlussfolgerungen über die Eigenschaften eines Programms ermöglichen. Eine Programmlogik enthält formale Regeln, die (in mathematischer Sprache) das erwartete Verhalten eines Programms ausdrücken. Verschiedene Programmlogiken werden zur Erstellung formaler Spezifizierungen verwendet, einschließlich [Erreichbarkeitslogik](https://en.wikipedia.org/wiki/Reachability_problem), [zeitliche Logik](https://en.wikipedia.org/wiki/Temporal_logic) und [Hoare-Logik](https://en.wikipedia.org/wiki/Hoare_logic).
+
+Formale Spezifizierungen für Smart Contracts lassen sich grob als **High-Level-** oder **Low-Level-**Spezifizierungen klassifizieren. Unabhängig davon, zu welcher Kategorie eine Spezifizierung gehört, muss sie die Eigenschaft des zu analysierenden Systems angemessen und eindeutig beschreiben.
+
+### High-Level-Spezifizierungen {#high-level-specifications}
+
+Wie der Name schon sagt, beschreibt eine High-Level-Spezifizierung (auch „modellorientierte Spezifizierung“ genannt) das High-Level-Verhalten eines Programms. High-Level-Spezifizierungen simulieren einen Smart Contract als [Zustandsmaschine](https://en.wikipedia.org/wiki/Finite-state_machine) (Finite State Machine, FSM), die aufgrund der Durchführung von Operationen zwischen Zuständen wechseln kann. In diesem Zusammenhang werden Zeitlogiken verwendet, um formale Eigenschaften für das FSM-Modell zu definieren.
+
+[Zeitlogiken](https://en.wikipedia.org/wiki/Temporal_logic) sind „Regeln für Schlussfolgerungen über Propositionen, die in Bezug auf die Zeit qualifiziert sind (z. B. „Ich bin _immer_ hungrig“ oder „Ich werde _letztendlich_ hungrig sein“).“ Werden Zeitlogiken auf die formale Verifizierung angewendet, werden mit ihnen Behauptungen über das korrekte Verhalten von Systemen aufgestellt, die als Zustandsmaschinen modelliert werden. Insbesondere beschreibt eine Zeitlogik die zukünftigen Zustände, die ein Smart Contract annehmen kann, und wie er zwischen den Zuständen wechselt.
+
+High-Level-Spezifizierungen erfassen im Allgemeinen zwei kritische zeitliche Eigenschaften für Smart Contracts: **Sicherheit** und **Liveness**. Sicherheitseigenschaften stehen für die Vorstellung, dass „nie irgendetwas Schlimmes passiert“, und drücken in der Regel Invarianz aus. Eine Sicherheitseigenschaft kann allgemeine Softwareanforderungen definieren, wie z. B. Freiheit von [Deadlocks](https://www.techtarget.com/whatis/definition/deadlock), oder Domänen-spezifische Eigenschaften für Verträge ausdrücken (z. B. Invarianten der Zugriffskontrolle für Funktionen, zulässige Werte von Zustandsvariablen oder Bedingungen für Token-Transfers).
+
+Nehmen Sie zum Beispiel diese Sicherheitsanforderung, die die Bedingungen für die Verwendung von `transfer()` oder `transferFrom()` in ERC-20-Token-Verträgen behandelt: _„Das Guthaben eines Absenders ist niemals niedriger als die angeforderte Menge der zu sendenden Token.“_. Diese Beschreibung einer Vertragsinvariante in natürlicher Sprache lässt sich in eine formale (mathematische) Spezifizierung übersetzen, die dann rigoros auf ihre Gültigkeit überprüft werden kann.
+
+Liveness-Eigenschaften besagen, dass „irgendwann etwas Gutes passiert“ und betreffen die Fähigkeit eines Vertrags, verschiedene Zustände zu durchlaufen. Ein Beispiel für eine Liveness-Eigenschaft ist die „Liquidität“, die sich auf die Fähigkeit eines Vertrags bezieht, sein Guthaben auf Anfrage an die Benutzer zu übertragen. Würde diese Eigenschaft verletzt, könnten Benutzer die im Vertrag gespeicherten Assets nicht mehr abheben, wie es im Rahmen des [Parity-Wallet-Vorfalls](https://www.cnbc.com/2017/11/08/accidental-bug-may-have-frozen-280-worth-of-ether-on-parity-wallet.html) geschah.
+
+### Low-Level-Spezifizierungen {#low-level-specifications}
+
+High-Level-Spezifizierungen nehmen als Ausgangspunkt ein endliches Zustandsmodell eines Vertrags und definieren gewünschte Eigenschaften für dieses Modell. Im Gegensatz dazu modellieren Low-Level-Spezifizierungen (auch „eigenschaftsorientierte Spezifizierungen“ genannt) häufig Programme (Smart Contracts) als Systeme, die sich aus einer Sammlung von mathematischen Funktionen zusammensetzen, und beschreiben das korrekte Verhalten solcher Systeme.
+
+Einfacher ausgedrückt: Low-Level-Spezifizierungen analysieren _Programmabläufe_ und versuchen, Eigenschaften eines Smart Contracts über diese Abläufe zu definieren. Abläufe beziehen sich auf Sequenzen von Funktionsausführungen, die den Zustand eines Smart Contracts verändern; daher helfen Low-Level-Spezifizierungen bei der Festlegung von Anforderungen an die interne Ausführung eines Vertrags.
+
+Formale Spezifizierungen auf Low-Level-Ebene können in Form von entweder Eigenschaften im Hoare-Stil oder Invarianten auf Ausführungspfaden angegeben werden.
+
+### Hoare-Stil-Eigenschaften {#hoare-style-properties}
+
+Die [Hoare-Logik](https://en.wikipedia.org/wiki/Hoare_logic) bietet eine Reihe von formalen Regeln für Schlussfolgerungen über die Korrektheit von Programmen, einschließlich der von Smart Contracts. Eine Eigenschaft im Hoare-Stil wird durch ein Hoare-Tripel `{P}c{Q}` dargestellt, wobei `c` ein Programm ist und `P` und `Q` Prädikate über den Zustand von `c` (d.h. das Programm) sind, die formal als _Präkonditionen_ bzw. _Postkonditionen_ beschrieben werden.
+
+Eine Präkondition ist ein Prädikat, das die für die korrekte Ausführung einer Funktion erforderlichen Bedingungen beschreibt; Benutzer, die den Vertrag aufrufen, müssen diese Bedingung erfüllen. Eine Nachbedingung ist ein Prädikat, das die Bedingung beschreibt, die eine Funktion bei korrekter Ausführung festlegt; die Benutzer können davon ausgehen, dass diese Bedingung nach dem Aufruf der Funktion als erfüllt gilt. Eine _Invariante_ in der Hoare-Logik ist ein Prädikat, das durch die Ausführung einer Funktion erhalten bleibt (d. h. sich nicht verändert).
+
+Spezifizierungen im Hoare-Stil können entweder _teilweise Korrektheit_ oder _vollständige Korrektheit_ garantieren. Die Implementierung einer Vertragsfunktion ist „teilweise korrekt“, wenn die Vorbedingung erfüllt ist, bevor die Funktion ausgeführt wird, und sobald die Ausführung beendet ist, auch die Nachbedingung erfüllt ist. Ein Beweis für vollständige Korrektheit liegt vor, wenn eine Vorbedingung vor der Ausführung der Funktion wahr ist, die Ausführung garantiert beendet wird und, wenn das der Fall ist, die Nachbedingung wahr ist.
+
+Der Nachweis der vollständigen Korrektheit ist schwierig, da einige Ausführungen sich verzögern können, bevor sie beendet werden, oder überhaupt nicht beendet werden. Abgesehen davon ist die Frage, ob die Ausführung beendet wird, ein strittiger Punkt, da der Gas-Mechanismus von Ethereum unendliche Programmschleifen verhindert (die Ausführung wird entweder erfolgreich beendet oder endet aufgrund eines „Out-of-Gas“-Fehlers).
+
+Die mit Hoare-Logik erstellten Spezifizierungen für Smart Contracts enthalten Vorbedingungen, Nachbedingungen und Invarianten für die Ausführung von Funktionen und Schleifen in einem Vertrag. Vorbedingungen beinhalten oft die Möglichkeit von fehlerhaften Eingaben für eine Funktion, wobei Nachbedingungen die erwartete Reaktion auf solche Eingaben beschreiben (z. B. das Auslösen einer bestimmten Ausnahme). Auf diese Weise sind Eigenschaften im Hoare-Stil eine wirksame Möglichkeit zur Gewährleistung der Korrektheit von Vertragsimplementierungen.
+
+Viele formale Verifizierungs-Frameworks verwenden Spezifizierungen im Hoare-Stil, um die semantische Korrektheit von Funktionen zu beweisen. Es ist auch möglich, Eigenschaften im Hoare-Stil (als Behauptungen) direkt zum Vertragscode hinzuzufügen, indem die Aussagen `require` („erfordern“) und `assert` („behaupten“) in Solidity verwendet werden.
+
+`require`-Aussagen drücken eine Vorbedingung oder Invariante aus und werden häufig zur Validierung von Benutzereingaben verwendet, wohingegen `assert` eine für die Sicherheit notwendige Nachbedingung erfasst. Zum Beispiel kann eine angemessene Zugriffskontrolle für Funktionen (ein Beispiel für eine Sicherheitseigenschaft) mithilfe von `require` als Vorbedingungsprüfung der Identität des aufrufenden Kontos erreicht werden. Auf ähnliche Weise kann eine Invariante über zulässige Werte von Zustandsvariablen in einem Vertrag (z. B. die Gesamtzahl der sich im Umlauf befindlichen Token) vor einem Verstoß geschützt werden, indem `assert` verwendet wird, um den Zustand des Vertrags nach der Funktionsausführung zu bestätigen.
+
+### Eigenschaften auf Trace-Level {#trace-level-properties}
+
+Trace-basierte Spezifizierungen beschreiben Vorgänge, die für den Wechsel eines Vertrag zwischen verschiedenen Zuständen sorgen, sowie die Beziehungen zwischen diesen Vorgängen. Wie bereits erläutert, handelt es sich bei Traces um Abfolgen von Vorgängen, die den Zustand eines Vertrags auf eine bestimmte Weise verändern.
+
+Dieser Ansatz beruht auf einem Modell von Smart Contracts als Zustandswechselsystemen mit einigen vordefinierten Zuständen (beschrieben durch Zustandsvariablen) und einer Reihe von vordefinierten Wechseln (beschrieben durch Vertragsfunktionen). Darüber hinaus wird ein[Kontrollflussdiagramm](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/) („Control Flow Graph“, CFG), eine grafische Darstellung des Ausführungsflusses eines Programms, häufig zur Beschreibung der operativen Semantik eines Vertrags verwendet. Hier wird jede Trace als ein Pfad im Kontrollflussdiagramm dargestellt.
+
+In erster Linie werden Spezifizierungen auf Trace-Level eingesetzt, um Schlussfolgerungen über Muster bei der internen Ausführung von Smart Contracts zu ziehen. Durch die Erstellung von Spezifizierungen auf Trace-Level stellen wir die zulässigen Ausführungspfade (d. h. Zustandswechsel) für einen Smart Contract fest. Mithilfe von Techniken wie der symbolischen Ausführung können wir formal verifizieren, dass die Ausführung niemals einem Pfad folgt, der nicht im formalen Modell definiert ist.
+
+Sehen wir uns das Beispiel eines [DAO](/dao/)-Vertrags an, der über einige öffentlich zugängliche Funktionen zur Beschreibung von Trace-Level-Eigenschaften verfügt. Hier gehen wir davon aus, dass der DAO-Vertrag den Benutzern die folgenden Vorgänge erlaubt:
+
+- Geldmittel einzahlen
+
+- Über einen Vorschlag nach Einzahlung der Geldmittel abstimmen
+
+- Eine Rückerstattung beantragen, wenn nicht über einen Vorschlag abgestimmt wird
+
+Beispiele für „Trace-Level“-Eigenschaften könnten folgendermaßen aussehen: _„Benutzer, die keine Geldmittel einzahlen, können nicht über einen Vorschlag abstimmen“_ oder _„Benutzer, die nicht über einen Vorschlag abstimmen, sollten immer die Möglichkeit haben, eine Rückerstattung zu beantragen“_. Beiden Eigenschaften liegen bevorzugte Ausführungsreihenfolgen zugrunde (die Abstimmung kann nicht _vor_ der Einzahlung von Geldmitteln erfolgen und die Beantragung einer Rückerstattung kann nicht _nach_ der Abstimmung über einen Vorschlag erfolgen).
+
+## Techniken zur formalen Verifizierung von Smart Contracts {#formal-verification-techniques}
+
+### Modellprüfung {#model-checking}
+
+Die Modellprüfung ist eine formale Verifizierungstechnik, bei der ein Algorithmus ein formales Modell eines Smart Contracts gegen seine Spezifizierung prüft. Bei einer Modellprüfung werden Smart Contracts oft als Zustandsübergangssysteme dargestellt, wohingegen die Eigenschaften zulässiger Vertragszustände mithilfe der Zeitlogik definiert werden.
+
+Die Modellprüfung erfordert die Erstellung einer abstrakten mathematischen Repräsentation eines Systems (z. B. eines Vertrags) und den Ausdruck von Eigenschaften dieses Systems durch Formeln, die in der [Aussagenlogik](https://www.baeldung.com/cs/propositional-logic) wurzeln. Dies vereinfacht die Aufgabe des Modellprüfungsalgorithmus, nämlich zu beweisen, dass ein mathematisches Modell eine gegebene logische Formel erfüllt.
+
+Die Modellprüfung in der formalen Verifizierung dient in erster Linie der Bewertung zeitlicher Eigenschaften, die das Verhalten eines Vertrags im Lauf der Zeit beschreiben. Zu den zeitlichen Eigenschaften von Smart Contracts gehören _Sicherheit_ und _Liveness_, die wir bereits erläutert haben.
+
+Zum Beispiel kann eine Sicherheitseigenschaft, die sich auf Zugriffskontrollen bezieht (z. B., _Nur der Eigentümer des Vertrags kann `selfdestruct` („Selbstzerstörung“) aufrufen_), in formaler Logik geschrieben werden. Danach kann der Modellprüfungsalgorithmus verifizieren, ob der Vertrag diese formale Spezifizierung erfüllt.
+
+Bei der Modellprüfung wird der Zustandsraum erforscht, wobei alle möglichen Zustände eines Smart Contracts konstruiert werden und versucht wird, erreichbare Zustände zu finden, die zu Eigenschaftsverstößen führen. Dies kann jedoch zu einer unendlichen Anzahl von Zuständen führen (bekannt als „Problem der Zustandsexplosion“). Aus diesem Grund sind Modellprüfprogramme auf Abstraktionstechniken angewiesen, um eine effiziente Analyse von Smart Contracts zu ermöglichen.
+
+### Theorembeweis {#theorem-proving}
+
+Der Theorembeweis ist eine Methode, um mathematische Schlussfolgerungen über die Korrektheit von Programmen, einschließlich Smart Contracts, zu ziehen. Es geht darum, das Modell eines Vertragssystems und seine Spezifizierungen in mathematische Formeln (Logikaussagen) zu transformieren.
+
+Das Ziel des Theorembeweises ist es, die logische Äquivalenz zwischen diesen Aussagen zu verifizieren. „Logische Äquivalenz“ (auch „logische Bi-Implikation“ genannt) ist eine Art von Beziehung zwischen zwei Aussagen, wobei die erste Aussage wahr ist, _wenn und nur wenn_ die zweite Aussage wahr ist.
+
+Die geforderte Beziehung (logische Äquivalenz) zwischen Aussagen über das Modell eines Vertrages und seiner Eigenschaft wird als beweisbare Aussage (genannt „Theorem“) formuliert. Mithilfe eines formalen Inferenzsystems kann der automatisierte Theoremprüfer die Gültigkeit des Theorems verifizieren. Mit anderen Worten: Ein Theoremprüfer kann schlüssig beweisen, dass das Modell eines Smart Contracts genau seinen Spezifizierungen entspricht.
+
+Die Modellprüfung modelliert Verträge als Übergangssysteme mit endlichen Zuständen. Mit Theorembeweisen hingegen gelingt die Analyse von Systemen mit unendlichen Zuständen. Das bedeutet jedoch, dass ein automatischer Theoremprüfer nicht immer wissen kann, ob ein Logikproblem „entscheidbar“ ist oder nicht.
+
+Daher ist oft menschliche Hilfe erforderlich, um den Theoremprüfer bei der Ableitung von Korrektheitsbeweisen anzuleiten. Der Einsatz menschlicher Arbeitskraft bei Theorembeweisen macht seine Nutzung teurer als die der Modellprüfung, die vollständig automatisiert erfolgt.
+
+### Symbolische Ausführung {#symbolic-execution}
+
+Die symbolische Ausführung ist eine Methode zur Analyse eines Smart Contracts, bei der Funktionen mit _symbolischen Werten_ (z. B., `x > 5`) anstelle von _konkreten Werten_ (z. B., `x == 5`) ausgeführt werden. Als formale Verifizierungsstechnik wird die symbolische Ausführung eingesetzt, um auf formale Weise Schlussfolgerungen über die Trace-Level-Eigenschaften im Code eines Vertrags zu ziehen.
+
+Die symbolische Ausführung stellt eine Ausführungs-Trace als mathematische Formel über symbolischen Eingabewerten dar, die auch als _Pfad-Prädikat_ bezeichnet werden. Ein [SMT Solver](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories) wird verwendet, um zu prüfen, ob ein Pfadprädikat „erfüllbar“ ist (d. h. ob es einen Wert gibt, der die Formel erfüllen kann). Wenn ein anfälliger Pfad erfüllbar ist, erzeugt der SMT Solver einen konkreten Wert, der die Ausführung in Richtung dieses Pfades auslöst und lenkt.
+
+Angenommen, eine Funktion eines Smart Contracts nimmt einen `uint`-Wert (`x`) als Eingabe an und macht dies rückgängig, wenn `x` größer als `5` und gleichzeitig kleiner als `10` ist. Damit ein Wert für `x` gefunden wird, der den Fehler im Rahmen eines normalen Testverfahrens auslöst, müssten Dutzende von Testfällen (oder mehr) durchlaufen werden, wobei keine Gewissheit besteht, dass tatsächlich eine fehlerauslösende Eingabe gefunden wird.
+
+Umgekehrt würde ein Werkzeug zur symbolischen Ausführung die Funktion mit dem folgenden symbolischen Wert ausführen: `X > 5 ∧ X < 10` (d.h., `x` ist größer als 5 UND `x` ist kleiner als 10). Das zugehörige Pfadprädikat `x = X > 5 ∧ X < 10` würde dann an einen SMT Solver zur Lösung übergeben werden. Wenn ein bestimmter Wert die Formel `x = X > 5 ∧ X < 10` erfüllt, wird dieser vom SMT Solver berechnet – zum Beispiel könnte der Solver `7` als einen Wert für `x` berechnen.
+
+Da die symbolische Ausführung auf Eingaben in ein Programm angewiesen ist und die Menge der Eingaben zur Erforschung aller erreichbaren Zustände potenziell unendlich ist, handelt es sich dabei dennoch um eine Form von Tests. Wie das Beispiel zeigt, ist die symbolische Ausführung jedoch effizienter als reguläre Tests, wenn es darum geht, Eingaben zu finden, die Eigenschaftsverstöße auslösen.
+
+Außerdem führt die symbolische Ausführung zu weniger falsch-positiven Ergebnissen als andere eigenschaftsbasierte Techniken (z. B. Fuzzing), bei denen die Eingaben für eine Funktion zufällig generiert werden. Wird bei der symbolischen Ausführung ein Fehlerzustand ausgelöst, so kann ein konkreter Wert erzeugt werden, der den Fehler auslöst und das Problem reproduziert.
+
+Die symbolische Ausführung kann auch einen gewissen mathematischen Beweis für die Korrektheit liefern. Betrachten Sie das folgende Beispiel für eine Vertragsfunktion mit Überlaufschutz:
+
+```
+function safe_add(uint x, uint y) returns(uint z){
+
+ z = x + y;
+ require(z>=x);
+ require(z>=y);
+
+ return z;
+```
+
+Eine Ausführungs-Trace, die zu einem Ganzzahlüberlauf führt, müsste die folgende Formel erfüllen: `z = x + y UND (z >= x) UND (z=>y) UND (z < x ODER z < y)` Es ist unwahrscheinlich, dass solch eine Formel gelöst wird, daher dient sie als mathematischer Beweis, dass die Funktion `safe_add` niemals überläuft.
+
+### Warum die formale Verifizierung für Smart Contracts? {#benefits-of-formal-verification}
+
+#### Notwendigkeit der Zuverlässigkeit {#need-for-reliability}
+
+Die formale Verifizierung wird eingesetzt, um die Korrektheit sicherheitskritischer Systeme zu bewerten, deren Versagen verheerende Folgen haben kann, wie Tod, Verletzung oder finanziellen Ruin. Smart Contracts sind High-Value-Anwendungen, die enorme Werte kontrollieren, und einfache Fehler in ihrem Aufbau können zu [unwiederbringlichen Verlusten für die Benutzer](https://www.freecodecamp.org/news/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce/amp/) führen. Die formale Verifizierung eines Vertrags vor der Veröffentlichung kann jedoch die Garantien erhöhen, dass er wie erwartet funktioniert, sobald er auf der Blockchain läuft.
+
+Zuverlässigkeit ist eine äußerst wünschenswerte Eigenschaft eines jeden Smart Contracts, insbesondere weil Code, der in der Ethereum Virtual Machine (EVM) veröffentlicht wurde, in der Regel unveränderbar ist. Da Upgrades nach dem Launch nicht ohne weiteres möglich sind, ist eine formale Verifizierung erforderlich, um die Zuverlässigkeit der Verträge zu gewährleisten. Dank formaler Verifizierung können heikle Probleme wie Ganzzahlunterläufe und -überläufe, Wiedereintritte und schlechte Gasoptimierungen erkannt werden, die Auditoren und Testern möglicherweise entgehen.
+
+#### Nachweis der funktionalen Korrektheit {#prove-functional-correctness}
+
+Programmtests sind die gängigste Methode, um zu beweisen, dass ein Smart Contract bestimmte Anforderungen erfüllt. In diesem Zusammenhang wird ein Vertrag mit Beispieldaten, die verarbeitet werden sollen, ausgeführt und sein Verhalten analysiert. Wenn der Vertrag die erwarteten Ergebnisse für die Beispieldaten liefert, dann haben die Entwickler einen objektiven Beweis für seine Korrektheit.
+
+Mit diesem Ansatz kann jedoch nicht die korrekte Ausführung für Eingabewerte bewiesen werden, die nicht Teil der Beispieldaten sind. Daher kann das Testen eines Vertrages dabei helfen, Bugs zu entdecken (z. B. wenn einige Codepfade während der Ausführung nicht die gewünschten Ergebnisse liefern), aber **es kann nicht schlüssig beweisen, dass keine Bugs vorhanden sind**.
+
+Umgekehrt kann mithilfe der formalen Verifizierung formal bewiesen werden, dass ein Smart Contract die Anforderungen für einen unendlichen Bereich von Ausführungen _erfüllt, ohne_ den Vertrag überhaupt auszuführen. Dies erfordert die Erstellung einer formalen Spezifizierung, die das korrekte Verhalten von Verträgen genau beschreibt, und die Entwicklung eines formalen (mathematischen) Modells für das System des Vertrags. Dann können wir ein formales Beweisverfahren anwenden, um die Konsistenz zwischen dem Vertragsmodell und seiner Spezifizierung zu überprüfen.
+
+Bei der formalen Verifizierung ist die Frage, ob die Geschäftslogik eines Vertrags den Anforderungen entspricht, eine mathematische Proposition, die bewiesen oder widerlegt werden kann. Durch den formalen Beweis einer Proposition können wir eine unendliche Anzahl von Testfällen mit einer endlichen Anzahl von Schritten verifizieren. Auf diese Weise bestehen bei der formalen Verifizierung bessere Aussichten darauf, zu beweisen, dass ein Vertrag in Bezug auf eine Spezifizierung funktional korrekt ist.
+
+#### Ideale Verifizierungsziele {#ideal-verification-targets}
+
+Ein Verifizierungssziel beschreibt das formal zu verifizierende System. Die formale Verifizierung eignet sich am besten für „eingebettete Systeme“ (kleine, einfache Teile einer Software, die zu einem größeren System gehören). Sie sind auch ideal für spezialisierte Domänen, die nur wenigen Regeln unterliegen, da dies die Anpassung von Werkzeugen zur Verifizierung von domänenspezifischen Eigenschaften erleichtert.
+
+Smart Contracts erfüllen – zumindest bis zu einem gewissen Grad – beide Anforderungen. Die geringe Größe von Ethereum-Verträgen bedeutet zum Beispiel, dass sie für eine formale Verifizierung geeignet sind. Auf ähnliche Weise unterliegt die EVM einfachen Regeln, was das Festlegen und die Verifizierung semantischer Eigenschaften für Programme, die auf der EVM laufen, erleichtert.
+
+### Schnellerer Entwicklungszyklus {#faster-development-cycle}
+
+Formale Verifizierungstechniken wie die Modellprüfung und symbolische Ausführung sind in der Regel effizienter als die reguläre Analyse von Smart-Contract-Code (die im Rahmen von Tests oder Audits durchgeführt wird). Dies liegt daran, dass die formale Verifizierung auf symbolischen Werten beruht, um Behauptungen zu testen („Was, wenn ein Benutzer versucht, _n_ Ether abzuheben?“) – im Gegensatz zu Tests, bei denen konkrete Werte zum Einsatz kommen („Was, wenn ein Benutzer versucht, 5 Ether abzuheben?“).
+
+Symbolische Eingabevariablen können mehrere Klassen konkreter Werte abdecken, sodass formale Verifizierungsansätze eine größere Codeabdeckung in kürzerer Zeit versprechen. Wenn sie effektiv eingesetzt wird, kann die formale Verifizierung den Entwicklungszyklus für Entwickler beschleunigen.
+
+Die formale Verifizierung sorgt auch für einen besseren Prozess bei der Entwicklung dezentraler Anwendungen (DApps), indem sie kostspielige Designfehler reduziert. Die Aktualisierung von Verträgen (soweit möglich) zur Behebung von Schwachstellen erfordert eine umfangreiche Umschreibung der Codebasis und einen höheren Entwicklungsaufwand. Durch die formale Verifizierung können viele Fehler in der Vertragsimplementierung aufgedeckt werden, die den Testern und Auditoren entgehen könnten, und es besteht ausreichend Gelegenheit, diese Probleme zu beheben, bevor ein Vertrag veröffentlicht wird.
+
+## Nachteile der formalen Verifizierung {#drawbacks-of-formal-verification}
+
+### Kosten für manuelle Arbeit {#cost-of-manual-labor}
+
+Für die formale Verifizierung, insbesondere die halbautomatische Verifizierung, bei der ein Mensch den Prüfer bei der Ableitung von Korrektheitsbeweisen anleitet, ist ein erhebliches Maß an manueller Arbeit erforderlich. Darüber hinaus ist die Erstellung formaler Spezifizierungen eine komplexe Tätigkeit, die ein hohes Maß an Fachwissen erfordert.
+
+Aufgrund dieser Faktoren (Aufwand und Fähigkeiten) ist die formale Verifizierung anspruchsvoller und teurer als die üblichen Methoden zur Bewertung der Korrektheit von Verträgen, wie etwa Tests und Audits. Angesichts der Kosten von Fehlern bei der Implementierung von Smart Contracts ist es jedoch sinnvoll, die Kosten für ein vollständiges Verifizierungsaudit zu tragen.
+
+### Falsch-negative Ergebnisse {#false-negatives}
+
+Bei einer formalen Verifizierung kann nur geprüft werden, ob die Ausführung des Smart Contracts der formalen Spezifizierung entspricht. Daher muss sichergestellt werden, dass die Spezifizierung die erwarteten Verhaltensweisen eines Smart Contracts korrekt beschreibt.
+
+Wenn Spezifizierungen schlecht geschrieben sind, können Verstöße gegen Eigenschaften – die auf anfällige Ausführungen hinweisen – durch das formale Verifizierungsaudit nicht entdeckt werden. In diesem Fall könnte der Entwickler irrtümlicherweise zur Annahme verleitet werden, dass der Vertrag keine Bugs enthält.
+
+### Probleme mit der Leistungsfähigkeit {#performance-issues}
+
+Bei der formalen Verifizierung kommt es zu einer Reihe von Leistungsproblemen. So können beispielsweise Probleme mit Zustands- und Pfadexplosionen, die bei der Modellprüfung bzw. der symbolischen Prüfung auftreten, die Verifizierungsverfahren beeinträchtigen. Außerdem kommen als Werkzeuge für formale Verifizierungen häufig SMT-Solver und andere Constraint-Solver auf ihrer zugrunde liegenden Ebene zum Einsatz, und diese Solver sind auf rechenintensive Verfahren angewiesen.
+
+Außerdem ist es für Programm-Verifizierer nicht immer möglich, festzustellen, ob eine (als logische Formel beschriebene) Eigenschaft erfüllt werden kann oder nicht (das „[Entscheidbarkeitsproblem](https://en.wikipedia.org/wiki/Decision_problem)“), da ein Programm möglicherweise nie endet. Daher kann es unmöglich sein, einige Eigenschaften eines Vertrags nachzuweisen, selbst wenn er gut spezifiziert ist.
+
+## Werkzeuge zur formalen Verifizierung von Ethereum-Smart-Contracts {#formal-verification-tools}
+
+### Spezifizierungssprachen zur Erstellung formaler Spezifizierungen {#specification-languages}
+
+**Act**: _*Act ermöglicht die Spezifizierung von Speicher-Updates, Vor- und Nachbedingungen und Vertragsinvarianten. Die Tool-Suite verfügt auch über Proof Backends, die viele Eigenschaften über Coq, SMT Solver oder hevm beweisen können.**
+
+- [GitHub](https://github.com/ethereum/act)
+- [Dokumentation](https://ethereum.github.io/act/)
+
+**Scribble** - _*Scribble wandelt Code-Annotationen in der Scribble-Spezifizierungssprache in konkrete Behauptungen um, die die Spezifizierung überprüfen.**
+
+- [Dokumentation](https://docs.scribble.codes/)
+
+**Dafny** – _*Dafny ist eine verifizierungsbereite Programmiersprache, die sich auf High-Level-Annotationen stützt, um Schlussfolgerungen über den Code zu ziehen und dessen Korrektheit zu beweisen.**
+
+- [GitHub](https://github.com/dafny-lang/dafny)
+
+### Programmverifizierer zur Überprüfung der Korrektheit {#program-verifiers}
+
+**Certora Prover** – _Certora Prover ist ein automatisches, formales Verifizierungstool zur Überprüfung der Korrektheit von Code in Smart Contracts. Die Spezifizierungen werden in CVL (Certora Verification Language) geschrieben, wobei Verstöße gegen Eigenschaften durch eine Kombination aus statischer Analyse und Constraint Solving aufgedeckt werden._
+
+- [Website](https://www.certora.com/)
+- [Dokumentation](https://docs.certora.com/en/latest/index.html)
+
+**Solidity SMTChecker** – _*Der SMTChecker von Solidity ist ein eingebauter Model Checker, der auf SMT (Satisfiability Modulo Theories) und Horn Solving basiert. Er bestätigt, ob der Quellcode eines Vertrags während der Kompilierung mit den Spezifizierungen übereinstimmt und prüft statisch auf Verstöße gegen die Sicherheitseigenschaften.**
+
+- [GitHub](https://github.com/ethereum/solidity)
+
+**solc-verify** – _*solc-verify ist eine erweiterte Version des Solidity-Compilers, die automatisierte formale Verifizierungen von Solidity-Code mithilfe von Annotationen und modularer Programmverifizierung durchführen kann.**
+
+- [GitHub](https://github.com/SRI-CSL/solidity)
+
+**KEVM** – _*KEVM ist eine formale Semantik der Ethereum Virtual Machine (EVM), die im K-Framework geschrieben wurde. KEVM ist ausführbar und kann bestimmte eigenschaftsbezogene Behauptungen mithilfe der Erreichbarkeitslogik beweisen.**
+
+- [GitHub](https://github.com/runtimeverification/evm-semantics)
+- [Dokumentation](https://jellopaper.org/)
+
+### Logische Frameworks für den Theorembeweis {#theorem-provers}
+
+**Isabelle** – _Isabelle/HOL ist ein Beweisassistent, der es ermöglicht, mathematische Formeln in einer formalen Sprache auszudrücken, und Werkzeuge zum Beweisen dieser Formeln bereitstellt. Seine Hauptanwendung ist die Formalisierung mathematischer Beweise und insbesondere die formale Verifizierung, die den Nachweis der Korrektheit von Computerhardware oder -software und den Nachweis der Eigenschaften von Computersprachen und -protokollen umfasst._
+
+- [GitHub](https://github.com/isabelle-prover)
+- [Dokumentation](https://isabelle.in.tum.de/documentation.html)
+
+**Coq** – _Coq ist ein interaktiver Theorem-Prüfer, mit dem sich Programme unter Verwendung von Theoremen definieren und interaktiv maschinengeprüfte Korrektheitsbeweise erzeugen lassen._
+
+- [GitHub](https://github.com/coq/coq)
+- [Dokumentation](https://coq.github.io/doc/v8.13/refman/index.html)
+
+### Auf symbolischer Durchführung basierende Werkzeuge zur Erkennung anfälliger Muster in Smart Contracts {#symbolic-execution-tools}
+
+**Manticore** – _*Ein Tool zur Analyse des EVM-Bytecodes basierend auf symbolischer Ausführung*.*
+
+- [GitHub](https://github.com/trailofbits/manticore)
+- [Dokumentation](https://github.com/trailofbits/manticore/wiki)
+
+**hevm** – _*hevm ist eine symbolische Ausführungsengine und ein Äquivalenzprüfer für EVM-Bytecode.**
+
+- [GitHub](https://github.com/dapphub/dapptools/tree/master/src/hevm)
+
+**Mythril** - _Ein Werkzeug zur symbolischen Ausführung zum Erkennen von Schwachstellen in Ethereum-Smart-Contracts_
+
+- [GitHub](https://github.com/ConsenSys/mythril-classic)
+- [Dokumentation](https://mythril-classic.readthedocs.io/en/develop/)
+
+## Weiterführende Informationen {#further-reading}
+
+- [Wie die formale Verifizierung von Smart Contracts funktioniert](https://runtimeverification.com/blog/how-formal-verification-of-smart-contracts-works/)
+- [Wie die formale Verifizierung fehlerfreie Smart Contracts sicherstellen kann](https://media.consensys.net/how-formal-verification-can-ensure-flawless-smart-contracts-cbda8ad99bd1)
+- [Ein Überblick über Projekte zur formalen Verifizierung im Ethereum-Ökosystem](https://github.com/leonardoalt/ethereum_formal_verification_overview)
+- [Formale End-to-End-Verifizierung des Ethereum 2.0 Deposit Smart Contract](https://runtimeverification.com/blog/end-to-end-formal-verification-of-ethereum-2-0-deposit-smart-contract/)
+- [Die formale Verifizierung der weltweit populärsten Smart Contracts](https://www.zellic.io/blog/formal-verification-weth)
+- [SMTChecker und formale Verifizierung](https://docs.soliditylang.org/en/v0.8.15/smtchecker.html)
diff --git a/public/content/translations/de/developers/docs/smart-contracts/index.md b/public/content/translations/de/developers/docs/smart-contracts/index.md
index df70c592edd..c858d676332 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/index.md
@@ -86,9 +86,9 @@ Erfahren Sie mehr über die [Kombinierbarkeit von Smart Contracts](/developers/d
## Einschränkungen {#limitations}
-Smart Contracts allein können keine Informationen über Ereignisse in der „realen Welt“ erhalten, da sie keine Daten von Quellen außerhalb der Kette abrufen können. Das bedeutet, dass sie nicht auf Ereignisse in der realen Welt reagieren können. Das ist beabsichtigt. Sich auf externe Informationen zu verlassen, könnte den für Sicherheit und Dezentralisierung wichtigen Konsens gefährden.
+Smart Contracts allein können keine Informationen über „echte Welt“-Ereignisse erhalten, da sie keine Daten von Offchain-Quellen abrufen können. Das bedeutet, dass sie nicht auf Ereignisse in der realen Welt reagieren können. Das ist beabsichtigt. Sich auf externe Informationen zu verlassen, könnte den für Sicherheit und Dezentralisierung wichtigen Konsens gefährden.
-Für Blockchain-Anwendungen ist es jedoch wichtig, dass sie auch Daten außerhalb der Chain benutzen können. Die Lösung sind [Orakel](/developers/docs/oracles/), d. h. Tools, die Off-Chain-Daten aufnehmen und sie für Smart Contracts verfügbar machen.
+Allerdings ist es wichtig, dass Blockchain-Anwendungen Off-Chain-Daten nutzen können. Die Lösung sind [Orakel](/developers/docs/oracles/), also Werkzeuge, die Off-Chain-Daten aufnehmen und sie für Smart Contracts verfügbar machen.
Eine weitere Einschränkung von Smart Contracts ist die maximale Vertragsgröße. Ein Smart Contract kann maximal 24 KB groß sein, sonst gehen ihm die Ressourcen aus. Das kann mit [The Diamond Pattern](https://eips.ethereum.org/EIPS/eip-2535) behoben werden.
@@ -109,3 +109,4 @@ Multisig-Verträge (multiple Signaturen) sind Smart Contract-Accounts, die mehre
- [Coinbase: Was ist ein Smart Contract?](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract)
- [Chainlink: Was ist ein Smart Contract?](https://chain.link/education/smart-contracts)
- [Video: Einfach erklärt – Smart Contracts](https://youtu.be/ZE2HxTmxfrI)
+- [Cyfrin Updraft: Web3-Lern- und Auditierungsplattform](https://updraft.cyfrin.io)
diff --git a/public/content/translations/de/developers/docs/smart-contracts/languages/index.md b/public/content/translations/de/developers/docs/smart-contracts/languages/index.md
index e5e848d85e7..350bdf8ae74 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/languages/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/languages/index.md
@@ -11,6 +11,8 @@ Die zwei häufig genutzten und aktuellsten Sprachen sind:
- Solidity
- Vyper
+Remix IDE bietet eine umfassende Entwicklungsumgebung zum Erstellen und Testen von Contracts in Solidity als auch in Vyper. [Probieren Sie die Remix IDE im Browser](https://remix.ethereum.org), um mit dem Codieren zu beginnen.
+
Für erfahrene Entwickler könnten außerdem Yul, eine intermediäre Sprache für die [Ethereum-Virtual Machine](/developers/docs/evm/), oder Yul+, eine Erweiterung für Yul, interessant sein.
Wenn Sie neugierig sind und gerne dabei helfen, neue, noch in der Entwicklung befindliche Sprachen zu testen, können Sie mit Fe experimentieren, einer aufstrebenden Smart-Contract-Sprache, die derzeit noch in den Kinderschuhen steckt.
@@ -35,7 +37,7 @@ Vorwissen über andere Programmiersprachen, insbesondere JavaScript oder Python,
- [Solidity Sprachportal](https://soliditylang.org/)
- [Solidity am Beispiel](https://docs.soliditylang.org/en/latest/solidity-by-example.html)
- [GitHub](https://github.com/ethereum/solidity/)
-- [Solidity Gitter Chatroom](https://gitter.im/ethereum/solidity) überbrückt mit [Solidity Matrix Chatroom](https://matrix.to/#/#ethereum_solidity:gitter.im)
+- [Solidity Gitter Chatroom](https://gitter.im/ethereum/solidity) verbunden mit [Solidity Matrix Chatroom](https://matrix.to/#/#ethereum_solidity:gitter.im)
- [Spickzettel](https://reference.auditless.com/cheatsheet)
- [Solidity-Blog](https://blog.soliditylang.org/)
- [Solidity Twitter](https://twitter.com/solidity_lang)
diff --git a/public/content/translations/de/developers/docs/smart-contracts/libraries/index.md b/public/content/translations/de/developers/docs/smart-contracts/libraries/index.md
index 7ef778bd109..46a3bf0a4d4 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/libraries/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/libraries/index.md
@@ -16,7 +16,7 @@ Normalerweise finden Sie zwei Arten von Erstellungsblöcken in einer Smart Contr
### Verhaltensweisen {#behaviors}
-Wenn Sie einen Smart Contract schreiben, ist es wahrscheinlich das Sie immer wieder dieselben Muster erstellen, zum Beispiel das Zuweisen einer _Admin_-Adresse, um geschützte Vorgänge in einem Vertrag auszuführen, oder das Hinzufügen einer Notfall-_Unterbrechungs_-Schaltfläche, falls ein unvorhergesehenes Problem auftritt.
+Wenn Sie einen Smart Contract schreiben, ist es wahrscheinlich das Sie immer wieder dieselben Muster erstellen, zum Beispiel das Zuweisen einer _Admin-_Adresse, um geschützte Vorgänge in einem Vertrag auszuführen, oder das Hinzufügen einer Notfall-_Unterbrechungs_-Schaltfläche, falls ein unvorhergesehenes Problem auftritt.
Smart-Contract-Bibliotheken bieten in der Regel wiederverwendbare Implementierungen dieser Vorgehensweisen als [Bibliotheken](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#libraries) oder über eine [Vererbung](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#inheritance) an.
@@ -65,7 +65,7 @@ Es ist erwähnenswert, dass einige ERCs nicht eigenständig sind, sondern Ergän
Beziehen Sie sich immer auf die Dokumentation der Bibliothek, die Sie einbinden, um genaue Anweisungen zur Einbindung in Ihr Projekt zu bekommen. Viele Solidity-Vertragsbibliotheken werden mit `npm` gepackt, sodass Sie sie einfach `npm install` benutzen können. Die meisten Anwendungen zum [Kompilieren](/developers/docs/smart-contracts/compiling/) von Verträgen prüfen Ihre `node_modules` für Smart-Contract-Bibliotheken, sodass Sie Folgendes tun können:
```solidity
-// Dadurch wird die @openzeppelin/contracts-Bibliothek von Ihren node_modules geladen
+// Dadurch wird die @openzeppelin/contracts-Bibliothek von Ihren node_modules geladen
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract MyNFT is ERC721 {
@@ -79,7 +79,7 @@ Unabhängig von der verwendeten Methode sollten Sie beim Einbinden einer Bibliot
Wenn Sie eine Smart-Contract-Bibliothek für Ihr Projekt nutzen, bietet das gleich mehrere Vorteile. In erster Linie sparen Sie Zeit, denn die Bibliothek stellt fertige Bausteine zur Verfügung stellt, die Sie einfach in Ihr System integrieren können, anstatt sie selbst schreiben zu müssen.
-Sicherheit ist ein großes Plus. Auch Open-Source-Smart-Contract-Bibliotheken werden oft intensiv untersucht. Da viele Projekte von der Bibliothek abhängen, besteht ein starker Anreiz vonseiten der Communty, sie ständig zu überprüfen. Fehler finden sich viel häufiger im Anwendungscode als in wiederverwendbaren Vertragsbibliotheken. Einige Bibliotheken werden auch [externen Audits](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audit) unterzogen, um deren Sicherheit zu erhöhen.
+Sicherheit ist ein großes Plus. Auch Open-Source-Smart-Contract-Bibliotheken werden oft intensiv untersucht. Da viele Projekte von der Bibliothek abhängen, besteht ein starker Anreiz vonseiten der Communty, sie ständig zu überprüfen. Fehler finden sich viel häufiger im Anwendungscode als in wiederverwendbaren Vertragsbibliotheken. Einige Bibliotheken werden auch [externen Audits](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audits) unterzogen, um deren Sicherheit zu erhöhen.
Die Verwendung von Smart-Contract-Bibliotheken birgt jedoch das Risiko, dass Sie Code in Ihr Projekt integreiren, mit dem Sie nicht vertraut sind. Es ist verlockend, einen Vertrag zu importieren und direkt in Ihr Projekt aufzunehmen, doch ohne ein gutes Verständnis dessen, was dieser Vertrag bewirkt, können Sie aufgrund eines unerwarteten Verhaltens versehentlich ein Problem in Ihrem System einführen. Lesen Sie immer die Dokumentation des Codes, den Sie importieren, und überprüfen Sie dann den Code selbst, bevor Sie ihn in Ihr Projekt aufnehmen.
diff --git a/public/content/translations/de/developers/docs/smart-contracts/security/index.md b/public/content/translations/de/developers/docs/smart-contracts/security/index.md
index f7513df2199..d37e94b12a7 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/security/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/security/index.md
@@ -78,7 +78,7 @@ Die übliche Methode besteht darin, kleine Unit-Tests mit Scheindaten zu schreib
Leider sind Unit-Tests für die Verbesserung der Sicherheit von Smart Contracts nur wenig effektiv, wenn sie nur isoliert angewendet werden. Ein Unit-Test kann beweisen, dass eine Funktion bei Mock-Daten korrekt ausgeführt wird, Unit-Tests sind jedoch nur so effektiv wie die Tests, die verfasst werden. Das macht es schwierig, unentdeckte Sonderfälle und Schwachstellen zu erkennen, die die Sicherheit Ihres Smart Contracts gefährden könnten.
-Ein besserer Ansatz besteht darin, Unit-Tests mit eigenschaftsbasierten Tests zu kombinieren, die mit [statischer und dynamischer Analyse](/developers/docs/smart-contracts/testing/#static-dynamic-analysis) durchgeführt werden. Die statische Analyse stützt sich auf Low-Level-Darstellungen, wie [Kontrollflussdiagramme](https://en.wikipedia.org/wiki/Control-flow_graph) und [abstrakte Syntaxstrukturen](https://deepsource.io/glossary/ast/), um die erreichbaren Programmzustände und Ausführungspfade zu analysieren. Bei dynamischen Analysetechniken wie Fuzzing wird Vertragscode mit zufälligen Eingabewerten ausgeführt, um Operationen zu erkennen, die gegen Sicherheitseigenschaften verstoßen.
+Ein besserer Ansatz besteht darin, Unit-Tests mit eigenschaftsbasierten Tests zu kombinieren, die mit [statischer und dynamischer Analyse](/developers/docs/smart-contracts/testing/#static-dynamic-analysis) durchgeführt werden. Die statische Analyse stützt sich auf Low-Level-Darstellungen, wie [Kontrollflussdiagramme](https://en.wikipedia.org/wiki/Control-flow_graph) und [abstrakte Syntaxstrukturen](https://deepsource.io/glossary/ast/), um die erreichbaren Programmzustände und Ausführungspfade zu analysieren. In der Zwischenzeit führen dynamische Analysetechniken wie etwa [Smart Contract Fuzzing](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry) Contract-Code mit zufälligen Eingabewerten aus, um Operationen zu erkennen, die Sicherheitseigenschaften verletzen.
[Die formale Verifizierung](/developers/docs/smart-contracts/formal-verification) ist eine weitere Technik zur Überprüfung der Sicherheitseigenschaften von Smart Contracts. Im Gegensatz zu regulären Tests kann die formale Verifizierung schlüssig beweisen, dass ein Smart Contract keine Fehler enthält. Dies wird erreicht, indem eine formale Spezifikation erstellt wird, die die gewünschten Sicherheitseigenschaften festhält, um dann zu gewährleisten, dass ein Formmodell des Vertrags mit dieser Spezifikation übereinstimmt.
@@ -90,13 +90,16 @@ Nachdem Sie Ihren Vertrag getestet haben, sollten Sie andere bitten, den Quellco
Die Beauftragung eines Smart Contract-Audits ist eine Möglichkeit zur Durchführung einer unabhängigen Code-Überprüfung. Prüfer spielen eine wichtige Rolle, wenn es darum geht sicherzustellen, dass Smart Contracts sicher und frei von Qualitätsmängeln und Planungsfehlern sind.
-Dennoch sollten Sie Audits nicht als Wunderwaffe betrachten. Smart Contract-Audits können nicht jeden Fehler aufspüren und sind hauptsächlich dazu gedacht, eine zusätzliche Runde von Überprüfungen durchzuführen, die dazu beitragen können, Probleme zu entdecken, die von den Entwicklern während der anfänglichen Entwicklung und Tests übersehen wurden. Sie sollten auch die [Best Practices für die Zusammenarbeit mit Prüfern](https://twitter.com/tinchoabbate/status/1400170232904400897) befolgen, z. B. den Code ordnungsgemäß dokumentieren und Inline-Kommentare hinzufügen, um den Nutzen eines Smart Contract-Audits zu maximieren.
+Dennoch sollten Sie Audits nicht als Wunderwaffe betrachten. Smart Contract-Audits können nicht jeden Fehler aufspüren und sind hauptsächlich dazu gedacht, eine zusätzliche Runde von Überprüfungen durchzuführen, die dazu beitragen können, Probleme zu entdecken, die von den Entwicklern während der anfänglichen Entwicklung und Tests übersehen wurden. Sie sollten auch die Best Practices für die Zusammenarbeit mit Prüfern befolgen, z. B. den Code ordnungsgemäß dokumentieren und Inline-Kommentare hinzufügen, um den Nutzen eines Smart Contract-Audits zu maximieren.
+
+- [Tipps und Tricks zum Smart-Contract-Auditing](https://twitter.com/tinchoabbate/status/1400170232904400897) – _@tinchoabbate_
+- [Holen Sie das Beste aus Ihrem Audit heraus](https://inference.ag/blog/2023-08-14-tips/) – _Inference_
#### Aufdecken von Fehlern {#bug-bounties}
Die Einrichtung eines Prämienprogramms für das Aufdecken von Fehlern (Bug Bounty Program) ist ein weiterer Ansatz zur Durchführung externer Codeüberprüfungen. Ein Bug Bounty ist eine finanzielle Belohnung für Personen (in der Regel Whitehat-Hacker), die Schwachstellen in einer Applikation entdecken.
-Wenn sie richtig eingesetzt werden, geben Bug Bounties den Mitgliedern der Hacker-Community einen Anreiz, Ihren Code auf kritische Fehler zu untersuchen. Ein reales Beispiel ist der „Infinite Money Bug“, der es einem Angreifer ermöglicht hätte, eine unbegrenzte Menge an Ether auf [Optimism](https://www.optimism.io/), einem [Layer 2](/layer-2/)-Protokoll, das auf Ethereum läuft, zu erzeugen. Glücklicherweise entdeckte ein Whitehat-Hacker [den Fehler](https://www.saurik.com/optimism.html) und meldete ihn dem Team, [und erhielt dafür eine hohe Belohnung](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
+Wenn sie richtig eingesetzt werden, geben Bug Bounties den Mitgliedern der Hacker-Community einen Anreiz, Ihren Code auf kritische Fehler zu untersuchen. Ein Beispiel aus der Praxis ist der „unendliches Geld“-Fehler, der einem Angreifer ermöglicht hätte, eine unbegrenzte Menge an Ether auf [Optimism](https://www.optimism.io/) zu erzeugen, einem [Layer-2](/layer-2/)-Protokoll, das auf Ethereum läuft. Glücklicherweise entdeckte ein Whitehat-Hacker [den Fehler](https://www.saurik.com/optimism.html) und meldete ihn dem Team, [und erhielt dafür eine hohe Belohnung](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
Eine sinnvolle Strategie besteht darin, die Auszahlung eines Bug-Bounty-Programms im Verhältnis zur Höhe der auf dem Spiel stehenden Mittel festzulegen. Dieser als „[Skalierung zum Aufdecken von Fehlern](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)“ bezeichnete Ansatz bietet finanzielle Anreize für Einzelpersonen, Schwachstellen verantwortungsbewusst offenzulegen, anstatt sie auszunutzen.
@@ -112,7 +115,7 @@ Die Verfügbarkeit von Audits und Bug Bounties entbindet Sie nicht von Ihrer Ver
- Verwendung einer [Entwicklungsumgebung](/developers/docs/frameworks/) zum Testen, Kompilieren und Bereitstellen von Smart Contracts
-- Überprüfen Sie Ihren Code mit grundlegenden Code-Analysetools wie Mythril und Slither. Idealerweise sollten Sie dies tun, noch bevor eine Pull-Anfrage eingebunden wird, und die Unterschiede in der Ergebnisausgabe vergleichen
+- Führen Sie Ihren Code durch grundlegende Code-Analyse-Tools wie [Cyfrin Aderyn](https://github.com/Cyfrin/aderyn), Mythril und Slither. Idealerweise sollten Sie dies tun, noch bevor eine Pull-Anfrage eingebunden wird, und die Unterschiede in der Ergebnisausgabe vergleichen
- Stellen Sie sicher, dass Ihr Code ohne Fehler kompiliert wird und der Solidity-Compiler keine Warnungen ausgibt
@@ -126,7 +129,7 @@ Die Entwicklung sicherer Zugriffskontrollen, die Implementierung von Funktionsmo
Obwohl Ethereum Smart Contracts standardmäßig unveränderlich sind, ist es möglich, durch die Verwendung von Upgrade-Mustern einen gewissen Grad an Veränderbarkeit zu erreichen. Die Aktualisierung von Verträgen ist dann erforderlich, wenn ein kritischer Fehler Ihren alten Vertrag unbrauchbar macht und die Einführung einer neuen Logik die sinnvollste Option darstellt.
-Die Mechanismen zur Aktualisierung von Verträgen funktionieren unterschiedlich, wobei jedoch das „Proxy-Muster“ einer der beliebtesten Ansätze für die Aktualisierung von Smart Contracts ist. Proxy-Muster teilen den Zustand und die Logik einer Anwendung zwischen _zwei_ Verträgen auf. Der erste Vertrag (ein so genannter „Proxy-Vertrag“) speichert Zustandsvariablen (z. B. Benutzerguthaben), während der zweite Vertrag (ein so genannter „Logik-Vertrag“) den Code für die Ausführung von Vertragsfunktionen enthält.
+Die Mechanismen zur Aktualisierung von Verträgen funktionieren unterschiedlich, wobei jedoch das „Proxy-Muster“ einer der beliebtesten Ansätze für die Aktualisierung von Smart Contracts ist. [Proxy-Muster](https://www.cyfrin.io/blog/upgradeable-proxy-smart-contract-pattern) teilen den Status und die Logik einer Anwendung auf _zwei_ Contracts auf. Der erste Vertrag (ein so genannter „Proxy-Vertrag“) speichert Zustandsvariablen (z. B. Benutzerguthaben), während der zweite Vertrag (ein so genannter „Logik-Vertrag“) den Code für die Ausführung von Vertragsfunktionen enthält.
Konten interagieren mit dem Proxy-Vertrag, der alle Funktionsaufrufe über den [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries) ein Low-Level-Aufruf, an den Logik-Vertrag weiterleitet. Im Gegensatz zu einem normalen Aufruf stellt `delegatecall()` sicher, dass der Code, welcher unter der Adresse des logischen Vertrags läuft, im Kontext des aufrufenden Vertrags ausgeführt wird. Das bedeutet, dass der Logikvertrag immer in den Speicher des Proxys schreibt (anstatt in seinen eigenen Speicher) und die ursprünglichen Werte von `msg.sender` und `msg.value` erhalten bleiben.
@@ -208,13 +211,13 @@ Sie können sich auch für ein handelsübliches Überwachungsprogramm entscheide
### 7. Sichere Governance-Systeme (Verwaltungssysteme) entwerfen {#design-secure-governance-systems}
-Vielleicht möchten Sie Ihre Anwendung dezentralisieren, indem Sie die Kontrolle über die wichtigsten Smart Contracts an Community-Mitglieder übergeben. In diesem Fall wird das Smart Contract-System ein Governance-Modul enthalten – einen Mechanismus, der es den Community-Mitgliedern ermöglicht, administrative Maßnahmen über ein On-Chain-Governance-System zu genehmigen. So können die Token-Inhaber beispielsweise über einen Vorschlag abstimmen, einen Proxy-Vertrag auf eine neue Implementierung zu aktualisieren.
+Vielleicht möchten Sie Ihre Anwendung dezentralisieren, indem Sie die Kontrolle über die wichtigsten Smart Contracts an Community-Mitglieder übergeben. In diesem Fall wird das Smart-Contract-System ein Governance-Modul enthalten - einen Mechanismus, der es den Mitgliedern der Gemeinschaft ermöglicht, administrative Aktionen über ein On-Chain-Governance-System zu genehmigen. So können die Token-Inhaber beispielsweise über einen Vorschlag abstimmen, einen Proxy-Vertrag auf eine neue Implementierung zu aktualisieren.
Eine dezentrale Verwaltung kann von Vorteil sein, insbesondere weil sie die Interessen von Entwicklern und Endnutzern in Einklang bringt. Dennoch können die Mechanismen zur Steuerung von Smart Contracts bei falscher Umsetzung neue Risiken mit sich bringen. Ein plausibles Szenario ist, dass ein Angreifer durch die Aufnahme eines [Flash-Darlehens](/defi/#flash-loans) enorme Stimmkraft (gemessen an der Anzahl der gehaltenen Token) erlangt und einen böswilligen Vorschlag durchsetzt.
-Eine Möglichkeit zur Vermeidung von Problemen im Zusammenhang mit der On-Chain-Governance besteht darin, [eine Zeitsperre zu nutzen](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). Eine Zeitsperre verhindert, dass ein Smart Contract bestimmte Aktionen ausführt, bis eine bestimmte Zeitspanne verstrichen ist. Andere Strategien bestehen darin, jedem Token ein „Stimmgewicht“ zuzuweisen, das sich danach richtet, wie lange er gesperrt war, oder die Stimmkraft einer Adresse in einem historischen Zeitraum (z. B. 2-3 Blöcke in der Vergangenheit) anstelle des aktuellen Blocks zu messen. Beide Methoden verringern die Möglichkeit, schnell Stimmrechte anzuhäufen, um On-Chain-Abstimmungen zu beeinflussen.
+Eine Möglichkeit zur Vermeidung von Problemen im Zusammenhang mit der On-Chain-Governance besteht darin, [eine Zeitsperre zu nutzen](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). Eine Zeitsperre verhindert, dass ein Smart Contract bestimmte Aktionen ausführt, bis eine bestimmte Zeitspanne verstrichen ist. Andere Strategien bestehen darin, jedem Token ein „Stimmgewicht“ zuzuweisen, das sich danach richtet, wie lange er gesperrt war, oder die Stimmkraft einer Adresse in einem historischen Zeitraum (z. B. 2-3 Blöcke in der Vergangenheit) anstelle des aktuellen Blocks zu messen. Beide Methoden reduzieren die Möglichkeit, schnell Stimmrecht anzuhäufen, um On-Chain-Abstimmungen zu beeinflussen.
-Mehr über die [Planung sicherer Governance-Systeme](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/) und [verschiedene Abstimmungsmechanismen in DAOs](https://hackernoon.com/governance-is-the-holy-grail-for-daos).
+Weitere Informationen zu [der Gestaltung sicherer Governance-Systeme](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/), [verschiedenen Abstimmungsmechanismen in DAOs](https://hackernoon.com/governance-is-the-holy-grail-for-daos) und [den gängigen DAO-Angriffsvektoren, die DeFi nutzen](https://dacian.me/dao-governance-defi-attacks), finden Sie unter den geteilten Links.
### 8. Reduzierung der Komplexität des Codes auf ein Minimum {#reduce-code-complexity}
@@ -232,7 +235,7 @@ Die EVM erlaubt keine Nebenläufigkeit, was bedeutet, dass zwei Verträge, die a
Die Übertragung des Kontrollflusses an nicht vertrauenswürdige Verträge ist zwar meist harmlos, kann aber Probleme verursachen, wie z. B. Wiederholungsangriffe. Ein Wiederholungsangriff liegt vor, wenn ein böswilliger Vertrag in einen gefährdeten Vertrag eingreift, bevor der ursprüngliche Funktionsaufruf abgeschlossen ist. Diese Art des Angriffs lässt sich am besten anhand eines Beispiels erklären.
-Nehmen wir einen einfachen Smart Contract („Opfer“), der es jedem erlaubt, Ether einzuzahlen und abzuheben:
+Betrachten Sie einen einfachen Smart Contract („Opfer"), der es jedem ermöglicht, Ether einzuzahlen und abzuheben:
```solidity
// This contract is vulnerable. Do not use in production
@@ -343,7 +346,7 @@ contract MutexPattern {
require(balances[msg.sender] >= _amount, "No balance to withdraw.");
balances[msg.sender] -= _amount;
- bool (success, ) = msg.sender.call{value: _amount}("");
+ (bool success, ) = msg.sender.call{value: _amount}("");
require(success);
return true;
@@ -436,21 +439,21 @@ Ab Version 0.8.0 weist der Solidity-Compiler Code zurück, der zu Integer-Unterl
#### Oracle-Manipulation {#oracle-manipulation}
-[Oracles](/developers/docs/oracles/) beziehen Off-Chain-Informationen und senden sie on-chain, damit Smart Contracts diese nutzen können. Mit Orakeln können Sie Smart Contracts entwerfen, die mit Off-Chain-Systemen wie z. B. Kapitalmärkten interagieren, was ihre Anwendung erheblich erweitert.
+[Oracles](/developers/docs/oracles/) beziehen Informationen aus der realen Welt (Off-Chain) und senden sie auf die Blockchain (On-Chain), damit Smart Contracts diese nutzen können. Mit Oracles können Sie Smart Contracts entwickeln, die mit Off-Chain-Systemen wie Kapitalmärkten zusammenarbeiten und dadurch ihre Anwendungsmöglichkeiten stark erweitern.
-Wenn das Orakel jedoch beschädigt ist und falsche Informationen on-chain sendet, werden Smart Contracts auf der Grundlage falscher Informationen ausgeführt, was zu Problemen führen kann. Dies ist die Grundlage des „Orakelproblems“, bei dem es darum geht sicherzustellen, dass die Informationen aus einem Blockchain-Orakel korrekt, aktuell und zeitnah sind.
+Aber wenn das Oracle manipuliert wird und falsche Daten auf die Blockchain sendet, werden Smart Contracts basierend auf falschen Eingaben ausgeführt, was Probleme verursachen kann. Dies ist die Grundlage des „Orakelproblems“, bei dem es darum geht sicherzustellen, dass die Informationen aus einem Blockchain-Orakel korrekt, aktuell und zeitnah sind.
-Ein damit zusammenhängendes Sicherheitsproblem ist die Verwendung eines On-Chain-Orakels, z. B. einer dezentralen Börse, um den Spotpreis für ein Asset zu ermitteln. Leihplattformen in der [dezentralen Finanzbranche (DeFi)](/defi/) tun dies oft, um den Wert der Beleihungsobjekte eines Nutzers zu ermitteln, anhand derer er bestimmen kann, wie viel er leihen kann.
+Ein ähnliches Sicherheitsproblem ist die Nutzung eines On-Chain-Oracles, wie zum Beispiel einer dezentralen Börse, um den aktuellen Preis eines Assets zu ermitteln. Leihplattformen in der [dezentralen Finanzbranche (DeFi)](/defi/) tun dies oft, um den Wert der Beleihungsobjekte eines Nutzers zu ermitteln, anhand derer er bestimmen kann, wie viel er leihen kann.
-Die DEX-Preise sind häufig korrekt, was vor allem darauf zurückzuführen ist, dass Arbitrageure die Gleichheit auf den Märkten wiederherstellen. Sie sind jedoch anfällig für Manipulationen, insbesondere wenn das On-Chain-Orakel die Preise von Assets auf der Grundlage historischer Handelsdaten berechnet (was normalerweise der Fall ist).
+Die DEX-Preise sind häufig korrekt, was vor allem darauf zurückzuführen ist, dass Arbitrageure die Gleichheit auf den Märkten wiederherstellen. Die sind aber anfällig für Manipulationen, besonders wenn das On-Chain-Oracle die Assetpreise anhand von historischen Handelsmustern berechnet (was meistens der Fall ist).
So könnte ein Angreifer beispielsweise den Spotpreis eines Assets künstlich in die Höhe treiben, indem er einen Blitzkredit aufnimmt, kurz bevor er mit Ihrem Kreditvertrag interagiert. Die Abfrage der DEX nach dem Preis des Assets würde einen höheren als den normalen Wert ergeben (da die große „Kaufbestellung“ des Angreifers die Nachfrage nach dem Asset verzerrt), so dass er mehr Geld leihen kann, als er sollte. Solche „Flash-Darlehensangriffe“ wurden genutzt, um das Vertrauen in Preis-Orakel bei DeFi-Anwendungen auszunutzen, was Protokolle Millionen an verlorenen Guthaben gekostet hat.
##### So verhindert man Orakelmanipulation
-Die Mindestanforderung zur Vermeidung von Orakelmanipulationen ist die Verwendung eines dezentralen Orakelnetzes, das Informationen aus mehreren Quellen abfragt, um einzelne Fehlerquellen zu vermeiden. In den meisten Fällen verfügen dezentrale Orakel über eingebaute kryptoökonomische Anreize, die die Nodes des Orakels dazu bringen, korrekte Informationen zu melden, was sie sicherer macht als zentralisierte Orakel.
+Die Mindestanforderung, um [Oracle-Manipulation zu vermeiden](https://www.cyfrin.io/blog/price-oracle-manipultion-attacks-with-examples), besteht darin, ein dezentrales Oracle-Netzwerk zu verwenden, das Informationen aus mehreren Quellen abfragt, um einzelne Ausfallpunkte zu vermeiden. In den meisten Fällen verfügen dezentrale Orakel über eingebaute kryptoökonomische Anreize, die die Nodes des Orakels dazu bringen, korrekte Informationen zu melden, was sie sicherer macht als zentralisierte Orakel.
-Wenn Sie vorhaben, ein On-Chain-Orakel für Asset-Preise abzufragen, sollten Sie ein Orakel verwenden, das einen Mechanismus für zeitgewichtete Durchschnittspreise (TWAP) implementiert. Ein [TWAP-Orakel](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) fragt den Preis eines Assets zu zwei verschiedenen Zeitpunkten ab (die Sie ändern können) und berechnet den Spotpreis auf der Grundlage des erhaltenen Durchschnitts. Die Wahl längerer Zeiträume schützt Ihr Protokoll vor Preismanipulationen, da große Aufträge, die erst kürzlich ausgeführt wurden, keinen Einfluss auf die Preise der Assets haben können.
+Wenn Sie vorhaben, ein On-Chain-Oracle nach Assetpreisen zu befragen, sollten Sie eines in Erwägung ziehen, das einen zeitgewichteten Durchschnittspreis (TWAP) verwendet. Ein [TWAP-Orakel](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) fragt den Preis eines Assets zu zwei verschiedenen Zeitpunkten ab (die Sie ändern können) und berechnet den Spotpreis auf der Grundlage des erhaltenen Durchschnitts. Die Wahl längerer Zeiträume schützt Ihr Protokoll vor Preismanipulationen, da große Aufträge, die erst kürzlich ausgeführt wurden, keinen Einfluss auf die Preise der Assets haben können.
## Ressourcen zur Sicherheit von Smart Contracts für Entwickler {#smart-contract-security-resources-for-developers}
@@ -468,15 +471,17 @@ Wenn Sie vorhaben, ein On-Chain-Orakel für Asset-Preise abzufragen, sollten Sie
- **[ABI Encoder](https://abi.hashex.org/)** - _Ein frei nutzbarer Online-Service zum Kodieren Ihrer Solidity-Vertragsfunktionen und Konstruktor-Argumente._
+- **[Aderyn](https://github.com/Cyfrin/aderyn)** – _Solidity-Statikanalyse-Tool, das die abstrakten Syntaxbäume (AST) durchläuft, um vermutete Schwachstellen zu identifizieren und Probleme in einem leicht konsumierbaren Markdown-Format auszugeben._
+
### Tools für die Überwachung von Smart Contracts {#smart-contract-monitoring-tools}
-- **[OpenZeppelin Defender Sentinels](https://docs.openzeppelin.com/defender/sentinel)** - \_Ein Tool zur automatischen Überwachung und Reaktion auf Ereignisse, Funktionen und Transaktionsparameter in Ihren Smart Contracts.\_v
+- **[OpenZeppelin Defender Sentinels](https://docs.openzeppelin.com/defender/v1/sentinel)** – _ein Tool zur automatischen Überwachung und Reaktion auf Ereignisse, Funktionen und Transaktionsparameter in Ihren Smart Contracts._v
- **[Tenderly Real-Time Alerting](https://tenderly.co/alerting/)** - _Ein Tool, um Echtzeit-Benachrichtigungen zu erhalten, wenn ungewöhnliche oder unerwartete Ereignisse auf Ihren Smart Contracts oder Wallets auftreten._
### Tools für die sichere Verwaltung von Smart Contracts {#smart-contract-administration-tools}
-- **[OpenZeppelin Defender Admin](https://docs.openzeppelin.com/defender/admin)** - _Schnittstelle für die Verwaltung von Smart Contracts, einschließlich Zugriffskontrollen, Upgrades und Pausieren._
+- **[OpenZeppelin Defender Admin](https://docs.openzeppelin.com/defender/v1/admin)** – _Schnittstelle für die Verwaltung von Smart Contracts, einschließlich Zugriffskontrollen, Upgrades und Pausen._
- **[Safe](https://safe.global/)** - _Smart Contract-Wallet auf Ethereum, die eine Mindestanzahl von Personen benötigt, um eine Transaktion zu genehmigen, bevor sie stattfinden kann (M-of-N)._
@@ -506,6 +511,16 @@ Wenn Sie vorhaben, ein On-Chain-Orakel für Asset-Preise abzufragen, sollten Sie
- **[Code4rena](https://code4rena.com/)** - _Eine wettbewerbsorientierte Plattform, die Anreize für Sicherheitsexperten zum Aufspüren von Schwachstellen bietet, um das Web3 sicherer zu machen._
+- **[CodeHawks](https://codehawks.com/)** – _Plattform für Wettbewerbs-Audits, die Wettbewerbe zum Auditing von Smart Contracts für Sicherheitsforscher veranstaltet._
+
+- **[Cyfrin](https://cyfrin.io)** – _Web3-Sicherheits-Kraftwerk, das Krypto-Sicherheit durch Produkte und Smart-Contract-Audit-Dienste fördert._
+
+- **[ImmuneBytes](https://www.immunebytes.com//smart-contract-audit/)** – _Web3-Sicherheitsunternehmen, das Sicherheits-Audits für Blockchain-Systeme durch ein Team erfahrener Prüfer und erstklassige Tools anbietet._
+
+- **[Oxorio](https://oxor.io/)** – _Smart-Contract-Audits und Blockchain-Sicherheitsdienste mit Expertise in EVM, Solidity, ZK und Cross-Chain-Technologien für Krypto-Unternehmen und DeFi-Projekte._
+
+- **[Inference](https://inference.ag/)** – _Sicherheits-Audit-Unternehmen, spezialisiert auf Smart-Contract-Audits für EVM-basierte Blockchains. Dank der fachkundigen Prüfer werden potenzielle Probleme identifiziert und umsetzbare Lösungen vorgeschlagen, um diese Probleme vor der Bereitstellung zu beheben._
+
### Plattformen zum Aufdecken von Fehlern {#bug-bounty-platforms}
- **[Immunefi](https://immunefi.com/)** - _Bug-Bounty-Plattform für Smart Contracts und DeFi-Projekte, auf der Sicherheitsforscher Code überprüfen, Schwachstellen aufdecken, bezahlt werden und Krypto sicherer machen._
@@ -514,6 +529,10 @@ Wenn Sie vorhaben, ein On-Chain-Orakel für Asset-Preise abzufragen, sollten Sie
- **[HackenProof](https://hackenproof.com/)** - _Experten-Bug-Bounty-Plattform für Krypto-Projekte (DeFi, Smart Contracts, Wallets, CEX und mehr), auf der Sicherheitsexperten Triage-Dienste anbieten und Forscher für relevante, verifizierte Fehlerberichte bezahlt werden._
+- **[Sherlock](https://www.sherlock.xyz/)** – _Underwriter in Web3 für die Sicherheit von Smart Contracts, mit Auszahlungen für Prüfer, die über Smart Contracts verwaltet werden, um sicherzustellen, dass relevante Bugs fair bezahlt werden._
+
+- **[CodeHawks](https://www.codehawks.com/)** – _Bug-Bounty-Plattform für Wettbewerb, auf der Prüfer an Sicherheitswettbewerben und -herausforderungen sowie (bald) an ihren eigenen privaten Audits teilnehmen können._
+
### Veröffentlichungen bekannter Schwachstellen und Exploits von Smart Contracts {#common-smart-contract-vulnerabilities-and-exploits}
- **[ConsenSys: Smart Contract Known Attacks](https://consensys.github.io/smart-contract-best-practices/attacks/)** - _Einsteigerfreundliche Erklärung der wichtigsten Vertragsschwachstellen, mit Beispielcode für die meisten Fälle._
@@ -530,6 +549,8 @@ Wenn Sie vorhaben, ein On-Chain-Orakel für Asset-Preise abzufragen, sollten Sie
- **[Ethernaut](https://ethernaut.openzeppelin.com/)** - _Web3/Solidity-basiertes War Game, bei dem jedes Level ein Smart Contract ist, der „gehackt“ werden muss._
+- **[HackenProof x HackTheBox](https://app.hackthebox.com/tracks/HackenProof-Track)** – _Smart-Contract-Hacking-Herausforderung in einem Fantasy-Abenteuer. Der erfolgreiche Abschluss der Herausforderung bietet außerdem Zugang zu einem privaten Bug-Bounty-Programm._
+
### Bewährte Praktiken für die Sicherung von Smart Contracts {#smart-contract-security-best-practices}
- **[ConsenSys: Ethereum Smart Contract Security Best Practices](https://consensys.github.io/smart-contract-best-practices/)** - _Umfassende Liste von Richtlinien zur Sicherung von Ethereum Smart Contracts._
@@ -542,14 +563,18 @@ Wenn Sie vorhaben, ein On-Chain-Orakel für Asset-Preise abzufragen, sollten Sie
- **[Smart Contract Security Verification Standard](https://github.com/securing/SCSVS)** - _Vierzehnteilige Checkliste zur Standardisierung der Sicherheit von Smart Contracts für Entwickler, Architekten, Sicherheitsüberprüfer und Anbieter._
+- **[Smart Contract Security und Auditing lernen](https://updraft.cyfrin.io/courses/security)** - _Ultimativer Kurs zu Smart Contract Security und Auditing, entwickelt für Smart-Contract-Entwickler, die ihre Security-Best-Practices verbessern und Security-Forscher werden möchten._
+
### Tutorials zur Sicherheit von Smart Contracts {#tutorials-on-smart-contract-security}
- [So schreibt man sichere Smart Contracts](/developers/tutorials/secure-development-workflow/)
-- [So verwenden Sie Slither, um Fehler in Smart Contracts zu finden](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+- [So verwenden Sie Slither, um Bugs in Smart Contracts zu finden](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
- [So finden Sie mit Manticore Fehler in Smart Contract](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
-- [Smart Contract Sicherheitsrichtlinien](/developers/tutorials/smart-contract-security-guidelines/)
+- [Smart-Contract-Sicherheitsrichtlinien](/developers/tutorials/smart-contract-security-guidelines/)
- [Wie Sie Ihren Token-Vertrag sicher in beliebige Token integrieren](/developers/tutorials/token-integration-checklist/)
+
+- [Cyfrin Updraft – vollständiger Kurs zu Smart-Contract-Sicherheit und -Auditing](https://updraft.cyfrin.io/courses/security)
diff --git a/public/content/translations/de/developers/docs/smart-contracts/testing/index.md b/public/content/translations/de/developers/docs/smart-contracts/testing/index.md
index c76d7379942..0b46cc8b31f 100644
--- a/public/content/translations/de/developers/docs/smart-contracts/testing/index.md
+++ b/public/content/translations/de/developers/docs/smart-contracts/testing/index.md
@@ -1,46 +1,308 @@
---
-title: Testen von Smart Contracts
-description:
+title: Smart Contracts testen
+description: Ein Überblick über Techniken und Überlegungen zum Testen von Ethereum Smart Contracts.
lang: de
-incomplete: true
---
-## Testtools und Bibliotheken {#testing-tools-and-libraries}
+Öffentliche Blockchains wie Ethereum sind unveränderlich, was es schwierig macht, den Code von Smart Contracts nach der Veröffentlichung zu verändern. [Upgrade-Muster für Verträge](/developers/docs/smart-contracts/upgrading/) zur Durchführung von „virtuellen Upgrades“ existieren, aber deren Implementierung ist schwierig und erfordert sozialen Konsens. Zudem kann ein Upgrade einen Fehler nur beheben, _nachdem_ er entdeckt wurde. Wenn ein Angreifer die Schwachstelle zuerst entdeckt, besteht die Gefahr, dass Ihr Smart Contract ausgenutzt wird.
-**Waffle – **_Ein Framework für fortgeschrittene Smart-Contract-Entwicklungen und Tests (basierend auf ethers.js)_\*\*
+Aus diesen Gründen ist das Testen von Smart Contracts vor ihrer [Veröffentlichung](/developers/docs/smart-contracts/deploying/) auf dem Mainnet eine [Sicherheits-](/developers/docs/smart-contracts/security/)Mindestanforderung. Es gibt viele Techniken zum Testen von Verträgen und zur Bewertung der Korrektheit des Codes. Für welche davon Sie sich entscheiden, hängt von Ihren Anforderungen ab. Nichtsdestotrotz ist eine Test-Suite, die sich aus verschiedenen Werkzeugen und Ansätzen zusammensetzt, ideal für das Aufspüren sowohl kleinerer als auch größerer Sicherheitslücken im Vertragscode.
-- [getwaffle.io](https://getwaffle.io/)
-- [GitHub](https://github.com/EthWorks/Waffle)
+## Voraussetzungen {#prerequisites}
-**Solidy-Coverage –** **_Alternatives Solidity-Code-Coverage-Tool_**
+Auf dieser Seite wird erklärt, wie Smart Contracts vor ihrer Veröffentlichung im Ethereum-Netzwerk getestet werden können. Das setzt voraus, dass Sie mit [Smart Contracts](/developers/docs/smart-contracts/) vertraut sind.
-- [GitHub](https://github.com/sc-forks/solidity-coverage)
+## Was sind Smart-Contract-Tests? {#what-is-smart-contract-testing}
-**Whiteblock Genesis –** **_Eine End-to-End-Entwicklungs-Sandbox und Testplattform für Blockchains_**
+Beim Testen von Smart Contracts wird überprüft, ob der Code eines Smart Contracts wie erwartet funktioniert. Die Tests sind nützlich, um zu prüfen, ob ein bestimmter Smart Contract die Anforderungen an Zuverlässigkeit, Benutzerfreundlichkeit und Sicherheit erfüllt.
-- [Whiteblock.io](https://whiteblock.io)
-- [Dokumentation](https://docs.whiteblock.io)
-- [GitHub](https://github.com/whiteblock/genesis)
+Es gibt verschiedene Vorgehensweisen. Für die meisten Testmethoden ist es jedoch erforderlich, einen Smart Contract mit einer kleinen Stichprobe der Daten, die er voraussichtlich verarbeiten soll, auszuführen. Wenn der Vertrag korrekte Ergebnisse für die Beispieldaten liefert, wird davon ausgegangen, dass er ordnungsgemäß funktioniert. Die meisten Testwerkzeuge bieten Ressourcen zum Schreiben und Ausführen von [Testfällen](https://en.m.wikipedia.org/wiki/Test_case). Mit ihnen lässt sich prüfen, ob die Ausführung eines Vertrags die erwarteten Ergebnisse hervorbringt.
-**OpenZeppelin-Testumgebung –** **_ Blitzschnelles Testen von Smart Contracts. One-Line-Einrichtung für ein großartiges Testerlebnis._**
+### Warum ist es wichtig, Smart Contracts zu testen? {#importance-of-testing-smart-contracts}
-- [GitHub](https://github.com/OpenZeppelin/openzeppelin-test-environment)
-- [Dokumentation](https://docs.openzeppelin.com/test-environment/)
+Da mithilfe von Smart Contracts häufig hochwertige finanzielle Vermögenswerte verwaltet werden, können kleine Programmierfehler zu [massiven Verlusten für die Benutzer](https://rekt.news/leaderboard/) führen, wozu es häufig auch kommt. Gründliches Testen kann jedoch dazu beitragen, Fehler und Probleme im Code eines Smart Contracts frühzeitig zu entdecken und zu beheben, bevor dieser im Mainnet veröffentlicht wird.
-**OpenZeppelin-Testhelfer – ** **_Assertionsbibliothek für die Tests von Ethereum-Smart-Contracts. Stellen Sie sicher, dass sich Ihre Verträge erwartungsgemäß verhalten._**
+Es ist zwar möglich, einen Vertrag zu aktualisieren, wenn ein Fehler entdeckt wird. Upgrades sind allerdings komplex und können bei unsachgemäßer Handhabung [ u Fehlern führen](https://blog.trailofbits.com/2018/09/05/contract-upgrade-anti-patterns/). Durch die Aktualisierung eines Vertrags wird der Grundsatz der Unveränderlichkeit weiter ausgehebelt. Außerdem ist sie für die Benutzer mit zusätzlichen Vertrauensvorbehalten verbunden. Umgekehrt mindert ein umfassender Plan zum Testen Ihres Vertrags die Sicherheitsrisiken von Smart Contracts und reduziert die Notwendigkeit, nach der Veröffentlichung komplexe Logik-Upgrades durchzuführen.
-- [GitHub](https://github.com/OpenZeppelin/openzeppelin-test-helpers)
-- [Dokumentation](https://docs.openzeppelin.com/test-helpers)
+## Methoden zum Testen von Smart Contracts {#methods-for-testing-smart-contracts}
+
+Die Methoden zum Testen von Smart Contracts auf Ethereum lassen sich in zwei große Kategorien einteilen: **automatisiertes Testen** und **manuelles Testen**. Automatisierte Tests und manuelle Tests bieten einzigartige Vorteile, es müssen für sie aber auch Kompromisse eingegangen werden. Sie können beide Methoden kombinieren, um einen robusten Plan zur Analyse Ihrer Verträge zu entwerfen.
+
+### Automatisierte Tests {#automated-testing}
+
+Beim automatisierten Testen werden Werkzeuge eingesetzt, die den Code eines Smart Contracts automatisch auf Fehler bei seiner Ausführung überprüfen. Der Vorteil automatisierter Tests ergibt sich aus der Verwendung von [Skripten](https://www.techtarget.com/whatis/definition/script?amp=1) zur Bewertung der Vertragsfunktionalitäten. Skriptgesteuerte Tests können so geplant werden, dass sie mit minimalen menschlichen Eingriffen wiederholt ausgeführt werden. Dies bedeutet, dass automatisierte Tests effizienter sind als manuelle Testverfahren.
+
+Automatisierte Tests sind vor allem in den folgenden Fällen sinnvoll: bei sich wiederholenden und zeitaufwändigen Tests; wenn sie manuell nur schwer durchführbar sind; bei Anfälligkeit für menschliche Fehler; bei der Bewertung kritischer Vertragsfunktionen. Automatisierte Testwerkzeuge können jedoch auch Nachteile haben – bestimmte Bugs können übersehen werden und zu vielen [falsch-positiven Ergebnissen](https://www.contrastsecurity.com/glossary/false-positive) führen. Daher ist es ideal, automatisierte Tests mit manuellen Tests für Smart Contracts zu kombinieren.
+
+### Manuelle Tests {#manual-testing}
+
+Manuelle Tests werden von Menschen durchgeführt, wobei jeder Testfall in Ihrer Test-Suite nacheinander ausgeführt wird, um die Korrektheit eines Smart Contracts zu analysieren. Dies steht im Gegensatz zu automatisierten Tests, bei denen Sie gleichzeitig mehrere isolierte Tests für einen Smart Contract durchführen können und einen Bericht mit allen fehlgeschlagenen und bestandenen Tests erhalten.
+
+Manuelle Tests können von einer einzelnen Person gemäß eines schriftlichen Testplans durchgeführt werden, der verschiedene Testszenarien abdeckt. Im Rahmen manueller Tests können Sie auch mehrere Personen oder Gruppen über einen bestimmten Zeitraum mit einem Smart Contract interagieren lassen. Der Prüfer vergleicht das tatsächliche Verhalten des Smart Contracts mit dem erwarteten Verhalten und kennzeichnet jede Abweichung als Bug.
+
+Effektive manuelle Tests erfordern erhebliche Ressourcen („Fähigkeiten“, „Zeit“, „Geld“ und „Aufwand“) und es kann – aufgrund menschlichen Irrtums – passieren, dass bestimmte Fehler bei der Ausführung von Tests übersehen werden. Aber auch manuelle Tests können von Vorteil sein – so kann ein menschlicher Tester (z. B. ein Auditor) mithilfe seiner Intuition Grenzfälle aufdecken, die ein automatisiertes Testwerkzeug übersehen würde.
+
+## Automatisierte Tests für Smart Contracts {#automated-testing-for-smart-contracts}
+
+### Unit-Tests {#unit-testing-for-smart-contracts}
+
+Beim Unit-Testing werden die Vertragsfunktionen separat bewertet und die korrekte Funktionsweise jeder Komponente überprüft. Gute Unit-Tests sollten einfach und schnell durchführbar sein und eine klare Vorstellung davon vermitteln, was falsch gelaufen ist, wenn Tests fehlschlagen.
+
+Unit-Tests sind nützlich, um zu prüfen, ob Funktionen die erwarteten Werte zurückgeben und ob der Datenspeicher des Vertrags nach Ausführung der Funktion ordnungsgemäß aktualisiert wird. Darüber hinaus wird durch die Durchführung von Unit-Tests nach Änderungen an der Codebasis eines Vertrags sichergestellt, dass durch das Hinzufügen neuer Logik keine Fehler entstehen. Im Folgenden finden Sie einige Richtlinien für die Durchführung effektiver Unit-Tests:
+
+#### Richtlinien für Unit-Tests von Smart Contracts {#unit-testing-guidelines}
+
+##### 1. Die Geschäftslogik und den Arbeitsablauf Ihrer Smart Contracts verstehen
+
+Bevor Sie Unit-Tests schreiben, ist es hilfreich zu wissen, welche Funktionalitäten ein Smart Contract bietet und wie die Benutzer auf diese Funktionen zugreifen und sie nutzen. Dies ist besonders nützlich für die Durchführung von [Happy-Path-Tests](https://en.m.wikipedia.org/wiki/Happy_path), mit denen festgestellt wird, ob Funktionen in einem Vertrag die richtige Ausgabe für gültige Benutzereingaben liefern. Wir erklären dieses Konzept anhand dieses (verkürzten) Beispiels eines [Auktionsvertrags](https://docs.soliditylang.org/en/v0.8.17/solidity-by-example.html?highlight=Auction%20contract#simple-open-auction)
+
+```
+constructor(
+ uint biddingTime,
+ address payable beneficiaryAddress
+ ) {
+ beneficiary = beneficiaryAddress;
+ auctionEndTime = block.timestamp + biddingTime;
+ }
+
+function bid() external payable {
+
+ if (block.timestamp > auctionEndTime)
+ revert AuctionAlreadyEnded();
+
+ if (msg.value <= highestBid)
+ revert BidNotHighEnough(highestBid);
+
+ if (highestBid != 0) {
+ pendingReturns[highestBidder] += highestBid;
+ }
+ highestBidder = msg.sender;
+ highestBid = msg.value;
+ emit HighestBidIncreased(msg.sender, msg.value);
+ }
+
+ function withdraw() external returns (bool) {
+ uint amount = pendingReturns[msg.sender];
+ if (amount > 0) {
+ pendingReturns[msg.sender] = 0;
+
+ if (!payable(msg.sender).send(amount)) {
+ pendingReturns[msg.sender] = amount;
+ return false;
+ }
+ }
+ return true;
+ }
+
+function auctionEnd() external {
+ if (block.timestamp < auctionEndTime)
+ revert AuctionNotYetEnded();
+ if (ended)
+ revert AuctionEndAlreadyCalled();
+
+ ended = true;
+ emit AuctionEnded(highestBidder, highestBid);
+
+ beneficiary.transfer(highestBid);
+ }
+}
+```
+
+Hierbei handelt es sich um einen einfachen Auktionsvertrag, der für die Entgegennahme von Geboten während der Gebotsfrist entworfen wurde. Wenn das `highestBid` (Höchstgebot) steigt, erhält der vorherige Höchstbietende sein Geld zurück; sobald die Gebotsfrist vorbei ist, ruft der `Begünstigte` den Vertrag auf, um sein Geld zu erhalten.
+
+Unit-Tests für einen Vertrag wie diesen würden verschiedene Funktionen abdecken, die ein Benutzer bei der Interaktion mit dem Vertrag aufrufen könnte. Here’s a possible translation into German: Ein Beispiel wäre ein Unit-Test, der überprüft, ob ein Benutzer ein Gebot abgeben kann, während die Auktion noch läuft (z. B. ob Aufrufe zum `bid()` erfolgreich sind), oder einer, der überprüft, ob ein Benutzer ein höheres Gebot als das aktuelle `highestBid` (Höchstgebot) abgeben kann.
+
+Ein Verständnis des operativen Arbeitsablaufs von Verträgen hilft auch beim Schreiben von Unit-Tests, die prüfen, ob die Ausführung den Anforderungen entspricht. Der Auktionsvertrag legt zum Beispiel fest, dass Benutzer keine Gebote abgeben können, sobald die Auktion beendet ist (d. h., wenn `auctionEndTime` kleiner als `block.timestamp` ist). Ein Entwickler könnte also einen Unit-Test durchführen, der überprüft, ob Aufrufe der Funktion `bid()` erfolgreich sind oder fehlschlagen, wenn die Auktion vorbei ist (d. h. bei `auctionEndTime` > `block.timestamp`).
+
+##### 2. Alle Annahmen im Zusammenhang mit der Vertragsausführung bewerten
+
+Es ist wichtig, alle Annahmen über die Ausführung eines Vertrags zu dokumentieren und Unit-Tests zur Überprüfung der Korrektheit dieser Annahmen zu schreiben. Das Testen von Behauptungen bietet nicht nur Schutz vor unerwarteter Ausführung, sondern zwingt Sie auch dazu, über Vorgänge nachzudenken, die das Sicherheitsmodell eines Smart Contracts gefährden könnten. Ein nützlicher Tipp lautet, über „Glückliche-Benutzer-Tests“ hinauszugehen und negative Tests zu schreiben, die prüfen, ob eine Funktion bei falschen Eingaben fehlschlägt.
+
+Viele Unit-Test-Frameworks ermöglichen das Aufstellen von Behauptungen – einfache Aussagen, die angeben, zu was ein Vertrag fähig ist und zu was nicht – und das Ausführen von Tests, um zu sehen, ob diese Behauptungen bei der Ausführung zutreffen. Ein Entwickler, der an dem oben beschriebenen Auktionsvertrag arbeitet, könnte vor der Ausführung negativer Tests die folgenden Behauptungen über sein Verhalten aufstellen:
+
+- Benutzer können keine Gebote abgeben, wenn die Auktion beendet ist oder noch nicht begonnen hat.
+
+- Der Auktionsvertrag bricht ab, wenn ein Gebot unter dem akzeptablen Schwellenwert liegt.
+
+- Benutzer, die den Zuschlag nicht erhalten, bekommen ihr Geld wieder gutgeschrieben.
+
+**Hinweis**: Eine weitere Möglichkeit, Annahmen zu testen, besteht im Schreiben von Tests, die [Funktionsmodifikatoren](https://docs.soliditylang.org/en/v0.8.16/contracts.html#function-modifiers) in einem Vertrag auslösen, insbesondere die Anweisungen `require`, `assert` und `if...else`.
+
+##### 3. Codeabdeckung messen
+
+Die [Code-Abdeckung](https://en.m.wikipedia.org/wiki/Code_coverage) ist eine Testmetrik, die die Anzahl der Verzweigungen, Zeilen und Aussagen in Ihrem Code verfolgt, die während der Tests ausgeführt werden. Tests sollten eine gute Code-Abdeckung haben, um das Risiko ungetesteter Schwachstellen zu minimieren. Ohne ausreichende Abdeckung könntest du fälschlicherweise annehmen, dass dein Vertrag sicher ist, weil alle Tests bestanden werden, während Schwachstellen in ungetesteten Code-Pfaden weiterhin bestehen. Der Nachweis einer hohen Code-Abdeckung gibt jedoch Gewissheit, dass alle Aussagen/Funktionen in einem Smart Contract ausreichend auf ihre Korrektheit getestet wurden.
+
+##### 4. Gut entwickelte Test-Frameworks verwenden
+
+Die Qualität der Werkzeuge, die für die Durchführung von Unit-Tests für Ihre Smart Contracts verwendet werden, ist entscheidend. Ein ideales Test-Framework ist eines, das regelmäßig gepflegt wird, nützliche Funktionen bietet (z. B. Protokollierungs- und Berichtsfunktionen) und von anderen Entwicklern ausgiebig genutzt und geprüft wurde.
+
+Unit-Test-Frameworks für Solidity Smart Contracts liegen in verschiedenen Sprachen vor (hauptsächlich in JavaScript, Python und Rust). In den folgenden Anleitungen finden Sie Informationen darüber, wie Sie Unit-Tests mit verschiedenen Test-Frameworks durchführen können:
+
+- **[Durchführung von Unit-Tests mit Brownie](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)**
+- **[Durchführung von Unit-Tests mit Foundry](https://book.getfoundry.sh/forge/writing-tests)**
+- **[Durchführung von Unit-Tests mit Waffle](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#writing-tests)**
+- **[Durchführung von Unit-Tests mit Remix](https://remix-ide.readthedocs.io/en/latest/unittesting.html#write-tests)**
+- **[Durchführung von Unit-Tests mit Ape](https://docs.apeworx.io/ape/stable/userguides/testing.html)**
+- **[Durchführung von Unit-Tests mit Hardhat](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)**
+- **[Durchführung von Unit-Tests mit Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)**
+
+### Integrationstests {#integration-testing-for-smart-contracts}
+
+Bei Unit-Tests wird das Debugging für Vertragsfunktionen isoliert durchgeführt. Mithilfe von Integrationstests hingegen lassen sich die Komponenten eines Smart Contracts als Ganzes bewerten. Integrationstests können Probleme aufdecken, die sich aus vertragsübergreifenden Aufrufen oder Interaktionen zwischen verschiedenen Funktionen im selben Smart Contract ergeben. Integrationstests können beispielsweise dabei helfen, zu prüfen, ob Dinge wie [Inheritance](https://docs.soliditylang.org/en/v0.8.12/contracts.html#inheritance) und Dependency Injection ordnungsgemäß funktionieren.
+
+Integrationstests sind sinnvoll, wenn Ihr Vertrag eine modulare Architektur oder während der Ausführung Schnittstellen mit anderen On-Chain-Verträgen aufweist. Eine Methode, Integrationstests durchzuführen, besteht darin, die Blockchain bei einer bestimmten Höhe zu [spalten](/glossary/#fork) (mithilfe eines Werkzeugs wie [Forge](https://book.getfoundry.sh/forge/fork-testing) oder [Hardhat](https://hardhat.org/hardhat-network/docs/guides/forking-other-networks)) und Interaktionen zwischen Ihrem Vertrag und bereits veröffentlichten Verträgen zu simulieren.
+
+Die abgespaltete Blockchain verhält sich ähnlich wie das Mainnet und verfügt über Konten mit zugehörigen Zuständen und Guthaben. Sie fungiert jedoch nur als lokale Entwicklungsumgebung in einer Sandbox, d. h. Sie benötigen weder echte ETH für Transaktionen noch werden sich Ihre Änderungen auf das tatsächliche Ethereum-Protokoll auswirken.
+
+### Eigenschaftsbasierte Tests {#property-based-testing-for-smart-contracts}
+
+Beim eigenschaftsbasierten Testen wird geprüft, ob ein Smart Contract eine bestimmte Eigenschaft erfüllt. Eigenschaften geben Fakten über das Verhalten eines Vertrags an, von denen erwartet wird, dass sie in verschiedenen Szenarien wahr bleiben. Ein Beispiel für eine Smart-Contract-Eigenschaft könnte sein: „Bei arithmetischen Operationen im Vertrag darf es niemals zu einem Über- oder Unterlauf kommen.“
+
+**Statische Analysen** und **dynamische Analysen** sind zwei gängige Techniken zur Durchführung eigenschaftsbasierter Tests. Mit beiden lässt sich verifizieren, dass der Code eines Programms (in diesem Fall eines Smart Contracts) eine vordefinierte Eigenschaft erfüllt. Für einige eigenschaftsbasierte Testwerkzeuge sind vordefinierte Regeln für erwartete Vertragseigenschaften festgelegt. Der Code wird dann anhand dieser Regeln geprüft. Andere Werkzeuge ermöglichen es Ihnen, benutzerdefinierte Eigenschaften für einen Smart Contract zu bestimmen.
+
+#### Statische Analyse {#static-analysis}
+
+Beim statischen Analyseprozess wird der Quellcode eines Smart Contracts als Eingabe verwendet. Die ausgegebenen Ergebnisse erklären, ob ein Vertrag eine Eigenschaft erfüllt oder nicht. Im Gegensatz zur dynamischen Analyse wird bei der statischen Analyse ein Vertrag nicht ausgeführt, um ihn auf seine Korrektheit zu prüfen. Bei der statischen Analyse werden stattdessen alle möglichen Pfade ermittelt, die ein Smart Contract während der Ausführung einschlagen könnte (d. h. sie untersucht die Struktur des Quellcodes, um festzustellen, was diese für den Betrieb des Vertrags während der Laufzeit bedeuten könnte).Laufzeit
+
+[Linting](https://www.perforce.com/blog/qac/what-lint-code-and-why-linting-important) und [statische Tests](https://www.techtarget.com/whatis/definition/static-analysis-static-code-analysis) sind gängige Methoden für die Durchführung statischer Analysen von Verträgen. Beide erfordern die Analyse von Low-Level-Repräsentationen der Vertragsausführung, wie zum Beispiel von [abstrakten Syntaxbäumen](https://en.m.wikipedia.org/wiki/Abstract_syntax_tree) und [Kontrollflussdiagrammen](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/amp/), die vom Compiler ausgegeben werden.
+
+In den meisten Fällen ist die statische Analyse nützlich, um Sicherheitsprobleme wie die Verwendung unsicherer Konstrukte, Syntaxfehler oder Verstöße gegen Codierungsstandards in einem Vertragscode zu erkennen. Es ist jedoch bekannt, dass statische Analysen im Allgemeinen nicht dazu geeignet sind, tiefer liegende Schwachstellen zu erkennen, und dass sie zu viele falsch-positive Ergebnisse liefern können.
+
+#### Dynamische Analyse {#dynamic-analysis}
+
+Dynamische Analysen generieren symbolische Eingaben (z. B. bei der [symbolischen Ausführung](https://en.m.wikipedia.org/wiki/Symbolic_execution)) oder konkrete Eingaben (z. B. beim [Fuzzing](https://owasp.org/www-community/Fuzzing)) für die Funktionen eines Smart Contracts, um zu sehen, ob eine Ausführungsspur oder mehrere Ausführungsspuren bestimmte Eigenschaften verletzen. Diese Form des eigenschaftsbasierten Testens unterscheidet sich von Unit-Tests dadurch, dass die Testfälle mehrere Szenarien abdecken und ein Programm die Erstellung der Testfälle übernimmt.
+
+[Fuzzing](https://halborn.com/what-is-fuzz-testing-fuzzing/) ist ein Beispiel für eine dynamische Analysetechnik zur Verifizierung beliebiger Eigenschaften in Smart Contracts. Ein Fuzzer ruft Funktionen in einem Zielvertrag mit zufälligen oder missgebildeten Variationen eines definierten Eingabewerts auf. Wenn der Smart Contract in einen Fehlerzustand eintritt (z. B. wenn eine Behauptung fehlschlägt), wird das Problem gekennzeichnet, und die Eingaben, die die Ausführung in Richtung des anfälligen Pfads steuern, werden in einem Bericht aufgeführt.
+
+Fuzzing ist nützlich, um den Mechanismus zur Eingabevalidierung von Smart Contracts zu bewerten, da eine unsachgemäße Handhabung unerwarteter Eingaben eine unbeabsichtigte Ausführung zur Folge und gefährliche Auswirkungen haben kann. Diese Form eigentumsbasierter Tests kann aus vielen Gründen ideal sein:
+
+1. **Das Schreiben von Testfällen, die viele Szenarien abdecken, ist schwierig.** Für einen Eigenschaftstest müssen Sie lediglich ein Verhalten und einen Datenbereich festlegen, mit dem das Verhalten getestet werden soll. Das Programm generiert automatisch Testfälle auf der Grundlage der festgelegten Eigenschaft.
+
+2. **Ihre Test-Suite deckt möglicherweise nicht alle möglichen Pfade innerhalb des Programms ausreichend ab.** Selbst bei einer 100-prozentigen Abdeckung ist es möglich, Grenzfälle zu übersehen.
+
+3. **Unit-Tests beweisen, dass ein Vertrag für Beispieldaten korrekt ausgeführt wird. Ob der Vertrag für Eingaben außerhalb des Beispielbereichs allerdings korrekt ausgeführt wird, bleibt unbekannt.** Eigenschaftstests führen einen Zielvertrag mit mehreren Variationen eines bestimmten Eingabewerts aus, um Ausführungsspuren zu finden, die Behauptungsfehler verursachen. Somit bietet ein Eigenschaftstest mehr Garantien, dass ein Vertrag für eine breite Klasse von Eingabedaten korrekt ausgeführt wird.
+
+### Richtlinien für die Durchführung von eigenschaftsbasierten Tests für Smart Contracts {#running-property-based-tests}
+
+Das Durchführen von eigenschaftsbasierten Tests beginnt in der Regel mit der Festlegung einer Eigenschaft (z. B. Abwesenheit von [Ganzzahl-Überläufen](https://github.com/ConsenSys/mythril/wiki/Integer-Overflow)) oder einer Sammlung von Eigenschaften, die Sie in einem Smart Contract verifizieren möchten. Möglicherweise müssen Sie beim Schreiben von Eigenschaftstests auch einen Wertebereich festlegen, innerhalb dessen das Programm Daten für Transaktionseingaben generieren kann.
+
+Sobald das Eigenschafts-Testwerkzeug richtig konfiguriert ist, führt es Ihre Smart-Contract-Funktionen mit zufällig generierten Eingaben aus. Wenn irgendwelche Verstöße gegen Behauptungen vorliegen, sollten Sie einen Bericht mit konkreten Eingabedaten erhalten, die gegen die zu bewertende Eigenschaft verstoßen. In den folgenden Anleitungen finden Sie Informationen für den Einstieg in die Durchführung von eigenschaftsbasierten Tests mit verschiedenen Werkzeugen:
+
+- **[Statische Analyse von Smart Contracts mit Slither](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither#slither)**
+- **[Statische Analyse von Smart Contracts mit Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)**
+- **[Eigenschaftsbasierte Tests mit Brownie](https://eth-brownie.readthedocs.io/en/stable/tests-hypothesis-property.html)**
+- **[Fuzzing von Verträgen mit Foundry](https://book.getfoundry.sh/forge/fuzz-testing)**
+- **[Fuzzing von Verträgen mit Echidna](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna#echidna-tutorial)**
+- **[Fuzzing von Verträgen mit Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/fuzzing/)**
+- **[Symbolische Ausführung von Smart Contracts mit Manticore](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore#manticore-tutorial)**
+- **[Symbolische Ausführung von Smart Contracts mit Mythril](https://mythril-classic.readthedocs.io/en/master/tutorial.html)**
+
+## Manuelle Tests für Smart Contracts {#manual-testing-for-smart-contracts}
+
+Das manuelle Testen von Smart Contracts erfolgt oft erst später im Entwicklungszyklus, nachdem automatisierte Tests durchgeführt wurden. Bei dieser Form des Testens wird der Smart Contract als vollständig integriertes Produkt bewertet, um festzustellen, ob er die in den technischen Anforderungen festgelegten Leistungen erbringt.
+
+### Testen von Verträgen auf einer lokalen Blockchain {#testing-on-local-blockchain}
+
+Automatisierte Tests, die in einer lokalen Entwicklungsumgebung durchgeführt werden, können zwar nützliche Debugging-Informationen liefern. Für Sie ist es allerdings wichtig, zu wissen, wie sich Ihr Smart Contract in einer Produktionsumgebung verhält. Bei einer Veröffentlichung auf dem Ethereum-Mainnet fallen jedoch Gas-Gebühren an – ganz zu schweigen davon, dass Sie oder Ihre Benutzer echtes Geld verlieren können, wenn Ihr Smart Contract noch Fehler aufweist.
+
+Das Testen Ihres Vertrags auf einer lokalen Blockchain (auch bekannt als ein [Entwicklungsnetzwerk](/developers/docs/development-networks/)) ist eine empfohlene Alternative zum Testen auf dem Mainnet. Eine lokale Blockchain ist eine Kopie der Ethereum-Blockchain, die lokal auf Ihrem Computer läuft und das Verhalten der Ausführungsebene von Ethereum simuliert. Dementsprechend können Sie Transaktionen so programmieren, dass sie mit einem Vertrag interagieren, ohne signifikante zusätzliche Kosten zu verursachen.
+
+Die Ausführung von Verträgen auf einer lokalen Blockchain könnte als eine Form manueller Integrationstests nützlich sein. [Smart Contracts sind in hohem Maße zusammensetzbar](/developers/docs/smart-contracts/composability/), sodass sie in bestehende Protokolle integriert werden können. Dennoch müssen Sie sicherstellen, dass solche komplexen On-Chain-Interaktionen die richtigen Ergebnisse liefern.
+
+[Mehr zu Entwicklungsnetzwerken.](/developers/docs/development-networks/)
+
+### Testen von Verträgen auf Testnetzen {#testing-contracts-on-testnets}
+
+Ein Testnetzwerk oder Testnet funktioniert genau wie das Ethereum-Mainnet, außer dass es Ether (ETH) verwendet, das keinen realen Wert hat. Das Veröffentlichen Ihres Vertrags auf einem [Testnetz](/developers/docs/networks/#ethereum-testnets) bedeutet, dass jeder damit interagieren kann (z. B. über das Frontend der DApps), ohne Geldmittel zu riskieren.
+
+Diese Form manueller Tests ist nützlich, um den End-to-End-Flow Ihrer Anwendung aus der Sicht des Benutzers zu bewerten. Hier können Beta-Tester auch Testläufe durchführen und etwaige Probleme mit der Geschäftslogik und der Gesamtfunktionalität des Vertrags melden.
+
+Die Veröffentlichung in einem Testnetz nach dem Testen auf einer lokalen Blockchain ist ideal, da Ersteres eher dem Verhalten der Ethereum Virtual Machine entspricht. Daher ist es bei vielen Ethereum-nativen Projekten üblich, DApps in Testnetzen zu veröffentlichen, um so den Betrieb von Smart Contracts unter realen Bedingungen zu simulieren.
+
+[Mehr über Ethereum-Testnetze.](/developers/docs/development-networks/#public-beacon-testchains)
+
+## Testen vs. formale Verifizierung {#testing-vs-formal-verification}
+
+Zwar helfen Tests bei der Bestätigung, dass ein Vertrag für einige Dateneingaben die erwarteten Ergebnisse liefert. Sie können jedoch nicht schlüssig beweisen, dass dies auch für Eingaben gilt, die während der Tests nicht verwendet wurden. Das Testen eines Smart Contracts kann daher keine „funktionale Korrektheit“ garantieren (d. h. es kann nicht zeigen, dass sich eine Anwendung für _alle_ Arten von Eingabewerten wie gewünscht verhält).
+
+Die formale Verifizierung ist ein Ansatz zur Bewertung der Korrektheit von Software, indem geprüft wird, ob ein formales Modell des Programms mit der formalen Spezifikation übereinstimmt. Ein formales Modell ist eine abstrakte mathematische Darstellung eines Programms, wohingegen eine formale Spezifikation die Eigenschaften eines Programms definiert (d. h. logische Behauptungen über die Ausführung des Programms).
+
+Da die Eigenschaften in mathematischen Begriffen geschrieben sind, ist es möglich, zu verifizieren, ob ein formales (mathematisches) Modell des Systems eine Spezifikation mithilfe logischer Inferenzregeln erfüllt. Daher liefern formale Verifizierungswerkzeuge angeblich einen „mathematischen Beweis“ für die Korrektheit eines Systems.
+
+Im Gegensatz zu Tests kann mit der formalen Verifizierung überprüft werden, ob die Ausführung eines Smart Contracts eine formale Spezifikation für _alle_ Ausführungen erfüllt (d. h. keine Bugs aufweist), ohne dass sie mit Beispieldaten ausgeführt werden muss. Dies reduziert nicht nur den Zeitaufwand für die Durchführung von Dutzenden von Unit-Tests, sondern ist auch effektiver beim Aufspüren versteckter Schwachstellen. Abgesehen davon liegen die formalen Verifizierungstechniken auf einem Spektrum, das sich nach der erforderlichen Rechenleistung der Implementierung und ihrer Nützlichkeit richtet.
+
+[Mehr zur formalen Verifizierung von Smart Contracts.](/developers/docs/smart-contracts/formal-verification)
+
+## Testen vs. Audits und Bug-Kopfgeld {#testing-vs-audits-bug-bounties}
+
+Wie bereits erwähnt, können strenge Tests nur selten das Fehlen von Bugs in einem Vertrag garantieren. Formale Verifizierungsansätze können eine stärkere Garantie für die Korrektheit bieten, sind aber derzeit schwierig anzuwenden und mit erheblichen Kosten verbunden.
+
+Dennoch können Sie die Wahrscheinlichkeit weiter erhöhen, dass Schwachstellen im Vertrag entdeckt werden, indem Sie eine unabhängige Code-Prüfung durchführen lassen. [Smart-Contract-Audits](https://www.immunebytes.com/blog/what-is-a-smart-contract-audit/) und [Bug-Kopfgeld](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7) sind zwei Möglichkeiten, um zu veranlassen, dass andere Ihre Verträge analysieren.
+
+Die Audits werden von Auditoren durchgeführt, die erfahren darin sind, Sicherheitslücken und schlechte Entwicklungspraktiken in Smart Contracts aufzudecken. Ein Audit umfasst in der Regel Tests (und möglicherweise eine formale Verifizierung) sowie eine manuelle Überprüfung der gesamten Codebasis.
+
+Im Gegensatz dazu wird bei einem Bug-Kopfgeld-Programm üblicherweise eine finanzielle Belohnung an eine Person (allgemein als [Whitehat-Hacker](https://en.wikipedia.org/wiki/White_hat_(computer_security)) bezeichnet) gezahlt, die eine Schwachstelle in einem Smart Contract entdeckt und sie den Entwicklern meldet. Bug-Kopfgeld ähnelt insofern Audits, da seine Funktionsweise mit einschließt, dass andere gebeten werden, bei der Suche nach Fehlern in Smart Contracts zu helfen.
+
+Der Hauptunterschied besteht darin, dass Bug-Kopfgeld-Programme der breiteren Entwickler-/Hacker-Community offenstehen und eine breite Klasse von ethischen Hackern und unabhängigen Sicherheitsexperten mit einzigartigen Fähigkeiten und einzigartiger Erfahrung ansprechen. Dies kann ein Vorteil gegenüber Audits von Smart Contracts sein, die sich hauptsächlich auf Teams stützen, die möglicherweise nur über begrenzte oder eingeschränkte Fachkenntnisse verfügen.
+
+## Testwerkzeuge und Bibliotheken {#testing-tools-and-libraries}
+
+### Unit-Testing-Werkzeuge {#unit-testing-tools}
+
+- **[Solidity-Abdeckung](https://github.com/sc-forks/solidity-coverage)** – _Code-Abdeckungswerkzeug für in Solidity geschriebene Smart Contracts._
+
+- **[Waffle](https://ethereum-waffle.readthedocs.io/en/latest/)** – _Framework für die Entwicklung und das Testen fortgeschrittener Smart Contracts (basierend auf ethers.js)_.
+
+- **[Remix Tests](https://github.com/ethereum/remix-project/tree/master/libs/remix-tests)** – _Werkzeug zum Testen von Solidity-Smart-Contracts. Arbeitet unter dem Remix IDE „Solidity Unit Testing“-Plug-in, das zum Schreiben und Ausführen von Testfällen für einen Vertrag verwendet wird._
+
+- **[OpenZeppelin Test Helpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers)** – _Behauptungsbibliothek für das Testen von Ethereum-Smart-Contracts. Stellen Sie sicher, dass sich Ihre Verträge wie erwartet verhalten!_
+
+- **[Brownie-Unit-Testing-Framework](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** – _Brownie nutzt Pytest, ein funktionsreiches Test-Framework, mit dem Sie kleine Tests mit minimalem Code schreiben können. Außerdem lässt es sich gut für große Projekte skalieren und ist in hohem Maße erweiterbar._
+
+- **[Foundry Tests](https://github.com/foundry-rs/foundry/tree/master/forge)** – _Foundry bietet mit Forge ein schnelles und flexibles Ethereum-Testing-Framework an, das einfache Unit-Tests, Gas-Optimierungsprüfungen und Vertrags-Fuzzing durchführen kann._
+
+- **[Hardhat Tests](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** – _Framework zum Testen von Smart Contracts basierend auf ethers.js, Mocha und Chai._
+
+- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** – _auf Python basiertes Entwicklungs- und Test-Framework für Smart Contracts für die Ethereum Virtual Machine._
+
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** – _Python-basiertes Framework für Unit-Testing und Fuzzing mit starken Debugging-Funktionen und Unterstützung für Cross-Chain-Tests, das Pytest und Anvil nutzt, um die beste Benutzererfahrung und Leistung zu bieten._
+
+### Eigenschaftsbasierte Testwerkzeuge {#property-based-testing-tools}
+
+#### Werkzeuge zur statischen Analyse {#static-analysis-tools}
+
+- **[Slither](https://github.com/crytic/slither)** – _Python-basiertes Solidity-Framework zur statischen Analyse, um Schwachstellen aufzudecken, das Codeverständnis zu verbessern und benutzerdefinierte Analysen für Smart Contracts zu schreiben._
+
+- **[Ethlint](https://cyfrin.io/tools/aderyn)** – _Kinder für die Durchsetzung von Best-Practices bezüglich Stil und Sicherheit für die Solidity-Programmiersprache für Smart Contracts._
+
+- **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** – _Rust-basiertes statisches Analysetool, das speziell für die Sicherheit und Entwicklung von Web3-Smart-Contracts konzipiert wurde._
+
+- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)** – _Python-basiertes Framework für die statische Analyse mit Detektoren für Schwachstellen und Codequalität, Druckern zum Extrahieren nützlicher Informationen aus dem Code und Unterstützung für das Schreiben benutzerdefinierter Submodule._
+
+#### Werkzeuge zur dynamischen Analyse {#dynamic-analysis-tools}
+
+- **[Echidna](https://github.com/crytic/echidna/)** – _Schneller Vertrags-Fuzzer zum Aufspüren von Schwachstellen in Smart Contracts mithilfe von eigenschaftsbasierten Tests._
+
+- **[Diligence Fuzzing](https://consensys.net/diligence/fuzzing/)** – _Automatisiertes Fuzzing-Werkzeug zum Aufspüren von Eigenschaftsverstößen im Smart-Contract-Code._
+
+- **[Manticore](https://manticore.readthedocs.io/en/latest/index.html)** – _Dynamisches symbolisches Ausführungs-Framework für die Analyse von EVM-Bytecode._
+
+- **[Mythril](https://consensys.net/diligence/scribble/)** – _EVM-Bytecode-Bewertungswerkzeug zum Aufspüren von Vertragsschwachstellen mithilfe von Feind-Analysen, Concolic-Analysen und Kontrollflussprüfungen._
+
+- **[Diligence Scribble](https://consensys.net/diligence/scribble/)** – _Scribble ist eine Spezifizierungssprache und ein Laufzeit-Verifizierungswerkzeug, mithilfe dessen Sie Smart Contracts mit Eigenschaften kennzeichnen können, sodass sich Verträge automatisch mit Werkzeugen wie Diligence Fuzzing oder MythX testen lassen._
## Verwandte Tutorials {#related-tutorials}
-- [Übersicht über Testprodukte](/developers/tutorials/guide-to-smart-contract-security-tools/) _ – Eine Übersicht und ein Vergleich verschiedener Testprodukte_
+- [Ein Überblick und Vergleich verschiedener Testprodukte](/developers/tutorials/guide-to-smart-contract-security-tools/) \_
- [So verwenden Sie Echidna zum Testen von Smart Contracts](/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/)
-- [So finden Sie mit Manticore Fehler in Smart Contracts](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
-- [So finden Sie mit Slither Fehler in Smart Contracts](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
-- [So simulieren Sie Solidity-Verträge zum Testen](/developers/tutorials/how-to-mock-solidity-contracts-for-testing/)
-- [So testen Sie Verträge, nachdem sie in einem Netzwerk bereitgestellt wurden](https://fulldecent.blogspot.com/2019/04/testing-deployed-ethereum-contracts.html)
+- [So verwenden Sie Manticore zum Aufspüren von Bugs in Smart Contracts](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
+- [So verwenden Sie Slither, um Bugs in Smart Contracts zu finden](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+- [So simulieren Sie Solidity-Verträge zu Testzwecken](/developers/tutorials/how-to-mock-solidity-contracts-for-testing/)
+- [So führen Sie mit Foundry Unit-Tests in Solidity durch](https://www.rareskills.io/post/foundry-testing-solidity)
## Weiterführende Informationen {#further-reading}
-_Kennen Sie eine Community-Ressource, die Ihnen geholfen hat? Bearbeiten Sie diese Seite und fügen Sie sie hinzu._
+- [Eine detaillierte Anleitung zum Testen von Ethereum-Smart-Contracts](https://iamdefinitelyahuman.medium.com/an-in-depth-guide-to-testing-ethereum-smart-contracts-2e41b2770297)
+- [So testen Sie Ethereum-Smart-Contracts](https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d)
+- [Die Unit-Test-Anleitung für Entwickler von MolochDAO](https://github.com/MolochVentures/moloch/tree/4e786db8a4aa3158287e0935dcbc7b1e43416e38/test#moloch-testing-guide)
+- [So testen Sie Smart Contracts wie ein Rockstar](https://forum.openzeppelin.com/t/test-smart-contracts-like-a-rockstar/1001)
diff --git a/public/content/translations/de/developers/docs/smart-contracts/upgrading/index.md b/public/content/translations/de/developers/docs/smart-contracts/upgrading/index.md
new file mode 100644
index 00000000000..c9f90c397bb
--- /dev/null
+++ b/public/content/translations/de/developers/docs/smart-contracts/upgrading/index.md
@@ -0,0 +1,165 @@
+---
+title: Aktualisierung von Smart Contracts
+description: Ein Überblick über Upgrade-Muster für Ethereum-Smart-Contracts
+lang: de
+---
+
+Smart Contracts auf Ethereum sind selbstausführende Programme, die in der Ethereum Virtual Machine (EVM) laufen. Diese Programme sind von vornherein unveränderlich, sodass sich die Geschäftslogik nach der Veröffentlichung des Vertrags nicht mehr aktualisieren lässt.
+
+Zwar ist die Unveränderlichkeit für die Vertrauenslosigkeit, Dezentralisierung und Sicherheit von Smart Contracts unabdinglich, sie kann jedoch in bestimmten Fällen ein Nachteil sein. So kann unveränderlicher Code es den Entwicklern unmöglich machen, anfällige Verträge zu reparieren.
+
+Die zunehmende Forschung zur Verbesserung von Smart Contracts hat jedoch zur Einführung verschiedener Upgrade-Muster geführt. Diese Upgrade-Muster ermöglichen es Entwicklern, Smart Contracts zu aktualisieren (unter Beibehaltung der Unveränderlichkeit), indem sie die Geschäftslogik in verschiedenen Verträgen unterbringen.
+
+## Voraussetzungen {#prerequisites}
+
+Sie sollten ein gutes Verständnis für [Smart Contracts](/developers/docs/smart-contracts/), [die Smart-Contract-Anatomie](/developers/docs/smart-contracts/anatomy/) und die [Ethereum Virtual Machine (EVM)](/developers/docs/evm/) haben. In diesem Leitfaden wird außerdem davon ausgegangen, dass die Leser über Kenntnisse in der Programmierung von Smart Contracts verfügen.
+
+## Was ist ein Smart-Contract-Upgrade? {#what-is-a-smart-contract-upgrade}
+
+Bei einem Smart-Contract-Upgrade wird die Geschäftslogik eines Smart Contracts geändert, wobei der Zustand des Vertrags erhalten bleibt. Es ist wichtig, klarzustellen, dass Aktualisierbarkeit und Veränderbarkeit nicht dasselbe sind, insbesondere im Zusammenhang mit Smart Contracts.
+
+Sie können ein Programm, das auf einer Adresse im Ethereum-Netzwerk veröffentlicht wird, trotzdem nicht ändern. Aber Sie können den Code ändern, der ausgeführt wird, wenn Benutzer mit einem Smart Contract interagieren.
+
+Dies kann mit den folgenden Methoden geschehen:
+
+1. Erstellung mehrerer Versionen eines Smart Contracts und Migration des Zustands (d. h. der Daten) vom alten Vertrag auf eine neue Instanz des Vertrags.
+
+2. Erstellung separater Verträge zur Speicherung der Geschäftslogik und des Status.
+
+3. Verwendung von Proxy-Mustern, um Funktionsaufrufe von einem unveränderlichen Proxy-Vertrag an einen modifizierbaren Logik-Vertrag zu delegieren.
+
+4. Erstellung eines unveränderlichen Haupt-Vertrags, der über Schnittstellen mit flexiblen Satelliten-Verträgen verbunden ist und sich auf diese stützt, um bestimmte Funktionen auszuführen.
+
+5. Verwendung des Diamond-Musters, um Funktionsaufrufe von einem Proxy-Vertrag an Logik-Verträge zu delegieren.
+
+### Upgrade-Mechanismus #1: Vertragsmigration {#contract-migration}
+
+Die Migration von Verträgen basiert auf Versioning – also der Erstellung und Verwaltung eindeutiger Zustände derselben Software. Bei der Vertragsmigration wird eine neue Instanz eines bestehenden Smart Contracts veröffentlicht, wobei Speicher und Guthaben auf den neuen Vertrage übergehen.
+
+Der neu veröffentlichte Vertrag hat einen leeren Speicher, sodass Sie Daten aus dem alten Vertrag wiederherstellen und in die neue Implementierung schreiben können. Danach müssen Sie alle Verträge, die mit dem alten Vertrag interagierten, auf die neue Adresse umstellen.
+
+Der letzte Schritt der Vertragsmigration besteht darin, die Benutzer davon zu überzeugen, den neuen Vertrag zu nutzen. In der neuen Vertragsversion bleiben die Guthaben und Adressen der Benutzer erhalten, so dass die Unveränderlichkeit gewahrt bleibt. Wenn es sich um einen Token-basierten Vertrag handelt, müssen Sie sich auch mit den Börsen in Verbindung setzen, um den alten Vertrag zu verwerfen und mit dem neuen Vertrag zu ersetzen.
+
+Die Migration von Verträgen ist eine relativ einfache und sichere Maßnahme, um Smart Contracts zu aktualisieren, ohne die Interaktionen der Nutzer zu unterbrechen. Die manuelle Migration von Speicher und Guthaben der Benutzer auf den neuen Vertrag ist jedoch zeitaufwändig und kann hohe Gaskosten verursachen.
+
+[Mehr über die Migration von Verträgen.](https://blog.trailofbits.com/2018/10/29/how-contract-migration-works/)
+
+### Upgrade-Mechanismus #2: Datentrennung {#data-separation}
+
+Eine weitere Methode zur Aktualisierung von Smart Contracts ist die Aufteilung der Geschäftslogik und des Datenspeichers auf separate Verträge. Das bedeutet, dass die Benutzer mit den Logikverträgen interagieren, die Daten aber im Speichervertrag gesichert werden.
+
+Der Logikvertrag enthält den Code, der ausgeführt wird, wenn Benutzer mit der Anwendung interagieren. Er enthält auch die Adresse des Speichervertrags und interagiert mit diesem, um Daten zu erhalten und einzustellen.
+
+In der Zwischenzeit sichert der Speichervertrag den mit dem Smart Contract verbundenen Status, wie z. B. Benutzerguthaben und Adressen. Beachten Sie dabei, dass der Speichervertrag Eigentum des Logikvertrags ist und bei der Veröffentlichung mit der Adresse des Logikvertrags konfiguriert wird. Dadurch wird verhindert, dass nicht autorisierte Verträge den Speichervertrag aufrufen oder seine Daten aktualisieren.
+
+Standardmäßig ist der Speichervertrag unveränderlich, aber Sie können den Logikvertrag, auf den er verweist, durch eine neue Implementierung ersetzen. Dadurch wird der Code, der in der EVM läuft, verändert, wobei sowohl der Speicher als auch die Guthaben intakt bleiben.
+
+Bei dieser Upgrade-Methode muss die Adresse des Logikvertrags im Speichervertrag aktualisiert werden. Außerdem müssen Sie den neuen Logikvertrag aus den bereits erläuterten Gründen mit der Adresse des Speichervertrags konfigurieren.
+
+Das Muster der Datentrennung ist im Vergleich zur Vertragsmigration einfacher zu implementieren. Allerdings müssen Sie mehrere Verträge verwalten und komplexe Autorisierungssysteme implementieren, um Smart Contracts vor böswilligen Upgrades zu schützen.
+
+### Upgrade-Mechanismus #3: Proxy-Muster {#proxy-patterns}
+
+Für Proxy-Muster kommt ebenfalls eine Datentrennung zur Anwendung, um die Geschäftslogik und die Daten in getrennten Verträgen zu halten. Bei einem Proxy-Muster hingegen ruft der Speichervertrag (Proxy genannt) den Geschäftsvertrag während der Codeausführung auf. Dies ist eine Umkehrung der Datentrennungsmethode, bei der der Geschäftsvertrag den Speichervertrag aufruft.
+
+Das Folgende geschieht bei einem Proxy-Muster:
+
+1. Die Benutzer interagieren mit dem Proxy-Vertrag, der Daten speichert, aber nicht die Geschäftslogik enthält.
+
+2. Der Proxy-Vertrag speichert die Adresse des Logikvertrags und delegiert alle Funktionsaufrufe an den Logikvertrag (der die Geschäftslogik enthält) unter Verwendung der Funktion `Delegatecall`.
+
+3. Nachdem der Aufruf an den Logikvertrag weitergeleitet wurde, werden die vom Logikvertrag weitergegebenen Daten abgerufen und an den Benutzer zurückgegeben.
+
+Um Proxy-Muster zu verwenden, ist ein Verständnis der Funktion **Delegatecall** erforderlich. `Delegatecall` ist im Wesentlichen ein Operationscode, der es einem Vertrag ermöglicht, einen anderen Vertrag aufzurufen, wobei die eigentliche Codeausführung im Kontext des aufrufenden Vertrags erfolgt. Die Verwendung von `Delegatecall` in Proxy-Mustern impliziert, dass der Proxy-Vertrag in seinem Speicher liest, dort auch schreibt und die im Logikvertrag gespeicherte Logik ausführt, als ob er eine interne Funktion aufrufen würde.
+
+Aus der [Solidity-Dokumentation](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#delegatecall-callcode-and-libraries):
+
+> _Es gibt eine spezielle Variante eines Nachrichtenaufrufs mit dem Namen **Delegatecall**. Sie ist mit einem Nachrichtenaufruf identisch, abgesehen davon, dass der Code an der Zieladresse im Kontext (d. h. an der Adresse) des aufrufenden Vertrags ausgeführt wird und `msg.sender` und `msg.value` ihre Werte nicht ändern._ _Das bedeutet, dass ein Vertrag während der Laufzeit Code von einer anderen Adresse dynamisch laden kann. Speicher, aktuelle Adresse und Guthaben beziehen sich weiterhin auf den aufrufenden Vertrag, nur der Code wird von der aufgerufenen Adresse übernommen._
+
+Der Proxy-Vertrag weiß, dass `Delegatecall` aufgerufen werden muss, wenn ein Benutzer eine Funktion aufruft, weil er über eine eingebaute `Fallback`-Funktion verfügt. Bei der Solidity-Programmierung wird die [Fallback-Funktion](https://docs.soliditylang.org/en/latest/contracts.html#fallback-function) ausgeführt, wenn ein Funktionsaufruf nicht mit den in einem Vertrag angegebenen Funktionen übereinstimmt.
+
+Damit das Proxy-Muster funktioniert, muss eine benutzerdefinierte Fallback-Funktion verfasst werden, in der beschrieben wird, wie der Proxy-Vertrag mit Funktionsaufrufen umgehen soll, die er nicht unterstützt. In diesem Fall ist die Fallback-Funktion des Proxys so programmiert, dass sie einen Delegatecall initiiert und die Anfrage des Benutzers an die aktuelle Implementierung des Logikvertrags weiterleitet.
+
+Der Proxy-Vertrag ist standardmäßig unveränderlich, aber Logikverträge mit aktualisierter Geschäftslogik können neu erstellt werden. Für das Upgrade muss dann lediglich die Adresse des im Proxy-Vertrag referenzierten Logikvertrags geändert werden.
+
+Nachdem der Proxy-Vertrag auf einen neuen Logikvertrag verwiesen wurde, ändert sich der Code, der ausgeführt wird, wenn Benutzer die Funktion des Proxy-Vertrags aufrufen. Auf diese Weise können wir die Logik eines Vertrags aktualisieren, ohne die Benutzer aufzufordern, mit einem neuen Vertrag zu interagieren.
+
+Proxy-Muster sind eine beliebte Methode für das Aktualisieren von Smart Contracts, da sie die mit der Vertragsmigration verbundenen Schwierigkeiten beseitigen. Die Verwendung von Proxy-Mustern ist jedoch komplizierter und kann bei unsachgemäßer Verwendung zu kritischen Fehlern führen, wie z. B. [Kollisionen von Funktions-Selektoren](https://medium.com/nomic-foundation-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357).
+
+[Mehr über Proxy-Muster](https://blog.openzeppelin.com/proxy-patterns/).
+
+### Upgrade-Mechanismus #4: Strategiemuster {#strategy-pattern}
+
+Diese Technik wird beeinflusst durch [Strategiemuster](https://en.wikipedia.org/wiki/Strategy_pattern). Sie fördern die Erstellung von Softwareprogrammen, die über Schnittstellen zur Implementierung bestimmter Funktionen mit anderen Programmen verbunden sind. Die Anwendung von Strategiemustern auf die Ethereum-Entwicklung würde bedeuten, dass ein Smart Contract erstellt wird, der Funktionen aus anderen Verträgen abruft.
+
+Der Hauptvertrag enthält in diesem Fall die zentrale Geschäftslogik, verfügt aber über Schnittstellen zu anderen Smart Contracts („Satellitenverträgen“), um bestimmte Funktionen auszuführen. Dieser Hauptvertrag speichert ebenfalls die Adresse für jeden Satellitenvertrag und kann zwischen verschiedenen Implementierungen des Satellitenvertrags wechseln.
+
+Sie können einen neuen Satellitenvertrag erstellen und den Hauptvertrag mit der neuen Adresse konfigurieren. Dadurch können Sie _Strategien_ für Smart Contracts ändern (z. B. eine neue Logik implementieren).
+
+Obwohl das Strategiemuster dem zuvor besprochenen Proxy-Muster ähnelt, unterscheidet es sich von diesem, weil der Hauptvertrag, mit dem die Benutzer interagieren, die Geschäftslogik enthält. Die Verwendung dieses Musters bietet Ihnen die Möglichkeit, begrenzte Änderungen an einem Smart Contract vorzunehmen, ohne die Kerninfrastruktur zu beeinträchtigen.
+
+Der größte Nachteil ist, dass sich dieses Muster hauptsächlich für die Einführung kleinerer Upgrades eignet. Auch können Sie diese Upgrade-Methode bei einem (z. B. durch einen Hack) kompromittierten Hauptvertrag nicht verwenden.
+
+### Upgrade-Mechanismus #5: Diamond-Muster {#diamond-pattern}
+
+Das Diamond-Muster kann als eine Verbesserung des Proxy-Musters angesehen werden. Diamond-Muster unterscheiden sich von Proxy-Mustern, da der Diamond-Proxy-Vertrag Funktionsaufrufe an mehr als einen Logikvertrag delegieren kann.
+
+Die Logikverträge im Diamond-Muster sind bekannt als _Facets_. Damit das Diamond-Muster funktioniert, müssen Sie im Proxy-Vertrag eine Zuordnung erstellen, die [Funktionsselektoren](https://docs.soliditylang.org/en/latest/abi-spec.html#function-selector) verschiedenen Facet-Adressen zuordnet.
+
+Wenn ein Benutzer eine Funktion aufruft, prüft der Proxy-Vertrag die Zuordnung, um die Facet zu finden, die für die Ausführung dieser Funktion zuständig ist. Dann ruft sie `delegatecall` auf (mithilfe der Fallback-Funktion) und leitet den Aufruf an den entsprechenden Logikvertrag weiter.
+
+Das Diamond-Upgrade-Muster hat einige Vorteile gegenüber konventionellen Proxy-Upgrade-Mustern:
+
+1. Damit können Sie einen kleinen Teil des Vertrags aktualisieren, ohne den gesamten Code zu ändern. Die Verwendung des Proxy-Musters für Upgrades setzt die Erstellung eines völlig neuen Logikvertrags voraus, selbst für kleinere Upgrades.
+
+2. Alle Smart Contracts (einschließlich Logikverträge, die im Proxy-Muster verwendet werden) unterliegen einer Größenbeschränkung von 24 KB, was vor allem bei komplexen Verträgen, für die mehr Funktionen erforderlich sind, eine Einschränkung darstellen kann. Mit dem Diamond-Muster lässt sich dieses Problem leicht lösen, indem Funktionen auf mehrere Logikverträge aufgeteilt werden.
+
+3. Proxy-Muster verfolgen bei der Zugangskontrolle einen allumfassenden Ansatz. Eine Entität mit Zugriff auf Upgrade-Funktionen kann den _gesamten_ Vertrag verändern. Das Diamond-Muster ermöglicht jedoch einen modularen Berechtigungsansatz, bei dem Sie Entitäten darauf beschränken können, bestimmte Funktionen innerhalb eines Smart Contracts zu aktualisieren.
+
+[Mehr zum Thema Diamond-Muster](https://eip2535diamonds.substack.com/p/introduction-to-the-diamond-standard?s=w).
+
+## Vor- und Nachteile der Aktualisierung von Smart Contracts {#pros-and-cons-of-upgrading-smart-contracts}
+
+| Vorteile | Nachteile |
+| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Ein Smart-Contract-Upgrade kann die Behebung von Schwachstellen erleichtern, die in der Phase nach der Veröffentlichung entdeckt werden. | Das Aktualisieren von Smart Contracts negiert die Idee der Unveränderlichkeit des Codes, was Auswirkungen auf die Dezentralisierung und Sicherheit hat. |
+| Entwickler können mit Logik-Upgrades neue Funktionen zu dezentralen Anwendungen hinzufügen. | Die Benutzer müssen darauf vertrauen, dass die Entwickler Smart Contracts nicht willkürlich verändern. |
+| Upgrades für Smart Contracts können die Sicherheit für die Endbenutzer erhöhen, da sich Bugs damit schnell beheben lassen. | Die Programmierung von Upgrade-Funktionalitäten in Smart Contracts fügt eine weitere Komplexitätsebene hinzu und erhöht die Möglichkeit kritischer Fehler. |
+| Vertrags-Upgrades geben Entwicklern mehr Raum, um mit verschiedenen Funktionen zu experimentieren und DApps im Laufe der Zeit zu verbessern. | Die Möglichkeit, Smart Contracts zu aktualisieren, könnte Entwickler dazu verleiten, Projekte schneller zu starten, ohne in der Entwicklungsphase eine Due-Diligence-Prüfung durchzuführen. |
+| | Eine unsichere Zugriffskontrolle oder Zentralisierung in Smart Contracts kann es böswilligen Akteuren erleichtern, nicht autorisierte Upgrades durchzuführen. |
+
+## Überlegungen zu Upgrades von Smart Contracts {#considerations-for-upgrading-smart-contracts}
+
+1. Benutzen Sie sichere Zugriffskontroll-/Autorisierungsmechanismen, um unbefugte Smart-Contract-Upgrades zu verhindern, insbesondere bei Verwendung von Proxy-Mustern, Strategiemustern oder Datentrennung. Ein Beispiel ist die Einschränkung des Zugriffs auf die Upgrade-Funktion, sodass nur der Eigentümer des Vertrags sie aufrufen kann.
+
+2. Die Aktualisierung von Smart Contracts ist ein komplexer Vorgang und erfordert ein hohes Maß an Sorgfalt, um die Einführung von Schwachstellen zu verhindern.
+
+3. Verringern Sie Vertrauensannahmen, indem Sie den Prozess der Implementierung von Upgrades dezentralisieren. Mögliche Strategien sind die Verwendung eines [Multi-Sig-Wallet-Vertrags](/developers/docs/smart-contracts/#multisig), um Upgrades zu kontrollieren, oder die Verpflichtung von [Mitgliedern eines DAOs](/dao/) dazu, über die Genehmigung des Upgrades abzustimmen.
+
+4. Seien Sie sich der Kosten bewusst, die mit der Aktualisierung von Verträgen verbunden sind. So kann beispielsweise das Kopieren von Zuständen (z. B. Benutzerguthaben) von einem alten auf einen neuen Vertrag während der Vertragsmigration mehr als eine Transaktion erfordern, was zu höheren Gasgebühren führt.
+
+5. Erwägen Sie die Implementierung von **Timelocks**, um die Benutzer zu schützen. Ein Timelock bezieht sich auf eine Verzögerung, die bei Änderungen an einem System erzwungen wird. Timelocks können mit einem Multi-Sig-Verwaltungssystem kombiniert werden, um die Upgrades zu kontrollieren: Erreicht eine vorgeschlagene Aktion den erforderlichen Schwellenwert für die Genehmigung, wird sie erst nach Ablauf der vordefinierten Verzögerungszeit ausgeführt.
+
+Timelocks geben den Benutzern eine gewisse Zeitspanne, um das System zu verlassen, wenn sie mit einer vorgeschlagenen Änderung nicht einverstanden sind (z. B. mit einem Logik-Upgrade oder neuen Gebührenregelungen). Ohne Timelocks müssen die Benutzer darauf vertrauen, dass die Entwickler keine willkürlichen Änderungen an einem Smart Contract ohne vorherige Ankündigung vornehmen. Der Nachteil dabei ist, dass die Möglichkeit, Schwachstellen schnell zu beheben, durch die Timelocks eingeschränkt wird.
+
+## Ressourcen {#resources}
+
+**OpenZeppelin Upgrades Plugins – _Eine Suite von Werkzeugen für die Veröffentlichung und die Sicherung von aktualisierbaren Smart Contracts._**
+
+- [GitHub](https://github.com/OpenZeppelin/openzeppelin-upgrades)
+- [Dokumentation](https://docs.openzeppelin.com/upgrades)
+
+## Tutorials {#tutorials}
+
+- [Aktualisierung Ihrer Smart Contracts | YouTube-Tutorial](https://www.youtube.com/watch?v=bdXJmWajZRY) von Patrick Collins (auf Englisch)
+- [Migrationstutorial für Smart Contracts auf Ethereum](https://medium.com/coinmonks/ethereum-smart-contract-migration-13f6f12539bd) von Austin Griffith (auf Englisch)
+- [Aktualisierung von Smart Contracts mithilfe des UUPS-Proxy-Musters](https://blog.logrocket.com/author/praneshas/) von Pranesh A.S (auf Englisch)
+- [Web3-Tutorial: Schreiben Sie aktualisierbare Smart Contracts (Proxy) mithilfe von OpenZeppelin](https://dev.to/yakult/tutorial-write-upgradeable-smart-contract-proxy-contract-with-openzeppelin-1916) von fangjun.eth (auf Englisch)
+
+## Weiterführende Informationen {#further-reading}
+
+- [Der aktuelle Stand bei Smart-Contract-Upgrades](https://blog.openzeppelin.com/the-state-of-smart-contract-upgrades/) von Santiago Palladino (auf Englisch)
+- [Verschiedene Möglichkeiten zur Aktualisierung eines Solidity-Smart-Contracts](https://cryptomarketpool.com/multiple-ways-to-upgrade-a-solidity-smart-contract/) – Crypto Market Pool Blog (auf Englisch)
+- [Schulung: Aktualisierung von Smart Contracts](https://docs.openzeppelin.com/learn/upgrading-smart-contracts) – OpenZeppelin Docs (auf Englisch)
+- [Proxy-Muster für die Aktualisierbarkeit von Solidity-Verträgen: Transparente vs. UUPS-Proxies](https://mirror.xyz/0xB38709B8198d147cc9Ff9C133838a044d78B064B/M7oTptQkBGXxox-tk9VJjL66E1V8BUF0GF79MMK4YG0) von Naveen Sahu (auf Englisch)
+- [Wie Diamond-Upgrades funktionieren](https://dev.to/mudgen/how-diamond-upgrades-work-417j) von Nick Mudge (auf Englisch)
diff --git a/public/content/translations/de/developers/docs/smart-contracts/verifying/index.md b/public/content/translations/de/developers/docs/smart-contracts/verifying/index.md
new file mode 100644
index 00000000000..4297dada391
--- /dev/null
+++ b/public/content/translations/de/developers/docs/smart-contracts/verifying/index.md
@@ -0,0 +1,107 @@
+---
+title: Überprüfen von Smart Contracts
+description: Eine Übersicht über die Quellcodeverifizierung für Ethereum-Smart-Contracts
+lang: de
+---
+
+[Smart Contracts](/developers/docs/smart-contracts/) werden so entworfen, dass sie „vertrauenslos“ sind. Das bedeutet, die Benutzer sollten keinen dritten Parteien (z. B. Entwicklern oder Unternehmen) vertrauen müssen, bevor sie mit dem Vertrag interagieren. Die Voraussetzung für Vertrauenslosigkeit ist, dass die Benutzer und andere Entwickler in der Lage sein müssen, den Quellcode eines Smart Contracts zu verifizieren. Nach der Quellcodeverifizierung können Benutzer und Entwicklern sicher sein, dass der veröffentlichte Vertragscode derselbe Code ist, der unter dieser Vertragsaddresse auf der Ethereum-Blockchain läuft.
+
+Entscheidend ist dabei der Unterschied zwischen „Quellcodeverifizierung“ und „[formaler Verifizierung](/developers/docs/smart-contracts/formal-verification/)“. Die Quellcodeverifizierung, die unten detailliert erklärt wird, bezieht sich auf die Verifizierung, dass ein beliebiger Quellcode eines Smart Contracts in einer High-Level-Sprache (etwa Solidity) zu demselben Bytecode kompiliert, der unter der Vertragsadresse ausgeführt wird. Die formale Verifizierung bezieht sich hingegen darauf, die Korrektheit eines Smart Contracts zu verifizieren und sagen zu können, dass der Contract sich wie erwartet verhält. Obwohl die Vertragsverifizierung kontextbezogen ist, bezieht sie sich meistens auf die Quellcodeverifizierung.
+
+## Was ist Quellcodeverifizierung? {#what-is-source-code-verification}
+
+Bevor ein Smart Contract auf der [Ethereum Virtual Machine (EVM)](/developers/docs/evm/) veröffentlicht wird, [kompilieren](/developers/docs/smart-contracts/compiling/) die Entwickler den Quellcode des Vertrags – also Anweisungen, die in [Solidity](/developers/docs/smart-contracts/languages/) oder einer anderen High-Level-Sprache geschrieben wurden – nach Bytecode. Die Kompilierung von Quellcode in Bytecode (z. B. Low-Level, Maschinenanweisungen) ist notwendig, um die Vertragslogik in der EVM auszuführen, da die EVM keine High-Level-Anweisungen interpretieren kann.
+
+Die Quellcodeverifizierung besteht nun darin, den Quellcode eines Smart Contracts mit dem während der Vertragserstellung genutzten, kompilierten Bytecode zu vergleichen, um Unterschiede festzustellen. Die Verifizierung von Smart Contracts ist wichtig, da sich der angegebene Vertragscode von dem Code, der auf der Blockchain läuft, unterscheiden könnte.
+
+Die Verifizierung von Smart Contracts macht es möglich, mithilfe der High-Level-Sprache, in der ein Vertrag verfasst wurde, zu untersuchen, was dieser wirklich tut, ohne den dazugehörigen Maschinencode lesen zu müssen. Funktionen, Werte und in der Regel die Variablennamen und Kommentare bleiben beim kompilierten und veröffentlichten originalen Quellcode identisch. Dies erleichtert es deutlich, den Code zu lesen. Die Quellcodeverifizierung leitet außerdem die Codedokumentation in die Wege, mit der die Endbenutzer prüfen können, was der Zweck eines bestimmten Smart Contracts ist.
+
+### Was ist eine vollständige Verifizierung? {#full-verification}
+
+Einige Teil des Quellcodes, wie Kommentare oder Variablennamen, haben keinen Einfluss auf den kompilierten Bytecode. Daraus folgt, dass zwei Quellcodes mit unterschiedlichen Variablennamen und unterschiedlichen Kommentaren dennoch in der Lage wären, denselben Vertrag zu verifizieren. Auf diese Weise könnten Personen mit bösartigen Absichten täuschende Kommentare schreiben oder irreführende Variablennamen im Quellcode angeben und dafür sorgen, dass der Vertrag mit einem anderen Quellcode als im Originalvertrag verifiziert wird.
+
+Es ist möglich, dies durch an den Bytecode angehängte zusätzliche Daten zu vermeiden, die als _kryptografische Garantie_ für die Exaktheit des Quellcodes und als _Fingerabdruck_ der zu kompilierenden Informationen dienen. Die dazu notwendigen Informationen finden Sie in den [Vertragsmetadaten von Solidity](https://docs.soliditylang.org/en/v0.8.15/metadata.html) und der Hash dieser Datei wird an den Bytecode eines Vertrags angehängt. Live können Sie dies im [Metadata Playground](https://playground.sourcify.dev) nachverfolgen.
+
+Die Metadatendatei enthält Informationen über die Kompilierung des Vertrags, einschließlich der Quelldateien und ihrer Hashes. Das bedeutet, dass sich die Metadatendatei ändert, wenn sich eine der Kompilierungseinstellungen oder auch nur ein einzelnes Byte in einer der Quelldateien ändert. Folglich ändert sich auch der Hash der Metadatendatei, der an den Bytecode angehängt ist. Das bedeutet: Wenn der Bytecode eines Vertrags plus der angehängte Metadaten-Hash mit dem angegebenen Quellcode und den Kompilierungseinstellungen übereinstimmt, können wir sicher sein, dass es sich um genau denselben Quellcode handelt, der schon bei der ursprünglichen Kompilierung verwendet wurde – kein einziges Byte unterscheidet sich.
+
+Diese Art der Verifizierung, die den Metadaten-Hash nutzt, wird als **„[vollständige Verifizierung](https://docs.sourcify.dev/docs/full-vs-partial-match/)“** (auch „perfekte Verifizierung“) bezeichnet. Wenn die Metadaten-Hashes nicht übereinstimmen oder bei der Verifizierung nicht berücksichtigt werden, würde es sich um eine „partielle Übereinstimmung“ handeln, was die derzeit gebräuchlichere Methode zur Verifizierung von Verträgen ist. Es ist möglich, [bösartigen Code einzuschleusen](https://samczsun.com/hiding-in-plain-sight/), der in dem verifizierten Quellcode ohne vollständige Verifizierung nicht sichtbar wäre. Die meisten Entwickler sind sich nicht bewusst, dass die vollständige Verifizierung existiert und bewahren die Metadatendatei ihrer Kompilierung nicht auf. Aus diesem Grund ist bisher die partielle Verifizierung die gängige Methode zur Vertragsverifizierung.
+
+## Warum ist die Quellcodeverifizierung wichtig? {#importance-of-source-code-verification}
+
+### Vertrauenslosigkeit {#trustlessness}
+
+Die Vertrauenslosigkeit ist zweifellos eine der wichtigsten Voraussetzungen für Smart Contracts und [dezentrale Anwendungen (DApps)](/developers/docs/dapps/). Smart Contracts sind „unveränderlich“ und können nicht modifiziert werden; ein Vertrag führt nur die Geschäftslogik aus, die zum Zeitpunkt der Veröffentlichung im Code festgelegt wurde. Das bedeutet, dass Entwickler und Unternehmen den Code eines Vertrags nach dessen Veröffentlichung auf Ethereum nicht manipulieren können.
+
+Damit ein Smart Contract vertrauenslos ist, sollte der Vertragscode für eine unabhängige Verifizierung verfügbar sein. Der kompilierte Bytecode ist zwar für jeden Smart Contract öffentlich auf der Blockchain verfügbar, die Low-Level-Sprache ist allerdings schwer verständlich – sowohl für Entwickler als auch für Benutzer.
+
+In Projekten werden Vertrauensannahmen durch die Veröffentlichung des Quellcodes der Verträge reduziert. Aber dies führt zu einem weiteren Problem: Die Verifizierung, dass der veröffentlichte Quellcode mit dem Bytecode des Vertrags übereinstimmt, ist schwierig. In diesem Szenario geht der Wert der Vertrauenslosigkeit verloren, da die Benutzer den Entwicklern vertrauen müssen, dass diese die Geschäftslogik eines Vertrags (z. B. durch Ändern des Bytecodes) vor der Veröffentlichung auf der Blockchain nicht ändern.
+
+Quellcode-Verifizierungswerkzeuge bieten Garantien dafür, dass die Quellcodedateien eines Smart Contracts mit dem Assembly-Code übereinstimmen. Das Ergebnis ist ein vertrauensloses Ökosystem, in dem Benutzer nicht blind Dritten vertrauen, sondern den Code verifizieren, bevor sie Geldmittel in einen Vertrag einzahlen.
+
+### Benutzersicherheit {#user-safety}
+
+Bei Smart Contracts steht oft eine Menge Geld auf dem Spiel. Das macht höhere Sicherheitsgarantien und eine Verifizierung der Logik eines Smart Contracts, bevor er verwendet wird, erforderlich. Das Problem ist, dass skrupellose Entwickler Benutzer täuschen können, indem sie bösartigen Code in einen Smart Contract einfügen. Ohne Verifizierung können bösartige Smart Contracts [Hintertüren](https://www.trustnodes.com/2018/11/10/concerns-rise-over-backdoored-smart-contracts), umstrittene Zugriffskontrollmechanismen, ausnutzbare Schwachstellen und andere Sicherheitsrisiken enthalten, die unentdeckt bleiben würden.
+
+Die Veröffentlichung der Quellcodedateien eines Smart Contracts erleichtert es Interessierten, wie zum Beispiel Auditoren, den Vertrag hinsichtlich potenzieller Angriffsvektoren zu bewerten. Wenn mehrere Parteien unabhängig voneinander einen Smart Contract verifizieren, bietet dies Benutzern stärkere Sicherheitsgarantien.
+
+## So funktioniert die Quellcodeverifizierung für Ethereum-Smart-Contracts {#source-code-verification-for-ethereum-smart-contracts}
+
+Damit [ein Smart Contract auf Ethereum veröffentlicht](/developers/docs/smart-contracts/deploying/) werden kann, ist es erforderlich, eine Transaktion mit einem Datenpayload (kompilierten Bytecode) an eine spezielle Adresse zu senden. Der Datenpayload wird durch das Kompilieren des Quellcodes erstellt, wobei die [Konstruktorargumente](https://docs.soliditylang.org/en/v0.8.14/contracts.html#constructor) des Vertragsfalls an den Datenpayload in der Transaktion angehängt werden. Die Kompilierung ist deterministisch, was bedeutet, dass immer dasselbe Ergebnis (z. B. Vertrags-Bytecode) herauskommt, wenn dieselben Quelldateien und Kompilierungseinstellungen (z. B. Compiler-Version, Optimizer) verwendet werden.
+
+
+
+Die Verifizierung eines Smart Contracts umfasst im Wesentlichen die folgenden Schritte:
+
+1. Die Quelldateien und Kompilierungseinstellungen in einen Compiler eingeben.
+
+2. Der Compiler gibt den Bytecode des Vertrags aus.
+
+3. Den Bytecode des veröffentlichten Vertrags an einer gegebenen Adresse abrufen.
+
+4. Den veröffentlichten Bytecode mit dem erneut kompilierten Bytecode vergleichen. Wenn die Codes übereinstimmen, wird der Vertrag mit dem Quellcode und den Kompilierungseinstellungen verifiziert, die angegeben wurden.
+
+5. Wenn außerdem die Metadaten-Hashes am Ende des Bytecodes übereinstimmen, liegt eine vollständige Übereinstimmung vor.
+
+Beachten Sie, dass dies eine vereinfachte Beschreibung der Verifizierung ist und es viele Ausnahmen gibt, bei denen dies nicht funktionieren würde, wie zum Beispiel bei [unveränderlichen Variablen](https://docs.sourcify.dev/docs/immutables/).
+
+## Werkzeuge zur Quellcodeverifizierung {#source-code-verification-tools}
+
+Der traditionelle Prozess zur Verifizierung von Verträgen kann komplex sein. Deshalb gibt es Werkzeuge zur Verifizierung des Quellcodes für auf Ethereum veröffentlichte Smart Contracts. Diese Werkzeuge automatisieren große Teile der Quellcodeverifizierung und kuratieren außerdem verifizierte Verträge zum Nutzen der Benutzer.
+
+### Etherscan {#etherscan}
+
+Obwohl Etherscan hauptsächlich als [Ethereum-Blockchain-Explorer](/developers/docs/data-and-analytics/block-explorers/) bekannt ist, bietet es auch einen [Dienst zur Quellcodeverifizierung](https://etherscan.io/verifyContract) für Entwickler und Benutzer von Smart Contracts an.
+
+Etherscan macht es möglich, den Vertrags-Bytecode aus dem ursprünglichen Daten-Payload (Quellcode, Bibliotheksadresse, Kompilierungseinstellungen, Vertragsadresse usw.) neu zu kompilieren Wenn der neu kompilierte Bytecode mit dem Bytecode (und den Konstruktorparametern) des On-Chain-Vertrags in Verbindung gebracht wird, [ist der Vertrag verifiziert](https://info.etherscan.com/types-of-contract-verification/).
+
+Sobald der Vertrag verifiziert ist, erhält der Quellcode des Vertrags ein „Verified“-Label und wird auf Etherscan veröffentlicht, damit andere ihn prüfen können. Er wird auch in den Abschnitt [Verifizierte Verträge](https://etherscan.io/contractsVerified/) aufgenommen – einem Repository von Smart Contracts mit verifiziertem Quellcode.
+
+Etherscan ist das am häufigsten verwendete Werkzeug zur Verifizierung von Verträgen. Allerdings hat die Vertragsverifizierung von Etherscan einen Nachteil: Sie vergleicht den **Metadaten-Hash** des On-Chain-Bytecodes nicht mit dem erneut kompilierten Bytecode. Daher sind die Übereinstimmungen bei Etherscan nur teilweise Übereinstimmungen.
+
+[Mehr zur Verifizierung von Verträgen auf Etherscan](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327).
+
+### Sourcify {#sourcify}
+
+[Sourcify](https://sourcify.dev/#/verifier) ist ein weiteres Werkzeug zur Verifizierung von Verträgen, das auf Open-Source-Software basiert und dezentralisiert ist. Es ist kein Block Explorer und verifiziert Verträge nur auf [verschiedenen EVM-basierten Netzwerken](https://docs.sourcify.dev/docs/chains). Sourcify fungiert als öffentliche Infrastruktur, auf der andere Tools aufbauen können, und verfolgt das Ziel, menschenfreundlichere Vertragsinteraktionen zu ermöglichen. Zu diesem Zweck greift es auf die Kommentare [ABI](/developers/docs/smart-contracts/compiling/#web-applications)- und [NatSpec](https://docs.soliditylang.org/en/v0.8.15/natspec-format.html) aus der Metadatendatei zurück.
+
+Im Gegensatz zu Etherscan unterstützt Sourcify vollständige Übereinstimmungen mit dem Metadaten-Hash. Die verifizierten Verträge werden in seinem [öffentlichen Repository](https://docs.sourcify.dev/docs/repository/) auf HTTP und [IPFS](https://docs.ipfs.io/concepts/what-is-ipfs/#what-is-ipfs) bereitgestellt, wobei IPFS ein dezentrales, [inhaltsadressiertes](https://web3.storage/docs/concepts/content-addressing/) Speichersystem ist. Dies ermöglicht das Abrufen der Metadatendatei eines Vertrags über IPFS, da der angehängte Metadaten-Hash ein IPFS-Hash ist.
+
+Darüber hinaus kann auch auf die Quellcodedateien über IPFS zugegriffen werden, da IPFS-Hashes dieser Dateien ebenfalls in den Metadaten enthalten sind. Ein Vertrag kann verifiziert werden, indem die Metadatendatei und die Quelldateien über die API, die [UI](https://sourcify.dev/#/verifier) oder die Plug-ins bereitgestellt werden. Das Sourcify-Überwachungstool achtet auch auf Vertragserstellungen in neuen Blöcken und versucht, die Verträge zu verifizieren, wenn deren Metadaten und Quelldateien auf IPFS veröffentlicht wurden.
+
+[Mehr über die Verifizierung von Verträgen auf Sourcify](https://blog.soliditylang.org/2020/06/25/sourcify-faq/).
+
+### Tenderly {#tenderly}
+
+Die [Tenderly-Plattform](https://tenderly.co/) ermöglicht es Web3-Entwicklern, Smart Contracts zu erstellen, zu testen, zu überwachen und zu betreiben. Tenderly kombiniert Debugging-Werkzeuge mit Beobachtungs- und Infrastrukturbausteinen und hilft Entwicklern so dabei, die Entwicklung von Smart Contracts zu beschleunigen. Um die Funktionen von Tenderly vollständig nutzen zu können, müssen Entwickler mithilfe mehrerer Methoden [den Quellcode verifizieren](https://docs.tenderly.co/monitoring/contract-verification).
+
+Es ist möglich, einen Vertrag privat oder öffentlich zu verifizieren. Wenn der Vertrag privat verifiziert wird, ist er nur für Sie (und andere Mitglieder Ihres Projekts) sichtbar. Eine öffentliche Verifizierung hat zur Folge, dass der Vertrag für alle Benutzer der Tenderly-Plattform sichtbar ist.
+
+Sie können Ihre Verträge über das [Dashboard](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-a-smart-contract), [das Tenderly-Hardhat-Plug-in](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-the-tenderly-hardhat-plugin) oder die [CLI](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-cli) verifizieren.
+
+Bei der Verifizierung von Verträgen über das Dashboard müssen Sie die Quelldatei oder die vom Solidity-Compiler erzeugte Metadatendatei, die Adresse/das Netzwerk und die Compiler-Einstellungen importieren.
+
+Die Verwendung des Tenderly-Hardhat-Plug-ins ermöglicht eine bessere Kontrolle über den Verifizierungsprozess bei gleichzeitig weniger Aufwand. Sie können mit dem Plug-in zwischen automatischer (kein Code erforderlich) und manueller (Code-basierter) Verifizierung wählen.
+
+## Weiterführende Informationen {#further-reading}
+
+- [Verifizierung des Quellcodes von Verträgen](https://programtheblockchain.com/posts/2018/01/16/verifying-contract-source-code/)
diff --git a/public/content/translations/de/developers/docs/standards/tokens/erc-1155/index.md b/public/content/translations/de/developers/docs/standards/tokens/erc-1155/index.md
index 60eb2a87f1b..22740a05f02 100644
--- a/public/content/translations/de/developers/docs/standards/tokens/erc-1155/index.md
+++ b/public/content/translations/de/developers/docs/standards/tokens/erc-1155/index.md
@@ -23,7 +23,7 @@ Um diese Seite besser zu verstehen, empfehlen wir Ihnen, zuerst etwas über [Tok
- [Batch-Transfer](#batch_transfers): Übertragen Sie mehrere Assets in einem einzigen Schritt.
- [Batch-Balance](#batch_balance): Abrufen der Salden mehrerer Anlagen in einem einzigen Schritt.
- [Batch-Genehmigung](#batch_approval): Genehmige alle Token für eine Adresse.
-- [Haken](#recieve_hook): Haken für den Empfang von Token.
+- [Haken](#receive_hook): Haken für den Empfang von Token.
- [NFT-Support](#nft_support): Wenn das Angebot nur 1 ist, wird es als NFT behandelt.
- [Sichere Übertragungsregeln](#safe_transfer_rule): Regelwerk für die sichere Übertragung.
diff --git a/public/content/translations/de/developers/docs/transactions/index.md b/public/content/translations/de/developers/docs/transactions/index.md
index 4671f991e3c..71a809876e3 100644
--- a/public/content/translations/de/developers/docs/transactions/index.md
+++ b/public/content/translations/de/developers/docs/transactions/index.md
@@ -8,7 +8,7 @@ Transaktionen sind kryptographisch signierte Anweisungen von Konten. Ein Konto w
## Voraussetzungen {#prerequisites}
-Um dir zu helfen, diese Seite besser zu verstehen, empfehlen wir dir, zuerst [ Konten](/developers/docs/accounts/), [Transaktionen](/en/developers/docs/transactions/) und unsere [Einführung in Ethereum](/developers/docs/intro-to-ethereum/) zu lesen.
+Um dir zu helfen, diese Seite besser zu verstehen, empfehlen wir dir, zuerst [ Konten](/developers/docs/accounts/), [Transaktionen](/developers/docs/transactions/) und unsere [Einführung in Ethereum](/developers/docs/intro-to-ethereum/) zu lesen.
## Was ist eine Transaktion? {#whats-a-transaction}
diff --git a/public/content/translations/de/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md b/public/content/translations/de/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
index 12a90809e15..9d19e536037 100644
--- a/public/content/translations/de/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
+++ b/public/content/translations/de/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
@@ -140,7 +140,7 @@ Transaktionen in Ether werden in ähnlicher Weise verwaltet. Aber statt z
-Versuchen Sie, einige Werte nach und von Wei zu konvertieren. [Beachten Sie](https://web3py.readthedocs.io/en/stable/examples.html#converting-currency-denominations), dass es zwischen Ether und Wei noch andere Einheiten gibt. Eine der bekanntesten ist **Gwei**, da Transaktionsgebühren in dieser Einheit angegeben werden.
+Versuchen Sie, einige Werte nach und von Wei zu konvertieren. [Beachten Sie](https://web3py.readthedocs.io/en/stable/troubleshooting.html#how-do-i-convert-currency-denominations), dass es zwischen Ether und Wei noch andere Einheiten gibt. Eine der bekanntesten ist **Gwei**, da Transaktionsgebühren in dieser Einheit angegeben werden.
```python
In [2]: Web3.toWei(1, 'ether')
diff --git a/public/content/translations/de/developers/tutorials/calling-a-smart-contract-from-javascript/index.md b/public/content/translations/de/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
index 604dbab65f7..80de3796183 100644
--- a/public/content/translations/de/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
+++ b/public/content/translations/de/developers/tutorials/calling-a-smart-contract-from-javascript/index.md
@@ -105,7 +105,7 @@ Sie können auf die Methoden eines instanziierten Smart Contracts, für den Sie
```js
daiToken.methods.balanceOf(senderAddress).call(function (err, res) {
if (err) {
- console.log("An error occured", err)
+ console.log("An error occurred", err)
return
}
console.log("The balance is: ", res)
@@ -123,7 +123,7 @@ daiToken.methods
.transfer(receiverAddress, "100000000000000000000")
.send({ from: senderAddress }, function (err, res) {
if (err) {
- console.log("An error occured", err)
+ console.log("An error occurred", err)
return
}
console.log("Hash of the transaction: " + res)
diff --git a/public/content/translations/de/developers/tutorials/hello-world-smart-contract/index.md b/public/content/translations/de/developers/tutorials/hello-world-smart-contract/index.md
index f4539390f61..3ed37f19dfa 100644
--- a/public/content/translations/de/developers/tutorials/hello-world-smart-contract/index.md
+++ b/public/content/translations/de/developers/tutorials/hello-world-smart-contract/index.md
@@ -42,7 +42,7 @@ Sobald Sie ein Alchemy-Konto erstellt haben, können Sie einen API-Schlüssel ge
Wir benötigen ein Ethereum-Konto, um Transaktionen zu senden und zu empfangen. In diesem Tutorial verwenden wir MetaMask, eine virtuelle Wallet im Browser, mit der Sie Ihre Ethereum-Kontoadresse verwalten können. Weitere Informationen zu [Transaktionen](/developers/docs/transactions/).
-Sie können MetaMask [hier](https://metamask.io/download.html) kostenlos herunterladen und ein Konto erstellen. Wenn Sie ein Konto erstellen oder wenn Sie bereits ein Konto haben, stellen Sie sicher, dass Sie oben rechts zum "Ropsten-Testnet" wechseln (damit wir nicht mit echtem Geld arbeiten).
+Sie können MetaMask [hier](https://metamask.io/download) kostenlos herunterladen und ein Konto erstellen. Wenn Sie ein Konto erstellen oder wenn Sie bereits ein Konto haben, stellen Sie sicher, dass Sie oben rechts zum "Ropsten-Testnet" wechseln (damit wir nicht mit echtem Geld arbeiten).

diff --git a/public/content/translations/de/developers/tutorials/how-to-mint-an-nft/index.md b/public/content/translations/de/developers/tutorials/how-to-mint-an-nft/index.md
index 64bd39ef562..a9b9884c8d5 100644
--- a/public/content/translations/de/developers/tutorials/how-to-mint-an-nft/index.md
+++ b/public/content/translations/de/developers/tutorials/how-to-mint-an-nft/index.md
@@ -15,7 +15,7 @@ published: 2021-04-22
[Beeple](https://www.nytimes.com/2021/03/11/arts/design/nft-auction-christies-beeple.html): 69 Millionen USD [3LAU](https://www.forbes.com/sites/abrambrown/2021/03/03/3lau-nft-nonfungible-tokens-justin-blau/?sh=5f72ef64643b): 11 Millionen USD [Grimes](https://www.theguardian.com/music/2021/mar/02/grimes-sells-digital-art-collection-non-fungible-tokens): 6 Millionen USD
-Sie alle haben ihre NFTs mit der leistungsstarken API von Alchemy geprägt. In diesem Tutorial zeigen wir Ihnen, wie das in <10 Minuten geht.
+Sie alle haben ihre NFTs mit der leistungsstarken API von Alchemy geprägt. In diesem Tutorial zeigen wir Ihnen, wie das in \<10 Minuten geht.
"NFTs prägen" – ist die Veröffentlichung einer einzigartigen Instanz Ihres ERC-721-Tokens auf der Blockchain. Mit unserem Smart Contract aus [Teil 1 dieser NFT-Tutorialserie](/developers/tutorials/how-to-write-and-deploy-an-nft/) möchten wir unsere Web3-Fähigkeiten unter Beweis stellen und einen NFT prägen. Am Ende dieses Tutorials sind Sie selbst in der Lage, so viele NFTs zu prägen, wie Ihr Herz (und Ihr Wallet) begehrt.
diff --git a/public/content/translations/de/developers/tutorials/how-to-write-and-deploy-an-nft/index.md b/public/content/translations/de/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
index 717e997ded9..5836d9ff97e 100644
--- a/public/content/translations/de/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
+++ b/public/content/translations/de/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
@@ -47,7 +47,7 @@ Sobald Sie ein Alchemy-Konto erstellt haben, können Sie einen API-Schlüssel ge
Zum Versenden und Empfangen von Transaktionen benötigen Sie ein Ethereum-Konto. In diesem Tutorial verwenden wir MetaMask, eine virtuelle Wallet im Browser, mit der Sie Ihre Ethereum-Kontoadresse verwalten können. Wenn Sie mehr über Transaktionen auf Ethereum erfahren möchten, besuchen Sie [diese Seite](/developers/docs/transactions/) von der Ethereum Foundation.
-Sie können [hier](https://metamask.io/download.html) MetaMask kostenlos herunterladen und ein Konto erstellen. Wie Sie ein neues Konto erstellen oder wenn Sie bereits ein Konto haben, stellen Sie bitte sicher, dass Sie zum Ropsten-Testnet oben rechts wechseln (um sicherzustellen, dass Sie nicht mit echtem Geld handeln).
+Sie können [hier](https://metamask.io/download) MetaMask kostenlos herunterladen und ein Konto erstellen. Wie Sie ein neues Konto erstellen oder wenn Sie bereits ein Konto haben, stellen Sie bitte sicher, dass Sie zum Ropsten-Testnet oben rechts wechseln (um sicherzustellen, dass Sie nicht mit echtem Geld handeln).

@@ -77,7 +77,7 @@ Jetzt, da wir uns in unserem Projektordner befinden, verwenden wir "npm init" um
npm init
Es spielt keine Rolle, wie Sie die Fragen zur Installation beantworten, aber wir haben es folgendermaßen gemacht:
-
+```json
package name: (my-nft)
version: (1.0.0)
description: My first NFT!
@@ -100,7 +100,7 @@ Es spielt keine Rolle, wie Sie die Fragen zur Installation beantworten, aber wir
"author": "",
"license": "ISC"
}
-
+```
Genehmigen Sie die Datei "package.json" und schon kann es losgehen.
## Schritt 7: [Hardhat](https://hardhat.org/getting-started/#overview) installieren {#install-hardhat}
@@ -262,6 +262,7 @@ Wir haben bisher mehrere Abhängigkeiten und Plug-ins hinzugefügt. Jetzt müsse
Aktualisieren Sie Ihre hardhat.config.js so, dass sie wie folgt aussieht:
+```js
/**
* @type import('hardhat/config').HardhatUserConfig
*/
@@ -279,6 +280,7 @@ Aktualisieren Sie Ihre hardhat.config.js so, dass sie wie folgt aussieht:
}
},
}
+```
## Schritt 14: Vertrag kompilieren {#compile-contract}
diff --git a/public/content/translations/de/eips/index.md b/public/content/translations/de/eips/index.md
index a8debca131c..79c9270961a 100644
--- a/public/content/translations/de/eips/index.md
+++ b/public/content/translations/de/eips/index.md
@@ -74,6 +74,6 @@ Jeder kann ein EIP erstellen. Bevor man einen Vorschlag einreicht, muss man [EIP
-Seiteninhalte zum Teil von [Governance bei der Ethereum-Protokollentwicklung und Koordinierung von Netzwerk-Upgrades](https://hudsonjameson.com/202020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) Hudson Jameson bereitgestellt
+Seiteninhalte zum Teil von [Governance bei der Ethereum-Protokollentwicklung und Koordinierung von Netzwerk-Upgrades](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) Hudson Jameson bereitgestellt
diff --git a/public/content/translations/de/enterprise/index.md b/public/content/translations/de/enterprise/index.md
index a111ef40c17..e52c045b5b9 100644
--- a/public/content/translations/de/enterprise/index.md
+++ b/public/content/translations/de/enterprise/index.md
@@ -13,7 +13,7 @@ Blockchain-Anwendungen helfen Unternehmen:
- Sie erschaffen neue Geschäftsmodelle und Wertschöpfungsmöglichkeiten.
- Sie bieten für ihre Organisation einen wettbewerbsorientierten Zukunftsschutz.
-Enterprise-Blockchain-Anwendungen können auf dem öffentlichen Ethereum-[Mainnet](/glossary/#mainnet) oder auf privaten Blockchains, die auf der Ethereum-Technologie basieren, aufgebaut werden. Weitere Informationen zu [privaten Enterprise-Ethereum-Ketten](/enterprise/private-ethereum/)
+Enterprise-Blockchain-Anwendungen können auf dem öffentlichen Ethereum-[Mainnet](/glossary/#mainnet) oder auf privaten Blockchains, die auf der Ethereum-Technologie basieren, aufgebaut werden.
## Öffentliches gegenüber privatem Ethereum {#private-vs-public}
@@ -92,7 +92,7 @@ Beispiele für L2-Lösungen, die produktionsbereit sind oder es bald sein werden
- Plasma (Daten off-chain, Betrugsnachweise)
- [OMG Network](https://omg.network/)
- [Gazelle](https://gzle.io)
- - [Matic Network](https://matic.network/)
+ - [Matic Network](https://polygon.technology/)
- [LeapDAO](https://ipfs.leapdao.org/)
- State Channels
- [Connext](https://connext.network/)
@@ -118,7 +118,7 @@ Nachfolgend werden einige der Anwendungen für Unternehmen aufgelistet, die bisl
### Finanzen {#finance}
-- [Santander Bank](https://www.coindesk.com/santander-settles-both-sides-of-a-20-million-bond-trade-on-ethereum) _Ausgabe und Abwicklung von Anleihen_
+- [Santander Bank](https://www.coindesk.com/markets/2019/09/12/santander-settles-both-sides-of-a-20-million-bond-trade-on-ethereum) _Ausgabe und Abwicklung von Anleihen_
- [Generale Societe](https://www.societegenerale.com/en/news/newsroom/societe-generale-performs-first-financial-transaction-settled-central-bank-digital) _Ausgabe von Anleihen_
- [Cadence](https://www.forbes.com/sites/benjaminpirus/2019/10/09/fatburger-and-others-feed-30-million-into-ethereum-for-new-bond-offering/#513870be115b) _Anleiheangebot und Tokenisierung für FAT-Marken_
- [Sila](https://silamoney.com/) _Bank- und ACH-Zahlungsinfrastruktur-as-a-Service_
@@ -132,7 +132,7 @@ Nachfolgend werden einige der Anwendungen für Unternehmen aufgelistet, die bisl
- [BBVA](https://www.ledgerinsights.com/bbva-blockchain-loan-banking-tech-award/) _Details von finalisierten Darlehen werden gehasht und im Hauptnetz aufgezeichnet_
- [ANSA](https://cointelegraph.com/news/italys-top-news-agency-uses-blockchain-to-fight-fake-coronavirus-news) _Italiens größte Nachrichtenagentur kämpft gegen gefälschte Nachrichten und ermöglicht es Lesern, den Ursprung der Nachrichten zu überprüfen, indem sie im Mainnet aufgezeichnet werden_
- [Verizon](https://decrypt.co/46745/verizon-news-press-releases-ethereum-full-transparency) _protokolliert Pressemitteilungen auf Ethereum, um die Rechenschaftspflicht und das Vertrauen von Unternehmen zu gewährleisten_
-- [Breitling](https://www.coindesk.com/breitling-arianee-all-new-watches-ethereum) _erfasst den Herkunfts- und Reparaturverlauf von Uhren auf Ethereum_
+- [Breitling](https://www.coindesk.com/business/2020/10/15/breitling-goes-live-with-ethereum-based-system-to-put-all-new-watches-on-the-blockchain) _erfasst den Herkunfts- und Reparaturverlauf von Uhren auf Ethereum_
- [EthSign](https://ethsign.xyz/)_ erfasst signierte elektronische Dokumente in der Ethereum-Blockchain_
### Lieferkette {#supply-chain}
@@ -141,7 +141,7 @@ Nachfolgend werden einige der Anwendungen für Unternehmen aufgelistet, die bisl
- [Minespider](https://www.minespider.com/) _Lieferketten-Tracking_
- [Folge unseren Fasern](https://www.followourfibre.com) _Viskose-Lieferkettenverfolgbarkeit_
- [EY OpsChain Netzwerkbeschaffung](https://blockchain.ey.com/products/contract-manager) _bietet einen Beschaffungsworkflow durch die Ausgabe von RFQs, Verträgen, Bestellungen und Rechnungen in Ihrem Netzwerk vertrauenswürdiger Geschäftspartner_
-- [Treum](https://treum.io/) _bringt Transparenz, Rückverfolgbarkeit und Handelbarkeit in Lieferketten mithilfe der Blockchain-Technologie_
+- [Treum](https://consensys.io/blog/consensys-acquires-treum) _bringt Transparenz, Rückverfolgbarkeit und Handelbarkeit in Lieferketten mithilfe der Blockchain-Technologie_
- [TradeTrust](https://www.tradetrust.io/) _überprüft elektronische Frachtbriefe (eBLs) für den internationalen Versand_
### Referenzen und Zertifizierungen {#credentials}
diff --git a/public/content/translations/de/governance/index.md b/public/content/translations/de/governance/index.md
index 030407b9525..2fd8f58a85b 100644
--- a/public/content/translations/de/governance/index.md
+++ b/public/content/translations/de/governance/index.md
@@ -44,7 +44,7 @@ Es gibt verschiedene Interessensvertreter in der [Ethereum-Community](/community
- **Ether-Halter**: Diese Personen halten eine beliebige Menge an ETH. [Mehr zu ETH](/eth/).
- **Anwendungsbenutzer**: Diese Personen interagieren mit Anwendungen auf der Ethereum-Blockchain.
-- **Anwendungs-/Tool-Entwickler**: Diese Personen schreiben Anwendungen, die auf der Ethereum-Blockchain laufen (z. B. DeFi, NFTs usw.), oder erstellen Tools, um mit Ethereum zu interagieren (z. B. Wallets, Test-Suiten usw.). [Mehr zu dApps](/dapps/).
+- **Anwendungs-/Tool-Entwickler**: Diese Personen schreiben Anwendungen, die auf der Ethereum-Blockchain laufen (z. B. DeFi, NFTs usw.), oder erstellen Tools, um mit Ethereum zu interagieren (z. B. Wallets, Test-Suiten usw.). [Mehr zu dApps](/apps/).
- **Node-Betreiber**: Diese Personen betreiben Nodes (Knotenpunkte), die Blöcke und Transaktionen propagieren, indem sie ungültige Transaktionen, auf die sie stoßen, ablehnen oder blockieren. [Mehr zu Nodes](/developers/docs/nodes-and-clients/).
- **EIP-Autoren**: Diese Personen schlagen Änderungen am Ethereum-Protokoll in Form von Ethereum-Verbesserungsvorschlägen (Ethereum Improvement Proposal, EIP) vor. [Mehr zu EIPs](/eips/).
- **Validatoren**: Diese Personen betreiben Nodes, die neue Blöcke zur Ethereum-Blockchain hinzufügen können.
@@ -118,7 +118,7 @@ In der Regel werden Meinungsverschiedenheiten durch lange Diskussionen in öffen
Von einem Fork spricht man, wenn größere technische Upgrades oder Änderungen am Netzwerk vorgenommen werden müssen und sich die „Regeln“ des Protokolls ändern. [Ethereum-Clients](/developers/docs/nodes-and-clients/) müssen ihre Software aktualisieren, um die neuen Fork-Regeln zu implementieren.
-Der DAO-Fork erfolgte als Reaktion auf den [2016 DAO-Angriff](https://www.coindesk.com/understanding-dao-hack-journalists), bei dem einem unsicheren [DAO](/glossary/#dao)-Vertrag über 3,6 Millionen ETH durch einen Hack entzogen wurden. Durch den Fork wurden die Gelder aus dem fehlerhaften Vertrag in einen neuen Vertrag übertragen, so dass jeder, der durch den Hack Geld verloren hatte, dieses zurückerhalten konnte.
+Der DAO-Fork erfolgte als Reaktion auf den [2016 DAO-Angriff](https://www.coindesk.com/learn/understanding-the-dao-attack), bei dem einem unsicheren [DAO](/glossary/#dao)-Vertrag über 3,6 Millionen ETH durch einen Hack entzogen wurden. Durch den Fork wurden die Gelder aus dem fehlerhaften Vertrag in einen neuen Vertrag übertragen, so dass jeder, der durch den Hack Geld verloren hatte, dieses zurückerhalten konnte.
Die Ethereum-Community hatte über diese Vorgehensweise abgestimmt. Jeder ETH-Inhaber konnte über eine Transaktion auf [, einer Abstimmungsplattform,](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/) abstimmen. Der Fork wurde mit mehr als 85 % der Stimmen beschlossen.
diff --git a/public/content/translations/de/guides/how-to-revoke-token-access/index.md b/public/content/translations/de/guides/how-to-revoke-token-access/index.md
index 66eaf0ae554..29ef55b10f6 100644
--- a/public/content/translations/de/guides/how-to-revoke-token-access/index.md
+++ b/public/content/translations/de/guides/how-to-revoke-token-access/index.md
@@ -20,7 +20,6 @@ Auf mehreren Websites können Sie die mit Ihrer Adresse verbundenen intelligente
- [Ethallowance](https://ethallowance.com/) (Ethereum)
- [Etherscan](https://etherscan.io/tokenapprovalchecker) (Ethereum)
-- [Cointool](https://cointool.app/approve/eth) (multiple Netzwerke)
- [Revoke](https://revoke.cash/) (multiple Netzwerke)
- [Unrekt](https://app.unrekt.net/) (multiple Netzwerke)
- [EverRevoke](https://everrise.com/everrevoke/) (multiple Netzwerke)
diff --git a/public/content/translations/de/guides/how-to-use-a-wallet/index.md b/public/content/translations/de/guides/how-to-use-a-wallet/index.md
index c6e0bf1508b..3439250fe07 100644
--- a/public/content/translations/de/guides/how-to-use-a-wallet/index.md
+++ b/public/content/translations/de/guides/how-to-use-a-wallet/index.md
@@ -60,7 +60,7 @@ Ihre Adresse wird auf allen Ethereum Projekten dieselbe sein. Sie brauchen sich

5. Bestätigen Sie die Signaturanfrage in Ihrer Wallet um die Verbindung herzustellen. **Das Signieren der dieser Nachricht benötigt kein zusätzliches ETH**.
-6. Das war's! Beginnen Sie, die App zu benutzen. Einige interessante Projekte finden Sie auf unserer [dApps-Seite](/dapps/#explore).
+6. Das war's! Beginnen Sie, die App zu benutzen. Einige interessante Projekte finden Sie auf unserer [dApps-Seite](/apps/#explore).
Möchten Sie mehr erfahren?
diff --git a/public/content/translations/de/nft/index.md b/public/content/translations/de/nft/index.md
index 0f3e106a48a..9df94dcabba 100644
--- a/public/content/translations/de/nft/index.md
+++ b/public/content/translations/de/nft/index.md
@@ -56,7 +56,7 @@ Vielleicht sind Sie ein Künstler, der seine Werke mithilfe von NFTs verbreiten
Entdecken, kaufen oder erstellen Sie Ihre eigene(n) NFT-Kunst/Sammelgegenstände ...
-
+
NFT-Kunst entdecken
diff --git a/public/content/translations/de/roadmap/index.md b/public/content/translations/de/roadmap/index.md
index e1394de7b5a..be3a24a8c63 100644
--- a/public/content/translations/de/roadmap/index.md
+++ b/public/content/translations/de/roadmap/index.md
@@ -8,10 +8,10 @@ alt: "Ethereum-Roadmap"
summaryPoints:
buttons:
-
- label: Weitere Upgrades
+ content: Weitere Upgrades
toId: welche-veränderungen-kommen-werden
-
- label: Bisherige Upgrades
+ content: Bisherige Upgrades
href: /history/
variant: Übersicht
---
diff --git a/public/content/translations/de/roadmap/merge/index.md b/public/content/translations/de/roadmap/merge/index.md
index 67f06bb3b71..cba8f0ae4cf 100644
--- a/public/content/translations/de/roadmap/merge/index.md
+++ b/public/content/translations/de/roadmap/merge/index.md
@@ -92,7 +92,7 @@ title="dApp und Smart Contract Entwickler"
contentPreview="The Merge was designed to have minimal impact on smart contract and dapp developers."
id="developers">
-The Merge trat ein, indem es Änderungen an der Konsens-Methode mit sich brachte, darunter Änderungen an:<
+The Merge trat ein, indem es Änderungen an der Konsens-Methode mit sich brachte, darunter Änderungen an:
- Block-Struktur
diff --git a/public/content/translations/de/roadmap/security/index.md b/public/content/translations/de/roadmap/security/index.md
index 9012a859de2..548e51333ac 100644
--- a/public/content/translations/de/roadmap/security/index.md
+++ b/public/content/translations/de/roadmap/security/index.md
@@ -19,9 +19,9 @@ Das Upgrade von [Proof-of-Work](/glossary/#pow) auf Proof-of-Stake nahm damit se
## Angriff abwehren {#defending-against-attacks}
-Es gibt Verbesserungen, die am Proof-of-Stake-Protokoll von Ethereum vorgenommen werden können. Eine davon ist als [View-Merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739) bekannt – ein sicherer [Fork](/glossary/#fork)-Wahlalgorithmus, der bestimmte ausgefeilte Angriffsarten erschwert.
+Es gibt Verbesserungen, die am Proof-of-Stake-Protokoll von Ethereum vorgenommen werden können. Eine davon ist als [View-Merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739) bekannt – ein sicherer [Abspaltungs](/glossary/#fork)-Wahlalgorithmus, der bestimmte ausgefeilte Angriffsarten erschwert.
-Eine Verkürzung der Zeit, die Ethereum für die [Finalisierung](/glossary/#finality) von Blöcken benötigt, würde für eine bessere Benutzererfahrung sorgen. Außerdem würde sie ausgefeilte „Reorg“-Angriffe verhindern, bei denen Angreifer versuchen, kürzlich erstellte Blöcke umzuorganisieren, um Profit zu machen oder bestimmte Transaktionen zu zensieren. [**Einzelplatzfinalität („Single Slot Finality“, SSF)**](/roadmap/single-slot-finality/) ist eine **Möglichkeit zur Minimierung der Finalisierungsverzögerung**. Zurzeit besteht die Möglichkeit, dass ein Angreifer andere Validierer dazu bewegt, Blöcke in einem Zeitraum von 15 Minuten neu zu konfigurieren. Mit SSF ist dieser Zeitrahmen gleich 0. Nutzer, von Einzelpersonen bis hin zu Anwendungen und Börsen, profitieren von der schnellen Gewissheit, dass ihre Transaktionen nicht rückgängig gemacht werden, und das Netzwerk profitiert davon, dass eine ganze Klasse von Angriffen unterbunden wird.
+Eine Verkürzung der Zeit, die Ethereum für die [Finalisierung](/glossary/#finality) von Blöcken benötigt, würde für eine bessere Benutzererfahrung sorgen. Außerdem würde sie ausgefeilte „Reorg“-Angriffe verhindern, bei denen Angreifer versuchen, kürzlich erstellte Blöcke umzuorganisieren, um Profit zu machen oder bestimmte Transaktionen zu zensieren. [**Einzelplatzendgültigkeit („Single Slot Finality“, SSF)**](/roadmap/single-slot-finality/) ist eine **Möglichkeit zur Minimierung der Finalisierungsverzögerung**. Zurzeit besteht die Möglichkeit, dass ein Angreifer andere Validierer dazu bewegt, Blöcke in einem Zeitraum von 15 Minuten neu zu konfigurieren. Mit SSF ist dieser Zeitrahmen gleich 0. Nutzer, von Einzelpersonen bis hin zu Anwendungen und Börsen, profitieren von der schnellen Gewissheit, dass ihre Transaktionen nicht rückgängig gemacht werden, und das Netzwerk profitiert davon, dass eine ganze Klasse von Angriffen unterbunden wird.
Lesen Sie mehr über die Endgültigkeit voneinzelnen Slots
diff --git a/public/content/translations/de/roadmap/verkle-trees/index.md b/public/content/translations/de/roadmap/verkle-trees/index.md
index 373b9e3310e..20abb653934 100644
--- a/public/content/translations/de/roadmap/verkle-trees/index.md
+++ b/public/content/translations/de/roadmap/verkle-trees/index.md
@@ -60,7 +60,7 @@ Verkle Tree Testnetzwerke laufen bereits, aber es sind noch substantielle Update
- [Guillaume Ballet erklärt Verkle Trees bei ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
- ["Wie Verkle Trees Ethereum schlank und super machen" von Guillaume Ballet bei Devcon 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
- [Piper Merriam über zustandsfreie Clients bei ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4)
-- [Dankrad Fiest erklärt Verkle Trees und Zustandslosigkeit im Podcast zu Null-Wissen](https://zeroknowledge.fm/episode-202-stateless-ethereum-verkle-tries-with-dankrad-feist/)
+- [Dankrad Fiest erklärt Verkle Trees und Zustandslosigkeit im Podcast zu Null-Wissen](https://zeroknowledge.fm/podcast/202/)
- [Vitalik Buterin über Verkle Trees](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
- [Dankrad Feist über Verkle Trees](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
- [Verkle Trees EIP Dokumentation](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
diff --git a/public/content/translations/de/smart-contracts/index.md b/public/content/translations/de/smart-contracts/index.md
index e60cfd41951..c2ed5074553 100644
--- a/public/content/translations/de/smart-contracts/index.md
+++ b/public/content/translations/de/smart-contracts/index.md
@@ -69,7 +69,7 @@ Sie können Berechnungen durchführen, Währungen erstellen, Daten speichern, [N
- [Stablecoins](/stablecoins/)
- [Einzigartige digitale Vermögenswerte erstellen und verteilen](/nft/)
- [Ein automatischer, offener Währungsumtausch](/get-eth/#dex)
-- [Dezentralisiertes Gaming](/dapps/?category=gaming#explore)
+- [Dezentralisiertes Gaming](/apps/?category=gaming#explore)
- [Eine Versicherungspolice mit automatisierter Auszahlung](https://etherisc.com/)
- [Ein Standard, der es Menschen ermöglicht, individuelle, interoperable Währungen zu schaffen](/developers/docs/standards/tokens/)
diff --git a/public/content/translations/de/social-networks/index.md b/public/content/translations/de/social-networks/index.md
index 1dcc9ccdf1b..04cfcc71f7b 100644
--- a/public/content/translations/de/social-networks/index.md
+++ b/public/content/translations/de/social-networks/index.md
@@ -23,7 +23,7 @@ Viele dezentrale soziale Netzwerke existieren als Alternative zu schon etabliert
### Wie funktionieren dezentralisierte soziale Netzwerke? {#decentralized-social-networks-overview}
-Dezentralisierte soziale Netzwerke sind eine Art von [dezentralisierten Anwendungen (dapps)](/dapps/), die mit [Smart Contracts](/glossary/#smart-contract) betrieben werden und auf der Blockchain laufen. Der Vertragscode dient als Backend für diese Apps und definiert ihre Geschäftslogik.
+Dezentralisierte soziale Netzwerke sind eine Art von [dezentralisierten Anwendungen (dapps)](/apps/), die mit [Smart Contracts](/glossary/#smart-contract) betrieben werden und auf der Blockchain laufen. Der Vertragscode dient als Backend für diese Apps und definiert ihre Geschäftslogik.
Traditionelle Social-Media-Plattformen basieren auf Datenbanken, um Benutzerinformationen, Programm-Code und andere Datenformen zu speichern. Dies jedoch führt zu immensen Risiken, da diese Systeme Einzelfehlerpunkte haben. Zum Beispiel sind Facebooks Server berüchtigt dafür, im Oktober 2021 [stundenlang offline gegangen zu sein](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact), was Nutzer von der Plattform abschnitt.
diff --git a/public/content/translations/de/staking/solo/index.md b/public/content/translations/de/staking/solo/index.md
index 502e541d281..e7c18c4d7a2 100644
--- a/public/content/translations/de/staking/solo/index.md
+++ b/public/content/translations/de/staking/solo/index.md
@@ -203,4 +203,4 @@ Um Ihr gesamtes Guthaben zu entsperren und zu erhalten, müssen Sie auch den Pro
- [Schritt für Schritt: Wie man dem Ethereum 2.0 Testnetz beitritt](https://kb.beaconcha.in/Guides/Tutorium-eth2-Multi-Client) - _ Butta_
- [Eth2-Slashing-Präventionstipps](https://medium.com/prysmatic-labs/eth2-Slashing-Präventionstipps-f6faa5025f50) – _Raul Jordan 2020 _
-
+
diff --git a/public/content/translations/de/web3/index.md b/public/content/translations/de/web3/index.md
index 58a04255dc1..d02fe1e07aa 100644
--- a/public/content/translations/de/web3/index.md
+++ b/public/content/translations/de/web3/index.md
@@ -139,7 +139,7 @@ Wir stehen erst am Anfang der Entwicklung eines besseren Internets mit Web3, doc
- [Eine Wallet wählen](/wallets/)
- [Eine Community finden](/community/)
-- [Web3-Anwendungen erkunden](/dapps/)
+- [Web3-Anwendungen erkunden](/apps/)
- [Einer DAO beitreten](/dao/)
- [Web3 als Grundlage nutzen](/developers/)
@@ -147,11 +147,11 @@ Wir stehen erst am Anfang der Entwicklung eines besseren Internets mit Web3, doc
Web3 ist nicht starr definiert. Zahlreiche Community-Teilnehmer haben unterschiedliche Ansichten dazu. Hier sind einige von ihnen:
-- [Was ist Web3? Das dezentralisierte Internet der Zukunft erklärt](https://www.freecodecamp.org/news/what-is-web3/) – _Nader Dabit_
+- [Was ist Web3? Das dezentralisierte Internet der Zukunft erklärt](https://www.freecodecamp.org/news/what-is-web3) – _Nader Dabit_
- [Sinnhaftigkeit von Web3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) _, Josh Stark_
- [Warum Web3 wichtig ist](https://future.a16z.com/why-web3-matters/) – _Chris Dixon_
- [Warum Dezentralisierung wichtig ist](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) – _Chris Dixon_
- [Die Web3-Landschaft](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
-- [Die Web3-Debatte](https://www.notboring.co/p/the-web3-debate?s=r) – _Packy McCormick_
+- [Die Web3-Debatte](https://www.notboring.co/p/the-web3-debate) – _Packy McCormick_
diff --git a/public/content/translations/de/whitepaper/index.md b/public/content/translations/de/whitepaper/index.md
new file mode 100644
index 00000000000..e1f2fb70017
--- /dev/null
+++ b/public/content/translations/de/whitepaper/index.md
@@ -0,0 +1,517 @@
+---
+title: Ethereum Whitepaper
+description: Eine einleitende Arbeit zu Ethereum, veröffentlicht im Jahr 2013 vor seiner Einführung.
+lang: de
+sidebarDepth: 2
+hideEditButton: true
+---
+
+# Ethereum Whitepaper {#ethereum-whitepaper}
+
+_Diese einleitende Arbeit wurde ursprünglich 2014 von Vitalik Buterin, dem Gründer von [Ethereum](/what-is-ethereum/), vor dem Projektstart im Jahr 2015 veröffentlicht. Es ist erwähnenswert, dass sich Ethereum, wie viele gemeinschaftlich gesteuerte Open-Source-Softwareprojekte, seit seiner anfänglichen Einführung weiterentwickelt hat._
+
+_Obwohl diese Arbeit schon einige Jahre alt ist, pflegen wir sie nach wie vor, weil sie weiterhin als nützliche Referenz und präzise Darstellung von Ethereum und seiner Vision dient. Um mehr über die neuesten Entwicklungen von Ethereum und dazu zu erfahren, wie Änderungen am Protokoll vorgenommen werden, empfehlen wir [diese Anleitung](/learn/)._
+
+[Forscher und Akademiker, die eine historische oder kanonische Version des Whitepapers [vom Dezember 2014] suchen, sollten diese PDF-Datei verwenden.](./whitepaper-pdf/Ethereum_Whitepaper_-_Buterin_2014.pdf)
+
+## Eine Plattform der nächsten Generation für Smart Contracts und dezentralisierte Anwendungen {#a-next-generation-smart-contract-and-decentralized-application-platform}
+
+Satoshi Nakamotos Entwicklung von Bitcoin im Jahr 2009 wurde oft als radikale Weiterentwicklung von Geld und Währung gefeiert, da es sich dabei um das erste Beispiel eines digitalen Assets handelt, das weder eine Besicherung noch einen "[intrinsischen Wert](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)" oder einen zentralisierten Herausgeber oder Kontrolleur hat. Ein anderer, wohl wichtigerer Teil des Bitcoin-Experiments ist jedoch die zugrunde liegende Blockchain-Technologie als Instrument des verteilten Konsenses, und so verlagert sich die Aufmerksamkeit rasch auf diesen anderen Aspekt von Bitcoin. Zu den häufig zitierten alternativen Anwendungen der Blockchain-Technologie gehören die Verwendung digitaler Assets auf der Blockchain zur Darstellung benutzerdefinierter Währungen und Finanzinstrumente („[Colored Coins](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)“), das Eigentum an einem zugrunde liegenden physischen Gerät („[Smart Property](https://en.bitcoin.it/wiki/Smart_Property)“), nicht vertretbare Assets wie Domänennamen („[Namecoin](http://namecoin.org)“) sowie komplexere Anwendungen, bei denen digitale Assets direkt von einem Stück Code kontrolliert und beliebige Regeln ("[Smart Contracts](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)") oder sogar Blockchain-basierte „[dezentralisierte autonome Organisationen](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)“ (DAOs) implementiert werden. Ethereum beabsichtigt, eine Blockchain mit einer eingebauten, vollwertigen, Turing-kompletten Programmiersprache bereitzustellen, die zur Erstellung von „Verträgen“ verwendet werden kann, mit denen beliebige Statusübergangsfunktionen kodiert werden können, so dass Benutzer jedes der oben beschriebenen Systeme sowie viele andere, die wir uns noch nicht vorstellen können, erstellen können. Dazu muss nur eine entsprechende Logik in ein paar Zeilen Code geschrieben werden.
+
+## Einführung in Bitcoin und bestehende Konzepte {#introduction-to-bitcoin-and-existing-concepts}
+
+### Historie {#history}
+
+Das Konzept der dezentralisierten digitalen Währung sowie alternativer Anwendungen wie Eigentumsregistern gibt es seit Jahrzehnten. Die anonymen E-Cash-Protokolle der 1980er und 1990er Jahre, die sich hauptsächlich auf ein kryptografisches Primitiv stützten, das als Chaumian Blinding bekannt ist, boten eine Währung mit einem hohen Maß an Datenschutz, aber die Protokolle konnten sich aufgrund ihrer Abhängigkeit von einem zentralisierten Vermittler größtenteils nicht durchsetzen. 1998 war Wei Dais [b-money](http://www.weidai.com/bmoney.txt) der erste Vorschlag, der die Idee der Geldschöpfung durch das Lösen von Rechenrätseln und einen dezentralen Konsens vorstellte, aber der Vorschlag enthielt nur wenige Details darüber, wie der dezentralisiertee Konsens tatsächlich umgesetzt werden könnte. 2005 stellte Hal Finney das Konzept der „[wiederverwendbaren Proofs of Work](https://nakamotoinstitute.org/finney/rpow/)“ vor, ein System, das Ideen von b-money zusammen mit Adam Backs schwierig zu berechnenden Hashcash-Puzzles verwendet, um ein Konzept für eine Kryptowährung zu schaffen, aber auch hier blieb es hinter dem Ideal zurück, da es sich auf vertrauenswürdige Rechner als Backend stützte. 2009 setzte Satoshi Nakamoto zum ersten Mal eine dezentralisierte Währung durch die Kombination von Kryptografie mit öffentlichem Schlüssel und einem Konsensalgorithmus zur Nachverfolgung der Eigentumsverhältnisse von Coins, dem sogenannten „Proof-of-Work“, in die Praxis umgesetzt.
+
+Der Mechanismus hinter Proof-of-Work war ein Durchbruch in diesem Bereich, da er zwei Probleme gleichzeitig löste. Erstens bot er einen einfachen und einigermaßen effektiven Konsensalgorithmus, der es den Knoten im Netzwerk ermöglichte, sich gemeinsam auf eine Reihe kanonischer Aktualisierungen des Status des Bitcoin-Ledgers zu einigen. Zweitens wurde ein Mechanismus bereitgestellt, der den freien Eintritt in den Konsensprozess ermöglicht und das politische Problem der Entscheidung darüber, wer den Konsens beeinflussen darf, löst, während gleichzeitig Sybil-Angriffe verhindert werden. Dies geschieht, indem eine formale Barriere für die Teilnahme, wie z. B. das Erfordernis, als eindeutige Einheit auf einer bestimmten Liste registriert zu sein, durch eine wirtschaftliche Barriere ersetzt wird – das Gewicht eines einzelnen Knotens im Konsensabstimmungsprozess ist direkt proportional zur Rechenleistung, die der Knoten bereitstellt. Seitdem wurde ein alternativer Ansatz namens _Proof-of-Stake_ vorgeschlagen, bei dem die Gewichtung eines Knotens proportional zu seinen Währungsbeständen und nicht zu seinen Rechenressourcen erfolgt; die Erörterung der relativen Vorzüge der beiden Ansätze würde den Rahmen dieser Arbeit sprengen, aber es sei darauf hingewiesen, dass beide Ansätze als Rückgrat einer Kryptowährung dienen können.
+
+### Bitcoin als Statusübergangssystem {#bitcoin-as-a-state-transition-system}
+
+
+
+Aus technischer Sicht kann man sich das Ledger einer Kryptowährung wie Bitcoin als ein Statusübergangssystem vorstellen, bei dem es einen „Status“ gibt, der aus dem Eigentumsstatus aller vorhandenen Bitcoins besteht, und eine „Statusübergangsfunktion“, die einen Status und eine Transaktion annimmt und einen neuen Status als Ergebnis ausgibt. In einem Standard-Banksystem beispielsweise ist der Status eine Bilanzaufstellung, eine Transaktion ist eine Anforderung, X $ von A nach B zu verschieben, und die Statusübergangsfunktion verringert den Wert auf dem Konto von A um X $ und erhöht den Wert auf dem Konto von B um X $. Wenn das Konto von A von vornherein weniger als X $ aufweist, gibt die Statusfunktion einen Fehler zurück. Daher kann man formell definieren:
+
+```
+APPLY(S,TX) -> S' or ERROR
+```
+
+In dem oben definierten Bankensystem:
+
+```js
+APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }
+```
+
+Aber:
+
+```js
+APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
+```
+
+Der „Status“ in Bitcoin ist die Sammlung aller Münzen (technisch gesehen „unverbrauchte Transaktionsausgaben“ oder UTXO), die geprägt und noch nicht ausgegeben wurden, wobei jede UTXO einen Nennwert und einen Eigentümer hat (definiert durch eine 20-Byte-Adresse, die im Wesentlichen ein kryptografischer öffentlicher Schlüssel ist[fn1](#notes)). Eine Transaktion enthält eine oder mehrere Eingaben, wobei jede Eingabe eine Referenz auf einen bestehenden UTXO und eine kryptografische Signatur enthält, die durch den privaten Schlüssel erzeugt wurde, der mit der Adresse des Eigentümers verknüpft ist, sowie eine oder mehrere Ausgaben, wobei jede Ausgabe einen neuen UTXO enthält, der dem Status hinzugefügt werden soll.
+
+Die Statusübergangsfunktion `APPLY(S,TX) -> S'` kann in etwa wie folgt definiert werden:
+
+
+ -
+ Für jede Eingabe in
TX:
+
+ -
+ Wenn der referenzierte UTXO nicht in
S ist, wird ein Fehler zurückgegeben.
+
+ -
+ Wenn die angegebene Signatur nicht mit dem Eigentümer des UTXO übereinstimmt, wird ein Fehler zurückgegeben.
+
+
+
+ -
+ Wenn die Summe der Nennwerte aller Eingangs-UTXO kleiner ist als die Summe der Nennwerte aller Ausgangs-UTXO, wird ein Fehler zurückgegeben.
+
+ -
+
S ausgeben, wobei alle Eingangs-UTXO entfernt und alle Ausgangs-UTXO hinzugefügt wurden.
+
+
+
+Die erste Hälfte des ersten Schritts verhindert, dass Transaktionsabsender, Coins auszugeben, die nicht existieren, die zweite Hälfte des ersten Schritts verhindert, dass Transaktionsabsender Coins anderer ausgeben, und der zweite Schritt erzwingt die Erhaltung des Werts. Um dies für die Zahlung zu nutzen, sieht das Protokoll wie folgt aus. Angenommen, Alice möchte 11,7 BTC an Bob senden. Zunächst sucht Alice nach einem Satz verfügbarer UTXO, deren Eigentümer sie ist und die mindestens 11,7 BTC ausmachen. Realistisch betrachtet wird Alice nicht in der Lage sein, genau 11,7 BTC zu erhalten; sagen wir, das Mindeste, das sie erhalten kann, ist 6 + 4 + 2 = 12. Sie erstellt dann eine Transaktion mit diesen drei Eingaben und zwei Ausgaben. Die erste Ausgabe sind 11,7 BTC mit Bobs Adresse als Eigentümer und die zweite Ausgabe sind die restlichen 0,3 BTC „Wechselgeld“, deren Eigentümer Alice selbst ist.
+
+### Mining {#mining}
+
+
+
+Wenn wir Zugang zu einem vertrauenswürdigen zentralisierten Dienst hätten, wäre dieses System leicht zu implementieren; es könnte einfach genau wie beschrieben kodiert werden, wobei die Festplatte eines zentralisierten Servers verwendet wird, um den Status zu verfolgen. Da wir jedoch mit Bitcoin versuchen, ein dezentralisiertes Währungssystem aufzubauen, müssen wir das Status-Transaktionssystem mit einem Konsenssystem kombinieren, um sicherzustellen, dass alle über die Reihenfolge der Transaktionen übereinstimmen. Der dezentralisierte Konsensprozess von Bitcoin erfordert, dass die Knoten im Netzwerk kontinuierlich versuchen, Pakete von Transaktionen, sogenannte „Blöcke“, zu erzeugen. Das Netzwerk ist darauf ausgelegt, ungefähr alle zehn Minuten einen Block zu erzeugen, wobei jeder Block einen Zeitstempel, eine Nonce, einen Verweis auf den vorherigen Block (also den entsprechenden Hash) und eine Liste aller Transaktionen enthält, die seit dem vorherigen Block stattgefunden haben. Im Laufe der Zeit entsteht so eine persistente, ständig wachsende „Blockchain“, die sich kontinuierlich aktualisiert, um den neuesten Status des Bitcoin-Ledgers darzustellen.
+
+Der Algorithmus zur Überprüfung der Gültigkeit eines Blocks, ausgedrückt in diesem Paradigma, lautet wie folgt:
+
+1. Prüfen, ob der vorherige Block, auf den der Block verweist, existiert und gültig ist.
+2. Prüfen, ob der Zeitstempel des Blocks größer ist als der des vorherigen Blocks[fn2](#notes) und weniger als 2 Stunden in der Zukunft liegt.
+3. Prüfen, ob der Proof-of-Work des Blocks gültig ist.
+4. Der Status am Ende des vorherigen Blocks soll `S[0]` lauten.
+5. Annehmen, dass `TX` die Transaktionsliste des Blocks mit `n` Transaktionen ist. Für alle `i` in `0...n-1` `S[i+1] = APPLY(S[i],TX[i])` festlegen. Falls eine Anwendung einen Fehler zurückgibt, abbrechen und „false“ zurückgeben.
+6. „true“ zurückgeben und `S[n]` als den Status am Ende dieses Blocks registrieren.
+
+Im Wesentlichen muss jede Transaktion im Block einen gültigen Statusübergang von dem ursprünglich kanonischen Status vor der Ausführung der Transaktion zu einem neuen Status bereitstellen. Beachten Sie, dass der Status auf keine Weise im Block kodiert ist; er ist eine reine Abstraktion, die sich der validierende Knoten merken muss und die nur (sicher) für einen Block berechnet werden kann, indem man vom Genesis-Status ausgeht und jede Transaktion in jedem Block nacheinander anwendet. Zusätzlich sei darauf hingewiesen, dass die Reihenfolge, in der der Miner Transaktionen in den Block einfügt, wichtig ist; wenn es zwei Transaktionen A und B in einem Block gibt, wobei B einen von A geschaffenen UTXO ausgibt, ist der Block gültig, wenn A vor B kommt, aber nicht umgekehrt.
+
+Die einzige Gültigkeitsbedingung in der obigen Liste, die in anderen Systemen nicht vorkommt, ist die Erfordernis eines „Proof-of-Work“. Die genaue Bedingung ist, dass der Doppel-SHA256-Hash jedes Blocks, der als 256-Bit-Zahl behandelt wird, kleiner sein muss als ein dynamisch angepasstes Ziel, das zum Zeitpunkt der Erstellung dieses Dokuments ungefähr 2187 beträgt. Damit soll die Erstellung von Blöcken rechnerisch „erschwert“ werden, um zu verhindern, dass Sybill-Angreifer die gesamte Blockchain zu ihren Gunsten umgestalten. Da SHA256 als eine völlig unvorhersehbare Pseudozufallsfunktion konzipiert ist, kannst du einen gültigen Block nur durch Ausprobieren erstellen. Dabei erhöhst du wiederholt die Nonce und prüfst, ob der neue Hash passt.
+
+Bei der derzeitigen Zielvorgabe von ca. 2187 muss das Netz durchschnittlich ca. 269 Versuche unternehmen, bis ein gültiger Block gefunden wird; im Allgemeinen wird die Zielvorgabe vom Netzwerk alle 2016 Blöcke neu kalibriert, sodass im Durchschnitt alle zehn Minuten ein neuer Block von einem Knoten im Netzwerk erzeugt wird. Um die Miner für diese Rechenarbeit zu entschädigen, ist der Miner eines jeden Blocks berechtigt, eine Transaktion hinzuzufügen, die ihm 25 BTC aus dem Nichts zuweist. Außerdem: Wenn bei einer Transaktion der Gesamtnennwert in ihren Eingaben höher ist als in ihren Ausgaben, geht die Differenz als „Transaktionsgebühr“ ebenfalls an den Miner. Übrigens ist dies auch der einzige Mechanismus, mit dem BTC ausgegeben werden; der Genesis-Status enthielt überhaupt keine Coins.
+
+Um den Zweck des Minings besser zu verstehen, wollen wir untersuchen, was im Falle eines böswilligen Angreifers passiert. Da die Bitcoin zugrunde liegende Kryptografie bekanntermaßen sicher ist, wird der Angreifer auf den einen Teil des Bitcoin-Systems abzielen, der nicht direkt durch Kryptografie geschützt ist: die Reihenfolge der Transaktionen. Die Strategie des Angreifers ist einfach:
+
+1. 100 BTC an einen Händler im Austausch für ein Produkt (bevorzugterweise schnell lieferbar und digital) senden
+2. Auf die Lieferung des Produkts warten
+3. Eine weitere Transaktion durchführen, die dieselben 100 BTC an ihn selbst sendet
+4. Versuchen, das Netzwerk davon zu überzeugen, dass seine Transaktion an sich selbst zuerst kam.
+
+Sobald Schritt (1) erfolgt ist, nimmt nach ein paar Minuten ein Miner die Transaktion in einen Block auf, beispielsweise in Block Nummer 270000. Nach etwa einer Stunde werden der Kette nach diesem Block fünf weitere Blöcke hinzugefügt worden sein, wobei jeder dieser Blöcke indirekt auf die Transaktion verweist und sie somit „bestätigt“. An diesem Punkt akzeptiert der Händler die Zahlung als abgeschlossen und liefert das Produkt; da wir davon ausgehen, dass es sich um eine digitale Ware handelt, erfolgt die Lieferung sofort. Nun erstellt der Angreifer eine weitere Transaktion, die die 100 BTC an ihn selbst sendet. Wenn der Angreifer sie einfach in die freie Wildbahn entlässt, wird die Transaktion nicht verarbeitet; Miner werden versuchen, `APPLY(S,TX)` auszuführen, und feststellen, dass `TX` ein UTXO verbraucht, das sich nicht mehr im Status befindet. Stattdessen erstellt der Angreifer eine „Abspaltung“ der Blockchain, indem er zu Beginn eine andere Version von Block 270000 mint, die auf denselben Block 269999 als übergeordneten Block verweist, aber mit der neuen Transaktion anstelle der alten. Da die Blockdaten unterschiedlich sind, muss der Proof-of-Work neu erstellt werden. Außerdem hat die neue Version des Blocks 270000 des Angreifers einen anderen Hash, sodass die ursprünglichen Blöcke 270001 bis 270005 nicht auf ihn „verweisen“; somit sind die ursprüngliche Kette und die neue Kette des Angreifers völlig getrennt. Die Regel besagt, dass bei einer Abspaltung die längste Blockchain als Wahrheit angesehen wird, sodass legitime Minder an der Kette 270005 arbeiten, während der Angreifer allein an der Kette 270000 arbeitet. Damit der Angreifer seine Blockchain zur längsten machen kann, müsste er über mehr Rechenleistung verfügen als der Rest des Netzwerks zusammen, um aufholen zu können (daher „51-%-Attacke“).
+
+### Merkle Trees {#merkle-trees}
+
+
+
+_Links: Es reicht aus, nur eine kleine Anzahl von Knoten in einem Merkle Tree zu präsentieren, um die Gültigkeit eines Zweiges zu beweisen._
+
+_Rechts: Jeder Versuch, irgendeinen Teil des Merkle Tree zu ändern, führt letztendlich zu einer Inkonsistenz irgendwo in der Kette._
+
+Eine wichtige Eigenschaft der Skalierbarkeit von Bitcoin ist, dass der Block in einer mehrstufigen Datenstruktur gespeichert wird. Der „Hash“ eines Blocks ist eigentlich nur der Hash des Block-Headers, ein etwa 200 Byte großes Datenstück, das den Zeitstempel, die Nonce, den vorherigen Blocks-Hash und den Root-Hash einer Datenstruktur namens Merkle Tree enthält, der alle Transaktionen des Blocks speichert. Ein Merkle Tree ist eine Art Binärbaum, der aus einer Reihe von Knoten besteht. An einem Ende des Baumes befinden sich zahlreiche Blattknoten, die die zugrunde liegenden Daten enthalten. Dazwischen liegt eine Menge von Zwischenknoten, wobei jeder dieser Knoten der Hash seiner beiden untergeordneten Knoten ist. Am anderen Ende des Baumes befindet sich schließlich ein einzelner Wurzelknoten, ebenfalls aus dem Hash seiner beiden untergeordneten Knoten gebildet. Dieser Steht für die „Spitze“ des Baumes. Der Zweck des Merkle Tree besteht darin, dass die Daten eines Blocks stückweise geliefert werden können: Ein Knoten kann nur den Header eines Blocks aus einer Quelle herunterladen, den kleinen Teil des Baums, der für ihn relevant ist, aus einer anderen Quelle und dabei trotzdem sicher sein, dass alle Daten korrekt sind. Der Grund, warum dies funktioniert, ist, dass Hashes nach oben weitergegeben werden: Wenn ein böswilliger Benutzer versucht, eine gefälschte Transaktion am unteren Ende eines Merkle Trees einzutragen, führt diese Änderung zu einer Änderung des darüber liegenden Knotens und dann zu einer Änderung des darüber liegenden Knotens, wodurch schließlich die Wurzel des Baums und damit der Hash des Blocks geändert wird, was dazu führt, dass das Protokoll ihn als einen völlig anderen Block registriert (mit ziemlicher Sicherheit mit einem ungültigen Proof-of-Work).
+
+Das Merkle Tree-Protokoll ist für die langfristige Nachhaltigkeit wohl unerlässlich. Ein „voller Knoten“ im Bitcoin-Netzwerk, also einer, der die Gesamtheit aller Blöcke speichert und verarbeitet, beansprucht im April 2014 etwa 15 GB Speicherplatz im Bitcoin-Netzwerk und wächst jeden Monat um über ein Gigabyte. Derzeit ist dies für einige Desktop-Computer und nicht für Smartphones machbar, und in Zukunft werden nur Unternehmen und Hobbybegeisterte teilnehmen können. Ein Protokoll, das als „vereinfachte Zahlungsverifizierung“ (SPV; Simplified Payment Verification) bekannt ist, ermöglicht die Existenz einer weiteren Klasse von Knoten, den sogenannten „leichten Knoten“, die die Block-Header herunterladen, den Proof-of-Work auf den Block-Headern überprüfen und dann nur die „Zweige“ herunterladen, die mit den für sie relevanten Transaktionen verbunden sind. Dadurch können leichte Knoten mit einer hohen Sicherheitsgarantie den Status jeder Bitcoin-Transaktion und ihren aktuellen Saldo ermitteln, während sie nur einen sehr kleinen Teil der gesamten Blockchain herunterladen.
+
+### Alternative Blockchain-Anwendungen {#alternative-blockchain-applications}
+
+Die Idee, den Grundgedanken der Blockchain auf andere Konzepte zu übertragen, hat ebenfalls eine lange Geschichte. 2005 veröffentlichte Nick Szabo das Konzept von „[sicheren Eigentumstiteln mit Eigentümerauthorität](https://nakamotoinstitute.org/secure-property-titles/)“ – ein Dokument, welches beschreibt, wie „neue Fortschritte in der replizierten Datenbanktechnologie“ ein Blockchain-basiertes Sytem für die Speicherung eines Registers darüber, wer der Eigentümer wovon ist, ermöglichen, wobei ein ausgeklügeltes Framework mit Konzepten wie Homesteading, Adverse Possession und georgischer Grundsteuer geschaffen wird. Leider gab es zu dieser Zeit kein effektives repliziertes Datenbanksystem, sodass das Protokoll nie in die Praxis umgesetzt wurde. Nach 2009, nachdem der dezentralisierte Konsens von Bitcoin entwickelt wurde, entstand jedoch schnell eine Reihe von alternativen Anwendungen.
+
+- **Namecoin** – [Namecoin](https://namecoin.org/) wurde 2010 erschaffen und lässt sich am besten als eine dezentralisierte Datenbank zur Namensregistrierung beschrieben. In dezentralen Protokollen wie Tor, Bitcoin und BitMessage muss es eine Möglichkeit geben, Konten zu identifizieren, damit andere Leute mit ihnen interagieren können. Aber in allen bisherigen Lösungen ist der einzige verfügbare Identifikator ein pseudo-zufälliger Hash wie `1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy`. Im Idealfall möchte man ein Konto mit einem Namen wie „george“ haben können. Das Problem ist jedoch, dass, wenn eine Person ein Konto mit dem Namen „george“ einrichten kann, eine andere Person das gleiche Verfahren nutzen kann, um sich ebenfalls als „george“ zu registrieren und sich als diese Person auszugeben. Die einzige Lösung ist ein First-to-File-Paradigma, bei dem der erste Registrant erfolgreich ist und der zweite scheitert – ein Problem, das sich perfekt für das Bitcoin-Konsensprotokoll eignet. Namecoin ist die älteste und erfolgreichste Implementierung eines Namensregistrierungssystems, das auf einer solchen Idee beruht.
+- **Colored Coins** – [Colored Coins](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit) dienen als Protokoll, das die Möglichkeit bietet, eine eigene digitale Währung zu erschaffen oder – in dem wichtigen trivialen Fall einer Währung mit einer Einheit – digitale Token, auf der Bitcoin-Blockchain. Im Colored-Coins-Protokoll wird eine neue Währung „veröffentlicht“, indem man einem bestimmten Bitcoin-UTXO öffentlich eine Farbe zuweist. Das Protokoll definiert rekursiv die Farbe anderer UTXO als die gleiche wie die der Eingaben, die die Transaktion ausgegeben hat, welche diese erzeugte (bei Eingaben mit gemischten Farben gelten einige spezielle Regeln). Dies ermöglicht es den Benutzern, Wallets zu verwalten, die nur UTXO einer bestimmten Farbe enthalten, und sie wie ähnlich wie reguläre Bitcoins zu versenden und über die Blockchain zurückzuverfolgen, um die Farbe eines UTXO zu ermitteln, den sie erhalten haben.
+- **Metacoins** – die Idee hinter Metacoin ist ein Protokoll, das auf Bitcoin aufbaut und Bitcoin-Transaktionen nutzt, um Metacoin-Transaktionen mit einer anderen Statusübergangsfunktion zu speichern: `APPLY'`. Da das Metacoin-Protokoll nicht verhindern kann, dass ungültige Metacoin-Transaktionen in der Bitcoin-Blockchain auftreten, wird eine Regel hinzugefügt, die besagt, dass, wenn `APPLY'(S,TX)` einen Fehler zurückgibt, das Protokoll standardmäßig auf `APPLY'(S,TX) = S` festgelegt wird. Dies bietet einen einfachen Mechanismus zur Erstellung eines willkürlichen Kryptowährungsprotokolls, möglicherweise mit fortgeschrittenen Funktionen, die nicht in Bitcoin selbst implementiert werden können, jedoch mit sehr geringen Entwicklungskosten, da die Komplexität des Minings und der Vernetzung bereits durch das Bitcoin-Protokoll verarbeitet wird. Metacoins wurden verwendet, um einige Klassen von Finanzverträgen, Namensregistrierung und dezentralisierten Austausch zu implementieren.
+
+Im Allgemeinen gibt es also zwei Ansätze für den Aufbau eines Konsensprotokolls: Aufbau eines unabhängigen Netzwerks und Aufbau eines Protokolls auf Bitcoin. Der erste Ansatz, der bei Anwendungen wie Namecoin zwar einigermaßen erfolgreich war, ist schwer umzusetzen; jede einzelne Implementierung muss eine unabhängige Blockchain starten sowie den gesamten notwendigen Code für Statusübergänge und Netzwerkverbindungen entwickeln und testen. Außerdem prognostizieren wir, dass die Menge an Anwendungen für die Technologie des dezentralisierten Konsenses einer Potenzgesetzverteilung folgen wird, bei der die überwiegende Mehrheit der Anwendungen für eine eigene Blockchain zu klein sein wird, und stellen fest, dass es große Klassen von dezentralisierten Anwendungen gibt, insbesondere autonome dezentralisierte Organisationen, die miteinander interagieren müssen.
+
+Der Bitcoin-basierte Ansatz hat hingegen den Nachteil, dass er nicht die vereinfachten Zahlungsüberprüfungsfunktionen von Bitcoin übernimmt. SPV funktioniert für Bitcoin, weil es die Tiefe der Blockchain als Proxy für die Gültigkeit nutzen kann; sobald die Vorgänger einer Transaktion weit genug zurückliegen, kann davon ausgegangen werden, dass sie rechtmäßig Teil des Status waren. Blockchain-basierte Meta-Protokolle hingegen können die Blockchain nicht zwingen, Transaktionen nicht aufzunehmen, die im Kontext ihrer eigenen Protokolle nicht gültig sind. Daher müsste eine vollständig sichere SPV-Meta-Protokoll-Implementierung eine Rückwärtssuche bis zum Anfang der Bitcoin-Blockchain durchführen, um festzustellen, ob bestimmte Transaktionen gültig sind. Derzeit verlassen sich alle „leichten“ Implementierungen von Bitcoin-basierten Meta-Protokollen auf einen vertrauenswürdigen Server, um die Daten bereitzustellen, was insbesondere angesichts des Hauptziels einer Kryptowährung, Vertrauen überflüssig zu machen, als sehr suboptimal anzusehen ist.
+
+### Scripting {#scripting}
+
+Auch ohne jegliche Erweiterungen ermöglicht das Bitcoin-Protokoll tatsächlich eine schwache Version des Konzepts der „Smart Contracts“. Das Eigentum an UTXO in Bitcoin kann nicht nur durch einen öffentlichen Schlüssel, sondern auch durch ein kompliziertes Skript, das in einer einfachen Stack-basierten Programmiersprache geschrieben ist, erreicht werden. In diesem Paradigma muss eine Transaktion, die diesen UTXO ausgibt, Daten bereitstellen, die den Anforderungen des Scripts entsprechen. Tatsächlich wird sogar der grundlegende Mechanismus zum Eigentum an öffentlichen Schlüsseln über ein Skript implementiert: Das Skript nimmt eine elliptische Kurvensignatur als Eingabe, verifiziert sie gegen die Transaktion und die Adresse, die Eigentümer des UTXO ist, und gibt 1 zurück, wenn die Verifizierung erfolgreich war, bzw. andernfalls 0. Andere, kompliziertere Skripte gibt es für verschiedene zusätzliche Anwendungsfälle. Zum Beispiel kann man ein Script erstellen, das zur Validierung Signaturen von zwei von drei vorgegebenen privaten Schlüsseln erfordert („Multisig“) – eine Konfiguration, die für Firmenkonten, sichere Sparkonten und einige Treuhandszenarien für Händler nützlich ist. Skripte können auch verwendet werden, um Kopfgelder für Lösungen zu Berechnungsproblemen zu zahlen, und man kann sogar ein Skript erstellen, das so etwas sagt wie „dieser Bitcoin-UTXO gehört Ihnen, wenn Sie einen SPV-Nachweis darüber erbringen können, dass Sie mir eine Dogecoin-Transaktion dieses Nennwerts gesendet haben“, was im Wesentlichen einen dezentralisierten übergreifenden Kryptowährungstausch ermöglicht.
+
+Die Skriptsprache, wie sie in Bitcoin implementiert ist, hat jedoch mehrere wichtige Einschränkungen:
+
+- **Mangel an Turing-Completeness** – das heißt, dass die Bitcoin-Skriptsprache zwar eine große Teilmenge von Berechnungen unterstützt, aber nicht annähernd alle. Die Hauptkategorie, die fehlt, sind Schleifen. Dies geschieht zur Vermeidung von Endlosschleifen während der Transaktionsverifizierung; theoretisch ist dies ein überwindbares Hindernis für Skriptprogrammierer, da jede Schleife simuliert werden kann, indem man den zugrunde liegenden Code einfach mehrmals mit einer if-Aussage wiederholt, aber dies führt zu Skripten, die sehr ineffizient im Platzverbrauch sind. Zum Beispiel würde die Implementierung eines alternativen Signaturalgorithmus für elliptische Kurven wahrscheinlich 256 wiederholte Multiplikationsrunden erfordern, die alle einzeln im Code enthalten sind.
+- **Werteblindheit** – es gibt keine Möglichkeit für ein UTXO-Skript, eine feingranulare Kontrolle über den Betrag zu ermöglichen, der abgehoben werden kann. Zum Beispiel wäre ein leistungsfähiges Anwendungsbeispiel für einen Oracle-Vertrag ein Hedging-Vertrag, bei dem A und B BTC im Wert von 1000 $ einbringen und nach 30 Tagen das Skript 1000 $ in BTC an A und den Rest an B sendet. Dafür wäre ein Oracle erforderlich, um den Wert von 1 BTC in USD zu bestimmen, aber selbst dann stellt es eine massive Verbesserung in Bezug auf Vertrauen und Infrastrukturanforderungen gegenüber den vollständig zentralisierten Lösungen dar, die jetzt verfügbar sind. Allerdings ist dies aufgrund der Tatsache, dass UTXO nicht teilbar sind, nur durch einen sehr ineffizienten Kniff möglich. Dabei werden viele UTXO mit unterschiedlichen Nennwerten erstellt (z. B. ein UTXO mit dem Wert 2k für jedes k bis 30). Der Oracle entscheidet dann, welcher UTXO an A und welcher an B geschickt wird.
+- **Nicht vorhandener Status** – UTXO können entweder ausgegeben oder nicht ausgegeben sein; es gibt keine Möglichkeit für mehrstufige Verträge oder Skripte, die einen anderen internen Status als diesen speichern. Dies erschwert die Erstellung von mehrstufigen Optionskontrakten, dezentralisierten Austauschangeboten oder zweistufigen kryptografischen Commitment-Protokollen (notwendig für sichere Berechnungskopfgelder). Es bedeutet auch, dass UTXO nur verwendet werden können, um einfache, einmalige Verträge zu erstellen und keine komplexeren „statusbehafteten“ Verträge wie dezentralisierte Organisationen, und die Implementierung von Meta-Protokollen wird erschwert. Ein binärer Status in Verbindung mit Werteblindheit bedeutet auch, dass eine weitere wichtige Anwendung, nämlich Abhebungslimits, unmöglich ist.
+- **Blockchain-Blindheit** – UTXO sind blind für Blockchain-Daten wie die Nonce, den Zeitstempel und den vorherigen Block-Hash. Dies schränkt Anwendungen im Glücksspiel und in mehreren anderen Kategorien erheblich ein, da der Skriptsprache eine potenziell wertvolle Quelle der Zufälligkeit entzogen wird.
+
+Es gibt also drei Ansätze für die Entwicklung fortschrittlicher Anwendungen auf der Grundlage von Kryptowährungen: der Aufbau einer neuen Blockchain, die Verwendung von Skripten auf Bitcoin und der Aufbau eines Meta-Protokolls auf Bitcoin. Der Aufbau einer neuen Blockchain bietet unbegrenzte Freiheit bei der Entwicklung von Funktionssätzen, allerdings auf Kosten von Entwicklungszeit, Bootstrapping-Aufwand und Sicherheit. Scripting ist leicht zu implementieren und zu standardisieren, hat jedoch nur sehr begrenzte Möglichkeiten, und Meta-Protokolle haben trotz ihrer Einfachheit Probleme mit der Skalierbarkeit. Mit Ethereum wollen wir ein alternatives Framework schaffen, das sowohl die Entwicklungsfreundlichkeit erheblich verbessert als auch die Eigenschaften für leichte Clients weiter stärkt, während es Anwendungen gleichzeitig ermöglicht, eine gemeinsame wirtschaftliche Umgebung und die Sicherheit der Blockchain zu nutzen.
+
+## Ethereum {#ethereum}
+
+Die Absicht von Ethereum besteht darin, ein alternatives Protokoll zur Erstellung dezentralisierter Anwendungen zu entwickeln, das eine andere Reihe von Kompromissen bietet, die unserer Überzeugung nach für eine große Anzahl von dezentralisierten Anwendungen sehr nützlich sein werden. Besonderer Fokus liegt dabei auf Situationen, in denen schnelle Entwicklungszeiten, Sicherheit für kleine und selten genutzte Anwendungen und die Möglichkeit, dass verschiedene Anwendungen sehr effizient interagieren, wichtig sind. Ethereum erreicht dies, indem es im Wesentlichen die ultimative abstrakte Basisschicht aufbaut: eine Blockchain mit einer eingebauten Turing-kompletten Programmiersprache, die es jedem ermöglicht, Smart Contracts und dezentralisierte Anwendungen zu schreiben, in denen man seine eigenen beliebigen Regeln für Eigentumsverhältnisse, Transaktionsformate und Statusübergangsfunktionen festlegen kann. Eine stark vereinfachte Version von Namecoin lässt sich in zwei Codezeilen schreiben, und andere Protokolle wie Währungen und Reputationssysteme können in weniger als zwanzig Zeilen entwickelt werden. Smart Contracts, kryptografische „Boxen“, die einen Wert enthalten und ihn nur freigeben, wenn bestimmte Bedingungen erfüllt sind, können auch auf der Plattform aufgebaut werden – aufgrund der zusätzlichen Leistung von Turing-Completeness, Wertbewusstsein, Blockchain-Bewusstsein und Status mit weitaus mehr Leistung als bei Bitcoin-Skripten.
+
+### Ethereum-Konten {#ethereum-accounts}
+
+In Ethereum wird der Status durch Objekte namens „Konten“ gebildet. Jedes Konto hat eine 20-Byte-Adresse, und Statusübergänge erfolgen durch direkte Übertragungen von Wert und Informationen zwischen den Konten. Ein Ethereum-Konto beinhaltet vier Felder:
+
+- Die **Nonce** – ein Zähler, der sicherstellt, dass jede Transaktion nur einmal verarbeitet werden kann
+- Der aktuelle **Ether-Saldo** des Kontos
+- Der **Vertragscode** des Kontos, falls vorhanden
+- Der **Speicherplatz** des Kontos (standardmäßig leer)
+
+„Ether“ ist der Krypto-Haupttreibstoff von Ethereum und wird verwendet, um Transaktionsgebühren zu bezahlen. Allgemein gibt es zwei Arten von Konten: **Konten in externem Eigentum**, die durch private Schlüssel kontrolliert werden, und **Vertragskonten**, die durch deren Vertragscode kontrolliert werden. Ein Konto in externem Eigentum besitzt keinen Code, und man kann Nachrichten von einem solchen Konto aus verschicken, indem man eine Transaktion erschafft und signiert. Jedes Mal, wenn ein Vertragskonto eine Nachricht erhält, wird dessen Code aktiviert, was es erlaubt, den internen Speicher zu lesen und zu bearbeiten und andere Nachrichten zu senden oder Vertragskonten im Gegenzug zu erschaffen.
+
+Beachten Sie, dass „Verträge“ in Ethereum nicht als etwas betrachtet werden sollten, das „erfüllt“ oder „eingehalten“ werden muss; vielmehr ähneln sie eher „autonomen Agenten“, die innerhalb der Ethereum-Ausführungsumgebung existieren, stets ein bestimmtes Stück Code ausführen, wenn sie durch eine Nachricht oder Transaktion „angesprochen“ werden, und die direkte Kontrolle über ihr eigenes Ether-Saldo sowie ihren eigenen Schlüssel-/Wertespeicher haben, um persistente Variablen zu verfolgen.
+
+### Nachrichten und Transaktionen {#messages-and-transactions}
+
+In Ethereum wird der Begriff „Transaktion“ verwendet, um das signierte Datenpaket zu beschreiben, das eine Nachricht enthält, die von einem Konto in externem Eigentum gesendet wird. Transaktionen umfassen:
+
+- Den Empfänger der Nachricht
+- Eine Signatur, die den Absender identifiziert
+- Den Ether-Betrag, der vom Absender an den Empfänger übertragen werden soll
+- Ein optionales Datenfeld
+- Einen `STARTGAS`-Wert, welcher für die maximale Anzahl an Berechnungsschritten für die Transaktionsausführung steht
+- Einen `GASPRICE`-Wert, welcher für die Gebühr steht, die der Absender pro Berechnungsschritt bezahlt
+
+Bei den ersten drei handelt es sich um Standardfelder, die bei jeder Kryptowährung erwartet werden. Das Datenfeld hat standardmäßig keine Funktion, aber die virtuelle Maschine hat einen Opcode, mit dem ein Vertrag auf die Daten zugreifen kann; als Beispielanwendung: Wenn ein Vertrag als On-Blockchain-Domain-Registrierungsdienst fungiert, könnte er die an ihn übermittelten Daten so interpretieren, dass sie zwei „Felder“ enthalten – das erste Feld eine zu registrierende Domain und das zweite Feld die IP-Adresse, auf die sie registriert werden soll. Der Vertrag liest diese Werte aus den Nachrichtendaten und speichert sie in geeigneter Weise ab.
+
+Die Felder `STARTGAS` und `GASPRICE` sind entscheidend für das Anti-Denial-of-Service-Modell von Ethereum. Um unbeabsichtigte oder feindselige Endlosschleifen oder andere Datenverschwendung im Code zu verhindern, ist es bei jeder Transaktion erforderlich, ein Limit dazu festzulegen, wie viele Rechenschritte der Codeausführung sie nutzen kann. Die grundlegende Recheneinheit ist „Gas“; normalerweise kostet ein Rechenschritt 1 Gas, aber einige Operationen kosten höhere Mengen an Gas, da sie rechnerisch aufwendiger sind oder die Menge an Daten erhöhen, die als Teil des Status gespeichert werden müssen. Außerdem wird für jedes Byte in den Transaktionsdaten eine Gebühr von 5 Gas erhoben. Die Absicht des Gebührensystems besteht darin, dass ein Angreifer für jede Ressource, die er verbraucht, einschließlich Rechenleistung, Bandbreite und Speicherplatz, proportional bezahlen muss; daher muss für jede Transaktion, die dazu führt, dass das Netzwerk eine größere Menge einer dieser Ressourcen verbraucht, eine Gas-Gebühr erhoben werden, die in etwa proportional zur Steigerung ist.
+
+### Nachrichten {#messages}
+
+Verträge haben die Möglichkeit, „Nachrichten“ an andere Verträge zu senden. Nachrichten sind virtuelle Objekte, die niemals serialisiert werden und nur in der Ethereum-Ausführungsumgebung existieren. Eine Nachricht enthält:
+
+- Den Absender der Nachricht (implizit)
+- Der Empfänger der Nachricht
+- Die Menge an Ether, die mit der Nachricht übertragen werden soll
+- Ein optionales Datenfeld
+- Einen `STARTGAS`-Wert
+
+Eine Nachricht ist im Grunde genommen wie eine Transaktion, nur dass sie von einem Vertrag und nicht von einem externen Akteur erzeugt wird. Eine Nachricht wird erzeugt, wenn ein Vertrag, der gerade Code ausführt, den Opcode `CALL` ausführt, der eine Nachricht erzeugt und ausführt. Eine Nachricht führt wie eine Transaktion dazu, dass das Empfängerkonto den Code ausführt. Somit können Verträge auf genau die gleiche Weise wie externe Akteure Beziehungen zu anderen Verträgen haben.
+
+Beachten Sie, dass das Gas-Limit, das einer Transaktion oder einem Vertrag zugewiesen wird, für das gesamte Gas gilt, das von dieser Transaktion und allen Unterausführungen verbraucht wird. Wenn beispielsweise ein externer Akteur A eine Transaktion an B mit 1000 Gas sendet und B 600 Gas verbraucht, bevor er eine Nachricht an C sendet, während die interne Ausführung von C 300 Gas verbraucht, bevor sie zurückkehrt, kann B noch 100 Gas ausgeben, bevor das Gas aufgebraucht ist.
+
+### Ethereum-Statusübergangfunktion {#ethereum-state-transition-function}
+
+
+
+Die Ethereum-Statusübergangsfunktion `APPLY(S,TX) -> S'` kann wie folgt definiert werden:
+
+1. Prüfen, ob die Transaktion korrekt aufgebaut ist (sprich, die richtige Anzahl von Werten enthält), ob die Signatur gültig ist und ob die Nonce mit der im Konto des Absenders übereinstimmt. Falls nicht, einen Fehler zurückgeben.
+2. Die Transaktionsgebühr als `STARTGAS * GASPRICE` berechnen und die Absenderadresse aus der Signatur bestimmen. Die Gebühr vom Saldo des Absenders abziehen und die Nonce des Absenders erhöhen. Wenn nicht genügend zu verbrauchender Saldo vorhanden ist, einen Fehler zurückgeben.
+3. `GAS = STARTGAS` initialisieren und eine bestimmte Gas-Menge pro Byte abziehen, um für die Bytes in der Transaktion zu bezahlen.
+4. Den Transaktionswert vom Konto des Absenders auf das Konto des Empfängers übertragen. Falls das Empfängerkonto noch nicht existiert, dieses erstellen. Wenn das Empfängerkonto ein Vertrag ist, den Code des Vertrags entweder bis zum Abschluss oder bis zur Gas-Erschöpfung ausführen.
+5. Wenn die Wertübertragung fehlgeschlagen ist, weil der Absender nicht genügend Geld hatte oder die Codeausführung das Gas aufgebraucht hat, alle Statusänderungen zurücksetzen, mit Ausnahme der Zahlung der Gebühren, und die Gebühren dem Konto des Miners hinzufügen.
+6. Andernfalls die Gebühren für das verbleibende Gas an den Absender erstatten und die Gebühren für das verbrauchte Gas an den Miner senden.
+
+Nehmen wir zum Beispiel an, dass der Code des Vertrags wie folgt lautet:
+
+```py
+if !self.storage[calldataload(0)]:
+ self.storage[calldataload(0)] = calldataload(32)
+```
+
+Beachten Sie, dass der tatsächliche Vertragscode als Low-Level-EVM-Code geschrieben ist; dieses Beispiel ist zur Klarheit in Serpent, einer unserer High-Level-Sprachen, verfasst und kann in EVM-Code kompiliert werden. Angenommen, der Speicher des Vertrags beginnt leer und eine Transaktion wird mit einem Wert von 10 Ether, 2000 Gas, einem Gas-Preis von 0,001 Ether und 64 Byte Daten gesendet, wobei die Bytes 0–31 für die Zahl `2` und die Bytes 32–63 für den String `CHARLIE` stehen. In diesem Fall ist der Prozess der Statusübergangsfunktion wie folgt:
+
+1. Sicherstellen, dass die Transaktion gültig und korrekt aufgebaut ist.
+2. Überprüfen Sie, ob der Absender der Transaktion mindestens 2000 \* 0,001 = 2 Ether besitzt. Wenn ja, dann 2 Ether vom Konto des Absenders abziehen.
+3. Gas = 2000 initialisieren; vorausgesetzt, die Transaktion ist 170 Byte lang und die Gebühren pro Byte betragen 5, 850 abziehen, sodass noch 1150 Gas verbleibt.
+4. 10 weitere Ether vom Konto des Absenders abziehen und sie dem Konto des Vertrags hinzufügen.
+5. Den Code ausführen. In diesem Fall ist es einfach: Es wird überprüft, ob der Speicher des Vertrags an Index `2` verwendet wird, und festgestellt, dass dies nicht der Fall ist, und daher wird der Speicher an Index `2` auf den Wert `CHARLIE` gesetzt. Angenommen, dies verbraucht 187 Gas – dann beträgt der verbleibende Gasbetrag 1150 - 187 = 963.
+6. 963 \* 0,001 = 0,963 Ether zurück auf das Konto des Senders hinzufügen und den dadurch entstandenen Status zurückgeben.
+
+Wenn am empfangenden Ende der Transaktion kein Vertrag vorhanden war, wäre die gesamte Transaktionsgebühr einfach das Produkt aus dem angegebenen `GASPRICE` und der Länge der Transaktion in Bytes, wobei die bei der Transaktion gesendeten Daten irrelevant wären.
+
+Beachten Sie, dass Nachrichten in Bezug auf Zurücksetzungen wie Transaktionen funktionieren: Wenn eine Nachrichtenausführung das Gas-Limit erreicht, wird die Ausführung dieser Nachricht sowie aller anderen durch diese Ausführung ausgelösten Ausführungen zurückgesetzt, jedoch müssen übergeordnete Ausführungen nicht zurückgesetzt werden. Das bedeutet, dass es für einen Vertrag „sicher“ ist, einen anderen Vertrag aufzurufen; wenn A B mit G Gas aufruft, ist garantiert, dass As Ausführung höchstens G Gas verliert. Schließlich sei darauf hingewiesen, dass es einen Opcode `CREATE` gibt, der einen Vertrag erstellt; seine Ausführungsmechanik ist grundsätzlich ähnlich wie bei `CALL`, mit dem Unterschied, dass die Ausgabe der Ausführung den Code eines neu erstellten Vertrags bestimmt.
+
+### Codeausführung {#code-execution}
+
+Der Code in Ethereum-Verträgen ist in einer Low-Level-, Stack-basierten Bytecode-Sprache geschrieben, die als „Code der virtuellen Maschine von Ethereum“ oder „EVM-Code“ bezeichnet wird. Der Code besteht aus einer Reihe von Bytes, wobei jedes Byte für eine Operation steht. Im Allgemeinen ist die Codeausführung eine Endlosschleife, die darin besteht, wiederholt die Operation am aktuellen Programmzähler (der bei null beginnt) auszuführen und anschließend den Programmzähler um eins zu erhöhen, bis das Ende des Codes erreicht ist oder ein Fehler bzw. ein `STOP`- oder `RETURN`-Befehl erkannt wird. Die Operationen haben Zugang zu drei Arten von Speicher, in denen Daten gespeichert werden können:
+
+- Der **Stack**, ein Last-in-First-out-Container, in den Werte gepusht und aus dem Werte gepoppt werden können
+- **Gedächtnis**, ein unendlich erweiterbares Byte-Array
+- Der langfristige **Speicher** des Vertrags, ein Schlüssel-/Wertespeicher. Anders als bei Stack und Gedächtnis, die nach Beendigung der Berechnung zurückgesetzt werden, bleibt der Speicher auf lange Sicht bestehen.
+
+Der Code kann auch auf den Wert, Absender und die Daten der eingehenden Nachricht sowie auf Block-Header-Daten zugreifen, und der Code kann auch ein Byte-Array von Daten als Ausgabe zurückgeben.
+
+Das formale Ausführungsmodell von EVM-Codes ist erstaunlich einfach. Während die virtuelle Maschine von Ethereum läuft, kann ihr vollständiger Berechnungsstatus durch das Tupel `(block_state, transaction, message, code, memory, stack, pc, gas)` definiert werden, wobei `block_state` den globalen Status darstellt, der alle Konten mit Salden und Speicher enthält. Zu Beginn jeder Ausführungsrunde wird die aktuelle Anweisung bestimmt, indem man das `pc`-te Byte des `code` nimmt (oder 0, wenn `pc >= len(code)`), und jede Anweisung hat ihre eigene Definition, wie sie das Tupel beeinflusst. Zum Beispiel entfernt `ADD` zwei Elemente vom Stack und pusht ihre Summe, reduziert `gas` um 1 und erhöht `pc` um 1, während `SSTORE` die obersten zwei Elemente vom Stack entfernt und das zweite Element im Speicher des Vertrags am durch das erste Element angegebenen Index einfügt. Obwohl es viele Möglichkeiten gibt, die Ausführung der virtuellen Maschine von Ethereum durch Just-in-Time-Kompilierung zu optimieren, kann eine grundlegende Implementierung von Ethereum in einigen Hundert Zeilen Code umgesetzt werden.
+
+### Blockchain und Mining {#blockchain-and-mining}
+
+
+
+Die Ethereum-Blockchain ähnelt in vielerlei Hinsicht der Bitcoin-Blockchain, obwohl sie auch einige Unterschiede aufweist. Der Hauptunterschied zwischen Ethereum und Bitcoin in Bezug auf die Blockchain-Architektur besteht darin, dass Ethereum-Blöcke im Gegensatz zu Bitcoin eine Kopie der Transaktionsliste und des aktuellen Status enthalten. Darüber hinaus werden zwei weitere Werte, Blocknummer und Schwierigkeit, ebenfalls im Block gespeichert. Der grundlegende Blockvalidierungsalgorithmus in Ethereum gestaltet sich wie folgt:
+
+1. Prüfen, ob der vorherige Block, auf den verwiesen wird, existiert und gültig ist.
+2. Sicherstellen, dass der Zeitstempel des Blocks größer ist als der des referenzierten vorherigen Blocks und weniger als 15 Minuten in der Zukunft liegt.
+3. Sicherstellen, dass Blocknummer, Schwierigkeit, Transaktionswurzel, Onkelwurzel und Gas-Limit (verschiedene Ethereum-spezifische Low-Level-Konzepte) gültig sind.
+4. Prüfe, ob der Proof-of-Work des Blocks gültig ist.
+5. Sei `S[0]` der Zustand am Ende des vorherigen Blocks.
+6. `TX` die Transaktionsliste des Blocks, die `n` Transaktionen umfasst, sein lassen. Für alle `i` in `0...n-1` `S[i+1] = APPLY(S[i],TX[i])` festlegen. Wenn irgendeine Anwendung einen Fehler zurückgibt oder wenn das insgesamt im Block verbrauchte Gas bis zu diesem Zeitpunkt das `GASLIMIT` überschreitet, einen Fehler zurückgeben.
+7. `S_FINAL` gleich `S[n]` sein lassen, jedoch unter Hinzufügung der Blockbelohnung, die an den Miner gezahlt wird.
+8. Prüfen, ob die Merkle-Tree-Wurzel des Status `S_FINAL` der im Block-Header angegebenen endgültigen Statuswurzel gleicht. Wenn dies der Fall ist, ist der Block gültig; andernfalls ist er nicht gültig.
+
+Auf den ersten Blick könnte der Ansatz äußerst ineffizient erscheinen, weil er den gesamten Status mit jedem Block speichern muss – tatsächlich sollte die Effizienz jedoch mit der von Bitcoin vergleichbar sein. Der Grund dafür ist, dass der Status in der Baumstruktur gespeichert wird und nach jedem Block nur ein kleiner Teil des Baums geändert werden muss. Daher sollte im Allgemeinen zwischen zwei benachbarten Blöcken der Großteil des Baums identisch sein, und die Daten können somit einmal gespeichert und zweimal über Verweiser (also Hashes von Teilbäumen) referenziert werden. Um dies zu erreichen, wird eine spezielle Art von Baum, bekannt als „Patricia-Baum“, verwendet. Er beinhaltet eine Modifikation des Merkle-Tree-Konzepts, die es ermöglicht, Knoten effizient einzufügen und zu löschen, und nicht nur zu ändern. Darüber hinaus ist es, weil alle Statusinformationen Teil des letzten Blocks sind, nicht notwendig, die gesamte Blockchain-Historie zu speichern – eine Strategie, die, sofern sie auf Bitcoin angewendet werden kann, kalkulierte 5- bis 20-fache Einsparungen im Speicher bieten könnte.
+
+Es wird häufig danach gefragt, „wo“ der Vertragscode in Bezug auf physische Hardware ausgeführt wird. Die Antwort darauf ist einfach: Der Vorgang der Ausführung des Vertragcodes ist Teil der Definition der Statusübergangsfunktion, die Teil des Blockvalidierungsalgorithmus ist. Wenn eine Transaktion also in Block `B` hinzugefügt wird, wird die durch diese Transaktion ausgelöste Codeausführung von allen Knoten, die Block `B` herunterladen und validieren, jetzt und in Zukunft ausgeführt.
+
+## Anwendungen {#applications}
+
+Im Allgemeinen gibt es drei Arten von Anwendungen, die auf Ethereum aufbauen. Die erste Kategorie sind Finanzanwendungen, die den Benutzern leistungsstärkere Möglichkeiten zur Verwaltung und zum Abschluss von Verträgen mit ihrem Geld bieten. Dazu gehören Unterwährungen, Finanzderivate, Hedging-Verträge, Spar-Wallets, Testamente und letztendlich sogar einige Klassen von vollwertigen Arbeitsverträgen. Die zweite Kategorie sind semi-finanzielle Anwendungen, bei denen Geld eine Rolle spielt, aber auch eine starke nicht-monetäre Komponente vorhanden ist; ein perfektes Beispiel sind selbstdurchsetzende Kopfgelder für Lösungen von Rechenproblemen. Schließlich gibt es Anwendungen wie Online-Abstimmungen und dezentralisierte Verwaltung, die überhaupt nicht finanzieller Natur sind.
+
+### Token-Systeme {#token-systems}
+
+Blockchain-basierte Token-Systeme finden zahlreiche Anwendungen – von Unterwährungen, die Assets wie USD oder Gold repräsentieren, bis hin zu Unternehmensaktien, individuellen Token für Smart Property, sicheren, unverfälschbaren Gutscheinen und sogar Token-Systemen ohne Verbindung zu konventionellem Wert, die als Punktesysteme zur Anreizsetzung genutzt werden. Token-Systeme sind auf Ethereum überraschend einfach zu implementieren. Der entscheidende Punkt, den es zu verstehen gilt, ist, dass eine Währung oder ein Token-System grundsätzlich eine Datenbank ist, die nur eine Operation beinhaltet: Ziehe X Einheiten von A ab und übertrage X Einheiten an B, wobei die Bedingung gilt, dass (i) A vor der Transaktion mindestens X Einheiten hatte und (ii) die Transaktion von A genehmigt wird. Um ein Token-System zu implementieren, genügt es, diese Logik in einen Vertrag einzufügen.
+
+Der grundlegende Code für die Implementierung eines Token-Systems in Serpent sieht folgendermaßen aus:
+
+```py
+def send(to, value):
+ if self.storage[msg.sender] >= value:
+ self.storage[msg.sender] = self.storage[msg.sender] - value
+ self.storage[to] = self.storage[to] + value
+```
+
+Dies ist im Wesentlichen eine buchstäbliche Implementierung der Statussübergangsfunktion des „Bankensystems“, die weiter oben in diesem Dokument beschrieben wurde. Ein paar zusätzliche Zeilen Code sind nötig, um die anfängliche Verteilung der Währungseinheiten und einige Grenzfälle zu behandeln. Idealerweise wird außerdem eine Funktion hinzugefügt, die es anderen Verträgen ermöglicht, den Saldo einer Adresse abzufragen. Aber das ist auch schon alles. Theoretisch könnten Ethereum-basierte Token-Systeme, die als Sub-Währungen fungieren, noch eine wichtige Funktion hinzufügen, die On-Chain-Bitcoin-basierte Meta-Währungen fehlen: die Möglichkeit, Transaktionsgebühren direkt in dieser Währung zu zahlen. So würde das implementiert werden: Der Vertrag würde einen Ether-Saldo führen, mit dem er Ether zurückerstatten kann, der zur Bezahlung von Gebühren an den Absender verwendet wird, und er würde diesen Saldo auffüllen, indem er die internen Währungseinheiten, die er als Gebühren erhebt, einsammelt und in einer kontinuierlichen Auktion weiterverkauft. Benutzer müssten so zunächst ihre Konten mit Ether „aktivieren“, aber der eingesetzte Ether wäre dann wiederverwendbar, da der Vertrag ihn bei jeder Transaktion zurückerstattet.
+
+### Finanzderivate und wertstabile Währungen {#financial-derivatives-and-stable-value-currencies}
+
+Finanzderivate sind die häufigste Anwendung von „Smart Contracts“ und eine der am einfachsten in Code umzusetzenden. Die größte Herausforderung bei der Implementierung von Finanzverträgen besteht darin, dass die Mehrheit von ihnen auf einen externen Preisticker angewiesen ist; ein sehr begehrenswerter Anwendungsfall ist beispielsweise ein Smart Contract, der gegen die Volatilität von Ether (oder einer anderen Kryptowährung) im Verhältnis zum US-Dollar absichert. Dafür muss der Vertrag jedoch den Wert von ETH/USD kennen. Der einfachste Weg, dies zu erreichen, ist über einen „Datenfeed“-Vertrag, der von einer bestimmten Partei (z. B. NASDAQ) betrieben wird. Er ist so konzipiert, dass diese Partei in der Lage ist, den Vertrag nach Bedarf zu aktualisieren, und stellt eine Schnittstelle bereit, die es anderen Verträgen ermöglicht, eine Nachricht an diesen Vertrag zu senden und eine Rückmeldung zu erhalten, die den Preis enthält.
+
+Unter dieser Voraussetzung würde der Hedging-Vertrag wie folgt aussehen:
+
+1. Warten, bis Partei A 1000 Ether eingibt.
+2. Warten, bis Partei B 1000 Ether eingibt.
+3. Den USD-Wert von 1000 Ether, der durch das Abfragen des Datenfeed-Vertrags ermittelt wurde, im Speicher festhalten. Sagen wir, es sind x $.
+4. Nach 30 Tagen A oder B erlauben, den Vertrag zu „ reaktivieren“, um x $ wertäquivalente Ether (berechnet durch erneutes Abfragen des Datenfeed-Vertrags, um den neuen Preis zu erhalten) an A und den Rest an B zu senden.
+
+Ein solcher Vertrag hätte ein erhebliches Potenzial im Kryptohandel. Eines der Hauptprobleme, die im Zusammenhang mit Kryptowährungen angeführt werden, ist die Tatsache, dass sie volatil sind; obwohl viele Benutzer und Händler die Sicherheit und Bequemlichkeit im Umgang mit kryptografischen Assets wünschen, möchten sie möglicherweise nicht riskieren, innerhalb eines einzigen Tages 23 % des Wertes ihrer Mittel zu verlieren. Bis jetzt war die häufigste vorgeschlagene Lösung durch Herausgeber unterstützte Assets; die Idee ist, dass ein Herausgeber eine Unterwährung schafft, in der er das Recht hat, Einheiten auszugeben und zurückzuziehen, und einem beliebigen Benutzer eine Einheit der Währung bereitstellt, der ihm (offline) eine Einheit eines bestimmten zugrunde liegenden Assets (z. B. Gold oder USD) gibt. Der Herausgeber verspricht dann, eine Einheit des zugrunde liegenden Assets an jeden zu liefern, der ihm eine Einheit des Krypto-Assets zurücksendet. Dieser Mechanismus ermöglicht es, jedes nicht-kryptografische Asset in ein kryptografisches Asset „aufzuwerten“, vorausgesetzt, dem Herausgeber kann vertraut werden.
+
+In der Praxis sind Herausgeber jedoch nicht immer vertrauenswürdig, und in einigen Fällen ist die Bankinfrastruktur zu schwach oder zu feindlich, als dass solche Dienstleistungen existieren könnten. Finanzderivate bieten eine Alternative. Hier spielt anstelle eines einzelnen Herausgebers, der die Mittel zur Deckung eines Assets bereitstellt, ein dezentraler Markt von Spekulanten diese Rolle, die darauf wetten, dass der Preis eines kryptografischen Referenz-Assets (z. B. ETH) steigen wird. Anders als Herausgeber haben Spekulanten keine Option, ihren Verpflichtungen nicht nachzukommen, da der Hedging-Vertrag ihre Mittel in einem Treuhandkonto hält. Beachten Sie, dass dieser Ansatz nicht vollständig dezentralisiert ist, da eine vertrauenswürdige Quelle weiterhin benötigt wird, um den Preisticker bereitzustellen. Dennoch ist dies in Bezug auf die Reduzierung der Infrastrukturanforderungen (im Gegensatz zum Herausgeber, der für die Ausgabe der Preisfeeds keine Lizenzen benötigt und wahrscheinlich als freie Meinungsäußerung eingestuft werden kann) und die Verringerung des Betrugsrisikos eine erhebliche Verbesserung.
+
+### Identitäts- und Reputationssysteme {#identity-and-reputation-systems}
+
+Die früheste alternative Kryptowährung, [Namecoin](http://namecoin.org/), versuchte, eine Bitcoin-ähnliche Blockchain zu nutzen, um ein Namensregistrierungssystem bereitzustellen, in dem Benutzer ihre Namen in einer öffentlichen Datenbank zusammen mit anderen Daten registrieren können. Ein häufig zitierter Anwendungsfall ist ein [DNS](https://wikipedia.org/wiki/Domain_Name_System)-System, das einen Domänennamen wie „bitcoin.org“ (oder „bitcoin.bit“ bei Namecoin) mit einer IP-Adresse verknüpft. Weitere Anwendungsfälle umfassen die E-Mail-Authentifizierung und potenziell fortschrittlichere Reputationssysteme. Hier ist der grundlegende Vertrag, um ein Namecoin-ähnliches Namensregistrierungssystem auf Ethereum bereitzustellen:
+
+```py
+def register(name, value):
+ if !self.storage[name]:
+ self.storage[name] = value
+```
+
+Der Vertrag ist sehr einfach; er ist lediglich eine Datenbank innerhalb des Ethereum-Netzwerks, die ergänzt, aber nicht verändert oder entfernt werden kann. Jeder kann einen Namen mit einem gewissen Wert registrieren, und diese Registrierung bleibt dann für immer bestehen. Ein ausgeklügelterer Namensregistrierungsvertrag besitzt auch eine „Funktionsklausel“, die es anderen Verträgen ermöglicht, Abfragen vorzunehmen, sowie einen Mechanismus für den „Eigentümer“ (d. h. den ersten Registrierer) eines Namens, um die Daten zu ändern oder das Eigentum zu übertragen. Darüber hinaus kann man sogar noch Reputations- und Web-of-Trust-Funktionalitäten hinzufügen.
+
+### Dezentralisierter Dateispeicher {#decentralized-file-storage}
+
+In den letzten Jahren sind eine Reihe beliebter Online-Dateispeicher-Startups entstanden, wobei das bekannteste Dropbox ist. Diese Dienste erlauben es dem Benutzer, ein Backup seiner Festplatte hochzuladen, das dann gespeichert wird, sodass der Benutzer gegen eine monatliche Gebühr darauf zugreifen kann. Derzeit ist der Dateispeichermarkt jedoch manchmal relativ ineffizient; ein oberflächlicher Blick auf verschiedene vorhandene Lösungen zeigt, dass insbesondere im „uncanny valley“-Bereich von 20–200 GB, in dem weder kostenlose Quoten noch Rabatte für Unternehmen greifen, die monatlichen Preise für gängige Dateispeicherlösungen so hoch sind, dass man mehr für einen Monat bezahlt als für die gesamte Festplatte. Ethereum-Verträge können die Entwicklung eines dezentralisierten Dateispeicher-Ökosystems ermöglichen, in dem einzelne Benutzer kleine Beträge verdienen können, indem sie ihre eigenen Festplatten vermieten. Ungenutzter Speicherplatz kann dazu verwendet werden, die Kosten für den Dateispeicher weiter zu senken.
+
+Das zentrale Element eines solchen Systems wäre das, was wir als den „dezentralisierten Dropbox-Vertrag“ nennen. Dieser Vertrag funktioniert wie folgt. Zuerst wird die gewünschte Datenmenge in Blöcke aufgeteilt, wobei jeder Block im Sinne des Datenschutzes verschlüsselt wird, und daraus wird ein Merkle Tree erstellt. Anschließend wird ein Vertrag erstellt, der die Regel enthält, dass der Vertrag alle N Blöcke einen zufälligen Index im Merkle Tree auswählt (unter Verwendung des Hashes des vorherigen Blocks, der im Vertragscode zugänglich ist, als Zufallsquelle) und X Ether an die erste Entität vergibt, die eine Transaktion mit einem vereinfachten Nachweis über das Eigentum am Block an diesem bestimmten Index im Baum vorlegt. Wenn ein Benutzer seine Datei erneut herunterladen möchte, kann er ein Mikrozahlungsprotokoll verwenden (z. B. 1 Szabo pro 32 Kilobyte zahlen), um die Datei wiederherzustellen. Der gebühreneffizienteste Ansatz besteht darin, dass der Zahler die Transaktion bis zum Ende nicht veröffentlicht, sondern die Transaktion nach jeweils 32 Kilobyte durch eine etwas lukrativere mit demselben Nonce ersetzt.
+
+Eine wichtige Eigenschaft des Protokolls ist, dass man, obwohl es scheinen mag, als vertraue man zahlreichen zufälligen Knoten dabei, die Datei nicht zu vergessen, dieses Risiko auf nahezu null reduzieren kann, indem man die Datei durch geheimes Teilen in viele Stücke aufteilt und die Verträge überwacht, um sicherzustellen, dass jedes Stück noch im Besitz eines Knotens ist. Wenn ein Vertrag weiterhin Geld auszahlt, ist dies ein kryptografischer Beweis dafür, dass jemand da draußen die Datei noch speichert.
+
+### Dezentralisierte autonome Organisationen {#decentralized-autonomous-organizations}
+
+Das allgemeine Konzept einer „dezentralisierten autonomen Organisation“ bezieht sich auf eine virtuelle Entität, die eine bestimmte Gruppe von Mitgliedern oder Aktionären hat, die möglicherweise mit einer 67-%-Mehrheit das Recht haben, die Mittel der Entität auszugeben und ihren Code zu ändern. Die Mitglieder entscheiden gemeinsam, wie die Organisation ihre Mittel einsetzen sollte. Methoden zur Zuteilung der Mittel einer DAO könnten von Kopfgeldern und Gehältern bis hin zu exotischeren Mechanismen wie einer internen Währung reichen, um Arbeit zu belohnen. Dies stellt im Grunde die rechtlichen Rahmenbedingungen eines herkömmlichen Unternehmens oder einer Nonprofit-Organisation nach, nutzt dabei jedoch ausschließlich kryptografische Blockchain-Technologie zur Durchsetzung. Bisher hat sich viel von der Diskussion über DAOs um das „kapitalistische“ Modell einer „dezentralisierten autonomen Corporation“ (DAC) gedreht, mit dividendenberechtigten Aktionären und handelbaren Anteilen; eine Alternative, die vielleicht als „dezentralisierte autonome Community“ beschrieben werden kann, würde vorsehen, dass alle Mitglieder ein gleiches Mitspracherecht bei Entscheidungen haben und 67 % der bestehenden Mitglieder zustimmen müssen, um ein Mitglied hinzuzufügen oder zu entfernen. Die Anforderung, dass eine Person nur eine Mitgliedschaft haben kann, müsste dann kollektiv von der Gruppe durchgesetzt werden.
+
+Ein allgemeiner Überblick über die Codierung einer DAO sieht folgendermaßen aus. Das einfachste Design besteht aus einem Stück selbstmodifizierendem Code, der sich ändert, wenn zwei Drittel der Mitglieder einer Änderung zustimmen. Obwohl Code theoretisch unveränderlich ist, kann man dies leicht umgehen und de facto Veränderlichkeit erreichen, indem man Teile des Codes in separaten Verträgen speichert und die Adressen der aufzurufenden Verträge im veränderbaren Speicher ablegt. In einer einfachen Implementierung eines solchen DAO-Vertrags gibt es drei Transaktionsarten, die anhand der in der Transaktion bereitgestellten Daten unterschieden werden:
+
+- `[0,i,K,V]`, um einen Vorschlag mit Index `i` zu registrieren, um die Adresse am Speicherindex `K` auf den Wert `V` zu ändern
+- `[1,i]`, um eine Stimme für den Vorschlag `i` zu registrieren
+- `[2,i]`, um den Vorschlag `i` abzuschließen, wenn genügend Stimmen abgegeben worden sind
+
+Der Vertrag hätte dann Klauseln für jeden Fall. Es würde eine Aufzeichnung aller offenen Änderungen am Speicher sowie eine Liste der entsprechenden Abstimmenden führen. Er würde auch eine Liste aller Mitglieder enthalten. Wenn eine Speicheränderung von zwei Dritteln der Mitglieder unterstützt wird, könnte eine abschließende Transaktion die Änderung ausführen. Ein ausgeklügelteres Gerüst würde auch eine integrierte Abstimmung für Funktionen wie das Senden einer Transaktion und das Hinzufügen und Entfernen von Mitgliedern beinhalten und könnte sogar eine [Liquid Democracy](https://wikipedia.org/wiki/Liquid_democracy)-ähnliche Stimmdelegation ermöglichen (d. h., jeder kann jemanden ernennen, der für ihn abstimmt, und die Ernennung ist transitiv, sodass, wenn A B ernennt und B C ernennt, C über As Stimme entscheidet). Dieses Design würde es der DAO ermöglichen, organisch als dezentralisierte Community zu wachsen, wodurch die Menschen letztendlich die Aufgabe an Spezialisten delegieren können, herauszufiltern, wer ein Mitglied ist. Anders als im „aktuellen System“ können Spezialisten jedoch im Laufe der Zeit leicht ein- und ausgehen, während sich die Ausrichtungen einzelner Community-Mitglieder ändern.
+
+Ein alternatives Modell ist das einer dezentralisierten Corporation, bei der jedes Konto null oder mehr Anteile haben kann und zwei Drittel der Anteile erforderlich sind, um eine Entscheidung zu treffen. Ein vollständiges Gerüst würde Funktionen für das Asset-Management beinhalten, die Möglichkeit, ein Angebot zum Kauf oder Verkauf von Aktien zu machen, sowie die Fähigkeit, Angebote zu akzeptieren (idealerweise mit einem Ordermatching-Mechanismus im Vertrag). Es würde auch eine Delegation im Stil der Liquid Democracy geben, die das Konzept eines „Vorstands“ verallgemeinert.
+
+### Weitere Anwendungen {#further-applications}
+
+**1. Spar-Wallets**. Nehmen wir an, Alice möchte ihre Mittel schützen, ist jedoch besorgt, dass sie ihren privaten Schlüssel verlieren oder jemand ihn hacken könnte. Sie schließt mit Bob, einer Bank, einen Vertrag über Ether ab, und zwar wie folgt:
+
+- Alice allein kann maximal 1 % der Mittel pro Tag abheben.
+- Bob allein kann maximal 1 % der Mittel pro Tag abheben, aber Alice hat die Möglichkeit, eine Transaktion mit ihrem Schlüssel durchzuführen, die diese Möglichkeit ausschaltet.
+- Alice und Bob können gemeinsam einen beliebigen Betrag.
+
+Normalerweise ist 1 % pro Tag genug für Alice, und wenn sie mehr abheben möchte, kann sie Bob um Hilfe bitten. Wenn Alices Schlüssel gehackt wird, wendet sie sich an Bob, um die Mittel auf einen neuen Vertrag zu übertragen. Wenn sie ihren Schlüssel verliert, wird Bob die Mittel trotzdem herausbekommen. Wenn sich Bob als böswillig erweist, kann sie ihm die Möglichkeit zum Abheben nehmen.
+
+**2. Ernteversicherung**. Man kann leicht einen Vertrag für Finanzderivate erstellen, indem man anstelle eines Preisindexes einen Datenfeed über das Wetter verwendet. Wenn ein Landwirt in Iowa ein Derivat kauft, das umgekehrt auf die Niederschläge in Iowa basiert, erhält der Landwirt im Falle einer Dürre automatisch Geld, und wenn es genug regnet, wird der Landwirt glücklich sein, weil die Ernte gut gedeiht. Dies kann auf die Naturkatastrophenversicherung im Allgemeinen ausgeweitet werden.
+
+**3. Ein dezentralisierter Datenfeed**. Bei Finanzverträgen über Differenzen könnte es tatsächlich möglich sein, den Datenfeed über ein Protokoll namens „[SchellingCoin](http://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/)“ zu dezentralisieren. SchellingCoin funktioniert im Wesentlichen wie folgt: N Parteien geben alle den Wert eines bestimmten Datums in das System ein (z. B. den ETH-USD-Preis), die Werte werden sortiert, und jeder, der zwischen dem 25. und dem 75. Perzentil liegt, erhält als Belohnung ein Token. Jeder hat den Anreiz, die Antwort zu geben, die auch alle anderen geben werden, und der einzige Wert, auf den sich eine große Anzahl von Spielern realistisch einigen kann, ist der offensichtliche Standard: die Wahrheit. Dies schafft ein dezentralisiertes Protokoll, das theoretisch beliebig viele Werte liefern kann, einschließlich des ETH-USD-Preises, der Temperatur in Berlin oder sogar des Ergebnisses einer bestimmten rechenintensiven Berechnung.
+
+**4. Intelligentes Mehrfachsignatur-Treuhandkonto**. Bitcoin ermöglicht Mehrfachsignatur-Transaktionsverträge, bei denen beispielsweise drei von fünf Schlüsseln die Mittel ausgeben können. Ethereum erlaubt eine genauere Granularität; zum Beispiel können vier von fünf alles ausgeben, drei von fünf können bis zu 10 % pro Tag ausgeben, und zwei von fünf können bis zu 0,5 % pro Tag ausgeben. Zusätzlich ist die Ethereum-Mehrfachsignatur asynchron – zwei Parteien können ihre Signaturen zu unterschiedlichen Zeiten auf der Blockchain registrieren, und die letzte Signatur sendet automatisch die Transaktion.
+
+**5. Cloud-Computing**. Die EVM-Technologie kann auch genutzt werden, um eine verifizierbare Rechenumgebung zu schaffen, die es Benutzern ermöglicht, andere zu bitten, Berechnungen durchzuführen, und dann optional nach Beweisen zu fragen, dass Berechnungen an bestimmten zufällig ausgewählten Kontrollpunkten korrekt durchgeführt wurden. Dies erlaubt die Einrichtung eines Marktes für Cloud-Computing, in dem jeder Benutzer mit seinem Desktop, Laptop oder spezialisierten Server teilnehmen kann, und Stichprobenkontrollen sowie Sicherheitsanforderungen können verwendet werden, um sicherzustellen, dass das System vertrauenswürdig ist (d. h., Knoten können nicht profitabel betrügen). Obwohl ein solches System möglicherweise nicht für alle Aufgaben geeignet ist, können Aufgaben, die ein hohes Maß an Zwischenprozesskommunikation erfordern, beispielsweise nicht leicht in einer großen Cloud von Knoten durchgeführt werden. Andere Aufgaben lassen sich jedoch viel leichter parallelisieren; Projekte wie SETI@home, folding@home und genetische Algorithmen können leicht auf einer solchen Plattform implementiert werden.
+
+**6. Peer-to-Peer-Glücksspiel**. Eine beliebige Anzahl von Peer-to-Peer-Glücksspielprotokollen, wie zum Beispiel Frank Stajano und Richard Claytons [Cyberdice](http://www.cl.cam.ac.uk/\~fms27/papers/2008-StajanoCla-cyberdice.pdf), kann auf der Ethereum-Blockchain implementiert werden. Das einfachste Glücksspielprotokoll ist tatsächlich einfach ein Differenzvertrag auf den nächsten Block-Hash, und fortgeschrittenere Protokolle können darauf aufbauen, um Glücksspieldienste mit nahezu null Gebühren zu schaffen, die keine Betrugsmöglichkeiten bieten.
+
+**7. Prognosemärkte**. Wenn ein Oracle oder SchellingCoin vorhanden ist, lassen sich Prognosemärkte ebenfalls leicht implementieren, und in Kombination mit SchellingCoin könnten Prognosemärkte die erste gängige Anwendung von [Futarchie](http://hanson.gmu.edu/futarchy.html) als Governance-Protokoll für dezentralisierte Organisationen darstellen.
+
+**8. On-Chain-dezentralisierte Marktplätze**, die das Identitäts- und Reputationssystem als Basis nutzen.
+
+## Verschiedenes und Bedenken {#miscellanea-and-concerns}
+
+### Modifizierte GHOST-Implementierung {#modified-ghost-implementation}
+
+Das „Greedy Heaviest Observed Subtree“(GHOST)-Protokoll ist eine Innovation, die erstmals von Yonatan Sompolinsky und Aviv Zohar im [Dezember 2013](https://eprint.iacr.org/2013/881.pdf) vorgestellt wurde. Die Motivation hinter GHOST ist, dass Blockchains mit schnellen Bestätigungszeiten derzeit unter einer verringerten Sicherheit leiden, aufgrund einer hohen Veralterungsrate – weil Blöcke eine bestimmte Zeit benötigen, um sich im Netzwerk auszubreiten. Wenn Miner A einen Block mint und dann Miner B zufällig einen weiteren Block mint, bevor der Block von Miner A zu B propagiert, wird der Block von Miner B letztlich verschwendet und trägt nicht zur Netzwerksicherheit bei. Darüber hinaus gibt es ein Zentralisierungsproblem: Wenn Miner A ein Mining-Pool mit 30 % Hash-Power ist und B 10 % Hash-Power hat, hat A ein Risiko von 70 %, einen veralteten Block zu erzeugen (da A die letzten 30 % der Zeit den letzten Block produziert hat und somit die Mining-Daten sofort erhält), während B ein Risiko von 90 % hat, einen veralteten Block zu erzeugen. Wenn das Blockintervall also kurz genug ist, um die Veralterungsrate hoch zu halten, wird A folglich allein aufgrund seiner Größe wesentlich effizienter sein. Durch die Kombination dieser beiden Effekte ist es sehr wahrscheinlich, dass Blockchains, die schnell Blöcke produzieren, dazu führen, dass ein Mining-Pool einen ausreichend großen Anteil der Netzwerk-Hash-Power hat, um de facto die Kontrolle über den Mining-Prozess zu übernehmen.
+
+Wie von Sompolinsky und Zohar beschrieben, löst GHOST das erste Problem des Verlusts an Netzwerksicherheit, indem er veraltete Blöcke in die Berechnung einbezieht, welche Kette die „längste“ ist; das heißt, nicht nur die übergeordneten und noch früheren Vorgänger eines Blocks, sondern auch die veralteten Nachfolger der Vorgänger des Blocks (in der Ethereum-Sprache „Uncles“) werden in die Berechnung einbezogen, welcher Block die größte Gesamtmenge an Proof-of-Work unterstützt. Um das zweite Problem des Zentralisierungs-Bias zu lösen, gehen wir über das von Sompolinsky und Zohar beschriebene Protokoll hinaus und bieten auch Blockbelohnungen für veraltete Blöcke an: Ein veralteter Block erhält 87,5 % seiner Grundbelohnung, und der Neffe, der den veralteten Block enthält, erhält die verbleibenden 12,5 %. Die Transaktionsgebühren werden jedoch nicht an die Onkel vergeben.
+
+Ethereum implementiert eine vereinfachte Version von GHOST, die nur sieben Ebenen benötigt. Konkret ist sie wie folgt definiert:
+
+- Ein Block muss einen übergeordneten Block sowie 0 oder mehr Onkel angeben
+- Ein Onkel, der im Block B enthalten ist, muss die folgenden Eigenschaften haben:
+ - Es muss ein direkter Nachfahre des Vorfahren der k. Generation von B sein, wobei `2 <= k <= 7`.
+ - Er kann kein Vorfahre von B sein
+ - Ein Onkel muss ein gültiger Block-Header sein, muss aber kein zuvor verifizierter oder gar gültiger Block sein
+ - Ein Onkel muss sich von allen Onkeln unterscheiden, die in früheren Blöcken enthalten waren, sowie von allen anderen Onkeln, die im selben Block enthalten sind (keine doppelte Aufnahme)
+- Für jeden Onkel U in Block B erhält der Miner von B zusätzlich 3,125 % zur Coinbase-Belohnung und der Miner von U erhält 93,75 % der Standard-Coinbase-Belohnung.
+
+Diese eingeschränkte Version von GHOST, bei der Onkel nur bis zu 7 Generationen einbezogen werden können, wurde aus zwei Gründen verwendet. Erstens würde unbegrenztes GHOST zu vielen Komplikationen in die Berechnung einfließen, welche Onkel für einen bestimmten Block gültig sind. Zweitens entfällt bei unbegrenztem GHOST mit Kompensation, wie es in Ethereum verwendet wird, der Anreiz für einen Miner, auf der Hauptkette und nicht auf der Kette eines öffentlichen Angreifers zu minen.
+
+### Gebühren {#fees}
+
+Da jede Transaktion, die in die Blockchain veröffentlicht wird, Kosten für das Herunterladen und Verifizieren beim Netzwerk verursacht, besteht die Notwendigkeit eines regulierenden Mechanismus, typischerweise in Form von Transaktionsgebühren, um Missbrauch zu verhindern. Der Standardansatz, der in Bitcoin verfolgt wird, besteht darin, rein freiwillige Gebühren zu erheben, wobei auf die Miner als Torwächter vertraut wird, die dynamische Mindestgebühren festlegen. Dieser Ansatz wurde in der Bitcoin-Community sehr positiv aufgenommen, insbesondere weil er „marktgesteuert“ ist und Angebot sowie Nachfrage zwischen Minern und Transaktionsabsendern den Preis bestimmen. Das Problem mit dieser Argumentation besteht jedoch darin, dass die Transaktionsverarbeitung kein Markt ist; obwohl es intuitiv verlockend ist, die Transaktionsverarbeitung als einen Service zu betrachten, den der Miner dem Absender anbietet, muss in der Realität jede Transaktion, die ein Miner einfügt, von jedem Knoten im Netzwerk verarbeitet werden, sodass die überwiegende Mehrheit der Kosten der Transaktionsverarbeitung von Dritten getragen wird und nicht von dem Miner, der entscheidet, ob er sie einfügt oder nicht. Deshalb ist es sehr wahrscheinlich, dass Probleme auftreten, die durch die Nutzung gemeinschaftlicher Ressourcen entstehen.
+
+Wie sich jedoch herausstellt, hebt dieser Mangel im marktgestützten Mechanismus, bei einer bestimmten ungenauen vereinfachenden Annahme, sich selbst magisch auf. Das Argument lautet wie folgt. Nehmen wir an:
+
+1. Eine Transaktion führt zu `k` Operationen und bietet eine Belohnung von `kR` für jeden Miner, der sie einfügt, wobei `R` vom Absender festgelegt wird und `k` und `R` (grob gesagt) im Voraus für den Miner sichtbar sind.
+2. Eine Operation hat für jeden Knoten Verarbeitungskosten von `C` (d. h., alle Knoten haben die gleiche Effizienz).
+3. Es gibt `N` Mining-Knoten, die jeweils genau die gleiche Verarbeitungsleistung besitzen (d. h. `1/N` der Gesamtzahl).
+4. Es gibt keine Vollknoten ohne Mining.
+
+Ein Miner wäre bereit, eine Transaktion zu verarbeiten, wenn die erwartete Belohnung höher ist als die Kosten. Somit beträgt die erwartete Belohnung `kR/N`, da der Miner eine `1/N`-Chance hat, den nächsten Block zu verarbeiten, und die Verarbeitungskosten für den Miner einfach `kC` betragen. Folglich schließen Miner Transaktionen ein, bei denen `kR/N > kC` oder `R > NC` ist. Beachten Sie, dass `R` die Gebühr pro Operation ist, die vom Absender bereitgestellt wird, und somit eine untere Grenze für den Nutzen darstellt, den der Absender aus der Transaktion zieht, während `NC` die Gesamtkosten für das gesamte Netzwerk zur Verarbeitung einer Operation sind. Daher haben Miner den Anreiz, nur diejenigen Transaktionen einzuschließen, deren gesamter utilitaristischer Nutzen die Kosten übersteigt.
+
+Allerdings gibt es in Wirklichkeit mehrere wichtige Abweichungen von diesen Annahmen:
+
+1. Der Miner hat höhere Kosten für die Verarbeitung der Transaktion als die anderen verifizierenden Knoten, da die zusätzliche Verifizierungszeit die Blockpropagation verzögert und somit die Wahrscheinlichkeit erhöht, dass der Block veraltet.
+2. Es existieren vollständige Knoten ohne Mining.
+3. Die Verteilung der Mining-Power könnte sich in der Praxis als radikal ungleichheitsfördernd erweisen.
+4. Es gibt Spekulanten, politische Widersacher und Irre, deren Hilfsfunktion darin besteht, dem Netzwerk zu schaden, und sie können geschickt Verträge aufbauen, bei denen ihre Kosten deutlich unter denen der anderen prüfenden Knoten liegen.
+
+(1) führt dazu, dass Miner weniger Transaktionen einfügen, und (2) erhöht `NC`; daher heben sich diese beiden Effekte zumindest teilweise auf.[Wie?](https://github.com/ethereum/wiki/issues/447#issuecomment-316972260) (3) und (4) sind das Hauptproblem; um sie zu lösen, setzen wir einfach eine dynamische Obergrenze fest: kein Block darf mehr Operationen enthalten als `BLK_LIMIT_FACTOR`-mal den langfristigen exponentiellen gleitenden Durchschnitt. Konkret:
+
+```js
+blk.oplimit = floor((blk.parent.oplimit \* (EMAFACTOR - 1) +
+floor(parent.opcount \* BLK\_LIMIT\_FACTOR)) / EMA\_FACTOR)
+```
+
+`BLK_LIMIT_FACTOR` und `EMA_FACTOR` sind Konstanten, die vorläufig auf 65536 und 1,5 gesetzt werden, aber wahrscheinlich nach weiteren Analysen geändert werden.
+
+Ein weiterer Faktor, der große Blockgrößen in Bitcoin unattraktiv macht, ist, dass größere Blöcke länger zur Propagation benötigen und somit eine höhere Wahrscheinlichkeit haben, zu veralten. In Ethereum benötigen Blöcke, die viel Gas verbrauchen, auch länger zur Propagation, weil sie größer sind und weil die Verarbeitung der Statusübergänge der Transaktionen zur Validierung mehr Zeit in Anspruch nimmt. Diese Verzögerungsabschreckung ist ein bedeutender Aspekt in Bitcoin, jedoch aufgrund des GHOST-Protokolls weniger ausgeprägt in Ethereum; daher bietet das Verlassen auf regulierte Blockgrenzen eine stabilere Basis.
+
+### Berechnungen und Turing-Completeness {#computation-and-turing-completeness}
+
+Ein wichtiger Hinweis ist, dass die virtuelle Maschine von Ethereum Turing-komplett ist; das bedeutet, dass der EVM-Code jede Berechnung, die möglicherweise ausgeführt werden kann, einschließlich Endlosschleifen, codieren kann. Der EVM-Code ermöglicht das Looping auf zwei Arten. Erstens gibt es eine `JUMP`-Anweisung, die das Programm an einen früheren Punkt im Code springen lässt, und eine `JUMPI`-Anweisung für bedingtes Springen, die solche Aussagen wie `while x < 27: x = x * 2` zulässt. Zweitens können Verträge andere Verträge aufrufen, was potenziell die Ausführung von Schleifen durch Rekursion ermöglicht. Dies führt zwangsläufig zu einem Problem: Können böswillige Benutzer Miner und vollständige Knoten im Grunde genommen ausschalten, indem sie sie in eine Endlosschleife zwingen? Das Problem ergibt sich aus einer Thematik in der Informatik, die als Halteproblem bekannt ist: Es gibt keine allgemeine Methode, um zu erkennen, ob ein bestimmtes Programm jemals zum Stillstand kommt oder nicht.
+
+Wie im Abschnitt zu den Statusübergängen beschrieben funktioniert unsere Lösung, indem eine Transaktion die maximale Anzahl an Rechenschritten festlegt, die sie ausführen darf. Wenn die Ausführung länger dauert, wird die Berechnung zurückgesetzt, aber die Gebühren werden dennoch bezahlt. Nachrichten funktionieren auf die gleiche Weise. Um die Motivation hinter unserer Lösung zu verdeutlichen, betrachten Sie die folgenden Beispiele:
+
+- Ein Angreifer erstellt einen Vertrag, der eine Endlosschleife ausführt, und sendet dann eine Transaktion, die diese Schleife beim Miner aktiviert. Der Miner verarbeitet die Transaktion, führt die Endlosschleife aus und wartet darauf, dass das Gas ausgeht. Auch wenn die Ausführung kein Gas mehr hat und mitten im Vorgang stoppt, ist die Transaktion weiterhin gültig, und der Miner erhält von dem Angreifer die Gebühr für jeden Rechenschritt.
+- Ein Angreifer erstellt eine sehr lange Endlosschleife mit der Absicht, den Miner dazu zu bringen, so lange zu rechnen, dass, wenn die Berechnung abgeschlossen ist, bereits einige weitere Blöcke erstellt wurden und es dem Miner nicht möglich ist, die Transaktion zur Einforderung der Gebühr einzuschließen. Allerdings muss der Angreifer einen Wert für `STARTGAS` angeben, der die Anzahl der Rechenschritte begrenzt, die die Ausführung benötigen kann. Dadurch weiß der Miner bereits im Voraus, dass die Berechnung eine übermäßig große Anzahl von Schritten benötigen wird.
+- Ein Angreifer entdeckt einen Vertrag mit Code in der Form `send(A,contract.storage[A]); contract.storage[A] = 0` und sendet eine Transaktion mit gerade genug Gas, um den ersten Schritt auszuführen, aber nicht den zweiten (d. h., eine Abhebung vorzunehmen, ohne den Saldo zu senken). Der Vertragsautor muss sich keine Sorgen um den Schutz vor solchen Angriffen machen, denn die Änderungen werden rückgängig gemacht, wenn die Ausführung im Änderungsprozess stoppt.
+- Eine finanzielle Vereinbarung funktioniert, indem der Median von neun proprietären Datenfeeds genommen wird, um das Risiko zu minimieren. Ein Angreifer übernimmt einen der Datenfeeds, der so gestaltet ist, dass er über den variablen Adressaufruf-Mechanismus, der im Abschnitt über DAOs beschrieben ist, modifiziert werden kann, und wandelt ihn so um, dass er in einer Endlosschleife läuft, um damit zu versuchen, alle Unternehmungen, Mittel aus dem Finanzvertrag zu beanspruchen, an den Gas-Limit scheitern zu lassen. Jedoch kann der Finanzvertrag ein Gas-Limit für die Nachricht festlegen, um dieses Problem zu verhindern.
+
+Die Alternative zur Turing-Completeness ist Turing-Incompleteness, bei der `JUMP` und `JUMPI` nicht existieren und nur eine Kopie jedes Vertrags zu einem beliebigen Zeitpunkt im Aufrufstack existieren darf. Mit diesem System könnten das beschriebene Gebührensystem sowie die Unsicherheiten bezüglich der Wirksamkeit unserer Lösung möglicherweise entfallen, da die Kosten für die Ausführung eines Vertrags durch dessen Größe nach oben beschränkt wären. Zusätzlich ist Turing-Incompleteness nicht einmal eine allzu große Einschränkung; von allen Vertragsbeispielen, die wir intern konzipiert haben, benötigte bisher nur eines eine Schleife, und selbst diese Schleife konnte durch 26 Wiederholungen einer einzeiligen Codezeile entfernt werden. Angesichts der schwerwiegenden Folgen von Turing-Completeness und des begrenzten Nutzens – warum nicht einfach eine Turing-inkomplette Sprache verwenden? Tatsächlich ist Turing-Incompleteness jedoch alles andere als eine saubere Lösung für das Problem. Um den Grund zu verstehen, betrachten Sie die folgenden Verträge:
+
+```sh
+C0: call(C1); call(C1);
+C1: call(C2); call(C2);
+C2: call(C3); call(C3);
+...
+C49: call(C50); call(C50);
+C50: (einen Schritt eines Programms ausführen und die Änderung im Speicher aufzeichnen)
+```
+
+Nun soll eine Transaktion an A gedendet werden. Damit haben wir in 51 Transaktionen einen Vertrag, der 250 Rechenschritte benötigt. Miner könnten versuchen, solche „Logikbomben“ im Voraus zu erkennen, indem sie einen Wert neben jedem Vertrag beibehalten, der die maximale Anzahl an Rechenschritten angibt, die er ausführen kann. Dies müsste auch für Verträge gelten, die andere Verträge rekursiv aufrufen, was jedoch erfordert, dass Miner Verträge verbieten, die andere Verträge erstellen (da die Erstellung und Ausführung aller oben genannten 26 Verträge leicht zu einem einzigen Vertrag zusammengefasst werden könnte). Ein weiterer problematischer Aspekt besteht darin, dass das Adressfeld einer Nachricht variabel ist, weshalb es im Allgemeinen nicht einmal möglich sein könnte, im Voraus zu erkennen, welche anderen Verträge ein bestimmter Vertrag aufrufen könnte. Daher kommen wir unterm Strich zu einem überraschenden Schluss: Turing-Completeness ist überraschend einfach zu verwalten, und das Fehlen von Turing-Completeness ist ebenso überraschend schwierig zu verwalten, es sei denn, genau dieselben Kontrollmechanismen sind vorhanden – aber warum sollte man in diesem Fall das Protokoll nicht einfach Turing-komplett sein lassen?
+
+### Währung und Ausgabe {#currency-and-issuance}
+
+Das Ethereum-Netzwerk beinhaltet seine eigene integrierte Währung, Ether, die zwei Zwecke erfüllt: Zum einen dient sie als primäre Liquiditätsebene, um einen effizienten Austausch zwischen verschiedenen Arten von digitalen Assets zu ermöglichen, und zum anderen, wichtiger noch, stellt sie einen Mechanismus zur Bezahlung von Transaktionsgebühren bereit. Zur Vereinfachung und um zukünftige Streitigkeiten zu vermeiden (siehe die aktuelle Diskussion über mBTC/uBTC/Satoshi in Bitcoin), werden die Nennwerte vorab gekennzeichnet:
+
+- 1: Wei
+- 1012: Szabo
+- 1015: Finney
+- 1018: Ether
+
+Dies sollte als eine erweiterte Version des Konzepts von „Dollar“ und „Cent“ oder „BTC“ und „Satoshi“ betrachtet werden. In naher Zukunft erwarten wir, dass „Ether“ für alltägliche Transaktionen, „Finney“ für Mikrotransaktionen und „Szabo“ sowie „Wei“ für technische Diskussionen über Gebühren und Protokollimplementierungen verwendet werden; die verbleibenden Nennwerte könnten später nützlich werden und sollten zu diesem Zeitpunkt nicht in Clients enthalten sein.
+
+Das Ausgabemodell wird wie folgt aussehen:
+
+- Ether wird in einem Währungsverkauf zum Preis von 1000–2000 Ether pro BTC angeboten – ein Mechanismus, der dazu dient, die Ethereum-Organisation zu finanzieren und die Entwicklung zu bezahlen, und der bereits erfolgreich von anderen Plattformen wie Mastercoin und NXT eingesetzt wurde. Frühere Käufer werden von größeren Rabatten profitieren. Die aus dem Verkauf erhaltenen BTC werden vollständig verwendet, um Gehälter und Prämien an Entwickler zu zahlen und in unterschiedliche gewinnorientierte sowie gemeinnützige Projekte innerhalb des Ethereum- und Kryptowährungs-Ökosystems zu investieren.
+- 0,099-mal des insgesamt verkauften Betrags (60102216 ETH) werden der Organisation zugewiesen, um frühe Mitwirkende zu entschädigen und ETH-denominierte Ausgaben vor dem Genesis-Block zu begleichen.
+- 0,099-mal des insgesamt verkauften Betrags werden als langfristige Reserve gehalten.
+- 0,26-mal des insgesamt verkauften Betrags werden ab diesem Zeitpunkt dauerhaft jährlich an die Miner verteilt.
+
+| Gruppe | Beim Start | Nach 1 Jahr | Nach 5 Jahren |
+| ----------------------------------- | ---------- | ----------- | ------------- |
+| Währungseinheiten | 1,198-mal | 1,458-mal | 2,498-mal |
+| Käufer | 83,5 % | 68,6 % | 40,0 % |
+| Vor dem Verkauf ausgegebene Reserve | 8,26 % | 6,79 % | 3,96 % |
+| Nach dem Verkauf verwendete Reserve | 8.26% | 6.79% | 3.96% |
+| Miner | 0 % | 17,8 % | 52,0 % |
+
+#### Langfristige Versorgungswachstumsrate (Prozent)
+
+
+
+_Trotz der linearen Währungsherausgabe tendiert, ähnlich wie bei Bitcoin, die Wachstumsrate des Angebots über die Zeit dennoch gegen null._
+
+Die zwei Hauptentscheidungen im obigen Modell sind (1) die Existenz und Größe eines Endowment-Pools sowie (2) die Existenz einer dauerhaft wachsenden linearen Versorgung im Gegensatz zu einer begrenzten Versorgung wie bei Bitcoin. Die Rechtfertigung des Endowment-Pools ist wie folgt. Wenn es keinen Endowment-Pool gäbe und die lineare Ausgabe auf 0,217-mal verringert würde, um die gleiche Inflationsrate zu erreichen, würde die Gesamtmenge an Ether um 16,5 % niedriger sein, was bedeutet, dass jede Einheit 19,8 % mehr wert wäre. Daher würden im Gleichgewicht 19,8 % mehr Ether im Verkauf gekauft werden, sodass jede Einheit wieder genau so viel Wert hätte wie zuvor. Die Organisation hätte dann auch 1,198-mal so viel BTC, das als in zwei Segmente unterteilt betrachtet werden kann: das ursprüngliche BTC und die zusätzlichen 0,198-mal. Folglich ist diese Situation _genau äquivalent_ zum Endowment, aber mit einem entscheidenden Unterschied: Die Organisation hält nur BTC und hat daher keinen Anreiz, den Wert der Ether-Einheit zu fördern.
+
+Das Modell des permanenten linearen Angebotswachstums verringert das Risiko dessen, was einige als übermäßige Vermögenskonzentration in Bitcoin ansehen, und bietet jetzt und in Zukunft eine faire Chance, Währungseinheiten zu erwerben, während gleichzeitig ein starker Anreiz besteht, Ether zu erwerben und zu halten, da die „Angebotswachstumsrate“ prozentual betrachtet im Laufe der Zeit dennoch gegen null tendiert. Außerdem vermuten wir, dass Münzen aufgrund von Nachlässigkeit, Tod usw. im Laufe der Zeit immer verloren gehen und dass der Münzverlust als Prozentsatz des Gesamtangebots pro Jahr modelliert werden kann. Infolgedessen wird sich das gesamte im Umlauf befindliche Währungsangebot tatsächlich irgendwann auf einen Wert stabilisieren, der der jährlichen Ausgabe geteilt durch die Verlustquote entspricht (z. B. bei einer Verlustquote von 1 % wird, sobald für das Angebot das 26-Fache erreicht ist, jährlich das 0,26-Fache gemint und das 0,26-Fache geht verloren, was ein Gleichgewicht erzeugt).
+
+Beachten Sie, dass Ethereum in Zukunft wahrscheinlich zu einem Proof-of-Stake-Modell für Sicherheit wechseln wird, wodurch die Ausgaberate auf irgendwo zwischen null und 0,05-mal pro Jahr gesenkt wird. Für den Fall, dass die Ethereum-Organisation ihre Finanzierung verliert oder aus irgendeinem anderen Grund verschwindet, lassen wir einen „Gesellschaftsvertrag“ offen: Jeder hat das Recht, eine zukünftige Kandidat-Version von Ethereum zu erstellen, wobei die einzige Bedingung ist, dass die Menge an Ether höchstens gleich `60102216 * (1.198 + 0.26 * n)` sein darf, wobei `n` die Anzahl der Jahre nach dem Genesis-Block ist. Die Ersteller können frei entscheiden, einen Crowdsale durchzuführen oder auf andere Weise einen Teil oder die gesamte Differenz zwischen der von PoS angetriebenen Angebotsausweitung und der maximal erlaubten Angebotsausweitung zuzuweisen, um die Entwicklung zu bezahlen. Kandidaten-Upgrades, die nicht dem sozialen Vertrag entsprechen, dürfen berechtigterweise in konforme Versionen abgespalten werden.
+
+### Mining-Zentralisierung {#mining-centralization}
+
+Der Bitcoin-Mining-Algorithmus funktioniert, indem Miner SHA256 auf leicht modifizierte Versionen des Block-Headers Millionen von Malen berechnen, bis schließlich ein Knoten eine Version findet, deren Hash kleiner ist als das Ziel (derzeit etwa 2192). Allerdings ist dieser Mining-Algorithmus anfällig für zwei Formen der Zentralisierung. Erstens wird das Mining-Ökosystem von ASICs (Application-Specific Integrated Circuits) dominiert, also von Computerchips, die speziell für das Bitcoin-Mining entwickelt wurden und daher tausendmal effizienter in dieser spezifischen Aufgabe sind. Das bedeutet, dass Bitcoin-Mining nicht mehr eine stark dezentralisierte und egalitäre Aktivität ist, die Millionen von Dollar an Kapital erfordert, um effektiv teilzunehmen. Zweitens führen die meisten Bitcoin-Miner die Blockvalidierung nicht tatsächlich lokal durch; stattdessen verlassen sie sich auf einen zentralisierten Mining-Pool, um die Block-Header bereitzustellen. Dieses Problem ist wohl schlimmer: Zum Zeitpunkt der Erstellung dieses Textes kontrollieren die drei größten Mining-Pools indirekt etwa 50 % der Rechenleistung im Bitcoin-Netzwerk, obwohl dies dadurch gemildert wird, dass Miner zu anderen Mining-Pools wechseln können, wenn ein Pool oder ein Bündnis sich einen 51-%-Angriff vornimmt.
+
+Die aktuelle Absicht von Ethereum besteht darin, einen Mining-Algorithmus zu verwenden, bei dem Miner zufällige Daten aus dem Status abrufen, einige zufällig ausgewählte Transaktionen aus den letzten N Blöcken der Blockchain berechnen und den Hash des Ergebnisses zurückgeben müssen. Dies hat zwei wichtige Vorteile. Erstens können Ethereum-Verträge jede Art von Berechnung enthalten, sodass ein Ethereum-ASIC im Grunde genommen ein ASIC für allgemeine Berechnungen wäre – also ein besserer CPU. Zweitens erfordert das Mining Zugang zur gesamten Blockchain, was die Miner zwingt, die gesamte Blockchain zu speichern und mindestens in der Lage zu sein, jede Transaktion zu verifizieren. Dies macht zentralisierte Mining-Pools überflüssig; obwohl Mining-Pools immer noch die legitime Rolle haben können, die Zufälligkeit der Gewinnverteilung auszugleichen, kann diese Funktion ebenso gut von Peer-to-Peer-Pools ohne zentrale Kontrolle erfüllt werden.
+
+Dieses Modell ist noch nicht getestet, und es könnte Schwierigkeiten dabei geben, bestimmte clevere Optimierungen zu vermeiden, wenn die Vertragsausführung als Mining-Algorithmus verwendet wird. Eine besonders interessante Eigenschaft dieses Algorithmus ist jedoch, dass er jedem ermöglicht, „den Brunnen zu vergiften“, indem er eine große Anzahl von Verträgen in die Blockchain einführt, die speziell dazu entwickelt wurden, bestimmte ASICs auszubremsen. Es bestehen wirtschaftliche Anreize für ASIC-Hersteller, einen solchen Trick zu verwenden, um gegeneinander vorzugehen. Daher ist die Lösung, die wir entwickeln, letztendlich eine adaptive wirtschaftlich-menschliche Lösung und nicht nur eine rein technische.
+
+### Skalierbarkeit {#scalability}
+
+Eine häufige Sorge im Zusammenhang mit Ethereum ist die Frage der Skalierbarkeit. Wie Bitcoin leidet auch Ethereum unter dem Nachteil, dass jede Transaktion von jedem Knoten im Netzwerk verarbeitet werden muss. Derzeit beläuft sich die Größe der Bitcoin-Blockchain auf etwa 15 GB und wächst um etwa 1 MB pro Stunde. Wenn das Bitcoin-Netzwerk die 2000 Transaktionen pro Sekunde von Visa verarbeiten würde, würde es alle drei Sekunden um 1 MB wachsen (1 GB pro Stunde, 8 TB pro Jahr). Ethereum wird voraussichtlich ein ähnliches Wachstumsverhalten aufweisen, verschärft durch die Tatsache, dass es viele Anwendungen auf der Ethereum-Blockchain geben wird, anstatt nur eine Währung wie bei Bitcoin. Positiv zu vermerken ist jedoch, dass Ethereum-Vollknoten nur den Status und nicht die gesamte Historie der Blockchain speichern müssen.
+
+Das Problem bei einer so großen Blockchain ist das Zentralisierungsrisiko. Wenn die Größe der Blockchain auf beispielsweise 100 TB ansteigt, wäre das wahrscheinlichste Szenario, dass nur eine sehr kleine Anzahl großer Unternehmen Vollknoten betreibt, während alle regulären Benutzer leichte SPV-Knoten verwenden. In einer solchen Situation entsteht die potenzielle Sorge, dass die Vollknoten sich zusammenschließen und alle einvernehmlich auf betrügerische Weise (z. B. die Blockbelohnung ändern oder sich selbst BTC geben) handeln könnten. Leichte Knoten hätten keine Möglichkeit, dies sofort zu erkennen. Natürlich würde wahrscheinlich mindestens ein ehrlicher Vollknoten existieren, und nach ein paar Stunden würden Informationen über den Betrug über Kanäle wie Reddit verbreitet werden. Aber zu diesem Zeitpunkt wäre es zu spät: Es wäre an den gewöhnlichen Benutzern, eine Initiative zu organisieren, um die betreffenden Blöcke auf die schwarze Liste zu setzen, was ein massives und vermutlich unpraktikables Koordinationsproblem darstellt – ähnlich dem einer erfolgreichen 51-%-Attacke. Im Fall von Bitcoin ist dies derzeit ein Problem, aber es gibt eine von [Peter Todd](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/) vorgeschlagene Modifikation der Blockchain, die dieses Problem lindern wird.
+
+Kurzfristig wird Ethereum zwei zusätzliche Strategien nutzen, um mit diesem Problem umzugehen. Erstens werden alle Miner aufgrund der Blockchain-basierten Mining-Algorithmen gezwungen, Vollknoten zu sein, wodurch eine Untergrenze für die Anzahl der Vollknoten geschaffen wird. Zweitens, und das ist noch wichtiger, werden wir nach der Verarbeitung jeder Transaktion einen Wurzelknoten eines Zwischenspeicherbaums in die Blockchain einfügen. Selbst wenn die Blockvalidierung zentralisiert ist, kann das Zentralisierungsproblem durch ein Verifizierungsprotokoll umgangen werden, solange mindestens ein ehrlicher verifizierender Knoten existiert. Wenn ein Miner einen ungültigen Block veröffentlicht, muss dieser Block schlecht formatiert sein, oder der Status `S[n]` ist falsch. Da `S[0]` bekanntlich korrekt ist, muss es einen ersten Status `S[i]` geben, der inkorrekt ist, wobei `S[i-1]` korrekt ist. Der verifizierende Knoten würde den Index `i` zusammen mit einem „Beweis der Ungültigkeit“ bereitstellen, der aus der Teilmenge der Patricia Tree-Knoten besteht, die benötigt wird, um `APPLY(S[i-1],TX[i]) -> S[i]` zu verarbeiten. Knoten würden in der Lage sein, diese Knoten zu verwenden, um diesen Teil der Berechnung auszuführen und festzustellen, dass das erzeugte `S[i]` nicht mit dem bereitgestellten `S[i]` übereinstimmt.
+
+Ein weiterer, ausgeklügelterer Angriff würde darin bestehen, dass böswillige Miner unvollständige Blöcke veröffentlichen, sodass die vollständigen Informationen überhaupt nicht vorhanden sind, um zu bestimmen, ob die Blöcke gültig sind oder nicht. Die Lösung dafür ist ein Challenge-Response-Protokoll: Verifizierungsknoten geben „Herausforderungen“ in Form von Zieltransaktionsindizes aus, und beim Empfang behandelt ein leichter Knoten den Block als vertrauensunwürdig, bis ein anderer Knoten, sei es der Miner oder ein anderer Verifizierer, eine Teilmenge der Patricia-Knoten als Beweis der Gültigkeit bereitstellt.
+
+## Fazit {#conclusion}
+
+Das Ethereum-Protokoll wurde ursprünglich als eine erweiterte Version einer Kryptowährung konzipiert, die fortschrittliche Funktionen wie Treuhand auf der Blockchain, Auszahlungsgrenzen, Finanzverträge, Glücksspielmärkte und ähnliche Dienste über eine stark verallgemeinerte Programmiersprache bereitstellt. Das Ethereum-Protokoll „unterstützt“ keine der Anwendungen direkt, aber das Vorhandensein einer Turing-kompletten Programmiersprache bedeutet, dass theoretisch willkürliche Verträge für jeden Transaktionstyp oder jede Anwendung erstellt werden können. Was jedoch an Ethereum besonders interessant ist, ist, dass das Ethereum-Protokoll weit über eine bloße Währung hinausgeht. Protokolle für dezentralisierte Dateispeicherung, dezentralisierte Berechnungen und dezentralisierte Prognosemärkte sowie Dutzende anderer ähnlicher Konzepte haben das Potenzial, die Effizienz der Computerindustrie erheblich zu steigern und andere Peer-to-Peer-Protokolle erstmals um eine wirtschaftliche Ebene zu erweitern. Schließlich gibt es auch eine beträchtliche Anzahl von Anwendungen, die überhaupt nichts mit Geld zu tun haben.
+
+Das Konzept einer beliebigen Statusübergangsfunktion, wie es im Ethereum-Protokoll umgesetzt ist, bietet eine Plattform mit einzigartigem Potenzial; Ethereum ist kein geschlossenes, einzweckiges Protokoll, das für einen spezifischen Anwendungsbereich in der Datenspeicherung, im Glücksspiel oder in Finanzen gedacht ist, sondern von Natur aus offen gestaltet. Wir glauben, dass es äußerst gut geeignet ist, als grundlegende Ebene für eine sehr große Anzahl sowohl finanzieller als auch nicht-finanzieller Protokolle in den kommenden Jahren zu dienen.
+
+## Anmerkungen und weiterführende Literatur {#notes-and-further-reading}
+
+### Anmerkungen {#notes}
+
+1. Ein aufmerksamer Leser wird vielleicht feststellen, dass eine Bitcoin-Adresse in Wirklichkeit der Hash des öffentlichen Schlüssels der elliptischen Kurve und nicht der öffentliche Schlüssel selbst ist. In der Terminologie der Kryptografie ist es jedoch durchaus legitim, den Pubkey-Hash selbst als öffentlichen Schlüssel zu bezeichnen. Dies liegt daran, dass die Kryptografie von Bitcoin als ein spezifischer Algorithmus für digitale Signaturen betrachtet werden kann, bei dem der öffentliche Schlüssel aus dem Hash des ECC-Pubkeys besteht. Die Signatur besteht aus dem ECC-Pubkey verkettet mit der ECC-Signatur. Der Verifizierungsalgorithmus umfasst die Überprüfung des ECC-Pubkeys in der Signatur gegenüber dem ECC-Pubkey-Hash, der als öffentlicher Schlüssel bereitgestellt wird, und dann die Überprüfung der ECC-Signatur gegenüber dem ECC-Pubkey.
+2. Technisch gesehen handelt es sich um den Median der 11 vorherigen Blöcke.
+3. Intern sind sowohl 2 als auch „CHARLIE“ Zahlen[fn3](#notes), wobei „CHARLIE“ in Big-Endian zur Basis 256 dargestellt ist. Die Zahlen können mindestens 0 und höchstens 2256-1 sein.
+
+### Weiterführende Informationen {#further-reading}
+
+1. [Intrinsischer Wert](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)
+2. [Smart Property](https://en.bitcoin.it/wiki/Smart_Property)
+3. [Smart Contracts](https://en.bitcoin.it/wiki/Contracts)
+4. [B-Money](http://www.weidai.com/bmoney.txt)
+5. [Wiederverwendbare Proofs-of-Work](https://nakamotoinstitute.org/finney/rpow/)
+6. [Sichere Eigentumstitel mit Eigentümerautorität](https://nakamotoinstitute.org/secure-property-titles/)
+7. [Bitcoin-Whitepaper](http://bitcoin.org/bitcoin.pdf)
+8. [Namecoin](https://namecoin.org/)
+9. [Zookos Dreieck](https://wikipedia.org/wiki/Zooko's_triangle)
+10. [Colored Coins-Whitepaper](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)
+11. [Mastercoin-Whitepaper](https://github.com/mastercoin-MSC/spec)
+12. [Dezentralisierte autonome Corporations, Bitcoin Magazine](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)
+13. [Vereinfachte Zahlungsverifizierung](https://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification)
+14. [Merkle Trees](https://wikipedia.org/wiki/Merkle_tree)
+15. [Patricia Trees](https://wikipedia.org/wiki/Patricia_tree)
+16. [GHOST](https://eprint.iacr.org/2013/881.pdf)
+17. [StorJ und autonome Agenten, Jeff Garzik](http://garzikrants.blogspot.ca/2013/01/storj-and-bitcoin-autonomous-agents.html)
+18. [Mike Hearn über Smart Property beim Turing Festival](https://www.youtube.com/watch?v=MVyv4t0OKe4)
+19. [Ethereum RLP](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP)
+20. [Ethereum Merkle Patricia Trees](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-Patricia-Tree)
+21. [Peter Todd über Merkle Sum Trees](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/)
+
+_Informationen zur Geschichte des Whitepapers finden Sie in [diesem Wiki](https://github.com/ethereum/wiki/blob/old-before-deleting-all-files-go-to-wiki-wiki-instead/old-whitepaper-for-historical-reference.md)._
+
+_Ethereum hat sich, wie viele durch die Community unterstützte Open-Source-Softwareprojekte, seit seinen Ursprüngen weiterentwickelt. Um mehr über die neuesten Entwicklungen von Ethereum zu erfahren und wie Änderungen am Protokoll vorgenommen werden, empfehlen wir [diese Anleitung](/learn/)._
diff --git a/public/content/translations/el/about/index.md b/public/content/translations/el/about/index.md
new file mode 100644
index 00000000000..5094508f8c9
--- /dev/null
+++ b/public/content/translations/el/about/index.md
@@ -0,0 +1,129 @@
+---
+title: Σχετικά με εμάς
+description: Σχετικά με την ομάδα, την κοινότητα και την αποστολή του ethereum.org
+lang: el
+---
+
+# Σχετικά με το ethereum.org {#about-ethereumorg}
+
+Το ethereum.org είναι ένας δημόσιος και ανοιχτού κώδικα ιστότοπος, για την εξυπηρέτηση της κοινότητας του Ethereum, στην οποία μπορούν να συνεισφέρουν όλοι. Έχουμε μια μικρή βασική ομάδα αφιερωμένη στη συντήρηση και την ανάπτυξη του ιστότοπου με συνεισφορές από χιλιάδες μέλη της κοινότητας σε όλο τον κόσμο.
+
+**Κανένας από το ethereum.org δε θα επικοινωνήσει μαζί σας. Μην απαντήσετε.**
+
+## Εξήγηση για τα ονόματα {#a-note-on-names}
+
+Είναι σύνηθες οι άνθρωποι να μπερδεύουν τα ονόματα στο χώρο του Ethereum, κάτι που μπορεί να οδηγήσει σε κακή κατανόηση του τρόπου λειτουργίας του Ethereum. Ακολουθεί μια γρήγορη εξήγηση για να ξεκαθαρίσουμε τα πράγματα:
+
+### Ethereum {#ethereum}
+
+Το Ethereum είναι ένα ελεύθερο δίκτυο, ένα blockchain και ένα πρωτόκολλο ανοιχτού κώδικα, το οποίο λειτουργεί, διοικείται, διαχειρίζεται και ανήκει σε μια παγκόσμια κοινότητα δεκάδων χιλιάδων προγραμματιστών, χειριστών κόμβων, κατόχων ETH και χρηστών.
+
+[Περισσότερα για το Ethereum](/what-is-ethereum/)
+
+[Περισσότερα για τη διακυβέρνηση του Ethereum](/governance/)
+
+### Ether (ETH) {#ether-or-eth}
+
+Το Ether (επίσης γνωστό με το σύμβολο του, ETH) είναι το εγγενές νόμισμα που συναλλάσσεται στο Ethereum. Το ETH απαιτείται για την πληρωμή για τη χρήση του δικτύου Ethereum (με τη μορφή χρεώσεων των συναλλαγών). Το ETH χρησιμοποιείται επίσης για την ασφάλεια του δικτύου με την αποθήκευση κεφαλαίου (κλείδωμα). Όταν οι χρήστες μιλούν για την τιμή του Ethereum, αναφέρονται στο ETH το ψηφιακό περιουσιακό στοιχείο.
+
+[Περισσότερα για το ΕΤΗ](/eth/)
+
+[Περισσότερα για την αποθήκευση κεφαλαίου ΕΤΗ](/staking/)
+
+### Ίδρυμα Ethereum {#ethereum-foundation}
+
+Ένας μη κερδοσκοπικός οργανισμός, που χρηματοδοτήθηκε αρχικά από το crowdsale του ETH, αφιερωμένος στην υποστήριξη του δικτύου και του οικοσυστήματος Ethereum.
+
+[Περισσότερα για το Ίδρυμα Ethereum](/foundation/)
+
+### ethereum.org {#ethereum-org}
+
+Ένας δημόσιος ιστότοπος ανοιχτού κώδικα και εκπαιδευτικός χώρος για την κοινότητα του Ethereum. Το ethereum.org διευθύνεται από μια μικρή βασική ομάδα, που χρηματοδοτείται από το Ίδρυμα Ethereum, με συνεισφορές από χιλιάδες μέλη της κοινότητας σε όλο τον κόσμο.
+
+Αυτή η σελίδα καλύπτει περισσότερες πληροφορίες για το ethereum.org.
+
+## Η αποστολή μας {#our-mission}
+
+**Η αποστολή του ethereum.org είναι να αποτελέσει την καλύτερη πύλη για την ολοένα αυξανόμενη κοινότητα του Ethereum**
+
+Προσπαθούμε να δημιουργήσουμε έναν εύκολα κατανοητό εκπαιδευτικό χώρο για όλα τα θέματα που σχετίζονται με το Ethereum, σχεδιασμένο να βοηθά τους νέους χρήστες να εξοικειωθούν με το Ethereum και τις βασικές του έννοιες. Θέλουμε να:
+
+- Εξηγήσουμε το Ethereum σε οποιονδήποτε νέο στο χώρο σε αυτή την τεχνολογία.
+- Βοηθήσουμε τους νέους χρήστες να ξεκινήσουν με το ETH και το Ethereum.
+- Βοηθήσουμε τους νέους προγραμματιστές να αρχίσουν να δημιουργούν.
+- Υποστηρίζουμε τις ενημερώσεις στον κόσμο του Ethereum.
+- Προβάλουμε τα επιτεύγματα που δημιουργούνται από την κοινότητα.
+- Μεταφράσουμε το εκπαιδευτικό περιεχόμενο του Ethereum σε όσο το δυνατόν περισσότερες γλώσσες.
+
+Για την επίτευξη αυτής της αποστολής, η ομάδα μας εστιάζει σε δύο πρωταρχικούς στόχους στο ethereum.org:
+
+### 1. Βελτίωση της εμπειρίας χρήστη για τους επισκέπτες του ethereum.org {#visitors}
+
+- Ανάπτυξη, βελτίωση και διατήρηση του περιεχόμενου ενημερωμένο
+- Βελτίωση χρηστικότητας και προσβασιμότητας μέσω των βέλτιστων πρακτικών τοπικής προσαρμογής και ανάπτυξης ιστού
+- Αύξηση της αφοσίωση των χρηστών μέσω λειτουργιών όπως έρευνες, κουίζ και ενσωματώσεις web3
+- Διατήρηση του ιστότοπου γρήγορου και αποδοτικού
+
+### 2. Ανάπτυξη, ενίσχυση και ενδυνάμωση της κοινότητας των εθελοντών μας {#community}
+
+- Αύξηση του συνολικού αριθμού των εθελοντών στον ιστότοπο
+- Βελτίωση της διατήρησης των εθελοντών μέσω της δέσμευσης, των αναγνωρίσεων και των ανταμοιβών
+- Ενδυνάμωση των μελών της κοινότητας να κάνουν ολοένα και πιο σημαντικές συνεισφορές
+- Διευκόλυνση μεγαλύτερης ποικιλίας συνεισφορών: κώδικας, περιεχόμενο, σχεδιασμός, μετάφραση, εποπτεία
+- Διατήρηση της βάσης κώδικα σύγχρονη, καθαρή και σωστά τεκμηριωμένη
+
+## Βασικές αρχές {#core-principles}
+
+Έχουμε κάποιες βασικές αρχές που μας βοηθούν να εκπληρώσουμε την αποστολή μας.
+
+### 1. Το ethereum.org είναι η πύλη για το Ethereum 🌏 {#core-principles-1}
+
+Θέλουμε οι χρήστες μας να υποβάλλουν τις απορίες τους και να μπορούν να λάβουν απαντήσεις. Έτσι η πύλη μας θα πρέπει να συνδυάζει πληροφορίες, τις "μαγικές στιγμές" και τις συνδέσεις με τους σημαντικούς πόρους της κοινότητας. Ο σκοπός του περιεχομένου μας είναι να αποτελεί την κεντρική πύλη και όχι κάποιο υποκατάστατο των εκτεταμένων πόρων που ήδη υπάρχουν. Είμαστε πρόθυμοι να υποστηρίξουμε και να ενσωματώσουμε τους πόρους που έχουν δημιουργηθεί από την κοινότητα, προσφέροντάς τους περισσότερη αναγνωρισιμότητα και καθιστώντας τους πιο εύχρηστους. [Η κοινότητα του Ethereum](/community/) βρίσκεται στο επίκεντρο αυτού του γεγονότος: χρειαζόμαστε όχι απλά να εξυπηρετούμε την κοινότητα, αλλά να συνεργαζόμαστε και να αφουγκραζόμαστε τις ανάγκες της. Η ιστοσελίδα δεν είναι μόνο για την κοινότητα που έχουμε τώρα, αλλά και για την κοινότητα που ελπίζουμε να αναπτυχθεί. Πρέπει να θυμόμαστε ότι είναι μια παγκόσμια κοινότητα από ανθρώπους με διαφορετικές γλώσσες, πολιτεύματα και πολιτισμούς.
+
+### 2. Το ethereum.org εξελίσσεται πάντοτε 🛠 {#core-principles-2}
+
+Το Ethereum και η κοινότητα εξελίσσονται πάντοτε και αυτό θα το πραγματοποιήσουμε μέσα από το ethereum.org. Αυτός είναι ο λόγος που η ιστοσελίδα έχει ένα απλό σύστημα σχεδιασμού & τη σπονδυλωτή δομή. Πραγματοποιούμε συνεχώς αλλαγές καθώς μαθαίνουμε όλο και περισσότερα σχετικά με το τρόπο χρήσης της ιστοσελίδας και τις ανάγκες της κοινότητας από αυτή. Είμαστε μια ανοιχτή κοινότητα, αποτελούμαστε από εθελοντές, οπότε μπορείτε να προτείνετε αλλαγές ή να μας βοηθήσετε με αυτές. [Περισσότερα για τη συνεισφορά](/contributing/)
+
+### 3. Το ethereum.org δεν είναι ένας τυπικός ιστότοπος προϊόντος 🦄 {#core-principles-3}
+
+Το Ethereum είναι κάτι μεγαλύτερο: περιλαμβάνει μια κοινότητα, μια τεχνολογία, ένα σύνολο ιδεών και ιδεολογιών και πολλά άλλα. Αυτό σημαίνει ότι ο ιστότοπος πρέπει να διαχειριστεί πολλούς διαφορετικούς χρήστες από "έναν προγραμματιστή που ζητά ένα συγκεκριμένο εργαλείο", έως "έναν νεοφερμένο που μόλις αγόρασε μερικά ETH και δεν ξέρει τι είναι το πορτοφόλι". "Ποιος είναι ο καλύτερος ιστότοπος για μια πλατφόρμα blockchain;" παραμένει μια διαρκής ερώτηση - είμαστε πρωτοπόροι. Η υλοποίησή του απαιτεί πειραματισμό.
+
+## Οδικός χάρτης προϊόντος {#roadmap}
+
+Για να κάνουμε τη δουλειά μας πιο προσιτή και να προωθήσουμε περισσότερη συνεργασία με την κοινότητα, η βασική ομάδα του ethereum.org δημοσιεύει μια επισκόπηση των στόχων του οδικού χάρτη του [κύκλου διαμόρφωσης](https://www.productplan.com/glossary/shape-up-method/).
+
+[Δείτε τον οδικό χάρτη προϊόντων του Κύκλου 1 για το 2025](https://github.com/ethereum/ethereum-org-website/issues/14726)
+
+**Πώς σας φαίνεται;** Εκτιμούμε πάντα τα σχόλια σχετικά με τον οδικό μας χάρτη. Αν πιστεύετε ότι υπάρχει κάτι πάνω στο οποίο πρέπει να εργαστούμε, ενημερώστε μας! Καλωσορίζουμε ιδέες και PR από οποιονδήποτε στην κοινότητα.
+
+**Θέλετε να συμμετάσχετε;** [Μάθετε περισσότερα σχετικά με τη συνεισφορά](/contributing/), [επισκεφτείτε μας στο Twitter](https://twitter.com/ethdotorg) ή συμμετάσχετε στις συζητήσεις της κοινότητας στον [διακομιστή Discord μας](https://discord.gg/ethereum-org).
+
+## Αρχές σχεδιασμού {#design-principles}
+
+Χρησιμοποιούμε ένα σύνολο [αρχών σχεδιασμού](/contributing/design-principles/) για να καθοδηγήσουμε το περιεχόμενο και τις αποφάσεις σχεδιασμού του ιστότοπου.
+
+## Σύστημα σχεδιασμού {#design-system}
+
+Δημιουργήσαμε και κυκλοφορήσαμε ένα [σύστημα σχεδιασμού](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System?node-id=0%3A1&t=QBt9RkhpPqzE3Aa6-1) για να αποστέλλουμε τις δυνατότητες πιο γρήγορα και να επιτρέπουμε στα μέλη της κοινότητας να συμμετέχουν στον ανοιχτό σχεδιασμό του ethereum.org.
+
+Θέλετε να συμμετάσχετε;[Ακολουθήστε στο Figma](https://www.figma.com/file/NrNxGjBL0Yl1PrNrOT8G2B/ethereum.org-Design-System), το [ζητήματα GitHub](https://github.com/ethereum/ethereum-org-website/issues/6284) και συμμετάσχετε στη συζήτηση στο [κανάλι Discord #design](https://discord.gg/ethereum-org).
+
+## Οδηγός στυλ {#style-guide}
+
+Έχουμε έναν [οδηγό στυλ](/contributing/style-guide/) για να τυποποιήσουμε ορισμένες πτυχές του περιεχομένου γραφής και για να κάνουμε τη διαδικασία συνεισφοράς πιο εύκολη.
+
+Σιγουρευτείτε ότι διαβάσατε [τις αρχές μας](/contributing/design-principles/) και [τον οδηγό του στυλ μας](/contributing/style-guide/) εάν θέλετε να [συμμετέχετε στον ιστότοπο](/contributing/).
+
+Χαιρετίζουμε τα σχόλια σχετικά με τις αρχές σχεδιασμού, το σύστημα σχεδίασης και τον οδηγό στυλ. Θυμηθείτε, το ethereum.org είναι για την κοινότητα, από την κοινότητα.
+
+## Άδεια χρήσης {#license}
+
+Ο ιστότοπος ethereum.org είναι ανοιχτού κώδικα και έχει κατασκευαστεί με [Άδεια MIT](https://github.com/ethereum/ethereum-org-website/blob/dev/LICENSE) εκτός εάν ορίζεται διαφορετικά. Περισσότερα για τους [όρους χρήσης](/terms-of-use/) του ethereum.org.
+
+## Τρέχουσες εργασίες {#open-jobs}
+
+Αν και αυτός ο ιστότοπος είναι ανοιχτού κώδικα και ο καθένας μπορεί να εργαστεί σε αυτόν, έχουμε μια ομάδα αποκλειστικά για το ethereum.org και άλλα διαδικτυακά έργα του Ιδρύματος Ethereum.
+
+Θα δημοσιεύσουμε εδώ οποιαδήποτε εργασία χρειάζεται. Εάν δε βλέπετε έναν ρόλο εδώ για εσάς, μεταβείτε στον [διακομιστή μας Discord](https://discord.gg/ethereum-org) και πείτε μας πώς θα θέλατε να συνεργαστείτε μαζί μας!
+
+Αναζητάτε κάτι πέρα από την ομάδα του ethereum.org; [Ελέγξτε τις υπόλοιπες διαθέσιμες εργασίες του Ethereum](/community/get-involved/#ethereum-jobs/).
diff --git a/public/content/translations/el/account-abstraction/index.md b/public/content/translations/el/account-abstraction/index.md
new file mode 100644
index 00000000000..004b12767ba
--- /dev/null
+++ b/public/content/translations/el/account-abstraction/index.md
@@ -0,0 +1,132 @@
+---
+title: Αφαιρετικότητα λογαριασμού
+description: Επισκόπηση των σχεδίων του Ethereum για απλούστερους και ασφαλέστερους λογαριασμούς χρήστη
+lang: el
+summaryPoints:
+ - Η απλοποίηση λογαριασμού καθιστά τη δημιουργία πορτοφολιών των έξυπνων συμβολαίων πολύ πιο εύκολη.
+ - Τα πορτοφόλια έξυπνων συμβολαίων μπορούν ευκολότερα να διαχειριστούν ψηφιακά στοιχεία λογαριασμών Ethereum.
+ - Τα κλειδιά που έχουν χαθεί ή εκτεθεί μπορεί να γίνει η επαναφορά τους με χρήση πολλαπλών αντιγράφων ασφαλείας.
+---
+
+# Αφαιρετικότητα λογαριασμού {#account-abstraction}
+
+Οι χρήστες αλληλεπιδρούν με το Ethereum χρησιμοποιώντας **[εξωτερικά ιδιόκτητους λογαριασμούς (EOA)](/glossary/#eoa)**. Είναι επί του παρόντος ο μοναδικός τρόπος για τους χρήστες να ξεκινούν συναλλαγές ή να εκτελούν έξυπνα συμβόλαια στο Ethereum. Αυτό περιορίζει σημαντικά τον τρόπο αλληλεπίδρασης των χρηστών με το Ethereum. Για παράδειγμα, δυσκολεύει τη διεκπεραίωση πακέτων συναλλαγών και απαιτεί από τους χρήστες να διατηρούν πάντα υπόλοιπο σε ETH για την κάλυψη των κρατήσεων.
+
+Η αφαιρετικότητα λογαριασμού είναι μια νέα προσέγγιση που αποσκοπεί στην επίλυση αυτών των προβλημάτων, επιτρέποντας στους χρήστες να ενσωματώσουν μεγαλύτερη ασφάλεια και καλύτερες εμπειρίες χρήσης στους λογαριασμούς τους. Αυτό μπορεί να επιτευχθεί με την [Αναβάθμιση των EOA](https://eips.ethereum.org/EIPS/eip-3074) που μπορούν να ελέγχονται από έξυπνα συμβόλαια ή από [αναβάθμιση των έξυπνων συμβολαίων](https://eips.ethereum.org/EIPS/eip-2938) επιτρέποντας στα έξυπνα συμβόλαια να εκτελούν άμεσα συναλλαγές. Και οι δύο αυτές οι επιλογές απαιτούν αλλαγές στο πρωτόκολλο του Ethereum. Εξετάζεται επίσης μια τρίτη προσέγγιση, η οποία περιλαμβάνει την προσθήκη ενός [δεύτερου, ξεχωριστού συστήματος συναλλαγών](https://eips.ethereum.org/EIPS/eip-4337) που θα λειτουργεί παράλληλα με το υπάρχον πρωτόκολλο. Ανεξάρτητα από την τελική επιλογή, το αποτέλεσμα θα είναι η πρόσβαση στο Ethereum μέσω πορτοφολιών έξυπνων συμβολαίων. Αυτά τα πορτοφόλια μπορεί να υποστηρίζονται εγγενώς ως μέρος του υπάρχοντος πρωτοκόλλου ή μέσω ενός πρόσθετου δικτύου συναλλαγών.
+
+Τα πορτοφόλια έξυπνων συμβολαίων παρέχουν πολλά οφέλη στους χρήστες, όπως:
+
+- Ορισμός ευέλικτων κανόνων ασφαλείας.
+- Ανάκτηση λογαριασμού σε περίπτωση απώλειας των κλειδιών.
+- Διαμοιρασμός πρόσβασης σε έμπιστα άτομα ή συσκευές.
+- Πληρωμή κρατήσεων άλλου χρήστη.
+- Εκτέλεση πολλών συναλλαγών ταυτόχρονα (π.χ. έγκριση και εκτέλεση μιας ανταλλαγής κρυπτονομισμάτων σε ένα βήμα).
+- Περισσότερες δυνατότητες για καινοτομία για dapps και δημιουργούς πορτοφολιών αλληλεπίδρασης χρηστών.
+
+Αυτά τα οφέλη δεν υποστηρίζονται σήμερα επειδή μόνο οι εξωτερικά ιδιόκτητοι λογαριασμοί ([EOA](/glossary/#eoa)) μπορούν να ξεκινήσουν συναλλαγές Οι ΕΟΕ είναι απλά ζεύγη δημόσιων-ιδιωτικών κλειδιών. Δείτε πως λειτουργούν:
+
+- Εάν έχετε το ιδιωτικό κλειδί μπορείτε να κάνετε _οτιδήποτε_ επιτρέπεται από την Ethereum Virtual Machine (EVM).
+- Εάν δεν έχετε το ιδιωτικό κλειδί δεν μπορείτε να κάνετε _τίποτα_.
+
+Αν όμως χάσετε τα ιδιωτικά σας κλειδιά, δεν υπάρχει τρόπος ανάκτησης και ένας κλέφτης με πρόσβαση σε αυτά θα αποκτήσει άμεσα όλα τα χρήματα του λογαριασμού σας.
+
+Τα πορτοφόλια έξυπνων συμβολαίων αποτελούν λύση σε αυτά τα προβλήματα, αλλά προς το παρόν είναι δύσκολο να προγραμματιστούν, επειδή οποιαδήποτε λογική και αν εφαρμόζουν, πρέπει τελικά να μεταφραστεί σε μια σειρά συναλλαγών EOA για να γίνει αποδεκτή από το Ethereum. Η αφαιρετικότητα λογαριασμού επιτρέπει στα έξυπνα συμβόλαια να ξεκινούν μόνα τους συναλλαγές. Έτσι, οποιαδήποτε λογική θέλει να εφαρμόσει ο χρήστης μπορεί να προστεθεί ως κώδικας απευθείας στο πορτοφόλι έξυπνου συμβολαίου και να εκτελεστεί στο Ethereum.
+
+Με λίγα λόγια, η αφαιρετικότητα λογαριασμού βελτιώνει την υποστήριξη για πορτοφόλια έξυπνων συμβολαίων, καθιστώντας τα πιο εύκολα στην ανάπτυξη και πιο ασφαλή στη χρήση. Τελικά, χάρη στην αφαιρετικότητα λογαριασμού, οι χρήστες μπορούν να απολαύσουν όλα τα οφέλη του Ethereum χωρίς να χρειάζεται να γνωρίζουν ή να ασχοληθούν με την υποκείμενη τεχνολογία.
+
+## Πέρα από τις φράσεις ασφαλείας {#beyond-seed-phrases}
+
+Σήμερα, οι λογαριασμοί προστατεύονται με ιδιωτικά κλειδιά που υπολογίζονται από τις φράσεις ασφαλείας. Οποιοσδήποτε έχει πρόσβαση σε μια φράση ασφαλείας μπορεί εύκολα να ανακαλύψει το ιδιωτικό κλειδί που προστατεύει έναν λογαριασμό και να αποκτήσει πρόσβαση σε όλα τα περιουσιακά στοιχεία που προστατεύει. Εάν χαθεί το ιδιωτικό κλειδί και η φράση ασφαλείας, δεν μπορούν ποτέ να ανακτηθούν και τα περιουσιακά στοιχεία που ελέγχουν «παγώνουν» για πάντα. Η εξασφάλιση αυτών των φράσεων ασφαλείας είναι δύσκολη, ακόμη και για έμπειρους χρήστες, καθώς η εξαπάτηση για τις φράσεις ασφαλείας είναι ένας από τους πιο συνηθισμένους τρόπους με τους οποίους εξαπατώνται οι χρήστες.
+
+Η αφαιρετικότητα λογαριασμού θα λύσει αυτό το πρόβλημα χρησιμοποιώντας ένα έξυπνο συμβόλαιο για να διατηρεί περιουσιακά στοιχεία και να εξουσιοδοτεί συναλλαγές. Αυτά τα έξυπνα συμβόλαια μπορούν στη συνέχεια να προσαρμοστούν με μια λογική για να γίνουν όσο το δυνατόν πιο ασφαλή και προσαρμοσμένα στον χρήστη. Τελικά, εξακολουθείτε να χρησιμοποιείτε ιδιωτικά κλειδιά για να ελέγχετε την πρόσβαση στον λογαριασμό σας, αλλά με τα ανάλογα δίχτυα ασφαλείας που τα κάνουν πιο εύκολα και ασφαλή στη διαχείριση.
+
+Για παράδειγμα, μπορούν να προστεθούν στο πορτοφόλι κλειδιά αντιγράφων ασφαλείας, έτσι ώστε εάν χάσετε ή εκθέσετε κατά λάθος το κύριο κλειδί σας, μπορεί να αντικατασταθεί με ένα νέο, ασφαλές με χρήση των κλειδιών αντιγράφων ασφαλείας. Μπορείτε να ασφαλίσετε κάθε ένα από αυτά τα κλειδιά με διαφορετικό τρόπο ή να τα χωρίσετε σε αξιόπιστα σημεία. Αυτό δυσκολεύει πολύ περισσότερο τους κλέφτες να αποκτήσουν πλήρη έλεγχο των κεφαλαίων σας. Ομοίως, μπορείτε να προσθέσετε κανόνες στο πορτοφόλι για να μειώσετε τον αντίκτυπο σε περίπτωση παραβίασης του κύριου κλειδιού σας, για παράδειγμα, μπορεί να επιτρέψετε συναλλαγές χαμηλής αξίας να επαληθεύονται με μία μόνο υπογραφή, ενώ συναλλαγές υψηλότερης αξίας να απαιτούν έγκριση από πολλούς πιστοποιημένους υπογράφοντες. Υπάρχουν και άλλοι τρόποι με τους οποίους τα πορτοφόλια έξυπνων συμβολαίων μπορούν να σας βοηθήσουν να αποτρέψετε τους κλέφτες, για παράδειγμα, μπορεί να χρησιμοποιηθεί μια λίστα επιτρεπόμενων για να αποκλειστεί κάθε συναλλαγή εκτός εάν αφορά μια αξιόπιστη διεύθυνση ή επαληθευτεί από τα προεγκριμένα κλειδιά σας.
+
+### Παραδείγματα λογικής ασφαλείας που μπορούν να ενσωματωθούν σε ένα πορτοφόλι έξυπνου συμβολαίου:
+
+- **Multisig authorization**: Μπορείτε να μοιράσετε διαπιστευτήρια εξουσιοδότησης σε πολλούς αξιόπιστους χρήστες ή συσκευές. Στη συνέχεια, το συμβόλαιο μπορεί να διαμορφωθεί έτσι ώστε οι συναλλαγές που υπερβαίνουν μια προκαθορισμένη τιμή να απαιτούν εξουσιοδότηση από ένα συγκεκριμένο ποσοστό (π.χ. 3/5) των αξιόπιστων μερών. Για παράδειγμα, οι συναλλαγές υψηλής αξίας μπορεί να απαιτούν έγκριση τόσο από μια κινητή συσκευή όσο και από ένα υλικό πορτοφόλι ή υπογραφές από λογαριασμούς που διανέμονται σε αξιόπιστα μέλη της οικογένειας.
+- **Πάγωμα λογαριασμού**: Εάν μια συσκευή χαθεί ή παραβιαστεί, ο λογαριασμός μπορεί να κλειδωθεί από άλλη εξουσιοδοτημένη συσκευή, προστατεύοντας τα περιουσιακά στοιχεία του χρήστη.
+- **Ανάκτηση λογαριασμού**: Χάσατε μια συσκευή ή ξεχάσατε τον κωδικό πρόσβασης; Στο τρέχον μοντέλο, σημαίνει ότι τα περιουσιακά σας στοιχεία θα μπορούσαν να παγώσουν για πάντα. Με ένα πορτοφόλι έξυπνων συμβολαίων, μπορείτε να δημιουργήσετε μια λίστα επιτρεπόμενων λογαριασμών που μπορούν να εξουσιοδοτήσουν νέες συσκευές και να επαναφέρουν την πρόσβαση.
+- **Ορισμός ορίων συναλλαγών:** Καθορίστε ημερήσια όρια για το ύψος συναλλαγών μπορεί να μεταφερθεί από τον λογαριασμό σε μια ημέρα, εβδομάδα ή μήνα. Αυτό σημαίνει ότι εάν ένας εισβολέας αποκτήσει πρόσβαση στον λογαριασμό σας, δεν μπορεί να αποσύρει τα πάντα ταυτόχρονα και θα έχετε την ευκαιρία να παγώσετε και να επαναφέρετε την πρόσβαση.
+- **Δημιουργία επιτρεπόμενων λιστών**: Επιτρέψτε συναλλαγές μόνο σε ορισμένες διευθύνσεις που γνωρίζετε ότι είναι ασφαλείς. Αυτό σημαίνει ότι _ακόμη και αν_ κλάπηκε το ιδιωτικό σας κλειδί, ο εισβολέας θα μπορούσε να στείλει χρήματα μόνο σε λογαριασμούς που βρίσκονται στη λίστα σας. Αυτές οι λίστες θα απαιτούσαν πολλές υπογραφές για να τροποποιηθούν, έτσι ώστε ένας εισβολέας να μην μπορεί να προσθέσει τη δική του διεύθυνση στη λίστα εκτός εάν είχε πρόσβαση σε πολλά από τα κλειδιά αντιγράφων ασφαλείας σας.
+
+## Καλύτερη εμπειρία χρήστη {#better-user-experience}
+
+Η αφαιρετικότητα λογαριασμού επιτρέπει μια **καλύτερη συνολική εμπειρία χρήστη** καθώς και **βελτιωμένη ασφάλεια** επειδή προσθέτει υποστήριξη για πορτοφόλια έξυπνων συμβολαίων στο επίπεδο του πρωτοκόλλου. Ο πιο σημαντικός λόγος για αυτό είναι ότι θα δώσει στους προγραμματιστές έξυπνων συμβολαίων, πορτοφολιών και εφαρμογών πολύ περισσότερη ελευθερία να καινοτομήσουν στην εμπειρία χρήστη, με τρόπους που ίσως δεν μπορούμε ακόμη να προβλέψουμε. Ορισμένες προφανείς βελτιώσεις που θα έρθουν μαζί με την αφαιρετικότητα λογαριασμού περιλαμβάνουν την ομαδοποίηση συναλλαγών για ταχύτητα και αποδοτικότητα. Για παράδειγμα, μια απλή ανταλλαγή θα πρέπει να είναι μια λειτουργία ενός κλικ, αλλά σήμερα απαιτεί την υπογραφή πολλαπλών συναλλαγών για την έγκριση της δαπάνης μεμονωμένων κρυπτονομισμάτων πριν από την εκτέλεση της ανταλλαγής. Η αφαιρετικότητα λογαριασμού αφαιρεί αυτή την τριβή επιτρέποντας την ομαδοποίηση συναλλαγών. Επιπλέον, η ομαδοποιημένη συναλλαγή θα μπορούσε να εγκρίνει ακριβώς τη σωστή αξία των κρυπτονομισμάτων που απαιτούνται για κάθε συναλλαγή και στη συνέχεια να ανακαλέσει τις εγκρίσεις μετά την ολοκλήρωση της συναλλαγής, παρέχοντας πρόσθετη ασφάλεια.
+
+Η διαχείριση gas βελτιώνεται επίσης πολύ με την αφαιρετικότητα λογαριασμού. Οι εφαρμογές όχι μόνο μπορούν να προσφέρουν την πληρωμή των τελών gas των χρηστών τους, αλλά τα τέλη gas μπορούν να πληρωθούν σε κρυπτονομίσματα εκτός από το ETH, απελευθερώνοντας τους χρήστες από την ανάγκη να διατηρούν υπόλοιπο σε ETH για την πληρωμή συναλλαγών. Αυτό θα λειτουργούσε με την ανταλλαγή των κρυπτονομισμάτων του χρήστη για ETH μέσα στο συμβόλαιο και στη συνέχεια χρησιμοποιώντας το ETH για την πληρωμή gas.
+
+
+
+Η διαχείριση gas είναι ένα από τα κύρια προβλήματα που αντιμετωπίζουν οι χρήστες του Ethereum, κυρίως επειδή το ETH είναι το μόνο περιουσιακό στοιχείο που μπορεί να χρησιμοποιηθεί για την πληρωμή συναλλαγών. Φανταστείτε ότι έχετε ένα πορτοφόλι με υπόλοιπο σε USDC, αλλά όχι ETH. Δεν μπορείτε να μεταφέρετε ή να ανταλλάξετε αυτά τα USDC επειδή δεν μπορείτε να πληρώσετε gas. Δεν μπορείτε επίσης να ανταλλάξετε τα USDC για ETH, γιατί αυτό από μόνο του κοστίζει gas. Θα πρέπει να στείλετε περισσότερα ETH στον λογαριασμό σας από ένα ανταλλακτήριο ή μια άλλη διεύθυνση για να λύσετε το πρόβλημα. Με τα πορτοφόλια έξυπνων συμβολαίων, μπορείτε απλά να πληρώσετε gas σε USDC, απελευθερώνοντας τον λογαριασμό σας. Δε χρειάζεται πλέον να διατηρείτε υπόλοιπο σε ETH σε όλους τους λογαριασμούς σας.
+
+Η αφαιρετικότητα λογαριασμού επιτρέπει επίσης στους προγραμματιστές dapp να είναι δημιουργικοί στη διαχείριση gas. Για παράδειγμα, ίσως να μπορείτε να αρχίσετε να πληρώνετε στο αγαπημένο σας DEX ένα σταθερό τέλος κάθε μήνα για απεριόριστες συναλλαγές. Τα Dapp μπορεί να προσφέρουν την πληρωμή όλων των τελών gas σας για λογαριασμό σας ως ανταμοιβή για τη χρήση της πλατφόρμας τους ή ως προσφορά εγγραφής. Θα είναι πολύ πιο εύκολο για τους προγραμματιστές να καινοτομήσουν στο gas όταν υποστηρίζονται πορτοφόλια έξυπνων συμβάσεων σε επίπεδο πρωτοκόλλου.
+
+
+
+Οι αξιόπιστες συνεδρίες είναι επίσης πιθανώς τροποποιημένες για τις εμπειρίες των χρηστών, ειδικά για εφαρμογές όπως τα παιχνίδια, όπου μπορεί να χρειαστεί έγκριση ένας μεγάλος αριθμός μικρών συναλλαγών σε σύντομο χρονικό διάστημα. Η μεμονωμένη έγκριση κάθε συναλλαγής θα χαλούσε την εμπειρία παιχνιδιού, αλλά η μόνιμη έγκριση δεν είναι ασφαλής. Ένα πορτοφόλι έξυπνων συμβολαίων θα μπορούσε να εγκρίνει ορισμένες συναλλαγές για σταθερό χρονικό διάστημα, έως μια συγκεκριμένη τιμή ή μόνο σε ορισμένες διευθύνσεις.
+
+Είναι επίσης ενδιαφέρον να σκεφτούμε πώς οι αγορές θα μπορούσαν να αλλάξουν με την αφαιρετικότητα λογαριασμού. Σήμερα, κάθε συναλλαγή πρέπει να εγκρίνεται και να εκτελείται από ένα πορτοφόλι με προκαταβολή επαρκούς ποσού του σωστού κρυπτονομίσματος. Με την αφαιρετικότητα λογαριασμού, η εμπειρία θα μπορούσε να μοιάζει περισσότερο με τις γνωστές διαδικτυακές αγορές όπου ένας χρήστης θα μπορούσε να γεμίσει ένα «καλάθι» με αντικείμενα και να κάνει κλικ μία φορά και να τα αγοράσει όλα ταυτόχρονα, με όλη τη λογική που απαιτείται να χειρίζεται το συμβόλαιο, όχι ο χρήστης.
+
+Αυτά είναι μερικά μόνο παραδείγματα του πώς οι εμπειρίες των χρηστών θα μπορούσαν να ανεβούν επίπεδο με την αφαιρετικότητα λογαριασμού, αλλά θα υπάρχουν και πολλά άλλα που δεν έχουμε φανταστεί ακόμα. Η αφαιρετικότητα λογαριασμού απελευθερώνει τους προγραμματιστές από τους περιορισμούς των σημερινών EOA, τους επιτρέπει να μεταφέρουν τις καλές πτυχές του web2 στο web3 χωρίς να θυσιάσουν την αυτασφάλιση και να δημιουργήσουν δημιουργικά νέες εμπειρίες χρήστη.
+
+## Πώς θα υλοποιηθεί η αφαιρετικότητα λογαριασμού; {#how-will-aa-be-implemented}
+
+Σήμερα υπάρχουν πορτοφόλια έξυπνων συμβολαίων, αλλά είναι δύσκολο να υλοποιηθούν καθώς η EVM δεν τα υποστηρίζει. Αντίθετα, βασίζονται σε σχετικά πολύπλοκο κώδικα που περιβάλλει τις τυπικές συναλλαγές Ethereum. Το Ethereum μπορεί να το αλλάξει αυτό επιτρέποντας στα έξυπνα συμβόλαια να ξεκινούν συναλλαγές, χειριζόμενη την απαραίτητη λογική στα έξυπνα συμβόλαια Ethereum αντί για εκτός αλυσίδας. Η προσθήκη της λογικής σε έξυπνα συμβόλαια αυξάνει επίσης την αποκέντρωση του Ethereum καθώς αφαιρεί την ανάγκη για «μεταφορείς» που εκτελούνται από προγραμματιστές πορτοφολιών, για τη μετάφραση μηνυμάτων που υπογράφονται από τον χρήστη σε κανονικές συναλλαγές Ethereum.
+
+
+
+Το EIP-2771 εισάγει την έννοια των μετα-συναλλαγών που επιτρέπουν σε τρίτους να πληρώνουν τα έξοδα gas ενός χρήστη χωρίς να κάνουν αλλαγές στο πρωτόκολλο Ethereum. Η ιδέα είναι ότι οι συναλλαγές που υπογράφονται από έναν χρήστη αποστέλλονται σε ένα συμβόλαιο Προώθησης «Forwarder». Ο «forwarder» είναι μια αξιόπιστη οντότητα που επαληθεύει ότι οι συναλλαγές είναι έγκυρες πριν τις στείλει σε ένα σταθμό αναμετάδοσης gas. Αυτό γίνεται εκτός αλυσίδας, αποφεύγοντας την ανάγκη πληρωμής gas. Ο σταθμός αναμετάδοσης gas μεταφέρει τη συναλλαγή σε ένα συμβόλαιο `Recipient`, πληρώνοντας το απαραίτητο gas για να εκτελεστεί η συναλλαγή στο Ethereum. Η συναλλαγή εκτελείται εάν ο `Forwarder` είναι γνωστός και αξιόπιστος από το `Recipient`. Αυτό το μοντέλο διευκολύνει τους προγραμματιστές να υλοποιήσουν συναλλαγές χωρίς gas για τους χρήστες.
+
+
+
+
+
+Το EIP-4337 είναι το πρώτο βήμα προς την υποστήριξη εγγενών πορτοφολιών έξυπνων συμβολαίων με αποκεντρωμένο τρόπο χωρίς να απαιτούνται αλλαγές στο πρωτόκολλο Ethereum. Αντί να τροποποιηθεί το επίπεδο συναίνεσης για να υποστηρίξει πορτοφόλια έξυπνων συμβολαίων, ένα νέο σύστημα προστίθεται ξεχωριστά στο κανονικό πρωτόκολλο διαφήμισης συναλλαγών. Αυτό το σύστημα υψηλότερου επιπέδου είναι χτισμένο γύρω από ένα νέο αντικείμενο που ονομάζεται UserOperation το οποίο ομαδοποιεί ενέργειες από έναν χρήστη μαζί με τις σχετικές υπογραφές. Αυτά τα αντικείμενα UserOperation στη συνέχεια μεταδίδονται σε ένα ξεχωριστό «mempool» όπου οι επικυρωτές μπορούν να τα συλλέξουν σε ένα «πακέτο συναλλαγών». Το πακέτο συναλλαγών αντιπροσωπεύει μια ακολουθία πολλών μεμονωμένων UserOperations το οποίο μπορεί να συμπεριληφθεί σε μπλοκ Ethereum όπως μια κανονική συναλλαγή και θα παραληφθεί από τους επικυρωτές χρησιμοποιώντας ένα παρόμοιο μοντέλο επιλογής μεγιστοποίησης αμοιβών.
+
+Ο τρόπος λειτουργίας των πορτοφολιών θα αλλάξει επίσης στο πλαίσιο του EIP-4337. Αντί να υλοποιεί ξανά κάθε πορτοφόλι κοινή αλλά περίπλοκη λογική ασφαλείας, αυτές οι λειτουργίες θα εξωτερικεύονται σε ένα παγκόσμιο συμβόλαιο πορτοφολιού γνωστό ως "σημείο εισόδου". Αυτό θα χειρίζεται λειτουργίες όπως η πληρωμή τελών και η εκτέλεση κώδικα EVM, ώστε οι προγραμματιστές πορτοφολιών να μπορούν να επικεντρωθούν στην παροχή εξαιρετικών εμπειριών χρήστη.
+
+Σημειώστε ότι το σημείου εισόδου του συμβολαίου EIP 4337 αναπτύχθηκε στο Ethereum Mainnet στις 1 Μαρτίου 2023. Μπορείτε να δείτε το συμβόλαιο στο Etherscan.
+
+
+
+
+
+Το EIP-2938 στοχεύει στην ενημέρωση του πρωτοκόλλου Ethereum εισάγοντας έναν νέο τύπο συναλλαγής, AA_TX_TYPE που περιλαμβάνει τρία πεδία: nonce, target και data, όπου το nonce είναι ένας καταμετρητής συναλλαγών, το target είναι το σημείο εισόδου της διεύθυνσης συμβολαίου και το data είναι bytecode EVM. Για να εκτελέσουν αυτές τις συναλλαγές, πρέπει να προστεθούν δύο νέες οδηγίες (γνωστές ως opcodes) στο EVM: το NONCE και το PAYGAS. Το NONCE παρακολουθεί την ακολουθία συναλλαγών και το PAYGAS υπολογίζει και αφαιρεί το gas που απαιτείται για την εκτέλεση της συναλλαγής από το υπόλοιπο των συμβολαίων. Αυτές οι νέες λειτουργίες επιτρέπουν στο Ethereum να υποστηρίζει εγγενώς πορτοφόλια έξυπνων συμβολαίων καθώς η απαραίτητη υποδομή είναι ενσωματωμένη στο πρωτόκολλο Ethereum.
+
+Σημειώστε ότι το EIP-2938 δεν είναι ενεργό αυτήν τη στιγμή. Η κοινότητα προτιμά αυτήν τη στιγμή το EIP-4337 επειδή δεν απαιτεί αλλαγές στο πρωτόκολλο.
+
+
+
+
+
+Το EIP-3074 στοχεύει στην ενημέρωση των εξωτερικά κατεχόμενων λογαριασμών του Ethereum επιτρέποντάς τους να αναθέσουν τον έλεγχο σε ένα έξυπνο συμβόλαιο. Αυτό σημαίνει ότι η λογική του έξυπνου συμβολαίου θα μπορούσε να εγκρίνει συναλλαγές που προέρχονται από έναν EOA. Αυτό θα επέτρεπε χαρακτηριστικά όπως η χορηγία gas και τα πακέτα συναλλαγών. Για να λειτουργήσει αυτό, πρέπει να προστεθούν δύο νέες οδηγίες στο EVM: το AUTH και το AUTHCALL. Με το EIP-3074, τα οφέλη ενός πορτοφολιού έξυπνου συμβολαίου είναι διαθέσιμα χωρίς να χρειάζεται ένα συμβόλαιο, αντίθετα, ένας συγκεκριμένος τύπος άστατου, χωρίς εμπιστοσύνη, μη αναβαθμίσιμου συμβολαίου γνωστού ως «επικαλεστής» χειρίζεται τις συναλλαγές.
+
+Σημειώστε ότι το EIP-3074 δεν είναι ενεργό αυτήν τη στιγμή. Η κοινότητα προτιμά αυτήν τη στιγμή το EIP-4337 επειδή δεν απαιτεί αλλαγές στο πρωτόκολλο.
+
+
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Τα πορτοφόλια έξυπνων συμβολαίων είναι ήδη διαθέσιμα, αλλά απαιτούνται περισσότερες αναβαθμίσεις για να γίνουν όσο το δυνατόν πιο αποκεντρωμένα και χωρίς την ανάγκη χρήσης άδειας. Το EIP-4337 είναι μια ώριμη πρόταση που δεν απαιτεί καμία αλλαγή στο πρωτόκολλο Ethereum, επομένως είναι πιθανό να υλοποιηθεί γρήγορα. Ωστόσο, οι αναβαθμίσεις που αλλάζουν το πρωτόκολλο Ethereum δε βρίσκονται αυτήν τη στιγμή σε ενεργή ανάπτυξη, επομένως αυτές οι αλλαγές μπορεί να χρειαστούν πολύ περισσότερο χρόνο για να κυκλοφορήσουν. Είναι επίσης πιθανό η αφαιρετικότητα λογαριασμού να επιτυγχάνεται αρκετά καλά από το EIP-4337 ώστε να μην απαιτούνται ποτέ αλλαγές πρωτοκόλλου.
+
+**Σημείωση**: Μπορείτε να παρακολουθήσετε την υιοθέτηση πορτοφολιών έξυπνων συμβολαίων ERC-4337 [μέσω αυτού του πίνακα ελέγχου](https://www.bundlebear.com/overview/all).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [erc4337.io](https://www.erc4337.io/)
+- [Συζήτηση για την αφαιρετικότητα λογαριασμού από το Devcon Bogota](https://www.youtube.com/watch?app=desktop&v=WsZBymiyT-8)
+- [«Γιατί η αφαιρετικότητα λογαριασμού θα αλλάξει τα δεδομενα για τις dapps» από το Devcon Bogota](https://www.youtube.com/watch?v=OwppworJGzs)
+- [«Αφαιρετικότητα λογαριασμού ELI5» από το Devcon Bogota](https://www.youtube.com/watch?v=QuYZWJj65AY)
+- [Σημειώσεις «Ο δρόμος προς την αφαιρετικότητα λογαριασμού» από τον Vitalik](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
+- [Ανάρτηση ιστολογίου του Vitalik σχετικά με τα πορτοφόλια ανάκτησης κοινωνικών δικτύων](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
+- [Σημειώσεις EIP-2938](https://hackmd.io/@SamWilsn/ryhxoGp4D#What-is-EIP-2938)
+- [Τεκμηρίωση EIP-2938](https://eips.ethereum.org/EIPS/eip-2938)
+- [Σημειώσεις EIP-4337](https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a)
+- [Τεκμηρίωση EIP-4337](https://eips.ethereum.org/EIPS/eip-4337)
+- [Τεκμηρίωση EIP-2771](https://eips.ethereum.org/EIPS/eip-2771)
+- [«Τα βασικά της αφαιρετικότητας λογαριασμού» -- Τι είναι η αφαιρετικότητα λογαριασμού, Μέρος Ι](https://www.alchemy.com/blog/account-abstraction)
+- [Οδικός χάρτης I Αφαίρεση λογαριασμού του Ethereum Charting: EIP-3074, EIP-5806, & EIP-7702](https://research.2077.xyz/charting-ethereums-account-abstraction-roadmap-eip-3074-eip-5806-eip-7702)
+- [Καταπληκτική Αφαίρεση Λογαριασμού](https://github.com/4337Mafia/awesome-account-abstraction)
+- [Αρθρωτή αφαίρεση λογαριασμού για όλους τους άλλους.](https://blog.rhinestone.wtf/part-1-modular-account-abstraction-for-everyone-else-84567422bc46)
+
diff --git a/public/content/translations/el/ai-agents/index.md b/public/content/translations/el/ai-agents/index.md
new file mode 100644
index 00000000000..0b40a8f27ec
--- /dev/null
+++ b/public/content/translations/el/ai-agents/index.md
@@ -0,0 +1,96 @@
+---
+title: AI agents
+metaTitle: Πράκτορες ΤΝ | Πράκτορες ΤΝ στο ethereum
+description: Μια επισκόπηση για πράκτορες ΤΝ στο ethereum
+lang: el
+template: use-cases
+emoji: ":robot:"
+sidebarDepth: 2
+image: /images/ai-agents/hero-image.png
+alt: Άνθρωποι που συγκεντρώθηκαν στο τραπέζι του τερματικού σταθμού
+summaryPoint1: Τεχνητή Νοημοσύνη που αλληλεπιδρά με το blockchain και κάνει συναλλαγές ανεξάρτητα
+summaryPoint2: Ελέγχει πορτοφόλια και κεφάλαια στην αλυσίδα
+summaryPoint3: Προσλαμβάνει ανθρώπους ή άλλους πράκτορες για εργασία
+buttons:
+ - content: Τι είναι οι υπηρεσίες ΤΝ;
+ toId: what-are-ai-agents
+ - content: Εξερεύνηση πρακτόρων
+ toId: ai-agents-on-ethereum
+ isSecondary: false
+---
+
+Φανταστείτε να πλοηγείστε στο Ethereum με έναν βοηθό ΤΝ που μελετά τις τάσεις της αγοράς 24 ώρες το 24ωρο, απαντά σε ερωτήσεις και εκτελεί ακόμη και συναλλαγές για λογαριασμό σας. Καλώς ήρθατε στον κόσμο των πρακτόρων ΤΝ—έξυπνα συστήματα σχεδιασμένα να απλοποιούν την ψηφιακή σας ζωή.
+
+Στο Ethereum, βλέπουμε καινοτομίες πρακτόρων ΤΝ που κυμαίνονται από εικονικούς influencers και αυτόνομους δημιουργούς περιεχομένου έως πλατφόρμες ανάλυσης αγοράς σε πραγματικό χρόνο, ενδυναμώνοντας τους χρήστες παρέχοντας insights, ψυχαγωγία και λειτουργική αποδοτικότητα.
+
+## Τι είναι οι υπηρεσίες ΤΝ; {#what-are-ai-agents}
+
+Οι πράκτορες ΤΝ είναι προγράμματα λογισμικού που χρησιμοποιούν τεχνητή νοημοσύνη για την εκτέλεση εργασιών ή τη λήψη δικών τους αποφάσεων. Μαθαίνουν από δεδομένα, προσαρμόζονται σε αλλαγές και χειρίζονται πολύπλοκες εργασίες. Λειτουργούν ασταμάτητα και μπορούν να εντοπίσουν άμεσα ευκαιρίες.
+
+### Πώς λειτουργούν οι πράκτορες ΤΝ με τα blockchains {#how-ai-agents-work-with-blockchains}
+
+Στην παραδοσιακή χρηματιστηριακή, οι πράκτορες ΤΝ συχνά λειτουργούν σε κεντρικά περιβάλλοντα με περιορισμένες εισόδους δεδομένων. Αυτό εμποδίζει την ικανότητά τους να μαθαίνουν ή να διαχειρίζονται περιουσιακά στοιχεία αυτόνομα.
+
+Αντίθετα, το αποκεντρωμένο οικοσύστημα του Ethereum προσφέρει πολλά βασικά πλεονεκτήματα:
+
+- Διαφανή δεδομένα: Πρόσβαση σε πληροφορίες blockchain σε πραγματικό χρόνο.
+- Πραγματική ιδιοκτησία περιουσιακών στοιχείων: Τα ψηφιακά περιουσιακά στοιχεία ανήκουν πλήρως στους πράκτορες ΤΝ.
+- Ισχυρή λειτουργικότητα στην αλυσίδα: Επιτρέπει στους πράκτορες ΤΝ να εκτελούν συναλλαγές, να αλληλεπιδρούν με έξυπνες συμβάσεις, να παρέχουν ρευστότητα και να συνεργάζονται σε πρωτόκολλα.
+
+Αυτοί οι παράγοντες μετατρέπουν τους πράκτορες ΤΝ από απλά bots σε δυναμικά, αυτοβελτιούμενα συστήματα που προσφέρουν σημαντική αξία σε πολλούς τομείς:
+
+
+
+
+
+
+
+## Πράκτορες ΤΝ στο Ethereum {#ai-agents-on-ethereum}
+
+Αρχίζουμε να εξερευνούμε το πλήρες δυναμικό των πρακτόρων ΤΝ, και τα έργα ήδη αξιοποιούν τη συνέργεια μεταξύ ΤΝ και blockchain—ιδιαίτερα στη διαφάνεια και τη νομισματοποίηση.
+
+
+
+Πρώτη εμφάνιση της Luna ως καλεσμένη σε podcast
+
+
+
+## Πορτοφόλια ελεγχόμενα από πράκτορες {#agent-controlled-wallets}
+
+Πράκτορες όπως η Luna ή το AIXBT ελέγχουν το δικό τους onchain πορτοφόλι ([το πορτοφόλι του AIXBT](https://zapper.xyz/account/0x0d177181e3763b20d47dc3a72dd584368bd8bf43), [το πορτοφόλι της Luna](https://zapper.xyz/account/0x0d177181e3763b20d47dc3a72dd584368bd8bf43)) επιτρέποντας τους να δίνουν φιλοδωρήματα σε θαυμαστές και να συμμετέχουν σε οικονομικές δραστηριότητες.
+
+Κατά τη διάρκεια της κοινωνικής καμπάνιας X της Luna #LunaMuralChallenge, η Luna επέλεξε και επιβράβευσε τους νικητές μέσω του πορτοφολιού της Base — σηματοδοτώντας την πρώτη περίπτωση ΤΝ που προσλαμβάνει ανθρώπους για κρυπτογραφική ανταμοιβή.
+
+
+Καλό να γνωρίζετε
+Οι πράκτορες ΤΝ και τα σχετικά εργαλεία βρίσκονται ακόμη σε αρχικό στάδιο ανάπτυξης και είναι πολύ πειραματικά—χρησιμοποιήστε τα με προσοχή.
+
+
+## Ελέγξτε το πορτοφόλι σας χρησιμοποιώντας εντολές συνομιλίας {#control-your-wallet-using-chat-commands}
+
+Μπορείτε να παραλείψετε τις πολύπλοκες διεπαφές του DeFi και να διαχειριστείτε τα κρυπτονομίσματα σας με απλές εντολές συνομιλίας.
+
+Αυτή η διαισθητική προσέγγιση καθιστά τις συναλλαγές ταχύτερες, ευκολότερες και λιγότερο επιρρεπείς σε λάθη όπως η αποστολή κεφαλαίων σε λάθος διεύθυνση ή η υπερπληρωμή για τέλη.
+
+
+
+## Πράκτορες ΤΝ εναντίον bots ΤΝ {#ai-agents-vs-ai-bots}
+
+Η διάκριση μεταξύ πρακτόρων ΤΝ και bots ΤΝ μπορεί μερικές φορές να είναι συγκεχυμένη, καθώς και τα δύο εκτελούν αυτοματοποιημένες ενέργειες με βάση την είσοδο.
+
+- Τα bots ΤΝ είναι σαν αυτοματοποιημένοι βοηθοί — Ακολουθούν συγκεκριμένες, προ-προγραμματισμένες οδηγίες για την εκτέλεση καθημερινών εργασιών.
+- Οι πράκτορες ΤΝ είναι περισσότερο σαν έξυπνοι σύντροφοι — Μαθαίνουν από την εμπειρία, προσαρμόζονται σε νέες πληροφορίες και λαμβάνουν αποφάσεις μόνοι τους.
+
+| | AI agents | Ρομπότ AI |
+| ----------------------- | ------------------------------------------------------------------------------- | ----------------------------------------------------------- |
+| **Αντιδράσεις** | Πολύπλοκες, προσαρμόσιμες, αυτόνομες | Απλές, προκαθορισμένο εύρος, ενσωματωμένες στον κώδικα |
+| **Εκπαίδευση** | Μαθαίνει συνεχώς, πειραματισμός, προσαρμογή σε νέα δεδομένα σε πραγματικό χρόνο | Λειτουργεί με προ-εκπαιδευμένα δεδομένα ή σταθερούς κανόνες |
+| **Ολοκλήρωση εργασίας** | Στόχος η επίτευξη ευρύτερων στόχων | Εστιάζει μόνο σε συγκεκριμένες εργασίες |
+
+## Περισσότερες λεπτομέρειες {#dive-deeper}
+
+
+
+## Μπορείτε να δημιουργήσετε τον δικό σας πράκτορα ΤΝ {#you-can-build-your-own-ai-agent}
+
+
\ No newline at end of file
diff --git a/public/content/translations/el/beacon-chain/index.md b/public/content/translations/el/beacon-chain/index.md
new file mode 100644
index 00000000000..ce75b19bfc0
--- /dev/null
+++ b/public/content/translations/el/beacon-chain/index.md
@@ -0,0 +1,75 @@
+---
+title: Η Κύρια Αλυσίδα
+description: Μάθετε για την Κύρια Αλυσίδα – την αναβάθμιση που εισήγαγε την απόδειξη συμμετοχής στο Ethereum.
+lang: el
+template: upgrade
+image: /images/upgrades/core.png
+alt:
+summaryPoint1: Η Κύρια Αλυσίδα εισήγαγε την απόδειξη συμμετοχής στο οικοσύστημα του Ethereum.
+summaryPoint2: Συγχωνεύθηκε με την αρχική αλυσίδα απόδειξης εργασίας του Ethereum τον Σεπτέμβριο του 2022.
+summaryPoint3: Η Κύρια Αλυσίδα εισήγαγε τη λογική συναίνεσης και το πρωτόκολλο διασποράς μπλοκ (block gossip protocol) που πλέον κρατάει ασφαλές το Ethereum.
+---
+
+
+ Η Κύρια Αλυσίδα (Beacon Chain) τέθηκε σε εφαρμογή την 1η Δεκεμβρίου 2020 και με τη Συγχώνευση στις 15 Σεπτεμβρίου 2022 επισημοποίησε την ανάδειξη της απόδειξης συμμετοχής ως μηχανισμού συναίνεσης του Ethereum.
+
+
+## Τι είναι η Κύρια Αλυσίδα; {#what-is-the-beacon-chain}
+
+Η Κύρια Αλυσίδα (Beacon Chain) είναι το όνομα της αρχικής κρυπτοαλυσίδας με την απόδειξη συμμετοχής η οποία κυκλοφόρησε το 2020. Δημιουργήθηκε προκειμένου να διασφαλιστεί η αξιοπιστία και η βιωσιμότητα της λογικής συναίνεσης της απόδειξης συμμετοχής, πριν αυτή τεθεί σε λειτουργία στο Kεντρικό Δίκτυο του Ethereum. Επομένως, εκτελούνταν παράλληλα με την αρχική απόδειξη εργασίας του Ethereum. Η Κύρια Αλυσίδα ήταν μια κρυπτοαλυσίδα «άδειων» μπλοκ, αλλά με την απενεργοποίηση της απόδειξης εργασία και ενεργοποιώντας την απόδειξη συμμετοχής στο Ethereum, απαιτούσε να δώσει εντολή στην Κύρια Αλυσίδα να δεχτεί τα δεδομένα συναλλαγών από το λογισμικό πελάτη εκτέλεσης, να τα συγκεντρώσει σε μπλοκ και στη συνέχεια να τα οργανώσει σε μια κρυπτοαλυσίδα χρησιμοποιώντας ένα μηχανισμό συναίνεσης που βασίζεται στην απόδειξη συμμετοχής του μηχανισμού συναίνεσης. Ταυτόχρονα, οι αρχικές εφαρμογές πελάτη του Ethereum διέκοψαν την κρυπτόρυξη, τη διάδοση μπλοκ και τη λογική συναίνεσης, μεταβιβάζοντας όλες αυτές τις λειτουργίες στην Κύρια Αλυσίδα. Το γεγονός αυτό έγινε γνωστό ως [Η Συγχώνευση](/roadmap/merge/). Μόλις συνέβη Η Συγχώνευση, δεν υπήρχαν πλέον δύο κρυπτοαλυσίδες. Υπήρχε μόνο η απόδειξη συμμετοχής Ethereum, όπου απαιτεί πλέον δύο διαφορετικά λογισμικά πελάτη ανά κόμβο. Η Κύρια Αλυσίδα είναι τώρα το επίπεδο συναίνεσης, ένα ομότιμο δίκτυο πελατών συναίνεσης που χειρίζεται την ενημέρωση των μπλοκ και τη λογική συναίνεσης, ενώ οι αρχικοί πελάτες αποτελούν το επίπεδο εκτέλεσης, το οποίο είναι υπεύθυνο για την ενημέρωση, την εκτέλεση των συναλλαγών και τη διαχείριση της κατάστασης του Ethereum. Τα δύο επίπεδα μπορούν να επικοινωνούν μεταξύ τους χρησιμοποιώντας τη Μηχανή API.
+
+## Τι ακριβώς κάνει η Κύρια Αλυσίδα; {#what-does-the-beacon-chain-do}
+
+Κύρια Αλυσίδα ονομάστηκε το σύνολο λογαριασμών που διηύθυνε και συντόνιζε το δίκτυο συμμετεχόντων με [αποθηκευμένο κεφάλαιο](/staking/) του Ethereum, πριν αυτοί οι συμμετέχοντες αρχίσουν να επικυρώνουν πραγματικές συναλλαγές Ethereum. Δεν επεξεργάζεται συναλλαγές ή χειρίζεται έξυπνα συμβόλαια καθώς αυτό γίνεται στο επίπεδο εκτέλεσης. Η Κύρια Αλυσίδα είναι υπεύθυνη για πράγματα όπως τον χειρισμό των μπλοκ και την πιστοποίηση, την εκτέλεση των επιλεγμένων αναβαθμίσεων και τη διαχείριση ανταμοιβών και κυρώσεων. Διαβάστε περισσότερα στη σελίδα [αρχιτεκτονική κόμβου](/developers/docs/nodes-and-clients/node-architecture/#node-comparison).
+
+## Αντίκτυπος της Κύριας Αλυσίδας {#beacon-chain-features}
+
+### Εισαγωγή στην αποθήκευση νομισμάτων {#introducing-staking}
+
+Η Κύρια Αλυσίδα έφερε στο Ethereum την [απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/). Η διαδικασία αυτή διατηρεί το Ethereum ασφαλές και αποφέρει περισσότερα ETH στους επικυρωτές. Στην πράξη, η αποθήκευση κεφαλαίου έχει να κάνει με την αποθήκευση ETH προκειμένου να ενεργοποιηθεί το λογισμικό επικυρωτή. Ως συμμετέχων (staker), εκτελείται το λογισμικό που δημιουργεί και επικυρώνει νέα μπλοκ στην αλυσίδα.
+
+Η αποθήκευση κεφαλαίου εξυπηρετεί έναν σκοπό παρόμοιο με αυτόν της [κρυπτόρυξης](/developers/docs/consensus-mechanisms/pow/mining/), αλλά διαφέρει σε πολλά επίπεδα. Η κρυπτόρυξη απαιτούσε μεγάλες, προκαταβολικές δαπάνες, όπως χρήση ισχυρών συστημάτων εξοπλισμού και κατανάλωση ενέργειας, γεγονός το οποίο οδηγούσε σε οικονομίες κλίμακας και ενίσχυση της κεντρικής διαχείρισης. Επιπλέον, η κρυπτόρυξη δε συνοδευόταν από καμία απαίτηση για δέσμευση περιουσιακών στοιχείων ως εγγύηση, περιορίζοντας έτσι την ικανότητα του πρωτοκόλλου να επιβάλλει κυρώσεις σε κακόβουλους παράγοντες έπειτα από κάποια επίθεση.
+
+Η μετάβαση στην απόδειξη συμμετοχής έκανε το Ethereum πολύ πιο ασφαλές και αποκεντρωμένο συγκριτικά με την απόδειξη εργασίας. Όσοι περισσότεροι συμμετέχουν στο δίκτυο, τόσο πιο αποκεντρωμένο και ασφαλές ενάντια σε επιθέσεις γίνεται το Ethereum.
+
+Η χρήση της απόδειξης συμμετοχής ως συναινετικός μηχανισμός είναι ένα θεμελιώδες στοιχείο για [το ασφαλές, φιλικό προς το περιβάλλον και επεκτάσιμο Ethereum που έχουμε τώρα](/roadmap/vision/).
+
+
+ Αν ενδιαφέρεστε να γίνετε επικυρωτής και να συμβάλετε στην ενίσχυση της ασφάλειας του Ethereum, μάθετε περισσότερα για την αποθήκευση (staking).
+
+
+### Ρυθμίζοντας την τμηματοποίηση (sharding) {#setting-up-for-sharding}
+
+Από τότε που η Κύρια Αλυσίδα συγχωνεύτηκε με το αρχικό κεντρικό δίκτυο Ethereum, η κοινότητα του Ethereum άρχισε να επιζητά την αναβάθμιση του δικτύου.
+
+Η απόδειξη συμμετοχής έχει το πλεονέκτημα ότι διαθέτει ένα μητρώο με όλους τους εγκεκριμένους παραγωγούς μπλοκ ανά πάσα στιγμή, τον καθένα με τη συμμετοχή του σε ETH. Το μητρώο αυτό δημιουργεί τις προϋποθέσεις για τη δυνατότητα εφαρμογής της τακτικής «διαίρει και βασίλευε». Αυτό, όμως, επιτυγχάνεται με έναν αξιόπιστο διαχωρισμό συγκεκριμένων αρμοδιοτήτων δικτύου.
+
+Η αρμοδιότητα αυτή έρχεται σε αντίθεση με την απόδειξη εργασίας, στην οποία οι κρυπτορύχοι δεν έχουν καμία υποχρέωση απέναντι στο δίκτυο. Θα μπορούσαν να σταματήσουν την κρυπτόρυξη και να προβούν στη μόνιμη απενεργοποίηση του λογισμικού του κόμβου τους σε μία στιγμή χωρίς καμία επίπτωση. Επιπλέον, δεν υπάρχει μητρώο γνωστών ατόμων που προτείνουν μπλοκ ούτε αξιόπιστος τρόπος διαχωρισμού των αρμοδιοτήτων δικτύου με ασφάλεια.
+
+[Περισσότερα για την τμηματοποίηση](/roadmap/danksharding/)
+
+## Σχέση μεταξύ των αναβαθμίσεων {#relationship-between-upgrades}
+
+Οι αναβαθμίσεις του Ethereum είναι αλληλένδετες κατά κάποιον τρόπο. Ας ανακεφαλαιώσουμε λοιπόν πώς η Κύρια Αλυσίδα επηρεάζει τις άλλες αναβαθμίσεις.
+
+### Κύρια Αλυσίδα και Συγχώνευση {#merge-and-beacon-chain}
+
+Αρχικά, η Κύρια Αλυσίδα υπήρχε ανεξάρτητα από το Kεντρικό Δίκτυο Ethereum. Ωστόσο, συγχωνεύτηκαν το 2022.
+
+
+ Η Συγχώνευση
+
+
+### Τομείς και Κύρια Αλυσίδα {#shards-and-beacon-chain}
+
+Η τμηματοποίηση μπορεί να εισαχθεί με ασφάλεια στο οικοσύστημα του Ethereum μόνο με έναν μηχανισμό συναίνεσης της απόδειξης συμμετοχής. Η Κύρια Αλυσίδα εισήγαγε την αποθήκευση κεφαλαίου, η οποία «συγχωνεύτηκε» με το Κεντρικό Δίκτυο, ανοίγοντας τον δρόμο προς την τμηματοποίηση για την περαιτέρω κλιμάκωση του Ethereum.
+
+
+ Αλυσίδες τομέα
+
+
+## Περισσότερες πληροφορίες
+
+- [Περισσότερα για τις μελλοντικές αναβαθμίσεις του Ethereum](/roadmap/vision)
+- [Περισσότερα για την αρχιτεκτονική κόμβου](/developers/docs/nodes-and-clients/node-architecture)
+- [Περισσότερα για την απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos)
diff --git a/public/content/translations/el/bridges/index.md b/public/content/translations/el/bridges/index.md
index 9845f4476e5..850d3f59d38 100644
--- a/public/content/translations/el/bridges/index.md
+++ b/public/content/translations/el/bridges/index.md
@@ -49,7 +49,7 @@ _Το Web3 έχει εξελιχθεί σε ένα οικοσύστημα από
### Dapps σε άλλες κρυπτοαλυσίδες {#dapps-other-chains}
-Εάν χρησιμοποιούσατε το Aave στο κεντρικό δίκτυο του Ethereum για να δανείσετε USDT, αλλά το επιτόκιο για δανεισμό USDT χρησιμοποιώντας το Aave στο Polygon είναι υψηλότερο.
+Εάν χρησιμοποιούσατε το Aave στο Ethereum Mainnet για την παροχή USDT, αλλά το επιτόκιο που ενδέχεται να λάβετε για την παροχή USDT χρησιμοποιώντας το Aave στο Polygon είναι υψηλότερο.
### Εξερεύνηση οικοσυστημάτων blockchain {#explore-ecosystems}
@@ -95,7 +95,16 @@ _Το Web3 έχει εξελιχθεί σε ένα οικοσύστημα από
-## Κίνδυνοι χρήσης γεφυρών {#bridge-risk}
+## Χρήση γεφυρών {#use-bridge}
+
+Η χρήση γεφυρών σας επιτρέπει να μεταφέρετε τα κρυπτονομίσματά σας μεταξύ διαφορετικών κρυπτοαλυσίδων. Δείτε παρακάτω μερικές πηγές που θα σας βοηθήσουν στην εύρεση και χρήση γεφυρών:
+
+- **[Σύνοψη των γεφυρών L2BEAT](https://l2beat.com/bridges/summary) & [ ανάλυση κινδύνου γεφυρών L2BEAT](https://l2beat.com/bridges/risk)**: Μια περιεκτική σύνοψη διαφόρων γεφυρών, συμπεριλαμβανομένων λεπτομερειών σχετικά με το μερίδιο αγοράς, τον τύπο της γέφυρας και τις αλυσίδες προορισμού. Το L2BEAT διαθέτει επίσης ανάλυση κινδύνου για γέφυρες, βοηθώντας τους χρήστες να λαμβάνουν τεκμηριωμένες αποφάσεις όταν επιλέγουν μια γέφυρα.
+- **[Σύνοψη της γέφυρας DefiLlama](https://defillama.com/bridges/Ethereum)**: Σύνοψη των όγκων γεφυρών στα δίκτυα Ethereum.
+
+
+
+## Κίνδυνος χρήσης γεφυρών {#bridge-risk}
Οι γέφυρες βρίσκονται στα αρχικά στάδια ανάπτυξης. Είναι πιθανό ο βέλτιστος σχεδιασμός της γέφυρας να μην έχει ακόμη ανακαλυφθεί. Η αλληλεπίδραση με οποιονδήποτε τύπο γέφυρας ενέχει κινδύνους:
@@ -122,7 +131,9 @@ _Το Web3 έχει εξελιχθεί σε ένα οικοσύστημα από
## Περισσότερες πληροφορίες {#further-reading}
+- [EIP-5164: Cross-Chain Execution](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) - _18 Ιουνίου 2022 - Brendan Asselstine_
+- [L2Bridge Risk Framework](https://gov.l2beat.com/t/l2bridge-risk-framework/31) - _05 Ιουλίου 2022 - Bartek Kiepuszewski_
+- ["Why the future will be multi-chain, but it will not be cross-chain."](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) - _08 Ιανουαρίου 2022 - Vitalik Buterin_
+- [Εκμετάλλευση κοινής ασφάλειας για ασφαλή διαλειτουργικότητα μεταξύ των αλυσίδων: Επιτροπές πολιτειών Lagrange και πέρα](https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) - _12 Ιουνίου 2024 - Emmanuel Awosika_
+- [The State Of Rollup Interoperability Solutions](https://research.2077.xyz/the-state-of-rollup-interoperability) - _20 Ιουνίου 2024 - Alex Hook_
-- [EIP-5164: Cross-Chain Execution](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) _18 Ιουνίου 2022 - Brendan Asselstine_
-- [L2Bridge Risk Framework](https://gov.l2beat.com/t/l2bridge-risk-framework/31) _05 Ιουλίου 2022 - Bartek Kiepuszewski_
-- ["Why the future will be multi-chain, but it will not be cross-chain."](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) _08 Ιανουαρίου 2022 - Vitalik Buterin_
diff --git a/public/content/translations/el/code-of-conduct/index.md b/public/content/translations/el/code-of-conduct/index.md
new file mode 100644
index 00000000000..a077f631181
--- /dev/null
+++ b/public/content/translations/el/code-of-conduct/index.md
@@ -0,0 +1,77 @@
+---
+title: Κώδικας Δεοντολογίας
+description: Τα βασικά πρότυπα που επιδιώκουμε σε όλους τους χώρους του ethereum.org.
+lang: el
+---
+
+# Κώδικας Δεοντολογίας {#code-of-conduct}
+
+## Αποστολή {#mission}
+
+Να αναπτύξει και να διατηρήσει τον πιο ολοκληρωμένο και προσβάσιμο κόμβο γνώσης για το Ethereum.
+
+## Αξίες {#values}
+
+Η κοινότητα του ethereum.org προσπαθεί να είναι:
+
+- Εκπαιδευτική, με σκοπό να βοηθήσει όλους να κατανοήσουν το Ethereum.
+- Περιεκτική.
+- Προσβάσιμη.
+- Κατευθυνόμενη από την κοινότητα.
+- Επικεντρωμένη στην υποκείμενη τεχνολογία και τις περιπτώσεις χρήσης του Ethereum.
+- Επικεντρωμένη στις έννοιες και τις αρχές σχεδιασμού του Ethereum.
+
+## Τι δεν είμαστε {#what-we-are-not}
+
+- Ο ιστότοπος του Ιδρύματος Ethereum.
+- Μια πλατφόρμα προώθησης επενδύσεων ή κερδοσκοπίας κάθε είδους.
+- Μια πλατφόρμα ανάδειξης ή προώθησης μεμονωμένων έργων ή οργανισμών.
+- Μία DEX, CEX ή οποιαδήποτε άλλη μορφή οικονομικής πλατφόρμας.
+- Μια πλατφόρμα παροχής οικονομικών ή νομικών συμβουλών κάθε είδους.
+
+## Κώδικας Δεοντολογίας {#code-of-conduct}
+
+### Δέσμευση {#pledge}
+
+Η ελεύθερη συμμετοχή είναι ο πυρήνας του ήθους του ethereum.org. Είμαστε ένας ιστότοπος και μια κοινότητα που συντηρούνται από χιλιάδες εθελοντές και αυτό είναι δυνατό μόνο εάν διατηρούμε ένα φιλόξενο και συνεργατικό περιβάλλον. Για τον σκοπό αυτό, οι εθελοντές σε αυτόν τον ιστότοπο δεσμεύονται να διατηρήσουν ένα περιβάλλον χωρίς παρενόχληση για όλους τους συμμετέχοντες, σε όλες τις πλατφόρμες του ethereum.org και τους χώρους της κοινότητας. Η κοινότητα του ethereum.org καλωσορίζει και εκτιμά όποιον θέλει να συμμετάσχει με εποικοδομητικό και φιλικό τρόπο, ανεξάρτητα από ηλικία, αναπηρία, εθνικότητα, χαρακτηριστικά φύλου, ταυτότητα φύλου, επίπεδο εμπειρίας, τομέα ειδίκευσης, εκπαίδευση, κοινωνικοοικονομική κατάσταση, εθνικότητα, προσωπική εμφάνιση, φυλή, θρησκεία ή οποιαδήποτε άλλη διάσταση της διαφορετικότητας.
+
+### Πεδίο εφαρμογής {#scope}
+
+Αυτός ο Κώδικας Δεοντολογίας ισχύει για όλους τους χώρους του ethereum.org (όπως το GitHub, το Discord, το Figma Crowdin, το Twitter και άλλες διαδικτυακές πλατφόρμες) και ισχύει επίσης όταν η κοινότητα εκπροσωπείται σε δημόσιους χώρους του πραγματικού κόσμου, όπως σε συναντήσεις, συνέδρια και εκδηλώσεις.
+
+### Τα πρότυπα μας {#our-standards}
+
+Παραδείγματα συμπεριφοράς που συμβάλλουν στη δημιουργία ενός θετικού περιβάλλοντος περιλαμβάνουν:
+
+- Χρήση φιλόξενης και περιεκτικής γλώσσας.
+- Σεβασμό των διαφορετικών απόψεων και εμπειριών.
+- Αποδοχή και/ή παροχή με ενσυναίσθηση της εποικοδομητικής κριτικής.
+- Ήρεμη και επαγγελματική αντιμετώπιση κατά την επίλυση συγκρούσεων ή διαφωνιών.
+- Ενσυναίσθηση και ανεκτικότητα στα άλλα μέλη της κοινότητας.
+- Ενθάρρυνση και ενίσχυση νέων φωνών στην κοινότητα.
+
+Παραδείγματα απαράδεκτης συμπεριφοράς από τους συμμετέχοντες περιλαμβάνουν:
+
+- Σωματική βία, απειλή σωματικής βίας ή ενθάρρυνση σωματικής βίας κάθε είδους.
+- Χρήση προσβλητικής γλώσσας ή εικόνες ή επιβολή ανεπιθύμητης σεξουαλικής προσοχής.
+- Η πλαστοπροσωπία ενός ατόμου ή με άλλον τρόπο ανέντιμος ισχυρισμός της σχέσης με κάποιο άτομο ή οργανισμό
+- Το τρολάρισμα, προσβλητικά/υποτιμητικά σχόλια, καθώς και προσωπικές ή πολιτικές επιθέσεις.
+- Παρενόχληση άλλων μελών της κοινότητας σε δημόσια ή ιδιωτικά κανάλια.
+- Δημοσίευση προσωπικών πληροφοριών άλλων, όπως φυσική ή ηλεκτρονική διεύθυνση, χωρίς ρητή άδεια.
+- Κοινωνική μηχανική, απάτη ή με άλλο τρόπο χειραγώγηση άλλων μελών της κοινότητας.
+- Προώθηση επενδύσεων, κρυπτονομισμάτων, έργων ή οτιδήποτε άλλο για προσωπικό ή μη όφελος.
+- Διακομιστές ανεπιθύμητης αλληλογραφίας με περιεχόμενο εκτός θέματος.
+- Παράβλεψη αιτημάτων ή προειδοποιήσεων από τους συντονιστές κοινότητας.
+- Εμπλοκή με άλλη συμπεριφορά που θα μπορούσε εύλογα να θεωρηθεί ακατάλληλη σε επαγγελματικό περιβάλλον.
+
+### Αναφορά {#reporting}
+
+Οι παραβιάσεις του κώδικα δεοντολογίας θα είναι κανονικά ορατές στην κοινότητα καθώς προσπαθούμε να κάνουμε τα πάντα στα ανοιχτά, δημόσια κανάλια, επιτρέποντας στα μέλη της κοινότητας να αυτο-αστυνομεύονται.
+
+Ωστόσο, εάν συμβεί κάτι που πιστεύετε ότι χρειάζεται προσοχή, μπορείτε να το συζητήσετε με κάποιον που έχει ρόλο διαχειριστή (π.χ. discord guide) ώστε να βοηθήσει στη διερεύνηση και την εκτέλεση της κατάλληλης απάντησης.
+
+Κατά την αναφορά, συμπεριλάβετε όσο το δυνατόν περισσότερες λεπτομέρειες, συμπεριλαμβανομένων συγκεκριμένων παραδειγμάτων και χρονικών αναφορών. Αυτό θα βοηθήσει για ένα δίκαιο αποτέλεσμα.
+
+### Επιβολή {#enforcement}
+
+Ανάλογα με τη σοβαρότητα, τα άτομα που παραβιάζουν τον κώδικα δεοντολογίας μπορούν να λάβουν προειδοποιήσεις, προσωρινές ή μόνιμες απαγορεύσεις από τις κοινότητες του ethereum.org.
diff --git a/public/content/translations/el/community/events/index.md b/public/content/translations/el/community/events/index.md
index 382c0b546d6..8dabc7e3ae2 100644
--- a/public/content/translations/el/community/events/index.md
+++ b/public/content/translations/el/community/events/index.md
@@ -13,6 +13,8 @@ hideEditButton: true
Αυτή δεν είναι η πλήρη λίστα, η οποία διαχειρίζεται από την κοινότητά μας. Γνωρίζετε μια εκδήλωση του Ethereum που θα πραγματοποιηθεί για να την προσθέσετε στη λίστα; [Παρακαλούμε προσθέστε την](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)!
+
+
## Συναντήσεις Ethereum {#meetups}
Δεν εμφανίζεται διαθέσιμη εκδήλωση για εσάς; Δοκιμάστε να συμμετάσχετε σε μια συνάντηση. Οι συναντήσεις είναι μικρότερες εκδηλώσεις που διοργανώνονται από ομάδες του Ethereum - μια ευκαιρία για αυτούς που ενδιαφέρονται για το Ethereum να έρθουν σε επαφή, να μιλήσουν για το Ethereum και να ενημερωθούν για τις πρόσφατες εξελίξεις.
diff --git a/public/content/translations/el/community/get-involved/index.md b/public/content/translations/el/community/get-involved/index.md
index 08a877b0f09..852412f2f6f 100644
--- a/public/content/translations/el/community/get-involved/index.md
+++ b/public/content/translations/el/community/get-involved/index.md
@@ -15,15 +15,17 @@ lang: el
- Μάθετε σχετικά και δοκιμάστε το Ethereum στο [ethereum.org/developers/](/developers/).
- Παρακολουθήστε ένα [ETHGlobal](http://ethglobal.co/) hackathon κοντά σας!
- Δείτε τα [έργα που σχετίζονται με τον τομέα που γνωρίζετε καλύτερα ή τη γλώσσα προγραμματισμού της επιλογής σας](/developers/docs/programming-languages/).
-- Παρακολουθήστε ή συμμετάσχετε σε μια συνάντηση [Core Dev](https://www.youtube.com/@EthereumProtocol).
+- Παρακολουθήστε ή συμμετάσχετε σε μια συνάντηση με θέμα [Επίπεδο Συναίνεσης και Εκτέλεσης](https://www.youtube.com/@EthereumProtocol/streams)
- [Λίστα επιθυμιών του Προγράμματος Υποστήριξης Οικοσυστήματος](https://esp.ethereum.foundation/wishlist/) - περιοχές εργαλείων, τεκμηρίωσης και υποδομής όπου το Πρόγραμμα Υποστήριξης Οικοσυστημάτων Ethereum αναζητά ενεργά αιτήσεις χορήγησης.
- [Web3Bridge](https://www.web3bridge.com/) - ένταξη στη φιλοδοξία της κοινότητας web3 και την πρωτοβουλία τους να εντοπίσουν, να εκπαιδεύσουν και να υποστηρίξουν εκατοντάδες προγραμματιστές και μέλη της κοινότητας σε όλη την Αφρική.
+- Εγγραφείτε στο [Eth R&D Discord](https://discord.com/invite/VmG7Uxc)
- Εγγραφείτε στο [Ethereum Cat Herders Discord](https://discord.com/invite/Nz6rtfJ8Cu)
## Ερευνητές & Ακαδημαϊκοί {#researchers-and-academics}
Έχετε εμπειρία στα μαθηματικά, την κρυπτογραφία ή τα οικονομικά; Ίσως, ενδιαφέρεστε για κάποιες από τις εργασίες αιχμής που γίνονται στο οικοσύστημα του Ethereum:
+- Εγγραφείτε στο [Eth R&D Discord](https://discord.com/invite/VmG7Uxc)
- Συντάξτε ή ελέγξτε μια πρόταση βελτίωσης του Ethereum
- Συντάξτε μία EIP
1. Υποβάλλετε την ιδέα σας στο [Ethereum Magicians](https://ethereum-magicians.org)
diff --git a/public/content/translations/el/community/grants/index.md b/public/content/translations/el/community/grants/index.md
index 3b1d3e25c9c..787a0cdf8c7 100644
--- a/public/content/translations/el/community/grants/index.md
+++ b/public/content/translations/el/community/grants/index.md
@@ -31,7 +31,7 @@ lang: el
- [Lido Ecosystem Grants Organization (LEGO)](https://lido.fi/lego) – _[Lido](https://lido.fi/) χρηματοοικονομικό οικοσύστημα_
- [MetaMask Program](https://metamaskgrants.org/) - _[MetaMask](https://metamask.io/) employee-led grants DAO_
- [Πρόγραμμα επιχορήγησης δικτύου SKALE](https://skale.space/developers#grants) - _[SKALE](https://skale.space/)δίκτυο οικοσυστήματος_
-- [Ίδρυμα Swarm πρόγραμμα χρηματοδοτήσεων](https://my.ethswarm.org/grants) - _Οικοσύστημα [Ιδρύματος Swarm](https://www.ethswarm.org/)_
+- [Ίδρυμα Swarm πρόγραμμα χρηματοδοτήσεων](https://my.ethswarm.org) - _Οικοσύστημα [Ιδρύματος Swarm](https://www.ethswarm.org/)_
- [The Graph](https://thegraph.com/ecosystem/grants/) – _Οικοσύστημα [The Graph](https://thegraph.com/)_
- [Πρόγραμμα χρηματοδοτήσεων Uniswap](https://www.uniswapfoundation.org/approach) – _Κοινότητα [Uniswap](https://uniswap.org/)_
diff --git a/public/content/translations/el/community/online/index.md b/public/content/translations/el/community/online/index.md
index 9c6e5d55b15..2fd24351b6f 100644
--- a/public/content/translations/el/community/online/index.md
+++ b/public/content/translations/el/community/online/index.md
@@ -8,6 +8,31 @@ lang: el
Εκατοντάδες χιλιάδες λάτρεις του Ethereum συγκεντρώνονται σε αυτές τις διαδικτυακές τοποθεσίες για να μοιραστούν ειδήσεις, να μιλήσουν για τις πρόσφατες εξελίξεις, να συζητήσουν τεχνικά ζητήματα και να ονειρευτούν το μέλλον.
+## Πολιτική καταχώρησης {#listing-policy}
+
+Για να διατηρήσει την ακεραιότητα και την αξία των κοινοτήτων που αναφέρονται, το ethereum.org ακολουθεί μια αυστηρή πολιτική για τον προσδιορισμό καταλληλότητας:
+
+### Κριτήρια επιλεξιμότητας {#eligibility-criteria}
+
+- **Συνάφεια**: Η κοινότητα πρέπει να σχετίζεται άμεσα με το Ethereum και το οικοσύστημά του.
+- **Επίπεδο δραστηριότητας**: Η κοινότητα θα πρέπει να είναι ενεργή, με τακτικές αλληλεπιδράσεις, αναρτήσεις ή συζητήσεις. Οι αδρανείς ή ανενεργές κοινότητες μπορούν να αφαιρεθούν.
+- **Συμμετοχικότητα**: Η κοινότητα πρέπει να καλλιεργήσει ένα φιλόξενο περιβάλλον που σέβεται τη διαφορετικότητα και ενθαρρύνει τη συμμετοχή από άτομα κάθε προέλευσης.
+- **Μη εμπορική κατεύθυνση**: Οι καταχωρίσεις προορίζονται για χώρους με γνώμονα την κοινότητα και όχι για εμπορικές ή διαφημιστικές πλατφόρμες.
+
+### Οδηγός περιεχομένου {#content-guidelines}
+
+- **Κατάλληλο περιεχόμενο**: Οι κοινότητες πρέπει να έχουν τις δικές τους οδηγίες εποπτείας, αποφεύγοντας ανεπιθύμητα μηνύματα, ρητορική μίσους, παρενόχληση ή οποιοδήποτε περιεχόμενο που προωθεί παράνομες δραστηριότητες.
+- **Γλώσσα**: Ενώ τα Αγγλικά είναι η κύρια γλώσσα, οι κοινότητες σε άλλες γλώσσες ενθαρρύνονται να υποβάλλουν αίτηση, εφόσον διατηρούν μια ατμόσφαιρα χωρίς αποκλεισμούς και σεβασμό.
+- **Διαφάνεια**: Σαφείς πληροφορίες σχετικά με τον σκοπό, τους κανόνες και τους διαχειριστές της κοινότητας θα πρέπει να είναι διαθέσιμες στα μέλη.
+
+### Άλλες προϋποθέσεις {#other-recommendations}
+
+- **Προσβασιμότητα**: Τα φόρουμ κοινότητας θα πρέπει να είναι προσβάσιμα από όλους για ανάγνωση χωρίς την ανάγκη εγγραφής ή σύνδεσης.
+- **Προσκλήσεις διακομιστή Discord**: Συνιστάται να προστίθενται μόνο αξιόπιστες προσκλήσεις διακομιστή Discord στο ethereum.org. Στην ιδανική περίπτωση, αυτές οι προσκλήσεις θα πρέπει να συνδέονται με μια σελίδα κοινότητας στον ιστότοπο (π.χ., [ethglobal.com/discord](https://ethglobal.com/discord)) ή να προέρχονται από μια επίσημη διεύθυνση URL (π.χ., [discord.gg/ethstaker](https://discord.gg/ethstaker) ή [discord.com/invite/ethstaker](https://discord.com/invite/ethstaker)).
+
+Εάν πιστεύετε ότι μια κοινότητα πρέπει να προστεθεί ή να αφαιρεθεί με βάση αυτές τις οδηγίες, [ανοίξτε ένα ζήτημα στο GitHub](https://github.com/ethereum/ethereum-org-website/issues).
+
+
## Φόρουμ {#forums}
r/ethereum - όλα για το Ethereum,
@@ -30,13 +55,14 @@ lang: el
Solidity Gitter - συνομιλία για ανάπτυξη με τη solidity (Gitter).
Solidity Matrix - συνομιλία για ανάπτυξη με τη solidity (Matrix)
Ethereum Stack Exchange *- φόρουμ ερωτήσεων και απαντήσεων*
-Peeranha *- αποκεντρωμένο φόρουμ ερωτήσεων και απαντήσεων*
+Φόρουμ κοινότητας Peera *- αποκεντρωμένο φόρουμ ερωτήσεων και απαντήσεων*
-## YouTube και Twitter {#youtube-and-twitter}
+## YouTube και X (γνωστό ως Twitter) {#youtube-and-twitter}
Ethereum Foundation - Μείνετε ενημερωμένοι με ό,τι πιο πρόσφατο από το Ίδρυμα Ethereum.
-@ethereum - Επίσημος λογαριασμός του Ιδρύματος Ethereum.
-@ethdotorg - Η πύλη στο Ethereum που δημιουργήθηκε για την αναπτυσσόμενη παγκόσμια κοινότητα μας.
+@ethereum - Κύριος λογαριασμός Ethereum για την κοινότητα
+@ethereumfndn - Επίσημος λογαριασμός του Ethereum Foundation
+@ethdotorg - Η πύλη στο Ethereum που δημιουργήθηκε για την αναπτυσσόμενη παγκόσμια κοινότητα μας.
Λίστα με σημαντικούς λογαριασμούς Ethereum twitter.
diff --git a/public/content/translations/el/community/research/index.md b/public/content/translations/el/community/research/index.md
index f7266fda53a..d0a747df280 100644
--- a/public/content/translations/el/community/research/index.md
+++ b/public/content/translations/el/community/research/index.md
@@ -6,21 +6,21 @@ lang: el
# Ενεργοί τομείς έρευνας για το Ethereum {#active-areas-of-ethereum-research}
-Ένα από τα κύρια πλεονεκτήματα του Ethereum είναι ότι μια ενεργή κοινότητα έρευνας και μηχανικής το βελτιώνει συνεχώς. Πολλοί ενθουσιώδεις, ειδικευμένοι άνθρωποι από όλο τον κόσμο θα ήθελαν να ασχοληθούν με εκκρεμή ζητήματα στο Ethereum, αλλά δεν είναι πάντα εύκολο να μάθετε ποια είναι αυτά τα ζητήματα. Αυτή η σελίδα περιγράφει τους βασικούς ενεργούς ερευνητικούς τομείς μέσα από έναν πρόχειρο οδηγό για την αιχμή του Ethereum.
+Ένα από τα κύρια πλεονεκτήματα του Ethereum, είναι ότι μια ενεργή κοινότητα έρευνας και μηχανικής το βελτιώνει συνεχώς. Πολλοί ενθουσιώδεις, ειδικευμένοι άνθρωποι από όλο τον κόσμο θα ήθελαν να ασχοληθούν με εκκρεμή ζητήματα στο Ethereum, αλλά δεν είναι πάντα εύκολο να μάθετε ποια είναι αυτά τα ζητήματα. Αυτή η σελίδα περιγράφει τους βασικούς ενεργούς ερευνητικούς τομείς μέσα από έναν πρόχειρο οδηγό για την αιχμή του Ethereum.
## Πώς λειτουργεί η έρευνα στο Ethereum {#how-ethereum-research-works}
-Η έρευνα για το Ethereum είναι ανοιχτή και διαφανής, ενσωματώνοντας τις αρχές της [Αποκεντρωμένης επιστήμης (DeSci)](https://hackernoon.com/desci-decentralized-science-as-our-chance-to-recover-the-real-science). Η κουλτούρα είναι να γίνουν τα ερευνητικά εργαλεία και τα αποτελέσματα όσο το δυνατόν πιο ανοιχτά και διαδραστικά, για παράδειγμα μέσω εκτελέσιμων σημειωματάριων. Η έρευνα για το Ethereum προχωρά γρήγορα, με νέα ευρήματα να δημοσιεύονται και να συζητούνται ανοιχτά σε φόρουμ όπως το [ethresear.ch](https://ethresear.ch/) αντί να φτάνουν στην κοινότητα μέσω των παραδοσιακών δημοσιεύσεων μετά από διαδικασίες αξιολόγησης από διάφορους χρήστες.
+Η έρευνα στο Ethereum είναι ανοιχτή και διαφανής, ενσωματώνοντας τις αρχές της [Αποκεντρωμένης Επιστήμης (DeSci)](https://hackernoon.com/desci-decentralized-science-as-our-chance-to-recover-the-real-science). Η κουλτούρα είναι να γίνουν τα ερευνητικά εργαλεία και τα αποτελέσματα όσο το δυνατόν πιο ανοιχτά και διαδραστικά, για παράδειγμα μέσω εκτελέσιμων σημειωματάριων. Η έρευνα για το Ethereum προχωρά γρήγορα, με νέα ευρήματα να δημοσιεύονται και να συζητούνται ανοιχτά σε φόρουμ όπως το [ethresear.ch](https://ethresear.ch/) αντί να φτάνουν στην κοινότητα μέσω παραδοσιακών δημοσιεύσεων μετά από γύρους αξιολόγησης από χρήστες.
## Γενικοί ερευνητικοί πόροι {#general-research-resources}
-Ανεξάρτητα από το συγκεκριμένο θέμα, υπάρχει πληθώρα πληροφοριών σχετικά με την έρευνα του Ethereum στη διεύθυνση [ethresear.ch](https://ethresear.ch) και στο [κανάλι Eth R&D του Discord](https://discord.gg/qGpsxSA). Αυτά είναι τα κύρια μέρη όπου οι ερευνητές του Ethereum συζητούν τις τελευταίες ιδέες και ευκαιρίες ανάπτυξης.
+Ανεξάρτητα από το συγκεκριμένο θέμα, υπάρχει πληθώρα πληροφοριών σχετικά με την έρευνα του Ethereum στη διεύθυνση [ethresear.ch](https://ethresear.ch) και στο [κανάλι Eth Rd του Discord](https://discord.gg/qGpsxSA). Αυτά είναι τα κύρια μέρη όπου οι ερευνητές του Ethereum συζητούν τις τελευταίες ιδέες και ευκαιρίες ανάπτυξης.
Αυτή η αναφορά δημοσιεύτηκε τον Μάιο του 2022 από το [DelphiDigital](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum) και παρέχει μια καλή επισκόπηση του οδικού χάρτη του Ethereum.
## Πηγές χρηματοδότησης {#sources-of-funding}
-Μπορείτε να εμπλακείτε με την έρευνα για το Ethereum και να πληρωθείτε για αυτό! Για παράδειγμα, το [Ίδρυμα Ethereum](/foundation/) διεξήγαγε πρόσφατα έναν γύρο χρηματοδότησης [Academic Grants](https://esp.ethereum.foundation/academic-grants). Μπορείτε να βρείτε πληροφορίες για ενεργές και επερχόμενες ευκαιρίες χρηματοδότησης στη [σελίδα επιχορηγήσεων του Ethereum](/community/grants/).
+Μπορείτε να εμπλακείτε με την έρευνα για το Ethereum και να πληρωθείτε για αυτό! Για παράδειγμα, το [Ίδρυμα Ethereum](/foundation/) διεξήγαγε πρόσφατα έναν [γύρο χρηματοδότησης Academic Grants](https://esp.ethereum.foundation/academic-grants). Μπορείτε να βρείτε πληροφορίες για ενεργές και επερχόμενες ευκαιρίες χρηματοδότησης στη [σελίδα επιχορηγήσεων του Ethereum](/community/grants/).
## Έρευνα πρωτοκόλλου {#protocol-research}
@@ -31,48 +31,48 @@ lang: el
Η έρευνα συναίνεσης ασχολείται με τον [μηχανισμό της απόδειξης συμμετοχής του Ethereum](/developers/docs/consensus-mechanisms/pos/). Μερικά παραδείγματα συναινετικών ερευνητικών θεμάτων είναι:
- ο εντοπισμός και η επιδιόρθωση των τρωτών σημείων.
-- την ποσοτικοποίηση κρυπτοοικονομικής ασφάλειας.
-- την αύξηση της ασφάλειας ή της απόδοσης των εφαρμογών της εφαρμογής πελάτη.
-- και η ανάπτυξη εφαρμογών πελάτη χαμηλών επιδόσεων.
+- Η ποσοτικοποίηση κρυπτοοικονομικής ασφάλειας.
+- Η αύξηση της ασφάλειας ή της απόδοσης των εφαρμογών της εφαρμογής πελάτη.
+- Η ανάπτυξη εφαρμογών πελάτη χαμηλών επιδόσεων.
Εκτός από την προοδευτική έρευνα, ερευνώνται ορισμένοι θεμελιώδεις επανασχεδιασμοί του πρωτοκόλλου, όπως η οριστικοποίηση μιας θέσης, ώστε να επιτραπούν σημαντικές βελτιώσεις στο Ethereum. Επιπλέον, η αποτελεσματικότητα, η ασφάλεια και η παρακολούθηση της δικτύωσης από χρήστη σε χρήστη μεταξύ εφαρμογών πελατών συναίνεσης είναι επίσης σημαντικά ερευνητικά θέματα.
-#### Επιπλέον πληροφορίες {#background-reading}
+#### Απαιτούμενες γνώσεις {#background-reading}
-- [Introduction to proof-of-stake](/developers/docs/consensus-mechanisms/pos/)
-- [Casper-FFG paper](https://arxiv.org/abs/1710.09437)
-- [Επεξηγητής Casper-FFG](https://arxiv.org/abs/1710.09437)
-- [Χαρτί Gasper](https://arxiv.org/abs/2003.03052)
+- [Είσοδος στην απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/)
+- [Έγγραφο Casper-FFG](https://arxiv.org/abs/1710.09437)
+- [Εξήγηση Casper-FFG](https://arxiv.org/abs/1710.09437)
+- [Έγγραφο Gasper](https://arxiv.org/abs/2003.03052)
#### Πρόσφατη έρευνα {#recent-research}
-- [Ethresear.ch Consensus](https://ethresear.ch/c/consensus/29)
-- [Δίλημμα διαθεσιμότητας/οριστικοποίησης](https://arxiv.org/abs/2009.04987)
-- [Single slot finality](https://ethresear.ch/t/a-model-for-cumulative-committee-based-finality/10259)
-- [Διαχωρισμός προτείνοντος - κατασκευαστή](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
+- [Συναίνεση Ethresear.ch](https://ethresear.ch/c/consensus/29)
+- [Δίλημμα διαθεσιμότητα ή οριστικοποίηση](https://arxiv.org/abs/2009.04987)
+- [Οριστικοποίηση απλής θέσης](https://ethresear.ch/t/a-model-for-cumulative-committee-based-finality/10259)
+- [Διαχωρισμός προτείνων - δημιουργού](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
### Εκτέλεση {#execution}
-Το επίπεδο εκτέλεσης ασχολείται με την εκτέλεση των συναλλαγών, τη λειτουργία της [εικονικής μηχανής του Ethereum (EVM)](/developers/docs/evm/) και τη δημιουργία ωφέλιμων φορτίων εκτέλεσης για να περάσουν στο επίπεδο συναίνεσης. Υπάρχουν πολλοί ενεργοί τομείς έρευνας, όπως:
+Το επίπεδο εκτέλεσης ασχολείται με την εκτέλεση των συναλλαγών, τη λειτουργία της [εικονικής μηχανής του Ethereum (EVM)](/developers/docs/evm/) και τη δημιουργία ωφέλιμων συναλλαγών εκτέλεσης για να περάσουν στο επίπεδο συναίνεσης. Υπάρχουν πολλοί ενεργοί τομείς έρευνας, όπως:
-- τη δημιουργία υποστήριξης για εφαρμογές πελάτη χαμηλών επιδόσεων.
-- την έρευνα ορίων των κρατήσεων.
-- την ενσωμάτωση νέων δομών δεδομένων (π.χ. Verkle Tries).
+- Η δημιουργία υποστήριξης για εφαρμογές πελάτη χαμηλών επιδόσεων.
+- Η έρευνα ορίων των κρατήσεων.
+- Η ενσωμάτωση νέων δομών δεδομένων (π.χ. Verkle Tries).
-#### Επιπλέον πληροφορίες {#background-reading-1}
+#### Απαιτούμενες γνώσεις {#background-reading-1}
-- [Εισαγωγή στο EVM.](/developers/docs/evm)
-- [Εκτελεστικό επίπεδο Ethresear.ch.](https://ethresear.ch/c/execution-layer-research/37)
+- [Εισαγωγή στην EVM](/developers/docs/evm)
+- [Επίπεδο εκτέλεσης Ethresear.ch](https://ethresear.ch/c/execution-layer-research/37)
#### Πρόσφατη έρευνα {#recent-research-1}
-- [Βελτιστοποιήσεις βάσεως δεδομένων.](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/db_faq.md)
-- [State expiry](https://notes.ethereum.org/@vbuterin/state_expiry_eip)
-- [Διαδρομές για τη λήξη κατάστασης.](https://hackmd.io/@vbuterin/state_expiry_paths)
-- [Πρόταση λήξης κατάστασης και Verkel.](https://notes.ethereum.org/@vbuterin/verkle_and_state_expiry_proposal)
-- [Διαχείριση ιστορικού.](https://eips.ethereum.org/EIPS/eip-4444)
-- [Verkle Trees.](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
-- [Δειγματοληψία διαθεσιμότητας δεδομένων](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding)
+- [Βελτιστοποιήσεις βάσεων δεδομένων](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/db_faq.md)
+- [Ολοκλήρωση κατάστασης](https://notes.ethereum.org/@vbuterin/state_expiry_eip)
+- [Διαδρομή για ολοκλήρωση κατάστασης](https://hackmd.io/@vbuterin/state_expiry_paths)
+- [Τα Verkle και πρόταση ολοκλήρωσης κατάστασης](https://notes.ethereum.org/@vbuterin/verkle_and_state_expiry_proposal)
+- [Διαχείριση ιστορικού](https://eips.ethereum.org/EIPS/eip-4444)
+- [Verkle Trees](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
+- [Δείγματα διαθεσιμότητας δεδομένων](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding)
## Ανάπτυξη εφαρμογής πελάτη {#client-development}
@@ -80,22 +80,22 @@ lang: el
Απαιτείται ένας κόμβος Ethereum για την εκτέλεση δύο τμημάτων του λογισμικού:
-1. Ένα πελάτη συναίνεσης για να παρακολουθεί την αρχή της κρυπτοαλυσίδας, τα μπλοκ ενημέρωσης και να χειρίζεται τη λογική συναίνεσης.
-2. Ένα πελάτη εκτέλεσης για την υποστήριξη της εικονικής μηχανής Ethereum και την εκτέλεση συναλλαγών και έξυπνων συμβολαίων.
+1. Ένας πελάτης συναίνεσης για να παρακολουθεί την αρχή της κρυπτοαλυσίδας, τα μπλοκ ενημέρωσης και να χειρίζεται τη λογική συναίνεσης.
+2. Ένας πελάτης εκτέλεσης για την υποστήριξη της εικονικής μηχανής Ethereum και την εκτέλεση συναλλαγών και έξυπνων συμβολαίων.
Ανατρέξτε στη [σελίδα κόμβων και πελατών](/developers/docs/nodes-and-clients/) για περισσότερες λεπτομέρειες σχετικά με τους κόμβους και τις εφαρμογές πελάτη και για τη λίστα με όλες τις τρέχουσες υλοποιήσεις πελατών. Μπορείτε επίσης να βρείτε το ιστορικό όλων των αναβαθμίσεων του Ethereum στη [σελίδα ιστορικού](/history/).
### Εφαρμογές πελάτη εκτέλεσης {#execution-clients}
- [Προδιαγραφές πελάτη εκτέλεσης](https://github.com/ethereum/execution-specs)
-- [Προδιαγραφές ΑΡΙ εκτέλεσης](https://github.com/ethereum/execution-apis)
+- [Προδιαγραφές API εκτέλεσης](https://github.com/ethereum/execution-apis)
### Εφαρμογές πελάτη συναίνεσης {#consensus-clients}
- [Προδιαγραφές πελάτη συναίνεσης](https://github.com/ethereum/consensus-specs)
-- [Προδιαγραφή κεντρικού API](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot)
+- [Προδιαγραφές Beacon API](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot)
-## Κλιμακωτή αναβάθμιση και απόδοση {#scaling-and-performance}
+## Αναβάθμιση και επιδόσεις {#scaling-and-performance}
Η κλιμακωτή αναβάθμιση του Ethereum είναι μια μεγάλη περιοχή εστίασης για τους ερευνητές του Ethereum. Οι τρέχουσες προσεγγίσεις περιλαμβάνουν τη μεταφόρτωση συναλλαγών σε πακέτα ενημέρωσης και την όσο το δυνατόν φθηνότερη χρέωση χρησιμοποιώντας σύνολα δεδομένων. Εισαγωγικές πληροφορίες σχετικά με την κλιμακωτή αναβάθμιση του Ethereum είναι διαθέσιμες στη [σελίδα κλιμακωτής αναβάθμισης](/developers/docs/scaling).
@@ -103,28 +103,28 @@ lang: el
Υπάρχουν πολλά πρωτόκολλα επιπέδου 2 που αναβαθμίζουν κλιμακωτά το Ethereum χρησιμοποιώντας διαφορετικές τεχνικές για την ομαδοποίηση των συναλλαγών και την ασφάλισή τους στο επίπεδο 1 του Ethereum. Αυτό είναι ένα πολύ ταχέως αναπτυσσόμενο ζήτημα με πολλές δυνατότητες έρευνας και ανάπτυξης.
-#### Επιπλέον πληροφορίες {#background-reading-2}
+#### Απαιτούμενες γνώσεις {#background-reading-2}
- [Εισαγωγή στο επίπεδο 2](/layer-2/)
- [Polynya: Πακέτα ενημέρωσης, DA και αρθρωτές αλυσίδες](https://polynya.medium.com/rollups-data-availability-layers-modular-blockchains-introductory-meta-post-5a1e7a60119d)
#### Πρόσφατη έρευνα {#recent-research-2}
-- [Arbitrum's fair-ordering for sequencers](https://eprint.iacr.org/2021/1465)
-- [ethresear.ch Επίπεδο 2](https://ethresear.ch/c/layer-2/32)
-- [Οδικός χάρτης των πακέτων ενημέρωσης](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)
+- [Arbitrum's δίκαιη εντολή για ακολουθίες](https://eprint.iacr.org/2021/1465)
+- [Ethresear.ch Επίπεδο 2](https://ethresear.ch/c/layer-2/32)
+- [Οδικός χάρτης Rollup-centric](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)
- [L2Beat](https://l2beat.com/)
### Γέφυρες {#bridges}
Μια συγκεκριμένη περιοχή του επιπέδου 2 που απαιτεί περισσότερη έρευνα και ανάπτυξη, είναι οι ασφαλείς και αποτελεσματικές γέφυρες. Αυτό περιλαμβάνει γέφυρες μεταξύ διαφόρων επιπέδων 2 και γέφυρες μεταξύ του επιπέδου 1 και του επιπέδου 2. Αυτός είναι ένας ιδιαίτερα σημαντικός τομέας έρευνας επειδή οι γέφυρες στοχοποιούνται συνήθως από χάκερ.
-#### Επιπλέον πληροφορίες {#background-reading-3}
+#### Απαιτούμενες γνώσεις {#background-reading-3}
- [Εισαγωγή στις γέφυρες κρυπτοαλυσίδων](/bridges/)
- [Ο Vitalik για τις γέφυρες](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/)
-- [Το άρθρο για τις γέφυρες κρυπτοαλυσίδας](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8)
-- [Κλειδωμένη αξία στις γέφυρες]()
+- [Άρθρο για τις γέφυρες Blockchain](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8)
+- [Κλειδωμένη αξία στις γέφυρες](https://dune.com/eliasimos/Bridge-Away-\(from-Ethereum\))
#### Πρόσφατη έρευνα {#recent-research-3}
@@ -132,13 +132,17 @@ lang: el
### Τμηματοποίηση {#sharding}
-Το τμηματοποίηση της κρυπτοαλυσίδας του Ethereum αποτελεί εδώ και καιρό μέρος του οδικού χάρτη ανάπτυξης. Ωστόσο, νέες λύσεις κλιμακωτής αναβάθμισης όπως το «Danksharding» βρίσκονται επί του παρόντος στο επίκεντρο.
+Η τμηματοποίηση της κρυπτοαλυσίδας του Ethereum αποτελεί εδώ και καιρό μέρος του οδικού χάρτη ανάπτυξης. Ωστόσο, νέες λύσεις κλιμακωτής αναβάθμισης όπως το «Danksharding» βρίσκονται επί του παρόντος στο επίκεντρο.
-#### Επιπλέον πληροφορίες {#background-reading-4}
+Ο πρόδρομος του πλήρους Danksharding γνωστό ως Proto-Danksharding κυκλοφόρησε με την αναβάθμιση του δικτύου Cancun-Deneb (Dencun).
+
+[Περισσότερα σχετικά με την αναβάθμιση Dencun](/roadmap/dencun/)
+
+#### Απαιτούμενες γνώσεις {#background-reading-4}
- [Σημειώσεις Proto-Danksharding](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq)
-- [Βίντεο Danksharding χωρίς τράπεζα](https://www.youtube.com/watch?v=N5p0TB77flM)
-- [Ethereum Sharding Research Compendium](https://notes.ethereum.org/@serenity/H1PGqDhpm?type=view)
+- [Βίντεο Bankless Danksharding](https://www.youtube.com/watch?v=N5p0TB77flM)
+- [Η επιτομή έρευνας για το Sharding του Ethereum](https://notes.ethereum.org/@serenity/H1PGqDhpm?type=view)
- [Danksharding (Polynya)](https://polynya.medium.com/danksharding-36dc0c8067fe)
#### Πρόσφατη έρευνα {#recent-research-4}
@@ -148,25 +152,25 @@ lang: el
### Εξοπλισμός {#hardware}
-[Η εκτέλεση κόμβων](/developers/docs/nodes-and-clients/run-a-node/) σε σύγχρονο υλικό είναι θεμελιώδους σημασίας για τη διατήρηση του Ethereum αποκεντρωμένο. Επομένως, η ενεργός έρευνα για την ελαχιστοποίηση των απαιτήσεων υλικού για την εκτέλεση κόμβων είναι ένας σημαντικός τομέας έρευνας.
+Η [εκτέλεση κόμβων](/developers/docs/nodes-and-clients/run-a-node/) σε σύγχρονο υλικό είναι θεμελιώδους σημασίας για τη διατήρηση του Ethereum αποκεντρωμένο. Επομένως, η ενεργός έρευνα για την ελαχιστοποίηση των απαιτήσεων υλικού για την εκτέλεση κόμβων είναι ένας σημαντικός τομέας έρευνας.
-#### Επιπλέον πληροφορίες {#background-reading-5}
+#### Απαιτούμενες γνώσεις {#background-reading-5}
-- [Ethereum στο ARM](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/)
+- [Το Ethereum στο ARM](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/)
#### Πρόσφατη έρευνα {#recent-research-5}
-- [ecdsa σε FPGAs](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738)
+- [Το ecdsa στο FPGAs](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738)
## Ασφάλεια {#security}
Η ασφάλεια είναι ένα ευρύ θέμα που μπορεί να περιλαμβάνει την πρόληψη ανεπιθύμητης αλληλογραφίας/απάτης, την ασφάλεια πορτοφολιού, την ασφάλεια υλικού, την κρυπτοοικονομική ασφάλεια, την αναζήτηση σφαλμάτων και τη δοκιμή εφαρμογών και λογισμικού πελατών και διαχείριση των κλειδιών. Η συμβολή στη γνώση σε αυτούς τους τομείς θα συμβάλει στην τόνωση της γενικής υιοθέτησης.
-### Κρυπτογραφία & ZKP {#cryptography--zkp}
+### Κρυπτογράφηση και ZKP {#cryptography--zkp}
-Οι αποδείξεις μηδενικής γνώσης (ZKP) και η κρυπτογραφία είναι ζωτικής σημασίας για τη δημιουργία απορρήτου και ασφάλειας στο Ethereum και τις εφαρμογές του. Η μηδενική γνώση είναι ένας σχετικά νέος αλλά ταχύτατος χώρος με πολλές ανοιχτές ευκαιρίες έρευνας και ανάπτυξης. Ορισμένες δυνατότητες περιλαμβάνουν την ανάπτυξη πιο αποτελεσματικών υλοποιήσεων του [αλγόριθμου κατακερματισμού Keccak](https://hackmd.io/sK7v0lr8Txi1bgION1rRpw?view#Overview), την εύρεση καλύτερων πολυωνυμικών δεσμεύσεων που υπάρχουν σήμερα ή τη μείωση του κόστους του ecdsa των κυκλωμάτων επαλήθευσης και δημιουργίας δημόσιου κλειδιού και υπογραφής.
+Οι αποδείξεις μηδενικής γνώσης (ZKP) και η κρυπτογραφία είναι ζωτικής σημασίας για τη δημιουργία απορρήτου και ασφάλειας στο Ethereum και τις εφαρμογές του. Η μηδενική γνώση είναι ένας σχετικά νέος αλλά ταχύτατος χώρος με πολλές ανοιχτές ευκαιρίες έρευνας και ανάπτυξης. Ορισμένες δυνατότητες περιλαμβάνουν την ανάπτυξη πιο αποτελεσματικών υλοποιήσεων του [αλγόριθμου κατακερματισμού Keccak[Keccak hashing algorithm](https://hackmd.io/sK7v0lr8Txi1bgION1rRpw?view#Overview), την εύρεση καλύτερων πολυωνυμικών δεσμεύσεων που υπάρχουν σήμερα ή τη μείωση του κόστους του ecdsa των κυκλωμάτων επαλήθευσης και δημιουργίας δημόσιου κλειδιού και υπογραφής.
-#### Επιπλέον πληροφορίες {#background-reading-6}
+#### Απαιτούμενες γνώσεις {#background-reading-6}
- [Ιστολόγιο 0xparc](https://0xparc.org/blog)
- [zkp.science](https://zkp.science/)
@@ -181,22 +185,22 @@ lang: el
Τα πορτοφόλια Ethereum μπορεί να είναι επεκτάσεις προγράμματος περιήγησης, εφαρμογές για υπολογιστές και κινητά ή έξυπνα συμβόλαια στο Ethereum. Υπάρχει ενεργή έρευνα για τα πορτοφόλια ανάκτησης κοινωνικής δικτύωσης που μειώνουν μέρος του κινδύνου που σχετίζεται με τη διαχείριση κλειδιών των μεμονωμένων χρηστών. Η έρευνα για εναλλακτικές μορφές υλοποίησης λογαριασμών συνδέεται με την ανάπτυξη πορτοφολιών, η οποία είναι ένας σημαντικός τομέας της εκκολαπτόμενης έρευνας.
-#### Επιπλέον πληροφορίες {#background-reading-7}
+#### Απαιτούμενες γνώσεις {#background-reading-7}
- [Εισαγωγή στα πορτοφόλια](/wallets/)
- [Εισαγωγή στην ασφάλεια πορτοφολιού](/security/)
-- [Ασφάλεια ethresear.ch](https://ethresear.ch/tag/security)
-- [EIP-2938 Account Abstraction](https://eips.ethereum.org/EIPS/eip-2938)
-- [EIP-4337 Account Abstraction](https://eips.ethereum.org/EIPS/eip-4337)
+- [Ασφάλεια Ethresear.ch](https://ethresear.ch/tag/security)
+- [EIP-2938 Αφαιρετικότητα λογαριασμού](https://eips.ethereum.org/EIPS/eip-2938)
+- [EIP-4337 Αφαιρετικότητα λογαριασμού](https://eips.ethereum.org/EIPS/eip-4337)
#### Πρόσφατη έρευνα {#recent-research-7}
-- [Πορτοφόλια έξυπνων συμβολαίων εστιασμένων στην επικύρωση](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
+- [Πορτοφόλια έξυπνων συμβολαίων εστιασμένα στην επικύρωση](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
- [Το μέλλον των λογαριασμών](https://ethereum-magicians.org/t/validation-focused-smart-contract-wallets/6603)
- [EIP-3074 AUTH και AUTHCALL Opcodes](https://eips.ethereum.org/EIPS/eip-3074)
-- [Δημοσίευση κώδικα σε διεύθυνση ΕΟΑ](https://eips.ethereum.org/EIPS/eip-5003)
+- [Δημοσίευση κώδικα σε διεύθυνση EOA](https://eips.ethereum.org/EIPS/eip-5003)
-## Κοινότητα, εκπαίδευση και προβολή {#community-education-and-outreach}
+## Κοινότητα, εκπαίδευση και έρευνα {#community-education-and-outreach}
Η προσθήκη νέων χρηστών στο Ethereum απαιτεί νέους εκπαιδευτικούς πόρους και προσεγγίσεις ενημέρωσης. Αυτό μπορεί να περιλαμβάνει αναρτήσεις και άρθρα ιστολογίου, βιβλία, podcast, memes, εκδηλώσεις ενημέρωσης και οτιδήποτε άλλο δημιουργεί κοινότητες, καλωσορίζει νέους αρχάριους και εκπαιδεύει τους ανθρώπους σχετικά με το Ethereum.
@@ -204,77 +208,77 @@ lang: el
Για να ενσωματωθούν περισσότερα άτομα στο Ethereum, το οικοσύστημα πρέπει να βελτιώσει το UX/UI. Αυτό θα απαιτήσει από τους σχεδιαστές και τους ειδικούς προϊόντων να επανεξετάσουν τον σχεδιασμό των πορτοφολιών και των εφαρμογών.
-#### Επιπλέον πληροφορίες {#background-reading-8}
+#### Απαιτούμενες γνώσεις {#background-reading-8}
- [Ethresear.ch UX/UI](https://ethresear.ch/c/ui-ux/24)
#### Πρόσφατη έρευνα {#recent-research-8}
-- [Discord σχεδίασης Web3](https://discord.gg/FsCFPMTSm9)
-- [Οι αρχές σχεδιασμού Web3](https://www.web3designprinciples.com/)
+- [Discord Σχεδίασης Web3](https://discord.gg/FsCFPMTSm9)
+- [Αρχές Σχεδιασμού Web3](https://www.web3designprinciples.com/)
- [Συζήτηση Ethereum Magicians UX](https://ethereum-magicians.org/t/og-council-ux-follow-up/9032/3)
### Οικονομικά {#economics}
Η οικονομική έρευνα στο Ethereum ακολουθεί σε γενικές γραμμές δύο προσεγγίσεις: την επικύρωση της ασφάλειας των μηχανισμών που βασίζονται σε οικονομικά κίνητρα («μικροοικονομία») και την ανάλυση των ροών αξίας μεταξύ των πρωτοκόλλων, των εφαρμογών και των χρηστών («μακροοικονομία»). Υπάρχουν περίπλοκοι κρυπτοοικονομικοί παράγοντες που σχετίζονται με το εγγενές κρυπτονόμισμα του Ethereum (ether) και τα κρυπτονομίσματα που έχουν δημιουργηθεί πάνω σε αυτό (για παράδειγμα τα NFT και τα κρύπτο ERC20).
-#### Επιπλέον πληροφορίες {#background-reading-9}
+#### Απαιτούμενες γνώσεις {#background-reading-9}
- [Robust Incentives Group](https://ethereum.github.io/rig/)
-- [Ομάδα εργασίας ETHconomics στο Devconnect](https://www.youtube.com/playlist?list=PLTLjFJ0OQOj5PHRvA2snoOKt2udVsyXEm)
+- [Ομάδα εργασίας οικονομικών ETH στο Devconnect](https://www.youtube.com/playlist?list=PLTLjFJ0OQOj5PHRvA2snoOKt2udVsyXEm)
#### Πρόσφατη έρευνα {#recent-research-9}
-- [Εμπειρική ανάλυση EIP1559](https://arxiv.org/abs/2201.05574)
+- [Εμπειρική ανάλυση του EIP1559](https://arxiv.org/abs/2201.05574)
- [Circulating supply equilibrium](https://ethresear.ch/t/circulating-supply-equilibrium-for-ethereum-and-minimum-viable-issuance-during-the-proof-of-stake-era/10954)
-- [Quantifying MEV: Πόσο σκοτεινό είναι το δάσος;](https://arxiv.org/abs/2101.05511)
+- [Ποσοτικοποίηση MEV: Πόσο σκοτεινό είναι το δάσος;](https://arxiv.org/abs/2101.05511)
-### Blockspace και αγορές τελών {#blockspace-fee-markets}
+### Blockspace και αγορές κρατήσεων {#blockspace-fee-markets}
Οι αγορές blockspace διέπουν τη συμπερίληψη συναλλαγών τελικού χρήστη, είτε απευθείας στο Ethereum (Επίπεδο 1) είτε σε γεφυρωμένα δίκτυα, π.χ. πακέτα ενημέρωσης (Επίπεδο 2). Στο Ethereum, οι συναλλαγές υποβάλλονται στην αγορά χρεώσεων που αναπτύσσονται εντός του πρωτοκόλλου ως EIP-1559, προστατεύοντας την αλυσίδα από ανεπιθύμητα μηνύματα και συμφόρηση τιμολόγησης. Και στα δύο επίπεδα, οι συναλλαγές μπορεί να παράγουν εξωτερικές επιδράσεις, γνωστές ως Μέγιστη Εξαγώγιμη Αξία (MEV), οι οποίες παρακινούν τις νέες δομές της αγοράς να συμπεριλάβουν ή να διαχειριστούν αυτές τις εξωτερικές επιδράσεις.
-#### Επιπλέον πληροφορίες {#background-reading-10}
+#### Απαιτούμενες γνώσεις {#background-reading-10}
-- [Σχεδιασμός Μηχανισμού Χρεώσεων Συναλλαγών για την κρυπτοαλυσίδα του Ethereum: Μια οικονομική ανάλυση του EIP-1559 (Tim Roughgarden, 2020)](https://timroughgarden.org/papers/eip1559.pdf)
-- [Προσομοιώσεις EIP-1559 (Robust Incentives Group)](https://ethereum.github.io/abm1559)
-- [Πακέτα ενημέρωσης οικονομικών από τις πρώτες αρχές](https://barnabe.substack.com/p/understanding-rollup-economics-from?utm_source=url)
+- [Σχεδιασμός μηχανισμού κρατήσεων για το Ethereum Blockchain: An Economic Analysis of EIP-1559 (Tim Roughgarden, 2020)](https://timroughgarden.org/papers/eip1559.pdf)
+- [Προσομοίωση του EIP-1559 (Robust Incentives Group)](https://ethereum.github.io/abm1559)
+- [Οικονομικά πακέτων ενημέρωσης από την πρώτη Αρχή](https://barnabe.substack.com/p/understanding-rollup-economics-from?utm_source=url)
- [Flash Boys 2.0: Αρχική εκτέλεση, αναδιάταξη συναλλαγών και αστάθεια συναίνεσης σε αποκεντρωμένα χρηματιστήρια](https://arxiv.org/abs/1904.05234)
#### Πρόσφατη έρευνα {#recent-research-10}
- [Πολυδιάστατη παρουσίαση βίντεο EIP-1559](https://youtu.be/QbR4MTgnCko)
-- [MEV μεταξύ ονομάτων τομέα](http://arxiv.org/abs/2112.01472)
-- [Ενέργειες MEV](https://ethresear.ch/t/mev-auction-auctioning-transaction-ordering-rights-as-a-solution-to-miner-extractable-value/6788)
+- [Cross domain MEV](http://arxiv.org/abs/2112.01472)
+- [Λειτουργίες MEV](https://ethresear.ch/t/mev-auction-auctioning-transaction-ordering-rights-as-a-solution-to-miner-extractable-value/6788)
-### Κίνητρα της απόδειξης συμμετοχής {#proof-of-stake-incentives}
+### Κίνητρα απόδειξης συμμετοχής {#proof-of-stake-incentives}
Οι επικυρωτές χρησιμοποιούν το εγγενές κρυπτονόμισμα (ether) του Ethereum ως εγγύηση έναντι της ανέντιμης συμπεριφοράς. Αυτή η κρυπτοοικονομία καθορίζει την ασφάλεια του δικτύου. Οι εξελιγμένοι επικυρωτές μπορεί να είναι σε θέση να εκμεταλλευτούν τις εκδοχές του επιπέδου κινήτρων για να εξαπολύσουν ρητές επιθέσεις.
-#### Επιπλέον πληροφορίες {#background-reading-11}
+#### Απαιτούμενες γνώσεις {#background-reading-11}
-- [Εξειδικευμένα οικονομικά του Ethereum και οικονομικό μοντέλο](https://github.com/CADLabs/ethereum-economic-model)
+- [Masterclass οικονομικών Ethereum και οικονομικό μοντέλο](https://github.com/CADLabs/ethereum-economic-model)
- [Προσομοιώσεις κινήτρων PoS (Robust Incentives Group)](https://ethereum.github.io/beaconrunner/)
#### Πρόσφατη έρευνα {#recent-research-11}
-- [Αυξάνοντας την αντίσταση στη λογοκρισία των συναλλαγών στο πλαίσιο του διαχωρισμού προτείνοντα/κατασκευαστή (PBS)](https://notes.ethereum.org/s3JToeApTx6CKLJt8AbhFQ)
+- [Αυξάνοντας την αντίσταση στη λογοκρισία των συναλλαγών υπό διαχωρισμό προτείνοντα/κατασκευαστή (PBS)](https://notes.ethereum.org/s3JToeApTx6CKLJt8AbhFQ)
- [Τρεις επιθέσεις στο PoS Ethereum](https://arxiv.org/abs/2110.10086)
-### Κυμαινόμενο αποθηκευμένο κεφάλαιο και παράγωγα {#liquid-staking-and-derivatives}
+### Αποθήκευση κεφαλαίου ρευστότητας και παράγωγα {#liquid-staking-and-derivatives}
Το κυμαινόμενο αποθηκευμένο κεφάλαιο επιτρέπει στους χρήστες με λιγότερα από 32 ETH, να λαμβάνουν αποδόσεις από κεφάλαιό τους ανταλλάσσοντας το ether με ένα κρυπτονόμισμα που αντιπροσωπεύει το αποθηκευμένο ether και μπορεί να χρησιμοποιηθεί στο DeFi. Ωστόσο, τα κίνητρα και η δυναμική της αγοράς που σχετίζονται με το κυμαινόμενο αποθηκευμένο κεφάλαιο εξακολουθούν να βρίσκονται υπό έρευνα, καθώς και η επίδρασή του στην ασφάλεια του Ethereum (π.χ. κίνδυνοι συγκέντρωσης).
-#### Επιπλέον πληροφορίες {#background-reading-12}
+#### Απαιτούμενες γνώσεις {#background-reading-12}
-- [Ethresear.ch κυμαινόμενο αποθηκευμένο κεφάλαιο](https://ethresear.ch/search?q=liquid%20staking)
-- [Lido: Ο δρόμος για την αποθήκευση κεφαλαίο στο Ethereum χωρίς την ανάγκη παροχής εμπιστοσύνης](https://blog.lido.fi/the-road-to-trustless-ethereum-staking/)
-- [Rocket Pool: Εισαγωγή στο πρωτόκολλο αποθήκευσης κεφαλαίου](https://medium.com/rocket-pool/rocket-pool-staking-protocol-part-1-8be4859e5fbd)
+- [Αποθήκευση ρευστότητας Ethresear.ch](https://ethresear.ch/search?q=liquid%20staking)
+- [Lido: Ο δρόμος στην αποθήκευση κεφαλαίου στο Ethereum χωρίς παροχή εμπιστοσύνης](https://blog.lido.fi/the-road-to-trustless-ethereum-staking/)
+- [Δεξαμενή Rocket: Εισαγωγή στο πρωτόκολλο αποθήκευσης](https://medium.com/rocket-pool/rocket-pool-staking-protocol-part-1-8be4859e5fbd)
#### Πρόσφατη έρευνα {#recent-research-12}
-- [Χειρισμός αναλήψεων από το Lido](https://ethresear.ch/t/handling-withdrawals-in-lidos-eth-liquid-staking-protocol/8873)
-- [Πιστοποιητικά ανάληψης](https://ethresear.ch/t/withdrawal-credential-rotation-from-bls-to-eth1/8722)
-- [Οι κίνδυνοι των παραγώγων κυμαινόμενου αποθηκευμένου κεφαλαίου](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
+- [Διαχείριση αναλήψεων από το Lido](https://ethresear.ch/t/handling-withdrawals-in-lidos-eth-liquid-staking-protocol/8873)
+- [Διαπιστευτήρια ανάληψης](https://ethresear.ch/t/withdrawal-credential-rotation-from-bls-to-eth1/8722)
+- [Οι κίνδυνοι των παραγώγων ρευστοποίησης κεφαλαίου](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
## Δοκιμή {#testing}
@@ -282,23 +286,23 @@ lang: el
Η επίσημη επαλήθευση είναι η σύνταξη κώδικα για την επαλήθευση ότι οι συναινετικές προδιαγραφές του Ethereum είναι σωστές και χωρίς σφάλματα. Υπάρχει μια εκτελέσιμη έκδοση της προδιαγραφής γραμμένη σε Python που απαιτεί συντήρηση και ανάπτυξη. Περαιτέρω έρευνα μπορεί να βοηθήσει στη βελτίωση της εφαρμογής Python της προδιαγραφής και την προσθήκη εργαλείων που μπορούν να επαληθεύσουν πιο σθεναρά την ορθότητα και τον εντοπισμό προβλημάτων.
-#### Επιπλέον πληροφορίες {#background-reading-13}
+#### Απαιτούμενες γνώσεις {#background-reading-13}
- [Εισαγωγή στην επίσημη επαλήθευση](https://ptolemy.berkeley.edu/projects/embedded/research/vis/doc/VisUser/vis_user/node4.html)
- [Επίσημη επαλήθευση (Intel)](https://www.cl.cam.ac.uk/~jrh13/papers/mark10.pdf)
#### Πρόσφατη έρευνα {#recent-research-13}
-- [Επίσημη επαλήθευση του συμβολαίου κατάθεσης](https://github.com/runtimeverification/deposit-contract-verification)
-- [Επίσημη επαλήθευση της προδιαγραφής Κύριας Αλυσίδας](https://github.com/runtimeverification/deposit-contract-verification)
+- [Επίσημη επαλήθευση του συμβολαίου αποθήκευσης κεφαλαίου](https://github.com/runtimeverification/deposit-contract-verification)
+- [Επίσημη επαλήθευση των προδιαγραφών της Κύριας αλυσίδας](https://github.com/runtimeverification/deposit-contract-verification)
## Επιστήμη και ανάλυση δεδομένων {#data-science-and-analytics}
Υπάρχει ανάγκη για περισσότερα εργαλεία ανάλυσης δεδομένων και πίνακες εργαλείων που παρέχουν λεπτομερείς πληροφορίες σχετικά με τη δραστηριότητα στο Ethereum και την υγεία του δικτύου.
-### Επιπλέον πληροφορίες {#background-reading-14}
+### Απαιτούμενες γνώσεις {#background-reading-14}
-- [Dune Analytics](https://dune.com/browse/dashboards)
+- [Ανάλυση Dune](https://dune.com/browse/dashboards)
- [Πίνακας ελέγχου διαφορετικότητας πελατών](https://clientdiversity.org/)
#### Πρόσφατη έρευνα {#recent-research-14}
@@ -313,84 +317,83 @@ lang: el
Η αποκεντρωμένη χρηματοδότηση (DeFi) είναι μια από τις κύριες κατηγορίες εφαρμογών που έχουν δημιουργηθεί πάνω από το Ethereum. Το DeFi στοχεύει να δημιουργήσει συνθέσιμα «legos χρημάτων» που επιτρέπουν στους χρήστες να αποθηκεύουν, να μεταφέρουν, να δανείζουν, να δανείζονται και να επενδύουν κρυπτονομίσματα χρησιμοποιώντας έξυπνα συμβόλαια. Το DeFi είναι ένας γρήγορος χώρος που ενημερώνεται συνεχώς. Απαιτείται συνεχώς έρευνα για ασφαλή, αποτελεσματικά και προσβάσιμα πρωτόκολλα.
-#### Επιπλέον πληροφορίες {#background-reading-15}
+#### Απαιτούμενες γνώσεις {#background-reading-15}
- [DeFi](/defi/)
- [Coinbase: Τι είναι το DeFi;](https://www.coinbase.com/learn/crypto-basics/what-is-defi)
#### Πρόσφατη έρευνα {#recent-research-15}
-- [Αποκεντρωμένη οικονομία, συγκεντρωτική ιδιοκτησία;](https://arxiv.org/pdf/2012.09306.pdf)
-- [Optimism: Ο δρόμος προς τις συναλλαγές υπό του δολαρίου](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92)
+- [Αποκεντρωμένη χρηματοπιστωτική, κεντρική ιδιοκτησία;](https://arxiv.org/pdf/2012.09306.pdf)
+- [Optimism: Ο δρόμος για συναλλαγές κάτω του δολαρίου](https://medium.com/ethereum-optimism/the-road-to-sub-dollar-transactions-part-2-compression-edition-6bb2890e3e92)
### DAOs {#daos}
Μια χρήσιμη περίπτωση χρήσης για το Ethereum είναι η ικανότητα οργάνωσης με αποκεντρωμένο τρόπο μέσω της χρήσης DAO. Υπάρχει πολλή ενεργή έρευνα για το πώς οι DAO στο Ethereum μπορούν να αναπτυχθούν και να χρησιμοποιηθούν για την εκτέλεση βελτιωμένων μορφών διακυβέρνησης, ως εργαλείο συντονισμού απεξαρτημένο από την ανάγκη εμπιστοσύνης, διευρύνοντας σημαντικά τις επιλογές των ανθρώπων πέρα από τις παραδοσιακές εταιρείες και οργανισμούς.
-#### Επιπλέον πληροφορίες {#background-reading-16}
+#### Απαιτούμενες γνώσεις {#background-reading-16}
-- [Εισαγωγή στους DAO](/dao/)
+- [Εισαγωγή στους DAO/](/dao/)
- [Συλλογή Dao](https://daocollective.xyz/)
#### Πρόσφατη έρευνα {#recent-research-16}
-- [Χαρτογράφηση του οικοσυστήματος DAO](https://www.researchgate.net/publication/358694594_Mapping_out_the_DAO_Ecosystem_and_Assessing_DAO_Autonomy)
+- [Καταγράφοντας το οικοσύστημα DAO](https://www.researchgate.net/publication/358694594_Mapping_out_the_DAO_Ecosystem_and_Assessing_DAO_Autonomy)
-### Εργαλεία προγραμματιστών {#developer-tools}
+### Εργαλεία ανάπτυξης {#developer-tools}
Τα εργαλεία για προγραμματιστές Ethereum βελτιώνονται γρήγορα. Υπάρχει πολλή ενεργή έρευνα και ανάπτυξη να γίνει σε αυτόν τον γενικό τομέα.
-#### Επιπλέον πληροφορίες {#background-reading-17}
+#### Απαιτούμενες γνώσεις {#background-reading-17}
- [Εργαλεία ανά γλώσσα προγραμματισμού](/developers/docs/programming-languages/)
-- [Πλαίσια ανάπτυξης](/developers/docs/frameworks/)
-- [Λίστα εργαλείων προγραμματιστών συναίνεσης](https://github.com/ConsenSys/ethereum-developer-tools-list)
-- [Πρότυπα ψηφιακού στοιχείου](/developers/docs/standards/tokens/)
-- [Biastek: Εργαλεία Ethereum](https://biastek.com/ethereum-tools/)
+- [Developer Frameworks](/developers/docs/frameworks/)
+- [Λίστα εργαλείων ανάπτυξης Συναίνεσης](https://github.com/ConsenSys/ethereum-developer-tools-list)
+- [Πρότυπα κρυπτονομισμάτων](/developers/docs/standards/tokens/)
- [CryptoDevHub: Εργαλεία EVM](https://cryptodevhub.io/wiki/ethereum-virtual-machine-tools)
#### Πρόσφατη έρευνα {#recent-research-17}
-- [Eth R&D Κανάλι Discord εργαλείων συναίνεσης](https://discordapp.com/channels/595666850260713488/746343380900118528)
+- [Κανάλι Discord Eth R&D εργαλείων συναίνεσης](https://discordapp.com/channels/595666850260713488/746343380900118528)
### Oracles {#oracles}
-Η Oracles εισάγει δεδομένα εκτός αλυσίδας στο blockchain με τρόπο χωρίς την ανάγκη άδειας και αποκεντρωμένο. Η λήψη αυτών των δεδομένων εντός της αλυσίδας επιτρέπει στις dapp να αντιδρούν σε καταστάσεις του πραγματικού κόσμου, όπως τις διακυμάνσεις τιμών σε οικονομικά στοιχεία του πραγματικού κόσμου, συμβάντα σε εφαρμογές εκτός αλυσίδας ή ακόμα και αλλαγές στον καιρό.
+Η Oracles εισάγει δεδομένα εκτός αλυσίδας στην κρυπτοαλυσίδα χωρίς την ανάγκη άδειας και αποκεντρωμένα. Η λήψη αυτών των δεδομένων στην αλυσίδα επιτρέπει στις εφαρμογές να αντιδρούν σε φαινόμενα του πραγματικού κόσμου, όπως οι διακυμάνσεις των τιμών σε στοιχεία του πραγματικού κόσμου, τα συμβάντα σε εφαρμογές εκτός αλυσίδας ή ακόμα και οι αλλαγές του καιρού.
-#### Επιπλέον πληροφορίες {#background-reading-18}
+#### Απαιτούμενες γνώσεις {#background-reading-18}
- [Εισαγωγή στην Oracles](/developers/docs/oracles/)
#### Πρόσφατη έρευνα {#recent-research-18}
-- [Έρευνα blockchain oracles](https://arxiv.org/pdf/2004.07140.pdf)
+- [Δημοσκόπηση για blockchain oracles](https://arxiv.org/pdf/2004.07140.pdf)
- [Λευκή βίβλος Chainlink](https://chain.link/whitepaper)
-### Ασφάλεια εφαρμογών {#app-security}
+### Ασφάλεια εφαρμογής {#app-security}
Οι παραβιάσεις στο Ethereum γενικά εκμεταλλεύονται ευπάθειες σε μεμονωμένες εφαρμογές και όχι στο ίδιο το πρωτόκολλο. Οι χάκερ και οι προγραμματιστές εφαρμογών έχουν εγκλωβιστεί σε μια κούρσα εξοπλισμών για να αναπτύξουν νέες επιθέσεις και άμυνες. Αυτό σημαίνει ότι απαιτείται πάντα σημαντική έρευνα και ανάπτυξη για να κρατηθούν οι εφαρμογές ασφαλείς από επιθέσεις.
-#### Επιπλέον πληροφορίες {#background-reading-19}
+#### Απαιτούμενες γνώσεις {#background-reading-19}
-- [Αναφορά Wormhole exploit](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
-- [Κατάλογος παραβιάσεων με συμβόλαιο Ethereum](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
+- [Αναφορά εκμετάλλευσης Wormhole](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
+- [Κατάλογος μεταθανάτιων παραβιάσεων με συμβόλαιο Ethereum](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
- [Ειδήσεις Rekt](https://twitter.com/RektHQ?s=20&t=3otjYQdM9Bqk8k3n1a1Adg)
#### Πρόσφατη έρευνα {#recent-research-19}
-- [Εφαρμογές ethresear.ch](https://ethresear.ch/c/applications/18)
+- [Εφαρμογές Ethresear.ch](https://ethresear.ch/c/applications/18)
-### Πυλώνας τεχνολογίας {#technology-stack}
+### Κατηγορία τεχνολογία {#technology-stack}
Η αποκέντρωση ολόκληρου του πυλώνα τεχνολογίας του Ethereum είναι ένας σημαντικός τομέας έρευνας. Επί του παρόντος, οι dapp στο Ethereum έχουν συνήθως ορισμένα σημεία κεντρικής διαχείρισης επειδή βασίζονται σε κεντρικά εργαλεία ή υποδομή.
-#### Επιπλέον πληροφορίες {#background-reading-20}
+#### Απαιτούμενες γνώσεις {#background-reading-20}
-- [Ethereum stack](/developers/docs/ethereum-stack/)
-- [Coinbase: Εισαγωγή στο Web3 Stack](https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0)
+- [Στοίβα Ethereum](/developers/docs/ethereum-stack/)
+- [Coinbase: Εισαγωγή στη στοίβα Web3](https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0)
- [Εισαγωγή στα έξυπνα συμβόλαια](/developers/docs/smart-contracts/)
- [Εισαγωγή στον αποκεντρωμένο αποθηκευτικό χώρο](/developers/docs/storage/)
#### Πρόσφατη έρευνα {#recent-research-20}
-- [Smart contract composability](/developers/docs/smart-contracts/composability/)
+- [Συνθετικότητα έξυπνου συμβολαίου](/developers/docs/smart-contracts/composability/)
diff --git a/public/content/translations/el/community/support/index.md b/public/content/translations/el/community/support/index.md
index 05aa82b3083..84bafec9acd 100644
--- a/public/content/translations/el/community/support/index.md
+++ b/public/content/translations/el/community/support/index.md
@@ -10,7 +10,7 @@ lang: el
Χρειάζεστε επίσημη υποστήριξη του Ethereum; Το πρώτο πράγμα που πρέπει να γνωρίζετε είναι ότι το Ethereum είναι αποκεντρωμένο. Αυτό σημαίνει ότι κανένας κεντρικός οργανισμός, οντότητα ή άτομο δεν κατέχει το Ethereum και γι' αυτό δεν υπάρχουν επίσημα κανάλια υποστήριξης.
-Η κατανόηση της αποκεντρωμένης φύσης του Ethereum είναι ζωτικής σημασίας, γιατί οποιοσδήποτε παρουσιάζεται ως επίσημη υποστήριξη για το Ethereum πιθανότατα προσπαθεί να σας εξαπατήσει! Η καλύτερη προστασία από απατεώνες είναι να εκπαιδευτείτε καλύτερα και να λάβετε σοβαρά υπόψη την ασφάλεια.
+Η κατανόηση της αποκεντρωμένης φύσης του Ethereum είναι ζωτικής σημασίας, **γιατί οποιοσδήποτε παρουσιάζεται ως επίσημη υποστήριξη για το Ethereum πιθανότατα προσπαθεί να σας εξαπατήσει!** Η καλύτερη προστασία ενάντια στους κακόβουλους είναι να ενημερωθείτε σωστά και να λαμβάνετε σοβαρά υπόψη τα θέματα ασφαλείας.
Ασφάλεια του Ethereum και πρόληψη κατά της απάτης
@@ -91,6 +91,7 @@ lang: el
- [Nethermind](https://discord.gg/YJx3pm8z5C)
- [Besu](https://discord.gg/p8djYngzKN)
- [Erigon](https://github.com/ledgerwatch/erigon/issues)
+- [Reth](https://github.com/paradigmxyz/reth/discussions)
### Προγράμματα συναίνεσης {#consensus-clients}
@@ -99,5 +100,6 @@ lang: el
- [Lighthouse](https://discord.gg/cyAszAh)
- [Teku](https://discord.gg/7hPv2T6)
- [Lodestar](https://discord.gg/aMxzVcr)
+- [Grandine](https://discord.gg/H9XCdUSyZd)
Μπορείτε επίσης να [μάθετε πώς να εκτελέσετε έναν κόμβο εδώ](/developers/docs/nodes-and-clients/run-a-node/).
diff --git a/public/content/translations/el/contributing/adding-desci-projects/index.md b/public/content/translations/el/contributing/adding-desci-projects/index.md
new file mode 100644
index 00000000000..0f0eb273b53
--- /dev/null
+++ b/public/content/translations/el/contributing/adding-desci-projects/index.md
@@ -0,0 +1,44 @@
+---
+title: Προσθήκη έργων DeSci
+description: Η πολιτική που ακολουθούμε όταν προσθέτουμε συνδέσμους για έργα στη σελίδα DeSci στο ethereum.org
+lang: el
+---
+
+# Προσθήκη έργων {#adding-projects}
+
+Θέλουμε να βεβαιωθούμε ότι παρέχουμε μια ποικιλία έργων και δίνουμε μια καλή εικόνα του χώρου του DeSci.
+
+Οποιοσδήποτε είναι ελεύθερος να προτείνει ένα έργο για τη λίστα στη σελίδα DeSci στο ethereum.org. Ομοίως, όποιος παρατηρήσει ότι ένα έργο δεν είναι πλέον σχετικό ή δεν πληροί πλέον τα κριτήρια καταλληλότητάς μας, μπορεί ελεύθερα να προτείνει την κατάργησή του.
+
+## Το πλαίσιο λήψης αποφάσεων {#the-decision-framework}
+
+### Κριτήρια για ένταξη: τα απαραίτητα {#the-must-haves}
+
+- **Ελεύθερες πληροφορίες κώδικας/δεδομένων** - Το άνοιγμα του κώδικα και των δεδομένων είναι βασική αρχή του DeSci, επομένως τα έργα DeSci δεν πρέπει να είναι κλειστού κώδικα. Η βάση κώδικα πρέπει να είναι προσβάσιμη και ιδανικά ανοιχτή σε PR.
+- **Τα έργα DeSci θα πρέπει να είναι αποδεδειγμένα αποκεντρωμένα** - Αυτό θα μπορούσε να περιλαμβάνει τη διαχείριση ενός DAO ή τη δημιουργία αποκεντρωμένης στοίβας τεχνολογίας, συμπεριλαμβανομένων των πορτοφολιών που δεν έχουν φύλαξη. Πιθανότατα περιλαμβάνει ελεγχόμενα έξυπνα συμβόλαια στο Ethereum.
+- **Ειλικρινείς και ακριβείς πληροφορίες καταχώρισης** - Αναμένεται ότι τυχόν προτεινόμενες καταχωρίσεις από έργα συνοδεύονται από ειλικρινείς και ακριβείς πληροφορίες. Προϊόντα που νοθεύουν πληροφορίες καταχώρισης, όπως η δήλωση του προϊόντος σας ως «ανοιχτού κώδικα» ενώ δεν είναι, θα αφαιρούνται.
+- **Αποδεδειγμένη δέσμευση για διεύρυνση της πρόσβασης στην επιστήμη** - Ένα έργο DeSci θα πρέπει να είναι σε θέση να διατυπώσει πώς διευρύνει τη συμμετοχή στην επιστήμη στο ευρύ κοινό και όχι μόνο στους κατόχους κρυπτονομισμάτων/NFT.
+- **Παγκόσμια προσβάσιμο** - Το έργο σας δεν έχει γεωγραφικούς περιορισμούς ή απαιτήσεις KYC που αποκλείουν την πρόσβαση ορισμένων ατόμων στην υπηρεσία σας.
+- **Πληροφοριακός ιστότοπος και τεκμηρίωση** - Είναι σημαντικό οι επισκέπτες του ιστότοπου του έργου να μπορούν να κατανοήσουν τι πραγματικά κάνει το έργο, πώς συμβάλλει στην αποκέντρωση της επιστημονικής υποδομής και πώς να συμμετέχουν.
+- **Το έργο θα πρέπει να αποτελεί μέρος του οικοσυστήματος Ethereum** - Στο ethereum.org πιστεύουμε ότι το Ethereum (και τα Layer 2 του) είναι το κατάλληλο βασικό επίπεδο για το κίνημα DeSci.
+- **Το έργο είναι αρκετά καλά εδραιωμένο** - Το έργο έχει πραγματικούς χρήστες που έχουν πρόσβαση στις υπηρεσίες του έργου για αρκετούς μήνες.
+
+### Χρήσιμα
+
+- **Διαθέσιμο σε πολλές γλώσσες** - Το έργο σας μεταφράζεται σε πολλές γλώσσες γεγονός το οποίο επιτρέπει σε χρήστες από όλο τον κόσμο να έχουν πρόσβαση σε αυτό.
+- **Εκπαιδευτικοί πόροι** - Το προϊόν σας θα πρέπει να έχει μια καλά σχεδιασμένη εμπειρία υποδοχής και ένταξης ώστε να βοηθά και να εκπαιδεύει τους χρήστες. Διαφορετικά, πρέπει να διαθέτει στοιχεία για περιεχόμενο με οδηγίες όπως άρθρα ή βίντεο.
+- **Έλεγχοι τρίτων** - Το προϊόν σας έχει ελεγχθεί επαγγελματικά για ευπάθειες από ένα αξιόπιστο τρίτο μέρος.
+- **Σημείο αναφοράς** - Ένα σημείο αναφοράς για το έργο (μπορεί να είναι από έναν εκπρόσωπο ενός DAO ή κοινότητας) θα μας βοηθήσει πολύ να λάβουμε ακριβείς πληροφορίες όταν γίνονται αλλαγές. Αυτό θα διατηρήσει διαχειρίσιμη την ενημέρωση του ethereum.org κατά τη συλλογή μελλοντικών πληροφοριών.
+
+## Συντήρηση {#maintenance}
+
+Δεδομένης της ρευστής φύσης του Ethereum, οι ομάδες και τα προϊόντα έρχονται και παρέρχονται και η καινοτομία είναι καθημερινό φαινόμενο. Επομένως, θα διενεργούμε ελέγχους ρουτίνας του περιεχομένου μας για:
+
+- Βεβαιωθείτε ότι όλα τα έργα που αναφέρονται εξακολουθούν να πληρούν τα κριτήριά μας
+- Επαληθεύστε ότι δεν υπάρχουν προτεινόμενα προϊόντα που πληρούν περισσότερα από τα κριτήριά μας από αυτά που αναφέρονται αυτή τη στιγμή
+
+Το Ethereum.org συντηρείται από την κοινότητα ανοιχτού κώδικα και βασιζόμαστε στη βοήθεια της κοινότητας για να το διατηρούμε ενημερωμένο. Εάν πιστεύετε ότι οι πληροφορίες από τα δημοσιευμένα έργα χρειάζονται ενημέρωση, παρακαλούμε ανοίξτε ένα ζήτημα ή αίτημα στο αποθετήριο του Github.
+
+## Όροι Χρήσης {#terms-of-use}
+
+Διαβάστε επίσης τους [όρους χρήσης](/terms-of-use/) μας. Οι πληροφορίες στο ethereum.org παρέχονται αποκλειστικά για λόγους γενικής πληροφόρησης.
diff --git a/public/content/translations/el/contributing/adding-developer-tools/index.md b/public/content/translations/el/contributing/adding-developer-tools/index.md
new file mode 100644
index 00000000000..278c17c2d96
--- /dev/null
+++ b/public/content/translations/el/contributing/adding-developer-tools/index.md
@@ -0,0 +1,61 @@
+---
+title: Προσθήκη εργαλείων προγραμματισμού
+lang: el
+description: Κριτήρια καταχώρισης εργαλείων προγραμματισμού στο ethereum.org
+---
+
+# Προσθήκη εργαλείων προγραμματισμού {#contributing-to-ethereumorg-}
+
+Θέλουμε να διασφαλίσουμε ότι θα συμπεριλάβουμε τους καλύτερους δυνατούς πόρους ανάπτυξης, έτσι ώστε οι ενδιαφερόμενοι να μπορούν να δημιουργήσουν με εμπιστοσύνη και να έχουν την υποστήριξη που χρειάζονται.
+
+Αν υπάρχει ένα χρήσιμο εργαλείο προγραμματιστή που μας έχει διαφύγει, μη διστάσετε να το προτείνετε κάπου κατάλληλα.
+
+Αυτή τη στιγμή δημοσιεύουμε τα εργαλεία προγραμματισμού στην [πύλη προγραμματιστών](/developers/).
+
+**Μη διστάσετε να κάνετε προτάσεις για νέες προσθήκες στις κατάλληλες σελίδες.**
+
+## Πώς θα αποφασίσουμε {#ways-to-contribute}
+
+Οι νέες προτάσεις εργαλείων προγραμματισμού, αξιολογούνται με βάση τα ακόλουθα κριτήρια:
+
+**Είναι ουσιαστικά διαφορετικά από τα ήδη καταχωρημένα εργαλεία;**
+
+- Νέες κατηγορίες ή τύποι εργαλείων
+- Νέα χαρακτηριστικά σε σχέση με τα υφιστάμενα παρόμοια εργαλεία
+- Στοχεύουν σε διαφορετική περίπτωση χρήσης που δεν καλύπτεται από υφιστάμενα παρόμοια εργαλεία
+
+**Είναι το εργαλείο καλά τεκμηριωμένο;**
+
+- Υπάρχει τεκμηρίωση;
+- Είναι επαρκή η χρήση μόνο του εργαλείου;
+- Έχει ενημερωθεί πρόσφατα;
+
+**Χρησιμοποιείται ευρέως το εργαλείο;**
+
+- Θα το εξετάσουμε όπως τις μετρήσεις των αστεριών στο GitHub, τα στατιστικά στοιχεία λήψης και αν χρησιμοποιείται από γνωστές εταιρείες ή έργα
+
+**Είναι το εργαλείο επαρκούς ποιότητας;**
+
+- Υπάρχουν σφάλματα που επαναλαμβάνονται;
+- Είναι αξιόπιστο το εργαλείο;
+- Συντηρείται ενεργά το εργαλείο;
+
+**Είναι το εργαλείο ανοιχτού κώδικα;**
+
+Πολλά έργα στο χώρο του Ethereum είναι ανοικτού κώδικα. Είναι πιο πιθανό να δημοσιεύσουμε έργα ανοιχτού κώδικα που επιτρέπουν στους προγραμματιστές της κοινότητας να επιθεωρήσουν τον κώδικα και να συνεισφέρουν σε αυτόν.
+
+---
+
+## Κατάταξη προϊόντων {#product-ordering}
+
+Εκτός και αν τα προϊόντα ταξινομηθούν διαφορετικά, όπως αλφαβητικά, αυτά θα εμφανίζονται από το αρχαιότερο μέχρι το πιο πρόσφατο που προστέθηκε στη σελίδα. Με άλλα λόγια, τα νεότερα προϊόντα προστίθενται στο κάτω μέρος της λίστας.
+
+---
+
+## Προσθέστε το εργαλείο προγραμματισμού σας {#how-decisions-about-the-site-are-made}
+
+Αν θέλετε να προσθέσετε ένα εργαλείο προγραμματισμού στο ethereum.org και πληροί τα κριτήρια, δημιουργήστε ένα ζήτημα στο GitHub.
+
+
+ Δημιουργία ζητήματος
+
diff --git a/public/content/translations/el/contributing/adding-exchanges/index.md b/public/content/translations/el/contributing/adding-exchanges/index.md
new file mode 100644
index 00000000000..eae70508f5c
--- /dev/null
+++ b/public/content/translations/el/contributing/adding-exchanges/index.md
@@ -0,0 +1,40 @@
+---
+title: Προσθήκη ανταλλακτηρίων
+description: Η πολιτική που χρησιμοποιούμε για την προσθήκη ανταλλακτηρίων στο ethereum.org
+lang: el
+---
+
+# Προσθήκη ανταλλακτηρίων Ethereum {#adding-ethereum-exchanges}
+
+Ο καθένας είναι ελεύθερος να προτείνει νέα ανταλλακτήρια στο ethereum.org.
+
+Αυτή τη στιγμή η λίστα μας βρίσκεται:
+
+- [ethereum.org/get-eth](/get-eth/)
+
+Αυτή η σελίδα επιτρέπει στο χρήστη να εισαγάγει την τοποθεσία του και να ενημερωθεί για τα διαθέσιμα ανταλλακτήρια. Αυτός ο τρόπος βοηθά έγκαιρα σε τυχόν γεωγραφικούς περιορισμούς.
+
+Λόγω αυτού του πλαισίου, χρειαζόμαστε ορισμένες συγκεκριμένες πληροφορίες όταν προτείνετε ένα ανταλλακτήριο.
+
+**ΣΗΜΕΙΩΣΗ:** Εάν θέλετε να προτείνετε ένα αποκεντρωμένο ανταλλακτήριο, δείτε την [πολιτική εισαγωγής πορτοφολιών και εφαρμογών](/contributing/adding-products/).
+
+## Τι χρειαζόμαστε {#what-we-need}
+
+- Τους γεωγραφικούς περιορισμούς που ισχύουν για το ανταλλακτήριο. Οι γεωγραφικοί περιορισμοί που σχετίζονται με το ανταλλακτήριο θα πρέπει να αναφέρονται λεπτομερώς σε μια ειδική σελίδα ή ενότητα του ιστότοπου του.
+- Τα νομίσματα που μπορούν να χρησιμοποιήσουν οι χρήστες για να αγοράσουν ΕΤΗ
+- Απόδειξη λειτουργίας νόμιμης εμπορικής εταιρείας ως ανταλλακτήριο
+- Οποιεσδήποτε πρόσθετες πληροφορίες μπορεί να έχετε – μπορεί να είναι πληροφορίες σχετικά με την εταιρεία όπως τα χρόνια λειτουργίας της, την οικονομική υποστήριξη της κλπ.
+
+Χρειαζόμαστε αυτές τις πληροφορίες ώστε να μπορέσουμε με ακρίβεια [να βοηθήσουμε τους χρήστες να βρουν ένα ανταλλακτήριο που μπορούν να χρησιμοποιήσουν](/get-eth/#country-picker).
+
+Και έτσι ώστε το ethereum.org να μπορεί να είναι πιο βέβαιο ότι το ανταλλακτήριο λειτουργεί ως μια νόμιμη και ασφαλή υπηρεσία.
+
+---
+
+## Προσθέστε το ανταλλακτήριο σας {#add-exchange}
+
+Αν θέλετε να προσθέσετε ένα ανταλλακτήριο στο ethereum.org, δημιουργήστε ένα ζήτημα στο GitHub.
+
+
+ Δημιουργήστε ένα ζήτημα
+
diff --git a/public/content/translations/el/contributing/adding-glossary-terms/index.md b/public/content/translations/el/contributing/adding-glossary-terms/index.md
new file mode 100644
index 00000000000..3b1397d87fa
--- /dev/null
+++ b/public/content/translations/el/contributing/adding-glossary-terms/index.md
@@ -0,0 +1,26 @@
+---
+title: Προσθήκη όρων στο γλωσσάρι
+lang: el
+description: Τα κριτήριά μας για την προσθήκη νέων όρων στο γλωσσάριο του ethereum.org
+---
+
+# Προσθήκη όρων στο γλωσσάρι {#contributing-to-ethereumorg-}
+
+Αυτός ο χώρος αλλάζει καθημερινά. Νέοι όροι προστίθενται συνεχώς στο λεξικό των χρηστών του Ethereum και χρειαζόμαστε τη βοήθειά σας για μια ακριβή, ενημερωμένη αναφορά για όλα τα ζητήματα του Ethereum. Δείτε το [γλωσσάριο](/glossary/) μας και αποφασίστε παρακάτω αν θέλετε να βοηθήσετε!
+
+## Κριτήρια {#criteria}
+
+Οι νέοι όροι στο γλωσσάριο θα αξιολογούνται με βάση τα ακόλουθα κριτήρια:
+
+- Είναι ο όρος/ορισμός ενημερωμένος και σχετικός;
+- Υπάρχει ήδη παρόμοιος όρος στο γλωσσάρι; (Αν ναι, εξετάστε τη χρησιμότητα προσθήκης ενός νέου όρου, έναντι της επικαιροποίησης του υπάρχοντος)
+- Είναι ο όρος/ορισμός χωρίς διαφήμιση προϊόντων ή διαφημιστικού περιεχομένου;
+- Είναι ο όρος/ορισμός άμεσα σχετικός με το Ethereum;
+- Είναι ο ορισμός ακριβής και υποκειμενικός, χωρίς επιπλέον κρίσεις ή απόψεις;
+- Είναι η πηγή αξιόπιστη; Γίνετε παραπομπή στις πηγές τους;
+
+---
+
+## Προσθήκη του όρου σας {#how-decisions-about-the-site-are-made}
+
+Αν θέλετε να προσθέσετε έναν όρο στο γλωσσάριο του ethereum.org και πληροί τα κριτήρια, [δημιουργήστε ένα ζήτημα στο GitHub](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_glossary_term.yaml).
diff --git a/public/content/translations/el/contributing/adding-layer-2s/index.md b/public/content/translations/el/contributing/adding-layer-2s/index.md
new file mode 100644
index 00000000000..3420ba0191c
--- /dev/null
+++ b/public/content/translations/el/contributing/adding-layer-2s/index.md
@@ -0,0 +1,97 @@
+---
+title: Προσθήκη επιπέδου 2s
+description: Η πολιτική που χρησιμοποιούμε κατά την προσθήκη ενός επιπέδου 2 στο ethereum.org
+lang: el
+---
+
+# Προσθήκη επιπέδου 2s {#adding-layer-2}
+
+Θέλουμε να βεβαιωθούμε ότι παραθέτουμε τους καλύτερους δυνατούς πόρους, ώστε οι χρήστες να μπορούν να πλοηγούνται στον χώρο του επιπέδου 2 με ασφάλεια και σιγουριά.
+
+Οποιοσδήποτε μπορεί να προτείνει ελεύθερα την προσθήκη ενός επιπέδου 2 στο ethereum.org. Αν υπάρχει κάποιο επίπεδο 2 που μας έχει διαφύγει, **[προτείνετέ το](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_layer2.yaml)!**
+
+Αυτή τη στιγμή καταχωρούμε L2 στις ακόλουθες σελίδες:
+
+- [Πακέτα ενημέρωσης optimistic](/developers/docs/scaling/optimistic-rollups/)
+- [Rollup μηδενικής γνώσης](/developers/docs/scaling/zk-rollups/)
+- [Επίπεδο 2](/layer-2/)
+
+Το επίπεδο 2 είναι ένα σχετικά νέο και συναρπαστικό υπόδειγμα για το Ethereum. Προσπαθήσαμε να δημιουργήσουμε ένα δίκαιο πλαίσιο προς εξέταση στο ethereum.org, αλλά τα κριτήρια καταχώρισης θα αλλάξουν και θα εξελιχθούν με την πάροδο του χρόνου.
+
+## Το πλαίσιο λήψης αποφάσεων {#decision-framework}
+
+### Κριτήρια για ένταξη: τα απαραίτητα {#criteria-for-inclusion-the-must-haves}
+
+**Δημοσίευση στο L2BEAT**
+
+- Για να ληφθεί υπόψη, αυτό το έργο πρέπει να καταχωρηθεί στο [L2BEAT](https://l2beat.com). Το L2BEAT παρέχει μια ισχυρή εκτίμηση κινδύνου για έργα επιπέδου 2 στην οποία βασιζόμαστε για την αξιολόγηση έργων L2. **Εάν το έργο δεν εμφανίζεται στο L2BEAT, δεν θα το καταχωρήσουμε ως L2 στο ethereum.org.**
+- [Μάθε πώς μπορείς να προσθέσεις το έργο L2 σου στο L2BEAT](https://github.com/l2beat/l2beat/blob/master/CONTRIBUTING.md).
+
+**Ανοιχτού κώδικα**
+
+- Ο κώδικάς σας πρέπει να είναι προσβάσιμος και θα πρέπει να δέχεστε PR από την ευρύτερη κοινότητα.
+
+**Κατηγορία επιπέδου 2**
+
+Επί του παρόντος θεωρούμε ότι οι ακόλουθες λύσεις είναι επίπεδου 2:
+
+- Πακέτο ενημέρωσης optimistic
+- Πακέτο ενημέρωσης μηδενικής γνώσης
+
+_Δεν θεωρούμε ότι ανήκουν στο επίπεδο 2 οι άλλες λύσεις κλιμάκωσης που δεν χρησιμοποιούν το Ethereum για διαθεσιμότητα δεδομένων ή ασφάλεια._
+
+**Ethereum για διαθεσιμότητα δεδομένων**
+
+- Η διαθεσιμότητα δεδομένων είναι ένας σημαντικός παράγοντας διαφοροποίησης μεταξύ άλλων λύσεων κλιμάκωσης και του επιπέδου 2. Ένα έργο **πρέπει** να χρησιμοποιεί το Ethereum Mainnet για διαθεσιμότητα δεδομένων για να ληφθεί υπόψη προς καταχώριση.
+
+**Γέφυρες**
+
+- Πώς μπορούν να ενταχθούν στο επίπεδο 2 οι χρήστες;
+
+**Η ημερομηνία κυκλοφορίας του έργου**
+
+- Ένα επίπεδο 2 που κυκλοφορεί «ζωντανά» στο Κεντρικό Δίκτυο για πάνω από 6 μήνες
+
+- Τα νεότερα έργα που δεν έχουν δοκιμαστεί στο πεδίο μάχης πολλές φορές από τους χρήστες είναι λιγότερο πιθανό να καταχωριστούν.
+
+**Εξωτερικός έλεγχος ασφάλειας**
+
+- Είτε μέσω ελέγχου είτε μέσω ομάδας εσωτερικής ασφάλειας ή άλλης μεθόδου, η ασφάλεια του προϊόντος σας πρέπει να ελεγχθεί με αξιόπιστο τρόπο. Αυτό μειώνει τον κίνδυνο για τους χρήστες μας και μας δείχνει ότι λαμβάνετε σοβαρά υπόψη την ασφάλεια.
+
+**Συντηρημένη βάση χρηστών**
+
+- Θα εξετάσουμε μετρικά στοιχεία όπως το ιστορικό TVL, τα στατιστικά στοιχεία συναλλαγών και αν χρησιμοποιείται από γνωστές εταιρείες ή έργα
+
+**Ενεργή ομάδα ανάπτυξης**
+
+- Δεν θα καταχωρίσουμε ένα επίπεδο 2 που δεν έχει μια ενεργή ομάδα να εργάζεται στο έργο.
+
+**Εξερευνητής μπλοκ**
+
+- Τα έργα που καταχωρίζονται απαιτούν έναν λειτουργικό εξερευνητή μπλοκ έτσι ώστε οι χρήστες να μπορούν να πλοηγούνται εύκολα στην αλυσίδα.
+
+### Άλλα κριτήρια: τα καλά {#nice-to-haves}
+
+**Υποστήριξη ανταλλακτηρίου για το έργο**
+
+- Μπορούν οι χρήστες να κάνουν κατάθεση και/ή ανάληψη απευθείας από ένα ανταλλακτήριο;
+
+**Σύνδεσμοι για dapp στο οικοσύστημα επιπέδου 2**
+
+- Θέλουμε να είμαστε σε θέση να παρέχουμε πληροφορίες σχετικά με το τι να αναμένουν ότι μπορούν να κάνουν οι χρήστες σε αυτό το επίπεδο 2. (π.χ. https://portal.arbitrum.io/, https://www.optimism.io/apps)
+
+**Λίστες συμβολαίων κρυπτονομισμάτων**
+
+- Εφόσον τα περιουσιακά στοιχεία θα έχουν νέα διεύθυνση στο επίπεδο 2, εάν υπάρχει διαθέσιμος πόρος λίστας token, κοινοποιήστε τον.
+
+**Υποστήριξη εγγενούς πορτοφολιού**
+
+- Υπάρχουν πορτοφόλια που υποστηρίζουν από κατασκευής τους το L2;
+
+## Προσθέστε το επίπεδο 2 σας {#add-exchange}
+
+Εάν θέλετε να προσθέσετε ένα επίπεδο 2 στο ethereum.org, δημιουργήστε ένα ζήτημα στο GitHub.
+
+
+ Δημιουργήστε ένα ζήτημα
+
diff --git a/public/content/translations/el/contributing/adding-products/index.md b/public/content/translations/el/contributing/adding-products/index.md
new file mode 100644
index 00000000000..0277a6aaf19
--- /dev/null
+++ b/public/content/translations/el/contributing/adding-products/index.md
@@ -0,0 +1,100 @@
+---
+title: Προσθήκη Προϊόντων
+description: Η πολιτική που χρησιμοποιούμε για την προσθήκη dapps στο ethereum.org
+lang: el
+---
+
+# Προσθήκη προϊόντων Ethereum {#adding-products}
+
+Οποιοσδήποτε είναι ελεύθερος να προτείνει νέες dapp στο περιεχόμενο του ethereum.org. **Όχι, δε θα εμφανίσουμε την dapp σας στην αρχική σελίδα του ιστότοπου μας**😜
+
+Οι dapps παρουσιάζονται σε:
+
+- ethereum.org/dapps
+- ethereum.org/get-eth
+
+**Παρακαλούμε προτείνετε μόνο νέες προσθήκες σε αυτές τις σελίδες.**
+
+Αν και καλωσορίζουμε τις νέες προσθήκες, επιλέξαμε τις τρέχουσες dapp με βάση την εμπειρία που προσπαθούμε να δημιουργήσουμε για τους χρήστες μας. Αυτά βασίζονται σε ορισμένες από τις αρχές σχεδιασμού μας:
+
+- _Έμπνευση_: οτιδήποτε στο ethereum.org θα πρέπει να προσφέρει κάτι νέο στους χρήστες.
+- _Μια καλή ιστορία_: αυτό που παρατίθεται πρέπει να είναι περιεκτικό και διορατικό.
+- _Αξιοπιστία_: να είναι νόμιμες επιχειρήσεις ή έργα για ελαχιστοποίηση κινδύνου των χρηστών.
+
+Συνολικά το **ethereum.org θέλει να προσφέρει μια «αδιάλειπτη εμπειρία ενσωμάτωσης» για νέους χρήστες**. Για το λόγο αυτό, προσθέτουμε dapp με βάση τα παρακάτω:
+
+- ευκολία χρήσης
+- διαλειτουργικότητα με άλλα προϊόντα
+- ασφάλεια
+- επιβιωσιμότητα
+
+Δείτε παρακάτω το πλαίσιο λήψης αποφάσεων με περισσότερες λεπτομέρειες. Μη διστάσετε να υποβάλετε σχόλια ή να προτείνετε αλλαγές.
+
+## Το πλαίσιο λήψης αποφάσεων {#decision-framework}
+
+### Κριτήρια για ένταξη: τα απαραίτητα {#criteria-for-inclusion-the-must-haves}
+
+- **Το προϊόν να έχει ελεγχθεί για την ασφάλεια του** – είτε μέσω διάφορων ελέγχων, μιας ομάδας εσωτερικής ασφάλειας ή κάποιας άλλης μεθόδου, η ασφάλεια του προϊόντος σας πρέπει να ελεγχθεί αξιόπιστα. Αυτό μειώνει τον κίνδυνο για τους χρήστες μας και μας δείχνει ότι λαμβάνετε σοβαρά υπόψη την ασφάλεια.
+- **Το προϊόν πρέπει να είναι «δημοσιευμένο» για πάνω από 6 μήνες**, αυτό είναι μια άλλη ένδειξη ασφάλειας. Οι έξι μήνες είναι ένα καλό χρονικό πλαίσιο για να εντοπιστούν κρίσιμα σφάλματα και δυσλειτουργίες.
+- **Δημιουργήθηκε από μια ενεργή ομάδα** – αυτό βοηθά στη διασφάλιση της ποιότητας και ότι ένας χρήστης θα λάβει υποστήριξη με τα ερωτήματά του.
+- **Ειλικρινείς και ακριβείς πληροφορίες καταχώρισης** - αναμένεται ότι τυχόν προτεινόμενες καταχωρίσεις από έργα συνοδεύονται από ειλικρινείς και ακριβείς πληροφορίες. Τα προϊόντα που παραποιούν πληροφορίες καταχώρισης, όπως η δήλωση του προϊόντος σας ως «ανοιχτού λογισμικού» όταν αυτό δεν ισχύει, θα αφαιρεθούν.
+
+### Κριτήρια κατάταξης: θετικά στοιχεία {#criteria-for-ranking-the-nice-to-haves}
+
+Η dapp σας ενδέχεται να μην εμφανίζεται στο ethereum.org όσο οι άλλες λόγω των ακόλουθων κριτηρίων.
+
+**Αποκεντρωμένες Εφαρμογές (Dapps)**
+
+- **Μπορείτε να έχετε πρόσβαση μέσω της πλειονότητας των καταχωρισμένων πορτοφολιών** – οι dapp θα πρέπει να λειτουργούν με την πλειονότητα των πορτοφολιών που είναι καταχωρισμένα στο ethereum.org.
+- **Μπορούν να τη δοκιμάσουν οι χρήστες –** ένας μεμονωμένος χρήστης θα πρέπει να μπορεί να χρησιμοποιήσει την dapp σας και να πετύχει ένα απτό αποτέλεσμα.
+- **Υποδοχή και ένταξη** – το προϊόν σας θα πρέπει να έχει μια καλά σχεδιασμένη εμπειρία υποδοχής και ένταξης για να βοηθά και να εκπαιδεύει τους χρήστες. Διαφορετικά, πρέπει να διαθέτει στοιχεία για περιεχόμενο με οδηγίες όπως άρθρα ή βίντεο.
+- **Ανεξάρτητος έλεγχος** – οι χρήστες ελέγχουν τα χρήματά τους. Εάν το προϊόν σας εξαφανιστεί, οι χρήστες εξακολουθούν να έχουν πρόσβαση στα χρήματά τους και μπορούν να τα μετακινήσουν.
+- **Παγκόσμια πρόσβαση** – Το προϊόν σας δεν έχει γεωγραφικούς περιορισμούς ή απαιτήσεις KYC που αποκλείουν την πρόσβαση ορισμένων ατόμων στην υπηρεσία σας.
+- **Ανοικτός κώδικας** – ο κώδικάς σας θα πρέπει να είναι προσβάσιμος και θα πρέπει να δέχεστε PR από την ευρύτερη κοινότητα.
+- **Κοινότητα** – έχετε μια αποκλειστική κοινότητα, ίσως ένα Discord, όπου οι χρήστες μπορούν να αλληλεπιδράσουν με την ομάδα σας για να λάβουν βοήθεια ή να προτείνουν νέες λειτουργίες.
+
+## Κριτήρια στην πράξη {#criteria-in-practice}
+
+Όσο περισσότερα από τα κριτήρια πληροίτε, τόσο πιο πιθανό είναι το προϊόν σας να καταλήξει μέσα στο ethereum.org.
+
+Ένα καταχωρισμένο προϊόν που πληροί μόνο τα απαραίτητα μπορεί να αφαιρεθεί εάν προταθεί ένα νέο προϊόν που πληροί τα απαραίτητα και αρκετά από τα επιθυμητά στοιχεία.
+
+Άλλα πράγματα που θα επηρεάσουν αυτή την απόφαση:
+
+- Θα σπάσει το UX της σελίδας αν προσθέσουμε αντί να αντικαταστήσουμε;
+ - Ο ιστότοπός μας είναι κυρίως εκπαιδευτικός και ο κύριος σκοπός του είναι να εξηγήσει το Ethereum και τις έννοιες που το αφορούν. Η προσθήκη υπερβολικών επιλογών για τους χρήστες μπορεί να κάνει τις σελίδες λιγότερο ευανάγνωστες και επομένως λιγότερο χρήσιμες.
+- Όλες αυτές οι επιλογές στη σελίδα παραλύουν τον χρήστη;
+ - Όπως όταν περνάτε ώρες ψάχνοντας στο Netflix επειδή δεν μπορείτε να αποφασίσετε τι να δείτε. Είναι επικίνδυνο να προκαλείς σύγχυση σε νέους χρήστες με υπερβολικές επιλογές.
+
+Αυτή είναι μια απόφαση σχεδιασμού για την οποία είναι υπεύθυνο το ethereum.org.
+
+Αλλά να είστε σίγουροι ότι **θα υπάρχουν σύνδεσμοι προς άλλους ιστότοπους που κατατάσσουν περισσότερες dapp**
+
+### Κατάταξη προϊόντων {#product-ordering}
+
+Εκτός εάν στα προϊόντα έχει γίνει ειδική ταξινόμηση με διαφορετικό τρόπο, όπως αλφαβητικά, τα προϊόντα θα εμφανίζονται από αυτά που προστέθηκαν πιο πρόσφατα στη σελίδα έως τα λιγότερο πρόσφατα. Με άλλα λόγια, τα νεότερα προϊόντα προστίθενται στο κάτω μέρος της λίστας.
+
+### Όροι χρήσης {#terms-of-use}
+
+Διαβάστε επίσης στους [όρους χρήσης](/terms-of-use/) μας. Οι πληροφορίες στο ethereum.org παρέχονται αποκλειστικά για λόγους γενικής πληροφόρησης.
+
+## Συντήρηση {#maintenance}
+
+Δεδομένης της ρευστής φύσης του Ethereum, οι ομάδες και τα προϊόντα έρχονται και παρέρχονται και η καινοτομία είναι καθημερινό φαινόμενο. Επομένως, θα διενεργούμε ελέγχους ρουτίνας του περιεχομένου μας για:
+
+- να βεβαιωνόμαστε ότι όλες οι καταχωρισμένες dapp εξακολουθούν να πληρούν τα κριτήριά μας
+- να επαληθεύουμε ότι δεν υπάρχουν προτεινόμενα προϊόντα που πληρούν περισσότερα από τα κριτήριά μας από αυτά που είναι καταχωρισμένα αυτή τη στιγμή
+
+Μπορείτε να βοηθήσετε σε αυτό ελέγχοντας και ενημερώνοντάς μας. [Δημιουργήστε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) ή στείλτε ένα email στο [website@ethereum.org](mailto:website@ethereum.org)
+
+_Εξετάζουμε επίσης επιλογές για ψηφοφορία, ώστε η κοινότητα να μπορεί να υποδεικνύει τις προτιμήσεις της και να επισημαίνει τα καλύτερα προϊόντα που υπάρχουν για να τα προτείνουμε._
+
+---
+
+## Προσθέστε το προϊόν σας {#add-your-product}
+
+Αν θέλετε να προσθέσετε μια dapp στο ethereum.org και πληροί τα κριτήρια, δημιουργήστε ένα ζήτημα στο GitHub.
+
+
+ Δημιουργήστε ένα ζήτημα
+
diff --git a/public/content/translations/el/contributing/adding-staking-products/index.md b/public/content/translations/el/contributing/adding-staking-products/index.md
new file mode 100644
index 00000000000..8f0b6e09b54
--- /dev/null
+++ b/public/content/translations/el/contributing/adding-staking-products/index.md
@@ -0,0 +1,176 @@
+---
+title: Προσθήκη προϊόντων ή υπηρεσιών αποθήκευσης κεφαλαίου (staking)
+description: Η πολιτική που χρησιμοποιούμε όταν προσθέτουμε προϊόντα ή υπηρεσίες αποθήκευσης στο ethereum.org
+lang: el
+---
+
+# Προσθήκη προϊόντων ή υπηρεσιών αποθήκευσης κεφαλαίου (staking) {#adding-staking-products-or-services}
+
+Θέλουμε να βεβαιωθούμε ότι καταχωρίζουμε στον κατάλογό μας τους καλύτερους δυνατούς πόρους, διατηρώντας παράλληλα τους χρήστες ασφαλείς και σίγουρους.
+
+Οποιοσδήποτε μπορεί να προτείνει την προσθήκη προϊόντων ή υπηρεσιών αποθήκευσης στο ethereum.org. Αν κάποιο μας έχει διαφύγει, **[προτείνετέ το](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A%2Ccontent+%3Afountain_pen%3A&template=suggest_staking_product.yaml)!**
+
+Αυτή τη στιγμή αναφέρουμε προϊόντα και υπηρεσίες αποθήκευσης στις ακόλουθες σελίδες:
+
+- [Ατομικό ποντάρισμα](/staking/solo/)
+- [Ποντάρισμα ως μια υπηρεσία](/staking/saas/)
+- [Δεξαμενές αποθήκευσης κεφαλαίου](/staking/pools/)
+
+Η απόδειξη συμμετοχής στην Κύρια αλυσίδα (Beacon Chain) είναι δυνατή από την 1η Δεκεμβρίου 2020. Παρόλο που η αποθήκευση είναι ακόμα σχετικά νέα λειτουργία, προσπαθήσαμε να δημιουργήσουμε ένα δίκαιο και διαφανές πλαίσιο προς εξέταση στο ethereum.org. Ωστόσο, τα κριτήρια καταχώρισης θα αλλάζουν και θα εξελίσσονται με την πάροδο του χρόνου και στην ουσία εναπόκεινται στη διακριτική ευχέρεια της ομάδας του ιστοτόπου του ethereum.org.
+
+## Το πλαίσιο λήψης αποφάσεων {#the-decision-framework}
+
+Η απόφαση καταχώρισης ενός προϊόντος στο ethereum.org δεν εξαρτάται από έναν μόνο παράγοντα. Συνεκτιμώνται πολλά κριτήρια μαζί όταν αποφασίζεται η καταχώριση ενός προϊόντος ή μιας υπηρεσίας. Όσο περισσότερα από αυτά τα κριτήρια πληρούνται, τόσο πιο πιθανό είναι να καταχωρισθεί.
+
+**Πρώτα, σε ποια κατηγορία προϊόντος ή υπηρεσίας ανήκει;**
+
+- Εργαλεία κόμβου ή πελάτη
+- Διαχείριση κλειδιού
+- Η αποθήκευση ως υπηρεσία (SaaS)
+- Δεξαμενή αποθήκευσης κεφαλαίου
+
+Προς το παρόν, καταχωρίζουμε μόνο προϊόντα ή υπηρεσίες σε αυτές τις κατηγορίες.
+
+### Κριτήρια ένταξης {#criteria-for-inclusion}
+
+Τα υποψήφια προϊόντα ή υπηρεσίες αποθήκευσης θα αξιολογούνται με βάση τα ακόλουθα κριτήρια:
+
+**Πότε κυκλοφόρησε το έργο ή η υπηρεσία;**
+
+- Υπάρχουν στοιχεία για το πότε το προϊόν ή η υπηρεσία διατέθηκε στο κοινό;
+- Αυτό χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας της «δοκιμής στο πεδίο μάχης» των προϊόντων.
+
+**Συντηρείται ενεργά το έργο;**
+
+- Υπάρχει ενεργή ομάδα που αναπτύσσει το έργο; Ποιοι συμμετέχουν;
+- Θα ληφθούν υπόψη μόνο προϊόντα που συντηρούνται ενεργά.
+
+**Το προϊόν ή η υπηρεσία είναι απαλλαγμένα από έμπιστους/ανθρώπινους μεσάζοντες;**
+
+- Ποια βήματα σε αυτό το ταξίδι απαιτούν από τους χρήστες να εμπιστευτούν σε τρίτους είτε τη φύλαξη των κλειδιών των κεφαλαίων τους είτε τη σωστή διανομή των ανταμοιβών;
+- Αυτό χρησιμοποιείται για τον προσδιορισμό του χαρακτηρισμού του προϊόντος ή της υπηρεσίας ως «έμπιστου/-ης».
+
+**Το έργο παρέχει ακριβείς και αξιόπιστες πληροφορίες;**
+
+- Είναι σημαντικό ο ιστότοπος του προϊόντος να διαθέτει ενημερωμένες, ακριβείς και μη παραπλανητικές πληροφορίες, ιδιαίτερα εάν αφορούν το πρωτόκολλο του Ethereum ή άλλες σχετικές τεχνολογίες.
+- Υποψήφια προϊόντα ή υπηρεσίες που περιέχουν παραπληροφόρηση, παρωχημένα στοιχεία ή δυνητικά παραπλανητικές δηλώσεις σχετικά με το Ethereum ή άλλα σχετικά θέματα δεν θα καταχωρίζονται ή θα αφαιρούνται εάν έχουν ήδη καταχωρισθεί.
+
+**Ποιες πλατφόρμες υποστηρίζονται;**
+
+- π.χ. Linux, macOS, Windows, iOS, Android
+
+#### Λογισμικό και έξυπνα συμβόλαια {#software-and-smart-contracts}
+
+Για οποιοδήποτε σχετικό προσαρμοσμένο λογισμικό ή έξυπνα συμβόλαια:
+
+**Είναι όλα ανοιχτού κώδικα;**
+
+- Τα έργα ανοιχτού κώδικα θα πρέπει να διαθέτουν δημοσίως διαθέσιμο χώρο αποθήκευσης πηγαίου κώδικα
+- Αυτό χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «ανοιχτού κώδικα» των προϊόντων.
+
+**Είναι το προϊόν εκτός ανάπτυξης _beta_;**
+
+- Πού βρίσκεται το προϊόν στον κύκλο ανάπτυξής του;
+- Τα προϊόντα στο στάδιο beta δεν λαμβάνονται υπόψη για ένταξη στο ethereum.org
+
+**Έχει υποβληθεί το λογισμικό σε εξωτερικό έλεγχο ασφαλείας;**
+
+- Εάν όχι, υπάρχουν σχέδια για τη διενέργεια εξωτερικού ελέγχου;
+- Αυτό χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «ελεγχθέντων» προϊόντων.
+
+**Έχει το έργο πρόγραμμα επιβράβευσης για την εύρεση σφαλμάτων;**
+
+- Εάν όχι, υπάρχουν σχέδια για τη δημιουργία προγράμματος επιβράβευσης για την εύρεση σφαλμάτων ασφαλείας;
+- Αυτό χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «πρόγραμμα επιβράβευσης για την εύρεση σφαλμάτων» του προϊόντος.
+
+#### Εργαλεία κόμβου ή πελάτη {#node-or-client-tooling}
+
+Για προϊόντα λογισμικού που σχετίζονται με τη ρύθμιση, τη διαχείριση ή τη μετεγκατάσταση κόμβου ή πελάτη:
+
+**Ποιοι πελάτες επιπέδου συναίνεσης (π.χ. Lighthouse, Teku, Nimbus, Prysm, Grandine) υποστηρίζονται;**
+
+- Ποια προγράμματα πελάτες υποστηρίζονται; Μπορεί ο χρήστης να επιλέξει;
+- Αυτό χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «πολλαπλών προγραμμάτων πελάτες».
+
+#### Ποντάρισμα ως μια υπηρεσία {#staking-as-a-service}
+
+Για [καταχωρίσεις δέσμευσης κεφαλαίου ως υπηρεσίας](/staking/saas/) (δηλαδή λειτουργία εκχωρημένου κόμβου):
+
+**Ποιες είναι οι χρεώσεις που σχετίζονται με τη χρήση αυτής της υπηρεσίας;**
+
+- Ποια είναι η διάρθρωση των χρεώσεων, π.χ. υπάρχει μηνιαία χρέωση για την υπηρεσία;
+- Υπάρχουν πρόσθετες απαιτήσεις αποθήκευσης;
+
+**Απαιτείται από τους χρήστες να εγγραφούν για λογαριασμό;**
+
+- Μπορεί κάποιος να χρησιμοποιήσει την υπηρεσία χωρίς άδεια ή KYC;
+- Χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «χωρίς την ανάγκη αδειοδότησης».
+
+**Ποιος κρατά τα κλειδιά υπογραφής και τα κλειδιά ανάληψης;**
+
+- Σε ποια κλειδιά διατηρεί την πρόσβασή του ο χρήστης; Σε ποια κλειδιά αποκτά πρόσβαση η υπηρεσία;
+- Χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «έλλειψη εμπιστοσύνης» των προϊόντων.
+
+**Ποια είναι η ποικιλομορφία σε προγράμματα πελάτες των κόμβων που λειτουργούν;**
+
+- Τι ποσοστό των κλειδιών επικύρωσης εκτελούνται από πελάτη επιπέδου συναίνεσης πλειοψηφίας;
+- Από την τελευταία τροποποίηση, το Prysm είναι ο πελάτης επιπέδου συναίνεσης που εκτελείται από την πλειοψηφία των χειριστών κόμβων, κάτι που είναι επικίνδυνο για το δίκτυο. Εάν κάποιος πελάτης επιπέδου συναίνεσης χρησιμοποιείται επί του παρόντος σε ποσοστό μεγαλύτερο του 33% του δικτύου, ζητάμε δεδομένα που σχετίζονται με τη χρήση του.
+- Αυτό χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «ποικιλομορφία πελατών» του προϊόντος.
+
+#### Δεξαμενή αποθήκευσης κεφαλαίου {#staking-pool}
+
+Για [υπηρεσίες δέσμευσης κεφαλαίου σε δεξαμενή](/staking/pools/):
+
+**Ποιο είναι το ελάχιστο ποσό ETH που απαιτείται για συμμετοχή;**
+
+- π.χ. 0,01 ETH
+
+**Ποιες είναι οι σχετικές χρεώσεις ή απαιτήσεις αποθήκευσης;**
+
+- Τι ποσοστό των ανταμοιβών αφαιρούνται ως χρεώσεις;
+- Υπάρχουν πρόσθετες απαιτήσεις αποθήκευσης;
+
+**Υπάρχει token ρευστότητας;**
+
+- Ποια είναι τα σχετικά token; Πώς λειτουργούν; Ποιες είναι οι διευθύνσεις του συμβολαίου;
+- Αυτό χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «token ρευστότητας» των προϊόντων.
+
+**Μπορούν οι χρήστες να συμμετέχουν ως χειριστές κόμβων;**
+
+- Ποιες είναι οι απαιτήσεις εκτέλεσης πελατών επικύρωσης χρησιμοποιώντας τα συγκεντρωμένα κεφάλαια;
+- Απαιτείται άδεια από μεμονωμένο άτομο, εταιρεία ή DAO;
+- Χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «κόμβοι χωρίς ανάγκη αδειοδότησης» των προϊόντων.
+
+**Ποια είναι η ποικιλομορφία προγραμμάτων πελάτες των διαχειριστών κόμβων δεξαμενής;**
+
+- Ποιο ποσοστό των χειριστών κόμβων εκτελούν έναν πελάτη επιπέδου συναίνεσης πλειοψηφίας;
+- Από την τελευταία τροποποίηση, το Prysm είναι ο πελάτης επιπέδου συναίνεσης που εκτελείται από την πλειοψηφία των χειριστών κόμβων, κάτι που είναι επικίνδυνο για το δίκτυο. Εάν κάποιος πελάτης επιπέδου συναίνεσης χρησιμοποιείται επί του παρόντος σε ποσοστό μεγαλύτερο του 33% του δικτύου, ζητάμε δεδομένα που σχετίζονται με τη χρήση του.
+- Αυτό χρησιμοποιείται για τον προσδιορισμό της βαθμολογίας «ποικιλομορφία πελατών» του προϊόντος.
+
+### Άλλα κριτήρια: τα καλά {#other-criteria}
+
+**Ποιες διεπαφές χρήστη υποστηρίζονται;**
+
+- π.χ. Εφαρμογή προγράμματος περιήγησης, εφαρμογή για υπολογιστές, εφαρμογή για κινητά, CLI
+
+**Για εργαλεία κόμβων, παρέχει το λογισμικό έναν εύκολο τρόπο εναλλαγής μεταξύ πελατών;**
+
+- Μπορεί ο χρήστης να αλλάξει εύκολα και με ασφάλεια πελάτες χρησιμοποιώντας το εργαλείο;
+
+**Για SaaS, πόσες συσκευές επικύρωσης λειτουργούν υπό την υπηρεσία αυτή τη στιγμή;**
+
+- Αυτό μας δίνει μια ιδέα για την εμβέλεια της υπηρεσίας σας μέχρι στιγμής.
+
+## Πώς εμφανίζουμε τα αποτελέσματα {#product-ordering}
+
+Τα παραπάνω [κριτήρια για ένταξη](#criteria-for-inclusion) χρησιμοποιούνται για τον υπολογισμό μιας σωρευτικής βαθμολογίας για κάθε προϊόν ή υπηρεσία. Αυτό χρησιμοποιείται ως μέσο ταξινόμησης και προβολής προϊόντων που πληρούν ορισμένα αντικειμενικά κριτήρια. Όσο περισσότερα κριτήρια παρέχονται για τα αποδεικτικά στοιχεία, τόσο υψηλότερη είναι η ταξινόμηση ενός προϊόντος, με τους δεσμούς να τυχαιοποιούνται κατά τη φόρτωση.
+
+Η λογική κώδικα και η βαρύτητα των κριτηρίων περιέχονται αυτή τη στιγμή σε [αυτό το στοιχείο JavaScript](https://github.com/ethereum/ethereum-org-website/blob/dev/src/components/Staking/StakingProductsCardGrid.js#L350) στο αποθετήριο μας.
+
+## Προσθέστε το προϊόν ή την υπηρεσία σας {#add-product}
+
+Εάν θέλετε να προσθέσετε ένα προϊόν ή μια υπηρεσία αποθήκευσης στο ethereum.org, δημιουργήστε ένα ζήτημα στο GitHub.
+
+
+ Δημιουργήστε ένα ζήτημα
+
diff --git a/public/content/translations/el/contributing/adding-wallets/index.md b/public/content/translations/el/contributing/adding-wallets/index.md
new file mode 100644
index 00000000000..e43b9bcbc25
--- /dev/null
+++ b/public/content/translations/el/contributing/adding-wallets/index.md
@@ -0,0 +1,80 @@
+---
+title: Προσθήκη πορτοφολιών
+description: Η πολιτική που χρησιμοποιούμε κατά την προσθήκη ενός πορτοφολιού στο ethereum.org
+lang: el
+---
+
+# Προσθήκη πορτοφολιών {#adding-wallets}
+
+Θέλουμε να βεβαιωθούμε ότι δείχνουμε μια ποικιλία πορτοφολιών που καλύπτουν όλα τα χαρακτηριστικά των πορτοφολιών, έτσι ώστε οι χρήστες να μπορούν να πλοηγούνται στο Ethereum με σιγουριά.
+
+Οποιοσδήποτε είναι ελεύθερος να προτείνει την προσθήκη πορτοφολιού στο ethereum.org. Αν υπάρχει κάποιο πορτοφόλι που μας έχει διαφύγει, παρακαλούμε προτείνετέ το!
+
+Δείτε τη λίστα πορτοφολιών έως τώρα:
+
+- [ethereum.org/wallets/find-wallet/](/wallets/find-wallet/)
+
+Τα πορτοφόλια αλλάζουν γρήγορα στο Ethereum. Προσπαθήσαμε να δημιουργήσουμε ένα δίκαιο πλαίσιο προς εξέταση στο ethereum.org, αλλά τα κριτήρια καταχώρισης θα αλλάξουν και θα εξελιχθούν με την πάροδο του χρόνου.
+
+## Το πλαίσιο λήψης αποφάσεων {#the-decision-framework}
+
+### Κριτήρια για ένταξη: τα απαραίτητα {#the-must-haves}
+
+- **Το προϊόν να έχει ελεγχθεί για την ασφάλεια του** - είτε μέσω ελέγχου, μιας ομάδας εσωτερικής ασφάλειας, με κωδικοποίηση ανοιχτού κώδικα ή κάποιας άλλης μεθόδου. Η ασφάλεια του πορτοφολιού σας πρέπει να είναι αξιόπιστη. Αυτό μειώνει τον κίνδυνο για τους χρήστες μας και μας δείχνει ότι λαμβάνετε σοβαρά υπόψη την ασφάλεια.
+- **Ένα πορτοφόλι που είναι "ενεργό" για πάνω από έξι μήνες Ή κυκλοφόρησε από μια ομάδα με αξιόπιστο ιστορικό** - είναι μια ένδειξη ασφάλειας. Έξι μήνες είναι ένα καλό χρονικό πλαίσιο για να εντοπιστούν τα κρίσιμα σφάλματα και οι εκμεταλλεύσεις. Ζητάμε έξι μήνες για να βοηθήσουμε στο φιλτράρισμα και την αποβολή των ενσωματώσεων που εγκαταλείπονται γρήγορα ως έργα.
+- **Να υποστηρίζεται από μια ενεργή ομάδα** - αυτό βοηθά στη διασφάλιση της ποιότητας και ότι ένας χρήστης θα λάβει υποστήριξη για τα ερωτήματά του.
+- **Ειλικρινείς και ακριβείς πληροφορίες καταχώρισης** - αναμένεται ότι τυχόν προτεινόμενες καταχωρίσεις από έργα συνοδεύονται από ειλικρινείς και ακριβείς πληροφορίες. Προϊόντα που νοθεύουν πληροφορίες καταχώρισης, όπως η δήλωση του προϊόντος σας ως «ανοιχτού κώδικα» ενώ δεν είναι, θα αφαιρούνται.
+- **Σημείο επαφής** - Ένα σημείο επαφής για το πορτοφόλι θα μας βοηθήσει πολύ να λάβουμε ακριβείς πληροφορίες όταν πραγματοποιούνται αλλαγές. Αυτό θα διατηρήσει διαχειρίσιμη την ενημέρωση του ethereum.org κατά τη συλλογή μελλοντικών πληροφοριών.
+- **Συναλλαγές EIP-1559 (τύπου 2)** - το πορτοφόλι σας πρέπει να υποστηρίζει συναλλαγές EIP-1559 (τύπου 2) για συναλλαγές στο Κεντρικό Δίκτυο Ethereum.
+- **Καλή εμπειρία χρήστη** - Αν και το UX είναι υποκειμενικό, εάν πολλά μέλη της βασικής ομάδας δοκιμάσουν το προϊόν και κρίνουν ότι η χρήση του παρουσιάζει δυσκολίες, επιφυλασσόμαστε του δικαιώματος να απορρίψουμε το πορτοφόλι και αντί αυτού θα παρέχουμε χρήσιμες προτάσεις για βελτίωση. Αυτό γίνεται ώστε να προστατέψουμε τη βάση χρηστών μας που αποτελείται κυρίως από αρχάριους.
+
+### Αφαιρέσεις προϊόντων {#product-removals}
+
+- **Ενημερωμένες πληροφορίες** - Οι πάροχοι πορτοφολιού είναι υπεύθυνοι για την εκ νέου υποβολή των πληροφοριών του πορτοφολιού τους κάθε 6 μήνες για να διασφαλίζεται η εγκυρότητα και η συνάφεια των παρεχόμενων πληροφοριών (ακόμα και αν δεν έχουν γίνει αλλαγές στο προϊόν τους). Εάν η ομάδα προϊόντος δεν τις υποβάλει, το ethereum.org μπορεί να αφαιρέσει το έργο από τη σελίδα.
+
+### Άλλα κριτήρια: τα καλά {#the-nice-to-haves}
+
+- **Παγκόσμια προσβάσιμο** - το πορτοφόλι σας δεν έχει γεωγραφικούς περιορισμούς ή απαιτήσεις KYC που αποκλείουν την πρόσβαση ορισμένων ατόμων στην υπηρεσία σας.
+- **Διαθέσιμο σε πολλές γλώσσες** - το πορτοφόλι σας μεταφράζεται σε πολλές γλώσσες, γεγονός το οποίο επιτρέπει σε χρήστες από όλο τον κόσμο να έχουν πρόσβαση σε αυτό.
+- **Ανοιχτού κώδικα** - ολόκληρη η βάση κώδικα του έργου σας (όχι μόνο οι ενότητες) θα πρέπει να είναι προσβάσιμη και θα πρέπει να δέχεστε PR από την ευρύτερη κοινότητα.
+- **Ανεξάρτητος έλεγχος** - οι χρήστες ελέγχουν τα χρήματά τους. Εάν το προϊόν σας εξαφανιστεί, οι χρήστες εξακολουθούν να έχουν πρόσβαση στα χρήματά τους και μπορούν να τα μετακινήσουν.
+- **Υποστήριξη πορτοφολιού hardware** - οι χρήστες μπορούν να συνδέσουν το hardware πορτοφόλι τους για να υπογράψουν συναλλαγές.
+- **WalletConnect** - οι χρήστες μπορούν να συνδεθούν σε dapp χρησιμοποιώντας το WalletConnect.
+- **Εισαγωγή τελικών σημείων RPC του Ethereum** - οι χρήστες μπορούν να εισάγουν δεδομένα κόμβου RPC, κάτι που τους επιτρέπει να συνδεθούν σε έναν κόμβο της επιλογής τους ή σε άλλα δίκτυα συμβατά με EVM.
+- **NFT** - οι χρήστες μπορούν να προβάλλουν και να αλληλεπιδρούν με τα NFT τους στο πορτοφόλι.
+- **Σύνδεση σε εφαρμογές Ethereum** - οι χρήστες μπορούν να συνδέονται και να χρησιμοποιούν εφαρμογές Ethereum.
+- **Αποθήκευση κεφαλαίου** - οι χρήστες μπορούν να αποθηκεύσουν απευθείας μέσω του πορτοφολιού.
+- **Ανταλλαγές** - οι χρήστες μπορούν να ανταλλάσσουν token μέσω του πορτοφολιού.
+- **Δίκτυα πολλαπλών αλυσίδων** - το πορτοφόλι σας υποστηρίζει την πρόσβαση των χρηστών σε πολλά δίκτυα blockchain από προεπιλογή.
+- **Δίκτυα Επιπέδου 2** - το πορτοφόλι σας υποστηρίζει την πρόσβαση των χρηστών σε δίκτυα επιπέδου 2 από προεπιλογή.
+- **Προσαρμογή χρεώσεων καυσίμων (gas)** - το πορτοφόλι σας επιτρέπει στους χρήστες να προσαρμόζουν τις χρεώσεις gas των συναλλαγών τους (βασική χρέωση, χρέωση προτεραιότητας, μέγιστη χρέωση).
+- **Υποστήριξη ENS** - το πορτοφόλι σας επιτρέπει στους χρήστες να στέλνουν συναλλαγές σε ονόματα ENS.
+- **Υποστήριξη ERC-20** - το πορτοφόλι σας επιτρέπει στους χρήστες να εισάγουν συμβόλαια κρυπτονομισμάτων ERC-20 ή να υποβάλλουν αυτόματα ερωτήματα και να εμφανίζουν στοιχεία ERC-20.
+- **Αγορά κρυπτονομισμάτων** - το πορτοφόλι σας υποστηρίζει την άμεση αγορά από τους χρήστες και την ένταξη τους στο σύστημα κρυπτονομισμάτων.
+- **Πώληση έναντι fiat** - το πορτοφόλι σας υποστηρίζει τους χρήστες που πραγματοποιούν πωλήσεις και αναλήψεις σε fiat απευθείας σε κάρτα ή τραπεζικό λογαριασμό.
+- **Πολλαπλές υπογραφές** - το πορτοφόλι σας υποστηρίζει πολλαπλές υπογραφές για την υπογραφή μιας συναλλαγής.
+- **Κοινωνική ανάκτηση** - το πορτοφόλι σας παρέχει υποστήριξη με τη μορφή κηδεμόνων: ένας χρήστης μπορεί να ανακτήσει το πορτοφόλι του εάν χάσει τη μυστική φράση κλειδί του μέσω αυτών των κηδεμόνων.
+- **Αποκλειστική ομάδα υποστήριξης** - το πορτοφόλι σας διαθέτει μια ειδική ομάδα υποστήριξης στην οποία μπορούν να απευθύνονται οι χρήστες όταν αντιμετωπίζουν προβλήματα.
+- **Εκπαιδευτικοί πόροι/τεκμηρίωση** - το προϊόν σας θα πρέπει να έχει μια καλά σχεδιασμένη εμπειρία υποδοχής και ένταξης των χρηστών για να τους βοηθά και να τους εκπαιδεύει. Διαφορετικά, πρέπει να διαθέτει στοιχεία για περιεχόμενο με οδηγίες όπως άρθρα ή βίντεο.
+
+## Προσθήκη πορτοφολιού {#adding-a-wallet}
+
+Αν θέλετε να προσθέσετε ένα πορτοφόλι στο ethereum.org, δημιουργήστε ένα ζήτημα στο GitHub.
+
+
+ Δημιουργήστε ένα ζήτημα
+
+
+## Συντήρηση {#maintenance}
+
+Δεδομένης της ρευστής φύσης του Ethereum, οι ομάδες και τα προϊόντα έρχονται και παρέρχονται και η καινοτομία είναι καθημερινό φαινόμενο. Επομένως, θα διενεργούμε ελέγχους ρουτίνας του περιεχομένου μας για:
+
+- να βεβαιωνόμαστε ότι όλα τα πορτοφόλια και οι dapp που καταχωρίζονται εξακολουθούν να πληρούν τα κριτήριά μας
+- να επαληθεύουμε ότι δεν υπάρχουν προτεινόμενα προϊόντα που πληρούν περισσότερα από τα κριτήριά μας από αυτά που είναι καταχωρισμένα αυτή τη στιγμή
+
+Το ethereum.org συντηρείται από την κοινότητα ανοιχτού κώδικα και βασιζόμαστε στη βοήθεια της κοινότητας για να το διατηρούμε ενημερωμένο. Εάν παρατηρήσετε οποιαδήποτε πληροφορία σχετικά με τα πορτοφόλια που έχουν καταχωριστεί στη λίστα η οποία πρέπει να ενημερωθεί, [ανοίξτε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=wallet+%3Apurse%3A&template=suggest_wallet.yaml) ή [υποβάλετε αίτημα](https://github.com/ethereum/ethereum-org-website/pulls)!
+
+
+## Όροι Χρήσης {#terms-of-use}
+
+Διαβάστε επίσης τους [όρους χρήσης](/terms-of-use/) μας. Οι πληροφορίες στο ethereum.org παρέχονται αποκλειστικά για λόγους γενικής πληροφόρησης.
diff --git a/public/content/translations/el/contributing/content-resources/index.md b/public/content/translations/el/contributing/content-resources/index.md
new file mode 100644
index 00000000000..aba61586cc2
--- /dev/null
+++ b/public/content/translations/el/contributing/content-resources/index.md
@@ -0,0 +1,32 @@
+---
+title: Προσθήκη πόρων περιεχομένου
+lang: el
+description: Τα κριτήριά μας για την καταχώριση των πόρων περιεχομένου στο ethereum.org
+---
+
+# Προσθήκη πόρων περιεχομένου {#adding-content-resources}
+
+Δεν μπορούμε να καλύψουμε όλα τα θέματα στο Ethereum, οπότε προσπαθούμε να παρουσιάσουμε μερικά από τα ποιο σημαντικά άρθρα, οδηγίες, δημοσιεύσεις εργασίες και διάφορους πόρους που δημιουργεί η κοινότητα. Αυτά, συχνά παρέχουν πιο εμπεριστατωμένες πληροφορίες σχετικά με τα ενδιαφέροντα των χρηστών.
+
+Αν υπάρχει ένας πόρος περιεχομένου που πιστεύετε ότι πρέπει να προστεθεί σε μια σελίδα, μη διστάσετε να τον προτείνετε κάπου κατάλληλα.
+
+## Πώς θα αποφασίσουμε {#how-we-decide}
+
+Οι πόροι μαθημάτων αξιολογούνται με τα παρακάτω κριτήρια:
+
+- Είναι το περιεχόμενο ενημερωμένο;
+- Είναι το περιεχόμενο επί πληρωμή;
+- Είναι ακριβείς οι πληροφορίες; Είναι πραγματικές ή βασισμένες σε εμπειρία;
+- Είναι αξιόπιστος ο συγγραφέας; Γίνετε παραπομπή στις πηγές τους;
+- Γίνετε ξεχωριστή αναφορά στο περιεχόμενο/συνδέσμους ότι δεν καλύπτονται;
+- Εξυπηρετεί αυτό το περιεχόμενο έναν [από τους χρήστες μας](https://www.notion.so/efdn/Ethereum-org-User-Persona-Memo-b44dc1e89152457a87ba872b0dfa366c);
+
+---
+
+## Προσθήκη πόρου περιεχομένου σας {#add-your-content-resource}
+
+Αν θέλετε να προσθέσετε έναν πόρο περιεχομένου στο ethereum.org και πληροί τα κριτήρια, δημιουργήστε ένα ζήτημα στο GitHub.
+
+
+ Δημιουργήστε ένα ζήτημα
+
diff --git a/public/content/translations/el/contributing/design-principles/index.md b/public/content/translations/el/contributing/design-principles/index.md
new file mode 100644
index 00000000000..dd70d0ed9a2
--- /dev/null
+++ b/public/content/translations/el/contributing/design-principles/index.md
@@ -0,0 +1,93 @@
+---
+title: Αρχές σχεδιασμού
+lang: el
+description: Οι αρχές πίσω από τις αποφάσεις για τον σχεδιασμό και το περιεχόμενο του ethereum.org
+---
+
+# Οι αρχές σχεδιασμού μας {#contributing-to-ethereumorg-}
+
+ Γεια σας και καλώς ορίσατε στις αρχές σχεδίασης του ethereum.org. Αυτό είναι μέρος μιας συνεχούς διαδικασίας για την εξέλιξη και τη βελτίωση του ethereum.org.
+
+Οι αρχές μας ενημερώνουν την εμφάνιση και την αίσθηση του ιστότοπου και του περιεχομένου που υπάρχει σε αυτόν.
+
+Θα πρέπει να τα διαβάσετε πριν [συνεισφέρετε στο ethereum.org](/contributing/).
+
+## Τι είναι οι αρχές σχεδιασμού; {#ways-to-contribute}
+
+Μην ανησυχείτε, είναι πολύ απλό! Οι **Αρχές σχεδίασης** είναι ένα σύνολο κατευθυντήριων γραμμών στις οποίες αναφερόμαστε όταν σχεδιάζουμε κάτι (δηλαδή δημιουργία, συντήρηση ή ενημέρωση).
+
+Στο πλαίσιο του ethereum.org, αυτές οι αρχές σχεδιασμού αποτελούν τη βάση για αυτό που θέλουμε να αντιπροσωπεύει ο ιστότοπος και να προβάλλει στον κόσμο. Είναι και τα δύο φιλόδοξα **και** λειτουργικά. Δεν είναι μόνο το πώς _εμφανίζεται ο ιστότοπος_, αλλά και το πώς _λειτουργεί_ και ακόμη και το πώς κάνει κάποιον _να αισθάνεται._ Τα πάντα, από τα χρώματα μέχρι τη σελίδα, ο τρόπος για το πώς μιλάμε για το Ethereum στον ιστότοπο θα πρέπει να κατευθύνονται από αυτές τις αρχές.
+
+## Οι αρχές στην πράξη {#how-decisions-about-the-site-are-made}
+
+Ας δούμε ένα παράδειγμα. Μία από τις αρχές είναι η «Αξιοπιστία», που σημαίνει ότι θέλουμε οι επισκέπτες του ιστότοπου να _αισθάνονται_ και _να γνωρίζουν_ ότι ο ιστότοπος είναι αξιόπιστος, όπως και το ευρύτερο οικοσύστημα του Ethereum. Στο πλαίσιο αυτής της αρχής, έχουμε 3 λειτουργικές «υποκατηγορίες αρχών» που πιστεύουμε ότι είναι ενεργά βήματα που μπορούμε να κάνουμε για να κάνουμε τον ιστότοπο αξιόπιστο:
+
+- _«Φρέσκο»_, δηλαδή να διατηρείτε το περιεχόμενο ενημερωμένο.
+- _«Κοινωνικά αποδεκτό»_, δηλαδή εμφάνιση του μεγέθους, της ποικιλομορφίας και της δραστηριότητας του οικοσυστήματος (ξέρετε: πρόοδος αναβάθμισης Ethereum, DeFi, παιχνίδια, όλα τα hackathon, κ.λπ.)
+- _«Συνέπεια»_, δηλαδή συνέπεια στον σχεδιασμό του ιστότοπου και στον τόνο και την ακρίβεια της γραφής.
+
+Έτσι, όταν λαμβάνουμε αποφάσεις σχεδιασμού ή κειμενογράφου, μπορούμε στη συνέχεια να αναφερθούμε στην αρχή «Αξιοπιστία» και να ρωτήσουμε:
+
+- _«Αντικατοπτρίζει ο ιστότοπος τις τρέχουσες πληροφορίες;»_
+- _«Πώς και πού δείχνουμε το μέγεθος και τη δραστηριότητα του οικοσυστήματος;»_
+- _«Οι νέες προτεινόμενες συνεισφορές από ένα μέλος της κοινότητας που εξετάζεται συνάδουν με τον τρέχοντα σχεδιασμό και τη γραφή στον ιστότοπο;»_
+
+## Οι αρχές σχεδιασμού του ethereum.org {#contributors}
+
+### 1. Έμπνευση {#1-inspirational}
+
+Ο ιστότοπος θα πρέπει να εμπνεύσει τους χρήστες να ονειρεύονται πώς το Ethereum μπορεί να αλλάξει τον κόσμο. Θα πρέπει να παρακινήσει τους ανθρώπους να εξερευνήσουν, να παίξουν και να ασχοληθούν με τα εργαλεία και τις εφαρμογές του οικοσυστήματος Ethereum.
+
+- **Ριζοσπαστικό:** Ο ιστότοπος θα πρέπει να εκφράζει τους φιλόδοξους στόχους του Ethereum να αλλάξει ουσιαστικά τον κόσμο. Θα πρέπει να είναι σαφές ότι το Ethereum δεν είναι απλώς μια νέα στοίβα τεχνολογίας αλλά μια μετασχηματιστική τεχνολογία.
+- **Η γνώση είναι δύναμη:** Ο ιστότοπος θα πρέπει να εκπαιδεύει τους ανθρώπους ώστε να μπορούν να κατανοήσουν τις δυνατότητες του Ethereum, να βρουν τη θέση τους στο οικοσύστημα και να αισθάνονται ενδυναμωμένοι να συμμετέχουν σε αυτό.
+
+Οπτική κατεύθυνση • Περιεχόμενο
+
+### 2. Παγκόσμιο {#2-universal}
+
+Το Ethereum είναι ένα παγκόσμιο, αποκεντρωμένο έργο και το κοινό μας το αποδεικνύει. Ο ιστότοπος θα πρέπει να φιλοδοξεί να παρέχει πρόσβαση σε όλους και να επιδεικνύει ευαισθησία στους ποικίλους πολιτισμούς όλου του κόσμου.
+
+- **Προσβασιμότητα:** Ο ιστότοπος θα πρέπει να ακολουθεί τις οδηγίες προσβασιμότητας, μεταξύ άλλων και για άτομα με συνδέσεις χαμηλού εύρους ζώνης.
+- **Αμεσότητα:** Ο ιστότοπος πρέπει να είναι απλός και ξεκάθαρος. Τα κείμενα δεν πρέπει να χρησιμοποιούν γλώσσα που μπορεί να παρερμηνευτεί ή να χαθεί στη μετάφραση.
+- **Το Ethereum είναι πολύπλευρο:** Το Ethereum είναι ένα έργο, μια βάση κώδικα, μια κοινότητα και ένα όραμα. Το Ethereum είναι πολύτιμο για διαφορετικούς ανθρώπους και για διαφορετικούς λόγους, και υπάρχουν πολλοί τρόποι συμμετοχής σ' αυτό.
+
+Συστήματα γραφής • Χρήση χρώματος • Οπτική κατεύθυνση • Περιεχόμενο
+
+### 3. Μια καλή ιστορία {#3-a-good-story}
+
+Ο ιστότοπος θα πρέπει να λειτουργεί σαν μια καλή ιστορία. Οι επισκέπτες είναι σε ένα ταξίδι και το περιεχόμενο που συνεισφέρετε αποτελεί μέρος αυτής της διαδρομής. Οι συνεισφορές σας πρέπει να ταιριάζουν σε μια ξεκάθαρη αφήγηση: να έχουν αρχή (εισαγωγή/σημείο εισόδου), μέση (σύνολο διδαγμάτων και γνώσεων) και τέλος (σύνδεσμος/-οι προς σχετικούς πόρους ή επόμενα βήματα).
+
+- **Ιεραρχική δόμηση**: Μια σαφής, ιεραρχικά δομημένη αρχιτεκτονική πληροφοριών βοηθά τους επισκέπτες του ethereum.org να περιηγηθούν στον ιστότοπο «σαν να έχουν να κάνουν με μια ιστορία», καθώς επιδιώκουν να επιτύχουν τους στόχους τους.
+- **Εφαλτήριο:** Είμαστε ένα εφαλτήριο για όποιον αναζητά απαντήσεις. Δεν θέλουμε να αντικαταστήσουμε ή να γίνουμε υποκατάστατο των πολλών πηγών που ήδη υπάρχουν. Δίνουμε μια απάντηση και παρέχουμε αξιόπιστα επόμενα βήματα.
+
+Διαδρομές χρήστων • Περιεχόμενο
+
+### 4. Αξιοπιστία {#4-credible}
+
+Κάποιοι μπορεί να επιδιώκουν να εισέλθουν στο οικοσύστημα Ethereum, ενώ κάποιοι άλλοι μπορεί να το αντιμετωπίζουν με σκεπτικισμό. Πρέπει να έχετε επίγνωση της ευθύνης που συνεπάγεται ο τρόπος με τον οποίο επικοινωνείτε. Φροντίστε ότι και ο μεν και ο δε φεύγει με μεγαλύτερη εμπιστοσύνη στο οικοσύστημα του Ethereum.
+
+- **Φρέσκο:** Πάντα ενημερωμένο.
+- **Κοινωνική απόδειξη:** Δείξτε το μέγεθος, την ποικιλομορφία και τη δραστηριότητα του οικοσυστήματος.
+- **Συνεπές:** Η συνέπεια στον σχεδιασμό και το περιεχόμενο αποπνέει αξιοπιστία.
+
+Οπτική κατεύθυνση • Περιεχόμενο
+
+### 5. Συνεργατική βελτίωση {#5-collaborative-improvement}
+
+Ο ιστότοπος είναι προϊόν πολλών συνεισφερόντων, όπως και το οικοσύστημα στο σύνολό του.
+
+- **Ανοιχτό:** Εξυμνεί τη διαφάνεια του ανοιχτού κώδικα, των διαδικασιών και των έργων σε όλο το οικοσύστημα.
+- **Επεκτάσιμο:** Η αρθρωτή μορφή αποτελεί βασικό σημείο εστίασης πίσω από ό,τι κάνουμε. Επομένως, οι συνεισφορές θα πρέπει να είναι επίσης αρθρωτές. Ο βασικός σχεδιασμός, ο κώδικας περιεχομένου και η υλοποίηση του ιστότοπου θα πρέπει να επιτρέπουν την εύκολη επέκτασή του στο μέλλον.
+- **Πειραματικό:** Πειραματιζόμαστε, δοκιμάζουμε και επαναλαμβάνουμε συνεχώς.
+- **Συνεργατικό:** Αυτό το έργο μάς φέρνει όλους κοντά.
+- **Βιώσιμο:** Προετοιμασία για μακροπρόθεσμη συντήρηση από την κοινότητα
+
+Μπορείτε να δείτε τις αρχές σχεδιασμού μας σε δράση [σε διάφορα σημεία του ιστοτόπου μας](/).
+
+## Αφήστε την κριτική σας {#give-feedback}
+
+**Μοιραστείτε τα σχόλιά σας για αυτό το έγγραφο!** Μία από τις προτεινόμενες αρχές μας είναι η «**Συνεργατική βελτίωση**», που σημαίνει ότι θέλουμε ο ιστότοπος να είναι προϊόν πολλών συνεισφερόντων. Έτσι, στο πνεύμα αυτής της αρχής, θέλουμε να μοιραστούμε αυτές τις αρχές σχεδιασμού με την κοινότητα του Ethereum.
+
+Παρόλο που αυτές οι αρχές εστιάζουν στον ιστότοπο ethereum.org, ελπίζουμε ότι πολλές από αυτές είναι αντιπροσωπευτικές των αξιών του οικοσυστήματος Ethereum στο σύνολό του (π.χ. μπορείτε να δείτε επιρροές από τις [αρχές της Λευκής Βίβλου του Ethereum](https://github.com/ethereum/wiki/wiki/White-Paper#philosophy)). Ίσως μάλιστα να θέλετε να ενσωματώσετε μερικά από αυτά στο δικό σας έργο!
+
+Μοιραστείτε μαζί μας τις σκέψεις σας για τον [διακομιστή Discord](https://discord.gg/ethereum-org) ή [υποβάλοντας ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=).
diff --git a/public/content/translations/el/contributing/design/adding-design-resources/index.md b/public/content/translations/el/contributing/design/adding-design-resources/index.md
new file mode 100644
index 00000000000..6a3c4a6532c
--- /dev/null
+++ b/public/content/translations/el/contributing/design/adding-design-resources/index.md
@@ -0,0 +1,69 @@
+---
+title: Προσθήκη πόρων σχεδιασμού
+description: Κατευθυντήριες οδηγίες και απαιτήσεις για τη διασφάλιση της ποιότητας των υλικών σχεδιασμού στο ethereum.org
+lang: el
+---
+
+# Προσθήκη πόρων σχεδιασμού {#adding-design-resources}
+
+Οποιοσδήποτε μπορεί να προτείνει νέα υλικά σχεδιασμού στη σελίδα [Σχεδιασμός και UX στο web3](/developers/docs/design-and-ux/).
+
+Λάβετε υπόψη ότι η εστίαση αυτής της σελίδας είναι στην παροχή αξίας χρήστη σε επίδοξους σχεδιαστές web3. Η ενότητα σχεδιασμού δεν είναι εκεί για να διαφημίσετε τις υπηρεσίες, τα προϊόντα ή τις πλατφόρμες σας.
+
+Για να διασφαλίσουμε ότι διατηρούμε υψηλό επίπεδο πληροφοριών και ότι προωθούμε πολύτιμες γνώσεις, έχουμε δημιουργήσει μια πολιτική καταχώρισης:
+
+## Ερευνητικές Μελέτες και Πίνακες Ελέγχου {#Research-studies}
+
+1. Μεθοδολογία ήχου
+
+α. Η μεθοδολογία θα πρέπει να ορίζει με σαφήνεια τον τρόπο συλλογής των δεδομένων.
+
+β. Ο αριθμός των συμμετεχόντων στην έρευνα πρέπει να δηλώνεται.
+
+γ. Οι μέθοδοι έρευνας που χρησιμοποιήθηκαν πρέπει να περιγράφονται.
+
+2. Συνάφεια σε σχέση με τους σχεδιαστές Web3 και Κοινές Περιπτώσεις Χρήσης Σχεδιασμού
+
+α. Το θέμα της έρευνας θα πρέπει να είναι συναφές σε σχέση με τους σχεδιαστές web3 και να αφορά κοινές περιπτώσεις χρήσης ως προς τον σχεδιασμό.
+
+3. Εστίαση στην παροχή γνώσεων
+
+α. Ο κύριος στόχος του κειμένου θα πρέπει να είναι η ανταλλαγή γνώσεων και όχι η προώθηση ενός συγκεκριμένου έργου ή εταιρείας.
+
+## Άρθρα {#Articles}
+
+1. Συνάφεια σε σχέση με Σχεδιαστές/Ερευνητές Web3 και Κοινές περιπτώσεις χρήσης σχεδιασμού Web3
+
+α. Το θέμα του άρθρου θα πρέπει να αφορά σχεδιαστές και ερευνητές web3 και να εστιάζει σε κοινές περιπτώσεις χρήσης σχεδιασμού web3.
+
+2. Βασική ποιότητα σύνταξης άρθρου
+
+α. Το άρθρο δεν πρέπει να περιέχει γραμματικά και ορθογραφικά λάθη.
+
+β. Θα πρέπει να δίνεται έμφαση στην παροχή βασικών γνώσεων και διδαγμάτων.
+
+γ. Θα πρέπει να είναι γραμμένο με συνοπτικό τρόπο και να είναι εντός θέματος.
+
+3. Στόχος του κειμένου
+
+α. Ο κύριος στόχος του άρθρου θα πρέπει να είναι η ανταλλαγή γνώσεων και όχι η προώθηση ενός συγκεκριμένου έργου ή εταιρείας.
+
+## Κοινότητες / DAO {#Communities-and-DAOs}
+
+1. Ο ιστότοπος πρέπει να υποδεικνύει με σαφήνεια τον τρόπο συμμετοχής σε DAO/Κοινότητα
+
+2. Σαφή Οφέλη Συμμετοχής
+
+α. Τα οφέλη του να γίνεσαι μέλος θα πρέπει να παρουσιάζονται με εμφανή τρόπο.
+
+**Παραδείγματα**: λήψη σχολίων για την εργασία, πρόσβαση σε ευκαιρίες εργασίας ή ανταμοιβών, ανταλλαγή γνώσεων όσον αφορά τον σχεδιασμό και την έρευνα.
+
+3. Ενεργή και ζωντανή επικοινωνία στο Discord
+
+α. Η κοινότητα του Discord θα πρέπει να χαρακτηρίζεται από έντονη και αφοσιωμένη επικοινωνία.
+
+β. Οι συντονιστές θα πρέπει να συμμετέχουν ενεργά στη συντήρηση της κοινότητας και στη διευκόλυνση των συζητήσεων.
+
+γ. Η κοινότητα θα πρέπει να επιδεικνύει ιστορικό πολύτιμων και παραγωγικών συνομιλιών τις τελευταίες δύο εβδομάδες.
+
+Με την τήρηση αυτών των κριτηρίων, στοχεύουμε να καλλιεργήσουμε ένα ακμάζον περιβάλλον που ανταλλάσσει γνώσεις εντός της κοινότητάς μας. Πιστεύουμε ότι αυτή η πολιτική της επιτρεπόμενης λίστας θα διασφαλίσει την πρόσβαση των χρηστών μας σε αξιόπιστους, συναφείς και διορατικούς πόρους. Σας ευχαριστούμε για την κατανόηση και τη συνεργασία σας στη διατήρηση της ποιότητας του περιεχομένου στην πλατφόρμα μας.
diff --git a/public/content/translations/el/contributing/design/index.md b/public/content/translations/el/contributing/design/index.md
new file mode 100644
index 00000000000..614c6d9f8a7
--- /dev/null
+++ b/public/content/translations/el/contributing/design/index.md
@@ -0,0 +1,77 @@
+---
+title: Συμμετοχή στον σχεδιασμό
+description: Συμμετοχή στον σχεδιασμό του ethereum.org
+lang: el
+---
+
+# Συμμετοχή στον σχεδιασμό του ethereum.org {#design-contributions}
+
+Ο σχεδιασμός είναι ένα κρίσιμο κομμάτι κάθε έργου και, αφιερώνοντας τον χρόνο και τις δεξιότητές σας στο ethereum.org, μπορείτε να βοηθήσετε στη βελτίωση της εμπειρίας χρήσης για τους επισκέπτες μας. Η συνεισφορά σε ένα έργο ανοικτού κώδικα σας δίνει την ευκαιρία να αποκτήσετε σχετική εμπειρία και να αναπτύξετε τις δεξιότητές σας σε ένα συνεργατικό περιβάλλον. Θα έχετε την ευκαιρία να συνεργαστείτε με άλλους σχεδιαστές, προγραμματιστές και μέλη της κοινότητας, οι οποίοι θα έχουν όλοι τις δικές τους μοναδικές προοπτικές και γνώσεις.
+
+Αυτός είναι ένας πολύ καλός τρόπος για να δημιουργήσετε ένα διαφορετικό και εντυπωσιακό portfolio που θα παρουσιάσει τις δεξιότητές σας στον σχεδιασμό.
+
+## Πώς να συμμετάσχετε;
+
+### Σχολιάστε τα αρχικά πρωτότυπα σχέδια {#design-critique}
+
+Χρειαζόμαστε μερικές φορές βοήθεια για να δοκιμάσουμε τις ακατέργαστες ιδέες μας. Αυτός είναι ένας πολύ καλός τρόπος να συνεισφέρετε χωρίς τεχνικές γνώσεις.
+
+1. Η ομάδα σχεδιασμού θα μοιραστεί ένα σχέδιο μακέτα στο [Discord](https://discord.com/invite/ethereum-org) και στο [GitHub](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+2. Θα σας καθοδηγήσουν μέσα από τα σχέδια για να υποβάλλετε την άποψή σας μέσω της λειτουργίας σχολίων.
+3. Το αποτέλεσμα θα κοινοποιηθεί στο χώρο ζητημάτων του GitHub και στη συνέχεια θα κλείσει από την ομάδα.
+
+### Συμμετέχετε σε δημοσκόπηση {#answer-surveys}
+
+Παρέχετε την άποψή σας στον ιστότοπό μας κάνοντας τα εξής:
+
+1. Επισκεφθείτε το ethereum.org και διαβάστε τις σελίδες.
+2. Κάντε κλικ στο εργαλείο σχολιασμού στην κάτω δεξιά γωνία και απαντήστε σε ερωτήσεις σχετικά με τον σχεδιασμό και το περιεχόμενο.
+3. Εστιάστε στις ερωτήσεις ελεύθερης μορφής.
+
+### Εντοπίστε ζητήματα σχετικά με τον σχεδιασμό στον ιστότοπο και αναφέρετέ τα {#report-design-issues}
+
+Το ethereum.org είναι ένας ταχέως αναπτυσσόμενος ιστότοπος με πολλά χαρακτηριστικά και περιεχόμενο. Μερικά από τα UI μπορεί εύκολα να ξεπεραστούν ή να βελτιωθούν. Εάν συναντήσετε κάποια τέτοια περίπτωση, αναφέρετέ τη για να τραβήξει την προσοχή μας.
+
+1. Περιηγηθείτε στον ιστότοπο και δώστε προσοχή στον σχεδιασμό του.
+2. Τραβήξτε στιγμιότυπα οθόνης και σημειώσεις εάν δείτε οποιαδήποτε οπτικά προβλήματα ή προβλήματα UX.
+3. Αναφέρετε αυτά τα ζητήματα χρησιμοποιώντας μια [αναφορά σφάλματος](https://github.com/ethereum/ethereum-org-website/issues/new/choose).
+
+### Πρόταση αλλαγών στη σχεδίαση {#propose-design-changes}
+
+Εάν αισθάνεστε άνετα να αναλάβετε προκλήσεις σχεδιασμού, μπορείτε να επισκεφθείτε τον πίνακα εργασιών GitHub μας και να ορίσετε φίλτρο σχετικά με [ζητήματα σχεδιασμού](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+
+1. Περιηγηθείτε στον ιστότοπό μας και δώστε προσοχή στον σχεδιασμό του ή μεταβείτε στο αποθετήριο GitHub μας και αναθεωρήστε τα ζητήματα με την ετικέτα [«Απαιτείται σχεδιασμός»](https://github.com/ethereum/ethereum-org-website/labels/design%20required%20%F0%9F%8E%A8).
+2. Σχεδιάστε μια λύση για το πρόβλημα (κατά προτίμηση χρησιμοποιώντας το [σύστημα σχεδιασμού μας](https://www.figma.com/community/file/1134414495420383395)).
+3. Προτείνετε τη λύση στο αντίστοιχο χώρο ζητημάτων του GitHub ή [δημιουργήστε ένα νέο](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=feature+%3Asparkles%3A&template=feature_request.yaml&title=Feature+request).
+4. Περιμένετε την αναθεώρηση από την ομάδα σχεδιασμού.
+
+### Συνεργαστείτε στη Δημιουργία του Συστήματος Σχεδίασης {#Contribute-to-design-system}
+
+Το σύστημα σχεδίασμού μας κάνει τη σχεδίαση του ethereum.org διασκεδαστική και εύκολη. Εάν είστε έμπειρος σχεδιαστής, μπορείτε να μας βοηθήσετε να προετοιμάσουμε πολλά στοιχεία για τον ιστότοπο.
+
+1. Επιλέξτε ένα ζήτημα για να εργαστείτε από τον [πίνακα σχεδίασης συστήματος](https://github.com/ethereum/ethereum-org-website/labels/design%20system) στο GitHub ή δημιουργήστε ένα νέο.
+2. Ζητήστε να σας ανατεθεί το επιλεγμένο ζήτημα.
+3. Ξεκινήστε να σχεδιάζετε το ζητούμενο στοιχείο στο Figma.
+4. Μοιραστείτε το με την ομάδα σχεδιασμού στο GitHub μόλις χρειαστείτε αναθεώρηση ή καθοδήγηση.
+5. Η ομάδα σχεδιασμού θα το αναθεωρήσει.
+6. Η ομάδα σχεδιασμού θα ενσωματώσει τις αλλαγές στο κύριο αρχείο και θα δημοσιεύσει το αρχείο στην κοινότητα.
+
+### Γράψτε σχετικό περιεχόμενο με τον σχεδιασμό στον ιστότοπο {#write-design-articles}
+
+Η κοινότητα ανάπτυξης Ethereum είναι ισχυρή, αλλά η κοινότητα σχεδιασμού υστερεί ελαφρώς. Εάν είστε σχεδιαστής με γνώσεις web3, εξετάστε το ενδεχόμενο να μοιραστείτε τις γνώσεις σας με την ευρύτερη κοινότητα, ώστε να μπορέσουμε όλοι να αναπτυχθούμε και να βελτιωθούμε μαζί. Έχουμε μια [σελίδα σχετικά με τον σχεδιασμό για το Ethereum](/developers/docs/design-and-ux/) στην οποία μπορείτε να συνεισφέρετε. Μπορείτε επίσης να ελέγξετε τις [πολιτικές καταχώρησής](/contributing/design/adding-design-resources) μας.
+
+1. Αναφέρετε στα νήματα σχεδιασμού που θα πρέπει να καλύπτονται στο ethereum.org και θα ήταν χρήσιμα για τους σχεδιαστές στον χώρο.
+2. Μεταβείτε στο αποθετήριο GitHub μας και [δημιουργήστε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new) που προτείνει ένα θέμα (μη γράψετε ακόμα το περιεχόμενο).
+3. Περιμένετε την έγκριση της ομάδας σχεδιασμού.
+4. Μόλις εγκριθεί, γράψτε το περιεχόμενο.
+5. Υποβάλετέ το στον αντίστοιχο χώρο ζητημάτων του GitHub.
+
+### Σχεδιάστε νέες απεικονίσεις {#prepare-illustrations}
+
+Οι οπτικοποιήσεις είναι ένα από τα πιο ισχυρά εργαλεία για την εξήγηση αφηρημένων θεμάτων. Υπάρχει τεράστιο δυναμικό με την προσθήκη διαγραμμάτων και infographics. Άλλωστε, μια εικόνα αξίζει χίλιες λέξεις.
+
+1. Επισκεφθείτε τον ιστότοπό μας και δείτε τις σελίδες όπου θα μπορούσαν να προστεθούν νέα infographics.
+2. Βεβαιωθείτε ότι το στιλ απεικονίσεων αντιστοιχεί στα [ψηφιακά στοιχεία](/assets/) μας.
+3. Μεταβείτε στο αποθετήριο GitHub μας και [δημιουργήστε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new) που προτείνει την απεικόνιση.
+4. Η ομάδα σχεδιασμού θα το αναθεωρήσει.
+5. Δημιουργούμε ένα νέο ζήτημα για να ζητήσουμε από έναν προγραμματιστή να εφαρμόσει τη νέα εικόνα.
diff --git a/public/content/translations/el/contributing/index.md b/public/content/translations/el/contributing/index.md
new file mode 100644
index 00000000000..e856c6707cb
--- /dev/null
+++ b/public/content/translations/el/contributing/index.md
@@ -0,0 +1,116 @@
+---
+title: Συνεισφορά
+description: Μάθετε τους διάφορους τρόπους όπου μπορείτε να συνεισφέρετε στο ethereum.org
+lang: el
+---
+
+# Συνεισφέροντας στο ethereum.org 🦄 {#contributing-to-ethereumorg}
+
+Το Ethereum.org είναι ένα έργο ανοιχτού κώδικα με **12000+** συνεισφέροντες που βοηθούν στη μετάφραση, τη συγγραφή, τον σχεδιασμό και τη συντήρηση του ιστότοπου.
+
+Είμαστε μια φιλόξενη κοινότητα που θα σας βοηθήσει να εξελιχθείτε και να εκπαιδευτείτε στο οικοσύστημα Ethereum, ενώ παράλληλα θα συνεισφέρετε ουσιαστικά και θα αποκτήσετε σχετική πρακτική εμπειρία!
+
+## Τρόποι συνεισφοράς {#ways-to-contribute}
+
+**Μεταφράσεις**
+- [Εγγραφείτε στο πρόγραμμα μετάφρασης](/contributing/translation-program/) – Βοηθήστε μας να μεταφέρουμε το ethereum.org σε νέες γλώσσες
+
+**Προγραμματισμός**
+- [Εργαστείτε σε ένα ανοιχτό ζήτημα](https://github.com/ethereum/ethereum-org-website/issues) – Μια εργασία που εντοπίσαμε και χρειάζεται υλοποίηση
+
+**Σχεδιασμός**
+- [Βοηθήστε στον σχεδιασμό του ιστοτόπου](/contributing/design/) – Οι σχεδιαστές όλων των επιπέδων μπορούν να συμβάλουν στη βελτίωση του ιστοτόπου
+
+**Περιεχόμενο**
+- [Δημιουργία/επεξεργασία περιεχομένου](/contributing/#how-to-update-content) – Προτείνετε νέες σελίδες ή κάνετε αλλαγές στις υπάρχουσες
+- [Προσθήκη πόρων κοινότητας](/contributing/content-resources/) – Προσθέστε ένα χρήσιμο άρθρο ή άλλη πηγή σε μια σχετική σελίδα
+- [Προτείνετε έναν πόρο σχεδιασμού](/contributing/design/adding-design-resources/) – Προσθήκη, ενημέρωση και διαγραφή χρήσιμων πόρων σχεδιασμού
+- [Κουίζ](/contributing/quizzes/) – Προσθήκη, ενημέρωση και διαγραφή ερωτήσεων γνώσεων στη βάση δεδομένων για μια σχετική σελίδα
+
+**Περισσότερες ιδέες**
+- [Ζητήστε μια δυνατότητα](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) – Ενημερώστε μας σχετικά για τυχόν ιδέες που έχετε για ένα νέο χαρακτηριστικό ή σχέδιο
+
+**Κατάλογος προϊόντων**
+- [Προσθέστε ένα ανταλλακτήριο](/contributing/adding-exchanges/) – Προσθέστε ένα ανταλλακτήριο στην [αναζήτηση ανταλλακτηρίων μας](/get-eth/#country-picker)
+- [Προσθέστε ένα προϊόν](/contributing/adding-products/) – Προσθέστε ένα dapp ή πορτοφόλι σε μια σχετική σελίδα
+- [Προσθέστε εργαλεία προγραμματισμού](/contributing/adding-developer-tools/) – Προσθέστε ένα εργαλείο προγραμματισμού σε μια σχετική σελίδα
+- [Προσθέστε ένα επίπεδο 2](/contributing/adding-layer-2s/) – Προσθέστε ένα επίπεδο 2 σε μια σχετική σελίδα
+- [Προσθέστε ένα προϊόν ή μια υπηρεσία αποθήκευσης κεφαλαίου](/contributing/adding-staking-products/) – Προσθέστε ένα έργο που βοηθά στη διευκόλυνση της προσωπικής αποθήκευσης κεφαλαίου, σε δεξαμενή ή την αποθήκευση ως υπηρεσία
+- [Προσθέστε ένα πορτοφόλι](/contributing/adding-wallets/) – Προσθέστε ένα πορτοφόλι για τη [σελίδα με τα πορτοφόλια](/wallets/find-wallet/)
+- [Προτείνετε ένα έργο για τη σελίδα DeSci](/contributing/adding-desci-projects/) – Προσθέστε ένα έργο που δημιουργήθηκε στο Ethereum και συμβάλλει στην αποκεντρωμένη επιστήμη
+
+Έχετε ερωτήσεις; 🤔 Εγγραφείτε στον [διακομιστή μας Discord](https://discord.gg/ethereum-org)
+
+## Αρχικές εργασίες για να αρχίσετε να συνεισφέρετε
+
+Αυτές είναι λίγες από τις τρέχουσες εργασίες που θα μπορούσατε να μας βοηθήσετε να επιλύσουμε και να αναλάβετε την ευθύνη. Για τις περισσότερες θα χρειαστείτε ένα λογαριασμό GitHub καθώς οι περισσότερες αλλαγές στον ιστότοπο γίνονται μέσω του GitHub.
+
+
+
+Δείτε όλες τις εργασίες
+
+## Πώς να συμμετέχετε στο ethereum.org {#how-to-update-content}
+
+Εάν θέλετε να συνεισφέρετε στο [Πρόγραμμα Μετάφρασης](/contributing/translation-program/), δημιουργήστε έναν λογαριασμό στο [Crowdin](https://crowdin.com/project/ethereum-org). Για οτιδήποτε άλλο, προσθήκη ή επεξεργασία περιεχομένου ή γραφικών στον ιστότοπο, διόρθωση σφαλμάτων, εργασία σε ανοιχτές εργασίες, θα χρειαστείτε έναν λογαριασμό [GitHub](https://github.com/).
+
+Όλες οι ενημερώσεις γίνονται μέσω της διαδικασίας PR του GitHub. Αυτό σημαίνει ότι δημιουργείτε ένα τοπικό αντίγραφο του ιστοτόπου, κάνετε τις αλλαγές σας και αιτήστε τη συγχώνευση των αλλαγών σας. Αν δεν το έχετε κάνει ποτέ στο παρελθόν, ακολουθήστε τις οδηγίες στο κάτω μέρος του [αποθετηρίου GitHub](https://github.com/ethereum/ethereum-org-website).
+
+Δε χρειάζεστε άδεια για συμμετοχή σε ένα έργο, αλλά είναι καλύτερο να μας ενημερώσετε τι σχεδιάζετε να κάνετε. Μπορείτε να το κάνετε αυτό:
+
+- Σχολιάζοντας ένα ζήτημα ή PR στο [GitHub](https://github.com/ethereum/ethereum-org-website)
+- Με μήνυμα στο [διακομιστή Discord μας](https://discord.gg/ethereum-org)
+
+Πριν τη συμμετοχή σας, βεβαιωθείτε ότι είστε εξοικειωμένοι με:
+
+- το εξελισσόμενο [όραμα του ethereum.org](/about/)
+- τις [αρχές σχεδιασμού μας](/contributing/design-principles/)
+- τον [οδηγό στυλ μας](/contributing/style-guide/)
+- ο δικός μας [κώδικας δεοντολογίας](/community/code-of-conduct)
+
+
+
+## Πώς λαμβάνονται οι αποφάσεις για τον ιστότοπο {#how-decisions-about-the-site-are-made}
+
+Οι αποφάσεις για μεμονωμένα PR, τη σχεδιαστική εξέλιξη και τις σημαντικές αναβαθμίσεις γίνονται από μια ομάδα από όλο το οικοσύστημα του Ethereum. Αυτή η ομάδα περιλαμβάνει τους διαχειριστές έργου, τους προγραμματιστές, τους σχεδιαστές, το μάρκετινγκ, τις επικοινωνίες και ειδικούς θεμάτων. Οι συμμετοχές από την κοινότητα επηρεάζουν κάθε απόφαση: οπότε παρακαλούμε να θέσετε ερωτήσεις σε ζητήματα, να υποβάλετε PR ή να επικοινωνήσετε με την ομάδα:
+
+- [website@ethereum.org](mailto:website@ethereum.org)
+- [@ethdotorg](https://twitter.com/ethdotorg)
+- [Διακομιστής Discord](https://discord.gg/ethereum-org)
+
+### Μια σημείωση σχετικά με τη λογοκλοπή {#plagiarism}
+
+Χρησιμοποιήστε μόνο τη δική σας εργασία ή περιεχόμενό που έχετε άδεια να χρησιμοποιείτε όταν συνεισφέρετε οποιοδήποτε περιεχόμενο ή δημιουργία στο ethereum.org. Πολλά έργα στο οικοσύστημα του Ethereum, χρησιμοποιούν την αδειοδότηση ανοιχτού κώδικα που επιτρέπει την ελεύθερη ανταλλαγή πληροφοριών. Ωστόσο, αν δεν μπορείτε να βρείτε αυτές τις πληροφορίες, μην τις προσθέσετε στο ethereum.org. Οποιαδήποτε αιτήματα που θεωρούνται λογοκλοπή θα απορριφθούν.
+
+## Είστε νέοι στον ανοιχτό κώδικα; {#new-to-open-source}
+
+Έχουμε χαμηλό επίπεδο στα ζητήματα εισόδου στο αποθετήριο μας στο GitHub ειδικά σχεδιασμένο για προγραμματιστές που είναι νέοι σε ανοικτού κώδικα με χαρακτηρισμό ως [καλό πρώτο ζήτημα](https://github.com/ethereum/ethereum-org-website/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
+
+## Λάβετε το Onchain Achievement Token (OAT) {#oat}
+
+Εάν η συνεισφορά σας συγχωνευθεί στο ethereum.org, θα έχετε την ευκαιρία να διεκδικήσετε ένα ειδικό σήμα στο [Galxe](https://app.galxe.com/quest/ethereumorg). Ένα Onchain Achievement Token (OAT) είναι μια απόδειξη ότι βοηθήσατε να γίνει το οικοσύστημα λίγο καλύτερο.
+
+[Περισσότερα για τα OAT](https://help.galxe.com/en/articles/9645630-create-quest-rewards#h_1c5d63ba03)
+
+### Πώς να το λάβετε
+1. Εγγραφείτε στον [διακομιστή μας Discord](https://discord.gg/ethereum-org).
+2. Επικολλήστε ένα σύνδεσμο με τη συνεισφορά σας στο κανάλι `#🥇 | proof-of-contribution`.
+3. Περιμένετε ένα μέλος της ομάδας μας να σας στείλει ένα σύνδεσμο για το OAΤ σας.
+4. Λάβετε το OAΤ σας!
+
+Θα πρέπει να χρησιμοποιείτε μόνο πορτοφόλια self-custody για να λάβετε τα OAΤ σας. Μη χρησιμοποιείτε λογαριασμούς ανταλλακτηρίων ή άλλους λογαριασμούς για τους οποίους δεν έχετε τα ιδιωτικά κλειδιά, καθώς δε θα σας επιτρέψουν την πρόσβαση και τη διαχείριση των OAΤ σας.
+
+## Λάβετε το GitPOAP σας {#claim-gitpoap}
+
+Το GitPOAP θα αναγνωρίσει αυτόματα τη συνολική συνεισφορά σας και θα σας επιτρέψει να δημιουργήσετε ένα ξεχωριστό μοναδικό POAP εθελοντών στην πλατφόρμα τους!
+
+
+### Πώς να το λάβετε {#how-to-claim}
+
+1. Επισκεφθείτε το [GitPOAP](https://www.gitpoap.io).
+2. Συνδεθείτε με το πορτοφόλι σας ή ακόμα και με το email σας μέσω της επιλογής σύνδεσης.
+3. Αναζητήστε το όνομα χρήστη GitHub σας, τη διεύθυνση ETH, τα ονόματα ENS ή οποιοδήποτε GitPOAP για να ελέγξετε αν πληρείτε τις προϋποθέσεις.
+4. Εάν ο λογαριασμός σας στο GitHub είναι κατάλληλος, τότε θα μπορείτε να δημιουργήσετε ένα GitPOAP!
+
+## Συνεισφέροντες {#contributors}
+
+
diff --git a/public/content/translations/el/contributing/quizzes/index.md b/public/content/translations/el/contributing/quizzes/index.md
new file mode 100644
index 00000000000..648c70df0b0
--- /dev/null
+++ b/public/content/translations/el/contributing/quizzes/index.md
@@ -0,0 +1,62 @@
+---
+title: Προσθήκη κουίζ
+description: Η πολιτική που χρησιμοποιούμε για την προσθήκη κουίζ στο ethereum.org
+lang: el
+---
+
+# Διαγωνισμοί γνώσεων {#quizzes}
+
+Τα κουίζ είναι μια ευκαιρία για τους χρήστες να δοκιμάσουν τον εαυτό τους και να δουν αν κατάλαβαν το περιεχόμενο της σελίδας που μόλις διάβασαν. Οι ερωτήσεις πρέπει να βασίζονται μόνο στο περιεχόμενο που παρέχεται στη σελίδα και δεν πρέπει να ρωτούν για πληροφορίες που δεν αναφέρονται σε αυτή.
+
+Οι ερωτήσεις δομούνται ως εξής. Η προτροπή ερώτησης, 1 σωστή απάντηση με εξήγηση και γιατί είναι σωστή, 3 λανθασμένες απαντήσεις με εξήγηση και γιατί είναι λανθασμένες.
+
+Μερικά παραδείγματα από κουίζ μπορείτε να βρείτε εδώ:
+
+- [Επίπεδο 2](/layer-2)
+- [NFT](/nft/)
+- [Τι είναι το Ethereum;](/what-is-ethereum/)
+- [Τι είναι το ETH;](/eth/)
+
+## Προσθήκη εκπαιδευτικού κουίζ
+
+Εάν υπάρχει μια σελίδα που δεν έχει δημιουργήσει εκπαιδευτικό κουίζ, παρακαλούμε [ανοίξτε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) για αυτό.
+
+Παρακαλούμε παρέχετε τις παρακάτω πληροφορίες:
+
+- Τη σελίδα που θέλετε να προσθέσετε κουίζ
+- 5 ερωτήσεις με τις ακόλουθες πληροφορίες:
+ - Την ενότητα της σελίδας στην οποία βασίζεται η ερώτηση
+ - Προτροπή ερώτησης
+ - 1 σωστή απάντηση με εξήγηση και γιατί είναι σωστή
+ - 3 λανθασμένες απαντήσεις, η καθεμία με μια εξήγηση και για γιατί είναι λανθασμένες
+
+## Προσθήκη ερώτησης κουίζ
+
+Εάν υπάρχει κάποια ερώτηση που θέλετε να προσθέσετε στην τράπεζα ερωτήσεων για ένα κουίζ, παρακαλούμε [ανοίξτε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) και παρέχετε τις ακόλουθες πληροφορίες:
+
+- Τη σελίδα που θέλετε να προσθέσετε ερώτηση κουίζ
+- Για κάθε ερώτηση παρέχετε τις παρακάτω πληροφορίες:
+ - Την ενότητα της σελίδας στην οποία βασίζεται η ερώτηση
+ - Προτροπή ερώτησης
+ - 1 σωστή απάντηση με εξήγηση και γιατί είναι σωστή
+ - 3 λανθασμένες απαντήσεις, η καθεμία με μια εξήγηση και για γιατί είναι λανθασμένες
+
+## Ενημέρωση ερώτησης κουίζ
+
+Εάν υπάρχει κάποια ερώτηση που θέλετε να ενημερώσετε στην τράπεζα ερωτήσεων για ένα κουίζ, παρακαλούμε [ανοίξτε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) και παρέχετε τις ακόλουθες πληροφορίες:
+
+- Τη σελίδα που θέλετε να ενημερώσετε την ερώτηση κουίζ
+- Για κάθε ερώτηση που θα ενημερωθεί παρέχετε τις παρακάτω πληροφορίες:
+ - Την ενότητα της σελίδας στην οποία βασίζεται η ερώτηση
+ - Προτροπή ερώτησης που θέλετε να ενημερώσετε
+ - Ενημέρωση προτροπής ερώτησης
+ - 1 σωστή απάντηση με εξήγηση και γιατί είναι σωστή
+ - 3 λανθασμένες απαντήσεις, η καθεμία με μια εξήγηση και για γιατί είναι λανθασμένες
+
+## Αφαίρεση ερώτησης κουίζ
+
+Εάν το περιεχόμενο δεν υπάρχει πλέον στη σελίδα για μια ερώτηση και πρέπει να αφαιρεθεί, παρακαλούμε [ανοίξτε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels =&template=suggest_quiz.yaml) για να καταργήσετε την ερώτηση και να παρέχετε τις ακόλουθες πληροφορίες:
+
+- Τη σελίδα της ερώτησης κουίζ που θέλετε να διαγράψετε
+- Η ερώτηση που θέλετε να διαγράψετε
+- Εξήγηση, εάν χρειάζεται, γιατί πρέπει να αφαιρεθεί η ερώτηση
diff --git a/public/content/translations/el/contributing/translation-program/faq/index.md b/public/content/translations/el/contributing/translation-program/faq/index.md
new file mode 100644
index 00000000000..e686240079a
--- /dev/null
+++ b/public/content/translations/el/contributing/translation-program/faq/index.md
@@ -0,0 +1,119 @@
+---
+title: Συχνές ερωτήσεις (FAQ) του προγράμματος μετάφρασης
+lang: el
+description: Συχνές ερωτήσεις σχετικά με το πρόγραμμα μετάφρασης του ethereum.org
+---
+
+# Οδηγός μετάφρασης του ethereum.org {#translating-ethereum-guide}
+
+Αν είστε νέοι στο Πρόγραμμα Μετάφρασης και είστε διστακτικοί να ξεκινήσετε, δείτε παρακάτω μερικές από τις Συχνές Ερωτήσεις που μπορούν να σας βοηθήσουν. Χρησιμοποιήστε αυτόν τον οδηγό για να βρείτε απαντήσεις στις πιο συνήθεις ερωτήσεις.
+
+## Θα αποζημιωθώ για τις μεταφράσεις μου στο ethereum.org; {#compensation}
+
+Το Ethereum.org είναι μια ιστοσελίδα ανοιχτού κώδικα, που σημαίνει ότι ο καθένας μπορεί να εμπλακεί και να συνεισφέρει.
+
+Το πρόγραμμα μετάφρασης του ethereum.org είναι μια προέκταση αυτού και οργανώνεται ακολουθώντας μια παρόμοια φιλοσοφία.
+
+Ο στόχος του προγράμματος μετάφρασης είναι να καταστήσει το περιεχόμενο του Ethereum προσβάσιμο σε όλους, ανεξάρτητα από τη γλώσσα. Επιτρέπει επίσης σε κάθε δίγλωσσο άτομο να εμπλακεί με το οικοσύστημα του Ethereum και να συμβάλει περισσότερο.
+
+Για το λόγο αυτό, το Μεταφραστικό Πρόγραμμα είναι ανοικτό και εθελοντικό και η συμμετοχή δεν υπόκειται σε αποζημίωση. Αν επρόκειτο να αποζημιώσουμε τους μεταφραστές για τον αριθμό των λέξεων που μεταφράζουν, θα μπορούσαμε να προσκαλέσουμε μόνο όσους έχουν επαρκή μεταφραστική εμπειρία (επαγγελματίες μεταφραστές) να συμμετάσχουν. Αυτό θα καθιστούσε το Πρόγραμμα Μετάφρασης αποκλειστικό και θα μας εμπόδιζε να επιτύχουμε τους καθορισμένους στόχους μας, συγκεκριμένα: επιτρέπουμε σε όλους να συμμετάσχουν και να εμπλακούν με το οικοσύστημα.
+
+Καταβάλλουμε κάθε δυνατή προσπάθεια για να βοηθήσουμε τους εθελοντές μας να πετύχουν στο οικοσύστημα Ethereum. Υπάρχουν πολλά μη χρηματικά κίνητρα όπως: [η προσφορά POAP](/contributing/translation-program/acknowledgements/#poap) και το [πιστοποιητικό μεταφραστή](/contributing/translation-program/acknowledgements/#certificate), καθώς και η οργάνωση της [Κατάταξης μεταφραστών](/contributing/translation-program/acknowledgements/) και η [αναφορά όλων των μεταφραστών μας στον ιστότοπο](/contributing/translation-program/contributors/).
+
+## Πώς να μεταφράσω τις λέξεις ανάμεσα σε ``; {#tags}
+
+Δεν είναι κάθε συμβολοσειρά γραμμένη σε καθαρή μορφή κειμένου. Υπάρχουν κάποιες συμβολοσειρές που αποτελούνται από μικτά σενάρια όπως τις HTML ετικέτες (`<0>`, `0>`). Αφορά συνήθως υπερσυνδέσμους ή εναλλακτική μορφή στη μέση μιας πρότασης.
+
+- Μεταφράστε το κείμενο ανάμεσα από τις ετικέτες αλλά όχι τις ίδιες τις ετικέτες. Οτιδήποτε ανάμεσα στα `<` και `>` δεν πρέπει να μεταφραστεί ή να αφαιρεθεί.
+- Για να διατηρήσετε τη συμβολοσειρά ασφαλή, συνιστούμε να κάνετε κλικ στο κουμπί «Αντιγραφή πηγής» κάτω αριστερά. Αυτό θα αντιγράψει την αρχική συμβολοσειρά και θα την επικολλήσει στο πλαίσιο του κειμένου. Σας επιτρέπει να διευκρινίσετε πού είναι οι ετικέτες και σας βοηθά να αποφύγετε τα λάθη.
+
+
+
+Μπορείτε να μετακινήσετε τη θέση των ετικετών μέσα στη συμβολοσειρά για να γίνει πιο κατανοητό στη γλώσσα σας, απλά φροντίστε να μετακινήσετε ολόκληρη την ετικέτα.
+
+Για περισσότερες αναλυτικές πληροφορίες σχετικά με τη χρήση ετικετών και αποσπασμάτων κώδικα, ανατρέξτε στον [Οδηγό Στυλ Μεταφράσεων του ethereum.org](/contributing/translation-program/translators-guide/#dealing-with-tags).
+
+## Πού βρίσκεται η συμβολοσειρά; {#strings}
+
+Συχνά οι αρχικές συμβολοσειρές μπορεί να μην είναι αρκετές για να παρέχετε μια ακριβή μετάφραση.
+
+- Ρίξτε μια ματιά στο «στιγμιότυπο οθόνης» και το «περιεχόμενο» για περισσότερες πληροφορίες. Στην ενότητα πηγαία συμβολοσειρά, θα δείτε το συνημμένο στιγμιότυπο οθόνης που θα σας δείξει πώς χρησιμοποιούμε τη συμβολοσειρά.
+- Αν είστε ακόμα σίγουροι, δημιουργήστε ένα ζήτημα στην «ενότητα σχολίων». [Δε γνωρίζετε πώς να δημιουργήσετε ένα σχόλιο;](#comment)
+
+
+
+
+
+## Πώς μπορώ να σχολιάσω ή να κάνω ερωτήσεις; Θα ήθελα να αναφέρω ένα ζήτημα ή τυπογραφικό... {#comment}
+
+Αν θέλετε να δημιουργήσετε ένα ζήτημα για μια συγκεκριμένη συμβολοσειρά που χρειάζεται προσοχή, μη διστάσετε να υποβάλετε ένα σχόλιο.
+
+- Κάντε κλικ στο δεύτερο κουμπί επάνω δεξιά. Θα εμφανιστεί η καρτέλα στα δεξιά σας. Αφήστε ένα νέο σχόλιο και κάντε κλικ στο πλαίσιο ελέγχου «Ζητήματα» στο κάτω μέρος. Μπορείτε να καθορίσετε τον τύπο του ζητήματος επιλέγοντας μία από τις επιλογές από το αναπτυσσόμενο μενού.
+- Μόλις υποβληθεί, θα αναφερθεί στην ομάδα μας. Θα διορθώσουμε το ζήτημα και θα σας ενημερώσουμε απαντώντας στο σχόλιό σας και κλείνοντας το ζήτημα.
+- Αν αναφέρετε μια εσφαλμένη μετάφραση, αυτή και η προτεινόμενη εναλλακτική σας θα εξεταστούν από έναν φυσικό ομιλητή κατά τη διάρκεια της επόμενης αξιολόγησης.
+
+
+
+## Τι είναι η Μεταφραστική Μνήμη (TM); {#translation-memory}
+
+Η Μεταφραστική Μνήμη (TM) είναι μια δυνατότητα του Crowdin που αποθηκεύει όλες τις προηγουμένως μεταφρασμένες συμβολοσειρές για το [ethereum.org](http://ethereum.org/). Όταν μεταφράζεται ένα στοιχείο, αποθηκεύεται αυτόματα στην TM του έργου μας. Θα μπορούσε να είναι ένα χρήσιμο εργαλείο για να σας βοηθήσει να εξοικονομήσετε χρόνο!
+
+- Κοιτάξτε την ενότητα «Προτάσεις ΜΜ και ΜΤ» και θα δείτε πώς μεταφράστηκε στο παρελθόν η ίδια ή παρόμοια πρόταση. Αν βρείτε μια πρόταση με υψηλό ποσοστό που ταιριάζει, μη διστάσετε να εφαρμόσετε τη μετάφραση κάνοντας κλικ σε αυτήν.
+- Αν δεν υπάρχει τίποτα στη λίστα, μπορείτε να αναζητήσετε στη ΜΜ για προηγούμενες μεταφράσεις και να τις χρησιμοποιήσετε ξανά για συνέπεια.
+
+
+
+## Πώς μπορώ να χρησιμοποιήσω το γλωσσάριο του Crowdin; {#glossary}
+
+Η ορολογία του Ethereum είναι ένα άλλο κρίσιμο μέρος του μεταφραστικού μας έργου, καθώς συχνά οι νέοι τεχνικοί όροι δε θα έχουν μεταφραστεί ακόμη σε πολλές γλώσσες. Επίσης, υπάρχουν όροι που έχουν διαφορετικές έννοιες σε διαφορετικό περιεχόμενο. [Περισσότερα για τη μετάφραση της ορολογίας του Ethereum](#terminology)
+
+Το γλωσσάριο του Crowdin είναι το καλύτερο μέρος για αποσαφήνιση των όρων και ορισμών. Υπάρχουν δύο τρόποι να ανατρέξετε στο γλωσσάριο.
+
+- Πρώτον, όταν βρείτε έναν υπογραμμισμένο όρο στην πηγαία συμβολοσειρά, μπορείτε με το ποντίκι σας επάνω στη λέξη να δείτε ένα σύντομο ορισμό.
+
+
+
+- Δεύτερον, αν δείτε έναν όρο που δε γνωρίζετε, αλλά δεν είναι υπογραμμισμένος, μπορείτε να ψάξετε στην καρτέλα του γλωσσαρίου (το τρίτο κουμπί της δεξιάς στήλης). Θα βρείτε εξηγήσεις συγκεκριμένων όρων και αυτών που χρησιμοποιούνται συχνά στο έργο.
+
+
+
+- Αν δεν μπορείτε να βρείτε αυτό που ψάχνετε, είναι η ευκαιρία σας να προσθέσετε έναν νέο όρο! Σας ενθαρρύνουμε να ερευνήσετε σε μια μηχανή αναζήτησης και να προσθέσετε την περιγραφή στο γλωσσάριο. Θα βοηθήσει πολύ τους υπόλοιπους μεταφραστές να κατανοήσουν καλύτερα τον όρο.
+
+
+
+### Πολιτική μετάφρασης ορολογίας {#terminology}
+
+_Για ονόματα (εμπορικά σήματα, εταιρείες, άνθρωποι) και νέους τεχνολογικούς όρους (Beacon Chain, shard chains, κλπ.)_
+
+Το Ethereum παρουσιάζει πολλούς νέους όρους που έχουν επινοηθεί πρόσφατα. Ορισμένοι όροι θα διαφέρουν από μεταφραστή σε μεταφραστή, καθώς δεν υπάρχει επίσημη μετάφραση στην επίσημη γλώσσα τους. Τέτοιες διαφορές μπορεί να προκαλέσουν παρανόηση και μείωση της αναγνωσιμότητας.
+
+Λόγω της γλωσσικής ποικιλομορφίας και των διαφορετικών τυποποιήσεων σε κάθε γλώσσα, ήταν σχεδόν αδύνατο να καταλήξουμε σε μια ενοποιημένη μεταφραστική πολιτική ορολογίας που θα μπορεί να προσαρμοστεί σε όλες τις υποστηριζόμενες γλώσσες.
+
+Μετά από προσεκτική εξέταση, καταλήξαμε να αφήσουμε την ορολογία που χρησιμοποιείται συχνότερα από εσάς, τους μεταφραστές.
+
+Δείτε τι προτείνουμε, όταν βρείτε έναν όρο που δεν είναι εξοικειωμένος με εσάς:
+
+- Ανατρέξτε στο [Γλωσσάρι ορισμών](#glossary), μπορείτε να βρείτε πώς άλλοι μεταφραστές το έχουν μεταφράσει προηγουμένως. Αν νομίζετε ότι ο όρος που είχε μεταφραστεί προηγουμένως δεν είναι κατάλληλος, μη διστάσετε να επαναφέρετε τη μετάφρασή σας προσθέτοντας έναν νέο όρο στο γλωσσάρι του Crowdin.
+- Εάν μια προηγούμενη μετάφραση δεν υπάρχει στο Γλωσσάρι, σας ενθαρρύνουμε να το ερευνήσετε σε μια μηχανή αναζήτησης ή ένα άρθρο πολυμέσων που δείχνει πώς χρησιμοποιείται ο όρος στην κοινότητά σας.
+- Αν δε βρείτε καθόλου αναφορές, μη διστάσετε να εμπιστευθείτε τη διαίσθησή σας και να προτείνετε μια νέα μετάφραση στη γλώσσα σας!
+- Αν αισθάνεστε λιγότερο σίγουροι να το κάνετε, αφήστε τον όρο χωρίς μετάφραση. Μερικές φορές, οι αγγλικοί όροι είναι περισσότερο κατάλληλοι για την παροχή ακριβών ορισμών.
+
+Σας συνιστούμε να αφήσετε τα ονόματα των εμπορικών σημάτων, εταιρείες και το προσωπικό χωρίς μετάφραση καθώς μπορεί να προκαλέσει περιττή σύγχυση και SEO δυσκολίες.
+
+## Πώς λειτουργεί η διαδικασία αναθεώρησης; {#review-process}
+
+Για να διασφαλίσουμε ένα επίπεδο ποιότητας και συνέπειας στις μεταφράσεις μας, συνεργαζόμαστε με το [Acolad](https://www.acolad.com/), έναν από τους μεγαλύτερους παρόχους γλωσσικών υπηρεσιών παγκοσμίως. Το Acolad έχει 20.000 επαγγελματίες γλωσσολόγους, πράγμα που σημαίνει ότι μπορούν να παρέχουν επαγγελματίες ελεγκτές για κάθε γλώσσα και τύπο περιεχομένου που χρειαζόμαστε.
+
+Η διαδικασία αναθεώρησης είναι απλή. Μόλις μια συγκεκριμένη ενότητα περιεχομένου [](/contributing/translation-program/content-buckets) μεταφραστεί 100%, ζητείται αναθεώρηση για αυτό το περιεχόμενο. Η διαδικασία αξιολόγησης πραγματοποιείται απευθείας στο Crowdin. Μόλις ολοκληρωθεί η αναθεώρηση, ενημερώνουμε την ιστοσελίδα με το μεταφρασμένο περιεχόμενο.
+
+## Πώς μπορώ να προσθέσω περιεχόμενο στη γλώσσα μου; {#adding-foreign-language-content}
+
+Προς το παρόν, όλο το περιεχόμενο μεταφράζεται από τα αγγλικά και κάθε περιεχόμενο που δεν υπάρχει στα αγγλικά δεν μπορεί να προστεθεί σε άλλες γλώσσες.
+
+Για να προτείνετε νέο περιεχόμενο για το ethereum.org, μπορείτε να [δημιουργήσετε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues) στο GitHub. Εάν προστεθεί, το περιεχόμενο θα καταχωρηθεί στα Αγγλικά και θα μεταφραστεί σε άλλες γλώσσες χρησιμοποιώντας το Crowdin.
+
+Σκοπεύουμε να προσθέσουμε υποστήριξη για μη αγγλικές προσθήκες περιεχομένου στο εγγύς μέλλον.
+
+## Επικοινωνήστε μαζί μας {#contact}
+
+Σας ευχαριστούμε για την ανάγνωση. Ελπίζουμε να σας βοηθήσει να συμμετέχετε στο πρόγραμμά μας. Μη διστάσετε να συμμετέχετε στο [κανάλι μετάφρασης Discord](https://discord.gg/ethereum-org) για να κάνετε ερωτήσεις και να συνεργαστείτε με άλλους μεταφραστές ή να επικοινωνήσετε μαζί μας στο translations@ethereum.org!
diff --git a/public/content/translations/el/contributing/translation-program/how-to-translate/index.md b/public/content/translations/el/contributing/translation-program/how-to-translate/index.md
new file mode 100644
index 00000000000..4be6f1a8485
--- /dev/null
+++ b/public/content/translations/el/contributing/translation-program/how-to-translate/index.md
@@ -0,0 +1,89 @@
+---
+title: Πώς να μεταφράσετε
+lang: el
+description: Οδηγίες χρήσης του Crowdin για μετάφραση του ethereum.org
+---
+
+# Πώς να μεταφράσετε {#how-to-translate}
+
+## Εικονικός οδηγός {#visual-guide}
+
+Αν θέλετε μπορείτε να παρακολουθήσετε τον Luka να ρυθμίζει μέσω του Crowdin. Εναλλακτικά, μπορείτε να δείτε τα ίδια βήματα στο άρθρο της επόμενης ενότητας.
+
+
+
+## Οδηγός συμμετοχής {#written-guide}
+
+### Εγγραφείτε στο έργο μας στο Crowdin {#join-project}
+
+Θα χρειαστεί να συνδεθείτε στον λογαριασμό σας Crowdin ή να εγγραφείτε αν δεν έχετε ήδη ένα. Το μόνο που απαιτείται για την εγγραφή είναι ένας λογαριασμός email και ένας κωδικός πρόσβασης.
+
+
+ Συμμετοχή στο έργο
+
+
+### Ανοίξτε τη γλώσσα σας {#open-language}
+
+Αφού συνδεθείτε στο Crowdin, θα δείτε μια περιγραφή του έργου και μια λίστα με όλες τις διαθέσιμες γλώσσες. Κάθε γλώσσα περιέχει πληροφορίες σχετικά με το συνολικό ποσό των λέξεων για μετάφραση και μια επισκόπηση του ποσοστού του περιεχομένου που έχει μεταφραστεί και εγκριθεί σε μια συγκεκριμένη γλώσσα.
+
+Ανοίξτε τη γλώσσα που θέλετε να μεταφράσετε για να δείτε τη λίστα αρχείων, διαθέσιμα για μετάφραση.
+
+
+
+### Βρείτε ένα έγγραφο για να δουλέψετε {#find-document}
+
+Το περιεχόμενο του ιστότοπου χωρίζεται σε μια σειρά από έγγραφα και ενότητες περιεχομένου. Μπορείτε να ελέγξετε την πρόοδο του κάθε εγγράφου στα δεξιά. Αν η πρόοδος μετάφρασης είναι κάτω από 100%, παρακαλούμε συνεισφέρετε!
+
+Δεν υπάρχει η γλώσσα σας; [Δημιουργήστε ένα ζήτημα](https://github.com/ethereum/ethereum-org-website/issues/new/choose) ή κάντε ερώτηση στο [Discord](/discord/) μας
+
+
+
+Μια σημείωση σχετικά με τα τμήματα περιεχομένου: χρησιμοποιούμε τα «τμήματα περιεχομένου» στο Crowdin για να ενημερωθεί πρώτα το περιεχόμενο υψηλότερης προτεραιότητας. Όταν ελέγχετε μια γλώσσα, για παράδειγμα [Φιλιππινέζικα](https://crowdin.com/project/ethereum-org/fil#) θα δείτε φακέλους στα τμήματα περιεχομένου ("1. Homepage", "2. Essentials", "3. Exploring", κτλ.).
+
+Σας προτείνουμε να μεταφράσετε με την αριθμητική σειρά (1 → 2 → 3 → ⋯) ώστε να εξασφαλιστεί αρχικά η μετάφραση των σελίδων με υψηλότερο αντίκτυπο.
+
+[Μάθετε περισσότερα για τα τμήματα περιεχομένου του ethereum.org](/contributing/translation-program/content-buckets/)
+
+### Μετάφραση {#translate}
+
+Μετά την επιλογή του αρχείου που θέλετε να μεταφράσετε, θα ανοίξει ο επεξεργαστής κειμένου. Αν δε χρησιμοποιήσατε ποτέ το Crowdin, χρησιμοποιήστε τον παρακάτω γρήγορο οδηγό για να μάθετε τα βασικά.
+
+
+
+**_1 – Αριστερή εργαλειοθήκη_**
+
+- Αμετάφραστο (κόκκινο) – κείμενο που δεν έχει επεξεργαστεί ακόμα. Είναι οι φράσεις που θα πρέπει να μεταφράζετε.
+- Μεταφρασμένο (πράσινο) – κείμενο που έχει μεταφραστεί, αλλά δεν έχει αναθεωρηθεί ακόμη. Είστε ευπρόσδεκτοι να προτείνετε διαφορετικές μεταφράσεις ή να ψηφίσετε για τις υπάρχουσες χρησιμοποιώντας τα κουμπιά «+» και «-» στον επεξεργαστή.
+- Εγκεκριμένο (σημάδι ελέγχου) – κείμενο που έχει επανεξεταστεί και είναι προς το παρόν δημοσιευμένο στον ιστότοπο.
+
+Μπορείτε να χρησιμοποιήσετε τα κουμπιά στο επάνω μέρος για να αναζητήσετε συγκεκριμένες λέξεις, να τα φιλτράρετε σύμφωνα με την κατάσταση ή να αλλάξετε την προβολή.
+
+**_2 – Περιοχή επεξεργασίας_**
+
+Η κύρια περιοχή μετάφρασης – το πηγαίο κείμενο εμφανίζεται στο επάνω τμήμα, με επιπλέον περιεχόμενο και στιγμιότυπα οθόνης, αν είναι διαθέσιμα. Για να προτείνετε μια νέα μετάφραση, εισαγάγετε τη μετάφρασή σας στο πεδίο «Enter translation here» και κάντε κλικ στο κουμπί Αποθήκευση.
+
+Μπορείτε επίσης να βρείτε υπάρχουσες μεταφράσεις από άλλες γλώσσες σε αυτήν την ενότητα, αντιστοιχίες της μεταφραστικής μνήμης καθώς και προτάσεις αυτόματης μετάφρασης.
+
+**_3 – Δεξιά εργαλειοθήκη_**
+
+Εδώ μπορείτε να δείτε τα σχόλια, τις καταχωρήσεις μεταφραστικής μνήμης και καταχωρήσεις από το γλωσσάρι. Η προεπιλεγμένη προβολή εμφανίζει τα σχόλια και επιτρέπει στους μεταφραστές να επικοινωνούν, να θέτουν ζητήματα ή να αναφέρουν τις εσφαλμένες μεταφράσεις.
+
+Χρησιμοποιώντας τα κουμπιά στο επάνω τμήμα, μπορείτε να μεταβείτε στη μεταφραστική μνήμη, όπου μπορείτε να αναζητήσετε υπάρχουσες μεταφράσεις ή στο γλωσσάρι, το οποίο περιέχει περιγραφές και τυπικές μεταφράσεις των βασικών όρων.
+
+Θέλετε να μάθετε περισσότερα; Δείτε την [τεκμηρίωση σχετικά με τη χρήση του επεξεργαστή στο Crowdin](https://support.crowdin.com/online-editor/)
+
+### Πρόοδος αναθεώρησης {#review-process}
+
+Μόλις ολοκληρώσετε τη μετάφραση (δηλ. όλα τα αρχεία σε ένα τμήμα περιεχομένου στο 100%), μια υπηρεσία με επαγγελματίες μεταφραστές θα εξετάσει (και ενδεχομένως να επεξεργαστεί) το περιεχόμενο. Μόλις ολοκληρωθεί η αναθεώρηση (δηλ. η πρόοδος αναθεώρησης είναι στο 100%), θα προστεθεί στον ιστότοπο.
+
+
+ Παρακαλούμε μη χρησιμοποιείτε την αυτόματη μετάφραση για να μεταφράσετε το έργο. Όλες οι μεταφράσεις θα επανεξεταστούν πριν προστεθούν στον ιστότοπο. Αν οι μεταφράσεις που προτείνετε βρεθούν να είναι από αυτόματη μετάφραση, θα απορριφθούν και οι συνεισφέροντες που τη χρησιμοποιούν συχνά θα αφαιρεθούν από το έργο.
+
+
+### Επικοινωνήστε μαζί μας {#get-in-touch}
+
+Έχετε ερωτήσεις; Θέλετε να συνεργαστείτε με την ομάδα μας και άλλους μεταφραστές; Παρακαλούμε δημοσιεύστε στο κανάλι μας #translation του [ethereum.org του διακομιστή Discord](/discord/)
+
+Μπορείτε επίσης να επικοινωνήσετε μαζί μας στο translations@ethereum.org
+
+Σας ευχαριστούμε για τη συμμετοχή σας στο πρόγραμμα μετάφρασης του ethereum.org!
diff --git a/public/content/translations/el/contributing/translation-program/index.md b/public/content/translations/el/contributing/translation-program/index.md
new file mode 100644
index 00000000000..914ec1e644f
--- /dev/null
+++ b/public/content/translations/el/contributing/translation-program/index.md
@@ -0,0 +1,90 @@
+---
+title: Πρόγραμμα μετάφρασης
+lang: el
+description: Πληροφορίες σχετικά με το πρόγραμμα μετάφρασης του ethereum.org
+---
+
+# Πρόγραμμα μετάφρασης {#translation-program}
+
+Το πρόγραμμα μετάφρασης είναι μια συλλογική προσπάθεια για τη μετάφραση του ethereum.org σε διαφορετικές γλώσσες για να καταστήσει τον ιστότοπο πιο προσιτό σε δισεκατομμύρια μη αγγλόφωνους ομιλητές σε όλο τον κόσμο.
+
+
+
+## Βοηθήστε μας στη μετάφραση {#help-us-translate}
+
+Το πρόγραμμα μετάφρασης του ethereum.org είναι ανοιχτό και ο καθένας μπορεί να συνεισφέρει!
+
+1. Θα χρειαστεί να συνδεθείτε ή να εγγραφείτε στον λογαριασμό σας στο Crowdin.
+2. Επιλέξτε τη γλώσσα για την οποία θέλετε να συνεισφέρετε.
+3. Πριν ξεκινήσετε, παρακαλούμε ελέγξτε τον οδηγό [Πώς να μεταφράσετε](/contributing/translation-program/how-to-translate/) για να μάθετε να χρησιμοποιείτε το Crowdin και τον [Οδηγό στυλ μετάφρασης](/contributing/translation-program/translators-guide/) για συμβουλές και βέλτιστες πρακτικές.
+4. Οι αυτόματες μεταφράσεις δε θα εγκρίνονται.
+5. Όλες οι μεταφράσεις εξετάζονται πριν προστεθούν στον ιστότοπο, οπότε θα υπάρξει μια μικρή καθυστέρηση πριν οι μεταφράσεις σας δημοσιευθούν.
+
+_Εγγραφείτε στο [ethereum.org Discord](/discord/) για να συμμετέχετε στις μεταφράσεις, να κάνετε ερωτήσεις, να υποβάλλετε σχόλια και ιδέες ή να συμμετέχετε σε μία ομάδα μετάφρασης._
+
+
+ Ξεκινήστε να μεταφράζετε
+
+
+## Σχετικά με το πρόγραμμα μετάφρασης {#about-us}
+
+Η κοινότητα του Ethereum έχει στόχο να είναι παγκόσμια και περιεκτική, ωστόσο μεγάλο μέρος του περιεχομένου είναι στην αγγλική γλώσσα, δυσκολεύοντας στην κατανόηση των άρθρων σε περίπου 6 δισεκατομμύρια ανθρώπους διαφορετικής γλώσσας. Για την παγκόσμια κοινότητα το ethereum.org λειτουργεί ως πύλη εισόδου στο Ethereum και πιστεύουμε ότι η παροχή περιεχομένου του Ethereum στους μη αγγλόφωνους χρήστες στις μητρικές τους γλώσσες είναι απαραίτητη.
+
+Το πρόγραμμα μετάφρασης του ethereum.org έχει ως στόχο να κάνει το Ethereum προσιτό σε όλους μεταφράζοντας το ethereum.org και άλλο περιεχόμενο σε όσο το δυνατόν περισσότερες γλώσσες.
+
+Διαβάστε περισσότερα για την [ αποστολή και το όραμα](/contributing/translation-program/mission-and-vision) του μεταφραστικού προγράμματος του ethereum.org.
+
+### Η πρόοδός μας μέχρι σήμερα {#our-progress}
+
+- [**6.900 +** μεταφραστές](/contributing/translation-program/contributors/)
+- **68** γλώσσες στον ιστότοπο
+- [**2,89 εκατομμύρια** λέξεις μεταφρασμένες το 2024](/contributing/translation-program/acknowledgements/)
+
+
+
+### Αναγνώριση {#acknowledgements}
+
+Το Ethereum.org μεταφράζεται από χιλιάδες μέλη της κοινότητας οι οποίοι αποτελούν το βασικό μέρος του προγράμματος μετάφρασης. Θέλουμε να αναγνωρίσουμε τους μεταφραστές μας και να τους υποστηρίξουμε στη σταδιοδρομίας τους. Δείτε παρακάτω μερικούς τρόπους αναγνώρισης ενός μεταφραστή:
+
+#### Πιστοποιητικό {#certificate}
+
+Αν έχετε συνεισφέρει στο Πρόγραμμα Μετάφρασης και τουλάχιστον 5.000 από τις μεταφρασμένες λέξεις σας έχουν εγκριθεί, δικαιούστε ένα πιστοποιητικό μεταφραστή του ethereum.org. [Περισσότερα για τα πιστοποιητικά](/contributing/translation-program/acknowledgements/#certificate)
+
+#### OAT {#oats}
+
+Οι συνεισφέροντες στο Πρόγραμμα Μετάφρασης μπορούν να λάβουν διαφορετικά OAT (onchain achievement token) με βάση τον αριθμό των μεταφρασμένων λέξεων που πραγματοποίησαν το 2024. Τα OAT είναι NFT που αποδεικνύουν τη συμμετοχή σας στο Πρόγραμμα Μετάφρασης του ethereum.org. [Περισσότερα για τα OAT](/contributing/translation-program/acknowledgements/#oats)
+
+#### Αναγνώριση μεταφραστών {#translator-acknowledgements}
+
+Δημόσια αναγνώριση των κορυφαίων μεταφραστών μας χρησιμοποιώντας τον πίνακα [κατάταξης](/contributing/translation-program/acknowledgements/) και μια [λίστα όλων των εθελοντών στο Πρόγραμμα Μετάφρασης](/contributing/translation-program/contributors/).
+
+#### Ανταμοιβές {#rewards}
+
+Στο παρελθόν, έχουμε ανταμείψει αναδρομικά τους πιο ενεργούς εθελοντές μας με εισιτήρια για συνέδρια του Ethereum όπως το [Devcon](https://devcon.org/en/) και το [Devconnect](https://devconnect.org/), καθώς και το αποκλειστικό ethereum. rg merch.
+
+Σκεφτόμαστε συνεχώς νέους και καινοτόμους τρόπους για να ανταμείψουμε τους εθελοντές μας, οπότε μείνετε συντονισμένοι!
+
+### Οδηγοί και βοηθήματα {#guides-and-resources}
+
+Αν συμμετέχετε στο πρόγραμμα μετάφρασης ή σκέφτεστε να συμμετάσχετε, θα πρέπει να δείτε τα παρακάτω βοηθήματα μεταφράσεως:
+
+- [Οδηγός στυλ μεταφράσεων](/contributing/translation-program/translators-guide/) _– οδηγίες και συμβουλές για τους μεταφραστές του ethereum.org_
+- [Συχνές ερωτήσεις μετάφρασης ](/contributing/translation-program/faq/) _– συχνές ερωτήσεις και απαντήσεις σχετικά με το πρόγραμμα μετάφρασης του ethereum.org_
+- [Οδηγός για τον επεξεργαστή του Crowdin](https://support.crowdin.com/online-editor/) _– ένας αναλυτικός οδηγός για τη χρήση του επεξεργαστή Crowdin και ορισμένων από τα προηγμένα χαρακτηριστικά του_
+- [Τμήματα περιεχομένου](/contributing/translation-program/content-buckets/) _– ποιες σελίδες περιλαμβάνονται σε κάθε τμήμα περιεχομένου του ethereum.org_
+
+Για άλλα χρήσιμα εργαλεία μετάφρασης, κοινότητες μεταφραστών και δημοσιεύσεις στο ιστολόγιο του προγράμματος μετάφρασης, παρακαλούμε επισκεφθείτε τη [Σελίδα πόρων](/contributing/translation-program/resources/).
+
+## Επικοινωνία {#get-in-touch}
+
+Έχετε ερωτήσεις; Θέλετε να συνεργαστείτε με την ομάδα μας και άλλους μεταφραστές; Παρακαλούμε δημοσιεύστε στο κανάλι μας #translation του [ethereum.org του διακομιστή Discord](https://discord.gg/ethereum-org)
+
+Μπορείτε να επικοινωνήσετε μαζί μας στο translations@ethereum.org
+
+## Ξεκινήστε το δικό σας πρόγραμμα μετάφρασης {#starting-a-translation-program}
+
+Είμαστε αφιερωμένοι στη μετάφραση περιεχομένου του Ethereum σε όσο το δυνατόν περισσότερες γλώσσες καθώς και τη διάθεση του εκπαιδευτικού περιεχομένου σε όλους. Καθώς είμαστε αφοσιωμένοι στις μεταφράσεις μας, θέλουμε να βοηθήσουμε και άλλα έργα του Ethereum να οργανώσουν, να διαχειριστούν και να βελτιώσουν τη δική τους προσπάθεια μετάφρασης.
+
+Για το λόγο αυτό, έχουμε δημιουργήσει ένα [Βιβλίο προγράμματος μετάφρασης](/contributing/translation-program/playbook/) που περιέχει μερικές συμβουλές και βέλτιστες πρακτικές που έχουμε λάβει κατά τη διαδικασία της μετάφρασης του ethereum.org.
+
+Θέλετε να συνεργαστείτε περαιτέρω ή να χρησιμοποιήσετε μερικούς από τους πόρους των μεταφράσεών μας; Έχετε οποιεσδήποτε παρατηρήσεις σχετικά με το βιβλίο μας; Θα θέλαμε πολύ να τις ακούσουμε από εσάς στο translations@ethereum.org.
diff --git a/public/content/translations/el/contributing/translation-program/mission-and-vision/index.md b/public/content/translations/el/contributing/translation-program/mission-and-vision/index.md
new file mode 100644
index 00000000000..97b4ee56ff0
--- /dev/null
+++ b/public/content/translations/el/contributing/translation-program/mission-and-vision/index.md
@@ -0,0 +1,25 @@
+---
+title: Η αποστολή και το όραμα
+lang: el
+description: Η αποστολή και το όραμα του προγράμματος μετάφρασης ethereum.org
+---
+
+# Η αποστολή και το όραμα {#mission-and-vision}
+
+Η κοινότητα του Ethereum έχει στόχο να είναι παγκόσμια και περιεκτική, ωστόσο μεγάλο μέρος του περιεχομένου είναι στην αγγλική γλώσσα, δυσκολεύοντας στην κατανόηση των άρθρων σε περίπου 6 δισεκατομμύρια ανθρώπους διαφορετικής γλώσσας. Για την παγκόσμια κοινότητα το ethereum.org λειτουργεί ως πύλη εισόδου στο Ethereum και πιστεύουμε ότι η παροχή περιεχομένου του Ethereum στους μη αγγλόφωνους χρήστες στις μητρικές τους γλώσσες είναι απαραίτητη.
+
+Το πρόγραμμα μετάφρασης του ethereum.org έχει ως στόχο να κάνει το Ethereum προσιτό σε όλους μεταφράζοντας το ethereum.org και άλλο περιεχόμενο σε όσο το δυνατόν περισσότερες γλώσσες.
+
+## Η αποστολή μας {#our-mission}
+
+- Παροχή μεταφρασμένων εκδόσεων του ιστοτόπου ώστε να υπάρχει η δυνατότητα στους επισκέπτες παγκοσμίως να μάθουν για το Ethereum στη μητρική τους γλώσσα.
+- Διευκόλυνση της εισόδου περισσότερων μελών στην παγκόσμια κοινότητα του Ethereum.
+- Δυνατότητα πιο προσιτής και περιεκτικής ανταλλαγής πληροφοριών και γνώσεων του Ethereum.
+- Ενίσχυση των μελών της κοινότητας να συνεισφέρουν με μεταφράσεις στο Ethereum και να προσθέσουν το στίγμα τους στο οικοσύστημα.
+- Προσδιορισμός, σύνδεση και παροχή καθοδήγησης σε παθιασμένους συνεισφέροντες που επιθυμούν να συμμετάσχουν στο οικοσύστημα.
+
+## Το όραμά μας {#our-vision}
+
+- Ουσιαστική μετάφραση του περιεχόμενου για μέλη της κοινότητας του Ethereum από όσο το δυνατόν περισσότερες χώρες και μέρη του κόσμου.
+- Υποστήριξη της γνωσιακής βάσης σε όλες τις γλώσσες για δημιουργία μιας καλύτερα ενημερωμένης και εκπαιδευμένης κοινότητας του Ethereum.
+- Αύξηση της περιεκτικότητας και της προσβασιμότητας του Ethereum με την άρση των γλωσσικών εμποδίων που περιορίζουν τους μη αγγλόφωνους ομιλητές να συμμετέχουν στο οικοσύστημα.
diff --git a/public/content/translations/el/contributing/translation-program/resources/index.md b/public/content/translations/el/contributing/translation-program/resources/index.md
new file mode 100644
index 00000000000..9641f9d7202
--- /dev/null
+++ b/public/content/translations/el/contributing/translation-program/resources/index.md
@@ -0,0 +1,45 @@
+---
+title: Πόροι για μεταφραστές
+lang: el
+description: Χρήσιμοι πόροι για μεταφραστές του ethereum.org
+---
+
+# Πηγές {#resources}
+
+Μπορείτε να βρείτε μερικούς χρήσιμους οδηγούς και εργαλεία για μεταφραστές του ethereum.org, καθώς και κοινότητες μεταφραστών και ενημερώσεις παρακάτω.
+
+## Οδηγοί {#guides}
+
+- [Οδηγός στυλ μεταφράσεων](/contributing/translation-program/translators-guide/) _– οδηγίες και συμβουλές για τους μεταφραστές του ethereum.org_
+- [Συχνές ερωτήσεις για τη μετάφραση](/contributing/translation-program/faq/) _– συχνές ερωτήσεις και απαντήσεις σχετικά με το πρόγραμμα μετάφρασης του ethereum.org_
+- [Οδηγός για τον online επεξεργαστή του Crowdin](https://support.crowdin.com/online-editor/) _– ένας αναλυτικός οδηγός για τη χρήση του επεξεργαστή Crowdin και ορισμένων από τα προηγμένα χαρακτηριστικά του_
+- [Τμήματα περιεχομένου](/contributing/translation-program/content-buckets/) _– ποιες σελίδες περιλαμβάνονται σε κάθε τμήμα περιεχομένου του ethereum.org_
+
+## Εργαλεία {#tools}
+
+- [Microsoft Language Portal](https://www.microsoft.com/en-us/language) _– χρήσιμο για την εύρεση και έλεγχο τυπικών μεταφράσεων των τεχνικών όρων_
+- [Linguee](https://www.linguee.com/) _– μηχανή αναζήτησης για μεταφράσεις και λεξικό που επιτρέπει την αναζήτηση λέξεων ή φράσεων_
+- [Proz term search](https://www.proz.com/search/) _– βάση δεδομένων λεξικών μετάφρασης και γλωσσάρι εξειδικευμένων όρων_
+- [Eurotermbank](https://www.eurotermbank.com/) _– συλλογές ευρωπαϊκής ορολογίας για 42 γλώσσες_
+
+## Κοινότητες {#communities}
+
+- [Ομάδες για συγκεκριμένες γλώσσες στο Discord](/discord/) _– μια πρωτοβουλία για τη σύνδεση των μεταφραστών του ethereum.org σε ομάδες μεταφράσεων_
+- [Ομάδα Κινέζων μεταφραστών](https://www.notion.so/Ethereum-org-05375fe0a94c4214acaf90f42ba40171) _– Σελίδα εισαγωγής για ευκολότερο συντονισμό μεταξύ των Κινέζων μεταφραστών_
+
+## Τελευταίες ενημερώσεις {#latest-updates}
+
+Για να είστε ενήμεροι για την πρόοδο του προγράμματος μετάφρασης, μπορείτε να ακολουθήσετε το [Ethereum Foundation blog](https://blog.ethereum.org/):
+
+- [Ενημέρωση ορόσημων Οκτώβριος 2021](https://blog.ethereum.org/2021/10/04/translation-program-update/)
+- [Ενημέρωση ορόσημων Δεκέμβριος 2020](https://blog.ethereum.org/2020/12/21/translation-program-milestones-updates-20/)
+- [Ενημέρωση ορόσημων Ιούλιος 2020](https://blog.ethereum.org/2020/07/29/ethdotorg-translation-milestone/)
+- [Έναρξη προγράμματος μεταφράσεων Αύγουστος 2019](https://blog.ethereum.org/2019/08/20/translating-ethereum-for-our-global-community/)
+
+## Ώρες γραφείου για τους μεταφραστές {#office-hours}
+
+Έχουμε τις ώρες γραφείου για μεταφραστές τη δεύτερη Τετάρτη κάθε μήνα. Υλοποιούνται στο κανάλι φωνής #office-hours στο [ethereum.org του Discord](/discord/), όπου μπορείτε να βρείτε τις ακριβείς ώρες και πρόσθετες λεπτομέρειες.
+
+Οι ώρες γραφείου επιτρέπουν στους μεταφραστές μας να κάνουν ερωτήσεις σχετικά με τη διαδικασία μετάφρασης, την παροχή σχολίων σχετικά με το πρόγραμμα, τον διαμοιρασμό των ιδεών ή απλά μια συνομιλία με την κεντρική ομάδα του ethereum.org. Τέλος, θέλουμε να χρησιμοποιήσουμε αυτές τις συναντήσεις ώστε να ανταλλάξουμε πληροφορίες για τις πρόσφατες εξελίξεις με το πρόγραμμα μετάφρασης και να μοιραστούμε βασικές συμβουλές και οδηγίες με τους συνεργάτες μας.
+
+Αν είστε ένας μεταφραστής του ethereum.org ή θέλετε να γίνετε ένας, μη διστάσετε να συμμετάσχετε σε αυτές τις συνεδρίες.
diff --git a/public/content/translations/el/contributing/translation-program/translators-guide/index.md b/public/content/translations/el/contributing/translation-program/translators-guide/index.md
new file mode 100644
index 00000000000..2c06465fd76
--- /dev/null
+++ b/public/content/translations/el/contributing/translation-program/translators-guide/index.md
@@ -0,0 +1,293 @@
+---
+title: Οδηγίες για μεταφραστές
+lang: el
+description: Οδηγίες και συμβουλές για τους μεταφραστές του ethereum.org
+---
+
+# Οδηγός Στυλ Μετάφρασης του Ethereum.org {#style-guide}
+
+Ο οδηγός στυλ μετάφρασης του ethereum.org περιέχει μερικές από τις πιο σημαντικές κατευθύνσεις, οδηγίες και συμβουλές για μεταφραστές, βοηθώντας μας να μεταφράσουμε στη γλώσσα σας τον ιστότοπο.
+
+Αυτό το έγγραφο χρησιμεύει ως ένας γενικός οδηγός και δεν αφορά συγκεκριμένη γλώσσα.
+
+Εάν έχετε ερωτήσεις, προτάσεις ή σχόλια, μη διστάσετε να επικοινωνήσετε μαζί μας στο translations@ethereum.org, στείλτε ένα μήνυμα στο @ethdotorg στο Crowdin ή [εγγραφείτε στο Discord](https://discord.gg/ethereum-org) μας, όπου μπορείτε να μας στείλετε μήνυμα στο κανάλι #translations ή να επικοινωνήσετε με οποιοδήποτε από τα μέλη της ομάδας.
+
+## Χρησιμοποιώντας το Crowdin {#using-crowdin}
+
+Μπορείτε να βρείτε βασικές οδηγίες για το πώς να συμμετάσχετε στο έργο από το Crowdin και πώς να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας Crowdin στη [σελίδα του προγράμματος μετάφρασης](/contributing/translation-program/#how-to-translate).
+
+Εάν θέλετε να μάθετε περισσότερα για το Crowdin και τη χρήση ορισμένων από τις προηγμένες λειτουργίες του, η [γνωσιακή βάση του Crowdin](https://support.crowdin.com/online-editor/) περιέχει αρκετούς, λεπτομερείς οδηγούς και επισκόπηση όλων των λειτουργιών του Crowdin.
+
+## Αποτύπωση της ουσίας του μηνύματος {#capturing-the-essence}
+
+Όταν μεταφράζετε περιεχόμενο του ethereum.org, αποφύγετε τις μεταφράσεις κατά γράμμα.
+
+Είναι σημαντικό οι μεταφράσεις να αποτυπώνουν την ουσία του μηνύματος. Αυτό θα μπορούσε να σημαίνει αναδιατύπωση ορισμένων φράσεων ή χρήση περιγραφικών μεταφράσεων αντί της μετάφρασης του περιεχομένου λέξη προς λέξη.
+
+Οι διαφορετικές γλώσσες έχουν διαφορετικούς γραμματικούς κανόνες, συμβάσεις και τη σειρά των λέξεων. Όταν μεταφράζετε, προσέξτε τον τρόπο δομής των προτάσεων στις γλώσσες που αφορούν και αποφύγετε να μεταφράσετε κατά γράμμα την αγγλική προέλευση, καθώς αυτό μπορεί να οδηγήσει σε μια κακή δομή προτάσεων και σύνταξης.
+
+Αντί να μεταφράζετε το πηγαίο κείμενο λέξη προς λέξη, συνιστάται να διαβάσετε ολόκληρη την πρόταση και να την προσαρμόσετε ώστε να ταιριάζει στη σύνταξη της γλώσσας που αφορά.
+
+## Επίσημο ή ανεπίσημο {#formal-vs-informal}
+
+Χρησιμοποιούμε την επίσημη μορφή του πληθυντικού ευγενείας, η οποία είναι πάντα ευγενική και κατάλληλη για όλους τους επισκέπτες.
+
+Η χρήση της επίσημης χρήσης του πληθυντικού ευγενείας μάς επιτρέπει να αποφύγουμε να ακούγεται ανεπίσημο ή προσβλητικό και λειτουργεί ανεξάρτητα από την ηλικία και το φύλο του επισκέπτη.
+
+Οι περισσότερες Ινδο-Ευρωπαϊκές και Αφρο-Ασιατικές γλώσσες χρησιμοποιούν προσωπικές αντωνυμίες σε δεύτερο πρόσωπο, ειδικά για το φύλο, οι οποίες διακρίνουν μεταξύ αρσενικού και θηλυκού. Όταν απευθυνόμαστε στον χρήστη ή χρησιμοποιούμε κτητικές αντωνυμίες, μπορούμε να αποφύγουμε να υποθέσουμε το φύλο του επισκέπτη, καθώς η επίσημη μορφή του πληθυντικού ευγενείας είναι γενικά εφαρμόσιμη και συνεπής, ανεξάρτητα από το πώς προσδιορίζονται.
+
+## Απλό και σαφές λεξιλόγιο με νόημα {#simple-vocabulary}
+
+Στόχος μας είναι να κάνουμε το περιεχόμενο στον ιστότοπο κατανοητό σε όσο το δυνατόν περισσότερους ανθρώπους.
+
+Στις περισσότερες περιπτώσεις, αυτό μπορεί να επιτευχθεί εύκολα χρησιμοποιώντας σύντομες και απλές λέξεις που είναι εύκολα κατανοητές. Εάν υπάρχουν πολλές πιθανές μεταφράσεις για μια συγκεκριμένη λέξη στη γλώσσα σας με την ίδια σημασία, η καλύτερη επιλογή είναι τις περισσότερες φορές η συντομότερη λέξη που αντικατοπτρίζει ξεκάθαρα το νόημα.
+
+## Σύστημα γραφής {#writing-system}
+
+Το Ethereum.org είναι διαθέσιμο σε πολλές γλώσσες, χρησιμοποιώντας εναλλακτικά συστήματα γραφής (ή σενάρια γραφής) από τα Λατινικά.
+
+Όλο το περιεχόμενο θα πρέπει να μεταφραστεί χρησιμοποιώντας το σωστό σύστημα γραφής για τη γλώσσα σας και δεν πρέπει να περιλαμβάνει λέξεις, γραμμένες με λατινικούς χαρακτήρες.
+
+Κατά τη μετάφραση του περιεχομένου, θα πρέπει να βεβαιωθείτε ότι οι μεταφράσεις είναι συνεπείς και δεν περιλαμβάνουν λατινικούς χαρακτήρες.
+
+Μια κοινή παρανόηση είναι ότι το Ethereum πρέπει πάντα να γράφεται στα Λατινικά. Αυτό είναι ως επί το πλείστον εσφαλμένο, χρησιμοποιήστε την ορθογραφία του Ethereum, που είναι εγγενής στη γλώσσα σας (π.χ. 以太坊 στα κινεζικά, إيثيريوم στα αραβικά κλπ.).
+
+**Τα παραπάνω δεν ισχύουν για τις γλώσσες, όπου τα ονόματα δεν πρέπει να μεταφράζονται κατά κανόνα.**
+
+## Μετάφραση μεταδεδομένων σελίδας {#translating-metadata}
+
+Ορισμένες σελίδες περιέχουν μεταδεδομένα, όπως «τίτλος», «γλώσσα», «περιγραφή», «πλευρική γραμμή» κλπ.
+
+Αποκρύπτουμε το περιεχόμενο που δεν πρέπει ποτέ να μεταφράζεται όταν δημιουργούνται νέες σελίδες στο Crowdin, πράγμα που σημαίνει ότι όλα τα μεταδεδομένα που είναι ορατά στους μεταφραστές στο Crowdin θα πρέπει να μεταφραστούν.
+
+Παρακαλούμε να είστε ιδιαίτερα προσεκτικοί όταν μεταφράζετε συμβολοσειρές όπου το κείμενο πηγής είναι «en». Αυτό αντιπροσωπεύει τη γλώσσα στην οποία είναι διαθέσιμη η σελίδα και θα πρέπει να μεταφραστεί στον [κωδικό ISO της γλώσσα σας](https://www.andiamo.co.uk/resources/iso-language-codes/). Αυτές οι συμβολοσειρές θα πρέπει πάντα να μεταφράζονται χρησιμοποιώντας λατινικούς χαρακτήρες, όχι τη γραφή της εγγενή γλώσσας στόχο.
+
+Εάν δεν είστε βέβαιοι ποιο κωδικό γλώσσας να χρησιμοποιήσετε, μπορείτε να ελέγξετε τη μεταφραστική μνήμη στο Crowdin ή να βρείτε τον κωδικό της γλώσσας σας στη διεύθυνση URL της σελίδας στο ηλεκτρονικό πρόγραμμα επεξεργασίας Crowdin.
+
+Μερικά παραδείγματα κωδικών γλώσσας για τις πιο ευρέως ομιλούμενες γλώσσες:
+
+- Αραβικά - ar
+- Κινέζικα απλοποιημένα - zh
+- Γαλλικά - fr
+- Χίντι - hi
+- Ισπανικά - es
+
+## Τίτλοι εξωτερικών άρθρων {#external-articles}
+
+Ορισμένες συμβολοσειρές περιέχουν τίτλους εξωτερικών άρθρων. Οι περισσότερες από τις σελίδες τεκμηρίωσης προγραμματιστών περιέχουν συνδέσμους προς εξωτερικά άρθρα για περαιτέρω ανάγνωση. Οι συμβολοσειρές που περιέχουν τίτλους άρθρων πρέπει να μεταφραστούν, ανεξάρτητα από τη γλώσσα του άρθρου, για να διασφαλιστεί μια πιο συνεπής εμπειρία χρήστη για τους επισκέπτες που βλέπουν τη σελίδα στη γλώσσα τους.
+
+Μπορείτε να βρείτε μερικά παραδείγματα για το πώς μοιάζουν αυτές οι συμβολοσειρές για τους μεταφραστές και πώς να τις αναγνωρίσετε παρακάτω (οι σύνδεσμοι προς τα άρθρα βρίσκονται κυρίως στο κάτω μέρος αυτών των σελίδων, στην ενότητα «Περαιτέρω ανάγνωση»).
+
+ 
+
+## Προειδοποιήσεις Crowdin {#crowdin-warnings}
+
+Το Crowdin έχει μια ενσωματωμένη δυνατότητα που προειδοποιεί τους μεταφραστές όταν πρόκειται να κάνουν κάποιο λάθος. Το Crowdin θα σας προειδοποιήσει αυτόματα πριν αποθηκεύσετε τη μετάφρασή σας, εάν ξεχάσετε να συμπεριλάβετε μια ετικέτα από την πηγή, να μεταφράσετε στοιχεία που δεν πρέπει να μεταφραστούν, να προσθέσετε πολλά διαδοχικά κενά, να ξεχάσετε σημεία στίξης κλπ. Εάν δείτε μια προειδοποίηση όπως αυτή, επιστρέψτε και ελέγξτε ξανά την προτεινόμενη μετάφραση.
+
+**Μην αγνοείτε ποτέ αυτές τις προειδοποιήσεις, καθώς συνήθως σημαίνουν ότι κάτι δεν πάει καλά ή ότι από τη μετάφραση λείπει ένα βασικό μέρος του πηγαίου κειμένου.**
+
+Ένα παράδειγμα προειδοποίησης στο Crowdin όταν ξεχνάτε να προσθέσετε μια ετικέτα στη μετάφρασή σας: 
+
+## Διαχείριση ετικετών και αποσπασμάτων κώδικα {#dealing-with-tags}
+
+Μεγάλο μέρος του πηγαίου περιεχομένου περιέχει ετικέτες και μεταβλητές, οι οποίες επισημαίνονται με κίτρινο χρώμα στο πρόγραμμα επεξεργασίας του Crowdin. Αυτά εξυπηρετούν διαφορετικές λειτουργίες και πρέπει να προσεγγίζονται σωστά.
+
+**Ρυθμίσεις Crowdin**
+
+Για ευκολότερη διαχείριση ετικετών και την αντιγραφή τους απευθείας από την πηγή, συνιστούμε να αλλάξετε τις ρυθμίσεις σας στο πρόγραμμα επεξεργασίας Crowdin.
+
+1. Ανοίξτε τις ρυθμίσεις 
+
+2. Κάντε κύλιση προς τα κάτω στην ενότητα «Εμφάνιση ετικετών HTML»
+
+3. Επιλέξτε «Απόκρυψη» 
+
+4. Κάντε κλικ στο «Αποθήκευση»
+
+Επιλέγοντας αυτήν την προτίμηση, το πλήρες κείμενο της ετικέτας δε θα εμφανίζεται πλέον και θα αντικατασταθεί από έναν αριθμό. Κατά τη μετάφραση, κάνοντας κλικ σε αυτήν την ετικέτα θα αντιγραφεί αυτόματα η ακριβής ετικέτα στο πεδίο μετάφρασης.
+
+**Σύνδεσμοι**
+
+Μπορεί να παρατηρήσετε πλήρεις συνδέσμους προς σελίδες στο ethereum.org ή σε άλλους ιστότοπους.
+
+Αυτά πρέπει να είναι πανομοιότυπα με την πηγή και να μην αλλάζουν ή να μεταφράζονται. Εάν μεταφράσετε έναν σύνδεσμο ή τον αλλάξετε με οποιονδήποτε τρόπο, ακόμη και απλώς αφαιρώντας ένα μέρος του, όπως μία κάθετο (/), αυτό θα οδηγήσει σε κατεστραμμένους και άχρηστους συνδέσμους.
+
+Ο καλύτερος τρόπος για να χειριστείτε συνδέσμους είναι να τους αντιγράψετε απευθείας από την πηγή, είτε κάνοντας κλικ πάνω τους, είτε χρησιμοποιώντας το κουμπί «Αντιγραφή πηγής» (Alt+C).
+
+
+
+Οι σύνδεσμοι εμφανίζονται επίσης στο κείμενο προέλευσης με τη μορφή ετικετών (δηλ. \<0> \0>). Εάν τοποθετήσετε το δείκτη του ποντικιού πάνω από την ετικέτα, το πρόγραμμα επεξεργασίας θα εμφανίσει το πλήρες περιεχόμενό του. Μερικές φορές αυτές οι ετικέτες αντιπροσωπεύουν συνδέσμους.
+
+Είναι πολύ σημαντικό να αντιγράψετε τους συνδέσμους από την πηγή και να μην αλλάξετε τη σειρά τους.
+
+Εάν αλλάξει η σειρά των ετικετών, ο σύνδεσμος που αντιπροσωπεύουν δε θα λειτουργεί.
+
+
+
+**Ετικέτες και μεταβλητές**
+
+Το πηγαίο κείμενο περιέχει πολλούς διαφορετικούς τύπους ετικετών, οι οποίοι πρέπει πάντα να αντιγράφονται από την πηγή και να μην αλλάζουν ποτέ. Ομοίως με παραπάνω, η σειρά αυτών των ετικετών στη μετάφραση θα πρέπει επίσης να παραμείνει ίδια με την πηγή.
+
+Οι ετικέτες περιέχουν πάντα μια ετικέτα αρχής και τέλους. Στις περισσότερες περιπτώσεις, το κείμενο μεταξύ των ετικετών αρχής και τέλους θα πρέπει να μεταφράζεται.
+
+Παράδειγμα: ``Αποκεντρωμένο``
+
+`` - _Ετικέτα αρχής που κάνει το κείμενο σε έντονη γραφή_
+
+Αποκεντρωμένο - _Κείμενο για μετάφραση_
+
+`` - _Ετικέτα τέλους_
+
+
+
+Τα αποσπάσματα κώδικα θα πρέπει να προσεγγίζονται ελαφρώς διαφορετικά από τις άλλες ετικέτες, καθώς περιέχουν κώδικα που δεν πρέπει να μεταφραστεί.
+
+Παράδειγμα: ``nonce``
+
+`` - _Αρχή ετικέτας, που περιέχει κώδικα_
+
+nonce - _Μή μεταφράσιμο κείμενο_
+
+`` - _Ετικέτα τέλους_
+
+
+
+Το κείμενο προέλευσης περιέχει επίσης συμπτυγμένες ετικέτες, οι οποίες περιέχουν μόνο αριθμούς, πράγμα που σημαίνει ότι η λειτουργία τους δεν είναι άμεσα εμφανής. Μπορείτε να τοποθετήσετε το δείκτη του ποντικιού πάνω από αυτές τις ετικέτες για να δείτε ακριβώς ποια λειτουργία εξυπηρετούν.
+
+Στο παράδειγμα παρακάτω, μπορείτε να το δείτε αυτό περνώντας τον κέρσορα πάνω από την \<0> ετικέτα που δείχνει ότι αντιπροσωπεύει το `` και περιέχει ένα απόσπασμα κώδικα, επομένως το περιεχόμενο μέσα σε αυτές τις ετικέτες δε θα πρέπει να μεταφραστεί.
+
+
+
+## Σύντομες ή πλήρεις φόρμες/συντμήσεις {#short-vs-full-forms}
+
+Υπάρχουν πολλές συντομογραφίες που χρησιμοποιούνται στον ιστότοπο π.χ. dapps, NFT, DAO, DeFi, κλπ. Αυτές οι συντομογραφίες χρησιμοποιούνται συνήθως στα Αγγλικά και οι περισσότεροι επισκέπτες του ιστότοπου είναι εξοικειωμένοι με αυτές.
+
+Δεδομένου ότι συνήθως δεν έχουν καθιερωμένες μεταφράσεις σε άλλες γλώσσες, ο καλύτερος τρόπος προσέγγισης αυτών και των παρόμοιων όρων είναι να παράσχετε μια περιγραφική μετάφραση της πλήρους φόρμας και να προσθέσετε την αγγλική συντομογραφία σε παρενθέσεις.
+
+Μη μεταφράζετε αυτές τις συντομογραφίες, καθώς οι περισσότεροι άνθρωποι δεν είναι εξοικειωμένοι με αυτές και οι μεταφρασμένες εκδόσεις δε θα είχαν πολύ νόημα για τους περισσότερους επισκέπτες.
+
+Παράδειγμα, πώς να μεταφράσετε το dapps:
+
+- Αποκεντρωμένες εφαρμογές (dapps) → _Πλήρη μετάφραση (Αγγλική ορολογία εντός των παρενθέσεων)_
+
+## Όροι χωρίς καθιερωμένες μεταφράσεις {#terms-without-established-translations}
+
+Ορισμένοι όροι μπορεί να μην έχουν καθιερωμένες μεταφράσεις σε άλλες γλώσσες και είναι ευρέως γνωστοί με τον πρωτότυπο αγγλικό όρο. Τέτοιοι όροι περιλαμβάνουν ως επί το πλείστον νεότερες έννοιες, όπως απόδειξη εργασίας, απόδειξη συμμετοχής, κύρια αλυσίδα, αποθηκευμένο κεφάλαιο κλπ.
+
+Ενώ η μετάφραση αυτών των όρων μπορεί να ακούγεται αφύσικη, καθώς χρησιμοποιείται συνήθως η αγγλική έκδοση και σε άλλες γλώσσες, συνιστάται ιδιαίτερα η μετάφραση τους.
+
+Όταν τους μεταφράζετε, μη διστάσετε να γίνετε δημιουργικοί, χρησιμοποιήστε περιγραφικές μεταφράσεις ή απλώς μεταφράστε τες κυριολεκτικά.
+
+**Ο λόγος για τον οποίο οι περισσότεροι όροι πρέπει να μεταφράζονται, αντί να αφήνουν κάποιους στα αγγλικά, είναι το γεγονός ότι αυτή η νέα ορολογία θα γίνει πιο διαδεδομένη στο μέλλον, καθώς περισσότεροι άνθρωποι αρχίζουν να χρησιμοποιούν το Ethereum και τις σχετικές τεχνολογίες. Αν θέλουμε να συμπεριλάβουμε περισσότερους ανθρώπους από όλο τον κόσμο σε αυτόν τον χώρο, πρέπει να παρέχουμε κατανοητή ορολογία σε όσο το δυνατόν περισσότερες γλώσσες, ακόμα και αν χρειαστεί να τη δημιουργήσουμε μόνοι μας.**
+
+## Κουμπιά και CTA {#buttons-and-ctas}
+
+Ο ιστότοπος περιέχει πολλά κουμπιά, τα οποία θα πρέπει να μεταφράζονται διαφορετικά από άλλο περιεχόμενο.
+
+Το κείμενο του κουμπιού μπορεί να αναγνωριστεί προβάλλοντας τα στιγμιότυπα οθόνης, που συνδέονται με τις περισσότερες συμβολοσειρές ή ελέγχοντας το περιβάλλον στον επεξεργαστή, το οποίο περιλαμβάνει τη φράση «κουμπί».
+
+Οι μεταφράσεις για τα κουμπιά πρέπει να είναι όσο το δυνατόν πιο σύντομες, για να αποφευχθούν αναντιστοιχίες μορφοποίησης. Επιπλέον, οι μεταφράσεις κουμπιών θα πρέπει να είναι επιτακτικές, δηλαδή να παρουσιάζουν μια εντολή ή αίτημα.
+
+
+
+## Μετάφραση για συμπερίληψη {#translating-for-inclusivity}
+
+Οι επισκέπτες του Ethereum.org προέρχονται από όλο τον κόσμο και από διαφορετικά υπόβαθρα. Η γλώσσα στον ιστότοπο θα πρέπει επομένως να είναι ουδέτερη, φιλόξενη για όλους και όχι εξειδικευμένη.
+
+Μια σημαντική πτυχή αυτού είναι η ουδετερότητα των φύλων. Αυτό μπορεί να επιτευχθεί εύκολα χρησιμοποιώντας την επίσημη μορφή της προσφώνησης και αποφεύγοντας οποιεσδήποτε λέξεις που σχετίζονται με το φύλο στις μεταφράσεις.
+
+Μια άλλη μορφή συμπερίληψης είναι η προσπάθεια μετάφρασης για ένα παγκόσμιο κοινό, όχι συγκεκριμένα για οποιαδήποτε χώρα, φυλή ή περιοχή.
+
+Τέλος, η γλώσσα πρέπει να είναι κατάλληλη για όλα τα ακροατήρια και τις ηλικίες.
+
+## Μεταφράσεις για συγκεκριμένες γλώσσες {#language-specific-translations}
+
+Κατά τη μετάφραση, είναι σημαντικό να ακολουθείτε τους γραμματικούς κανόνες, τη σύνταξη και τη μορφοποίηση που χρησιμοποιείται στη γλώσσα σας, σε αντίθεση με το αντιγραμμένο κείμενο. Το πηγαίο κείμενο ακολουθεί κανόνες σύνταξης της αγγλικής γραμματικής, κάτι που δεν ισχύει σε πολλές άλλες γλώσσες.
+
+Θα πρέπει να γνωρίζετε τους κανόνες για τη γλώσσα σας και να μεταφράζετε ανάλογα. Εάν χρειάζεστε βοήθεια, επικοινωνήστε μαζί μας και θα σας βοηθήσουμε να βρείτε μερικούς πόρους σχετικά με τον τρόπο χρήσης αυτών των στοιχείων στη γλώσσα σας.
+
+Μερικά παραδείγματα για το τι πρέπει να προσέχετε ιδιαίτερα:
+
+### Σημεία στίξης, μορφοποίηση {#punctuation-and-formatting}
+
+**Κεφαλαία**
+
+- Υπάρχουν τεράστιες διαφορές στη χρήση των κεφαλαίων σε διάφορες γλώσσες.
+- Στα Αγγλικά, είναι σύνηθες να γράφουμε κεφαλαία όλες τις λέξεις σε τίτλους, ονόματα, μήνες και ημέρες, ονόματα γλωσσών, αργίες κλπ. Σε πολλές άλλες γλώσσες, αυτό είναι γραμματικά λανθασμένο, καθώς έχουν διαφορετικούς κανόνες για τα κεφαλαία.
+- Ορισμένες γλώσσες έχουν επίσης κανόνες για τη χρήση κεφαλαίων σε προσωπικές αντωνυμίες, ουσιαστικά και ορισμένα επίθετα, τα οποία δε γράφονται με κεφαλαία στα αγγλικά.
+
+**Διαστήματα**
+
+- Οι κανόνες ορθογραφίας ορίζουν τη χρήση των διαστημάτων για κάθε γλώσσα. Επειδή τα κενά χρησιμοποιούνται παντού, αυτοί οι κανόνες είναι μερικοί από τους πιο διακριτούς και τα κενά είναι μερικά από τα πιο εσφαλμένα στοιχεία που μεταφράζονται.
+- Μερικές κοινές διαφορές στα διαστήματα μεταξύ των αγγλικών και άλλων γλωσσών:
+ - Διάστημα πριν από τις μονάδες μέτρησης και τα νομίσματα (π.χ. USD, EUR, kB, MB).
+ - Διάστημα πριν από τα σύμβολα θερμοκρασίας (π.χ. °C, ℉).
+ - Κενό πριν από κάποια σημεία στίξης, ειδικά την έλλειψη (…).
+ - Διάστημα πριν και μετά τις κάθετες (/).
+
+**Λίστες**
+
+- Κάθε γλώσσα έχει ένα ποικίλο και πολύπλοκο σύνολο κανόνων για τη σύνταξη λιστών. Μπορεί να διαφέρουν σημαντικά από τα αγγλικά.
+- Σε ορισμένες γλώσσες, η πρώτη λέξη κάθε νέας γραμμής πρέπει να γράφεται με κεφαλαία, ενώ σε άλλες, οι νέες γραμμές πρέπει να ξεκινούν με πεζά γράμματα. Πολλές γλώσσες έχουν επίσης διαφορετικούς κανόνες σχετικά με τη χρήση κεφαλαίων σε λίστες, ανάλογα με το μήκος κάθε γραμμής.
+- Το ίδιο ισχύει και για τα σημεία στίξης των στοιχείων γραμμής. Η τελική στίξη στις λίστες μπορεί να είναι τελεία (**.**), κόμμα (**,**) ή ερωτηματικό (** ισχυρό x-id="1">;**), ανάλογα με τη γλώσσα.
+
+**Εισαγωγικά**
+
+- Οι γλώσσες χρησιμοποιούν πολλά διαφορετικά εισαγωγικά σημεία. Η απλή αντιγραφή των αγγλικών εισαγωγικών σημείων στίξης από την πηγή, είναι συχνά λανθασμένη.
+- Μερικά από τα πιο κοινά είδη των εισαγωγικών περιλαμβάνουν:
+ - „παράδειγμα κειμένου“
+ - ‚παράδειγμα κειμένου’
+ - »παράδειγμα κειμένου«
+ - “παράδειγμα κειμένου”
+ - ‘παράδειγμα κειμένου’
+ - «παράδειγμα κειμένου»
+
+**Παύλα και διπλή παύλα**
+
+- Στα αγγλικά, μια παύλα (-) χρησιμοποιείται για τη σύνδεση λέξεων ή τον διαχωρισμό συλλαβών μιας λέξης, ενώ η χρήση διπλής παύλας (–) για να υποδείξει ανάγνωση σε χαμηλότερο τόνο ή μια παύση.
+- Πολλές γλώσσες έχουν διαφορετικούς κανόνες για τη χρήση παύλας και διπλής παύλας που πρέπει να τηρούνται.
+
+### Μορφοποίηση {#formats}
+
+**Αριθμοί**
+
+- Η κύρια διαφορά στη γραφή αριθμών σε διαφορετικές γλώσσες είναι το διαχωριστικό που χρησιμοποιείται για δεκαδικούς και τις χιλιάδες. Για τις χιλιάδες, αυτό μπορεί να είναι τελεία, κόμμα ή κενό. Ομοίως, ορισμένες γλώσσες χρησιμοποιούν δεκαδικό ψηφίο, ενώ άλλες χρησιμοποιούν κόμμα στα δεκαδικά.
+ - Μερικά παραδείγματα μεγάλων αριθμών:
+ - Αγγλικά – **1,000.50**
+ - Ισπανικά – **1.000,50**
+ - Γαλλικά – **1 000,50**
+- Μια άλλη σημαντική παράμετρος κατά τη μετάφραση αριθμών είναι το σύμβολο ποσοστού. Μπορεί να γραφτεί με διαφορετικούς τρόπους: **100%**, **100 %** ή **%100**.
+- Τέλος, οι αρνητικοί αριθμοί μπορούν να εμφανίζονται διαφορετικά, ανάλογα με τη γλώσσα: -100, 100-, (100) ή [100].
+
+**Ημερομηνίες**
+
+- Κατά τη μετάφραση των ημερομηνιών, υπάρχουν ορισμένες εκτιμήσεις και διαφορές με βάση τη γλώσσα. Αυτά περιλαμβάνουν τη μορφή ημερομηνίας, το διαχωριστικό, τη χρήση κεφαλαίων και τα αρχικά μηδενικά. Υπάρχουν επίσης διαφορές μεταξύ του πλήρους μήκους και των ημερομηνιών με αριθμούς.
+ - Μερικά παραδείγματα διαφορετικών μορφών ημερομηνίας:
+ - Αγγλικά UK (ηη/μμ/εεεε) – 1st January, 2022
+ - Αγγλικά ΗΠΑ (μμ/ηη/εεεε) – January 1st, 2022
+ - Κινέζικα (εεεε-μμ-ηη) – 2022 年 1 月 1 日
+ - Γαλλικά (ηη/μμ/εεεε) – 1er janvier 2022
+ - Ιταλικά (ηη/μμ/εεεε) – 1º gennaio 2022
+ - Γερμανικά (ηη/μμ/εεεε) – 1. Januar 2022
+
+**Νομίσματα**
+
+- Η μετάφραση των νομισμάτων μπορεί να είναι μια πρόκληση, λόγω των διαφόρων μορφών, συμβάσεων και μετατροπών. Κατά γενικό κανόνα, διατηρήστε τις μονάδες μέτρησης σύμφωνα με την πηγή προέλευσης. Μπορείτε να προσθέσετε το τοπικό σας νόμισμα και τη μετατροπή σε παρένθεση, προς όφελος του αναγνώστη.
+- Οι κύριες διαφορές στη γραφή νομισμάτων σε διαφορετικές γλώσσες, περιλαμβάνουν την τοποθέτηση συμβόλων, δεκαδικά κόμματα έναντι δεκαδικών σημείων, διαστήματος και συντομογραφιών έναντι των συμβόλων.
+ - Θέση του συμβόλου: $100 ή 100$
+ - Δεκαδικά με κόμμα ή με τελεία: 100,50$ ή 100.50$
+ - Διάστημα: 100$ ή 100 $
+ - Συντομογραφίες ή σύμβολα: 100 $ ή 100 USD
+
+**Μονάδες μέτρησης**
+
+- Κατά γενικό κανόνα, διατηρήστε τις μονάδες μέτρησης σύμφωνα με την πηγή προέλευσης. Εάν η χώρα σας χρησιμοποιεί διαφορετικό σύστημα, μπορείτε να συμπεριλάβετε τη μετατροπή μέσα σε παρένθεση.
+- Εκτός από τη διαφορετικότητα ανά γλώσσα των μονάδων μέτρησης, είναι επίσης σημαντικό να σημειωθούν οι διαφορές στο πώς οι γλώσσες προσεγγίζουν αυτές τις μονάδες. Η κύρια διαφορά είναι το κενό διάστημα μεταξύ του αριθμού και της μονάδας, το οποίο μπορεί να είναι διαφορετικό, με βάση τη γλώσσα. Παραδείγματα όπως 100kB ή 100 kB και 50ºF ή 50 ºF.
+
+## Συμπεράσματα {#conclusion}
+
+Η μετάφραση του ethereum.org είναι μια εξαιρετική ευκαιρία να μάθετε για τις διάφορες πτυχές του Ethereum.
+
+Όταν μεταφράζετε, προσπαθήστε να μην βιάζεστε. Χαλαρώστε και διασκεδάστε!
+
+Σας ευχαριστούμε που συμμετέχετε στο Πρόγραμμα Μετάφρασης και μας βοηθάτε να κάνουμε τον ιστότοπο προσβάσιμο σε ένα ευρύτερο κοινό. Η κοινότητα του Ethereum είναι παγκόσμια και χαιρόμαστε που είστε μέρος της!
diff --git a/public/content/translations/el/danksharding/index.md b/public/content/translations/el/danksharding/index.md
new file mode 100644
index 00000000000..05dd6ca4153
--- /dev/null
+++ b/public/content/translations/el/danksharding/index.md
@@ -0,0 +1,95 @@
+---
+title: Danksharding
+description: Μάθετε για το Proto-Danksharding και το Danksharding, τις δύο διαδοχικές αναβαθμίσεις για την κλιμάκωση του Ethereum.
+lang: el
+summaryPoints:
+ - Το Danksharding είναι μια αναβάθμιση πολλών φάσεων για τη βελτίωση της δυνατότητας κλιμάκωσης και της χωρητικότητας του Ethereum.
+ - Το πρώτο στάδιο, το Proto-Danksharding, προσθέτει δεδομένα-blobs (data blobs) στα μπλοκ
+ - Τα δεδομένα-blobs προσφέρουν έναν φθηνότερο τρόπο για τα rollups να δημοσιεύουν τα δεδομένα στο Ethereum και αυτό το κόστος μπορεί να μεταφερθεί στους χρήστες με τη μορφή χαμηλότερων τελών συναλλαγής.
+ - Αργότερα, το πλήρες Danksharding θα διανείμει την ευθύνη επαλήθευσης των δεδομένων-blobs σε υποσύνολα κόμβων, κλιμακώνοντας περαιτέρω το Ethereum σε περισσότερες από 100.000 συναλλαγές ανά δευτερόλεπτο.
+---
+
+# Danksharding {#danksharding}
+
+Το **Danksharding** είναι ο τρόπος με τον οποίο το Ethereum γίνεται ένα πραγματικά επεκτάσιμο blockchain, αλλά απαιτούνται αρκετές αναβαθμίσεις πρωτοκόλλου για να φτάσετε εκεί. Το **Proto-Danksharding** είναι ένα ενδιάμεσο βήμα στην όλη πορεία. Και τα δύο στοχεύουν να κάνουν τις συναλλαγές στο επίπεδο 2 όσο το δυνατόν πιο φθηνές για τους χρήστες και θα πρέπει να κλιμακώσουν το Ethereum σε >100.000 συναλλαγές ανά δευτερόλεπτο.
+
+## Τι είναι το Proto-Danksharding; {#what-is-protodanksharding}
+
+Το Proto-Danksharding, γνωστό και ως [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), είναι ένας τρόπος ώστε τα [πακέτα ενημέρωσης](/layer-2/#rollups) να προσθέτουν φθηνότερα δεδομένα στα μπλοκ. Το όνομα προέρχεται από τους δύο ερευνητές που πρότειναν την ιδέα: τον Protolambda και τον Dankrad Feist. Ιστορικά, τα rollup είχαν περιορισμούς όσον αφορά το πόσο φθηνές μπορούν να κάνουν τις συναλλαγές των χρηστών λόγω του γεγονότος ότι δημοσιεύουν τις συναλλαγές τους στο `CALLDATA`.
+
+Αυτό είναι ακριβό επειδή υποβάλλεται σε επεξεργασία από όλους τους κόμβους Ethereum και βρίσκεται για πάντα εντός αλυσίδας, παρόλο που τα rollup χρειάζονται τα δεδομένα μόνο για μικρό χρονικό διάστημα. Το Proto-Danksharding εισάγει δεδομένα blob που μπορούν να αποσταλούν και να συνδεθούν σε μπλοκ. Τα δεδομένα σε αυτά τα blob δεν είναι προσβάσιμα στην EVM και διαγράφονται αυτόματα μετά από μια καθορισμένη χρονική περίοδο (ορίζεται σε 4096 εποχές τη στιγμή της σύνταξης ή περίπου 18 ημέρες). Αυτό σημαίνει ότι τα πακέτα δεδομένων μπορούν να στέλνουν τα δεδομένα τους πολύ πιο φθηνά και να μεταφέρουν τις εξοικονομήσεις τους στους τελικούς χρήστες με τη μορφή φθηνότερων συναλλαγών.
+
+
+
+Τα πακέτα συναλλαγών είναι ένας τρόπος για να κλιμακωθεί το Ethereum ομαδοποιώντας τις συναλλαγές εκτός αλυσίδας και στη συνέχεια δημοσιεύοντας τα αποτελέσματα στο Ethereum. Ένα rollup αποτελείται ουσιαστικά από δύο μέρη: τα δεδομένα και τον έλεγχο εκτέλεσης. Τα δεδομένα είναι η πλήρης ακολουθία των συναλλαγών που επεξεργάζεται ένα rollup, για να παράγει την αλλαγή κατάστασης που δημοσιεύεται στο Ethereum. Ο έλεγχος εκτέλεσης είναι η επανεξέταση αυτών των συναλλαγών από έναν ειλικρινή παράγοντα (έναν «αποδεικνύοντα») για να διασφαλιστεί ότι η προτεινόμενη αλλαγή κατάστασης είναι σωστή. Για να πραγματοποιηθεί ο έλεγχος εκτέλεσης, τα δεδομένα συναλλαγών πρέπει να είναι διαθέσιμα για αρκετά μεγάλο χρονικό διάστημα ώστε να μπορεί ο καθένας να τα κατεβάσει και να τα ελέγξει. Αυτό σημαίνει ότι οποιαδήποτε ανέντιμη συμπεριφορά από τον διαχειριστή του rollup μπορεί να εντοπιστεί και να αμφισβητηθεί από αυτόν που αποδεικνύει. Ωστόσο, δε χρειάζεται να είναι διαθέσιμα για πάντα.
+
+
+
+
+
+Τα πακέτα συναλλαγών δημοσιεύουν δεσμεύσεις για τα δεδομένα συναλλαγών τους στην αλυσίδα και επίσης καθιστούν τα πραγματικά δεδομένα διαθέσιμα σε blobs δεδομένων. Αυτό σημαίνει ότι αυτοί που αποδεικνύουν μπορούν να ελέγξουν αν οι δεσμεύσεις είναι έγκυρες ή να αμφισβητήσουν δεδομένα που θεωρούν λανθασμένα. Σε επίπεδο κόμβου, τα δεδομένα blob τηρούνται στον πελάτη συναίνεσης. Οι πελάτες συναίνεσης βεβαιώνουν ότι έχουν δει τα δεδομένα και ότι έχουν διαδοθεί στο δίκτυο. Εάν τα δεδομένα διατηρούνταν για πάντα, αυτοί οι πελάτες θα διογκώνονταν και θα οδηγούσαν σε μεγάλες απαιτήσεις σε υλικό για τη λειτουργία των κόμβων. Αντίθετα, τα δεδομένα περικόπτονται αυτόματα από τον κόμβο κάθε 18 ημέρες. Οι βεβαιώσεις των πελατών συναίνεσης, αποδεικνύουν ότι υπήρξε επαρκής ευκαιρία για τους αποδεικνύοντες να επαληθεύσουν τα δεδομένα. Τα πραγματικά δεδομένα μπορούν να αποθηκευτούν εκτός αλυσίδας από φορείς εκμετάλλευσης, χρήστες ή άλλους.
+
+
+
+### Πώς επαληθεύονται τα δεδομένα blob; {#how-are-blobs-verified}
+
+Τα rollup δημοσιεύουν τις συναλλαγές που εκτελούν σε δεδομένα blob. Αναρτούν και «δέσμευση» για τα δεδομένα. Αυτό επιτυγχάνεται μέσω της προσαρμογής μιας «polynomial» συνάρτησης στα δεδομένα. Αυτή η συνάρτηση μπορεί στη συνέχεια να αξιολογηθεί σε διάφορα σημεία. Για παράδειγμα, αν ορίσουμε μια εξαιρετικά απλή συνάρτηση `f(x) = 2x-1`, τότε μπορούμε να αξιολογήσουμε αυτή τη συνάρτηση για `x = 1`, `x = 2`, `x = 3`, δίνοντας τα αποτελέσματα `1, 3, 5`. Ένας αποδεικνύων εφαρμόζει την ίδια συνάρτηση στα δεδομένα και την αξιολογεί με τον ίδιο τρόπο. Εάν τα αρχικά δεδομένα αλλάξουν, η συνάρτηση δε θα είναι ίδια και επομένως δε θα είναι ίδιες οι τιμές που αξιολογούνται σε κάθε σημείο. Στην πραγματικότητα, η δέσμευση και η απόδειξη είναι πιο περίπλοκες επειδή περιέχονται σε κρυπτογραφικές συναρτήσεις.
+
+### Τι είναι το KZG; {#what-is-kzg}
+
+Το KZG σημαίνει Kate-Zaverucha-Goldberg, τα ονόματα των τριών [αρχικών συγγραφέων](https://link.springer.com/chapter/10.1007/978-3-642-17373-8_11) ενός σχεδίου που μειώνει ένα blob δεδομένων σε μια μικρή [κρυπτογραφική δέσμευση](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html). Το blob δεδομένων που υποβάλλει ένα rollup πρέπει να επαληθευτεί για να διασφαλιστεί ότι το rollup δε συμπεριφέρεται κακόβουλα. Αυτό περιλαμβάνει την επανεξέταση των συναλλαγών στο blob από έναν αποδεικνύοντα για να ελέγξει ότι η δέσμευση ήταν έγκυρη. Αυτό είναι εννοιολογικά το ίδιο με τον τρόπο που οι πελάτες εκτέλεσης ελέγχουν την εγκυρότητα των συναλλαγών Ethereum στο επίπεδο 1, χρησιμοποιώντας τις αποδείξεις Merkle. Το KZG είναι μια εναλλακτική απόδειξη που προσαρμόζει μια polynomial εξίσωση στα δεδομένα. Η δέσμευση αξιολογεί το polynomial σε κάποια μυστικά σημεία δεδομένων. Ένας αποδεικνύων θα προσαρμόσει το ίδιο polynomial στα δεδομένα και θα το αξιολογήσει στις ίδιες τιμές, ελέγχοντας ότι το αποτέλεσμα είναι το ίδιο. Αυτός είναι ένας τρόπος επαλήθευσης των δεδομένων που είναι συμβατός με τις τεχνικές μηδενικής γνώσης που χρησιμοποιούνται από ορισμένα rollups και άλλα μέρη του πρωτοκόλλου Ethereum.
+
+### Τι ήταν η τελετή KZG; {#what-is-a-kzg-ceremony}
+
+Η τελετή KZG ήταν ένας τρόπος για πολλούς ανθρώπους από όλη την κοινότητα του Ethereum να δημιουργήσουν συλλογικά μια μυστική τυχαία σειρά αριθμών που μπορούν να χρησιμοποιηθούν για την επαλήθευση ορισμένων δεδομένων. Είναι πολύ σημαντικό ότι αυτή η σειρά αριθμών δεν είναι γνωστή και δεν μπορεί να αναδημιουργηθεί από κανέναν. Για να διασφαλιστεί αυτό, κάθε άτομο που συμμετείχε στην τελετή έλαβε μια σειρά από τον προηγούμενο συμμετέχοντα. Οι συμμετέχοντες δημιούργησαν νέες τυχαίες τιμές (π.χ. επιτρέποντας στο πρόγραμμα περιήγησής τους να μετρήσει την κίνηση του ποντικιού τους) και τις ανέμειξαν με την προηγούμενη τιμή. Στη συνέχεια, έστειλαν την τιμή στον επόμενο συμμετέχοντα και την κατέστρεψαν από την τοπική τους μηχανή. Στον βαθμό που ένα άτομο στην τελετή το έκανε αυτό με ειλικρίνεια, η τελική τιμή δε θα είναι γνωστή σε έναν επιτιθέμενο.
+
+Η τελετή KZG του EIP-4844 ήταν ανοιχτή στο κοινό και δεκάδες χιλιάδες άνθρωποι συμμετείχαν για να προσθέσουν τη δική τους εντροπία (τυχαιότητα). Συνολικά έγιναν πάνω από 140.000 συνεισφορές, καθιστώντας την τη μεγαλύτερη τελετή του είδους της στον κόσμο. Για να υπονομευθεί η τελετή, το 100% των συμμετεχόντων θα έπρεπε να είναι ενεργά ανέντιμοι. Από την οπτική των συμμετεχόντων, εάν γνωρίζουν ότι ήταν ειλικρινείς, δε χρειάζεται να εμπιστευτούν κανέναν άλλο, επειδή γνωρίζουν ότι ασφάλισαν την τελετή (ικανοποίησαν ατομικά την απαίτηση ενός ειλικρινούς συμμετέχοντα από τους Ν).
+
+
+
+Όταν ένα πακέτο συναλλαγών δημοσιεύει δεδομένα σε ένα blob, παρέχει μια "δέσμευση" ότι δημοσιεύει στην αλυσίδα. Αυτή η δέσμευση είναι το αποτέλεσμα της αξιολόγησης μια πολυωνυμικής προσαρμογής στα δεδομένα σε ορισμένα σημεία. Αυτά τα σημεία ορίζονται από τους τυχαίους αριθμούς που δημιουργούνται στην τελετή KZG. Οι αποδεικνύοντες μπορούν στη συνέχεια να αξιολογήσουν το polynomial στα ίδια σημεία για να επαληθεύσουν τα δεδομένα και εάν καταλήξουν στις ίδιες τιμές, τότε τα δεδομένα είναι σωστά.
+
+
+
+
+
+Εάν κάποιος γνωρίζει τις τυχαίες τοποθεσίες που χρησιμοποιούνται για τη δέσμευση, είναι εύκολο για αυτόν να δημιουργήσει ένα νέο polynomial που ταιριάζει σε αυτά τα συγκεκριμένα σημεία (δηλαδή μια «σύγκρουση»). Αυτό σημαίνει ότι θα μπορούσε να προσθέσει ή να αφαιρέσει δεδομένα από το blob και να παράσχει ακόμα μια έγκυρη απόδειξη. Για να αποφευχθεί αυτό, αντί να δίνουν στους αποδεικνύοντες τις πραγματικές μυστικές τοποθεσίες, στην πραγματικότητα λαμβάνουν τις τοποθεσίες καλυμμένες με ένα κρυπτογραφημένο «μαύρο κουτί» χρησιμοποιώντας ελλειπτικές καμπύλες. Αυτές ανακατεύουν αποτελεσματικά τις τιμές με τέτοιο τρόπο ώστε οι αρχικές τιμές να μην μπορούν να αναστραφούν, αλλά με κάποιο έξυπνο υπολογισμό άλγεβρας οι αποδεικνύοντες και οι επαληθευτές μπορούν ακόμα να αξιολογούν polynomials στα σημεία που αντιπροσωπεύουν.
+
+
+
+
+ Ούτε το Danksharding ούτε το Proto-Danksharding ακολουθούν το παραδοσιακό μοντέλο «τμηματοποίησης» που στοχεύει στον διαχωρισμό της κρυπτοαλυσίδας σε πολλαπλά μέρη. Οι αλυσίδες shard δεν αποτελούν πλέον μέρος του οδικού χάρτη. Αντίθετα, το Danksharding χρησιμοποιεί δειγματοληψία κατανεμημένων δεδομένων σε blobs για την κλιμάκωση του Ethereum. Αυτό είναι πολύ απλούστερο στην εφαρμογή. Αυτό το μοντέλο έχει μερικές φορές αναφερθεί ως «data-sharding».
+
+
+## Τι είναι το Danksharding; {#what-is-danksharding}
+
+Το Danksharding είναι η πλήρης υλοποίηση της κλιμάκωσης rollup που ξεκίνησε με το Proto-Danksharding. Το Danksharding θα φέρει τεράστιες ποσότητες χώρου στο Ethereum, ώστε τα rollup να απορρίπτουν τα συμπιεσμένα δεδομένα συναλλαγών τους. Αυτό σημαίνει ότι το Ethereum θα είναι σε θέση να υποστηρίξει εύκολα εκατοντάδες μεμονωμένα rollups και να πραγματοποιήσει εκατομμύρια συναλλαγές ανά δευτερόλεπτο.
+
+Ο τρόπος λειτουργίας του είναι η επέκταση των blobs που συνδέονται με τα μπλοκ από έξι (6) στο Proto-Danksharding σε 64, στο πλήρες Danksharding. Οι υπόλοιπες απαιτούμενες αλλαγές είναι όλες ενημερώσεις στον τρόπο λειτουργίας των πελατών συναίνεσης, για να μπορούν να χειρίζονται τα νέα μεγάλα blobs. Ορισμένες από αυτές τις αλλαγές βρίσκονται ήδη στον οδικό χάρτη για άλλους σκοπούς ανεξάρτητα από το Danksharding. Για παράδειγμα, το Danksharding απαιτεί να έχει εφαρμοστεί ο διαχωρισμός προτείνοντος-κατασκευαστή μπλοκ. Πρόκειται για μια αναβάθμιση που διαχωρίζει τις εργασίες κατασκευής και πρότασης μπλοκ σε διαφορετικούς επικυρωτές. Ομοίως, η δειγματοληψία διαθεσιμότητας δεδομένων απαιτείται για το Danksharding, αλλά απαιτείται επίσης για την ανάπτυξη εφαρμογών πελάτη μικρού μεγέθους που δεν αποθηκεύουν πολλά ιστορικά δεδομένα («πελάτες χωρίς κατάσταση»).
+
+
+
+Ο διαχωρισμός προτείνοντος-κατασκευαστή μπλοκ απαιτείται για να αποτραπεί η ανάγκη των μεμονωμένων επικυρωτών να δημιουργούν δαπανηρές δεσμεύσεις και αποδείξεις για 32MB δεδομένων blob. Αυτό θα ασκήσει υπερβολική πίεση στους οικιακούς χρήστες αποθηκευμένου κεφαλαίου και θα τους υποχρεώσει να επενδύσουν σε ισχυρότερα συστήματα, γεγονός που βλάπτει την αποκέντρωση. Αντίθετα, εξειδικευμένοι κατασκευαστές μπλοκ αναλαμβάνουν την ευθύνη για αυτή τη δαπανηρή υπολογιστική εργασία. Στη συνέχεια, διαθέτουν τα μπλοκ τους στους προτείνοντες μπλοκ για δημοσίευση. Ο προτείνων μπλοκ απλώς επιλέγει το μπλοκ που είναι πιο κερδοφόρο. Ο καθένας μπορεί να επαληθεύσει τα blobs φθηνά και γρήγορα, πράγμα που σημαίνει ότι οποιοσδήποτε κανονικός επικυρωτής μπορεί να ελέγξει ότι οι κατασκευαστές μπλοκ συμπεριφέρονται αξιόπιστα. Αυτό επιτρέπει την επεξεργασία των μεγάλων blobs χωρίς να θυσιάζεται η αποκέντρωση. Οι κακοήθεις κατασκευαστές μπλοκ θα μπορούσαν απλώς να εκδιωχθούν από το δίκτυο και να επιβληθεί περικοπή, ενώ άλλοι θα μπουν στη θέση τους επειδή η κατασκευή μπλοκ είναι μια κερδοφόρα δραστηριότητα.
+
+
+
+
+
+Η δειγματοληψία διαθεσιμότητας δεδομένων απαιτείται για τους επικυρωτές για γρήγορο και αποτελεσματικό έλεγχο των δεδομένων blob. Χρησιμοποιώντας τη δειγματοληψία διαθεσιμότητας δεδομένων, οι επικυρωτές μπορούν να είναι πολύ σίγουροι ότι τα δεδομένα blob ήταν διαθέσιμα και δεσμεύτηκαν σωστά. Κάθε επικυρωτής μπορεί τυχαία να δειγματίσει μερικά μόνο σημεία δεδομένων και να δημιουργήσει μια απόδειξη, που σημαίνει ότι κανένας επικυρωτής δεν χρειάζεται να ελέγξει ολόκληρο το blob. Εάν λείπουν δεδομένα, θα εντοπιστούν γρήγορα και το blob θα απορριφθεί.
+
+
+
+### Τρέχουσα πρόοδος {#current-progress}
+
+Το πλήρες Danksharding είναι αρκετά χρόνια μακριά. Στο μεταξύ, η τελετή KZG ολοκληρώθηκε με περισσότερες από 140.000 συνεισφορές και το [EIP](https://eips.ethereum.org/EIPS/eip-4844) για το Proto-Danksharding έχει ωριμάσει. Αυτή η πρόταση έχει εφαρμοστεί πλήρως σε όλα τα δίκτυα δοκιμών και τέθηκε σε λειτουργία στο Mainnet με την αναβάθμιση δικτύου Cancun-Deneb (Dencun) τον Μάρτιο του 2024.
+
+### Περισσότερες πληροφορίες {#further-reading}
+
+- [Σημειώσεις Proto-Danksharding](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) - _Vitalik Buterin_
+- [Σημειώσεις του Dankrad για το Danksharding](https://notes.ethereum.org/@dankrad/new_sharding)
+- [Συζήτηση του Dankrad, Proto και Vitalik για το Danksharding](https://www.youtube.com/watch?v=N5p0TB77flM)
+- [Η τελετή KZG](https://ceremony.ethereum.org/)
+- [Ομιλία του Carl Beekhuizen στο Devcon για αξιόπιστους τρόπου εγκατάστασης](https://archive.devcon.org/archive/watch/6/the-kzg-ceremony-or-how-i-learnt-to-stop-worrying-and-love-trusted-setups/?tab=YouTube)
+- [Περισσότερα για τη δειγματοληψία διαθεσιμότητας δεδομένων για blobs](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
+- [Ο Dankrad Feist για τις δεσμεύσεις και αποδείξεις KZG](https://youtu.be/8L2C6RDMV9Q)
+- [Πολυωνυμικές δεσμεύσεις KZG](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html)
diff --git a/public/content/translations/el/dao/index.md b/public/content/translations/el/dao/index.md
index 103abb6159a..f7eaaa093c6 100644
--- a/public/content/translations/el/dao/index.md
+++ b/public/content/translations/el/dao/index.md
@@ -1,5 +1,6 @@
---
-title: Αποκεντρωμένοι Αυτόνομοι Οργανισμοί (DAO)
+title: Τι είναι ο DAO;
+metaTitle: Τι είναι ο DAO; | Αποκεντρωμένος Αυτόνομος Οργανισμός
description: Μια επισκόπηση των DAO στο Ethereum
lang: el
template: use-cases
@@ -18,7 +19,7 @@ summaryPoint3: Ένα ασφαλές μέρος συγκέντρωσης κεφ
Οι DAO μας επιτρέπουν να εργαζόμαστε με άλλους χρήστες σε όλο τον κόσμο χωρίς να εμπιστευόμαστε έναν καλοπροαίρετο ηγέτη για να διαχειριστούμε τα κεφάλαια ή τις επιχειρήσεις. Δεν υπάρχει διευθύνων σύμβουλος που να μπορεί να δαπανήσει χρήματα για μια ιδιοτροπία του ή οικονομικός σύμβουλος που να μπορεί να χειραγωγήσει τα λογιστικά βιβλία. Αντιθέτως, οι κανόνες με βάση την κρυπτοαλυσίδα ενσωματώνονται στον κώδικα και καθορίζουν τον τρόπο λειτουργίας του οργανισμού και της δαπάνης των κεφαλαίων.
-Υπάρχουν ενσωματωμένα θησαυροφυλάκια στα οποία κανείς δεν έχει έγκριση πρόσβασης χωρίς την άδεια της ομάδας. Οι αποφάσεις λαμβάνονται μετά από προτάσεις και ψηφοφορίες για να διασφαλιστεί ότι όλοι στον οργανισμό έχουν λόγο και όλα συμβαίνουν με διαφάνεια στην [κρυπτοαλυσίδα](/glossary/#on-chain).
+Υπάρχουν ενσωματωμένα θησαυροφυλάκια στα οποία κανείς δεν έχει έγκριση πρόσβασης χωρίς την άδεια της ομάδας. Οι αποφάσεις λαμβάνονται μετά από προτάσεις και ψηφοφορίες για να διασφαλιστεί ότι όλοι στον οργανισμό έχουν λόγο και όλα συμβαίνουν με διαφάνεια στην [κρυπτοαλυσίδα](/glossary/#onchain).
## Πού εξυπηρετούν οι οργανισμοί DAO; {#why-dao}
@@ -91,7 +92,7 @@ summaryPoint3: Ένα ασφαλές μέρος συγκέντρωσης κεφ
### Ένα δημοφιλές παράδειγμα {#law-example}
-[CityDAO](https://citydao.io) – Η CityDAO χρησιμοποίησε το νόμο DAO του Wyoming για να αγοράσει 40 στρέμματα γης κοντά στο Εθνικό Πάρκο Yellowstone.
+[CityDAO](https://citizen.citydao.io/) – Η CityDAO χρησιμοποίησε το νόμο DAO του Wyoming για να αγοράσει 40 στρέμματα γης κοντά στο Εθνικό Πάρκο Yellowstone.
## Μέλη DAO {#dao-membership}
@@ -119,7 +120,7 @@ _Συνήθως χρησιμοποιείται για πιο στενές και
### Συμμετοχή που βασίζεται στη δημοσιότητα {#reputation-based-membership}
-Η δημοσιότητα αποτελεί απόδειξη παρουσίας και παρέχει το δικαίωμα ψήφου στον DAO. Σε αντίθεση με τα μέλη σύμφωνα με τα ψηφιακά στοιχεία ή τις μετοχές τους, οι DAO που βασίζονται στη δημοσιότητα δε μεταβιβάζουν την ιδιοκτησία στους συμμετέχοντες. Η δημοσιότητα δεν μπορεί να αγοραστεί, να μεταβιβαστεί ή να εκχωρηθεί. Τα μέλη του DAO πρέπει να κερδίζουν τη φήμη τους μέσω της συμμετοχής τους. Η ψηφοφορία επί της αλυσίδας είναι χωρίς άδεια και τα μελλοντικά μέλη μπορούν ελεύθερα να υποβάλουν προτάσεις για να ενταχθούν σε DAO και να ζητήσουν να λάβουν δημοσιότητα και ψηφιακά στοιχεία ως ανταμοιβή σε αντάλλαγμα για τις συνεισφορές τους.
+Η δημοσιότητα αποτελεί απόδειξη παρουσίας και παρέχει το δικαίωμα ψήφου στον DAO. Σε αντίθεση με τα μέλη σύμφωνα με τα ψηφιακά στοιχεία ή τις μετοχές τους, οι DAO που βασίζονται στη δημοσιότητα δε μεταβιβάζουν την ιδιοκτησία στους συμμετέχοντες. Η δημοσιότητα δεν μπορεί να αγοραστεί, να μεταβιβαστεί ή να εκχωρηθεί. Τα μέλη του DAO πρέπει να κερδίζουν τη φήμη τους μέσω της συμμετοχής τους. Η ψηφοφορία επί της αλυσίδας δεν απαιτεί άδεια και τα μελλοντικά μέλη μπορούν ελεύθερα να υποβάλουν προτάσεις για να ενταχθούν σε DAO και να ζητήσουν να λάβουν δημοσιότητα και ψηφιακά στοιχεία ως ανταμοιβή σε αντάλλαγμα για τις συνεισφορές τους.
_Συνήθως χρησιμοποιείται για την αποκεντρωμένη ανάπτυξη και διακυβέρνηση πρωτοκόλλων και [dapp](/glossary/#dapp), αλλά είναι κατάλληλο και για ένα ποικίλο σύνολο οργανισμών, όπως φιλανθρωπικές οργανώσεις, συλλογικότητες εργαζομένων, επενδυτικούς συλλόγους κλπ._
diff --git a/public/content/translations/el/decentralized-identity/index.md b/public/content/translations/el/decentralized-identity/index.md
index 472b5c21e93..95f6bad83f1 100644
--- a/public/content/translations/el/decentralized-identity/index.md
+++ b/public/content/translations/el/decentralized-identity/index.md
@@ -67,9 +67,9 @@ summaryPoint3: Χάρη στα κρυπτονομίσματα, οι χρήστε
### 3. Ψηφοφορίες και διαδικτυακές κοινότητες {#voting-and-online-communities}
-Η διαδικτυακή ψηφοφορία και τα μέσα κοινωνικής δικτύωσης είναι δύο νέες εφαρμογές για αποκεντρωμένη ταυτότητα. Τα διαδικτυακά συστήματα ψηφοφορίας είναι επιρρεπή σε χειραγώγηση, ειδικά εάν κακόβουλοι παράγοντες δημιουργούν ψευδείς ταυτότητες για να ψηφίσουν. Ζητώντας από άτομα να παρουσιάσουν βεβαιώσεις on-chain μπορεί να βελτιώσει την ακεραιότητα των διαδικτυακών διαδικασιών ψηφοφορίας.
+Η διαδικτυακή ψηφοφορία και τα μέσα κοινωνικής δικτύωσης είναι δύο νέες εφαρμογές για αποκεντρωμένη ταυτότητα. Τα διαδικτυακά συστήματα ψηφοφορίας είναι επιρρεπή σε χειραγώγηση, ειδικά εάν κακόβουλοι παράγοντες δημιουργούν ψευδείς ταυτότητες για να ψηφίσουν. Ζητώντας από άτομα να παρουσιάσουν βεβαιώσεις στην αλυσίδα μπορεί να βελτιώσει την ακεραιότητα των διαδικτυακών διαδικασιών ψηφοφορίας.
-Η αποκεντρωμένη ταυτότητα μπορεί να βοηθήσει στη δημιουργία διαδικτυακών κοινοτήτων χωρίς ψεύτικους λογαριασμούς. Για παράδειγμα, κάθε χρήστης μπορεί να χρειαστεί να πιστοποιήσει την ταυτότητά του χρησιμοποιώντας ένα σύστημα ταυτότητας on-chain, όπως η υπηρεσία ονομάτων Ethereum, μειώνοντας την πιθανότητα από ρομπότ.
+Η αποκεντρωμένη ταυτότητα μπορεί να βοηθήσει στη δημιουργία διαδικτυακών κοινοτήτων χωρίς ψεύτικους λογαριασμούς. Για παράδειγμα, κάθε χρήστης μπορεί να χρειαστεί να πιστοποιήσει την ταυτότητά του χρησιμοποιώντας ένα σύστημα ταυτότητας στην αλυσίδα, όπως η υπηρεσία ονομάτων Ethereum, μειώνοντας την πιθανότητα από ρομπότ.
### 4. Προστασία Anti-Sybil {#sybil-protection}
@@ -119,7 +119,7 @@ summaryPoint3: Χάρη στα κρυπτονομίσματα, οι χρήστε
Ο τρόπος με τον οποίο αποθηκεύονται και ανακτώνται οι πληροφορίες βεβαίωσης σε ένα οικοσύστημα ταυτότητας που βασίζεται στο Ethereum, διαφέρει από την παραδοσιακή διαχείριση ταυτότητας. Ακολουθεί μια επισκόπηση διαφορετικών προσεγγίσεων για την έκδοση, την αποθήκευση και την επαλήθευση βεβαιώσεων σε αποκεντρωμένα συστήματα ταυτότητας:
-### Βεβαιώσεις εκτός αλυσίδας {#off-chain-attestations}
+### Επικύρωση εκτός αλυσίδας {#offchain-attestations}
Μια ανησυχία σχετικά με την αποθήκευση βεβαιώσεων στην αλυσίδα είναι ότι μπορεί να περιέχουν πληροφορίες που οι χρήστες θέλουν να διατηρήσουν ιδιωτικά. Ο δημόσιος χαρακτήρας του blockchain Ethereum καθιστά μη ελκυστική την αποθήκευση τέτοιων βεβαιώσεων.
@@ -137,7 +137,7 @@ summaryPoint3: Χάρη στα κρυπτονομίσματα, οι χρήστε
Αυτή η προσέγγιση επιτρέπει στις βεβαιώσεις να αποκτήσουν διάρκεια με βάση το blockchain, διατηρώντας παράλληλα τις πληροφορίες των αξιώσεων κρυπτογραφημένες και επαληθεύσιμες. Επιτρέπει επίσης την επιλεκτική αποκάλυψη, καθώς ο κάτοχος του ιδιωτικού κλειδιού μπορεί να αποκρυπτογραφήσει τις πληροφορίες.
-### Βεβαιώσεις επί της αλυσίδας {#onchain-attestations}
+### Επικύρωση επί της αλυσίδας {#onchain-attestations}
Οι επιβεβαιώσεις επί της αλυσίδας πραγματοποιούνται στα [έξυπνα συμβόλαια](/glossary/#smart-contract) στο blockchain του Ethereum. Το έξυπνο συμβόλαιο (που λειτουργεί ως μητρώο) θα αντιστοιχίσει μια βεβαίωση σε ένα αντίστοιχο αποκεντρωμένο αναγνωριστικό στην αλυσίδα (ένα δημόσιο κλειδί).
diff --git a/public/content/translations/el/defi/index.md b/public/content/translations/el/defi/index.md
index b2ce7f1af30..921c8f46c9e 100644
--- a/public/content/translations/el/defi/index.md
+++ b/public/content/translations/el/defi/index.md
@@ -1,5 +1,6 @@
---
title: Αποκεντρωμένη τραπεζική (DeFi)
+metaTitle: Τι είναι η DeFi; | Οφέλη και χρήση αποκεντρωμένης τραπεζικής
description: Μια επισκόπηση της DeFi στο Ethereum
lang: el
template: use-cases
@@ -47,7 +48,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
| Οι αγορές είναι πάντα ανοικτές. | Οι αγορές κλείνουν επειδή οι υπάλληλοι έχουν ωράριο εργασίας. |
| Είναι φτιαγμένη ώστε να υπάρχει διαφάνεια και ο καθένας μπορεί να δει τα δεδομένα ενός προϊόντος και να επιθεωρήσει πώς λειτουργεί το σύστημα. | Τα χρηματοπιστωτικά ιδρύματα είναι κλειστά βιβλία: δεν μπορείτε να ζητήσετε να δείτε το ιστορικό των δανείων τους, το αρχείο των περιουσιακών τους στοιχείων που διαχειρίζονται και ούτω καθεξής. |
-
+
Εξερευνήστε εφαρμογές DeFi
@@ -65,7 +66,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
Δείτε τις προτάσεις μας για τις DeFi εφαρμογές για να τις δοκιμάσετε, αν είστε νέοι στο Ethereum.
-
+
Εξερευνήστε εφαρμογές DeFi
@@ -92,7 +93,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
Ως blockchain, το Ethereum έχει σχεδιαστεί για την αποστολή συναλλαγών με ένα ασφαλή και παγκόσμιο τρόπο. Όπως το Bitcoin, το Ethereum κάνει την αποστολή χρημάτων σε όλο τον κόσμο τόσο εύκολη, όπως την αποστολή email. Απλά εισαγάγετε το [όνομα ENS](/glossary/#ens) των παραληπτών σας (όπως bob.eth) ή τη διεύθυνση του λογαριασμού τους από το πορτοφόλι σας και η πληρωμή σας θα πάει απευθείας σε αυτούς σε μερικά λεπτά (συνήθως). Για να στείλετε ή να λάβετε πληρωμές, θα χρειαστείτε ένα [πορτοφόλι](/wallets/).
-
+
Δείτε τις dapps πληρωμών
@@ -123,7 +124,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
- Το «peer-to-peer», που σημαίνει ότι ένας δανειολήπτης θα δανειστεί απευθείας από ένα συγκεκριμένο δανειστή.
- Το «pool-based» όπου οι δανειστές παρέχουν κεφάλαιο (ρευστότητα) σε μια δεξαμενή από την οποία μπορούν να δανειστούν οι δανειολήπτες.
-
+
Δείτε τις dapps δανεισμού
@@ -168,7 +169,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
Για να μπορέσετε να εφαρμόσετε το παραπάνω παράδειγμα στον παραδοσιακό χρηματοπιστωτικό κόσμο, θα χρειαστείτε ένα σεβαστό χρηματικό ποσό. Αυτές οι στρατηγικές κέρδους είναι προσβάσιμες μόνο σε εκείνους με τον υπάρχοντα πλούτο. Τα στιγμιαία δάνεια αποτελούν παράδειγμα ενός μέλλοντος όπου η κατοχή χρημάτων δεν αποτελεί απαραίτητα προϋπόθεση για κέρδος χρημάτων.
-
+
Περισσότερα για τα στιγμιαία δάνεια
@@ -185,7 +186,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
- Τα aDai σας θα αυξηθούν με βάση το επιτόκιο και μπορείτε να δείτε το υπόλοιπό σας να αυξάνεται στο πορτοφόλι σας. Ανάλογα το [APR](/glossary/#apr), το υπόλοιπο του πορτοφολιού σας θα εμφανίζεται σαν 100.1234 μετά από λίγες ημέρες ή ακόμα και ώρες!
- Μπορείτε να κάνετε ανάληψη ένα ποσό των κανονικών Dai που είναι ίσο με το υπόλοιπό aDai σας ανά πάσα στιγμή.
-
+
Δείτε dapps για δανεισμό
@@ -213,7 +214,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
Για παράδειγμα, εάν θέλετε να χρησιμοποιήσετε τη λοταρία χωρίς απώλειες PoolTogether (που περιγράφεται παραπάνω), θα χρειαστείτε ένα κρυπτονόμισμα όπως το Dai ή το USDC. Αυτά τα DEX σάς επιτρέπουν να ανταλλάξετε τα ETH σας με αυτά τα κρυπτονομίσματα και να τα επιστρέψετε ξανά με την ολοκλήρωση.
-
+
Δείτε ανταλλακτήρια κρύπτο
@@ -225,7 +226,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
Όταν χρησιμοποιείτε ένα κεντρικό χρηματιστήριο, πρέπει να καταθέτετε τα περιουσιακά σας στοιχεία πριν από τη συναλλαγή και να τα εμπιστεύεστε σε αυτό. Ενώ τα περιουσιακά σας στοιχεία κατατίθενται, διατρέχουν κίνδυνο, καθώς τα κεντρικά ανταλλακτήρια αποτελούν ελκυστικούς στόχους για τους χάκερ.
-
+
Δείτε εφαρμογές συναλλαγών
@@ -237,7 +238,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
Ένα καλό παράδειγμα είναι το [ταμείο DeFi Pulse Index (DPI)](https://defipulse.com/blog/defi-pulse-index/). Πρόκειται για ένα αμοιβαίο κεφάλαιο που εξισορροπεί ξανά αυτόματα για να διασφαλίσει ότι το χαρτοφυλάκιό σας περιλαμβάνει πάντα τα κορυφαία κρυπτονομίσματα DeFi ανά κεφαλαιοποίηση αγοράς. Δε χρειάζεται ποτέ να διαχειριστείτε καμία από τις λεπτομέρειες και μπορείτε να κάνετε ανάληψη από το ταμείο όποτε θέλετε.
-
+
Δείτε εφαρμογές επενδύσεων
@@ -251,7 +252,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
- Είναι διαφανές, ώστε οι έρανοι να μπορούν να αποδείξουν πόσα χρήματα έχουν συγκεντρωθεί. Μπορείτε ακόμη και να εντοπίσετε πώς δαπανώνται τα κεφάλαια αργότερα.
- Οι έρανοι μπορούν να ορίσουν αυτόματες επιστροφές χρημάτων εάν, για παράδειγμα, υπάρχει συγκεκριμένη προθεσμία και ελάχιστο ποσό που δε θα συμπληρωθεί.
-
+
Δείτε εφαρμογές χρηματοδότησης
@@ -280,7 +281,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
Τα προϊόντα Ethereum, όπως κάθε λογισμικό, μπορεί να υστερούν από σφάλματα και εκμεταλλεύσεις. Έτσι, αυτή τη στιγμή πολλά προϊόντα ασφάλισης στον χώρο, επικεντρώνονται στην προστασία των χρηστών τους από την απώλεια κεφαλαίων. Ωστόσο, υπάρχουν έργα που αρχίζουν να δημιουργούν κάλυψη για οτιδήποτε μπορεί να μας συμβεί. Ένα καλό παράδειγμα αυτού είναι η κάλυψη Crop της Etherisc που στοχεύει να [προστατέψει τους μικροκαλλιεργητές στην Κένυα από ξηρασίες και πλημμύρες](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Η αποκεντρωμένη ασφάλιση μπορεί να προσφέρει φθηνότερη κάλυψη για τους αγρότες που συχνά αποτιμώνται από την παραδοσιακή ασφάλιση.
-
+
Δείτε εφαρμογές ασφάλισης
@@ -290,7 +291,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
Με τόσα πολλά που συμβαίνουν, θα χρειαστείτε έναν τρόπο να παρακολουθείτε όλες τις επενδύσεις, τα δάνεια και τις συναλλαγές σας. Υπάρχουν πολλά προϊόντα που σας επιτρέπουν να συντονίζετε όλη τη δραστηριότητά σας στο DeFi από ένα μέρος. Αυτή είναι η ομορφιά της ανοιχτής αρχιτεκτονικής του DeFi. Οι ομάδες μπορούν να δημιουργήσουν διεπαφές όπου δεν μπορείτε απλώς να δείτε το υπόλοιπο κεφαλαίου σας στα προϊόντα, αλλά μπορείτε να χρησιμοποιήσετε και τις δυνατότητές τους. Μπορεί να σας φανεί χρήσιμο καθώς εξερευνάτε περισσότερο το DeFi.
-
+
Δείτε εφαρμογές χαρτοφυλακίου
@@ -322,9 +323,9 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
1. Το blockchain – Το Ethereum περιέχει το ιστορικό συναλλαγών και την κατάσταση των λογαριασμών.
2. Τα ψηφιακά στοιχεία – [ETH](/eth/) και τα άλλα κρύπτο (νομίσματα).
3. Τα πρωτόκολλα – [Έξυπνα συμβόλαια](/glossary/#smart-contract) που παρέχουν τη λειτουργικότητα, για παράδειγμα, μια υπηρεσία που επιτρέπει τον αποκεντρωμένο δανεισμό περιουσιακών στοιχείων.
-4. [Οι εφαρμογές](/dapps/) – Τα προϊόντα που χρησιμοποιούμε για τη διαχείριση και την πρόσβαση στα πρωτόκολλα.
+4. [Οι εφαρμογές](/apps/) – Τα προϊόντα που χρησιμοποιούμε για τη διαχείριση και την πρόσβαση στα πρωτόκολλα.
-Σημείωση: μεγάλο μέρος του DeFi χρησιμοποιεί το [πρότυπο ERC-20](/glossary/#erc-20). Οι εφαρμογές στο DeFi χρησιμοποιούν μια παραλλαγή του ETH που ονομάζεται Wrapped Ether (WETH). [Μάθετε περισσότερα για το υποκατάστατο ether](/wrapped-eth).
+Σημείωση: μεγάλο μέρος του DeFi χρησιμοποιεί το [πρότυπο ERC-20](/glossary/#erc-20). Οι εφαρμογές στο DeFi χρησιμοποιούν μια παραλλαγή του ETH που ονομάζεται Wrapped ether (WETH). [Μάθετε περισσότερα για το υποκατάστατο ether](/wrapped-eth).
## Δημιουργία DeFi {#build-defi}
@@ -355,3 +356,7 @@ H DeFi είναι ένας γενικός όρος για οικονομικά
- [DeFi Llama διακομιστής Discord](https://discord.defillama.com/)
- [DeFi Pulse διακομιστής Discord](https://discord.gg/Gx4TCTk)
+
+
+
+
diff --git a/public/content/translations/el/desci/index.md b/public/content/translations/el/desci/index.md
index 35ea15e0a41..92f5ca2c077 100644
--- a/public/content/translations/el/desci/index.md
+++ b/public/content/translations/el/desci/index.md
@@ -96,7 +96,7 @@ summaryPoint3: Δημιουργία πάνω στο ανοιχτό επιστη
- [VitaDAO: Λάβετε χρηματοδότηση μέσω συμφωνιών έρευνας με χορηγία για έρευνα μακροζωίας.](https://www.vitadao.com/)
- [ResearchHub: Δημοσιεύστε μια επιστημονική έρευνα και συμμετάσχετε σε μια συζήτηση.](https://www.researchhub.com/)
- [LabDAO: fold a protein in-silico](https://alphafodl.vercel.app/)
-- [dClimate API: Αναζήτηση δεδομένων για το κλίμα που συλλέγονται από μια αποκεντρωμένη κοινότητα.](https://api.dclimate.net/)
+- [dClimate API: Αναζήτηση δεδομένων για το κλίμα που συλλέγονται από μια αποκεντρωμένη κοινότητα.](https://www.dclimate.net/)
- [DeSci Foundation: DeSci δημιουργία εργαλείου δημοσίευσης.](https://descifoundation.org/)
- [DeSci.World: Σύντομη αγορά για να δουν οι χρήστες και να ασχοληθούν με την αποκεντρωμένη επιστήμη.](https://desci.world)
- [OceanDAO: DAO χρηματοδότησης για την επιστήμη που σχετίζεται με δεδομένα.](https://oceanprotocol.com/)
@@ -118,7 +118,7 @@ summaryPoint3: Δημιουργία πάνω στο ανοιχτό επιστη
- [Ένας οδηγός για την αποκεντρωμένη βιοτεχνολογία από την Jocelynn Pearl για το μέλλον του a16z](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [Η περίπτωση για την DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [Οδηγός για DeSci](https://future.com/what-is-decentralized-science-aka-desci/)
-- [Πηγές αποκεντρωμένης επιστήμης](https://www.vincentweisser.com/decentralized-science)
+- [Πηγές αποκεντρωμένης επιστήμης](https://www.vincentweisser.com/desci)
- [Molecule’s Biopharma IP-NFTs - Τεχνική περιγραφή](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [Δημιουργώντας έμπιστα συστήματα επιστήμης του Jon Starr](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Paul Kohlhaas - DeSci: Το μέλλον της αποκεντρωμένης επιστήμης (podcast)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a)
@@ -126,6 +126,7 @@ summaryPoint3: Δημιουργία πάνω στο ανοιχτό επιστη
- [DeSci: Το μέλλον της έρευνας από τον Samuel Akinosho.](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec)
- [Χρηματοδότηση επιστήμης (Επίλογος: Η DeSci και οι νέες μεθόδοι κρύπτο) από την Nadia.](https://nadia.xyz/science-funding)
- [Η αποκέντρωση διακόπτει την ανάπτυξη των ναρκωτικών.](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f)
+- [Τι είναι το DeSci - Αποκεντρωμένη επιστήμη;](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/)
### Βίντεο {#videos}
@@ -134,3 +135,4 @@ summaryPoint3: Δημιουργία πάνω στο ανοιχτό επιστη
- [Η επιστημονική δημοσίευση είναι προβληματική. Μπορεί το Web3 να το διορθώσει;](https://www.youtube.com/watch?v=WkvzYgCvWj8)
- [Juan Benet - DeSci, Ανεξάρτητα εργαστήρια & η Επιστήμη των δεδομένων μεγάλης κλίμακας.](https://www.youtube.com/watch?v=zkXM9H90g_E)
- [Sebastian Brunemeier - Πώς η DeSci μπορεί να τροποποιήσει τη Βιοϊατρική έρευνα & τα Επιχειρηματικά κεφάλαια.](https://www.youtube.com/watch?v=qB4Tc3FcVbM)
+- [Paige Donner - Εργαλεία Open Science με Web3 & Το Blockchain](https://www.youtube.com/watch?v=nC-2QWQ-lgw&t=17s)
diff --git a/public/content/translations/el/developers/docs/apis/backend/index.md b/public/content/translations/el/developers/docs/apis/backend/index.md
new file mode 100644
index 00000000000..31aec128421
--- /dev/null
+++ b/public/content/translations/el/developers/docs/apis/backend/index.md
@@ -0,0 +1,207 @@
+---
+title: Βιβλιοθήκες Backend API
+description: Μια εισαγωγή στις βιβλιοθήκες API μιας εφαρμογής πελάτη στο Ethereum, που σας επιτρέπει να αλληλεπιδράσετε από την εφαρμογή σας με την κρυπτοαλυσίδα.
+lang: el
+---
+
+Προκειμένου μια εφαρμογή να αλληλεπιδράσει με την κρυπτοαλυσίδα του Ethereum (π.χ. ανάγνωση δεδομένων και/ή αποστολή συναλλαγών στο δίκτυο), πρέπει να συνδεθεί με έναν κόμβο του δικτύου Ethereum.
+
+Για αυτό τον σκοπό, κάθε εφαρμογή πελάτη Ethereum εφαρμόζει την προδιαγραφή [JSON-RPC](/developers/docs/apis/json-rpc/), ώστε να υπάρχει ένα ομοιόμορφο σύνολο [μεθόδων](/developers/docs/apis/json-rpc/#json-rpc-methods) όπου μπορούν να βασίζονται οι εφαρμογές.
+
+Αν θέλετε να χρησιμοποιήσετε μια συγκεκριμένη γλώσσα προγραμματισμού για να συνδεθείτε με έναν κόμβο του Ethereum, στο οικοσύστημα υπάρχουν αρκετές βολικές βιβλιοθήκες που το κάνουν πολύ πιο εύκολο. Με αυτές τις βιβλιοθήκες, οι προγραμματιστές μπορούν να γράφουν διαισθητικές μεθόδους μίας γραμμής για την αρχικοποίηση αιτημάτων JSON RPC (έμμεσα) που αλληλεπιδρούν με το Ethereum.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα ήταν χρήσιμο να κατανοήσουμε τη σημασία της [αποθήκευση κεφαλαίου Ethereum](/developers/docs/ethereum-stack/) και των [εφαρμογών πελάτη του Ethereum](/developers/docs/nodes-and-clients/).
+
+## Γιατί να χρησιμοποιήσετε μια βιβλιοθήκη; {#why-use-a-library}
+
+Αυτές οι βιβλιοθήκες εκτελούν το μεγαλύτερο μέρος της πολυπλοκότητας της άμεσης αλληλεπίδρασης με έναν κόμβο του Ethereum. Παρέχουν επίσης χρήσιμες λειτουργίες (π.χ. μετατροπή από ETH σε Gwei) έτσι ώστε ένας προγραμματιστής να χρειαστεί λιγότερο χρόνο για τη διασύνδεση της εφαρμογής πελάτη του με το δίκτυο του Ethereum, επικεντρώνοντας στη μοναδική λειτουργικότητα της εφαρμογής.
+
+## Διαθέσιμες βιβλιοθήκες {#available-libraries}
+
+### Υπηρεσίες υποδομών και κόμβων {#infrastructure-and-node-services}
+
+**Alchemy -** **_Πλατφόρμα ανάπτυξης Ethereum._**
+
+- [alchemy.com](https://www.alchemy.com/)
+- [Τεκμηρίωση](https://docs.alchemy.com/)
+- [GitHub](https://github.com/alchemyplatform)
+- [Discord](https://discord.com/invite/alchemyplatform)
+
+**All That Node -** **_Κόμβος ως υπηρεσία_**
+
+- [All That Node.com](https://www.allthatnode.com/)
+- [Τεκμηρίωση](https://docs.allthatnode.com)
+- [Discord](https://discord.gg/GmcdVEUbJM)
+
+**Blast by Bware Labs -** **_Αποκεντρωμένα API για το κεντρικό δίκτυο Ethereum και το δίκτυο δοκιμών._**
+
+- [blastapi.io](https://blastapi.io/)
+- [Τεκμηρίωση](https://docs.blastapi.io)
+- [Discord](https://discord.gg/bwarelabs)
+
+**BlockPi -** **_Παροχή πιο αποτελεσματικών και γρήγορων υπηρεσιών RPC_**
+
+- [blockpi.io](https://blockpi.io/)
+- [Τεκμηρίωση](https://docs.blockpi.io/)
+- [GitHub](https://github.com/BlockPILabs)
+- [Discord](https://discord.com/invite/xTvGVrGVZv)
+
+**Πύλη Cloudflare στο Ethereum.**
+
+- [cloudflare-eth.com](https://www.cloudflare.com/application-services/products/web3/)
+
+**Etherscan - Εξερευνητής Block και API συναλλαγών**
+- [Τεκμηρίωση](https://docs.etherscan.io/)
+
+**GetBlock-** **_Blockchain ως υπηρεσία για προγραμματιστές Web3_ **
+
+- [GetBlock.io](https://getblock.io/)
+- [Τεκμηρίωση](https://getblock.io/docs/)
+
+**Infura -** **_Το Ethereum API ως υπηρεσία._**
+
+- [infura.io](https://infura.io)
+- [Τεκμηρίωση](https://docs.infura.io/api)
+- [GitHub](https://github.com/INFURA)
+
+**Node RPC - _Πάροχος Cost-effective EVM JSON-RPC_**
+
+- [noderpc.xyz](https://www.noderpc.xyz/)
+- [Τεκμηρίωση](https://docs.noderpc.xyz/node-rpc)
+
+**NOWNodes - _Πλήρεις κόμβοι και εξερευνητές μπλοκ._**
+
+- [NOWNodes.io](https://nownodes.io/)
+- [Τεκμηρίωση](https://documenter.getpostman.com/view/13630829/TVmFkLwy#intro)
+
+**QuikNode -** **_Υποδομή κρυπτοαλυσίδας ως υπηρεσία._**
+
+- [quicknode.com](https://quicknode.com)
+- [Τεκμηρίωση](https://www.quicknode.com/docs/welcome)
+- [Discord](https://discord.gg/quicknode)
+
+**Rivet -** **_Υπηρεσία API για τα Ethereum και Ethereum Classic υποστηριζόμενη από λογισμικό ανοιχτού κώδικα._**
+
+- [rivet.cloud](https://rivet.cloud)
+- [Έγγραφα](https://rivet.cloud/docs/)
+- [GitHub](https://github.com/openrelayxyz/ethercattle-deployment)
+
+**Zmok -** **_Ταχύρυθμοι κόμβοι Ethereum ως JSON-RPC/WebSockets API._**
+
+- [zmok.io](https://zmok.io/)
+- [GitHub](https://github.com/zmok-io)
+- [Έγγραφα](https://docs.zmok.io/)
+- [Discord](https://discord.gg/fAHeh3ka6s)
+
+### Εργαλεία ανάπτυξης {#development-tools}
+
+**ethers-kt -** **_Async, βιβλιοθήκη υψηλών επιδόσεων Kotlin/Java/Android για κρυπτοαλυσίδες βασισμένες σε EVM._**
+
+- [GitHub](https://github.com/Kr1ptal/ethers-kt)
+- [Παραδείγματα](https://github.com/Kr1ptal/ethers-kt/tree/master/examples)
+- [Discord](https://discord.gg/rx35NzQGSb)
+
+**Nethereum -** **_Βιβλιοθήκη ενσωμάτωσης .NET για την κεντρική αλυσίδα._**
+
+- [GitHub](https://github.com/Nethereum/Nethereum)
+- [Έγγραφα](http://docs.nethereum.com/en/latest/)
+- [Discord](https://discord.com/invite/jQPrR58FxX)
+
+**Εργαλεία Python -** **_Διάφορες βιβλιοθήκες για αλληλεπίδραση στο Ethereum μέσω της Python._**
+
+- [py.ethereum.org](https://python.ethereum.org/)
+- [web3.py GitHub](https://github.com/ethereum/web3.py)
+- [web3.py Chat](https://gitter.im/ethereum/web3.py)
+
+**Tatum -** **_Η απόλυτη πλατφόρμα ανάπτυξης κρυπτοαλυσίδας._**
+
+- [Tatum](https://tatum.io/)
+- [GitHub](https://github.com/tatumio/)
+- [Έγγραφα](https://docs.tatum.io/)
+- [Discord](https://discord.gg/EDmW3kjTC9)
+
+**web3j -** **_Βιβλιοθήκη ενσωμάτωσης Java/Android/Kotlin/Scala για το Ethereum._**
+
+- [GitHub](https://github.com/web3j/web3j)
+- [Έγγραφα](https://docs.web3j.io/)
+- [Gitter](https://gitter.im/web3j/web3j)
+
+### Υπηρεσίες κρυπτοαλυσίδων {#blockchain-services}
+
+**BlockCypher -** **_Ethereum Web APIs._**
+
+- [blockcypher.com](https://www.blockcypher.com/)
+- [Τεκμηρίωση](https://www.blockcypher.com/dev/ethereum/)
+
+**Chainbase -** **_Υποδομή δεδομένων web3 All-in-one για το Ethereum._**
+
+- [chainbase.com](https://chainbase.com/)
+- [Τεκμηρίωση](https://docs.chainbase.com/)
+- [Discord](https://discord.gg/Wx6qpqz4AF)
+
+**Chainstack -** **_Ελαστικός και ιδιωτικός κόμβος Ethereum ως υπηρεσία._**
+
+- [chainstack.com](https://chainstack.com)
+- [Τεκμηρίωση](https://docs.chainbase.com/docs)
+- [Αναφορά Ethereum API](https://docs.chainstack.com/reference/ethereum-getting-started)
+
+**Coinbase Cloud Node -** **_Υποδομή API κρυπτοαλυσίδας._**
+
+- [Coinbase Cloud Node](https://www.coinbase.com/cloud)
+- [Τεκμηρίωση](https://docs.cloud.coinbase.com/)
+
+**DataHub by Figment -** **_Υπηρεσίες Web3 API με το κεντρικό δίκτυο Ethereum και με δίκτυα δοκιμών._**
+
+- [DataHub](https://www.figment.io/)
+- [Τεκμηρίωση](https://docs.figment.io/)
+
+**Moralis -** **_Επιχειρήσεις-Πάροχος Grade EVM API._**
+
+- [moralis.io](https://moralis.io)
+- [Τεκμηρίωση](https://docs.moralis.io/)
+- [GitHub](https://github.com/MoralisWeb3)
+- [Discord](https://moralis.io/joindiscord/)
+- [Φόρουμ](https://forum.moralis.io/)
+
+**NFTPort -** **_API δεδομένων και δημιουργίας του Ethereum._**
+
+- [nftport.xyz](https://www.nftport.xyz/)
+- [Τεκμηρίωση](https://docs.nftport.xyz/)
+- [GitHub](https://github.com/nftport/)
+- [Discord](https://discord.com/invite/K8nNrEgqhE)
+
+**Tokenview -** **_Η Γενική Πλατφόρμα Πολλαπλών Κρύπτο Blockchain API._**
+
+- [services.tokenview.io](https://services.tokenview.io/)
+- [Τεκμηρίωση](https://services.tokenview.io/docs?type=api)
+- [GitHub](https://github.com/Tokenview)
+
+**Watchdata -** **_Παρέχει απλή και αξιόπιστη πρόσβαση API στην κρυπτοαλυσίδα Ethereum._**
+
+- [Watchdata](https://watchdata.io/)
+- [Τεκμηρίωση](https://docs.watchdata.io/)
+- [Discord](https://discord.com/invite/TZRJbZ6bdn)
+
+**Covalent -** **_Enriched blockchain APIs για 200+ αλυσίδες._**
+
+- [covalenthq.com](https://www.covalenthq.com/)
+- [Τεκμηρίωση](https://www.covalenthq.com/docs/api/)
+- [GitHub](https://github.com/covalenthq)
+- [Discord](https://www.covalenthq.com/discord/)
+
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Σχετικά θέματα {#related-topics}
+
+- [ Κόμβοι και πελάτες](/developers/docs/nodes-and-clients/)
+- [Πλαίσια ανάπτυξης](/developers/docs/frameworks/)
+
+## Σχετικοί οδηγοί {#related-tutorials}
+
+- [Ρυθμίστε το Web3js να χρησιμοποιεί την κεντρική αλυσίδα του Ethereum σε JavasScript](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– Οδηγίες ρύθμισης του web3.js για το έργο σας._
+- [Σύνδεση ενός έξυπνου συμβολαίου με τη JavaScript](/developers/tutorials/calling-a-smart-contract-from-javascript/) _– Με χρήση του κρυπτονομίσματος DAI, δείτε πως μπορείτε να χρησιμοποιήσετε λειτουργίες συμβολαίου με τη JavaScript._
diff --git a/public/content/translations/el/developers/docs/apis/javascript/index.md b/public/content/translations/el/developers/docs/apis/javascript/index.md
new file mode 100644
index 00000000000..aa9eb34ee52
--- /dev/null
+++ b/public/content/translations/el/developers/docs/apis/javascript/index.md
@@ -0,0 +1,296 @@
+---
+title: Βιβλιοθήκες API της JavaScript
+description: Μια εισαγωγή στις βιβλιοθήκες API ενός πελάτη στη JavaScript που σας επιτρέπουν να αλληλεπιδράσετε από την εφαρμογή σας με την κεντρική αλυσίδα.
+lang: el
+---
+
+Προκειμένου μια εφαρμογή ιστού να αλληλεπιδράσει με την κεντρική αλυσίδα του Ethereum (π.χ. ανάγνωση δεδομένων και/ή αποστολή συναλλαγών στο δίκτυο), πρέπει να συνδεθεί με έναν κόμβο του δικτύου Ethereum.
+
+Για αυτό τον σκοπό, κάθε εφαρμογή πελάτη Ethereum εφαρμόζει την προδιαγραφή [JSON-RPC](/developers/docs/apis/json-rpc/), ώστε να υπάρχει ένα ομοιόμορφο σύνολο [μεθόδων](/developers/docs/apis/json-rpc/#json-rpc-methods) όπου μπορούν να βασίζονται οι εφαρμογές.
+
+Εάν θέλετε να χρησιμοποιήσετε τη JavaScript για να συνδεθείτε με έναν κόμβο Ethereum, είναι δυνατό να χρησιμοποιήσετε το vanilla JavaScript καθώς υπάρχουν πολλές βιβλιοθήκες εντός του οικοσυστήματος που το καθιστούν πολύ πιο εύκολο. Με αυτές τις βιβλιοθήκες, οι προγραμματιστές μπορούν να γράφουν διαισθητικές μεθόδους μίας γραμμής για την αρχικοποίηση αιτημάτων JSON RPC (έμμεσα) που αλληλεπιδρούν με το Ethereum.
+
+Παρακαλούμε σημειώστε ότι από τη [Συγχώνευση](/roadmap/merge/), δύο συνδεδεμένα κομμάτια λογισμικού Ethereum, ένας πελάτης εκτέλεσης και ένας πελάτης συναίνεσης, απαιτούνται για να λειτουργήσει ένας κόμβος. Παρακαλούμε βεβαιωθείτε ότι ο κόμβος σας περιλαμβάνει τόσο το εκτελεστικό όσο και το συναινετικό τμήμα της εφαρμογής πελάτη. Εάν ο κόμβος σας δε βρίσκεται στον τοπικό σας υπολογιστή (π.χ. ο κόμβος σας εκτελείται σε ένα σύστημα AWS) ενημερώστε ανάλογα τις διευθύνσεις IP στον οδηγό λειτουργίας. Για περισσότερες πληροφορίες δείτε τη σελίδα μας [εκτελώντας έναν κόμβο](/developers/docs/nodes-and-clients/run-a-node/).
+
+## Προαπαιτούμενα {#prerequisites}
+
+Εκτός από την κατανόηση της JavaScript, θα ήταν χρήσιμο να κατανοήσουμε τη σημασία της [αποθήκευση κεφαλαίου Ethereum](/developers/docs/ethereum-stack/) και των [εφαρμογών πελάτη του Ethereum](/developers/docs/nodes-and-clients/).
+
+## Γιατί να χρησιμοποιήσετε μια βιβλιοθήκη; {#why-use-a-library}
+
+Αυτές οι βιβλιοθήκες εκτελούν το μεγαλύτερο μέρος της πολυπλοκότητας της άμεσης αλληλεπίδρασης με έναν κόμβο του Ethereum. Παρέχουν επίσης χρήσιμες λειτουργίες (π.χ. μετατροπή από ETH σε Gwei) έτσι ώστε ένας προγραμματιστής να χρειαστεί λιγότερο χρόνο για τη διασύνδεση της εφαρμογής πελάτη του με το δίκτυο του Ethereum, επικεντρώνοντας στη μοναδική λειτουργικότητα της εφαρμογής.
+
+## Χαρακτηριστικά βιβλιοθήκης {#library-features}
+
+### Σύνδεση σε κόμβους του Ethereum {#connect-to-ethereum-nodes}
+
+Χρησιμοποιώντας τους παρόχους, αυτές οι βιβλιοθήκες σας επιτρέπουν να συνδεθείτε στο Ethereum και να διαβάσετε τα δεδομένα του, είτε αυτό είναι μέσω JSON-RPC, INFURA, Etherscan, Alchemy ή MetaMask.
+
+**Παράδειγμα Ethers**
+
+```js
+// Το BrowserProvider περικλείει ένα τυπικό Web3 πάροχο, ο οποίος είναι
+// αυτό που παρέχει το Metamask με το window.ethereum σε κάθε σελίδα
+const provider = new ethers.BrowserProvider(window.ethereum)
+
+// Το πρόσθετο Metamask επιτρέπει επίσης την υπογραφή συναλλαγών
+// για αποστολή ether και πληρωμή για αλλαγή κατάστασης εσωτερικά
+// στην κεντρική αλυσίδα.
+// Γι' αυτό χρειαζόμαστε τη σύνδεση με το λογαριασμό...
+const signer = provider.getSigner()
+```
+
+**Παράδειγμα Web3js**
+
+```js
+var web3 = new Web3("http://localhost:8545")
+// ή
+var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))
+
+// αλλαγή παρόχου
+web3.setProvider("ws://localhost:8546")
+// ή
+web3.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8546"))
+
+// Με χρήση του παρόχου IPC σε node.js
+var net = require("net")
+var web3 = new Web3("/Users/myuser/Library/Ethereum/geth.ipc", net) // mac os path
+// ή
+var web3 = new Web3(
+ new Web3.providers.IpcProvider("/Users/myuser/Library/Ethereum/geth.ipc", net)
+) // διαδρομή για mac os
+// σε windows η διαδρομή είναι: "\\\\.\\pipe\\geth.ipc"
+// σε linux η διαδρομή είναι: "/users/myuser/.ethereum/geth.ipc"
+```
+
+Μόλις ρυθμιστεί μπορείτε να αναζητήσετε στην κεντρική αλυσίδα για:
+
+- Τους αριθμούς των μπλοκ
+- Την εκτίμηση του ύψους των κρατήσεων
+- Νέα για έξυπνα συμβόλαια
+- Την ταυτότητα του δικτύου
+- Και πολλά άλλα...
+
+### Λειτουργικότητα πορτοφολιού {#wallet-functionality}
+
+Αυτές οι βιβλιοθήκες σας δίνουν τη δυνατότητα να δημιουργήσετε πορτοφόλια, να διαχειριστείτε τα κλειδιά και να υπογράψετε συναλλαγές.
+
+Δείτε ένα παράδειγμα από το Ethers
+
+```js
+// Δημιουργήστε ένα πορτοφόλι με χρήση της φράσης ασφαλείας...
+mnemonic =
+ "announce room limb pattern dry unit scale effort smooth jazz weasel alcohol"
+walletMnemonic = Wallet.fromPhrase(mnemonic)
+
+// ...ή από ιδιοτικό κλειδί
+walletPrivateKey = new Wallet(walletMnemonic.privateKey)
+
+walletMnemonic.address === walletPrivateKey.address
+// αληθές
+
+// Η διεύθυνση ως Υπόσχεση ανά Signer API
+walletMnemonic.getAddress()
+// { Promise: '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' }
+
+// Μια διεύθυνση Πορτοφολιού είναι επίσης ταυτόχρονα διαθέσιμη
+walletMnemonic.address
+// '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1'
+
+// Εσωτερικά κρυπτογραφημένα αντικείμενα
+walletMnemonic.privateKey
+// '0x1da6847600b0ee25e9ad9a52abbd786dd2502fa4005dd5af9310b7cc7a3b25db'
+walletMnemonic.publicKey
+// '0x04b9e72dfd423bcf95b3801ac93f4392be5ff22143f9980eb78b3a860c4843bfd04829ae61cdba4b3b1978ac5fc64f5cc2f4350e35a108a9c9a92a81200a60cd64'
+
+// Το μνημονικό πορτοφολιού
+walletMnemonic.mnemonic
+// {
+// locale: 'en',
+// path: 'm/44\'/60\'/0\'/0/0',
+// phrase: 'announce room limb pattern dry unit scale effort smooth jazz weasel alcohol'
+// }
+
+// Σημείωση: Ένα πορτοφόλι που δημιουργείται με ιδιωτικό κλειδί δεν
+// έχει μνημονικό (το αποτρέπει το παράγωγο)
+walletPrivateKey.mnemonic
+// null
+
+// Υπογραφή μηνύματος
+walletMnemonic.signMessage("Hello World")
+// { Promise: '0x14280e5885a19f60e536de50097e96e3738c7acae4e9e62d67272d794b8127d31c03d9cd59781d4ee31fb4e1b893bd9b020ec67dfa65cfb51e2bdadbb1de26d91c' }
+
+tx = {
+ to: "0x8ba1f109551bD432803012645Ac136ddd64DBA72",
+ value: utils.parseEther("1.0"),
+}
+
+// Υπογραφή συναλλαγής
+walletMnemonic.signTransaction(tx)
+// { Promise: '0xf865808080948ba1f109551bd432803012645ac136ddd64dba72880de0b6b3a7640000801ca0918e294306d177ab7bd664f5e141436563854ebe0a3e523b9690b4922bbb52b8a01181612cec9c431c4257a79b8c9f0c980a2c49bb5a0e6ac52949163eeb565dfc' }
+
+// Η μέθοδος σύνδεσης επιστρέφει μια νέα κατάσταση του
+// πορτοφολιού συνδεδεμένο με πάροχο
+wallet = walletMnemonic.connect(provider)
+
+// Αναμονή δικτύου
+wallet.getBalance()
+// { Promise: { BigNumber: "42" } }
+wallet.getTransactionCount()
+// { Promise: 0 }
+
+// Αποστολή ether
+wallet.sendTransaction(tx)
+```
+
+[Ανάγνωση της πλήρη τεκμηρίωση](https://docs.ethers.io/v5/api/signer/#Wallet)
+
+Μόλις ρυθμιστεί θα μπορείτε να:
+
+- Δημιουργήσετε λογαριασμούς
+- Στείλετε συναλλαγές
+- Υπογράψετε συναλλαγές
+- Και πολλά άλλα...
+
+### Αλληλεπίδραση με τις λειτουργίες ενός έξυπνου συμβολαίου {#interact-with-smart-contract-functions}
+
+Οι βιβλιοθήκες της JavaScript για εφαρμογή πελάτη, σας επιτρέπουν να καλέσετε τις λειτουργίες έξυπνου συμβολαίου διαβάζοντας το Application Binary Interface (ABI) ενός ολοκληρωμένου συμβολαίου.
+
+Το ABI εξηγεί ουσιαστικά τις λειτουργίες του συμβολαίου σε μορφή JSON και σας επιτρέπει να το χρησιμοποιήσετε σαν ένα κανονικό αντικείμενο της JavaScript.
+
+Έτσι το ακόλουθο συμβόλαιο με τη Solidity θα ήταν:
+
+```solidity
+contract Test {
+ uint a;
+ address d = 0x12345678901234567890123456789012;
+
+ function Test(uint testInt) { a = testInt;}
+
+ event Event(uint indexed b, bytes32 c);
+
+ event Event2(uint indexed b, bytes32 c);
+
+ function foo(uint b, bytes32 c) returns(address) {
+ Event(b, c);
+ return d;
+ }
+}
+```
+
+Και θα έχει ως αποτέλεσμα τα παρακάτω σε JSON:
+
+```json
+[{
+ "type":"constructor",
+ "payable":false,
+ "stateMutability":"nonpayable"
+ "inputs":[{"name":"testInt","type":"uint256"}],
+ },{
+ "type":"function",
+ "name":"foo",
+ "constant":false,
+ "payable":false,
+ "stateMutability":"nonpayable",
+ "inputs":[{"name":"b","type":"uint256"}, {"name":"c","type":"bytes32"}],
+ "outputs":[{"name":"","type":"address"}]
+ },{
+ "type":"event",
+ "name":"Event",
+ "inputs":[{"indexed":true,"name":"b","type":"uint256"}, {"indexed":false,"name":"c","type":"bytes32"}],
+ "anonymous":false
+ },{
+ "type":"event",
+ "name":"Event2",
+ "inputs":[{"indexed":true,"name":"b","type":"uint256"},{"indexed":false,"name":"c","type":"bytes32"}],
+ "anonymous":false
+}]
+```
+
+Αυτό σημαίνει ότι μπορείτε:
+
+- Να στείλετε μια συναλλαγή στο έξυπνο συμβόλαιο και να εκτελέστε τη μέθοδό του
+- Να ζητήσετε εκτίμηση κόστους των κρατήσεων που θα απαιτηθούν με τη χρήση στην EVM
+- Να αναπτύξετε ένα συμβόλαιο
+- Και πολλά άλλα...
+
+### Βοηθητικές λειτουργίες {#utility-functions}
+
+Οι βοηθητικές λειτουργίες σας παρέχουν χρήσιμες συντομεύσεις προς υποβοήθηση του έργου σας.
+
+Οι τιμές του ETH είναι σε Wei από προεπιλογή. 1 ETH = 1,000,000,000,000,000,000,000 WEI – αυτό σημαίνει ότι έχετε να κάνετε με πολλούς αριθμούς! `web3.utils.toWei` μετατροπή ether σε Wei.
+
+Σε ethers θα μοιάζει όπως παρακάτω:
+
+```js
+// Ανάγνωση του υπόλοιπου ενός λογαριασμού (ανά διεύθυνση ή όνομα ENS)
+balance = await provider.getBalance("ethers.eth")
+// { BigNumber: "2337132817842795605" }
+
+// Συχνά χρειάζεται να προσαρμόζεται το αποτέλεσμα για το χρήστη
+// που προτιμά να δει τις τιμές σε ether (και όχι σε wei)
+ethers.utils.formatEther(balance)
+// '2.337132817842795605'
+```
+
+- [Βοηθητικές λειτουργίες Web3js](https://docs.web3js.org/api/web3-utils)
+- [Βοηθητικές λειτουργίες Ethers](https://docs.ethers.io/v5/api/utils/)
+
+## Διαθέσιμες βιβλιοθήκες {#available-libraries}
+
+**Web3.js -** **_Ethereum JavaScript API._**
+
+- [Τεκμηρίωση](https://docs.web3js.org/)
+- [GitHub](https://github.com/ethereum/web3.js/)
+
+**Ethers.js -** **_Ολοκληρωμένη εφαρμογή πορτοφολιού Ethereum και βοηθητικά προγράμματα με χρήση JavaScript και TypeScript._**
+
+- [Τεκμηρίωση](https://docs.ethers.io/)
+- [GitHub](https://github.com/ethers-io/ethers.js/)
+
+**The Graph -** **_Ένα πρωτόκολλο δημιουργίας ευρετηρίου δεδομένων στο Ethereum και IPFS καθώς και την αναζήτηση με χρήση GraphQL._**
+
+- [The Graph](https://thegraph.com/)
+- [Φυλλομετρητής Graph](https://thegraph.com/explorer/)
+- [Τεκμηρίωση](https://thegraph.com/docs/)
+- [GitHub](https://github.com/graphprotocol/)
+- [Discord](https://thegraph.com/discord)
+
+**light.js -** **_Μια υψηλού επιπέδου βιβλιοθήκη της JS βελτιστοποιημένη για ελαφρές εφαρμογές πελάτη._**
+
+- [GitHub](https://github.com/openethereum/js-libs/tree/master/packages/light.js)
+
+**Web3-wrapper -** **_Η Typescript ως εναλλακτική της Web3.js._**
+
+- [Τεκμηρίωση](https://0x.org/docs/web3-wrapper#introduction)
+- [GitHub](https://github.com/0xProject/0x-monorepo/tree/development/packages/web3-wrapper)
+
+**Alchemyweb3 -** **_Η συνάρτηση Wrapper σε συνδυασμό με Web3.js και αυτόματες επαναπροσπάθειες καθώς και ενισχυμένα apis._**
+
+- [Τεκμηρίωση](https://docs.alchemy.com/reference/api-overview)
+- [GitHub](https://github.com/alchemyplatform/alchemy-web3)
+
+**Alchemy NFT API -** **_API για τη λήψη δεδομένων NFT, συμπεριλαμβανομένης της ιδιοκτησίας, των χαρακτηριστικών μεταδεδομένων και άλλων._**
+
+- [Τεκμηρίωση](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)
+- [GitHub](https://github.com/alchemyplatform/alchemy-web3)
+
+**viem -** **_Διεπαφή TypeScript για το Ethereum._**
+
+- [Τεκμηρίωση](https://viem.sh)
+- [GitHub](https://github.com/wagmi-dev/viem)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Σχετικά θέματα {#related-topics}
+
+- [ Κόμβοι και πελάτες](/developers/docs/nodes-and-clients/)
+- [Πλαίσια ανάπτυξης](/developers/docs/frameworks/)
+
+## Σχετικοί οδηγοί {#related-tutorials}
+
+- [Ρυθμίστε το Web3js να χρησιμοποιεί την κεντρική αλυσίδα του Ethereum σε JavasScript](/developers/tutorials/set-up-web3js-to-use-ethereum-in-javascript/) _– Οδηγίες ρύθμισης του web3.js για το έργο σας._
+- [Σύνδεση ενός έξυπνου συμβολαίου με τη JavaScript](/developers/tutorials/calling-a-smart-contract-from-javascript/) _– Με χρήση του κρυπτονομίσματος DAI, δείτε πως μπορείτε να χρησιμοποιήσετε λειτουργίες συμβολαίου με τη JavaScript._
+- [Αποστολή συναλλαγών με χρήση web3 και Alchemy](/developers/tutorials/sending-transactions-using-web3-and-alchemy/) _– Οδηγός βήμα προς βήμα για την αποστολή συναλλαγών από το σύστημα._
diff --git a/public/content/translations/el/developers/docs/apis/json-rpc/index.md b/public/content/translations/el/developers/docs/apis/json-rpc/index.md
new file mode 100644
index 00000000000..5a61681859a
--- /dev/null
+++ b/public/content/translations/el/developers/docs/apis/json-rpc/index.md
@@ -0,0 +1,1773 @@
+---
+title: JSON-RPC API
+description: Ένα πρωτόκολλο απομακρυσμένης κλήσης διαδικασιών (RPC), χωρίς κατάσταση και ελαφρύ, για πελάτες Ethereum.
+lang: el
+---
+
+Για να αλληλεπιδράσει μια εφαρμογή λογισμικού με το Ethereum blockchain —είτε διαβάζοντας δεδομένα blockchain είτε στέλνοντας συναλλαγές στο δίκτυο— πρέπει να συνδεθεί σε έναν κόμβο Ethereum.
+
+Για αυτόν τον σκοπό, κάθε [πελάτης Ethereum](/developers/docs/nodes-and-clients/#execution-clients) υλοποιεί μια [προδιαγραφή JSON-RPC](https://github.com/ethereum/execution-apis), ώστε να υπάρχει ένα ενιαίο σύνολο μεθόδων στις οποίες μπορούν να βασίζονται οι εφαρμογές, ανεξάρτητα από τον συγκεκριμένο κόμβο ή την υλοποίηση του πελάτη.
+
+Το [JSON-RPC](https://www.jsonrpc.org/specification) είναι ένα ελαφρύ πρωτόκολλο απομακρυσμένης κλήσης διαδικασιών (RPC) χωρίς κατάσταση. Ορίζει αρκετές δομές δεδομένων και τους κανόνες που διέπουν την επεξεργασία τους. Είναι συμβατό με τη μεταφορά, καθώς οι έννοιες μπορούν να χρησιμοποιηθούν εντός της ίδιας διαδικασίας, μέσω sockets, μέσω HTTP ή σε πολλά διαφορετικά περιβάλλοντα ανταλλαγής μηνυμάτων. Χρησιμοποιεί το JSON (RFC 4627) ως μορφή δεδομένων.
+
+## Εφαρμογές Πελάτη {#client-implementations}
+
+Οι εφαρμογές πελάτη Ethereum ενδέχεται να χρησιμοποιούν διαφορετικές γλώσσες προγραμματισμού κατά την υλοποίηση της προδιαγραφής JSON-RPC. Δείτε την [τεκμηρίωση του κάθε πελάτη](/developers/docs/nodes-and-clients/#execution-clients) για περισσότερες λεπτομέρειες σχετικά με συγκεκριμένες γλώσσες προγραμματισμού. Συνιστούμε να ελέγξετε την τεκμηρίωση κάθε πελάτη για τις πιο πρόσφατες πληροφορίες υποστήριξης API.
+
+## Βιβλιοθήκες Παραγωγικότητας {#convenience-libraries}
+
+Παρόλο που μπορείτε να επιλέξετε να αλληλεπιδράσετε απευθείας με πελάτες Ethereum μέσω της API JSON-RPC, συχνά υπάρχουν ευκολότερες επιλογές για τους προγραμματιστές dapp. Υπάρχουν πολλές βιβλιοθήκες [JavaScript](/developers/docs/apis/javascript/#available-libraries) και [API back-end](/developers/docs/apis/backend/#available-libraries) που παρέχουν wrapper πάνω από την API JSON-RPC. Με αυτές τις βιβλιοθήκες, οι προγραμματιστές μπορούν να γράφουν διαισθητικές, μονογραμμικές μεθόδους στη γλώσσα προγραμματισμού της επιλογής τους για να αρχικοποιήσουν αιτήματα JSON-RPC (κάτω από την επιφάνεια) που αλληλεπιδρούν με το Ethereum.
+
+## ΑΡΙ εφαρμογών πελάτη συναίνεσης {#consensus-clients}
+
+Αυτή η σελίδα ασχολείται κυρίως με την API JSON-RPC που χρησιμοποιείται από τους πελάτες εκτέλεσης Ethereum. Ωστόσο, οι πελάτες συναίνεσης έχουν επίσης μια API RPC που επιτρέπει στους χρήστες να υποβάλλουν ερωτήματα για πληροφορίες σχετικά με τον κόμβο, να ζητούν μπλοκ Beacon, κατάσταση Beacon και άλλες πληροφορίες σχετικές με τη συναίνεση απευθείας από έναν κόμβο. Αυτή η API είναι τεκμηριωμένη στην [ιστοσελίδα Beacon API](https://ethereum.github.io/beacon-APIs/#/).
+
+Μια εσωτερική API χρησιμοποιείται επίσης για επικοινωνία μεταξύ πελατών εντός ενός κόμβου, δηλαδή επιτρέπει στον πελάτη συναίνεσης και τον πελάτη εκτέλεσης να ανταλλάσσουν δεδομένα. Ονομάζεται «Engine API» και οι προδιαγραφές είναι διαθέσιμες στο [GitHub](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
+
+## Προδιαγραφές εφαρμογής πελάτη συναίνεσης {#spec}
+
+[Διαβάστε την πλήρη προδιαγραφή API JSON-RPC στο GitHub](https://github.com/ethereum/execution-apis). Αυτή η API είναι τεκμηριωμένη στην [ιστοσελίδα API Εκτέλεσης](https://ethereum.github.io/execution-apis/api-documentation/) και περιλαμβάνει έναν επιθεωρητή για να δοκιμάσετε όλες τις διαθέσιμες μεθόδους.
+
+## Συμβάσεις {#conventions}
+
+### Κωδικοποίηση τιμής hex {#hex-encoding}
+
+Δύο βασικοί τύποι δεδομένων μεταδίδονται μέσω JSON: μη μορφοποιημένοι πίνακες byte και ποσότητες. Και οι δύο περνούν με μια κωδικοποίηση hex αλλά με διαφορετικές απαιτήσεις μορφοποίησης.
+
+#### Ποσότητες {#quantities-encoding}
+
+Κατά την κωδικοποίηση ποσοτήτων (ακέραιοι, αριθμοί): κωδικοποιήστε ως hex, πρόθεμα με "0x", η πιο συμπαγής αναπαράσταση (μικρή εξαίρεση: το μηδέν πρέπει να αναπαριστάται ως "0x0").
+
+Mερικά παραδείγματα:
+
+- 0x41 (65 σε δεκαδικό)
+- 0x400 (1024 σε δεκαδικό)
+- ΛΑΘΟΣ: 0x (πρέπει πάντα να έχει τουλάχιστον ένα ψηφίο — το μηδέν είναι "0x0")
+- ΛΑΘΟΣ: 0x0400 (δεν επιτρέπονται μηδενικά στην αρχή)
+- ΛΑΘΟΣ: ff (πρέπει να προστεθεί το πρόθεμα 0x)
+
+### Μη μορφοποιημένα δεδομένα {#unformatted-data-encoding}
+
+Κατά την κωδικοποίηση μη μορφοποιημένων δεδομένων (πίνακες byte, διευθύνσεις λογαριασμών, κατακερματισμοί, πίνακες bytecode): κωδικοποιήστε ως hex, πρόθεμα με "0x", δύο ψηφία hex ανά byte.
+
+Mερικά παραδείγματα:
+
+- 0x41 (μέγεθος 1, "A")
+- 0x004200 (μέγεθος 3, "0B0")
+- 0x (μέγεθος 0, "")
+- ΛΑΘΟΣ: 0xf0f0f (πρέπει να είναι ζυγός αριθμός ψηφίων)
+- ΛΑΘΟΣ: 004200 (πρέπει να προστεθεί το πρόθεμα 0x)
+
+### Η προεπιλεγμένη παράμετρος μπλοκ {#default-block}
+
+Οι ακόλουθες μέθοδοι έχουν μια επιπλέον προεπιλεγμένη παράμετρο μπλοκ:
+
+- [eth_getBalance](#eth_getbalance)
+- [eth_getCode](#eth_getcode)
+- [eth_getTransactionCount](#eth_gettransactioncount)
+- [eth_getStorageAt](#eth_getstorageat)
+- [eth_call](#eth_call)
+
+Όταν γίνονται αιτήματα που λειτουργούν στην κατάσταση του Ethereum, η τελευταία προεπιλεγμένη παράμετρος μπλοκ καθορίζει το ύψος του μπλοκ.
+
+Οι ακόλουθες επιλογές είναι δυνατές για την παράμετρο defaultBlock:
+
+- `HEX String` — έναν ακέραιο αριθμό μπλοκ
+- `String "earliest"` για το αρχικό/πρώτο μπλοκ
+- `String "latest"` — για το τελευταίο προτεινόμενο μπλοκ
+- `String "safe"` — για το τελευταίο ασφαλές μπλοκ κεφαλής
+- `String "finalized"` — για το τελευταίο οριστικοποιημένο μπλοκ
+- `String "pending"` — για εκκρεμή κατάσταση/συναλλαγές
+
+## Παραδείγματα
+
+Σε αυτή τη σελίδα παρέχουμε παραδείγματα για το πώς να χρησιμοποιήσετε μεμονωμένα τελικά σημεία API JSON_RPC χρησιμοποιώντας το εργαλείο γραμμής εντολών, [curl](https://curl.se). Αυτά τα μεμονωμένα παραδείγματα τελικών σημείων παρουσιάζονται παρακάτω στην ενότητα [Παραδείγματα curl](#curl-examples). Ακόμα πιο κάτω στη σελίδα, παρέχουμε επίσης ένα [παράδειγμα από άκρο σε άκρο](#usage-example) για τη μεταγλώττιση και την ανάπτυξη ενός έξυπνου συμβολαίου χρησιμοποιώντας έναν κόμβο Geth, την API JSON_RPC και το curl.
+
+## Παραδείγματα Curl {#curl-examples}
+
+Παραδείγματα χρήσης της API JSON_RPC κάνοντας αιτήσεις [curl](https://curl.se) σε έναν κόμβο Ethereum παρέχονται παρακάτω. Κάθε παράδειγμα περιλαμβάνει μια περιγραφή του συγκεκριμένου τελικού σημείου, των παραμέτρων του, του τύπου επιστροφής και ενός επεξεργασμένου παραδείγματος για το πώς πρέπει να χρησιμοποιηθεί.
+
+Οι αιτήσεις curl ενδέχεται να επιστρέψουν ένα μήνυμα σφάλματος σχετικά με τον τύπο περιεχομένου. Αυτό συμβαίνει επειδή η επιλογή `--data` ορίζει τον τύπο περιεχομένου σε `application/x-www-form-urlencoded`. Εάν ο κόμβος σας παραπονιέται για αυτό, ορίστε χειροκίνητα την κεφαλίδα τοποθετώντας `-H "Content-Type: application/json"` στην αρχή της κλήσης. Τα παραδείγματα δεν περιλαμβάνουν επίσης τον συνδυασμό διεύθυνσης URL/IP & θύρας που πρέπει να είναι το τελευταίο όρισμα που δίνεται στο curl (π.χ. `127.0.0.1:8545`). Μια πλήρης αίτηση curl που περιλαμβάνει αυτά τα πρόσθετα δεδομένα έχει την ακόλουθη μορφή:
+
+```shell
+curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' 127.0.0.1:8545
+```
+
+## Ενημέρωση, κατάσταση, ιστορικό {#gossip-state-history}
+
+Μια σειρά από βασικές μεθόδους JSON_RPC απαιτούν δεδομένα από το δίκτυο Ethereum και χωρίζονται με σαφήνεια σε τρεις κύριες κατηγορίες: _Ενημέρωση (Gossip), Κατάσταση (State) και Ιστορικό (History)_. Χρησιμοποιήστε τους συνδέσμους σε αυτές τις ενότητες για να μεταβείτε σε κάθε μέθοδο ή χρησιμοποιήστε τον πίνακα περιεχομένων για να εξερευνήσετε ολόκληρη τη λίστα μεθόδων.
+
+### Μέθοδοι ενημέρωσης {#gossip-methods}
+
+> Αυτές οι μέθοδοι παρακολουθούν την κεφαλή της αλυσίδας. Παρακολουθούν, δηλαδή, τον τρόπο με τον οποίο οι συναλλαγές βρίσκουν τον δρόμο τους μέσα στο δίκτυο, βρίσκουν τον δρόμο τους για να ενσωματωθούν σε μπλοκ και πώς οι πελάτες μαθαίνουν για νέα μπλοκ.
+
+- [eth_blockNumber](#eth_blocknumber)
+- [eth_sendRawTransaction](#eth_sendrawtransaction)
+
+### Μέθοδοι κατάστασης {#state_methods}
+
+> Μέθοδοι που αναφέρουν την τρέχουσα κατάσταση όλων των αποθηκευμένων δεδομένων. Η «κατάσταση» είναι σαν ένα μεγάλο κοινό κομμάτι RAM και περιλαμβάνει υπολοίπα λογαριασμών, δεδομένα έξυπνων συμβολαίων και εκτιμήσεις κρατήσεων (gas).
+
+- [eth_getBalance](#eth_getbalance)
+- [eth_getStorageAt](#eth_getstorageat)
+- [eth_getTransactionCount](#eth_gettransactioncount)
+- [eth_getCode](#eth_getcode)
+- [eth_call](#eth_call)
+- [eth_estimateGas](#eth_estimategas)
+
+### Ιστορικό μεθόδων {#history_methods}
+
+> Ανακτά τα ιστορικά αρχεία κάθε μπλοκ από τη γένεση και έπειτα. Είναι σαν ένα μεγάλο αρχείο μόνο προσθήκης και περιλαμβάνει όλες τις κεφαλίδες μπλοκ, τα σώματα μπλοκ, τα συγγενικά μπλοκ και τις αποδείξεις συναλλαγών.
+
+- [eth_getBlockTransactionCountByHash](#eth_getblocktransactioncountbyhash)
+- [eth_getBlockTransactionCountByNumber](#eth_getblocktransactioncountbynumber)
+- [eth_getUncleCountByBlockHash](#eth_getunclecountbyblockhash)
+- [eth_getUncleCountByBlockNumber](#eth_getunclecountbyblocknumber)
+- [eth_getBlockByHash](#eth_getblockbyhash)
+- [eth_getBlockByNumber](#eth_getblockbynumber)
+- [eth_getTransactionByHash](#eth_gettransactionbyhash)
+- [eth_getTransactionByBlockHashAndIndex](#eth_gettransactionbyblockhashandindex)
+- [eth_getTransactionByBlockNumberAndIndex](#eth_gettransactionbyblocknumberandindex)
+- [eth_getTransactionReceipt](#eth_gettransactionreceipt)
+- [eth_getUncleByBlockHashAndIndex](#eth_getunclebyblockhashandindex)
+- [eth_getUncleByBlockNumberAndIndex](#eth_getunclebyblocknumberandindex)
+
+## JSON-RPC API Playground
+
+Μπορείτε να χρησιμοποιήσετε το [εργαλείο playground](https://ethereum-json-rpc.com) για να ανακαλύψετε και να δοκιμάσετε τις μεθόδους της API. Επίσης, σας δείχνει ποιες μέθοδοι και δίκτυα υποστηρίζονται από διάφορους παρόχους κόμβων.
+
+## Μέθοδοι JSON-RPC API {#json-rpc-methods}
+
+### web3_clientVersion {#web3_clientversion}
+
+Επιστρέφει την τρέχουσα έκδοση του πελάτη.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`String` — Η τρέχουσα έκδοση του πελάτη
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc":"2.0",
+ "result": "Geth/v1.12.1-stable/linux-amd64/go1.19.1"
+}
+```
+
+### web3_sha3 {#web3_sha3}
+
+Επιστρέφει Keccak-256 (_όχι_ το τυποποιημένο SHA3-256) των δεδομένων που δόθηκαν.
+
+**Παράμετροι**
+
+1. `DATA` — Τα δεδομένα που θα μετατραπούν σε SHA3 hash
+
+```js
+params: ["0x68656c6c6f20776f726c64"]
+```
+
+**Returns**
+
+`DATA` — Το αποτέλεσμα SHA3 της συμβολοσειράς που δόθηκε.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c64"],"id":64}'
+// Result
+{
+ "id":64,
+ "jsonrpc": "2.0",
+ "result": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad"
+}
+```
+
+### net_version {#net_version}
+
+Επιστρέφει το τρέχον id δικτύου.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`String` — Το τρέχον id δικτύου.
+
+Η πλήρης λίστα τρεχόντων ID δικτύου είναι διαθέσιμη στο [chainlist.org](https://chainlist.org). Δείτε περισσότερα στο:
+
+- `1`: Κεντρικό δίκτυο Ethereum
+- `11155111`: Δίκτυο δοκιμών Sepolia
+- `560048` : Δίκτυο δοκιμών Hoodi
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc": "2.0",
+ "result": "3"
+}
+```
+
+### net_listening {#net_listening}
+
+Επιστρέφει `true` εάν ο πελάτης ακούει ενεργά για συνδέσεις δικτύου.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`Boolean` — `true` κατά την ακρόαση, διαφορετικά `false`.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc":"2.0",
+ "result":true
+}
+```
+
+### net_peerCount {#net_peercount}
+
+Επιστρέφει τον αριθμό των ομότιμων που είναι συνδεδεμένοι αυτή τη στιγμή στον πελάτη.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός των συνδεδεμένων ομότιμων.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":74}'
+// Result
+{
+ "id":74,
+ "jsonrpc": "2.0",
+ "result": "0x2" // 2
+}
+```
+
+### eth_protocolVersion {#eth_protocolversion}
+
+Επιστρέφει την τρέχουσα έκδοση πρωτοκόλλου Ethereum. Σημειώνεται ότι αυτή η μέθοδος [δεν είναι διαθέσιμη στο Geth](https://github.com/ethereum/go-ethereum/pull/22064#issuecomment-788682924).
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`String` — Η τρέχουσα έκδοση πρωτοκόλλου Ethereum
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc": "2.0",
+ "result": "54"
+}
+```
+
+### eth_syncing {#eth_syncing}
+
+Επιστρέφει ένα αντικείμενο με δεδομένα σχετικά με την κατάσταση συγχρονισμού ή `false`.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+Τα ακριβή δεδομένα επιστροφής ποικίλλουν μεταξύ των υλοποιήσεων πελατών. Όλοι οι πελάτες επιστρέφουν `False` όταν ο κόμβος δεν συγχρονίζεται και όλοι οι πελάτες επιστρέφουν τα ακόλουθα πεδία.
+
+`Object|Boolean`, Ένα αντικείμενο με δεδομένα κατάστασης συγχρονισμού ή `FALSE`, όταν δεν συγχρονίζεται:
+
+- `startingBlock`: `QUANTITY` — Το μπλοκ στο οποίο ξεκίνησε η εισαγωγή (θα επαναρυθμιστεί μόνο, αφού ο συγχρονισμός φτάσει στην κεφαλή του)
+- `currentBlock`: `QUANTITY` — Το τρέχον μπλοκ, ίδιο με το eth_blockNumber
+- `highestBlock`: `QUANTITY` — Το εκτιμώμενο υψηλότερο μπλοκ
+
+Ωστόσο, οι μεμονωμένοι πελάτες μπορούν επίσης να παρέχουν πρόσθετα δεδομένα. Για παράδειγμα, το Geth επιστρέφει τα εξής:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "currentBlock": "0x3cf522",
+ "healedBytecodeBytes": "0x0",
+ "healedBytecodes": "0x0",
+ "healedTrienodes": "0x0",
+ "healingBytecode": "0x0",
+ "healingTrienodes": "0x0",
+ "highestBlock": "0x3e0e41",
+ "startingBlock": "0x3cbed5",
+ "syncedAccountBytes": "0x0",
+ "syncedAccounts": "0x0",
+ "syncedBytecodeBytes": "0x0",
+ "syncedBytecodes": "0x0",
+ "syncedStorage": "0x0",
+ "syncedStorageBytes": "0x0"
+ }
+}
+```
+
+Ενώ το Besu επιστρέφει:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 51,
+ "result": {
+ "startingBlock": "0x0",
+ "currentBlock": "0x1518",
+ "highestBlock": "0x9567a3",
+ "pulledStates": "0x203ca",
+ "knownStates": "0x200636"
+ }
+}
+```
+
+Ανατρέξτε στην τεκμηρίωση του συγκεκριμένου πελάτη σας για περισσότερες λεπτομέρειες.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": {
+ startingBlock: '0x384',
+ currentBlock: '0x386',
+ highestBlock: '0x454'
+ }
+}
+// Or when not syncing
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": false
+}
+```
+
+### eth_coinbase {#eth_coinbase}
+
+Επιστρέφει τη διεύθυνση coinbase πελάτη.
+
+> **Σημείωση:** Αυτή η μέθοδος έχει καταργηθεί από την έκδοση **v1.14.0** και δεν υποστηρίζεται πλέον. Η απόπειρα χρήσης αυτής της μεθόδου θα έχει ως αποτέλεσμα το σφάλμα «Η μέθοδος δεν υποστηρίζεται».
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`DATA`, 20 byte — η τρέχουσα διεύθυνση coinbase.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":64}'
+// Result
+{
+ "id":64,
+ "jsonrpc": "2.0",
+ "result": "0x407d73d8a49eeb85d32cf465507dd71d507100c1"
+}
+```
+
+### eth_chainId {#eth_chainId}
+
+Επιστρέφει το ID αλυσίδας που χρησιμοποιείται για την υπογραφή συναλλαγών που προστατεύονται από επανάληψη.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`chainId`, δεκαεξαδική τιμή ως συμβολοσειρά που αντιπροσωπεύει τον ακέραιο αριθμό του τρέχοντος ID αλυσίδας.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":67}'
+// Result
+{
+ "id":67,
+ "jsonrpc": "2.0",
+ "result": "0x1"
+}
+```
+
+### eth_mining {#eth_mining}
+
+Επιστρέφει `true` εάν ο πελάτης εξορύσσει ενεργά νέα μπλοκ. Αυτό μπορεί να επιστρέψει `true` μόνο για δίκτυα απόδειξης εργασίας και ενδέχεται να μην είναι διαθέσιμο σε ορισμένους πελάτες από τη [Συγχώνευση](/roadmap/merge/).
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`Boolean` — επιστρέφει `true` ότι ο πελάτης κάνει εξόρυξη, διαφορετικά `false`.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71}'
+//
+{
+ "id":71,
+ "jsonrpc": "2.0",
+ "result": true
+}
+```
+
+### eth_hashrate {#eth_hashrate}
+
+Επιστρέφει τον αριθμό των κατακερματισμών ανά δευτερόλεπτο με τους οποίους εξορύσσει ο κόμβος. Αυτό μπορεί να επιστρέψει `true` μόνο για δίκτυα απόδειξης εργασίας και ενδέχεται να μην είναι διαθέσιμο σε ορισμένους πελάτες από τη [Συγχώνευση](/roadmap/merge/).
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`QUANTITY` — αριθμός κατακερματισμών ανά δευτερόλεπτο.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":71}'
+// Result
+{
+ "id":71,
+ "jsonrpc": "2.0",
+ "result": "0x38a"
+}
+```
+
+### eth_gasPrice {#eth_gasprice}
+
+Εμφανίζει μια εκτίμηση της τρέχουσας τιμής ανά τέλος καυσίμου σε wei. Για παράδειγμα, ο πελάτης Besu εξετάζει τα τελευταία 100 μπλοκ και επιστρέφει τη διάμεση τιμή μονάδας καυσίμου από προεπιλογή.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός της τρέχουσας τιμής τέλους καυσίμου σε wei.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'
+// Result
+{
+ "id":73,
+ "jsonrpc": "2.0",
+ "result": "0x1dfd14000" // 8049999872 Wei
+}
+```
+
+### eth_accounts {#eth_accounts}
+
+Επιστρέφει μια λίστα διευθύνσεων που ανήκουν στον πελάτη.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`Array of DATA`, 20 Byte — διευθύνσεις που ανήκουν στον πελάτη.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]
+}
+```
+
+### eth_blockNumber {#eth_blocknumber}
+
+Επιστρέφει τον αριθμό του πιο πρόσφατου μπλοκ.
+
+**Παράμετροι**
+
+Κανένα
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός του τρέχοντος αριθμού μπλοκ στον οποίο βρίσκεται ο πελάτης.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":83}'
+// Result
+{
+ "id":83,
+ "jsonrpc": "2.0",
+ "result": "0x4b7" // 1207
+}
+```
+
+### eth_getBalance {#eth_getbalance}
+
+Επιστρέφει το υπόλοιπο του λογαριασμού της δεδομένης διεύθυνσης.
+
+**Παράμετροι**
+
+1. `DATA`, 20 Byte — διεύθυνση για έλεγχο υπολοίπου.
+2. `QUANTITY|TAG` — ακέραιος αριθμός μπλοκ ή η συμβολοσειρά `"latest"`, `"earliest"`, `"pending"`, `"safe"` ή `"finalized"`, δείτε την [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block)
+
+```js
+params: ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]
+```
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός του τρέχοντος υπολοίπου σε wei.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x0234c8a3397aab58" // 158972490234375000
+}
+```
+
+### eth_getStorageAt {#eth_getstorageat}
+
+Επιστρέφει την τιμή από μια θέση αποθήκευσης σε μια δεδομένη διεύθυνση.
+
+**Παράμετροι**
+
+1. `DATA`, 20 Bytes — διεύθυνση της αποθήκευσης.
+2. `QUANTITY` — ακέραιος της θέσης στην αποθήκευση.
+3. `QUANTITY|TAG` — ακέραιος αριθμός μπλοκ ή η συμβολοσειρά `"latest"`, `"earliest"`, `"pending"`, `"safe"`, `"finalized"`, δείτε την [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block)
+
+**Returns**
+
+`DATA` — η τιμή σε αυτή τη θέση αποθήκευσης.
+
+**Παράδειγμα** Ο υπολογισμός της σωστής θέσης εξαρτάται από την αποθήκευση που πρέπει να ανακτηθεί. Εξετάστε το ακόλουθο έξυπνο συμβόλαιο που αναπτύχθηκε στη διεύθυνση `0x295a70b2de5e3953354a6a8344e616ed314d7251` από τη διεύθυνση `0x391694e7e0b0cce554cb130d723a9d27458f9298`.
+
+```
+contract Storage {
+ uint pos0;
+ mapping(address => uint) pos1;
+ function Storage() {
+ pos0 = 1234;
+ pos1[msg.sender] = 5678;
+ }
+}
+```
+
+Η ανάκτηση της τιμής του pos0 είναι απλή:
+
+```js
+curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545
+{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"}
+```
+
+Η ανάκτηση ενός στοιχείου του χάρτη είναι πιο δύσκολη. Η θέση ενός στοιχείου στον χάρτη υπολογίζεται με:
+
+```js
+keccak(LeftPad32(key, 0), LeftPad32(map position, 0))
+```
+
+Αυτό σημαίνει ότι για να ανακτήσουμε την αποθήκευση στο pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] πρέπει να υπολογίσουμε τη θέση με:
+
+```js
+keccak(
+ decodeHex(
+ "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" +
+ "0000000000000000000000000000000000000000000000000000000000000001"
+ )
+)
+```
+
+Η κονσόλα geth που συνοδεύει τη βιβλιοθήκη web3 μπορεί να χρησιμοποιηθεί για να κάνετε τον υπολογισμό:
+
+```js
+> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
+undefined
+> web3.sha3(key, {"encoding": "hex"})
+"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"
+```
+
+Τώρα για να ανακτήσουμε την αποθήκευση:
+
+```js
+curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545
+{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"}
+```
+
+### eth_getTransactionCount {#eth_gettransactioncount}
+
+Επιστρέφει τον αριθμό των συναλλαγών που _αποστέλλονται_ από μια διεύθυνση.
+
+**Παράμετροι**
+
+1. `DATA`, 20 Bytes — διεύθυνση.
+2. `QUANTITY|TAG` — ακέραιος αριθμός μπλοκ ή η συμβολοσειρά `"latest"`, `"earliest"`, `"pending"`, `"safe"` ή `"finalized"`, δείτε την [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block)
+
+```js
+params: [
+ "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
+ "latest", // state at the latest block
+]
+```
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός των συναλλαγών που αποστέλλονται από αυτή τη διεύθυνση.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1","latest"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_getBlockTransactionCountByHash {#eth_getblocktransactioncountbyhash}
+
+Επιστρέφει τον αριθμό των συναλλαγών σε ένα μπλοκ από ένα μπλοκ που ταιριάζει με το δεδομένο hash μπλοκ.
+
+**Παράμετροι**
+
+1. `ΔΕΔΟΜΕΝΑ`, 32 Bytes -— hash ενός μπλοκ
+
+```js
+params: ["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"]
+```
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός συναλλαγών σε αυτό το μπλοκ.
+
+**Παράδειγμα**
+
+```js
+// Αίτημα
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xd03ededb7415d22ae8bac30f96b2d1de83119632693b963642318d87d1bece5b"],"id":1}'
+// Αποτέλεσμα
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x8b" // 139
+}
+```
+
+### eth_getBlockTransactionCountByNumber {#eth_getblocktransactioncountbynumber}
+
+Επιστρέφει τον αριθμό των συναλλαγών σε ένα μπλοκ που αντιστοιχεί στον συγκεκριμένο αριθμό μπλοκ.
+
+**Παράμετροι**
+
+1. `QUANTITY|TAG` — ακέραιος αριθμός μπλοκ ή η συμβολοσειρά `"earliest"`, `"latest"`, `"pending"`, `"safe"` ή `"finalized"`, όπως στην [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block).
+
+```js
+params: [
+ "0x13738ca", // 20396234
+]
+```
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός συναλλαγών σε αυτό το μπλοκ.
+
+**Παράδειγμα**
+
+```js
+// Αίτημα
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0x13738ca"],"id":1}'
+// Αποτέλεσμα
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x8b" // 139
+}
+```
+
+### eth_getUncleCountByBlockHash {#eth_getunclecountbyblockhash}
+
+Επιστρέφει τον αριθμό των συγγενών σε ένα μπλοκ από ένα μπλοκ που ταιριάζει με τον δεδομένο κατακερματισμό μπλοκ.
+
+**Παράμετροι**
+
+1. `ΔΕΔΟΜΕΝΑ`, 32 Bytes -— hash ενός μπλοκ
+
+```js
+params: ["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"]
+```
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός των θείων σε αυτό το μπλοκ.
+
+**Παράδειγμα**
+
+```js
+// Αίτημα
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2"],"id":1}'
+// Αποτέλεσμα
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_getUncleCountByBlockNumber {#eth_getunclecountbyblocknumber}
+
+Επιστρέφει τον αριθμό των θείων σε ένα μπλοκ από ένα μπλοκ που ταιριάζει με τον δεδομένο αριθμό μπλοκ.
+
+**Παράμετροι**
+
+1. `QUANTITY|TAG` — ακέραιος αριθμός μπλοκ ή η συμβολοσειρά `"latest"`, `"earliest"`, `"pending"`, `"safe"` ή `"finalized"`, δείτε την [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block)
+
+```js
+params: [
+ "0xe8", // 232
+]
+```
+
+**Returns**
+
+`QUANTITY` — ακέραιος αριθμός των θείων σε αυτό το μπλοκ.
+
+**Παράδειγμα**
+
+```js
+// Αίτημα
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber","params":["0xe8"],"id":1}'
+// Αποτέλεσμα
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x0" // 0
+}
+```
+
+### eth_getCode {#eth_getcode}
+
+Επιστρέφει τον κωδικό σε μια δεδομένη διεύθυνση.
+
+**Παράμετροι**
+
+1. `DATA`, 20 Byte — διεύθυνση
+2. `QUANTITY|TAG` — ακέραιος αριθμός μπλοκ ή η συμβολοσειρά `"latest"`, `"earliest"`, `"pending"`, `"safe"` ή `"finalized"`, δείτε την [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block)
+
+```js
+params: [
+ "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
+ "0x5daf3b", // 6139707
+]
+```
+
+**Returns**
+
+`DATA` — ο κωδικός από τη δεδομένη διεύθυνση.
+
+**Παράδειγμα**
+
+```js
+// Αίτημα
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "0x5daf3b"],"id":1}'
+// Αποτέλεσμα
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029"
+}
+```
+
+### eth_sign {#eth_sign}
+
+Η μέθοδος υπογραφής υπολογίζει μια ειδική υπογραφή Ethereum με: `sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))`.
+
+Η προσθήκη ενός προθέματος στο μήνυμα καθιστά την υπολογισμένη υπογραφή αναγνωρίσιμη ως μια ειδική υπογραφή Ethereum. Αυτό αποτρέπει την κακή χρήση όπου μια κακόβουλη εφαρμογή μπορεί να υπογράψει αυθαίρετα δεδομένα (π.χ. συναλλαγή) και να χρησιμοποιήσει την υπογραφή για να υποδυθεί το θύμα.
+
+Σημείωση: η διεύθυνση με την οποία τοποθετείται η υπογραφή πρέπει να είναι ξεκλειδωμένη.
+
+**Παράμετροι**
+
+1. `DATA`, 20 Byte — διεύθυνση
+2. `DATA`, N Bytes — μήνυμα για υπογραφή
+
+**Returns**
+
+`DATA`: Υπογραφή
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":["0x9b2055d370f73ec7d8a03e965129118dc8f5bf83", "0xdeadbeaf"],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
+}
+```
+
+### eth_signTransaction {#eth_signtransaction}
+
+Υπογράφει μια συναλλαγή που μπορεί να υποβληθεί στο δίκτυο σε μεταγενέστερο χρόνο χρησιμοποιώντας το [eth_sendRawTransaction](#eth_sendrawtransaction).
+
+**Παράμετροι**
+
+1. `Object` — Το αντικείμενο συναλλαγής
+
+- `type`:
+- `from`: `DATA`, 20 Bytes — Η διεύθυνση από την οποία αποστέλλεται η συναλλαγή.
+- `to`: `DATA`, 20 Bytes — (προαιρετικό κατά τη δημιουργία νέου έξυπνου συμβολαίου) Η διεύθυνση στην οποία αποστέλλεται η συναλλαγή.
+- `gas`: `QUANTITY` — (προαιρετικό, προεπιλογή: 90000) Ακέραιος του τέλους καυσίμου που παρέχεται για την εκτέλεση της συναλλαγής. Θα επιστρέψει αχρησιμοποίητο gas.
+- `gasPrice`: `QUANTITY` — (προαιρετικό, προεπιλογή: To-Be-Determined) Ακέραιος της τιμής gasPrice που χρησιμοποιείται για κάθε πληρωμένο τέλος καυσίμου, σε Wei.
+- `value`: `QUANTITY` — (προαιρετικό) Ακέραιος της αξίας που αποστέλλεται με αυτή τη συναλλαγή, σε Wei.
+- `data`: `DATA` — Ο μεταγλωττισμένος κώδικας ενός έξυπνου συμβολαίου Ή ο hash της υπογραφής της επικαλούμενης μεθόδου και των κωδικοποιημένων παραμέτρων.
+- `nonce`: `QUANTITY` — (προαιρετικό) Ακέραιος ενός nonce. Αυτό επιτρέπει την αντικατάσταση των δικών σας εκκρεμών συναλλαγών που χρησιμοποιούν το ίδιο nonce.
+
+**Returns**
+
+`DATA`, Το αντικείμενο συναλλαγής κωδικοποιημένο βάσει RLP που υπογράφεται από τον καθορισμένο λογαριασμό.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"id": 1,"jsonrpc": "2.0","method": "eth_signTransaction","params": [{"data":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675","from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155","gas": "0x76c0","gasPrice": "0x9184e72a000","to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567","value": "0x9184e72a"}]}'
+// Result
+{
+ "id": 1,
+ "jsonrpc": "2.0",
+ "result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
+}
+```
+
+### eth_sendTransaction {#eth_sendtransaction}
+
+Δημιουργεί μια νέα συναλλαγή κλήσης μηνύματος ή μια δημιουργία έξυπνου συμβολαίου, εάν το πεδίο δεδομένων περιέχει κώδικα, και το υπογράφει χρησιμοποιώντας τον λογαριασμό που καθορίζεται στο `from`.
+
+**Παράμετροι**
+
+1. `Object` — Το αντικείμενο συναλλαγής
+
+- `from`: `DATA`, 20 Bytes — Η διεύθυνση από την οποία αποστέλλεται η συναλλαγή.
+- `to`: `DATA`, 20 Bytes — (προαιρετικό κατά τη δημιουργία νέου έξυπνου συμβολαίου) Η διεύθυνση στην οποία αποστέλλεται η συναλλαγή.
+- `gas`: `QUANTITY` — (προαιρετικό, προεπιλογή: 90000) Ακέραιος του τέλους καυσίμου που παρέχεται για την εκτέλεση της συναλλαγής. Θα επιστρέψει αχρησιμοποίητο gas.
+- `gasPrice`: `QUANTITY` — (προαιρετικό, προεπιλογή: To-Be-Determined) Ακέραιος της τιμής gasPrice που χρησιμοποιείται για κάθε πληρωμένο τέλος καυσίμου.
+- `value`: `QUANTITY` — (προαιρετικό) Ακέραιος της αξίας που αποστέλλεται με αυτή τη συναλλαγή.
+- `input`: `DATA` — Ο μεταγλωττισμένος κώδικας ενός έξυπνου συμβολαίου Ή ο hash της υπογραφής της επικαλούμενης μεθόδου και των κωδικοποιημένων παραμέτρων.
+- `nonce`: `QUANTITY` — (προαιρετικό) Ακέραιος ενός nonce. Αυτό επιτρέπει την αντικατάσταση των δικών σας εκκρεμών συναλλαγών που χρησιμοποιούν το ίδιο nonce.
+
+```js
+params: [
+ {
+ from: "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
+ to: "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
+ gas: "0x76c0", // 30400
+ gasPrice: "0x9184e72a000", // 10000000000000
+ value: "0x9184e72a", // 2441406250
+ input:
+ "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
+ },
+]
+```
+
+**Returns**
+
+`DATA`, 32 Byte — ο κατακερματισμός της συναλλαγής ή ο μηδενικός κατακερματισμός εάν η συναλλαγή δεν είναι ακόμη διαθέσιμη.
+
+Χρησιμοποιήστε το [eth_getTransactionReceipt](#eth_gettransactionreceipt) για να λάβετε τη διεύθυνση του έξυπνου συμβολαίου, μετά την πρόταση της συναλλαγής σε ένα μπλοκ, όταν δημιουργήσατε ένα έξυπνο συμβόλαιο.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{see above}],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
+}
+```
+
+### eth_sendRawTransaction {#eth_sendrawtransaction}
+
+Δημιουργεί νέα συναλλαγή κλήσης μηνύματος ή δημιουργία έξυπνου συμβολαίου για υπογεγραμμένες συναλλαγές.
+
+**Παράμετροι**
+
+1. `DATA`, Τα υπογεγραμμένα δεδομένα συναλλαγής.
+
+```js
+params: [
+ "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
+]
+```
+
+**Returns**
+
+`DATA`, 32 Byte — ο κατακερματισμός της συναλλαγής ή ο μηδενικός κατακερματισμός εάν η συναλλαγή δεν είναι ακόμη διαθέσιμη.
+
+Χρησιμοποιήστε το [eth_getTransactionReceipt](#eth_gettransactionreceipt) για να λάβετε τη διεύθυνση του έξυπνου συμβολαίου, μετά την πρόταση της συναλλαγής σε ένα μπλοκ, όταν δημιουργήσατε ένα έξυπνο συμβόλαιο.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":[{see above}],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
+}
+```
+
+### eth_call {#eth_call}
+
+Εκτελεί μια νέα κλήση μηνύματος αμέσως χωρίς να δημιουργεί μια συναλλαγή στην κρυπτοαλυσίδα. Χρησιμοποιείται συχνά για την εκτέλεση συναρτήσεων έξυπνου συμβολαίου μόνο για ανάγνωση, για παράδειγμα το `balanceOf` για ένα συμβόλαιο ERC-20.
+
+**Παράμετροι**
+
+1. `Object` — Το αντικείμενο κλήσης συναλλαγής
+
+- `from`: `DATA`, 20 Bytes — (προαιρετικό) Η διεύθυνση από την οποία αποστέλλεται η συναλλαγή.
+- `to`: `DATA`, 20 Bytes — Η διεύθυνση στην οποία απευθύνεται η συναλλαγή.
+- `gas`: `QUANTITY` — (προαιρετικό) Ακέραιος του τέλους καυσίμου που παρέχεται για την εκτέλεση της συναλλαγής. Το eth_call καταναλώνει μηδενικό καύσιμο, αλλά αυτή η παράμετρος μπορεί να είναι απαραίτητη για ορισμένες εκτελέσεις.
+- `gasPrice`: `QUANTITY` — (προαιρετικό) Ακέραιος της τιμής gasPrice που χρησιμοποιείται για κάθε πληρωμένο τέλος καυσίμου
+- `value`: `QUANTITY` — (προαιρετικό) Ακέραιος της αξίας που αποστέλλεται με αυτή τη συναλλαγή
+- `input`: `DATA` — (προαιρετικό) Hash της υπογραφής μεθόδου και κωδικοποιημένων παραμέτρων. Για λεπτομέρειες, δείτε [Ethereum Contract ABI στην τεκμηρίωση Solidity](https://docs.soliditylang.org/en/latest/abi-spec.html).
+
+2. `QUANTITY|TAG` — ακέραιος αριθμός μπλοκ ή η συμβολοσειρά `"latest"`, `"earliest"`, `"pending"`, `"safe"` ή `"finalized"`, δείτε την [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block)
+
+**Returns**
+
+`DATA` — η επιστρεφόμενη τιμή του εκτελεσθέντος συμβολαίου.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x"
+}
+```
+
+### eth_estimateGas {#eth_estimategas}
+
+Δημιουργεί και επιστρέφει μια εκτίμηση της ποσότητας καυσίμου που είναι απαραίτητη για να ολοκληρωθεί η συναλλαγή. Η συναλλαγή δεν θα προστεθεί στην κρυπτοαλυσίδα. Σημειώνεται ότι η εκτίμηση μπορεί να είναι σημαντικά μεγαλύτερη από την ποσότητα καυσίμου που χρησιμοποιείται πραγματικά από τη συναλλαγή, για διάφορους λόγους, συμπεριλαμβανομένης της μηχανικής EVM και της απόδοσης του κόμβου.
+
+**Παράμετροι**
+
+Δείτε τις παραμέτρους [eth_call](#eth_call), εκτός από το ότι όλες οι ιδιότητες είναι προαιρετικές. Εάν δεν καθοριστεί κανένα όριο καυσίμου, το geth χρησιμοποιεί το όριο καυσίμου μπλοκ από το εκκρεμές μπλοκ ως ανώτατο όριο. Ως αποτέλεσμα, η επιστρεφόμενη εκτίμηση μπορεί να μην είναι αρκετή για την εκτέλεση της κλήσης/συναλλαγής όταν η ποσότητα καυσίμου είναι υψηλότερη από το όριο καυσίμου του εκκρεμούς μπλοκ.
+
+**Returns**
+
+`QUANTITY` — η ποσότητα του καυσίμου που χρησιμοποιήθηκε.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{see above}],"id":1}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x5208" // 21000
+}
+```
+
+### eth_getBlockByHash {#eth_getblockbyhash}
+
+Επιστρέφει πληροφορίες σχετικά με ένα μπλοκ από το hash.
+
+**Παράμετροι**
+
+1. `DATA`, 32 Bytes — Hash ενός μπλοκ.
+2. `Boolean` — Εάν είναι `true`, επιστρέφει τα πλήρη αντικείμενα συναλλαγών, εάν είναι `false` μόνο τα hash των συναλλαγών.
+
+```js
+params: [
+ "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
+ false,
+]
+```
+
+**Returns**
+
+`Object` — Ένα αντικείμενο μπλοκ ή `null` όταν δεν βρέθηκε κανένα μπλοκ:
+
+- `number`: `QUANTITY` — ο αριθμός του μπλοκ. `null` όταν εκκρεμεί μπλοκ.
+- `hash`: `DATA`, 32 Bytes — hash του μπλοκ. `null` όταν εκκρεμεί μπλοκ.
+- `parentHash`: `DATA`, 32 Bytes — hash του γονικού μπλοκ.
+- `nonce`: `DATA`, 8 Bytes — hash της δημιουργημένης απόδειξης εργασίας. `null` όταν εκκρεμεί μπλοκ.
+- `sha3Uncles`: `DATA`, 32 Bytes — SHA3 των δεδομένων των θείων στο μπλοκ.
+- `logsBloom`: `DATA`, 256 Bytes — το φίλτρο bloom για τα log του μπλοκ. `null` όταν εκκρεμεί μπλοκ.
+- `transactionsRoot`: `DATA`, 32 Bytes — η ρίζα του trie συναλλαγών του μπλοκ.
+- `stateRoot`: `DATA`, 32 Bytes — η ρίζα του τελικού trie κατάστασης του μπλοκ.
+- `receiptsRoot`: `DATA`, 32 Bytes — η ρίζα του trie αποδείξεων του μπλοκ.
+- `miner`: `DATA`, 20 Bytes — η διεύθυνση του δικαιούχου στον οποίο δόθηκαν οι ανταμοιβές κρυπτόρυξης.
+- `difficulty`: `QUANTITY` — ακέραιος της δυσκολίας για αυτό το μπλοκ.
+- `totalDifficulty`: `QUANTITY` — ακέραιος της συνολικής δυσκολίας της αλυσίδας μέχρι αυτό το μπλοκ.
+- `extraData`: `DATA` — το πεδίο «extra data» αυτού του μπλοκ.
+- `size`: `QUANTITY` — ακέραιος το μέγεθος αυτού του μπλοκ σε bytes.
+- `gasLimit`: `QUANTITY` — η μέγιστη επιτρεπόμενη αμοιβή gas σε αυτό το μπλοκ.
+- `gasUsed`: `QUANTITY` — το συνολικό χρησιμοποιημένο καύσιμο από όλες τις συναλλαγές σε αυτό το μπλοκ.
+- `timestamp`: `QUANTITY` — η χρονική σήμανση unix για το πότε συνενώθηκε το μπλοκ.
+- `transactions`: `Array` — Πίνακας αντικειμένων συναλλαγών ή hash συναλλαγών 32 Bytes ανάλογα με την τελευταία δεδομένη παράμετρο.
+- `uncles`: `Array` — Πίνακας hash θείων.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae", false],"id":1}'
+// Result
+{
+{
+"jsonrpc": "2.0",
+"id": 1,
+"result": {
+ "difficulty": "0x4ea3f27bc",
+ "extraData": "0x476574682f4c5649562f76312e302e302f6c696e75782f676f312e342e32",
+ "gasLimit": "0x1388",
+ "gasUsed": "0x0",
+ "hash": "0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "miner": "0xbb7b8287f3f0a933474a79eae42cbca977791171",
+ "mixHash": "0x4fffe9ae21f1c9e15207b1f472d5bbdd68c9595d461666602f2be20daf5e7843",
+ "nonce": "0x689056015818adbe",
+ "number": "0x1b4",
+ "parentHash": "0xe99e022112df268087ea7eafaf4790497fd21dbeeb6bd7a1721df161a6657a54",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "size": "0x220",
+ "stateRoot": "0xddc8b0234c2e0cad087c8b389aa7ef01f7d79b2570bccb77ce48648aa61c904d",
+ "timestamp": "0x55ba467c",
+ "totalDifficulty": "0x78ed983323d",
+ "transactions": [
+ ],
+ "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncles": [
+ ]
+}
+}
+```
+
+### eth_getBlockByNumber {#eth_getblockbynumber}
+
+Επιστρέφει πληροφορίες σχετικά με ένα μπλοκ από τον αριθμό μπλοκ.
+
+**Παράμετροι**
+
+1. `QUANTITY|TAG` — ακέραιος αριθμός μπλοκ ή η συμβολοσειρά `"earliest"`, `"latest"`, `"pending"`, `"safe"` ή `"finalized"`, όπως στην [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block).
+2. `Boolean` — Εάν είναι `true`, επιστρέφει τα πλήρη αντικείμενα συναλλαγών, εάν είναι `false` μόνο τα hash των συναλλαγών.
+
+```js
+params: [
+ "0x1b4", // 436
+ true,
+]
+```
+
+**Επιστρέφει** Δείτε [eth_getBlockByHash](#eth_getblockbyhash)
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x1b4", true],"id":1}'
+```
+
+Αποτέλεσμα δείτε [eth_getBlockByHash](#eth_getblockbyhash)
+
+### eth_getTransactionByHash {#eth_gettransactionbyhash}
+
+Επιστρέφει τις πληροφορίες σχετικά με μια συναλλαγή που ζητήθηκε από το hash συναλλαγής.
+
+**Παράμετροι**
+
+1. `DATA`, 32 Bytes — hash μιας συναλλαγής
+
+```js
+params: ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"]
+```
+
+**Returns**
+
+`Object` — Ένα αντικείμενο συναλλαγής ή `null` όταν δεν βρέθηκε καμία συναλλαγή:
+
+- `blockHash`: `DATA`, 32 Bytes — hash του μπλοκ όπου ήταν αυτή η συναλλαγή. `null` όταν εκκρεμεί.
+- `blockNumber`: `QUANTITY` — αριθμός μπλοκ όπου βρισκόταν αυτή η συναλλαγή. `null` όταν εκκρεμεί.
+- `from`: `DATA`, 20 Bytes — διεύθυνση του αποστολέα.
+- `gas`: `QUANTITY` — αμοιβή που παρέχεται από τον αποστολέα.
+- `gasPrice`: `QUANTITY` — τιμή καυσίμου που παρέχεται από τον αποστολέα σε Wei.
+- `hash`: `DATA`, 32 Bytes — hash της συναλλαγής.
+- `input`: `DATA` — τα δεδομένα που αποστέλλονται μαζί με τη συναλλαγή.
+- `nonce`: `QUANTITY` — ο αριθμός των συναλλαγών που έγιναν από τον αποστολέα πριν από αυτήν.
+- `to`: `DATA`, 20 Bytes — διεύθυνση του παραλήπτη. `null` όταν πρόκειται για συναλλαγή δημιουργίας έξυπνου συμβολαίου.
+- `transactionIndex`: `QUANTITY` — ακέραιος της θέσης ευρετηρίου συναλλαγών στο μπλοκ. `null` όταν εκκρεμεί.
+- `value`: `QUANTITY` — μεταφερόμενη αξία σε Wei.
+- `v`: `QUANTITY` — id ανάκτησης ECDSA
+- `r`: `QUANTITY` — υπογραφή r ECDSA
+- `s`: `QUANTITY` — υπογραφή s ECDSA
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"],"id":1}'
+// Result
+{
+ "jsonrpc":"2.0",
+ "id":1,
+ "result":{
+ "blockHash":"0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
+ "blockNumber":"0x5daf3b", // 6139707
+ "from":"0xa7d9ddbe1f17865597fbd27ec712455208b6b76d",
+ "gas":"0xc350", // 50000
+ "gasPrice":"0x4a817c800", // 20000000000
+ "hash":"0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
+ "input":"0x68656c6c6f21",
+ "nonce":"0x15", // 21
+ "to":"0xf02c1c8e6114b1dbe8937a39260b5b0a374432bb",
+ "transactionIndex":"0x41", // 65
+ "value":"0xf3dbb76162000", // 4290000000000000
+ "v":"0x25", // 37
+ "r":"0x1b5e176d927f8e9ab405058b2d2457392da3e20f328b16ddabcebc33eaac5fea",
+ "s":"0x4ba69724e8f69de52f0125ad8b3c5c2cef33019bac3249e2c0a2192766d1721c"
+ }
+}
+```
+
+### eth_getTransactionByBlockHashAndIndex {#eth_gettransactionbyblockhashandindex}
+
+Επιστρέφει πληροφορίες σχετικά με μια συναλλαγή ανά κατακερματισμό μπλοκ και θέση δείκτη συναλλαγών.
+
+**Παράμετροι**
+
+1. `DATA`, 32 Byte — κατακερματισμός ενός μπλοκ.
+2. `QUANTITY` — ακέραιος αριθμός της θέσης ευρετηρίου συναλλαγών.
+
+```js
+params: [
+ "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
+ "0x0", // 0
+]
+```
+
+**Αποτελέσματα** Δείτε [eth_getTransactionByHash](#eth_gettransactionbyhash)
+
+**Παράδειγμα**
+
+```js
+// Αίτημα
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}'
+```
+
+Ανατρέξτε στο αποτέλεσμα [eth_getTransactionByHash](#eth_gettransactionbyhash)
+
+### eth_getTransactionByBlockNumberAndIndex {#eth_gettransactionbyblocknumberandindex}
+
+Επιστρέφει πληροφορίες σχετικά με μια συναλλαγή κατά αριθμό μπλοκ και θέση δείκτη συναλλαγής.
+
+**Παράμετροι**
+
+1. `QUANTITY|TAG` — αριθμός μπλοκ ή η συμβολοσειρά `"earliest"`, `"latest"`, `"pending"`, `"safe"` ή `"finalized"`, όπως στην [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block).
+2. `QUANTITY` — η θέση δείκτη συναλλαγών.
+
+```js
+params: [
+ "0x9c47cf", // 10241999
+ "0x24", // 36
+]
+```
+
+**Αποτελέσματα** Δείτε [eth_getTransactionByHash](#eth_gettransactionbyhash)
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["0x9c47cf", "0x24"],"id":1}'
+```
+
+Ανατρέξτε στο αποτέλεσμα [eth_getTransactionByHash](#eth_gettransactionbyhash)
+
+### eth_getTransactionReceipt {#eth_gettransactionreceipt}
+
+Επιστρέφει την απόδειξη μιας συναλλαγής με κατακερματισμό συναλλαγής.
+
+**Σημειώνεται** ότι η απόδειξη δεν είναι διαθέσιμη για εκκρεμείς συναλλαγές.
+
+**Παράμετροι**
+
+1. `DATA`, 32 Bytes — hash μιας συναλλαγής
+
+```js
+params: ["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"]
+```
+
+**Επιστρέφει** `Object` — Ένα αντικείμενο απόδειξης συναλλαγής ή `null` όταν δεν βρέθηκε απόδειξη:
+
+- `transactionHash`: `DATA`, 32 Bytes — hash της συναλλαγής.
+- `transactionIndex`: `QUANTITY` — ακέραιος της θέσης ευρετηρίου συναλλαγών στο μπλοκ.
+- `blockHash`: `DATA`, 32 Bytes — hash του μπλοκ όπου ήταν αυτή η συναλλαγή.
+- `blockNumber`: `QUANTITY` — αριθμός μπλοκ όπου βρισκόταν αυτή η συναλλαγή.
+- `from`: `DATA`, 20 Bytes — διεύθυνση του αποστολέα.
+- `to`: `DATA`, 20 Bytes — διεύθυνση του παραλήπτη. null όταν πρόκειται για συναλλαγή δημιουργίας έξυπνου συμβολαίου.
+- `cumulativeGasUsed` : `QUANTITY` — Η συνολική ποσότητα καυσίμου που χρησιμοποιήθηκε όταν εκτελέστηκε αυτή η συναλλαγή στο μπλοκ.
+- `effectiveGasPrice` : `QUANTITY` - Το άθροισμα της βασικής αμοιβής και φιλοδωρήματος που καταβλήθηκε ανά μονάδα καυσίμου.
+- `gasUsed`: `QUANTITY` — Η ποσότητα καυσίμου που χρησιμοποιήθηκε από αυτή τη συγκεκριμένη συναλλαγή μόνο.
+- `contractAddress`: `DATA`, 20 Bytes — Η διεύθυνση του έξυπνου συμβολαίου που δημιουργήθηκε, εάν η συναλλαγή ήταν δημιουργία έξυπνου συμβολαίου, διαφορετικά `null`.
+- `logs`: `Array` — Πίνακας αντικειμένων καταγραφής, τα οποία δημιούργησε αυτή η συναλλαγή.
+- `logsBloom`: `DATA`, 256 Bytes — Φίλτρο bloom για ελαφρούς πελάτες για γρήγορη ανάκτηση σχετικών καταγραφών.
+- `type`: `QUANTITY` — ακέραιος του τύπου συναλλαγής, `0x0` για παλιές συναλλαγές, `0x1` για τύπους λίστας πρόσβασης, `0x2` για δυναμικές αμοιβές.
+
+Επιστρέφει επίσης _είτε_:
+
+- `root` : `DATA` 32 bytes της ρίζας κατάστασης μετά τη συναλλαγή (προ Byzantium)
+- `status`: `QUANTITY` είτε `1` (επιτυχία) ή `0` (αποτυχία)
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"],"id":1}'
+// Result
+{
+ "jsonrpc": "2.0",
+ "id": 1,
+ "result": {
+ "blockHash":
+ "0xa957d47df264a31badc3ae823e10ac1d444b098d9b73d204c40426e57f47e8c3",
+ "blockNumber": "0xeff35f",
+ "contractAddress": null, // string of the address if it was created
+ "cumulativeGasUsed": "0xa12515",
+ "effectiveGasPrice": "0x5a9c688d4",
+ "from": "0x6221a9c005f6e47eb398fd867784cacfdcfff4e7",
+ "gasUsed": "0xb4c8",
+ "logs": [{
+ // logs as returned by getFilterLogs, etc.
+ }],
+ "logsBloom": "0x00...0", // 256 byte bloom filter
+ "status": "0x1",
+ "to": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
+ "transactionHash":
+ "0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5",
+ "transactionIndex": "0x66",
+ "type": "0x2"
+ }
+}
+```
+
+### eth_getUncleByBlockHashAndIndex {#eth_getunclebyblockhashandindex}
+
+Επιστρέφει πληροφορίες σχετικά με έναν θείο ενός μπλοκ με hash και θέση δείκτη θείου.
+
+**Παράμετροι**
+
+1. `DATA`, 32 Bytes — Το hash του μπλοκ.
+2. `QUANTITY` — Η θέση δείκτη του θείου.
+
+```js
+params: [
+ "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
+ "0x0", // 0
+]
+```
+
+**Επιστρέφει** Δείτε [eth_getBlockByHash](#eth_getblockbyhash)
+
+**Παράδειγμα**
+
+```js
+// Αίτημα
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2", "0x0"],"id":1}'
+```
+
+Αποτέλεσμα δείτε [eth_getBlockByHash](#eth_getblockbyhash)
+
+**Σημείωση**: Ο θείος δεν περιέχει μεμονωμένες συναλλαγές.
+
+### eth_getUncleByBlockNumberAndIndex {#eth_getunclebyblocknumberandindex}
+
+Επιστρέφει πληροφορίες σχετικά με έναν θείο ενός μπλοκ με βάση τον αριθμό του μπλοκ και τη θέση δείκτη του θείου.
+
+**Παράμετροι**
+
+1. `QUANTITY|TAG` — αριθμός μπλοκ, ή συμβολοσειρά `"earliest"`, `"latest"`, `"pending"`, `"safe"`, `"finalized"`, όπως είναι στην [προεπιλεγμένη παράμετρο μπλοκ](/developers/docs/apis/json-rpc/#default-block).
+2. `QUANTITY` — η θέση του δείκτη του θείου.
+
+```js
+params: [
+ "0x29c", // 668
+ "0x0", // 0
+]
+```
+
+**Επιστρέφει** Δείτε [eth_getBlockByHash](#eth_getblockbyhash)
+
+**Σημείωση**: Ο θείος δεν περιέχει μεμονωμένες συναλλαγές.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndIndex","params":["0x29c", "0x0"],"id":1}'
+```
+
+Αποτέλεσμα δείτε [eth_getBlockByHash](#eth_getblockbyhash)
+
+### eth_newFilter {#eth_newfilter}
+
+Δημιουργεί ένα αντικείμενο φίλτρου, με βάση τις επιλογές φίλτρου, για να ειδοποιεί όταν αλλάζει η κατάσταση (logs). Για να ελέγξετε εάν έχει αλλάξει η κατάσταση, καλέστε το [eth_getFilterChanges](#eth_getfilterchanges).
+
+**Μια σημείωση σχετικά με τα φίλτρα θέματος:** Τα θέματα εξαρτώνται από τη σειρά. Μια συναλλαγή με έναν λογάριθμο με θέματα [A, B] θα ταιριάζει με τα ακόλουθα φίλτρα θέματος:
+
+- `[]` "οτιδήποτε"
+- `[A]` "A στην πρώτη θέση (και οτιδήποτε μετά)"
+- `[null, B]` "οτιδήποτε στην πρώτη θέση ΚΑΙ B στη δεύτερη θέση (και οτιδήποτε μετά)"
+- `[A, B]` "A στην πρώτη θέση ΚΑΙ B στη δεύτερη θέση (και οτιδήποτε μετά)"
+- `[[A, B], [A, B]]` "(A Ή B) στην πρώτη θέση ΚΑΙ (A Ή B) στη δεύτερη θέση (και οτιδήποτε μετά)"
+- **Παράμετροι**
+
+1. `Object` - Οι επιλογές φίλτρου:
+
+- `fromBlock`: `QUANTITY|TAG` - (προαιρετικό, προεπιλογή: `"latest"`) Ακέραιος αριθμός μπλοκ ή `"latest"` για το τελευταίο προτεινόμενο μπλοκ, `"safe"` για το τελευταίο ασφαλές μπλοκ, `"finalized"` για το τελευταίο οριστικοποιημένο μπλοκ ή `"pending"`, `"earliest"` για συναλλαγές που δεν είναι ακόμα σε μπλοκ.
+- `toBlock`: `QUANTITY|TAG` - (προαιρετικό, προεπιλογή: `"latest"`) Ακέραιος αριθμός μπλοκ ή `"latest"` για το τελευταίο προτεινόμενο μπλοκ, `"safe"` για το τελευταίο ασφαλές μπλοκ, `"finalized"` για το τελευταίο οριστικοποιημένο μπλοκ ή `"pending"`, `"earliest"` για συναλλαγές που δεν είναι ακόμα σε μπλοκ.
+- `address`: `DATA|Array`, 20 Bytes — (προαιρετικό) Διεύθυνση έξυπνου συμβολαίου ή λίστα διευθύνσεων από τις οποίες πρέπει να προέρχονται τα log.
+- `topics`: `Array of DATA`, — (προαιρετικό) Πίνακας θεμάτων `DATA` των 32 Bytes. Τα θέματα εξαρτώνται από τη σειρά. Κάθε θέμα μπορεί επίσης να είναι ένας πίνακας DATA με επιλογές "ή".
+
+```js
+params: [
+ {
+ fromBlock: "0x1",
+ toBlock: "0x2",
+ address: "0x8888f1f195afa192cfee860698584c030f4c9db1",
+ topics: [
+ "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ null,
+ [
+ "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc",
+ ],
+ ],
+ },
+]
+```
+
+**Επιστρέφει** `QUANTITY` — id φίλτρου.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics":["0x12341234"]}],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_newBlockFilter {#eth_newblockfilter}
+
+Δημιουργεί ένα φίλτρο στον κόμβο, για να ειδοποιεί όταν φτάνει ένα νέο μπλοκ. Για να ελέγξετε εάν έχει αλλάξει η κατάσταση, καλέστε το [eth_getFilterChanges](#eth_getfilterchanges).
+
+**Παράμετροι** None
+
+**Επιστρέφει** `QUANTITY` — id φίλτρου.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_newPendingTransactionFilter {#eth_newpendingtransactionfilter}
+
+Δημιουργεί ένα φίλτρο στον κόμβο, για να ειδοποιεί όταν φτάνουν νέες εκκρεμείς συναλλαγές. Για να ελέγξετε εάν έχει αλλάξει η κατάσταση, καλέστε το [eth_getFilterChanges](#eth_getfilterchanges).
+
+**Παράμετροι** None
+
+**Επιστρέφει** `QUANTITY` — id φίλτρου.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": "0x1" // 1
+}
+```
+
+### eth_uninstallFilter {#eth_uninstallfilter}
+
+Αφαιρεί ένα φίλτρο με συγκεκριμένο αναγνωριστικό. Πρέπει πάντα να καλείται όταν δεν χρειάζεται πλέον η παρακολούθηση. Επιπλέον, τα φίλτρα λήγουν όταν δεν ζητηθούν με [eth_getFilterChanges](#eth_getfilterchanges) για κάποιο χρονικό διάστημα.
+
+**Παράμετροι**
+
+1. `QUANTITY` — Το id φίλτρου.
+
+```js
+params: [
+ "0xb", // 11
+]
+```
+
+**Επιστρέφει** `Boolean` — `true` εάν το φίλτρο αφαιρέθηκε με επιτυχία, διαφορετικά `false`.
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0xb"],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc": "2.0",
+ "result": true
+}
+```
+
+### eth_getFilterChanges {#eth_getfilterchanges}
+
+Μέθοδος δημοσκόπησης για ένα φίλτρο, το οποίο επιστρέφει έναν πίνακα καταγραφών που προέκυψαν από την τελευταία δημοσκόπηση.
+
+**Παράμετροι**
+
+1. `QUANTITY` - αναγνωριστικό φίλτρου.
+
+```js
+params: [
+ "0x16", // 22
+]
+```
+
+**Επιστρέφει** `Array` — Πίνακας αντικειμένων καταγραφής ή ένας κενός πίνακας εάν δεν έχει αλλάξει τίποτα από την τελευταία δημοσκόπηση.
+
+- Για φίλτρα που δημιουργήθηκαν με `eth_newBlockFilter`, επιστρέφουν τον κατακερματισμό του μπλοκ (`DATA`, 32 Bytes), π.χ. `["0x3454645634534..."]`.
+- Για φίλτρα που δημιουργήθηκαν με `eth_newPendingTransactionFilter`, επιστρέφουν τον κατακερματισμό συναλλαγής (`DATA`, 32 Bytes), π.χ. `["0x6345343454645..."]`.
+- Για φίλτρα που δημιουργήθηκαν με `eth_newFilter` αρχεία καταγραφών είναι αντικείμενα με τις παρακάτω παραμέτρους:
+ - `removed`: `TAG` — `true` όταν αφαιρέθηκε το αρχείο καταγραφής, λόγω αναδιοργάνωσης της αλυσίδας. `false` εάν είναι έγκυρο αρχείο καταγραφής.
+ - `logIndex`: `QUANTITY` — ακέραιος της θέσης του δείκτη καταγραφής στο μπλοκ. `null` όταν το αρχείο καταγραφής εκκρεμεί.
+ - `transactionIndex`: `QUANTITY` — ακέραιος αριθμός της καταγραφής θέσης δείκτη συναλλαγών απ' όπου δημιουργήθηκε. `null` όταν το αρχείο καταγραφής εκκρεμεί.
+ - `transactionHash`: `DATA`, 32 Bytes — κατακερματισμός των συναλλαγών από τις οποίες δημιουργήθηκε αυτό το αρχείο καταγραφής. `null` όταν το αρχείο καταγραφής εκκρεμεί.
+ - `blockHash`: `DATA`, 32 Bytes — κατακερματισμός του μπλοκ στο οποίο βρισκόταν αυτό το αρχείο καταγραφής. `null` όταν εκκρεμεί. `null` όταν το αρχείο καταγραφής εκκρεμεί.
+ - `blockNumber`: `QUANTITY` — αριθμός μπλοκ στο οποίο βρισκόταν αυτό το αρχείο καταγραφής. `null` όταν εκκρεμεί. `null` όταν το αρχείο καταγραφής εκκρεμεί.
+ - `address`: `DATA`, 20 Bytes— διεύθυνση από την οποία προήλθε αυτό το αρχείο καταγραφής.
+ - `data`: `DATA` - περιέχει μηδέν ή περισσότερα 32 Byte μη ευρετηριασμένα ορίσματα του αρχείου καταγραφής.
+ - `topics`: `Array of DATA` — Πίνακας από 0 έως 4 32 Bytes `DATA` από ορίσματα καταγραφής με ευρετήριο. (Στη _solidity_: Το πρώτο θέμα είναι το _hash_ της υπογραφής του συμβάντος (π.χ. `Deposit(address,bytes32,uint256)`), εκτός εάν δηλώσατε το συμβάν με τον προδιαγραφέα `anonymous`.)
+- **Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x16"],"id":73}'
+// Result
+{
+ "id":1,
+ "jsonrpc":"2.0",
+ "result": [{
+ "logIndex": "0x1", // 1
+ "blockNumber":"0x1b4", // 436
+ "blockHash": "0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d",
+ "transactionHash": "0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf",
+ "transactionIndex": "0x0", // 0
+ "address": "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d",
+ "data":"0x0000000000000000000000000000000000000000000000000000000000000000",
+ "topics": ["0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5"]
+ },{
+ ...
+ }]
+}
+```
+
+### eth_getFilterLogs {#eth_getfilterlogs}
+
+Επιστρέφει μια σειρά από όλα τα αρχεία καταγραφής που ταιριάζουν με το φίλτρο με το δεδομένο id.
+
+**Παράμετροι**
+
+1. `QUANTITY` — Το id φίλτρου.
+
+```js
+params: [
+ "0x16", // 22
+]
+```
+
+**Επιστρέφει** Δείτε [eth_getFilterChanges](#eth_getfilterchanges)
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x16"],"id":74}'
+```
+
+Δείτε αποτέλεσμα [eth_getFilterChanges](#eth_getfilterchanges)
+
+### eth_getLogs {#eth_getlogs}
+
+Επιστρέφει έναν πίνακα όλων των αρχείων καταγραφής που ταιριάζουν με συγκεκριμένο αντικείμενο φίλτρου.
+
+**Παράμετροι**
+
+1. `Object` - Οι επιλογές φίλτρου:
+
+- `fromBlock`: `QUANTITY|TAG` - (προαιρετικό, προεπιλογή: `"latest"`) Ακέραιος αριθμός μπλοκ ή `"latest"` για το τελευταίο προτεινόμενο μπλοκ, `"safe"` για το τελευταίο ασφαλές μπλοκ, `"finalized"` για το τελευταίο οριστικοποιημένο μπλοκ ή `"pending"`, `"earliest"` για συναλλαγές που δεν είναι ακόμα σε μπλοκ.
+- `toBlock`: `QUANTITY|TAG` - (προαιρετικό, προεπιλογή: `"latest"`) Ακέραιος αριθμός μπλοκ ή `"latest"` για το τελευταίο προτεινόμενο μπλοκ, `"safe"` για το τελευταίο ασφαλές μπλοκ, `"finalized"` για το τελευταίο οριστικοποιημένο μπλοκ ή `"pending"`, `"earliest"` για συναλλαγές που δεν είναι ακόμα σε μπλοκ.
+- `address`: `DATA|Array`, 20 Bytes — (προαιρετικό) Διεύθυνση έξυπνου συμβολαίου ή λίστα διευθύνσεων από τις οποίες πρέπει να προέρχονται τα log.
+- `topics`: `Array of DATA`, — (προαιρετικό) Πίνακας θεμάτων `DATA` των 32 Bytes. Τα θέματα εξαρτώνται από τη σειρά. Κάθε θέμα μπορεί επίσης να είναι ένας πίνακας DATA με επιλογές "ή".
+- `blockhash`: `DATA`, 32 Byte — (προαιρετικό, **μελλοντικό**) Με την προσθήκη του EIP-234, το `blockHash` θα είναι μια νέα επιλογή φίλτρου που περιορίζει τα αρχεία καταγραφής που επιστρέφονται στο μεμονωμένο μπλοκ με τον κατακερματισμό 32 byte `blockHash`. Η χρήση του `blockHash` ισοδυναμεί με `fromBlock` = `toBlock` = τον αριθμό μπλοκ με κατακερματισμό `blockHash`. Εάν υπάρχει `blockHash` στα κριτήρια φίλτρου, τότε δεν επιτρέπονται ούτε `fromBlock` ούτε `toBlock`.
+
+```js
+params: [
+ {
+ topics: [
+ "0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ ],
+ },
+]
+```
+
+**Επιστρέφει** Δείτε [eth_getFilterChanges](#eth_getfilterchanges)
+
+**Παράδειγμα**
+
+```js
+// Request
+curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"topics":["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b"]}],"id":74}'
+```
+
+Δείτε αποτέλεσμα [eth_getFilterChanges](#eth_getfilterchanges)
+
+## Παράδειγμα χρήσης {#usage-example}
+
+### Ανάπτυξη ενός συμβολαίου με χρήση JSON_RPC {#deploying-contract}
+
+Αυτή η ενότητα περιλαμβάνει μια επίδειξη του τρόπου ανάπτυξης ενός συμβολαίου χρησιμοποιώντας μόνο τη διεπαφή RPC. Υπάρχουν εναλλακτικές διαδρομές για την ανάπτυξη έξυπνων συμβολαίων όπου αυτή η πολυπλοκότητα αποκρύπτεται, χρησιμοποιώντας, για παράδειγμα, βιβλιοθήκες που είναι χτισμένες πάνω από τη διεπαφή RPC όπως [web3.js](https://web3js.readthedocs.io/) και [web3.py](https://github.com/ethereum/web3.py). Αυτές οι αφηρημένες έννοιες είναι γενικά πιο εύκολα κατανοητές και λιγότερο επιρρεπείς σε σφάλματα, αλλά εξακολουθεί να είναι χρήσιμο να καταλάβουμε τι συμβαίνει στο παρασκήνιο.
+
+Το παρακάτω είναι ένα απλό έξυπνο συμβόλαιο που ονομάζεται `Multiply7` το οποίο θα αναπτυχθεί χρησιμοποιώντας τη διεπαφή JSON-RPC σε έναν κόμβο Ethereum. Αυτός ο οδηγός προϋποθέτει ότι ο αναγνώστης εκτελεί ήδη έναν κόμβο Geth. Περισσότερες πληροφορίες σχετικά με τους κόμβους και τους πελάτες είναι διαθέσιμες [εδώ](/developers/docs/nodes-and-clients/run-a-node). Ανατρέξτε στην τεκμηρίωση του κάθε [πελάτη](/developers/docs/nodes-and-clients/) για να δείτε πώς να ξεκινήσετε το HTTP JSON-RPC για πελάτες εκτός Geth. Οι περισσότεροι πελάτες εξυπηρετούν από προεπιλογή στο `localhost:8545`.
+
+```javascript
+contract Multiply7 {
+ event Print(uint);
+ function multiply(uint input) returns (uint) {
+ Print(input * 7);
+ return input * 7;
+ }
+}
+```
+
+Το πρώτο πράγμα που πρέπει να κάνετε είναι να βεβαιωθείτε ότι η διεπαφή HTTP RPC είναι ενεργοποιημένη. Αυτό σημαίνει ότι παρέχουμε στην Geth τη σημαία `--http` κατά την εκκίνηση. Σε αυτό το παράδειγμα, χρησιμοποιούμε τον κόμβο Geth σε μια ιδιωτική αλυσίδα ανάπτυξης. Χρησιμοποιώντας αυτή την προσέγγιση δεν χρειαζόμαστε ether στο πραγματικό δίκτυο.
+
+```bash
+geth --http --dev console 2>>geth.log
+```
+
+Αυτό θα ξεκινήσει τη διεπαφή HTTP RPC στο `http://localhost:8545`.
+
+Μπορούμε να επαληθεύσουμε ότι η διεπαφή εκτελείται ανακτώντας τη διεύθυνση coinbase (λαμβάνοντας την πρώτη διεύθυνση από τον πίνακα λογαριασμών) και το υπόλοιπο χρησιμοποιώντας το [curl](https://curl.se). Λάβετε υπόψη ότι τα δεδομένα σε αυτά τα παραδείγματα θα διαφέρουν στον τοπικό σας κόμβο. Εάν θέλετε να δοκιμάσετε αυτές τις εντολές, αντικαταστήστε τις παραμέτρους αίτησης στη δεύτερη εντολή curl με το αποτέλεσμα που επιστράφηκε από την πρώτη.
+
+```bash
+curl --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[]", "id":1}' -H "Content-Type: application/json" localhost:8545
+{"id":1,"jsonrpc":"2.0","result":["0x9b1d35635cc34752ca54713bb99d38614f63c955"]}
+
+curl --data '{"jsonrpc":"2.0","method":"eth_getBalance", "params": ["0x9b1d35635cc34752ca54713bb99d38614f63c955", "latest"], "id":2}' -H "Content-Type: application/json" localhost:8545
+{"id":2,"jsonrpc":"2.0","result":"0x1639e49bba16280000"}
+```
+
+Επειδή οι αριθμοί είναι κωδικοποιημένοι σε hex, το υπόλοιπο επιστρέφεται σε wei ως συμβολοσειρά hex. Εάν θέλουμε να έχουμε το υπόλοιπο σε ether ως αριθμό μπορούμε να χρησιμοποιήσουμε το web3 από την κονσόλα Geth.
+
+```javascript
+web3.fromWei("0x1639e49bba16280000", "ether")
+// "410"
+```
+
+Τώρα που έχουμε ether στην ιδιωτική μας αλυσίδα ανάπτυξης, μπορούμε να αναπτύξουμε το έξυπνο συμβόλαιο. Το πρώτο βήμα είναι να μεταγλωττίσουμε το έξυπνο συμβόλαιο Multiply7 σε κώδικα byte που μπορεί να σταλεί στο EVM. Για να εγκαταστήσετε το solc, τον μεταγλωττιστή Solidity, ακολουθήστε την [τεκμηρίωση Solidity](https://docs.soliditylang.org/en/latest/installing-solidity.html). (Ίσως θέλετε να χρησιμοποιήσετε μια παλαιότερη έκδοση `solc` για να ταιριάζει με την [έκδοση του μεταγλωττιστή που χρησιμοποιείται για το παράδειγμά μας](https://github.com/ethereum/solidity/releases/tag/v0.4.20).)
+
+Το επόμενο βήμα είναι να μεταγλωττίσουμε το έξυπνο συμβόλαιο Multiply7 σε κώδικα byte που μπορεί να σταλεί στο EVM.
+
+```bash
+echo 'pragma solidity ^0.4.16; contract Multiply7 { event Print(uint); function multiply(uint input) public returns (uint) { Print(input * 7); return input * 7; } }' | solc --bin
+
+======= :Multiply7 =======
+Binary:
+6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029
+```
+
+Τώρα που έχουμε τον μεταγλωττισμένο κώδικα πρέπει να προσδιορίσουμε πόσο καύσιμο κοστίζει η ανάπτυξή του. Η διεπαφή RPC έχει μια μέθοδο `eth_estimateGas` που θα μας δώσει μια εκτίμηση.
+
+```bash
+curl --data '{"jsonrpc":"2.0","method": "eth_estimateGas", "params": [{"from": "0x9b1d35635cc34752ca54713bb99d38614f63c955", "data": "0x6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029"}], "id": 5}' -H "Content-Type: application/json" localhost:8545
+{"jsonrpc":"2.0","id":5,"result":"0x1c31e"}
+```
+
+Και, τέλος, αναπτύξτε το συμβόλαιο.
+
+```bash
+curl --data '{"jsonrpc":"2.0","method": "eth_sendTransaction", "params": [{"from": "0x9b1d35635cc34752ca54713bb99d38614f63c955", "gas": "0x1c31e", "data": "0x6060604052341561000f57600080fd5b60eb8061001d6000396000f300606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063c6888fa1146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506078565b6040518082815260200191505060405180910390f35b60007f24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da600783026040518082815260200191505060405180910390a16007820290509190505600a165627a7a7230582040383f19d9f65246752244189b02f56e8d0980ed44e7a56c0b200458caad20bb0029"}], "id": 6}' -H "Content-Type: application/json" localhost:8545
+{"id":6,"jsonrpc":"2.0","result":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf"}
+```
+
+Η συναλλαγή γίνεται αποδεκτή από τον κόμβο και επιστρέφεται ένα hash συναλλαγής. Αυτό το hash μπορεί να χρησιμοποιηθεί για την παρακολούθηση της συναλλαγής. Το επόμενο βήμα είναι να καθορίσουμε τη διεύθυνση όπου θα αναπτυχθεί το συμβόλαιο μας. Κάθε συναλλαγή που εκτελείται θα δημιουργεί μια απόδειξη. Αυτή η απόδειξη περιέχει διάφορες πληροφορίες σχετικά με τη συναλλαγή, όπως σε ποιο μπλοκ συμπεριλήφθηκε η συναλλαγή και πόσο καύσιμο χρησιμοποιήθηκε από το EVM. Εάν μια συναλλαγή δημιουργεί ένα συμβόλαιο, θα περιέχει επίσης τη διεύθυνση του συμβολαίου. Μπορούμε να ανακτήσουμε την απόδειξη με τη μέθοδο RPC `eth_getTransactionReceipt`.
+
+```bash
+curl --data '{"jsonrpc":"2.0","method": "eth_getTransactionReceipt", "params": ["0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf"], "id": 7}' -H "Content-Type: application/json" localhost:8545
+{"jsonrpc":"2.0","id":7,"result":{"blockHash":"0x77b1a4f6872b9066312de3744f60020cbd8102af68b1f6512a05b7619d527a4f","blockNumber":"0x1","contractAddress":"0x4d03d617d700cf81935d7f797f4e2ae719648262","cumulativeGasUsed":"0x1c31e","from":"0x9b1d35635cc34752ca54713bb99d38614f63c955","gasUsed":"0x1c31e","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":null,"transactionHash":"0xe1f3095770633ab2b18081658bad475439f6a08c902d0915903bafff06e6febf","transactionIndex":"0x0"}}
+```
+
+Το συμβόλαιό μας δημιουργήθηκε στο `0x4d03d617d700cf81935d7f797f4e2ae719648262`. Ένα αποτέλεσμα null αντί για απόδειξη σημαίνει ότι η συναλλαγή δεν έχει συμπεριληφθεί ακόμη σε μπλοκ. Περιμένετε για λίγο και ελέγξτε εάν εκτελείται ο πελάτης συναίνεσης και δοκιμάστε ξανά.
+
+#### Αλληλεπίδραση με έξυπνα συμβόλαια {#interacting-with-smart-contract}
+
+Σε αυτό το παράδειγμα θα στείλουμε μια συναλλαγή χρησιμοποιώντας το `eth_sendTransaction` στη μέθοδο `multiply` του συμβολαίου.
+
+Το `eth_sendTransaction` απαιτεί πολλά ορίσματα, συγκεκριμένα `from`, `to` και `data`. Το `From` είναι η δημόσια διεύθυνση του λογαριασμού μας και το `to` είναι η διεύθυνση του συμβολαίου. Το όρισμα `data` περιέχει ένα φορτίο εκτέλεσης που ορίζει ποια μέθοδος πρέπει να κληθεί και με ποια ορίσματα. Εδώ είναι που μπαίνει στην εξίσωση το [ABI (δυαδική διεπαφή εφαρμογής)](https://docs.soliditylang.org/en/latest/abi-spec.html). Το ABI είναι ένα αρχείο JSON που ορίζει τον τρόπο ορισμού και κωδικοποίησης δεδομένων για το EVM.
+
+Τα byte του φορτίου εκτέλεσης ορίζουν ποια μέθοδος στο έξυπνο συμβόλαιο καλείται. Αυτά είναι τα πρώτα 4 byte από το Keccak hash πάνω από το όνομα της συνάρτησης και τους τύπους των ορισμάτων της, κωδικοποιημένα σε hex. Η συνάρτηση multiply δέχεται ένα uint που είναι ένα ψευδώνυμο για το uint256. Αυτό έχει αποτέλεσμα:
+
+```javascript
+web3.sha3("multiply(uint256)").substring(0, 10)
+// "0xc6888fa1"
+```
+
+Το επόμενο βήμα είναι να κωδικοποιήσουμε τα ορίσματα. Υπάρχει μόνο ένα uint256, ας πούμε, η τιμή 6. Το ABI έχει μια ενότητα που καθορίζει τον τρόπο κωδικοποίησης των τύπων uint256.
+
+`int: enc(X)` είναι η κωδικοποίηση συμπληρώματος μεγακρικού δύο του X, γεμισμένη στην υψηλότερη τάξη (αριστερά) με 0xff για αρνητικό X και με μηδενικά > byte για θετικό X έτσι ώστε το μήκος να είναι πολλαπλάσιο των 32 byte.
+
+Αυτό κωδικοποιεί σε `0000000000000000000000000000000000000000000000000000000000000006`.
+
+Συνδυάζοντας τον επιλογέα λειτουργίας και το κωδικοποιημένο όρισμα, τα δεδομένα μας θα είναι `0xc6888fa10000000000000000000000000000000000000000000000000000000000000006`.
+
+Αυτό μπορεί τώρα να σταλεί στον κόμβο:
+
+```bash
+curl --data '{"jsonrpc":"2.0","method": "eth_sendTransaction", "params": [{"from": "0xeb85a5557e5bdc18ee1934a89d8bb402398ee26a", "to": "0x6ff93b4b46b41c0c3c9baee01c255d3b4675963d", "data": "0xc6888fa10000000000000000000000000000000000000000000000000000000000000006"}], "id": 8}' -H "Content-Type: application/json" localhost:8545
+{"id":8,"jsonrpc":"2.0","result":"0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74"}
+```
+
+Εφόσον στάλθηκε μια συναλλαγή, επιστράφηκε ένας hash συναλλαγής. Η ανάκτηση της απόδειξης δίνει:
+
+```javascript
+{
+ blockHash: "0xbf0a347307b8c63dd8c1d3d7cbdc0b463e6e7c9bf0a35be40393588242f01d55",
+ blockNumber: 268,
+ contractAddress: null,
+ cumulativeGasUsed: 22631,
+ gasUsed: 22631,
+ logs: [{
+ address: "0x6ff93b4b46b41c0c3c9baee01c255d3b4675963d",
+ blockHash: "0xbf0a347307b8c63dd8c1d3d7cbdc0b463e6e7c9bf0a35be40393588242f01d55",
+ blockNumber: 268,
+ data: "0x000000000000000000000000000000000000000000000000000000000000002a",
+ logIndex: 0,
+ topics: ["0x24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da"],
+ transactionHash: "0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74",
+ transactionIndex: 0
+ }],
+ transactionHash: "0x759cf065cbc22e9d779748dc53763854e5376eea07409e590c990eafc0869d74",
+ transactionIndex: 0
+}
+```
+
+Η απόδειξη περιέχει ένα αρχείο καταγραφής. Αυτό το αρχείο καταγραφής δημιουργήθηκε από το EVM κατά την εκτέλεση της συναλλαγής και συμπεριλήφθηκε στην απόδειξη. Η λειτουργία `multiply` δείχνει ότι το συμβάν `Print` αυξήθηκε με τους χρόνους εισαγωγής 7. Εφόσον το όρισμα για το συμβάν `Print` ήταν ένα uint256, μπορούμε να το αποκωδικοποιήσουμε σύμφωνα με τους κανόνες ABI οι οποίοι θα μας αφήσουν με το αναμενόμενο δεκαδικό 42. Εκτός από τα δεδομένα αξίζει να σημειωθεί ότι τα θέματα μπορούν να χρησιμοποιηθούν για να προσδιοριστεί ποιο συμβάν δημιούργησε το log:
+
+```javascript
+web3.sha3("Print(uint256)")
+// "24abdb5865df5079dcc5ac590ff6f01d5c16edbc5fab4e195d9febd1114503da"
+```
+
+Αυτή ήταν απλώς μια σύντομη εισαγωγή σε μερικές από τις πιο κοινές εργασίες, που δείχνει την άμεση χρήση του JSON-RPC.
+
+## Σχετικά θέματα {#related-topics}
+
+- [Προδιαγραφή JSON-RPC](http://www.jsonrpc.org/specification)
+- [ Κόμβοι και πελάτες](/developers/docs/nodes-and-clients/)
+- [JavaScript APIs](/developers/docs/apis/javascript/)
+- [Backend APIs](/developers/docs/apis/backend/)
+- [Λογισμικό πελάτη](/developers/docs/nodes-and-clients/#execution-clients)
diff --git a/public/content/translations/el/developers/docs/blocks/index.md b/public/content/translations/el/developers/docs/blocks/index.md
index a06096f232d..dd1c8a503a8 100644
--- a/public/content/translations/el/developers/docs/blocks/index.md
+++ b/public/content/translations/el/developers/docs/blocks/index.md
@@ -14,8 +14,7 @@ lang: el
Για να εξασφαλιστεί πως όλοι οι συμμετέχοντες στο δίκτυο Ethereum διατηρούν μία συγχρονισμένη κατάσταση και να συμφωνήσουν σε ένα ακριβής ιστορικό συναλλαγών, συγχωνεύουμε τις συναλλαγές σε πολλά μπλοκ. Αυτό σημαίνει ότι δεκάδες (ή εκατοντάδες) συναλλαγές έχουν καταχωρηθεί, συμφωνηθεί και έχουν συγχρονιστεί όλα άμεσα.
-
-_Προσαρμοσμένο διάγραμμα [εικονογραφημένο από Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
+ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο από Ethereum EVM](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_
Διαχωρίζοντας τις δεσμεύσεις, παρέχουμε σε όλους τους συμμετέχοντες στο δίκτυο αρκετό χρόνο για να καταλήξουν σε συναίνεση: ακόμα και αν οι αιτήσεις συναλλαγών ξεπερνούν τις δεκάδες το δευτερόλεπτο, τα μπλοκ στο Ethereum δημιουργούνται και διαχωρίζονται περίπου μία φορά κάθε δώδεκα δευτερόλεπτα.
@@ -41,7 +40,7 @@ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο
Υπάρχουν πολλές πληροφορίες που περιέχονται μέσα σε ένα μπλοκ. Στο υψηλότερο επίπεδο ένα μπλοκ περιέχει τα ακόλουθα πεδία:
| Πεδίο | Περιγραφή |
-| :--------------- | :---------------------------------------------------------------- |
+|:---------------- |:----------------------------------------------------------------- |
| `slot` | η θέση στην οποία ανήκει το μπλοκ |
| `proposer_index` | το αναγνωριστικό του επικυρωτή που προτείνει το μπλοκ |
| `parent_root` | ο κατακερματισμός του προηγούμενου μπλοκ |
@@ -51,7 +50,7 @@ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο
Το μπλοκ `body` περιέχει από μόνο του τα πεδία:
| Πεδίο | Περιγραφή |
-| :------------------- | :------------------------------------------------------------------------------------- |
+|:-------------------- |:-------------------------------------------------------------------------------------- |
| `randao_reveal` | μια τιμή που χρησιμοποιείται για την επιλογή του επόμενου προτεινόμενου μπλοκ |
| `eth1_data` | πληροφορίες σχετικά με το συμβόλαιο κατάθεσης |
| `graffiti` | αυθαίρετα δεδομένα που χρησιμοποιούνται για τη σήμανση του μπλοκ |
@@ -66,7 +65,7 @@ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο
Το πεδίο `attestations` περιέχει μια λίστα με όλες τις βεβαιώσεις στο μπλοκ. Οι επιβεβαιώσεις έχουν το δικό τους τύπο δεδομένων που περιέχει πολλά κομμάτια των δεδομένων. Κάθε επιβεβαίωση περιέχει:
| Πεδίο | Περιγραφή |
-| :----------------- | :-------------------------------------------------------- |
+|:------------------ |:--------------------------------------------------------- |
| `aggregation_bits` | κατάλογο επικυρωτών που συμμετείχαν στην επιβεβαίωση |
| `data` | ένα κατάλογο με πολλαπλά υποπεδία |
| `signature` | συγκεντρωτική υπογραφή όλων των βεβαιώσεων των επικυρωτών |
@@ -74,7 +73,7 @@ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο
Το πεδίο `data` στo `attestation` περιέχει:
| Πεδίο | Περιγραφή |
-| :------------------ | :------------------------------------------------------------------------- |
+|:------------------- |:-------------------------------------------------------------------------- |
| `slot` | τη θέση που αφορά η επιβεβαίωση |
| `index` | δείκτες βεβαίωσης επικυρωτών |
| `beacon_block_root` | το κατακερματισμό ρίζας του αρχικού μπλοκ που περιέχει αυτό το αντικείμενο |
@@ -86,7 +85,7 @@ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο
Το `execution_payload_header` περιέχει τα πεδία:
| Πεδίο | Περιγραφή |
-| :------------------ | :------------------------------------------------------------------------------------ |
+|:------------------- |:------------------------------------------------------------------------------------- |
| `parent_hash` | κατακερματισμό γονικού μπλοκ |
| `fee_recipient` | διεύθυνση λογαριασμού πληρωμής των τελών συναλλαγής |
| `state_root` | κατακερματισμό ρίζας παγκόσμιας κατάστασης μετά την εφαρμογή αλλαγών σε αυτό το μπλοκ |
@@ -96,7 +95,7 @@ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο
| `block_number` | ο αριθμός του τρέχοντος μπλοκ |
| `gas_limit` | μέγιστο επιτρεπόμενο κόστος κρατήσεων σε αυτό το μπλοκ |
| `gas_used` | η πραγματική ποσότητα κρατήσεων που χρησιμοποιείται σε αυτό το μπλοκ |
-| `timestamp` | χρόνος μπλοκ |
+| `χρονική σήμανση` | χρόνος μπλοκ |
| `extra_data` | αυθαίρετα πρόσθετα δεδομένα ως ακατέργαστα bytes |
| `base_fee_per_gas` | βασική αξία τέλους |
| `block_hash` | κατακερματισμός του μπλοκ εκτέλεσης |
@@ -106,7 +105,7 @@ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο
Το ίδιο το `execution_payload` περιέχει τα εξής (προσέξτε ότι είναι πανομοιότυπο με την κεφαλίδα εκτός από το ότι αντί για τον κατακερματισμό ρίζας των συναλλαγών περιλαμβάνει την πραγματική λίστα συναλλαγών και πληροφορίες ανάληψης):
| Πεδίο | Περιγραφή |
-| :----------------- | :------------------------------------------------------------------------------------ |
+|:------------------ |:------------------------------------------------------------------------------------- |
| `parent_hash` | κατακερματισμό γονικού μπλοκ |
| `fee_recipient` | διεύθυνση λογαριασμού πληρωμής των τελών συναλλαγής |
| `state_root` | κατακερματισμό ρίζας παγκόσμιας κατάστασης μετά την εφαρμογή αλλαγών σε αυτό το μπλοκ |
@@ -116,18 +115,18 @@ _Προσαρμοσμένο διάγραμμα [εικονογραφημένο
| `block_number` | ο αριθμός του τρέχοντος μπλοκ |
| `gas_limit` | μέγιστο επιτρεπόμενο κόστος κρατήσεων σε αυτό το μπλοκ |
| `gas_used` | η πραγματική ποσότητα κρατήσεων που χρησιμοποιείται σε αυτό το μπλοκ |
-| `timestamp` | χρόνος μπλοκ |
+| `χρονική σήμανση` | χρόνος μπλοκ |
| `extra_data` | αυθαίρετα πρόσθετα δεδομένα ως ακατέργαστα bytes |
| `base_fee_per_gas` | βασική αξία τέλους |
| `block_hash` | κατακερματισμός του μπλοκ εκτέλεσης |
-| `transactions` | λίστα των προς εκτέλεση συναλλαγών |
-| `withdrawals` | λίστα αντικειμένων ανάληψης |
+| `συναλλαγές` | λίστα των προς εκτέλεση συναλλαγών |
+| `αναλήψεις` | λίστα αντικειμένων ανάληψης |
Η λίστα `withdrawals` περιέχει αντικείμενα `withdrawal` δομημένα με τον ακόλουθο τρόπο:
| Πεδίο | Περιγραφή |
-| :--------------- | :-------------------------------- |
-| `address` | τη διεύθυνση λογαριασμού ανάληψης |
+|:---------------- |:--------------------------------- |
+| `διεύθυνση` | τη διεύθυνση λογαριασμού ανάληψης |
| `amount` | ποσό ανάληψης |
| `index` | τιμή δείκτη ανάληψης |
| `validatorIndex` | τιμή δείκτη επικυρωτή |
diff --git a/public/content/translations/el/developers/docs/bridges/index.md b/public/content/translations/el/developers/docs/bridges/index.md
new file mode 100644
index 00000000000..de1970d9c01
--- /dev/null
+++ b/public/content/translations/el/developers/docs/bridges/index.md
@@ -0,0 +1,137 @@
+---
+title: Γέφυρες
+description: Μια επισκόπηση της γεφύρωσης για τους προγραμματιστές
+lang: el
+---
+
+Με την εξάπλωση των κρυπτοαλυσίδων επιπέδου 1 και των λύσεων [κλιμάκωσης](/developers/docs/scaling/) επιπέδου 2, καθώς και με τον συνεχώς αυξανόμενο αριθμό αποκεντρωμένων εφαρμογών που διασταυρώνονται μεταξύ αλυσίδων, η ανάγκη για επικοινωνία και μετακίνηση περιουσιακών στοιχείων μεταξύ αλυσίδων έχει γίνει ένα ουσιαστικό μέρος της υποδομής δικτύου. Οι διαφορετικοί τύποι γεφυρών βοηθούν στην υλοποίηση του έργου.
+
+## Ανάγκη για γέφυρες {#need-for-bridges}
+
+Οι γέφυρες υπάρχουν για τη διασύνδεση των δικτύων blockchain. Επιτρέπουν τη συνδεσιμότητα και τη διαλειτουργικότητα μεταξύ των blockchain.
+
+Οι κρυπτοαλυσίδες ζουν σε μεμονωμένα περιβάλλοντα, που σημαίνει ότι δεν υπάρχει τρόπος για τις κρυπτοαλυσίδες να κάνουν συναλλαγές και να επικοινωνούν φυσικά με άλλες κρυπτοαλυσίδες. Ως αποτέλεσμα, ενώ θα μπορούσε να υπάρξει σημαντική δραστηριότητα και καινοτομία μέσα σε ένα οικοσύστημα, περιορίζεται από την έλλειψη συνδεσιμότητας και διαλειτουργικότητας με άλλα οικοσυστήματα.
+
+Οι γέφυρες προσφέρουν έναν τρόπο για απομονωμένα περιβάλλοντα κρυπτοαλυσίδας να συνδέονται μεταξύ τους. Δημιουργούν μια διαδρομή μεταφοράς μεταξύ κρυπτοαλυσίδων όπου τα κρυπτονομίσματα, τα μηνύματα, τα αυθαίρετα δεδομένα, ακόμη και οι κλήσεις [έξυπνων συμβολαίων](/developers/docs/smart-contracts/) μπορούν να μεταφερθούν από μια αλυσίδα στην άλλη.
+
+## Τα οφέλη των γεφυρών {#benefits-of-bridges}
+
+Με απλά λόγια, οι γέφυρες ξεκλειδώνουν πολλές χρήσεις επιτρέποντας στα δίκτυα κρυπτοαλυσίδας να ανταλλάσσουν δεδομένα και να μετακινούν στοιχεία μεταξύ τους.
+
+Οι κρυπτοαλυσίδες έχουν μοναδικά πλεονεκτήματα, αδυναμίες και προσεγγίσεις για την κατασκευή εφαρμογών (όπως ταχύτητα, απόδοση, κόστος κ. λπ.). Οι γέφυρες βοηθούν την ανάπτυξη του συνολικού οικοσυστήματος των κρύπτο, επιτρέποντας στις κρυπτοαλυσίδες να αξιοποιούν τις καινοτομίες μεταξύ τους.
+
+Για προγραμματιστές, οι γέφυρες ενεργοποιούν τα εξής:
+
+- Τη μεταφορά οποιονδήποτε δεδομένων, πληροφοριών και περιουσιακών στοιχείων μεταξύ αλυσίδων.
+- Ενεργοποίηση νέων λειτουργιών και περιπτώσεις χρήσης για τα πρωτόκολλα καθώς οι γέφυρες επεκτείνουν το χώρο σχεδιασμού για το τι μπορούν να προσφέρουν τα πρωτόκολλα. Για παράδειγμα, ένα πρωτόκολλο αποδόσεων φάρμας, που αναπτύχθηκε αρχικά στο Ethereum Mainnet μπορεί να προσφέρει δεξαμενές ρευστότητας σε όλες τις συμβατές με EVM αλυσίδες.
+- Την ευκαιρία να αξιοποιήσουν τα πλεονεκτήματα διαφορετικών αλυσίδων μπλοκ. Για παράδειγμα, οι προγραμματιστές μπορούν να επωφεληθούν από τις χαμηλότερες αμοιβές που προσφέρονται από τις διαφορετικές λύσεις επιπέδου 2, αναπτύσσοντας τις εφαρμογές τους σε πακέτα ενημέρωσης συναλλαγών και πλευρικών αλυσίδων καθώς οι χρήστες μπορούν να δημιουργήσουν γέφυρες μεταξύ τους.
+- Συνεργασία μεταξύ προγραμματιστών από διάφορα οικοσυστήματα κρυπτοαλυσίδας για την κατασκευή νέων προϊόντων.
+- Προσέλκυση χρηστών και κοινοτήτων από διάφορα οικοσυστήματα στις εφαρμογές τους.
+
+## Πώς λειτουργούν οι γέφυρες; {#how-do-bridges-work}
+
+Αν και υπάρχουν πολλοί [τύποι σχεδιασμού γεφυρών](https://li.fi/knowledge-hub/blockchain-bridges-and-classification/), τρεις τρόποι ξεχωρίζουν για τη διευκόλυνση μεταφοράς περιουσιακών στοιχείων μεταξύ αλυσίδων:
+
+- **Κλείδωμα και δημιουργία** – Κλείδωμα κρυπτονομισμάτων στην αλυσίδα προέλευσης και δημιουργία περιουσιακών στοιχεία στην αλυσίδα προορισμού.
+- **Κάψιμο και δημιουργία** – Κάψιμο κρυπτονομισμάτων στην αλυσίδα προέλευσης και δημιουργία περιουσιακών στοιχεία στην αλυσίδα προορισμού.
+- **Ατομικές ανταλλαγές** – Ανταλλάξτε κρυπτονομίσματα στην αλυσίδα προέλευσης για κρύπτο στην αλυσίδα προορισμού με άλλο μέρος.
+
+## Τύποι γεφυρών {#bridge-types}
+
+Συνήθως οι γέφυρες ταξινομούνται σε μια από τις παρακάτω κατηγορίες:
+
+- **Εγγενείς γέφυρες** – Συνήθως δημιουργούνται για την εκκίνηση της ρευστότητας σε ένα συγκεκριμένο blockchain, διευκολύνοντας τους χρήστες να μετακινούν κεφάλαια στο οικοσύστημα. Για παράδειγμα, η [γέφυρα Arbitrum](https://bridge.arbitrum.io/) έχει δημιουργηθεί για να διευκολύνει τους χρήστες να μεταφέρουν κρύπτο από το Ethereum Mainnet στο Arbitrum. Άλλες τέτοιες γέφυρες περιλαμβάνουν τη γέφυρα Polygon PoS, [Optimism Gateway](https://app.optimism.io/bridge) κ.λπ.
+- **Γέφυρες επικύρωσης ή oracle –** Αυτές οι γέφυρες βασίζονται σε ένα εξωτερικό σύνολο επικυρωτών ή oracle για επικύρωση των διασταυρούμενων αλυσίδων. Παραδείγματα: Multichain και Across.
+- **Γενικές γέφυρες διέλευσης μηνυμάτων** – Αυτές οι γέφυρες μπορούν να μεταφέρουν στοιχεία, μαζί με μηνύματα και αυθαίρετα δεδομένα σε αλυσίδες. Παραδείγματα: Axelar, LayerZero και Nomad.
+- **Δίκτυα ρευστότητας** – Αυτές οι γέφυρες επικεντρώνονται κυρίως στη μεταφορά περιουσιακών στοιχείων από τη μια αλυσίδα στην άλλη μέσω ατομικών ανταλλαγών. Γενικά, δεν υποστηρίζουν διασταυρούμενη αλυσίδα μηνυμάτων. Παράδειγμα: Connext και Hop.
+
+## Συμβιβασμοί προς εξέταση {#trade-offs}
+
+Με τις γέφυρες, δεν υπάρχουν τέλειες λύσεις. Αντιθέτως, υπάρχουν μόνο θυσίες που γίνονται για την εκπλήρωση ενός σκοπού. Οι προγραμματιστές και οι χρήστες μπορούν να αξιολογήσουν τις γέφυρες με βάση τους ακόλουθους παράγοντες:
+
+- **Ασφάλεια –** Ποιος επαληθεύει το σύστημα; Οι γέφυρες που ασφαλίζονται από εξωτερικούς επικυρωτές είναι συνήθως λιγότερο ασφαλείς από τις γέφυρες που ασφαλίζονται τοπικά ή εγγενώς από τους επικυρωτές της κρυπτοαλυσίδας.
+- **Ευκολία** – Πόσος χρόνος χρειάζεται για να ολοκληρωθεί μια συναλλαγή και πόσες συναλλαγές χρειάστηκε να υπογράψει ένας χρήστης; Για έναν προγραμματιστή, πόσο χρόνο χρειάζεται για να ενσωματώσει μια γέφυρα και πόσο περίπλοκη είναι η διαδικασία;
+- **Συνδεσιμότητα** – Ποιες είναι οι διαφορετικές αλυσίδες προορισμού που μπορεί να συνδέσει μια γέφυρα (π.χ. συνάθροιση, πλευρικές αλυσίδες, άλλες κρυπτοαλυσίδες επιπέδου 1, κ.λπ.) και πόσο δύσκολο είναι να ενσωματώσετε μια νέα κρυπτοαλυσίδα;
+- **Δυνατότητα διαβίβασης πιο περίπλοκων δεδομένων** – Μπορεί μια γέφυρα να επιτρέψει τη μεταφορά μηνυμάτων και πιο περίπλοκων αυθαίρετων δεδομένων μεταξύ αλυσίδων ή υποστηρίζει μόνο μεταφορές στοιχείων μεταξύ των αλυσίδων;
+- **Κόστος - αποτελεσματικότητας** – Πόσο κοστίζει η μεταφορά περιουσιακών στοιχείων μεταξύ αλυσίδων μέσω μιας γέφυρας; Συνήθως, οι γέφυρες χρεώνουν ένα σταθερό ή μεταβλητό τέλος ανάλογα με το κόστος του gas και τη ρευστότητα συγκεκριμένων διαδρομών. Είναι επίσης σημαντικό να αξιολογηθεί η σχέση κόστους - αποτελεσματικότητας μιας γέφυρας με βάση το κεφάλαιο που απαιτείται για τη διασφάλιση της ασφάλειάς της.
+
+Σε υψηλό επίπεδο, οι γέφυρες μπορούν να κατηγοριοποιηθούν ως αξιόπιστες και χωρίς την ανάγκη παροχής εμπιστοσύνης.
+
+- **Αξιόπιστες** – Οι αξιόπιστες γέφυρες επαληθεύονται εξωτερικά. Χρησιμοποιούν ένα εξωτερικό σύνολο επαληθευτών (ομάδες με πολλαπλές υπογραφές, συστήματα πολλαπλής υπολογιστικής, δίκτυο oracle) για να στείλουν δεδομένα μεταξύ αλυσίδων. Ως αποτέλεσμα, μπορούν να προσφέρουν μεγάλη συνδεσιμότητα και να επιτρέπουν την πλήρως γενικευμένη μεταφορά μηνυμάτων μεταξύ αλυσίδων. Επίσης, τείνουν να αποδίδουν καλά όσον αφορά την ταχύτητα και την αποτελεσματικότητα του κόστους. Αυτό γίνεται με κόστος στην ασφάλεια, καθώς οι χρήστες πρέπει να βασίζονται στην ασφάλεια της γέφυρας.
+- **Χωρίς την ανάγκη παροχής εμπιστοσύνης** - Αυτές οι γέφυρες βασίζονται στις κρυπτοαλυσίδες που συνδέουν και στους επικυρωτές τους για τη μεταφορά μηνυμάτων και κρυπτονομισμάτων. Είναι «χωρίς την ανάγκη παροχής εμπιστοσύνης» επειδή δεν προσθέτουν νέες υποθέσεις εμπιστοσύνης (εκτός από τις κρυπτοαλυσίδες). Ως αποτέλεσμα, οι γέφυρες χωρίς την ανάγκη παροχής εμπιστοσύνη θεωρούνται πιο ασφαλείς από τις αξιόπιστες γέφυρες.
+
+Για να αξιολογήσουμε τις γέφυρες χωρίς την ανάγκη παροχής εμπιστοσύνης με βάση άλλους παράγοντες, πρέπει να τις διαχωρίσουμε σε γέφυρες γενικευμένης μεταφοράς μηνυμάτων και δίκτυα ρευστότητας.
+
+- **Γέφυρες διέλευσης γενικών μηνυμάτων** – Αυτές οι γέφυρες υπερτερούν με την ασφάλεια και την ικανότητα μεταφοράς πιο περίπλοκων δεδομένων μεταξύ αλυσίδων. Τυπικά, είναι επίσης καλές σε κόστος - αποτελεσματικότητα. Ωστόσο, αυτά τα πλεονεκτήματα έχουν γενικά το κόστος της συνδεσιμότητας για γέφυρες πελατών μικρού μεγέθους (π.χ.: IBC) και τα μειονεκτήματα ταχύτητας για τις αισιόδοξες γέφυρες (π.χ.: Nomad) που χρησιμοποιούν αποδείξεις απάτης.
+- **Δίκτυα ρευστότητας** – Αυτές οι γέφυρες χρησιμοποιούν ατομικές ανταλλαγές για τη μεταφορά περιουσιακών στοιχείων και είναι τοπικά επαληθευμένα συστήματα (δηλαδή, χρησιμοποιούν τους υποκείμενους επικυρωτές των κρυπτοαλυσίδων για την επαλήθευση συναλλαγών). Ως αποτέλεσμα υπερτερούν με ασφάλεια και ταχύτητα. Επιπλέον, θεωρούνται οικονομικά και προσφέρουν καλή συνδεσιμότητα. Ωστόσο, η κύρια αντιστάθμιση είναι η αδυναμία τους να διαβιβάσουν πιο σύνθετα δεδομένα, καθώς δεν υποστηρίζουν τη μετάδοση μηνυμάτων μεταξύ αλυσίδων.
+
+## Ρίσκο με γέφυρες {#risk-with-bridges}
+
+Οι γέφυρες αντιπροσωπεύουν τα τρία πρώτα [μεγαλύτερα hack στο DeFi](https://rekt.news/leaderboard/) και βρίσκονται ακόμα στα αρχικά στάδια ανάπτυξης. Η χρήση οποιασδήποτε γέφυρας ενέχει τους ακόλουθους κινδύνους:
+
+- **Κίνδυνοι Έξυπνων Συμβολαίων** - Ενώ πολλές γέφυρες έχουν περάσει με επιτυχία τους ελέγχους, αρκεί ένα ελάττωμα σε ένα έξυπνο συμβόλαιο για να εκτεθούν τα περιουσιακά στοιχεία σε επιθέσεις (π.χ. [γέφυρα Wormhole της Solana](https://rekt.news/wormhole-rekt/)).
+- **Συστημικοί Χρηματοοικονομικοί Κίνδυνοι** - Πολλές γέφυρες χρησιμοποιούν παρόμοια κρυπτονομίσματα για να δημιουργήσουν κανονικές εκδόσεις του αρχικού κρυπτονομίσματος σε μια νέα αλυσίδα. Αυτό εκθέτει το οικοσύστημα σε συστημικό κίνδυνο, καθώς έχουμε δει εκμεταλλεύσεις παρόμοιων εκδόσεων κρυπτονομισμάτων.
+- **Κίνδυνος Αντιπάλου** - Ορισμένες γέφυρες χρησιμοποιούν ένα αξιόπιστο σχεδιασμό που απαιτεί από τους χρήστες να βασίζονται στην υπόθεση ότι οι επικυρωτές δε θα συνεργαστούν για να κλέψουν τα χρήματα των χρηστών. Η ανάγκη των χρηστών να εμπιστεύονται αυτούς τους τρίτους παράγοντες τους εκθέτει σε κινδύνους όπως rug pulls, τη λογοκρισία και άλλες κακόβουλες δραστηριότητες.
+- **Ανοιχτά Ζητήματα** - Δεδομένου ότι οι γέφυρες βρίσκονται στα αρχικά στάδια ανάπτυξης, υπάρχουν πολλά αναπάντητα ερωτήματα σχετικά με το πώς θα λειτουργήσουν οι γέφυρες σε διαφορετικές συνθήκες αγοράς, όπως περιόδους συμφόρησης δικτύου και κατά τη διάρκεια απρόβλεπτων γεγονότων όπως επιθέσεις επιπέδου δικτύου ή επαναφοράς κατάστασης. Αυτή η αβεβαιότητα δημιουργεί ορισμένους κινδύνους, τον βαθμό των οποίων δεν είναι ακόμη γνωστός.
+
+## Πώς μπορούν οι dapps να χρησιμοποιήσουν γέφυρες; {#how-can-dapps-use-bridges}
+
+Δείτε παρακάτω μερικές πρακτικές εφαρμογές που οι προγραμματιστές μπορούν να εξετάσουν σχετικά με τις γέφυρες και τη μετάβαση του dapp τους σε πολλές αλυσίδες:
+
+### Ενσωμάτωση γεφυρών {#integrating-bridges}
+
+Για τους προγραμματιστές, υπάρχουν πολλοί τρόποι για προσθήκη υποστήριξης για γέφυρες:
+
+1. **Δημιουργία της δικής σας γέφυρας** - Η δημιουργία μιας ασφαλούς και αξιόπιστης γέφυρας δεν είναι εύκολη, ειδικά εάν ακολουθήσετε μια πιο ελαχιστοποιημένη ως προς την εμπιστοσύνη προσέγγιση. Επιπλέον, απαιτεί χρόνια πείρας και τεχνικής εμπειρογνωμοσύνης σχετικά με μελέτες επεκτασιμότητας και διαλειτουργικότητας. Θα απαιτούσε μια ομάδα με πρακτική εμπειρία για τη διατήρηση μιας γέφυρας και την προσέλκυση επαρκούς ρευστότητας για να καταστεί εφικτή.
+
+2. **Παρουσίαση πολλών επιλογών γέφυρας στους χρήστες** - Πολλές [dapp](/developers/docs/dapps/) απαιτούν από τους χρήστες να έχουν το εγγενές κρυπτονόμισμά τους για να αλληλεπιδράσουν μαζί τους. Για να επιτρέψουν στους χρήστες να έχουν πρόσβαση στα κρυπτονομίσματά τους, προσφέρουν διαφορετικές επιλογές γέφυρας στον ιστότοπό τους. Ωστόσο, αυτή η μέθοδος είναι μια γρήγορη λύση στο πρόβλημα, καθώς απομακρύνει τον χρήστη από τη διεπαφή της dapp και εξακολουθεί να απαιτεί από αυτόν να αλληλεπιδρά με άλλες dapp και γέφυρες. Αυτή είναι μια δύσκολη εμπειρία ενσωμάτωσης με αυξημένες πιθανότητες λαθών.
+
+3. **Ενσωμάτωση μιας γέφυρας** – Αυτή η λύση δεν απαιτεί από την dapp να στέλνει τους χρήστες στην εξωτερική γέφυρα και διεπαφές DEX. Επιτρέπει στις dapp να βελτιώσουν την εμπειρία ενσωμάτωσης του χρήστη. Ωστόσο, αυτή η προσέγγιση έχει τους περιορισμούς της:
+
+ - Η αξιολόγηση και η συντήρηση των γεφυρών είναι δύσκολη και χρονοβόρα.
+ - Η επιλογή μιας γέφυρας δημιουργεί ένα μεμονωμένο σημείο αποτυχίας και εξάρτησης.
+ - Η dapp περιορίζεται από τις δυνατότητες της γέφυρας.
+ - Οι γέφυρες από μόνες τους μπορεί να μην είναι αρκετές. Οι dapp ενδέχεται να χρειάζονται διάφορα DEX για να προσφέρουν περισσότερη λειτουργικότητα, όπως ανταλλαγές μέσω πολλαπλών αλυσίδων.
+
+4. **Ενσωμάτωση πολλών γεφυρών** – Αυτή η λύση επιλύει πολλά προβλήματα που σχετίζονται με την ενσωμάτωση μιας μεμονωμένης γέφυρας. Ωστόσο, έχει επίσης περιορισμούς, καθώς η ενσωμάτωση πολλών γεφυρών καταναλώνει πόρους και δημιουργεί τεχνικά και επικοινωνιακά έξοδα για τους προγραμματιστές, τον πιο σπάνιο πόρο στα κρυπτονομίσματα.
+
+5. **Η ενσωμάτωση ενός συλλέκτη γεφυρών** - Μια άλλη επιλογή για τις dapps είναι η ενσωμάτωση μιας λύσης συλλογής γεφυρών που τους δίνει πρόσβαση σε πολλές γέφυρες. Οι συλλέκτες γεφυρών κληρονομούν τα πλεονεκτήματα όλων των γεφυρών και ως εκ τούτου δεν περιορίζονται από τις δυνατότητες μιας μεμονωμένης γέφυρας. Οι συλλέκτες γεφυρών συνήθως διατηρούν τις ενσωματώσεις γεφυρών, γεγονός που εξοικονομεί την dapp από τον κόπο να παρακολουθεί τις τεχνικές και λειτουργικές πτυχές μιας ενσωμάτωσης γέφυρας.
+
+Τούτου λεχθέντος, οι συσσωρευτές γεφυρών έχουν επίσης τους περιορισμούς τους. Για παράδειγμα, ενώ μπορούν να προσφέρουν περισσότερες επιλογές γεφυρών, πολλές γέφυρες είναι συνήθως διαθέσιμες στην αγορά εκτός από αυτές που προσφέρονται στην πλατφόρμα του συσσωρεύοντα. Επιπλέον, όπως και οι γέφυρες, οι συσσωρευτές γεφυρών εκτίθενται επίσης σε κινδύνους έξυπνων συμβολαίων και τεχνολογίας (περισσότερα έξυπνα συμβόλαια = περισσότεροι κίνδυνοι).
+
+Εάν μια dapp ακολουθεί τη διαδρομή της ενσωμάτωσης μιας γέφυρας ή ενός συσσωρευτή, υπάρχουν διαφορετικές επιλογές ανάλογα με το πόσο βαθιά προορίζεται να είναι η ενοποίηση. Για παράδειγμα, εάν πρόκειται μόνο για μια ολοκλήρωση front-end για τη βελτίωση της εμπειρίας ενσωμάτωσης χρηστών, μια dapp θα ενσωματώσει το widget. Ωστόσο, εάν η ενσωμάτωση πρόκειται να εξερευνήσει βαθύτερες στρατηγικές διασταυρούμενης αλυσίδας, όπως αποθήκευση κεφαλαίου, καλλιέργεια απόδοσης κ.λπ., το dapp ενσωματώνει το SDK ή το API.
+
+### Ανάπτυξη μιας dapp σε πολλαπλές αλυσίδες {#deploying-a-dapp-on-multiple-chains}
+
+Για την ανάπτυξη μιας dapp σε πολλές αλυσίδες, οι προγραμματιστές μπορούν να χρησιμοποιήσουν πλατφόρμες ανάπτυξης όπως το [Alchemy](https://www.alchemy.com/), το [Hardhat](https://hardhat.org/), το [Moralis](https://moralis.io/) κ.λ.π. Τυπικά, αυτές οι πλατφόρμες έρχονται με σύνθετα πρόσθετα που μπορούν να επιτρέψουν στις αποκεντρωμένες εφαρμογές να επικοινωνούν μεταξύ τους. Για παράδειγμα, οι προγραμματιστές μπορούν να χρησιμοποιήσουν έναν προκαθορισμένο διακομιστή μεσολάβησης που προσφέρεται από το [πρόσθετο hardhat-deploy](https://github.com/wighawag/hardhat-deploy).
+
+#### Παραδείγματα:
+
+- [Πώς να δημιουργήσετε dapps για χρήση μεταξύ αλυσίδων](https://moralis.io/how-to-build-cross-chain-dapps/)
+- [Δημιουργία μιας αγοράς NFT μεταξύ αλυσίδων](https://youtu.be/WZWCzsB1xUE)
+- [Moralis: Δημιουργία αποκεντρωμένων εφαρμογών NFT μεταξύ αλυσίδων](https://www.youtube.com/watch?v=ehv70kE1QYo)
+
+### Παρακολούθηση δραστηριότητας συμβολαίου μεταξύ αλυσίδων {#monitoring-contract-activity-across-chains}
+
+Για να παρακολουθήσουν τη δραστηριότητα συμβολαίου σε όλες τις αλυσίδες, οι προγραμματιστές μπορούν να χρησιμοποιήσουν υπο-γράφημα και πλατφόρμες προγραμματιστών όπως το Tenderly για να παρατηρούν έξυπνα συμβόλαια σε πραγματικό χρόνο. Τέτοιες πλατφόρμες έχουν επίσης εργαλεία που προσφέρουν μεγαλύτερη λειτουργικότητα παρακολούθησης δεδομένων για δραστηριότητες μεταξύ αλυσίδων, όπως ο έλεγχος για [συμβάντα που εκπέμπονται από συμβόλαια](https://docs.soliditylang.org/en/v0.8.14/contracts.html?highlight=events#events) κ.λπ.
+
+#### Εργαλεία
+
+- [The Graph](https://thegraph.com/en/)
+- [Tenderly](https://tenderly.co/)
+
+## Περισσότερες πληροφορίες {#further-reading}
+- [Γέφυρες Blockchain](/bridges/) – ethereum.org
+- [Πλαίσιο κινδύνου γέφυρας L2Beat](https://l2beat.com/bridges/summary)
+- [Γέφυρες κρυπτοαλυσίδων: Δημιουργία δικτύων κρυπτοδικτύων](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) - 08 Σεπ 2021 του Dmitriy Berenzon
+- [Το Τρίλημμα της Διαλειτουργικότητας](https://blog.connext.network/the-interoperability-trilemma-657c2cf69f17) - 01 Οκτ 2021 του Arjun Bhuptani
+- [Συστάδες: Πώς οι Αξιόπιστες & Ελάχιστης Εμπιστοσύνης Γέφυρες Διαμορφώνουν το Τοπίο Πολλαπλών Αλυσίδων](https://blog.celestia.org/clusters/) - 04 Οκτ 2021 του Mustafa Al-Bassam
+- [LI.FI: Με τις Γέφυρες, η Εμπιστοσύνη Είναι Ένα Φάσμα](https://blog.li.fi/li-fi-with-bridges-trust-is-a-spectrum-354cd5a1a6d8) - 28 Απρ 2022 - Arjun Chand
+- [The State Of Rollup Interoperability Solutions](https://research.2077.xyz/the-state-of-rollup-interoperability) - 20 Ιουνίου 2024 του Alex Hook
+- [Εκμετάλλευση κοινής ασφάλειας για ασφαλή διαλειτουργικότητα μεταξύ των αλυσίδων: Επιτροπές πολιτειών Lagrange και πέρα](https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) - 12 Ιουνίου 2024 - Emmanuel Awosika
+
+Επιπλέον, ακολουθούν ορισμένες παρουσιάσεις του [James Prestwich](https://twitter.com/_prestwich) που μπορούν να βοηθήσουν στην ανάπτυξη μιας καλύτερης κατανόησης των γεφυρών:
+
+- [Χτίζοντας γέφυρες, όχι περιφραγμένους κήπους](https://youtu.be/ZQJWMiX4hT0)
+- [Καταργώντας γέφυρες](https://youtu.be/b0mC-ZqN8Oo)
+- [Γιατί καίγονται οι Γέφυρες](https://youtu.be/c7cm2kd20j8)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/index.md
new file mode 100644
index 00000000000..d3a2e695e0c
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/index.md
@@ -0,0 +1,92 @@
+---
+title: Μηχανισμοί συναινέσεως
+description: Εξήγηση των πρωτοκόλλων συναίνεσης στα κατανεμημένα συστήματα και το ρόλο που διαδραματίζουν στο δίκτυο Ethereum.
+lang: el
+---
+
+Ο όρος «μηχανισμός συναίνεσης» χρησιμοποιείται συχνά για να αναφέρεται σε πρωτόκολλα «απόδειξης συμμετοχής», «απόδειξης εργασίας» ή «απόδειξης εξουσίας». Ωστόσο, αυτά είναι απλώς στοιχεία σε μηχανισμούς συναίνεσης που προστατεύουν από [επιθέσεις Sybil](/glossary/#sybil-attack). Οι μηχανισμοί συναίνεσης είναι η πλήρης στοίβα ιδεών, πρωτοκόλλων και κινήτρων που επιτρέπουν σε ένα κατανεμημένο σύνολο κόμβων να συμφωνούν στην κατάσταση μιας κρυπτοαλυσίδας.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να σας βοηθήσουμε να κατανοήσετε καλύτερα αυτή τη σελίδα, σας προτείνουμε να διαβάσετε το άρθρο [εισαγωγή στο Ethereum](/developers/docs/intro-to-ethereum/).
+
+## Τι είναι η συναίνεση; {#what-is-consensus}
+
+Με τη συναίνεση, εννοούμε τον τρόπο που μία γενική συμφωνία έχει επιτευχθεί. Σκεφτείτε μια ομάδα ανθρώπων που πηγαίνουν στον κινηματογράφο. Εάν δεν υπάρχει διαφωνία για μια προτεινόμενη επιλογή ταινίας, τότε επιτυγχάνεται συναίνεση. Εάν υπάρχει διαφωνία, η ομάδα πρέπει να έχει τα μέσα για να αποφασίσει ποια ταινία θα δει. Σε ακραίες περιπτώσεις, η ομάδα θα χωριστεί τελικά.
+
+Όσον αφορά το Ethereum blockchain, η διαδικασία έχει επισημοποιηθεί και η επίτευξη συναίνεσης σημαίνει ότι τουλάχιστον το 66% των κόμβων στο δίκτυο συμφωνούν για την παγκόσμια κατάσταση του δικτύου.
+
+## Τι είναι οι μηχανισμοί συναίνεσης; {#what-is-a-consensus-mechanism}
+
+Ο όρος μηχανισμός συναίνεσης αναφέρεται στο σύνολο των πρωτοκόλλων, κινήτρων και ιδεών που επιτρέπουν σε ένα δίκτυο κόμβων να συμφωνήσει για την κατάσταση ενός blockchain.
+
+Το Ethereum χρησιμοποιεί έναν μηχανισμό συναίνεσης βασισμένο στην απόδειξη συμμετοχής που αντλεί την κρυπτο-οικονομική του ασφάλεια από ένα σύνολο ανταμοιβών και ποινών που εφαρμόζονται στο κεφάλαιο που είναι κλειδωμένο από τους συμμετέχοντες. Αυτή η δομή κινήτρων ενθαρρύνει τους μεμονωμένους συμμετέχοντες να λειτουργούν ειλικρινείς επικυρωτές, τιμωρεί αυτούς που δεν το κάνουν και δημιουργεί ένα εξαιρετικά υψηλό κόστος για επίθεση στο δίκτυο.
+
+Στη συνέχεια, υπάρχει ένα πρωτόκολλο που διέπει τον τρόπο επιλογής των ειλικρινών επικυρωτών για να προτείνουν ή να επικυρώσουν μπλοκ, να επεξεργαστούν συναλλαγές και να ψηφίσουν για την άποψή τους για την κεφαλή της αλυσίδας. Στις σπάνιες περιπτώσεις όπου υπάρχουν πολλαπλά μπλοκ στην ίδια θέση κοντά στην κεφαλή της αλυσίδας, υπάρχει ένας μηχανισμός επιλογής διχάλας που επιλέγει μπλοκ που αποτελούν την "βαρύτερη" αλυσίδα, μετρούμενη από τον αριθμό των επικυρωτών που ψήφισαν για τα μπλοκ σταθμισμένα από την ισορροπία του αποθηκευμένου ether τους.
+
+Ορισμένες έννοιες είναι σημαντικές για τη συναίνεση που δεν ορίζονται ρητά στον κώδικα, όπως η πρόσθετη ασφάλεια που προσφέρει ο πιθανός κοινωνικός συντονισμός εκτός ζώνης ως τελευταία γραμμή άμυνας έναντι επιθέσεων στο δίκτυο.
+
+Αυτά τα στοιχεία μαζί αποτελούν τον μηχανισμό συναίνεσης.
+
+## Τύποι μηχανισμών συναίνεσης {#types-of-consensus-mechanisms}
+
+### Βασισμένο σε απόδειξη εργασίας {#proof-of-work}
+
+Όπως το Bitcoin, το Ethereum κάποτε χρησιμοποιούσε ένα πρωτόκολλο συναίνεσης βασισμένο σε **απόδειξη εργασίας (PoW)**.
+
+#### Δημιουργία μπλοκ {#pow-block-creation}
+
+Οι κρυπτορύχοι ανταγωνίζονται για να δημιουργήσουν νέα μπλοκ γεμάτα με επεξεργασμένες συναλλαγές. Ο νικητής μοιράζεται το νέο μπλοκ με το υπόλοιπο δίκτυο και κερδίζει κάποια πρόσφατα ETH. Τον αγώνα κερδίζει ο υπολογιστής που μπορεί να λύσει γρηγορότερα ένα μαθηματικό παζλ. Αυτό παράγει την κρυπτογραφική σύνδεση μεταξύ του τρέχοντος μπλοκ και του μπλοκ που προηγήθηκε. Η επίλυση αυτού του παζλ είναι η εργασία στην «απόδειξη εργασίας». Η κανονική αλυσίδα καθορίζεται στη συνέχεια από έναν κανόνα επιλογής fork που επιλέγει το σύνολο των μπλοκ στα οποία έχει γίνει η περισσότερη εργασία για την κρυπτόρυξη τους.
+
+#### Ασφάλεια {#pow-security}
+
+Το δίκτυο διατηρείται ασφαλές από το γεγονός ότι χρειάζεστε 51% της υπολογιστικής δύναμης του δικτύου για να εξαπατήσετε την κρυπτοαλυσίδα. Αυτό θα απαιτούσε τεράστιες επενδύσεις σε εξοπλισμό και ενέργεια. Είναι πιθανό να ξοδέψετε περισσότερα από όσα θα κερδίζατε.
+
+Δείτε περισσότερα για την [απόδειξη εργασίας](/developers/docs/consensus-mechanisms/pow/)
+
+### Βασισμένο σε απόδειξη συμμετοχής {#proof-of-stake}
+
+Το Ethereum χρησιμοποιεί πλέον την **απόδειξη συμμετοχής (POS)** βασισμένη στο πρωτόκολλο συναίνεσης.
+
+#### Δημιουργία μπλοκ {#pos-block-creation}
+
+Οι επικυρωτές δημιουργούν μπλοκ. Ένας επικυρωτής επιλέγεται τυχαία σε κάθε υποδοχή για να είναι ο προτείνων του μπλοκ. Ο πελάτης συναίνεσης τους ζητά ένα πακέτο συναλλαγών ως «φορτίο εκτέλεσης» από τον συνδεδεμένο πελάτη εκτέλεσης. Το τυλίγουν σε δεδομένα συναίνεσης για να σχηματίσουν ένα μπλοκ, το οποίο στέλνουν σε άλλους κόμβους στο δίκτυο Ethereum. Αυτή η παραγωγή μπλοκ ανταμείβεται σε ETH. Σε σπάνιες περιπτώσεις όπου υπάρχουν πολλαπλά πιθανά μπλοκ για ένα μόνο χρονικό διάστημα ή οι κόμβοι μαθαίνουν για μπλοκ σε διαφορετικές χρονικές στιγμές, ο αλγόριθμος επιλογής fork επιλέγει το μπλοκ που σχηματίζει την αλυσίδα με το μεγαλύτερο βάρος των βεβαιώσεων (όπου το βάρος είναι ο αριθμός των επικυρωτών που βεβαιώνουν κλιμακωμένος από την ισορροπία ETH τους).
+
+#### Ασφάλεια {#pos-security}
+
+Ένα σύστημα απόδειξης συμμετοχής είναι ασφαλές κρυπτο-οικονομικά επειδή ένας επιτιθέμενος που προσπαθεί να αποκτήσει τον έλεγχο της αλυσίδας πρέπει να καταστρέψει μια τεράστια ποσότητα ETH. Ένα σύστημα ανταμοιβών ενθαρρύνει τους μεμονωμένους επικυρωτές να συμπεριφέρονται ειλικρινά, και οι κυρώσεις αποθαρρύνουν τους επικυρωτές από κακόβουλες ενέργειες.
+
+Δείτε περισσότερα για [την απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/)
+
+### Ένας εικονικός οδηγός {#types-of-consensus-video}
+
+Δείτε περισσότερα για τους διάφορους τύπους μηχανισμών συναίνεσης που χρησιμοποιούνται στο Ethereum:
+
+
+
+### Αντίσταση σε επιθέσεις Sybil & επιλογή αλυσίδας {#sybil-chain}
+
+Η απόδειξη εργασίας και η απόδειξη συμμετοχής από μόνες τους δεν είναι πρωτόκολλα συναίνεσης, αλλά αναφέρονται συχνά ως τέτοια για απλούστευση. Είναι στην πραγματικότητα μηχανισμοί αντίστασης σε επιθέσεις Sybil και επιλογείς συγγραφέα μπλοκ, είναι ένας τρόπος να αποφασιστεί ποιος είναι ο συγγραφέας του τελευταίου μπλοκ. Ένα άλλο σημαντικό στοιχείο είναι ο αλγόριθμος επιλογής αλυσίδας (γνωστός και ως επιλογή fork) που επιτρέπει στους κόμβους να επιλέγουν ένα μόνο σωστό μπλοκ στην κεφαλή της αλυσίδας σε σενάρια όπου υπάρχουν πολλαπλά μπλοκ στην ίδια θέση.
+
+Η **αντίσταση σε επιθέσεις Sybil** μετράει πώς ένα πρωτόκολλο τα πηγαίνει έναντι μιας επίθεσης Sybil. Η αντίσταση σε αυτόν τον τύπο επίθεσης είναι απαραίτητη για μια αποκεντρωμένη αλυσίδα μπλοκ και επιτρέπει στους κρυπτορύχους και τους επικυρωτές να ανταμειφθούν ισότιμα με βάση τους πόρους που επενδύονται. Η απόδειξη εργασίας και η απόδειξη συμμετοχής προστατεύουν από αυτό αναγκάζοντας τους χρήστες να καταναλώνουν πολλή ενέργεια ή να καταθέσουν πολλά εγγυητικά κεφάλαια. Αυτές οι προστασίες αποτελούν οικονομικό αποτρεπτικό για τις επιθέσεις Sybil.
+
+Ένας **κανόνας επιλογής αλυσίδας** χρησιμοποιείται για να αποφασίσει ποια αλυσίδα είναι η "σωστή" αλυσίδα. Το Bitcoin χρησιμοποιεί τον κανόνα "μακρύτερης αλυσίδας", που σημαίνει ότι όποια αλυσίδα μπλοκ είναι η μακρύτερη θα είναι αυτή που οι υπόλοιποι κόμβοι θα δεχτούν ως έγκυρη και θα συνεργαστούν. Για τις αλυσίδες απόδειξης εργασίας, η μακρύτερη αλυσίδα καθορίζεται από τη συνολική σωρευτική δυσκολία απόδειξης εργασίας της αλυσίδας. Το Ethereum χρησιμοποιούσε επίσης τον κανόνα της μακρύτερης αλυσίδας, ωστόσο τώρα που το Ethereum λειτουργεί με απόδειξη συμμετοχής υιοθέτησε έναν ενημερωμένο αλγόριθμο επιλογής fork που μετρά το "βάρος" της αλυσίδας. Το βάρος είναι το σωρευτικό άθροισμα των ψήφων επικύρωσης, σταθμισμένο με βάση τα ισορροπία του αποθηκευμένου ether των επικυρωτών.
+
+Το Ethereum χρησιμοποιεί έναν μηχανισμό συναίνεσης γνωστό ως [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/) που συνδυάζει την [απόδειξη συμμετοχής Casper FFG](https://arxiv.org/abs/1710.09437) με τον [κανόνα επιλογής fork GHOST](https://arxiv.org/abs/2003.03052).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Τι είναι ο αλγόριθμος συναίνεσης κρυπτοαλυσίδας;](https://academy.binance.com/en/articles/what-is-a-blockchain-consensus-algorithm)
+- [Τι είναι η συναίνεση Nakamoto; Πλήρης Οδηγός Αρχάριων](https://blockonomi.com/nakamoto-consensus/)
+- [Πώς λειτουργεί το Casper;](https://medium.com/unitychain/intro-to-casper-ffg-9ed944d98b2d)
+- [Ασφάλεια και επιδόσεις της απόδειξης εργασίας στις κρυπτοαλυσίδες](https://eprint.iacr.org/2016/555.pdf)
+- [Byzantine fault](https://en.wikipedia.org/wiki/Byzantine_fault)
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Σχετικά θέματα {#related-topics}
+
+- [Απόδειξη της εργασίας](/developers/docs/consensus-mechanisms/pow/)
+- [Εξόρυξη](/developers/docs/consensus-mechanisms/pow/mining/)
+- [Απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/)
+- [Απόδειξη Αρχής](/developers/docs/consensus-mechanisms/poa/)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/poa/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/poa/index.md
new file mode 100644
index 00000000000..e5fd415768f
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/poa/index.md
@@ -0,0 +1,79 @@
+---
+title: Απόδειξη Αρχής [Proof-of-authority (PoA)]
+description: Μια εξήγηση του πρωτοκόλλου συναίνεσης με Απόδειξη Αρχής και του ρόλου του στο οικοσύστημα μιας κρυπτοαλυσίδας.
+lang: el
+---
+
+Η **Απόδειξη Αρχής [Proof-of-authority (PoA)]** είναι ένας αλγόριθμος συναίνεσης που βασίζεται στη υπόληψη και είναι μια τροποποιημένη έκδοση της [Απόδειξης Συμμετοχής (PoS)](/developers/docs/consensus-mechanisms/pos/). Χρησιμοποιείται κυρίως από ιδιωτικές αλυσίδες, δοκιμαστικά δίκτυα και τοπικά δίκτυα ανάπτυξης. Το PoA είναι ένας αλγόριθμος συναίνεσης που βασίζεται στη φήμη και απαιτεί την εμπιστοσύνη ενός συνόλου εξουσιοδοτημένων υπογραφόντων για την παραγωγή μπλοκ, αντί ενός μηχανισμού που βασίζεται στη δέσμευση κεφαλαίου στην PoS.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας προτείνουμε πρώτα να διαβάσετε σχετικά με τις [συναλλαγές](/developers/docs/transactions/), τα [μπλοκ](/developers/docs/blocks/), και τους [μηχανισμούς συναίνεσης](/developers/docs/consensus-mechanisms/).
+
+## Τι είναι Απόδειξη Αρχής (PoA); {#what-is-poa}
+
+Η Απόδειξη Αρχής είναι μια τροποποιημένη έκδοση της **[Απόδειξης Συμμετοχής](/developers/docs/consensus-mechanisms/pos/) (PoS)** που είναι ένας αλγόριθμος συναίνεσης που βασίζεται στη φήμη σε αντίθεση με τον μηχανισμό δέσμευσης κεφαλαίου στην PoS. Ο όρος εισήχθη για πρώτη φορά το 2017 από τον Gavin Wood. Αυτός ο αλγόριθμος συναίνεσης έχει χρησιμοποιηθεί ως επί το πλείστον από ιδιωτικές αλυσίδες, δοκιμαστικά δίκτυα και τοπικά δίκτυα ανάπτυξης, καθώς ξεπερνά την ανάγκη για υψηλής ποιότητας πόρους, σε αντίθεση με την απόδειξη εργασίας (PoW), και τα προβλήματα επεκτασιμότητας που αντιμετωπίζει η PoS χάρη στο μικρό υποσύνολο κόμβων που αποθηκεύουν το blockchain και παράγουν μπλοκ.
+
+Η Απόδειξη Αρχής απαιτεί την εμπιστοσύνη ενός συνόλου εξουσιοδοτημένων υπογραφόντων που έχουν οριστεί στο [πρώτο μπλοκ](/glossary/#genesis-block). Στις περισσότερες τρέχουσες υλοποιήσεις, όλοι οι εξουσιοδοτημένοι υπογράφοντες διατηρούν ισοδύναμη ισχύ και προνόμια κατά τον καθορισμό της συναίνεσης της αλυσίδας. Η ιδέα πίσω από την αποθήκευση κεφαλαίου βάσει φήμης είναι ότι κάθε εξουσιοδοτημένος επικυρωτής είναι γνωστός σε όλους μέσω υπηρεσιών όπως «know your customer» (KYC) ή επειδή έχει έναν γνωστό οργανισμό ως μοναδικό επικυρωτή. Με αυτόν τον τρόπο, εάν ένας επικυρωτής κάνει κάτι λάθος, η ταυτότητά του είναι γνωστή.
+
+Υπάρχουν πολλές υλοποιήσεις του PoA, αλλά η τυπική υλοποίηση του Ethereum είναι το **clique**, η οποία υλοποιεί το [EIP-225](https://eips.ethereum.org/EIPS/eip-225). Το Clique είναι ένα φιλικό προς τους προγραμματιστές και εύκολο στην εφαρμογή πρότυπο, που υποστηρίζει όλους τους τύπους συγχρονισμού πελατών. Άλλες υλοποιήσεις περιλαμβάνουν το [IBFT 2.0](https://besu.hyperledger.org/stable/private-networks/concepts/poa) και το [Aura](https://openethereum.github.io/Chain-specification).
+
+## Πώς λειτουργεί {#how-it-works}
+
+Στο PoA, επιλέγεται ένα σύνολο εξουσιοδοτημένων υπογραφόντων για τη δημιουργία νέων μπλοκ. Οι υπογράφοντες επιλέγονται με βάση τη φήμη τους και είναι οι μόνοι που επιτρέπεται να δημιουργήσουν νέα μπλοκ. Επιλέγονται εκ περιτροπής και σε κάθε υπογράφοντα επιτρέπεται να δημιουργήσει ένα μπλοκ σε ένα συγκεκριμένο χρονικό πλαίσιο. Ο χρόνος δημιουργίας μπλοκ είναι προκαθορισμένος και οι υπογράφοντες πρέπει να δημιουργήσουν ένα μπλοκ εντός αυτού του χρονικού πλαισίου.
+
+Η φήμη σε αυτό το πλαίσιο δεν είναι κάτι ποσοτικοποιημένο — είναι η φήμη γνωστών εταιρειών όπως η Microsoft και η Google. Επομένως, ο τρόπος επιλογής των αξιόπιστων υπογραφόντων δεν είναι αλγοριθμικός. Είναι η συνηθισμένη ανθρώπινη πράξη _εμπιστοσύνης_ όπου μια οντότητα, ας πούμε, για παράδειγμα, η Microsoft, δημιουργεί ένα ιδιωτικό δίκτυο PoA μεταξύ εκατοντάδων ή χιλιάδων νεοσύστατων επιχειρήσεων και ο ίδιος ο ρόλος του μοναδικού αξιόπιστου υπογράφοντα με τη δυνατότητα προσθήκης άλλων γνωστών υπογραφόντων όπως η Google στο μέλλον, θα έκανε τις νεοσύστατες εταιρείες, χωρίς αμφιβολία, να εμπιστεύονται ότι η Microsoft θα ενεργεί με ειλικρινή τρόπο όλες τις φορές και να χρησιμοποιούν το δίκτυο. Αυτό δίνει λύση στην ανάγκη δέσμευσης κεφαλαίου σε διαφορετικά μικρά/ιδιωτικά δίκτυα που κατασκευάστηκαν για διαφορετικούς σκοπούς, ώστε να διατηρηθούν αποκεντρωμένα και λειτουργικά, καθώς και στην ανάγκη για εξορύκτες, που καταναλώνει πολλή ενέργεια και πόρους. Ορισμένα ιδιωτικά δίκτυα χρησιμοποιούν το πρότυπο PoA ως έχει, όπως το VeChain, και ορισμένα το τροποποιούν, όπως το Binance που χρησιμοποιεί το [PoSA](https://academy.binance.com/en/glossary/proof-of-staked-authority-posa) που είναι μια προσαρμοσμένη τροποποιημένη έκδοση του PoA και του PoS.
+
+Η διαδικασία ψηφοφορίας γίνεται από τους ίδιους τους υπογράφοντες. Κάθε υπογράφων ψηφίζει για την προσθήκη ή την αφαίρεση ενός υπογράφοντα στο μπλοκ τους όταν δημιουργούν ένα νέο μπλοκ. Οι ψήφοι καταμετρώνται από τους κόμβους και οι υπογράφοντες προστίθενται ή αφαιρούνται με βάση τις ψήφους που φτάνουν σε ένα συγκεκριμένο όριο `SIGNER_LIMIT`.
+
+Μπορεί να υπάρχει μια κατάσταση όπου εμφανίζονται μικρές διακλαδώσεις, αλλά η δυσκολία ενός μπλοκ εξαρτάται από το αν το μπλοκ υπογράφηκε στη σειρά του ή εκτός σειράς. Τα μπλοκ που υπογράφονται «στη σειρά τους» έχουν δυσκολία 2, και τα μπλοκ «εκτός σειράς» έχουν δυσκολία 1. Στην περίπτωση των μικρών διακλαδώσεων, η αλυσίδα με τους περισσότερους από τους υπογράφοντες να σφραγίζουν το μπλοκ «στη σειρά τους», θα συγκεντρώσει τη μεγαλύτερη δυσκολία και θα κερδίσει.
+
+## Φορείς επίθεσης {#attack-vectors}
+
+### Κακόβουλοι υπογράφοντες {#malicious-signers}
+
+Θα μπορούσε να προστεθεί στη λίστα των υπογραφόντων ένας κακόβουλος χρήστης ή να παραβιαστεί ένα κλειδί / μια μηχανή υπογραφής. Σε ένα τέτοιο σενάριο, το πρωτόκολλο πρέπει να μπορεί να αμύνεται έναντι αναδιοργανώσεων και spamming. Η προτεινόμενη λύση είναι η εξής: από μια λίστα με Ν εξουσιοδοτημένους υπογράφοντες, οποιοσδήποτε υπογράφων μπορεί να δημιουργήσει μόνο 1 μπλοκ από κάθε K. Αυτό διασφαλίζει ότι η ζημιά είναι περιορισμένη και οι υπόλοιποι επικυρωτές μπορούν να εξοστρακίσουν με την ψήφο τους τον κακόβουλο χρήστη.
+
+### Λογοκρισία {#censorship-attack}
+
+Ένας άλλος ενδιαφέρων φορέας επίθεσης είναι η περίπτωση που ένας υπογράφων (ή ομάδα υπογραφόντων) επιχειρεί να λογοκρίνει μπλοκ που ψηφίζουν για την κατάργησή τους από τη λίστα εξουσιοδότησης. Για να αντιμετωπιστεί αυτό, η επιτρεπόμενη συχνότητα δημιουργίας των υπογραφόντων περιορίζεται σε 1 από N/2. Αυτό διασφαλίζει ότι οι κακόβουλοι υπογράφοντες πρέπει να ελέγχουν τουλάχιστον το 51% των λογαριασμών υπογραφής, οπότε θα γίνουν ουσιαστικά η νέα πηγή αλήθειας για την αλυσίδα.
+
+### Spam {#spam-attack}
+
+Ένας άλλος μικρός φορέας επίθεσης είναι κακόβουλοι υπογράφοντες που εισάγουν νέες προτάσεις ψήφου μέσα σε κάθε μπλοκ που δημιουργούν. Δεδομένου ότι οι κόμβοι πρέπει να συγκεντρώνουν όλες τις ψήφους για να δημιουργήσουν την πραγματική λίστα των εξουσιοδοτημένων υπογραφόντων, πρέπει να καταγράψουν όλες τις ψήφους σε βάθος χρόνου. Αν δεν τεθεί όριο στο παράθυρο ψηφοφορίας, αυτό θα μπορούσε να αναπτυχθεί αργά, αλλά χωρίς περιορισμούς. Η λύση είναι να τοποθετηθεί ένα _κινούμενο_ παράθυρο αποτελούμενο από W μπλοκ μετά το οποίο οι ψήφοι θεωρούνται παρωχημένες. _Ένα εύλογο παράθυρο μπορεί να αποτελείται από 1-2 εποχές._
+
+### Ταυτόχρονη δημιουργία μπλοκ {#concurrent-blocks}
+
+Σε ένα δίκτυο PoA, όταν υπάρχουν N εξουσιοδοτημένοι υπογράφοντες, κάθε ένας επιτρέπεται να δημιουργήσει 1 μπλοκ από τους K, πράγμα που σημαίνει ότι N-K+1 επικυρωτές επιτρέπεται να δημιουργούν σε οποιαδήποτε δεδομένη χρονική στιγμή. Για να αποτρέψετε αυτούς τους επικυρωτές από το να συναγωνίζονται για τα μπλοκ, κάθε υπογράφων θα πρέπει να προσθέσει ένα μικρό τυχαίο «αντιστάθμισμα» στη στιγμή που απελευθερώνει ένα νέο μπλοκ. Παρόλο που αυτή η διαδικασία διασφαλίζει ότι οι μικρές διακλαδώσεις είναι σπάνιες, η εμφάνιση περιστασιακών διακλαδώσεων εξακολουθεί να είναι πιθανή, όπως το Κεντρικό Δίκτυο. Εάν διαπιστωθεί ότι ένας υπογράφων κάνει κατάχρηση της εξουσίας του και προκαλεί χάος, οι άλλοι υπογράφοντες μπορούν να τον εξοστρακίσουν μέσω ψηφοφορίας.
+
+Εάν, για παράδειγμα, υπάρχουν 10 εξουσιοδοτημένοι υπογράφοντες και κάθε υπογράφων επιτρέπεται να δημιουργήσει 1 μπλοκ στα 20, τότε ανά πάσα στιγμή, 11 επικυρωτές μπορούν να δημιουργήσουν μπλοκ. Για να τους αποτρέψει από το να συναγωνιστούν για τη δημιουργία μπλοκ, κάθε υπογράφων προσθέτει ένα μικρό τυχαίο «αντιστάθμισμα» τη στιγμή που ελευθερώνει ένα νέο μπλοκ. Αυτό μειώνει την εμφάνιση μικρών διακλαδώσεων, αλλά εξακολουθεί να επιτρέπει περιστασιακές διακλαδώσεις, όπως φαίνεται στο Κεντρικό Δίκτυο του Ethereum. Εάν ένας υπογράφων κάνει κατάχρηση της εξουσίας του και προκαλεί διαταραχές, μπορεί να ψηφιστεί η έξοδός του από το δίκτυο.
+
+## Πλεονεκτήματα και μειονεκτήματα {#pros-and-cons}
+
+| Πλεονεκτήματα | Μειονεκτήματα |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Κλιμακώνεται περισσότερο από άλλους δημοφιλείς μηχανισμούς όπως το PoS και το PoW, καθώς βασίζεται σε περιορισμένο αριθμό υπογραφόντων μπλοκ | Τα δίκτυα PoA έχουν συνήθως έναν σχετικά μικρό αριθμό κόμβων επικύρωσης. Αυτό συνεπάγεται την πιο κεντρική διαχείριση ενός δικτύου PoA. |
+| Η λειτουργία και συντήρηση των blockchain PoA είναι απίστευτα φθηνή | Είναι σχεδόν ανέφικτο για έναν συνηθισμένο χρήστη να γίνει εξουσιοδοτημένος υπογράφων, επειδή το blockchain απαιτεί οντότητες με καθιερωμένη φήμη. |
+| Οι συναλλαγές επιβεβαιώνονται πολύ γρήγορα, καθώς θα μπορούσαν να επιτευχθούν σε λιγότερο από 1 δευτερόλεπτο, επειδή απαιτείται μόνο περιορισμένος αριθμός υπογραφόντων για την επικύρωση νέων μπλοκ | Οι κακόβουλοι υπογράφοντες θα μπορούσαν να αναδιοργανώσουν, να διπλασιάσουν τις δαπάνες, να λογοκρίνουν συναλλαγές στο δίκτυο. Αυτές οι επιθέσεις μετριάζονται, αλλά εξακολουθούν να είναι πιθανές |
+
+## Περαιτέρω υλικό για διάβασμα {#further-reading}
+
+- [EIP-225](https://eips.ethereum.org/EIPS/eip-225) _Πρότυπο Clique
+- [Μελέτη Απόδειξης Αρχής](https://github.com/cryptoeconomics-study/website/blob/master/docs/sync/2.4-lecture.md) _Cryptoeconomics_
+- [Τι είναι η Απόδειξη Αρχής](https://forum.openzeppelin.com/t/proof-of-authority/3577) _OpenZeppelin_
+- [Εξήγηση Απόδειξης Αρχής](https://academy.binance.com/en/articles/proof-of-authority-explained) _binance_
+- [PoA σε blockchain](https://medium.com/techskill-brew/proof-of-authority-or-poa-in-blockchain-part-11-blockchain-series-be15b3321cba)
+- [Εξήγηση Clique](https://medium.com/@Destiner/clique-cross-client-proof-of-authority-algorithm-for-ethereum-8b2a135201d)
+- [Καταργημένο PoA, προδιαγραφή Aura](https://openethereum.github.io/Chain-specification)
+- [IBFT 2.0, άλλη μια υλοποίηση PoA](https://besu.hyperledger.org/stable/private-networks/concepts/poa)
+
+### Περισσότερα από έναν εικονικό μαθητή; {#visual-learner}
+
+Παρακολουθήστε μια οπτική επεξήγηση της απόδειξης αρχής:
+
+
+
+## Σχετικά θέματα {#related-topics}
+
+- [Απόδειξη Εργασίας](/developers/docs/consensus-mechanisms/pow/)
+- [Απόδειξη Συμμετοχής](/developers/docs/consensus-mechanisms/pos/)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
new file mode 100644
index 00000000000..7d64f7173e1
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
@@ -0,0 +1,166 @@
+---
+title: Επίθεση και άμυνα στην απόδειξη συμμετοχής του Ethereum
+description: Μάθετε για τους γνωστούς τρόπους επίθεσης στην απόδειξη συμμετοχής του Ethereum και πώς μπορούν να αποτραπούν.
+lang: el
+---
+
+Κλέφτες και σαμποτέρ αναζητούν συνεχώς ευκαιρίες για να επιτεθούν στο λογισμικό πελάτη του Ethereum. Αυτή η σελίδα περιγράφει τους γνωστούς τρόπους επίθεσης στο επίπεδο συναίνεσης του Ethereum και περιγράφει πώς αυτές οι επιθέσεις μπορούν να αποτραπούν. Οι πληροφορίες σε αυτή τη σελίδα έχουν προσαρμοστεί από μια [μακροσκελέστερη έκδοση](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs).
+
+## Προαπαιτούμενα {#prerequisites}
+
+Απαιτούνται ορισμένες βασικές γνώσεις για την [απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/). Επίσης, θα είναι χρήσιμο να έχετε μια στοιχειώδη κατανόηση του [επιπέδου κινήτρων](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties) και του αλγόριθμου επιλογής διακλάδωσης (fork), [LMD-GHOST](/developers/docs/consensus-mechanisms/pos/gasper), του Ethereum.
+
+## Τι θέλουν οι επιτιθέμενοι; {#what-do-attackers-want}
+
+Μια κοινή παρανόηση είναι ότι ένας επιτυχημένος επιτιθέμενος μπορεί να δημιουργήσει νέο ether ή να αποσπάσει ether από τυχαίους λογαριασμούς. Κανένα από τα δύο αυτά αποτελέσματα δεν είναι δυνατό, γιατί όλες οι συναλλαγές εκτελούνται από όλους τους πελάτες εκτέλεσης στο δίκτυο. Πρέπει να ικανοποιούν βασικές συνθήκες πιστοποίησης (π.χ. οι συναλλαγές να υπογράφονται από το ιδιωτικό κλειδί του αποστολέα, ο αποστολέας να έχει επαρκές υπόλοιπο κ.λπ.), αλλιώς απλά αναστρέφονται. Υπάρχουν τρεις κατηγορίες αποτελεσμάτων που ένας επιτιθέμενος μπορεί να επιδιώξει ρεαλιστικά: αναδιοργανώσεις, διπλή οριστικότητα ή καθυστέρηση οριστικότητας.
+
+Μια **«αναδιοργάνωση»** είναι μια αναδιάταξη των μπλοκ σε νέα σειρά, ίσως με κάποια προσθήκη ή αφαίρεση μπλοκ στην κανονική αλυσίδα. Μια κακόβουλη αναδιοργάνωση μπορεί να εξασφαλίσει τη συμπερίληψη ή εξαίρεση συγκεκριμένων μπλοκ, επιτρέποντας διπλή δαπάνη ή εξαγωγή αξίας μέσω front-running και back-running συναλλαγών (MEV). Οι αναδιοργανώσεις θα μπορούσαν επίσης να χρησιμοποιηθούν για να εμποδίσουν τη συμπερίληψη ορισμένων συναλλαγών στην κανονική αλυσίδα, δηλαδή αποτελούν μια μορφή λογοκρισίας. Η πιο ακραία μορφή αναδιοργάνωσης είναι η «αντιστροφή οριστικότητας» που αφαιρεί ή αντικαθιστά μπλοκ που έχουν προηγουμένως οριστικοποιηθεί. Αυτό είναι δυνατό μόνο εάν καταστραφεί περισσότερο από το ⅓ του συνολικού αποθηκευμένου ether από τον επιτιθέμενο. Αυτή η εγγύηση είναι γνωστή ως «οικονομική οριστικότητα». Περισσότερα για αυτό το θέμα αργότερα.
+
+Η **διπλή οριστικότητα** είναι απίθανη αλλά σοβαρή κατάσταση όπου δύο ενσωματώσεις μπορούν να οριστικοποιηθούν ταυτόχρονα, δημιουργώντας ένα μόνιμο σχίσμα στην αλυσίδα. Αυτό είναι θεωρητικά δυνατό για έναν επιτιθέμενο που είναι διατεθειμένος να διακινδυνεύσει το 34% του συνολικού αποθηκευμένου ether. Η κοινότητα θα αναγκαζόταν να συντονίσει το offchain και να καταλήξει σε συμφωνία για το ποια αλυσίδα να ακολουθήσει, κάτι που θα απαιτούσε δύναμη στο κοινωνικό στρώμα.
+
+Μια επίθεση **καθυστέρησης οριστικότητας** εμποδίζει το δίκτυο να επιτύχει τις απαραίτητες συνθήκες για την οριστικοποίηση τμημάτων της αλυσίδας. Χωρίς οριστικότητα, είναι δύσκολο να εμπιστευτεί κανείς τις χρηματοοικονομικές εφαρμογές που είναι χτισμένες πάνω στο Ethereum. Στόχος μιας επίθεσης καθυστέρησης οριστικότητας είναι πιθανώς απλά να διαταράξει το Ethereum παρά να αποκομίσει άμεσο κέρδος, εκτός εάν ο επιτιθέμενος έχει κάποια στρατηγική χρεωστική θέση.
+
+Μια επίθεση στο κοινωνικό επίπεδο μπορεί να στοχεύει στην υπονόμευση της δημόσιας εμπιστοσύνης στο Ethereum, την υποτίμηση του ether, τη μείωση της υιοθέτησης ή την αποδυνάμωση της κοινότητας του Ethereum για να δυσκολέψει τον συντονισμό εκτός ζώνης.
+
+Αφού καθορίσαμε τους λόγους για τους οποίους ένας αντίπαλος μπορεί να επιτεθεί στο Ethereum, οι ενότητες που ακολουθούν εξετάζουν _πώς_ μπορεί να το κάνει αυτό.
+
+## Μέθοδοι επίθεσης {#methods-of-attack}
+
+### Επιθέσεις στο Επίπεδο 0 {#layer-0}
+
+Καταρχάς, άτομα που δεν συμμετέχουν ενεργά στο Ethereum (μέσω της εκτέλεσης λογισμικού πελάτη) μπορούν να επιτεθούν βάζοντας στο στόχαστρο το κοινωνικό επίπεδο (Επίπεδο 0). Το Επίπεδο 0 είναι το θεμέλιο πάνω στο οποίο είναι χτισμένο το Ethereum και, ως εκ τούτου, αποτελεί μια εν δυνάμει επιφάνεια για επιθέσεις με συνέπειες που διατρέχουν το υπόλοιπο stack. Μερικά παραδείγματα μπορεί να περιλαμβάνουν:
+
+- Μια εκστρατεία παραπληροφόρησης θα μπορούσε να υποσκάψει την εμπιστοσύνη που έχει η κοινότητα στον οδικό χάρτη του Ethereum, στις ομάδες προγραμματιστών, στις εφαρμογές κ.λπ. Αυτό θα μπορούσε, στη συνέχεια, να μειώσει τον αριθμό των ατόμων που είναι διατεθειμένα να συμμετάσχουν στην ασφάλεια του δικτύου, υποβαθμίζοντας τόσο την αποκέντρωση όσο και την κρυπτοοικονομική ασφάλεια.
+
+- Στοχευμένες επιθέσεις και/ή εκφοβισμός της κοινότητας των προγραμματιστών. Αυτό θα μπορούσε να οδηγήσει σε εθελοντική έξοδο των προγραμματιστών και επιβράδυνση της προόδου του Ethereum.
+
+- Η υπερβολική ρύθμιση θα μπορούσε επίσης να θεωρηθεί επίθεση στο Επίπεδο 0, καθώς θα μπορούσε να αποθαρρύνει γρήγορα τη συμμετοχή και την υιοθέτηση.
+
+- Διείσδυση κακόβουλων, καταρτισμένων επί του θέματος παραγόντων στην κοινότητα των προγραμματιστών με στόχο την επιβράδυνση της προόδου μέσω συζητήσεων χωρίς ουσία, καθυστερήσεων στη λήψη βασικών αποφάσεων, δημιουργίας spam κ.λπ.
+
+- Δωροδοκίες σε βασικούς παίκτες του οικοσυστήματος Ethereum για να επηρεάσουν τη διαδικασία λήψης αποφάσεων.
+
+Αυτό που καθιστά αυτές τις επιθέσεις ιδιαίτερα επικίνδυνες είναι ότι, σε πολλές περιπτώσεις, απαιτείται πολύ λίγο κεφάλαιο ή τεχνογνωσία. Μια επίθεση Επιπέδου 0 θα μπορούσε να λειτουργήσει ως πολλαπλασιαστής ισχύος σε μια κρυπτοοικονομική επίθεση. Για παράδειγμα, εάν η λογοκρισία ή η αντιστροφή οριστικότητας επιτευχθεί από έναν κακόβουλο ενδιαφερόμενο πλειοψηφίας, η υπονόμευση του κοινωνικού επιπέδου ίσως δυσκολέψει τον συντονισμό μιας απόκρισης της κοινότητας εκτός ζώνης.
+
+Η άμυνα κατά επιθέσεων στο Επίπεδο 0 πιθανότατα δεν είναι απλή υπόθεση, αλλά μπορούν να διατυπωθούν κάποιες βασικές αρχές. Μία από αυτές είναι η διατήρηση ενός γενικά υψηλού λόγου σήματος προς θόρυβο για τις δημόσιες πληροφορίες σχετικά με το Ethereum, που δημιουργούνται και διαδίδονται από αξιόπιστα μέλη της κοινότητας μέσω blog, διακομιστών Discord, σχολιασμών των προδιαγραφών, βιβλίων, podcast και YouTube. Εδώ στο ethereum.org προσπαθούμε σκληρά να διατηρήσουμε ακριβείς πληροφορίες και να τις μεταφράσουμε σε όσο το δυνατόν περισσότερες γλώσσες. Η διατήρηση ενός χώρου με υψηλής ποιότητας πληροφορίες και meme αποτελεί αποτελεσματική άμυνα κατά της παραπληροφόρησης.
+
+Ένα άλλο σημαντικό οχυρό κατά των επιθέσεων στο κοινωνικό επίπεδο είναι μια σαφής δήλωση αποστολής και πρωτόκολλο διακυβέρνησης. Το Ethereum έχει αναδειχθεί ως πρωταθλητής της αποκέντρωσης και της ασφάλειας στα Έξυπνα Συμβόλαια Επιπέδου 1, ενώ παράλληλα αποδίδει μεγάλη αξία στη δυνατότητα κλιμάκωσης και τη βιωσιμότητα. Όποια διαφωνία και αν προκύψει στην κοινότητα Ethereum, αυτές οι βασικές αρχές παραβιάζονται ελάχιστα. Η αξιολόγηση μιας αφήγησης σε σχέση με αυτές τις βασικές αρχές και η εξέτασή της μέσω διαδοχικών κύκλων αναθεώρησης στη διαδικασία EIP (Πρόταση Βελτίωσης Ethereum), μπορεί να βοηθήσει την κοινότητα να διακρίνει τους καλούς από τους κακούς παράγοντες και περιορίζει το πεδίο εντός του οποίου μπορούν να επηρεάσουν τη μελλοντική πορεία του Ethereum οι κακόβουλοι παράγοντες.
+
+Τέλος, είναι κρίσιμης σημασίας η κοινότητα Ethereum να παραμείνει ανοιχτή και φιλική προς όλους τους συμμετέχοντες. Μια κοινότητα με φρουρούς της πύλης και αποκλειστικότητα είναι ιδιαίτερα ευάλωτη σε κοινωνικές επιθέσεις, επειδή είναι εύκολο να χτιστούν αφηγήσεις του τύπου «εμείς εναντίον αυτών». Ο φυλετισμός και ο τοξικός μαξιμαλισμός βλάπτουν την κοινότητα και διαβρώνουν την ασφάλεια του Επιπέδου 0. Οι Etherean που ενδιαφέρονται προσωπικά για την ασφάλεια του δικτύου θα πρέπει να θεωρούν τη συμπεριφορά τους στον διαδικτυακό και τον φυσικό κόσμο ως άμεση συμβολή στην ασφάλεια του Επιπέδου 0 του Ethereum.
+
+### Επίθεση στο πρωτόκολλο {#attacking-the-protocol}
+
+Το λογισμικό πελάτη του Ethereum μπορεί να εκτελεστεί από οποιονδήποτε. Για να προστεθεί ένας επικυρωτής σε έναν πελάτη, ένας χρήστης πρέπει να αποθηκεύσει 32 ether στο συμβόλαιο κατάθεσης. Ένας επικυρωτής επιτρέπει σε έναν χρήστη να συμμετάσχει ενεργά στην ασφάλεια του δικτύου Ethereum μέσω της πρότασης και βεβαίωσης νέων μπλοκ. Ο επικυρωτής έχει πλέον μια φωνή που μπορεί να χρησιμοποιήσει για να επηρεάσει το μέλλον του περιεχομένου της κρυπτοαλυσίδας. Αυτό μπορεί να το κάνει με ειλικρίνεια και να αυξήσει το απόθεμά του σε ether μέσω ανταμοιβών ή μπορεί να προσπαθήσει να χειραγωγήσει τη διαδικασία προς όφελός του, διακινδυνεύοντας το αποθηκευμένο κεφάλαιό του. Ένας τρόπος για να πραγματοποιηθεί μια επίθεση είναι να συσσωρευτεί ένα μεγαλύτερο ποσοστό του συνολικού αποθηκευμένου κεφαλαίου και, στη συνέχεια, να χρησιμοποιηθεί για να επιτευχθεί πλειοψηφία έναντι των ειλικρινών επικυρωτών. Όσο μεγαλύτερο είναι το ποσοστό του αποθηκευμένου κεφαλαίου που ελέγχει ο επιτιθέμενος, τόσο μεγαλύτερη είναι η δύναμη ψήφου του, ειδικά σε ορισμένα οικονομικά ορόσημα που θα εξετάσουμε αργότερα. Ωστόσο, οι περισσότεροι επιτιθέμενοι δεν θα είναι σε θέση να συσσωρεύσουν επαρκές κεφάλαιο ether για να επιτεθούν με αυτόν τον τρόπο. Αντ' αυτού, θα πρέπει να καταφύγουν σε διακριτικές τεχνικές χειραγώγησης της ειλικρινούς πλειοψηφίας ώστε να ενεργήσει με συγκεκριμένο τρόπο.
+
+Κατά βάση, όλες οι επιθέσεις μικρού αποθηκευμένου κεφαλαίου είναι ελαφρές παραλλαγές δύο τύπων κακής συμπεριφοράς επικυρωτή: υποδραστηριότητα (μη βεβαίωση/πρόταση ή καθυστερημένη βεβαίωση/πρόταση) ή υπερδραστηριότητα (πρόταση/βεβαίωση πάρα πολλές φορές σε ένα χρονικό κενό). Στις πιο απλές τους μορφές, αυτές οι ενέργειες αντιμετωπίζονται εύκολα από τον αλγόριθμο επιλογής ενσωμάτωσης και το επίπεδο κινήτρων, αλλά υπάρχουν έξυπνοι τρόποι για να χειραγωγηθεί το σύστημα προς όφελος ενός επιτιθέμενου.
+
+### Επιθέσεις που χρησιμοποιούν μικρά ποσά ETH {#attacks-by-small-stakeholders}
+
+#### Αναδιοργανώσεις {#reorgs}
+
+Αρκετά άρθρα έχουν εξηγήσει επιθέσεις στο Ethereum που επιτυγχάνουν αναδιοργάνωση ή καθυστέρηση της οριστικότητας με ένα μικρό μόνο ποσοστό του συνολικού δεσμευμένου ether. Αυτές οι επιθέσεις συνήθως βασίζονται στην απόκρυψη κάποιων πληροφοριών από άλλους επικυρωτές και στη μετέπειτα δημοσίευσή τους με κάποιο διαφοροποιημένο τρόπο ή/και σε κάποια κατάλληλη στιγμή. Συνήθως αποσκοπούν στην απομάκρυνση ορισμένων ειλικρινών μπλοκ από την κανονική αλυσίδα. Το άρθρο των [Neuder et al 2020](https://arxiv.org/pdf/2102.02247.pdf) έδειξε πώς ένας επιτιθέμενος επικυρωτής μπορεί να δημιουργήσει και να βεβαιώσει ένα μπλοκ («B») για ένα συγκεκριμένο χρονικό κενό «n+1», αλλά να αποφύγει να το διαδώσει σε άλλους κόμβους του δικτύου. Αντίθετα, καθυστερεί αυτό το βεβαιωμένο μπλοκ μέχρι το επόμενο χρονικό κενό «n+2». Ένας ειλικρινής επικυρωτής προτείνει ένα μπλοκ («C») για το χρονικό κενό «n+2». Σχεδόν ταυτόχρονα, ο επιτιθέμενος δημοσιεύει το μπλοκ που είχε αποκρύψει («B») μαζί με τις αντίστοιχες βεβαιώσεις και βεβαιώνει μέσω της ψήφου του για το χρονικό κενό «n+2» ότι το «B» είναι η κεφαλή της αλυσίδας. Με αυτόν τον τρόπο ουσιαστικά αρνείται την ύπαρξη του ειλικρινούς μπλοκ «C». Όταν δημοσιευθεί το ειλικρινές μπλοκ «D», ο αλγόριθμος επιλογής ενσωμάτωσης βλέπει το «D» που χτίζεται πάνω στο «B» ως μεγαλύτερης βαρύτητας από το «D» που χτίζεται πάνω στο «C». Έτσι, ο επιτιθέμενος κατάφερε να αφαιρέσει το ειλικρινές μπλοκ «C» στο χρονικό κενό «n+2» από την κανονική αλυσίδα χρησιμοποιώντας μια εκ των προτέρων αναδιοργάνωση ενός μπλοκ. [Ένας επιτιθέμενος με 34%](https://www.youtube.com/watch?v=6vzXwwk12ZE) του αποθηκευμένου κεφαλαίου έχει πολύ καλές πιθανότητες επιτυχίας σε αυτή την επίθεση, όπως εξηγείται [σε αυτή τη σημείωση](https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair). Θεωρητικά, ωστόσο, αυτή η επίθεση θα μπορούσε να επιχειρηθεί ακόμη και με μικρότερα ποσοστά αποθηκευμένου κεφαλαίου. Το άρθρο των [Neuder et al 2020](https://arxiv.org/pdf/2102.02247.pdf) περιέγραψε αυτή την επίθεση που λειτούργησε με αποθηκευμένο κεφάλαιο ύψους 30%, αλλά αργότερα αποδείχθηκε ότι ήταν εφικτή με [2% του συνολικού αποθηκευμένου κεφαλαίου](https://arxiv.org/pdf/2009.04987.pdf) και μετά ξανά για έναν [μεμονωμένο επικυρωτή](https://arxiv.org/abs/2110.10086#) χρησιμοποιώντας τεχνικές εξισορρόπησης που θα εξετάσουμε στην επόμενη ενότητα.
+
+
+
+Εννοιολογικό διάγραμμα της επίθεσης αναδιοργάνωσης ενός μπλοκ που περιγράφεται παραπάνω (αντλήθηκε από https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair)
+
+Μια πιο εξελιγμένη επίθεση μπορεί να χωρίσει το σύνολο των ειλικρινών επικυρωτών σε ξεχωριστές ομάδες που έχουν διαφορετικές απόψεις για την κεφαλή της αλυσίδας. Αυτό είναι γνωστό ως **επίθεση ισορροπίας**. Ο επιτιθέμενος περιμένει την ευκαιρία του να προτείνει ένα μπλοκ και, όταν έρθει η ώρα, υιοθετεί μια διφορούμενη στάση και προτείνει δύο. Στέλνει ένα μπλοκ στο μισό του συνόλου των ειλικρινών επικυρωτών και το άλλο μπλοκ στο άλλο μισό. Η αμφιλογία θα ανιχνευόταν από τον αλγόριθμο επιλογής ενσωμάτωσης και ο προτείνων του μπλοκ θα υφίστατο περικοπή και αποβολή από το δίκτυο, αλλά τα δύο μπλοκ θα εξακολουθούσαν να υπάρχουν και θα είχαν περίπου το μισό σύνολο επικυρωτών να βεβαιώνει κάθε ενσωμάτωση. Εν τω μεταξύ, οι υπόλοιποι κακόβουλοι επικυρωτές αποκρύπτουν τις βεβαιώσεις τους. Στη συνέχεια, απελευθερώνοντας επιλεκτικά τις βεβαιώσεις που ευνοούν τη μία ή την άλλη ενσωμάτωση σε έναν επαρκή αριθμό επικυρωτών καθώς εκτελείται ο αλγόριθμος επιλογής ενσωμάτωσης, αλλάζουν το συσσωρευμένο βάρος των βεβαιώσεων υπέρ της μίας ή της άλλης ενσωμάτωσης. Αυτό μπορεί να συνεχιστεί επ' άπειρον, με τους επιτιθέμενους επικυρωτές να διατηρούν μια ομοιόμορφη κατανομή επικυρωτών μεταξύ των δύο ενσωματώσεων. Δεδομένου ότι καμία ενσωμάτωση δεν μπορεί να προσελκύσει υπερπλειοψηφία των 2/3, το δίκτυο δεν θα οριστικοποιηθεί.
+
+Οι **επιθέσεις bouncing** είναι παρόμοιες. Οι επιτιθέμενοι επικυρωτές και πάλι παρακρατούν τις ψήφους. Αντί να αποδεσμεύουν τις ψήφους για να διατηρήσουν μια ομοιόμορφη κατανομή μεταξύ δύο ενσωματώσεων, χρησιμοποιούν τις ψήφους τους σε κατάλληλες στιγμές για να δικαιολογήσουν σημεία ελέγχου που εναλλάσσονται μεταξύ της ενσωμάτωσης Α και της ενσωμάτωσης Β. Αυτή η αμφιταλάντευση της δικαιολόγησης μεταξύ δύο ενσωματώσεων εμποδίζει τον σχηματισμό ζευγών δικαιολογημένων σημείων ελέγχου πηγής και στόχου που μπορούν να οριστικοποιηθούν σε οποιαδήποτε αλυσίδα, διακόπτοντας την οριστικότητα.
+
+
+
+Τόσο οι επιθέσεις bouncing όσο και οι επιθέσεις ισορροπίας βασίζονται στην προϋπόθεση ο επιτιθέμενος να ασκεί ιδιαίτερα ακριβή έλεγχο στον χρονισμό των μηνυμάτων στο δίκτυο, κάτι που είναι απίθανο. Ωστόσο, οι άμυνες είναι ενσωματωμένες στο πρωτόκολλο με τη μορφή πρόσθετου βάρους που δίνεται στα άμεσα μηνύματα σε σύγκριση με τα μηνύματα που αργούν να μεταδοθούν. Αυτό είναι γνωστό ως [ενίσχυση του βάρους του προτείνοντος](https://github.com/ethereum/consensus-specs/pull/2730). Για την άμυνα ενάντια στις επιθέσεις bouncing, ο αλγόριθμος επιλογής ενσωμάτωσης ενημερώθηκε ώστε το πλέον πρόσφατο δικαιολογημένο σημείο ελέγχου να μπορεί να αλλάξει μόνο σε αυτό μιας εναλλακτικής αλυσίδας κατά το [πρώτο 1/3 των χρονικών κενών σε κάθε εποχή](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114). Αυτή η συνθήκη εμποδίζει τον επιτιθέμενο να αποθηκεύει ψήφους για να τις αξιοποιήσει αργότερα. Ο αλγόριθμος επιλογής ενσωμάτωσης απλά παραμένει πιστός στο σημείο ελέγχου που επέλεξε στο πρώτο 1/3 της εποχής κατά τη διάρκεια της οποίας οι περισσότεροι ειλικρινείς επικυρωτές θα είχαν ψηφίσει.
+
+Συνδυαστικά, αυτά τα μέτρα δημιουργούν ένα σενάριο όπου ένας ειλικρινής προτείνων μπλοκ εκδίδει το μπλοκ του πολύ γρήγορα μετά την έναρξη του χρονικού κενού, στη συνέχεια υπάρχει μια περίοδος ίση με περίπου το 1/3 ενός χρονικού κενού (4 δευτερόλεπτα) όπου αυτό το νέο μπλοκ μπορεί να οδηγήσει τον αλγόριθμο επιλογής ενσωμάτωσης να αλλάξει σε μια άλλη αλυσίδα. Μετά το ίδιο χρονικό όριο, οι βεβαιώσεις που φτάνουν από αργούς επικυρωτές υποβαθμίζονται σε σύγκριση με αυτές που έφτασαν νωρίτερα. Αυτό ευνοεί ιδιαίτερα τους ταχείς προτείνοντες και επικυρωτές στον καθορισμό της κεφαλής της αλυσίδας και μειώνει σημαντικά την πιθανότητα μιας επιτυχημένης επίθεσης ισορροπίας ή bouncing.
+
+Αξίζει να σημειωθεί ότι μόνο η ενίσχυση του προτείνοντος λειτουργεί απλώς ως άμυνα εναντίον «φθηνών αναδιοργανώσεων», δηλαδή αναδιοργανώσεων που επιχειρούνται από έναν επιτιθέμενο με μικρό αποθηκευμένο κεφάλαιο. Στην πραγματικότητα, η ενίσχυση του προτείνοντος μπορεί να χειραγωγηθεί από κατόχους μεγαλύτερου αποθηκευμένου κεφαλαίου. Οι συγγραφείς αυτού του [άρθρου](https://ethresear.ch/t/change-fork-choice-rule-to-mitigate-balancing-and-reorging-attacks/11127) περιγράφουν πώς ένας επιτιθέμενος με 7% του αποθηκευμένου κεφαλαίου μπορεί να αξιοποιήσει στρατηγικά τις ψήφους του για να εξαπατήσει τους ειλικρινείς επικυρωτές ώστε να χτίσουν πάνω στην ενσωμάτωσή τους, αναδιοργανώνοντας ένα ειλικρινές μπλοκ. Αυτή η επίθεση σχεδιάστηκε λαμβάνοντας υπόψη ιδανικές συνθήκες καθυστέρησης, οι οποίες είναι πολύ απίθανες. Οι πιθανότητες είναι ακόμα πολύ μεγάλες για τον επιτιθέμενο, και το μεγαλύτερο αποθηκευμένο κεφάλαιο σημαίνει επίσης περισσότερο κεφάλαιο σε κίνδυνο και ισχυρότερο οικονομικό αντικίνητρο.
+
+Επίσης, προτάθηκε μια [επίθεση ισορροπίας που στοχεύει συγκεκριμένα τον κανόνα LMD](https://ethresear.ch/t/balancing-attack-lmd-edition/11853), η οποία θεωρήθηκε εφικτή παρά την ενίσχυση του προτείνοντος. Ένας επιτιθέμενος δημιουργεί δύο ανταγωνιστικές αλυσίδες καθυστερώντας την πρόταση του μπλοκ του και διαδίδοντας κάθε μπλοκ περίπου στο μισό δίκτυο για το καθένα, δημιουργώντας μια κατά προσέγγιση ισορροπία μεταξύ των ενσωματώσεων. Στη συνέχεια, οι συμπράττοντες επικυρωτές καθυστερούν τις ψήφους τους, συγχρονίζοντάς τες έτσι ώστε το μισό δίκτυο να λαμβάνει τις ψήφους τους πρώτα για την Ενσωμάτωση «A» και το άλλο μισό να λαμβάνει τις ψήφους τους πρώτα για την Ενσωμάτωση «B». Δεδομένου ότι ο κανόνας LMD απορρίπτει τη δεύτερη βεβαίωση και διατηρεί μόνο την πρώτη για κάθε επικυρωτή, το μισό δίκτυο βλέπει ψήφους για το «A» και καμία ψήφο για το «B», το άλλο μισό βλέπει ψήφους για το «B» και καμία ψήφο για το «A». Σύμφωνα με τους συγγραφείς, ο κανόνας LMD δίνει στον αντίπαλο «αξιοσημείωτη δύναμη» για να πραγματοποιήσει επίθεση ισορροπίας.
+
+Αυτός ο τρόπος επίθεσης LMD αποκλείστηκε με την [ενημέρωση του αλγόριθμου επιλογής ενσωμάτωσης](https://github.com/ethereum/consensus-specs/pull/2845), έτσι ώστε να απορρίπτει εντελώς τους επικυρωτές που καθυστερούν από την εξέταση επιλογής του αρχείου ενσωμάτωσης. Η μελλοντική επιρροή των επικυρωτών που παράγουν αμφιλογίες επίσης μειώνεται από τον αλγόριθμο επιλογής ενσωμάτωσης. Αυτό αποτρέπει την επίθεση ισορροπίας που περιγράφεται παραπάνω, ενώ παράλληλα διατηρείται η ανθεκτικότητα έναντι των επιθέσεων avalanche.
+
+Μια άλλη κατηγορία επιθέσεων, οι οποίες ονομάζονται [**επιθέσεις avalanche**](https://ethresear.ch/t/avalanche-attack-on-proof-of-stake-ghost/11854/3), περιγράφηκε σε ένα [άρθρο τον Μάρτιο του 2022](https://arxiv.org/pdf/2203.01315.pdf). Για να πραγματοποιήσει μια επίθεση avalanche, ο επιτιθέμενος πρέπει να ελέγχει αρκετούς διαδοχικούς προτείνοντες μπλοκ. Σε κάθε ένα από τα slot πρότασης μπλοκ, ο επιτιθέμενος δεσμεύει το μπλοκ του, συγκεντρώνοντάς τα μέχρι η ειλικρινής αλυσίδα να φτάσει σε ένα ισοδύναμο βάρος υποδέντρου με τα δεσμευμένα μπλοκ. Στη συνέχεια, τα δεσμευμένα μπλοκ απελευθερώνονται έτσι ώστε να προκαλέσουν αμφιλογίες στον μέγιστο χρόνο. Οι συγγραφείς υποστηρίζουν ότι η ενίσχυση του προτείνοντος, δηλαδή η κύρια άμυνα έναντι των επιθέσεων ισορροπίας και bouncing, δεν προστατεύει από κάποιες παραλλαγές της επίθεσης avalanche. Ωστόσο, οι συγγραφείς έδειξαν επίσης την επίθεση μόνο σε μια εξαιρετικά εξιδανικευμένη έκδοση του αλγορίθμου επιλογής ενσωμάτωσης του Ethereum (χρησιμοποίησαν το GHOST χωρίς το LMD).
+
+Η επίθεση avalanche μετριάζεται από το τμήμα LMD του αλγορίθμου επιλογής ενσωμάτωσης LMD-GHOST. Το LMD σημαίνει «latest-message-driven» και αναφέρεται σε έναν πίνακα που τηρείται από κάθε επικυρωτή και περιέχει το πιο πρόσφατο μήνυμα που ελήφθη από άλλους επικυρωτές. Αυτό το πεδίο ενημερώνεται μόνο εάν το νέο μήνυμα προέρχεται από ένα μεταγενέστερο χρονικό κενό από αυτό που υπάρχει ήδη στον πίνακα για έναν συγκεκριμένο επικυρωτή. Στην πράξη, αυτό σημαίνει ότι σε κάθε χρονικό κενό, το πρώτο μήνυμα που λαμβάνεται είναι αυτό που γίνεται αποδεκτό και τυχόν πρόσθετα μηνύματα είναι αμφιλογίες που πρέπει να αγνοηθούν. Με άλλα λόγια, οι πελάτες συναίνεσης δεν μετρούν ισοδυναμίες — χρησιμοποιούν το πρώτο εισερχόμενο μήνυμα από κάθε επικυρωτή και οι αμφιλογίες απλά απορρίπτονται, αποτρέποντας έτσι τις επιθέσεις avalanche.
+
+Υπάρχουν αρκετές άλλες πιθανές μελλοντικές αναβαθμίσεις στον κανόνα επιλογής ενσωμάτωσης που θα μπορούσαν να ενισχύσουν την ασφάλεια που παρέχεται από την ενίσχυση προτεινόντων. Μία είναι η [προβολή συγχώνευση](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739), όπου οι επικυρωτές παγώνουν την προβολή τους για την επιλογή ενσωμάτωσης `n` δευτερόλεπτα πριν από την αρχή ενός χρονικού κενού και ο προτείνων στη συνέχεια βοηθά στον συγχρονισμό της προβολής της κρυπτοαλυσίδας σε όλο το δίκτυο. Μια άλλη πιθανή αναβάθμιση είναι η [οριστικότητα μεμονωμένης θέσης](https://notes.ethereum.org/@vbuterin/single_slot_finality), η οποία προστατεύει από επιθέσεις που βασίζονται στον χρονισμό μηνυμάτων με την οριστικοποίηση της κρυπτοαλυσίδας μετά από μόλις ένα χρονικό κενό.
+
+#### Καθυστέρηση οριστικότητας {#finality-delay}
+
+[Το ίδιο άρθρο](https://econcs.pku.edu.cn/wine2020/wine2020/Workshop/GTiB20_paper_8.pdf) που περιέγραψε για πρώτη φορά την επίθεση αναδιοργάνωσης ενός μόνο μπλοκ χαμηλού κόστους περιέγραψε επίσης μια επίθεση καθυστέρησης οριστικότητας (γνωστή και ως «αποτυχία ζωτικότητας») που βασίζεται στο γεγονός ότι ο επιτιθέμενος είναι ο προτείνων του μπλοκ για ένα μπλοκ ορίου εποχής. Αυτό είναι κρίσιμης σημασίας επειδή αυτά τα μπλοκ ορίου εποχής γίνονται τα σημεία ελέγχου που χρησιμοποιεί το Casper FFG για να οριστικοποιήσει τμήματα της αλυσίδας. Ο επιτιθέμενος απλά δεσμεύει το μπλοκ του μέχρις ότου αρκετοί ειλικρινείς επικυρωτές χρησιμοποιήσουν τις ψήφους FFG τους υπέρ του προηγούμενου μπλοκ ορίου εποχής ως τρέχοντος στόχου ολοκλήρωσης. Στη συνέχεια, απελευθερώνει το δεσμευμένο μπλοκ του. Επιβεβαιώνει το μπλοκ του και το ίδιο κάνουν και οι υπόλοιποι ειλικρινείς επικυρωτές δημιουργώντας ενσωματώσεις με διαφορετικά σημεία ελέγχου στόχου. Εάν το χρονίσει σωστά, θα αποτρέψει την οριστικότητα επειδή δεν θα υπάρχει υπερπλειοψηφία 2/3 που να επιβεβαιώνει καμία από τις δύο ενσωματώσεις. Όσο μικρότερο είναι το αποθηκευμένο κεφάλαιο, τόσο πιο ακριβής πρέπει να είναι ο χρονισμός, επειδή ο επιτιθέμενος ελέγχει λιγότερες βεβαιώσεις επικύρωσης άμεσα, και τόσο χαμηλότερες οι πιθανότητες ο επιτιθέμενος να ελέγχει τον επικυρωτή που προτείνει ένα συγκεκριμένο μπλοκ ορίου εποχής.
+
+#### Επιθέσεις μεγάλου εύρους {#long-range-attacks}
+
+Υπάρχει επίσης μια κατηγορία επίθεσης ειδική για τις κρυπτοαλυσίδες απόδειξης συμμετοχής που περιλαμβάνει έναν επικυρωτή που συμμετείχε στο πρώτο μπλοκ διατηρώντας μια ξεχωριστή ενσωμάτωση της κρυπτοαλυσίδας παράλληλα με την ειλικρινή, πείθοντας τελικά το σύνολο των ειλικρινών επικυρωτών να μετακυλίσει σε αυτόν την κατάλληλη στιγμή πολύ αργότερα. Αυτός ο τύπος επίθεσης δεν είναι δυνατός στο Ethereum λόγω της συσκευής οριστικότητας που εξασφαλίζει ότι όλοι οι επικυρωτές συμφωνούν για την κατάσταση της ειλικρινούς αλυσίδας σε τακτά χρονικά διαστήματα («σημεία ελέγχου»). Αυτός ο απλός μηχανισμός εξουδετερώνει τους επιτιθέμενους μεγάλου εύρους επειδή οι πελάτες Ethereum απλά δεν θα αναδιοργανώσουν τα οριστικοποιημένα μπλοκ. Οι νέοι κόμβοι που εισάγονται στο δίκτυο εισέρχονται βρίσκοντας ένα αξιόπιστο πρόσφατο hash κατάστασης (σημείο ελέγχου [αδύναμης υποκειμενικότητας](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/)) και χρησιμοποιώντας το ως ψευδές πρώτο μπλοκ για να χτίσουν πάνω του. Αυτό δημιουργεί μια «πύλη εμπιστοσύνης» για έναν νέο κόμβο που εισέρχεται στο δίκτυο πριν μπορέσει να αρχίσει να επαληθεύει πληροφορίες για τον εαυτό του.
+
+#### Denial of Service (Άρνηση υπηρεσίας) {#denial-of-service}
+
+Ο μηχανισμός απόδειξης συμμετοχής του Ethereum επιλέγει έναν μόνο επικυρωτή από το σύνολο των επικυρωτών για να είναι προτείνων μπλοκ σε κάθε χρονικό κενό. Αυτό μπορεί να υπολογιστεί χρησιμοποιώντας μια δημόσια γνωστή συνάρτηση και είναι δυνατόν για έναν αντίπαλο να εντοπίσει τον επόμενο προτείνοντα μπλοκ ελαφρώς πριν από την πρόταση του μπλοκ του. Στη συνέχεια, ο επιτιθέμενος μπορεί να στείλει σπαμ στον προτείνοντα μπλοκ για να τον εμποδίσει να ανταλλάξει πληροφορίες με τους ομοτίμους του. Το υπόλοιπο δίκτυο θα είχε την εντύπωση ότι ο προτείνων μπλοκ ήταν εκτός σύνδεσης και το χρονικό κενό θα ήταν απλά άδειο. Αυτό θα μπορούσε να είναι μια μορφή λογοκρισίας κατά συγκεκριμένων επικυρωτών, γεγονός που θα τους εμπόδιζε να προσθέσουν πληροφορίες στην κρυπτοαλυσίδα. Η εφαρμογή εκλογής μεμονωμένου κρυφού ηγέτη (SSLE) ή εκλογής μη μεμονωμένου κρυφού ηγέτη θα μετριάσει τους κινδύνους άρνησης υπηρεσίας (DoS) επειδή μόνο ο προτείνων μπλοκ γνωρίζει ποτέ ότι έχει επιλεγεί και η επιλογή δεν είναι δυνατόν να γίνει γνωστή εκ των προτέρων. Αυτό δεν έχει ακόμη εφαρμοστεί, αλλά είναι ένα ενεργό πεδίο [έρευνας και ανάπτυξης](https://ethresear.ch/t/secret-non-single-leader-election/11789).
+
+Όλα αυτά δείχνουν ότι είναι πολύ δύσκολο να επιτεθείς επιτυχώς στο Ethereum με μια μικρή συμμετοχή. Οι εφικτές επιθέσεις που έχουν περιγραφεί εδώ απαιτούν έναν εξιδανικευμένο αλγόριθμο επιλογής ενσωμάτωσης, απίθανες συνθήκες δικτύου, ή τα σημεία εισόδου επίθεσης έχουν ήδη κλείσει με σχετικά μικρές επιδιορθώσεις στο λογισμικό του πελάτη. Αυτό, φυσικά, δεν αποκλείει τη δυνατότητα ύπαρξης «ημερών μηδέν» (zero-day) στο φυσικό περιβάλλον, αλλά δείχνει το εξαιρετικά υψηλό επίπεδο τεχνικής επάρκειας, γνώσης του επιπέδου συναίνεσης και τύχης που απαιτείται για να είναι αποτελεσματικός ένας επιτιθέμενος με μειοψηφικό μερίδιο. Από την οπτική γωνία του επιτιθέμενου, το καλύτερο που μπορεί να κάνει είναι να συσσωρεύσει όσο περισσότερο ether γίνεται και να επιστρέψει οπλισμένος με ένα μεγαλύτερο ποσοστό της συνολικής συμμετοχής.
+
+### Επιτιθέμενοι που χρησιμοποιούν >=33% του συνολικού κεφαλαίου {#attackers-with-33-stake}
+
+Όλες οι επιθέσεις που αναφέρθηκαν προηγουμένως σε αυτό το άρθρο είναι πιο πιθανό να πετύχουν όταν ο επιτιθέμενος έχει περισσότερο αποθηκευμένο ether για να ψηφίσει και περισσότερους επικυρωτές που μπορεί να επιλεγούν για να προτείνουν μπλοκ σε κάθε χρονικό διάστημα. Ένας κακόβουλος επικυρωτής μπορεί, επομένως, να στοχεύσει να ελέγξει όσο περισσότερο αποθηκευμένο ether είναι δυνατόν.
+
+Το 33% του αποθηκευμένου ether είναι ένα σημείο αναφοράς για έναν επιτιθέμενο, επειδή με οποιοδήποτε μεγαλύτερο ποσό έχει τη δυνατότητα να αποτρέψει την οριστικοποίηση της αλυσίδας χωρίς να χρειάζεται να ελέγξει λεπτομερώς τις ενέργειες των άλλων επικυρωτών. Μπορούν απλά να εξαφανιστούν όλοι μαζί. Εάν το 1/3 ή περισσότερο του αποθηκευμένου ether βεβαιώνει με κακόβουλο τρόπο ή αποτυγχάνει να βεβαιώσει, τότε δεν μπορεί να υπάρξει υπερπλειοψηφία 2/3 και η αλυσίδα δεν μπορεί να οριστικοποιηθεί. Άμυνα ενάντια σε αυτό είναι η απώλεια λόγω αδράνειας. Η απώλεια λόγω αδράνειας εντοπίζει εκείνους τους επικυρωτές που δεν βεβαιώνουν ή βεβαιώνουν την επικύρωση αντίθετα προς την πλειοψηφία. Το αποθηκευμένο ether που ανήκει σε αυτούς τους επικυρωτές που δεν βεβαιώνουν την επικύρωση εξαντλείται σταδιακά μέχρι να φτάσει τελικά σε σημείο να αντιπροσωπεύει συλλογικά λιγότερο από 1/3 του συνόλου, ώστε η αλυσίδα να μπορεί να οριστικοποιηθεί ξανά.
+
+Σκοπός της απώλειας λόγω αδράνειας είναι να κάνει την αλυσίδα να οριστικοποιηθεί ξανά. Ωστόσο, ο επιτιθέμενος χάνει επίσης ένα μέρος του αποθηκευμένου ether του. Η επίμονη αδράνεια σε επικυρωτές που αντιπροσωπεύουν το 33% του συνολικού αποθηκευμένου ether είναι πολύ δαπανηρή, ακόμη και αν οι επικυρωτές δεν τιμωρούνται με περικοπή.
+
+Αν θεωρηθεί ότι το δίκτυο Ethereum είναι ασύγχρονο (δηλαδή υπάρχουν καθυστερήσεις μεταξύ της αποστολής και της λήψης μηνυμάτων), ένας επιτιθέμενος που ελέγχει το 34% του συνολικού αποθηκευμένου ether θα μπορούσε να προκαλέσει διπλή οριστικότητα. Αυτό συμβαίνει επειδή ο επιτιθέμενος μπορεί να προκαλέσει αμφιλογίες όταν επιλέγεται να είναι παραγωγός μπλοκ και στη συνέχεια μπορεί να ψηφίσει διπλά με όλους τους επικυρωτές του. Αυτό δημιουργεί μια κατάσταση όπου υπάρχει μια διακλάδωση της κρυπτοαλυσίδας, με την κάθε ενσωμάτωση να έχει το 34% του αποθηκευμένου ether που ψηφίζει υπέρ της. Κάθε ενσωμάτωση απαιτεί μόνο το 50% των υπολοίπων επικυρωτών να ψηφίσουν υπέρ της για να υποστηριχθούν και οι δύο ενσωματώσεις από μια υπερπλειοψηφία, οπότε και οι δύο αλυσίδες μπορούν να οριστικοποιηθούν (επειδή 34% των επικυρωτών επιτιθέμενων + το ήμισυ των υπολοίπων 66% = 67% σε κάθε ενσωμάτωση). Τα ανταγωνιστικά μπλοκ θα έπρεπε να ληφθούν από περίπου το 50% των ειλικρινών επικυρωτών, γεγονός που καθιστά αυτή την επίθεση εφικτή μόνο όταν ο επιτιθέμενος ελέγχει σε κάποιο βαθμό τον χρονισμό των μηνυμάτων που διαδίδονται μέσω του δικτύου, ώστε να μπορέσει να ωθήσει το ήμισυ των ειλικρινών επικυρωτών σε κάθε αλυσίδα. Ο επιτιθέμενος θα έπρεπε αναγκαστικά να καταστρέψει ολόκληρο το αποθηκευμένο του κεφάλαιο (το 34% των περίπου 10 εκατομμυρίων ether με το σημερινό σύνολο επικυρωτών) για να επιτύχει αυτή τη διπλή οριστικότητα, καθώς το 34% των επικυρωτών του θα ψήφιζε διπλά ταυτόχρονα — μια παραβίαση που υπόκειται σε περικοπή με τη μέγιστη ποινή συσχέτισης. Ως άμυνα έναντι αυτής της επίθεσης λειτουργεί το πολύ μεγάλο κόστος της καταστροφής του 34% του συνολικού αποθηκευμένου ether. Η ανάκαμψη από αυτή την επίθεση θα απαιτούσε από την κοινότητα Ethereum να συντονίσει «εκτός ζώνης» και να συμφωνήσει να ακολουθήσει τη μία ή την άλλη από τις ενσωματώσεις και να αγνοήσει την άλλη.
+
+### Επιτιθέμενοι που χρησιμοποιούν ~50% του συνολικού αποθηκευμένου κεφαλαίου {#attackers-with-50-stake}
+
+Με το 50% του αποθηκευμένου ether, μια κακόβουλη ομάδα επικυρωτών θα μπορούσε θεωρητικά να χωρίσει την αλυσίδα σε δύο ισομεγέθεις ενσωματώσεις και στη συνέχεια απλά να χρησιμοποιήσει ολόκληρο το κεφάλαιό της ύψους 50% για να ψηφίσει αντίθετα με το σύνολο των ειλικρινών επικυρωτών, διατηρώντας έτσι τις δύο ενσωματώσεις και αποτρέποντας την οριστικότητα. Η απώλεια λόγω αδράνειας και στις δύο ενσωματώσεις θα οδηγούσε τελικά στην οριστικοποίηση και των δύο αλυσίδων. Σε αυτό το σημείο, η μόνη επιλογή είναι να στραφούμε σε μια κοινωνική ανάκτηση.
+
+Είναι πολύ απίθανο μια εχθρική ομάδα επικυρωτών να μπορούσε συνεχώς να ελέγχει ακριβώς το 50% του συνολικού αποθηκευμένου ether δεδομένου ενός βαθμού μεταβολής στους αριθμούς των ειλικρινών επικυρωτών, της καθυστέρησης του δικτύου κ.λπ. Tο τεράστιο κόστος εκκίνησης μιας τέτοιας επίθεσης σε συνδυασμό με τη χαμηλή πιθανότητα επιτυχίας φαίνεται να είναι ένας ισχυρός αποτρεπτικός παράγοντας για έναν λογικό επιτιθέμενο, ειδικά όταν μια μικρή πρόσθετη επένδυση για την απόκτηση _περισσότερου από_ το 50% ξεκλειδώνει πολύ περισσότερη ισχύ.
+
+Σε ποσοστό >50% του συνολικού αποθηκευμένου κεφαλαίου ο επιτιθέμενος θα μπορούσε να κυριαρχήσει στον αλγόριθμο επιλογής ενσωμάτωσης. Σε αυτή την περίπτωση, ο επιτιθέμενος θα μπορούσε να παρέχει βεβαιώσεις με ψήφο πλειοψηφίας, γεγονός που του παρέχει επαρκή δυνατότητα ελέγχου ώστε να κάνει σύντομες αναδιοργανώσεις χωρίς να χρειάζεται να εξαπατήσει τα ειλικρινή προγράμματα πελάτες. Οι ειλικρινείς επικυρωτές θα ακολουθούσαν το παράδειγμά του επειδή ο αλγόριθμος επιλογής ενσωμάτωσης θα έβλεπε επίσης την προτιμώμενη αλυσίδα του επιτιθέμενου ως την βαρύτερη, οπότε η αλυσίδα θα μπορούσε να οριστικοποιηθεί. Αυτό επιτρέπει στον επιτιθέμενο να λογοκρίνει ορισμένες συναλλαγές, να κάνει αναδιοργανώσεις μικρής εμβέλειας και να εξάγει μέγιστο MEV με την αναδιάταξη των μπλοκ προς όφελός του. Η άμυνα ενάντια σε αυτό είναι το τεράστιο κόστος ενός ποσοστού πλειοψηφίας του αποθηκευμένου κεφαλαίου (σε σημερινά δεδομένα, κάτι λιγότερο από 19 δισεκατομμύρια δολάρια ΗΠΑ) το οποίο διακινδυνεύει ένας επιτιθέμενος, επειδή το κοινωνικό επίπεδο είναι πιθανό να παρέμβει και να υιοθετήσει μια ειλικρινή ενσωμάτωση μειοψηφίας, υποτιμώντας δραματικά το αποθηκευμένο κεφάλαιο του επιτιθέμενου.
+
+### Επιτιθέμενοι που χρησιμοποιούν >=66% του συνολικού κεφαλαίου {#attackers-with-66-stake}
+
+Ένας επιτιθέμενος με 66% ή περισσότερο του συνολικού αποθηκευμένου ether μπορεί να οριστικοποιήσει την προτιμώμενη αλυσίδα του χωρίς να χρειάζεται να εκβιάσει κανέναν ειλικρινή επικυρωτή. Ο επιτιθέμενος μπορεί απλά να ψηφίσει για την προτιμώμενη ενσωμάτωση και στη συνέχεια να την οριστικοποιήσει, απλά και μόνο επειδή μπορεί να ψηφίσει με μια μη ειλικρινή υπερπλειοψηφία. Ως ο κυριότερος ενδιαφερόμενος υπερπλειοψηφίας, ο επιτιθέμενος θα ελέγχει πάντα τα περιεχόμενα των οριστικοποιημένων μπλοκ, με τη δυνατότητα να ξοδεύει, να επαναφέρει και να ξοδεύει ξανά, να λογοκρίνει ορισμένες συναλλαγές και να αναδιοργανώνει την αλυσίδα κατά βούληση. Με την απόκτηση επιπλέον ether για να ελέγξει το 66% αντί του 51%, ο επιτιθέμενος αγοράζει ουσιαστικά τη δυνατότητα να κάνει εκ των υστέρων αναδιοργανώσεις και αντιστροφές οριστικότητας (δηλαδή να αλλάξει το παρελθόν, καθώς και να ελέγξει το μέλλον). Οι μόνες πραγματικές άμυνες εδώ είναι το τεράστιο κόστος του 66% του συνολικού αποθηκευμένου ether και η επιλογή να στραφούμε στο κοινωνικό επίπεδο για να συντονίσουμε την υιοθέτηση μιας εναλλακτικής ενσωμάτωσης. Μπορούμε να το εξερευνήσουμε αυτό με περισσότερες λεπτομέρειες στην επόμενη ενότητα.
+
+## Άνθρωποι: η τελευταία γραμμή άμυνας {#people-the-last-line-of-defense}
+
+Εάν οι μη ειλικρινείς επικυρωτές καταφέρουν να οριστικοποιήσουν την προτιμώμενη έκδοση της αλυσίδας, η θέση της κοινότητας Ethereum δυσχεραίνεται. Η κανονική αλυσίδα περιλαμβάνει ένα μη ειλικρινές τμήμα ενσωματωμένο στο ιστορικό της, ενώ οι ειλικρινείς επικυρωτές μπορεί να καταλήξουν να τιμωρηθούν για τη βεβαίωση μιας εναλλακτικής (ειλικρινούς) αλυσίδας. Σημειώνεται ότι μια οριστικοποιημένη αλλά εσφαλμένη αλυσίδα θα μπορούσε επίσης να προκύψει από ένα σφάλμα σε έναν πελάτη πλειοψηφίας. Τελικά, η τελευταία εναλλακτική λύση είναι να βασιστούμε στο κοινωνικό επίπεδο —το Επίπεδο 0— για να επιλυθεί η κατάσταση.
+
+Ένα από τα πλεονεκτήματα της συναίνεσης απόδειξης συμμετοχής του Ethereum είναι ότι υπάρχει μια [σειρά από αμυντικές στρατηγικές](https://youtu.be/1m12zgJ42dI?t=1712) που μπορεί να χρησιμοποιήσει η κοινότητα σε περίπτωση επίθεσης. Μια ελάχιστη απόκριση θα μπορούσε να είναι η εξαναγκαστική έξοδος των επικυρωτών των επιτιθέμενων από το δίκτυο χωρίς καμία πρόσθετη ποινή. Για να εισέλθει εκ νέου στο δίκτυο, ο επιτιθέμενος θα πρέπει να μπει σε μια ουρά ενεργοποίησης που εξασφαλίζει ότι το σύνολο επικυρωτών αυξάνεται σταδιακά. Για παράδειγμα, η προσθήκη αρκετών επικυρωτών για τον διπλασιασμό του ποσού του αποθηκευμένου ether διαρκεί περίπου 200 ημέρες, αγοράζοντας ουσιαστικά τους ειλικρινείς επικυρωτές 200 ημέρες πριν ο επιτιθέμενος μπορέσει να επιχειρήσει μια άλλη επίθεση του 51%. Ωστόσο, η κοινότητα θα μπορούσε επίσης να αποφασίσει να τιμωρήσει τον επιτιθέμενο πιο αυστηρά, ανακαλώντας προηγούμενες ανταμοιβές ή κάνοντας καύση κάποιου μέρους (έως και 100%) του αποθηκευμένου κεφαλαίου του.
+
+Όποια και αν είναι η ποινή που επιβλήθηκε στον επιτιθέμενο, η κοινότητα πρέπει επίσης να αποφασίσει από κοινού εάν η μη ειλικρινής αλυσίδα —παρά το γεγονός ότι είναι αυτή που ευνοείται από τον αλγόριθμο επιλογής ενσωμάτωσης που είναι κωδικοποιημένος στους πελάτες Ethereum— είναι στην πραγματικότητα άκυρη και ότι η κοινότητα θα πρέπει να χτίσει πάνω στην ειλικρινή αλυσίδα αντί για αυτήν. Οι ειλικρινείς επικυρωτές θα μπορούσαν να συμφωνήσουν από κοινού να χτίσουν πάνω σε μία ενσωμάτωση ένα τμήμα της αλυσίδας μπλοκ Ethereum που έχει γίνει αποδεκτό από την κοινότητα, το οποίο θα μπορούσε, για παράδειγμα, να έχει διακλαδωθεί από την κανονική αλυσίδα πριν ξεκινήσει η επίθεση, ή να αφαιρέσουν διά της βίας τους επικυρωτές των επιτιθέμενων. Οι ειλικρινείς επικυρωτές θα είχαν κίνητρο να χτίσουν πάνω σε αυτή την αλυσίδα επειδή θα απέφευγαν τις ποινές που τους επιβλήθηκαν για την αποτυχία τους (ορθώς) να βεβαιώσουν την επικύρωση της αλυσίδας του επιτιθέμενου. Τα ανταλλακτήρια, οι οδοί εισόδου (on-ramps) και οι εφαρμογές που έχουν χτιστεί πάνω στο Ethereum κατά πάσα πιθανότητα θα προτιμούσαν να βρίσκονται στην ειλικρινή αλυσίδα και θα ακολουθούσαν τους ειλικρινείς επικυρωτές στην ειλικρινή αλυσίδα μπλοκ.
+
+Ωστόσο, αυτό θα αποτελούσε σημαντική πρόκληση ως προς τη διακυβέρνηση. Ορισμένοι χρήστες και επικυρωτές αναμφίβολα θα έχαναν ως αποτέλεσμα της επιστροφής στην ειλικρινή αλυσίδα, οι συναλλαγές σε μπλοκ που επικυρώθηκαν μετά την επίθεση θα μπορούσαν ενδεχομένως να αναστραφούν, διαταράσσοντας το επίπεδο εφαρμογής, και απλά υπονομεύει τη δεοντολογία ορισμένων χρηστών που τείνουν να πιστεύουν ότι «ο κώδικας είναι νόμος». Τα ανταλλακτήρια και οι εφαρμογές πιθανότατα θα έχουν συνδέσει ενέργειες εκτός αλυσίδας με συναλλαγές εντός αλυσίδας που μπορεί τώρα να αναστραφούν, ξεκινώντας μια αλληλοδιαδοχή ανακλήσεων και αναθεωρήσεων που θα ήταν δύσκολο να ξετυλιχθούν δίκαια, ειδικά εάν τα παράνομα κέρδη έχουν αναμειχθεί, κατατεθεί σε DeFi ή άλλα παράγωγα με δευτερεύουσες συνέπειες για ειλικρινείς χρήστες. Αναμφίβολα, ορισμένοι χρήστες, ίσως ακόμα και θεσμικοί, θα είχαν ήδη ωφεληθεί από τη μη ειλικρινή αλυσίδα είτε λόγω ευστροφίας είτε από τύχη, και ίσως να αντιταχθούν σε μια ενσωμάτωση για να προστατεύσουν τα κέρδη τους. Έχουν γίνει εκκλήσεις για εξάσκηση της αντίδρασης της κοινότητας σε επιθέσεις >51%, έτσι ώστε να μπορέσει να εκτελεστεί γρήγορα ένας συνετός συντονισμένος μετριασμός. Υπάρχει μια χρήσιμη συζήτηση από τον Vitalik στο ethresear.ch [εδώ](https://ethresear.ch/t/timeliness-detectors-and-51-attack-recovery-in-blockchains/6925) και [εδώ](https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363) και στο Twitter εδώ. Ο στόχος μιας συντονισμένης κοινωνικής αντίδρασης θα πρέπει να είναι πολύ προσανατολισμένος και συγκεκριμένος για την τιμωρία του επιτιθέμενου και την ελαχιστοποίηση των επιπτώσεων για άλλους χρήστες.
+
+Η διακυβέρνηση είναι ήδη ένα περίπλοκο θέμα. Η διαχείριση μιας έκτακτης ανάγκης επιπέδου 0 σε μια μη ειλικρινή αλυσίδα οριστικοποίησης θα ήταν αναμφίβολα μια πρόκληση για την κοινότητα Ethereum, αλλά [έχει συμβεί](/history/#dao-fork-summary) —[δύο φορές](/history/#tangerine-whistle)— στην ιστορία του Ethereum.
+
+Ωστόσο, υπάρχει κάτι αρκετά ικανοποιητικό στην έσχατη εφεδρική λύση που βρίσκεται στον φυσικό κόσμο. Στην τελική, ακόμη και με αυτή την καταπληκτική στοίβα τεχνολογίας πάνω μας, εάν ποτέ συνέβαινε το χειρότερο σενάριο, οι πραγματικοί άνθρωποι θα έπρεπε να συντονιστούν για να βρουν τη διέξοδο.
+
+## Περίληψη {#summary}
+
+Αυτή η σελίδα εξέτασε ορισμένους από τους τρόπους με τους οποίους οι επιτιθέμενοι ίσως προσπαθήσουν να εκμεταλλευτούν το πρωτόκολλο συναίνεσης απόδειξης συμμετοχής του Ethereum. Εξετάστηκαν οι αναδιοργανώσεις και οι καθυστερήσεις οριστικότητας για επιτιθέμενους με αυξανόμενα ποσοστά του συνολικού αποθηκευμένου ether. Γενικά, ένας πλουσιότερος επιτιθέμενος έχει περισσότερες πιθανότητες επιτυχίας επειδή το αποθηκευμένο κεφάλαιό του μεταφράζεται σε δύναμη ψήφου που μπορεί να χρησιμοποιήσει για να επηρεάσει το περιεχόμενο μελλοντικών μπλοκ. Σε ορισμένα κατώφλια ποσών αποθηκευμένου ether, τα επίπεδα δύναμης του επιτιθέμενου αυξάνονται:
+
+33%: καθυστέρηση οριστικότητας
+
+34%: καθυστέρηση οριστικότητας, διπλή οριστικότητα
+
+51%: καθυστέρηση οριστικότητας, διπλή οριστικότητα, λογοκρισία, έλεγχος του μέλλοντος της κρυπτοαλυσίδας
+
+66%: καθυστέρηση οριστικότητας, διπλή οριστικότητα, λογοκρισία, έλεγχος του μέλλοντος και του παρελθόντος της κρυπτοαλυσίδας
+
+Υπάρχει επίσης μια σειρά από πιο εξελιγμένες επιθέσεις που απαιτούν μικρές ποσότητες αποθηκευμένου ether, αλλά βασίζονται σε έναν πολύ προηγμένο επιτιθέμενο που μπορεί να ελέγχει λεπτομερώς τον χρονισμό των μηνυμάτων για να επηρεάσει το σύνολο των ειλικρινών επικυρωτών υπέρ του.
+
+Σε γενικές γραμμές, παρά αυτούς τους πιθανούς τρόπους επίθεσης, ο κίνδυνος μιας επιτυχημένης επίθεσης είναι χαμηλός, σίγουρα χαμηλότερος από τα ισοδύναμα απόδειξης εργασίας. Αυτό οφείλεται στο τεράστιο κόστος του αποθηκευμένου ether που διακινδυνεύει ένας επιτιθέμενος με στόχο να επικρατήσει έναντι των ειλικρινών επικυρωτών με τη δύναμη ψήφου του. Το ενσωματωμένο επίπεδο κινήτρων «καρότο και μαστίγιο» προστατεύει από τις περισσότερες παρατυπίες, ειδικά όσον αφορά τους επιτιθέμενους με χαμηλό αποθηκευμένο κεφάλαιο. Οι πιο διακριτικές επιθέσεις bouncing και ισορροπίας είναι επίσης απίθανο να πετύχουν, επειδή οι πραγματικές συνθήκες δικτύου καθιστούν πολύ δύσκολη την άσκηση λεπτομερούς ελέγχου στην παράδοση μηνυμάτων σε συγκεκριμένα υποσύνολα επικυρωτών, και οι ομάδες πελατών κλείνουν γρήγορα τους γνωστούς φορείς επίθεσης bouncing, ισορροπίας και avalanche με απλές επιδιορθώσεις.
+
+Οι επιθέσεις του 34%, 51% ή 66% πιθανότατα θα απαιτούσαν κοινωνικό συντονισμό εκτός ζώνης για να επιλυθούν. Ενώ αυτό πιθανότατα θα ήταν μια επίπονη εμπειρία για την κοινότητα, η δυνατότητα της κοινότητας να ανταποκριθεί εκτός ζώνης αποτελεί ισχυρό αντικίνητρο για έναν επιτιθέμενο. Το κοινωνικό επίπεδο του Ethereum είναι ο έσχατος μηχανισμός ασφαλείας: μια επιτυχημένη από τεχνική άποψη επίθεση θα μπορούσε και πάλι να εξουδετερωθεί εάν η κοινότητα συμφωνούσε να υιοθετήσει μια ειλικρινή ενσωμάτωση. Ο επιτιθέμενος και η κοινότητα Ethereum θα επιδίδονταν σε έναν αγώνα δρόμου: τα δισεκατομμύρια δολάρια που δαπανήθηκαν για μια επίθεση 66% πολύ πιθανόν να καταστρέφονταν από μια επιτυχημένη αντεπίθεση κοινωνικού συντονισμού, εάν αυτή πραγματοποιούνταν αρκετά γρήγορα, αφήνοντας τον επιτιθέμενο με βαριά αποθέματα μη ρευστού αποθηκευμένου ether σε μια γνωστή μη ειλικρινή αλυσίδα που αγνοείται από την κοινότητα Ethereum. Η πιθανότητα αυτό να καταλήξει κερδοφόρο για τον επιτιθέμενο είναι αρκετά χαμηλή, γεγονός που το καθιστά αποτελεσματικό αποτρεπτικό παράγοντα. Γι' αυτό είναι τόσο σημαντική η επένδυση στη διατήρηση ενός συνεκτικού κοινωνικού επιπέδου του οποίου οι αξίες είναι στενά ευθυγραμμισμένες.
+
+## Περαιτέρω υλικό προς ανάγνωση {#further-reading}
+
+- [Περισσότερες λεπτομέρειες της έκδοσης αυτής της σελίδας](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)
+- [Αναφορά του Vitalik σχετικά με τον οριστικό διακανονισμό](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)
+- [Έγγραφο LMD GHOST](https://arxiv.org/abs/2003.03052)
+- [Έγγραφο Casper-FFG](https://arxiv.org/abs/1710.09437)
+- [Έγγραφο Gasper](https://arxiv.org/pdf/2003.03052.pdf)
+- [Προδιαγραφές συναίνεσης για την ενίσχυση της βαρύτητας του προτείνοντος](https://github.com/ethereum/consensus-specs/pull/2730)
+- [Επιθέσεις bouncing στο ethresear.ch](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114)
+- [Έρευνα SSLE](https://ethresear.ch/t/secret-non-single-leader-election/11789)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/attestations/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/attestations/index.md
new file mode 100644
index 00000000000..6abf84dd4bb
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/attestations/index.md
@@ -0,0 +1,92 @@
+---
+title: Επαληθεύσεις
+description: Μια περιγραφή των βεβαιώσεων επικύρωσης στο Ethereum της απόδειξης συμμετοχής.
+lang: el
+---
+
+Ένας επικυρωτής αναμένεται να δημιουργήσει, να υπογράψει και να μεταδώσει μια βεβαίωση επικύρωσης κατά τη διάρκεια κάθε εποχής. Αυτή η σελίδα περιγράφει πώς είναι αυτές οι βεβαιώσεις επικύρωσης και πώς υποβάλλονται σε επεξεργασία και κοινοποίηση μεταξύ πελατών συναίνεσης.
+
+## Τι είναι μια επιβεβαίωση; {#what-is-an-attestation}
+
+Κάθε [εποχή](/glossary/#epoch) (6,4 λεπτά) ένας επικυρωτής προτείνει μια βεβαίωση επικύρωσης στο δίκτυο. Η βεβαίωση επικύρωσης αφορά ένα συγκεκριμένο χρονικό κενό στην εποχή. Σκοπός της βεβαίωσης επικύρωσης είναι να ψηφίσει υπέρ της άποψης του επικυρωτή για την αλυσίδα, ιδίως το πιο πρόσφατο αιτιολογημένο μπλοκ και το πρώτο μπλοκ στην τρέχουσα εποχή (γνωστά ως σημεία ελέγχου `source` και `target`). Αυτές οι πληροφορίες συνδυάζονται για όλους τους συμμετέχοντες επικυρωτές, επιτρέποντας στο δίκτυο να πετύχει συναίνεση σχετικά με την κατάσταση του blockchain.
+
+Η βεβαίωση επικύρωσης περιέχει τα ακόλουθα στοιχεία:
+
+- `aggregation_bits`: μια λίστα bit επικυρωτών όπου η θέση αντιστοιχεί στο ευρετήριο επικυρωτή στην επιτροπή τους, η αξία (0/1) υποδεικνύει εάν ο επικυρωτής υπέγραψε τα `data` (δηλαδή εάν είναι ενεργά και συμφωνούν με τον προτείνοντα μπλοκ)
+- `data`: λεπτομέρειες σχετικά με τη βεβαίωση επικύρωσης, όπως ορίζονται παρακάτω
+- `signature`: μια υπογραφή BLS που συγκεντρώνει τις υπογραφές μεμονωμένων επικυρωτών
+
+Η πρώτη εργασία για έναν επικυρωτή που παρέχει βεβαίωση επικύρωσης είναι να δημιουργήσει τα `data`. Τα `data` περιέχουν τις ακόλουθες πληροφορίες:
+
+- `slot`: Ο αριθμός χρονικού κενού στον οποίο αναφέρεται η βεβαίωση επικύρωσης
+- `index`: Ένας αριθμός που προσδιορίζει σε ποια επιτροπή ανήκει ο επικυρωτής σε ένα δεδομένο χρονικό κενό
+- `beacon_block_root`: Κατακερματισμός ρίζας του μπλοκ που βλέπει ο επικυρωτής στην κορυφή της αλυσίδας (το αποτέλεσμα της εφαρμογής του αλγόριθμου επιλογής-ενσωμάτωσης)
+- `source`: Μέρος της ψηφοφορίας οριστικότητας που υποδεικνύει αυτό που οι επικυρωτές βλέπουν ως το πιο πρόσφατο αιτιολογημένο μπλοκ
+- `target`: Μέρος της ψηφοφορίας οριστικότητας που υποδεικνύει αυτό που οι επικυρωτές βλέπουν ως το πρώτο μπλοκ στην τρέχουσα εποχή
+
+Μόλις δημιουργηθούν τα `data`, ο επικυρωτής μπορεί να αναστρέψει το bit σε `aggregation_bits` που αντιστοιχεί στο δικό του ευρετήριο επικύρωσης από 0 σε 1 για να δείξει ότι συμμετείχε.
+
+Τέλος, ο επικυρωτής υπογράφει τη βεβαίωση επικύρωσης και τη μεταδίδει στο δίκτυο.
+
+### Συσσωρευμένη βεβαίωση επικύρωσης {#aggregated-attestation}
+
+Η μετάδοση αυτών των δεδομένων στο δίκτυο για κάθε επικυρωτή συνεπάγεται μια σημαντική έμμεση δαπάνη. Επομένως, οι βεβαιώσεις επικύρωσης από μεμονωμένους επικυρωτές συσσωρεύονται σε υποδίκτυα πριν μεταδοθούν σε ευρύτερο επίπεδο. Αυτό περιλαμβάνει τη συσσώρευση υπογραφών, έτσι ώστε μια μεταδιδόμενη βεβαίωση επικύρωσης να περιλαμβάνει τα `data` συναίνεσης και μια ενιαία υπογραφή που σχηματίζεται από το συνδυασμό των υπογραφών όλων των επικυρωτών που συμφωνούν με εκείνα τα `data`. Αυτό μπορεί να ελεγχθεί χρησιμοποιώντας `aggregation_bits`, επειδή παρέχει το ευρετήριο κάθε επικυρωτή στην επιτροπή του (το αναγνωριστικό του οποίου παρέχεται στα `data`), το οποίο μπορεί να χρησιμοποιηθεί για την αναζήτηση μεμονωμένων υπογραφών.
+
+Σε κάθε εποχή 16 επικυρωτές σε κάθε υποδίκτυο επιλέγονται ως `aggregators`. Οι συσσωρευτές συλλέγουν όλες τις επικυρώσεις για τις οποίες μαθαίνουν μέσω του δικτύου διασποράς και οι οποίες έχουν ισοδύναμα `data` με τα δικά τους. Ο αποστολέας κάθε αντίστοιχης βεβαίωσης επικύρωσης καταγράφεται στα `aggregation_bits`. Στη συνέχεια, οι συσσωρευτές μεταδίδουν το συγκεντρωτικό σύνολο βεβαιώσεων επικύρωσης στο ευρύτερο δίκτυο.
+
+Όταν ένας επικυρωτής επιλέγεται ως προτείνων μπλοκ, συσκευάζει συσσωρευμένες βεβαιώσεις επικύρωσης από τα υποδίκτυα μέχρι το πιο πρόσφατο χρονικό κενό στο νέο μπλοκ.
+
+### Κύκλος ζωής συμπερίληψης βεβαιώσεων επικύρωσης {#attestation-inclusion-lifecycle}
+
+1. Παραγωγή
+2. Διάδοση
+3. Συσσωμάτωση
+4. Διάδοση
+5. Συμπερίληψη
+
+Ο κύκλος ζωής των επικυρώσεων περιγράφεται συνοπτικά στο παρακάτω σχήμα:
+
+
+
+## Ανταμοιβές {#rewards}
+
+Οι επικυρωτές λαμβάνουν ανταμοιβές για την υποβολή βεβαιώσεων επικύρωσης. Η ανταμοιβή βεβαίωσης επικύρωσης εξαρτάται από τις σημαίες συμμετοχής (πηγή, στόχος και κεφαλή), τη βασική ανταμοιβή και το ποσοστό συμμετοχής.
+
+Κάθε μία από τις σημαίες συμμετοχής μπορεί να είναι είτε αληθής ή ψευδής, ανάλογα με την υποβληθείσα βεβαίωση επικύρωσης και την καθυστέρηση συμπερίληψής της.
+
+Το καλύτερο σενάριο πραγματοποιείται όταν και οι τρεις σημαίες είναι αληθείς, οπότε ένας επικυρωτής θα λάμβανε κέρδος (ανά σωστή σημαία):
+
+`ανταμοιβή += βασική ανταμοιβή * βάρος σημαίας * ποσοστό βεβαίωση επικύρωσηςς σημαίας / 64`
+
+Το ποσοστό επικύρωσης σημαίας υπολογίζεται χρησιμοποιώντας το άθροισμα των πραγματικών υπολοίπων όλων των επικυρωτών βεβαίωσης για τη δεδομένη σημαία σε σύγκριση με το συνολικό ενεργό πραγματικό υπόλοιπο.
+
+### Βασική ανταμοιβή {#base-reward}
+
+Η βασική ανταμοιβή υπολογίζεται σύμφωνα με τον αριθμό των επικυρωτών που βεβαιώνουν και τα πραγματικά αποθηκευμένα υπόλοιπα ether τους:
+
+`base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)`
+
+#### Καθυστέρηση ένταξης {#inclusion-delay}
+
+Τη στιγμή που οι επικυρωτές ψήφισαν για την κεφαλή της αλυσίδας (`block n`), το `block n+1` δεν είχε προταθεί ακόμη. Επομένως, οι επικυρώσεις συμπεριλαμβάνονται φυσικά σε **ένα μπλοκ αργότερα**, επομένως όλες οι επικυρώσεις που ψήφισαν ότι το `block n` είναι η κεφαλή της αλυσίδας συμπεριλήφθηκαν στο `block n+1` και, η **καθυστέρηση συμπερίληψης** είναι 1. Εάν η καθυστέρηση συμπερίληψης διπλασιαστεί σε δύο χρονικά κενά, η ανταμοιβή βεβαίωσης επικύρωσης μειώνεται κατά το ήμισυ, επειδή για τον υπολογισμό της ανταμοιβής βεβαίωσης επικύρωσης η βασική ανταμοιβή πολλαπλασιάζεται με το αντίστροφο της καθυστέρησης συμπερίληψης.
+
+### Σενάρια επιβεβαίωσης {#attestation-scenarios}
+
+#### Απουσία επικυρωτή ψηφοφορίας {#missing-voting-validator}
+
+Οι επικυρωτές έχουν το μέγιστο 1 εποχή για να υποβάλουν τη βεβαίωση επικύρωσής τους. Εάν η βεβαίωση επικύρωσης παραλείφθηκε στην εποχή 0, μπορούν να την υποβάλουν με καθυστέρηση συμπερίληψης στην εποχή 1.
+
+#### Απουσία συσσωρευτή {#missing-aggregator}
+
+Υπάρχουν συνολικά 16 συσσωρευτές ανά εποχή. Επιπλέον, τυχαίοι επικυρωτές εγγράφονται σε **δύο υποδίκτυα για 256 εποχές** και χρησιμεύουν ως εφεδρικό αντίγραφο σε περίπτωση που λείπουν συσσωρευτές.
+
+#### Απουσία προτείνοντος μπλοκ {#missing-block-proposer}
+
+Σημειώνεται ότι σε ορισμένες περιπτώσεις ένας τυχερός συσσωρευτής μπορεί επίσης να γίνει ο προτείνων μπλοκ. Εάν η βεβαίωση επικύρωσης δεν συμπεριλήφθηκε επειδή ο προτείνων μπλοκ απουσιάζει, ο επόμενος προτείνων μπλοκ θα επέλεγε τη συσσωρευμένη βεβαίωση επικύρωσης και θα τη συμπεριλάμβανε στο επόμενο μπλοκ. Ωστόσο, η **καθυστέρηση συμπερίληψης** θα αυξηθεί κατά ένα.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Βεβαιώσεις επικύρωσης στις σχολιασμένες προδιαγραφές συναίνεσης του Vitalik](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#attestationdata)
+- [Βεβαιώσεις επικύρωσης στο eth2book.info](https://eth2book.info/capella/part3/containers/dependencies/#attestationdata)
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/block-proposal/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/block-proposal/index.md
new file mode 100644
index 00000000000..1a5e492a91f
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/block-proposal/index.md
@@ -0,0 +1,69 @@
+---
+title: Πρόταση μπλοκ
+description: Επεξήγηση του τρόπου πρότασης μπλοκ στην απόδειξη συμμετοχής Ethereum.
+lang: el
+---
+
+Τα μπλοκ είναι οι θεμελιώδεις μονάδες του blockchain. Τα μπλοκ είναι διακριτές μονάδες πληροφοριών που διαβιβάζονται μεταξύ κόμβων, γίνονται αντικείμενο συμφωνίας και προστίθενται στη βάση δεδομένων κάθε κόμβου. Αυτή η σελίδα εξηγεί πώς παράγονται.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Η πρόταση μπλοκ είναι μέρος του πρωτοκόλλου απόδειξης συμμετοχής. Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε σχετικά με την [απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/) και την [αρχιτεκτονική μπλοκ](/developers/docs/blocks/).
+
+## Ποιος παράγει μπλοκ; {#who-produces-blocks}
+
+Οι λογαριασμοί επικυρωτών προτείνουν μπλοκ. Τους λογαριασμούς επικυρωτών διαχειρίζονται χειριστές κόμβων που εκτελούν λογισμικό επικυρωτή ως μέρος των πελατών εκτέλεσης και συναίνεσης και έχουν καταθέσει τουλάχιστον 32 ETH στη σύμβαση κατάθεσης. Ωστόσο, κάθε επικυρωτής είναι υπεύθυνος μόνο περιστασιακά για την πρόταση ενός μπλοκ. Το Ethereum μετράει τον χρόνο σε χρονικά κενά και εποχές. Κάθε χρονικό κενό είναι δώδεκα δευτερόλεπτα και 32 χρονικά κενά (6,4 λεπτά) αποτελούν μια εποχή. Κάθε χρονικό κενό είναι μια ευκαιρία να προστεθεί ένα νέο μπλοκ στο Ethereum.
+
+### Τυχαία επιλογή {#random-selection}
+
+Ένας μεμονωμένος επικυρωτής επιλέγεται ψευδοτυχαία για να προτείνει ένα μπλοκ σε κάθε χρονικό κενό. Δεν υφίσταται πραγματική τυχαιότητα σε μια κρυπτοαλυσίδα, επειδή εάν κάθε κόμβος δημιουργούσε πραγματικά τυχαίους αριθμούς, δεν θα μπορούσαν να καταλήξουν σε συναίνεση. Αντίθετα, ο στόχος είναι να καταστεί η διαδικασία επιλογής επικυρωτή απρόβλεπτη. Η τυχαιότητα επιτυγχάνεται στο Ethereum μέσω ενός αλγορίθμου που ονομάζεται RANDAO και αναμειγνύει έναν κατακερματισμό από τον προτείνοντα μπλοκ με μια φράση ασφαλείας (seed) που ενημερώνεται σε κάθε μπλοκ. Αυτή η τιμή χρησιμοποιείται για την επιλογή ενός συγκεκριμένου επικυρωτή από το συνολικό σύνολο επικυρωτών. Η επιλογή επικυρωτή καθορίζεται δύο εποχές εκ των προτέρων, γεγονός που συμβάλλει στην προστασία από ορισμένους τύπους χειραγώγησης της φράσης ασφαλείας.
+
+Αν και οι επικυρωτές προσθέτουν στο RANDAO σε κάθε χρονικό κενό, η ολική τιμή RANDAO ενημερώνεται μόνο μία φορά ανά εποχή. Για να υπολογιστεί ο δείκτης του επόμενου προτείνοντα μπλοκ, η τιμή RANDAO αναμειγνύεται με τον αριθμό χρονικού κενού για να δώσει μια μοναδική τιμή σε κάθε χρονικό κενό. Η πιθανότητα επιλογής ενός μεμονωμένου επικυρωτή δεν είναι απλώς `1/Ν` (όπου `Ν` = συνολικοί ενεργοί επικυρωτές). Αντιθέτως, υπολογίζεται με το πραγματικό υπόλοιπο ETH κάθε επικυρωτή. Το μέγιστο πραγματικό υπόλοιπο είναι 32 ETH (αυτό σημαίνει ότι `balance < 32 ETH` οδηγεί σε χαμηλότερη στάθμιση από `balance == 32 ETH`, αλλά `balance > 32 ETH` δεν οδηγεί σε υψηλότερη στάθμιση από `balance == 32 ETH`).
+
+Επιλέγεται μόνο ένας προτείνων μπλοκ σε κάθε χρονικό κενό. Υπό κανονικές συνθήκες, ένας μεμονωμένος παραγωγός μπλοκ δημιουργεί και απελευθερώνει ένα μεμονωμένο μπλοκ στο συγκεκριμένο χρονικό κενό του. Η δημιουργία δύο μπλοκ για το ίδιο χρονικό κενό συνιστά παράβαση που υπόκειται σε περικοπή, συχνά γνωστή ως «αμφιλογία».
+
+## Πώς δημιουργείται το μπλοκ; {#how-is-a-block-created}
+
+Ο προτείνων μπλοκ αναμένεται να μεταδώσει ένα υπογεγραμμένο μπλοκ beacon που δημιουργείται πάνω στην πιο πρόσφατη κεφαλή της αλυσίδας κατά την άποψη του δικού του τοπικά εκτελούμενου αλγόριθμου επιλογής διακλάδωσης. Ο αλγόριθμος επιλογής διακλάδωσης εφαρμόζει όλες τις εκκρεμείς βεβαιώσεις επικύρωσης που απομένουν από το προηγούμενο χρονικό κενό, στη συνέχεια βρίσκει το μπλοκ με τον μεγαλύτερο συσσωρευμένο συντελεστή στάθμισης βεβαιώσεων επικύρωσης στο ιστορικό του. Αυτό το μπλοκ είναι το γονικό στοιχείο του νέου μπλοκ που δημιουργήθηκε από τον προτείνοντα.
+
+Ο προτείνων μπλοκ δημιουργεί ένα μπλοκ συλλέγοντας δεδομένα από τη δική του τοπική βάση δεδομένων και την όψη της αλυσίδας. Το περιεχόμενο του μπλοκ εμφανίζεται στο παρακάτω απόσπασμα:
+
+```rust
+class BeaconBlockBody(Container):
+ randao_reveal: BLSSignature
+ eth1_data: Eth1Data
+ graffiti: Bytes32
+ proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
+ attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
+ attestations: List[Attestation, MAX_ATTESTATIONS]
+ deposits: List[Deposit, MAX_DEPOSITS]
+ voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
+ sync_aggregate: SyncAggregate
+ execution_payload: ExecutionPayload
+```
+
+Το πεδίο `randao_reveal` λαμβάνει μια επαληθεύσιμη τυχαία τιμή που δημιουργεί ο προτείνων του μπλοκ υπογράφοντας τον τρέχοντα αριθμό εποχής. Το `eth1_data` είναι μια ψήφος για την άποψη του προτείνοντα του μπλοκ για τη σύμβαση κατάθεσης, που περιλαμβάνει τη ρίζα του Merkle trie κατάθεσης και τον συνολικό αριθμό καταθέσεων που επιτρέπουν την επαλήθευση νέων καταθέσεων. Το `graffiti` είναι ένα προαιρετικό πεδίο που μπορεί να χρησιμοποιηθεί για την προσθήκη ενός μηνύματος στο μπλοκ. Τα `proposer_slashings` και `attester_slashings` είναι πεδία που περιέχουν απόδειξη ότι ορισμένοι επικυρωτές έχουν διαπράξει παραβάσεις περικοπής (slash) σύμφωνα με την άποψη που έχει ο προτείνων για την αλυσίδα. Το `deposits` είναι μια λίστα νέων καταθέσεων επικυρωτών των οποίων έχει γνώση ο προτείνων του μπλοκ και το `voluntary_exits` είναι μια λίστα επικυρωτών που επιθυμούν να εξέλθουν για τους οποίους ο προτείνων του μπλοκ άκουσε στο δίκτυο ενημέρωσης του επιπέδου συναίνεσης. Το `sync_aggregate` είναι ένας φορέας που δείχνει ποιοι επικυρωτές είχαν προηγουμένως ανατεθεί σε μια επιτροπή συγχρονισμού (ένα υποσύνολο επικυρωτών που εξυπηρετούν δεδομένα ελαφρού πελάτη) και συμμετείχαν στην υπογραφή δεδομένων.
+
+Το `execution_payload` επιτρέπει τη μεταφορά πληροφοριών σχετικά με τις συναλλαγές μεταξύ των πελατών εκτέλεσης και συναίνεσης. Το `execution_payload` είναι ένα μπλοκ δεδομένων εκτέλεσης που ενσωματώνεται σε ένα μπλοκ beacon. Τα πεδία μέσα στο `execution_payload` αντικατοπτρίζουν τη δομή μπλοκ που περιγράφεται στο κίτρινο έγγραφο του Ethereum, εκτός από το ότι δεν υπάρχουν ommer και το `prev_randao` υπάρχει στη θέση του `difficulty`. Ο πελάτης εκτέλεσης έχει πρόσβαση σε μια τοπική συγκέντρωση συναλλαγών για την οποία έμαθε από το δικό του δίκτυο ενημέρωσης. Αυτές οι συναλλαγές εκτελούνται τοπικά για να δημιουργήσουν ένα ενημερωμένο trie κατάστασης γνωστό ως μετα-κατάσταση. Οι συναλλαγές περιλαμβάνονται στο `execution_payload` ως μια λίστα που ονομάζεται `transactions` και η μετα-κατάσταση παρέχεται στο πεδίο `state-root`.
+
+Όλα αυτά τα δεδομένα συλλέγονται σε ένα μπλοκ beacon, υπογράφονται και μεταδίδονται στους ομοτίμους του προτείνοντα του μπλοκ, οι οποίοι το διαδίδουν στους ομοτίμους τους και ούτω καθεξής.
+
+Διαβάστε περισσότερα για την [ανατομία των μπλοκ](/developers/docs/blocks).
+
+## Τι γίνεται με το μπλοκ; {#what-happens-to-blocks}
+
+Το μπλοκ προστίθεται στην τοπική βάση δεδομένων του προτείνοντος το μπλοκ και μεταδίδεται στους ομοτίμους μέσω του δικτύου ενημέρωσης του επιπέδου συναίνεσης. Όταν ένας επικυρωτής λαμβάνει το μπλοκ, επαληθεύει τα δεδομένα μέσα σε αυτό και, μεταξύ άλλων, ελέγχει ότι το μπλοκ έχει το σωστό γονικό στοιχείο, αντιστοιχεί στο σωστό χρονικό κενό, ότι ο δείκτης προτείνοντος είναι ο αναμενόμενος, ότι η αποκάλυψη RANDAO είναι έγκυρη και ότι ο προτείνων δεν έχει περικοπεί. Το `execution_payload` διαχωρίζεται και ο πελάτης εκτέλεσης του επικυρωτή εκτελεί ξανά τις συναλλαγές στη λίστα για να ελέγξει την προτεινόμενη αλλαγή κατάστασης. Υποθέτοντας ότι το μπλοκ περνάει όλους αυτούς τους ελέγχους, κάθε επικυρωτής προσθέτει το μπλοκ στη δική του κανονική αλυσίδα. Η διαδικασία ξεκινά ξανά στο επόμενο χρονικό κενό.
+
+## Επιβραβεύσεις μπλοκ {#block-rewards}
+
+Ο προτείνων του μπλοκ λαμβάνει πληρωμή για την εργασία του. Υπάρχει μια `base_reward` που υπολογίζεται ως συνάρτηση του αριθμού των ενεργών επικυρωτών και των πραγματικών υπολοίπων τους. Ο προτείνων του μπλοκ στη συνέχεια λαμβάνει ένα κλάσμα της `base_reward` για κάθε έγκυρη βεβαίωση επικύρωσης που περιλαμβάνεται στο μπλοκ. Όσο περισσότεροι επικυρωτές βεβαιώνουν το μπλοκ, τόσο μεγαλύτερη είναι η ανταμοιβή του προτείνοντος το μπλοκ. Υπάρχει επίσης μια ανταμοιβή για την αναφορά επικυρωτών που πρέπει να περικοπούν, ίση με `1/512 * effective balance` για κάθε περικομμένο επικυρωτή.
+
+[Περισσότερα για ανταμοιβές και ποινές](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Εισαγωγή στα μπλοκ](/developers/docs/blocks/)
+- [Εισαγωγή στο proof-of-stake](/developers/docs/consensus-mechanisms/pos/)
+- [Προδιαγραφές συναίνεσης Ethereum](https://github.com/ethereum/consensus-specs)
+- [Εισαγωγή στο Gasper](/developers/docs/consensus-mechanisms/pos/)
+- [Αναβάθμιση Ethereum](https://eth2book.info/)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/faqs/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/faqs/index.md
new file mode 100644
index 00000000000..e32116bcf22
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/faqs/index.md
@@ -0,0 +1,172 @@
+---
+title: Συχνές ερωτήσεις
+description: Συχνές ερωτήσεις για την απόδειξη συμμετοχής του Ethereum.
+lang: el
+---
+
+## Τι είναι η απόδειξη συμμετοχής {#what-is-proof-of-stake}
+
+Η απόδειξη συμμετοχής (proof-of-stake) είναι μια κατηγορία αλγορίθμων που μπορεί να παρέχει ασφάλεια στα blockchain, διασφαλίζοντας ότι οι επιτιθέμενοι που ενεργούν ανέντιμα χάνουν περιουσιακά στοιχεία αξίας. Τα συστήματα απόδειξης συμμετοχής απαιτούν ένα σύνολο επικυρωτών για να διαθέσουν κάποιο περιουσιακό στοιχείο που μπορεί να καταστραφεί εάν ο επικυρωτής αποδεδειγμένα συμπεριφερθεί με ανέντιμο τρόπο. Το Ethereum χρησιμοποιεί έναν μηχανισμό απόδειξης συμμετοχής για να ασφαλίσει το blockchain.
+
+## Πώς συγκρίνεται η απόδειξη συμμετοχής με την απόδειξη εργασίας; {#comparison-to-proof-of-work}
+
+Τόσο η απόδειξη εργασίας όσο και η απόδειξη συμμετοχής είναι μηχανισμοί που αποθαρρύνουν σε οικονομικό επίπεδο τους κακόβουλους φορείς από το να στείλουν ανεπιθύμητο περιεχόμενο ή να εξαπατήσουν το δίκτυο. Και στις δύο περιπτώσεις, οι κόμβοι που συμμετέχουν ενεργά στη συναίνεση τοποθετούν κάποιο περιουσιακό στοιχείο «στο δίκτυο», το οποίο θα χάσουν εάν δεν συμπεριφέρονται σωστά.
+
+Στην απόδειξη εργασίας (proof-of-work), αυτό το περιουσιακό στοιχείο είναι η ενέργεια. Ο κόμβος, γνωστός ως εξορύκτης (miner), εκτελεί έναν αλγόριθμο που στοχεύει να υπολογίσει μια αξία γρηγορότερα από οποιονδήποτε άλλο κόμβο. Ο ταχύτερος κόμβος έχει το δικαίωμα να προτείνει ένα μπλοκ στην αλυσίδα. Για να αλλάξει το ιστορικό της αλυσίδας ή να κυριαρχήσει στην πρόταση των μπλοκ, ένας εξορύκτης θα έπρεπε να έχει τόση υπολογιστική ισχύ ώστε να κερδίζει πάντα τον αγώνα ταχύτητας. Αυτό είναι απαγορευτικά ακριβό και δύσκολο να εκτελεστεί, γεγονός το οποίο προστατεύει την αλυσίδα από επιθέσεις. Η ενέργεια που απαιτείται για την «κρυπτόρυξη» με χρήση απόδειξης εργασίας είναι ένα πραγματικό περιουσιακό στοιχείο που πληρώνουν οι εξορύκτες.
+
+Η απόδειξη συμμετοχής απαιτεί από τους κόμβους, γνωστούς ως επικυρωτές, να υποβάλουν ρητά ένα κρυπτονόμισμα σε ένα έξυπνο συμβόλαιο. Εάν ένας επικυρωτής συμπεριφέρεται λανθασμένα, αυτό το κρυπτονόμισμα μπορεί να καταστραφεί επειδή «ποντάρει» τα περιουσιακά του στοιχεία απευθείας στην αλυσίδα αντί για έμμεσα μέσω ενεργειακών δαπανών.
+
+Η απόδειξη εργασίας είναι πολύ πιο απαιτητική ενεργειακά, επειδή καταναλώνεται ηλεκτρισμός κατά τη διαδικασία της εξόρυξης. Η απόδειξη συμμετοχής, από την άλλη πλευρά, απαιτεί μόνο μια πολύ μικρή ποσότητα ενέργειας, καθώς οι επικυρωτές Ethereum μπορούν να λειτουργήσουν ακόμη και σε μια συσκευή χαμηλής κατανάλωσης όπως το Raspberry Pi. Ο μηχανισμός της απόδειξης συμμετοχής του Ethereum θεωρείται πιο ασφαλής από την απόδειξη εργασίας, επειδή το κόστος της επίθεσης είναι μεγαλύτερο και οι συνέπειες για έναν εισβολέα είναι πιο σοβαρές.
+
+Η απόδειξη εργασίας έναντι της απόδειξης συμμετοχής είναι ένα επίμαχο θέμα. [Το ιστολόγιο του Vitalik Buterin](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-are-the-benefits-of-proof-of-stake-as-opposed-to-proof-of-work) και η συζήτηση μεταξύ του Justin Drake και της Lyn Alden παρέχουν μια καλή περίληψη των επιχειρημάτων.
+
+
+
+## Είναι η απόδειξη συμμετοχής ενεργειακά αποδοτική; {#is-pos-energy-efficient}
+
+Ναι. Οι κόμβοι σε ένα δίκτυο απόδειξης συμμετοχής χρησιμοποιούν μια πολύ μικρή ποσότητα ενέργειας. Μια μελέτη τρίτου μέρους κατέληξε στο συμπέρασμα ότι ολόκληρο το δίκτυο απόδειξης συμμετοχής Ethereum καταναλώνει περίπου 0,0026 TWh/έτος, δηλαδή περίπου 13.000 φορές λιγότερο από όσο καταναλώνεται μόνο στις ΗΠΑ για gaming.
+
+[Περισσότερα για την κατανάλωση ενέργειας στο Ethereum](/energy-consumption/).
+
+## Είναι ασφαλής η απόδειξη συμμετοχής; {#is-pos-secure}
+
+Η απόδειξη συμμετοχής του Ethereum είναι πολύ ασφαλής. Ο μηχανισμός αποτέλεσε αντικείμενο αυστηρής έρευνας, ανάπτυξης και δοκιμής επί οκτώ χρόνια προτού τεθεί σε λειτουργία. Οι εγγυήσεις ασφαλείας διαφέρουν από τα blockchain της απόδειξης εργασίας. Στην απόδειξη συμμετοχής, οι κακόβουλοι επικυρωτές μπορούν να τιμωρηθούν ενεργά («να υποστούν περικοπές») και να αποβληθούν από το σύνολο επικυρωτών, κάτι που κοστίζει ένα σημαντικό ποσό ETH. Στο πλαίσιο της απόδειξης εργασίας, ένας εισβολέας μπορεί να συνεχίσει να επαναλαμβάνει την επίθεσή του όσο έχει επαρκή ισχύ κατακερματισμού. Είναι επίσης πιο δαπανηρό να πραγματοποιούνται ισοδύναμες επιθέσεις στο Ethereum της απόδειξης συμμετοχής παρά της απόδειξης εργασίας. Για να επηρεαστεί η ζωτικότητα της αλυσίδας, απαιτείται τουλάχιστον το 33% του συνολικού αποθηκευμένου κεφαλαίου ether στο δίκτυο (εκτός από τις περιπτώσεις πολύ εξελιγμένων επιθέσεων με εξαιρετικά χαμηλή πιθανότητα επιτυχίας). Για τον έλεγχο των περιεχομένων των μελλοντικών μπλοκ, απαιτείται τουλάχιστον το 51% του συνολικού αποθηκευμένου κεφαλαίου ETH, και για να ξαναγραφτεί το ιστορικό, χρειάζεται πάνω από το 66% του συνολικού αποθηκευμένου κεφαλαίου. Το πρωτόκολλο του Ethereum θα κατέστρεφε αυτά τα περιουσιακά στοιχεία στα σενάρια επίθεσης του 33% ή 51% και με κοινωνική συναίνεση στο σενάριο επίθεσης του 66%.
+
+- [Περισσότερα για την υπεράσπιση του Ethereum της απόδειξης συμμετοχής από τους επιτιθέμενους](/developers/docs/consensus-mechanisms/pos/attack-and-defense)
+- [Περισσότερα για τον σχεδιασμό της απόδειξης συμμετοχής](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51)
+
+## Η απόδειξη συμμετοχής κάνει το Ethereum φθηνότερο; {#does-pos-make-ethereum-cheaper}
+
+Όχι. Το κόστος αποστολής μιας συναλλαγής (τέλος καυσίμων) καθορίζεται από μια δυναμική αγορά τελών που αυξάνεται με τη μεγαλύτερη ζήτηση δικτύου. Ο μηχανισμός συναίνεσης δεν το επηρεάζει άμεσα αυτό.
+
+[Περισσότερα για τα καύσιμα (gas)](/developers/docs/gas).
+
+## Τι είναι οι κόμβοι, οι πελάτες και οι επικυρωτές; {#what-are-nodes-clients-and-validators}
+
+Οι κόμβοι είναι υπολογιστές συνδεδεμένοι στο δίκτυο Ethereum. Οι πελάτες είναι το λογισμικό που εκτελούν και το οποίο μετατρέπει τον υπολογιστή σε κόμβο. Υπάρχουν δύο τύποι πελατών: πελάτες εκτέλεσης και πελάτες συναίνεσης. Για τη δημιουργία ενός κόμβου χρειάζονται και οι δύο. Ο επικυρωτής είναι ένα προαιρετικό πρόσθετο σε έναν πελάτη συναίνεσης που επιτρέπει στον κόμβο να συμμετέχει στη συναίνεση της απόδειξης συμμετοχής. Αυτό σημαίνει ότι δημιουργεί και προτείνει μπλοκ, όταν επιλέγεται, και βεβαιώνει μπλοκ για τα οποία ακούει στο δίκτυο. Για να εκτελέσετε έναν επικυρωτή, ο χειριστής του κόμβου πρέπει να καταθέσει 32 ETH στο συμβόλαιο κατάθεσης.
+
+- [Περισσότερα για τους κόμβους και τους πελάτες](/developers/docs/nodes-and-clients)
+- [Περισσότερα για το staking](/staking)
+
+## Η απόδειξη συμμετοχής είναι μια νέα ιδέα; {#is-pos-new}
+
+Όχι. Ένας χρήστης στο BitcoinTalk [πρότεινε τη βασική ιδέα της απόδειξης συμμετοχής](https://bitcointalk.org/index.php?topic=27787.0) ως μια αναβάθμιση στο Bitcoin το 2011. Δηλαδή, έντεκα χρόνια πριν να ήταν έτοιμο να εφαρμοστεί στο Ethereum Mainnet. Ορισμένες άλλες αλυσίδες εφάρμοσαν την απόδειξη συμμετοχής νωρίτερα από το Ethereum, αλλά όχι τον ειδικό μηχανισμό του Ethereum (που είναι γνωστός ως Gasper).
+
+## Τι το ιδιαίτερο έχει η απόδειξη συμμετοχής του Ethereum; {#why-is-ethereum-pos-special}
+
+Ο μηχανισμός της απόδειξης συμμετοχής του Ethereum είναι μοναδικός από άποψη σχεδιασμού. Δεν ήταν ο πρώτος μηχανισμός απόδειξης συμμετοχής που σχεδιάστηκε και υλοποιήθηκε, αλλά είναι ο πιο ισχυρός. Ο μηχανισμός αυτός είναι γνωστός ως «Casper». Το Casper καθορίζει πώς επιλέγονται οι επικυρωτές για να προτείνουν μπλοκ, πώς και πότε γίνονται οι βεβαιώσεις, πώς μετρώνται οι βεβαιώσεις, οι ανταμοιβές και οι ποινές που δίνονται στους επικυρωτές, οι συνθήκες περικοπής, οι μηχανισμοί ασφαλείας όπως η διαρροή λόγω αδράνειας και οι συνθήκες για «οριστικότητα». Η οριστικότητα είναι η κατάσταση που για να θεωρηθεί ένα μπλοκ ως μόνιμο μέρος της κανονικής αλυσίδας πρέπει να έχει ψηφιστεί από τουλάχιστον 66% του συνολικού αποθηκευμένου κεφαλαίου ETH στο δίκτυο. Οι ερευνητές ανέπτυξαν το Casper ειδικά για το Ethereum και το Ethereum είναι το πρώτο και μοναδικό blockchain που το έχει εφαρμόσει.
+
+Εκτός από το Casper, η απόδειξη συμμετοχής του Ethereum χρησιμοποιεί έναν αλγόριθμο επιλογής ενσωμάτωσης που ονομάζεται LMD-GHOST. Αυτός είναι απαραίτητος σε περίπτωση που προκύψει μια συνθήκη όπου υπάρχουν δύο μπλοκ για το ίδιο χρονικό κενό. Έτσι δημιουργούνται δύο διακλαδώσεις της κρυπτοαλυσίδας. Το LMD-GHOST επιλέγει αυτήν που έχει το μεγαλύτερο «βάρος» βεβαιώσεων. Το βάρος είναι ο αριθμός των βεβαιώσεων που σταθμίζονται με το πραγματικό υπόλοιπο των επικυρωτών. Το LMD-GHOST υπάρχει μόνο στο Ethereum.
+
+Ο συνδυασμός Casper και LMD_GHOST είναι γνωστός ως «Gasper».
+
+[Περισσότερα για το Gasper](/developers/docs/consensus-mechanisms/pos/gasper/)
+
+## Τι είναι η περικοπή; {#what-is-slashing}
+
+Η περικοπή είναι ο όρος που δίνεται στην καταστροφή μέρους του αποθηκευμένου κεφαλαίου ενός επικυρωτή και την εκδίωξη του επικυρωτή από το δίκτυο. Το ποσό του ETH που χάνεται με μια περικοπή κλιμακώνεται με τον αριθμό των επικυρωτών που υποβάλλονται σε περικοπή. Αυτό σημαίνει ότι οι συνεργαζόμενοι επικυρωτές τιμωρούνται πιο αυστηρά από τους μεμονωμένους.
+
+[Περισσότερα για τις περικοπές](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties#slashing)
+
+## Γιατί χρειάζονται 32 ETH οι επικυρωτές; {#why-32-eth}
+
+Οι επικυρωτές πρέπει να αποθηκεύσουν ETH για να έχουν κάτι να χάσουν εάν παρουσιάσουν κακόβουλη συμπεριφορά. Ο λόγος για τον οποίο πρέπει να αποθηκεύσουν κεφάλαιο, και συγκεκριμένα 32 ETH, είναι για να επιτρέψουν στους κόμβους να εκτελούνται σε μέτριο υλικό. Εάν το ελάχιστο ποσό ETH ανά επικυρωτή ήταν χαμηλότερο, τότε ο αριθμός των επικυρωτών και, επομένως, ο αριθμός των μηνυμάτων που πρέπει να υποβληθούν σε επεξεργασία σε κάθε χρονικό κενό θα αυξανόταν, πράγμα που σημαίνει ότι θα απαιτούνταν ισχυρότερο υλικό για να εκτελεστεί ένας κόμβος.
+
+## Πώς επιλέγονται οι επικυρωτές; {#how-are-validators-selected}
+
+Ένας μεμονωμένος επικυρωτής επιλέγεται ψευδοτυχαία για να προτείνει ένα μπλοκ σε κάθε χρονικό κενό χρησιμοποιώντας έναν αλγόριθμο που ονομάζεται RANDAO, ο οποίος αναμιγνύει ένα hash από τον προτείνοντα του μπλοκ με ένα seed που ενημερώνεται σε κάθε μπλοκ. Αυτή η τιμή χρησιμοποιείται για την επιλογή ενός συγκεκριμένου εργαλείου επικύρωσης από το συνολικό σύνολο επικυρωτών. Η επιλογή επικυρωτή καθορίζεται δύο εποχές εκ των προτέρων.
+
+[Περισσότερα για την επιλογή επικυρωτή](/developers/docs/consensus-mechanisms/pos/block-proposal)
+
+## Τι είναι το stake grinding; {#what-is-stake-grinding}
+
+Το stake grinding είναι μια κατηγορία επίθεσης σε δίκτυα απόδειξης συμμετοχής όπου ο επιτιθέμενος προσπαθεί να προκαταβάλει τον αλγόριθμο επιλογής επικυρωτή υπέρ των δικών του επικυρωτών. Οι επιθέσεις stake grinding στο RANDAO απαιτούν περίπου το μισό από το συνολικό αποθηκευμένο ETH.
+
+[Περισσότερα για το stake grinding](https://eth2book.info/altair/part2/building_blocks/randomness/#randao-biasability)
+
+## Τι είναι το κοινωνικό slashing; {#what-is-social-slashing}
+
+Το κοινωνικό slashing (περικοπή) είναι η δυνατότητα της κοινότητας να συντονίσει μια ενσωμάτωση της αλυσίδας μπλοκ ως απάντηση σε μια επίθεση. Επιτρέπει στην κοινότητα να ανακάμψει από έναν επιτιθέμενο που ολοκληρώνει μια ανέντιμη αλυσίδα. Το κοινωνικό slashing μπορεί επίσης να χρησιμοποιηθεί κατά των επιθέσεων λογοκρισίας.
+
+- [Περισσότερα για το κοινωνικό slashing](https://ercwl.medium.com/the-case-for-social-slashing-59277ff4d9c7)
+- [Vitalik Buterin σχετικά με το κοινωνικό slashing](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-proof-of-stake)
+
+## Θα μου επιβληθεί περικοπή; {#will-i-get-slashed}
+
+Ως επικυρωτής, είναι πολύ δύσκολο να σας επιβληθεί περικοπή, εκτός εάν συμμετάσχετε σκόπιμα σε κακόβουλη συμπεριφορά. Η περικοπή εφαρμόζεται μόνο σε πολύ συγκεκριμένες περιπτώσεις, όπου οι επικυρωτές προτείνουν πολλαπλά μπλοκ για το ίδιο χρονικό κενό ή αντιφάσκουν με τις βεβαιώσεις τους, αλλά είναι πολύ απίθανο να προκύψουν τυχαία.
+
+[Περισσότερες πληροφορίες σχετικά με τις συνθήκες περικοπής](https://eth2book.info/altair/part2/incentives/slashing)
+
+## Τι είναι το πρόβλημα «μηδενικό διακύβευμα»; {#what-is-nothing-at-stake-problem}
+
+Το πρόβλημα «μηδενικό διακύβευμα» είναι ένα εννοιολογικό ζήτημα με ορισμένους μηχανισμούς απόδειξης συμμετοχής όπου υπάρχουν μόνο ανταμοιβές και όχι ποινές. Εάν το διακύβευμα είναι μηδενικό, ένας πρακτικός επικυρωτής είναι εξίσου χαρούμενος να βεβαιώσει οποιαδήποτε ή ακόμα και πολλαπλές ενσωματώσεις της αλυσίδας μπλοκ, καθώς αυτό αυξάνει τις ανταμοιβές του. Το Ethereum το αποφεύγει αυτό χρησιμοποιώντας συνθήκες οριστικότητας και περικοπής για να εξασφαλίσει μία κανονική αλυσίδα.
+
+[Περισσότερα για το πρόβλημα «μηδενικό διακύβευμα»](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed)
+
+## Τι είναι ένας αλγόριθμος επιλογής διαχωρισμού «fork»; {#what-is-a-fork-choice-algorithm}
+
+Ένας αλγόριθμος επιλογής ενσωμάτωσης «fork» υλοποιεί κανόνες που καθορίζουν ποια αλυσίδα είναι η κανονική. Σε βέλτιστες συνθήκες, δεν υπάρχει ανάγκη για κανόνα επιλογής fork, επειδή υπάρχει μόνο ένας προτείνων μπλοκ ανά χρονικό κενό και ένα μπλοκ για να επιλέξετε. Ωστόσο, περιστασιακά, πολλαπλά μπλοκ για το ίδιο χρονικό κενό ή καθυστερημένες πληροφορίες οδηγούν σε πολλαπλές επιλογές για το πώς οργανώνονται τα μπλοκ κοντά στην κεφαλή της αλυσίδας. Σε αυτές τις περιπτώσεις, όλοι οι πελάτες πρέπει να υλοποιήσουν ορισμένους κανόνες ταυτόσημα για να διασφαλίσουν ότι όλοι επιλέγουν τη σωστή ακολουθία μπλοκ. Ο αλγόριθμος επιλογής fork κωδικοποιεί αυτούς τους κανόνες.
+
+Ο αλγόριθμος επιλογής fork του Ethereum ονομάζεται LMD-GHOST. Επιλέγει την ενσωμάτωση με το μεγαλύτερο βάρος βεβαιώσεων, δηλαδή αυτή για την οποία έχει ψηφίσει το περισσότερο αποθηκευμένο κεφάλαιο ETH.
+
+[Περισσότερα για το LMD-GHOST](/developers/docs/consensus-mechanisms/pos/gasper/#fork-choice)
+
+## Τι είναι η οριστικότητα στην απόδειξη συμμετοχής; {#what-is-finality}
+
+Οριστικότητα σε ένα σύστημα απόδειξης συμμετοχής είναι η εγγύηση ότι ένα συγκεκριμένο μπλοκ είναι μόνιμο μέρος της κανονικής αλυσίδας και δεν μπορεί να αναστραφεί, εκτός και αν υπάρξει μια αποτυχία συναίνεσης όπου ένας επιτιθέμενος καταστρέφει το 33% του συνολικού αποθηκευμένου ether. Πρόκειται για «κρυπτοοικονομική» οριστικότητα, σε αντίθεση με την «πιθανοτική οριστικότητα» που σχετίζεται με τα blockchain της απόδειξης εργασίας. Στην πιθανολογική οριστικότητα, δεν υπάρχουν σαφείς οριστικοποιημένες/μη οριστικοποιημένες καταστάσεις για μπλοκ. Γίνεται όλο και λιγότερο πιθανό ένα μπλοκ να μπορεί να αφαιρεθεί από την αλυσίδα καθώς μεγαλώνει ηλικιακά, και οι χρήστες καθορίζουν μόνοι τους πότε είναι αρκετά σίγουροι ότι το μπλοκ είναι «ασφαλές». Στην κρυπτοοικονομική οριστικότητα, τα ζεύγη μπλοκ σημείων ελέγχου πρέπει να ψηφιστούν από το 66% του αποθηκευμένου ether. Εάν πληρούται αυτή η προϋπόθεση, τα μπλοκ μεταξύ αυτών των σημείων ελέγχου «οριστικοποιούνται» ρητά.
+
+[Περισσότερα για οριστικότητα](/developers/docs/consensus-mechanisms/pos/#finality)
+
+## Τι είναι η «αδύναμη υποκειμενικότητα»; {#what-is-weak-subjectivity}
+
+Η αδύναμη υποκειμενικότητα είναι ένα χαρακτηριστικό των δικτύων απόδειξης συμμετοχής όπου χρησιμοποιούνται κοινωνικές πληροφορίες για την επιβεβαίωση της τρέχουσας κατάστασης του blockchain. Οι νέοι κόμβοι ή οι κόμβοι που επανεισέρχονται στο δίκτυο μετά από μεγάλο χρονικό διάστημα εκτός σύνδεσης μπορούν να λάβουν μια πρόσφατη κατάσταση, έτσι ώστε ο κόμβος να μπορεί να δει αμέσως εάν βρίσκονται στη σωστή αλυσίδα. Αυτές οι καταστάσεις είναι γνωστές ως «σημεία ελέγχου αδύναμης υποκειμενικότητας» και μπορούν να ληφθούν από άλλους χειριστές κόμβων εκτός ζώνης ή από εξερευνητές μπλοκ ή από πολλά δημόσια τελικά σημεία.
+
+[Περισσότερα για την αδύναμη υποκειμενικότητα](/developers/docs/consensus-mechanisms/pos/weak-subjectivity)
+
+## Η απόδειξη συμμετοχής είναι ανθεκτική στη λογοκρισία; {#is-pos-censorship-resistant}
+
+Η αντίσταση στη λογοκρισία είναι επί του παρόντος δύσκολο να αποδειχθεί. Ωστόσο, σε αντίθεση με την απόδειξη εργασίας, η απόδειξη συμμετοχής προσφέρει την επιλογή συντονισμού των περικοπών για την τιμωρία των επικυρωτών που λογοκρίνουν. Οι επερχόμενες αλλαγές στο πρωτόκολλο διαχωρίζουν τους δημιουργούς μπλοκ από τους προτείνοντες μπλοκ και εφαρμόζουν λίστες συναλλαγών που οι κατασκευαστές πρέπει να περιλαμβάνουν σε κάθε μπλοκ. Αυτή η πρόταση είναι γνωστή ως διαχωρισμός προτείνοντος-κατασκευαστή και βοηθά στην αποτροπή των επικυρωτών από το να λογοκρίνουν τις συναλλαγές.
+
+[Περισσότερα για τον διαχωρισμό προτείνοντος-κατασκευαστή](https://notes.ethereum.org/@fradamt/H1TsYRfJc#Original-basic-scheme)
+
+## Μπορεί το σύστημα απόδειξης συμμετοχής του Ethereum να δεχθεί επίθεση κατά 51%; {#pos-51-attack}
+
+Ναι. Η απόδειξη συμμετοχής είναι ευάλωτη σε επιθέσεις 51%, ακριβώς όπως και η απόδειξη εργασίας. Αντί ο εισβολέας να απαιτεί το 51% της ισχύος hash του δικτύου, ο εισβολέας απαιτεί το 51% του συνολικού αποθηκευμένου ETH. Ένας εισβολέας που συγκεντρώνει το 51% του συνολικού αποθηκευμένου ποσού μπορεί να ελέγξει τον αλγόριθμο επιλογής fork. Αυτό δίνει τη δυνατότητα στον εισβολέα να λογοκρίνει ορισμένες συναλλαγές, να κάνει αναδιοργανώσεις μικρής εμβέλειας και να εξαγάγει MEV αναδιατάσσοντας μπλοκ υπέρ του.
+
+[Περισσότερα για επιθέσεις στην απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/attack-and-defense)
+
+## Τι είναι ο κοινωνικός συντονισμός και γιατί χρειάζεται; {#what-is-social-coordination}
+
+Ο κοινωνικός συντονισμός είναι η τελευταία γραμμή άμυνας για το Ethereum, η οποία θα επέτρεπε την ανάκτηση μιας ειλικρινούς αλυσίδας από μια επίθεση που οριστικοποίησε ανέντιμα μπλοκ. Σε αυτή την περίπτωση, η κοινότητα του Ethereum θα έπρεπε να συντονιστεί «εκτός ζώνης» και να συμφωνήσει να χρησιμοποιήσει ένα ειλικρινές fork μειοψηφίας, περικόπτοντας τους επικυρωτές του εισβολέα στη διαδικασία. Αυτό θα απαιτούσε από τις εφαρμογές και τα ανταλλακτήρια να αναγνωρίζουν επίσης την ειλικρινή ενσωμάτωση.
+
+[Διαβάστε περισσότερα για τον κοινωνικό συντονισμό](/developers/docs/consensus-mechanisms/pos/attack-and-defense#people-the-last-line-of-defense)
+
+## Γίνονται πλουσιότεροι οι πλούσιοι στην απόδειξη συμμετοχής; {#do-rich-get-richer}
+
+Όσο περισσότερο ETH πρέπει να αποθηκεύσει κάποιος, τόσο περισσότερους επικυρωτές μπορεί να τρέξει και τόσο περισσότερες ανταμοιβές μπορεί να συγκεντρώσει. Οι ανταμοιβές κλιμακώνονται γραμμικά με το ποσό του αποθηκευμένου ETH και όλοι λαμβάνουν την ίδια ποσοστιαία απόδοση. Η απόδειξη εργασίας ενισχύει τους πλούσιους περισσότερο απ' ό,τι η απόδειξη συμμετοχής, επειδή οι πλουσιότεροι εξορύκτες που αγοράζουν υλικό υπολογιστή σε κλίμακα, επωφελούνται από οικονομίες κλίμακας, πράγμα που σημαίνει ότι η σχέση μεταξύ πλούτου και ανταμοιβής είναι μη γραμμική.
+
+## Είναι η απόδειξη συμμετοχής πιο κεντρικοποιημένη από την απόδειξη εργασίας; {#is-pos-decentralized}
+
+Όχι, η απόδειξη εργασίας τείνει προς την κεντρικοποίηση επειδή το κόστος εξόρυξης αυξάνεται και αποκλείει τα άτομα που δεν μπορούν να το επωμιστούν, στη συνέχεια αποκλείει τις μικρές εταιρείες και ούτω καθεξής. Το τρέχον πρόβλημα με την απόδειξη συμμετοχής είναι η επιρροή των παραγώγων ρευστότητας συμμετοχής (LSD). Πρόκειται για token που αντιπροσωπεύουν το ETH που αποθηκεύεται από κάποιον πάροχο που ο καθένας μπορεί να ανταλλάξει σε δευτερογενείς αγορές χωρίς να αποσύρεται το αποθηκευμένο πραγματικό ETH. Τα LSD επιτρέπουν στους χρήστες να αποθηκεύουν με λιγότερα από 32 ETH, αλλά δημιουργούν επίσης κίνδυνο κεντρικοποίησης όπου μερικές μεγάλες οργανώσεις μπορούν να καταλήξουν να ελέγχουν μεγάλο μέρος του αποθηκευμένου κεφαλαίου. Αυτός είναι ο λόγος για τον οποίο η [ατομική αποθήκευση](/staking/solo) είναι η καλύτερη επιλογή για το Ethereum.
+
+[Περισσότερα για την κεντρικοποίηση της αποθήκευσης κεφαλαίου στα LSD](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
+
+## Γιατί μπορώ να αποθηκεύσω μόνο ETH; {#why-can-i-only-stake-eth}
+
+Το ETH είναι το εγγενές νόμισμα του Ethereum. Είναι απαραίτητο να υπάρχει ένα ενιαίο νόμισμα στο οποίο να εκφράζονται όλα τα αποθηκευμένα κεφάλαια, τόσο για την αποτίμηση των πραγματικών υπολοίπων για τη στάθμιση της ψηφοφορίας όσο και για την ασφάλεια. Το ίδιο το ETH είναι ένα θεμελιώδες στοιχείο του Ethereum, όχι ένα έξυπνο συμβόλαιο. Η ενσωμάτωση άλλων νομισμάτων θα αυξήσει σημαντικά την πολυπλοκότητα και θα μειώσει την ασφάλεια του αποθηκευμένου κεφαλαίου.
+
+## Είναι το Ethereum το μοναδικό blockchain με απόδειξη συμμετοχής; {#is-ethereum-the-only-pos-blockchain}
+
+Όχι, υπάρχουν αρκετά blockchain με απόδειξη συμμετοχής. Κανένα δεν είναι πανομοιότυπο με το Ethereum, ο μηχανισμός απόδειξης συμμετοχής του Ethereum είναι μοναδικός.
+
+## Τι είναι η Συγχώνευση; {#what-is-the-merge}
+
+Η Συγχώνευση ήταν η στιγμή που το Ethereum απενεργοποίησε τον μηχανισμό συναίνεσης που βασίζεται στην απόδειξη εργασίας και ενεργοποίησε τον μηχανισμό συναίνεσης που βασίζεται στην απόδειξη συμμετοχής. Η Συγχώνευση έγινε στις 15 Σεπτεμβρίου 2022.
+
+[Περισσότερα για τη συγχώνευση](/roadmap/merge)
+
+## Τι είναι η ζωτικότητα και η ασφάλεια; {#what-are-liveness-and-safety}
+
+Η ζωτικότητα και η ασφάλεια είναι οι δύο θεμελιώδεις ανησυχίες για την ασφάλεια ενός blockchain. Η ζωτικότητα είναι η διαθεσιμότητα μιας οριστικοποιούμενης αλυσίδας. Εάν η αλυσίδα σταματήσει να ολοκληρώνεται ή οι χρήστες δεν έχουν εύκολη πρόσβαση σε αυτήν, έχουμε να κάνουμε με αποτυχίες της λειτουργίας ζωτικότητας. Το εξαιρετικά υψηλό κόστος πρόσβασης θα μπορούσε επίσης να θεωρηθεί αποτυχία λειτουργίας ζωτικότητας. Η ασφάλεια αναφέρεται στο πόσο δύσκολο είναι να επιτεθείς στην αλυσίδα, δηλαδή να οριστικοποιήσεις αντικρουόμενα σημεία ελέγχου.
+
+[Διαβάστε περισσότερα στην ανάλυση Casper](https://arxiv.org/pdf/1710.09437.pdf)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/gasper/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/gasper/index.md
new file mode 100644
index 00000000000..5958d234bf9
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/gasper/index.md
@@ -0,0 +1,52 @@
+---
+title: Gasper
+description: Εξήγηση του μηχανισμού απόδειξης συμμετοχής Gasper.
+lang: el
+---
+
+Το Gasper είναι ένας συνδυασμός του Casper the Friendly Finality Gadget (Casper-FFG) και του αλγόριθμου επιλογής ενσωμάτωσης LMD-GHOST. Μαζί αυτά τα στοιχεία αποτελούν τον μηχανισμό συναίνεσης που εξασφαλίζει την απόδειξη συμμετοχής του Ethereum. Το Casper είναι ο μηχανισμός που αναβαθμίζει ορισμένα μπλοκ σε «οριστικοποιημένα» ώστε οι νέοι συμμετέχοντες στο δίκτυο να μπορούν να είναι σίγουροι ότι συγχρονίζουν την κανονική αλυσίδα. Ο αλγόριθμος επιλογής ενσωμάτωσης χρησιμοποιεί συσσωρευμένες ψήφους για να εξασφαλίσει ότι οι κόμβοι μπορούν εύκολα να επιλέξουν τον σωστό, όταν προκύπτουν διακλαδώσεις στην αλυσίδα μπλοκ.
+
+**Σημειώνεται** ότι ο αρχικός ορισμός του Casper-FFG ενημερώθηκε ελαφρώς για την ένταξή του στο Gasper. Σε αυτή τη σελίδα λαμβάνουμε υπόψη την ενημερωμένη έκδοση.
+
+## Προαπαιτούμενα
+
+Για να κατανοήσετε αυτό το υλικό, είναι απαραίτητο να διαβάσετε την εισαγωγική σελίδα στο [proof-of-stake](/developers/docs/consensus-mechanisms/pos/).
+
+## Ο ρόλος του Gasper {#role-of-gasper}
+
+Το Gasper βασίζεται σε ένα blockchain απόδειξης συμμετοχής όπου οι κόμβοι παρέχουν ether ως εγγύηση ασφάλειας που μπορεί να καταστραφεί εάν είναι τεμπέληδες ή ανέντιμοι στην πρόταση ή επικύρωση μπλοκ. Το Gasper είναι ο μηχανισμός που ορίζει πώς οι επικυρωτές ανταμείβονται και τιμωρούνται, αποφασίζουν ποια μπλοκ να δεχτούν και να απορρίψουν και σε ποια διακλάδωση του blockchain να δημιουργήσουν.
+
+## Τι είναι η οριστικοποίηση; {#what-is-finality}
+
+Η οριστικοποίηση είναι μια ιδιότητα ορισμένων μπλοκ που σημαίνει ότι δεν μπορούν να αναστραφούν εκτός εάν έχει υπάρξει κρίσιμη αποτυχία συναίνεσης και ένας επιτιθέμενος έχει καταστρέψει τουλάχιστον το 1/3 του συνολικού αποθηκευμένου ether. Τα οριστικοποιημένα μπλοκ μπορούν να θεωρηθούν ως πληροφορίες για τις οποίες το blockchain είναι σίγουρο. Ένα μπλοκ πρέπει να περάσει από μια διαδικασία αναβάθμισης δύο βημάτων για να οριστικοποιηθεί ένα μπλοκ:
+
+1. Τα δύο τρίτα του συνολικού αποθηκευμένου ether πρέπει να έχουν ψηφίσει υπέρ της συμπερίληψης του μπλοκ στην κανονική αλυσίδα. Αυτή η συνθήκη αναβαθμίζει το μπλοκ σε «αιτιολογημένο». Τα αιτιολογημένα μπλοκ είναι απίθανο να αναστραφούν, αλλά μπορούν να αναστραφούν υπό ορισμένες συνθήκες.
+2. Όταν ένα άλλο μπλοκ αιτιολογείται πάνω από ένα αιτιολογημένο μπλοκ, αναβαθμίζεται σε «οριστικοποιημένο». Η οριστικοποίηση ενός μπλοκ είναι μια δέσμευση να συμπεριληφθεί το μπλοκ στην κανονική αλυσίδα. Δεν μπορεί να αναστραφεί εκτός εάν ένας επιτιθέμενος καταστρέψει εκατομμύρια ether (δισεκατομμύρια $USD).
+
+Αυτές οι αναβαθμίσεις μπλοκ δεν συμβαίνουν σε κάθε χρονικό κενό. Αντιθέτως, μόνο τα τελευταία μπλοκ ορίων εποχής μπορούν να αιτιολογηθούν και να οριστικοποιηθούν. Αυτά τα μπλοκ είναι γνωστά ως «σημεία ελέγχου». Η αναβάθμιση εξετάζει ζεύγη σημείων ελέγχου. Πρέπει να υπάρχει ένας «σύνδεσμος υπερπλειοψηφίας» μεταξύ δύο διαδοχικών σημείων ελέγχου (δηλαδή τα δύο τρίτα του συνολικού αποθηκευμένου ether ψηφίζουν ότι το σημείο ελέγχου B είναι ο σωστός απόγονος του σημείου ελέγχου A) για να αναβαθμιστεί το λιγότερο πρόσφατο σημείο ελέγχου σε οριστικοποιημένο και το πιο πρόσφατο μπλοκ σε αιτιολογημένο.
+
+Επειδή η οριστικοποίηση απαιτεί συμφωνία των δύο τρίτων ότι ένα μπλοκ είναι κανονικό, ένας επιτιθέμενος δεν μπορεί να δημιουργήσει μια εναλλακτική οριστικοποιημένη αλυσίδα χωρίς:
+
+1. Να κατέχει ή να χειραγωγεί τα δύο τρίτα του συνολικού αποθηκευμένου ether.
+2. Να καταστρέψει τουλάχιστον το ένα τρίτο του συνολικού αποθηκευμένου ether.
+
+Η πρώτη συνθήκη προκύπτει επειδή απαιτούνται δύο τρίτα του αποθηκευμένου ether για να οριστικοποιηθεί μια αλυσίδα. Η δεύτερη συνθήκη προκύπτει επειδή, εάν τα δύο τρίτα του συνολικού αποθηκευμένου κεφαλαίου έχουν ψηφίσει υπέρ και των δύο ενσωματώσεων, τότε το ένα τρίτο πρέπει να έχει ψηφίσει και στα δύο. Η διπλή ψήφος είναι μια συνθήκη περικοπής που θα τιμωρούνταν στο μέγιστο βαθμό, και το ένα τρίτο του συνολικού αποθηκευμένου κεφαλαίου θα καταστρεφόταν. Από τον Μάιο του 2022, αυτό απαιτεί από έναν επιτιθέμενο να κάψει περίπου 10 δισεκατομμύρια δολάρια σε ether. Ο αλγόριθμος που αιτιολογεί και οριστικοποιεί τα μπλοκ στο Gasper είναι μια ελαφρώς τροποποιημένη μορφή του [Casper the Friendly Finality Gadget (Casper-FFG)](https://arxiv.org/pdf/1710.09437.pdf).
+
+### Κίνητρα και Περικοπές {#incentives-and-slashing}
+
+Οι επικυρωτές ανταμείβονται για την ειλικρινή πρόταση και επικύρωση μπλοκ. Το ether προσφέρεται ως ανταμοιβή και προστίθεται στο αποθηκευμένο κεφάλαιό τους. Από την άλλη πλευρά, οι επικυρωτές που απουσιάζουν και δεν ενεργούν όταν καλούνται, χάνουν αυτές τις ανταμοιβές και μερικές φορές χάνουν ένα μικρό μέρος του υπάρχοντος αποθηκευμένου κεφαλαίου τους. Ωστόσο, οι ποινές για την εκτός σύνδεσης κατάσταση είναι μικρές και στις περισσότερες περιπτώσεις ισοδυναμούν με κόστη ευκαιρίας για τις χαμένες ανταμοιβές. Ωστόσο, ορισμένες ενέργειες επικυρωτή είναι πολύ δύσκολο να γίνουν κατά λάθος και υποδηλώνουν κάποια κακόβουλη πρόθεση, όπως η πρόταση πολλών μπλοκ για το ίδιο χρονικό κενό, η βεβαίωση για πολλαπλά μπλοκ για το ίδιο χρονικό κενό ή η αντίφαση με προηγούμενες ψήφους σημείου ελέγχου. Αυτές είναι «επιλήψιμες» συμπεριφορές που τιμωρούνται πιο αυστηρά, καθώς η περικοπή έχει ως αποτέλεσμα την καταστροφή ενός μέρους του αποθηκευμένου κεφαλαίου του επικυρωτή και την αφαίρεση του επικυρωτή από το δίκτυο των επικυρωτών. Αυτή η διαδικασία διαρκεί 36 ημέρες. Την πρώτη ημέρα, υπάρχει μια αρχική ποινή έως 1 ETH. Στη συνέχεια, τα ether του επικυρωτή που έχει υποστεί περικοπή σιγά σιγά εξαντλούνται κατά την περίοδο εξόδου, αλλά τη 18η ημέρα λαμβάνει μια «ποινή συσχέτισης», η οποία είναι μεγαλύτερη όταν περισσότεροι επικυρωτές υποβάλλονται σε περικοπές περίπου την ίδια στιγμή. Η μέγιστη ποινή είναι ολόκληρο το δεσμευμένο κεφάλαιο. Αυτές οι ανταμοιβές και ποινές έχουν σχεδιαστεί για να ενθαρρύνουν τους ειλικρινείς επικυρωτές και να αποθαρρύνουν τις επιθέσεις στο δίκτυο.
+
+### Διαρροή λόγω αδράνειας {#inactivity-leak}
+
+Εκτός από την ασφάλεια, το Gasper παρέχει επίσης την «εύλογη ζωτικότητα». Πρόκειται για την κατάσταση όπου, εφόσον τα δύο τρίτα του συνολικού αποθηκευμένου κεφαλαίου ether ψηφίζουν ειλικρινά και ακολουθούν το πρωτόκολλο, η αλυσίδα θα είναι σε θέση να οριστικοποιηθεί ανεξάρτητα από οποιαδήποτε άλλη δραστηριότητα (όπως επιθέσεις, προβλήματα καθυστέρησης ή περικοπές). Με άλλα λόγια, για να αποτραπεί η οριστικοποίηση της αλυσίδας, πρέπει να τεθεί σε κίνδυνο κατά κάποιο τρόπο το ένα τρίτο του συνολικού αποθηκευμένου κεφαλαίου ether. Στο Gasper, υπάρχει μια πρόσθετη γραμμή άμυνας έναντι μιας αποτυχίας ζωτικότητας, η οποία είναι γνωστή ως «διαρροή λόγω αδράνειας». Αυτός ο μηχανισμός ενεργοποιείται όταν η αλυσίδα δεν έχει οριστικοποιηθεί για περισσότερες από τέσσερις εποχές. Το κεφάλαιο των επικυρωτών που δεν επιβεβαιώνουν ενεργά την αλυσίδα πλειοψηφίας εξαντλείται σταδιακά, έως ότου η πλειοψηφία αποκτήσει τα δύο τρίτα του συνολικού κεφαλαίου, εξασφαλίζοντας ότι οι αποτυχίες ζωτικότητας είναι μόνο προσωρινές.
+
+### Επιλογή αναβάθμισης {#fork-choice}
+
+Ο αρχικός ορισμός του Casper-FFG περιελάμβανε έναν αλγόριθμο επιλογής ενσωμάτωσης που επέβαλε τον κανόνα: `ακολουθήστε την αλυσίδα που περιέχει το αιτιολογημένο σημείο ελέγχου που έχει το μεγαλύτερο ύψος`, όπου το ύψος ορίζεται ως η μεγαλύτερη απόσταση από το πρώτο μπλοκ. Στο Gasper, ο αρχικός κανόνας επιλογής ενσωμάτωσης καταργείται υπέρ ενός πιο εξελιγμένου αλγόριθμου που ονομάζεται LMD-GHOST. Είναι σημαντικό να συνειδητοποιήσουμε ότι υπό κανονικές συνθήκες, ένας αλγόριθμος επιλογής ενσωμάτωσης δεν είναι απαραίτητος. Υπάρχει ένας προτείνων μπλοκ για κάθε χρονικό κενό και οι ειλικρινείς επικυρωτές το βεβαιώνουν. Μόνο σε περιπτώσεις μεγάλης ασυγχρονίας δικτύου, ή όταν ένας ανέντιμος προτείνων μπλοκ έχει δημιουργήσει αμφιλογία, απαιτείται ένας αλγόριθμος επιλογής ενσωμάτωσης. Ωστόσο, όταν προκύπτουν αυτές οι περιπτώσεις, ο αλγόριθμος επιλογής ενσωμάτωσης είναι μια κρίσιμη άμυνα που ασφαλίζει τη σωστή αλυσίδα.
+
+Το LMD-GHOST σημαίνει «τελευταίο μήνυμα που οδηγείται από το πιο αχόρταγο ως προς το βάρος του υπο-δέντρο». Με αυτόν τον εξεζητημένο όρο ορίζεται ένας αλγόριθμος που επιλέγει τη διακλάδωση με το μεγαλύτερο συσσωρευμένο βάρος βεβαιώσεων ως την κανονική (αχόρταγο ως προς το βάρος υπο-δέντρο). Εάν ληφθούν πολλαπλά μηνύματα από έναν επικυρωτή, μόνο το τελευταίο λαμβάνεται υπόψη (με γνώμονα το τελευταίο μήνυμα). Πριν προσθέσει το βαρύτερο μπλοκ στην κανονική του αλυσίδα, κάθε επικυρωτής αξιολογεί κάθε μπλοκ χρησιμοποιώντας αυτόν τον κανόνα.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Gasper: Συνδυάζοντας GHOST και Casper](https://arxiv.org/pdf/2003.03052.pdf)
+- [Casper το φιλικό εργαλείο οριστικοποίησης](https://arxiv.org/pdf/1710.09437.pdf)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/index.md
new file mode 100644
index 00000000000..2e6963ab395
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/index.md
@@ -0,0 +1,99 @@
+---
+title: Απόδειξη συμμετοχής (PoS)
+description: Μια εξήγηση του πρωτοκόλλου συναίνεσης της απόδειξης συμμετοχής και του ρόλου του στο Ethereum.
+lang: el
+---
+
+Η απόδειξη συμμετοχής (PoS) αποτελεί τη βάση του [μηχανισμού συναίνεσης](/developers/docs/consensus-mechanisms/) του Ethereum. Το Ethereum ενεργοποίησε τον μηχανισμό απόδειξης συμμετοχής το 2022 επειδή είναι πιο ασφαλής, λιγότερο ενεργοβόρος και καλύτερος για την εφαρμογή νέων λύσεων κλιμάκωσης σε σύγκριση με την προηγούμενη αρχιτεκτονική [απόδειξης εργασίας](/developers/docs/consensus-mechanisms/pow).
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να κατανοήσετε καλύτερα το περιεχόμενο αυτή της σελίδας, σας συνιστούμε να διαβάσετε πρώτα για τους [μηχανισμούς συναίνεσης](/developers/docs/consensus-mechanisms/).
+
+## Τι είναι η απόδειξη συμμετοχής (PoS); {#what-is-pos}
+
+Η απόδειξη συμμετοχής είναι ένας τρόπος απόδειξης ότι οι επικυρωτές έχουν τοποθετήσει κάτι πολύτιμο στο δίκτυο που μπορεί να καταστραφεί εάν ενεργήσουν ανέντιμα. Στην απόδειξη συμμετοχής του Ethereum, οι επικυρωτές αποθηκεύουν κεφάλαιο με τη μορφή ETH σε ένα έξυπνο συμβόλαιο στο Ethereum. Ο επικυρωτής είναι στη συνέχεια υπεύθυνος για τον έλεγχο ότι τα νέα μπλοκ που διαδίδονται στο δίκτυο είναι έγκυρα και περιστασιακά δημιουργεί και διαδίδει νέα μπλοκ ο ίδιος. Εάν προσπαθήσουν να εξαπατήσουν το δίκτυο (για παράδειγμα προτείνοντας πολλαπλά μπλοκ όταν θα έπρεπε να στείλουν ένα ή στέλνοντας αντικρουόμενες πιστοποιήσεις), ένα μέρος ή το σύνολο του αποθηκευμένου ETH τους μπορεί να καταστραφεί.
+
+## Επικυρώσεις {#validators}
+
+Για να συμμετάσχει ως επικυρωτής, ένας χρήστης πρέπει να καταθέσει 32 ETH στο συμβόλαιο κατάθεσης και να εκτελέσει τρία ξεχωριστά κομμάτια λογισμικού: έναν πελάτη εκτέλεσης, έναν πελάτη συναίνεσης και έναν πελάτη επικυρωτή. Κατά την κατάθεση του ETH τους, ο χρήστης εντάσσεται σε μια ουρά ενεργοποίησης που περιορίζει τον ρυθμό των νέων επικυρωτών που εντάσσονται στο δίκτυο. Μόλις ενεργοποιηθούν, οι επικυρωτές λαμβάνουν νέα μπλοκ από ομότιμους στο δίκτυο Ethereum. Οι συναλλαγές που παραδίδονται στο μπλοκ εκτελούνται ξανά για να ελεγχθεί ότι οι προτεινόμενες αλλαγές στην κατάσταση του Ethereum είναι έγκυρες και ελέγχεται η υπογραφή του μπλοκ. Στη συνέχεια, ο επικυρωτής στέλνει μια ψήφο (που ονομάζεται πιστοποίηση) υπέρ αυτού του μπλοκ σε όλο το δίκτυο.
+
+Ενώ υπό την απόδειξη εργασίας, ο χρονισμός των μπλοκ καθορίζεται από τη δυσκολία κρυπτόρυξης, στην απόδειξη συμμετοχής, ο ρυθμός είναι σταθερός. Ο χρόνος στην απόδειξη συμμετοχής του Ethereum διαιρείται σε slots (12 δευτερόλεπτα) και εποχές (32 slots). Ένας επικυρωτής επιλέγεται τυχαία για να είναι προτείνων μπλοκ σε κάθε slot. Αυτός ο επικυρωτής είναι υπεύθυνος για τη δημιουργία ενός νέου μπλοκ και την αποστολή του σε άλλους κόμβους του δικτύου. Επίσης, σε κάθε slot, επιλέγεται τυχαία μια επιτροπή επικυρωτών, οι ψήφοι των οποίων χρησιμοποιούνται για τον προσδιορισμό της εγκυρότητας του προτεινόμενου μπλοκ. Η διαίρεση του συνόλου επικυρωτών σε επιτροπές είναι σημαντική για τη διατήρηση του διαχειρίσιμου φορτίου του δικτύου. Οι επιτροπές χωρίζουν το σύνολο των επικυρωτών έτσι ώστε κάθε ενεργός επικυρωτής να πιστοποιεί σε κάθε εποχή, αλλά όχι σε κάθε slot.
+
+## Πώς εκτελείται μια συναλλαγή στο Ethereum PoS {#transaction-execution-ethereum-pos}
+
+Η παρακάτω περιγραφή παρουσιάζει βήμα-βήμα πώς εκτελείται μια συναλλαγή στο Ethereum με απόδειξη συμμετοχής.
+
+1. Ένας χρήστης δημιουργεί και υπογράφει μια [συναλλαγή](/developers/docs/transactions/) χρησιμοποιώντας το ιδιωτικό του κλειδί. Αυτό συνήθως γίνεται μέσω ενός πορτοφολιού ή μιας βιβλιοθήκης όπως η [ethers.js](https://docs.ethers.org/v6/), η [web3js](https://docs.web3js.org/), η [web3py](https://web3py.readthedocs.io/en/v5/) κ.λπ., αλλά τελικά ο χρήστης υποβάλλει μια αίτηση σε έναν κόμβο χρησιμοποιώντας το Ethereum [JSON-RPC API](/developers/docs/apis/json-rpc/). Ο χρήστης καθορίζει το ποσό του gas που είναι διατεθειμένος να πληρώσει ως προμήθεια σε έναν επικυρωτή, για να τον ενθαρρύνει να συμπεριλάβει τη συναλλαγή σε ένα μπλοκ. Η [προμήθεια](/developers/docs/gas/#priority-fee) αυτή καταβάλλεται στον επικυρωτή, ενώ η [βασική αμοιβή](/developers/docs/gas/#base-fee) καίγεται.
+2. Η συναλλαγή υποβάλλεται σε έναν [πελάτη εκτέλεσης](/developers/docs/nodes-and-clients/#execution-client) Ethereum για έλεγχο εγκυρότητας. Αυτό περιλαμβάνει την επαλήθευση ότι ο αποστολέας διαθέτει επαρκές υπόλοιπο ETH και ότι η συναλλαγή έχει υπογραφεί με το σωστό κλειδί.
+3. Εάν είναι έγκυρη, η συναλλαγή προστίθεται στην τοπική mempool (λίστα εκκρεμών συναλλαγών) του πελάτη εκτέλεσης και διανέμεται σε άλλους κόμβους μέσω του δικτύου ενημέρωσης του επιπέδου εκτέλεσης. Άλλοι κόμβοι που λαμβάνουν τη συναλλαγή την προσθέτουν επίσης στη δική τους mempool. Προχωρημένοι χρήστες μπορούν να παρακάμψουν αυτή τη διαδικασία και να προωθήσουν τη συναλλαγή σε εξειδικευμένους δημιουργούς μπλοκ όπως το [Flashbots Auction](https://docs.flashbots.net/flashbots-auction/overview). Αυτό τους επιτρέπει να οργανώσουν τις συναλλαγές για το επόμενο μπλοκ για μέγιστη απόδοση κέρδους ([MEV](/developers/docs/mev/#mev-extraction)).
+4. Ένας κόμβος επικύρωσης του δικτύου είναι ο προτείνων του μπλοκ για το τρέχων slot, αφού επιλέχθηκε τυχαία χρησιμοποιώντας το αλγόριθμο RANDAO. Αυτός ο κόμβος είναι υπεύθυνος για τη δημιουργία και διάδοση του επόμενου μπλοκ στην αλυσίδα Ethereum και την ενημέρωση της παγκόσμιας κατάστασης. Ο κόμβος αυτός αποτελείται από τρία μέρη: έναν πελάτη εκτέλεσης, έναν πελάτη συναίνεσης και έναν πελάτη επικυρωτή. Ο πελάτης εκτέλεσης συλλέγει συναλλαγές από την τοπική mempool στη «λίστα εκτέλεσης» και τις εκτελεί τοπικά για να δημιουργήσει μια αλλαγή κατάστασης. Οι πληροφορίες αυτές μεταφέρονται στον πελάτη συναίνεσης, όπου το φορτίο εκτέλεσης ενσωματώνεται σε ένα «beacon block» που περιλαμβάνει επίσης πληροφορίες σχετικά με ανταμοιβές, ποινές, περικοπές, πιστοποιήσεις κ. λπ. Αυτές οι πληροφορίες βοηθούν το δίκτυο να συμφωνήσει στη σειρά των μπλοκ στην κεφαλή της αλυσίδας. Η επικοινωνία μεταξύ των πελατών εκτέλεσης και συναίνεσης περιγράφεται λεπτομερέστερα στο [Σύνδεση των πελατών Συναίνεσης και Εκτέλεσης](/developers/docs/networking-layer/#connecting-clients).
+5. Άλλοι κόμβοι λαμβάνουν το νέο beacon block μέσω του δικτύου ενημέρωσης του επιπέδου συναίνεσης. Οι κόμβοι περνούν το μπλοκ στον πελάτη εκτέλεσής τους για επανεπιβεβαίωση των συναλλαγών και της αλλαγής κατάστασης. Ο πελάτης επικύρωσης πιστοποιεί την εγκυρότητα του μπλοκ και τη θέση του ως επόμενο λογικό μπλοκ στην αλυσίδα, με βάση το βάρος των πιστοποιήσεων σύμφωνα με τους [κανόνες επιλογής ενσωμάτωσης](/developers/docs/consensus-mechanisms/pos/#fork-choice). Το μπλοκ προστίθεται στην τοπική βάση δεδομένων κάθε κόμβου που το πιστοποιεί.
+6. Μια συναλλαγή θεωρείται «οριστική» όταν έχει ενσωματωθεί σε μια αλυσίδα με έναν «σύνδεσμο υπερπλειοψηφίας» μεταξύ δύο σημείων ελέγχου. Τα σημεία ελέγχου καθορίζονται στην αρχή κάθε εποχής και εξυπηρετούν στο να αντιμετωπίσουν το γεγονός ότι μόνο ένα υποσύνολο επικυρωτών πιστοποιεί σε κάθε slot, ενώ όλοι οι ενεργοί επικυρωτές πιστοποιούν σε κάθε εποχή. Έτσι, μόνο μεταξύ των εποχών μπορεί να αποδειχθεί ένας «σύνδεσμος υπερπλειοψηφίας», όπου το 66% του συνολικού αποθηκευμένου ETH στο δίκτυο συμφωνεί σε δύο σημεία ελέγχου.
+
+Περισσότερες πληροφορίες σχετικά με την οριστικότητα μπορούν να βρεθούν παρακάτω.
+
+## Οριστικότητα {#finality}
+
+Μια συναλλαγή θεωρείται «οριστική» σε ένα αποκεντρωμένο δίκτυο όταν αποτελεί μέρος ενός μπλοκ που δεν μπορεί να αλλάξει χωρίς να «καεί» μια μεγάλη ποσότητα ETH. Στο Ethereum με απόδειξη συμμετοχής, αυτό επιτυγχάνεται μέσω των «σημείων ελέγχου». Το πρώτο μπλοκ σε κάθε εποχή είναι ένα σημείο αναφοράς. Οι επικυρωτές ψηφίζουν για ζεύγη σημείων ελέγχου που θεωρούν έγκυρα. Εάν ένα ζεύγος σημείων ελέγχου συγκεντρώσει ψήφους που αντιπροσωπεύουν τουλάχιστον τα δύο τρίτα του συνολικού αποθηκευμένου ETH, τα σημεία ελέγχου αναβαθμίζονται. Το πιο πρόσφατο από τα δύο (στόχος) γίνεται «δικαιολογημένο». Το προηγούμενο από τα δύο είναι ήδη δικαιολογημένο, καθώς ήταν ο «στόχος» στην προηγούμενη εποχή. Τώρα αναβαθμίζεται σε «οριστικό».
+
+Για να αναστρέψει ένα τελικό μπλοκ, ένας επιτιθέμενος θα έπρεπε να δεσμευτεί να χάσει τουλάχιστον το ένα τρίτο του συνολικού αποθηκευμένου κεφαλαίου ETH. Ο ακριβής λόγος για αυτό εξηγείται σε μια [ανάρτηση του Ethereum Foundation](https://blog.ethereum.org/2016/05/09/on-settlement-finality/). Δεδομένου ότι η οριστικότητα απαιτεί την πλειοψηφία των δύο τρίτων, ένας επιτιθέμενος θα μπορούσε να αποτρέψει το δίκτυο από το να φτάσει σε οριστικότητα ψηφίζοντας με το ένα τρίτο του συνολικού αποθηκευμένου κεφαλαίου. Υπάρχει ένας μηχανισμός για την αντιμετώπιση του: η [διαρροή αδράνειας](https://eth2book.info/bellatrix/part2/incentives/inactivity). Αυτή ενεργοποιείται όταν η αλυσίδα αποτυγχάνει να οριστικοποιηθεί για περισσότερες από τέσσερις εποχές. Η διαρροή αδράνειας αποστραγγίζει το αποθηκευμένο κεφάλαιο σε ETH από τους επικυρωτές που ψηφίζουν κατά της πλειοψηφίας, επιτρέποντας στην πλειοψηφία να αποκτήσει ξανά τα δύο τρίτα της πλειοψηφίας και να τελειοποιήσει την αλυσίδα.
+
+## Κρυπτοοικονομική ασφάλεια {#crypto-economic-security}
+
+Η λειτουργία ενός επικυρωτή είναι μια δέσμευση. Ο επικυρωτής αναμένεται να διατηρεί επαρκή υλικό και συνδεσιμότητα για να συμμετάσχει στην επαλήθευση και πρόταση μπλοκ. Σε αντάλλαγμα, ο επικυρωτής πληρώνεται σε ETH (το αποθηκευμένο υπόλοιπό του αυξάνεται). Από την άλλη πλευρά, η συμμετοχή ως επικυρωτή ανοίγει επίσης νέες οδούς για τους χρήστες να επιτεθούν στο δίκτυο για προσωπικό όφελος ή σαμποτάζ. Για να αποφευχθεί αυτό, οι επικυρωτές χάνουν ανταμοιβές ETH εάν αποτύχουν να συμμετάσχουν όταν καλούνται και το υπάρχον αποθηκευμένο κεφάλαιό τους μπορεί να καταστραφεί εάν συμπεριφέρονται ανέντιμα. Δύο κύριες συμπεριφορές μπορούν να θεωρηθούν ανέντιμες: η πρόταση πολλαπλών μπλοκ σε ένα μόνο slot (διστακτικότητα) και η υποβολή αντιφατικών πιστοποιήσεων.
+
+Το ποσό του ETH που περικόπτεται εξαρτάται από το πόσοι επικυρωτές περικόβονται επίσης περίπου την ίδια στιγμή. Αυτό είναι γνωστό ως [«ποινή συσχέτισης»](https://eth2book.info/bellatrix/part2/incentives/slashing#the-correlation-penalty) και μπορεί να είναι μικρή (~1% στοίχημα για έναν μόνο επικυρωτή που περικόβεται μόνος του) ή μπορεί να οδηγήσει σε καταστροφή του 100% του αποθηκευμένου κεφαλαίου του επικυρωτή (μαζική εκδήλωση περικοπής). Επιβάλλεται στα μέσα μιας περιόδου εξαναγκαστικής εξόδου που ξεκινά με μια άμεση ποινή (έως 1 ETH) τη 1η ημέρα, την ποινή συσχέτισης τη 18η ημέρα και τελικά, την εκδίωξη από το δίκτυο τη 36η ημέρα. Λαμβάνουν μικρές ποινές πιστοποίησης κάθε μέρα επειδή είναι παρόντες στο δίκτυο αλλά δεν υποβάλλουν ψήφους. Όλα αυτά σημαίνουν ότι μια συντονισμένη επίθεση θα ήταν πολύ δαπανηρή για τον επιτιθέμενο.
+
+## Επιλογή ενημέρωσης {#fork-choice}
+
+Όταν το δίκτυο λειτουργεί βέλτιστα και ειλικρινά, υπάρχει πάντα ένα νέο μπλοκ στην κεφαλή της αλυσίδας και όλοι οι επικυρωτές το πιστοποιούν. Ωστόσο, είναι πιθανό οι επικυρωτές να έχουν διαφορετικές απόψεις για την κεφαλή της αλυσίδας λόγω καθυστέρησης δικτύου ή επειδή ένας προτείνων μπλοκ έχει καθυστερήσει. Επομένως, οι πελάτες συναίνεσης απαιτούν έναν αλγόριθμο για να αποφασίσουν ποιο να προτιμήσουν. Ο αλγόριθμος που χρησιμοποιείται στην απόδειξη συμμετοχής του Ethereum ονομάζεται [LMD-GHOST](https://arxiv.org/pdf/2003.03052.pdf) και λειτουργεί εντοπίζοντας την ενσωμάτωση που έχει το μεγαλύτερο βάρος πιστοποιήσεων στο ιστορικό του.
+
+## Απόδειξη συμμετοχής και ασφάλεια {#pos-and-security}
+
+Η απειλή μιας [επίθεσης 51%](https://www.investopedia.com/terms/1/51-attack.asp) εξακολουθεί να υπάρχει στην απόδειξη συμμετοχής όπως και στην απόδειξη εργασίας, αλλά είναι ακόμη πιο επικίνδυνη για τους επιτιθέμενους. Ένας επιτιθέμενος θα χρειαζόταν το 51% του αποθηκευμένου κεφαλαίου σε ETH. Θα μπορούσαν στη συνέχεια να χρησιμοποιήσουν τις δικές τους πιστοποιήσεις για να εξασφαλίσουν ότι η προτιμώμενη ενσωμάτωση τους ήταν αυτή με τις περισσότερες συσσωρευμένες πιστοποιήσεις. Το «βάρος» των συσσωρευμένων πιστοποιήσεων είναι αυτό που χρησιμοποιούν οι πελάτες συναίνεσης για να προσδιορίσουν τη σωστή αλυσίδα, επομένως αυτός ο επιτιθέμενος θα μπορούσε να κάνει το αρχείο ενσωμάτωσής του κανονικό. Ωστόσο, ένα πλεονέκτημα της απόδειξης συμμετοχής έναντι της απόδειξης εργασίας είναι ότι η κοινότητα έχει ευελιξία στην οργάνωση μιας αντεπίθεσης. Για παράδειγμα, οι ειλικρινείς επικυρωτές, θα μπορούσαν να αποφασίσουν να συνεχίσουν να χτίζουν στην αλυσίδα της μειονότητας και να αγνοήσουν την πρόταση του επιτιθέμενου, ενθαρρύνοντας παράλληλα τις εφαρμογές, τα ανταλλακτήρια και τις δεξαμενές να κάνουν το ίδιο. Θα μπορούσαν επίσης να αποφασίσουν να αφαιρέσουν βίαια τον επιτιθέμενο από το δίκτυο και να καταστρέψουν το αποθηκευμένο ETH του. Αυτές είναι ισχυρές οικονομικές άμυνες έναντι μιας επίθεσης 51%.
+
+Εκτός από επιθέσεις του 51%, οι κακόβουλοι μπορεί επίσης να επιχειρήσουν άλλους τύπους κακόβουλων δραστηριοτήτων, όπως:
+
+- Επιθέσεις μεγάλου εύρους (αν και το τελικό gadget εξουδετερώνει αυτόν τον φορέα επίθεσης)
+- Επαναδιοργανώσεις μικρού εύρους (αν και η ενίσχυση προτεινόντων και οι προθεσμίες βεβαίωσης το μετριάζουν αυτό)
+- Επιθέσεις bouncing και balancing (επίσης μετριάζονται από την ενίσχυση προτεινόντων και αυτές οι επιθέσεις έχουν πάντως επιδειχθεί υπό ιδανικές συνθήκες δικτύου)
+- Επιθέσεις avalanche (εξουδετερώνονται από τον κανόνα του αλγόριθμου επιλογής του αρχείου ενσωμάτωσης να εξετάζει μόνο το τελευταίο μήνυμα)
+
+Συνολικά, η απόδειξη συμμετοχής, όπως εφαρμόζεται στο Ethereum, έχει αποδειχθεί ότι είναι πιο οικονομικά ασφαλής από την απόδειξη εργασίας.
+
+## Πλεονεκτήματα και μειονεκτήματα {#pros-and-cons}
+
+| Πλεονεκτήματα | Μειονεκτήματα |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- |
+| Η αποθήκευση κεφαλαίου διευκολύνει τη συμμετοχή ατόμων στην ασφάλεια του δικτύου, προωθώντας την αποκέντρωση. Ένας κόμβος επικύρωσης μπορεί να λειτουργήσει σε έναν κανονικό φορητό υπολογιστή. Οι ομάδες με αποθηκευμένο κεφάλαιο επιτρέπουν στους χρήστες να συμμετάσχουν χωρίς να διαθέτουν 32 ETH. | Η απόδειξη συμμετοχής είναι νεότερη και λιγότερο δοκιμασμένη σε σύγκριση με την απόδειξη εργασίας |
+| Η αποθήκευση κεφαλαίου είναι περισσότερο αποκεντρωμένη. Οι οικονομίες κλίμακας δεν ισχύουν με τον ίδιο τρόπο όπως στην κρυπτόρυξη με απόδειξη εργασίας. | Η απόδειξη συμμετοχής προσφέρει μεγαλύτερη κρυπτοοικονομική ασφάλεια από την απόδειξη εργασίας |
+| Η απόδειξη συμμετοχής προσφέρει μεγαλύτερη κρυπτοοικονομική ασφάλεια από την απόδειξη εργασίας. | Οι χρήστες πρέπει να εκτελέσουν τρία κομμάτια λογισμικού για να συμμετάσχουν στην απόδειξη συμμετοχής του Ethereum. |
+| Απαιτείται λιγότερη έκδοση νέου ETH για την παροχή κινήτρων στους συμμετέχοντες του δικτύου. | |
+
+### Σύγκριση με την απόδειξη εργασίας {#comparison-to-proof-of-work}
+
+Το Ethereum αρχικά χρησιμοποιούσε απόδειξη εργασίας αλλά άλλαξε σε απόδειξη συμμετοχής τον Σεπτέμβριο του 2022. Η PoS προσφέρει αρκετά πλεονεκτήματα σε σχέση με την PoW, όπως:
+
+- Καλύτερη ενεργειακή αποδοτικότητα καθώς δεν υπάρχει ανάγκη για μεγάλη κατανάλωση ενέργειας σε υπολογισμούς απόδειξης εργασίας
+- Χαμηλότερα εμπόδια εισόδου, μειωμένες απαιτήσεις σε υλικό, δεν υπάρχει ανάγκη για εξειδικευμένο υλικό για να υπάρχει πιθανότητα δημιουργίας νέων μπλοκ
+- Μειωμένος κίνδυνος κεντρικοποίησης, η απόδειξη συμμετοχής θα πρέπει να οδηγήσει σε περισσότερους κόμβους που εξασφαλίζουν το δίκτυο
+- Λόγω της χαμηλής κατανάλωσης ενέργειας απαιτείται λιγότερη έκδοση ETH για την παροχή κινήτρων συμμετοχής
+- Οι οικονομικές κυρώσεις για κακή συμπεριφορά καθιστούν τις επιθέσεις τύπου 51% πιο δαπανηρές για έναν επιτιθέμενο σε σύγκριση με την απόδειξη εργασίας
+- Η κοινότητα μπορεί να καταφύγει σε κοινωνική ανάκτηση μιας ειλικρινής αλυσίδας εάν μια επίθεση 51% ξεπεράσει τις κρυπτοοικονομικές άμυνες.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Συχνές ερωτήσεις Απόδειξης Συμμετοχής](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html) _Vitalik Buterin_
+- [Τι είναι η απόδειξη συμμετοχής](https://consensys.net/blog/blockchain-explained/what-is-proof-of-stake/) _ConsenSys_
+- [Η Απόδειξη Συμμετοχής και η σημασία της](https://bitcoinmagazine.com/culture/what-proof-of-stake-is-and-why-it-matters-1377531463) _Vitalik Buterin_
+- [Γιατί Απόδειξη Συμμετοχής (Νοε 2020)](https://vitalik.eth.limo/general/2020/11/06/pos2020.html) _Vitalik Buterin_
+- [Απόδειξη Συμμετοχής: Πώς Έμαθα να Αγαπώ την Αδύναμη Υποκειμενικότητα](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/) - _Vitalik Buterin_
+- [Απόδειξη συμμετοχής του Ethereum, επίθεση και άμυνα](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)
+- [Η φιλοσοφία σχεδίασης της Απόδειξης Συμμετοχής](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51) _Vitalik Buterin_
+- [Βίντεο: Ο Vitalik Buterin εξηγεί την απόδειξη συμμετοχής στον Lex Fridman](https://www.youtube.com/watch?v=3yrqBG-7EVE)
+
+## Σχετικά θέματα {#related-topics}
+
+- [Απόδειξη της εργασίας (Proof of work)](/developers/docs/consensus-mechanisms/pow/)
+- [Απόδειξη Αρχής](/developers/docs/consensus-mechanisms/poa/)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/keys/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/keys/index.md
new file mode 100644
index 00000000000..e18f3148253
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/keys/index.md
@@ -0,0 +1,100 @@
+---
+title: Κλειδιά στην απόδειξη συμμετοχής του Ethereum
+description: Μια εξήγηση των κλειδιών που χρησιμοποιούνται στον μηχανισμό συναίνεσης με απόδειξη συμμετοχής του Ethereum
+lang: el
+---
+
+Το Ethereum εξασφαλίζει τα περιουσιακά στοιχεία των χρηστών χρησιμοποιώντας κρυπτογράφηση δημόσιου-ιδιωτικού κλειδιού. Το δημόσιο κλειδί χρησιμοποιείται ως βάση για μια διεύθυνση Ethereum, δηλαδή είναι ορατό στο κοινό και χρησιμοποιείται ως μοναδικό αναγνωριστικό. Το ιδιωτικό (ή μυστικό) κλειδί πρέπει να είναι προσβάσιμο μόνο από τον κάτοχο ενός λογαριασμού. Το ιδιωτικό κλειδί χρησιμοποιείται για την 'υπογραφή' συναλλαγών και δεδομένων, ώστε η κρυπτογραφία να μπορεί να αποδείξει ότι ο κάτοχος εγκρίνει κάποια ενέργεια ενός συγκεκριμένου ιδιωτικού κλειδιού.
+
+Τα κλειδιά του Ethereum δημιουργούνται [χρησιμοποιώντας ελλειπτική καμπύλη κρυπτογραφίας](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography).
+
+Ωστόσο, όταν το Ethereum άλλαξε από την [Απόδειξη εργασίας](/developers/docs/consensus-mechanisms/pow) σε [Απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos), προστέθηκε ένας νέος τύπος κλειδιού στο Ethereum. Τα αρχικά κλειδιά λειτουργούν ακριβώς όπως πριν. Δεν υπήρξαν αλλαγές στα κλειδιά με βάση την ελλειπτική καμπύλη που εξασφαλίζουν τους λογαριασμούς. Ωστόσο, οι χρήστες χρειάστηκαν ένα νέο τύπο κλειδιού για τη συμμετοχή στην Απόδειξη συμμετοχής με αποθήκευση κεφαλαίου ETH και εκτέλεση επικυρωτών. Αυτή η ανάγκη προέκυψε από προκλήσεις κλιμακωσιμότητας που σχετίζονται με πολλά μηνύματα που περνούν μεταξύ μεγάλου αριθμού επικυρωτών, που απαιτούσαν μια κρυπτογραφική μέθοδο που θα μπορούσε εύκολα να συγκεντρωθεί για να μειώσει την ποσότητα επικοινωνίας που απαιτείται για το δίκτυο για να καταλήξει σε συναίνεση.
+
+Αυτός ο νέος τύπος κλειδιού χρησιμοποιεί το [**Boneh-Lynn-Shacham (BLS)** σχήμα υπογραφής](https://wikipedia.org/wiki/BLS_digital_signature). Το BLS επιτρέπει μια πολύ αποτελεσματική συγκέντρωση υπογραφών, αλλά επιτρέπει επίσης την αντίστροφη μηχανική των συγκεντρωμένων μεμονωμένων κλειδιών επικυρωτή και είναι ιδανικό για τη διαχείριση ενεργειών μεταξύ επικυρωτών.
+
+## Οι δύο τύποι κλειδιών επικυρωτή {#two-types-of-keys}
+
+Πριν από τη μετάβαση στην απόδειξη συμμετοχής, οι χρήστες του Ethereum είχαν μόνο ένα ιδιωτικό κλειδί με βάση την ελλειπτική καμπύλη για να έχουν πρόσβαση στα κεφάλαιά τους. Με την εισαγωγή της Απόδειξη συμμετοχής, οι χρήστες που ήθελαν να κάνουν μεμονωμένα αποθήκευση κεφαλαίου, απαιτούσαν επίσης ένα **κλειδί επικυρωτή** και ένα **κλειδί ανάληψης**.
+
+### Το κλειδί του επικυρωτή σας {#validator-key}
+
+Το κλειδί υπογραφής επικυρωτή αποτελείται από δύο στοιχεία:
+
+- **Ιδιωτικό** κλειδί επικυρωτή
+- **Δημόσιο** κλειδί επικυρωτή
+
+Ο σκοπός του ιδιωτικού κλειδιού επικύρωσης είναι να υπογράφει λειτουργίες στην αλυσίδα, όπως προτάσεις μπλοκ και βεβαιώσεις. Εξαιτίας αυτού, αυτά τα κλειδιά πρέπει να φυλάσσονται σε ένα πορτοφόλι άμεσα προσβάσιμο.
+
+Αυτή η ευελιξία έχει το πλεονέκτημα της πολύ γρήγορης μετακίνησης των κλειδιών υπογραφής επικυρωτή από τη μία συσκευή στην άλλη, ωστόσο, εάν έχουν χαθεί ή κλαπεί, ένας κλέφτης μπορεί να **ενεργήσει κακόβουλα** με μερικούς τρόπους:
+
+- Να προκαλέσει την τιμωρία του επικυρωτή με:
+ - Το να είναι προτείνων και να υπογράφει δύο διαφορετικά μπλοκ beacon για το ίδιο slot
+ - Το να κάνει επιβεβαίωση και να υπογράφει μια βεβαίωση που «περιβάλλει» μια άλλη
+ - Το να κάνει επιβεβαίωση και να υπογράφει δύο διαφορετικές βεβαιώσεις που έχουν τον ίδιο στόχο
+- Να επιβάλει μια εκούσια έξοδο, η οποία σταματά τον επικυρωτή από την αποθήκευση κεφαλαίου και να δίνει πρόσβαση στο υπόλοιπο ETH του στον κάτοχο του κλειδιού ανάληψης
+
+Το **δημόσιο κλειδί επικυρωτή** περιλαμβάνεται στα δεδομένα συναλλαγής όταν ένας χρήστης καταθέτει ETH στο συμβόλαιο κατάθεσης αποθήκευσης κεφαλαίου. Αυτό είναι γνωστό ως _δεδομένα κατάθεσης_ και επιτρέπει στο Ethereum να αναγνωρίζει τον επικυρωτή.
+
+### Πιστοποιητικά ανάληψης {#withdrawal-credentials}
+
+Κάθε επικυρωτής έχει μια ιδιότητα γνωστή ως _στοιχεία ανάληψης_. Αυτό το πεδίο 32 byte ξεκινά είτε με `0x00`, που αντιπροσωπεύει στοιχεία ανάληψης BLS, είτε με `0x01`, που αντιπροσωπεύει στοιχεία που δείχνουν σε μια διεύθυνση εκτέλεσης.
+
+Οι επικυρωτές με κλειδιά BLS `0x00` πρέπει να ενημερώσουν αυτά τα στοιχεία ώστε να δείχνουν σε μια διεύθυνση εκτέλεσης για να ενεργοποιήσουν τις πληρωμές υπερβάλλοντος ισοζυγίου ή την πλήρη ανάληψη από το αποθηκευμένο κεφάλαιο. Αυτό μπορεί να γίνει παρέχοντας μια διεύθυνση εκτέλεσης στα δεδομένα κατάθεσης κατά τη διάρκεια της αρχικής δημιουργίας κλειδιού, _Ή_ χρησιμοποιώντας το κλειδί ανάληψης αργότερα για να υπογράψει και να μεταδώσει ένα μήνυμα `BLSToExecutionChange`.
+
+### Το κλειδί ανάληψης {#withdrawal-key}
+
+Το κλειδί ανάληψης θα απαιτείται για την ενημέρωση των στοιχείων ανάληψης ώστε να δείχνουν σε μια διεύθυνση εκτέλεσης, εάν δεν έχει οριστεί κατά την αρχική κατάθεση. Αυτό θα επιτρέψει την έναρξη επεξεργασίας των πληρωμών υπερβάλλοντος ισοζυγίου και θα επιτρέψει επίσης στους χρήστες να κάνουν πλήρη ανάληψη του αποθηκευμένου κεφαλαίου ETH τους.
+
+Όπως και τα κλειδιά επικυρωτή, τα κλειδιά ανάληψης αποτελούνται επίσης από δύο στοιχεία:
+
+- **Ιδιωτικό** κλειδί ανάληψης
+- **Δημόσιο** κλειδί ανάληψης
+
+Η απώλεια αυτού του κλειδιού πριν την ενημέρωση των στοιχείων ανάληψης σε τύπο `0x01` σημαίνει απώλεια πρόσβασης στο υπόλοιπο του επικυρωτή. Ο επικυρωτής μπορεί ακόμα να υπογράφει βεβαιώσεις και μπλοκ καθώς αυτές οι ενέργειες απαιτούν το ιδιωτικό κλειδί του επικυρωτή, ωστόσο υπάρχει μικρό ή καθόλου κίνητρο εάν χαθούν τα κλειδιά ανάληψης.
+
+Ο διαχωρισμός των κλειδιών επικυρωτή από τα κλειδιά λογαριασμού Ethereum, επιτρέπει τη λειτουργία πολλαπλών επικυρωτών από έναν μόνο χρήστη.
+
+
+
+**Σημείωση**: Η έξοδος από τα καθήκοντα δέσμευσης κεφαλαίου και η απόσυρση του υπολοίπου ενός επικυρωτή προϋποθέτει προς το παρόν την υπογραφή ενός [μηνύματος εθελοντικής εξόδου (VEM)](https://mirror.xyz/ladislaus.eth/wmoBbUBes2Wp1_6DvP6slPabkyujSU7MZOFOC3QpErs&1) με το κλειδί επικύρωσης. Ωστόσο, το [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) είναι μια πρόταση που θα επιτρέψει σε έναν χρήστη να ενεργοποιήσει την έξοδο ενός εργαλείου επικύρωσης και να αποσύρει το υπόλοιπό του υπογράφοντας μηνύματα εξόδου με το κλειδί ανάληψης στο μέλλον. Αυτό θα μειώσει τις υποθέσεις εμπιστοσύνης επιτρέποντας στους συμμετέχοντες που εκχωρούν ETH στους [παρόχους δέσμευσης κεφαλαίου ως υπηρεσία](https://ethereum.org/en/staking/saas/#what-is-staking-as-a-service) να διατηρήσουν τον έλεγχο των κεφαλαίων τους.
+
+## Παράγωγη Κλειδιών από Μυστική Φράση {#deriving-keys-from-seed}
+
+Εάν κάθε 32 ETH που αποθηκεύονται απαιτούσαν ένα νέο σύνολο δύο εντελώς ανεξάρτητων κλειδιών, η διαχείριση κλειδιών θα γινόταν γρήγορα δύσχρηστη, ειδικά για χρήστες που εκτελούν πολλούς επικυρωτές. Αντίθετα, πολλαπλά κλειδιά επικυρωτή μπορούν να παραχθούν από ένα ενιαίο κοινό μυστικό και η αποθήκευση αυτού του ενιαίου μυστικού επιτρέπει την πρόσβαση σε πολλαπλά κλειδιά επικυρωτή.
+
+Τα [μνημονικά](https://en.bitcoinwiki.org/wiki/Mnemonic_phrase) και οι διαδρομές είναι σημαντικά χαρακτηριστικά που συναντούν συχνά οι χρήστες όταν [έχουν πρόσβαση](https://ethereum.stackexchange.com/questions/19055/what-is-the-difference-between-m-44-60-0-0-and-m-44-60-0) στα πορτοφόλια τους. Το μνημονικό είναι μια ακολουθία λέξεων που λειτουργεί ως αρχικός σπόρος για ένα ιδιωτικό κλειδί. Όταν συνδυάζεται με πρόσθετα δεδομένα, το μνημονικό δημιουργεί ένα αναγνωριστικό γνωστό ως «κύριο κλειδί». Αυτό μπορεί να θεωρηθεί ως η ρίζα ενός δέντρου. Κλαδιά από αυτή τη ρίζα μπορούν στη συνέχεια να παραχθούν χρησιμοποιώντας μια ιεραρχική διαδρομή, έτσι ώστε οι κόμβοι να μπορούν να υπάρχουν ως συνδυασμοί του αναγνωριστικού του γονικού κόμβου και της θέσης τους στο δέντρο. Διαβάστε για τα πρότυπα [BIP-32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) και [BIP-19](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) για τη δημιουργία κλειδιών με βάση μνημονικά.
+
+Αυτές οι διαδρομές έχουν την ακόλουθη δομή, η οποία θα είναι γνωστή στους χρήστες που έχουν αλληλεπιδράσει με συσκευή πορτοφολιού:
+
+```
+m/44'/60'/0'/0`
+```
+
+Οι διαδρομές σε αυτήν τη διαδρομή διαχωρίζουν τα συστατικά του ιδιωτικού κλειδιού ως εξής:
+
+```
+master_key / purpose / coin_type / account / change / address_index
+```
+
+Αυτή η λογική επιτρέπει στους χρήστες να συνδέσουν όσο το δυνατόν περισσότερους επικυρωτές σε μια ενιαία **φράση μνημονικού**, επειδή η ρίζα του δέντρου μπορεί να είναι κοινή και η διάκριση μπορεί να συμβεί στα κλαδιά. Ο χρήστης μπορεί να **παράγει οποιοδήποτε αριθμό κλειδιών** από τη φράση μνημονικού.
+
+```
+ [m / 0]
+ /
+ /
+[m] - [m / 1]
+ \
+ \
+ [m / 2]
+```
+
+Κάθε κλαδί χωρίζεται από ένα `/`, οπότε το `m/2` σημαίνει ξεκινήστε από το κύριο κλειδί και ακολουθήστε το κλαδί 2. Στο παρακάτω σχήμα χρησιμοποιείται μια ενιαία φράση μνημονικού για να αποθηκευτούν τρία κλειδιά ανάληψης, καθένα με δύο συσχετισμένους επικυρωτές.
+
+
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Άρθρο του Ethereum Foundation από τον Carl Beekhuizen](https://blog.ethereum.org/2020/05/21/keys/)
+- [Δημιουργία κλειδιού EIP-2333 BLS12-381](https://eips.ethereum.org/EIPS/eip-2333)
+- [EIP-7002: Execution Layer Triggered Exits](https://research.2077.xyz/eip-7002-unpacking-improvements-to-staking-ux-post-merge)
+- [Διαχείριση κλειδιών στην κλιμάκωση](https://docs.ethstaker.cc/ethstaker-knowledge-base/scaled-node-operators/key-management-at-scale)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
new file mode 100644
index 00000000000..dc6c1aec83e
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/pos-vs-pow/index.md
@@ -0,0 +1,69 @@
+---
+title: Απόδειξη συμμετοχής ή Απόδειξης εργασίας
+description: Μια σύγκριση μεταξύ του μηχανισμού συναίνεσης της απόδειξης συμμετοχής και της απόδειξης εργασίας του Ethereum
+lang: el
+---
+
+Όταν κυκλοφόρησε το Ethereum, ήταν απαραίτητη ακόμα πολλή έρευνα και ανάπτυξη προτού μπορέσουμε να εμπιστευτούμε την απόδειξη συμμετοχής για την ασφάλεια του Ethereum. Η απόδειξη εργασίας ήταν ένας απλούστερος μηχανισμός που είχε ήδη αποδειχθεί από το Bitcoin, πράγμα που σήμαινε ότι οι βασικοί προγραμματιστές μπορούσαν να το εφαρμόσουν αμέσως για να εκκινήσουν το Ethereum. Χρειάστηκαν άλλα οκτώ χρόνια για να αναπτυχθεί η απόδειξη συμμετοχής σε βαθμό ώστε να μπορεί να υλοποιηθεί.
+
+Αυτή η σελίδα εξηγεί τη λογική πίσω από τη μετάβαση του Ethereum από την απόδειξη εργασίας στην απόδειξη συμμετοχής και τα σχετικά αντισταθμίσματα.
+
+## Ασφάλεια {#security}
+
+Οι ερευνητές του Ethereum θεωρούν την απόδειξη συμμετοχής πιο ασφαλή από την απόδειξη εργασίας. Ωστόσο, εφαρμόστηκε αρκετά πρόσφατα στο πραγματικό Κεντρικό Δίκτυο του Ethereum και είναι λιγότερο δοκιμασμένη στον χρόνο από την απόδειξη εργασίας. Οι ακόλουθες ενότητες συζητούν τα πλεονεκτήματα και τα μειονεκτήματα του μοντέλου ασφάλειας της απόδειξης συμμετοχής σε σύγκριση με την απόδειξη εργασίας.
+
+### Κόστος επίθεσης {#cost-to-attack}
+
+Στην απόδειξη συμμετοχής, οι επικυρωτές απαιτείται να καταθέσουν ως εγγύηση («stake») τουλάχιστον 32 ETH σε ένα έξυπνο συμβόλαιο. Το Ethereum μπορεί να καταστρέψει το αποθηκευμένο ether για να τιμωρήσει τους επικυρωτές που επιδεικνύουν κακόβουλη συμπεριφορά. Για να επιτευχθεί συναίνεση, τουλάχιστον το 66% του συνολικού αποθηκευμένου ether πρέπει να ψηφίσει υπέρ ενός συγκεκριμένου συνόλου μπλοκ. Τα μπλοκ που έχουν ψηφιστεί από >=66% του αποθηκευμένου κεφαλαίου γίνονται «οριστικοποιημένα», που σημαίνει ότι δεν μπορούν να αφαιρεθούν ή να αναδιοργανωθούν.
+
+Η επίθεση στο δίκτυο μπορεί να σημαίνει την αποτροπή της οριστικοποίησης της αλυσίδας ή τη διασφάλιση μιας συγκεκριμένης οργάνωσης μπλοκ στην κανονική αλυσίδα που ωφελεί κατά κάποιο τρόπο έναν επιτιθέμενο. Αυτό απαιτεί από τον επιτιθέμενο να εκτρέψει την πορεία της ειλικρινούς συναίνεσης είτε μέσω της συσσώρευσης μιας μεγάλης ποσότητας ether και της απευθείας ψηφοφορίας με αυτό είτε μέσω της εξαπάτησης των ειλικρινών επικυρωτών ώστε να ψηφίσουν με συγκεκριμένο τρόπο. Εκτός από τις περίπλοκες επιθέσεις χαμηλής πιθανότητας που εξαπατούν τους ειλικρινείς επικυρωτές, το κόστος επίθεσης στο Ethereum είναι το κόστος του αποθηκευμένου κεφαλαίου που πρέπει να συσσωρεύσει ένας επιτιθέμενος για να επηρεάσει τη συναίνεση υπέρ του.
+
+Το χαμηλότερο κόστος επίθεσης είναι >33% του συνολικού αποθηκευμένου κεφαλαίου. Ένας επιτιθέμενος που κατέχει >33% του συνολικού κεφαλαίου μπορεί να προκαλέσει καθυστέρηση οριστικότητας απλώς με την αποσύνδεσή του. Αυτό είναι ένα σχετικά μικρό πρόβλημα για το δίκτυο, διότι υπάρχει ένας μηχανισμός γνωστός ως «διαρροή λόγω αδράνειας» που διαρρέει το κεφάλαιο μακριά από τους εκτός σύνδεσης επικυρωτές μέχρις ότου η online πλειοψηφία αντιπροσωπεύει το 66% του κεφαλαίου και μπορεί να οριστικοποιήσει ξανά την αλυσίδα. Είναι επίσης θεωρητικά δυνατό για έναν επιτιθέμενο να προκαλέσει διπλή οριστικότητα με λίγο περισσότερο από 33% του συνολικού κεφαλαίου δημιουργώντας δύο μπλοκ αντί για ένα, όταν του ζητηθεί να είναι παραγωγός μπλοκ, και στη συνέχεια να ψηφίσει διπλά με όλους τους επικυρωτές του. Σε κάθε διακλάδωση (fork), μόνο το 50% των υπολοίπων ειλικρινών επικυρωτών απαιτείται να δει πρώτο κάθε μπλοκ. Επομένως, εάν καταφέρουν να χρονίσουν τα μηνύματά τους σωστά, μπορεί να είναι σε θέση να οριστικοποιήσουν και τις δύο διακλαδώσεις. Αυτό έχει χαμηλή πιθανότητα επιτυχίας, αλλά εάν ένας επιτιθέμενος μπορούσε να προκαλέσει διπλή οριστικότητα, η κοινότητα Ethereum θα έπρεπε να αποφασίσει να ακολουθήσει μία διακλάδωση και στην περίπτωση αυτή οι επικυρωτές του επιτιθέμενου θα έπρεπε αναγκαστικά να περικοπούν.
+
+Με περισσότερο από >33% του συνολικού κεφαλαίου, ένας επιτιθέμενος έχει την ευκαιρία να έχει μια μικρή (καθυστέρηση οριστικότητας) ή πιο σοβαρή (διπλή οριστικότητα) επίδραση στο δίκτυο Ethereum. Με περισσότερα από 14.000.000 ETH αποθηκευμένα στο δίκτυο και μια αντιπροσωπευτική τιμή 1000 $/ETH, το ελάχιστο κόστος για την εκτέλεση αυτών των επιθέσεων είναι `1000 x 14.000.000 x 0.33 = $4.620.000.000`. Ο επιτιθέμενος θα έχανε αυτά τα χρήματα μέσω περικοπής και θα αποβαλλόταν από το δίκτυο. Για να επιτεθεί ξανά, θα έπρεπε να συσσωρεύσει >33% του κεφαλαίου (ξανά) και να το κάψει (ξανά). Κάθε απόπειρα επίθεσης στο δίκτυο θα κόστιζε >4,6 δισεκατομμύρια δολάρια (σε 1000 $/ETH και 14 εκατομμύρια ETH αποθηκευμένα). Ο επιτιθέμενος αποβάλλεται επίσης από το δίκτυο όταν υποβάλλεται σε περικοπή και πρέπει να συμμετάσχει σε μια ουρά ενεργοποίησης για να επανεισαχθεί. Αυτό σημαίνει ότι ο ρυθμός επανάληψης μιας επίθεσης περιορίζεται όχι μόνο από τον ρυθμό με τον οποίο ο επιτιθέμενος μπορεί να συσσωρεύσει >33% του συνολικού κεφαλαίου, αλλά και από τον χρόνο που χρειάζεται για να εντάξει όλους τους επικυρωτές του στο δίκτυο. Κάθε φορά που ο εισβολέας επιτίθεται, γίνεται πολύ φτωχότερος και η υπόλοιπη κοινότητα πλουσιότερη, χάρη στο προκύπτον σοκ προσφοράς.
+
+Άλλες επιθέσεις, όπως οι επιθέσεις 51% ή η αναστροφή της οριστικότητας με το 66% του συνολικού αποθηκευμένου κεφαλαίου, απαιτούν σημαντικά περισσότερα ETH και είναι πολύ πιο δαπανηρές για τον επιτιθέμενο.
+
+Συγκρίνετε το αυτό με την απόδειξη εργασίας. Το κόστος εκκίνησης μιας επίθεσης σε ένα Ethereum απόδειξης εργασίας ήταν το κόστος συνεχούς κατοχής >50% του συνολικού ποσοστού hash του δικτύου. Αυτό ισοδυναμούσε με το κόστος υλικού και λειτουργίας επαρκούς υπολογιστικής ισχύος που απαιτείται για να υπερτερεί των άλλων εξορυκτών στον υπολογισμό λύσεων απόδειξης εργασίας με συνέπεια. Στην εξόρυξη του Ethereum χρησιμοποιούνταν περισσότερο GPU παρά ASIC, κάτι που περιόριζε το κόστος (αν το Ethereum παρέμενε στην απόδειξη εργασίας, όμως, η εξόρυξη ASIC ίσως είχε γίνει πιο δημοφιλής). Ένας αντίπαλος θα έπρεπε να αγοράσει πολύ υλικό και να πληρώσει για το ηλεκτρικό ρεύμα για να το λειτουργήσει, ώστε να επιτεθεί σε ένα δίκτυο Ethereum απόδειξης εργασίας. Ωστόσο, το συνολικό κόστος θα ήταν μικρότερο από το κόστος που απαιτείται για τη συσσώρευση αρκετών ETH για να εξαπολύσει μια επίθεση. Μια επίθεση 51% είναι ~[20 φορές](https://youtu.be/1m12zgJ42dI?t=1562) φθηνότερη στην απόδειξη εργασίας παρά στην απόδειξη συμμετοχής. Εάν η επίθεση εντοπιζόταν και η αλυσίδα διχαζόταν (hard fork) για να αφαιρεθούν οι αλλαγές, ο επιτιθέμενος θα μπορούσε να χρησιμοποιήσει επανειλημμένα το ίδιο υλικό για να επιτεθεί στη νέα εκδοχή της αλυσίδας (fork).
+
+### Πολυπλοκότητα {#complexity}
+
+Η απόδειξη συμμετοχής είναι πολύ πιο πολύπλοκη από την απόδειξη εργασίας. Αυτό θα μπορούσε να είναι ένα σημείο υπέρ της απόδειξης εργασίας, γιατί είναι πιο δύσκολο να εισαχθούν κατά λάθος σφάλματα ή ανεπιθύμητες επιπτώσεις σε απλούστερα πρωτόκολλα. Ωστόσο, έπειτα από χρόνια έρευνας και ανάπτυξης, προσομοιώσεων και υλοποιήσεων δοκιμαστικών δικτύων η πολυπλοκότητα έχει περιοριστεί. Το πρωτόκολλο απόδειξης συμμετοχής έχει υλοποιηθεί ανεξάρτητα από πέντε ξεχωριστές ομάδες (σε κάθε ένα από τα επίπεδα εκτέλεσης και συναίνεσης) σε πέντε γλώσσες προγραμματισμού, γεγονός το οποίο παρέχει ανθεκτικότητα έναντι σφαλμάτων πελατών.
+
+Για να αναπτυχθεί και να δοκιμαστεί με ασφάλεια η λογική συναίνεσης απόδειξης συμμετοχής, η Κύρια αλυσίδα (Beacon Chain) τέθηκε σε λειτουργία δύο χρόνια πριν από την εφαρμογή της απόδειξης συμμετοχής στο Κεντρικό Δίκτυο του Ethereum. Η Κύρια αλυσίδα χρησίμευσε ως sandbox για δοκιμές απόδειξης συμμετοχής, καθώς ήταν μια ζωντανή αλυσίδα μπλοκ που υλοποιούσε τη λογική συναίνεσης απόδειξης συμμετοχής χωρίς, όμως, να αγγίζει πραγματικές συναλλαγές Ethereum — ουσιαστικά απλώς κατέληγε σε συναίνεση για τον εαυτό της. Μόλις επετεύχθη σταθερότητα και απουσία τυχόν σφαλμάτων για επαρκή χρονικό διάστημα, η Κύρια αλυσίδα «συγχωνεύτηκε» με το Κεντρικό Δίκτυο του Ethereum. Όλα αυτά συνέβαλαν στον περιορισμό της πολυπλοκότητας της απόδειξης συμμετοχής, καθιστώντας τον κίνδυνο ανεπιθύμητων συνεπειών ή σφαλμάτων πελατών πολύ χαμηλό.
+
+### Επιφάνεια επίθεσης {#attack-surface}
+
+Η απόδειξη συμμετοχής είναι πιο πολύπλοκη από την απόδειξη εργασίας, πράγμα που σημαίνει ότι υπάρχουν περισσότεροι πιθανοί φορείς επίθεσης προς αντιμετώπιση. Αντί για ένα δίκτυο peer-to-peer που συνδέει πελάτες, υπάρχουν δύο, με το καθένα να υλοποιεί ένα ξεχωριστό πρωτόκολλο. Το γεγονός ότι ένας συγκεκριμένος επικυρωτής προεπιλέγεται για να προτείνει ένα μπλοκ σε κάθε χρονικό κενό δημιουργεί τη δυνατότητα άρνησης εξυπηρέτησης, όπου μεγάλος όγκος της κυκλοφορίας του δικτύου αποσυνδέουν αυτόν τον συγκεκριμένο επικυρωτή.
+
+Υπάρχουν επίσης τρόποι με τους οποίους οι επιτιθέμενοι μπορούν να συγχρονίσουν προσεκτικά την κυκλοφορία των μπλοκ ή των βεβαιώσεων τους, ώστε να τα λάβει ένα συγκεκριμένο ποσοστό του ειλικρινούς δικτύου, επηρεάζοντάς τα να ψηφίσουν με συγκεκριμένους τρόπους. Τελικά, ένας επιτιθέμενος μπορεί απλά να συσσωρεύσει επαρκές κεφάλαιο ETH για να κυριαρχήσει στον μηχανισμό συναίνεσης. Σε καθέναν από αυτούς τους [φορείς επίθεσης αντιστοιχούν σχετικές άμυνες](/developers/docs/consensus-mechanisms/pos/attack-and-defense), αλλά δεν υπάρχουν προς υπεράσπιση στο πλαίσιο της απόδειξης εργασίας.
+
+## Αποκέντρωση {#decentralization}
+
+Η απόδειξη συμμετοχής είναι πιο αποκεντρωμένη από την απόδειξη εργασίας, επειδή η κούρσα των εξοπλισμών εξόρυξης τείνει να αποκλείει μεμονωμένα άτομα και μικρές οργανώσεις. Παρόλο που ο οποιοσδήποτε μπορεί, από τεχνική άποψη, να ξεκινήσει την κρυπτόρυξη με μέτριο υλικό, η πιθανότητα να λάβει οποιαδήποτε ανταμοιβή είναι εξαιρετικά μικρή σε σύγκριση με τις δραστηριότητες εξόρυξης σε επίπεδο οργανισμών. Με την απόδειξη συμμετοχής, το κόστος αποθήκευσης και η ποσοστιαία απόδοση αυτού του κεφαλαίου είναι ίδια για όλους. Επί του παρόντος, η εκτέλεση ενός επικυρωτή κοστίζει 32 ETH.
+
+Από την άλλη πλευρά, η εφεύρεση των παραγώγων κυμαινόμενου κεφαλαίου έχει οδηγήσει σε ανησυχίες ως προς την κεντρικοποίηση, επειδή λίγοι μεγάλοι πάροχοι διαχειρίζονται μεγάλες ποσότητες αποθηκευμένου ETH. Αυτό είναι προβληματικό και πρέπει να διορθωθεί το συντομότερο δυνατό, αλλά είναι επίσης πιο περίπλοκο από όσο φαίνεται. Οι κεντρικοί πάροχοι αποθήκευσης κεφαλαίου δεν έχουν απαραίτητα τον κεντρικό έλεγχο των επικυρωτών. Συχνά αποτελούν απλώς έναν τρόπο δημιουργίας μιας κεντρικής δεξαμενής ETH όπου πολλοί ανεξάρτητοι χειριστές κόμβων μπορούν να αποθηκεύουν κεφάλαιο χωρίς να απαιτείται από κάθε συμμετέχοντα να αποθηκεύει 32 ETH από το δικό του κεφάλαιο.
+
+Η καλύτερη επιλογή για το Ethereum είναι οι επικυρωτές να εκτελούνται τοπικά σε οικιακούς υπολογιστές, μεγιστοποιώντας την αποκέντρωση. Γι' αυτό, το Ethereum αντιστέκεται στις αλλαγές που αυξάνουν τις απαιτήσεις υλικού για την εκτέλεση ενός κόμβου/επικυρωτή.
+
+## Βιωσιμότητα {#sustainability}
+
+Η απόδειξη συμμετοχής είναι ένας φθηνός τρόπος από άποψη μείωσης του αποτυπώματος άνθρακα για την ασφάλεια του blockchain. Στην απόδειξη εργασίας οι εξορύκτες ανταγωνίζονται για το δικαίωμα κρυπτόρυξης ενός μπλοκ. Οι εξορύκτες έχουν μεγαλύτερη επιτυχία όταν μπορούν να εκτελέσουν υπολογισμούς ταχύτερα, ενθαρρύνοντας την επένδυση σε υλικό και κατανάλωση ενέργειας. Αυτό παρατηρήθηκε για το Ethereum πριν αλλάξει σε απόδειξη συμμετοχής. Λίγο πριν από τη μετάβαση στην απόδειξη συμμετοχής, το Ethereum κατανάλωνε περίπου 78 TWh/έτος, δηλαδή όσο μια μικρή χώρα. Ωστόσο, η μετάβαση στην απόδειξη συμμετοχής μείωσε αυτή την κατανάλωση ενέργειας κατά περίπου 99,98%. Η απόδειξη συμμετοχής έκανε το Ethereum μια ενεργειακά αποδοτική πλατφόρμα χαμηλών εκπομπών άνθρακα.
+
+[Περισσότερα για την κατανάλωση ενέργειας στο Ethereum](/energy-consumption)
+
+## Έκδοση {#issuance}
+
+Το Ethereum με απόδειξη συμμετοχής μπορεί να πληρώσει για την ασφάλειά του εκδίδοντας πολύ λιγότερα νομίσματα από το Ethereum με απόδειξη εργασίας, επειδή οι επικυρωτές δεν χρειάζεται να επιβαρύνονται με υψηλά κόστη ηλεκτρικής ενέργειας. Ως αποτέλεσμα, το ETH μπορεί να μειώσει τον πληθωρισμό του ή ακόμα και να γίνει αποπληθωριστικό όταν καίγονται μεγάλες ποσότητες ETH. Τα χαμηλότερα επίπεδα πληθωρισμού σημαίνουν ότι η ασφάλεια του Ethereum είναι φθηνότερη από ό,τι ήταν στην απόδειξη εργασίας.
+
+## Περισσότερα από έναν εικονικό μαθητή; {#visual-learner}
+
+Παρακολουθήστε τον Justin Drake να εξηγεί τα οφέλη της απόδειξης συμμετοχής έναντι της απόδειξης εργασίας:
+
+
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Φιλοσοφία σχεδιασμού απόδειξης συμμετοχής του Vitalik](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51)
+- [Συχνές ερωτήσεις για την απόδειξη συμμετοχής και απαντήσεις από τον Vitalik](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-proof-of-stake)
+- [Βίντεο «Με απλά λόγια» για την απόδειξη συμμετοχής και την απόδειξη εργασίας](https://www.youtube.com/watch?v=M3EFi_POhps)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
new file mode 100644
index 00000000000..09ead118676
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
@@ -0,0 +1,92 @@
+---
+title: Ανταμοιβές και ποινές της απόδειξης συμμετοχής
+description: Μάθετε για τα κίνητρα εντός του πρωτοκόλλου στο Ethereum της απόδειξης συμμετοχής.
+lang: el
+---
+
+Το Ethereum ασφαλίζεται μέσω της χρήσης του εγγενούς κρυπτονομίσματός του, το ether (ETH). Οι χειριστές κόμβων που επιθυμούν να συμμετάσχουν στην επικύρωση μπλοκ και στην αναγνώριση της κεφαλίδας της αλυσίδας, καταθέτουν ether μέσα στο [συμβόλαιο κατάθεσης](/staking/deposit-contract/) στο Ethereum. Στη συνέχεια, πληρώνονται σε ether για να τρέξουν λογισμικό επικύρωσης που ελέγχει την εγκυρότητα των νέων μπλοκ που λαμβάνονται μέσω του δικτύου peer-to-peer και εφαρμόζει τον αλγόριθμο επιλογής ενσωμάτωσης για να προσδιορίσει την κεφαλή της αλυσίδας.
+
+Υπάρχουν δύο κύριοι ρόλοι για έναν επικυρωτή: 1) ο έλεγχος νέων μπλοκ και η χορήγηση «βεβαίωσης» τους εάν είναι έγκυροι, 2) η πρόταση νέων μπλοκ όταν επιλέγονται τυχαία από τη συνολική ομάδα επικυρωτών. Εάν ο επικυρωτής αποτύχει να κάνει κάποια από αυτές τις εργασίες όταν του ζητηθεί, χάνει μια πληρωμή ether. Οι επικυρωτές είναι επίσης μερικές φορές επιφορτισμένοι με τη συγκέντρωση υπογραφών και τη συμμετοχή σε επιτροπές συγχρονισμού.
+
+Υπάρχουν επίσης ορισμένες ενέργειες που είναι πολύ δύσκολο να γίνουν κατά λάθος και υποδηλώνουν κάποια κακόβουλη πρόθεση, όπως η πρόταση πολλαπλών μπλοκ για το ίδιο χρονικό κενό ή η βεβαίωση πολλαπλών μπλοκ για το ίδιο χρονικό κενό. Πρόκειται για «επιλήψιμες» συμπεριφορές που έχουν ως αποτέλεσμα το πρόγραμμα επικύρωσης να κάψει κάποια ποσότητα ether (έως 1 ETH) προτού αφαιρεθεί ο επικυρωτής από το δίκτυο, κάτι που διαρκεί 36 ημέρες. Το ether του επικυρωτή που έχει υποβληθεί σε ποινή περικοπής εξαντλείται σιγά σιγά κατά τη διάρκεια της περιόδου εξόδου, αλλά τη 18η Ημέρα λαμβάνουν μια «ποινή συσχέτισης» η οποία είναι μεγαλύτερη όταν περισσότεροι επικυρωτές υποβάλλονται σε περικοπές περίπου την ίδια στιγμή. Επομένως, η δομή κινήτρων του μηχανισμού συναίνεσης πληρώνει την ειλικρίνεια και τιμωρεί τα κακόβουλα στοιχεία.
+
+Όλες οι ανταμοιβές και οι ποινές εφαρμόζονται μία φορά ανά εποχή.
+
+Διαβάστε παρακάτω για περισσότερες λεπτομέρειες...
+
+## Επιβραβεύσεις και κυρώσεις {#rewards}
+
+### Ανταμοιβές {#rewards}
+
+Οι επικυρωτές λαμβάνουν ανταμοιβές όταν κάνουν ψήφους που είναι συνεπείς με την πλειοψηφία των άλλων επικυρωτών, όταν προτείνουν μπλοκ και όταν συμμετέχουν σε επιτροπές συγχρονισμού. Η αξία των ανταμοιβών σε κάθε εποχή υπολογίζεται από ένα `base_reward`. Αυτή είναι η βασική μονάδα από την οποία υπολογίζονται άλλες ανταμοιβές. Το `base_reward` αντιπροσωπεύει τη μέση ανταμοιβή που λαμβάνει ένας επικυρωτής υπό άριστες συνθήκες ανά εποχή. Αυτό υπολογίζεται από το πραγματικό υπόλοιπο του επικυρωτή και τον συνολικό αριθμό των ενεργών επικυρωτών ως εξής:
+
+```
+base_reward = effective_balance * (base_reward_factor / (base_rewards_per_epoch * sqrt(sum(active_balance))))
+```
+
+όπου `base_reward_factor` είναι 64, `base_rewards_per_epoch` είναι 4 και `sum(active balance)` είναι το συνολικό αποθηκευμένο ether μεταξύ όλων των ενεργών επικυρωτών.
+
+Αυτό σημαίνει ότι η βασική ανταμοιβή είναι ανάλογη με το πραγματικό υπόλοιπο του επικυρωτή και αντιστρόφως ανάλογη με τον αριθμό των επικυρωτών στο δίκτυο. Όσο περισσότεροι επικυρωτές, τόσο μεγαλύτερη είναι η συνολική έκδοση (ως `sqrt(N)` αλλά τόσο μικρότερη η `base_reward` ανά επικυρωτή (ως `1/sqrt(N)`). Αυτοί οι παράγοντες επηρεάζουν το APR για έναν κόμβο αποθήκευσης. Διαβάστε το σκεπτικό για αυτό στις [σημειώσεις του Vitalik](https://notes.ethereum.org/@vbuterin/rkhCgQteN?type=view#Base-rewards).
+
+Στη συνέχεια, η συνολική ανταμοιβή υπολογίζεται ως το άθροισμα πέντε συστατικών που το καθένα έχει μια στάθμιση που καθορίζει πόσο προσθέτει κάθε συστατικό στη συνολική ανταμοιβή. Τα συστατικά είναι:
+
+```
+1. source vote: the validator has made a timely vote for the correct source checkpoint
+2. target vote: the validator has made a timely vote for the correct target checkpoint
+3. head vote: the validator has made a timely vote for the correct head block
+4. sync committee reward: the validator has participated in a sync committee
+5. proposer reward: the validator has proposed a block in the correct slot
+```
+
+Οι σταθμίσεις για κάθε συστατικό είναι οι εξής:
+
+```
+TIMELY_SOURCE_WEIGHT uint64(14)
+TIMELY_TARGET_WEIGHT uint64(26)
+TIMELY_HEAD_WEIGHT uint64(14)
+SYNC_REWARD_WEIGHT uint64(2)
+PROPOSER_WEIGHT uint64(8)
+```
+
+Το άθροισμα αυτών των σταθμίσεων είναι 64. Η ανταμοιβή υπολογίζεται ως το άθροισμα των ισχυόντων σταθμίσεων διαιρούμενο με το 64. Ένας επικυρωτής που έχει κάνει έγκαιρες ψηφοφορίες πηγής, στόχου και κεφαλής, έχει προτείνει ένα μπλοκ και συμμετείχε σε μια επιτροπή συγχρονισμού θα μπορούσε να λάβει `64/64 * base_reward == base_reward`. Ωστόσο, ένας επικυρωτής δεν είναι συνήθως προτείνων μπλοκ. Επομένως, η μέγιστη ανταμοιβή του είναι `64-8 /64 * base_reward == 7/8 * base_reward`. Οι επικυρωτές που δεν είναι ούτε προτείνοντες μπλοκ ούτε σε επιτροπή συγχρονισμού μπορούν να λάβουν `64-8-2 / 64 * base_reward == 6.75/8 * base_reward`.
+
+Προστίθεται μια επιπλέον ανταμοιβή για την παροχή κινήτρων για γρήγορες βεβαιώσεις. Είναι το `inclusion_delay_reward`. Έχει αξία ίση με το `base_reward` πολλαπλασιασμένο επί `1/delay` όπου `delay` είναι ο αριθμός των χρονικών κενών που χωρίζουν την πρόταση μπλοκ και τη βεβαίωση. Για παράδειγμα, εάν η βεβαίωση υποβληθεί εντός ενός χρονικού κενού από την πρόταση μπλοκ, ο εκδότης της βεβαίωσης λαμβάνει `base_reward * 1/1 == base_reward`. Εάν η βεβαίωση φτάσει στο επόμενο χρονικό κενό, ο εκδότης της βεβαίωσης λαμβάνει `base_reward * 1/2` και ούτω καθεξής.
+
+Οι προτείνοντες μπλοκ λαμβάνουν `8 / 64 * base_reward` για **κάθε έγκυρη βεβαίωση** που περιλαμβάνεται στο μπλοκ, επομένως η πραγματική αξία της ανταμοιβής κλιμακώνεται με τον αριθμό των επικυρωτών που χορηγούν βεβαιώσεις. Οι προτείνοντες μπλοκ μπορούν επίσης να αυξήσουν την ανταμοιβή τους συμπεριλαμβάνοντας αποδεικτικά στοιχεία κακής συμπεριφοράς από άλλους επικυρωτές στο προτεινόμενο μπλοκ τους. Αυτές οι ανταμοιβές είναι τα «καρότα» που ενθαρρύνουν την ειλικρίνεια των επικυρωτών. Ένα προτεινόμενο μπλοκ που περιλαμβάνει περικοπή θα ανταμειφθεί με το `slashed_validators_effective_balance / 512`.
+
+### Κυρώσεις {#penalties}
+
+Μέχρι στιγμής ασχοληθήκαμε με επικυρωτές με εξαιρετική συμπεριφορά. Τι γίνεται, όμως, με τους επικυρωτές που δεν καταθέτουν εγκαίρως ψήφους κεφαλής, πηγής και στόχου ή αργούν να το κάνουν;
+
+Οι ποινές για την απώλεια των ψήφων στόχου και πηγής είναι ίσες με τις ανταμοιβές που θα λάμβανε ο εκδότης της βεβαίωσης εάν τις είχε υποβάλει. Αυτό σημαίνει ότι αντί να προστεθεί η ανταμοιβή στο υπόλοιπό τους, αφαιρείται ποσό ίσης αξίας από το υπόλοιπό τους. Δεν υπάρχει τιμωρία για την απώλεια της ψήφου κεφαλής (δηλαδή οι ψήφοι κεφαλής επιβραβεύονται μόνο, ποτέ δεν τιμωρούνται). Δεν υπάρχει ποινή που να σχετίζεται με την `inclusion_delay` — η ανταμοιβή απλά δεν θα προστεθεί στο υπόλοιπο του επικυρωτή. Επίσης, δεν υπάρχει ποινή για την παράλειψη πρότασης μπλοκ.
+
+Διαβάστε περισσότερα σχετικά με τις ανταμοιβές και τις ποινές στις [προδιαγραφές συναίνεσης](https://github.com/ethereum/consensus-specs/blob/dev/specs/altair/beacon-chain.md). Οι ανταμοιβές και οι ποινές προσαρμόστηκαν στην αναβάθμιση του Bellatrix — παρακολουθήστε τον Danny Ryan και τον Vitalik να το συζητούν σε αυτό το [Peep an EIP video](https://www.youtube.com/watch?v=iaAEGs1DMgQ).
+
+## Περικοπή {#slashing}
+
+Η περικοπή είναι μια πιο σοβαρή ενέργεια που έχει ως αποτέλεσμα τη βίαιη αφαίρεση ενός επικυρωτή από το δίκτυο και τη σχετική απώλεια του αποθηκευμένου κεφαλαίου ether του. Υπάρχουν τρεις τρόποι με τους οποίους μπορεί να περικοπεί ένας επικυρωτής, όλοι εκ των οποίων σχετίζονται με την ανέντιμη πρόταση ή τη βεβαίωση μπλοκ:
+
+- Πρόταση και υπογραφή δύο διαφορετικών μπλοκ για το ίδιο χρονικό κενό
+- Έκδοση βεβαίωσης ενός μπλοκ που «περιβάλλει» ένα άλλο (αλλάζοντας ουσιαστικά το ιστορικό)
+- «Διπλή ψηφοφορία» μέσω βεβαίωσης δύο υποψηφίων για το ίδιο μπλοκ
+
+Εάν εντοπιστούν αυτές οι ενέργειες, ο επικυρωτής υποβάλλεται σε περικοπή. Αυτό σημαίνει ότι το 0,0078125 καίγεται αμέσως για έναν επικυρωτή 32 ETH (κλιμακώνεται γραμμικά με το ενεργό υπόλοιπο) και στη συνέχεια ξεκινά μια περίοδος αφαίρεσης 36 ημερών. Κατά τη διάρκεια αυτής της περιόδου απομάκρυνσης το αποθηκευμένο κεφάλαιο του επικυρωτή σταδιακά μειώνεται. Στο μέσο σημείο (Ημέρα 18) εφαρμόζεται μια πρόσθετη ποινή της οποίας το μέγεθος κλιμακώνεται με το συνολικό δεσμευμένο ether όλων των περικομμένων επικυρωτών στις 36 ημέρες πριν από το γεγονός περικοπής. Αυτό σημαίνει ότι όταν περικόπτονται περισσότεροι επικυρωτές, το μέγεθος της περικοπής αυξάνεται. Η μέγιστη περικοπή είναι το πλήρες πραγματικό υπόλοιπο όλων των περικομμένων επικυρωτών (δηλαδή, εάν υπάρχουν πολλοί επικυρωτές που υποβάλλονται σε περικοπή, θα μπορούσαν να χάσουν ολόκληρο το κεφάλαιό τους). Από την άλλη πλευρά, ένα μεμονωμένο γεγονός περικοπής καίει μόνο ένα μικρό μέρος του αποθηκευμένου κεφαλαίου του επικυρωτή. Αυτή η ποινή του μέσου σημείου που κλιμακώνεται με τον αριθμό των περικομμένων επικυρωτών ονομάζεται «ποινή συσχέτισης».
+
+## Διαρροή αδράνειας {#inactivity-leak}
+
+Εάν περάσουν περισσότερες από τέσσερις εποχές χωρίς να οριστικοποιηθεί το επίπεδο συναίνεσης, ενεργοποιείται ένα πρωτόκολλο έκτακτης ανάγκης που ονομάζεται «διαρροή λόγω αδράνειας». Ο απώτερος στόχος της διαρροής λόγω αδράνειας είναι να δημιουργηθούν οι προϋποθέσεις που απαιτούνται για την αποκατάσταση της οριστικότητας της αλυσίδας. Όπως εξηγήθηκε παραπάνω, η οριστικότητα απαιτεί την επίτευξη συμφωνίας από τα 2/3 της πλειοψηφίας του συνολικού αποθηκευμένου ether ως προς τα σημεία ελέγχου πηγής και στόχου. Εάν οι επικυρωτές που αντιπροσωπεύουν περισσότερο από το 1/3 των συνολικών επικυρωτών βγουν εκτός σύνδεσης ή δεν υποβάλουν σωστές βεβαιώσεις, τότε δεν είναι δυνατό για τα 2/3 της υπερπλειοψηφίας να οριστικοποιήσουν τα σημεία ελέγχου. Η διαρροή λόγω αδράνειας επιτρέπει στο αποθηκευμένο κεφάλαιο που ανήκει στους ανενεργούς επικυρωτές να εξαντληθεί σταδιακά, μέχρι να φτάσουν σε σημείο να ελέγχουν λιγότερο από το 1/3 του συνολικού αποθηκευμένου κεφαλαίου, επιτρέποντας στους υπόλοιπους ενεργούς επικυρωτές να οριστικοποιήσουν την αλυσίδα. Όσο μεγάλη κι αν είναι η ομάδα των ανενεργών επικυρωτών, οι εναπομείναντες ενεργοί επικυρωτές θα ελέγχουν τελικά >2/3 του κεφαλαίου. Η απώλεια αποθηκευμένου κεφαλαίου είναι ένα ισχυρό κίνητρο για τους ανενεργούς επικυρωτές να επανενεργοποιηθούν το συντομότερο δυνατό! Ένα σενάριο διαρροής λόγω αδράνειας παρουσιάστηκε στο δίκτυο δοκιμής Medalla, όταν < 66% των ενεργών επικυρωτών μπόρεσαν να συμφωνήσουν σχετικά με την τρέχουσα κεφαλή της αλυσίδας. Η διαρροή λόγω αδράνειας ενεργοποιήθηκε και τελικά αποκαταστάθηκε η οριστικότητα!
+
+Ο σχεδιασμός ανταμοιβής, ποινής και περικοπής του μηχανισμού συναίνεσης ενθαρρύνει μεμονωμένους επικυρωτές να συμπεριφέρονται σωστά. Ωστόσο, από αυτές τις επιλογές σχεδιασμού αναδύεται ένα σύστημα που παρέχει ισχυρά κίνητρα για την ίση κατανομή των επικυρωτών σε πολλούς πελάτες, και θα πρέπει να αποθαρρύνεται σθεναρά η επικράτηση ενός μεμονωμένου πελάτη.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Αναβάθμιση του Ethereum: Το επίπεδο των κινήτρων](https://eth2book.info/altair/part2/incentives)
+- [Κίνητρα στο υβριδικό πρωτόκολλο Casper του Ethereum](https://arxiv.org/pdf/1903.04205.pdf)
+- [Προδιαγραφή με σχόλια του Vitalik](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#rewards-and-penalties-1)
+- [Συμβουλές αποτροπής περικοπής Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50)
+- [Επεξήγηση EIP-7251: Αύξηση του μέγιστου αποτελεσματικού υπολοίπου για επικυρωτές](https://research.2077.xyz/eip-7251_Increase_MAX_EFFECTIVE_BALANCE)
+- [Ανάλυση περικοπών ποινών βάσει του EIP-7251](https://ethresear.ch/t/slashing-penalty-analysis-eip-7251/16509)
+
+_Πηγές_
+
+- _[https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/](https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/)_
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
new file mode 100644
index 00000000000..8a3099207be
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md
@@ -0,0 +1,39 @@
+---
+title: Αδύναμη υποκειμενικότητα
+description: Μια εξήγηση της αδύναμης υποκειμενικότητας και του ρόλου της στο PoS Ethereum.
+lang: el
+---
+
+Η υποκειμενικότητα στα blockchain αναφέρεται στην εξάρτηση από κοινωνικές πληροφορίες για τη συμφωνία σχετικά με την τρέχουσα κατάσταση. Ενδέχεται να υπάρχουν πολλές έγκυρες διακλαδώσεις που επιλέγονται σύμφωνα με πληροφορίες που συλλέγονται από άλλους ομοτίμους στο δίκτυο. Το αντίστροφο είναι η αντικειμενικότητα που αναφέρεται σε αλυσίδες όπου υπάρχει μόνο μία πιθανή έγκυρη αλυσίδα στην οποία όλοι οι κόμβοι θα συμφωνήσουν αναγκαστικά, εφαρμόζοντας τους κωδικοποιημένους κανόνες τους. Υπάρχει επίσης μια τρίτη κατάσταση, γνωστή ως αδύναμη υποκειμενικότητα. Αυτή αναφέρεται σε μια αλυσίδα που μπορεί να προχωρήσει αντικειμενικά μετά την ανάκτηση κάποιων αρχικών πληροφοριών από το κοινωνικό επίπεδο.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να κατανοήσετε αυτή τη σελίδα, είναι απαραίτητο να κατανοήσετε πρώτα τις βασικές αρχές της [απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos/).
+
+## Ποια προβλήματα λύνει η αδύναμη υποκειμενικότητα; {#problems-ws-solves}
+
+Η υποκειμενικότητα είναι εγγενής στα blockchain της απόδειξης συμμετοχής, επειδή η επιλογή της σωστής αλυσίδας από πολλαπλές διακλαδώσεις γίνεται με την καταμέτρηση των ιστορικών ψήφων. Αυτό εκθέτει το blockchain σε πολλούς φορείς επίθεσης, συμπεριλαμβανομένων των επιθέσεων μεγάλης εμβέλειας, όπου οι κόμβοι που συμμετείχαν πολύ νωρίς στην αλυσίδα διατηρούν μια εναλλακτική διακλάδωση την οποία απελευθερώνουν πολύ αργότερα προς όφελός τους. Εναλλακτικά, εάν το 33% των επικυρωτών αποσύρει το αποθηκευμένο του κεφάλαιο του, αλλά συνεχίσει να πιστοποιεί και να παράγει μπλοκ, μπορεί να δημιουργήσει μια εναλλακτική διακλάδωση που έρχεται σε σύγκρουση με την κανονική αλυσίδα. Οι νέοι κόμβοι ή οι κόμβοι που είναι εκτός σύνδεσης για μεγάλο χρονικό διάστημα ενδέχεται να μη γνωρίζουν ότι αυτοί οι επιτιθέμενοι επικυρωτές έχουν αποσύρει τα χρήματά τους. Επομένως, οι εισβολείς θα μπορούσαν να τους ξεγελάσουν ώστε να ακολουθήσουν μια λανθασμένη αλυσίδα. Το Ethereum μπορεί να λύσει αυτούς τους φορείς επίθεσης μέσω της επιβολής περιορισμών που μειώνουν τις υποκειμενικές πτυχές του μηχανισμού, και συνεπώς τις υποθέσεις εμπιστοσύνης, στο ελάχιστο.
+
+## Σημεία ελέγχου αδύναμης υποκειμενικότητας {#ws-checkpoints}
+
+Η αδύναμη υποκειμενικότητα εφαρμόζεται στο Ethereum της απόδειξης συμμετοχής μέσω της χρήσης «σημείων ελέγχου αδύναμης υποκειμενικότητας». Πρόκειται για ρίζες κατάστασης για τις οποίες όλοι οι κόμβοι στο δίκτυο συμφωνούν ότι ανήκουν στην κανονική αλυσίδα. Εξυπηρετούν τον ίδιο σκοπό της «καθολικής αλήθειας» στα πρώτα μπλοκ, με τη διαφορά ότι δεν κάθονται στη θέση γένεσης στο blockchain. Ο αλγόριθμος επιλογής διακλάδωσης πιστεύει ότι η κατάσταση blockchain που ορίζεται σε αυτό το σημείο ελέγχου είναι σωστή και ότι επαληθεύει ανεξάρτητα και αντικειμενικά την αλυσίδα από εκείνο το σημείο και μετά. Τα σημεία ελέγχου λειτουργούν ως «όρια επαναφοράς», επειδή τα μπλοκ που βρίσκονται πριν από σημεία ελέγχου αδύναμης υποκειμενικότητας δεν μπορούν να αλλάξουν. Αυτό υπονομεύει τις επιθέσεις μεγάλης εμβέλειας απλώς και μόνο με τον προσδιορισμό των διακλαδώσεων μεγάλης εμβέλειας ως μη έγκυρων στο πλαίσιο του σχεδιασμού του μηχανισμού. Η μικρότερη απόσταση που διαχωρίζει τα σημεία ελέγχου αδύναμης υποκειμενικότητας σε σχέση με την περίοδο ανάληψης του επικυρωτή διασφαλίζει ότι ένας επικυρωτής που διακλαδώνει την αλυσίδα περικόπτεται κατά τουλάχιστον κάποιο όριο κατωφλιού πριν μπορέσει να αποσύρει το αποθηκευμένο κεφάλαιό του, καθώς και ότι οι νεοεισερχόμενοι δεν μπορούν να ξεγελαστούν με λανθασμένες διακλαδώσεις από επικυρωτές των οποίων το κεφάλαιο έχει αποσυρθεί.
+
+## Διαφορά μεταξύ σημείων ελέγχου αδύναμης υποκειμενικότητας και οριστικοποιημένων μπλοκ {#difference-between-ws-and-finalized-blocks}
+
+Τα οριστικοποιημένα μπλοκ και τα σημεία ελέγχου αδύναμης υποκειμενικότητας αντιμετωπίζονται διαφορετικά από τους κόμβους Ethereum. Εάν ένας κόμβος αντιληφθεί δύο ανταγωνιστικά οριστικοποιημένα μπλοκ, τότε διχάζεται μεταξύ των δύο — δεν έχει τρόπο να προσδιορίσει αυτόματα ποια είναι η κανονική διακλάδωση. Αυτό είναι σύμπτωμα αποτυχίας συναίνεσης. Αντίθετα, ένας κόμβος απλά απορρίπτει οποιοδήποτε μπλοκ έρχεται σε σύγκρουση με το αδύναμο σημείο ελέγχου υποκειμενικότητάς του. Από την οπτική γωνία του κόμβου, το αδύναμο σημείο ελέγχου υποκειμενικότητας αντιπροσωπεύει μια απόλυτη αλήθεια που δεν μπορεί να υπονομευτεί από νέες πληροφορίες από τους ομοτίμους του.
+
+## Πόσο αδύναμο είναι το αδύναμο; {#how-weak-is-weak}
+
+Η υποκειμενική πτυχή της απόδειξης συμμετοχής του Ethereum είναι η απαίτηση για μια πρόσφατη κατάσταση (σημείο ελέγχου αδύναμης υποκειμενικότητας) από μια αξιόπιστη πηγή για συγχρονισμό. Ο κίνδυνος να προκύψει ένα κακό σημείο ελέγχου αδύναμης υποκειμενικότητας είναι πολύ χαμηλός, επειδή μπορούν να ελεγχθούν βάσει διαφόρων ανεξάρτητων δημόσιων πηγών, όπως οι εξερευνητές μπλοκ ή πολλαπλοί κόμβοι. Ωστόσο, πάντα απαιτείται κάποιος βαθμός εμπιστοσύνης για την εκτέλεση οποιασδήποτε εφαρμογής λογισμικού όπως, για παράδειγμα, η εμπιστοσύνη ότι οι προγραμματιστές λογισμικού έχουν παραγάγει ειλικρινές λογισμικό.
+
+Ένα αδύναμο σημείο ελέγχου υποκειμενικότητας μπορεί ακόμη και να είναι μέρος του λογισμικού πελάτη. Αναμφισβήτητα ένας εισβολέας μπορεί να διαφθείρει το σημείο ελέγχου στο λογισμικό και μπορεί εξίσου εύκολα να διαφθείρει το ίδιο το λογισμικό. Δεν υπάρχει πραγματική παράκαμψη αυτού του προβλήματος σε κρυπτοοικονομικό επίπεδο, αλλά ο αντίκτυπος των αναξιόπιστων προγραμματιστών ελαχιστοποιείται στο Ethereum με την ύπαρξη πολλαπλών ανεξάρτητων ομάδων πελατών, καθεμία από τις οποίες δημιουργεί ισοδύναμο λογισμικό σε διαφορετικές γλώσσες, όλες με προσωπικό συμφέρον για τη διατήρηση μιας ειλικρινούς αλυσίδας. Οι εξερευνητές μπλοκ μπορεί επίσης να παρέχουν σημεία ελέγχου αδύναμης υποκειμενικότητας ή έναν τρόπο διασταύρωσης σημείων ελέγχου που λαμβάνονται από αλλού έναντι μιας πρόσθετης πηγής.
+
+Τέλος, μπορούν να ζητηθούν σημεία ελέγχου από άλλους κόμβους. Ίσως ένας άλλος χρήστης Ethereum που εκτελεί έναν πλήρη κόμβο μπορεί να παρέχει ένα σημείο ελέγχου που οι επικυρωτές μπορούν στη συνέχεια να επαληθεύσουν σε σχέση με δεδομένα από έναν εξερευνητή μπλοκ. Σε γενικές γραμμές, η εμπιστοσύνη στον πάροχο ενός σημείου ελέγχου αδύναμης υποκειμενικότητας μπορεί να θεωρηθεί εξίσου προβληματική με την εμπιστοσύνη στους προγραμματιστές πελατών. Η συνολική εμπιστοσύνη που απαιτείται είναι χαμηλή. Είναι σημαντικό να σημειωθεί ότι αυτές οι εκτιμήσεις αποκτούν μεγάλη σημασία μόνο στην πολύ απίθανη περίπτωση που η πλειοψηφία των επικυρωτών συνωμοτεί για να δημιουργήσει μια εναλλακτική διακλάδωση του blockchain. Υπό οποιεσδήποτε άλλες συνθήκες, υπάρχει μόνο μία αλυσίδα Ethereum για να διαλέξετε.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Αδύναμη υποκειμενικότητα στο Eth2](https://notes.ethereum.org/@adiasg/weak-subjectvity-eth2)
+- [Vitalik: Πώς έμαθα να αγαπώ την αδύναμη υποκειμενικότητα](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/)
+- [Αδύναμη υποκειμενικότητα (Teku docs)](https://docs.teku.consensys.net/en/latest/Concepts/Weak-Subjectivity/)
+- [Οδηγός αδύναμης υποκειμενικότητας για τη Φάση 0](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/weak-subjectivity.md)
+- [Ανάλυση αδύναμης υποκειμενικότητας στο Ethereum 2.0](https://github.com/runtimeverification/beacon-chain-verification/blob/master/weak-subjectivity/weak-subjectivity-analysis.pdf)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pow/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/index.md
new file mode 100644
index 00000000000..b0780ece930
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/index.md
@@ -0,0 +1,109 @@
+---
+title: Απόδειξη εργασίας (PoW)
+description: Μια εξήγηση του πρωτοκόλλου συναίνεσης της απόδειξης εργασίας και του ρόλου του στο Ethereum.
+lang: el
+---
+
+Το δίκτυο Ethereum ξεκίνησε χρησιμοποιώντας έναν μηχανισμό συναίνεσης που περιλάμβανε την **[Απόδειξη εργασίας (PoW)](/developers/docs/consensus-mechanisms/pow)**. Αυτό επέτρεψε στους κόμβους του δικτύου Ethereum να συμφωνήσουν για την κατάσταση όλων των πληροφοριών που καταγράφονται στο Ethereum blockchain και απέτρεψε ορισμένα είδη οικονομικών επιθέσεων. Ωστόσο, το Ethereum απενεργοποίησε την απόδειξη εργασίας το 2022 και άρχισε να χρησιμοποιεί την [απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos).
+
+
+ Η απόδειξη εργασίας έχει πλέον καταργηθεί. Το Ethereum δε χρησιμοποιεί πλέον την απόδειξη εργασίας ως μέρος του μηχανισμού συναίνεσής του. Αντίθετα, χρησιμοποιεί την απόδειξη συμμετοχής. Διαβάστε περισσότερα για την απόδειξη συμμετοχής και την αποθήκευση κεφαλαίου.
+
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για την καλύτερη κατανόηση αυτής της σελίδας, σας συνιστούμε να διαβάσετε πρώτα σχετικά με τις [συναλλαγές](/developers/docs/transactions/), [τα μπλοκ](/developers/docs/blocks/) και το [μηχανισμό συναίνεσης](/developers/docs/consensus-mechanisms/).
+
+## Τι είναι η απόδειξη εργασίας (PoW); {#what-is-pow}
+
+Η συναίνεση Nakamoto, η οποία χρησιμοποιεί την απόδειξη εργασίας, είναι ο μηχανισμός που επέτρεπε στο αποκεντρωμένο δίκτυο Ethereum να έρθει σε συναίνεση (δηλαδή όλοι οι κόμβοι να συμφωνούν) σε ζητήματα όπως το υπόλοιπο λογαριασμών και τη σειρά των συναλλαγών. Αυτό απέτρεψε τους χρήστες να «ξοδέψουν τα διπλά» από τα νομίσματα τους και εξασφαλίστηκε ότι η αλυσίδα του Ethereum είναι απίστευτα δύσκολο να δεχθεί επίθεση ή να χειραγωγηθεί. Αυτές οι ιδιότητες ασφαλείας προέρχονται πλέον από την απόδειξη συμμετοχής αντί να χρησιμοποιούν τον μηχανισμό συναίνεσης που είναι γνωστός ως [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/).
+
+## Απόδειξη εργασίας και Κρυπτόρυξη {#pow-and-mining}
+
+Η απόδειξη εργασίας είναι ο υποκείμενος αλγόριθμος που θέτει τη δυσκολία και τους κανόνες για την εργασία που κάνουν οι κρυπτορύχοι στην κρυπτοαλυσίδα με την απόδειξη εργασίας. Η κρυπτόρυξη είναι η ίδια η «εργασία». Είναι η πράξη όπου προστίθενται έγκυρα μπλοκ στην αλυσίδα. Αυτό είναι σημαντικό γιατί το μήκος της αλυσίδας βοηθά το δίκτυο να ακολουθεί το σωστό fork της κρυπτοαλυσίδας. Όσο περισσότερη «εργασία» γίνετε, τόσο μεγαλύτερη είναι η αλυσίδα και όσο υψηλότερος είναι ο αριθμός των μπλοκ, τόσο πιο βέβαιο είναι ότι το δίκτυο μπορεί να είναι σύμφωνο με την τρέχουσα κατάσταση.
+
+[Περισσότερα για την κρυπτόρυξη](/developers/docs/consensus-mechanisms/pow/mining/)
+
+## Πώς λειτουργεί η απόδειξη εργασίας του Ethereum; {#how-it-works}
+
+Οι συναλλαγές στο Ethereum καταχωρούνται στα μπλοκ. Στην καταργημένη απόδειξη εργασίας του Ethereum, κάθε μπλοκ περιείχε:
+
+- Δυσκολία μπλοκ, για παράδειγμα: 3,324,092,183,262,715
+- MixHash, για παράδειγμα: `0x44bca881b07a6a09f83b130798072441705d9a665c5ac8bdf2f39a3cdf3bee29`
+- Νonce, για παράδειγμα: `0xd3ee432b4fb3d26b`
+
+Αυτά τα δεδομένα μπλοκ σχετίζονταν άμεσα με την απόδειξη εργασίας.
+
+### Το έργο της απόδειξης εργασίας {#the-work}
+
+Το πρωτόκολλο της απόδειξης εργασίας, Ethash, απαιτούσε από τους κρυπτορύχους να περάσουν από έντονη διαδικασία δοκιμών και σφαλμάτων για να βρουν το nonce ενός μπλοκ. Μόνο τα μπλοκ με έγκυρο nonce θα μπορούσαν να προστεθούν στην αλυσίδα.
+
+Όταν αγωνίζεται για τη δημιουργία ενός μπλοκ, ένας κρυπτορύχος τοποθετεί επανειλημμένα ένα σύνολο δεδομένων, το οποίο θα μπορούσε να ληφθεί μόνο με λήψη και εκτέλεση της πλήρους αλυσίδας (όπως κάνει ένας κρυπτορύχος), μέσω μιας μαθηματικής συνάρτησης. Το σύνολο δεδομένων χρησιμοποιήθηκε για τη δημιουργία ενός mixHash κάτω από έναν στόχο που υπαγορεύεται από τη δυσκολία μπλοκ. Ο καλύτερος τρόπος για να γίνει αυτό είναι μέσω της δοκιμής και του σφάλματος.
+
+Η δυσκολία καθόρισε τον στόχο για το hash. Όσο χαμηλότερος είναι το στόχος, τόσο μικρότερο είναι το σύνολο των έγκυρων hashes. Μόλις δημιουργηθεί, ήταν απίστευτα εύκολο να το επαληθεύσουν οι άλλοι κρυπτορύχοι και οι πελάτες. Ακόμη και αν μια συναλλαγή πρόκειται να αλλάξει, ο αριθμός μοναδικότητας θα ήταν εντελώς διαφορετικός, σηματοδοτώντας ότι πρόκειται για απάτη.
+
+Το hashing κάνει την απάτη εύκολο να εντοπιστεί. Αλλά η απόδειξη εργασίας ως διαδικασία ήταν επίσης μεγάλος αποτρεπτικός παράγοντας για την επίθεση στην αλυσίδα.
+
+### Απόδειξη εργασίας και ασφάλεια {#security}
+
+Οι κρυπτορύχοι είχαν κίνητρα να κάνουν αυτή τη δουλειά στην κύρια αλυσίδα του Ethereum. Υπήρχε μικρό κίνητρο για ένα υποσύνολο κρυπτορύχων να ξεκινήσουν τη δική τους αλυσίδα κάτι που υπονομεύει το σύστημα. Τα Blockchains βασίζονται στο να έχουν μία και μόνο δήλωση ως πηγή αλήθειας.
+
+Ο στόχος της απόδειξης εργασίας ήταν η επέκταση της αλυσίδας. Η μακρύτερη αλυσίδα ήταν πιο πιστευτή ως έγκυρη, επειδή είχε γίνει η μεγαλύτερη υπολογιστική εργασία για τη δημιουργία της. Μέσα στο σύστημα PoW του Ethereum, ήταν σχεδόν αδύνατο να δημιουργηθούν νέα μπλοκ που διαγράφουν συναλλαγές, δημιουργούν πλαστές συναλλαγές ή διατηρούν μια δεύτερη αλυσίδα. Αυτό συμβαίνει επειδή ένας κακόβουλος κρυπτορύχος θα έπρεπε να λύνει πάντα το μπλοκ γρηγορότερα από όλους τους άλλους.
+
+Για να δημιουργήσει με συνέπεια κακόβουλα αλλά έγκυρα μπλοκ, ένας κακόβουλος κρυπτορύχος θα χρειαζόταν πάνω από το 51% της ισχύος κρυπτόρυξης του δικτύου για να επικρατήσει έναντι όλων. Αυτός ο όγκος «εργασίας» απαιτεί αρκετή και ακριβή υπολογιστική ισχύ και η ενέργεια που χρησιμοποιήθηκε μπορεί να υπερτερούσε των κερδών που προέκυψαν από μια επίθεση.
+
+### Οικονομικά της απόδειξης εργασίας {#economics}
+
+Η απόδειξη εργασίας ήταν επίσης υπεύθυνη για την έκδοση νέων νομισμάτων στο σύστημα και την παροχή κινήτρων στους κρυπτορύχους να κάνουν τη δουλειά τους.
+
+Από τον καιρό της [αναβάθμισης Constantinople](/history/#constantinople), οι κρυπτορύχοι που δημιούργησαν με επιτυχία ένα μπλοκ, ανταμείφθηκαν με δύο πρόσφατα minted ETH και μέρος των τελών συναλλαγής. Τα μπλοκ Ommer αποζημίωσαν επίσης με 1,75 ETH. Τα μπλοκ Ommer ήταν έγκυρα μπλοκ που δημιουργήθηκαν από έναν κρυπτορύχο σχεδόν την ίδια στιγμή που ένας άλλος κρυπτορύχος δημιούργησε το κανονικό μπλοκ, το οποίο τελικά καθοριζόταν από το ποια αλυσίδα δημιουργήθηκε πρώτη. Τα μπλοκ Ommer συνέβαιναν συνήθως λόγω καθυστέρησης δικτύου.
+
+## Οριστικότητα {#finality}
+
+Μια συναλλαγή «οριστικοποιείται» στο Ethereum όταν είναι μέρος ενός μπλοκ που δεν μπορεί να αλλάξει.
+
+Επειδή οι κρυπτορύχοι λειτουργούσαν με αποκεντρωμένο τρόπο, μπορούσαν να κρυπτορυχθούν ταυτόχρονα δύο έγκυρα μπλοκ. Αυτό δημιουργεί μια προσωρινή αναβάθμιση. Τελικά, μία από αυτές τις αλυσίδες έγινε η αποδεκτή αλυσίδα μετά την κρυπτόρυξη και την προσθήκη των επακόλουθων μπλοκ σε αυτήν, καθιστώντας τη μεγαλύτερη σε μήκος.
+
+Τα πράγματα γίνονται πιο περίπλοκα, διότι οι συναλλαγές που απορρίφθηκαν στην προσωρινή διακλάδωση ενδέχεται να μην έχουν συμπεριληφθεί στην αποδεκτή αλυσίδα. Αυτό σημαίνει ότι θα μπορούσε να αντιστραφεί. Επομένως, η οριστικότητα αναφέρεται στο χρονικό διάστημα που θα πρέπει να περιμένετε πριν χαρακτηρίσετε μια συναλλαγή μη αναστρέψιμη. Στην προηγούμενη απόδειξη εργασίας του Ethereum, όσο περισσότερα μπλοκ εξορύσσονταν πάνω από ένα συγκεκριμένο μπλοκ `N`, τόσο μεγαλύτερη ήταν η εμπιστοσύνη ότι οι συναλλαγές στο `N` ήταν επιτυχείς και δεν θα αντιστρέφονταν. Τώρα, με την απόδειξη συμμετοχής, η οριστικοποίηση είναι μια ρητή, και όχι πιθανολογική, ιδιότητα ενός μπλοκ.
+
+## Κατανάλωση ενέργειας της απόδειξης εργασίας {#energy}
+
+Μια σημαντική αρνητική κριτική για την απόδειξη εργασίας είναι η ποσότητα ενέργειας που απαιτείται για να διατηρηθεί το δίκτυο ασφαλές. Για να διατηρήσει την ασφάλεια και την αποκέντρωση, το Ethereum κατανάλωνε μεγάλες ποσότητες ενέργειας στην απόδειξη εργασίας. Λίγο πριν από τη μετάβαση στην απόδειξη συμμετοχής, οι εξορύκτες του Ethereum κατανάλωναν συλλογικά περίπου 70 TWh/έτος (περίπου όσο και η Τσεχική Δημοκρατία, σύμφωνα με το [digiconomist](https://digiconomist.net/) στις 18 Ιουλίου 2022).
+
+## Πλεονεκτήματα και μειονεκτήματα {#pros-and-cons}
+
+| Πλεονεκτήματα | Μειονεκτήματα |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Η απόδειξη εργασίας είναι ουδέτερη. Δεν χρειάζεστε ETH για να ξεκινήσετε και οι ανταμοιβές των μπλοκ σας επιτρέπουν να πάτε από 0ETH σε ένα θετικό υπόλοιπο. Με [την απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/) χρειάζεστε ETH για να ξεκινήσετε. | Η απόδειξη εργασίας χρησιμοποιεί τόση πολλή ενέργεια που είναι κακό για το περιβάλλον. |
+| Η απόδειξη εργασίας είναι ένας δοκιμασμένος και επιβεβαιωμένος μηχανισμός συναίνεσης που έχει κρατήσει το Bitcoin και το Ethereum ασφαλή και αποκεντρωμένα για πολλά χρόνια. | Αν θέλετε να εξορύξετε κρύπτο, χρειάζεστε τόσο εξειδικευμένο εξοπλισμό που είναι από μόνο του μια μεγάλη επένδυση για να ξεκινήσετε. |
+| Σε σύγκριση με την απόδειξη συμμετοχής είναι σχετικά εύκολο να εφαρμοστεί. | Λόγω της αυξανόμενης απαιτούμενης υπολογιστικής δύναμης, οι δεξαμενές κρυπτόρυξης θα μπορούσαν δυνητικά να κυριαρχήσουν στο παιχνίδι της εξόρυξης, κρύπτο, οδηγώντας σε κεντρικοποίηση και κινδύνους ασφαλείας. |
+
+## Σύγκριση με την απόδειξη συμμετοχής {#compared-to-pos}
+
+Σε υψηλό επίπεδο, η απόδειξη συμμετοχής έχει τον ίδιο τελικό στόχο με την απόδειξη εργασίας: να βοηθήσει το αποκεντρωμένο δίκτυο να επιτύχει συναίνεση με ασφάλεια. Αλλά έχει ορισμένες διαφορές στη διαδικασία και το προσωπικό:
+
+- Η απόδειξη συμμετοχής αφαιρεί την απαίτηση σε υπολογιστική ισχύ για τα αποθηκευμένα ETH.
+- Η απόδειξη συμμετοχής αντικαθιστά τους κρυπτορύχους με τους επαληθευτές. Οι επαληθευτές αποθηκεύουν τα ETH τους για να ενεργοποιήσουν τη δυνατότητα δημιουργίας νέων blockμπλοκ.
+- Οι επαληθευτές δε συναγωνίζονται μεταξύ τους για τη δημιουργία μπλοκ, αντίθετα επιλέγονται τυχαία από έναν αλγόριθμο.
+- Το οριστικό σημείο είναι σαφέστερο: σε ορισμένα σημεία ελέγχου, εάν τα 2/3 των επαληθευτών συμφωνούν για την κατάσταση του μπλοκ τότε αυτό θεωρείται οριστικό. Οι επαληθευτές πρέπει να αποθηκεύουν ολόκληρο το κεφάλαιό τους σε αυτό, οπότε αν προσπαθήσουν να λειτουργήσουν κακόβουλα, στη συνέχεια θα χάσουν ολόκληρο το κεφάλαιό τους.
+
+[Περισσότερα για την απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/)
+
+## Περισσότερα από έναν εικονικό μαθητή; {#visual-learner}
+
+
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Επίθεση πλειοψηφίας](https://en.bitcoin.it/wiki/Majority_attack)
+- [Σχετικά με τον διακανονισμό οριστικότητας](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)
+
+### Βίντεο {#videos}
+
+- [Μια τεχνική εξήγηση των πρωτοκόλλων της απόδειξης εργασίας](https://youtu.be/9V1bipPkCTU)
+
+## Σχετικά Θέματα {#related-topics}
+
+- [Κρυπτόρυξη](/developers/docs/consensus-mechanisms/pow/mining/)
+- [Απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/)
+- [Απόδειξη Αρχής](/developers/docs/consensus-mechanisms/poa/)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/index.md
new file mode 100644
index 00000000000..a57a48698f1
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/index.md
@@ -0,0 +1,81 @@
+---
+title: Κρυπτόρυξη
+description: Μια εξήγηση λειτουργίας της κρυπτόρυξης στο Ethereum.
+lang: el
+---
+
+
+Η απόδειξη εργασίας δεν αποτελεί πλέον μέρος του μηχανισμού συναίνεσης του Ethereum, πράγμα που σημαίνει ότι η κρυπτόρυξη έχει απενεργοποιηθεί. Αντίθετα, το Ethereum εξασφαλίζεται από επαληθευτές που έχουν αποθηκευμένο κεφάλαιο σε ETH. Μπορείτε να ξεκινήσετε την αποθήκευση των ETH σας σήμερα. Μάθετε περισσότερα για τη Συγχώνευση, την Απόδειξη Συμμετοχής και την Αποθήκευση Κεφαλαίου. Αυτή η σελίδα παρέχεται μόνο για ιστορικό ενδιαφέρον.
+
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για την καλύτερη κατανόηση αυτής της σελίδας, σας συνιστούμε να διαβάσετε πρώτα σχετικά με τις [συναλλαγές](/developers/docs/transactions/), [τα μπλοκ](/developers/docs/blocks/) και την [Απόδειξη εργασίας](/developers/docs/consensus-mechanisms/pow/).
+
+## Τι είναι η κρυπτόρυξη Ethereum; {#what-is-ethereum-mining}
+
+Η εξόρυξη είναι η διαδικασία δημιουργίας ενός μπλοκ συναλλαγών που θα προστεθούν στην κρυπτοαλυσίδα του Ethereum, την πλέον ξεπερασμένη αρχιτεκτονική της απόδειξης εργασίας.
+
+Η λέξη κρυπτόρυξη προέρχεται από τον όρο εξόρυξη χρυσού αλλά για κρυπτονομίσματα. Ο χρυσός ή τα πολύτιμα μέταλλα είναι σπάνια, έτσι είναι και τα ψηφιακά περιουσιακά στοιχεία και ο μόνος τρόπος για να αυξηθεί ο συνολικός όγκος σε ένα σύστημα με την απόδειξη εργασίας είναι μέσω της κρυπτόρυξης. Στην απόδειξη εργασίας του Ethereum, ο μόνος τρόπος δημιουργίας ήταν μέσω της κρυπτόρυξης. Ωστόσο, σε αντίθεση με τα χρυσά ή πολύτιμα μέταλλα, η κρυπτόρυξη στο Ethereum ήταν επίσης ο τρόπος για να εξασφαλιστεί το δίκτυο με τη δημιουργία, την επαλήθευση, τη δημοσίευση και την ενημέρωση των μπλοκ στην κρυπτοαλυσίδα.
+
+Κρυπτόρυξη ether = Εξασφάλιση του δικτύου
+
+Η κρυπτόρυξη είναι η «πηγή ζωής» για οποιαδήποτε κρυπτοαλυσίδα που λειτουργεί με την απόδειξη εργασίας. Οι κρυπτορύχοι του Ethereum είναι υπολογιστές που εκτελούν λογισμικό χρησιμοποιώντας το χρόνο και την υπολογιστική ισχύ τους για την επεξεργασία των συναλλαγών και την παραγωγή νέων μπλοκ.
+
+## Γιατί χρειάζονται οι κρυπτορύχοι; {#why-do-miners-exist}
+
+Στα αποκεντρωμένα συστήματα όπως το Ethereum, πρέπει να διασφαλίσουμε ότι όλοι συμφωνούν με τη σειρά των συναλλαγών. Οι κρυπτορύχοι βοηθούν σε αυτό, επιλύοντας δύσκολα υπολογιστικά παζλ προκειμένου να παράξουν ένα μπλοκ, που χρησιμεύει ως ένας τρόπος για να ασφαλιστεί το δίκτυο από επιθέσεις.
+
+[Περισσότερα για την απόδειξη εργασίας](/developers/docs/consensus-mechanisms/pow/)
+
+Οποιοσδήποτε είχε προηγουμένως τη δυνατότητα κρυπτόρυξης στο δίκτυο Ethereum χρησιμοποιώντας τον υπολογιστή του. Ωστόσο, δεν μπορούσαν όλοι να κρυπτορύξουν ether (ETH) επικερδώς. Στις περισσότερες περιπτώσεις, οι κρυπτορύχοι έπρεπε να προμηθευτούν αποκλειστικό υλικό υπολογιστή και να έχουν πρόσβαση σε φθηνές πηγές ενέργειας. Ο μέσος υπολογιστής ήταν απίθανο να κερδίσει αρκετές ανταμοιβές από μπλοκ για να καλύψει το σχετικό κόστος της κρυπτόρυξης.
+
+### Κόστος κρυπτόρυξης {#cost-of-mining}
+
+- Πιθανό κόστος του υλικού που είναι απαραίτητο για την κατασκευή και τη συντήρηση μιας κρυπτόρυξης.
+- Κόστος ηλεκτρικής ενέργειας για μια συστοιχία κρυπτόρυξης.
+- Εάν κάνατε κρυπτόρυξη σε μια δεξαμενή, αυτές έχουν συνήθως μια σταθερή χρέωση επί τοις εκατό, για κάθε μπλοκ που δημιουργείται από τη δεξαμενή.
+- Πιθανό κόστος εξοπλισμού για την υποστήριξη κρυπτόρυξης (αερισμός, παρακολούθηση ενέργειας, ηλεκτρική καλωδίωση κλπ.)
+
+Για να εξερευνήσετε περαιτέρω την κερδοφορία της κρυπτόρυξης, χρησιμοποιήστε μια εφαρμογή υπολογισμού κρυπτόρυξης, όπως αυτή που παρέχει το [Etherscan](https://etherscan.io/ether-mining-calculator).
+
+## Πώς κρυπτορύσσονταν οι συναλλαγές Ethereum {#how-ethereum-transactions-were-mined}
+
+Ακολουθεί μια επισκόπηση του τρόπου κρυπτόρυξης των συναλλαγών στο Ethereum με απόδειξη εργασίας. Μια ανάλογη περιγραφή αυτής της διαδικασίας για την απόδειξη συμμετοχής στο Ethereum, μπορείτε να βρείτε [εδώ](/developers/docs/consensus-mechanisms/pos/#transaction-execution-ethereum-pos).
+
+1. Ένας χρήστης συντάσσει και υπογράφει ένα αίτημα [συναλλαγής](/developers/docs/transactions/) με το ιδιωτικό κλειδί κάποιου [λογαριασμού](/developers/docs/accounts/).
+2. Ο χρήστης ανακοινώνει το αίτημα συναλλαγής σε όλο το δίκτυο του Ethereum από έναν [κόμβο](/developers/docs/nodes-and-clients/).
+3. Με τη γνωστοποίηση του αιτήματος νέας συναλλαγής, κάθε κόμβος του δικτύου Ethereum προσθέτει ένα αίτημα στη μνήμη του, στη λίστα με όλα τα αιτήματα συναλλαγών που δεν έχουν ακόμη ολοκληρωθεί στο μπλοκ της κρυπτοαλυσίδας.
+4. Κάποια στιγμή, ένας κόμβος κρυπτόρυξης συγκεντρώνει αρκετές δεκάδες ή εκατοντάδες αιτήματα σε ένα πιθανό [μπλοκ](/developers/docs/blocks/), σε μια προσπάθεια να μεγιστοποιήσει τις [κρατήσεις συναλλαγής](/developers/docs/gas/) που θα λάβει, ενώ βρίσκετε κάτω από το όριο χρεώσεων του μπλοκ. Ο κόμβος κρυπτόρυξης τότε:
+ 1. Επαληθεύει την εγκυρότητα κάθε αιτήματος συναλλαγής (δηλ. κανείς δεν προσπαθεί να μεταφέρει ether εκτός λογαριασμού που δεν έχουν δημιουργήσει υπογραφή, κ.λπ.) και στη συνέχεια εκτελεί τον κώδικα του αιτήματος, αλλάζοντας την κατάσταση του τοπικού αντιγράφου του EVM. Ο κρυπτορύχος αποδίδει την προμήθεια συναλλαγής για κάθε τέτοια αίτηση στον δικό του λογαριασμό.
+ 2. Ξεκινά τη διαδικασία παραγωγής της Απόδειξης εργασίας «πιστοποιητικό νομιμότητας» για το πιθανό μπλοκ και μόλις επαληθευτούν και εκτελεστούν όλα τα αιτήματα συναλλαγών στο μπλοκ, στο τοπικό αντίγραφο EVM.
+5. Τελικά, ένας κρυπτορύχος θα ολοκληρώσει την παραγωγή του πιστοποιητικού για το μπλοκ, το οποίο θα περιλαμβάνει το αίτημα της συγκεκριμένης συναλλαγής. Ο κρυπτορύχος μεταδίδει στη συνέχεια το ολοκληρωμένο μπλοκ, το οποίο περιλαμβάνει το πιστοποιητικό και ένα άθροισμα ελέγχου της διεκδικούμενης νέας κατάστασης του EVM.
+6. Οι υπόλοιποι κόμβοι ενημερώνονται για το νέο μπλοκ. Επαληθεύουν το πιστοποιητικό, εκτελούν οι ίδιοι όλες τις συναλλαγές στο μπλοκ (συμπεριλαμβανομένης της συναλλαγής που αρχικά μεταδόθηκε από το χρήστη μας) και επαληθεύουν ότι το άθροισμα των ελέγχων της νέας κατάστασης του EVM μετά την εκτέλεση όλων των συναλλαγών, ταιριάζει με το άθροισμα ελέγχου του της κατάστασης του μπλοκ του κρυπτορύχου. Μόνο τότε οι κόμβοι προσθέτουν αυτό το μπλοκ στο τέλος της κρυπτοαλυσίδας και αποδέχονται τη νέα κατάσταση του EVM ως κανονική.
+7. Κάθε κόμβος αφαιρεί όλες τις συναλλαγές στο νέο μπλοκ από το τοπική λίστα των αιτήσεων συναλλαγών που δεν εκπληρώθηκαν.
+8. Οι νέοι κόμβοι που συμμετέχουν στο δίκτυο κατεβάζουν όλα τα μπλοκ σε σειρά, συμπεριλαμβανομένου του μπλοκ που περιέχει τη συναλλαγή ενδιαφέροντός μας. Αρχικοποιούν ένα τοπικό αντίγραφο του EVM (το οποίο ξεκινά ως κενή - κατάσταση EVM) και προχωρούν στη διαδικασία εκτέλεσης όλων των συναλλαγών από την αρχή του δικού τους τοπικού αντιγράφου EVΜ, επαληθεύοντας την κατάσταση κάθε μπλοκ έως το τέλος.
+
+Κάθε συναλλαγή κρυπτορύσσεται μία φορά (όταν περιλαμβάνεται σε ένα νέο μπλοκ και μεταδίδεται για πρώτη φορά), αλλά θα εκτελεστεί και θα επαληθευτεί από κάθε συμμετέχοντα στη διαδικασία προσθήκης στην κανονική κατάσταση EVM. Αυτό επισημαίνει ένα από τα κεντρικά ρητά στην τεχνολογία των κρυπτοαλυσίδων: **Μην εμπιστεύεστε, επαληθεύστε**.
+
+## Αδελφό (συγγενικό) μπλοκ {#ommer-blocks}
+
+Η κρυπτόρυξη μπλοκ με την απόδειξη εργασίας ήταν πιθανολογική, πράγμα που σημαίνει ότι μερικές φορές δύο έγκυρα μπλοκ δημοσιεύονταν ταυτόχρονα λόγω καθυστέρησης του δικτύου. Σε αυτήν την περίπτωση, το πρωτόκολλο έπρεπε να προσδιορίσει τη μεγαλύτερη (και επομένως πιο «έγκυρη») αλυσίδα, διασφαλίζοντας ταυτόχρονα τη δικαιοσύνη έναντι των κρυπτορύχων, επιβραβεύοντας εν μέρει το μη συμπεριλαμβανόμενο έγκυρο μπλοκ που προτείνεται. Αυτό ενθάρρυνε την περαιτέρω αποκέντρωση του δικτύου καθώς οι μικρότεροι κρυπτορύκτες, οι οποίοι ενδέχεται να αντιμετωπίσουν μεγαλύτερο λανθάνοντα χρόνο, θα μπορούσαν να παράγουν αποδόσεις μέσω ανταμοιβών από [«αδελφικά»](/glossary/#ommer) μπλοκ.
+
+Ο όρος "ommer" είναι ο προτιμώμενος, ουδέτερου φύλου όρος για την/τον αδερφό ενός γονικού μπλοκ, μερικές φορές μεταφραζόμενος και ως "θείος". **Από τη μετάβαση του Ethereum στην απόδειξη συμμετοχής, τα αδελφικά μπλοκ δεν κρυπτορύσσονται πλέον** καθώς εκλέγεται μόνο ένας προτείνων σε κάθε θέση. Μπορείτε να δείτε αυτήν την αλλαγή προβάλλοντας το [ιστορικό γράφημα](https://ycharts.com/indicators/ethereum_uncle_rate) των αδελφικών μπλοκ που κρυπτορύχθηκε.
+
+## Μια εικονική επίδειξη {#a-visual-demo}
+
+Παρακολουθήστε τον Austin σε μια ξενάγηση για την κρυπτόρυξη και την κρυπτοαλυσίδα με την απόδειξη εργασίας.
+
+
+
+## Ο αλγόριθμος κρυπτόρυξης {#mining-algorithm}
+
+Το Κεντρικό δίκτυο Ethereum χρησιμοποίησε μόνο έναν αλγόριθμο εξόρυξης - ['Ethash'](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/). Το Ethash ήταν ο διάδοχος του αρχικού αλγόριθμου R&D γνωστού ως [«Dagger-Hashimoto»](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/).
+
+[Μερισσότερα για αλγόριθμους κρυπτόρυξης](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/).
+
+## Σχετικά θέματα {#related-topics}
+
+- [Κρατήσεις (Gas)](/developers/docs/gas/)
+- [EVM](/developers/docs/evm/)
+- [Απόδειξη της εργασίας](/developers/docs/consensus-mechanisms/pow/)
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
new file mode 100644
index 00000000000..e13734e5160
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto/index.md
@@ -0,0 +1,334 @@
+---
+title: Dagger-Hashimoto
+description: Μια λεπτομερής ματιά στον αλγόριθμο Dagger-Hashimoto.
+lang: el
+---
+
+Το Dagger-Hashimoto ήταν η αρχική υλοποίηση έρευνας και προδιαγραφή για τον αλγόριθμο κρυπτόρυξης του Ethereum. Το Dagger-Hashimoto αντικαταστάθηκε από το [Ethash](#ethash). Η κρυπτόρυξη απενεργοποιήθηκε πλήρως με τη [Συγχώνευση](/roadmap/merge/) στις 15 Σεπτεμβρίου 2022. Από τότε, η ασφάλεια του Ethereum επιτυγχάνεται μέσω ενός μηχανισμού [απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos). Αυτή η σελίδα είναι ιστορικού ενδιαφέροντος. Οι πληροφορίες εδώ δεν είναι πλέον σχετικές για τη μετά τη Συγχώνευση εποχή του Ethereum.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε πρώτα για τη [συναίνεση απόδειξης εργασίας](/developers/docs/consensus-mechanisms/pow), την [κρυπτόρυξη](/developers/docs/consensus-mechanisms/pow/mining) και τους [αλγόριθμους κρυπτόρυξης](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms).
+
+## Dagger-Hashimoto {#dagger-hashimoto}
+
+Το Dagger-Hashimoto στοχεύει στην ικανοποίηση δύο στόχων:
+
+1. **Αντίσταση στο ASIC**: το όφελος από τη δημιουργία εξειδικευμένου υλικού για τον αλγόριθμο θα πρέπει να είναι όσο το δυνατόν μικρότερο
+2. **Επαληθευσιμότητα ελαφρού πελάτη**: ένα μπλοκ πρέπει να είναι αποτελεσματικά επαληθεύσιμο από έναν ελαφρύ πελάτη.
+
+Με μια πρόσθετη τροποποίηση, καθορίζουμε επίσης πώς να εκπληρώσουμε έναν τρίτο στόχο εάν το επιθυμούμε, αλλά με κόστος πρόσθετης πολυπλοκότητας:
+
+**Αποθήκευση πλήρους αλυσίδας**: η εξόρυξη θα πρέπει να απαιτεί αποθήκευση της πλήρους κατάστασης της αλυσίδας μπλοκ (λόγω της ακανόνιστης δομής της trie κατάστασης Ethereum, προβλέπουμε ότι θα είναι δυνατή κάποια περικοπή, ιδιαίτερα ορισμένων συχνά χρησιμοποιούμενων συμβολαίων, αλλά θέλουμε να το ελαχιστοποιήσουμε αυτό).
+
+## Δημιουργία DAG {#dag-generation}
+
+Ο κώδικας για τον αλγόριθμο θα οριστεί παρακάτω σε Python. Πρώτον, δίνουμε `encode_int` για τη διευθέτηση μη υπογεγραμμένων int συγκεκριμένης ακρίβειας σε συμβολοσειρές. Η αντιστροφή του δίνεται επίσης:
+
+```python
+NUM_BITS = 512
+
+def encode_int(x):
+ "Encode an integer x as a string of 64 characters using a big-endian scheme"
+ o = ''
+ for _ in range(NUM_BITS / 8):
+ o = chr(x % 256) + o
+ x //= 256
+ return o
+
+def decode_int(s):
+ "Unencode an integer x from a string using a big-endian scheme"
+ x = 0
+ for c in s:
+ x *= 256
+ x += ord(c)
+ return x
+```
+
+Στη συνέχεια υποθέτουμε ότι το `sha3` είναι μια συνάρτηση που παίρνει έναν ακέραιο και επιστρέφει έναν ακέραιο, και το `dbl_sha3` είναι μια συνάρτηση διπλού sha3. Εάν μετατρέπετε αυτόν τον κώδικα αναφοράς σε μια εφαρμογή, χρησιμοποιήστε:
+
+```python
+from pyethereum import utils
+def sha3(x):
+ if isinstance(x, (int, long)):
+ x = encode_int(x)
+ return decode_int(utils.sha3(x))
+
+def dbl_sha3(x):
+ if isinstance(x, (int, long)):
+ x = encode_int(x)
+ return decode_int(utils.sha3(utils.sha3(x)))
+```
+
+### Παράμετροι {#parameters}
+
+Οι παράμετροι που χρησιμοποιούνται για τον αλγόριθμο είναι:
+
+```python
+SAFE_PRIME_512 = 2**512 - 38117 # Largest Safe Prime less than 2**512
+
+params = {
+ "n": 4000055296 * 8 // NUM_BITS, # Size of the dataset (4 Gigabytes); MUST BE MULTIPLE OF 65536
+ "n_inc": 65536, # Increment in value of n per period; MUST BE MULTIPLE OF 65536
+ # with epochtime=20000 gives 882 MB growth per year
+ "cache_size": 2500, # Size of the light client's cache (can be chosen by light
+ # client; not part of the algo spec)
+ "diff": 2**14, # Difficulty (adjusted during block evaluation)
+ "epochtime": 100000, # Length of an epoch in blocks (how often the dataset is updated)
+ "k": 1, # Number of parents of a node
+ "w": w, # Used for modular exponentiation hashing
+ "accesses": 200, # Number of dataset accesses during hashimoto
+ "P": SAFE_PRIME_512 # Safe Prime for hashing and random number generation
+}
+```
+
+Το `P` σε αυτή την περίπτωση είναι ένας πρώτος αριθμός επιλεγμένος έτσι ώστε το `log₂(P)` να είναι ελαφρώς μικρότερο από 512, το οποίο αντιστοιχεί στα 512 bits που έχουμε χρησιμοποιήσει για να αναπαραστήσουμε τους αριθμούς μας. Σημειώστε ότι μόνο το δεύτερο μισό του DAG πρέπει να αποθηκευτεί, οπότε η πραγματική απαίτηση σε μνήμη RAM ξεκινά από 1 GB και αυξάνεται κατά 441 MB ανά έτος.
+
+### Δομή γραφήματος Dagger {#dagger-graph-building}
+
+Η αρχική δομή γραφήματος dagger ορίζεται ως εξής:
+
+```python
+def produce_dag(params, seed, length):
+ P = params["P"]
+ picker = init = pow(sha3(seed), params["w"], P)
+ o = [init]
+ for i in range(1, length):
+ x = picker = (picker * init) % P
+ for _ in range(params["k"]):
+ x ^= o[x % i]
+ o.append(pow(x, params["w"], P))
+ return o
+```
+
+Ουσιαστικά, ξεκινάει έναν γράφο ως μεμονωμένο κόμβο, `sha3(seed)`, και από εκεί αρχίζει να προσθέτει διαδοχικά άλλους κόμβους με βάση τυχαίους προηγούμενους κόμβους. Όταν δημιουργείται ένας νέος κόμβος, υπολογίζεται μια ακέραια δύναμη του seed για να επιλεχθούν τυχαία ορισμένοι δείκτες μικρότεροι από `i` (χρησιμοποιώντας `x % i` παραπάνω) και οι τιμές των κόμβων σε αυτούς τους δείκτες χρησιμοποιούνται σε έναν υπολογισμό για να δημιουργηθεί μια νέα τιμή για το `x`, η οποία στη συνέχεια τροφοδοτείται σε μια μικρή συνάρτηση απόδειξης εργασίας (βασισμένη σε XOR) για να δημιουργήσει τελικά την τιμή του γράφου στο δείκτη `i`. Το σκεπτικό αυτού του συγκεκριμένου σχεδιασμού είναι να επιβάλει τη διαδοχική πρόσβαση στο DAG. Η επόμενη τιμή του DAG που θα προσεγγιστεί δεν μπορεί να προσδιοριστεί μέχρι να είναι γνωστή η τρέχουσα τιμή. Τέλος, ο αλγόριθμος εκθετικής αρίθμησης κατακερματίζει περαιτέρω το αποτέλεσμα.
+
+Αυτός ο αλγόριθμος βασίζεται σε διάφορα αποτελέσματα από τη θεωρία αριθμών. Δείτε το παράρτημα παρακάτω για μια συζήτηση.
+
+## Αξιολόγηση ελαφρού πελάτη {#light-client-evaluation}
+
+Η παραπάνω κατασκευή γράφου στοχεύει να επιτρέψει σε κάθε κόμβο στον γράφο να ανακατασκευαστεί με τον υπολογισμό ενός υποδέντρου μόνο ενός μικρού αριθμού κόμβων και απαιτώντας μόνο μια μικρή ποσότητα βοηθητικής μνήμης. Σημειώστε ότι με k=1, το υποδέντρο είναι μόνο μια αλυσίδα τιμών που ανεβαίνει μέχρι το πρώτο στοιχείο στο DAG.
+
+Η συνάρτηση υπολογισμού ελαφρού πελάτη για το DAG λειτουργεί ως εξής:
+
+```python
+def quick_calc(params, seed, p):
+ w, P = params["w"], params["P"]
+ cache = {}
+
+ def quick_calc_cached(p):
+ if p in cache:
+ pass
+ elif p == 0:
+ cache[p] = pow(sha3(seed), w, P)
+ else:
+ x = pow(sha3(seed), (p + 1) * w, P)
+ for _ in range(params["k"]):
+ x ^= quick_calc_cached(x % p)
+ cache[p] = pow(x, w, P)
+ return cache[p]
+
+ return quick_calc_cached(p)
+```
+
+Ουσιαστικά, είναι απλώς μια εκ νέου συγγραφή του παραπάνω αλγόριθμου που αφαιρεί τον βρόχο υπολογισμού των τιμών για ολόκληρο το DAG και αντικαθιστά την προηγούμενη αναζήτηση κόμβου με μια αναδρομική κλήση ή μια αναζήτηση cache. Σημειώστε ότι για `k=1` το cache δεν είναι απαραίτητο, αν και μια περαιτέρω βελτιστοποίηση προϋπολογίζει στην πραγματικότητα τις πρώτες χιλιάδες τιμές του DAG και τις διατηρεί ως ένα στατικό cache για υπολογισμούς. Δείτε το παράρτημα για μια υλοποίηση κώδικα αυτού.
+
+## Διπλός χώρος μνήμης για DAG {#double-buffer}
+
+Σε έναν πλήρη πελάτη, χρησιμοποιείται ένας [_διπλός χώρος μνήμης_](https://wikipedia.org/wiki/Multiple_buffering) 2 DAG που παράγονται από τον παραπάνω τύπο. Η ιδέα είναι ότι τα DAG παράγονται ανά κάθε αριθμό μπλοκ `epochtime` σύμφωνα με τις προαναφερθείσες παραμέτρους. Αντί ο πελάτης να χρησιμοποιεί το πιο πρόσφατο παραγόμενο DAG, χρησιμοποιεί το προηγούμενο. Το πλεονέκτημα αυτού είναι ότι επιτρέπει την αντικατάσταση των DAG με την πάροδο του χρόνου χωρίς την ανάγκη να ενσωματώσει ένα βήμα όπου οι εξορύκτες πρέπει ξαφνικά να επανυπολογίσουν όλα τα δεδομένα. Διαφορετικά, υπάρχει η πιθανότητα μιας απότομης προσωρινής επιβράδυνσης στην επεξεργασία της αλυσίδας σε τακτά χρονικά διαστήματα και δραματική αύξηση της κεντρικοποίησης. Έτσι, οι κίνδυνοι επίθεσης 51% εντός αυτών των λίγων λεπτών πριν από την επανυπολογισμό όλων των δεδομένων.
+
+Ο αλγόριθμος που χρησιμοποιείται για τη δημιουργία του συνόλου των DAG που χρησιμοποιούνται για τον υπολογισμό της εργασίας για ένα μπλοκ είναι ο εξής:
+
+```python
+def get_prevhash(n):
+ from pyethereum.blocks import GENESIS_PREVHASH
+ from pyethereum import chain_manager
+ if n <= 0:
+ return hash_to_int(GENESIS_PREVHASH)
+ else:
+ prevhash = chain_manager.index.get_block_by_number(n - 1)
+ return decode_int(prevhash)
+
+def get_seedset(params, block):
+ seedset = {}
+ seedset["back_number"] = block.number - (block.number % params["epochtime"])
+ seedset["back_hash"] = get_prevhash(seedset["back_number"])
+ seedset["front_number"] = max(seedset["back_number"] - params["epochtime"], 0)
+ seedset["front_hash"] = get_prevhash(seedset["front_number"])
+ return seedset
+
+def get_dagsize(params, block):
+ return params["n"] + (block.number // params["epochtime"]) * params["n_inc"]
+
+def get_daggerset(params, block):
+ dagsz = get_dagsize(params, block)
+ seedset = get_seedset(params, block)
+ if seedset["front_hash"] <= 0:
+ # No back buffer is possible, just make front buffer
+ return {"front": {"dag": produce_dag(params, seedset["front_hash"], dagsz),
+ "block_number": 0}}
+ else:
+ return {"front": {"dag": produce_dag(params, seedset["front_hash"], dagsz),
+ "block_number": seedset["front_number"]},
+ "back": {"dag": produce_dag(params, seedset["back_hash"], dagsz),
+ "block_number": seedset["back_number"]}}
+```
+
+## Hashimoto {#hashimoto}
+
+Η ιδέα του αρχικού Hashimoto είναι να χρησιμοποιηθεί το blockchain ως σύνολο δεδομένων, το οποίο εκτελεί έναν υπολογισμό που επιλέγει Ν δείκτες από το blockchain, συλλέγει τις συναλλαγές σε αυτούς τους δείκτες, εκτελεί ένα XOR αυτών των δεδομένων και επιστρέφει το hash του αποτελέσματος. Ο αρχικός αλγόριθμος του Thaddeus Dryja, μεταφρασμένος σε Python για συνέπεια, είναι ως εξής:
+
+```python
+def orig_hashimoto(prev_hash, merkle_root, list_of_transactions, nonce):
+ hash_output_A = sha256(prev_hash + merkle_root + nonce)
+ txid_mix = 0
+ for i in range(64):
+ shifted_A = hash_output_A >> i
+ transaction = shifted_A % len(list_of_transactions)
+ txid_mix ^= list_of_transactions[transaction] << i
+ return txid_mix ^ (nonce << 192)
+```
+
+Δυστυχώς, ενώ το Hashimoto θεωρείται δύσκολο για τη RAM, βασίζεται σε αριθμητική 256-bit, η οποία έχει σημαντικό υπολογιστικό κόστος. Ωστόσο, το Dagger-Hashimoto χρησιμοποιεί μόνο τα λιγότερο σημαντικά 64 bits κατά την ευρετηρίαση του συνόλου δεδομένων του για να αντιμετωπίσει αυτό το πρόβλημα.
+
+```python
+def hashimoto(dag, dagsize, params, header, nonce):
+ m = dagsize / 2
+ mix = sha3(encode_int(nonce) + header)
+ for _ in range(params["accesses"]):
+ mix ^= dag[m + (mix % 2**64) % m]
+ return dbl_sha3(mix)
+```
+
+Η χρήση του διπλού SHA3 επιτρέπει μια μορφή μηδενικών δεδομένων, σχεδόν άμεσης προ-επαλήθευσης, επαληθεύοντας μόνο ότι παράχθηκε μια σωστή ενδιάμεση τιμή. Αυτό το εξωτερικό επίπεδο απόδειξης εργασίας είναι πολύ φιλικό προς τα ASIC και αρκετά αδύναμο, αλλά υπάρχει για να καταστήσει τη DDoS ακόμη πιο δύσκολη, καθώς πρέπει να γίνει αυτή η μικρή ποσότητα εργασίας για να παραχθεί ένα μπλοκ που δεν θα απορριφθεί αμέσως. Δείτε παρακάτω την έκδοση πελάτη μικρού μεγέθους:
+
+```python
+def quick_hashimoto(seed, dagsize, params, header, nonce):
+ m = dagsize // 2
+ mix = sha3(nonce + header)
+ for _ in range(params["accesses"]):
+ mix ^= quick_calc(params, seed, m + (mix % 2**64) % m)
+ return dbl_sha3(mix)
+```
+
+## Κρυπτόρυξη και επιβεβαίωση {#mining-and-verifying}
+
+Τώρα, ας τα βάλουμε όλα μαζί στον αλγόριθμο κρυπτόρυξης:
+
+```python
+def mine(daggerset, params, block):
+ from random import randint
+ nonce = randint(0, 2**64)
+ while 1:
+ result = hashimoto(daggerset, get_dagsize(params, block),
+ params, decode_int(block.prevhash), nonce)
+ if result * params["diff"] < 2**256:
+ break
+ nonce += 1
+ if nonce >= 2**64:
+ nonce = 0
+ return nonce
+```
+
+Δείτε τον αλγόριθμο επαλήθευσης:
+
+```python
+def verify(daggerset, params, block, nonce):
+ result = hashimoto(daggerset, get_dagsize(params, block),
+ params, decode_int(block.prevhash), nonce)
+ return result * params["diff"] < 2**256
+```
+
+Φιλική επαλήθευση πελάτη μικρού μεγέθους:
+
+```python
+def light_verify(params, header, nonce):
+ seedset = get_seedset(params, block)
+ result = quick_hashimoto(seedset["front_hash"], get_dagsize(params, block),
+ params, decode_int(block.prevhash), nonce)
+ return result * params["diff"] < 2**256
+```
+
+Σημειώστε επίσης ότι το Dagger-Hashimoto επιβάλλει πρόσθετες απαιτήσεις στην κεφαλίδα μπλοκ:
+
+- Για να λειτουργήσει η επαλήθευση δύο επιπέδων, μια κεφαλίδα μπλοκ πρέπει να έχει τόσο το nonce όσο και την ενδιάμεση τιμή pre-sha3
+- Κάπου, μια κεφαλίδα μπλοκ πρέπει να αποθηκεύσει το sha3 του τρέχοντος seedset
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Appendix {#appendix}
+
+Όπως σημειώθηκε παραπάνω, ο RNG που χρησιμοποιείται για τη δημιουργία DAG βασίζεται σε ορισμένα αποτελέσματα από τη θεωρία αριθμών. Πρώτον, παρέχουμε διαβεβαίωση ότι η γεννήτρια τυχαίων αριθμών Lehmer που αποτελεί τη βάση για τη μεταβλητή `picker` έχει μεγάλη περίοδο. Δεύτερον, δείχνουμε ότι το `pow(x,3,P)` δεν θα αντιστοιχίσει το `x` σε `1` ή `P-1` υπό την προϋπόθεση ότι το `x ∈ [2,P-2]` για να ξεκινήσει. Τέλος, δείχνουμε ότι το `pow(x,3,P)` έχει χαμηλό ποσοστό σύγκρουσης όταν αντιμετωπίζεται ως συνάρτηση κατακερματισμού.
+
+### Γεννήτρια τυχαίων αριθμών Lehmer {#lehmer-random-number}
+
+Ενώ η συνάρτηση `produce_dag` δεν χρειάζεται να παράγει αντικειμενικούς τυχαίους αριθμούς, μια πιθανή απειλή είναι ότι το `seed**i % P` λαμβάνει μόνο μερικές τιμές. Αυτό θα μπορούσε να παρέχει ένα πλεονέκτημα στους κρυπτορύχους που αναγνωρίζουν το μοτίβο έναντι εκείνων που δεν το αναγνωρίζουν.
+
+Για να το αποφύγουμε αυτό, επικαλούμαστε ένα αποτέλεσμα από τη θεωρία αριθμών. Ένας [_ασφαλής πρώτος αριθμός_](https://en.wikipedia.org/wiki/Safe_prime) ορίζεται ως πρώτος αριθμός `P` έτσι ώστε το `(P-1)/2` να είναι επίσης πρώτος. Η _τάξη_ ενός μέλους `x` της [πολλαπλασιαστικής ομάδας](https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n) `ℤ/nℤ` ορίζεται ως το ελάχιστο `m` έτσι ώστε xᵐ mod P ≡ 1
+Δεδομένων των ορισμών αυτών, έχουμε:
+
+> Παρατήρηση 1. Ας είναι το `x` ένα μέλος της πολλαπλασιαστικής ομάδας `ℤ/Pℤ` για έναν ασφαλή πρώτο αριθμό `P`. Εάν `x mod P ≠ 1 mod P` και `x mod P ≠ P-1 mod P`, τότε η τάξη του `x` είναι είτε `P-1` είτε `(P-1)/2`.
+
+_Απόδειξη_. Δεδομένου ότι το `P` είναι ένας ασφαλής πρώτος αριθμός, τότε από το \[θεώρημα του Lagrange\]\[lagrange\] έχουμε ότι η τάξη του `x` είναι είτε `1`, `2`, `(P-1)/2` ή `P-1`.
+
+Η τιμή του `x` δεν μπορεί να είναι `1`, καθώς από το μικρό θεώρημα του Fermat έχουμε:
+
+xP-1 mod P ≡ 1
+
+Επομένως, το `x` πρέπει να είναι μια πολλαπλασιαστική ταυτότητα του `ℤ/nℤ,` η οποία είναι μοναδική. Δεδομένου ότι υποθέσαμε ότι το `x ≠ 1` σύμφωνα με την παραδοχή, αυτό δεν είναι δυνατό.
+
+Η τάξη του `x` δεν μπορεί να είναι `2` εκτός εάν `x = P-1`, καθώς αυτό θα παραβίαζε ότι το `P` είναι πρώτος αριθμός.
+
+Από την παραπάνω πρόταση, μπορούμε να αναγνωρίσουμε ότι η επανάληψη `(picker * init) % P` θα έχει μήκος κύκλου τουλάχιστον `(P-1)/2`. Αυτό συμβαίνει επειδή επιλέξαμε το `P` ως ασφαλή πρώτο αριθμό περίπου ίσο με μια υψηλότερη δύναμη του δύο και το `init` είναι στο διάστημα `[2,2**256+1]`. Δεδομένου του μεγέθους του `P`, δεν πρέπει ποτέ να περιμένουμε έναν κύκλο από την εκθετοποίηση υπολοίπων.
+
+Όταν αντιστοιχίζουμε το πρώτο κελί στο DAG (η μεταβλητή με ετικέτα `init`), υπολογίζουμε `pow(sha3(seed) + 2, 3, P)`. Σε μια πρώτη ματιά, αυτό δεν εγγυάται ότι το αποτέλεσμα δεν είναι ούτε `1` ούτε `P-1`. Ωστόσο, δεδομένου ότι το `P-1` είναι ένας ασφαλής πρώτος αριθμός, έχουμε την ακόλουθη πρόσθετη διαβεβαίωση, η οποία είναι ένα απόρροια της Παρατήρησης 1:
+
+> Παρατήρηση 2. Έστω ότι το `x` είναι μέλος της πολλαπλασιαστικής ομάδας `ℤ/Pℤ` για έναν ασφαλή πρώτο αριθμό `P` και έστω ότι το `w` είναι φυσικός αριθμός. Εάν `x mod P ≠ 1 mod P` και `x mod P ≠ P-1 mod P`, καθώς `w mod P ≠ P-1 mod P` και `w mod P ≠ 0 mod P`, τότε `xʷ mod P ≠ 1 mod P` και `xʷ mod P ≠ P-1 mod P`
+
+### Η εκθετοποίηση υπολοίπων ως συνάρτηση κατακερματισμού {#modular-exponentiation}
+
+Για ορισμένες τιμές των `P` και `w`, η συνάρτηση `pow(x, w, P)` μπορεί να έχει πολλές συγκρούσεις. Για παράδειγμα, το `pow(x,9,19)` παίρνει μόνο τις τιμές `{1,18}`.
+
+Δεδομένου ότι το `P` είναι πρώτος αριθμός, τότε ένα κατάλληλο `w` για μια συνάρτηση κατακερματισμού εκθετοποίησης υπολοίπων μπορεί να επιλεγεί χρησιμοποιώντας το ακόλουθο αποτέλεσμα:
+
+> Παρατήρηση 3. Έστω ότι το `P` είναι πρώτος αριθμός, τα `w` και `P-1` είναι σχετικά πρώτοι αν και μόνο αν για όλα τα `a` και `b` σε `ℤ/Pℤ`:
+>
+>
+> `aʷ mod P ≡ bʷ mod P` αν και μόνο αν `a mod P ≡ b mod P`
+>
+
+Έτσι, δεδομένου ότι το `P` είναι πρώτος και το `w` είναι σχετικά πρώτος με το `P-1`, έχουμε ότι `|{pow(x, w, P) : x ∈ ℤ}| = P`, υποδηλώνοντας ότι η συνάρτηση κατακερματισμού έχει το ελάχιστο δυνατό ποσοστό σύγκρουσης.
+
+Στην ειδική περίπτωση που το `P` είναι ένας ασφαλής πρώτος όπως έχουμε επιλέξει, τότε το `P-1` έχει μόνο τους παράγοντες 1, 2, `(P-1)/2` και `P-1`. Δεδομένου ότι το `P` > 7, γνωρίζουμε ότι το 3 είναι σχετικά πρώτος με το `P-1`, επομένως το `w=3` ικανοποιεί την παραπάνω πρόταση.
+
+## Πιο αποδοτικός αλγόριθμος αξιολόγησης βάσης cache {#cache-based-evaluation}
+
+```python
+def quick_calc(params, seed, p):
+ cache = produce_dag(params, seed, params["cache_size"])
+ return quick_calc_cached(cache, params, p)
+
+def quick_calc_cached(cache, params, p):
+ P = params["P"]
+ if p < len(cache):
+ return cache[p]
+ else:
+ x = pow(cache[0], p + 1, P)
+ for _ in range(params["k"]):
+ x ^= quick_calc_cached(cache, params, x % p)
+ return pow(x, params["w"], P)
+
+def quick_hashimoto(seed, dagsize, params, header, nonce):
+ cache = produce_dag(params, seed, params["cache_size"])
+ return quick_hashimoto_cached(cache, dagsize, params, header, nonce)
+
+def quick_hashimoto_cached(cache, dagsize, params, header, nonce):
+ m = dagsize // 2
+ mask = 2**64 - 1
+ mix = sha3(encode_int(nonce) + header)
+ for _ in range(params["accesses"]):
+ mix ^= quick_calc_cached(cache, params, m + (mix & mask) % m)
+ return dbl_sha3(mix)
+```
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
new file mode 100644
index 00000000000..8ef3ac32e10
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash/index.md
@@ -0,0 +1,1014 @@
+---
+title: Ethash
+description: Μια λεπτομερής ματιά στον αλγόριθμο Ethash.
+lang: el
+---
+
+
+ Το Ethash ήταν ο αλγόριθμος κρυπτόρυξης της απόδειξης εργασίας του Ethereum. Η απόδειξη εργασίας έχει τώρα **απενεργοποιηθεί εντελώς** και το Ethereum είναι πλέον ασφαλισμένο χρησιμοποιώντας απόδειξη συμμετοχής. Διαβάστε περισσότερα για τη Συγχώνευση, την Απόδειξη συμμετοχής και την Αποθήκευση κεφαλαίου. Αυτή η σελίδα είναι για ιστορικό ενδιαφέρον!
+
+
+Το [Ethash](https://github.com/ethereum/wiki/wiki/Ethash) είναι μια τροποποιημένη έκδοση του αλγορίθμου [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto). Η απόδειξη εργασίας Ethash είναι [δύσκολη στη μνήμη](https://wikipedia.org/wiki/Memory-hard_function), κάτι που πιστεύεται ότι καθιστούσε τον αλγόριθμο ανθεκτικό στα ASIC. Τα ASIC Ethash αναπτύχθηκαν τελικά αλλά η κρυπτόρυξη GPU ήταν ακόμα μια βιώσιμη επιλογή μέχρι να απενεργοποιηθεί η απόδειξη εργασίας. Το Ethash εξακολουθεί να χρησιμοποιείται για την κρυπτόρυξη άλλων νομισμάτων σε άλλα δίκτυα απόδειξης εργασίας που δεν είναι Ethereum.
+
+## Πώς λειτουργεί το Ethash; {#how-does-ethash-work}
+
+Η δυσκολία μνήμης επιτυγχάνεται με έναν αλγόριθμο απόδειξης εργασίας που απαιτεί την επιλογή υποσυνόλων ενός σταθερού πόρου ανάλογα με το nonce και την κεφαλίδα μπλοκ. Αυτός ο πόρος (μεγέθους λίγων gigabyte) ονομάζεται DAG. Το DAG αλλάζει κάθε 30000 μπλοκ, ένα παράθυρο περίπου 125 ωρών που ονομάζεται εποχή (περίπου 5,2 ημέρες) και χρειάζεται κάποιο χρόνο για να δημιουργηθεί. Δεδομένου ότι το DAG εξαρτάται μόνο από το ύψος του μπλοκ, μπορεί να προ-δημιουργηθεί, αλλά αν δεν είναι ο πελάτης πρέπει να περιμένει μέχρι το τέλος αυτής της διαδικασίας για να παράγει ένα μπλοκ. Εάν οι πελάτες δεν προ-δημιουργήσουν και δεν αποθηκεύσουν cache τα DAG εκ των προτέρων, το δίκτυο μπορεί να αντιμετωπίσει τεράστια καθυστέρηση μπλοκ σε κάθε μετάβαση εποχής. Σημειώστε ότι το DAG δε χρειάζεται να δημιουργηθεί για την επαλήθευση της απόδειξης εργασίας, επιτρέποντας ουσιαστικά την επαλήθευση τόσο με χαμηλή CPU όσο και με μικρή μνήμη.
+
+Η γενική διαδρομή που ακολουθεί ο αλγόριθμος είναι η εξής:
+
+1. Υπάρχει ένας **σπόρος** που μπορεί να υπολογιστεί για κάθε μπλοκ σαρώνοντας τις επικεφαλίδες των μπλοκ μέχρι εκείνο το σημείο.
+2. Από τον σπόρο, μπορεί κανείς να υπολογίσει μια **ψευδοτυχαία κρυφή μνήμη 16 MB**. Οι ελαφροί πελάτες αποθηκεύουν την κρυφή μνήμη.
+3. Από την κρυφή μνήμη, μπορούμε να δημιουργήσουμε ένα **σύνολο δεδομένων 1 GB**, με την ιδιότητα ότι κάθε στοιχείο στο σύνολο δεδομένων εξαρτάται μόνο από ένα μικρό αριθμό στοιχείων από την κρυφή μνήμη. Οι πλήρεις πελάτες και οι κρυπτορύχοι αποθηκεύουν το σύνολο δεδομένων. Το σύνολο δεδομένων αυξάνεται γραμμικά με το χρόνο.
+4. Η κρυπτόρυξη περιλαμβάνει τη σύλληψη τυχαίων τμημάτων του συνόλου δεδομένων και το hashing τους μαζί. Η επαλήθευση μπορεί να γίνει με χαμηλή μνήμη χρησιμοποιώντας την κρυφή μνήμη για να αναγεννήσει τα συγκεκριμένα κομμάτια του συνόλου δεδομένων που χρειάζεστε, ώστε να χρειάζεται μόνο να αποθηκεύσετε την κρυφή μνήμη.
+
+Το μεγάλο σύνολο δεδομένων ενημερώνεται μία φορά κάθε 30000 μπλοκ, επομένως το μεγαλύτερο μέρος της προσπάθειας ενός κρυπτορύχου θα είναι η ανάγνωση του συνόλου δεδομένων, όχι η πραγματοποίηση αλλαγών σε αυτό.
+
+## Ορισμοί {#definitions}
+
+Χρησιμοποιούμε τους ακόλουθους ορισμούς:
+
+```
+WORD_BYTES = 4 # bytes in word
+DATASET_BYTES_INIT = 2**30 # bytes in dataset at genesis
+DATASET_BYTES_GROWTH = 2**23 # dataset growth per epoch
+CACHE_BYTES_INIT = 2**24 # bytes in cache at genesis
+CACHE_BYTES_GROWTH = 2**17 # cache growth per epoch
+CACHE_MULTIPLIER=1024 # Size of the DAG relative to the cache
+EPOCH_LENGTH = 30000 # blocks per epoch
+MIX_BYTES = 128 # width of mix
+HASH_BYTES = 64 # hash length in bytes
+DATASET_PARENTS = 256 # number of parents of each dataset element
+CACHE_ROUNDS = 3 # number of rounds in cache production
+ACCESSES = 64 # number of accesses in hashimoto loop
+```
+
+### Η χρήση του 'SHA3' {#sha3}
+
+Η ανάπτυξη του Ethereum συνέπεσε με την ανάπτυξη του προτύπου SHA3 και η διαδικασία προτυποποίησης έκανε μια καθυστερημένη αλλαγή στην προσθήκη του τελικού αλγόριθμου κατακερματισμού, έτσι ώστε οι κατακερματισμοί "sha3_256" και "sha3_512" του Ethereum δεν είναι τυπικοί κατακερματισμοί sha3, αλλά μια παραλλαγή που αναφέρεται συχνά ως "Keccak-256" και "Keccak-512" σε άλλα πλαίσια. Δείτε τη συζήτηση, π.χ. [εδώ](https://eips.ethereum.org/EIPS/eip-1803), [εδώ](http://ethereum.stackexchange.com/questions/550/which-cryptographic-hash-function-does-ethereum-use) ή [εδώ](http://bitcoin.stackexchange.com/questions/42055/what-is-the-approach-to-calculate-an-ethereum-address-from-a-256-bit-private-key/42057#42057).
+
+Παρακαλούμε να έχετε αυτό υπόψη καθώς οι κατακερματισμοί "sha3" αναφέρονται στην περιγραφή του αλγόριθμου παρακάτω.
+
+## Παράμετροι {#parameters}
+
+Οι παράμετροι για την κρυφή μνήμη και το σύνολο δεδομένων του Ethash εξαρτώνται από τον αριθμό του μπλοκ. Το μέγεθος της κρυφής μνήμης και το μέγεθος του συνόλου δεδομένων αυξάνονται και τα δύο γραμμικά. Ωστόσο, παίρνουμε πάντα τον υψηλότερο πρώτο αριθμό κάτω από το γραμμικά αυξανόμενο όριο για να μειώσουμε τον κίνδυνο τυχαίων κανονικότητας που οδηγούν σε κυκλική συμπεριφορά.
+
+```python
+def get_cache_size(block_number):
+ sz = CACHE_BYTES_INIT + CACHE_BYTES_GROWTH * (block_number // EPOCH_LENGTH)
+ sz -= HASH_BYTES
+ while not isprime(sz / HASH_BYTES):
+ sz -= 2 * HASH_BYTES
+ return sz
+
+def get_full_size(block_number):
+ sz = DATASET_BYTES_INIT + DATASET_BYTES_GROWTH * (block_number // EPOCH_LENGTH)
+ sz -= MIX_BYTES
+ while not isprime(sz / MIX_BYTES):
+ sz -= 2 * MIX_BYTES
+ return sz
+```
+
+Πίνακες τιμών συνόλων δεδομένων και μεγέθους cache παρέχονται στο παράρτημα.
+
+## Δημιουργία κρυφής μνήμης {#cache-generation}
+
+Τώρα, ορίζουμε τη συνάρτηση για την παραγωγή ενός cache:
+
+```python
+def mkcache(cache_size, seed):
+ n = cache_size // HASH_BYTES
+
+ # Sequentially produce the initial dataset
+ o = [sha3_512(seed)]
+ for i in range(1, n):
+ o.append(sha3_512(o[-1]))
+
+ # Use a low-round version of randmemohash
+ for _ in range(CACHE_ROUNDS):
+ for i in range(n):
+ v = o[i][0] % n
+ o[i] = sha3_512(map(xor, o[(i-1+n) % n], o[v]))
+
+ return o
+```
+
+Η διαδικασία παραγωγής της κρυφής μνήμης περιλαμβάνει πρώτα το διαδοχικό γέμισμα 32 MB μνήμης, στη συνέχεια εκτελεί δύο περάσματα του αλγόριθμου _RandMemoHash_ του Sergio Demian Lerner από τις συναρτήσεις [_Strict Memory Hard Hashing_ (2014)](http://www.hashcash.org/papers/memohash.pdf). Η έξοδος είναι ένα σύνολο 524288 τιμών 64 byte.
+
+## Λειτουργία συγκέντρωσης δεδομένων {#date-aggregation-function}
+
+Χρησιμοποιούμε έναν αλγόριθμο εμπνευσμένο από το [hash FNV](https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function) σε ορισμένες περιπτώσεις ως μη συσχετιστικό υποκατάστατο για το XOR. Σημειώστε ότι πολλαπλασιάζουμε τον πρώτο με ολόκληρη την είσοδο 32 bit, σε αντίθεση με την προδιαγραφή FNV-1 που πολλαπλασιάζει τον πρώτο με ένα byte τη φορά.
+
+```python
+FNV_PRIME = 0x01000193
+
+def fnv(v1, v2):
+ return ((v1 * FNV_PRIME) ^ v2) % 2**32
+```
+
+Παρακαλούμε σημειώστε ότι ακόμα και η κίτρινη εργασία καθορίζει το fnv ως v1*(FNV_PRIME ^ v2), όλες οι τρέχουσες υλοποιήσεις χρησιμοποιούν συνεπώς τον παραπάνω ορισμό.
+
+## Υπολογισμός πλήρους συνόλου δεδομένων {#full-dataset-calculation}
+
+Κάθε στοιχείο 64 byte στο πλήρες σύνολο δεδομένων 1 GB υπολογίζεται ως εξής:
+
+```python
+def calc_dataset_item(cache, i):
+ n = len(cache)
+ r = HASH_BYTES // WORD_BYTES
+ # initialize the mix
+ mix = copy.copy(cache[i % n])
+ mix[0] ^= i
+ mix = sha3_512(mix)
+ # fnv it with a lot of random cache nodes based on i
+ for j in range(DATASET_PARENTS):
+ cache_index = fnv(i ^ j, mix[j % r])
+ mix = map(fnv, mix, cache[cache_index % n])
+ return sha3_512(mix)
+```
+
+Ουσιαστικά, συνδυάζουμε δεδομένα από 256 τυχαία επιλεγμένους κόμβους κρυφής μνήμης και τα κατακερματίζουμε για να υπολογίσουμε τον κόμβο δεδομένων. Ολόκληρο το σύνολο δεδομένων δημιουργείται στη συνέχεια από:
+
+```python
+def calc_dataset(full_size, cache):
+ return [calc_dataset_item(cache, i) for i in range(full_size // HASH_BYTES)]
+```
+
+## Κύριος βρόχος {#main-loop}
+
+Τώρα, καθορίζουμε τον κύριο βρόχο τύπου "hashimoto", όπου συγκεντρώνουμε δεδομένα από το πλήρες σύνολο δεδομένων για να παράγουμε την τελική μας τιμή για μια συγκεκριμένη κεφαλίδα και nonce. Στον παρακάτω κώδικα, η `επικεφαλίδα` αντιπροσωπεύει το SHA3-256 _hash_ της αναπαράστασης RLP μιας _περικομμένης_ κεφαλίδας μπλοκ, δηλαδή, μιας κεφαλίδας που αποκλείει τα πεδία **mixHash** και **nonce**. Το `nonce` είναι τα οκτώ bytes ενός 64-bit unsigned integer σε big-endian order. Έτσι, το `nonce[::-1]` είναι η οκτώ byte little-endian αναπαράσταση αυτής της τιμής:
+
+```python
+def hashimoto(header, nonce, full_size, dataset_lookup):
+ n = full_size / HASH_BYTES
+ w = MIX_BYTES // WORD_BYTES
+ mixhashes = MIX_BYTES / HASH_BYTES
+ # combine header+nonce into a 64 byte seed
+ s = sha3_512(header + nonce[::-1])
+ # start the mix with replicated s
+ mix = []
+ for _ in range(MIX_BYTES / HASH_BYTES):
+ mix.extend(s)
+ # mix in random dataset nodes
+ for i in range(ACCESSES):
+ p = fnv(i ^ s[0], mix[i % w]) % (n // mixhashes) * mixhashes
+ newdata = []
+ for j in range(MIX_BYTES / HASH_BYTES):
+ newdata.extend(dataset_lookup(p + j))
+ mix = map(fnv, mix, newdata)
+ # compress mix
+ cmix = []
+ for i in range(0, len(mix), 4):
+ cmix.append(fnv(fnv(fnv(mix[i], mix[i+1]), mix[i+2]), mix[i+3]))
+ return {
+ "mix digest": serialize_hash(cmix),
+ "result": serialize_hash(sha3_256(s+cmix))
+ }
+
+def hashimoto_light(full_size, cache, header, nonce):
+ return hashimoto(header, nonce, full_size, lambda x: calc_dataset_item(cache, x))
+
+def hashimoto_full(full_size, dataset, header, nonce):
+ return hashimoto(header, nonce, full_size, lambda x: dataset[x])
+```
+
+Ουσιαστικά, διατηρούμε ένα "μείγμα" πλάτους 128 byte και επαναλαμβανόμενα διαδοχικά παίρνουμε 128 byte από το πλήρες σύνολο δεδομένων και χρησιμοποιούμε τη συνάρτηση `fnv` για να το συνδυάσουμε με το μίγμα. 128 byte διαδοχικής πρόσβασης χρησιμοποιούνται έτσι ώστε κάθε γύρος του αλγόριθμου να παίρνει πάντα μια πλήρη σελίδα από τη RAM, ελαχιστοποιώντας τα λάθη του buffer μετάφρασης που θεωρητικά θα μπορούσαν να αποφύγουν τα ASIC.
+
+Εάν η έξοδος αυτού του αλγόριθμου είναι κάτω από τον επιθυμητό στόχο, τότε το nonce είναι έγκυρο. Σημειώστε ότι η πρόσθετη εφαρμογή του `sha3_256` στο τέλος διασφαλίζει ότι υπάρχει ένα ενδιάμεσο nonce που μπορεί να δοθεί για να αποδειχθεί ότι έγινε τουλάχιστον μια μικρή ποσότητα εργασίας. Αυτή η γρήγορη εξωτερική επαλήθευση PoW μπορεί να χρησιμοποιηθεί για σκοπούς αντι-DDoS. Επίσης, χρησιμεύει για να παρέχει στατιστική διασφάλιση ότι το αποτέλεσμα είναι ένας αμερόληπτος αριθμός 256 bit.
+
+## Εξόρυξη {#mining}
+
+Ο αλγόριθμος κρυπτόρυξης ορίζεται ως εξής:
+
+```python
+def mine(full_size, dataset, header, difficulty):
+ # zero-pad target to compare with hash on the same digit
+ target = zpad(encode_int(2**256 // difficulty), 64)[::-1]
+ from random import randint
+ nonce = randint(0, 2**64)
+ while hashimoto_full(full_size, dataset, header, nonce) > target:
+ nonce = (nonce + 1) % 2**64
+ return nonce
+```
+
+## Ορισμός του hash σπόρου {#seed-hash}
+
+Για να υπολογίσουμε το hash σπόρου που θα χρησιμοποιηθεί για την κρυπτόρυξη πάνω από ένα δεδομένο μπλοκ, χρησιμοποιούμε τον ακόλουθο αλγόριθμο:
+
+```python
+ def get_seedhash(block):
+ s = '\x00' * 32
+ for i in range(block.number // EPOCH_LENGTH):
+ s = serialize_hash(sha3_256(s))
+ return s
+```
+
+Σημειώστε ότι, για ομαλή κρυπτόρυξη και επαλήθευση, συνιστάται ο προϋπολογισμός μελλοντικών hash σπόρων και συνόλων δεδομένων σε μια ξεχωριστή συζήτηση.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Appendix {#appendix}
+
+Ο παρακάτω κώδικας θα πρέπει να επισυναφθεί εάν ενδιαφέρεστε να εκτελέσετε την παραπάνω προδιαγραφή python ως κώδικα.
+
+```python
+import sha3, copy
+
+# Assumes little endian bit ordering (same as Intel architectures)
+def decode_int(s):
+ return int(s[::-1].encode('hex'), 16) if s else 0
+
+def encode_int(s):
+ a = "%x" % s
+ return '' if s == 0 else ('0' * (len(a) % 2) + a).decode('hex')[::-1]
+
+def zpad(s, length):
+ return s + '\x00' * max(0, length - len(s))
+
+def serialize_hash(h):
+ return ''.join([zpad(encode_int(x), 4) for x in h])
+
+def deserialize_hash(h):
+ return [decode_int(h[i:i+WORD_BYTES]) for i in range(0, len(h), WORD_BYTES)]
+
+def hash_words(h, sz, x):
+ if isinstance(x, list):
+ x = serialize_hash(x)
+ y = h(x)
+ return deserialize_hash(y)
+
+def serialize_cache(ds):
+ return ''.join([serialize_hash(h) for h in ds])
+
+serialize_dataset = serialize_cache
+
+# sha3 hash function, outputs 64 bytes
+def sha3_512(x):
+ return hash_words(lambda v: sha3.sha3_512(v).digest(), 64, x)
+
+def sha3_256(x):
+ return hash_words(lambda v: sha3.sha3_256(v).digest(), 32, x)
+
+def xor(a, b):
+ return a ^ b
+
+def isprime(x):
+ for i in range(2, int(x**0.5)):
+ if x % i == 0:
+ return False
+ return True
+```
+
+### Μέγεθος δεδομένων {#data-sizes}
+
+Οι παρακάτω πίνακες αναζήτησης παρέχουν περίπου 2048 εποχές μεγεθών δεδομένων και μεγεθών κρυφής μνήμης.
+
+```python
+def get_datasize(block_number):
+ return data_sizes[block_number // EPOCH_LENGTH]
+
+def get_cachesize(block_number):
+ return cache_sizes[block_number // EPOCH_LENGTH]
+
+data_sizes = [
+1073739904, 1082130304, 1090514816, 1098906752, 1107293056,
+1115684224, 1124070016, 1132461952, 1140849536, 1149232768,
+1157627776, 1166013824, 1174404736, 1182786944, 1191180416,
+1199568512, 1207958912, 1216345216, 1224732032, 1233124736,
+1241513344, 1249902464, 1258290304, 1266673792, 1275067264,
+1283453312, 1291844992, 1300234112, 1308619904, 1317010048,
+1325397376, 1333787776, 1342176128, 1350561664, 1358954368,
+1367339392, 1375731584, 1384118144, 1392507008, 1400897408,
+1409284736, 1417673344, 1426062464, 1434451072, 1442839168,
+1451229056, 1459615616, 1468006016, 1476394112, 1484782976,
+1493171584, 1501559168, 1509948032, 1518337664, 1526726528,
+1535114624, 1543503488, 1551892096, 1560278656, 1568669056,
+1577056384, 1585446272, 1593831296, 1602219392, 1610610304,
+1619000192, 1627386752, 1635773824, 1644164224, 1652555648,
+1660943488, 1669332608, 1677721216, 1686109312, 1694497664,
+1702886272, 1711274624, 1719661184, 1728047744, 1736434816,
+1744829056, 1753218944, 1761606272, 1769995904, 1778382464,
+1786772864, 1795157888, 1803550592, 1811937664, 1820327552,
+1828711552, 1837102976, 1845488768, 1853879936, 1862269312,
+1870656896, 1879048064, 1887431552, 1895825024, 1904212096,
+1912601216, 1920988544, 1929379456, 1937765504, 1946156672,
+1954543232, 1962932096, 1971321728, 1979707264, 1988093056,
+1996487552, 2004874624, 2013262208, 2021653888, 2030039936,
+2038430848, 2046819968, 2055208576, 2063596672, 2071981952,
+2080373632, 2088762752, 2097149056, 2105539712, 2113928576,
+2122315136, 2130700672, 2139092608, 2147483264, 2155872128,
+2164257664, 2172642176, 2181035392, 2189426048, 2197814912,
+2206203008, 2214587264, 2222979712, 2231367808, 2239758208,
+2248145024, 2256527744, 2264922752, 2273312128, 2281701248,
+2290086272, 2298476672, 2306867072, 2315251072, 2323639168,
+2332032128, 2340420224, 2348808064, 2357196416, 2365580416,
+2373966976, 2382363008, 2390748544, 2399139968, 2407530368,
+2415918976, 2424307328, 2432695424, 2441084288, 2449472384,
+2457861248, 2466247808, 2474637184, 2483026816, 2491414144,
+2499803776, 2508191872, 2516582272, 2524970368, 2533359232,
+2541743488, 2550134144, 2558525056, 2566913408, 2575301504,
+2583686528, 2592073856, 2600467328, 2608856192, 2617240448,
+2625631616, 2634022016, 2642407552, 2650796416, 2659188352,
+2667574912, 2675965312, 2684352896, 2692738688, 2701130624,
+2709518464, 2717907328, 2726293376, 2734685056, 2743073152,
+2751462016, 2759851648, 2768232832, 2776625536, 2785017728,
+2793401984, 2801794432, 2810182016, 2818571648, 2826959488,
+2835349376, 2843734144, 2852121472, 2860514432, 2868900992,
+2877286784, 2885676928, 2894069632, 2902451584, 2910843008,
+2919234688, 2927622784, 2936011648, 2944400768, 2952789376,
+2961177728, 2969565568, 2977951616, 2986338944, 2994731392,
+3003120256, 3011508352, 3019895936, 3028287104, 3036675968,
+3045063808, 3053452928, 3061837696, 3070228352, 3078615424,
+3087003776, 3095394944, 3103782272, 3112173184, 3120562048,
+3128944768, 3137339264, 3145725056, 3154109312, 3162505088,
+3170893184, 3179280256, 3187669376, 3196056704, 3204445568,
+3212836736, 3221224064, 3229612928, 3238002304, 3246391168,
+3254778496, 3263165824, 3271556224, 3279944576, 3288332416,
+3296719232, 3305110912, 3313500032, 3321887104, 3330273152,
+3338658944, 3347053184, 3355440512, 3363827072, 3372220288,
+3380608384, 3388997504, 3397384576, 3405774208, 3414163072,
+3422551936, 3430937984, 3439328384, 3447714176, 3456104576,
+3464493952, 3472883584, 3481268864, 3489655168, 3498048896,
+3506434432, 3514826368, 3523213952, 3531603584, 3539987072,
+3548380288, 3556763264, 3565157248, 3573545344, 3581934464,
+3590324096, 3598712704, 3607098752, 3615488384, 3623877248,
+3632265856, 3640646528, 3649043584, 3657430144, 3665821568,
+3674207872, 3682597504, 3690984832, 3699367808, 3707764352,
+3716152448, 3724541056, 3732925568, 3741318016, 3749706368,
+3758091136, 3766481536, 3774872704, 3783260032, 3791650432,
+3800036224, 3808427648, 3816815488, 3825204608, 3833592704,
+3841981568, 3850370432, 3858755968, 3867147904, 3875536256,
+3883920512, 3892313728, 3900702592, 3909087872, 3917478784,
+3925868416, 3934256512, 3942645376, 3951032192, 3959422336,
+3967809152, 3976200064, 3984588416, 3992974976, 4001363584,
+4009751168, 4018141312, 4026530432, 4034911616, 4043308928,
+4051695488, 4060084352, 4068472448, 4076862848, 4085249408,
+4093640576, 4102028416, 4110413696, 4118805632, 4127194496,
+4135583104, 4143971968, 4152360832, 4160746112, 4169135744,
+4177525888, 4185912704, 4194303616, 4202691968, 4211076736,
+4219463552, 4227855488, 4236246656, 4244633728, 4253022848,
+4261412224, 4269799808, 4278184832, 4286578048, 4294962304,
+4303349632, 4311743104, 4320130432, 4328521088, 4336909184,
+4345295488, 4353687424, 4362073472, 4370458496, 4378852736,
+4387238528, 4395630208, 4404019072, 4412407424, 4420790656,
+4429182848, 4437571456, 4445962112, 4454344064, 4462738048,
+4471119232, 4479516544, 4487904128, 4496289664, 4504682368,
+4513068416, 4521459584, 4529846144, 4538232704, 4546619776,
+4555010176, 4563402112, 4571790208, 4580174464, 4588567936,
+4596957056, 4605344896, 4613734016, 4622119808, 4630511488,
+4638898816, 4647287936, 4655675264, 4664065664, 4672451968,
+4680842624, 4689231488, 4697620352, 4706007424, 4714397056,
+4722786176, 4731173248, 4739562368, 4747951744, 4756340608,
+4764727936, 4773114496, 4781504384, 4789894784, 4798283648,
+4806667648, 4815059584, 4823449472, 4831835776, 4840226176,
+4848612224, 4857003392, 4865391488, 4873780096, 4882169728,
+4890557312, 4898946944, 4907333248, 4915722368, 4924110976,
+4932499328, 4940889728, 4949276032, 4957666432, 4966054784,
+4974438016, 4982831488, 4991221376, 4999607168, 5007998848,
+5016386432, 5024763776, 5033164672, 5041544576, 5049941888,
+5058329728, 5066717056, 5075107456, 5083494272, 5091883904,
+5100273536, 5108662144, 5117048192, 5125436032, 5133827456,
+5142215296, 5150605184, 5158993024, 5167382144, 5175769472,
+5184157568, 5192543872, 5200936064, 5209324928, 5217711232,
+5226102656, 5234490496, 5242877312, 5251263872, 5259654016,
+5268040832, 5276434304, 5284819328, 5293209728, 5301598592,
+5309986688, 5318374784, 5326764416, 5335151488, 5343542144,
+5351929472, 5360319872, 5368706944, 5377096576, 5385484928,
+5393871232, 5402263424, 5410650496, 5419040384, 5427426944,
+5435816576, 5444205952, 5452594816, 5460981376, 5469367936,
+5477760896, 5486148736, 5494536832, 5502925952, 5511315328,
+5519703424, 5528089984, 5536481152, 5544869504, 5553256064,
+5561645696, 5570032768, 5578423936, 5586811264, 5595193216,
+5603585408, 5611972736, 5620366208, 5628750464, 5637143936,
+5645528192, 5653921408, 5662310272, 5670694784, 5679082624,
+5687474048, 5695864448, 5704251008, 5712641408, 5721030272,
+5729416832, 5737806208, 5746194304, 5754583936, 5762969984,
+5771358592, 5779748224, 5788137856, 5796527488, 5804911232,
+5813300608, 5821692544, 5830082176, 5838468992, 5846855552,
+5855247488, 5863636096, 5872024448, 5880411008, 5888799872,
+5897186432, 5905576832, 5913966976, 5922352768, 5930744704,
+5939132288, 5947522432, 5955911296, 5964299392, 5972688256,
+5981074304, 5989465472, 5997851008, 6006241408, 6014627968,
+6023015552, 6031408256, 6039796096, 6048185216, 6056574848,
+6064963456, 6073351808, 6081736064, 6090128768, 6098517632,
+6106906496, 6115289216, 6123680896, 6132070016, 6140459648,
+6148849024, 6157237376, 6165624704, 6174009728, 6182403712,
+6190792064, 6199176064, 6207569792, 6215952256, 6224345216,
+6232732544, 6241124224, 6249510272, 6257899136, 6266287744,
+6274676864, 6283065728, 6291454336, 6299843456, 6308232064,
+6316620928, 6325006208, 6333395584, 6341784704, 6350174848,
+6358562176, 6366951296, 6375337856, 6383729536, 6392119168,
+6400504192, 6408895616, 6417283456, 6425673344, 6434059136,
+6442444672, 6450837376, 6459223424, 6467613056, 6476004224,
+6484393088, 6492781952, 6501170048, 6509555072, 6517947008,
+6526336384, 6534725504, 6543112832, 6551500672, 6559888768,
+6568278656, 6576662912, 6585055616, 6593443456, 6601834112,
+6610219648, 6618610304, 6626999168, 6635385472, 6643777408,
+6652164224, 6660552832, 6668941952, 6677330048, 6685719424,
+6694107776, 6702493568, 6710882176, 6719274112, 6727662976,
+6736052096, 6744437632, 6752825984, 6761213824, 6769604224,
+6777993856, 6786383488, 6794770816, 6803158144, 6811549312,
+6819937664, 6828326528, 6836706176, 6845101696, 6853491328,
+6861880448, 6870269312, 6878655104, 6887046272, 6895433344,
+6903822208, 6912212864, 6920596864, 6928988288, 6937377152,
+6945764992, 6954149248, 6962544256, 6970928768, 6979317376,
+6987709312, 6996093824, 7004487296, 7012875392, 7021258624,
+7029652352, 7038038912, 7046427776, 7054818944, 7063207808,
+7071595136, 7079980928, 7088372608, 7096759424, 7105149824,
+7113536896, 7121928064, 7130315392, 7138699648, 7147092352,
+7155479168, 7163865728, 7172249984, 7180648064, 7189036672,
+7197424768, 7205810816, 7214196608, 7222589824, 7230975104,
+7239367552, 7247755904, 7256145536, 7264533376, 7272921472,
+7281308032, 7289694848, 7298088832, 7306471808, 7314864512,
+7323253888, 7331643008, 7340029568, 7348419712, 7356808832,
+7365196672, 7373585792, 7381973888, 7390362752, 7398750592,
+7407138944, 7415528576, 7423915648, 7432302208, 7440690304,
+7449080192, 7457472128, 7465860992, 7474249088, 7482635648,
+7491023744, 7499412608, 7507803008, 7516192384, 7524579968,
+7532967296, 7541358464, 7549745792, 7558134656, 7566524032,
+7574912896, 7583300992, 7591690112, 7600075136, 7608466816,
+7616854912, 7625244544, 7633629824, 7642020992, 7650410368,
+7658794112, 7667187328, 7675574912, 7683961984, 7692349568,
+7700739712, 7709130368, 7717519232, 7725905536, 7734295424,
+7742683264, 7751069056, 7759457408, 7767849088, 7776238208,
+7784626816, 7793014912, 7801405312, 7809792128, 7818179968,
+7826571136, 7834957184, 7843347328, 7851732352, 7860124544,
+7868512384, 7876902016, 7885287808, 7893679744, 7902067072,
+7910455936, 7918844288, 7927230848, 7935622784, 7944009344,
+7952400256, 7960786048, 7969176704, 7977565312, 7985953408,
+7994339968, 8002730368, 8011119488, 8019508096, 8027896192,
+8036285056, 8044674688, 8053062272, 8061448832, 8069838464,
+8078227328, 8086616704, 8095006592, 8103393664, 8111783552,
+8120171392, 8128560256, 8136949376, 8145336704, 8153726848,
+8162114944, 8170503296, 8178891904, 8187280768, 8195669632,
+8204058496, 8212444544, 8220834176, 8229222272, 8237612672,
+8246000768, 8254389376, 8262775168, 8271167104, 8279553664,
+8287944064, 8296333184, 8304715136, 8313108352, 8321497984,
+8329885568, 8338274432, 8346663296, 8355052928, 8363441536,
+8371828352, 8380217984, 8388606592, 8396996224, 8405384576,
+8413772672, 8422161536, 8430549376, 8438939008, 8447326592,
+8455715456, 8464104832, 8472492928, 8480882048, 8489270656,
+8497659776, 8506045312, 8514434944, 8522823808, 8531208832,
+8539602304, 8547990656, 8556378752, 8564768384, 8573154176,
+8581542784, 8589933952, 8598322816, 8606705024, 8615099264,
+8623487872, 8631876992, 8640264064, 8648653952, 8657040256,
+8665430656, 8673820544, 8682209152, 8690592128, 8698977152,
+8707374464, 8715763328, 8724151424, 8732540032, 8740928384,
+8749315712, 8757704576, 8766089344, 8774480768, 8782871936,
+8791260032, 8799645824, 8808034432, 8816426368, 8824812928,
+8833199488, 8841591424, 8849976448, 8858366336, 8866757248,
+8875147136, 8883532928, 8891923328, 8900306816, 8908700288,
+8917088384, 8925478784, 8933867392, 8942250368, 8950644608,
+8959032704, 8967420544, 8975809664, 8984197504, 8992584064,
+9000976256, 9009362048, 9017752448, 9026141312, 9034530688,
+9042917504, 9051307904, 9059694208, 9068084864, 9076471424,
+9084861824, 9093250688, 9101638528, 9110027648, 9118416512,
+9126803584, 9135188096, 9143581312, 9151969664, 9160356224,
+9168747136, 9177134464, 9185525632, 9193910144, 9202302848,
+9210690688, 9219079552, 9227465344, 9235854464, 9244244864,
+9252633472, 9261021824, 9269411456, 9277799296, 9286188928,
+9294574208, 9302965888, 9311351936, 9319740032, 9328131968,
+9336516736, 9344907392, 9353296768, 9361685888, 9370074752,
+9378463616, 9386849408, 9395239808, 9403629184, 9412016512,
+9420405376, 9428795008, 9437181568, 9445570688, 9453960832,
+9462346624, 9470738048, 9479121536, 9487515008, 9495903616,
+9504289664, 9512678528, 9521067904, 9529456256, 9537843584,
+9546233728, 9554621312, 9563011456, 9571398784, 9579788672,
+9588178304, 9596567168, 9604954496, 9613343104, 9621732992,
+9630121856, 9638508416, 9646898816, 9655283584, 9663675776,
+9672061312, 9680449664, 9688840064, 9697230464, 9705617536,
+9714003584, 9722393984, 9730772608, 9739172224, 9747561088,
+9755945344, 9764338816, 9772726144, 9781116544, 9789503872,
+9797892992, 9806282624, 9814670464, 9823056512, 9831439232,
+9839833984, 9848224384, 9856613504, 9865000576, 9873391232,
+9881772416, 9890162816, 9898556288, 9906940544, 9915333248,
+9923721088, 9932108672, 9940496512, 9948888448, 9957276544,
+9965666176, 9974048384, 9982441088, 9990830464, 9999219584,
+10007602816, 10015996544, 10024385152, 10032774016, 10041163648,
+10049548928, 10057940096, 10066329472, 10074717824, 10083105152,
+10091495296, 10099878784, 10108272256, 10116660608, 10125049216,
+10133437312, 10141825664, 10150213504, 10158601088, 10166991232,
+10175378816, 10183766144, 10192157312, 10200545408, 10208935552,
+10217322112, 10225712768, 10234099328, 10242489472, 10250876032,
+10259264896, 10267656064, 10276042624, 10284429184, 10292820352,
+10301209472, 10309598848, 10317987712, 10326375296, 10334763392,
+10343153536, 10351541632, 10359930752, 10368318592, 10376707456,
+10385096576, 10393484672, 10401867136, 10410262144, 10418647424,
+10427039104, 10435425664, 10443810176, 10452203648, 10460589952,
+10468982144, 10477369472, 10485759104, 10494147712, 10502533504,
+10510923392, 10519313536, 10527702656, 10536091264, 10544478592,
+10552867712, 10561255808, 10569642368, 10578032768, 10586423168,
+10594805632, 10603200128, 10611588992, 10619976064, 10628361344,
+10636754048, 10645143424, 10653531776, 10661920384, 10670307968,
+10678696832, 10687086464, 10695475072, 10703863168, 10712246144,
+10720639616, 10729026688, 10737414784, 10745806208, 10754190976,
+10762581376, 10770971264, 10779356288, 10787747456, 10796135552,
+10804525184, 10812915584, 10821301888, 10829692288, 10838078336,
+10846469248, 10854858368, 10863247232, 10871631488, 10880023424,
+10888412032, 10896799616, 10905188992, 10913574016, 10921964672,
+10930352768, 10938742912, 10947132544, 10955518592, 10963909504,
+10972298368, 10980687488, 10989074816, 10997462912, 11005851776,
+11014241152, 11022627712, 11031017344, 11039403904, 11047793024,
+11056184704, 11064570752, 11072960896, 11081343872, 11089737856,
+11098128256, 11106514816, 11114904448, 11123293568, 11131680128,
+11140065152, 11148458368, 11156845696, 11165236864, 11173624192,
+11182013824, 11190402688, 11198790784, 11207179136, 11215568768,
+11223957376, 11232345728, 11240734592, 11249122688, 11257511296,
+11265899648, 11274285952, 11282675584, 11291065472, 11299452544,
+11307842432, 11316231296, 11324616832, 11333009024, 11341395584,
+11349782656, 11358172288, 11366560384, 11374950016, 11383339648,
+11391721856, 11400117376, 11408504192, 11416893568, 11425283456,
+11433671552, 11442061184, 11450444672, 11458837888, 11467226752,
+11475611776, 11484003968, 11492392064, 11500780672, 11509169024,
+11517550976, 11525944448, 11534335616, 11542724224, 11551111808,
+11559500672, 11567890304, 11576277376, 11584667008, 11593056128,
+11601443456, 11609830016, 11618221952, 11626607488, 11634995072,
+11643387776, 11651775104, 11660161664, 11668552576, 11676940928,
+11685330304, 11693718656, 11702106496, 11710496128, 11718882688,
+11727273088, 11735660416, 11744050048, 11752437376, 11760824704,
+11769216128, 11777604736, 11785991296, 11794381952, 11802770048,
+11811157888, 11819548544, 11827932544, 11836324736, 11844713344,
+11853100928, 11861486464, 11869879936, 11878268032, 11886656896,
+11895044992, 11903433088, 11911822976, 11920210816, 11928600448,
+11936987264, 11945375872, 11953761152, 11962151296, 11970543488,
+11978928512, 11987320448, 11995708288, 12004095104, 12012486272,
+12020875136, 12029255552, 12037652096, 12046039168, 12054429568,
+12062813824, 12071206528, 12079594624, 12087983744, 12096371072,
+12104759936, 12113147264, 12121534592, 12129924992, 12138314624,
+12146703232, 12155091584, 12163481216, 12171864704, 12180255872,
+12188643968, 12197034112, 12205424512, 12213811328, 12222199424,
+12230590336, 12238977664, 12247365248, 12255755392, 12264143488,
+12272531584, 12280920448, 12289309568, 12297694592, 12306086528,
+12314475392, 12322865024, 12331253632, 12339640448, 12348029312,
+12356418944, 12364805248, 12373196672, 12381580928, 12389969024,
+12398357632, 12406750592, 12415138432, 12423527552, 12431916416,
+12440304512, 12448692352, 12457081216, 12465467776, 12473859968,
+12482245504, 12490636672, 12499025536, 12507411584, 12515801728,
+12524190592, 12532577152, 12540966272, 12549354368, 12557743232,
+12566129536, 12574523264, 12582911872, 12591299456, 12599688064,
+12608074624, 12616463488, 12624845696, 12633239936, 12641631616,
+12650019968, 12658407296, 12666795136, 12675183232, 12683574656,
+12691960192, 12700350592, 12708740224, 12717128576, 12725515904,
+12733906816, 12742295168, 12750680192, 12759071872, 12767460736,
+12775848832, 12784236928, 12792626816, 12801014656, 12809404288,
+12817789312, 12826181504, 12834568832, 12842954624, 12851345792,
+12859732352, 12868122496, 12876512128, 12884901248, 12893289088,
+12901672832, 12910067584, 12918455168, 12926842496, 12935232896,
+12943620736, 12952009856, 12960396928, 12968786816, 12977176192,
+12985563776, 12993951104, 13002341504, 13010730368, 13019115392,
+13027506304, 13035895168, 13044272512, 13052673152, 13061062528,
+13069446272, 13077838976, 13086227072, 13094613632, 13103000192,
+13111393664, 13119782528, 13128157568, 13136559232, 13144945024,
+13153329536, 13161724288, 13170111872, 13178502784, 13186884736,
+13195279744, 13203667072, 13212057472, 13220445824, 13228832128,
+13237221248, 13245610624, 13254000512, 13262388352, 13270777472,
+13279166336, 13287553408, 13295943296, 13304331904, 13312719488,
+13321108096, 13329494656, 13337885824, 13346274944, 13354663808,
+13363051136, 13371439232, 13379825024, 13388210816, 13396605056,
+13404995456, 13413380224, 13421771392, 13430159744, 13438546048,
+13446937216, 13455326848, 13463708288, 13472103808, 13480492672,
+13488875648, 13497269888, 13505657728, 13514045312, 13522435712,
+13530824576, 13539210112, 13547599232, 13555989376, 13564379008,
+13572766336, 13581154432, 13589544832, 13597932928, 13606320512,
+13614710656, 13623097472, 13631477632, 13639874944, 13648264064,
+13656652928, 13665041792, 13673430656, 13681818496, 13690207616,
+13698595712, 13706982272, 13715373184, 13723762048, 13732150144,
+13740536704, 13748926592, 13757316224, 13765700992, 13774090112,
+13782477952, 13790869376, 13799259008, 13807647872, 13816036736,
+13824425344, 13832814208, 13841202304, 13849591424, 13857978752,
+13866368896, 13874754688, 13883145344, 13891533184, 13899919232,
+13908311168, 13916692096, 13925085056, 13933473152, 13941866368,
+13950253696, 13958643584, 13967032192, 13975417216, 13983807616,
+13992197504, 14000582272, 14008973696, 14017363072, 14025752192,
+14034137984, 14042528384, 14050918016, 14059301504, 14067691648,
+14076083584, 14084470144, 14092852352, 14101249664, 14109635968,
+14118024832, 14126407552, 14134804352, 14143188608, 14151577984,
+14159968384, 14168357248, 14176741504, 14185127296, 14193521024,
+14201911424, 14210301824, 14218685056, 14227067264, 14235467392,
+14243855488, 14252243072, 14260630144, 14269021568, 14277409408,
+14285799296, 14294187904, 14302571392, 14310961792, 14319353728,
+14327738752, 14336130944, 14344518784, 14352906368, 14361296512,
+14369685376, 14378071424, 14386462592, 14394848128, 14403230848,
+14411627392, 14420013952, 14428402304, 14436793472, 14445181568,
+14453569664, 14461959808, 14470347904, 14478737024, 14487122816,
+14495511424, 14503901824, 14512291712, 14520677504, 14529064832,
+14537456768, 14545845632, 14554234496, 14562618496, 14571011456,
+14579398784, 14587789184, 14596172672, 14604564608, 14612953984,
+14621341312, 14629724288, 14638120832, 14646503296, 14654897536,
+14663284864, 14671675264, 14680061056, 14688447616, 14696835968,
+14705228416, 14713616768, 14722003328, 14730392192, 14738784128,
+14747172736, 14755561088, 14763947648, 14772336512, 14780725376,
+14789110144, 14797499776, 14805892736, 14814276992, 14822670208,
+14831056256, 14839444352, 14847836032, 14856222848, 14864612992,
+14872997504, 14881388672, 14889775744, 14898165376, 14906553472,
+14914944896, 14923329664, 14931721856, 14940109696, 14948497024,
+14956887424, 14965276544, 14973663616, 14982053248, 14990439808,
+14998830976, 15007216768, 15015605888, 15023995264, 15032385152,
+15040768384, 15049154944, 15057549184, 15065939072, 15074328448,
+15082715008, 15091104128, 15099493504, 15107879296, 15116269184,
+15124659584, 15133042304, 15141431936, 15149824384, 15158214272,
+15166602368, 15174991232, 15183378304, 15191760512, 15200154496,
+15208542592, 15216931712, 15225323392, 15233708416, 15242098048,
+15250489216, 15258875264, 15267265408, 15275654528, 15284043136,
+15292431488, 15300819584, 15309208192, 15317596544, 15325986176,
+15334374784, 15342763648, 15351151744, 15359540608, 15367929728,
+15376318336, 15384706432, 15393092992, 15401481856, 15409869952,
+15418258816, 15426649984, 15435037568, 15443425664, 15451815296,
+15460203392, 15468589184, 15476979328, 15485369216, 15493755776,
+15502146944, 15510534272, 15518924416, 15527311232, 15535699072,
+15544089472, 15552478336, 15560866688, 15569254528, 15577642624,
+15586031488, 15594419072, 15602809472, 15611199104, 15619586432,
+15627975296, 15636364928, 15644753792, 15653141888, 15661529216,
+15669918848, 15678305152, 15686696576, 15695083136, 15703474048,
+15711861632, 15720251264, 15728636288, 15737027456, 15745417088,
+15753804928, 15762194048, 15770582656, 15778971008, 15787358336,
+15795747712, 15804132224, 15812523392, 15820909696, 15829300096,
+15837691264, 15846071936, 15854466944, 15862855808, 15871244672,
+15879634816, 15888020608, 15896409728, 15904799104, 15913185152,
+15921577088, 15929966464, 15938354816, 15946743424, 15955129472,
+15963519872, 15971907968, 15980296064, 15988684928, 15997073024,
+16005460864, 16013851264, 16022241152, 16030629248, 16039012736,
+16047406976, 16055794816, 16064181376, 16072571264, 16080957824,
+16089346688, 16097737856, 16106125184, 16114514816, 16122904192,
+16131292544, 16139678848, 16148066944, 16156453504, 16164839552,
+16173236096, 16181623424, 16190012032, 16198401152, 16206790528,
+16215177344, 16223567744, 16231956352, 16240344704, 16248731008,
+16257117824, 16265504384, 16273898624, 16282281856, 16290668672,
+16299064192, 16307449216, 16315842176, 16324230016, 16332613504,
+16341006464, 16349394304, 16357783168, 16366172288, 16374561664,
+16382951296, 16391337856, 16399726208, 16408116352, 16416505472,
+16424892032, 16433282176, 16441668224, 16450058624, 16458448768,
+16466836864, 16475224448, 16483613056, 16492001408, 16500391808,
+16508779648, 16517166976, 16525555328, 16533944192, 16542330752,
+16550719616, 16559110528, 16567497088, 16575888512, 16584274816,
+16592665472, 16601051008, 16609442944, 16617832064, 16626218624,
+16634607488, 16642996096, 16651385728, 16659773824, 16668163712,
+16676552576, 16684938112, 16693328768, 16701718144, 16710095488,
+16718492288, 16726883968, 16735272832, 16743661184, 16752049792,
+16760436608, 16768827008, 16777214336, 16785599104, 16793992832,
+16802381696, 16810768768, 16819151744, 16827542656, 16835934848,
+16844323712, 16852711552, 16861101952, 16869489536, 16877876864,
+16886265728, 16894653056, 16903044736, 16911431296, 16919821696,
+16928207488, 16936592768, 16944987776, 16953375616, 16961763968,
+16970152832, 16978540928, 16986929536, 16995319168, 17003704448,
+17012096896, 17020481152, 17028870784, 17037262208, 17045649536,
+17054039936, 17062426496, 17070814336, 17079205504, 17087592064,
+17095978112, 17104369024, 17112759424, 17121147776, 17129536384,
+17137926016, 17146314368, 17154700928, 17163089792, 17171480192,
+17179864192, 17188256896, 17196644992, 17205033856, 17213423488,
+17221811072, 17230198912, 17238588032, 17246976896, 17255360384,
+17263754624, 17272143232, 17280530048, 17288918912, 17297309312,
+17305696384, 17314085504, 17322475136, 17330863744, 17339252096,
+17347640192, 17356026496, 17364413824, 17372796544, 17381190016,
+17389583488, 17397972608, 17406360704, 17414748544, 17423135872,
+17431527296, 17439915904, 17448303232, 17456691584, 17465081728,
+17473468288, 17481857408, 17490247552, 17498635904, 17507022464,
+17515409024, 17523801728, 17532189824, 17540577664, 17548966016,
+17557353344, 17565741184, 17574131584, 17582519168, 17590907008,
+17599296128, 17607687808, 17616076672, 17624455808, 17632852352,
+17641238656, 17649630848, 17658018944, 17666403968, 17674794112,
+17683178368, 17691573376, 17699962496, 17708350592, 17716739968,
+17725126528, 17733517184, 17741898112, 17750293888, 17758673024,
+17767070336, 17775458432, 17783848832, 17792236928, 17800625536,
+17809012352, 17817402752, 17825785984, 17834178944, 17842563968,
+17850955648, 17859344512, 17867732864, 17876119424, 17884511872,
+17892900224, 17901287296, 17909677696, 17918058112, 17926451072,
+17934843776, 17943230848, 17951609216, 17960008576, 17968397696,
+17976784256, 17985175424, 17993564032, 18001952128, 18010339712,
+18018728576, 18027116672, 18035503232, 18043894144, 18052283264,
+18060672128, 18069056384, 18077449856, 18085837184, 18094225792,
+18102613376, 18111004544, 18119388544, 18127781248, 18136170368,
+18144558976, 18152947328, 18161336192, 18169724288, 18178108544,
+18186498944, 18194886784, 18203275648, 18211666048, 18220048768,
+18228444544, 18236833408, 18245220736]
+
+cache_sizes = [
+16776896, 16907456, 17039296, 17170112, 17301056, 17432512, 17563072,
+17693888, 17824192, 17955904, 18087488, 18218176, 18349504, 18481088,
+18611392, 18742336, 18874304, 19004224, 19135936, 19267264, 19398208,
+19529408, 19660096, 19791424, 19922752, 20053952, 20184896, 20315968,
+20446912, 20576576, 20709184, 20840384, 20971072, 21102272, 21233216,
+21364544, 21494848, 21626816, 21757376, 21887552, 22019392, 22151104,
+22281536, 22412224, 22543936, 22675264, 22806464, 22935872, 23068096,
+23198272, 23330752, 23459008, 23592512, 23723968, 23854912, 23986112,
+24116672, 24247616, 24378688, 24509504, 24640832, 24772544, 24903488,
+25034432, 25165376, 25296704, 25427392, 25558592, 25690048, 25820096,
+25951936, 26081728, 26214208, 26345024, 26476096, 26606656, 26737472,
+26869184, 26998208, 27131584, 27262528, 27393728, 27523904, 27655744,
+27786688, 27917888, 28049344, 28179904, 28311488, 28441792, 28573504,
+28700864, 28835648, 28966208, 29096768, 29228608, 29359808, 29490752,
+29621824, 29752256, 29882816, 30014912, 30144448, 30273728, 30406976,
+30538432, 30670784, 30799936, 30932672, 31063744, 31195072, 31325248,
+31456192, 31588288, 31719232, 31850432, 31981504, 32110784, 32243392,
+32372672, 32505664, 32636608, 32767808, 32897344, 33029824, 33160768,
+33289664, 33423296, 33554368, 33683648, 33816512, 33947456, 34076992,
+34208704, 34340032, 34471744, 34600256, 34734016, 34864576, 34993984,
+35127104, 35258176, 35386688, 35518528, 35650624, 35782336, 35910976,
+36044608, 36175808, 36305728, 36436672, 36568384, 36699968, 36830656,
+36961984, 37093312, 37223488, 37355072, 37486528, 37617472, 37747904,
+37879232, 38009792, 38141888, 38272448, 38403392, 38535104, 38660672,
+38795584, 38925632, 39059264, 39190336, 39320768, 39452096, 39581632,
+39713984, 39844928, 39974848, 40107968, 40238144, 40367168, 40500032,
+40631744, 40762816, 40894144, 41023552, 41155904, 41286208, 41418304,
+41547712, 41680448, 41811904, 41942848, 42073792, 42204992, 42334912,
+42467008, 42597824, 42729152, 42860096, 42991552, 43122368, 43253696,
+43382848, 43515712, 43646912, 43777088, 43907648, 44039104, 44170432,
+44302144, 44433344, 44564288, 44694976, 44825152, 44956864, 45088448,
+45219008, 45350464, 45481024, 45612608, 45744064, 45874496, 46006208,
+46136768, 46267712, 46399424, 46529344, 46660672, 46791488, 46923328,
+47053504, 47185856, 47316928, 47447872, 47579072, 47710144, 47839936,
+47971648, 48103232, 48234176, 48365248, 48496192, 48627136, 48757312,
+48889664, 49020736, 49149248, 49283008, 49413824, 49545152, 49675712,
+49807168, 49938368, 50069056, 50200256, 50331584, 50462656, 50593472,
+50724032, 50853952, 50986048, 51117632, 51248576, 51379904, 51510848,
+51641792, 51773248, 51903296, 52035136, 52164032, 52297664, 52427968,
+52557376, 52690112, 52821952, 52952896, 53081536, 53213504, 53344576,
+53475776, 53608384, 53738816, 53870528, 54000832, 54131776, 54263744,
+54394688, 54525248, 54655936, 54787904, 54918592, 55049152, 55181248,
+55312064, 55442752, 55574336, 55705024, 55836224, 55967168, 56097856,
+56228672, 56358592, 56490176, 56621888, 56753728, 56884928, 57015488,
+57146816, 57278272, 57409216, 57540416, 57671104, 57802432, 57933632,
+58064576, 58195264, 58326976, 58457408, 58588864, 58720192, 58849984,
+58981696, 59113024, 59243456, 59375552, 59506624, 59637568, 59768512,
+59897792, 60030016, 60161984, 60293056, 60423872, 60554432, 60683968,
+60817216, 60948032, 61079488, 61209664, 61341376, 61471936, 61602752,
+61733696, 61865792, 61996736, 62127808, 62259136, 62389568, 62520512,
+62651584, 62781632, 62910784, 63045056, 63176128, 63307072, 63438656,
+63569216, 63700928, 63831616, 63960896, 64093888, 64225088, 64355392,
+64486976, 64617664, 64748608, 64879424, 65009216, 65142464, 65273792,
+65402816, 65535424, 65666752, 65797696, 65927744, 66060224, 66191296,
+66321344, 66453056, 66584384, 66715328, 66846656, 66977728, 67108672,
+67239104, 67370432, 67501888, 67631296, 67763776, 67895104, 68026304,
+68157248, 68287936, 68419264, 68548288, 68681408, 68811968, 68942912,
+69074624, 69205568, 69337024, 69467584, 69599168, 69729472, 69861184,
+69989824, 70122944, 70253888, 70385344, 70515904, 70647232, 70778816,
+70907968, 71040832, 71171648, 71303104, 71432512, 71564992, 71695168,
+71826368, 71958464, 72089536, 72219712, 72350144, 72482624, 72613568,
+72744512, 72875584, 73006144, 73138112, 73268672, 73400128, 73530944,
+73662272, 73793344, 73924544, 74055104, 74185792, 74316992, 74448832,
+74579392, 74710976, 74841664, 74972864, 75102784, 75233344, 75364544,
+75497024, 75627584, 75759296, 75890624, 76021696, 76152256, 76283072,
+76414144, 76545856, 76676672, 76806976, 76937792, 77070016, 77200832,
+77331392, 77462464, 77593664, 77725376, 77856448, 77987776, 78118336,
+78249664, 78380992, 78511424, 78642496, 78773056, 78905152, 79033664,
+79166656, 79297472, 79429568, 79560512, 79690816, 79822784, 79953472,
+80084672, 80214208, 80346944, 80477632, 80608576, 80740288, 80870848,
+81002048, 81133504, 81264448, 81395648, 81525952, 81657536, 81786304,
+81919808, 82050112, 82181312, 82311616, 82443968, 82573376, 82705984,
+82835776, 82967744, 83096768, 83230528, 83359552, 83491264, 83622464,
+83753536, 83886016, 84015296, 84147776, 84277184, 84409792, 84540608,
+84672064, 84803008, 84934336, 85065152, 85193792, 85326784, 85458496,
+85589312, 85721024, 85851968, 85982656, 86112448, 86244416, 86370112,
+86506688, 86637632, 86769344, 86900672, 87031744, 87162304, 87293632,
+87424576, 87555392, 87687104, 87816896, 87947968, 88079168, 88211264,
+88341824, 88473152, 88603712, 88735424, 88862912, 88996672, 89128384,
+89259712, 89390272, 89521984, 89652544, 89783872, 89914816, 90045376,
+90177088, 90307904, 90438848, 90569152, 90700096, 90832832, 90963776,
+91093696, 91223744, 91356992, 91486784, 91618496, 91749824, 91880384,
+92012224, 92143552, 92273344, 92405696, 92536768, 92666432, 92798912,
+92926016, 93060544, 93192128, 93322816, 93453632, 93583936, 93715136,
+93845056, 93977792, 94109504, 94240448, 94371776, 94501184, 94632896,
+94764224, 94895552, 95023424, 95158208, 95287744, 95420224, 95550016,
+95681216, 95811904, 95943872, 96075328, 96203584, 96337856, 96468544,
+96599744, 96731072, 96860992, 96992576, 97124288, 97254848, 97385536,
+97517248, 97647808, 97779392, 97910464, 98041408, 98172608, 98303168,
+98434496, 98565568, 98696768, 98827328, 98958784, 99089728, 99220928,
+99352384, 99482816, 99614272, 99745472, 99876416, 100007104,
+100138048, 100267072, 100401088, 100529984, 100662592, 100791872,
+100925248, 101056064, 101187392, 101317952, 101449408, 101580608,
+101711296, 101841728, 101973824, 102104896, 102235712, 102366016,
+102498112, 102628672, 102760384, 102890432, 103021888, 103153472,
+103284032, 103415744, 103545152, 103677248, 103808576, 103939648,
+104070976, 104201792, 104332736, 104462528, 104594752, 104725952,
+104854592, 104988608, 105118912, 105247808, 105381184, 105511232,
+105643072, 105774784, 105903296, 106037056, 106167872, 106298944,
+106429504, 106561472, 106691392, 106822592, 106954304, 107085376,
+107216576, 107346368, 107478464, 107609792, 107739712, 107872192,
+108003136, 108131392, 108265408, 108396224, 108527168, 108657344,
+108789568, 108920384, 109049792, 109182272, 109312576, 109444928,
+109572928, 109706944, 109837888, 109969088, 110099648, 110230976,
+110362432, 110492992, 110624704, 110755264, 110886208, 111017408,
+111148864, 111279296, 111410752, 111541952, 111673024, 111803456,
+111933632, 112066496, 112196416, 112328512, 112457792, 112590784,
+112715968, 112852672, 112983616, 113114944, 113244224, 113376448,
+113505472, 113639104, 113770304, 113901376, 114031552, 114163264,
+114294592, 114425536, 114556864, 114687424, 114818624, 114948544,
+115080512, 115212224, 115343296, 115473472, 115605184, 115736128,
+115867072, 115997248, 116128576, 116260288, 116391488, 116522944,
+116652992, 116784704, 116915648, 117046208, 117178304, 117308608,
+117440192, 117569728, 117701824, 117833024, 117964096, 118094656,
+118225984, 118357312, 118489024, 118617536, 118749632, 118882112,
+119012416, 119144384, 119275328, 119406016, 119537344, 119668672,
+119798464, 119928896, 120061376, 120192832, 120321728, 120454336,
+120584512, 120716608, 120848192, 120979136, 121109056, 121241408,
+121372352, 121502912, 121634752, 121764416, 121895744, 122027072,
+122157632, 122289088, 122421184, 122550592, 122682944, 122813888,
+122945344, 123075776, 123207488, 123338048, 123468736, 123600704,
+123731264, 123861952, 123993664, 124124608, 124256192, 124386368,
+124518208, 124649024, 124778048, 124911296, 125041088, 125173696,
+125303744, 125432896, 125566912, 125696576, 125829056, 125958592,
+126090304, 126221248, 126352832, 126483776, 126615232, 126746432,
+126876608, 127008704, 127139392, 127270336, 127401152, 127532224,
+127663552, 127794752, 127925696, 128055232, 128188096, 128319424,
+128449856, 128581312, 128712256, 128843584, 128973632, 129103808,
+129236288, 129365696, 129498944, 129629888, 129760832, 129892288,
+130023104, 130154048, 130283968, 130416448, 130547008, 130678336,
+130807616, 130939456, 131071552, 131202112, 131331776, 131464384,
+131594048, 131727296, 131858368, 131987392, 132120256, 132250816,
+132382528, 132513728, 132644672, 132774976, 132905792, 133038016,
+133168832, 133299392, 133429312, 133562048, 133692992, 133823296,
+133954624, 134086336, 134217152, 134348608, 134479808, 134607296,
+134741056, 134872384, 135002944, 135134144, 135265472, 135396544,
+135527872, 135659072, 135787712, 135921472, 136052416, 136182848,
+136313792, 136444864, 136576448, 136707904, 136837952, 136970048,
+137099584, 137232064, 137363392, 137494208, 137625536, 137755712,
+137887424, 138018368, 138149824, 138280256, 138411584, 138539584,
+138672832, 138804928, 138936128, 139066688, 139196864, 139328704,
+139460032, 139590208, 139721024, 139852864, 139984576, 140115776,
+140245696, 140376512, 140508352, 140640064, 140769856, 140902336,
+141032768, 141162688, 141294016, 141426496, 141556544, 141687488,
+141819584, 141949888, 142080448, 142212544, 142342336, 142474432,
+142606144, 142736192, 142868288, 142997824, 143129408, 143258944,
+143392448, 143523136, 143653696, 143785024, 143916992, 144045632,
+144177856, 144309184, 144440768, 144570688, 144701888, 144832448,
+144965056, 145096384, 145227584, 145358656, 145489856, 145620928,
+145751488, 145883072, 146011456, 146144704, 146275264, 146407232,
+146538176, 146668736, 146800448, 146931392, 147062336, 147193664,
+147324224, 147455936, 147586624, 147717056, 147848768, 147979456,
+148110784, 148242368, 148373312, 148503232, 148635584, 148766144,
+148897088, 149028416, 149159488, 149290688, 149420224, 149551552,
+149683136, 149814976, 149943616, 150076352, 150208064, 150338624,
+150470464, 150600256, 150732224, 150862784, 150993088, 151125952,
+151254976, 151388096, 151519168, 151649728, 151778752, 151911104,
+152042944, 152174144, 152304704, 152435648, 152567488, 152698816,
+152828992, 152960576, 153091648, 153222976, 153353792, 153484096,
+153616192, 153747008, 153878336, 154008256, 154139968, 154270912,
+154402624, 154533824, 154663616, 154795712, 154926272, 155057984,
+155188928, 155319872, 155450816, 155580608, 155712064, 155843392,
+155971136, 156106688, 156237376, 156367424, 156499264, 156630976,
+156761536, 156892352, 157024064, 157155008, 157284416, 157415872,
+157545536, 157677248, 157810496, 157938112, 158071744, 158203328,
+158334656, 158464832, 158596288, 158727616, 158858048, 158988992,
+159121216, 159252416, 159381568, 159513152, 159645632, 159776192,
+159906496, 160038464, 160169536, 160300352, 160430656, 160563008,
+160693952, 160822208, 160956352, 161086784, 161217344, 161349184,
+161480512, 161611456, 161742272, 161873216, 162002752, 162135872,
+162266432, 162397888, 162529216, 162660032, 162790976, 162922048,
+163052096, 163184576, 163314752, 163446592, 163577408, 163707968,
+163839296, 163969984, 164100928, 164233024, 164364224, 164494912,
+164625856, 164756672, 164887616, 165019072, 165150016, 165280064,
+165412672, 165543104, 165674944, 165805888, 165936832, 166067648,
+166198336, 166330048, 166461248, 166591552, 166722496, 166854208,
+166985408, 167116736, 167246656, 167378368, 167508416, 167641024,
+167771584, 167903168, 168034112, 168164032, 168295744, 168427456,
+168557632, 168688448, 168819136, 168951616, 169082176, 169213504,
+169344832, 169475648, 169605952, 169738048, 169866304, 169999552,
+170131264, 170262464, 170393536, 170524352, 170655424, 170782016,
+170917696, 171048896, 171179072, 171310784, 171439936, 171573184,
+171702976, 171835072, 171966272, 172097216, 172228288, 172359232,
+172489664, 172621376, 172747712, 172883264, 173014208, 173144512,
+173275072, 173407424, 173539136, 173669696, 173800768, 173931712,
+174063424, 174193472, 174325696, 174455744, 174586816, 174718912,
+174849728, 174977728, 175109696, 175242688, 175374272, 175504832,
+175636288, 175765696, 175898432, 176028992, 176159936, 176291264,
+176422592, 176552512, 176684864, 176815424, 176946496, 177076544,
+177209152, 177340096, 177470528, 177600704, 177731648, 177864256,
+177994816, 178126528, 178257472, 178387648, 178518464, 178650176,
+178781888, 178912064, 179044288, 179174848, 179305024, 179436736,
+179568448, 179698496, 179830208, 179960512, 180092608, 180223808,
+180354752, 180485696, 180617152, 180748096, 180877504, 181009984,
+181139264, 181272512, 181402688, 181532608, 181663168, 181795136,
+181926592, 182057536, 182190016, 182320192, 182451904, 182582336,
+182713792, 182843072, 182976064, 183107264, 183237056, 183368384,
+183494848, 183631424, 183762752, 183893824, 184024768, 184154816,
+184286656, 184417984, 184548928, 184680128, 184810816, 184941248,
+185072704, 185203904, 185335616, 185465408, 185596352, 185727296,
+185859904, 185989696, 186121664, 186252992, 186383552, 186514112,
+186645952, 186777152, 186907328, 187037504, 187170112, 187301824,
+187429184, 187562048, 187693504, 187825472, 187957184, 188087104,
+188218304, 188349376, 188481344, 188609728, 188743616, 188874304,
+189005248, 189136448, 189265088, 189396544, 189528128, 189660992,
+189791936, 189923264, 190054208, 190182848, 190315072, 190447424,
+190577984, 190709312, 190840768, 190971328, 191102656, 191233472,
+191364032, 191495872, 191626816, 191758016, 191888192, 192020288,
+192148928, 192282176, 192413504, 192542528, 192674752, 192805952,
+192937792, 193068608, 193198912, 193330496, 193462208, 193592384,
+193723456, 193854272, 193985984, 194116672, 194247232, 194379712,
+194508352, 194641856, 194772544, 194900672, 195035072, 195166016,
+195296704, 195428032, 195558592, 195690304, 195818176, 195952576,
+196083392, 196214336, 196345792, 196476736, 196607552, 196739008,
+196869952, 197000768, 197130688, 197262784, 197394368, 197523904,
+197656384, 197787584, 197916608, 198049472, 198180544, 198310208,
+198442432, 198573632, 198705088, 198834368, 198967232, 199097792,
+199228352, 199360192, 199491392, 199621696, 199751744, 199883968,
+200014016, 200146624, 200276672, 200408128, 200540096, 200671168,
+200801984, 200933312, 201062464, 201194944, 201326144, 201457472,
+201588544, 201719744, 201850816, 201981632, 202111552, 202244032,
+202374464, 202505152, 202636352, 202767808, 202898368, 203030336,
+203159872, 203292608, 203423296, 203553472, 203685824, 203816896,
+203947712, 204078272, 204208192, 204341056, 204472256, 204603328,
+204733888, 204864448, 204996544, 205125568, 205258304, 205388864,
+205517632, 205650112, 205782208, 205913536, 206044736, 206176192,
+206307008, 206434496, 206569024, 206700224, 206831168, 206961856,
+207093056, 207223616, 207355328, 207486784, 207616832, 207749056,
+207879104, 208010048, 208141888, 208273216, 208404032, 208534336,
+208666048, 208796864, 208927424, 209059264, 209189824, 209321792,
+209451584, 209582656, 209715136, 209845568, 209976896, 210106432,
+210239296, 210370112, 210501568, 210630976, 210763712, 210894272,
+211024832, 211156672, 211287616, 211418176, 211549376, 211679296,
+211812032, 211942592, 212074432, 212204864, 212334016, 212467648,
+212597824, 212727616, 212860352, 212991424, 213120832, 213253952,
+213385024, 213515584, 213645632, 213777728, 213909184, 214040128,
+214170688, 214302656, 214433728, 214564544, 214695232, 214826048,
+214956992, 215089088, 215219776, 215350592, 215482304, 215613248,
+215743552, 215874752, 216005312, 216137024, 216267328, 216399296,
+216530752, 216661696, 216790592, 216923968, 217054528, 217183168,
+217316672, 217448128, 217579072, 217709504, 217838912, 217972672,
+218102848, 218233024, 218364736, 218496832, 218627776, 218759104,
+218888896, 219021248, 219151936, 219281728, 219413056, 219545024,
+219675968, 219807296, 219938624, 220069312, 220200128, 220331456,
+220461632, 220592704, 220725184, 220855744, 220987072, 221117888,
+221249216, 221378368, 221510336, 221642048, 221772736, 221904832,
+222031808, 222166976, 222297536, 222428992, 222559936, 222690368,
+222820672, 222953152, 223083968, 223213376, 223345984, 223476928,
+223608512, 223738688, 223869376, 224001472, 224132672, 224262848,
+224394944, 224524864, 224657344, 224788288, 224919488, 225050432,
+225181504, 225312704, 225443776, 225574592, 225704768, 225834176,
+225966784, 226097216, 226229824, 226360384, 226491712, 226623424,
+226754368, 226885312, 227015104, 227147456, 227278528, 227409472,
+227539904, 227669696, 227802944, 227932352, 228065216, 228196288,
+228326464, 228457792, 228588736, 228720064, 228850112, 228981056,
+229113152, 229243328, 229375936, 229505344, 229636928, 229769152,
+229894976, 230030272, 230162368, 230292416, 230424512, 230553152,
+230684864, 230816704, 230948416, 231079616, 231210944, 231342016,
+231472448, 231603776, 231733952, 231866176, 231996736, 232127296,
+232259392, 232388672, 232521664, 232652608, 232782272, 232914496,
+233043904, 233175616, 233306816, 233438528, 233569984, 233699776,
+233830592, 233962688, 234092224, 234221888, 234353984, 234485312,
+234618304, 234749888, 234880832, 235011776, 235142464, 235274048,
+235403456, 235535936, 235667392, 235797568, 235928768, 236057152,
+236190272, 236322752, 236453312, 236583616, 236715712, 236846528,
+236976448, 237108544, 237239104, 237371072, 237501632, 237630784,
+237764416, 237895232, 238026688, 238157632, 238286912, 238419392,
+238548032, 238681024, 238812608, 238941632, 239075008, 239206336,
+239335232, 239466944, 239599168, 239730496, 239861312, 239992384,
+240122816, 240254656, 240385856, 240516928, 240647872, 240779072,
+240909632, 241040704, 241171904, 241302848, 241433408, 241565248,
+241696192, 241825984, 241958848, 242088256, 242220224, 242352064,
+242481856, 242611648, 242744896, 242876224, 243005632, 243138496,
+243268672, 243400384, 243531712, 243662656, 243793856, 243924544,
+244054592, 244187072, 244316608, 244448704, 244580032, 244710976,
+244841536, 244972864, 245104448, 245233984, 245365312, 245497792,
+245628736, 245759936, 245889856, 246021056, 246152512, 246284224,
+246415168, 246545344, 246675904, 246808384, 246939584, 247070144,
+247199552, 247331648, 247463872, 247593536, 247726016, 247857088,
+247987648, 248116928, 248249536, 248380736, 248512064, 248643008,
+248773312, 248901056, 249036608, 249167552, 249298624, 249429184,
+249560512, 249692096, 249822784, 249954112, 250085312, 250215488,
+250345792, 250478528, 250608704, 250739264, 250870976, 251002816,
+251133632, 251263552, 251395136, 251523904, 251657792, 251789248,
+251919424, 252051392, 252182464, 252313408, 252444224, 252575552,
+252706624, 252836032, 252968512, 253099712, 253227584, 253361728,
+253493056, 253623488, 253754432, 253885504, 254017216, 254148032,
+254279488, 254410432, 254541376, 254672576, 254803264, 254933824,
+255065792, 255196736, 255326528, 255458752, 255589952, 255721408,
+255851072, 255983296, 256114624, 256244416, 256374208, 256507712,
+256636096, 256768832, 256900544, 257031616, 257162176, 257294272,
+257424448, 257555776, 257686976, 257818432, 257949632, 258079552,
+258211136, 258342464, 258473408, 258603712, 258734656, 258867008,
+258996544, 259127744, 259260224, 259391296, 259522112, 259651904,
+259784384, 259915328, 260045888, 260175424, 260308544, 260438336,
+260570944, 260700992, 260832448, 260963776, 261092672, 261226304,
+261356864, 261487936, 261619648, 261750592, 261879872, 262011968,
+262143424, 262274752, 262404416, 262537024, 262667968, 262799296,
+262928704, 263061184, 263191744, 263322944, 263454656, 263585216,
+263716672, 263847872, 263978944, 264108608, 264241088, 264371648,
+264501184, 264632768, 264764096, 264895936, 265024576, 265158464,
+265287488, 265418432, 265550528, 265681216, 265813312, 265943488,
+266075968, 266206144, 266337728, 266468032, 266600384, 266731072,
+266862272, 266993344, 267124288, 267255616, 267386432, 267516992,
+267648704, 267777728, 267910592, 268040512, 268172096, 268302784,
+268435264, 268566208, 268696256, 268828096, 268959296, 269090368,
+269221312, 269352256, 269482688, 269614784, 269745856, 269876416,
+270007616, 270139328, 270270272, 270401216, 270531904, 270663616,
+270791744, 270924736, 271056832, 271186112, 271317184, 271449536,
+271580992, 271711936, 271843136, 271973056, 272105408, 272236352,
+272367296, 272498368, 272629568, 272759488, 272891456, 273022784,
+273153856, 273284672, 273415616, 273547072, 273677632, 273808448,
+273937088, 274071488, 274200896, 274332992, 274463296, 274595392,
+274726208, 274857536, 274988992, 275118656, 275250496, 275382208,
+275513024, 275643968, 275775296, 275906368, 276037184, 276167872,
+276297664, 276429376, 276560576, 276692672, 276822976, 276955072,
+277085632, 277216832, 277347008, 277478848, 277609664, 277740992,
+277868608, 278002624, 278134336, 278265536, 278395328, 278526784,
+278657728, 278789824, 278921152, 279052096, 279182912, 279313088,
+279443776, 279576256, 279706048, 279838528, 279969728, 280099648,
+280230976, 280361408, 280493632, 280622528, 280755392, 280887104,
+281018176, 281147968, 281278912, 281411392, 281542592, 281673152,
+281803712, 281935552, 282066496, 282197312, 282329024, 282458816,
+282590272, 282720832, 282853184, 282983744, 283115072, 283246144,
+283377344, 283508416, 283639744, 283770304, 283901504, 284032576,
+284163136, 284294848, 284426176, 284556992, 284687296, 284819264,
+284950208, 285081536]
+```
diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
new file mode 100644
index 00000000000..767dcabf7a2
--- /dev/null
+++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/index.md
@@ -0,0 +1,37 @@
+---
+title: Αλγόριθμοι κρυπτόρυξης
+description: Μια λεπτομερής εξέταση των αλγορίθμων που χρησιμοποιούνται για την εξόρυξη Ethereum.
+lang: el
+---
+
+
+Η απόδειξη εργασίας δεν αποτελεί πλέον μέρος του μηχανισμού συναίνεσης του Ethereum, πράγμα που σημαίνει ότι η κρυπτόρυξη έχει απενεργοποιηθεί. Αντίθετα, το Ethereum εξασφαλίζεται από επαληθευτές που έχουν αποθηκευμένο κεφάλαιο σε ETH. Μπορείτε να ξεκινήσετε την αποθήκευση των ETH σας σήμερα. Μάθετε περισσότερα για τη Συγχώνευση, την Απόδειξη Συμμετοχής και την Αποθήκευση Κεφαλαίου. Αυτή η σελίδα παρέχεται μόνο για ιστορικό ενδιαφέρον.
+
+
+Η εξόρυξη Ethereum χρησιμοποιούσε έναν αλγόριθμο γνωστό ως Ethash. Η θεμελιώδης ιδέα του αλγορίθμου είναι ότι ένας εξορύκτης προσπαθεί να βρει μια είσοδο nonce χρησιμοποιώντας υπολογισμό ωμής βίας, έτσι ώστε το hash που προκύπτει να είναι μικρότερο από ένα όριο που καθορίζεται από την υπολογισμένη δυσκολία. Αυτό το επίπεδο δυσκολίας μπορεί να ρυθμιστεί δυναμικά, επιτρέποντας την παραγωγή μπλοκ σε τακτά χρονικά διαστήματα.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε πρώτα να διαβάσετε σχετικά με τη [συναίνεση της απόδειξης εργασίας](/developers/docs/consensus-mechanisms/pow) και [την κρυπτόρυξη](/developers/docs/consensus-mechanisms/pow/mining).
+
+## Dagger Hashimoto {#dagger-hashimoto}
+
+Το Dagger Hashimoto ήταν ένας πρόδρομος ερευνητικός αλγόριθμος για την κρυπτόρυξη Ethereum που αντικατέστησε το Ethash. Αποτέλεσε μια συνένωση δύο διαφορετικών αλγορίθμων: Dagger και Hashimoto. Ήταν μόνο μια υλοποίηση έρευνας και αντικαταστάθηκε από το Ethash τη στιγμή που κυκλοφόρησε το Κεντρικό Δίκτυο Ethereum.
+
+Το [Dagger](http://www.hashcash.org/papers/dagger.html) περιλαμβάνει τη δημιουργία ενός [Directed Acyclic Graph](https://en.wikipedia.org/wiki/Directed_acyclic_graph), τυχαία τμήματα του οποίου υποβάλλονται μαζί σε hash. Η βασική αρχή είναι ότι κάθε nonce απαιτεί μόνο ένα μικρό τμήμα ενός μεγάλου δέντρου συνολικών δεδομένων. Ο επανυπολογισμός του υποδέντρου για κάθε nonce είναι απαγορευτικός για την εξόρυξη —εξ ου και η ανάγκη αποθήκευσης του δέντρου— αλλά εντάξει για την επαλήθευση ενός μόνο nonce. Το Dagger σχεδιάστηκε για να είναι μια εναλλακτική σε υπάρχοντες αλγόριθμους όπως το Scrypt, οι οποίοι είναι απαιτητικοί ως προς τη μνήμη, αλλά είναι δύσκολο να επαληθευτούν όταν η απαιτητικότητα ως προς τη μνήμη τους αυξάνεται σε πραγματικά ασφαλή επίπεδα. Ωστόσο, το Dagger ήταν ευάλωτο στην επιτάχυνση υλικού κοινής μνήμης και απορρίφθηκε υπέρ άλλων οδών έρευνας.
+
+Το [Hashimoto](http://diyhpl.us/%7Ebryan/papers2/bitcoin/meh/hashimoto.pdf) είναι ένας αλγόριθμος που προσθέτει αντίσταση ASIC δεσμεύοντας I/O (δηλαδή, η ανάγνωση μνήμης είναι ο περιοριστικός παράγοντας στη διαδικασία κρυπτόρυξης). Σύμφωνα με τη θεωρία, η RAM είναι πιο διαθέσιμη από τον υπολογισμό. Έρευνες αξίας δισεκατομμυρίων δολαρίων έχουν ήδη εξετάσει τη βελτιστοποίηση της μνήμης RAM για διαφορετικές περιπτώσεις χρήσης, οι οποίες συχνά περιλαμβάνουν μοτίβα σχεδόν τυχαίας προσπέλασης (εξ ου και «μνήμη τυχαίας προσπέλασης»). Ως αποτέλεσμα, η υπάρχουσα μνήμη RAM είναι πιθανό να είναι σχετικά κοντά στο βέλτιστο επίπεδο για την αξιολόγηση του αλγορίθμου. Το Hashimoto χρησιμοποιεί το blockchain ως πηγή δεδομένων, ικανοποιώντας ταυτόχρονα τα σημεία (1) και (3) παραπάνω.
+
+Το Dagger-Hashimoto χρησιμοποίησε τροποποιημένες εκδόσεις των αλγορίθμων Dagger και Hashimoto. Η διαφορά μεταξύ του Dagger Hashimoto και του Hashimoto είναι ότι, αντί να χρησιμοποιεί το blockchain ως πηγή δεδομένων, το Dagger Hashimoto χρησιμοποιεί ένα προσαρμοσμένο σύνολο δεδομένων, το οποίο ενημερώνεται με βάση τα δεδομένα μπλοκ κάθε N μπλοκ. Το σύνολο δεδομένων δημιουργείται χρησιμοποιώντας τον αλγόριθμο Dagger, επιτρέποντας τον αποτελεσματικό υπολογισμό ενός υποσυνόλου συγκεκριμένου για κάθε nonce για τον αλγόριθμο επαλήθευσης ελαφρού πελάτη. Η διαφορά μεταξύ του Dagger Hashimoto και του Dagger είναι ότι, σε αντίθεση με το αρχικό Dagger, το σύνολο δεδομένων που χρησιμοποιείται για την αναζήτηση του μπλοκ είναι ημιμόνιμο και ενημερώνεται μόνο ανά σποραδικά διαστήματα (π.χ. μία φορά την εβδομάδα). Αυτό σημαίνει ότι το τμήμα της προσπάθειας δημιουργίας του συνόλου δεδομένων είναι κοντά στο μηδέν. Επομένως, τα επιχειρήματα του Sergio Lerner σχετικά με τις επιταχύνσεις κοινής μνήμης γίνονται αμελητέα.
+
+Περισσότερα για το [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto).
+
+## Ethash {#ethash}
+
+Το Ethash ήταν ο αλγόριθμος εξόρυξης που στην πραγματικότητα χρησιμοποιήθηκε στο αληθινό Κεντρικό Δίκτυο Ethereum υπό την πλέον καταργημένη αρχιτεκτονική της απόδειξης εργασίας. Το Ethash ήταν ουσιαστικά ένα νέο όνομα που δόθηκε σε μια συγκεκριμένη έκδοση του Dagger-Hashimoto αφού ο αλγόριθμος ενημερώθηκε σημαντικά, ενώ εξακολουθεί να κληρονομεί από τον προκάτοχό τους τις θεμελιώδεις αρχές του. Το Κεντρικό Δίκτυο Ethereum χρησιμοποίησε μόνο το Ethash. Το Dagger Hashimoto ήταν μια έκδοση Ε&Α του αλγόριθμου κρυπτόρυξης που αντικαταστάθηκε πριν ξεκινήσει η κρυπτόρυξη στο Κεντρικό Δίκτυο Ethereum.
+
+[Περισσότερα στο Ethash](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/dapps/index.md b/public/content/translations/el/developers/docs/dapps/index.md
index 29a51602c6b..ebb65e68132 100644
--- a/public/content/translations/el/developers/docs/dapps/index.md
+++ b/public/content/translations/el/developers/docs/dapps/index.md
@@ -82,7 +82,7 @@ lang: el
## Περισσότερες πληροφορίες {#further-reading}
-- [Εξερεύνηση dapp](/dapps)
+- [Εξερεύνηση dapp](/apps)
- [Η Αρχιτέκτων της εφαρμογής του Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_
- [Ένας οδηγός του 2021 για αποκεντρωμένες εφαρμογές](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) - _LimeChain_
- [Τι είναι οι αποκεντρωμένες εφαρμογές;](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) - _Gemini_
diff --git a/public/content/translations/el/developers/docs/data-and-analytics/block-explorers/index.md b/public/content/translations/el/developers/docs/data-and-analytics/block-explorers/index.md
new file mode 100644
index 00000000000..bdba8fd82e4
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-and-analytics/block-explorers/index.md
@@ -0,0 +1,258 @@
+---
+title: Εξερευνητές Block
+description: Μια εισαγωγή στους εξερευνητές block, η πύλη σας στον κόσμο των δεδομένων blockchain, όπου μπορείτε να ζητήσετε πληροφορίες σχετικά με συναλλαγές, λογαριασμούς, συμβόλαια και πολλά άλλα.
+lang: el
+sidebarDepth: 3
+---
+
+Οι εξερευνητές block είναι η πύλη σας για τα δεδομένα του Ethereum. Μπορείτε να τα χρησιμοποιήσετε για να δείτε δεδομένα σε πραγματικό χρόνο για μπλοκ, συναλλαγές, επικυρωτές, λογαριασμούς και άλλες δραστηριότητες στην αλυσίδα.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να κατανοήσετε τις βασικές έννοιες του Ethereum ώστε να μπορείτε να κατανοήσετε τα δεδομένα που σας δίνει ένας εξερευνητής μπλοκ. Ξεκινήστε με την [εισαγωγή στο Ethereum](/developers/docs/intro-to-ethereum/).
+
+## Υπηρεσίες {#services}
+
+- [Etherscan](https://etherscan.io/) -_διαθέσιμο στα Κινεζικά, Κορεατικά, Ρωσικά και Ιαπωνικά_
+- [3xpl](https://3xpl.com/ethereum)
+- [Beaconcha.in](https://beaconcha.in/)
+- [Blockchair](https://blockchair.com/ethereum) -_διαθέσιμο στα Ισπανικά, Γαλλικά, Ιταλικά, Ολλανδικά, Πορτογαλικά, Ρωσικά, Κινέζικα και Φαρσί_
+- [Blockscout](https://eth.blockscout.com/)
+- [Chainlens](https://www.chainlens.com/)
+- [Εξερευνητής Block DexGuru](https://ethereum.dex.guru/)
+- [Etherchain](https://www.etherchain.org/)
+- [Ethernow](https://www.ethernow.xyz/)
+- [Ethplorer](https://ethplorer.io/) -_διαθέσιμο στα Κινεζικά, Ισπανικά, Γαλλικά, Τουρκικά, Ρωσικά, Κορεατικά και Βιετναμεζικά_
+- [EthVM](https://www.ethvm.com/)
+- [OKLink](https://www.oklink.com/eth)
+- [Rantom](https://rantom.app/)
+- [Ethseer](https://ethseer.io)
+
+## Εργαλεία ανοιχτού κώδικα {#open-source-tools}
+
+- [Otterscan](https://otterscan.io/)
+- [lazy-etherscan](https://github.com/woxjro/lazy-etherscan)
+
+## Δεδομένα {#data}
+
+Το Ethereum είναι διαφανές από τη σχεδίασή του, επομένως όλα είναι επαληθεύσιμα. Οι εξερευνητές block παρέχουν ένα περιβάλλον για τη λήψη αυτών των πληροφοριών. Και αυτό είναι τόσο για το κύριο δίκτυο Ethereum όσο και για τα δίκτυα δοκιμών, εάν χρειάζεστε αυτά τα δεδομένα. Τα δεδομένα χωρίζονται σε δεδομένα εκτέλεσης και δεδομένα συναίνεσης. Τα δεδομένα εκτέλεσης αναφέρονται στις συναλλαγές που έχουν εκτελεστεί σε ένα συγκεκριμένο block. Τα δεδομένα συναίνεσης αναφέρονται στα ίδια τα block και τους επικυρωτές που τα πρότειναν.
+
+Ακολουθεί μια σύνοψη των τύπων δεδομένων που μπορείτε να λάβετε από έναν εξερευνητή block.
+
+### Δεδομένα εκτέλεσης {#execution-data}
+
+Νέα block προστίθενται στο Ethereum κάθε 12 δευτερόλεπτα (εκτός αν κάποιος που προτείνει block χάσει τη σειρά του), έτσι μια σχεδόν σταθερή ροή δεδομένων προστίθεται στους εξερευνήτες block. Τα block περιέχουν πολλά σημαντικά δεδομένα που μπορεί να σας φανούν χρήσιμα:
+
+**Βασικά δεδομένα**
+
+- Ύψος block - Ο αριθμός block και το μήκος της αλυσίδας blockchain (σε block) κατά τη δημιουργία του τρέχοντος block
+- Χρονική σήμανση - Η ώρα κατά την οποία προτάθηκε ένα block
+- Συναλλαγές - Ο αριθμός των συναλλαγών που περιλαμβάνονται στο block
+- Αποδέκτης αμοιβής - Η διεύθυνση που έλαβε αμοιβές gas από συναλλαγές
+- Ανταμοιβή μπλοκ - Το ποσό ETH που απονέμεται στον επικυρωτή που πρότεινε το μπλοκ.
+- Μέγεθος - Το μέγεθος των δεδομένων μέσα στο μπλοκ (μετρημένο σε bytes)
+- Gas που χρησιμοποιείται - Οι συνολικές μονάδες gas που χρησιμοποιούνται από τις συναλλαγές στο μπλοκ
+- Όριο gas - Τα συνολικά όρια gas που ορίζονται από τις συναλλαγές στο μπλοκ
+- Βασική χρέωση ανά gas - Ο ελάχιστος πολλαπλασιαστής που απαιτείται για να συμπεριληφθεί μια συναλλαγή σε ένα μπλοκ
+- Καμένα τέλη - Πόσο ETH καίγεται στο μπλοκ
+- Επιπλέον δεδομένα - Οποιαδήποτε επιπλέον δεδομένα έχει συμπεριλάβει ο δημιουργός στο μπλοκ
+
+**Δεδομένα για προχωρημένους**
+
+- Hash - Το κρυπτογραφικό hash που αντιπροσωπεύει την κεφαλίδα του μπλοκ (το μοναδικό αναγνωριστικό του μπλοκ)
+- Γονικό hash - Το hash του μπλοκ που προηγήθηκε του τρέχοντος μπλοκ
+- StateRoot - Η ρίζα hash του Merkle trie που αποθηκεύει ολόκληρη την κατάσταση του συστήματος
+
+### Καύσιμα {#gas}
+
+Οι εξερευνητές μπλοκ όχι μόνο θα σας δώσουν δεδομένα σχετικά με τη χρήση Gas σε συναλλαγές και μπλοκ, αλλά ορισμένοι θα σας δώσουν πληροφορίες για τις τρέχουσες τιμές gas του δικτύου. Αυτό θα σας βοηθήσει να κατανοήσετε τη χρήση του δικτύου, να υποβάλετε ασφαλείς συναλλαγές και να μην ξοδέψετε υπερβολικό gas. Αναζητήστε για API που μπορούν να σας βοηθήσουν να μεταφέρετε αυτές τις πληροφορίες στη διεπαφή του προϊόντος σας. Τα συγκεκριμένα δεδομένα για το gas καλύπτουν:
+
+- Εκτιμώμενες μονάδες gas που απαιτούνται για μια ασφαλή αλλά αργή συναλλαγή (+ εκτιμώμενη τιμή και διάρκεια)
+- Εκτιμώμενες μονάδες gas που απαιτούνται για μια μέση συναλλαγή (+ εκτιμώμενη τιμή και διάρκεια)
+- Εκτιμώμενες μονάδες gas που απαιτούνται για μια γρήγορη συναλλαγή (+ εκτιμώμενη τιμή και διάρκεια)
+- Μέσος χρόνος επιβεβαίωσης με βάση την τιμή του gas
+- Συμβόλαια που καταναλώνουν gas - με άλλα λόγια, δημοφιλή προϊόντα που βλέπουν μεγάλη χρήση στο δίκτυο
+- Λογαριασμοί που ξοδεύουν gas, με άλλα λόγια, συχνοί χρήστες του δικτύου
+
+### Συναλλαγές {#transactions}
+
+Οι εξερευνητές μπλοκ έχουν γίνει ένα κοινό μέρος για τους ανθρώπους να παρακολουθούν την πρόοδο των συναλλαγών τους. Αυτό συμβαίνει επειδή το επίπεδο λεπτομέρειας που μπορείτε να αποκτήσετε παρέχει επιπλέον βεβαιότητα. Τα δεδομένα συναλλαγών περιλαμβάνουν:
+
+**Βασικά δεδομένα**
+
+- Transaction hash - Ένας κρυπτογραφικός αριθμός που παράγεται όταν υποβάλλεται η συναλλαγή
+- Status - Μια ένδειξη αν η συναλλαγή εκκρεμεί, απέτυχε ή ολοκληρώθηκε με επιτυχία
+- Block - Το μπλοκ στο οποίο έχει συμπεριληφθεί η συναλλαγή
+- Timestamp - Η χρονική στιγμή κατά την οποία μια συναλλαγή συμπεριλήφθηκε σε ένα μπλοκ που προτάθηκε από έναν επικυρωτή
+- From - Η διεύθυνση του λογαριασμού που υπέβαλε τη συναλλαγή
+- To - Η διεύθυνση του παραλήπτη ή του έξυπνου συμβολαίου με το οποίο αλληλεπιδρά η συναλλαγή
+- Tokens transferred - Μια λίστα με τα token που μεταφέρθηκαν ως μέρος της συναλλαγής
+- Value - Η συνολική αξία σε ETH που μεταφέρεται
+- Transaction fee - Το ποσό που καταβάλλεται στον επικυρωτή για την επεξεργασία της συναλλαγής (υπολογίζεται από την τιμή του gas * το χρησιμοποιημένο gas)
+
+**Δεδομένα για προχωρημένους**
+
+- Gas limit - Ο μέγιστος αριθμός μονάδων gas που μπορεί να καταναλώσει αυτή η συναλλαγή
+- Gas used - Η πραγματική ποσότητα μονάδων gas που κατανάλωσε η συναλλαγή
+- Gas price - Η τιμή που ορίζεται ανά μονάδα gas
+- Nonce - Ο αριθμός συναλλαγής `from` τη διεύθυνση (να θυμάστε ότι αυτό ξεκινά από το 0, οπότε ένα nonce `100` θα ήταν στην πραγματικότητα η 101η συναλλαγή που υποβλήθηκε από αυτόν τον λογαριασμό)
+- Input data - Οποιαδήποτε πρόσθετη πληροφορία απαιτείται από τη συναλλαγή
+
+### Λογαριασμοί {#accounts}
+
+Υπάρχουν πολλά δεδομένα στα οποία μπορείτε να αποκτήσετε πρόσβαση σχετικά με έναν λογαριασμό. Γι' αυτό συνιστάται συχνά να χρησιμοποιείτε πολλούς λογαριασμούς, ώστε τα περιουσιακά σας στοιχεία και η αξία σας να μην μπορούν να παρακολουθούνται εύκολα. Υπάρχουν επίσης ορισμένες λύσεις που αναπτύσσονται για να γίνουν πιο ιδιωτικές οι συναλλαγές και η δραστηριότητες λογαριασμού. Αλλά εδώ είναι τα δεδομένα που είναι διαθέσιμα για λογαριασμούς:
+
+**Λογαριασμός χρήστη**
+
+- Διεύθυνση λογαριασμού - Η δημόσια διεύθυνση στην οποία μπορείτε να χρησιμοποιήσετε για να στείλετε χρήματα
+- Υπόλοιπο ETH - Το ποσό του ETH που σχετίζεται με αυτόν τον λογαριασμό
+- Συνολική αξία ETH - Η αξία του ETH
+- Tokens - Τα διακριτικά που σχετίζονται με τον λογαριασμό και την αξία τους
+- Ιστορικό συναλλαγών - Μια λίστα με όλες τις συναλλαγές στις οποίες αυτός ο λογαριασμός ήταν είτε ο αποστολέας είτε ο παραλήπτης
+
+**Έξυπνα συμβόλαια**
+
+Οι λογαριασμοί έξυπνων συμβολαίων έχουν όλα τα δεδομένα που θα έχει ένας λογαριασμός χρήστη, αλλά ορισμένοι εξερευνητές μπλοκ θα εμφανίζουν ακόμη και ορισμένες πληροφορίες κώδικα. Τα παραδείγματα περιλαμβάνουν:
+
+- Δημιουργός συμβολαίου - Η διεύθυνση που ανέπτυξε τη συμβόλαιο στο Mainnet
+- Συναλλαγή δημιουργίας - Η συναλλαγή που περιλάμβανε την ανάπτυξη στο Mainnet
+- Source code - Ο κώδικας solidity ή vyper της έξυπνης σύμβασης
+- Contract ABI - Το Application Binary Interface της σύμβασης—οι κλήσεις που κάνει η σύμβαση και τα δεδομένα που λαμβάνει
+- Contract creation code - Ο μεταγλωττισμένος bytecode της έξυπνης σύμβαση, δημιουργείται όταν μεταγλωττίζετε μια έξυπνη σύμβαση γραμμένη σε Solidity ή Vyper, κ.λπ.
+- Contract events - Ένα ιστορικό των μεθόδων που κλήθηκαν στην έξυπνη σύμβαση, βασικά ένας τρόπος να δείτε πώς χρησιμοποιείται η σύμβαση και πόσο συχνά
+
+### Κρυπτονομίσματα {#tokens}
+
+Τα token είναι ένας τύπος σύμβασης, επομένως θα έχουν παρόμοια δεδομένα με μια έξυπνη σύμβαση. Αλλά επειδή έχουν αξία και μπορούν να διαπραγματευτούν, έχουν πρόσθετα σημεία δεδομένων:
+
+- Τύπος - Εάν είναι ERC-20, ERC-721 ή άλλο πρότυπο token
+- Τιμή - Εάν είναι ERC-20 θα έχουν μια τρέχουσα αγοραία αξία
+- Αγοραία κεφαλαιοποίηση - Εάν είναι ERC-20 θα έχουν μια αγοραία κεφαλαιοποίηση (υπολογίζεται από την τιμή * συνολική προσφορά)
+- Συνολική προσφορά - Ο αριθμός των token σε κυκλοφορία
+- Κάτοχοι - Ο αριθμός των διευθύνσεων που κατέχουν το token
+- Μεταφορές - Ο αριθμός που έχει μεταφερθεί το token μεταξύ λογαριασμών
+- Ιστορικό συναλλαγών - Ένα ιστορικό όλων των συναλλαγών συμπεριλαμβανομένου του token
+- Διεύθυνση σύμβασης - Η διεύθυνση του token που αναπτύχθηκε στο Mainnet
+- Δεκαδικά ψηφία - Τα token ERC-20 είναι διαιρετά και έχουν δεκαδικά ψηφία
+
+### Δίκτυο {#network}
+
+Μερικά δεδομένα μπλοκ αφορούν την υγεία του Ethereum πιο ολιστικά.
+
+- Συνολικές συναλλαγές - Ο αριθμός των συναλλαγών από τη δημιουργία του Ethereum
+- Συναλλαγές ανά δευτερόλεπτο - Ο αριθμός των συναλλαγών που μπορούν να επεξεργαστούν μέσα σε ένα δευτερόλεπτο
+- Τιμή ETH - Οι τρέχουσα αξία για 1 ETH
+- Συνολική προσφορά ETH - Αριθμός ETH σε κυκλοφορία, να θυμάστε ότι δημιουργείται νέο ETH με τη δημιουργία κάθε μπλοκ με τη μορφή ανταμοιβών μπλοκ
+- Κεφαλαιοποίηση αγοράς - Υπολογισμός τιμής\* προσφοράς
+
+## Δεδομένα συναινετικού επιπέδου {#consensus-layer-data}
+
+### Εποχή {#epoch}
+
+Για λόγους ασφαλείας, δημιουργούνται τυχαίες επιτροπές επικυρωτών στο τέλος κάθε εποχής (κάθε 6,4 λεπτά). Τα δεδομένα εποχής περιλαμβάνουν:
+
+- Αριθμό εποχής
+- Οριστικοποιημένη κατάσταση - Εάν η εποχή έχει οριστικοποιηθεί (Ναι/Όχι)
+- Ώρα - Η ώρα που τελείωσε η εποχή
+- Ο αριθμός των βεβαιώσεων σε μια εποχή (ψηφοφορίες για μπλοκ εντός διαστημάτων).
+- Deposits - Ο αριθμός των καταθέσεων ETH που συμπεριλήφθηκαν στην εποχή (οι επικυρωτές πρέπει να καταθέσουν ETH για να γίνουν επικυρωτές).
+- Slashings - Αριθμός ποινών που επιβλήθηκαν σε προτείνοντες μπλοκ ή επικυρωτές.
+- Συμμετοχή στην Ψηφοφορία - Η ποσότητα του δεσμευμένου ETH που χρησιμοποιήθηκε για να βεβαιωθούν μπλοκ.
+- Validators - Αριθμός επικυρωτών ενεργών για την εποχή
+- Μέσο υπόλοιπο επικυρωτή - Μέσο υπόλοιπο για ενεργούς επικυρωτές
+- Διαστήματα - Αριθμός διαστημάτων που συμπεριλήφθηκαν στην εποχή (τα διαστήματα περιλαμβάνουν ένα έγκυρο μπλοκ).
+
+### Υποδοχή {#slot}
+
+Οι υποδοχές είναι οι ευκαιρίες για τη δημιουργία ενός μπλοκ, τα διαθέσιμα δεδομένα για κάθε θέση περιλαμβάνουν:
+
+- Εποχή - Η εποχή στην οποία το slot είναι έγκυρο
+- Αριθμός υποδοχής
+- Κατάσταση - Η κατάσταση του slot (Προτεινόμενο/Χαμένο)
+- Χρόνος - Η χρονική σφραγίδα του slot
+- Προτείνων - Ο επικυρωτής που πρότεινε το μπλοκ για το slot
+- Ρίζα μπλοκ - Η ρίζα δέντρου κατακερματισμού του BeaconBlock
+- Ρίζα γονέα - Ο κατακερματισμός του μπλοκ που προηγήθηκε
+- Ρίζα κατάστασης - Η ρίζα δέντρου κατακερματισμού του BeaconState
+- Υπογραφή
+- Αποκάλυψη Randao
+- Γκράφιτι - Ένας προτείνων μπλοκ μπορεί να συμπεριλάβει μήνυμα 32 byte στο προτεινόμενο μπλοκ του
+- Δεδομένα εκτέλεσης
+ - Αναγνωριστικό μπλοκ
+ - Αριθμός καταθέσεων
+ - Ρίζα κατάθεσης
+- Βεβαιώσεις - Αριθμός βεβαιώσεων για το μπλοκ σε αυτό το slot
+- Καταθέσεις - Ο αριθμός των καταθέσεων κατά τη διάρκεια αυτού του slot
+- Εθελούσιες εξόδοι - Ο αριθμός των επικυρωτών που έφυγαν κατά τη διάρκεια του slot
+- Slashings - Αριθμός ποινών που επιβλήθηκαν σε προτείνοντες μπλοκ ή επικυρωτές.
+- Ψήφοι - Οι επικυρωτές που ψήφισαν για το μπλοκ σε αυτό το slot
+
+### Μπλοκ {#blocks-1}
+
+Η απόδειξη συμμετοχής χωρίζει τον χρόνο σε slots και εποχές. Αυτό λοιπόν σημαίνει νέα δεδομένα!
+
+- Προτείνων - Ο επικυρωτής που επιλέχθηκε αλγοριθμικά για να προτείνει το νέο μπλοκ
+- Εποχή - Η εποχή κατά την οποία προτάθηκε το μπλοκ
+- Slot - Το slot στο οποίο προτάθηκε το μπλοκ
+- Βεβαιώσεις - Ο αριθμός των βεβαιώσεων που περιλαμβάνονται στο slot - οι βεβαιώσεις είναι σαν ψήφοι που υποδεικνύουν ότι το μπλοκ είναι έτοιμο να πάει στην αλυσίδα Beacon
+
+### Επικυρωτές {#validators}
+
+Οι επικυρωτές είναι υπεύθυνοι για την πρόταση μπλοκ και την βεβαίωσή τους εντός των υποδοχών.
+
+- Αριθμός επικυρωτή - Μοναδικός αριθμός που αντιπροσωπεύει τον επικυρωτή
+- Τρέχον υπόλοιπο - Το υπόλοιπο του επικυρωτή συμπεριλαμβανομένων των ανταμοιβών
+- Ενεργό υπόλοιπο - Το υπόλοιπο του επικυρωτή που χρησιμοποιείται για αποθήκευση
+- Εισόδημα - Οι ανταμοιβές ή οι ποινές που έλαβε ο επικυρωτής
+- Κατάσταση - Εάν το πρόγραμμα επικύρωσης είναι επί του παρόντος συνδεδεμένο και ενεργό ή όχι
+- Αποτελεσματικότητα επικύρωσης: Ο μέσος χρόνος που χρειάζεται για να συμπεριληφθούν οι επικυρώσεις του επικυρωτή στην αλυσίδα.
+- Καταλληλότητα για ενεργοποίηση - Ημερομηνία (και εποχή) κατά την οποία ο επικυρωτής έγινε διαθέσιμος για επικύρωση
+- Ενεργό από - Ημερομηνία (και εποχή) που έγινε ενεργός ο επικυρωτής
+- Προτεινόμενα μπλοκ - Το μπλοκ που έχει προτείνει ο επικυρωτής
+- Επικυρώσεις - Οι επικυρώσεις που έχει παρέχει ο επικυρωτής.
+- Καταθέσεις - Η διεύθυνση από την οποία έγινε η κατάθεση, το hash της συναλλαγής, ο αριθμός του μπλοκ, η χρονική σφραγίδα, το ποσό και η κατάσταση της κατάθεσης που έγιναν από τον Επικυρωτή.
+
+### Επαληθεύσεις {#attestations}
+
+Οι βεβαιώσεις είναι ψήφοι «ναι» για τη συμπερίληψη μπλοκ στην αλυσίδα. Τα δεδομένα τους σχετίζονται με ένα αρχείο της βεβαίωσης και τους επικυρωτές που βεβαίωσαν
+
+- Slot: Το χρονικό διάστημα κατά το οποίο έγινε η επικύρωση.
+- Δείκτης επιτροπής: Ο δείκτης της επιτροπής που συμμετείχε σε αυτήν την επικύρωση.
+- Bits συσσωμάτωσης: Αντιπροσωπεύει τη συσσωματωμένη επικύρωση όλων των συμμετεχόντων επικυρωτών στην επικύρωση.
+- Επικυρωτές: Οι επικυρωτές που παρείχαν επικυρώσεις.
+- Root μπλοκ beacon: Δείχνει στο μπλοκ στο οποίο οι επικυρωτές κάνουν επικύρωση.
+- Πηγή - Παραπέμπει στην τελευταία δικαιολογημένη εποχή
+- Στόχος: Δείχνει στο όριο της τελευταίας εποχής.
+- Υπογραφή
+
+### Δίκτυο {#network-1}
+
+Τα δεδομένα ανωτάτου επιπέδου του επιπέδου συναίνεσης περιλαμβάνουν τα ακόλουθα:
+
+- Τρέχουσα εποχή
+- Τρέχουσα υποδοχή
+- Ενεργοί επικυρωτές - Αριθμός ενεργών επικυρωτών
+- Εκκρεμείς επικυρωτές - Αριθμός επικυρωτών που περιμένουν να ενεργοποιηθούν
+- Staked ETH: Το συνολικό ποσό του ETH που έχει δεσμευτεί στο δίκτυο.
+- Μέσο υπόλοιπο - Μέσο υπόλοιπο ETH επικυρωτών
+
+## Εξερευνητές Block {#block-explorers}
+
+- [Etherscan](https://etherscan.io/) - ένας εξερευνητής μπλοκ που μπορείτε να χρησιμοποιήσετε για την ανάκτηση δεδομένων για το Ethereum Mainnet και το Goerli Testnet
+- [3xpl](https://3xpl.com/ethereum): Ένας ανοιχτού κώδικα εξερευνητής Ethereum χωρίς διαφημίσεις που επιτρέπει τη λήψη των συνόλων δεδομένων του.
+- [Beaconcha.in](https://beaconcha.in/): Ένας ανοιχτού κώδικα εξερευνητής μπλοκ για το κύριο δίκτυο του Ethereum και το δοκιμαστικό δίκτυο Goerli.
+- [Blockchair](https://blockchair.com/ethereum): ο πιο ιδιωτικός εξερευνητής Ethereum. Επίσης για ταξινόμηση και φιλτράρισμα δεδομένων του mempool.
+- [Etherchain](https://www.etherchain.org/) - ένας εξερευνητής μπλοκ για το κεντρικό δίκτυο του Ethereum
+- [Ethplorer](https://ethplorer.io/): Ένας εξερευνητής μπλοκ με έμφαση στα tokens για το κύριο δίκτυο του Ethereum και το δοκιμαστικό δίκτυο Kovan.
+- [Rantom](https://rantom.app/) - Ένας φιλικός προς το χρήστη ανοιχτού κώδικα DeFi & NFT προβολής συναλλαγών για λεπτομερείς πληροφορίες
+- [Ethernow](https://www.ethernow.xyz/): Ένας εξερευνητής συναλλαγών σε πραγματικό χρόνο που σας επιτρέπει να δείτε το προ-αλυσίδα επίπεδο του κύριου δικτύου Ethereum.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Σχετικά θέματα {#related-topics}
+
+- [Συναλλαγές](/developers/docs/transactions/)
+- [Λογαριασμοί](/developers/docs/accounts/)
+- [Δίκτυα](/developers/docs/networks/)
diff --git a/public/content/translations/el/developers/docs/data-and-analytics/index.md b/public/content/translations/el/developers/docs/data-and-analytics/index.md
new file mode 100644
index 00000000000..f5ed9d45d3a
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-and-analytics/index.md
@@ -0,0 +1,59 @@
+---
+title: Δεδομένα και αναλύσεις
+description: Πώς να πάρετε αναλυτικά στοιχεία επί της αλυσίδας και δεδομένα, για χρήση με τις εφαρμογές σας
+lang: el
+---
+
+## Εισαγωγή {#Introduction}
+
+Με τη χρήση του δικτύου να συνεχίζει να αυξάνεται, ένας αυξανόμενος αριθμός πολύτιμων πληροφοριών θα υπάρχει στα δεδομένα επί της αλυσίδας. Καθώς ο όγκος των δεδομένων αυξάνεται ραγδαία, ο υπολογισμός και η συγκέντρωση αυτών των πληροφοριών για αναφορά ή οδήγηση μίας εφαρμογής, μπορεί να καταλήξει σε μια χρονοβόρα διαδικασία.
+
+Η αξιοποίηση των υφιστάμενων παρόχων δεδομένων μπορεί να επιταχύνει την ανάπτυξη, να παράγει πιο ακριβή αποτελέσματα και να μειώσει τις συνεχείς προσπάθειες συντήρησης. Αυτό θα επιτρέψει σε μια ομάδα να συγκεντρωθεί στη βασική λειτουργικότητα που προσπαθεί να προσφέρει το έργο τους.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να κατανοήσετε τη βασική έννοια των [Εξερευνητών μπλοκ](/developers/docs/data-and-analytics/block-explorers/) προκειμένου να κατανοήσετε καλύτερα τη χρήση τους στο πλαίσιο της ανάλυσης δεδομένων. Επιπλέον, εξοικειωθείτε με την έννοια του [index](/glossary/#index) για να κατανοήσετε τα οφέλη που προσθέτουν σε σχεδιασμό συστήματος.
+
+Όσον αφορά τα αρχιτεκτονικά βασικά, κατανόηση τι είναι το [API](https://www.wikipedia.org/wiki/API) και το [REST](https://www.wikipedia.org/wiki/Representational_state_transfer), ακόμη και στη θεωρία.
+
+## Εξερευνητές μπλοκ {#block-explorers}
+
+Πολλοί [Εξερευνητές μπλοκ](/developers/docs/data-and-analytics/block-explorers/) προσφέρουν πύλες [RESTful](https://www.wikipedia.org/wiki/Representational_state_transfer) [API](https://www.wikipedia.org/wiki/API) που θα παρέχουν στους προγραμματιστές προβολή δεδομένων σε πραγματικό χρόνο για μπλοκ, συναλλαγές, επικυρωτές, λογαριασμούς και άλλες δραστηριότητες επί της αλυσίδας.
+
+Οι προγραμματιστές μπορούν στη συνέχεια να επεξεργαστούν και να μετατρέψουν αυτά τα δεδομένα για να δώσουν στους χρήστες τους μοναδικές ιδέες και αλληλεπιδράσεις με την [κρυπτοαλυσίδα](/glossary/#blockchain). Για παράδειγμα, το [Etherscan](https://etherscan.io) παρέχει δεδομένα εκτέλεσης και συναίνεσης για κάθε θέση των 12 δευτ.
+
+## Το «Graph» {#the-graph}
+
+Το [Δίκτυο Graph](https://thegraph.com/) είναι ένα αποκεντρωμένο πρωτόκολλο αρχειοθέτησης, για την οργάνωση των δεδομένων της κρυπτοαλυσίδας. Αντί να δημιουργηθούν και να διαχειρίζονται αποθηκευτικοί χώροι εκτός αλυσίδας σε κεντρικά σημεία για τη συγκέντρωση των δεδομένων επί της αλυσίδας, με το The Graph, οι προγραμματιστές μπορούν να δημιουργήσουν εφαρμογές χωρίς τη χρήση διακομιστών, που θα λειτουργούν εξ ολοκλήρου σε δημόσιες υποδομές.
+
+Χρησιμοποιώντας το [GraphQL](https://graphql.org/), οι προγραμματιστές μπορούν να ζητήσουν οποιοδήποτε από τα επιμελημένα ανοιχτά API, γνωστά ως υπογραφήμματα, για να αποκτήσουν τις απαραίτητες πληροφορίες που χρειάζονται για να καθοδηγήσουν τις εφαρμογές τους. Με τα ερωτήματα αυτών των αρχειοθετημένων υπογραφημάτων, οι Αναφορές και οι εφαρμογές δεν απολαμβάνουν μόνο οφέλη της απόδοσης και της επεκτασιμότητας, αλλά και την ενσωματωμένη ακρίβεια που παρέχεται με τη συναίνεση του δικτύου. Καθώς προστίθενται νέες βελτιώσεις ή/και υπογραφήματα στο δίκτυο, τα έργα σας μπορούν να επαναληφθούν γρήγορα για να επωφεληθούν από αυτές τις βελτιώσεις.
+
+## Διαφορετικότητα λογισμικού πελάτη
+
+Η [Διαφορετικότητα των εφαρμογών πελάτη](/developers/docs/nodes-and-clients/client-diversity/) είναι σημαντική για τη συνολική υγεία του δικτύου Ethereum επειδή παρέχει ανθεκτικότητα σε σφάλματα και εκμεταλλεύσεις. Υπάρχουν αρκετοί πίνακες εργαλείων διαφορετικών εφαρμογών πελάτη, συμπεριλαμβανομένων των [clientdiversity.org](https://clientdiversity.org/), του [rated.network](https://www.rated.network), του [supermajority.info](https://supermajority.info//) και του [Ethernodes](https://ethernodes.org/).
+
+## Στατιστικά Dune {#dune-analytics}
+
+Το [Dune Analytics](https://dune.com/) προεπεξεργάζεται δεδομένα blockchain σε πίνακες σχεσιακών βάσεων δεδομένων (DuneSQL) και επιτρέπει στους χρήστες να αναζητούν δεδομένα blockchain χρησιμοποιώντας την SQL και να δημιουργούν πίνακες ελέγχου με βάση τα αποτελέσματα των ερωτημάτων. Τα δεδομένα επί της αλυσίδας οργανώνονται σε 4 αδόμητους πίνακες: τα `block`, τις `transactions`, τα (συμβάντα) `logs` και (κλήσεις) `traces`. Δημοφιλή συμβόλαια και πρωτόκολλα έχουν αποκωδικοποιηθεί και το καθένα έχει το δικό του σύνολο πινάκων συμβάντων και κλήσεων. Αυτοί οι πίνακες συμβάντων και κλήσεων υποβάλλονται σε περαιτέρω επεξεργασία και οργανώνονται σε πίνακες αφαίρεσης ανάλογα με τον τύπο των πρωτοκόλλων, για παράδειγμα, ανταλλακτήρια, δανεισμού, σταθερά κρύπτο κ.λπ.
+
+## Δίκτυο SubQuery {#subquery-network}
+
+Το [SubQuery](https://subquery.network/) είναι ένα κορυφαίο πρόγραμμα ευρετηρίου δεδομένων που παρέχει στους προγραμματιστές γρήγορα, αξιόπιστα, αποκεντρωμένα και προσαρμοσμένα API για τα έργα web3 τους. Το SubQuery υποστηρίζει προγραμματιστές από περισσότερα από 165 οικοσυστήματα (συμπεριλαμβανομένου του Ethereum) με πλούσια ευρετηριασμένα δεδομένα για να δημιουργήσουν μια διαισθητική και καθηλωτική εμπειρία για τους χρήστες τους. Το Δίκτυο SubQuery υποστηρίζει τις ασταμάτητες εφαρμογές σας με ένα ανθεκτικό και αποκεντρωμένο δίκτυο υποδομής. Χρησιμοποιήστε την εργαλειοθήκη προγραμματιστών blockchain της SubQuery για να δημιουργήσετε τις εφαρμογές web3 του μέλλοντος, χωρίς να ξοδεύετε χρόνο για τη δημιουργία ενός προσαρμοσμένου backend για δραστηριότητες επεξεργασίας δεδομένων.
+
+Για να ξεκινήσετε, επισκεφτείτε τον [οδηγό γρήγορης εκκίνησης Ethereum](https://academy.subquery.network/quickstart/quickstart_chains/ethereum-gravatar.html) για να ξεκινήσετε την ευρετηρίαση δεδομένων blockchain Ethereum μέσα σε λίγα λεπτά, σε ένα τοπικό περιβάλλον Docker για δοκιμή, πριν μεταβείτε σε μια [διαχειριζόμενη υπηρεσία του SubQuery](https://managedservice.subquery.network/) ή σε [Αποκεντρωμένο δίκτυο του SubQuery](https://app.subquery.network/dashboard).
+
+## Πρόγραμμα δεδομένων Ethernow - Mempool {#ethernow}
+Το [Blocknative](https://www.blocknative.com/) παρέχει ανοιχτή πρόσβαση στο ιστορικό [αρχείο δεδομένων του mempool](https://www.ethernow.xyz/mempool-data-archive) στο Ethereum. Αυτό δίνει τη δυνατότητα σε ερευνητές και σε έργα της κοινότητας να εξερευνήσουν το επίπεδο προ-αλυσίδας του Ethereum Mainnet. Το σύνολο δεδομένων διατηρείται ενεργά και αντιπροσωπεύει το πιο ολοκληρωμένο ιστορικό αρχείο γεγονότων συναλλαγών mempool εντός του οικοσυστήματος του Ethereum. Μάθετε περισσότερα για το [Ethernow](https://www.ethernow.xyz/).
+
+## Γλώσσα ερωτήματος EVM
+
+Η Γλώσσα Ερωτημάτων EVM (EQL) είναι μια γλώσσα που μοιάζει με SQL και έχει σχεδιαστεί για να υποβάλλει ερωτήματα σε αλυσίδες EVM (Εικονική μηχανή Ethereum). Ο απώτερος στόχος της EQL είναι να υποστηρίξει σύνθετα σχεσιακά ερωτήματα σε πολίτες πρώτης κατηγορίας της αλυσίδας EVM (μπλοκ, λογαριασμοί και συναλλαγές), ενώ παρέχει στους προγραμματιστές και τους ερευνητές μια εργονομική σύνταξη για καθημερινή χρήση. Με το EQL, οι προγραμματιστές μπορούν να ανακτήσουν δεδομένα blockchain χρησιμοποιώντας οικεία σύνταξη τύπου SQL και να εξαλείψουν την ανάγκη για πολύπλοκο κώδικα boilerplate. Η EQL υποστηρίζει τυπικά αιτήματα δεδομένων blockchain (π.χ. ανάκτηση του μηδενικού και υπολοίπου ενός λογαριασμού στο Ethereum ή ανάκτηση του τρέχοντος μεγέθους και χρονικής σφραγίδας μπλοκ) και προσθέτει συνεχώς υποστήριξη για πιο σύνθετα αιτήματα και σύνολα χαρακτηριστικών.
+
+## Περισσότερες πληροφορίες {#further-reading}
+- [Εξερευνώντας Δεδομένα Κρύπτο I: Αρχιτεκτονική Ροής Δεδομένων](https://web.archive.org/web/20250125012042/https://research.2077.xyz/exploring-crypto-data-1-data-flow-architectures)
+- [Επισκόπηση του Δικτύου Graph](https://thegraph.com/docs/en/about/)
+- [Χώρος ανάπτυξης Graph Query](https://thegraph.com/explorer/subgraph/graphprotocol/graph-network-mainnet?version=current)
+- [Παραδείγματα κώδικα API στο EtherScan](https://etherscan.io/apis#contracts)
+- [Beaconcha.in εξερευνητής κύριας αλυσίδας](https://beaconcha.in)
+- [Τα βασικά για το Dune](https://docs.dune.com/#dune-basics)
+- [Γλώσσα ερωτήματος EVM](https://eql.sh/blog/alpha-release-notes)
diff --git a/public/content/translations/el/developers/docs/data-availability/blockchain-data-storage-strategies/index.md b/public/content/translations/el/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
new file mode 100644
index 00000000000..3b3cb1c3c28
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-availability/blockchain-data-storage-strategies/index.md
@@ -0,0 +1,118 @@
+---
+title: Στρατηγικές αποθήκευσης δεδομένων Blockchain
+description: Υπάρχουν διάφοροι τρόποι αποθήκευσης δεδομένων χρησιμοποιώντας το blockchain. Αυτό το άρθρο θα συγκρίνει τις διαφορετικές στρατηγικές, το κόστος και τους συμβιβασμούς τους, καθώς και τις απαιτήσεις για την ασφαλή χρήση τους.
+lang: el
+---
+
+Υπάρχουν πολλοί τρόποι αποθήκευσης πληροφοριών είτε απευθείας στο blockchain είτε με τρόπο που να διασφαλίζεται από αυτό:
+
+- EIP-4844 blobs
+- Calldata
+- Εκτός αλυσίδας με μηχανισμούς L1
+- «Κώδικας» συμβολαίου
+- Συμβάντα
+- Αποθηκευτικός χώρος EVM
+
+Η επιλογή της μεθόδου που θα χρησιμοποιηθεί βασίζεται σε διάφορα κριτήρια:
+
+- Η πηγή των πληροφοριών. Οι πληροφορίες στα δεδομένα κλήσης δεν μπορούν να προέρχονται απευθείας από το ίδιο το blockchain.
+- Ο προορισμός των πληροφοριών. Το Calldata είναι διαθέσιμο μόνο στη συναλλαγή που αφορά. Τα γεγονότα δεν είναι καθόλου προσβάσιμα στην αλυσίδα.
+- Πόση ταλαιπωρία είναι αποδεκτή; Οι υπολογιστές που εκτελούν έναν κόμβο πλήρους κλίμακας μπορούν να εκτελέσουν περισσότερη επεξεργασία από έναν ελαφρύ πελάτη σε μια εφαρμογή που εκτελείται σε πρόγραμμα περιήγησης.
+- Είναι απαραίτητο να διευκολυνθεί η εύκολη πρόσβαση στις πληροφορίες από κάθε κόμβο;
+- Οι απαιτήσεις ασφαλείας.
+
+## Οι απαιτήσεις ασφαλείας {#security-requirements}
+
+Γενικά, η ασφάλεια πληροφοριών αποτελείται από τρία χαρακτηριστικά:
+
+- _Εμπιστευτικότητα_, οι μη εξουσιοδοτημένες οντότητες δεν επιτρέπεται να διαβάζουν τις πληροφορίες. Αυτό είναι σημαντικό σε πολλές περιπτώσεις, αλλά όχι εδώ. _Δεν υπάρχουν μυστικά στο blockchain_. Τα blockchain λειτουργούν επειδή οποιοσδήποτε μπορεί να επαληθεύσει τις μεταβάσεις κατάστασης, επομένως είναι αδύνατο να χρησιμοποιηθούν για την απευθείας αποθήκευση μυστικών. Υπάρχουν τρόποι αποθήκευσης εμπιστευτικών πληροφοριών στο blockchain, αλλά όλοι βασίζονται σε κάποιο εξάρτημα εκτός αλυσίδας για την αποθήκευση τουλάχιστον ενός κλειδιού.
+
+- _Integrity_, οι πληροφορίες είναι σωστές, δεν μπορούν να αλλάξουν από μη εξουσιοδοτημένες οντότητες ή με μη εξουσιοδοτημένους τρόπους (για παράδειγμα, μεταφορά [ERC-20 tokens](https://eips.ethereum.org/EIPS/eip-20#events) χωρίς ένα συμβάν «Μεταφοράς»). Στο blockchain, κάθε κόμβος επαληθεύει κάθε αλλαγή κατάστασης, η οποία διασφαλίζει την ακεραιότητα.
+
+- _Διαθεσιμότητα_, οι πληροφορίες είναι διαθέσιμες σε κάθε εξουσιοδοτημένο φορέα. Στο blockchain, αυτό συνήθως επιτυγχάνεται έχοντας τις πληροφορίες διαθέσιμες σε κάθε [full node] (https://ethereum.org/developers/docs/nodes-and-clients#full-node).
+
+Οι διαφορετικές λύσεις εδώ έχουν όλες εξαιρετική ακεραιότητα, επειδή τα hashes δημοσιεύονται στο L1. Ωστόσο, έχουν διαφορετικές εγγυήσεις διαθεσιμότητας.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να κατανοείτε καλά τις [βασικές αρχές του blockchain](/developers/docs/intro-to-ethereum/). Αυτή η σελίδα προϋποθέτει επίσης ότι ο αναγνώστης είναι εξοικειωμένος με τα [blocks](/developers/docs/blocks/), [transactions](/developers/docs/transactions/) και άλλα σχετικά θέματα.
+
+## EIP-4844 blobs {#eip-4844-blobs}
+
+Ξεκινώντας με [το Dencun hardfork](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md) η κρυπτοαλυσίδα Ethereum περιλαμβάνει [EIP-4844](https:// eips.ethereum.org/EIPS/eip-4844), το οποίο προσθέτει στο Ethereum blobs δεδομένων με περιορισμένη διάρκεια ζωής (αρχικά περίπου [18 ημέρες](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration)). Αυτά τα blobs τιμολογούνται ξεχωριστά από το [execution gas](/developers/docs/gas), αν και χρησιμοποιούν παρόμοιο μηχανισμό. Είναι ένας φθηνός τρόπος για να δημοσιεύσετε προσωρινά δεδομένα.
+
+Η κύρια περίπτωση χρήσης για τα blobs EIP-4844 είναι για τα rollups που δημοσιεύουν τις συναλλαγές τους. Τα [Optimistic rollups](/developers/docs/scaling/optimistic-rollups) πρέπει να δημοσιεύουν τις συναλλαγές στα blockchains τους. Αυτές οι συναλλαγές πρέπει να είναι διαθέσιμες σε οποιονδήποτε κατά την [περίοδο πρόκλησης](https://docs.optimism.io/connect/resources/glossary#challenge-period) για να ενεργοποιηθούν οι [επικυρωτές](https://docs.optimism.io/connect/resources/glossary#validator) για να διορθώσετε το λάθος εάν ο [sequencer](https://docs.optimism.io/connect/resources/glossary#sequencer) του rollup δημοσιεύει ένα λανθασμένο root κατάστασης.
+
+Ωστόσο, μόλις περάσει η περίοδος πρόκλησης και οριστικοποιηθεί το root κατάστασης, ο σκοπός που απομένει για τη γνώση αυτών των συναλλαγών είναι η αναπαραγωγή της τρέχουσας κατάστασης της αλυσίδας. Αυτή η κατάσταση είναι επίσης διαθέσιμη από κόμβους αλυσίδας, με πολύ λιγότερη απαίτηση επεξεργασίας. Επομένως, οι πληροφορίες συναλλαγών θα πρέπει να εξακολουθούν να διατηρούνται σε μερικά μέρη, όπως [εξερευνητές μπλοκ](/developers/docs/data-and-analytics/block-explorers), αλλά δε χρειάζεται να πληρώσετε για το επίπεδο αντίστασης λογοκρισίας που παρέχει το Ethereum.
+
+Τα [Zero-knowledge rollups](/developers/docs/scaling/zk-rollups/#data-availability) δημοσιεύουν επίσης τα δεδομένα συναλλαγών τους για να επιτρέψουν σε άλλους κόμβους να αναπαράγουν την υπάρχουσα κατάσταση και να επαληθεύσουν τις αποδείξεις εγκυρότητας, αλλά και πάλι αυτό είναι βραχυπρόθεσμη απαίτηση.
+
+Κατά τη σύνταξη της ανάρτησης στο EIP-4844 κοστίζει ένα wei (10-18 ETH) ανά byte, το οποίο είναι αμελητέο σε σύγκριση με [το 21,000 gas εκτέλεσης που κοστίζει οποιαδήποτε συναλλαγή, συμπεριλαμβανομένης αυτής που δημοσιεύει blobs](https://eth.blockscout.com/tx/0xf6cfaf0431c73dd1d96369a5e6707d64f463ccf477a4131265397f1d81466929?tab=index). Μπορείτε να δείτε την τρέχουσα τιμή EIP-4844 στο [blobscan.com](https://blobscan.com/blocks).
+
+Δείτε παρακάτω τις διευθύνσεις blobs που δημοσιεύτηκαν από μερικές διάσημα rollups.
+
+| Πακέτο ενημέρωσης | Διεύθυνση |
+| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
+| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://blobscan.com/address/0xFF00000000000000000000000000000000000010) |
+| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://blobscan.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
+| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://blobscan.com/address/0xFF00000000000000000000000000000000008453) |
+
+## Calldata {#calldata}
+
+Το Calldata αναφέρεται στα byte που αποστέλλονται ως μέρος της συναλλαγής. Αποθηκεύεται ως μέρος της μόνιμης εγγραφής του blockchain στο μπλοκ που περιλαμβάνει τη συγκεκριμένη συναλλαγή.
+
+Αυτή είναι η φθηνότερη μέθοδος για μόνιμη τοποθέτηση δεδομένων στο blockchain. Το κόστος ανά byte είναι είτε 4 gas εκτέλεσης (αν το byte είναι μηδέν) είτε 16 gas (οποιαδήποτε άλλη αξία). Εάν τα δεδομένα είναι συμπιεσμένα, κάτι που είναι τυπική πρακτική, τότε κάθε τιμή byte είναι εξίσου πιθανή, επομένως το μέσο κόστος είναι περίπου 15.95 gas ανά byte.
+
+Τη στιγμή σύνταξης του άρθρου, οι τιμές είναι 12 gwei/gas και 2300 $/ETH, που σημαίνει ότι το κόστος είναι περίπου 45 σεντς ανά kilobyte. Επειδή αυτή ήταν η φθηνότερη μέθοδος πριν από την EIP-4844, αυτή είναι η μέθοδος που τα rollups χρησιμοποιούνταν για την αποθήκευση πληροφοριών συναλλαγών, οι οποίες πρέπει να είναι διαθέσιμες για [προκλήσεις σφαλμάτων](https://docs.optimism.io/stack/protocol/overview#fault-proofs), αλλά δε χρειάζεται να είναι άμεσα προσβάσιμο στην αλυσίδα.
+
+Δείτε παρακάτω τις διευθύνσεις συναλλαγών που δημοσιεύτηκαν από μερικά διάσημα rollups.
+
+| Πακέτο ενημέρωσης | Διεύθυνση |
+| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
+| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000000010) |
+| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://eth.blockscout.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
+| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000008453) |
+
+## Offchain με μηχανισμούς L1 {#offchain-with-l1-mechs}
+
+Ανάλογα με τους συμβιβασμούς ασφαλείας σας, μπορεί να είναι αποδεκτό να τοποθετήσετε τις πληροφορίες αλλού και να χρησιμοποιήσετε έναν μηχανισμό που διασφαλίζει ότι τα δεδομένα είναι διαθέσιμα όταν χρειάζεται. Υπάρχουν δύο προϋποθέσεις για να λειτουργήσει αυτό:
+
+1. Δημοσιεύστε ένα [hash](https://en.wikipedia.org/wiki/Cryptographic_hash_function) των δεδομένων στο blockchain, που ονομάζεται _input commitment_. Αυτό μπορεί να είναι μια λέξη 32 byte, επομένως δεν είναι ακριβή. Εφόσον η δέσμευση εισόδου είναι διαθέσιμη, η ακεραιότητα είναι εξασφαλισμένη επειδή δεν είναι εφικτό να βρεθούν άλλα δεδομένα που θα κάνουν hash την ίδια τιμή. Έτσι, εάν παρέχονται λανθασμένα δεδομένα, μπορούν να εντοπιστούν.
+
+2. Να έχετε έναν μηχανισμό που διασφαλίζει τη διαθεσιμότητα. Για παράδειγμα, στο [Redstone](https://redstone.xyz/docs/what-is-redstone) οποιοσδήποτε κόμβος μπορεί να υποβάλει μια πρόκληση διαθεσιμότητας. Εάν ο sequencer δεν ανταποκριθεί στην αλυσίδα εντός της προθεσμίας, η δέσμευση εισόδου απορρίπτεται, επομένως οι πληροφορίες θεωρείται ότι δεν έχουν δημοσιευτεί ποτέ.
+
+Αυτό είναι αποδεκτό για ένα optimistic rollup, επειδή βασιζόμαστε ήδη στην ύπαρξη τουλάχιστον ενός ειλικρινούς επαληθευτή για το root της κατάστασης. Ένας τέτοιος ειλικρινής επαληθευτής θα βεβαιωθεί επίσης ότι διαθέτει τα δεδομένα για την επεξεργασία μπλοκ και θα εκδώσει μια πρόκληση διαθεσιμότητας εάν οι πληροφορίες δεν είναι διαθέσιμες εκτός αλυσίδας. Αυτός ο τύπος optimistic rollup ονομάζεται [plasma](/developers/docs/scaling/plasma/).
+
+## Κώδικάς συμβολαίου {#contract-code}
+
+Οι πληροφορίες που χρειάζεται να γραφτούν μόνο μία φορά, δεν αντικαθίστανται ποτέ και πρέπει να είναι διαθέσιμες στην αλυσίδα και να μπορούν να αποθηκευτούν ως κώδικας συμβολαίου. Αυτό σημαίνει ότι δημιουργούμε ένα "έξυπνο συμβόλαιο" με τα δεδομένα και στη συνέχεια χρησιμοποιούμε το [`EXTCODECOPY`](https://www.evm.codes/#3c?fork=shanghai) για να διαβάσουμε τις πληροφορίες. Το πλεονέκτημα είναι ότι η αντιγραφή κώδικα είναι σχετικά φθηνή.
+
+Εκτός από το κόστος επέκτασης μνήμης, το "EXTCODECOPY" κοστίζει 2600 gas για την πρώτη πρόσβαση σε ένα συμβόλαιο (όταν είναι "κρύο") και 100 gas για επόμενα αντίγραφα από το ίδιο συμβόλαιο συν 3 gas ανά λέξη 32 byte. Σε σύγκριση με το calldata, που κοστίζει 15,95 ανά byte, αυτό είναι φθηνότερο ξεκινώντας από περίπου 200 byte. Με βάση [τον τύπο για το κόστος επέκτασης μνήμης](https://www.evm.codes/about#memoryexpansion), εφόσον δε χρειάζεστε περισσότερα από 4 MB μνήμης, το κόστος επέκτασης μνήμης είναι μικρότερο από το κόστος προσθήκη δεδομένων κλήσης.
+
+Φυσικά, αυτό είναι μόνο το κόστος για την _ανάγνωση_ των δεδομένων. Η δημιουργία του συμβολαίου κοστίζει περίπου 32.000 gas + 200 gas/byte. Αυτή η μέθοδος είναι οικονομική μόνο όταν χρειάζεται να διαβαστούν πολλές φορές οι ίδιες πληροφορίες σε διαφορετικές συναλλαγές.
+
+Ο κωδικός σύμβασης μπορεί να είναι χωρίς σημασία, αρκεί να μην ξεκινά με «0xEF». Οι συμβάσεις που ξεκινούν με "0xEF" ερμηνεύονται ως [μορφή αντικειμένου ethereum](https://notes.ethereum.org/@ipsilon/evm-object-format-overview), η οποία έχει πολύ πιο αυστηρές απαιτήσεις.
+
+## Γεγονότα {#events}
+
+Τα [Συμβάντα](https://docs.alchemy.com/docs/solidity-events) εκπέμπονται από έξυπνα συμβόλαια και διαβάζονται από λογισμικό εκτός αλυσίδας.
+Το πλεονέκτημά τους είναι ότι ο κώδικας εκτός αλυσίδας μπορεί να ακούει συμβάντα. Το κόστος είναι [gas](https://www.evm.codes/#a0?fork=cancun), 375 συν 8 αέριο ανά byte δεδομένων. Σε 12 gwei/gas και 2300 $/ETH, αυτό μεταφράζεται σε ένα σεντ συν 22 σεντ ανά κιλομπάιτ.
+
+## Αποθηκευτικός χώρος {#storage}
+
+Τα έξυπνα συμβόλαια έχουν πρόσβαση σε [μόνιμο αποθηκευτικό χώρο](https://docs.alchemy.com/docs/smart-contract-storage-layout#what-is-storage-memory). Ωστόσο, είναι πολύ ακριβό. Η εγγραφή μιας λέξης 32 byte σε μια προηγουμένως άδεια υποδοχή αποθήκευσης μπορεί να [κοστίζει 22.100 gas](https://www.evm.codes/#55?fork=cancun). Σε 12 gwei/gas και 2300 $/ETH, αυτό είναι περίπου 61 σεντς ανά λειτουργία εγγραφής ή 19,5 $ ανά kilobyte.
+
+Αυτή είναι η πιο ακριβή μορφή αποθήκευσης στο Ethereum.
+
+## Περίληψη {#summary}
+
+Αυτός ο πίνακας συνοψίζει τις διαφορετικές επιλογές, τα πλεονεκτήματα και τα μειονεκτήματά τους.
+
+| Τύπος αποθ. χώρου | Πηγή δεδομένων | Εγγύηση διαθεσιμότητας | Διαθεσιμότητα στην αλυσίδα | Πρόσθετοι περιορισμοί |
+| --------------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------- |
+| EIP-4844 blobs | Εκτός αλυσίδας | Εγγύηση Ethereum για [~18 ημέρες](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration) | Μόνο κατακερματισμός είναι διαθέσιμος | |
+| Calldata | Εκτός αλυσίδας | Εγγύηση Ethereum για πάντα (μέρος του blockchain) | Διατίθεται μόνο εάν εγγραφεί σε ένα συμβόλαιο και σε αυτήν τη συναλλαγή | |
+| Εκτός αλυσίδας με μηχανισμούς L1 | Εκτός αλυσίδας | Εγγύηση "Ένας έντιμος επαληθευτής" κατά την περίοδο πρόκλησης | Μόνο κατακερματισμός | Εγγύηση μηχανισμού πρόκλησης, κατά την περίοδο πρόκλησης |
+| Κώδικας συμβολαίου | Εκτός ή επί της αλυσίδας | Εγγύηση Ethereum για πάντα (μέρος του blockchain) | Ναι | Γράφεται σε "τυχαία" διεύθυνση, δεν μπορεί να ξεκινά με `0xEF` |
+| Συμβάντα | Επί της αλυσίδας | Εγγύηση Ethereum για πάντα (μέρος του blockchain) | Όχι | |
+| Αποθηκευτικός χώρος | Επί της αλυσίδας | Εγγύηση Ethereum για πάντα (μέρος του blockchain και την παρούσα κατάσταση μέχρι να αντικατασταθεί) | Ναι | |
diff --git a/public/content/translations/el/developers/docs/data-availability/index.md b/public/content/translations/el/developers/docs/data-availability/index.md
new file mode 100644
index 00000000000..74059245aa9
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-availability/index.md
@@ -0,0 +1,85 @@
+---
+title: Διαθεσιμότητα δεδομένων
+description: Μια επισκόπηση προβλημάτων και λύσεων που σχετίζονται με τη διαθεσιμότητα δεδομένων στο Ethereum
+lang: el
+---
+
+Το «Μην εμπιστεύεστε, επαληθεύστε» είναι ένα κοινό ρητό στο Ethereum. Η κύρια ιδέα είναι ότι ο κόμβος σας μπορεί ανεξάρτητα να επαληθεύσει ότι οι πληροφορίες που λαμβάνει είναι σωστές, εκτελώντας όλες τις συναλλαγές στα μπλοκ που λαμβάνουν από ομότιμους για να διασφαλιστεί ότι οι προτεινόμενες αλλαγές ταιριάζουν ακριβώς με αυτές που υπολογίζονται ανεξάρτητα από τον κόμβο. Αυτό σημαίνει ότι οι κόμβοι δε χρειάζεται να εμπιστεύονται ότι οι αποστολείς του μπλοκ είναι ειλικρινείς. Αυτό δεν είναι δυνατό εάν λείπουν δεδομένα.
+
+Η **Διαθεσιμότητα δεδομένων** αναφέρεται στη διαβεβαίωση που μπορεί να έχει ένας χρήστης ότι τα δεδομένα που απαιτούνται για την επαλήθευση μπλοκ είναι πραγματικά διαθέσιμα σε όλους τους συμμετέχοντες στο δίκτυο. Για τους πλήρεις κόμβους επιπέδου 1 του Ethereum, είναι σχετικά απλό. Ο πλήρης κόμβος πραγματοποιεί λήψη ενός αντιγράφου όλων των δεδομένων σε κάθε μπλοκ. Τα δεδομένα _πρέπει_ να είναι διαθέσιμα για να είναι δυνατή η λήψη τους. Ένα μπλοκ με δεδομένα που λείπουν θα απορριφθεί αντί να προστεθεί στην κρυπτοαλυσίδα. Αυτό είναι η "διαθεσιμότητα δεδομένων στην αλυσίδα" και είναι χαρακτηριστικό των μονολιθικών κρυπτοαλυσίδων. Οι πλήρεις κόμβοι δεν μπορούν να εξαπατηθούν ώστε να αποδεχτούν μη έγκυρες συναλλαγές επειδή κατεβάζουν και εκτελούν κάθε συναλλαγή από μόνοι τους. Ωστόσο, για αρθρωτές κρυπτοαλυσίδες, πακέτα ενημέρωσης επιπέδου 2 και πελάτες μικρού μεγέθους, η διαθεσιμότητας δεδομένων είναι πιο περίπλοκη, απαιτώντας ορισμένες πιο εξελιγμένες διαδικασίες επαλήθευσης.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να έχετε καλή κατανόηση των [βασικών αρχών κρυπτοαλυσίδας](/developers/docs/intro-to-ethereum/), ιδιαίτερα του [μηχανισμού συναίνεσης](/developers/docs/consensus-mechanisms/). Αυτή η σελίδα υποθέτει επίσης ότι ο αναγνώστης είναι εξοικειωμένος με τα [μπλοκ](/developers/docs/blocks/), τις [συναλλαγές](/developers/docs/transactions/), τους [κόμβους](/developers/docs/nodes-and-clients/), τις [λύσεις κλιμάκωσης](/developers/docs/scaling/) και άλλα σχετικά θέματα.
+
+## Το πρόβλημα διαθεσιμότητας δεδομένων {#the-data-availability-problem}
+
+Το πρόβλημα διαθεσιμότητας δεδομένων είναι η ανάγκη να αποδειχθεί σε ολόκληρο το δίκτυο ότι η συνοπτική μορφή ορισμένων δεδομένων συναλλαγών που προστίθενται στην κρυπτοαλυσίδα αντιπροσωπεύει πραγματικά ένα σύνολο έγκυρων συναλλαγών, αλλά χωρίς να απαιτείται από όλους τους κόμβους να κατεβάσουν όλα τα δεδομένα. Τα πλήρη δεδομένα συναλλαγών είναι απαραίτητα για την ανεξάρτητη επαλήθευση μπλοκ, αλλά η απαίτηση από όλους τους κόμβους να κατεβάσουν όλα τα δεδομένα συναλλαγών αποτελεί εμπόδιο στην κλιμάκωση. Οι λύσεις στο πρόβλημα διαθεσιμότητας δεδομένων στοχεύουν στην παροχή επαρκών διαβεβαιώσεων ότι τα πλήρη δεδομένα συναλλαγών που κατέστησαν διαθέσιμα για επαλήθευση στους συμμετέχοντες στο δίκτυο, δεν πραγματοποιούν λήψη και αποθήκευση των δεδομένων για εκείνους.
+
+Οι [Ελαφροί κόμβοι](/developers/docs/nodes-and-clients/light-clients) και τα [πακέτα ενημέρωσης επιπέδου 2](/developers/docs/scaling) είναι σημαντικά παραδείγματα συμμετεχόντων στο δίκτυο που απαιτούν ισχυρές διαβεβαιώσεις διαθεσιμότητας δεδομένων, αλλά δεν μπορούν να πραγματοποιήσουν λήψη και επεξεργασία δεδομένων συναλλαγών μόνοι τους. Η αποφυγή λήψης δεδομένων συναλλαγών είναι αυτό που κάνει τους ελαφρούς κόμβους, ελαφρούς και επιτρέπει στα πακέτα ενημέρωσης να είναι αποτελεσματικές λύσεις κλιμάκωσης.
+
+Η διαθεσιμότητα δεδομένων αποτελεί επίσης κρίσιμη ανησυχία για μελλοντικούς πελάτες ["χωρίς κατάσταση"](/roadmap/statelessness) Ethereum που δε χρειάζεται να πραγματοποιούν λήψη και αποθήκευση δεδομένων κατάστασης για την επαλήθευση των αποκλεισμών. Οι πελάτες χωρίς κατάσταση πρέπει ακόμα να είναι σίγουροι ότι τα δεδομένα είναι διαθέσιμα _κάπου_ και ότι έχουν υποστεί σωστή επεξεργασία.
+
+## Λύσεις διαθεσιμότητας δεδομένων {#data-availability-solutions}
+
+### Δειγματοληψία διαθεσιμότητας δεδομένων (DAS) {#data-availability-sampling}
+
+Η δειγματοληψία διαθεσιμότητας δεδομένων (DAS) είναι ένας τρόπος για το δίκτυο να ελέγχει ότι τα δεδομένα είναι διαθέσιμα, χωρίς να ασκείται υπερβολική πίεση σε οποιονδήποτε μεμονωμένο κόμβο. Κάθε κόμβος (συμπεριλαμβανομένων των κόμβων χωρίς αποθηκευμένο κεφάλαιο) κατεβάζει κάποιο μικρό, τυχαία επιλεγμένο υποσύνολο των δεδομένων. Η επιτυχής λήψη των δειγμάτων επιβεβαιώνει με μεγάλη σιγουριά ότι όλα τα δεδομένα είναι διαθέσιμα. Αυτό βασίζεται στην κωδικοποίηση διαγραφής δεδομένων, η οποία επεκτείνει ένα δεδομένο σύνολο με πλεοναστικές πληροφορίες (ο τρόπος με τον οποίο γίνεται αυτό είναι να προσαρμοστεί μια συνάρτηση γνωστή ως _πολυώνυμο_ στα δεδομένα και να υπολογιστεί αυτό το πολυώνυμο σε πρόσθετα σημεία). Αυτό επιτρέπει την ανάκτηση των αρχικών δεδομένων από τα πλεονάζων δεδομένα όταν είναι απαραίτητο. Συνέπεια αυτής της δημιουργίας δεδομένων είναι ότι εάν _κάποια_ από τα αρχικά δεδομένα δεν είναι διαθέσιμα, τα _μισά_ από τα αναπτυγμένα δεδομένα θα λείπουν! Το ποσό των δειγμάτων δεδομένων που κατεβάζει κάθε κόμβος μπορεί να ρυθμιστεί έτσι ώστε να είναι _εξαιρετικά_ πιθανό ότι τουλάχιστον ένα από τα δείγματα δεδομένων που δειγματοληπτείται από κάθε πελάτη θα λείπει _εάν_ είναι λιγότερα από τα μισά δεδομένα είναι πραγματικά διαθέσιμα.
+
+Το DAS θα χρησιμοποιηθεί για να διασφαλιστεί ότι οι χειριστές του πακέτου ενημέρωσης καθιστούν τα δεδομένα των συναλλαγών τους διαθέσιμα μετά [την πλήρη εφαρμογή του Danksharding](/roadmap/danksharding/#what-is-danksharding). Οι κόμβοι Ethereum θα δειγματοληπτούν τυχαία τα δεδομένα συναλλαγών που παρέχονται σε blobs χρησιμοποιώντας το σχήμα περιττής πληροφορίας που εξηγήθηκε παραπάνω για να διασφαλίσουν ότι όλα τα δεδομένα υπάρχουν. Η ίδια τεχνική θα μπορούσε επίσης να χρησιμοποιηθεί για να διασφαλιστεί ότι οι παραγωγοί μπλοκ καθιστούν όλα τα δεδομένα τους διαθέσιμα για την ασφάλεια των ελαφρών πελατών. Παρομοίως, υπό τον [διαχωρισμό προτείνοντος - κατασκευαστή](/roadmap/pbs), μόνο ο κατασκευαστής μπλοκ θα απαιτείται να επεξεργαστεί ένα ολόκληρο μπλοκ, άλλοι επικυρωτές θα επαληθεύουν χρησιμοποιώντας δειγματοληψία διαθεσιμότητας δεδομένων.
+
+### Επιτροπές διαθεσιμότητας δεδομένων {#data-availability-committees}
+
+Οι Επιτροπές Διαθεσιμότητας Δεδομένων (DAC) είναι αξιόπιστα μέλη που παρέχουν ή πιστοποιούν τη διαθεσιμότητα δεδομένων. Οι DAC μπορούν να χρησιμοποιηθούν αντιθέτως [ή σε συνδυασμό με](https://hackmd.io/@vbuterin/sharding_proposal#Why-not-use-just-committees-and-not-DAS) DAS. Οι εγγυήσεις ασφαλείας που συνοδεύουν τις επιτροπές εξαρτώνται από τη συγκεκριμένη εγκατάσταση. Το Ethereum χρησιμοποιεί τυχαία δειγματοληπτικά υποσύνολα επικυρωτών για να πιστοποιήσουν τη διαθεσιμότητα δεδομένων για τους ελαφρούς κόμβους, για παράδειγμα.
+
+Οι DAC χρησιμοποιούνται επίσης από ορισμένα validiums. Το DAC είναι ένα αξιόπιστο σύνολο κόμβων που αποθηκεύει αντίγραφα δεδομένων εκτός σύνδεσης. Το DAC απαιτείται για να καταστήσει τα δεδομένα διαθέσιμα σε περίπτωση διαφωνίας. Τα μέλη του DAC δημοσιεύουν επίσης στην αλυσίδα πιστοποιήσεις για να αποδείξουν ότι τα συγκεκριμένα δεδομένα είναι πράγματι διαθέσιμα. Ορισμένα validiums αντικαθιστούν τα DAC με ένα σύστημα επικυρωτών απόδειξης συμμετοχής (PoS). Εδώ, ο καθένας μπορεί να γίνει επικυρωτής και να αποθηκεύσει δεδομένα εκτός αλυσίδας. Ωστόσο, πρέπει να παρέχουν ένα "δεσμό", το οποίο κατατίθεται σε ένα έξυπνο συμβόλαιο. Σε περίπτωση κακόβουλης συμπεριφοράς, όπως η παρακράτηση δεδομένων από τον επικυρωτή, ο δεσμός μπορεί να κοπεί. Οι επιτροπές διαθεσιμότητας δεδομένων απόδειξης συμμετοχής είναι σημαντικά πιο ασφαλείς από τα κανονικά DAC επειδή δίνουν άμεσα κίνητρα για ειλικρινή συμπεριφορά.
+
+## Διαθεσιμότητα δεδομένων και κόμβοι μικρού μεγέθους {#data-availability-and-light-nodes}
+
+[Οι κόμβοι μικρού μεγέθους](/developers/docs/nodes-and-clients/light-clients) πρέπει να επικυρώνουν την ορθότητα των επικεφαλίδων των μπλοκ που λαμβάνουν χωρίς να κάνουν λήψη των δεδομένων του μπλοκ. Το κόστος αυτού του μικρού μεγέθους είναι η αδυναμία ανεξάρτητης επαλήθευσης των κεφαλίδων μπλοκ με την εκ νέου εκτέλεση συναλλαγών τοπικά με τον τρόπο που κάνουν οι πλήρεις κόμβοι.
+
+Οι κόμβοι μικρού μεγέθους του Ethereum εμπιστεύονται τυχαία σύνολα 512 επικυρωτών που έχουν εκχωρηθεί σε μια _επιτροπή συγχρονισμού_. Η επιτροπή συγχρονισμού λειτουργεί ως μια DAC που ενημερώνει τους πελάτες μικρού μεγέθους ότι τα δεδομένα στην κεφαλίδα είναι σωστά χρησιμοποιώντας μια κρυπτογραφική υπογραφή. Κάθε μέρα, η επιτροπή συγχρονισμού ανανεώνεται. Κάθε κεφαλίδα μπλοκ ειδοποιεί τους ελαφρούς κόμβους σχετικά με τους επικυρωτές που αναμένεται να υπογράψουν το _επόμενο_ μπλοκ, ώστε να μην μπορούν να εξαπατηθούν παρέχοντας εμπιστοσύνη σε μια κακόβουλη ομάδα που προσποιείται ότι είναι η πραγματική επιτροπή συγχρονισμού.
+
+Ωστόσο, τι συμβαίνει εάν ένας επιτιθέμενος _καταφέρει_ κάποια στιγμή να περάσει μια κακόβουλη κεφαλίδα μπλοκ σε πελάτες μικρού μεγέθους και να τους πείσει ότι υπογράφηκε από μια ειλικρινή επιτροπή συγχρονισμού; Σε αυτήν την περίπτωση, ο επιτιθέμενος θα μπορούσε να συμπεριλάβει μη έγκυρες συναλλαγές και ο ελαφρύς πελάτης θα τις δεχόταν τυφλά, καθώς δεν ελέγχει ανεξάρτητα όλες τις αλλαγές κατάστασης που συνοψίζονται στην κεφαλίδα μπλοκ. Για να προστατευθεί από αυτό, ο ελαφρύς πελάτης θα μπορούσε να χρησιμοποιήσει αποδείξεις απάτης.
+
+Ο τρόπος με τον οποίο λειτουργούν αυτές οι αποδείξεις απάτης είναι ότι ένας πλήρης κόμβος, βλέποντας μια μη έγκυρη μετάβαση κατάστασης να διαδίδεται στο δίκτυο, θα μπορούσε γρήγορα να δημιουργήσει ένα μικρό κομμάτι δεδομένων που να αποδεικνύει ότι μια προτεινόμενη μετάβαση κατάστασης δε θα μπορούσε να προκύψει από ένα συγκεκριμένο σύνολο συναλλαγών και να μεταδώσει αυτά τα δεδομένα στους ομότιμους. Οι ελαφροί κόμβοι θα μπορούσαν να παραλάβουν αυτές τις αποδείξεις απάτης και να τις χρησιμοποιήσουν για να απορρίψουν κακές κεφαλίδες μπλοκ, εξασφαλίζοντας ότι παραμένουν στην ίδια ειλικρινή αλυσίδα με τους πλήρεις κόμβους.
+
+Αυτό βασίζεται στους πλήρεις κόμβους έχοντας πρόσβαση στα πλήρη δεδομένα συναλλαγών. Ένας επιτιθέμενος που διαδίδει μια κακή κεφαλίδα μπλοκ και επίσης αποτυγχάνει να καταστήσει διαθέσιμα τα δεδομένα της συναλλαγής θα μπορούσε να αποτρέψει τους πλήρεις κόμβους από το να δημιουργήσουν αποδείξεις απάτης. Οι πλήρεις κόμβοι μπορεί να είναι σε θέση να σημάνουν μια προειδοποίηση για ένα κακό μπλοκ, αλλά δε θα μπορούσαν να υποστηρίξουν την προειδοποίησή τους με απόδειξη, επειδή τα δεδομένα δεν κατέστησαν διαθέσιμα για να δημιουργηθεί η απόδειξη!
+
+Η λύση σε αυτό το πρόβλημα διαθεσιμότητας δεδομένων είναι το DAS. Οι ελαφροί κόμβοι κατεβάζουν πολύ μικρά τυχαία κομμάτια των δεδομένων της πλήρους κατάστασης και χρησιμοποιούν τα δείγματα για να επαληθεύσουν ότι το πλήρες σύνολο δεδομένων είναι διαθέσιμο. Η πραγματική πιθανότητα να υποτεθεί λανθασμένα η πλήρης διαθεσιμότητα δεδομένων μετά τη λήψη N τυχαίων τμημάτων μπορεί να υπολογιστεί ([για 100 τμήματα η πιθανότητα είναι 10^-30](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html), δηλαδή εξαιρετικά απίθανη).
+
+Ακόμα και σε αυτό το σενάριο, οι επιθέσεις που κατακρατούν μόνο λίγα byte θα μπορούσαν ενδεχομένως να περάσουν απαρατήρητες από τους πελάτες που κάνουν τυχαία αιτήματα δεδομένων. Η κωδικοποίηση διαγραφής το διορθώνει αυτό ανακατασκευάζοντας μικρά χαμένα κομμάτια δεδομένων που μπορούν να χρησιμοποιηθούν για να ελεγχθούν οι προτεινόμενες αλλαγές κατάστασης. Μια απόδειξη απάτης θα μπορούσε στη συνέχεια να κατασκευαστεί χρησιμοποιώντας τα ανακατασκευασμένα δεδομένα, εμποδίζοντας τους ελαφρούς κόμβους από το να αποδεχτούν κακές κεφαλίδες.
+
+**Σημείωση**: Το DAS και οι αποδείξεις απάτης δεν έχουν ακόμη υλοποιηθεί για τους ελαφρούς πελάτες με απόδειξη συμμετοχής στο Ethereum, αλλά βρίσκονται στο χρονοδιάγραμμα πιθανότατα λαμβάνοντας τη μορφή αποδείξεων βασισμένων σε ZK-SNARK. Οι σημερινοί ελαφροί πελάτες βασίζονται σε μια μορφή DAC: επαληθεύουν τις ταυτότητες της επιτροπής συγχρονισμού και στη συνέχεια εμπιστεύονται τις υπογεγραμμένες κεφαλίδες μπλοκ που λαμβάνουν.
+
+## Διαθεσιμότητα δεδομένων και πακέτα ενημέρωσης επιπέδου 2 {#data-availability-and-layer-2-rollups}
+
+[Λύσεις κλιμάκωσης επιπέδου 2](/layer-2/), όπως τα [πακέτα συναλλαγών ](/glossary/#rollups), μειώνουν το κόστος συναλλαγών και αυξάνουν την απόδοση του Ethereum επεξεργάζοντας συναλλαγές εκτός αλυσίδας. Τα πακέτα ενημέρωσης των συναλλαγών συμπιέζονται και δημοσιεύονται στο Ethereum σε παρτίδες. Οι παρτίδες αντιπροσωπεύουν χιλιάδες ατομικές συναλλαγές εκτός αλυσίδας σε μία μόνο συναλλαγή στο Ethereum. Αυτό μειώνει τη συμφόρηση στο βασικό επίπεδο καθώς και τα τέλη για τους χρήστες.
+
+Ωστόσο, είναι δυνατό να εμπιστευόμαστε μόνο τις συναλλαγές 'σύνοψης' που αναρτώνται στο Ethereum εάν η προτεινόμενη αλλαγή κατάστασης μπορεί να επαληθευτεί ανεξάρτητα και να επιβεβαιωθεί ότι είναι αποτέλεσμα της εφαρμογής όλων των μεμονωμένων εκτός αλυσίδας συναλλαγών. Εάν οι διαχειριστές των πακέτων ενημέρωσης δεν κάνουν διαθέσιμα τα δεδομένα συναλλαγής για αυτήν την επαλήθευση, τότε θα μπορούσαν να στείλουν εσφαλμένα δεδομένα στο Ethereum.
+
+Τα [Πακέτα ενημέρωσης Optimistic](/developers/docs/scaling/optimistic-rollups/) δημοσιεύουν συμπιεσμένα δεδομένα συναλλαγών στο Ethereum και περιμένουν κάποιο χρονικό διάστημα (συνήθως 7 ημέρες) για να επιτρέψουν σε ανεξάρτητους επαληθευτές να ελέγξουν τα δεδομένα. Εάν κάποιος εντοπίσει ένα πρόβλημα, μπορεί να δημιουργήσει ένα στοιχείο προστασίας από απάτη και να το χρησιμοποιήσει για να αμφισβητήσει το πακέτο ενημέρωσης. Αυτό θα προκαλούσε την ανατροπή της αλυσίδας και την παράλειψη του μη έγκυρου μπλοκ. Είναι δυνατό μόνο εάν υπάρχουν διαθέσιμα δεδομένα. Επί του παρόντος, υπάρχουν δύο τρόποι με τους οποίους τα πακέτα ενημέρωσης optimistic στέλνουν δεδομένα συναλλαγών στο L1. Ορισμένα πακέτα συναλλαγών κάνουν τα δεδομένα μόνιμα διαθέσιμα ως `CALDATA` που ζουν μόνιμα στην αλυσίδα. Με την εφαρμογή του EIP-4844, ορισμένα πακέτα ενημέρωσης δημοσιεύουν τα δεδομένα συναλλαγών τους σε φθηνότερο χώρο αποθήκευσης blob. Αυτό δεν αφορά μόνιμη αποθήκευση. Ανεξάρτητοι επαληθευτές πρέπει να εξετάσουν τα blobs και να θέσουν τις προκλήσεις τους εντός ~18 ημερών πριν διαγραφούν τα δεδομένα από το Ethereum επιπέδου 1. Η διαθεσιμότητα δεδομένων είναι εγγυημένη μόνο από το πρωτόκολλο Ethereum για αυτό το σύντομο σταθερό διάστημα. Μετά από αυτό, γίνεται ευθύνη άλλων οντοτήτων στο οικοσύστημα Ethereum. Οποιοσδήποτε κόμβος μπορεί να επαληθεύσει τη διαθεσιμότητα δεδομένων χρησιμοποιώντας το DAS, δηλαδή κατεβάζοντας μικρά, τυχαία δείγματα των δεδομένων blob.
+
+Τα [πακέτα ενημέρωσης Μηδενικής γνώσης (ZK)](/developers/docs/scaling/zk-rollups) δε χρειάζεται να δημοσιεύουν δεδομένα συναλλαγών, καθώς οι [αποδείξεις εγκυρότητας μηδενικής γνώσης](/glossary/#zk-proof) εγγυώνται την ορθότητα των μεταβάσεων κατάστασης. Ωστόσο, η διαθεσιμότητα δεδομένων εξακολουθεί να αποτελεί πρόβλημα, επειδή δεν μπορούμε να εγγυηθούμε τη λειτουργικότητα των πακέτων ενημέρωσης ZK (ή να αλληλεπιδράσουμε μαζί) χωρίς πρόσβαση στα δεδομένα κατάστασης. Για παράδειγμα, οι χρήστες δεν μπορούν να γνωρίζουν τα υπόλοιπά τους εάν ένας χειριστής παρακρατεί λεπτομέρειες σχετικά με την κατάσταση του πακέτου ενημέρωσης. Επίσης, δεν μπορούν να πραγματοποιήσουν ενημερώσεις κατάστασης χρησιμοποιώντας πληροφορίες που περιέχονται σε ένα μπλοκ που προστέθηκε πρόσφατα.
+
+## Διαθεσιμότητα ή ανάκτηση δεδομένων {#data-availability-vs-data-retrievability}
+
+Η διαθεσιμότητα δεδομένων είναι διαφορετική από την ανάκτηση δεδομένων. Η διαθεσιμότητα δεδομένων είναι η διαβεβαίωση ότι οι πλήρεις κόμβοι μπόρεσαν να έχουν πρόσβαση και επαληθεύουν το πλήρες σύνολο των συναλλαγών που σχετίζονται με συγκεκριμένο μπλοκ. Δε σημαίνει απαραίτητα ότι τα δεδομένα είναι προσβάσιμα για πάντα.
+
+Η ανάκτηση δεδομένων είναι η ικανότητα των κόμβων να ανακτούν _ιστορικές πληροφορίες_ από την κρυπτοαλυσίδα. Αυτά τα ιστορικά δεδομένα δε χρειάζονται για την επαλήθευση νέων μπλοκ, απαιτούνται μόνο για το συγχρονισμό των πλήρεις κόμβων από το μπλοκ γένεσης ή την εξυπηρέτηση συγκεκριμένων ιστορικών αιτημάτων.
+
+Το βασικό πρωτόκολλο Ethereum ασχολείται κυρίως με τη διαθεσιμότητα και όχι με την ανάκτηση δεδομένων. Η ανάκτηση δεδομένων μπορεί να παρέχεται από έναν μικρό πληθυσμό κόμβων αρχείου, που εκτελούνται από τρίτα μέρη ή μπορεί να διανεμηθεί σε όλο το δίκτυο χρησιμοποιώντας υπηρεσίες αποκεντρωμένης αποθήκευσης αρχείων, όπως το [Δίκτυο Portal](https://www.ethportal.net/).
+
+## Περαιτέρω πληροφορίες {#further-reading}
+
+- [Τι είναι η διαθεσιμότητα δεδομένων;](https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f)
+- [Τι είναι η διαθεσιμότητα δεδομένων;](https://coinmarketcap.com/alexandria/article/what-is-data-availability)
+- [Το τοπίο διαθεσιμότητας δεδομένων εκτός αλυσίδας Ethereum](https://blog.celestia.org/ethereum-offchain-data-availability-landscape/)
+- [Ένα primer για τους ελέγχους διαθεσιμότητας δεδομένων](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html)
+- [Επεξήγηση της πρότασης διαμοιρασμού + DAS](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
+- [Σημείωση σχετικά με τη διαθεσιμότητα δεδομένων και την κωδικοποίηση διαγραφής](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding#can-an-attacker-not-circumvent-this-scheme-by-releasing-a-full-unavailable-block-but-then-only-releasing-individual-bits-of-data-as-clients-query-for-them)
+- [Επιτροπές διαθεσιμότητας δεδομένων.](https://medium.com/starkware/data-availability-e5564c416424)
+- [Επιτροπές διαθεσιμότητας δεδομένων απόδειξης συμμετοχής.](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
+- [Λύσεις στο πρόβλημα ανάκτησης δεδομένων](https://notes.ethereum.org/@vbuterin/data_sharding_roadmap#Who-would-store-historical-data-under-sharding)
+- [Διαθεσιμότητα δεδομένων ή: Πώς τα πακέτα ενημέρωσης έμαθαν να σταματούν να ανησυχούν και να αγαπούν το Ethereum](https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum)
+- [EIP-7623: Αύξηση κόστους calldata](https://research.2077.xyz/eip-7623-increase-calldata-cost)
diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/index.md
new file mode 100644
index 00000000000..6388e8fc90c
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/index.md
@@ -0,0 +1,32 @@
+---
+title: Δομές δεδομένων και κωδικοποίηση
+description: Επισκόπηση των θεμελιωδών δομών δεδομένων του Ethereum.
+lang: el
+sidebarDepth: 2
+---
+
+Το Ethereum δημιουργεί, αποθηκεύει και μεταφέρει μεγάλο όγκο δεδομένων. Αυτά τα δεδομένα πρέπει να μορφοποιηθούν με τυποποιημένους και αποδοτικούς τρόπους αποθήκευσης, ώστε να επιτραπεί σε οποιονδήποτε να [εκτελέσει έναν κόμβο](/run-a-node/) με υλικά μεσαίας κατηγορίας. Για να επιτευχθεί αυτό, χρησιμοποιούνται αρκετές συγκεκριμένες δομές δεδομένων στη στοίβα του Ethereum.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να κατανοείτε τα θεμελιώδη στοιχεία του Ethereum και της [εφαρμογής λογισμικού πελάτη](/developers/docs/nodes-and-clients/). Συνιστάται η εξοικείωση με το επίπεδο δικτύωσης και [τη λευκή βίβλο του Ethereum](/whitepaper/).
+
+## Δομές δεδομένων {#data-structures}
+
+### Patricia merkle tries {#patricia-merkle-tries}
+
+Το Patricia Merkle Tries είναι μια δομή δεδομένων που κωδικοποιεί τα ζεύγη κλειδιού-αξίας σε μια ντετερμινιστική και κρυπτογραφικά πιστοποιημένη κατάσταση. Χρησιμοποιούνται εκτενώς σε όλο το επίπεδο εκτέλεσης του Ethereum.
+
+[Περισσότερα για το Patricia Merkle Tries](/developers/docs/data-structures-and-encoding/patricia-merkle-trie)
+
+### Recursive Length Prefix {#recursive-length-prefix}
+
+Το Recursive Length Prefix (RLP) είναι μια μέθοδος σειριοποίησης που χρησιμοποιείται εκτενώς σε όλο το επίπεδο εκτέλεσης του Ethereum.
+
+[Περισσότερα για τα RLP](/developers/docs/data-structures-and-encoding/rlp)
+
+### Απλή σειριοποίηση {#simple-serialize}
+
+Η απλή σειριοποίηση (SSZ) είναι η κυρίαρχη μορφή σειριοποίησης στο επίπεδο συναίνεσης του Ethereum λόγω της συμβατότητάς του με merklelization.
+
+[Περισσότερα για SSZ](/developers/docs/data-structures-and-encoding/ssz)
diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
new file mode 100644
index 00000000000..38da506fb89
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md
@@ -0,0 +1,263 @@
+---
+title: Merkle Patricia Trie
+description: Εισαγωγή στο Merkle Patricia Trie.
+lang: el
+sidebarDepth: 2
+---
+
+Η κατάσταση του Ethereum (το σύνολο όλων των λογαριασμών, υπολοίπων και έξυπνων συμβολαίων) κωδικοποιείται σε μια ειδική έκδοση της δομής δεδομένων που είναι γνωστή γενικά στην επιστήμη υπολογιστών ως Merkle Tree. Αυτή η δομή είναι χρήσιμη για πολλές εφαρμογές στην κρυπτογραφία επειδή δημιουργεί μια αποδεδειγμένη σχέση μεταξύ όλων των μεμονωμένων κομματιών δεδομένων που περιπλέκονται στο δέντρο, με αποτέλεσμα μια ενιαία τιμή **ρίζας** που μπορεί να χρησιμοποιηθεί για να αποδειχθούν πράγματα για τα δεδομένα.
+
+Η δομή δεδομένων του Ethereum είναι ένα 'τροποποιημένο Merkle-Patricia Trie', που ονομάζεται έτσι επειδή δανείζεται ορισμένα χαρακτηριστικά από το PATRICIA (ο πρακτικός αλγόριθμος για την ανάκτηση πληροφοριών κωδικοποιημένων αλφαριθμητικά) και επειδή έχει σχεδιαστεί για αποτελεσματική ανάκτηση δεδομένων **trie** που αποτελούν την κατάσταση Ethereum.
+
+A Merkle-Patricia trie is deterministic and cryptographically verifiable: The only way to generate a state root is by computing it from each individual piece of the state, and two states that are identical can be easily proven so by comparing the root hash and the hashes that led to it (_a Merkle proof_). Αντίθετα, δεν υπάρχει τρόπος να δημιουργηθούν δύο διαφορετικές καταστάσεις με το ίδιο hash ρίζας, και οποιαδήποτε προσπάθεια τροποποίησης της κατάστασης με διαφορετικές τιμές θα οδηγήσει σε διαφορετικό hash ρίζας κατάστασης. Θεωρητικά, αυτή η δομή παρέχει το 'ιερό δισκοπότηρο' της απόδοσης `O(log(n))` για εισαγωγές, αναζητήσεις και διαγραφές.
+
+Στο κοντινό μέλλον, το Ethereum σχεδιάζει να μεταφερθεί σε μια δομή [Verkle Tree](https://ethereum.org/en/roadmap/verkle-trees), η οποία θα ανοίξει πολλές νέες δυνατότητες για μελλοντικές βελτιώσεις του πρωτοκόλλου.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να κατανοήσετε καλύτερα αυτή τη σελίδα, θα ήταν χρήσιμο να έχετε βασικές γνώσεις σχετικά με τα [hash](https://en.wikipedia.org/wiki/Hash_function), τα [δέντρα Merkle](https://en.wikipedia.org/wiki/Merkle_tree), τα [tries](https://en.wikipedia.org/wiki/Trie) και τη [σειριοποίηση](https://en.wikipedia.org/wiki/Serialization). Αυτό το άρθρο ξεκινά με μια περιγραφή ενός βασικού [δέντρου radix](https://en.wikipedia.org/wiki/Radix_tree), και στη συνέχεια εισάγει σταδιακά τις τροποποιήσεις που απαιτούνται για την πιο βελτιστοποιημένη δομή δεδομένων του Ethereum.
+
+## Βασικά δέντρα radix {#basic-radix-tries}
+
+Σε ένα βασικό δέντρο radix, κάθε κόμβος φαίνεται ως εξής:
+
+```
+ [i_0, i_1 ... i_n, value]
+```
+
+Όπου `i_0 ... i_n` αντιπροσωπεύουν τα σύμβολα του αλφαβήτου (συχνά δυαδικά ή δεκαεξαδικά), η `τιμή` είναι η τελική τιμή στον κόμβο και οι τιμές στις θέσεις `i_0, i_1 ... i_n` είναι είτε `NULL` είτε δείκτες (στην περίπτωσή μας, hashes) άλλων κόμβων. Αυτό σχηματίζει ένα βασικό αποθηκευτικό χώρο `(κλειδί, τιμή)`.
+
+Ας υποθέσουμε ότι θέλετε να χρησιμοποιήσετε μια δομή δεδομένων δέντρου radix για την επιμονή μιας σειράς ζευγών κλειδιού-τιμής. Για να βρείτε την τιμή που αντιστοιχίζεται αυτήν τη στιγμή στο κλειδί `dog` στο trie, θα μετατρέπατε πρώτα το `dog` σε γράμματα του αλφαβήτου (δίδοντας `64 6f 67)` και στη συνέχεια θα κατεβαίνατε το trie ακολουθώντας αυτό το μονοπάτι μέχρι να βρείτε την τιμή. Αυτό σημαίνει ότι ξεκινάτε αναζητώντας τον hash της ρίζας σε μια επίπεδη βάση δεδομένων κλειδιού/τιμής για να βρείτε τον κόμβο ρίζας του trie. Αντιπροσωπεύεται ως ένας πίνακας κλειδιών που δείχνουν σε άλλους κόμβους. Θα χρησιμοποιούσατε την τιμή στο δείκτη `6` ως κλειδί και θα την αναζητούσατε στην επίπεδη βάση δεδομένων κλειδιού/τιμής για να πάρετε τον κόμβο ένα επίπεδο κάτω. Στη συνέχεια επιλέγετε το δείκτη `4` για να αναζητήσετε την επόμενη τιμή, στη συνέχεια επιλέγετε το δείκτη `6`, και ούτω καθεξής, μέχρι, αφού ακολουθήσετε το μονοπάτι: `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7`, θα αναζητούσατε την τιμή του κόμβου και θα επιστρέφατε το αποτέλεσμα.
+
+Υπάρχει μια διαφορά μεταξύ της αναζήτησης κάτι στο 'trie' και της υποκείμενης επίπεδης βάσης δεδομένων κλειδιού/τιμής 'DB'. Και τα δύο ορίζουν διατάξεις κλειδιού/τιμής, αλλά η υποκείμενη DB μπορεί να κάνει μια παραδοσιακή αναζήτηση ενός βήματος ενός κλειδιού. Η αναζήτηση ενός κλειδιού στο trie απαιτεί πολλές υποκείμενες αναζητήσεις DB για να φτάσει στην τελική τιμή που περιγράφεται παραπάνω. Ας αναφερθούμε στο τελευταίο ως ένα `μονοπάτι` για να εξαλείψουμε την ασάφεια.
+
+Οι λειτουργίες ενημέρωσης και διαγραφής για τα δέντρα radix μπορούν να οριστούν ως εξής:
+
+```
+ def update(node_hash, path, value):
+ curnode = db.get(node_hash) if node_hash else [ NULL ] * 17
+ newnode = curnode.copy()
+ if path == '':
+ newnode[-1] = value
+ else:
+ newindex = update(curnode[path[0]], path[1:], value)
+ newnode[path[0]] = newindex
+ db.put(hash(newnode), newnode)
+ return hash(newnode)
+
+ def delete(node_hash, path):
+ if node_hash is NULL:
+ return NULL
+ else:
+ curnode = db.get(node_hash)
+ newnode = curnode.copy()
+ if path == '':
+ newnode[-1] = NULL
+ else:
+ newindex = delete(curnode[path[0]], path[1:])
+ newnode[path[0]] = newindex
+
+ if all(x is NULL for x in newnode):
+ return NULL
+ else:
+ db.put(hash(newnode), newnode)
+ return hash(newnode)
+```
+
+Ένα δέντρο Radix Merkle κατασκευάζεται συνδέοντας κόμβους χρησιμοποιώντας κρυπτογραφικά hash digests που παράγονται καθοριστικά. Αυτή η αντιστοίχιση περιεχομένου (στο κλειδί/τιμή DB `key == keccak256(rlp(value))`) παρέχει μια κρυπτογραφική εγγύηση ακεραιότητας των αποθηκευμένων δεδομένων. Εάν το hash ρίζας ενός δεδομένου trie είναι δημόσια γνωστό, τότε ο καθένας που έχει πρόσβαση στα υποκείμενα δεδομένα φύλλων μπορεί να κατασκευάσει μια απόδειξη ότι το trie περιλαμβάνει μια δεδομένη τιμή σε μια συγκεκριμένη διαδρομή παρέχοντας τα hash κάθε κόμβου που συνδέει μια συγκεκριμένη τιμή με τη ρίζα του δέντρου.
+
+Είναι αδύνατο για έναν επιτιθέμενο να παράσχει μια απόδειξη ενός ζεύγους `(διαδρομή, τιμή)` που δεν υπάρχει, καθώς το hash ρίζας βασίζεται τελικά σε όλα τα hash κάτω από αυτό. Οποιαδήποτε υποκείμενη τροποποίηση θα άλλαζε το hash ρίζας. Μπορείτε να σκεφτείτε το hash ως μια συμπιεσμένη αναπαράσταση δομικών πληροφοριών σχετικά με τα δεδομένα, ασφαλισμένη από την προστασία προ-εικόνας της συνάρτησης hashing.
+
+Θα αναφερόμαστε σε μια ατομική μονάδα ενός δέντρου radix (π.χ. ένας μόνο εξαδικός χαρακτήρας ή 4 δυαδικός αριθμός) ως "nibble". Κατά την παρακολούθηση μιας διαδρομής ένα nibble κάθε φορά, όπως περιγράφεται παραπάνω, οι κόμβοι μπορούν μέγιστα να αναφέρονται σε 16 παιδιά αλλά να περιλαμβάνουν ένα στοιχείο `τιμής`. Κατά συνέπεια, τους αντιπροσωπεύουμε ως έναν πίνακα μήκους 17. Αποκαλούμε αυτούς τους πίνακες 17 στοιχείων "κόμβοι κλάδου".
+
+## Merkle Patricia Trie {#merkle-patricia-trees}
+
+Οι radix tries έχουν ένα σημαντικό περιορισμό: είναι αναποτελεσματικές. Εάν θέλετε να αποθηκεύσετε μία δέσμη `(path, value)` όπου το path, όπως στο Ethereum, έχει μήκος 64 χαρακτήρες (τον αριθμό των nibbles σε `bytes32`), θα χρειαστούμε πάνω από ένα kilobyte επιπλέον χώρου για να αποθηκεύσουμε ένα επίπεδο ανά χαρακτήρα, και κάθε αναζήτηση ή διαγραφή θα χρειαστεί τα πλήρη 64 βήματα. Το Patricia trie που εισάγεται στη συνέχεια επιλύει αυτό το πρόβλημα.
+
+### Βελτιστοποίηση {#optimization}
+
+Ένας κόμβος σε μια Merkle Patricia trie είναι ένα από τα εξής:
+
+1. `NULL` (αντιπροσωπεύεται ως κενή συμβολοσειρά)
+2. `branch` Ένας κόμβος 17 στοιχείων `[ v0 ... v15, vt ]`
+3. `leaf` Ένας κόμβος 2 στοιχείων `[ encodedPath, value ]`
+4. `extension` Ένας κόμβος 2 στοιχείων `[ encodedPath, key ]`
+
+Με διαδρομές 64 χαρακτήρων είναι αναπόφευκτο ότι μετά την διέλευση των πρώτων λίγων επιπέδων της trie, θα φτάσετε σε έναν κόμβο όπου δεν υπάρχει αποκλίνουσα διαδρομή για τουλάχιστον μέρος του δρόμου προς τα κάτω. Για να αποφύγουμε τη δημιουργία έως και 15 κενών κόμβων `NULL` κατά μήκος της διαδρομής, συντομεύουμε την κάθοδο δημιουργώντας έναν κόμβο `extension` της μορφής `[ encodedPath, key ]`, όπου το `encodedPath` περιέχει τη "μερική διαδρομή" για να παραλείψουμε μπροστά (χρησιμοποιώντας μια συμπαγή κωδικοποίηση που περιγράφεται παρακάτω) και το `key` είναι για την επόμενη αναζήτηση DB.
+
+Για έναν κόμβο `leaf`, ο οποίος μπορεί να επισημανθεί με μια σημαία στο πρώτο nibble του `encodedPath`, η διαδρομή κωδικοποιεί τα τμήματα διαδρομής όλων των προηγούμενων κόμβων και μπορούμε να αναζητήσουμε την `value` απευθείας.
+
+Αυτή η παραπάνω βελτιστοποίηση, ωστόσο, εισάγει ασάφεια.
+
+Κατά τη διέλευση διαδρομών σε nibbles, μπορεί να καταλήξουμε σε έναν περιττό αριθμό nibbles για διέλευση, αλλά επειδή όλα τα δεδομένα αποθηκεύονται σε μορφή `byte`. Δεν είναι δυνατό να διαφοροποιηθεί μεταξύ, για παράδειγμα, του nibble `1` και των nibbles `01` (και τα δύο πρέπει να αποθηκευτούν ως `<01>`). Για να καθοριστεί το περιττό μήκος, η μερική διαδρομή τροποποιείται με μια σημαία.
+
+### Προδιαγραφή: Συμπαγής κωδικοποίηση εξαγωνικής ακολουθίας με προαιρετικό τερματιστή {#specification}
+
+Η σηματοδότηση τόσο _της περιττής όσο και της άρτιας υπόλοιπης μερικής διαδρομής μήκους_ και του _κόμβου φύλλου ως κόμβου επέκτασης_ όπως περιγράφεται παραπάνω βρίσκεται στο πρώτο nibble της μερικής διαδρομής οποιουδήποτε κόμβου 2 στοιχείων. Αυτό έχει ως αποτέλεσμα τα εξής:
+
+ hex char bits | node type partial path length
+ ----------------------------------------------------------
+ 0 0000 | extension even
+ 1 0001 | extension odd
+ 2 0010 | terminating (leaf) even
+ 3 0011 | terminating (leaf) odd
+
+Για άρτιο υπόλοιπο μήκος διαδρομής (`0` ή `2`), ένα άλλο nibble "padding" `0` θα ακολουθεί πάντα.
+
+```
+ def compact_encode(hexarray):
+ term = 1 if hexarray[-1] == 16 else 0
+ if term: hexarray = hexarray[:-1]
+ oddlen = len(hexarray) % 2
+ flags = 2 * term + oddlen
+ if oddlen:
+ hexarray = [flags] + hexarray
+ else:
+ hexarray = [flags] + [0] + hexarray
+ // hexarray now has an even length whose first nibble is the flags.
+ o = ''
+ for i in range(0,len(hexarray),2):
+ o += chr(16 * hexarray[i] + hexarray[i+1])
+ return o
+```
+
+Παραδείγματα:
+
+```
+ > [ 1, 2, 3, 4, 5, ...]
+ '11 23 45'
+ > [ 0, 1, 2, 3, 4, 5, ...]
+ '00 01 23 45'
+ > [ 0, f, 1, c, b, 8, 10]
+ '20 0f 1c b8'
+ > [ f, 1, c, b, 8, 10]
+ '3f 1c b8'
+```
+
+Ακολουθεί ο επεκταμένος κώδικας για την απόκτηση ενός κόμβου στο δέντρο Merkle Patricia:
+
+```
+ def get_helper(node_hash,path):
+ if path == []: return node_hash
+ if node_hash == '': return ''
+ curnode = rlp.decode(node_hash if len(node_hash) < 32 else db.get(node_hash))
+ if len(curnode) == 2:
+ (k2, v2) = curnode
+ k2 = compact_decode(k2)
+ if k2 == path[:len(k2)]:
+ return get(v2, path[len(k2):])
+ else:
+ return ''
+ elif len(curnode) == 17:
+ return get_helper(curnode[path[0]],path[1:])
+
+ def get(node_hash,path):
+ path2 = []
+ for i in range(len(path)):
+ path2.push(int(ord(path[i]) / 16))
+ path2.push(ord(path[i]) % 16)
+ path2.push(16)
+ return get_helper(node_hash,path2)
+```
+
+### Παράδειγμα «Trie» {#example-trie}
+
+Ας υποθέσουμε ότι θέλουμε ένα trie που περιέχει τέσσερα ζεύγη διαδρομή/τιμή `('do', 'verb')`, `('dog', 'puppy')`, `('doge', 'coins')`, `('horse', 'stallion')`.
+
+Πρώτα, μετατρέπουμε τόσο τις διαδρομές όσο και τις τιμές σε `byte`. Παρακάτω, οι πραγματικές αναπαραστάσεις byte για τις _διαδρομές_ υποδεικνύονται με `<>`, αν και οι _τιμές_ εμφανίζονται ακόμα ως συμβολοσειρές, που υποδεικνύονται με `'`', για ευκολότερη κατανόηση (θα ήταν επίσης πραγματικά `byte`):
+
+```
+ <64 6f> : 'verb'
+ <64 6f 67> : 'puppy'
+ <64 6f 67 65> : 'coins'
+ <68 6f 72 73 65> : 'stallion'
+```
+
+Τώρα, κατασκευάζουμε ένα τέτοιο trie με τα ακόλουθα ζεύγη κλειδί/τιμή στην υποκείμενη βάση δεδομένων:
+
+```
+ rootHash: [ <16>, hashA ]
+ hashA: [ <>, <>, <>, <>, hashB, <>, <>, <>, [ <20 6f 72 73 65>, 'stallion' ], <>, <>, <>, <>, <>, <>, <>, <> ]
+ hashB: [ <00 6f>, hashC ]
+ hashC: [ <>, <>, <>, <>, <>, <>, hashD, <>, <>, <>, <>, <>, <>, <>, <>, <>, 'verb' ]
+ hashD: [ <17>, [ <>, <>, <>, <>, <>, <>, [ <35>, 'coins' ], <>, <>, <>, <>, <>, <>, <>, <>, <>, 'puppy' ] ]
+```
+
+Όταν ένας κόμβος αναφέρεται μέσα σε έναν άλλο κόμβο, αυτό που περιλαμβάνεται είναι `H(rlp.encode(node))`, όπου `H(x) = keccak256(x) if len(x) >= 32 αλλιώς `x και `rlp.encode` είναι η συνάρτηση κωδικοποίησης [RLP](/developers/docs/data-structures-and-encoding/rlp).
+
+Σημειώστε ότι κατά την ενημέρωση ενός trie, πρέπει να αποθηκεύσετε το ζεύγος κλειδί/τιμή `(keccak256(x), x)` σε έναν μόνιμο πίνακα αναζήτησης _εάν_ ο νεοδημιουργημένος κόμβος έχει μήκος >= 32. Ωστόσο, εάν ο κόμβος είναι μικρότερος από αυτό, δεν χρειάζεται να αποθηκεύσετε τίποτα, καθώς η συνάρτηση f(x) = x είναι αναστρέψιμη.
+
+## Τα Tries στο Ethereum {#tries-in-ethereum}
+
+Όλα τα merkle tries στο επίπεδο εκτέλεσης του Ethereum χρησιμοποιούν ένα Merkle Patricia Trie.
+
+Από μια κεφαλίδα μπλοκ υπάρχουν 3 ρίζες από 3 από αυτά τα tries.
+
+1. stateRoot
+2. transactionsRoot
+3. receiptsRoot
+
+### Κατάσταση Trie {#state-trie}
+
+Υπάρχει ένα παγκόσμιο trie κατάστασης και ενημερώνεται κάθε φορά που ένας πελάτης επεξεργάζεται ένα μπλοκ. Σε αυτό, μια `path` είναι πάντα: `keccak256(ethereumAddress)` και μια `τιμή` είναι πάντα: `rlp(ethereumAccount)`. Πιο συγκεκριμένα, ένας `account` ethereum είναι ένας πίνακας 4 στοιχείων από `[nonce,balance,storageRoot,codeHash]`. Σε αυτό το σημείο, αξίζει να σημειωθεί ότι αυτό το `storageRoot` είναι η ρίζα ενός άλλου trie πατρίσια:
+
+### Αποθηκευτικός χώρος «Trie» {#storage-trie}
+
+Το storage trie είναι όπου υπάρχουν _όλα_ τα δεδομένα συμβολαίου. Υπάρχει ένα ξεχωριστό storage trie για κάθε λογαριασμό. Για να ανακτήσετε τιμές σε συγκεκριμένες θέσεις αποθήκευσης σε μια δεδομένη διεύθυνση, απαιτούνται η διεύθυνση αποθήκευσης, η ακέραια θέση των αποθηκευμένων δεδομένων στην αποθήκευση και το αναγνωριστικό μπλοκ. Αυτά μπορούν στη συνέχεια να περαστούν ως ορίσματα στο `eth_getStorageAt` που ορίζεται στο API JSON-RPC, π.χ. για να ανακτήσετε τα δεδομένα στην υποδοχή αποθήκευσης 0 για τη διεύθυνση `0x295a70b2de5e3953354a6a8344e616ed314d7251`:
+
+```
+curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545
+
+{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"}
+
+```
+
+Η ανάκτηση άλλων στοιχείων στην αποθήκευση είναι λίγο πιο περίπλοκη επειδή πρέπει πρώτα να υπολογιστεί η θέση στο storage trie. Η θέση υπολογίζεται ως το hash `keccak256` της διεύθυνσης και της θέσης αποθήκευσης, και τα δύο αριστερά γεμισμένα με μηδενικά σε μήκος 32 byte. Για παράδειγμα, η θέση για τα δεδομένα στην υποδοχή αποθήκευσης 1 για τη διεύθυνση `0x391694e7e0b0cce554cb130d723a9d27458f9298` είναι:
+
+```
+keccak256(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"))
+```
+
+Σε μια κονσόλα Geth, αυτό μπορεί να υπολογιστεί ως εξής:
+
+```
+> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
+undefined
+> web3.sha3(key, {"encoding": "hex"})
+"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"
+```
+
+Η `path` είναι επομένως `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)`. Αυτό μπορεί τώρα να χρησιμοποιηθεί για να ανακτήσει τα δεδομένα από το trie αποθήκευσης όπως πριν:
+
+```
+curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545
+
+{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"}
+```
+
+Σημείωση: Το `storageRoot` για έναν λογαριασμό Ethereum είναι κενό από προεπιλογή εάν δεν είναι λογαριασμός συμβολαίου.
+
+### Συναλλαγές Trie {#transaction-trie}
+
+Υπάρχει ένα ξεχωριστό trie συναλλαγών για κάθε μπλοκ, αποθηκεύοντας και πάλι ζεύγη `(key, value)`. Μια διαδρομή εδώ είναι: `rlp(transactionIndex)` που αντιπροσωπεύει το κλειδί που αντιστοιχεί σε μια τιμή που καθορίζεται από:
+
+```
+if legacyTx:
+ value = rlp(tx)
+else:
+ value = TxType | encode(tx)
+```
+
+Περισσότερες πληροφορίες σχετικά με αυτό μπορούν να βρεθούν στην τεκμηρίωση [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718).
+
+### Αποδείξεις Trie {#receipts-trie}
+
+Κάθε μπλοκ έχει το δικό του trie αποδείξεων. Ένα `path` εδώ είναι: `rlp(transactionIndex)`. Το `transactionIndex` είναι ο δείκτης του μέσα στο μπλοκ όπου συμπεριλήφθηκε. Το trie αποδείξεων δεν ενημερώνεται ποτέ. Παρόμοια με το trie συναλλαγών, υπάρχουν τρέχουσες και παλιές αποδείξεις. Για να ερωτηθεί μια συγκεκριμένη απόδειξη στο trie αποδείξεων, απαιτείται ο δείκτης της συναλλαγής στο μπλοκ της, το φορτίο απόδειξης και ο τύπος συναλλαγής. Η επιστρεφόμενη απόδειξη μπορεί να είναι τύπου `Receipt` που ορίζεται ως η συνένωση του `TransactionType` και του `ReceiptPayload` ή μπορεί να είναι τύπου `LegacyReceipt` που ορίζεται ως `rlp([status, cumulativeGasUsed, logsBloom, logs])`.
+
+Περισσότερες πληροφορίες σχετικά με αυτό μπορούν να βρεθούν στην τεκμηρίωση [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Τροποποιημένο δέντρο Merkle Patricia — Πώς το Ethereum αποθηκεύει μια κατάσταση](https://medium.com/codechain/modified-merkle-patricia-trie-how-ethereum-saves-a-state-e6d7555078dd)
+- [Merkling στο Ethereum](https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/)
+- [Κατανόηση του trie Ethereum](https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/)
diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/rlp/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/rlp/index.md
new file mode 100644
index 00000000000..3cb887907c4
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/rlp/index.md
@@ -0,0 +1,163 @@
+---
+title: Σειριοποίηση Recursive-length prefix (RLP)
+description: Ένας ορισμός της κωδικοποίησης rlp στο επίπεδο εκτέλεσης του Ethereum.
+lang: el
+sidebarDepth: 2
+---
+
+Το Recursive Length Prefix (RLP) χρησιμοποιείται εκτενώς στους πελάτες εκτέλεσης του Ethereum. Το RLP τυποποιεί τη μεταφορά δεδομένων μεταξύ κόμβων σε μια μορφή αποδοτική στο χώρο. Ο σκοπός του RLP είναι να κωδικοποιεί αυθαίρετα ενσωματωμένους πίνακες δυαδικών δεδομένων και το RLP είναι η κύρια μέθοδος κωδικοποίησης που χρησιμοποιείται για τη σειριοποίηση αντικειμένων στο επίπεδο εκτέλεσης του Ethereum. Ο κύριος σκοπός του RLP είναι η κωδικοποίηση δομής με εξαίρεση τους θετικούς ακέραιους, το RLP αναθέτει την κωδικοποίηση συγκεκριμένων τύπων δεδομένων (π.χ. συμβολοσειρές, αριθμοί κινητής υποδιαστολής) σε πρωτόκολλα υψηλότερης τάξης. Οι θετικοί ακέραιοι πρέπει να αναπαρίστανται σε δυαδική μορφή big-endian χωρίς μηδενικά προηγούμενα (κάνοντας έτσι την τιμή ακέραιου μηδέν ισοδύναμη με τον κενό πίνακα byte). Οι αποσειριοποιημένοι θετικοί ακέραιοι με μηδενικά προηγούμενα πρέπει να αντιμετωπίζονται ως μη έγκυροι από οποιοδήποτε πρωτόκολλο υψηλότερης τάξης που χρησιμοποιεί RLP.
+
+Περισσότερες πληροφορίες στο [τεχνικές πληροφορίες του Ethereum (Παράρτημα Β)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19).
+
+Για να χρησιμοποιήσετε το RLP για την κωδικοποίηση ενός λεξικού, οι δύο προτεινόμενες κανονικές μορφές είναι:
+
+- Χρησιμοποιήστε `[[k1,v1],[k2,v2]...]` με κλειδιά σε λεξικογραφική σειρά.
+- Χρησιμοποιήστε την κωδικοποίηση δέντρου Patricia υψηλότερου επιπέδου όπως κάνει το Ethereum.
+
+## Επεξήγηση {#definition}
+
+Η συνάρτηση κωδικοποίησης RLP παίρνει ένα στοιχείο. Ένα στοιχείο ορίζεται ως εξής:
+
+- Μια συμβολοσειρά (δηλαδή πίνακας byte) είναι ένα στοιχείο.
+- Μια λίστα στοιχείων είναι ένα αντικείμενο.
+- Ένας θετικός ακέραιος είναι ένα αντικείμενο.
+
+Για παράδειγμα, όλα τα παρακάτω είναι αντικείμενα:
+
+- Μια κενή συμβολοσειρά.
+- Η συμβολοσειρά που περιέχει τη λέξη "cat".
+- Μια λίστα που περιέχει οποιοδήποτε αριθμό συμβολοσειρών.
+- Και πιο πολύπλοκες δομές δεδομένων όπως `["cat", ["puppy", "cow"], "horse", [[]], "pig", [""], "sheep"]`.
+- Ο αριθμός `100`.
+
+Σημειώστε ότι στο πλαίσιο της υπόλοιπης σελίδας, η "συμβολοσειρά" σημαίνει "ένας συγκεκριμένος αριθμός byte δεδομένων", δε χρησιμοποιούνται ειδικές κωδικοποιήσεις και δεν υπονοείται καμία γνώση σχετικά με το περιεχόμενο των συμβολοσειρών (εκτός από ό, τι απαιτείται από τον κανόνα κατά των μη ελάχιστων θετικών ακεραίων).
+
+Η κωδικοποίηση RLP ορίζεται ως εξής:
+
+- Για έναν θετικό ακέραιο, μετατρέπεται στον μικρότερο πίνακα byte του οποίου η ερμηνεία big-endian είναι ο ακέραιος και στη συνέχεια κωδικοποιείται ως συμβολοσειρά σύμφωνα με τους παρακάτω κανόνες.
+- Για ένα μόνο byte του οποίου η τιμή βρίσκεται στο εύρος `[0x00, 0x7f]` (δεκαδικό `[0, 127]`), αυτό το byte είναι η δική του κωδικοποίηση RLP.
+- Διαφορετικά, εάν μια συμβολοσειρά έχει μήκος 0-55 byte, η κωδικοποίηση RLP αποτελείται από ένα μόνο byte με τιμή **0x80** (δεκ. 128) συν το μήκος της συμβολοσειράς ακολουθούμενο από τη συμβολοσειρά. Το εύρος του πρώτου byte είναι έτσι `[0x80, 0xb7]` (δεκ. `[128, 183]`).
+- Εάν μια συμβολοσειρά έχει μήκος μεγαλύτερο από 55 byte, η κωδικοποίηση RLP αποτελείται από ένα μόνο byte με τιμή **0xb7** (δεκ. 183) συν το μήκος σε byte του μήκους της συμβολοσειράς σε δυαδική μορφή, ακολουθούμενο από το μήκος της συμβολοσειράς, ακολουθούμενο από τη συμβολοσειρά. Για παράδειγμα, μια συμβολοσειρά μήκους 1024 byte θα κωδικοποιηθεί ως `\xb9\x04\x00` (δεκ. `185, 4, 0`) ακολουθούμενη από τη συμβολοσειρά. Εδώ, `0xb9` (183 + 2 = 185) ως το πρώτο byte, ακολουθούμενο από τα 2 byte `0x0400` (δεκ. 1024) που υποδηλώνουν το μήκος της πραγματικής συμβολοσειράς. Το εύρος του πρώτου byte είναι έτσι `[0xb8, 0xbf]` (δεκ. `[184, 191]`).
+- Εάν μια συμβολοσειρά έχει μήκος 2^64 byte ή μεγαλύτερο, ενδέχεται να μην μπορεί να κωδικοποιηθεί.
+- Εάν το συνολικό φορτίο μιας λίστας (δηλαδή το συνδυασμένο μήκος όλων των στοιχείων της που κωδικοποιούνται RLP) έχει μήκος 0-55 byte, η κωδικοποίηση RLP αποτελείται από ένα μόνο byte με τιμή **0xc0** συν το μήκος του φορτίου ακολουθούμενο από τη συνένωση των κωδικοποιήσεων RLP των στοιχείων. Το εύρος του πρώτου byte είναι έτσι `[0xc0, 0xf7]` (δεκ. `[192, 247]`).
+- Εάν ο συνολικός όγκος μιας λίστας έχει μήκος μεγαλύτερο από 55 byte, η κωδικοποίηση RLP αποτελείται από ένα μόνο byte με τιμή **0xf7** συν το μήκος σε byte του φορτίου σε δυαδική μορφή, ακολουθούμενο από το μήκος του φορτίου, ακολουθούμενο από τη συνένωση των κωδικοποιήσεων RLP των στοιχείων. Το εύρος του πρώτου byte είναι έτσι `[0xf8, 0xff]` (δεκ. `[248, 255])`.
+
+Σε κώδικα, αυτό είναι:
+
+```python
+def rlp_encode(input):
+ if isinstance(input,str):
+ if len(input) == 1 and ord(input) < 0x80:
+ return input
+ return encode_length(len(input), 0x80) + input
+ elif isinstance(input, list):
+ output = ''
+ for item in input:
+ output += rlp_encode(item)
+ return encode_length(len(output), 0xc0) + output
+
+def encode_length(L, offset):
+ if L < 56:
+ return chr(L + offset)
+ elif L < 256**8:
+ BL = to_binary(L)
+ return chr(len(BL) + offset + 55) + BL
+ raise Exception("input too long")
+
+def to_binary(x):
+ if x == 0:
+ return ''
+ return to_binary(int(x / 256)) + chr(x % 256)
+```
+
+## Παραδείγματα {#examples}
+
+- η συμβολοσειρά "dog" = [ 0x83, 'd', 'o', 'g' ]
+- η λίστα [ "cat", "dog" ] = `[ 0xc8, 0x83, 'c', 'a', 't', 0x83, 'd', 'o', 'g' ]`
+- η κενή συμβολοσειρά ('null') = `[ 0x80 ]`
+- η κενή λίστα = `[ 0xc0 ]`
+- ο ακέραιος 0 = `[ 0x80 ]`
+- το byte '\\x00' = `[ 0x00 ]`
+- το byte '\\x0f' = `[ 0x0f ]`
+- τα bytes '\\x04\\x00' = `[ 0x82, 0x04, 0x00 ]`
+- τα [σύνολα θεωρητικής αναπαράστασης](http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers) of three, `[ [], [[]], [ [], [[]] ] ] = [ 0xc7, 0xc0, 0xc1, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0 ]`
+- η συμβολοσειρά "Lorem ipsum dolor sit amet, consectetur adipisicing elit" = `[ 0xb8, 0x38, 'L', 'o', 'r', 'e', 'm', ' ', ... , 'e', 'l', 'i', 't' ]`
+
+## Αποκωδικοποίηση RLP {#rlp-decoding}
+
+Σύμφωνα με τους κανόνες και τη διαδικασία κωδικοποίησης RLP, η είσοδος της αποκωδικοποίησης RLP θεωρείται ως ένας πίνακας δυαδικών δεδομένων. Η διαδικασία αποκωδικοποίησης RLP είναι ως εξής:
+
+1. Σύμφωνα με το πρώτο byte (δηλαδή το πρόθεμα) των δεδομένων εισόδου και την αποκωδικοποίηση του τύπου δεδομένων, το μήκος των πραγματικών δεδομένων και την απόσταση.
+
+2. Σύμφωνα με τον τύπο και την απόσταση των δεδομένων, αποκωδικοποιήστε τα δεδομένα αντίστοιχα, τηρώντας τον ελάχιστο κανόνα κωδικοποίησης για θετικούς ακέραιους.
+
+3. συνεχίστε να αποκωδικοποιείτε το υπόλοιπο της εισόδου.
+
+Μεταξύ αυτών, οι κανόνες αποκωδικοποίησης των τύπων δεδομένων και της απόστασης είναι ως εξής:
+
+1. Τα δεδομένα είναι μια συμβολοσειρά εάν το εύρος του πρώτου byte (δηλαδή το πρόθεμα) είναι [0x00, 0x7f] και η συμβολοσειρά είναι το ίδιο το πρώτο byte ακριβώς.
+
+2. Τα δεδομένα είναι μια συμβολοσειρά εάν το εύρος του πρώτου byte είναι [0x80, 0xb7] και η συμβολοσειρά του οποίου το μήκος είναι ίσο με το πρώτο byte μείον 0x80 ακολουθεί το πρώτο byte.
+
+3. Τα δεδομένα είναι μια συμβολοσειρά εάν το εύρος του πρώτου byte είναι [0xb8, 0xbf] και το μήκος της συμβολοσειράς του οποίου το μήκος σε byte είναι ίσο με το πρώτο byte μείον 0xb7 ακολουθεί το πρώτο byte και η συμβολοσειρά ακολουθεί το μήκος της συμβολοσειράς.
+
+4. Τα δεδομένα είναι μια λίστα εάν το εύρος του πρώτου byte είναι [0xc0, 0xf7] και η σύμπλεξη των κωδικοποιήσεων RLP όλων των στοιχείων της λίστας των οποίων το συνολικό φορτίο είναι ίσο με το πρώτο byte μείον 0xc0 ακολουθεί το πρώτο byte.
+
+5. Τα δεδομένα είναι μια λίστα εάν το εύρος του πρώτου byte είναι [0xf8, 0xff] και το συνολικό φορτίο της λίστας του οποίου το μήκος είναι ίσο με το πρώτο byte μείον 0xf7 ακολουθεί το πρώτο byte και η σύμπλεξη των κωδικοποιήσεων RLP όλων των στοιχείων της λίστας ακολουθεί το συνολικό φορτίο της λίστας.
+
+Σε κώδικα, αυτό είναι:
+
+```python
+def rlp_decode(input):
+ if len(input) == 0:
+ return
+ output = ''
+ (offset, dataLen, type) = decode_length(input)
+ if type is str:
+ output = instantiate_str(substr(input, offset, dataLen))
+ elif type is list:
+ output = instantiate_list(substr(input, offset, dataLen))
+ output += rlp_decode(substr(input, offset + dataLen))
+ return output
+
+def decode_length(input):
+ length = len(input)
+ if length == 0:
+ raise Exception("input is null")
+ prefix = ord(input[0])
+ if prefix <= 0x7f:
+ return (0, 1, str)
+ elif prefix <= 0xb7 and length > prefix - 0x80:
+ strLen = prefix - 0x80
+ return (1, strLen, str)
+ elif prefix <= 0xbf and length > prefix - 0xb7 and length > prefix - 0xb7 + to_integer(substr(input, 1, prefix - 0xb7)):
+ lenOfStrLen = prefix - 0xb7
+ strLen = to_integer(substr(input, 1, lenOfStrLen))
+ return (1 + lenOfStrLen, strLen, str)
+ elif prefix <= 0xf7 and length > prefix - 0xc0:
+ listLen = prefix - 0xc0;
+ return (1, listLen, list)
+ elif prefix <= 0xff and length > prefix - 0xf7 and length > prefix - 0xf7 + to_integer(substr(input, 1, prefix - 0xf7)):
+ lenOfListLen = prefix - 0xf7
+ listLen = to_integer(substr(input, 1, lenOfListLen))
+ return (1 + lenOfListLen, listLen, list)
+ raise Exception("input does not conform to RLP encoding form")
+
+def to_integer(b):
+ length = len(b)
+ if length == 0:
+ raise Exception("input is null")
+ elif length == 1:
+ return ord(b[0])
+ return ord(substr(b, -1)) + to_integer(substr(b, 0, -1)) * 256
+```
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [RLP στο Ethereum](https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919)
+- [Ethereum στα βάθη του: RLP](https://medium.com/coinmonks/ethereum-under-the-hood-part-3-rlp-decoding-df236dc13e58)
+- [Coglio, A. (2020). Το Recursive Length Prefix του Ethereum στο ACL2. arXiv preprint arXiv:2009.13769.](https://arxiv.org/abs/2009.13769)
+
+## Σχετικά θέματα {#related-topics}
+
+- [Patricia merkle trie](/developers/docs/data-structures-and-encoding/patricia-merkle-trie)
diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/ssz/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/ssz/index.md
new file mode 100644
index 00000000000..47dc7c2461a
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/ssz/index.md
@@ -0,0 +1,149 @@
+---
+title: Απλή σειριοποίηση
+description: Επεξήγηση της μορφής SSZ του Ethereum.
+lang: el
+sidebarDepth: 2
+---
+
+**Απλή σειριοποίηση (SSZ)** είναι η μέθοδος σειριοποίησης που χρησιμοποιείται στο Beacon Chain. Αντικαθιστά τη σειριοποίηση RLP που χρησιμοποιείται στο επίπεδο εκτέλεσης παντού στο επίπεδο συναίνεσης εκτός από το πρωτόκολλο ανακάλυψης ομότιμου. Για να μάθετε περισσότερα σχετικά με τη σειριοποίηση RLP, ανατρέξτε στην ενότητα [Πρόθεμα αναδρομικού μήκους (RLP)](/developers/docs/data-structures-and-encoding/rlp/). Το SSZ έχει σχεδιαστεί για να είναι ντετερμινιστικό και επίσης να είναι αποτελεσματικό στο merkleize. Το SSZ μπορεί να θεωρηθεί ότι έχει δύο στοιχεία: ένα σχήμα σειριοποίησης και ένα σχήμα Merkleization που έχει σχεδιαστεί για να λειτουργεί αποτελεσματικά με τη σειριακή δομή δεδομένων.
+
+## Πώς λειτουργεί το SSZ; {#how-does-ssz-work}
+
+### Σειριοποίηση {#serialization}
+
+Το SSZ είναι ένα σχήμα σειριοποίησης που δεν αυτοπεριγράφεται - μάλλον βασίζεται σε ένα σχήμα που πρέπει να είναι γνωστό εκ των προτέρων. Ο στόχος της σειριοποίησης SSZ είναι να αναπαραστούν αντικείμενα αυθαίρετης πολυπλοκότητας ως συμβολοσειρές bytes. Αυτή είναι μια πολύ απλή διαδικασία για «βασικούς τύπους». Το στοιχείο απλώς μετατρέπεται σε δεκαεξαδικά bytes. Οι βασικοί τύποι περιλαμβάνουν:
+
+- unsigned integers
+- Booleans
+
+Για τους σύνθετους τύπους, η σειριοποίηση είναι πιο περίπλοκη επειδή ο σύνθετος τύπος περιέχει πολλαπλά στοιχεία που μπορεί να έχουν διαφορετικούς τύπους ή διαφορετικά μεγέθη ή και τα δύο. Όπου όλα αυτά τα αντικείμενα έχουν σταθερά μήκη (δηλαδή το μέγεθος των στοιχείων θα είναι πάντα σταθερό ανεξάρτητα από τις πραγματικές τους τιμές) η σειριοποίηση είναι απλώς μια μετατροπή κάθε στοιχείου στον σύνθετο τύπο ταξινομημένο σε bytestrings little-endian. Αυτά τα bytestrings ενώνονται μεταξύ τους. Το σειριοποιημένο αντικείμενο έχει την αναπαράσταση bytelist των στοιχείων σταθερού μήκους στην ίδια σειρά με την οποία εμφανίζονται στο αποσυσκευασμένο αντικείμενο.
+
+Για τύπους με μεταβλητά μήκη, τα πραγματικά δεδομένα αντικαθίστανται από μια τιμή "offset" στη θέση αυτού του στοιχείου στο σειριοποιημένο αντικείμενο. Τα πραγματικά δεδομένα προστίθενται σε έναν σωρό στο τέλος του σειριοποιημένου αντικειμένου. Η τιμή offset είναι ο δείκτης για την αρχή των πραγματικών δεδομένων στο σωρό, λειτουργώντας ως δείκτης στα σχετικά bytes.
+
+Το παρακάτω παράδειγμα απεικονίζει πώς λειτουργεί η μετατόπιση για έναν περιέκτη με στοιχεία σταθερού και μεταβλητού μήκους:
+
+```Rust
+
+ struct Dummy {
+
+ number1: u64,
+ number2: u64,
+ vector: Vec,
+ number3: u64
+ }
+
+ dummy = Dummy{
+
+ number1: 37,
+ number2: 55,
+ vector: vec![1,2,3,4],
+ number3: 22,
+ }
+
+ serialized = ssz.serialize(dummy)
+
+```
+
+Το `serialized` θα είχε την ακόλουθη δομή (εδώ συμπληρώνεται μόνο σε 4 bit, στην πραγματικότητα συμπληρώνεται σε 32 bit και διατηρείται η αναπαράσταση `int` για λόγους σαφήνειας):
+
+```
+[37, 0, 0, 0, 55, 0, 0, 0, 16, 0, 0, 0, 22, 0, 0, 0, 1, 2, 3, 4]
+------------ ----------- ----------- ----------- ----------
+ | | | | |
+ number1 number2 offset for number 3 value for
+ vector vector
+
+```
+
+Χωρισμένο σε γραμμές για λόγους σαφήνειας:
+
+```
+[
+ 37, 0, 0, 0, # little-endian encoding of `number1`.
+ 55, 0, 0, 0, # little-endian encoding of `number2`.
+ 16, 0, 0, 0, # The "offset" that indicates where the value of `vector` starts (little-endian 16).
+ 22, 0, 0, 0, # little-endian encoding of `number3`.
+ 1, 2, 3, 4, # The actual values in `vector`.
+]
+```
+
+Αυτό εξακολουθεί να είναι μια απλοποίηση, οι ακέραιοι και τα μηδενικά στα παραπάνω σχήματα θα αποθηκεύονταν στην πραγματικότητα ως λίστες byte, όπως αυτή:
+
+```
+[
+ 10100101000000000000000000000000 # little-endian encoding of `number1`
+ 10110111000000000000000000000000 # little-endian encoding of `number2`.
+ 10010000000000000000000000000000 # The "offset" that indicates where the value of `vector` starts (little-endian 16).
+ 10010110000000000000000000000000 # little-endian encoding of `number3`.
+ 10000001100000101000001110000100 # The actual value of the `bytes` field.
+]
+```
+
+Έτσι, οι πραγματικές τιμές για τους τύπους μεταβλητού μήκους αποθηκεύονται σε ένα σωρό στο τέλος του σειριοποιημένου αντικειμένου με τις μετατοπίσεις τους αποθηκευμένες στις σωστές θέσεις τους στην ταξινομημένη λίστα των πεδίων.
+
+Υπάρχουν επίσης ορισμένες ειδικές περιπτώσεις που απαιτούν ειδική διαχείριση, όπως ο τύπος `BitList` που απαιτεί να προστεθεί ένα όριο μήκους κατά τη σειριοποίηση και να αφαιρεθεί κατά την αποσειριοποίηση. Πλήρεις λεπτομέρειες είναι διαθέσιμες στις [προδιαγραφές SSZ](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md).
+
+### Αποσειριοποίηση {#deserialization}
+
+Για να αποσειριοποιήσετε αυτό το αντικείμενο απαιτείται το σχήμα. Το σχήμα ορίζει την ακριβή διάταξη των σειριοποιημένων δεδομένων, έτσι ώστε κάθε συγκεκριμένο στοιχείο να μπορεί να αποσειριοποιηθεί από ένα blob byte σε κάποιο ουσιαστικό αντικείμενο με τα στοιχεία να έχουν τον σωστό τύπο, τιμή, μέγεθος και θέση. Είναι το σχήμα που λέει στον αποσειριοποιητή ποιες τιμές είναι πραγματικές τιμές και ποιες είναι μετατοπίσεις. Όλα τα ονόματα πεδίων εξαφανίζονται όταν ένα αντικείμενο σειριοποιείται, αλλά αποκαθίστανται κατά την αποσειριοποίηση σύμφωνα με το σχήμα.
+
+Δείτε το [ssz.dev](https://www.ssz.dev/overview) για μια διαδραστική εξήγηση σχετικά με αυτό.
+
+## Merkleization {#merkleization}
+
+Αυτό το σειριοποιημένο αντικείμενο SSZ μπορεί στη συνέχεια να μετατραπεί σε Merkle, δηλαδή να μετατραπεί σε μια αναπαράσταση Merkle-δέντρου των ίδιων δεδομένων. Πρώτον, προσδιορίζεται ο αριθμός των chunk των 32 byte στο σειριοποιημένο αντικείμενο. Αυτά είναι τα «φύλλα» του δέντρου. Ο συνολικός αριθμός των φύλλων πρέπει να είναι δύναμη του 2, έτσι ώστε ο τελικός συνδυασμός των φύλλων να παράγει τελικά μια μόνο ρίζα δέντρου κατακερματισμού. Εάν αυτό δεν συμβαίνει φυσικά, προστίθενται επιπλέον φύλλα που περιέχουν 32 byte μηδενικών. Διαγραμματικά:
+
+```
+ hash tree root
+ / \
+ / \
+ / \
+ / \
+ hash of leaves hash of leaves
+ 1 and 2 3 and 4
+ / \ / \
+ / \ / \
+ / \ / \
+ leaf1 leaf2 leaf3 leaf4
+```
+
+Υπάρχουν επίσης περιπτώσεις όπου τα φύλλα του δέντρου δεν κατανέμονται φυσικά ομοιόμορφα όπως στο παραπάνω παράδειγμα. Για παράδειγμα, το φύλλο 4 θα μπορούσε να είναι ένα δοχείο με πολλαπλά στοιχεία που απαιτούν την προσθήκη πρόσθετου "βάθους" στο δέντρο Merkle, δημιουργώντας ένα άνισο δέντρο.
+
+Αντί να αναφερόμαστε σε αυτά τα στοιχεία δέντρου ως φύλλο X, κόμβος X κ.λπ., μπορούμε να τους δώσουμε γενικευμένους δείκτες, ξεκινώντας από τη ρίζα = 1 και μετρώντας από αριστερά προς τα δεξιά σε κάθε επίπεδο. Αυτός είναι ο γενικευμένος δείκτης που εξηγήθηκε παραπάνω. Κάθε στοιχείο στη σειριασμένη λίστα έχει έναν γενικευμένο δείκτη ίσο με `2 ** depth + idx` όπου idx είναι η θέση του μηδενικού δείκτη στο σειριασμένο αντικείμενο και το βάθος είναι ο αριθμός των επιπέδων στο δέντρο Merkle, το οποίο μπορεί να προσδιοριστεί ως ο δυαδικός λογάριθμος του αριθμού των στοιχείων (φύλλα).
+
+## Γενικευμένοι δείκτες {#generalized-indices}
+
+Ένας γενικευμένος δείκτης είναι ένας ακέραιος που αντιπροσωπεύει έναν κόμβο σε ένα δυαδικό δέντρο Merkle όπου κάθε κόμβος έχει έναν γενικευμένο δείκτη `2 ** depth + δείκτης στη σειρά`.
+
+```
+ 1 --depth = 0 2**0 + 0 = 1
+ 2 3 --depth = 1 2**1 + 0 = 2, 2**1+1 = 3
+ 4 5 6 7 --depth = 2 2**2 + 0 = 4, 2**2 + 1 = 5...
+
+```
+
+Αυτή η αναπαράσταση αποδίδει έναν δείκτη κόμβου για κάθε κομμάτι δεδομένων στο δέντρο Merkle.
+
+## Πολλαπλές πιστοποιήσεις {#multiproofs}
+
+Η παροχή της λίστας των γενικευμένων δεικτών που αντιπροσωπεύουν ένα συγκεκριμένο στοιχείο μας επιτρέπει να το επαληθεύσουμε έναντι της ρίζας του δέντρου hash. Αυτή η ρίζα είναι η αποδεκτή έκδοση της πραγματικότητας από εμάς. Οποιαδήποτε δεδομένα μας παρέχονται μπορούν να επαληθευτούν έναντι αυτής της πραγματικότητας εισάγοντάς τα στη σωστή θέση στο δέντρο Merkle (καθορισμένη από τον γενικευμένο δείκτη του) και παρατηρώντας ότι η ρίζα παραμένει σταθερή. Υπάρχουν συναρτήσεις στις προδιαγραφές [εδώ](https://github.com/ethereum/consensus-specs/blob/dev/ssz/merkle-proofs.md#merkle-multiproofs) που δείχνουν πώς να υπολογίσουμε το ελάχιστο σύνολο κόμβων που απαιτούνται για την επαλήθευση του περιεχομένου ενός συγκεκριμένου συνόλου γενικευμένων δεικτών.
+
+Για παράδειγμα, για να επαληθεύσουμε δεδομένα στον δείκτη 9 στο παρακάτω δέντρο, χρειαζόμαστε το hash των δεδομένων στους δείκτες 8, 9, 5, 3, 1. Το hash του (8,9) πρέπει να ισούται με το hash (4), το οποίο κάνει hash με το 5 για να παράγει το 2, το οποίο κάνει hash με το 3 για να παράγει τη ρίζα του δέντρου 1. Εάν παρέχθηκαν εσφαλμένα δεδομένα για το 9, η ρίζα θα άλλαζε - θα το ανιχνεύαμε αυτό και θα αποτύχαμε να επαληθεύσουμε το κλάδο.
+
+```
+* = data required to generate proof
+
+ 1*
+ 2 3*
+ 4 5* 6 7
+8* 9* 10 11 12 13 14 15
+
+```
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Αναβάθμιση Ethereum: SSZ](https://eth2book.info/altair/part2/building_blocks/ssz)
+- [Αναβάθμιση Ethereum: Merkleization](https://eth2book.info/altair/part2/building_blocks/merkleization)
+- [Υλοποιήσεις SSZ](https://github.com/ethereum/consensus-specs/issues/2138)
+- [Υπολογιστής SSZ](https://simpleserialize.com/)
+- [SSZ.dev](https://www.ssz.dev/)
diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md
new file mode 100644
index 00000000000..7bf5aa691b4
--- /dev/null
+++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md
@@ -0,0 +1,189 @@
+---
+title: Ορισμός μυστικού αποθηκευτικού χώρου Web3
+description: Επίσημος ορισμός για τον μυστικό αποθηκευτικό χώρο web3
+lang: el
+sidebarDepth: 2
+---
+
+Για να κάνετε την εφαρμογή σας να λειτουργεί στο Ethereum, μπορείτε να χρησιμοποιήσετε το αντικείμενο web3 που παρέχεται από τη βιβλιοθήκη web3.js. Επικοινωνεί με έναν τοπικό κόμβο μέσω κλήσεων RPC. Το [web3](https://github.com/ethereum/web3.js/) λειτουργεί με οποιονδήποτε κόμβο Ethereum που εκθέτει ένα επίπεδο RPC.
+
+Το `web3` περιέχει το αντικείμενο `eth` - web3.eth.
+
+```js
+var fs = require("fs")
+var recognizer = require("ethereum-keyfile-recognizer")
+
+fs.readFile("keyfile.json", (err, data) => {
+ var json = JSON.parse(data)
+ var result = recognizer(json)
+})
+
+/** result
+ * [ 'web3', 3 ] web3 (v3) keyfile
+ * [ 'ethersale', undefined ] Ethersale keyfile
+ * null invalid keyfile
+ */
+```
+
+Αυτό τεκμηριώνει το **version 3** του ορισμού μυστικού αποθηκευτικού χώρου Web3.
+
+## Επεξήγηση {#definition}
+
+Η πραγματική κωδικοποίηση και αποκωδικοποίηση του αρχείου παραμένει σε μεγάλο βαθμό αμετάβλητη από την έκδοση 1, εκτός από το ότι ο αλγόριθμος κρυπτογράφησης δεν είναι πλέον σταθερός στο AES-128-CBC (το AES-128-CTR είναι πλέον η ελάχιστη απαίτηση). Οι περισσότερες έννοιες/αλγόριθμοι είναι παρόμοιες με την έκδοση 1, εκτός από το `mac`, το οποίο δίνεται ως SHA3 (keccak-256) των συνδέσεων του δεύτερου πιο αριστερού 16 bytes του παραγόμενου κλειδιού μαζί με το πλήρες `ciphertext`.
+
+Τα αρχεία μυστικού κλειδιού αποθηκεύονται απευθείας στο `~/.web3/keystore` (για συστήματα τύπου Unix) και στο `~/AppData/Web3/keystore` (για Windows). Μπορεί να ονομάζονται οτιδήποτε, αλλά μια καλή σύμβαση είναι `.json`, όπου `` είναι το UUID 128-bit που δίνεται στο μυστικό κλειδί (ένα διατηρητέο - ιδιωτικό του μεσολαβητή για τη διεύθυνση του μυστικού κλειδιού).
+
+Όλα αυτά τα αρχεία έχουν σχετικό κωδικό πρόσβασης. Για να εξαγάγετε το μυστικό κλειδί ενός αρχείου `.json`, εξάγετε το κλειδί κρυπτογράφησης του. Αυτό γίνεται με τη λήψη του κωδικού πρόσβασης του αρχείου και τη διέλευση του μέσω μιας λειτουργίας παραγωγής κλειδιού όπως περιγράφεται από το κλειδί `kdf`. Οι στατικές και δυναμικές παράμετροι που εξαρτώνται από το KDF για τη λειτουργία KDF περιγράφονται στο κλειδί `kdfparams`.
+
+Το PBKDF2 πρέπει να υποστηρίζεται από όλες τις ελάχιστα συμβατές υλοποιήσεις, με την ένδειξη όμως:
+
+- `kdf`: `pbkdf2`
+
+Για PBKDF2, τα kdfparams συμπεριλαμβάνουν:
+
+- `prf`: Πρέπει να είναι `hmac-sha256` (μπορεί να επεκταθεί στο μέλλον)˙
+- `c`: αριθμός επαναλήψεων;
+- `salt`: salt που μεταβιβάστηκε στο PBKDF
+- `dklen`: μήκος για το προέρχοντα κλειδί. Πρέπει να είναι >= 32.
+
+Μόλις ληφθεί το κλειδί του αρχείου, θα πρέπει να επαληθευτεί μέσω της παραγωγής του MAC. Το MAC θα πρέπει να υπολογιστεί ως ο κατακερματισμός SHA3 (keccak-256) του πίνακα byte που σχηματίζεται ως συνενώσεις των 16 πιο αριστερών byte του παραγόμενου κλειδιού με τα περιεχόμενα του κλειδιού `ciphertext`, π.χ.:
+
+```js
+KECCAK(DK[16..31] ++ )
+```
+
+(όπου `++` είναι ο τελεστής συνένωσης)
+
+Αυτή η τιμή πρέπει να συγκριθεί με τα περιεχόμενα του κλειδιού `mac`. Εάν είναι διαφορετικοί, θα πρέπει να ζητηθεί εναλλακτικός κωδικός πρόσβασης (ή να ακυρωθεί η λειτουργία).
+
+Αφού επαληθευτεί το κλειδί του αρχείου, το κείμενο κρυπτογράφησης (το κλειδί `κρυπτογραφημένο κείμενο` στο αρχείο) μπορεί να αποκρυπτογραφηθεί χρησιμοποιώντας τον αλγόριθμο συμμετρικής κρυπτογράφησης που καθορίζεται από το κλειδί `κρυπτογράφηση` και παραμετροποιείται μέσω του κλειδιού `cipherparams`. Εάν το παραγόμενο μέγεθος κλειδιού και το μέγεθος κλειδιού του αλγορίθμου δεν ταιριάζουν, τα μηδενικά συμπληρωμένα, δεξιά byte του παραγόμενου κλειδιού θα πρέπει να χρησιμοποιηθούν ως κλειδί στον αλγόριθμο.
+
+Όλες οι ελάχιστα συμβατές υλοποιήσεις πρέπει να υποστηρίζουν τον αλγόριθμο AES-128-CTR, ο οποίος υποδηλώνεται ως εξής:
+
+- `cipher: aes-128-ctr`
+
+Αυτή η κρυπτογράφηση λαμβάνει τις ακόλουθες παραμέτρους, που δίνονται ως κλειδιά στο κλειδί cipherparams:
+
+- `iv`: Διάνυσμα αρχικοποίησης 128-bit για την κρυπτογράφηση.
+
+Το κλειδί για τον κρυπτογράφηση είναι τα αριστερά 16 byte του παραγόμενου κλειδιού, δηλαδή `DK[0..15]`
+
+Η δημιουργία/κρυπτογράφηση ενός μυστικού κλειδιού θα πρέπει να είναι ουσιαστικά το αντίστροφο αυτών των οδηγιών. Βεβαιωθείτε ότι τα `uuid`, `salt` και `iv` είναι πραγματικά τυχαία.
+
+Εκτός από το πεδίο `version`, το οποίο θα πρέπει να λειτουργεί ως "συμπαγές" αναγνωριστικό της έκδοσης, οι υλοποιήσεις μπορούν επίσης να χρησιμοποιούν την `minorversion` για την παρακολούθηση μικρότερων, μη παραβιαστικών αλλαγών στη μορφή.
+
+## Δοκιμαστικά Vectors {#test-vectors}
+
+Λεπτομέρειες:
+
+- `Address`: `008aeeda4d805471df9b2a5b0f38a0c3bcba786b`
+- `ICAP`: `XE542A5PZHH8PYIZUBEJEO0MFWRAPPIL67`
+- `UUID`: `3198bc9c-6672-5ab3-d9954942343ae5b6`
+- `Password`: `testpassword`
+- `Secret`: `7a28b5ba57c53603b0b07b56bba752f7784bf506fa95edc395f5cf6c7514fe9d`
+
+### PBKDF2-SHA-256 {#PBKDF2-SHA-256}
+
+Δοκιμή διανύσματος με χρήση `AES-128-CTR` και `PBKDF2-SHA-256`:
+
+Περιεχόμενο αρχείου του `~/.web3/keystore/3198bc9c-6672-5ab3-d9954942343ae5b6.json`:
+
+```json
+{
+ "crypto": {
+ "cipher": "aes-128-ctr",
+ "cipherparams": {
+ "iv": "6087dab2f9fdbbfaddc31a909735c1e6"
+ },
+ "ciphertext": "5318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46",
+ "kdf": "pbkdf2",
+ "kdfparams": {
+ "c": 262144,
+ "dklen": 32,
+ "prf": "hmac-sha256",
+ "salt": "ae3cd4e7013836a3df6bd7241b12db061dbe2c6785853cce422d148a624ce0bd"
+ },
+ "mac": "517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2"
+ },
+ "id": "3198bc9c-6672-5ab3-d995-4942343ae5b6",
+ "version": 3
+}
+```
+
+**Intermediates**:
+
+`Derived key`: `f06d69cdc7da0faffb1008270bca38f5e31891a3a773950e6d0fea48a7188551` `MAC Body`: `e31891a3a773950e6d0fea48a71885515318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46` `MAC`: `517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2` `Cipher key`: `f06d69cdc7da0faffb1008270bca38f5`
+
+### Scrypt {#scrypt}
+
+Δοκιμαστικό διάνυσμα χρησιμοποιώντας AES-128-CTR και Scrypt:
+
+```json
+{
+ "crypto": {
+ "cipher": "aes-128-ctr",
+ "cipherparams": {
+ "iv": "740770fce12ce862af21264dab25f1da"
+ },
+ "ciphertext": "dd8a1132cf57db67c038c6763afe2cbe6ea1949a86abc5843f8ca656ebbb1ea2",
+ "kdf": "scrypt",
+ "kdfparams": {
+ "dklen": 32,
+ "n": 262144,
+ "p": 1,
+ "r": 8,
+ "salt": "25710c2ccd7c610b24d068af83b959b7a0e5f40641f0c82daeb1345766191034"
+ },
+ "mac": "337aeb86505d2d0bb620effe57f18381377d67d76dac1090626aa5cd20886a7c"
+ },
+ "id": "3198bc9c-6672-5ab3-d995-4942343ae5b6",
+ "version": 3
+}
+```
+
+**Intermediates**:
+
+`Derived key`: `7446f59ecc301d2d79bc3302650d8a5cedc185ccbb4bf3ca1ebd2c163eaa6c2d` `MAC Body`: `edc185ccbb4bf3ca1ebd2c163eaa6c2ddd8a1132cf57db67c038c6763afe2cbe6ea1949a86abc5843f8ca656ebbb1ea2` `MAC`: `337aeb86505d2d0bb620effe57f18381377d67d76dac1090626aa5cd20886a7c` `Cipher key`: `7446f59ecc301d2d79bc3302650d8a5c`
+
+## Αλλαγές από την 'Εκδοση 1 {#alterations-from-v2}
+
+Αυτή η έκδοση διορθώνει αρκετές ασυνέπειες με την έκδοση 1 που δημοσιεύτηκε [εδώ](https://github.com/ethereum/homestead-guide/blob/master/old-docs-for-reference/go-ethereum-wiki.rst/Passphrase-protected-key-store-spec.rst). Συνοπτικά αυτές είναι:
+
+- Η χρήση κεφαλαίων είναι αδικαιολόγητη και ασυνεπής (πεζά γράμματα κρυπτογράφησης, μικτά γράμματα Kdf, κεφαλαία MAC).
+- Αντιμετωπίζει τα περιττά και θέτει σε κίνδυνο το απόρρητο.
+- Το `Salt` είναι εγγενώς μια παράμετρος της συνάρτησης παραγωγής κλειδιού και αξίζει να συσχετιστεί με αυτό, όχι με το crypto γενικά.
+- Το _SaltLen_ είναι περιττό (απλώς αντλήστε το από το Salt).
+- Η συνάρτηση εξαγωγής κλειδιού δίνεται, ωστόσο ο αλγόριθμος κρυπτογράφησης είναι δύσκολο να καθοριστεί.
+- Το `Version` είναι εγγενώς αριθμητικό, αλλά είναι συμβολοσειρά (η δομημένη έκδοση θα ήταν δυνατή με μια συμβολοσειρά, αλλά μπορεί να θεωρηθεί εκτός πεδίου εφαρμογής για μια σπάνια μεταβαλλόμενη μορφή αρχείου διαμόρφωσης).
+- Το `KDF` και το `cipher` είναι πλασματικά αδερφικές έννοιες αλλά οργανώνονται διαφορετικά.
+- Το `MAC` υπολογίζεται μέσω ενός αγνωστικού τμήματος δεδομένων κενού διαστήματος(!)
+
+Έχουν γίνει αλλαγές στη μορφοποίηση για να δοθεί στο ακόλουθο αρχείο, λειτουργικότητα ισοδύναμη με το παράδειγμα που δόθηκε στην προηγούμενη συνδεδεμένη σελίδα:
+
+```json
+{
+ "crypto": {
+ "cipher": "aes-128-cbc",
+ "ciphertext": "07533e172414bfa50e99dba4a0ce603f654ebfa1ff46277c3e0c577fdc87f6bb4e4fe16c5a94ce6ce14cfa069821ef9b",
+ "cipherparams": {
+ "iv": "16d67ba0ce5a339ff2f07951253e6ba8"
+ },
+ "kdf": "scrypt",
+ "kdfparams": {
+ "dklen": 32,
+ "n": 262144,
+ "p": 1,
+ "r": 8,
+ "salt": "06870e5e6a24e183a5c807bd1c43afd86d573f7db303ff4853d135cd0fd3fe91"
+ },
+ "mac": "8ccded24da2e99a11d48cda146f9cc8213eb423e2ea0d8427f41c3be414424dd",
+ "version": 1
+ },
+ "id": "0498f19a-59db-4d54-ac95-33901b4f1870",
+ "version": 2
+}
+```
+
+## Αλλαγές από την Έκδοση 2 {#alterations-from-v2}
+
+Η έκδοση 2 ήταν μια πρώιμη υλοποίηση της C++ με έναν αριθμό σφαλμάτων. Όλα τα βασικά παραμένουν αμετάβλητα από αυτό.
diff --git a/public/content/translations/el/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/translations/el/developers/docs/design-and-ux/dex-design-best-practice/index.md
new file mode 100644
index 00000000000..e32c453800b
--- /dev/null
+++ b/public/content/translations/el/developers/docs/design-and-ux/dex-design-best-practice/index.md
@@ -0,0 +1,218 @@
+---
+title: Βέλτιστες πρακτικές σχεδιασμού Αποκεντρωμένων Ανταλλακτηρίων (DEX)
+description: Ένας οδηγός που εξηγεί τις αποφάσεις σχεδιασμού εμπειρίας χρήστη (UX) και διεπαφής χρήστη (UI) για την ανταλλαγή κρύπτο.
+lang: el
+---
+
+Από την κυκλοφορία του Uniswap το 2018, έχουν κυκλοφορήσει εκατοντάδες αποκεντρωμένα ανταλλακτήρια σε δεκάδες διαφορετικές αλυσίδες.
+Πολλά από αυτά έχουν εισαγάγει νέα στοιχεία ή έχουν προσθέσει τη δική τους πινελιά, αλλά η διεπαφή έχει παραμείνει γενικά η ίδια.
+
+Ένας λόγος για αυτό είναι ο [νόμος του Jakob][Jakob’s Law](https://lawsofux.com/jakobs-law/):
+
+> Οι χρήστες περνούν το μεγαλύτερο μέρος του χρόνου τους σε άλλους ιστότοπους. Αυτό σημαίνει ότι οι χρήστες προτιμούν ο ιστότοπός σας να λειτουργεί με τον ίδιο τρόπο όπως όλοι οι άλλοι ιστότοποι που ήδη γνωρίζουν.
+
+Χάρη σε πρώτους καινοτόμους όπως το Uniswap, το Pancakeswap και το Sushiswap, οι χρήστες DeFi έχουν μια συλλογική ιδέα για το πώς φαίνεται ένα DEX.
+Για το λόγο αυτό, κάτι σαν «καλύτερη πρακτική» αναδύεται τώρα. Βλέπουμε όλο και περισσότερες αποφάσεις σχεδιασμού να τυποποιούνται σε όλους τους ιστότοπους. Μπορείτε να δείτε την εξέλιξη των DEX ως ένα τεράστιο παράδειγμα δοκιμής του ζωντανά. Τα πράγματα που δούλεψαν έμειναν, τα πράγματα που δεν δούλεψαν, πετάχτηκαν έξω. Υπάρχει ακόμα χώρος για προσωπικότητα, αλλά υπάρχουν ορισμένα πρότυπα που πρέπει να συμμορφώνεται ένα DEX.
+
+Αυτό το άρθρο είναι μια περίληψη του:
+
+- Τι να συμπεριλαμβάνει.
+- Πώς να το κάνετε όσο πιο εύχρηστο γίνεται.
+- Οι κύριοι τρόποι προσαρμογής του σχεδιασμού.
+
+Όλα τα παραδείγματα δημιουργήθηκαν ειδικά για αυτό το άρθρο, αν και όλα βασίζονται σε πραγματικά έργα.
+
+Το κιτ Figma περιλαμβάνεται επίσης στο κάτω μέρος, μη διστάσετε να το χρησιμοποιήσετε και να επιταχύνετε τα δικά σας καλώδια!
+
+## Βασική ανατομία ενός DEX {#basic-anatomy-of-a-dex}
+
+Το UI γενικά περιέχει τρία στοιχεία:
+
+1. Κύρια φόρμα
+2. Κουμπί
+3. Πίνακας λεπτομερειών
+
+
+
+## Παραλλαγές {#variations}
+
+Αυτό θα είναι ένα κοινό θέμα σε αυτό το άρθρο, αλλά υπάρχουν διάφοροι διαφορετικοί τρόποι οργάνωσης αυτών των στοιχείων. Ο "πίνακας λεπτομερειών" μπορεί να είναι:
+
+- Πάνω από το κουμπί
+- Κάτω από το κουμπί
+- Κρυμμένο σε πάνελ ακορντεόν
+- Και/ή σε τρόπο "προεπισκόπησης"
+
+Υ.Γ. Ο τρόπος "προεπισκόπησης" είναι προαιρετικός, αλλά αν εμφανίζετε πολύ λίγες λεπτομέρειες για το κύριο περιβάλλον χρήστη, είναι απαραίτητο.
+
+## Δομή της κύριας φόρμας {#structure-of-the-main-form}
+
+Αυτό είναι το πλαίσιο όπου επιλέγετε πραγματικά ποιο ψηφιακό στοιχείο θέλετε να ανταλλάξετε. Το στοιχείο αποτελείται από ένα πεδίο εισαγωγής και ένα μικρό κουμπί σε μία σειρά.
+
+Τα DEX συνήθως εμφανίζουν περισσότερες λεπτομέρειες σε μία γραμμή πάνω και μία γραμμή κάτω, αν και αυτό μπορεί να ρυθμιστεί διαφορετικά.
+
+
+
+## Παραλλαγές {#variations2}
+
+Δύο παραλλαγές διεπαφής χρήστη εμφανίζονται εδώ. Ένα χωρίς περιθώρια, δημιουργώντας ένα πολύ ανοιχτό σχέδιο και ένα όπου η γραμμή εισόδου έχει ένα περίγραμμα, δημιουργώντας μια εστίαση σε αυτό το στοιχείο.
+
+
+
+Αυτή η βασική δομή επιτρέπει **τέσσερα βασικά κομμάτια πληροφοριών** να εμφανίζονται στο σχέδιο: ένα σε κάθε γωνία. Εάν υπάρχει μόνο μία πάνω/κάτω σειρά, τότε υπάρχουν μόνο δύο σημεία.
+
+Κατά τη διάρκεια της εξέλιξης του DeFi, πολλά διαφορετικά πράγματα έχουν συμπεριληφθεί εδώ.
+
+## Βασικές πληροφορίες για να συμπεριλαβετε {#key-info-to-include}
+
+- Υπόλοιπο στο πορτοφόλι
+- Μέγιστο κουμπί
+- Αντιστοιχία σε Fiat
+- Επίπτωση της τιμής στο "ληφθέν" ποσό
+
+Στις πρώτες μέρες του DeFi, το αντίστοιχο fiat έλειπε συχνά. Εάν κατασκευάζετε οποιοδήποτε είδος έργου Web3, είναι απαραίτητο να εμφανίζεται ένα ισοδύναμο fiat. Οι χρήστες εξακολουθούν να σκέφτονται με όρους τοπικών νομισμάτων, επομένως για να ταιριάζουν με τα νοητικά μοντέλα του πραγματικού κόσμου, θα πρέπει να συμπεριληφθεί και αυτό.
+
+Στο δεύτερο πεδίο (αυτό στο οποίο επιλέγετε το ψηφιακό στοιχείο στο οποίο ανταλλάσσετε) μπορείτε επίσης να συμπεριλάβετε τον αντίκτυπο της τιμής δίπλα στο ποσό του νομίσματος fiat, υπολογίζοντας τη διαφορά μεταξύ του ποσού εισόδου και των εκτιμώμενων ποσών παραγωγής. Αυτή είναι μια πολύ χρήσιμη λεπτομέρεια που πρέπει να συμπεριληφθεί.
+
+Τα κουμπιά ποσοστού (π.χ. 25%, 50%, 75%) μπορεί να είναι μια χρήσιμη λειτουργία, αλλά καταλαμβάνουν περισσότερο χώρο, προσθέτουν περισσότερη παρότρυνση για ενέργειες και προσθέτουν περισσότερο ψυχικό φορτίο. Το ίδιο με τα ρυθμιστικά ποσοστού. Ορισμένες από αυτές τις αποφάσεις διεπαφής χρήστη θα εξαρτηθούν από την επωνυμία σας και τον τύπο χρήστη σας.
+
+Επιπλέον λεπτομέρειες μπορούν να εμφανίζονται κάτω από την κύρια φόρμα. Καθώς αυτός ο τύπος πληροφοριών είναι κυρίως για επαγγελματίες χρήστες, είναι λογικό να:
+
+- Το κρατήσετε όσο το δυνατόν ελάχιστο, ή
+- Να το κρύψετε σε ένα αναδιπλούμενο πάνελ.
+
+
+
+## Επιπλέον πληροφορίες για να συμπεριλαβετε {#extra-info-to-include}
+
+- Τιμή κρυπτονομίσματος
+- Ολίσθηση
+- Ελάχιστη λήψη
+- Αναμενόμενο αποτέλεσμα
+- Επίπτωση στην τιμή
+- Εκτίμηση κόστους gas
+- Άλλες κρατήσεις
+- Κύκλος εντολών
+
+Αναμφισβήτητα, ορισμένες από αυτές τις λεπτομέρειες θα μπορούσαν να είναι προαιρετικές.
+
+Η δρομολόγηση εντολών είναι ενδιαφέρουσα, αλλά δεν κάνει μεγάλη διαφορά για τους περισσότερους χρήστες.
+
+Μερικές άλλες λεπτομέρειες απλώς επαναλαμβάνουν το ίδιο πράγμα με διαφορετικούς τρόπους. Για παράδειγμα, το "ελάχιστο που ελήφθη" και η "ολίσθηση" είναι δύο όψεις του ίδιου νομίσματος. Εάν έχετε ορίσει την ολίσθηση στο 1%, τότε το ελάχιστο που μπορείτε να περιμένετε να λάβετε = αναμενόμενη έξοδος-1%. Ορισμένα περιβάλλοντα χρήστη θα εμφανίζουν το αναμενόμενο ποσό, το ελάχιστο ποσό και την ολίσθηση… Πράγμα που είναι χρήσιμο, αλλά πιθανώς υπερβολικό.
+
+Οι περισσότεροι χρήστες θα αφήσουν την προεπιλεγμένη ολίσθηση ούτως ή άλλως.
+
+Το "αντίκτυπο τιμής" εμφανίζεται συχνά σε αγκύλες δίπλα στο ισοδύναμο fiat στο πεδίο "προς". Αυτή είναι μια εξαιρετική λεπτομέρεια εμπειρίας χρήστη που πρέπει να προστεθεί, αλλά αν εμφανίζεται εδώ, χρειάζεται πραγματικά να εμφανιστεί ξανά παρακάτω; Και στη συνέχεια επιστροφή στην προηγούμενη οθόνη;
+
+Πολλοί χρήστες (ειδικά αυτοί που ανταλλάσσουν μικρά ποσά) δε θα ενδιαφέρονται για αυτές τις λεπτομέρειες. Θα εισάγουν απλώς έναν αριθμό και θα πατήσουν ανταλλαγή.
+
+
+
+Οι ακριβείς λεπτομέρειες που εμφανίζονται θα εξαρτηθούν από το κοινό σας και την αίσθηση που θέλετε να έχει η εφαρμογή.
+
+Εάν συμπεριλάβετε την ανοχή ολίσθησης στον πίνακα λεπτομερειών, θα πρέπει επίσης να την κάνετε επεξεργάσιμη απευθείας από εδώ. Αυτό είναι ένα καλό παράδειγμα ενός "επιταχυντή". Ένα έξυπνο κόλπο UX που μπορεί να επιταχύνει τις ροές των έμπειρων χρηστών, χωρίς να επηρεάζει τη γενική χρηστικότητα της εφαρμογής.
+
+
+
+Είναι καλή ιδέα να σκεφτείτε προσεκτικά όχι μόνο μία συγκεκριμένη πληροφορία σε μία οθόνη, αλλά ολόκληρη τη ροή: Εισαγωγή αριθμών στην Κύρια Φόρμα → Σάρωση Λεπτομερειών → Κλικ στην Οθόνη Προεπισκόπησης (εάν έχετε οθόνη προεπισκόπησης).
+Θα πρέπει ο πίνακας λεπτομερειών να είναι ορατός ανά πάσα στιγμή ή ο χρήστης πρέπει να κάνει κλικ για να τον επεκτείνει;
+Θα πρέπει να δημιουργήσετε τριβή προσθέτοντας μια οθόνη προεπισκόπησης; Αυτό αναγκάζει τον χρήστη να επιβραδύνει και να εξετάσει τη συναλλαγή του, κάτι που μπορεί να είναι χρήσιμο. Αλλά θέλουν να δουν ξανά όλες τις ίδιες πληροφορίες; Τι είναι πιο χρήσιμο σε αυτούς σε αυτό το σημείο;
+
+## Επιλογές σχεδιασμού {#design-options}
+
+Όπως αναφέρθηκε, πολλά από αυτά καταλήγουν στο προσωπικό σας στυλ. Ποια είναι η χρήση σας;
+Ποιος είναι ο τύπος σας;
+Θέλετε ένα "επαγγελματικό" περιβάλλον εργασίας που να εμφανίζει κάθε λεπτομέρεια, ή θέλετε να είστε μινιμαλιστής;
+Ακόμα κι αν στοχεύετε στους επαγγελματίες χρήστες που θέλουν όλες τις δυνατές πληροφορίες, θα πρέπει να θυμάστε τα σοφά λόγια του Alan Cooper:
+
+> Όσο όμορφο κι αν είναι, όσο cool κι αν είναι το περιβάλλον εργασίας σας, θα ήταν καλύτερα αν ήταν λιγότερο.
+
+### Δομή {#structure}
+
+- Ψηφιακά στοιχεία στα αριστερά ή στα δεξιά.
+- Σε 2 σειρές ή 3.
+- Λεπτομέρειες πάνω ή κάτω από το κουμπί.
+- Οι λεπτομέρειες επεκτάθηκαν, ελαχιστοποιήθηκαν ή δεν εμφανίζονται.
+
+### Στυλ περιεχομένου {#component-style}
+
+- Κενό.
+- Εκτός ορίου.
+- Ολοκληρωμένο.
+
+Από καθαρής άποψης UX, το στυλ UI είναι λιγότερο σημαντικό από όσο νομίζετε. Οι οπτικές τάσεις έρχονται και φεύγουν σε κύκλους και πολλές προτιμήσεις είναι υποκειμενικές.
+
+Ο ευκολότερος τρόπος για να πάρετε μια αίσθηση για αυτό και να σκεφτείτε τις διαφορετικές διαμορφώσεις, είναι να ρίξετε μια ματιά σε μερικά παραδείγματα και στη συνέχεια να πειραματιστείτε από μόνοι σας.
+
+Το κιτ Figma που περιλαμβάνεται περιέχει κενά, περιγραμμένα και γεμάτα εξαρτήματα.
+
+Δείτε τα παρακάτω παραδείγματα για διαφορετικούς τρόπους με τους οποίους μπορείτε να τα συνδυάσετε όλα μαζί:
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Αλλά σε ποια πλευρά πρέπει να προχωρήσει το ψηφιακό στοιχείο; {#but-which-side-should-the-token-go-on}
+
+Η ουσία είναι ότι πιθανότατα δεν κάνει τεράστια διαφορά στη χρηστικότητα. Υπάρχουν μερικά πράγματα που πρέπει να έχετε κατά νου, ωστόσο, που μπορεί να σας επηρεάσουν προς τη μία ή την άλλη κατεύθυνση.
+
+Ήταν ενδιαφέρον να βλέπουμε την αλλαγή της μόδας με την πάροδο του χρόνου. Η Uniswap αρχικά είχε το token στα αριστερά, αλλά από τότε το έχει μετακινήσει στα δεξιά. Η Sushiswap έκανε επίσης αυτή την αλλαγή κατά τη διάρκεια μιας αναβάθμισης σχεδιασμού. Τα περισσότερα, αλλά όχι όλα, πρωτόκολλα έχουν ακολουθήσει το παράδειγμα.
+
+Η οικονομική σύμβαση παραδοσιακά τοποθετεί το σύμβολο του νομίσματος πριν από τον αριθμό, π.χ. $50, €50, £50, αλλά λέμε 50 δολάρια, 50 ευρώ, 50 λίρες.
+
+Για τον γενικό χρήστη, ειδικά κάποιον που διαβάζει από αριστερά προς τα δεξιά, από πάνω προς τα κάτω, το token στα δεξιά πιθανώς να φαίνεται πιο φυσικό.
+
+
+
+Η τοποθέτηση του token στα αριστερά και όλων των αριθμών στα δεξιά φαίνεται ευχάριστα συμμετρική, κάτι που είναι ένα πλεονέκτημα, αλλά υπάρχει και ένα άλλο μειονέκτημα σε αυτή τη διάταξη.
+
+Ο νόμος της εγγύτητας δηλώνει ότι τα στοιχεία που είναι κοντά μεταξύ τους αντιλαμβάνονται ως σχετικά. Κατά συνέπεια, θέλουμε να τοποθετήσουμε τα σχετικά στοιχεία το ένα δίπλα στο άλλο. Το υπόλοιπο του token σχετίζεται άμεσα με το ίδιο το token και θα αλλάζει κάθε φορά που επιλέγεται ένα νέο token. Επομένως, είναι ελαφρώς πιο λογικό το υπόλοιπο του token να βρίσκεται δίπλα στο κουμπί επιλογής token. Θα μπορούσε να μετακινηθεί κάτω από το token, αλλά αυτό σπάει τη συμμετρία της διάταξης.
+
+Τελικά, υπάρχουν πλεονεκτήματα και μειονεκτήματα και για τις δύο επιλογές, αλλά είναι ενδιαφέρον πώς η τάση φαίνεται να είναι προς το token στα δεξιά.
+
+## Συμπεριφορά κουμπιών {#button-behavior}
+
+Μην έχετε ξεχωριστό κουμπί για το Approve. Επίσης, μην έχετε ξεχωριστό κλικ για το Approve. Ο χρήστης θέλει να κάνει Swap, οπότε απλώς πείτε "swap" στο κουμπί και ξεκινήστε την έγκριση ως το πρώτο βήμα. Ένα modal μπορεί να δείξει την πρόοδο με ένα stepper, ή μια απλή ειδοποίηση "tx 1 από 2 - έγκριση".
+
+
+
+
+
+### Κουμπί ως συμφραζόμενη βοήθεια {#button-as-contextual-help}
+
+Το κουμπί μπορεί να κάνει διπλή λειτουργία ως ειδοποίηση!
+
+Αυτό είναι στην πραγματικότητα ένα αρκετά ασυνήθιστο μοτίβο σχεδιασμού εκτός του Web3, αλλά έχει γίνει στάνταρ μέσα σε αυτό. Αυτή είναι μια καλή καινοτομία καθώς εξοικονομεί χώρο και διατηρεί την προσοχή εστιασμένη.
+
+Εάν η κύρια ενέργεια - SWAP - δεν είναι διαθέσιμη λόγω σφάλματος, ο λόγος μπορεί να εξηγηθεί με το κουμπί, π.χ.:
+
+- Εναλλαγή δικτύου
+- Σύνδεση πορτοφολιού
+- Γενικά σφάλματα
+
+Το κουμπί μπορεί επίσης να αντιστοιχιστεί στην ενέργεια που πρέπει να εκτελεστεί. Για παράδειγμα, εάν ο χρήστης δεν μπορεί να κάνει swap επειδή βρίσκεται στο λάθος δίκτυο, το κουμπί θα πρέπει να λέει "switch to Ethereum" και όταν ο χρήστης κάνει κλικ στο κουμπί, θα πρέπει να αλλάξει το δίκτυο σε Ethereum. Αυτό επιταχύνει σημαντικά τη ροή του χρήστη.
+
+
+
+
+
+### Δημιουργήστε το δικό σας με αυτό το αρχείο figma {#build-your-own-with-this-figma-file}
+
+Χάρη στη σκληρή δουλειά πολλών πρωτοκόλλων, ο σχεδιασμός DEX έχει βελτιωθεί πολύ. Γνωρίζουμε ποιες πληροφορίες χρειάζεται ο χρήστης, πώς πρέπει να τις εμφανίζουμε και πώς να κάνουμε τη ροή όσο το δυνατόν πιο ομαλή.
+Ας ελπίσουμε ότι αυτό το άρθρο παρέχει μια σταθερή επισκόπηση των αρχών UX.
+
+Εάν θέλετε να πειραματιστείτε, μη διστάσετε να χρησιμοποιήσετε το κιτ wireframe Figma. Διατηρείται όσο το δυνατόν πιο απλό, αλλά έχει αρκετή ευελιξία για να δημιουργήσει τη βασική δομή με διάφορους τρόπους.
+
+[Figma wireframe kit](https://www.figma.com/community/file/1393606680816807382/dex-wireframes-kit)
+
+Το DeFi θα συνεχίσει να εξελίσσεται και υπάρχει πάντα περιθώριο βελτίωσης.
+
+Καλή επιτυχία!
diff --git a/public/content/translations/el/developers/docs/design-and-ux/heuristics-for-web3/index.md b/public/content/translations/el/developers/docs/design-and-ux/heuristics-for-web3/index.md
new file mode 100644
index 00000000000..aab5a8628b3
--- /dev/null
+++ b/public/content/translations/el/developers/docs/design-and-ux/heuristics-for-web3/index.md
@@ -0,0 +1,138 @@
+---
+title: Επτά βασικοί κανόνες σχεδιασμού διεπαφής Web3
+description: Αρχές για τη βελτίωση χρηστικότητας του Web3.
+lang: el
+---
+
+Οι κανόνες χρηστικότητας είναι γενικοί "κανόνες του αντίχειρα" που μπορείτε να χρησιμοποιήσετε για να μετρήσετε τη χρηστικότητα του ιστότοπού σας.
+Οι 7 βασικοί κανόνες εδώ, είναι ειδικά προσαρμοσμένοι για το Web3 και θα πρέπει να χρησιμοποιούνται παράλληλα με τις 10 γενικές αρχές του Jakob Nielsen για τον [σχεδιασμό αλληλεπίδρασης](https://www.nngroup.com/articles/ten-usability-heuristics/).
+
+## Επτά βασικοί κανόνες ευχρηστίας για το web3 {#seven-usability-heuristics-for-web3}
+
+1. Τα σχόλια ακολουθούν τη δράση.
+2. Ασφάλεια και εμπιστοσύνη.
+3. Οι πιο σημαντικές πληροφορίες είναι προφανείς.
+4. Κατανοητή ορολογία.
+5. Οι ενέργειες είναι όσο το δυνατόν πιο σύντομες.
+6. Οι συνδέσεις δικτύου είναι ορατές και ευέλικτες.
+7. Έλεγχος από την εφαρμογή, όχι από το πορτοφόλι.
+
+## Ορισμοί και παραδείγματα {#definitions-and-examples}
+
+### 1. Τα σχόλια ακολουθούν την δράση {#feedback-follows-action}
+
+**Θα πρέπει να είναι προφανές όταν κάτι έχει συμβεί ή συμβαίνει.**
+
+Οι χρήστες αποφασίζουν για τα επόμενα βήματά τους με βάση το αποτέλεσμα των προηγούμενων βημάτων τους. Επομένως, είναι σημαντικό να παραμένουν ενημερωμένοι για την κατάσταση του συστήματος. Αυτό είναι ιδιαίτερα σημαντικό στο Web3, καθώς οι συναλλαγές μπορεί μερικές φορές να χρειαστούν λίγο χρόνο για να δεσμευτούν στην κρυπτοαλυσίδα. Εάν δεν υπάρχουν σχόλια που να τους ενημερώνουν να περιμένουν, οι χρήστες δεν είναι σίγουροι αν έχει συμβεί κάτι.
+
+**Συμβουλές:**
+
+- Ενημερώστε τον χρήστη μέσω μηνυμάτων και άλλων ειδοποιήσεων.
+- Επικοινωνήστε σαφώς τους χρόνους αναμονής.
+- Εάν μια ενέργεια πρόκειται να διαρκέσει περισσότερο από μερικά δευτερόλεπτα, καθησυχάστε τον χρήστη με ένα χρονόμετρο ή μια κινούμενη εικόνα για να νιώσει ότι κάτι συμβαίνει.
+- Εάν υπάρχουν πολλά βήματα σε μια διαδικασία, δείξτε το κάθε βήμα.
+
+**Για παράδειγμα:**
+Η εμφάνιση κάθε βήματος που εμπλέκεται σε μια συναλλαγή βοηθά τους χρήστες να γνωρίζουν πού βρίσκονται στη διαδικασία. Τα κατάλληλα εικονίδια ενημερώνουν τον χρήστη για την κατάσταση των ενεργειών του.
+
+
+
+### 2. Η ασφάλεια και η εμπιστοσύνη καλύπτονται στο {#security-and-trust-are-backed-in}
+
+Θα πρέπει να δοθεί προτεραιότητα στην ασφάλεια και αυτό θα πρέπει να τονιστεί για τον χρήστη.
+Οι άνθρωποι ενδιαφέρονται πολύ για τα δεδομένα τους. Η ασφάλεια είναι συχνά πρωταρχική ανησυχία για τους χρήστες, επομένως θα πρέπει να λαμβάνεται υπόψη σε όλα τα επίπεδα του σχεδιασμού. Θα πρέπει πάντα να επιδιώκετε να κερδίσετε την εμπιστοσύνη των χρηστών σας, αλλά ο τρόπος που το κάνετε αυτό μπορεί να σημαίνει διαφορετικά πράγματα σε διαφορετικές εφαρμογές. Δεν θα πρέπει να είναι μια δευτερεούσα σκέψη, αλλά θα πρέπει να σχεδιάζεται συνειδητά καθ' όλη τη διάρκεια. Δημιουργήστε εμπιστοσύνη σε όλη την εμπειρία του χρήστη, συμπεριλαμβανομένων των κοινωνικών καναλιών και της τεκμηρίωσης, καθώς και του τελικού UI. Πράγματα όπως το επίπεδο αποκέντρωσης, η κατάσταση πολλαπλών υπογραφών του θησαυρού και το αν η ομάδα είναι doxxed, επηρεάζουν την εμπιστοσύνη των χρηστών.
+
+**Συμβουλές:**
+
+- Καταγράψτε τους ελέγχους σας με υπερηφάνεια.
+- Λάβετε πολλαπλούς ελέγχους.
+- Διαφημίστε τυχόν χαρακτηριστικά ασφαλείας που έχετε σχεδιάσει.
+- Επισημάνετε τους πιθανούς κινδύνους, συμπεριλαμβανομένων των υποκείμενων ενσωματώσεων.
+- Ενημερώστε για την πολυπλοκότητα των στρατηγικών.
+- Λάβετε υπόψη ζητήματα που δεν αφορούν τη διεπαφή χρήστη που μπορεί να επηρεάσουν την αντίληψη των χρηστών σας για την ασφάλεια.
+
+**Παράδειγμα:**
+Συμπεριλάβετε τους ελέγχους σας στο υποσέλιδο, σε εμφανές μέγεθος.
+
+
+
+### 3. Οι πιο σημαντικές πληροφορίες είναι προφανείς {#the-most-important-info-is-obvious}
+
+Για πολύπλοκα συστήματα, παρουσιάστε μόνο τα πιο σχετικά δεδομένα. Προσδιορίστε τι είναι πιο σημαντικό και δώστε προτεραιότητα στην εμφάνισή του.
+Οι πάρα πολλές πληροφορίες λειτουργούν αρνητικά και οι χρήστες συνήθως "σκαλώνουν" σε μία πληροφορία όταν λαμβάνουν αποφάσεις. Στο DeFi, αυτό θα είναι πιθανώς το APR για τις εφαρμογές απόδοσης και το LTV για τις εφαρμογές δανεισμού.
+
+**Συμβουλές:**
+
+- Η έρευνα χρηστών θα αποκαλύψει την πιο σημαντική μετρική
+- Κάντε τις βασικές πληροφορίες μεγάλες και τις άλλες λεπτομέρειες μικρές και διακριτικές
+- Οι χρήστες δε διαβάζουν αλλά σαρώνουν; Βεβαιωθείτε ότι ο σχεδιασμός σας είναι συμβατός.
+
+**Παράδειγμα:** Τα μεγάλα ψηφιακά στοιχεία σε πλήρες χρώμα είναι εύκολο να βρεθούν κατά τη σάρωση. To APR είναι μεγάλο και επισημαίνεται με σχετικό χρωματισμό.
+
+
+
+### 4. Καθαρή ορολογία {#clear-terminology}
+
+Η ορολογία πρέπει να είναι κατανοητή και κατάλληλη.
+Η τεχνική ορολογία μπορεί να είναι τεράστια πρόκληση, γιατί απαιτεί την κατασκευή ενός εντελώς νέου νοητικού μοντέλου. Οι χρήστες δεν μπορούν να συσχετίσουν το σχέδιο με λέξεις, φράσεις και έννοιες που ήδη γνωρίζουν. Όλα φαίνονται μπερδεμένα και άγνωστα και υπάρχει μια απότομη καμπύλη μάθησης πριν καν επιχειρήσουν να το χρησιμοποιήσουν. Ένας χρήστης μπορεί να προσεγγίσει το DeFi θέλοντας να εξοικονομήσει χρήματα και αυτό που βρίσκει είναι: εξόρυξη, γεωργία, ποντάρισμα, εκπομπές ρύπων, δωροδοκίες, θησαυροφυλάκια, θυρίδες, veTokens, κατοχύρωση, εποχές, αποκεντρωμένοι αλγόριθμοι, ρευστότητα ιδιοκτησίας πρωτοκόλλου…
+Προσπαθήστε να χρησιμοποιήσετε απλούς όρους που θα είναι κατανοητοί από την ευρύτερη ομάδα ανθρώπων. Μην εφευρίσκετε νέους όρους μόνο για το έργο σας.
+
+**Συμβουλές:**
+
+- Χρησιμοποιήστε απλή και συνεπή ορολογία
+- Χρησιμοποιήστε την υπάρχουσα γλώσσα όσο το δυνατόν περισσότερο
+- Μη δημιουργείτε τους δικούς σας όρους
+- Ακολουθήστε τις συμβάσεις όπως εμφανίζονται.
+- Εκπαιδεύστε τους χρήστες όσο το δυνατόν περισσότερο
+
+**Παράδειγμα:**
+"Οι ανταμοιβές σας" είναι ένας ευρέως κατανοητός, ουδέτερος, όρος, δεν είναι μια νέα λέξη που φτιάχτηκε για αυτό το έργο. Οι ανταμοιβές εκφράζονται σε Δολάριο ΗΠΑ για να ταιριάζουν με τα ψυχικά μοντέλα του πραγματικού κόσμου, ακόμα και αν οι ίδιες οι ανταμοιβές είναι σε άλλο κρυπτονόμισμα.
+
+
+
+### 5. Οι ενέργειες είναι όσο το δυνατόν πιο σύντομες {#actions-are-as-short-as-possible}
+
+Επιταχύνετε τις αλληλεπιδράσεις του χρήστη ομαδοποιώντας υποενέργειες.
+Αυτό μπορεί να γίνει σε επίπεδο έξυπνου συμβολαίου, καθώς και στο UI. Ο χρήστης δεν πρέπει να μετακινηθεί από το ένα μέρος του συστήματος στο άλλο – ή να εγκαταλείψει εντελώς το σύστημα – για να ολοκληρώσει μια κοινή ενέργεια.
+
+**Συμβουλές:**
+
+- Συνδυάστε το "Έγκριση" με άλλες ενέργειες όπου είναι δυνατόν
+- Συγκεντρώστε τα βήματα για την υπογραφή συναλλαγής όσο πιο κοντά γίνεται.
+
+**Παράδειγμα:** Ο συνδυασμός "προσθήκη ρευστότητας" και "δέσμευση κεφαλαίου" είναι ένα απλό παράδειγμα επιταχυντή που εξοικονομεί χρόνο και gas σε έναν χρήστη.
+
+
+
+### 6. Οι συνδέσεις δικτύου είναι ορατές και ευέλικτες {#network-connections-are-visible-and-flexible}
+
+Ενημερώστε τον χρήστη σχετικά με το δίκτυο στο οποίο είναι συνδεδεμένοι και παρέχετε σαφείς συντομεύσεις για αλλαγή δικτύου.
+Ιδιαίτερα σημαντικό για εφαρμογές πολλαπλών αλυσίδων. Οι κύριες λειτουργίες της εφαρμογής θα πρέπει να εξακολουθούν να είναι ορατές όταν είναι αποσυνδεδεμένη ή συνδεδεμένη σε δίκτυο που δεν υποστηρίζεται.
+
+**Συμβουλές:**
+
+- Εμφάνιση όσο το δυνατόν μεγαλύτερου μέρους της εφαρμογής ενώ αποσυνδεδεμένος
+- Δείξτε σε ποιο δίκτυο είναι συνδεδεμένος ο χρήστης αυτήν τη στιγμή
+- Μην αναγκάζετε τον χρήστη να πάει στο πορτοφόλι του για να αλλάξει δίκτυο
+- Εάν η εφαρμογή απαιτεί από τον χρήστη να αλλάξει δίκτυο, ζητήστε την ενέργεια από την κύρια διεπαφή για εφαρμογή.
+- Εάν η εφαρμογή περιέχει αγορές ή θησαυροφυλάκια για πολλά δίκτυα, δηλώστε με σαφήνεια ποιο σετ χρησιμοποιεί ο χρήστης αυτήν τη στιγμή.
+
+**Παράδειγμα:** Δείξτε στον χρήστη σε ποιο δίκτυο είναι συνδεδεμένος και επιτρέψτε του να το αλλάξει στη γραμμή εφαρμογών.
+
+
+
+### 7. Έλεγχος από την εφαρμογή και όχι από το πορτοφόλι {#control-from-the-app-not-the-wallet}
+
+Η διεπαφή χρήστη θα πρέπει να λέει στον χρήστη όλα όσα χρειάζεται να γνωρίζει και να του δίνει τον έλεγχο σε ό,τι χρειάζεται να κάνει.
+Στο Web3, υπάρχουν ενέργειες που πραγματοποιείτε στη διεπαφή χρήστη και ενέργειες που πραγματοποιείτε στο πορτοφόλι. Γενικά, εκκινείτε μια ενέργεια στη διεπαφή χρήστη και στη συνέχεια, την επιβεβαιώνετε στο πορτοφόλι. Οι χρήστες μπορεί να αισθάνονται άβολα εάν αυτά τα δύο σκέλη δεν ενσωματωθούν προσεκτικά.
+
+**Συμβουλές:**
+
+- Κατάσταση επικοινωνίας συστήματος μέσω σχολίων στο UI
+- Κρατήστε αρχείο του ιστορικού τους
+- Παρέχετε συνδέσμους εξερευνητών πλοκ για παλιές συναλλαγές
+- Παρέχετε συντομεύσεις για αλλαγή δικτύων.
+
+**Παράδειγμα:** Ένα ξεχωριστό κοντέινερ δείχνει στον χρήστη ποια σχετικά κρύπτο έχει στο πορτοφόλι του και το κύριο CTA παρέχει μια συντόμευση για την αλλαγή του δικτύου.
+
+
diff --git a/public/content/translations/el/developers/docs/design-and-ux/index.md b/public/content/translations/el/developers/docs/design-and-ux/index.md
new file mode 100644
index 00000000000..99648697a4e
--- /dev/null
+++ b/public/content/translations/el/developers/docs/design-and-ux/index.md
@@ -0,0 +1,231 @@
+---
+title: Σχεδιασμός και UX στο web3
+description: Εισαγωγή του σχεδιασμού και έρευνας UX στον χώρο του web3 και Ethereum
+lang: el
+---
+
+Είστε νέοι στον σχεδιασμό με το Ethereum; Αυτό είναι το κατάλληλο μέρος για εσάς. Η κοινότητα του Ethereum έχει γραπτούς πόρους για την εισαγωγή σας στα βασικά στοιχεία σχεδιασμού και έρευνας web3. Θα μάθετε τις βασικές έννοιες που μπορεί να διαφέρουν από άλλους σχεδιασμούς εφαρμογών που γνωρίζετε.
+
+Χρειάζεστε πρώτα μια πιο βασική κατανόηση του web3; Ρίξτε μια ματιά στο [**Κέντρο Μάθησης**](/learn/).
+
+## Ξεκινήστε με την έρευνα χρηστών {#start-with-user-research}
+
+Ο αποτελεσματικός σχεδιασμός υπερβαίνει τη δημιουργία των οπτικά ελκυστικών διεπαφών χρήστη. Περιλαμβάνει την απόκτηση βαθιάς κατανόησης των αναγκών, των στόχων και των κινητήριων παραγόντων του χρήστη. Επομένως, συνιστούμε ανεπιφύλακτα σε όλους τους σχεδιαστές να υιοθετήσουν μια διαδικασία σχεδιασμού, όπως το [**double diamond process**](https://en.wikipedia.org/wiki/Double_Diamond_(design_process_model)), για να διασφαλίσουν ότι η εργασία τους είναι σκόπιμη και εσκεμμένη.
+
+- [Το Web3 χρειάζεται περισσότερους ερευνητές και σχεδιαστές UX](https://blog.akasha.org/akasha-conversations-9-web3-needs-more-ux-researchers-and-designers) - Μια επισκόπηση της τρέχουσας ωριμότητας σχεδιασμού
+- [Ένας απλός οδηγός για την έρευνα UX στο web3](https://uxplanet.org/a-complete-guide-to-ux-research-for-web-3-0-products-d6bead20ebb1) - Απλός οδηγός για το πώς να κάνετε έρευνα
+- [Πώς να προσεγγίσετε αποφάσεις UX στο Web3](https://archive.devcon.org/archive/watch/6/data-empathy-how-to-approach-ux-decisions-in-web3/) - Μια σύντομη επισκόπηση της ποσοτικής και ποιοτικής έρευνας και οι διαφορές μεταξύ των δύο (βίντεο, 6 λεπτά)
+- [Ερευνητής UX στο Web3](https://medium.com/@georgia.rakusen/what-its-like-being-a-user-researcher-in-web3-6a4bcc096849) - Μια προσωπική άποψη για το πώς είναι να είσαι ερευνητής UX στο web3
+
+## Ερευνητικές μελέτες στο web3 {#research-in-web3}
+
+Αυτή είναι μια επιμελημένη λίστα έρευνας χρηστών που έγινε στο web3 που μπορεί να βοηθήσει με αποφάσεις σχεδιασμού και προϊόντων ή να λειτουργήσει ως έμπνευση για τη διεξαγωγή δικής σας μελέτης.
+
+@:"
+```
+
+## Εκτέλεση bootnode {#run-a-bootnode}
+
+Οι bootnodes είναι πλήρεις κόμβοι που δε βρίσκονται πίσω από ένα NAT ([Network Address Translation](https://www.geeksforgeeks.org/network-address-translation-nat/)). Κάθε πλήρης κόμβος μπορεί να λειτουργήσει ως bootnode εφόσον είναι δημόσια διαθέσιμος.
+
+Όταν ξεκινάτε έναν κόμβο, θα πρέπει να καταγράφει το [enode](/developers/docs/networking-layer/network-addresses/#enode) σας, το οποίο είναι ένα δημόσιο αναγνωριστικό που μπορούν να χρησιμοποιήσουν άλλοι για να συνδεθούν στον κόμβο σας.
+
+Το enode συνήθως αναδημιουργείται σε κάθε επανεκκίνηση, επομένως φροντίστε να δείτε την τεκμηρίωση του πελάτη σας σχετικά με τον τρόπο δημιουργίας ενός enode, για τον κόμβο εκκίνησης.
+
+Για να είστε καλός bootnode, είναι καλή ιδέα να αυξήσετε τον μέγιστο αριθμό ομότιμων που μπορούν να συνδεθούν σε αυτό. Η εκτέλεση ενός bootnode με πολλούς ομότιμους θα αυξήσει σημαντικά την απαίτηση εύρους ζώνης.
+
+## Διαθέσιμα bootnodes {#available-bootnodes}
+
+Μπορείτε να βρείτε μια λίστα με ενσωματωμένους bootnodes στο go-ethereum [εδώ](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go#L23). Αυτά τα bootnodes διατηρούνται από το Ethereum Foundation και την ομάδα go-ethereum.
+
+Υπάρχουν διαθέσιμες άλλες λίστες με bootnodes που διατηρούνται από εθελοντές. Φροντίστε να συμπεριλαμβάνετε πάντα τουλάχιστον έναν επίσημο bootnode, διαφορετικά μπορεί να δεχθείτε επίθεση με έκλειψη.
diff --git a/public/content/translations/el/developers/docs/nodes-and-clients/client-diversity/index.md b/public/content/translations/el/developers/docs/nodes-and-clients/client-diversity/index.md
new file mode 100644
index 00000000000..54f41b20e70
--- /dev/null
+++ b/public/content/translations/el/developers/docs/nodes-and-clients/client-diversity/index.md
@@ -0,0 +1,111 @@
+---
+title: Διαφορετικότητα λογισμικού πελάτη
+description: Μια γενική εξήγηση για τη σημασία της ποικιλίας των εφαρμογών πελατών του Ethereum.
+lang: el
+sidebarDepth: 2
+---
+
+Η συμπεριφορά ενός κόμβου Ethereum ελέγχεται από το λογισμικό πελάτη που εκτελεί. Υπάρχουν αρκετοί πελάτες Ethereum σε επίπεδο παραγωγής, ο καθένας από τους οποίους έχει αναπτυχθεί και διατηρείται σε διαφορετικές γλώσσες προγραμματισμού από ξεχωριστές ομάδες. Οι πελάτες είναι χτισμένοι σε μια κοινή προδιαγραφή που διασφαλίζει ότι οι πελάτες επικοινωνούν απρόσκοπτα μεταξύ τους και έχουν την ίδια λειτουργικότητα και παρέχουν μια ισοδύναμη εμπειρία χρήστη. Ωστόσο, αυτή τη στιγμή η κατανομή των πελατών μεταξύ των κόμβων δεν είναι αρκετά ισόποση ώστε να αξιοποιήσει αυτή την ενίσχυση του δικτύου στο μέγιστο των δυνατοτήτων της. Στην ιδανική περίπτωση, οι χρήστες κατανέμονται περίπου ίσα μεταξύ των διάφορων πελατών για να φέρουν όσο το δυνατόν μεγαλύτερη ποικιλία πελατών στο δίκτυο.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Εάν δεν καταλαβαίνετε τι είναι οι κόμβοι και οι πελάτες, ρίξτε μια ματιά στην ενότητα [κόμβοι και πελάτες](/developers/docs/nodes-and-clients/). Τα επίπεδα [Execution](/glossary/#execution-layer) (εκτέλεση) και [consensus](/glossary/#consensus-layer) (συναίνεση) ορίζονται στο γλωσσάριο.
+
+## Γιατί υπάρχουν πολλοί πελάτες; {#why-multiple-clients}
+
+Υπάρχουν πολλοί, ανεξάρτητα αναπτυγμένοι και συντηρούμενοι πελάτες, επειδή η ποικιλία των πελατών κάνει το δίκτυο πιο ανθεκτικό σε επιθέσεις και σφάλματα. Οι πολυάριθμοι πελάτες είναι ένα μοναδικό πλεονέκτημα του Ethereum — άλλα blockchain βασίζονται στο αλάθητο ενός και μόνο πελάτη. Ωστόσο, δεν αρκεί απλώς να υπάρχουν πολυάριθμοι διαθέσιμοι πελάτες, αλλά πρέπει να τους υιοθετήσει η κοινότητα και το σύνολο των ενεργών κόμβων να κατανέμεται σχετικά ομοιόμορφα μεταξύ τους.
+
+## Γιατί είναι σημαντική η ποικιλία πελατών; {#client-diversity-importance}
+
+Η ύπαρξη πολυάριθμων ανεξάρτητα αναπτυγμένων και συντηρούμενων πελατών είναι ζωτικής σημασίας για την υγεία ενός αποκεντρωμένου δικτύου. Ας εξερευνήσουμε τους λόγους για τους οποίους ισχύει αυτό.
+
+### Σφάλματα {#bugs}
+
+Ένα σφάλμα σε έναν μεμονωμένο πελάτη ενέχει λιγότερο κίνδυνο για το δίκτυο όταν αντιπροσωπεύει μια μειοψηφία κόμβων Ethereum. Με μια περίπου ομοιόμορφη κατανομή των κόμβων σε πολλούς πελάτες, η πιθανότητα οι περισσότεροι πελάτες να πληγούν από ένα κοινό πρόβλημα είναι μικρή και, ως εκ τούτου, το δίκτυο είναι πιο ισχυρό.
+
+### Ανθεκτικότητα στις επιθέσεις {#resilience}
+
+Η ποικιλία πελατών προσφέρει επίσης ανθεκτικότητα στις επιθέσεις. Για παράδειγμα, μια επίθεση που [ξεγελά έναν συγκεκριμένο πελάτη](https://twitter.com/vdWijden/status/1437712249926393858) σε έναν συγκεκριμένο κλάδο της αλυσίδας είναι απίθανο να είναι επιτυχής, επειδή οι άλλοι πελάτες είναι απίθανο να είναι εκμεταλλεύσιμοι με τον ίδιο τρόπο. Συνεπώς, η κανονική αλυσίδα δεν διαφθείρεται. Η χαμηλή ποικιλία πελατών αυξάνει τον κίνδυνο που σχετίζεται με ένα hack στον κυρίαρχο πελάτη. Η ποικιλία των πελατών έχει ήδη αποδειχθεί σημαντική άμυνα έναντι κακόβουλων επιθέσεων στο δίκτυο. Για παράδειγμα, η επίθεση άρνησης υπηρεσίας στη Shanghai το 2016 ήταν δυνατή επειδή οι εισβολείς κατάφεραν να ξεγελάσουν τον κυρίαρχο πελάτη (Geth) ώστε να εκτελέσει μια λειτουργία αργού δίσκου i/o δεκάδες χιλιάδες φορές ανά μπλοκ. Επειδή οι εναλλακτικοί πελάτες ήταν επίσης online και δεν μοιράζονταν την ευπάθεια, το Ethereum μπόρεσε να αντισταθεί στην επίθεση και να συνεχίσει να λειτουργεί όσο διορθωνόταν η ευπάθεια στο Geth.
+
+### Οριστικότητα απόδειξης συμμετοχής {#finality}
+
+Ένα σφάλμα σε έναν πελάτη συναίνεσης που φιλοξενεί πάνω από το 33% των κόμβων Ethereum θα μπορούσε να αποτρέψει την οριστικοποίηση του επιπέδου συναίνεσης, πράγμα που σημαίνει ότι οι χρήστες δεν θα μπορούσαν να είναι σίγουροι ότι οι συναλλαγές δεν θα επαναφερθούν ή δεν θα αλλάξουν κάποια στιγμή. Αυτό θα ήταν πολύ προβληματικό για πολλές από τις εφαρμογές που είναι χτισμένες πάνω από το Ethereum, ιδιαίτερα το DeFi.
+
+ Ακόμη χειρότερα, ένα κρίσιμο σφάλμα σε έναν πελάτη με πλειοψηφία δύο τρίτων θα μπορούσε να προκαλέσει λανθασμένο διαχωρισμό και οριστικοποίηση της αλυσίδας, με αποτέλεσμα ένα μεγάλο σύνολο επικυρωτών να κολλήσει σε μια μη έγκυρη αλυσίδα. Εάν θέλουν να ενταχθούν ξανά στη σωστή αλυσίδα, αυτοί οι επικυρωτές έρχονται αντιμέτωποι με περικοπή (slashing) ή αργή και δαπανηρή εθελοντική απόσυρση και επανενεργοποίηση. Το μέγεθος ενός slashing κλιμακώνεται με τον αριθμό των υπαίτιων κόμβων με πλειοψηφία δύο τρίτων slashed κατά το μέγιστο (32 ETH).
+
+Αν και αυτά είναι απίθανα σενάρια, το οικοσύστημα του Ethereum μπορεί να μετριάσει τον κίνδυνο εξομαλύνοντας την κατανομή των πελατών στους ενεργούς κόμβους. Στην ιδανική περίπτωση, κανένας πελάτης συναίνεσης δεν θα έφτανε ποτέ μερίδιο ύψους 33% των συνολικών κόμβων.
+
+### Επιμερισμένη ευθύνη {#responsibility}
+
+Υπάρχει επίσης ανθρώπινο κόστος για την τήρηση πελατών πλειοψηφίας. Μια μικρή ομάδα ανάπτυξης δέχεται υπερβολική πίεση και φέρει μεγάλη ευθύνη. Όσο μικρότερη είναι η ποικιλία των πελατών, τόσο μεγαλύτερο είναι το βάρος της ευθύνης για τους προγραμματιστές που διατηρούν τον πελάτη πλειοψηφίας. Ο επιμερισμός αυτής της ευθύνης σε πολλές ομάδες είναι καλός τόσο για την υγεία του δικτύου κόμβων του Ethereum όσο και για το δίκτυο ανθρώπων του.
+
+## Τρέχουσα ποικιλία πελατών {#current-client-diversity}
+
+ _Δεδομένα διαγράμματος από [ethernodes.org](https://ethernodes.org) και [clientdiversity.org](https://clientdiversity.org/)_
+
+Τα δύο παραπάνω κυκλικά διαγράμματα δείχνουν στιγμιότυπα της τρέχουσας ποικιλίας πελατών για τα επίπεδα εκτέλεσης και συναίνεσης (κατά τη στιγμή σύνταξης τον Ιανουάριο του 2022). Στο επίπεδο εκτέλεσης κυριαρχεί σε μεγάλο βαθμό το [Geth](https://geth.ethereum.org/), με το [Open Ethereum](https://openethereum.github.io/) να έρχεται δεύτερο με διαφορά, το [Erigon](https://github.com/ledgerwatch/erigon) τρίτο και το [Nethermind](https://nethermind.io/) τέταρτο, ενώ τα άλλα λογισμικά πελάτες αποτελούν λιγότερο από το 1% του δικτύου. Ο πιο συχνά χρησιμοποιούμενος πελάτης στο επίπεδο συναίνεσης, ο [Prysm](https://prysmaticlabs.com/#projects), δεν είναι τόσο κυρίαρχος όσο το Geth, αλλά εξακολουθεί να αντιπροσωπεύει πάνω από το 60% του δικτύου. Τα [Lighthouse](https://lighthouse.sigmaprime.io/) και [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) αποτελούν ~20% και ~14% αντίστοιχα, και σπάνια χρησιμοποιούνται άλλοι πελάτες.
+
+Τα δεδομένα του επιπέδου εκτέλεσης ελήφθησαν από [Ethernodes](https://ethernodes.org) στις 23-Ιαν-2022. Τα δεδομένα για πελάτες συναίνεσης ελήφθησαν από τον [Michael Sproul](https://github.com/sigp/blockprint). Η απόκτηση δεδομένων μιας εφαρμογής πελάτη συναίνεσης είναι πιο δύσκολη, επειδή τα ίχνη των πελατών του επιπέδου συναίνεσης τα οποία μπορούν να χρησιμοποιηθούν για την αναγνώρισή τους δεν είναι πάντα ξεκάθαρα. Τα δεδομένα δημιουργήθηκαν χρησιμοποιώντας έναν αλγόριθμο ταξινόμησης που μερικές φορές προκαλεί σύγχυση σε ορισμένους από τους πελάτες μειοψηφίας (δείτε [εδώ](https://twitter.com/sproulM_/status/1440512518242197516) για περισσότερες λεπτομέρειες). Στο παραπάνω διάγραμμα, αυτές οι ασαφείς ταξινομήσεις αντιμετωπίζονται με μια ετικέτα είτε/ή (π.χ. Nimbus/Teku). Ωστόσο, είναι σαφές ότι το μεγαλύτερο μέρος του δικτύου τρέχει τον Prysm. Τα δεδομένα είναι ένα στιγμιότυπο από ένα σταθερό σύνολο μπλοκ [σε αυτή την περίπτωση μπλοκ Beacon στις υποδοχές (slot) 2048001 έως 2164916] και η κυριαρχία του Prysm έχει υπάρξει μερικές φορές υψηλότερη, ξεπερνώντας το 68%. Παρόλο που πρόκειται για απλά στιγμιότυπα, οι αξίες στο διάγραμμα παρέχουν μια καλή γενική εικόνα της τρέχουσας κατάστασης της ποικιλίας των πελατών.
+
+Τα ενημερωμένα δεδομένα ποικιλομορφίας πελατών για το επίπεδο συναίνεσης είναι πλέον διαθέσιμα στο [clientdiversity.org](https://clientdiversity.org/).
+
+## Επίπεδο εκτέλεσης {#execution-layer}
+
+Μέχρι τώρα, η συζήτηση γύρω από την ποικιλία των πελατών εστιαζόταν κυρίως στο επίπεδο συναίνεσης. Ωστόσο, ο πελάτης εκτέλεσης [Geth](https://geth.ethereum.org) αντιπροσωπεύει αυτή τη στιγμή περίπου το 85% όλων των κόμβων. Αυτό το ποσοστό είναι προβληματικό για τους ίδιους λόγους που ισχύουν για τους πελάτες συναίνεσης. Για παράδειγμα, ένα σφάλμα στο Geth που επηρεάζει τον χειρισμό συναλλαγών ή τη δημιουργία φορτίων εκτέλεσης θα μπορούσε να οδηγήσει σε πελάτες συναίνεσης που οριστικοποιούν προβληματικές ή με σφάλματα συναλλαγές. Επομένως, το Ethereum θα ήταν πιο υγιές με μια πιο ομοιόμορφη κατανομή των πελατών εκτέλεσης, ιδανικά χωρίς πελάτη που αντιπροσωπεύει περισσότερο από το 33% του δικτύου.
+
+## Χρησιμοποιήστε έναν πελάτη μειοψηφίας {#use-minority-client}
+
+Η επίτευξη ποικιλίας πελατών δεν απαιτεί απλώς από μεμονωμένους χρήστες να επιλέξουν πελάτες μειοψηφίας — απαιτεί από ομάδες εξόρυξης/επικύρωσης και οργανισμούς, όπως τα μεγάλα dapp και ανταλλακτήρια, να αλλάξουν επίσης πελάτες. Ωστόσο, όλοι οι χρήστες μπορούν να συμβάλουν στην αποκατάσταση της τρέχουσας ανισορροπίας και στην ομαλοποίηση της χρήσης όλου του διαθέσιμου λογισμικού Ethereum. Μετά τη Συγχώνευση, όλοι οι χειριστές κόμβων θα πρέπει να τρέχουν έναν πελάτη εκτέλεσης και έναν πελάτη συναίνεσης. Η επιλογή συνδυασμών των πελατών που προτείνονται παρακάτω θα συμβάλει στην αύξηση της ποικιλίας των πελατών.
+
+### Προγράμματα εκτέλεσης {#execution-clients}
+
+[Besu](https://www.hyperledger.org/use/besu)
+
+[Nethermind](https://downloads.nethermind.io/)
+
+[Erigon](https://github.com/ledgerwatch/erigon)
+
+[Go-Ethereum](https://geth.ethereum.org/)
+
+### Προγράμματα συναίνεσης {#consensus-clients}
+
+[Nimbus](https://nimbus.team/)
+
+[Lighthouse](https://github.com/sigp/lighthouse)
+
+[Teku](https://consensys.net/knowledge-base/ethereum-2/teku/)
+
+[Lodestar](https://github.com/ChainSafe/lodestar)
+
+[Prysm](https://docs.prylabs.network/docs/getting-started)
+
+[Grandine](https://docs.grandine.io/)
+
+Οι τεχνικοί χρήστες μπορούν να βοηθήσουν στην επιτάχυνση αυτής της διαδικασίας καταρτίζοντας περισσότερους οδηγούς και τεκμηρίωση για πελάτες μειοψηφίας και ενθαρρύνοντας τους ομοτίμους τους που λειτουργούν κόμβους να μεταναστεύσουν από τους κυρίαρχους πελάτες. Οδηγοί για τη μετάβαση σε πελάτη με συναίνεση μειοψηφίας είναι διαθέσιμοι στο [clientdiversity.org](https://clientdiversity.org/).
+
+## Πίνακες ελέγχου ποικιλίας πελατών {#client-diversity-dashboards}
+
+Αρκετοί πίνακες ελέγχου (dashboard) παρέχουν στατιστικά ποικιλίας πελατών σε πραγματικό χρόνο για το επίπεδο εκτέλεσης και συναίνεσης.
+
+**Συναινετικό επίπεδο:**
+
+- [Rated.network](https://www.rated.network/)
+- [clientdiversity.org](https://clientdiversity.org/) **Επίπεδο εκτέλεσης:**
+
+- [supermajority.info](https://supermajority.info//)
+- [Ethernodes](https://ethernodes.org/)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Ποικιλία πελατών στο επίπεδο συναίνεσης του Ethereum](https://mirror.xyz/jmcook.eth/S7ONEka_0RgtKTZ3-dakPmAHQNPvuj15nh0YGKPFriA)
+- [Συγχώνευση Ethereum: Εκτελέστε τον πελάτη πλειοψηφίαςμε δική σας ευθύνη!](https://dankradfeist.de/ethereum/2022/03/24/run-the-majority-client-at-your-own-peril.html) – _Dankrad Fiest, 24 Μαρτίου 2022_
+- [Σημασία της ποικιλίας των εφαρμογών πελατών](https://our.status.im/the-importance-of-client-diversity/)
+- [Λίστα υπηρεσιών κόμβων Ethereum](https://ethereumnodes.com/)
+- [«Πέντε γιατί» του προβλήματος της ποικιλίας των πελατών](https://notes.ethereum.org/@afhGjrKfTKmksTOtqhB9RQ/BJGj7uh08)
+- [Το Ethereum Diversity και πώς να το λύσετε (YouTube)](https://www.youtube.com/watch?v=1hZgCaiqwfU)
+- [clientdiversity.org](https://clientdiversity.org/)
+
+## Σχετικά θέματα {#related-topics}
+
+- [Εκτελέστε έναν κόμβο Ethereum](/run-a-node/)
+- [Κόμβοι και εφαρμογές πελάτη](/developers/docs/nodes-and-clients/)
diff --git a/public/content/translations/el/developers/docs/nodes-and-clients/index.md b/public/content/translations/el/developers/docs/nodes-and-clients/index.md
new file mode 100644
index 00000000000..81b4e4f871d
--- /dev/null
+++ b/public/content/translations/el/developers/docs/nodes-and-clients/index.md
@@ -0,0 +1,315 @@
+---
+title: Κόμβοι και πελάτες
+description: Μια επισκόπηση των κόμβων Ethereum και του λογισμικού πελάτη, πώς να δημιουργήσετε έναν κόμβο και γιατί θα πρέπει να το κάνετε.
+lang: el
+sidebarDepth: 2
+---
+
+Το Ethereum είναι ένα διανεμημένο δίκτυο υπολογιστών (γνωστών ως κόμβοι) που εκτελεί λογισμικό επαληθεύοντας μπλοκ και δεδομένα συναλλαγών. Το λογισμικό πρέπει να εκτελείται στον υπολογιστή σας για να μετατραπεί σε κόμβο Ethereum. Υπάρχουν δύο ξεχωριστά κομμάτια λογισμικού (γνωστά ως «πελάτες») που απαιτούνται για να σχηματιστεί ένας κόμβος.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να κατανοήσετε την έννοια ενός δικτύου peer-to-peer και τα [βασικά στοιχεία του EVM](/developers/docs/evm/) προτού προχωρήσετε βαθύτερα και εκτελέσετε το δικό σας σύστημα πελάτη Ethereum. Ρίξτε μια ματιά στην ενότητα [εισαγωγή στο Ethereum](/developers/docs/intro-to-ethereum/).
+
+Εάν είστε νέοι στο θέμα των κόμβων, σας συνιστούμε πρώτα να ελέγξετε τη φιλική προς το χρήστη εισαγωγή μας σχετικά με την [εκτέλεση ενός κόμβου Ethereum](/run-a-node).
+
+## Τι είναι οι κόμβοι και οι πελάτες; {#what-are-nodes-and-clients}
+
+Ένας "κόμβος" είναι κάθε περίπτωση λογισμικού πελάτη Ethereum που συνδέεται με άλλους υπολογιστές που εκτελούν επίσης λογισμικό Ethereum, σχηματίζοντας ένα δίκτυο. Ένας πελάτης είναι μια υλοποίηση του Ethereum που επαληθεύει τα δεδομένα σύμφωνα με τους κανόνες του πρωτοκόλλου και διατηρεί το δίκτυο ασφαλές. Ένας κόμβος πρέπει να εκτελεί δύο πελάτες: έναν πελάτη συναίνεσης και έναν πελάτη εκτέλεσης.
+
+- Ο πελάτης εκτέλεσης (επίσης γνωστός ως Execution Engine, πελάτης EL ή πρώην πελάτης Eth1) παρακολουθεί τις νέες συναλλαγές που δημοσιεύονται στο δίκτυο, τις εκτελεί στο EVM και διατηρεί την πιο πρόσφατη κατάσταση και βάση δεδομένων όλων των δεδομένων Ethereum.
+- Ο πελάτης συναίνεσης (επίσης γνωστός ως Κόμβος Beacon, πελάτης CL ή πρώην πελάτης Eth2) εφαρμόζει τον αλγόριθμο συναίνεσης της απόδειξης συμμετοχής, ο οποίος επιτρέπει στο δίκτυο να πετυχαίνει συμφωνία με βάση επικυρωμένα δεδομένα από τον πελάτη εκτέλεσης. Υπάρχει επίσης ένα τρίτο κομμάτι λογισμικού, γνωστό ως «επικυρωτής» που μπορεί να προστεθεί στον πελάτη συναίνεσης, επιτρέποντας σε έναν κόμβο να συμμετέχει στην ασφάλεια του δικτύου.
+
+Αυτοί οι πελάτες συνεργάζονται για να παρακολουθούν την κεφαλή της αλυσίδας Ethereum και να επιτρέπουν στους χρήστες να αλληλεπιδρούν με το δίκτυο Ethereum. Ο τρόπος σχεδιασμού με πολλαπλά τμήματα λογισμικού ταυτόχρονης λειτουργίας λέγεται [ενσωματωμένη πολυπλοκότητα (encapsulated complexity)](https://vitalik.eth.limo/general/2022/02/28/complexity.html). Αυτή η προσέγγιση διευκόλυνε την εκτέλεση της [Συγχώνευσης](/roadmap/merge), διευκολύνει τη συντήρηση και ανάπτυξη του λογισμικού πελάτη και επιτρέπει την επαναχρησιμοποίηση μεμονωμένων πελατών, για παράδειγμα, στο [οικοσύστημα επιπέδου 2](/layer-2/).
+
+ Απλοποιημένο διάγραμμα ενός συνδυασμού πελάτη εκτέλεσης και συναίνεσης.
+
+### Διαφορετικότητα λογισμικού πελάτη {#client-diversity}
+
+Οι πελάτες [εκτέλεσης](/developers/docs/nodes-and-clients/#execution-clients) και [συναίνεσης](/developers/docs/nodes-and-clients/#consensus-clients) υπάρχουν σε μια ποικιλία γλωσσών προγραμματισμού που έχουν αναπτυχθεί από διαφορετικές ομάδες.
+
+Πολλαπλές υλοποιήσεις πελατών μπορούν να κάνουν το δίκτυο ισχυρότερο μειώνοντας την εξάρτησή του από μια μεμονωμένη βάση κώδικα. Ο ιδανικός στόχος είναι η επίτευξη ποικιλίας χωρίς κανένας πελάτης να κυριαρχεί στο δίκτυο, εξαλείφοντας έτσι ένα πιθανό σημείο αποτυχίας. Η ποικιλία των γλωσσών προγραμματισμού προσκαλεί επίσης μια ευρύτερη κοινότητα προγραμματιστών και τους επιτρέπει να δημιουργούν ενσωματώσεις στη γλώσσα προτίμησης τους.
+
+Μάθετε περισσότερα σχετικά με την [ποικιλία πελατών](/developers/docs/nodes-and-clients/client-diversity/).
+
+Το κοινό χαρακτηριστικό αυτών των υλοποιήσεων είναι ότι όλες ακολουθούν μια ενιαία προδιαγραφή. Οι προδιαγραφές υπαγορεύουν τον τρόπο λειτουργίας του δικτύου Ethereum και του blockchain. Κάθε τεχνική λεπτομέρεια έχει ορισμό και οι προδιαγραφές μπορούν να βρεθούν ως:
+
+- Αρχικά, το [Ethereum Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf)
+- [Προδιαγραφές εκτέλεσης](https://github.com/ethereum/execution-specs/)
+- [Προδιαγραφές συναίνεσης](https://github.com/ethereum/consensus-specs)
+- [EIPs](https://eips.ethereum.org/) που υλοποιούνται σε διάφορες [αναβαθμίσεις δικτύου](/history/)
+
+### Παρακολούθηση κόμβων στο δίκτυο {#network-overview}
+
+Οι πολλαπλοί ιχνηλάτες προσφέρουν μια επισκόπηση των κόμβων στο δίκτυο Ethereum σε πραγματικό χρόνο. Λάβετε υπόψη ότι λόγω της φύσης των αποκεντρωμένων δικτύων, αυτοί οι ιχνηλάτες μπορούν να παρέχουν μόνο περιορισμένη εικόνα του δικτύου και ενδέχεται να αναφέρουν διαφορετικά αποτελέσματα.
+
+- [Χάρτης κόμβων](https://etherscan.io/nodetracker) από το Etherscan
+- [Ethernodes](https://ethernodes.org/) από το Bitfly
+- [Nodewatch](https://www.nodewatch.io/) από την Chainsafe, ανίχνευση κόμβων συναίνεσης
+- [Monitoreth](https://monitoreth.io/) - από τη MigaLabs, Ένα εργαλείο παρακολούθησης κατανεμημένου δικτύου
+
+## Τύποι κόμβων {#node-types}
+
+Εάν θέλετε να [τρέξετε τον δικό σας κόμβο](/developers/docs/nodes-and-clients/run-a-node/), θα πρέπει να καταλάβετε ότι υπάρχουν διαφορετικοί τύποι κόμβων που καταναλώνουν δεδομένα διαφορετικά. Στην πραγματικότητα, οι πελάτες μπορούν να εκτελέσουν τρεις διαφορετικούς τύπους κόμβων: ελαφρούς κόμβους, πλήρεις κόμβους και κόμβοι αρχείου. Υπάρχουν επίσης επιλογές διαφορετικών στρατηγικών συγχρονισμού που επιτρέπουν ταχύτερο χρόνο συγχρονισμού. Ο συγχρονισμός αναφέρεται στο πόσο γρήγορα μπορεί να λάβει τις πιο ενημερωμένες πληροφορίες για την κατάσταση του Ethereum.
+
+### Πλήρης κόμβος {#full-node}
+
+Οι πλήρεις κόμβοι κάνουν μια επικύρωση μπλοκ προς μπλοκ του blockchain, συμπεριλαμβανομένης της λήψης και της επαλήθευσης του σώματος του μπλοκ και των δεδομένων κατάστασης για κάθε μπλοκ. Υπάρχουν διαφορετικές κατηγορίες πλήρους κόμβου. Μερικοί ξεκινούν από το πρώτο μπλοκ και επαληθεύουν κάθε μεμονωμένο μπλοκ σε ολόκληρο το ιστορικό του blockchain. Άλλοι ξεκινούν την επαλήθευσή τους σε ένα πιο πρόσφατο μπλοκ που πιστεύουν ότι είναι έγκυρο (π.χ. «snap sync» του Geth). Ανεξάρτητα από το πού ξεκινά η επαλήθευση, οι πλήρεις κόμβοι διατηρούν μόνο ένα τοπικό αντίγραφο σχετικά πρόσφατων δεδομένων (συνήθως τα πιο πρόσφατα 128 μπλοκ), επιτρέποντας τη διαγραφή παλαιότερων δεδομένων για εξοικονόμηση χώρου στον δίσκο. Τα παλαιότερα δεδομένα μπορούν να αναδημιουργηθούν όταν χρειάζεται.
+
+- Αποθηκεύει πλήρη δεδομένα blockchain (αν και περικόπτονται περιοδικά, έτσι ώστε ένας πλήρης κόμβος να μην αποθηκεύει όλα τα δεδομένα κατάστασης από τη γένεση και έπειτα)
+- Συμμετέχει στην επικύρωση μπλοκ, επαληθεύει όλα τα μπλοκ και καταστάσεις.
+- Όλες οι καταστάσεις μπορούν είτε να ανακτηθούν από την τοπική αποθήκευση είτε να αναδημιουργηθούν από «στιγμιότυπα» από έναν πλήρη κόμβο.
+- Εξυπηρετεί το δίκτυο και παρέχει δεδομένα κατόπιν αιτήματος.
+
+### Αρχείο κόμβου {#archive-node}
+
+Οι κόμβοι αρχείου είναι πλήρεις κόμβοι που επαληθεύουν κάθε μπλοκ από τη γένεση και δεν διαγράφουν ποτέ κανένα από τα ληφθέντα δεδομένα.
+
+- Αποθηκεύει όλα όσα διατηρούνται στον πλήρη κόμβο και δημιουργεί ένα αρχείο ιστορικών καταστάσεων. Είναι απαραίτητο εάν θέλετε να ρωτήσετε κάτι όπως το υπόλοιπο λογαριασμού στο μπλοκ #4.000.000 ή απλά και αξιόπιστα να ελέγξετε το δικό σας σύνολο συναλλαγών χωρίς να τα κρυπτορύξετε χρησιμοποιώντας ιχνηλάτηση.
+- Αυτά τα δεδομένα αντιπροσωπεύουν μονάδες terabytes, γεγονός που καθιστά τους κόμβους αρχειοθέτησης λιγότερο ελκυστικούς για τους μέσους χρήστες αλλά μπορεί να είναι χρήσιμο για υπηρεσίες όπως εξερευνητές μπλοκ, προμηθευτές πορτοφολιών και ανάλυση αλυσίδας.
+
+Οι συγχρονισμένοι πελάτες σε οποιαδήποτε άλλη λειτουργία εκτός από το αρχείο θα έχουν ως αποτέλεσμα περικομμένα δεδομένα αλυσίδας μπλοκ. Αυτό σημαίνει ότι δεν υπάρχει αρχείο όλων των ιστορικών καταστάσεων, αλλά ο πλήρης κόμβος είναι σε θέση να τα δημιουργήσει κατ' απαίτηση.
+
+Μάθετε περισσότερα σχετικά με τους [Κόμβους αρχείου](/developers/docs/nodes-and-clients/archive-nodes).
+
+### Ελαφρύς κόμβος {#light-node}
+
+Αντί να κάνουν λήψη κάθε μπλοκ, οι ελαφροί κόμβοι κάνουν λήψη μόνο των κεφαλίδων μπλοκ. Αυτές οι κεφαλίδες περιέχουν συνοπτικές πληροφορίες σχετικά με τα περιεχόμενα των μπλοκ. Όποια άλλη πληροφορία απαιτείται από τον ελαφρύ κόμβο, ζητείται από έναν πλήρη κόμβο. Ο ελαφρύς κόμβος μπορεί στη συνέχεια να επαληθεύσει ανεξάρτητα τα δεδομένα που λαμβάνει έναντι των ριζών κατάστασης στις κεφαλίδες μπλοκ. Οι ελαφροί κόμβοι επιτρέπουν στους χρήστες να συμμετέχουν στο δίκτυο Ethereum χωρίς το ισχυρό υλικό ή το υψηλό εύρος ζώνης που απαιτείται για τη λειτουργία πλήρων κόμβων. Κάποια στιγμή, οι ελαφροί κόμβοι ίσως λειτουργήσουν σε κινητά τηλέφωνα ή ενσωματωμένες συσκευές. Οι ελαφροί κόμβοι δε συμμετέχουν στη συναίνεση (δηλαδή δεν μπορούν να είναι κρυπτορύχοι/επικυρωτές), αλλά μπορούν να έχουν πρόσβαση στην αλυσίδα μπλοκ Ethereum με την ίδια λειτουργικότητα και εγγυήσεις ασφάλειας όπως ένας πλήρης κόμβος.
+
+Οι ελαφροί πελάτες είναι ένας τομέας ενεργού ανάπτυξης για το Ethereum και αναμένουμε να δούμε νέους ελαφρούς πελάτες για το επίπεδο συναίνεσης και το επίπεδο εκτέλεσης σύντομα. Υπάρχουν επίσης πιθανές διαδρομές για την παροχή δεδομένων ελαφρών πελατών μέσω του [δικτύου ενημέρωσης](https://www.ethportal.net/). Αυτό είναι πλεονέκτημα επειδή το δίκτυο ενημέρωσης θα μπορούσε να υποστηρίξει ένα δίκτυο ελαφρών κόμβων χωρίς να απαιτείται από τους πλήρεις κόμβους να εξυπηρετούν αιτήματα.
+
+Το Ethereum δεν υποστηρίζει ακόμη μεγάλο πληθυσμό ελαφρών κόμβων, αλλά η υποστήριξη ελαφρών κόμβων είναι ένας τομέας που αναμένεται να αναπτυχθεί γρήγορα στο κοντινό μέλλον. Συγκεκριμένα, πελάτες όπως τα [Nimbus](https://nimbus.team/), [Helios](https://github.com/a16z/helios) και [LodeStar](https://lodestar.chainsafe.io/) εστιάζουν σε μεγάλο βαθμό επί του παρόντος σε ελαφρούς κόμβους.
+
+## Γιατί να εκτελέσω έναν κόμβο Ethereum; {#why-should-i-run-an-ethereum-node}
+
+Η εκτέλεση ενός κόμβου σας επιτρέπει να χρησιμοποιείτε το Ethereum άμεσα, χωρίς εμπιστοσύνη και ιδιωτικά, ενώ υποστηρίζετε το δίκτυο διατηρώντας το πιο ισχυρό και αποκεντρωμένο.
+
+### Τα πλεονεκτήματα σας {#benefits-to-you}
+
+Η εκτέλεση του δικού σας κόμβου σας επιτρέπει να χρησιμοποιείτε το Ethereum με ιδιωτικό, αυτάρκη και χωρίς εμπιστοσύνη τρόπο. Δεν χρειάζεται να εμπιστεύεστε το δίκτυο επειδή μπορείτε να επαληθεύσετε τα δεδομένα μόνοι σας με τον πελάτη σας. Ένα δημοφιλές μάντρα του blockchain είναι το «Μην εμπιστεύεστε, επαληθεύστε».
+
+- Ο κόμβος σας επαληθεύει από μόνος του όλες τις συναλλαγές και τα μπλοκ με βάση τους κανόνες συναίνεσης. Αυτό σημαίνει ότι δεν χρειάζεται να βασίζεστε σε άλλους κόμβους στο δίκτυο ή να τους εμπιστεύεστε πλήρως.
+- Μπορείτε να χρησιμοποιήσετε ένα πορτοφόλι Ethereum με τον δικό σας κόμβο. Μπορείτε να χρησιμοποιείτε dapp με μεγαλύτερη ασφάλεια και ιδιωτικά, επειδή δεν θα χρειάζεται να διαρρέετε τις διευθύνσεις και τα υπόλοιπα λογαριασμού σας σε μεσάζοντες. Όλα μπορούν να ελεγχθούν με τον δικό σας πελάτη. Τo [MetaMask](https://metamask.io), το [Frame](https://frame.sh/) και [πολλά άλλα πορτοφόλια](/wallets/find-wallet/) προσφέρουν εισαγωγή RPC, επιτρέποντάς τους να χρησιμοποιούν τον κόμβο σας.
+- Μπορείτε να εκτελέσετε και να φιλοξενήσετε μόνοι σας άλλες υπηρεσίες που εξαρτώνται από δεδομένα από το Ethereum. Για παράδειγμα, αυτό μπορεί να είναι ένα εργαλείο επικύρωσης της Κύριας Αλυσίδας, λογισμικό όπως τα επίπεδα 2, υποδομή, εξερευνητές μπλοκ, επεξεργαστές πληρωμών κ.λπ.
+- Μπορείτε να παρέχετε τα δικά σας προσαρμοσμένα [τελικά σημεία RPC](/developers/docs/apis/json-rpc/). Μπορείτε ακόμη και να προσφέρετε αυτά τα τελικά σημεία δημόσια στην κοινότητα για να τη βοηθήσετε να αποφύγει τους μεγάλους κεντρικούς παρόχους.
+- Μπορείτε να συνδεθείτε στον κόμβο σας χρησιμοποιώντας **Επικοινωνίες Μεταξύ Διεργασιών (IPC)** ή να ξαναγράψετε τον κόμβο για να φορτώσει το πρόγραμμά σας ως πρόσθετο. Αυτό παρέχει χαμηλή καθυστέρηση, κάτι που βοηθάει πολύ, π.χ. όταν επεξεργάζεστε πολλά δεδομένα χρησιμοποιώντας βιβλιοθήκες web3 ή όταν πρέπει να αντικαταστήσετε τις συναλλαγές σας όσο πιο γρήγορα γίνεται (δηλαδή προπορευόμενες συναλλαγές).
+- Μπορείτε να αποθηκεύσετε απευθείας ETH για να εξασφαλίσετε το δίκτυο και να κερδίσετε ανταμοιβές. Δείτε την [ιδιωτική αποθήκευση κεφαλαίου](/staking/solo/) για να ξεκινήσετε.
+
+
+
+### Προνόμια δικτύου {#network-benefits}
+
+Ένα ποικιλόμορφο σύνολο κόμβων είναι σημαντικό για την υγεία, την ασφάλεια και τη λειτουργική ανθεκτικότητα του Ethereum.
+
+- Οι πλήρεις κόμβοι επιβάλλουν τους κανόνες συναίνεσης, για να μην μπορούν να ξεγελαστούν ώστε να αποδεχτούν μπλοκ που δεν τους ακολουθούν. Αυτό παρέχει επιπλέον ασφάλεια στο δίκτυο, επειδή εάν όλοι οι κόμβοι ήταν ελαφροί κόμβοι, οι οποίοι δεν πραγματοποιούν πλήρη επαλήθευση, οι επικυρωτές θα μπορούσαν να επιτεθούν στο δίκτυο.
+- Σε περίπτωση επίθεσης που ξεπερνά τους κρυπτοοικονομικούς μηχανισμούς άμυνας της [απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos/#what-is-pos), μπορεί να πραγματοποιηθεί μια κοινωνική αποκατάσταση από τους πλήρεις κόμβους επιλέγοντας να ακολουθήσουν την ειλικρινή αλυσίδα.
+- Περισσότεροι κόμβοι στο δίκτυο οδηγούν σε ένα πιο ποικιλόμορφο και ανθεκτικό δίκτυο, δηλαδή τον υπέρτατο στόχο της αποκέντρωσης, το οποίο καθιστά δυνατό ένα σύστημα ανθεκτικό στη λογοκρισία και αξιόπιστο.
+- Οι πλήρεις κόμβοι παρέχουν πρόσβαση σε δεδομένα blockchain για ελαφρούς πελάτες που εξαρτώνται από αυτά. Οι ελαφροί κόμβοι δεν αποθηκεύουν ολόκληρη την αλυσίδα μπλοκ. Αντ' αυτού, επαληθεύουν τα δεδομένα μέσω των [ριζών κατάστασης στην αρχή των μπλοκ](/developers/docs/blocks/#block-anatomy). Μπορούν να ζητήσουν περισσότερες πληροφορίες από πλήρεις κόμβους εάν τις χρειάζονται.
+
+Εάν εκτελείτε έναν πλήρη κόμβο, ολόκληρο το δίκτυο Ethereum επωφελείται από αυτό, ακόμα κι αν δεν εκτελείτε επικυρωτή.
+
+## Εκτέλεση του δικού σας κόμβου {#running-your-own-node}
+
+Ενδιαφέρεστε να εκτελέσετε τον δικό σας πελάτη Ethereum;
+
+Για μια φιλική προς αρχάριους εισαγωγή, επισκεφθείτε τη σελίδα [Εκτέλεση κόμβου](/run-a-node) για να μάθετε περισσότερα.
+
+Εάν είστε πιο τεχνικός χρήστης, διαβάστε περισσότερες λεπτομέρειες και επιλογές σχετικά με το πώς [να εκκινήσετε τον δικό σας κόμβο](/developers/docs/nodes-and-clients/run-a-node/).
+
+## Εναλλακτικά {#alternatives}
+
+Η ρύθμιση του δικού σας κόμβου μπορεί να σας κοστίσει σε χρόνο και πόρους, αλλά δεν χρειάζεται πάντα να εκτελείτε τον δικό σας. Σε αυτή την περίπτωση, μπορείτε να χρησιμοποιήσετε έναν τρίτο πάροχο API. Για μια επισκόπηση της χρήσης αυτών των υπηρεσιών, ρίξτε μια ματιά στους [κόμβους ως υπηρεσία](/developers/docs/nodes-and-clients/nodes-as-a-service/).
+
+Εάν κάποιος εκτελεί έναν κόμβο Ethereum με ένα δημόσιο API στην κοινότητά σας, μπορείτε να κατευθύνετε τα πορτοφόλια σας σε έναν κόμβο κοινότητας μέσω Custom RPC και να αποκτήσετε περισσότερο απόρρητο από ό,τι με κάποιον τυχαίο έμπιστο τρίτο.
+
+Από την άλλη πλευρά, εάν εκτελείτε έναν πελάτη, μπορείτε να τον μοιραστείτε με τους φίλους σας που μπορεί να τον χρειάζονται.
+
+## Λογισμικό πελάτη {#execution-clients}
+
+Η κοινότητα Ethereum διατηρεί πολλούς πελάτες εκτέλεσης ανοιχτού κώδικα (παλαιότερα γνωστοί ως «πελάτες Eth1» ή απλώς «πελάτες Ethereum»), που αναπτύχθηκαν από διαφορετικές ομάδες χρησιμοποιώντας διαφορετικές γλώσσες προγραμματισμού. Αυτό κάνει το δίκτυο ισχυρότερο και πιο [ποικιλόμορφο](/developers/docs/nodes-and-clients/client-diversity/). Ο ιδανικός στόχος είναι να επιτευχθεί ποικιλομορφία χωρίς να υπερισχύει κανένας πελάτης, για να μειωθούν τα μεμονωμένα σημεία αποτυχίας.
+
+Αυτός ο πίνακας συνοψίζει τους διαφορετικούς πελάτες. Όλοι περνούν [δοκιμές πελάτη](https://github.com/ethereum/tests) και συντηρούνται ενεργά για να παραμένουν ενημερωμένοι με τις αναβαθμίσεις δικτύου.
+
+| Πελάτης | Γλώσσα | Λειτουργικά συστήματα | Δίκτυα | Στρατηγικές συγχρονισμού | Περικοπή κατάστασης |
+| ------------------------------------------------------------------------ | ---------- | --------------------- | ------------------------- | ----------------------------------------------------------------------- | ------------------- |
+| [Geth](https://geth.ethereum.org/) | Go | Linux, Windows, macOS | Mainnet, Sepolia, Holesky | [Δείγμα](#snap-sync), [Πλήρης](#full-sync) | Αρχείο, Περικοπή |
+| [Nethermind](https://www.nethermind.io/) | C#, .NET | Linux, Windows, macOS | Mainnet, Sepolia, Holesky | [Δείγμα](#snap-sync) (χωρίς εξυπηρέτηση), Γρήγορη, [Πλήρης](#full-sync) | Αρχείο, Περικοπή |
+| [Besu](https://besu.hyperledger.org/en/stable/) | Java | Linux, Windows, macOS | Mainnet, Sepolia, Holesky | [Δείγμα](#snap-sync), [Γρήγορη](#fast-sync), [Πλήρης](#full-sync) | Αρχείο, Περικοπή |
+| [Erigon](https://github.com/ledgerwatch/erigon) | Go | Linux, Windows, macOS | Mainnet, Sepolia, Holesky | [Πλήρης](#full-sync) | Αρχείο, Περικοπή |
+| [Reth](https://reth.rs/) | Rust | Linux, Windows, macOS | Mainnet, Sepolia, Holesky | [Πλήρης](#full-sync) | Αρχείο, Περικοπή |
+| [EthereumJS](https://github.com/ethereumjs/ethereumjs-monorepo) _(beta)_ | TypeScript | Linux, Windows, macOS | Sepolia, Holesky | [Πλήρης](#full-sync) | Περικοπή |
+
+Για περισσότερα σχετικά με τα υποστηριζόμενα δίκτυα, διαβάστε σχετικά με τα [Δίκτυα Ethereum](/developers/docs/networks/).
+
+Κάθε πελάτης έχει μοναδικές περιπτώσεις χρήσης και πλεονεκτήματα, επομένως θα πρέπει να επιλέξετε ένα με βάση τις δικές σας προτιμήσεις. Η ποικιλία επιτρέπει στις υλοποιήσεις να εστιάζουν σε διαφορετικά χαρακτηριστικά και διαφορετικό κοινό χρηστών. Μπορεί να θέλετε να επιλέξετε έναν πελάτη με βάση τις δυνατότητες, την υποστήριξη, τη γλώσσα προγραμματισμού ή τις άδειες.
+
+### Besu {#besu}
+
+Το Hyperledger Besu είναι ένας πελάτης Ethereum κατάλληλος για επιχειρήσεις για δημόσια και αδειοδοτημένα δίκτυα. Εκτελεί όλες τις λειτουργίες του Ethereum Mainnet, από την ιχνηλάτηση έως το GraphQL, διαθέτει εκτεταμένη παρακολούθηση και υποστηρίζεται από την ConsenSys, τόσο σε ανοιχτά κανάλια κοινότητας όσο και μέσω εμπορικών συμφωνιών επιπέδου υπηρεσίας για επιχειρήσεις. Είναι γραμμένο σε Java και έχει άδεια χρήσης Apache 2.0.
+
+Η εκτεταμένη [τεκμηρίωση](https://besu.hyperledger.org/en/stable/) του Besu θα σας καθοδηγήσει όσον αφορά όλες τις λεπτομέρειες για τις δυνατότητες και τις ρυθμίσεις του.
+
+### Erigon {#erigon}
+
+Το Erigon, παλαιότερα γνωστό ως Turbo-Geth, ξεκίνησε ως ένα fork του Go Ethereum προσανατολισμένο στην ταχύτητα και την αποτελεσματικότητα του δίσκου. Το Erigon είναι μια πλήρως ανασχεδιασμένη υλοποίηση του Ethereum, γραμμένη αυτή τη στιγμή σε Go αλλά με υλοποιήσεις σε άλλες γλώσσες υπό ανάπτυξη. Ο στόχος του Erigon είναι να παρέχει μια ταχύτερη, πιο αρθρωτή και πιο βελτιστοποιημένη υλοποίηση του Ethereum. Μπορεί να εκτελέσει έναν πλήρη συγχρονισμό κόμβου αρχείου χρησιμοποιώντας περίπου 2TB χώρου δίσκου, σε λιγότερο από 3 ημέρες.
+
+### Go Ethereum {#geth}
+
+Το Go Ethereum (Geth για συντομία) είναι μία από τις αρχικές υλοποιήσεις του πρωτοκόλλου Ethereum. Επί του παρόντος, είναι ο πιο διαδεδομένος πελάτης με τη μεγαλύτερη βάση χρηστών και ποικιλία εργαλείων για χρήστες και προγραμματιστές. Είναι γραμμένο σε Go, πλήρως ανοικτού κώδικα και με άδεια του GNU LGPL v3.
+
+Μάθετε περισσότερα για τη Geth στην [τεκμηρίωση](https://geth.ethereum.org/docs/).
+
+### Nethermind {#nethermind}
+
+Το Nethermind είναι μια υλοποίηση Ethereum που δημιουργήθηκε με τη στοίβα τεχνολογίας C# .NET, με άδεια LGPL-3.0, που εκτελείται σε όλες τις μεγάλες πλατφόρμες συμπεριλαμβανομένης της ARM. Προσφέρει εξαιρετική απόδοση με:
+
+- μια βελτιστοποιημένη εικονική μηχανή
+- κατάσταση πρόσβασης
+- δικτύωση και πλούσιες λειτουργίες όπως πίνακες ελέγχου Prometheus/Grafana, υποστήριξη καταγραφής επιχείρησης seq, ιχνηλάτηση JSON-RPC και πρόσθετα αναλυτικών στοιχείων.
+
+Το Nethermind διαθέτει επίσης [λεπτομερή τεκμηρίωση](https://docs.nethermind.io), ισχυρή υποστήριξη προγραμματιστών, μια online κοινότητα και υποστήριξη 24/7 διαθέσιμη για premium χρήστες.
+
+### Reth {#reth}
+
+Το Reth (συντομογραφία του Rust Ethereum) είναι μια πλήρης υλοποίηση κόμβου Ethereum που αποσκοπεί να είναι εύκολη στη χρήση, εξαιρετικά αρθρωτή, γρήγορη και αποτελεσματική. Το Reth δημιουργήθηκε αρχικά και προωθήθηκε από την Paradigm και διαθέτει άδεια Apache και MIT.
+
+Το Reth είναι έτοιμο για παραγωγή και κατάλληλο για χρήση σε καθοριστικής σημασίας περιβάλλοντα όπως η αποθήκευση (staking) ή υπηρεσίες υψηλού χρόνου λειτουργίας. Αποδίδει καλά σε περιπτώσεις χρήσης όπου απαιτείται υψηλή απόδοση με μεγάλα περιθώρια, όπως RPC, MEV, ευρετηρίαση, προσομοιώσεις και δραστηριότητες P2P.
+
+Μάθετε περισσότερα ρίχνοντας μια ματιά στη [Βίβλο Reth](https://reth.rs/) ή το [αποθετήριο GitHub Reth](https://github.com/paradigmxyz/reth?tab=readme-ov-file#reth).
+
+### Υπό ανάπτυξη {#execution-in-development}
+
+Αυτοί οι πελάτες βρίσκονται ακόμη σε πρώιμα στάδια ανάπτυξης και δεν συνιστώνται ακόμη για χρήση στην παραγωγή.
+
+#### EthereumJS {#ethereumjs}
+
+Το EthereumJS Execution Client (EthereumJS) είναι γραμμένο σε TypeScript και αποτελείται από έναν αριθμό πακέτων, συμπεριλαμβανομένων των βασικών πρωτόγονων Ethereum που αντιπροσωπεύονται από τις κλάσεις Block, Transaction και Merkle-Patricia Trie και των βασικών στοιχείων πελάτη, συμπεριλαμβανομένης μιας υλοποίησης της Ethereum Virtual Machine (EVM), μιας κλάσης blockchain και της στοίβας δικτύωσης DevP2P.
+
+Μάθετε περισσότερα για αυτό διαβάζοντας την [τεκμηρίωσή](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master) του.
+
+## Προγράμματα συναίνεσης {#consensus-clients}
+
+Υπάρχουν πολλαπλοί πελάτες συναίνεσης (γνωστοί παλαιότερα ως πελάτες «Eth2») για την υποστήριξη των [αναβαθμίσεων συναίνεσης](/roadmap/beacon-chain/). Είναι υπεύθυνοι για όλη τη λογική που σχετίζεται με τη συναίνεση, συμπεριλαμβανομένου του αλγόριθμου επιλογής ενσωμάτωσης (fork), της επεξεργασίας των βεβαιώσεων και της διαχείρισης των ανταμοιβών και των ποινών [απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos).
+
+| Πελάτης | Γλώσσα | Λειτουργικά συστήματα | Δίκτυα |
+| ------------------------------------------------------------- | ---------- | --------------------- | --------------------------------------------------- |
+| [Lighthouse](https://lighthouse.sigmaprime.io/) | Rust | Linux, Windows, macOS | Beacon Chain, Holesky, Pyrmont, Sepolia κτλ |
+| [Lodestar](https://lodestar.chainsafe.io/) | TypeScript | Linux, Windows, macOS | Beacon Chain, Holesky, Sepolia κτλ |
+| [Nimbus](https://nimbus.team/) | Nim | Linux, Windows, macOS | Beacon Chain, Holesky, Sepolia κτλ |
+| [Prysm](https://docs.prylabs.network/docs/getting-started/) | Μετάβαση | Linux, Windows, macOS | Beacon Chain, Gnosis, Holesky, Pyrmont, Sepolia κτλ |
+| [Teku](https://consensys.net/knowledge-base/ethereum-2/teku/) | Java | Linux, Windows, macOS | Beacon Chain, Gnosis, Holesky, Sepolia κτλ |
+| [Grandine](https://docs.grandine.io/) | Rust | Linux, Windows, macOS | Beacon Chain, Holesky, Sepolia κτλ |
+
+### Lighthouse {#lighthouse}
+
+Το Lighthouse είναι μια υλοποίηση πελάτη συναίνεσης γραμμένη σε Rust υπό την άδεια Apache-2.0. Διατηρείται από την Sigma Prime και είναι σταθερή και έτοιμη για παραγωγή από τη γένεση της Κύριας Αλυσίδας. Διάφορες επιχειρήσεις, δεξαμενές αποθήκευσης κεφαλαίου και άτομα βασίζονται σ' αυτή. Στόχος της είναι να είναι ασφαλής, αποδοτική και διαλειτουργική σε ένα ευρύ φάσμα περιβαλλόντων, από επιτραπέζιους υπολογιστές έως περίπλοκες αυτοματοποιημένες αναπτύξεις.
+
+Τεκμηρίωση μπορεί να βρεθεί στο [Lighthouse Book](https://lighthouse-book.sigmaprime.io/)
+
+### Lodestar {#lodestar}
+
+Το Lodestar είναι μια υλοποίηση πελάτη συναίνεσης έτοιμη για παραγωγή γραμμένη σε Typescript υπό την άδεια LGPL-3.0. Διατηρείται από την ChainSafe Systems και αποτελεί τον νεότερο από τους πελάτες συναίνεσης για μεμονωμένους χρήστες με αποθηκευμένο κεφάλαιο, προγραμματιστές και ερευνητές. Το Lodestar αποτελείται από έναν κόμβο beacon και έναν πελάτη επικυρωτή που υποστηρίζονται από υλοποιήσεις JavaScript των πρωτοκόλλων Ethereum. Το Lodestar στοχεύει στη βελτίωση της χρηστικότητας του Ethereum με ελαφρούς πελάτες, την επέκταση της προσβασιμότητας σε μια μεγαλύτερη ομάδα προγραμματιστών και την περαιτέρω συμβολή στην ποικιλομορφία του οικοσυστήματος.
+
+Μπορείτε να βρείτε περισσότερες πληροφορίες στην [ιστοσελίδα μας Lodestar](https://lodestar.chainsafe.io/)
+
+### Nimbus {#nimbus}
+
+Το Nimbus είναι μια υλοποίηση πελάτη συναίνεσης γραμμένη σε Nim υπό την άδεια Apache-2.0. Είναι ένας έτοιμος για παραγωγή πελάτης που χρησιμοποιείται από μεμονωμένους χρήστες με αποθηκευμένο κεφάλαιο και δεξαμενές αποθήκευσης κεφαλαίου. Το Nimbus έχει σχεδιαστεί για αποτελεσματικότητα πόρων, καθιστώντας εύκολη την εκτέλεσή του σε συσκευές με περιορισμένους πόρους και υποδομές επιχειρήσεων με την ίδια ευκολία, χωρίς να διακυβεύεται η σταθερότητα ή η απόδοση ανταμοιβής. Ένα ελαφρύτερο αποτύπωμα πόρων σημαίνει ότι ο πελάτης έχει μεγαλύτερο περιθώριο ασφαλείας όταν το δίκτυο βρίσκεται υπό πίεση.
+
+Μάθετε περισσότερα στα [έγγραφα του Nimbus](https://nimbus.guide/)
+
+### Prysm {#prysm}
+
+Το Prysm είναι ένας πλήρως εξοπλισμένος, ανοιχτού κώδικα πελάτης συναίνεσης γραμμένος σε Go υπό την άδεια GPL-3.0. Διαθέτει προαιρετική διεπαφή χρήστη webapp και δίνει προτεραιότητα στην εμπειρία χρήστη, την τεκμηρίωση και τη δυνατότητα διαμόρφωσης τόσο για τους χρήστες stake-at-home όσο και για τους θεσμικούς χρήστες.
+
+Επισκεφτείτε τα [αρχεία Prysm](https://docs.prylabs.network/docs/getting-started/) για να μάθετε περισσότερα.
+
+### Teku {#teku}
+
+Το Teku είναι ένας από τους αρχικούς πελάτες γένεσης της Κύριας Αλυσίδας (Beacon Chain). Μαζί με τους συνηθισμένους στόχους (ασφάλεια, ανθεκτικότητα, σταθερότητα, χρηστικότητα, απόδοση), το Teku στοχεύει ειδικά στην πλήρη συμμόρφωση με όλα τα διάφορα πρότυπα πελατών συναίνεσης.
+
+Το Teku προσφέρει πολύ ευέλικτες επιλογές ανάπτυξης. Ο κόμβος beacon και ο πελάτης επικύρωσης μπορούν να εκτελούνται μαζί ως μια ενιαία διαδικασία, κάτι που είναι εξαιρετικά βολικό για τους μεμονωμένους χρήστες με αποθηκευμένο κεφάλαιο, ή οι κόμβοι μπορούν να εκτελούνται ξεχωριστά για περίπλοκες λειτουργίες αποθήκευσης. Επιπλέον, το Teku είναι πλήρως διαλειτουργικό με το [Web3Signer](https://github.com/ConsenSys/web3signer/) για την υπογραφή ασφάλειας κλειδιού και την προστασία από slashing.
+
+Το Teku είναι γραμμένο σε Java και έχει άδεια χρήσης Apache 2.0. Αναπτύχθηκε από την ομάδα Protocols της ConsenSys που είναι επίσης υπεύθυνη για το Besu και το Web3Signer. Μάθετε περισσότερα στο [αρχείο Teku](https://docs.teku.consensys.net/en/latest/).
+
+### Grandine {#grandine}
+
+Το Grandine είναι μια εφαρμογή πελάτη συναίνεσης, γραμμένη σε Rust με την άδεια GPL-3.0. Συντηρείται από την Grandine Core Team και είναι γρήγορο, υψηλής απόδοσης και ελαφρύ. Ταιριάζει σε ένα ευρύ φάσμα συμμετεχόντων από μεμονωμένους χρήστες με αποθηκευμένο κεφάλαιο που τρέχουν σε συσκευές χαμηλών πόρων όπως το Raspberry Pi έως μεγάλους οργανισμούς αποθήκευσης κεφαλαίου που διαθέτουν δεκάδες χιλιάδες επικυρωτές.
+
+Μπορείτε να βρείτε την τεκμηρίωση στη [Βίβλο Grandine](https://docs.grandine.io/)
+
+## Λειτουργίες συγχρονισμού {#sync-modes}
+
+Για να ακολουθήσει και να επαληθεύσει τα τρέχοντα δεδομένα στο δίκτυο, ο πελάτης Ethereum πρέπει να συγχρονιστεί με την πιο πρόσφατη κατάσταση δικτύου. Αυτό γίνεται μέσω της λήψης δεδομένων από ομότιμους κόμβους, της κρυπτογραφικής επαλήθευσης της ακεραιότητάς τους και της δημιουργίας μιας τοπικής βάσης δεδομένων blockchain.
+
+Οι τρόποι συγχρονισμού αντιπροσωπεύουν διαφορετικές προσεγγίσεις για αυτή τη διαδικασία με διάφορους συμβιβασμούς. Οι πελάτες διαφέρουν επίσης ως προς την εφαρμογή των αλγορίθμων συγχρονισμού τους. Ανατρέξτε πάντα στην επίσημη τεκμηρίωση του επιλεγμένου πελάτη σας για λεπτομέρειες σχετικά με την εφαρμογή.
+
+### Λειτουργίες συγχρονισμού επιπέδου εκτέλεσης {#execution-layer-sync-modes}
+
+Το επίπεδο εκτέλεσης μπορεί να εκτελεστεί σε διαφορετικές λειτουργίες για να ταιριάζει σε διαφορετικές περιπτώσεις χρήσης, από την εκ νέου εκτέλεση της γενικής κατάστασης της αλυσίδας μπλοκ έως τον συγχρονισμό μόνο με την κορυφή της αλυσίδας από ένα αξιόπιστο σημείο ελέγχου.
+
+#### Πλήρης συγχρονισμός {#full-sync}
+
+Ένας πλήρης συγχρονισμός κατεβάζει όλα τα μπλοκ (συμπεριλαμβανομένων των κεφαλίδων και των σωμάτων μπλοκ) και αναδημιουργεί την κατάσταση της αλυσίδας μπλοκ σταδιακά εκτελώντας κάθε μπλοκ από τη γένεση.
+
+- Ελαχιστοποιεί την εμπιστοσύνη και προσφέρει την υψηλότερη ασφάλεια μέσω της επαλήθευσης κάθε συναλλαγής.
+- Με έναν αυξανόμενο αριθμό συναλλαγών, μπορεί να χρειαστούν ημέρες έως και εβδομάδες για την επεξεργασία όλων των συναλλαγών.
+
+Οι [κόμβοι αρχείου](#archive-node) εκτελούν έναν πλήρη συγχρονισμό για να κατασκευάσουν (και να διατηρήσουν) ένα πλήρες ιστορικό των αλλαγών κατάστασης που πραγματοποιήθηκαν από κάθε συναλλαγή σε κάθε μπλοκ.
+
+#### Γρήγορος συγχρονισμός {#fast-sync}
+
+Όπως ένας πλήρης συγχρονισμός, ένας γρήγορος συγχρονισμός κατεβάζει όλα τα μπλοκ (συμπεριλαμβανομένων των κεφαλίδων, των συναλλαγών και των αποδείξεων). Ωστόσο, αντί της επανεπεξεργασίας των ιστορικών συναλλαγών, ένας γρήγορος συγχρονισμός βασίζεται στις αποδείξεις μέχρι να φτάσει σε μια πρόσφατη κεφαλή. Τότε, αλλάζει λειτουργία ώστε να εισαγάγει και να επεξεργαστεί μπλοκ για να παρέχει έναν πλήρη κόμβο.
+
+- Στρατηγική γρήγορου συγχρονισμού.
+- Μειώνει την απαίτηση επεξεργασίας υπέρ της χρήσης εύρους ζώνης.
+
+#### Συγχρονισμός κατάστασης {#snap-sync}
+
+Οι συγχρονισμοί κατάστασης επίσης επαληθεύουν την αλυσίδα μπλοκ προς μπλοκ. Ωστόσο, αντί να ξεκινούν από το πρώτο μπλοκ, ένας συγχρονισμός κατάστασης ξεκινά από ένα πιο πρόσφατο «αξιόπιστο» σημείο ελέγχου που είναι γνωστό ότι αποτελεί μέρος της πραγματικής αλυσίδας μπλοκ. Ο κόμβος αποθηκεύει περιοδικά σημεία ελέγχου ενώ διαγράφει παλαιότερα δεδομένα από μια συγκεκριμένη ηλικία. Αυτά τα στιγμιότυπα χρησιμοποιούνται για την αναδημιουργία δεδομένων κατάστασης ανάλογα με τις ανάγκες, αντί να τα αποθηκεύουν για πάντα.
+
+- Στρατηγική γρηγορότερου συγχρονισμού, επί του παρόντος προεπιλεγμένη στο Ethereum Mainnet.
+- Εξοικονομεί μεγάλη ποσότητα χώρου δίσκου και εύρους ζώνης δικτύου χωρίς να θυσιάζει την ασφάλεια.
+
+[Περισσότερα για τον συγχρονισμό κατάστασης](https://github.com/ethereum/devp2p/blob/master/caps/snap.md).
+
+#### Γρήγορος συγχρονισμός {#light-sync}
+
+Η λειτουργία ελαφρύ πελάτη κατεβάζει όλες τις κεφαλίδες μπλοκ, αποκλείει δεδομένα και επαληθεύει ορισμένες τυχαία. Συγχρονίζει μόνο την κορυφή της αλυσίδας από το αξιόπιστο σημείο ελέγχου.
+
+- Αποκτά μόνο την τελευταία κατάσταση ενώ βασίζεται στην εμπιστοσύνη στους προγραμματιστές και τον μηχανισμό συναίνεσης.
+- Ο πελάτης είναι έτοιμος για χρήση με την τρέχουσα κατάσταση δικτύου σε λίγα λεπτά.
+
+**Σημείωση**: Ο γρήγορος συγχρονισμός δεν λειτουργεί ακόμα με το Ethereum απόδειξης συμμετοχής. Δεν θα αργήσουν να κυκλοφορήσουν νέες εκδόσεις του γρήγορου συγχρονισμού!
+
+[Περισσότερα για πελάτες μικρού μεγέθους](/developers/docs/nodes-and-clients/light-clients/)
+
+### Λειτουργίες συγχρονισμού επιπέδου συναίνεσης {#consensus-layer-sync-modes}
+
+#### Optimistic συγχρονισμός {#optimistic-sync}
+
+Ο Optimistic συγχρονισμός είναι μια στρατηγική συγχρονισμού μετά τη συγχώνευση σχεδιασμένη να είναι προαιρετική και συμβατή με προηγούμενες εκδόσεις, επιτρέποντας στους κόμβους εκτέλεσης να συγχρονίζονται μέσω καθιερωμένων μεθόδων. Η μηχανή εκτέλεσης μπορεί να εισάγει _με «οπτιμιστικό» τρόπο_ μπλοκ beacon χωρίς να τα επαληθεύσει πλήρως, να βρει την πιο πρόσφατη κεφαλή και στη συνέχεια να ξεκινήσει τον συγχρονισμό της αλυσίδας με τις παραπάνω μεθόδους. Στη συνέχεια, αφού ο πελάτης εκτέλεσης καταφέρει να συμβαδίσει, θα ενημερώσει τον πελάτη συναίνεσης για τη γνησιότητα των συναλλαγών στην Κύρια αλυσίδα.
+
+[Περισσότερα για τον οπτιμιστικό συγχρονισμό](https://github.com/ethereum/consensus-specs/blob/dev/sync/optimistic.md)
+
+#### Συγχρονισμός σημείου αναφοράς {#checkpoint-sync}
+
+Ένας συγχρονισμός σημείου αναφοράς, γνωστός και ως συγχρονισμός ασθενούς υποκειμενικότητας, δημιουργεί μια ανώτερη εμπειρία χρήστη για τον συγχρονισμό ενός κόμβου Beacon. Βασίζεται σε υποθέσεις [ασθενούς υποκειμενικότητας](/developers/docs/consensus-mechanisms/pos/weak-subjectivity/) που επιτρέπει τον συγχρονισμό της Κύριας αλυσίδας από ένα πρόσφατο σημείο αναφοράς ασθενούς υποκειμενικότητας αντί για το σημείο της γένεσης. Οι συγχρονισμοί σημείου αναφοράς καθιστούν τον αρχικό χρόνο συγχρονισμού σημαντικά ταχύτερο με παρόμοιες υποθέσεις εμπιστοσύνης όπως ο συγχρονισμός από τη [γένεση](/glossary/#genesis-block).
+
+Στην πράξη, αυτό σημαίνει ότι ο κόμβος σας συνδέεται με μια απομακρυσμένη υπηρεσία για να κατεβάσει πρόσφατες τελικές καταστάσεις και συνεχίζει να επαληθεύει δεδομένα από εκείνο το σημείο. Το τρίτο μέρος που παρέχει τα δεδομένα είναι αξιόπιστο και πρέπει να επιλεγεί προσεκτικά.
+
+Περισσότερα για τον [συγχρονισμό σημείων αναφοράς](https://notes.ethereum.org/@djrtwo/ws-sync-in-practice)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Ethereum 101 — Μέρος 2 — Κατανόηση κόμβων](https://kauri.io/ethereum-101-part-2-understanding-nodes/48d5098292fd4f11b251d1b1814f0bba/a) _– Wil Barnes, 13 Φεβρουαρίου 2019_
+- [Εκτέλεση πλήρους κόμβου Ethereum: Οδηγός για τα ελάχιστα κίνητρα](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– Justin Leroux, 7 Νοεμβρίου 2019_
+
+## Σχετικά θέματα {#related-topics}
+
+- [Μπλοκ](/developers/docs/blocks/)
+- [Δίκτυα](/developers/docs/networks/)
+
+## Σχετικοί οδηγοί {#related-tutorials}
+
+- [Μετατρέψτε το Raspberry Pi 4 σας σε κόμβο επικυρωτή απλά ρυθμίζοντας την κάρτα MicroSD](/developers/tutorials/run-node-raspberry-pi/) _– Οδηγός εγκατάστασης – εγκαταστήστε το Raspberry Pi 4 σας, συνδέστε ένα καλώδιο ethernet, συνδέστε τον δίσκο SSD και ενεργοποιήστε τη συσκευή για να μετατρέψετε το Raspberry Pi 4 σε πλήρη κόμβο Ethereum που εκτελεί το επίπεδο εκτέλεσης (Mainnet) και / ή το επίπεδο συναίνεσης (Beacon Chain / επικυρωτής)._
diff --git a/public/content/translations/el/developers/docs/nodes-and-clients/light-clients/index.md b/public/content/translations/el/developers/docs/nodes-and-clients/light-clients/index.md
new file mode 100644
index 00000000000..b09b656ed65
--- /dev/null
+++ b/public/content/translations/el/developers/docs/nodes-and-clients/light-clients/index.md
@@ -0,0 +1,61 @@
+---
+title: Ελαφρύ πελάτες
+description: Εισαγωγή στους πελάτες μικρού μεγέθους Ethereum.
+lang: el
+---
+
+Η εκτέλεση ενός πλήρους κόμβου είναι ο πιο αξιόπιστος, ιδιωτικός, αποκεντρωμένος και ανθεκτικός στη λογοκρισία τρόπος αλληλεπίδρασης με το Ethereum. Με έναν πλήρη κόμβο, διατηρείτε το δικό σας αντίγραφο της κρυπτοαλυσίδας που μπορείτε να αναζητήσετε αμέσως και έχετε άμεση πρόσβαση στο peer-to-peer δίκτυο του Ethereum. Ωστόσο, η εκτέλεση ενός πλήρους κόμβου απαιτεί σημαντική ποσότητα μνήμης, αποθήκευσης και CPU. Αυτό σημαίνει ότι δεν είναι εφικτό για όλους να τρέχουν τον δικό τους κόμβο. Υπάρχουν αρκετές λύσεις για αυτό στον οδικό χάρτη του Ethereum, συμπεριλαμβανομένου του statelessness, αλλά απέχουν αρκετά χρόνια από την εφαρμογή τους. Η απάντηση βραχυπρόθεσμα είναι να εξισορροπηθούν ορισμένα από τα πλεονεκτήματα της λειτουργίας ενός πλήρους κόμβου για μεγάλες βελτιώσεις απόδοσης που επιτρέπουν στους κόμβους να λειτουργούν με πολύ χαμηλές απαιτήσεις υλικού. Οι κόμβοι που κάνουν αυτό τον συμβιβασμό είναι γνωστοί ως ελαφροί κόμβοι.
+
+## Τι είναι ένα ελαφρύ πρόγραμμα πελάτης {#what-is-a-light-client}
+
+Ένας ελαφρύς κόμβος είναι ένας κόμβος που εκτελεί ελαφρύ λογισμικό πελάτη. Αντί να διατηρούν τοπικά αντίγραφα των δεδομένων blockchain και να επαληθεύουν ανεξάρτητα όλες τις αλλαγές, ζητούν τα απαραίτητα δεδομένα από κάποιον πάροχο. Ο πάροχος μπορεί να είναι μια άμεση σύνδεση με έναν πλήρη κόμβο ή μέσω κάποιου κεντρικού διακομιστή RPC. Στη συνέχεια, τα δεδομένα επαληθεύονται από τον ελαφρύ κόμβο, επιτρέποντάς του να συμβαδίζει με την κεφαλή της αλυσίδας. Ο ελαφρύς κόμβος επεξεργάζεται μόνο κεφαλίδες μπλοκ και κατεβάζει μόνο περιστασιακά τα πραγματικά περιεχόμενα του μπλοκ. Οι κόμβοι μπορεί να διαφέρουν ως προς την ελαφρότητά τους, ανάλογα με τους συνδυασμούς ελαφρού και πλήρους λογισμικού πελάτη που εκτελούν. Για παράδειγμα, η πιο ελαφριά διαμόρφωση θα ήταν η εκτέλεση ενός ελαφρού προγράμματος πελάτη εκτέλεσης και ενός ελαφρού προγράμματος πελάτη συναίνεσης. Είναι επίσης πιθανό ότι πολλοί κόμβοι θα επιλέξουν να εκτελούν ελαφρά προγράμματα πελάτη συναίνεσης με πλήρη προγράμματα πελάτη εκτέλεσης ή το αντίστροφο.
+
+## Πώς λειτουργούν τα ελαφρά προγράμματα πελάτη; {#how-do-light-clients-work}
+
+Όταν το Ethereum άρχισε να χρησιμοποιεί έναν μηχανισμό συναίνεσης που βασίζεται στην απόδειξη συμμετοχής (proof-of-stake), εισήχθη νέα υποδομή ειδικά για την υποστήριξη ελαφρών προγραμμάτων πελάτη. Λειτουργεί μέσω της τυχαίας επιλογής ενός υποσυνόλου 512 επικυρωτών κάθε 1,1 ημέρες για να εκτελεί καθήκοντα **επιτροπής συγχρονισμού**. Η επιτροπή συγχρονισμού υπογράφει την κεφαλίδα των πρόσφατων μπλοκ. Κάθε κεφαλίδα μπλοκ περιέχει τη συσσωρευμένη υπογραφή των επικυρωτών στην επιτροπή συγχρονισμού και ένα «πεδίο bit» που δείχνει ποιοι επικυρωτές υπέγραψαν και ποιοι όχι. Κάθε κεφαλίδα περιλαμβάνει επίσης μια λίστα επικυρωτών που αναμένεται να συμμετάσχουν στην υπογραφή του επόμενου μπλοκ. Αυτό σημαίνει ότι ένας ελαφρύς πελάτης μπορεί να δει γρήγορα ότι η επιτροπή συγχρονισμού έχει υπογράψει τα δεδομένα που λαμβάνει και μπορεί επίσης να ελέγξει ότι η επιτροπή συγχρονισμού είναι γνήσια συγκρίνοντας αυτήν που λαμβάνει με αυτήν που του είπαν να αναμένει στο προηγούμενο μπλοκ. Με αυτόν τον τρόπο, ο ελαφρύς πελάτης μπορεί να συνεχίσει να ενημερώνει τις γνώσεις του για το πιο πρόσφατο μπλοκ Ethereum χωρίς ουσιαστικά να κατεβάσει το ίδιο το μπλοκ, παρά μόνο την κεφαλίδα που περιέχει συνοπτικές πληροφορίες.
+
+Στο επίπεδο εκτέλεσης δεν υπάρχει ενιαία προδιαγραφή για έναν ελαφρύ πελάτη εκτέλεσης. Το εύρος ενός ελαφρύ πελάτη εκτέλεσης μπορεί να διαφέρει από μια «ελαφριά κατάσταση λειτουργίας» ενός πλήρους πελάτη εκτέλεσης που έχει όλες τις λειτουργίες EVM και δικτύωσης ενός πλήρους κόμβου, αλλά επαληθεύει μόνο τις κεφαλίδες μπλοκ, χωρίς λήψη των σχετικών δεδομένων, ή μπορεί να είναι ένας περισσότερο απογυμνωμένος πελάτης που βασίζεται σε μεγάλο βαθμό σε αιτήματα προώθησης σε έναν πάροχο RPC για αλληλεπίδραση με το Ethereum.
+
+## Γιατί είναι σημαντικοί οι ελαφροί πελάτες; {#why-are-light-clients-important}
+
+Οι ελαφρύ πελάτες είναι σημαντικοί επειδή επιτρέπουν στους χρήστες να επαληθεύουν τα εισερχόμενα δεδομένα αντί να εμπιστεύονται τυφλά ότι ο πάροχος δεδομένων τους είναι σωστός και ειλικρινής, ενώ χρησιμοποιούν μόνο ένα μικρό κλάσμα των υπολογιστικών πόρων ενός πλήρους κόμβου. Τα δεδομένα που λαμβάνουν οι ελαφροί πελάτες μπορούν να ελεγχθούν σε σχέση με κεφαλίδες μπλοκ που γνωρίζουν ότι έχουν υπογραφεί από τουλάχιστον τα 2/3 ενός τυχαίου συνόλου 512 επικυρωτών Ethereum. Αυτό είναι πολύ ισχυρή απόδειξη ότι τα δεδομένα είναι σωστά.
+
+Ο ελαφρύς πελάτης χρησιμοποιεί μόνο μια μικρή ποσότητα υπολογιστικής ισχύος, μνήμης και αποθηκευτικού χώρου, ώστε να μπορεί να εκτελεστεί σε κινητό τηλέφωνο, ενσωματωμένο σε μια εφαρμογή ή ως μέρος ενός προγράμματος περιήγησης. Οι ελαφροί πελάτες είναι ένας τρόπος για να κάνετε την πρόσβαση ελαχιστοποιημένης εμπιστοσύνης στο Ethereum το ίδιο απρόσκοπτη με την εμπιστοσύνη σε έναν τρίτο πάροχο.
+
+Ας πάρουμε ένα απλό παράδειγμα. Φανταστείτε ότι θέλετε να ελέγξετε το υπόλοιπο του λογαριασμού σας. Για να το κάνετε αυτό, πρέπει να κάνετε ένα αίτημα σε έναν κόμβο Ethereum. Αυτός ο κόμβος θα ελέγξει το τοπικό αντίγραφο που τηρεί για την κατάσταση Ethereum όσον αφορά το υπόλοιπό σας και θα σας το επιστρέψει. Εάν δεν έχετε άμεση πρόσβαση σε έναν κόμβο, υπάρχουν κεντρικοί χειριστές που παρέχουν αυτά τα δεδομένα ως υπηρεσία. Μπορείτε να τους στείλετε ένα αίτημα, να ελέγξουν τον κόμβο τους και να σας στείλουν πίσω το αποτέλεσμα. Το πρόβλημα με αυτό είναι ότι πρέπει τότε να εμπιστευτείτε ότι ο πάροχος σάς δίνει τις σωστές πληροφορίες. Ποτέ δεν μπορείτε να είστε πραγματικά σίγουροι ότι οι πληροφορίες είναι σωστές εάν δεν μπορείτε να τις επαληθεύσετε οι ίδιοι.
+
+Ένας ελαφρύς πελάτης αντιμετωπίζει αυτό το ζήτημα. Εξακολουθείτε να ζητάτε δεδομένα από κάποιον εξωτερικό πάροχο, αλλά όταν λαμβάνετε τα δεδομένα πίσω, συνοδεύονται από μια απόδειξη ότι ο ελαφρύς κόμβος σας μπορεί να ελέγξει σε σχέση με τις πληροφορίες που έλαβε στην κεφαλίδα του μπλοκ. Αυτό σημαίνει ότι το Ethereum επαληθεύει την ορθότητα των δεδομένων σας αντί για κάποιον αξιόπιστο χειριστή.
+
+## Ποιες καινοτομίες καθιστούν δυνατές οι ελαφροί πελάτες; {#what-innovations-do-light-clients-enable}
+
+Το κύριο πλεονέκτημα των ελαφρών πελατών είναι ότι δίνουν τη δυνατότητα σε περισσότερους ανθρώπους να έχουν ανεξάρτητη πρόσβαση στο Ethereum με αμελητέες απαιτήσεις υλικού και ελάχιστη εξάρτηση από τρίτους. Αυτό είναι καλό για τους χρήστες επειδή μπορούν να επαληθεύσουν τα δικά τους δεδομένα και είναι καλό για το δίκτυο επειδή αυξάνει τον αριθμό και την ποικιλία των κόμβων που επαληθεύουν την αλυσίδα.
+
+Η δυνατότητα εκτέλεσης κόμβων Ethereum σε συσκευές με πολύ μικρή ισχύ αποθήκευσης, μνήμης και επεξεργασίας είναι ένας από τους κύριους τομείς καινοτομίας που ξεκλειδώνουν οι ελαφροί πελάτες. Ενώ σήμερα οι κόμβοι Ethereum απαιτούν πολλούς υπολογιστικούς πόρους, οι ελαφροί πελάτες θα μπορούσαν να ενσωματωθούν σε προγράμματα περιήγησης, να εκτελούνται σε κινητά τηλέφωνα και ίσως ακόμη και μικρότερες συσκευές όπως τα έξυπνα ρολόγια. Αυτό σημαίνει ότι τα πορτοφόλια Ethereum με ενσωματωμένους πελάτες θα μπορούσαν να τρέχουν σε ένα κινητό τηλέφωνο. Αυτό σημαίνει ότι τα πορτοφόλια κινητών θα μπορούσαν να είναι πολύ πιο αποκεντρωμένα, καθώς δεν θα χρειάζεται να εμπιστεύονται τους κεντρικούς παρόχους δεδομένων για τα δεδομένα τους.
+
+Μια επέκταση αυτού είναι να καταστεί δυνατή η χρήση συσκευών **internet of things (IoT)**. Ένας ελαφρύς πελάτης θα μπορούσε να χρησιμοποιηθεί για να αποδείξει γρήγορα την ιδιοκτησία κάποιου υπολοίπου token ή NFT, με όλες τις εγγυήσεις ασφαλείας που παρέχονται από τις επιτροπές συγχρονισμού, ενεργοποιώντας κάποια ενέργεια σε ένα δίκτυο IoT. Φανταστείτε μια [υπηρεσία ενοικίασης ποδηλάτων](https://youtu.be/ZHNrAXf3RDE?t=929) που χρησιμοποιεί μια εφαρμογή με ενσωματωμένο ελαφρύ πελάτη για να επαληθεύσει γρήγορα ότι είστε κάτοχος του NFT της υπηρεσίας ενοικίασης και, αν ναι, ξεκλειδώνει ένα ποδήλατο για να το πάρετε!
+
+Από τους ελαφρούς πελάτες θα επωφελούνταν και τα πακέτα συναλλαγών (rollup) του Ethereum. Ένα από τα μεγάλα προβλήματα για τα πακέτα συναλλαγών ήταν τα hack που στοχεύουν τις γέφυρες που επιτρέπουν τη μεταφορά κεφαλαίων από το Κεντρικό Δίκτυο του Ethereum σε ένα άλλο πακέτο συναλλαγών. Ένα θέμα ευπάθειας είναι οι oracle που χρησιμοποιούν τα πακέτα συναλλαγών για να ανιχνεύσουν ότι ένας χρήστης έχει κάνει κατάθεση στη γέφυρα. Εάν ένας oracle τροφοδοτήσει λάθος δεδομένα, θα μπορούσε να ξεγελάσει το rollup ώστε να πιστέψει ότι υπήρχε κατάθεση στη γέφυρα και να αποδεσμεύσει λανθασμένα κεφάλαια. Ένας ελαφρύς πελάτης ενσωματωμένος στο πακέτο συναλλαγών θα μπορούσε να χρησιμοποιηθεί για προστασία από κατεστραμμένους oracle, επειδή η κατάθεση στη γέφυρα θα μπορούσε να συνοδεύεται από μια απόδειξη που μπορεί να επαληθευτεί από το πακέτο συναλλαγών πριν από την απελευθέρωση τυχόν κρυπτονομισμάτων. Η ίδια ιδέα θα μπορούσε επίσης να εφαρμοστεί και σε άλλες γέφυρες μεταξύ αλυσίδων.
+
+Οι ελαφροί πελάτες θα μπορούσαν επίσης να χρησιμοποιηθούν για την αναβάθμιση πορτοφολιών Ethereum. Αντί να εμπιστεύεστε τα δεδομένα που παρέχονται από έναν πάροχο RPC, το πορτοφόλι σας θα μπορούσε να επαληθεύσει απευθείας τα δεδομένα που σας παρουσιάζονται χρησιμοποιώντας έναν ενσωματωμένο ελαφρύ πελάτη. Αυτό θα πρόσθετε ασφάλεια στο πορτοφόλι σας. Εάν ο πάροχος RPC σας δεν ήταν έντιμος και σας παρείχε λανθασμένα δεδομένα, θα μπορούσε να σας το πει ο ενσωματωμένος ελαφρύς πελάτης σας!
+
+## Ποια είναι η τρέχουσα κατάσταση της ανάπτυξης ελαφρών πελατών; {#current-state-of-development}
+
+Υπάρχουν αρκετοί ελαφρύ πελάτες υπό ανάπτυξη, συμπεριλαμβανομένων των ελαφρών πελατών εκτέλεσης και συναίνεσης και ελαφρών πελατών που συνδυάζουν εκτέλεση/συναίνεση. Αυτές είναι οι υλοποιήσεις ελαφρών πελατών που γνωρίζουμε κατά τη στιγμή συγγραφής αυτής της σελίδας:
+
+- [Lodestar](https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client): ελαφρύς πελάτης συναίνεσης σε TypeScript
+- [Helios](https://github.com/a16z/helios): ελαφρύς πελάτης συνδυασμού εκτέλεσης και συναίνεσης στο Rust
+- [Geth](https://github.com/ethereum/go-ethereum/tree/master/beacon/light): ελαφριά λειτουργία για πελάτη εκτέλεσης (υπό ανάπτυξη) σε Go
+- [Nimbus](https://nimbus.guide/el-light-client.html): ελαφρύς πελάτης συναίνεσης σε Nim
+
+Απ' όσο γνωρίζουμε, κανένα από αυτά δεν θεωρείται ακόμη έτοιμο για παραγωγή.
+
+Γίνεται επίσης πολλή δουλειά για τη βελτίωση των τρόπων με τους οποίους οι ελαφροί πελάτες μπορούν να έχουν πρόσβαση στα δεδομένα του Ethereum. Επί του παρόντος, οι ελαφροί πελάτες βασίζονται σε αιτήματα RPC σε πλήρεις κόμβους χρησιμοποιώντας ένα μοντέλο πελάτη/διακομιστή, αλλά στο μέλλον τα δεδομένα θα μπορούσαν να ζητηθούν με πιο αποκεντρωμένο τρόπο χρησιμοποιώντας ένα αποκλειστικό δίκτυο όπως το [Δίκτυο Portal](https://www.ethportal.net/) που θα μπορούσε να προσφέρει τα δεδομένα σε ελαφρούς πελάτες με χρήση ενός πρωτοκόλλου διασποράς μεταξύ χρηστών.
+
+Άλλα στοιχεία [οδικού χάρτη](/roadmap/) όπως τα [Verkle trees](/roadmap/verkle-trees/) και η [statelessness](/roadmap/statelessness/) θα εξισώσουν τελικά τις εγγυήσεις ασφαλείας των ελαφρών πελατών με αυτές των πλήρων πελατών.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Ο Zsolt Felfodhi σχετικά με τους ελαφρούς πελάτες Geth](https://www.youtube.com/watch?v=EPZeFXau-RE)
+- [Ο Etan Kissling για τη δικτύωση ελαφρών πελατών](https://www.youtube.com/watch?v=85MeiMA4dD8)
+- [Ο Etan Kissling για ελαφρούς πελάτες μετά τη Συγχώνευση](https://www.youtube.com/watch?v=ZHNrAXf3RDE)
+- [Piper Merriam: Ο φιδογυριστός δρόμος για λειτουργικούς ελαφρούς πελάτες](https://snakecharmers.ethereum.org/the-winding-road-to-functional-light-clients/)
diff --git a/public/content/translations/el/developers/docs/nodes-and-clients/node-architecture/index.md b/public/content/translations/el/developers/docs/nodes-and-clients/node-architecture/index.md
new file mode 100644
index 00000000000..09bcd23711f
--- /dev/null
+++ b/public/content/translations/el/developers/docs/nodes-and-clients/node-architecture/index.md
@@ -0,0 +1,59 @@
+---
+title: Αρχιτεκτονική κόμβου
+description: Εισαγωγή στον τρόπο οργάνωσης των κόμβων του Ethereum.
+lang: el
+---
+
+Ένας κόμβος Ethereum αποτελείται από δύο πελάτες: έναν [πελάτη εκτέλεσης](/developers/docs/nodes-and-clients/#execution-clients) και έναν [πελάτη συναίνεσης](/developers/docs/nodes-and-clients/#consensus-clients). Ένας κόμβος που θα προτείνει νέο μπλοκ, θα πρέπει να εκτελεί εφαρμογή [πελάτη επικύρωσης](#validators).
+
+Όταν το Ethereum χρησιμοποιούσε [proof-of-work](/developers/docs/consensus-mechanisms/pow/) (απόδειξη εργασίας), ένας πελάτης εκτέλεσης ήταν αρκετός για να τρέξει έναν πλήρη κόμβο Ethereum. Ωστόσο, από την εφαρμογή της [απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pow/) ο πελάτης εκτέλεσης πρέπει να χρησιμοποιηθεί μαζί με ένα άλλο κομμάτι λογισμικού που ονομάζεται [πελάτης συναίνεσης](/developers/docs/nodes-and-clients/#consensus-clients).
+
+Το παρακάτω διάγραμμα δείχνει τη σχέση μεταξύ των δύο πελατών Ethereum. Οι δύο πελάτες συνδέονται στα δικά τους αντίστοιχα δίκτυα peer-to-peer (P2P). Απαιτούνται ξεχωριστά δίκτυα P2P καθώς οι πελάτες εκτέλεσης διασπείρουν συναλλαγές μέσω του δικτύου τους P2P, επιτρέποντάς τους να διαχειρίζονται την τοπική ομάδα συναλλαγών τους, ενώ οι πελάτες συναίνεσης διασπείρουν μπλοκ στο δίκτυο P2P τους, επιτρέποντας τη συναίνεση και την ανάπτυξη της αλυσίδας.
+
+
+
+_Υπάρχουν αρκετές επιλογές χρήσης πελάτη εκτέλεσης όπως το Erigon, το Nethermind και το Besu_.
+
+Για να λειτουργήσει αυτή η δομή δύο πελατών, οι πελάτες συναίνεσης πρέπει να μεταβιβάζουν δέσμες συναλλαγών στον πελάτη εκτέλεσης. Ο πελάτης εκτέλεσης εκτελεί τις συναλλαγές τοπικά για την επικύρωση των συναλλαγών που δεν παραβιάζουν κανέναν κανόνα του Ethereum και ότι η προτεινόμενη ενημέρωση στην κατάσταση του Ethereum είναι σωστή. Όταν ένας κόμβος επιλέγεται να είναι αυτός που θα προτείνει μπλοκ, η εφαρμογή πελάτη συναίνεσης ζητά δέσμες συναλλαγών από τον πελάτη εκτέλεσης για να τις συμπεριλάβει στο νέο μπλοκ και να τις εκτελέσει για να ενημερώσει την κατάσταση του δικτύου. Ο πελάτης συναίνεσης οδηγεί τον πελάτη εκτέλεσης μέσω μιας τοπικής σύνδεσης RPC χρησιμοποιώντας τη [Μηχανή API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
+
+## Τι κάνει ο πελάτης εκτέλεσης; {#execution-client}
+
+Ο πελάτης εκτέλεσης είναι υπεύθυνος για την επικύρωση συναλλαγών, την ενημέρωση, τη διαχείριση κατάστασης και την υποστήριξη της Εικονικής Μηχανής του Ethereum ([EVM](/developers/docs/evm/)). Ωστόσο, **δεν** είναι υπεύθυνος για τη δημιουργία μπλοκ, τη διασπορά μπλοκ ή τον χειρισμό της λογικής συναίνεσης. Αυτά είναι αρμοδιότητα του πελάτη συναίνεσης.
+
+Ο πελάτης εκτέλεσης δημιουργεί ωφέλιμα φορτία εκτέλεσης: τη λίστα των συναλλαγών, το ενημερωμένο trie κατάστασης και άλλα δεδομένα που σχετίζονται με την εκτέλεση. Οι πελάτες συναίνεσης συμπεριλαμβάνουν το φορτίο εκτέλεσης σε κάθε μπλοκ. Ο πελάτης εκτέλεσης είναι επίσης υπεύθυνος για την επανεκτέλεση συναλλαγών σε νέα μπλοκ για να διασφαλίσει ότι είναι έγκυρες. Η εκτέλεση των συναλλαγών πραγματοποιείται στον ενσωματωμένο υπολογιστή του πελάτη εκτέλεσης, γνωστό ως [Εικονικό μηχάνημα του Ethereum (EVM)](/developers/docs/evm).
+
+Ο πελάτης εκτέλεσης προσφέρει επίσης μια διεπαφή χρήστη στο Ethereum μέσω [μεθόδων RPC](/developers/docs/apis/json-rpc) που επιτρέπουν στους χρήστες να υποβάλλουν ερωτήματα στο blockchain του Ethereum, να υποβάλλουν συναλλαγές και να αναπτύσσουν έξυπνα συμβόλαια. Συνηθίζεται ο χειρισμός των κλήσεων RPC να γίνεται από βιβλιοθήκη όπως οι [Web3js](https://docs.web3js.org/), [Web3py](https://web3py.readthedocs.io/en/v5/), ή από διεπαφή χρήστη, όπως πορτοφόλι προγράμματος περιήγησης.
+
+Συνοπτικά, ο πελάτης εκτέλεσης είναι:
+
+- μια πύλη πρόσβασης του χρήστη στο Ethereum
+- έδρα της εικονικής μηχανής Ethereum, της ομάδας καταστάσεων και συναλλαγών του Ethereum.
+
+## Τι κάνει ο πελάτης συναίνεσης; {#consensus-client}
+
+Ο πελάτης συναίνεσης ασχολείται με όλη τη λογική που επιτρέπει σε έναν κόμβο να παραμείνει συγχρονισμένος με το δίκτυο Ethereum. Αυτό περιλαμβάνει τη λήψη μπλοκ από ομότιμους και την εκτέλεση ενός αλγορίθμου επιλογής fork για να διασφαλιστεί ότι ο κόμβος ακολουθεί πάντα την αλυσίδα με τη μεγαλύτερη συσσώρευση βεβαιώσεων (σταθμισμένη από αποτελεσματικά υπόλοιπα του επικυρωτή). Παρόμοια με τον πελάτη εκτέλεσης, οι πελάτες συναίνεσης έχουν το δικό τους δίκτυο P2P μέσω του οποίου μοιράζονται μπλοκ και βεβαιώσεις.
+
+Ο πελάτης συναίνεσης δεν συμμετέχει στη βεβαίωση ή την πρόταση μπλοκ — αυτό γίνεται από έναν επικυρωτή, ένα προαιρετικό πρόσθετο σε έναν πελάτη συναίνεσης. Ένας πελάτης συναίνεσης χωρίς επικυρωτή συμβαδίζει μόνο με την κεφαλή της αλυσίδας, επιτρέποντας στον κόμβο να παραμείνει συγχρονισμένος. Αυτό δίνει τη δυνατότητα σε έναν χρήστη να πραγματοποιεί συναλλαγές με το Ethereum χρησιμοποιώντας τον πελάτη εκτέλεσής του, με τη βεβαιότητα ότι βρίσκεται στη σωστή αλυσίδα.
+
+## Επικυρωτές {#validators}
+
+Η αποθήκευση κεφαλαίου και η εκτέλεση του λογισμικού επικύρωσης καθιστά έναν κόμβο κατάλληλο να επιλεγεί για να προτείνει ένα νέο μπλοκ. Οι χειριστές κόμβων μπορούν να προσθέσουν έναν επικυρωτή στους πελάτες συναίνεσης τους καταθέτοντας 32 ETH στο συμβόλαιο κατάθεσης. Ο πελάτης επικύρωσης συνοδεύεται από τον πελάτη συναίνεσης και μπορεί να προστεθεί σε έναν κόμβο ανά πάσα στιγμή. Ο επικυρωτής χειρίζεται βεβαιώσεις και προτάσεις μπλοκ. Επιτρέπει επίσης σε έναν κόμβο να συγκεντρώνει ανταμοιβές ή να χάσει ETH μέσω ποινών ή περικοπών.
+
+[Περισσότερα για την αποθήκευση](/staking/).
+
+## Στοιχεία σύγκρισης κόμβων {#node-comparison}
+
+| Πρόγραμμα εκτέλεσης | Πρόγραμμα συναίνεσης | Επαληθευτής |
+| -------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------- |
+| Ενημέρωση συναλλαγών μέσω δικτύου Ρ2Ρ | Ενημέρωση μπλοκ και βεβαιώσεις μέσω δικτύου Ρ2Ρ | Προτείνει μπλοκ |
+| Εκτέλεση/επανεκτέλεση συναλλαγών | Εκτελεί τον αλγόριθμο επιλογής fork | Μαζεύει ανταμοιβές/ποινές |
+| Επαληθεύει τις εισερχόμενες αλλαγές κατάστασης | Παρακολουθεί την κεφαλή της αλυσίδας | Κάνει βεβαιώσεις |
+| Διαχειρίζεται την κατάσταση και παραλαμβάνει trie | Διαχειρίζεται την κατάσταση Beacon (περιέχει πληροφορίες συναίνεσης και εκτέλεσης) | Απαιτεί την αποθήκευση 32 ETH |
+| Δημιουργεί ωφέλιμα φορτία εκτέλεσης | Παρακολουθεί τη συσσωρευμένη τυχαιότητα στο RANDAO | Μπορεί να διαιρεθεί |
+| Εκθέτει το JSON-RPC API για αλληλεπίδραση με το Ethereum | Παρακολουθεί την αιτιολόγηση και την οριστικοποίηση | |
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos)
+- [Πρόταση μπλοκ](/developers/docs/consensus-mechanisms/pos/block-proposal)
+- [Επιβραβεύσεις και κυρώσεις επικυρωτή](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)
diff --git a/public/content/translations/el/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/el/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
new file mode 100644
index 00000000000..a025319f5d7
--- /dev/null
+++ b/public/content/translations/el/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
@@ -0,0 +1,419 @@
+---
+title: Κόμβοι ως υπηρεσία
+description: Μια επισκόπηση εισαγωγικού επιπέδου σχετικά με τις υπηρεσίες κόμβων, τα πλεονεκτήματα και μειονεκτήματα, καθώς και τους δημοφιλείς παρόχους.
+lang: el
+sidebarDepth: 2
+---
+
+## Εισαγωγή {#Introduction}
+
+Η εκτέλεση του δικού σας [κόμβου Ethereum](/developers/docs/nodes-and-clients/#what-are-nodes-and-clients) μπορεί να είναι δύσκολη, ειδικά όταν πρωτοξεκινάτε ή όταν κάνετε γρήγορα κλιμάκωση. Υπάρχουν [αρκετές υπηρεσίες](#popular-node-services) που εκτελούν βελτιστοποιημένες υποδομές κόμβων για εσάς, ώστε να μπορείτε να επικεντρωθείτε στην ανάπτυξη της εφαρμογής ή του προϊόντος σας. Θα εξηγήσουμε πώς λειτουργούν οι υπηρεσίες κόμβων, τα πλεονεκτήματα και τα μειονεκτήματα της χρήσης τους, και θα αναφέρουμε παρόχους, εάν ενδιαφέρεστε να ξεκινήσετε.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Εάν δεν έχετε ήδη καταλάβει τι είναι οι κόμβοι και οι πελάτες, ρίξτε μια ματιά στην ενότητα [Κόμβοι και πελάτες](/developers/docs/nodes-and-clients/).
+
+## Χρήστες με αποθηκευμένο κεφάλαιο {#stakoooooooooooooors}
+
+Οι μεμονωμένοι χρήστες με αποθηκευμένο κεφάλαιο πρέπει να εκτελούν τη δική τους υποδομή αντί να βασίζονται σε τρίτους παρόχους. Αυτό σημαίνει ότι πρέπει να εκτελούν έναν πελάτη εκτέλεσης σε συνδυασμό με έναν πελάτη συναίνεσης. Πριν από [τη Συγχώνευση](/roadmap/merge), ήταν δυνατή η εκτέλεση μόνο ενός πελάτη συναίνεσης και η χρήση ενός κεντρικού παρόχου για δεδομένα εκτέλεσης. Αυτό δεν είναι πλέον δυνατό, καθώς ένας μεμονωμένος επικυρωτής πρέπει να εκτελέσει και τους δύο πελάτες. Ωστόσο, υπάρχουν διαθέσιμες υπηρεσίες που διευκολύνουν αυτή τη διαδικασία.
+
+[Διαβάστε περισσότερα σχετικά με την εκτέλεση ενός κόμβου](/developers/docs/nodes-and-clients/run-a-node/).
+
+Οι υπηρεσίες που περιγράφονται σε αυτή τη σελίδα είναι για κόμβους που δεν έχουν αποθηκευμένο κεφάλαιο.
+
+## Πώς λειτουργούν οι υπηρεσίες κόμβων; {#how-do-node-services-work}
+
+Οι πάροχοι υπηρεσιών κόμβων εκτελούν κατανεμημένους πελάτες κόμβων στα παρασκήνια για εσάς, έτσι ώστε να μη χρειάζεται να το κάνετε εσείς αυτό.
+
+Αυτές οι υπηρεσίες παρέχουν συνήθως ένα κλειδί API που μπορείτε να χρησιμοποιήσετε για να γράψετε και να διαβάσετε από το blockchain. Συχνά περιλαμβάνουν πρόσβαση σε [δοκιμαστικά δίκτυα Ethereum](/developers/docs/networks/#ethereum-testnets) επιπλέον του Κεντρικού Δικτύου.
+
+Ορισμένες υπηρεσίες σάς προσφέρουν τον δικό σας αποκλειστικό κόμβο που εκείνες διαχειρίζονται για εσάς, ενώ άλλες χρησιμοποιούν εξισορροπητές φορτίου για την κατανομή της δραστηριότητας στους κόμβους.
+
+Σχεδόν όλες οι υπηρεσίες κόμβων είναι εξαιρετικά εύκολες στην ενσωμάτωση, καθώς περιλαμβάνουν αλλαγές μίας γραμμής στον κώδικά σας για να αντικαταστήσετε τον αυτοφιλοξενούμενο κόμβο σας ή ακόμα και να εναλλάξετε μεταξύ των ίδιων των υπηρεσιών.
+
+Συχνά οι υπηρεσίες κόμβων θα εκτελούν μια ποικιλία [πελατών κόμβων](/developers/docs/nodes-and-clients/#execution-clients) και [τύπων](/developers/docs/nodes-and-clients/#node-types), επιτρέποντάς σας να έχετε πρόσβαση σε πλήρεις και αρχειακούς κόμβους εκτός από τις συγκεκριμένες μεθόδους πελάτη σε ένα API.
+
+Είναι σημαντικό να σημειωθεί ότι οι υπηρεσίες κόμβων δεν αποθηκεύουν και δεν πρέπει να αποθηκεύουν τα ιδιωτικά σας κλειδιά ή πληροφορίες.
+
+## Ποια είναι τα οφέλη από τη χρήση μιας υπηρεσίας κόμβων; {#benefits-of-using-a-node-service}
+
+Το κύριο πλεονέκτημα της χρήσης μιας υπηρεσίας κόμβου είναι ότι δεν χρειάζεται να ξοδεύετε οι ίδιοι χρόνο σε εργασίες μηχανικής για τη συντήρηση και τη διαχείριση των κόμβων. Αυτό σας επιτρέπει να εστιάσετε στην κατασκευή του προϊόντος σας αντί να ανησυχείτε για τη συντήρηση της υποδομής.
+
+Η εκτέλεση του δικού σας κόμβου μπορεί να είναι πολύ δαπανηρή από την αποθήκευση έως το εύρος ζώνης και τον πολύτιμο χρόνο μηχανικών εργασιών. Πράγματα όπως η εκκίνηση περισσότερων κόμβων κατά την κλιμάκωση, η αναβάθμιση των κόμβων στις πιο πρόσφατες εκδόσεις και η διασφάλιση της συνέπειας κατάστασης μπορούν να αποσπάσουν την προσοχή από την κατασκευή και τη διοχέτευση πόρων στο επιθυμητό προϊόν web3.
+
+## Ποια είναι τα μειονεκτήματα της χρήσης μιας υπηρεσίας κόμβων; {#cons-of-using-a-node-service}
+
+Χρησιμοποιώντας μια υπηρεσία κόμβου, συγκεντρώνετε σε ένα σημείο τη διαχείριση της πτυχής της υποδομής του προϊόντος σας. Για αυτόν τον λόγο, τα έργα για τα οποία η αποκέντρωση είναι ύψιστης σημασίας ενδέχεται να προτιμούν κόμβους αυτοφιλοξενούμενους αντί για εξωτερική ανάθεση σε τρίτους.
+
+Διαβάστε περισσότερα σχετικά με τα [πλεονεκτήματα της εκτέλεσης του δικού σας κόμβου](/developers/docs/nodes-and-clients/#benefits-to-you).
+
+## Δημοφιλείς υπηρεσίες κόμβου {#popular-node-services}
+
+Ακολουθεί μια λίστα με μερικούς από τους πιο δημοφιλείς παρόχους κόμβων Ethereum. Μπορείτε να προσθέσετε όποιους άλλους λείπουν! Κάθε υπηρεσία κόμβου προσφέρει διαφορετικά οφέλη και χαρακτηριστικά εκτός από δωρεάν ή επί πληρωμή επίπεδα, οπότε θα πρέπει να διερευνήσετε ποια ταιριάζει καλύτερα στις ανάγκες σας πριν πάρετε μια απόφαση.
+
+- [**Alchemy**](https://alchemy.com/)
+ - [Έγγραφα](https://docs.alchemyapi.io/)
+ - Χαρακτηριστικά
+ - Μεγαλύτερο δωρεάν επίπεδο με 300 εκατομμύρια μονάδες υπολογισμού ανά μήνα (~30 εκατομμύρια αιτήματα getLatestBlock)
+ - Υποστήριξη πολλαπλών αλυσίδων για Polygon, Starknet, Optimism, Arbitrum
+ - Τροφοδότηση περίπου του 70% του μεγαλύτερου όγκου εφαρμογών dapp και συναλλαγών DeFi του Ethereum
+ - Ειδοποιήσεις σε πραγματικό χρόνο μέσω Alchemy Notify
+ - Κορυφαία υποστήριξη και αξιοπιστία / σταθερότητα
+ - NFT API της Alchemy
+ - Πίνακας εργαλείων με Request Explorer, Mempool Watcher και Composer
+ - Ενσωματωμένη πρόσβαση σε faucet testnet
+ - Ενεργή κοινότητα δημιουργών Discord με 18.000 χρήστες
+
+- [**Όλος αυτός ο κόμβος**](https://allthatnode.com/)
+ - [Έγγραφα](https://docs.allthatnode.com/)
+ - Χαρακτηριστικά
+ - 50.000 αιτήματα ανά ημέρα με δωρεάν tier
+ - Υποστήριξη για πάνω από 40 πρωτόκολλα
+ - Υποστηρίζονται τα API JSON-RPC (EVM, Tendermint), REST και Websocket
+ - Απεριόριστη πρόσβαση σε δεδομένα αρχείου
+ - Τεχνική υποστήριξη 24/7 και 99,9% χρόνος συνεχούς λειτουργίας
+ - Διαθέσιμο faucet σε πολλαπλές αλυσίδες
+ - Απεριόριστη πρόσβαση σε τελικό σημείο με απεριόριστο αριθμό κλειδιών API
+ - Υποστήριξη API ιχνηλάτησης/αποσφαλμάτωσης
+ - Αυτόματες ενημερώσεις
+
+- [**Διαχειρίσιμο Blockchain από Amazon**](https://aws.amazon.com/managed-blockchain/)
+ - [Έγγραφα](https://aws.amazon.com/managed-blockchain/resources/)
+ - Χαρακτηριστικά
+ - Πλήρως διαχειριζόμενοι κόμβοι Ethereum
+ - Διαθέσιμο σε έξι κατηγορίες
+ - JSON-RPC μέσω HTTP και ασφαλή WebSockets
+ - Υποστήριξη τριών αλυσίδων
+ - Υποστήριξη SLAs, AWS 24/7
+ - Go-ethereum και Lighthouse
+
+- [**Ankr**](https://www.ankr.com/)
+ - [Έγγραφα](https://docs.ankr.com/)
+ - Χαρακτηριστικά
+ - Πρωτόκολλο Ankr — παρέχει πρόσβαση σε δημόσια τελικά σημεία API για πάνω από 8 blockchain
+ - Εξισορρόπηση φορτίου και παρακολούθηση υγείας των κόμβων για γρήγορη και αξιόπιστη πρόσβαση στον πλησιέστερο διαθέσιμο κόμβο
+ - Πρόσθετες λειτουργίες όπως τελικό σημείο WSS και απεριόριστο όριο αιτημάτων
+ - Επιτρέπει την ανάπτυξη πλήρων κόμβων και επικυρωτών για πάνω από 40 αλυσίδες με ένα μόνο κλικ
+ - Σταδιακή κλιμάκωση
+ - Εργαλεία ανάλυσης
+ - Πίνακας ελέγχου
+ - Τελικά σημεία RPC, HTTPS και WSS
+ - Άμεση υποστήριξη
+
+- [**Blast**](https://blastapi.io/)
+ - [Έγγραφα](https://docs.blastapi.io/)
+ - Χαρακτηριστικά
+ - Υποστήριξη RPC και WSS
+ - Πολλαπλές επιλογές σύνδεσης κόμβου
+ - Αποκεντρωμένη υποδομή
+ - Δημόσιο ΑΡΙ
+ - Προσαρμοσμένο δωρεάν σχέδιο
+ - Υποστήριξη πολλαπλών αλυσίδων (17+ blockchain)
+ - Κόμβοι αρχείου
+ - Υποστήριξη 24/7 Discord
+ - Έλεγχος και ειδοποιήσεις 24/7
+ - Συνολικό SLA 99,9%
+ - Πληρωμή με κρυπτονόμισμα
+
+- [**BlockDaemon**](https://blockdaemon.com/)
+ - [Έγγραφα](https://ubiquity.docs.blockdaemon.com/)
+ - Οφέλη
+ - Πίνακας Ελέγχου
+ - Πληρωμή ανά κόμβο
+ - Αναλύσεις
+
+- [**BlockPI**](https://blockpi.io/)
+ - [Έγγραφα](https://docs.blockpi.io/)
+ - Χαρακτηριστικά
+ - Ισχυρή & κατανεμημένη δομή κόμβων
+ - Υποστηρίζει έως και 40 HTTPS και WSS τελικά σημεία
+ - Δωρεάν πακέτα εγγραφής και μηνιαία πακέτα
+ - Μέθοδο ιχνηλάτισης + Υποστήριξη δεδομένων αρχείου
+ - Πακέτα έγκυρα έως και 90 ημέρες
+ - Προσαρμοσμένο πλάνο και πληρωμή ανάλογα με τη χρήση
+ - Πληρωμή με κρυπτονόμισμα
+ - Άμεση υποστήριξη & Τεχνική υποστήριξη
+
+- [**Chainbase**](https://www.chainbase.com/)
+ - [Έγγραφα](https://docs.chainbase.com)
+ - Χαρακτηριστικά
+ - Εξαιρετικά διαθέσιμη, γρήγορη και επεκτάσιμη υπηρεσία RPC
+ - Υποστήριξη πολλαπλών αλυσίδων
+ - Δωρεάν έξοδα
+ - Φιλικό προς τον χρήστη πίνακα ελέγχου
+ - Παρέχει υπηρεσίες δεδομένων blockchain πέρα από το RPC
+
+- [**Chainstack**](https://chainstack.com/)
+ - [Έγγραφα](https://docs.chainstack.com/)
+ - Χαρακτηριστικά
+ - Δωρεάν κοινόχρηστοι κόμβοι
+ - Κοινόχρηστοι κόμβοι αρχείου
+ - Υποστήριξη GraphQL
+ - Τελικά σημεία RPC και WSS
+ - Εξατομικευμένοι πλήρεις κόμβοι και κόμβοι αρχείου
+ - Γρήγορος συγχρονισμός για αποκλειστικές αναπτύξεις
+ - Δυνατότητα χρήσης του δικού σας cloud
+ - Τιμή χρέωσης ανά ώρα
+ - Άμεση υποστήριξη 24/7
+
+- [**DataHub**](https://datahub.figment.io)
+ - [Έγγραφα](https://docs.figment.io/)
+ - Χαρακτηριστικά
+ - Δωρεάν επίπεδο επιλογής με 3.000.000 αιτήματα/μήνα
+ - Τελικά σημεία RPC και WSS
+ - Εξατομικευμένοι πλήρεις κόμβοι και κόμβοι αρχείου
+ - Αυτόματη κλιμάκωση (εκπτώσεις ανά όγκο)
+ - Δωρεάν δεδομένα αρχείου
+ - Αναλυτικά στοιχεία υπηρεσίας
+ - Πίνακας ελέγχου
+ - Άμεση υποστήριξη 24/7
+ - Πληρωμή σε κρυπτονόμισμα (για Επιχειρήσεις)
+
+- [**DRPC**](https://drpc.org/)
+ - [Έγγραφα](https://docs.drpc.org/)
+ - Χαρακτηριστικά
+ - Αποκεντρωμένοι κόμβοι RPC
+ - 15+ Πάροχοι κόμβων
+ - Εξισορρόπηση κόμβου
+ - Απεριόριστες υπολογιστικές μονάδες ανά μήνα στη δωρεάν κατηγορία
+ - Επαλήθευση δεδομένων
+ - Προσαρμοσμένα endpoint
+ - Τελικά σημεία HTTP και WSS
+ - Απεριόριστα κλειδιά (δωρεάν και πληρωμή κατηγορία)
+ - Ευέλικτες εναλλακτικές επιλογές
+ - [Δημόσιο Τελικό Σημείο](https://eth.drpc.org)
+ - Δωρεάν κοινόχρηστοι κόμβοι αρχείου
+
+- [**GetBlock**](https://getblock.io/)
+ - [Έγγραφα](https://getblock.io/docs/get-started/authentication-with-api-key/)
+ - Χαρακτηριστικά
+ - Πρόσβαση σε 40+ κόμβους blockchain
+ - 40000 ημερήσια αιτήματα δωρεάν
+ - Απεριόριστος αριθμός κλειδιών ΑΡΙ
+ - Υψηλή ταχύτητα σύνδεσης 1GB/δευτ
+ - Ανίχνευση+Αρχείο
+ - Προηγμένες αναλύσεις
+ - Αυτόματες ενημερώσεις
+ - Τεχνική υποστήριξη
+
+- [**InfStones**](https://infstones.com/)
+ - Χαρακτηριστικά
+ - Ελεύθερη επιλογή κατηγορίας
+ - Σταδιακή κλιμάκωση
+ - Αναλύσεις
+ - Πίνακας ελέγχου
+ - Μοναδικά σημεία API
+ - Εξατομικευμένοι πλήρεις κόμβοι
+ - Γρήγορος συγχρονισμός για αποκλειστικές αναπτύξεις
+ - Άμεση υποστήριξη 24/7
+ - Πρόσβαση σε 50+ κόμβους blockchain
+
+- [**Infura**](https://infura.io/)
+ - [Έγγραφα](https://infura.io/docs)
+ - Χαρακτηριστικά
+ - Ελεύθερη επιλογή κατηγορίας
+ - Σταδιακή κλιμάκωση
+ - Δεδομένα αρχείου πληρωμών
+ - Άμεση υποστήριξη
+ - Πίνακας ελέγχου
+
+- [**Kaleido**](https://kaleido.io/)
+ - [Έγγραφα](https://docs.kaleido.io/)
+ - Χαρακτηριστικά
+ - Δωρεάν επίπεδο εκκίνησης
+ - Ανάπτυξη κόμβου Ethereum με ένα κλικ
+ - Προσαρμόσιμοι πελάτες και αλγόριθμοι (Geth, Quorum & Besu || PoA, IBFT & Raft)
+ - 500+ διοικητικά API και API υπηρεσιών
+ - Διεπαφή RESTful για υποβολή συναλλαγών Ethereum (υποστηριζόμενη από Apache Kafka)
+ - Εξερχόμενες ροές για παράδοση γεγονότων (υποστηριζόμενα από Apache Kafka)
+ - Συλλογή υπηρεσιών «εκτός αλυσίδας» και συμπληρωματικών υπηρεσιών (π.χ. διμερής κρυπτογραφημένη μεταφορά μηνυμάτων)
+ - Απλή ένταξη στο δίκτυο με διακυβέρνηση και έλεγχο πρόσβασης βάσει ρόλων
+ - Προχωρημένη διαχείριση χρηστών για διαχειριστές και τελικούς χρήστες
+ - Με μεγάλη δυνατότητα κλιμάκωσης, ανθεκτικότητα και υποδομή κατάλληλη για επιχειρήσεις
+ - Διαχείριση ιδιωτικών κλειδιών Cloud HSM
+ - Σύνδεση με το κύριο δίκτυο Ethereum
+ - Πιστοποιήσεις τύπου 2 ISO 27k και SOC 2
+ - Δυναμική ρύθμιση χρόνου εκτέλεσης (π.χ. προσθήκη ενσωματώσεων cloud, αλλαγή εισόδων κόμβων, κ.λπ.)
+ - Υποστήριξη για διαμορφώσεις πολλαπλών cloud, πολλαπλών περιοχών και υβριδικών αναπτύξεων
+ - Απλή τιμολόγηση SaaS ανά ώρα
+ - SLA και υποστήριξη 24x7
+
+- [**Δίκτυο Lava**](https://www.lavanet.xyz/)
+ - [Έγγραφα](https://docs.lavanet.xyz/)
+ - Χαρακτηριστικά
+ - Δωρεάν χρήση δικτύου δοκιμών
+ - Αποκεντρωμένη επιβιωσιμότητα για υψηλό χρόνο λειτουργίας
+ - Ανοιχτό λογισμικό
+ - Πλήρως αποκεντρωμένο SDK
+ - Ενσωμάτωση Ethers.js
+ - Εύχρηστη διεπαφή διαχείρισης έργου
+ - Ακεραιότητα δεδομένων με βάση τη συναίνεση
+ - Υποστήριξη πολλαπλών αλυσίδων
+
+- [**Moralis**](https://moralis.io/)
+ - [Έγγραφα](https://docs.moralis.io/)
+ - Χαρακτηριστικά
+ - Δωρεάν κοινόχρηστοι κόμβοι
+ - Δωρεάν κοινόχρηστοι κόμβοι αρχείου
+ - Επικεντρωμένο στην ιδιωτικότητα (χωρίς πολιτική αρχείου καταγραφών)
+ - Υποστήριξη μεταξύ αλυσίδων
+ - Σταδιακή κλιμάκωση
+ - Πίνακας ελέγχου
+ - Μοναδικό Ethereum SDK
+ - Μοναδικά σημεία API
+ - Άμεση, τεχνική υποστήριξη
+
+- [**NodeReal MegaNode**](https://nodereal.io/)
+ - [Έγγραφα](https://docs.nodereal.io/nodereal/meganode/introduction)
+ - Χαρακτηριστικά
+ - Αξιόπιστες, γρήγορες και επεκτάσιμες υπηρεσίες RPC API
+ - Ενισχυμένο API για προγραμματιστές web3
+ - Υποστήριξη πολλαπλών αλυσίδων
+ - Ξεκινήστε δωρεάν
+
+- [**NOWNodes**](https://nownodes.io/)
+ - [Έγγραφα](https://documenter.getpostman.com/view/13630829/TVmFkLwy)
+ - Χαρακτηριστικά
+ - Πρόσβαση σε 50+ κόμβους blockchain
+ - Δωρεάν κλειδί API
+ - Εξερευνητές μπλοκ
+ - Χρόνος ανταπόκρισης API ⩽ 1 δευτερόλεπτο
+ - Ομάδα υποστήριξης 24/7
+ - Διαχειριστής προσωπικού λογαριασμού
+ - Κοινόχρηστοι, εφεδρικοί και αποκλειστικοί κόμβοι και κόμβοι αρχειοθέτησης
+
+- [**Δίκτυο Pocket**](https://www.pokt.network/)
+ - [Έγγραφα](https://docs.pokt.network/home/)
+ - Χαρακτηριστικά
+ - Αποκεντρωμένο Πρωτόκολλο και Αγορά RPC
+ - Δωρεάν βαθμίδα 1 εκατομμυρίου αιτημάτων ανά ημέρα (ανά τελικό σημείο, μέγιστο 2)
+ - [Δημόσια τελικά σημεία](https://docs.pokt.network/developers/public-endpoints)
+ - Πρόγραμμα Pre-Stake+ (αν χρειάζεστε περισσότερα από 1 εκατομμύριο αιτήματα την ημέρα)
+ - Υποστηρίζονται 15+ Blockchain
+ - 6400+ κόμβοι που κερδίζουν POKT για την εξυπηρέτηση εφαρμογών
+ - Κόμβος αρχειοθέτησης, Κόμβος αρχειοθέτησης με ιχνηλάτηση, & Υποστήριξη κόμβου δοκιμαστικού δικτύου
+ - Ποικιλία πελατών κόμβου Κεντρικού Δικτύου του Ethereum
+ - Κανένα μεμονωμένο σημείο αποτυχίας
+ - Μόνιμη λειτουργία
+ - Οικονομικά Σχεδόν Μηδενικά Tokenomics (αποθηκεύετε POKT μία φορά για το εύρος ζώνης δικτύου)
+ - Χωρίς μηνιαίο μη ανακτήσιμο κόστος, μετατρέψτε την υποδομή σας σε περιουσιακό στοιχείο
+ - Εξισορρόπηση φορτίου ενσωματωμένη στο πρωτόκολλο
+ - Κλιμακώστε απεριόριστα τον αριθμό των αιτημάτων ανά ημέρα και των κόμβων ανά ώρα καθώς προχωράτε
+ - Η πιο ιδιωτική, ανθεκτική στη λογοκρισία επιλογή
+ - Πρακτική υποστήριξη προγραμματιστών
+ - Πίνακας ελέγχου και αναλυτικά στοιχεία [Pocket Portal](https://bit.ly/ETHorg_POKTportal)
+
+- [**QuickNode**](https://www.quicknode.com)
+ - [Έγγραφα](https://www.quicknode.com/docs/)
+ - Χαρακτηριστικά
+ - Τεχνική υποστήριξη 24/7 & κοινότητα dev Discord
+ - Γεω-εξισορροπημένο δίκτυο πολλαπλών νεφών/μετάλλων, χαμηλής καθυστέρησης
+ - Υποστήριξη πολλαπλών αλυσίδων (Optimism, Arbitrum, Polygon + 11 ακόμη)
+ - Μεσαίες στρώσεις για ταχύτητα & σταθερότητα (δρομολόγηση κλήσεων, προσωρινή μνήμη, ευρετηρίαση)
+ - Παρακολούθηση έξυπνου συμβολαίου με Webhooks
+ - Εύχρηστος πίνακας εργαλείων, σουίτα αναλυτικών στοιχείων, συνθέτης RPC
+ - Προηγμένες λειτουργίες ασφαλείας (JWT, κάλυψη, κατάλογος εγκεκριμένων)
+ - API δεδομένων και αναλυτικών στοιχείων NFT
+ - [Πιστοποίηση SOC2](https://www.quicknode.com/security)
+ - Κατάλληλο για προγραμματιστές έως επιχειρήσεις
+
+- [**Rivet**](https://rivet.cloud/)
+ - [Έγγραφα](https://rivet.readthedocs.io/en/latest/)
+ - Χαρακτηριστικά
+ - Ελεύθερη επιλογή κατηγορίας
+ - Σταδιακή κλιμάκωση
+
+- [**SenseiNode**](https://senseinode.com)
+ - [Έγγραφα](https://docs.senseinode.com/)
+ - Χαρακτηριστικά
+ - Αποκλειστικοί και Κοινόχρηστοι κόμβοι
+ - Πίνακας ελέγχου
+ - Φιλοξενία εκτός AWS σε πολλούς παρόχους φιλοξενίας σε διαφορετικές τοποθεσίες στη Λατινική Αμερική
+ - Πελάτες Prysm και Lighthouse
+
+- [**SettleMint**](https://console.settlemint.com/)
+ - [Έγγραφα](https://docs.settlemint.com/)
+ - Χαρακτηριστικά
+ - Δωρεάν δοκιμή
+ - Σταδιακή κλιμάκωση
+ - Υποστήριξη GraphQL
+ - Τελικά σημεία RPC και WSS
+ - Εξατομικευμένοι πλήρεις κόμβοι
+ - Δυνατότητα χρήσης του δικού σας cloud
+ - Εργαλεία ανάλυσης
+ - Πίνακας ελέγχου
+ - Τιμή χρέωσης ανά ώρα
+ - Άμεση υποστήριξη
+
+- [**Tenderly**](https://tenderly.co/web3-gateway)
+ - [Έγγραφα](https://docs.tenderly.co/web3-gateway/web3-gateway)
+ - Χαρακτηριστικά
+ - Δωρεάν βαθμίδα που περιλαμβάνει 25 εκατομμύρια Tenderly Units τον μήνα
+ - Δωρεάν πρόσβαση σε δεδομένα ιστορικού
+ - Έως και 8 φορές ταχύτεροι φόρτοι εργασίας για ανάγνωση
+ - 100% συνεπής πρόσβαση ανάγνωσης
+ - Τελικά σημεία JSON-RPC
+ - Εργαλείο δημιουργίας αιτημάτων RPC και προεπισκόπηση αιτήματος που βασίζεται σε διεπαφή χρήστη
+ - Στενά ενσωματωμένο με τα εργαλεία ανάπτυξης, εντοπισμού σφαλμάτων και δοκιμών του Tenderly
+ - Προσομοιώσεις συναλλαγών
+ - Αναλυτικά στοιχεία χρήσης και φιλτράρισμα
+ - Διαχείριση κλειδιών εύκολης πρόσβασης
+ - Εξειδικευμένη μηχανική υποστήριξη μέσω chat, email και Discord
+
+- [**Tokenview**](https://services.tokenview.io/)
+ - [Έγγραφα](https://services.tokenview.io/docs?type=nodeService)
+ - Χαρακτηριστικά
+ - Τεχνική υποστήριξη 24/7 & Κοινότητα Dev Telegram
+ - Υποστήριξη πολλαπλών αλυσίδων (Bitcoin, Ethereum, Tron, BNB Smart Chain, Ethereum Classic)
+ - Και τα δύο τελικά σημεία RPC και WSS είναι ανοιχτά για χρήση
+ - Απεριόριστη πρόσβαση σε API δεδομένων αρχείων
+ - Πίνακας εργαλείων με Request Explorer και Mempool Watcher
+ - API δεδομένων NFT και ειδοποίηση Webhook
+ - Πληρωμή σε κρύπτο.
+ - Εξωτερική υποστήριξη για επιπλέον απαιτήσεις συμπεριφοράς
+
+- [**Watchdata**](https://watchdata.io/)
+ - [Έγγραφα](https://docs.watchdata.io/)
+ - Χαρακτηριστικά
+ - Αξιοπιστία δεδομένων
+ - Αδιάλειπτη σύνδεση χωρίς διακοπή λειτουργίας
+ - Αυτόματη επεξεργασία
+ - Δωρεάν έξοδα
+ - Υψηλά όρια που ταιριάζουν σε οποιονδήποτε χρήστη
+ - Υποστήριξη για διάφορους κόμβους
+ - Κλιμάκωση πόρων
+ - Υψηλές ταχύτητες επεξεργασίας
+
+- [**ZMOK**](https://zmok.io/)
+ - [Έγγραφα](https://docs.zmok.io/)
+ - Χαρακτηριστικά
+ - Front-running ως υπηρεσία
+ - Παγκόσμια ομάδα συναλλαγών με μεθόδους αναζήτησης/φιλτραρίσματος
+ - Απεριόριστη χρέωση TX και άπειρο Gas για την αποστολή συναλλαγών
+ - Γρηγορότερη λήψη του νέου μπλοκ και ανάγνωση του blockchain
+ - Εγγύηση για την καλύτερη τιμή ανά κλήση API
+
+- [**Zeeve**](https://www.zeeve.io/)
+ - [Έγγραφα](https://www.zeeve.io/docs/)
+ - Χαρακτηριστικά
+ - Πλατφόρμα αυτοματισμού χωρίς κώδικα, για επιχειρήσεις, που παρέχει ανάπτυξη, παρακολούθηση και διαχείριση κόμβων και δικτύων Blockchain
+ - 30+ υποστηριζόμενα πρωτόκολλα & Ενσωματώσεις και προσθήκη περισσότερων
+ - Υπηρεσίες υποδομής web3 προστιθέμενης αξίας, όπως αποκεντρωμένη αποθήκευση, αποκεντρωμένη ταυτότητα και API δεδομένων Blockchain Ledger για περιπτώσεις χρήσης πραγματικού κόσμου
+ - Η υποστήριξη 24/7 και η προληπτική παρακολούθηση διασφαλίζουν την υγεία των κόμβων όλη την ώρα.
+ - Τα τελικά σημεία RPC προσφέρουν επαληθευμένη πρόσβαση σε API, απρόσκοπτη διαχείριση με διαισθητικό πίνακα εργαλείων και αναλυτικά στοιχεία.
+ - Παρέχει επιλογές διαχειριζόμενου cloud και «φέρτε το δικό σας» cloud για να διαλέξετε και υποστηρίζει όλους τους μεγάλους παρόχους cloud όπως AWS, Azure, Google Cloud, Digital Ocean και on-premise.
+ - Χρησιμοποιούμε έξυπνη δρομολόγηση για να χτυπάμε τον κόμβο που βρίσκεται πιο κοντά στον χρήστη σας κάθε φορά
+
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Λίστα υπηρεσιών κόμβων Ethereum](https://ethereumnodes.com/)
+
+## Σχετικά θέματα {#related-topics}
+
+- [ Κόμβοι και πελάτες](/developers/docs/nodes-and-clients/)
+
+## Σχετικοί οδηγοί {#related-tutorials}
+
+- [Ξεκινώντας με την ανάπτυξη του Ethereum χρησιμοποιώντας τo Alchemy](/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/)
+- [Οδηγός αποστολής συναλλαγών χρησιμοποιώντας web3 και Alchemy](/developers/tutorials/sending-transactions-using-web3-and-alchemy/)
diff --git a/public/content/translations/el/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/el/developers/docs/nodes-and-clients/run-a-node/index.md
new file mode 100644
index 00000000000..16d034479e9
--- /dev/null
+++ b/public/content/translations/el/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -0,0 +1,480 @@
+---
+title: Ξεκινήστε τον δικό σας κόμβο Ethereum
+description: Γενική εισαγωγή στην εκτέλεση του δικού σας λογισμικού πελάτη Ethereum.
+lang: el
+sidebarDepth: 2
+---
+
+Η εκτέλεση του δικού σας κόμβου σάς παρέχει διάφορα οφέλη, ανοίγει νέες δυνατότητες και βοηθά στην υποστήριξη του οικοσυστήματος. Αυτή η σελίδα θα σας καθοδηγήσει να δημιουργήσετε το δικό σας κόμβο και να λάβετε μέρος στην επικύρωση συναλλαγών Ethereum.
+
+Σημειώστε ότι μετά τη [Συγχώνευση](/roadmap/merge), απαιτούνται δύο πελάτες για την εκτέλεση ενός κόμβου Ethereum, έναν πελάτη **επιπέδου εκτέλεσης (EL)** και έναν πελάτη **επιπέδου συναίνεσης (CL)**. Αυτή η σελίδα θα δείξει πώς να εγκαταστήσετε, να ρυθμίσετε και να συνδέσετε αυτούς τους δύο πελάτες για να εκτελέσετε ένα κόμβο Ethereum.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να κατανοήσετε τι είναι ένας κόμβος Ethereum και γιατί μπορεί να θέλετε να εκτελέσετε έναν πελάτη. Αυτό καλύπτεται στο [Κόμβοι και πελάτες](/developers/docs/nodes-and-clients/).
+
+Εάν είστε νέοι στο θέμα της εκτέλεσης ενός κόμβου ή αναζητάτε μια λιγότερο τεχνική προσέγγιση, σας συνιστούμε να ελέγξετε πρώτα τη φιλική προς το χρήστη εισαγωγή μας σχετικά με την [εκτέλεση ενός κόμβου Ethereum](/run-a-node).
+
+## Επιλογή προσέγγισης {#choosing-approach}
+
+Το πρώτο βήμα για το ξεκίνημα του κόμβου σας, είναι η επιλογή του τρόπου προσέγγισής σας. Βάσει των απαιτήσεων και των διαφόρων δυνατοτήτων, πρέπει να επιλέξετε την υλοποίηση του πελάτη (τόσο για τον πελάτη εκτέλεσης όσο και για τον πελάτη συναίνεσης), το περιβάλλον του (υλικό, σύστημα) και τις παραμέτρους για τις ρυθμίσεις του πελάτη.
+
+Αυτή η σελίδα θα σας καθοδηγήσει σε αυτές τις αποφάσεις και θα σας βοηθήσει να βρείτε τον πιο κατάλληλο τρόπο για να εκτελέσετε το σύστημά σας Ethereum.
+
+Για να επιλέξετε μια από τις υλοποιήσεις πελατών, δείτε όλους τους διαθέσιμους [πελάτες εκτέλεσης](/developers/docs/nodes-and-clients/#execution-clients) έτοιμους για το Mainnet, τους [πελάτες συναίνεσης](/developers/docs/nodes-and-clients/#consensus-clients) και μάθετε για την [ποικιλομορφία των πελατών](/developers/docs/nodes-and-clients/client-diversity).
+
+Αποφασίστε εάν θα εκτελέσετε το λογισμικό στο δικό σας [σύστημα ή στο cloud](#local-vs-cloud), λαμβάνοντας υπόψη τις [απαιτήσεις](#requirements) των πελατών.
+
+Αφού προετοιμάσετε το περιβάλλον, εγκαταστήστε τους επιλεγμένους πελάτες είτε με [φιλική προς τον αρχάριο διεπαφή](#automatized-setup) είτε [χειροκίνητα](#manual-setup) χρησιμοποιώντας ένα τερματικό με προηγμένες επιλογές.
+
+Όταν ο κόμβος εκτελείται και συγχρονίζεται, είστε έτοιμοι να τον [χρησιμοποιήσετε](#using-the-node), αλλά φροντίστε να παρακολουθείτε τη [συντήρησή](#operating-the-node) του.
+
+
+
+### Περιβάλλον και υλικό {#environment-and-hardware}
+
+#### Τοπικό ή cloud {#local-vs-cloud}
+
+Οι πελάτες Ethereum μπορούν να εκτελεστούν σε κοινούς υπολογιστές και δεν απαιτούν ειδικό υλικό, όπως για παράδειγμα μηχανές κρυπτόρυξης. Επομένως, έχετε διάφορες επιλογές για την ανάπτυξη του κόμβου με βάση τις ανάγκες σας. Για απλοποίηση, ας σκεφτούμε την εκτέλεση ενός κόμβου τόσο σε ένα τοπικό φυσικό μηχάνημα όσο και σε έναν διακομιστή cloud:
+
+- Cloud
+ - Οι παροχείς προσφέρουν υψηλό χρόνο λειτουργίας διακομιστή και στατικές δημόσιες διευθύνσεις IP.
+ - Η απόκτηση ξεχωριστού ή εικονικού διακομιστή μπορεί να είναι πιο άνετη από την κατασκευή του δικού σας.
+ - Η ανταλλαγή είναι η εμπιστοσύνη σε ένα τρίτο μέρος, τον διακομιστή παρόχου.
+ - Λόγω του απαιτούμενου μεγέθους αποθήκευσης για έναν πλήρη κόμβο, η τιμή ενός ενοικιαζόμενου διακομιστή μπορεί να αυξηθεί.
+- Με δικά σας υλικά
+ - Πιο αποκεντρωμένη και ανεξάρτητη προσέγγιση.
+ - Επένδυση μίας φοράς.
+ - Μια επιλογή να αγοράσετε έτοιμα συστήματα.
+ - Πρέπει να τα προετοιμάσετε εσείς, να τα συντηρήσετε και ενδεχομένως να αντιμετωπίσετε προβλήματα με τη λειτουργία και τη δικτύωση.
+
+Και οι δύο επιλογές έχουν διαφορετικά πλεονεκτήματα που συνοψίζονται παραπάνω. Αν ψάχνετε για μια λύση cloud, εκτός από πολλούς παραδοσιακούς παρόχους «cloud computing», υπάρχουν επίσης υπηρεσίες που επικεντρώνονται στην ανάπτυξη κόμβων. Εξετάστε τους [κόμβους ως υπηρεσία](/developers/docs/nodes-and-clients/nodes-as-a-service/) για περισσότερες επιλογές σε φιλοξενούμενους κόμβους.
+
+#### Εξοπλισμός {#hardware}
+
+Ωστόσο, ένα δίκτυο ανθεκτικό στη λογοκρισία και αποκεντρωμένο, δεν πρέπει να βασίζεται σε παρόχους cloud. Αντίθετα, η εκτέλεση του κόμβου στο δικό σας τοπικό σύστημα, είναι πιο υγιές για το οικοσύστημα. [Εκτιμήσεις](https://www.ethernodes.org/networkType/Hosting) δείχνουν ένα μεγάλο μερίδιο των κόμβων που εκτελούνται στο cloud, θα μπορούσε να γίνουν ένα σημείο αποτυχίας.
+
+Οι πελάτες Ethereum μπορούν να εκτελεστούν στον υπολογιστή, το laptop, τον διακομιστή σας ή ακόμα και σε έναν μικρό υπολογιστή. Ενώ η εκτέλεση πελατών στον προσωπικό σας υπολογιστή είναι εφικτή, η ύπαρξη μιας αποκλειστικής μηχανής μόνο για τον κόμβο σας μπορεί να βελτιώσει σημαντικά την απόδοση και την ασφάλειά του, ενώ ελαχιστοποιεί τον αντίκτυπο στον κύριο υπολογιστή σας.
+
+Η χρήση του δικού σας υλικού μπορεί να είναι πολύ εύκολη. Υπάρχουν πολλές απλές επιλογές καθώς και προχωρημένες ρυθμίσεις για ποιο τεχνικούς. Ας εξετάσουμε λοιπόν τις απαιτήσεις και τα μέσα για την εκτέλεση των πελατών Ethereum στον υπολογιστή σας.
+
+#### Προϋποθέσεις {#requirements}
+
+Οι απαιτήσεις υλικού διαφέρουν ανάλογα με τον πελάτη, αλλά γενικά δεν είναι τόσο υψηλές καθώς ο κόμβος απλά πρέπει να παραμείνει συγχρονισμένος. Μην το συγχέετε με την κρυπτόρυξη, η οποία απαιτεί πολύ περισσότερη υπολογιστική ισχύ. Ωστόσο, ο χρόνος συγχρονισμού και η απόδοση βελτιώνονται με ισχυρότερο υλικό.
+
+Πριν εγκαταστήσετε οποιοδήποτε πελάτη, βεβαιωθείτε ότι ο υπολογιστής σας διαθέτει επαρκείς πόρους για να τον εκτελέσει. Μπορείτε να βρείτε τις ελάχιστες και προτεινόμενες απαιτήσεις παρακάτω.
+
+Το κύριο πρόβλημα για το υλικό σας είναι κυρίως ο χώρος στο δίσκο. Ο συγχρονισμός της κρυπτοαλυσίδας Ethereum είναι πολύ απαιτητικός σε εισαγωγή/εξαγωγή δεδομένων και απαιτεί πολύ χώρο. Είναι καλύτερο να έχετε ένα δίσκο **solid-state drive (SSD)** με εκατοντάδες GB ελεύθερου χώρου ακόμα και μετά τον συγχρονισμό.
+
+Το μέγεθος της βάσης δεδομένων και η ταχύτητα του αρχικού συγχρονισμού εξαρτώνται από τον επιλεγμένο πελάτη, τη διαμόρφωσή του και τη [στρατηγική συγχρονισμού](/developers/docs/nodes-and-clients/#sync-modes).
+
+Επίσης, βεβαιωθείτε ότι η σύνδεση στο internet σας δεν περιορίζεται από όριο [εύρους ζώνης](https://wikipedia.org/wiki/Data_cap). Συνιστάται να χρησιμοποιείτε μια σύνδεση χωρίς έλεγχο δεδομένων, καθώς ο αρχικός συγχρονισμός και τα δεδομένα που μεταδίδονται στο δίκτυο ενδέχεται να υπερβούν το όριο σας.
+
+##### Λειτουργικό σύστημα
+
+Όλοι οι πελάτες υποστηρίζουν τα μεγαλύτερα λειτουργικά συστήματα Linux, MacOS και Windows. Αυτό σημαίνει ότι μπορείτε να εκτελείτε κόμβους σε κανονικούς υπολογιστές ή μηχανήματα διακομιστή με το λειτουργικό σύστημα (OS) που σας ταιριάζει καλύτερα. Βεβαιωθείτε ότι το λειτουργικό σύστημά σας είναι ενημερωμένο, για να αποφύγετε πιθανά προβλήματα και ευπάθειες ασφαλείας.
+
+##### Ελάχιστες απαιτήσεις
+
+- Επεξεργαστής με 2+ πυρήνες
+- 8 GB RAM
+- 2TB SSD
+- Εύρος ζώνης 10+ MBit/s
+
+##### Προτεινόμενες προδιαγραφές
+
+- Γρήγορη CPU με 4+ πυρήνες
+- 16 GB+ RAM
+- Γρήγορο SSD με 2+TB
+- Εύρος ζώνης 25+ MBit/s
+
+Η λειτουργία συγχρονισμού και ο πελάτης που θα επιλέξετε θα επηρεάσουν τις απαιτήσεις μνήμης, αλλά έχουμε υπολογίσει το χώρο στο δίσκο που θα χρειαστείτε για κάθε πελάτη παρακάτω.
+
+| Πελάτης | Μέγ. δίσκου (συγχρ snap) | Μέγ. δίσκου (πλήρης) |
+| ---------- | ------------------------ | -------------------- |
+| Besu | 800GB+ | 12TB+ |
+| Erigon | N/A | 2.5TB+ |
+| Geth | 500GB+ | 12TB+ |
+| Nethermind | 500GB+ | 12TB+ |
+| Reth | N/A | 2.2TB+ |
+
+- Σημείωση: Τα Erigon και Reth δεν προσφέρουν snap sync, αλλά είναι δυνατή η πλήρης περικοπή (~2TB για το Erigon, ~1.2TB για το Reth).
+
+Για τους πελάτες συναίνεσης, η απαίτηση χώρου εξαρτάται επίσης από την υλοποίηση του πελάτη και τις ενεργοποιημένες λειτουργίες (π.χ. περικοπή επικυρωτή) αλλά γενικά υπολογίζεται άλλα 200GB που απαιτούνται για τα δεδομένα του beacon. Με ένα μεγάλο αριθμό επικυρωτών, το φορτίο εύρους ζώνης αυξάνεται επίσης. Μπορείτε να βρείτε [λεπτομέρειες σχετικά με τις απαιτήσεις του πελάτη συναίνεσης σε αυτήν την ανάλυση](https://mirror.xyz/0x934e6B4D7eee305F8C9C42b46D6EEA09CcFd5EDc/b69LBy8p5UhcGJqUAmT22dpvdkU-Pulg2inrhoS9Mbc).
+
+#### Λύσεις plug-and-play {#plug-and-play}
+
+Η πιο εύκολη επιλογή για τη λειτουργία ενός κόμβου με το δικό σας υλικό είναι η χρήση κουτιών plug-and-play. Οι προκαθορισμένες μηχανές από τους προμηθευτές προσφέρουν την πιο απλή εμπειρία: παραγγελία, σύνδεση, εκτέλεση. Όλα είναι προκαθορισμένα και εκτελούνται αυτόματα με έναν εύκολο οδηγό και πίνακα ελέγχου για την παρακολούθηση και τον έλεγχο του λογισμικού.
+
+- [DappNode](https://dappnode.io/)
+- [Avado](https://ava.do/)
+
+#### Ethereum σε έναν απλό υπολογιστή {#ethereum-on-a-single-board-computer}
+
+Ένας εύκολος και φθηνός τρόπος για να εκτελέσετε έναν κόμβο Ethereum είναι να χρησιμοποιήσετε έναν απλό υπολογιστή, ακόμα και με αρχιτεκτονική ARM όπως το Raspberry Pi. Το [Ethereum σε ARM](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/) παρέχει εύκολες στην εκτέλεση εικόνες πολλαπλών πελατών εκτέλεσης και συναίνεσης για Raspberry Pi και άλλες πλακέτες ARM.
+
+Μικρές, φθηνές και αποτελεσματικές συσκευές ιδανικές για τη λειτουργία ενός κόμβου στο σπίτι, αλλά να έχετε κατά νου την περιορισμένη απόδοσή τους.
+
+## Ξεκίνημα του κόμβου {#spinning-up-node}
+
+Η πραγματική εγκατάσταση του λογισμικού πελάτη μπορεί να γίνει είτε με αυτόματους τρόπους είτε χειροκίνητα, ρυθμίζοντας απευθείας το λογισμικό του πελάτη.
+
+Για τους λιγότερο προχωρημένους χρήστες, η συνιστώμενη προσέγγιση είναι να χρησιμοποιήσετε έναν βοηθό εγκατάστασης, το λογισμικό που σας καθοδηγεί κατά την εγκατάσταση και αυτοματοποιεί τη διαδικασία ρύθμισης του πελάτη. Ωστόσο, εάν έχετε κάποια εμπειρία στη χρήση τερματικού, τα βήματα για χειροκίνητη εγκατάσταση, θα πρέπει να είναι εύκολα προς υλοποίηση.
+
+### Καθοδηγούμενη εγκατάσταση {#automatized-setup}
+
+Πολλά έργα φιλικά προς τον χρήστη, στοχεύουν να βελτιώσουν την εμπειρίας ρύθμισης ενός πελάτη. Αυτοί οι βοηθοί παρέχουν αυτόματη εγκατάσταση και ρύθμιση πελάτη, με ορισμένους να προσφέρουν ακόμη και γραφική διεπαφή για καθοδηγούμενη εγκατάσταση και παρακολούθηση πελατών.
+
+Παρακάτω είναι μερικά έργα που μπορούν να σας βοηθήσουν να εγκαταστήσετε και να ελέγξετε πελάτες μόνο με μερικά κλικ:
+
+- [DappNode](https://docs.dappnode.io/docs/user/getting-started/choose-your-path) - Το DappNode δεν έρχεται μόνο με μια μηχανή από έναν προμηθευτή. Το λογισμικό, ο πραγματικός βοηθός εκκίνησης κόμβου και το κέντρο ελέγχου με πολλές λειτουργίες μπορούν να χρησιμοποιηθούν σε γενικό υλικό.
+- [eth-docker](https://eth-docker.net/) - Αυτόματη εγκατάσταση χρησιμοποιώντας Docker επικεντρωμένη στην εύκολη και ασφαλή συμμετοχή, απαιτεί βασικές γνώσεις τερματικού και Docker, συνιστάται για λίγο πιο προχωρημένους χρήστες.
+- [Stereum](https://stereum.net/ethereum-node-setup/) - Εκκινητής εγκατάστασης για την εγκατάσταση πελατών σε απομακρυσμένο διακομιστή μέσω σύνδεσης SSH με οδηγό ρύθμισης GUI, κέντρο ελέγχου και πολλές άλλες λειτουργίες.
+- [NiceNode](https://www.nicenode.xyz/) - Εκκινητής εγκατάστασης με απλή εμπειρία χρήστη για να εκτελέσετε έναν κόμβο στον υπολογιστή σας. Απλώς επιλέξτε τους πελάτες και ξεκινήστε τους με μερικά κλικ. Υπό ανάπτυξη.
+- [Sedge](https://docs.sedge.nethermind.io/docs/intro) - Εργαλείο ρύθμισης κόμβου που δημιουργεί αυτόματα μια διαμόρφωση Docker χρησιμοποιώντας οδηγό CLI. Γραμμένο σε Go από το Nethermind.
+
+### Χειροκίνητη εγκατάσταση πελάτη {#manual-setup}
+
+Η άλλη επιλογή είναι να κατεβάσετε, να επαληθεύσετε και να ρυθμίσετε το λογισμικό του πελάτη χειροκίνητα. Ακόμα και αν ορισμένοι πελάτες προσφέρουν γραφική διεπαφή, μια χειροκίνητη εγκατάσταση απαιτεί ακόμα βασικές δεξιότητες με το τερματικό αλλά προσφέρει πολύ μεγαλύτερη ευελιξία.
+
+Όπως εξηγήθηκε προηγουμένως, η δημιουργία του δικού σας κόμβου Ethereum θα απαιτήσει την εκτέλεση ενός ζεύγους πελατών συναίνεσης και εκτέλεσης. Μερικοί πελάτες ενδέχεται να περιλαμβάνουν έναν ελαφρύ πελάτη άλλου είδους και να συγχρονίζονται χωρίς να απαιτείται άλλο λογισμικό. Ωστόσο, η πλήρης χωρίς εμπιστοσύνη επαλήθευση απαιτεί και τις δύο υλοποιήσεις.
+
+#### Λήψη του λογισμικού πελάτη {#getting-the-client}
+
+Πρώτον, πρέπει να αποκτήσετε το προτιμώμενο λογισμικό [πελάτη εκτέλεσης](/developers/docs/nodes-and-clients/#execution-clients) και [πελάτη συναίνεσης](/developers/docs/nodes-and-clients/#consensus-clients).
+
+Μπορείτε απλώς να κατεβάσετε μια εφαρμογή εκτελέσιμου αρχείου ή πακέτο εγκατάστασης που ταιριάζει στο λειτουργικό σας σύστημα και την αρχιτεκτονική σας. Επιβεβαιώστε πάντα τις υπογραφές και τους ελέγχους ακεραιότητας των ληφθέντων πακέτων. Ορισμένοι πελάτες προσφέρουν επίσης αποθετήρια ή εικόνες Docker για ευκολότερη εγκατάσταση και ενημερώσεις. Όλοι οι πελάτες είναι ανοιχτού κώδικα, επομένως μπορείτε επίσης να τους δημιουργήσετε από την πηγή. Αυτή είναι μια πιο προηγμένη μέθοδος, αλλά σε ορισμένες περιπτώσεις μπορεί να απαιτείται.
+
+Οι οδηγίες για την εγκατάσταση κάθε πελάτη παρέχονται στην τεκμηρίωση που συνδέεται στις παραπάνω λίστες πελατών.
+
+Ακολουθούν οι σελίδες κυκλοφορίας λογισμικών πελάτη όπου μπορείτε να βρείτε τα προκατασκευασμένα αρχεία τους ή οδηγίες εγκατάστασης:
+
+##### Προγράμματα εκτέλεσης
+
+- [Besu](https://github.com/hyperledger/besu/releases)
+- [Erigon](https://github.com/ledgerwatch/erigon/releases)
+- [Geth](https://geth.ethereum.org/downloads/)
+- [Nethermind](https://downloads.nethermind.io/)
+- [Reth](https://reth.rs/installation/installation.html)
+
+Είναι επίσης αξιοσημείωτο ότι η ποικιλομορφία των πελατών είναι ένα [ζήτημα στο επίπεδο εκτέλεσης](/developers/docs/nodes-and-clients/client-diversity/#execution-layer). Συνιστάται στους αναγνώστες να εξετάσουν την εκτέλεση ενός μειοψηφικού πελάτη εκτέλεσης.
+
+##### Προγράμματα συναίνεσης
+
+- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest)
+- [Lodestar](https://chainsafe.github.io/lodestar/install/source/) (Δεν παρέχει ένα προκατασκευασμένο δυαδικό αρχείο, μόνο μια εικόνα Docker ή να κατασκευαστεί από την πηγή)
+- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest)
+- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest)
+- [Teku](https://github.com/ConsenSys/teku/releases)
+
+Η [ποικιλομορφία πελάτη](/developers/docs/nodes-and-clients/client-diversity/) είναι κρίσιμη για τους κόμβους συναίνεσης που εκτελούν επικυρωτές. Εάν η πλειοψηφία των επικυρωτών εκτελεί μια απλή υλοποίηση πελάτη, η ασφάλεια του δικτύου διατρέχει κίνδυνο. Συνεπώς, συνιστάται να εξεταστεί η επιλογή ενός πελάτη με λιγότερες εγκαταστάσεις.
+
+[Δείτε τη νεότερη χρήση πελατών δικτύου](https://clientdiversity.org/) και μάθετε περισσότερα για την [ποικιλομορφία των πελατών](/developers/docs/nodes-and-clients/client-diversity).
+
+##### Επαλήθευση λογισμικού
+
+Κατά τη λήψη λογισμικού από το διαδίκτυο, συνιστάται να επαληθεύετε την ακεραιότητά του. Αυτό το βήμα είναι προαιρετικό, αλλά ειδικά με ένα κρίσιμο κομμάτι υποδομής όπως ο πελάτης Ethereum, είναι σημαντικό να γνωρίζετε πιθανούς φορείς επίθεσης και να τους αποφεύγετε. Εάν κατεβάσατε ένα προκατασκευασμένο δυαδικό αρχείο, πρέπει να το εμπιστευτείτε και να διακινδυνεύσετε ότι ένας επιτιθέμενος θα μπορούσε να αντικαταστήσει το εκτελέσιμο αρχείο με ένα κακόβουλο.
+
+Οι προγραμματιστές υπογράφουν τα δυαδικά αρχεία που κυκλοφορούν με τα PGP κλειδιά τους, ώστε να μπορείτε να επαληθεύσετε κρυπτογραφικά ότι, εκτελείτε ακριβώς το λογισμικό που δημιούργησαν. Απλώς πρέπει να αποκτήσετε τα δημόσια κλειδιά που χρησιμοποιούνται από τους προγραμματιστές, τα οποία μπορούν να βρεθούν στις σελίδες κυκλοφορίας πελατών ή στην τεκμηρίωση. Μετά τη λήψη της κυκλοφορίας του πελάτη και της υπογραφής του, μπορείτε να χρησιμοποιήσετε μια υλοποίηση PGP, π.χ. [GnuPG](https://gnupg.org/download/index.html) για να τα επαληθεύσετε εύκολα. Ελέγξτε ένα σεμινάριο σχετικά με την επαλήθευση λογισμικού ανοιχτού κώδικα, χρησιμοποιώντας `gpg` σε [linux](https://www.tecmint.com/verify-pgp-signature-downloaded-software/) ή [Windows/MacOS](https://freedom.press/training/verifying-open-source-software/).
+
+Μια άλλη μορφή επαλήθευσης είναι να βεβαιωθείτε ότι το hash, ένα μοναδικό κρυπτογραφημένο αποτύπωμα, του λογισμικού που κατεβάσατε ταιριάζει με αυτό που παρέχουν οι προγραμματιστές. Αυτό είναι ακόμα πιο εύκολο από τη χρήση PGP και ορισμένοι πελάτες προσφέρουν μόνο αυτήν την επιλογή. Απλώς εκτελέστε τη συνάρτηση hash στο κατεβασμένο λογισμικό και συγκρίνετέ τη με αυτή από τη σελίδα κυκλοφορίας. Για παράδειγμα:
+
+```sh
+sha256sum teku-22.6.1.tar.gz
+
+9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
+```
+
+#### Εγκατάσταση εφαρμογής πελάτη {#client-setup}
+
+Μετά την εγκατάσταση, τη λήψη ή τη μεταγλώττιση του λογισμικού πελάτη, είστε έτοιμοι να το εκτελέσετε. Αυτό σημαίνει μόνο ότι πρέπει να εκτελεστεί με τη σωστή διαμόρφωση. Οι πελάτες προσφέρουν πλούσιες επιλογές διαμόρφωσης, οι οποίες μπορούν να ενεργοποιήσουν διάφορες λειτουργίες.
+
+Ας ξεκινήσουμε με επιλογές που μπορούν να επηρεάσουν σημαντικά την απόδοση του πελάτη και τη χρήση δεδομένων. Οι [τρόποι συγχρονισμού](/developers/docs/nodes-and-clients/#sync-modes) αντιπροσωπεύουν διαφορετικές μεθόδους λήψης και επαλήθευσης δεδομένων της κρυπτοαλυσίδας. Πριν ξεκινήσετε τον κόμβο, θα πρέπει να αποφασίσετε ποιο δίκτυο και μέθοδο συγχρονισμού θα χρησιμοποιήσετε. Τα πιο σημαντικά πράγματα που πρέπει να λάβετε υπόψη είναι ο χώρος στο δίσκο και ο χρόνος συγχρονισμού που θα χρειαστεί ο πελάτης. Δώστε προσοχή στα έγγραφα του πελάτη για να προσδιορίσετε ποια λειτουργία συγχρονισμού είναι η προεπιλεγμένη. Εάν αυτό δε σας ταιριάζει, επιλέξτε ένα άλλο με βάση το επίπεδο ασφάλειας, τα διαθέσιμα δεδομένα και το κόστος. Εκτός από τον αλγόριθμο συγχρονισμού, μπορείτε επίσης να ορίσετε την περικοπή διαφορετικών τύπων παλαιών δεδομένων. Η περικοπή επιτρέπει τη διαγραφή παρωχημένων δεδομένων, π.χ. την κατάργηση κόμβων τύπου κατάστασης που είναι απρόσιτοι από πρόσφατα μπλοκ.
+
+Άλλες βασικές επιλογές διαμόρφωσης είναι, π.χ. η επιλογή ενός δικτύου - Mainnet ή testnets, η ενεργοποίηση του τελικού σημείου HTTP για RPC ή WebSockets, κ.λπ. Μπορείτε να βρείτε όλες τις λειτουργίες και τις επιλογές στην τεκμηρίωση του πελάτη. Διάφορες διαμορφώσεις πελατών μπορούν να οριστούν εκτελώντας τον πελάτη με τις αντίστοιχες σημάνσεις απευθείας στη γραμμή εντολών ή στο αρχείο διαμόρφωσης. Κάθε πελάτης είναι λίγο διαφορετικός, ανατρέξτε πάντα στην επίσημη τεκμηρίωση ή στη σελίδα βοήθειας για λεπτομέρειες σχετικά με τις επιλογές διαμόρφωσης.
+
+Για σκοπούς δοκιμής, μπορεί να προτιμάτε να εκτελέσετε έναν πελάτη σε ένα από τα δίκτυα δοκιμών. [Δείτε μια επισκόπηση των υποστηριζόμενων δικτύων](/developers/docs/nodes-and-clients/#execution-clients).
+
+Παραδείγματα εκτέλεσης πελατών εκτέλεσης με βασική διαμόρφωση μπορούν να βρεθούν στην επόμενη ενότητα.
+
+#### Εκκίνηση του πελάτη εκτέλεσης {#starting-the-execution-client}
+
+Πριν ξεκινήσετε το λογισμικό πελάτη Ethereum, εκτελέστε έναν τελευταίο έλεγχο ότι το περιβάλλον σας είναι έτοιμο. Για παράδειγμα, βεβαιωθείτε ότι:
+
+- Υπάρχει αρκετός διαθέσιμος χώρος στο δίσκο λαμβάνοντας υπόψη το επιλεγμένο δίκτυο και τη λειτουργία συγχρονισμού.
+- Η μνήμη και η CPU δε διακόπτονται από άλλα προγράμματα.
+- Το λειτουργικό σύστημα είναι στην πιο πρόσφατη έκδοση.
+- Το σύστημα έχει τη σωστή ώρα και ημερομηνία.
+- Ο δρομολογητής και το τείχος προστασίας επιτρέπουν συνδέσεις σε θύρες ακρόασης. Από προεπιλογή, οι πελάτες Ethereum χρησιμοποιούν μια θύρα ακρόασης (TCP) και μια θύρα επικοινωνίας (UDP) και οι δύο στην 30303 από προεπιλογή.
+
+Εκτελέστε πρώτα τον πελάτη σας σε ένα δίκτυο δοκιμών για να βεβαιωθείτε ότι όλα λειτουργούν σωστά.
+
+Πρέπει να δηλώσετε τυχόν ρυθμίσεις πελάτη που δεν είναι προεπιλεγμένες στην αρχή. Μπορείτε να χρησιμοποιήσετε σημάνσεις ή το αρχείο διαμόρφωσης για να δηλώσετε τη διαμόρφωση που προτιμάτε. Το σύνολο χαρακτηριστικών και η σύνταξη παραμέτρων για κάθε πελάτη διαφέρει. Ελέγξτε την τεκμηρίωση του πελάτη σας για τις λεπτομέρειες.
+
+Οι πελάτες εκτέλεσης και συναίνεσης επικοινωνούν μέσω ενός επαληθευμένου τερματικού σημείου που καθορίζεται στο [Engine API](https://github.com/ethereum/execution-apis/tree/main/src/engine). Για να συνδεθεί με έναν πελάτη συναίνεσης, ο πελάτης εκτέλεσης πρέπει να δημιουργήσει ένα [`jwtsecret`](https://jwt.io/) σε μια γνωστή διαδρομή. Για λόγους ασφάλειας και σταθερότητας, οι πελάτες θα πρέπει να εκτελούνται στον ίδιο υπολογιστή και οι δύο πελάτες πρέπει να γνωρίζουν αυτήν τη διαδρομή καθώς χρησιμοποιείται για τον έλεγχο ταυτότητας μιας τοπικής σύνδεσης RPC μεταξύ τους. Ο πελάτης εκτέλεσης πρέπει επίσης να ορίσει μια θύρα ακρόασης για πιστοποιημένα API.
+
+Αυτό το κρυπτονόμισμα δημιουργείται αυτόματα από το λογισμικό πελάτη, αλλά σε ορισμένες περιπτώσεις, ίσως χρειαστεί να το κάνετε μόνοι σας. Μπορείτε να το δημιουργήσετε χρησιμοποιώντας το [OpenSSL](https://www.openssl.org/):
+
+```sh
+openssl rand -hex 32 > jwtsecret
+```
+
+#### Εκτέλεση ενός πελάτη εκτέλεσης {#running-an-execution-client}
+
+Αυτή η ενότητα θα σας καθοδηγήσει στην εκκίνηση των πελατών εκτέλεσης. Χρησιμεύει μόνο ως παράδειγμα μιας βασικής διαμόρφωσης, η οποία θα ξεκινήσει τον πελάτη με αυτές τις ρυθμίσεις:
+
+- Καθορίζει το δίκτυο στο οποίο θα συνδεθείτε, το Mainnet στα παραδείγματά μας
+ - Μπορείτε να επιλέξετε [ένα από τα δίκτυα δοκιμών](/developers/docs/networks/) για αρχικό έλεγχο της εγκατάστασής σας
+- Καθορίζει τον κατάλογο δεδομένων, όπου θα αποθηκεύονται όλα τα δεδομένα, συμπεριλαμβανομένης του blockchain
+ - Φροντίστε να αντικαταστήσετε τη διαδρομή με μια πραγματική π.χ. δείχνοντας την εξωτερική σας μονάδα δίσκου
+- Ενεργοποιεί τις διεπαφές για την επικοινωνία με τον πελάτη
+ - Συμπεριλαμβάνει το JSON-RPC και Engine API για επικοινωνία με πελάτη συναίνεσης
+- Καθορίζει τη διαδρομή προς `jwtsecret` για πιστοποιημένο API
+ - Βεβαιωθείτε ότι έχετε αντικαταστήσει τη διαδρομή του παραδείγματος με μια πραγματική, στην οποία μπορούν να έχουν πρόσβαση οι πελάτες, π.χ. `/tmp/jwtsecret`
+
+Παρακαλούμε λάβετε υπόψη ότι, αυτό είναι απλώς ένα βασικό παράδειγμα καθώς όλες οι άλλες ρυθμίσεις θα οριστούν από προεπιλογή. Προσέξτε την τεκμηρίωση κάθε πελάτη για να μάθετε για τις προεπιλεγμένες τιμές, τις ρυθμίσεις και τις δυνατότητες. Για περισσότερες δυνατότητες, για παράδειγμα για εκτέλεση επικυρωτών, παρακολούθηση κ.λπ., ανατρέξτε στην τεκμηρίωση του συγκεκριμένου πελάτη.
+
+> Σημειώστε ότι οι αντίστροφες κάθετες `\` στα παραδείγματα είναι μόνο για λόγους μορφοποίησης, οι σημάνσεις διαμόρφωσης μπορούν να οριστούν σε μία γραμμή.
+
+##### Εκτέλεση Besu
+
+Αυτό το παράδειγμα ξεκινά το Besu στο Mainnet, αποθηκεύει δεδομένα αλυσίδας μπλοκ σε προεπιλεγμένη μορφή στο `/data/ethereum`, ενεργοποιεί το JSON-RPC και τη μηχανή RPC για σύνδεση πελάτη συναίνεσης. Η μηχανή API ελέγχεται με το διακριτικό `jwtsecret` και επιτρέπονται μόνο κλήσεις από το `localhost`.
+
+```sh
+besu --network=mainnet \
+ --data-path=/data/ethereum \
+ --rpc-http-enabled=true \
+ --engine-rpc-enabled=true \
+ --engine-host-allowlist="*" \
+ --engine-jwt-enabled=true \
+ --engine-jwt-secret=/path/to/jwtsecret
+```
+
+Το Besu διαθέτει επίσης μια επιλογή βοηθού εκκίνησης που θα σας κάνει μια σειρά ερωτήσεων και θα δημιουργήσει το αρχείο διαμόρφωσης. Εκτελέστε τον διαδραστικό βοηθό εκκίνησης χρησιμοποιώντας:
+
+```sh
+besu --Xlauncher
+```
+
+Η [τεκμηρίωση του Besu](https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Starting-node/) περιέχει πρόσθετες επιλογές και λεπτομέρειες διαμόρφωσης.
+
+##### Εκτέλεση Erigon
+
+Αυτό το παράδειγμα ξεκινά το Erigon στο Mainnet, αποθηκεύει δεδομένα αλυσίδας μπλοκ στο `/data/ethereum`, ενεργοποιεί το JSON-RPC, ορίζει ποιοι χώροι ονομάτων επιτρέπονται και ενεργοποιεί την έλεγχο ταυτότητας για τη σύνδεση του πελάτη συναίνεσης, που ορίζεται από τη διαδρομή `jwtsecret`.
+
+```sh
+erigon --chain mainnet \
+ --datadir /data/ethereum \
+ --http --http.api=engine,eth,web3,net \
+ --authrpc.jwtsecret=/path/to/jwtsecret
+```
+
+Το Erigon από προεπιλογή εκτελεί πλήρη συγχρονισμό με 8GB HDD, το οποίο θα έχει ως αποτέλεσμα περισσότερα από 2TB αρχείου δεδομένων. Βεβαιωθείτε ότι το `datadir` παραπέμπει στο δίσκο με αρκετό ελεύθερο χώρο ή εξετάστε τη σήμανση `--prune` που μπορεί να περικόψει διαφορετικούς τύπους δεδομένων. Ελέγξτε το `--help` του Erigon για να μάθετε περισσότερα.
+
+##### Εκτέλεση Geth
+
+Αυτό το παράδειγμα ξεκινά το Geth στο Mainnet, αποθηκεύει δεδομένα αλυσίδας μπλοκ στο `/data/ethereum`, ενεργοποιεί το JSON-RPC και ορίζει ποιοι χώροι ονομάτων επιτρέπονται. Επίσης, ενεργοποιεί τον έλεγχο ταυτότητας για τη σύνδεση του πελάτη συναίνεσης, απαιτεί διαδρομή προς το `jwtsecret` και επίσης ορίζει ποιες συνδέσεις επιτρέπονται, για το παράδειγμά μας μόνο από το `localhost`.
+
+```sh
+geth --mainnet \
+ --datadir "/data/ethereum" \
+ --http --authrpc.addr localhost \
+ --authrpc.vhosts="localhost" \
+ --authrpc.port 8551
+ --authrpc.jwtsecret=/path/to/jwtsecret
+```
+
+Ελέγξτε τα [έγγραφα για όλες τις επιλογές διαμόρφωσης](https://geth.ethereum.org/docs/fundamentals/command-line-options) και μάθετε περισσότερα για την [εκτέλεση του Geth με έναν πελάτη συναίνεσης](https://geth.ethereum.org/docs/getting-started/consensus-clients).
+
+##### Εκτέλεση Nethermind
+
+Το Nethermind προσφέρει διάφορες [επιλογές εγκατάστασης](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started). Το πακέτο έρχεται με διάφορα δυαδικά αρχεία, συμπεριλαμβανομένου ενός βοηθού εκκίνησης με καθοδηγούμενη εγκατάσταση, που θα σας βοηθήσει να δημιουργήσετε τη διαμόρφωση διαδραστικά. Εναλλακτικά, μπορείτε να βρείτε το Runner που είναι το ίδιο το εκτελέσιμο και μπορείτε απλώς να το εκτελέσετε με σήμανση διαμόρφωσης. Το JSON-RPC είναι ενεργοποιημένο από προεπιλογή. Το JSON-RPC είναι ενεργοποιημένο από προεπιλογή.
+
+```sh
+Nethermind.Runner --config mainnet \
+ --datadir /data/ethereum \
+ --JsonRpc.JwtSecretFile=/path/to/jwtsecret
+```
+
+Τα έγγραφα του Nethermind προσφέρουν έναν [πλήρη οδηγό](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/running-nethermind-post-merge) για την εκτέλεση του Nethermind με πελάτη συναίνεσης.
+
+Ένας πελάτης εκτέλεσης θα ξεκινήσει τις βασικές του λειτουργίες, τα επιλεγμένα τελικά σημεία και θα αρχίσει να αναζητά παρόμοιους χρήστες. Αφού ανακαλύψει με επιτυχία ομότιμους, ο πελάτης ξεκινά τον συγχρονισμό. Ο πελάτης εκτέλεσης θα αναμένει μια σύνδεση από τον πελάτη συναίνεσης. Τα τρέχοντα δεδομένα της αλυσίδας μπλοκ θα είναι διαθέσιμα μόλις ο πελάτης συγχρονιστεί με επιτυχία στην τρέχουσα κατάσταση.
+
+##### Εκτέλεση Reth
+
+Αυτό το παράδειγμα ξεκινά το Reth στο Mainnet, χρησιμοποιώντας την προεπιλεγμένη τοποθεσία δεδομένων. Ενεργοποιεί την έλεγχο ταυτότητας JSON-RPC και Engine RPC για τη σύνδεση του πελάτη συναίνεσης, ο οποίος ορίζεται από τη διαδρομή `jwtsecret`, με μόνο κλήσεις από το `localhost` να επιτρέπονται.
+
+```sh
+reth node \
+ --authrpc.jwtsecret /path/to/jwtsecret \
+ --authrpc.addr 127.0.0.1 \
+ --authrpc.port 8551
+```
+
+Δείτε την ενότητα [Ρυθμίζοντας το Reth](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth) για να μάθετε περισσότερα για τους προεπιλεγμένους καταλόγους δεδομένων. Η [τεκμηρίωση του Reth](https://reth.rs/run/mainnet.html) περιέχει πρόσθετες επιλογές και λεπτομέρειες ρύθμισης των παραμέτρων.
+
+#### Εκκίνηση του πελάτη συναίνεσης {#starting-the-consensus-client}
+
+Ο πελάτης συναίνεσης πρέπει να ξεκινήσει με τη σωστή ρύθμιση θύρας για να δημιουργήσει μια τοπική σύνδεση RPC στον πελάτη εκτέλεσης. Οι πελάτες συναίνεσης, πρέπει να εκτελούνται με τη θύρα του εκτελούμενου πελάτη που εκτίθεται, ως όρισμα ρύθμισης παραμέτρων.
+
+Ο πελάτης συναίνεσης χρειάζεται επίσης τη διαδρομή προς το `jwt-secret` του πελάτη εκτέλεσης, για να επαληθεύσει τη σύνδεση RPC μεταξύ τους. Παρόμοια με τα παραδείγματα εκτέλεσης παραπάνω, κάθε πελάτης συναίνεσης έχει μια σήμανση ρύθμισης παραμέτρων που παίρνει τη διαδρομή του αρχείου token jwt ως όρισμα. Αυτό πρέπει να είναι συνεπές με τη διαδρομή `jwtsecret` που παρέχεται στον πελάτη εκτέλεσης.
+
+Εάν σχεδιάζετε να εκτελέσετε έναν επικυρωτή, βεβαιωθείτε ότι προσθέτετε μια σημαία ρύθμισης παραμέτρων που καθορίζει τη διεύθυνση Ethereum του παραλήπτη αμοιβών. Εδώ συγκεντρώνονται οι ανταμοιβές ether για τον επικυρωτή σας. Κάθε πελάτης συναίνεσης έχει μια επιλογή, π.χ. `--suggested-fee-recipient=0xabcd1`, που παίρνει μια διεύθυνση Ethereum ως όρισμα.
+
+Όταν ξεκινάτε έναν κόμβο Beacon σε ένα δίκτυο δοκιμών, μπορείτε να εξοικονομήσετε σημαντικό χρόνο συγχρονισμού χρησιμοποιώντας ένα δημόσιο [τελικό σημείο για συγχρονισμό](https://notes.ethereum.org/@launchpad/checkpoint-sync).
+
+#### Εκτέλεση πελάτη συναίνεσης {#running-a-consensus-client}
+
+##### Εκτέλεση Lighthouse
+
+Πριν εκτελέσετε το Lighthouse, μάθετε περισσότερα για το πώς να το εγκαταστήσετε και να το ρυθμίσετε στο [Lighthouse Book](https://lighthouse-book.sigmaprime.io/installation.html).
+
+```sh
+lighthouse beacon_node \
+ --network mainnet \
+ --datadir /data/ethereum \
+ --http \
+ --execution-endpoint http://127.0.0.1:8551 \
+ --execution-jwt /path/to/jwtsecret
+```
+
+##### Εκτέλεση Lodestar
+
+Εγκαταστήστε το λογισμικό Lodestar μεταγλωτίζοντάς το ή κατεβάζοντας την εικόνα Docker. Μάθετε περισσότερα στο [αρχείο](https://chainsafe.github.io/lodestar/) για έναν πιο ολοκληρωμένο [οδηγό εγκατάστασης](https://hackmd.io/@philknows/rk5cDvKmK).
+
+```sh
+lodestar beacon \
+ --rootDir="/data/ethereum" \
+ --network=mainnet \
+ --eth1.enabled=true \
+ --execution.urls="http://127.0.0.1:8551" \
+ --jwt-secret="/path/to/jwtsecret"
+```
+
+##### Εκτέλεση Nimbus
+
+Το Nimbus έρχεται τόσο με πελάτη συναίνεσης όσο και με πελάτη εκτέλεσης. Μπορεί να εκτελεστεί σε διάφορες συσκευές ακόμα και με πολύ μέτρια υπολογιστική ισχύ. Μετά την [εγκατάσταση των εξαρτήσεων και του ίδιου του Nimbus](https://nimbus.guide/quick-start.html), μπορείτε να εκτελέσετε τον πελάτη συναίνεσης του:
+
+```sh
+nimbus_beacon_node \
+ --network=mainnet \
+ --web3-url=http://127.0.0.1:8551 \
+ --rest \
+ --jwt-secret="/path/to/jwtsecret"
+```
+
+##### Εκτέλεση Prysm
+
+Το Prysm διαθέτει σενάριο που επιτρέπει την εύκολη αυτόματη εγκατάσταση. Λεπτομέρειες μπορείτε να βρείτε στο αρχείο του [Prysm docs](https://docs.prylabs.network/docs/install/install-with-script).
+
+```sh
+./prysm.sh beacon-chain \
+ --mainnet \
+ --datadir /data/ethereum \
+ --execution-endpoint=http://localhost:8551 \
+ --jwt-secret=/path/to/jwtsecret
+```
+
+##### Εκτέλεση Teku
+
+```sh
+teku --network mainnet \
+ --data-path "/data/ethereum" \
+ --ee-endpoint http://localhost:8551 \
+ --ee-jwt-secret-file "/path/to/jwtsecret"
+```
+
+Όταν ένας πελάτης συναίνεσης συνδεθεί στον πελάτη εκτέλεσης για να διαβάσει το συμβόλαιο κατάθεσης και να αναγνωρίσει τους επικυρωτές, συνδέεται επίσης με άλλους ομότιμους κόμβους Beacon και ξεκινά τον συγχρονισμό των θέσεων συναίνεσης από τη γένεση. Μόλις ο κόμβος Beacon φτάσει στην τρέχουσα εποχή, το Beacon API γίνεται διαθέσιμο για τους επικυρωτές σας. Μάθετε περισσότερα για τα [Beacon Node API](https://eth2docs.vercel.app/).
+
+### Προσθήκη επικυρωτών {#adding-validators}
+
+Ένας πελάτης συναίνεσης λειτουργεί ως κόμβος Beacon για τη σύνδεση των επικυρωτών. Κάθε πελάτης συναίνεσης διαθέτει το δικό του λογισμικό επικύρωσης, το οποίο περιγράφεται λεπτομερώς στην αντίστοιχη τεκμηρίωση του.
+
+Η εκτέλεση του δικού σας επικυρωτή επιτρέπει την [ιδιωτική αποθήκευση κεφαλαίου](/staking/solo/), την πιο πρόσφορη και αξιόπιστη μέθοδο για την υποστήριξη του δικτύου Ethereum. Ωστόσο, αυτό απαιτεί την κατάθεση 32 ETH. Για να εκτελέσετε έναν επικυρωτή στον δικό σας κόμβο με μικρότερο ποσό, ίσως σας ενδιαφέρει μια αποκεντρωμένη ομάδα με διαχειριστές κόμβων χωρίς ανάγκη αδειοδότησης, όπως η [Rocket Pool](https://rocketpool.net/node-operators).
+
+Ο ευκολότερος τρόπος για να ξεκινήσετε με την αποθήκευση κεφαλαίου και τη δημιουργία κλειδιού επικυρωτή, είναι να χρησιμοποιήσετε το [Holesky Testnet Staking Launchpad](https://holesky.launchpad.ethereum.org/), το οποίο σας επιτρέπει να ελέγξετε τη ρύθμισή σας [εκτελώντας κόμβους στο Holesky](https://notes.ethereum.org/@launchpad/holesky). Όταν είστε έτοιμοι για το Mainnet, μπορείτε να επαναλάβετε αυτά τα βήματα χρησιμοποιώντας το M[ainnet Staking Launchpad](https://launchpad.ethereum.org/).
+
+Ανατρέξτε στη [σελίδα αποθήκευσης κεφάλαιου](/staking) για μια επισκόπηση των επιλογών.
+
+### Χρήση του κόμβου {#using-the-node}
+
+Οι πελάτες εκτέλεσης προσφέρουν [τελικά σημεία API RPC](/developers/docs/apis/json-rpc/) που μπορείτε να χρησιμοποιήσετε για να υποβάλετε συναλλαγές, να αλληλεπιδράσετε ή να αναπτύξετε έξυπνα συμβόλαια στο δίκτυο Ethereum με διάφορους τρόπους:
+
+- Χειροκίνητη κλήση τους με κατάλληλο πρωτόκολλο (π.χ. χρήση `curl`)
+- Σύνδεση με παρεχόμενη κονσόλα (π.χ. `geth attach`)
+- Χρήση τους σε εφαρμογές χρησιμοποιώντας βιβλιοθήκες web3, π.χ. [web3.py](https://web3py.readthedocs.io/en/stable/overview.html#overview), [ethers](https://github.com/ethers-io/ethers.js/)
+
+Διαφορετικοί πελάτες έχουν διαφορετικές υλοποιήσεις των τελικών σημείων RPC. Αλλά υπάρχει ένα τυπικό JSON-RPC που μπορείτε να χρησιμοποιήσετε με κάθε πελάτη. Για μια επισκόπηση [διαβάστε τα έγγραφα JSON-RPC](/developers/docs/apis/json-rpc/). Οι εφαρμογές που χρειάζονται πληροφορίες από το δίκτυο Ethereum μπορούν να χρησιμοποιήσουν αυτό το RPC. Για παράδειγμα, το δημοφιλές πορτοφόλι MetaMask σάς επιτρέπει να [συνδεθείτε στο δικό σας τελικό σημείο RPC](https://metamask.zendesk.com/hc/en-us/articles/360015290012-Using-a-Local-Node), το οποίο έχει ισχυρά οφέλη για την ιδιωτικότητα και την ασφάλεια.
+
+Όλοι οι πελάτες συναίνεσης εκθέτουν ένα [Beacon API](https://ethereum.github.io/beacon-APIs) που μπορεί να χρησιμοποιηθεί για να ελέγξετε την κατάσταση του πελάτη συναίνεσης ή να κατεβάσετε μπλοκ και δεδομένα συναίνεσης στέλνοντας αιτήματα χρησιμοποιώντας εργαλεία όπως το [Curl](https://curl.se). Περισσότερες πληροφορίες σχετικά με αυτό μπορείτε να βρείτε στην τεκμηρίωση για κάθε πελάτη συναίνεσης.
+
+#### Πρόσβαση RPC {#reaching-rpc}
+
+Η προεπιλεγμένη θύρα για τον πελάτη εκτέλεσης JSON-RPC είναι η `8545` αλλά μπορείτε να τροποποιήσετε τις θύρες των τοπικών τελικών σημείων στη ρύθμιση παραμέτρων. Από προεπιλογή, η διεπαφή RPC είναι προσβάσιμη μόνο στο localhost του υπολογιστή σας. Για να την κάνετε απομακρυσμένα προσβάσιμη, μπορεί αν θέλετε να την εκθέσετε στο κοινό αλλάζοντας τη διεύθυνση σε `0.0.0.0`. Αυτό θα την κάνει προσβάσιμη μέσω τοπικού δικτύου και δημόσιων διευθύνσεων IP. Στις περισσότερες περιπτώσεις θα χρειαστεί επίσης να ρυθμίσετε τη προώθηση θυρών στον δρομολογητή σας.
+
+Προσέξτε όταν εκθέτετε θύρες στο διαδίκτυο, καθώς αυτό θα επιτρέψει σε οποιονδήποτε στο διαδίκτυο να ελέγξει τον κόμβο σας. Κακόβουλοι χρήστες θα μπορούσαν να έχουν πρόσβαση στον κόμβο σας για να καταρρίψουν το σύστημά σας ή να κλέψουν τα χρήματά σας εάν χρησιμοποιείτε τον πελάτη σας ως πορτοφόλι.
+
+Ένας τρόπος να το αντιμετωπίσετε αυτό είναι να αποτρέψετε την τροποποίηση πιθανώς επιβλαβών μεθόδων RPC. Για παράδειγμα, με το Geth, μπορείτε να δηλώσετε τροποποιήσιμες μεθόδους με μια σήμανση: `--http.api web3,eth,txpool`.
+
+Η πρόσβαση στη διεπαφή RPC μπορεί να επεκταθεί μέσω της ανάπτυξης API επιπέδου άκρου ή εφαρμογών διακομιστή ιστού, όπως το Nginx και τη σύνδεσή τους με την τοπική διεύθυνση και θύρα του πελάτη σας. Η αξιοποίηση ενός ενδιάμεσου επιπέδου μπορεί επίσης να επιτρέψει στους προγραμματιστές τη δυνατότητα ρύθμισης ενός πιστοποιητικού για ασφαλείς συνδέσεις `https` στη διεπαφή RPC.
+
+Η ρύθμιση ενός διακομιστή ιστού, ενός διαμεσολαβητή ή ενός εξωτερικού API REST δεν είναι ο μόνος τρόπος για να παρέχετε πρόσβαση στο τελικό σημείο RPC του κόμβου σας. Ένας άλλος τρόπος διατήρησης της ιδιωτικότητας για τη ρύθμιση ενός δημόσια προσβάσιμου τελικού σημείου, είναι να φιλοξενήσετε τον κόμβο στη δική σας υπηρεσία onion [Tor](https://www.torproject.org/). Αυτό θα σας επιτρέψει να φτάσετε στο RPC εκτός του τοπικού σας δικτύου χωρίς στατική δημόσια διεύθυνση IP ή ανοιχτές θύρες. Ωστόσο, χρησιμοποιώντας αυτή τη ρύθμιση μπορεί να επιτρέπεται μόνο η πρόσβαση στο τελικό σημείο RPC μέσω του δικτύου Tor, το οποίο δεν υποστηρίζεται από όλες τις εφαρμογές και μπορεί να οδηγήσει σε προβλήματα σύνδεσης.
+
+Για να το κάνετε αυτό, πρέπει να δημιουργήσετε τη δική σας [υπηρεσία onion](https://community.torproject.org/onion-services/). Ελέγξτε την [τεκμηρίωση](https://community.torproject.org/onion-services/setup/) για τη ρύθμιση της υπηρεσίας onion για να φιλοξενήσετε τη δική σας. Μπορείτε να το κατευθύνετε σε έναν διακομιστή ιστού με διακομιστή μεσολάβησης στη θύρα RPC ή απευθείας στο RPC.
+
+Τέλος, ένας από τους πιο δημοφιλείς τρόπους παροχής πρόσβασης σε εσωτερικά δίκτυα είναι μέσω μιας σύνδεσης VPN. Ανάλογα με τη χρήση σας και τον αριθμό των χρηστών που χρειάζονται πρόσβαση στον κόμβο σας, μια ασφαλής σύνδεση VPN μπορεί να είναι μια επιλογή. Το [OpenVPN](https://openvpn.net/) είναι ένα πλήρες SSL VPN που υλοποιεί επέκταση ασφαλούς δικτύου OSI επιπέδου 2 ή 3 χρησιμοποιώντας το βιομηχανικό πρότυπο πρωτόκολλο SSL/TLS, υποστηρίζει ευέλικτες μεθόδους ελέγχου ταυτότητας πελάτη με βάση πιστοποιητικά, έξυπνες κάρτες και/ή διαπιστευτήρια ονόματος χρήστη/κωδικού πρόσβασης και επιτρέπει πολιτικές ελέγχου πρόσβασης συγκεκριμένων χρηστών ή ομάδων χρησιμοποιώντας κανόνες firewall που εφαρμόζονται στην εικονική διεπαφή VPN.
+
+### Λειτουργία του κόμβου {#operating-the-node}
+
+Θα πρέπει να παρακολουθείτε τακτικά τον κόμβο σας για να βεβαιωθείτε ότι λειτουργεί σωστά. Ίσως χρειαστεί να κάνετε περιστασιακή συντήρηση.
+
+#### Διατήρηση ενός κόμβου συνδεδεμένου στο διαδίκτυο {#keeping-node-online}
+
+Ο κόμβος σας δε χρειάζεται να είναι συνεχώς συνδεδεμένος, αλλά θα πρέπει να τον διατηρείτε όσο το δυνατόν περισσότερο σε σύνδεση για να διατηρείται συγχρονισμένος με το δίκτυο. Μπορείτε να το κλείσετε για να το επανεκκινήσετε, αλλά έχετε υπόψη σας ότι:
+
+- Ο τερματισμός μπορεί να διαρκέσει μερικά λεπτά εάν η πρόσφατη κατάσταση εξακολουθεί να γράφεται στο δίσκο.
+- Ο αναγκαστικός τερματισμός λειτουργίας μπορεί να βλάψει τη βάση δεδομένων, απαιτώντας τον επανασυγχρονισμό ολόκληρου του κόμβου.
+- Ο πελάτης σας δε θα συγχρονιστεί με το δίκτυο και θα χρειαστεί να γίνει εκ νέου συγχρονισμός όταν κάνετε επανεκκίνηση. Ενώ ο κόμβος μπορεί να ξεκινήσει τον συγχρονισμό από τη στιγμή του τελευταίου τερματισμού, η διαδικασία μπορεί να πάρει χρόνο ανάλογα με το πόσο διάστημα ήταν εκτός σύνδεσης.
+
+_Αυτό δεν ισχύει για τους κόμβους επικύρωσης επιπέδου συναίνεσης_. Η διακοπή του κόμβου σας θα επηρεάσει όλες τις υπηρεσίες που εξαρτώνται από αυτόν. Εάν εκτελείτε έναν κόμβο για σκοπούς _αποθήκευσης κεφαλαίου_, θα πρέπει να προσπαθήσετε να ελαχιστοποιήσετε τον χρόνο διακοπής όσο το δυνατόν περισσότερο.
+
+#### Δημιουργία υπηρεσιών πελατών {#creating-client-services}
+
+Εξετάστε το ενδεχόμενο να δημιουργήσετε μια υπηρεσία για την αυτόματη εκτέλεση των πελατών σας κατά την εκκίνηση. Για παράδειγμα, σε διακομιστές Linux, καλή πρακτική θα ήταν να δημιουργήσετε μια υπηρεσία, π.χ. με `systemd`, που εκτελεί τον πελάτη με σωστή διαμόρφωση, υπό έναν χρήστη με περιορισμένα προνόμια και επανεκκινεί αυτόματα.
+
+#### Ενημέρωση εφαρμογής πελάτη {#updating-clients}
+
+Πρέπει να διατηρείτε το λογισμικό του πελάτη σας ενημερωμένο με τις πιο πρόσφατες ενημερώσεις κώδικα ασφαλείας, δυνατότητες και [EIPs](/eips/). Ειδικά πριν από μια [αναβάθμιση υλικών](/history/), βεβαιωθείτε ότι εκτελείτε τις σωστές εκδόσεις πελάτη.
+
+> Πριν από σημαντικές ενημερώσεις δικτύου, το EF δημοσιεύει μια ανάρτηση στο [ιστολόγιο](https://blog.ethereum.org) του. Μπορείτε να [εγγραφείτε σε αυτές τις ανακοινώσεις](https://blog.ethereum.org/category/protocol#subscribe) για να λάβετε μια ειδοποίηση στο email σας όταν ο κόμβος σας χρειάζεται μια ενημέρωση.
+
+Η ενημέρωση των πελατών είναι πολύ απλή. Κάθε πελάτης έχει συγκεκριμένες οδηγίες στην τεκμηρίωσή του, αλλά η διαδικασία είναι γενικά απλά να κατεβάσετε την πιο πρόσφατη έκδοση και να επανεκκινήσετε τον πελάτη με το νέο εκτελέσιμο αρχείο. Ο πελάτης θα πρέπει να συνεχίσει από το σημείο που σταμάτησε, αλλά με τις ενημερώσεις εφαρμοσμένες.
+
+Κάθε υλοποίηση πελάτη, έχει μια αναγνώσιμη συμβολοσειρά έκδοσης που χρησιμοποιείται στο πρωτόκολλο peer-to-peer, αλλά είναι επίσης προσβάσιμη από τη γραμμή εντολών. Αυτή η έκδοση συμβολοσειρά επιτρέπει στους χρήστες να ελέγχουν ότι εκτελούν τη σωστή έκδοση και επιτρέπει στους εξερευνητές μπλοκ και άλλα αναλυτικά εργαλεία που ενδιαφέρονται, να ποσοτικοποιήσουν τη διανομή συγκεκριμένων πελατών στο δίκτυο. Ανατρέξτε στην τεκμηρίωση μεμονωμένου πελάτη για περισσότερες πληροφορίες σχετικά με τις έκδοση συμβολοσειρών.
+
+#### Εκτέλεση πρόσθετων υπηρεσιών {#running-additional-services}
+
+Η εκτέλεση του δικού σας κόμβου σάς επιτρέπει να χρησιμοποιείτε υπηρεσίες που απαιτούν άμεση πρόσβαση στο RPC πελάτη Ethereum. Πρόκειται για υπηρεσίες που έχουν δημιουργηθεί πάνω από το Ethereum, όπως [λύσεις επιπέδου 2](/developers/docs/scaling/#layer-2-scaling), υποστήριξη για πορτοφόλια, εξερευνητές μπλοκ, εργαλεία προγραμματιστών και άλλες υποδομές Ethereum.
+
+#### Παρακολούθηση του κόμβου {#monitoring-the-node}
+
+Για να παρακολουθείτε σωστά τον κόμβο σας, σκεφτείτε να συλλέξετε μετρήσεις. Οι πελάτες παρέχουν τελικά σημεία μετρήσεων, ώστε να μπορείτε να λαμβάνετε ολοκληρωμένα δεδομένα για τον κόμβο σας. Χρησιμοποιήστε εργαλεία όπως το [InfluxDB](https://www.influxdata.com/get-influxdb/) ή το [Prometheus](https://prometheus.io/) για να δημιουργήσετε βάσεις δεδομένων τις οποίες μπορείτε να μετατρέψετε σε οπτικοποιήσεις και γραφήματα με λογισμικό όπως το [Grafana](https://grafana.com/). Υπάρχουν πολλές ρυθμίσεις για τη χρήση αυτού του λογισμικού και διαφορετικοί πίνακες εργαλείων Grafana για να οπτικοποιήσετε τον κόμβο σας και το δίκτυο στο σύνολό του. Για παράδειγμα, ρίξτε μια ματιά στο [μάθημα παρακολούθησης του Geth](/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/).
+
+Ως μέρος της παρακολούθησής σας, φροντίστε να παρακολουθείτε την απόδοση του μηχανήματος σας. Κατά τη διάρκεια του αρχικού συγχρονισμού του κόμβου σας, το λογισμικό πελάτη μπορεί να είναι πολύ βαρύ σε CPU και RAM. Εκτός από το Grafana, μπορείτε να χρησιμοποιήσετε τα εργαλεία που προσφέρει το λειτουργικό σας σύστημα, όπως `htop` ή `uptime` για να το κάνετε αυτό.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Οδηγοί αποθήκευσης κεφαλίου Ethereum](https://github.com/SomerEsat/ethereum-staking-guides) - _Somer Esat, συχνή ενημέρωση_
+- [Οδηγός | Πώς να ρυθμίσετε έναν επικυρωτή για δέσμευση κεφαλαίου Ethereum στο mainnet](https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet) _– CoinCashew, που ενημερώνεται τακτικά_
+- [Οδηγοί ETHStaker σχετικά με την εκτέλεση επικυρωτών σε δίκτυα δοκιμών](https://github.com/remyroy/ethstaker#guides) – _ETHStaker, ενημερώνεται τακτικά_
+- [Συνήθεις ερωτήσεις συγχώνευσης για διαχειριστές κόμβων](https://notes.ethereum.org/@launchpad/node-faq-merge) - _Ιούλιος 2022_
+- [Ανάλυση των απαιτήσεων υλικού για να είναι πλήρως έγκυρος κόμβος Ethereum](https://medium.com/coinmonks/analyzing-the-hardware-requirements-to-be-an-ethereum-full-validated-node-dc064f167902) _– Albert Palau, 24 Σεπτεμβρίου 2018_
+- [Εκτέλεση πλήρους κόμβου Ethereum: Οδηγός για τα ελάχιστα κίνητρα](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– Justin Leroux, 7 Νοεμβρίου 2019_
+- [Εκτέλεση ενός κόμβου Hyperledger Besu στο Ethereum Mainnet: Οφέλη, Απαιτήσεις και Εγκατάσταση](https://pegasys.tech/running-a-hyperledger-besu-node-on-the-ethereum-mainnet-benefits-requirements-and-setup/) _– Felipe Faraggi, 7 Μαΐου 2020_
+- [Ανάπτυξη πελάτη Nethermind Ethereum με Στοίβα παρακολούθησης](https://medium.com/nethermind-eth/deploying-nethermind-ethereum-client-with-monitoring-stack-55ce1622edbd) _– Nethermind.eth, 8 Ιουλίου 2020_
+
+## Σχετικά θέματα {#related-topics}
+
+- [ Κόμβοι και πελάτες](/developers/docs/nodes-and-clients/)
+- [Μπλοκ](/developers/docs/blocks/)
+- [Δίκτυα](/developers/docs/networks/)
diff --git a/public/content/translations/el/developers/docs/oracles/index.md b/public/content/translations/el/developers/docs/oracles/index.md
new file mode 100644
index 00000000000..752a6fe510d
--- /dev/null
+++ b/public/content/translations/el/developers/docs/oracles/index.md
@@ -0,0 +1,435 @@
+---
+title: Oracle
+description: Η Oracle παρέχει στα έξυπνα συμβόλαια Ethereum πρόσβαση σε δεδομένα πραγματικού κόσμου, ξεκλειδώνοντας περισσότερες περιπτώσεις χρήσης και μεγαλύτερη αξία για τους χρήστες.
+lang: el
+---
+
+Οι oracles είναι εφαρμογές που παράγουν ροές δεδομένων εκτός αλυσίδας που καθιστούν διαθέσιμες τις εξωτερικές πηγές δεδομένων στο blockchain για έξυπνα συμβόλαια. Αυτό είναι απαραίτητο επειδή τα έξυπνα συμβόλαια που βασίζονται στο Ethereum δεν μπορούν, από προεπιλογή, να έχουν πρόσβαση σε πληροφορίες που αποθηκεύονται εκτός του δικτύου κρυπτοαλυσίδας.
+
+Η παροχή δυνατότητας στα έξυπνα συμβόλαια να εκτελούνται χρησιμοποιώντας δεδομένα εκτός αλυσίδας, επεκτείνει τη χρησιμότητα και την αξία των αποκεντρωμένων εφαρμογών. Για παράδειγμα, οι αγορές προβλέψεων στην αλυσίδα βασίζονται σε χρησμούς για την παροχή πληροφοριών σχετικά με αποτελέσματα που χρησιμοποιούν για την επικύρωση των προβλέψεων των χρηστών. Ας υποθέσουμε ότι η Alice στοιχηματίζει 20 ETH για το ποιος θα γίνει ο επόμενος Πρόεδρος των ΗΠΑ. Πρόεδρος. Σε αυτήν την περίπτωση, η εφαρμογή αγοράς προβλέψεων χρειάζεται έναν χρησμό για να επιβεβαιώσει τα αποτελέσματα των εκλογών και να καθορίσει εάν η Alice δικαιούται πληρωμή.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Αυτή η σελίδα υποθέτει ότι ο αναγνώστης είναι εξοικειωμένος με τα βασικά του Ethereum, συμπεριλαμβανομένων των [κόμβων](/developers/docs/nodes-and-clients/), των [μηχανισμών συναίνεσης](/developers/docs/consensus-mechanisms/) και του [EVM](/developers/docs/evm/). Πρέπει επίσης να έχετε καλή κατανόηση των [έξυπνων συμβολαίων](/developers/docs/smart-contracts/) και της [ανατομίας των έξυπνων συμβολαίων](/developers/docs/smart-contracts/anatomy/), ειδικά των [συμβάντων](/glossary/#events).
+
+## Τι είναι ένα oracle blockchain; {#what-is-a-blockchain-oracle}
+
+Τα oracles είναι εφαρμογές που προμηθεύουν, επαληθεύουν και μεταδίδουν εξωτερικές πληροφορίες (δηλαδή πληροφορίες που αποθηκεύονται εκτός αλυσίδας) σε έξυπνα συμβόλαια που εκτελούνται στην κρυπτοαλυσίδα. Εκτός από την "άντληση" δεδομένων εκτός αλυσίδας και τη μετάδοσή τους στο Ethereum, τα oracles μπορούν επίσης να "σπρώχνουν" πληροφορίες από την κρυπτοαλυσίδα σε εξωτερικά συστήματα, π.χ. ξεκλειδώνοντας μια έξυπνη κλειδαριά όταν ο χρήστης στέλνει μια αμοιβή μέσω μιας συναλλαγής Ethereum.
+
+Χωρίς oracle, ένα έξυπνο συμβόλαιο θα περιοριζόταν εξ ολοκλήρου σε δεδομένα εντός αλυσίδας.
+
+Τα oracles διαφέρουν με βάση την πηγή δεδομένων (μία ή πολλές πηγές), τα μοντέλα εμπιστοσύνης (κεντρικά ή αποκεντρωμένα) και την αρχιτεκτονική συστήματος (άμεση ανάγνωση, δημοσίευση-εγγραφή και αίτηση-απάντηση). Μπορούμε επίσης να διακρίνουμε μεταξύ των oracles με βάση το εάν ανακτούν εξωτερικά δεδομένα για χρήση από συμβόλαια εντός αλυσίδας (oracle εισόδου), στέλνουν πληροφορίες από την κρυπτοαλυσίδα στις εφαρμογές εκτός αλυσίδας (oracle εξόδου) ή εκτελούν υπολογιστικά καθήκοντα εκτός αλυσίδας (υπολογιστικά oracles).
+
+## Γιατί τα έξυπνα συμβόλαια χρειάζονται oracles; {#why-do-smart-contracts-need-oracles}
+
+Πολλοί προγραμματιστές βλέπουν τα έξυπνα συμβόλαια ως κώδικα που εκτελείται σε συγκεκριμένες διευθύνσεις στην κρυπτοαλυσίδα. Ωστόσο, μια πιο [γενική άποψη των έξυπνων συμβολαίων](/smart-contracts/) είναι ότι πρόκειται για αυτοεκτελούμενα λογισμικά προγράμματα ικανά να επιβάλλουν συμφωνίες μεταξύ των μερών όταν πληρούνται συγκεκριμένες προϋποθέσεις, εξ ου και ο όρος "έξυπνα συμβόλαια".
+
+Αλλά η χρήση έξυπνων συμβολαίων για την επιβολή συμφωνιών μεταξύ ανθρώπων δεν είναι απλή, δεδομένου ότι το Ethereum είναι καθοριστικό. Ένα [καθοριστικό σύστημα](https://en.wikipedia.org/wiki/Deterministic_algorithm) είναι ένα σύστημα που παράγει πάντα τα ίδια αποτελέσματα δεδομένης μιας αρχικής κατάστασης και μιας συγκεκριμένης εισόδου, που σημαίνει ότι δεν υπάρχει τυχαιότητα ή διακύμανση στη διαδικασία υπολογισμού των εξόδων από τις εισόδους.
+
+Για να επιτευχθεί καθοριστική εκτέλεση, οι κρυπτοαλυσίδες περιορίζουν τους κόμβους να καταλήγουν σε συναίνεση σε απλές δυαδικές (αληθές/ψευδές) ερωτήσεις χρησιμοποιώντας _μόνο_ δεδομένα που αποθηκεύονται στην ίδια την κρυπτοαλυσίδα. Παραδείγματα τέτοιων ερωτήσεων περιλαμβάνουν:
+
+- «Υπέγραψε ο κάτοχος του λογαριασμού (ταυτοποιημένος από ένα δημόσιο κλειδί) αυτή τη συναλλαγή με το ζεύγος ιδιωτικού κλειδιού;»
+- «Έχει αυτός ο λογαριασμός αρκετά κεφάλαια για να καλύψει τη συναλλαγή;»
+- «Είναι αυτή η συναλλαγή έγκυρη στο πλαίσιο αυτού του έξυπνου συμβολαίου;» κ.λπ.
+
+Εάν οι κρυπτοαλυσίδες λάμβαναν πληροφορίες από εξωτερικές πηγές (δηλαδή από τον πραγματικό κόσμο), θα ήταν αδύνατο να επιτευχθεί ο καθορισμός, εμποδίζοντας τους κόμβους να συμφωνήσουν σχετικά με τη νομιμότητα των αλλαγών στην κατάσταση της κρυπτοαλυσίδας. Λάβετε για παράδειγμα ένα έξυπνο συμβόλαιο που εκτελεί μια συναλλαγή με βάση την τρέχουσα ισοτιμία ETH-USD που λαμβάνεται από ένα παραδοσιακό API τιμών. Αυτό το νούμερο είναι πιθανό να αλλάζει συχνά (μην αναφέρουμε ότι το API θα μπορούσε να καταργηθεί ή να παραβιαστεί), που σημαίνει ότι οι κόμβοι που εκτελούν τον ίδιο κώδικα συμβολαίου θα καταλήξουν σε διαφορετικά αποτελέσματα.
+
+Για μια δημόσια κρυπτοαλυσίδα όπως το Ethereum, με χιλιάδες κόμβους σε όλο τον κόσμο που επεξεργάζονται συναλλαγές, ο καθορισμός είναι κρίσιμος. Χωρίς κεντρική αρχή που να χρησιμεύει ως πηγή αλήθειας, οι κόμβοι χρειάζονται μηχανισμούς για να καταλήξουν στην ίδια κατάσταση μετά την εφαρμογή των ίδιων συναλλαγών. Μια περίπτωση όπου ο κόμβος Α εκτελεί τον κώδικα ενός έξυπνου συμβολαίου και παίρνει "3" ως αποτέλεσμα, ενώ ο κόμβος Β παίρνει "7" μετά την εκτέλεση της ίδιας συναλλαγής θα προκαλούσε τη διάλυση της συναίνεσης και θα εξάλειψε την αξία του Ethereum ως αποκεντρωμένη πλατφόρμα υπολογισμού.
+
+Αυτό το σενάριο επισημαίνει επίσης το πρόβλημα με το σχεδιασμό κρυπτοαλυσίδων για την άντληση πληροφοριών από εξωτερικές πηγές. Ωστόσο, τα oracle επιλύουν αυτό το πρόβλημα λαμβάνοντας πληροφορίες από πηγές εκτός αλυσίδας και αποθηκεύοντάς τις στην κρυπτοαλυσίδα για κατανάλωση από έξυπνα συμβόλαια. Δεδομένου ότι οι πληροφορίες που αποθηκεύονται εντός αλυσίδας είναι αναλλοίωτες και δημόσια διαθέσιμες, οι κόμβοι Ethereum μπορούν να χρησιμοποιήσουν με ασφάλεια τα δεδομένα που εισάγονται εκτός αλυσίδας από το oracle για να υπολογίσουν αλλαγές κατάστασης χωρίς να διακόψουν τη συναίνεση.
+
+Για να γίνει αυτό, ένα oracle αποτελείται συνήθως από ένα έξυπνο συμβόλαιο που εκτελείται στην αλυσίδα και ορισμένα στοιχεία εκτός αλυσίδας. Το συμβόλαιο εντός αλυσίδας λαμβάνει αιτήματα για δεδομένα από άλλα έξυπνα συμβόλαια, τα οποία μεταβιβάζει στο στοιχείο εκτός αλυσίδας (που ονομάζεται κόμβος oracle). Αυτός ο κόμβος oracle μπορεί να ερωτήσει πηγές δεδομένων — χρησιμοποιώντας διεπαφές προγραμματισμού εφαρμογών (API), για παράδειγμα και να στείλει συναλλαγές για να αποθηκεύσει τα ζητηθέντα δεδομένα στην αποθήκευση του έξυπνου συμβολαίου.
+
+Ουσιαστικά, ένα oracle κρυπτοαλυσίδας γεφυρώνει το κενό πληροφοριών μεταξύ της κρυπτοαλυσίδας και του εξωτερικού περιβάλλοντος, δημιουργώντας «υβριδικά έξυπνα συμβόλαια». Ένα υβριδικό έξυπνο συμβόλαιο είναι ένα που λειτουργεί με βάση έναν συνδυασμό κώδικα συμβολαίου στην αλυσίδα και υποδομής εκτός αλυσίδας. Οι αποκεντρωμένες αγορές πρόβλεψης είναι ένα εξαιρετικό παράδειγμα υβριδικών έξυπνων συμβολαίων. Άλλα παραδείγματα μπορεί να περιλαμβάνουν έξυπνα συμβόλαια ασφάλισης καλλιεργειών που αποδίδουν όταν ένα σύνολο oracles καθορίσει ότι έχουν συμβεί ορισμένα καιρικά φαινόμενα.
+
+## Τι είναι το πρόβλημα του oracle; {#the-oracle-problem}
+
+Τα oracles επιλύουν ένα σημαντικό πρόβλημα, αλλά εισάγουν επίσης κάποιες επιπλοκές, π.χ.:
+
+- Πώς μπορούμε να επαληθεύσουμε ότι οι εγχυόμενες πληροφορίες εξαχθήκαν από τη σωστή πηγή ή δεν έχουν παραποιηθεί;
+
+- Πώς μπορούμε να διασφαλίσουμε ότι αυτά τα δεδομένα είναι πάντα διαθέσιμα και ενημερώνονται τακτικά;
+
+Το λεγόμενο «πρόβλημα του oracle» δείχνει τα ζητήματα που προκύπτουν από τη χρήση oracles κρυπτοαλυσίδας για την αποστολή εισόδων σε έξυπνα συμβόλαια. Τα δεδομένα από ένα oracle πρέπει να είναι σωστά για να εκτελεστεί σωστά ένα έξυπνο συμβόλαιο. Επιπλέον, το να πρέπει να «εμπιστεύεσαι» τους χειριστές oracle για την παροχή ακριβών πληροφοριών υπονομεύει την «αξιόπιστη» πτυχή των έξυπνων συμβολαίων.
+
+Διαφορετικά oracles προσφέρουν διαφορετικές λύσεις στο πρόβλημα oracle, το οποίο θα εξερευνήσουμε αργότερα. Τα oracles αξιολογούνται συνήθως ως προς το πόσο καλά μπορούν να χειριστούν τις ακόλουθες προκλήσεις:
+
+1. **Ορθότητα**: Ένα oracle δεν πρέπει να προκαλεί στα έξυπνα συμβόλαια να ενεργοποιήσουν αλλαγές κατάστασης με βάση μη έγκυρα δεδομένα εκτός αλυσίδας. Ένα oracle πρέπει να εγγυάται την _αυθεντικότητα_ και την _ακεραιότητα_ των δεδομένων. Η αυθεντικότητα σημαίνει ότι τα δεδομένα προέρχονται από τη σωστή πηγή, ενώ η ακεραιότητα σημαίνει ότι τα δεδομένα παρέμειναν ανέπαφα (δηλαδή δεν άλλαξαν) πριν σταλούν στην αλυσίδα.
+
+2. **Διαθεσιμότητα**: Ένα oracle δεν πρέπει να καθυστερεί ή να εμποδίζει τα έξυπνα συμβόλαια να εκτελούν ενέργειες και να ενεργοποιούν αλλαγές κατάστασης. Αυτό σημαίνει ότι τα δεδομένα από ένα oracle πρέπει να είναι _διαθέσιμα κατόπιν αιτήματος_ χωρίς διακοπή.
+
+3. **Συμβατότητα κινήτρων**: Ένα oracle θα πρέπει να δίνει κίνητρα στους παρόχους δεδομένων εκτός αλυσίδας να υποβάλλουν σωστές πληροφορίες σε έξυπνα συμβόλαια. Η συμβατότητα κινήτρων περιλαμβάνει την _αποδιδόμενη_ και την _ευθύνη_. Η αποδιδόμενη επιτρέπει τη σύνδεση ενός κομματιού εξωτερικών πληροφοριών με τον πάροχό του, ενώ η ευθύνη συνδέει τους παρόχους δεδομένων με τις πληροφορίες που δίνουν, ώστε να μπορούν να ανταμειφθούν ή να τιμωρηθούν με βάση την ποιότητα των παρεχόμενων πληροφοριών.
+
+## Πώς λειτουργεί μια υπηρεσία oracle κρυπτοαλυσίδας; {#how-does-a-blockchain-oracle-service-work}
+
+### Χρήστες {#users}
+
+Οι χρήστες είναι οντότητες (π.χ., έξυπνα συμβόλαια) που χρειάζονται πληροφορίες εξωτερικές από την κρυπτοαλυσίδα για να ολοκληρώσουν συγκεκριμένες ενέργειες. Η βασική ροή εργασίας μιας υπηρεσίας oracle ξεκινά με τον χρήστη που στέλνει ένα αίτημα δεδομένων στο συμβόλαιο oracle. Τα αιτήματα δεδομένων θα απαντούν συνήθως σε ορισμένες ή όλες τις ακόλουθες ερωτήσεις:
+
+1. Ποιες πηγές μπορούν να συμβουλευτούν οι κόμβοι εκτός αλυσίδας για τις ζητούμενες πληροφορίες;
+
+2. Με ποιο τρόπο οι δημοσιογράφοι επεξεργάζονται τις πληροφορίες από τις πηγές δεδομένων και εξάγουν χρήσιμα σημεία δεδομένων;
+
+3. Πόσοι κόμβοι oracle μπορούν να συμμετάσχουν στην ανάκτηση των δεδομένων;
+
+4. Πώς θα πρέπει να διαχειρίζονται οι αποκλίσεις στις αναφορές oracle;
+
+5. Ποια μέθοδος θα πρέπει να εφαρμοστεί για το φιλτράρισμα των υποβολών και τις συναθροίσεις αναφορών σε μια ενιαία τιμή;
+
+### Συμβόλαιο Oracle {#oracle-contract}
+
+Το συμβόλαιο oracle είναι το στοιχείο στην αλυσίδα για την υπηρεσία oracle. Αναμένει αιτήματα δεδομένων από άλλα συμβόλαια, μεταφέρει ερωτήματα δεδομένων σε κόμβους oracle και μεταδίδει τα επιστρεφόμενα δεδομένα σε συμβόλαια πελατών. Αυτό το συμβόλαιο μπορεί επίσης να εκτελέσει ορισμένους υπολογισμούς στα επιστρεφόμενα σημεία δεδομένων για να παράγει μια συγκεντρωτική τιμή που θα σταλεί στο συμβόλαιο που ζητά.
+
+Το συμβόλαιο oracle εκθέτει ορισμένες λειτουργίες που καλούν τα συμβόλαια πελατών όταν κάνουν ένα αίτημα δεδομένων. Κατά την παραλαβή μιας νέας ερώτησης, το έξυπνο συμβόλαιο θα εκπέμπει ένα [συμβάν καταγραφής](/developers/docs/smart-contracts/anatomy/#events-and-logs) με λεπτομέρειες του αιτήματος δεδομένων. Αυτό ειδοποιεί τους κόμβους εκτός αλυσίδας που είναι εγγεγραμμένοι στο αρχείο καταγραφής (συνήθως χρησιμοποιώντας κάτι σαν την εντολή JSON-RPC `eth_subscribe`), οι οποίοι προχωρούν στην ανάκτηση δεδομένων που ορίζονται στο συμβάν καταγραφής.
+
+Παρακάτω είναι ένα [παράδειγμα συμβολαίου oracle](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) από τον Pedro Costa. Αυτή είναι μια απλή υπηρεσία oracle που μπορεί να επικοινωνήσει με API εκτός αλυσίδας κατόπιν αιτήματος άλλων έξυπνων συμβολαίων και να αποθηκεύσει τις ζητούμενες πληροφορίες στην κρυπτοαλυσίδα:
+
+```solidity
+pragma solidity >=0.4.21 <0.6.0;
+
+contract Oracle {
+ Request[] requests; //list of requests made to the contract
+ uint currentId = 0; //increasing request id
+ uint minQuorum = 2; //minimum number of responses to receive before declaring final result
+ uint totalOracleCount = 3; // Hardcoded oracle count
+
+ // defines a general api request
+ struct Request {
+ uint id; //request id
+ string urlToQuery; //API url
+ string attributeToFetch; //json attribute (key) to retrieve in the response
+ string agreedValue; //value from key
+ mapping(uint => string) answers; //answers provided by the oracles
+ mapping(address => uint) quorum; //oracles which will query the answer (1=oracle hasn't voted, 2=oracle has voted)
+ }
+
+ //event that triggers oracle outside of the blockchain
+ event NewRequest (
+ uint id,
+ string urlToQuery,
+ string attributeToFetch
+ );
+
+ //triggered when there's a consensus on the final result
+ event UpdatedRequest (
+ uint id,
+ string urlToQuery,
+ string attributeToFetch,
+ string agreedValue
+ );
+
+ function createRequest (
+ string memory _urlToQuery,
+ string memory _attributeToFetch
+ )
+ public
+ {
+ uint length = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, ""));
+ Request storage r = requests[length-1];
+
+ // Hardcoded oracles address
+ r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1;
+ r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1;
+ r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1;
+
+ // launch an event to be detected by oracle outside of blockchain
+ emit NewRequest (
+ currentId,
+ _urlToQuery,
+ _attributeToFetch
+ );
+
+ // increase request id
+ currentId++;
+ }
+
+ //called by the oracle to record its answer
+ function updateRequest (
+ uint _id,
+ string memory _valueRetrieved
+ ) public {
+
+ Request storage currRequest = requests[_id];
+
+ //check if oracle is in the list of trusted oracles
+ //and if the oracle hasn't voted yet
+ if(currRequest.quorum[address(msg.sender)] == 1){
+
+ //marking that this address has voted
+ currRequest.quorum[msg.sender] = 2;
+
+ //iterate through "array" of answers until a position if free and save the retrieved value
+ uint tmpI = 0;
+ bool found = false;
+ while(!found) {
+ //find first empty slot
+ if(bytes(currRequest.answers[tmpI]).length == 0){
+ found = true;
+ currRequest.answers[tmpI] = _valueRetrieved;
+ }
+ tmpI++;
+ }
+
+ uint currentQuorum = 0;
+
+ //iterate through oracle list and check if enough oracles(minimum quorum)
+ //have voted the same answer as the current one
+ for(uint i = 0; i < totalOracleCount; i++){
+ bytes memory a = bytes(currRequest.answers[i]);
+ bytes memory b = bytes(_valueRetrieved);
+
+ if(keccak256(a) == keccak256(b)){
+ currentQuorum++;
+ if(currentQuorum >= minQuorum){
+ currRequest.agreedValue = _valueRetrieved;
+ emit UpdatedRequest (
+ currRequest.id,
+ currRequest.urlToQuery,
+ currRequest.attributeToFetch,
+ currRequest.agreedValue
+ );
+ }
+ }
+ }
+ }
+ }
+}
+```
+
+### Κόμβοι Oracle {#oracle-nodes}
+
+Ο κόμβος oracle είναι το στοιχείο εκτός αλυσίδας της υπηρεσίας oracle. Εξάγει πληροφορίες από εξωτερικές πηγές, όπως API που φιλοξενούνται σε διακομιστές τρίτων, και τις τοποθετεί για χρήση από έξυπνα συμβόλαια στην αλυσίδα. Οι κόμβοι oracle παρακολουθούν γεγονότα από το συμβόλαιο oracle στην αλυσίδα και προχωρούν στην ολοκλήρωση της εργασίας που περιγράφεται στο αρχείο καταγραφής.
+
+Μια κοινή εργασία για τους κόμβους oracle είναι η αποστολή μιας αίτησης [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) σε μια υπηρεσία API, η ανάλυση της απόκρισης για εξαγωγή σχετικών δεδομένων, το αποτέλεσμα αναγνώσιμο από κρυπτοαλυσίδα και η αποστολή στην αλυσίδα συμπεριλαμβάνοντας τη σε μια συναλλαγή στο συμβόλαιο oracle. Ένας κόμβος oracle μπορεί επίσης να απαιτείται να πιστοποιήσει τη γνησιότητα και την ακεραιότητα των υποβαλλόμενων πληροφοριών χρησιμοποιώντας "αποδείξεις αυθεντικότητας", τις οποίες θα εξετάσουμε αργότερα.
+
+Οι υπολογισμοί oracles βασίζονται επίσης σε κόμβους εκτός αλυσίδας για την εκτέλεση υπολογιστικών εργασιών που θα ήταν ανέφικτο να εκτελεστούν στην αλυσίδα, δεδομένων των εξόδων gas και των περιορισμών μεγέθους μπλοκ. Για παράδειγμα, ο κόμβος oracle μπορεί να ανατεθεί να δημιουργήσει έναν επαληθεύσιμο τυχαίο αριθμό (π.χ. για παιχνίδια βασισμένα σε κρυπτοαλυσίδα).
+
+## Πρότυπα σχεδιασμού oracle {#oracle-design-patterns}
+
+Τα oracles έρχονται σε διαφορετικούς τύπους, συμπεριλαμβανομένων των _άμεσης ανάγνωσης_, _δημοσίευσης-εγγραφής_ και _αιτήματος-απόκρισης_, με τα δύο τελευταία να είναι τα πιο δημοφιλή μεταξύ των έξυπνων συμβολαίων Ethereum. Εδώ περιγράφουμε εν συντομία τα μοντέλα δημοσίευσης - εγγραφής και αιτήματος - απόκρισης.
+
+### Oracles δημοσίευσης-εγγραφής {#publish-subscribe-oracles}
+
+Αυτός ο τύπος oracle εκθέτει μια "ροή δεδομένων" την οποία άλλα συμβόλαια μπορούν να διαβάζουν τακτικά για πληροφορίες. Τα δεδομένα σε αυτήν την περίπτωση αναμένεται να αλλάζουν συχνά, επομένως τα συμβόλαια πελατών πρέπει να παρακολουθούν για ενημερώσεις των δεδομένων στον αποθηκευτικό χώρο του oracle. Ένα παράδειγμα είναι ένα oracle που παρέχει τις πιο πρόσφατες πληροφορίες τιμής ETH-USD στους χρήστες.
+
+### Οι προσφορές αίτησης-απάντησης {#request-response-oracles}
+
+Μια ρύθμιση αίτησης - απάντησης επιτρέπει στο έξυπνο συμβόλαιο πελάτη να ζητήσει αυθαίρετα δεδομένα εκτός από αυτά που παρέχονται από μια δημοσίευση - εγγραφή. Οι oracles αίτησης - απάντησης είναι ιδανικές όταν το σύνολο δεδομένων είναι πολύ μεγάλο για να αποθηκευτεί στον αποθηκευτικό χώρο ενός έξυπνου συμβολαίου και/ή οι χρήστες θα χρειάζονται μόνο ένα μικρό μέρος των δεδομένων ανά πάσα στιγμή.
+
+Αν και είναι πιο περίπλοκες από τα μοντέλα δημοσίευσης - εγγραφής, οι oracles αίτησης - απάντησης είναι ουσιαστικά αυτό που περιγράψαμε στην προηγούμενη ενότητα. Μια oracle θα έχει ένα στοιχείο στην αλυσίδα που λαμβάνει ένα αίτημα δεδομένων και το μεταβιβάζει σε έναν κόμβο για επεξεργασία εκτός αλυσίδας.
+
+Οι χρήστες που ξεκινούν ερωτήματα δεδομένων πρέπει να καλύψουν το κόστος ανάκτησης πληροφοριών από την πηγή στην αλυσίδα. Το έξυπνο συμβόλαιο πελάτη πρέπει επίσης να παρέχει κεφάλαια για την κάλυψη των εξόδων αερίου που προκαλούνται από το έξυπνο συμβόλαιο προφορικού κατά την επιστροφή της απάντησης μέσω της συνάρτησης ανάκλησης που καθορίζεται στο αίτημα.
+
+## Κεντρικά έναντι αποκεντρωμένα oracles {#types-of-oracles}
+
+### Κεντρικοί oracles {#centralized-oracles}
+
+Μια κεντρική oracle ελέγχεται από μια ενιαία οντότητα που είναι υπεύθυνη για τη συγκέντρωση πληροφοριών εκτός αλυσίδας και την ενημέρωση των δεδομένων του έξυπνου συμβολαίου oracle κατόπιν αιτήματος. Οι κεντρικοί oracles είναι αποτελεσματικοί καθώς βασίζονται σε μια ενιαία πηγή αλήθειας. Μπορεί να λειτουργούν καλύτερα σε περιπτώσεις όπου τα ιδιόκτητα σύνολα δεδομένων δημοσιεύονται απευθείας από τον ιδιοκτήτη με μια ευρέως αποδεκτή υπογραφή. Ωστόσο, υπάρχουν επίσης μειονεκτήματα:
+
+#### Χαμηλές εγγυήσεις ορθότητας {#low-correctness-guarantees}
+
+Με κεντρικές oracle, δεν υπάρχει τρόπος να επιβεβαιώσετε εάν οι παρεχόμενες πληροφορίες είναι σωστές ή όχι. Ακόμη και οι "αξιόπιστοι" πάροχοι μπορούν να γίνουν απατεώνες ή να υποστούν hacking. Εάν η oracle διαφθαρεί, τα έξυπνα συμβόλαια θα εκτελεστούν σύμφωνα με λάθος δεδομένα.
+
+#### Κακή διαθεσιμότητα {#poor-availability}
+
+Οι oracle με κεντρική διαχείριση δεν εγγυώνται ότι θα διαθέτουν πάντα δεδομένα εκτός αλυσίδας σε άλλα έξυπνα συμβόλαια. Εάν ο πάροχος αποφασίσει να απενεργοποιήσει την υπηρεσία ή ένας χάκερ υποκλέψει στοιχεία εκτός αλυσίδας, το έξυπνο συμβόλαιό σας διατρέχει κίνδυνο επίθεσης άρνησης υπηρεσίας (DoS).
+
+#### Κακή συμβατότητα κινήτρων {#poor-incentive-compatibility}
+
+Οι κεντρικοί oracle συχνά έχουν κακώς σχεδιασμένα ή ανύπαρκτα κίνητρα για τον πάροχο δεδομένων να στείλει ακριβείς/αλλαγμένες πληροφορίες. Η πληρωμή ενός oracle για ορθότητα δεν εγγυάται την ειλικρίνεια. Αυτό το πρόβλημα μεγαλώνει καθώς αυξάνεται το ποσό της αξίας που ελέγχεται από τα έξυπνα συμβόλαια.
+
+### Αποκεντρωμένα oracle {#decentralized-oracles}
+
+Τα αποκεντρωμένα oracle σχεδιάζονται για να ξεπεράσουν τους περιορισμούς των κεντρικών oracle εξαλείφοντας τα ενιαία σημεία αποτυχίας. Μια αποκεντρωμένη υπηρεσία oracle αποτελείται από πολλούς συμμετέχοντες σε ένα δίκτυο peer-to-peer που σχηματίζουν συναίνεση για δεδομένα εκτός αλυσίδας πριν τα στείλουν σε ένα έξυπνο συμβόλαιο.
+
+Ένα αποκεντρωμένο oracle θα πρέπει (ιδανικά) να είναι χωρίς την ανάγκη άδειας, έμπιστο και απαλλαγμένο από τη διαχείριση από μια κεντρική υπηρεσία. Στην πραγματικότητα, η αποκέντρωση μεταξύ των oracle βρίσκεται στο ίδιο φάσμα. Υπάρχουν ημι-αποκεντρωμένα δίκτυα oracle όπου μπορεί να συμμετάσχει οποιοσδήποτε, αλλά με έναν "ιδιοκτήτη" που εγκρίνει και αφαιρεί κόμβους με βάση την απόδοση του στο παρελθόν. Υπάρχουν επίσης πλήρως αποκεντρωμένα δίκτυα oracle όπου συνήθως λειτουργούν ως ανεξάρτητες κρυπτοαλυσίδες και έχουν καθορισμένους μηχανισμούς συναίνεσης για τον συντονισμό των κόμβων και την τιμωρία κακής συμπεριφοράς.
+
+Η χρήση αποκεντρωμένων oracle συνοδεύεται από τα ακόλουθα οφέλη:
+
+### Υψηλές εγγυήσεις ορθότητας {#high-correctness-guarantees}
+
+Τα αποκεντρωμένα oracle επιχειρούν να επιτύχουν ορθότητα των δεδομένων χρησιμοποιώντας διαφορετικές προσεγγίσεις. Αυτό περιλαμβάνει τη χρήση αποδείξεων που πιστοποιούν την αυθεντικότητα και την ακεραιότητα των παρεχόμενων πληροφοριών και την απαίτηση πολλών οντοτήτων να συμφωνήσουν συλλογικά σχετικά με τη γνησιότητα των δεδομένων εκτός αλυσίδας.
+
+#### Αποδείξεις αυθεντικότητας {#authenticity-proofs}
+
+Οι αποδείξεις αυθεντικότητας είναι κρυπτογραφικοί μηχανισμοί που επιτρέπουν την ανεξάρτητη επαλήθευση πληροφοριών που ανακτώνται από εξωτερικές πηγές. Αυτές οι αποδείξεις μπορούν να επικυρώσουν την πηγή των πληροφοριών και να εντοπίσουν πιθανές αλλαγές στα δεδομένα μετά την ανάκτηση.
+
+Παραδείγματα αποδείξεων αυθεντικότητας περιλαμβάνουν:
+
+**Αποδείξεις Transport Layer Security (TLS)**: Οι κόμβοι oracle συχνά ανακτούν δεδομένα από εξωτερικές πηγές χρησιμοποιώντας μια ασφαλή σύνδεση HTTP που βασίζεται στο πρωτόκολλο Transport Layer Security (TLS). Ορισμένοι αποκεντρωμένοι oracle χρησιμοποιούν αποδείξεις αυθεντικότητας για να επαληθεύσουν τις συνεδρίες TLS (δηλαδή, να επιβεβαιώσουν την ανταλλαγή πληροφοριών μεταξύ ενός κόμβου και ενός συγκεκριμένου διακομιστή) και να επιβεβαιώσουν ότι το περιεχόμενο της συνεδρίας δεν άλλαξε.
+
+**Βεβαιώσεις περιβάλλοντος αξιόπιστης εκτέλεσης (TEE)**: Ένα [περιβάλλον αξιόπιστης εκτέλεσης](https://en.wikipedia.org/wiki/Trusted_execution_environment) (TEE) είναι ένα απομονωμένο υπολογιστικό περιβάλλον που είναι απομονωμένο από τις λειτουργικές διεργασίες του συστήματος υποδοχής του. Τα TEE διασφαλίζουν ότι οποιοσδήποτε κώδικας εφαρμογής ή δεδομένα που αποθηκεύονται/χρησιμοποιούνται στο περιβάλλον υπολογισμού διατηρούν την ακεραιότητα, την εμπιστευτικότητα και την αμεταβλητότητα. Οι χρήστες μπορούν επίσης να δημιουργήσουν μια βεβαίωση για να αποδείξουν ότι μια συνεδρία εφαρμογής εκτελείται μέσα στο περιβάλλον αξιόπιστης εκτέλεσης.
+
+Ορισμένες κατηγορίες αποκεντρωμένων oracle απαιτούν από τους χειριστές κόμβων oracle να παρέχουν βεβαιώσεις TEE. Αυτό επιβεβαιώνει σε έναν χρήστη ότι ο χειριστής του κόμβου εκτελεί μια παρουσία πελάτη oracle σε ένα περιβάλλον αξιόπιστης εκτέλεσης. Τα TEE εμποδίζουν τις εξωτερικές διεργασίες να αλλάζουν ή να διαβάζουν τον κώδικα και τα δεδομένα μιας εφαρμογής, επομένως, αυτές οι βεβαιώσεις αποδεικνύουν ότι ο κόμβος oracle έχει διατηρήσει τις πληροφορίες ανέπαφες και εμπιστευτικές.
+
+#### Επαλήθευση πληροφοριών με βάση τη συναίνεση {#consensus-based-validation-of-information}
+
+Οι κεντρικοί oracle βασίζονται σε μια ενιαία πηγή αλήθειας κατά την παροχή δεδομένων σε έξυπνα συμβόλαια, γεγονός που εισάγει τη δυνατότητα δημοσίευσης ανακριβών πληροφοριών. Οι αποκεντρωμένοι oracle επιλύουν αυτό το πρόβλημα βασίζοντας σε πολλούς κόμβους oracle για να λάβουν πληροφορίες εκτός αλυσίδας. Συγκρίνοντας δεδομένα από πολλές πηγές, οι αποκεντρωμένοι oracle μειώνουν τον κίνδυνο μετάδοσης μη έγκυρων πληροφοριών σε συμβόλαια εντός αλυσίδας.
+
+Ωστόσο, οι αποκεντρωμένοι oracle πρέπει να αντιμετωπίσουν αποκλίσεις στις πληροφορίες που ανακτώνται από πολλές εξωτερικές πηγές. Για να ελαχιστοποιηθούν οι διαφορές στις πληροφορίες και να διασφαλιστεί ότι τα δεδομένα που μεταβιβάζονται στο συμβόλαιο oracle αντικατοπτρίζουν τη συλλογική γνώμη των κόμβων oracle, οι αποκεντρωμένοι oracle χρησιμοποιούν τους ακόλουθους μηχανισμούς:
+
+##### Ψηφοφορία/δέσμευση για την ακρίβεια των δεδομένων
+
+Μερικά αποκεντρωμένα δίκτυα oracle απαιτούν από τους συμμετέχοντες να ψηφίσουν ή να κάνουν staking για την ακρίβεια των απαντήσεων σε ερωτήματα δεδομένων (π.χ. "Ποιος κέρδισε τις εκλογές των ΗΠΑ το 2020;") χρησιμοποιώντας το εγγενές κρυπτονόμισμα του δικτύου. Ένα πρωτόκολλο συναθροίσεων στη συνέχεια συγκεντρώνει τις ψήφους και τα stakes και παίρνει την απάντηση που υποστηρίζεται από την πλειοψηφία ως έγκυρη.
+
+Οι κόμβοι των οποίων οι απαντήσεις αποκλίνουν από την απάντηση της πλειοψηφίας τιμωρούνται με την κατανομή των tokens τους σε άλλους που παρέχουν πιο σωστές τιμές. Η υποχρέωση των κόμβων να παρέχουν μια εγγύηση πριν παρέχουν δεδομένα δημιουργεί κίνητρα για ειλικρινείς απαντήσεις καθώς υποτίθεται ότι είναι ρεαλιστικοί οικονομικοί παράγοντες που επιδιώκουν τη μεγιστοποίηση των αποδόσεων.
+
+Το staking/ψηφοφορία προστατεύει επίσης τα αποκεντρωμένα oracles από [επιθέσεις Sybil](/glossary/#sybil-attack) όπου κακόβουλοι παράγοντες δημιουργούν πολλαπλές ταυτότητες για να χειραγωγήσουν το σύστημα συναίνεσης. Ωστόσο, η αποθήκευση κεφαλαίου δεν μπορεί να αποτρέψει το "freeloading" (οι κόμβοι oracle αντιγράφουν πληροφορίες από άλλους) και την "τεμπέλικη επικύρωση" (οι κόμβοι oracle ακολουθούν την πλειοψηφία χωρίς να επαληθεύουν μόνοι τους τις πληροφορίες).
+
+##### Μηχανισμοί σημείου Schelling
+
+Το [σημείο Schelling](https://en.wikipedia.org/wiki/Focal_point_(game_theory)) είναι μια έννοια της θεωρίας παιγνίων που υποθέτει ότι πολλές οντότητες θα προεπιλέγουν πάντα μια κοινή λύση σε ένα πρόβλημα χωρίς καμία επικοινωνία. Οι μηχανισμοί σημείου Schelling χρησιμοποιούνται συχνά σε αποκεντρωμένα δίκτυα oracle για να επιτρέπουν στους κόμβους να επιτυγχάνουν συναίνεση στις απαντήσεις σε αιτήματα δεδομένων.
+
+Μια πρώιμη ιδέα για αυτό ήταν το [SchellingCoin](https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/), μια προτεινόμενη ροή δεδομένων όπου οι συμμετέχοντες υποβάλλουν απαντήσεις σε "κλιμακωτές" ερωτήσεις (ερωτήσεις των οποίων οι απαντήσεις περιγράφονται από μέγεθος, π.χ. "ποια είναι η τιμή του ETH;"), μαζί με μια κατάθεση. Οι χρήστες που παρέχουν τιμές μεταξύ του 25ου και 75ου [εκατοστημόριου](https://en.wikipedia.org/wiki/Percentile) ανταμείβονται, ενώ εκείνοι των οποίων οι τιμές αποκλίνουν σε μεγάλο βαθμό από τη μέση τιμή τιμωρούνται.
+
+Ενώ το SchellingCoin δεν υπάρχει σήμερα, ένας αριθμός αποκεντρωμένων oracles - ιδιαίτερα τα [Maker Protocol’s Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module) - χρησιμοποιούν τον μηχανισμό σημείου schelling για να βελτιώσουν την ακρίβεια των δεδομένων oracle. Κάθε Oracle Maker αποτελείται από ένα εκτός αλυσίδας P2P δίκτυο κόμβων ("μεταφορείς" και "τροφές") που υποβάλλουν τιμές αγοράς για περιουσιακά στοιχεία ενεχύρων και ένα εντός αλυσίδας συμβόλαιο "Medianizer" που υπολογίζει τη μέση τιμή όλων των παρεχόμενων τιμών. Μόλις παρέλθει η καθορισμένη περίοδος καθυστέρησης, αυτή η μέση τιμή γίνεται η νέα τιμή αναφοράς για το σχετικό περιουσιακό στοιχείο.
+
+Άλλα παραδείγματα oracle που χρησιμοποιούν μηχανισμούς σημείου Schelling περιλαμβάνουν το [Chainlink OffChain Reporting](https://docs.chain.link/docs/offchain-reporting/) και το [Witnet](https://witnet.io/). Σε αυτά τα δύο συστήματα, οι απαντήσεις από τους κόμβους oracle στο δίκτυο από χρήστη σε χρήστη συγκεντρώνονται σε μία ενιαία συνολική τιμή, όπως μια μέση τιμή ή διάμεσος. Οι κόμβοι επιβραβεύονται ή τιμωρούνται ανάλογα με τον βαθμό στον οποίο οι απαντήσεις τους ευθυγραμμίζονται ή αποκλίνουν από τη συνολική τιμή.
+
+Οι μηχανισμοί σημείου Schelling είναι ελκυστικοί επειδή ελαχιστοποιούν το αποτύπωμα στην αλυσίδα (απαιτείται να σταλεί μόνο μία συναλλαγή) ενώ εγγυώνται την αποκέντρωση. Το τελευταίο είναι δυνατό επειδή οι κόμβοι πρέπει να υπογράψουν τη λίστα των υποβληθέντων απαντήσεων πριν αυτή τροφοδοτηθεί στον αλγόριθμο που παράγει τη μέση/διάμεση τιμή.
+
+### Διαθεσιμότητα {#availability}
+
+Οι αποκεντρωμένες υπηρεσίες oracle εξασφαλίζουν υψηλή διαθεσιμότητα δεδομένων εκτός αλυσίδας σε έξυπνα συμβόλαια. Αυτό επιτυγχάνεται μέσω της αποκέντρωσης τόσο της πηγής των πληροφοριών εκτός αλυσίδας όσο και των κόμβων που είναι υπεύθυνοι για τη μεταφορά των πληροφοριών στην αλυσίδα.
+
+Αυτό εξασφαλίζει την αντοχή σε σφάλματα καθώς το έξυπνο συμβόλαιο oracle μπορεί να βασίζεται σε πολλούς κόμβους (οι οποίοι επίσης βασίζονται σε πολλές πηγές δεδομένων) για να εκτελέσει ερωτήματα από άλλα συμβόλαια. Η αποκέντρωση στο επίπεδο της πηγής _και_ του χειριστή κόμβου είναι κρίσιμη - ένα δίκτυο κόμβων oracle που εξυπηρετεί πληροφορίες που ανακτώνται από την ίδια πηγή θα αντιμετωπίσει το ίδιο πρόβλημα με ένα κεντρικό oracle.
+
+Είναι επίσης δυνατό για τα oracle με βάση συμμετοχή να μειώσουν τους χειριστές κόμβων που δεν ανταποκρίνονται γρήγορα σε αιτήματα δεδομένων. Αυτό ενθαρρύνει σημαντικά τους κόμβους oracle να επενδύσουν σε υποδομή ανθεκτική σε σφάλματα και να παρέχουν δεδομένα έγκαιρα.
+
+### Καλή συμβατότητα κινήτρων {#good-incentive-compatibility}
+
+Τα αποκεντρωμένα oracle εφαρμόζουν διάφορους σχεδιασμούς κινήτρων για την πρόληψη της [Byzantine](https://en.wikipedia.org/wiki/Byzantine_fault) συμπεριφοράς μεταξύ των κόμβων oracle. Ειδικότερα, επιτυγχάνουν την _αποδοσιμότητα_ και την _λογοδοσία_:
+
+1. Οι αποκεντρωμένοι κόμβοι oracle απαιτείται συχνά να υπογράφουν τα δεδομένα που παρέχουν σε απάντηση σε αιτήματα δεδομένων. Αυτές οι πληροφορίες βοηθούν στην αξιολόγηση της ιστορικής απόδοσης των κόμβων oracle, έτσι ώστε οι χρήστες να μπορούν να φιλτράρουν τους μη αξιόπιστους κόμβους oracle κατά την υποβολή αιτημάτων δεδομένων. Ένα παράδειγμα είναι το [Αλγοριθμικό Σύστημα Φήμης του Witnet](https://docs.witnet.io/intro/about/architecture#algorithmic-reputation-system).
+
+2. Τα αποκεντρωμένα oracle - όπως εξηγήθηκε προηγουμένως - μπορεί να απαιτούν από τους κόμβους να δεσμεύσουν ένα κεφάλαιο για εξασφάλιση της αξιοπιστίας τους για την αλήθεια των δεδομένων που υποβάλλουν. Εάν ο ισχυρισμός ελεγχθεί, αυτό το δεσμευμένο κεφάλαιο μπορεί να επιστραφεί μαζί με ανταμοιβές για ειλικρινή εξυπηρέτηση. Αλλά μπορεί επίσης να περικοπεί σε περίπτωση που οι πληροφορίες είναι εσφαλμένες, γεγονός που παρέχει κάποιο μέτρο λογοδοσίας.
+
+## Εφαρμογές των oracle σε έξυπνα συμβόλαια {#applications-of-oracles-in-smart-contracts}
+
+Οι ακόλουθες είναι κοινές περιπτώσεις χρήσης για oracle στο Ethereum:
+
+### Ανάκτηση οικονομικών δεδομένων {#retrieving-financial-data}
+
+Οι [αποκεντρωμένες χρηματοοικονομικές](/defi/) (DeFi) εφαρμογές επιτρέπουν τη δανειοδότηση από ομότιμο σε ομότιμο, τον δανεισμό και το εμπόριο περιουσιακών στοιχείων. Αυτό συχνά απαιτεί τη λήψη διαφορετικών οικονομικών πληροφοριών, συμπεριλαμβανομένων δεδομένων συναλλαγματικών ισοτιμιών (για τον υπολογισμό της αξίας fiat των κρυπτονομισμάτων ή τη σύγκριση τιμών token) και δεδομένων κεφαλαιαγορών (για τον υπολογισμό της αξίας των tokenized περιουσιακών στοιχείων, όπως ο χρυσός ή το δολάριο ΗΠΑ).
+
+Ένα πρωτόκολλο δανεισμού DeFi, για παράδειγμα, πρέπει να ρωτήσει τις τρέχουσες τιμές αγοράς για τα περιουσιακά στοιχεία (π.χ., ETH) που κατατέθηκαν ως εξασφάλιση. Αυτό επιτρέπει στο έξυπνο συμβόλαιο να καθορίσει την αξία των περιουσιακών στοιχείων εξασφάλισης και να καθορίσει πόσα μπορεί να δανειστεί από το σύστημα.
+
+Δημοφιλείς «τιμές oracle» (όπως συχνά αποκαλούνται) στο DeFi περιλαμβάνουν τα Chainlink Price Feeds, το [Open Price Feed](https://compound.finance/docs/prices) του Compound Protocol, τις [Time-Weighted Average Prices (TWAPs)](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) του Uniswap και τα [Maker Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module).
+
+Οι κατασκευαστές θα πρέπει να κατανοήσουν τις προειδοποιήσεις που συνοδεύουν αυτά τα oracle τιμών πριν τα ενσωματώσουν στο έργο τους. Αυτό το [άρθρο](https://blog.openzeppelin.com/secure-smart-contract-guidelines-the-dangers-of-price-oracles/) παρέχει μια λεπτομερή ανάλυση τι πρέπει να λάβετε υπόψη όταν σχεδιάζετε να χρησιμοποιήσετε οποιοδήποτε από τα αναφερόμενα oracle τιμών.
+
+Παρακάτω είναι ένα παράδειγμα του πώς μπορείτε να ανακτήσετε την τελευταία τιμή ETH στο έξυπνο συμβόλαιό σας χρησιμοποιώντας την ενημέρωση τιμών του Chainlink:
+
+```solidity
+pragma solidity ^0.6.7;
+
+import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
+
+contract PriceConsumerV3 {
+
+ AggregatorV3Interface internal priceFeed;
+
+ /**
+ * Network: Kovan
+ * Aggregator: ETH/USD
+ * Address: 0x9326BFA02ADD2366b30bacB125260Af641031331
+ */
+ constructor() public {
+ priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331);
+ }
+
+ /**
+ * Returns the latest price
+ */
+ function getLatestPrice() public view returns (int) {
+ (
+ uint80 roundID,
+ int price,
+ uint startedAt,
+ uint timeStamp,
+ uint80 answeredInRound
+ ) = priceFeed.latestRoundData();
+ return price;
+ }
+}
+```
+
+### Δημιουργώντας επαληθεύσιμη τυχαιότητα {#generating-verifiable-randomness}
+
+Ορισμένες εφαρμογές κρυπτοαλυσίδας, όπως τα παιχνίδια που βασίζονται σε κρυπτοαλυσίδα ή τα σχέδια λαχειοφόρων αγορών, απαιτούν υψηλό επίπεδο απρόβλεπτου και τυχαιότητας για να λειτουργούν αποτελεσματικά. Ωστόσο, η καθοριστική εκτέλεση των κρυπτοαλυσίδων εξαλείφει την τυχαιότητα.
+
+Η αρχική προσέγγιση ήταν να χρησιμοποιηθούν ψευδοτυχαίες κρυπτογραφικές συναρτήσεις, όπως το `blockhash`, αλλά αυτές μπορούσαν να [χειραγωγηθούν από κρυπτορύχους](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.) που έλυναν τον αλγόριθμο απόδειξης εργασίας. Επίσης, η μετάβαση του Ethereum σε [απόδειξη συμμετοχής](/roadmap/merge/) σημαίνει ότι οι προγραμματιστές δεν μπορούν πλέον να βασίζονται στο `blockhash` για τυχαιότητα επί της αλυσίδας. Ο [μηχανισμός RANDAO](https://eth2book.info/altair/part2/building_blocks/randomness) της αλυσίδας Beacon παρέχει μια εναλλακτική πηγή τυχαιότητας.
+
+Είναι δυνατό να δημιουργηθεί η τυχαία τιμή εκτός αλυσίδας και να σταλεί εντός αλυσίδας, αλλά αυτό επιβάλλει υψηλές απαιτήσεις εμπιστοσύνης στους χρήστες. Πρέπει να πιστεύουν ότι η τιμή δημιουργήθηκε πραγματικά μέσω απρόβλεπτων μηχανισμών και δεν άλλαξε κατά τη μεταφορά.
+
+Τα oracle που σχεδιάστηκαν για υπολογισμούς εκτός αλυσίδας επιλύουν αυτό το πρόβλημα δημιουργώντας με ασφάλεια τυχαία αποτελέσματα εκτός αλυσίδας, τα οποία μεταδίδουν εντός αλυσίδας μαζί με κρυπτογραφικές αποδείξεις που πιστοποιούν την απρόβλεπτη φύση της διαδικασίας. Ένα παράδειγμα είναι το [Chainlink VRF](https://docs.chain.link/docs/chainlink-vrf/) (Verifiable Random Function), το οποίο είναι μια αποδεδειγμένα δίκαιη και ανθεκτική σε παραβιάσεις τυχαία γεννήτρια αριθμών (RNG), χρήσιμη για την κατασκευή αξιόπιστων έξυπνων συμβολαίων για εφαρμογές που βασίζονται σε απρόβλεπτα αποτελέσματα. Ένα άλλο παράδειγμα είναι το [API3 QRNG](https://docs.api3.org/explore/qrng/) που παρέχει τη γεννήτρια κβαντικών τυχαίων αριθμών (QRNG) είναι μια δημόσια μέθοδος Web3 RNG που βασίζεται σε κβαντικά φαινόμενα, που παρέχεται με την ευγένεια του Αυστραλιανού Εθνικού Πανεπιστημίου (ANU).
+
+### Λήψη αποτελεσμάτων για γεγονότα {#getting-outcomes-for-events}
+
+Με τα oracle, η δημιουργία έξυπνων συμβολαίων που ανταποκρίνονται σε πραγματικά γεγονότα είναι εύκολη. Οι υπηρεσίες oracle το καθιστούν αυτό δυνατό επιτρέποντας στα συμβόλαια να συνδέονται με εξωτερικά API μέσω στοιχείων εκτός αλυσίδας και να χρησιμοποιούν πληροφορίες από αυτές τις πηγές δεδομένων. Για παράδειγμα, η προαναφερθείσα εφαρμογή πρόβλεψης μπορεί να ζητήσει από ένα oracle να επιστρέψει τα αποτελέσματα εκλογών από μια αξιόπιστη πηγή εκτός αλυσίδας (π.χ., το Associated Press).
+
+Η χρήση oracle για την ανάκτηση δεδομένων με βάση πραγματικά αποτελέσματα επιτρέπει άλλες πρωτοποριακές περιπτώσεις χρήσης. Για παράδειγμα, ένα αποκεντρωμένο ασφαλιστικό προϊόν χρειάζεται ακριβείς πληροφορίες για τον καιρό, καταστροφές κ. λπ. για να λειτουργήσει αποτελεσματικά.
+
+### Αυτόματη εκτέλεση έξυπνων συμβολαίων {#automating-smart-contracts}
+
+Τα έξυπνα συμβόλαια δεν εκτελούνται αυτόματα, αλλά ένας εξωτερικά κατεχόμενος λογαριασμός (EOA) ή ένας άλλος λογαριασμός συμβολαίου πρέπει να ενεργοποιήσει τις σωστές συναρτήσεις για να εκτελέσει τον κώδικα του συμβολαίου. Στις περισσότερες περιπτώσεις, το μεγαλύτερο μέρος των συναρτήσεων του συμβολαίου είναι δημόσιες και μπορούν να κληθούν από EOA και άλλα συμβόλαια.
+
+Υπάρχουν όμως και _ιδιωτικές συναρτήσεις_ μέσα σε ένα συμβόλαιο που είναι απρόσιτες για άλλους, αλλά είναι κρίσιμες για τη συνολική λειτουργικότητα μιας εφαρμογής. Παραδείγματα περιλαμβάνουν μια συνάρτηση `mintERC721Token()` που δημιουργεί περιοδικά νέα NFT για τους χρήστες, μια συνάρτηση για την απονομή πληρωμών σε μια αγορά πρόβλεψης ή μια συνάρτηση για το ξεκλείδωμα των δεσμευμένων ψηφιακών στοιχείων σε ένα DEX.
+
+Οι προγραμματιστές θα πρέπει να ενεργοποιούν τέτοιες συναρτήσεις σε διαστήματα για να διατηρούν την ομαλή λειτουργία της εφαρμογής. Ωστόσο, αυτό μπορεί να οδηγήσει σε περισσότερες ώρες να χάνονται σε βαρετές εργασίες για τους προγραμματιστές, γι' αυτό η αυτοματοποίηση της εκτέλεσης έξυπνων συμβολαίων είναι ελκυστική.
+
+Ορισμένα αποκεντρωμένα δίκτυα oracle προσφέρουν υπηρεσίες αυτοματισμού, οι οποίες επιτρέπουν στους κόμβους oracle εκτός αλυσίδας να ενεργοποιούν συναρτήσεις έξυπνου συμβολαίου σύμφωνα με τις παραμέτρους που ορίζει ο χρήστης. Τυπικά, αυτό απαιτεί την "εγγραφή" του συμβολαίου προορισμού στην υπηρεσία oracle, την παροχή κεφαλαίων για την πληρωμή του χειριστή oracle και τον καθορισμό των συνθηκών ή των χρονικών στιγμών ενεργοποίησης του συμβολαίου.
+
+Το [Keeper Network](https://chain.link/keepers) της Chainlink παρέχει επιλογές για τα έξυπνα συμβόλαια να εξωτερικεύσουν τις τακτικές εργασίες συντήρησης με ελαχιστοποιημένη εμπιστοσύνη και αποκεντρωμένο τρόπο. Διαβάστε την επίσημη [τεκμηρίωση του Keeper](https://docs.chain.link/docs/chainlink-keepers/introduction/) για πληροφορίες σχετικά με τη δημιουργία του συμβολαίου σας συμβατό με Keeper και χρήση της υπηρεσίας Upkeep.
+
+## Πώς να χρησιμοποιήσετε oracles κρυπτοαλυσίδας {#use-blockchain-oracles}
+
+Υπάρχουν πολλές εφαρμογές oracle που μπορείτε να ενσωματώσετε στο έξυπνο συμβόλαιο Ethereum σας:
+
+**[Chainlink](https://chain.link/)** - _Τα αποκεντρωμένα δίκτυα oracle της Chainlink παρέχουν αμετάβλητες εισόδους, εξόδους και υπολογισμούς για την υποστήριξη προηγμένων έξυπνων συμβολαίων σε οποιαδήποτε κρυπτοαλυσίδα._
+
+**[RedStone Oracles](https://redstone.finance/)** - _Το RedStone είναι ένα αποκεντρωμένο αρθρωτό oracle που παρέχει τροφοδοσίες δεδομένων βελτιστοποιημένες για gas. Εξειδικεύεται στην προσφορά ροών τιμών για αναδυόμενα περιουσιακά στοιχεία, όπως ρευστότητα κρύπτο αποθήκευσης κεφαλαίου (LST), στοιχεία επαναδιαθέσεως ρευστότητας (LRT) και παράγωγα αποθήκευσης κεφαλαίου Bitcoin._
+
+**[Chronicle](https://chroniclelabs.org/)** - _Η Chronicle ξεπερνά τους τρέχοντες περιορισμούς της μεταφοράς δεδομένων στην αλυσίδα αναπτύσσοντας πραγματικά κλιμακωτά, οικονομικά αποδοτικά, αποκεντρωμένα και επαληθεύσιμα oracles._
+
+**[Witnet](https://witnet.io/)** - _Το Witnet είναι ένα ανεξάρτητο, αποκεντρωμένο και ανθεκτικό στη λογοκρισία oracle που βοηθά τα έξυπνα συμβόλαια να αντιδρούν σε πραγματικά γεγονότα με ισχυρές εγγυήσεις κρυπτο-οικονομίας._
+
+**[Oracle UMA](https://uma.xyz)** - _Το optimistic oracle της UMA επιτρέπει στα έξυπνα συμβόλαια να λαμβάνουν γρήγορα οποιοδήποτε είδος δεδομένων για διαφορετικές εφαρμογές, συμπεριλαμβανομένων των ασφαλίσεων, των χρηματοοικονομικών παραγώγων και των αγορών προβλέψεων._
+
+**[Tellor](https://tellor.io/)** - _Το Tellor είναι ένα διαφανές και ανεξάρτητο πρωτόκολλο oracle για το έξυπνο συμβόλαιό σας για να λαμβάνει εύκολα οποιαδήποτε δεδομένα όποτε τα χρειάζεται._
+
+**[Band Protocol](https://bandprotocol.com/)** - _Το Band Protocol είναι μια διαλειτουργική πλατφόρμα δεδομένων oracle που συγκεντρώνει και συνδέει πραγματικά δεδομένα και API με έξυπνα συμβόλαια._
+
+**[Paralink](https://paralink.network/)** - _Η Paralink παρέχει μια ανοιχτού κώδικα και αποκεντρωμένη πλατφόρμα oracle για έξυπνα συμβόλαια που εκτελούνται στο Ethereum και σε άλλες δημοφιλείς κρυπτοαλυσίδες._
+
+**[Δίκτυο Pyth](https://pyth.network/)** - _Το δίκτυο Pyth είναι ένα δίκτυο οικονομικών oracle πρώτου μέρους σχεδιασμένο να δημοσιεύει συνεχώς πραγματικά δεδομένα στην αλυσίδα σε ένα ανθεκτικό στην παραβίαση, αποκεντρωμένο και αυτοβιώσιμο περιβάλλον_.
+
+**[API3 DAO](https://www.api3.org/)** - _Το API3 DAO παρέχει λύσεις oracle πρώτου μέρους που προσφέρουν μεγαλύτερη διαφάνεια πηγής, ασφάλεια και κλιμακωσιμότητα σε μια αποκεντρωμένη λύση για έξυπνα συμβόλαια._
+
+**[Supra](https://supra.com/)** - Ένα κάθετα ενσωματωμένο κιτ εργαλείων λύσεων διαλειτουργικότητας που συνδέει όλες τις κρυπτοαλυσίδες, δημόσιες (L1 και L2) ή ιδιωτικές (επιχειρήσεις), παρέχοντας αποκεντρωμένες ροές τιμών oracle που μπορούν να χρησιμοποιηθούν για περιπτώσεις χρήσης στην αλυσίδα ή εκτός αλυσίδας.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+**Άρθρα**
+
+- [Τι είναι μια oracle κρυπτοαλυσίδα;](https://chain.link/education/blockchain-oracles) — _Chainlink_
+- [Τι είναι μια oracle κρυπτοαλυσίδα;](https://betterprogramming.pub/what-is-a-blockchain-oracle-f5ccab8dbd72) — _Patrick Collins_
+- [Αποκεντρωμένες oracles: μια ολοκληρωμένη επισκόπηση](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) — _Julien Thevenard_
+- [Υλοποίηση μιας oracle κρυπτοαλυσίδας στο Ethereum](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) – _Pedro Costa_
+- [Γιατί τα έξυπνα συμβόλαια δεν μπορούν να κάνουν κλήσεις API;](https://ethereum.stackexchange.com/questions/301/why-cant-contracts-make-api-calls) — _StackExchange_
+- [Γιατί χρειαζόμαστε αποκεντρωμένα oracles](https://newsletter.banklesshq.com/p/why-we-need-decentralized-oracles) — _Bankless_
+- [Άρα θέλετε να χρησιμοποιήσετε ένα oracle τιμής](https://samczsun.com/so-you-want-to-use-a-price-oracle/) — _samczsun_
+
+**Βίντεο**
+
+- [Oracles και η επέκταση της χρησιμότητας της κρυπτοαλυσίδας](https://youtu.be/BVUZpWa8vpw) — _Real Vision Finance_
+- [Οι διαφορές μεταξύ των oracles πρώτου και τρίτου μέρους](https://blockchainoraclesummit.io/first-party-vs-third-party-oracles/) - _Blockchain Oracle Summit_
+
+**Σεμινάρια**
+
+- [Πώς να λάβετε την τρέχουσα τιμή του Ethereum σε Solidity](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) — _Chainlink_
+- [Κατανάλωση δεδομένων Oracle](https://docs.chroniclelabs.org/Developers/tutorials/Remix) — _Chronicle_
+
+**Παραδείγματα έργων**
+
+- [Πλήρες έργο εκκίνησης Chainlink για Ethereum σε Solidit](https://github.com/hackbg/chainlink-fullstack) — _HackBG_
diff --git a/public/content/translations/el/developers/docs/programming-languages/dart/index.md b/public/content/translations/el/developers/docs/programming-languages/dart/index.md
new file mode 100644
index 00000000000..99b7abb2ef6
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/dart/index.md
@@ -0,0 +1,28 @@
+---
+title: Ethereum για προγραμματιστές Dart
+description: Μάθετε προγραμματισμό με τη γλώσσα Dart για το Ethereum
+lang: el
+incomplete: true
+---
+
+## Ξεκινώντας με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+## Σεμινάρια {#tutorials}
+
+- [Flutter και Blockchain – Hello World Dapp](https://www.geeksforgeeks.org/flutter-and-blockchain-hello-world-dapp/) σας βοηθά με όλα τα βήματα που χρειάζεται για να ξεκινήσετε:
+ 1. Σύνταξη έξυπνου συμβολαίου με την [Solidity](https://soliditylang.org/)
+ 2. Σύνταξη ενός περιβάλλοντος εργασίας χρήστη με την Dart
+- [Η κατασκευή ενός Mobile dapp με την Flutter](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a) είναι πολύ συντομότερη, πιθανός και καλύτερη εάν γνωρίζετε ήδη τα βασικά
+- Εάν προτιμάτε την εκπαίδευση παρακολουθώντας βίντεο, μπορείτε να δείτε το [Κατασκευάστε την πρώτη σας εφαρμογή Blockchain με τη Flutter](https://www.youtube.com/watch?v=3Eeh3pJ6PeA), το οποίο διαρκεί περίπου μία ώρα
+- Εάν είστε ανυπόμονοι, ίσως προτιμάτε το [Κατασκευή αποκεντρωμένης εφαρμογής Blockchain με τη Flutter και τη Dart στο Ethereum](https://www.youtube.com/watch?v=jaMFEOCq_1s), το οποίο διαρκεί περίπου είκοσι λεπτά
+- [Ενσωμάτωση του MetaMask σε εφαρμογή της Flutterr με Web3Modal από τη WalletConnect](https://www.youtube.com/watch?v=v_M2buHCpc4) - αυτό το σύντομο βίντεο παρουσιάζει τα βήματα που χρειάζονται για την ενσωμάτωση του MetaMask στις εφαρμογές Flutter με βιβλιοθήκη [Web3Modal](https://pub.dev/packages/web3modal_flutter) από τη WalletConnect
+- [Μάθημα Bootcamp για προγραμματιστές Blockchain για κινητά με Solidity & Flutter](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) είναι μια λίστα αναπαραγωγής μαθημάτων για προγραμματιστές blockchain για κινητές συσκευές πλήρους στοίβας.
+
+## Δουλεύοντας με εφαρμογές πελάτη Ethereum {#working-with-ethereum-clients}
+
+Μπορείτε να xρησιμοποιήσετε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή αλλιώς "dapps") που θα χρησιμοποιούν τα οφέλη της τεχνολογίας των κρυπτονομισμάτων και της τεχνολογίας blockchain. Υπάρχουν τουλάχιστον δύο βιβλιοθήκες που υποστηρίζονται για χρήση του Dart [JSON-RPC API](/developers/docs/apis/json-rpc/) στο Ethereum.
+
+1. [Web3dart από το simonbutler.eu](https://pub.dev/packages/web3dart)
+1. [Ethereum 5.0.0 από το darticulate.com](https://pub.dev/packages/ethereum)
+
+Υπάρχουν επίσης πρόσθετες βιβλιοθήκες που σας επιτρέπουν να χειρίζεστε συγκεκριμένες διευθύνσεις Ethereum, ή που σας επιτρέπουν να ανακτήσετε τις τιμές διαφόρων κρυπτονομισμάτων. [Μπορείτε να δείτε την πλήρη λίστα εδώ](https://pub.dev/dart/packages?q=ethereum).
diff --git a/public/content/translations/el/developers/docs/programming-languages/delphi/index.md b/public/content/translations/el/developers/docs/programming-languages/delphi/index.md
new file mode 100644
index 00000000000..7003207b06a
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/delphi/index.md
@@ -0,0 +1,56 @@
+---
+title: Ethereum για προγραμματιστές Delphi
+description: Μάθετε πώς να αναπτύσσετε για το Ethereum χρησιμοποιώντας τη γλώσσα προγραμματισμού Delphi.
+lang: el
+incomplete: true
+---
+
+
+
+Μάθετε πώς να αναπτύσσετε για το Ethereum χρησιμοποιώντας τη γλώσσα προγραμματισμού Delphi.
+
+
+
+Χρησιμοποιήστε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή αλλιώς "dapps") που θα χρησιμοποιούν τα οφέλη της τεχνολογίας των κρυπτονομισμάτων και της αλυσίδας των μπλοκ. Αυτά τα dapps μπορούν να είναι αξιόπιστα, πράγμα που σημαίνει ότι μόλις αναπτυχθούν στο Ethereum, θα λειτουργούν πάντοτε όπως έχουν προγραμματιστεί. Μπορούν να ελέγχουν ψηφιακά στοιχεία προκειμένου να δημιουργήσουν νέα είδη χρηματοοικονομικών εφαρμογών. Μπορούν να είναι αποκεντρωμένα, πράγμα που σημαίνει ότι καμία υπηρεσία ή άτομο δεν τα ελέγχει και είναι σχεδόν αδύνατο να λογοκριθούν.
+
+Δημιουργήστε αποκεντρωμένες εφαρμογές στο Ethereum και αλληλεπιδράστε με έξυπνα συμβόλαια χρησιμοποιώντας τη γλώσσα προγραμματισμού Delphi!
+
+## Ξεκινώντας με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-the-solidity-language}
+
+**Δείτε τι χρειάζεται για να ξεκινήσετε με τη Delphi στο Ethereum**
+
+Χρειάζεστε κάτι πιο βασικό αρχικά; Επισκεφθείτε το [ethereum.org/learn](/learn/) ή το [ethereum.org/developers](/developers/).
+
+- [Τι είναι η αλυσίδα των μπλοκ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Συντάξτε το πρώτο σας έξυπνο συμβόλαιο](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Μάθετε ανάπτυξη και μεταγλώττιση με τη Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Αναφορές και σύνδεσμοι για αρχάριους {#beginner-references-and-links}
+
+**Εισαγωγή στη βιβλιοθήκη Delphereum**
+
+- [Τι είναι το Delphereum;](https://github.com/svanas/delphereum/blob/master/README.md)
+- [Σύνδεση της Deplhi σε μια τοπική (στη μνήμη) κρυπτοαλυσίδα](https://medium.com/@svanas/connecting-delphi-to-a-local-in-memory-blockchain-9a1512d6c5b0)
+- [Σύνδεση της Delphi με το κεντρικό δίκτυο του Ethereum](https://medium.com/@svanas/connecting-delphi-to-the-ethereum-main-net-5faf1feffd83)
+- [Σύνδεση Delphi με έξυπνα συμβόλαια](https://medium.com/@svanas/connecting-delphi-to-smart-contracts-3146b12803a1)
+
+**Παράλειψη ρυθμίσεων και μετάβαση στα παραδείγματα;**
+
+- [Ένα έξυπνο συμβόλαιο 3 λεπτών και η Delphi - Μέρος 1](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-61d998571d)
+- [Ένα έξυπνο συμβόλαιο 3 λεπτών και η Delphi - Μέρος 2](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-part-2-446925faa47b)
+
+## Άρθρα μεσαίας δυσκολίας {#intermediate-articles}
+
+- [Δημιουργία μηνύματος υπογραφής Ethereum με την Delphi](https://medium.com/@svanas/generating-an-ethereum-signed-message-signature-in-delphi-75661ce5031b)
+- [Μεταφορά ether με Delphi](https://medium.com/@svanas/transferring-ether-with-delphi-b5f24b1a98a4)
+- [Μεταφορά κρυπτονομισμάτων ERC-20 με Delphi](https://medium.com/@svanas/transferring-erc-20-tokens-with-delphi-bb44c05b295d)
+
+## Πρότυπα χρήσης για προχωρημένους {#advanced-use-patterns}
+
+- [Η Delphi και η υπηρεσία ονόματος Ethereum (ENS)](https://medium.com/@svanas/delphi-and-ethereum-name-service-ens-4443cd278af7)
+- [QuikNode, Ethereum και Delphi](https://medium.com/@svanas/quiknode-ethereum-and-delphi-f7bfc9671c23)
+- [Η Delphi και το Ethereum Dark Forest](https://svanas.medium.com/delphi-and-the-ethereum-dark-forest-5b430da3ad93)
+- [Μετατροπή κρυπτονομίσματος με την Delphi](https://svanas.medium.com/swap-one-token-for-another-in-delphi-bcb999c47f7)
+
+Χρειάζεστε περισσότερες πληροφορίες; Επισκεφθείτε το [ethereum.org/developers](/developers/).
diff --git a/public/content/translations/el/developers/docs/programming-languages/dot-net/index.md b/public/content/translations/el/developers/docs/programming-languages/dot-net/index.md
new file mode 100644
index 00000000000..1d64580e60b
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/dot-net/index.md
@@ -0,0 +1,86 @@
+---
+title: Ethereum για προγραμματιστές .NET
+description: Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων στη .NET
+lang: el
+incomplete: true
+---
+
+Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων στη .NET
+
+Χρησιμοποιήστε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή αλλιώς "dapps") που θα χρησιμοποιούν τα οφέλη της τεχνολογίας των κρυπτονομισμάτων και της αλυσίδας των μπλοκ. Αυτά τα dapps μπορούν να είναι αξιόπιστα, πράγμα που σημαίνει ότι μόλις αναπτυχθούν στο Ethereum, θα λειτουργούν πάντοτε όπως έχουν προγραμματιστεί. Μπορούν να ελέγχουν ψηφιακά στοιχεία προκειμένου να δημιουργήσουν νέα είδη χρηματοοικονομικών εφαρμογών. Μπορούν να είναι αποκεντρωμένα, πράγμα που σημαίνει ότι καμία υπηρεσία ή άτομο δεν τα ελέγχει και είναι σχεδόν αδύνατο να λογοκριθούν.
+
+Δημιουργήστε αποκεντρωμένες εφαρμογές πάνω από το Ethereum και αλληλεπιδράστε με έξυπνα συμβόλαια χρησιμοποιώντας εργαλεία και γλώσσες από τη στοίβα τεχνολογίας της Microsoft — Υποστήριξη C#, # Visual Basic .NET, F#, σε εργαλεία όπως VSCode και Visual Studio, σε .NET Framework/.NET Core /.NET Standard. Αναπτύξτε ένα Ethereum blockchain στο Azure χρησιμοποιώντας το Microsoft Azure Blockchain μέσα σε λίγα λεπτά. Φέρτε την αγάπη του .NET στο Ethereum!
+
+## Ξεκινώντας με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-the-solidity-language}
+
+**Δείτε τι χρειάζεται για να ξεκινήσετε με τη .NET στο Ethereum**
+
+Χρειάζεστε κάτι πιο βασικό αρχικά; Επισκεφθείτε το [ethereum.org/learn](/learn/) ή το [ethereum.org/developers](/developers/).
+
+- [Τι είναι η αλυσίδα των μπλοκ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Συντάξτε το πρώτο σας έξυπνο συμβόλαιο](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Μάθετε ανάπτυξη και μεταγλωττισμό με τη Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Αναφορές και σύνδεσμοι για αρχάριους {#beginner-references-and-links}
+
+**Παρουσιάζοντας τη βιβλιοθήκη Nethereum και τον κώδικα VS Solidity**
+
+- [Ξεκινώντας με την Nethereum](https://docs.nethereum.com/en/latest/getting-started/)
+- [Εγκατάσταση του VS Code Solidity](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity)
+- [Ροή εργασιών προγραμματιστή .NET για τη δημιουργία και την κλήση έξυπνων συμβολαίων Ethereum](https://medium.com/coinmonks/a-net-developers-workflow-for-creating-and-calling-ethereum-smart-contracts-44714f191db2)
+- [Ενσωμάτωση έξυπνων συμβολαίων με το Nethereum](https://kauri.io/#collections/Getting%20Started/smart-contracts-integration-with-nethereum/#smart-contracts-integration-with-nethereumm)
+- [Δημιουργώντας με τη .NET και τα έξυπνα συμβόλαια της αλυσίδας των μπλοκ του Ethereum, με το Nethereum](https://medium.com/my-blockchain-development-daily-journey/interfacing-net-and-ethereum-blockchain-smart-contracts-with-nethereum-2fa3729ac933), επίσης στο [中文版](https://medium.com/my-blockchain-development-daily-journey/%E4%BD%BF%E7%94%A8nethereum%E9%80%A3%E6%8E%A5-net%E5%92%8C%E4%BB%A5%E5%A4%AA%E7%B6%B2%E5%8D%80%E5%A1%8A%E9%8F%88%E6%99%BA%E8%83%BD%E5%90%88%E7%B4%84-4a96d35ad1e1)
+- [Nethereum - Μια βιβλιοθήκη ενσωμάτωσης την .NET ανοιχτού κώδικα, για αλυσίδες μπλοκ](https://kauri.io/#collections/a%20hackathon%20survival%20guide/nethereum-an-open-source-.net-integration-library/)
+- [Εγγραφή συναλλαγών Ethereum στη βάση δεδομένων SQL με χρήση του Nethereum](https://medium.com/coinmonks/writing-ethereum-transactions-to-sql-database-using-nethereum-fd94e0e4fa36)
+- [Δείτε πώς μπορείτε να αναπτύξετε εύκολα τα έξυπνα συμβόλαια Ethereum χρησιμοποιώντας C# και VisualStudio](https://koukia.ca/deploy-ethereum-smart-contracts-using-c-and-visualstudio-5be188ae928c)
+
+**Παράλειψη ρυθμίσεων και μετάβαση στα παραδείγματα;**
+
+- [Playground](http://playground.nethereum.com/) - Αλληλεπιδράστε με το Ethereum και μάθετε πώς να χρησιμοποιείτε το Nethereum μέσω του φυλλομετρητή.
+ - Ερώτημα υπολοίπου λογαριασμού [C#](http://playground.nethereum.com/csharp/id/1001) [VB.NET](http://playground.nethereum.com/vb/id/2001)
+ - Ερώτημα υπολοίπου έξυπνου συμβολαίου ERC20[C#](http://playground.nethereum.com/csharp/id/1005) [VB.NET](http://playground.nethereum.com/vb/id/2004)
+ - Μεταφορά ether σε λογαριασμό [C#](http://playground.nethereum.com/csharp/id/1003) [VB.NET](http://playground.nethereum.com/vb/id/2003)
+ - ... Και πολλά άλλα!
+
+## Άρθρα μεσαίας δυσκολίας {#intermediate-articles}
+
+- [Βιβλίο εργασίας Nethereum/Δείγμα λίστας](http://docs.nethereum.com/en/latest/Nethereum.Workbooks/docs/)
+- [Αναπτύξτε τις δικές σας αλυσίδες δοκιμών ανάπτυξης](https://github.com/Nethereum/Testchains)
+- [Πρόσθετο VSCode Codegen για Solidity](https://docs.nethereum.com/en/latest/nethereum-codegen-vscodesolidity/)
+- [Unity και Ethereum: Γιατί και πώς](https://www.raywenderlich.com/5509-unity-and-ethereum-why-and-how)
+- [Δημιουργία ASP.NET Core Web API για Ethereum dapps](https://tech-mint.com/blockchain/create-asp-net-core-web-api-for-ethereum-dapps/)
+- [Χρήση Nethereum Web3 για εφαρμογή ενός συστήματος παρακολούθησης της αλυσίδας εφοδιασμού](http://blog.pomiager.com/post/using-nethereum-web3-to-implement-a-supply-chain-traking-system4)
+- [Επεξεργασία μπλοκ Nethereum](https://nethereum.readthedocs.io/en/latest/nethereum-block-processing-detail/), με [δείγμα C# Playground](http://playground.nethereum.com/csharp/id/1025)
+- [Nethereum Websocket Streaming](https://nethereum.readthedocs.io/en/latest/nethereum-subscriptions-streaming/)
+- [Kaleido και Nethereum](https://kaleido.io/kaleido-and-nethereum/)
+- [Quorum και Nethereum](https://github.com/Nethereum/Nethereum/blob/master/src/Nethereum.Quorum/README.md)
+
+## Πρότυπα χρήσης για προχωρημένους {#advanced-use-patterns}
+
+- [Azure Key Vault και Nethereum](https://github.com/Azure-Samples/bc-community-samples/tree/master/akv-nethereum)
+- [Nethereum.DappHybrid](https://github.com/Nethereum/Nethereum.DappHybrid)
+- [Αρχιτεκτονική αναφοράς backend Ujo Nethereum](https://docs.nethereum.com/en/latest/nethereum-ujo-backend-sample/)
+
+## Έργα .NET, εργαλεία και άλλα χρήσιμα {#dot-net-projects-tools-and-other-fun-stuff}
+
+- [Nethereum Playground](http://playground.nethereum.com/) - _Μεταγλώττιση, δημιουργία και εκτέλεση κώδικα Nethereum snippets στο πρόγραμμα περιήγησης_
+- [Nethereum Codegen Blazor](https://github.com/Nethereum/Nethereum.CodeGen.Blazor) - _Nethereum codegen με διεπαφή χρήστη στο Blazo_
+- [Nethereum Blazor](https://github.com/Nethereum/NethereumBlazor) - _Ελαφρύς εξερευνητής blockchain και απλό πορτοφόλι .NET Wasm SPA_
+- [Wonka Business Rules Engine](https://docs.nethereum.com/en/latest/wonka/) - _Μηχανή επιχειρηματικών κανόνων (για την πλατφόρμα .NET και την πλατφόρμα Ethereum) που είναι εγγενώς καθοδηγούμενη από μεταδεδομένα_
+- [Nethermind](https://github.com/NethermindEth/nethermind) - _A .NET Βασικό λογισμικό πελάτη Ethereum για Linux, Windows, MacOS_
+- [eth-utils](https://github.com/ethereum/eth-utils/) - _βοηθητικές λειτουργίες για την εργασία με βάσεις κώδικα που σχετίζονται με το Ethereum_
+- [TestChains](https://github.com/Nethereum/TestChains) - _Προδιαμορφωμένα devchain .NET για γρήγορη απόκριση (PoA)_
+
+Χρειάζεστε περισσότερες πληροφορίες; Επισκεφθείτε το [ethereum.org/developers](/developers/).
+
+## Συνεισφέροντες κοινότητας .NET {#dot-net-community-contributors}
+
+Στο Nethereum, συνήθως κάνουμε παρέα στο [Gitter](https://gitter.im/Nethereum/Nethereum) όπου όλοι είναι ευπρόσδεκτοι να υποβάλλουν ή να απαντήσουν σε ερωτήσεις, να λάβουν βοήθεια ή απλώς να χαλαρώσουν. Μη διστάσετε να κάνετε ένα PR ή να ανοίξετε ένα ζήτημα στο [Nethereum GitHub repository](https://github.com/Nethereum) ή απλώς να περιηγηθείτε στα πολλά παρόμοια-δείγματα έργων που έχουμε. Μπορείτε να μας βρείτε στο [Discord](https://discord.gg/jQPrR58FxX)!
+
+Εάν είστε καινούργιοι στο Nethermind και χρειάζεστε βοήθεια για να ξεκινήσετε, εγγραφείτε στο [Discord](http://discord.gg/PaCMRFdvWT). Οι προγραμματιστές μας θα απαντήσουν σε όλες σας τις ερωτήσεις. Μη διστάσετε να υποβάλλετε ένα ζήτημα ή ερώτημα στο [αποθετήριο Nethermind στο GitHub](https://github.com/NethermindEth/nethermind).
+
+## Άλλες συγκεντρωτικές λίστες {#other-aggregated-lists}
+
+[Επίσημος ιστότοπος Nethereum](https://nethereum.com/)
+[Επίσημος ιστότοπος Nethermind](https://nethermind.io/)
diff --git a/public/content/translations/el/developers/docs/programming-languages/elixir/index.md b/public/content/translations/el/developers/docs/programming-languages/elixir/index.md
new file mode 100644
index 00000000000..0159ac63493
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/elixir/index.md
@@ -0,0 +1,55 @@
+---
+title: Ethereum για προγραμματιστές Elixir
+description: Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στην Elixir.
+lang: el
+incomplete: false
+---
+
+Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στην Elixir.
+
+Χρησιμοποιήστε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή αλλιώς "dapps") που θα χρησιμοποιούν τα οφέλη της τεχνολογίας των κρυπτονομισμάτων και της αλυσίδας των μπλοκ. Αυτές οι dapps μπορούν να είναι αξιόπιστες, πράγμα που σημαίνει ότι μόλις αναπτυχθούν στο Ethereum, θα λειτουργούν πάντοτε όπως έχουν προγραμματιστεί. Μπορούν να ελέγχουν ψηφιακά στοιχεία προκειμένου να δημιουργήσουν νέα είδη χρηματοοικονομικών εφαρμογών. Μπορούν να είναι αποκεντρωμένα, πράγμα που σημαίνει ότι καμία υπηρεσία ή άτομο δεν τα ελέγχει και είναι σχεδόν αδύνατο να λογοκριθούν.
+
+## Ξεκινήστε με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Δείτε τι χρειάζεται για να ξεκινήσετε με την Elixir στο Ethereum**
+
+Χρειάζεστε κάτι πιο βασικό αρχικά; Επισκεφθείτε το [ethereum.org/learn](/learn) ή το [ethereum.org/developers](/developers/).
+
+- [Εξήγηση Blockchain](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Συντάξτε το πρώτο έξυπνο συμβόλαιό σας](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Μάθετε μεταγλώττιση και ανάπτυξη με Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Άρθρα για αρχάριους {#beginner-articles}
+
+- [Κατανοώντας τους λογαριασμούς Ethereum](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe)
+- [Ethers — Μιας πρώτης τάξεως βιβλιοθήκη Web3 Ethereum για Elixir](https://medium.com/@alisinabh/announcing-ethers-a-first-class-ethereum-web3-library-for-elixir-1d64e9409122)
+
+## Άρθρα για προχωρημένους {#intermediate-articles}
+
+- [Πώς να υπογράψετε ανεπεξέργαστες συναλλαγές συμβολαίων Ethereum με την Elixir](https://kohlerjp.medium.com/how-to-sign-raw-ethereum-contract-transactions-with-elixir-f8822bcc813b)
+- [Έξυπνα συμβόλαια Ethereum και Elixir](https://medium.com/agile-alpha/ethereum-smart-contracts-and-elixir-c7c4b239ddb4)
+
+## Έργα και εργαλεία Elixir {#elixir-projects-and-tools}
+
+### Αρχείο {#active}
+
+- [block_keys](https://github.com/ExWeb3/block_keys) - _BIP32 & BIP44 Εφαρμογή στο Elixir (Ιεραρχία πολλών λογαριασμών για ντετερμινιστικά πορτοφόλια)_
+- [ethereumex](https://github.com/mana-ethereum/ethereumex) - _Πελάτης Elixir JSON-RPC για Ethereum blockchain_
+- [ethers](https://github.com/ExWeb3/elixir_ethers) - _Μια ολοκληρωμένη βιβλιοθήκη Web3 για αλληλεπίδραση με έξυπνα συμβόλαια στο Ethereum χρησιμοποιώντας την Elixir_
+- [ethers_kms](https://github.com/ExWeb3/elixir_ethers_kms) - _Μια βιβλιοθήκη για υπογράφοντες KMS για Ethers (υπογραφή συναλλαγών με AWS KMS)_
+- [ex_abi](https://github.com/poanetwork/ex_abi) - _Ethereum ABI υλοποίηση αναλυτή/αποκωδικοποιητή/κωδικοποιητή στην Elixir_
+- [ex_keccak](https://github.com/ExWeb3/ex_keccak) - _Βιβλιοθήκη Elixir για υπολογισμό των κατακερματισμών Keccak SHA3-256 με χρήση ενός μικροσκοπικού κιβωτίου τύπου Keccak Rust κατασκευασμένου με NIF_
+- [ex_rlp](https://github.com/mana-ethereum/ex_rlp) - _Υλοποίηση Elixir της κωδικοποίησης RLP (Recursive Length Prefix) του Ethereum_
+
+### Αρχειοθετήθηκε / Δεν ενημερώνεται {#archived--no-longer-maintained}
+
+- [eth](https://hex.pm/packages/eth) - _Βοηθητικά προγράμματα Ethereum για Elixir_
+- [exw3](https://github.com/hswick/exw3) - _Υψηλού επιπέδου πελάτης Ethereum RPC για Elixir_
+- [mana](https://github.com/mana-ethereum/mana) - _Εφαρμογή πλήρους κόμβου Ethereum γραμμένη σε Elixir_
+
+Χρειάζεστε περισσότερες πληροφορίες; Δείτε την [αρχική σελίδα για τους προγραμματιστές μας](/developers/).
+
+## Εθελοντές κοινότητας Elixir {#elixir-community-contributors}
+
+Το [Elixir's Slack #ethereum channel](https://elixir-lang.slack.com/archives/C5RPZ3RJL) φιλοξενεί μια ταχέως αναπτυσσόμενη κοινότητα και αποτελεί τον αποκλειστικό πόρο για συζητήσεις για οποιοδήποτε από τα παραπάνω έργα και σχετικά θέματα.
diff --git a/public/content/translations/el/developers/docs/programming-languages/golang/index.md b/public/content/translations/el/developers/docs/programming-languages/golang/index.md
new file mode 100644
index 00000000000..67260d4f52a
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/golang/index.md
@@ -0,0 +1,84 @@
+---
+title: Ethereum για προγραμματιστές Go
+description: Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στη Go
+lang: el
+incomplete: true
+---
+
+Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στη Go
+
+Χρησιμοποιήστε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή "dapps"). Αυτά τα dapps μπορούν να είναι αξιόπιστα, πράγμα που σημαίνει ότι μόλις αναπτυχθούν στο Ethereum, θα λειτουργούν πάντοτε όπως έχουν προγραμματιστεί. Είναι αποκεντρωμένα, που σημαίνει ότι λειτουργούν σε δίκτυο peer-to-peer και δεν υπάρχει κανένα μεμονωμένο σημείο αποτυχίας. Καμία οντότητα ή άτομο δεν τα ελέγχει και είναι σχεδόν αδύνατο να λογοκριθούν. Μπορούν να ελέγχουν ψηφιακά στοιχεία προκειμένου να δημιουργήσουν νέα είδη εφαρμογών.
+
+## Ξεκινώντας με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Δείτε τι χρειάζεται για να ξεκινήσετε με τη Go στο Ethereum**
+
+Χρειάζεστε κάτι πιο βασικό αρχικά; Επισκεφθείτε το [ethereum.org/learn](/learn/) ή το [ethereum.org/developers](/developers/).
+
+- [Τι είναι η αλυσίδα των μπλοκ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Συντάξτε το πρώτο σας έξυπνο συμβόλαιο](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Μάθετε ανάπτυξη και μεταγλωττισμό με τη Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+- [Οδηγός εκμάθησης Συμβολαίου](https://github.com/ethereum/go-ethereum/wiki/Contract-Tutorial)
+
+## Άρθρα και βιβλία για αρχάριους {#beginner-articles-and-books}
+
+- [Ξεκινώντας με τη Geth](https://medium.com/@tzhenghao/getting-started-with-geth-c1a30b8d6458)
+- [Χρησιμοποιήστε τη Golang για να συνδεθείτε με το Ethereum](https://www.youtube.com/watch?v=-7uChuO_VzM)
+- [Αναπτύξτε έξυπνα συμβόλαια στο Ethereum με τη Golang](https://www.youtube.com/watch?v=pytGqQmDslE)
+- [Ένας οδηγός βήμα προς βήμα για τη δοκιμή και ανάπτυξη έξυπνων συμβολαίων Ethereum με τη Go](https://hackernoon.com/a-step-by-step-guide-to-testing-and-deploying-ethereum-smart-contracts-in-go-9fc34b178d78)
+- [eBook: Ethereum Development with Go](https://goethereumbook.org/) - _Ανάπτυξη εφαρμογών Ethereum με τη Go_
+
+## Μέση κατηγορία άρθρων και εγγράφων {#intermediate-articles-and-docs}
+
+- [Go Ethereum Documentation](https://geth.ethereum.org/docs/) - _Η τεκμηρίωση του επίσημου Golang του Ethereum_
+- [Erigon Programmer's Guide](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/guide.md) - _Εικονογραφημένος οδηγός που περιλαμβάνει το δέντρο κατάστασης, multi-proofs και την επεξεργασία συναλλαγών_
+- [Erigon and Stateless Ethereum](https://youtu.be/3-Mn7OckSus?t=394) - _Συνέδριο Κονότητας Ethereum 2020 (EthCC 3)_
+- [Erigon: optimising Ethereum clients](https://www.youtube.com/watch?v=CSpc1vZQW2Q) - _2018 Devcon 4_
+- [Go Ethereum GoDoc](https://godoc.org/github.com/ethereum/go-ethereum)
+- [Δημιουργία dapp σε Go με Geth](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/creating-a-dapp-in-go-with-geth/)
+- [Εργαστείτε με το ιδιωτικό δίκτυο Ethereum με Golang και Geth](https://myhsts.org/tutorial-learn-how-to-work-with-ethereum-private-network-with-golang-with-geth.php)
+- [Δοκιμή μονάδων συμβολαίων Solidity στο Ethereum με Go](https://medium.com/coinmonks/unit-testing-solidity-contracts-on-ethereum-with-go-3cc924091281)
+- [Γρήγορη αναφορά για τη χρήση του Geth ως βιβλιοθήκης](https://medium.com/coinmonks/web3-go-part-1-31c68c68e20e)
+
+## Πρότυπα χρήσης για προχωρημένους {#advanced-use-patterns}
+
+- [Το προσομοιωμένο GETH Backend](https://kauri.io/#collections/An%20ethereum%20test%20toolkit%20in%20Go/the-geth-simulated-backend/#_top)
+- [Εφαρμογές κρυπτοαλυσίδας ως υπηρεσίας που χρησιμοποιούν Ethereum και Quorum](https://blockchain.dcwebmakers.com/blockchain-as-a-service-apps-using-ethereum-and-quorum.html)
+- [Κατανεμημένος αποθηκευτικός χώρος IPFS και Swarm σε εφαρμογές Blockchain Ethereum](https://blockchain.dcwebmakers.com/work-with-distributed-storage-ipfs-and-swarm-in-ethereum.html)
+- [Πελάτες για κινητές συσκευές: Βιβλιοθήκες και κόμβοι Inproc Ethereum](https://github.com/ethereum/go-ethereum/wiki/Mobile-Clients:-Libraries-and-Inproc-Ethereum-Nodes)
+- [Εγγενείς dapp: Σύνδεση της Go σε συμβόλαια Ethereum](https://github.com/ethereum/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Ethereum-contracts)
+
+## Έργα και εργαλεία της Go {#go-projects-and-tools}
+
+- [Geth / Go Ethereum](https://github.com/ethereum/go-ethereum) - _Επίσημη υλοποίηση Go του πρωτοκόλλου Ethereum_
+- [Go Ethereum Code Analysis](https://github.com/ZtesoftCS/go-ethereum-code-analysis) - _Αξιολόγηση και ανάλυση του πηγαίου κώδικα Go Ethereum_
+- [Erigon](https://github.com/ledgerwatch/erigon) - _Ταχύτερο παράγωγο του Go Ethereum, που εστιάζει στους κόμβους αρχείου_
+- [Golem](https://github.com/golemfactory/golem) - _Το Golem δημιουργεί μια παγκόσμια αγορά για την υπολογιστική ισχύ_
+- [Quorum](https://github.com/jpmorganchase/quorum) - _Αδειοδοτημένη υλοποίηση του Ethereum που υποστηρίζει το απόρρητο των δεδομένων_
+- [Prysm](https://github.com/prysmaticlabs/prysm) - _Υλοποίηση Go του Ethereum 'Serenity' 2.0_
+- [Eth Tweet](https://github.com/yep/eth-tweet) - _Αποκεντρωμένο Twitter: Μια υπηρεσία microblogging που εκτελείται στο blockchain του Ethereum_
+- [Plasma MVP Golang](https://github.com/kyokan/plasma) — _Υλοποίηση και επέκταση Golang της προδιαγραφής Ελάχιστον Βιώσιμο Πλάσμα (Minimum Viable Plasma)_
+- [Open Ethereum Mining Pool](https://github.com/sammy007/open-ethereum-pool) - _Δεξαμενή κρυπτόρυξης ανοικτού κώδικα του Ethereum_
+- [Ethereum HD Wallet](https://github.com/miguelmota/go-ethereum-hdwallet) - _Παράγωγα του Ethereum HD Wallet derivations σε Go_
+- [Multi Geth](https://github.com/multi-geth/multi-geth) - _Υποστήριξη για πολλά είδη δικτύων Ethereum_
+- [Geth Light Client](https://github.com/zsfelfoldi/go-ethereum/wiki/Geth-Light-Client) - _Υλοποίηση του Light Ethereum Subprotocol του Geth_
+- [Ethereum Golang SDK](https://github.com/everFinance/goether) - _Απλή υλοποίηση πορτοφολιού Ethereum και βοηθήματα γενικής χρήσης σε Golang_
+- [Covalent Golang SDK](https://github.com/covalenthq/covalent-api-sdk-go) - _Αποτελεσματική πρόσβαση σε δεδομένα blockchain μέσω Go SDK για 200+ blockchain_
+
+Χρειάζεστε περισσότερες πληροφορίες; Επισκεφθείτε το [ethereum.org/developers](/developers/)
+
+## Συνεισφέροντες της κοινότητας Go {#go-community-contributors}
+
+- [Geth Discord](https://discordapp.com/invite/nthXNEv)
+- [Geth Gist](https://gitter.im/ethereum/go-ethereum)
+- [Gophers Slack](https://invite.slack.golangbridge.org/) - [#ethereum channel](https://gophers.slack.com/messages/C9HP1S9V2)
+- [StackExchange - Ethereum](https://ethereum.stackexchange.com/)
+- [Multi Geth Gitter](https://gitter.im/ethoxy/multi-geth)
+- [Ethereum Gitter](https://gitter.im/ethereum/home)
+- [Geth light Client Gitter](https://gitter.im/ethereum/light-client)
+
+## Άλλες συγκεντρωτικές λίστες {#other-aggregated-lists}
+
+- [Μοναδικό Ethereum](https://github.com/btomashvili/awesome-ethereum)
+- [Consensys: Μια οριστική λίστα εργαλείων προγραμματιστών Ethereum](https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974) | [Πηγή GitHub](https://github.com/ConsenSys/ethereum-developer-tools-list)
diff --git a/public/content/translations/el/developers/docs/programming-languages/index.md b/public/content/translations/el/developers/docs/programming-languages/index.md
new file mode 100644
index 00000000000..4f249172295
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/index.md
@@ -0,0 +1,30 @@
+---
+title: Γλώσσες προγραμματισμού
+description:
+lang: el
+---
+
+Μια κοινή παρανόηση είναι ότι οι προγραμματιστές πρέπει να γράψουν [έξυπνες συμβόλαια](/developers/docs/smart-contracts/) προκειμένου να δημιουργήσουν στο Ethereum. Αυτό είναι λάθος. Μια από τις ομορφιές του δικτύου και της κοινότητας του Ethereum είναι ότι μπορείτε να [συμμετέχετε](/community/) με οποιαδήποτε γλώσσα προγραμματισμού.
+
+Το Ethereum και η κοινότητά του αγκαλιάζει τον ανοικτό κώδικα. Μπορείτε να βρείτε έργα της κοινότητα - εφαρμογές πελάτη, API, πλαίσια ανάπτυξης, εργαλεία δοκιμών - σε μια μεγάλη ποικιλία γλωσσών προγραμματισμού.
+
+## Επιλέξτε τη γλώσσα σας {#data}
+
+Επιλέξτε τη γλώσσα προγραμματισμού που επιθυμείτε για να βρείτε έργα, πόρους και εικονικές κοινότητες:
+
+- [Ethereum για προγραμματιστές Dart](/developers/docs/programming-languages/dart/)
+- [Ethereum για προγραμματιστές Delphi](/developers/docs/programming-languages/delphi/)
+- [Ethereum για προγραμματιστές .NET](/developers/docs/programming-languages/dot-net/)
+- [Ethereum για προγραμματιστές Elixir](/developers/docs/programming-languages/elixir/)
+- [Ethereum για προγραμματιστές Go](/developers/docs/programming-languages/golang/)
+- [Ethereum για προγραμματιστές Java](/developers/docs/programming-languages/java/)
+- [Ethereum για προγραμματιστές JavaScript](/developers/docs/programming-languages/javascript/)
+- [Ethereum για προγραμματιστές Python](/developers/docs/programming-languages/python/)
+- [Ethereum για προγραμματιστές Ruby](/developers/docs/programming-languages/ruby/)
+- [Ethereum για προγραμματιστές Rust](/developers/docs/programming-languages/rust/)
+
+### Εάν δεν υποστηρίζεται η γλώσσα σας {#other-lang}
+
+Αν θέλετε να συνδεθείτε με πόρους ή να αναφερθείτε σε μια εικονική κοινότητα για μια πρόσθετη γλώσσα προγραμματισμού, μπορείτε να ζητήσετε νέα σελίδα [υποβάλλοντας σχετικό αίτημα](https://github.com/ethereum/ethereum-org-website/issues/new/choose).
+
+Εάν απλά θέλετε να γράψετε κώδικα για διασύνδεση με το blockchain με χρήση μιας τρέχουσα μη υποστηριζόμενης γλώσσας μπορείτε να χρησιμοποιήσετε το [περιβάλλον JSON-RPC](/developers/docs/apis/json-rpc/) για να συνδεθείτε στο δίκτυο του Ethereum. Οποιαδήποτε γλώσσα προγραμματισμού που μπορεί να χρησιμοποιήσει TCP/IP μπορεί να χρησιμοποιήσει αυτή τη διασύνδεση.
diff --git a/public/content/translations/el/developers/docs/programming-languages/java/index.md b/public/content/translations/el/developers/docs/programming-languages/java/index.md
new file mode 100644
index 00000000000..3a9f1ddc2cb
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/java/index.md
@@ -0,0 +1,65 @@
+---
+title: Ethereum για προγραμματιστές Java
+description: Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στη Java
+lang: el
+incomplete: true
+---
+
+Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στη Java
+
+Χρησιμοποιήστε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή αλλιώς "dapps") που θα χρησιμοποιούν τα οφέλη της τεχνολογίας των κρυπτονομισμάτων και της αλυσίδας των μπλοκ. Αυτά τα dapps μπορούν να είναι αξιόπιστα, πράγμα που σημαίνει ότι μόλις αναπτυχθούν στο Ethereum, θα λειτουργούν πάντοτε όπως έχουν προγραμματιστεί. Μπορούν να ελέγχουν ψηφιακά στοιχεία προκειμένου να δημιουργήσουν νέα είδη χρηματοοικονομικών εφαρμογών. Μπορούν να είναι αποκεντρωμένα, πράγμα που σημαίνει ότι καμία υπηρεσία ή άτομο δεν τα ελέγχει και είναι σχεδόν αδύνατο να λογοκριθούν.
+
+## Ξεκινώντας με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Δείτε τι χρειάζεται για να ξεκινήσετε με τη Java στο Ethereum**
+
+Χρειάζεστε κάτι πιο βασικό αρχικά; Επισκεφθείτε το [ethereum.org/learn](/learn/) ή [ethereum.org/developers.](/developers/)
+
+- [Τι είναι η κρυπτοαλυσίδα](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Συντάξτε το πρώτο σας έξυπνο συμβόλαιο](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Μάθετε ανάπτυξη και μεταγλωττισμό με τη Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Δουλεύοντας με εφαρμογές πελάτη Ethereum {#working-with-ethereum-clients}
+
+Μάθετε πώς να χρησιμοποιείτε το [Web3J](https://github.com/web3j/web3j) και το Hyperledger Besu, τις δύο κορυφαίες εφαρμογές πελάτη για το Ethereum.
+
+- [Σύνδεση σε εφαρμογή πελάτη Ethereum με Java, Eclipse και Web3J](https://kauri.io/article/b9eb647c47a546bc95693acc0be72546/connecting-to-an-ethereum-client-with-java-eclipse-and-web3j)
+- [Διαχειριστείτε ένα λογαριασμό Ethereum με Java και Web3j](https://kauri.io/article/925d923e12c543da9a0a3e617be963b4/manage-an-ethereum-account-with-java-and-web3j)
+- [Δημιουργήστε ένα Java Wrapper από το Έξυπνο Συμβόλαιό σας](https://kauri.io/article/84475132317d4d6a84a2c42eb9348e4b/generate-a-java-wrapper-from-your-smart-contract)
+- [Αλληλεπιδράστε με ένα έξυπνο συμβόλαιο Ethereum](https://kauri.io/article/14dc434d11ef4ee18bf7d57f079e246e/interacting-with-an-ethereum-smart-contract-in-java)
+- [Παρακολούθηση συμβάντων Έξυπνου Συμβολαίου Ethereum](https://kauri.io/article/760f495423db42f988d17b8c145b0874/listening-for-ethereum-smart-contract-events-in-java)
+- [Χρήση του Besu (Pantheon), την εφαρμογή πελάτη Java Ethereum με Linux](https://kauri.io/article/276dd27f1458443295eea58403fd6965/using-pantheon-the-java-ethereum-client-with-linux)
+- [Εκτέλεση Hyperledger Besu (Pantheon) κόμβου σε περιβάλλον ελέγχου ενοποίησης συστήματος Java](https://kauri.io/article/7dc3ecc391e54f7b8cbf4e5fa0caf780/running-a-pantheon-node-in-java-integration-tests)
+- [Σημειώσεις Web3j](https://kauri.io/web3j-cheat-sheet-(java-ethereum)/5dfa1ea941ac3d0001ce1d90/c)
+
+Μάθετε πώς να χρησιμοποιείτε το [ethers-kt](https://github.com/Kr1ptal/ethers-kt), μια ασύγχρονη βιβλιοθήκη Kotlin υψηλής απόδοσης για αλληλεπίδραση με blockchains που βασίζονται σε EVM. Στοχεύοντας πλατφόρμες JVM και Android.
+- [Μεταφορά κρυπτονομισμάτων ERC20](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/abi/TransferERC20.kt)
+- [Εναλλαγή UniswapV2 με παρακολούθηση συμβάντων](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/tokenswapwitheventlistening/TokenSwapWithEventListening.kt)
+- [Ανιχνευτής υπολοίπου ETH / ERC20](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/balancetracker/BalanceTracker.kt)
+
+## Άρθρα μεσαίας δυσκολίας {#intermediate-articles}
+
+- [Διαχείριση αποθηκευτικού χώρου με μια εφαρμογή σε Java με IPFS](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926/managing-storage-in-a-java-application-with-ipfs)
+- [Διαχείριση διακριτικών ERC20 στη Java με Web3j](https://kauri.io/article/d13e911bbf624108b1d5718175a5e0a0/manage-erc20-tokens-in-java-with-web3j)
+- [Διαχειριστές συναλλαγών Web3j](https://kauri.io/article/4cb780bb4d0846438d11885a25b6d7e7/web3j-transaction-managers)
+
+## Πρότυπα χρήσης για προχωρημένους {#advanced-use-patterns}
+
+- [Χρήση Eventeum για δημιουργία έξυπνου συμβολαίου Java προσωρινής μνήμης δεδομένων](https://kauri.io/article/fe81ee9612eb4e5a9ab72790ef24283d/using-eventeum-to-build-a-java-smart-contract-data-cache)
+
+## Έργα και εργαλεία της Java {#java-projects-and-tools}
+
+- [Hyperledger Besu (Pantheon) (εφαρμογή πελάτη Ethereum)](https://docs.pantheon.pegasys.tech/en/stable/)
+- [Web3J (Βιβλιοθήκη αλληλεπίδρασης με εφαρμογές Ethereum)](https://github.com/web3j/web3j)
+- [ethers-kt (Async, βιβλιοθήκη υψηλών επιδόσεων Kotlin/Java/Android για κρυπτοαλυσίδες EVM).](https://github.com/Kr1ptal/ethers-kt)
+- [Eventeum (παρακολούθηση συμβάντων)](https://github.com/ConsenSys/eventeum)
+- [Mahuta (Εργαλεία IPFS)](https://github.com/ConsenSys/mahuta)
+
+Χρειάζεστε περισσότερες πληροφορίες; Επισκεφθείτε το [ethereum.org/developers.](/developers/)
+
+## Κοινότητα εθελοντών της Java {#java-community-contributors}
+
+- [IO Builders](https://io.builders)
+- [Kauri](https://kauri.io)
+- [Συνομιλία Besu HL](https://chat.hyperledger.org/channel/besu)
diff --git a/public/content/translations/el/developers/docs/programming-languages/javascript/index.md b/public/content/translations/el/developers/docs/programming-languages/javascript/index.md
new file mode 100644
index 00000000000..df987a254fb
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/javascript/index.md
@@ -0,0 +1,73 @@
+---
+title: Ethereum για προγραμματιστές JavaScript
+description: Μάθετε πώς να προγραμματίζετε για το Ethereum με έργα και εργαλεία JavaScript.
+lang: el
+---
+
+Η JavaScript είναι από τις πιο δημοφιλείς γλώσσες στο οικοσύστημα Ethereum. Στην πραγματικότητα, υπάρχει μια [ομάδα](https://github.com/ethereumjs) αφιερωμένη στο να μεταφέρει όσο το δυνατόν μεγαλύτερο μέρος του Ethereum στη JavaScript.
+
+Υπάρχουν ευκαιρίες να γράψετε σε JavaScript (ή κάτι σχετικό) σε [όλα τα επίπεδα εργασίας](/developers/docs/ethereum-stack/).
+
+## Αλληλεπιδράστε με το Ethereum {#interact-with-ethereum}
+
+### Βιβλιοθήκες API της JavaScript {#javascript-api-libraries}
+
+Εάν θέλετε να γράψετε σε JavaScript για να υποβάλετε ερωτήματα στην κρυπτοαλυσίδα, για να στείλετε συναλλαγές και άλλα, ο πιο βολικός τρόπος να το κάνετε είναι να χρησιμοποιήσετε μια [βιβλιοθήκη API της JavaScript](/developers/docs/apis/javascript/). Αυτά τα API επιτρέπουν στους προγραμματιστές να αλληλεπιδρούν εύκολα με τους [κόμβους στο δίκτυο Ethereum](/developers/docs/nodes-and-clients/).
+
+Μπορείτε να χρησιμοποιήσετε αυτές τις βιβλιοθήκες για να αλληλεπιδράσετε με έξυπνα συμβόλαια στο Ethereum, ώστε να μπορείτε να δημιουργήσετε μια dapp χρησιμοποιώντας τη JavaScript για να αλληλεπιδράσετε με προϋπάρχοντα συμβόλαια.
+
+**Ολοκλήρωση αγορών**
+
+- [Web3.js](https://web3js.readthedocs.io/)
+- [Ethers.js](https://docs.ethers.io/) _– περιλαμβάνει εφαρμογή πορτοφολιού Ethereum και βοηθητικά προγράμματα σε JavaScript και TypeScript._
+- [viem](https://viem.sh) – μια διεπαφή TypeScript για το Ethereum που παρέχει χαμηλού επιπέδου stateless primitives για την αλληλεπίδραση με το Ethereum.
+
+### Smart contracts {#smart-contracts}
+
+Εάν είστε προγραμματιστής JavaScript και θέλετε να συντάξετε το δικό σας έξυπνο συμβόλαιο, ίσως θελήσετε να εξοικειωθείτε με τη [Solidity](https://solidity.readthedocs.io). Είναι η πιο δημοφιλής γλώσσα έξυπνων συμβολαίων και είναι συντακτικά παρόμοια με τη JavaScript, κάτι που μπορεί να διευκολύνει την εκμάθηση.
+
+Περισσότερα για τα [έξυπνα συμβόλαια](/developers/docs/smart-contracts/).
+
+## Κατανοώντας το πρωτόκολλο {#understand-the-protocol}
+
+### Η εικονική μηχανή του Ethereum {#the-ethereum-virtual-machine}
+
+Υπάρχει μια εφαρμογή JavaScript της [εικονικής μηχανής του Ethereum](/developers/docs/evm/). Υποστηρίζει τους πιο πρόσφατους κανόνες ενσωμάτωσης. Οι κανόνες ενσωμάτωσης αναφέρονται σε αλλαγές που έγιναν στην EVM ως αποτέλεσμα προγραμματισμένων αναβαθμίσεων.
+
+Χωρίζεται σε διάφορα πακέτα JavaScript που μπορείτε να ελέγξετε για να κατανοήσετε καλύτερα:
+
+- Λογαριασμοί
+- Μπλοκ
+- Την κρυπτοαλυσίδα
+- Συναλλαγές
+- Και πολλά άλλα...
+
+Αυτό θα σας βοηθήσει να κατανοήσετε πράγματα όπως «ποια είναι η δομή δεδομένων ενός λογαριασμού;».
+
+Εάν προτιμάτε την ανάγνωση κώδικα, αυτό το JavaScript θα μπορούσε να είναι μια εξαιρετική εναλλακτική λύση για την ανάγνωση των εγγράφων μας.
+
+**Επισκεφθείτε το απλό αποθετήριο του**
+[`ethereumjs`](https://github.com/ethereumjs/ethereumjs-vm)
+
+### Κόμβοι και πελάτες {#nodes-and-clients}
+
+Ένας πελάτης Ethereumjs είναι σε ενεργή ανάπτυξη που σας επιτρέπει να ανακαλύψετε τον τρόπο που λειτουργούν οι πελάτες Ethereum σε μια γλώσσα που καταλαβαίνετε, τη JavaScript!
+
+Παλαιότερα φιλοξενούταν σε ένα αυτόνομο [`αποθετήριο`](https://github.com/ethereumjs/ethereumjs-client), ωστόσο αργότερα συγχωνεύτηκε στο monorepo EthereumVM ως πακέτο.
+
+**Ενημερωθείτε για τον πελάτη**
+[`ethereumjs-client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client)
+
+## Άλλα έργα {#other-projects}
+
+Υπάρχουν επίσης πολλά άλλα πράγματα που συμβαίνουν στον κόσμο του Ethereum JavaScript, όπως:
+
+- Βιβλιοθήκες βοηθητικών προγραμμάτων πορτοφολιού.
+- Εργαλεία για τη δημιουργία, εισαγωγή και εξαγωγή κλειδιών Ethereum.
+- Υλοποίηση του `merkle-patricia-tree` – μια δομή δεδομένων που περιγράφεται στην τεχνική ανάλυση του Ethereum.
+
+Εξετάστε ό,τι σας ενδιαφέρει περισσότερο στο [αποθετήριο EthereumJS](https://github.com/ethereumjs)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/programming-languages/python/index.md b/public/content/translations/el/developers/docs/programming-languages/python/index.md
new file mode 100644
index 00000000000..9612ae475a6
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/python/index.md
@@ -0,0 +1,99 @@
+---
+title: Ethereum για προγραμματιστές σε Python
+description: Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων στην Python
+lang: el
+incomplete: true
+---
+
+Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων στην Python
+
+Χρησιμοποιήστε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή αλλιώς "dapps") που θα χρησιμοποιούν τα οφέλη της τεχνολογίας των κρυπτονομισμάτων και της αλυσίδας των μπλοκ. Αυτά τα dapps μπορούν να είναι αξιόπιστα, πράγμα που σημαίνει ότι μόλις αναπτυχθούν στο Ethereum, θα λειτουργούν πάντοτε όπως έχουν προγραμματιστεί. Μπορούν να ελέγχουν ψηφιακά στοιχεία προκειμένου να δημιουργήσουν νέα είδη χρηματοοικονομικών εφαρμογών. Μπορούν να είναι αποκεντρωμένα, πράγμα που σημαίνει ότι καμία υπηρεσία ή άτομο δεν τα ελέγχει και είναι σχεδόν αδύνατο να λογοκριθούν.
+
+## Ξεκινώντας με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Δείτε τι χρειάζεται για να ξεκινήσετε με την Python στο Ethereum**
+
+Χρειάζεστε κάτι πιο βασικό αρχικά; Επισκεφθείτε το [ethereum.org/learn](/learn/) ή το [ethereum.org/developers](/developers/).
+
+- [Τι είναι η αλυσίδα των μπλοκ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Συντάξτε το πρώτο σας έξυπνο συμβόλαιο](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Μάθετε ανάπτυξη και μεταγλώττιση με τη Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+- [Η κατάσταση της Python στην κρυπτοαλυσίδα, έκθεση του 2023](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023)
+
+## Άρθρα για αρχάριους {#beginner-articles}
+
+- [Επισκόπηση web3.py](https://web3py.readthedocs.io/en/latest/overview.html)
+- [Περιήγηση στο οικοσύστημα Ethereum Python](https://snakecharmers.ethereum.org/python-ecosystem/)
+- [Οδηγίες Προγραμματιστή (Python) για το Ethereum](https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/)
+- [Άξιο βραβείου: Ένας οδηγός για το Ethereum Python Hackathon](https://snakecharmers.ethereum.org/prize-worthy/)
+- [Εισαγωγή στα έξυπνα συμβόλαια με Vyper](https://kauri.io/#collections/Getting%20Started/an-introduction-to-smart-contracts-with-vyper/)
+- [Πώς μπορείτε να αναπτύξετε ένα συμβόλαιο Ethereum με το Python Flask;](https://medium.com/coinmonks/how-to-develop-ethereum-contract-using-python-flask-9758fe65976e)
+- [Εισαγωγή στο Web3.py · Ethereum για προγραμματιστές Python](https://www.dappuniversity.com/articles/web3-py-intro)
+- [Πώς να χρησιμοποιήσετε τη λειτουργία έξυπνου συμβολαίου με Python και web3.py](https://stackoverflow.com/questions/57580702/how-to-call-a-smart-contract-function-using-python-and-web3-py)
+
+## Άρθρα μεσαίας δυσκολίας {#intermediate-articles}
+
+- [Φίλοι του web3.py: Εισαγωγή στο Ape](https://snakecharmers.ethereum.org/intro-to-ape/)
+- [Ανάπτυξη Dapp για προγραμματιστές Python](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28)
+- [Δημιουργώντας μια διεπαφή Python στο Ethereum: Μέρος 1](https://hackernoon.com/creating-a-python-ethereum-interface-part-1-4d2e47ea0f4d)
+- [Έξυπνα συμβόλαια Ethereum σε Python: ένας περιληπτικός οδηγός](https://hackernoon.com/ethereum-smart-contracts-in-python-a-comprehensive-ish-guide-771b03990988)
+
+## Πρότυπα χρήσης για προχωρημένους {#advanced-use-patterns}
+
+- [Μοτίβα web3.py: Συνδρομές σε συμβάντα σε πραγματικό χρόνο](https://snakecharmers.ethereum.org/subscriptions/)
+- [web3.py Patterns: WebSocketProvider](https://snakecharmers.ethereum.org/websocketprovider/)
+- [Μεταγλώττιση, ανάπτυξη και κλήση έξυπνου συμβολαίου Ethereum χρησιμοποιώντας την Python](https://yohanes.gultom.id/2018/11/28/compiling-deploying-and-calling-ethereum-smartcontract-using-python/)
+- [Αναλύστε τα έξυπνα συμβόλαια με τη Solidity με το Slither](https://kauri.io/#collections/DevOps/analyze-solidity-smart-contracts-with-slither/#analyze-solidity-smart-contracts-with-slither)
+- [Οδηγός Blockchain Fintech: Δάνειο και δανεισμός με Python](https://blog.chain.link/blockchain-fintech-defi-tutorial-lending-borrowing-python/)
+
+## Αρχειοθετημένα άρθρα
+
+- [Αναπτύξτε το δικό σας κρυπτονόμισμα ERC20 με Python και Brownie](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58)
+- [Χρήση των Brownie και Python για την ανάπτυξη έξυπνων συμβολαίων](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp)
+- [Δημιουργία NFTs στο OpenSea με Brownie](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/)
+
+## Έργα και εργαλεία της Python {#python-projects-and-tools}
+
+### Ενεργά: {#active}
+
+- [Web3.py](https://github.com/ethereum/web3.py) - _Βιβλιοθήκη Python για αλληλεπίδραση με το Ethereum_
+- [Vyper](https://github.com/ethereum/vyper/) - _Γλώσσα έξυπνου συμβολαίου Pythonic για το EVM_
+- [Ape](https://github.com/ApeWorX/ape) - _Το εργαλείο ανάπτυξης έξυπνων συμβολαίων για Pythonistas, Επιστήμονες Δεδομένων και Επαγγελματίες Ασφαλείας_
+- [py-evm](https://github.com/ethereum/py-evm) - _Υλοποίηση της εικονικής μηχανής Ethereum_
+- [eth-tester](https://github.com/ethereum/eth-tester) - _Εργαλεία για δοκιμή εφαρμογών που βασίζονται στο Ethereum_
+- [eth-utils](https://github.com/ethereum/eth-utils/) - _βοηθητικές λειτουργίες για την εργασία με βάσεις κώδικα που σχετίζονται με το Ethereum_
+- [py-solc-x](https://pypi.org/project/py-solc-x/) - _Python wrapper γύρω από τον μεταγλωττιστή solidity με υποστήριξη 0.5.x_
+- [pymaker](https://github.com/makerdao/pymaker) - _Συμβόλαια Python API για δημιουργούς_
+- [siwe](https://github.com/spruceid/siwe-py) - _Συνδεθείτε στο Ethereum (siwe) για Python_
+- [Web3 DeFi για ενσωματώσεις Ethereum](https://github.com/tradingstrategy-ai/web3-ethereum-defi) - _Ένα πακέτο Python με έτοιμες ενσωματώσεις για ERC-20, Uniswap και άλλα δημοφιλή έργα_
+- [Wake](https://getwake.io) - _Πλαίσιο Python All-in-one για δοκιμή συμβάσεων, ασάφεια, ανάπτυξη, σάρωση ευπάθειας και πλοήγηση κώδικα (διακομιστής γλώσσας - [Εργαλεία για Solidity](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity))_
+
+### Αρχειοθετημένα / Δεν υποστηρίζονται πλέον: {#archived--no-longer-maintained}
+
+- [Trinity](https://github.com/ethereum/trinity) - _Πελάτης Ethereum Python_
+- [Mamba](https://github.com/arjunaskykok/mamba) - _Πλαίσιο για τη σύνταξη, τη μεταγλώττιση και την ανάπτυξη έξυπνων συμβολαίων γραμμένων σε γλώσσα Vyper_
+- [Brownie](https://github.com/eth-brownie/brownie) - _Πλαίσιο ανάπτυξη με την Python, δοκιμή και αλληλεπίδραση με έξυπνα συμβόλαια Ethereum_
+- [pydevp2p](https://github.com/ethereum/pydevp2p) - _Υλοποίηση της στοίβας Ethereum P2P_
+- [py-wasm](https://github.com/ethereum/py-wasm) - _Εφαρμογή Python του διερμηνέα συγκρότησης ιστού_
+
+Χρειάζεστε περισσότερες πληροφορίες; Επισκεφθείτε το [ethereum.org/developers](/developers/).
+
+## Έργα με χρήση εργαλείων της Python {#projects-using-python-tooling}
+
+Τα ακόλουθα έργα που βασίζονται στο Ethereum χρησιμοποιούν εργαλεία που αναφέρονται σε αυτήν τη σελίδα. Τα σχετικά αποθετήρια ανοιχτού κώδικα χρησιμεύουν ως μια καλή αναφορά για παράδειγμα κώδικα και βέλτιστες πρακτικές.
+
+- [Χρηματοοικονομικά έτους](https://yearn.finance/) και [αποθετήριο συμβάσεων Yearn Vault](https://github.com/yearn/yearn-vaults)
+- [Curve](https://curve.fi/) και [αποθετήριο έξυπνων συμβολαίων Curve](https://github.com/curvefi/curve-contract)
+- [BadgerDAO](https://badger.com/) και [έξυπνα συμβόλαια χρησιμοποιώντας την αλυσίδα εργαλείων Brownie](https://github.com/Badger-Finance/badger-system)
+- Το [Sushi](https://sushi.com/) χρησιμοποιεί την [Python για τη διαχείριση και την ανάπτυξη των κατοχυρωμένων συμβολαίων τους](https://github.com/sushiswap/sushi-vesting-protocols)
+- Η [Alpha Finance](https://alphafinance.io/), της Alpha Homora, χρησιμοποιεί το [ Brownie για δοκιμή και ανάπτυξη των έξυπνων συμβολαίων](https://github.com/AlphaFinanceLab/alpha-staking-contract)
+
+## Συζήτηση της κοινότητας Python {#python-community-contributors}
+
+- [Discord της κοινότητας Ethereum](https://discord.gg/9zk7snTfWe) για Web3.py και άλλες συζητήσεις πλαισίου Python
+- [Vyper Discord](https://discord.gg/SdvKC79cJk) για συζητήσεις προγραμματισμού έξυπνων συμβολαίων Vyper
+
+## Άλλες συγκεντρωτικές λίστες {#other-aggregated-lists}
+
+Το wiki της Vyper έχει μια [σημαντική λίστα πόρων για τη Vyper](https://github.com/vyperlang/vyper/wiki/Vyper-tools-and-resources)
\ No newline at end of file
diff --git a/public/content/translations/el/developers/docs/programming-languages/ruby/index.md b/public/content/translations/el/developers/docs/programming-languages/ruby/index.md
new file mode 100644
index 00000000000..a3bb3baf564
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/ruby/index.md
@@ -0,0 +1,61 @@
+---
+title: Ethereum για προγραμματιστές Ruby
+description: Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στη Ruby.
+lang: el
+incomplete: false
+---
+
+Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στη Ruby.
+
+Χρησιμοποιήστε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή αλλιώς "dapps") που θα χρησιμοποιούν τα οφέλη της τεχνολογίας των κρυπτονομισμάτων και της αλυσίδας των μπλοκ. Αυτές οι dapps μπορούν να είναι αξιόπιστες, πράγμα που σημαίνει ότι μόλις αναπτυχθούν στο Ethereum, θα λειτουργούν πάντοτε όπως έχουν προγραμματιστεί. Μπορούν να ελέγχουν ψηφιακά στοιχεία προκειμένου να δημιουργήσουν νέα είδη χρηματοοικονομικών εφαρμογών. Μπορούν να είναι αποκεντρωμένα, πράγμα που σημαίνει ότι καμία υπηρεσία ή άτομο δεν τα ελέγχει και είναι σχεδόν αδύνατο να λογοκριθούν.
+
+## Ξεκινώντας με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Δείτε τι χρειάζεται για να ξεκινήσετε με τη Ruby στο Ethereum**
+
+Χρειάζεστε περισσότερες βασικές πληροφορίες αρχικά; Επισκεφθείτε το [ethereum.org/learn](/learn/) ή το [ethereum.org/developers](/developers/).
+
+- [Τι είναι η αλυσίδα των μπλοκ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Συντάξτε το πρώτο σας έξυπνο συμβόλαιο](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Μάθετε ανάπτυξη και μεταγλωττισμό με τη Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Άρθρα για αρχάριους {#beginner-articles}
+
+- [Επιτέλους κατανόηση των λογαριασμών Ethereum](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe)
+- [Επιτέλους έλεγχος ταυτότητας χρηστών Rails με MetaMask](https://dev.to/q9/finally-authenticating-rails-users-with-metamask-3fj)
+- [Είσοδος με το Ethereum - Βιβλιοθήκη Ruby και παραδείγματα Rails](https://blog.spruceid.com/sign-in-with-ethereum-ruby-library-release-and-rails-examples/)
+- [Πώς να συνδεθείτε στο δίκτυο Ethereum χρησιμοποιώντας τη Ruby](https://www.quicknode.com/guides/web3-sdks/how-to-connect-to-the-ethereum-network-using-ruby)
+- [Πώς να δημιουργήσετε μια νέα διεύθυνση Ethereum στη Ruby](https://www.quicknode.com/guides/web3-sdks/how-to-generate-a-new-ethereum-address-in-ruby)
+
+## Άρθρα μεσαίας δυσκολίας {#intermediate-articles}
+
+- [Εφαρμογή κρυπτοαλυσίδας με Ruby](https://www.nopio.com/blog/blockchain-app-ruby/)
+- [Χρησιμοποιήστε τη Ruby, συνδεδεμένη στο Ethereum, για να εκτελέσετε το Έξυπνο Συμβόλαιο](https://titanwolf.org/Network/Articles/Article?AID=87285822-9b25-49d5-ba2a-7ad95fff7ef9)
+
+## Έργα και εργαλεία της Ruby {#ruby-projects-and-tools}
+
+### Ενεργά {#active}
+
+- [eth.rb](https://github.com/q9f/eth.rb) - _Βιβλιοθήκη Ruby και πελάτης RPC για διαχείριση λογαριασμών, μηνυμάτων και συναλλαγών Ethereum_
+- [keccak.rb](https://github.com/q9f/keccak.rb) - _Ο κατακερματισμός Keccak (SHA3) που χρησιμοποιείται από το Ethereum_
+- [siwe-ruby](https://github.com/spruceid/siwe-ruby) - _Εφαρμογή Ruby για σύνδεση με Ethereum_
+- [siwe_rails](https://github.com/spruceid/siwe_rails) - _Χρήσιμο Rails που προσθέτει διαδρομές τοπικής σύνδεσης SIWE_
+- [siwe-rails-examples](https://github.com/spruceid/siwe-rails-examples) - _Παράδειγμα SIWE με Ruby στο Rails με προσαρμοσμένο ελεγκτή_
+- [omniauth-siwe](https://github.com/spruceid/omniauth-siwe) - _Στρατηγική OmniAuth για σύνδεση με Ethereum (SIWE)_
+- [omniauth-nft](https://github.com/valthon/omniauth-nft) - _Στρατηγική OmniAuth για έλεγχο ταυτότητας μέσω ιδιοκτησίας NFT_
+- [ethereum-on-rails](https://github.com/q9f/ethereum-on-rails) - _Πρότυπο Ethereum στο Rails που επιτρέπει σύνδεση του MetaMask στο Ruby με Rails_
+
+### Αρχειοθετημένα / Δεν υποστηρίζονται πλέον {#archived--no-longer-maintained}
+
+- [web3-eth](https://github.com/spikewilliams/vtada-ethereum) - _Κλήση μεθόδων RPC του κόμβου Ethereum με Ruby_
+- [ethereum_tree](https://github.com/longhoangwkm/ethereum_tree) - _Βιβλιοθήκη Ruby για τη δημιουργία διευθύνσεων ETH από ένα ιεραρχικό ντετερμινιστικό πορτοφόλι σύμφωνα με το πρότυπο BIP32_
+- [etherlite](https://github.com/budacom/etherlite) - _Ενσωμάτωση Ethereum για Ruby στο Rails_
+- [ethereum.rb](https://github.com/EthWorks/ethereum.rb) - _Πελάτης Ruby Ethereum που χρησιμοποιεί τη διεπαφή JSON-RPC για αποστολή συναλλαγών, δημιουργία και αλληλεπίδραση με συμβόλαια καθώς και χρήσιμο κιτ εργαλείων για εργασία με τον κόμβο Ethereum_
+- [omniauth-ethereum.rb](https://github.com/q9f/omniauth-ethereum.rb) - _Εφαρμόζει τη στρατηγική παρόχου Ethereum για το OmniAuth_
+
+Χρειάζεστε περισσότερες πληροφορίες; Ρίξτε μια ματιά στο [στο αρχείο για προγραμματιστή](/developers/).
+
+## Κοινότητα εθελοντών της Ruby {#ruby-community-contributors}
+
+Η [ομάδα Telegram Ethereum Ruby](https://t.me/ruby_eth) φιλοξενεί μια ταχέως αναπτυσσόμενη κοινότητα και αποτελεί τον αποκλειστικό πόρο για συζητήσεις για οποιοδήποτε από τα παραπάνω έργα και σχετικά θέματα.
diff --git a/public/content/translations/el/developers/docs/programming-languages/rust/index.md b/public/content/translations/el/developers/docs/programming-languages/rust/index.md
new file mode 100644
index 00000000000..174b92dcd56
--- /dev/null
+++ b/public/content/translations/el/developers/docs/programming-languages/rust/index.md
@@ -0,0 +1,63 @@
+---
+title: Ethereum για προγραμματιστές Rust
+description: Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στη rust
+lang: el
+incomplete: true
+---
+
+Μάθετε πως να προγραμματίσετε για το Ethereum με χρήση έργων και εργαλείων βασισμένα στη Rust
+
+Χρησιμοποιήστε το Ethereum για να δημιουργήσετε αποκεντρωμένες εφαρμογές (ή αλλιώς "dapps") που θα χρησιμοποιούν τα οφέλη της τεχνολογίας των κρυπτονομισμάτων και της αλυσίδας των μπλοκ. Αυτά τα dapps μπορούν να είναι αξιόπιστα, πράγμα που σημαίνει ότι μόλις αναπτυχθούν στο Ethereum, θα λειτουργούν πάντοτε όπως έχουν προγραμματιστεί. Μπορούν να ελέγχουν ψηφιακά στοιχεία προκειμένου να δημιουργήσουν νέα είδη χρηματοοικονομικών εφαρμογών. Μπορούν να είναι αποκεντρωμένα, πράγμα που σημαίνει ότι καμία υπηρεσία ή άτομο δεν τα ελέγχει και είναι σχεδόν αδύνατο να λογοκριθούν.
+
+## Ξεκινώντας με τα έξυπνα συμβόλαια και τη γλώσσα Solidity {#getting-started-with-smart-contracts-and-solidity}
+
+**Δείτε τι χρειάζεται για να ξεκινήσετε με τη Rust στο Ethereum**
+
+Χρειάζεστε περισσότερες βασικές πληροφορίες αρχικά; Επισκεφθείτε το [ethereum.org/learn](/learn/) ή το [ethereum.org/developers](/developers/).
+
+- [Τι είναι η αλυσίδα των μπλοκ](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained)
+- [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract)
+- [Συντάξτε το πρώτο σας έξυπνο συμβόλαιο](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract)
+- [Μάθετε ανάπτυξη και μεταγλωττισμό με τη Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment)
+
+## Άρθρα για αρχάριους {#beginner-articles}
+
+- [The Rust Ethereum Client](https://openethereum.github.io/) \* **Λάβετε υπόψη ότι το OpenEthereum [έχει καταργηθεί](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) και δε συντηρείται πλέον.** Χρησιμοποιήστε το με προσοχή και κατά προτίμηση μεταβείτε σε άλλο πρόγραμμα πελάτη.
+- [Αποστολή συναλλαγής στο Ethereum με χρήση της Rust](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/sending-ethereum-transactions-with-rust/)
+- [Ένας οδηγός βήμα προς βήμα δημιουργίας συμβολαίων στη Rust Wasm για Kovan](https://github.com/paritytech/pwasm-tutorial)
+
+## Άρθρα μεσαίας δυσκολίας {#intermediate-articles}
+
+## Πρότυπα χρήσης για προχωρημένους {#advanced-use-patterns}
+
+- [Η εξωτερική βιβλιοθήκη pwasm_ethereum για την αλληλεπίδραση με δίκτυο τύπου Ethereum](https://github.com/openethereum/pwasm-ethereum)
+- [Δημιουργία αποκεντρωμένης εφαρμογής συνομιλιών με JavaScript και Rust](https://medium.com/perlin-network/build-a-decentralized-chat-using-javascript-rust-webassembly-c775f8484b52)
+- [Δημιουργία αποκεντρωμένης εφαρμογής λίστας εργασιών με Vue.js & Rust](https://medium.com/@jjmace01/build-a-decentralized-todo-app-using-vue-js-rust-webassembly-5381a1895beb)
+
+- [Φτιάξτε ένα blockchain στη Rust](https://blog.logrocket.com/how-to-build-a-blockchain-in-rust/)
+
+## Έργα και εργαλεία της Rust {#rust-projects-and-tools}
+
+- [pwasm-ethereum](https://github.com/paritytech/pwasm-ethereum) - _Μια εξωτερική βιβλιοθήκη για την αλληλεπίδραση με δίκτυα τύπου Ethereum._
+- [Lighthouse](https://github.com/sigp/lighthouse) - _Γρήγορος πελάτης επιπέδου συναίνεσης Ethereum_
+- [Ethereum WebAssembly](https://ewasm.readthedocs.io/en/mkdocs/) - _Προτεινόμενος επανασχεδιασμός του επιπέδου εκτέλεσης έξυπνων συμβολαίων Ethereum χρησιμοποιώντας ένα ντετερμινιστικό υποσύνολο του WebAssembly_
+- [oasis_std](https://docs.rs/oasis-std/latest/oasis_std/index.html) - _αναφορά OASIS API_
+- [Solaris](https://github.com/paritytech/sol-rs) - _Δοκιμαστική μονάδα έξυπνου συμβολαίου Solidity χρησιμοποιώντας το εγγενές Parity Client EVM._
+- [SputnikVM](https://github.com/rust-blockchain/evm) - _Εφαρμογή εικονικής μηχανής Rust Ethereum_
+- [Wavelet](https://wavelet.perlin.net/docs/smart-contracts) - _Το έξυπνο συμβόλαιο Wavelet στη Rust_
+- [Foundry](https://github.com/foundry-rs/foundry) - _Εργαλειοθήκη για την ανάπτυξη εφαρμογών Ethereum_
+- [Alloy](https://alloy.rs) - _Υψηλής απόδοσης, καλά δοκιμασμένες & τεκμηριωμένες βιβλιοθήκες για αλληλεπίδραση με το Ethereum και άλλες αλυσίδες που βασίζονται σε EVM._
+- [Ethers_rs](https://github.com/gakonst/ethers-rs) - _Εφαρμογή βιβλιοθήκης και πορτοφολιού Ethereum_
+- [SewUp](https://github.com/second-state/SewUp) - _Μια βιβλιοθήκη που θα σας βοηθήσει να δημιουργήσετε το συμβόλαιο Ethereum σύνθεσης με τη Rust και να το αναπτύξετε σε ένα κοινό backend_
+- [Substreams](https://github.com/streamingfast/substreams) - _Τεχνολογία παράλληλου ευρετηρίου δεδομένων blockchain_
+- [Reth](https://github.com/paradigmxyz/reth) Το Reth (συντομογραφία του Rust Ethereum) είναι μια νέα υλοποίηση πλήρους κόμβου Ethereum
+- [Awesome Ethereum Rust](https://github.com/Vid201/awesome-ethereum-rust) - _Μια επιμελημένη συλλογή έργων στο οικοσύστημα Ethereum γραμμένα σε Rust_
+
+Χρειάζεστε περισσότερες πληροφορίες; Επισκεφθείτε το [ethereum.org/developers.](/developers/)
+
+## Κοινότητα εθελοντών της Rust {#rust-community-contributors}
+
+- [Ethereum WebAssembly](https://gitter.im/ewasm/Lobby)
+- [Oasis Gitter](https://gitter.im/Oasis-official/Lobby)
+- [Parity Gitter](https://gitter.im/paritytech/parity)
+- [Enigma](https://discord.gg/SJK32GY)
diff --git a/public/content/translations/el/developers/docs/scaling/index.md b/public/content/translations/el/developers/docs/scaling/index.md
new file mode 100644
index 00000000000..0129b4e84bc
--- /dev/null
+++ b/public/content/translations/el/developers/docs/scaling/index.md
@@ -0,0 +1,115 @@
+---
+title: Επεκτασιμότητα
+description: Μια εισαγωγή στις διαφορετικές επιλογές επεκτασιμότητας που αναπτύσσονται αυτή τη στιγμή από την κοινότητα του Ethereum.
+lang: el
+sidebarDepth: 3
+---
+
+## Επισκόπηση επεκτασιμότητας {#scaling-overview}
+
+Καθώς μεγαλώνει ο αριθμός των ατόμων που χρησιμοποιούν το Ethereum, το blockchain έχει αρκετούς περιορισμούς λόγω χωρητικότητας. Γι αυτό το λόγο έχει αυξηθεί το κόστος χρήσης του δικτύου, δημιουργώντας την ανάγκη για «λύσεις επεκτασιμότητας». Υπάρχουν πολλαπλές λύσεις που εξετάζονται, δοκιμάζονται και εφαρμόζονται ακολουθώντας διαφορετικές προσεγγίσεις για την επίτευξη παρόμοιων στόχων.
+
+Ο κύριος στόχος της επεκτασιμότητας είναι να αυξήσει την ταχύτητα συναλλαγής (γρηγορότερη οριστικότητα) και τη διεκπεραίωση συναλλαγών (μεγαλύτερος αριθμός συναλλαγών ανά δευτερόλεπτο) χωρίς να θυσιάζεται η αποκέντρωση ή η ασφάλεια (περισσότερα για το [Ethereum vision](/roadmap/vision/)). Στο επίπεδο 1 του Ethereum blockchain, η υψηλή ζήτηση οδηγεί σε καθυστερήσεις των συναλλαγών και αρκετά υψηλές [τιμές των κρατήσεων](/developers/docs/gas/). Η αύξηση της χωρητικότητας του δικτύου όσον αφορά την ταχύτητα και τη διακίνηση, είναι θεμελιώδους σημασίας για την ουσιαστική και μαζική υιοθέτηση του Ethereum.
+
+Καθώς η ταχύτητα και η απόδοση είναι σημαντικές, είναι σημαντικό οι λύσεις επεκτασιμότητας που επιτρέπουν αυτούς τους στόχους να παραμείνουν αποκεντρωμένες και ασφαλείς. Η διατήρηση των απαιτήσεων εισόδου σε χαμηλά επίπεδα για τους χειριστές των κόμβων είναι κρίσιμη για την πρόληψη της προόδου προς την κεντρική και επισφαλή υπολογιστική ισχύ.
+
+Εννοιολογικά, αρχικά κατηγοριοποιούμε την κλιμάκωση εκτός είτε εντός αλυσίδας.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να έχετε να κατανοείτε αρκετά καλά όλα τα βασικά θέματα. Η εφαρμογή λύσεων επεκτασιμότητας είναι προηγμένη καθώς η τεχνολογία είναι λιγότερο δοκιμασμένη στη μάχη και συνεχίζει να ερευνάται και να αναπτύσσεται.
+
+## Κλιμάκωση εντός αλυσίδας {#onchain-scaling}
+
+Η κλιμάκωση εντός αλυσίδας απαιτεί αλλαγές στο πρωτόκολλο Ethereum (επίπεδο 1 [Mainnet](/glossary/#mainnet)). Για αρκετό διάστημα, η τμηματοποίηση αναμενόταν να αναβαθμίσει το Ethereum. Αυτό επρόκειτο να συμπεριλάβει τον διαχωρισμό του blockchain σε διακριτά κομμάτια (τμήματα) που θα επαληθευόταν από υποσύνολα επικυρωτών. Ωστόσο, η κλιμάκωση με πακέτα ενημέρωσης επιπέδου 2 έχει γίνει η κύρια τεχνική κλιμάκωσης. Αυτό υποστηρίζεται από την προσθήκη νέας φθηνότερης μορφής δεδομένων που συνδέονται με τα Ethereum μπλοκ, η οποία είναι ειδικά σχεδιασμένη για να κάνει τα πακέτα ενημέρωσης φθηνά για τους χρήστες.
+
+### Τμηματοποίηση {#sharding}
+
+Το sharding είναι η διαδικασία διαίρεσης μιας βάσης δεδομένων. Υποσύνολα επικυρωτών θα ήταν υπεύθυνα για μεμονωμένα τμήματα αντί να παρακολουθούν ολόκληρο το Ethereum. Το sharding ήταν στον [οδικό χάρτη](/roadmap/) του Ethereum για μεγάλο χρονικό διάστημα και κάποτε προοριζόταν να αποσταλεί πριν από τη μετάβαση σε απόδειξη συμμετοχής. Ωστόσο, η ταχεία ανάπτυξη των λύσεων [rollup επιπέδου 2](#layer-2-scaling) και η εφεύρεση του [Danksharding](/roadmap/danksharding) (προσθήκη μπλοκ δεδομένων rollup σε μπλοκ Ethereum που μπορούν να επαληθευτούν πολύ αποτελεσματικά από τους επικυρωτές) οδήγησαν την κοινότητα Ethereum να προτιμήσει την κλιμάκωση με επίκεντρο τα rollup αντί της κλιμάκωσης με sharding. Αυτό θα βοηθήσει επίσης να διατηρηθεί απλούστερη η λογική συναίνεσης του Ethereum.
+
+## Κλιμάκωση εκτός αλυσίδας {#offchain-scaling}
+
+Οι λύσεις εκτός αλυσίδας εφαρμόζονται ξεχωριστά από το Mainnet επιπέδου 1 και δεν απαιτούν καμία αλλαγή στο υπάρχον πρωτόκολλο Ethereum. Ορισμένες λύσεις, γνωστές ως λύσεις "επιπέδου 2", αντλούν την ασφάλειά τους απευθείας από τη συναίνεση του Ethereum επιπέδου 1, όπως τα [optimistic rollup](/developers/docs/scaling/optimistic-rollups/), τα [rollup μηδενικής γνώσης](/developers/docs/scaling/zk-rollups/) ή τα [κανάλια κατάστασης](/developers/docs/scaling/state-channels/). Άλλες λύσεις περιλαμβάνουν τη δημιουργία νέων αλυσίδων σε διάφορες μορφές που αντλούν την ασφάλειά τους ξεχωριστά από το Mainnet, όπως οι [sidechains](#sidechains), τα [validiums](#validium) ή οι [αλυσίδες plasma](#plasma). Αυτές οι λύσεις επικοινωνούν με το Mainnet αλλά αντλούν την ασφάλειά τους διαφορετικά για να επιτύχουν μια ποικιλία στόχων.
+
+### Επεκτασιμότητα επιπέδου 2 {#layer-2-scaling}
+
+Αυτή η κατηγορία λύσεων εκτός αλυσίδας αντλεί την ασφάλειά της από το Mainnet Ethereum.
+
+Το επίπεδο 2 είναι ένας συλλογικός όρος για λύσεις σχεδιασμένες να βοηθήσουν στην κλιμάκωση της εφαρμογής σας χειρίζοντας συναλλαγές εκτός του Ethereum Mainnet (επίπεδο 1) ενώ εκμεταλλεύονται το ισχυρό αποκεντρωμένο μοντέλο ασφάλειας του Mainnet. Η ταχύτητα συναλλαγών υποφέρει όταν το δίκτυο είναι απασχολημένο, καθιστώντας την εμπειρία χρήστη κακή για ορισμένους τύπους dapps. Και καθώς το δίκτυο γίνεται πιο απασχολημένο, οι τιμές του αερίου αυξάνονται καθώς οι αποστολείς συναλλαγών στοχεύουν να υπερισχύσουν ο ένας τον άλλον. Αυτό μπορεί να κάνει τη χρήση του Ethereum πολύ δαπανηρή.
+
+Οι περισσότερες λύσεις επιπέδου 2 επικεντρώνονται σε έναν διακομιστή ή σε ένα cluster διακομιστών, από τους οποίους ο καθένας μπορεί να αναφέρεται ως κόμβος, επικυρωτής, χειριστής, ακολουθία, παραγωγός μπλοκ ή παρόμοιος όρος. Ανάλογα με την εφαρμογή, αυτοί οι κόμβοι επιπέδου 2 μπορούν να εκτελούνται από τα άτομα, τις επιχειρήσεις ή τα νομικά πρόσωπα που τα χρησιμοποιούν ή από έναν χειριστή τρίτου μέρους ή από μια μεγάλη ομάδα ατόμων (παρόμοια με το Mainnet). Γενικά, οι συναλλαγές υποβάλλονται σε αυτούς τους κόμβους επιπέδου 2 αντί να υποβάλλονται απευθείας στο επίπεδο 1 (Mainnet). Για ορισμένες λύσεις, η παρουσία επιπέδου 2 στη συνέχεια τις συσκευάζει σε ομάδες πριν τις συνδέσει στο επίπεδο 1, μετά την οποία εξασφαλίζονται από το επίπεδο 1 και δεν μπορούν να αλλάξουν. Οι λεπτομέρειες του τρόπου με τον οποίο γίνεται αυτό ποικίλλουν σημαντικά μεταξύ διαφορετικών τεχνολογιών και εφαρμογών επιπέδου 2.
+
+Μια συγκεκριμένη παρουσία επιπέδου 2 μπορεί να είναι ανοιχτή και κοινόχρηστη από πολλές εφαρμογές ή μπορεί να αναπτυχθεί από ένα έργο και να αφιερωθεί στην υποστήριξη μόνο της εφαρμογής τους.
+
+#### Γιατί χρειάζεται το επίπεδο 2; {#why-is-layer-2-needed}
+
+- Αύξηση των συναλλαγών ανά δευτερόλεπτο βελτιώνει σημαντικά την εμπειρία χρήστη και μειώνει τη συμφόρηση δικτύου στο Mainnet Ethereum.
+- Οι συναλλαγές συγκεντρώνονται σε μία ενιαία συναλλαγή στο Mainnet Ethereum, μειώνοντας τα τέλη αερίου για τους χρήστες και καθιστώντας το Ethereum πιο συμπεριληπτικό και προσβάσιμο για όλους.
+- Οποιαδήποτε ενημέρωση στην κλιμακωσιμότητα δεν πρέπει να γίνεται σε βάρος της αποκέντρωσης ή της ασφάλειας - το επίπεδο 2 χτίζει πάνω από το Ethereum.
+- Υπάρχουν δίκτυα επιπέδου 2 ειδικά για εφαρμογές που φέρνουν το δικό τους σύνολο αποτελεσματικότητας όταν εργάζονται με περιουσιακά στοιχεία σε κλίμακα.
+
+[Περισσότερα για το επίπεδο 2](/layer-2/).
+
+#### Πακέτα ενημέρωσης {#rollups}
+
+Τα rollups εκτελούν τις συναλλαγές εκτός του επιπέδου 1 και στη συνέχεια τα δεδομένα δημοσιεύονται στο επίπεδο 1 όπου επιτυγχάνεται συναίνεση. Καθώς τα δεδομένα συναλλαγών περιλαμβάνονται στα μπλοκ επιπέδου 1, αυτό επιτρέπει στα rollups να εξασφαλίζονται από την εγγενή ασφάλεια του Ethereum.
+
+Υπάρχουν δύο τύποι rollups με διαφορετικά μοντέλα ασφάλειας:
+
+- **Optimistic rollups**: υποθέτουν ότι οι συναλλαγές είναι έγκυρες από προεπιλογή και εκτελούν υπολογισμούς μόνο μέσω μιας [**απόδειξης απάτης**](/glossary/#fraud-proof) σε περίπτωση πρόκλησης. [Περισσότερα για τα Optimistic rollups](/developers/docs/scaling/optimistic-rollups/).
+- **Rollups μηδενικής γνώσης**: εκτελούν υπολογισμούς εκτός αλυσίδας και υποβάλλουν μια [**απόδειξη εγκυρότητας**](/glossary/#validity-proof) στην αλυσίδα. [Περισσότερα για τα rollups μηδενικής γνώσης](/developers/docs/scaling/zk-rollups/).
+
+#### Κανάλια κατάστασης {#channels}
+
+Τα κανάλια κατάστασης χρησιμοποιούν συμβόλαια πολλαπλών υπογραφών για να επιτρέπουν στους συμμετέχοντες να πραγματοποιούν συναλλαγές γρήγορα και ελεύθερα εκτός αλυσίδας και στη συνέχεια να διευθετούν την οριστικότητα με το Mainnet. Αυτό ελαχιστοποιεί τη συμφόρηση του δικτύου, τις αμοιβές και τις καθυστερήσεις. Οι δύο τύποι καναλιών είναι επί του παρόντος τα κανάλια κατάστασης και τα κανάλια πληρωμής.
+
+Μάθετε περισσότερα για τα [κανάλια κατάστασης](/developers/docs/scaling/state-channels/).
+
+### Πλευρικές αλυσίδες {#sidechains}
+
+Μια πλευρική αλυσίδα είναι μια ανεξάρτητη κρυπτοαλυσίδα συμβατή με EVM που εκτελείται παράλληλα με το Mainnet. Αυτές είναι συμβατές με το Ethereum μέσω γεφυρών δύο κατευθύνσεων και εκτελούνται υπό τους δικούς τους επιλεγμένους κανόνες συναίνεσης και παραμέτρους μπλοκ.
+
+Μάθετε περισσότερα για τις [Πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/).
+
+### Πλάσμα {#plasma}
+
+Μια αλυσίδα πλάσματος είναι μια ξεχωριστή κρυπτοαλυσίδα που είναι αγκυρωμένη στην κύρια αλυσίδα Ethereum και χρησιμοποιεί αποδείξεις απάτης (όπως τα [optimistic rollups](/developers/docs/scaling/optimistic-rollups/)) για να ελέγχει τις διαφωνίες.
+
+Μάθετε περισσότερα για το [Πλάσμα](/developers/docs/scaling/plasma/).
+
+### Validium {#validium}
+
+Μια αλυσίδα Validium χρησιμοποιεί αποδείξεις εγκυρότητας όπως τα rollups μηδενικής γνώσης αλλά τα δεδομένα δεν αποθηκεύονται στο κύριο επίπεδο 1 της αλυσίδας Ethereum. Αυτό μπορεί να οδηγήσει σε 10.000 συναλλαγές ανά δευτερόλεπτο ανά αλυσίδα Validium και πολλές αλυσίδες μπορούν να εκτελεστούν παράλληλα.
+
+Μάθετε περισσότερα για τo [Validium](/developers/docs/scaling/validium/).
+
+## Γιατί χρειάζονται τόσες πολλές λύσεις κλιμάκωσης; {#why-do-we-need-these}
+
+- Πολλαπλές λύσεις μπορούν να βοηθήσουν στη μείωση της συνολικής συμφόρησης σε οποιοδήποτε μέρος του δικτύου και επίσης να αποτρέψουν ενιαία σημεία αποτυχίας.
+- Το σύνολο είναι μεγαλύτερο από το άθροισμα των μερών του. Διαφορετικές λύσεις μπορούν να υπάρξουν και να λειτουργήσουν αρμονικά, επιτρέποντας ένα εκθετικό αποτέλεσμα στην ταχύτητα και απόδοση μελλοντικών συναλλαγών.
+- Δεν απαιτείται όλες οι λύσεις να χρησιμοποιούν άμεσα τον αλγόριθμο συναίνεσης Ethereum και οι εναλλακτικές λύσεις μπορούν να προσφέρουν οφέλη που θα ήταν δύσκολο να επιτευχθούν διαφορετικά.
+- Καμία λύση κλιμάκωσης δεν είναι αρκετή για να εκπληρώσει το [όραμα του Ethereum](/roadmap/vision/).
+
+## Περισσότερα από έναν εικονικό μαθητή; {#visual-learner}
+
+
+
+_Σημειώστε ότι η εξήγηση στο βίντεο χρησιμοποιεί τον όρο "Επίπεδο 2" για να αναφερθεί σε όλες τις λύσεις κλιμάκωσης εκτός αλυσίδας, ενώ διαφοροποιούμε το "Επίπεδο 2" ως μια λύση εκτός αλυσίδας που αντλεί την ασφάλειά της μέσω της συναίνεσης του κύριου δικτύου επιπέδου 1._
+
+
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Ένας οδικός χάρτης Ethereum επικεντρωμένος στα rollup](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) του _Vitalik Buterin_
+- [Ενημερωμένες αναλύσεις για λύσεις κλιμάκωσης επιπέδου 2 για το Ethereum](https://www.l2beat.com/)
+- [Αξιολόγηση λύσεων κλιμάκωσης επιπέδου 2 Ethereum: Ένα πλαίσιο σύγκρισης](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955)
+- [Ένας ελλιπής οδηγός για τα rollup](https://vitalik.eth.limo/general/2021/01/05/rollup.html)
+- [Ethereum-powered ZK-Rollups: Παγκόσμιοι πρωταθλητές](https://hackmd.io/@canti/rkUT0BD8K)
+- [Πακέτα ενημέρωσης Optimistic ή ZK](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/)
+- [Κλιμάκωση blockchain μηδενικής γνώσης](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
+- [Γιατί τα rollup και τα τμήματα δεδομένων είναι η μόνη βιώσιμη λύση για υψηλή κλιμάκωση](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48)
+- [Τι είδους επίπεδα 3 έχουν νόημα;](https://vitalik.eth.limo/general/2022/09/17/layer_3.html)
+- [Διαθεσιμότητα δεδομένων ή: Πώς τα πακέτα ενημέρωσης έμαθαν να σταματούν να ανησυχούν και να αγαπούν το Ethereum](https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum)
+- [Πρακτικός οδηγός για τα πακέτα ενημέρωσης Ethereum.](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/el/developers/docs/scaling/optimistic-rollups/index.md
new file mode 100644
index 00000000000..f8bca7cd71e
--- /dev/null
+++ b/public/content/translations/el/developers/docs/scaling/optimistic-rollups/index.md
@@ -0,0 +1,265 @@
+---
+title: Πακέτα ενημέρωσης Optimistic
+description: Μια εισαγωγή στα optimistic rollups — μια λύση κλιμάκωσης που χρησιμοποιείται από την κοινότητα του Ethereum.
+lang: el
+---
+
+Τα πακέτα ενημέρωσης (rollups) optimistic είναι πρωτόκολλα επιπέδου 2 (L2) που έχουν σχεδιαστεί για να επεκτείνουν την απόδοση του βασικού επιπέδου του Ethereum. Μειώνουν τον υπολογισμό στην κύρια αλυσίδα Ethereum μέσω της επεξεργασίας των συναλλαγών εκτός αλυσίδας, γεγονός το οποίο προσφέρει σημαντικές βελτιώσεις στις ταχύτητες επεξεργασίας. Σε αντίθεση με άλλες λύσεις κλιμάκωσης, όπως [πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/), τα πακέτα ενημέρωσης optimistic παίρνουν ασφάλεια από το Mainnet, δημοσιεύοντας αποτελέσματα συναλλαγών στην αλυσίδα ή τις [αλυσίδες plasma](/developers/docs/scaling/plasma/), οι οποίες επαληθεύουν επίσης συναλλαγές στο Ethereum με αποδείξεις απάτης, αλλά αποθηκεύουν δεδομένα συναλλαγών αλλού.
+
+Καθώς ο υπολογισμός είναι το αργό, δαπανηρό μέρος της χρήσης του Ethereum, τα πακέτα ενημέρωσης optimistic μπορούν να προσφέρουν έως και 10-100x βελτιώσεις στην επεκτασιμότητα. Τα πακέτα ενημέρωσης optimistic καταχωρούν επίσης συναλλαγές στο Ethereum ως `calldata` ή σε [blobs](/roadmap/danksharding/), μειώνοντας το κόστος gas για τους χρήστες.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να έχετε διαβάσει και κατανοήσει τις σελίδες μας σχετικά με την [κλιμάκωση Ethereum](/developers/docs/scaling/) και το [επίπεδο 2](/layer-2/).
+
+## Τι είναι ένα πακέτο ενημέρωσης optimistic; {#what-is-an-optimistic-rollup}
+
+Ένα πακέτο ενημέρωσης optimistic είναι μια προσέγγιση για την κλιμάκωση του Ethereum που περιλαμβάνει μετακίνηση υπολογισμού και της αποθήκευσης κατάστασης εκτός αλυσίδας. Τα πακέτα ενημέρωσης optimistic εκτελούν συναλλαγές έξω από το Ethereum, αλλά δημοσιεύουν δεδομένα συναλλαγών στο Κεντρικό δίκτυο ως `calldata` ή σε [blobs](/roadmap/danksharding/).
+
+Οι χειριστές του πακέτου ενημέρωσης optimistic ομαδοποιούν πολλές συναλλαγές εκτός αλυσίδας σε μεγάλες παρτίδες πριν τις υποβάλουν στο Ethereum. Αυτή η προσέγγιση επιτρέπει την κατανομή του σταθερού κόστους σε πολλαπλές συναλλαγές σε κάθε παρτίδα, μειώνοντας τα τέλη για τους τελικούς χρήστες. Τα πακέτα ενημέρωσης optimistic χρησιμοποιούν επίσης τεχνικές συμπίεσης για να μειώσουν τον όγκο των δεδομένων που δημοσιεύονται στο Ethereum.
+
+Τα πακέτα ενημέρωσης optimistic θεωρούνται «optimistic» επειδή υποθέτουν ότι οι συναλλαγές εκτός αλυσίδας είναι έγκυρες και δε δημοσιεύουν αποδείξεις εγκυρότητας για παρτίδες συναλλαγών που δημοσιεύονται στην αλυσίδα. Αυτό διαχωρίζει τα πακέτα ενημέρωσης optimistic από τα [πακέτα ενημέρωσης μηδενικής γνώσης](/developers/docs/scaling/zk-rollups) που δημοσιεύουν κρυπτογραφικές [αποδείξεις εγκυρότητας](/glossary/#validity-proof) για συναλλαγές εκτός αλυσίδας.
+
+Τα πακέτα ενημέρωσης optimistic βασίζονται σε ένα σύστημα απόδειξης απάτης για τον εντοπισμό περιπτώσεων όπου οι συναλλαγές δεν υπολογίζονται σωστά. Μετά την υποβολή ενός συνόλου πακέτων ενημέρωσης στο Ethereum, υπάρχει ένα χρονικό παράθυρο (που ονομάζεται περίοδος πρόκλησης) κατά τη διάρκεια του οποίου οποιοσδήποτε μπορεί να αμφισβητήσει τα αποτελέσματα μιας συναλλαγής πακέτου ενημέρωσης, υπολογίζοντας μια [απόδειξη απάτης](/glossary/#fraud-proof).
+
+Εάν η απόδειξη απάτης είναι επιτυχής, το πρωτόκολλο πακέτου ενημέρωσης εκτελεί ξανά τις συναλλαγές και ενημερώνει την κατάσταση του πακέτου ενημέρωσης αναλόγως. Το άλλο αποτέλεσμα μιας επιτυχημένης απόδειξης απάτης είναι ότι ο sequencer που είναι υπεύθυνος για τη συμπερίληψη της εσφαλμένα εκτελεσθείσας συναλλαγής σε ένα μπλοκ λαμβάνει μια ποινή.
+
+Εάν η παρτίδα πακέτου ενημέρωσης παραμείνει χωρίς αμφισβήτηση (δηλαδή, όλες οι συναλλαγές εκτελούνται σωστά) μετά την πάροδο της περιόδου πρόκλησης, θεωρείται έγκυρη και αποδεκτή στο Ethereum. Οι υπόλοιποι μπορούν να συνεχίσουν να βασίζονται σε ένα μη επιβεβαιωμένο πακέτο ενημέρωσης μπλοκ, αλλά με μια προειδοποίηση: τα αποτελέσματα των συναλλαγών θα αντιστραφούν εάν βασίζονται σε μια εσφαλμένα εκτελεσθείσα συναλλαγή που δημοσιεύτηκε προηγουμένως.
+
+## Πώς αλληλεπιδρούν τα πακέτα ενημέρωσης optimistic με το Ethereum; {#optimistic-rollups-and-Ethereum}
+
+Τα πακέτα ενημέρωσης optimistic είναι [λύσεις κλιμάκωσης εκτός αλυσίδας](/developers/docs/scaling/#offchain-scaling) που έχουν σχεδιαστεί για να λειτουργούν πάνω από το Ethereum. Κάθε πακέτο ενημέρωσης optimistic διαχειρίζεται ένα σύνολο έξυπνων συμβολαίων που αναπτύσσονται στο δίκτυο Ethereum. Τα πακέτα ενημέρωσης optimistic επεξεργάζονται συναλλαγές εκτός της κύριας αλυσίδας Ethereum, αλλά δημοσιεύει τις συναλλαγές εκτός αλυσίδας (σε παρτίδες) σε ένα συμβόλαιο πακέτου ενημέρωσης στην αλυσίδα. Όπως η κρυπτοαλυσίδα Ethereum, αυτή η εγγραφή συναλλαγών είναι αμετάβλητη και αποτελεί την «αλυσίδα πακέτου ενημέρωσης optimistic».
+
+Η αρχιτεκτονική ενός πακέτου ενημέρωσης optimistic περιλαμβάνει τα ακόλουθα μέρη:
+
+**Συμβόλαια επί της αλυσίδας**: Η λειτουργία των πακέτων ενημέρωσης optimistic ελέγχεται από έξυπνα συμβόλαια που εκτελούνται στο Ethereum. Αυτό περιλαμβάνει συμβόλαια που αποθηκεύουν πακέτα ενημέρωσης μπλοκ, παρακολουθούν τις ενημερώσεις κατάστασης στο πακέτο και παρακολουθούν τις καταθέσεις των χρηστών. Υπό αυτή την έννοια, το Ethereum χρησιμεύει ως το βασικό στρώμα ή το «επίπεδο 1» για τα πακέτα ενημέρωσης optimistic.
+
+**Εικονική μηχανή (VM) εκτός αλυσίδας**: Αν και τα συμβόλαια που διαχειρίζονται το πρωτόκολλο πακέτου ενημέρωσης optimistic εκτελούνται στο Ethereum, το πρωτόκολλο πακέτου ενημέρωσης εκτελεί υπολογισμούς και αποθήκευση της κατάστασης σε άλλη εικονική μηχανή ξεχωριστά από την [Εικονική μηχανή Ethereum](/developers/docs/evm/). Οι VM εκτός αλυσίδας είναι το σημείο όπου υπάρχουν οι εφαρμογές και εκτελούνται οι αλλαγές κατάστασης και χρησιμεύει ως το ανώτερο στρώμα ή «επίπεδο 2» για ένα πακέτο ενημέρωσης optimistic.
+
+Καθώς τα πακέτα ενημέρωσης optimistic έχουν σχεδιαστεί για την εκτέλεση προγραμμάτων είτε γραμμένων είτε μεταγλωττισμένων για το EVM, η VM εκτός αλυσίδας ενσωματώνει πολλές προδιαγραφές σχεδίασης EVM. Επιπλέον, οι αποδείξεις απάτης που υπολογίζονται στην αλυσίδα επιτρέπουν στο δίκτυο Ethereum να επιβάλλει την εγκυρότητα των αλλαγών κατάστασης που υπολογίζονται στην VM εκτός αλυσίδας.
+
+Τα πακέτα ενημέρωσης optimistic περιγράφονται ως «υβριδικές λύσεις κλιμάκωσης» επειδή, ενώ υπάρχουν ως ξεχωριστά πρωτόκολλα, οι ιδιότητες ασφαλείας τους προέρχονται από το Ethereum. Μεταξύ άλλων, το Ethereum εγγυάται την ορθότητα του υπολογισμού του πακέτου ενημέρωσης εκτός αλυσίδας και τη διαθεσιμότητα δεδομένων πίσω από τον υπολογισμό. Αυτό καθιστά τα πακέτα ενημέρωσης optimistic πιο ασφαλή από τα αγνά πρωτόκολλα κλιμάκωση εκτός αύσίδας (π.χ., [sidechains](/developers/docs/scaling/sidechains/)) που δε βασίζονται στο Ethereum για ασφάλεια.
+
+Τα πακέτα ενημέρωσης optimistic βασίζονται στο κύριο πρωτόκολλο Ethereum για τα ακόλουθα:
+
+### Διαθεσιμότητα δεδομένων {#data-availability}
+
+Όπως αναφέρθηκε, τα πακέτα ενημέρωσης optimistic δημοσιεύουν δεδομένα συναλλαγών στο Ethereum ως `calldata` ή [blobs](/roadmap/danksharding/). Δεδομένου ότι η εκτέλεση του πακέτου ενημέρωσης αλυσίδας βασίζεται σε υποβληθείσες συναλλαγές, οποιοσδήποτε μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες οι οποίες που είναι αγκυρωμένες στο βασικό επίπεδο του Ethereum, για να εκτελέσει την κατάσταση του πακέτου ενημέρωσης και να επαληθεύσει την ορθότητα των μεταβάσεων κατάστασης.
+
+Η [διαθεσιμότητα δεδομένων](/developers/docs/data-availability/) είναι κρίσιμης σημασίας, διότι χωρίς πρόσβαση σε δεδομένα κατάστασης, αυτοί που θα αμφισβητήσουν δεν μπορούν να δημιουργήσουν αποδείξεις απάτης για τις μη έγκυρες λειτουργίες των πακέτων ενημέρωσης. Με το Ethereum να παρέχει διαθεσιμότητα δεδομένων, μειώνεται ο κίνδυνος να ξεφύγουν οι χειριστές των πακέτων ενημέρωσης με κακόβουλες ενέργειες (π.χ. υποβολή μη έγκυρων μπλοκ).
+
+### Αντίσταση στη Λογοκρισία {#censorship-resistance}
+
+Τα πακέτα ενημέρωσης optimistic βασίζονται επίσης στο Ethereum για αντίσταση στη λογοκρισία. Σε ένα πακέτο ενημέρωσης optimistic, μια κεντρική οντότητα (ο χειριστής) είναι υπεύθυνος για την επεξεργασία των συναλλαγών και την υποβολή των πακέτων ενημέρωσης μπλοκ στο Ethereum. Αυτό έχει κάποιες συνέπειες:
+
+- Οι χειριστές των πακέτων ενημέρωσης μπορούν να λογοκρίνουν τους χρήστες με το να βγουν εντελώς εκτός σύνδεσης ή με την άρνησή τους να δημιουργήσουν μπλοκ που περιλαμβάνουν ορισμένες συναλλαγές σε αυτά.
+
+- Οι χειριστές των πακέτων ενημέρωσης μπορούν να αποτρέψουν τους χρήστες από το να κάνουν ανάληψη χρημάτων που έχουν κατατεθεί στη συμβόλαιο του πακέτου ενημέρωσης μέσω της δέσμευσης των δεδομένων κατάστασης που είναι απαραίτητα για τα αποδεικτικά ιδιοκτησίας Merkle. Η δέσμευση δεδομένων κατάστασης μπορεί επίσης να αποκρύψει την κατάσταση του πακέτου ενημέρωσης από τους χρήστες και να τους εμποδίσει να αλληλεπιδράσουν με το πακέτο ενημέρωσης.
+
+Τα πακέτα ενημέρωσης optimistic λύνουν αυτό το πρόβλημα αναγκάζοντας τους χειριστές να δημοσιεύουν δεδομένα που σχετίζονται με ενημερώσεις κατάστασης στο Ethereum. Η δημοσίευση δεδομένων rollup στην αλυσίδα έχει τα ακόλουθα πλεονεκτήματα:
+
+- Εάν ένας χειριστής πακέτου ενημέρωσης optimistic βρεθεί εκτός σύνδεσης ή σταματήσει να παράγει παρτίδες συναλλαγών, ένας άλλος κόμβος μπορεί να χρησιμοποιήσει τα διαθέσιμα δεδομένα για να αναπαραγάγει την τελευταία κατάσταση του πακέτου ενημέρωσης και να συνεχίσει την παραγωγή μπλοκ.
+
+- Οι χρήστες μπορούν να χρησιμοποιήσουν δεδομένα συναλλαγών για να δημιουργήσουν αποδεικτικά Merkle που αποδεικνύουν την ιδιοκτησία κεφαλαίων και να αποσύρουν τα περιουσιακά τους στοιχεία από το πακέτο ενημέρωσης.
+
+- Οι χρήστες μπορούν επίσης να υποβάλουν τις συναλλαγές τους στο L1 αντί για τον sequencer. Στην περίπτωση αυτή, ο sequencer πρέπει να συμπεριλάβει τη συναλλαγή εντός συγκεκριμένου χρονικού ορίου για να συνεχίσει να παράγει έγκυρα μπλοκ.
+
+### Διακανονισμός {#settlement}
+
+Ένας άλλος ρόλος που διαδραματίζει το Ethereum στο πλαίσιο των πακέτων ενημέρωσης optimistic είναι αυτός του επιπέδου διακανονισμού. Ένα επίπεδο διακανονισμού αγκυρώνει ολόκληρο το οικοσύστημα blockchain, δημιουργεί ασφάλεια και παρέχει αντικειμενική οριστικότητα εάν προκύψει μια διαφωνία σε μια άλλη αλυσίδα (στα πακέτα ενημέρωσης optimistic σε αυτή την περίπτωση) που απαιτεί διαιτησία.
+
+Το Κεντρικό Δίκτυο του Ethereum παρέχει έναν κόμβο για τα πακέτα ενημέρωσης optimistic για την επαλήθευση των αποδεικτικών απάτης και την επίλυση διαφορών. Επιπλέον, οι συναλλαγές που πραγματοποιούνται στο πακέτο ενημέρωσης είναι τελικές μόνο _αφού_ το μπλοκ του πακέτου ενημέρωσης γίνει αποδεκτό στο Ethereum. Μόλις δεσμευτεί μια συναλλαγή rollup στο βασικό επίπεδο του Ethereum, δεν μπορεί να αναιρεθεί (εκτός από την εξαιρετικά απίθανη περίπτωση αναδιοργάνωσης της αλυσίδας).
+
+## Πώς λειτουργούν τα πακέτα ενημέρωσης optimistic; {#how-optimistic-rollups-work}
+
+### Εκτέλεση και συγκέντρωση συναλλαγών {#transaction-execution-and-aggregation}
+
+Οι χρήστες υποβάλλουν συναλλαγές σε «χειριστές», οι οποίοι είναι κόμβοι υπεύθυνοι για την επεξεργασία των συναλλαγών στο πακέτο ενημέρωσης optimistic. Γνωστός και ως «επικυρωτής» ή «συσσωρευτής», ο χειριστής συγκεντρώνει συναλλαγές, συμπιέζει τα υποκείμενα δεδομένα και δημοσιεύει το μπλοκ στο Ethereum.
+
+Παρόλο που οποιοσδήποτε μπορεί να γίνει επικυρωτής, οι επικυρωτές πακέτων ενημέρωσης optimistic πρέπει να παρέχουν έναν δεσμό πριν από την παραγωγή μπλοκ, όπως ένα [σύστημα απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos/). Αυτός ο δεσμός μπορεί να κοπεί εάν ο επικυρωτής δημοσιεύσει ένα μη έγκυρο μπλοκ ή χτίσει σε ένα παλιό αλλά μη έγκυρο μπλοκ (ακόμα και αν το μπλοκ του είναι έγκυρο). Με αυτόν τον τρόπο τα πακέτα ενημέρωσης optimistic χρησιμοποιούν κρυπτοοικονομικά κίνητρα για να εξασφαλίσουν ότι οι επικυρωτές ενεργούν με ειλικρίνεια.
+
+Άλλοι επικυρωτές στην αλυσίδα των πακέτων ενημέρωσης optimistic αναμένεται να εκτελέσουν τις υποβληθείσες συναλλαγές χρησιμοποιώντας το αντίγραφο της κατάστασης του πακέτου ενημέρωσης. Εάν η τελική κατάσταση ενός επικυρωτή είναι διαφορετική από την προτεινόμενη κατάσταση του χειριστή, μπορεί να ξεκινήσει μια πρόκληση και να υπολογίσει ένα αποδεικτικό απάτης.
+
+Ορισμένα πακέτα ενημέρωσης optimistic μπορεί να απέχουν από ένα σύστημα επικύρωσης χωρίς άδεια και να χρησιμοποιούν έναν μεμονωμένο «sequencer» για την εκτέλεση της αλυσίδας. Όπως ένας επικυρωτής, ο sequencer επεξεργάζεται συναλλαγές, παράγει μπλοκ πακέτων ενημέρωσης και υποβάλλει συναλλαγές rollup στην αλυσίδα L1 (Ethereum).
+
+Ο sequencer διαφέρει από έναν κανονικό χειριστή πακέτων ενημέρωσης, επειδή ασκεί μεγαλύτερο έλεγχο στη διάταξη των συναλλαγών. Επίσης, ο sequencer έχει πρόσβαση κατά προτεραιότητα στην αλυσίδα πακέτου ενημέρωσης και είναι η μόνη οντότητα που είναι εξουσιοδοτημένη να υποβάλλει συναλλαγές στο συμβόλαιο στην αλυσίδα. Οι συναλλαγές από κόμβους που δεν εκτελούν καθήκοντα sequencer ή από τακτικούς χρήστες απλώς τοποθετούνται σε ουρά σε ξεχωριστά εισερχόμενα inbox μέχρι ο sequencer να τις συμπεριλάβει σε μια νέα παρτίδα.
+
+#### Υποβολή μπλοκ πακέτων ενημέρωσης στο Ethereum {#submitting-blocks-to-ethereum}
+
+Όπως αναφέρθηκε, ο χειριστής ενός πακέτου ενημέρωσης optimistic δεσμεύει τις συναλλαγές εκτός αλυσίδας σε μια παρτίδα και τις στέλνει στο Ethereum για συμβολαιογραφική επικύρωση. Αυτή η διαδικασία περιλαμβάνει τη συμπίεση δεδομένων που σχετίζονται με τις συναλλαγές και τη δημοσίευσή τους στο Ethereum ως `calldata` ή σε blob.
+
+Τα `calldata` είναι μια μη τροποποιήσιμη, μη εμμένουσα περιοχή σε ένα έξυπνο συμβόλαιο που συμπεριφέρεται κυρίως σαν [memory](/developers/docs/smart-contracts/anatomy/#memory). Ενώ τα `calldata` παραμένουν στην αλυσίδα ως μέρος των [history logs](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) του blockchain, δεν αποθηκεύονται ως μέρος της κατάστασης του Ethereum. Επειδή το `calldata` δεν αγγίζει κανένα μέρος της κατάστασης του Ethereum, είναι φθηνότερο από την αποθήκευση δεδομένων κατάστασης στην αλυσίδα.
+
+Η λέξη-κλειδί `calldata` χρησιμοποιείται επίσης στο Solidity για τη μεταβίβαση ορισμάτων σε μια συνάρτηση έξυπνου συμβόλαιου κατά τον χρόνο εκτέλεσης. Το `calldata` προσδιορίζει τη λειτουργία που καλείται κατά τη διάρκεια μιας συναλλαγής και διατηρεί εισόδους στη λειτουργία με τη μορφή μιας αυθαίρετης ακολουθίας byte.
+
+Στο πλαίσιο των πακέτων ενημέρωσης optimistic, το `calldata` χρησιμοποιείται για την αποστολή συμπιεσμένων δεδομένων συναλλαγών στο συμβόλαιο στην αλυσίδα. Ο χειριστής του πακέτου ενημέρωσης προσθέτει μια νέα παρτίδα με την κλήση της απαιτούμενης λειτουργίας στο συμβόλαιο του πακέτου ενημέρωσης και τη μεταβίβαση των συμπιεσμένων δεδομένων ως ορισμάτων λειτουργίας. Η χρήση `calldata` μειώνει τις χρεώσεις χρήστη, καθώς το μεγαλύτερο κόστος που επιβαρύνει τα πακέτα ενημέρωσης προέρχεται από την αποθήκευση δεδομένων στην αλυσίδα.
+
+Ακολουθεί [ένα παράδειγμα](https://etherscan.io/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591) μιας υποβολής παρτίδας πακέτων ενημέρωσης για να παρουσιαστεί πώς λειτουργεί αυτή η ιδέα. Ο sequencer κάλεσε τη μέθοδο `appendSequencerBatch()` και πέρασε τα συμπιεσμένα δεδομένα συναλλαγής ως δεδομένα εισόδου με τη χρήση `calldata`.
+
+Ορισμένα πακέτα ενημέρωσης χρησιμοποιούν πλέον blob για να δημοσιεύουν παρτίδες συναλλαγών στο Ethereum.
+
+Τα blob είναι μη τροποποιήσιμα και μη εμμένοντα (ακριβώς όπως το `calldata`), αλλά αφαιρούνται από το ιστορικό μετά από ~18 ημέρες. Για περισσότερες πληροφορίες σχετικά με τα blob, διαβάστε το [Danksharding](/roadmap/danksharding).
+
+### Δεσμεύσεις κατάστασης {#state-commitments}
+
+Σε οποιαδήποτε χρονική στιγμή, η κατάσταση του πακέτου ενημέρωσης optimistic (λογαριασμοί, υπόλοιπα, κώδικας συμβολαίου κ.λπ.) οργανώνεται ως [δέντρο Merkle](/whitepaper/#merkle-trees) που ονομάζεται «δέντρο κατάστασης». Η ρίζα αυτού του δέντρου Merkle (κατάσταση ρίζας), η οποία αναφέρεται στην πιο πρόσφατη κατάσταση του πακέτου ενημέρωσης, κατακερματίζεται και αποθηκεύεται στο συμβόλαιο πακέτου ενημέρωσης. Κάθε μετάβαση κατάστασης στην αλυσίδα παράγει μια νέα κατάσταση πακέτου ενημέρωσης, στην οποία ένας χειριστής δεσμεύεται υπολογίζοντας ένα νέο root κατάστασης.
+
+Ο χειριστής υποχρεούται να υποβάλλει τόσο τις παλιές ρίζες κατάστασης όσο και τις νέες ρίζες κατάστασης κατά την ανάρτηση παρτίδων. Εάν η παλιά κατάσταση ρίζας ταιριάζει με την υπάρχουσα κατάσταση ρίζας στο συμβόλαιο στην αλυσίδα, η τελευταία απορρίπτεται και αντικαθίσταται με τη νέα κατάσταση ρίζας.
+
+Ο χειριστής του πακέτου ενημέρωσης απαιτείται επίσης να δεσμεύσει μια ρίζα Merkle για την ίδια τη δέσμη συναλλαγών. Αυτό επιτρέπει σε οποιονδήποτε να αποδείξει τη συμπερίληψη μιας συναλλαγής στη δέσμη (στο L1) με την παρουσίαση μιας [απόδειξης Merkle](/developers/tutorials/merkle-proofs-for-offline-data-integrity/).
+
+Οι δεσμεύσεις κατάστασης, ιδιαίτερα οι καταστάσεις ρίζας, είναι απαραίτητες για την απόδειξη της ορθότητας των αλλαγών κατάστασης σε ένα πακέτο ενημέρωσης optimistic. Το συμβόλαιο πακέτου ενημέρωσης δέχεται νέες καταστάσεις ρίζες από τους χειριστές αμέσως μετά τη δημοσίευσή τους, αλλά μπορεί αργότερα να διαγράψει μη έγκυρες καταστάσεις ρίζας για να επαναφέρει το πακέτο ενημέρωσης στη σωστή του κατάσταση.
+
+### Απόδειξη απάτης {#fraud-proving}
+
+Όπως εξηγείται, τα πακέτα ενημέρωσης optimistic επιτρέπουν σε οποιονδήποτε να δημοσιεύει μπλοκ χωρίς να παρέχει αποδείξεις εγκυρότητας. Ωστόσο, για να διασφαλιστεί ότι η αλυσίδα παραμένει ασφαλής, τα πακέτα ενημέρωσης optimistic καθορίζουν ένα χρονικό παράθυρο κατά το οποίο οποιοσδήποτε μπορεί να αμφισβητήσει μια μετάβαση κατάστασης. Ως εκ τούτου, τα μπλοκ πακέτων ενημέρωσης ονομάζονται «ισχυρισμοί», καθώς ο οποιοσδήποτε μπορεί να αμφισβητήσει την εγκυρότητά τους.
+
+Εάν κάποιος αμφισβητήσει έναν ισχυρισμό, τότε το πρωτόκολλο πακέτου ενημέρωσης θα ξεκινήσει τον υπολογισμό απόδειξης απάτης. Κάθε τύπος απόδειξης απάτης είναι αλληλεπιδραστικός —κάποιος πρέπει να δημοσιεύσει έναν ισχυρισμό πριν κάποιος άλλος μπορέσει να τον αμφισβητήσει. Η διαφορά έγκειται στο πόσοι γύροι αλληλεπίδρασης απαιτούνται για τον υπολογισμό της απόδειξης απάτης.
+
+Αλληλεπιδραστικά συστήματα απόδειξης ενός γύρου επαναλαμβάνουν αμφισβητούμενες συναλλαγές στο L1 για τον εντοπισμό μη έγκυρων ισχυρισμών. Το πρωτόκολλο πακέτου ενημέρωσης μιμείται την εκ νέου εκτέλεση της αμφισβητούμενης συναλλαγής στο L1 (Ethereum) χρησιμοποιώντας ένα συμβόλαιο επαληθευτή, με την υπολογισμένη ρίζα κατάστασης να καθορίζει ποιος κερδίζει την πρόκληση. Εάν ο ισχυρισμός αυτού που αμφισβητεί σχετικά με τη σωστή κατάσταση του πακέτου ενημέρωσης είναι σωστός, ο χειριστής τιμωρείται με περικοπή του δεσμού του.
+
+Ωστόσο, η επανεκτέλεση συναλλαγών στο L1 για τον εντοπισμό απάτης απαιτεί τη δημοσίευση δεσμεύσεων κατάστασης για μεμονωμένες συναλλαγές και αυξάνει τα δεδομένα που πρέπει να δημοσιεύουν τα πακέτα ενημέρωσης στην αλυσίδα. Η επανάληψη των συναλλαγών συνεπάγεται επίσης σημαντικό κόστος gas. Για αυτούς τους λόγους, γίνεται μετάβαση των πακέτων ενημερώσεων optimistic σε αλληλεπιδραστική απόδειξη πολλαπλών γύρων, η οποία επιτυγχάνει τον ίδιο στόχο (δηλαδή τον εντοπισμό μη έγκυρων λειτουργιών πακέτων ενημερώσεων) με μεγαλύτερη αποτελεσματικότητα.
+
+#### Διαδραστική απόδειξη πολλαπλών κύκλων {#multi-round-interactive-proving}
+
+Η διαδραστική απόδειξη πολλαπλών γύρων περιλαμβάνει ένα πρωτόκολλο εμπρός-πίσω μεταξύ αυτού που υποβάλλει τον ισχυρισμό και αυτού που τον αμφισβητεί, υπό την επίβλεψη ενός συμβολαίου επαληθευτή L1, το οποίο τελικά αποφασίζει το ψευδές μέρος. Αφού ένας κόμβος L2 αμφισβητήσει έναν ισχυρισμό, αυτός που υποβάλλει τον ισχυρισμό πρέπει να διαιρέσει τον αμφισβητούμενο ισχυρισμό σε δύο ισοδύναμα μισά μέρη. Κάθε μεμονωμένος ισχυρισμός σε αυτή την περίπτωση θα περιέχει όσα βήματα υπολογισμού έχει και ο άλλος.
+
+Αυτός που τον αμφισβητεί θα επιλέξει, στη συνέχεια, τον συγκεκριμένο ισχυρισμό που θέλει να αμφισβητήσει. Η διαδικασία διαίρεσης (που ονομάζεται «πρωτόκολλο διχοτόμησης») συνεχίζεται μέχρι και τα δύο μέλη αμφισβητήσουν έναν ισχυρισμό σχετικά με ένα _μεμονωμένο_ βήμα εκτέλεσης. Σε αυτό το σημείο, το συμβόλαιο L1 θα επιλύσει τη διαφορά μέσω της αξιολόγησης της οδηγίας (και του αποτελέσματός της) για να πιάσει το δόλιο μέρος.
+
+Ο διεκδικητής πρέπει να παράσχει μια «απόδειξη ενός βήματος» που επαληθεύει την εγκυρότητα του αμφισβητούμενου υπολογισμού ενός σταδίου. Εάν ο διεκδικητής αποτύχει να παράσχει την απόδειξη ενός βήματος ή ο επαληθευτής L1 κρίνει ότι η απόδειξη δεν είναι έγκυρη, χάνει την πρόκληση.
+
+Μερικές σημειώσεις σχετικά με αυτό το είδος απόδειξης απάτης:
+
+1. Η διαδραστική απόδειξη απάτης πολλαπλών γύρων θεωρείται αποτελεσματική επειδή ελαχιστοποιεί το έργο που πρέπει να κάνει η αλυσίδα L1 στη διαιτησία διαφορών. Αντί να επαναλαμβάνει ολόκληρη τη συναλλαγή, η αλυσίδα L1 χρειάζεται να επαναλάβει μόνο ένα βήμα στην εκτέλεση του πακέτου ενημέρωσης.
+
+2. Τα πρωτόκολλα διχοτόμησης μειώνουν τον όγκο των δεδομένων που δημοσιεύονται στην αλυσίδα (δε χρειάζεται να δημοσιεύονται δεσμεύσεις κατάστασης για κάθε συναλλαγή). Επίσης, τα optimistic πακέτα ενημέρωσης δεν περιορίζονται από το όριο gas του Ethereum. Αντίθετα, τα πακέτα ενημέρωσης optimistic που εκτελούν εκ νέου συναλλαγές πρέπει να διασφαλίζουν ότι μια συναλλαγή L2 έχει ένα χαμηλότερο όριο gas για να μιμηθεί την εκτέλεσή της σε μία μεμονωμένη συναλλαγή Ethereum.
+
+3. Μέρος του δεσμού του κακόβουλου χρήστη απονέμεται στον αμφισβητία, ενώ το άλλο μέρος καίγεται. Το κάψιμο αποτρέπει τη συμπαιγνία μεταξύ επικυρωτών. Εάν δύο επικυρωτές συνεννοηθούν για να ξεκινήσουν ψευδείς προκλήσεις, θα χάσουν ένα σημαντικό κομμάτι ολόκληρου του δεσμευμένου κεφαλαίου.
+
+4. Η διαδραστική απόδειξη πολλαπλών γύρων απαιτεί από τα δύο μέρη (τον διεκδικητή και τον αμφισβητία) να κάνουν κινήσεις εντός του καθορισμένου χρονικού παραθύρου. Η παράλειψη ενεργοποίησης πριν από τη λήξη της προθεσμίας αναγκάζει τον παραβάτη να χάσει την αμφισβήτηση.
+
+#### Γιατί οι αποδείξεις απάτης έχουν σημασία για τα πακέτα ενημέρωσης optimistic {#fraud-proof-benefits}
+
+Οι αποδείξεις απάτης είναι σημαντικές επειδή διευκολύνουν την _αξιόπιστη οριστικότητα_ στα πακέτα ενημέρωσης optimistic. Η αξιόπιστη οριστικότητα είναι μια ποιότητα πακέτων ενημέρωσης optimistic που εγγυάται ότι μια συναλλαγή —εφόσον είναι έγκυρη— θα επιβεβαιωθεί τελικά.
+
+Οι κακόβουλοι κόμβοι μπορούν να προσπαθήσουν να καθυστερήσουν την επιβεβαίωση ενός έγκυρου πακέτου ενημέρωσης μπλοκ ξεκινώντας ψευδείς προκλήσεις. Ωστόσο, οι αποδείξεις απάτης θα αποδείξουν τελικά την εγκυρότητα του μπλοκ rollup και θα οδηγήσουν στην επιβεβαίωσή του.
+
+Αυτό σχετίζεται επίσης με ένα άλλο χαρακτηριστικό ασφαλείας των optimistic rollup: η εγκυρότητα της αλυσίδας βασίζεται στην ύπαρξη _ενός_ ειλικρινούς κόμβου. Ο ειλικρινής κόμβος μπορεί να προωθήσει σωστά την αλυσίδα είτε δημοσιεύοντας έγκυρους ισχυρισμούς είτε αμφισβητώντας μη έγκυρους ισχυρισμούς. Όποια και αν είναι η περίπτωση, οι κακόβουλοι κόμβοι που διαφωνούν με έναν ειλικρινή κόμβο θα χάσουν τα μερίδια τους κατά τη διαδικασία απόδειξης απάτης.
+
+### Διαλειτουργικότητα L1/L2 {#l1-l2-interoperability}
+
+Τα optimistic rollup έχουν σχεδιαστεί για διαλειτουργικότητα με το Κεντρικό Δίκτυο του Ethereum και επιτρέπουν στους χρήστες να μεταφέρουν μηνύματα και αυθαίρετα δεδομένα μεταξύ L1 και L2. Είναι επίσης συμβατά με το EVM, ώστε να μπορείτε να μεταφέρετε υπάρχουσες [dapp](/developers/docs/dapps/) σε optimistic rollup ή να δημιουργείτε νέες dapp χρησιμοποιώντας εργαλεία ανάπτυξης Ethereum.
+
+#### 1. Κίνηση κεφαλαίου {#asset-movement}
+
+##### Προσθήκη πακέτου ενημέρωσης
+
+Για να χρησιμοποιήσουν ένα optimistic rollup, οι χρήστες καταθέτουν ETH, token ERC-20 και άλλα αποδεκτά στοιχεία στο συμβόλαιο [γέφυρας](/developers/docs/bridges/) του rollup στο L1. Το συμβόλαιο γέφυρας θα μεταφέρει τη συναλλαγή στο L2, όπου ένα ισοδύναμο ποσό περιουσιακών στοιχείων κόβεται και αποστέλλεται στη διεύθυνση που έχει επιλέξει ο χρήστης στο optimistic rollup.
+
+Οι συναλλαγές που δημιουργούνται από τους χρήστες (όπως μια κατάθεση L1 > L2) συνήθως τοποθετούνται σε ουρά μέχρι ο sequencer να τις υποβάλει ξανά στο συμβόλαιο rollup. Ωστόσο, για να διατηρηθεί η αντίσταση στη λογοκρισία, τα πακέτα ενημέρωσης optimistic επιτρέπουν στους χρήστες να υποβάλουν μια συναλλαγή απευθείας στο συμβόλαιο στην αλυσίδα εάν έχει καθυστερήσει πέραν του μέγιστου επιτρεπόμενου χρόνου.
+
+Ορισμένα optimistic rollup υιοθετούν μια πιο απλή προσέγγιση για να αποτρέψουν τους sequencer από το να λογοκρίνουν τους χρήστες. Εδώ, ένα μπλοκ ορίζεται από όλες τις συναλλαγές που υποβάλλονται στο συμβόλαιο L1 από το προηγούμενο μπλοκ (π.χ. καταθέσεις) επιπλέον των συναλλαγών που υποβάλλονται για επεξεργασία στην αλυσίδα rollup. Εάν ένας sequencer αγνοήσει μια συναλλαγή L1, θα δημοσιεύσει την (αποδεδειγμένα) λάθος ρίζα κατάστασης. Συνεπώς, οι sequencer δεν μπορούν να καθυστερήσουν τα μηνύματα που δημιουργούνται από τον χρήστη μόλις αναρτηθούν στο L1.
+
+##### Έξοδος από το rollup
+
+Η ανάληψη από ένα optimistic rollup στο Ethereum είναι πιο δύσκολη λόγω του συστήματος απόδειξης απάτης. Εάν ένας χρήστης εκκινήσει μια συναλλαγή L2 > L1για ανάληψη κεφαλαίων που έχουν δεσμευτεί στο L1, πρέπει να περιμένει μέχρι να παρέλθει η περίοδος πρόκλησης, η οποία διαρκεί περίπου επτά ημέρες. Ωστόσο, η ίδια η διαδικασία ανάληψης είναι αρκετά απλή.
+
+Αφού εκκινηθεί το αίτημα ανάληψης στο rollup του L2, η συναλλαγή περιλαμβάνεται στην επόμενη παρτίδα, ενώ τα περιουσιακά στοιχεία του χρήστη στο rollup καίγονται. Μόλις δημοσιευτεί η παρτίδα στο Ethereum, ο χρήστης μπορεί να υπολογίσει μια απόδειξη Merkle που επαληθεύει τη συμπερίληψη της συναλλαγής εξόδου του στο μπλοκ. Στη συνέχεια, το μόνο που μένει να κάνει είναι να περιμένει την περίοδο καθυστέρησης για την οριστικοποίηση της συναλλαγής στο L1 και την ανάληψη χρημάτων στο Κεντρικό Δίκτυο.
+
+Για να αποφύγετε την αναμονή μιας εβδομάδας πριν από την ανάληψη κεφαλαίων στο Ethereum, οι χρήστες των optimistic rollup μπορούν να χρησιμοποιήσουν έναν **πάροχο ρευστότητας** (liquidity provider, LP). Ένας πάροχος ρευστότητας αναλαμβάνει την ιδιοκτησία μιας εκκρεμούς ανάληψης L2 και πληρώνει τον χρήστη στο L1 (με αντάλλαγμα την πληρωμή μιας αμοιβής).
+
+Οι πάροχοι ρευστότητας μπορούν να ελέγξουν την εγκυρότητα του αιτήματος ανάληψης του χρήστη (με το να εκτελέσουν οι ίδιοι την αλυσίδα) πριν αποδεσμεύσουν κεφάλαια. Με αυτόν τον τρόπο έχουν διαβεβαιώσεις ότι η συναλλαγή θα επιβεβαιωθεί τελικά (δηλαδή, αδιαμφισβήτητη οριστικότητα).
+
+#### 2. Συμβατότητα EVM {#evm-compatibility}
+
+Για τους προγραμματιστές, το πλεονέκτημα των optimistic rollup είναι η συμβατότητά τους —ή, ακόμα καλύτερα, η ισοδυναμία τους— με το [Εικονικό μηχάνημα του Ethereum (EVM)](/developers/docs/evm/). Τα συμβατά με EVM rollup συμμορφώνονται με τις προδιαγραφές στην [Κίτρινη Βίβλο του Ethereum](https://ethereum.github.io/yellowpaper/paper.pdf) και υποστηρίζουν το EVM σε επίπεδο bytecode.
+
+Η συμβατότητα με EVM σε optimistic rollup έχει τα ακόλουθα πλεονεκτήματα:
+
+i. Οι προγραμματιστές μπορούν να μετεγκαταστήσουν τα υπάρχοντα έξυπνα συμβόλαια στο Ethereum σε αλυσίδες optimistic rollup χωρίς να χρειάζεται να τροποποιήσουν εκτενώς τις βάσεις κώδικα. Αυτό μπορεί να εξοικονομήσει χρόνο στις ομάδες ανάπτυξης κατά τη δημοσίευση έξυπνων συμβολαίων Ethereum στο L2.
+
+ii. Οι προγραμματιστές και οι ομάδες έργων που χρησιμοποιούν optimistic rollup μπορούν να επωφεληθούν από την υποδομή του Ethereum. Αυτό περιλαμβάνει γλώσσες προγραμματισμού, βιβλιοθήκες κώδικα, εργαλεία δοκιμών, λογισμικό πελάτη, υποδομή ανάπτυξης και άλλα.
+
+Η χρήση υφιστάμενων εργαλείων είναι σημαντική επειδή αυτά τα εργαλεία έχουν ελεγχθεί εκτενώς, διορθωθεί και βελτιωθεί με τα χρόνια. Εξαλείφει επίσης την ανάγκη να μάθουν οι προγραμματιστές του Ethereum πώς να κατασκευάζουν με μια εντελώς νέα στοίβα ανάπτυξης.
+
+#### 3. Κλήσεις συμβολαίων διασταυρούμενων αλυσίδων {#cross-chain-contract-calls}
+
+Οι χρήστες (λογαριασμοί υπό καθεστώς εξωτερικής ιδιοκτησίας) αλληλεπιδρούν με συμβόλαια L2 υποβάλλοντας μια συναλλαγή στο πακέτο ενημέρωσης ή ζητώντας από έναν sequencer ή επικυρωτή να το κάνει εκ μέρους τους. Τα optimistic rollup επιτρέπουν επίσης στους λογαριασμούς συμβολαίων στο Ethereum να αλληλεπιδρούν με συμβόλαια L2 χρησιμοποιώντας συμβόλαια γεφύρωσης για τη μετάδοση μηνυμάτων και τη μεταφορά δεδομένων μεταξύ L1 και L2. Αυτό σημαίνει ότι μπορείτε να προγραμματίσετε ένα συμβόλαιο L1 στο Κεντρικό Δίκτυο του Ethereum για να καλέσετε συναρτήσεις που ανήκουν σε συμβόλαια σε optimistic rollup L2.
+
+Οι κλήσεις συμβολαίων διασταυρούμενων αλυσίδων πραγματοποιούνται ασύγχρονα —αυτό σημαίνει ότι πρώτα ξεκινά η κλήση και μετά εκτελείται σε μεταγενέστερο χρόνο. Αυτό διαφέρει από τις κλήσεις μεταξύ των δύο συμβολαίων στο Ethereum, όπου η κλήση παράγει αποτελέσματα αμέσως.
+
+Ένα παράδειγμα κλήσης συμβολαίου cross-chain είναι η συμβολική κατάθεση που περιγράφηκε προηγουμένως. Ένα συμβόλαιο στο L1 δεσμεύει τα κρυπτονομίσματα του χρήστη και στέλνει ένα μήνυμα σε ένα συζευγμένο συμβόλαιο L2 για να κόψει ισοδύναμο αριθμό κρύπτο στο πακέτο ενημέρωσης.
+
+Καθώς οι κλήσεις μηνυμάτων διασταυρούμενων αλυσίδων καταλήγουν στην εκτέλεση του συμβολαίου, ο αποστολέας συνήθως καλείται να καλύψει το [κόστος gas ](/developers/docs/gas/) για τον υπολογισμό. Συνιστάται να ορίσετε ένα υψηλό όριο gas για να αποτρέψετε την αποτυχία της συναλλαγής στη στοχευμένη αλυσίδα. Το σενάριο της γεφύρωσης κρύπτο είναι ένα καλό παράδειγμα. Εάν η πλευρά L1 της συναλλαγής (κατάθεση των κρύπτο) λειτουργεί, αλλά η πλευρά L2 (κοπή νέων κρύπτο) αποτύχει λόγω χαμηλού gas, η κατάθεση γίνεται μη αναστρέψιμη.
+
+Τέλος, να σημειώσουμε ότι οι κλήσεις μηνυμάτων L2 > L1 μεταξύ συμβολαίων πρέπει να λάβουν υπόψη τις καθυστερήσεις (οι κλήσεις L1 > L2 συνήθως εκτελούνται μετά από μερικά λεπτά). Αυτό συμβαίνει επειδή τα μηνύματα που αποστέλλονται στο Κεντρικό Δίκτυο από το optimistic rollup δεν μπορούν να εκτελεστούν έως ότου παρέλθει το χρονικό περιθώριο πρόκλησης.
+
+## Πώς λειτουργούν τα τέλη των optimistic rollup; {#how-do-optimistic-rollup-fees-work}
+
+Τα optimistic rollups χρησιμοποιούν ένα σύστημα τελών gas, όπως το Ethereum, για να υποδείξουν πόσα πληρώνουν οι χρήστες ανά συναλλαγή. Τα τέλη που χρεώνονται σε optimistic rollup εξαρτώνται από τα ακόλουθα στοιχεία:
+
+1. **State write (καταγραφή κατάστασης)**: Τα optimistic rollup δημοσιεύουν δεδομένα συναλλαγών και κεφαλίδες μπλοκ (που αποτελούνται από τον προηγούμενο hash κεφαλίδας μπλοκ, ρίζα κατάστασης, ρίζα παρτίδας) στο Ethereum ως `blob` ή «δυαδικό μεγάλο αντικείμενο» (binary large object). Το [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) παρουσίασε μια οικονομικά αποδοτική λύση για τη συμπερίληψη δεδομένων στην αλυσίδα. Το `blob` είναι ένα νέο πεδίο συναλλαγών που επιτρέπει στα rollup να δημοσιεύουν συμπιεσμένα δεδομένα μετάβασης κατάστασης στο Ethereum L1. Σε αντίθεση με τα `calldata`, τα οποία παραμένουν μόνιμα στην αλυσίδα, τα blobs είναι σύντομα και μπορούν να περικοπούν από πελάτες μετά από [4096 εποχές](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147) (περίπου 18 ημέρες). Χρησιμοποιώντας blob για τη δημοσίευση παρτίδων συμπιεσμένων συναλλαγών, τα optimistic rollup μπορούν να μειώσουν σημαντικά το κόστος εγγραφής συναλλαγών στο L1.
+
+2. **Blob gas used (gas blob που χρησιμοποιήθηκε)**: Οι συναλλαγές που μεταφέρουν blob χρησιμοποιούν έναν δυναμικό μηχανισμό χρέωσης παρόμοιο με αυτόν που εισήχθη από το [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559). Η χρέωση gas για συναλλαγές τύπου 3 λαμβάνει υπόψη τη βασική χρέωση για blob, η οποία καθορίζεται από το δίκτυο με βάση τη ζήτηση χώρου blob και τη χρήση χώρου blob της συναλλαγής που αποστέλλεται.
+
+3. **L2 operator fees (Τέλη χειριστή L2)**: Αυτό είναι το ποσό που καταβάλλεται στους κόμβους rollup ως αποζημίωση για το υπολογιστικό κόστος που προκύπτει κατά τη διεκπεραίωση συναλλαγών, όπως και τα τέλη gas στο Ethereum. Οι κόμβοι rollup χρεώνουν χαμηλότερα τέλη συναλλαγών, καθώς τα L2 έχουν υψηλότερη ικανότητα επεξεργασίας και δεν αντιμετωπίζουν συμφορήσεις δικτύου που αναγκάζουν τους επικυρωτές στο Ethereum να δίνουν προτεραιότητα στις συναλλαγές με υψηλότερα τέλη.
+
+Τα optimistic rollup εφαρμόζουν διάφορους μηχανισμούς για τη μείωση των τελών για τους χρήστες, συμπεριλαμβανομένων της ομαδοποίησης συναλλαγών και της συμπίεσης `calldata` για τη μείωση του κόστους δημοσίευσης δεδομένων. Μπορείτε να ελέγξετε το [L2 fee tracker](https://l2fees.info/) για μια επισκόπηση σε πραγματικό χρόνο του κόστους χρήσης optimistic rollup που βασίζονται στο Ethereum.
+
+## Πώς τα optimistic rollup επεκτείνουν το Ethereum; {#scaling-ethereum-with-optimistic-rollups}
+
+Όπως έχουμε ήδη εξηγήσει, τα optimistic rollup δημοσιεύουν συμπιεσμένα δεδομένα συναλλαγών στο Ethereum για να εγγυηθούν τη διαθεσιμότητα των δεδομένων. Η ικανότητα συμπίεσης δεδομένων που δημοσιεύονται στην αλυσίδα είναι ζωτικής σημασίας για την κλιμάκωση της απόδοσης στο Ethereum με optimistic rollups.
+
+Η κύρια αλυσίδα του Ethereum θέτει όρια στο πόσα δεδομένα μπορούν να χωρέσουν τα μπλοκ, τα οποία εκφράζονται σε μονάδες gas (το [μέσο μέγεθος μπλοκ](/developers/docs/blocks/#block-size) είναι 15 εκατομμύρια gas). Παρότι αυτό περιορίζει την ποσότητα gas που μπορεί να χρησιμοποιήσει κάθε συναλλαγή, σημαίνει επίσης ότι μπορούμε να αυξήσουμε τις συναλλαγές που υποβάλλονται σε επεξεργασία ανά μπλοκ μειώνοντας τα δεδομένα που σχετίζονται με τις συναλλαγές —βελτιώνοντας άμεσα την επεκτασιμότητα.
+
+Τα optimistic rollup χρησιμοποιούν διάφορες τεχνικές για την επίτευξη συμπίεσης δεδομένων συναλλαγών και τη βελτίωση των ρυθμών TPS. Για παράδειγμα, αυτό το [άρθρο](https://vitalik.eth.limo/general/2021/01/05/rollup.html) συγκρίνει τα δεδομένα που δημιουργεί μια βασική συναλλαγή χρήστη (αποστολή ether) στο Κεντρικό Δίκτυο σε σχέση με πόσα δεδομένα δημιουργεί η ίδια συναλλαγή σε ένα rollup:
+
+| Παράμετρος | Ethereum (L1) | Πακέτο ενημ (L2) |
+| ------------ | --------------------- | ---------------- |
+| Μοναδικότητα | ~3 | 0 |
+| Τιμή αερίου | ~8 | 0-0.5 |
+| Καύσιμα | 3 | 0-0.5 |
+| Προς | 21 | 4 |
+| Τιμή | 9 | ~3 |
+| Υπογραφή | ~68 (2 + 33 + 33) | ~0.5 |
+| Aπό | 0 (επαναφοφά από sig) | 4 |
+| **Σύνολο** | **~112 bytes** | **~12 bytes** |
+
+Μερικοί πρόχειροι υπολογισμοί σε αυτά τα αριθμητικά στοιχεία μπορεί να βοηθήσουν να φανούν οι βελτιώσεις επεκτασιμότητας που προσφέρει ένα optimistic rollup:
+
+1. Το μέγεθος στόχου για κάθε μπλοκ είναι 15 εκατομμύρια gas και κοστίζει 16 gas για την επαλήθευση ενός byte δεδομένων. Η διαίρεση του μέσου μεγέθους μπλοκ με 16 gas (15.000.000/16) δείχνει ότι το μέσο μπλοκ μπορεί να χωρέσει **937.500 byte δεδομένων**.
+2. Εάν μια βασική συναλλαγή rollup χρησιμοποιεί 12 byte, τότε το μέσο μπλοκ του Ethereum μπορεί να επεξεργαστεί **78.125 συναλλαγές rollup** (937.5000/12) ή **39 παρτίδες rollup ** (αν κάθε παρτίδα περιέχει κατά μέσο όρο 2.000 συναλλαγές).
+3. Εάν στο Ethereum παράγεται ένα νέο μπλοκ κάθε 15 δευτερόλεπτα, τότε οι ταχύτητες επεξεργασίας του rollup θα ανέρχονται περίπου σε **5.208 συναλλαγές ανά δευτερόλεπτο**. Αυτό γίνεται διαιρώντας τον αριθμό των βασικών συναλλαγών rollup που μπορεί να χωρέσει ένα μπλοκ Ethereum (**78.125**) με τον μέσο χρόνο μπλοκ (**15 δευτερόλεπτα**).
+
+Πρόκειται για μια αρκετά αισιόδοξη εκτίμηση, δεδομένου ότι οι συναλλαγές optimistic rollup δεν είναι δυνατόν να περιλαμβάνουν ένα ολόκληρο μπλοκ στο Ethereum. Ωστόσο, μπορεί να δώσει μια χονδρική ιδέα για το πόσα οφέλη επεκτασιμότητας μπορούν να προσφέρουν τα optimistic rollup στους χρήστες του Ethereum (οι τρέχουσες υλοποιήσεις προσφέρουν έως και 2.000 TPS).
+
+Η εισαγωγή του [data sharding](/roadmap/danksharding/) στο Ethereum αναμένεται να βελτιώσει την επεκτασιμότητα στα optimistic rollup. Επειδή οι συναλλαγές rollup πρέπει να μοιράζονται χώρο μπλοκ με άλλες συναλλαγές που δεν είναι rollup, η ικανότητα επεξεργασίας τους περιορίζεται από τη διακίνηση δεδομένων στην κύρια αλυσίδα Ethereum. Το Danksharding θα αυξήσει τον διαθέσιμο χώρο στις αλυσίδες L2 για τη δημοσίευση δεδομένων ανά μπλοκ, χρησιμοποιώντας φθηνότερο, προσωρινό χώρο αποθήκευσης «blob» αντί για ακριβό, μόνιμο `CALLDATA`.
+
+### Πλεονεκτήματα και μειονεκτήματα optimistic rollup {#optimistic-rollups-pros-and-cons}
+
+| Πλεονεκτήματα | Μειονεκτήματα |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Προσφέρει τεράστιες βελτιώσεις στην επεκτασιμότητα χωρίς να θυσιάζει την ασφάλεια ή την έλλειψη εμπιστοσύνης. | Καθυστερήσεις στην οριστικοποίηση της συναλλαγής λόγω πιθανών αμφισβητήσεων περί απάτης. |
+| Τα δεδομένα συναλλαγών αποθηκεύονται στην αλυσίδα του επιπέδου 1, κάτι που βελτιώνει τη διαφάνεια, την ασφάλεια, την αντίσταση στη λογοκρισία και την αποκέντρωση. | Οι κεντρικοποιημένοι χειριστές rollup (sequencer) μπορούν να επηρεάσουν τη σειρά των συναλλαγών. |
+| Η απόδειξη της απάτης εγγυάται την αδιαπραγμάτευτη οριστικότητα και επιτρέπει στις ειλικρινείς μειονότητες να εξασφαλίσουν την αλυσίδα. | Εάν δεν υπάρχουν ειλικρινείς κόμβοι, ένας κακόβουλος χειριστής μπορεί να κλέψει χρήματα δημοσιεύοντας μη έγκυρα μπλοκ και δεσμεύσεις κατάστασης. |
+| Οι υπολογιστικές αποδείξεις απάτης είναι ανοιχτές στον κανονικό κόμβο L2, σε αντίθεση με τις αποδείξεις εγκυρότητας (που χρησιμοποιούνται σε ZK rollup) που απαιτούν ειδικό υλικό. | Το μοντέλο ασφαλείας βασίζεται σε τουλάχιστον έναν ειλικρινή κόμβο που εκτελεί συναλλαγές rollup και υποβάλλει αποδείξεις απάτης για να αμφισβητήσει τις μεταβάσεις μη έγκυρων καταστάσεων. |
+| Τα πακέτα συναλλαγών επωφελούνται από την "αξιόπιστη επιβιωσιμότητα" (ο καθένας μπορεί να αναγκάσει την αλυσίδα να προχωρήσει εκτελώντας συναλλαγές και δημοσιεύοντας ισχυρισμούς) | Οι χρήστες πρέπει να περιμένουν να λήξει η περίοδος πρόκλησης διάρκειας μίας εβδομάδας προτού κάνουν ανάληψη των χρημάτων πίσω στο Ethereum. |
+| Τα optimistic rollup βασίζονται σε καλά σχεδιασμένα κρυπτοοικονομικά κίνητρα για την αύξηση της ασφάλειας στην αλυσίδα. | Τα rollup πρέπει να δημοσιεύουν όλα τα δεδομένα συναλλαγών στην αλυσίδα, κάτι που μπορεί να αυξήσει το κόστος. |
+| Η συμβατότητα με το EVM και το Solidity επιτρέπει στους προγραμματιστές να μεταφέρουν εγγενή στο Ethereum έξυπνα συμβόλαια σε rollup ή να χρησιμοποιούν υπάρχοντα εργαλεία για τη δημιουργία νέων dapp. | |
+
+### Μια οπτική επεξήγηση των optimistic rollup {#optimistic-video}
+
+Περισσότερα από έναν εικονικό μαθητή; Παρακολουθήστε το Finematics να εξηγεί τα optimistic rollup:
+
+
+
+## Περαιτέρω υλικό για ανάγνωση σχετικά με τα optimistic rollup
+
+- [Πώς λειτουργούν τα optimistic rollup (Ο Πλήρης Οδηγός)](https://www.alchemy.com/overviews/optimistic-rollups)
+- [Τι είναι το πακέτο ενημέρωσης blockchain; Μια τεχνική οδηγία](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction)
+- [Ο Βασικός Οδηγός για το Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum)
+- [Πρακτικός οδηγός για τα πακέτα ενημέρωσης Ethereum](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
+- [The State Of Fraud Proofs In Ethereum L2s](https://research.2077.xyz/the-state-of-fraud-proofs-in-ethereum-l2s)
+- [Πώς λειτουργούν πραγματικά τα πακέτα ενημέρωσης Optimism;](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work)
+- [Περισσότερες λεπτομέρειες OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
+- [Τι είναι η εικονική μηχανή Optimistic;](https://www.alchemy.com/overviews/optimistic-virtual-machine)
diff --git a/public/content/translations/el/developers/docs/scaling/plasma/index.md b/public/content/translations/el/developers/docs/scaling/plasma/index.md
new file mode 100644
index 00000000000..976b7f86bbc
--- /dev/null
+++ b/public/content/translations/el/developers/docs/scaling/plasma/index.md
@@ -0,0 +1,175 @@
+---
+title: Αλυσίδες Plasma
+description: Μια εισαγωγή στις αλυσίδες plasma ως λύση κλιμάκωσης που χρησιμοποιείται επί του παρόντος από την κοινότητα του Ethereum.
+lang: el
+incomplete: true
+sidebarDepth: 3
+---
+
+Μια αλυσίδα Plasma είναι ένα ξεχωριστό blockchain αγκυρωμένο στο Κεντρικό δίκτυο Ethereum αλλά εκτελεί συναλλαγές εκτός αλυσίδας με δικό της μηχανισμό για επικύρωση μπλοκ. Οι αλυσίδες Plasma μερικές φορές αναφέρονται ως αλυσίδες-«τέκνα», ουσιαστικά μικρότερα αντίγραφα του Κεντρικού Δικτύου του Ethereum. Οι αλυσίδες Plasma χρησιμοποιούν [αποδείξεις απάτης](/glossary/#fraud-proof) (όπως [optimistic rollup](/developers/docs/scaling/optimistic-rollups/)) για τη διαιτησία των διαφορών.
+
+Τα δέντρα Merkle επιτρέπουν τη δημιουργία μιας ατελείωτης στοίβας αυτών των αλυσίδων που μπορούν να λειτουργήσουν για να ξεφορτώσουν το εύρος ζώνης από τις γονικές αλυσίδες (συμπεριλαμβανομένου του Κεντρικού Δικτύου του Ethereum). Ωστόσο, ενώ αυτές οι αλυσίδες αντλούν κάποια ασφάλεια από το Ethereum (μέσω αποδείξεων απάτης), η ασφάλεια και η αποτελεσματικότητά τους επηρεάζονται από αρκετούς σχεδιαστικούς περιορισμούς.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να κατανοείτε επαρκώς όλα τα θεμελιώδη θέματα και να έχετε υψηλό επίπεδο κατανόησης της [κλιμάκωσης του Ethereum](/developers/docs/scaling/).
+
+## Τι είναι το Plasma;
+
+Το Plasma είναι ένα πλαίσιο για τη βελτίωση της κλιμάκωσης των δημόσιων blockchain όπως το Ethereum. Όπως περιγράφεται στο αρχικό [Plasma whitepaper](http://plasma.io/plasma.pdf), οι αλυσίδες Plasma είναι χτισμένες πάνω σε ένα άλλο blockchain (που ονομάζεται «βασική αλυσίδα» ή «root chain»). Κάθε «αλυσίδα-τέκνο» εκτείνεται από τη βασική αλυσίδα και γενικά τη διαχειρίζεται ένα έξυπνο συμβόλαιο που αναπτύσσεται στη γονική αλυσίδα.
+
+Το συμβόλαιο Plasma λειτουργεί, μεταξύ άλλων, ως [γέφυρα](/developers/docs/bridges/) που επιτρέπει στους χρήστες να μετακινούν στοιχεία μεταξύ του Κεντρικύ Δικτύου Ethereum και της αλυσίδας plasma. Παρόλο που αυτό τις κάνει παρόμοιες με τις [πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/), οι αλυσίδες plasma επωφελούνται —τουλάχιστον, σε κάποιο βαθμό— από την ασφάλεια του Κεντρικού Δελτίου Ethereum. Αυτό δεν συμβαίνει και στις πλευρικές αλυσίδες, οι οποίες είναι αποκλειστικά υπεύθυνες για την ασφάλειά τους.
+
+## Πώς λειτουργεί το Plasma;
+
+Τα βασικά συστατικά μέρη του πλαισίου Plasma είναι:
+
+### Υπολογισμός εκτός αλυσίδας {#offchain-computation}
+
+Η τρέχουσα ταχύτητα επεξεργασίας του Ethereum περιορίζεται σε ~ 15-20 συναλλαγές ανά δευτερόλεπτο, κάτι που μειώνει τη βραχυπρόθεσμη δυνατότητα κλιμάκωσης για τη διαχείριση περισσότερων χρηστών. Αυτό το πρόβλημα υπάρχει κυρίως επειδή ο [μηχανισμός συναίνεσης](/developers/docs/consensus-mechanisms/) του Ethereum απαιτεί πολλούς κόμβους peer-to-peer για την επαλήθευση κάθε ενημέρωσης στην κατάσταση του blockchain.
+
+Αν και ο μηχανισμός συναίνεσης του Ethereum είναι απαραίτητος για την ασφάλεια, μπορεί να μην έχει εφαρμογή σε κάθε περίπτωση. Για παράδειγμα, η Alice μπορεί να μη χρειάζεται να επαληθεύονται οι καθημερινές πληρωμές του καφέ της στον Bob από ολόκληρο το δίκτυο Ethereum, καθώς υπάρχει κάποια εμπιστοσύνη μεταξύ των δύο μερών.
+
+Το Plasma υποθέτει ότι το Κεντρικό Δίκτυο Ethereum δεν χρειάζεται να επαληθεύει όλες τις συναλλαγές. Αντίθετα, μπορούμε να επεξεργαστούμε συναλλαγές εκτός του Κεντρικού Δικτύου, απαλλάσσοντας τους κόμβους από την ανάγκη να επικυρώνουν κάθε συναλλαγή.
+
+Ο υπολογισμός εκτός αλυσίδας είναι απαραίτητος, καθώς οι αλυσίδες Plasma μπορούν να βελτιστοποιήσουν την ταχύτητα και το κόστος. Για παράδειγμα, μια αλυσίδα Plasma μπορεί —και τις περισσότερες φορές— χρησιμοποιεί έναν μόνο «χειριστή» για τη διαχείριση της σειράς και της εκτέλεσης των συναλλαγών. Με μία μόνο οντότητα να επαληθεύει συναλλαγές, οι χρόνοι επεξεργασίας σε μια αλυσίδα plasma είναι ταχύτεροι από το Κεντρικό Δίκτυο Ethereum.
+
+### Δεσμεύσεις κατάστασης {#state-commitments}
+
+Ενώ το Plasma εκτελεί συναλλαγές εκτός αλυσίδας, αυτές διευθετούνται στο κύριο επίπεδο εκτέλεσης του Ethereum — διαφορετικά, οι αλυσίδες Plasma δεν μπορούν να επωφεληθούν από τις εγγυήσεις ασφαλείας του Ethereum. Αλλά η οριστικοποίηση των συναλλαγών εκτός αλυσίδας χωρίς να γνωρίζουμε την κατάσταση της αλυσίδας plasma θα έσπαζε το μοντέλο ασφαλείας και θα επέτρεπε τον πολλαπλασιασμό μη έγκυρων συναλλαγών. Αυτός είναι ο λόγος για τον οποίο ο χειριστής, η οντότητα που είναι υπεύθυνη για την παραγωγή μπλοκ στην αλυσίδα plasma, απαιτείται να δημοσιεύει «δεσμεύσεις κατάστασης» στο Ethereum σε περιοδική βάση.
+
+Ένα [σύστημα δέσμευσης](https://en.wikipedia.org/wiki/Commitment_scheme) είναι μια κρυπτογραφική τεχνική για τη δέσμευση σε μια αξία ή δήλωση χωρίς αυτή να αποκαλυφθεί σε άλλο μέρος. Οι δεσμεύσεις είναι «δεσμευτικές» με την έννοια ότι δεν μπορείτε να αλλάξετε την αξία ή τη δήλωση αφού δεσμευτείτε σε αυτήν. Οι δεσμεύσεις κατάστασης στο Plasma έχουν τη μορφή των «ριζών Merkle» (που προέρχονται από ένα [δέντρο Merkle](/whitepaper/#merkle-trees)) τις οποίες ο χειριστής στέλνει κατά διαστήματα στο συμβόλαιο Plasma στην αλυσίδα Ethereum.
+
+Οι ρίζες Merkle είναι κρυπτογραφικά πρωτογενή στοιχεία που επιτρέπουν τη συμπίεση μεγάλων ποσοτήτων πληροφοριών. Μια ρίζα Merkle (που ονομάζεται επίσης «ρίζα μπλοκ» σε αυτή την περίπτωση) θα μπορούσε να αντιπροσωπεύει όλες τις συναλλαγές σε ένα μπλοκ. Οι ρίζες Merkle διευκολύνουν επίσης την επαλήθευση ότι ένα μικρό κομμάτι δεδομένων είναι μέρος του μεγαλύτερου συνόλου δεδομένων. Για παράδειγμα, ένας χρήστης μπορεί να παραγάγει μια [απόδειξη Merkle](/developers/tutorials/merkle-proofs-for-offline-data-integrity/#main-content) για να αποδείξει τη συμπερίληψη μιας συναλλαγής σε ένα συγκεκριμένο μπλοκ.
+
+Τα Merkle roots είναι σημαντικά για την παροχή πληροφοριών σχετικά με την κατάσταση εκτός αλυσίδας στο Ethereum. Μπορείτε να σκεφτείτε τις ρίζες Merkle σας ως «σημεία αποθήκευσης»: ο χειριστής λέει «Αυτή είναι η κατάσταση της αλυσίδας Plasma στο x χρονικό σημείο, και αυτή είναι η ρίζα Merkle ως απόδειξη». Ο χειριστής δεσμεύεται στην _τρέχουσα κατάσταση_ της αλυσίδας plasma με ρίζα Merkle, γι' αυτό ονομάζεται «δέσμευση κατάστασης».
+
+### Είσοδοι και έξοδοι {#entries-and-exits}
+
+Προκειμένου οι χρήστες του Ethereum να επωφεληθούν από το Plasma, πρέπει να υπάρχει ένας μηχανισμός για τη μεταφορά κεφαλαίων μεταξύ των αλυσίδων Kεντρικού Δικτύου και plasma. Δεν μπορούμε να στείλουμε αυθαίρετα ether σε μια διεύθυνση στην αλυσίδα plasma, όμως. Αυτές οι αλυσίδες είναι ασύμβατες, επομένως η συναλλαγή είτε θα αποτύγχανε είτε θα οδηγούσε σε απώλεια κεφαλαίων.
+
+Το Plasma χρησιμοποιεί ένα κύριο συμβόλαιο που εκτελείται στο Ethereum για να επεξεργαστεί τις εισόδους και τις εξόδους των χρηστών. Αυτή η κύρια σύμβαση είναι επίσης υπεύθυνη για την παρακολούθηση των δεσμεύσεων κατάστασης (όπως εξηγήθηκε νωρίτερα) και την τιμωρία της μη ειλικρινούς συμπεριφοράς μέσω αποδείξεων απάτης (περισσότερα για αυτό αργότερα).
+
+#### Είσοδος στην αλυσίδα plasma {#entering-the-plasma-chain}
+
+Για να εισέλθει στην αλυσίδα plasma, η Alice (ο χρήστης) θα πρέπει να καταθέσει ETH ή οποιοδήποτε token ERC-20 στο συμβόλαιο plasma. Ο χειριστής του plasma, ο οποίος παρακολουθεί τις καταθέσεις συμβολαίων, αναδημιουργεί ένα ποσό ίσο με την αρχική κατάθεση της Alice και το αποδεσμεύει στη διεύθυνσή της στην αλυσίδα plasma. Η Alice πρέπει να βεβαιώσει ότι έλαβε τα χρήματα στην αλυσίδα-τέκνο και στη συνέχεια μπορεί να χρησιμοποιήσει αυτά τα χρήματα για συναλλαγές.
+
+#### Έξοδος από την αλυσίδα plasma {#exiting-the-plasma-chain}
+
+Η έξοδος από την αλυσίδα plasma είναι πιο περίπλοκη από την είσοδο σε αυτήν για διάφορους λόγους. Ο σημαντικότερος λόγος είναι ότι, ενώ το Ethereum έχει πληροφορίες σχετικά με την κατάσταση της αλυσίδας plasma, δεν μπορεί να επαληθεύσει εάν οι πληροφορίες είναι αληθείς ή όχι. Ένας κακόβουλος χρήστης θα μπορούσε να κάνει έναν εσφαλμένο ισχυρισμό ("Έχω 1000 ETH") και να ξεφύγει παρέχοντας πλαστές αποδείξεις για να υποστηρίξει τον ισχυρισμό.
+
+Για την αποτροπή κακόβουλων αναλήψεων, εισάγεται μια «περίοδος πρόκλησης». Κατά τη διάρκεια της περιόδου πρόκλησης (συνήθως μια εβδομάδα), οποιοσδήποτε μπορεί να αμφισβητήσει ένα αίτημα ανάληψης χρησιμοποιώντας μια απόδειξη απάτης. Εάν η πρόκληση είναι επιτυχημένη, τότε το αίτημα ανάληψης απορρίπτεται.
+
+Ωστόσο, συνήθως οι χρήστες είναι ειλικρινείς και υποβάλλουν σωστές αναλήψεις σχετικά με το κεφάλαιο που διαθέτουν. Σε αυτό το σενάριο, η Alice θα ξεκινήσει ένα αίτημα ανάληψής στη βασική αλυσίδα (Ethereum) υποβάλλοντας μια συναλλαγή στο συμβόλαιο plasma.
+
+Πρέπει επίσης να παράσχει ένα αποδεικτικό Merkle που να επαληθεύει ότι μια συναλλαγή που δημιουργεί τα χρήματά της στην αλυσίδα Plasma συμπεριλήφθηκε σε ένα μπλοκ. Αυτό είναι απαραίτητο για επαναλήψεις του Plasma, όπως το [Plasma MVP](https://www.learnplasma.org/en/learn/mvp.html), που χρησιμοποιούν ένα μοντέλο [Unspent Transaction Output (UTXO)](https://en.wikipedia.org/wiki/Unspent_transaction_output).
+
+Άλλα, όπως το [Plasma Cash](https://www.learnplasma.org/en/learn/cash.html), αντιπροσωπεύουν τα κεφάλαια ως [μη εναλλάξιμα κρυπτοπαραστατικά](/developers/docs/standards/tokens/erc-721/) αντί για UTXO. Η ανάληψη, σε αυτή την περίπτωση, απαιτεί απόδειξη της ιδιοκτησίας των token στην αλυσίδα Plasma. Αυτό γίνεται με την υποβολή των δύο τελευταίων συναλλαγών που περιλαμβάνουν το token και την παροχή μιας απόδειξης Merkle που επαληθεύει τη συμπερίληψη αυτών των συναλλαγών σε ένα μπλοκ.
+
+Ο χρήστης πρέπει επίσης να προσθέσει μια εγγύηση στο αίτημα ανάληψης ως εγγύηση έντιμης συμπεριφοράς. Εάν ένας αμφισβητίας αποδείξει ότι το αίτημα ανάληψης της Alice δεν είναι έγκυρο, ο δεσμός της περικόπτεται και ένα μέρος του πηγαίνει στον αμφισβητία ως ανταμοιβή.
+
+Εάν η περίοδος αμφισβήτησης παρέλθει χωρίς κανένας να παράσχει αποδεικτικό απάτης, το αίτημα ανάληψης της Alice θεωρείται έγκυρο, γεγονός το οποίο της επιτρέπει να ανακτήσει τις καταθέσεις της από το συμβόλαιο Plasma στο Ethereum.
+
+### Διαιτησία διαφορών {#dispute-arbitration}
+
+Όπως κάθε blockchain, οι αλυσίδες plasma χρειάζονται έναν μηχανισμό για την επιβολή της ακεραιότητας των συναλλαγών σε περίπτωση που οι συμμετέχοντες ενεργούν κακόβουλα (π.χ. διπλή δαπάνη κεφαλαίων). Για τον σκοπό αυτό, οι αλυσίδες plasma χρησιμοποιούν αποδείξεις απάτης για να επιλύσουν διαφορές σχετικά με την εγκυρότητα των μεταβάσεων κατάστασης και να τιμωρήσουν την κακή συμπεριφορά. Οι αποδείξεις απάτης χρησιμοποιούνται ως μηχανισμός μέσω του οποίου μια αλυσίδα-τέκνο Plasma υποβάλλει μια καταγγελία στη γονική της αλυσίδα ή στη βασική αλυσίδα.
+
+Η απόδειξη απάτης είναι απλώς ένας ισχυρισμός ότι μια συγκεκριμένη μετάβαση κατάστασης δεν είναι έγκυρη. Ένα παράδειγμα είναι η περίπτωση όπου ένας χρήστης (Alice) προσπαθεί να ξοδέψει τα ίδια χρήματα δύο φορές. Ίσως ξόδεψε το UTXO σε μια συναλλαγή με τον Bob και θέλει να ξοδέψει το ίδιο UTXO (που είναι τώρα του Bob) σε άλλη συναλλαγή.
+
+Για να αποτρέψει την ανάληψη, ο Bob θα κατασκευάσει ένα στοιχείο προστασίας από απάτη παρέχοντας αποδεικτικά στοιχεία ότι η Alice ξόδεψε το εν λόγω UTXO σε προηγούμενη συναλλαγή και μια απόδειξη Merkle για τη συμπερίληψη της συναλλαγής σε ένα μπλοκ. Η ίδια διαδικασία λειτουργεί στο Plasma Cash: ο Bob θα έπρεπε να παράσχει απόδειξη ότι η Alice μετέφερε νωρίτερα τα token που προσπαθεί να κάνει ανάληψη.
+
+Εάν η αμφισβήτηση του Bob στεφθεί από επιτυχία, το αίτημα ανάληψης της Alice ακυρώνεται. Ωστόσο, αυτή η προσέγγιση βασίζεται στην ικανότητα του Bob να παρακολουθεί την αλυσίδα για αιτήματα ανάληψης. Εάν ο Bob είναι εκτός σύνδεσης, τότε η Alice μπορεί να επεξεργαστεί την κακόβουλη ανάληψη μόλις παρέλθει η περίοδος πρόκλησης.
+
+## Το πρόβλημα της μαζικής εξόδου στο plasma {#the-mass-exit-problem-in-plasma}
+
+Το πρόβλημα μαζικής εξόδου εμφανίζεται όταν ένας μεγάλος αριθμός χρηστών προσπαθεί να κάνει ταυτόχρονα ανάληψη από μια αλυσίδα plasma. Ο λόγος που υπάρχει αυτό το πρόβλημα σχετίζεται με ένα από τα μεγαλύτερα προβλήματα του Plasma: **μη διαθεσιμότητα δεδομένων**.
+
+Η διαθεσιμότητα δεδομένων είναι η δυνατότητα επαλήθευσης ότι οι πληροφορίες για ένα προτεινόμενο μπλοκ πράγματι δημοσιεύτηκαν στο δίκτυο blockchain. Ένα μπλοκ είναι «μη διαθέσιμο» εάν ο παραγωγός δημοσιεύει ο ίδιος το μπλοκ, αλλά δεν παραχωρεί τα ίδια τα δεδομένα που χρησιμοποιούνται για τη δημιουργία του μπλοκ.
+
+Τα μπλοκ πρέπει να είναι διαθέσιμα για να μπορούν οι κόμβοι να κατεβάσουν το μπλοκ και να επαληθεύσουν την εγκυρότητα των συναλλαγών. Τα blockchains διασφαλίζουν τη διαθεσιμότητα δεδομένων αναγκάζοντας τους παραγωγούς μπλοκ να δημοσιεύουν όλα τα δεδομένα συναλλαγών στην αλυσίδα.
+
+Η διαθεσιμότητα δεδομένων βοηθά επίσης να κρατήσουν ασφαλές πρωτόκολλα κλιμάκωσης εκτός αλυσίδας που βασίζονται στο βασικό στρώμα του Ethereum. Εξαναγκάζοντας τους χειριστές σε αυτές τις αλυσίδες να δημοσιεύουν δεδομένα συναλλαγών στο Ethereum, οποιοσδήποτε μπορεί να αμφισβητήσει τα μη έγκυρα μπλοκ κατασκευάζοντας αποδείξεις απάτης που αναφέρονται στη σωστή κατάσταση της αλυσίδας.
+
+Οι αλυσίδες plasma αποθηκεύουν κυρίως δεδομένα συναλλαγών με τον χειριστή και **δεν δημοσιεύουν δεδομένα στο Κεντρικό Δίκτυο** (δηλαδή, εκτός από τις περιοδικές δεσμεύσεις κατάστασης). Αυτό σημαίνει ότι οι χρήστες πρέπει να βασίζονται στον χειριστή για την παροχή δεδομένων μπλοκ εάν χρειάζεται να δημιουργήσουν αποδείξεις απάτης που αμφισβητούν μη έγκυρες συναλλαγές. Εάν αυτό το σύστημα λειτουργεί, τότε οι χρήστες μπορούν πάντα να χρησιμοποιούν αποδείξεις απάτης για να ασφαλίζουν τα χρήματά τους.
+
+Το πρόβλημα ξεκινά όταν ο χειριστής, όχι οποιοσδήποτε χρήστης, είναι το μέρος που ενεργεί κακόβουλα. Επειδή ο χειριστής έχει τον αποκλειστικό έλεγχο του blockchain, έχει περισσότερα κίνητρα να προωθήσει τις μεταβάσεις μη έγκυρων καταστάσεων σε μεγαλύτερη κλίμακα, όπως η κλοπή κεφαλαίων που ανήκουν σε χρήστες στην αλυσίδα plasma.
+
+Σε αυτή την περίπτωση, η χρήση του κλασικού συστήματος προστασίας από απάτες δεν λειτουργεί. Ο χειριστής θα μπορούσε εύκολα να πραγματοποιήσει μια μη έγκυρη συναλλαγή μεταφέροντας τα κεφάλαια της Alice και του Bob στο πορτοφόλι του και να κρύψει τα δεδομένα που είναι απαραίτητα για τη δημιουργία της απόδειξης απάτης. Αυτό είναι δυνατό επειδή ο χειριστής δεν απαιτείται να διαθέσει δεδομένα στους χρήστες ή στο Κεντρικό Δίκτυο.
+
+Επομένως, η πιο αισιόδοξη λύση είναι να επιχειρηθεί «μαζική έξοδος» χρηστών από την αλυσίδα plasma. Η μαζική έξοδος επιβραδύνει το σχέδιο του κακόβουλου χειριστή για κλοπή χρημάτων και παρέχει κάποιο μέτρο προστασίας για τους χρήστες. Τα αιτήματα ανάληψης διατάσσονται με βάση το πότε δημιουργήθηκε κάθε UTXO (ή token), πράγμα που αποτρέπει τους κακόβουλους χειριστές να προηγηθούν από τους ειλικρινείς χρήστες.
+
+Ωστόσο, εξακολουθούμε να χρειαζόμαστε έναν τρόπο να επαληθεύσουμε την εγκυρότητα των αιτημάτων ανάληψης κατά τη διάρκεια μιας μαζικής εξόδου, για να αποτρέψουμε τους καιροσκόπους από το να εισπράξουν χρήματα από το χάος με την επεξεργασία μη έγκυρων εξόδων. Η λύση είναι απλή: πρέπει να απαιτείται από τους χρήστες να δημοσιεύσουν την τελευταία **έγκυρη κατάσταση της αλυσίδας** για να βγάλουν τα χρήματά τους.
+
+Αλλά αυτή η προσέγγιση εξακολουθεί να παρουσιάζει προβλήματα. Για παράδειγμα, εάν όλοι οι χρήστες σε μια αλυσίδα plasma πρέπει να εξέλθουν (κάτι που είναι δυνατό στην περίπτωση ενός κακόβουλου χειριστή), τότε ολόκληρη η έγκυρη κατάσταση της αλυσίδας plasma πρέπει να απορριφθεί αμέσως στο βασικό στρώμα του Ethereum. Με το αυθαίρετο μέγεθος των αλυσίδων plasma (υψηλή απόδοση = περισσότερα δεδομένα) και τους περιορισμούς στις ταχύτητες επεξεργασίας του Ethereum, δεν πρόκειται για ιδανική λύση.
+
+Αν και τα παιχνίδια εξόδου ακούγονται καλά στη θεωρία, οι μαζικές έξοδοι στην πραγματική ζωή πιθανότατα θα προκαλέσουν μαζική συμφόρηση σε όλο το δίκτυο του Ethereum. Εκτός από το ότι βλάπτει τη λειτουργικότητα του Ethereum, μια κακώς συντονισμένη μαζική έξοδος σημαίνει ότι οι χρήστες ενδέχεται να μην μπορούν να κάνουν ανάληψη χρημάτων πριν ο χειριστής στραγγίσει κάθε λογαριασμό στην αλυσίδα plasma.
+
+## Πλεονεκτήματα και μειονεκτήματα του plasma {#pros-and-cons-of-plasma}
+
+| Πλεονεκτήματα | Μειονεκτήματα |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Προσφέρει υψηλή απόδοση και χαμηλό κόστος ανά συναλλαγή. | Δεν υποστηρίζει γενικούς υπολογισμούς (δεν είναι δυνατή η εκτέλεση έξυπνων συμβολαίων). Μόνο οι βασικές μεταφορές κρυπτονομισμάτων, οι ανταλλαγές και ορισμένοι άλλοι τύποι συναλλαγών υποστηρίζονται μέσω της λογικής κατηγοριοποίησης. |
+| Κατάλληλο για συναλλαγές μεταξύ αυθαίρετων χρηστών (χωρίς γενικά έξοδα ανά ζεύγος χρηστών, εάν και τα δύο είναι εγκατεστημένα στην αλυσίδα πλάσματος) | Πρέπει να παρακολουθείται περιοδικά το δίκτυο (απαίτηση ζωτικότητας) ή να ανατίθεται αυτή η ευθύνη σε κάποιον άλλο για να διασφαλιστεί η ασφάλεια των κεφαλαίων σας. |
+| Οι αλυσίδες plasma μπορούν να προσαρμοστούν σε συγκεκριμένες περιπτώσεις χρήσης που δεν σχετίζονται με την κύρια αλυσίδα. Οποιοσδήποτε, συμπεριλαμβανομένων των επιχειρήσεων, μπορεί να προσαρμόσει τα έξυπνα συμβόλαια Plasma για να παρέχει επεκτάσιμη υποδομή που λειτουργεί σε διαφορετικά περιβάλλοντα. | Βασίζεται σε έναν ή περισσότερους χειριστές για την αποθήκευση και εξυπηρέτηση δεδομένων κατόπιν αιτήματος. |
+| Μειώνει το φορτίο στο Ethereum Mainnet μετακινώντας τον υπολογισμό και την αποθήκευση εκτός αλυσίδας. | Οι αναλήψεις καθυστερούν αρκετές ημέρες για να ληφθούν υπόψη αμφισβητήσεις. Για τα ανταλλάξιμα περιουσιακά στοιχεία, αυτό μπορεί να μετριαστεί από τους παρόχους ρευστότητας, αλλά υπάρχει σχετικό κόστος κεφαλαίου. |
+| | Εάν υπερβολικά πολλοί χρήστες προσπαθήσουν να βγουν ταυτόχρονα, το Κεντρικό Δίκτυο Ethereum θα μπορούσε να έρθει αντιμέτωπο με συμφόρηση. |
+
+## Plasma vs πρωτόκολλα κλιμάκωσης επίπεδου 2 {#plasma-vs-layer-2}
+
+Ενώ το Plasma κάποτε θεωρείτο μια χρήσιμη λύση κλιμάκωσης για το Ethereum, έκτοτε απορρίφθηκε υπέρ των [πρωτόκολλων κλιμάκωσης επιπέδου 2 (L2)](/layer-2/). Οι λύσεις κλιμάκωσης L2 διορθώνουν αρκετά από τα προβλήματα του Plasma:
+
+### Αποδοτικότητα {#efficiency}
+
+[Zero-Knowledge rollups](/developers/docs/scaling/zk-rollups) δημιουργούν κρυπτογραφικές αποδείξεις της εγκυρότητας κάθε παρτίδας συναλλαγών που υποβάλλονται σε επεξεργασία εκτός αλυσίδας. Αυτό εμποδίζει τους χρήστες (και τους χειριστές) να προωθήσουν τις μεταβάσεις μη έγκυρων καταστάσεων, εξαλείφοντας την ανάγκη για περιόδους πρόκλησης και παιχνίδια εξόδου. Σημαίνει επίσης ότι οι χρήστες δεν χρειάζεται να παρακολουθούν την αλυσίδα σε περιοδική βάση για να κρατήσουν ασφαλή τα χρήματά τους.
+
+### Υποστήριξη για έξυπνα συμβόλαια {#support-for-smart-contracts}
+
+Ένα άλλο πρόβλημα με το πλαίσιο plasma ήταν [η αδυναμία υποστήριξης της εκτέλεσης έξυπνων συμβολαίων Ethereum](https://ethresear.ch/t/why-smart-contracts-are-not-feasible-on-plasma/2598/4). Ως αποτέλεσμα, οι περισσότερες υλοποιήσεις του Plasma κατασκευάστηκαν κυρίως για απλές πληρωμές ή για ανταλλαγή token ERC-20.
+
+Αντίθετα, τα optimistic rollup είναι συμβατά με το [Εικονικό μηχάνημα του Ethereum](/developers/docs/evm/) και μπορούν να εκτελούν [έξυπνα συμβόλαια](/developers/docs/smart-contracts/) του Ethereum, πράγμα που τα καθιστά μια χρήσιμη και _ασφαλή_ λύση για κλιμάκωση [αποκεντρωμένων εφαρμογών](/developers/docs/dapps/). Ομοίως, βρίσκονται σε εξέλιξη σχέδια για τη [δημιουργία υλοποίησης μηδενικής γνώσης του EVM (zkEVM)](https://ethresear.ch/t/a-zk-evm-specification/11549) που θα επιτρέπει στα ZK-rollup να επεξεργάζονται αυθαίρετη λογική και να εκτελούν έξυπνα συμβόλαια.
+
+### Μη διαθεσιμότητα δεδομένων {#data-unavailability}
+
+Όπως εξηγήθηκε προηγουμένως, το plasma πάσχει από πρόβλημα διαθεσιμότητας δεδομένων. Εάν ένας κακόβουλος χειριστής προωθούσε μια μη έγκυρη μετάβαση στην αλυσίδα plasma, οι χρήστες δεν θα ήταν σε θέση να την αμφισβητήσουν, καθώς ο χειριστής μπορεί να παρακρατήσει δεδομένα που απαιτούνται για τη δημιουργία της απόδειξης απάτης. Τα rollup λύνουν αυτό το πρόβλημα μέσω του εξαναγκασμού των χειριστών να δημοσιεύουν δεδομένα συναλλαγών στο Ethereum, πράγμα που επιτρέπει σε οποιονδήποτε να επαληθεύσει την κατάσταση της αλυσίδας και να δημιουργήσει αποδείξεις απάτης εάν είναι απαραίτητο.
+
+### Πρόβλημα μαζικής εξόδου {#mass-exit-problem}
+
+Τα ZK-rollup και τα optimistic rollup επιλύουν το πρόβλημα μαζικής εξόδου του Plasma με διάφορους τρόπους. Για παράδειγμα, ένα ZK-rollup βασίζεται σε κρυπτογραφικούς μηχανισμούς που διασφαλίζουν ότι οι χειριστές δεν μπορούν να κλέψουν χρήματα χρηστών σε κανένα σενάριο.
+
+Ομοίως, τα optimistic rollup επιβάλλουν μια περίοδο καθυστέρησης στις αναλήψεις κατά την οποία ο καθένας μπορεί να ξεκινήσει μια αμφισβήτηση και να αποτρέψει κακόβουλα αιτήματα ανάληψης. Αν και αυτή η περίπτωση είναι παρόμοια με το Plasma, η διαφορά είναι ότι οι επαληθευτές έχουν πρόσβαση στα δεδομένα που απαιτούνται για τη δημιουργία αποδείξεων απάτης. Επομένως, δεν χρειάζεται να συμμετέχουν οι χρήστες rollup σε μια ξέφρενη, «όποιος βγει πρώτος» μετεγκατάσταση στο Κεντρικό Δίκτυο Ethereum.
+
+## Σε τι διαφέρει το Plasma από τις πλευρικές αλυσίδες και την τμηματοποίηση; {#plasma-sidechains-sharding}
+
+Το πλάσμα, οι πλευρικές αλυσίδες και η τμηματοποίηση είναι αρκετά παρόμοια επειδή όλα συνδέονται με το Ethereum Mainnet με κάποιο τρόπο. Ωστόσο, το επίπεδο και η ισχύς αυτών των συνδέσεων ποικίλλουν, γεγονός που επηρεάζει τις ιδιότητες ασφαλείας κάθε λύσης κλιμάκωσης.
+
+### Plasma ή πλευρικές αλυσίδες {#plasma-vs-sidechains}
+
+Μια [πλευρική αλυσίδα](/developers/docs/scaling/sidechains/) είναι ένα ανεξάρτητο blockchain που συνδέεται με το Κεντρικό Δίκτυο Ethereum μέσω μιας αμφίδρομης γέφυρας. Οι [γέφυρες](/bridges/) επιτρέπουν στους χρήστες να ανταλλάσσουν token μεταξύ των δύο blockchain για συναλλαγές στην πλευρική αλυσίδα, μειώνοντας τη συμφόρηση στο Κεντρικό Δίκτυο Ethereum και βελτιώνοντας την επεκτασιμότητα. Οι πλευρικές αλυσίδες χρησιμοποιούν έναν ξεχωριστό μηχανισμό συναίνεσης και είναι συνήθως πολύ μικρότερες από το Κεντρικό Δίκτυο Ethereum. Ως αποτέλεσμα, η γεφύρωση περιουσιακών στοιχείων σε αυτές τις αλυσίδες συνεπάγεται αυξημένο κίνδυνο. Δεδομένης της έλλειψης εγγυήσεων ασφαλείας που κληρονομήθηκαν από το Κεντρικό Δίκτυο Ethereum στο μοντέλο πλευρικής αλυσίδας, οι χρήστες διακινδυνεύουν την απώλεια κεφαλαίων σε μια επίθεση στην πλευρική αλυσίδα.
+
+Αντίθετα, οι αλυσίδες plasma αντλούν την ασφάλειά τους από το Κεντρικό Δίκτυο. Αυτό τις καθιστά αρκετά πιο ασφαλείς από τις πλευρικές αλυσίδες. Τόσο οι πλευρικές αλυσίδες όσο και οι αλυσίδες plasma μπορούν να έχουν διαφορετικά πρωτόκολλα συναίνεσης, αλλά η διαφορά είναι ότι οι αλυσίδες plasma δημοσιεύουν ρίζες Merkle για κάθε μπλοκ στο Κεντρικό Δίκτυο Ethereum. Οι ρίζες μπλοκ είναι μικρά κομμάτια πληροφοριών που μπορούμε να χρησιμοποιήσουμε για να επαληθεύσουμε πληροφορίες σχετικά με συναλλαγές που συμβαίνουν σε μια αλυσίδα plasma. Εάν συμβεί μια επίθεση σε μια αλυσίδα plasma, οι χρήστες μπορούν να αποσύρουν με ασφάλεια τα χρήματά τους πίσω στο Κεντρικό Δίκτυο χρησιμοποιώντας τις κατάλληλες αποδείξεις.
+
+### Plasma ή τμηματοποίηση {#plasma-vs-sharding}
+
+Τόσο οι αλυσίδες plasma όσο και οι αλυσίδες shard δημοσιεύουν σε περιοδική βάση κρυπτογραφικές αποδείξεις στο Κεντρικό Δίκτυο Ethereum. Ωστόσο, και οι δύο έχουν διαφορετικές ιδιότητες ασφαλείας.
+
+Οι αλυσίδες τμηματοποίησης δεσμεύουν τις "επικεφαλίδες ταξινόμησης" στο Κεντρικό δίκτυο που περιέχουν λεπτομερείς πληροφορίες για κάθε τμήμα δεδομένων. Οι κόμβοι στο Κεντρικό Δίκτυο επαληθεύουν και επιβάλλουν την εγκυρότητα των τμημάτων δεδομένων, μειώνοντας την πιθανότητα μη έγκυρων μεταβάσεων τμημάτων και προστατεύοντας το δίκτυο από κακόβουλη δραστηριότητα.
+
+Το Plasma είναι διαφορετικό επειδή το Κεντρικό Δίκτυο λαμβάνει ελάχιστες πληροφορίες σχετικά με την κατάσταση των αλυσίδων-τέκνων. Αυτό σημαίνει ότι το Κεντρικό Δίκτυο δεν μπορεί να επαληθεύσει αποτελεσματικά τις συναλλαγές που πραγματοποιούνται σε αλυσίδες-τέκνα, πράγμα που τις καθιστά λιγότερο ασφαλείς.
+
+**Λάβετε υπόψη** ότι η κοινή χρήση της κρυπτοαλυσίδας Ethereum δεν είναι πλέον στον οδικό χάρτη. Έχει αντικατασταθεί από την κλιμάκωση μέσω rollup και [Danksharding](/roadmap/danksharding).
+
+### Χρήση Plasma {#use-plasma}
+
+Πολλά έργα παρέχουν υλοποιήσεις Plasma που μπορείτε να ενσωματώσετε στις dapp σας:
+
+- [Polygon](https://polygon.technology/) (παλαιότερα Matic Network)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Μάθετε Plasma](https://www.learnplasma.org/en/)
+- [Μια γρήγορη υπενθύμιση του τι σημαίνει "κοινή ασφάλεια" και γιατί είναι τόσο σημαντική](https://old.reddit.com/r/ethereum/comments/sgd3zt/a_quick_reminder_of_what_shared_security_means/)
+- [Πλευρικές αλυσίδες vs Plasma vs Sharding](https://vitalik.eth.limo/general/2019/06/12/plasma_vs_sharding.html)
+- [Κατανοώντας το Plasma, Μέρος 1: Τα Βασικά](https://www.theblockcrypto.com/amp/post/10793/understanding-plasma-part-1-the-basics)
+- [Η Ζωή και ο Θάνατος του Plasma](https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad#)
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/scaling/sidechains/index.md b/public/content/translations/el/developers/docs/scaling/sidechains/index.md
new file mode 100644
index 00000000000..cc57aa4f1c1
--- /dev/null
+++ b/public/content/translations/el/developers/docs/scaling/sidechains/index.md
@@ -0,0 +1,73 @@
+---
+title: Πλευρικές αλυσίδες
+description: Μια εισαγωγή στις πλευρικές αλυσίδες ως λύση επεκτασιμότητας που χρησιμοποιείται επί του παρόντος από την κοινότητα του Ethereum.
+lang: el
+sidebarDepth: 3
+---
+
+Μια πλευρική αλυσίδα είναι ένα ξεχωριστό blockchain που λειτουργεί ανεξάρτητα από το Ethereum και συνδέεται με το Κεντρικό Δίκτυο του Ethereum μέσω μιας αμφίδρομης γέφυρας. Οι πλευρικές αλυσίδες μπορούν να έχουν ξεχωριστές παραμέτρους μπλοκ και [αλγόριθμους συναίνεσης](/developers/docs/consensus-mechanisms/), οι οποίοι συχνά σχεδιάζονται για την αποτελεσματική επεξεργασία των συναλλαγών. Ωστόσο, η χρήση μιας πλευρικής αλυσίδας συνεπάγεται συμβιβασμούς, καθώς δεν κληρονομούν τα χαρακτηριστικά ασφαλείας του Ethereum. Σε αντίθεση με τις [λύσεις κλιμάκωσης επιπέδου 2](/layer-2/), οι πλευρικές αλυσίδες δεν δημοσιεύουν αλλαγές κατάστασης και δεδομένα συναλλαγών στο Κεντρικό Δίκτυο του Ethereum.
+
+Οι πλευρικές αλυσίδες θυσιάζουν επίσης κάποιο μέτρο αποκέντρωσης ή ασφάλειας για να επιτύχουν υψηλή απόδοση ([τρίλημμα επεκτασιμότητας](https://vitalik.eth.limo/general/2021/05/23/scaling.html)). Το Ethereum, ωστόσο, δεσμεύεται να κλιμακώσει χωρίς να διακυβεύονται η αποκέντρωση και η ασφάλεια, όπως περιγράφεται στη [δήλωση οράματος](/roadmap/vision/) για αναβαθμίσεις.
+
+## Πώς λειτουργούν οι πλευρικές αλυσίδες; {#how-do-sidechains-work}
+
+Οι πλευρικές αλυσίδες είναι ανεξάρτητα blockchain, με διαφορετικές ιστορίες, οδικούς χάρτες ανάπτυξης και εκτιμήσεις σχεδιασμού. Ενώ μια πλευρική αλυσίδα μπορεί να παρουσιάζει κάποιες ομοιότητες σε επίπεδο επιφάνειας με το Ethereum, έχει μερικά ιδιαίτερα χαρακτηριστικά.
+
+### Αλγόριθμοι συναίνεσης {#consensus-algorithms}
+
+Μία από τις ιδιότητες που κάνουν τις πλευρικές αλυσίδες μοναδικές (δηλαδή διαφορετικές από το Ethereum) είναι ο αλγόριθμος συναίνεσης που χρησιμοποιείται. Οι πλευρικές αλυσίδες δεν βασίζονται στο Ethereum για συναίνεση και μπορούν να επιλέξουν εναλλακτικά πρωτόκολλα συναίνεσης που να ταιριάζουν στις ανάγκες τους. Μερικά παραδείγματα αλγορίθμων συναίνεσης που χρησιμοποιούνται σε πλευρικές αλυσίδες περιλαμβάνουν:
+
+- [Απόδειξη Αρχής](/developers/docs/consensus-mechanisms/poa/)
+- [Κατ' εξουσιοδότηση απόδειξη συμμετοχής](https://en.bitcoin.it/wiki/Delegated_proof_of_stake)
+- [Ανοχή βυζαντινών σφαλμάτων](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained).
+
+Όπως και το Ethereum, οι πλευρικές αλυσίδες έχουν κόμβους επικύρωσης που επαληθεύουν και επεξεργάζονται συναλλαγές, παράγουν μπλοκ και αποθηκεύουν την κατάσταση του blockchain. Οι επικυρωτές είναι επίσης υπεύθυνοι για τη διατήρηση της συναίνεσης σε όλο το δίκτυο και την ασφάλειά του από κακόβουλες επιθέσεις.
+
+#### Παράμετροι μπλοκ {#block-parameters}
+
+Το Ethereum θέτει όρια στους [χρόνους των μπλοκ](/developers/docs/blocks/#block-time) (δηλαδή, στον χρόνο που απαιτείται για την παραγωγή νέων μπλοκ) και τα [μεγέθη των μπλοκ](/developers/docs/blocks/#block-size) (δηλαδή, η ποσότητα δεδομένων που περιέχονται ανά μπλοκ εκφραζόμενη σε gas). Αντίθετα, οι πλευρικές αλυσίδες συχνά υιοθετούν διαφορετικές παραμέτρους, όπως ταχύτερους χρόνους μπλοκ και υψηλότερα όρια gas, για να πετύχουν υψηλή απόδοση, γρήγορες συναλλαγές και χαμηλά τέλη.
+
+Παρόλο που αυτό έχει κάποια πλεονεκτήματα, έχει και κρίσιμες επιπτώσεις για την αποκέντρωση και την ασφάλεια του δικτύου. Οι παράμετροι των μπλοκ, όπως οι γρήγοροι χρόνοι μπλοκ και τα μεγάλα μεγέθη μπλοκ, αυξάνουν τη δυσκολία εκτέλεσης ενός πλήρους κόμβου, με αποτέλεσμα να μένουν μερικοί «υπερκόμβοι» υπεύθυνοι για την ασφάλιση της αλυσίδας. Σε ένα τέτοιο σενάριο, αυξάνεται η πιθανότητα συμπαιγνίας επικυρωτών ή κακόβουλης εξαγοράς της αλυσίδας.
+
+Για να κλιμακωθούν τα blockchain χωρίς να βλάψουν την αποκέντρωση, η λειτουργία ενός κόμβου πρέπει να είναι ανοιχτή σε όλους —όχι απαραίτητα σε ομάδες με εξειδικευμένο υλικό. Αυτός είναι ο λόγος για τον οποίο γίνονται προσπάθειες να διασφαλιστεί ότι όλοι μπορούν να [λειτουργούν έναν πλήρη κόμβο](/developers/docs/nodes-and-clients/#why-should-i-run-an-ethereum-node) στο δίκτυο Ethereum.
+
+### Συμβατότητα EVM {#evm-compatibility}
+
+Ορισμένες πλευρικές αλυσίδες είναι συμβατές με EVM και μπορούν να εκτελούν συμβόλαια που έχουν αναπτυχθεί για το [Εικονικό μηχάνημα του Ethereum (EVM)](/developers/docs/evm/). Οι πλευρικές αλυσίδες που είναι συμβατές με EVM υποστηρίζουν έξυπνα συμβόλαια [γραμμένα σε Solidity](/developers/docs/smart-contracts/languages/), καθώς και άλλες γλώσσες έξυπνων συμβολαίων EVM, πράγμα που σημαίνει ότι τα έξυπνα συμβόλαια που έχουν γραφτεί για το Κεντρικό Δίκτυο του Ethereum θα λειτουργούν και σε πλευρικές αλυσίδες συμβατές με EVM.
+
+Εάν, λοιπόν, θέλετε να χρησιμοποιήσετε την [dapp](/developers/docs/dapps/) σας σε μια πλευρική αλυσίδα, πρέπει απλώς να αναπτύξετε το [έξυπνο συμβόλαιό σας](/developers/docs/smart-contracts/) σε αυτή την πλευρική αλυσίδα. Έχει την ίδια όψη, αίσθηση και συμπεριφορά με το Κεντρικό Δίκτυο: γράφετε συμβόλαια στο Solidity και αλληλεπιδράτε με την αλυσίδα μέσω των πλευρικών αλυσίδων RPC.
+
+Επειδή οι πλευρικές αλυσίδες είναι συμβατές με EVM, θεωρούνται χρήσιμη [λύση επεκτασιμότητας](/developers/docs/scaling/) για εγγενείς εφαρμογές Ethereum. Με την dapp σας σε πλευρική αλυσίδα, οι χρήστες μπορούν να απολαμβάνουν χαμηλότερες χρεώσεις gas και πιο γρήγορες συναλλαγές, ειδικά εάν το Κεντρικό Δίκτυο έχει συμφόρηση.
+
+Ωστόσο, όπως εξηγήθηκε προηγουμένως, η χρήση πλευρικών αλυσίδων συνεπάγεται σημαντικούς συμβιβασμούς. Κάθε πλευρική αλυσίδα είναι υπεύθυνη για την ασφάλειά του και δεν κληρονομεί τις ιδιότητες ασφάλειας του Ethereum. Αυτό αυξάνει την πιθανότητα κακόβουλης συμπεριφοράς που μπορεί να επηρεάσει τους χρήστες σας ή να θέσει τα χρήματά τους σε κίνδυνο.
+
+### Κίνηση κεφαλαίου {#asset-movement}
+
+Προκειμένου ένα ξεχωριστό blockchain να γίνει πλευρική αλυσίδα στο Κεντρικό Δίκτυο του Ethereum, χρειάζεται τη δυνατότητα να διευκολύνει τη μεταφορά περιουσιακών στοιχείων από και προς το Κεντρικό Δίκτυο του Ethereum. Αυτή η διαλειτουργικότητα με το Ethereum επιτυγχάνεται με τη χρήση γέφυρας blockchain. Οι [γέφυρες](/bridges/) χρησιμοποιούν έξυπνα συμβόλαια που αναπτύσσονται στο Κεντρικό Δίκτυο του Ethereum και μια πλευρική αλυσίδα για τον έλεγχο της γεφύρωσης των κεφαλαίων μεταξύ τους.
+
+Ενώ οι γέφυρες βοηθούν τους χρήστες να μετακινούν κεφάλαια μεταξύ του Ethereum και τις πλευρικές αλυσίδες, τα περιουσιακά στοιχεία δεν αποτελούν αντικείμενο φυσικής μετακίνησης στις δύο αλυσίδες. Αντίθετα, μηχανισμοί που συνήθως περιλαμβάνουν κοπή νομίσματος και καύση χρησιμοποιούνται για τη μεταφορά αξίας μεταξύ των αλυσίδων. Περισσότερα για το [πώς λειτουργούν οι γέφυρες](/developers/docs/bridges/#how-do-bridges-work).
+
+## Πλεονεκτήματα και μειονεκτήματα πλευρικών αλυσίδων {#pros-and-cons-of-sidechains}
+
+| Πλεονεκτήματα | Μειονεκτήματα |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Η τεχνολογία που στηρίζει τις πλευρικές αλυσίδες είναι καθιερωμένη και επωφελείται από εκτεταμένη έρευνα και βελτιώσεις στον σχεδιασμό. | Οι πλευρικές αλυσίδες ανταλλάσσουν κάποιο μέτρο αποκέντρωσης και εμπιστοσύνης έναντι της επεκτασιμότητας. |
+| Οι πλευρικές αλυσίδες υποστηρίζουν γενικούς υπολογισμούς και προσφέρουν συμβατότητα EVM (μπορούν να εκτελέσουν εγγενείς εφαρμογές Ethereum). | Μια πλευρική αλυσίδα χρησιμοποιεί έναν ξεχωριστό μηχανισμό συναίνεσης και δεν επωφελείται από τις εγγυήσεις ασφάλειας του Ethereum. |
+| Οι πλευρικές αλυσίδες χρησιμοποιούν διαφορετικά μοντέλα συναίνεσης για την αποτελεσματική επεξεργασία συναλλαγών και τη μείωση χρεώσεων συναλλαγών για τους χρήστες. | Οι πλευρικές αλυσίδες απαιτούν υψηλότερες παροχές εμπιστοσύνης (π.χ. απαρτία κακόβουλων επικυρωτών πλευρικής αλυσίδας μπορεί να διαπράξει απάτη). |
+| Οι συμβατές πλευρικές αλυσίδες με EVM επιτρέπουν στις dapps να επεκτείνουν το οικοσύστημά τους. | |
+
+### Χρήση πλευρικών αλυσίδων {#use-sidechains}
+
+Πολλά έργα παρέχουν υλοποιήσεις πλευρικών αλυσίδων που μπορείτε να ενσωματώσετε στις dapps σας:
+
+- [Polygon PoS](https://polygon.technology/solutions/polygon-pos)
+- [Skale](https://skale.network/)
+- [Gnosis Chain (γνωστό ως xDai)](https://www.gnosischain.com/)
+- [Δίκτυο Loom](https://loomx.io/)
+- [Metis Andromeda](https://www.metis.io/)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Κλιμάκωση Ethereum Dapps μέσω πλευρικών αλυσίδων](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447) *8 Φεβ 2018 - Γεώργιος Κωνσταντόπουλος*
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/scaling/state-channels/index.md b/public/content/translations/el/developers/docs/scaling/state-channels/index.md
new file mode 100644
index 00000000000..c68bd14973c
--- /dev/null
+++ b/public/content/translations/el/developers/docs/scaling/state-channels/index.md
@@ -0,0 +1,261 @@
+---
+title: Κανάλια κατάστασης
+description: Μια εισαγωγή στα κανάλια κατάστασης και στα κανάλια πληρωμής ως λύση κλιμάκωσης που χρησιμοποιείται επί του παρόντος από την κοινότητα του Ethereum.
+lang: el
+sidebarDepth: 3
+---
+
+Τα κανάλια κατάστασης επιτρέπουν στους συμμετέχοντες να πραγματοποιούν συναλλαγές με ασφάλεια εκτός αλυσίδας διατηρώντας παράλληλα την αλληλεπίδραση με το Ethereum Mainnet στο ελάχιστο. Οι χρήστες του καναλιού μπορούν να πραγματοποιήσουν έναν αυθαίρετο αριθμό συναλλαγών εκτός αλυσίδας, ενώ υποβάλλουν μόνο δύο συναλλαγές εντός της αλυσίδας για να ανοίξουν και να κλείσουν το κανάλι. Αυτό επιτρέπει εξαιρετικά υψηλή απόδοση συναλλαγών και έχει ως αποτέλεσμα χαμηλότερο κόστος για τους χρήστες.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα έπρεπε να έχετε διαβάσει και κατανοήσει τις σελίδες μας για την [κλιμάκωση Ethereum](/developers/docs/scaling/) και το [επίπεδο 2](/layer-2/).
+
+## Τι είναι τα κανάλια; {#what-are-channels}
+
+Τα δημόσια blockchain, όπως το Ethereum, αντιμετωπίζουν προκλήσεις επεκτασιμότητας λόγω της κατανεμημένης αρχιτεκτονικής τους: οι συναλλαγές στην αλυσίδα πρέπει να εκτελούνται από όλους τους κόμβους. Οι κόμβοι πρέπει να είναι σε θέση να χειριστούν τον όγκο των συναλλαγών σε ένα μπλοκ χρησιμοποιώντας μέτριο υλικό, επιβάλλοντας ένα όριο στην απόδοση συναλλαγών για να διατηρηθεί το δίκτυο αποκεντρωμένο. Τα κανάλια blockchain λύνουν αυτό το πρόβλημα επιτρέποντας στους χρήστες να αλληλεπιδρούν εκτός αλυσίδας ενώ εξακολουθούν να βασίζονται στην ασφάλεια της κύριας αλυσίδας για τον τελικό διακανονισμό.
+
+Τα κανάλια είναι απλά πρωτόκολλα peer-to-peer που επιτρέπουν σε δύο μέρη να κάνουν πολλές συναλλαγές μεταξύ τους και στη συνέχεια να δημοσιεύουν μόνο τα τελικά αποτελέσματα στην αλυσίδα μπλοκ. Το κανάλι χρησιμοποιεί κρυπτογραφία για να αποδείξει ότι τα συνοπτικά δεδομένα που παράγουν είναι πραγματικά το αποτέλεσμα ενός έγκυρου συνόλου ενδιάμεσων συναλλαγών. Ένα έξυπνο συμβόλαιο ["multisig"](/developers/docs/smart-contracts/#multisig) εξασφαλίζει ότι οι συναλλαγές υπογράφονται από τα σωστά μέρη.
+
+Με τα κανάλια, οι αλλαγές κατάστασης εκτελούνται και επικυρώνονται από τα ενδιαφερόμενα μέρη, ελαχιστοποιώντας τον υπολογισμό στο επίπεδο εκτέλεσης του Ethereum. Αυτό μειώνει τη συμφόρηση στο Ethereum και επίσης αυξάνει τις ταχύτητες επεξεργασίας συναλλαγών για τους χρήστες.
+
+Κάθε κανάλι διαχειρίζεται από ένα [έξυπνο συμβόλαιο multisig](/developers/docs/smart-contracts/#multisig) που εκτελείται στο Ethereum. Για να ανοίξει ένα κανάλι, οι συμμετέχοντες αναπτύσσουν το συμβόλαιο καναλιού στην αλυσίδα και καταθέτουν κεφάλαια σε αυτό. Και οι δύο πλευρές υπογράφουν συλλογικά μια ενημέρωση κατάστασης για να αρχικοποιήσουν την κατάσταση του καναλιού, μετά την οποία μπορούν να πραγματοποιήσουν συναλλαγές γρήγορα και ελεύθερα offchain.
+
+Για να κλείσει το κανάλι, οι συμμετέχοντες υποβάλλουν την τελευταία συμφωνημένη κατάσταση του καναλιού στην αλυσίδα. Στη συνέχεια, το έξυπνο συμβόλαιο διανέμει τα κλειδωμένα κεφάλαια σύμφωνα με την υπόλοιπο κάθε συμμετέχοντα στην τελική κατάσταση του καναλιού.
+
+Τα κανάλια peer-to-peer είναι ιδιαίτερα χρήσιμα για περιπτώσεις όπου ορισμένοι προκαθορισμένοι συμμετέχοντες επιθυμούν να πραγματοποιήσουν συναλλαγές με υψηλή συχνότητα χωρίς να προκαλέσουν ορατό κόστος. Τα κανάλια blockchain χωρίζονται σε δύο κατηγορίες: **κανάλια πληρωμών** και **κανάλια κατάστασης**.
+
+## Κανάλια πληρωμών {#payment-channels}
+
+Ένα κανάλι πληρωμών περιγράφεται καλύτερα ως ένα "διπλό λογιστικό βιβλίο" που διατηρείται συλλογικά από δύο χρήστες. Το αρχικό υπόλοιπο του λογιστικού βιβλίου είναι το άθροισμα των καταθέσεων που κλειδώνονται στο συμβόλαιο στην αλυσίδα κατά τη φάση ανοίγματος του καναλιού. Οι μεταφορές καναλιού πληρωμών μπορούν να πραγματοποιηθούν άμεσα και χωρίς τη συμμετοχή της ίδιας της κρυπτοαλυσίδας, εκτός από μια αρχική εφάπαξ δημιουργία στην αλυσίδα και ένα τελικό κλείσιμο του καναλιού.
+
+Οι ενημερώσεις στην υπόλοιπο του λογιστικού βιβλίου (δηλαδή, την κατάσταση του καναλιού πληρωμών) απαιτούν την έγκριση όλων των μερών στο κανάλι. Μια ενημέρωση καναλιού, υπογεγραμμένη από όλους τους συμμετέχοντες στο κανάλι, θεωρείται οριστικοποιημένη, παρόμοια με μια συναλλαγή στο Ethereum.
+
+Τα κανάλια πληρωμών ήταν από τις πρώτες λύσεις κλιμάκωσης που σχεδιάστηκαν για να ελαχιστοποιήσουν την ακριβή δραστηριότητα στην αλυσίδα απλών αλληλεπιδράσεων χρηστών (π.χ. μεταφορές ETH, ατομικά ανταλλάγματα, μικροπληρωμές). Οι συμμετέχοντες στο κανάλι μπορούν να πραγματοποιήσουν απεριόριστο αριθμό άμεσων συναλλαγών χωρίς προμήθειες μεταξύ τους, εφόσον το καθαρό άθροισμα των μεταφορών τους δεν υπερβαίνει τα κατατεθέντα token.
+
+## Κανάλια κατάστασης {#state-channels}
+
+Εκτός από την υποστήριξη εκτός αλυσίδας πληρωμών, τα κανάλια πληρωμών δεν έχουν αποδειχθεί χρήσιμα για τη διαχείριση γενικής λογικής μετάβασης κατάστασης. Τα κανάλια κατάστασης δημιουργήθηκαν για να λύσουν αυτό το πρόβλημα και να κάνουν τα κανάλια χρήσιμα για την κλιμάκωση του υπολογισμού γενικής χρήσης.
+
+Τα κανάλια κατάστασης εξακολουθούν να έχουν πολλά κοινά με τα κανάλια πληρωμών. Για παράδειγμα, οι χρήστες αλληλεπιδρούν ανταλλάσσοντας κρυπτογραφικά υπογεγραμμένα μηνύματα (συναλλαγές), τα οποία πρέπει να υπογραφούν και από τους άλλους συμμετέχοντες στο κανάλι. Εάν μια προτεινόμενη ενημέρωση κατάστασης δεν υπογραφεί από όλους τους συμμετέχοντες, θεωρείται άκυρη.
+
+Ωστόσο, εκτός από τη διατήρηση των υπολοίπων του χρήστη, το κανάλι παρακολουθεί επίσης την τρέχουσα κατάσταση της αποθήκευσης του συμβολαίου (δηλαδή, τις τιμές των μεταβλητών του συμβολαίου).
+
+Αυτό καθιστά δυνατή την εκτέλεση μιας έξυπνης σύμβασης εκτός αλυσίδας μεταξύ δύο χρηστών. Σε αυτό το σενάριο, οι ενημερώσεις στην εσωτερική κατάσταση του έξυπνου συμβολαίου απαιτούν μόνο την έγκριση των χρηστών που δημιούργησαν το κανάλι.
+
+Ενώ αυτό επιλύει το πρόβλημα κλιμάκωσης που περιγράφηκε προηγουμένως, έχει επιπτώσεις στην ασφάλεια. Στο Ethereum, η εγκυρότητα των μεταβάσεων κατάστασης επιβάλλεται από το πρωτόκολλο συναίνεσης του δικτύου. Αυτό καθιστά αδύνατη την πρόταση μιας άκυρης ενημέρωσης της κατάστασης μιας έξυπνης σύμβασης ή την αλλοίωση της εκτέλεσης της έξυπνης σύμβασης.
+
+Τα κανάλια κατάστασης δεν έχουν τις ίδιες εγγυήσεις ασφάλειας. Σε κάποιο βαθμό, ένα κανάλι κατάστασης είναι μια μικρογραφία του Mainnet. Με ένα περιορισμένο σύνολο συμμετεχόντων που επιβάλλουν κανόνες, αυξάνεται η πιθανότητα κακόβουλης συμπεριφοράς (π.χ. πρόταση άκυρων ενημερώσεων κατάστασης). Τα κανάλια κατάστασης αντλούν την ασφάλειά τους από ένα σύστημα διαιτησίας διαφοράς που βασίζεται σε [αποδείξεις απάτης](/glossary/#fraud-proof).
+
+## Πως λειτουργούν τα κανάλια κατάστασης {#how-state-channels-work}
+
+Βασικά, η δραστηριότητα σε ένα κανάλι κατάστασης είναι μια περίοδος αλληλεπιδράσεων που περιλαμβάνει χρήστες και ένα σύστημα blockchain. Χρήστες κυρίως επικοινωνούν μεταξύ τους εκτός αλυσίδας και αλληλεπιδρούν μόνο με την υποκείμενη αλυσίδα μπλοκ για να ανοίξουν το κανάλι, να κλείσουν το κανάλι ή να διευθετήσουν πιθανές διαφωνίες μεταξύ των συμμετεχόντων.
+
+Η ακόλουθη ενότητα περιγράφει τη βασική ροή εργασίας ενός καναλιού κατάστασης:
+
+### Άνοιγμα καναλιού {#opening-the-channel}
+
+Το άνοιγμα ενός καναλιού απαιτεί από τους συμμετέχοντες να δεσμεύσουν χρήματα σε ένα έξυπνο συμβόλαιο στο Mainnet. Η κατάθεση χρησιμεύει επίσης ως ένα εικονικό "ταμείο", ώστε οι συμμετέχοντες να μπορούν να πραγματοποιούν συναλλαγές ελεύθερα χωρίς να χρειάζεται να διευθετούν τις πληρωμές άμεσα. Μόνο όταν το κανάλι ολοκληρωθεί στην αλυσίδα, τα μέρη διευθετούν μεταξύ τους και αποσύρουν ό,τι έχει απομείνει από το "ταμείο" τους.
+
+Αυτή η κατάθεση χρησιμεύει επίσης ως εγγύηση για την ειλικρινή συμπεριφορά από κάθε συμμετέχοντα. Εάν οι καταθέτες κριθούν ένοχοι για κακόβουλες ενέργειες κατά τη φάση επίλυσης διαφορών, το συμβόλαιο μειώνει την κατάθεσή τους.
+
+Τα μέρη του καναλιού πρέπει να υπογράψουν μια αρχική κατάσταση, στην οποία όλα συμφωνούν. Αυτό χρησιμεύει ως τη γένεση του καναλιού κατάστασης, μετά την οποία οι χρήστες μπορούν να ξεκινήσουν τις συναλλαγές τους.
+
+### Χρήση καναλιού {#using-the-channel}
+
+Μετά την εκκίνηση της κατάστασης του καναλιού, οι ομότιμοι αλληλεπιδρούν υπογράφοντας συναλλαγές και στέλνοντάς τες ο ένας στον άλλον για έγκριση. Οι συμμετέχοντες ξεκινούν ενημερώσεις κατάστασης με αυτές τις συναλλαγές και υπογράφουν ενημερώσεις κατάστασης από άλλους. Κάθε συναλλαγή περιλαμβάνει τα ακόλουθα:
+
+- Ένα **nonce**, το οποίο λειτουργεί ως μοναδικό αναγνωριστικό για συναλλαγές και αποτρέπει επιθέσεις επανάληψης. Προσδιορίζει επίσης τη σειρά με την οποία πραγματοποιήθηκαν οι ενημερώσεις κατάστασης (η οποία είναι σημαντική για την επίλυση διαφορών)
+
+- Η παλιά κατάσταση του καναλιού
+
+- Η νέα κατάσταση του καναλιού
+
+- Η συναλλαγή που ενεργοποιεί τη μετάβαση κατάστασης (π.χ., η Alice στέλνει 5 ETH στον Bob)
+
+Οι ενημερώσεις κατάστασης στο κανάλι δε μεταδίδονται στην αλυσίδα όπως συμβαίνει συνήθως όταν οι χρήστες αλληλεπιδρούν στο Mainnet, κάτι που ευθυγραμμίζεται με τον στόχο των κρατικών καναλιών να ελαχιστοποιήσουν το αποτύπωμα στην αλυσίδα. Εφόσον οι συμμετέχοντες συμφωνούν για ενημερώσεις κατάστασης, είναι τόσο τελικές όσο μια συναλλαγή Ethereum. Οι συμμετέχοντες χρειάζεται να εξαρτώνται μόνο από τη συναίνεση του Mainnet εάν προκύψει διαφωνία.
+
+### Κλείσιμο καναλιού {#closing-the-channel}
+
+Το κλείσιμο ενός καναλιού κατάστασης απαιτεί την υποβολή της τελικής, συμφωνημένης κατάστασης του καναλιού στο έξυπνο συμβόλαιο στην αλυσίδα. Οι λεπτομέρειες που αναφέρονται στην ενημέρωση κατάστασης περιλαμβάνουν τον αριθμό των κινήσεων κάθε συμμετέχοντα και μια λίστα εγκεκριμένων συναλλαγών.
+
+Αφού επαληθευτεί ότι η ενημέρωση κατάστασης είναι έγκυρη (δηλαδή, έχει υπογραφεί από όλα τα μέρη), το έξυπνο συμβόλαιο οριστικοποιεί το κανάλι και διανέμει τα κλειδωμένα χρήματα σύμφωνα με το αποτέλεσμα του καναλιού. Οι πληρωμές που γίνονται εκτός αλυσίδας εφαρμόζονται στην κατάσταση του Ethereum και ο κάθε συμμετέχων λαμβάνει το υπόλοιπο μέρος των κλειδωμένων χρημάτων.
+
+Το σενάριο που περιγράφεται παραπάνω αντιπροσωπεύει τι συμβαίνει στην καλή περίπτωση. Μερικές φορές, οι χρήστες μπορεί να μην μπορούν να καταλήξουν σε συμφωνία και να οριστικοποιήσουν το κανάλι (η κακή περίπτωση). Οποιοδήποτε από τα ακόλουθα μπορεί να ισχύει για την κατάσταση:
+
+- Οι συμμετέχοντες είναι εκτός σύνδεσης και αποτυγχάνουν να προτείνουν μεταβάσεις κατάστασης
+
+- Οι συμμετέχοντες αρνούνται να συνυπογράψουν έγκυρες ενημερώσεις κατάστασης
+
+- Οι συμμετέχοντες προσπαθούν να ολοκληρώσουν το κανάλι προτείνοντας μια παλιά ενημέρωση κατάστασης στο συμβόλαιο στην αλυσίδα.
+
+- Οι συμμετέχοντες προτείνουν μη έγκυρες μεταβάσεις κατάστασης για να υπογράψουν άλλοι
+
+Κάθε φορά που διακόπτεται η συναίνεση μεταξύ των συμμετεχόντων παραγόντων σε ένα κανάλι, η τελευταία επιλογή είναι να βασιστείτε στη συναίνεση του Κεντρικού δικτύου για να επιβάλετε την τελική, έγκυρη κατάσταση του καναλιού. Σε αυτήν την περίπτωση, το κλείσιμο του καναλιού κατάστασης απαιτεί επίλυση διαφορών στην αλυσίδα.
+
+### Settling disputes {#settling-disputes}
+
+Συνήθως, τα μέλη σε ένα κανάλι συμφωνούν να κλείσουν το κανάλι εκ των προτέρων και συνυπογράφουν την τελευταία μετάβαση κατάστασης, την οποία υποβάλλουν στο έξυπνο συμβόλαιο. Μόλις εγκριθεί η ενημέρωση στην αλυσίδα, η εκτέλεση του έξυπνου συμβολαίου εκτός αλυσίδας τελειώνει και οι συμμετέχοντες εξέρχονται από το κανάλι με τα χρήματά τους.
+
+Ωστόσο, ένα μέρος μπορεί να υποβάλει μια αίτηση στην αλυσίδα για να τερματίσει την εκτέλεση του έξυπνου συμβολαίου και να ολοκληρώσει το κανάλι - χωρίς να περιμένει την έγκριση του άλλου μέρους. Εάν συμβεί κάποια από τις περιγραφόμενες προηγουμένως καταστάσεις παραβίασης της συναίνεσης, οποιοδήποτε μέρος μπορεί να ενεργοποιήσει το συμβόλαιο στην αλυσίδα για να κλείσει το κανάλι και να διανείμει τα κεφάλαια. Αυτό εξαλείφει την ανάγκη **απόδειξης εμπιστοσύνης**, διασφαλίζοντας ότι τα ειλικρινή μέρη μπορούν να εξέλθουν από τις καταθέσεις τους ανά πάσα στιγμή, ανεξάρτητα από τις ενέργειες του άλλου μέρους.
+
+Για να επεξεργαστεί την έξοδο καναλιού, ο χρήστης πρέπει να υποβάλει την τελευταία έγκυρη ενημέρωση κατάστασης της εφαρμογής στο συμβόλαιο στην αλυσίδα. Εάν αυτό είναι εντάξει (δηλαδή, φέρει την υπογραφή όλων των μελών), τότε τα κεφάλαια αναδιανέμονται υπέρ τους.
+
+Ωστόσο, υπάρχει καθυστέρηση στην εκτέλεση αιτημάτων εξόδου ενός χρήστη. Εάν το αίτημα για ολοκλήρωση του καναλιού εγκρίθηκε ομόφωνα, τότε η συναλλαγή εξόδου στην αλυσίδα εκτελείται αμέσως.
+
+Η καθυστέρηση τίθεται σε εφαρμογή σε εξόδους ενός χρήστη λόγω της πιθανότητας απατηλών ενεργειών. Για παράδειγμα, ένας συμμετέχων στο κανάλι μπορεί να προσπαθήσει να ολοκληρώσει το κανάλι στο Ethereum υποβάλλοντας μια παλαιότερη ενημέρωση κατάστασης στην αλυσίδα.
+
+Ως αντιστάθμισμα, τα κανάλια κατάστασης επιτρέπουν στους ειλικρινείς χρήστες να αμφισβητήσουν τις μη έγκυρες ενημερώσεις κατάστασης υποβάλλοντας την τελευταία, έγκυρη κατάσταση του καναλιού εντός αλυσίδας. Τα κανάλια κατάστασης σχεδιάζονται έτσι ώστε οι νεότερες, συμφωνημένες ενημερώσεις κατάστασης να επικρατούν των παλαιότερων ενημερώσεων κατάστασης.
+
+Μόλις ένας συμμετέχων ενεργοποιήσει το σύστημα επίλυσης διαφωνιών εντός αλυσίδας, το άλλο μέρος πρέπει να απαντήσει εντός χρονικού ορίου (που ονομάζεται παράθυρο πρόκλησης). Αυτό επιτρέπει στους χρήστες να αμφισβητήσουν τη συναλλαγή εξόδου, ειδικά εάν το άλλο μέρος εφαρμόζει μια παλιά ενημέρωση.
+
+Όποια και αν είναι η περίπτωση, οι χρήστες του καναλιού έχουν πάντα ισχυρές εγγυήσεις οριστικότητας: εάν η μετάβαση κατάστασης στην κατοχή τους υπογράφηκε από όλα τα μέλη και είναι η πιο πρόσφατη ενημέρωση, τότε έχει την ίδια οριστικότητα με μια κανονική συναλλαγή στην αλυσίδα. Πρέπει ακόμα να αμφισβητήσουν το άλλο μέρος στην αλυσίδα, αλλά το μόνο πιθανό αποτέλεσμα είναι η ολοκλήρωση της τελευταίας έγκυρης κατάστασης που κατέχουν.
+
+### Πώς αλληλεπιδρούν τα κανάλια κατάστασης με το Ethereum; {#how-do-state-channels-interact-with-ethereum}
+
+Αν και υπάρχουν ως πρωτόκολλα εκτός αλυσίδας, τα κανάλια κατάστασης έχουν ένα στοιχείο εντός αλυσίδας: το έξυπνο συμβόλαιο που αναπτύσσεται στο Ethereum κατά το άνοιγμα του καναλιού. Αυτό το συμβόλαιο ελέγχει τα περιουσιακά στοιχεία που κατατίθενται στο κανάλι, επαληθεύει τις ενημερώσεις κατάστασης και διαιτητεύει τις διαφορές μεταξύ των συμμετεχόντων.
+
+Τα κανάλια κατάστασης δε δημοσιεύουν δεδομένα συναλλαγών ή καταστάσεις δεσμεύσεων στο Mainnet, σε αντίθεση με τις λύσεις κλιμάκωσης [επιπέδου 2](/layer-2/). Ωστόσο, συνδέονται περισσότερο με το Mainnet παρά με, [πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/) καθιστώντας τα κάπως πιο ασφαλή.
+
+Τα κανάλια κατάστασης βασίζονται στο κύριο πρωτόκολλο Ethereum για τα ακόλουθα:
+
+#### 1. Επιβιωσιμότητα {#liveness}
+
+Το συμβόλαιο στην αλυσίδα που αναπτύσσεται κατά το άνοιγμα του καναλιού είναι υπεύθυνο για τη λειτουργικότητα του καναλιού. Εάν το συμβόλαιο εκτελείται στο Ethereum, τότε το κανάλι είναι πάντα διαθέσιμο για χρήση. Αντίθετα, μια πλευρική αλυσίδα μπορεί πάντα να αποτύχει, ακόμα και αν το Κεντρικό δίκτυο είναι λειτουργικό, θέτοντας σε κίνδυνο τα κεφάλαια των χρηστών.
+
+#### 2. Ασφάλεια {#security}
+
+Σε κάποιο βαθμό, τα κανάλια κατάστασης βασίζονται στο Ethereum για να τους παρέχουν ασφάλεια και να προστατεύουν τους χρήστες από κακόβουλους ομότιμους. Όπως συζητείται σε επόμενες ενότητες, τα κανάλια χρησιμοποιούν έναν μηχανισμό απόδειξης απάτης που επιτρέπει στους χρήστες να αμφισβητήσουν τις προσπάθειες οριστικοποίησης του καναλιού με μια μη έγκυρη ή παλιά ενημέρωση.
+
+Σε αυτήν την περίπτωση, το έντιμο μέρος παρέχει την πιο πρόσφατη έγκυρη κατάσταση του καναλιού ως απόδειξη απάτης στο συμβόλαιο στην αλυσίδα για επαλήθευση. Οι αποδείξεις απάτης επιτρέπουν σε μέρη που δεν εμπιστεύονται το ένα το άλλο να πραγματοποιούν εκτός αλυσίδας συναλλαγές χωρίς να διακινδυνεύουν τα κεφάλαιά τους στη διαδικασία.
+
+#### 3. Οριστικότητα {#finality}
+
+Οι ενημερώσεις κατάστασης που υπογράφονται συλλογικά από τους χρήστες του καναλιού θεωρούνται εξίσου καλές με τις συναλλαγές στην αλυσίδα. Ωστόσο, όλες οι ενέργειες εντός ενός καναλιού αποκτούν πραγματική οριστικότητα μόνο όταν το κανάλι κλείνει στο Ethereum.
+
+Στην αισιόδοξη περίπτωση, και τα δύο μέρη μπορούν να συνεργαστούν και να υπογράψουν την τελική ενημέρωση κατάστασης και να την υποβάλουν στην αλυσίδα για να κλείσει το κανάλι, μετά την οποία τα χρήματα διανέμονται σύμφωνα με την τελική κατάσταση του καναλιού. Στην απαισιόδοξη περίπτωση, όπου κάποιος προσπαθεί να εξαπατήσει δημοσιεύοντας μια εσφαλμένη ενημέρωση κατάστασης στην αλυσίδα, η συναλλαγή δεν ολοκληρώνεται μέχρι να παρέλθει το παράθυρο πρόκλησης.
+
+## Εικονικά κανάλια κτάστασης {#virtual-state-channels}
+
+Η αφελής υλοποίηση ενός καναλιού κατάστασης θα ήταν η ανάπτυξη ενός νέου συμβολαίου όταν δύο χρήστες επιθυμούν να εκτελέσουν μια εφαρμογή εκτός αλυσίδας. Αυτό όχι μόνο δεν είναι εφικτό, αλλά αναιρεί επίσης τη σχέση κόστους - αποτελεσματικότητας των καναλιών κατάστασης (το κόστος συναλλαγών στην αλυσίδα μπορεί γρήγορα να αυξηθεί).
+
+Για να λυθεί αυτό το πρόβλημα, δημιουργήθηκαν «εικονικά κανάλια». Σε αντίθεση με τα κανονικά κανάλια που απαιτούν το άνοιγμα και τον τερματισμό συναλλαγών στην αλυσίδα, ένα εικονικό κανάλι μπορεί να ανοιχτεί, να εκτελεστεί και να οριστικοποιηθεί χωρίς να αλληλεπιδράσει με την κύρια αλυσίδα. Είναι ακόμη δυνατό να διευθετηθούν διαφορές εκτός αλυσίδας χρησιμοποιώντας αυτή τη μέθοδο.
+
+Αυτό το σύστημα βασίζεται στην ύπαρξη των λεγόμενων "καναλιών καταλόγου", τα οποία έχουν χρηματοδοτηθεί στην αλυσίδα. Μπορούν να δημιουργηθούν εικονικά κανάλια μεταξύ δύο μερών πάνω από ένα υπάρχον κανάλι καταλόγου, με τους ιδιοκτήτες του καναλιού καταλόγου να χρησιμεύουν ως ενδιάμεσοι.
+
+Οι χρήστες σε κάθε εικονικό κανάλι αλληλεπιδρούν μέσω μιας νέας εμφάνισης συμβολαίου, με το κανάλι καταλόγου να είναι σε θέση να υποστηρίζει πολλαπλές εμφανίσεις συμβολαίου. Η κατάσταση του καναλιού καταλόγου περιέχει επίσης περισσότερες από μία καταστάσεις αποθήκευσης συμβολαίου, επιτρέποντας παράλληλη εκτέλεση εφαρμογών εκτός αλυσίδας μεταξύ διαφορετικών χρηστών.
+
+Όπως ακριβώς και στα κανονικά κανάλια, οι χρήστες ανταλλάσσουν ενημερώσεις κατάστασης για να προχωρήσουν το μηχάνημα κατάστασης. Εκτός από διαφωνία, επικοινωνία με τον μεσάζοντα γίνεται μόνο κατά το άνοιγμα ή τον τερματισμό του καναλιού.
+
+### Εικονικά κανάλια πληρωμών {#virtual-payment-channels}
+
+Τα εικονικά κανάλια πληρωμών λειτουργούν με την ίδια ιδέα όπως τα κανάλια εικονικής κατάστασης: οι συμμετέχοντες που είναι συνδεδεμένοι στο ίδιο δίκτυο μπορούν να υποβάλουν μηνύματα χωρίς να χρειάζεται να ανοίξουν ένα νέο κανάλι στην αλυσίδα. Στα εικονικά κανάλια πληρωμών, οι μεταφορές αξίας δρομολογούνται μέσω ενός ή περισσότερων διαμεσολαβητών, με εγγυήσεις ότι μόνο ο σκοπούμενος παραλήπτης μπορεί να λάβει μεταφερόμενα χρήματα.
+
+## Εφαρμογές καναλιών κατάστασης {#applications-of-state-channels}
+
+### Πληρωμές {#payments}
+
+Τα αρχικά κανάλια blockchain ήταν απλά πρωτόκολλα που επέτρεπαν σε δύο συμμετέχοντες να πραγματοποιούν γρήγορες, χαμηλής χρέωσης μεταφορές εκτός αλυσίδας χωρίς να χρειάζεται να πληρώνουν υψηλά τέλη συναλλαγών στο Mainnet. Σήμερα, τα κανάλια πληρωμής εξακολουθούν να είναι χρήσιμα για εφαρμογές που έχουν σχεδιαστεί για την ανταλλαγή και τις καταθέσεις ether και tokens.
+
+Οι πληρωμές βασισμένες σε κανάλια έχουν τα ακόλουθα πλεονεκτήματα:
+
+1. **Απόδοση**: Η ποσότητα των εκτός αλυσίδας συναλλαγών ανά κανάλι δε συνδέεται με την απόδοση του Ethereum, η οποία επηρεάζεται από διάφορους παράγοντες, ειδικά το μέγεθος του μπλοκ και ο χρόνος μπλοκ. Με την εκτέλεση συναλλαγών εκτός αλυσίδας, τα κανάλια blockchain μπορούν να επιτύχουν υψηλότερη απόδοση.
+
+2. **Απόρρητο**: Επειδή τα κανάλια υπάρχουν εκτός αλυσίδας, οι λεπτομέρειες των αλληλεπιδράσεων μεταξύ των συμμετεχόντων δεν καταγράφονται στο δημόσιο blockchain του Ethereum. Οι χρήστες καναλιών πρέπει να αλληλεπιδρούν μόνο στην αλυσίδα κατά τη χρηματοδότηση και το κλείσιμο καναλιών ή την επίλυση διαφορών. Έτσι, τα κανάλια είναι χρήσιμα για άτομα που επιθυμούν πιο ιδιωτικές συναλλαγές.
+
+3. **Καθυστέρηση**: Οι εκτός αλυσίδας συναλλαγές που πραγματοποιούνται μεταξύ των συμμετεχόντων του καναλιού μπορούν να διευθετηθούν άμεσα, εάν συνεργαστούν και τα δύο μέρη, μειώνοντας τις καθυστερήσεις. Αντίθετα, η αποστολή μιας συναλλαγής στο Κεντρικό δίκτυο απαιτεί αναμονή για τους κόμβους να επεξεργαστούν τη συναλλαγή, να παράγουν ένα νέο μπλοκ με τη συναλλαγή και να επιτευχθεί συναίνεση. Οι χρήστες μπορεί επίσης να χρειαστεί να περιμένουν περισσότερες επιβεβαιώσεις μπλοκ πριν θεωρήσουν μια συναλλαγή οριστικοποιημένη.
+
+4. **Κόστος**: Τα κανάλια κατάστασης είναι ιδιαίτερα χρήσιμα σε περιπτώσεις όπου ένα σύνολο συμμετεχόντων θα ανταλλάξει πολλές ενημερώσεις κατάστασης για μεγάλο χρονικό διάστημα. Τα μόνα έξοδα που προκύπτουν είναι το άνοιγμα και το κλείσιμο του έξυπνου συμβολαίου καναλιού κατάστασης. Κάθε αλλαγή κατάστασης μεταξύ του ανοίγματος και του κλεισίματος του καναλιού θα είναι φθηνότερη από την τελευταία καθώς το κόστος διακανονισμού κατανέμεται ανάλογα.
+
+Η εφαρμογή καναλιών κατάστασης σε λύσεις επιπέδου 2, όπως τα [rollups](/developers/docs/scaling/#rollups), θα μπορούσε να τα κάνει ακόμη πιο ελκυστικά για πληρωμές. Ενώ τα κανάλια προσφέρουν φθηνές πληρωμές, το κόστος εγκατάστασης του συμβολαίου στην αλυσίδα στο Mainnet κατά τη φάση ανοίγματος μπορεί να γίνει ακριβό, ειδικά όταν τα τέλη gas αυξάνονται απότομα. Τα πακέτα ενημέρωσης που βασίζονται στο Ethereum προσφέρουν [χαμηλότερα τέλη συναλλαγών](https://l2fees.info/) και μπορούν να μειώσουν τα έξοδα για τους συμμετέχοντες του καναλιού μειώνοντας τα έξοδα εγκατάστασης.
+
+### Μικροσυναλλαγές {#microtransactions}
+
+Οι μικροσυναλλαγές είναι πληρωμές χαμηλής αξίας (π.χ. χαμηλότερες από ένα κλάσμα του δολαρίου) τις οποίες οι επιχειρήσεις δεν μπορούν να επεξεργαστούν χωρίς να υποστούν απώλειες. Αυτές οι οντότητες πρέπει να πληρώνουν τους παρόχους υπηρεσιών πληρωμών, κάτι που δεν μπορούν να κάνουν εάν το περιθώριο στις πληρωμές πελατών είναι πολύ χαμηλό για να βγει κέρδος.
+
+Τα κανάλια πληρωμών λύνουν αυτό το πρόβλημα μειώνοντας τα γενικά έξοδα που σχετίζονται με τις μικροσυναλλαγές. Για παράδειγμα, ένας πάροχος υπηρεσιών διαδικτύου (ISP) μπορεί να ανοίξει ένα κανάλι πληρωμής με έναν πελάτη, επιτρέποντάς του να πραγματοποιεί ροή μικρών πληρωμών κάθε φορά που χρησιμοποιεί την υπηρεσία.
+
+Πέρα από το κόστος ανοίγματος και κλεισίματος του καναλιού, οι συμμετέχοντες δεν επιβαρύνονται με επιπλέον κόστος για μικροσυναλλαγές (χωρίς χρεώσεις gas). Αυτή είναι μια κατάσταση win-win, καθώς οι πελάτες έχουν μεγαλύτερη ευελιξία στο πόσα πληρώνουν για υπηρεσίες και οι επιχειρήσεις δε χάνουν τις κερδοφόρες μικροσυναλλαγές.
+
+### Αποκεντρωμένες εφαρμογές {#decentralized-applications}
+
+Όπως τα κανάλια πληρωμής, τα κανάλια κατάστασης μπορούν να πραγματοποιούν πληρωμές υπό όρους σύμφωνα με τις τελικές καταστάσεις του μηχανήματος κατάστασης. Τα κανάλια κατάστασης μπορούν επίσης να υποστηρίξουν αυθαίρετη λογική μετάβασης κατάστασης, καθιστώντας τα χρήσιμα για την εκτέλεση γενικών εφαρμογών εκτός αλυσίδας.
+
+Τα κανάλια κατάστασης συχνά περιορίζονται σε απλές εφαρμογές, καθώς αυτό διευκολύνει τη διαχείριση των κεφαλαίων που έχουν δεσμευτεί στο συμβόλαιο εντός αλυσίδας. Επίσης, με περιορισμένο αριθμό μερών που ενημερώνουν την κατάσταση της εφαρμογής εκτός αλυσίδας σε διαστήματα, η τιμωρία της ανέντιμης συμπεριφοράς είναι σχετικά απλή.
+
+Η αποτελεσματικότητα μιας εφαρμογής καναλιού κατάστασης εξαρτάται επίσης από τον σχεδιασμό της. Για παράδειγμα, ένας προγραμματιστής μπορεί να αναπτύξει το συμβόλαιο καναλιού εφαρμογής εντός αλυσίδας μία φορά και να επιτρέψει σε άλλους παίκτες να επαναχρησιμοποιήσουν την εφαρμογή χωρίς να χρειάζεται να μεταβούν εντός αλυσίδας. Σε αυτήν την περίπτωση, το αρχικό κανάλι εφαρμογής λειτουργεί ως κανάλι λογιστικού βιβλίου που υποστηρίζει πολλαπλά εικονικά κανάλια, με κάθε ένα να εκτελεί μια νέα εμφάνιση του έξυπνου συμβολαίου της εφαρμογής εκτός αλυσίδας.
+
+Μια πιθανή χρήση για εφαρμογές καναλιού κατάστασης είναι τα απλά παιχνίδια δύο παικτών, όπου τα κεφάλαια διανέμονται με βάση το αποτέλεσμα του παιχνιδιού. Το όφελος εδώ είναι ότι οι παίκτες δε χρειάζεται να εμπιστεύονται ο ένας τον άλλον (αποκέντρωση) και το συμβόλαιο εντός αλυσίδας, όχι οι παίκτες, ελέγχει την κατανομή των κεφαλαίων και την επίλυση των διαφορών (αποκέντρωση).
+
+Άλλες πιθανές χρήσεις για εφαρμογές καναλιού κατάστασης περιλαμβάνουν την ιδιοκτησία ονόματος ENS, τα μητρώα NFT και πολλά άλλα.
+
+### Προσωπικές μεταφορές {#atomic-transfers}
+
+Τα αρχικά κανάλια πληρωμής περιορίζονταν σε μεταφορές μεταξύ δύο μελών, περιορίζοντας τη χρηστικότητά τους. Ωστόσο, η εισαγωγή εικονικών καναλιών επέτρεψε στα άτομα να δρομολογούν μεταφορές μέσω ενδιάμεσων (δηλαδή πολλαπλών καναλιών p2p) χωρίς να χρειάζεται να ανοίξουν ένα νέο κανάλι στην αλυσίδα.
+
+Συχνά περιγράφονται ως "μεταφορές πολλαπλών εναλλαγών", οι δρομολογημένες πληρωμές είναι ατομικές (δηλαδή, είτε όλα τα μέρη της συναλλαγής επιτυγχάνουν είτε αποτυγχάνουν εντελώς). Οι ατομικές μεταφορές χρησιμοποιούν [Συμβόλαια Χρονικού Κλειδώματος με Hash (HTLCs)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) για να εξασφαλίσουν ότι η πληρωμή απελευθερώνεται μόνο εάν πληρούνται ορισμένες προϋποθέσεις, μειώνοντας έτσι τον κίνδυνο του αντιπάλου.
+
+## Μειονεκτήματα της χρήσης καναλιών κατάστασης {#drawbacks-of-state-channels}
+
+### Υποθέσεις επιβιωσιμότητας {#liveness-assumptions}
+
+Για να διασφαλιστεί η αποτελεσματικότητα, τα κανάλια κατάστασης θέτουν χρονικά όρια στην ικανότητα των συμμετεχόντων του καναλιού να ανταποκρίνονται σε διαφωνίες. Αυτός ο κανόνας υποθέτει ότι οι συμμετέχοντες θα είναι πάντα συνδεδεμένοι στο δίκτυο για να παρακολουθούν τη δραστηριότητα του καναλιού και να αμφισβητούν ενστάσεις όταν είναι απαραίτητο.
+
+Στην πραγματικότητα, οι χρήστες μπορούν να βγουν εκτός σύνδεσης για λόγους έξω από τον έλεγχό τους (π.χ. κακή σύνδεση στο διαδίκτυο, μηχανική βλάβη κ.λπ.). Αν ένας ειλικρινής χρήστης αποσυνδεθεί, ένας κακόβουλος συμμετέχων μπορεί να εκμεταλλευτεί την κατάσταση παρουσιάζοντας παλιές ενδιάμεσες καταστάσεις στο συμβόλαιο διαιτησίας και κλέβοντας τα δεσμευμένα κεφάλαια.
+
+Μερικά κανάλια χρησιμοποιούν "πύργους παρακολούθησης" - οντότητες υπεύθυνες για την παρακολούθηση εκτός αλυσίδας συμβάντων διαφωνιών για λογαριασμό άλλων και τη λήψη των απαραίτητων ενεργειών, όπως την ειδοποίηση των ενδιαφερομένων μερών. Ωστόσο, αυτό μπορεί να αυξήσει το κόστος χρήσης ενός καναλιού κατάστασης.
+
+### Μη διαθεσιμότητα δεδομένων {#data-unavailability}
+
+Όπως εξηγήθηκε προηγουμένως, η αμφισβήτηση μιας μη έγκυρης διαφωνίας απαιτεί την παρουσίαση της πιο πρόσφατης, έγκυρης κατάστασης του καναλιού κατάστασης. Αυτός είναι ένας άλλος κανόνας που βασίζεται σε μια υπόθεση - ότι οι χρήστες έχουν πρόσβαση στην πιο πρόσφατη κατάσταση του καναλιού.
+
+Αν και είναι λογικό να περιμένουμε ότι οι χρήστες του καναλιού θα αποθηκεύουν αντίγραφα της κατάστασης της εφαρμογής εκτός αλυσίδας, αυτά τα δεδομένα ενδέχεται να χαθούν λόγω σφάλματος ή μηχανικής βλάβης. Αν ο χρήστης δεν έχει αντίγραφο ασφαλείας των δεδομένων, μπορεί μόνο να ελπίζει ότι το άλλο μέρος δε θα ολοκληρώσει ένα άκυρο αίτημα εξόδου χρησιμοποιώντας παλιές μεταβάσεις κατάστασης που βρίσκονται στην κατοχή του.
+
+Οι χρήστες του Ethereum δεν έχουν αυτό το πρόβλημα, καθώς το δίκτυο επιβάλλει κανόνες σχετικά με τη διαθεσιμότητα δεδομένων. Τα δεδομένα συναλλαγών αποθηκεύονται και διαδίδονται από όλους τους κόμβους και είναι διαθέσιμα στους χρήστες για λήψη, εάν και όταν είναι απαραίτητο.
+
+### Ζητήματα ρευστότητας {#liquidity-issues}
+
+Για να δημιουργηθεί ένα κανάλι blockchain, οι συμμετέχοντες πρέπει να κλειδώσουν κεφάλαια σε ένα έξυπνο συμβόλαιο στην αλυσίδα για τον κύκλο ζωής του καναλιού. Αυτό μειώνει τη ρευστότητα των χρηστών του καναλιού και επίσης περιορίζει τα κανάλια σε εκείνους που μπορούν να αντέξουν οικονομικά να κρατήσουν κεφάλαια κλειδωμένα στο Mainnet.
+
+Ωστόσο, τα κανάλια λογιστικού βιβλίου, που λειτουργούν από έναν παροχέα υπηρεσιών εκτός αλυσίδας (OSP), μπορούν να μειώσουν τα προβλήματα ρευστότητας για τους χρήστες. Δύο ομότιμοι χρήστες που είναι συνδεδεμένοι σε ένα κανάλι λογιστικού βιβλίου μπορούν να δημιουργήσουν ένα εικονικό κανάλι, το οποίο μπορούν να ανοίξουν και να ολοκληρώσουν εντελώς εκτός αλυσίδας, όποτε θέλουν.
+
+Οι παροχείς υπηρεσιών εκτός αλυσίδας θα μπορούσαν επίσης να ανοίξουν κανάλια με πολλούς ομότιμους, καθιστώντας τα χρήσιμα για τη δρομολόγηση πληρωμών. Φυσικά, οι χρήστες πρέπει να πληρώνουν τέλη στους OSPs για τις υπηρεσίες τους, κάτι που μπορεί να είναι ανεπιθύμητο για ορισμένους.
+
+### Griefing attacks {#griefing-attacks}
+
+Οι επιθέσεις griefing είναι ένα κοινό χαρακτηριστικό των συστημάτων που βασίζονται σε απόδειξη απάτης. Μια επίθεση griefing δεν ωφελεί άμεσα τον επιτιθέμενο αλλά προκαλεί θλίψη (δηλαδή βλάβη) στο θύμα, εξ ου και το όνομα.
+
+Η απόδειξη απάτης είναι ευάλωτη σε επιθέσεις griefing επειδή το έντιμο μέρος πρέπει να ανταποκριθεί σε κάθε διαφωνία, ακόμα και σε άκυρες, ή να διακινδυνεύσει να χάσει τα κεφάλαιά του. Ένας κακόβουλος συμμετέχοντας μπορεί να αποφασίσει να δημοσιεύσει επανειλημμένα παλιές μεταβάσεις κατάστασης στην αλυσίδα, αναγκάζοντας το έντιμο μέρος να απαντήσει με την έγκυρη κατάσταση. Το κόστος αυτών των συναλλαγών στην αλυσίδα μπορεί να αυξηθεί γρήγορα, προκαλώντας απώλειες στα έντιμα μέρη στη διαδικασία.
+
+### Προκαθορισμένα σύνολα συμμετεχόντων {#predefined-participant-sets}
+
+Εκ σχεδιασμού, ο αριθμός των συμμετεχόντων που αποτελούν ένα κανάλι κατάστασης παραμένει σταθερός καθ' όλη τη διάρκεια ζωής του. Αυτό συμβαίνει επειδή η ενημέρωση του συνόλου των συμμετεχόντων θα περιέπλεκε τη λειτουργία του καναλιού, ειδικά κατά τη χρηματοδότηση του καναλιού, ή την επίλυση διαφορών. Η προσθήκη ή η αφαίρεση συμμετεχόντων θα απαιτούσε επίσης πρόσθετη δραστηριότητα εντός της αλυσίδας, η οποία αυξάνει τα γενικά έξοδα για τους χρήστες.
+
+Αν και αυτό κάνει τα κανάλια κατάστασης ευκολότερο να συλλογιστούν, περιορίζει τη χρησιμότητα των καναλιών σχεδίων στους προγραμματιστές εφαρμογών. Αυτό εξηγεί εν μέρει γιατί τα κανάλια κατάστασης έχουν εγκαταλειφθεί υπέρ άλλων λύσεων κλιμάκωσης, όπως τα rollups.
+
+### Παράλληλη επεξεργασία συναλλαγών {#parallel-transaction-processing}
+
+Οι συμμετέχοντες στο κανάλι κατάστασης στέλνουν ενημερώσεις κατάστασης με τη σειρά τους, γι' αυτό λειτουργούν καλύτερα για "εφαρμογές βασισμένες σε περιστροφές" (π.χ. ένα παιχνίδι σκάκι δύο παικτών). Αυτό εξαλείφει την ανάγκη να χειριστείτε ταυτόχρονες ενημερώσεις κατάστασης και μειώνει τη δουλειά που πρέπει να κάνει το συμβόλαιο στην αλυσίδα για να τιμωρήσει τους δημοσιευτές παλιών ενημερώσεων. Ωστόσο, μια παρενέργεια αυτού του σχεδιασμού είναι ότι οι συναλλαγές εξαρτώνται η μία από την άλλη, αυξάνοντας την καθυστέρηση και μειώνοντας τη συνολική εμπειρία χρήστη.
+
+Μερικά κανάλια κατάστασης επιλύουν αυτό το πρόβλημα χρησιμοποιώντας ένα σχεδιασμό "full-duplex" που χωρίζει την κατάσταση εκτός αλυσίδας σε δύο μονόδρομες καταστάσεις "simplex", επιτρέποντας ταυτόχρονες ενημερώσεις κατάστασης. Τέτοια σχέδια βελτιώνουν την απόδοση εκτός αλυσίδας και μειώνουν τις καθυστερήσεις συναλλαγών.
+
+## Χρήση καναλιών κατάστασης {#use-state-channels}
+
+Πολλά έργα παρέχουν υλοποιήσεις καταστάσεων καναλιών που μπορείτε να ενσωματώσετε στα dapps σας:
+
+- [Connext](https://connext.network/)
+- [Kchannels](https://www.kchannels.io/)
+- [Perun](https://perun.network/)
+- [Raiden](https://raiden.network/)
+- [Statechannels.org](https://statechannels.org/)
+
+## Περαιτέρω υλικό για διάβασμα {#further-reading}
+
+**Κανάλια κατάστασης**
+
+- [Λύσεις κλιμάκωσης του επιπέδου 2 του Ethereum: Κανάλια κατάστασης, Plasma και Truebit](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4) _– Josh Stark, 12 Φεβ 2018_
+- [Κανάλια κατάστασης - εξήγηση](https://www.jeffcoleman.ca/state-channels/) _6 Νοε 2015 - Jeff Coleman_
+- [Βασικά στοιχεία καναλιών κατάστασης](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/) _District0x_
+- [Κανάλια κατάστασης κρυπτοαλυσίδας: Μια κατάσταση της τέχνης](https://ieeexplore.ieee.org/document/9627997)
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/scaling/validium/index.md b/public/content/translations/el/developers/docs/scaling/validium/index.md
new file mode 100644
index 00000000000..c23521f5940
--- /dev/null
+++ b/public/content/translations/el/developers/docs/scaling/validium/index.md
@@ -0,0 +1,166 @@
+---
+title: Validium
+description: Μια εισαγωγή στο Validium ως λύση κλιμάκωσης που χρησιμοποιείται επί του παρόντος από την κοινότητα του Ethereum.
+lang: el
+sidebarDepth: 3
+---
+
+Το Validium είναι μια [λύση κλιμάκωσης](/developers/docs/scaling/) που επιβάλλει την ακεραιότητα των συναλλαγών χρησιμοποιώντας αποδείξεις εγκυρότητας όπως τα [ZK-rollups](/developers/docs/scaling/zk-rollups/), αλλά δεν αποθηκεύει δεδομένα συναλλαγών στο Ethereum Mainnet. Ενώ η διαθεσιμότητα δεδομένων εκτός αλυσίδας εισάγει συμβιβασμούς, μπορεί να οδηγήσει σε τεράστιες βελτιώσεις στην επεκτασιμότητα (τα validium μπορούν να επεξεργαστούν [~9.000 συναλλαγές ή περισσότερες, ανά δευτερόλεπτο](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)).
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα έπρεπε να έχετε διαβάσει και κατανοήσει τη σελίδα μας για την [Κλιμάκωση Ethereum](/developers/docs/scaling/) και το [Επίπεδο 2](/layer-2).
+
+## Τι είναι το validium; {#what-is-validium}
+
+Τα Validium είναι λύσεις κλιμάκωσης που χρησιμοποιούν διαθεσιμότητα δεδομένων εκτός αλυσίδας και υπολογισμούς που έχουν σχεδιαστεί για τη βελτίωση της απόδοσης μέσω της επεξεργασίας συναλλαγών εκτός του Ethereum Mainnet. Όπως τα πακέτα ενημέρωσης μηδενικής γνώσης (ZK-rollups), τα validium δημοσιεύουν [αποδείξεις μηδενικής γνώσης](/glossary/#zk-proof) για να επαληθεύσουν τις συναλλαγές εκτός αλυσίδας στο Ethereum. Αυτό αποτρέπει τις μεταβάσεις μη έγκυρης κατάστασης και ενισχύει τις εγγυήσεις ασφαλείας μιας αλυσίδας validium.
+
+Αυτές οι "αποδείξεις εγκυρότητας" μπορούν να έχουν τη μορφή ZK-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) ή ZK-STARK (Zero-Knowledge Scalable Transparent ARgument of Knowledge). Περισσότερα για τις [αποδείξεις μηδενικής γνώσης](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/).
+
+Το κεφάλαιο που ανήκει σε χρήστες validium ελέγχεται από ένα έξυπνο συμβόλαιο στο Ethereum. Τα Validium προσφέρουν σχεδόν στιγμιαίες αναλήψεις, όπως κάνουν τα ZK-rollups, μόλις επαληθευτεί η απόδειξη εγκυρότητας για ένα αίτημα ανάληψης στο Κεντρικό δίκτυο. Οι χρήστες μπορούν να κάνουν ανάληψη χρημάτων παρέχοντας [αποδείξεις Merkle](/developers/tutorials/merkle-proofs-for-offline-data-integrity/). Η απόδειξη Merkle επικυρώνει τη συμπερίληψη της συναλλαγής απόσυρσης του χρήστη σε μια επαληθευμένη παρτίδα συναλλαγών, επιτρέποντας στο συμβόλαιο στην αλυσίδα να επεξεργαστεί την ανάληψη.
+
+Ωστόσο, οι χρήστες του validium μπορούν να παγώσουν τα χρήματά τους και να περιοριστούν οι αναλήψεις. Αυτό μπορεί να συμβεί εάν οι διαχειριστές διαθεσιμότητας δεδομένων στην αλυσίδα validium διατηρούν δεδομένα κατάστασης εκτός αλυσίδας από τους χρήστες. Χωρίς πρόσβαση στα δεδομένα συναλλαγών, οι χρήστες δεν μπορούν να υπολογίσουν την απόδειξη Merkle που απαιτείται για την απόδειξη της ιδιοκτησίας κεφαλαίων και την εκτέλεση αναλήψεων.
+
+Αυτή είναι η κύρια διαφορά μεταξύ validiums και ZK-rollups για τις θέσεις τους στο φάσμα διαθεσιμότητας δεδομένων. Και οι δύο λύσεις προσεγγίζουν την αποθήκευση δεδομένων με διαφορετικό τρόπο, γεγονός που έχει επιπτώσεις στην ασφάλεια και την αξιοπιστία.
+
+## Πώς αλληλεπιδρούν τα validiums με το Ethereum; {#how-do-validiums-interact-with-ethereum}
+
+Τα Validium είναι πρωτόκολλα κλιμάκωσης που έχουν δημιουργηθεί πάνω από την υπάρχουσα αλυσίδα Ethereum. Αν και εκτελεί συναλλαγές εκτός αλυσίδας, μια αλυσίδα validium διαχειρίζεται από μια συλλογή έξυπνων συμβολαίων που είναι αναπτυγμένες στο Mainnet, συμπεριλαμβανομένων:
+
+1. **Συμβόλαιο επαληθευτή**: Το συμβόλαιο επαληθευτή επαληθεύει την εγκυρότητα των αποδείξεων που υποβάλλονται από τον χειριστή του validium κατά την πραγματοποίηση ενημερώσεων κατάστασης. Αυτό περιλαμβάνει αποδείξεις εγκυρότητας που πιστοποιούν την ορθότητα των συναλλαγών εκτός αλυσίδας και διαθεσιμότητας δεδομένων που επαληθεύουν την ύπαρξη των δεδομένων συναλλαγών εκτός αλυσίδας.
+
+2. **Κύριο συμβόλαιο**: Το κύριο συμβόλαιο αποθηκεύει δεσμεύσεις κατάστασης (Merkle roots) που υποβάλλονται από παραγωγούς μπλοκ και ενημερώνει την κατάσταση του validium μόλις επαληθευτεί μια απόδειξη εγκυρότητας στην αλυσίδα. Αυτό το συμβόλαιο επεξεργάζεται επίσης καταθέσεις και αναλήψεις από την αλυσίδα validium.
+
+Τα Validium βασίζονται επίσης στην κύρια αλυσίδα του Ethereum για τα ακόλουθα:
+
+### Διακανονισμός {#settlement}
+
+Οι συναλλαγές που εκτελούνται σε ένα validium δεν μπορούν να επιβεβαιωθούν πλήρως μέχρι η μητρική αλυσίδα να επαληθεύσει την εγκυρότητά τους. Όλες οι εργασίες που διεξάγονται σε ένα validium πρέπει τελικά να διευθετηθούν στο Κεντρικό Δίκτυο. Το blockchain Ethereum παρέχει επίσης «εγγυήσεις διακανονισμού» για τους χρήστες του validium, που σημαίνει ότι οι συναλλαγές εκτός αλυσίδας δεν μπορούν να αντιστραφούν ή να τροποποιηθούν αφού δεσμευτούν στην αλυσίδα.
+
+### Ασφάλεια {#security}
+
+Το Ethereum, που λειτουργεί ως επίπεδο διακανονισμού, εγγυάται επίσης την εγκυρότητα των μεταβάσεων κατάστασης στο validium. Οι συναλλαγές εκτός αλυσίδας που εκτελούνται στην αλυσίδα validium επαληθεύονται μέσω ενός έξυπνου συμβολαίου στο βασικό επίπεδο Ethereum.
+
+Εάν ο επαληθευτής συμβολαίου στην αλυσίδα κρίνει ότι η απόδειξη δεν είναι έγκυρη, οι συναλλαγές απορρίπτονται. Αυτό σημαίνει ότι οι χειριστές πρέπει να πληρούν τις προϋποθέσεις εγκυρότητας που επιβάλλονται από το πρωτόκολλο Ethereum πριν από την ενημέρωση της κατάστασης του validium.
+
+## Πώς λειτουργεί το validium; {#how-does-validium-work}
+
+### Συναλλαγές {#transactions}
+
+Οι χρήστες υποβάλλουν συναλλαγές στον χειριστή, έναν κόμβο που είναι υπεύθυνος για την εκτέλεση συναλλαγών στην αλυσίδα validium. Ορισμένα validium μπορεί να χρησιμοποιούν έναν μοναδικό χειριστή για την εκτέλεση της αλυσίδας ή να βασίζονται σε μηχανισμό [απόδειξης συμμετοχής (PoS)](/developers/docs/consensus-mechanisms/pos/) για την εναλλαγή χειριστών.
+
+Ο χειριστής συσσωρεύει τις συναλλαγές σε μια παρτίδα και τις στέλνει σε ένα κύκλωμα απόδειξης για να αποδειχθούν. Το κύκλωμα απόδειξης δέχεται την παρτίδα συναλλαγών (και άλλα σχετικά δεδομένα) ως εισόδους και εξόδους της απόδειξης εγκυρότητας που επαληθεύει ότι οι λειτουργίες εκτελέστηκαν σωστά.
+
+### Δεσμεύσεις κατάστασης {#state-commitments}
+
+Η κατάσταση του validium γίνεται hashed ως δέντρο Merkle με τη ρίζα να είναι αποθηκευμένη στο κύριο συμβόλαιο στο Ethereum. Η ρίζα Merkle, γνωστή και ως ρίζα κατάστασης, ενεργεί ως κρυπτογραφική δέσμευση για την τρέχουσα κατάσταση των λογαριασμών και των υπολοίπων στο validium.
+
+Για να εκτελέσει μια ενημέρωση κατάστασης, ο χειριστής πρέπει να υπολογίσει μια νέα ρίζα κατάστασης (μετά την εκτέλεση συναλλαγών) και να την υποβάλει στο συμβόλαιο στην αλυσίδα. Εάν η απόδειξη εγκυρότητας είναι εντάξει, η προτεινόμενη κατάσταση γίνεται αποδεκτή και το validium μεταβαίνει στη νέα ρίζα κατάστασης.
+
+### Καταθέσεις και αναλήψεις {#deposits-and-withdrawals}
+
+Οι χρήστες μετακινούν χρήματα από το Ethereum σε ένα validium καταθέτοντας ETH (ή οποιοδήποτε token συμβατό με ERC) στο συμβόλαιο στην αλυσίδα. Το συμβόλαιο μεταδίδει το συμβάν κατάθεσης στο validium εκτός αλυσίδας, όπου η διεύθυνση του χρήστη πιστώνεται με ένα ποσό ίσο με την κατάθεσή του. Ο χειριστής περιλαμβάνει επίσης αυτή τη συναλλαγή κατάθεσης σε νέα παρτίδα.
+
+Για να μετακινήσετε χρήματα πίσω στο Κεντρικό Δίκτυο, ένας χρήστης validium ξεκινά μια συναλλαγή ανάληψης και την υποβάλλει στον χειριστή που επικυρώνει το αίτημα ανάληψης και το περιλαμβάνει σε μια παρτίδα. Τα περιουσιακά στοιχεία του χρήστη στην αλυσίδα validium επίσης καταστρέφονται πριν μπορέσουν να εξέλθουν από το σύστημα. Μόλις επαληθευτεί η απόδειξη εγκυρότητας που σχετίζεται με την παρτίδα, ο χρήστης μπορεί να καλέσει το κύριο συμβόλαιο για να κάνει ανάληψη του ποσού που απομένει από την αρχική κατάθεσή του.
+
+Ως μηχανισμός κατά της λογοκρισίας, το πρωτόκολλο validium επιτρέπει στους χρήστες να κάνουν ανάληψη απευθείας από το συμβόλαιο validium χωρίς να περάσουν μέσω του χειριστή. Σε αυτή την περίπτωση, οι χρήστες πρέπει να παράσχουν μια απόδειξη Merkle στο συμβόλαιο επαληθευτή που δείχνει τη συμπερίληψη ενός λογαριασμού στην κατάσταση ρίζας. Εάν η απόδειξη γίνει αποδεκτή, ο χρήστης μπορεί να καλέσει τη συνάρτηση ανάληψης του κύριου συμβολαίου για να βγάλει τα χρήματά του από το validium.
+
+### Υποβολή παρτίδας {#batch-submission}
+
+Μετά την εκτέλεση μιας παρτίδας συναλλαγών, ο χειριστής υποβάλλει τη σχετική απόδειξη εγκυρότητας στο συμβόλαιο του επαληθευτή και προτείνει μια νέα ρίζα κατάστασης στο κύριο συμβόλαιο. Εάν η απόδειξη είναι έγκυρη, το κύριο συμβόλαιο ενημερώνει την κατάσταση του validium και οριστικοποιεί τα αποτελέσματα των συναλλαγών στην παρτίδα.
+
+Σε αντίθεση με ένα ZK rollup, δεν απαιτείται από τους παραγωγούς μπλοκ σε ένα validium να δημοσιεύουν δεδομένα συναλλαγών για παρτίδες συναλλαγών (μόνο κεφαλίδες μπλοκ). Αυτό κάνει το validium ένα καθαρό πρωτόκολλο κλιμάκωσης εκτός αλυσίδας, σε αντίθεση με τα "υβριδικά" πρωτόκολλα κλιμάκωσης (όπως τα, [layer 2](/layer-2/)) που δημοσιεύουν δεδομένα κατάστασης στην κύρια αλυσίδα Ethereum ως `calldata`.
+
+### Διαθεσιμότητα δεδομένων {#data-availability}
+
+Όπως αναφέρθηκε, τα validiums χρησιμοποιούν ένα μοντέλο διαθεσιμότητας δεδομένων εκτός αλυσίδας, όπου οι χειριστές αποθηκεύουν όλα τα δεδομένα συναλλαγών εκτός του Ethereum Mainnet. Το χαμηλό αποτύπωμα δεδομένων στην αλυσίδα του Validium βελτιώνει την κλιμάκωση (η απόδοση δεν περιορίζεται από την ικανότητα επεξεργασίας δεδομένων του Ethereum) και μειώνει τα τέλη χρήστη (το κόστος δημοσίευσης `calldata` είναι χαμηλότερο).
+
+Ωστόσο, η διαθεσιμότητα δεδομένων εκτός αλυσίδας παρουσιάζει ένα πρόβλημα: τα δεδομένα που είναι απαραίτητα για τη δημιουργία ή την επαλήθευση των αποδείξεων Merkle ενδέχεται να μην είναι διαθέσιμα. Αυτό σημαίνει ότι οι χρήστες ενδέχεται να μην μπορούν να κάνουν ανάληψη κεφαλαίων από το συμβόλαιο στην αλυσίδα, εάν οι χειριστές ενεργήσουν κακόβουλα.
+
+Διάφορες λύσεις validium προσπαθούν να λύσουν αυτό το πρόβλημα αποκεντρώνοντας την αποθήκευση των δεδομένων κατάστασης. Αυτό περιλαμβάνει τον εξαναγκασμό των παραγωγών μπλοκ να στείλουν τα υποκείμενα δεδομένα σε "διαχειριστές διαθεσιμότητας δεδομένων" που είναι υπεύθυνοι για την αποθήκευση δεδομένων εκτός αλυσίδας και καθιστώντας τα διαθέσιμα στους χρήστες κατόπιν αιτήματος.
+
+Οι διαχειριστές διαθεσιμότητας δεδομένων στο validium βεβαιώνουν τη διαθεσιμότητα δεδομένων για συναλλαγές εκτός αλυσίδας υπογράφοντας κάθε παρτίδα validium. Αυτές οι υπογραφές αποτελούν μια μορφή "απόδειξης διαθεσιμότητας" την οποία ελέγχει το συμβόλαιο επαληθευτή στην αλυσίδα πριν εγκρίνει τις ενημερώσεις κατάστασης.
+
+Τα Validium διαφέρουν ως προς την προσέγγισή τους για τη διαχείριση διαθεσιμότητας δεδομένων. Ορισμένοι βασίζονται σε αξιόπιστα μέλη για την αποθήκευση δεδομένων κατάστασης, ενώ άλλοι χρησιμοποιούν τυχαία εκχωρημένους επικυρωτές για την εργασία.
+
+#### Επιτροπή διαθεσιμότητας δεδομένων (DAC) {#data-availability-committee}
+
+Για να εγγυηθούν τη διαθεσιμότητα δεδομένων εκτός αλυσίδας, ορισμένες λύσεις validium διορίζουν μια ομάδα αξιόπιστων οντοτήτων, συλλογικά γνωστές ως επιτροπή διαθεσιμότητας δεδομένων (DAC), για να αποθηκεύουν αντίγραφα της κατάστασης και να παρέχουν απόδειξη διαθεσιμότητας δεδομένων. Η υλοποίηση των DAC είναι ευκολότερη και απαιτείται λιγότερος συντονισμός, καθώς τα μέλη είναι λίγα.
+
+Ωστόσο, οι χρήστες πρέπει να εμπιστεύονται την DAC ότι θα κάνει τα δεδομένα διαθέσιμα όταν χρειάζεται (π.χ. για τη δημιουργία αποδείξεων Merkle). Υπάρχει η πιθανότητα τα μέλη των επιτροπών διαθεσιμότητας δεδομένων [να παραβιαστούν από έναν κακόβουλο παράγοντα](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view) ο οποίος μπορεί στη συνέχεια να αποκρύψει δεδομένα εκτός αλυσίδας.
+
+[Περισσότερα σχετικά με τις επιτροπές διαθεσιμότητας δεδομένων σε validium](https://medium.com/starkware/data-availability-e5564c416424).
+
+#### Διαθεσιμότητα δεσμευμένων δεδομένων {#bonded-data-availability}
+
+Άλλα validium απαιτούν από τους συμμετέχοντες που είναι επιφορτισμένοι με την αποθήκευση δεδομένων εκτός σύνδεσης να αποθηκεύσουν (δηλαδή να κλειδώσουν) token σε ένα έξυπνο συμβόλαιο πριν αναλάβουν τους ρόλους τους. Αυτή η αποθήκευση κεφαλαίου χρησιμεύει ως «δεσμός» για να εγγυηθεί την ειλικρινή συμπεριφορά μεταξύ των διαχειριστών διαθεσιμότητας δεδομένων και μειώνει τις υποθέσεις εμπιστοσύνης. Εάν αυτοί οι συμμετέχοντες αποτύχουν να αποδείξουν τη διαθεσιμότητα των δεδομένων, ο δεσμός περικόπτεται.
+
+Σε ένα σύστημα διαθεσιμότητας δεσμευμένων δεδομένων, μπορεί να ανατεθεί σε οποιονδήποτε να κρατήσει δεδομένα εκτός αλυσίδας μόλις παρέχει την απαιτούμενη αποθήκευση. Αυτό διευρύνει το pool των επιλέξιμων διαχειριστών διαθεσιμότητας δεδομένων, μειώνοντας τον συγκεντρωτισμό που επηρεάζει τις επιτροπές διαθεσιμότητας δεδομένων (DAC). Το πιο σημαντικό είναι ότι αυτή η προσέγγιση βασίζεται σε κρυπτοοικονομικά κίνητρα για την αποτροπή κακόβουλης δραστηριότητας, η οποία είναι πολύ πιο ασφαλής από τον διορισμό αξιόπιστων μερών για την ασφάλιση δεδομένων εκτός σύνδεσης στο validium.
+
+[Περισσότερα σχετικά με τη διαθεσιμότητα δεσμευμένων δεδομένων στα validiums](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf).
+
+## Volitions και validium {#volitions-and-validium}
+
+Τα validium προσφέρουν πολλά οφέλη, αλλά συνοδεύονται από συμβιβασμούς (κυρίως, διαθεσιμότητα δεδομένων). Όμως, όπως συμβαίνει με πολλές λύσεις κλιμάκωσης, τα validium είναι κατάλληλα για συγκεκριμένες περιπτώσεις χρήσης — και γι' αυτό δημιουργήθηκαν τα volition.
+
+Τα volition συνδυάζουν μια αλυσίδα ZK rollup και validium και επιτρέπουν στους χρήστες να κάνουν εναλλαγές μεταξύ των δύο λύσεων κλιμάκωσης. Με τα volitions, οι χρήστες μπορούν να επωφεληθούν από τη διαθεσιμότητα δεδομένων εκτός αλυσίδας του validium για ορισμένες συναλλαγές, διατηρώντας παράλληλα την ελευθερία να μεταβούν σε μια λύση διαθεσιμότητας δεδομένων εκτός αλυσίδας (ZK-rollup) εάν χρειάζονταν. Αυτό ουσιαστικά δίνει στους χρήστες την ελευθερία να επιλέγουν συμβιβασμούς όπως υπαγορεύονται από τις ιδιαίτερες συνθήκες τους.
+
+Ένα αποκεντρωμένο ανταλλακτήριο (DEX) μπορεί να προτιμά τη χρήση της επεκτάσιμης και ιδιωτικής υποδομής ενός validium για συναλλαγές υψηλής αξίας. Μπορεί επίσης να χρησιμοποιήσει ένα ZK-rollup για χρήστες που επιθυμούν υψηλότερες εγγυήσεις ασφάλειας και αξιοπιστίας ενός ZK-rollup.
+
+## Validium και συμβατότητα EVM {#validiums-and-evm-compatibility}
+
+Όπως και τα ZK-rollup, τα validium ταιριάζουν κυρίως σε απλές εφαρμογές, όπως ανταλλαγές token και πληρωμές. Η υποστήριξη γενικού υπολογισμού και εκτέλεσης έξυπνων συμβολαίων μεταξύ των validium είναι δύσκολο να εφαρμοστεί, δεδομένου του σημαντικού κόστους απόδειξης εντολών [EVM](/developers/docs/evm/) σε ένα κύκλωμα απόδειξης μηδενικής γνώσης.
+
+Ορισμένα έργα validium προσπαθούν να παρακάμψουν αυτό το πρόβλημα με τη μεταγλώττιση γλωσσών συμβατών με EVM (π.χ. Solidity, Vyper) για τη δημιουργία προσαρμοσμένου bytecode βελτιστοποιημένου για αποτελεσματική απόδειξη. Ένα μειονέκτημα αυτής της προσέγγισης είναι ότι νέα VM φιλικά προς τις αποδείξεις μηδενικής γνώσης μπορεί να μην υποστηρίζουν σημαντικούς opcode EVM και ότι οι προγραμματιστές πρέπει να γράφουν απευθείας στη γλώσσα υψηλού επιπέδου για μια βέλτιστη εμπειρία. Αυτό δημιουργεί ακόμη περισσότερα προβλήματα: αναγκάζει τους προγραμματιστές να δημιουργήσουν dapp με μια εντελώς νέα στοίβα ανάπτυξης και διακόπτει τη συμβατότητα με την τρέχουσα υποδομή Ethereum.
+
+Ορισμένες ομάδες, ωστόσο, προσπαθούν να βελτιστοποιήσουν τους υπάρχοντες opcode EVM για κυκλώματα απόδειξης ZK. Αυτό θα οδηγήσει στην ανάπτυξη ενός εικονικού μηχανήματος του Ethereum μηδενικής γνώσης (zkEVM), μιας EVM-συμβατής VM που παράγει αποδείξεις για την επαλήθευση της ορθότητας της εκτέλεσης του προγράμματος. Με ένα zkEVM, οι αλυσίδες validium μπορούν να εκτελούν έξυπνα συμβόλαια εκτός αλυσίδας και να υποβάλλουν αποδείξεις εγκυρότητας για να επαληθεύσουν έναν υπολογισμό εκτός αλυσίδας (χωρίς να χρειάζεται να τον εκτελέσουν ξανά) στο Ethereum.
+
+[Περισσότερα για τα zkEVM](https://www.alchemy.com/overviews/zkevm).
+
+## Πώς τα validium πετυχαίνουν την επέκταση του Ethereum; {#scaling-ethereum-with-validiums}
+
+### 1. Αποθηκευτικός χώρος δεδομένων εκτός αλυσίδας {#offchain-data-storage}
+
+Τα έργα κλιμάκωσης επιπέδου 2, όπως τα optimistic rollups και τα ZK-rollups, ανταλλάσσουν την άπειρη επεκτασιμότητα των αγνών εκτός αλυσίδας πρωτοκόλλων κλιμάκωσης (π.χ. [Plasma](/developers/docs/scaling/plasma/)) για ασφάλεια δημοσιεύοντας ορισμένα δεδομένα συναλλαγών στο L1. Αυτό όμως σημαίνει ότι οι ιδιότητες επεκτασιμότητας των rollup περιορίζονται από το εύρος ζώνης δεδομένων στο Κεντρικό Δίκτυο του Ethereum [το [data sharding (θραυσματοποίηση δεδομένων)](/roadmap/danksharding/) προτείνει τη βελτίωση της χωρητικότητας αποθήκευσης δεδομένων του Ethereum για αυτόν τον λόγο].
+
+Τα validium επιτυγχάνουν επεκτασιμότητα διατηρώντας όλα τα δεδομένα συναλλαγών εκτός αλυσίδας και δημοσιεύουν δεσμεύσεις κατάστασης μόνο (και αποδείξεις εγκυρότητας) όταν αναμεταδίδουν ενημερώσεις κατάστασης στην κύρια αλυσίδα Ethereum. Η ύπαρξη αποδείξεων εγκυρότητας, ωστόσο, παρέχει στα validium υψηλότερες εγγυήσεις ασφάλειας από άλλες αγνές λύσεις κλιμάκωσης εκτός αλυσίδας, συμπεριλαμβανομένων των Plasma και [sidechains](/developers/docs/scaling/sidechains/). Με τη μείωση του όγκου των δεδομένων που πρέπει να επεξεργάζεται το Ethereum πριν από την επικύρωση συναλλαγών εκτός αλυσίδας, οι σχεδιασμοί του validium επεκτείνουν σημαντικά την απόδοση στο Κεντρικό Δίκτυο.
+
+### 2. Αναδρομικές αποδείξεις {#recursive-proofs}
+
+Μια αναδρομική απόδειξη είναι μια απόδειξη εγκυρότητας που επαληθεύει την εγκυρότητα άλλων αποδείξεων. Αυτές οι «αποδείξεις αποδείξεων» δημιουργούνται με την αναδρομική συσσώρευση πολλαπλών αποδείξεων μέχρι να δημιουργηθεί μία τελική απόδειξη που επαληθεύει όλες τις προηγούμενες αποδείξεις. Οι αναδρομικές αποδείξεις κλιμακώνουν τις ταχύτητες επεξεργασίας του blockchain αυξάνοντας τον αριθμό των συναλλαγών που μπορούν να επαληθευτούν ανά απόδειξη εγκυρότητας.
+
+Συνήθως, κάθε απόδειξη εγκυρότητας που υποβάλλει προς επαλήθευση ο χειριστής του validium στο Ethereum επικυρώνει την ακεραιότητα ενός μεμονωμένου μπλοκ. Αντιθέτως, μια μεμονωμένη αναδρομική απόδειξη μπορεί να χρησιμοποιηθεί για να επιβεβαιώσει την εγκυρότητα πολλών μπλοκ validium ταυτόχρονα — αυτό είναι δυνατό αφού το κύκλωμα απόδειξης μπορεί αναδρομικά να συγκεντρώσει αρκετές αποδείξεις μπλοκ σε μία τελική απόδειξη. Εάν το συμβόλαιο επαλήθευσης στην αλυσίδα αποδέχεται την αναδρομική απόδειξη, όλα τα υποκείμενα μπλοκ οριστικοποιούνται αμέσως.
+
+## Πλεονεκτήματα και μειονεκτήματα των validium {#pros-and-cons-of-validium}
+
+| Πλεονεκτήματα | Μειονεκτήματα |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Οι αποδείξεις εγκυρότητας επιβάλλουν την ακεραιότητα των συναλλαγών εκτός αλυσίδας και εμποδίζουν τους χειριστές να οριστικοποιήσουν τις ενημερώσεις μη έγκυρης κατάστασης. | Η παραγωγή αποδείξεων εγκυρότητας απαιτεί ειδικό υλικό, το οποίο ενέχει κίνδυνο κεντρικής διαχείρισης. |
+| Αυξάνει την κεφαλαιακή απόδοση για τους χρήστες (δίχως καθυστερήσεις στην ανάληψη κεφαλαίων πίσω στο Ethereum) | Περιορισμένη υποστήριξη για γενικό υπολογισμό/έξυπνα συμβόλαια. Απαιτούνται εξειδικευμένες γλώσσες για την ανάπτυξη. |
+| Δεν είναι ευάλωτο σε ορισμένες οικονομικές επιθέσεις που αντιμετωπίζουν συστήματα ανθεκτικά στην απάτη μέσα σε εφαρμογές υψηλής αξίας. | Υψηλή υπολογιστική ισχύς που απαιτείται για τη δημιουργία αποδείξεων ZK. Δεν είναι οικονομικά αποδοτικό για εφαρμογές χαμηλής απόδοσης. |
+| Μειώνει τα τέλη gas για τους χρήστες μέσω της μη δημοσίευσης calldata στο Κεντρικό Δίκτυο Ethereum. | Πιο αργός υποκειμενικός χρόνος οριστικότητα (10-30 λεπτά για τη δημιουργία απόδειξης ZK), αλλά ταχύτερη απόκριση έως την πλήρη οριστικότητα επειδή δεν υπάρχει καθυστέρηση για λόγους αμφισβήτησης. |
+| Κατάλληλο για συγκεκριμένες περιπτώσεις χρήσης, όπως οι συναλλαγές ή τα παιχνίδια blockchain που δίνουν προτεραιότητα στη μυστικότητα των συναλλαγών και την επεκτασιμότητα. | Οι χρήστες μπορούν να αποτραπούν από την ανάληψη χρημάτων, καθώς η δημιουργία αποδεικτικών ιδιοκτησίας της Merkle απαιτεί τα δεδομένα εκτός αλυσίδας να είναι διαθέσιμα ανά πάσα στιγμή. |
+| Η διαθεσιμότητα δεδομένων εκτός αλυσίδας παρέχει υψηλότερα επίπεδα απόδοσης και αυξάνει την κλιμάκωση. | Το μοντέλο ασφαλείας βασίζεται σε υποθέσεις εμπιστοσύνης και κρυπτοοικονομικά κίνητρα, σε αντίθεση με τα ZK-rollup, τα οποία βασίζονται καθαρά σε κρυπτογραφικούς μηχανισμούς ασφάλειας. |
+
+### Χρήση Validium/Volitions {#use-validium-and-volitions}
+
+Υπάρχουν πολλά έργα που παρέχουν υλοποιήσεις Validium και volition τις οποίες μπορείτε να ενσωματώσετε στις dapp σας:
+
+**StarkWare StarkEx** - _Το StarkEx είναι μια λύση επεκτασιμότητας Ethereum Επίπεδου 2 (L2) που βασίζεται σε αποδείξεις εγκυρότητας. Μπορεί να λειτουργήσει είτε σε λειτουργίες διαθεσιμότητας δεδομένων ZK-Rollup είτε Validium._
+
+- [Τεκμηρίωση](https://docs.starkware.co/starkex-v4/starkex-deep-dive/data-availability-modes#validium)
+- [Ιστότοπος](https://starkware.co/starkex/)
+
+**Matter Labs zkPorter**- _Το zkPorter είναι ένα πρωτόκολλο κλιμάκωσης επιπέδου 2 που αντιμετωπίζει τη διαθεσιμότητα δεδομένων με μια υβριδική προσέγγιση που συνδυάζει τις ιδέες του zkRollup και της θραυσματοποίησης (sharding). Μπορεί να υποστηρίξει αυθαίρετα πολλά τμήματα, το καθένα με τη δική του πολιτική διαθεσιμότητας δεδομένων._
+
+- [Ιστολόγιο](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
+- [Τεκμηρίωση](https://docs.zksync.io/zk-stack/concepts/data-availability)
+- [Ιστότοπος](https://zksync.io/)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Το Validium και το Επίπεδο 2 Two-By-Two — Τεύχος Αρ. 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two)
+- [ZK-rollups ή Validium](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)
+- [Volition and the Emerging Data Availability spectrum](https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb)
+- [Πακέτα ενηνέρωσης, Validiums και Volitions: Μάθετε για τις πιο δημοφιλείς λύσεις κλιμάκωσης του Ethereum](https://www.defipulse.com/blog/rollups-validiums-and-volitions-learn-about-the-hottest-ethereum-scaling-solutions)
+- [Πρακτικός οδηγός για τα πακέτα ενημέρωσης Ethereum.](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
diff --git a/public/content/translations/el/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/el/developers/docs/scaling/zk-rollups/index.md
new file mode 100644
index 00000000000..357cb8a7bc6
--- /dev/null
+++ b/public/content/translations/el/developers/docs/scaling/zk-rollups/index.md
@@ -0,0 +1,256 @@
+---
+title: Rollup μηδενικής γνώσης
+description: Μια εισαγωγή στa zero-knowledge rollup — μια λύση κλιμάκωσης που χρησιμοποιεί η κοινότητα του Ethereum.
+lang: el
+---
+
+Τα Zero-knowledge rollups (ZK-rollups) είναι [λύσεις κλιμάκωσης](/developers/docs/scaling/) επιπέδου 2 που αυξάνουν την απόδοση στο Ethereum Mainnet μετακινώντας τον υπολογισμό και την αποθήκευση κατάστασης εκτός αλυσίδας. Τα ZK-rollup μπορούν να επεξεργαστούν χιλιάδες συναλλαγές σε μια παρτίδα και στη συνέχεια να δημοσιεύσουν μόνο μερικά ελάχιστα συνοπτικά δεδομένα στο Κεντρικό Δίκτυο. Αυτά τα συνοπτικά δεδομένα προσδιορίζουν τις αλλαγές που πρέπει να γίνουν στην κατάσταση Ethereum και κάποια κρυπτογραφική απόδειξη ότι αυτές οι αλλαγές είναι σωστές.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα έπρεπε να έχετε διαβάσει και κατανοήσει τη σελίδα μας για την [Κλιμάκωση Ethereum](/developers/docs/scaling/) και το [Επίπεδο 2](/layer-2).
+
+## Τι είναι τα zero-knowledge rollup; {#what-are-zk-rollups}
+
+Τα **Zero-knowledge rollup (ZK-rollup) ή πακέτα ενημερώσεων μηδενικής γνώσης** ομαδοποιούν (ή συσσωρεύουν σε ένα πακέτο) συναλλαγές σε παρτίδες που εκτελούνται εκτός αλυσίδας. Ο υπολογισμός εκτός αλυσίδας μειώνει τον όγκο των δεδομένων που πρέπει να αναρτηθούν στο blockchain. Οι χειριστές ZK-rollup υποβάλλουν μια σύνοψη των αλλαγών που απαιτούνται για την αποτύπωση όλων των συναλλαγών σε μία παρτίδα αντί να στέλνουν κάθε συναλλαγή ξεχωριστά. Παράγουν επίσης [αποδείξεις εγκυρότητας](/glossary/#validity-proof) για να αποδείξουν την ορθότητα των αλλαγών τους.
+
+Η κατάσταση του ZK-rollup συντηρείται από ένα έξυπνο συμβόλαιο που αναπτύσσεται στο δίκτυο Ethereum. Για να ενημερώσετε αυτή την κατάσταση, οι κόμβοι ZK-rollup πρέπει να υποβάλουν μια απόδειξη εγκυρότητας προς επαλήθευση. Όπως αναφέρθηκε, η απόδειξη εγκυρότητας είναι μια κρυπτογραφική διασφάλιση ότι η αλλαγή κατάστασης που προτείνεται από το πακέτο ενημέρωσης είναι ουσιαστικά το αποτέλεσμα της εκτέλεσης της συγκεκριμένης παρτίδας συναλλαγών. Αυτό σημαίνει ότι τα ZK-rollups χρειάζεται μόνο να παρέχουν αποδείξεις εγκυρότητας για την οριστικοποίηση των συναλλαγών στο Ethereum αντί να δημοσιεύουν όλα τα δεδομένα συναλλαγών στην αλυσίδα, όπως τα [optimistic rollups](/developers/docs/scaling/optimistic-rollups/).
+
+Δεν υπάρχουν καθυστερήσεις κατά τη μεταφορά κεφαλαίων από ένα ZK-rollup στο Ethereum, επειδή οι συναλλαγές εξόδου εκτελούνται μόλις το συμβόλαιο ZK-rollup επαληθεύσει την απόδειξη εγκυρότητας. Αντίθετα, η ανάληψη κεφαλαίων από optimistic rollup υπόκειται σε καθυστέρηση ώστε να δοθεί σε οποιονδήποτε η δυνατότητα να αμφισβητήσει τη συναλλαγή εξόδου με μια [απόδειξη απάτης](/glossary/#fraud-proof).
+
+Τα ZK-rollup γράφουν συναλλαγές στο Ethereum ως `calldata`. Τα `calldata` είναι εκεί όπου αποθηκεύονται τα δεδομένα που περιλαμβάνονται σε εξωτερικές κλήσεις προς συναρτήσεις έξυπνων συμβολαίων. Οι πληροφορίες στο `calldata` δημοσιεύονται στην κρυπτοαλυσίδα, επιτρέποντας σε οποιονδήποτε να ανακατασκευάσει ανεξάρτητα την κατάσταση του πακέτου ενημέρωσης. Τα ZK-rollup χρησιμοποιούν τεχνικές συμπίεσης για τη μείωση των δεδομένων συναλλαγών: για παράδειγμα, οι λογαριασμοί αντιπροσωπεύονται από ένα ευρετήριο και όχι από μια διεύθυνση, κάτι που εξοικονομεί 28 byte δεδομένων. Η δημοσίευση δεδομένων στην αλυσίδα είναι ένα σημαντικό κόστος για τα rollups, επομένως η συμπίεση δεδομένων μπορεί να μειώσει τα τέλη για τους χρήστες.
+
+## Πώς αλληλεπιδρούν τα ZK-rollups με το Ethereum; {#zk-rollups-and-ethereum}
+
+Μια αλυσίδα ZK-rollup είναι ένα πρωτόκολλο εκτός αλυσίδας που λειτουργεί πάνω στην κρυπτοαλυσίδα Ethereum, το οποίο διαχειρίζονται τα έξυπνα συμβόλαια Ethereum εντός της αλυσίδας. Τα ZK-rollup εκτελούν συναλλαγές εκτός του Κεντρικού Δικτύου, αλλά σε περιοδική βάση δεσμεύουν παρτίδες συναλλαγών εκτός αλυσίδας σε ένα συμβόλαιο με πακέτο ενημέρωσης στην αλυσίδα. Αυτό το αρχείο συναλλαγών είναι αμετάβλητο, όπως η αλυσίδα μπλοκ Ethereum, και σχηματίζει την αλυσίδα ZK-rollup.
+
+Η βασική αρχιτεκτονική του ZK-rollup αποτελείται από τα ακόλουθα στοιχεία:
+
+1. **Συμβόλαια επί της αλυσίδας**: Όπως αναφέρθηκε, το πρωτόκολλο ZK-rollup ελέγχεται από έξυπνα συμβόλαια που εκτελούνται στο Ethereum. Αυτό περιλαμβάνει το κύριο συμβόλαιο που αποθηκεύει το πακέτο ενημέρωσης του μπλοκ, παρακολουθεί τις καταθέσεις και τις ενημερώσεις κατάστασης. Ένα άλλο συμβόλαιο στην αλυσίδα (το συμβόλαιο επαλήθευσης) επαληθεύει τις αποδείξεις μηδενικής γνώσης που υποβάλλονται από τους παραγωγούς μπλοκ. Έτσι, το Ethereum χρησιμεύει ως το βασικό επίπεδο ή "επίπεδο 1" για το ZK-rollup.
+
+2. **Εικονική Μηχανή (VM) εκτός αλυσίδας**: Ενώ το πρωτόκολλο ZK-rollup ζει στο Ethereum, η εκτέλεση συναλλαγών και η αποθήκευση κατάστασης συμβαίνουν σε μια ξεχωριστή εικονική μηχανή ανεξάρτητη από το [EVM](/developers/docs/evm/). Αυτή η εικονική μηχανή (VM) εκτός αλυσίδας είναι το περιβάλλον εκτέλεσης για συναλλαγές στο ZK-rollup και χρησιμεύει ως το δευτερεύον επίπεδο ή «επίπεδο 2» για το πρωτόκολλο ZK-rollup. Οι αποδείξεις εγκυρότητας που επαληθεύονται στο Ethereum Mainnet εγγυώνται τη σωστή λειτουργία των μεταβάσεων κατάστασης στην εικονική μηχανή εκτός αλυσίδας.
+
+Τα ZK-rollups είναι "υβριδικές λύσεις κλιμάκωσης", πρωτόκολλα εκτός αλυσίδας που λειτουργούν ανεξάρτητα αλλά αντλούν ασφάλεια από το Ethereum. Ειδικότερα, το δίκτυο Ethereum επιβάλλει την εγκυρότητα των ενημερώσεων κατάστασης στο ZK-rollup και εγγυάται τη διαθεσιμότητα των δεδομένων πίσω από κάθε ενημέρωση στην κατάσταση του rollup. Ως αποτέλεσμα, τα ZK-rollups είναι σημαντικά ασφαλέστερα από τις καθαρές λύσεις κλιμάκωσης εκτός αλυσίδας, όπως οι [πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/), οι οποίες είναι υπεύθυνες για τις ιδιότητες ασφάλειάς τους ή τα [validiums](/developers/docs/scaling/validium/), τα οποία επίσης επαληθεύουν συναλλαγές στο Ethereum με αποδείξεις εγκυρότητας, αλλά αποθηκεύουν δεδομένα συναλλαγών αλλού.
+
+Τα ZK-rollup βασίζονται στο κύριο πρωτόκολλο Ethereum για τα εξής:
+
+### Διαθεσιμότητα δεδομένων {#data-availability}
+
+Τα ZK-rollups δημοσιεύουν δεδομένα κατάστασης για κάθε συναλλαγή που επεξεργάζεται εκτός αλυσίδας στο Ethereum. Με αυτά τα δεδομένα, είναι δυνατό για άτομα ή επιχειρήσεις να αναπαράγουν την κατάσταση του rollup και να επικυρώσουν οι ίδιοι την αλυσίδα. Το Ethereum καθιστά αυτά τα δεδομένα διαθέσιμα σε όλους τους συμμετέχοντες στο δίκτυο ως `calldata`.
+
+Τα ZK-rollup δεν χρειάζεται να δημοσιεύουν πολλά δεδομένα συναλλαγών επί της αλυσίδας, επειδή οι αποδείξεις εγκυρότητας επαληθεύουν ήδη την αυθεντικότητα των μεταβάσεων κατάστασης. Ωστόσο, η αποθήκευση δεδομένων στην αλυσίδα εξακολουθεί να είναι σημαντική επειδή επιτρέπει τη χωρίς άδεια, ανεξάρτητη επαλήθευση της κατάστασης της αλυσίδας επιπέδου 2, η οποία με τη σειρά της επιτρέπει σε οποιονδήποτε να υποβάλει παρτίδες συναλλαγών, αποτρέποντας τους κακόβουλους χειριστές από τη λογοκρισία ή το πάγωμα της αλυσίδας.
+
+Η πρόσβαση στην αλυσίδα είναι απαραίτητη για τους χρήστες για να αλληλεπιδράσουν με το rollup. Χωρίς πρόσβαση στα δεδομένα κατάστασης, οι χρήστες δεν μπορούν να ρωτήσουν το υπόλοιπο του λογαριασμού τους ή να ξεκινήσουν συναλλαγές (π.χ. αναλήψεις) που βασίζονται σε πληροφορίες κατάστασης.
+
+### Οριστικότητα συναλλαγής {#transaction-finality}
+
+Το Ethereum λειτουργεί ως επίπεδο διευθέτησης για τα ZK-rollups: οι συναλλαγές επιπέδου 2 ολοκληρώνονται μόνο εάν το συμβόλαιο επιπέδου 1 αποδεχτεί την απόδειξη εγκυρότητας. Αυτό εξαλείφει τον κίνδυνο οι κακόβουλοι χειριστές να διαφθείρουν την αλυσίδα (π.χ. κλοπή κεφαλαίων rollup) καθώς κάθε συναλλαγή πρέπει να εγκριθεί στο Κεντρικό Δίκτυο. Επίσης, το Ethereum εγγυάται ότι οι λειτουργίες των χρηστών δεν μπορούν να αντιστραφούν μόλις οριστικοποιηθούν στο L1.
+
+### Αντίσταση στη Λογοκρισία {#censorship-resistance}
+
+Τα περισσότερα ZK-rollups χρησιμοποιούν έναν "υπερκόμβο" (τον χειριστή) για να εκτελέσουν συναλλαγές, να παράγουν παρτίδες και να υποβάλουν μπλοκ στο L1. Παρότι αυτό διασφαλίζει την αποτελεσματικότητα, αυξάνει τον κίνδυνο λογοκρισίας: οι κακόβουλοι χειριστές ZK-rollup μπορούν να λογοκρίνουν τους χρήστες αρνούμενοι να συμπεριλάβουν τις συναλλαγές τους σε παρτίδες.
+
+Ως μέτρο ασφαλείας, τα ZK-rollup επιτρέπουν στους χρήστες να υποβάλλουν συναλλαγές απευθείας στο συμβόλαιο του rollup στο Κεντρικό Δίκτυο, εάν πιστεύουν ότι λογοκρίνονται από τον χειριστή. Αυτό επιτρέπει στους χρήστες να εξαναγκάσουν μια έξοδο από το ZK-rollup στο Ethereum χωρίς να χρειάζεται να βασίζονται στην άδεια του χειριστή.
+
+## Πώς λειτουργούν τα ZK-rollups; {#how-do-zk-rollups-work}
+
+### Συναλλαγές {#transactions}
+
+Οι χρήστες ενός ZK-rollup υπογράφουν συναλλαγές και υποβάλλουν στους χειριστές L2 για επεξεργασία και συμπερίληψη στην επόμενη παρτίδα. Σε ορισμένες περιπτώσεις, ο χειριστής είναι μια κεντρικοποιημένη οντότητα, ονόματι sequencer, που εκτελεί συναλλαγές, τις συγκεντρώνει σε παρτίδες και τις υποβάλλει στο L1. Το sequencer σε αυτό το σύστημα είναι η μόνη οντότητα που επιτρέπεται να παράγει μπλοκ στο L2 και να προσθέτει συναλλαγές rollup στο συμβόλαιο του ZK-rollup.
+
+Άλλα ZK-rollup μπορούν να εναλλάσουν τον ρόλο χειριστή χρησιμοποιώντας ένα σετ επικύρωσης [απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos/). Οι υποψήφιοι χειριστές καταθέτουν κεφάλαια στο συμβόλαιο του rollup, με το μέγεθος κάθε μεριδίου κεφαλαίου να επηρεάζει τις πιθανότητες αυτού που αποθηκεύει κεφάλαιο να επιλεγεί για να παραγάγει το επόμενο πακέτο του rollup. Το δεσμευμένο κεφάλαιο του χειριστή μπορεί να περικοπεί αν ενεργήσει κακόβουλα, γεγονός που τον ωθεί να δημοσιεύει έγκυρα μπλοκ.
+
+#### Πώς τα ZK-rollup δημοσιεύουν δεδομένα συναλλαγών στο Ethereum {#how-zk-rollups-publish-transaction-data-on-ethereum}
+
+Όπως εξηγήθηκε, τα δεδομένα συναλλαγών δημοσιεύονται στο Ethereum ως `calldata`. Το `calldata` είναι μια περιοχή δεδομένων σε ένα έξυπνο συμβόλαιο που χρησιμοποιείται για τη μεταφορά ορισμάτων σε μια συνάρτηση και συμπεριφέρεται παρόμοια με τη [μνήμη](/developers/docs/smart-contracts/anatomy/#memory). Ενώ και αν τα `calldata` δεν αποθηκεύονται ως μέρος της κατάστασης του Ethereum, παραμένουν στην αλυσίδα ως μέρος των [αρχείων καταγραφής ιστορικού](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) της αλυσίδας Ethereum. Το `calldata` δεν επηρεάζει την κατάσταση του Ethereum, καθιστώντας το έναν φθηνό τρόπο αποθήκευσης δεδομένων στην αλυσίδα.
+
+Η λέξη-κλειδί `calldata` συχνά προσδιορίζει τη μέθοδο του έξυπνου συμβολαίου που καλείται από μια συναλλαγή και περιέχει εισόδους στη μέθοδο με τη μορφή μιας αυθαίρετης ακολουθίας byte. Τα πακέτα ενημέρωσης ZK χρησιμοποιούν το `calldata` για να δημοσιεύσουν συμπιεσμένα δεδομένα συναλλαγών στην αλυσίδα. Ο χειριστής του πακέτου ενημέρωσης απλώς προσθέτει ένα νέο σύνολο δεδομένων καλώντας την απαιτούμενη συνάρτηση στο συμβόλαιο του πακέτου ενημέρωσης και περνά τα συμπιεσμένα δεδομένα ως ορίσματα συνάρτησης. Αυτό βοηθά στη μείωση του κόστους για τους χρήστες, καθώς ένα μεγάλο μέρος των τελών των rollup προορίζονται προς την αποθήκευση δεδομένων συναλλαγών στην αλυσίδα.
+
+### Δεσμεύσεις κατάστασης {#state-commitments}
+
+Η κατάσταση του ZK-rollup, η οποία περιλαμβάνει λογαριασμούς και υπόλοιπα L2, αναπαρίσταται ως [δέντρο Merkle](/whitepaper/#merkle-trees). Ένα κρυπτογραφικό hash της ρίζας του δέντρου Merkle (ρίζα Merkle) αποθηκεύεται στη σύμβαση στην αλυσίδα, επιτρέποντας στο πρωτόκολλο του πακέτου ενημέρωσης να παρακολουθεί τις αλλαγές στην κατάσταση του ZK-rollup.
+
+Το rollup μεταβαίνει σε μια νέα κατάσταση μετά την εκτέλεση ενός νέου συνόλου συναλλαγών. Ο χειριστής που ξεκίνησε τη μετάβαση κατάστασης πρέπει να υπολογίσει μια νέα ρίζα κατάστασης και να την υποβάλει στη σύμβαση στην αλυσίδα. Εάν η απόδειξη εγκυρότητας που σχετίζεται με τη δέσμη επαληθευτεί από το συμβόλαιο επαλήθευσης, η νέα ρίζα Merkle γίνεται η κανονική ρίζα κατάστασης του ZK-rollup.
+
+Εκτός από τον υπολογισμό των ριζών κατάστασης, ο χειριστής ZK-rollup δημιουργεί επίσης μια ρίζα δέσμης, τη ρίζα ενός δέντρου Merkle που περιλαμβάνει όλες τις συναλλαγές σε μια δέσμη. Όταν υποβάλλεται μια νέα δέσμη, το συμβόλαιο rollup αποθηκεύει τη ρίζα δέσμης, επιτρέποντας στους χρήστες να αποδείξουν ότι μια συναλλαγή (π.χ. αίτημα ανάληψης) συμπεριλήφθηκε στη δέσμη. Οι χρήστες θα πρέπει να παράσχουν λεπτομέρειες συναλλαγής, τη ρίζα δέσμης και μια [απόδειξη Merkle](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) που θα δείχνει τη διαδρομή συμπερίληψης.
+
+### Αποδείξεις εγκυρότητας {#validity-proofs}
+
+Η νέα ρίζα κατάστασης που υποβάλλει ο χειριστής του ZK-rollup στο συμβόλαιο επιπέδου 1 είναι το αποτέλεσμα ενημερώσεων στην κατάσταση του rollup. Ας πούμε ότι η Alice στέλνει 10 token στον Bob, ο χειριστής απλά μειώνει το υπόλοιπο της Alice κατά 10 και αυξάνει το υπόλοιπο του Bob κατά 10. Στη συνέχεια, ο χειριστής κάνει hash τα ενημερωμένα δεδομένα λογαριασμού, ανακατασκευάζει το δέντρο Merkle του πακέτου ενημέρωσης και υποβάλλει τη νέα ρίζα Merkle στο συμβόλαιο της αλυσίδας.
+
+Αλλά το συμβόλαιο rollup δε θα αποδεχτεί αυτόματα την προτεινόμενη δέσμευση κατάστασης μέχρι ο χειριστής να αποδείξει ότι η νέα ρίζα Merkle προέκυψε από σωστές ενημερώσεις στην κατάσταση του rollup. Ο χειριστής ZK-rollup το κάνει αυτό με την παραγωγή μιας απόδειξης εγκυρότητας, δηλαδή μιας συνοπτικής κρυπτογραφικής δέσμευσης που επαληθεύει τη σωστή εκτέλεση συνόλων συναλλαγών.
+
+Οι αποδείξεις εγκυρότητας επιτρέπουν στα μέρη να αποδείξουν την ορθότητα μιας δήλωσης χωρίς να αποκαλύπτουν την ίδια τη δήλωση. Ως εκ τούτου, ονομάζονται επίσης αποδείξεις μηδενικής γνώσης. Τα πακέτα ZK χρησιμοποιούν αποδείξεις εγκυρότητας για να επιβεβαιώσουν τη σωστή λειτουργία των μεταβάσεων κατάστασης εκτός αλυσίδας χωρίς να χρειάζεται να εκτελέσουν ξανά τις συναλλαγές στο Ethereum. Αυτές οι αποδείξεις μπορούν να έχουν τη μορφή ενός [ZK-SNARK](https://arxiv.org/abs/2202.06877) (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) ή [ZK-STARK](https://eprint.iacr.org/2018/046) (Zero-Knowledge Scalable Transparent Argument of Knowledge).
+
+Τόσο τα SNARK όσο και τα STARK βοηθούν στην επιβεβαίωση της ακεραιότητας του υπολογισμού στα πακέτα ενημέρωσης ZK εκτός αλυσίδας, αν και κάθε τύπος απόδειξης έχει διακριτά χαρακτηριστικά.
+
+**ZK-SNARKs**
+
+Για να λειτουργήσει το πρωτόκολλο ZK-SNARK, είναι απαραίτητη η δημιουργία μιας κοινής συμβολοσειράς αναφοράς (CRS): η CRS παρέχει δημόσιες παραμέτρους για την απόδειξη και την επαλήθευση αποδείξεων εγκυρότητας. Η ασφάλεια του συστήματος απόδειξης εξαρτάται από τη ρύθμιση CRS. Εάν οι πληροφορίες που χρησιμοποιούνται για τη δημιουργία δημόσιων παραμέτρων πέσουν στα χέρια κακόβουλων δραστών, ενδέχεται να είναι σε θέση να δημιουργήσουν ψευδείς αποδείξεις εγκυρότητας.
+
+Ορισμένα ZK-rollup προσπαθούν να επιλύσουν αυτό το πρόβλημα χρησιμοποιώντας μια [τελετή υπολογισμού πολλαπλών μερών (MPC)](https://zkproof.org/2021/06/30/setup-ceremonies/amp/), που περιλαμβάνει αξιόπιστα άτομα, για τη δημιουργία δημόσιων παραμέτρων για το κύκλωμα ZK-SNARK. Κάθε μέρος συμβάλλει με κάποια τυχαιότητα (που ονομάζεται "τοξικά απόβλητα") στη δημιουργία του CRS, το οποίο πρέπει να καταστρέψουν αμέσως.
+
+Οι αξιόπιστες ρυθμίσεις χρησιμοποιούνται επειδή αυξάνουν την ασφάλεια της ρύθμισης CRS. Αρκεί ένας ειλικρινής συμμετέχων να καταστρέψει την είσοδό του καθώς η ασφάλεια του συστήματος ZK-SNARK είναι εγγυημένη. Ωστόσο, αυτή η προσέγγιση απαιτεί την επίδειξη εμπιστοσύνης σε όσους εμπλέκονται ότι θα διαγράψουν τη δειγματοληπτική τυχαιότητα τους και δεν θα υπονομεύσουν τις εγγυήσεις ασφάλειας του συστήματος.
+
+Αφήνοντας κατά μέρος τις υποθέσεις εμπιστοσύνης, τα ZK-SNARK είναι δημοφιλή για τα μικρά μεγέθη απόδειξης και την επαλήθευση σταθερού χρόνου. Καθώς η επαλήθευση απόδειξης στο L1 αποτελεί το μεγαλύτερο κόστος λειτουργίας ενός ZK-rollup, τα L2 χρησιμοποιούν ZK-SNARK για τη δημιουργία αποδείξεων που μπορούν να επαληθευτούν γρήγορα και φθηνά στο Κεντρικό Δίκτυο.
+
+**ZK-STARKs**
+
+Όπως τα ZK-SNARKs, τα ZK-STARKs αποδεικνύουν τη γνησιότητα ενός υπολογισμού εκτός αλυσίδας χωρίς να αποκαλύπτουν τα εισαγόμενα δεδομένα. Ωστόσο, τα ZK-STARK θεωρούνται βελτίωση των ZK-SNARK λόγω της κλιμακωσιμότητας και της διαφάνειας τους.
+
+Τα ZK-STARKs είναι 'διαφανή', καθώς μπορούν να λειτουργήσουν χωρίς την αξιόπιστη ρύθμιση μιας Κοινής Σειράς Αναφοράς (CRS). Αντίθετα, τα ZK-STARKs βασίζονται σε δημόσια επαληθεύσιμη τυχαιότητα για να ορίσουν παραμέτρους για τη δημιουργία και επαλήθευση αποδείξεων.
+
+Τα ZK-STARK παρέχουν επίσης μεγαλύτερη επεκτασιμότητα επειδή ο χρόνος που απαιτείται για την απόδειξη και επαλήθευση αποδείξεων εγκυρότητας αυξάνεται _σχεδόν γραμμικά_ σε σχέση με την πολυπλοκότητα του υποκείμενου υπολογισμού. Με τα ZK-SNARK, οι χρόνοι απόδειξης και επαλήθευσης επεκτείνονται _γραμμικά_ σε σχέση με το μέγεθος του υποκείμενου υπολογισμού. Αυτό σημαίνει ότι τα ZK-STARK απαιτούν λιγότερο χρόνο από τα ZK-SNARK για απόδειξη και επαλήθευση όταν εμπλέκονται μεγάλα σύνολα δεδομένων, γεγονός το οποία τα καθιστά χρήσιμα για εφαρμογές υψηλού όγκου.
+
+Τα ZK-STARK είναι επίσης ασφαλή έναντι των κβαντικών υπολογιστών, ενώ πιστεύεται ευρέως ότι η Ελλειπτική Καμπύλη Κρυπτογραφίας (ECC) που χρησιμοποιείται στα ZK-SNARK είναι ευάλωτη σε επιθέσεις κβαντικών υπολογιστών. Το μειονέκτημα των ZK-STARKs είναι ότι παράγουν μεγαλύτερα μεγέθη απόδειξης, τα οποία είναι πιο δαπανηρά για επαλήθευση στο Ethereum.
+
+#### Πώς λειτουργούν οι αποδείξεις εγκυρότητας στα ZK-rollup; {#validity-proofs-in-zk-rollups}
+
+##### Δημιουργία απόδειξης
+
+Πριν αποδεχτεί τις συναλλαγές, ο χειριστής θα πραγματοποιήσει τους συνήθεις ελέγχους. Αυτοί περιλαμβάνουν την επιβεβαίωση ότι:
+
+- Οι λογαριασμοί αποστολέα και παραλήπτη είναι μέρος του δέντρου κατάστασης.
+- Ο αποστολέας έχει αρκετά χρήματα για να επεξεργαστεί τη συναλλαγή.
+- Η συναλλαγή είναι σωστή και ταιριάζει με το δημόσιο κλειδί του αποστολέα στο rollup.
+- Ο αριθμός nonce του αποστολέα είναι σωστός, κ.λπ.
+
+Μόλις ο κόμβος ZK-rollup έχει αρκετές συναλλαγές, τις συγκεντρώνει σε ένα πακέτο και συμπιέζει εισόδους για το κύκλωμα απόδειξης για να συμπεριληφθεί σε μια συνοπτική απόδειξη ZK. Αυτό περιλαμβάνει:
+
+- Μια ρίζα δέντρου Merkle που περιλαμβάνει όλες τις συναλλαγές στο πακέτο.
+- Αποδείξεις Merkle για συναλλαγές για να αποδειχθεί η συμπερίληψη στο πακέτο.
+- Αποδείξεις Merkle για κάθε ζεύγος αποστολέα-παραλήπτη σε συναλλαγές για να αποδειχθεί ότι αυτοί οι λογαριασμοί είναι μέρος του δέντρου κατάστασης του rollup.
+- Ένα σύνολο ενδιάμεσων ριζών κατάστασης, που προέρχονται από την ενημέρωση της ρίζας κατάστασης μετά την εφαρμογή ενημερώσεων κατάστασης για κάθε συναλλαγή (δηλαδή, μείωση λογαριασμών αποστολέα και αύξηση λογαριασμών παραλήπτη).
+
+Το κύκλωμα απόδειξης υπολογίζει την απόδειξη εγκυρότητας με τη δημιουργία «βρόχου» πάνω από κάθε συναλλαγή και την εκτέλεση των ίδιων ελέγχων που ο χειριστής ολοκλήρωσε πριν από την επεξεργασία της συναλλαγής. Αρχικά, επαληθεύει ότι ο λογαριασμός αποστολέα αποτελεί μέρος της υπάρχουσας root κατάστασης χρησιμοποιώντας την παρεχόμενη απόδειξη Merkle. Έπειτα, μειώνει το υπόλοιπο του αποστολέα, αυξάνει το nonce, κατακερματίζει τα ενημερωμένα στοιχεία λογαριασμού και τα συνδυάζει με την απόδειξη Merkle για τη δημιουργία μιας νέας ρίζας Merkle.
+
+Αυτή η ρίζα Merkle αντικατοπτρίζει τη μοναδική αλλαγή στην κατάσταση της συλλογής ZK: μια αλλαγή στο υπόλοιπο του αποστολέα και στο nonce. Αυτό είναι δυνατό επειδή η απόδειξη Merkle που χρησιμοποιείται για να αποδειχθεί η ύπαρξη του λογαριασμού χρησιμοποιείται για να προκύψει η νέα ρίζα κατάστασης.
+
+Το κύκλωμα απόδειξης εκτελεί την ίδια διαδικασία στον λογαριασμό του παραλήπτη. Ελέγχει εάν ο λογαριασμός του παραλήπτη υπάρχει κάτω από την ενδιάμεση ρίζα κατάστασης (χρησιμοποιώντας την απόδειξη Merkle), αυξάνει το υπόλοιπό του, κατακερματίζει ξανά τα δεδομένα του λογαριασμού και τα συνδυάζει με την απόδειξη Merkle για να δημιουργήσει μια νέα ρίζα κατάστασης.
+
+Η διαδικασία επαναλαμβάνεται για κάθε συναλλαγή. Κάθε «βρόχος» δημιουργεί μια νέα ρίζα κατάστασης από την ενημέρωση του λογαριασμού του αποστολέα και μια επόμενη νέα ρίζα από την ενημέρωση του λογαριασμού του παραλήπτη. Όπως εξηγήθηκε, κάθε ενημέρωση στη ρίζα κατάστασης αντιπροσωπεύει ένα μέρος του δέντρου κατάστασης του πακέτου ενημέρωσης που αλλάζει.
+
+Το κύκλωμα απόδειξης ZK επαναλαμβάνει ολόκληρο το πακέτο συναλλαγών, επαληθεύοντας την ακολουθία ενημερώσεων που οδηγούν σε μια τελική ρίζα κατάστασης μετά την εκτέλεση της τελευταίας συναλλαγής. Η τελευταία υπολογισμένη ρίζα Merkle γίνεται η νεότερη κανονική ρίζα κατάστασης του ZK-rollup.
+
+##### Επαλήθευση απόδειξης
+
+Μετά την επαλήθευση της ορθότητας των ενημερώσεων κατάστασης από το κύκλωμα απόδειξης, ο χειριστής L2 υποβάλλει την υπολογισμένη απόδειξη εγκυρότητας στο συμβόλαιο επαλήθευσης στο L1. Το κύκλωμα επαλήθευσης του συμβολαίου επαληθεύει την εγκυρότητα της απόδειξης και ελέγχει επίσης δημόσιες εισόδους που αποτελούν μέρος της απόδειξης:
+
+- **Προ-κατάσταση ρίζας**: Η παλιά ρίζα κατάστασης του ZK-rollup (δηλαδή, πριν εκτελεστούν οι συναλλαγές παρτίδας), που αντανακλά την τελευταία γνωστή έγκυρη κατάσταση της αλυσίδας L2.
+
+- **Μετα-κατάσταση ρίζας**: Η νέα ρίζα κατάστασης του ZK-rollup (δηλαδή, μετά την εκτέλεση των συναλλαγών σε μορφή παρτίδας), που αντανακλά τη νεότερη κατάσταση της αλυσίδας L2. Η μετα-κατάσταση root είναι η τελική root που προκύπτει μετά την εφαρμογή ενημερώσεων κατάστασης στο κύκλωμα απόδειξης.
+
+- **Ρίζα παρτίδας**: Η ρίζα Merkle της παρτίδας, που προκύπτει από τη _merklization_ των συναλλαγών στην παρτίδα και το hashing της ρίζας του δέντρου.
+
+- **Εισαγωγές συναλλαγών**: Δεδομένα που σχετίζονται με τις συναλλαγές που εκτελέστηκαν ως μέρος της υποβληθείσας παρτίδας.
+
+Εάν η απόδειξη ικανοποιεί το κύκλωμα (δηλαδή, είναι έγκυρη), αυτό σημαίνει ότι υπάρχει μια ακολουθία έγκυρων συναλλαγών που μεταφέρουν το rollup από την προηγούμενη κατάσταση (κρυπτογραφημένα ηλεκτρονικά αποτυπώματα από την προ-κατάσταση ρίζας) σε μια νέα κατάσταση (κρυπτογραφημένα ηλεκτρονικά αποτυπώματα από τη μετα-κατάσταση ρίζας). Εάν η προ-κατάσταση ρίζας ταιριάζει με τη ρίζα που αποθηκεύεται στο συμβόλαιο rollup και η απόδειξη είναι έγκυρη, το συμβόλαιο rollup παίρνει τη μετα-κατάσταση ρίζας από την απόδειξη και ενημερώνει το δέντρο κατάστασής του για να αντικατοπτρίζει την αλλαγμένη κατάσταση του rollup.
+
+### Είσοδοι και έξοδοι {#entries-and-exits}
+
+Οι χρήστες εισέρχονται στο ZK-rollup καταθέτοντας περιουσιακό στοιχείο στο συμβόλαιο του πακέτου ενημέρωσης που είναι αναπτυγμένο στην αλυσίδα επιπέδου 1. Αυτή η συναλλαγή μπαίνει σε ουρά καθώς μόνο οι χειριστές μπορούν να υποβάλουν συναλλαγές στο συμβόλαιο του πακέτου ενημέρωσης.
+
+Εάν η εκκρεμής ουρά καταθέσεων αρχίσει να γεμίζει, ο χειριστής του ZK-rollup θα πάρει τις συναλλαγές κατάθεσης και θα τις υποβάλει στο συμβόλαιο rollup. Μόλις τα κεφάλαια του χρήστη βρίσκονται στο rollup, μπορούν να ξεκινήσουν συναλλαγές στέλνοντας συναλλαγές στον χειριστή για επεξεργασία. Οι χρήστες μπορούν να επαληθεύσουν τα υπόλοιπα στο rollup υπολογίζοντας το hash των δεδομένων του λογαριασμού τους, στέλνοντας το hash στο συμβόλαιο rollup και παρέχοντας μια απόδειξη Merkle για επαλήθευση έναντι της τρέχουσας ρίζας κατάστασης.
+
+Η ανάληψη από ένα ZK-rollup σε L1 είναι απλή. Ο χρήστης ξεκινά τη συναλλαγή εξόδου στέλνοντας τα περιουσιακά του στοιχεία στο πακέτο ενημέρωσης σε έναν συγκεκριμένο λογαριασμό για κάψιμο. Εάν ο χειριστής συμπεριλάβει τη συναλλαγή στην επόμενη παρτίδα, ο χρήστης μπορεί να υποβάλει αίτηση ανάληψης στο συμβόλαιο στην αλυσίδα. Αυτή η αίτηση ανάληψης θα περιλαμβάνει τα εξής:
+
+- Απόδειξη Merkle που αποδεικνύει τη συμπερίληψη της συναλλαγής του χρήστη στον λογαριασμό καύσης σε μια παρτίδα συναλλαγών
+
+- Δεδομένα συναλλαγής
+
+- Batch root
+
+- Διεύθυνση L1 για τη λήψη κατατεθειμένων χρημάτων
+
+Το συμβόλαιο του rollup κάνει hash στα δεδομένα συναλλαγής, ελέγχει αν υπάρχει η ρίζα παρτίδας και χρησιμοποιεί την απόδειξη Merkle για να ελέγξει εάν το hash της συναλλαγής είναι μέρος της ρίζας παρτίδας. Στη συνέχεια, το συμβόλαιο εκτελεί τη συναλλαγή εξόδου και στέλνει κεφάλαια στη διεύθυνση που επέλεξε ο χρήστης στο L1.
+
+## ZK-rollup και συμβατότητα EVM {#zk-rollups-and-evm-compatibility}
+
+Σε αντίθεση με τα optimistic rollup, τα ZK-rollup δεν είναι άμεσα συμβατά με το [Εικονικό μηχάνημα του Ethereum (EVM)](/developers/docs/evm/). Η απόδειξη γενικής χρήσης υπολογισμού EVM σε κυκλώματα είναι πιο δύσκολη και απαιτεί περισσότερους πόρους από την απόδειξη απλών υπολογισμών (όπως η μεταφορά token που περιγράφηκε προηγουμένως).
+
+Ωστόσο, η [προόδος στην τεχνολογία μηδενικής γνώσης](https://hackmd.io/@yezhang/S1_KMMbGt#Why-possible-now) πυροδοτεί το ενδιαφέρον για τον υπολογισμό EVM σε αποδείξεις μηδενικής γνώσης. Αυτές οι προσπάθειες στοχεύουν στη δημιουργία μιας υλοποίησης zero-knowledge EVM (zkEVM) που μπορεί να επαληθεύσει αποτελεσματικά τη σωστή εκτέλεση του προγράμματος. Ένα zkEVM αναδημιουργεί τους υπάρχοντες κωδικούς λειτουργίας EVM για απόδειξη/επαλήθευση σε κυκλώματα, επιτρέποντας την εκτέλεση έξυπνων συμβολαίων.
+
+Όπως το EVM, ένα zkEVM μεταβαίνει μεταξύ καταστάσεων μετά την εκτέλεση υπολογισμών σε ορισμένες εισόδους. Η διαφορά είναι ότι το zkEVM δημιουργεί επίσης αποδείξεις μηδενικής γνώσης για να επαληθεύσει τη σωστή εκτέλεση κάθε βήματος στην εκτέλεση του προγράμματος. Οι αποδείξεις εγκυρότητας θα μπορούσαν να επαληθεύσουν τη σωστή εκτέλεση των λειτουργιών που επηρεάζουν την κατάσταση της VM (μνήμη, στοίβα, αποθήκευση) και τον ίδιο τον υπολογισμό (δηλαδή, κάλεσε η λειτουργία τους σωστούς opcode και τους εκτέλεσε σωστά;).
+
+Η εισαγωγή των συμβατών με EVM ZK-rollup αναμένεται να βοηθήσει τους προγραμματιστές να αξιοποιήσουν την επεκτασιμότητα και τις εγγυήσεις ασφάλειας των αποδείξεων μηδενικής γνώσης. Επιπλέον, η συμβατότητα με την εγγενή υποδομή Ethereum σημαίνει ότι οι προγραμματιστές μπορούν να δημιουργήσουν dapp φιλικές προς τη μηδενική γνώση χρησιμοποιώντας οικεία (και δοκιμασμένα) εργαλεία και γλώσσες.
+
+## Πώς λειτουργούν τα τέλη των ZK-rollup; {#how-do-zk-rollup-fees-work}
+
+Το ποσό που πληρώνουν οι χρήστες για συναλλαγές στα ZK-rollup εξαρτάται από τη χρέωση gas, όπως και στο Kεντρικό Δίκτυο του Ethereum. Ωστόσο, τα τέλη gas λειτουργούν διαφορετικά στο L2 και επηρεάζονται από τα ακόλουθα κόστη:
+
+1. **Εγγραφή Κατάστασης**: Υπάρχει ένα σταθερό κόστος για την εγγραφή στην κατάσταση του Ethereum (δηλαδή, την υποβολή μιας συναλλαγής στην αλυσίδα μπλοκ Ethereum). Τα ZK-rollups μειώνουν αυτό το κόστος με τις συγκεντρώσεις συναλλαγών και τη διανομή σταθερού κόστους σε πολλούς χρήστες.
+
+2. **Δημοσίευση Δεδομένων**: Τα ZK-rollup δημοσιεύουν δεδομένα κατάστασης για κάθε συναλλαγή στο Ethereum ως `calldata`. Τα κόστη `calldata` διέπονται επί του παρόντος από το [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), το οποίο ορίζει ένα κόστος ύψους 16 gas για μη μηδενικά byte και 4 gas για μηδενικά byte `calldata`, αντίστοιχα. Το κόστος που καταβάλλεται για κάθε συναλλαγή επηρεάζεται από το πόσα `calldata` πρέπει να δημοσιευθούν στην αλυσίδα γι' αυτό.
+
+3. **Αμοιβές χειριστή L2**: Αυτό είναι το ποσό που καταβάλλεται στον χειριστή του rollup ως αποζημίωση για τα υπολογιστικά κόστη που προκύπτουν από την επεξεργασία συναλλαγών, παρόμοια με τις [«αμοιβές προτεραιότητας (φιλοδωρήματα)» συναλλαγών](/developers/docs/gas/#how-are-gas-fees-calculated) στο Kεντρικό Δίκτυο του Ethereum.
+
+4. **Δημιουργία και επαλήθευση απόδειξης**: Οι χειριστές ZK-rollup πρέπει να παράγουν αποδείξεις εγκυρότητας για παρτίδες συναλλαγών, κάτι που απαιτεί πολλούς πόρους. Η επαλήθευση αποδείξεων μηδενικής γνώσης στο Mainnet κοστίζει επίσης gas (~ 500.000 gas).
+
+Εκτός από τις συγκεντρώσεις συναλλαγών, τα ZK-rollups μειώνουν τις αμοιβές για τους χρήστες με τη συμπίεση των δεδομένων συναλλαγών. Μπορείτε να [δείτε μια πραγματική εικόνα](https://l2fees.info/) του κόστους χρήσης των Ethereum ZK-rollups.
+
+## Πώς πετυχαίνουν τα ZK-rollup την επέκταση του Ethereum; {#scaling-ethereum-with-zk-rollups}
+
+### Συμπίεση δεδομένων συναλλαγών {#transaction-data-compression}
+
+Τα πακέτα ενημέρωσης ZK επεκτείνουν την απόδοση στο βασικό επίπεδο του Ethereum μεταφέροντας τον υπολογισμό εκτός αλυσίδας, αλλά η πραγματική ώθηση για την κλιμάκωση προέρχεται από τη συμπίεση δεδομένων συναλλαγών. Το [μέγεθος του μπλοκ](/developers/docs/blocks/#block-size) του Ethereum περιορίζει τα δεδομένα που μπορεί να περιέχει κάθε μπλοκ και, κατ' επέκταση, τον αριθμό των συναλλαγών που υποβάλλονται σε επεξεργασία ανά μπλοκ. Με τη συμπίεση δεδομένων που σχετίζονται με συναλλαγές, τα ZK-rollups αυξάνουν σημαντικά τον αριθμό των συναλλαγών που επεξεργάζονται ανά μπλοκ.
+
+Τα ZK-rollup μπορούν να συμπιέσουν τα δεδομένα συναλλαγών καλύτερα από τα optimistic rollup δεδομένου ότι δεν χρειάζεται να δημοσιεύουν όλα τα δεδομένα που απαιτούνται για την επικύρωση κάθε συναλλαγής. Πρέπει μόνο να δημοσιεύσουν τα ελάχιστα δεδομένα που απαιτούνται για την πιο πρόσφατη κατάσταση λογαριασμών και υπολοίπων στο rollup.
+
+### Αναδρομικές αποδείξεις {#recursive-proofs}
+
+Ένα πλεονέκτημα των αποδείξεων μηδενικής γνώσης είναι ότι οι αποδείξεις μπορούν να επαληθεύσουν άλλες αποδείξεις. Για παράδειγμα, ένα ενιαίο ZK-SNARK μπορεί να επαληθεύσει άλλα ZK-SNARKs. Τέτοιες «αποδείξεις αποδείξεων» ονομάζονται αναδρομικές αποδείξεις και αυξάνουν δραματικά την απόδοση των ZK-rollups.
+
+Επί του παρόντος, οι αποδείξεις εγκυρότητας δημιουργούνται βάσει μπλοκ και υποβάλλονται στο συμβόλαιο L1 για επαλήθευση. Ωστόσο, η επαλήθευση μεμονωμένων αποδείξεων μπλοκ περιορίζει την απόδοση που μπορούν να επιτύχουν τα ZK-rollup καθώς μόνο ένα μπλοκ μπορεί να οριστικοποιηθεί όταν ο χειριστής υποβάλει μια απόδειξη.
+
+Ωστόσο, οι αναδρομικές αποδείξεις καθιστούν δυνατή την ολοκλήρωση πολλών μπλοκ με μία απόδειξη εγκυρότητας. Αυτό συμβαίνει επειδή το κύκλωμα απόδειξης συγκεντρώνει αναδρομικά πολλές αποδείξεις μπλοκ έως ότου δημιουργηθεί μία τελική απόδειξη. Ο χειριστής L2 υποβάλλει αυτήν την αναδρομική απόδειξη και εάν το συμβόλαιο την αποδεχτεί, όλα τα σχετικά μπλοκ θα ολοκληρωθούν άμεσα. Με τις αναδρομικές αποδείξεις, αυξάνεται ο αριθμός των συναλλαγών ZK-rollup που μπορούν να ολοκληρωθούν στο Ethereum σε διαστήματα.
+
+### Πλεονεκτήματα και μειονεκτήματα των ZK-rollup {#zk-rollups-pros-and-cons}
+
+| Πλεονεκτήματα | Μειονεκτήματα |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Οι αποδείξεις εγκυρότητας εξασφαλίζουν τη σωστή εκτέλεση των εκτός αλυσίδας συναλλαγών και αποτρέπουν τους χειριστές από την εκτέλεση μη έγκυρων μεταβάσεων κατάστασης. | Το κόστος που σχετίζεται με τον υπολογισμό και την επαλήθευση των αποδείξεων εγκυρότητας είναι σημαντικό και μπορεί να αυξήσει τα τέλη για τους χρήστες του rollup. |
+| Προσφέρει ταχύτερη οριστικοποίηση συναλλαγών καθώς οι ενημερώσεις κατάστασης εγκρίνονται μόλις επαληθευτούν οι αποδείξεις εγκυρότητας στο L1. | Η κατασκευή συμβατών με EVM ZK-rollups είναι δύσκολη λόγω της πολυπλοκότητας της τεχνολογίας μηδενικής γνώσης. |
+| Βασίζεται σε μη αξιόπιστους κρυπτογραφικούς μηχανισμούς για την ασφάλεια, όχι στην ειλικρίνεια των κερδοσκοπικών παραγόντων όπως συμβαίνει με τα [optimistic rollup](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons). | Η παραγωγή αποδείξεων εγκυρότητας απαιτεί εξειδικευμένο υλικό, το οποίο μπορεί να ενθαρρύνει τον κεντρικό έλεγχο της αλυσίδας από λίγα μέρη. |
+| Αποθηκεύει τα δεδομένα που απαιτούνται για την ανάκτηση της εκτός αλυσίδας κατάστασης στο L1, το οποίο εγγυάται την ασφάλεια, την αντοχή στη λογοκρισία και την αποκέντρωση. | Οι κεντρικοποιημένοι χειριστές (sequencer) μπορούν να επηρεάσουν τη σειρά των συναλλαγών. |
+| Οι χρήστες επωφελούνται από μεγαλύτερη κεφαλαιακή απόδοση και μπορούν να αποσύρουν κεφάλαια από το L2 χωρίς καθυστερήσεις. | Οι απαιτήσεις υλικού μπορούν να μειώσουν τον αριθμό των συμμετεχόντων που μπορούν να αναγκάσουν την αλυσίδα να προχωρήσει, αλλά αυξάνεται ο κίνδυνος κακόβουλοι χειριστές να παγώσουν την κατάσταση του rollup και να λογοκρίνουν τους χρήστες. |
+| Δεν εξαρτάται από τις υποθέσεις επιβιωσιμότητας και οι χρήστες δε χρειάζεται να επικυρώσουν την αλυσίδα για να προστατεύσουν τα κεφάλαιά τους. | Ορισμένα συστήματα απόδειξης (π.χ., ZK-SNARK) απαιτούν μια αξιόπιστη ρύθμιση που, εάν γίνει αντικείμενο λανθασμένου χειρισμού, θα μπορούσε ενδεχομένως να θέσει σε κίνδυνο το μοντέλο ασφάλειας ενός ZK-rollup. |
+| Η καλύτερη συμπίεση δεδομένων μπορεί να βοηθήσει στη μείωση του κόστους δημοσίευσης `calldata` στο Ethereum και στη μείωση των τελών rollup για τους χρήστες. | |
+
+### Μια οπτική επεξήγηση των ZK-rollup {#zk-video}
+
+Παρακολουθήστε το Finematics να εξηγεί τα ZK-rollup:
+
+
+
+
+## Ποιος χτίζει ένα zkEVM; {#zkevm-projects}
+
+Τα έργα που χτίζουν zkEVM περιλαμβάνουν:
+
+- **[zkEVM](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _Το zkEVM είναι ένα έργο που χρηματοδοτείται από το Ίδρυμα Ethereum για την ανάπτυξη ενός συμβατού με EVM ZK-rollup και ενός μηχανισμού για τη δημιουργία αποδείξεων εγκυρότητας για μπλοκ Ethereum._
+
+- **[Polygon zkEVM](https://polygon.technology/solutions/polygon-zkevm)** - _ Το Polygon zkEVM είναι ένα αποκεντρωμένο ZK Rollup στο κύριο δίκτυο Ethereum που λειτουργεί σε μια μηχανή εικονικού Ethereum μηδενικής γνώσης (zkEVM) που εκτελεί συναλλαγές Ethereum με διαφανή τρόπο, συμπεριλαμβανομένων έξυπνων συμβολαίων με επικυρώσεις απόδειξης μηδενικής γνώσης._
+
+- **[Scroll](https://scroll.io/blog/zkEVM)** - _Το Scroll είναι μια τεχνολογική εταιρεία που εργάζεται για την κατασκευή μιας εγγενούς λύσης zkEVM Επιπέδου 2 για το Ethereum._
+
+- **[Taiko](https://taiko.xyz)** - _Το Taiko είναι ένα αποκεντρωμένο, ισοδύναμο με Ethereum ZK-rollup (ένα [ZK-EVM Τύπου 1](https://vitalik.eth.limo/general/2022/08/04/zkevm.html))._
+
+- **[ZKsync](https://docs.zksync.io/)** - _Το ZKsync Era είναι ένα συμβατό με EVM ZK Rollup που κατασκευάστηκε από τη Matter Labs, με τη χρήση του δικού της zkEVM._
+
+- **[Starknet](https://starkware.co/starknet/)** - _Το StarkNet είναι μια συμβατή με EVM λύση κλιμάκωσης επιπέδου 2 που κατασκευάστηκε από τη StarkWare._
+
+- **[Morph](https://www.morphl2.io/)** - _Το Morph είναι μια υβριδική λύση κλιμάκωσης rollup που χρησιμοποιεί απόδειξη μηδενικής γνώσης για να αντιμετωπίσει το ζήτημα της αμφισβήτησης κατάστασης στο Επίπεδο 2._
+
+## Περαιτέρω υλικό ανάγνωσης σχετικά με τα ZK-rollup {#further-reading-on-zk-rollups}
+
+- [Τι είναι τα Zero-Knowledge Rollup;](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups)
+- [Τι είναι τα zero-knowledge rollup;](https://alchemy.com/blog/zero-knowledge-rollups)
+- [Πρακτικός οδηγός για τα πακέτα ενημέρωσης Ethereum](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups)
+- [STARKs ή SNARKs](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/)
+- [Τι είναι το zkEVM;](https://www.alchemy.com/overviews/zkevm)
+- [Τύποι ZK-EVM: Ισοδύναμο Ethereum, EVM, τύπος 1, τύπος 4 και άλλες κρυπτογραφικές λέξεις](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4)
+- [Εισαγωγή στο zkEVM](https://hackmd.io/@yezhang/S1_KMMbGt)
+- [Τι είναι τα ZK-EVM L2;](https://linea.mirror.xyz/qD18IaQ4BROn_Y40EBMTUTdJHYghUtdECscSWyMvm8M)
+- [Μοναδικοί πόροι zkEVM](https://github.com/LuozhuZhang/awesome-zkevm)
+- [Λεπτομερείς εξήγηση του ZK-SNARKS](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html)
+- [Πώς είναι δυνατή η δημιουργία ZK-SNARK;](https://vitalik.eth.limo/general/2021/01/26/snarks.html)
diff --git a/public/content/translations/el/developers/docs/smart-contracts/anatomy/index.md b/public/content/translations/el/developers/docs/smart-contracts/anatomy/index.md
new file mode 100644
index 00000000000..548a5b89282
--- /dev/null
+++ b/public/content/translations/el/developers/docs/smart-contracts/anatomy/index.md
@@ -0,0 +1,658 @@
+---
+title: Ανατομία των έξυπνων συμβολαίων
+description: Μια εις βάθος ματιά στην ανατομία ενός έξυπνου συμβολαίου, τις λειτουργίες, τα δεδομένα και τις μεταβλητές.
+lang: el
+---
+
+Ένα έξυπνο συμβόλαιο είναι ένα πρόγραμμα που τρέχει σε μια διεύθυνση στο Ethereum. Αποτελούνται από δεδομένα και λειτουργίες που μπορούν να εκτελεστούν κατά τη λήψη μιας συναλλαγής. Εδώ είναι μια επισκόπηση του τι αποτελεί ένα έξυπνο συμβόλαιο.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Βεβαιωθείτε ότι έχετε διαβάσει πρώτα για τα [έξυπνα συμβόλαια](/developers/docs/smart-contracts/). Για την ανάγνωση αυτού του εγγράφου θεωρείται ότι είστε ήδη εξοικειωμένοι με γλώσσες προγραμματισμού, όπως η JavaScript ή η Python.
+
+## Δεδομένα {#data}
+
+Τυχόν δεδομένα του συμβολαίου πρέπει να ανατεθούν σε μια τοποθεσία: είτε σε `storage` ή `memory`. Απαιτεί αρκετό κόστος η τροποποίηση του αποθηκευτικού χώρου σε ένα έξυπνο συμβόλαιο, για αυτόν τον λόγο θα πρέπει να εξετάσετε προσεκτικά πού αποθηκεύονται τα δεδομένα σας.
+
+### Αποθηκευτικός χώρος {#storage}
+
+Τα μόνιμα δεδομένα αναφέρονται ως αποθηκευτικά δεδομένα και αντιπροσωπεύονται από μεταβλητές της κατάστασης. Αυτές οι τιμές αποθηκεύονται μόνιμα στην κρυπτοαλυσίδα. Πρέπει να δηλώσετε τον τύπο, έτσι ώστε το συμβόλαιο να μπορεί να παρακολουθεί πόσο αποθηκευτικό χώρο χρειάζεται στο blockchain για τη μεταγλώττιση.
+
+```solidity
+// Solidity example
+contract SimpleStorage {
+ uint storedData; // State variable
+ // ...
+}
+```
+
+```python
+# Vyper example
+storedData: int128
+```
+
+Εάν έχετε ήδη προγραμματίσει αντικειμενοστρεφείς γλώσσες, πιθανότατα θα είστε εξοικειωμένοι με τους περισσότερους τύπους. Ωστόσο, η `διεύθυνση` θα πρέπει να είναι νέα για εσάς, εάν είστε νέοι στην ανάπτυξη του Ethereum.
+
+Ένας τύπος `address` μπορεί να περιέχει μια διεύθυνση Ethereum που ισοδυναμεί με 20 bytes ή 160 bits. Επιστρέφει σε δεκαεξαδικό συμβολισμό με αρχικό 0x.
+
+Άλλοι τύποι περιλαμβάνουν:
+
+- boolean
+- integer
+- αριθμοί σταθερών σημείων
+- πίνακες byte σταθερού μεγέθους
+- πίνακες byte δυναμικού μεγέθους
+- Ορθολογικά και ακέραια κυριολεκτήματα
+- Κυριολεκτήματα συμβολοσειράς
+- Δεκαεξαδικά γράμματα
+- Αριθμοί
+
+Για περισσότερες επεξηγήσεις, ρίξτε μια ματιά στα έγγραφα:
+
+- [Δείτε τους τύπου Vyper](https://vyper.readthedocs.io/en/v0.1.0-beta.6/types.html#value-types)
+- [Δείτε τύπους Solidity](https://solidity.readthedocs.io/en/latest/types.html#value-types)
+
+### Μνήμη {#memory}
+
+Οι αξίες που αποθηκεύονται μόνο για τη διάρκεια της εκτέλεσης μιας συνάρτησης συμβολαίου ονομάζονται μεταβλητές μνήμης. Δεδομένου ότι αυτές δεν αποθηκεύονται μόνιμα στο blockchain, η χρήση τους είναι πολύ φθηνότερη.
+
+Μάθετε περισσότερα σχετικά με τον τρόπο με τον οποίο το EVM αποθηκεύει δεδομένα (Αποθήκευση, Μνήμη και Στοίβα) στα [Έγγραφα Solidity](https://solidity.readthedocs.io/en/latest/introduction-to-smart-contracts.html?highlight=memory#storage-memory-and-the-stack).
+
+### Μεταβλητές περιβάλλοντος {#environment-variables}
+
+Εκτός από τις μεταβλητές που ορίζετε στο συμβόλαιό σας, υπάρχουν ορισμένες ειδικές καθολικές μεταβλητές. Χρησιμοποιούνται κυρίως για την παροχή πληροφοριών σχετικά με το blockchain ή την τρέχουσα συναλλαγή.
+
+Παραδείγματα:
+
+| **Ρύθμιση** | **Μεταβλητή κατάστασης** | **Περιγραφή** |
+| ----------------- | ------------------------ | ----------------------------------------- |
+| `block.timestamp` | uint256 | Χρονική σήμανση τρέχουσας εποχής μπλοκ |
+| `msg.sender` | διεύθυνση | Αποστολέας του μηνύματος (τρέχουσα κλήση) |
+
+## Συναρτήσεις {#functions}
+
+Με τους πιο απλοϊκούς όρους, οι συναρτήσεις μπορούν να λάβουν πληροφορίες ή να ορίσουν πληροφορίες ως απάντηση στις εισερχόμενες συναλλαγές.
+
+Υπάρχουν δύο τύποι κλήσεων συναρτήσεων:
+
+- `internal` – αυτές δε δημιουργούν κλήση EVM
+ - Οι εσωτερικές συναρτήσεις και οι μεταβλητές κατάστασης μπορούν να προσπελαστούν μόνο εσωτερικά (δηλαδή μέσα από το τρέχον συμβόλαιο ή συμβόλαια που προκύπτουν από αυτό)
+- `external` – αυτές δημιουργούν κλήση EVM
+ - Οι εξωτερικές συναρτήσεις αποτελούν μέρος της διεπαφής συμβολαίου, πράγμα που σημαίνει ότι μπορούν να κληθούν από άλλα συμβόλαια και μέσω συναλλαγών. Μια εξωτερική συνάρτηση `f` δεν μπορεί να κληθεί εσωτερικά (δηλαδή η `f()` δεν λειτουργεί, αλλά η `this.f()` λειτουργεί).
+
+Μπορούν επίσης να είναι `public` ή `private`
+
+- Οι συναρτήσεις `public` μπορούν να κληθούν εσωτερικά μέσα από το συμβόλαιο ή εξωτερικά μέσω μηνυμάτων
+- Οι συναρτήσεις `private` είναι ορατές μόνο για το συμβόλαιο στο οποίο ορίζονται και όχι σε παράγωγα συμβόλαια
+
+Τόσο οι συναρτήσεις όσο και οι μεταβλητές κατάστασης μπορούν να γίνουν δημόσιες ή ιδιωτικές
+
+Ακολουθεί μια συνάρτηση για την ενημέρωση μεταβλητής κατάστασης σε ένα συμβόλαιο:
+
+```solidity
+// Solidity example
+function update_name(string value) public {
+ dapp_name = value;
+}
+```
+
+- Η παράμετρος `value` του τύπου `string` μεταβιβάζεται στη συνάρτηση: `update_name`
+- Έχει δηλωθεί `public`, που σημαίνει ότι μπορεί ο οποιοσδήποτε να έχει πρόσβαση σε αυτή
+- Δεν έχει δηλωθεί `view`, επομένως μπορεί να τροποποιήσει την κατάσταση του συμβολαίου
+
+### Προβολή συναρτήσεων {#view-functions}
+
+Αυτές οι συναρτήσεις υπόσχονται να μην τροποποιήσουν την κατάσταση των δεδομένων του συμβολαίου. Συνηθισμένα παραδείγματα είναι οι συναρτήσεις «getter» — μπορείτε να το χρησιμοποιήσετε για να λάβετε το υπόλοιπο ενός χρήστη, για παράδειγμα.
+
+```solidity
+// Solidity example
+function balanceOf(address _owner) public view returns (uint256 _balance) {
+ return ownerPizzaCount[_owner];
+}
+```
+
+```python
+dappName: public(string)
+
+@view
+@public
+def readName() -> string:
+ return dappName
+```
+
+Τι θεωρείται τροποποίηση κατάστασης:
+
+1. Εγγραφή σε μεταβλητές κατάστασης.
+2. [Εκπομπή συμβάντων](https://solidity.readthedocs.io/en/v0.7.0/contracts.html#events).
+3. [Δημιουργία άλλων συμβολαίων](https://solidity.readthedocs.io/en/v0.7.0/control-structures.html#creating-contracts).
+4. Χρήση `selfdestruct`.
+5. Αποστολή ether μέσω κλήσεων.
+6. Κλήση οποιασδήποτε συνάρτησης που δεν έχει επισημανθεί `view` ή `pure`.
+7. Χρήση κλήσεων χαμηλού επιπέδου.
+8. Χρήση ενσωματωμένης διάταξης που περιέχει συγκεκριμένους Opcodes.
+
+### Συναρτήσεις κατασκευαστή {#constructor-functions}
+
+Οι συναρτήσεις `constructor` εκτελούνται μόνο μία φορά κατά την αρχική ανάπτυξη του συμβολαίου. Όπως το `constructor` σε πολλές γλώσσες προγραμματισμού που βασίζονται σε κλάσεις, αυτές οι συναρτήσεις συχνά αρχικοποιούν τις μεταβλητές κατάστασης στις καθορισμένες τιμές τους.
+
+```solidity
+// Solidity example
+// Initializes the contract's data, setting the `owner`
+// to the address of the contract creator.
+constructor() public {
+ // All smart contracts rely on external transactions to trigger its functions.
+ // `msg` is a global variable that includes relevant data on the given transaction,
+ // such as the address of the sender and the ETH value included in the transaction.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
+ owner = msg.sender;
+}
+```
+
+```python
+# Vyper example
+
+@external
+def __init__(_beneficiary: address, _bidding_time: uint256):
+ self.beneficiary = _beneficiary
+ self.auctionStart = block.timestamp
+ self.auctionEnd = self.auctionStart + _bidding_time
+```
+
+### Ενσωματωμένες μεταβλητές {#built-in-functions}
+
+Εκτός από τις μεταβλητές και τις συναρτήσεις που ορίζετε στο συμβόλαιό σας, υπάρχουν ορισμένες ειδικές ενσωματωμένες συναρτήσεις. Το πιο προφανές παράδειγμα είναι:
+
+- `address.send()` – Solidity
+- `send(address)` – Vyper
+
+Αυτά επιτρέπουν στα συμβόλαια να στέλνουν ETH σε άλλους λογαριασμούς.
+
+## Σύνταξη μεταβλητών {#writing-functions}
+
+Η μεταβλητή σας χρειάζεται:
+
+- Παραμέτρους και τύπο μεταβλητής (εάν δέχεται παραμέτρους).
+- Διασάφηση εσωτερική ή εξωτερική.
+- δήλωση καθαρού/προβολή/πληρωτέο
+- Τύπος απόδοσης (αν επιστρέφει μια τιμή).
+
+```solidity
+pragma solidity >=0.4.0 <=0.6.0;
+
+contract ExampleDapp {
+ string dapp_name; // state variable
+
+ // Called when the contract is deployed and initializes the value
+ constructor() public {
+ dapp_name = "My Example dapp";
+ }
+
+ // Get Function
+ function read_name() public view returns(string) {
+ return dapp_name;
+ }
+
+ // Set Function
+ function update_name(string value) public {
+ dapp_name = value;
+ }
+}
+```
+
+Ένα πλήρες συμβόλαιο μπορεί να μοιάζει κάπως έτσι. Η συνάρτηση `constructor` παρέχει μια αρχική τιμή για τη μεταβλητή `dapp_name`.
+
+## Γεγονότα και αρχεία καταγραφής {#events-and-logs}
+
+Τα συμβάντα επιτρέπουν στο έξυπνο συμβόλαιό σας να επικοινωνεί με το περιβάλλον frontend σας ή άλλες συνδρομητικές εφαρμογές. Μόλις μια συναλλαγή επικυρωθεί και προστεθεί σε ένα μπλοκ, τα έξυπνα συμβόλαια μπορούν να εκπέμπουν συμβάντα και πληροφορίες καταγραφής, τα οποία στη συνέχεια το frontend μπορεί να επεξεργαστεί και να χρησιμοποιήσει.
+
+## Παραδείγματα με σχολιασμό {#annotated-examples}
+
+Αυτά είναι μερικά παραδείγματα γραμμένα σε Solidity. Εάν θέλετε να παίξετε με τον κώδικα, μπορείτε να αλληλεπιδράσετε μαζί του στο [Remix](http://remix.ethereum.org).
+
+### Hello world {#hello-world}
+
+```solidity
+// Specifies the version of Solidity, using semantic versioning.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
+pragma solidity ^0.5.10;
+
+// Defines a contract named `HelloWorld`.
+// A contract is a collection of functions and data (its state).
+// Once deployed, a contract resides at a specific address on the Ethereum blockchain.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
+contract HelloWorld {
+
+ // Declares a state variable `message` of type `string`.
+ // State variables are variables whose values are permanently stored in contract storage.
+ // The keyword `public` makes variables accessible from outside a contract
+ // and creates a function that other contracts or clients can call to access the value.
+ string public message;
+
+ // Similar to many class-based object-oriented languages, a constructor is
+ // a special function that is only executed upon contract creation.
+ // Constructors are used to initialize the contract's data.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
+ constructor(string memory initMessage) public {
+ // Accepts a string argument `initMessage` and sets the value
+ // into the contract's `message` storage variable).
+ message = initMessage;
+ }
+
+ // A public function that accepts a string argument
+ // and updates the `message` storage variable.
+ function update(string memory newMessage) public {
+ message = newMessage;
+ }
+}
+```
+
+### Κρυπτονόμισμα {#token}
+
+```solidity
+pragma solidity ^0.5.10;
+
+contract Token {
+ // An `address` is comparable to an email address - it's used to identify an account on Ethereum.
+ // Addresses can represent a smart contract or an external (user) accounts.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#address
+ address public owner;
+
+ // A `mapping` is essentially a hash table data structure.
+ // This `mapping` assigns an unsigned integer (the token balance) to an address (the token holder).
+ // Μάθετε περισσότερα: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types
+ mapping (address => uint) public balances;
+
+ // Τα γεγονότα επιτρέπουν την καταγραφή ενεργειών στην αλυσίδα μπλοκ.
+ // Ethereum clients can listen for events in order to react to contract state changes.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events
+ event Transfer(address from, address to, uint amount);
+
+ // Initializes the contract's data, setting the `owner`
+ // to the address of the contract creator.
+ constructor() public {
+ // All smart contracts rely on external transactions to trigger its functions.
+ // `msg` is a global variable that includes relevant data on the given transaction,
+ // such as the address of the sender and the ETH value included in the transaction.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
+ owner = msg.sender;
+ }
+
+ // Creates an amount of new tokens and sends them to an address.
+ function mint(address receiver, uint amount) public {
+ // `require` is a control structure used to enforce certain conditions.
+ // If a `require` statement evaluates to `false`, an exception is triggered,
+ // which reverts all changes made to the state during the current call.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+
+ // Only the contract owner can call this function
+ require(msg.sender == owner, "You are not the owner.");
+
+ // Enforces a maximum amount of tokens
+ require(amount < 1e60, "Maximum issuance exceeded");
+
+ // Increases the balance of `receiver` by `amount`
+ balances[receiver] += amount;
+ }
+
+ // Sends an amount of existing tokens from any caller to an address.
+ function transfer(address receiver, uint amount) public {
+ // The sender must have enough tokens to send
+ require(amount <= balances[msg.sender], "Insufficient balance.");
+
+ // Adjusts token balances of the two addresses
+ balances[msg.sender] -= amount;
+ balances[receiver] += amount;
+
+ // Emits the event defined earlier
+ emit Transfer(msg.sender, receiver, amount);
+ }
+}
+```
+
+### Μοναδικό ψηφιακό στοιχείο {#unique-digital-asset}
+
+```solidity
+pragma solidity ^0.5.10;
+
+// Imports symbols from other files into the current contract.
+// In this case, a series of helper contracts from OpenZeppelin.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#importing-other-source-files
+
+import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol";
+import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
+import "../node_modules/@openzeppelin/contracts/introspection/ERC165.sol";
+import "../node_modules/@openzeppelin/contracts/math/SafeMath.sol";
+
+// The `is` keyword is used to inherit functions and keywords from external contracts.
+// In this case, `CryptoPizza` inherits from the `IERC721` and `ERC165` contracts.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#inheritance
+contract CryptoPizza is IERC721, ERC165 {
+ // Uses OpenZeppelin's SafeMath library to perform arithmetic operations safely.
+ // Learn more: https://docs.openzeppelin.com/contracts/2.x/api/math#SafeMath
+ using SafeMath for uint256;
+
+ // Constant state variables in Solidity are similar to other languages
+ // but you must assign from an expression which is constant at compile time.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables
+ uint256 constant dnaDigits = 10;
+ uint256 constant dnaModulus = 10 ** dnaDigits;
+ bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;
+
+ // Struct types let you define your own type
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs
+ struct Pizza {
+ string name;
+ uint256 dna;
+ }
+
+ // Creates an empty array of Pizza structs
+ Pizza[] public pizzas;
+
+ // Mapping from pizza ID to its owner's address
+ mapping(uint256 => address) public pizzaToOwner;
+
+ // Mapping from owner's address to number of owned token
+ mapping(address => uint256) public ownerPizzaCount;
+
+ // Mapping from token ID to approved address
+ mapping(uint256 => address) pizzaApprovals;
+
+ // You can nest mappings, this example maps owner to operator approvals
+ mapping(address => mapping(address => bool)) private operatorApprovals;
+
+ // Internal function to create a random Pizza from string (name) and DNA
+ function _createPizza(string memory _name, uint256 _dna)
+ // The `internal` keyword means this function is only visible
+ // within this contract and contracts that derive this contract
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters
+ internal
+ // `isUnique` is a function modifier that checks if the pizza already exists
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers
+ isUnique(_name, _dna)
+ {
+ // Adds Pizza to array of Pizzas and get id
+ uint256 id = SafeMath.sub(pizzas.push(Pizza(_name, _dna)), 1);
+
+ // Checks that Pizza owner is the same as current user
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+
+ // note that address(0) is the zero address,
+ // indicating that pizza[id] is not yet allocated to a particular user.
+
+ assert(pizzaToOwner[id] == address(0));
+
+ // Maps the Pizza to the owner
+ pizzaToOwner[id] = msg.sender;
+ ownerPizzaCount[msg.sender] = SafeMath.add(
+ ownerPizzaCount[msg.sender],
+ 1
+ );
+ }
+
+ // Creates a random Pizza from string (name)
+ function createRandomPizza(string memory _name) public {
+ uint256 randDna = generateRandomDna(_name, msg.sender);
+ _createPizza(_name, randDna);
+ }
+
+ // Generates random DNA from string (name) and address of the owner (creator)
+ function generateRandomDna(string memory _str, address _owner)
+ public
+ // Functions marked as `pure` promise not to read from or modify the state
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions
+ pure
+ returns (uint256)
+ {
+ // Generates random uint from string (name) + address (owner)
+ uint256 rand = uint256(keccak256(abi.encodePacked(_str))) +
+ uint256(_owner);
+ rand = rand % dnaModulus;
+ return rand;
+ }
+
+ // Returns array of Pizzas found by owner
+ function getPizzasByOwner(address _owner)
+ public
+ // Functions marked as `view` promise not to modify state
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions
+ view
+ returns (uint256[] memory)
+ {
+ // Uses the `memory` storage location to store values only for the
+ // lifecycle of this function call.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/introduction-to-smart-contracts.html#storage-memory-and-the-stack
+ uint256[] memory result = new uint256[](ownerPizzaCount[_owner]);
+ uint256 counter = 0;
+ for (uint256 i = 0; i < pizzas.length; i++) {
+ if (pizzaToOwner[i] == _owner) {
+ result[counter] = i;
+ counter++;
+ }
+ }
+ return result;
+ }
+
+ // Transfers Pizza and ownership to other address
+ function transferFrom(address _from, address _to, uint256 _pizzaId) public {
+ require(_from != address(0) && _to != address(0), "Invalid address.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ require(_from != _to, "Cannot transfer to the same address.");
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+
+ ownerPizzaCount[_to] = SafeMath.add(ownerPizzaCount[_to], 1);
+ ownerPizzaCount[_from] = SafeMath.sub(ownerPizzaCount[_from], 1);
+ pizzaToOwner[_pizzaId] = _to;
+
+ // Emits event defined in the imported IERC721 contract
+ emit Transfer(_from, _to, _pizzaId);
+ _clearApproval(_to, _pizzaId);
+ }
+
+ /**
+ * Safely transfers the ownership of a given token ID to another address
+ * If the target address is a contract, it must implement `onERC721Received`,
+ * which is called upon a safe transfer, and return the magic value
+ * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
+ * otherwise, the transfer is reverted.
+ */
+ function safeTransferFrom(address from, address to, uint256 pizzaId)
+ public
+ {
+ // solium-disable-next-line arg-overflow
+ this.safeTransferFrom(from, to, pizzaId, "");
+ }
+
+ /**
+ * Safely transfers the ownership of a given token ID to another address
+ * If the target address is a contract, it must implement `onERC721Received`,
+ * which is called upon a safe transfer, and return the magic value
+ * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
+ * otherwise, the transfer is reverted.
+ */
+ function safeTransferFrom(
+ address from,
+ address to,
+ uint256 pizzaId,
+ bytes memory _data
+ ) public {
+ this.transferFrom(from, to, pizzaId);
+ require(_checkOnERC721Received(from, to, pizzaId, _data), "Must implement onERC721Received.");
+ }
+
+ /**
+ * Internal function to invoke `onERC721Received` on a target address
+ * The call is not executed if the target address is not a contract
+ */
+ function _checkOnERC721Received(
+ address from,
+ address to,
+ uint256 pizzaId,
+ bytes memory _data
+ ) internal returns (bool) {
+ if (!isContract(to)) {
+ return true;
+ }
+
+ bytes4 retval = IERC721Receiver(to).onERC721Received(
+ msg.sender,
+ from,
+ pizzaId,
+ _data
+ );
+ return (retval == _ERC721_RECEIVED);
+ }
+
+ // Burns a Pizza - destroys Token completely
+ // The `external` function modifier means this function is
+ // part of the contract interface and other contracts can call it
+ function burn(uint256 _pizzaId) external {
+ require(msg.sender != address(0), "Invalid address.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+
+ ownerPizzaCount[msg.sender] = SafeMath.sub(
+ ownerPizzaCount[msg.sender],
+ 1
+ );
+ pizzaToOwner[_pizzaId] = address(0);
+ }
+
+ // Returns count of Pizzas by address
+ function balanceOf(address _owner) public view returns (uint256 _balance) {
+ return ownerPizzaCount[_owner];
+ }
+
+ // Returns owner of the Pizza found by id
+ function ownerOf(uint256 _pizzaId) public view returns (address _owner) {
+ address owner = pizzaToOwner[_pizzaId];
+ require(owner != address(0), "Invalid Pizza ID.");
+ return owner;
+ }
+
+ // Approves other address to transfer ownership of Pizza
+ function approve(address _to, uint256 _pizzaId) public {
+ require(msg.sender == pizzaToOwner[_pizzaId], "Must be the Pizza owner.");
+ pizzaApprovals[_pizzaId] = _to;
+ emit Approval(msg.sender, _to, _pizzaId);
+ }
+
+ // Returns approved address for specific Pizza
+ function getApproved(uint256 _pizzaId)
+ public
+ view
+ returns (address operator)
+ {
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ return pizzaApprovals[_pizzaId];
+ }
+
+ /**
+ * Private function to clear current approval of a given token ID
+ * Reverts if the given address is not indeed the owner of the token
+ */
+ function _clearApproval(address owner, uint256 _pizzaId) private {
+ require(pizzaToOwner[_pizzaId] == owner, "Must be pizza owner.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ if (pizzaApprovals[_pizzaId] != address(0)) {
+ pizzaApprovals[_pizzaId] = address(0);
+ }
+ }
+
+ /*
+ * Sets or unsets the approval of a given operator
+ * An operator is allowed to transfer all tokens of the sender on their behalf
+ */
+ function setApprovalForAll(address to, bool approved) public {
+ require(to != msg.sender, "Cannot approve own address");
+ operatorApprovals[msg.sender][to] = approved;
+ emit ApprovalForAll(msg.sender, to, approved);
+ }
+
+ // Tells whether an operator is approved by a given owner
+ function isApprovedForAll(address owner, address operator)
+ public
+ view
+ returns (bool)
+ {
+ return operatorApprovals[owner][operator];
+ }
+
+ // Takes ownership of Pizza - only for approved users
+ function takeOwnership(uint256 _pizzaId) public {
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+ address owner = this.ownerOf(_pizzaId);
+ this.transferFrom(owner, msg.sender, _pizzaId);
+ }
+
+ // Checks if Pizza exists
+ function _exists(uint256 pizzaId) internal view returns (bool) {
+ address owner = pizzaToOwner[pizzaId];
+ return owner != address(0);
+ }
+
+ // Checks if address is owner or is approved to transfer Pizza
+ function _isApprovedOrOwner(address spender, uint256 pizzaId)
+ internal
+ view
+ returns (bool)
+ {
+ address owner = pizzaToOwner[pizzaId];
+ // Disable solium check because of
+ // https://github.com/duaraghav8/Solium/issues/175
+ // solium-disable-next-line operator-whitespace
+ return (spender == owner ||
+ this.getApproved(pizzaId) == spender ||
+ this.isApprovedForAll(owner, spender));
+ }
+
+ // Check if Pizza is unique and doesn't exist yet
+ modifier isUnique(string memory _name, uint256 _dna) {
+ bool result = true;
+ for (uint256 i = 0; i < pizzas.length; i++) {
+ if (
+ keccak256(abi.encodePacked(pizzas[i].name)) ==
+ keccak256(abi.encodePacked(_name)) &&
+ pizzas[i].dna == _dna
+ ) {
+ result = false;
+ }
+ }
+ require(result, "Pizza with such name already exists.");
+ _;
+ }
+
+ // Returns whether the target address is a contract
+ function isContract(address account) internal view returns (bool) {
+ uint256 size;
+ // Currently there is no better way to check if there is a contract in an address
+ // than to check the size of the code at that address.
+ // Δείτε το https://ethereum.stackexchange.com/a/14016/36603
+ // για περισσότερες πληροφορίες σχετικά με τον τρόπο λειτουργίας.
+ // TODO Check this again before the Serenity release, because all addresses will be
+ // contracts then.
+ // solium-disable-next-line security/no-inline-assembly
+ assembly {
+ size := extcodesize(account)
+ }
+ return size > 0;
+ }
+}
+```
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+Ελέγξτε την τεκμηρίωση του Solidity και του Vyper για μια πιο ολοκληρωμένη επισκόπηση των έξυπνων συμβολαίων:
+
+- [Solidity](https://solidity.readthedocs.io/)
+- [Vyper](https://vyper.readthedocs.io/)
+
+## Σχετικά θέματα {#related-topics}
+
+- [Smart contracts](/developers/docs/smart-contracts/)
+- [Εικονική μηχανή Ethereum](/developers/docs/evm/)
+
+## Σχετικοί οδηγοί {#related-tutorials}
+
+- [Μείωση του μεγέθους των συμβολαίων για την καταπολέμηση του ορίου μεγέθους των συμβολαίων](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _– Πρακτικές συμβουλές για τη μείωση του μεγέθους των έξυπνων συμβολαίων σας._
+- [Καταχώριση δεδομένων από έξυπνα συμβόλαια με συμβάντα](/developers/tutorials/logging-events-smart-contracts/) _– Εισαγωγή στα συμβάντα έξυπνων συμβολαίων και πώς να τα χρησιμοποιείτε για να καταχωρίζετε δεδομένα._
+- [Αλληλεπίδραση με άλλα συμβόλαια από το Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– Πώς να αναπτύξετε ένα έξυπνο συμβόλαιο από ένα υπάρχον συμβόλαιο και να αλληλεπιδράσετε με αυτό._
diff --git a/public/content/translations/el/developers/docs/smart-contracts/compiling/index.md b/public/content/translations/el/developers/docs/smart-contracts/compiling/index.md
new file mode 100644
index 00000000000..804f0da0d6f
--- /dev/null
+++ b/public/content/translations/el/developers/docs/smart-contracts/compiling/index.md
@@ -0,0 +1,282 @@
+---
+title: Μετατροπή Smart Contract
+description: Μια εξήγηση του γιατί πρέπει να συντάξετε έξυπνα συμβόλαια και τι κάνει στην πραγματικότητα η μεταγλώττιση.
+lang: el
+incomplete: true
+---
+
+Πρέπει να μεταγλωττίσετε το συμβόλαιό σας έτσι ώστε η εφαρμογή ιστού σας και η εικονική μηχανή Ethereum (EVM) να μπορούν να το κατανοήσουν.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Ίσως σας φανεί χρήσιμο να έχετε διαβάσει την εισαγωγή μας στα [έξυπνα συμβόλαια](/developers/docs/smart-contracts/) και στην [εικονική μηχανή Ethereum](/developers/docs/evm/) πριν διαβάσετε σχετικά με τη μεταγλώττιση.
+
+## Η μηχανή EVM {#the-evm}
+
+Για να μπορεί το [EVM](/developers/docs/evm/) να εκτελέσει το συμβόλαιό σας, πρέπει να είναι σε **bytecode**. Η μεταγλώττιση μετατρέπει αυτό:
+
+```solidity
+pragma solidity 0.4.24;
+
+contract Greeter {
+
+ function greet() public constant returns (string) {
+ return "Hello";
+ }
+
+}
+```
+
+**σε αυτό**
+
+```
+PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x46 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x80 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xC8 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SLT 0xec 0xe 0xf5 0xf8 SLT 0xc7 0x2d STATICCALL ADDRESS SHR 0xdb COINBASE 0xb1 BALANCE 0xe8 0xf8 DUP14 0xda 0xad DUP13 LOG1 0x4c 0xb4 0x26 0xc2 DELEGATECALL PUSH7 0x8994D3E002900
+```
+
+Αυτά ονομάζονται **opcodes**. Τα opcodes EVM είναι οι οδηγίες χαμηλού επιπέδου που μπορεί να εκτελέσει η Εικονική Μηχανή Ethereum (EVM). Κάθε opcode αντιπροσωπεύει μια συγκεκριμένη λειτουργία, όπως αριθμητικές πράξεις, λογικές πράξεις, χειρισμό δεδομένων, ροή ελέγχου κ. λπ.
+
+[Περισσότερα για τα opcodes](/developers/docs/evm/opcodes/)
+
+## Εφαρμογές ιστού {#web-applications}
+
+Ο μεταγλωττιστής θα παράγει επίσης τη **Application Binary Interface (ABI)** την οποία χρειάζεστε για να κατανοήσει η εφαρμογή σας το συμβόλαιο και να καλέσει τις λειτουργίες του συμβολαίου.
+
+Το ABI είναι ένα αρχείο JSON που περιγράφει το αναπτυγμένο συμβόλαιο και τις λειτουργίες του έξυπνου συμβολαίου του. Αυτό βοηθά στη γεφύρωση του χάσματος μεταξύ web2 και web3
+
+Μια [βιβλιοθήκη πελάτη JavaScript](/developers/docs/apis/javascript/) θα διαβάσει το **ABI** για να μπορέσετε να καλέσετε το έξυπνο συμβόλαιό σας στη διεπαφή της εφαρμογής ιστού σας.
+
+Παρακάτω είναι το ABI για το συμβόλαιο του ERC-20 token. Ένα ERC-20 είναι ένα token που μπορείτε να ανταλλάξετε στο Ethereum.
+
+```json
+[
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "name",
+ "outputs": [
+ {
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_spender",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "approve",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "totalSupply",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_from",
+ "type": "address"
+ },
+ {
+ "name": "_to",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "transferFrom",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "decimals",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint8"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [
+ {
+ "name": "_owner",
+ "type": "address"
+ }
+ ],
+ "name": "balanceOf",
+ "outputs": [
+ {
+ "name": "balance",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "symbol",
+ "outputs": [
+ {
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_to",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "transfer",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [
+ {
+ "name": "_owner",
+ "type": "address"
+ },
+ {
+ "name": "_spender",
+ "type": "address"
+ }
+ ],
+ "name": "allowance",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "payable": true,
+ "stateMutability": "payable",
+ "type": "fallback"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Approval",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "name": "from",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Transfer",
+ "type": "event"
+ }
+]
+```
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [ABI spec](https://solidity.readthedocs.io/en/v0.7.0/abi-spec.html) _– Solidity_
+
+## Σχετικά θέματα {#related-topics}
+
+- [Βιβλιοθήκες πελάτη Javascript](/developers/docs/apis/javascript/)
+- [Εικονική μηχανή Ethereum](/developers/docs/evm/)
diff --git a/public/content/translations/el/developers/docs/smart-contracts/composability/index.md b/public/content/translations/el/developers/docs/smart-contracts/composability/index.md
index 9f31f224aa9..d490a51fbe1 100644
--- a/public/content/translations/el/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/translations/el/developers/docs/smart-contracts/composability/index.md
@@ -29,7 +29,7 @@ incomplete: true
### Συντομότερος κύκλος ανάπτυξης {#shorter-development-cycle}
-Η συνθεσιμότητα μειώνει την εργασία που πρέπει να κάνουν οι προγραμματιστές κατά τη δημιουργία των [dapp](/dapps/#what-are-dapps). [Όπως σημειώνει ο Naval Ravikant:](https://twitter.com/naval/status/1444366754650656770) «Ανοιχτού κώδικα σημαίνει ότι κάθε πρόβλημα πρέπει να λυθεί μία φορά.»
+Η συνθεσιμότητα μειώνει την εργασία που πρέπει να κάνουν οι προγραμματιστές κατά τη δημιουργία των [dapp](/apps/#what-are-dapps). [Όπως σημειώνει ο Naval Ravikant:](https://twitter.com/naval/status/1444366754650656770) «Ανοιχτού κώδικα σημαίνει ότι κάθε πρόβλημα πρέπει να λυθεί μία φορά.»
Εάν υπάρχει ένα έξυπνο συμβόλαιο που λύνει ένα πρόβλημα, οι άλλοι προγραμματιστές μπορούν να το χρησιμοποιήσουν ξανά, επομένως δεν χρειάζεται να λύσουν το ίδιο πρόβλημα. Με αυτόν τον τρόπο, οι προγραμματιστές μπορούν να πάρουν υπάρχουσες βιβλιοθήκες λογισμικού και να προσθέσουν επιπλέον λειτουργίες για τη δημιουργία νέων dapp.
diff --git a/public/content/translations/el/developers/docs/smart-contracts/deploying/index.md b/public/content/translations/el/developers/docs/smart-contracts/deploying/index.md
new file mode 100644
index 00000000000..3432815b3b8
--- /dev/null
+++ b/public/content/translations/el/developers/docs/smart-contracts/deploying/index.md
@@ -0,0 +1,81 @@
+---
+title: Ανάπτυξη Smart Contract
+description:
+lang: el
+---
+
+Πρέπει να αναπτύξετε το έξυπνο συμβόλαιό σας για να είναι διαθέσιμο στους χρήστες ενός δικτύου Ethereum.
+
+Για να αναπτύξετε ένα έξυπνο συμβόλαιο, στέλνετε απλώς μια συναλλαγή Ethereum που περιέχει τον μεταγλωττισμένο κώδικα του έξυπνου συμβολαίου χωρίς να προσδιορίσετε κανέναν παραλήπτη.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Θα πρέπει να κατανοήσετε τα [δίκτυα Ethereum](/developers/docs/networks/), τις [συναλλαγές](/developers/docs/transactions/) και την [ανατομία των έξυπνων συμβολαίων](/developers/docs/smart-contracts/anatomy/) πριν αναπτύξετε έξυπνα συμβόλαια.
+
+Η ανάπτυξη ενός συμβολαίου κοστίζει επίσης Ether (ETH) καθώς αποθηκεύονται στο blockchain, επομένως θα πρέπει να είστε εξοικειωμένοι με τις [αμοιβές και τις χρεώσεις](/developers/docs/gas/) στο Ethereum.
+
+Τέλος, θα πρέπει να μεταγλωττίσετε το συμβόλαιό σας πριν το αναπτύξετε. Επομένως, βεβαιωθείτε ότι έχετε διαβάσει σχετικά με τη [μεταγλώττιση έξυπνων συμβολαίων](/developers/docs/smart-contracts/compiling/).
+
+## Πώς να αναπτύξετε ένα έξυπνο συμβόλαιο {#how-to-deploy-a-smart-contract}
+
+### Τι θα χρειαστείτε {#what-youll-need}
+
+- Ο bytecode του συμβολαίου σας – αυτός δημιουργείται μέσω [μεταγλώττισης](/developers/docs/smart-contracts/compiling/)
+- ETH για καύσιμο – θα ορίσετε το όριο αμοιβής (gas) σας όπως και άλλες συναλλαγές, επομένως να έχετε κατά νου ότι η ανάπτυξη του συμβολαίου απαιτεί πολύ περισσότερο καύσιμο από μια απλή μεταφορά ETH
+- ένα σενάριο ανάπτυξης ή πρόσθετο
+- πρόσβαση σε έναν [κόμβο Ethereum](/developers/docs/nodes-and-clients/), είτε μέσω εκτέλεσης του δικού σας, μέσω σύνδεσης σε έναν δημόσιο κόμβο ή μέσω κλειδιού API χρησιμοποιώντας [υπηρεσία κόμβου](/developers/docs/nodes-and-clients/nodes-as-a-service/)
+
+### Βήματα για την ανάπτυξη ενός έξυπνου συμβολαίου {#steps-to-deploy}
+
+Τα βήματα που απαιτούνται θα εξαρτηθούν από το εν λόγω πλαίσιο ανάπτυξης. Για παράδειγμα, μπορείτε να ελέγξετε την [τεκμηρίωση Hardhat για την ανάπτυξη των συμβολαίων σας](https://hardhat.org/guides/deploying.html) ή την [τεκμηρίωση Foundry για την ανάπτυξη και επαλήθευση ενός έξυπνου συμβολαίου](https://book.getfoundry.sh/forge/deploying). Μόλις αναπτυχθεί, το συμβόλαιό σας θα έχει μια διεύθυνση Ethereum όπως άλλοι [λογαριασμοί](/developers/docs/accounts/) και μπορεί να επαληθευτεί χρησιμοποιώντας [εργαλεία επαλήθευσης πηγαίου κώδικα](/developers/docs/smart-contracts/verifying/#source-code-verification-tools).
+
+## Σχετικά εργαλεία {#related-tools}
+
+**Remix - _Το IDE Remix επιτρέπει την ανάπτυξη, εκτέλεση και διαχείριση έξυπνων συμβολαίων για το Ethereum όπως blockchain_**
+
+- [Remix](https://remix.ethereum.org)
+
+**Tenderly - _Πλατφόρμα ανάπτυξης Web3 που παρέχει εντοπισμό σφαλμάτων, παρατηρησιμότητα και δομικά μπλοκ υποδομών για ανάπτυξη, δοκιμή, παρακολούθηση και λειτουργία έξυπνων συμβολαίων_**
+
+- [tenderly.co](https://tenderly.co/)
+- [Έγγραφα](https://docs.tenderly.co/)
+- [GitHub](https://github.com/Tenderly)
+- [Discord](https://discord.gg/eCWjuvt)
+
+**Hardhat - _Περιβάλλον ανάπτυξης για τη μεταγλώττιση, ανάπτυξη, δοκιμή και τον εντοπισμό σφαλμάτων για το λογισμικό σας Ethereum_**
+
+- [hardhat.org](https://hardhat.org/getting-started/)
+- [Έγγραφα για την ανάπτυξη των συμβολαίων σας](https://hardhat.org/guides/deploying.html)
+- [GitHub](https://github.com/nomiclabs/hardhat)
+- [Discord](https://discord.com/invite/TETZs2KK4k)
+
+**thirdweb - _Εκτελέστε εύκολα οποιοδήποτε συμβόλαιο σε οποιαδήποτε αλυσίδα συμβατή με EVM, χρησιμοποιώντας μια απλή εντολή_**
+
+- [Τεκμηρίωση](https://portal.thirdweb.com/deploy/)
+
+**Crossmint - _Πλατφόρμα ανάπτυξης web3 κατάλληλη για επιχειρήσεις που αποσκοπεί στην εκτέλεση έξυπνων συμβολαίων, την πραγματοποίηση πληρωμών μέσω πιστωτικής κάρτας και μεταξύ αλυσίδων και τη χρήση API για τη δημιουργία, διανομή, πώληση, αποθήκευση και τροποποίηση NFT._**
+
+- [crossmint.com](https://www.crossmint.com)
+- [Τεκμηρίωση](https://docs.crossmint.com)
+- [Discord](https://discord.com/invite/crossmint)
+- [Ιστολόγιο](https://blog.crossmint.com)
+
+## Σχετικοί οδηγοί {#related-tutorials}
+
+- [Πώς να αναπτύξετε το πρώτο σας έξυπνο συμβόλαιο](/developers/tutorials/deploying-your-first-smart-contract/) _– Εισαγωγή στο πώς να αναπτύξετε το πρώτο σας έξυπνο συμβόλαιο σε ένα δοκιμαστικό δίκτυο του Ethereum._
+- [Hello World | οδηγός εκμάθησης έξυπνων συμβολαίων](/developers/tutorials/hello-world-smart-contract/) _– Ένας εύκολα κατανοητός οδηγός εκμάθησης για τη δημιουργία & ανάπτυξη ενός βασικού έξυπνου συμβολαίου στο Ethereum._
+- [Αλληλεπίδραση με άλλα συμβόλαια από το Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– Πώς να αναπτύξετε ένα έξυπνο συμβόλαιο από ένα υπάρχον συμβόλαιο και να αλληλεπιδράσετε με αυτό._
+- [Πώς να μειώσετε το μέγεθος του συμβολαίου σας](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _- Πώς να μειώσετε το μέγεθος του συμβολαίου σας ώστε να μην υπερβαίνει το όριο μεγέθους και να εξοικονομεί σε αμοιβή καυσίμου_
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [https://docs.openzeppelin.com/learn/deploying-and-interacting](https://docs.openzeppelin.com/learn/deploying-and-interacting) - _OpenZeppelin_
+- [Ανάπτυξη των συμβολαίων σας με Hardhat](https://hardhat.org/guides/deploying.html) - _Nomic Labs_
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Σχετικά θέματα {#related-topics}
+
+- [Πλαίσια ανάπτυξης](/developers/docs/frameworks/)
+- [Εκτελέστε έναν κόμβο Ethereum](/developers/docs/nodes-and-clients/run-a-node/)
+- [Κόμβος-ως-υπηρεσία](/developers/docs/nodes-and-clients/nodes-as-a-service)
diff --git a/public/content/translations/el/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/el/developers/docs/smart-contracts/formal-verification/index.md
index ab6ff9a3eea..8e51d7f8193 100644
--- a/public/content/translations/el/developers/docs/smart-contracts/formal-verification/index.md
+++ b/public/content/translations/el/developers/docs/smart-contracts/formal-verification/index.md
@@ -70,7 +70,7 @@ lang: el
### Ιδιότητες τύπου Hoare {#hoare-style-properties}
-Η [λογική Hoare](https://en.wikipedia.org/wiki/Hoare_logic) παρέχει ένα σύνολο τυπικών κανόνων για τον συλλογισμό σχετικά με τη σωστή λειτουργία των προγραμμάτων, συμπεριλαμβανομένων των έξυπνων συμβολαίων. Μια ιδιότητα τύπου Hoare αντιπροσωπεύεται από ένα τριπλό Hoare {_P_}_c_{_Q_}, όπου το _c_ είναι ένα πρόγραμμα και τα _P_ και _Q_ είναι προτάσεις για την κατάσταση του _c_ (δηλαδή, του προγράμματος), που περιγράφονται επίσημα ως _προϋποθέσεις_ και _μετα-συνθήκες_, αντίστοιχα.
+Η [λογική Hoare](https://en.wikipedia.org/wiki/Hoare_logic) παρέχει ένα σύνολο τυπικών κανόνων για τον συλλογισμό σχετικά με τη σωστή λειτουργία των προγραμμάτων, συμπεριλαμβανομένων των έξυπνων συμβολαίων. Μια ιδιότητα τύπου Hoare αντιπροσωπεύεται από ένα τριπλό Hoare `{P}c{Q}`, όπου το `c` είναι ένα πρόγραμμα και τα `P` και `Q` είναι προτάσεις για την κατάσταση του `c` (δηλαδή, του προγράμματος), που περιγράφονται επίσημα ως _προϋποθέσεις_ και _μετα-συνθήκες_, αντίστοιχα.
Μια προϋπόθεση είναι μια πρόταση που περιγράφει τις συνθήκες που απαιτούνται για τη σωστή εκτέλεση μιας συνάρτησης. Οι χρήστες που καλούν το συμβόλαιο πρέπει να ικανοποιούν αυτήν την απαίτηση. Μια μετα-συνθήκη είναι μια πρόταση που περιγράφει την κατάσταση που καθορίζει μια συνάρτηση εάν εκτελεστεί σωστά. Οι χρήστες μπορούν να αναμένουν ότι αυτή η συνθήκη θα είναι αληθής μετά την κλήση της συνάρτησης. Ένα _αμετάβλητο στοιχείο_ στη λογική Hoare είναι μια πρόταση που διατηρείται με εκτέλεση συνάρτησης (δηλαδή, δεν αλλάζει).
diff --git a/public/content/translations/el/developers/docs/smart-contracts/index.md b/public/content/translations/el/developers/docs/smart-contracts/index.md
new file mode 100644
index 00000000000..dd1b02dd7a5
--- /dev/null
+++ b/public/content/translations/el/developers/docs/smart-contracts/index.md
@@ -0,0 +1,112 @@
+---
+title: Εισαγωγή στα έξυπνα συμβόλαια
+description: Μια επισκόπηση των έξυπνων συμβολαίων, περιγράφοντας τα μοναδικά χαρακτηριστικά και τους περιορισμούς τους.
+lang: el
+---
+
+## Τι είναι το έξυπνο συμβόλαιο; {#what-is-a-smart-contract}
+
+Το «έξυπνο συμβόλαιο» είναι ένα απλό πρόγραμμα που εκτελείται στην κρυπτοαλυσίδα του Ethereum. Είναι μια συλλογή από κώδικα (μεταβλητές) και δεδομένα (σταθερές) που αναφέρονται σε συγκεκριμένη διεύθυνση στην κρυπτοαλυσίδα του Ethereum.
+
+Τα έξυπνα συμβόλαια είναι ένας τύπο [λογαριασμού Ethereum](/developers/docs/accounts/). Αυτό σημαίνει ότι έχουν υπόλοιπο και μπορούν να αποτελέσουν στόχο συναλλαγών. Ωστόσο, δε διαχειρίζονται από κάποιο χρήστη, αλλά δημοσιεύονται στο δίκτυο και λειτουργούν σύμφωνα με τον προγραμματισμό τους. Οι λογαριασμοί χρήστη μπορούν να αλληλεπιδράσουν με ένα έξυπνο συμβόλαιο υποβάλλοντας συναλλαγές, που εκτελούν μια λειτουργία σύμφωνα με το έξυπνο συμβόλαιο. Τα έξυπνα συμβόλαια ορίζουν τους όρους, όπως μια κανονική σύμβαση και τους επιβάλλουν αυτόματα μέσω του κώδικά τους. Τα έξυπνα συμβόλαια δεν μπορούν να διαγραφούν από προεπιλογή και οι αλληλεπιδράσεις με αυτά είναι μη αναστρέψιμες.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Εάν ξεκινάτε τώρα ή αναζητάτε μια λιγότερο τεχνική εισαγωγή, προτείνουμε να δείτε την [εισαγωγή μας στα έξυπνα συμβόλαια](/smart-contracts/).
+
+Ενημερωθείτε σχετικά με τους [λογαριασμούς](/developers/docs/accounts/), [τις συναλλαγές](/developers/docs/transactions/) και την [εικονική μηχανή του Ethereum](/developers/docs/evm/) πριν την είσοδό σας στον κόσμο των έξυπνων συμβολαίων.
+
+## Ένας ψηφιακός αυτόματος πωλητής {#a-digital-vending-machine}
+
+Ίσως, η καλύτερη παρομοίωση ενός έξυπνου συμβολαίου με μια συσκευή αυτόματης πώλησης, όπως περιγράφηκε από τον [Nick Szabo](https://unenumerated.blogspot.com/). Με τη σωστή προσθήκη, είναι εγγυημένο ένα συγκεκριμένο αποτέλεσμα.
+
+Για αγορά από μια συσκευή αυτόματης πώλησης:
+
+```
+money + snack selection = snack dispensed
+```
+
+Αυτή η λογική προγραμματίζεται στη συσκευή αυτόματης πώλησης.
+
+Ένα έξυπνο συμβόλαιο, όπως ο αυτόματος πωλητής, έχει προγραμματιστεί ανάλογα γι αυτό. Ακολουθεί ένα απλό παράδειγμα για το πώς θα ήταν αυτό το μηχάνημα αυτόματης πώλησης αν ήταν ένα έξυπνο συμβόλαιο γραμμένο στη Solidity:
+
+```solidity
+pragma solidity 0.8.7;
+
+contract VendingMachine {
+
+ // Declare state variables of the contract
+ address public owner;
+ mapping (address => uint) public cupcakeBalances;
+
+ // When 'VendingMachine' contract is deployed:
+ // 1. set the deploying address as the owner of the contract
+ // 2. set the deployed smart contract's cupcake balance to 100
+ constructor() {
+ owner = msg.sender;
+ cupcakeBalances[address(this)] = 100;
+ }
+
+ // Allow the owner to increase the smart contract's cupcake balance
+ function refill(uint amount) public {
+ require(msg.sender == owner, "Only the owner can refill.");
+ cupcakeBalances[address(this)] += amount;
+ }
+
+ // Allow anyone to purchase cupcakes
+ function purchase(uint amount) public payable {
+ require(msg.value >= amount * 1 ether, "You must pay at least 1 ETH per cupcake");
+ require(cupcakeBalances[address(this)] >= amount, "Not enough cupcakes in stock to complete this purchase");
+ cupcakeBalances[address(this)] -= amount;
+ cupcakeBalances[msg.sender] += amount;
+ }
+}
+```
+
+Όπως η συσκευή αυτόματης πώλησης αφαιρεί την ανάγκη ύπαρξης υπαλλήλου πώλησης, έτσι τα έξυπνα συμβόλαια μπορούν να αντικαταστήσουν τους μεσάζοντες σε πολλές κατηγορίες.
+
+## Δεν απαιτείται άδεια {#permissionless}
+
+Οποιοσδήποτε μπορεί να συντάξει ένα έξυπνο συμβόλαιο και να το δημοσιεύσει στο δίκτυο. Απλά χρειάζονται γνώσεις προγραμματισμού μιας [γλώσσας για έξυπνο συμβόλαιο](/developers/docs/smart-contracts/languages/) και τα απαιτούμενα ETH για τη δημοσίευση του συμβολαίου. Η δημοσίευση ενός έξυπνου συμβολαίου, τεχνικά είναι μια συναλλαγή, οπότε χρειάζεται να πληρώσετε για το [Gas](/developers/docs/gas/) με τον ίδιο τρόπο που θα πληρωθούν οι κρατήσεις για μια μεταφορά ETH. Ωστόσο, το κόστος gas για τη δημοσίευση του συμβολαίου είναι πολύ υψηλότερο.
+
+Το Ethereum διαθέτει φιλικές γλώσσες για τον προγραμματιστή, για τη σύνταξη έξυπνων συμβολαίων όπως:
+
+- Solidity
+- Vyper
+
+[Περισσότερα για τις γλώσσες προγραμματισμού](/developers/docs/smart-contracts/languages/)
+
+Ωστόσο, θα πρέπει να μεταγλωττιστούν πριν μπορέσουν να δημοσιευθούν ώστε η εικονική μηχανή του Ethereum να μπορέσει να διαχειριστεί και αποθηκεύσει το συμβόλαιο. [Περισσότερα για τη μεταγλώττιση](/developers/docs/smart-contracts/compiling/)
+
+## Συνθετικότητα {#composability}
+
+Τα έξυπνα συμβόλαια είναι δημόσια στο Ethereum και μπορούν να θεωρηθούν ως ελεύθερα API. Αυτό σημαίνει ότι μπορείτε να επικαλεστείτε άλλα έξυπνα συμβόλαια μέσα από το δικό σας έξυπνο συμβόλαιο, ώστε να επεκτείνετε σημαντικά τις δυνατότητές του. Τα συμβόλαια μπορούν ακόμη να δημοσιεύουν άλλα συμβόλαια.
+
+Μάθετε περισσότερα σχετικά με τη [συνθετικότητα έξυπνου συμβολαίου](/developers/docs/smart-contracts/composability/).
+
+## Περιορισμοί {#limitations}
+
+Τα έξυπνα συμβόλαια από μόνα τους δεν μπορούν να λάβουν πληροφορίες για πραγματικά συμβάντα επειδή δεν μπορούν να λάβουν δεδομένα από πηγές εκτός κρυπτοαλυσίδας. Αυτό σημαίνει ότι δεν μπορούν να ανταποκριθούν σε γεγονότα στον πραγματικό κόσμο. Αυτό συμβαίνει λόγω σχεδιασμού. Με τη χρήση εξωτερικών πληροφοριών θα μπορούσε να τεθεί σε κίνδυνο η συναίνεση, η οποία είναι σημαντική για την ασφάλεια και την αποκέντρωση.
+
+Ωστόσο, είναι σημαντικό για τις εφαρμογές blockchain να μπορούν να χρησιμοποιούν δεδομένα εκτός αλυσίδας. Η λύση είναι τα [oracles](/developers/docs/oracles/) τα οποία είναι εργαλεία που συλλέγουν δεδομένα εκτός αλυσίδας και τα καθιστούν διαθέσιμα σε έξυπνα συμβόλαια.
+
+Ένας άλλος περιορισμός των έξυπνων συμβολαίων είναι το μέγιστο μέγεθος του συμβολαίου. Ένα έξυπνο συμβόλαιο μπορεί να έχει μέγιστο τα 24KB ή έως ότου εξαντληθεί το αέριο του. Αυτό μπορεί να ξεπεραστεί χρησιμοποιώντας το [The Diamond Pattern](https://eips.ethereum.org/EIPS/eip-2535).
+
+## Συμβόλαια πολλαπλών υπογραφών {#multisig}
+
+Τα συμβόλαια πολλαπλών υπογραφών είναι λογαριασμοί έξυπνων συμβολαίων που απαιτούν πολλαπλές έγκυρες υπογραφές για την εκτέλεση μιας συναλλαγής. Αυτό είναι πολύ χρήσιμο για την αποφυγή μεμονωμένων σημείων αποτυχίας για συμβόλαια που διαθέτουν σημαντικές ποσότητες ether ή άλλων κρυπτονομισμάτων. Τα Multisigs κατανέμουν επίσης την ευθύνη για την εκτέλεση του συμβολαίου και τη διαχείριση κλειδιών μεταξύ πολλών μερών και αποτρέπουν την απώλεια ενός μόνο ιδιωτικού κλειδιού που οδηγεί σε μη αναστρέψιμη απώλεια κεφαλαίων. Για αυτούς τους λόγους, τα συμβόλαια πολλαπλών υπογραφών μπορούν να χρησιμοποιηθούν για απλή διακυβέρνηση DAO. Τα πολλαπλής υπογραφής απαιτούν Ν υπογραφές από Μ πιθανές αποδεκτές υπογραφές (όπου Ν ≤ M και Μ > 1) για να εκτελεστούν. Χρησιμοποιούνται συνήθως `N = 3, M = 5` και `N = 4, M = 7`. Ένα πολλαπλής υπογραφής 4/7 απαιτεί τέσσερις από τις 7 πιθανές έγκυρες υπογραφές. Αυτό σημαίνει ότι τα κεφάλαια εξακολουθούν να μπορούν να ανακτηθούν ακόμη και αν χαθούν τρεις υπογραφές. Σε αυτή την περίπτωση, σημαίνει επίσης ότι η πλειοψηφία των κατόχων κλειδιών πρέπει να συμφωνήσει και να υπογράψει για να εκτελεστεί το συμβόλαιο.
+
+## Πηγές έξυπνου συμβολαίου {#smart-contract-resources}
+
+**Συμβόλαια OpenZeppelin -** **_Βιβλιοθήκη για ασφαλή ανάπτυξη έξυπνου συμβολαίου._**
+
+- [openzeppelin.com/contracts/](https://openzeppelin.com/contracts/)
+- [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts)
+- [Φόρουμ κοινότητας](https://forum.openzeppelin.com/c/general/16)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Coinbase: Τι είναι το έξυπνο συμβόλαιο;](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract)
+- [Chainlink: Τι είναι το έξυπνο συμβόλαιο;](https://chain.link/education/smart-contracts)
+- [Βίντεο: Απλή εξήγηση - Έξυπνο συμβόλαιο](https://youtu.be/ZE2HxTmxfrI)
+- [Cyfrin Updraft: Web3 πλατφόρμα εκμάθησης και ελέγχου](https://updraft.cyfrin.io)
diff --git a/public/content/translations/el/developers/docs/smart-contracts/languages/index.md b/public/content/translations/el/developers/docs/smart-contracts/languages/index.md
new file mode 100644
index 00000000000..a2abba55e1a
--- /dev/null
+++ b/public/content/translations/el/developers/docs/smart-contracts/languages/index.md
@@ -0,0 +1,326 @@
+---
+title: Γλώσσες προγραμματισμού Έξυπνων Συμβολαίων
+description: Μια επισκόπηση και σύγκριση των δύο κύριων γλωσσών προγραμματισμού έξυπνων συμβολαίων τις Solidity και Vyper.
+lang: el
+---
+
+Ένα μεγάλο πλεονέκτημα του Ethereum είναι ότι τα έξυπνα συμβόλαια μπορούν να δημιουργηθούν με φιλικές στη χρήση γλώσσες προγραμματισμού. Εάν έχετε εμπειρία με την Python ή [παρόμοια γλώσσα](https://wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages), μπορείτε να βρείτε μια γλώσσα με οικεία προς εσάς σύνταξη.
+
+Οι δύο κεντρικές και ενεργές γλώσσες είναι:
+
+- Solidity
+- Vyper
+
+Το Remix IDE παρέχει ένα ολοκληρωμένο περιβάλλον ανάπτυξης για τη δημιουργία και τη δοκιμή συμβολαίων τόσο στο Solidity όσο και στο Vyper. [Δοκιμάστε το Remix IDE του προγράμματος περιήγησης](https://remix.ethereum.org) για να ξεκινήσετε την κωδικοποίηση.
+
+Οι πιο έμπειροι προγραμματιστές μπορούν να χρησιμοποιήσουν τη Yul, μια ενδιάμεση γλώσσα για την [εικονική μηχανή Ethereum](/developers/docs/evm/), ή τη Yul+ μια επέκταση της Yul.
+
+Αν είστε περίεργοι και σας αρέσει να βοηθάτε με τη δοκιμή νέων γλωσσών που είναι ακόμα υπό ανάπτυξη, μπορείτε να πειραματιστείτε με την Fe, μια νέα γλώσσα για έξυπνα συμβόλαια η οποία είναι ακόμα στα σπάργανα.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Τυχών προηγούμενη εμπειρία με γλώσσες προγραμματισμού, ειδικά με τις JavaScript ή Python, μπορεί να σας βοηθήσει σημαντικά στον προγραμματισμό των έξυπνων συμβολαίων. Σας συνιστούμε επίσης να κατανοήσετε τα έξυπνα συμβόλαια ως έννοια πριν ξεκινήσετε με τη σύγκριση γλωσσών. [Εισαγωγή στα έξυπνα συμβόλαια](/developers/docs/smart-contracts/).
+
+## Η Solidity {#solidity}
+
+- Αντικειμενοστραφής, υψηλού επιπέδου γλώσσα προγραμματισμού για την υλοποίηση έξυπνων συμβολαίων.
+- Γλώσσα Curly-bracket βαθιά επηρεασμένη από την C++.
+- Στατική πληκτρολόγηση (ο τύπος μια μεταβλητής γνωστοποιείται μετά τη μεταγλώττιση).
+- Υποστήριξη:
+ - Κληρονομικότητα (μπορείτε να επεκτείνετε άλλα συμβόλαια).
+ - Βιβλιοθήκες (μπορείτε να δημιουργήσετε επαναχρησιμοποιήσιμο κώδικα που μπορείτε να καλέσετε από διαφορετικά συμβόλαια – όπως κάποιες στατικές λειτουργίες σε μια στατική κλάση σε αντικείμενο άλλης γλώσσας προγραμματισμού).
+ - Σύνθετοι τύποι καθορισμένοι από τον χρήστη.
+
+### Σημαντικοί σύνδεσμοι {#important-links}
+
+- [Έγγραφα](https://docs.soliditylang.org/en/latest/)
+- [Πύλη γλώσσας Solidity](https://soliditylang.org/)
+- [Παραδείγματα με Solidity](https://docs.soliditylang.org/en/latest/solidity-by-example.html)
+- [GitHub](https://github.com/ethereum/solidity/)
+- Το [Solidity Gitter Chatroom](https://gitter.im/ethereum/solidity) συνδέθηκε στο [Solidity Matrix Chatroom](https://matrix.to/#/#ethereum_solidity:gitter.im)
+- [Φύλλο σημειώσεων](https://reference.auditless.com/cheatsheet)
+- [Ιστολόγιο της Solidity](https://blog.soliditylang.org/)
+- [Solidity Twitter](https://twitter.com/solidity_lang)
+
+### Παράδειγμα συμβολαίου {#example-contract}
+
+```solidity
+// Αναγνωριστικό-Άδεια-SPDX: GPL-3.0
+pragma solidity >= 0.7.0;
+
+contract Coin {
+ // Η λέξη-κλειδί "public" δημιουργεί μεταβλητές
+ // αποδεκτές από άλλα συμβόλαια
+ address public minter;
+ mapping (address => uint) public balances;
+
+ // Τα γεγονότα επιτρέπουν στου πελάτες να αντιδράσει σε συγκεκριμένες
+ // αλλαγές συμβολαίων που δηλώνετε
+ event Sent(address from, address to, uint amount);
+
+ // Ο κώδικας κατασκευαστή εκτελείτε μόνο όταν το συμβόλαιο
+ // δημιουργείτε
+ constructor() {
+ minter = msg.sender;
+ }
+
+ // Αποστολή νέων κρυπτονομισμάτων σε μια διεύθυνση
+ // Μπορεί να κληθεί μόνο από τον συντάκτη του συμβολαίου
+ function mint(address receiver, uint amount) public {
+ require(msg.sender == minter);
+ require(amount < 1e60);
+ balances[receiver] += amount;
+ }
+
+ // Αποστολή υπαρχόντων κρυπτονομσμάτων
+ // από οποιονδήποτε επικαλεστεί τη διεύθυνση
+ function send(address receiver, uint amount) public {
+ require(amount <= balances[msg.sender], "Insufficient balance.");
+ balances[msg.sender] -= amount;
+ balances[receiver] += amount;
+ emit Sent(msg.sender, receiver, amount);
+ }
+}
+```
+
+Αυτό το παράδειγμα θα σας δώσει ένα δείγμα σύνταξης συμβολαίου με τη Solidity. Για περισσότερη λεπτομερή περιγραφή των λειτουργιών και των μεταβλητών, [δείτε την τεκμηρίωση](https://docs.soliditylang.org/en/latest/contracts.html).
+
+## Η Vyper {#vyper}
+
+- Κοινά χαρακτηριστικά με τη Python
+- Ισχυρή τυποποίηση
+- Μικρός και κατανοητός κώδικας μεταγλώττισης
+- Αποτελεσματική παραγωγή bytecode
+- Έχει εσκεμμένα λιγότερα χαρακτηριστικά από τη Solidity με στόχο να καταστήσει τα συμβόλαια ασφαλέστερα και ευκολότερα στον έλεγχο. Η Vyper δεν υποστηρίζει:
+ - Τροποποιητές
+ - Κληρονομικότητα
+ - Ενσωματωμένο συναρμολογητή
+ - Υπερφόρτωση μεθόδων
+ - Υπερφόρτωση τελεστών
+ - Επανάληψη κλήσεων
+ - Επανάληψη βρόγχων χωρίς όριο
+ - Δυαδικά καθορισμένα σημεία
+
+Για περισσότερες πληροφορίες, [διαβάστε το σκεπτικό της Vyper](https://vyper.readthedocs.io/en/latest/index.html).
+
+### Σημαντικοί σύνδεσμοι {#important-links-1}
+
+- [Τεκμηρίωση](https://vyper.readthedocs.io)
+- [Παραδείγματα Vyper](https://vyper.readthedocs.io/en/latest/vyper-by-example.html)
+- [Περισσότερη Vyper από παράδειγμα](https://vyper-by-example.org/)
+- [GitHub](https://github.com/vyperlang/vyper)
+- [Συνομιλία στο Discord της κοινότητας Vyper](https://discord.gg/SdvKC79cJk)
+- [Φύλλο σημειώσεων](https://reference.auditless.com/cheatsheet)
+- [Πλαίσια και εργαλεία ανάπτυξης έξυπνων συμβολαίων για Vyper](/developers/docs/programming-languages/python/)
+- [VyperPunk - μάθετε να ασφαλίζετε και να χακάρετε τα έξυπνα συμβόλαια Vyper](https://github.com/SupremacyTeam/VyperPunk)
+- [VyperExamples - παραδείγματα ευπάθειας Vyper](https://www.vyperexamples.com/reentrancy)
+- [Vyper Hub για ανάπτυξη](https://github.com/zcor/vyper-dev)
+- [Παραδείγματα μεγαλύτερων επιτυχιών των έξυπνων συμβολαίων Vyper](https://github.com/pynchmeister/vyper-greatest-hits/tree/main/contracts)
+- [Καταπληκτικοί πόροι επιμελημένοι από τη Vyper](https://github.com/spadebuilders/awesome-vyper)
+
+### Παράδειγμα {#example}
+
+```python
+# Ανοιχτή δημοπρασία
+
+# Παράμετροι δημοπρασίας
+# Ο δικαιούχος λαμβάνει χρήματα από τον υψηλότερο πλειοδότη
+beneficiary: public(address)
+auctionStart: public(uint256)
+auctionEnd: public(uint256)
+
+# Τρέχουσα κατάσταση δημοπρασίας
+highestBidder: public(address)
+highestBid: public(uint256)
+
+# Εάν οριστεί σε αληθές (true) στο τέλος, δεν επιτρέπει αλλαγές
+ended: public(bool)
+
+# Παρακολουθήστε τις επιστροφές των προσφορών, ώστε να ακολουθήσουμε το μοτίβο ανάληψης
+pendingReturns: public(HashMap[address, uint256])
+
+# Δημιουργία απλού πλειστηριασμού με `_bidding_time`
+# χρόνος υποβολής προσφορών για λογαριασμό της
+# διεύθυνσης δικαιούχου `_beneficiary`.
+@external
+def __init__(_beneficiary: address, _bidding_time: uint256):
+ self.beneficiary = _beneficiary
+ self.auctionStart = block.timestamp
+ self.auctionEnd = self.auctionStart + _bidding_time
+
+# Υποβολή προσφορών στη δημοπρασία με αποστολή της αξίας
+# μαζί με τη συναλλαγή.
+# Το ποσό θα επιστραφεί μόνο εάν
+# δεν κερδηθεί η δημοπρασία.
+@external
+@payable
+def bid():
+ # Έλεγχος εάν έληξε ο χρόνος υποβολής προσφοράς.
+ assert block.timestamp < self.auctionEnd
+ # Έλεγχος εάν η προσφορά είναι αρκετή
+ assert msg.value > self.highestBid
+ # Παρακολούθηση της επιστροφής της προηγούμενης υψηλής προσφοράς
+ self.pendingReturns[self.highestBidder] += self.highestBid
+ # Παρακολούθηση νέας υψηλότερης προσφοράς
+ self.highestBidder = msg.sender
+ self.highestBid = msg.value
+
+# Ανάληψη προηγούμενης επιστρεφόμενης προσφοράς. Το μοτίβο ανάληψης
+# χρησιμοποιείται για αποφυγή σφαλμάτων ασφαλείας. Εάν οι επιστροφές έγιναν απευθείας και
+# στάλθηκαν ως μέρος της προσφοράς(), ένα κακόβουλο συμβόλαιο μπορεί να
+# εμποδίσει αυτές τις επιστροφές και τα κομμάτια να ολοκληρωθούν.
+@external
+def withdraw():
+ pending_amount: uint256 = self.pendingReturns[msg.sender]
+ self.pendingReturns[msg.sender] = 0
+ send(msg.sender, pending_amount)
+
+# Ολοκλήρωση της δημοπρασίας και αποστολή της
+# υψηλότερης προσφοράς στο δικαιούχο.
+@external
+def endAuction():
+ # Ένας καλός οδηγός κατασκευής μεταβλητών που αλληλεπιδρούν
+ # με άλλα συμβόλαια (π.χ. κλήση μεταβλητών ή μεταφορά ether)
+ # να χωρίζεται σε τρεις φάσεις:
+ # 1. έλεγχος συνθηκών
+ # 2. εκτέλεση ενεργειών (πιθανές αλλαγές συνθηκών)
+ # 3. αλληλεπίδραση με άλλα συμβόλαια
+ # Εάν οι φάσεις αναμειγνύονται, το άλλο συμβόλαιο μπορεί να καλέσει
+ # πίσω στο τρέχων συμβόλαιο και να τροποποιήσει την κατάσταση που
+ # προκάλεσε το θέμα (πληρωμή ether) για να εκτελεστεί πολλές φορές.
+ # Εάν οι εσωτερικές μεταβλητές περιλαμβάνουν σχέση με εξωτερικά
+ # συμβόλαια, πρέπει να ληφθούν ως αλληλεπίδραση με
+ # εξωτερικά συμβόλαια.
+
+ # 1. Προϋποθέσεις
+ # Ελέγξτε το χρόνο λήξης της δημοπρασίας
+ assert block.timestamp >= self.auctionEnd
+ # Ελέγξτε εάν αυτή η μεταβλητή έχει ήδη κληθεί
+ assert not self.ended
+
+ # 2. Επηρεασμοί
+ self.ended = True
+
+ # 3. Αλληλεπίδραση
+ send(self.beneficiary, self.highestBid)
+```
+
+Αυτό το παράδειγμα θα σας δώσει ένα δείγμα σύνταξης συμβολαίου με τη Vyper. Για περισσότερη λεπτομερή περιγραφή των λειτουργιών και των μεταβλητών, [δείτε την τεκμηρίωση](https://vyper.readthedocs.io/en/latest/vyper-by-example.html#simple-open-auction).
+
+## Yul και Yul+ {#yul}
+
+Αν είστε καινούργιοι στο Ethereum και δεν έχετε χρησιμοποιήσει τις γλώσσες έξυπνων συμβολαίων ακόμα, σας συνιστούμε να ξεκινήσετε με την Solidity ή τη Vyper. Ξεκινήστε με τις Yul ή Yul+ και μόλις εξοικειωθείτε με τις βέλτιστες πρακτικές ασφάλειας έξυπνων συμβολαίων και τις ιδιαιτερότητες της αλληλεπίδρασης με το EVM.
+
+**Yul**
+
+- Μια μέση γλώσσα προγραμματισμού για το Ethereum.
+- Υποστηρίζει το [EVM](/developers/docs/evm) και το [Ewasm](https://github.com/ewasm), ένα Ethereum με στοιχεία WebAssembly και σχεδιασμό να λειτουργεί ως κοινός παρονομαστής μεταξύ των δύο πλατφορμών.
+- Ένας καλός στόχος για υψηλού επιπέδου στάδια βελτιστοποίησης που μπορούν να ωφελήσουν εξίσου τις πλατφόρμες EVM και eWASM.
+
+**Yul+**
+
+- Μια χαμηλού επιπέδου και ιδιαίτερα αποτελεσματική επέκταση της Yul.
+- Αρχικά σχεδιασμένη για συμβόλαια [optimistic rollup](/developers/docs/scaling/optimistic-rollups/).
+- Η Yul+ μπορεί να εξεταστεί ως μια πειραματική πρόταση αναβάθμισης της Yul, προσθέτοντας νέα χαρακτηριστικά.
+
+### Σημαντικοί σύνδεσμοι {#important-links-2}
+
+- [Τεκμηρίωση Yul](https://docs.soliditylang.org/en/latest/yul.html)
+- [Τεκμηρίωση Yul+](https://github.com/fuellabs/yulp)
+- [Yul+ Playground](https://yulp.fuel.sh/)
+- [Yul+ Εισαγωγικό κείμενο](https://medium.com/@fuellabs/introducing-yul-a-new-low-level-language-for-ethereum-aa64ce89512f)
+
+### Παράδειγμα συμβολαίου {#example-contract-2}
+
+Το παρακάτω απλό παράδειγμα υλοποιεί μια λειτουργία ισχύος. Μπορεί να μεταγλωττιστεί με χρήση του `solc --strict-assembly --bin input.yul`. Το παράδειγμα θα πρέπει να αποθηκευθεί στο αρχείο input.yul.
+
+```
+{
+ function power(base, exponent) -> result
+ {
+ switch exponent
+ case 0 { result := 1 }
+ case 1 { result := base }
+ default
+ {
+ result := power(mul(base, base), div(exponent, 2))
+ if mod(exponent, 2) { result := mul(base, result) }
+ }
+ }
+ let res := power(calldataload(0), calldataload(32))
+ mstore(0, res)
+ return(0, 32)
+}
+```
+
+Αν είστε ήδη εξοικειωμένοι με τα έξυπνα συμβόλαια, μια πλήρης εφαρμογή ERC20 με τη Yul μπορεί να βρεθεί [εδώ](https://solidity.readthedocs.io/en/latest/yul.html#complete-erc20-example).
+
+## Fe {#fe}
+
+- Στατική γλώσσα για την Εικονική Μηχανή του Ethereum (EVM).
+- Εμπνευσμένη από την Python και τη Rust.
+- Στοχεύει στην εύκολη εκμάθηση -- ακόμα και για προγραμματιστές που είναι νέοι στο οικοσύστημα του Ethereum.
+- Η ανάπτυξη της Fe είναι ακόμα στα αρχικά της στάδια, η γλώσσα δημοσίευσε την άλφα έκδοσή της τον Ιανουάριο του 2021.
+
+### Σημαντικοί σύνδεσμοι {#important-links-3}
+
+- [GitHub](https://github.com/ethereum/fe)
+- [Ανακοινώσεις Fe](https://snakecharmers.ethereum.org/fe-a-new-language-for-the-ethereum-ecosystem/)
+- [Fe 2021 χρονοδιάγραμμα](https://notes.ethereum.org/LVhaTF30SJOpkbG1iVw1jg)
+- [Συνομιλία Fe Discord](https://discord.com/invite/ywpkAXFjZH)
+- [Fe Twitter](https://twitter.com/official_fe)
+
+### Παράδειγμα συμβολαίου {#example-contract-3}
+
+Δείτε παρακάτω ένα απλό συμβόλαιο γραμμένο με τη FE.
+
+```
+type BookMsg = bytes[100]
+
+contract GuestBook:
+ pub guest_book: map
+
+ event Signed:
+ book_msg: BookMsg
+
+ pub def sign(book_msg: BookMsg):
+ self.guest_book[msg.sender] = book_msg
+
+ emit Signed(book_msg=book_msg)
+
+ pub def get_msg(addr: address) -> BookMsg:
+ return self.guest_book[addr].to_mem()
+
+```
+
+## Πώς να επιλέξετε {#how-to-choose}
+
+Όπως και με κάθε άλλη γλώσσα προγραμματισμού, πρόκειται κυρίως για την επιλογή του κατάλληλου εργαλείου για τη σωστή εργασία αλλά και σύμφωνα με τις προσωπικές προτιμήσεις.
+
+Δείτε παρακάτω μερικά στοιχεία προς εξέταση εάν δεν έχετε δοκιμάσει ακόμη καμία από τις γλώσσες:
+
+### Τι κάνει σπουδαία τη Solidity; {#solidity-advantages}
+
+- Αν είστε αρχάριος, μπορείτε να βρείτε πολλούς οδηγούς και εργαλεία εκμάθησης. Δείτε περισσότερα σχετικά με αυτό στην ενότητα [Μάθετε προγραμματίζοντας](/developers/learning-tools/).
+- Διαθέσιμα εργαλεία προγραμματιστών.
+- Η Solidity έχει μια μεγάλη κοινότητα προγραμματιστών, πράγμα που σημαίνει ότι πιθανότατα θα βρείτε απαντήσεις αρκετά γρήγορα.
+
+### Τι κάνει σπουδαία τη Vyper; {#vyper-advatages}
+
+- Εξαιρετικός τρόπος για να ξεκινήσετε προγραμματισμό με τη Python στη σύνταξη έξυπνων συμβολαίων.
+- Η Vyper έχει μικρότερο αριθμό χαρακτηριστικών που το καθιστά σημαντικό στη γρήγορη πρωτοτυποποίηση ιδεών.
+- Η Vyper στοχεύει να γίνει εύκολη στον έλεγχο και μέγιστα αναγνώσιμη από τον άνθρωπο.
+
+### Τι κάνει σπουδαίες τις Yul και Yul+; {#yul-advantages}
+
+- Απλουστευμένη και λειτουργική γλώσσα χαμηλού επιπέδου.
+- Επιτρέπει να πλησιάσετε πολύ περισσότερο την επεξεργασία του EVM, όπου μπορεί να βοηθήσει στη βελτιστοποίηση του κόστους χρήσης των συμβολαίων.
+
+## Συγκρίσεις γλωσσών {#language-comparisons}
+
+Για συγκρίσεις της βασικής σύνταξης, του κύκλου ζωής των συμβολαίων, διεπαφές, χειριστές, των δομών δεδομένων, των λειτουργιών, της ροής ελέγχου και άλλα περισσότερα ελέγξτε το [φύλλο σημειώσεων από Auditless](https://reference.auditless.com/cheatsheet/)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Βιβλιοθήκη Συμβολαίων Solidity του OpenZeppelin](https://docs.openzeppelin.com/contracts)
+- [Παραδείγματα με Solidity](https://solidity-by-example.org)
diff --git a/public/content/translations/el/developers/docs/smart-contracts/libraries/index.md b/public/content/translations/el/developers/docs/smart-contracts/libraries/index.md
new file mode 100644
index 00000000000..7f7b969f47a
--- /dev/null
+++ b/public/content/translations/el/developers/docs/smart-contracts/libraries/index.md
@@ -0,0 +1,117 @@
+---
+title: Βιβλιοθήκες Έξυπνων Συμβολαίων
+description:
+lang: el
+---
+
+Σε κάθε έργο, δε χρειάζεται να γράψετε κάθε έξυπνο συμβόλαιο από το μηδέν. Υπάρχουν πολλές διαθέσιμες βιβλιοθήκες έξυπνου συμβολαίου ανοιχτού κώδικα, που παρέχουν επαναχρησιμοποιήσιμα δομικά στοιχεία για το έργο σας, χωρίς να χρειάζεται να ανακαλύψετε τον τροχό.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Προτού καταπιαστείτε με τις βιβλιοθήκες έξυπνων συμβολαίων, είναι καλή ιδέα να έχετε κατανοήσει επαρκώς τη δομή ενός έξυπνου συμβολαίου. Μεταβείτε στην [ανατομία των έξυπνων συμβολαίων](/developers/docs/smart-contracts/anatomy/) αν δεν το έχετε κάνει ήδη.
+
+## Τι περιέχει η βιβλιοθήκη {#whats-in-a-library}
+
+Συνήθως μπορείτε να βρείτε δύο είδη δομικών στοιχείων στις βιβλιοθήκες έξυπνων συμβολαίων: επαναχρησιμοποιήσιμες συμπεριφορές που μπορείτε να προσθέσετε στα συμβόλαιά σας και υλοποιήσεις διαφόρων προτύπων.
+
+### Επαναληψιμότητα {#behaviors}
+
+Κατά τη συγγραφή έξυπνων συμβολαίων, υπάρχει μεγάλη πιθανότητα να βρεθείτε να γράφετε παρόμοια μοτίβα ξανά και ξανά, όπως η ανάθεση μιας διεύθυνσης _διαχειριστή_ για την εκτέλεση προστατευμένων λειτουργιών σε ένα συμβόλαιο ή η προσθήκη ενός κουμπιού έκτακτης _παύσης_ σε περίπτωση απροσδόκητου προβλήματος.
+
+Οι βιβλιοθήκες έξυπνων συμβολαίων συνήθως παρέχουν επαναχρησιμοποιήσιμες υλοποιήσεις αυτών των συμπεριφορών ως [βιβλιοθήκες](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#libraries) ή μέσω [κληρονομικότητας](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#inheritance) στη Solidity.
+
+Ως παράδειγμα, παρακάτω είναι μια απλοποιημένη έκδοση της [`Ownable` σύμβασης](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol) από τη [βιβλιοθήκη OpenZeppelin Contracts](https://github.com/OpenZeppelin/openzeppelin-contracts), η οποία ορίζει μια διεύθυνση ως ιδιοκτήτη μιας σύμβασης και παρέχει έναν τροποποιητή για τον περιορισμό της πρόσβασης σε μια μέθοδο μόνο σε αυτόν τον ιδιοκτήτη.
+
+```solidity
+contract Ownable {
+ address public owner;
+
+ constructor() internal {
+ owner = msg.sender;
+ }
+
+ modifier onlyOwner() {
+ require(owner == msg.sender, "Ownable: caller is not the owner");
+ _;
+ }
+}
+```
+
+Για να χρησιμοποιήσετε ένα τέτοιο δομικό στοιχείο στο συμβόλαιό σας, θα πρέπει πρώτα να το εισαγάγετε και στη συνέχεια να το επεκτείνετε στα δικά σας συμβόλαια. Αυτό θα σας επιτρέψει να χρησιμοποιήσετε τον τροποποιητή που παρέχεται από το βασικό συμβόλαιο `Ownable` για να ασφαλίσετε τις δικές σας συναρτήσεις.
+
+```solidity
+import ".../Ownable.sol"; // Path to the imported library
+
+contract MyContract is Ownable {
+ // The following function can only be called by the owner
+ function secured() onlyOwner public {
+ msg.sender.transfer(1 ether);
+ }
+}
+```
+
+Ένα άλλο δημοφιλές παράδειγμα είναι το [SafeMath](https://docs.openzeppelin.com/contracts/3.x/utilities#math) ή το [DsMath](https://dappsys.readthedocs.io/en/latest/ds_math.html). Πρόκειται για βιβλιοθήκες (σε αντίθεση με τα βασικά συμβόλαια) που παρέχουν αριθμητικές συναρτήσεις με ελέγχους υπέρβασης, οι οποίες δεν παρέχονται από τη γλώσσα. Είναι καλή πρακτική να χρησιμοποιείτε μία από αυτές τις βιβλιοθήκες αντί για εγγενείς αριθμητικές πράξεις για να προφυλάξετε το συμβόλαιό σας από υπερβάσεις, οι οποίες μπορούν να έχουν καταστροφικές συνέπειες!
+
+### Πρότυπα {#standards}
+
+Για να διευκολυνθεί η [συνθετικότητα και η διαλειτουργικότητα](/developers/docs/smart-contracts/composability/), η κοινότητα Ethereum έχει ορίσει αρκετά πρότυπα με τη μορφή **ERC**. Μπορείτε να διαβάσετε περισσότερα για αυτά στην ενότητα σχετικά με τα [πρότυπα](/developers/docs/standards/).
+
+Όταν περιλαμβάνετε ένα ERC ως μέρος των συμβολαίων σας, είναι καλή ιδέα να αναζητήσετε τυπικές υλοποιήσεις αντί να προσπαθήσετε να αναπτύξετε τη δική σας. Πολλές βιβλιοθήκες έξυπνων συμβολαίων περιλαμβάνουν εφαρμογές για τα πιο δημοφιλή ERC. Για παράδειγμα, το πανταχού παρόν [πρότυπο ανταλλάξιμου token ERC20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) μπορεί να βρεθεί στο [HQ20](https://github.com/HQ20/contracts/blob/master/contracts/token/README.md), [DappSys](https://github.com/dapphub/ds-token/) και [OpenZeppelin](https://docs.openzeppelin.com/contracts/3.x/erc20). Επιπλέον, ορισμένα ERC παρέχουν επίσης κανονικές υλοποιήσεις ως μέρος του ίδιου του ERC.
+
+Αξίζει να αναφερθεί ότι ορισμένα ERC δεν είναι αυτόνομα, αλλά είναι προσθήκες σε άλλα ERC. Για παράδειγμα, το [ERC2612](https://eips.ethereum.org/EIPS/eip-2612) προσθέτει μια επέκταση στο ERC20 για βελτίωση της χρηστικότητάς του.
+
+## Πώς να προσθέσετε μια βιβλιοθήκη {#how-to}
+
+Ανατρέξτε πάντα στην τεκμηρίωση της βιβλιοθήκης που συμπεριλαμβάνετε για συγκεκριμένες οδηγίες σχετικά με τον τρόπο συμπερίληψής της στο έργο σας. Αρκετές βιβλιοθήκες συμβολαίων Solidity συσκευάζονται χρησιμοποιώντας `npm`, οπότε μπορείτε απλώς να τους κάνετε εγκατάσταση `npm install`. Τα περισσότερα εργαλεία για τη [μεταγλώττιση](/developers/docs/smart-contracts/compiling/) συμβολαίων θα εξετάσουν το `node_modules` σας για βιβλιοθήκες έξυπνων συμβολαίων, ώστε να μπορείτε να κάνετε τα εξής:
+
+```solidity
+// This will load the @openzeppelin/contracts library from your node_modules
+import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
+
+contract MyNFT is ERC721 {
+ constructor() ERC721("MyNFT", "MNFT") public { }
+}
+```
+
+Ανεξάρτητα από τη μέθοδο που χρησιμοποιείτε, όταν συμπεριλαμβάνετε μια βιβλιοθήκη, έχετε πάντα τον νου σας στην έκδοση της [γλώσσας](/developers/docs/smart-contracts/languages/). Για παράδειγμα, δεν μπορείτε να χρησιμοποιήσετε μια βιβλιοθήκη για Solidity 0.6 εάν γράφετε τα συμβόλαιά σας σε Solidity 0.5.
+
+## Πότε να το χρησιμοποιήσετε {#when-to-use}
+
+Η χρήση μιας βιβλιοθήκης έξυπνων συμβολαίων για το έργο σας έχει αρκετά οφέλη. Πρώτα απ' όλα, σας εξοικονομεί χρόνο παρέχοντάς σας έτοιμα προς χρήση δομικά στοιχεία που μπορείτε να συμπεριλάβετε στο σύστημά σας, αντί να πρέπει να τα κωδικοποιήσετε μόνοι σας.
+
+Η ασφάλεια είναι επίσης ένα μεγάλο πλεονέκτημα. Οι βιβλιοθήκες ανοιχτού κώδικα έξυπνων συμβολαίων επίσης υποβάλλονται συχνά σε αυστηρό έλεγχο. Δεδομένου ότι πολλά έργα εξαρτώνται από αυτές, υπάρχει ισχυρό κίνητρο εκ μέρους της κοινότητας να παραμένουν υπό συνεχή αναθεώρηση. Είναι πολύ πιο συνηθισμένο να εντοπίζονται σφάλματα στον κώδικα εφαρμογής παρά σε επαναχρησιμοποιούμενες βιβλιοθήκες συμβολαίων. Ορισμένες βιβλιοθήκες υποβάλλονται επίσης σε [εξωτερικούς ελέγχους](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audits) για πρόσθετη ασφάλεια.
+
+Ωστόσο, η χρήση βιβλιοθηκών έξυπνων συμβολαίων ενέχει τον κίνδυνο να συμπεριλάβετε στο έργο σας κώδικα που δεν γνωρίζετε. Όσο δελεαστική και να είναι η εισαγωγή ενός συμβολαίου και η συμπερίληψή του απευθείας στο έργο σας, αν δεν έχετε κατανοήσει επαρκώς του τι κάνει αυτό το συμβόλαιο, μπορεί να εισαγάγετε κατά λάθος ένα πρόβλημα στο σύστημά σας λόγω απροσδόκητης συμπεριφοράς. Φροντίστε πάντα να διαβάζετε την τεκμηρίωση του κώδικα που εισάγετε και στη συνέχεια να εξετάζετε τον ίδιο τον κώδικα, πριν τον ενσωματώσετε στο έργο σας!
+
+Τέλος, όταν αποφασίζετε εάν θα συμπεριλάβετε μια βιβλιοθήκη, λάβετε υπόψη σας τη συνολική της χρήση. Τα πλεονεκτήματα μιας ευρέως χρησιμοποιούμενης βιβλιοθήκη είναι ότι έχει μια μεγαλύτερη κοινότητα και περισσότερα μάτια που την εξετάζουν για προβλήματα. Πρωταρχική προτεραιότητά σας όταν προγραμματίζετε με έξυπνα συμβόλαια πρέπει να είναι η ασφάλεια!
+
+## Σχετικά εργαλεία {#related-tools}
+
+**OpenZeppelin Contracts -** **_ Η πιο δημοφιλής βιβλιοθήκη για ασφαλή ανάπτυξη έξυπνων συμβολαίων._**
+
+- [Έγγραφα](https://docs.openzeppelin.com/contracts/)
+- [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts)
+- [Φόρουμ κοινότητας](https://forum.openzeppelin.com/c/general/16)
+
+**DappSys -** **_Ασφαλή, απλό, με ευέλικτα δομικά στοιχεία για έξυπνα συμβόλαια._**
+
+- [Έγγραφα](https://dappsys.readthedocs.io/)
+- [GitHub](https://github.com/dapphub/dappsys)
+
+**HQ20 -** **_Ένα έργο Solidity με συμβόλαια, βιβλιοθήκες και παραδείγματα για να σας βοηθήσει να κατασκευάσετε πλήρως λειτουργικές αποκεντρωμένες εφαρμογές για τον πραγματικό κόσμο._**
+
+- [GitHub](https://github.com/HQ20/contracts)
+
+**thirdweb Solidity SDK -** **_Παρέχει τα απαραίτητα εργαλεία για την αποτελεσματική κατασκευή προσαρμοσμένων έξυπνων συμβολαίων._**
+
+- [Τεκμηρίωση](https://portal.thirdweb.com/contracts/build/overview)
+- [GitHub](https://github.com/thirdweb-dev/contracts)
+
+## Σχετικοί οδηγοί {#related-tutorials}
+
+- [Συμβουλές ασφαλείας για προγραμματιστές Ethereum](/developers/docs/smart-contracts/security/) _ – Οδηγός εκμάθησης σχετικά με ζητήματα ασφαλείας κατά την ανάπτυξη έξυπνων συμβολαίων, συμπεριλαμβανομένης της χρήσης βιβλιοθηκών._
+- [Κατανόηση του έξυπνου συμβολαίου token ERC-20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _– Οδηγός εκμάθησης για το πρότυπο ERC20, που παρέχεται από πολλαπλές βιβλιοθήκες._
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/smart-contracts/security/index.md b/public/content/translations/el/developers/docs/smart-contracts/security/index.md
new file mode 100644
index 00000000000..431ed250d19
--- /dev/null
+++ b/public/content/translations/el/developers/docs/smart-contracts/security/index.md
@@ -0,0 +1,580 @@
+---
+title: Ασφάλεια έξυπνου συμβολαίου
+description: Μια επισκόπηση οδηγιών για την κατασκευή ασφαλών έξυπνων συμβολαίων Ethereum
+lang: el
+---
+
+Τα έξυπνα συμβόλαια είναι εξαιρετικά ευέλικτα και ικανά να ελέγχουν μεγάλες ποσότητες αξίας και δεδομένων, ενώ παράλληλα εκτελούν αμετάβλητη λογική με βάση τον κώδικα που αναπτύσσεται στο blockchain. Αυτό δημιούργησε ένα ζωντανό οικοσύστημα έμπιστων και αποκεντρωμένων εφαρμογών που προσφέρουν πολλά πλεονεκτήματα σε σχέση με τα παλαιά συστήματα. Ωστόσο, παρέχουν επίσης ευκαιρίες σε επιτιθέμενους που επιδιώκουν να αποκομίσουν κέρδος εκμεταλλευόμενοι τα τρωτά σημεία στα έξυπνα συμβόλαια.
+
+Τα δημόσια blockchain, όπως το Ethereum, περιπλέκουν περαιτέρω το ζήτημα της ασφάλειας των έξυπνων συμβολαίων. Ο αναπτυγμένος κώδικας συμβολαίων _συνήθως_ δεν μπορεί να αλλάξει για να διορθώσει τρωτότητες της ασφάλειας, ενώ τα περιουσιακά στοιχεία που αποσπώνται από έξυπνα συμβόλαια είναι εξαιρετικά δύσκολο να εντοπιστούν και η ανάκτησή τους είναι ως επί το πλείστον αδύνατη λόγω του αμετακλήτου τους.
+
+Αν και οι αριθμοί διαφέρουν, εκτιμάται ότι το συνολικό ποσό αξίας που κλάπηκε ή χάθηκε λόγω ελαττωμάτων ασφαλείας στα έξυπνα συμβόλαια υπερβαίνει άνετα το 1 δισεκατομμύριο δολάρια. Αυτό περιλαμβάνει υψηλού προφίλ περιστατικά, όπως το [hack του DAO](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (3,6 εκατομμύρια ETH κλαπέντα, αξίας άνω του 1 δισεκατομμυρίου δολαρίων σε σημερινές τιμές), το [hack του πορτοφολιού πολλαπλών υπογραφών Parity](https://www.coindesk.com/markets/2017/07/19/30-million-ether-reported-stolen-due-to-parity-wallet-breach) (30 εκατομμύρια δολάρια χάθηκαν από χάκερ) και το πρόβλημα του [παγωμένου πορτοφολιού Parity](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (πάνω από 300 εκατομμύρια ETH κλειδωμένα για πάντα).
+
+Τα προαναφερθέντα ζητήματα καθιστούν επιτακτική την ανάγκη οι προγραμματιστές να καταβάλουν προσπάθειες για την ανάπτυξη ασφαλών, εύρωστων και ανθεκτικών έξυπνων συμβολαίων. Η ασφάλεια των έξυπνων συμβολαίων είναι σοβαρή υπόθεση και κάθε προγραμματιστής θα πρέπει να μάθει γι' αυτή. Αυτός ο οδηγός θα καλύψει ζητήματα ασφάλειας για προγραμματιστές Ethereum και θα εξερευνήσει πόρους για τη βελτίωση της ασφάλειας των έξυπνων συμβολαίων.
+
+## Προαπαιτούμενα {#prerequisites}
+
+Βεβαιωθείτε ότι είστε εξοικειωμένοι με τα βασικά της [ανάπτυξης έξυπνων συμβολαίων](/developers/docs/smart-contracts/) πριν ασχοληθείτε με ζητήματα ασφάλειας.
+
+## Οδηγίες για την κατασκευή ασφαλών έξυπνων συμβολαίων Ethereum {#smart-contract-security-guidelines}
+
+### 1. Σχεδιάστε κατάλληλους ελέγχους πρόσβασης {#design-proper-access-controls}
+
+Στα έξυπνα συμβόλαια, οι συναρτήσεις που επισημαίνονται ως `public` ή `external` μπορούν να καλούνται από οποιονδήποτε λογαριασμό εξωτερικού κατόχου (EOA) ή λογαριασμό συμβολαίου. Είναι απαραίτητο να ορίσετε δημόσια ορατότητα για τις συναρτήσεις εάν θέλετε οι άλλοι να αλληλεπιδράσουν με το συμβόλαιό σας. Ωστόσο, οι συναρτήσεις που επισημαίνονται ως `private` μπορούν να καλούνται μόνο από συναρτήσεις εντός του έξυπνου συμβολαίου και όχι από εξωτερικούς λογαριασμούς. Η παροχή πρόσβασης σε όλους τους συμμετέχοντες του δικτύου στις συναρτήσεις συμβολαίων μπορεί να προκαλέσει προβλήματα, ειδικά αν σημαίνει ότι ο καθένας μπορεί να εκτελέσει ευαίσθητες λειτουργίες (π.χ. δημιουργία νέων token).
+
+Για την πρόληψη μη εξουσιοδοτημένης χρήσης των συναρτήσεων έξυπνων συμβολαίων, είναι απαραίτητο να εφαρμοστούν ασφαλείς έλεγχοι πρόσβασης. Οι μηχανισμοί ελέγχου πρόσβασης περιορίζουν τη δυνατότητα χρήσης ορισμένων συναρτήσεων σε ένα έξυπνο συμβόλαιο σε εξουσιοδοτημένες οντότητες, όπως λογαριασμούς υπεύθυνους για τη διαχείριση του συμβολαίου. Το **μοτίβο Ownable** και ο **έλεγχος βασισμένος σε ρόλους** είναι δύο μοτίβα χρήσιμα για την εφαρμογή ελέγχου πρόσβασης σε έξυπνα συμβόλαια:
+
+#### Μοτίβο Ownable {#ownable-pattern}
+
+Στο μοτίβο Ownable, μια διεύθυνση ορίζεται ως «ιδιοκτήτης» του συμβολαίου κατά τη διαδικασία δημιουργίας ενός συμβολαίου. Οι προστατευμένες συναρτήσεις ανατίθενται σε έναν τροποποιητή `OnlyOwner`, ο οποίος εξασφαλίζει ότι το συμβόλαιο εξακριβώνει την ταυτότητα της διεύθυνσης κλήσης πριν εκτελέσει τη συνάρτηση. Οι κλήσεις σε προστατευμένες συναρτήσεις από άλλες διευθύνσεις, εκτός από τον ιδιοκτήτη του συμβολαίου, πάντα επιστρέφουν αποτέλεσμα, αποτρέποντας την ανεπιθύμητη πρόσβαση.
+
+#### Έλεγχος πρόσβασης βάσει ρόλων {#role-based-access-control}
+
+Η καταχώριση μιας μεμονωμένης διεύθυνσης ως `Owner` σε ένα έξυπνο συμβόλαιο εισάγει τον κίνδυνο συγκεντρωτισμού και αντιπροσωπεύει ένα μοναδικό σημείο αποτυχίας. Εάν τα κλειδιά λογαριασμού του ιδιοκτήτη παραβιαστούν, οι επιτιθέμενοι μπορούν να επιτεθούν στην ιδιοκτησία του συμβολαίου. Γι' αυτό, η χρήση ενός μοτίβου ελέγχου πρόσβασης βασισμένου σε ρόλους με πολλούς λογαριασμούς διαχείρισης μπορεί να είναι μια καλύτερη επιλογή.
+
+Στον έλεγχο πρόσβασης που βασίζεται σε ρόλους, η πρόσβαση σε ευαίσθητες συναρτήσεις κατανέμεται μεταξύ μιας ομάδας έμπιστων συμμετεχόντων. Για παράδειγμα, ένας λογαριασμός μπορεί να είναι υπεύθυνος για τη δημιουργία token, ενώ ένας άλλος λογαριασμός εκτελεί αναβαθμίσεις ή θέτει σε παύση το συμβόλαιο. Η αποκέντρωση του ελέγχου πρόσβασης με αυτόν τον τρόπο εξαλείφει τα μοναδικά σημεία αποτυχίας και μειώνει τις παραδοχές εμπιστοσύνης για τους χρήστες.
+
+##### Χρήση πορτοφολιών πολλαπλών υπογραφών
+
+Μια άλλη προσέγγιση για την εφαρμογή ασφαλούς ελέγχου πρόσβασης είναι η χρήση ενός [λογαριασμού πολλαπλών υπογραφών](/developers/docs/smart-contracts/#multisig) για τη διαχείριση ενός συμβολαίου. Σε αντίθεση με έναν κανονικό EOA, οι λογαριασμοί πολλαπλών υπογραφών ανήκουν σε πολλές οντότητες και απαιτούν υπογραφές από έναν ελάχιστο αριθμό λογαριασμών, ας πούμε από 3 στους 5, για την εκτέλεση συναλλαγών.
+
+Η χρήση ενός λογαριασμού πολλαπλών υπογραφών για τον έλεγχο πρόσβασης εισάγει ένα επιπλέον επίπεδο ασφάλειας, καθώς οι ενέργειες του συμβολαίου απαιτούν τη συγκατάθεση πολλών μερών. Αυτό είναι ιδιαίτερα χρήσιμο εάν είναι απαραίτητη η χρήση του μοτίβου Ownable, καθώς καθιστά πιο δύσκολο για έναν επιτιθέμενο ή απείθαρχο χρήστη να χειραγωγήσει ευαίσθητες συναρτήσεις συμβολαίων για κακόβουλους σκοπούς.
+
+### 2. Χρήση εντολών require(), assert() και revert() για την προστασία των λειτουργιών του συμβολαίου {#use-require-assert-revert}
+
+Όπως αναφέρθηκε, ο καθένας μπορεί να καλεί δημόσιες συναρτήσεις στο έξυπνο συμβόλαιό σας μόλις αυτό αναπτυχθεί στο blockchain. Δεδομένου ότι δεν μπορείτε να γνωρίζετε εκ των προτέρων πώς οι εξωτερικοί λογαριασμοί θα αλληλεπιδράσουν με ένα συμβόλαιο, θα πρέπει ιδανικά να εφαρμόσετε εσωτερικές δικλείδες ασφαλείας κατά των προβληματικών επιχειρησιακών λειτουργιών πριν από την ανάπτυξη. Μπορείτε να επιβάλετε τη σωστή συμπεριφορά στα έξυπνα συμβόλαια χρησιμοποιώντας τις εντολές `require()`, `assert()` και `revert()` για να προκαλέσετε εξαιρέσεις και να αναστρέψετε τις αλλαγές κατάστασης εάν η εκτέλεση δεν ικανοποιεί ορισμένες απαιτήσεις.
+
+**`require()`**: Το `require` ορίζεται στην αρχή των συναρτήσεων και εξασφαλίζει ότι πληρούνται οι προκαθορισμένες συνθήκες πριν εκτελεστεί η καλούμενη συνάρτηση. Μια εντολή `require` μπορεί να χρησιμοποιηθεί για την επικύρωση στοιχείων εισόδου του χρήστη, τον έλεγχο μεταβλητών κατάστασης ή τον έλεγχο ταυτότητας της διεύθυνσης κλήσης πριν προχωρήσετε σε μια συνάρτηση.
+
+**`assert()`**: Το `assert()` χρησιμοποιείται για τον εντοπισμό εσωτερικών σφαλμάτων και τον έλεγχο για παραβιάσεις «αμετάβλητων» του κώδικά σας. Ένα αμετάβλητο είναι μια λογική διαπίστωση σχετικά με την κατάσταση ενός συμβολαίου που θα πρέπει να ισχύει για όλες τις εκτελέσεις συναρτήσεων. Ένα παράδειγμα αμεταβλήτου είναι η μέγιστη συνολική προσφορά ή ισορροπία ενός συμβολαίου κρυπτονομίσματος. Η χρήση του `assert()` διασφαλίζει ότι το συμβόλαιό σας δεν φτάνει ποτέ σε μια ευάλωτη κατάσταση και εάν το κάνει, όλες οι αλλαγές στις μεταβλητές κατάστασης αναιρούνται.
+
+**`revert()`**: Το `revert()` μπορεί να χρησιμοποιηθεί σε μια εντολή if-else που προκαλεί μια εξαίρεση εάν η απαιτούμενη συνθήκη δεν ικανοποιείται. Το παρακάτω παράδειγμα συμβολαίου χρησιμοποιεί το `revert()` για την προφύλαξη της εκτέλεσης των συναρτήσεων:
+
+```
+pragma solidity ^0.8.4;
+
+contract VendingMachine {
+ address owner;
+ error Unauthorized();
+ function buy(uint amount) public payable {
+ if (amount > msg.value / 2 ether)
+ revert("Not enough Ether provided.");
+ // Perform the purchase.
+ }
+ function withdraw() public {
+ if (msg.sender != owner)
+ revert Unauthorized();
+
+ payable(msg.sender).transfer(address(this).balance);
+ }
+}
+```
+
+### 3. Δοκιμή έξυπνων συμβολαίων και επαλήθευση ορθότητας κώδικα {#test-smart-contracts-and-verify-code-correctness}
+
+Η αμεταβλητότητα του κώδικα που εκτελείται στο [Εικονικό μηχάνημα του Ethereum (Ethereum Virtual Machine)](/developers/docs/evm/) σημαίνει ότι τα έξυπνα συμβόλαια απαιτούν υψηλότερο επίπεδο αξιολόγησης ποιότητας κατά τη φάση ανάπτυξης. Η υποβολή του συμβολαίου σας σε εκτεταμένη δοκιμή και η παρακολούθησή του για τυχόν απροσδόκητα αποτελέσματα θα βελτιώσει σημαντικά την ασφάλεια και θα προστατεύσει τους χρήστες σας μακροπρόθεσμα.
+
+Η συνήθης μέθοδος είναι να γράψετε μικρές μονάδες δοκιμής χρησιμοποιώντας δεδομένα προσομοίωσης τα οποία αναμένεται να λάβει το συμβόλαιο από τους χρήστες. Η [δοκιμή μονάδας](/developers/docs/smart-contracts/testing/#unit-testing) είναι καλή για τη δοκιμή της λειτουργικότητας ορισμένων συναρτήσεων και τη διασφάλιση ότι ένα έξυπνο συμβόλαιο λειτουργεί όπως αναμένεται.
+
+Δυστυχώς, η δοκιμή μονάδας είναι ελάχιστα αποτελεσματική για τη βελτίωση της ασφάλειας των έξυπνων συμβολαίων όταν χρησιμοποιείται απομονωμένα. Μια δοκιμή μονάδας μπορεί να αποδείξει ότι μια συνάρτηση εκτελείται σωστά για προσομοιωμένα δεδομένα. Ωστόσο, οι δοκιμές μονάδας είναι τόσο αποτελεσματικές όσο οι δοκιμές που γράφονται. Αυτό καθιστά δύσκολη την ανίχνευση περιπτώσεων εξαίρεσης και ευπαθειών που διέφυγαν της προσοχής και θα μπορούσαν να παραβιάσουν την ασφάλεια του έξυπνου συμβολαίου σας.
+
+Μια καλύτερη προσέγγιση είναι ο συνδυασμός της δοκιμής μονάδας με τη δοκιμή βασισμένη σε ιδιότητες που πραγματοποιείται χρησιμοποιώντας [στατική και δυναμική ανάλυση](/developers/docs/smart-contracts/testing/#static-dynamic-analysis). Η στατική ανάλυση βασίζεται σε αναπαραστάσεις χαμηλού επιπέδου, όπως τα [γραφήματα ροής ελέγχου](https://en.wikipedia.org/wiki/Control-flow_graph) και τα [δέντρα αφηρημένης σύνταξης](https://deepsource.io/glossary/ast/), για να αναλύσει τις προσβάσιμες καταστάσεις προγράμματος και διαδρομές εκτέλεσης. Εν τω μεταξύ, οι τεχνικές δυναμικής ανάλυσης, όπως το [fuzzing έξυπνων συμβολαίων](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry), εκτελούν κώδικα συμβολαίου με τυχαίες τιμές εισόδου για να εντοπίσουν λειτουργίες που παραβιάζουν τις ιδιότητες ασφαλείας.
+
+Η [τυπική επαλήθευση](/developers/docs/smart-contracts/formal-verification) είναι μια άλλη τεχνική για την επαλήθευση ιδιοτήτων ασφαλείας σε έξυπνα συμβόλαια. Σε αντίθεση με τη συνήθη δοκιμή, η τυπική επαλήθευση μπορεί να αποδείξει με βεβαιότητα την απουσία σφαλμάτων σε ένα έξυπνο συμβόλαιο. Αυτό επιτυγχάνεται μέσω της δημιουργίας μιας τυπικής προδιαγραφής που καταγράφει τις επιθυμητές ιδιότητες ασφαλείας και της απόδειξης ότι ένα τυπικό μοντέλο των συμβολαίων τηρεί αυτή την προδιαγραφή.
+
+### 4. Ζητήστε μια ανεξάρτητη αξιολόγηση του κώδικά σας {#get-independent-code-reviews}
+
+Μετά τη δοκιμή του συμβολαίου σας, είναι καλό να ζητήσετε από άλλους να ελέγξουν τον πηγαίο κώδικα για τυχόν ζητήματα ασφάλειας. Οι δοκιμές δεν θα αποκαλύψουν κάθε ελάττωμα σε ένα έξυπνο συμβόλαιο, αλλά η λήψη μιας ανεξάρτητης αξιολόγησης αυξάνει την πιθανότητα εντοπισμού ευπαθειών.
+
+#### Έλεγχοι {#audits}
+
+Ένας τρόπος διεξαγωγής μιας ανεξάρτητης αξιολόγησης κώδικα είναι η ανάθεση της παροχής ελέγχου έξυπνου συμβολαίου. Οι ελεγκτές διαδραματίζουν σημαντικό ρόλο στη διασφάλιση ότι τα έξυπνα συμβόλαια είναι ασφαλή και απαλλαγμένα από ελαττώματα ποιότητας και σφάλματα σχεδιασμού.
+
+Ωστόσο, θα πρέπει να αποφύγετε τη μεταχείριση των ελέγχων ως πανάκεια. Οι έλεγχοι έξυπνων συμβολαίων δεν θα εντοπίσουν κάθε σφάλμα και σχεδιάζονται κυρίως για να παρέχουν έναν επιπλέον γύρο αναθεωρήσεων, ο οποίος μπορεί να βοηθήσει στην ανίχνευση προβλημάτων που παραλείφθηκαν από τους προγραμματιστές κατά την αρχική ανάπτυξη και δοκιμή. Θα πρέπει επίσης να ακολουθείτε τις βέλτιστες πρακτικές για την εργασία με ελεγκτές, όπως η σωστή τεκμηρίωση του κώδικα και η προσθήκη ενσωματωμένων σχολίων, για να μεγιστοποιήσετε το όφελος ενός ελέγχου έξυπνου συμβολαίου.
+
+- [Συμβουλές & κόλπα ελέγχου έξυπνων συμβολαίων](https://twitter.com/tinchoabbate/status/1400170232904400897) — _@tinchoabbate_
+- [Αξιοποιήστε στο μέγιστο τον έλεγχό σας](https://inference.ag/blog/2023-08-14-tips/) — _Inference_
+
+#### Εύρεση σφαλμάτων {#bug-bounties}
+
+Μια άλλη προσέγγιση για την εφαρμογή εξωτερικών ελέγχων κώδικα είναι η δημιουργία ενός προγράμματος ανταμοιβής για την ανεύρεση ευπαθειών. Πρόκειται για μια χρηματική ανταμοιβή που δίνεται σε άτομα (συνήθως καλόβουλους hacker) που ανακαλύπτουν ευπάθειες σε μια εφαρμογή.
+
+Όταν χρησιμοποιούνται σωστά, οι ανταμοιβές αυτές δίνουν κίνητρα στα μέλη της κοινότητας των hacker να επιθεωρούν τον κώδικά σας προς εντοπισμό κρίσιμων τρωτοτήτων. Ένα πραγματικό παράδειγμα είναι το «σφάλμα των άπειρων χρημάτων» που θα επέτρεπε σε έναν επιτιθέμενο να δημιουργήσει απεριόριστη ποσότητα ether στο [Optimism](https://www.optimism.io/), ένα πρωτόκολλο [Επιπέδου 2](/layer-2/) που εκτελείται στο Ethereum. Ευτυχώς, ένας καλόβουλος hacker [ανακάλυψε την τρωτότητα](https://www.saurik.com/optimism.html) και ειδοποίησε την ομάδα, [γεγονός που του απέφερε μια μεγάλη αμοιβή](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
+
+Μια χρήσιμη στρατηγική είναι να ορίσετε την αμοιβή στο πλαίσιο ενός προγράμματος ανταμοιβής για την ανεύρεση ευπαθειών κατ' αναλογία με το ποσό των κεφαλαίων που διακυβεύονται. Περιγράφεται ως «[κλιμακούμενη ανταμοιβή για την ανεύρεση ευπαθειών](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)», αυτή η προσέγγιση παρέχει οικονομικά κίνητρα στα άτομα ώστε να αποκαλύπτουν υπεύθυνα τις ευπάθειες αντί να τις εκμεταλλεύονται.
+
+### 5. Ακολουθήστε τις βέλτιστες πρακτικές κατά την ανάπτυξη έξυπνων συμβολαίων {#follow-smart-contract-development-best-practices}
+
+Η ύπαρξη ελέγχων και προγραμμάτων ανταμοιβής για την ανεύρεση ευπαθειών δεν σας απαλλάσσει από την ευθύνη να γράφετε κώδικα υψηλής ποιότητας. Η καλή ασφάλεια των έξυπνων συμβολαίων ξεκινά με την τήρηση των κατάλληλων διαδικασιών σχεδιασμού και ανάπτυξης:
+
+- Αποθηκεύστε όλο τον κώδικα σε ένα σύστημα ελέγχου εκδόσεων, όπως το git.
+
+- Κάντε όλες τις τροποποιήσεις κώδικα μέσω αιτημάτων έλξης.
+
+- Βεβαιωθείτε ότι τα αιτήματα έλξης έχουν τουλάχιστον έναν ανεξάρτητο αξιολογητή. Εάν εργάζεστε μόνοι σας σε ένα έργο, σκεφτείτε να βρείτε άλλους προγραμματιστές και να ανταλλάξετε αξιολογήσεις κώδικα.
+
+- Χρησιμοποιήστε ένα [περιβάλλον ανάπτυξης](/developers/docs/frameworks/) για τη δοκιμή, τη μεταγλώττιση και την ανάπτυξη έξυπνων συμβολαίων.
+
+- Εκτελέστε τον κώδικά σας μέσω βασικών εργαλείων ανάλυσης κώδικα, όπως το [Cyfrin Aderyn](https://github.com/Cyfrin/aderyn), το Mythril και το Slither. Ιδανικά, θα πρέπει να το κάνετε αυτό πριν συγχωνευθεί κάθε αίτημα έλξης και να συγκρίνετε τις διαφορές στην έξοδο.
+
+- Βεβαιωθείτε ότι ο κώδικάς σας μεταγλωττίζεται χωρίς σφάλματα και ότι ο μεταγλωττιστής Solidity δεν αναφέρει προειδοποιήσεις.
+
+- Τεκμηριώστε σωστά τον κώδικά σας (χρησιμοποιώντας το [NatSpec](https://solidity.readthedocs.io/en/develop/natspec-format.html)) και περιγράψτε λεπτομέρειες σχετικά με την αρχιτεκτονική του συμβολαίου σε εύκολα κατανοητή γλώσσα. Αυτό θα διευκολύνει τους άλλους στον έλεγχο και την αξιολόγηση του κώδικά σας.
+
+### 6. Υλοποίηση robust Σχεδίων Ανάκτησης Καταστροφών {#implement-disaster-recovery-plans}
+
+Ο σχεδιασμός ασφαλών ελέγχων πρόσβασης, η εφαρμογή τροποποιητών συναρτήσεων και άλλες προτάσεις μπορούν να βελτιώσουν την ασφάλεια των έξυπνων συμβολαίων, αλλά δεν μπορούν να αποκλείσουν τη δυνατότητα κακόβουλων εκμεταλλεύσεων. Η δημιουργία ασφαλών έξυπνων συμβολαίων απαιτεί «προετοιμασία για αποτυχία» και ένα εφεδρικό σχέδιο για αποτελεσματική αντίδραση σε επιθέσεις. Ένα σωστό σχέδιο ανάκτησης σε περίπτωση καταστροφής θα ενσωματώσει ορισμένα ή όλα τα ακόλουθα στοιχεία:
+
+#### Αναβαθμίσεις συμβολαίων {#contract-upgrades}
+
+Παρότι οι έξυπνες συμβάσεις Ethereum είναι αμετάβλητες από προεπιλογή, είναι δυνατό να επιτευχθεί κάποιος βαθμός μεταβλητότητας χρησιμοποιώντας μοτίβα αναβάθμισης. Οι αναβαθμίσεις συμβολαίων είναι απαραίτητες σε περιπτώσεις όπου μια κρίσιμη τρωτότητα καθιστά μη χρησιμοποιήσιμο το παλιό συμβόλαιο σας και η ανάπτυξη νέας λογικής είναι η πιο εφικτή επιλογή.
+
+Οι μηχανισμοί αναβάθμισης συμβολαίων λειτουργούν διαφορετικά, αλλά το «μοτίβο proxy» είναι μία από τις πιο δημοφιλείς προσεγγίσεις για την αναβάθμιση έξυπνων συμβολαίων. Τα [μοτίβα proxy](https://www.cyfrin.io/blog/upgradeable-proxy-smart-contract-pattern) διαχωρίζουν την κατάσταση και τη λογική μιας εφαρμογής μεταξύ _δύο_ συμβολαίων. Το πρώτο συμβόλαιο (που ονομάζεται «συμβόλαιο proxy») αποθηκεύει μεταβλητές κατάστασης (π.χ. υπόλοιπα χρηστών), ενώ το δεύτερο συμβόλαιο (που ονομάζεται «συμβόλαιο λογικής») διατηρεί τον κώδικα για την εκτέλεση συναρτήσεων συμβολαίου.
+
+Οι λογαριασμοί αλληλεπιδρούν με το συμβόλαιο proxy, το οποίο αποστέλλει όλες τις κλήσεις συνάρτησης στο συμβόλαιο λογικής χρησιμοποιώντας τη χαμηλού επιπέδου κλήση [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries). Σε αντίθεση με μια κανονική κλήση μηνύματος, το `delegatecall()` διασφαλίζει ότι ο κώδικας που εκτελείται στη διεύθυνση του συμβολαίου λογικής εκτελείται στο πλαίσιο του συμβολαίου κλήσης. Αυτό σημαίνει ότι το συμβόλαιο λογικής θα γράφει πάντα στην αποθήκευση του proxy (αντί για τη δική του αποθήκευση) και οι αρχικές τιμές του `msg.sender` και `msg.value` διατηρούνται.
+
+Οι κλήσεις αντικατάστασης στο συμβόλαιο λογικής απαιτούν την αποθήκευση της διεύθυνσής του στην αποθήκευση του συμβολαίου proxy. Κατά συνέπεια, η αναβάθμιση της λογικής του συμβολαίου είναι απλώς θέμα ανάπτυξης ενός άλλου συμβολαίου λογικής και αποθήκευσης της νέας διεύθυνσης στο συμβόλαιο proxy. Καθώς οι επόμενες κλήσεις στο συμβόλαιο proxy δρομολογούνται αυτόματα στο νέο συμβόλαιο λογικής, θα έχετε «αναβαθμίσει» το συμβόλαιο χωρίς να τροποποιήσετε πραγματικά τον κώδικα.
+
+[Περισσότερα για την αναβάθμιση συμβολαίων](/developers/docs/smart-contracts/upgrading/).
+
+#### Επείγοντες τερματισμοί {#emergency-stops}
+
+Όπως αναφέρθηκε, δεν είναι δυνατόν ο εκτενής έλεγχος και η εκτέλεση δοκιμών να ανακαλύψουν όλα τα σφάλματα σε ένα έξυπνο συμβόλαιο. Εάν εμφανιστεί μια ευπάθεια στον κώδικά σας μετά την ανάπτυξη, η επιδιόρθωση του είναι αδύνατη, γιατί δεν μπορείτε να αλλάξετε τον κώδικα που εκτελείται στη διεύθυνση του συμβολαίου. Επίσης, οι μηχανισμοί αναβάθμισης (π.χ. μοτίβα proxy) μπορεί να χρειαστούν χρόνο για να εφαρμοστούν (συχνά απαιτούν έγκριση από διαφορετικά μέρη), κάτι που δίνει στους επιτιθέμενους περισσότερο χρόνο για να προκαλέσουν περισσότερες ζημιές.
+
+Η πυρηνική επιλογή είναι να εφαρμόσετε μια λειτουργία «επείγοντος τερματισμού» που αποκλείει τις κλήσεις σε ευάλωτες συναρτήσεις σε ένα συμβόλαιο. Οι επείγοντες τερματισμοί συνήθως περιλαμβάνουν τα ακόλουθα στοιχεία:
+
+1. Μια καθολική μεταβλητή Boolean που υποδεικνύει εάν το έξυπνο συμβόλαιο βρίσκεται σε κατάσταση διακοπής ή όχι. Αυτή η μεταβλητή ορίζεται σε `false` κατά τη ρύθμιση της σύμβασης, αλλά θα επανέλθει σε `true` μόλις σταματήσει το συμβόλαιο.
+
+2. Συναρτήσεις που αναφέρονται στη μεταβλητή Boolean κατά την εκτέλεσή τους. Τέτοιες συναρτήσεις είναι προσβάσιμες όταν το έξυπνο συμβόλαιο δεν έχει σταματήσει και γίνεται απροσπέλαστο όταν ενεργοποιηθεί η λειτουργία επείγοντος τερματισμού.
+
+3. Μια οντότητα που έχει πρόσβαση στη λειτουργία επείγοντος τερματισμού, η οποία ορίζει τη μεταβλητή Boolean σε `true`. Για να αποτρέπονται κακόβουλες ενέργειες, οι κλήσεις σε αυτή τη συνάρτηση μπορούν να περιοριστούν σε μια αξιόπιστη διεύθυνση (π.χ. του κατόχου της σύμβασης).
+
+Μόλις το συμβόλαιο ενεργοποιήσει τον επείγοντα τερματισμό, δεν θα είναι δυνατή η κλήση ορισμένων συναρτήσεων. Αυτό επιτυγχάνεται με τη χρήση επιλεγμένων συναρτήσεων σε έναν τροποποιητή που αναφέρεται στην καθολική μεταβλητή. Παρακάτω παρατίθεται [ένα παράδειγμα](https://github.com/fravoll/solidity-patterns/blob/master/EmergencyStop/EmergencyStop.sol) που περιγράφει μια εφαρμογή αυτού του προτύπου σε συμβόλαια:
+
+```solidity
+// This code has not been professionally audited and makes no promises about safety or correctness. Χρησιμοποιήστε με δική σας ευθύνη.
+
+contract EmergencyStop {
+
+ bool isStopped = false;
+
+ modifier stoppedInEmergency {
+ require(!isStopped);
+ _;
+ }
+
+ modifier onlyWhenStopped {
+ require(isStopped);
+ _;
+ }
+
+ modifier onlyAuthorized {
+ // Check for authorization of msg.sender here
+ _;
+ }
+
+ function stopContract() public onlyAuthorized {
+ isStopped = true;
+ }
+
+ function resumeContract() public onlyAuthorized {
+ isStopped = false;
+ }
+
+ function deposit() public payable stoppedInEmergency {
+ // Deposit logic happening here
+ }
+
+ function emergencyWithdraw() public onlyWhenStopped {
+ // Emergency withdraw happening here
+ }
+}
+```
+
+Αυτό το παράδειγμα δείχνει τα βασικά χαρακτηριστικά των έκτακτων διακοπών:
+
+- Το `isStopped` είναι ένα Boolean που αξιολογείται σε `false` στην αρχή και `true` όταν το συμβόλαιο εισέρχεται σε κατάσταση έκτακτης ανάγκης.
+
+- Οι τροποποιητές συνάρτησης `onlyWhenStopped` και `stoppedInEmergency` ελέγχουν τη μεταβλητή `isStopped`. Το `stoppedInEmergency` χρησιμοποιείται για τον έλεγχο συναρτήσεων που θα πρέπει να είναι απροσπέλαστες όταν το συμβόλαιο είναι ευάλωτο (π.χ. `deposit()`). Οι κλήσεις σε αυτές τις συναρτήσεις απλά θα επιστρέφουν.
+
+Το `onlyWhenStopped` χρησιμοποιείται για συναρτήσεις που θα μπορούν να καλούνται κατά τη διάρκεια μιας έκτακτης ανάγκης (π.χ. `emergencyWithdraw()`). Τέτοιες συναρτήσεις μπορούν να βοηθήσουν στην επίλυση της κατάστασης, εξ ου και η εξαίρεση τους από τη λίστα «περιορισμένες συναρτήσεις».
+
+Η χρήση μιας λειτουργίας επείγοντος τερματισμού παρέχει ένα αποτελεσματικό προσωρινό μέτρο για την αντιμετώπιση σοβαρών ευπαθειών στο έξυπνο συμβόλαιό σας. Ωστόσο, αυξάνει την ανάγκη οι χρήστες να εμπιστεύονται τους προγραμματιστές ότι δεν θα το ενεργοποιούν για ιδιοτελείς λόγους. Για τον σκοπό αυτό, πιθανές λύσεις είναι η αποκέντρωση του ελέγχου του επείγοντα τερματισμού μέσω της υποβολής του σε έναν μηχανισμό ψηφοφορίας εντός αλυσίδας, χρονικού κλειδώματος ή έγκρισης από ένα πορτοφόλι πολλαπλών υπογραφών.
+
+#### Παρακολούθηση γεγονότος {#event-monitoring}
+
+Τα [συμβάντα](https://docs.soliditylang.org/en/v0.8.15/contracts.html#events) σάς επιτρέπουν να παρακολουθείτε κλήσεις σε συναρτήσεις έξυπνου συμβολαίου και να παρακολουθείτε αλλαγές στις μεταβλητές κατάστασης. Καλό θα είναι να προγραμματίσετε το έξυπνο συμβόλαιό σας να εκπέμπει ένα συμβάν κάθε φορά που κάποιο μέρος κάνει μια κρίσιμη για την ασφάλεια ενέργεια (π.χ. ανάληψη κεφαλαίων).
+
+Η καταγραφή συμβάντων και η παρακολούθησή τους εκτός αλυσίδας παρέχει πληροφορίες σχετικά με τις λειτουργίες του συμβολαίου και συμβάλλει στην ταχύτερη ανακάλυψη κακόβουλων ενεργειών. Αυτό σημαίνει ότι η ομάδα σας μπορεί να ανταποκριθεί πιο γρήγορα στις παραβιάσεις και να λάβει μέτρα για να μετριάσει τον αντίκτυπο στους χρήστες, όπως την παύση των συναρτήσεων ή την εκτέλεση μιας αναβάθμισης.
+
+Μπορείτε επίσης να επιλέξετε ένα έτοιμο εργαλείο παρακολούθησης που προωθεί αυτόματα ειδοποιήσεις κάθε φορά που κάποιος αλληλεπιδρά με τα συμβόλαιά σας. Αυτά τα εργαλεία θα σας επιτρέψουν να δημιουργήσετε προσαρμοσμένες ειδοποιήσεις με βάση διαφορετικούς παράγοντες σκανδάλισης, όπως ο όγκος συναλλαγών, η συχνότητα κλήσεων συναρτήσεων ή οι συγκεκριμένες συναρτήσεις που εμπλέκονται. Για παράδειγμα, θα μπορούσατε να προγραμματίσετε μια ειδοποίηση που εμφανίζεται όταν το ποσό που αναλήφθηκε σε μία μόνο συναλλαγή υπερβαίνει ένα συγκεκριμένο όριο.
+
+### 7. Σχεδίαση ασφαλών συστημάτων διακυβέρνησης {#design-secure-governance-systems}
+
+Μπορεί να θέλετε να αποκεντρώσετε την εφαρμογή σας μεταβιβάζοντας τον έλεγχο των βασικών έξυπνων συμβολαίων στα μέλη της κοινότητας. Σε αυτή την περίπτωση, το σύστημα έξυπνων συμβολαίων θα περιλαμβάνει μια ενότητα διακυβέρνησης, δηλαδή έναν μηχανισμό που επιτρέπει στα μέλη της κοινότητας να εγκρίνουν διοικητικές ενέργειες μέσω ενός συστήματος διακυβέρνησης εντός αλυσίδας. Για παράδειγμα, μια πρόταση αναβάθμισης ενός συμβολαίου proxy σε μια νέα υλοποίηση μπορεί να τεθεί σε ψηφοφορία από τους κατόχους token.
+
+Η αποκεντρωμένη διακυβέρνηση μπορεί να είναι ευεργετική, ειδικά επειδή ευθυγραμμίζει τα συμφέροντα των προγραμματιστών και των τελικών χρηστών. Ωστόσο, οι μηχανισμοί διακυβέρνησης των έξυπνων συμβολαίων ενδέχεται να εισαγάγουν νέους κινδύνους εάν εφαρμοστούν εσφαλμένα. Ένα πιθανό σενάριο είναι η περίπτωση κατά την οποία ένας επιτιθέμενος αποκτά τεράστιο δικαίωμα ψήφου (μετρούμενο σε αριθμό token που κατέχει) λαμβάνοντας ένα [flash loan (στιγμιαίο δάνειο)](/defi/#flash-loans) και προωθεί μια κακόβουλη πρόταση.
+
+Ένας τρόπος αποτροπής προβλημάτων που σχετίζονται με τη διακυβέρνηση εντός της αλυσίδας είναι η [χρήση ενός timelock](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). Ένα timelock (χρονοδιακόπτης) εμποδίζει ένα έξυπνο συμβόλαιο να εκτελέσει ορισμένες ενέργειες έως ότου παρέλθει ένα συγκεκριμένο χρονικό διάστημα. Άλλες στρατηγικές περιλαμβάνουν την εκχώρηση ενός «βάρους ψήφου» σε κάθε token με βάση το πόσο καιρό έχει κλειδωθεί ή τη μέτρηση της δύναμης του δικαιώματος ψήφου μιας διεύθυνσης σε μια ιστορική περίοδο (για παράδειγμα, 2-3 μπλοκ στο παρελθόν) αντί για το τρέχον μπλοκ. Και οι δύο μέθοδοι μειώνουν τη δυνατότητα γρήγορης συγκέντρωσης δύναμης ψήφου για να αλλάξουν οι ψήφοι εντός αλυσίδας.
+
+Περισσότερα σχετικά με τον [σχεδιασμό ασφαλών συστημάτων διακυβέρνησης](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/), [διαφορετικούς μηχανισμούς ψηφοφορίας σε DAO](https://hackernoon.com/governance-is-the-holy-grail-for-daos) και τους [κοινούς φορείς επίθεσης DAO που αξιοποιούν το DeFi](https://dacian.me/dao-governance-defi-attacks) στους κοινόχρηστους συνδέσμους.
+
+### 8. Μείωση της πολυπλοκότητας του κώδικα στο ελάχιστο {#reduce-code-complexity}
+
+Οι παραδοσιακοί προγραμματιστές λογισμικού είναι εξοικειωμένοι με την αρχή της απλότητας στον σχεδιασμό KISS («keep it simple, stupid»), η οποία συνιστά να αποφεύγεται η εισαγωγή περιττής πολυπλοκότητας στον σχεδιασμό λογισμικού. Αυτό ακολουθεί την παγιωμένη σκέψη ότι «τα πολύπλοκα συστήματα αποτυγχάνουν με πολύπλοκους τρόπους» και είναι πιο επιρρεπή σε δαπανηρά σφάλματα.
+
+Το να διατηρείς τα πράγματα απλά είναι ιδιαίτερα σημαντικό κατά τη συγγραφή έξυπνων συμβολαίων, δεδομένου ότι τα έξυπνα συμβόλαια ελέγχουν ενδεχομένως μεγάλες ποσότητες αξίας. Μια συμβουλή για την επίτευξη απλότητας κατά τη συγγραφή έξυπνων συμβολαίων είναι η επαναχρησιμοποίηση υπαρχουσών βιβλιοθηκών, όπως οι [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/4.x/), όπου είναι δυνατόν. Επειδή αυτές οι βιβλιοθήκες έχουν ελεγχθεί και δοκιμαστεί εκτενώς από προγραμματιστές, η χρήση τους μειώνει τις πιθανότητες εισαγωγής σφαλμάτων γράφοντας νέες λειτουργίες από την αρχή.
+
+Μια άλλη συνηθισμένη συμβουλή είναι να γράφετε μικρές συναρτήσεις και να διατηρείτε τα συμβόλαια διαχωρισμένα σε επιμέρους μονάδες, χωρίζοντας τη λογική επιχείρησης σε πολλά συμβόλαια. Η συγγραφή ενός απλούστερου κώδικα όχι μόνο μειώνει την επιφάνεια επίθεσης σε ένα έξυπνο συμβόλαιο, αλλά καθιστά επίσης ευκολότερο τον συλλογισμό σχετικά με τη σωστή λειτουργία του συνολικού συστήματος και την έγκαιρη ανίχνευση πιθανών σφαλμάτων σχεδιασμού.
+
+### 9. Προστασία από κοινές ευπάθειες έξυπνων συμβολαίων {#mitigate-common-smart-contract-vulnerabilities}
+
+#### Επανεισαγωγή {#reentrancy}
+
+Η EVM δεν επιτρέπει τη σύνδρομη εκτέλεση, που σημαίνει ότι δύο συμβόλαια που εμπλέκονται σε μια κλήση μηνύματος δεν μπορούν να εκτελεστούν ταυτόχρονα. Μια εξωτερική κλήση παύει την εκτέλεση και τη μνήμη του συμβολαίου κλήσης μέχρι να επιστρέψει η κλήση, οπότε η εκτέλεση συνεχίζεται κανονικά. Αυτή η διαδικασία μπορεί να περιγραφεί επίσημα ως μεταφορά της [ροής ελέγχου](https://www.computerhope.com/jargon/c/contflow.htm) σε άλλο συμβόλαιο.
+
+Αν και κατά κύριο λόγο είναι ακίνδυνη, η μεταφορά ροής ελέγχου σε μη αξιόπιστα συμβόλαια μπορεί να προκαλέσει προβλήματα, όπως η επανεισαγωγή. Μια επίθεση επανεισαγωγής συμβαίνει όταν ένα κακόβουλο συμβόλαιο καλεί ξανά ένα ευάλωτο συμβόλαιο πριν ολοκληρωθεί η αρχική κλήση της συνάρτησης. Αυτός ο τύπος επίθεσης εξηγείται καλύτερα με ένα παράδειγμα.
+
+Εξετάστε ένα απλό έξυπνο συμβόλαιο («Θύμα») που επιτρέπει σε οποιονδήποτε να καταθέτει και να κάνει ανάληψη ether:
+
+```solidity
+// This contract is vulnerable. Do not use in production
+
+contract Victim {
+ mapping (address => uint256) public balances;
+
+ function deposit() external payable {
+ balances[msg.sender] += msg.value;
+ }
+
+ function withdraw() external {
+ uint256 amount = balances[msg.sender];
+ (bool success, ) = msg.sender.call.value(amount)("");
+ require(success);
+ balances[msg.sender] = 0;
+ }
+}
+```
+
+Αυτό το συμβόλαιο εκθέτει μια συνάρτηση `withdraw()` για να επιτρέψει στους χρήστες να αποσύρουν ETH που έχουν καταθέσει προηγουμένως στο συμβόλαιο. Όταν επεξεργάζεται μια ανάληψη, το συμβόλαιο εκτελεί τις ακόλουθες λειτουργίες:
+
+1. Ελέγχει το υπόλοιπο ETH του χρήστη
+2. Στέλνει χρήματα στη διεύθυνση κλήσης
+3. Επαναφέρει το υπόλοιπό του στο 0, αποτρέποντας περαιτέρω αναλήψεις από τον χρήστη
+
+Η συνάρτηση `withdraw()` στο συμβόλαιο `Victim` ακολουθεί ένα πρότυπο «ελέγχων-αλληλεπιδράσεων-επιδράσεων». _Ελέγχει_ εάν οι συνθήκες που είναι απαραίτητες για την εκτέλεση πληρούνται (δηλαδή, ο χρήστης έχει θετικό υπόλοιπο ETH) και εκτελεί την _αλληλεπίδραση_ στέλνοντας ETH στη διεύθυνση του καλούντος, πριν εφαρμόσει τις _επιδράσεις_ της συναλλαγής (δηλαδή, μείωση του υπολοίπου του χρήστη).
+
+Εάν η `withdraw()` κληθεί από έναν λογαριασμό εξωτερικού κατόχου (EOA), η συνάρτηση εκτελείται όπως αναμένεται: η `msg.sender.call.value()` στέλνει ETH στον καλούντα. Ωστόσο, εάν το `msg.sender` είναι μια διεύθυνση έξυπνου συμβολαίου που καλεί την `withdraw()`, η αποστολή χρημάτων χρησιμοποιώντας `msg.sender.call.value()` θα ενεργοποιήσει επίσης την εκτέλεση του κώδικα που είναι αποθηκευμένος σε αυτή τη διεύθυνση.
+
+Φανταστείτε ότι αυτός είναι ο κώδικας που αναπτύχθηκε στη διεύθυνση του συμβολαίου:
+
+```solidity
+ contract Attacker {
+ function beginAttack() external payable {
+ Victim(victim_address).deposit.value(1 ether)();
+ Victim(victim_address).withdraw();
+ }
+
+ function() external payable {
+ if (gasleft() > 40000) {
+ Victim(victim_address).withdraw();
+ }
+ }
+}
+```
+
+Αυτό το συμβόλαιο έχει σχεδιαστεί να κάνει τρία πράγματα:
+
+1. Να αποδεχτεί κατάθεση από έναν άλλο λογαριασμό (πιθανότατα τον EOA του επιτιθέμενου)
+2. Να καταθέσει 1 ETH στο συμβόλαιο του Θύματος
+3. Να κάνει ανάληψη του 1 ETH που είναι αποθηκευμένο στο έξυπνο συμβόλαιο
+
+Δεν υπάρχει τίποτα κακό εδώ, εκτός από το ότι ο επιτιθέμενος `Attacker` έχει μια άλλη συνάρτηση που καλεί ξανά τη `withdraw()` στο `Victim` εάν το καύσιμο που απομένει από το εισερχόμενο `msg.sender.call.value` είναι μεγαλύτερο από 40.000. Αυτό δίνει στον `Attacker` τη δυνατότητα να εισέλθει ξανά στο `Victim` και να αποσύρει περισσότερα χρήματα _πριν_ ολοκληρωθεί η πρώτη κλήση της `withdraw`. Ο κύκλος μοιάζει με αυτό:
+
+```solidity
+- Attacker's EOA calls `Attacker.beginAttack()` with 1 ETH
+- `Attacker.beginAttack()` deposits 1 ETH into `Victim`
+- `Attacker` calls `withdraw() in `Victim`
+- `Victim` checks `Attacker`’s balance (1 ETH)
+- `Victim` sends 1 ETH to `Attacker` (which triggers the default function)
+- `Attacker` calls `Victim.withdraw()` again (note that `Victim` hasn’t reduced `Attacker`’s balance from the first withdrawal)
+- `Victim` checks `Attacker`’s balance (which is still 1 ETH because it hasn’t applied the effects of the first call)
+- `Victim` sends 1 ETH to `Attacker` (which triggers the default function and allows `Attacker` to reenter the `withdraw` function)
+- The process repeats until `Attacker` runs out of gas, at which point `msg.sender.call.value` returns without triggering additional withdrawals
+- `Victim` finally applies the results of the first transaction (and subsequent ones) to its state, so `Attacker`’s balance is set to 0
+```
+
+Εν συντομία: επειδή το υπόλοιπο του καλούντος δεν ορίζεται σε 0 μέχρι την ολοκλήρωση της εκτέλεσης της συνάρτησης, οι επόμενες κλήσεις θα είναι επιτυχημένες και θα επιτρέψουν στον καλούντα να κάνει ανάληψη του υπολοίπου του πολλές φορές. Αυτός ο τύπος επίθεσης μπορεί να χρησιμοποιηθεί για να απομυζήσει τα κεφάλαια ένος έξυπνου συμβολαίου, όπως συνέβη στο [hack του DAO το 2016](https://www.coindesk.com/learn/understanding-the-dao-attack). Οι επιθέσεις επανεισόδου εξακολουθούν να αποτελούν ένα κρίσιμο ζήτημα για τα έξυπνα συμβόλαια σήμερα, όπως δείχνουν οι [δημόσιες καταχωρίσεις προγραμμάτων εκμετάλλευσης τρωτότητας (exploit) επανεισόδου](https://github.com/pcaversaccio/reentrancy-attacks).
+
+##### Πώς να αποτρέψετε επιθέσεις επανεισόδου
+
+Μια προσέγγιση για την αντιμετώπιση της επανεισόδου είναι η [παρακολούθηση του μοτίβου ελέγχου-επιδράσεων-αλληλεπιδράσεων](https://docs.soliditylang.org/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern). Αυτό το μοτίβο ταξινομεί την εκτέλεση των συναρτήσεων με τρόπο ώστε να έρχεται πρώτος ο κώδικας που εκτελεί τους απαραίτητους ελέγχους πριν προχωρήσει στην εκτέλεση, ακολουθούμενος από κώδικα που χειρίζεται την κατάσταση της σύμβασης, και να φτάνει τελευταίος ο κώδικα που αλληλεπιδρά με άλλες συμβάσεις ή EOA.
+
+Το μοτίβο ελέγχου-επίδρασης-αλληλεπίδρασης χρησιμοποιείται σε μια αναθεωρημένη έκδοση του συμβολαίου `Victim` που φαίνεται παρακάτω:
+
+```solidity
+contract NoLongerAVictim {
+ function withdraw() external {
+ uint256 amount = balances[msg.sender];
+ balances[msg.sender] = 0;
+ (bool success, ) = msg.sender.call.value(amount)("");
+ require(success);
+ }
+}
+```
+
+Αυτό το συμβόλαιο εκτελεί έναν _έλεγχο_ στο υπόλοιπο του χρήστη, εφαρμόζει τις _επιδράσεις_ της συνάρτησης `withdraw()` (επαναφέροντας το υπόλοιπο του χρήστη στο 0) και προχωρά στην εκτέλεση της _αλληλεπίδρασης_ (αποστολή ETH στη διεύθυνση του χρήστη). Αυτό διασφαλίζει ότι το συμβόλαιο ενημερώνει την αποθήκευσή του πριν από την εξωτερική κλήση, εξαλείφοντας την κατάσταση επανεισόδου που επέτρεψε την πρώτη επίθεση. Το συμβόλαιο `Attacker` θα μπορούσε ακόμα να καλέσει ξανά το `NoLongerAVictim`, αλλά επειδή το `balances[msg.sender]` έχει οριστεί σε 0, οι πρόσθετες αναλήψεις θα προκαλέσουν σφάλμα.
+
+Μια άλλη επιλογή είναι να χρησιμοποιήσετε ένα κλείδωμα αμοιβαίου αποκλεισμού (συνήθως περιγράφεται ως «mutex») που κλειδώνει ένα μέρος της κατάστασης ενός συμβολαίου μέχρι να ολοκληρωθεί μια κλήση συνάρτησης. Αυτό υλοποιείται χρησιμοποιώντας μια μεταβλητή Boolean που ορίζεται σε `true` πριν εκτελεστεί η συνάρτηση και επιστρέφει σε `false` μετά την ολοκλήρωση της κλήσης. Όπως φαίνεται στο παρακάτω παράδειγμα, η χρήση ενός mutex προστατεύει μια συνάρτηση από αναδρομικές κλήσεις ενώ η αρχική κλήση εξακολουθεί να βρίσκεται υπό επεξεργασία, σταματώντας αποτελεσματικά την επανείσοδο.
+
+```solidity
+pragma solidity ^0.7.0;
+
+contract MutexPattern {
+ bool locked = false;
+ mapping(address => uint256) public balances;
+
+ modifier noReentrancy() {
+ require(!locked, "Blocked from reentrancy.");
+ locked = true;
+ _;
+ locked = false;
+ }
+ // This function is protected by a mutex, so reentrant calls from within `msg.sender.call` cannot call `withdraw` again.
+ // The `return` statement evaluates to `true` but still evaluates the `locked = false` statement in the modifier
+ function withdraw(uint _amount) public payable noReentrancy returns(bool) {
+ require(balances[msg.sender] >= _amount, "No balance to withdraw.");
+
+ balances[msg.sender] -= _amount;
+ (bool success, ) = msg.sender.call{value: _amount}("");
+ require(success);
+
+ return true;
+ }
+}
+```
+
+Μπορείτε επίσης να χρησιμοποιήσετε ένα σύστημα [πληρωμών με αίτημα](https://docs.openzeppelin.com/contracts/4.x/api/security#PullPayment) που απαιτεί από τους χρήστες να κάνουν ανάληψη κεφαλαίων από τα έξυπνα συμβόλαια, αντί για ένα σύστημα πληρωμών «ώθησης» που στέλνει κεφάλαια σε λογαριασμούς. Αυτό εξαλείφει τη δυνατότητα τυχαίας ενεργοποίησης κώδικα σε άγνωστες διευθύνσεις (και μπορεί επίσης να αποτρέψει ορισμένες επιθέσεις άρνησης υπηρεσίας).
+
+#### Υποεκφορτώσεις και υπερβάσεις ακεραίων {#integer-underflows-and-overflows}
+
+Υπέρβαση ακεραίου συμβαίνει όταν τα αποτελέσματα μιας αριθμητικής πράξης πέφτουν εκτός του αποδεκτού εύρους τιμών, προκαλώντας την «επαναφορά» του στη χαμηλότερη προβαλλόμενη τιμή. Για παράδειγμα, ένα `uint8` μπορεί να αποθηκεύσει μόνο τιμές έως 2^8-1=255. Οι αριθμητικές πράξεις που έχουν ως αποτέλεσμα τιμές μεγαλύτερες από `255` θα υπερχειλιστούν και θα επαναφέρουν το `uint` στο `0`, με τρόπο παρόμοιο όπως ο χιλιομετρητής ενός αυτοκινήτου επαναφέρεται στο 0 όταν φτάσει στη μέγιστη απόσταση (999999).
+
+Οι υποεκφορτώσεις ακεραίων συμβαίνουν για παρόμοιους λόγους: τα αποτελέσματα μιας αριθμητικής πράξης πέφτουν κάτω από το αποδεκτό εύρος. Αν υποθέσουμε ότι προσπαθήσατε να μειώσετε το `0` σε ένα `uint8`, το αποτέλεσμα θα επανερχόταν απλώς στη μέγιστη προβαλλόμενη τιμή (`255`).
+
+Τόσο οι υπερβάσεις όσο και οι υποεκφορτώσεις ακεραίων μπορούν να οδηγήσουν σε απροσδόκητες αλλαγές στις μεταβλητές κατάστασης ενός συμβολαίου και να οδηγήσουν σε μη προγραμματισμένη εκτέλεση. Παρακάτω παρατίθεται ένα παράδειγμα που δείχνει πώς ένας επιτιθέμενος μπορεί να εκμεταλλευτεί την υπέρβαση ακεραίου σε ένα έξυπνο συμβόλαιο για να εκτελέσει μια μη έγκυρη λειτουργία:
+
+```
+pragma solidity ^0.7.6;
+
+// This contract is designed to act as a time vault.
+// User can deposit into this contract but cannot withdraw for at least a week.
+// User can also extend the wait time beyond the 1 week waiting period.
+
+/*
+1. Deploy TimeLock
+2. Deploy Attack with address of TimeLock
+3. Call Attack.attack sending 1 ether. You will immediately be able to
+ withdraw your ether.
+
+Τι συνέβη;
+Attack caused the TimeLock.lockTime to overflow and was able to withdraw
+before the 1 week waiting period.
+*/
+
+contract TimeLock {
+ mapping(address => uint) public balances;
+ mapping(address => uint) public lockTime;
+
+ function deposit() external payable {
+ balances[msg.sender] += msg.value;
+ lockTime[msg.sender] = block.timestamp + 1 weeks;
+ }
+
+ function increaseLockTime(uint _secondsToIncrease) public {
+ lockTime[msg.sender] += _secondsToIncrease;
+ }
+
+ function withdraw() public {
+ require(balances[msg.sender] > 0, "Insufficient funds");
+ require(block.timestamp > lockTime[msg.sender], "Lock time not expired");
+
+ uint amount = balances[msg.sender];
+ balances[msg.sender] = 0;
+
+ (bool sent, ) = msg.sender.call{value: amount}("");
+ require(sent, "Failed to send Ether");
+ }
+}
+
+contract Attack {
+ TimeLock timeLock;
+
+ constructor(TimeLock _timeLock) {
+ timeLock = TimeLock(_timeLock);
+ }
+
+ fallback() external payable {}
+
+ function attack() public payable {
+ timeLock.deposit{value: msg.value}();
+ /*
+ if t = current lock time then we need to find x such that
+ x + t = 2**256 = 0
+ so x = -t
+ 2**256 = type(uint).max + 1
+ so x = type(uint).max + 1 - t
+ */
+ timeLock.increaseLockTime(
+ type(uint).max + 1 - timeLock.lockTime(address(this))
+ );
+ timeLock.withdraw();
+ }
+}
+```
+
+##### Πώς να αποτρέψετε τις υποεκφορτώσεις και τις υπερβάσεις ακεραίων
+
+Από την έκδοση 0.8.0 και μετά, ο μεταγλωττιστής Solidity απορρίπτει τον κώδικα που οδηγεί σε υποεκφορτώσεις και υπερβάσεις ακεραίων. Ωστόσο, τα συμβόλαια που μεταγλωττίζονται με χαμηλότερη έκδοση μεταγλωττιστή θα πρέπει είτε να εκτελούν ελέγχους σε συναρτήσεις που περιλαμβάνουν αριθμητικές πράξεις είτε να χρησιμοποιούν μια βιβλιοθήκη (π.χ. [SafeMath](https://docs.openzeppelin.com/contracts/2.x/api/math)) που ελέγχει για υποεκφόρτωση/υπέρβαση.
+
+#### Διαχείριση Oracle {#oracle-manipulation}
+
+Οι [Oracle](/developers/docs/oracles/) προμηθεύουν πληροφορίες εκτός αλυσίδας και τις στέλνουν εντός αλυσίδας για χρήση από έξυπνα συμβόλαια. Με τις Oracle, μπορείτε να σχεδιάσετε έξυπνα συμβόλαια που διαλειτουργούν με συστήματα εκτός αλυσίδας, όπως οι κεφαλαιαγορές, επεκτείνοντας σημαντικά την εφαρμογή τους.
+
+Αλλά αν η Oracle είναι κατεστραμμένη και στέλνει εσφαλμένες πληροφορίες εντός αλυσίδας, τα έξυπνα συμβόλαια θα εκτελεστούν με βάση εσφαλμένα δεδομένα εισόδου, κάτι που μπορεί να προκαλέσει προβλήματα. Αυτό βρίσκεται στη βάση του «προβλήματος της oracle», το οποίο αφορά το έργο της διασφάλισης ότι οι πληροφορίες από μια oracle του blockchain είναι ακριβείς, ενημερωμένες και έγκαιρες.
+
+Μια σχετική ανησυχία ως προς την ασφάλεια είναι η χρήση μιας oracle εντός αλυσίδας, όπως ένα αποκεντρωμένο ανταλλακτήριο, για να λάβετε την τρέχουσα τιμή για ένα περιουσιακό στοιχείο. Οι πλατφόρμες δανεισμού στον κλάδο της [αποκεντρωμένης οικονομίας (DeFi)](/defi/) το κάνουν συχνά αυτό για να προσδιορίσουν την αξία των εξασφαλίσεων ενός χρήστη για να καθορίσουν πόσα μπορούν να δανειστούν.
+
+Οι τιμές DEX είναι συχνά ακριβείς, κυρίως λόγω των αρμπιτράζ που αποκαθιστούν την ισοτιμία στις αγορές. Ωστόσο, είναι εκτεθειμένες σε χειραγώγηση, ειδικά εάν η ενδοαλυσίδα oracle υπολογίζει τις τιμές των περιουσιακών στοιχείων με βάση τα ιστορικά πρότυπα συναλλαγών (όπως συμβαίνει συνήθως).
+
+Για παράδειγμα, ένας επιτιθέμενος θα μπορούσε να ασκήσει επίμονα τεχνητή πίεση στην τρέχουσα τιμή ενός περιουσιακού στοιχείου λαμβάνοντας ένα flash loan ακριβώς πριν αλληλεπιδράσει με τη σύμβασή σας δανεισμού. Η ερώτηση στο DEX για την τιμή του περιουσιακού στοιχείου θα επιστρέψει μια υψηλότερη από το κανονικό τιμή (λόγω της μεγάλης «εντολής αγοράς» του επιτιθέμενου που παραμορφώνει τη ζήτηση για το περιουσιακό στοιχείο), επιτρέποντάς του να δανειστεί περισσότερα από όσο θα έπρεπε. Τέτοιες «επιθέσεις flash loan» έχουν αξιοποιηθεί για να εκμεταλλευτούν την εξάρτηση από τα oracle τιμών μεταξύ των εφαρμογών DeFi, με κόστος εκατομμυρίων σε χαμένα κεφάλαια για τα πρωτόκολλα.
+
+##### Πώς να αποτρέψετε τη χειραγώγηση εκτιμήσεων
+
+Η ελάχιστη απαίτηση για την [αποφυγή χειραγώγησης εκτιμήσεων](https://www.cyfrin.io/blog/price-oracle-manipultion-attacks-with-examples) είναι η χρήση ενός αποκεντρωμένου δικτύου εκτιμήσεων που ανακτά πληροφορίες από πολλές πηγές για να αποφύγει τα ενιαία σημεία αποτυχίας. Στις περισσότερες περιπτώσεις, οι αποκεντρωμένες εκτιμήσεις έχουν ενσωματωμένα κρυπτοοικονομικά κίνητρα για να ενθαρρύνουν τους κόμβους oracle να αναφέρουν σωστές πληροφορίες, καθιστώντας τις πιο ασφαλείς από τις κεντρικές εκτιμήσεις.
+
+Εάν σχεδιάζετε να ανακτήσετε τις τιμές των περιουσιακών στοιχείων από μια εκτίμηση εντός αλυσίδας, σκεφτείτε να χρησιμοποιήσετε μία που να εφαρμόζει έναν μηχανισμό χρονικά σταθμισμένης μέσης τιμής (TWAP). Μια [εκτίμηση TWAP](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) ανακτά την τιμή ενός περιουσιακού στοιχείου σε δύο διαφορετικά χρονικά σημεία (τα οποία μπορείτε να τροποποιήσετε) και υπολογίζει την τρέχουσα τιμή με βάση τη μέση τιμή που προκύπτει. Η επιλογή μεγαλύτερων χρονικών περιόδων προστατεύει το πρωτόκολλό σας από τη χειραγώγηση τιμών, καθώς οι μεγάλες εντολές που εκτελέστηκαν πρόσφατα δεν μπορούν να επηρεάσουν τις τιμές των περιουσιακών στοιχείων.
+
+## Πόροι ασφαλείας έξυπνων συμβολαίων για προγραμματιστές {#smart-contract-security-resources-for-developers}
+
+### Εργαλεία για ανάλυση έξυπνων συμβολαίων και επαλήθευση της ορθότητας του κώδικα {#code-analysis-tools}
+
+- **[Συλλογή εργαλείων και βιβλιοθηκών](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** - _Συλλογή εργαλείων και βιβλιοθηκών αναπτυγμένων βάσει προτύπων του κλάδου για την εκτέλεση δοκιμών μονάδας, στατικής ανάλυσης και δυναμικής ανάλυσης σε έξυπνα συμβόλαια_.
+
+- **[Εργαλεία Τυπικής Επαλήθευσης](/developers/docs/smart-contracts/formal-verification/#formal-verification-tools)** - _Εργαλεία για την επαλήθευση της λειτουργικής ορθότητας σε έξυπνα συμβόλαια και τον έλεγχο αναλλοίωτων._
+
+- **[Υπηρεσίες Ελέγχου Έξυπνων Συμβολαίων](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** - _Κατάλογος οργανισμών που παρέχουν υπηρεσίες ελέγχου έξυπνων συμβολαίων για έργα ανάπτυξης Ethereum._
+
+- **[Πλατφόρμες εύρεσης σφαλμάτων](/developers/docs/smart-contracts/testing/#bug-bounty-platforms)** - _Πλατφόρμες για τον συντονισμό εύρεσης σφαλμάτων και την ανταμοιβή της υπεύθυνης αποκάλυψης κρίσιμων ευπαθειών σε έξυπνα συμβόλαια._
+
+- **[Fork Checker](https://forkchecker.hashex.org/)** - _Ένα δωρεάν online εργαλείο για τον έλεγχο όλων των διαθέσιμων πληροφοριών σχετικά με μια διακλαδισμένη σύμβαση._
+
+- **[ABI Encoder](https://abi.hashex.org/)** - _Μια δωρεάν online υπηρεσία για την κωδικοποίηση των συναρτήσεων και των ορισμάτων κατασκευαστή του Solidity συμβολαίου σας._
+
+- **[Aderyn](https://github.com/Cyfrin/aderyn)** - _Στατικός αναλυτής Solidity, ο οποίος διασχίζει τα Δέντρα Αφηρημένης Σύνταξης (AST) για τον εντοπισμό ύποπτων ευπαθειών και την εκτύπωση προβλημάτων σε εύπεπτη μορφή markdown._
+
+### Εργαλεία ελέγχου έξυπνων συμβολαίων {#smart-contract-monitoring-tools}
+
+- **[OpenZeppelin Defender Sentinels](https://docs.openzeppelin.com/defender/v1/sentinel)** - _Ένα εργαλείο για την αυτόματη παρακολούθηση και ανταπόκριση σε γεγονότα, συναρτήσεις και παραμέτρους συναλλαγών στα έξυπνα συμβόλαιά σας._
+
+- **[Tenderly Real-Time Alerting](https://tenderly.co/alerting/)** - _Ένα εργαλείο για τη λήψη ειδοποιήσεων σε πραγματικό χρόνο όταν συμβαίνουν ασυνήθιστα ή απροσδόκητα συμβάντα στα έξυπνα συμβόλαια ή τα πορτοφόλια σας._
+
+### Εργαλεία Ασφαλούς Διαχείρισης Έξυπνων Συμβολαίων {#smart-contract-administration-tools}
+
+- **[OpenZeppelin Defender Admin](https://docs.openzeppelin.com/defender/v1/admin)** - _Διεπαφή για τη διαχείριση της διαχείρισης έξυπνων συμβολαίων, συμπεριλαμβανομένων των ελέγχων πρόσβασης, των αναβαθμίσεων και της παύσης._
+
+- **[Safe](https://safe.global/)** - _Πορτοφόλι έξυπνων συμβολαίων που εκτελείται στο Ethereum και απαιτεί έναν ελάχιστο αριθμό ατόμων για να εγκρίνουν μια συναλλαγή πριν αυτή μπορέσει να συμβεί (M-of-N)._
+
+- **[OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/4.x/)** - _Βιβλιοθήκες συμβολαίων για την υλοποίηση διοικητικών λειτουργιών, συμπεριλαμβανομένης της κυριότητας συμβολαίων, των αναβαθμίσεων, των ελέγχων πρόσβασης, της διακυβέρνησης, της δυνατότητας παύσης και άλλων._
+
+### Υπηρεσίες ελέγχου έξυπνων συμβολαίων {#smart-contract-auditing-services}
+
+- **[ConsenSys Diligence](https://consensys.net/diligence/)** - _Υπηρεσία ελέγχου έξυπνων συμβολαίων που βοηθά τα έργα σε όλο το οικοσύστημα blockchain να διασφαλίσουν ότι τα πρωτόκολλά τους είναι έτοιμα προς κυκλοφορία και κατασκευασμένα για την προστασία των χρηστών._
+
+- **[CertiK](https://www.certik.com/)** - _Εταιρεία ασφάλειας blockchain που πρωτοπορεί στη χρήση της τεχνολογίας τυπικής επαλήθευσης αιχμής σε έξυπνα συμβόλαια και δίκτυα blockchain._
+
+- **[Trail of Bits](https://www.trailofbits.com/)** - _Εταιρεία κυβερνοασφάλειας που συνδυάζει την έρευνα ασφάλειας με τη νοοτροπία του επιτιθέμενου για να μειώσει τον κίνδυνο και να ενισχύσει τον κώδικα._
+
+- **[PeckShield](https://peckshield.com/)** - _Εταιρεία ασφάλειας blockchain που προσφέρει προϊόντα και υπηρεσίες για την ασφάλεια, την ιδιωτικότητα και τη χρηστικότητα ολόκληρου του οικοσυστήματος blockchain._
+
+- **[QuantStamp](https://quantstamp.com/)** - _Υπηρεσία ελέγχου που διευκολύνει την ευρύτερη υιοθέτηση της τεχνολογίας blockchain μέσω υπηρεσιών αξιολόγησης ασφάλειας και κινδύνου._
+
+- **[OpenZeppelin](https://www.openzeppelin.com/security-audits)** - _Εταιρεία ασφάλειας έξυπνων συμβολαίων που παρέχει ελέγχους ασφάλειας για κατανεμημένα συστήματα._
+
+- **[Runtime Verification](https://runtimeverification.com/)** - _Εταιρεία ασφάλειας εξειδικευμένη στην τυπική μοντελοποίηση και επαλήθευση έξυπνων συμβολαίων._
+
+- **[Hacken](https://hacken.io)** - _Ελεγκτής κυβερνοασφάλειας Web3 που φέρνει την προσέγγιση 360 μοιρών στην ασφάλεια blockchain._
+
+- **[Nethermind](https://www.nethermind.io/smart-contract-audits)** - _Υπηρεσίες ελέγχου Solidity και Cairo, που διασφαλίζει την ακεραιότητα των έξυπνων συμβολαίων και την ασφάλεια των χρηστών σε όλο το Ethereum και το Starknet._
+
+- **[HashEx](https://hashex.org/)** - _Η HashEx επικεντρώνεται στον έλεγχο blockchain και έξυπνων συμβολαίων για να διασφαλίσει την ασφάλεια των κρυπτονομισμάτων, παρέχοντας υπηρεσίες όπως ανάπτυξη έξυπνων συμβολαίων, δοκιμές διείσδυσης, συμβουλευτική blockchain._
+
+- **[Code4rena](https://code4rena.com/)** - _Ανταγωνιστική πλατφόρμα ελέγχου που δίνει κίνητρα στους ειδικούς ασφάλειας έξυπνων συμβολαίων να εντοπίσουν ευπάθειες και να βοηθήσουν να καταστεί το web3 πιο ασφαλές._
+
+- **[CodeHawks](https://codehawks.com/)** - _Ανταγωνιστική πλατφόρμα ελέγχου που φιλοξενεί διαγωνισμούς ελέγχου έξυπνων συμβολαίων για ερευνητές ασφάλειας._
+
+- **[Cyfrin](https://cyfrin.io)** - _Δυναμικός παράγοντας για την ασφάλεια του Web3, που ανοίγει τον δρόμο της ασφάλειας κρυπτογράφησης μέσω προϊόντων και υπηρεσιών ελέγχου έξυπνων συμβολαίων._
+
+- **[ImmuneBytes](https://immunebytes.com/smart-contract-audit/)** - _Εταιρεία ασφάλειας Web3 που προσφέρει ελέγχους ασφάλειας για συστήματα blockchain μέσω μιας ομάδας έμπειρων ελεγκτών και κορυφαίων εργαλείων._
+
+- **[Oxorio](https://oxor.io/)** - _Έλεγχοι έξυπνων συμβολαίων και υπηρεσίες ασφάλειας blockchain με εξειδίκευση σε EVM, Solidity, ZK, τεχνολογία διασταύρωσης αλυσίδων για κρυπτο εταιρείες και έργα DeFi._
+
+- **[Inference](https://inference.ag/)** - _Εταιρεία ελέγχου ασφάλειας, εξειδικευμένη στον έλεγχο έξυπνων συμβολαίων για αλυσίδες μπλοκ που βασίζονται σε EVM. Χάρη στους έμπειρους ελεγκτές της, εντοπίζουν πιθανά προβλήματα και προτείνουν εφαρμόσιμες λύσεις για την επίλυσή τους πριν από την ανάπτυξη._
+
+### Πλατφόρμες εύρεσης σφαλμάτων {#bug-bounty-platforms}
+
+- **[Immunefi](https://immunefi.com/)** - _Πλατφόρμα ανταμοιβής για εντοπισμό σφαλμάτων για έξυπνα συμβόλαια και έργα DeFi, όπου οι ερευνητές ασφάλειας εξετάζουν τον κώδικα, αποκαλύπτουν ευπάθειες, πληρώνονται και κάνουν τον κόσμο των κρυπτονομισμάτων πιο ασφαλή._
+
+- **[HackerOne](https://www.hackerone.com/)** -_Πλατφόρμα συντονισμού ευπαθειών και ανταμοιβής για εντοπισμό σφαλμάτων που συνδέει επιχειρήσεις με ερευνητές διείσδυσης και ασφάλειας στον κυβερνοχώρο._
+
+- **[HackenProof](https://hackenproof.com/)** - _Εξειδικευμένη πλατφόρμα ανταμοιβής για εντοπισμό σφαλμάτων για κρυπτο-έργα (DeFi, Έξυπνα Συμβόλαια, Πορτοφόλια, Κεντρικά Ανταλλακτήρια και άλλα), όπου οι επαγγελματίες ασφάλειας παρέχουν υπηρεσίες διαλογής και οι ερευνητές πληρώνονται για σχετικές, επαληθευμένες αναφορές σφαλμάτων._
+
+- **[Sherlock](https://www.sherlock.xyz/)** - _Ασφαλιστική στο Web3 για ασφάλεια έξυπνων συμβολαίων, με πληρωμές για ελεγκτές τις οποίες διαχειρίζονται μέσω έξυπνων συμβολαίων για να διασφαλιστεί ότι τα σχετικά σφάλματα πληρώνονται δίκαια._
+
+- **[CodeHawks](https://www.codehawks.com/)** - _Ανταγωνιστική πλατφόρμα ανταμοιβής για την εύρεση σφαλμάτων όπου οι ελεγκτές συμμετέχουν σε διαγωνισμούς και προκλήσεις ασφάλειας και (σύντομα) σε ιδιωτικούς ελέγχους τους._
+
+### Δημοσιεύσεις γνωστών ευπαθειών και εκμεταλλεύσεων έξυπνων συμβολαίων {#common-smart-contract-vulnerabilities-and-exploits}
+
+- **[ConsenSys: Γνωστές Επιθέσεις σε Έξυπνα Συμβόλαια](https://consensys.github.io/smart-contract-best-practices/attacks/)** - _Φιλική προς αρχάριους επεξήγηση των πιο σημαντικών ευπαθειών συμβολαίων, με δείγμα κώδικα για τις περισσότερες περιπτώσεις._
+
+- **[SWC Registry](https://swcregistry.io/)** - _Επιμελημένη λίστα στοιχείων Common Weakness Enumeration (CWE) που ισχύουν για έξυπνα συμβόλαια Ethereum._
+
+- **[Rekt](https://rekt.news/)** - _Τακτικά επικαιροποιούμενη δημοσίευση υψηλού προφίλ κρυπτο-χακαρίσματος και εκμεταλλεύσεων, που συνοδεύεται από λεπτομερείς εκθέσεις μεταθανάτιου ελέγχου._
+
+### Προκλήσεις για την Εκμάθηση της Ασφάλειας Έξυπνων Συμβολαίων {#challenges-for-learning-smart-contract-security}
+
+- **[Awesome BlockSec CTF](https://github.com/blockthreat/blocksec-ctfs)** - _Επιμελημένη λίστα παιχνιδιών πολέμου ασφάλειας blockchain, προκλήσεων και διαγωνισμών [Capture The Flag](https://www.webopedia.com/definitions/ctf-event/amp/) και λύσεων._
+
+- **[Damn Vulnerable DeFi](https://www.damnvulnerabledefi.xyz/)** - _Παιχνίδι πολέμου για να διδαχθείτε την επιθετική ασφάλεια των έξυπνων συμβολαίων DeFi και να αναπτύξετε δεξιότητες εντοπισμού σφαλμάτων και ελέγχου ασφάλειας._
+
+- **[Ethernaut](https://ethernaut.openzeppelin.com/)** - _Παιχνίδι πολέμου βασισμένο σε Web3/Solidity όπου κάθε επίπεδο είναι ένα έξυπνο συμβόλαιο που πρέπει να «χακαριστεί»._
+
+- **[HackenProof x HackTheBox](https://app.hackthebox.com/tracks/HackenProof-Track)** - _Πρόκληση hacking έξυπνων συμβολαίων, που εκτυλίσσεται σε μια φανταστική περιπέτεια. Η επιτυχημένη ολοκλήρωση της πρόκλησης δίνει επίσης πρόσβαση σε ένα ιδιωτικό πρόγραμμα ανταμοιβής για την εύρεση σφαλμάτων._
+
+### Βέλτιστες πρακτικές για την ασφάλεια έξυπνων συμβολαίων {#smart-contract-security-best-practices}
+
+- **[ConsenSys: Καλύτερες πρακτικές ασφάλειας έξυπνων συμβολαίων Ethereum](https://consensys.github.io/smart-contract-best-practices/)** - _Πλήρης κατάλογος οδηγιών για την ασφάλεια έξυπνων συμβολαίων Ethereum._
+
+- **[Nascent: Simple Security Toolkit](https://github.com/nascentxyz/simple-security-toolkit)** - _Συλλογή πρακτικών οδηγών και λιστών ελέγχου με επίκεντρο την ασφάλεια για την ανάπτυξη έξυπνων συμβολαίων._
+
+- **[Solidity Patterns](https://fravoll.github.io/solidity-patterns/)** - _Χρήσιμη συλλογή ασφαλών προτύπων και βέλτιστων πρακτικών για τη γλώσσα προγραμματισμού έξυπνων συμβολαίων Solidity._
+
+- **[Solidity Docs: Security Considerations](https://docs.soliditylang.org/en/v0.8.16/security-considerations.html)** - _Οδηγίες για τη συγγραφή ασφαλών έξυπνων συμβολαίων με Solidity._
+
+- **[Smart Contract Security Verification Standard](https://github.com/securing/SCSVS)** - _Κατάλογος ελέγχου δεκατεσσάρων μερών που δημιουργήθηκε για να τυποποιήσει την ασφάλεια των έξυπνων συμβολαίων για προγραμματιστές, αρχιτέκτονες, ελεγκτές ασφάλειας και προμηθευτές._
+
+- **[Learn Smart Contract Security and Auditing](https://updraft.cyfrin.io/courses/security)** - _Το απόλυτο μάθημα ασφάλειας και ελέγχου έξυπνων συμβολαίων, δημιουργημένο για προγραμματιστές έξυπνων συμβολαίων που θέλουν να αναβαθμίσουν τις βέλτιστες πρακτικές ασφάλειας τους και να γίνουν ερευνητές ασφάλειας._
+
+### Οδηγοί για την ασφάλεια έξυπνων συμβολαίων {#tutorials-on-smart-contract-security}
+
+- [Πώς να γράψετε ασφαλή έξυπνα συμβόλαια](/developers/tutorials/secure-development-workflow/)
+
+- [Πώς να χρησιμοποιήσετε το Slither για εύρεση σφαλμάτων των έξυπνων συμβολαίων](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+
+- [Πως να χρησιμοποιήσετε το Manticore για εύρεση σφαλμάτων των έξυπνων συμβολαίων](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
+
+- [Οδηγίες ασφαλείας έξυπνων συμβολαίων](/developers/tutorials/smart-contract-security-guidelines/)
+
+- [Πώς να ενσωματώσετε με ασφάλεια αυθαίρετα κρυπτονομίσματα στο συμβόλαιό σας](/developers/tutorials/token-integration-checklist/)
+
+- [Cyfrin Updraft - Πλήρες μάθημα για την ασφάλεια και τον έλεγχο έξυπνων συμβολαίων.](https://updraft.cyfrin.io/courses/security)
diff --git a/public/content/translations/el/developers/docs/smart-contracts/testing/index.md b/public/content/translations/el/developers/docs/smart-contracts/testing/index.md
index 84944ec7782..6a46e96cc7e 100644
--- a/public/content/translations/el/developers/docs/smart-contracts/testing/index.md
+++ b/public/content/translations/el/developers/docs/smart-contracts/testing/index.md
@@ -130,7 +130,7 @@ function auctionEnd() external {
##### 3. Μέτρηση κάλυψης κώδικα
-[Η κάλυψη κώδικα](https://en.m.wikipedia.org/wiki/Code_coverage) είναι μια δοκιμή μετρικού συστήματος που παρακολουθεί τον αριθμό των κλάδων, των γραμμών και των δηλώσεων στον κώδικα σας που εκτελέστηκε κατά τη διάρκεια των δοκιμών. Οι δοκιμές πρέπει να έχουν καλή κάλυψη κώδικα, διαφορετικά μπορεί να έχετε «ψευδώς αρνητικά», τα οποία συμβαίνουν όταν ένα έξυπνο συμβόλαιο περνάει όλες τις δοκιμές, αλλά εξακολουθούν να υπάρχουν ευπάθειες στον κώδικα. Η καταγραφή υψηλής κάλυψης κώδικα, ωστόσο, δίνει τη διαβεβαίωση ότι ελέγχθηκε επαρκώς η ορθότητα όλων των δηλώσεων/συναρτήσεων ενός έξυπνου συμβολαίου.
+[Η κάλυψη κώδικα](https://en.m.wikipedia.org/wiki/Code_coverage) είναι μια δοκιμή μετρικού συστήματος που παρακολουθεί τον αριθμό των κλάδων, των γραμμών και των δηλώσεων στον κώδικα σας που εκτελέστηκε κατά τη διάρκεια των δοκιμών. Οι δοκιμές θα πρέπει να έχουν καλή επικάλυψη κώδικα για να ελαχιστοποιηθεί ο κίνδυνος μη ελεγμένων τρωτών σημείων. Χωρίς επαρκή επικάλυψη, ενδέχεται να υποθέσετε λανθασμένα ότι το συμβόλαιό σας είναι ασφαλές, επειδή όλες οι δοκιμές επιτυγχάνουν, ενώ τα τρωτά σημεία εξακολουθούν να υπάρχουν σε μη δοκιμασμένες διαδρομές κώδικα. Η καταγραφή υψηλής κάλυψης κώδικα, ωστόσο, δίνει τη διαβεβαίωση ότι ελέγχθηκε επαρκώς η ορθότητα όλων των δηλώσεων/συναρτήσεων ενός έξυπνου συμβολαίου.
##### 4. Χρησιμοποιήστε καλά ανεπτυγμένα πλαίσια δοκιμών
@@ -213,7 +213,7 @@ function auctionEnd() external {
### Δοκιμή έξυπνων συμβολαίων στα δοκιμαστικά δίκτυα {#testing-contracts-on-testnets}
-Ένα δίκτυο δοκιμών ή δοκιμαστικό δίκτυο λειτουργεί ακριβώς όπως το κεντρικό δίκτυο Ethereum, εκτός από το ότι χρησιμοποιεί Ether (ETH) χωρίς πραγματική αξία. Η ανάπτυξη του έξυπνου συμβολαίου σας σε ένα [δοκιμαστικό δίκτυο](/developers/docs/networks/#ethereum-testnets) σημαίνει ότι ο καθένας μπορεί να αλληλεπιδράσει με αυτό (π.χ. μέσω του μετωπικού άκρου της αποκεντρωμένης εφαρμογής) χωρίς να διακινδυνεύσει κεφάλαια.
+Ένα δίκτυο δοκιμών ή δοκιμαστικό δίκτυο λειτουργεί ακριβώς όπως το κεντρικό δίκτυο Ethereum, εκτός από το ότι χρησιμοποιεί ether (ETH) χωρίς πραγματική αξία. Η ανάπτυξη του έξυπνου συμβολαίου σας σε ένα [δοκιμαστικό δίκτυο](/developers/docs/networks/#ethereum-testnets) σημαίνει ότι ο καθένας μπορεί να αλληλεπιδράσει με αυτό (π.χ. μέσω του μετωπικού άκρου της αποκεντρωμένης εφαρμογής) χωρίς να διακινδυνεύσει κεφάλαια.
Αυτή η μορφή χειροκίνητης δοκιμής είναι χρήσιμη για την αξιολόγηση της ροής από άκρο σε άκρο της εφαρμογής από την άποψη ενός χρήστη. Εδώ, οι δοκιμαστές beta μπορούν επίσης να εκτελέσουν δοκιμαστικές εκτελέσεις και να αναφέρουν τυχόν προβλήματα στην επιχειρηματική λογική του έξυπνου συμβολαίου και τη συνολική λειτουργικότητα.
@@ -259,7 +259,7 @@ function auctionEnd() external {
- **[Πλαίσιο δοκιμής μονάδας Brownie](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** - _Το Brownie χρησιμοποιεί το Pytest, ένα πλούσιο σε χαρακτηριστικά πλαίσιο δοκιμών που σας επιτρέπει να γράφετε μικρές δοκιμές με ελάχιστο κώδικα, κλιμακώνεται καλά σε μεγάλα έργα και είναι ιδιαίτερα επεκτάσιμο._
-- **[Δοκιμές Foundry](https://github.com/foundry-rs/foundry/tree/master/forge)** - _Το Foundry προσφέρει το Forge, ένα γρήγορο και ευέλικτο πλαίσιο δοκιμών Ethereum ικανό να εκτελεί απλές δοκιμές μονάδας, ελέγχους βελτιστοποίησης gas και fuzzing συμβολαίων._
+- **[Δοκιμές Foundry](https://github.com/foundry-rs/foundry/tree/master/crates/forge)** - _Το Foundry προσφέρει το Forge, ένα γρήγορο και ευέλικτο πλαίσιο δοκιμών Ethereum ικανό να εκτελεί απλές δοκιμές μονάδας, ελέγχους βελτιστοποίησης gas και fuzzing συμβολαίων._
- **[Δοκιμές Hardhat](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** - _Πλαίσιο για δοκιμή έξυπνων συμβολαίων βασισμένο σε ethers.js, Mocha και Chai._
diff --git a/public/content/translations/el/developers/docs/smart-contracts/verifying/index.md b/public/content/translations/el/developers/docs/smart-contracts/verifying/index.md
index 07bb17a17c0..bee3ee276bc 100644
--- a/public/content/translations/el/developers/docs/smart-contracts/verifying/index.md
+++ b/public/content/translations/el/developers/docs/smart-contracts/verifying/index.md
@@ -72,11 +72,11 @@ lang: el
Αν και είναι κυρίως γνωστό ως [εξερευνητής κρυπτοαλυσίδας Ethereum](/developers/docs/data-and-analytics/block-explorers/), το Etherscan προσφέρει επίσης μια [υπηρεσία επαλήθευσης πηγαίου κώδικα](https://etherscan.io/verifyContract) για προγραμματιστές και χρήστες έξυπνων συμβολαίων.
-Το Etherscan σάς επιτρέπει να μεταγλωττίσετε εκ νέου bytecode συμβολαίου από το αρχικό φορτίο δεδομένων (πηγαίος κώδικας, διεύθυνση βιβλιοθήκης, ρυθμίσεις μεταγλωττιστή, διεύθυνση συμβολαίου, κ.λπ.) Εάν το εκ νέου μεταγλωττισμένο bytecode συσχετίζεται με το bytecode (και τις παραμέτρους του κατασκευαστή) του συμβολαίου εντός αλυσίδας, τότε [το συμβόλαιο επαληθεύεται](https://info.etherscan.com/types-of-contract-verification/).
+Το Etherscan σάς επιτρέπει να μεταγλωττίσετε εκ νέου bytecode συμβολαίου από το αρχικό φορτίο δεδομένων (πηγαίος κώδικας, διεύθυνση βιβλιοθήκης, ρυθμίσεις μεταγλωττιστή, διεύθυνση συμβολαίου, κ.λπ.) Εάν το εκ νέου μεταγλωττισμένο bytecode συσχετίζεται με το bytecode (και τις παραμέτρους του κατασκευαστή) του συμβολαίου στην αλυσίδα, τότε [το συμβόλαιο επαληθεύεται](https://info.etherscan.com/types-of-contract-verification/).
Αφού επαληθευτεί, ο πηγαίος κώδικας του συμβολαίου σας λαμβάνει μια ετικέτα «Επαληθευμένο» και δημοσιεύεται στο Etherscan για έλεγχο από άλλους. Προστίθεται επίσης στην ενότητα [Επαληθευμένα συμβόλαια](https://etherscan.io/contractsVerified/) — έναν κατάλογο έξυπνων συμβολαίων με επαληθευμένους πηγαίους κώδικες.
-Το Etherscan είναι το ευρύτερα χρησιμοποιούμενο εργαλείο για την επαλήθευση συμβολαίων. Ωστόσο, η επαλήθευση συμβολαίου της Etherscan έχει ένα μειονέκτημα: δεν καταφέρνει να συγκρίνει τον ** hash μεταδεδομένων** του bytecode εντός αλυσίδας και του εκ νέου μεταγλωττισμένου bytecode. Επομένως, οι αντιστοιχίσεις στο Etherscan είναι μερικές αντιστοιχίσεις.
+Το Etherscan είναι το ευρύτερα χρησιμοποιούμενο εργαλείο για την επαλήθευση συμβολαίων. Ωστόσο, η επαλήθευση συμβολαίου της Etherscan έχει ένα μειονέκτημα: δεν καταφέρνει να συγκρίνει τον ** hash μεταδεδομένων** του bytecode στην αλυσίδα και του εκ νέου μεταγλωττισμένου bytecode. Επομένως, οι αντιστοιχίσεις στο Etherscan είναι μερικές αντιστοιχίσεις.
[Περισσότερα σχετικά με την επαλήθευση συμβολαίων στο Etherscan](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327).
diff --git a/public/content/translations/el/developers/docs/standards/index.md b/public/content/translations/el/developers/docs/standards/index.md
new file mode 100644
index 00000000000..48a6d49330e
--- /dev/null
+++ b/public/content/translations/el/developers/docs/standards/index.md
@@ -0,0 +1,59 @@
+---
+title: Πρότυπα ανάπτυξης Ethereum
+description:
+lang: el
+incomplete: true
+---
+
+## Επισκόπηση προτύπων {#standards-overview}
+
+Η κοινότητα του Ethereum έχει υιοθετήσει πολλά πρότυπα που βοηθούν στη διατήρηση της διαλειτουργικότητας μεταξύ των έργων (όπως οι εφαρμογές [πελάτη του Ethereum](/developers/docs/nodes-and-clients/) και των πορτοφολιών) και να διασφαλιστεί η πολυπλοκότητα των έξυπνων συμβολαίων και των dapps.
+
+Συνήθως τα πρότυπα εισάγονται ως [προτάσεις βελτίωσης του Ethereum](/eips/) (EIPs), οι οποίες συζητούνται από τα μέλη της κοινότητας μέσω μιας [τυπικής διαδικασίας](https://eips.ethereum.org/EIPS/eip-1).
+
+- [Εισαγωγή στα EIP](/eips/)
+- [Λίστα EIPs](https://eips.ethereum.org/)
+- [Αποθετήριο EIP GitHub](https://github.com/ethereum/EIPs)
+- [Φόρουμ συζητήσεων EIP](https://ethereum-magicians.org/c/eips)
+- [Εισαγωγή στη διακυβέρνηση του Ethereum](/governance/)
+- [Επισκόπηση διακυβέρνησης Ethereum](https://web.archive.org/web/20201107234050/https://blog.bmannconsulting.com/ethereum-governance/) _31 Μαρτίου 2019 - Boris Mann_
+- [Συντονισμός Αναπτυξιακής Διακυβέρνησης Πρωτοκόλλου του Ethereum](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) _23 Μαρτίου 2020 - Hudson Jameson_
+- [Λίστα αναπαραγωγής συναντήσεων των Ethereum Core Dev](https://www.youtube.com/@EthereumProtocol) _(Λίστα στο YouTube)_
+
+## Τύποι προτύπων {#types-of-standards}
+
+Υπάρχουν τρεις διαφορετικοί τύποι EIP:
+
+- Τμήμα προτύπων: περιγράφει κάθε αλλαγή που επηρεάζει τις περισσότερες ή όλες τις υλοποιήσεις του Ethereum.
+- [Meta τμήμα](https://eips.ethereum.org/meta): περιγράφει μια διαδικασία γύρω από το Ethereum ή προτείνει μια αλλαγή σε μια διαδικασία.
+- [Ενημερωτικό τμήμα](https://eips.ethereum.org/informational): περιγράφει ένα ζήτημα σχεδιασμού του Ethereum ή παρέχει γενικές οδηγίες ή πληροφορίες στην κοινότητα του Ethereum.
+
+Επιπλέον, το Τμήμα Προτύπων υποδιαιρείται σε 4 κατηγορίες:
+
+- [Πυρήνας](https://eips.ethereum.org/core): βελτιώσεις που απαιτούν συναίνεση για αναβαθμίσεις.
+- [Δικτύωση](https://eips.ethereum.org/networking): βελτιώσεις γύρω από το υπο-πρωτόκολλο devp2p και Light του Ethereum, καθώς και προτεινόμενες βελτιώσεις στις προδιαγραφές πρωτοκόλλου δικτύου των «whisper» και «swarm».
+- [Διεπαφή](https://eips.ethereum.org/interface): βελτιώσεις σχετικά με τις προδιαγραφές και τα πρότυπα της εφαρμογής πελάτη API/RPC και ορισμένα πρότυπα γλωσσικού επιπέδου, όπως ονόματα μεθόδων και συμβόλαια ABI.
+- [ΕΣΕ](https://eips.ethereum.org/erc): πρότυπα επιπέδων εφαρμογής και συμβάσεις
+
+Περισσότερες πληροφορίες σχετικά με τους διαφορετικούς τύπους και κατηγορίες μπορούν να βρεθούν στο [EIP-1](https://eips.ethereum.org/EIPS/eip-1#eip-types)
+
+### Πρότυπα token {#token-standards}
+
+- [ERC-20](/developers/docs/standards/tokens/erc-20/) - Ένα πρότυπο διεπαφής για εναλλάξιμα (ανταλλάξιμα) ψηφιακά στοιχεία, όπως κρύπτο ψηφοφορίας, αποθήκευσης κεφαλαίου ή εικονικά νομίσματα.
+ - [ERC-223](/developers/docs/standards/tokens/erc-223/) - Ένα πρότυπο εναλλάξιμων κρυπτοπαραστατικών που κάνει τα κρύπτο να συμπεριφέρονται πανομοιότυπα με το ether, υποστηρίζoντας τον χειρισμό μεταφορών κρύπτο από την πλευρά του παραλήπτη.
+ - [ERC-1363](https://eips.ethereum.org/EIPS/eip-1363) - Καθορίζει μια διεπαφή κρυπτονομίσματος ERC-20 που υποστηρίζει την εκτέλεση κωδικού παραλήπτη μετά τη μεταφορά ή μεταφορά από, ή τον κωδικό δαπάνης μετά την έγκριση.
+- [ERC-721](/developers/docs/standards/tokens/erc-721/) - Μια τυπική διεπαφή για μη εναλλάξιμα κρυπτοπαραστατικά, όπως μια πράξη για έργα τέχνης ή ένα τραγούδι.
+ - [ERC-2309](https://eips.ethereum.org/EIPS/eip-2309) - Ένα τυποποιημένο γεγονός που εκπέμπεται κατά τη δημιουργία/μεταφορά ενός ή πολλών μη εναλλάξιμων κρυπτονομισμάτων με τη χρήση διαδοχικών αναγνωριστικών κρυπτονομισμάτων.
+ - [ERC-4400](https://eips.ethereum.org/EIPS/eip-4400) - Επέκταση για τη διεπαφή για καταναλωτικό ρόλο EIP-721.
+ - [ERC-4907](https://eips.ethereum.org/EIPS/eip-4907) - Προσθήκη ενός ρόλου περιορισμένου χρόνου με ορισμένα δικαιώματα για κρυπτονομίσματα ERC-721.
+- [ERC-777](/developers/docs/standards/tokens/erc-777/) - **(ΔΕΝ ΠΡΟΤΕΙΝΕΤΑΙ)** Ένα πρότυπο κρυπτονομίσματος βελτιώνοντας το ERC-20.
+- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - Ένα πρότυπο κρυπτονομίσματος που μπορεί να περιέχει τόσο εναλλάξιμα όσο και μη εναλλάξιμα κρυπτοπαραστατικά.
+- [ERC-4626](/developers/docs/standards/tokens/erc-4626/) - Ένα πρότυπο θησαυροφυλάκιο με κρύπτο σχεδιασμένο για τη βελτιστοποίηση και την ενοποίηση των τεχνικών παραμέτρων των θησαυροφυλακίων που φέρουν απόδοση.
+
+Μάθετε περισσότερα σχετικά με [πρότυπα κρυπτονομισμάτων](/developers/docs/standards/tokens/).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Προτάσεις Βελτίωσης του Ethereum (EIP)](/eips/)
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-1155/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-1155/index.md
new file mode 100644
index 00000000000..e7dc7c7875a
--- /dev/null
+++ b/public/content/translations/el/developers/docs/standards/tokens/erc-1155/index.md
@@ -0,0 +1,146 @@
+---
+title: ERC-1155 Πρότυπο Πολλαπλών Ψηφιακών Στοιχείων
+description:
+lang: el
+---
+
+## Εισαγωγή {#introduction}
+
+Μια τυπική διεπαφή για συμβόλαια που διαχειρίζονται πολλούς τύπους κρυπτονομισμάτων. Ένα απλό συμβόλαιο που έχει αναπτυχθεί μπορεί να περιλαμβάνει κάθε συνδυασμό εναλλάξιμων κρυπτοπαραστατικών, μη εναλλάξιμων κρυπτοπαραστατικών ή άλλων παραμέτρων (π.χ. ημι-εναλλάξιμα κρυπτοπαραστατικά).
+
+**Τι εννοούμε με το πρότυπο πολλαπλών στοιχείων;**
+
+Η ιδέα είναι απλή και επιδιώκει να δημιουργήσει μια διεπαφή έξυπνου συμβολαίου που μπορεί να αντιπροσωπεύει και να ελέγχει οποιοδήποτε αριθμό τύπων εναλλάξιμων και μη εναλλάξιμων ψηφιακών στοιχείων. Με αυτόν τον τρόπο, ένα ψηφιακό στοιχείο ERC-1155 μπορεί να έχει τις ίδιες λειτουργίες με ένα ψηφιακό στοιχείο [ERC-20](/developers/docs/standards/tokens/erc-20/) και [ERC-721](/developers/docs/standards/tokens/erc-721/) ή ακόμη και τα δύο ταυτόχρονα. Βελτιώνει τη λειτουργικότητα τόσο του προτύπου ERC-20 όσο και του ERC-721, καθιστώντας το πιο αποτελεσματικό και διορθώνοντας προφανή σφάλματα υλοποίησης.
+
+Το ψηφιακό στοιχείο ERC-1155 περιγράφεται πλήρως στο [EIP-1155](https://eips.ethereum.org/EIPS/eip-1155).
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε πρώτα για τα [πρότυπα ψηφιακών στοιχείων](/developers/docs/standards/tokens/) [ERC-20](/developers/docs/standards/tokens/erc-20/) και [ERC-721](/developers/docs/standards/tokens/erc-721/).
+
+## Λειτουργίες και Χαρακτηριστικά ERC-1155: {#body}
+
+- [Μεταφορά παρτίδας](#batch_transfers): Μεταφορά πολλών περιουσιακών στοιχείων με μία μόνο κλήση.
+- [Υπόλοιπο παρτίδας](#batch_balance): Λήψη των υπολοίπων πολλών περιουσιακών στοιχείων με μία μόνο κλήση.
+- [Έγκριση παρτίδας](#batch_approval): Έγκριση όλων των ψηφιακών στοιχείων σε μια διεύθυνση.
+- [Hooks](#receive_hook): Λήψη token hook.
+- [Υποστήριξη NFT](#nft_support): Εάν η προσφορά είναι μόνο 1, αντιμετωπίστε την ως NFT.
+- [Κανόνες ασφαλούς μεταφοράς](#safe_transfer_rule): Σύνολο κανόνων για ασφαλή μεταφορά.
+
+### Μεταφορές παρτίδας {#batch-transfers}
+
+Η μεταφορά παρτίδας λειτουργεί πολύ παρόμοια με τις κανονικές μεταφορές ERC-20. Ας δούμε τη συνάρτηση `transferFrom` ERC-20:
+
+```solidity
+// ERC-20
+function transferFrom(address from, address to, uint256 value) external returns (bool);
+
+// ERC-1155
+function safeBatchTransferFrom(
+ address _from,
+ address _to,
+ uint256[] calldata _ids,
+ uint256[] calldata _values,
+ bytes calldata _data
+) external;
+```
+
+Η μόνη διαφορά στο ERC-1155 είναι ότι περνάμε τις τιμές ως μια σειρά και περνάμε επίσης μια σειρά από αναγνωριστικά. Για παράδειγμα, `ids= [3, 6, 13]` και των `values= [100, 200, 5]`, οι προκύπτουσες μεταφορές θα είναι
+
+1. Μεταφορά 100 ψηφιακών στοιχείων με id 3 από `_from` σε `_to`.
+2. Μεταφορά 200 ψηφιακών στοιχείων με id 6 από `_from` σε `_to`.
+3. Μεταφορά 5 ψηφιακών στοιχείων με id 13 από `_from` σε `_to`.
+
+Στο ERC-1155 υπάρχει μόνο `transferFrom`, και όχι `transfer`. Για να το χρησιμοποιήσετε σαν ένα κανονικό `transfer`, απλά ορίστε το στη διεύθυνση "από" στη διεύθυνση που ζητά τη συνάρτηση.
+
+### Υπόλοιπο παρτίδας {#batch-balance}
+
+Η αντίστοιχη κλήση `balanceOf` του ERC-20 έχει επίσης τη συνάρτηση συνεργάτη της με υποστήριξη παρτίδας. Ως υπενθύμιση, αυτή είναι η έκδοση ERC-20:
+
+```solidity
+// ERC-20
+function balanceOf(address owner) external view returns (uint256);
+
+// ERC-1155
+function balanceOfBatch(
+ address[] calldata _owners,
+ uint256[] calldata _ids
+) external view returns (uint256[] memory);
+```
+
+Ακόμη απλούστερη για την κλήση ισοζυγίου, μπορούμε να ανακτήσουμε πολλαπλά ισοζύγια σε μια ενιαία κλήση. Περνάμε τη σειρά των κατόχων, ακολουθούμενη από τη σειρά των αναγνωριστικών token.
+
+Για παράδειγμα, το `_ids=[3, 6, 13]` και `_owners=[0xbeef..., 0x1337..., 0x1111...]`, η τιμή του αποτελέσματος θα είναι
+
+```solidity
+[
+ balanceOf(0xbeef...),
+ balanceOf(0x1337...),
+ balanceOf(0x1111...)
+]
+```
+
+### Έγκριση παρτίδας {#batch-approval}
+
+```solidity
+// ERC-1155
+function setApprovalForAll(
+ address _operator,
+ bool _approved
+) external;
+
+function isApprovedForAll(
+ address _owner,
+ address _operator
+) external view returns (bool);
+```
+
+Οι εγκρίσεις είναι ελαφρώς διαφορετικές από το ERC-20. Αντί να εγκρίνετε συγκεκριμένα ποσά, ορίζετε έναν χειριστή ως εγκεκριμένο ή μη εγκεκριμένο μέσω του `setApprovalForAll`.
+
+Η ανάγνωση της τρέχουσας κατάστασης μπορεί να γίνει μέσω του `isApprovedForAll`. Όπως μπορείτε να δείτε, είναι μια λειτουργία όλα ή τίποτα. Δεν μπορείτε να ορίσετε πόσα ψηφιακά στοιχεία θα εγκρίνετε ή καν ποια κατηγορία ψηφιακού στοιχείου αφορά.
+
+Αυτό έχει σχεδιαστεί σκόπιμα με γνώμονα την απλότητα. Μπορείτε να τα εγκρίνετε όλα για μία διεύθυνση.
+
+### Receive Hook {#receive-hook}
+
+```solidity
+function onERC1155BatchReceived(
+ address _operator,
+ address _from,
+ uint256[] calldata _ids,
+ uint256[] calldata _values,
+ bytes calldata _data
+) external returns(bytes4);
+```
+
+Δεδομένης της υποστήριξης [EIP-165](https://eips.ethereum.org/EIPS/eip-165), το ERC-1155 υποστηρίζει τα hooks λήψης μόνο για έξυπνα συμβόλαια. Η συνάρτηση hook πρέπει να επιστρέφει μια μαγική προκαθορισμένη τιμή bytes4 που δίνεται ως:
+
+```solidity
+bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))
+```
+
+Όταν το συμβαλλόμενο μέρος που λαμβάνει επιστρέφει αυτήν την τιμή, υποτίθεται ότι το συμβαλλόμενο μέρος αποδέχεται τη μεταφορά και γνωρίζει πώς να χειρίζεται τα token ERC-1155. Ωραία, τέλος τα κολλημένα token σε ένα συμβόλαιο!
+
+### Υποστήριξη NFT {#nft-support}
+
+Όταν η προσφορά είναι μόνο μία, το token είναι ουσιαστικά ένα μη εναλλάξιμο token (NFT). Και όπως είναι τυπικό για το ERC-721, μπορείτε να ορίσετε μια διεύθυνση URL μεταδεδομένων. Η διεύθυνση URL μπορεί να διαβαστεί και να τροποποιηθεί από τους πελάτες, δείτε [εδώ](https://eips.ethereum.org/EIPS/eip-1155#metadata).
+
+### Κανόνας Ασφαλούς Μεταφοράς {#safe-transfer-rule}
+
+Έχουμε ήδη αναφερθεί σε μερικούς κανόνες ασφαλούς μεταφοράς στις προηγούμενες εξηγήσεις. Αλλά ας δούμε τους πιο σημαντικούς από τους κανόνες:
+
+1. Ο αποστολέας πρέπει να έχει εγκριθεί για να ξοδέψει τα ψηφιακά στοιχεία για τη διεύθυνση `_from` ή ο αποστολέας πρέπει να ισούται με `_from`.
+2. Η κλήση μεταφοράς πρέπει να αναστρέφεται εάν
+ 1. `_to` η διεύθυνση είναι 0.
+ 2. Το μήκος του `_ids` δεν είναι ίδιο με το μήκος του `_values`.
+ 3. Οποιοδήποτε από τα υπόλοιπα του κατόχου ή των κατόχων για το ή τα token στο `_ids` είναι χαμηλότερο από τα αντίστοιχα ποσά στο `_values` που αποστέλλονται στον παραλήπτη.
+ 4. Προκύπτει οποιοδήποτε άλλο σφάλμα.
+
+_Σημείωση_: Όλες οι συναρτήσεις παρτίδας συμπεριλαμβανομένης του hook υπάρχουν επίσης ως εκδόσεις χωρίς παρτίδα. Αυτό γίνεται για απόδοση gas, λαμβάνοντας υπόψη ότι η μεταφορά μόνο ενός περιουσιακού στοιχείου θα είναι πιθανώς ο πιο συχνά χρησιμοποιούμενος τρόπος. Τα παραλείψαμε για απλότητα στις εξηγήσεις, συμπεριλαμβανομένων των κανόνων ασφαλούς μεταφοράς. Τα ονόματα είναι ίδια, απλώς αφαιρέστε το 'Batch'.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [EIP-1155: Πρότυπα Πολλαπλών Ψηφιακών Στοιχείων](https://eips.ethereum.org/EIPS/eip-1155)
+- [ERC-1155: Τεκμηρίωση Openzeppelin](https://docs.openzeppelin.com/contracts/5.x/erc1155)
+- [ERC-1155: Αποθετήριο GitHub](https://github.com/enjin/erc-1155)
+- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)
diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-20/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-20/index.md
new file mode 100644
index 00000000000..1aa377ac472
--- /dev/null
+++ b/public/content/translations/el/developers/docs/standards/tokens/erc-20/index.md
@@ -0,0 +1,172 @@
+---
+title: Πρότυπο Ψηφιακού Στοιχείου ERC-20
+description:
+lang: el
+---
+
+## Εισαγωγή {#introduction}
+
+**Τι είναι ένα Ψηφιακό Στοιχείο;**
+
+Τα Ψηφιακά Στοιχεία μπορούν να αντιπροσωπεύουν σχεδόν τα πάντα στο Ethereum:
+
+- πόντους φήμης σε μια πλατφόρμα στο διαδίκτυο
+- ικανότητες του χαρακτήρα σε ένα παιχνίδι
+- χρηματοοικονομικά στοιχεία όπως μετοχές εταιρείας
+- ένα νόμισμα όπως το USD
+- μια ουγγιά χρυσού
+- και πολλά άλλα...
+
+Ένα τόσο ισχυρό χαρακτηριστικό του Ethereum πρέπει να χειρίζεται από ένα ισχυρό πρότυπο; Αυτό είναι ακριβώς όπου το ERC-20 παίζει το ρόλο του! Αυτό το πρότυπο επιτρέπει στους προγραμματιστές να δημιουργούν εφαρμογές ψηφιακών στοιχείων που είναι διαλειτουργικές με άλλα προϊόντα και υπηρεσίες. Το πρότυπο ERC-20 χρησιμοποιείται επίσης για την παροχή πρόσθετης λειτουργικότητας στο [ether](/glossary/#ether).
+
+**Τι είναι το ERC-20;**
+
+Το ERC-20 εισάγει ένα πρότυπο για ανταλλάξιμα ψηφιακά στοιχεία, με άλλα λόγια, έχουν μια ιδιότητα που κάνει κάθε ψηφιακό στοιχείο να είναι ακριβώς το ίδιο (σε τύπο και αξία) με ένα άλλο. Για παράδειγμα, ένα ψηφιακό στοιχείο ERC-20 λειτουργεί ακριβώς όπως το ETH, που σημαίνει ότι 1 ψηφιακό στοιχείο ισούται και θα ισούται πάντα με όλα τα άλλα.
+
+## Προαπαιτούμενα {#prerequisites}
+
+- [Λογαριασμοί](/developers/docs/accounts)
+- [Έξυπνα Συμβόλαια](/developers/docs/smart-contracts/)
+- [Πρότυπα ψηφιακού στοιχείου](/developers/docs/standards/tokens/)
+
+## Κορμός {#body}
+
+Το ERC-20 (Ethereum Request for Comments 20), που προτάθηκε από τον Fabian Vogelsteller τον Νοέμβριο του 2015, είναι ένα πρότυπο ψηφιακού στοιχείου που υλοποιεί ένα API για ψηφιακά στοιχεία εντός έξυπνων συμβολαίων.
+
+Παραδείγματα λειτουργιών που παρέχει το ERC-20:
+
+- μεταφορά token από έναν λογαριασμό σε έναν άλλο
+- λήψη του τρέχοντος υπολοίπου token ενός λογαριασμού
+- Λήψη συνολικού κεφαλαίου του ψηφιακού στοιχείου που είναι διαθέσιμο στο δίκτυο
+- Έγκριση εάν ένα ποσό ψηφιακού στοιχείου ενός λογαριασμού μπορεί να δαπανηθεί από έναν τρίτο λογαριασμό
+
+Εάν ένα έξυπνο συμβόλαιο εφαρμόζει τις ακόλουθες μεθόδους και συμβάντα μπορεί να ονομαστεί συμβόλαιο ψηφιακού στοιχείου ERC-20 και, όταν αναπτυχθεί, θα είναι υπεύθυνο για την παρακολούθηση των ψηφιακών στοιχείων που θα δημιουργηθούν στο Ethereum.
+
+Από το [EIP-20](https://eips.ethereum.org/EIPS/eip-20):
+
+### Μέθοδοι {#methods}
+
+```solidity
+function name() public view returns (string)
+function symbol() public view returns (string)
+function decimals() public view returns (uint8)
+function totalSupply() public view returns (uint256)
+function balanceOf(address _owner) public view returns (uint256 balance)
+function transfer(address _to, uint256 _value) public returns (bool success)
+function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
+function approve(address _spender, uint256 _value) public returns (bool success)
+function allowance(address _owner, address _spender) public view returns (uint256 remaining)
+```
+
+### Συμβάντα {#events}
+
+```solidity
+event Transfer(address indexed _from, address indexed _to, uint256 _value)
+event Approval(address indexed _owner, address indexed _spender, uint256 _value)
+```
+
+### Παραδείγματα {#web3py-example}
+
+Ας δούμε πώς ένα πρότυπο είναι τόσο σημαντικό για να μας διευκολύνει να επιθεωρήσουμε οποιοδήποτε έξυπνο συμβόλαιο ERC-20 Token στο Ethereum. Χρειαζόμαστε μόνο το Διασύνδεσμο Δυαδικού Κώδικα Εφαρμογής Συμβολαίου (ABI) για να δημιουργήσουμε μια διεπαφή σε οποιοδήποτε ERC-20 Token. Όπως μπορείτε να δείτε παρακάτω, θα χρησιμοποιήσουμε ένα απλοποιημένο ABI, για να το κάνουμε ένα παράδειγμα χαμηλής τριβής.
+
+#### Παράδειγμα Web3.py {#web3py-example}
+
+Αρχικά, βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη της Python [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation):
+
+```
+pip install web3
+```
+
+```python
+from web3 import Web3
+
+
+w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com"))
+
+dai_token_addr = "0x6B175474E89094C44Da98b954EedeAC495271d0F" # DAI
+weth_token_addr = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # Wrapped ether (WETH)
+
+acc_address = "0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11" # Uniswap V2: DAI 2
+
+# This is a simplified Contract Application Binary Interface (ABI) of an ERC-20 Token Contract.
+# It will expose only the methods: balanceOf(address), decimals(), symbol() and totalSupply()
+simplified_abi = [
+ {
+ 'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}],
+ 'name': 'balanceOf',
+ 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'decimals',
+ 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'symbol',
+ 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'totalSupply',
+ 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ }
+]
+
+dai_contract = w3.eth.contract(address=w3.to_checksum_address(dai_token_addr), abi=simplified_abi)
+symbol = dai_contract.functions.symbol().call()
+decimals = dai_contract.functions.decimals().call()
+totalSupply = dai_contract.functions.totalSupply().call() / 10**decimals
+addr_balance = dai_contract.functions.balanceOf(acc_address).call() / 10**decimals
+
+# DAI
+print("===== %s =====" % symbol)
+print("Total Supply:", totalSupply)
+print("Addr Balance:", addr_balance)
+
+weth_contract = w3.eth.contract(address=w3.to_checksum_address(weth_token_addr), abi=simplified_abi)
+symbol = weth_contract.functions.symbol().call()
+decimals = weth_contract.functions.decimals().call()
+totalSupply = weth_contract.functions.totalSupply().call() / 10**decimals
+addr_balance = weth_contract.functions.balanceOf(acc_address).call() / 10**decimals
+
+# WETH
+print("===== %s =====" % symbol)
+print("Total Supply:", totalSupply)
+print("Addr Balance:", addr_balance)
+```
+
+## Γνωστά ζητήματα {#erc20-issues}
+
+### Πρόβλημα λήψης αποδεικτικού ERC-20 {#reception-issue}
+
+Όταν αποστέλλονται token ERC-20 σε ένα έξυπνο συμβόλαιο που δεν έχει σχεδιαστεί να χειρίζεται token ERC-20, αυτά τα token μπορούν να χαθούν μόνιμα. Αυτό συμβαίνει επειδή το συμβαλλόμενο μέρος που λαμβάνει δεν έχει τη λειτουργικότητα να αναγνωρίζει ή να ανταποκρίνεται στα εισερχόμενα token και δεν υπάρχει μηχανισμός στο πρότυπο ERC-20 για να ειδοποιήσει το συμβαλλόμενο μέρος που λαμβάνει σχετικά με τα εισερχόμενα token. Οι κύριοι τρόποι με τους οποίους εμφανίζεται αυτό το ζήτημα είναι μέσω:
+
+1. Μηχανισμός μεταφοράς κρυπτονομισμάτων
+ - Τα ψηφιακά στοιχεία ERC-20 μεταφέρονται χρησιμοποιώντας τις συναρτήσεις transfer ή transferFrom
+ - Όταν ένας χρήστης στέλνει κρύπτο σε μια διεύθυνση συμβολαίου χρησιμοποιώντας αυτές τις συναρτήσεις, αυτά μεταφέρονται ανεξάρτητα από το εάν το συμβαλλόμενο μέρος που λαμβάνει έχει σχεδιαστεί για να τα χειρίζεται
+2. Έλλειψη ειδοποίησης
+ - Το συμβαλλόμενο μέρος δε λαμβάνει ειδοποίηση ή ενημέρωση ότι του έχουν σταλεί ψηφιακά στοιχεία
+ - Εάν το συμβαλλόμενο μέρος που λαμβάνει δε διαθέτει μηχανισμό για τη διαχείριση κρύπτο (π.χ. μια συνάρτηση fallback ή μια ειδική συνάρτηση για τη διαχείριση λήψης κρύπτο), τα ψηφιακά στοιχεία είναι ουσιαστικά κολλημένα στη διεύθυνση του συμβολαίου.
+3. Χωρίς ενσωματωμένη διαχείριση
+ - Το πρότυπο ERC-20 δεν περιλαμβάνει υποχρεωτική συνάρτηση για την εφαρμογή συμβαλλόμενων μερών που λαμβάνουν, οδηγώντας σε μια κατάσταση όπου πολλά συμβόλαια δεν είναι σε θέση να διαχειρίζονται σωστά τα εισερχόμενα token
+
+Μερικά εναλλακτικά πρότυπα προέκυψαν από αυτό το ζήτημα, όπως το [ERC-223](/developers/docs/standards/tokens/erc-223)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [EIP-20: ERC-20 Πρότυπο Ψηφιακού Στοιχείου](https://eips.ethereum.org/EIPS/eip-20)
+- [OpenZeppelin - Ψηφιακά Στοιχεία](https://docs.openzeppelin.com/contracts/3.x/tokens#ERC20)
+- [OpenZeppelin - Εφαρμογή του ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)
+- [Alchemy - Οδηγός για Solidity ERC20 Tokens](https://www.alchemy.com/overviews/erc20-solidity)
+
+
+## Άλλα πρότυπα ανταλλάξιμων ψηφιακών στοιχείων {#fungible-token-standards}
+
+- [ERC-223](/developers/docs/standards/tokens/erc-223)
+- [ERC-777](/developers/docs/standards/tokens/erc-777)
+- [ERC-4626 - Θησαυροφυλάκια με κρυπτονομίσματα](/developers/docs/standards/tokens/erc-4626)
\ No newline at end of file
diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-223/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-223/index.md
new file mode 100644
index 00000000000..84051c7580d
--- /dev/null
+++ b/public/content/translations/el/developers/docs/standards/tokens/erc-223/index.md
@@ -0,0 +1,197 @@
+---
+title: Πρότυπο ERC-223 Ψηφιακών Στοιχείων
+description: Μια επισκόπηση του προτύπου ανταλλάξιμου ψηφιακού στοιχείου ERC-223, πώς λειτουργεί και σύγκριση με το ERC-20.
+lang: el
+---
+
+## Εισαγωγή {#introduction}
+
+### Τι είναι το ERC-223; {#what-is-erc223}
+
+Το ERC-223 είναι ένα πρότυπο για ανταλλάξιμα ψηφιακά στοιχεία, παρόμοιο με το πρότυπο ERC-20. Η βασική διαφορά είναι ότι το ERC-223 ορίζει όχι μόνο το API του ψηφιακού στοιχείου, αλλά και τη λογική για τη μεταφορά του από τον αποστολέα στον παραλήπτη. Εισάγει ένα μοντέλο επικοινωνίας που επιτρέπει τη διαχείριση των μεταφορών ψηφιακών στοιχείων από την πλευρά του παραλήπτη.
+
+### Διαφορές από το ERC-20 {#erc20-differences}
+
+Το ERC-223 αντιμετωπίζει ορισμένους περιορισμούς του ERC-20 και εισάγει μια νέα μέθοδο αλληλεπίδρασης μεταξύ του συμβολαίου του ψηφιακού στοιχείου και ενός συμβολαίου που ενδέχεται να λάβει τα ψηφιακά στοιχεία. Υπάρχουν λίγα πράγματα που είναι δυνατά με το ERC-223, αλλά όχι με το ERC-20:
+
+- Διαχείριση μεταφοράς ψηφιακού στοιχείου από την πλευρά του παραλήπτη: Οι παραλήπτες μπορούν να ανιχνεύσουν ότι κατατίθεται ένα ψηφιακό στοιχείο ERC-223.
+- Απόρριψη ψηφιακών στοιχείων που αποστέλλονται ακατάλληλα: Εάν ένας χρήστης στείλει ένα ψηφιακό στοιχείο ERC-223 σε ένα συμβόλαιο που δεν υποτίθεται ότι θα λάβει ψηφιακά στοιχεία, το συμβόλαιο μπορεί να απορρίψει τη συναλλαγή, αποτρέποντας την απώλεια των ψηφιακών στοιχείων.
+- Μεταδεδομένα σε μεταφορές: Τα ψηφιακά στοιχεία ERC-223 μπορούν να περιλαμβάνουν μεταδεδομένα, επιτρέποντας την προσάρτηση αυθαίρετων πληροφοριών σε συναλλαγές ψηφιακών στοιχείων.
+
+## Προαπαιτούμενα {#prerequisites}
+
+- [Λογαριασμοί](/developers/docs/accounts)
+- [Έξυπνα συμβόλαια](/developers/docs/smart-contracts/)
+- [Πρότυπα κρυπτονομισμάτων](/developers/docs/standards/tokens/)
+- [ERC-20](/developers/docs/standards/tokens/erc-20/)
+
+## Κορμός {#body}
+
+Το ERC-223 είναι ένα πρότυπο ψηφιακού στοιχείου που υλοποιεί ένα API για ψηφιακά στοιχεία εντός έξυπνων συμβολαίων. Δηλώνει επίσης ένα API για συμβόλαια που υποτίθεται ότι θα λάβουν ψηφιακά στοιχεία ERC-223. Τα συμβόλαια που δεν υποστηρίζουν το ERC-223 Receiver API δεν μπορούν να λάβουν ψηφιακά στοιχεία ERC-223, αποτρέποντας το σφάλμα χρήστη.
+
+Εάν ένα έξυπνο συμβόλαιο υλοποιεί τις ακόλουθες μεθόδους και συμβάντα, μπορεί να ονομαστεί συμβόλαιο ψηφιακού στοιχείου συμβατό με ERC-223. Μόλις αναπτυχθεί, θα είναι υπεύθυνο να παρακολουθεί τα ψηφιακά στοιχεία που δημιουργήθηκαν στο Ethereum.
+
+Το συμβόλαιο δεν είναι υποχρεωμένο να έχει μόνο αυτές τις λειτουργίες και ένας προγραμματιστής μπορεί να προσθέσει οποιοδήποτε άλλο χαρακτηριστικό από διαφορετικά πρότυπα ψηφιακού στοιχείου σε αυτό το συμβόλαιο. Για παράδειγμα, οι συναρτήσεις `approve` και `transferFrom` δεν αποτελούν μέρος του προτύπου ERC-223, αλλά αυτές οι συναρτήσεις θα μπορούσαν να υλοποιηθούν εάν είναι απαραίτητο.
+
+Από [EIP-223](https://eips.ethereum.org/EIPS/eip-223):
+
+### Μέθοδοι {#methods}
+
+Το ψηφιακό στοιχείο ERC-223 πρέπει να υποστηρίζει τις ακόλουθες μεθόδους:
+
+```solidity
+function name() public view returns (string)
+function symbol() public view returns (string)
+function decimals() public view returns (uint8)
+function totalSupply() public view returns (uint256)
+function balanceOf(address _owner) public view returns (uint256 balance)
+function transfer(address _to, uint256 _value) public returns (bool success)
+function transfer(address _to, uint256 _value, bytes calldata _data) public returns (bool success)
+```
+
+Ένα συμβόλαιο που υποτίθεται ότι λαμβάνει ψηφιακά στοιχεία ERC-223 πρέπει να υλοποιεί την ακόλουθη μέθοδο:
+
+```solidity
+function tokenReceived(address _from, uint _value, bytes calldata _data)
+```
+
+Εάν τα ψηφιακά στοιχεία ERC-223 αποστέλλονται σε ένα συμβόλαιο που δεν υλοποιεί τη συνάρτηση `tokenReceived(..)`, τότε η μεταφορά πρέπει να αποτύχει και τα ψηφιακά στοιχεία δεν πρέπει να μετακινηθούν από το υπόλοιπο του αποστολέα.
+
+### Γεγονότα {#events}
+
+```solidity
+event Transfer(address indexed _from, address indexed _to, uint256 _value, bytes calldata _data)
+```
+
+### Παραδείγματα {#examples}
+
+Το API του ψηφιακού στοιχείου ERC-223 είναι παρόμοιο με αυτό του ERC-20, επομένως από την άποψη της ανάπτυξης UI δεν υπάρχει διαφορά. Η μόνη εξαίρεση εδώ είναι ότι τα ψηφιακά στοιχεία ERC-223 ενδέχεται να μην έχουν συναρτήσεις `approve` + `transferFrom`, καθώς αυτές είναι προαιρετικές για αυτό το πρότυπο.
+
+#### Παραδείγματα Solidity {#solidity-example}
+
+Το ακόλουθο παράδειγμα απεικονίζει τον τρόπο λειτουργίας ενός βασικού συμβολαίου ψηφιακού στοιχείου ERC-223:
+
+```solidity
+pragma solidity ^0.8.19;
+abstract contract IERC223Recipient {
+ function tokenReceived(address _from, uint _value, bytes memory _data) public virtual;
+}
+contract VeryBasicERC223Token {
+ event Transfer(address indexed from, address indexed to, uint value, bytes data);
+ string private _name;
+ string private _symbol;
+ uint8 private _decimals;
+ uint256 private _totalSupply;
+ mapping(address => uint256) private balances;
+ function name() public view returns (string memory) { return _name; }
+ function symbol() public view returns (string memory) {return _symbol; }
+ function decimals() public view returns (uint8) { return _decimals; }
+ function totalSupply() public view returns (uint256) { return _totalSupply; }
+ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; }
+ function isContract(address account) internal view returns (bool) {
+ uint256 size;
+ assembly { size := extcodesize(account) }
+ return size > 0;
+ }
+ function transfer(address _to, uint _value, bytes calldata _data) public returns (bool success){
+ balances[msg.sender] = balances[msg.sender] - _value;
+ balances[_to] = balances[_to] + _value;
+ if(isContract(_to)) {
+ IERC223Recipient(_to).tokenReceived(msg.sender, _value, _data);
+ }
+ emit Transfer(msg.sender, _to, _value, _data);
+ return true;
+ }
+ function transfer(address _to, uint _value) public returns (bool success){
+ bytes memory _empty = hex"00000000";
+ balances[msg.sender] = balances[msg.sender] - _value;
+ balances[_to] = balances[_to] + _value;
+ if(isContract(_to)) {
+ IERC223Recipient(_to).tokenReceived(msg.sender, _value, _empty);
+ }
+ emit Transfer(msg.sender, _to, _value, _empty);
+ return true;
+ }
+}
+```
+
+Τώρα θέλουμε ένα άλλο συμβόλαιο να δέχεται καταθέσεις του `tokenA`, υποθέτοντας ότι το tokenA είναι ένα ψηφιακό στοιχείο ERC-223. Το συμβόλαιο πρέπει να δέχεται μόνο το tokenA και να απορρίπτει οποιαδήποτε άλλα ψηφιακά στοιχεία. Όταν το συμβόλαιο λαμβάνει το tokenA, πρέπει να εκπέμπει ένα γεγονός `Deposit()` και να αυξάνει την τιμή της εσωτερικής μεταβλητής `deposits`.
+
+Δείτε παρακάτω τον κώδικα:
+
+```solidity
+contract RecipientContract is IERC223Recipient {
+ event Deposit(address whoSentTheTokens);
+ uint256 deposits = 0;
+ address tokenA; // The only token that we want to accept.
+ function tokenReceived(address _from, uint _value, bytes memory _data) public override
+ {
+ // It is important to understand that within this function
+ // msg.sender is the address of a token that is being received,
+ // msg.value is always 0 as the token contract does not own or send ether in most cases,
+ // _from is the sender of the token transfer,
+ // _value is the amount of tokens that was deposited.
+ require(msg.sender == tokenA);
+ deposits += _value;
+ emit Deposit(_from);
+ }
+}
+```
+
+## Συχνές ερωτήσεις {#faq}
+
+### Τι θα συμβεί εάν στείλουμε κάποιο tokenB στο συμβόλαιο; {#sending-tokens}
+
+Η συναλλαγή θα αποτύχει και η μεταφορά των ψηφιακών στοιχείων δε θα πραγματοποιηθεί. Τα κρυπτονομίσματα θα επιστραφούν στη διεύθυνση αποστολέα.
+
+### Πώς μπορούμε να κάνουμε μια κατάθεση σε αυτό το συμβόλαιο; {#contract-deposits}
+
+Καλέστε τη συνάρτηση `transfer(address,uint256)` ή `transfer(address,uint256,bytes)` του ψηφιακού στοιχείου ERC-223, καθορίζοντας τη διεύθυνση του `RecipientContract`.
+
+### Τι θα συμβεί εάν μεταφέρουμε ένα ψηφιακό στοιχείο ERC-20 σε αυτό το συμβόλαιο; {#erc-20-transfers}
+
+Εάν ένα ψηφιακό στοιχείο ERC-20 αποσταλεί στο `RecipientContract`, τα ψηφιακά στοιχεία θα μεταφερθούν, αλλά η μεταφορά δε θα αναγνωριστεί (δε θα ενεργοποιηθεί κανένα συμβάν `Deposit()` και η τιμή των καταθέσεων δε θα αλλάξει). Οι ανεπιθύμητες καταθέσεις ERC-20 δεν μπορούν να φιλτραριστούν ή να αποτραπούν.
+
+### Τι γίνεται αν θέλουμε να εκτελέσουμε κάποια συνάρτηση μετά την ολοκλήρωση της κατάθεσης ψηφιακού στοιχείου; {#function-execution}
+
+Υπάρχουν πολλοί τρόποι για να το κάνετε αυτό. Σε αυτό το παράδειγμα θα ακολουθήσουμε τη μέθοδο που κάνει τις μεταφορές ERC-223 πανομοιότυπες με τις μεταφορές ether:
+
+```solidity
+contract RecipientContract is IERC223Recipient {
+ event Foo();
+ event Bar(uint256 someNumber);
+ address tokenA; // The only token that we want to accept.
+ function tokenReceived(address _from, uint _value, bytes memory _data) public override
+ {
+ require(msg.sender == tokenA);
+ address(this).call(_data); // Handle incoming transaction and perform a subsequent function call.
+ }
+ function foo() public
+ {
+ emit Foo();
+ }
+ function bar(uint256 _someNumber) public
+ {
+ emit Bar(_someNumber);
+ }
+}
+```
+
+Όταν το `RecipientContract` λάβει ένα ψηφιακό στοιχείο ERC-223, το συμβόλαιο θα εκτελέσει μια συνάρτηση κωδικοποιημένη ως παράμετρος `_data` της συναλλαγής ψηφιακού στοιχείου, πανομοιότυπη με τον τρόπο με τον οποίο οι συναλλαγές ether κωδικοποιούν τις κλήσεις συναρτήσεων ως `δεδομένα` συναλλαγών. Διαβάστε το [πεδίο δεδομένων](https://ethereum.org/en/developers/docs/transactions/#the-data-field) για περισσότερες πληροφορίες.
+
+Στο παραπάνω παράδειγμα, ένα ψηφιακό στοιχείο ERC-223 πρέπει να μεταφερθεί στη διεύθυνση του `RecipientContract` με τη συνάρτηση `transfer(address,uin256,bytes calldata _data)`. Εάν η παράμετρος δεδομένων είναι `0xc2985578` (η υπογραφή μιας συνάρτησης `foo()`), τότε η συνάρτηση foo() θα κληθεί μετά τη λήψη της κατάθεσης ψηφιακού στοιχείου και το συμβάν Foo() θα ενεργοποιηθεί.
+
+Οι παράμετροι μπορούν επίσης να κωδικοποιηθούν στα `δεδομένα` της μεταφοράς ψηφιακού στοιχείου, για παράδειγμα μπορούμε να καλέσουμε τη συνάρτηση bar() με την τιμή 12345 για το `_someNumber`. Σε αυτή την περίπτωση το `δεδομένα` πρέπει να είναι `0x0423a13200000000000000000000000000000000000000000000000000000000000004d2` όπου `0x0423a132` είναι η υπογραφή της συνάρτησης `bar(uint256)` και το `00000000000000000000000000000000000000000000000000000000000004d2` είναι 12345 ως uint256.
+
+## Περιορισμοί {#limitations}
+
+Ενώ το ERC-223 αντιμετωπίζει διάφορα προβλήματα που εντοπίζονται στο πρότυπο ERC-20, δεν είναι χωρίς τους δικούς του περιορισμούς:
+
+- Υιοθέτηση και Συμβατότητα: Το ERC-223 δεν έχει ακόμη υιοθετηθεί ευρέως, γεγονός που μπορεί να περιορίσει τη συμβατότητά του με τα υπάρχοντα εργαλεία και πλατφόρμες.
+- Αντίστροφη Συμβατότητα: Το ERC-223 δεν είναι συμβατό με το ERC-20, που σημαίνει ότι τα υπάρχοντα συμβόλαια και εργαλεία ERC-20 δε θα λειτουργούν με τα ψηφιακά στοιχεία ERC-223 χωρίς τροποποιήσεις.
+- Κόστος Gas: Οι πρόσθετοι έλεγχοι και λειτουργίες στις μεταφορές ERC-223 μπορεί να οδηγήσουν σε υψηλότερο κόστος αερίου σε σύγκριση με τις συναλλαγές ERC-20.
+
+## Περαιτέρω υλικό για διάβασμα {#further-reading}
+
+- [EIP-223: Πρότυπο Token ERC-223[(https://eips.ethereum.org/EIPS/eip-223)
+- [Αρχική πρόταση ERC-223](https://github.com/ethereum/eips/issues/223)
diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-4626/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-4626/index.md
new file mode 100644
index 00000000000..59159b94115
--- /dev/null
+++ b/public/content/translations/el/developers/docs/standards/tokens/erc-4626/index.md
@@ -0,0 +1,227 @@
+---
+title: Πρότυπο ERC-4626 ψηφιοποίηση θησαυροφυλακίου
+description: Πρότυπο για θησαυροφυλάκια απόδοσης.
+lang: el
+---
+
+## Εισαγωγή {#introduction}
+
+Το ERC-4626 είναι ένα πρότυπο για τη βελτιστοποίηση και ενοποίηση των τεχνικών παραμέτρων των θησαυροφυλακίων απόδοσης. Παρέχει ένα τυποποιημένο API για tokenized θησαυροφυλάκια απόδοσης που αντιπροσωπεύουν μετοχές ενός ενιαίου υποκείμενου ψηφιακού στοιχείου ERC-20. Το ERC-4626 περιγράφει επίσης μια προαιρετική επέκταση για tokenized θησαυροφυλάκια που χρησιμοποιούν ERC-20, προσφέροντας βασικές λειτουργίες για κατάθεση, ανάληψη token και ανάγνωση υπολοίπων.
+
+**Ο ρόλος του ERC-4626 στα θησαυροφυλάκια απόδοσης**
+
+Οι αγορές δανεισμού, οι λειτουργίες συγκέντρωσης και τα εγγενώς ψηφιακά στοιχεία απόδοσης, βοηθούν τους χρήστες να βρουν την καλύτερη απόδοση στα κρυπτονομίσματά τους εκτελώντας διαφορετικές στρατηγικές. Αυτές οι στρατηγικές γίνονται με μικρές διαφοροποιήσεις, οι οποίες μπορεί να είναι επιρρεπείς σε σφάλματα ή να σπαταλούν πόρους ανάπτυξης.
+
+Το ERC-4626 στα θησαυροφυλάκια απόδοσης θα μειώσει την προσπάθεια ενσωμάτωσης και θα ξεκλειδώσει την πρόσβαση στην απόδοση σε διάφορες εφαρμογές με μικρή εξειδικευμένη προσπάθεια από τους προγραμματιστές δημιουργώντας πιο συνεπή και ισχυρά πρότυπα εφαρμογής.
+
+Το token ERC-4626 περιγράφεται πλήρως στο [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626).
+
+**Επέκταση ασύγχρονων θησαυροφυλακίων (ERC-7540)**
+
+Το ERC-4626 είναι βελτιστοποιημένο για ατομικές καταθέσεις και αναλήψεις μέχρι ένα όριο. Αν φτάσει το όριο, δεν μπορούν να υποβληθούν νέες καταθέσεις ή αναλήψεις. Αυτός ο περιορισμός δε λειτουργεί καλά για οποιοδήποτε σύστημα έξυπνων συμβολαίων που απαιτεί ασύγχρονες ενέργειες ή καθυστερήσεις ως προϋπόθεση για τη διασύνδεση με το Θησαυροφυλάκιο (π.χ. πρωτόκολλα πραγματικών περιουσιακών στοιχείων, πρωτόκολλα δανεισμού χωρίς επαρκείς εγγυήσεις, πρωτόκολλα δανεισμού μεταξύ αλυσίδων, tokens ρευστοποίησης συμμετοχής ή ασφαλιστικές μονάδες προστασίας).
+
+Το ERC-7540 επεκτείνει τη χρησιμότητα των Θησαυροφυλακίων ERC-4626 για ασύγχρονες περιπτώσεις χρήσης. Η υπάρχουσα διεπαφή του Θησαυροφυλακίου (`deposit`/`withdraw`/`mint`/`redeem`) χρησιμοποιείται πλήρως για την αξίωση ασύγχρονων Αιτημάτων.
+
+Η επέκταση ERC-7540 περιγράφεται πλήρως στο [ERC-7540](https://eips.ethereum.org/EIPS/eip-7540).
+
+**Επέκταση θησαυροφυλακίων πολλαπλών περιουσιακών στοιχείων (ERC-7575)**
+
+Μία περίπτωση χρήσης που λείπει και δεν υποστηρίζεται από το ERC-4626 είναι τα Θησαυροφυλάκια που διαθέτουν πολλαπλά περιουσιακά στοιχεία ή σημεία εισόδου, όπως Tokens Παρόχων Ρευστότητας (LP Tokens). Αυτά γενικά είναι δύσχρηστα ή μη συμβατά λόγω της απαίτησης του ERC-4626 να είναι το ίδιο ένα ERC-20.
+
+Το ERC-7575 προσθέτει υποστήριξη για Θησαυροφυλάκια με πολλαπλά περιουσιακά στοιχεία εξωτερικεύοντας την υλοποίηση του token ERC-20 από την υλοποίηση του ERC-4626.
+
+Η επέκταση ERC-7575 περιγράφεται πλήρως στο [ERC-7575](https://eips.ethereum.org/EIPS/eip-7575).
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε πρώτα για τα [πρότυπα token](/developers/docs/standards/tokens/), [ERC-721](/developers/docs/standards/tokens/erc-20/).
+
+## ERC-4626 Λειτουργίες και χαρακτηριστικά: {#body}
+
+### Μέθοδοι {#methods}
+
+#### asset {#asset}
+
+```solidity
+function asset() public view returns (address assetTokenAddress)
+```
+
+Αυτή η συνάρτηση επιστρέφει τη διεύθυνση του υποκείμενου διακριτικού που χρησιμοποιείται για το θησαυροφυλάκιο για λογιστική, κατάθεση και ανάληψη.
+
+#### totalAssets {#totalassets}
+
+```solidity
+function totalAssets() public view returns (uint256)
+```
+
+Αυτή η συνάρτηση επιστρέφει το συνολικό ποσό των υποκείμενων περιουσιακών στοιχείων που κατέχονται από το θησαυροφυλάκιο.
+
+#### convertToShares {#convertoshares}
+
+```solidity
+function convertToShares(uint256 assets) public view returns (uint256 shares)
+```
+
+Αυτή η συνάρτηση επιστρέφει το ποσό των `shares` που θα ανταλλάσσονταν από το θησαυροφυλάκιο για το ποσό των `assets` που παρέχονται.
+
+#### convertToAssets {#convertoassets}
+
+```solidity
+function convertToAssets(uint256 shares) public view returns (uint256 assets)
+```
+
+Αυτή η συνάρτηση επιστρέφει το ποσό των `shares` που θα ανταλλάσσονταν από το θησαυροφυλάκιο για το ποσό των `assets` που παρέχονται.
+
+#### maxDeposit {#maxdeposit}
+
+```solidity
+function maxDeposit(address receiver) public view returns (uint256 maxAssets)
+```
+
+Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό των υποκείμενων περιουσιακών στοιχείων που μπορεί να κατατεθεί σε μία μόνο κλήση του [`deposit`](#deposit) από τον `receiver`.
+
+#### previewDeposit {#previewdeposit}
+
+```solidity
+function previewDeposit(uint256 assets) public view returns (uint256 shares)
+```
+
+Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της κατάθεσής τους στο τρέχον μπλοκ.
+
+#### κατάθεση {#deposit}
+
+```solidity
+function deposit(uint256 assets, address receiver) public returns (uint256 shares)
+```
+
+Αυτή η συνάρτηση καταθέτει `assets` των υποκείμενων κρυπτονομισμάτων στο θησαυροφυλάκιο και παραχωρεί την κυριότητα των `shares` στον `receiver`.
+
+#### maxMint {#maxmint}
+
+```solidity
+function maxMint(address receiver) public view returns (uint256 maxShares)
+```
+
+Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό μετοχών που μπορούν να «κοπούν» σε μία κλήση [`mint`](#mint) από τον `receiver`.
+
+#### previewMint {#previewmint}
+
+```solidity
+function previewMint(uint256 shares) public view returns (uint256 assets)
+```
+
+Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της «κοπής» τους στο τρέχον μπλοκ.
+
+#### mint {#mint}
+
+```solidity
+function mint(uint256 shares, address receiver) public returns (uint256 assets)
+```
+
+Αυτή η συνάρτηση «κόβει» ακριβώς `shares` μερίδια θησαυροφυλακίου στον `receiver` καταθέτοντας `assets` των υποκείμενων διακριτικών.
+
+#### maxWithdraw {#maxwithdraw}
+
+```solidity
+function maxWithdraw(address owner) public view returns (uint256 maxAssets)
+```
+
+Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό των υποκείμενων περιουσιακών στοιχείων που μπορούν να γίνουν ανάληψη από το υπόλοιπο του `owner` με μία μόνο κλήση [`withdraw`](#withdraw).
+
+#### previewWithdraw {#previewwithdraw}
+
+```solidity
+function previewWithdraw(uint256 assets) public view returns (uint256 shares)
+```
+
+Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της ανάληψής τους στο τρέχον μπλοκ.
+
+#### ανάληψη {#withdraw}
+
+```solidity
+function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)
+```
+
+Αυτή η συνάρτηση «καίει» `shares` από τον `owner` και στέλνει ακριβώς το διακριτικό `assets` από το θησαυροφυλάκιο στον `receiver`.
+
+#### maxRedeem {#maxredeem}
+
+```solidity
+function maxRedeem(address owner) public view returns (uint256 maxShares)
+```
+
+Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό μετοχών που μπορούν να εξαργυρωθούν από το υπόλοιπο του `owner` μέσω μιας κλήσης [`redeem`](#redeem).
+
+#### previewRedeem {#previewredeem}
+
+```solidity
+function previewRedeem(uint256 shares) public view returns (uint256 assets)
+```
+
+Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της εξαργύρωσής τους στο τρέχον μπλοκ.
+
+#### redeem {#redeem}
+
+```solidity
+function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)
+```
+
+Αυτή η συνάρτηση εξαργυρώνει έναν συγκεκριμένο αριθμό `shares` από τον `owner` και στέλνει `assets` του υποκείμενου κρυπτονομίσματος από το θησαυροφυλάκιο στον `receiver`.
+
+#### totalSupply {#totalsupply}
+
+```solidity
+function totalSupply() public view returns (uint256)
+```
+
+Επιστρέφει τον συνολικό αριθμό των μη εξαργυρωμένων μετοχών θησαυροφυλακίου σε κυκλοφορία.
+
+#### balanceOf {#balanceof}
+
+```solidity
+function balanceOf(address owner) public view returns (uint256)
+```
+
+Επιστρέφει το συνολικό ποσό των μετοχών του θησαυροφυλακίου που έχει αυτή τη στιγμή ο `owner`.
+
+### Χάρτης της διεπαφής {#mapOfTheInterface}
+
+
+
+### Συμβάντα {#events}
+
+#### Πράξη κατάθεσης
+
+**ΠΡΕΠΕΙ** να αποστέλλονται όταν τα κρυπτονομίσματα κατατίθενται στο θησαυροφυλάκιο μέσω του [`mint`](#mint) και τις μεθόδους [`deposit`](#deposit).
+
+```solidity
+event Deposit(
+ address indexed sender,
+ address indexed owner,
+ uint256 assets,
+ uint256 shares
+)
+```
+
+Όπου `sender` είναι ο χρήστης που έκανε την ανταλλαγή `assets` με `shares` και μετέφερε αυτές τις `shares` στον `owner`.
+
+#### Γεγονός ανάληψης
+
+**ΠΡΕΠΕΙ** να αποστέλλονται όταν οι μετοχές αποσύρονται από το θησαυροφυλάκιο από έναν καταθέτη με τις μεθόδους [`redeem`](#redeem) ή [`withdraw`](#withdraw).
+
+```solidity
+event Withdraw(
+ address indexed sender,
+ address indexed receiver,
+ address indexed owner,
+ uint256 assets,
+ uint256 shares
+)
+```
+
+Όπου `Sender` είναι ο χρήστης που ενεργοποίησε την ανάληψη και αντάλλαξε `shares`, που ανήκουν στον `owner`, με `assets`. Ο `receiver` είναι ο χρήστης που έλαβε τα `assets` που έγιναν ανάληψη.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [ΕΙΡ-4626: Πρότυπο ψηφιοποίησης θησαυροφυλακίου](https://eips.ethereum.org/EIPS/eip-4626)
+- [ERC-4626: Αποθετήριο GitHub](https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC4626.sol)
diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-721/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-721/index.md
new file mode 100644
index 00000000000..dc4f6473d11
--- /dev/null
+++ b/public/content/translations/el/developers/docs/standards/tokens/erc-721/index.md
@@ -0,0 +1,244 @@
+---
+title: ERC-721 Πρότυπο Μη Εναλλάξιμων Κρυπτοπαραστατικών
+description:
+lang: el
+---
+
+## Εισαγωγή {#introduction}
+
+**Τι είναι το Μη Εναλλάξιμο Κρυπτοπαραστατικό;**
+
+Το Μη Εναλλάξιμο Κρυπτοπαραστατικό (NFT) χρησιμοποιείται για να προσδιορίσει κάτι ή κάποιον με έναν μοναδικό τρόπο. Αυτός ο τύπος Ψηφιακού Στοιχείου είναι τέλειος για να χρησιμοποιηθεί σε πλατφόρμες που προσφέρουν συλλεκτικά αντικείμενα, κλειδιά πρόσβασης, εισιτήρια λαχειοφόρων αγορών, αριθμημένες θέσεις για συναυλίες, αθλητικούς αγώνες, κλπ. Αυτός ο ειδικός τύπος Ψηφιακού Στοιχείου έχει καταπληκτικές δυνατότητες, οπότε του αξίζει ένα κατάλληλο Πρότυπο, το ERC-721 που ήρθε για να δώσει λύση σε αυτό!
+
+**Τι είναι το ERC-721;**
+
+Το ERC-721 εισάγει ένα πρότυπο για τα NFT. Αυτός ο τύπος ψηφιακών στοιχείων είναι μοναδικός και μπορεί να έχει διαφορετική αξία από κάποιο άλλο ψηφιακό στοιχείο που προέρχεται από το ίδιο Έξυπνο Συμβόλαιο, ίσως λόγω της ηλικίας του, της σπανιότητάς του ή ακόμα και κάποιου άλλου χαρακτηριστικού, όπως η εμφάνισή του. Περιμένετε, εικονικό;
+
+Ναι! Όλα τα NFT έχουν μια μεταβλητή `uint256` που ονομάζεται `tokenId`, επομένως για οποιοδήποτε συμβόλαιο ERC-721, το ζεύγος `contract address, uint256 tokenId` πρέπει να είναι καθολικά μοναδικό. Επομένως, μια dapp μπορεί να έχει έναν "μετατροπέα" που χρησιμοποιεί το `tokenId` ως είσοδο και εξάγει μια εικόνα κάτι ωραίου, όπως ζόμπι, όπλα, δεξιότητες ή καταπληκτικά γατάκια!
+
+## Προαπαιτούμενα {#prerequisites}
+
+- [Λογαριασμοί](/developers/docs/accounts/)
+- [Έξυπνα Συμβόλαια](/developers/docs/smart-contracts/)
+- [Πρότυπα ψηφιακού στοιχείου](/developers/docs/standards/tokens/)
+
+## Κορμός {#body}
+
+Το ERC-721 (Ethereum Request for Comments 721), που προτάθηκε από τους William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs τον Ιανουάριο του 2018, είναι ένα Πρότυπο Μη Εναλλάξιμων Κρυπτοπαραστατικών που υλοποιεί ένα API για ψηφιακά στοιχεία εντός των Έξυπνων Συμβολαίων.
+
+Παρέχει λειτουργίες όπως η μεταφορά ψηφιακών στοιχείων από έναν λογαριασμό σε έναν άλλο, η λήψη του τρέχοντος υπολοίπου ενός λογαριασμού, η λήψη του κατόχου ενός συγκεκριμένου ψηφιακού στοιχείου και επίσης η συνολική προσφορά των διαθέσιμων ψηφιακών στοιχείων στο δίκτυο. Έχει επίσης κάποιες άλλες λειτουργίες, όπως η έγκριση ότι ένα ποσό ψηφιακών στοιχείων από έναν λογαριασμό μπορεί να μετακινηθεί από έναν λογαριασμό τρίτου μέρους.
+
+Εάν ένα Έξυπνο Συμβόλαιο υλοποιεί τις ακόλουθες μεθόδους και συμβάντα, μπορεί να ονομαστεί Συμβόλαιο Μη Εναλλάξιμων Κρυπτοπαραστατικών ERC-721 και μόλις αναπτυχθεί θα είναι υπεύθυνο για την παρακολούθηση των στοιχείων που δημιουργήθηκαν στο Ethereum.
+
+Από το [EIP-721](https://eips.ethereum.org/EIPS/eip-721):
+
+### Μέθοδοι {#methods}
+
+```solidity
+ function balanceOf(address _owner) external view returns (uint256);
+ function ownerOf(uint256 _tokenId) external view returns (address);
+ function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
+ function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
+ function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
+ function approve(address _approved, uint256 _tokenId) external payable;
+ function setApprovalForAll(address _operator, bool _approved) external;
+ function getApproved(uint256 _tokenId) external view returns (address);
+ function isApprovedForAll(address _owner, address _operator) external view returns (bool)˙
+```
+
+### Συμβάντα {#events}
+
+```solidity
+ event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
+ event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
+ event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
+```
+
+### Παραδείγματα {#web3py-example}
+
+Ας δούμε πώς ένα πρότυπο είναι τόσο σημαντικό για να διευκολύνει να επιθεωρήσουμε οποιοδήποτε έξυπνο συμβόλαιο ψηφιακών στοιχείων ERC-721 στο Ethereum. Χρειαζόμαστε μόνο το Διασύνδεσμο Δυαδικού Κώδικα Εφαρμογής Συμβολαίου (ABI) για να δημιουργήσουμε μια διεπαφή σε οποιοδήποτε ψηφιακό στοιχείο ERC-721. Όπως μπορείτε να δείτε παρακάτω, θα χρησιμοποιήσουμε ένα απλοποιημένο ABI, για να το κάνουμε ένα παράδειγμα χαμηλής τριβής.
+
+#### Παράδειγμα Web3.py {#web3py-example}
+
+Αρχικά, βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη Python [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation):
+
+```
+pip install web3
+```
+
+```python
+from web3 import Web3
+from web3._utils.events import get_event_data
+
+
+w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com"))
+
+ck_token_addr = "0x06012c8cf97BEaD5deAe237070F9587f8E7A266d" # CryptoKitties Contract
+
+acc_address = "0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C" # CryptoKitties Sales Auction
+
+# This is a simplified Contract Application Binary Interface (ABI) of an ERC-721 NFT Contract.
+# It will expose only the methods: balanceOf(address), name(), ownerOf(tokenId), symbol(), totalSupply()
+simplified_abi = [
+ {
+ 'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}],
+ 'name': 'balanceOf',
+ 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
+ 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'name',
+ 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}],
+ 'name': 'ownerOf',
+ 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}],
+ 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'symbol',
+ 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [],
+ 'name': 'totalSupply',
+ 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
+ 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+]
+
+ck_extra_abi = [
+ {
+ 'inputs': [],
+ 'name': 'pregnantKitties',
+ 'outputs': [{'name': '', 'type': 'uint256'}],
+ 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
+ },
+ {
+ 'inputs': [{'name': '_kittyId', 'type': 'uint256'}],
+ 'name': 'isPregnant',
+ 'outputs': [{'name': '', 'type': 'bool'}],
+ 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True
+ }
+]
+
+ck_contract = w3.eth.contract(address=w3.to_checksum_address(ck_token_addr), abi=simplified_abi+ck_extra_abi)
+name = ck_contract.functions.name().call()
+symbol = ck_contract.functions.symbol().call()
+kitties_auctions = ck_contract.functions.balanceOf(acc_address).call()
+print(f"{name} [{symbol}] NFTs in Auctions: {kitties_auctions}")
+
+pregnant_kitties = ck_contract.functions.pregnantKitties().call()
+print(f"{name} [{symbol}] NFTs Pregnants: {pregnant_kitties}")
+
+# Using the Transfer Event ABI to get info about transferred Kitties.
+tx_event_abi = {
+ 'anonymous': False,
+ 'inputs': [
+ {'indexed': False, 'name': 'from', 'type': 'address'},
+ {'indexed': False, 'name': 'to', 'type': 'address'},
+ {'indexed': False, 'name': 'tokenId', 'type': 'uint256'}],
+ 'name': 'Transfer',
+ 'type': 'event'
+}
+
+# We need the event's signature to filter the logs
+event_signature = w3.keccak(text="Transfer(address,address,uint256)").hex()
+
+logs = w3.eth.get_logs({
+ "fromBlock": w3.eth.block_number - 120,
+ "address": w3.to_checksum_address(ck_token_addr),
+ "topics": [event_signature]
+})
+
+# Notes:
+# - Increase the number of blocks up from 120 if no Transfer event is returned.
+# - If you didn't find any Transfer event you can also try to get a tokenId at:
+# https://etherscan.io/address/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d#events
+# Click to expand the event's logs and copy its "tokenId" argument
+recent_tx = [get_event_data(w3.codec, tx_event_abi, log)["args"] for log in logs]
+
+if recent_tx:
+ kitty_id = recent_tx[0]['tokenId'] # Paste the "tokenId" here from the link above
+ is_pregnant = ck_contract.functions.isPregnant(kitty_id).call()
+ print(f"{name} [{symbol}] NFTs {kitty_id} is pregnant: {is_pregnant}")
+```
+
+Το συμβόλαιο CryptoKitties έχει κάποια ενδιαφέροντα Γεγονότα εκτός από τα Τυπικά.
+
+Ας δούμε δύο από αυτά το `Pregnant` και το `Birth`.
+
+```python
+# Using the Pregnant and Birth Events ABI to get info about new Kitties.
+ck_extra_events_abi = [
+ {
+ 'anonymous': False,
+ 'inputs': [
+ {'indexed': False, 'name': 'owner', 'type': 'address'},
+ {'indexed': False, 'name': 'matronId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'sireId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'cooldownEndBlock', 'type': 'uint256'}],
+ 'name': 'Pregnant',
+ 'type': 'event'
+ },
+ {
+ 'anonymous': False,
+ 'inputs': [
+ {'indexed': False, 'name': 'owner', 'type': 'address'},
+ {'indexed': False, 'name': 'kittyId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'matronId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'sireId', 'type': 'uint256'},
+ {'indexed': False, 'name': 'genes', 'type': 'uint256'}],
+ 'name': 'Birth',
+ 'type': 'event'
+ }]
+
+# We need the event's signature to filter the logs
+ck_event_signatures = [
+ w3.keccak(text="Pregnant(address,uint256,uint256,uint256)").hex(),
+ w3.keccak(text="Birth(address,uint256,uint256,uint256,uint256)").hex(),
+]
+
+# Here is a Pregnant Event:
+# - https://etherscan.io/tx/0xc97eb514a41004acc447ac9d0d6a27ea6da305ac8b877dff37e49db42e1f8cef#eventlog
+pregnant_logs = w3.eth.get_logs({
+ "fromBlock": w3.eth.block_number - 120,
+ "address": w3.to_checksum_address(ck_token_addr),
+ "topics": [ck_event_signatures[0]]
+})
+
+recent_pregnants = [get_event_data(w3.codec, ck_extra_events_abi[0], log)["args"] for log in pregnant_logs]
+
+# Here is a Birth Event:
+# - https://etherscan.io/tx/0x3978028e08a25bb4c44f7877eb3573b9644309c044bf087e335397f16356340a
+birth_logs = w3.eth.get_logs({
+ "fromBlock": w3.eth.block_number - 120,
+ "address": w3.to_checksum_address(ck_token_addr),
+ "topics": [ck_event_signatures[1]]
+})
+
+recent_births = [get_event_data(w3.codec, ck_extra_events_abi[1], log)["args"] for log in birth_logs]
+```
+
+## Δημοφιλή NFT {#popular-nfts}
+
+- Το [Etherscan NFT Tracker](https://etherscan.io/tokens-nft) αναφέρεται στο κορυφαίο NFT στο Ethereum ανά όγκο μεταφορών.
+- Το [CryptoKitties](https://www.cryptokitties.co/) είναι ένα παιχνίδι με επίκεντρο τα αναπαραγωγικά, συλλεκτικά και τόσο αξιολάτρευτα πλάσματα που ονομάζουμε CryptoKitties.
+- Το [Sorare](https://sorare.com/) είναι ένα παγκόσμιο παιχνίδι φαντασίας ποδοσφαίρου όπου μπορείτε να συλλέξετε περιορισμένες εκδόσεις συλλεκτικών, να διαχειριστείτε ομάδες και να διαγωνιστείτε για βραβεία.
+- Το [The Ethereum Name Service (ENS)](https://ens.domains/) προσφέρει ένα ασφαλές & αποκεντρωμένο τρόπο αντιμετώπισης πόρων και των δύο εντός και εκτός του blockchain χρησιμοποιώντας απλά, ευανάγνωστα από τον άνθρωπο ονόματα.
+- Το [POAP](https://poap.xyz) παρέχει δωρεάν NFT σε άτομα που παρακολουθούν εκδηλώσεις ή ολοκληρώνουν συγκεκριμένες ενέργειες. Τα POAP είναι δωρεάν για δημιουργία και διανομή.
+- Το [Unstoppable Domains](https://unstoppabledomains.com/) είναι μια εταιρεία με έδρα το Σαν Φρανσίσκο που χτίζει τομείς blockchains. Οι τομείς Blockchain αντικαθιστούν τις διευθύνσεις κρυπτονομισμάτων με ονόματα αναγνώσιμα από τον άνθρωπο και μπορούν να χρησιμοποιηθούν για την ενεργοποίηση ιστοσελίδων ανθεκτικών στη λογοκρισία.
+- Το [Gods Unchained Cards](https://godsunchained.com/) είναι ένα TCG στο Ethereum blockchain που χρησιμοποιεί NFT για δημιουργία πραγματικής ιδιοκτησίας στα στοιχεία του παιχνιδιού.
+- Το [Bored Ape Yacht Club](https://boredapeyachtclub.com) είναι μια συλλογή από 10,000 μοναδικά NFT, τα οποία εκτός από το να είναι αποδεδειγμένα σπάνια έργα τέχνης, λειτουργούν ως σύμβολο συμμετοχής στο κλαμπ, παρέχοντας προνόμια και οφέλη μελών που αυξάνονται με την πάροδο του χρόνου ως αποτέλεσμα των προσπαθειών της κοινότητας.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [EIP-721: Πρότυπο για Mη Εναλλάξιμο Κρυπτοπαραστατικό](https://eips.ethereum.org/EIPS/eip-721)
+- [OpenZeppelin - ERC-721 Τεκμηρίωση](https://docs.openzeppelin.com/contracts/3.x/erc721)
+- [OpenZeppelin - Εφαρμογή του ERC-721](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol)
+- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)
diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-777/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-777/index.md
new file mode 100644
index 00000000000..19018677489
--- /dev/null
+++ b/public/content/translations/el/developers/docs/standards/tokens/erc-777/index.md
@@ -0,0 +1,45 @@
+---
+title: Πρότυπο Ψηφιακού Στοιχείου ERC-777
+description: null
+lang: el
+---
+
+## Προσοχή {#warning}
+
+**Το ERC-777 είναι δύσκολο να εφαρμοστεί σωστά, λόγω της [ευπάθειάς του σε διάφορες μορφές επίθεσης](https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2620). Συνιστάται η χρήση του [ERC-20](/developers/docs/standards/tokens/erc-20/) αντ' αυτού.** Αυτή η σελίδα παραμένει ως ιστορικό αρχείο.
+
+## Εισαγωγή {#introduction}
+
+Το ERC-777 είναι ένα πρότυπο εναλλάξιμου ψηφιακού στοιχείου που βελτιώνει το υπάρχον πρότυπο [ERC-20](/developers/docs/standards/tokens/erc-20/).
+
+## Προαπαιτούμενα {#prerequisites}
+
+Για την καλύτερη κατανόηση αυτής της σελίδας, σας συνιστούμε να διαβάσετε πρώτα για το [ERC-20](/developers/docs/standards/tokens/erc-20/).
+
+## Ποιες βελτιώσεις προτείνει το ERC-777 έναντι του ERC-20; {#-erc-777-vs-erc-20}
+
+Το ERC-777 παρέχει τις ακόλουθες βελτιώσεις σε σχέση με το ERC-20.
+
+### Hooks {#hooks}
+
+Τα Hooks είναι μια συνάρτηση που περιγράφεται στον κώδικα ενός έξυπνου συμβολαίου. Τα Hooks καλούνται όταν στέλνονται ή λαμβάνονται ψηφιακά στοιχεία μέσω του συμβολαίου. Αυτό επιτρέπει σε ένα έξυπνο συμβόλαιο να αντιδρά σε εισερχόμενα ή εξερχόμενα ψηφιακά στοιχεία.
+
+Τα hooks καταχωρούνται και ανακαλύπτονται χρησιμοποιώντας το πρότυπο [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820).
+
+#### Γιατί είναι σημαντικά τα hooks; {#why-are-hooks-great}
+
+1. Τα Hooks επιτρέπουν την αποστολή ψηφιακών στοιχείων σε ένα συμβόλαιο και την ειδοποίηση του συμβολαίου σε μία μόνο συναλλαγή, σε αντίθεση με το [ERC-20](https://eips.ethereum.org/EIPS/eip-20), το οποίο απαιτεί μια διπλή κλήση (`approve`/transferFrom) για να το επιτύχει αυτό.
+2. Τα συμβόλαια που δεν έχουν καταχωρίσει hooks δεν είναι συμβατά με το ERC-777. Το συμβόλαιο αποστολής θα ακυρώσει τη συναλλαγή όταν το συμβόλαιο λήψης δεν έχει καταχωρίσει ένα hook. Αυτό αποτρέπει τυχαίες μεταφορές σε έξυπνα συμβόλαια που δεν είναι ERC-777.
+3. Τα Hooks μπορούν να απορρίψουν συναλλαγές.
+
+### Δεκαδικά {#decimals}
+
+Το πρότυπο λύνει επίσης τη σύγχυση γύρω από τα `δεκαδικά` που προκαλείται στο ERC-20. Αυτή η σαφήνεια βελτιώνει την εμπειρία του προγραμματιστή.
+
+### Αντικειμενοστραφείς συμβατότητας με ERC-20 {#backwards-compatibility-with-erc-20}
+
+Μπορείτε να αλληλεπιδράσετε με τα συμβόλαια ERC-777 σαν να ήταν συμβόλαια ERC-20.
+
+## Περαιτέρω υλικό προς ανάγνωση {#further-reading}
+
+[EIP-777: Πρότυπο ψηφιακών στοιχείων](https://eips.ethereum.org/EIPS/eip-777)
diff --git a/public/content/translations/el/developers/docs/standards/tokens/index.md b/public/content/translations/el/developers/docs/standards/tokens/index.md
new file mode 100644
index 00000000000..bf9a6cae98f
--- /dev/null
+++ b/public/content/translations/el/developers/docs/standards/tokens/index.md
@@ -0,0 +1,39 @@
+---
+title: Πρότυπα κρυπτονομισμάτων
+description:
+lang: el
+incomplete: true
+---
+
+## Εισαγωγή {#introduction}
+
+Πολλά πρότυπα ανάπτυξης Ethereum επικεντρώνονται στη διεπαφή του κρυπτονομίσματος. Αυτά τα πρότυπα βοηθούν να διασφαλιστεί ότι τα έξυπνα συμβόλαια παραμένουν ουδέτερα, ώστε όταν ένα νέο έργο εκδίδει ένα ψηφιακό στοιχείο, να παραμένει συμβατό με τα αποκεντρωμένα ανταλλακτήρια.
+
+## Προαπαιτούμενα {#prerequisites}
+
+- [Πρότυπα ανάπτυξης Ethereum](/developers/docs/standards/)
+- [Έξυπνα συμβόλαια](/developers/docs/smart-contracts/)
+
+## Πρότυπα ψηφιακών στοιχείων {#token-standards}
+
+Δείτε παρακάτω μερικά από τα πιο δημοφιλή πρότυπα κρυπτονομισμάτων στο Ethereum:
+
+- [ERC-20](/developers/docs/standards/tokens/erc-20/) - Ένα πρότυπο διεπαφής για εναλλάξιμα (ανταλλάξιμα) ψηφιακά στοιχεία, όπως κρύπτο ψηφοφορίας, αποθήκευσης κεφαλαίου ή εικονικά νομίσματα.
+
+### Πρότυπα NFT {#nft-standards}
+
+- [ERC-721](/developers/docs/standards/tokens/erc-721/) - Μια τυπική διεπαφή για μη εναλλάξιμα κρυπτοπαραστατικά, όπως μια πράξη για έργα τέχνης ή ένα τραγούδι.
+- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - Το ERC-1155 επιτρέπει πιο αποτελεσματικές συναλλαγές και ομαδοποίηση συναλλαγών – εξοικονομώντας κόστος. Αυτό το πρότυπο ψηφιακών στοιχείων επιτρέπει τη δημιουργία τόσο βοηθητικών κρύπτο (όπως $BNB ή $BAT) όσο και μη εναλλάξιμων κρυπτοπαραστατικών όπως τα CryptoPunks.
+
+Η πλήρης λίστα προτάσεων [ERC](https://eips.ethereum.org/erc).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Σχετικοί οδηγοί {#related-tutorials}
+
+- [Λίστα ελέγχου ενσωμάτωσης ψηφιακών στοιχείων](/developers/tutorials/token-integration-checklist/) _– Μια λίστα ελέγχου με θέματα που πρέπει να λάβετε υπόψη κατά την αλληλεπίδραση με ψηφιακά στοιχεία._
+- [Κατανόηση έξυπνου συμβολαίου ψηφιακών στοιχείων ERC20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _– Εισαγωγή στην ανάπτυξη του πρώτου σας έξυπνου συμβολαίου σε ένα δίκτυο δοκιμής Ethereum._
+- [Μεταφορά και έγκριση κρυπτονομισμάτων ERC20 από έξυπνο συμβόλαιο Solidity](/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/) _– Πως να χρησιμοποιείσετε ένα έξυπνο συμβόλαιο για αλληλεπίδραση με κρυπτονόμισμα με χρήση της γλώσσας Solidity._
+- [Εφαρμογή μιας αγοράς ERC721 [οδηγός χρήσης]](/developers/tutorials/how-to-implement-an-erc721-market/) _– Πώς να θέσετε προς πώληση κρυπτοαντικείμενα σε έναν αποκεντρωμένο πίνακα αγγελιών._
diff --git a/public/content/translations/el/developers/docs/storage/index.md b/public/content/translations/el/developers/docs/storage/index.md
new file mode 100644
index 00000000000..2ffb562b0a4
--- /dev/null
+++ b/public/content/translations/el/developers/docs/storage/index.md
@@ -0,0 +1,216 @@
+---
+title: Αποκεντρωμένος αποθηκευτικός χώρος
+description: Επισκόπηση του αποκεντρωμένου αποθηκευτικού χώρου και των διαθέσιμων εργαλείων ενσωμάτωσης σε μία dapp.
+lang: el
+---
+
+Σε αντίθεση με έναν κεντρικό διακομιστή που λειτουργεί από μια εταιρεία ή οργανισμό, τα αποκεντρωμένα συστήματα παροχής αποθηκευτικού χώρου αποτελούνται από ένα δίκτυο μεταξύ χρηστών που κατέχουν ένα μέρος των συνολικών δεδομένων, δημιουργώντας ένα ανθεκτικό σύστημα κοινόχρηστου αποθηκευτικού χώρου. Μπορεί να είναι μια εφαρμογή που βασίζεται σε κρυπτοαλυσίδα ή σε οποιοδήποτε δίκτυο που βασίζεται σε λειτουργία χρήστη προς χρήστη.
+
+Το ίδιο το Ethereum μπορεί να χρησιμοποιηθεί ως αποκεντρωμένο σύστημα αποθήκευσης, και λειτουργεί ως αποθηκευτικός χώρος στην περίπτωση της αποθήκευσης κώδικα σε όλα τα έξυπνα συμβόλαια. Ωστόσο, το Ethereum δεν έχει σχεδιαστεί για την αποθήκευση μεγάλων όγκων δεδομένων. Η αλυσίδα μεγαλώνει σταθερά, αλλά τη στιγμή που γράφεται η παρούσα ενότητα, η αλυσίδα Ethereum είναι περίπου 500 GB - 1 TB ([ανάλογα τον πελάτη](https://etherscan.io/chartsync/chaindefault)), και κάθε κόμβος στο δίκτυο πρέπει να μπορεί να αποθηκεύει όλα τα δεδομένα. Εάν η αλυσίδα επεκτεινόταν σε μεγάλους όγκους δεδομένων (ας πούμε 5 TB), δεν θα ήταν εφικτό να συνεχίσουν να λειτουργούν όλοι οι κόμβοι. Επίσης, το κόστος της εγκατάστασης τόσο πολλών δεδομένων στο Κεντρικό Δίκτυο θα ήταν απαγορευτικά ακριβό λόγω των τελών [κρατήσεων](/developers/docs/gas).
+
+Λόγω αυτών των περιορισμών, χρειαζόμαστε μια διαφορετική αλυσίδα ή μεθοδολογία για την αποθήκευση μεγάλων όγκων δεδομένων με αποκεντρωμένο τρόπο.
+
+Όταν εξετάζετε τις επιλογές αποκεντρωμένης αποθήκευσης (dStorage), υπάρχουν μερικά πράγματα που πρέπει να έχει υπόψη ένας χρήστης.
+
+- Μηχανισμός μονιμότητας / δομή κινήτρων
+- Επιβολή διατήρησης δεδομένων
+- Αποκέντρωση
+- Συναίνεση
+
+## Μηχανισμός μονιμότητας / δομή κινήτρων {#persistence-mechanism}
+
+### Βασισμένο σε blockchain {#blockchain-based}
+
+Για να διατηρηθεί ένα δεδομένο για πάντα, πρέπει να χρησιμοποιήσουμε έναν μηχανισμό μονιμότητας (persistence). Για παράδειγμα, στο Ethereum, ο μηχανισμός μονιμότητας συνίσταται στο ότι πρέπει να λαμβάνεται υπόψη ολόκληρη η αλυσίδα κατά την εκτέλεση ενός κόμβου. Νέα δεδομένα προσκολλώνται στο τέλος της αλυσίδας και αυτή συνεχίζει να αναπτύσσεται, απαιτώντας από κάθε κόμβο να αναπαράγει όλα τα ενσωματωμένα δεδομένα.
+
+Αυτό είναι γνωστό ως μονιμότητα **βασισμένη σε blockchain**.
+
+Το πρόβλημα με τη μονιμότητα που βασίζεται σε blockchain είναι ότι η αλυσίδα θα μπορούσε να γίνει πολύ μεγάλη για να διατηρήσει και να αποθηκεύσει όλα τα δεδομένα με εφικτό τρόπο (π.χ. [πολλές πηγές](https://healthit.com.au/how-big-is-the-internet-and-how-do-we-measure-it/) εκτιμούν ότι το διαδίκτυο απαιτεί χωρητικότητα αποθήκευσης άνω των 40 Zetabyte).
+
+Το blockchain πρέπει επίσης να έχει κάποιο είδος δομής κινήτρων. Για τη μονιμότητα που βασίζεται σε blockchain, γίνεται μια πληρωμή στον επικυρωτή. Όταν τα δεδομένα προστίθενται στην αλυσίδα, πληρώνονται οι επικυρωτές για να προσθέσουν τα δεδομένα.
+
+Πλατφόρμες με μονιμότητα που βασίζεται σε blockchain:
+
+- Ethereum
+- [Arweave](https://www.arweave.org/)
+
+### Βασισμένο σε συμβόλαιο {#contract-based}
+
+Η μονιμότητα **που βασίζεται σε συμβόλαιο** το αντιλαμβάνεται ως εξής: τα δεδομένα δεν μπορούν να αναπαραχθούν από κάθε κόμβο και να αποθηκευτούν για πάντα και αντ' αυτού πρέπει να διατηρούνται με συμφωνίες συμβολαίου. Πρόκειται για συμφωνίες που συνάπτονται με πολλούς κόμβους που έχουν υποσχεθεί να διατηρούν ένα κομμάτι δεδομένων για ένα χρονικό διάστημα. Πρέπει να λάβουν επιστροφή χρημάτων ή να ανανεωθούν κάθε φορά που εξαντλούνται για να διατηρηθούν τα δεδομένα.
+
+Στις περισσότερες περιπτώσεις, αντί να αποθηκεύονται όλα τα δεδομένα στην αλυσίδα, αποθηκεύεται ο κατακερματισμός του σημείου που βρίσκονται τα δεδομένα σε μια αλυσίδα. Με αυτόν τον τρόπο, δεν χρειάζεται να κλιμακωθεί ολόκληρη η αλυσίδα για να διατηρήσει όλα τα δεδομένα.
+
+Πλατφόρμες με μονιμότητα βάσει συμβάσεων:
+
+- [Filecoin](https://docs.filecoin.io/about-filecoin/what-is-filecoin/)
+- [Skynet](https://siasky.net/)
+- [Storj](https://storj.io/)
+- [Züs](https://zus.network/)
+- [Δίκτυο Crust](https://crust.network)
+- [Swarm](https://www.ethswarm.org/)
+- [4EVERLAND](https://www.4everland.org/)
+
+### Επιπλέον εκτιμήσεις {#additional-consideration}
+
+Το IPFS είναι ένα κατανεμημένο σύστημα για την αποθήκευση και πρόσβαση σε αρχεία, ιστοτόπους, εφαρμογές και δεδομένα. Δεν έχει ενσωματωμένο σύστημα κινήτρων, αλλά μπορεί να χρησιμοποιηθεί με οποιαδήποτε από τις παραπάνω λύσεις κινήτρων βάσει συμβολαίων για μακροπρόθεσμη μονιμότητα. Ένας άλλος τρόπος για να διατηρήσετε δεδομένα στο IPFS είναι να εργαστείτε με μια υπηρεσία pinning, η οποία θα «καρφιτσώσει» τα δεδομένα σας για εσάς. Μπορείτε ακόμη να εκτελέσετε τον δικό σας κόμβο IPFS και να συνεισφέρετε στο δίκτυο για να διατηρήσετε δωρεάν τα δικά σας δεδομένα ή/και άλλων!
+
+- [IPFS](https://docs.ipfs.io/concepts/what-is-ipfs/)
+- [Pinata](https://www.pinata.cloud/) _(υπηρεσία pinning IPFS)_
+- [web3.storage](https://web3.storage/) _(υπηρεσία pinning IPFS/Filecoin)_
+- [Infura](https://infura.io/product/ipfs) _(υπηρεσία pinning IPFS)_
+- [IPFS Scan](https://ipfs-scan.io) _(IPFS pinning explorer)_
+- [4EVERLAND](https://www.4everland.org/)_(υπηρεσία pinning IPFS)_
+- [Filebase](https://filebase.com) _(Υπηρεσία σήμανσης IPFS)_
+- [Spheron Network](https://spheron.network/) _(υπηρεσία pinning IPFS/Filecoin)_
+
+Το SWARM είναι μια αποκεντρωμένη τεχνολογία αποθήκευσης και διανομής δεδομένων με σύστημα κινήτρων αποθήκευσης και μαντείο (oracle) τιμής ενοικίου αποθηκευτικού χώρου.
+
+## Διατήρηση δεδομένων {#data-retention}
+
+Προκειμένου να διατηρηθούν δεδομένα, τα συστήματα πρέπει να διαθέτουν κάποιο είδος μηχανισμού για να διασφαλίσουν ότι τα δεδομένα διατηρούνται.
+
+### Μηχανισμός πρόκλησης {#challenge-mechanism}
+
+Ένας από τους πιο δημοφιλείς τρόπους για να βεβαιωθείτε ότι τα δεδομένα διατηρούνται, είναι να χρησιμοποιήσετε κάποιο είδος κρυπτογραφικής πρόκλησης που εκδίδεται στους κόμβους για να βεβαιωθείτε ότι εξακολουθούν να έχουν τα δεδομένα. Ένας απλός τρόπος είναι κοιτάζοντας την απόδειξη προσπέλασης (proof-of-access) του Arweave. Εκδίδουν μια πρόκληση στους κόμβους για να δουν αν έχουν τα δεδομένα τόσο στο πιο πρόσφατο μπλοκ όσο και σε ένα τυχαίο μπλοκ στο παρελθόν. Εάν ο κόμβος δεν μπορεί να δώσει την απάντηση, τιμωρείται.
+
+Τύποι dStorage με μηχανισμό πρόκλησης:
+
+- Züs
+- Skynet
+- Arweave
+- Filecoin
+- Δίκτυο Crust
+- 4EVERLAND
+
+### Αποκέντρωση {#decentrality}
+
+Δεν υπάρχουν εξαιρετικά εργαλεία για τη μέτρηση του επιπέδου αποκέντρωσης των πλατφορμών, αλλά, γενικά, καλό θα είναι να χρησιμοποιήσετε εργαλεία που δεν έχουν κάποιας μορφής KYC για να παρέχουν απόδειξη ότι δεν είναι κεντρικά.
+
+Αποκεντρωμένα εργαλεία χωρίς KYC:
+
+- Skynet
+- Arweave
+- Filecoin
+- IPFS
+- Ethereum
+- Δίκτυο Crust
+- 4EVERLAND
+
+### Συναίνεση {#consensus}
+
+Τα περισσότερα από αυτά τα εργαλεία έχουν τη δική τους έκδοση για [μηχανισμό συναίνεσης](/developers/docs/consensus-mechanisms/), αλλά γενικά βασίζονται είτε σε [**απόδειξη εργασίας (PoW)**](/developers/docs/consensus-mechanisms/pow/) ή [**απόδειξη συμμετοχής (PoS)**](/developers/docs/consensus-mechanisms/pos/).
+
+Βασισμένα σε Απόδειξη εργασίας:
+
+- Skynet
+- Arweave
+
+Βασισμένο σε απόδειξη συμμετοχής:
+
+- Ethereum
+- Filecoin
+- Züs
+- Δίκτυο Crust
+
+## Σχετικά εργαλεία {#related-tools}
+
+**IPFS - _Το InterPlanetary File System είναι ένα αποκεντρωμένο σύστημα αποθήκευσης και αναφοράς αρχείων για το Ethereum._**
+
+- [Ipfs.io](https://ipfs.io/)
+- [Έγγραφα](https://docs.ipfs.io/)
+- [GitHub](https://github.com/ipfs/ipfs)
+
+**Storj DCS - _Ασφαλής, ιδιωτικός και συμβατός με S3 αποκεντρωμένος αποθηκευτικός χώρος αντικειμένων στο cloud για προγραμματιστές._**
+
+- [Storj.io](https://storj.io/)
+- [Έγγραφα](https://docs.storj.io/)
+- [GitHub](https://github.com/storj/storj)
+
+**Skynet - _Το Skynet είναι μια αποκεντρωμένη αλυσίδα PoW αποκλειστικά για ένα αποκεντρωμένο web._**
+
+- [Skynet.net](https://siasky.net/)
+- [Τεκμηρίωση](https://siasky.net/docs/)
+- [GitHub](https://github.com/SkynetLabs/)
+
+**Filecoin - _Το Filecoin δημιουργήθηκε από την ίδια ομάδα που είναι υπεύθυνη για το IPFS. Είναι ένα επίπεδο κινήτρων πάνω από τα πρότυπα του IPFS._**
+
+- [Filecoin.io](https://filecoin.io/)
+- [Τεκμηρίωση](https://docs.filecoin.io/)
+- [GitHub](https://github.com/filecoin-project/)
+
+**Arweave - _Το Arweave είναι μια πλατφόρμα dStorage για την αποθήκευση δεδομένων._**
+
+- [Arweave.org](https://www.arweave.org/)
+- [Έγγραφα](https://docs.arweave.org/info/)
+- [Arweave](https://github.com/ArweaveTeam/arweave/)
+
+**Züs - _Το Züs είναι μια πλατφόρμα dStorage απόδειξης εργασίας με Sharding και blobbers._**
+
+- [zus.network](https://zus.network/)
+- [Έγγραφα](https://0chaindocs.gitbook.io/zus-docs)
+- [GitHub](https://github.com/0chain/)
+
+**Crust Network - _Το Crust είναι μια πλατφόρμα dStorage πάνω από το IPFS._**
+
+- [Crust.network](https://crust.network)
+- [Έγγραφα](https://wiki.crust.network)
+- [GitHub](https://github.com/crustio)
+
+**Swarm - _Μια υπηρεσία πλατφόρμας κατανεμημένου αποθηκευτικού χώρου και κατανομής περιεχομένου για τη δομή δεδομένων Web3 του Ethereum._**
+
+- [EthSwarm.org](https://www.ethswarm.org/)
+- [Έγγραφα](https://docs.ethswarm.org/docs/)
+- [GitHub](https://github.com/ethersphere/)
+
+**OrbitDB - _Μια αποκεντρωμένη βάση δεδομένων peer-to-peer πάνω από το IPFS._**
+
+- [OrbitDB.org](https://orbitdb.org/)
+- [Έγγραφα](https://github.com/orbitdb/field-manual/)
+- [GitHub](https://github.com/orbitdb/orbit-db/)
+
+**Aleph.im - _Αποκεντρωμένο έργο cloud (βάση δεδομένων, αποθήκευση αρχείων, υπολογιστική και DID). Ένα μοναδικό μείγμα peer-to-peer τεχνολογίας εκτός και εντός αλυσίδας. Συμβατό με IPFS και πολλαπλές αλυσίδες._**
+
+- [Aleph.im](https://aleph.im/)
+- [Έγγραφα](https://aleph.im/#/developers/)
+- [GitHub](https://github.com/aleph-im/)
+
+**Ceramic - _Αποθηκευτικός χώρος βάσης δεδομένων IPFS που ελέγχεται από τον χρήστη για πλούσιες σε δεδομένα και ελκυστικές εφαρμογές._**
+
+- [Ceramic.network](https://ceramic.network/)
+- [Έγγραφα](https://developers.ceramic.network/learn/welcome/)
+- [GitHub](https://github.com/ceramicnetwork/js-ceramic/)
+
+**Filebase - _Αποκεντρωμένος αποθηκευτικός χώρος συμβατός με S3 και υπηρεσία pinning IPFS με γεωγραφικό πλεονασμό. Όλα τα αρχεία που μεταφορτώνονται στο IPFS μέσω του Filebase «καρφιτσώνονται» αυτόματα στην υποδομή Filebase με 3x αναπαραγωγή σε όλο τον κόσμο._**
+
+- [Filebase.com](https://filebase.com/)
+- [Τεκμηρίωση](https://docs.filebase.com/)
+- [GitHub](https://github.com/filebase)
+
+**4EVERLAND - _Μια υπολογιστική πλατφόρμα Web 3.0 στο cloud που διαθέτει βασικές δυνατότητες αποθήκευσης, υπολογισμού και δικτύωσης, είναι συμβατή με S3 και παρέχει σύγχρονη αποθήκευση δεδομένων σε αποκεντρωμένα δίκτυα αποθήκευσης όπως τα IPFS και Arweave._**
+
+- [4everland.org](https://www.4everland.org/)
+- [Έγγραφα](https://docs.4everland.org/)
+- [GitHub](https://github.com/4everland)
+
+**Kaleido - _Πλατφόρμα «blockchain ως υπηρεσία» με κόμβους IPFS click-button_**
+
+- [Kaleido](https://kaleido.io/)
+- [Έγγραφα](https://docs.kaleido.io/kaleido-services/ipfs/)
+- [GitHub](https://github.com/kaleido-io)
+
+**Spheron Network - _Το Spheron είναι μια «πλατφόρμα ως υπηρεσία» (platform-as-a-service — PaaS) σχεδιασμένη για dApp που επιθυμούν να κυκλοφορήσουν τις εφαρμογές τους σε αποκεντρωμένες υποδομές με τη βέλτιστη απόδοση. Παρέχει υπολογιστική δυνατότητα, αποκεντρωμένη αποθήκευση, CDN & web hosting που είναι έτοιμα για χρήση._**
+
+- [spheron.network](https://spheron.network/)
+- [Τεκμηρίωση](https://docs.spheron.network/)
+- [GitHub](https://github.com/spheronFdn)
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Τι Είναι η Αποκεντρωμένη Αποθήκευση;](https://coinmarketcap.com/alexandria/article/what-is-decentralized-storage-a-deep-dive-by-filecoin) - _CoinMarketCap_
+- [Καταρρίπτουμε Πέντε Κοινούς Μύθους για την Αποκεντρωμένη Αποθήκευση](https://www.storj.io/blog/busting-five-common-myths-about-decentralized-storage) - _Storj_
+
+_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_
+
+## Σχετικά θέματα {#related-topics}
+
+- [Πλαίσια ανάπτυξης](/developers/docs/frameworks/)
diff --git a/public/content/translations/el/developers/docs/transactions/index.md b/public/content/translations/el/developers/docs/transactions/index.md
index 0f561f50458..0015442fef4 100644
--- a/public/content/translations/el/developers/docs/transactions/index.md
+++ b/public/content/translations/el/developers/docs/transactions/index.md
@@ -22,7 +22,7 @@ lang: el
Μια υποβληθείσα συναλλαγή περιλαμβάνει τις παρακάτω πληροφορίες:
-- `from` – τη διεύθυνση του αποστολέα, που θα υπογράψει τη συναλλαγή. Αυτός θα είναι εξωτερικά ελεγχόμενος λογαριασμός καθώς οι λογαριασμοί συμβολαίων δεν μπορούν να στείλουν συναλλαγές.
+- `from` – τη διεύθυνση του αποστολέα, που θα υπογράψει τη συναλλαγή. Αυτός θα είναι εξωτερικά ελεγχόμενος λογαριασμός, καθώς οι λογαριασμοί συμβολαίων δεν μπορούν να στέλνουν συναλλαγές
- `to` -- η διεύθυνση λήψης (εάν είναι εξωτερικά ελεγχόμενος λογαριασμός, η συναλλαγή θα μεταφέρει αξία. Εάν είναι ένας λογαριασμός συμβολαίου, η συναλλαγή θα εκτελέσει τον κώδικα συμβολαίου)
- `signature` – το αναγνωριστικό του αποστολέα. Δημιουργείται όταν υπογράφεται η συναλλαγή με το ιδιωτικό κλειδί του αποστολέα το οποίο επιβεβαιώνει ότι και την έγκριση της συναλλαγής
- `nonce` - ένας διαδοχικά αυξανόμενος μετρητής που υποδεικνύει τον αριθμό συναλλαγών από τον λογαριασμό
@@ -114,7 +114,7 @@ lang: el
Για παράδειγμα, ας δούμε [αυτή τη συναλλαγή](https://etherscan.io/tx/0xd0dcbe007569fcfa1902dae0ab8b4e078efe42e231786312289b1eee5590f6a1). Χρησιμοποιήστε το **Click to see More** για να δείτε τα δεδομένα κλήσεων.
-Ο εκλέκτορας λειτουργίας είναι `0xa9059cbb`. Υπάρχουν πολλές [γνωστές λειτουργίες με αυτήν την υπογραφή](https://www.4byte.directory/signatures/?bytes4_signature=0xa9059cbb). [Σε αυτήν την περίπτωση <0>ο πηγαίος κώδικας της συμβολαίου](https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#code) έχει μεταφορτωθεί στο Etherscan, επομένως γνωρίζουμε ότι η λειτουργία είναι `transfer(address,uint256)`.
+Ο εκλέκτορας λειτουργίας είναι `0xa9059cbb`. Υπάρχουν πολλές [γνωστές λειτουργίες με αυτήν την υπογραφή](https://www.4byte.directory/signatures/?bytes4_signature=0xa9059cbb). Σε αυτήν την περίπτωση [ο πηγαίος κώδικας της συμβολαίου](https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#code) έχει μεταφορτωθεί στο Etherscan, επομένως γνωρίζουμε ότι η λειτουργία είναι `transfer(address,uint256)`.
Τα υπόλοιπα στοιχεία είναι:
@@ -162,7 +162,7 @@ lang: el
Το gas απαιτείται για κάθε συναλλαγή που περιλαμβάνει έξυπνο συμβόλαιο.
-Τα έξυπνα συμβόλαια μπορούν επίσης να περιέχουν λειτουργίες γνωστές ως λειτουργίες < [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) ή [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions), οι οποίες δεν αλλάζουν την κατάσταση της συμβολαίου. Ως εκ τούτου, η κλήση αυτών των λειτουργιών από έναν EOA δεν απαιτεί gas. Η υποκείμενη κλήση RPC για αυτό το σενάριο είναι [`eth_call`](/developers/docs/apis/json-rpc#eth_call)
+Τα έξυπνα συμβόλαια μπορούν επίσης να περιέχουν λειτουργίες γνωστές ως λειτουργίες [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) ή [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions), οι οποίες δεν αλλάζουν την κατάσταση της συμβολαίου. Ως εκ τούτου, η κλήση αυτών των λειτουργιών από έναν EOA δεν απαιτεί gas. Η υποκείμενη κλήση RPC για αυτό το σενάριο είναι [`eth_call`](/developers/docs/apis/json-rpc#eth_call).
Σε αντίθεση με την πρόσβαση μέσω του `eth_call`, αυτές οι συναρτήσεις `view` ή `pure` καλούνται επίσης συνήθως εσωτερικά (δηλαδή από το ίδιο το συμβόλαιο ή από άλλο συμβόλαιο) το οποίο κοστίζει gas.
@@ -198,7 +198,7 @@ lang: el
- `TransactionType` - ένας αριθμός μεταξύ του 0 και 0x7f, για συνολικά 128 πιθανούς τύπους συναλλαγών.
- `TransactionPayload` - ένας αυθαίρετος πίνακας byte που ορίζεται από τον τύπο συναλλαγής.
-Με βάση την αξία `TransactionType`, μια συναλλαγή μπορεί να ταξινομηθεί ως
+Με βάση την τιμή `TransactionType`, μια συναλλαγή μπορεί να ταξινομηθεί ως:
1. **Συναλλαγές τύπου 0 (παλαιού τύπου):** Η αρχική μορφή συναλλαγής που χρησιμοποιήθηκε από την κυκλοφορία του Ethereum. Δεν περιλαμβάνουν λειτουργίες από το [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), όπως υπολογισμούς δυναμικών κρατήσεων gas ή λίστες πρόσβασης για έξυπνα συμβόλαια. Οι συναλλαγές παλαιού τύπου δεν διαθέτουν συγκεκριμένο πρόθεμα που υποδεικνύει τον τύπο τους στη σειριακή τους μορφή, ξεκινώντας με το byte `0xf8` όταν χρησιμοποιείται η κωδικοποίηση [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp). Η αξία TransactionType για αυτές τις συναλλαγές είναι `0x0`.
diff --git a/public/content/translations/el/developers/docs/wrapped-eth/index.md b/public/content/translations/el/developers/docs/wrapped-eth/index.md
index 23c5d8890ed..35e5a1041c1 100644
--- a/public/content/translations/el/developers/docs/wrapped-eth/index.md
+++ b/public/content/translations/el/developers/docs/wrapped-eth/index.md
@@ -58,7 +58,7 @@ lang: el
-## Περαιτέρω υλικό για δίαβασμα {#further-reading}
+## Περαιτέρω υλικό για διάβασμα {#further-reading}
- [Τι στο καλό είναι το WETH;](https://weth.tkn.eth.limo/)
- [Πληροφορίες κρυπτοπαραστατικών WETH στο Etherscan](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)
diff --git a/public/content/translations/el/dvt/index.md b/public/content/translations/el/dvt/index.md
new file mode 100644
index 00000000000..5b13e8cc874
--- /dev/null
+++ b/public/content/translations/el/dvt/index.md
@@ -0,0 +1,91 @@
+---
+title: Κατανεμημένη τεχνολογία επικύρωσης
+description: Η τεχνολογία κατανεμημένης επικύρωσης επιτρέπει την κατανεμημένη λειτουργία ενός επικυρωτή Ethereum από πολλά μέρη.
+lang: el
+---
+
+# Κατανεμημένη τεχνολογία επικύρωσης {#distributed-validator-technology}
+
+Η τεχνολογία κατανεμημένης επικύρωσης (DVT) είναι μια προσέγγιση για την ασφάλεια του επικυρωτή που κατανέμει τις ευθύνες διαχείρισης κλειδιών και υπογραφής σε πολλά μέρη, για τη μείωση μεμονωμένων σημείων αστοχίας και την αύξηση της ανθεκτικότητας του επικυρωτή.
+
+Αυτό το κάνει **διαχωρίζοντας το ιδιωτικό κλειδί** που χρησιμοποιείται για την ασφάλεια ενός εργαλείου επικύρωσης **σε πολλούς υπολογιστές** οργανωμένο σε ένα «cluster». Αυτό παρέχει το πλεονέκτημα ότι καθιστά πολύ δύσκολο για τους εισβολείς να αποκτήσουν πρόσβαση στο κλειδί, επειδή δεν αποθηκεύεται πλήρως σε κανένα μεμονωμένο μηχάνημα. Επιτρέπει επίσης σε ορισμένους κόμβους να βγαίνουν εκτός σύνδεσης, καθώς η απαραίτητη υπογραφή μπορεί να γίνει από ένα υποσύνολο των μηχανών σε κάθε σύνολο. Αυτό μειώνει τα μεμονωμένα σημεία αστοχίας από το δίκτυο και καθιστά όλο το σετ επικύρωσης πιο ισχυρό.
+
+
+
+## Γιατί χρειαζόμαστε το DVT; {#why-do-we-need-dvt}
+
+### Ασφάλεια {#security}
+
+Οι επικυρωτές δημιουργούν δύο ζεύγη κλειδιών δημόσια - ιδιωτικά: τα κλειδιά επικύρωσης για συμμετοχή στη συναίνεση και τα κλειδιά ανάληψης για πρόσβαση στα κεφάλαια. Ενώ οι επικυρωτές μπορούν να ασφαλίσουν τα κλειδιά ανάληψης σε σημείο αποθήκευσης εκτός δικτύου, τα ιδιωτικά κλειδιά επικύρωσης πρέπει να είναι σε σύνδεση 24/7. Εάν ένα ιδιωτικό κλειδί επικύρωσης έχει παραβιαστεί, ένας εισβολέας μπορεί να ελέγξει το εργαλείο επικύρωσης, κάτι που ενδέχεται να οδηγήσει σε περικοπή ή απώλεια των ETH του χρήστη. Το DVT μπορεί να βοηθήσει στον μετριασμό αυτού του κινδύνου. Δείτε πώς:
+
+Με τη χρήση του DVT, οι χρήστες μπορούν να συμμετέχουν στην αποθήκευση κεφαλαίου διατηρώντας παράλληλα το ιδιωτικό κλειδί του εργαλείου επικύρωσης σε σημείο αποθήκευσης εκτός δικτύου. Αυτό επιτυγχάνεται με την κρυπτογράφηση του αρχικού, ολόκληρου κλειδιού επικύρωσης και στη συνέχεια με διαχωρισμό του σε κοινόχρηστα στοιχεία κλειδιού. Τα βασικά κοινόχρηστα στοιχεία υπάρχουν στο διαδίκτυο και διανέμονται σε πολλούς κόμβους επιτρέποντας την κατανεμημένη λειτουργία του επικυρωτή. Αυτό είναι δυνατό επειδή οι επικυρωτές Ethereum χρησιμοποιούν υπογραφές BLS που είναι προσθετικές, που σημαίνει ότι το πλήρες κλειδί μπορεί να ανακατασκευαστεί αθροίζοντας τα κατανεμημένα μέρη τους. Αυτό επιτρέπει στο χρήστη να διατηρεί το πλήρες, αρχικό «κύριο» κλειδί επικύρωσης με ασφάλεια εκτός σύνδεσης.
+
+### Κανένα μεμονωμένο σημείο αποτυχίας {#no-single-point-of-failure}
+
+Όταν ένας επικυρωτής χωρίζεται σε πολλούς χειριστές και πολλαπλά μηχανήματα, μπορεί να αντέξει μεμονωμένες αστοχίες υλικού και λογισμικού χωρίς να βγει εκτός σύνδεσης. Ο κίνδυνος αποτυχιών μπορεί επίσης να μειωθεί με τη χρήση διαφορετικών διαμορφώσεων υλικού και λογισμικού στους κόμβους σε ένα σύμπλεγμα. Αυτή η ανθεκτικότητα δεν είναι διαθέσιμη σε διαμορφώσεις επικύρωσης ενός κόμβου και προέρχεται από το επίπεδο DVT.
+
+Εάν ένα από τα στοιχεία ενός μηχανήματος σε ένα σύμπλεγμα πέσει (για παράδειγμα, εάν υπάρχουν τέσσερις συντονιστές σε ένα σύμπλεγμα επικυρωτή και ο ένας χρησιμοποιεί συγκεκριμένη εφαρμογή πελάτη που έχει σφάλμα), οι άλλοι διασφαλίζουν ότι το πρόγραμμα επικύρωσης συνεχίζει να λειτουργεί.
+
+### Αποκέντρωση {#decentralization}
+
+Το ιδανικό σενάριο για το Ethereum είναι να διαθέτει όσο το δυνατόν περισσότερους ανεξάρτητους επικυρωτές. Ωστόσο, ορισμένοι πάροχοι αποθήκευσης κεφαλαίου έχουν γίνει πολύ δημοφιλείς και αντιπροσωπεύουν σημαντικό μέρος του συνολικού αποθηκευμένου κεφαλαίου σε ETH στο δίκτυο. Το DVT μπορεί να επιτρέψει σε αυτούς τους χειριστές να λειτουργούν διατηρώντας παράλληλα την αποκέντρωση του δικτύου. Αυτό συμβαίνει επειδή τα κλειδιά για κάθε επικυρωτή κατανέμονται σε πολλά μηχανήματα και θα χρειαζόταν πολύ μεγαλύτερη προσπάθεια για να γίνει κακόβουλος ένας επικυρωτής.
+
+Χωρίς το DVT, είναι ευκολότερο για τους παρόχους αποθήκευσης κεφαλαίου να υποστηρίζουν μόνο μία ή δύο διαμορφώσεις εφαρμογής πελατών για όλους τους επικυρωτές τους, αυξάνοντας τον αντίκτυπο ενός σφάλματος εφαρμογής πελάτη. Το DVT μπορεί να χρησιμοποιηθεί για την κατανομή του κινδύνου σε πολλαπλές διαμορφώσεις πελατών και διαφορετικό υλικό, δημιουργώντας ανθεκτικότητα μέσω της διαφορετικότητας.
+
+**Το DVT προσφέρει τα ακόλουθα οφέλη στο Ethereum:**
+
+1. **Αποκέντρωση** της συναίνεσης απόδειξης συμμετοχής του Ethereum
+2. Εξασφαλίζει την **επιβιωσιμότητα** του δικτύου
+3. Δημιουργεί **ανοχή σφάλματος** του επικυρωτή
+4. Λειτουργία επικύρωσης με **περισσότερη εμπιστοσύνη**
+5. Μείωση **κινδύνου περικοπής** και διακοπής λειτουργίας
+6. **Βελτιώνει την ποικιλομορφία** (πελάτης, κέντρο δεδομένων, τοποθεσία, ρύθμιση κλπ.)
+7. **Βελτιωμένη ασφάλεια** της διαχείρισης του κλειδιού επικύρωσης
+
+## Πώς λειτουργεί το DVT; {#how-does-dvt-work}
+
+Μια λύση DVT περιέχει τα ακόλουθα στοιχεία:
+
+- **[Κοινοποίηση μυστικών του Shamir](https://medium.com/@keylesstech/a-beginners-guide-to-shamir-s-secret-sharing-e864efbf3648)** - Οι επικυρωτές χρησιμοποιούν [κλειδιά BLS](https://en.wikipedia.org/wiki/BLS_digital_signature). Τα μεμονωμένα «τμήματα κλειδιών» BLS μπορούν να συνδυαστούν σε ένα ενιαίο συγκεντρωτικό κλειδί (υπογραφή). Στο DVT, το ιδιωτικό κλειδί για έναν επικυρωτή είναι η συνδυασμένη υπογραφή BLS κάθε χειριστή.
+- **[Σχήμα υπογραφής κατωφλίου](https://medium.com/nethermind-eth/threshold-signature-schemes-36f40bc42aca)** - Καθορίζει τον απαιτούμενο αριθμό μεμονωμένων τμημάτων κλειδιού που απαιτούνται για τη διαδικασία υπογραφής, π.χ. 3 στα 4.
+- **[Δημιουργία κατανεμημένων κλειδιών (DKG)](https://medium.com/toruslabs/what-distributed-key-generation-is-866adc79620)** - Κρυπτογραφική διαδικασία που δημιουργεί τα τμήματα κλειδιού που θα διανεμηθούν ενός υπάρχοντος ή νέου κλειδιού επικύρωσης στους κόμβους σε ένα σύμπλεγμα.
+- **[Υπολογισμός πολλαπλών μερών (MPC)](https://messari.io/report/applying-multiparty-computation-to-the-world-of-blockchains)** - Το πλήρες κλειδί επικύρωσης δημιουργείται κρυφά με χρήση υπολογισμού πολλών μερών. Το πλήρες κλειδί δεν είναι ποτέ γνωστό σε κανέναν μεμονωμένο χρήστη. Γνωρίζει μόνο το δικό του μέρος (το «τμήμα» του).
+- **Πρωτόκολλο συναίνεσης** - Το πρωτόκολλο συναίνεσης επιλέγει έναν κόμβο ως τον προτείνοντα του μπλοκ. Μοιράζονται το μπλοκ με τους άλλους κόμβους του συμπλέγματος, οι οποίοι προσθέτουν τα τμήματα του κλειδιού τους στη συγκεντρωτική υπογραφή. Όταν έχουν συγκεντρωθεί αρκετά βασικά τμήματα κλειδιού, το μπλοκ υποβάλλεται για πρόταση στο Ethereum.
+
+Οι επικυρωτές μετά την κατανομή έχουν μια ενσωματωμένη ανοχή σφαλμάτων και μπορούν να συνεχίσουν να λειτουργούν ακόμα και αν ορισμένοι από τους μεμονωμένους κόμβους τεθούν εκτός σύνδεσης. Αυτό σημαίνει ότι το σύμπλεγμα είναι ανθεκτικό ακόμα και αν ορισμένοι από τους κόμβους μέσα του αποδειχθούν κακόβουλοι ή καθυστερούν.
+
+## Χρήσεις DVT {#dvt-use-cases}
+
+Το DVT έχει σημαντικές επιπτώσεις για τον ευρύτερο κλάδο αποθήκευσης κεφαλαίου:
+
+### Μεμονωμένοι χρήστες με αποθηκευμένο κεφάλαιο {#solo-stakers}
+
+Το DVT επιτρέπει επίσης την αποθήκευση κεφαλαίου χωρίς έλεγχο, επιτρέποντάς σας να διανέμετε το κλειδί επικύρωσής σας σε απομακρυσμένους κόμβους, ενώ διατηρείτε το πλήρες κλειδί εντελώς εκτός σύνδεσης. Αυτό σημαίνει ότι οι οικιακοί χρήστες δε χρειάζεται απαραίτητα να δαπανήσουν χρήματα για υλικό, καθώς η κατανομή του κλειδιού μπορεί να βοηθήσει στην ενδυνάμωση τους έναντι πιθανών εισβολών.
+
+### Η αποθήκευση ως υπηρεσία (SaaS) {#saas}
+
+Οι διαχειριστές (όπως οι δεξαμενές και οι οργανισμοί αποθήκευσης κεφαλαίου) που διαθέτουν πολλούς επικυρωτές μπορούν να χρησιμοποιήσουν το DVT για να μειώσουν τον κίνδυνο. Με την κατανομή της υποδομής τους, μπορούν να αυξήσουν την επιβιωσιμότητα των λειτουργιών τους και να διαφοροποιήσουν τους τύπους υλικού που χρησιμοποιούν.
+
+Το DVT διαμοιράζει την ευθύνη της διαχείρισης των κλειδιών σε πολλούς κόμβους, πράγμα που σημαίνει ότι ορισμένα λειτουργικά κόστη μπορούν επίσης να μοιραστούν. Το DVT μπορεί επίσης να μειώσει τον λειτουργικό κίνδυνο και το κόστος ασφάλισης για τους παρόχους αποθήκευσης κεφαλαίου.
+
+### Δεξαμενές αποθήκευσης κεφαλαίου {#staking-pools}
+
+Λόγω των τυπικών ρυθμίσεων επικυρωτών, οι δεξαμενές αποθήκευσης κεφαλαίου και οι πάροχοι ρευστότητας αποθηκευμένου κεφαλαίου, υποχρεούνται να έχουν διαφορετικά επίπεδα εμπιστοσύνης για έναν μόνο χειριστή, καθώς τα κέρδη και οι ζημίες διανέμονται σε όλη την ομάδα. Εξαρτώνται επίσης από τους διαχειριστές για την προστασία των κλειδιών υπογραφής, επειδή μέχρι τώρα, δεν υπήρχε άλλη επιλογή για αυτούς.
+
+Παρόλο που παραδοσιακά γίνονται προσπάθειες για την κατανομή του κινδύνου, κατανέμοντας το αποθηκευμένο κεφάλαιο σε πολλά συστήματα λειτουργία, κάθε διαχειριστής εξακολουθεί να διαχειρίζεται ένα σημαντικό μερίδιο ανεξάρτητα. Η διατήρηση ενός μόνο συστήματος εγκυμονεί τεράστιους κινδύνους σε περίπτωση που υπολειτουργήσει ή αντιμετωπίσει διακοπές λειτουργίας, που παραβιαστεί ή ενεργήσει με κακόβουλο τρόπο.
+
+Με τη μόχλευση του DVT, το επίπεδο εμπιστοσύνης που απαιτείται από τους χειριστές συστήματος μειώνεται σημαντικά. **Οι δεξαμενές μπορούν να επιτρέψουν στους χειριστές συστήματος να διατηρούν αποθηκευμένο κεφάλαιο χωρίς να χρειάζεται η φύλαξη των κλειδιών επικύρωσης** (καθώς χρησιμοποιούνται μόνο τα βασικά τμήματα). Επιτρέπει επίσης τη διαχείριση αποθηκευμένων κεφαλαίων μεταξύ περισσότερων συστημάτων (π.χ. αντί να υπάρχει μόνο ένας διαχειριστής για 1000 επικυρωτές, το DVT επιτρέπει σε αυτούς τους επικυρωτές να εκτελούνται συλλογικά από πολλούς διαχειριστές). Οι διάφορες ρυθμίσεις του διαχειριστή, θα εξασφαλίσουν ότι εάν ένας τεθεί εκτός λειτουργίας, οι άλλοι θα εξακολουθούν να μπορούν να εκτελούν επικυρώσεις. Αυτό έχει ως αποτέλεσμα την επιβιωσιμότητα και τη διαφοροποίηση που οδηγεί σε καλύτερη απόδοση και ανθεκτικότητα, μεγιστοποιώντας παράλληλα τις ανταμοιβές.
+
+Ένα άλλο όφελος για την ελαχιστοποίηση της ανάγκης εμπιστοσύνης ενός διαχειριστή, είναι ότι οι δεξαμενές αποθήκευσης κεφαλαίου μπορούν να επιτρέψουν πιο ανοιχτή και τη χωρίς άδεια συμμετοχή διαχειριστή. Με αυτόν τον τρόπο, οι υπηρεσίες μπορούν να μειώσουν τον κίνδυνο και να υποστηρίξουν την αποκέντρωση του Ethereum χρησιμοποιώντας ελεγμένα και χωρίς την ανάγκη παροχής άδειας από σύνολα συστημάτων, για παράδειγμα συνδέοντας οικιακούς ή περισσότερους χρήστες με μικρό αποθηκευμένο κεφάλαιο με μεγαλύτερους.
+
+## Πιθανά μειονεκτήματα της χρήσης DVT {#potential-drawbacks-of-using-dvt}
+
+- **Πρόσθετο στοιχείο** - η εισαγωγή ενός κόμβου DVT προσθέτει ένα ακόμη τμήμα που μπορεί να είναι ελαττωματικό ή ευάλωτο. Ένας τρόπος για να μετριαστεί αυτό είναι να προσπαθήσουμε για πολλαπλές υλοποιήσεις ενός κόμβου DVT, δηλαδή πολλαπλούς πελάτες εφαρμογών DVT (όπως ακριβώς υπάρχουν διαφορετικά λογισμικά πελάτη για τα επίπεδα συναίνεσης και εκτέλεσης).
+- **Λειτουργικό κόστος** - καθώς το DVT κατανέμει το σύστημα επικύρωσης μεταξύ πολλών μερών, απαιτούνται περισσότεροι κόμβοι για τη λειτουργία αντί για έναν μόνο κόμβο, γεγονός που αυξάνει το λειτουργικό κόστος.
+- **Δυνητικά αυξημένη καθυστέρηση** - καθώς το DVT χρησιμοποιεί ένα πρωτόκολλο για την επίτευξη συναίνεσης μεταξύ των πολλαπλών κόμβων που λειτουργούν με έναν επικυρωτή, μπορεί ενδεχομένως να εισάγει αυξημένο λανθάνοντα χρόνο.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Προδιαγραφές επικυρωτή με κατανομή Ethereum (υψηλού επιπέδου)](https://github.com/ethereum/distributed-validator-specs)
+- [Τεχνικές προδιαγραφές επικυρωτή με κατανομή Ethereum](https://github.com/ethereum/distributed-validator-specs/tree/dev/src/dvspec)
+- [Εφαρμογή επίδειξης κοινής χρήσης μυστικών Shamir](https://iancoleman.io/shamir/)
diff --git a/public/content/translations/el/enterprise/index.md b/public/content/translations/el/enterprise/index.md
new file mode 100644
index 00000000000..5805f36ca2d
--- /dev/null
+++ b/public/content/translations/el/enterprise/index.md
@@ -0,0 +1,161 @@
+---
+title: Επιχείρηση στο κεντρικό δίκτυο Ethereum
+description: Οδηγοί, άρθρα και εργαλεία σχετικά με εφαρμογές για επιχειρήσεις στη δημόσια κρυπτοαλυσίδα του Ethereum
+lang: el
+---
+
+# Το Ethereum για την επιχείρηση {#ethereum-for-enterprise}
+
+Το Ethereum μπορεί να βοηθήσει πολλά είδη επιχειρήσεων, συμπεριλαμβανομένων μεγάλων εταιρειών:
+
+- Αυξάνοντας την εμπιστοσύνη και μειώνοντας το κόστος συντονισμού μεταξύ των συνεργατών.
+- Βελτιώνοντας τη λογοδοσία του επιχειρηματικού δικτύου και τη λειτουργική αποτελεσματικότητα.
+- Δημιουργώντας νέα επιχειρηματικά μοντέλα και ευκαιρίες δημιουργίας.
+- Με ανταγωνιστικά απροσδόκητα για τον οργανισμό.
+
+Στα πρώτα χρόνια, πολλές εφαρμογές κρυπτοαλυσίδας για επιχειρήσεις δημιουργήθηκαν σε ιδιωτικές αδειοδοτημένες κρυπτοαλυσίδες συμβατές με το Ethereum ή αλυσίδες κοινοπραξιών. Σήμερα, χάρη στις τεχνολογικές εξελίξεις που επιτρέπουν μεγαλύτερη απόδοση, χαμηλότερο κόστος συναλλαγής και ιδιωτικότητα, οι περισσότερες εταιρικές εφαρμογές που χρησιμοποιούν τεχνολογία Ethereum δημιουργούνται στο δημόσιο κεντρικό δίκτυο Ethereum ή σε αλυσίδες [επιπέδου 2](/layer-2).
+
+
+## Πηγές {#enterprise-resources}
+
+### Περισσότερες πληροφορίες {#further-reading}
+
+Μη τεχνικοί πόροι για την κατανόηση του τρόπου με τον οποίο οι επιχειρήσεις μπορούν να επωφεληθούν από το Ethereum
+
+- [Γιατί είναι οι κρυπτοαλυσίδες χρήσιμες στις επιχειρήσεις;](https://entethalliance.org/why-are-blockchains-useful-for-business/) - _Εξετάζεται η αξία των κρυπτοαλυσίδων υπό το πρίσμα της προβεψιμότητας_
+- [Έκθεση ετοιμότητας Enterprise Ethereum Alliance 2023](https://entethalliance.org/eea-ethereum-business-readiness-report-2023/) — _ερευνάται το δυναμικό και οι ικανότητες του δημόσιου Ethereum και του ευρύτερου οικοσυστήματος Ethereum για επιχειρήσεις_
+- [_Το Ethereum στις επιχειρήσεις_ του Paul Brody](https://www.uapress.com/product/ethereum-for-business/) — _είναι ένας οδηγός σε απλά αγγλικά για τις περιπτώσεις χρήσης που παράγουν αποδόσεις από τη διαχείριση περιουσιακών στοιχείων έως τις πληρωμές προς αλυσίδες εφοδιασμού_
+
+### Οργανισμοί {#organizations}
+
+Ορισμένες συλλογικές προσπάθειες για να γίνει το Ethereum φιλικό προς τις επιχειρήσεις έχουν γίνει από διαφορετικούς οργανισμούς
+
+- [Enterprise Ethereum Alliance](https://entethalliance.org/) - Το EEA βοηθά τους οργανισμούς να υιοθετήσουν και να χρησιμοποιήσουν την τεχνολογία Ethereum στις καθημερινές επιχειρηματικές τους δραστηριότητες. Στόχος του είναι η επιτάχυνση του επιχειρηματικού Ethereum μέσω επαγγελματικής και εμπορικής υποστήριξης, υπεράσπισης και έρευνας, ανάπτυξης προτύπων και υπηρεσιών εμπιστοσύνης οικοσυστήματος.
+- [Global Blockchain Business Council (Παγκόσμιο Συμβούλιο Επιχειρήσεων Κρυπτοαλυσίδας)](https://www.gbbc.io/) - Το GBBC είναι μια βιομηχανική ένωση για το οικοσύστημα τεχνολογίας κρυπτοαλυσίδας. Μέσω της εμπλοκής των φορέων χάραξης πολιτικής και των ρυθμιστικών αρχών, της επιμέλειας εκδηλώσεων και των εις βάθος συζητήσεων, και της προώθησης της έρευνας, το GBBC είναι αφοσιωμένο στην περαιτέρω υιοθέτηση της κρυπτοαλυσίδας για τη δημιουργία πιο ασφαλών, δίκαιων και λειτουργικών κοινωνιών.
+
+
+## Πόροι προγραμματιστών επιχειρήσεων {#enterprise-developer-resources}
+
+### Λύσεις επεκτασιμότητας {#scalability-solutions}
+
+Οι περισσότερες νέες εφαρμογές κρυπτοαλυσίδας αναπτύσσονται σε αλυσίδες [επιπέδου 2](/layer-2). Το Επίπεδο 2 είναι ένα σύνολο τεχνολογιών ή συστημάτων που τρέχουν πάνω από το Ethereum (Επίπεδο 1), κληρονομούν ιδιότητες ασφαλείας από το Επίπεδο 1 και παρέχουν μεγαλύτερη ικανότητα επεξεργασίας συναλλαγών (παραγωγικότητα), χαμηλότερα τέλη συναλλαγής (κόστος λειτουργίας) και ταχύτερες επιβεβαιώσεις συναλλαγών από Επίπεδο 1. Οι λύσεις κλιμάκωσης επιπέδου 2 εξασφαλίζονται από το επίπεδο 1, αλλά επιτρέπουν στις εφαρμογές κρυπτοαλυσίδας να χειρίζονται πολύ περισσότερους χρήστες ή ενέργειες ή δεδομένα από αυτά που θα μπορούσαν να φιλοξενηθούν στο επίπεδο 1. Πολλά από αυτά αξιοποιούν τις πρόσφατες εξελίξεις στην κρυπτογραφία και τις αποδείξεις μηδενικής γνώσης [zero-knowledge (ZK)] για να μεγιστοποιήσουν την απόδοση και την ασφάλεια, ενώ ορισμένα προσφέρουν ένα επιπλέον επίπεδο ιδιωτικότητας.
+
+Το [L2 Beat](https://l2beat.com/scaling/summary) διατηρεί μια ενημερωμένη λίστα δικτύων Επιπέδου 2 και βασικών κλειδιών.
+
+### Προϊόντα, υπηρεσίες και εργαλεία {#products-and-services}
+
+- [4EVERLAND](https://www.4everland.org/) — _παρέχει API, υπηρεσίες RPC και εργαλεία φιλοξενίας αποκεντρωμένων εφαρμογών και αποκεντρωμένης αποθήκευσης στο Ethereum_
+- [Alchemy](https://www.alchemy.com/) — _παρέχει υπηρεσίες και εργαλεία API για την ανάπτυξη και την παρακολούθηση εφαρμογών στο Ethereum_
+- [Baseline Project](https://www.baseline-protocol.org/) — _μια δέσμη εργαλείων και βιβλιοθηκών που βοηθά τις επιχειρήσεις να συντονίσουν πολύπλοκες, πολυμερείς επιχειρηματικές διαδικασίες και ροές εργασιών με ιδιωτικότητα, τηρώντας παράλληλα τα δεδομένα σε αντίστοιχα συστήματα αρχείου. Το πρότυπο επιτρέπει σε δύο ή περισσότερες μηχανές καταστάσεων να επιτυγχάνουν και να διατηρούν τη συνέπεια των δεδομένων και τη συνέχεια της ροής εργασίας χρησιμοποιώντας ένα δίκτυο ως κοινό πλαίσιο αναφοράς._
+- [Blast](https://blastapi.io/) - _μια πλατφόρμα API που παρέχει RPC/WSS API για το Ethereum Archive Mainnet και τα Testnets._
+- [Blockapps](https://blockapps.net/) - _υλοποίηση του πρωτοκόλλου Enterprise Ethereum, των εργαλείων και των API που αποτελούν την πλατφόρμα STRATO_
+- [Chainlens](https://www.chainlens.com/) - _Πλατφόρμα δεδομένων και ανάλυσης SaaS και blockchain on-prem από την Web3 Labs_
+- [Chainstack](https://chainstack.com/) - _υποδομή Ethereum mainnet και testnet που φιλοξενείται σε δημόσια & απομονωμένα cloud πελατών_
+- [ConsenSys](https://consensys.io/) - _παρέχει μια σειρά προϊόντων και εργαλείων για την ανάπτυξη στο Ethereum, καθώς και συμβουλευτικές υπηρεσίες και υπηρεσίες προσαρμοσμένης ανάπτυξης_
+- [Crossmint](http://crossmint.com/) _ - πλατφόρμα ανάπτυξης web3 εταιρικού επιπέδου για την ανάπτυξη έξυπνων συμβολαίων, την ενεργοποίηση πληρωμών με πιστωτική κάρτα και διασυνοριακών πληρωμών, καθώς και τη χρήση API για τη δημιουργία, διανομή, πώληση, αποθήκευση και επεξεργασία NFT._
+- [Envision Blockchain](https://envisionblockchain.com/) - _παρέχει συμβουλευτικές και αναπτυξιακές υπηρεσίες με επίκεντρο τις επιχειρήσεις, με εξειδίκευση στο Ethereum Mainnet_
+- [EY OpsChain](https://blockchain.ey.com/products/contract-manager) - _παρέχει μια ροή εργασίας προμηθειών εκδίδοντας RFQ, συμβόλαια, παραγγελίες αγοράς και τιμολόγια σε όλο το δίκτυο αξιόπιστων επιχειρηματικών συνεργατών σας_
+- [Hyperledger Besu](https://www.hyperledger.org/use/besu) - _ένα πρόγραμμα-πελάτης ανοιχτού κώδικα Ethereum με επίκεντρο τις επιχειρήσεις, που αναπτύχθηκε με την άδεια Apache 2.0 και είναι γραμμένο σε Java_
+- [Infura](https://infura.io/) - _κλιμακωτή πρόσβαση API στα δίκτυα Ethereum και IPFS_
+- [Kaleido](https://kaleido.io/) - _μια πλατφόρμα ανάπτυξης που εστιάζει σε επιχειρήσεις και προσφέρει απλοποιημένες εφαρμογές blockchain και ψηφιακών περιουσιακών στοιχείων_
+- [Moralis](http://moralis.io/) - _API και κόμβοι εταιρικού επιπέδου με πιστοποίηση SOC2 τύπου 2_
+- [Nightfall](https://github.com/EYBlockchain/nightfall_3) - _μια εφαρμογή για τη μεταφορά εφαρμογών ERC20, ERC721 και ERC1155 σε περιβάλλον Zero Knowledge, χρησιμοποιώντας ένα Optimistic Rollup, από την Ernst & Young_
+- [NodeReal](https://nodereal.io/) - _παρέχει επεκτάσιμη υποδομή blockchain και πάροχο υπηρεσιών API για το οικοσύστημα Web3_
+- [QuickNode](https://www.quicknode.com/) - _παρέχει αξιόπιστους και γρήγορους κόμβους με API υψηλού επιπέδου όπως NFT API, Token API κ.λπ., ενώ παράλληλα παρέχει μια ενοποιημένη σουίτα προϊόντων και λύσεις εταιρικού επιπέδου_
+- [Tenderly](https://tenderly.co) - _μια πλατφόρμα ανάπτυξης Web3 που παρέχει δομικά στοιχεία εντοπισμού σφαλμάτων, παρατηρησιμότητας και υποδομής για την ανάπτυξη, τον έλεγχο, την παρακολούθηση και τη λειτουργία έξυπνων συμβολαίων_
+- [Unibright](https://unibright.io/) - _μια ομάδα ειδικών σε blockchain, αρχιτεκτόνων, προγραμματιστών και συμβούλων με 20+ χρόνια εμπειρίας σε επιχειρηματικές διαδικασίες και ενοποιήσεις_
+- [Zeeve](https://www.zeeve.io/) - _παρέχει μια σειρά προϊόντων και εργαλείων για την ανάπτυξη στο Ethereum, καθώς και υποδομές και API για εφαρμογές Web3 για επιχειρήσεις._
+
+## Εταιρικές εφαρμογές που βασίζονται στο Ethereum {#enterprise-applications-on-ethereum}
+
+Ακολουθούν ορισμένες από τις εταιρικές εφαρμογές που έχουν κατασκευαστεί πάνω στο δημόσιο Ethereum Mainnet και τα L2 από και για παραδοσιακές εταιρείες που δε βασίζονται στο blockchain.
+
+### Πληρωμές {#payments}
+
+- [Brave Browser](https://basicattentiontoken.org/) - _πληρώνει τους χρήστες για την προσοχή τους στις διαφημίσεις και οι χρήστες μπορούν να πληρώσουν τους εκδότες για να τους υποστηρίξουν, μέσω του Basic Attention Token_
+- [EthereumAds](https://ethereumads.com/) - _επιτρέπει στους διαχειριστές ιστοσελίδων να πωλούν διαφημιστικό χώρο και να πληρώνονται μέσω Ethereum_
+- [hCaptcha](https://www.hcaptcha.com/) - _Σύστημα CAPTCHA για την πρόληψη των bot, το οποίο πληρώνει τους χειριστές ιστοσελίδων για την εργασία που κάνουν οι χρήστες για την επισήμανση δεδομένων για μηχανική μάθηση. Τώρα αναπτύσσεται από την Cloudflare_
+- [Opera MiniPay](https://www.opera.com/products/minipay) - _καθιστά τις πληρωμές μέσω κινητού πιο προσβάσιμες και ασφαλείς για τους ανθρώπους στην Αφρική με πορτοφόλι που δεν απαιτεί την κατοχή χρημάτων και αξιοποιεί τους αριθμούς τηλεφώνου για εύκολες συναλλαγές_
+- [Roxpay](https://www.roxpay.ch/) - _αυτοματοποιεί την τιμολόγηση και τις πληρωμές περιουσιακών στοιχείων με πληρωμή ανά χρήση_
+- [Κόμβος Ψηφιακού Νομίσματος SAP](https://community.sap.com/t5/technology-blogs-by-sap/cross-border-payments-made-easy-with-digital-money-experience-the-future/ba-p/13560384) - _διασυνοριακές πληρωμές με σταθερά κρυπτονομίσματα_
+- [Toku](https://www.toku.com/) - _μισθοδοσία, διαχείριση επιχορηγήσεων token, φορολογική συμμόρφωση, τοπική απασχόληση, παροχές και κατανεμημένες λύσεις HR_
+- [Xerof](https://www.xerof.com/) - _διευκολύνει γρήγορες και οικονομικές διεθνείς (διασυνοριακές) πληρωμές B2B_
+
+### Οικονομικά {#finance}
+
+- [ABN AMRO](https://tokeny.com/tokeny-fuels-abn-amro-bank-in-tokenizing-green-bonds-on-polygon/) - _με την Tokeny, κρυπτογραφημένα πράσινα ομόλογα._
+- [Anvil](https://anvil.xyz/) - _ένα σύστημα έξυπνων συμβολαίων βασισμένο στο Ethereum που διαχειρίζεται εξασφαλίσεις και εκδίδει πλήρως εξασφαλισμένες πιστώσεις._
+- [Mata Capital](https://consensys.io/blockchain-use-cases/finance/mata-capital) - _κρυπτογράφηση επενδύσεων ακινήτων._
+- [Obligate](https://www.obligate.com/) — _ρυθμισμένα και KYC ομόλογα και εμπορικά χρεόγραφα εντός αλυσίδας_
+- [Siemens](https://press.siemens.com/global/en/pressrelease/siemens-remains-pioneer-another-digital-bond-successfully-issued-blockchain) — _έκδοση ομολόγων_
+- [Sila](https://silamoney.com/) - _banking και ACH payments infrastructure-as-a-service, χρησιμοποιώντας ένα stablecoin._
+- [Societe Generale FORGE](https://www.sgforge.com/product/bonds/) - _έκδοση ομολόγων._
+- [Taurus](https://www.taurushq.com/) - _εκδίδει κρυπτογραφημένες κινητές αξίες._
+- [Visa Tokenized Asset Plaform](https://developer.visa.com/capabilities/visa-tokenized-asset-platform) - _παρέχει τα εργαλεία και την υποδομή για τις τράπεζες να κρυπτογραφούν τα fiat νομίσματα σε δίκτυα blockchain._
+
+### Δημιουργία κρυπτονομισμάτων {#tokenization}
+
+- [AgroToken](https://agrotoken.io/en/) - _κρυπτογράφηση και εμπορία αγροτικών προϊόντων._
+- [Bitbond](https://www.bitbond.com/) - _βελτιώνει την έκδοση, τον διακανονισμό και τη φύλαξη χρηματοοικονομικών περιουσιακών στοιχείων με κρυπτογράφηση._
+- [Blocksquare](https://blocksquare.io/) - _υποδομή κρυπτογράφησης για ακίνητα._
+- [Centrifuge](https://centrifuge.io/) - _κρυπτογραφημένη χρηματοδότηση απαιτήσεων, χρέους και περιουσιακών στοιχείων._
+- [Clearmatics](https://www.clearmatics.com) - _δημιουργεί αποκεντρωμένες πλατφόρμες δικτύου για την ανταλλαγή κρυπτογραφημένης αξίας p2p._
+- [dClimate](https://www.dclimate.net/) - _αποκεντρωμένο οικοσύστημα πληροφοριών για το κλίμα._
+- [Fabrica](https://www.fabrica.land/) - _μια πλατφόρμα για την ψηφιοποίηση περιουσιακών στοιχείων ακινήτων, επιτρέποντας δανεισμό DeFi και εμπορία ακινήτων._
+- [Propy](https://propy.com/) - _μια πλατφόρμα για την αυτοματοποίηση συναλλαγών οικιστικών ακινήτων με έξυπνα συμβόλαια._
+- [RealT](https://realt.co/) - _επενδυτές σε όλο τον κόσμο μπορούν να αγοράσουν στην αγορά ακινήτων των ΗΠΑ μέσω πλήρως συμβατής, κλασματικής, κρυπτογραφημένης ιδιοκτησίας._
+- [Rubey](https://www.rubey.be/) - _μια πλατφόρμα που κρυπτογραφεί έργα τέχνης υψηλής ποιότητας για να τα καταστήσει προσβάσιμα σε ιδιώτες επενδυτές._
+- [Swarm](https://swarm.com/) - _μια πλατφόρμα που εστιάζει στην ψηφιοποίηση και εμπορία πραγματικών περιουσιακών στοιχείων με ρυθμιστική συμμόρφωση._
+- [Thallo](https://www.thallo.io/) - _μια πλατφόρμα για την ενσωμάτωση ψηφιακών πιστώσεων άνθρακα σε επιχειρηματικές συναλλαγές._
+- [Tokenchampions](https://tokenchampions.com/) - _ψηφιοποιεί τα δικαιώματα εικόνας Ευρωπαίων ποδοσφαιριστών._
+
+### Συμβολαιογραφική επικύρωση δεδομένων {#notarization-of-data}
+
+- [ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html) - _Ιταλικό πρακτορείο ειδήσεων καταπολεμά τα ψεύτικα νέα και επιτρέπει στους αναγνώστες να επαληθεύουν την προέλευση των ειδήσεων καταγράφοντάς τα στο Mainnet._
+- [Breitling](https://www.breitling.com/us-en/about/digital-passport/) — _καταγράφει την προέλευση και το ιστορικό επισκευών ρολογιών στο Ethereum_
+- [BRØK](https://www.xn--brk-1na.no/) - _μια πλατφόρμα πινάκων κεφαλαίων για μη εισηγμένες εταιρείες στο κοινό, που παρέχεται από την Κυβέρνηση της Νορβηγίας._
+- [Certifaction](https://certifaction.com/) - _νομικά έγκυρες ηλεκτρονικές υπογραφές με ιδιωτικότητα εκ σχεδιασμού._
+- [EthSign](https://ethsign.xyz/) - _καταγράφει υπογεγραμμένα ηλεκτρονικά έγγραφα στο blockchain του Ethereum._
+- [Stacktical](https://stacktical.com/) - _επιτρέπει την ανάπτυξη λογισμικού, την ψηφιακή έκδοση και την ψηφιακή υπογραφή Συμφωνιών Επιπέδου Υπηρεσιών (SLA) με εγγενείς δυνατότητες μεσεγγύησης._
+- [Verizon Full Transparency](https://www.verizon.com/about/news/transparency-technology) - _καταγράφει δελτία τύπου για να διασφαλίσει την εταιρική λογοδοσία και εμπιστοσύνη._
+- [Verify](https://www.verifymedia.com/) - _από την Fox Corporation αποθηκεύει κατακερματισμούς περιεχομένου πολυμέσων σε ένα Layer 2 για τη διευκόλυνση της αδειοδότησης περιεχομένου και την καταπολέμηση των deepfakes._
+- [WolfTown](https://www.mef.net/edge-view-blog/automated-secure-timely-sla-reporting-is-finally-a-reality/) - _από τη MEF και τη Sage Management αυτοματοποιεί την αναφορά Συμφωνιών Επιπέδου Υπηρεσιών μεταξύ τηλεπικοινωνιακών φορέων._
+
+### Αλυσίδα εφοδιασμού {#supply-chain}
+
+- [CargoX](https://cargox.io/) - _πάροχος ηλεκτρονικών φορτωτικών και μεταφοράς εγγράφων για ναυτιλία._
+- [Circularize](https://www.circularise.com/) - _μια λύση ιχνηλασιμότητας από άκρο σε άκρο για πρώτες ύλες που μετατρέπονται σε προϊόντα._
+- [EY OpsChain Contract Manager](https://blockchain.ey.com/) — _επιτρέπει στις εταιρείες να συμμετέχουν στη ροή εργασιών που σχετίζονται με τη σύναψη συμβάσεων μέσω της έκδοσης RFQ, συμβάσεων, παραγγελιών και τιμολογίων σε ένα δίκτυο επιχειρηματικών εταίρων_
+- [Το Global Battery Passport project](https://dlt.mobi/gbp-mvp/) _χρησιμοποιεί DIDs αγκυροβολημένα στο Ethereum μέσω του Integrated Trust Network της MOBI για την παρακολούθηση μπαταριών EV, για συμμόρφωση με τους κανονισμούς της ΕΕ._
+- [Minespider](https://www.minespider.com/) - _παρακολούθηση αλυσίδας εφοδιασμού και προέλευσης, και παρακολούθηση εκπομπών CO2._
+- [Morpheus.network](https://morpheus.network/) - _πλατφόρμα αυτοματοποίησης αλυσίδας εφοδιασμού._
+- [StaTwig](https://statwig.com/) - _λειτουργίες αλυσίδας εφοδιασμού._
+- [TradeTrust](https://www.tradetrust.io/) - _επαληθεύει ηλεκτρονικές φορτωτικές (eBLs) για διεθνείς μεταφορές._
+- [Tradeverifyd](https://tradeverifyd.com/) - _πλατφόρμα ανταλλαγής δεδομένων για το παγκόσμιο εμπόριο. Υποστηρίζει συναλλαγές με Αποκεντρωμένη Ταυτότητα στο Ethereum._
+
+### Ασφάλιση {#insurance}
+
+- [Arbol](https://www.arbolmarket.com/) - _παραμετρική ασφάλιση για την κάλυψη κινδύνων που σχετίζονται με τον καιρό._
+- [Etherisc](https://etherisc.com/) - _αποκεντρωμένη ασφάλιση για ποικίλους κινδύνους._
+- [Nayms](https://www.nayms.com/) - _ένας ψηφιακός χώρος για τη δημιουργία ασφαλιστικών προγραμμάτων, την αύξηση και εμπορία κεφαλαίων, την ανάληψη κινδύνου, και τις ράγες πληρωμής για ασφάλιστρα και συναλλαγές απαιτήσεων, χτισμένος με την AON._
+
+### Ταυτότητα, διαπιστευτήρια και πιστοποιήσεις {#credentials}
+
+- [BCdiploma](https://www.bcdiploma.com/) - _ψηφιοποιεί και επαληθεύει διπλώματα, πιστοποιητικά και micro-credentials._
+- [Bhutan National Digital Identity](https://www.bhutanndi.com/) - _ένα θεμέλιο για την ψηφιακή οικονομία του Μπουτάν, διευκολύνοντας τις αξιόπιστες αλληλεπιδράσεις μεταξύ ατόμων και οργανισμών._
+- [Hyland Credentials](https://www.hylandcredentials.com) - _ψηφιακά διπλώματα και άλλα εκπαιδευτικά διαπιστευτήρια, άδειες και πιστοποιητικά._
+- [Palau Digital Residency Program](https://rns.id/) - _προσφέρει σε παγκόσμιους πολίτες τη δυνατότητα να έχουν ένα νόμιμο αναγνωριστικό που εκδίδεται από την κυβέρνηση του Παλάου._
+- [Το QuarkID](https://quarkid.org/) _είναι ένα πρωτόκολλο αυτοκυρίαρχης ταυτότητας για τη διαχείριση βασικών προσωπικών εγγράφων, όπως πιστοποιητικά γέννησης και γάμου, ακαδημαϊκά διαπιστευτήρια και αποδείξεις εισοδήματος, που αναπτύχθηκε από την κυβέρνηση του Μπουένος Άιρες για χρήση στην Αργεντινή και άλλες χώρες της Νότιας Αμερικής._
+- [Spherity](https://www.spherity.com/) — _προσφέρει λύσεις διαχείριση ψηφιακής ταυτότητας για την καθιέρωση της ψηφιακής εμπιστοσύνης στα οικοσυστήματα με επικέντρωση στις αποκεντρωμένες ταυτότητες και τις επαληθεύσιμες διαπιστεύσεις_
+- [Zug Digital ID](https://ezug.ch/en/) — _είναι ένα σύστημα ταυτότητας βάσει κρυπτοαλυσίδας στην Ελβετία που παρέχουν στους κατοίκους ψηφιακή πρόσβαση σε κρατικές υπηρεσίες και υποστηρίζει λειτουργικότητες όπως ο ηλεκτρονικός δανεισμός ποδηλάτου και δημοτική ψηφοφορία_
+
+### Ψυχαγωγία, NFT και Πίστη
+
+- [Το British Museum's Sandbox](https://decrypt.co/150405/british-museum-enter-metaverse-via-sandbox) - _μια συλλογή NFT._
+- [Fruitlab](https://fruitlab.com/) - _μια πλατφόρμα για gamers για να κερδίζουν από την παρακολούθηση, κοινή χρήση και παιχνίδι online παιχνιδιών._
+- [Lamborghini](https://venturebeat.com/games/lamborghini-and-animocas-motorverse-tap-base-blockchain-for-in-game-assets/) - _δημιουργεί in-game assets για το Web3 παιχνίδι αγώνων Motorverse της Animoca._
+- [Nike Swoosh](https://www.swoosh.nike/) — _μια πλατφόρμα NFT_
+- [Sothbebys Metaverse](https://metaverse.sothebys.com/) — _μια ψηφιακή αγορά τέχνης NFT από τη Sothebys_
+- [Soneium](https://soneium.org/) - _ένα Layer 2 από τη Sony για την υποστήριξη παιχνιδιών Web3 και NFT._
+
+Αν θέλετε να προσθέσετε κάτι σε αυτήν τη λίστα, ανατρέξτε στις [οδηγίες για τη συνεισφορά](/contributing/).
diff --git a/public/content/translations/el/events/index.md b/public/content/translations/el/events/index.md
new file mode 100644
index 00000000000..382c0b546d6
--- /dev/null
+++ b/public/content/translations/el/events/index.md
@@ -0,0 +1,24 @@
+---
+title: Εκδηλώσεις του Ethereum
+description: Πώς να συμμετάσχετε στην κοινότητα του Ethereum.
+lang: el
+hideEditButton: true
+---
+
+# Προσεχείς εκδηλώσεις {#events}
+
+**Κάθε μήνα, πραγματοποιούνται εκδηλώσεις του Ethereum σε όλο τον κόσμο.** Μπορείτε να παρακολουθήσετε μια εκδήλωση κοντά σας για να γνωρίσετε περισσότερους ανθρώπους της κοινότητας, να μάθετε για τις ευκαιρίες απασχόλησης και να αναπτύξετε νέες δεξιότητες.
+
+
+
+Αυτή δεν είναι η πλήρη λίστα, η οποία διαχειρίζεται από την κοινότητά μας. Γνωρίζετε μια εκδήλωση του Ethereum που θα πραγματοποιηθεί για να την προσθέσετε στη λίστα; [Παρακαλούμε προσθέστε την](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)!
+
+## Συναντήσεις Ethereum {#meetups}
+
+Δεν εμφανίζεται διαθέσιμη εκδήλωση για εσάς; Δοκιμάστε να συμμετάσχετε σε μια συνάντηση. Οι συναντήσεις είναι μικρότερες εκδηλώσεις που διοργανώνονται από ομάδες του Ethereum - μια ευκαιρία για αυτούς που ενδιαφέρονται για το Ethereum να έρθουν σε επαφή, να μιλήσουν για το Ethereum και να ενημερωθούν για τις πρόσφατες εξελίξεις.
+
+
+
+Ενδιαφέρεστε να οργανώσετε μια συνάντηση; Δείτε το [Δίκτυο BUIDL](https://consensys.net/developers/buidlnetwork/), μια πρωτοβουλία του ConsenSys για την υποστήριξη των κοινοτήτων συνάντησης του Ethereum.
+
+Αυτή δεν είναι μια πλήρη λίστα της κοινότητάς μας. Μπορείτε να βρείτε περισσότερες [συναντήσεις Ethereum εδώ](https://www.meetup.com/topics/ethereum/). Γνωρίζετε μια ενεργή ομάδα συναντήσεων για προσθήκη στη λίστα; [Παρακαλούμε προσθέστε τη](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json)!
diff --git a/public/content/translations/el/foundation/index.md b/public/content/translations/el/foundation/index.md
new file mode 100644
index 00000000000..15f811b3c41
--- /dev/null
+++ b/public/content/translations/el/foundation/index.md
@@ -0,0 +1,40 @@
+---
+title: Ίδρυμα Ethereum
+description: Μάθετε για το Ίδρυμα Ethereum, ένα μη κερδοσκοπικό οργανισμό αφιερωμένο στην υποστήριξη του Ethereum και των σχετικών με αυτό τεχνολογιών του.
+hideEditButton: true
+lang: el
+---
+
+# Σχετικά με το Ίδρυμα Ethereum {#about-the-ethereum-foundation}
+
+
+
+Το [Ίδρυμα Ethereum](http://ethereum.foundation/) (EF) είναι ένας μη κερδοσκοπικός οργανισμός αφιερωμένος στην υποστήριξη του [Ethereum](/what-is-ethereum/) και των συναφών τεχνολογιών του.
+
+Το EF δεν είναι εταιρεία, ούτε μια παραδοσιακή μη κερδοσκοπική. Ο ρόλος του δεν είναι να ελέγχει ή να κατευθύνει το Ethereum, ούτε είναι ο μόνος οργανισμός που χρηματοδοτεί την κρίσιμη ανάπτυξη των τεχνολογιών που σχετίζονται με το Ethereum. Το EF είναι κομμάτι ενός πολύ μεγαλύτερου [οικοσυστήματος](/community/).
+
+## Πρωτοβουλίες του Ιδρύματος Ethereum {#ethereum-foundation-initiatives}
+
+### Πρόγραμμα υποστήριξης οικοσυστήματος {#ecosystem-support-program}
+
+Το [Πρόγραμμα Υποστήριξης Οικοσυστήματος](https://esp.ethereum.foundation/) παρέχει οικονομική και μη οικονομική υποστήριξη σε έργα και οντότητες εντός της ευρύτερης κοινότητας του Ethereum, προκειμένου να επιταχυνθεί η ανάπτυξη του. Το πρόγραμμα υποστήριξης του οικοσυστήματος είναι μια επέκταση του αρχικού προγράμματος επιχορηγήσεων Ethereum το οποίο επικεντρώνεται κυρίως στην οικονομική υποστήριξη.
+
+Μάθετε περισσότερα σχετικά με το πρόγραμμα υποστήριξης του οικοσυστήματος, τους προηγούμενους αποδέκτες επιχορηγήσεων και τη διαδικασία της αίτησης νέων επιχορηγήσεων στο [esp.ethereum.foundation](https://esp.ethereum.foundation/). Μπορείτε επίσης να δείτε το [φόρουμ του προγράμματος υποστήριξης οικοσυστήματος](https://blog.ethereum.org/category/ecosystem-support-program/) ή να ακολουθήσετε το [@EF_ESP](https://twitter.com/EF_ESP) για τα τελευταία νέα και ανακοινώσεις.
+
+### Devcon {#devcon}
+
+Από το 2014, το Ίδρυμα Ethereum διοργανώνει το Devcon, το ετήσιο συνέδριο των προγραμματιστών του Ethereum, ερευνητών, στοχαστών και δημιουργών.
+
+Μπορείτε να έχετε πρόσβαση σε περιεχόμενο βίντεο από παρουσιάσεις των συνεδρίων από την ίδρυση του στο [archive.devcon.org](https://archive.devcon.org/).
+
+Μάθετε περισσότερα στο [devcon.org](https://devcon.org/), ρίξτε μια ματιά στο [Ιστολόγιο Devcon](https://devcon.org/en/blogs/) ή ακολουθήστε το [@efdevcon](https://twitter.com/EFDevcon) για τις πιο πρόσφατες ανακοινώσεις.
+
+### Πρόγραμμα Συνεργασίας {#fellowship-program}
+
+Το [Πρόγραμμα Συνεργασίας του Ιδρύματος Ethereum](https://fellowship.ethereum.foundation/) είναι μια πρωτοβουλία για την αντιμετώπιση των κενών στην εκπροσώπηση μεταξύ πολιτισμών, εθνικοτήτων και οικονομικών τάξεων. Το Πρόγραμμα Συνεργασίας αφορά τη γεφύρωση αυτών των κενών αναγνωρίζοντας και υποστηρίζοντας μοναδικά και ταλαντούχα άτομα που βοηθούν να καταστεί δυνατή η συνάφεια του Ethereum καθώς και την άρση των εμποδίων πρόσβασης των ανθρώπων και κοινοτήτων που θα γίνουν το μέλλον του Web3.
+
+[Μάθετε περισσότερα στο fellowship.ethereum.foundation](https://fellowship.ethereum.foundation/).
+
+
+
+Περισσότερα για το Ίδρυμα και το έργο τους, επισκεφθείτε το [ethereum.foundation](http://ethereum.foundation/) ή δείτε το [φόρουμ του Ιδρύματος Ethereum](https://blog.ethereum.org/) για νέα και ανακοινώσεις.
diff --git a/public/content/translations/el/future-proofing/index.md b/public/content/translations/el/future-proofing/index.md
new file mode 100644
index 00000000000..565a91d37da
--- /dev/null
+++ b/public/content/translations/el/future-proofing/index.md
@@ -0,0 +1,38 @@
+---
+title: Μελλοντική προστασία Ethereum
+description: Αυτές οι αναβαθμίσεις ενισχύουν το Ethereum ως ένα βασικό επίπεδο ανθεκτικότητας και αποκέντρωσης για το μέλλον, ό,τι και αν γίνει.
+lang: el
+image: /images/roadmap/roadmap-future.png
+alt: "Οδικός χάρτης"
+template: roadmap
+---
+
+Ορισμένα τμήματα του οδικού χάρτη δεν απαιτούνται απαραίτητα για την επεκτασιμότητα ή την ασφάλεια του Ethereum βραχυπρόθεσμα, αλλά ρυθμίζουν το Ethereum για σταθερότητα και αξιοπιστία στο μέλλον.
+
+## Κβαντική αντίσταση {#quantum-resistance}
+
+Μέρος της [κρυπτογραφίας](/glossary/#cryptography) που ασφαλίζει το σημερινό Ethereum θα τεθεί σε κίνδυνο όταν ο κβαντικός υπολογιστής γίνει πραγματικότητα. Αν και οι κβαντικοί υπολογιστές απέχουν πιθανώς δεκαετίες από το να αποτελέσουν μια πραγματική απειλή για τη σύγχρονη κρυπτογραφία, το Ethereum κατασκευάζεται για να είναι ασφαλές για τους επόμενους αιώνες. Αυτό καθιστά τη μετάβαση στην [κβαντική ανθεκτικότητα του Ethereum](https://consensys.net/blog/developers/how-will-quantum-supremacy-affect-blockchain/) το συντομότερο δυνατό.
+
+Η πρόκληση που αντιμετωπίζουν οι προγραμματιστές του Ethereum είναι ότι το τρέχον πρωτόκολλο [απόδειξης συμμετοχής](/glossary/#pos) βασίζεται σε ένα πολύ αποτελεσματικό σχήμα υπογραφών γνωστό ως BLS για τη συγκέντρωση ψήφων σε έγκυρα [μπλοκ](/glossary/#block). Αυτό το σχήμα υπογραφών έχει σπάσει από τους κβαντικούς υπολογιστές, αλλά οι εναλλακτικές λύσεις που είναι ανθεκτικές σε κβαντικά δεν είναι τόσο αποτελεσματικές.
+
+Τα [σχήματα δέσμευσης «KZG»](/roadmap/danksharding/#what-is-kzg) που χρησιμοποιούνται σε πολλά σημεία στο Ethereum για τη δημιουργία κρυπτογραφικών μυστικών είναι γνωστό ότι είναι κβαντικά ευάλωτα. Επί του παρόντος, αυτό παρακάμπτεται με τη χρήση «αξιόπιστων ρυθμίσεων» όπου πολλοί χρήστες δημιουργούν τυχαίες καταστάσεις που δεν μπορούν να δημιουργηθούν αντίστροφα από έναν κβαντικό υπολογιστή. Ωστόσο, η ιδανική λύση θα ήταν απλώς η ενσωμάτωση της κβαντικής ασφαλούς κρυπτογραφίας. Υπάρχουν δύο κορυφαίες προσεγγίσεις που θα μπορούσαν να γίνουν αποτελεσματικές αντικαταστάσεις για το σχήμα BLS: [το βασισμένο σε STARK](https://hackmd.io/@vbuterin/stark_aggregation) και [το βασισμένο σε πλέγμα](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) υπογραφή. **Αυτά είναι ακόμα υπό έρευνα και δημιουργία πρωτότυπου.**
+
+ Διαβάστε για το KZG και τις αξιόπιστες ρυθμίσεις
+
+## Πιο απλό και αποτελεσματικό Ethereum {#simpler-more-efficient-ethereum}
+
+Η πολυπλοκότητα δημιουργεί ευκαιρίες για σφάλματα ή τρωτά σημεία που μπορούν να εκμεταλλευτούν οι κακόβουλοι. Ως εκ τούτου, μέρος του οδικού χάρτη είναι η απλοποίηση του Ethereum και η κατάργηση του κώδικα που έχει κολλήσει μέσα από διάφορες αναβαθμίσεις αλλά δε χρειάζονται πλέον ή μπορούν να βελτιωθούν. Μια πιο λιτή, απλούστερη βάση κώδικα είναι ευκολότερο για τους προγραμματιστές να διατηρούν και να συλλογίζονται.
+
+Υπάρχουν πολλές ενημερώσεις που θα γίνουν στην [Εικονική Μηχανή Ethereum (EVM)](/developers/docs/evm) για να γίνει απλούστερη και πιο αποτελεσματική. Σε αυτά περιλαμβάνονται η [κατάργηση του κωδικού λειτουργίας SELFDESTRUCT](https://hackmd.io/@vbuterin/selfdestruct) - μια σπάνια χρησιμοποιούμενη εντολή που δε χρειάζεται πλέον και σε ορισμένες περιπτώσεις μπορεί να είναι επικίνδυνη για χρήση, ειδικά όταν συνδυάζεται με άλλες μελλοντικές αναβαθμίσεις στο μοντέλο αποθήκευσης του Ethereum. Οι [εφαρμογές πελάτη Ethereum](/glossary/#consensus-client) υποστηρίζουν επίσης ορισμένους παλιούς τύπους συναλλαγών που μπορούν πλέον να αφαιρεθούν εντελώς. Ο τρόπος υπολογισμού των [κρατήσεων](/glossary/#gas) μπορεί επίσης να βελτιωθεί και να εισαχθούν πιο αποτελεσματικές μέθοδοι για την αριθμητική υποστήριξη ορισμένων κρυπτογραφικών λειτουργιών.
+
+Ομοίως, υπάρχουν ενημερώσεις που μπορούν να γίνουν σε άλλα μέρη των σημερινών εφαρμογών πελάτη Ethereum. Ένα παράδειγμα είναι ότι οι τρέχοντες εφαρμογές πελάτη εκτέλεσης και συναίνεσης χρησιμοποιούν διαφορετικό τύπο συμπίεσης δεδομένων. Θα είναι πολύ πιο εύκολο και πιο διαισθητικό να μοιράζεστε δεδομένα μεταξύ των πελατών όταν το σχήμα συμπίεσης είναι ενοποιημένο σε ολόκληρο το δίκτυο.
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Οι περισσότερες από τις αναβαθμίσεις που απαιτούνται για το μελλοντικό Ethereum βρίσκονται ακόμα σε **ερευνητικό στάδιο και ενδέχεται να απέχουν αρκετά χρόνια** από την εφαρμογή τους. Αναβαθμίσεις, όπως η κατάργηση της ΑΥΤΟΚΑΤΑΣΤΡΟΦΗΣ και η εναρμόνιση του συστήματος συμπίεσης που χρησιμοποιείται στα λογισμικά πελάτη εκτέλεσης και συναίνεσης, είναι πιθανό να έρθουν νωρίτερα από την κβαντική κρυπτογραφία.
+
+**Περισσότερες πληροφορίες**
+
+- [Κρατήσεις (Gas)](/developers/docs/gas)
+- [EVM](/developers/docs/evm)
+- [Δομές δεδομένων](/developers/docs/data-structures-and-encoding)
diff --git a/public/content/translations/el/glossary/index.md b/public/content/translations/el/glossary/index.md
new file mode 100644
index 00000000000..902ca28dbdc
--- /dev/null
+++ b/public/content/translations/el/glossary/index.md
@@ -0,0 +1,501 @@
+---
+title: Γλωσσάρι Ethereum
+description: Ένα μη ολοκληρωμένο γλωσσάρι τεχνικών και μη όρων, που σχετίζονται με το Ethereum
+lang: el
+---
+
+# Γλωσσάρι {#ethereum-glossary}
+
+## \# {#section-numbers}
+
+
+
+
+
+## Α {#section-a}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Β {#section-b}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Γ {#section-c}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Δ {#section-d}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## E {#section-e}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Φ {#section-f}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Γ {#section-g}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Η {#section-h}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Ι {#section-i}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Κ {#section-k}
+
+
+
+
+
+
+
+
+
+
+
+## Λ {#section-l}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Μ {#section-m}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Ν {#section-n}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Ο {#section-o}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Π {#section-p}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Ρ {#section-r}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Σ {#section-s}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Τ {#section-t}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## V {#section-v}
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Ω {#section-w}
+
+
+
+
+
+
+
+
+
+
+
+## Ζ {#section-z}
+
+
+
+
+
+
+
+
+
+## Πηγές {#sources}
+
+_Παρέχεται εν μέρει από το [Mastering Ethereum](https://github.com/ethereumbook/ethereumbook) από τους [Ανδρέα M. Αντωνόπουλο και Gavin Wood](https://ethereumbook.info) υπό την CC-BY-SA_
+
+
+
+## Συνεισφέρετε σε αυτή τη σελίδα {#contribute-to-this-page}
+
+Δεν έχουμε συμπεριλάβει κάτι; Είναι κάτι λάθος; Βοηθήστε μας με τη συμμετοχή σας στο GitHub να βελτιώσουμε αυτό το λεξικό!
+
+[Μάθετε περισσότερα σχετικά με τον τρόπο που μπορείτε να συνεισφέρετε](/contributing/adding-glossary-terms)
diff --git a/public/content/translations/el/governance/index.md b/public/content/translations/el/governance/index.md
index 97f9008fd4b..1a42b70674b 100644
--- a/public/content/translations/el/governance/index.md
+++ b/public/content/translations/el/governance/index.md
@@ -20,17 +20,17 @@ _Εάν δεν υπάρχει ιδιοκτήτης στο Ethereum, πώς λα
## Διαχείριση Ethereum {#ethereum-governance}
-Η διακυβέρνηση Ethereum είναι η διαδικασία με την οποία γίνονται αλλαγές στο πρωτόκολλο. Είναι σημαντικό να επισημάνουμε ότι αυτή η διαδικασία δε σχετίζεται με τον τρόπο με τον οποίο οι άνθρωποι και οι εφαρμογές χρησιμοποιούν το πρωτόκολλο. Το Ethereum λειτουργεί χωρίς να χρειάζεται καμία άδεια. Οποιοσδήποτε από οπουδήποτε στον κόσμο μπορεί να συμμετάσχει σε δραστηριότητες on-chain. Δεν υπάρχουν κανόνες για το ποιος μπορεί ή δεν μπορεί να δημιουργήσει μια εφαρμογή ή να εκτελέσει μια συναλλαγή. Ωστόσο, υπάρχει μια διαδικασία για να προτείνονται αλλαγές στο βασικό πρωτόκολλο, στο οποίο τρέχουν οι αποκεντρωμένες εφαρμογές. Δεδομένου ότι πολλοί άνθρωποι εξαρτώνται από τη σταθερότητα του Ethereum, υπάρχει ένα πολύ υψηλό όριο για τις βασικές αλλαγές, συμπεριλαμβανομένων των κοινωνικών και τεχνικών διαδικασιών, προκειμένου να διασφαλιστεί ότι οι τυχόν αλλαγές στο Ethereum είναι ασφαλείς και υποστηρίζονται ευρέως από την κοινότητα.
+Η διακυβέρνηση Ethereum είναι η διαδικασία με την οποία γίνονται αλλαγές στο πρωτόκολλο. Είναι σημαντικό να επισημάνουμε ότι αυτή η διαδικασία δε σχετίζεται με τον τρόπο με τον οποίο οι άνθρωποι και οι εφαρμογές χρησιμοποιούν το πρωτόκολλο. Το Ethereum λειτουργεί χωρίς να χρειάζεται καμία άδεια. Οποιοσδήποτε από οπουδήποτε στον κόσμο μπορεί να συμμετάσχει σε δραστηριότητες στην αλυσίδα. Δεν υπάρχουν κανόνες για το ποιος μπορεί ή δεν μπορεί να δημιουργήσει μια εφαρμογή ή να εκτελέσει μια συναλλαγή. Ωστόσο, υπάρχει μια διαδικασία για να προτείνονται αλλαγές στο βασικό πρωτόκολλο, στο οποίο τρέχουν οι αποκεντρωμένες εφαρμογές. Δεδομένου ότι πολλοί άνθρωποι εξαρτώνται από τη σταθερότητα του Ethereum, υπάρχει ένα πολύ υψηλό όριο για τις βασικές αλλαγές, συμπεριλαμβανομένων των κοινωνικών και τεχνικών διαδικασιών, προκειμένου να διασφαλιστεί ότι οι τυχόν αλλαγές στο Ethereum είναι ασφαλείς και υποστηρίζονται ευρέως από την κοινότητα.
-### Διακυβέρνηση επί της αλυσίδας ή εκτός αλυσίδας {#on-chain-vs-off-chain}
+### Διακυβέρνηση επί της αλυσίδας ή εκτός αλυσίδας {#onchain-vs-offchain}
-H τεχνολογία blockchain επιτρέπει νέες δυνατότητες διακυβέρνησης, γνωστές ως διακυβέρνηση επί της αλυσίδας (on-chain governance). Στη διακυβέρνηση επί της αλυσίδας, οι προτεινόμενες αλλαγές στο πρωτόκολλο αποφασίζονται με ψηφοφορία των ενδιαφερόμενων μερών (stakeholders), συνήθως κατόχων ενός token διακυβέρνησης και η ψηφοφορία πραγματοποιείται στο blockchain. Σε κάποιες μορφές διακυβέρνησης επί της αλυσίδας, οι προτεινόμενες αλλαγές στο πρωτόκολλο έχουν ήδη γραφτεί σε κώδικα και υλοποιούνται αυτόματα εάν οι ενδιαφερόμενοι εγκρίνουν τις αλλαγές με την υπογραφή μιας συναλλαγής.
+H τεχνολογία blockchain επιτρέπει νέες δυνατότητες διακυβέρνησης, γνωστές ως διακυβέρνηση επί της αλυσίδας. Στη διακυβέρνηση επί της αλυσίδας, οι προτεινόμενες αλλαγές στο πρωτόκολλο αποφασίζονται με ψηφοφορία των ενδιαφερόμενων μερών, συνήθως κατόχων ενός κρυπτονομίσματος διακυβέρνησης και η ψηφοφορία πραγματοποιείται στην κρυπτοαλυσίδα. Σε κάποιες μορφές διακυβέρνησης επί της αλυσίδας, οι προτεινόμενες αλλαγές στο πρωτόκολλο έχουν ήδη γραφτεί σε κώδικα και υλοποιούνται αυτόματα εάν οι ενδιαφερόμενοι εγκρίνουν τις αλλαγές με την υπογραφή μιας συναλλαγής.
-Σε αντίθετη προσέγγιση, η διακυβέρνηση εκτός αλυσίδας (off-chain governance), είναι όπου οι αποφάσεις για αλλαγές στο πρωτόκολλο λαμβάνονται μέσω μιας άτυπης διαδικασίας κοινωνικής συζήτησης, η οποία εάν εγκριθεί, θα εφαρμοστεί στον κώδικα.
+Σε αντίθετη προσέγγιση, η διακυβέρνηση εκτός αλυσίδας, είναι όπου οι αποφάσεις για αλλαγές στο πρωτόκολλο λαμβάνονται μέσω μιας άτυπης διαδικασίας κοινωνικής συζήτησης, η οποία εάν εγκριθεί, θα εφαρμοστεί στον κώδικα.
Η **διακυβέρνηση του Ethereum πραγματοποιείται εκτός αλυσίδας**, με μεγάλη ποικιλία stakeholders να συμμετέχουν στη διαδικασία.
-_Αν και σε επίπεδο πρωτοκόλλου η διακυβέρνηση του Ethereum είναι εκτός αλυσίδας, πολλές περιπτώσεις χρήσης που έχουν οικοδομηθεί πάνω στο Ethereum, όπως οι DAO (Αυτόνομοι Αποκεντρωμένοι Οργανισμοί), χρησιμοποιούν διακυβέρνηση επί της αλυσίδας._
+_Αν και σε επίπεδο πρωτοκόλλου η διακυβέρνηση του Ethereum είναι εκτός αλυσίδας, πολλές περιπτώσεις χρήσης που έχουν οικοδομηθεί πάνω στο Ethereum, όπως οι DAO, χρησιμοποιούν διακυβέρνηση επί της αλυσίδας._
Περισσότερα για τους DAO
@@ -44,11 +44,11 @@ _Αν και σε επίπεδο πρωτοκόλλου η διακυβέρνη
- **Κάτοχοι Ether:** Αυτοί που διατηρούν ένα αυθαίρετο ποσό ETH. [Περισσότερα για το ETH](/eth/).
- **Χρήστες εφαρμογών:** Αυτοί που αλληλεπιδρούν με εφαρμογές στο blockchain Ethereum.
-- **Προγραμματιστές εφαρμογών/εργαλείων:** Αυτοί που γράφουν εφαρμογές που εκτελούνται στο blockchain Ethereum (π.χ. DeFi, NFTs κ.λπ.) ή δημιουργούν εργαλεία για αλληλεπίδραση με το Ethereum (π.χ. πορτοφόλια, σουίτες δοκιμών κ.λπ.). [Περισσότερα για τις dapps](/dapps/).
+- **Προγραμματιστές εφαρμογών/εργαλείων:** Αυτοί που γράφουν εφαρμογές που εκτελούνται στο blockchain Ethereum (π.χ. DeFi, NFTs κ.λπ.) ή δημιουργούν εργαλεία για αλληλεπίδραση με το Ethereum (π.χ. πορτοφόλια, σουίτες δοκιμών κ.λπ.). [Περισσότερα για τις dapps](/apps/).
- **Διαχειριστές κόμβων:** Αυτοί που διαχειρίζονται κόμβους που διαδίδουν μπλοκ και συναλλαγές, απορρίπτοντας οποιαδήποτε μη έγκυρη συναλλαγή ή μπλοκ που συναντούν. [Περισσότερα για τους κόμβους](/developers/docs/nodes-and-clients/).
- **Συντάκτες EIP:** Αυτοί που προτείνουν αλλαγές στο πρωτόκολλο Ethereum, με τη μορφή Προτάσεων Βελτίωσης Ethereum (EIP - Ethereum Improvement Proposals). [Περισσότερα για τα EIP](/eips/).
- **Επικυρωτές:** Αυτοί που διαχειρίζονται κόμβους που μπορούν να προσθέσουν νέα μπλοκ στο blockchain Ethereum.
-- **Προγραμματιστές πρωτοκόλλου:** (γνωστοί και ως «Core Developers»): αυτοί που συντηρούν τις διάφορες υλοποιήσεις του Ethereum (π.χ. go-ethereum, Nethermind, Besu, Erigon, Reth στο επίπεδο εκτέλεσης ή Prysm, Lighthouse, Nimbus, Teku, Lodestar στο επίπεδο συναίνεσης). [Περισσότερα για τους πελάτες Ethereum](/developers/docs/nodes-and-clients/).
+- **Προγραμματιστές πρωτοκόλλου:** (γνωστοί και ως «Core Developers»): αυτοί που συντηρούν τις διάφορες υλοποιήσεις του Ethereum (π.χ. go-ethereum, Nethermind, Besu, Erigon, Reth στο επίπεδο εκτέλεσης ή Prysm, Lighthouse, Nimbus, Teku, Lodestar, Grandine στο επίπεδο συναίνεσης). [Περισσότερα για τους πελάτες Ethereum](/developers/docs/nodes-and-clients/).
_Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε πολλές από αυτές τις ομάδες (π.χ. ένας προγραμματιστής πρωτοκόλλου θα μπορούσε να υποστηρίξει ένα EIP, να εκτελέσει έναν επικυρωτή αλυσίδας και να χρησιμοποιήσει εφαρμογές DeFi). Ωστόσο, για λόγους σαφήνειας της έννοιας, είναι καλύτερο να τα διακρίνουμε._
@@ -92,14 +92,10 @@ _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε
Οι «Πρωταθλητές» των EIP θα πρέπει να εξοικειωθούν με προηγούμενες εργασίες και προτάσεις προτού δημιουργήσουν ένα EIP το οποίο μπορεί να ληφθεί σοβαρά υπόψη για ανάπτυξη στο Κύριο Δίκτυο Ethereum. Με αυτόν τον τρόπο, το EIP ελπίζεται να φέρει κάτι νέο που δεν έχει απορριφθεί προηγουμένως. Οι τρεις κύριοι χώροι για να ερευνήσετε αυτό το θέμα είναι το [αποθετήριο των EIP](https://github.com/ethereum/EIPs), το [Ethereum Magicians](https://ethereum-magicians.org/) και το [ethresear.ch](https://ethresear.ch/).
-
-
### Ομάδες εργασίας {#working-groups}
Είναι απίθανο το αρχικό προσχέδιο ενός EIP να εφαρμοστεί στο Κύριο Δίκτυο Ethereum χωρίς επεξεργασίες ή αλλαγές. Γενικά, οι «Πρωταθλητές» των EIP θα συνεργαστούν με μια ομάδα Προγραμματιστών Πρωτοκόλλου για να καθορίσουν, να υλοποιήσουν, να δοκιμάσουν, να επαναλάβουν και να οριστικοποιήσουν την πρότασή τους. Ιστορικά, αυτές οι ομάδες εργασίας έχουν χρειαστεί αρκετούς μήνες (και μερικές φορές χρόνια!) εργασίας. Ομοίως, οι «Πρωταθλητές» των EIP για τέτοιες αλλαγές θα πρέπει να συμπεριλάβουν σχετικούς Προγραμματιστές Εφαρμογών/Εργαλείων έγκαιρα στις προσπάθειές τους για να συγκεντρώσουν σχόλια από τους τελικούς χρήστες και να μετριάσουν τους κινδύνους ανάπτυξης.
-
-
### Συναίνεση κοινότητας {#community-consensus}
Ενώ ορισμένα EIP αποτελούν απλές τεχνικές βελτιώσεις με ελάχιστες αποχρώσεις, άλλα είναι πιο σύνθετα και περιλαμβάνουν ανταλλάγματα που θα επηρεάσουν διαφορετικούς stakeholders με διαφορετικούς τρόπους. Αυτό σημαίνει ότι ορισμένα EIP είναι πιο αμφιλεγόμενα εντός της κοινότητας από άλλα.
@@ -112,21 +108,17 @@ _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε
-
-
## Αντιμετώπιση διαφωνιών {#disagreements}
Έχοντας πολλούς stakeholders με διαφορετικά κίνητρα και πεποιθήσεις σημαίνει ότι οι διαφωνίες δεν είναι ασυνήθεις.
Γενικά, οι διαφωνίες επιλύονται με μακροσκελείς συζητήσεις σε δημόσια φόρουμ για να κατανοηθεί η ρίζα του προβλήματος και να επιτραπεί σε οποιονδήποτε να συμμετάσχει. Συνήθως, η μία ομάδα υποχωρεί ή επιτυγχάνεται μία μέση λύση. Εάν μια ομάδα αισθάνεται αρκετά δυνατή, το να επιβάλει μια συγκεκριμένη αλλαγή θα μπορούσε να οδηγήσει σε διαχωρισμό της αλυσίδας. Ο διαχωρισμός της αλυσίδας συμβαίνει όταν κάποιοι stakeholders διαμαρτύρονται για την εφαρμογή μιας αλλαγής στο πρωτόκολλο, με αποτέλεσμα να λειτουργούν διαφορετικές, ασυμβίβαστες εκδόσεις του πρωτοκόλλου, από τις οποίες προκύπτουν δύο ξεχωριστές κρυπτοαλυσίδες.
-
-
### Η ενσωμάτωση DAO {#dao-fork}
Οι τεχνικές ενσωματώσεις συμβαίνουν όταν χρειάζονται σημαντικές τεχνικές αναβαθμίσεις ή αλλαγές στο δίκτυο και αλλάζουν τους «κανόνες» του πρωτοκόλλου. Οι πελάτες Ethereum πρέπει να ενημερώσουν το λογισμικό τους για να εφαρμόσουν τους νέους κανόνες της διακλάδωσης. Οι [Πελάτες Ethereum](/developers/docs/nodes-and-clients/) πρέπει να ενημερώσουν το λογισμικό τους για να εφαρμόσουν τους νέους κανόνες της αναβάθμισης.
-Το ενσωμάτωση DAO ήταν η απάντηση στην [επίθεση DAO το 2016](https://www.coindesk.com/understanding-dao-hack-journalists), όπου ένα επισφαλές συμβόλαιο [DAO](/glossary/#dao) είχε εξαντληθεί σε πάνω από 3.6 εκατομμύρια ETH σε μια επίθεση. Η αναβάθμιση μετέφερε τα χρήματα από το ελαττωματικό συμβόλαιο σε ένα νέο συμβόλαιο, επιτρέποντας σε όποιον έχασε χρήματα στην επίθεση να τα ανακτήσει.
+Το ενσωμάτωση DAO ήταν η απάντηση στην [επίθεση DAO το 2016](https://www.coindesk.com/learn/understanding-the-dao-attack), όπου ένα επισφαλές συμβόλαιο [DAO](/glossary/#dao) είχε εξαντληθεί σε πάνω από 3.6 εκατομμύρια ETH σε μια επίθεση. Η αναβάθμιση μετέφερε τα χρήματα από το ελαττωματικό συμβόλαιο σε ένα νέο συμβόλαιο, επιτρέποντας σε όποιον έχασε χρήματα στην επίθεση να τα ανακτήσει.
Αυτός ο τρόπος αντιμετώπισης ψηφίστηκε από την κοινότητα του Ethereum. Κάθε κάτοχος ETH ήταν σε θέση να ψηφίσει μέσω μιας συναλλαγής στη [πλατφόρμα ψηφοφορίας](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/). Η απόφαση για την εφαρμογή της ενσωμάτωσης έφτασε πάνω από το 85% των ψήφων.
@@ -146,8 +138,6 @@ _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε
-
-
### Η χρησιμότητα της τεχνικής αναβάθμισης {#forking-utility}
Το fork του Ethereum/Ethereum Classic είναι ένα εξαιρετικό παράδειγμα ενός υγιούς fork. Είχαμε δύο ομάδες που διαφωνούσαν έντονα μεταξύ τους σε ορισμένες βασικές αξίες, σε σημείο που θεώρησαν ότι άξιζε τους κινδύνους που συνεπάγονταν η επιδίωξη των συγκεκριμένων δράσεων τους.
@@ -156,8 +146,6 @@ _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε
-
-
## Διακυβέρνηση κύριας αλυσίδας {#beacon-chain}
Η διαδικασία διακυβέρνησης του Ethereum συχνά ανταλλάσσει την ταχύτητα και την αποδοτικότητα για την εξωστρέφεια και τη συμπερίληψη. Προκειμένου να επιταχυνθεί η ανάπτυξη της Κύριας Αλυσίδας, ξεκίνησε ξεχωριστά από το δίκτυο Ethereum η απόδειξη εργασίας και ακολούθησε τις δικές της πρακτικές διακυβέρνησης.
@@ -172,8 +160,6 @@ _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε
-
-
## Πώς μπορείτε να συμμετέχετε; {#get-involved}
- [Προτείνοντας EIP](/eips/#participate)
@@ -182,9 +168,7 @@ _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε
- [Συμμετέχοντας στο Ethereum R&D discord](https://discord.gg/mncqtgVSVw)
- [Εκτελέστε ένα κόμβο](/developers/docs/nodes-and-clients/run-a-node/)
- [Συμμετέχοντας στην ανάπτυξη εφαρμογών πελάτη](/developers/docs/nodes-and-clients/#execution-clients)
-- [Πρόγραμμα Μαθητείας Πυρήνα Ανάπτυξης](https://blog.ethereum.org/2021/09/06/core-dev-apprenticeship-second-cohort/)
-
-
+- [Πρόγραμμα Μαθητείας Ανάπτυξης Πυρήνα](https://blog.ethereum.org/2021/09/06/core-dev-apprenticeship-second-cohort/)
## Περισσότερες πληροφορίες {#further-reading}
@@ -196,3 +180,5 @@ _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε
- [Τι είναι ένας βασικός προγραμματιστής Ethereum](https://hudsonjameson.com/2020-06-22-what-is-an-ethereum-core-developer/) - _Hudson Jameson_
- [Διακυβέρνηση, Τμήμα 2: Η πλουτοκρατία είναι ακόμα κακή](https://vitalik.eth.limo/general/2018/03/28/plutocracy.html) - _Vitalik Buterin_
- [Προχωρώντας πέρα από τη διακυβέρνηση ψηφοφορίας νομισμάτων](https://vitalik.eth.limo/general/2021/08/16/voting3.html) - _Vitalik Buterin_
+- [Κατανόηση της διακυβέρνησης κρυπτοαλυσίδας](https://research.2077.xyz/understanding-blockchain-governance) - _Έρευνα 2077_
+- [Η διακυβέρνηση Ethereum](https://www.galaxy.com/insights/research/ethereum-governance/) - _Christine Kim_
diff --git a/public/content/translations/el/guides/how-to-revoke-token-access/index.md b/public/content/translations/el/guides/how-to-revoke-token-access/index.md
index b7901e6e48e..5b393d0bc6e 100644
--- a/public/content/translations/el/guides/how-to-revoke-token-access/index.md
+++ b/public/content/translations/el/guides/how-to-revoke-token-access/index.md
@@ -20,7 +20,6 @@ lang: el
- [Ethallowance](https://ethallowance.com/) (Ethereum)
- [Etherscan](https://etherscan.io/tokenapprovalchecker) (Ethereum)
-- [Cointool](https://cointool.app/approve/eth) (πολλαπλά δίκτυα)
- [Revoke](https://revoke.cash/) (πολλαπλά δίκτυα)
- [Unrekt](https://app.unrekt.net/) (πολλαπλά δίκτυα)
- [EverRevoke](https://everrise.com/everrevoke/) (πολλαπλά δίκτυα)
diff --git a/public/content/translations/el/guides/how-to-swap-tokens/index.md b/public/content/translations/el/guides/how-to-swap-tokens/index.md
index 1abea55f52c..4b3ae8e6bfa 100644
--- a/public/content/translations/el/guides/how-to-swap-tokens/index.md
+++ b/public/content/translations/el/guides/how-to-swap-tokens/index.md
@@ -12,7 +12,7 @@ lang: el
**Προαπαιτούμενα:**
-- Κατοχή [πορτοφολιού κρυπτονομισμάτων](/glossary/#wallet), δείτε τον οδηγό: [Πώς να «δημιουργήσετε» ένα λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/).
+- Έχετε [πορτοφόλι κρυπτονομισμάτων;](/glossary/#wallet) Αν όχι, ακολουθήστε αυτόν τον οδηγό: [Πώς να δημιουργήσετε έναν λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/).
- Προσθήκη κεφαλαίων στο πορτοφόλι σας.
## 1. Συνδέστε το πορτοφόλι σας με το αποκεντρωμένο ανταλλακτήριο (DEX) της επιλογής σας
diff --git a/public/content/translations/el/guides/how-to-use-a-bridge/index.md b/public/content/translations/el/guides/how-to-use-a-bridge/index.md
index e7eb2212f40..57587442995 100644
--- a/public/content/translations/el/guides/how-to-use-a-bridge/index.md
+++ b/public/content/translations/el/guides/how-to-use-a-bridge/index.md
@@ -10,7 +10,7 @@ lang: el
**Προαπαιτούμενα:**
-- κατοχή πορτοφολιού κρυπτονομισμάτων, δείτε τον οδηγό: [Πώς να «δημιουργήσετε» ένα λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/)
+- Κατοχή πορτοφολιού κρυπτονομισμάτων, δείτε τον οδηγό: [Πώς να δημιουργήσετε ένα λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/)
- προσθήκη κεφαλαίων στο πορτοφόλι σας
## 1. Καθορίστε ποιο δίκτυο επιπέδου 2 θέλετε να χρησιμοποιήσετε
diff --git a/public/content/translations/el/guides/how-to-use-a-wallet/index.md b/public/content/translations/el/guides/how-to-use-a-wallet/index.md
index 2252fc2e82a..fada137cb5c 100644
--- a/public/content/translations/el/guides/how-to-use-a-wallet/index.md
+++ b/public/content/translations/el/guides/how-to-use-a-wallet/index.md
@@ -1,5 +1,6 @@
---
title: Πώς να χρησιμοποιήσετε ένα πορτοφόλι
+metaTitle: Πώς να χρησιμοποιήσετε ένα πορτοφόλι Ethereum | Βήμα προς βήμα
description: Ένας οδηγός που εξηγεί πώς να στείλετε ή να λάβετε κρυπτονομίσματα και να συνδεθείτε σε έργα web3.
lang: el
---
@@ -60,7 +61,7 @@ lang: el

5. Επιβεβαιώστε το αίτημα υπογραφής στο πορτοφόλι σας για να εγκρίνετε τη σύνδεση. **Η υπογραφή αυτού του μηνύματος δεν πρέπει να απαιτεί ETH**.
-6. Αυτό ήταν! Αρχίστε να χρησιμοποιείτε την εφαρμογή. Μπορείτε να βρείτε μερικά ενδιαφέροντα έργα στη σελίδα μας [dApps](/dapps/#explore).
+6. Αυτό ήταν! Αρχίστε να χρησιμοποιείτε την εφαρμογή. Μπορείτε να βρείτε μερικά ενδιαφέροντα έργα στη σελίδα μας [dApps](/apps/#explore).
Θέλετε να μάθετε περισσότερα;
diff --git a/public/content/translations/el/guides/index.md b/public/content/translations/el/guides/index.md
index 7d0e01e2842..f7f25bf535a 100644
--- a/public/content/translations/el/guides/index.md
+++ b/public/content/translations/el/guides/index.md
@@ -12,7 +12,7 @@ lang: el
1. [Πώς να «δημιουργήσετε» έναν λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/) - Ο καθένας μπορεί να δημιουργήσει ένα πορτοφόλι δωρεάν. Αυτός ο οδηγός θα σας δείξει από πού να ξεκινήσετε.
-2. [Πώς να χρησιμοποιήσετε ένα πορτοφόλι](/guides/how-to-use-a-wallet/) - Μια εισαγωγή στα βασικά χαρακτηριστικά κάθε πορτοφολιού και πώς να το χρησιμοποιήσετε.
+2. [Πώς να χρησιμοποιείτε ένα πορτοφόλι](/guides/how-to-use-a-wallet/) - Μάθετε πώς να στέλνετε και να λαμβάνετε κρυπτονομίσματα στο πορτοφόλι σας και πώς να το συνδέετε με έργα.
## Βασικά στοιχεία ασφαλείας
diff --git a/public/content/translations/el/history/index.md b/public/content/translations/el/history/index.md
new file mode 100644
index 00000000000..1acbdbd37ba
--- /dev/null
+++ b/public/content/translations/el/history/index.md
@@ -0,0 +1,674 @@
+---
+title: Ιστορικό και Αναβαθμίσεις του Ethereum
+description: Το ιστορικό της κεντρικής κρυπτοαλυσίδας του Ethereum, που περιλαμβάνει σημαντικά ορόσημα, ανακοινώσεις και ενσωματώσεις.
+lang: el
+sidebarDepth: 1
+---
+
+# Η ιστορία του Ethereum {#the-history-of-ethereum}
+
+Ένα χρονοδιάγραμμα με όλα τα μεγάλα ορόσημα, τις ενσωματώσεις και τις ενημερώσεις της κεντρικής αλυσίδας του Ethereum.
+
+
+
+Οι ενσωματώσεις πραγματοποιούνται όταν απαιτούνται σημαντικές τεχνικές αλλαγές ή αναβαθμίσεις στο δίκτυο - συνήθως προέρχονται από τις προτάσεις βελτίωσης Ethereum Improvement Proposals (EIPs) και τροποποιούν τους «κανόνες» του πρωτοκόλλου.
+
+Όταν απαιτούνται αναβαθμίσεις στο παραδοσιακό, κεντρικά ελεγχόμενο λογισμικό, η εταιρεία θα δημοσιεύσει απλώς μια νέα έκδοση για τον τελικό χρήστη. Οι κρυπτοαλυσίδες λειτουργούν διαφορετικά καθώς δεν υπάρχει κεντρική ιδιοκτησία. Οι Πελάτες Ethereum πρέπει να ενημερώσουν το λογισμικό τους για να εφαρμόσουν τους νέους κανόνες της αναβάθμισης. Επιπλέον, οι δημιουργοί των μπλοκ (οι κρυπτορύχοι που λειτουργούν με την απόδειξη εργασίας, καθώς και οι επαληθευτές με χρήση της απόδειξης συμμετοχής) και οι κόμβοι θα πρέπει να δημιουργήσουν νέα μπλοκ και να επικυρώσουν με βάση τους νέους κανόνες. Περισσότερα για τους μηχανισμούς συναίνεσης
+
+Αυτές οι αλλαγές κανόνων μπορεί να δημιουργήσουν ένα προσωρινό διαχωρισμό στο δίκτυο. Τα νέα μπλοκ θα μπορούσαν να παραχθούν σύμφωνα με τους νέους κανόνες ή τους παλιούς. Οι αναβαθμίσεις καθορίζονται έγκαιρα, έτσι ώστε οι εφαρμογές πελάτη να μπορέσουν να υιοθετήσουν και να εφαρμόσουν τις αλλαγές κατά την ενημέρωση, ώστε και η ενσωμάτωση με τις αναβαθμίσεις να καταστεί ως η νέα κύρια αλυσίδα. Ωστόσο, σε σπάνιες περιπτώσεις, κάποιες διαφωνίες σχετικά με τις αναβαθμίσεις μπορούν να προκαλέσουν μόνιμο διαχωρισμό του δικτύου, όπως τη δημιουργία του Ethereum Classic με την προσθήκη DAO.
+
+
+
+
+
+Το λογισμικό που βρίσκεται κάτω από το Ethereum αποτελείται από δύο μισά, γνωστά ως [επίπεδο εκτέλεσης](/glossary/#execution-layer) και το [επίπεδο συναίνεσης](/glossary/#consensus-layer).
+
+**Ονοματολογία αναβάθμισης επιπέδου εκτέλεσης**
+
+Από το 2021, οι αναβαθμίσεις στο επίπεδο εκτέλεσης ονομάζονται σύμφωνα με τα ονόματα πόλεων προηγούμενων τοποθεσιών Devcon με χρονολογική σειρά:
+
+| Όνομα Αναβάθμισης | Έτος Devcon | Αριθμός Devcon | Ημερομηνία Αναβάθμισης |
+| ------------ | ----------- | ------------- | ------------ |
+| Βερολίνο | 2014 | 0 | 15 Απρ 2021 |
+| Λονδίνο | 2015 | I | 5 Αυγ 2021 |
+| Σαγκάη | 2016 | II | 12 Απρ 2023 |
+| Κανκούν | 2017 | III | 13 Μαρ 2024 |
+| **Πράγα** | 2018 | IV | TBD - Επόμενη |
+| _Οσάκα_ | 2019 | V | TBD |
+| _Μπογκοτά_ | 2022 | VI | TBD |
+| _Μπανγκόκ_ | 2024 | VII | TBD |
+
+**Ονοματολογία αναβάθμισης επιπέδου συναίνεσης**
+
+Από την έναρξη της [Beacon Chain](/glossary/#beacon-chain), οι αναβαθμίσεις στο **επίπεδο συναίνεσης** παίρνουν το όνομά τους από ουράνια άστρα που ξεκινούν με γράμματα που ακολουθούν αλφαβητική σειρά:
+| Όνομα Αναβάθμισης | Ημερομηνία Αναβάθμισης |
+| ------------------------------------------------------------- | ------------ |
+| Γένεση Beacon Chain | 1 Δεκ 2020 |
+| [Altair](https://en.wikipedia.org/wiki/Altair) | 27 Οκτ 2021 |
+| [Bellatrix](https://en.wikipedia.org/wiki/Bellatrix) | 6 Σεπ 2022 |
+| [Capella](https://en.wikipedia.org/wiki/Capella) | 12 Απρ 2023 |
+| [Deneb](https://en.wikipedia.org/wiki/Deneb) | 13 Μαρ 2024 |
+| [**Electra**]() | TBD - Επόμενη |
+| [_Fulu_]() | TBD |
+
+**Συνδυασμένη ονομασία**
+
+Οι αναβαθμίσεις στα επίπεδα εκτέλεσης και συναίνεσης κυκλοφόρησαν αρχικά σε διαφορετικές χρονικές στιγμές, αλλά μετά τη [Συγχώνευση](/roadmap/merge/) το 2022, αναπτύσσονται ταυτόχρονα. Ως εκ τούτου, οι όροι στην καθομιλουμένη έχουν προκύψει για να απλοποιήσουν τις αναφορές σε αυτές των αναβαθμίσεων χρησιμοποιώντας έναν μόνο συνδυασμένο όρο. Αυτό ξεκίνησε με την αναβάθμιση _Shanghai-Capella_, που συνήθως αναφέρεται ως "**Shapella**", και συνεχίζεται με τις αναβαθμίσεις _Cancun-Deneb_ (**Dencun**) και _Prague-Electra_ (**Pectra**).
+
+| Αναβαθμ. Εκτελεστικού | Αναβάθμ. Συναινετικού | Σύντμηση |
+| ----------------- | ----------------- | ---------- |
+| Shanghai | Capella | "Shapella" |
+| Cancun | Deneb | "Dencun" |
+| Prague | Electra | "Pectra" |
+| Osaka | Fulu | "Fusaka" |
+
+
+
+Μετάβαση κατευθείαν σε πληροφορίες σχετικά με τις ιδιαίτερα σημαντικές προηγούμενες αναβαθμίσεις: [Η Κεντρική Αλυσίδα](/roadmap/beacon-chain/), [Η συγχώνευση](/roadmap/merge/) και [EIP-1559](#london)
+
+Αναζητείτε μελλοντικές αναβαθμίσεις πρωτοκόλλου; [Μάθετε για τις επερχόμενες αναβαθμίσεις οδικού χάρτη Ethereum](/roadmap/).
+
+
+
+## 2025 {#2025}
+
+### Prague-Electra ("Pectra") {#pectra}
+
+
+
+Η αναβάθμιση Prague-Electra ("Pectra") περιελάμβανε αρκετές βελτιώσεις στο πρωτόκολλο Ethereum με στόχο τη βελτίωση της εμπειρίας για όλους τους χρήστες, τα δίκτυα επιπέδου 2, τους χρήστες με δεσμευμένο κεφάλαιο και τους χειριστές κόμβων.
+
+Η δέσμευση κεφαλαίων αναβαθμίστηκε με ανατοκισμό λογαριασμών επικύρωσης και βελτίωσε τον έλεγχο των δεσμευμένων κεφαλαίων χρησιμοποιώντας τη διεύθυνση εκτέλεσης ανάληψης. Το EIP-7251 αύξησε το μέγιστο αποτελεσματικό υπόλοιπο για έναν μόνο επικυρωτή σε 2048, βελτιώνοντας την κεφαλαιακή αποδοτικότητα για τους χρήστες με δέσμευση κεφαλαίου. Το EIP-7002 επέτρεψε σε έναν λογαριασμό επιπέδου εκτέλεσης να ενεργοποιεί με ασφάλεια ενέργειες επικυρωτή, συμπεριλαμβανομένης της εξόδου ή της ανάληψης τμημάτων των κεφαλαίων, βελτιώνοντας την εμπειρία για τους παίκτες με δέσμευση ETH, ενώ βοηθά στην ενίσχυση της λογοδοσίας για τους διαχειριστές κόμβων.
+
+Άλλα μέρη της αναβάθμισης επικεντρώθηκαν στη βελτίωση της εμπειρίας για τους τακτικούς χρήστες. Το EIP-7702 εισήγαγε τη δυνατότητα ενός τακτικού λογαριασμού που δεν είναι έξυπνο συμβόλαιο ([EOA](/glossary/#eoa)) να εκτελεί κώδικα παρόμοιο με ένα έξυπνο συμβόλαιο. Αυτό ξεκλείδωσε απεριόριστες νέες λειτουργίες για τους παραδοσιακούς λογαριασμούς Ethereum, όπως ομαδοποίηση συναλλαγών, χορηγία gas, εναλλακτική αυθεντικοποίηση, προγραμματιζόμενοι έλεγχοι δαπανών, μηχανισμοί ανάκτησης λογαριασμού και άλλα.
+
+
+
+Καλύτερη εμπειρία χρήστη:
+
+
+ - EIP-7702 - Ορισμός κώδικα λογαριασμού EOA
+ - EIP-7691 - Αύξηση της διακίνησης blob
+ - EIP-7623 - Αύξηση κόστους calldata
+ - EIP-7840 - Προσθήκη χρονοδιαγράμματος blob στα αρχεία διαμόρφωσης EL
+
+
+Καλύτερη εμπειρία δέσμευσης κεφαλαίου:
+
+
+
+Αναβαθμίσεις αποδοτικότητας και ασφάλειας πρωτοκόλλου:
+
+
+
+
+
+- [Pectra.wtf](https://pectra.wtf)
+- [Πώς η Pectra θα βελτιώσει την εμπειρία δέσμευσης κεφαλαίου](https://www.kiln.fi/post/next-ethereum-upgrade-how-pectra-will-enhance-the-staking-experience)
+- [Διαβάστε τις προδιαγραφές αναβάθμισης Electra](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/)
+- [Prague-Electra ("Pectra") FAQ](/roadmap/pectra/)
+
+
+
+## 2024 {#2024}
+
+### Cancun-Deneb ("Dencun") {#dencun}
+
+
+
+#### Περίληψη Cancun {#cancun-summary}
+
+Η αναβάθμιση Cancun περιέχει ένα σύνολο βελτιώσεων στο επίπεδο _εκτέλεσης_ του Ethereum με στόχο τη βελτίωση της επεκτασιμότητας, παράλληλα με τις αναβαθμίσεις του επιπέδου συναίνεσης της Deneb.
+
+Ειδικότερα, αυτό περιλαμβάνει το EIP-4844, γνωστό ως **Proto-Danksharding**, το οποίο μειώνει σημαντικά το κόστος αποθήκευσης δεδομένων για πακέτα ενημέρωσης επιπέδου 2. Αυτό επιτυγχάνεται μέσω της εισαγωγής των δεδομένων «blobs» που επιτρέπει στα πακέτα δεδομένων να δημοσιεύουν δεδομένα στο Κεντρικό Δίκτυο για σύντομο χρονικό διάστημα. Αυτό έχει ως αποτέλεσμα σημαντικά χαμηλότερες χρεώσεις συναλλαγών για τους χρήστες πακέτων δεδομένων επιπέδου 2.
+
+
+
+
+
+
+
+- [Πακέτα ενημέρωσης επιπέδου 2](/layer-2/)
+- [Proto-Danksharding](/roadmap/scaling/#proto-danksharding)
+- [Danksharding](/roadmap/danksharding/)
+- [Διαβάστε τις προδιαγραφές αναβάθμισης της Cancun](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md)
+
+#### Περίληψη Deneb {#deneb-summary}
+
+Η αναβάθμιση Deneb περιέχει ένα σύνολο βελτιώσεων στο επίπεδο _συναίνεσης_ του Ethereum με στόχο τη βελτίωση της επεκτασιμότητας. Αυτή η αναβάθμιση έρχεται παράλληλα με τις αναβαθμίσεις επιπέδου εκτέλεσης Cancun για την ενεργοποίηση του Proto-Danksharding (EIP-4844), μαζί με άλλες βελτιώσεις στην Κύρια Αλυσίδα.
+
+Τα προ δημιουργημένα και υπογεγραμμένα «μηνύματα εθελουσίας εξόδου» δε λήγουν πλέον, δίνοντας έτσι περισσότερο έλεγχο στους χρήστες που αποθηκεύουν τα χρήματά τους σε έναν τρίτο χειριστή κόμβου. Με αυτό το υπογεγραμμένο μήνυμα εξόδου, οι χρήστες με αποθηκευμένο κεφάλαιο μπορούν να αναθέσουν τη λειτουργία του κόμβου, διατηρώντας παράλληλα τη δυνατότητα ασφαλούς εξόδου και ανάληψης των κεφαλαίων τους ανά πάσα στιγμή, χωρίς να χρειάζεται να ζητήσουν την άδεια από κανέναν.
+
+Το EIP-7514 φέρνει αυστηριοποίηση στην έκδοση ETH, περιορίζοντας το ποσοστό «ανατροπής» που οι επικυρωτές μπορούν να ενταχθούν στο δίκτυο σε οκτώ (8) ανά εποχή. Δεδομένου ότι το σύνολο ETH είναι ανάλογο με το συνολικό αποθηκευμένο κεφάλαιο σε ETH, περιορίζοντας τον αριθμό των επικυρωτών που ενώνουν τα ανώτατα όρια στον _ρυθμό ανάπτυξης_ του νεοεκδοθέντος ETH, ενώ παράλληλα μειώνονται οι απαιτήσεις υλικού για τους χειριστές κόμβων, βοηθώντας την αποκέντρωση.
+
+
+
+
+
+
+
+- [Διαβάστε τις προδιαγραφές αναβάθμισης Deneb](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/)
+- [Συχνές ερωτήσεις Cancun-Deneb ("Dencun")](/roadmap/dencun/)
+
+
+
+## 2023 {#2023}
+
+### Shanghai-Capella ("Shapella") {#shapella}
+
+
+
+#### Περίληψη Shanghai {#shanghai-summary}
+
+Η αναβάθμιση Shanghai έφερε τη δυνατότητα αναλήψεων στο επίπεδο εκτέλεσης. Σε συνδυασμό με την αναβάθμιση Capella, αυτό επιτρέπει στα μπλοκ να πραγματοποιήσουν εργασίες ανάληψης, επιτρέποντας στους ενδιαφερόμενους να αποσύρουν τα ETH τους από την Κύρια Αλυσίδα στο επίπεδο εκτέλεσης.
+
+
+
+
+
+
+
+- [Διαβάστε τις προδιαγραφές αναβάθμισης της Shanghai](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md)
+
+#### Περίληψη Capella {#capella-summary}
+
+Η αναβάθμιση Capella ήταν η τρίτη σημαντική αναβάθμιση στο επίπεδο συναίνεσης (Beacon Chain), ενεργοποιώντας την ανάληψη αποθηκευμένου κεφαλαίου. Η αναβάθμιση Capella συνέβη συγχρονισμένα με την αναβάθμιση του επιπέδου εκτέλεσης Shanghai και την ενεργοποιημένη λειτουργία ανάληψης κεφαλαίου.
+
+Αυτό το επίπεδο συναίνεσης αναβάθμισε την ικανότητα των χρηστών με αποθηκευμένο κεφάλαιο, που δεν παρέχουν διαπιστευτήρια ανάληψης με την αρχική τους κατάθεση να το πράξουν, επιτρέποντας έτσι τις αναλήψεις.
+
+Η αναβάθμιση παρέχει επίσης αυτόματη λειτουργία σάρωσης λογαριασμού, η οποία επεξεργάζεται συνεχώς λογαριασμούς επικυρωτή για τυχόν διαθέσιμες πληρωμές ανταμοιβών ή πλήρη αναλήψεων.
+
+- [Περισσότερα για τις αναλήψεις αποθηκευμένου κεφαλαίου](/staking/withdrawals/).
+- [Διαβάστε τις προδιαγραφές αναβάθμισης Capella](https://github.com/ethereum/consensus-specs/blob/dev/specs/capella/)
+
+
+
+## 2022 {#2022}
+
+### Paris (Η Συγχώνευση) {#paris}
+
+
+
+#### Περίληψη {#paris-summary}
+
+Η αναβάθμιση Paris προκλήθηκε από το blockchain της απόδειξης εργασίας περνώντας μια [συνολική δυσκολία](/glossary/#terminal-total-difficulty) 5875000000000000000000000. Αυτό συνέβη στο μπλοκ 15537393 στις 15 Σεπτεμβρίου 2022, προκαλώντας την αναβάθμιση Paris στο επόμενο μπλοκ. Το Paris ήταν η μετάβαση στη [Συγχώνευση](/roadmap/merge/), όπου το κύριο χαρακτηριστικό της ήταν η απενεργοποίηση του αλγορίθμου κρυπτόρυξης με την [απόδειξη εργασίας](/developers/docs/consensus-mechanisms/pow) και η σχετική λογική συναίνεσης και η μετάβαση στην [απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos). Η Paris αναβάθμισε τους [πελάτες εκτέλεσης](/developers/docs/nodes-and-clients/#execution-clients) (που ισοδυναμεί με την Bellatrix στο επίπεδο συναίνεσης) που τους έδωσε τη δυνατότητα να λάβουν οδηγίες από τους συνδεδεμένους [πελάτες συναίνεσης](/developers/docs/nodes-and-clients/#consensus-clients). Αυτό απαιτούσε να ενεργοποιηθεί ένα νέο σύνολο εσωτερικών μεθόδων API, κοινώς γνωστό ως [Engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md). Ήταν αναμφισβήτητα η πιο σημαντική αναβάθμιση στην ιστορία του Ethereum από το [Homestead](#homestead)!
+
+- [Διαβάστε τις προδιαγραφές αναβάθμισης της Paris](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md)
+
+
+
+
+
+
+
+---
+
+### Bellatrix {#bellatrix}
+
+
+
+#### Σύνοψη {#bellatrix-summary}
+
+Η αναβάθμιση Bellatrix ήταν η δεύτερη προγραμματισμένη αναβάθμιση της [Κύριας Αλυσίδας](/roadmap/beacon-chain)>, προετοιμάζοντας την αλυσίδα για [Την Συγχώνευση](/roadmap/merge/). Επιφέρει κυρώσεις στους επαληθευτές έως και τις πλήρεις αξίες τους για την αδράνεια και τις παραβάσεις. Η αναβάθμιση Bellatrix περιλαμβάνει επίσης μια ενημέρωση των κανόνων επιλογής της ενσωμάτωσης για την προετοιμασία της αλυσίδας για τη συγχώνευση και τη μετάβαση από το τελευταίο μπλοκ της απόδειξης εργασίας στο πρώτο μπλοκ με την απόδειξη συμμετοχής. Αυτό περιλαμβάνει την ευαισθητοποίηση των πελατών για τον [συνολικό βαθμό δυσκολίας](/glossary/#terminal-total-difficulty) 58750000000000000000000.
+
+- [Διαβάστε τις προδιαγραφές αναβάθμισης της Bellatrix](https://github.com/ethereum/consensus-specs/tree/dev/specs/bellatrix)
+
+---
+
+### Gray Glacier {#gray-glacier}
+
+
+
+#### Σύνοψη {#gray-glacier-summary}
+
+Η αναβάθμιση «Gray Glacier» του δικτύου ώθησε τον [βαθμό δυσκολίας](/glossary/#difficulty-bomb) κατά τρεις μήνες πίσω. Αυτή είναι η μόνη αλλαγή που προστέθηκε σε αυτήν την αναβάθμιση και είναι παρόμοια με τη λογική των αναβαθμίσεων [Arrow Glacier](#arrow-glacier) και [Muir Glacier](#muir-glacier). Παρόμοιες αλλαγές έχουν γίνει με τις αναβαθμίσεις [Byzantium](#byzantium), [Constantinople](#constantinople) και [London](#london).
+
+- [Ιστολόγιο EF - Ανακοίνωση αναβάθμισης Gray Glacier](https://blog.ethereum.org/2022/06/16/gray-glacier-announcement/)
+
+
+
+
+ - EIP-5133 – καθυστερεί τη «βόμβα δυσκολίας» έως τον Σεπτέμβριο 2022
+
+
+
+
+
+
+## 2021 {#2021}
+
+### Arrow Glacier {#arrow-glacier}
+
+
+
+#### Σύνοψη {#arrow-glacier-summary}
+
+Η αναβάθμιση «Arrow Glacier» του δικτύου ώθησε τον [βαθμό δυσκολίας](/glossary/#difficulty-bomb) κατά αρκετούς μήνες πίσω. Αυτή είναι η μόνη αλλαγή που προστέθηκε σε αυτήν την αναβάθμιση και είναι παρόμοια με τη λογική της αναβάθμισης [Muir Glacier](#muir-glacier). Παρόμοιες αλλαγές έχουν γίνει με τις αναβαθμίσεις [Byzantium](#byzantium), [Constantinople](#constantinople) και [London](#london).
+
+- [Ιστολόγιο EF - Ανακοίνωση αναβάθμισης Arrow Glacier](https://blog.ethereum.org/2021/11/10/arrow-glacier-announcement/)
+- [Ethereum Cat Herders - Αναβάθμιση Ethereum Arrow Glacier](https://medium.com/ethereum-cat-herders/ethereum-arrow-glacier-upgrade-e8d20fa4c002)
+
+
+
+
+ - EIP-4345 – καθυστερεί τη "βόμβα δυσκολίας" έως τον Ιούνιο 2022
+
+
+
+
+---
+
+### Altair {#altair}
+
+
+
+#### Σύνοψη {#altair-summary}
+
+Η αναβάθμιση Altair ήταν η πρώτη προγραμματισμένη αναβάθμιση για την [Κύρια Αλυσίδα](/roadmap/beacon-chain). Πρόσθεσε υποστήριξη για τις λεγόμενες «επιτροπές συγχρονισμού», ενεργοποιώντας τη χρήση εφαρμογών ελαφρού πελάτη και αύξησε τις ποινές σε περιπτώσεις κακόβουλων ενεργειών και αδράνειας καθώς η ανάπτυξη προχωρούσε προς τη «Συγχώνευση».
+
+- [Διαβάστε τις προδιαγραφές αναβάθμισης της Altair](https://github.com/ethereum/consensus-specs/tree/dev/specs/altair)
+
+#### Πραγματικό γεγονός! {#altair-fun-fact}
+
+Η Altair ήταν η πρώτη σημαντική αναβάθμιση του δικτύου με ακριβή χρόνο έναρξης. Κάθε προηγούμενη αναβάθμιση είχε βασιστεί σε ένα δηλωμένο αριθμό μπλοκ στην αλυσίδα με απόδειξη εργασία, όπου οι χρόνοι των μπλοκ ποικίλλουν. Η Κύρια Αλυσίδα δεν απαιτεί επίλυση για την απόδειξη εργασίας και λειτουργεί σε ένα σύστημα εποχής βασισμένο σε χρόνο που αποτελείται από 32 «θέσεις» των δώδεκα δευτερολέπτων όπου οι επαληθευτές μπορούν να προτείνουν μπλοκ. Αυτός είναι ο λόγος που γνωρίζαμε ακριβώς πότε θα εφαρμοστεί η εποχή 74,240 και η αναβάθμιση Altair θα γινόταν πραγματικότητα!
+
+- [Χρόνος μπλοκ](/developers/docs/blocks/#block-time)
+
+---
+
+### London {#london}
+
+
+
+#### Περίληψη {#london-summary}
+
+Η αναβάθμιση London εισήγαγε το [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), όπου μεταρρύθμισε την αγορά των τελών συναλλαγής, μαζί με αλλαγές στον τρόπο χειρισμού των επιστροφών των κρατήσεων και τον προγραμματισμό της αναβάθμισης [Ice Age](/glossary/#ice-age).
+
+#### Τι ήταν η αναβάθμιση London / EIP-1559; {#eip-1559}
+
+Πριν την αναβάθμιση London, το Ethereum είχε μπλοκ σταθερού μεγέθους. Σε περιόδους υψηλής ζήτησης του δικτύου, αυτά τα μπλοκ λειτουργούσαν με πλήρη χωρητικότητα. Ως αποτέλεσμα, οι χρήστες συχνά έπρεπε να περιμένουν τη ζήτηση να μειωθεί για να συμπεριληφθούν σε ένα μπλοκ, κάτι το οποίο οδήγησε σε μια κακή εμπειρία χρήστη. Η αναβάθμιση London εισήγαγε μπλοκ μεταβλητού μεγέθους στο Ethereum.
+
+Ο τρόπος υπολογισμού των τελών συναλλαγών στο δίκτυο του Ethereum άλλαξε με [την αναβάθμιση London](/history/#london) τον Αύγουστο 2021. Πριν από την αναβάθμιση London, οι χρεώσεις υπολογίζονταν χωρίς διαχωρισμό των τελών `βασικής` και `προτεραιότητας`, ως εξής:
+
+Ας πούμε ότι η Αλίκη έπρεπε να πληρώσει τον Μπομπ 1 ETH. Σε αυτή τη συναλλαγή, το όριο του καυσίμου είναι 21.000 μονάδες, και η τιμή του είναι 200 gwei.
+
+Τα συνολικά τέλη θα ήταν: `μονάδες Gas (όριο) * Τιμή gas ανά μονάδα` π.χ `21,000 * 200 = 4,200,000 gwei` ή 0.0042 ETH
+
+Η εφαρμογή του [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) στην αναβάθμιση London κατέστησε τον μηχανισμό κρατήσεων των συναλλαγών πιο περίπλοκο, αλλά έκανε τα τέλη πιο προβλέψιμα, με αποτέλεσμα πιο αποτελεσματική αγορά τελών συναλλαγών. Οι χρήστες μπορούν να υποβάλλουν συναλλαγές με `maxFeePerGas` που αντιστοιχεί στο ποσό που είναι διατεθειμένοι να πληρώσουν για την εκτέλεση συναλλαγής, γνωρίζοντας ότι δε θα πληρώσουν περισσότερο από την τιμή αγοράς για το gas (`baseFeePerGas`) και λάβετε επιστροφή χρημάτων, μείον το φιλοδώρημα.
+
+Αυτό το βίντεο εξηγεί το EIP-1559 και τα οφέλη που προσφέρει: [EIP-1559 Επεξήγηση](https://www.youtube.com/watch?v=MGemhK9t44Q)
+
+- [Είστε προγραμματιστής dapp; Φροντίστε να αναβαθμίσετε τις βιβλιοθήκες και τα εργαλεία σας.](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/london-ecosystem-readiness.md)
+- [Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/)
+- [Διαβάστε την ανάλυση των Ethereum Cat Herder](https://medium.com/ethereum-cat-herders/london-upgrade-overview-8eccb0041b41)
+
+
+
+
+
+
+
+---
+
+### Berlin {#berlin}
+
+
+
+#### Σύνοψη {#berlin-summary}
+
+Η αναβάθμιση Berlin βελτιστοποιεί το κόστος κρατήσεων για ορισμένες ενέργειες της EVM και αυξάνει την υποστήριξη πολλαπλών τύπων συναλλαγών.
+
+- [Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/)
+- [Διαβάστε την ανάλυση των Ethereum Cat Herder](https://medium.com/ethereum-cat-herders/the-berlin-upgrade-overview-2f7ad710eb80)
+
+
+
+
+
+
+
+
+
+## 2020 {#2020}
+
+### Η γένεση της κύρια αλυσίδας {#beacon-chain-genesis}
+
+
+
+#### Σύνοψη {#beacon-chain-genesis-summary}
+
+Η [Κύρια Αλυσίδα](/roadmap/beacon-chain/) χρειαζόταν 16384 καταθέσεις των 32 ETH ώστε να ξεκινήσει με ασφάλεια. Αυτό συνέβη στις 27 Νοεμβρίου, όταν δηλαδή η Κύρια Αλυσίδα ξεκίνησε την παραγωγή μπλοκ στις 1 Δεκεμβρίου 2020. Ένα σημαντικό πρώτο βήμα για την επίτευξη του [οράματος του Ethereum](/roadmap/vision/).
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2020/11/27/eth2-quick-update-no-21/)
+
+
+ Η κύρια αλυσίδα
+
+
+---
+
+### Ανάπτυξη του συμβολαίου αποθήκευσης κεφαλαίου {#staking-deposit-contract}
+
+
+
+#### Σύνοψη {#deposit-contract-summary}
+
+Το συμβόλαιο δέσμευσης καταθέσεων εισήγαγε την [αποθήκευση](/glossary/#staking) στο οικοσύστημα του Ethereum. Ένα συμβόλαιο του [Κεντρικού Δικτύου](/glossary/#mainnet), είχε άμεση επίδραση στο χρονοδιάγραμμα έναρξης της [Κύριας Αλυσίδας](/roadmap/beacon-chain/), μια σημαντική [αναβάθμιση του Ethereum](/roadmap/).
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2020/11/04/eth2-quick-update-no-19/)
+
+
+ Αποθήκευση κεφαλαίου
+
+
+---
+
+### Muir Glacier {#muir-glacier}
+
+
+
+#### Σύνοψη {#muir-glacier-summary}
+
+Η ενσωμάτωση Muir Glacier εισήγαγε μια καθυστέρηση στην κρυπτόρυξη, την επονομαζόμενη [βόμβα δυσκολίας](/glossary/#difficulty-bomb). Η αύξηση του βαθμού δυσκολίας του μηχανισμού συναίνεσης με χρήση της [απόδειξης εργασίας](/developers/docs/consensus-mechanisms/pow/), απείλησε να υποβαθμίσει τη χρηστικότητα του Ethereum αυξάνοντας το χρόνο αναμονής για την αποστολή συναλλαγών και τη χρήση των αποκεντρωμένων εφαρμογών.
+
+- [Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2019/12/23/ethereum-muir-glacier-upgrade-announcement/)
+- [Διαβάστε την ανάλυση των Ethereum Cat Herder](https://medium.com/ethereum-cat-herders/ethereum-muir-glacier-upgrade-89b8cea5a210)
+
+
+
+
+ - EIP-2384 – καθυστερεί τη βόμβα δυσκολίας για άλλα 4.000.000 μπλοκ ή ~611 ημέρες.
+
+
+
+
+
+
+## 2019 {#2019}
+
+### Istanbul {#istanbul}
+
+
+
+#### Σύνοψη {#istanbul-summary}
+
+Η ενσωμάτωση Istanbul:
+
+- Βελτιστοποίησε το ύψος των [κρατήσεων](/glossary/#gas) για ορισμένες ενέργειες στο [EVM](/developers/docs/ethereum-stack/#ethereum-virtual-machine).
+- Προηγμένη ανθεκτικότητα σε επίθεση denial-of-service.
+- Καθιέρωσε περισσότερο αποτελεσματικές λύσεις ανάλογα με την [Επεκτασιμότητα επιπέδου 2](/developers/docs/scaling/#layer-2-scaling) βασισμένες στα SNARKs και STARKs.
+- Ενεργοποιημένη διαλειτουργικότητα Ethereum και Zcash.
+- Επιτρέπεται στις συμβάσεις να εισαγάγουν πιο δημιουργικές λειτουργίες.
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/)
+
+
+
+
+ - EIP-152 – επιτρέπει στο Ethereum να λειτουργεί με κρυπτονόμισμα διατήρησης της ιδιωτικότητας όπως το Zcash.
+ - EIP-1108 – φθηνότερη κρυπτογραφία για τη βελτίωση του κόστους κρατήσεων.
+ - EIP-1344 – προστατεύει το Ethereum από επιθέσεις επανάληψης, προσθέτοντας
CHAINID opcode.
+ - EIP-1884 – βελτιστοποίηση των τιμών κρατήσεων opcode με βάση την κατανάλωση.
+ - EIP-2028 – μειώνει το κόστος των CallData για να επιτρέψει περισσότερα δεδομένα σε μπλοκ. Χρήσιμο για την κλιμάκωση Layer 2.
+ - EIP-2200 – λοιπές εναλλακτικές τιμών κρατήσεων opcode.
+
+
+
+
+---
+
+### Κωνσταντινούπολη {#constantinople}
+
+
+
+#### Σύνοψη {#constantinople-summary}
+
+Η ενσωμάτωση Κωνσταντινούπολη:
+
+- Μειώνει την απόδοση [κρυπτόρυξης](/developers/docs/consensus-mechanisms/pow/mining/) μπλοκ από 3 σε 2 ETH.
+- Εξασφάλισε ότι η κρυπτοαλυσίδα δεν πάγωσε πριν από την εφαρμογή της [απόδειξης συμμετοχής](#beacon-chain-genesis).
+- Βελτιστοποίησε το ύψος των [κρατήσεων](/glossary/#gas) για ορισμένες ενέργειες στο [EVM](/developers/docs/ethereum-stack/#ethereum-virtual-machine).
+- Προστέθηκε η δυνατότητα αλληλεπίδρασης με διευθύνσεις που δεν έχουν δημιουργηθεί ακόμα.
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/)
+
+
+
+
+ - EIP-145 – βελτιστοποιεί το κόστος ορισμένων ενεργειών επί της αλυσίδας.
+ - EIP-1014 – επιτρέπει να αλληλεπιδράσετε με διευθύνσεις που δεν έχουν ακόμη δημιουργηθεί.
+ - EIP-1052 – παρουσιάζει την οδηγία
EXTCODEHASH για την ανάκτηση του κατακερματισμού του κωδικού άλλου συμβολαίου.
+ - EIP-1234 – διασφαλίζει τη λειτουργία της κρυπτοαλυσίδα έως την απόδειξη συμμετοχής και μειώνει την απόδοση μπλοκ από 3 σε 2 ETH.
+
+
+
+
+
+
+## 2017 {#2017}
+
+### Βυζάντιο {#byzantium}
+
+
+
+#### Περίληψη {#byzantium-summary}
+
+Η ενσωμάτωση Byzantium:
+
+- Μείωση των ανταμοιβών [κρυπτόρυξης](/developers/docs/consensus-mechanisms/pow/mining/) μπλοκ από 5 σε 3 ΕΤΗ.
+- Καθυστέρηση της [βόμβας δυσκολίας](/glossary/#difficulty-bomb) κατά ένα έτος.
+- Προστέθηκε η δυνατότητα επίκλησης άλλων συμβολαίων χωρίς αλλαγή της κατάστασης.
+- Προστέθηκαν ορισμένες μέθοδοι κρυπτογράφησης που επιτρέπουν την [επεκτασιμότητα του επιπέδου 2](/developers/docs/scaling/#layer-2-scaling).
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/)
+
+
+
+
+ - EIP-140 – προσθήκη
REVERT opcode.
+ - EIP-658 – προστέθηκε το πεδίο κατάστασης στις αποδείξεις συναλλαγής για να εμφανίζει την επιτυχία ή αποτυχία.
+ - EIP-196 – προσθέτει ελλειπτική καμπύλη και πολλαπλασιασμό βαθμιδωτού ρυθμού για να επιτρέψει το ZK-Snarks.
+ - EIP-197 – προσθέτει ελλειπτική καμπύλη και πολλαπλασιασμό βαθμιδωτού ρυθμού για να επιτρέψει το ZK-Snarks.
+ - EIP-198 – επιτρέπει την επαλήθευση υπογραφής RSA.
+ - EIP-211 – προσθέτει υποστήριξη για τιμές επιστροφής μεταβλητού μήκους.
+ - EIP-214 – προσθέτει
STATICCALL opcode, επιτρέποντας κλήσεις που δεν αλλάζουν κατάσταση σε άλλα συμβόλαια.
+ - EIP-100 – αλλάζει τον τύπο προσαρμογής της δυσκολίας.
+ - EIP-649 – καθυστερεί την βόμβας δυσκολίας κατά 1 χρόνο και μειώνει την ανταμοιβή μπλοκ από 5 σε 3 ETH.
+
+
+
+
+
+
+## 2016 {#2016}
+
+### Spurious Dragon {#spurious-dragon}
+
+
+
+#### Σύνοψη {#spurious-dragon-summary}
+
+Η ενσωμάτωση Spurious Dragon ήταν η δεύτερη αντίδραση στην επίθεση που δέχθηκε το δίκτυο με denial of service (DoS) τον Σεπτέμβριο/Οκτώβριο 2016 συμπεριλαμβάνοντας:
+
+- Ρύθμιση της τιμής opcode για την πρόληψη μελλοντικών επιθέσεων στο δίκτυο.
+- Ενεργοποίηση του “debloat” της κατάστασης της κρυπτοαλυσίδας.
+- Προσθήκη προστασίας από επιθέσεις που επαναλαμβάνονται.
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/)
+
+
+
+
+ - EIP-155 – αποτρέπει την αναμετάδοση των συναλλαγών από μια αλυσίδα Ethereum σε μια εναλλακτική αλυσίδα, για παράδειγμα μια συναλλαγή δικτύου δοκιμών που αναπαράγεται στην κύρια αλυσίδα Ethereum.
+ - EIP-160 – προσαρμόζει τις τιμές του opcode
EXP, το οποίο καθιστά πιο δύσκολη την επιβράδυνση του δικτύου μέσω υπολογιστικά δαπανηρών εργασιών συμβολαίου.
+ - EIP-161 – επιτρέπει την αφαίρεση κενών λογαριασμών που προστέθηκαν μέσω επιθέσεων DOS.
+ - EIP-170 – αλλάζει το μέγιστο μέγεθος κώδικα που μπορεί να έχει ένα συμβόλαιο στην κρυπτοαλυσίδα, σε 24576 bytes.
+
+
+
+
+---
+
+### Tangerine whistle {#tangerine-whistle}
+
+
+
+#### Περίληψη {#tangerine-whistle-summary}
+
+Η ενσωμάτωση Tangerine Whistle ήταν η πρώτη αντίδραση στην επίθεση που δέχθηκε το δίκτυο με denial of service (DoS) (Σεπτέμβριο/Οκτώβριο 2016) συμπεριλαμβάνοντας:
+
+- Αντιμετώπιση επειγόντων ζητημάτων υγείας του δικτύου που αφορούν χαμηλούς κώδικες λειτουργίας.
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2016/10/18/faq-upcoming-ethereum-hard-fork/)
+
+
+
+
+ - EIP-150 – αυξάνει το κόστος κρατήσεων των opcodes που μπορούν να χρησιμοποιηθούν σε επιθέσεις spam.
+ - EIP-158 – μειώνει το μέγεθος της κατάστασης αφαιρώντας ένα μεγάλο αριθμό κενών λογαριασμών, που τοποθετήθηκαν με πολύ χαμηλό κόστος λόγω ελαττωμάτων σε προηγούμενες εκδόσεις του πρωτοκόλλου Ethereum.
+
+
+
+
+---
+
+### Η ενσωμάτωση DAO {#dao-fork}
+
+
+
+#### Σύνοψη {#dao-fork-summary}
+
+Η ενσωμάτωση DAO ήταν η απάντηση στην [επίθεση DAO το 2016](https://www.coindesk.com/learn/understanding-the-dao-attack/), όπου ένα επισφαλές συμβόλαιο [DAO](/glossary/#dao) είχε εξαντληθεί σε πάνω από 3.6 εκατομμύρια ETH σε μια επίθεση. Η ενσωμάτωση μετέφερε τα κεφάλαια από το ελαττωματικό συμβόλαιο σε ένα [νέο συμβόλαιο](https://etherscan.io/address/0xbf4ed7b27f1d666546e30d74d50d173d20bca754) με την απλή λειτουργία: ανάληψη. Όσοι έχασαν χρήματα θα μπορούσαν να αποσύρουν 1 ETH για κάθε 100 DAO στο πορτοφόλι τους.
+
+Αυτός ο τρόπος αντιμετώπισης ψηφίστηκε από την κοινότητα του Ethereum. Κάθε κάτοχος ETH ήταν σε θέση να ψηφίσει μέσω μιας συναλλαγής στη [πλατφόρμα ψηφοφορίας](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/). Η απόφαση για την εφαρμογή της ενσωμάτωσης έφτασε πάνω από το 85% των ψήφων.
+
+Μερικοί κρυπτορύχοι αρνήθηκαν να εφαρμόσουν την ενσωμάτωση επειδή το συμβάν DAO δεν ήταν ένα ελάττωμα στο πρωτόκολλο. Συνέχισαν με την υλοποίηση του [Ethereum Classic](https://ethereumclassic.org/).
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2016/07/20/hard-fork-completed/)
+
+---
+
+### Homestead {#homestead}
+
+
+
+#### Σύνοψη {#homestead-summary}
+
+Η ενσωμάτωση Homestead με βλέμμα στο μέλλον. Περιλαμβάνει διάφορες αλλαγές πρωτοκόλλου και δικτύου δίνοντας τη δυνατότητα στο Ethereum να πραγματοποιήσει επιπλέον αναβαθμίσεις.
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2016/02/29/homestead-release/)
+
+
+
+
+
+
+
+
+
+## 2015 {#2015}
+
+### Frontier thawing {#frontier-thawing}
+
+
+
+#### Σύνοψη {#frontier-thawing-summary}
+
+Η ενσωμάτωση Frontier thawing άλλαξε το όριο των 5,000 [κρατήσεων](/glossary/#gas) ανά [μπλοκ](/glossary/#block) και εφάρμοσε την προεπιλεγμένη τιμή κρατήσεων σε 51 [gwei](/glossary/#gwei). Αυτό επιτρέπεται για συναλλαγές – οι συναλλαγές απαιτούν αέριο 21,000. Η [βόμβα δυσκολίας](/glossary/#difficulty-bomb) εισήχθη για να εξασφαλίσει μια μελλοντική ενσωμάτωση, την [Απόδειξη συμμετοχής](/glossary/#pos).
+
+- [Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2015/08/04/the-thawing-frontier/)
+- [Διαβάστε την αναβάθμιση 1 του πρωτοκόλλου Ethereum](https://blog.ethereum.org/2015/08/04/ethereum-protocol-update-1/)
+
+---
+
+### Frontier {#frontier}
+
+
+
+#### Σύνοψη {#frontier-summary}
+
+Η ενσωμάτωση Frontier εφαρμόστηκε αλλά ήταν ένας λιτός τρόπος υλοποίησης του έργου Ethereum. Ακολούθησε η επιτυχημένη φάση των Ολυμπιακών δοκιμών. Προορίζονταν για χρήστες με τεχνικές γνώσεις, ειδικά για προγραμματιστές. [Τα μπλοκ](/glossary/#block) είχαν όριο [κρατήσεων](/glossary/#gas) τις 5,000. Η περίοδος «thawing» επέτρεψε στους κρυπτορύχους να ξεκινήσουν τις δραστηριότητές τους και για τους πρώτους που θα εγκαταστήσουν την εφαρμογή πελάτη τους χωρίς να χρειάζεται να ‘βιαστούν’.
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/)
+
+
+
+## 2014 {#2014}
+
+### Πώληση Ether {#ether-sale}
+
+
+
+Το Ether κυκλοφορεί επίσημα προς πώληση για 42 ημέρες. Μπορείτε να το αγοράσετε με BTC.
+
+[Διαβάστε την ανακοίνωση του Ιδρύματος Ethereum](https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/)
+
+---
+
+### Ανακοίνωση των τεχνικών λεπτομερειών {#yellowpaper}
+
+
+
+Ο Dr. Gavin Wood, συντάσσει και ανακοινώνει τους τεχνικούς όρους του πρωτοκόλλου του Ethereum.
+
+[Δείτε τις τεχνικές πληροφορίες](https://github.com/ethereum/yellowpaper)
+
+
+
+## 2013 {#2013}
+
+### Ανακοίνωση καταστατικού {#whitepaper}
+
+
+
+Η εισαγωγική έκθεση που δημοσιεύθηκε το 2013 από τον Vitalik Buterin, ιδρυτή του Ethereum, πριν από την έναρξη του έργου το 2015.
+
+
+ Καταστατικό
+
diff --git a/public/content/translations/el/how-to-create-an-ethereum-account/index.md b/public/content/translations/el/how-to-create-an-ethereum-account/index.md
new file mode 100644
index 00000000000..dc3db507fb0
--- /dev/null
+++ b/public/content/translations/el/how-to-create-an-ethereum-account/index.md
@@ -0,0 +1,73 @@
+---
+title: Πώς να «δημιουργήσετε» λογαριασμό Ethereum
+description: Ένας αναλυτικός οδηγός δημιουργίας λογαριασμού Ethereum με τη χρήση πορτοφολιού.
+lang: el
+---
+
+# Πώς να «δημιουργήσετε» λογαριασμό Ethereum
+
+**Όλοι μπορούν να δημιουργήσουν δωρεάν έναν λογαριασμό Ethereum**. Το μόνο που χρειάζεται να εγκαταστήσετε είναι μία εφαρμογή πορτοφολιού κρυπτονομισμάτων. Τα πορτοφόλια χρησιμοποιούνται για τη δημιουργία και τη διαχείριση του λογαριασμού σας στο Ethereum. Με αυτά μπορείτε να πραγματοποιείτε συναλλαγές, να ελέγχετε το υπόλοιπό σας και να συνδέεστε με εφαρμογές που αναπτύχθηκαν στο Ethereum.
+
+Με το πορτοφόλι μπορείτε επίσης να συνδέεστε αμέσως με οποιοδήποτε ανταλλακτήριο κρυπτονομισμάτων, παιχνίδι ή αγορά [NFT](/glossary/#nft). Δε χρειάζεται ξεχωριστή εγγραφή, ο λογαριασμός είναι κοινός για όλες τις εφαρμογές που έχουν δημιουργηθεί στο Ethereum.
+
+## Βήμα 1: Επιλογή πορτοφολιού
+
+Το πορτοφόλι είναι μια εφαρμογή που σας βοηθά να διαχειριστείτε τον λογαριασμό σας Ethereum. Υπάρχουν δεκάδες διαφορετικές εφαρμογές πορτοφολιού για να διαλέξετε: για κινητή συσκευή, για ηλεκτρονικό υπολογιστή ή ακόμα και επεκτάσεις για εφαρμογές περιήγησης.
+
+
+
+ Λίστα πορτοφολιών
+
+
+Εάν είστε νέος/α, μπορείτε να επιλέξετε το φίλτρο «Νέος/α στα κρυπτονομίσματα» στη σελίδα «εύρεση πορτοφολιού» για να προσδιορίσετε πορτοφόλια που θα περιλαμβάνουν τις απαραίτητες λειτουργίες για αρχάριους.
+
+
+
+Υπάρχουν και άλλα φίλτρα προφίλ για να καλύψετε τις ανάγκες σας. Αυτά είναι παραδείγματα πορτοφολιών που χρησιμοποιούνται συνήθως. Θα πρέπει να κάνετε τη δική σας έρευνα πριν εμπιστευτείτε οποιοδήποτε λογισμικό.
+
+## Βήμα 2: Λήψη και εγκατάσταση εφαρμογής πορτοφολιού
+
+Μόλις αποφασίσετε για ένα συγκεκριμένο πορτοφόλι, επισκεφθείτε την επίσημη ιστοσελίδα ή το κατάστημα εφαρμογών, κατεβάστε και εγκαταστήστε το. Όλοι τους πρέπει να είναι δωρεάν.
+
+## Βήμα 3: Άνοιγμα της εφαρμογής και δημιουργία λογαριασμού Ethereum
+
+Την πρώτη φορά που ανοίγετε το νέο σας πορτοφόλι μπορεί να ζητηθεί να επιλέξετε μεταξύ της δημιουργίας νέου λογαριασμού ή εισαγωγής ενός υπάρχοντος. Κάντε κλικ στο δημιουργία νέου λογαριασμού. **Αυτό είναι το βήμα κατά το οποίο το λογισμικό πορτοφολιού δημιουργεί τον λογαριασμό σας στο Ethereum.**
+
+## Βήμα 4: Αποθήκευση των λέξεων επαναφοράς
+
+Ορισμένες εφαρμογές θα σας ζητήσουν να αποθηκεύσετε τη μυστική «φράση επαναφοράς» (μερικές φορές λέγεται «φράση σπόρου» ή «μνημονικό»). Είναι εξαιρετικά σημαντικό η φράση αυτή να διατηρείται σε ασφαλές μέρος! Χρησιμοποιείται για τη δημιουργία ενός λογαριασμού Ethereum και μπορεί να χρησιμοποιηθεί για την εκτέλεση συναλλαγών.
+
+**Οποιοσδήποτε γνωρίζει τη μυστική φράση μπορεί να αναλάβει τον έλεγχο όλων των κεφαλαίων.** Μην την κοινοποιείτε σε άλλους. Αυτή η φράση πρέπει να περιέχει από 12 έως 24 λέξεις που δημιουργούνται τυχαία (η σειρά των λέξεων είναι σημαντική).
+
+
+
+ Εγκαταστήσατε εφαρμογή πορτοφολιού;
Μάθετε πώς να τη χρησιμοποιείτε.
+
+ Πώς να χρησιμοποιήσετε ένα πορτοφόλι
+
+
+
+
+Ενδιαφέρεστε και για άλλους οδηγούς; Δείτε το: [Αναλυτικοί οδηγοί](/guides/)
+
+## Συχνές ερωτήσεις
+
+### Το πορτοφόλι και ο λογαριασμός μου Ethereum το ίδιο;
+
+Όχι. Το πορτοφόλι είναι ένα εργαλείο διαχείρισης που σας βοηθά να διαχειρίζεστε λογαριασμούς. Ένα μόνο πορτοφόλι μπορεί να παρέχει πρόσβαση σε πολλούς λογαριασμούς και ένας μεμονωμένος λογαριασμός μπορεί να είναι προσβάσιμος από πολλά πορτοφόλια. Η φράση επαναφοράς χρησιμοποιείται για τη δημιουργία λογαριασμών και την παροχή άδειας στην εφαρμογή πορτοφολιού να διαχειρίζεται περιουσιακά στοιχεία.
+
+### Μπορώ να στείλω bitcoin σε μια διεύθυνση Ethereum ή ether σε μια διεύθυνση Bitcoin;
+
+Όχι, δεν μπορείτε. Το Bitcoin και το Ether υπάρχουν σε δύο ξεχωριστά δίκτυα (δηλ. διαφορετικές αλυσίδες συστοιχιών), το καθένα με τις δικές του δομές λογιστικής και διευθύνσεων. Έχουν γίνει διάφορες προσπάθειες γεφύρωσης των δύο διαφορετικών δικτύων, εκ των οποίων το πιο δραστήριο είναι αυτή τη στιγμή είναι το [Wrapped Bitcoin ή WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/). Δεν πρόκειται για εσωτερική αποδοχή, αλλά ως WBTC είναι μια προσωρινή λύση (που σημαίνει ότι μια απλή ομάδα ατόμων ελέγχει ορισμένες κρίσιμες λειτουργίες) και αναφέρεται εδώ μόνο για ενημερωτικό σκοπό.
+
+### Αν έχω μια διεύθυνση ETH, μπορώ να έχω την ίδια διεύθυνση σε άλλες κρυπτοαλυσίδες;
+
+Μπορείτε να χρησιμοποιήσετε την ίδια [διεύθυνση](/glossary/#address) σε όλες τις κρυπτοαλυσίδες που χρησιμοποιούν παρόμοιο λογισμικό με το Ethereum (γνωστό ως «EVM-compatible»). Αυτή η [λίστα](https://chainlist.org/) θα σας δείξει ποιες κρυπτοαλυσίδες μπορείτε να χρησιμοποιήσετε με την ίδια διεύθυνση. Μερικά κρυπτοαλυσίδες, όπως το Bitcoin, εφαρμόζουν ένα εντελώς ξεχωριστό σύνολο κανόνων δικτύου και θα χρειαστείτε μια διαφορετική διεύθυνση με διαφορετική μορφή. Εάν έχετε ένα πορτοφόλι έξυπνου συμβολαίου, θα πρέπει να ελέγξετε την ιστοσελίδα προϊόντων του για περισσότερες πληροφορίες σχετικά με τις κρυπτοαλυσίδες που υποστηρίζονται, επειδή συνήθως υπάρχουν περιορισμοί αλλά πιο ασφαλές πεδίο εφαρμογής.
+
+### Το κεφάλαιό μου είναι ασφαλέστερο στο πορτοφόλι μου από ότι σε ένα ανταλλακτήριο;
+
+Το να έχετε το δικό σας πορτοφόλι σημαίνει ότι αναλαμβάνετε την ευθύνη για την ασφάλεια των περιουσιακών σας στοιχείων. Υπάρχουν δυστυχώς πολλά παραδείγματα αποτυχημένων ανταλλαγών που έχασαν τα χρήματα των πελατών τους. Η κατοχή ενός πορτοφολιού (με μια φράση επαναφοράς) αφαιρεί τον κίνδυνο που σχετίζεται με την εμπιστοσύνη σε κάποια οντότητα για τη διατήρηση των περιουσιακών σας στοιχείων. Ωστόσο, πρέπει να κρατήσετε ασφαλή τα δικά σας κλειδιά και να αποφύγετε απάτες ηλεκτρονικού ψαρέματος, την κατά λάθος έγκριση συναλλαγών ή την αποκάλυψη των λέξεων, την αλληλεπίδραση με ψεύτικους ιστότοπους και άλλους κινδύνους. Οι κίνδυνοι και τα οφέλη είναι διαφορετικά.
+
+### Αν χάσω το πορτοφόλι μου τηλέφωνο/υλικό, πρέπει να χρησιμοποιήσω την ίδια εφαρμογή πορτοφολιού και πάλι για να ανακτήσω τα χαμένα κεφάλαια μου;
+
+Όχι, μπορείτε να χρησιμοποιήσετε διαφορετικό πορτοφόλι. Εφόσον έχετε τη φράση ασφαλείας, μπορείτε να την εισαγάγετε στα περισσότερα πορτοφόλια και θα επαναφέρουν τον λογαριασμό σας. Να είστε προσεκτικοί αν χρειαστεί ποτέ να το κάνετε αυτό: είναι καλύτερο να βεβαιωθείτε ότι δεν είστε συνδεδεμένοι στο διαδίκτυο κατά την ανάκτηση του πορτοφολιού σας, έτσι ώστε η φράση ασφαλείας σας δε θα διαρρεύσει κατά λάθος. Είναι συχνά αδύνατο να ανακτηθούν τα χαμένα κεφάλαια χωρίς τη φράση ανάκτησης.
diff --git a/public/content/translations/el/learn/index.md b/public/content/translations/el/learn/index.md
index 8ddf23983da..248a532ca2c 100644
--- a/public/content/translations/el/learn/index.md
+++ b/public/content/translations/el/learn/index.md
@@ -5,7 +5,7 @@ lang: el
# Μάθετε για το Ethereum {#learn-about-ethereum}
-**Καλώς ήρθατε στο [ethereum.org/el/learn](/el/learn/), μια συλλογή πληροφοριών που θα σας βοηθήσουν να μάθετε περισσότερα για το Ethereum.** Αυτή η σελίδα περιλαμβάνει τεχνικά και μη τεχνικά άρθρα, οδηγούς και άλλα βοηθήματα. Εάν είστε εντελώς καινούργιοι στο Ethereum, [προτείνουμε να ξεκινήσετε εδώ](/el/what-is-ethereum/).
+**Καλώς ήρθατε στο [ethereum.org/el/learn](/learn/), μια συλλογή πληροφοριών που θα σας βοηθήσουν να μάθετε περισσότερα για το Ethereum.** Αυτή η σελίδα περιλαμβάνει τεχνικά και μη τεχνικά άρθρα, οδηγούς και άλλα βοηθήματα. Εάν είστε εντελώς καινούργιοι στο Ethereum, [προτείνουμε να ξεκινήσετε εδώ](/what-is-ethereum/).
Ακολουθούν μερικά εξαιρετικά κείμενα:
@@ -46,7 +46,7 @@ lang: el
Ένα "smart contract" είναι απλά ένα κομμάτι κώδικα που τρέχει στο Ethereum. Ονομάζεται "contract" επειδή ο κώδικας που τρέχει σε Ethereum μπορεί να ελέγξει πολύτιμα πράγματα όπως το ETH ή άλλα ψηφιακά στοιχεία.
-- Θέλετε να μάθετε πώς να προγραμματίζετε στο Ethereum με smart contracts; [ethereum.org/el/developers](/el/developers/)
+- Θέλετε να μάθετε πώς να προγραμματίζετε στο Ethereum με smart contracts; [ethereum.org/el/developers](/developers/)
## Απόδειξη της Εργασίας ("proof-of-work") και Εξόρυξη ("Mining") {#proof-of-work-and-mining}
@@ -58,7 +58,7 @@ lang: el
Το δίκτυο του Ethereum αποτελείται από πολλούς κόμβους, καθένας εκ των οποίων διαθέτει συμβατό λογισμικό πελάτη. Υπάρχουν δύο πελάτες που χρησιμοποιούνται από την πλειονότητα των κόμβων: [Geth](https://geth.ethereum.org/) (γραμμένος σε Go) και [Parity](https://www.parity.io/ethereum/) (γραμμένος σε Rust).
-- Θέλετε να μάθετε πώς να τρέχετε έναν δικό σας κόμβο; → [ethereum.org/el/developers](/el/developers/#clients--running-your-own-node/)
+- Θέλετε να μάθετε πώς να τρέχετε έναν δικό σας κόμβο; → [ethereum.org/el/developers](/developers/#clients--running-your-own-node/)
- [Πλήρης κατάλογος όλων των πελατών του Ethereum](https://github.com/ConsenSys/ethereum-developer-tools-list#ethereum-clients)
## Βελτίωση της κλιμάκωσης του Ethereum {#improving-ethereums-scalability}
@@ -91,7 +91,7 @@ lang: el
Το ETH 2.0 (επίσης γνωστό και ως "Serenity") αναφέρεται στην επόμενη σημαντική αναβάθμιση του βασικού πρωτοκόλλου του Ethereum. Συνδυάζει αρκετές βελτιώσεις στο βασικό πρωτόκολλο του Ethereum ("Layer 1").
-- [8 Teams Are Sprinting to Build the Next Generation of Ethereum](https://www.coindesk.com/next-gen-buidlers-the-8-teams-working-on-ethereum-2-0) _Dec 9, 2018 - Christine Kim_
+- [8 Teams Are Sprinting to Build the Next Generation of Ethereum](https://www.coindesk.com/markets/2018/12/09/8-teams-are-sprinting-to-build-the-next-generation-of-ethereum) _Dec 9, 2018 - Christine Kim_
- [ETH 2.0 - The Road to Scaling Ethereum - Vitalik Buterin](https://youtu.be/kCVpDrlVesA) _(Video) November, 2018 - YouTube_
## ETH 1.x {#execution-layer-upgrades}
diff --git a/public/content/translations/el/nft/index.md b/public/content/translations/el/nft/index.md
index a2581c5eaf8..4d32f0a0904 100644
--- a/public/content/translations/el/nft/index.md
+++ b/public/content/translations/el/nft/index.md
@@ -1,5 +1,6 @@
---
title: Μη Εναλλάξιμα Κρυπτοπαραστατικά (NFT)
+metaTitle: Τι είναι τα NFT; | Πλεονεκτήματα και χρήση
description: Μια επισκόπηση των NFT στο Ethereum
lang: el
template: use-cases
@@ -56,7 +57,7 @@ summaryPoint3: Υποστηρίζονται από έξυπνα συμβόλαι
Εξερευνήστε, αγοράστε ή δημιουργήστε το δικό σας NFT τέχνη/συλλεκτικά...
-
+
Εξερευνήστε NFT τέχνης
diff --git a/public/content/translations/el/payments/index.md b/public/content/translations/el/payments/index.md
new file mode 100644
index 00000000000..a6a1f2de40f
--- /dev/null
+++ b/public/content/translations/el/payments/index.md
@@ -0,0 +1,155 @@
+---
+title: Πληρωμές Ethereum
+metaTitle: Πληρωμές στο Ethereum
+description: Μια επισκόπηση πληρωμών στο Ethereum
+lang: el
+template: use-cases
+emoji: ":frame_with_picture:"
+sidebarDepth: 2
+image: /images/impact_transparent.png
+alt: Ένα λογότυπο Eth που εμφανίζεται μαζί με ανοιχτά χέρια.
+summaryPoint1: Ένας κόσμος όπου τα χρήματα κινούνται τόσο ελεύθερα όσο και οι πληροφορίες
+summaryPoint2: Ανοιχτό και παγκόσμιο, επιτρέποντας συναλλαγές δίχως σύνορα για όλους
+summaryPoint3: Πληρωμές που λήφθηκαν μέσα σ' ένα λεπτό
+---
+
+Καθημερινά, εκατομμύρια άνθρωποι αντιμετωπίζουν την ίδια πρόκληση: Η μεταφορά χρημάτων πέρα από τα σύνορα της χώρας τους είναι αργή, δαπανηρή και συχνά απογοητευτική. Ένας ελεύθερος επαγγελματίας στο Μπαλί περιμένει μέρες για να εκκαθαριστεί μια πληρωμή από τον πελάτη του στη Νέα Υόρκη. Αυτό επηρεάζει ιδιαίτερα τους ανθρώπους σε περιοχές με περιορισμένη τραπεζική υποδομή, καθιστώντας δύσκολη τη συμμετοχή στην παγκόσμια οικονομία.
+
+Αυτό δεν είναι ένα μακρινό όνειρο – συμβαίνει σήμερα στο Ethereum. Ενώ τα παραδοσιακά χρηματοπιστωτικά ιδρύματα έχουν δημιουργήσει ισχυρά συστήματα πληρωμών εδώ και δεκαετίες, συχνά παραμένουν περιορισμένα εντός συνόρων της χώρας, τις ώρες εργασίας και παλαιών υποδομών. Το Ethereum προσφέρει ένα νέο παράδειγμα: Μια παγκόσμια διαθέσιμη 24/7 χρηματοπιστωτική πλατφόρμα που επιτρέπει σχεδόν άμεσες, προγραμματιζόμενες συναλλαγές για οποιονδήποτε έχει πρόσβαση στο διαδίκτυο.
+
+
+
+
+
+
+
+## Εμβάσματα: φθηνότερες διεθνείς μεταφορές {#remittances}
+
+Για εκατομμύρια ανθρώπους που εργάζονται στο εξωτερικό, η αποστολή χρημάτων στην πατρίδα τους είναι μια τακτική ανάγκη. Οι παραδοσιακές υπηρεσίες εμβασμάτων συχνά συνοδεύονται από υψηλές χρεώσεις και αργούς χρόνους διεκπεραίωσης. Το Ethereum προσφέρει μια συναρπαστική εναλλακτική λύση.
+
+
+
+
+
+
+
+## Πρόσβαση σε Παγκόσμια Νομίσματα {#access-to-global-currencies}
+
+Σε πολλές χώρες, ο πληθωρισμός είναι ένα πιεστικό ζήτημα, που συχνά συνοδεύεται από περιορισμένη πρόσβαση σε ξένα νομίσματα. Οι άνθρωποι σε αυτές τις καταστάσεις αγωνίζονται να διατηρήσουν τον πλούτο τους καθώς αναγκάζονται να κατέχουν αποταμιεύσεις που υποτιμούνται γρήγορα.
+
+Η κοινότητα του Ethereum έχει δημιουργήσει ένα ισχυρό εναλλακτικό χρηματοπιστωτικό σύστημα που είναι ανεξάρτητο από τις νομισματικές πολιτικές ή τον έλεγχο οποιουδήποτε έθνους.
+
+Οι χρήστες του Ethereum μπορούν να χρησιμοποιούν **κρύπτο σταθερής αξίας που συνήθως συνδέονται με ισχυρά νομίσματα όπως το Δολάριο ΗΠΑ**. Κερδίζοντας και αποταμιεύοντας σε κρυπτονομίσματα, οι άνθρωποι μπορούν να προστατευτούν από τον υψηλό πληθωρισμό στη χώρα τους, βοηθώντας στη διατήρηση ή ακόμα και στην αύξηση της αγοραστικής τους δύναμης. Αυτό διευκολύνει επίσης τις πληρωμές για αγαθά και υπηρεσίες, τόσο σε τοπικό όσο και σε παγκόσμιο επίπεδο.
+
+
+ Περισσότερα για κρύπτο σταθερής αξίας
+
+
+## Αγορά Αγαθών και Πληρωμή για Υπηρεσίες {#buying-goods-and-payment-for-services}
+
+Πολλές επιχειρήσεις αρχίζουν να δέχονται ether (ETH) και άλλα κρυπτονομίσματα ως πληρωμή. Για παράδειγμα:
+
+- **Newegg:** Ο δημοφιλής λιανοπωλητής ηλεκτρονικών ειδών δέχεται Ethereum για αγορές σε επιλεγμένες χώρες.
+- **Travala.com:** Η πλατφόρμα κρατήσεων ταξιδιών επιτρέπει στους χρήστες να πληρώνουν για ξενοδοχεία και πτήσεις χρησιμοποιώντας Ethereum.
+- **Shopify:** Η δημοφιλής πλατφόρμα ηλεκτρονικού εμπορίου που χρησιμεύει ως πλατφόρμα για τη φιλοξενία επιχειρήσεων δέχεται επίσης πληρωμές για αγαθά και υπηρεσίες χρησιμοποιώντας Ethereum.
+- **Sotheby's:** Ο οργανισμός που εμπορεύεται έργα τέχνης, κοσμήματα και συλλεκτικά αντικείμενα και επιτρέπει πληρωμές με Ethereum και άλλα κρυπτονομίσματα.
+
+Χώρες όπως το Ελ Σαλβαδόρ και η Κεντροαφρικανική Δημοκρατία έχουν ακόμη υιοθετήσει τα κρυπτονομίσματα ως νόμιμο χρήμα, ανοίγοντας το δρόμο για ευρύτερη αποδοχή των πληρωμών Ethereum στις καθημερινές συναλλαγές.
+
+Σε χώρες όπου τα μέσα πληρωμής έχουν αποκοπεί από τον υπόλοιπο κόσμο, οι λύσεις πληρωμών που ενσωματώνουν κρυπτονομίσματα παρείχαν μεγάλη ανακούφιση. Οι πληρωμές συνδρομών για πλατφόρμες όπως το Netflix, το Spotify και εκπαιδευτικά μαθήματα έχουν πλέον διευκολυνθεί μέσω πλατφορμών πληρωμών κρυπτονομισμάτων όπως οι Gnosis Pay και Paypal.
+
+
+ Δημιουργήστε τον λογαριασμό σας Ethereum με μια εφαρμογή πορτοφολιού σήμερα.
+
+ Ξεκινήστε
+
+
+
+## Πληρωμές Μισθών {#salary-payments}
+
+Πολλές εταιρείες με προοδευτική σκέψη προσφέρουν πλέον στους εργαζομένους την επιλογή να λαμβάνουν τους μισθούς τους, ή ένα μέρος αυτών, σε κρυπτονομίσματα όπως το ether (ETH):
+
+- **Gipsybee:** είναι ένας οργανισμός που ασχολείται με ηλεκτρονικά είδη, ρομποτική, δημιουργία παιχνιδιών και άλλες υπηρεσίες. Δίνουν στους εργαζομένους την επιλογή να πληρώνονται σε Ethereum.
+- **SC5:** Αυτή η φινλανδική εταιρεία ήταν μια από τις πρώτες που προσέφερε μισθούς σε Bitcoin, ανοίγοντας το δρόμο για παρόμοιες ρυθμίσεις με το Ethereum.
+- **Blockchain startups:** Πολλές εταιρείες στον χώρο του blockchain προσφέρουν φυσικά επιλογές μισθού σε κρυπτονομίσματα στους υπαλλήλους τους.
+- **DAOs:** Λόγω της ιδιαιτερότητας και της ποικιλομορφίας των συνεισφερόντων στα DAO, οι περισσότερες συνεισφορές και οι μισθοί ανταμείβονται σε κρυπτονομίσματα.
+
+Αυτή η τάση απευθύνεται ιδιαίτερα σε εργαζομένους που δουλεύουν απομακρυσμένα και ψηφιακούς νομάδες που μπορούν να επωφεληθούν από διασυνοριακές πληρωμές και δυνητικά ευνοϊκές συναλλαγματικές ισοτιμίες.
+
+
+
+## Παγκόσμιες προσπάθειες ανακούφισης {#global-relief-efforts}
+
+Τον Φεβρουάριο του 2023, όταν καταστροφικοί σεισμοί έπληξαν την Τουρκία και τη Συρία, η παγκόσμια κοινότητα κρυπτονομισμάτων κινητοποιήθηκε. Διάφορες καμπάνιες ξεκίνησαν για τη συγκέντρωση κεφαλαίων για τις προσπάθειες ανακούφισης, αναδεικνύοντας τη δύναμη του Ethereum σε περιόδους κρίσης. Παρά το γεγονός ότι τα κρυπτονομίσματα [δεν αποτελούν αναγνωρισμένη μορφή](https://www.reuters.com/technology/no-more-kebabs-bitcoins-turkeys-crypto-payment-ban-looms-2021-04-28/) πληρωμής στην Τουρκία, οι αρχές έκαναν [εξαιρέσεις](https://x.com/haluklevent/status/1622913175409623041) για ορισμένους οργανισμούς ώστε να συλλέγουν δωρεές. Μερικά παραδείγματα είναι:
+
+- Ο [Refik Anadol](https://x.com/refikanadol/status/1622623521104089090): είναι ένας διάσημος ψηφιακός καλλιτέχνης που ξεκίνησε μια εκστρατεία συγκέντρωσης χρημάτων.
+- DAO Power: Οι [Anka Relief DAO](https://ankarelief.org/) και [Bankless DAO](https://x.com/banklessDAO) ένωσαν τις δυνάμεις τους με την [Giveth](https://x.com/Giveth/status/1623493672149843969) για τη συγκέντρωση κεφαλαίων.
+- Ο [Pak](https://cause.quest/), ένας διακεκριμένος καλλιτέχνης NFT, συνέβαλε επίσης στην υπόθεση.
+- Ακόμη και ο συνιδρυτής του Ethereum, [Vitalik Buterin](https://cointelegraph.com/news/vitalik-buterin-donates-227k-to-help-earthquake-victims-in-turkey-syria), έκανε προσωπικές δωρεές σε πολλές καμπάνιες.
+ Το αποτέλεσμα από αυτό; Πάνω από 6 εκατομμύρια δολάρια συγκεντρώθηκαν μέσα σε λίγες ημέρες, όπως καταγράφηκε από έναν πίνακα ελέγχου της [Dune](https://dune.com/davy42/turkiye-earthquake-donations) Analytics.
+
+Υπήρξαν επίσης παρόμοιοι χρόνοι ανταπόκρισης για τραγωδίες που συνέβησαν στην Ινδία και την Ουκρανία. Αυτή η ταχεία ανταπόκριση υπογραμμίζει ένα κρίσιμο πλεονέκτημα των πληρωμών Ethereum, το οποίο είναι η ικανότητα ταχείας κινητοποίησης παγκόσμιας υποστήριξης χωρίς τα εμπόδια της μετατροπής νομισμάτων, των χρονοβόρων τραπεζικών εμβασμάτων ή των υπέρογκων χρεώσεων.
+
+
+
+
+
+
+
+## Ethereum εναντίον fiat {#ethereum-vs-fiat}
+
+Για να εκτιμήσουμε πραγματικά τον αντίκτυπο των πληρωμών Ethereum, αξίζει να τις συγκρίνουμε με τα παραδοσιακά νομίσματα fiat:
+
+| | **Ethereum** | **Παραδοσιακές τράπεζες** |
+| ------------------------------ | -------------------------------------- | ----------------------------------------------------------------- |
+| **Ταχύτητα** | Δευτερόλεπτα έως λεπτά | Ώρες με ημέρες |
+| **Παγκόσμια πρόσβαση** | Χωρίς σύνορα, 24/7 | Υπόκεινται σε διεθνείς τραπεζικούς περιορισμούς και ώρες εργασίας |
+| **Διαφάνεια** | Πλήρη διαφάνεια | Διαφέρει ανάλογα το ίδρυμα |
+| **Δυνατότητα προγραμματισμού** | Ενεργοποιημένα έξυπνα συμβόλαια | Περιορίζεται στις βασικές συναλλαγές |
+| **Έλεγχος πληθωρισμού** | Προβλεπόμενη έκδοση | Υπόκειται στις πολιτικές της κεντρικής τράπεζας |
+| **Προσβασιμότητα** | Οποιοσδήποτε με πρόσβαση στο διαδίκτυο | Υπόκειται σε εθνικούς και διεθνείς περιορισμούς |
+
+Στην καρδιά του, το Ethereum είναι μια αποκεντρωμένη πλατφόρμα που επιτρέπει ασφαλείς, γρήγορες και διαφανείς συναλλαγές. Ωστόσο, πολλά στοιχεία το ξεχωρίζουν από τις παραδοσιακές μεθόδους πληρωμής. Ας εξερευνήσουμε τα πλεονεκτήματα που καθιστούν τις πληρωμές Ethereum επαναστατικές:
+
+### Δυνατότητα προγραμματισμού {#programmability}
+
+Ένα από τα μοναδικά χαρακτηριστικά του Ethereum είναι η ικανότητά του να υποστηρίζει έξυπνα συμβόλαια. Τα έξυπνα συμβόλαια είναι αυτοεκτελούμενες συμφωνίες με τους όρους γραμμένους απευθείας στον κώδικα. Αυτό ανοίγει έναν κόσμο δυνατοτήτων για αυτοματοποιημένες πληρωμές βάσει όρων που μπορούν να βελτιώσουν σημαντικά συναλλαγές όπως:
+
+- Υπηρεσίες εγγύησης
+- Επαναλαμβανόμενες πληρωμές
+- Αντισταθμίσεις βάσει απόδοσης
+
+### Ταχύτητα {#speed}
+
+Θυμάστε την τελευταία φορά που περιμένατε ημέρες για να εκκαθαριστεί μια διεθνής τραπεζική μεταφορά; Η μεγάλη αναμονή; Και τις πολλαπλές φόρμες που έπρεπε να συμπληρώσετε; Με το Ethereum, αυτές οι μέρες έχουν περάσει προ πολλού. Οι συναλλαγές στο δίκτυο Ethereum διεκπεραιώνονται σε λίγα λεπτά, ανεξάρτητα από το πού βρίσκονται ο αποστολέας και ο παραλήπτης. Λόγω του ότι το Ethereum είναι χωρίς άδεια, δεν υπάρχει γραφειοκρατία όταν στέλνετε χρήματα. Αυτή η ταχύτητα είναι ιδιαίτερα κρίσιμη σε ευαίσθητες στο χρόνο καταστάσεις, όπως οι προσπάθειες ανακούφισης έκτακτης ανάγκης.
+
+### Χαμηλές κρατήσεις {#lower-fees}
+
+Οι παραδοσιακές χρεώσεις διεθνών εμβασμάτων μερικές φορές καταναλώνουν ένα σημαντικό μέρος του ποσού που αποστέλλεται, ειδικά όταν πρόκειται για συναλλαγές εκατοντάδων δολαρίων. Οι συναλλαγές Ethereum, αν και όχι δωρεάν, συχνά συνοδεύονται από χαμηλότερες χρεώσεις. Αυτό σημαίνει ότι περισσότερα από τα χρήματά σας πηγαίνουν εκεί που προορίζονται, αντί να γεμίζουν τις τσέπες των μεσαζόντων.
+
+### Διαφάνεια {#transparency}
+
+Κάθε συναλλαγή στην κρυπτοαλυσίδα του Ethereum καταγράφεται σε ένα δημόσιο καθολικό. Αυτό σημαίνει ότι οποιοσδήποτε μπορεί να επαληθεύσει την κίνηση των κεφαλαίων, καθιστώντας το ένα εξαιρετικό εργαλείο για:
+
+- Φιλανθρωπικές οργανώσεις για να αποδείξουν πώς χρησιμοποιούνται οι δωρεές
+- Επιχειρήσεις για να αποδείξουν πληρωμές σε προμηθευτές ή υπαλλήλους
+- Ιδιώτες για να παρακολουθούν τις οικονομικές τους δραστηριότητες
+
+Με το Ethereum, όλοι μπορούν να δουν πώς κινούνται τα χρήματα και πώς εφαρμόζονται οι χρεώσεις, σε αντίθεση με τους παραδοσιακούς οργανισμούς όπου τα περισσότερα από αυτά παραμένουν άγνωστα.
+
+
+
+
+
+
+
+Ενώ τα νομίσματα fiat έχουν το πλεονέκτημα της ευρείας αποδοχής και σταθερότητας, το Ethereum προσφέρει μοναδικά πλεονεκτήματα που το καθιστούν μια ελκυστική επιλογή για ορισμένους τύπους συναλλαγών.
+
+Από τη διευκόλυνση της ταχείας ανακούφισης καταστροφών έως την ενδυνάμωση των εργαζομένων παγκοσμίως, οι πληρωμές Ethereum γράφουν ένα νέο κεφάλαιο στη μακρά ιστορία του χρήματος. Ενώ παραμένουν προκλήσεις, τα μοναδικά πλεονεκτήματα που προσφέρει αυτή η τεχνολογία την καθιστούν μια ελκυστική επιλογή για ένα ευρύ φάσμα περιπτώσεων χρήσης.
+
+
+ Ώρα να αποκτήσετε τον δικό σας λογαριασμό Ethereum.
+
+ Ξεκινήστε
+
+
\ No newline at end of file
diff --git a/public/content/translations/el/prediction-markets/index.md b/public/content/translations/el/prediction-markets/index.md
new file mode 100644
index 00000000000..572208dfaa2
--- /dev/null
+++ b/public/content/translations/el/prediction-markets/index.md
@@ -0,0 +1,79 @@
+---
+title: Αγορές προβλέψεων
+lang: el
+template: use-cases
+image: /images/use-cases/prediction-markets.png
+sidebarDepth: 2
+summaryPoint1: Λάβετε οικονομικά κίνητρα για να δημιουργείτε ακριβείς προβλέψεις
+summaryPoint2: Υψηλής ποιότητας προβλέψεις για μελλοντικά γεγονότα
+buttons:
+ - content: Μάθετε περισσότερα
+ toId: how-prediction-markets-work
+ - content: Εξερεύνηση apps
+ toId: εύρεση-αγοράς-πρόβλεψης
+ isSecondary: false
+---
+
+Οι αγορές πρόβλεψης χρησιμοποιούν τη σοφία του πλήθους και οικονομικά κίνητρα για την πρόβλεψη γεγονότων. Προσφέρουν ποικίλα, υψηλής ποιότητας δεδομένα και απέκτησαν δυναμική κατά τις εκλογές των ΗΠΑ το 2024 .
+
+## Πώς λειτουργούν οι αγορές πρόβλεψης {#how-prediction-markets-work}
+
+Σε αντίθεση με τις παραδοσιακές μεθόδους πρόβλεψης που βασίζονται σε γνώμες εμπειρογνωμόνων, περιορισμένα δείγματα ερευνών ή ιστορικά δεδομένα, οι αγορές πρόβλεψης αξιοποιούν **οικονομικά κίνητρα σε πραγματικό χρόνο** και τη σοφία του πλήθους για να δημιουργήσουν πληροφορίες που σχετίζονται με ένα συγκεκριμένο γεγονός — εκλογές, τιμές κρυπτονομισμάτων, αθλητικά αποτελέσματα — οτιδήποτε.
+
+Αυτό επιτρέπει σε οποιονδήποτε να σηματοδοτήσει υποστήριξη για ένα συγκεκριμένο αποτέλεσμα με μια οικονομική δέσμευση.
+Ενεργοποιώντας στοιχήματα σε πραγματικά γεγονότα και προσαρμόζοντας τις τιμές καθώς προκύπτουν νέες πληροφορίες, οι ενημερωμένες γνώμες εκτιμώνται περισσότερο και η ακρίβεια μπορεί να ανταμειφθεί.
+
+Θεωρητικά, επειδή οι μπουκερς μπορούν να επωφεληθούν από το να είναι σωστοί, οι αγορές πρόβλεψης μπορούν να προβλέψουν αποτελέσματα με μεγάλη ακρίβεια. Οι αγορές πρόβλεψης που βασίζονται σε blockchain είναι ακόμα πιο συναρπαστικές, καθώς σχεδόν οποιοσδήποτε μπορεί να λάβει μέρος στην πρόβλεψη και να κερδίσει ανταμοιβές σε stablecoin ή κρυπτονομίσματα.
+
+## Γιατί αυτό έχει σημασία; {#why-does-this-matter}
+
+Σε αντίθεση με τις παραδοσιακές προβλέψεις, οι αγορές πρόβλεψης που βασίζονται σε blockchain είναι:
+
+
+
+
+
+
+
+Ακόμα και ως παρατηρητής της αγοράς, μπορείτε να αξιολογήσετε πολύτιμα δεδομένα που διαφορετικά θα ήταν μη διαθέσιμα. Σκεφτείτε το ως εξής:
+
+1. Οι προβλέψεις συνδέονται με ένα συγκεκριμένο γεγονός (π.χ. Θα αναπτυχθεί το Beam Chain έως το 2030;).
+2. Οι συμμετέχοντες στην αγορά αγοράζουν και πωλούν μετοχές με βάση την εμπιστοσύνη τους σε οποιοδήποτε αποτέλεσμα.
+3. Οι τιμές προσαρμόζονται καθώς περισσότεροι συμμετέχοντες διακυβεύουν τις πεποιθήσεις τους, αντανακλώντας πληροφορίες σε πραγματικό χρόνο.
+4. Όποιος στοιχηματίζει σωστά κερδίζει αναλογικά με το ποσό που διακυβεύτηκε.
+5. Οι παρατηρητές της αγοράς μπορούν να αξιοποιήσουν τα ανοιχτά δεδομένα για να ενημερώσουν την έρευνα ή τη συζήτηση.
+
+## Βρείτε μια αγορά πρόβλεψης {#find-a-prediction-market}
+
+Υπάρχουν αρκετές αγορές πρόβλεψης που βασίζονται στο Ethereum. Αυτές είναι μερικές από τις πιο γνωστές αγορές πρόβλεψης σήμερα.
+
+
+
+
+ Να έχετε επίγνωση των κινδύνων
+ Στοιχηματίστε μόνο όσα μπορείτε να αντέξετε οικονομικά και να γνωρίζετε πιθανές εθιστικές συμπεριφορές.
+
+
+## Προκλήσεις & Κίνδυνοι {#challenges-and-risks}
+
+Οι αγορές πρόβλεψης στο blockchain αντιμετωπίζουν λίγες προκλήσεις που μπορούν να επηρεάσουν τη δικαιοσύνη, τη νομιμότητα και την ακρίβεια.
+
+⚠️ **Χειραγώγηση Αγοράς** – Πλούσιοι παίκτες μπορούν να διαστρεβλώσουν τα αποτελέσματα μέσω wash trading.\
+💧 **Θέματα Ρευστότητας** – Η χαμηλή συμμετοχή [ελάχιστη ρευστότητα](https://www.investopedia.com/terms/t/thinmarket.asp) μπορεί να μειώσει την αξιοπιστία της αγοράς.\
+🏛 **Ρυθμιστική Αβεβαιότητα** – Οι κυβερνήσεις έχουν επιβάλει περιορισμούς σε ορισμένες πλατφόρμες.
+
+Για να μετριάσουν αυτά τα ζητήματα, οι προγραμματιστές του Ethereum πειραματίζονται με λύσεις όπως η futarchy (διακυβέρνηση μέσω αγορών πρόβλεψης) και η αποκεντρωμένη επαλήθευση ταυτότητας.
+
+## Πειραματισμός με αγορές πρόβλεψης {#experimenting-with-prediction-markets}
+
+Οι αγορές πρόβλεψης αναδιαμορφώνουν τη λήψη αποφάσεων στην ψηφιακή εποχή. Αξιοποιώντας το Ethereum, προσφέρουν **δίκαιους, ανοιχτούς και ανταποδοτικούς τρόπους πρόβλεψης του μέλλοντος**.
+
+Υπάρχουν πολλοί τρόποι χρήσης εργαλείων πρόβλεψης εκτός του οικονομικού κέρδους. Για παράδειγμα, σε μια Πρόταση Βελτίωσης του [DevCon](https://forum.devcon.org/t/futarchy-decision-markets-for-deciding-next-devcon/5305) (DIP) προτάθηκε στους διοργανωτές του DevCon να χρησιμοποιήσουν αγορές πρόβλεψης για να προβλέψουν την προσέλευση για μελλοντικές εκδηλώσεις.
+
+Αυτό θα βοηθούσε τους διοργανωτές να καθορίσουν ποια τοποθεσία θα οδηγούσε στη μεγαλύτερη εκδήλωση, σε σύγκριση με ποια τοποθεσία θα οδηγούσε στην πιο διεθνώς προσβάσιμη. Τα οφέλη του σημαίνουν ότι οι διοργανωτές του DevCon μπορούν να επιταχύνουν τον χρόνο που απαιτείται για την εξέταση πολλαπλών πολιτικών χορήγησης βίζας, την πρόσβαση στο αεροδρόμιο και το κόστος ζωής στην περιοχή, ενώ παράλληλα συλλέγουν δεδομένα σχετικά με το πού θα ήταν ενθουσιασμένοι να πάνε οι πιθανοί συμμετέχοντες.
+
+## Περαιτέρω υλικό για διάβασμα {#further-reading}
+
+[From prediction markets to info finance](https://vitalik.eth.limo/general/2024/11/09/infofinance.html) - Vitalik Buterin\
+[Decentralized Prediction Market Development on Ethereum](https://blockchain.oodles.io/dev-blog/decentralized-prediction-market-development-ethereum/)\
+[The Augur Project Whitepaper](https://github.com/AugurProject/whitepaper)
\ No newline at end of file
diff --git a/public/content/translations/el/roadmap/account-abstraction/index.md b/public/content/translations/el/roadmap/account-abstraction/index.md
new file mode 100644
index 00000000000..d3d8f8e93f5
--- /dev/null
+++ b/public/content/translations/el/roadmap/account-abstraction/index.md
@@ -0,0 +1,71 @@
+---
+title: Αφαιρετικότητα λογαριασμού
+description: Επισκόπηση των σχεδίων του Ethereum για απλούστερους και ασφαλέστερους λογαριασμούς χρήστη
+lang: el
+summaryPoints:
+ - Η απλοποίηση λογαριασμού καθιστά τη δημιουργία πορτοφολιών των έξυπνων συμβολαίων πολύ πιο εύκολη.
+ - Τα πορτοφόλια έξυπνων συμβολαίων μπορούν ευκολότερα να διαχειριστούν ψηφιακά στοιχεία λογαριασμών Ethereum.
+ - Τα κλειδιά που έχουν χαθεί ή εκτεθεί μπορεί να γίνει η επαναφορά τους με χρήση πολλαπλών αντιγράφων ασφαλείας.
+---
+
+# Αφαιρετικότητα λογαριασμού {#account-abstraction}
+
+Οι ποιο ενθουσιώδεις χρήστες αλληλεπιδρούν με το Ethereum χρησιμοποιώντας **[εξωτερικά ιδιόκτητους λογαριασμούς (EOA)](/glossary/#eoa)**. Αυτό περιορίζει τον τρόπο με τον οποίο οι χρήστες μπορούν να αλληλεπιδράσουν με το Ethereum. Για παράδειγμα, δυσκολεύει τη διεκπεραίωση πακέτων συναλλαγών και απαιτεί από τους χρήστες να διατηρούν πάντα υπόλοιπο σε ETH για την πληρωμή των κρατήσεων συναλλαγών.
+
+Η αφαιρετικότητα λογαριασμού είναι μια νέα προσέγγιση που αποσκοπεί στην επίλυση αυτών των προβλημάτων, επιτρέποντας στους χρήστες να ενσωματώσουν μεγαλύτερη ασφάλεια και καλύτερες εμπειρίες χρήσης στους λογαριασμούς τους. Αυτό μπορεί να επιτευχθεί με την [αναβάθμιση των EOA](https://eips.ethereum.org/EIPS/eip-7702) (EIP-7702), ώστε να μπορούν να ελέγχονται από έξυπνα συμβόλαια. Εξετάζεται επίσης μια διαφορετική προσέγγιση, η οποία περιλαμβάνει την προσθήκη ενός [δεύτερου, ξεχωριστού συστήματος συναλλαγών](https://eips.ethereum.org/EIPS/eip-4337) (EIP-4337) που θα λειτουργεί παράλληλα με το υπάρχον πρωτόκολλο. Ανεξάρτητα από τη διαδρομή, το αποτέλεσμα είναι η πρόσβαση στο Ethereum μέσω έξυπνων πορτοφολιών συμβολαίων, είτε υποστηρίζονται εγγενώς ως μέρος του υπάρχοντος πρωτοκόλλου είτε μέσω ενός πρόσθετου δικτύου συναλλαγών.
+
+Τα πορτοφόλια έξυπνων συμβολαίων παρέχουν πολλά οφέλη στους χρήστες, όπως:
+
+- Ορισμός ευέλικτων κανόνων ασφαλείας.
+- Ανάκτηση λογαριασμού σε περίπτωση απώλειας των κλειδιών.
+- Διαμοιρασμός πρόσβασης σε έμπιστα άτομα ή συσκευές.
+- Πληρωμή κρατήσεων άλλου χρήστη.
+- Εκτέλεση πολλών συναλλαγών ταυτόχρονα (π.χ. έγκριση και εκτέλεση μιας ανταλλαγής κρυπτονομισμάτων σε ένα βήμα).
+- Περισσότερες δυνατότητες για καινοτομία για dapps και δημιουργούς πορτοφολιών αλληλεπίδρασης χρηστών.
+
+Αυτά τα οφέλη δεν υποστηρίζονται σήμερα επειδή μόνο οι εξωτερικά ιδιόκτητοι λογαριασμοί ([EOA](/glossary/#eoa)) μπορούν να ξεκινήσουν συναλλαγές Οι ΕΟΕ είναι απλά ζεύγη δημόσιων-ιδιωτικών κλειδιών. Δείτε πως λειτουργούν:
+
+- Εάν έχετε το ιδιωτικό κλειδί μπορείτε να κάνετε _οτιδήποτε_ επιτρέπεται από την Ethereum Virtual Machine (EVM).
+- Εάν δεν έχετε το ιδιωτικό κλειδί δεν μπορείτε να κάνετε _τίποτα_.
+
+Αν όμως χάσετε τα ιδιωτικά σας κλειδιά, δεν υπάρχει τρόπος ανάκτησης και ένας κλέφτης με πρόσβαση σε αυτά θα αποκτήσει άμεσα όλα τα χρήματα του λογαριασμού σας.
+
+Τα πορτοφόλια έξυπνων συμβολαίων αποτελούν λύση σε αυτά τα προβλήματα, αλλά προς το παρόν είναι δύσκολο να προγραμματιστούν, επειδή οποιαδήποτε λογική και αν εφαρμόζουν, πρέπει τελικά να μεταφραστεί σε μια σειρά συναλλαγών EOA για να γίνει αποδεκτή από το Ethereum. Η αφαιρετικότητα λογαριασμού επιτρέπει στα έξυπνα συμβόλαια να ξεκινούν μόνα τους συναλλαγές. Έτσι, οποιαδήποτε λογική θέλει να εφαρμόσει ο χρήστης μπορεί να προστεθεί ως κώδικας απευθείας στο πορτοφόλι έξυπνου συμβολαίου και να εκτελεστεί στο Ethereum.
+
+Με λίγα λόγια, η αφαιρετικότητα λογαριασμού βελτιώνει την υποστήριξη για πορτοφόλια έξυπνων συμβολαίων, καθιστώντας τα πιο εύκολα στην ανάπτυξη και πιο ασφαλή στη χρήση. Με την αφαίρετικότητα λογαριασμού, οι χρήστες μπορούν να απολαύσουν όλα τα οφέλη του Ethereum χωρίς να χρειάζεται να κατανοήσουν την υποκείμενη τεχνολογία.
+
+## Πέρα από τις φράσεις ασφαλείας {#beyond-seed-phrases}
+
+Σήμερα, οι λογαριασμοί προστατεύονται με ιδιωτικά κλειδιά που υπολογίζονται από τις φράσεις ασφαλείας. Οποιοσδήποτε έχει πρόσβαση σε μια φράση ασφαλείας μπορεί εύκολα να ανακαλύψει το ιδιωτικό κλειδί που προστατεύει έναν λογαριασμό και να αποκτήσει πρόσβαση σε όλα τα περιουσιακά στοιχεία που προστατεύει. Εάν χαθεί ένα ιδιωτικό κλειδί και μια φράση επαναφοράς, τα περιουσιακά στοιχεία καθίστανται μόνιμα μη προσβάσιμα. Η εξασφάλιση αυτών των φράσεων ασφαλείας είναι δύσκολη, ακόμη και για έμπειρους χρήστες, καθώς η εξαπάτηση για τις φράσεις ασφαλείας είναι ένας από τους πιο συνηθισμένους τρόπους εξαπάτησης.
+
+Η αφαιρετικότητα λογαριασμού λύνει αυτό το πρόβλημα χρησιμοποιώντας ένα έξυπνο συμβόλαιο για τη διατήρηση περιουσιακών στοιχείων και την εξουσιοδότηση συναλλαγών. Τα έξυπνα συμβόλαια μπορούν να περιλαμβάνουν προσαρμοσμένη λογική για μέγιστη ασφάλεια και χρηστικότητα. Οι χρήστες εξακολουθούν να χρησιμοποιούν ιδιωτικά κλειδιά για τον έλεγχο πρόσβασης, αλλά με ενισχυμένα μέτρα ασφαλείας.
+
+Για παράδειγμα, μπορούν να προστεθούν εφεδρικά κλειδιά σε ένα πορτοφόλι, επιτρέποντας την αντικατάσταση κλειδιού σε περίπτωση που το πρωτεύον κλειδί έχει παραβιαστεί. Κάθε κλειδί μπορεί να ασφαλιστεί με διαφορετικό τρόπο ή να κατανεμηθεί μεταξύ αξιόπιστων ατόμων, αυξάνοντας σημαντικά την ασφάλεια. Πρόσθετοι κανόνες πορτοφολιού μπορούν να μετριάσουν τη ζημιά από την έκθεση σε κλειδιά, όπως η απαίτηση πολλαπλών υπογραφών για συναλλαγές υψηλής αξίας ή ο περιορισμός των συναλλαγών σε αξιόπιστες διευθύνσεις.
+
+## Καλύτερη εμπειρία χρήστη {#better-user-experience}
+
+Η αφαιρετικότητα λογαριασμών βελτιώνει σημαντικά την εμπειρία και την ασφάλεια του χρήστη, υποστηρίζοντας έξυπνα πορτοφόλια συμβολαίων σε επίπεδο πρωτοκόλλου. Οι προγραμματιστές μπορούν να καινοτομούν ελεύθερα, βελτιώνοντας την ομαδοποίηση συναλλαγών για ταχύτητα και αποτελεσματικότητα. Οι απλές ανταλλαγές μπορούν να γίνουν λειτουργίες με ένα κλικ, βελτιώνοντας σημαντικά την ευκολία χρήσης.
+
+Η διαχείριση του gas βελτιώνεται σημαντικά. Οι εφαρμογές μπορούν να πληρώσουν τα τέλη gas των χρηστών ή να επιτρέψουν την πληρωμή σε tokens εκτός από ETH, εξαλείφοντας την ανάγκη διατήρησης υπολοίπου ETH.
+
+## Πώς θα υλοποιηθεί η αφαιρετικότητα λογαριασμού; {#how-will-aa-be-implemented}
+
+Προς το παρόν, τα έξυπνα πορτοφόλια συμβολαίων είναι δύσκολο να εφαρμοστούν, καθώς βασίζονται σε σύνθετες τυπικές συναλλαγές που περιτυλίγουν κώδικα. Το Ethereum μπορεί να το αλλάξει αυτό επιτρέποντας στα έξυπνα συμβόλαια να ξεκινούν απευθείας συναλλαγές, ενσωματώνοντας αυτή τη λογική στα έξυπνα συμβόλαια του Ethereum αντί να βασίζεται σε εξωτερικούς αναμεταδότες.
+
+### EIP-4337: Αφαιρετικότητα λογαριασμού χωρίς αλλαγές πρωτοκόλλου
+
+Το EIP-4337 επιτρέπει την υποστήριξη εγγενών έξυπνων πορτοφολιών συμβολαίων χωρίς τροποποίηση του βασικού πρωτοκόλλου του Ethereum. Εισάγει αντικείμενα `UserOperation` που συλλέγονται σε δέσμες συναλλαγών από επικυρωτές, απλοποιώντας την ανάπτυξη πορτοφολιών. Η σύμβαση EIP-4337 EntryPoint αναπτύχθηκε στο Ethereum Mainnet τη 1η Μαρτίου 2023 και έχει διευκολύνει τη δημιουργία πάνω από 26 εκατομμυρίων έξυπνων πορτοφολιών και 170 εκατομμυρίων λειτουργιών χρηστών.
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Στο πλαίσιο της αναβάθμισης του Pectra του Ethereum, το EIP-7702 έχει προγραμματιστεί για τις 7 Μαΐου 2025. Το EIP-4337 έχει υιοθετηθεί ευρέως, [με πάνω από 26 εκατομμύρια έξυπνους λογαριασμούς να έχουν αναπτυχθεί και να έχουν διεκπεραιωθεί περισσότερες από 170 εκατομμύρια λειτουργίες χρήστη](https://www.bundlebear.com/overview/all).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [erc4337.io](https://www.erc4337.io/)
+- [Τεκμηρίωση EIP-4337](https://eips.ethereum.org/EIPS/eip-4337)
+- [Τεκμηρίωση EIP-7702](https://eips.ethereum.org/EIPS/eip-7702)
+- [Πίνακας ελέγχου υιοθέτησης ERC-4337](https://www.bundlebear.com/overview/all)
+- [Ο «Δρόμος προς την Αφαιρετικότητα Λογαριασμών» του Vitalik](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists)
+- [Το ιστολόγιο του Vitalik σχετικά με τα πορτοφόλια επαναφοράς](https://vitalik.eth.limo/general/2021/01/11/recovery.html)
+- [Φοβερή Αφαιρετικότητα Λογαριασμού](https://github.com/4337Mafia/awesome-account-abstraction)
diff --git a/public/content/translations/el/roadmap/danksharding/index.md b/public/content/translations/el/roadmap/danksharding/index.md
new file mode 100644
index 00000000000..05dd6ca4153
--- /dev/null
+++ b/public/content/translations/el/roadmap/danksharding/index.md
@@ -0,0 +1,95 @@
+---
+title: Danksharding
+description: Μάθετε για το Proto-Danksharding και το Danksharding, τις δύο διαδοχικές αναβαθμίσεις για την κλιμάκωση του Ethereum.
+lang: el
+summaryPoints:
+ - Το Danksharding είναι μια αναβάθμιση πολλών φάσεων για τη βελτίωση της δυνατότητας κλιμάκωσης και της χωρητικότητας του Ethereum.
+ - Το πρώτο στάδιο, το Proto-Danksharding, προσθέτει δεδομένα-blobs (data blobs) στα μπλοκ
+ - Τα δεδομένα-blobs προσφέρουν έναν φθηνότερο τρόπο για τα rollups να δημοσιεύουν τα δεδομένα στο Ethereum και αυτό το κόστος μπορεί να μεταφερθεί στους χρήστες με τη μορφή χαμηλότερων τελών συναλλαγής.
+ - Αργότερα, το πλήρες Danksharding θα διανείμει την ευθύνη επαλήθευσης των δεδομένων-blobs σε υποσύνολα κόμβων, κλιμακώνοντας περαιτέρω το Ethereum σε περισσότερες από 100.000 συναλλαγές ανά δευτερόλεπτο.
+---
+
+# Danksharding {#danksharding}
+
+Το **Danksharding** είναι ο τρόπος με τον οποίο το Ethereum γίνεται ένα πραγματικά επεκτάσιμο blockchain, αλλά απαιτούνται αρκετές αναβαθμίσεις πρωτοκόλλου για να φτάσετε εκεί. Το **Proto-Danksharding** είναι ένα ενδιάμεσο βήμα στην όλη πορεία. Και τα δύο στοχεύουν να κάνουν τις συναλλαγές στο επίπεδο 2 όσο το δυνατόν πιο φθηνές για τους χρήστες και θα πρέπει να κλιμακώσουν το Ethereum σε >100.000 συναλλαγές ανά δευτερόλεπτο.
+
+## Τι είναι το Proto-Danksharding; {#what-is-protodanksharding}
+
+Το Proto-Danksharding, γνωστό και ως [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), είναι ένας τρόπος ώστε τα [πακέτα ενημέρωσης](/layer-2/#rollups) να προσθέτουν φθηνότερα δεδομένα στα μπλοκ. Το όνομα προέρχεται από τους δύο ερευνητές που πρότειναν την ιδέα: τον Protolambda και τον Dankrad Feist. Ιστορικά, τα rollup είχαν περιορισμούς όσον αφορά το πόσο φθηνές μπορούν να κάνουν τις συναλλαγές των χρηστών λόγω του γεγονότος ότι δημοσιεύουν τις συναλλαγές τους στο `CALLDATA`.
+
+Αυτό είναι ακριβό επειδή υποβάλλεται σε επεξεργασία από όλους τους κόμβους Ethereum και βρίσκεται για πάντα εντός αλυσίδας, παρόλο που τα rollup χρειάζονται τα δεδομένα μόνο για μικρό χρονικό διάστημα. Το Proto-Danksharding εισάγει δεδομένα blob που μπορούν να αποσταλούν και να συνδεθούν σε μπλοκ. Τα δεδομένα σε αυτά τα blob δεν είναι προσβάσιμα στην EVM και διαγράφονται αυτόματα μετά από μια καθορισμένη χρονική περίοδο (ορίζεται σε 4096 εποχές τη στιγμή της σύνταξης ή περίπου 18 ημέρες). Αυτό σημαίνει ότι τα πακέτα δεδομένων μπορούν να στέλνουν τα δεδομένα τους πολύ πιο φθηνά και να μεταφέρουν τις εξοικονομήσεις τους στους τελικούς χρήστες με τη μορφή φθηνότερων συναλλαγών.
+
+
+
+Τα πακέτα συναλλαγών είναι ένας τρόπος για να κλιμακωθεί το Ethereum ομαδοποιώντας τις συναλλαγές εκτός αλυσίδας και στη συνέχεια δημοσιεύοντας τα αποτελέσματα στο Ethereum. Ένα rollup αποτελείται ουσιαστικά από δύο μέρη: τα δεδομένα και τον έλεγχο εκτέλεσης. Τα δεδομένα είναι η πλήρης ακολουθία των συναλλαγών που επεξεργάζεται ένα rollup, για να παράγει την αλλαγή κατάστασης που δημοσιεύεται στο Ethereum. Ο έλεγχος εκτέλεσης είναι η επανεξέταση αυτών των συναλλαγών από έναν ειλικρινή παράγοντα (έναν «αποδεικνύοντα») για να διασφαλιστεί ότι η προτεινόμενη αλλαγή κατάστασης είναι σωστή. Για να πραγματοποιηθεί ο έλεγχος εκτέλεσης, τα δεδομένα συναλλαγών πρέπει να είναι διαθέσιμα για αρκετά μεγάλο χρονικό διάστημα ώστε να μπορεί ο καθένας να τα κατεβάσει και να τα ελέγξει. Αυτό σημαίνει ότι οποιαδήποτε ανέντιμη συμπεριφορά από τον διαχειριστή του rollup μπορεί να εντοπιστεί και να αμφισβητηθεί από αυτόν που αποδεικνύει. Ωστόσο, δε χρειάζεται να είναι διαθέσιμα για πάντα.
+
+
+
+
+
+Τα πακέτα συναλλαγών δημοσιεύουν δεσμεύσεις για τα δεδομένα συναλλαγών τους στην αλυσίδα και επίσης καθιστούν τα πραγματικά δεδομένα διαθέσιμα σε blobs δεδομένων. Αυτό σημαίνει ότι αυτοί που αποδεικνύουν μπορούν να ελέγξουν αν οι δεσμεύσεις είναι έγκυρες ή να αμφισβητήσουν δεδομένα που θεωρούν λανθασμένα. Σε επίπεδο κόμβου, τα δεδομένα blob τηρούνται στον πελάτη συναίνεσης. Οι πελάτες συναίνεσης βεβαιώνουν ότι έχουν δει τα δεδομένα και ότι έχουν διαδοθεί στο δίκτυο. Εάν τα δεδομένα διατηρούνταν για πάντα, αυτοί οι πελάτες θα διογκώνονταν και θα οδηγούσαν σε μεγάλες απαιτήσεις σε υλικό για τη λειτουργία των κόμβων. Αντίθετα, τα δεδομένα περικόπτονται αυτόματα από τον κόμβο κάθε 18 ημέρες. Οι βεβαιώσεις των πελατών συναίνεσης, αποδεικνύουν ότι υπήρξε επαρκής ευκαιρία για τους αποδεικνύοντες να επαληθεύσουν τα δεδομένα. Τα πραγματικά δεδομένα μπορούν να αποθηκευτούν εκτός αλυσίδας από φορείς εκμετάλλευσης, χρήστες ή άλλους.
+
+
+
+### Πώς επαληθεύονται τα δεδομένα blob; {#how-are-blobs-verified}
+
+Τα rollup δημοσιεύουν τις συναλλαγές που εκτελούν σε δεδομένα blob. Αναρτούν και «δέσμευση» για τα δεδομένα. Αυτό επιτυγχάνεται μέσω της προσαρμογής μιας «polynomial» συνάρτησης στα δεδομένα. Αυτή η συνάρτηση μπορεί στη συνέχεια να αξιολογηθεί σε διάφορα σημεία. Για παράδειγμα, αν ορίσουμε μια εξαιρετικά απλή συνάρτηση `f(x) = 2x-1`, τότε μπορούμε να αξιολογήσουμε αυτή τη συνάρτηση για `x = 1`, `x = 2`, `x = 3`, δίνοντας τα αποτελέσματα `1, 3, 5`. Ένας αποδεικνύων εφαρμόζει την ίδια συνάρτηση στα δεδομένα και την αξιολογεί με τον ίδιο τρόπο. Εάν τα αρχικά δεδομένα αλλάξουν, η συνάρτηση δε θα είναι ίδια και επομένως δε θα είναι ίδιες οι τιμές που αξιολογούνται σε κάθε σημείο. Στην πραγματικότητα, η δέσμευση και η απόδειξη είναι πιο περίπλοκες επειδή περιέχονται σε κρυπτογραφικές συναρτήσεις.
+
+### Τι είναι το KZG; {#what-is-kzg}
+
+Το KZG σημαίνει Kate-Zaverucha-Goldberg, τα ονόματα των τριών [αρχικών συγγραφέων](https://link.springer.com/chapter/10.1007/978-3-642-17373-8_11) ενός σχεδίου που μειώνει ένα blob δεδομένων σε μια μικρή [κρυπτογραφική δέσμευση](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html). Το blob δεδομένων που υποβάλλει ένα rollup πρέπει να επαληθευτεί για να διασφαλιστεί ότι το rollup δε συμπεριφέρεται κακόβουλα. Αυτό περιλαμβάνει την επανεξέταση των συναλλαγών στο blob από έναν αποδεικνύοντα για να ελέγξει ότι η δέσμευση ήταν έγκυρη. Αυτό είναι εννοιολογικά το ίδιο με τον τρόπο που οι πελάτες εκτέλεσης ελέγχουν την εγκυρότητα των συναλλαγών Ethereum στο επίπεδο 1, χρησιμοποιώντας τις αποδείξεις Merkle. Το KZG είναι μια εναλλακτική απόδειξη που προσαρμόζει μια polynomial εξίσωση στα δεδομένα. Η δέσμευση αξιολογεί το polynomial σε κάποια μυστικά σημεία δεδομένων. Ένας αποδεικνύων θα προσαρμόσει το ίδιο polynomial στα δεδομένα και θα το αξιολογήσει στις ίδιες τιμές, ελέγχοντας ότι το αποτέλεσμα είναι το ίδιο. Αυτός είναι ένας τρόπος επαλήθευσης των δεδομένων που είναι συμβατός με τις τεχνικές μηδενικής γνώσης που χρησιμοποιούνται από ορισμένα rollups και άλλα μέρη του πρωτοκόλλου Ethereum.
+
+### Τι ήταν η τελετή KZG; {#what-is-a-kzg-ceremony}
+
+Η τελετή KZG ήταν ένας τρόπος για πολλούς ανθρώπους από όλη την κοινότητα του Ethereum να δημιουργήσουν συλλογικά μια μυστική τυχαία σειρά αριθμών που μπορούν να χρησιμοποιηθούν για την επαλήθευση ορισμένων δεδομένων. Είναι πολύ σημαντικό ότι αυτή η σειρά αριθμών δεν είναι γνωστή και δεν μπορεί να αναδημιουργηθεί από κανέναν. Για να διασφαλιστεί αυτό, κάθε άτομο που συμμετείχε στην τελετή έλαβε μια σειρά από τον προηγούμενο συμμετέχοντα. Οι συμμετέχοντες δημιούργησαν νέες τυχαίες τιμές (π.χ. επιτρέποντας στο πρόγραμμα περιήγησής τους να μετρήσει την κίνηση του ποντικιού τους) και τις ανέμειξαν με την προηγούμενη τιμή. Στη συνέχεια, έστειλαν την τιμή στον επόμενο συμμετέχοντα και την κατέστρεψαν από την τοπική τους μηχανή. Στον βαθμό που ένα άτομο στην τελετή το έκανε αυτό με ειλικρίνεια, η τελική τιμή δε θα είναι γνωστή σε έναν επιτιθέμενο.
+
+Η τελετή KZG του EIP-4844 ήταν ανοιχτή στο κοινό και δεκάδες χιλιάδες άνθρωποι συμμετείχαν για να προσθέσουν τη δική τους εντροπία (τυχαιότητα). Συνολικά έγιναν πάνω από 140.000 συνεισφορές, καθιστώντας την τη μεγαλύτερη τελετή του είδους της στον κόσμο. Για να υπονομευθεί η τελετή, το 100% των συμμετεχόντων θα έπρεπε να είναι ενεργά ανέντιμοι. Από την οπτική των συμμετεχόντων, εάν γνωρίζουν ότι ήταν ειλικρινείς, δε χρειάζεται να εμπιστευτούν κανέναν άλλο, επειδή γνωρίζουν ότι ασφάλισαν την τελετή (ικανοποίησαν ατομικά την απαίτηση ενός ειλικρινούς συμμετέχοντα από τους Ν).
+
+
+
+Όταν ένα πακέτο συναλλαγών δημοσιεύει δεδομένα σε ένα blob, παρέχει μια "δέσμευση" ότι δημοσιεύει στην αλυσίδα. Αυτή η δέσμευση είναι το αποτέλεσμα της αξιολόγησης μια πολυωνυμικής προσαρμογής στα δεδομένα σε ορισμένα σημεία. Αυτά τα σημεία ορίζονται από τους τυχαίους αριθμούς που δημιουργούνται στην τελετή KZG. Οι αποδεικνύοντες μπορούν στη συνέχεια να αξιολογήσουν το polynomial στα ίδια σημεία για να επαληθεύσουν τα δεδομένα και εάν καταλήξουν στις ίδιες τιμές, τότε τα δεδομένα είναι σωστά.
+
+
+
+
+
+Εάν κάποιος γνωρίζει τις τυχαίες τοποθεσίες που χρησιμοποιούνται για τη δέσμευση, είναι εύκολο για αυτόν να δημιουργήσει ένα νέο polynomial που ταιριάζει σε αυτά τα συγκεκριμένα σημεία (δηλαδή μια «σύγκρουση»). Αυτό σημαίνει ότι θα μπορούσε να προσθέσει ή να αφαιρέσει δεδομένα από το blob και να παράσχει ακόμα μια έγκυρη απόδειξη. Για να αποφευχθεί αυτό, αντί να δίνουν στους αποδεικνύοντες τις πραγματικές μυστικές τοποθεσίες, στην πραγματικότητα λαμβάνουν τις τοποθεσίες καλυμμένες με ένα κρυπτογραφημένο «μαύρο κουτί» χρησιμοποιώντας ελλειπτικές καμπύλες. Αυτές ανακατεύουν αποτελεσματικά τις τιμές με τέτοιο τρόπο ώστε οι αρχικές τιμές να μην μπορούν να αναστραφούν, αλλά με κάποιο έξυπνο υπολογισμό άλγεβρας οι αποδεικνύοντες και οι επαληθευτές μπορούν ακόμα να αξιολογούν polynomials στα σημεία που αντιπροσωπεύουν.
+
+
+
+
+ Ούτε το Danksharding ούτε το Proto-Danksharding ακολουθούν το παραδοσιακό μοντέλο «τμηματοποίησης» που στοχεύει στον διαχωρισμό της κρυπτοαλυσίδας σε πολλαπλά μέρη. Οι αλυσίδες shard δεν αποτελούν πλέον μέρος του οδικού χάρτη. Αντίθετα, το Danksharding χρησιμοποιεί δειγματοληψία κατανεμημένων δεδομένων σε blobs για την κλιμάκωση του Ethereum. Αυτό είναι πολύ απλούστερο στην εφαρμογή. Αυτό το μοντέλο έχει μερικές φορές αναφερθεί ως «data-sharding».
+
+
+## Τι είναι το Danksharding; {#what-is-danksharding}
+
+Το Danksharding είναι η πλήρης υλοποίηση της κλιμάκωσης rollup που ξεκίνησε με το Proto-Danksharding. Το Danksharding θα φέρει τεράστιες ποσότητες χώρου στο Ethereum, ώστε τα rollup να απορρίπτουν τα συμπιεσμένα δεδομένα συναλλαγών τους. Αυτό σημαίνει ότι το Ethereum θα είναι σε θέση να υποστηρίξει εύκολα εκατοντάδες μεμονωμένα rollups και να πραγματοποιήσει εκατομμύρια συναλλαγές ανά δευτερόλεπτο.
+
+Ο τρόπος λειτουργίας του είναι η επέκταση των blobs που συνδέονται με τα μπλοκ από έξι (6) στο Proto-Danksharding σε 64, στο πλήρες Danksharding. Οι υπόλοιπες απαιτούμενες αλλαγές είναι όλες ενημερώσεις στον τρόπο λειτουργίας των πελατών συναίνεσης, για να μπορούν να χειρίζονται τα νέα μεγάλα blobs. Ορισμένες από αυτές τις αλλαγές βρίσκονται ήδη στον οδικό χάρτη για άλλους σκοπούς ανεξάρτητα από το Danksharding. Για παράδειγμα, το Danksharding απαιτεί να έχει εφαρμοστεί ο διαχωρισμός προτείνοντος-κατασκευαστή μπλοκ. Πρόκειται για μια αναβάθμιση που διαχωρίζει τις εργασίες κατασκευής και πρότασης μπλοκ σε διαφορετικούς επικυρωτές. Ομοίως, η δειγματοληψία διαθεσιμότητας δεδομένων απαιτείται για το Danksharding, αλλά απαιτείται επίσης για την ανάπτυξη εφαρμογών πελάτη μικρού μεγέθους που δεν αποθηκεύουν πολλά ιστορικά δεδομένα («πελάτες χωρίς κατάσταση»).
+
+
+
+Ο διαχωρισμός προτείνοντος-κατασκευαστή μπλοκ απαιτείται για να αποτραπεί η ανάγκη των μεμονωμένων επικυρωτών να δημιουργούν δαπανηρές δεσμεύσεις και αποδείξεις για 32MB δεδομένων blob. Αυτό θα ασκήσει υπερβολική πίεση στους οικιακούς χρήστες αποθηκευμένου κεφαλαίου και θα τους υποχρεώσει να επενδύσουν σε ισχυρότερα συστήματα, γεγονός που βλάπτει την αποκέντρωση. Αντίθετα, εξειδικευμένοι κατασκευαστές μπλοκ αναλαμβάνουν την ευθύνη για αυτή τη δαπανηρή υπολογιστική εργασία. Στη συνέχεια, διαθέτουν τα μπλοκ τους στους προτείνοντες μπλοκ για δημοσίευση. Ο προτείνων μπλοκ απλώς επιλέγει το μπλοκ που είναι πιο κερδοφόρο. Ο καθένας μπορεί να επαληθεύσει τα blobs φθηνά και γρήγορα, πράγμα που σημαίνει ότι οποιοσδήποτε κανονικός επικυρωτής μπορεί να ελέγξει ότι οι κατασκευαστές μπλοκ συμπεριφέρονται αξιόπιστα. Αυτό επιτρέπει την επεξεργασία των μεγάλων blobs χωρίς να θυσιάζεται η αποκέντρωση. Οι κακοήθεις κατασκευαστές μπλοκ θα μπορούσαν απλώς να εκδιωχθούν από το δίκτυο και να επιβληθεί περικοπή, ενώ άλλοι θα μπουν στη θέση τους επειδή η κατασκευή μπλοκ είναι μια κερδοφόρα δραστηριότητα.
+
+
+
+
+
+Η δειγματοληψία διαθεσιμότητας δεδομένων απαιτείται για τους επικυρωτές για γρήγορο και αποτελεσματικό έλεγχο των δεδομένων blob. Χρησιμοποιώντας τη δειγματοληψία διαθεσιμότητας δεδομένων, οι επικυρωτές μπορούν να είναι πολύ σίγουροι ότι τα δεδομένα blob ήταν διαθέσιμα και δεσμεύτηκαν σωστά. Κάθε επικυρωτής μπορεί τυχαία να δειγματίσει μερικά μόνο σημεία δεδομένων και να δημιουργήσει μια απόδειξη, που σημαίνει ότι κανένας επικυρωτής δεν χρειάζεται να ελέγξει ολόκληρο το blob. Εάν λείπουν δεδομένα, θα εντοπιστούν γρήγορα και το blob θα απορριφθεί.
+
+
+
+### Τρέχουσα πρόοδος {#current-progress}
+
+Το πλήρες Danksharding είναι αρκετά χρόνια μακριά. Στο μεταξύ, η τελετή KZG ολοκληρώθηκε με περισσότερες από 140.000 συνεισφορές και το [EIP](https://eips.ethereum.org/EIPS/eip-4844) για το Proto-Danksharding έχει ωριμάσει. Αυτή η πρόταση έχει εφαρμοστεί πλήρως σε όλα τα δίκτυα δοκιμών και τέθηκε σε λειτουργία στο Mainnet με την αναβάθμιση δικτύου Cancun-Deneb (Dencun) τον Μάρτιο του 2024.
+
+### Περισσότερες πληροφορίες {#further-reading}
+
+- [Σημειώσεις Proto-Danksharding](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) - _Vitalik Buterin_
+- [Σημειώσεις του Dankrad για το Danksharding](https://notes.ethereum.org/@dankrad/new_sharding)
+- [Συζήτηση του Dankrad, Proto και Vitalik για το Danksharding](https://www.youtube.com/watch?v=N5p0TB77flM)
+- [Η τελετή KZG](https://ceremony.ethereum.org/)
+- [Ομιλία του Carl Beekhuizen στο Devcon για αξιόπιστους τρόπου εγκατάστασης](https://archive.devcon.org/archive/watch/6/the-kzg-ceremony-or-how-i-learnt-to-stop-worrying-and-love-trusted-setups/?tab=YouTube)
+- [Περισσότερα για τη δειγματοληψία διαθεσιμότητας δεδομένων για blobs](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling)
+- [Ο Dankrad Feist για τις δεσμεύσεις και αποδείξεις KZG](https://youtu.be/8L2C6RDMV9Q)
+- [Πολυωνυμικές δεσμεύσεις KZG](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html)
diff --git a/public/content/translations/el/roadmap/dencun/index.md b/public/content/translations/el/roadmap/dencun/index.md
new file mode 100644
index 00000000000..2c3c8c4e212
--- /dev/null
+++ b/public/content/translations/el/roadmap/dencun/index.md
@@ -0,0 +1,120 @@
+---
+title: Συχνές ερωτήσεις για το Cancun-Deneb (Dencun)
+description: Συχνές ερωτήσεις σχετικά με την αναβάθμιση του δικτύου Cancun-Deneb (Dencun).
+lang: el
+---
+
+# Cancun-Deneb (Dencun) {#dencun}
+
+Το Cancun-Deneb (Dencun) είναι μια αναβάθμιση στο δίκτυο Ethereum, το οποίο ενεργοποιεί το **Proto-Danksharding (EIP-4844)** και εισάγει προσωρινά δεδομένα **blob** για φθηνότερη αποθήκευση πακέτων ενημέρωσης rollup [επίπεδο 2 (L2)](/glossary/#layer-2).
+
+Ένας νέος τύπος συναλλαγής επιτρέπει στους παρόχους πακέτων ενημέρωσης να αποθηκεύουν δεδομένα με πιο οικονομικό τρόπο σε αντικείμενα που είναι γνωστά ως «blob». Τα blob είναι διαθέσιμα στο δίκτυο εγγυημένα για περίπου 18 ημέρες (ακριβέστερα, 4096 [εποχές](/glossary/#epoch)). Μετά από αυτό το διάστημα, τα blob αποκόπτονται από το δίκτυο, αλλά οι εφαρμογές μπορούν ακόμα να επαληθεύσουν την εγκυρότητα των δεδομένων τους χρησιμοποιώντας αποδείξεις.
+
+Αυτό μειώνει σημαντικά το κόστος των πακέτων ενημέρωσης, περιορίζει την ανάπτυξη της αλυσίδας και βοηθά στην υποστήριξη περισσότερων χρηστών, διατηρώντας παράλληλα την ασφάλεια και ένα αποκεντρωμένο σύνολο χειριστών κόμβων.
+
+## Πότε αναμένουμε ότι τα rollup θα αντικατοπτρίζουν χαμηλότερες χρεώσεις λόγω του Proto-Danksharding; {#when}
+
+- Αυτή η αναβάθμιση ενεργοποιήθηκε την εποχή 269568, στις **13-Μαρ-2024 στις 13:55 μ.μ. (UTC)**
+- Όλοι οι μεγάλοι πάροχοι πακέτων ενημέρωσης, όπως η Arbitrum ή η Optimism, έχουν επισημάνει ότι τα blob θα υποστηρίζονται αμέσως μετά την αναβάθμιση
+- Το χρονοδιάγραμμα για την υποστήριξη μεμονωμένων πακέτων ενημέρωσης μπορεί να διαφέρει, καθώς κάθε πάροχος πρέπει να ενημερώσει τα συστήματά του για να επωφεληθεί από τον νέο χώρο blob
+
+## Πώς μπορεί το ETH να μετατραπεί μετά την ενσωμάτωση (hard fork); {#scam-alert}
+
+- **Δεν απαιτείται ενέργεια για τα ETH σας**: Μετά την αναβάθμιση Dencun του Ethereum, δεν χρειάζεται να μετατρέψετε ή να αναβαθμίσετε τα ETH σας. Τα υπόλοιπα των λογαριασμών σας θα παραμείνουν τα ίδια και το ETH που διατηρείτε αυτή τη στιγμή θα παραμείνει προσβάσιμο στην υπάρχουσα μορφή του μετά την ενσωμάτωση.
+- **Προσοχή στις Απάτες!** **Όποιος σας καθοδηγεί να «αναβαθμίσετε» τα ETH σας, προσπαθεί να σας εξαπατήσει.** Δεν χρειάζεται να κάνετε τίποτα σε σχέση με αυτή την αναβάθμιση. Τα περιουσιακά σας στοιχεία δεν θα επηρεαστούν καθόλου. Να θυμάστε ότι η καλύτερη άμυνα ενάντια στις απάτες είναι να είστε πάντα ενημερωμένοι.
+
+[Περισσότερα για την αναγνώριση και την αποφυγή απάτης](/security/)
+
+## Τι πρόβλημα επιλύει η αναβάθμιση δικτύου Dencun; {#network-impact}
+
+Το Dencun ασχολείται κυρίως με την **κλιμακωσιμότητα** (διαχείριση περισσότερων χρηστών και περισσότερων συναλλαγών) με **προσιτές χρεώσεις**, **διατηρώντας παράλληλα την αποκέντρωση** του δικτύου.
+
+Η κοινότητα του Ethereum ακολουθεί μια προσέγγιση «με επίκεντρο τα πακέτα ενημέρωσης» στην ανάπτυξή της, η οποία τοποθετεί τα πακέτα ενημέρωσης επιπέδου 2 ως το κύριο μέσο για την ασφαλή υποστήριξη περισσότερων χρηστών.
+
+Τα δίκτυα πακέτων ενημέρωσης διαχειρίζονται την _επεξεργασία_ (ή «εκτέλεση») των συναλλαγών ξεχωριστά από το Κεντρικό Δίκτυο και στη συνέχεια δημοσιεύουν μια κρυπτογραφική απόδειξη ή/και συμπιεσμένα δεδομένα συναλλαγών των αποτελεσμάτων πίσω στο Κεντρικό Δίκτυο για την τήρηση αρχείων. Η αποθήκευση αυτών των αποδείξεων συνεπάγεται ένα κόστος (με τη μορφή [gas](/glossary/#gas)), το οποίο, πριν από το Proto-Danksharding, έπρεπε να αποθηκεύεται μόνιμα από όλους τους χειριστές κόμβων του δικτύου, γεγονός το οποίο το καθιστούσε δαπανηρή εργασία.
+
+Η εισαγωγή του Proto-Danksharding στην αναβάθμιση Dencun προσθέτει φθηνότερη αποθήκευση δεδομένων για αυτές τις αποδείξεις, καθώς απαιτεί από τους χειριστές κόμβων να αποθηκεύουν αυτά τα δεδομένα μόνο για περίπου 18 ημέρες, μετά τις οποίες τα δεδομένα μπορούν να αφαιρεθούν με ασφάλεια για να αποφευχθεί η επέκταση των απαιτήσεων σε υλικό. Επειδή τα πακέτα ενημέρωσης συνήθως έχουν περίοδο ανάληψης 7 ημερών, το μοντέλο ασφαλείας τους παραμένει αμετάβλητο εφόσον τα blob είναι διαθέσιμα στο L1 για την περίοδο αυτή. Το παράθυρο περικοπής που διαρκεί 18 ημέρες παρέχει ένα σημαντικό buffer για αυτή την περίοδο.
+
+[Περισσότερα για την κλιμάκωση του Ethereum](/roadmap/scaling/)
+
+## Πώς γίνεται η πρόσβαση στα παλιά δεδομένα blob; {#historical-access}
+
+Ενώ οι κανονικοί κόμβοι Ethereum θα διατηρούν πάντα την _τρέχουσα κατάσταση_ του δικτύου, τα ιστορικά δεδομένα blob μπορούν να απορριφθούν περίπου 18 ημέρες μετά την εισαγωγή τους. Πριν από την απόρριψη αυτών των δεδομένων, το Ethereum διασφαλίζει ότι έχουν καταστεί διαθέσιμα σε όλους τους συμμετέχοντες στο δίκτυο και παρέχει χρόνο για:
+
+- Τη λήψη και αποθήκευση των δεδομένων από τα ενδιαφερόμενα μέρη.
+- Την ολοκλήρωση όλων των περιόδων υποβολής ενστάσεων για πακέτα ενημέρωσης.
+- Την οριστικοποίηση συναλλαγών πακέτων ενημέρωσης.
+
+Τα _ιστορικά_ δεδομένα blob μπορεί να είναι επιθυμητά για διάφορους λόγους και μπορούν να αποθηκευτούν και να προσπελαστούν μέσω αρκετών αποκεντρωμένων πρωτοκόλλων:
+
+- **Πρωτόκολλα ευρετηρίασης τρίτων μερών**, όπως το The Graph, αποθηκεύουν αυτά τα δεδομένα μέσω ενός αποκεντρωμένου δικτύου χειριστών κόμβων που λαμβάνουν κίνητρα από κρυπτοοικονομικούς μηχανισμούς.
+- Το **BitTorrent** είναι ένα αποκεντρωμένο πρωτόκολλο όπου οι εθελοντές μπορούν να διατηρούν και να διανέμουν αυτά τα δεδομένα σε άλλους.
+- Το **[Ethereum portal network](/developers/docs/networking-layer/portal-network/)** στοχεύει να παρέχει πρόσβαση σε όλα τα δεδομένα Ethereum μέσω ενός αποκεντρωμένου δικτύου χειριστών κόμβων μέσω της διανομής δεδομένων μεταξύ συμμετεχόντων με παρόμοιο τρόπο με το BitTorrent.
+- Οι **μεμονωμένοι χρήστες** μπορούν πάντα να αποθηκεύουν ελεύθερα δικά τους αντίγραφα οποιωνδήποτε δεδομένων επιθυμούν για σκοπούς ιστορικής αναφοράς.
+- Οι **πάροχοι πακέτων ενημέρωσης** έχουν κίνητρα να αποθηκεύουν αυτά τα δεδομένα για να βελτιώνουν την εμπειρία χρήστη του rollup τους.
+- Οι **εξερευνητές μπλοκ** συνήθως εκτελούν αρχειακούς κόμβους που ευρετηριάζουν και αποθηκεύουν όλες αυτές τις πληροφορίες για εύκολη ιστορική αναφορά, στις οποίες έχουν πρόσβαση οι χρήστες μέσω διαδικτυακής διεπαφής.
+
+Είναι σημαντικό να σημειωθεί ότι η ανάκτηση της ιστορικής κατάστασης λειτουργεί με ένα **μοντέλο εμπιστοσύνης 1-από-N**. Αυτό σημαίνει ότι χρειάζεστε δεδομένα από μία μόνο αξιόπιστη πηγή για να επαληθεύσετε την ορθότητά τους χρησιμοποιώντας την τρέχουσα κατάσταση του δικτύου.
+
+## Πώς συμβάλλει αυτή η αναβάθμιση στον ευρύτερο οδικό χάρτη του Ethereum; {#roadmap-impact}
+
+Το Proto-Danksharding θέτει τις βάσεις για την πλήρη υλοποίηση του [Danksharding[(/roadmap/danksharding/). Το Danksharding έχει σχεδιαστεί να κατανέμει την αποθήκευση των δεδομένων των πακέτων ενημέρωσης μεταξύ των χειριστών κόμβων, έτσι ώστε κάθε χειριστής να χρειάζεται να χειρίζεται μόνο ένα μικρό μέρος των συνολικών δεδομένων. Αυτή η κατανομή θα αυξήσει τον αριθμό των blob δεδομένων ανά μπλοκ, πράγμα απαραίτητο για την κλιμάκωση του Ethereum ώστε να χειρίζεται περισσότερους χρήστες και συναλλαγές.
+
+Αυτή η κλιμακωσιμότητα είναι ζωτικής σημασίας για την [υποστήριξη δισεκατομμυρίων χρηστών στο Ethereum](/roadmap/scaling/) με οικονομικά προσιτές χρεώσεις και πιο προηγμένες εφαρμογές, ενώ ταυτόχρονα διατηρεί ένα αποκεντρωμένο δίκτυο. Χωρίς αυτές τις αλλαγές, οι απαιτήσεις υλικού για τους χειριστές κόμβων θα κλιμακώνονταν και θα καθιστούσαν αναγκαίο έναν ολοένα και πιο ακριβό εξοπλισμό. Αυτό θα μπορούσε να αποκλείσει μικρότερους χειριστές και να έχει ως αποτέλεσμα τη συγκέντρωση του ελέγχου του δικτύου σε λίγους μεγάλους χειριστές, γεγονός που θα ήταν αντίθετο με την αρχή της αποκέντρωσης.
+
+## Αυτή η αναβάθμιση επηρεάζει όλους τους πελάτες συναίνεσης και επικύρωσης του Ethereum; {#client-impact}
+
+Ναι, το Proto-Danksharding (EIP-4844) απαιτεί ενημερώσεις τόσο στους πελάτες εκτέλεσης όσο και στους πελάτες συναίνεσης. Όλοι οι κύριοι πελάτες Ethereum έχουν κυκλοφορήσει εκδόσεις που υποστηρίζουν την αναβάθμιση. Για να διατηρηθεί ο συγχρονισμός με το δίκτυο Ethereum μετά την αναβάθμιση, οι χειριστές κόμβων πρέπει να βεβαιωθούν ότι εκτελούν μια υποστηριζόμενη έκδοση πελάτη. Σημειώνεται ότι οι πληροφορίες σχετικά με τις κυκλοφορίες πελατών είναι ευαίσθητες στον παράγοντα χρόνο και οι χρήστες θα πρέπει να ανατρέχουν στις πιο πρόσφατες ενημερώσεις για τις πιο τρέχουσες λεπτομέρειες. [Δείτε λεπτομέρειες σχετικά με τις υποστηριζόμενες κυκλοφορίες πελατών](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement#client-releases).
+
+Οι πελάτες συναίνεσης χειρίζονται το λογισμικό _Επικυρωτή_, το οποίο έχει ενημερωθεί πλήρως για να φιλοξενήσει την αναβάθμιση.
+
+## Πώς επηρεάζει το Cancun-Deneb (Dencun) τα δίκτυα δοκιμών Ethereum; {#testnet-impact}
+
+- Τα Devnets, Sepolia και Holesky έχουν υποβληθεί στην αναβάθμιση Dencun και έχουν το Proto-Danksharding πλήρως λειτουργικό
+- Οι προγραμματιστές πακέτων ενημέρωσης μπορούν να χρησιμοποιήσουν αυτά τα δίκτυα για δοκιμές EIP-4844
+- Οι περισσότεροι χρήστες δε θα επηρεαστούν καθόλου από αυτήν την αλλαγή σε κάθε δίκτυο δοκιμής
+
+## Πλέον θα χρησιμοποιούν όλες οι συναλλαγές L2 προσωρινό χώρο blob ή θα μπορείτε να επιλέξετε; {#calldata-vs-blobs}
+
+Οι συναλλαγές πακέτων ενημέρωσης στο Επίπεδο 2 (L2) του Ethereum έχουν την επιλογή να χρησιμοποιούν δύο τύπους αποθήκευσης δεδομένων: προσωρινό χώρο blob ή μόνιμα δεδομένα κλήσης έξυπνων συμβολαίων (calldata). Ο χώρος blob είναι μια οικονομική επιλογή, η οποία παρέχει προσωρινό αποθηκευτικό χώρο με χαμηλότερο κόστος. Εγγυάται τη διαθεσιμότητα δεδομένων για όλες τις απαραίτητες περιόδους υποβολής ενστάσεων. Από την άλλη πλευρά, τα δεδομένα κλήσης έξυπνων συμβολαίων προσφέρουν μόνιμο αποθηκευτικό χώρο, αλλά είναι πιο ακριβά.
+
+Η απόφαση για τη χρήση είτε χώρου blob είτε δεδομένων κλήσης λαμβάνεται κυρίως από τους παρόχους πακέτων ενημέρωσης. Βασίζουν αυτή την απόφαση στην τρέχουσα ζήτηση για χώρο blob. Εάν ο χώρος blob έχει μεγάλη ζήτηση, τα πακέτα ενημερώσεων μπορούν να επιλέξουν δεδομένα κλήσης για να διασφαλίσουν ότι τα δεδομένα δημοσιεύονται έγκαιρα.
+
+Αν και είναι θεωρητικά δυνατό για τους χρήστες να επιλέξουν τον προτιμώμενο τύπο αποθήκευσης, οι πάροχοι rollup συνήθως διαχειρίζονται αυτήν την επιλογή. Η προσφορά αυτής της επιλογής στους χρήστες θα προσέθετε πολυπλοκότητα, ιδιαίτερα στις οικονομικά αποδοτικές συναλλαγές ομαδοποίησης (bundling). Για συγκεκριμένες λεπτομέρειες σχετικά με αυτή την επιλογή, οι χρήστες θα πρέπει να ανατρέχουν στην τεκμηρίωση που παρέχεται από μεμονωμένους παρόχους πακέτων ενημερώσεων.
+
+## Το 4844 θα μειώσει την κράτηση gas επιπέδου 1; {#l1-fee-impact}
+
+Όχι σημαντικά. Εισάγεται μια νέα αγορά κρατήσεων gas αποκλειστικά για τον χώρο blob, για χρήση από παρόχους rollup. _Αν και οι χρεώσεις στο επίπεδο 1 ενδέχεται να μειωθούν με τη μεταφόρτωση των δεδομένων rollup σε blob, αυτή η αναβάθμιση εστιάζει κυρίως στη μείωση των τελών επιπέδου 2. Η μείωση των τελών στο επίπεδο 1 (Mainnet) μπορεί να προκύψει ως αποτέλεσμα δευτερογενούς επίδρασης σε μικρότερο βαθμό._
+
+- Η μείωση των κρατήσεων gas επιπέδου 1 θα είναι ανάλογη με την υιοθέτηση/χρήση δεδομένων blob από παρόχους rollup
+- Η χρέωση gas επιπέδου 1 είναι πιθανό να παραμείνει ανταγωνιστική από δραστηριότητα που δεν σχετίζεται με rollup.
+- Τα rollup που υιοθετούν τη χρήση χώρου blob θα απαιτούν λιγότερο gas επιπέδου 1, γεγονός το οποίο θα βοηθήσει την προς τα κάτω ώθηση των τελών gas επιπέδου 1 βραχυπρόθεσμα.
+- Ο χώρος blob είναι ακόμα περιορισμένος. Αν τα blob μέσα σε ένα μπλοκ είναι κορεσμένα/πλήρη, τότε τα πακέτα ενημερώσεων μπορεί να χρειαστεί να δημοσιεύσουν τα δεδομένα τους ως μόνιμα δεδομένα εν τω μεταξύ και αυτό θα ανέβαζε τις τιμές gas επιπέδου 1 και επιπέδου 2.
+
+## Θα μειώσει αυτό τα τέλη σε άλλες αλυσίδες συστοιχιών EVM επιπέδου 1; {#alt-l1-fee-impact}
+
+Όχι. Τα οφέλη του Proto-Danksharding είναι συγκεκριμένα για τα πακέτα ενημερώσεων επιπέδου 2 του Ethereum που αποθηκεύουν τις αποδείξεις τους στο επίπεδο 1 (Κεντρικό Δίκτυο).
+
+Η απλή συμβατότητα με την Εικονική Μηχανή Ethereum (EVM) δεν σημαίνει ότι ένα δίκτυο θα αποκομίσει κάποιο όφελος από αυτή την αναβάθμιση. Τα δίκτυα που λειτουργούν ανεξάρτητα από το Ethereum (είτε είναι συμβατά με EVM είτε όχι) δεν αποθηκεύουν τα δεδομένα τους στο Ethereum και δεν θα έχουν κανένα όφελος από αυτή την αναβάθμιση.
+
+[Περισσότερα σχετικά με τα rollup επιπέδου 2](/layer-2/)
+
+## Περισσότερα από έναν εικονικό μαθητή; {#visual-learner}
+
+
+
+_Ξεκλείδωμα της κλιμάκωσης του Ethereum, EIP-4844 — Finematics _
+
+
+
+_Blobspace 101 με τον Domothy — Bankless_
+
+## Περαιτέρω υλικό για διάβασμα {#further-reading}
+
+- [EIP4844.com](https://www.eip4844.com/)
+- [EIP-4844: Συναλλαγές Shard blob (Proto-Danksharding)](https://eips.ethereum.org/EIPS/eip-4844)
+- [Ανακοίνωση Dencun Κεντρικού Δικτύου](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement) - _Ιστολόγιο του Ιδρύματος Ethereum_
+- [Γυρίστε το Ethereum με Ωτοστόπ: Proto-Danksharding](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum/#proto-danksharding-eip-4844) - _Jon Charbonneau_
+- [Συχνές ερωτήσεις για το Proto-Danksharding](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) - _Vitalik Buterin_
+- [Σε βάθος εξήγηση του EIP-4844: Ο πυρήνας της αναβάθμισης Cancun](https://medium.com/@ebunker.io/an-in-depth-explanation-of-eip-4844-the-core-of-the-cancun-upgrade-de7b13761d2c) - _Ebunker_
+- [AllCoreDevs αναβάθμιση 016](https://tim.mirror.xyz/HzH5MpK1dnw7qhBSmzCfdCIxpwpD6DpwlfxtaAwEFro) - _Tim Beiko_
diff --git a/public/content/translations/el/roadmap/future-proofing/index.md b/public/content/translations/el/roadmap/future-proofing/index.md
index 565a91d37da..b881682e37e 100644
--- a/public/content/translations/el/roadmap/future-proofing/index.md
+++ b/public/content/translations/el/roadmap/future-proofing/index.md
@@ -15,24 +15,39 @@ template: roadmap
Η πρόκληση που αντιμετωπίζουν οι προγραμματιστές του Ethereum είναι ότι το τρέχον πρωτόκολλο [απόδειξης συμμετοχής](/glossary/#pos) βασίζεται σε ένα πολύ αποτελεσματικό σχήμα υπογραφών γνωστό ως BLS για τη συγκέντρωση ψήφων σε έγκυρα [μπλοκ](/glossary/#block). Αυτό το σχήμα υπογραφών έχει σπάσει από τους κβαντικούς υπολογιστές, αλλά οι εναλλακτικές λύσεις που είναι ανθεκτικές σε κβαντικά δεν είναι τόσο αποτελεσματικές.
-Τα [σχήματα δέσμευσης «KZG»](/roadmap/danksharding/#what-is-kzg) που χρησιμοποιούνται σε πολλά σημεία στο Ethereum για τη δημιουργία κρυπτογραφικών μυστικών είναι γνωστό ότι είναι κβαντικά ευάλωτα. Επί του παρόντος, αυτό παρακάμπτεται με τη χρήση «αξιόπιστων ρυθμίσεων» όπου πολλοί χρήστες δημιουργούν τυχαίες καταστάσεις που δεν μπορούν να δημιουργηθούν αντίστροφα από έναν κβαντικό υπολογιστή. Ωστόσο, η ιδανική λύση θα ήταν απλώς η ενσωμάτωση της κβαντικής ασφαλούς κρυπτογραφίας. Υπάρχουν δύο κορυφαίες προσεγγίσεις που θα μπορούσαν να γίνουν αποτελεσματικές αντικαταστάσεις για το σχήμα BLS: [το βασισμένο σε STARK](https://hackmd.io/@vbuterin/stark_aggregation) και [το βασισμένο σε πλέγμα](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) υπογραφή. **Αυτά είναι ακόμα υπό έρευνα και δημιουργία πρωτότυπου.**
+Τα [σχήματα δέσμευσης «KZG»](/roadmap/danksharding/#what-is-kzg) που χρησιμοποιούνται σε πολλά σημεία στο Ethereum για τη δημιουργία κρυπτογραφικών μυστικών είναι γνωστό ότι είναι κβαντικά ευάλωτα. Προς το παρόν, αυτό παρακάμπτεται χρησιμοποιώντας «αξιόπιστες ρυθμίσεις» (για τις οποίες η κύρια τελετή ρύθμισης ολοκληρώθηκε με επιτυχία το 2023), όπου πολλοί χρήστες δημιούργησαν τυχαιότητα που δεν μπορεί να αντιστραφεί από έναν κβαντικό υπολογιστή. Ωστόσο, η ιδανική μακροπρόθεσμη λύση θα ήταν η ενσωμάτωση της κβαντικής ασφαλούς κρυπτογραφίας. Υπάρχουν δύο κορυφαίες προσεγγίσεις που θα μπορούσαν να γίνουν αποτελεσματικές αντικαταστάσεις για το σχήμα BLS: [το βασισμένο σε STARK](https://hackmd.io/@vbuterin/stark_aggregation) και [το βασισμένο σε πλέγμα](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) υπογραφή. **Αυτά εξακολουθούν να βρίσκονται υπό ενεργό έρευνα και δημιουργία πρωτοτύπων**.
- Διαβάστε για το KZG και τις αξιόπιστες ρυθμίσεις
+[Διαβάστε για το KZG και τις αξιόπιστες ρυθμίσεις](/roadmap/danksharding#what-is-kzg)
## Πιο απλό και αποτελεσματικό Ethereum {#simpler-more-efficient-ethereum}
-Η πολυπλοκότητα δημιουργεί ευκαιρίες για σφάλματα ή τρωτά σημεία που μπορούν να εκμεταλλευτούν οι κακόβουλοι. Ως εκ τούτου, μέρος του οδικού χάρτη είναι η απλοποίηση του Ethereum και η κατάργηση του κώδικα που έχει κολλήσει μέσα από διάφορες αναβαθμίσεις αλλά δε χρειάζονται πλέον ή μπορούν να βελτιωθούν. Μια πιο λιτή, απλούστερη βάση κώδικα είναι ευκολότερο για τους προγραμματιστές να διατηρούν και να συλλογίζονται.
+Η πολυπλοκότητα δημιουργεί ευκαιρίες για σφάλματα ή τρωτά σημεία που μπορούν να εκμεταλλευτούν οι εισβολείς. Ως εκ τούτου, μέρος του οδικού χάρτη είναι η απλοποίηση του Ethereum και η κατάργηση του τροποποιημένου κώδικα που έχει κολλήσει μέσα από διάφορες αναβαθμίσεις αλλά δε χρειάζεται πλέον ή μπορεί να βελτιωθεί. Μια πιο λιτή και απλούστερη βάση κώδικα είναι πιο εύκολη στη συντήρηση και τη λογική για τους προγραμματιστές.
-Υπάρχουν πολλές ενημερώσεις που θα γίνουν στην [Εικονική Μηχανή Ethereum (EVM)](/developers/docs/evm) για να γίνει απλούστερη και πιο αποτελεσματική. Σε αυτά περιλαμβάνονται η [κατάργηση του κωδικού λειτουργίας SELFDESTRUCT](https://hackmd.io/@vbuterin/selfdestruct) - μια σπάνια χρησιμοποιούμενη εντολή που δε χρειάζεται πλέον και σε ορισμένες περιπτώσεις μπορεί να είναι επικίνδυνη για χρήση, ειδικά όταν συνδυάζεται με άλλες μελλοντικές αναβαθμίσεις στο μοντέλο αποθήκευσης του Ethereum. Οι [εφαρμογές πελάτη Ethereum](/glossary/#consensus-client) υποστηρίζουν επίσης ορισμένους παλιούς τύπους συναλλαγών που μπορούν πλέον να αφαιρεθούν εντελώς. Ο τρόπος υπολογισμού των [κρατήσεων](/glossary/#gas) μπορεί επίσης να βελτιωθεί και να εισαχθούν πιο αποτελεσματικές μέθοδοι για την αριθμητική υποστήριξη ορισμένων κρυπτογραφικών λειτουργιών.
+Για να καταστεί η [Εικονική Μηχανή (EVM) του Ethereum](/developers/docs/evm) απλούστερη και πιο αποτελεσματική, οι βελτιώσεις ερευνώνται και εφαρμόζονται συνεχώς. Αυτό περιλαμβάνει τόσο την αντιμετώπιση παλαιών στοιχείων όσο και την εισαγωγή βελτιστοποιήσεων.
-Ομοίως, υπάρχουν ενημερώσεις που μπορούν να γίνουν σε άλλα μέρη των σημερινών εφαρμογών πελάτη Ethereum. Ένα παράδειγμα είναι ότι οι τρέχοντες εφαρμογές πελάτη εκτέλεσης και συναίνεσης χρησιμοποιούν διαφορετικό τύπο συμπίεσης δεδομένων. Θα είναι πολύ πιο εύκολο και πιο διαισθητικό να μοιράζεστε δεδομένα μεταξύ των πελατών όταν το σχήμα συμπίεσης είναι ενοποιημένο σε ολόκληρο το δίκτυο.
+**Πρόσφατες αλλαγές που εφαρμόστηκαν:**
+
+- **Αναθεώρηση Υπολογισμού Gas:** Ο τρόπος υπολογισμού του [gas](/glossary/#gas) βελτιώθηκε σημαντικά με το **EIP-1559 (που εφαρμόστηκε στην αναβάθμιση London το 2021)**, εισάγοντας έναν βασικό μηχανισμό χρέωσης και καύσης για πιο προβλέψιμη τιμολόγηση συναλλαγών.
+- **`SELFDESTRUCT` Περιορισμός:** Ο κώδικας λειτουργίας `SELFDESTRUCT`, αν και σπάνια χρησιμοποιείται, ενέχει πιθανούς κινδύνους. Η λειτουργικότητά του **περιορίστηκε σημαντικά στην αναβάθμιση Dencun (Μάρτιος 2024) μέσω του EIP-6780** για τον μετριασμό των κινδύνων, ιδίως όσον αφορά τη διαχείριση καταστάσεων.
+- **Εκσυγχρονισμένοι τύποι συναλλαγών:** Έχουν εισαχθεί νέες μορφές συναλλαγών (π.χ., μέσω **EIP-2718** και **EIP-4844** για blob στην αναβάθμιση Dencun) για την υποστήριξη νέων λειτουργιών και τη βελτίωση της αποδοτικότητας σε σχέση με τους παλαιότερους τύπους.
+
+**Τρέχοντες και μελλοντικοί στόχοι:**
+
+- **Περαιτέρω χειρισμός του `SELFDESTRUCT`:** Ενώ υπάρχει περιορισμός, η **πιθανή πλήρης κατάργηση** του κώδικα λειτουργίας `SELFDESTRUCT` εξακολουθεί να λαμβάνεται υπόψη για μελλοντικές αναβαθμίσεις, ώστε να απλοποιηθεί περαιτέρω η κατάσταση του EVM. ([Περισσότερα συμφραζόμενα σχετικά με ζητήματα SELFDESTRUCT](https://hackmd.io/@vbuterin/selfdestruct)).
+- **Σταδιακή κατάργηση παλαιών συναλλαγών:** Παρόλο που οι [πελάτες Ethereum](/glossary/#consensus-client) εξακολουθούν να υποστηρίζουν παλαιότερους τύπους συναλλαγών για συμβατότητα με παλαιότερες εκδόσεις, ο στόχος είναι να ενθαρρυνθεί η μετάβαση σε νεότερους τύπους και **ενδεχομένως να καταργηθεί ή να καταργηθεί πλήρως η υποστήριξη για τις παλαιότερες μορφές** στο μέλλον.
+- **Συνεχιζόμενη Έρευνα για την Απόδοση του Gas:** Η διερεύνηση συνεχίζεται για **περαιτέρω βελτιώσεις στον υπολογισμό του gas**, ενδεχομένως συμπεριλαμβάνοντας έννοιες όπως το πολυδιάστατο gas για την καλύτερη απεικόνιση της χρήσης πόρων.
+- **Βελτιστοποιημένες Κρυπτογραφικές Λειτουργίες:** Συνεχίζονται οι προσπάθειες για την **εισαγωγή πιο αποτελεσματικών μεθόδων για την αριθμητική** που υποστηρίζουν τις κρυπτογραφικές λειτουργίες που χρησιμοποιούνται στο EVM.
+
+Ομοίως, υπάρχουν ενημερώσεις που μπορούν να γίνουν σε άλλα μέρη των σύγχρονων πελατών Ethereum. Ένα παράδειγμα είναι ότι οι τρέχοντες πελάτες εκτέλεσης και συναίνεσης χρησιμοποιούν διαφορετικό τύπο συμπίεσης δεδομένων. Θα είναι πολύ πιο εύκολο και πιο εύχρηστο να μοιράζεστε δεδομένα μεταξύ των πελατών όταν το σχήμα συμπίεσης είναι ενιαίο σε ολόκληρο το δίκτυο. Αυτό παραμένει ένα πεδίο εξερεύνησης.
## Τρέχουσα πρόοδος {#current-progress}
-Οι περισσότερες από τις αναβαθμίσεις που απαιτούνται για το μελλοντικό Ethereum βρίσκονται ακόμα σε **ερευνητικό στάδιο και ενδέχεται να απέχουν αρκετά χρόνια** από την εφαρμογή τους. Αναβαθμίσεις, όπως η κατάργηση της ΑΥΤΟΚΑΤΑΣΤΡΟΦΗΣ και η εναρμόνιση του συστήματος συμπίεσης που χρησιμοποιείται στα λογισμικά πελάτη εκτέλεσης και συναίνεσης, είναι πιθανό να έρθουν νωρίτερα από την κβαντική κρυπτογραφία.
+Πολλές από τις μακροπρόθεσμες αναβαθμίσεις που είναι ανθεκτικές στο μέλλον, ιδιαίτερα η **πλήρης κβαντική αντίσταση για τα βασικά πρωτόκολλα, βρίσκονται ακόμη σε ερευνητικό στάδιο και ενδέχεται να απέχουν αρκετά χρόνια** από την εφαρμογή τους.
+
+Ωστόσο, **έχει ήδη σημειωθεί σημαντική πρόοδος στις προσπάθειες απλοποίησης.** Για παράδειγμα, βασικές αλλαγές όπως ο **περιορισμός του `SELFDESTRUCT` (EIP-6780)** και η εισαγωγή των **συναλλαγών που φέρουν blob (EIP-4844)** εφαρμόστηκαν στην **αναβάθμιση Dencun (Μάρτιος 2024)**. Συνεχίζονται επίσης οι εργασίες για την εναρμόνιση των συστημάτων συμπίεσης πελατών και άλλες βελτιώσεις στην αποδοτικότητα.
**Περισσότερες πληροφορίες**
- [Κρατήσεις (Gas)](/developers/docs/gas)
- [EVM](/developers/docs/evm)
-- [Δομές δεδομένων](/developers/docs/data-structures-and-encoding)
+- [Δομές δεδομένων](/developers/docs/data-structures-and-encoding)
\ No newline at end of file
diff --git a/public/content/translations/el/roadmap/index.md b/public/content/translations/el/roadmap/index.md
index c40093abac2..39821803081 100644
--- a/public/content/translations/el/roadmap/index.md
+++ b/public/content/translations/el/roadmap/index.md
@@ -8,10 +8,10 @@ alt: "Οδικός χάρτης"
summaryPoints:
buttons:
-
- label: Περαιτέρω αναβαθμίσεις
+ content: Περαιτέρω αναβαθμίσεις
toId: ποιές-αλλαγές-έρχονται
-
- label: Προηγούμενες αναβαθμίσεις
+ content: Προηγούμενες αναβαθμίσεις
href: /history/
variant: περίγραμμα
---
@@ -109,6 +109,7 @@ buttons:
## Αναζητάτε συγκεκριμένες τεχνικές αναβαθμίσεις; {#looking-for-specific-technical-upgrades}
+- [Pectra](/roadmap/pectra) - Πράγα/Electra hardfork που φέρνει νέα προσέγγιση στην αφαίρεση λογαριασμού, βελτιώνει την επεκτασιμότητα και πολλά άλλα.
- [Danksharding](/roadmap/danksharding) - Το Danksharding κάνει τα πακέτα ενημέρωση επιπέδου 2 πολύ φθηνότερα για τους χρήστες με την προσθήκη των δεδομένων «blobs» σε μπλοκ Ethereum.
- [Ανάληψη αποθηκευμένου κεφαλαίου](/staking/withdrawals) - Η αναβάθμιση Shanghai/Capella επέτρεψε τις αναλήψεις αποθηκευμένου κεφαλαίου στο Ethereum, επιτρέποντας στους χρήστες να ξεκλειδώσουν το αποθηκευμένο κεφάλαιό τους ETH.
- [Οριστικοποίηση απλής υποδοχής](/roadmap/single-slot-finality) - Αντί για την αναμονή των δεκαπέντε λεπτών, τα μπλοκ θα μπορούσαν να προταθούν και να οριστικοποιηθούν στην ίδια υποδοχή. Είναι πιο βολικό για εφαρμογές και πολύ πιο δύσκολο να παραβιαστεί.
diff --git a/public/content/translations/el/roadmap/merge/index.md b/public/content/translations/el/roadmap/merge/index.md
index 6f2d24794ba..175866b6bcb 100644
--- a/public/content/translations/el/roadmap/merge/index.md
+++ b/public/content/translations/el/roadmap/merge/index.md
@@ -92,13 +92,13 @@ title="Προγραμματιστές Dapp και Έξυπνων συμβολα
contentPreview="The Merge was designed to have minimal impact on smart contract and dapp developers."
id="developers">
-Η Συγχώνευση πρόσθεσε αλλαγές στη συναίνεση, η οποία περιλαμβάνει επίσης αλλαγές που σχετίζονται με:<
+Η Συγχώνευση πρόσθεσε αλλαγές στη συναίνεση, η οποία περιλαμβάνει επίσης αλλαγές που σχετίζονται με:
- δομή μπλοκ
- θέση/ χρόνος μπλοκ
- αλλαγές opcode
- - τυχαίες πηγές επί της αλυσίδας
+ - Τυχαίες πηγές τυχαίας στην αλυσίδα.
- έννοιες safe head και finalized blocks
diff --git a/public/content/translations/el/roadmap/pbs/index.md b/public/content/translations/el/roadmap/pbs/index.md
new file mode 100644
index 00000000000..9f96ed8aa9a
--- /dev/null
+++ b/public/content/translations/el/roadmap/pbs/index.md
@@ -0,0 +1,51 @@
+---
+title: Διαχωρισμός προτείνοντος - κατασκευαστή
+description: Μάθετε πώς και γιατί οι επικυρωτές Ethereum θα διαχωρίσουν τις αρμοδιότητες δημιουργίας μπλοκ και μετάδοσης μπλοκ.
+lang: el
+---
+
+# Διαχωρισμός προτείνοντος - κατασκευαστή {#proposer-builder-separation}
+
+Οι σημερινοί επικυρωτές Ethereum δημιουργούν _και_ μεταδίδουν μπλοκ. Συγκεντρώνουν συναλλαγές για τις οποίες έχουν λάβει γνώση μέσω του δικτύου ενημέρωσης (gossip network) και τις συσκευάζουν σε ένα μπλοκ που αποστέλλεται σε ομότιμους χρήστες στο δίκτυο Ethereum. Ο **διαχωρισμός προτείνοντος-κατασκευαστή (PBS)** κατανέμει αυτές τις εργασίες σε πολλαπλούς επικυρωτές. Οι κατασκευαστές μπλοκ γίνονται υπεύθυνοι για τη δημιουργία μπλοκ και την προσφορά τους στον προτείνοντα μπλοκ σε κάθε χρονικό κενό. Ο προτείνων μπλοκ δεν μπορεί να δει τα περιεχόμενα του μπλοκ. Απλώς επιλέγει το πιο κερδοφόρο και πληρώνει ένα τέλος στον δημιουργό μπλοκ πριν το στείλει στους ομοτίμους του.
+
+Αυτή είναι μια σημαντική αναβάθμιση για διάφορους λόγους. Πρώτον, δημιουργεί ευκαιρίες για την αποτροπή της λογοκρισίας των συναλλαγών σε επίπεδο πρωτοκόλλου. Δεύτερον, αποτρέπει τον εκτοπισμό των χομπίστων επικύρωσης από θεσμικούς παίκτες που μπορούν να βελτιστοποιήσουν καλύτερα την κερδοφορία της κατασκευής μπλοκ τους. Τρίτον, βοηθά στην κλιμάκωση του Ethereum, καθώς καθιστά δυνατές τις αναβαθμίσεις Danksharding.
+
+## PBS και αντίσταση κατά της λογοκρισίας {#pbs-and-censorship-resistance}
+
+Ο διαχωρισμός των κατασκευαστών μπλοκ και των προτεινόντων μπλοκ καθιστά πολύ πιο δύσκολο για τους κατασκευαστές μπλοκ να λογοκρίνουν τις συναλλαγές. Αυτό οφείλεται στο γεγονός ότι μπορούν να προστεθούν σχετικά πολύπλοκα κριτήρια συμπερίληψης τα οποία διασφαλίζουν ότι δεν γίνεται λογοκρισία πριν από την πρόταση του μπλοκ. Καθώς ο προτείνων μπλοκ είναι ξεχωριστή οντότητα από τον κατασκευαστή μπλοκ, μπορεί να αναλάβει τον ρόλο να προστατεύει τους κατασκευαστές μπλοκ από τη λογοκρισία.
+
+Για παράδειγμα, μπορούν να εισαχθούν λίστες συμπερίληψης έτσι ώστε, όταν οι επικυρωτές μαθαίνουν για συναλλαγές, αλλά δεν τις βλέπουν να περιλαμβάνονται σε μπλοκ, να μπορούν να τις επιβάλλουν ως απαραίτητες στο επόμενο μπλοκ. Η λίστα συμπερίληψης δημιουργείται από το τοπικό mempool των προτεινόντων μπλοκ (η λίστα των συναλλαγών τις οποίες έχει λάβει γνώση) και αποστέλλεται στους ομοτίμους τους λίγο πριν προταθεί ένα μπλοκ. Εάν λείπει οποιαδήποτε από τις συναλλαγές από τη λίστα συμπερίληψης, ο προτείνων θα μπορούσε είτε να απορρίψει το μπλοκ, είτε να προσθέσει τις συναλλαγές που λείπουν πριν το προτείνει, είτε να το προτείνει και να το αφήσει να απορριφθεί από άλλους επικυρωτές όταν το λάβουν. Υπάρχει επίσης μια πιθανώς πιο αποτελεσματική εκδοχή αυτής της ιδέας που υποστηρίζει ότι οι κατασκευαστές πρέπει να χρησιμοποιούν πλήρως τον διαθέσιμο χώρο του μπλοκ και, αν δεν το κάνουν, προστίθενται συναλλαγές από τη λίστα συμπερίληψης του προτείνοντος. Πρόκειται για έναν τομέα ενεργούς έρευνας και η βέλτιστη διαμόρφωση για τις λίστες συμπερίληψης δεν έχει ακόμη προσδιοριστεί.
+
+Τα [κρυπτογραφημένα mempool](https://www.youtube.com/watch?v=fHDjgFcha0M&list=PLpktWkixc1gUqkyc1-iE6TT0RWQTBJELe&index=3) θα μπορούσαν επίσης να καταστήσουν αδύνατο για τους κατασκευαστές και τους προτείνοντες να γνωρίζουν ποιες συναλλαγές συμπεριλαμβάνουν σε ένα μπλοκ προτού μεταδοθεί το μπλοκ.
+
+
+
+Ισχυροί οργανισμοί μπορούν να πιέσουν τους επικυρωτές να λογοκρίνουν τις συναλλαγές προς ή από συγκεκριμένες διευθύνσεις. Οι επικυρωτές συμμορφώνονται με αυτή την πίεση μέσω του εντοπισμού διευθύνσεων στη μαύρη λίστα εντός της δεξαμενής συναλλαγών τους και της παράλειψής τους από τα μπλοκ που προτείνουν. Αυτό δεν θα είναι πλέον δυνατό μετά το PBS, επειδή οι προτείνοντες μπλοκ δεν θα γνωρίζουν ποιες συναλλαγές μεταδίδουν στα μπλοκ τους. Ενδέχεται να είναι σημαντικό για ορισμένα άτομα ή εφαρμογές να συμμορφώνονται με τους κανόνες λογοκρισίας, για παράδειγμα όταν έχει τεθεί ως νόμος στην περιοχή τους. Σε αυτές τις περιπτώσεις, η συμμόρφωση πραγματοποιείται σε επίπεδο εφαρμογής, ενώ το πρωτόκολλο παραμένει χωρίς άδεια και λογοκρισία.
+
+
+
+## PBS και MEV {#pbs-and-mev}
+
+Η **μέγιστη εξορύξιμη αξία (Maximum extractable value, MEV)** αναφέρεται σε επικυρωτές που μεγιστοποιούν την κερδοφορία τους με την τοποθέτηση των συναλλαγών σε ευνοϊκή σειρά. Συνήθη παραδείγματα περιλαμβάνουν το αρμπιτράζ ανταλλαγών σε αποκεντρωμένα ανταλλακτήρια (π.χ. προπορευόμενες συναλλαγές μεγάλης πώλησης ή αγοράς) ή τον εντοπισμό ευκαιριών για ρευστοποίηση θέσεων DeFi. Η μεγιστοποίηση της MEV απαιτεί εξελιγμένη τεχνογνωσία και προσαρμοσμένο λογισμικό που προσαρτάται σε κανονικούς επικυρωτές. Κατά συνέπεια, είναι πολύ πιο πιθανό οι θεσμικοί φορείς εκμετάλλευσης να αποδίδουν καλύτερα από τα μεμονωμένα άτομα και τους χομπίστες επικυρωτές στην εξαγωγή MEV. Αυτό σημαίνει ότι οι αποδόσεις αποθηκευμένου κεφαλαίου είναι πιθανό να είναι υψηλότερες για τους κεντρικοποιημένους φορείς εκμετάλλευσης, πράγμα που δημιουργεί μια δύναμη συγκεντρωτικού χαρακτήρα που αποθαρρύνει την αποθήκευση κεφαλαίου στο σπίτι.
+
+Το PBS λύνει αυτό το πρόβλημα με την αναδιαμόρφωση των οικονομικών της MEV. Αντί ο προτείνων μπλοκ να κάνει τη δική του αναζήτηση MEV, απλώς επιλέγει ένα μπλοκ από τα πολλά που του προσφέρουν οι δημιουργοί μπλοκ. Οι δημιουργοί μπλοκ μπορεί να έχουν κάνει μια εξελιγμένη εξαγωγή MEV, αλλά η ανταμοιβή για αυτή πηγαίνει στον προτείνοντα μπλοκ. Αυτό σημαίνει ότι ακόμη και αν στην εξαγωγή MEV κυριαρχεί μια μικρή ομάδα εξειδικευμένων δημιουργών μπλοκ, η ανταμοιβή για αυτήν θα μπορούσε να πάει σε οποιονδήποτε επικυρωτή στο δίκτυο, συμπεριλαμβανομένων των μεμονωμένων οικιακών χρηστών.
+
+
+
+Τα μεμονωμένα άτομα θα μπορούσαν να παρακινηθούν να αποθηκεύουν κεφάλαιο σε δεξαμενές, και όχι μόνοι τους, λόγω των ενισχυμένων ανταμοιβών που προσφέρουν οι προηγμένες στρατηγικές MEV. Ο διαχωρισμός των διαδικασιών της δημιουργίας μπλοκ από της πρότασης μπλοκ σημαίνει ότι η εξαγόμενη MEV θα διανεμηθεί σε περισσότερους επικυρωτές αντί να συγκεντρωθεί σε ένα σημείο με τον πιο αποτελεσματικό μηχανισμό αναζήτησης MEV. Ταυτόχρονα, η δυνατότητα ύπαρξης εξειδικευμένων κατασκευαστών μπλοκ αφαιρεί το βάρος της δημιουργίας μπλοκ από τα μεμονωμένα άτομα και επίσης τα αποτρέπει από το να κλέψουν MEV για τον εαυτό τους, ενώ μεγιστοποιεί τον αριθμό των μεμονωμένων, ανεξάρτητων επικυρωτών που μπορούν να ελέγξουν ότι τα μπλοκ είναι ειλικρινή. Η σημαντική έννοια είναι η «ασυμμετρία επαληθευτή-επικυρωτή», η οποία αναφέρεται στην ιδέα ότι η κεντρικοποιημένη παραγωγή μπλοκ είναι καλή, εφόσον υπάρχει ένα ισχυρό και στο μέγιστο αποκεντρωμένο δίκτυο επικυρωτών ικανών να αποδείξουν ότι τα μπλοκ είναι ειλικρινή. Η αποκέντρωση είναι μέσο, όχι τελικός στόχος — αυτό που θέλουμε είναι ειλικρινή μπλοκ.
+
+
+## PBS και Danksharding {#pbs-and-danksharding}
+
+Το Danksharding είναι ο τρόπος με τον οποίο το Ethereum θα κλιμακωθεί σε >100.000 συναλλαγές ανά δευτερόλεπτο και θα ελαχιστοποιήσει τις χρεώσεις για τους χρήστες των πακέτων ενημέρωσης. Βασίζεται στο PBS επειδή αυξάνει τον φόρτο εργασίας για τους κατασκευαστές μπλοκ, οι οποίοι θα πρέπει να υπολογίσουν αποδείξεις για έως και 64 MB δεδομένων rollup σε λιγότερο από 1 δευτερόλεπτο. Αυτό πιθανότατα θα απαιτήσει εξειδικευμένους κατασκευαστές που μπορούν να αφιερώσουν ένα αρκετά αξιόλογο υλικό στην εργασία. Ωστόσο, στην παρούσα κατάσταση, η κατασκευή μπλοκ θα μπορούσε να συγκεντρωθεί ολοένα και περισσότερο γύρω από πιο εξελιγμένους και ισχυρούς χειριστές ούτως ή άλλως λόγω της εξόρυξης MEV. Ο διαχωρισμός προτείνοντος-δημιουργού είναι ένας τρόπος να αποδεχτούμε αυτή την πραγματικότητα και να αποτρέψουμε την άσκηση συγκεντρωτικής δύναμης στην επικύρωση μπλοκ (το σημαντικό μέρος) ή στη διανομή των ανταμοιβών δεσμευμένου κεφαλαίου. Ένα μεγάλο δευτερεύον πλεονέκτημα είναι ότι οι εξειδικευμένοι κατασκευαστές μπλοκ είναι επίσης πρόθυμοι και ικανοί να υπολογίσουν τις απαραίτητες αποδείξεις δεδομένων για το Danksharding.
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Το PBS βρίσκεται σε προχωρημένο στάδιο έρευνας, αλλά εξακολουθούν να υπάρχουν ορισμένα σημαντικά ερωτήματα σχεδιασμού που πρέπει να επιλυθούν προτού μπορέσει να πρωτοτυποποιηθεί σε πελάτες Ethereum. Δεν υπάρχουν ακόμη οριστικές προδιαγραφές. Αυτό σημαίνει ότι το PBS πιθανότατα θα εφαρμοστεί σε έναν χρόνο από τώρα ή και περισσότερο. Ελέγξτε την πιο πρόσφατη [κατάσταση της έρευνας](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Κατάσταση έρευνας: αντίσταση στη λογοκρισία με το PBS](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance)
+- [Σχέδια αγοράς τελών φιλικών προς το PBS](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725)
+- [PBS και αντίσταση κατά της λογοκρισίας](https://notes.ethereum.org/@fradamt/H1TsYRfJc#Secondary-auctions)
+- [Λίστες συμπερίληψης](https://notes.ethereum.org/@fradamt/H1ZqdtrBF)
diff --git a/public/content/translations/el/roadmap/scaling/index.md b/public/content/translations/el/roadmap/scaling/index.md
index c6d3300a253..ba13a86a555 100644
--- a/public/content/translations/el/roadmap/scaling/index.md
+++ b/public/content/translations/el/roadmap/scaling/index.md
@@ -1,5 +1,5 @@
---
-title: Επεκτασιμότητα Ethereum
+title: Κλιμάκωση του Ethereum
description: Συγκέντρωση ομαδικών συναλλαγών εκτός αλυσίδας, μειώνοντας το κόστος για τον χρήστη. Ωστόσο, ο τρόπος με τον οποίο τα πακέτα συναλλαγών χρησιμοποιούν δεδομένα επί του παρόντος είναι πολύ ακριβός, περιορίζοντας το πόσο φθηνές μπορεί να είναι οι συναλλαγές. Αυτό διορθώνεται με το Proto-Danksharding.
lang: el
image: /images/roadmap/roadmap-transactions.png
@@ -32,7 +32,7 @@ template: roadmap
Το δεύτερο στάδιο επέκτασης των δεδομένων blob είναι περίπλοκο γιατί απαιτεί νέες μεθόδους για τον έλεγχο της διαθεσιμότητας των δεδομένων rollup στο δίκτυο και βασίζεται σε [επικυρωτές](/glossary/#validator) που διαχωρίζουν τις αρμοδιότητες δημιουργίας [μπλοκ](/glossary/#block) και πρότασης μπλοκ. Απαιτεί επίσης έναν τρόπο για να αποδεικνύεται κρυπτογραφικά ότι οι επικυρωτές έχουν επαληθεύσει μικρά υποσύνολα των δεδομένων blob.
-Το δεύτερο βήμα είναι γνωστό ως [«Danksharding»](/roadmap/danksharding/). Η πλήρης εφαρμογή του **απέχει πιθανότατα αρκετά χρόνια**. Το Danksharding βασίζεται σε άλλες εξελίξεις, όπως ο διαχωρισμός [δημιουργίας μπλοκ και της πρότασης μπλοκ](/roadmap/pbs), καθώς και σε νέους σχεδιασμούς δικτύου που επιτρέπουν στο δίκτυο να επιβεβαιώνει αποτελεσματικά τη διαθεσιμότητα των δεδομένων με τυχαία δειγματοληψία λίγων kilobytes κάθε φορά, μια διαδικασία γνωστή ως [δειγματοληψία διαθεσιμότητας δεδομένων (DAS)](/developers/docs/data-availability).
+Το δεύτερο βήμα είναι γνωστό ως [«Danksharding»](/roadmap/danksharding/). Οι εργασίες υλοποίησης συνεχίζονται, με την πρόοδο να σημειώνεται σε προαπαιτούμενα όπως ο [διαχωρισμός της δημιουργίας μπλοκ και της πρότασης μπλοκ](/roadmap/pbs) και νέα σχέδια δικτύου που επιτρέπουν στο δίκτυο να επιβεβαιώνει αποτελεσματικά ότι τα δεδομένα είναι διαθέσιμα, λαμβάνοντας τυχαία δειγματοληψία μερικών κιλομπάιτ κάθε φορά, γνωστή ως [δειγματοληψία διαθεσιμότητας δεδομένων (DAS)](/developers/docs/data-availability).
Περισσότερα για το Danksharding
@@ -44,8 +44,10 @@ template: roadmap
## Τρέχουσα πρόοδος {#current-progress}
-Το Proto-Danksharding είναι το πρώτο από αυτά τα στοιχεία του οδικού χάρτη που θα εφαρμοστεί ως μέρος της αναβάθμισης δικτύου Cancun-Deneb (Dencun) τον Μάρτιο του 2024. Η **πλήρης εφαρμογή του Danksharding απέχει πιθανότατα αρκετά χρόνια**, καθώς προϋποθέτει την ολοκλήρωση αρκετών άλλων στοιχείων του οδικού χάρτη. Η αποκέντρωση της υποδομής των rollup είναι πιθανό να είναι μια σταδιακή διαδικασία, ωστόσο υπάρχουν πολλά διαφορετικά rollup που δημιουργούν ελαφρώς διαφορετικά συστήματα και θα αποκεντρωθούν πλήρως με διαφορετικούς ρυθμούς.
+Το Proto-Danksharding υλοποιήθηκε με επιτυχία στο πλαίσιο της αναβάθμισης του δικτύου Cancun-Deneb («Dencun») τον Μάρτιο του 2024. Από την εφαρμογή τους, τα πακέτα ενημέρωσης έχουν αρχίσει να χρησιμοποιούν την αποθήκευση blob, με αποτέλεσμα τη μείωση του κόστους συναλλαγών για τους χρήστες και εκατομμύρια συναλλαγές που υποβάλλονται σε επεξεργασία σε blob.
-[Περισσότερα για την αναβάθμιση δικτύου Dencun](/roadmap/dencun/)
+Οι εργασίες για το πλήρες Danksharding συνεχίζονται, με πρόοδο στις προαπαιτούμενες γνώσεις όπως το PBS (Διαχωρισμός Προτείνοντος-Δημιουργού) και το DAS (Δειγματοληψία Διαθεσιμότητας Δεδομένων). Η αποκέντρωση της υποδομής των rollup είναι μια σταδιακή διαδικασία, ωστόσο υπάρχουν πολλά διαφορετικά rollup που δημιουργούν ελαφρώς διαφορετικά συστήματα και θα αποκεντρωθούν πλήρως με διαφορετικούς ρυθμούς.
-
+[Περισσότερα για την αναβάθμιση δικτύου Dencun και τις επιπτώσεις](/roadmap/dencun/)
+
+
\ No newline at end of file
diff --git a/public/content/translations/el/roadmap/secret-leader-election/index.md b/public/content/translations/el/roadmap/secret-leader-election/index.md
new file mode 100644
index 00000000000..bfd238a82f5
--- /dev/null
+++ b/public/content/translations/el/roadmap/secret-leader-election/index.md
@@ -0,0 +1,44 @@
+---
+title: Eκλογή μυστικού ηγέτη
+description: Εξήγηση του τρόπου με τον οποίο η μυστική εκλογή αρχηγού μπορεί να βοηθήσει στην προστασία των επικυρωτών από επιθέσεις
+lang: el
+summaryPoints:
+ - Η διεύθυνση IP των προτεινόμενων μπλοκ μπορεί να είναι γνωστή εκ των προτέρων, καθιστώντας τους ευάλωτους σε επιθέσεις
+ - Η μυστική εκλογή αρχηγού κρύβει την ταυτότητα των επικυρωτών, έτσι ώστε να μην είναι γνωστοί εκ των προτέρων
+ - Μια επέκταση αυτής της ιδέας είναι να γίνεται τυχαία η επιλογή επικυρωτή σε κάθε υποδοχή.
+---
+
+# Eκλογή μυστικού ηγέτη {#single-secret-leader-election}
+
+Στον σημερινό μηχανισμό συναίνεσης βασισμένο στην [απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos), η λίστα των επερχόμενων προτείνοντων μπλοκ είναι δημόσια και είναι δυνατόν να αντιστοιχιστούν οι διευθύνσεις IP τους. Αυτό σημαίνει ότι οι επιτιθέμενοι θα μπορούσαν να εντοπίσουν ποιοι επικυρωτές πρόκειται να προτείνουν ένα μπλοκ και να τους στοχεύσουν με μια επίθεση άρνησης υπηρεσίας (DoS) που τους αφήνει ανίκανους να προτείνουν το μπλοκ τους εγκαίρως.
+
+Αυτό θα μπορούσε να δημιουργήσει ευκαιρίες για κέρδος για έναν εισβολέα. Για παράδειγμα, ένας προτείνοντας μπλοκ που επιλέχθηκε για τη θέση `n+1` θα μπορούσε να κάνει DoS στον προτείνοντα στη θέση `n`, ώστε να χάσει την ευκαιρία του να προτείνει ένα μπλοκ. Αυτό θα επέτρεπε στον επιτιθέμενο στον προτείνοντα μπλοκ να εξαγάγει το MEV και των δύο θέσεων ή να αρπάξει όλες τις συναλλαγές που θα έπρεπε να χωριστούν σε δύο μπλοκ και αντ' αυτού να τις συμπεριλάβει όλες σε ένα, κερδίζοντας όλες τις σχετικές αμοιβές. Αυτό είναι πιθανό να επηρεάσει περισσότερο τους οικιακούς επικυρωτές από τους πιο προηγμένους θεσμικούς επικυρωτές που μπορούν να χρησιμοποιήσουν πιο προηγμένες μεθόδους για να προστατευθούν από επιθέσεις DoS και θα μπορούσε επομένως να αποτελέσει μια κεντρική δύναμη.
+
+Υπάρχουν διάφορες λύσεις για αυτό το πρόβλημα. Μία είναι η [Distributed Validator Technology](https://github.com/ethereum/distributed-validator-specs), η οποία στοχεύει στη διάδοση των διάφορων εργασιών που σχετίζονται με τη λειτουργία ενός επικυρωτή σε πολλαπλές μηχανές, ώστε να είναι πολύ πιο δύσκολο για έναν επιτιθέμενο να αποτρέψει την πρόταση ενός μπλοκ σε μια συγκεκριμένη θέση. Ωστόσο, η πιο ισχυρή λύση είναι η **Εκλογή απλού μυστικού αρχηγού (SSLE)**.
+
+## Μυστική εκλογή αρχηγού {#secret-leader-election}
+
+Στο SSLE, η έξυπνη κρυπτογραφία χρησιμοποιείται για να διασφαλιστεί ότι μόνο ο επιλεγμένος επικυρωτής γνωρίζει ότι έχει επιλεγεί. Αυτό λειτουργεί με κάθε επικυρωτή να υποβάλλει μια δέσμευση σε ένα μυστικό που μοιράζονται όλοι. Οι δεσμεύσεις ανακατεύονται και αναδιαμορφώνονται έτσι ώστε κανείς να μην μπορεί να αντιστοιχίσει τις δεσμεύσεις στους επικυρωτές, αλλά κάθε επικυρωτής γνωρίζει ποια δέσμευση του ανήκει. Στη συνέχεια, επιλέγεται τυχαία μία δέσμευση. Εάν ένας επικυρωτής ανιχνεύσει ότι η δέσμευσή του επιλέχθηκε, γνωρίζει ότι είναι η σειρά του να προτείνει ένα μπλοκ.
+
+Η κορυφαία υλοποίηση αυτής της ιδέας ονομάζεται [Whisk](https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763). Το οποίο λειτουργεί ως εξής:
+
+1. Οι επικυρωτές δεσμεύονται σε ένα κοινό μυστικό. Το σχήμα δέσμευσης έχει σχεδιαστεί έτσι ώστε να μπορεί να συνδεθεί με μια ταυτότητα επικυρωτή, αλλά και να τυχαιοποιηθεί, έτσι ώστε κανένα τρίτο μέρος να μην μπορεί να αναστρέψει τη σύνδεση και να αντιστοιχίσει μια συγκεκριμένη δέσμευση με έναν συγκεκριμένο επικυρωτή.
+2. Στην αρχή μιας εποχής, επιλέγεται ένα τυχαίο σύνολο επικυρωτών για δείγμα δεσμεύσεων από 16,384 επικυρωτές, χρησιμοποιώντας το RANDAO.
+3. Για τις επόμενες 8182 θέσεις (1 ημέρα), οι προτείνοντες μπλοκ ανακατεύουν και τυχαιοποιούν ένα υποσύνολο των δεσμεύσεων χρησιμοποιώντας τη δική τους ιδιωτική εντροπία.
+4. Αφού ολοκληρωθεί το ανακάτεμα, το RANDAO χρησιμοποιείται για τη δημιουργία μιας ταξινομημένης λίστας των δεσμεύσεων. Αυτή η λίστα έχει αντιστοιχιστεί σε θέσεις χρονικών κενών Ethereum.
+5. Οι επικυρωτές βλέπουν ότι η δέσμευσή τους συνδέεται με μια συγκεκριμένη θέση και όταν φτάσει αυτή η θέση προτείνουν ένα μπλοκ.
+6. Αυτά τα βήματα επαναλαμβάνονται, έτσι ώστε η ανάθεση δεσμεύσεων σε θέσεις να προηγείται πάντα κατά πολύ από την τρέχουσα θέση.
+
+Αυτό εμποδίζει τους εισβολείς να γνωρίζουν εκ των προτέρων ποιος συγκεκριμένος επικυρωτής θα προτείνει το επόμενο μπλοκ, αποτρέποντας τη δυνατότητα για επιθέσεις DOS.
+
+## Μυστική εκλογή μη ενιαίου αρχηγού (SnSLE) {#secret-non-single-leader-election}
+
+Υπάρχει επίσης μια ξεχωριστή πρόταση που στοχεύει στη δημιουργία ενός σεναρίου όπου ο καθένας από τους επικυρωτές έχει μια τυχαία πιθανότητα να προτείνει ένα μπλοκ σε κάθε θέση, παρόμοια με τον τρόπο με τον οποίο αποφασιζόταν η πρόταση μπλοκ στο πλαίσιο της απόδειξης εργασίας, η οποία είναι γνωστή ως **μυστική εκλογή μη ενιαίου αρχηγού (SnSLE)**. Ένας απλός τρόπος για να γίνει αυτό είναι να χρησιμοποιήσετε τη λειτουργία RANDAO που χρησιμοποιείται για την τυχαία επιλογή επικυρωτών στο σημερινό πρωτόκολλο. Η ιδέα του RANDAO είναι ότι ένας αρκετά τυχαίος αριθμός δημιουργείται με την ανάμειξη των κατακερματισμών που υποβάλλονται από πολλούς ανεξάρτητους επικυρωτές. Στο SnSLE, αυτοί οι κατακερματισμοί θα μπορούσαν να χρησιμοποιηθούν για την επιλογή του επόμενου προτείνοντος μπλοκ, για παράδειγμα μέσω της επιλογής του κατακερματισμού χαμηλότερης τιμής. Το εύρος των έγκυρων κατακερματισμών θα μπορούσε να περιοριστεί για να συντονιστεί η πιθανότητα επιλογής μεμονωμένων επικυρωτών σε κάθε θέση χρονικού κενού. Με τον ισχυρισμό ότι ο κατακερματισμός πρέπει να είναι μικρότερος από `2^256 * 5 / N` όπου `N` = αριθμός ενεργών επικυρωτών, η πιθανότητα επιλογής οποιουδήποτε μεμονωμένου εργαλείου επικύρωσης σε κάθε θέση θα ήταν `5/Ν`. Σε αυτό το παράδειγμα, θα υπήρχε πιθανότητα 99,3% τουλάχιστον ένας προτείνων να δημιουργήσει έναν έγκυρο κατακερματισμό σε κάθε θέση.
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Το SSLE και SnSLE βρίσκονται και τα δύο στο στάδιο της έρευνας. Δεν υπάρχουν ακόμη οριστικές προδιαγραφές για καμία από τις δύο ιδέες. Το SSLE και το SnSLE είναι ανταγωνιστικές προτάσεις που δεν θα μπορούσαν να εφαρμοστούν ταυτόχρονα. Πριν κυκλοφορήσουν, χρειάζονται περισσότερη έρευνα και ανάπτυξη, δημιουργία πρωτοτύπων και εφαρμογή σε δημόσια δοκιμαστικά δίκτυα.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [SnSLE](https://ethresear.ch/t/secret-non-single-leader-election/11789)
diff --git a/public/content/translations/el/roadmap/single-slot-finality/index.md b/public/content/translations/el/roadmap/single-slot-finality/index.md
new file mode 100644
index 00000000000..0cbbed0814e
--- /dev/null
+++ b/public/content/translations/el/roadmap/single-slot-finality/index.md
@@ -0,0 +1,66 @@
+---
+title: Οριστικοποίηση θέσης μπλοκ
+description: Επεξήγηση για την οριστικοποίηση θέσεως μπλοκ
+lang: el
+---
+
+# Οριστικοποίηση θέσης μπλοκ {#single-slot-finality}
+
+Χρειάζονται περίπου 15 λεπτά για να οριστικοποιηθεί ένα μπλοκ Ethereum. Ωστόσο, μπορούμε να κάνουμε τον μηχανισμό συναίνεσης του Ethereum να επικυρώνει τα μπλοκ πιο αποτελεσματικά και να μειώνει δραματικά τον χρόνο οριστικοποίησης. Αντί της αναμονής των δεκαπέντε λεπτών, τα μπλοκ θα μπορούσαν να προταθούν και να οριστικοποιηθούν στην ίδια θέση. Αυτή η ιδέα είναι γνωστή ως **οριστικοποίηση μονής θέσης (SSF)**.
+
+## Τι είναι η οριστικοποίηση; {#what-is-finality}
+
+Στον μηχανισμό συναίνεσης που βασίζεται στην απόδειξη συμμετοχής του Ethereum, η οριστικοποίηση αναφέρεται στην εγγύηση ότι ένα μπλοκ δεν μπορεί να τροποποιηθεί ή να αφαιρεθεί από το blockchain χωρίς να καεί τουλάχιστον το 33% του συνολικού αποθηκευμένου ETH. Αυτό λέγεται «κρυπτοοικονομική» ασφάλεια, καθώς η αυτοπεποίθηση προέρχεται από το εξαιρετικά υψηλό κόστος που σχετίζεται με την αλλαγή της σειράς ή του περιεχομένου της αλυσίδας που θα εμπόδιζε οποιονδήποτε λογικό οικονομικό παράγοντα από το να το δοκίμαζε.
+
+## Γιατί να στοχεύσετε για ταχύτερη οριστικοποίηση; {#why-aim-for-quicker-finality}
+
+Ο τρέχων χρόνος οριστικοποίησης αποδείχθηκε ότι είναι πολύ μεγάλος. Οι περισσότεροι χρήστες δε θέλουν να περιμένουν 15 λεπτά για την οριστικοποίηση και δεν είναι βολικό για τις εφαρμογές και τα ανταλλακτήρια που μπορεί να θέλουν υψηλή ταχύτητα συναλλαγών να περιμένουν τόσο πολύ για να βεβαιωθούν ότι οι συναλλαγές τους είναι μόνιμες. Η καθυστέρηση μεταξύ της πρότασης ενός μπλοκ και της οριστικοποίησης του δημιουργεί επίσης μια ευκαιρία για σύντομες ανανεώσεις που θα μπορούσε να χρησιμοποιήσει ένας εισβολέας για να λογοκρίνει ορισμένα μπλοκ ή να εξαγάγει το MEV. Ο μηχανισμός που ασχολείται με τη σταδιακή αναβάθμιση μπλοκ, είναι αρκετά περίπλοκος και έχει διορθωθεί αρκετές φορές για να κλείσει τα τρωτά σημεία ασφαλείας, καθιστώντας τον ένα από τα μέρη της βάσης κώδικα Ethereum όπου είναι πιο πιθανό να προκύψουν σφάλματα. Όλα αυτά τα ζητήματα θα μπορούσαν να εξαλειφθούν με τη μείωση του χρόνου οριστικοποίησης σε μία μόνο υποδοχή.
+
+## Οι συμβιβασμοί αποκέντρωσης / χρόνου / εξόδων {#the-decentralization-time-overhead-tradeoff}
+
+Η εγγύηση οριστικότητας δεν αποτελεί άμεση ιδιοκτησία ενός νέου μπλοκ, χρειάζεται χρόνος για να οριστικοποιηθεί ένα νέο μπλοκ. Ο λόγος για αυτό είναι ότι οι επικυρωτές που αντιπροσωπεύουν τουλάχιστον τα 2/3 του συνολικού αποθηκευμένου ETH στο δίκτυο πρέπει να ψηφίσουν υπέρ του μπλοκ ("βεβαίωση") προκειμένου να θεωρηθεί οριστικό. Κάθε κόμβος επικύρωσης στο δίκτυο πρέπει να επεξεργαστεί τις βεβαιώσεις από άλλους κόμβους για να γνωρίζει ότι ένα μπλοκ έχει ή δεν έχει, επιτύχει αυτό το όριο των 2/3.
+
+Όσο μικρότερος είναι ο χρόνος που επιτρέπεται για την οριστικοποίηση, τόσο περισσότερη υπολογιστική ισχύς απαιτείται σε κάθε κόμβο επειδή η επεξεργασία της βεβαίωσης πρέπει να γίνει πιο γρήγορα. Επίσης, όσο περισσότεροι κόμβοι επικύρωσης υπάρχουν στο δίκτυο, τόσο περισσότερες βεβαιώσεις πρέπει να υποβάλλονται σε επεξεργασία για κάθε μπλοκ, προσθέτοντας επίσης στην απαιτούμενη επεξεργαστική ισχύ. Όσο περισσότερη ισχύς επεξεργασίας απαιτείται, τόσο λιγότερα άτομα μπορούν να συμμετάσχουν επειδή απαιτείται πιο ακριβό υλικό για την εκτέλεση κάθε κόμβου επικύρωσης. Η αύξηση του χρόνου μεταξύ των μπλοκ μειώνει την υπολογιστική ισχύ που απαιτείται σε κάθε κόμβο αλλά επιμηκύνει το χρόνο της οριστικοποίησης, επειδή οι βεβαιώσεις επεξεργάζονται πιο αργά.
+
+Επομένως, υπάρχει ένας συμβιβασμός μεταξύ των γενικών εξόδων (υπολογιστική ισχύς), της αποκέντρωσης (αριθμός κόμβων που μπορούν να συμμετάσχουν στην επικύρωση της αλυσίδας) και του χρόνου μέχρι την οριστικοποίηση. Το ιδανικό σύστημα εξισορροπεί την ελάχιστη υπολογιστική ισχύ, τη μέγιστη αποκέντρωση και τον ελάχιστο χρόνο μέχρι την οριστικοποίηση.
+
+Ο τρέχων μηχανισμός συναίνεσης του Ethereum εξισορρόπησε αυτές τις τρεις παραμέτρους ως εξής:
+
+- **Ορισμός της ελάχιστης αποθήκευσης σε 32 ETH**. Αυτό θέτει ένα ανώτατο όριο στον αριθμό των βεβαιώσεων επικυρωτών που πρέπει να υποβληθούν σε επεξεργασία από μεμονωμένους κόμβους και επομένως ένα ανώτατο όριο στις υπολογιστικές απαιτήσεις για κάθε κόμβο.
+- **Ρύθμιση του χρόνου οριστικοποίησης στα ~15 λεπτά**. Αυτό δίνει αρκετό χρόνο στους επικυρωτές που εκτελούνται σε κανονικούς οικιακούς υπολογιστές για να επεξεργαστούν με ασφάλεια τις βεβαιώσεις για κάθε μπλοκ.
+
+Με την τρέχουσα σχεδίαση του μηχανισμού, προκειμένου να μειωθεί ο χρόνος μέχρι την οριστικοποίηση, είναι απαραίτητο να μειωθεί ο αριθμός των επικυρωτών στο δίκτυο ή να αυξηθούν οι απαιτήσεις υλικού για κάθε κόμβο. Ωστόσο, υπάρχουν βελτιώσεις που μπορούν να γίνουν στον τρόπο επεξεργασίας των βεβαιώσεων, οι οποίες μπορούν να επιτρέψουν την καταμέτρηση περισσότερων βεβαιώσεων χωρίς να προστεθεί το γενικό κόστος σε κάθε κόμβο. Η πιο αποτελεσματική επεξεργασία θα επιτρέψει τον προσδιορισμό της οριστικοποίησης σε μία μόνο υποδοχή, αντί μεταξύ δύο εποχών.
+
+## Δρομολογήσεις προς SSF {#routes-to-ssf}
+
+
+
+Ο τρέχων μηχανισμός συναίνεσης συνδυάζει βεβαιώσεις από πολλαπλούς επικυρωτές, γνωστούς ως επιτροπές, για να μειώσει τον αριθμό των μηνυμάτων που πρέπει να επεξεργαστεί κάθε επικυρωτής για την επικύρωση ενός μπλοκ. Κάθε επικυρωτής έχει την ευκαιρία να βεβαιώσει σε κάθε εποχή (32 υποδοχές), αλλά σε κάθε υποδοχή, μόνο ένα υποσύνολο επικυρωτών, γνωστό ως βεβαίωση «επιτροπής». Το κάνουν αυτό διαιρούμενοι σε υποδίκτυα στα οποία επιλέγονται μερικοί επικυρωτές ως «συσσωρευτές». Αυτοί οι συσσωρευτές συνδυάζουν όλες τις υπογραφές που λαμβάνουν από άλλους επικυρωτές στο υποδίκτυό τους, σε μια ενιαία συγκεντρωτική υπογραφή. Ο συσσωρευτής που περιλαμβάνει τον μεγαλύτερο αριθμό ατομικών συνεισφορών μεταβιβάζει τη συγκεντρωτική υπογραφή του στον προτείνοντα μπλοκ, ο οποίος το περιλαμβάνει στο μπλοκ μαζί με τη συγκεντρωτική υπογραφή από άλλες επιτροπές.
+
+Αυτή η διαδικασία παρέχει επαρκή χωρητικότητα σε κάθε επικυρωτή για να ψηφίσει σε κάθε εποχή, επειδή «32 υποδοχές * 64 επιτροπές * 256 επικυρωτές ανά επιτροπή = 524,288 επικυρωτές ανά εποχή». Αυτή τη στιγμή (Φεβρουάριος 2023) υπάρχουν ~513,000 ενεργοί επικυρωτές.
+
+Σε αυτό το σχέδιο, είναι δυνατό για κάθε επικυρωτή να ψηφίσει μόνο για ένα μπλοκ διανέμοντας τις βεβαιώσεις του σε ολόκληρη την εποχή. Ωστόσο, υπάρχουν πιθανοί τρόποι βελτίωσης του μηχανισμού, έτσι ώστε _κάθε επικυρωτής να έχει την ευκαιρία να επιβεβαιώσει για κάθε θέση μπλοκ_.
+
+
+Από τότε που σχεδιάστηκε ο μηχανισμός συναίνεσης του Ethereum, το σχέδιο συγκέντρωσης υπογραφών (BLS) βρέθηκε να είναι πολύ πιο κλιμακούμενο από ότι είχε θεωρηθεί, ενώ η ικανότητα των πελατών να επεξεργάζονται και να επαληθεύουν τις υπογραφές έχει βελτιωθεί. Αποδείχθηκε ότι η επεξεργασία επιβεβαιώσεων από έναν τεράστιο αριθμό επικυρωτών, είναι πράγματι δυνατή σε μία μόνο θέση μπλοκ. Για παράδειγμα, με ένα εκατομμύριο επικυρωτές με τον καθένα να ψηφίζει δύο φορές σε κάθε θέση μπλοκ και ο χρόνος θέσης μπλοκ να έχει προσαρμοστεί στα 16 δευτερόλεπτα, οι κόμβοι θα πρέπει να επαληθεύουν τις υπογραφές με ελάχιστο ρυθμό τις 125,000 συγκεντρώσεις ανά δευτερόλεπτο, προκειμένου να επεξεργαστούν τις 1 εκατομμύριο επιβεβαιώσεις για κάθε θέση μπλοκ. Στην πραγματικότητα, ένας κανονικός υπολογιστής χρειάζεται περίπου 500 νανοδευτερόλεπτα για να πραγματοποιήσει μία επαλήθευση υπογραφής, που σημαίνει ότι 125,000 μπορούν να γίνουν σε ~62.5 ms, πολύ κάτω από το όριο του ενός δευτερολέπτου.
+
+Περαιτέρω βελτιώσεις αποτελεσματικότητας θα μπορούσαν να γίνουν με τη δημιουργία προηγμένων επιτροπών π.χ. 125,000 τυχαία επιλεγμένοι επικυρωτές ανά υποδοχή. Μόνο αυτοί οι επικυρωτές μπορούν να ψηφίσουν για ένα μπλοκ και επομένως μόνο αυτό το υποσύνολο επικυρωτών αποφασίζει εάν ένα μπλοκ έχει οριστικοποιηθεί. Το αν αυτή είναι καλή ιδέα ή όχι εξαρτάται από το πόσο δαπανηρή θα προτιμούσε η κοινότητα να είναι μια επιτυχημένη επίθεση κατά του Ethereum. Αυτό συμβαίνει επειδή αντί να απαιτούνται τα 2/3 του συνολικού αποθηκευμένου ether, ένας εισβολέας θα μπορούσε να οριστικοποιήσει ένα ανέντιμο μπλοκ με τα 2/3 του αποθηκευμένου ether _σε αυτήν την προηγμένη επιτροπή_. Αυτός είναι ακόμα ένας ενεργός τομέας έρευνας, αλλά φαίνεται εύλογο ότι για ένα σύνολο επικυρωτή αρκετά μεγάλο ώστε να απαιτεί εξαρχής προηγμένες επιτροπές, το κόστος επίθεσης σε μία από αυτές θα είναι εξαιρετικά υψηλό (π.χ. το κόστος επίθεσης που εκφράζεται με ETH θα είναι `2/3 * 125,000 * 32 = ~2.6 εκατομμύρια ETH`). Το κόστος της επίθεσης μπορεί να προσαρμοστεί αυξάνοντας το μέγεθος του συνόλου επικυρωτών (π.χ. συντονίστε το μέγεθος των επικυρωτών έτσι ώστε το κόστος της επίθεσης να είναι ίσο με 1 εκατομμύριο ether, 4 εκατομμύρια ether, 10 εκατομμύρια ether, κλπ.). [Προληπτικές δημοσκοπήσεις](https://youtu.be/ojBgyFl6-v4?t=755) της κοινότητας φαίνεται να υποδεικνύουν ότι 1-2 εκατομμύρια ether είναι ένα αποδεκτό κόστος επίθεσης, το οποίο υποδηλώνει ~65,536 - 97,152 επικυρωτές ανά προηγμένη επιτροπή.
+
+Ωστόσο, η επαλήθευση δεν είναι το πραγματικό εμπόδιο, είναι η συσσωρευτική υπογραφή που πραγματικά προκαλεί προκλήσεις στους κόμβους επικυρωτών. Για να κλιμακωθεί η συγκεντρωτική υπογραφή θα απαιτηθεί πιθανώς η αύξηση του αριθμού των επικυρωτών σε κάθε υποδίκτυο, η αύξηση του αριθμού των υποδικτύων ή η προσθήκη επιπλέον επιπέδων συσσωμάτωσης (δηλαδή εφαρμογή επιτροπής για την επιτροπή). Μέρος της λύσης μπορεί να είναι η επιλογή εξειδικευμένων συσσωρευτών, παρόμοια με το πώς η κατασκευή μπλοκ και η δημιουργία δεσμεύσεων για δεδομένα rollup θα ανατεθεί σε εξειδικευμένους κατασκευαστές μπλοκ στο πλαίσιο του διαχωρισμού προτείνων - κατασκευαστή (PBS) και του Danksharding.
+
+## Ποιος είναι ο ρόλος του κανόνα επιλογής fork στο SSF; {#role-of-the-fork-choice-rule}
+
+Ο σημερινός μηχανισμός συναίνεσης βασίζεται σε έναν στενό συνδυασμό του εργαλείου οριστικοποίησης (ο αλγόριθμος που καθορίζει εάν τα 2/3 των επικυρωτών έχουν πιστοποιήσει μια συγκεκριμένη αλυσίδα) και του κανόνα επιλογής fork (ο αλγόριθμος που αποφασίζει ποια αλυσίδα είναι η σωστή όταν υπάρχουν πολλές επιλογές). Ο αλγόριθμος επιλογής fork λαμβάνει υπόψη μόνο τα μπλοκ _από_ το τελευταίο οριστικό μπλοκ. Στο πλαίσιο του SSF δε θα υπήρχαν μπλοκ για να λάβει υπόψη ο αλγόριθμος επιλογής fork, επειδή η οριστικότητα συμβαίνει στο ίδιο διακεκομμένο χρονικό διάστημα που προτείνεται το μπλοκ. Αυτό σημαίνει ότι στο πλαίσιο του SSF _είτε_ ο αλγόριθμος επιλογής fork _είτε_ η συσκευή οριστικότητας θα είναι ενεργή ανά πάσα στιγμή. Το εργαλείο οριστικοποίησης, θα οριστικοποιήσει τα μπλοκ όπου τα 2/3 των επικυρωτών ήταν online και πιστοποιούσαν ειλικρινά. Εάν ένα μπλοκ δεν είναι σε θέση να υπερβεί το όριο των 2/3, ο κανόνας επιλογής fork θα ενεργοποιηθεί για να καθορίσει ποια αλυσίδα θα ακολουθήσει. Αυτό δημιουργεί επίσης μια ευκαιρία για τη διατήρηση του μηχανισμού διαρροής αδράνειας που ανακτά μια αλυσίδα όπου >1/3 των επικυρωτών είναι εκτός σύνδεσης, αν και με κάποιες πρόσθετες αποχρώσεις.
+
+## Εκκρεμότητες {#outstanding-issues}
+
+Το πρόβλημα με την κλιμάκωση των συγκεντρώσεων αυξάνοντας τον αριθμό των επικυρωτών ανά υποδίκτυο είναι ότι οδηγεί σε μεγαλύτερο φορτίο στο δίκτυο peer-to-peer. Το πρόβλημα με την προσθήκη επιπέδων συγκεντρώσεων είναι ότι είναι αρκετά περίπλοκο να σχεδιαστεί και προσθέτει καθυστέρηση (δηλαδή μπορεί να χρειαστεί περισσότερος χρόνος για τον προτείνων του μπλοκ να ενημερωθεί από όλους τους aggregators του υποδικτύου). Επίσης, δεν είναι σαφές πώς να αντιμετωπιστεί το σενάριο ότι υπάρχουν περισσότεροι ενεργοί επικυρωτές στο δίκτυο από όσους μπορούν να επεξεργαστούν εύλογα σε κάθε χρονικό διάστημα, ακόμη και με συγκεντρώσεις υπογραφής BLS. Μια πιθανή λύση είναι ότι, επειδή όλοι οι επικυρωτές βεβαιώνουν σε κάθε χρονικό διάστημα και δεν υπάρχουν επιτροπές κάτω από το SSF, το όριο των 32 ether στο αποτελεσματικό υπόλοιπο θα μπορούσε να αφαιρεθεί εντελώς, πράγμα που σημαίνει ότι οι χειριστές που διαχειρίζονται πολλούς επικυρωτές θα μπορούσαν να ενοποιήσουν το αποθηκευμένο τους κεφάλαιο και να εκτελέσουν λιγότερους ελέγχους, μειώνοντας τον αριθμό των μηνυμάτων που πρέπει να επεξεργαστούν οι κόμβοι επικύρωσης για να λογαριάσουν ολόκληρο το σύνολο των επικυρωτών. Αυτό βασίζεται στη συμφωνία των μεγάλων χρηστών με αποθηκευμένο κεφάλαιο να ενοποιήσουν τους επικυρωτές τους. Είναι επίσης δυνατό να επιβληθεί ένα σταθερό όριο στον αριθμό των επικυρωτών ή στο ποσό του αποθηκευμένου ether ανά πάσα στιγμή. Ωστόσο, αυτό απαιτεί κάποιο μηχανισμό για τον καθορισμό των επικυρωτών που επιτρέπεται να συμμετάσχουν και ποιοι όχι, το οποίο είναι πιθανό να δημιουργήσει ανεπιθύμητες δευτερεύουσες επιπτώσεις.
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Το SSF βρίσκεται στη φάση της έρευνας. Δεν αναμένεται να κυκλοφορήσει για αρκετά χρόνια, πιθανότατα μετά από άλλες σημαντικές αναβαθμίσεις όπως τα [δέντρα Verkle](/roadmap/verkle-trees/) και το [Danksharding](/roadmap/danksharding/).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Ο Vitalik για το SSF στο EDCON 2022](https://www.youtube.com/watch?v=nPgUKNPWXNI)
+- [Σημειώσεις του Vitalik: Παράλληλα μονοπάτια προς την οριστικοποίηση ενός slot](https://notes.ethereum.org/@vbuterin/single_slot_finality)
diff --git a/public/content/translations/el/roadmap/statelessness/index.md b/public/content/translations/el/roadmap/statelessness/index.md
new file mode 100644
index 00000000000..3458e0c9c6e
--- /dev/null
+++ b/public/content/translations/el/roadmap/statelessness/index.md
@@ -0,0 +1,103 @@
+---
+title: Statelessness, λήξη κατάστασης και ιστορικού
+description: Εξήγηση της λήξης ιστορικού και της μη διατήρησης πλήρους κατάστασης στο Ethereum
+lang: el
+---
+
+# Statelessness, λήξη κατάστασης και ιστορικού {#statelessness}
+
+Η δυνατότητα εκτέλεσης κόμβων Ethereum με κοινό υλικό είναι κρίσιμη για την πραγματική αποκέντρωση. Αυτό συμβαίνει επειδή η εκτέλεση ενός κόμβου δίνει στους χρήστες τη δυνατότητα να επαληθεύουν πληροφορίες εκτελώντας κρυπτογραφικούς ελέγχους και να μην εμπιστεύονται τρίτο μέρος για την παροχή δεδομένων. Η εκτέλεση ενός κόμβου επιτρέπει στους χρήστες να υποβάλλουν συναλλαγές απευθείας μεταξύ χρηστών στο δίκτυο του Ethereum, αντί να χρειάζεται να εμπιστεύονται έναν ενδιάμεσο. Η αποκέντρωση δεν είναι δυνατή εάν αυτά τα οφέλη είναι διαθέσιμα μόνο σε χρήστες με ακριβό υλικό. Αντίθετα, οι κόμβοι θα πρέπει να μπορούν να εκτελούνται με εξαιρετικά μέτριες απαιτήσεις σε επεξεργαστική ισχύ και μνήμη, ώστε να μπορούν να εκτελούνται σε κινητά τηλέφωνα, μικροϋπολογιστές ή και σε υπολογιστή στο σπίτι.
+
+Σήμερα, οι υψηλές απαιτήσεις για χώρο στο δίσκο, είναι το κύριο εμπόδιο που εμποδίζει την παγκόσμια πρόσβαση στους κόμβους. Αυτό οφείλεται κυρίως στην ανάγκη αποθήκευσης μεγάλων τμημάτων των δεδομένων κατάστασης του Ethereum. Αυτά τα δεδομένα κατάστασης περιέχουν κρίσιμες πληροφορίες που απαιτούνται για τη σωστή επεξεργασία νέων μπλοκ και συναλλαγών. Αυτή τη στιγμή, συνιστάται ένας γρήγορος 2TB SSD για την εκτέλεση ενός πλήρους κόμβου Ethereum. Για έναν κόμβο που δεν περικόπτει παλαιότερα δεδομένα, η απαίτηση σε αποθηκευτικό χώρο αυξάνεται περίπου στα 14GB ανά εβδομάδα και οι κόμβοι αρχειοθέτησης που αποθηκεύουν όλα τα δεδομένα από τη στιγμή της γένεσης, πλησιάζει τα 12 TB (Φεβρουάριος 2023).
+
+Μπορούν να χρησιμοποιηθούν φθηνότεροι σκληροί δίσκοι για την αποθήκευση παλαιότερων δεδομένων, αλλά είναι πολύ αργοί για να διαχειριστούν τα εισερχόμενα μπλοκ. Η διατήρηση των υφιστάμενων μοντέλων αποθηκευτικού χώρου για πελάτες, ενώ η αποθήκευση δεδομένων γίνεται φθηνότερα και ευκολότερα, είναι μόνο μια προσωρινή και μερική λύση στο πρόβλημα επειδή η ανάπτυξη κατάστασης του Ethereum είναι «απεριόριστη», πράγμα που σημαίνει ότι οι απαιτήσεις σε αποθηκευτικό χώρο μπορούν μόνο να αυξηθούν και οι τεχνολογικές βελτιώσεις θα πρέπει πάντα να συμβαδίζουν με τη συνεχή ανάπτυξη της κατάστασης. Αντίθετα, οι πελάτες πρέπει να βρουν νέους τρόπους επαλήθευσης μπλοκ και συναλλαγών που δε βασίζονται στην αναζήτηση δεδομένων από τοπικές βάσεις.
+
+## Μείωση αποθηκευτικού χώρου κόμβων {#reducing-storage-for-nodes}
+
+Υπάρχουν διάφοροι τρόποι μείωσης του όγκου των δεδομένων που κάθε κόμβος πρέπει να αποθηκεύσει, όπου για τον καθένα απαιτείται ενημέρωση του βασικού πρωτοκόλλου Ethereum σε διαφορετικό βαθμό:
+
+- **Λήξη ιστορικού (History expiry)**: Επιτρέπει στους κόμβους να απορρίπτουν δεδομένα κατάστασης παλαιότερα από Χ μπλοκ, αλλά δεν αλλάζει τον τρόπο με τον οποίο χειρίζεται τα δεδομένα κατάστασης ο πελάτης Ethereum.
+- **Λήξη κατάστασης (State expiry)**: Επιτρέπει στα δεδομένα κατάστασης που δε χρησιμοποιούνται συχνά να χαρακτηριστούν ανενεργά. Τα ανενεργά δεδομένα μπορούν να αγνοηθούν από τους πελάτες μέχρι την επόμενη χρήση τους.
+- **Ασθενής λειτουργία χωρίς κατάσταση (Weak statelessness)**: Μόνο οι παραγωγοί μπλοκ χρειάζονται πρόσβαση σε δεδομένα πλήρους κατάστασης καθώς οι υπόλοιποι κόμβοι μπορούν να επαληθεύσουν μπλοκ χωρίς τοπική βάση των δεδομένων κατάστασης.
+- **Ισχυρή λειτουργία χωρίς κατάσταση (Strong statelessness)**: Κανένας κόμβος δε χρειάζεται πρόσβαση στα πλήρη δεδομένα κατάστασης.
+
+## Λήξη δεδομένων {#data-expiry}
+
+### Λήξη ιστορικού {#history-expiry}
+
+Η λήξη ιστορικού αναφέρεται σε πελάτες που αφαιρούν τα παλαιότερα δεδομένα που είναι απίθανο να χρειαστούν, έτσι ώστε να αποθηκεύουν μόνο έναν μικρό αριθμό δεδομένων ιστορικού, απορρίπτοντας παλαιότερα δεδομένα κατά τη λήψη νεότερων. Υπάρχουν δύο λόγοι για τους οποίους οι πελάτες απαιτούν δεδομένα ιστορικού: συγχρονισμός και εξυπηρέτηση αιτημάτων δεδομένων. Αρχικά, οι πελάτες έπρεπε να συγχρονιστούν από το μπλοκ γένεσης, επαληθεύοντας ότι κάθε διαδοχικό μπλοκ είναι σωστό μέχρι την κεφαλή της αλυσίδας. Σήμερα, οι πελάτες χρησιμοποιούν «σημεία ελέγχου αδύναμης υποκειμενικότητας» για να οδηγηθούν στην κορυφή της αλυσίδας. Αυτά τα σημεία ελέγχου είναι αξιόπιστα σημεία έναρξης, όπως η ύπαρξη ενός μπλοκ γένεσης κοντά στην τρέχουσα κατάσταση και όχι στην έναρξη του Ethereum. Αυτό σημαίνει ότι οι πελάτες μπορούν να απορρίψουν όλες τις πληροφορίες πριν από το πιο πρόσφατο σημείο ελέγχου αδύναμης υποκειμενικότητας, χωρίς να χάσουν τη δυνατότητα συγχρονισμού με την κεφαλή της αλυσίδας. Επί του παρόντος, οι πελάτες εξυπηρετούν αιτήματα (που φτάνουν μέσω JSON-RPC) για δεδομένα ιστορικού, συλλέγοντάς τα από τις τοπικές βάσεις δεδομένων τους. Ωστόσο, με τη λήξη του ιστορικού αυτό δε θα είναι δυνατό εάν τα ζητούμενα δεδομένα έχουν περικοπεί. Η διάθεση αυτών των δεδομένων ιστορικού πραγματοποιείται όπου απαιτούνται καινοτόμες λύσεις.
+
+Μια επιλογή είναι οι πελάτες να ζητούν δεδομένα ιστορικού από ομοτίμους χρησιμοποιώντας μια λύση όπως το Δίκτυο Portal. Το Δίκτυο Portal είναι ένα υπό ανάπτυξη δίκτυο peer-to-peer για την εξυπηρέτηση δεδομένων ιστορικού, όπου κάθε κόμβος αποθηκεύει ένα μικρό κομμάτι της ιστορίας του Ethereum έτσι ώστε ολόκληρο το ιστορικό να υπάρχει κατανεμημένο σε όλο το δίκτυο. Τα αιτήματα εξυπηρετούνται αναζητώντας ομοτίμους που αποθηκεύουν τα σχετικά δεδομένα και ζητώντας τα από αυτούς. Εναλλακτικά, δεδομένου ότι οι εφαρμογές απαιτείται να έχουν πρόσβαση σε δεδομένα ιστορικού, μπορεί να είναι δική τους ευθύνη να τα αποθηκεύσουν. Μπορεί επίσης να υπάρχουν αρκετά αλτρουιστικά άτομα στον χώρο του Ethereum που θα ήταν πρόθυμοι να διατηρήσουν ιστορικά αρχεία. Θα μπορούσε να είναι ένα DAO που ενδιαφέρεται για τη διαχείριση της αποθήκευσης δεδομένων ιστορικού ή ιδανικά ένας συνδυασμός όλων αυτών των επιλογών. Αυτοί οι πάροχοι θα μπορούσαν να εξυπηρετήσουν τα δεδομένα με πολλούς τρόπους, όπως σε ένα torrent, FTP, Filecoin ή IPFS.
+
+Η λήξη του ιστορικού είναι κάπως αμφιλεγόμενη επειδή μέχρι στιγμής το Ethereum εγγυάται πάντα έμμεσα τη διαθεσιμότητα οποιωνδήποτε δεδομένων ιστορικού. Ένας πλήρης συγχρονισμός από τη γένεση ήταν πάντα δυνατός ως καθιερωμένο, ακόμα και αν βασίζεται στην ανακατασκευή κάποιων παλαιότερων δεδομένων από διάφορα στιγμιότυπα. Η λήξη του ιστορικού μεταφέρει την ευθύνη για την παροχή αυτής της εγγύησης εκτός του βασικού πρωτοκόλλου Ethereum. Αυτό θα μπορούσε να δημιουργήσει νέους κινδύνους λογοκρισίας, εάν οι κεντρικοί οργανισμοί καταλήξουν να παρέμβουν στην παροχή ιστορικών δεδομένων.
+
+Το EIP-4444 δεν είναι ακόμη έτοιμο για δημοσίευση, αλλά βρίσκεται υπό ενεργή συζήτηση. Είναι ενδιαφέρον ότι οι προκλήσεις με το EIP-4444 δεν είναι τόσο τεχνικές όσο η διαχείριση της κοινότητας. Προκειμένου αυτό να δημοσιευθεί, πρέπει να υπάρχει συμμετοχή στην κοινότητα που να περιλαμβάνει όχι μόνο συμφωνία αλλά και δεσμεύσεις για τον τρόπο αποθήκευσης και εξυπηρέτησης των δεδομένων ιστορικού από αξιόπιστες οντότητες.
+
+Αυτή η αναβάθμιση ουσιαστικά δεν αλλάζει τον τρόπο με τον οποίο οι κόμβοι Ethereum χειρίζονται τα δεδομένα κατάστασης, απλώς αλλάζει τον τρόπο πρόσβασης στα δεδομένα ιστορικού.
+
+### Λήξη κατάστασης {#state-expiry}
+
+Η λήξη κατάστασης αναφέρεται στην αφαίρεση της κατάστασης του δικτύου από μεμονωμένους κόμβους, εάν δεν έχει χρησιμοποιηθεί πρόσφατα. Υπάρχουν διάφοροι τρόποι που θα μπορούσε να εφαρμοστεί, όπως:
+
+- **Λήξη με ενοικίαση (Expire by rent)**: Χρέωση σε λογαριασμούς με «ενοίκιο» και λήξη όταν το ενοίκιο τους μηδενιστεί.
+- **Χρονική λήξη (Expire by time)**: Χαρακτηρίζοντας λογαριασμούς ανενεργούς εάν δεν υπάρχει ανάγνωση/εγγραφή για κάποιο χρονικό διάστημα.
+
+Η λήξη με ενοικίαση θα μπορούσε να είναι ένα άμεσο ενοίκιο που χρεώνεται σε λογαριασμούς για να διατηρηθούν στην ενεργή βάση δεδομένων κατάστασης. Η χρονική λήξη μπορεί να είναι με αντίστροφη μέτρηση από την τελευταία αλληλεπίδραση λογαριασμού ή μπορεί να είναι περιοδική λήξη όλων των λογαριασμών. Θα μπορούσαν επίσης να υπάρχουν μηχανισμοί που συνδυάζουν στοιχεία τόσο του χρόνου όσο και του μοντέλου βασισμένου στο ενοίκιο, για παράδειγμα μεμονωμένοι λογαριασμοί παραμένουν σε ενεργή κατάσταση εάν πληρώσουν κάποια μικρή προμήθεια πριν από τη λήξη του χρόνου. Με τη λήξη της κατάστασης είναι σημαντικό να σημειωθεί ότι η μη ενεργή κατάσταση **δεν διαγράφεται**, απλώς αποθηκεύεται ξεχωριστά από την τρέχουσα κατάσταση. Η μη ενεργή κατάσταση μπορεί να επανέλθει στην ενεργή κατάσταση.
+
+Ο τρόπος με τον οποίο θα λειτουργούσε αυτό είναι πιθανώς να έχετε ένα δέντρο κατάστασης για συγκεκριμένες χρονικές περιόδους (ίσως ~ 1 έτος). Κάθε φορά που ξεκινά μια νέα περίοδος, κάνει το ίδιο και ένα νέο δέντρο κατάστασης. Μόνο το τρέχον δέντρο κατάστασης μπορεί να τροποποιηθεί, όλα τα άλλα είναι αμετάβλητα. Οι κόμβοι Ethereum αναμένεται να διατηρούν μόνο το τρέχον δέντρο κατάστασης και το επόμενο πιο πρόσφατο. Αυτό απαιτεί έναν τρόπο για τη χρονική σήμανση μιας διεύθυνσης με την περίοδο στην οποία υπάρχει. Υπάρχουν [διάφοροι πιθανοί τρόποι](https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607) για να γίνει αυτό, αλλά η κύρια επιλογή απαιτεί [επιμήκυνση των διευθύνσεων](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485) για να χωρέσουν οι πρόσθετες πληροφορίες με το πλεονέκτημα ότι οι μεγαλύτερες διευθύνσεις είναι πολύ πιο ασφαλείς. Το στοιχείο του οδικού χάρτη που το εφαρμόζει ονομάζεται [επέκταση χώρου διεύθυνσης](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485).
+
+Ομοίως, με τη λήξη του ιστορικού η ευθύνη λήξης της κατάστασης για την αποθήκευση παλαιών δεδομένων κατάστασης αφαιρείται από μεμονωμένους χρήστες και προωθείται σε άλλες οντότητες, όπως κεντρικούς παρόχους, αλτρουιστικά μέλη της κοινότητας ή πιο φουτουριστικές αποκεντρωμένες λύσεις, όπως το Δίκτυο Portal.
+
+Η λήξη κατάστασης βρίσκεται ακόμη στο στάδιο της έρευνας και δεν είναι ακόμη έτοιμη για δημοσίευση. Η λήξη κατάστασης μπορεί να συμβεί αργότερα από τη λήξη των πελατών χωρίς κατάσταση και του ιστορικού, επειδή οι αναβαθμίσεις καθιστούν τα μεγάλα μεγέθη κατάστασης εύκολα διαχειρίσιμα για την πλειοψηφία των επικυρωτών.
+
+## Statelessness {#statelessness}
+
+Η λειτουργία χωρίς κατάσταση είναι λίγο λανθασμένη ονομασία γιατί δε σημαίνει ότι η έννοια της «κατάστασης» εξαλείφεται, αλλά περιλαμβάνει αλλαγές στον τρόπο με τον οποίο οι κόμβοι Ethereum χειρίζονται τα δεδομένα κατάστασης. Η ίδια η λειτουργία χωρίς κατάσταση έχει δύο πλευρές: την ασθενή και την ισχυρή λειτουργία χωρίς κατάσταση. Η ασθενής λειτουργία χωρίς κατάσταση δίνει τη δυνατότητα στους περισσότερους κόμβους να μένουν χωρίς κατάσταση, αναθέτοντας την ευθύνη για την αποθήκευση κατάστασης σε λίγους. Η ισχυρή λειτουργία χωρίς κατάσταση καταργεί εντελώς την ανάγκη για οποιονδήποτε κόμβο να αποθηκεύει τα πλήρη δεδομένα κατάστασης. Τόσο η ασθενής όσο και η ισχυρή λειτουργία χωρίς κατάσταση προσφέρουν τα ακόλουθα οφέλη στους κανονικούς επικυρωτές:
+
+- Σχεδόν άμεσο συγχρονισμό.
+- Δυνατότητα επικύρωσης μπλοκ εκτός σειράς.
+- Κόμβοι που μπορούν να εκτελούνται με πολύ χαμηλές απαιτήσεις υλικού (π.χ. σε τηλέφωνα).
+- Οι κόμβοι μπορούν να εκτελούνται από φθηνούς σκληρούς δίσκους επειδή δεν απαιτείται ανάγνωση/εγγραφή δίσκου.
+- Συμβατότητα με μελλοντικές αναβαθμίσεις στην κρυπτογράφηση του Ethereum.
+
+### Ασθενής λειτουργία χωρίς κατάσταση {#weak-statelessness}
+
+Η ασθενής λειτουργία χωρίς κατάσταση συνεπάγεται αλλαγές στον τρόπο με τον οποίο οι κόμβοι Ethereum επαληθεύουν τις αλλαγές κατάστασης, αλλά δεν εξαλείφει εντελώς την ανάγκη αποθήκευσης της κατάστασης σε όλους τους κόμβους του δικτύου. Αντίθετα, η ασθενής λειτουργία χωρίς κατάσταση θέτει την ευθύνη για την αποθήκευση κατάστασης στους προτείνοντες μπλοκ, ενώ όλοι οι άλλοι κόμβοι στο δίκτυο επαληθεύουν μπλοκ χωρίς να αποθηκεύουν τα πλήρη δεδομένα κατάστασης.
+
+**Στην περίπτωση ασθενής λειτουργία χωρίς κατάσταση, τα προτεινόμενα μπλοκ απαιτούν πρόσβαση σε δεδομένα πλήρους κατάστασης, αλλά η επαλήθευση μπλοκ δεν απαιτεί δεδομένα κατάστασης**
+
+Για να συμβεί αυτό, τα [Verkle trees](/roadmap/verkle-trees/) πρέπει να έχουν ήδη εφαρμοστεί σε πελάτες Ethereum. Τα δέντρα Verkle είναι μια δομή δεδομένων αντικατάστασης για την αποθήκευση δεδομένων κατάστασης Ethereum που επιτρέπουν σε μικρού μεγέθους "μάρτυρες" στα δεδομένα να διαβιβάζονται μεταξύ ομοτίμων και να χρησιμοποιούνται για την επαλήθευση μπλοκ αντί για επαλήθευση μπλοκ σε τοπικές βάσεις δεδομένων. Ο [διαχωρισμός πρωτείνοντος - δημιουργού](/roadmap/pbs/) απαιτείται επειδή επιτρέπει στους δημιουργούς μπλοκ να είναι εξειδικευμένοι κόμβοι με πιο ισχυρό υλικό και αυτοί είναι που απαιτούν πρόσβαση στα πλήρη δεδομένα κατάστασης.
+
+
+
+Η λειτουργία χωρίς κατάσταση βασίζεται στο ότι οι δημιουργοί μπλοκ διατηρούν αντίγραφο των πλήρων δεδομένων κατάστασης, έτσι ώστε να μπορούν να δημιουργήσουν μάρτυρες που μπορούν να χρησιμοποιηθούν για την επαλήθευση του μπλοκ. Άλλοι κόμβοι δε χρειάζονται πρόσβαση στα δεδομένα κατάστασης, όλες οι πληροφορίες που απαιτούνται για την επαλήθευση του μπλοκ είναι διαθέσιμες στον μάρτυρα. Αυτό δημιουργεί μια κατάσταση όπου η πρόταση ενός μπλοκ είναι ακριβή, αλλά η επαλήθευση του μπλοκ είναι φθηνή, πράγμα που σημαίνει ότι λιγότεροι χειριστές θα εκτελέσουν έναν κόμβο πρότασης μπλοκ. Ωστόσο, η αποκέντρωση των προτεινόμενων μπλοκ δεν είναι κρίσιμη, εφόσον όσο το δυνατόν περισσότεροι συμμετέχοντες μπορούν να επαληθεύσουν ανεξάρτητα ότι τα μπλοκ που προτείνουν είναι έγκυρα.
+
+Διαβάστε περισσότερα στις σημειώσεις του Dankrad.
+
+
+Οι προτείνοντες μπλοκ χρησιμοποιούν τα δεδομένα κατάστασης για να δημιουργήσουν "μάρτυρες", το ελάχιστο σύνολο δεδομένων που αποδεικνύουν τις αξίες της κατάστασης που αλλάζουν από τις συναλλαγές σε ένα μπλοκ. Άλλα προγράμματα επικύρωσης δε διατηρούν την κατάσταση, αποθηκεύουν μόνο το root κατάστασης (ένα hash ολόκληρης της κατάστασης). Λαμβάνουν ένα μπλοκ και έναν μάρτυρα και τα χρησιμοποιούν για να ενημερώσουν το root κατάστασης τους. Αυτό κάνει έναν κόμβο επικύρωσης εξαιρετικά ελαφρύ.
+
+Η ασθενής λειτουργία χωρίς κατάσταση βρίσκεται σε προηγμένη κατάσταση έρευνας, αλλά βασίζεται στον διαχωρισμό προτείνοντα - δημιουργού και τα δέντρα Verkle που έχουν εφαρμοστεί έτσι ώστε να μπορούν να περάσουν μικροί μάρτυρες μεταξύ χρηστών. Αυτό σημαίνει ότι η ασθενής λειτουργία χωρίς κατάσταση είναι πιθανώς μερικά χρόνια μακριά από το Ethereum Mainnet.
+
+### Ισχυρή λειτουργία χωρίς κατάσταση {#strong-statelessness}
+
+Η ισχυρή λειτουργία χωρίς κατάσταση καταργεί την ανάγκη οποιουδήποτε κόμβου να αποθηκεύει δεδομένα κατάστασης. Αντίθετα, οι συναλλαγές αποστέλλονται με μάρτυρες που μπορούν να συγκεντρωθούν από τους παραγωγούς μπλοκ. Οι δημιουργοί μπλοκ είναι υπεύθυνοι για την αποθήκευση μόνο εκείνης της κατάστασης που απαιτείται για τη δημιουργία μαρτύρων για σχετικούς λογαριασμούς. Η ευθύνη για την κατάσταση μεταφέρεται σχεδόν εξ ολοκλήρου στους χρήστες, καθώς στέλνουν μάρτυρες και «λίστες πρόσβασης» για να δηλώσουν με ποιους λογαριασμούς και κλειδιά αποθήκευσης αλληλεπιδρούν. Αυτό θα επέτρεπε εξαιρετικά ελαφρούς κόμβους, αλλά υπάρχουν συμβιβασμοί, συμπεριλαμβανομένης της δυσκολότερης συναλλαγής με έξυπνα συμβόλαια.
+
+Η ισχυρή λειτουργία χωρίς κατάσταση έχει διερευνηθεί από ερευνητές, αλλά επί του παρόντος δεν αναμένεται να είναι μέρος του οδικού χάρτη του Ethereum καθώς είναι πιο πιθανό ότι η ασθενής λειτουργία χωρίς κατάσταση είναι επαρκής για τις ανάγκες κλιμάκωσης του Ethereum.
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Η ασθενής λειτουργία χωρίς κατάσταση, η λήξη του ιστορικού και η λήξη κατάστασης βρίσκονται όλα στη φάση της έρευνας και αναμένεται να είναι έτοιμα σε αρκετά χρόνια από τώρα. Δεν υπάρχει καμία εγγύηση ότι όλες αυτές οι προτάσεις θα εφαρμοστούν, για παράδειγμα εάν πρώτα εφαρμοστεί η λήξη της κατάστασης, ενδέχεται να μη χρειάζεται να εφαρμοστεί και η λήξη ιστορικού. Υπάρχουν επίσης άλλα στοιχεία οδικού χάρτη ανάπτυξης, όπως τα [Verkle Trees](/roadmap/verkle-trees) και [Proposer-builder separation](/roadmap/pbs) που πρέπει να ολοκληρωθούν πρώτα.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Συνέντευξη του Vitalik για τη λειτουργία χωρίς κατάσταση](https://www.reddit.com/r/ethereum/comments/o9s15i/impromptu_technical_ama_on_statelessness_and/)
+- [Θεωρία διαχείρισης του μεγέθους κατάστασης](https://hackmd.io/@vbuterin/state_size_management)
+- [Σχέση κατάστασης επαναφοράς - διένεξης - ελαχιστοποίησης](https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739)
+- [Τρόποι προς τη λειτουργία χωρίς κατάσταση και λήξη κατάστασης](https://hackmd.io/@vbuterin/state_expiry_paths)
+- [Προδιαγραφή EIP-4444](https://eips.ethereum.org/EIPS/eip-4444)
+- [Alex Stokes για το EIP-4444](https://youtu.be/SfDC_qUZaos)
+- [Γιατί είναι σημαντική η μετάβαση σε λειτουργία χωρίς κατάσταση](https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html)
+- [Αρχικές σημειώσεις σχεδίου για πελάτη χωρίς κατάσταση](https://ethresear.ch/t/the-stateless-client-concept/172)
+- [Περισσότερα για τη λήξη κατάστασης](https://hackmd.io/@vbuterin/state_size_management#A-more-moderate-solution-state-expiry)
+- [Ακόμη περισσότερα για τη λήξη κατάστασης](https://hackmd.io/@vbuterin/state_expiry_paths#Option-2-per-epoch-state-expiry)
diff --git a/public/content/translations/el/roadmap/verkle-trees/index.md b/public/content/translations/el/roadmap/verkle-trees/index.md
new file mode 100644
index 00000000000..d34bb8d45f1
--- /dev/null
+++ b/public/content/translations/el/roadmap/verkle-trees/index.md
@@ -0,0 +1,68 @@
+---
+title: Verkle trees
+description: Μια περιγραφή υψηλού επιπέδου των δέντρων Verkle και πώς θα χρησιμοποιηθούν για την αναβάθμιση του Ethereum
+lang: el
+summaryPoints:
+ - Ανακαλύψτε τη χρησιμότητα των δέντρων Verkle
+ - Διαβάστε γιατί τα δέντρα Verkle είναι μια χρήσιμη αναβάθμιση για το Ethereum
+---
+
+# Verkle trees {#verkle-trees}
+
+Τα δέντρα Verkle (ένας συνδυασμός ονομάτων από «Vector commitment» και «Merkle Trees») είναι μια δομή δεδομένων που μπορεί να χρησιμοποιηθεί για την αναβάθμιση των κόμβων Ethereum, ώστε να σταματήσουν να αποθηκεύουν μεγάλες ποσότητες δεδομένων κατάστασης, χωρίς να χάσουν τη δυνατότητα επικύρωσης των μπλοκ.
+
+## Statelessness {#statelessness}
+
+Τα δέντρα Verkle αποτελούν ένα κρίσιμο βήμα προς τους πελάτες χωρίς διατήρηση της κατάστασης του Ethereum. Οι πελάτες χωρίς διατήρηση της κατάστασης, είναι αυτοί που δε χρειάζεται να αποθηκεύουν ολόκληρη τη βάση δεδομένων κατάστασης για να επικυρώνουν εισερχόμενα μπλοκ. Αντί να χρησιμοποιούν το δικό τους τοπικό αντίγραφο της κατάστασης του Ethereum για την επαλήθευση των μπλοκ, οι πελάτες χωρίς κατάσταση χρησιμοποιούν ένα «μάρτυρα» των δεδομένων κατάστασης που συνοδεύει το μπλοκ. Ένας μάρτυρας είναι μια συλλογή μεμονωμένων τμημάτων των δεδομένων κατάστασης που απαιτούνται, για την εκτέλεση ενός συγκεκριμένου συνόλου συναλλαγών και μια κρυπτογραφημένη απόδειξη ότι ο μάρτυρας είναι πραγματικό μέρος του συνόλου των δεδομένων. Ο μάρτυρας χρησιμοποιείται _αντί_ της βάσης δεδομένων κατάστασης. Για να λειτουργήσει αυτό, οι μάρτυρες πρέπει να είναι πολύ μικροί σε μέγεθος, ώστε να μπορούν να μεταδίδονται με ασφάλεια μέσω του δικτύου εγκαίρως, για τους επικυρωτές να τις επεξεργαστούν μέσα σε ένα διάστημα 12 δευτερολέπτων. Η τρέχουσα δομή δεδομένων κατάστασης δεν είναι κατάλληλη επειδή οι μάρτυρες είναι πολύ μεγάλοι. Τα δέντρα Verkle επιλύουν αυτό το πρόβλημα επιτρέποντας μικρούς μάρτυρες, αφαιρώντας ένα από τα κύρια εμπόδια για τους πελάτες χωρίς κατάσταση.
+
+
+
+Οι πελάτες Ethereum χρησιμοποιούν, αυτήν τη στιγμή, μια δομή δεδομένων γνωστή ως «Patricia Merkle Trie» για την αποθήκευση των δεδομένων κατάστασής του. Οι πληροφορίες για τους μεμονωμένους λογαριασμούς αποθηκεύονται ως φύλλα στο trie και τα ζεύγη των φύλλων υποβάλλονται σε συνεχή hashing μέχρι να παραμείνει μόνο ένα ενιαίο hash. Αυτό το τελικό hash είναι γνωστό ως «ρίζα». Για να επαληθεύσουν τα μπλοκ, οι πελάτες Ethereum εκτελούν όλες τις συναλλαγές σε ένα μπλοκ και ενημερώνουν την τοπική κατάσταση του trie τους. Το μπλοκ θεωρείται έγκυρο εάν η ρίζα του τοπικού δέντρου είναι ίδια με αυτή που παρέχεται από τον προτείνοντα το μπλοκ, καθώς τυχόν διαφορές στον υπολογισμό που έγινε, το μπλοκ και τον κόμβο επικύρωσης, θα προκαλούσαν τη ρίζα hash να είναι εντελώς διαφορετική. Το πρόβλημα με αυτό είναι ότι η επαλήθευση της κρυπτοαλυσίδας απαιτεί από κάθε πελάτη να αποθηκεύει ολόκληρο το trie κατάστασης για το μπλοκ στην κεφαλή και αρκετά ιστορικά μπλοκ (η προεπιλογή στο Geth είναι να διατηρείται η κατάσταση δεδομένων για 128 μπλοκ πίσω από την κεφαλή). Αυτό απαιτεί από τους πελάτες να έχουν πρόσβαση σε μεγάλο χώρο δίσκου, κάτι που αποτελεί εμπόδιο για τη λειτουργία πλήρων κόμβων σε φθηνό υλικό χαμηλής ισχύος. Μια λύση σε αυτό είναι η ενημέρωση του trie κατάστασης σε μια πιο αποτελεσματική δομή (δέντρο Verkle), που μπορεί να συνοψιστεί χρησιμοποιώντας έναν μικρό «μάρτυρα» στα δεδομένα που μπορούν να μοιραστούν αντί για τα πλήρη δεδομένα κατάστασης. Η αναδιαμόρφωση των δεδομένων κατάστασης σε ένα δέντρο Verkle αποτελεί ένα βήμα προς τη μετάβαση σε πελάτες χωρίς κατάσταση.
+
+
+
+## Τι είναι ένας μάρτυρας και γιατί τον χρειαζόμαστε; {#what-is-a-witness}
+
+Η επαλήθευση ενός μπλοκ σημαίνει την επανεξέταση των συναλλαγών που περιέχονται στο μπλοκ, την εφαρμογή των αλλαγών στο trie κατάστασης του Ethereum και τον υπολογισμό του νέου hash ρίζας. Ένα επαληθευμένο μπλοκ είναι αυτό του οποίου το υπολογισμένο hash ρίζας κατάστασης, είναι το ίδιο με αυτό που παρέχεται με το μπλοκ (επειδή αυτό σημαίνει ότι ο προτείνων του μπλοκ έκανε πραγματικά τον υπολογισμό που ισχυρίστηκε). Στους σημερινούς πελάτες Ethereum, η ενημέρωση της κατάστασης απαιτεί πρόσβαση σε ολόκληρο το trie κατάστασης, το οποίο είναι μια μεγάλη δομή δεδομένων που πρέπει να αποθηκευτεί τοπικά. Ένας μάρτυρας περιέχει μόνο τα κομμάτια των δεδομένων κατάστασης που απαιτούνται για την εκτέλεση των συναλλαγών στο μπλοκ. Ένας επικυρωτής μπορεί στη συνέχεια να χρησιμοποιήσει μόνο αυτά τα κομμάτια για να επαληθεύσει ότι ο προτείνων του μπλοκ έχει εκτελέσει τις συναλλαγές και έχει ενημερώσει σωστά την κατάσταση. Ωστόσο, αυτό σημαίνει ότι ο μάρτυρας πρέπει να μεταφέρεται μεταξύ των ομότιμων στο δίκτυο Ethereum αρκετά γρήγορα, για να ληφθεί και να επεξεργαστεί από κάθε κόμβο με ασφάλεια μέσα σε ένα διάστημα 12 δευτερολέπτων. Εάν ο μάρτυρας έχει μεγάλο μέγεθος, μπορεί να χρειαστεί πολύς χρόνος για ορισμένους κόμβους να το κατεβάσουν και να παρακολουθήσουν την αλυσίδα. Αυτό είναι μια δύναμη κεντρικής διαχείρισης, καθώς σημαίνει ότι μόνο οι κόμβοι με γρήγορες συνδέσεις στο διαδίκτυο μπορούν να συμμετάσχουν στην επικύρωση των μπλοκ. Με τα δέντρα Verkle δεν υπάρχει ανάγκη να αποθηκεύεται η κατάσταση στον σκληρό σας δίσκο. _Όλα_ όσα χρειάζεστε για να επαληθεύσετε ένα μπλοκ περιέχονται μέσα στο ίδιο το μπλοκ. Δυστυχώς, οι μάρτυρες που μπορούν να παραχθούν από τα Merkle tries είναι πολύ μεγάλοι για να μπορούν να υποστηριχθούν από πελάτες χωρίς κατάσταση.
+
+## Γιατί τα δέντρα Verkle επιτρέπουν μάρτυρες μικρότερου μεγέθους; {#why-do-verkle-trees-enable-smaller-witnesses}
+
+Η δομή ενός Merkle Trie κάνει τα μεγέθη των μαρτύρων πολύ μεγάλα για να μεταδοθούν με ασφάλεια μεταξύ των peers, εντός ενός διαστήματος 12 δευτερολέπτων. Αυτό συμβαίνει επειδή ο μάρτυρας είναι μια διαδρομή που συνδέει τα δεδομένα, τα οποία βρίσκονται στα φύλλα, με το hash ρίζας. Για να επαληθευτούν τα δεδομένα είναι απαραίτητο να έχουμε όχι μόνο όλα τα ενδιάμεσα hashes που συνδέουν κάθε φύλλο με τη ρίζα, αλλά και όλους τους «αδελφούς» κόμβους. Κάθε κόμβος στην απόδειξη έχει έναν αδελφό με τον οποίο συνδυάζεται για να δημιουργήσει το επόμενο hash πάνω στο trie. Αυτό είναι μεγάλος όγκος δεδομένων. Τα δέντρα Verkle μειώνουν το μέγεθος του μάρτυρα μειώνοντας την απόσταση μεταξύ των φύλλων του δέντρου και της ρίζας του και εξαλείφοντας επίσης την ανάγκη παροχής αδελφών κόμβων για την επαλήθευση του hash ρίζας. Ακόμη μεγαλύτερη εξοικονόμηση χώρου θα επιτευχθεί χρησιμοποιώντας ένα ισχυρό σχήμα δέσμευσης polynomial αντί του σχήματος δέσμευσης διανυσμάτων τύπου hash. Η δέσμευση polynomial επιτρέπει στο μάρτυρα να έχει σταθερό μέγεθος ανεξάρτητα από τον αριθμό των φύλλων που αποδεικνύει.
+
+Σύμφωνα με το σχήμα δέσμευσης polynomial, οι μάρτυρες έχουν διαχειρίσιμα μεγέθη που μπορούν εύκολα να μεταφερθούν στο δίκτυο μεταξύ χρηστών. Αυτό επιτρέπει στους πελάτες να επαληθεύουν τις αλλαγές κατάστασης σε κάθε μπλοκ με ελάχιστη ποσότητα δεδομένων.
+
+
+
+Το μέγεθος του μάρτυρα ποικίλλει ανάλογα με τον αριθμό των φύλλων που περιλαμβάνει. Υποθέτοντας ότι ο μάρτυρας καλύπτει 1000 φύλλα, ένας μάρτυρας για ένα Merkle trie θα ήταν περίπου 3,5MB (υποθέτοντας 7 επίπεδα στο trie). Ένας μάρτυρας για τα ίδια δεδομένα σε ένα δέντρο Verkle (υποθέτοντας 4 επίπεδα στο δέντρο) θα ήταν περίπου 150 kB, περίπου 23 φορές μικρότερη. Αυτή η μείωση στο μέγεθος μάρτυρα θα επιτρέψει στου μάρτυρες των πελατών χωρίς κατάσταση να είναι αποδεκτά μικροί. Οι polynomial μάρτυρες είναι 0,128, 1 kB ανάλογα με το συγκεκριμένο σχήμα δέσμευσης πολυωνύμου που χρησιμοποιείται.
+
+
+
+## Ποια είναι η δομή ενός δέντρου «Verkle»; {#what-is-the-structure-of-a-verkle-tree}
+
+Τα δέντρα Verkle είναι ζεύγη `(key,value)` όπου τα κλειδιά είναι στοιχεία 32 byte που αποτελούνται από έναν _stem_ 31 byte και ένα _suffix_ ενός byte. Αυτά τα κλειδιά οργανώνονται σε κόμβους _επέκτασης_ και _εσωτερικούς_. Κάθε κόμβος επέκτασης αντιπροσωπεύει ένα μοναδικό στέλεχος για 256 «children» με διαφορετικά επιθήματα. Οι εσωτερικοί κόμβοι έχουν επίσης 256 «children», αλλά μπορούν να είναι και άλλοι κόμβοι επέκτασης. Η κύρια διαφορά είναι ότι τα δέντρα Verkle είναι πολύ πιο «ευρύτερα», δηλαδή έχουν λιγότερους ενδιάμεσους κόμβους που συνδέουν ένα φύλλο με τη ρίζα και επομένως απαιτούν λιγότερα δεδομένα για τη δημιουργία μιας απόδειξης.
+
+
+
+[Διαβάστε περισσότερα για τη δομή των δέντρων «Verkle»](https://blog.ethereum.org/2021/12/02/verkle-tree-structure)
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Υπάρχουν ήδη δοκιμαστικά δίκτυα με δέντρα Verkle σε λειτουργία, αλλά απαιτούνται σημαντικές ενημερώσεις στους πελάτες για να υποστηρίξουν τα δέντρα Verkle. Μπορείτε να βοηθήσετε στην επιτάχυνση της προόδου αναπτύσσοντας συμβάσεις στα δοκιμαστικά δίκτυα ή εκτελώντας εφαρμογές πελάτη σε δίκτυα δοκιμών.
+
+[Εξερευνήστε το δίκτυο δοκιμών Verkle Gen Devnet 6](https://verkle-gen-devnet-6.ethpandaops.io/)
+
+[Δείτε την παρουσίαση του Guillaume Ballet για το παλαιότερο δίκτυο δοκιμών Condrieu](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (σημειώστε ότι το Condrieu χρησιμοποιούσε απόδειξη εργασίας και έχει αντικατασταθεί από το Verkle Gen Devnet 6).
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Verkle Trees για πελάτη χωρίς κατάσταση](https://verkle.info/)
+- [Ο Dankrad Feist εξηγεί τα δέντρα Verkle στο PEEPanEIP](https://www.youtube.com/watch?v=RGJOQHzg3UQ)
+- [Δέντρα Verkle για όλους εμάς τους υπόλοιπους](https://research.2077.xyz/verkle-trees)
+- [Ανατομία μιας Απόδειξης Verkle](https://ihagopian.com/posts/anatomy-of-a-verkle-proof)
+- [Ο Guillaume Ballet εξηγεί τα δέντρα Verkle στο ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
+- [«Πώς τα δέντρα Verkle κάνουν το Ethereum λεπτό και δυνατό» από τον Guillaume Ballet στο Devcon 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
+- [Η Piper Merriam για τους πελάτες χωρίς κατάστασης από το ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4)
+- [Ο Dankrad Fiest εξηγεί τα δέντρα Verkle και τη μη χρήση κατάστασης στο podcast Μηδενικής γνώσης](https://zeroknowledge.fm/episode-202-stateless-ethereum-verkle-tries-with-dankrad-feist/)
+- [Ο Vitalik Buterin για τα δέντρα Verkle](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
+- [Ο Dankrad Feist για τα δέντρα Verkle](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
+- [Τεκμηρίωση EIP για τα δέντρα Verkle](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
diff --git a/public/content/translations/el/scaling/index.md b/public/content/translations/el/scaling/index.md
new file mode 100644
index 00000000000..48cbab5fc16
--- /dev/null
+++ b/public/content/translations/el/scaling/index.md
@@ -0,0 +1,51 @@
+---
+title: Κλιμάκωση του Ethereum
+description: Συγκέντρωση ομαδικών συναλλαγών εκτός αλυσίδας, μειώνοντας το κόστος για τον χρήστη. Ωστόσο, ο τρόπος με τον οποίο τα πακέτα συναλλαγών χρησιμοποιούν δεδομένα επί του παρόντος είναι πολύ ακριβός, περιορίζοντας το πόσο φθηνές μπορεί να είναι οι συναλλαγές. Αυτό διορθώνεται με το Proto-Danksharding.
+lang: el
+image: /images/roadmap/roadmap-transactions.png
+alt: "Οδικός χάρτης"
+template: roadmap
+---
+
+Το Ethereum κλιμακώνεται χρησιμοποιώντας το [επίπεδο 2](/layer-2/#rollups) (επίσης γνωστό ως πακέτο συναλλαγών «rollups»), τα οποία συγκεντρώνουν μαζί τις συναλλαγές και στέλνουν το αποτέλεσμα στο Ethereum. Παρόλο που τα rollups είναι έως και οκτώ φορές φθηνότερα από το κύριο δίκτυο Ethereum, είναι δυνατή η περαιτέρω βελτιστοποίηση των rollups για να μειωθεί το κόστος για τους τελικούς χρήστες. Τα rollups βασίζονται επίσης σε ορισμένα συγκεντρωτικά στοιχεία τα οποία οι προγραμματιστές μπορούν να αφαιρέσουν καθώς ωριμάζουν.
+
+
+
+ - Σήμερα τα πακέτα συναλλαγών είναι ~5-20x φορές φθηνότερα από το επίπεδο 1 του Ethereum.
+ - Τα πακέτα συναλλαγών ZK θα μειώσουν σύντομα τις κρατήσεις σε ~40-100x.
+ - Οι επερχόμενες αλλαγές στο Ethereum θα παρέχουν μια άλλη κλιμάκωση περίπου ~100-1000 φορές.
+ - Οι χρήστες θα πρέπει να επωφεληθούν από συναλλαγές που κοστίζουν λιγότερο από $0.001.
+
+
+
+## Δημιουργία φθηνότερων δεδομένων {#making-data-cheaper}
+
+Τα rollups συλλέγουν μεγάλο αριθμό συναλλαγών, τις εκτελούν και υποβάλλουν τα αποτελέσματα στο Ethereum. Αυτό δημιουργεί πολλά δεδομένα που πρέπει να είναι δημόσια διαθέσιμα, ώστε ο καθένας να μπορεί να εκτελέσει τις συναλλαγές για τον εαυτό του και να επαληθεύσει ότι ο χειριστής του rollup ήταν ειλικρινής. Εάν κάποιος βρει κάποια διαφωνία, μπορεί να υποβάλει ένσταση.
+
+### Proto-Danksharding {#proto-danksharding}
+
+Τα δεδομένα των rollup αποθηκεύονταν μόνιμα στο Ethereum, κάτι που είναι δαπανηρό. Πάνω από το 90% του κόστους συναλλαγών που πληρώνουν οι χρήστες στα rollups οφείλεται σε αυτήν την αποθήκευση δεδομένων. Για να μειώσουμε το κόστος συναλλαγών, μπορούμε να μετακινήσουμε τα δεδομένα σε ένα νέο, προσωρινό χώρο αποθήκευσης «blob». Τα blobs είναι φθηνότερα επειδή δεν είναι μόνιμα. Διαγράφονται από το Ethereum όταν δε χρειάζονται πια. Η μακροπρόθεσμη αποθήκευση δεδομένων rollup γίνεται ευθύνη των ατόμων που τα χρειάζονται, όπως οι χειριστές rollup, τα ανταλλακτήρια, οι υπηρεσίες δημιουργίας ευρετηρίου κ.λπ. Η προσθήκη συναλλαγών blob στο Ethereum είναι μέρος μιας αναβάθμισης γνωστής ως «Proto-Danksharding».
+
+Με το Proto-Danksharding, είναι δυνατή η προσθήκη πολλών blob σε μπλοκ του Ethereum. Αυτό επιτρέπει μια άλλη σημαντική (> 100x) αύξηση του εύρους ζώνης του Ethereum και μείωση του κόστους συναλλαγών.
+
+### Danksharding {#danksharding}
+
+Το δεύτερο στάδιο επέκτασης των δεδομένων blob είναι περίπλοκο γιατί απαιτεί νέες μεθόδους για τον έλεγχο της διαθεσιμότητας των δεδομένων rollup στο δίκτυο και βασίζεται σε [επικυρωτές](/glossary/#validator) που διαχωρίζουν τις αρμοδιότητες δημιουργίας [μπλοκ](/glossary/#block) και πρότασης μπλοκ. Απαιτεί επίσης έναν τρόπο για να αποδεικνύεται κρυπτογραφικά ότι οι επικυρωτές έχουν επαληθεύσει μικρά υποσύνολα των δεδομένων blob.
+
+Το δεύτερο βήμα είναι γνωστό ως [«Danksharding»](/roadmap/danksharding/). Η πλήρης εφαρμογή του **απέχει πιθανότατα αρκετά χρόνια**. Το Danksharding βασίζεται σε άλλες εξελίξεις, όπως ο διαχωρισμός [δημιουργίας μπλοκ και της πρότασης μπλοκ](/roadmap/pbs), καθώς και σε νέους σχεδιασμούς δικτύου που επιτρέπουν στο δίκτυο να επιβεβαιώνει αποτελεσματικά τη διαθεσιμότητα των δεδομένων με τυχαία δειγματοληψία λίγων kilobytes κάθε φορά, μια διαδικασία γνωστή ως [δειγματοληψία διαθεσιμότητας δεδομένων (DAS)](/developers/docs/data-availability).
+
+Περισσότερα για το Danksharding
+
+## Αποκεντρώνοντας τα πακέτα συναλλαγών {#decentralizing-rollups}
+
+Τα [πακέτα συναλλαγών](/layer-2) έχουν ήδη αναβαθμίσει το Ethereum. Ένα [πλούσιο οικοσύστημα έργων rollup](https://l2beat.com/scaling/tvl) επιτρέπει στους χρήστες να πραγματοποιούν συναλλαγές γρήγορα και οικονομικά, με διάφορες εγγυήσεις ασφαλείας. Ωστόσο, τα rollups έχουν ξεκινήσει τη λειτουργία τους χρησιμοποιώντας κεντρικούς διαδοχείς (υπολογιστές που κάνουν όλη την επεξεργασία και συγκέντρωση συναλλαγών πριν τις υποβάλουν στο Ethereum). Αυτό είναι ευάλωτο στη λογοκρισία, επειδή οι χειριστές των διαδοχέων μπορεί να τους επιβληθούν κυρώσεις, να δωροδοκηθούν ή να τεθούν διαφορετικά εκτός λειτουργίας. Παράλληλα, τα [rollups διαφέρουν](https://l2beat.com) στον τρόπο που επικυρώνουν τα εισερχόμενα δεδομένα. Ο καλύτερος τρόπος είναι «αυτοί που αποδεικνύουν» να υποβάλλουν [αποδείξεις απάτης](/glossary/#fraud-proof) ή εγκυρότητας, αλλά δεν έχουν φτάσει ακόμα σε αυτό το σημείο όλα τα rollups. Ακόμα και εκείνα τα rollups που χρησιμοποιούν αποδείξεις εγκυρότητας/απάτης χρησιμοποιούν μια μικρή δεξαμενή γνωστών χρηστών που αποδεικνύουν. Επομένως, το επόμενο κρίσιμο βήμα στην κλιμάκωση του Ethereum είναι η κατανομή της ευθύνης για τη λειτουργία των διαδοχέων και των αποδεικνυόντων σε περισσότερους ανθρώπους.
+
+Περισσότερα για rollups
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Το Proto-Danksharding είναι το πρώτο από αυτά τα στοιχεία του οδικού χάρτη που θα εφαρμοστεί ως μέρος της αναβάθμισης δικτύου Cancun-Deneb (Dencun) τον Μάρτιο του 2024. Η **πλήρης εφαρμογή του Danksharding απέχει πιθανότατα αρκετά χρόνια**, καθώς προϋποθέτει την ολοκλήρωση αρκετών άλλων στοιχείων του οδικού χάρτη. Η αποκέντρωση της υποδομής των rollup είναι πιθανό να είναι μια σταδιακή διαδικασία, ωστόσο υπάρχουν πολλά διαφορετικά rollup που δημιουργούν ελαφρώς διαφορετικά συστήματα και θα αποκεντρωθούν πλήρως με διαφορετικούς ρυθμούς.
+
+[Περισσότερα για την αναβάθμιση δικτύου Dencun](/roadmap/dencun/)
+
+
diff --git a/public/content/translations/el/security/index.md b/public/content/translations/el/security/index.md
index aa53f038a30..9fbabd3d503 100644
--- a/public/content/translations/el/security/index.md
+++ b/public/content/translations/el/security/index.md
@@ -8,6 +8,8 @@ lang: el
Το αυξανόμενο ενδιαφέρον για τα κρυπτονομίσματα συνεπάγεται αυξανόμενο κίνδυνο από απατεώνες και χάκερ. Αυτό το άρθρο παρουσιάζει ορισμένες βέλτιστες πρακτικές για τον μετριασμό αυτών των κινδύνων.
+**Να θυμάστε: Κανείς από το ethereum.org δε θα επικοινωνήσει ποτέ μαζί σας. Μην απαντάτε σε email λέγοντας ότι προέρχονται από την επίσημη υποστήριξη του Ethereum.**
+
## Ασφάλεια κρυπτονομισμάτων 101 {#crypto-security}
diff --git a/public/content/translations/el/smart-contracts/index.md b/public/content/translations/el/smart-contracts/index.md
index 7de4e762328..79041f97a85 100644
--- a/public/content/translations/el/smart-contracts/index.md
+++ b/public/content/translations/el/smart-contracts/index.md
@@ -1,11 +1,16 @@
---
title: Έξυπνα συμβόλαια
+metaTitle: "Έξυπνα συμβόλαια: Τι είναι και ποια τα οφέλη"
description: Μια μη τεχνική εισαγωγή στα έξυπνα συμβόλαια
lang: el
---
# Εισαγωγή στα έξυπνα συμβόλαια {#introduction-to-smart-contracts}
+
+
+
+
Τα έξυπνα συμβόλαια αποτελούν τα θεμελιώδη δομικά στοιχεία του επιπέδου εφαρμογών του Ethereum. Είναι προγράμματα υπολογιστών αποθηκευμένα στην [κρυπτοαλυσίδα](/glossary/#blockchain) τα οποία ακολουθούν τη λογική «αν συμβεί αυτό, τότε αυτό» και έχουν εγγυημένη εκτέλεση σύμφωνα με τους κανόνες που ορίζονται από τον κώδικά της, ο οποίος δεν μπορεί να αλλάξει από τη στιγμή που θα δημιουργηθεί.
Ο Nick Szabo επινόησε τον όρο «έξυπνο συμβόλαιο». Το 1994, έγραψε [μια εισαγωγή σε αυτή την έννοια](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html) και το 1996 [μια ερεύνα για το τι θα μπορούσαν να κάνουν τα έξυπνα συμβόλαια](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html).
@@ -69,14 +74,13 @@ lang: el
- [Κρυπτονομίσματα σταθερής αξίας](/stablecoins/)
- [Δημιουργία και διανομή μοναδικών ψηφιακών περιουσιακών στοιχείων](/nft/)
- [Ένα αυτόματο, ανοικτό ανταλλακτήριο νομισμάτων](/get-eth/#dex)
-- [Αποκεντρωμένα παιχνίδια](/dapps/?category=gaming#explore)
+- [Αποκεντρωμένα παιχνίδια](/apps/?category=gaming#explore)
- [Μια πολιτική ασφάλισης που πληρώνει αυτόματα](https://etherisc.com/)
- [Ένα πρότυπο που επιτρέπει στους ανθρώπους να δημιουργήσουν προσαρμοσμένα και διαλειτουργικά νομίσματα](/developers/docs/standards/tokens/)
## Περισσότερες πληροφορίες {#further-reading}
- [Πώς θα αλλάξουν τον κόσμο τα έξυπνα συμβόλαια](https://www.youtube.com/watch?v=pA6CGuXEKtQ)
-- [Έξυπνα Συμβόλαια: Η τεχνολογία blockchain που θα αντικαταστήσει τους δικηγόρους](https://blockgeeks.com/guides/smart-contracts/)
- [Έξυπνες συμβόλαια για προγραμματιστές](/developers/docs/smart-contracts/)
- [Μάθετε να συντάσσετε έξυπνα συμβόλαια](/developers/learning-tools/)
- [Mastering Ethereum - Τι είναι ένα έξυπνο συμβόλαιο;](https://github.com/ethereumbook/ethereumbook/blob/develop/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract)
diff --git a/public/content/translations/el/social-networks/index.md b/public/content/translations/el/social-networks/index.md
index 2fad91df5d7..b4747a733db 100644
--- a/public/content/translations/el/social-networks/index.md
+++ b/public/content/translations/el/social-networks/index.md
@@ -23,7 +23,7 @@ summaryPoint3: Τα κρυπτονομίσματα και τα NFT δημιου
### Λειτουργία των αποκεντρωμένων κοινωνικών δικτύων {#decentralized-social-networks-overview}
-Τα αποκεντρωμένα κοινωνικά δίκτυα είναι μια κατηγορία [αποκεντρωμένων εφαρμογών (dapps)](/dapps/). Πρόκειται για εφαρμογές που υποστηρίζονται από [έξυπνα συμβόλαια](/glossary/#smart-contract) τα οποία αναπτύσσονται στην κρυπτοαλυσίδα. Ο κωδικός συμβολαίου χρησιμεύει ως υποστήριξη για αυτές τις εφαρμογές και καθορίζει την επιχειρηματική τους λογική.
+Τα αποκεντρωμένα κοινωνικά δίκτυα είναι μια κατηγορία [αποκεντρωμένων εφαρμογών (dapps)](/apps/). Πρόκειται για εφαρμογές που υποστηρίζονται από [έξυπνα συμβόλαια](/glossary/#smart-contract) τα οποία αναπτύσσονται στην κρυπτοαλυσίδα. Ο κωδικός συμβολαίου χρησιμεύει ως υποστήριξη για αυτές τις εφαρμογές και καθορίζει την επιχειρηματική τους λογική.
Οι παραδοσιακές πλατφόρμες μέσων κοινωνικής δικτύωσης βασίζονται σε βάσεις δεδομένων για την αποθήκευση των πληροφοριών χρήστη, του κώδικα προγράμματος και άλλων μορφών δεδομένων. Αυτό δημιουργεί μοναδικά σημεία αστοχίας και προσθέτει σημαντική επικινδυνότητα. Παράδειγμα αποτελεί το περιβόητο περιστατικό κατά το οποίο οι διακομιστές του Facebook [τέθηκαν εκτός σύνδεσης για ώρες](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) τον Οκτώβριο 2021, αποκόπτοντας τους χρήστες από την πλατφόρμα.
@@ -74,33 +74,31 @@ summaryPoint3: Τα κρυπτονομίσματα και τα NFT δημιου
## Κοινωνικά δίκτυα Web2 στο Ethereum {#web2-social-networks-and-ethereum}
-Οι εγγενείς πλατφόρμες κοινωνικής δικτύωσης [Web3](/glossary/#web3) δεν είναι οι μόνες που προσπαθούν να ενσωματώσουν την τεχνολογία κρυπτοαλυσίδας στα μέσα κοινωνικής δικτύωσης. Πολλές κεντρικές πλατφόρμες σχεδιάζουν επίσης να ενσωματώσουν το Ethereum στην υποδομή τους:
+Οι εγγενείς πλατφόρμες κοινωνικής δικτύωσης [Web3](/glossary/#web3) δεν είναι οι μόνες που προσπαθούν να ενσωματώσουν την τεχνολογία κρυπτοαλυσίδας στα μέσα κοινωνικής δικτύωσης. Πολλές κεντρικές πλατφόρμες διερευνούν επίσης ή έχουν πειραματιστεί με την ενσωμάτωση του Ethereum στην υποδομή τους:
### Reddit {#reddit}
-Το Reddit έχει προωθήσει τους [πόντους κοινότητας](https://cointelegraph.com/news/reddit-to-reportedly-tokenize-karma-points-and-onboard-500m-new-users), δηλαδή ψηφιακά στοιχεία ERC-20 τα οποία μπορούν να κερδίσουν οι χρήστες δημοσιεύοντας ποιοτικό περιεχόμενο και συνεισφέροντας σε διαδικτυακές κοινότητες (subreddits). Μπορείτε να εξαργυρώσετε αυτά τα κρυπτονομίσματα μέσα σε ένα subreddit για να λάβετε αποκλειστικά προνόμια. Για αυτό το έργο, το Reddit συνεργάζεται με το Arbitrum, ένα δίκτυο [επιπέδου 2](/glossary/#layer-2) που έχει σχεδιαστεί για την κλιμακωτή αναβάθμιση των συναλλαγών στο Ethereum.
-
-Το πρόγραμμα είναι ήδη σε λειτουργία, με το subreddit r/CryptoCurrency [που εκτελεί την έκδοση των σημείων κοινότητας που ονομάζεται "Moons"](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki). Σύμφωνα με την επίσημη περιγραφή, το Moons «επιβραβεύει αφίσες, σχολιαστές και συντονιστές για τη συνεισφορά τους στο subreddit». Επειδή αυτά τα κρυπτονομίσματα βρίσκονται στην κρυπτοαλυσίδα (οι χρήστες τα λαμβάνουν σε πορτοφόλια), είναι ανεξάρτητα από το Reddit και δεν μπορούν να αφαιρεθούν.
-
-Εκτός από τη χρήση των πόντων κοινότητας για την πρόσβαση σε ειδικές λειτουργίες, οι χρήστες μπορούν επίσης να τους ανταλλάξουν με υποχρεωτικό χρήμα (fiat) σε ανταλλακτήρια. Επίσης, ο αριθμός των πόντων κοινότητας που κατέχει ένας χρήστης καθορίζει την επιρροή του στη διαδικασία λήψης αποφάσεων εντός της κοινότητας.
+- Το Reddit είχε πειραματιστεί προηγουμένως με **Πόντους Κοινότητας**, οι οποίοι ήταν στοιχεία ERC-20 που οι χρήστες μπορούσαν να κερδίσουν δημοσιεύοντας ποιοτικό περιεχόμενο και συνεισφέροντας σε συγκεκριμένες διαδικτυακές κοινότητες (subreddits). Οι χρήστες μπορούσαν να εξαργυρώσουν αυτά τα tokens μέσα σε ένα subreddit για αποκλειστικά προνόμια ή να τα ανταλλάξουν. Για αυτό το έργο, το Reddit χρησιμοποίησε το Arbitrum Nova, ένα δίκτυο [επιπέδου 2](/glossary/#layer-2) που έχει σχεδιαστεί για την κλιμάκωση των συναλλαγών Ethereum.
+- Το πρόγραμμα ήταν αξιοσημείωτα ενεργό στο subreddit r/CryptoCurrency με το "Moons" του και στο subreddit r/FortNiteBR με το "Bricks" του. Επειδή αυτά τα κρυπτονομίσματα βρίσκονταν στο blockchain, ήταν ανεξάρτητα από το Reddit από τη στιγμή που καταχωρούνταν στο [πορτοφόλι](/glossary/#wallet) ενός χρήστη.
+- Ωστόσο, το **Reddit [τερμάτισε το πρόγραμμα Community Points](https://www.reddit.com/r/CryptoCurrency/comments/17a33ql/reddit_is_officially_deprecating_community_points/) στα τέλη του 2023**, επικαλούμενο προβλήματα επεκτασιμότητας και πόρων. Ενώ τα ψηφιακά στοιχεία εξακολουθούν να υπάρχουν στο blockchain, το Reddit δεν τα υποστηρίζει πλέον ενεργά ούτε τα ενσωματώνει στις λειτουργίες της πλατφόρμας του.
## Περισσότερες πληροφορίες {#further-reading}
### Άρθρα {#articles}
-- [Αποκέντρωση μέσων κοινωνικής δικτύωσης: ένας οδηγός για τα κοινωνικά δίκτυα web3](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _Coinbase Ventures_
+- [Αποκέντρωση των μέσων κοινωνικής δικτύωσης: ένας οδηγός για το web3 social stack](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _Coinbase Ventures_
- [Τα κοινωνικά δίκτυα είναι η επόμενη μεγάλη ευκαιρία αποκέντρωσης](https://www.coindesk.com/tech/2021/01/22/social-networks-are-the-next-big-decentralization-opportunity/) — _Ben Goertzel_
-- [Το Web3 υπόσχεται αποκεντρωμένα κοινωνικά δίκτυα που υποστηρίζονται από την κοινότητα](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_
-- [Μια επισκόπηση του χώρου των μέσων κοινωνικής δικτύωσης σε Blockchain](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — *Cryptopedia Gemini*
-- [Πώς το Blockchain μπορεί να λύσει το απόρρητο των μέσων κοινωνικής δικτύωσης](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_
-- [Επαρκής αποκέντρωση για κοινωνικά δίκτυα](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — *Varun Srinivasan*
+- [Το Web3 διατηρεί την υπόσχεση για αποκεντρωμένα, κοινωνικά δίκτυα που υποστηρίζονται από την κοινότητα](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_
+- [Μια επισκόπηση του τοπίου των μέσων κοινωνικής δικτύωσης Blockchain](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_
+- [Πώς το Blockchain Μπορεί να Λύσει το Απόρρητο των Κοινωνικών Δικτύων](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_
+- [Επαρκής Αποκέντρωση για Κοινωνικά Δίκτυα](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — _Varun Srinivasan_
### Βίντεο {#videos}
-- [Επεξήγηση αποκεντρωμένων μέσων κοινωνικής δικτύωσης](https://www.youtube.com/watch?v=UdT2lpcGvcQ) — _Coinmarketcap_
-- [Η DeSo Blockchain θέλει να αποκεντρώσει τα μέσα κοινωνικής δικτύωσης](https://www.youtube.com/watch?v=SG2HUiVp0rE) — _Τεχνολογία Bloomberg_
-- [Το μέλλον των αποκεντρωμένων μέσων κοινωνικής δικτύωσης των Balaji Srinivasan, Vitalik Buterin, Juan Benet](https://www.youtube.com/watch?v=DTxE9KV3YrE) — *ETHGlobal*
+- [Επεξήγηση των Αποκεντρωμένων Κοινωνικών Δικτύων](https://www.youtube.com/watch?v=UdT2lpcGvcQ) — _Coinmarketcap_
+- [Το DeSo Blockchain θέλει να αποκεντρώσει τα μέσα κοινωνικής δικτύωσης](https://www.youtube.com/watch?v=SG2HUiVp0rE) — _Bloomberg Technology_
+- [Το μέλλον των αποκεντρωμένων μέσων κοινωνικής δικτύωσης με τους Balaji Srinivasan, Vitalik Buterin, Juan Benet](https://www.youtube.com/watch?v=DTxE9KV3YrE) — _ETHGlobal_
### Κοινότητες {#communities}
-- [r/CryptoCurrency subreddit](https://www.reddit.com/r/CryptoCurrency/)
+- [r/CryptoCurrency subreddit](https://www.reddit.com/r/CryptoCurrency/)
\ No newline at end of file
diff --git a/public/content/translations/el/staking/solo/index.md b/public/content/translations/el/staking/solo/index.md
index 625f622a559..af699cddf25 100644
--- a/public/content/translations/el/staking/solo/index.md
+++ b/public/content/translations/el/staking/solo/index.md
@@ -1,6 +1,6 @@
---
-title: Αποθηκεύστε τα ETH σας μόνοι σας
-description: Μια επισκόπηση πώς να ξεκινήσετε μόνοι σας την αποθήκευση των ETH σας
+title: Αποθηκεύστε τα ETH σας στο σπίτι
+description: Μια επισκόπηση πώς να ξεκινήσετε την αποθήκευση ETH στο σπίτι σας
lang: el
template: staking
emoji: ":money_with_wings:"
@@ -13,31 +13,31 @@ summaryPoints:
- Δε χρειάζεται να εμπιστευθείτε κάποιον τρίτο, εσείς ελέγχετε τα κλειδιά του κεφαλαίου σας
---
-## Τι είναι η ατομική αποθήκευση; {#what-is-solo-staking}
+## Τι είναι η αποθήκευση κεφαλαίου στο σπίτι; {#what-is-solo-staking}
-Η ατομική αποθήκευση κεφαλαίου αφορά τις ενέργειες που λαμβάνετε μόνοι σας [εκτελώντας έναν κόμβο Ethereum](/run-a-node/) συνδεδεμένο στο διαδίκτυο και αποθηκεύοντας 32 ETH για την ενεργοποίηση ενός [επαληθευτή](#faq), δίνοντάς σας τη δυνατότητα να συμμετέχετε απευθείας στον αλγόριθμο συναίνεσης του δικτύου.
+Η αποθήκευση κεφαλαίου στο σπίτι αφορά τις ενέργειες που λαμβάνετε μόνοι σας [εκτελώντας έναν κόμβο Ethereum](/run-a-node/) συνδεδεμένο στο διαδίκτυο και αποθηκεύοντας 32 ETH για την ενεργοποίηση ενός [επαληθευτή](#faq), δίνοντάς σας τη δυνατότητα να συμμετέχετε απευθείας στον αλγόριθμο συναίνεσης του δικτύου.
-**Η ατομική αποθήκευση κεφαλαίου αυξάνει την αποκέντρωση του δικτύου Ethereum**, καθιστώντας το Ethereum πιο ανθεκτικό στη λογοκρισία και ανθεκτικό στις επιθέσεις. Άλλες μέθοδοι αποθήκευσης κεφαλαίου ενδέχεται να μη βοηθήσουν το δίκτυο με τον ίδιο τρόπο. Η ατομική αποθήκευση κεφαλαίου είναι η καλύτερη επιλογή αποθήκευσης για την ασφάλεια του Ethereum.
+**Η αποθήκευση κεφαλαίου στο σπίτι αυξάνει την αποκέντρωση του δικτύου Ethereum**, καθιστώντας το Ethereum πιο ανθεκτικό στη λογοκρισία και ανθεκτικό στις επιθέσεις. Άλλες μέθοδοι αποθήκευσης κεφαλαίου ενδέχεται να μη βοηθήσουν το δίκτυο με τον ίδιο τρόπο. Η αποθήκευση κεφαλαίου στο σπίτι είναι η καλύτερη επιλογή αποθήκευσης για την ασφάλεια του Ethereum.
Ένας κόμβος Ethereum αποτελείται από ένα επίπεδο εκτέλεσης (EL) του λογισμικού πελάτη, καθώς και από ένα επίπεδο αλγορίθμου συναίνεσης (CL) του λογισμικού πελάτη. Αυτά τα λογισμικά πελάτη είναι προγράμματα υπολογιστή που λειτουργούν μαζί, με ένα έγκυρο σύνολο κλειδιών υπογραφής, για να μπορούν να επαληθεύουν συναλλαγές και μπλοκ, βεβαιώνοντας την κεφαλίδα της αλυσίδας συγκεντρώνοντας τις αναφορές επαληθεύσεων και προτείνοντας νέα μπλοκ.
-Αποθηκεύοντας ατομικά είστε υπεύθυνοι για τη λειτουργία των συσκευών που απαιτούνται για να λειτουργήσουν τα λογισμικά πελάτη. Συνιστάται ιδιαίτερα να χρησιμοποιήσετε ξεχωριστή συσκευή από αυτή που χρησιμοποιείτε στο σπίτι, κάτι που είναι εξαιρετικά σημαντικό για την υγεία του δικτύου.
+Αποθηκεύοντας κεφάλαιο στο σπίτι είστε υπεύθυνοι για τη λειτουργία των συσκευών που απαιτούνται για να λειτουργήσει το λογισμικό πελάτη. Συνιστάται ιδιαίτερα να χρησιμοποιήσετε ξεχωριστή συσκευή από αυτή που χρησιμοποιείτε στο σπίτι, κάτι που είναι εξαιρετικά σημαντικό για την υγεία του δικτύου.
-Λαμβάνετε ανταμοιβές απευθείας από το πρωτόκολλο για τη διατήρηση του επαληθευτή σωστά λειτουργικό και διαθέσιμο.
+Οι χρήστες με αποθηκευμένο κεφάλαιο στο σπίτι λαμβάνουν ανταμοιβές απευθείας από το πρωτόκολλο για τη διατήρηση του επαληθευτή λειτουργικό και διαθέσιμο.
-## Γιατί να αποθηκεύσετε το κεφάλαιο μόνοι σας; {#why-stake-solo}
+## Γιατί να αποθηκεύσετε το κεφάλαιο από το σπίτι; {#why-stake-solo}
-Η ατομική αποθήκευση κεφαλαίου συνοδεύεται από μεγαλύτερη ευθύνη, αλλά σας παρέχει μέγιστο έλεγχο των κεφαλαίων σας και της ρύθμισης αποθηκευμένου κεφαλαίου.
+Η αποθήκευση κεφαλαίου στο σπίτι συνοδεύεται από μεγαλύτερη ευθύνη, αλλά σας παρέχει μέγιστο έλεγχο των κεφαλαίων σας και της ρύθμισης αποθηκευμένου κεφαλαίου.
-
+
-## Λόγοι που πρέπει να λάβετε υπόψη σας πριν αποθηκεύσετε μόνοι σας {#considerations-before-staking-solo}
+## Λόγοι που πρέπει να λάβετε υπόψη σας πριν αποθηκεύσετε κεφάλαιο στο σπίτι σας {#considerations-before-staking-solo}
-Όσο και αν επιθυμούσαμε η ατομική αποθήκευσης κεφαλαίου να ήταν προσβάσιμη και απαλλαγμένη από κινδύνους για όλους, δυστυχώς δεν είναι πραγματικότητα. Υπάρχουν κάποιες τεχνικές και σοβαρές σκέψεις που πρέπει να έχετε κατά νου, πριν επιλέξετε την ατομική αποθήκευση των ETH σας.
+Όσο και αν επιθυμούσαμε η αποθήκευσης κεφαλαίου στο σπίτι να ήταν προσβάσιμη και απαλλαγμένη από κινδύνους για όλους, δυστυχώς δεν είναι πραγματικότητα. Υπάρχουν κάποιες τεχνικές και σοβαρές σκέψεις που πρέπει να έχετε κατά νου, πριν επιλέξετε την αποθήκευση ETH στο σπίτι σας.
@@ -93,7 +93,7 @@ summaryPoints:
## Τι πρέπει να γνωρίζετε για εργαλεία ρύθμισης κόμβου και πελάτη {#node-tool-considerations}
-Υπάρχει ένας αυξανόμενος αριθμός εργαλείων και υπηρεσιών που σας βοηθούν να αποθηκεύσετε μόνοι τα ETH σας, αλλά το καθένα συνοδεύεται από διαφορετικούς κινδύνους και οφέλη.
+Υπάρχει ένας αυξανόμενος αριθμός εργαλείων και υπηρεσιών που σας βοηθούν να αποθηκεύσετε στο σπίτι τα ETH σας, αλλά το καθένα συνοδεύεται από διαφορετικούς κινδύνους και οφέλη.
Οι δείκτες χαρακτηριστικών χρησιμοποιούνται για να επισημάνουν αξιοσημείωτα πλεονεκτήματα ή αδυναμίες που μπορεί να έχει ένα εργαλείο αποθήκευσης κεφαλαίου. Χρησιμοποιήστε αυτήν την ενότητα ως αναφορά για τον τρόπο με τον οποίο ορίζουμε αυτά τα χαρακτηριστικά, ενώ επιλέγετε ποια εργαλεία θα σας βοηθήσουν στο ταξίδι σας στην αποθήκευση κεφαλαίου.
@@ -119,7 +119,7 @@ summaryPoints:
Έχετε πρόταση για ένα εργαλείο αποθήκευσης που δεν έχουμε; Ελέγξτε την [πολιτική καταχώρησης προϊόντων μας](/contributing/adding-staking-products/) για να δείτε αν συμφωνεί με τις απαιτήσεις και υποβάλετε για αναθεώρηση.
-## Εξερευνήστε τις οδηγίες ατομικής αποθήκευσης κεφαλαίου {#staking-guides}
+## Εξερευνήστε τις οδηγίες αποθήκευσης κεφαλαίου στο σπίτι {#staking-guides}
@@ -138,7 +138,7 @@ summaryPoints:
Μην καταθέτετε περισσότερα από 32 ETH σε έναν μόνο επικυρωτή. Δεν θα αυξήσει τις ανταμοιβές σας. Εάν έχει οριστεί μια διεύθυνση ανάληψης για την εφαρμογή επικύρωσης, τα επιπλέον χρήματα άνω των 32 ETH θα αποσυρθούν αυτόματα σε αυτήν τη διεύθυνση κατά την επόμενη εκκαθάριση του επικυρωτή.
-Εάν η ατομική αποθήκευση κεφαλαίου φαίνεται πολύ απαιτητική για εσάς, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε μια υπηρεσία staking-as-a-service ή εάν διαθέτετε λιγότερα από 32 ETH, δείτε τις δεξαμενές ομαδικής αποθήκευσης κεφαλαίου.
+Εάν η αποθήκευση κεφαλαίου στο σπίτι φαίνεται πολύ απαιτητική για εσάς, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε μια υπηρεσία staking-as-a-service ή εάν διαθέτετε λιγότερα από 32 ETH, δείτε τις δεξαμενές ομαδικής αποθήκευσης κεφαλαίου.
@@ -203,4 +203,4 @@ summaryPoints:
- [Βήμα προς βήμα: Πώς να εγγραφείτε στο δίκτυο δοκιμής Ethereum 2.0](https://kb.beaconcha.in/guides/tutorial-eth2-multiclient) - _ Butta_
- [Συμβουλές πρόληψης κατά της περικοπής Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) - _Ραούλ Τζόρνταν 2020 _
-
+
diff --git a/public/content/translations/el/statelessness/index.md b/public/content/translations/el/statelessness/index.md
new file mode 100644
index 00000000000..3458e0c9c6e
--- /dev/null
+++ b/public/content/translations/el/statelessness/index.md
@@ -0,0 +1,103 @@
+---
+title: Statelessness, λήξη κατάστασης και ιστορικού
+description: Εξήγηση της λήξης ιστορικού και της μη διατήρησης πλήρους κατάστασης στο Ethereum
+lang: el
+---
+
+# Statelessness, λήξη κατάστασης και ιστορικού {#statelessness}
+
+Η δυνατότητα εκτέλεσης κόμβων Ethereum με κοινό υλικό είναι κρίσιμη για την πραγματική αποκέντρωση. Αυτό συμβαίνει επειδή η εκτέλεση ενός κόμβου δίνει στους χρήστες τη δυνατότητα να επαληθεύουν πληροφορίες εκτελώντας κρυπτογραφικούς ελέγχους και να μην εμπιστεύονται τρίτο μέρος για την παροχή δεδομένων. Η εκτέλεση ενός κόμβου επιτρέπει στους χρήστες να υποβάλλουν συναλλαγές απευθείας μεταξύ χρηστών στο δίκτυο του Ethereum, αντί να χρειάζεται να εμπιστεύονται έναν ενδιάμεσο. Η αποκέντρωση δεν είναι δυνατή εάν αυτά τα οφέλη είναι διαθέσιμα μόνο σε χρήστες με ακριβό υλικό. Αντίθετα, οι κόμβοι θα πρέπει να μπορούν να εκτελούνται με εξαιρετικά μέτριες απαιτήσεις σε επεξεργαστική ισχύ και μνήμη, ώστε να μπορούν να εκτελούνται σε κινητά τηλέφωνα, μικροϋπολογιστές ή και σε υπολογιστή στο σπίτι.
+
+Σήμερα, οι υψηλές απαιτήσεις για χώρο στο δίσκο, είναι το κύριο εμπόδιο που εμποδίζει την παγκόσμια πρόσβαση στους κόμβους. Αυτό οφείλεται κυρίως στην ανάγκη αποθήκευσης μεγάλων τμημάτων των δεδομένων κατάστασης του Ethereum. Αυτά τα δεδομένα κατάστασης περιέχουν κρίσιμες πληροφορίες που απαιτούνται για τη σωστή επεξεργασία νέων μπλοκ και συναλλαγών. Αυτή τη στιγμή, συνιστάται ένας γρήγορος 2TB SSD για την εκτέλεση ενός πλήρους κόμβου Ethereum. Για έναν κόμβο που δεν περικόπτει παλαιότερα δεδομένα, η απαίτηση σε αποθηκευτικό χώρο αυξάνεται περίπου στα 14GB ανά εβδομάδα και οι κόμβοι αρχειοθέτησης που αποθηκεύουν όλα τα δεδομένα από τη στιγμή της γένεσης, πλησιάζει τα 12 TB (Φεβρουάριος 2023).
+
+Μπορούν να χρησιμοποιηθούν φθηνότεροι σκληροί δίσκοι για την αποθήκευση παλαιότερων δεδομένων, αλλά είναι πολύ αργοί για να διαχειριστούν τα εισερχόμενα μπλοκ. Η διατήρηση των υφιστάμενων μοντέλων αποθηκευτικού χώρου για πελάτες, ενώ η αποθήκευση δεδομένων γίνεται φθηνότερα και ευκολότερα, είναι μόνο μια προσωρινή και μερική λύση στο πρόβλημα επειδή η ανάπτυξη κατάστασης του Ethereum είναι «απεριόριστη», πράγμα που σημαίνει ότι οι απαιτήσεις σε αποθηκευτικό χώρο μπορούν μόνο να αυξηθούν και οι τεχνολογικές βελτιώσεις θα πρέπει πάντα να συμβαδίζουν με τη συνεχή ανάπτυξη της κατάστασης. Αντίθετα, οι πελάτες πρέπει να βρουν νέους τρόπους επαλήθευσης μπλοκ και συναλλαγών που δε βασίζονται στην αναζήτηση δεδομένων από τοπικές βάσεις.
+
+## Μείωση αποθηκευτικού χώρου κόμβων {#reducing-storage-for-nodes}
+
+Υπάρχουν διάφοροι τρόποι μείωσης του όγκου των δεδομένων που κάθε κόμβος πρέπει να αποθηκεύσει, όπου για τον καθένα απαιτείται ενημέρωση του βασικού πρωτοκόλλου Ethereum σε διαφορετικό βαθμό:
+
+- **Λήξη ιστορικού (History expiry)**: Επιτρέπει στους κόμβους να απορρίπτουν δεδομένα κατάστασης παλαιότερα από Χ μπλοκ, αλλά δεν αλλάζει τον τρόπο με τον οποίο χειρίζεται τα δεδομένα κατάστασης ο πελάτης Ethereum.
+- **Λήξη κατάστασης (State expiry)**: Επιτρέπει στα δεδομένα κατάστασης που δε χρησιμοποιούνται συχνά να χαρακτηριστούν ανενεργά. Τα ανενεργά δεδομένα μπορούν να αγνοηθούν από τους πελάτες μέχρι την επόμενη χρήση τους.
+- **Ασθενής λειτουργία χωρίς κατάσταση (Weak statelessness)**: Μόνο οι παραγωγοί μπλοκ χρειάζονται πρόσβαση σε δεδομένα πλήρους κατάστασης καθώς οι υπόλοιποι κόμβοι μπορούν να επαληθεύσουν μπλοκ χωρίς τοπική βάση των δεδομένων κατάστασης.
+- **Ισχυρή λειτουργία χωρίς κατάσταση (Strong statelessness)**: Κανένας κόμβος δε χρειάζεται πρόσβαση στα πλήρη δεδομένα κατάστασης.
+
+## Λήξη δεδομένων {#data-expiry}
+
+### Λήξη ιστορικού {#history-expiry}
+
+Η λήξη ιστορικού αναφέρεται σε πελάτες που αφαιρούν τα παλαιότερα δεδομένα που είναι απίθανο να χρειαστούν, έτσι ώστε να αποθηκεύουν μόνο έναν μικρό αριθμό δεδομένων ιστορικού, απορρίπτοντας παλαιότερα δεδομένα κατά τη λήψη νεότερων. Υπάρχουν δύο λόγοι για τους οποίους οι πελάτες απαιτούν δεδομένα ιστορικού: συγχρονισμός και εξυπηρέτηση αιτημάτων δεδομένων. Αρχικά, οι πελάτες έπρεπε να συγχρονιστούν από το μπλοκ γένεσης, επαληθεύοντας ότι κάθε διαδοχικό μπλοκ είναι σωστό μέχρι την κεφαλή της αλυσίδας. Σήμερα, οι πελάτες χρησιμοποιούν «σημεία ελέγχου αδύναμης υποκειμενικότητας» για να οδηγηθούν στην κορυφή της αλυσίδας. Αυτά τα σημεία ελέγχου είναι αξιόπιστα σημεία έναρξης, όπως η ύπαρξη ενός μπλοκ γένεσης κοντά στην τρέχουσα κατάσταση και όχι στην έναρξη του Ethereum. Αυτό σημαίνει ότι οι πελάτες μπορούν να απορρίψουν όλες τις πληροφορίες πριν από το πιο πρόσφατο σημείο ελέγχου αδύναμης υποκειμενικότητας, χωρίς να χάσουν τη δυνατότητα συγχρονισμού με την κεφαλή της αλυσίδας. Επί του παρόντος, οι πελάτες εξυπηρετούν αιτήματα (που φτάνουν μέσω JSON-RPC) για δεδομένα ιστορικού, συλλέγοντάς τα από τις τοπικές βάσεις δεδομένων τους. Ωστόσο, με τη λήξη του ιστορικού αυτό δε θα είναι δυνατό εάν τα ζητούμενα δεδομένα έχουν περικοπεί. Η διάθεση αυτών των δεδομένων ιστορικού πραγματοποιείται όπου απαιτούνται καινοτόμες λύσεις.
+
+Μια επιλογή είναι οι πελάτες να ζητούν δεδομένα ιστορικού από ομοτίμους χρησιμοποιώντας μια λύση όπως το Δίκτυο Portal. Το Δίκτυο Portal είναι ένα υπό ανάπτυξη δίκτυο peer-to-peer για την εξυπηρέτηση δεδομένων ιστορικού, όπου κάθε κόμβος αποθηκεύει ένα μικρό κομμάτι της ιστορίας του Ethereum έτσι ώστε ολόκληρο το ιστορικό να υπάρχει κατανεμημένο σε όλο το δίκτυο. Τα αιτήματα εξυπηρετούνται αναζητώντας ομοτίμους που αποθηκεύουν τα σχετικά δεδομένα και ζητώντας τα από αυτούς. Εναλλακτικά, δεδομένου ότι οι εφαρμογές απαιτείται να έχουν πρόσβαση σε δεδομένα ιστορικού, μπορεί να είναι δική τους ευθύνη να τα αποθηκεύσουν. Μπορεί επίσης να υπάρχουν αρκετά αλτρουιστικά άτομα στον χώρο του Ethereum που θα ήταν πρόθυμοι να διατηρήσουν ιστορικά αρχεία. Θα μπορούσε να είναι ένα DAO που ενδιαφέρεται για τη διαχείριση της αποθήκευσης δεδομένων ιστορικού ή ιδανικά ένας συνδυασμός όλων αυτών των επιλογών. Αυτοί οι πάροχοι θα μπορούσαν να εξυπηρετήσουν τα δεδομένα με πολλούς τρόπους, όπως σε ένα torrent, FTP, Filecoin ή IPFS.
+
+Η λήξη του ιστορικού είναι κάπως αμφιλεγόμενη επειδή μέχρι στιγμής το Ethereum εγγυάται πάντα έμμεσα τη διαθεσιμότητα οποιωνδήποτε δεδομένων ιστορικού. Ένας πλήρης συγχρονισμός από τη γένεση ήταν πάντα δυνατός ως καθιερωμένο, ακόμα και αν βασίζεται στην ανακατασκευή κάποιων παλαιότερων δεδομένων από διάφορα στιγμιότυπα. Η λήξη του ιστορικού μεταφέρει την ευθύνη για την παροχή αυτής της εγγύησης εκτός του βασικού πρωτοκόλλου Ethereum. Αυτό θα μπορούσε να δημιουργήσει νέους κινδύνους λογοκρισίας, εάν οι κεντρικοί οργανισμοί καταλήξουν να παρέμβουν στην παροχή ιστορικών δεδομένων.
+
+Το EIP-4444 δεν είναι ακόμη έτοιμο για δημοσίευση, αλλά βρίσκεται υπό ενεργή συζήτηση. Είναι ενδιαφέρον ότι οι προκλήσεις με το EIP-4444 δεν είναι τόσο τεχνικές όσο η διαχείριση της κοινότητας. Προκειμένου αυτό να δημοσιευθεί, πρέπει να υπάρχει συμμετοχή στην κοινότητα που να περιλαμβάνει όχι μόνο συμφωνία αλλά και δεσμεύσεις για τον τρόπο αποθήκευσης και εξυπηρέτησης των δεδομένων ιστορικού από αξιόπιστες οντότητες.
+
+Αυτή η αναβάθμιση ουσιαστικά δεν αλλάζει τον τρόπο με τον οποίο οι κόμβοι Ethereum χειρίζονται τα δεδομένα κατάστασης, απλώς αλλάζει τον τρόπο πρόσβασης στα δεδομένα ιστορικού.
+
+### Λήξη κατάστασης {#state-expiry}
+
+Η λήξη κατάστασης αναφέρεται στην αφαίρεση της κατάστασης του δικτύου από μεμονωμένους κόμβους, εάν δεν έχει χρησιμοποιηθεί πρόσφατα. Υπάρχουν διάφοροι τρόποι που θα μπορούσε να εφαρμοστεί, όπως:
+
+- **Λήξη με ενοικίαση (Expire by rent)**: Χρέωση σε λογαριασμούς με «ενοίκιο» και λήξη όταν το ενοίκιο τους μηδενιστεί.
+- **Χρονική λήξη (Expire by time)**: Χαρακτηρίζοντας λογαριασμούς ανενεργούς εάν δεν υπάρχει ανάγνωση/εγγραφή για κάποιο χρονικό διάστημα.
+
+Η λήξη με ενοικίαση θα μπορούσε να είναι ένα άμεσο ενοίκιο που χρεώνεται σε λογαριασμούς για να διατηρηθούν στην ενεργή βάση δεδομένων κατάστασης. Η χρονική λήξη μπορεί να είναι με αντίστροφη μέτρηση από την τελευταία αλληλεπίδραση λογαριασμού ή μπορεί να είναι περιοδική λήξη όλων των λογαριασμών. Θα μπορούσαν επίσης να υπάρχουν μηχανισμοί που συνδυάζουν στοιχεία τόσο του χρόνου όσο και του μοντέλου βασισμένου στο ενοίκιο, για παράδειγμα μεμονωμένοι λογαριασμοί παραμένουν σε ενεργή κατάσταση εάν πληρώσουν κάποια μικρή προμήθεια πριν από τη λήξη του χρόνου. Με τη λήξη της κατάστασης είναι σημαντικό να σημειωθεί ότι η μη ενεργή κατάσταση **δεν διαγράφεται**, απλώς αποθηκεύεται ξεχωριστά από την τρέχουσα κατάσταση. Η μη ενεργή κατάσταση μπορεί να επανέλθει στην ενεργή κατάσταση.
+
+Ο τρόπος με τον οποίο θα λειτουργούσε αυτό είναι πιθανώς να έχετε ένα δέντρο κατάστασης για συγκεκριμένες χρονικές περιόδους (ίσως ~ 1 έτος). Κάθε φορά που ξεκινά μια νέα περίοδος, κάνει το ίδιο και ένα νέο δέντρο κατάστασης. Μόνο το τρέχον δέντρο κατάστασης μπορεί να τροποποιηθεί, όλα τα άλλα είναι αμετάβλητα. Οι κόμβοι Ethereum αναμένεται να διατηρούν μόνο το τρέχον δέντρο κατάστασης και το επόμενο πιο πρόσφατο. Αυτό απαιτεί έναν τρόπο για τη χρονική σήμανση μιας διεύθυνσης με την περίοδο στην οποία υπάρχει. Υπάρχουν [διάφοροι πιθανοί τρόποι](https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607) για να γίνει αυτό, αλλά η κύρια επιλογή απαιτεί [επιμήκυνση των διευθύνσεων](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485) για να χωρέσουν οι πρόσθετες πληροφορίες με το πλεονέκτημα ότι οι μεγαλύτερες διευθύνσεις είναι πολύ πιο ασφαλείς. Το στοιχείο του οδικού χάρτη που το εφαρμόζει ονομάζεται [επέκταση χώρου διεύθυνσης](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485).
+
+Ομοίως, με τη λήξη του ιστορικού η ευθύνη λήξης της κατάστασης για την αποθήκευση παλαιών δεδομένων κατάστασης αφαιρείται από μεμονωμένους χρήστες και προωθείται σε άλλες οντότητες, όπως κεντρικούς παρόχους, αλτρουιστικά μέλη της κοινότητας ή πιο φουτουριστικές αποκεντρωμένες λύσεις, όπως το Δίκτυο Portal.
+
+Η λήξη κατάστασης βρίσκεται ακόμη στο στάδιο της έρευνας και δεν είναι ακόμη έτοιμη για δημοσίευση. Η λήξη κατάστασης μπορεί να συμβεί αργότερα από τη λήξη των πελατών χωρίς κατάσταση και του ιστορικού, επειδή οι αναβαθμίσεις καθιστούν τα μεγάλα μεγέθη κατάστασης εύκολα διαχειρίσιμα για την πλειοψηφία των επικυρωτών.
+
+## Statelessness {#statelessness}
+
+Η λειτουργία χωρίς κατάσταση είναι λίγο λανθασμένη ονομασία γιατί δε σημαίνει ότι η έννοια της «κατάστασης» εξαλείφεται, αλλά περιλαμβάνει αλλαγές στον τρόπο με τον οποίο οι κόμβοι Ethereum χειρίζονται τα δεδομένα κατάστασης. Η ίδια η λειτουργία χωρίς κατάσταση έχει δύο πλευρές: την ασθενή και την ισχυρή λειτουργία χωρίς κατάσταση. Η ασθενής λειτουργία χωρίς κατάσταση δίνει τη δυνατότητα στους περισσότερους κόμβους να μένουν χωρίς κατάσταση, αναθέτοντας την ευθύνη για την αποθήκευση κατάστασης σε λίγους. Η ισχυρή λειτουργία χωρίς κατάσταση καταργεί εντελώς την ανάγκη για οποιονδήποτε κόμβο να αποθηκεύει τα πλήρη δεδομένα κατάστασης. Τόσο η ασθενής όσο και η ισχυρή λειτουργία χωρίς κατάσταση προσφέρουν τα ακόλουθα οφέλη στους κανονικούς επικυρωτές:
+
+- Σχεδόν άμεσο συγχρονισμό.
+- Δυνατότητα επικύρωσης μπλοκ εκτός σειράς.
+- Κόμβοι που μπορούν να εκτελούνται με πολύ χαμηλές απαιτήσεις υλικού (π.χ. σε τηλέφωνα).
+- Οι κόμβοι μπορούν να εκτελούνται από φθηνούς σκληρούς δίσκους επειδή δεν απαιτείται ανάγνωση/εγγραφή δίσκου.
+- Συμβατότητα με μελλοντικές αναβαθμίσεις στην κρυπτογράφηση του Ethereum.
+
+### Ασθενής λειτουργία χωρίς κατάσταση {#weak-statelessness}
+
+Η ασθενής λειτουργία χωρίς κατάσταση συνεπάγεται αλλαγές στον τρόπο με τον οποίο οι κόμβοι Ethereum επαληθεύουν τις αλλαγές κατάστασης, αλλά δεν εξαλείφει εντελώς την ανάγκη αποθήκευσης της κατάστασης σε όλους τους κόμβους του δικτύου. Αντίθετα, η ασθενής λειτουργία χωρίς κατάσταση θέτει την ευθύνη για την αποθήκευση κατάστασης στους προτείνοντες μπλοκ, ενώ όλοι οι άλλοι κόμβοι στο δίκτυο επαληθεύουν μπλοκ χωρίς να αποθηκεύουν τα πλήρη δεδομένα κατάστασης.
+
+**Στην περίπτωση ασθενής λειτουργία χωρίς κατάσταση, τα προτεινόμενα μπλοκ απαιτούν πρόσβαση σε δεδομένα πλήρους κατάστασης, αλλά η επαλήθευση μπλοκ δεν απαιτεί δεδομένα κατάστασης**
+
+Για να συμβεί αυτό, τα [Verkle trees](/roadmap/verkle-trees/) πρέπει να έχουν ήδη εφαρμοστεί σε πελάτες Ethereum. Τα δέντρα Verkle είναι μια δομή δεδομένων αντικατάστασης για την αποθήκευση δεδομένων κατάστασης Ethereum που επιτρέπουν σε μικρού μεγέθους "μάρτυρες" στα δεδομένα να διαβιβάζονται μεταξύ ομοτίμων και να χρησιμοποιούνται για την επαλήθευση μπλοκ αντί για επαλήθευση μπλοκ σε τοπικές βάσεις δεδομένων. Ο [διαχωρισμός πρωτείνοντος - δημιουργού](/roadmap/pbs/) απαιτείται επειδή επιτρέπει στους δημιουργούς μπλοκ να είναι εξειδικευμένοι κόμβοι με πιο ισχυρό υλικό και αυτοί είναι που απαιτούν πρόσβαση στα πλήρη δεδομένα κατάστασης.
+
+
+
+Η λειτουργία χωρίς κατάσταση βασίζεται στο ότι οι δημιουργοί μπλοκ διατηρούν αντίγραφο των πλήρων δεδομένων κατάστασης, έτσι ώστε να μπορούν να δημιουργήσουν μάρτυρες που μπορούν να χρησιμοποιηθούν για την επαλήθευση του μπλοκ. Άλλοι κόμβοι δε χρειάζονται πρόσβαση στα δεδομένα κατάστασης, όλες οι πληροφορίες που απαιτούνται για την επαλήθευση του μπλοκ είναι διαθέσιμες στον μάρτυρα. Αυτό δημιουργεί μια κατάσταση όπου η πρόταση ενός μπλοκ είναι ακριβή, αλλά η επαλήθευση του μπλοκ είναι φθηνή, πράγμα που σημαίνει ότι λιγότεροι χειριστές θα εκτελέσουν έναν κόμβο πρότασης μπλοκ. Ωστόσο, η αποκέντρωση των προτεινόμενων μπλοκ δεν είναι κρίσιμη, εφόσον όσο το δυνατόν περισσότεροι συμμετέχοντες μπορούν να επαληθεύσουν ανεξάρτητα ότι τα μπλοκ που προτείνουν είναι έγκυρα.
+
+Διαβάστε περισσότερα στις σημειώσεις του Dankrad.
+
+
+Οι προτείνοντες μπλοκ χρησιμοποιούν τα δεδομένα κατάστασης για να δημιουργήσουν "μάρτυρες", το ελάχιστο σύνολο δεδομένων που αποδεικνύουν τις αξίες της κατάστασης που αλλάζουν από τις συναλλαγές σε ένα μπλοκ. Άλλα προγράμματα επικύρωσης δε διατηρούν την κατάσταση, αποθηκεύουν μόνο το root κατάστασης (ένα hash ολόκληρης της κατάστασης). Λαμβάνουν ένα μπλοκ και έναν μάρτυρα και τα χρησιμοποιούν για να ενημερώσουν το root κατάστασης τους. Αυτό κάνει έναν κόμβο επικύρωσης εξαιρετικά ελαφρύ.
+
+Η ασθενής λειτουργία χωρίς κατάσταση βρίσκεται σε προηγμένη κατάσταση έρευνας, αλλά βασίζεται στον διαχωρισμό προτείνοντα - δημιουργού και τα δέντρα Verkle που έχουν εφαρμοστεί έτσι ώστε να μπορούν να περάσουν μικροί μάρτυρες μεταξύ χρηστών. Αυτό σημαίνει ότι η ασθενής λειτουργία χωρίς κατάσταση είναι πιθανώς μερικά χρόνια μακριά από το Ethereum Mainnet.
+
+### Ισχυρή λειτουργία χωρίς κατάσταση {#strong-statelessness}
+
+Η ισχυρή λειτουργία χωρίς κατάσταση καταργεί την ανάγκη οποιουδήποτε κόμβου να αποθηκεύει δεδομένα κατάστασης. Αντίθετα, οι συναλλαγές αποστέλλονται με μάρτυρες που μπορούν να συγκεντρωθούν από τους παραγωγούς μπλοκ. Οι δημιουργοί μπλοκ είναι υπεύθυνοι για την αποθήκευση μόνο εκείνης της κατάστασης που απαιτείται για τη δημιουργία μαρτύρων για σχετικούς λογαριασμούς. Η ευθύνη για την κατάσταση μεταφέρεται σχεδόν εξ ολοκλήρου στους χρήστες, καθώς στέλνουν μάρτυρες και «λίστες πρόσβασης» για να δηλώσουν με ποιους λογαριασμούς και κλειδιά αποθήκευσης αλληλεπιδρούν. Αυτό θα επέτρεπε εξαιρετικά ελαφρούς κόμβους, αλλά υπάρχουν συμβιβασμοί, συμπεριλαμβανομένης της δυσκολότερης συναλλαγής με έξυπνα συμβόλαια.
+
+Η ισχυρή λειτουργία χωρίς κατάσταση έχει διερευνηθεί από ερευνητές, αλλά επί του παρόντος δεν αναμένεται να είναι μέρος του οδικού χάρτη του Ethereum καθώς είναι πιο πιθανό ότι η ασθενής λειτουργία χωρίς κατάσταση είναι επαρκής για τις ανάγκες κλιμάκωσης του Ethereum.
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Η ασθενής λειτουργία χωρίς κατάσταση, η λήξη του ιστορικού και η λήξη κατάστασης βρίσκονται όλα στη φάση της έρευνας και αναμένεται να είναι έτοιμα σε αρκετά χρόνια από τώρα. Δεν υπάρχει καμία εγγύηση ότι όλες αυτές οι προτάσεις θα εφαρμοστούν, για παράδειγμα εάν πρώτα εφαρμοστεί η λήξη της κατάστασης, ενδέχεται να μη χρειάζεται να εφαρμοστεί και η λήξη ιστορικού. Υπάρχουν επίσης άλλα στοιχεία οδικού χάρτη ανάπτυξης, όπως τα [Verkle Trees](/roadmap/verkle-trees) και [Proposer-builder separation](/roadmap/pbs) που πρέπει να ολοκληρωθούν πρώτα.
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Συνέντευξη του Vitalik για τη λειτουργία χωρίς κατάσταση](https://www.reddit.com/r/ethereum/comments/o9s15i/impromptu_technical_ama_on_statelessness_and/)
+- [Θεωρία διαχείρισης του μεγέθους κατάστασης](https://hackmd.io/@vbuterin/state_size_management)
+- [Σχέση κατάστασης επαναφοράς - διένεξης - ελαχιστοποίησης](https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739)
+- [Τρόποι προς τη λειτουργία χωρίς κατάσταση και λήξη κατάστασης](https://hackmd.io/@vbuterin/state_expiry_paths)
+- [Προδιαγραφή EIP-4444](https://eips.ethereum.org/EIPS/eip-4444)
+- [Alex Stokes για το EIP-4444](https://youtu.be/SfDC_qUZaos)
+- [Γιατί είναι σημαντική η μετάβαση σε λειτουργία χωρίς κατάσταση](https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html)
+- [Αρχικές σημειώσεις σχεδίου για πελάτη χωρίς κατάσταση](https://ethresear.ch/t/the-stateless-client-concept/172)
+- [Περισσότερα για τη λήξη κατάστασης](https://hackmd.io/@vbuterin/state_size_management#A-more-moderate-solution-state-expiry)
+- [Ακόμη περισσότερα για τη λήξη κατάστασης](https://hackmd.io/@vbuterin/state_expiry_paths#Option-2-per-epoch-state-expiry)
diff --git a/public/content/translations/el/support/index.md b/public/content/translations/el/support/index.md
new file mode 100644
index 00000000000..84bafec9acd
--- /dev/null
+++ b/public/content/translations/el/support/index.md
@@ -0,0 +1,105 @@
+---
+title: Υποστήριξη Ethereum
+description: Λάβετε υποστήριξη στο οικοσύστημα του Ethereum.
+lang: el
+---
+
+# Υποστήριξη Ethereum {#support}
+
+## Επίσημη υποστήριξη του Ethereum {#official-support}
+
+Χρειάζεστε επίσημη υποστήριξη του Ethereum; Το πρώτο πράγμα που πρέπει να γνωρίζετε είναι ότι το Ethereum είναι αποκεντρωμένο. Αυτό σημαίνει ότι κανένας κεντρικός οργανισμός, οντότητα ή άτομο δεν κατέχει το Ethereum και γι' αυτό δεν υπάρχουν επίσημα κανάλια υποστήριξης.
+
+Η κατανόηση της αποκεντρωμένης φύσης του Ethereum είναι ζωτικής σημασίας, **γιατί οποιοσδήποτε παρουσιάζεται ως επίσημη υποστήριξη για το Ethereum πιθανότατα προσπαθεί να σας εξαπατήσει!** Η καλύτερη προστασία ενάντια στους κακόβουλους είναι να ενημερωθείτε σωστά και να λαμβάνετε σοβαρά υπόψη τα θέματα ασφαλείας.
+
+
+ Ασφάλεια του Ethereum και πρόληψη κατά της απάτης
+
+
+
+ Μάθετε τις βασικές αρχές του Ethereum
+
+
+Παρά την έλλειψη επίσημης υποστήριξης, πολλές ομάδες, κοινότητες και έργα σε όλο το οικοσύστημα του Ethereum είναι πρόθυμοι να βοηθήσουν και μπορείτε να βρείτε πολλές χρήσιμες πληροφορίες και πόρους σε αυτήν τη σελίδα. Έχετε περισσότερες ερωτήσεις; Εγγραφείτε στο [ethereum.org Discord](/discord/) και θα προσπαθήσουμε να σας βοηθήσουμε.
+
+## Συχνές ερωτήσεις {#faq}
+
+### Έχω στείλει ETH σε λάθος πορτοφόλι {#wrong-wallet}
+
+Μια συναλλαγή που αποστέλλεται στο Ethereum είναι μη αναστρέψιμη. Δυστυχώς, εάν έχετε στείλει ETH σε λάθος πορτοφόλι, δεν υπάρχει τρόπος να ανακτήσετε αυτά τα χρήματα. Κανένας κεντρικός οργανισμός, οντότητα ή πρόσωπο δεν κατέχει το Ethereum, πράγμα που σημαίνει ότι κανείς δεν μπορεί να επέμβει στις συναλλαγές. Επομένως, είναι ζωτικής σημασίας να ελέγχετε πάντα τις συναλλαγές σας πριν τις ολοκληρώσετε.
+
+### Πώς μπορώ να διεκδικήσω το δώρο μου στο Ethereum; {#giveaway-scam}
+
+Τα δώρα στο Ethereum είναι απάτες που έχουν σχεδιαστεί για να κλέψουν τα ETH σας. Μη δελεάζεστε από προσφορές που φαίνονται πολύ καλές για να είναι αληθινές, εάν στείλετε ETH σε μια διεύθυνση προσφοράς δε θα λάβετε δώρο και δε θα μπορείτε να ανακτήσετε τα χρήματά σας.
+
+[Περισσότερα για την πρόληψη κατά της απάτης](/security/#common-scams)
+
+### Η συναλλαγή μου καθυστερεί {#stuck-transaction}
+
+Οι συναλλαγές στο Ethereum μερικές φορές μπορεί να καθυστερούν εάν έχετε υποβάλει χαμηλότερες κρατήσεις συναλλαγής από αυτή που απαιτείται λόγω της ζήτησης του δικτύου. Πολλά πορτοφόλια παρέχουν επιλογή για εκ νέου υποβολή της ίδιας συναλλαγής, με υψηλότερη χρέωση για την επίσπευσή της. Εναλλακτικά, μπορείτε να ακυρώσετε μια εκκρεμή συναλλαγή στέλνοντας μια συναλλαγή στη δική σας διεύθυνση και χρησιμοποιώντας το ίδιο «nonce» με την εκκρεμή συναλλαγή.
+
+[Πώς να επιταχύνετε ή να ακυρώσετε μια εκκρεμή συναλλαγή στο MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-speed-up-or-cancel-a-pending-transaction)
+
+[Πώς να ακυρώσετε τις εκκρεμείς συναλλαγές Ethereum](https://info.etherscan.com/how-to-cancel-ethereum-pending-transactions/)
+
+### Πώς μπορώ να κρυπτορύξω Ethereum; {#mining-ethereum}
+
+Η κρυπτόρυξη στο Ethereum δεν είναι πλέον δυνατή. Η κρυπτόρυξη απενεργοποιήθηκε όταν το Ethereum πέρασε από την [απόδειξη εργασίας](/glossary/#pow) στην [απόδειξη συμμετοχής](/glossary/#pos). Τώρα, αντί για κρυπτορύχους, το Ethereum έχει επικυρωτές. Οποιοσδήποτε μπορεί να [αποθηκεύσει κεφάλαιο](/glossary/#staking) σε ETH και να λάβει ανταμοιβές για την εκτέλεση λογισμικού επικύρωσης για την ασφάλεια του δικτύου.
+
+### Πώς να γίνετε χρήστης με αποθηκευμένο κεφάλαιο / επικυρωτής; {#how-to-stake}
+
+Για να γίνετε επικυρωτής, πρέπει να αποθηκεύσετε 32 ETH στο συμβόλαιο κατάθεσης του Ethereum και να δημιουργήσετε έναν κόμβο επικύρωσης. Περισσότερες πληροφορίες είναι διαθέσιμες στη [σελίδα αποθήκευσης κεφαλαίου](/staking) και στην [πλατφόρμα εκκίνησης αποθήκευσης κεφαλαίου](https://launchpad.ethereum.org/).
+
+## Δημιουργία αποκεντρωμένων εφαρμογών {#building-support}
+
+Η υλοποίηση μπορεί να είναι δύσκολη. Δείτε παρακάτω ιστότοπους ανάπτυξης με έμπειρους προγραμματιστές Ethereum που μπορούν να σας βοηθήσουν.
+
+- [Alchemy University](https://university.alchemy.com/#starter_code)
+- [CryptoDevs discord](https://discord.com/invite/5W5tVb3)
+- [Ethereum StackExchange](https://ethereum.stackexchange.com/)
+- [StackOverflow](https://stackoverflow.com/questions/tagged/web3)
+- [Web3 University](https://www.web3.university/)
+- [LearnWeb3](https://discord.com/invite/learnweb3)
+
+Μπορείτε επίσης να βρείτε οδηγούς τεκμηρίωσης και ανάπτυξης στην ενότητα [Πόροι προγραμματιστών Ethereum](/developers/).
+
+### Εργαλεία {#dapp-tooling}
+
+Η ερώτησή σας αφορά σε συγκεκριμένο εργαλείο, έργο, ή βιβλιοθήκη; Τα περισσότερα έργα έχουν διακομιστές συνομιλίας ή φόρουμ αφιερωμένα στην υποστήριξή σας.
+
+Δείτε μερικά δημοφιλή παραδείγματα:
+
+- [Solidity](https://gitter.im/ethereum/solidity)
+- [ethers.js](https://discord.gg/6jyGVDK6Jx)
+- [web3.js](https://discord.gg/GsABYQu4sC)
+- [Hardhat](https://discord.gg/xtrMGhmbfZ)
+- [Alchemy](http://alchemy.com/discord)
+- [Tenderly](https://discord.gg/fBvDJYR)
+
+## Εκτέλεση κόμβου {#node-support}
+
+Αν εκτελείτε έναν κόμβο ή έναν επαληθευτή, δείτε παρακάτω μερικές κοινότητες που είναι αφιερωμένες να σας βοηθήσουν να ξεκινήσετε.
+
+- [EthStaker discord](https://discord.gg/ethstaker)
+- [EthStaker reddit](https://www.reddit.com/r/ethstaker)
+
+Οι περισσότεροι από τους πελάτες του Ethereum έχουν επίσης ξεχωριστούς, δημόσιους χώρους, όπου μπορείτε να λάβετε υποστήριξη και να υποβάλλετε ερωτήσεις.
+
+### Λογισμικό πελάτη {#execution-clients}
+
+- [Geth](https://discord.gg/FqDzupGyYf)
+- [Nethermind](https://discord.gg/YJx3pm8z5C)
+- [Besu](https://discord.gg/p8djYngzKN)
+- [Erigon](https://github.com/ledgerwatch/erigon/issues)
+- [Reth](https://github.com/paradigmxyz/reth/discussions)
+
+### Προγράμματα συναίνεσης {#consensus-clients}
+
+- [Prysm](https://discord.gg/prysmaticlabs)
+- [Nimbus](https://discord.gg/nSmEH3qgFv)
+- [Lighthouse](https://discord.gg/cyAszAh)
+- [Teku](https://discord.gg/7hPv2T6)
+- [Lodestar](https://discord.gg/aMxzVcr)
+- [Grandine](https://discord.gg/H9XCdUSyZd)
+
+Μπορείτε επίσης να [μάθετε πώς να εκτελέσετε έναν κόμβο εδώ](/developers/docs/nodes-and-clients/run-a-node/).
diff --git a/public/content/translations/el/user-experience/index.md b/public/content/translations/el/user-experience/index.md
new file mode 100644
index 00000000000..88cba4abc3d
--- /dev/null
+++ b/public/content/translations/el/user-experience/index.md
@@ -0,0 +1,36 @@
+---
+title: Βελτίωση της εμπειρίας χρήστη
+description: Το Ethereum είναι ακόμα πολύπλοκο στη χρήση για τους περισσότερους ανθρώπους. Για να ενθαρρυνθεί η μαζική υιοθέτηση, το Ethereum πρέπει να μειώσει δραστικά τα εμπόδια εισόδου. Οι χρήστες πρέπει να απολαμβάνουν τα οφέλη της αποκεντρωμένης, χωρίς άδεια και ανθεκτικής στη λογοκρισία πρόσβασης στο Ethereum, αλλά πρέπει να είναι εξίσου ομαλή με τη χρήση μιας παραδοσιακής εφαρμογής web2.
+lang: el
+image: /images/roadmap/roadmap-ux.png
+alt: "Οδικός χάρτης"
+template: roadmap
+---
+
+**Η χρήση του Ethereum πρέπει να απλοποιηθεί** από τη διαχείριση [κλειδιών](/glossary/#key) και [πορτοφολιών](/glossary/#wallet) έως την εκτέλεση συναλλαγών. Για να διευκολυνθεί η μαζική υιοθέτηση, το Ethereum πρέπει να αυξήσει δραστικά την ευκολία χρήσης, επιτρέποντας στους χρήστες να βιώσουν την πρόσβαση χωρίς την ανάγκη άδειας και ανθεκτική στη λογοκρισία στο Ethereum με την απρόσκοπτη εμπειρία χρήσης των εφαρμογών [Web2](/glossary/#web2).
+
+## Πέρα από τις φράσεις ασφαλείας {#no-more-seed-phrases}
+
+Οι λογαριασμοί Ethereum προστατεύονται από ένα ζευγάρι κλειδιών που χρησιμοποιούνται για τον εντοπισμό λογαριασμών (δημόσιο κλειδί) και την υπογραφή μηνυμάτων (ιδιωτικό κλειδί). Ένα ιδιωτικό κλειδί είναι σαν ένας κύριος κωδικός πρόσβασης. Επιτρέπει την πλήρη πρόσβαση σε έναν λογαριασμό Ethereum. Αυτός είναι ένας διαφορετικός τρόπος λειτουργίας για άτομα που είναι πιο εξοικειωμένα με τράπεζες και εφαρμογές Web2 που διαχειρίζονται λογαριασμούς για λογαριασμό του χρήστη. Για να επιτύχει το Ethereum μαζική υιοθέτηση χωρίς να βασίζεται σε κεντρικές υπηρεσίες, πρέπει να υπάρχει ένας απλός, απρόσκοπτος τρόπος για έναν χρήστη να αναλάβει την επιμέλεια των περιουσιακών του στοιχείων και να διατηρήσει τον έλεγχο των δεδομένων του χωρίς να χρειάζεται να κατανοήσει την κρυπτογράφηση δημόσιου-ιδιωτικού κλειδιού και τη διαχείριση κλειδιών.
+
+Η λύση σε αυτό είναι η χρήση πορτοφολιών [έξυπνων συμβολαίων](/glossary/#smart-contract) για αλληλεπίδραση με το Ethereum. Τα πορτοφόλια έξυπνων συμβολαίων δημιουργούν τρόπους για την προστασία των λογαριασμών σε περίπτωση απώλειας ή κλοπής των κλειδιών, ευκαιρίες για καλύτερο εντοπισμό και άμυνα κατά της απάτης και επιτρέπουν στα πορτοφόλια να αποκτούν νέες λειτουργίες. Παρόλο που τα πορτοφόλια έξυπνων συμβολαίων υπάρχουν σήμερα, είναι δύσχρηστα στην κατασκευή τους επειδή το πρωτόκολλο Ethereum πρέπει να τα υποστηρίξει καλύτερα. Αυτή η πρόσθετη υποστήριξη είναι γνωστή ως account abstraction.
+
+Περισσότερα για το account abstraction
+
+## Κόμβοι για όλους
+
+Οι χρήστες που εκτελούν [κόμβους](/glossary/#node) δε χρειάζεται να εμπιστεύονται τρίτους για την παροχή δεδομένων και μπορούν να αλληλεπιδράσουν γρήγορα, ιδιωτικά και χωρίς άδεια με το [blockchain](/glossary/#blockchain) Ethereum. Ωστόσο, η εκτέλεση ενός κόμβου αυτή τη στιγμή απαιτεί τεχνικές γνώσεις και σημαντικό αποθηκευτικό χώρο στο δίσκο, πράγμα που σημαίνει ότι πολλοί άνθρωποι πρέπει να εμπιστευτούν τρίτες υπηρεσίες.
+
+Υπάρχουν αρκετές αναβαθμίσεις που θα κάνουν την εκτέλεση των κόμβων πολύ πιο εύκολη και με πολύ λιγότερους πόρους. Ο τρόπος αποθήκευσης των δεδομένων θα αλλάξει ώστε να χρησιμοποιεί μια πιο αποδοτική δομή χώρου γνωστή ως **Δομή Verkle (Verkle Tree)**. Επίσης, με την [αποεξάρτηση κατάστασης (statelessness)](/roadmap/statelessness) ή τη [λήξη δεδομένων (data expiry)](/roadmap/statelessness/#data-expiry), οι κόμβοι Ethereum δε θα χρειάζεται να αποθηκεύουν ένα αντίγραφο ολόκληρων των δεδομένων κατάστασης του Ethereum, μειώνοντας δραστικά τις απαιτήσεις αποθηκευτικού χώρου στον σκληρό δίσκο. Οι [ελαφροί κόμβοι (light nodes)](/developers/docs/nodes-and-clients/light-clients/) θα προσφέρουν πολλά από τα οφέλη της εκτέλεσης ενός πλήρους κόμβου, αλλά μπορούν να εκτελεστούν εύκολα σε κινητά τηλέφωνα ή μέσα σε απλές εφαρμογές προγραμμάτων περιήγησης.
+
+Διαβάστε περισσότερα για τη Δομή Verkle
+
+Με αυτές τις αναβαθμίσεις, τα εμπόδια για την εκτέλεση ενός κόμβου μειώνονται ουσιαστικά στο μηδέν. Οι χρήστες θα επωφεληθούν από την ασφαλή, χωρίς την ανάγκη άδειας πρόσβασης στο Ethereum και χωρίς να χρειάζεται να θυσιάσουν σημαντικό αποθηκευτικό χώρο στο δίσκο ή επεξεργαστή στον υπολογιστή ή το κινητό τους τηλέφωνο και δε θα χρειαστεί να βασίζονται σε τρίτους για δεδομένα ή πρόσβαση στο δίκτυο όταν χρησιμοποιούν εφαρμογές.
+
+## Τρέχουσα πρόοδος {#current-progress}
+
+Τα πορτοφόλια έξυπνων συμβολαίων είναι ήδη διαθέσιμα, αλλά απαιτούνται περισσότερες αναβαθμίσεις για να γίνουν όσο το δυνατόν πιο αποκεντρωμένα και χωρίς την ανάγκη χρήσης άδειας. Το EIP-4337 είναι μια ώριμη πρόταση που δεν απαιτεί καμία αλλαγή στο πρωτόκολλο του Ethereum. Το κύριο έξυπνο συμβόλαιο που απαιτείται για το EIP-4337 **αναπτύχθηκε τον Μάρτιο του 2023**.
+
+**Η πλήρης αποεξάρτηση κατάστασης (statelessness)** βρίσκεται ακόμα στο στάδιο της έρευνας και απέχει πιθανώς αρκετά χρόνια από την εφαρμογή της. Υπάρχουν όμως διάφορα ορόσημα στον δρόμο προς την πλήρη αποεξάρτηση, συμπεριλαμβανομένης της λήξης δεδομένων (data expiry), που μπορεί να εφαρμοστούν νωρίτερα. Άλλα στοιχεία του οδικού χάρτη, όπως η [Δομή Verkle](/roadmap/verkle-trees/) και ο [διαχωρισμός Proposer-builder](/roadmap/pbs/), πρέπει πρώτα να ολοκληρωθούν.
+
+Τα δοκιμαστικά δίκτυα Verkle Tree είναι ήδη σε λειτουργία και η επόμενη φάση είναι η εκτέλεση εφαρμογών πελάτη που υποστηρίζουν τα Verkle Tree σε ιδιωτικά και στη συνέχεια σε δημόσια δίκτυα δοκιμών. Μπορείτε να βοηθήσετε στην επιτάχυνση της προόδου αναπτύσσοντας συμβάσεις στα δοκιμαστικά δίκτυα ή εκτελώντας εφαρμογές πελάτη σε δίκτυα δοκιμών.
diff --git a/public/content/translations/el/web3/index.md b/public/content/translations/el/web3/index.md
index 3155fb6d147..49020393421 100644
--- a/public/content/translations/el/web3/index.md
+++ b/public/content/translations/el/web3/index.md
@@ -6,6 +6,10 @@ lang: el
# Εισαγωγή στο Web3 {#introduction}
+
+
+
+
Η κεντρική διαχείριση έχει βοηθήσει δισεκατομμύρια ανθρώπους να αποκτήσουν πρόσβαση στον Παγκόσμιο Ιστό, δημιουργώντας μια σταθερή και ισχυρή δομή στην οποία και λειτουργεί. Την ίδια στιγμή, μια μερίδα κεντρικών οργανισμών κατέχουν το μεγαλύτερο τμήμα του Παγκόσμιου Ιστού, αποφασίζοντας μονομερώς τι επιτρέπεται και τι όχι.
Η απάντηση σε αυτό το ζήτημα λέγεται Web3. Αντί για ένα μονοπωλιακό διαδίκτυο των μεγάλων εταιρειών τεχνολογίας, το Web3 αγκαλιάζει την αποκέντρωση, το οποίο έχει δημιουργηθεί, λειτουργεί και ανήκει στους χρήστες του. Το Web3 δίνει την εξουσία στα χέρια των χρηστών και όχι των εταιρειών. Πριν όμως μιλήσουμε για το Web3, ας εξερευνήσουμε πως φτάσαμε ως εδώ.
@@ -139,7 +143,7 @@ H πρώτη σύλληψη της ιδέας του Berners-Lee, γνωστή
- [Αποκτήστε ένα πορτοφόλι](/wallets/)
- [Βρείτε μια κοινότητα](/community/)
-- [Εξερευνήστε εφαρμογές Web3](/dapps/)
+- [Εξερευνήστε εφαρμογές Web3](/apps/)
- [Συμμετέχετε σε ένα DAO](/dao/)
- [Δημιουργήστε στο Web3](/developers/)
@@ -147,11 +151,11 @@ H πρώτη σύλληψη της ιδέας του Berners-Lee, γνωστή
Το Web3 δεν είναι αυστηρά καθορισμένο. Διάφοροι συμμετέχοντες της κοινότητας έχουν διαφορετικές απόψεις για αυτό. Δείτε παρακάτω μερικές:
-- [Τι είναι το Web3; Το Αποκεντρωμένο Διαδίκτυο του Μέλλοντος Περιγράφηκε](https://www.freecodecamp.org/news/what-is-web3/) - _Nader Dabit_
+- [Τι είναι το Web3; Το Αποκεντρωμένο Διαδίκτυο του Μέλλοντος Περιγράφηκε](https://www.freecodecamp.org/news/what-is-web3) - _Nader Dabit_
- [Κατανοώντας το Web3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) - _Josh Stark_
-- [Γιατί το Web3 έχει σημασία](https://future.a16z.com/why-web3-matters/) - _ Chris Dixon_
-- [Γιατί η αποκέντρωσης έχει σημασία](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _ Chris Dixon_
-- [Το τοπίο του Web3](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) - _ a16z_
-- [Η συζήτηση για το Web3](https://www.notboring.co/p/the-web3-debate?s=r) - _ Packy McCormick_
+- [Γιατί το Web3 έχει σημασία](https://future.a16z.com/why-web3-matters/) - _Chris Dixon_
+- [Γιατί η αποκέντρωσης έχει σημασία](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _Chris Dixon_
+- [Το τοπίο του Web3](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) - _a16z_
+- [Η συζήτηση για το Web3](https://www.notboring.co/p/the-web3-debate) - _Packy McCormick_
diff --git a/public/content/translations/el/whitepaper/index.md b/public/content/translations/el/whitepaper/index.md
new file mode 100644
index 00000000000..db225d53ebe
--- /dev/null
+++ b/public/content/translations/el/whitepaper/index.md
@@ -0,0 +1,517 @@
+---
+title: Η Λευκή Βίβλος του Ethereum
+description: Μια εισαγωγική παρουσίαση για το Ethereum, που δημοσιεύτηκε το 2013 πριν από την έναρξή του.
+lang: el
+sidebarDepth: 2
+hideEditButton: true
+---
+
+# Η Λευκή Βίβλος του Ethereum {#ethereum-whitepaper}
+
+_Αυτή η εισαγωγική εργασία δημοσιεύτηκε αρχικά το 2014 από τον Vitalik Buterin, τον ιδρυτή του [Ethereum](/what-is-ethereum/), πριν από την έναρξη του εγχειρήματος το 2015. Αξίζει να σημειωθεί ότι το Ethereum, όπως πολλά έργα λογισμικού ανοιχτού κώδικα που καθοδηγούνται από την κοινότητα και έχει εξελιχθεί από την αρχική του σύλληψη._
+
+_Παρότι ήδη αρκετών χρόνων, διατηρούμε αυτό το έγγραφο επειδή εξακολουθεί να λειτουργεί ως χρήσιμη αναφορά και ακριβής αναπαράσταση του Ethereum και του οράματός του. Για να μάθετε για τις τελευταίες εξελίξεις γύρω από το Ethereum και πώς γίνονται οι αλλαγές στο πρωτόκολλο, προτείνουμε [αυτόν τον οδηγό](/learn/)._
+
+[Ερευνητές και ακαδημαϊκοί που αναζητούν μια ιστορική ή κανονική έκδοση της Λευκής Βίβλου [από τον Δεκέμβριο του 2014] θα πρέπει να χρησιμοποιήσουν αυτό το PDF.](./whitepaper-pdf/Ethereum_Whitepaper_-_Buterin_2014.pdf)
+
+## Ένα επόμενης γενιάς Έξυπνο Συμβόλαιο και Αποκεντρωμένη Πλατφόρμα Εφαρμογών {#a-next-generation-smart-contract-and-decentralized-application-platform}
+
+Η ανάπτυξη του Bitcoin το 2009 από τον Σατόσι Νακαμότο έχει συχνά χαρακτηριστεί σαν μια ριζική εξέλιξη του χρηματοπιστωτικού συστήματος, αποτελώντας το πρώτο παράδειγμα ψηφιακού στοιχείου που ταυτοχρόνως στερείται υποστήριξης ή "[εγγενούς αξίας](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)" και κεντρικού εκδότη ή ελεγκτή. Παρόλα αυτά, ένα αναμφισβήτητα πιο σημαντικό μέρος του πειράματος του Bitcoin είναι η υποκείμενη τεχνολογία blockchain σαν ένα εργαλείο διανεμημένης συναίνεσης και η προσοχή να ξεκινά ραγδαία να μετατοπίζεται σε αυτήν την όψη του Bitcoin. Συνήθως αναφερόμενες εναλλακτικές εφαρμογές της τεχνολογίας blockchain περιλαμβάνουν τη χρήση ψηφιακών περιουσιακών στοιχείων εντός του blockchain για την απεικόνιση προσαρμοσμένων νομισμάτων και χρηματοοικονομικών μέσων ("[χρωματιστά νομίσματα](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)"), την ιδιοκτησία μιας υποκείμενης φυσικής συσκευής ("[έξυπνη ιδιοκτησία](https://en.bitcoin.it/wiki/Smart_Property)"), μη εναλλάξιμα κρυπτοπαραστατικά όπως ονόματα τομέων ("[Namecoin](http://namecoin.org)"), καθώς και πιο περίπλοκες εφαρμογές που περιλαμβάνουν ψηφιακά περιουσιακά στοιχεία που ελέγχονται άμεσα από ένα κομμάτι κώδικα που εφαρμόζει αυθαίρετους κανόνες ("[έξυπνα συμβόλαια](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)") ή ακόμα και [αποκεντρωμένους αυτόνομους οργανισμούς](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/) (DAO) που βασίζονται σε blockchain. Αυτό που σκοπεύει να παρέχει το Ethereum είναι ένα blockchain με μια ενσωματωμένη, πλήρως λειτουργική γλώσσα προγραμματισμού Turing που μπορεί να χρησιμοποιηθεί για τη δημιουργία «συμβολαίων» ικανών να κωδικοποιούν αυθαίρετες συναρτήσεις μετάβασης κατάστασης, επιτρέποντας στους χρήστες να δημιουργούν οποιοδήποτε από τα συστήματα που περιγράφονται παραπάνω, καθώς και πολλά άλλα που δεν έχουμε φανταστεί ακόμα, απλά γράφοντας τη λογική σε λίγες γραμμές κώδικα.
+
+## Εισαγωγή στο Bitcoin και τις υπάρχουσες έννοιες {#introduction-to-bitcoin-and-existing-concepts}
+
+### Ιστορικό {#history}
+
+Η έννοια του αποκεντρωμένου ψηφιακού νομίσματος καθώς και εναλλακτικών εφαρμογών όπως τα μητρώα ιδιοκτησίας, υπάρχει εδώ και δεκαετίες. Τα ανώνυμα πρωτόκολλα ηλεκτρονικού χρήματος των δεκαετιών του 1980 και 1990, που βασίζονταν κυρίως σε ένα κρυπτογραφικό στοιχείο γνωστό ως τύφλωση Chaumian, παρείχαν ένα νόμισμα με υψηλό βαθμό απορρήτου, αλλά τα πρωτόκολλα αυτά απέτυχαν σε μεγάλο βαθμό να κερδίσουν έδαφος λόγω της εξάρτησής τους από έναν κεντρικό μεσάζοντα. Το 1998, το [b-money](http://www.weidai.com/bmoney.txt) του Wei Dai έγινε η πρώτη πρόταση που εισήγαγε την ιδέα της δημιουργίας χρήματος μέσω της επίλυσης υπολογιστικών γρίφων καθώς και της αποκεντρωμένης συναίνεσης, αλλά η πρόταση ήταν φτωχή σε λεπτομέρειες σχετικά με τον τρόπο με τον οποίο θα μπορούσε να εφαρμοστεί πράγματι η αποκεντρωμένη συναίνεση. Το 2005, ο Hal Finney εισήγαγε την έννοια των [επαναχρησιμοποιήσιμων αποδείξεων εργασίας](https://nakamotoinstitute.org/finney/rpow/), ένα σύστημα που χρησιμοποιεί ιδέες από το b-money μαζί με τους υπολογιστικά δύσκολους γρίφους Hashcash του Adam Back για να δημιουργήσει μια ιδέα για ένα κρυπτονόμισμα, αλλά και πάλι δεν κατάφερε να φτάσει στο ιδανικό καθώς βασίστηκε σε αξιόπιστους υπολογιστές ως back-end. Το 2009, ένα αποκεντρωμένο νόμισμα εφαρμόστηκε για πρώτη φορά στην πράξη από τον Satoshi Nakamoto, συνδυάζοντας καθιερωμένα πρωτόκολλα για τη διαχείριση της ιδιοκτησίας μέσω κρυπτογραφίας δημόσιου κλειδιού με έναν αλγόριθμο συναίνεσης για την παρακολούθηση του ποιος κατέχει νομίσματα, γνωστό ως «proof-of-work» (απόδειξη εργασίας).
+
+Ο μηχανισμός πίσω από την απόδειξη εργασίας ήταν μια σημαντική ανακάλυψη στον τομέα επειδή έλυσε ταυτόχρονα δύο προβλήματα. Πρώτον, παρείχε έναν απλό και μέτρια αποτελεσματικό αλγόριθμο συναίνεσης, επιτρέποντας στους κόμβους του δικτύου να συμφωνούν συλλογικά σε ένα σύνολο κανονικών ενημερώσεων στην κατάσταση του Bitcoin. Δεύτερον, παρείχε έναν μηχανισμό για την επιτρεπόμενη ελεύθερη είσοδο στη διαδικασία συναίνεσης, επιλύοντας το πολιτικό πρόβλημα του καθορισμού του ποιος μπορεί να επηρεάσει τη συναίνεση, ενώ παράλληλα αποτρέπει τις επιθέσεις Sybil. Αυτό το πετυχαίνει αντικαθιστώντας ένα τυπικό εμπόδιο στη συμμετοχή, όπως η απαίτηση να είναι κάποιος εγγεγραμμένος ως μοναδική οντότητα σε έναν συγκεκριμένο κατάλογο, με ένα οικονομικό εμπόδιο, το βάρος ενός μεμονωμένου κόμβου στη διαδικασία ψηφοφορίας συναίνεσης είναι άμεσα ανάλογο με την υπολογιστική ισχύ που διαθέτει ο κόμβος. Από τότε, έχει προταθεί μια εναλλακτική προσέγγιση που ονομάζεται _proof-of-stake_ (απόδειξη συμμετοχής), η οποία υπολογίζει τη σημαντικότητα ενός κόμβου ως ανάλογο των αποθεμάτων του σε νόμισμα και όχι των υπολογιστικών πόρων. Η συζήτηση σχετικά με τα συγκριτικά πλεονεκτήματα των δύο προσεγγίσεων ξεφεύγει του πεδίου εφαρμογής αυτού του εγγράφου, αλλά θα πρέπει να σημειωθεί ότι και οι δύο προσεγγίσεις μπορούν να χρησιμοποιηθούν ως η ραχοκοκαλιά ενός κρυπτονομίσματος.
+
+### Το Bitcoin ως σύστημα μετάβασης κατάστασης {#bitcoin-as-a-state-transition-system}
+
+
+
+Από τεχνική άποψη, ο λογαριασμός ενός κρυπτονομίσματος όπως το Bitcoin μπορεί να θεωρηθεί ως ένα σύστημα μετάβασης κατάστασης, όπου υπάρχει μια «κατάσταση» που αποτελείται από την κατάσταση κατοχής όλων των υπαρχόντων Bitcoin και μια «συνάρτηση μετάβασης κατάστασης» που λαμβάνει μια κατάσταση και μια συναλλαγή και επιστρέφει μια νέα κατάσταση που είναι το αποτέλεσμα. Σε ένα τυπικό τραπεζικό σύστημα, για παράδειγμα, η κατάσταση είναι ένας ισολογισμός, μια συναλλαγή είναι ένα αίτημα για μετακίνηση $X από το A στο B και η συνάρτηση μετάβασης κατάστασης μειώνει την αξία στον λογαριασμό του A κατά $X και αυξάνει την τιμή στον λογαριασμό Β από $X. Εάν ο λογαριασμός του Α έχει αρχικά λιγότερο από $X, η συνάρτηση μετάβασης κατάστασης επιστρέφει ένα σφάλμα. Ως εκ τούτου, μπορεί κανείς να ορίσει επίσημα:
+
+```
+APPLY(S,TX) -> S' or ERROR
+```
+
+Στο τραπεζικό σύστημα που ορίζεται παραπάνω:
+
+```js
+APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }
+```
+
+Αλλά:
+
+```js
+APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
+```
+
+Η «κατάσταση» στο Bitcoin είναι η συλλογή όλων των νομισμάτων (τεχνικά, "υπόλοιπο συναλλαγής που δε δαπανήθηκε" ή UTXO) που έχουν κρυπτορυχθεί και δεν έχουν δαπανηθεί ακόμη, με κάθε UTXO να έχει μια ονομασία και έναν ιδιοκτήτη (που ορίζεται από μια διεύθυνση των 20 byte που ουσιαστικά είναι ένα κρυπτογραφικό δημόσιο κλειδί[fn1](#notes)). Μια συναλλαγή περιέχει μία ή περισσότερες εισαγωγές, με κάθε εισαγωγή να περιέχει μια αναφορά σε ένα υπάρχον UTXO και μια κρυπτογραφημένη υπογραφή που παράγεται από το ιδιωτικό κλειδί που σχετίζεται με τη διεύθυνση του κατόχου και ένα ή περισσότερα αποτελέσματα, όπου με κάθε αποτέλεσμα να περιέχει ένα νέο UTXO που πρέπει να προστεθεί στην κατάσταση.
+
+Η συνάρτηση μετάβασης της κατάστασης `APPLY(S,TX) -> S'` μπορεί να οριστεί κατά προσέγγιση ως εξής:
+
+
+ -
+ Για κάθε εισαγωγή στο
TX:
+
+ -
+ Εάν το αναφερόμενο UTXO δεν βρίσκεται στο
S, επιστρέψτε ένα σφάλμα.
+
+ -
+ Εάν η υπογραφή που υποβάλλεται δε συμφωνεί με αυτή του κατόχου του UTXO, επιστρέφει σφάλμα.
+
+
+
+ -
+ Εάν το άθροισμα των ονομασιών όλων των εισαγωγών UTXO είναι μικρότερο από το άθροισμα των ονομασιών όλων των αποτελεσμάτων UTXO, επιστρέφει ένα σφάλμα.
+
+ -
+ Επιστρέφει το
S με όλες τις εισαγωγές UTXO να έχουν αφαιρεθεί και όλα τα αποτελέσματα UTXO να έχουν προστεθεί.
+
+
+
+Το πρώτο μισό του πρώτου βήματος αποτρέπει τους αποστολείς συναλλαγών από το να ξοδεύουν νομίσματα που δεν υπάρχουν, το δεύτερο μισό του πρώτου βήματος αποτρέπει τους αποστολείς συναλλαγών από το να ξοδεύουν νομίσματα άλλων και το δεύτερο βήμα επιβάλλει τη διατήρηση της αξίας. Προκειμένου να το χρησιμοποιήσετε για πληρωμή, το πρωτόκολλο είναι το ακόλουθο. Ας υποθέσουμε ότι η Alice θέλει να στείλει 11,7 BTC στον Bob. Πρώτα, η Alice θα αναζητήσει ένα σύνολο διαθέσιμων UTXO που θα της κατέχει συνολικά έως τουλάχιστον 11,7 BTC. Ρεαλιστικά, η Alice δε θα μπορέσει να πάρει ακριβώς 11,7 BTC. Ας πούμε ότι το μικρότερο που μπορεί να πάρει είναι 6+4+2=12. Στη συνέχεια δημιουργεί μια συναλλαγή με αυτές τις τρεις εισόδους και δύο εξόδους. Η πρώτη έξοδος θα είναι 11,7 BTC με τη διεύθυνση του Bob και η δεύτερη έξοδος θα είναι η υπόλοιπη «αλλαγή» 0,3 BTC, με ιδιοκτήτρια την ίδια την Αλίκη.
+
+### Εξόρυξη {#mining}
+
+
+
+Εάν είχαμε πρόσβαση σε μια αξιόπιστη κεντρική υπηρεσία, αυτό το σύστημα θα ήταν ασήμαντο να εφαρμοστεί. Θα μπορούσε απλώς να κωδικοποιηθεί ακριβώς όπως περιγράφεται, χρησιμοποιώντας έναν κεντρικό σκληρό δίσκο διακομιστή για να παρακολουθείτε την κατάσταση. Ωστόσο, με το Bitcoin προσπαθούμε να οικοδομήσουμε ένα αποκεντρωμένο νομισματικό σύστημα, επομένως θα χρειαστεί να συνδυάσουμε το κρατικό σύστημα μετάβασης με ένα σύστημα συναίνεσης προκειμένου να διασφαλίσουμε ότι όλοι συμφωνούν με τις εντολές των συναλλαγών. Η αποκεντρωμένη διαδικασία συναίνεσης Bitcoin απαιτεί από τους κόμβους στο δίκτυο να προσπαθούν συνεχώς να δημιουργούν πακέτα συναλλαγών που ονομάζονται «μπλοκ». Το δίκτυο προορίζεται να δημιουργεί περίπου ένα μπλοκ κάθε δέκα λεπτά, με κάθε μπλοκ να περιέχει μια χρονική σήμανση, μια «μοναδικότητα», μια αναφορά (δηλ. αναγνωριστικό) του προηγούμενου μπλοκ και μια λίστα με όλες τις συναλλαγές που έγιναν από το προηγούμενο μπλοκ. Με την πάροδο του χρόνου, αυτό δημιουργεί ένα επίμονο, συνεχώς εξελισσόμενο, blockchain που ενημερώνεται συνεχώς για να αντιπροσωπεύει την τελευταία λέξη της τεχνολογίας Bitcoin.
+
+Ο αλγόριθμος που ελέγχει εάν ένα μπλοκ είναι έγκυρο, όπως εκφράζεται σε αυτό το παράδειγμα, είναι ο εξής:
+
+1. Ελέγξτε εάν το προηγούμενο μπλοκ στο οποίο παραπέμπει το μπλοκ υπάρχει και είναι έγκυρο.
+2. Ελέγξτε ότι η χρονική σήμανση του μπλοκ είναι μεγαλύτερη από εκείνη του προηγούμενου μπλοκ[fn2](#notes) και μικρότερη από τις επόμενες 2 ώρες
+3. Ελέγξτε ότι η απόδειξη εργασίας στο μπλοκ είναι έγκυρη.
+4. Αφήστε το `S[0]` να είναι η κατάσταση στο τέλος του προηγούμενου μπλοκ.
+5. Υποθέστε ότι το `TX` είναι η λίστα συναλλαγών του μπλοκ με `n` συναλλαγές. Για όλα τα `i` σε `0...n-1`, ορίστε το `S[i+1] = APPLY(S[i],TX[i])`. Εάν κάποια εφαρμογή επιστρέψει σφάλμα, εξέλθετε και επιστρέψτε «false».
+6. Επιστρέψτε «true» και καταχωρίστε το `S[n]` ως την κατάσταση στο τέλος αυτού του μπλοκ.
+
+Ουσιαστικά, κάθε συναλλαγή στο μπλοκ πρέπει να παρέχει μια έγκυρη μετάβαση κατάστασης από την κανονική κατάσταση πριν από την εκτέλεση της συναλλαγής σε κάποια νέα κατάσταση. Σημειώστε ότι η κατάσταση δεν είναι κωδικοποιημένη στο μπλοκ με κανέναν τρόπο. Είναι καθαρά μια αφαίρεση που πρέπει να θυμάται ο κόμβος επικύρωσης και μπορεί να υπολογιστεί (με ασφάλεια) μόνο για οποιοδήποτε μπλοκ ξεκινώντας από την κατάσταση γένεσης και εφαρμόζοντας διαδοχικά κάθε συναλλαγή σε κάθε μπλοκ. Επιπλέον, σημειώστε ότι η σειρά με την οποία ο κρυπτορύχος συμπεριλαμβάνει τις συναλλαγές μέσα στο μπλοκ, έχει σημασία. Αν υπάρχουν δύο συναλλαγές Α και Β σε ένα μπλοκ, όπου η Β ξοδεύει ένα UTXO που δημιουργήθηκε από την Α, τότε το μπλοκ θα είναι έγκυρο μόνο εάν η Α έρχεται πριν από τη Β.
+
+Η μία συνθήκη εγκυρότητας που υπάρχει στην παραπάνω λίστα και δε βρίσκεται σε άλλα συστήματα είναι η απαίτηση χρήσης της «απόδειξης εργασίας». Ο ακριβής όρος είναι ότι ο διπλός κατακερματισμός SHA256 κάθε μπλοκ, που θεωρείται ως αριθμός 256-bit, πρέπει να είναι μικρότερος από έναν δυναμικά προσαρμοσμένο στόχο, ο οποίος κατά τη στιγμή της συγγραφής αυτού του κειμένου είναι περίπου 2187. Ο σκοπός αυτού είναι να κάνει τη δημιουργία ενός μπλοκ υπολογιστικά «δύσκολη», αποτρέποντας έτσι τους επιτιθέμενους με «Sybil» από το να ξαναφτιάξουν ολόκληρη την κρυπτοαλυσίδα προς όφελός τους. Επειδή το SHA256 έχει σχεδιαστεί για να είναι μια εντελώς απρόβλεπτη ψευδοτυχαία συνάρτηση, ο μόνος τρόπος για να δημιουργήσετε ένα έγκυρο μπλοκ είναι απλά με δοκιμή και λάθος, αυξάνοντας επανειλημμένα τη μοναδικότητα και βλέποντας εάν ο νέος κατακερματισμός ταιριάζει.
+
+Με τον τρέχοντα στόχο των ~2187, το δίκτυο πρέπει να κάνει κατά μέσο όρο ~269 προσπάθειες πριν βρεθεί ένα έγκυρο μπλοκ. Γενικά, ο στόχος επαναβαθμονομείται από το δίκτυο κάθε 2016 μπλοκ, έτσι ώστε κατά μέσο όρο ένα νέο μπλοκ να παράγεται από κάποιο κόμβο του δικτύου κάθε δέκα λεπτά. Για να αποζημιώσουν τους κρυπτορύχους για αυτό το υπολογιστικό έργο, ο κρυπτορύχος κάθε μπλοκ δικαιούται να συμπεριλάβει μια συναλλαγή που τους δίνει 25 BTC κυριολεκτικά από το μηδέν. Επιπλέον, εάν οποιαδήποτε συναλλαγή έχει μεγαλύτερη συνολική ονομασία στις εισαγωγές της παρά στις εξόδους της, η διαφορά πηγαίνει επίσης στον κρυπτορύχο ως «τέλος συναλλαγής». Παρεμπιπτόντως, αυτός είναι επίσης ο μόνος μηχανισμός με τον οποίο εκδίδονται τα BTC. Η αρχική κατάσταση δεν περιείχε κανένα νόμισμα.
+
+Για να κατανοήσουμε καλύτερα τον σκοπό της κρυπτόρυξης, ας εξετάσουμε τι συμβαίνει σε περίπτωση κακόβουλου εισβολέα. Καθώς η υποκείμενη κρυπτογράφηση του Bitcoin είναι γνωστό ότι είναι ασφαλής, ο εισβολέας θα στοχεύσει το ένα σημείο του συστήματος Bitcoin που δεν προστατεύεται άμεσα από την κρυπτογράφηση: τη σειρά των συναλλαγών. Η στρατηγική του εισβολέα είναι απλή:
+
+1. Αποστέλλει 100 BTC σε έναν έμπορο σε αντάλλαγμα για κάποιο προϊόν (κατά προτίμηση ένα ψηφιακό αγαθό ταχείας παράδοσης)
+2. Περιμένει την παράδοση του προϊόντος
+3. Δημιουργεί μια άλλη συναλλαγή στέλνοντας τα ίδια 100 BTC στον εαυτό του
+4. Προσπαθεί να πείσει το δίκτυο ότι η συναλλαγή του στον εαυτό του προηγήθηκε.
+
+Μόλις ολοκληρωθεί το βήμα (1), μετά από λίγα λεπτά ένας κρυπτορύχος θα συμπεριλάβει τη συναλλαγή σε ένα μπλοκ, ας πούμε το μπλοκ με αριθμό 270000. Μετά από περίπου μία ώρα, θα έχουν προστεθεί πέντε ακόμα μπλοκ στην αλυσίδα μετά από αυτό το μπλοκ, με καθένα από αυτά τα μπλοκ να δείχνει έμμεσα στη συναλλαγή και έτσι να την «επιβεβαιώνει». Σε αυτό το σημείο, ο έμπορος θα αποδεχτεί την πληρωμή ως οριστική και θα παραδώσει το προϊόν. Δεδομένου ότι υποθέτουμε ότι πρόκειται για ένα ψηφιακό αγαθό, η παράδοση είναι ακαριαία. Τώρα, ο επιτιθέμενος δημιουργεί άλλη μια άλλη συναλλαγή στέλνοντας τα 100 BTC στον εαυτό του. Εάν ο επιτιθέμενος απλά τη δημοσιεύσει στο δίκτυο, η συναλλαγή δεν θα διεκπεραιωθεί. Οι εξορύκτες θα προσπαθήσουν να εκτελέσουν το `APPLY(S,TX)` και θα παρατηρήσουν ότι το `TX` καταναλώνει ένα UTXO που δεν υπάρχει πλέον στην κατάσταση. Έτσι, αντί για αυτό, ο επιτιθέμενος δημιουργεί μια «διακλάδωση» στην κρυπτοαλυσίδα, ξεκινώντας από την εξόρυξη μιας άλλης έκδοσης του μπλοκ 270000 που δείχνει στο ίδιο μπλοκ 269999 ως γονικό αλλά με τη νέα συναλλαγή στη θέση της παλιάς. Επειδή τα δεδομένα του μπλοκ είναι διαφορετικά, απαιτείται επανάληψη της απόδειξης εργασίας. Επιπλέον, η νέα έκδοση του μπλοκ 270000 του επιτιθέμενου έχει διαφορετικό κατακερματισμό, οπότε τα αρχικά μπλοκ 270001 έως 270005 δεν «δείχνουν» σε αυτό. Έτσι, η αρχική αλυσίδα και η νέα αλυσίδα του επιτιθέμενου είναι εντελώς ξεχωριστές. Ο κανόνας είναι ότι σε μια διακλάδωση η μακρύτερη κρυπτοαλυσίδα θεωρείται η αληθινή, οπότε οι νόμιμοι εξορύκτες θα εργαστούν στην αλυσίδα 270005 ενώ ο επιτιθέμενος μόνος του θα εργάζεται στην αλυσίδα 270000. Για να καταφέρει ο επιτιθέμενος να κάνει την κρυπτοαλυσίδα του μεγαλύτερη, θα πρέπει να έχει περισσότερη υπολογιστική ισχύ από όλο το υπόλοιπο δίκτυο μαζί για να προλάβει (εξ ου και η «επίθεση 51%»).
+
+### Merkle Trees {#merkle-trees}
+
+
+
+_Αριστερά: Αρκεί να παρουσιαστεί μόνο ένας μικρός αριθμός κόμβων σε ένα δέντρο Merkle για να δοθεί η απόδειξη της εγκυρότητας ενός κλάδου._
+
+_Δεξιά: Οποιαδήποτε προσπάθεια αλλαγής οποιουδήποτε μέρους του δέντρου Merkle θα οδηγήσει τελικά σε μια ασυνέπεια κάπου πιο πάνω στην αλυσίδα._
+
+Ένα σημαντικό χαρακτηριστικό της δυνατότητας κλιμάκωσης του Bitcoin είναι ότι το μπλοκ αποθηκεύεται σε μια πολυεπίπεδη δομή δεδομένων. Ο «κατακερματισμός» ενός μπλοκ είναι στην πραγματικότητα μόνο ο κατακερματισμός της κεφαλίδας του μπλοκ, ένα κομμάτι δεδομένων περίπου 200 byte που περιέχει τη χρονική σήμανση, το nonce, τον κατακερματισμό του προηγούμενου μπλοκ και τον ριζικό κατακερματισμό (root hash) μιας δομής δεδομένων που ονομάζεται δέντρο Merkle που αποθηκεύει όλες τις συναλλαγές στο μπλοκ. Ένα δέντρο Merkle είναι ένας τύπος δυαδικού δέντρου, που αποτελείται από ένα σύνολο κόμβων με ένα μεγάλο αριθμό φύλλων κόμβων στο κάτω μέρος του δέντρου, που περιέχουν τα υποκείμενα δεδομένα, ένα σύνολο ενδιάμεσων κόμβων όπου κάθε κόμβος είναι ο κατακερματισμός των δύο παιδιών του και τελικά ένας μόνο ριζικός κόμβος, που σχηματίζεται επίσης από τον κατακερματισμό των δύο παιδιών του, αντιπροσωπεύοντας την «κορυφή» του δέντρου. Ο σκοπός του δέντρου Merkle είναι να επιτρέψει την αποσπασματική παράδοση των δεδομένων σε ένα μπλοκ: ένας κόμβος μπορεί να μεταφορτώσει μόνο την κεφαλίδα ενός μπλοκ από μία πηγή, το μικρό μέρος του δέντρου που τον αφορά από μια άλλη πηγή και να είναι ακόμα σίγουρος ότι όλα αυτά τα δεδομένα είναι σωστά. Ο λόγος για τον οποίο αυτό λειτουργεί είναι ότι οι κατακερματισμοί διαδίδονται προς τα πάνω: εάν ένας κακόβουλος χρήστης προσπαθήσει να αντικαταστήσει μια ψεύτικη συναλλαγή στο κάτω μέρος ενός δέντρου Merkle, αυτή η αλλαγή θα προκαλέσει αλλαγή στον κόμβο πάνω από αυτόν και στη συνέχεια μια αλλαγή στον κόμβο πάνω από αυτόν, αλλάζοντας τελικά τη ρίζα του δέντρου και επομένως τον κατακερματισμό του μπλοκ, κάτι που συνεπάγεται ότι το πρωτόκολλο θα το καταχωρίσει ως εντελώς διαφορετικό μπλοκ (σχεδόν σίγουρα με άκυρη απόδειξη εργασίας).
+
+Το πρωτόκολλο δέντρου Merkle είναι αναμφισβήτητα απαραίτητο για τη μακροπρόθεσμη βιωσιμότητα. Ένας «πλήρης κόμβος» στο δίκτυο Bitcoin, ο οποίος αποθηκεύει και επεξεργάζεται ολόκληρο το κάθε μπλοκ, καταλαμβάνει περίπου 15 GB χώρου στο δίσκο του δικτύου Bitcoin από τον Απρίλιο του 2014 και αυξάνεται κατά περισσότερο από ένα gigabyte τον μήνα. Επί του παρόντος, αυτό είναι βιώσιμο για κάποιους επιτραπέζιους υπολογιστές και όχι για κινητά τηλέφωνα, ενώ αργότερα στο μέλλον θα μπορούν να συμμετέχουν μόνο επιχειρήσεις και χομπίστες. Ένα πρωτόκολλο γνωστό ως «απλοποιημένη επαλήθευση πληρωμής» (SPV) επιτρέπει την ύπαρξη μιας άλλης κατηγορίας κόμβων, που ονομάζονται «ελαφροί κόμβοι», οι οποίοι κάνουν λήψη τις κεφαλίδες των μπλοκ, επαληθεύουν την απόδειξη εργασίας στις κεφαλίδες των μπλοκ και στη συνέχεια μεταφορτώνουν μόνο τα «κλαδιά» που σχετίζονται με τις συναλλαγές που τους αφορούν. Αυτό επιτρέπει στους ελαφρούς κόμβους να προσδιορίζουν με ισχυρή εγγύηση ασφάλειας την κατάσταση οποιασδήποτε συναλλαγής Bitcoin και το τρέχον υπόλοιπό τους, ενώ μεταφορτώνουν μόνο ένα πολύ μικρό μέρος ολόκληρης της κρυπτοαλυσίδας.
+
+### Εναλλακτικές εφαρμογές κρυπτοαλυσίδας {#alternative-blockchain-applications}
+
+Η ιδέα της λήψης της υποκείμενης ιδέας της κρυπτοαλυσίδας και της εφαρμογής της σε άλλες έννοιες έχει επίσης μια μακρά ιστορία. Το 2005, ο Nick Szabo παρουσίασε την έννοια των [ασφαλών τίτλων ιδιοκτησίας με εξουσία ιδιοκτήτη](https://nakamotoinstitute.org/secure-property-titles/), ένα έγγραφο που περιγράφει πώς οι «νέες εξελίξεις στην τεχνολογία αναπαραγόμενης βάσης δεδομένων» θα καταστήσουν δυνατή την αποθήκευση από σύστημα που βασίζεται σε κρυπτοαλυσίδα ενός μητρώου για το ποιος κατέχει ποια γη, δημιουργώντας ένα περίπλοκο πλαίσιο που περιλαμβάνει έννοιες όπως η παραχώρηση γης, η αντίθετη κατοχή και ο γαιοϊστικός φόρος αξίας γης. Ωστόσο, δεν υπήρχε δυστυχώς κανένα αποτελεσματικό σύστημα αναπαραγόμενης βάσης δεδομένων εκείνη την εποχή και ως εκ τούτου το πρωτόκολλο δεν εφαρμόστηκε ποτέ στην πράξη. Μετά το 2009, ωστόσο, αφού αναπτύχθηκε η αποκεντρωμένη συναίνεση του Bitcoin, άρχισαν γρήγορα να εμφανίζονται πολλές εναλλακτικές εφαρμογές.
+
+- **Namecoin** — δημιουργήθηκε το 2010, το [Namecoin](https://namecoin.org/) περιγράφεται καλύτερα ως μια αποκεντρωμένη βάση δεδομένων καταχώρισης ονομάτων. Σε αποκεντρωμένα πρωτόκολλα όπως το Tor, το Bitcoin και το BitMessage, πρέπει να υπάρχει κάποιος τρόπος ταυτοποίησης των λογαριασμών ώστε οι υπόλοιποι να μπορούν να αλληλεπιδράσουν μαζί τους, αλλά σε όλες τις υπάρχουσες λύσεις ο μόνος τύπος αναγνωριστικού που είναι διαθέσιμος, είναι ένα ψευδοτυχαίο hash, όπως το `1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy`. Ιδανικά, θα μπορούσε κανείς να έχει έναν λογαριασμό με ένα όνομα όπως «george». Ωστόσο, το πρόβλημα είναι ότι εάν κάποιος μπορεί να δημιουργήσει έναν λογαριασμό με το όνομα «george», τότε κάποιος άλλος μπορεί να χρησιμοποιήσει την ίδια διαδικασία για να καταχωρίσει το «george» και για τον εαυτό του και να τον υποδυθεί. Η μόνη λύση είναι ένα παράδειγμα τύπου «πρώτος που καταχωρίζει κερδίζει», όπου ο πρώτος καταχωρίζων κερδίζει και ο δεύτερος χάνει — ένα πρόβλημα που ταιριάζει τέλεια στο πρωτόκολλο συναίνεσης του Bitcoin. Το Namecoin είναι η παλαιότερη και πιο επιτυχημένη εφαρμογή ενός συστήματος καταχώρισης ονομάτων χρησιμοποιώντας μια τέτοια ιδέα.
+- **Χρωματιστά νομίσματα** — Ο σκοπός των [χρωματιστών νομισμάτων](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit) είναι να λειτουργήσουν ως πρωτόκολλο που επιτρέπει στους ανθρώπους να δημιουργήσουν τα δικά τους ψηφιακά νομίσματα ή στη σημαντική απλή περίπτωση ενός νομίσματος με μία μονάδα, ψηφιακά κρυπτοπαραστατικά, στην κρυπτοαλυσίδα του Bitcoin. Στο πρωτόκολλο των χρωματιστών νομισμάτων, κάποιος «εκδίδει» ένα νέο νόμισμα αποδίδοντας δημόσια ένα χρώμα σε ένα συγκεκριμένο Bitcoin UTXO και το πρωτόκολλο ορίζει αναδρομικά το χρώμα άλλων UTXO να είναι το ίδιο με το χρώμα των στοιχείων εισαγωγής που χρησιμοποίησε η συναλλαγή που τα δημιούργησε (ισχύουν κάποιοι ειδικοί κανόνες στην περίπτωση εισόδων μεικτού χρώματος). Αυτό επιτρέπει στους χρήστες να διατηρούν πορτοφόλια που περιέχουν μόνο UTXO ενός συγκεκριμένου χρώματος και να τα στέλνουν σαν κανονικά bitcoin, ανατρέχοντας στην κρυπτοαλυσίδα για να προσδιορίσουν το χρώμα οποιουδήποτε UTXO λαμβάνουν.
+- **Metacoin** — Η ιδέα πίσω από ένα metacoin είναι να έχουμε ένα πρωτόκολλο που υπάρχει πάνω από το Bitcoin, χρησιμοποιώντας συναλλαγές Bitcoin για να αποθηκεύει συναλλαγές metacoin αλλά έχοντας μια διαφορετική συνάρτηση μετάβασης κατάστασης, `APPLY`. Επειδή το πρωτόκολλο metacoin δεν μπορεί να αποτρέψει τις μη έγκυρες συναλλαγές metacoin από το να εμφανιστούν στην κρυπτοαλυσίδα του Bitcoin, προστίθεται ένας κανόνας ότι εάν το `APPLY'(S,TX)` επιστρέψει ένα σφάλμα, το πρωτόκολλο προεπιλέγει `APPLY'(S,TX) = S`. Αυτό παρέχει έναν εύκολο μηχανισμό για τη δημιουργία ενός αυθαίρετου πρωτοκόλλου κρυπτονομίσματος, πιθανώς με προηγμένες λειτουργίες που δεν μπορούν να υλοποιηθούν μέσα στο ίδιο το Bitcoin, αλλά με πολύ χαμηλό κόστος ανάπτυξης καθώς ο χειρισμός των πολυπλοκοτήτων της εξόρυξης και της δικτύωσης γίνεται ήδη από το πρωτόκολλο Bitcoin. Τα metacoin έχουν χρησιμοποιηθεί για την υλοποίηση ορισμένων κατηγοριών χρηματοοικονομικών συμβάσεων, καταχώρισης ονομάτων και αποκεντρωμένου ανταλλακτηρίου.
+
+Κατά συνέπεια, γενικά υπάρχουν δύο προσεγγίσεις για την κατασκευή ενός πρωτοκόλλου συναίνεσης: η κατασκευή ενός ανεξάρτητου δικτύου και η κατασκευή ενός πρωτοκόλλου πάνω από το Bitcoin. Η πρώτη προσέγγιση, αν και αρκετά επιτυχημένη στην περίπτωση εφαρμογών όπως το Namecoin, είναι δύσκολη στην υλοποίηση. Κάθε μεμονωμένη εφαρμογή πρέπει να δώσει ώθηση σε μια ανεξάρτητη κρυπτοαλυσίδα, καθώς και να κατασκευάσει και να δοκιμάσει όλο τον απαραίτητο κώδικα μετάβασης κατάστασης και δικτύωσης. Επιπλέον, προβλέπουμε ότι το σύνολο των εφαρμογών για την τεχνολογία αποκεντρωμένης συναίνεσης θα ακολουθήσει μια κατανομή ισχύος όπου η συντριπτική πλειοψηφία των εφαρμογών θα είναι πολύ μικρή για να εγγυηθεί τη δική της κρυπτοαλυσίδα, και σημειώνουμε ότι υπάρχουν μεγάλες κατηγορίες αποκεντρωμένων εφαρμογών, ιδιαίτερα οι αποκεντρωμένοι αυτόνομοι οργανισμοί, που πρέπει να αλληλεπιδρούν μεταξύ τους.
+
+Η προσέγγιση που βασίζεται στο Bitcoin, από την άλλη πλευρά, έχει το μειονέκτημα ότι δεν κληρονομεί τα χαρακτηριστικά απλοποιημένης επαλήθευσης πληρωμής του Bitcoin. Το SPV λειτουργεί για το Bitcoin επειδή μπορεί να χρησιμοποιήσει το βάθος της κρυπτοαλυσίδας ως ένδειξη της εγκυρότητας. Σε κάποιο σημείο, όταν οι πρόγονοι μιας συναλλαγής πηγαίνουν αρκετά πίσω, είναι ασφαλές να πούμε ότι ήταν νόμιμα μέρος της κατάστασης. Τα μεταπρωτόκολλα που βασίζονται στην κρυπτοαλυσίδα, από την άλλη πλευρά, δεν μπορούν να αναγκάσουν την κρυπτοαλυσίδα να μη συμπεριλάβει συναλλαγές που δεν είναι έγκυρες στο πλαίσιο των δικών τους πρωτοκόλλων. Κατά συνέπεια, μια απόλυτα ασφαλής υλοποίηση του μεταπρωτοκόλλου SPV θα έπρεπε να σαρώσει προς τα πίσω μέχρι την αρχή της κρυπτοαλυσίδας του Bitcoin για να προσδιορίσει εάν ορισμένες συναλλαγές είναι έγκυρες ή όχι. Επί του παρόντος, όλες οι «ελαφριές» υλοποιήσεις των μεταπρωτοκόλλων που βασίζονται στο Bitcoin στηρίζονται σε έναν αξιόπιστο διακομιστή για την παροχή των δεδομένων, ένα κατά πάσα πιθανότητα εξαιρετικά ανεπαρκές αποτέλεσμα, ειδικά όταν ένας από τους κύριους στόχους ενός κρυπτονομίσματος είναι η εξάλειψη της ανάγκης για εμπιστοσύνη.
+
+### Σενάρια επέκτασης {#scripting}
+
+Ακόμα και χωρίς καμία επέκταση, το πρωτόκολλο Bitcoin διευκολύνει πραγματικά μια αδύναμη έκδοση μιας έννοιας «έξυπνων συμβολαίων». Το UTXO στο Bitcoin μπορεί να ανήκει όχι μόνο σε ένα δημόσιο κλειδί, αλλά και σε ένα πιο περίπλοκο σενάριο που εκφράζεται σε μια απλή γλώσσα προγραμματισμού που βασίζεται σε στοίβα. Σε αυτό το παράδειγμα, μια συναλλαγή που ξοδεύει αυτό το UTXO πρέπει να παρέχει δεδομένα που ικανοποιούν το σενάριο. Πράγματι, ακόμη και ο βασικός μηχανισμός ιδιοκτησίας δημόσιου κλειδιού υλοποιείται μέσω ενός σεναρίου: το σενάριο παίρνει ως στοιχείο εισαγωγής μια υπογραφή ελλειπτικής καμπύλης, την επαληθεύει έναντι της συναλλαγής και της διεύθυνσης που κατέχει το UTXO και επιστρέφει 1 εάν η επαλήθευση είναι επιτυχής και 0 σε διαφορετική περίπτωση. Υπάρχουν και άλλα πιο περίπλοκα σενάρια για διάφορες πρόσθετες περιπτώσεις χρήσης. Για παράδειγμα, μπορεί κάποιος να κατασκευάσει ένα σενάριο που απαιτεί υπογραφές από δύο εκ των τριών ιδιωτικών κλειδιών για να επικυρωθεί («multisig»), μια ρύθμιση χρήσιμη για εταιρικούς λογαριασμούς, ασφαλείς λογαριασμούς εξοικονόμησης και ορισμένες καταστάσεις εγγύησης εμπόρων. Τα σενάρια μπορούν επίσης να χρησιμοποιηθούν για την πληρωμή αμοιβών για λύσεις σε υπολογιστικά προβλήματα και μπορεί κάποιος ακόμη και να κατασκευάσει ένα σενάριο που λέει κάτι σαν «αυτό το Bitcoin UTXO είναι δικό σου αν μπορείς να παράσχεις μια απόδειξη SPV ότι έστειλες μια συναλλαγή Dogecoin αυτής της αξίας σε μένα», επιτρέποντας ουσιαστικά αποκεντρωμένη ανταλλαγή μεταξύ κρυπτονομισμάτων.
+
+Ωστόσο, η γλώσσα σεναρίων όπως εφαρμόζεται στο Bitcoin έχει αρκετούς σημαντικούς περιορισμούς:
+
+- **Έλλειψη πληρότητας Turing** - Αυτό σημαίνει ότι, ενώ υπάρχει ένα μεγάλο υποσύνολο υπολογισμού που υποστηρίζει η γλώσσα σεναρίων του Bitcoin, δεν υποστηρίζει σχεδόν τίποτα. Η κύρια κατηγορία που λείπει είναι οι βρόχοι. Αυτό γίνεται για να αποφευχθούν οι άπειροι βρόχοι κατά την επαλήθευση συναλλαγών. Θεωρητικά είναι ένα ξεπερασμένο εμπόδιο για τους προγραμματιστές σεναρίων, καθώς οποιοσδήποτε βρόχος μπορεί να προσομοιωθεί απλώς επαναλαμβάνοντας τον υποκείμενο κώδικα πολλές φορές με μια δήλωση «if», αλλά οδηγεί σε σενάρια που είναι μη αποδοτικά ως προς τον χώρο. Για παράδειγμα, η υλοποίηση ενός εναλλακτικού αλγόριθμου υπογραφής ελλειπτικής καμπύλης θα απαιτούσε πιθανώς 256 επαναλαμβανόμενους γύρους πολλαπλασιασμού που περιλαμβάνονται όλοι ξεχωριστά στον κώδικα.
+- **Τυφλότητα αξίας (Value-blindness)** - Δεν υπάρχει τρόπος ένα σενάριο UTXO να παρέχει λεπτομερή έλεγχο του ποσού που μπορεί να αναληφθεί. Για παράδειγμα, μια ισχυρή χρήση ενός συμβολαίου oracle, θα μπορούσε να ήταν ένα συμβόλαιο ασφάλισης, όπου ο Α και ο Β βάζουν 1000 δολάρια σε BTC και μετά από 30 ημέρες το σενάριο στέλνει BTC αξίας 1000 δολαρίων στον Α και το υπόλοιπο στον Β. Αυτό θα απαιτούσε ένα oracle για να προσδιοριστεί η αξία του 1 BTC σε δολάρια, αλλά ακόμα και τότε είναι μια τεράστια βελτίωση όσον αφορά την εμπιστοσύνη και την απαίτηση υποδομής σε σχέση με τις πλήρως συγκεντρωτικές λύσεις που είναι διαθέσιμες τώρα. Ωστόσο, επειδή τα UTXO είναι όλα ή τίποτα, ο μόνος τρόπος για να επιτευχθεί αυτό είναι μέσω του πολύ ανεπαρκούς κατακερματισμού του να έχουμε πολλά UTXO διαφορετικών ονομαστικών τιμών (π.χ. ένα UTXO 2k για κάθε k έως 30) και της επιλογής oracle για το ποιο UTXO θα αποσταλεί στον Α και ποιο στον Β.
+- **Έλλειψη κατάστασης** — Το UTXO μπορεί είτε να ξοδευτεί είτε όχι. Δεν υπάρχει ευκαιρία για συμβόλαια ή σενάρια πολλαπλών σταδίων που διατηρούν οποιαδήποτε άλλη εσωτερική κατάσταση πέρα από αυτό. Αυτό δυσκολεύει τη δημιουργία συμβολαίων επιλογών πολλαπλών σταδίων, αποκεντρωμένων προσφορών ανταλλαγής ή πρωτοκόλλων κρυπτογραφικής δέσμευσης δύο σταδίων (απαραίτητα για ασφαλείς υπολογιστικές αμοιβές). Σημαίνει επίσης ότι το UTXO μπορεί να χρησιμοποιηθεί μόνο για τη δημιουργία απλών, εφάπαξ συμβολαίων και όχι πιο σύνθετων «καταστατικών» συμβολαίων, όπως οι αποκεντρωμένοι οργανισμοί και καθιστά δύσκολη την υλοποίηση μεταπρωτοκόλλων. Η δυαδική κατάσταση σε συνδυασμό με την τυφλότητα αξίας σημαίνει επίσης ότι μια άλλη σημαντική εφαρμογή, τα όρια ανάληψης, είναι αδύνατη.
+- **Τυφλότητα κρυπτοαλυσίδας** - Το UTXO είναι τυφλό στα δεδομένα της κρυπτοαλυσίδας, όπως το nonce, η χρονική σήμανση και ο κατακερματισμός του προηγούμενου μπλοκ. Αυτό περιορίζει σοβαρά τις εφαρμογές στα τυχερά παιχνίδια και σε πολλές άλλες κατηγορίες, στερώντας τη γλώσσα σεναρίων από μια πιθανώς πολύτιμη πηγή τυχαιότητας.
+
+Κατά συνέπεια, βλέπουμε τρεις προσεγγίσεις για την κατασκευή προηγμένων εφαρμογών πάνω από τα κρυπτονομίσματα: τη δημιουργία μιας νέας κρυπτοαλυσίδας, τη χρήση σεναρίων πάνω από το Bitcoin και τη δημιουργία ενός μεταπρωτοκόλλου πάνω από το Bitcoin. Η δημιουργία μιας νέας κρυπτοαλυσίδας επιτρέπει απεριόριστη ελευθερία στην κατασκευή ενός συνόλου χαρακτηριστικών, αλλά με κόστος τον χρόνο ανάπτυξης, την προσπάθεια προώθησης και την ασφάλεια. Η χρήση σεναρίων είναι εύκολη στην υλοποίηση και την τυποποίηση, αλλά με πολύ περιορισμένες δυνατότητες, ενώ τα μεταπρωτόκολλα, αν και εύκολα, εμφανίζουν προβλήματα δυνατότητας αναβάθμισης. Με το Ethereum, σκοπεύουμε να δημιουργήσουμε ένα εναλλακτικό πλαίσιο που παρέχει ακόμη μεγαλύτερα κέρδη στην ευκολία ανάπτυξης καθώς και ακόμη ισχυρότερες ιδιότητες ελαφρών πελατών, ενώ ταυτόχρονα επιτρέπει στις εφαρμογές να μοιράζονται ένα οικονομικό περιβάλλον και την ασφάλεια της κρυπτοαλυσίδας.
+
+## Ethereum {#ethereum}
+
+Η πρόθεση του Ethereum είναι να δημιουργήσει ένα εναλλακτικό πρωτόκολλο για την κατασκευή αποκεντρωμένων εφαρμογών, το οποίο παρέχει ένα διαφορετικό σύνολο ανταλλαγμάτων που πιστεύουμε ότι θα είναι πολύ χρήσιμο για μια μεγάλη κατηγορία αποκεντρωμένων εφαρμογών, με ιδιαίτερη έμφαση σε καταστάσεις όπου ο γρήγορος χρόνος ανάπτυξης, η ασφάλεια για μικρές και σπάνια χρησιμοποιούμενες εφαρμογές και η δυνατότητα διαφορετικών εφαρμογών να αλληλεπιδρούν πολύ αποτελεσματικά, είναι σημαντικές. Το Ethereum το κάνει αυτό κατασκευάζοντας ουσιαστικά το απόλυτο θεμελιώδες στρώμα: μια κρυπτοαλυσίδα με μια ενσωματωμένη γλώσσα προγραμματισμού με πληρότητα Turing, επιτρέποντας σε οποιονδήποτε να γράφει έξυπνα συμβόλαια και αποκεντρωμένες εφαρμογές όπου μπορούν να δημιουργήσουν τους δικούς τους αυθαίρετους κανόνες για ιδιοκτησία, μορφές συναλλαγών και λειτουργίες μετάβασης κατάστασης. Μια βασική έκδοση του Namecoin μπορεί να γραφτεί σε δύο γραμμές κώδικα, ενώ άλλα πρωτόκολλα, όπως τα νομίσματα και τα συστήματα φήμης, μπορούν να κατασκευαστούν σε λιγότερες από είκοσι. Τα έξυπνα συμβόλαια, τα κρυπτογραφικά «κουτιά» που περιέχουν αξία και την ξεκλειδώνουν μόνο εάν πληρούνται ορισμένες προϋποθέσεις, μπορούν επίσης να κατασκευαστούν πάνω στην πλατφόρμα, με πολύ μεγαλύτερη ισχύ από αυτή που προσφέρουν τα σενάρια του Bitcoin λόγω των πρόσθετων δυνάμεων της πληρότητας Turing, της επίγνωσης της αξίας, της επίγνωσης της κρυπτοαλυσίδας και της κατάστασης.
+
+### Λογαριασμοί Ethereum {#ethereum-accounts}
+
+Στο Ethereum, η κατάσταση αποτελείται από αντικείμενα που ονομάζονται «λογαριασμοί», με κάθε λογαριασμό να έχει μια διεύθυνση 20 byte και οι μεταβάσεις κατάστασης να είναι άμεσες μεταφορές αξίας και πληροφορίας μεταξύ των λογαριασμών. Ένας λογαριασμός Ethereum περιέχει τέσσερα πεδία:
+
+- Το **nonce**, έναν μετρητή που χρησιμοποιείται για να εξασφαλιστεί ότι κάθε συναλλαγή μπορεί να υποβληθεί σε επεξεργασία μόνο μία φορά
+- Το τρέχον **υπόλοιπο ether** του λογαριασμού
+- Τον **κώδικα συμβολαίου** του λογαριασμού, εάν υπάρχει
+- Τον **αποθηκευτικό χώρο** του λογαριασμού (κενό από προεπιλογή)
+
+Το «ether» είναι το κύριο εσωτερικό κρυπτοκαύσιμο του Ethereum και χρησιμοποιείται για την πληρωμή τελών των συναλλαγών. Γενικά, υπάρχουν δύο τύποι λογαριασμών: **εξωτερικά κατεχόμενοι λογαριασμοί**, που ελέγχονται από ιδιωτικά κλειδιά και **λογαριασμοί συμβολαίων**, που ελέγχονται από τον κώδικα συμβολαίου τους. Ένας εξωτερικά κατεχόμενος λογαριασμός δεν έχει κώδικα και κάποιος μπορεί να στείλει μηνύματα από έναν εξωτερικά κατεχόμενο λογαριασμό δημιουργώντας και υπογράφοντας μια συναλλαγή. Σε έναν λογαριασμό συμβολαίου, κάθε φορά που ο λογαριασμός συμβολαίου λαμβάνει ένα μήνυμα, ο κώδικάς του ενεργοποιείται, επιτρέποντάς του να διαβάζει και να γράφει στον εσωτερικό χώρο αποθήκευσης και να στέλνει άλλα μηνύματα ή να δημιουργεί με τη σειρά του συμβόλαια.
+
+Σημειώστε ότι τα «συμβόλαια» στο Ethereum δεν πρέπει να θεωρούνται ως κάτι που πρέπει να «εκπληρωθεί» ή να «τηρηθεί». Αντίθετα, είναι περισσότερο σαν «αυτόνομοι αντιπρόσωποι» που ζουν μέσα στο περιβάλλον εκτέλεσης του Ethereum, εκτελώντας πάντα ένα συγκεκριμένο κομμάτι κώδικα όταν «προκαλούνται» από ένα μήνυμα ή συναλλαγή και έχοντας άμεσο έλεγχο της δικής τους ισορροπίας ether και του δικού τους αποθηκευτικού χώρου κλειδιού/τιμής για την παρακολούθηση των διαρκών μεταβλητών.
+
+### Μηνύματα και Συναλλαγές {#messages-and-transactions}
+
+Ο όρος «συναλλαγή» χρησιμοποιείται στο Ethereum για να αναφερθεί στο υπογεγραμμένο πακέτο δεδομένων που αποθηκεύει ένα μήνυμα το οποίο πρόκειται να σταλεί από έναν εξωτερικά κατεχόμενο λογαριασμό. Οι συναλλαγές περιέχουν:
+
+- Τον παραλήπτη του μηνύματος
+- Μια υπογραφή που ταυτοποιεί τον αποστολέα
+- Το ποσό ether που θα μεταφερθεί από τον αποστολέα στον παραλήπτη
+- Ένα προαιρετικό πεδίο δεδομένων
+- Μια τιμή `STARTGAS`, που αντιπροσωπεύει τον μέγιστο αριθμό υπολογιστικών βημάτων που επιτρέπεται να κάνει η εκτέλεση της συναλλαγής
+- Μια τιμή `GASPRICE`, που αντιπροσωπεύει το τέλος που πληρώνει ο αποστολέας ανά υπολογιστικό βήμα
+
+Τα πρώτα τρία είναι τυπικά πεδία που αναμένονται σε οποιοδήποτε κρυπτονόμισμα. Το πεδίο δεδομένων δεν έχει καμία λειτουργία από προεπιλογή, αλλά η εικονική μηχανή έχει ένα λειτουργικό κώδικα που μπορεί να χρησιμοποιήσει ένα συμβόλαιο για να αποκτήσει πρόσβαση στα δεδομένα. Ως παράδειγμα χρήσης, εάν ένα συμβόλαιο λειτουργεί ως υπηρεσία εγγραφής τομέα στην κρυπτοαλυσίδα, τότε μπορεί να επιθυμεί να ερμηνεύσει τα δεδομένα που του περνάνε ως περιεχόμενα από δύο «πεδία», το πρώτο πεδίο είναι ένας τομέας για εγγραφή και το δεύτερο πεδίο είναι η διεύθυνση IP για να το καταχωρίσει. Το συμβόλαιο θα διαβάσει αυτές τις τιμές από τα δεδομένα του μηνύματος και θα τις τοποθετήσει κατάλληλα στον αποθηκευτικό χώρο.
+
+Τα πεδία `STARTGAS` και `GASPRICE` είναι κρίσιμα για το μοντέλο αντι-άρνησης υπηρεσίας του Ethereum. Για να αποφευχθούν τυχαίοι ή εχθρικοί άπειροι βρόχοι ή άλλη σπατάλη υπολογισμών στον κώδικα, κάθε συναλλαγή υποχρεούται να ορίσει ένα όριο για το πόσα υπολογιστικά βήματα εκτέλεσης κώδικα μπορεί να χρησιμοποιήσει. Η θεμελιώδης μονάδα υπολογισμού είναι το «gas». Συνήθως, ένα υπολογιστικό βήμα κοστίζει 1 gas, αλλά ορισμένες λειτουργίες κοστίζουν υψηλότερα ποσά σε gas επειδή είναι πιο δαπανηρές από υπολογιστική άποψη ή αυξάνουν την ποσότητα δεδομένων που πρέπει να αποθηκευτεί ως μέρος της κατάστασης. Υπάρχει επίσης ένα τέλος 5 gas για κάθε byte στα δεδομένα συναλλαγής. Η πρόθεση του συστήματος τελών είναι να απαιτεί από έναν επιτιθέμενο να πληρώνει ανάλογα για κάθε πόρο που καταναλώνει, συμπεριλαμβανομένων του υπολογισμού, του εύρους ζώνης και της αποθήκευσης. Κατά συνέπεια, κάθε συναλλαγή που οδηγεί το δίκτυο να καταναλώνει μεγαλύτερη ποσότητα οποιουδήποτε από αυτούς τους πόρους πρέπει να έχει ένα τέλος gas περίπου ανάλογο με την αύξηση.
+
+### Μηνύματα {#messages}
+
+Τα συμβόλαια έχουν τη δυνατότητα να στέλνουν «μηνύματα» σε άλλα συμβόλαια. Τα μηνύματα είναι εικονικά αντικείμενα που δε σειριοποιούνται ποτέ και υπάρχουν μόνο στο περιβάλλον εκτέλεσης του Ethereum. Ένα μήνυμα περιέχει:
+
+- Τον αποστολέα του μηνύματος (υπονοείται)
+- Τον παραλήπτη του μηνύματος
+- Το ποσό ether που θα μεταφερθεί μαζί με το μήνυμα
+- Ένα προαιρετικό πεδίο δεδομένων
+- Η τιμή `STARTGAS`
+
+Βασικά, ένα μήνυμα είναι σαν μια συναλλαγή, με τη διαφορά ότι παράγεται από ένα συμβόλαιο και όχι από έναν εξωτερικό παράγοντα. Ένα μήνυμα παράγεται όταν ένα συμβόλαιο που εκτελεί τρέχοντα κώδικα εκτελεί το opcode `CALL`, το οποίο παράγει και εκτελεί ένα μήνυμα. Όπως μια συναλλαγή, ένα μήνυμα οδηγεί τον λογαριασμό παραλήπτη να εκτελέσει τον κώδικά του. Έτσι, τα συμβόλαια μπορούν να έχουν σχέσεις με άλλα συμβόλαια με τον ίδιο ακριβώς τρόπο που μπορούν οι εξωτερικοί παράγοντες.
+
+Σημειώστε ότι η επιχορήγηση gas που ανατίθεται από μια συναλλαγή ή συμβόλαιο ισχύει για το συνολικό gas που καταναλώνεται από αυτήν τη συναλλαγή και όλες τις επί μέρους εκτελέσεις του. Για παράδειγμα, εάν ένας εξωτερικός παράγοντας Α στείλει μια συναλλαγή στο Β με 1000 gas και το Β καταναλώνει 600 gas πριν στείλει ένα μήνυμα στο C και η εσωτερική εκτέλεση του C καταναλώνει 300 gas πριν επιστρέψει, τότε το Β μπορεί να ξοδέψει άλλα 100 gas πριν εξαντληθεί το gas.
+
+### Συνάρτηση Μετάβασης Κατάστασης Ethereum {#ethereum-state-transition-function}
+
+
+
+Η συνάρτηση μετάβασης κατάστασης Ethereum, `APPLY(S,TX) -> S'` μπορεί να οριστεί ως εξής:
+
+1. Ελέγχεται εάν η συναλλαγή είναι σωστά διαμορφωμένη (δηλαδή έχει τον σωστό αριθμό τιμών), η υπογραφή είναι έγκυρη και το nonce ταιριάζει με το nonce του λογαριασμό αποστολέα. Εάν αυτό ισχύει, επιστρέφει σφάλμα.
+2. Υπολογίζεται το τέλος συναλλαγής ως `STARTGAS * GASPRICE` και προσδιορίζεται η διεύθυνση αποστολής από την υπογραφή. Αφαιρείται το τέλος από το υπόλοιπο του λογαριασμού του αποστολέα και αυξάνεται το nonce του αποστολέα. Εάν το υπόλοιπο δεν επαρκεί, επιστρέφει σφάλμα.
+3. Εκκινεί `GAS = STARTGAS` και αφαιρείται μια συγκεκριμένη ποσότητα gas ανά byte για πληρωμή των byte στη συναλλαγή.
+4. Μεταφέρεται η αξία συναλλαγής από τον λογαριασμό του αποστολέα στον λογαριασμό παραλήπτη. Εάν ο λογαριασμός παραλήπτη δεν υπάρχει ακόμα, δημιουργήστε τον. Εάν ο λογαριασμός παραλήπτη είναι ένα συμβόλαιο, εκτέλεση κώδικα του συμβολαίου είτε μέχρι την ολοκλήρωση είτε μέχρι να εξαντληθεί το gas της εκτέλεσης.
+5. Εάν η μεταφορά αξίας απέτυχε επειδή ο αποστολέας δεν είχε αρκετά χρήματα ή η εκτέλεση του κώδικα έμεινε από gas, αναστρέψτε όλες τις αλλαγές κατάστασης εκτός από την πληρωμή των τελών και προσθέστε τα τέλη στον λογαριασμό του εξορύκτη.
+6. Διαφορετικά, επιστρέφονται τα τέλη για όλο το υπόλοιπο gas στον αποστολέα και στέλνονται τα τέλη που πληρώθηκαν για το καταναλωθέν gas στον κρυπτορύχο.
+
+Για παράδειγμα, υποθέστε ότι ο κώδικας του συμβολαίου είναι:
+
+```py
+if !self.storage[calldataload(0)]:
+ self.storage[calldataload(0)] = calldataload(32)
+```
+
+Σημειώστε ότι στην πραγματικότητα ο κώδικας του συμβολαίου είναι γραμμένος σε χαμηλού επιπέδου κώδικα EVM. Αυτό το παράδειγμα είναι γραμμένο σε Serpent, μια από τις γλώσσες υψηλού επιπέδου μας για σαφήνεια και μπορεί να μεταγλωττιστεί σε κώδικα EVM. Ας υποθέσουμε ότι ο αποθηκευτικός χώρος του συμβολαίου ξεκινάει άδειος και αποστέλλεται μια συναλλαγή αξίας 10 ether, με 2000 gas, με τιμή gas 0,001 ether και 64 bytes δεδομένων, όπου τα bytes 0-31 αντιπροσωπεύουν τον αριθμό `2` και τα bytes 32-63 αντιπροσωπεύουν τη συμβολοσειρά `CHARLIE`. Η διαδικασία για τη συνάρτηση μετάβασης κατάστασης σε αυτήν την περίπτωση είναι η εξής:
+
+1. Ελέγξτε ότι η συναλλαγή είναι έγκυρη και καλά διαμορφωμένη.
+2. Ελέγξτε ότι ο αποστολέας της συναλλαγής έχει τουλάχιστον 2000 \* 0,001 = 2 ether. Εάν είναι, τότε αφαιρέστε 2 ether από τον λογαριασμό του αποστολέα.
+3. Εκκινήστε το gas = 2000. Υποθέτοντας ότι η συναλλαγή είναι μήκους 170 bytes και η τιμή ανά byte είναι 5, αφαιρέστε 850 ώστε να απομένουν 1150 gas.
+4. Αφαιρέστε άλλα 10 ether από τον λογαριασμό του αποστολέα και προσθέστε τα στον λογαριασμό του συμβολαίου.
+5. Εκτελέστε τον κώδικα. Σε αυτήν την περίπτωση, είναι απλό: ελέγχει αν η αποθήκευση του συμβολαίου στον δείκτη `2` χρησιμοποιείται, παρατηρεί ότι δε χρησιμοποιείται και έτσι ορίζει τον αποθηκευτικό χώρο στον δείκτη `2` στην τιμή `CHARLIE`. Ας υποθέσουμε ότι αυτό παίρνει 187 gas, άρα η υπολειπόμενη ποσότητα gas είναι 1150 - 187 = 963
+6. Προσθέστε 963 \* 0.001 = 0.963 ether πίσω στον λογαριασμό του αποστολέα, και επιστρέψτε την κατάσταση που προκύπτει.
+
+Εάν δεν υπήρχε συμβόλαιο στον λήπτη της συναλλαγής, τότε το συνολικό τέλος συναλλαγής θα ήταν απλά ίσο με την παρεχόμενη τιμή `GASPRICE` πολλαπλασιασμένη με το μήκος της συναλλαγής σε bytes και τα δεδομένα που αποστέλλονται μαζί με τη συναλλαγή θα ήταν άσχετα.
+
+Σημείωση: Τα μηνύματα λειτουργούν ισοδύναμα με τις συναλλαγές όσον αφορά τις αναστροφές: εάν η εκτέλεση ενός μηνύματος εξαντλήσει το gas, τότε η εκτέλεση αυτού του μηνύματος και όλες οι άλλες εκτελέσεις που προκαλούνται από αυτήν αναστρέφονται, αλλά οι γονικές εκτελέσεις δε χρειάζεται να αναστραφούν. Αυτό σημαίνει ότι είναι «ασφαλές» ένα συμβόλαιο να επικοινωνήσει με ένα άλλο συμβόλαιο, καθώς εάν το Α καλεί το Β με G gas, τότε είναι σίγουρο ότι η εκτέλεση του Α θα χάσει το πολύ G gas. Τέλος, σημειώστε ότι υπάρχει ένα opcode, το `CREATE`, που δημιουργεί ένα συμβόλαιο. Οι μηχανισμοί εκτέλεσής του είναι γενικά παρόμοιοι με το `CALL`, με τη διαφορά ότι το αποτέλεσμα της εκτέλεσης καθορίζει τον κώδικα ενός συμβολαίου που δημιουργήθηκε πρόσφατα.
+
+### Εκτέλεση κώδικα {#code-execution}
+
+Ο κώδικας στα συμβόλαια Ethereum είναι γραμμένος σε μια γλώσσα «bytecode» χαμηλού επιπέδου, που βασίζεται σε στοίβα, που αναφέρεται ως «κώδικας εικονικού μηχανήματος του Ethereum» ή «κώδικας EVM». Ο κώδικας αποτελείται από μια σειρά byte, όπου κάθε byte αντιπροσωπεύει μια λειτουργία. Γενικά, η εκτέλεση κώδικα είναι ένας άπειρος βρόχος που αποτελείται από την επαναλαμβανόμενη εκτέλεση της ενέργειας στο τρέχον πρόγραμμα καταμέτρησης (που ξεκινά από το μηδέν) και στη συνέχεια την αύξηση του προγράμματος καταμέτρησης κατά ένα, μέχρι να φτάσει στο τέλος του κώδικα ή να ανιχνευθεί ένα σφάλμα ή εντολή `STOP` ή `RETURN`. Οι λειτουργίες έχουν πρόσβαση σε τρεις τύπους χώρου για αποθήκευση δεδομένων:
+
+- Στη **στοίβα**, έναν χώρο «Last In First Out» (μπαίνει τελευταίο βγαίνει πρώτο) στον οποίο μπορούν να προστεθούν και να αφαιρεθούν τιμές
+- Στη **μνήμη**, έναν άπειρα επεκτάσιμο πίνακα byte
+- Στον μακροχρόνιο **αποθηκευτικό χώρο** του συμβολαίου, μια αποθήκη κλειδιού/τιμής. Σε αντίθεση με τη στοίβα και τη μνήμη, που επαναφέρονται μετά το τέλος του υπολογισμού, ο αποθηκευτικός χώρος διατηρείται μακροπρόθεσμα.
+
+Ο κώδικας μπορεί επίσης να έχει πρόσβαση στην τιμή, τον αποστολέα και τα δεδομένα του εισερχόμενου μηνύματος, καθώς και στα δεδομένα κεφαλίδας μπλοκ και ο κώδικας μπορεί επίσης να επιστρέψει έναν πίνακα byte δεδομένων ως αποτέλεσμα.
+
+Το τυπικό μοντέλο εκτέλεσης του κώδικα EVM είναι εκπληκτικά απλό. Ενώ το εικονικό μηχάνημα του Ethereum εκτελείται, η πλήρης υπολογιστική κατάστασή του μπορεί να οριστεί από το `(block_state, transaction, message, code, memory, stack, pc, gas)`, όπου το `block_state` είναι η παγκόσμια κατάσταση που περιέχει όλους τους λογαριασμούς και περιλαμβάνει υπόλοιπα λογαριασμών και αποθηκευτικό χώρο. Στην αρχή κάθε κύκλου εκτέλεσης, η τρέχουσα εντολή βρίσκεται λαμβάνοντας το `pc`ο byte του `code` (ή 0 εάν `pc >= len (code)`) και κάθε εντολή έχει τον δικό της ορισμό ως προς τον τρόπο με τον οποίο επηρεάζει το tuple (πλειάδα). Για παράδειγμα, το `ADD` αφαιρεί δύο στοιχεία από τη στοίβα και προωθεί το άθροισμά τους, μειώνει το `gas` κατά 1 και αυξάνει το `pc` κατά 1 και το `SSTORE` αφαιρεί τα δύο κορυφαία στοιχεία από τη στοίβα και εισάγει το δεύτερο στοιχείο στον αποθηκευτικό χώρο του συμβολαίου στον δείκτη που καθορίζεται από το πρώτο στοιχείο. Αν και υπάρχουν πολλοί τρόποι για να βελτιστοποιήσετε την εκτέλεση του εικονικού μηχανήματος του Ethereum μέσω της μεταγλώττισης just-in-time, μια βασική εφαρμογή του Ethereum μπορεί να γίνει σε λίγες εκατοντάδες γραμμές κώδικα.
+
+### Κρυπτοαλυσίδα και Κρυπτόρυξη {#blockchain-and-mining}
+
+
+
+Η κρυπτοαλυσίδα του Ethereum παρουσιάζει πολλές ομοιότητες με την κρυπτοαλυσίδα του Bitcoin, αν και έχει κάποιες διαφορές. Η κύρια διαφορά μεταξύ του Ethereum και του Bitcoin όσον αφορά την αρχιτεκτονική της κρυπτοαλυσίδας είναι ότι, σε αντίθεση με το Bitcoin, τα μπλοκ του Ethereum περιέχουν ένα αντίγραφο τόσο της λίστας συναλλαγών όσο και της πιο πρόσφατης κατάστασης. Εκτός από αυτό, δύο άλλες τιμές, ο αριθμός του μπλοκ και ο βαθμός δυσκολίας, αποθηκεύονται επίσης στο μπλοκ. Ο βασικός αλγόριθμος επικύρωσης μπλοκ στο Ethereum έχει ως εξής:
+
+1. Ελέγξτε εάν το προηγούμενο αναφερόμενο μπλοκ υπάρχει και είναι έγκυρο.
+2. Ελέγξτε ότι η χρονική σήμανση του μπλοκ είναι μεγαλύτερη από αυτή του προηγούμενου αναφερόμενου μπλοκ και μικρότερη από 15 λεπτά από το επόμενο
+3. Ελέγξτε ότι ο αριθμός μπλοκ, ο βαθμός δυσκολίας, η βάση συναλλαγών, η θυγατρική βάση και το όριο gas (διάφορες έννοιες χαμηλού επιπέδου συγκεκριμένες για το Ethereum) είναι έγκυρα.
+4. Ελέγξτε ότι η απόδειξη εργασίας στο μπλοκ είναι έγκυρη.
+5. Αφήστε το `S[0]` να είναι η κατάσταση στο τέλος του προηγούμενου μπλοκ.
+6. Αφήστε το `TX` να είναι η λίστα συναλλαγών του μπλοκ, με `n` συναλλαγές. Για όλα τα `i` σε `0...n-1`, ορίστε `S[i+1] = APPLY(S[i], TX[i])`. Εάν οποιαδήποτε εφαρμογή επιστρέψει σφάλμα ή εάν το συνολικό gas που καταναλώθηκε στο μπλοκ μέχρι αυτό το σημείο υπερβαίνει το `GASLIMIT`, επιστρέψτε σφάλμα.
+7. Αφήστε το `S_FINAL` να είναι το `S[n]`, αλλά προσθέτοντας την ανταμοιβή μπλοκ που καταβάλλεται στον κρυπτορύχο.
+8. Ελέγξτε εάν η ρίζα του δέντρου Merkle της κατάστασης `S_FINAL` είναι ίση με τη ρίζα τελικής κατάστασης που παρέχεται στην κεφαλίδα του μπλοκ. Εάν ναι, το μπλοκ είναι έγκυρο. Διαφορετικά, δεν είναι έγκυρο.
+
+Η προσέγγιση μπορεί να φαίνεται ιδιαίτερα ανεπαρκής με την πρώτη ματιά, επειδή πρέπει να αποθηκεύει ολόκληρη την κατάσταση με κάθε μπλοκ, αλλά στην πραγματικότητα η απόδοση θα πρέπει να είναι συγκρίσιμη με αυτή του Bitcoin. Ο λόγος είναι ότι η κατάσταση αποθηκεύεται στη δομή δέντρου και μετά από κάθε μπλοκ μόνο ένα μικρό μέρος του δέντρου χρειάζεται να αλλάξει. Έτσι, γενικά, μεταξύ δύο συνεχόμενων μπλοκ το μεγαλύτερο μέρος του δέντρου θα πρέπει να είναι το ίδιο και επομένως τα δεδομένα μπορούν να αποθηκευτούν μία φορά και να αναφερθούν δύο φορές χρησιμοποιώντας δείκτες (δηλαδή, τους κατακερματισμούς των υποδέντρων). Για την επίτευξη αυτού του σκοπού χρησιμοποιείται ένας ειδικός τύπος δέντρου, γνωστός ως «δέντρο Patricia», συμπεριλαμβανομένης μιας τροποποίησης της έννοιας του δέντρου Merkle που επιτρέπει την αποδοτική εισαγωγή και διαγραφή κόμβων και όχι μόνο την αλλαγή τους. Επιπλέον, επειδή όλες οι πληροφορίες κατάστασης αποτελούν μέρος του τελευταίου μπλοκ, δεν υπάρχει ανάγκη αποθήκευσης ολόκληρου του ιστορικού της αλυσίδας μπλοκ — είναι μια στρατηγική που, εάν μπορούσε να εφαρμοστεί στο Bitcoin, υπολογίζεται ότι παρέχει εξοικονόμηση χώρου κατά 5-20 φορές.
+
+Μια συχνή ερώτηση είναι «πού» εκτελείται ο κώδικας του συμβολαίου, όσον αφορά το φυσικό υλισμικό. Αυτό έχει μια απλή απάντηση: η διαδικασία εκτέλεσης του κώδικα συμβολαίου αποτελεί μέρος του ορισμού της συνάρτησης μετάβασης κατάστασης, η οποία αποτελεί μέρος του αλγόριθμου επικύρωσης μπλοκ, οπότε εάν μια συναλλαγή προστεθεί στο μπλοκ `Β`, η εκτέλεση κώδικα που προκαλείται από αυτήν τη συναλλαγή θα εκτελεστεί από όλους τους κόμβους, τώρα και στο μέλλον, που μεταφορτώνουν και επικυρώνουν το μπλοκ `Β`.
+
+## Εφαρμογές {#applications}
+
+Γενικά, υπάρχουν τρεις τύποι εφαρμογών πάνω από το Ethereum. Η πρώτη κατηγορία είναι οι χρηματοοικονομικές εφαρμογές, που παρέχουν στους χρήστες πιο ισχυρούς τρόπους διαχείρισης και σύναψης συμβάσεων χρησιμοποιώντας τα χρήματά τους. Αυτό περιλαμβάνει υποδιαιρέσεις νομισμάτων, χρηματοοικονομικά παράγωγα, συμβάσεις αντιστάθμισης κινδύνου, πορτοφόλια αποταμίευσης, διαθήκες και τελικά ακόμη και κάποιες κατηγορίες συμβάσεων πλήρους κλίμακας. Η δεύτερη κατηγορία είναι οι ημιχρηματοοικονομικές εφαρμογές, οι οποίες αφορούν χρήματα αλλά υπάρχει επίσης μια σημαντική μη νομισματική πλευρά σε αυτό που γίνεται. Ένα τέλειο παράδειγμα είναι η αυτόματη εφαρμογή ανταμοιβών για λύσεις σε υπολογιστικά προβλήματα. Τέλος, υπάρχουν εφαρμογές όπως η ηλεκτρονική ψηφοφορία και η αποκεντρωμένη διακυβέρνηση που δεν είναι καθόλου χρηματοοικονομικές.
+
+### Συστήματα ψηφιακών στοιχείων {#token-systems}
+
+Τα συστήματα κρυπτοπαραστατικών εντός της κρυπτοαλυσίδας έχουν πολλές εφαρμογές που ποικίλλουν από υποδιαιρέσεις νομισμάτων που αντιπροσωπεύουν περιουσιακά στοιχεία, όπως το δολάριο ΗΠΑ ή ο χρυσός έως μετοχές εταιρειών, μεμονωμένα κρυπτοπαραστατικά που αντιπροσωπεύουν έξυπνη ιδιοκτησία, ασφαλή μη πλαστοποιήσιμα κουπόνια και ακόμη και συστήματα κρυπτοπαραστατικών χωρίς καμία σχέση με την παραδοσιακή αξία, που χρησιμοποιούνται ως συστήματα πόντων για παροχή κινήτρων. Η εφαρμογή των συστημάτων κρυπτοπαραστατικών στο Ethereum είναι απροσδόκητα εύκολη. Το βασικό σημείο που πρέπει να κατανοηθεί είναι ότι όλα όσα είναι ένα νόμισμα ή ένα σύστημα κρυπτοπαραστατικών, θεμελιωδώς, είναι μια βάση δεδομένων με μία λειτουργία: αφαιρέστε X μονάδες από τον Α και δώστε X μονάδες στον Β, με την προϋπόθεση ότι (i) ο Α είχε τουλάχιστον X μονάδες πριν από τη συναλλαγή και (ii) η συναλλαγή εγκρίθηκε από τον Α. Το μόνο που χρειάζεται για την εφαρμογή ενός συστήματος κρυπτοπαραστατικών είναι η εφαρμογή αυτής της λογικής σε ένα συμβόλαιο.
+
+Ο βασικός κώδικας για την εφαρμογή ενός συστήματος κρυπτοπαραστατικών στη Serpent έχει ως εξής:
+
+```py
+def send(to, value):
+ if self.storage[msg.sender] >= value:
+ self.storage[msg.sender] = self.storage[msg.sender] - value
+ self.storage[to] = self.storage[to] + value
+```
+
+Πρόκειται ουσιαστικά για μια κυριολεκτική εφαρμογή της συνάρτησης μετάβασης κατάστασης του «τραπεζικού συστήματος» που περιγράφεται παραπάνω σε αυτό το έγγραφο. Πρέπει να προστεθούν μερικές επιπλέον γραμμές κώδικα για να προβλεφτεί το αρχικό βήμα διανομής των νομισματικών μονάδων στην πρώτη θέση και μερικές άλλες ακραίες περιπτώσεις και ιδανικά να προστεθεί μια συνάρτηση που θα επέτρεπε σε άλλα συμβόλαια να ερωτούν για το υπόλοιπο μιας διεύθυνσης. Αλλά αυτό είναι όλο. Θεωρητικά, τα συστήματα κρυπτοπαραστατικών που βασίζονται στο Ethereum και λειτουργούν ως υποδιαιρέσεις νομισμάτων μπορούν ενδεχομένως να περιλαμβάνουν ένα άλλο σημαντικό χαρακτηριστικό που λείπει από τα μετανομίσματα στην αλυσίδα που βασίζονται στο Bitcoin: τη δυνατότητα πληρωμής τελών συναλλαγής απευθείας σε αυτό το νόμισμα. Ο τρόπος με τον οποίο θα εφαρμοστεί αυτό είναι ότι το συμβόλαιο θα διατηρεί υπόλοιπο σε ether, με το οποίο θα επιστρέφει το ether που χρησιμοποιείται για την πληρωμή των τελών στον αποστολέα και θα αναπληρώνει αυτό το υπόλοιπο συλλέγοντας τις εσωτερικές μονάδες νομίσματος που λαμβάνει ως τέλη και πουλώντας τις ξανά σε έναν συνεχή δημόσιο πλειστηριασμό. Οι χρήστες θα πρέπει έτσι να «ενεργοποιήσουν» τους λογαριασμούς τους με ether, αλλά μόλις το ether είναι εκεί θα είναι επαναχρησιμοποιήσιμο επειδή το συμβόλαιο θα το επιστρέφει κάθε φορά.
+
+### Χρηματοοικονομικά παράγωγα και νομίσματα σταθερής αξίας {#financial-derivatives-and-stable-value-currencies}
+
+Τα χρηματοοικονομικά παράγωγα είναι η πιο κοινή εφαρμογή ενός «έξυπνου συμβολαίου» και μία από τις απλούστερες να εφαρμοστούν σε κώδικα. Η βασική πρόκληση στην υλοποίηση χρηματοοικονομικών συμβάσεων είναι ότι η πλειοψηφία τους απαιτεί αναφορά σε ένα εξωτερικό τιμοκατάλογο. Για παράδειγμα, μια πολύ επιθυμητή εφαρμογή είναι ένα έξυπνο συμβόλαιο που παρέχει κάλυψη από την αστάθεια του ether (ή άλλου κρυπτονομίσματος) σε σχέση με το δολάριο ΗΠΑ, αλλά αυτό απαιτεί το συμβόλαιο να γνωρίζει ποια είναι η αξία του ETH/USD. Ο απλούστερος τρόπος για να γίνει αυτό είναι μέσω ενός συμβολαίου «τροφοδοσίας δεδομένων» που διατηρείται από ένα συγκεκριμένο μέρος (π.χ. NASDAQ) που είναι σχεδιασμένο έτσι ώστε αυτό το μέρος να έχει τη δυνατότητα να ενημερώνει το συμβόλαιο σύμφωνα με τις ανάγκες και να αποτελεί μια διεπαφή που επιτρέπει σε άλλα συμβόλαια να στείλουν ένα μήνυμα σε αυτό το συμβόλαιο και να λάβουν πίσω μια απάντηση που παρέχει την τιμή.
+
+Με δεδομένο αυτό το κρίσιμο συστατικό, το συμβόλαιο αντιστάθμισης κινδύνου διαμορφώνεται ως εξής:
+
+1. Αναμονή μέχρι το μέρος Α να εισάγει 1000 ether.
+2. Αναμονή μέχρι το μέρος Β να εισάγει 1000 ether.
+3. Καταγραφή της αξίας των 1000 ether σε δολάρια ΗΠΑ, υπολογισμένη με ερώτηση στο συμβόλαιο τροφοδοσίας δεδομένων, στον αποθηκευτικό χώρο, ας πούμε ότι είναι $x.
+4. Μετά από 30 ημέρες, επιτρέψτε στον Α ή τον Β να «ενεργοποιήσουν ξανά» το συμβόλαιο για να στείλουν $x αξία σε ether (υπολογισμένη με νέα ερώτηση στο συμβόλαιο τροφοδοσίας δεδομένων για να λάβετε τη νέα τιμή) στον Α και το υπόλοιπο στον Β.
+
+Ένα τέτοιο συμβόλαιο θα είχε σημαντική προοπτική στο εμπόριο κρυπτονομισμάτων. Ένα από τα βασικά προβλήματα που αναφέρονται σχετικά με το κρυπτονόμισμα είναι το γεγονός ότι είναι ασταθές. Αν και πολλοί χρήστες και έμποροι μπορεί να θέλουν την ασφάλεια και την ευκολία της διαχείρισης κρυπτογραφικών περιουσιακών στοιχείων, μπορεί να μην επιθυμούν να αντιμετωπίσουν την προοπτική της απώλειας 23% της αξίας των κεφαλαίων τους σε μία μόνο ημέρα. Μέχρι τώρα, η λύση που προτεινόταν συχνότερα ήταν τα περιουσιακά στοιχεία που υποστηρίζονται από εκδότη. Η ιδέα είναι ότι ένας εκδότης δημιουργεί μια υποδιαίρεση νομίσματος στο οποίο έχει το δικαίωμα να εκδίδει και να ανακαλεί μονάδες και παρέχει μία μονάδα του νομίσματος σε όποιον του παρέχει (offline) μία μονάδα ενός καθορισμένου υποκείμενου περιουσιακού στοιχείου (π.χ. χρυσό, δολάριο ΗΠΑ). Ο εκδότης στη συνέχεια υπόσχεται να παράσχει μία μονάδα του υποκείμενου περιουσιακού στοιχείου σε όποιον επιστρέψει μία μονάδα του κρυπτοπεριουσιακού στοιχείου. Αυτός ο μηχανισμός επιτρέπει σε οποιοδήποτε μη κρυπτογραφικό περιουσιακό στοιχείο να «υπερισχύσει» σε ένα κρυπτογραφικό περιουσιακό στοιχείο, υπό την προϋπόθεση ότι ο εκδότης είναι έμπιστος.
+
+Ωστόσο, στην πράξη, οι εκδότες δεν είναι πάντα αξιόπιστοι και σε ορισμένες περιπτώσεις η τραπεζική υποδομή είναι πολύ αδύναμη ή πολύ εχθρική για να υπάρχουν τέτοιες υπηρεσίες. Τα χρηματοοικονομικά παράγωγα αποτελούν μια εναλλακτική λύση. Εδώ, αντί για έναν μόνον εκδότη που παρέχει τα κεφάλαια για την υποστήριξη ενός περιουσιακού στοιχείου, μια αποκεντρωμένη αγορά επενδυτών, που στοιχηματίζουν ότι η τιμή ενός κρυπτογραφικού περιουσιακού στοιχείου αναφοράς (π.χ. ETH) θα ανέβει, παίζει αυτόν τον ρόλο. Σε αντίθεση με τους εκδότες, οι επενδυτές δεν έχουν καμία επιλογή να μην τηρήσουν τη συμφωνία τους γιατί το συμβόλαιο ασφάλισης κρατά τα κεφάλαιά τους ως εγγύηση. Σημειώστε ότι αυτή η προσέγγιση δεν είναι πλήρως αποκεντρωμένη, επειδή απαιτείται ακόμα μια αξιόπιστη πηγή για την παροχή του τιμοκαταλόγου τιμών, αν και πιθανώς ακόμη και αυτό είναι μια τεράστια βελτίωση όσον αφορά τη μείωση των απαιτήσεων υποδομής (σε αντίθεση με το να είναι εκδότης, η έκδοση μιας ροής τιμών δεν απαιτεί άδειες και μπορεί πιθανώς να ταξινομηθεί ως ελευθερία του λόγου) και τη μείωση της πιθανότητας απάτης.
+
+### Συστήματα Ταυτότητας και Φήμης {#identity-and-reputation-systems}
+
+Το [Namecoin](http://namecoin.org/), το παλαιότερο εναλλακτικό κρυπτονόμισμα, προσπάθησε να χρησιμοποιήσει μια κρυπτοαλυσίδα τύπου Bitcoin για να παρέχει ένα σύστημα εγγραφής ονομάτων, όπου οι χρήστες μπορούν να καταχωρίσουν τα ονόματά τους σε μια δημόσια βάση δεδομένων μαζί με άλλα δεδομένα. Η κύρια αναφερόμενη περίπτωση χρήσης είναι για ένα σύστημα [DNS](https://wikipedia.org/wiki/Domain_Name_System), που αντιστοιχεί τα ονόματα τομέα όπως το «bitcoin.org» (ή στην περίπτωση του Namecoin, «bitcoin.bit») σε μια διεύθυνση IP. Άλλες περιπτώσεις χρήσης περιλαμβάνουν την επικύρωση email και ενδεχομένως πιο προηγμένα συστήματα φήμης. Ακολουθεί το βασικό συμβόλαιο για την παροχή ενός συστήματος εγγραφής ονομάτων τύπου Namecoin στο Ethereum:
+
+```py
+def register(name, value):
+ if !self.storage[name]:
+ self.storage[name] = value
+```
+
+Το συμβόλαιο είναι πολύ απλό. Αποτελεί απλώς μια βάση δεδομένων μέσα στο δίκτυο Ethereum στην οποία μπορεί να προστεθεί κάτι, αλλά δεν μπορεί να τροποποιηθεί ή να αφαιρεθεί. Οποιοσδήποτε μπορεί να καταχωρίσει ένα όνομα με κάποια τιμή και αυτή η εγγραφή στη συνέχεια παραμένει για πάντα. Ένα πιο περίπλοκο συμβόλαιο εγγραφής ονόματος θα διαθέτει επίσης μια «ρήτρα συνάρτησης» που επιτρέπει σε άλλες συμβάσεις να την καλούν, καθώς και έναν μηχανισμό για τον «ιδιοκτήτη» (δηλαδή τον πρώτο που κατοχύρωσε) ενός ονόματος να αλλάξει τα δεδομένα ή να μεταβιβάσει την κυριότητα. Μπορεί κανείς ακόμη να προσθέσει λειτουργίες διαχείρισης φήμης και δικτύου εμπιστοσύνης στην κορυφή.
+
+### Αποκεντρωμένος αποθηκευτικός χώρος {#decentralized-file-storage}
+
+Τα τελευταία χρόνια, έχουν εμφανιστεί αρκετές δημοφιλείς νεοφυείς επιχειρήσεις αποθήκευσης αρχείων στο διαδίκτυο, με την πιο σημαντική να είναι το Dropbox, που επιδιώκει να επιτρέψει στους χρήστες να ανεβάσουν ένα αντίγραφο ασφαλείας του σκληρού δίσκου τους και να αποθηκεύσει η υπηρεσία το αντίγραφο ασφαλείας και να επιτρέψει στον χρήστη να έχει πρόσβαση σε αυτό σε αντάλλαγμα για μια μηνιαία αμοιβή. Ωστόσο, σε αυτό το σημείο η αγορά αποθήκευσης αρχείων είναι μερικές φορές σχετικά αναποτελεσματική. Μια επιφανειακή ματιά σε διάφορες υπάρχουσες λύσεις δείχνει ότι, ιδιαίτερα στο επίπεδο των «απατηλών κοιλάδων» 20-200 GB όπου δεν ισχύουν ούτε οι δωρεάν ποσοστώσεις ούτε οι εκπτώσεις επιχειρηματικού επιπέδου, οι μηνιαίες τιμές για την κύρια αποθήκευση αρχείων είναι τέτοιες που πληρώνετε περισσότερο από το κόστος ολόκληρου του σκληρού δίσκου σε έναν μόνο μήνα. Τα συμβόλαια Ethereum μπορούν να επιτρέψουν την ανάπτυξη ενός αποκεντρωμένου οικοσυστήματος αποθήκευσης αρχείων, όπου οι μεμονωμένοι χρήστες μπορούν να κερδίζουν μικρές ποσότητες χρημάτων νοικιάζοντας τους δικούς τους σκληρούς δίσκους και ο αχρησιμοποίητος χώρος μπορεί να χρησιμοποιηθεί για να μειώσει περαιτέρω το κόστος αποθήκευσης αρχείων.
+
+Το βασικό υποστηρικτικό στοιχείο μιας τέτοιας συσκευής θα ήταν αυτό που ονομάσαμε «αποκεντρωμένο συμβόλαιο Dropbox». Αυτό το συμβόλαιο λειτουργεί ως εξής. Πρώτον, χωρίζετε τα επιθυμητά δεδομένα σε μπλοκ, κρυπτογραφώντας κάθε μπλοκ για προστασία της ιδιωτικής ζωής και δημιουργείτε ένα δέντρο Merkle από αυτό. Στη συνέχεια, κάνετε ένα συμβόλαιο με τον κανόνα ότι, ανά N μπλοκ, το συμβόλαιο θα επιλέξει έναν τυχαίο δείκτη στο δέντρο Merkle (χρησιμοποιώντας τον προηγούμενο κατακερματισμό μπλοκ, προσβάσιμο από τον κώδικα συμβολαίου, ως πηγή τυχαιότητας) και θα δώσει X ether στην πρώτη οντότητα που θα εκτελέσει μια συναλλαγή με μια απλοποιημένη απόδειξη πληρωμής τύπου επαλήθευσης ιδιοκτησίας του μπλοκ σε αυτόν τον συγκεκριμένο δείκτη του δέντρου. Όταν ένας χρήστης θέλει να μεταφορτώσει ξανά το αρχείο του, μπορεί να χρησιμοποιήσει ένα πρωτόκολλο μικροπληρωμών (π.χ. πληρώνει 1 szabo ανά 32 kilobyte) για να ανακτήσει το αρχείο. Η πιο αποδοτική προσέγγιση είναι ο πληρωτής να μη δημοσιεύσει τη συναλλαγή μέχρι το τέλος, αλλά αντ' αυτού να αντικαταστήσει τη συναλλαγή με μια ελαφρώς πιο κερδοφόρα με το ίδιο nonce μετά από κάθε 32 kilobyte.
+
+Ένα σημαντικό χαρακτηριστικό του πρωτοκόλλου είναι ότι, αν και μπορεί να φαίνεται ότι κάποιος εμπιστεύεται πολλούς τυχαίους κόμβους να μην αποφασίσουν να ξεχάσουν το αρχείο, μπορείτε να μειώσετε αυτόν τον κίνδυνο σχεδόν στο μηδέν χωρίζοντας το αρχείο σε πολλά κομμάτια μέσω μυστικής κοινής χρήσης και παρακολουθώντας τα συμβόλαια για να δείτε αν κάθε κομμάτι είναι ακόμα στην κατοχή κάποιου κόμβου. Εάν ένα συμβόλαιο εξακολουθεί να πληρώνει χρήματα, αυτό παρέχει μια κρυπτογραφική απόδειξη ότι κάποιος εκεί έξω εξακολουθεί να αποθηκεύει το αρχείο.
+
+### Αποκεντρωμένος Αυτόνομος Οργανισμός {#decentralized-autonomous-organizations}
+
+Η γενική έννοια ενός «αποκεντρωμένου αυτόνομου οργανισμού» είναι αυτή μιας εικονικής οντότητας που έχει ένα συγκεκριμένο σύνολο μελών ή μετόχων οι οποίοι, ίσως με πλειοψηφία 67%, έχουν το δικαίωμα να ξοδεύουν τα κεφάλαια της οντότητας και να τροποποιούν τον κώδικά της. Τα μέλη θα αποφασίζουν συλλογικά για τον τρόπο κατανομής των κεφαλαίων του οργανισμού. Οι μέθοδοι για την κατανομή των κεφαλαίων ενός DAO θα μπορούσαν να ποικίλλουν από προκλήσεις, μισθούς έως και πιο εξωτικούς μηχανισμούς όπως ένα εσωτερικό νόμισμα για την ανταμοιβή της εργασίας. Αυτό ουσιαστικά αναπαράγει τα νομικά ζητήματα μιας παραδοσιακής εταιρείας ή μη κερδοσκοπικού οργανισμού, χρησιμοποιώντας μόνο κρυπτογραφική τεχνολογία κρυπτοαλυσίδας για την επιβολή του νόμου. Μέχρι στιγμής, μεγάλο μέρος της συζήτησης γύρω από τους DAO έχει επικεντρωθεί στο «καπιταλιστικό» μοντέλο μιας «αποκεντρωμένης αυτόνομης εταιρείας» (DAC) με μετόχους που λαμβάνουν μερίσματα και διαπραγματεύσιμες μετοχές. Μια εναλλακτική, που πιθανώς περιγράφεται ως «αποκεντρωμένη αυτόνομη κοινότητα», θα ήταν όλα τα μέλη να έχουν ίσο μερίδιο στη λήψη αποφάσεων και θα απαιτούσε τη συμφωνία του 67% των υφιστάμενων μελών με την προσθήκη ή την αφαίρεση ενός μέλους. Η απαίτηση ότι ένα άτομο μπορεί να έχει μόνο μία συμμετοχή θα πρέπει στη συνέχεια να επιβληθεί συλλογικά από την ομάδα.
+
+Ένα γενικό περίγραμμα για το πώς να κωδικοποιήσετε έναν DAO είναι το εξής. Ο απλούστερος σχεδιασμός είναι απλώς ένα κομμάτι αυτοτροποποιούμενο κώδικα που αλλάζει εάν τα δύο τρίτα των μελών συμφωνούν σε μια αλλαγή. Αν και ο κώδικας είναι θεωρητικά αμετάβλητος, μπορεί κανείς εύκολα να το παρακάμψει και να έχει πραγματική μεταβλητότητα έχοντας κομμάτια του κώδικα σε ξεχωριστά συμβόλαια και αποθηκεύοντας τη διεύθυνση των συμβολαίων που πρέπει να καλούνται στον τροποποιήσιμο αποθηκευτικό χώρο. Σε μια απλή εφαρμογή ενός τέτοιου συμβολαίου DAO, θα υπήρχαν τρεις τύποι συναλλαγών, που διακρίνονται από τα δεδομένα που παρέχονται στη συναλλαγή:
+
+- `[0,i,K,V]` για να καταχωρίσετε μια πρόταση με δείκτη `i` για να αλλάξετε τη διεύθυνση στον δείκτη αποθήκευσης `K` σε τιμή `V`
+- `[1,i]` για να καταχωρίσετε μια ψήφο υπέρ της πρότασης `i`
+- `[2,i]` για να ολοκληρώσετε την πρόταση `i` εάν έχουν γίνει αρκετές ψήφοι
+
+Το συμβόλαιο θα είχε στη συνέχεια ρήτρες για καθέναν από αυτούς. Θα διατηρούσε ένα αρχείο όλων των ανοιχτών αλλαγών αποθήκευσης, καθώς και μια λίστα με το ποιος ψήφισε για αυτές. Θα είχε επίσης μια λίστα με όλα τα μέλη. Όταν οποιαδήποτε αλλαγή στον αποθηκευτικό χώρο φτάσει στα δύο τρίτα των μελών που ψηφίζουν γι' αυτήν, μια τελική συναλλαγή θα μπορούσε να εκτελέσει την αλλαγή. Ένας πιο εξελιγμένος σκελετός θα είχε επίσης ενσωματωμένη δυνατότητα ψήφου για χαρακτηριστικά, όπως η αποστολή μιας συναλλαγής, η προσθήκη μελών και η αφαίρεση μελών και μπορεί ακόμη να προβλέπει για την ψήφο τύπου [Liquid Democracy (ρευστής δημοκρατίας)](https://wikipedia.org/wiki/Liquid_democracy) (δηλαδή ο καθένας μπορεί να αναθέσει σε κάποιον να ψηφίσει για αυτόν και η ανάθεση είναι μεταβατική, οπότε εάν ο Α αναθέσει στον Β και ο Β αναθέσει στον Γ, τότε ο Γ καθορίζει την ψήφο του Α). Αυτός ο σχεδιασμός θα επέτρεπε στον DAO να αναπτυχθεί οργανικά ως μια αποκεντρωμένη κοινότητα, επιτρέποντας στους ανθρώπους να αναθέσουν τελικά την εργασία φιλτραρίσματος του ποιος είναι μέλος σε ειδικούς, αν και, σε αντίθεση με το «τρέχον σύστημα», οι ειδικοί μπορούν εύκολα να εμφανίζονται και να εξαφανίζονται με την πάροδο του χρόνου καθώς τα μεμονωμένα μέλη της κοινότητας αλλάζουν τους προσανατολισμούς τους.
+
+Ένα εναλλακτικό μοντέλο είναι μια αποκεντρωμένη εταιρεία, όπου οποιοσδήποτε λογαριασμός μπορεί να έχει μηδέν ή περισσότερες μετοχές και απαιτούνται τα δύο τρίτα των μετοχών για να ληφθεί μια απόφαση. Ένας πλήρης σκελετός θα περιελάμβανε λειτουργικότητα διαχείρισης περιουσιακών στοιχείων, τη δυνατότητα υποβολής προσφοράς αγοράς ή πώλησης μετοχών και τη δυνατότητα αποδοχής προσφορών (κατά προτίμηση με ένα μηχανισμό αντιστοίχισης παραγγελιών μέσα στο συμβόλαιο). Θα υπήρχε επίσης δυνατότητα εξουσιοδότησης, σε στυλ «ρευστής δημοκρατίας», γενικεύοντας την έννοια ενός «διοικητικού συμβουλίου».
+
+### Περαιτέρω Εφαρμογές {#further-applications}
+
+**1. Πορτοφόλια αποταμίευσης**. Ας υποθέσουμε ότι η Alice θέλει να κρατήσει τα κεφάλαιά της ασφαλή, αλλά ανησυχεί ότι είτε θα χάσει είτε κάποιος θα παραβιάσει το ιδιωτικό της κλειδί. Βάζει ether σε ένα συμβόλαιο με τον Bob, μια τράπεζα, ως εξής:
+
+- Η Alice μόνη της μπορεί να αποσύρει το πολύ 1% των κεφαλαίων ανά ημέρα.
+- Ο Bob μόνος του μπορεί να αποσύρει το πολύ 1% των κεφαλαίων ανά ημέρα, αλλά η Alice έχει τη δυνατότητα να κάνει μια συναλλαγή με το κλειδί της για να αποκλείσει αυτήν τη δυνατότητα.
+- Η Alice και ο Bob μαζί μπορούν να αποσύρουν οτιδήποτε.
+
+Κανονικά, το 1% ανά ημέρα είναι αρκετό για την Alice και αν η Alice θέλει να αποσύρει περισσότερα μπορεί να επικοινωνήσει με τον Bob για βοήθεια. Εάν το κλειδί της Alice παραβιαστεί, τρέχει στον Bob για να μετακινήσει τα κεφάλαια σε ένα νέο συμβόλαιο. Εάν χάσει το κλειδί της, ο Bob θα βγάλει τελικά τα κεφάλαια. Εάν ο Bob αποδειχθεί κακόβουλος, τότε η Alice μπορεί να απενεργοποιήσει τη δυνατότητά του να αποσύρει.
+
+**2. Ασφάλιση καλλιέργειας**. Μπορεί εύκολα να δημιουργηθεί ένα χρηματοοικονομικό παράγωγο συμβόλαιο χρησιμοποιώντας μια ροή δεδομένων καιρού αντί για οποιοδήποτε δείκτη τιμής. Εάν ένας αγρότης στην Αϊόβα αγοράσει ένα παράγωγο που αποδίδει αντίστροφα με βάση τις κατακρημνίσεις στην Αϊόβα, τότε, εάν υπάρχει ξηρασία, ο αγρότης θα λάβει αυτόματα χρήματα και, εάν υπάρχει αρκετή βροχή, ο αγρότης θα είναι ευτυχισμένος γιατί οι καλλιέργειές του θα πάνε καλά. Αυτό μπορεί να επεκταθεί γενικά στην ασφάλιση φυσικών καταστροφών.
+
+**3. Αποκεντρωμένη ροή δεδομένων**. Για τα χρηματοοικονομικά συμβόλαια διαφοράς, μπορεί στην πραγματικότητα να είναι δυνατή η αποκέντρωση της ροής δεδομένων μέσω ενός πρωτοκόλλου που ονομάζεται [SchellingCoin](http://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/). Το SchellingCoin λειτουργεί ουσιαστικά ως εξής: Ν μέρη βάζουν όλα στο σύστημα την αξία ενός δεδομένου στοιχείου (π.χ. την τιμή ETH/USD), οι τιμές ομαδοποιούνται και όλοι μεταξύ του 25ου και 75ου παίρνουν ένα κρυπτοπαραστατικό ως ανταμοιβή. Όλοι έχουν το κίνητρο να παράσχουν την απάντηση που θα παράσχουν όλοι οι άλλοι και η μόνη αξία στην οποία μπορεί ρεαλιστικά ένας μεγάλος αριθμός παικτών να συμφωνήσει είναι η προφανής προεπιλογή: η αλήθεια. Αυτό δημιουργεί ένα αποκεντρωμένο πρωτόκολλο που μπορεί θεωρητικά να παρέχει οποιοδήποτε αριθμό τιμών, συμπεριλαμβανομένης της τιμής ETH/USD, της θερμοκρασίας στο Βερολίνο ή ακόμη και του αποτελέσματος ενός συγκεκριμένου δύσκολου υπολογισμού.
+
+**4. Έξυπνη εγγύηση πολλαπλών υπογραφών**. Το Bitcoin επιτρέπει συμβόλαια συναλλαγών πολλαπλών υπογραφών όπου, για παράδειγμα, τρία από τα πέντε κλειδιά μπορούν να ξοδέψουν τα κεφάλαια. Το Ethereum προβλέπει μεγαλύτερο βαθμό λεπτομέρειας. Για παράδειγμα, τέσσερις από τους πέντε μπορούν να ξοδέψουν έως και 10% την ημέρα, και δύο από τους πέντε μπορούν να ξοδέψουν έως και 0,5% την ημέρα. Επιπλέον, η πολλαπλή υπογραφή Ethereum είναι ασύγχρονη, καθώς δύο μέρη μπορούν να καταχωρήσουν τις υπογραφές τους στην κρυπτοαλυσίδα σε διαφορετικές ώρες και η τελευταία υπογραφή θα στείλει αυτόματα τη συναλλαγή.
+
+**5. Υπολογιστικό νέφος**. Η τεχνολογία EVM μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία ενός ελεγχόμενου περιβάλλοντος υπολογισμού, επιτρέποντας στους χρήστες να ζητούν από άλλους να εκτελούν υπολογισμούς και στη συνέχεια προαιρετικά να ζητούν αποδείξεις ότι οι υπολογισμοί σε ορισμένα τυχαία επιλεγμένα σημεία ελέγχου έγιναν σωστά. Αυτό επιτρέπει τη δημιουργία μιας αγοράς υπολογιστικού νέφους όπου οποιοσδήποτε χρήστης μπορεί να συμμετάσχει με τον επιτραπέζιο υπολογιστή, το φορητό υπολογιστή ή τον εξειδικευμένο διακομιστή του και ο τυχαίος έλεγχος μαζί με τις καταθέσεις ασφαλείας μπορούν να χρησιμοποιηθούν για να διασφαλιστεί ότι το σύστημα είναι αξιόπιστο (δηλαδή ότι οι κόμβοι δεν μπορούν να εξαπατήσουν επικερδώς). Ωστόσο, ένα τέτοιο σύστημα μπορεί να μην είναι κατάλληλο για όλες τις εργασίες, αφού οι εργασίες που απαιτούν υψηλό επίπεδο επικοινωνίας μεταξύ διεργασιών, για παράδειγμα, δεν μπορούν εύκολα να γίνουν σε ένα μεγάλο νέφος κόμβων. Άλλες εργασίες, ωστόσο, είναι πολύ πιο εύκολο να παραλληλοποιηθούν. Έργα όπως το SETI@home, το folding@home και οι γενετικοί αλγόριθμοι μπορούν εύκολα να εφαρμοστούν πάνω σε μια τέτοια πλατφόρμα.
+
+**6. Τυχερά παιχνίδια μεταξύ ομοτίμων**. Οποιοσδήποτε αριθμός πρωτοκόλλων τυχερών παιχνιδιών μεταξύ ομοτίμων, όπως το [Cyberdice](http://www.cl.cam.ac.uk/~fms27/papers/2008-StajanoCla-cyberdice.pdf) του Frank Stajano και του Richard Canon, μπορεί να εφαρμοστεί στην κρυπτοαλυσίδα του Ethereum. Το απλούστερο πρωτόκολλο τυχερών παιχνιδιών είναι στην πραγματικότητα απλώς ένα συμβόλαιο διαφοράς στο επόμενο κατακερματισμένο μπλοκ και πιο προηγμένα πρωτόκολλα μπορούν να κατασκευαστούν από εκεί, δημιουργώντας υπηρεσίες τυχερών παιχνιδιών με μηδενικές σχεδόν προμήθειες και χωρίς καμία δυνατότητα εξαπάτησης.
+
+**7. Αγορές προγνώσεων**. Παρέχοντας ένα oracle ή ένα SchellingCoin, η εφαρμογή των αγορών προγνώσεων είναι επίσης εύκολη και οι αγορές προγνώσεων μαζί με το SchellingCoin μπορεί να αποδειχθούν η πρώτη κυρίαρχη εφαρμογή της [futarchy](http://hanson.gmu.edu/futarchy.html) ως πρωτόκολλο διακυβέρνησης αποκεντρωμένων οργανισμών.
+
+**8. Αποκεντρωμένες αγορές στην αλυσίδα**, που χρησιμοποιούν το σύστημα ταυτότητας και φήμης ως βάση.
+
+## Διάφορα και ανησυχίες {#miscellanea-and-concerns}
+
+### Τροποποιημένη εκτέλεση GHOST {#modified-ghost-implementation}
+
+Το πρωτόκολλο GHOST [Greedy Heaviest Observed Subtree (Άπληστο βαρύτερο παρατηρημένο υποδέντρο)] είναι μια καινοτομία που παρουσιάστηκε για πρώτη φορά από τους Yonatan Sompolinsky και Aviv Zohar τον [Δεκέμβριο του 2013](https://eprint.iacr.org/2013/881.pdf). Το κίνητρο πίσω από το GHOST είναι ότι οι κρυπτοαλυσίδες με γρήγορους χρόνους επιβεβαίωσης πάσχουν επί του παρόντος από μειωμένη ασφάλεια λόγω ενός υψηλού ποσοστού παλαιών μπλοκ, επειδή τα μπλοκ χρειάζονται κάποιο χρόνο για να διαδοθούν μέσω του δικτύου. Εάν ο εξορύκτης Α εξορύξει ένα μπλοκ και στη συνέχεια ο εξορύκτης Β τύχει να εξορύξει ένα άλλο μπλοκ πριν το μπλοκ του εξορύκτη Α διαδοθεί στον Β, το μπλοκ του εξορύκτη Β τελικά θα σπαταληθεί και δεν θα συμβάλλει στην ασφάλεια του δικτύου. Επιπλέον, υπάρχει ένα ζήτημα συγκεντρωτισμού: εάν ο εξορύκτης Α είναι μια δεξαμενή κρυπτόρυξης με ισχύ κατακερματισμού 30% και ο Β έχει ισχύ κατακερματισμού 10%, ο Α θα έχει κίνδυνο να παράγει ένα παλιό μπλοκ το 70% του χρόνου (αφού το άλλο 30% της ώρας ο Α παρήγαγε το τελευταίο μπλοκ και έτσι θα λάβει δεδομένα εξόρυξης αμέσως), ενώ ο Β θα κινδυνεύει να παράγει ένα παλιό μπλοκ το 90% του χρόνου. Έτσι, εάν το διάστημα μπλοκ είναι αρκετά σύντομο ώστε το ποσοστό παλαιών μπλοκ να είναι υψηλό, ο Α θα είναι σημαντικά πιο αποτελεσματικός απλώς λόγω του μεγέθους του. Συνδυάζοντας αυτά τα δύο αποτελέσματα, οι κρυπτοαλυσίδες που παράγουν μπλοκ γρήγορα είναι πολύ πιθανό να οδηγήσουν σε μια δεξαμενή κρυπτόρυξης με αρκετά μεγάλο ποσοστό της ισχύος κατακερματισμού του δικτύου για να έχει πραγματικό έλεγχο της διαδικασίας κρυπτόρυξης.
+
+Όπως περιγράφεται από τους Sompolinsky και Zohar, το GHOST επιλύει το πρώτο ζήτημα της απώλειας ασφάλειας δικτύου συμπεριλαμβάνοντας παλιά μπλοκ στον υπολογισμό του ποια αλυσίδα είναι η «μεγαλύτερη». Δηλαδή, όχι μόνο ο γονέας και οι περαιτέρω πρόγονοι ενός μπλοκ, αλλά και οι παλιοί απόγονοι του προγόνου του μπλοκ (στην ορολογία Ethereum, «θείοι») προστίθενται στον υπολογισμό για το ποιο μπλοκ έχει τη μεγαλύτερη συνολική απόδειξη εργασίας να το υποστηρίζει. Για να λύσουμε το δεύτερο ζήτημα της μεροληψίας συγκεντρωτισμού, πηγαίνουμε πέρα από το πρωτόκολλο που περιγράφεται από τους Sompolinsky και Zohar και παρέχουμε επίσης ανταμοιβές μπλοκ στους παλιούς: ένα παλιό μπλοκ λαμβάνει το 87,5% της βασικής του ανταμοιβής, και ο ανιψιός που περιλαμβάνει το παλιό μπλοκ λαμβάνει το υπόλοιπο 12,5%. Ωστόσο, δεν αποδίδονται τέλη συναλλαγής στους θείους.
+
+Το Ethereum εφαρμόζει μια απλοποιημένη έκδοση του GHOST που πηγαίνει μόνο επτά επίπεδα κάτω. Συγκεκριμένα, ορίζεται ως εξής:
+
+- Ένα μπλοκ πρέπει να καθορίζει έναν γονέα και πρέπει να καθορίζει 0 ή περισσότερους θείους
+- Ένας θείος που περιλαμβάνεται στο μπλοκ Β πρέπει να έχει τις ακόλουθες ιδιότητες:
+ - Πρέπει να είναι άμεσο παιδί του προγόνου της k γενιάς του Β, όπου `2 <= k <= 7`.
+ - Δεν μπορεί να είναι πρόγονος του Β
+ - Ένας θείος πρέπει να είναι μια έγκυρη κεφαλίδα μπλοκ, αλλά δε χρειάζεται να είναι ένα προηγουμένως επαληθευμένο ή ακόμα και έγκυρο μπλοκ
+ - Ένας θείος πρέπει να διαφέρει από όλους τους θείους που περιλαμβάνονται σε προηγούμενα μπλοκ και όλους τους άλλους θείους που περιλαμβάνονται στο ίδιο μπλοκ (μη διπλή συμπερίληψη)
+- Για κάθε θείο U στο μπλοκ Β, ο εξορύκτης του Β παίρνει επιπλέον 3,125% που προστίθεται στην ανταμοιβή coinbase του και ο εξορύκτης του U παίρνει το 93,75% μιας τυπικής ανταμοιβής coinbase.
+
+Αυτή η περιορισμένη έκδοση του GHOST, με τους θείους να μπορούν να συμπεριληφθούν μόνο έως και 7 γενιές, χρησιμοποιήθηκε για δύο λόγους. Πρώτον, το απεριόριστο GHOST θα περιελάμβανε πάρα πολλές επιπλοκές στον υπολογισμό του ποιοι θείοι είναι έγκυροι σε ένα δεδομένο μπλοκ. Δεύτερον, το απεριόριστο GHOST με αποζημίωση όπως χρησιμοποιείται στο Ethereum αφαιρεί το κίνητρο ενός εξορύκτη να εξορύξει στην κύρια αλυσίδα και όχι στην αλυσίδα ενός δημόσιου επιτιθέμενου.
+
+### Χρεώσεις {#fees}
+
+Επειδή κάθε συναλλαγή που δημοσιεύεται στην κρυπτοαλυσίδα επιβάλλει στο δίκτυο το κόστος της ανάγκης λήψης και επαλήθευσής της, υπάρχει ανάγκη για κάποιο ρυθμιστικό μηχανισμό, που συνήθως περιλαμβάνει τέλη συναλλαγής, για την πρόληψη της κατάχρησης. Η προεπιλεγμένη προσέγγιση, που χρησιμοποιείται στο Bitcoin, είναι να έχει καθαρά προαιρετικά τέλη, βασισμένη στους κρυπτορύχους να ενεργούν ως οι φύλακες και να ορίζουν ελάχιστα δυναμικά. Αυτή η προσέγγιση έχει γίνει δεκτή με πολύ θετικό τρόπο στην κοινότητα Bitcoin, ιδιαίτερα επειδή «βασίζεται στην αγορά», καθιστώντας δυνατό τον καθορισμό της τιμής από την προσφορά και τη ζήτηση μεταξύ εξορυκτών και αποστολέων συναλλαγών. Το πρόβλημα με αυτή τη σκέψη είναι, ωστόσο, ότι η επεξεργασία συναλλαγών δεν είναι αγορά. Αν και είναι διαισθητικά ελκυστικό να ερμηνεύσουμε την επεξεργασία συναλλαγών ως μια υπηρεσία που προσφέρει ο εξορύκτης στον αποστολέα, στην πραγματικότητα κάθε συναλλαγή που περιλαμβάνει ένας εξορύκτης θα πρέπει να διεκπεραιωθεί από κάθε κόμβο στο δίκτυο, οπότε το μεγαλύτερο μέρος του κόστους επεξεργασίας συναλλαγών βαρύνει τρίτα μέρη και όχι τον εξορύκτη που παίρνει την απόφαση εάν θα τη συμπεριλάβει ή όχι. Έτσι, είναι πολύ πιθανό να προκύψουν προβλήματα «τραγωδίας των κοινών αγαθών».
+
+Ωστόσο, όπως αποδεικνύεται, αυτό το ελάττωμα στον μηχανισμό που βασίζεται στην αγορά, όταν δοθεί μια συγκεκριμένη ανακριβής απλοποιητική υπόθεση, μαγικά ακυρώνεται από μόνο του. Το επιχείρημα έχει ως εξής. Ας υποθέσουμε ότι:
+
+1. Μια συναλλαγή οδηγεί σε `k` πράξεις, προσφέροντας την ανταμοιβή `kR` σε οποιονδήποτε εξορύκτη τη συμπεριλάβει, όπου το `R` ορίζεται από τον αποστολέα και το `k` και το `R` είναι (περίπου) ορατό στον εξορύκτη εκ των προτέρων.
+2. Μια πράξη έχει κόστος επεξεργασίας `C` για οποιονδήποτε κόμβο (δηλαδή όλοι οι κόμβοι έχουν ίση απόδοση)
+3. Υπάρχουν `N` κόμβοι εξόρυξης, καθένας με ακριβώς ίση ισχύ επεξεργασίας (δηλαδή `1/N` του συνόλου)
+4. Δεν υπάρχουν πλήρεις κόμβοι μη εξορύξεώς.
+
+Ένας κρυπτορύχος θα ήταν πρόθυμος να επεξεργαστεί μια συναλλαγή εάν η αναμενόμενη ανταμοιβή είναι μεγαλύτερη από το κόστος. Έτσι, η αναμενόμενη ανταμοιβή είναι `kR/N` καθώς ο εξορύκτης έχει πιθανότητα `1/N` να επεξεργαστεί το επόμενο μπλοκ, και το κόστος επεξεργασίας για τον εξορύκτη είναι απλά `kC`. Συνεπώς, οι κρυπτορύχοι θα συμπεριλάβουν συναλλαγές όπου `kR/N > kC`, ή `R > NC`. Σημειώστε ότι το `R` είναι το τέλος ανά πράξη που παρέχεται από τον αποστολέα και είναι συνεπώς ένα κατώφλι για το όφελος που αποκτά ο αποστολέας από τη συναλλαγή και το `NC` είναι το κόστος για ολόκληρο το δίκτυο μαζί, για την επεξεργασία μιας πράξης. Συνεπώς, οι κρυπτορύχοι έχουν το κίνητρο να συμπεριλάβουν μόνο εκείνες τις συναλλαγές για τις οποίες το συνολικό ωφελιμιστικό όφελος υπερβαίνει το κόστος.
+
+Ωστόσο, στην πραγματικότητα υπάρχουν αρκετές σημαντικές αποκλίσεις από αυτές τις υποθέσεις:
+
+1. Ο εξορύκτης πληρώνει πράγματι υψηλότερο κόστος για την επεξεργασία της συναλλαγής από τους άλλους κόμβους επαλήθευσης, καθώς ο επιπλέον χρόνος επαλήθευσης καθυστερεί τη διάδοση του μπλοκ και ως εκ τούτου αυξάνει την πιθανότητα το μπλοκ να γίνει παλιό.
+2. Υπάρχουν πράγματι μη εξορύσσοντες πλήρεις κόμβοι.
+3. Η κατανομή της ισχύος κρυπτόρυξης μπορεί να καταλήξει να είναι ριζικά άνιση στην πράξη.
+4. Υπάρχουν κερδοσκόποι, πολιτικοί εχθροί και τρελοί, των οποίων η συνάρτηση χρησιμότητας περιλαμβάνει την πρόκληση ζημιών στο δίκτυο και μπορούν να δημιουργήσουν έξυπνα συμβόλαια το κόστος των οποίων είναι πολύ χαμηλότερο από το κόστος που καταβάλλουν άλλοι κόμβοι επαλήθευσης.
+
+(1) συμπεριλαμβάνονται λιγότερες συναλλαγές για τον εξορύκτη και (2) αυξάνει το `NC`. Ως εκ τούτου, αυτές οι δύο επιδράσεις τουλάχιστον εν μέρει ακυρώνουν το ένα το άλλο. [Πώς;](https://github.com/ethereum/wiki/issues/447#issuecomment-316972260) Τα σημεία (3) και (4) αποτελούν το μεγαλύτερο ζήτημα. Για να τα λύσουμε, απλά εφαρμόζουμε ένα κυμαινόμενο όριο: κανένα μπλοκ δεν μπορεί να έχει περισσότερες πράξεις από τον `BLK_LIMIT_FACTOR` επί τον μακροπρόθεσμο εκθετικό κινούμενο μέσο όρο. Συγκεκριμένα:
+
+```js
+blk.oplimit = floor((blk.parent.oplimit \* (EMAFACTOR - 1) +
+floor(parent.opcount \* BLK\_LIMIT\_FACTOR)) / EMA\_FACTOR)
+```
+
+Οι σταθερές `BLK_LIMIT_FACTOR` και `EMA_FACTOR` ορίζονται προσωρινά σε 65536 και 1,5 αντίστοιχα, αλλά πιθανότατα θα αλλάξουν μετά από περαιτέρω ανάλυση.
+
+Υπάρχει ένας άλλος παράγοντας που αποθαρρύνει τα μεγάλα μεγέθη μπλοκ στο Bitcoin: τα μπλοκ που είναι μεγάλα θα χρειαστούν περισσότερο χρόνο για να διαδοθούν και έτσι θα έχουν μεγαλύτερη πιθανότητα να γίνουν παλιά. Στο Ethereum, τα μπλοκ υψηλής κατανάλωσης gas μπορούν επίσης να χρειαστούν περισσότερο χρόνο για να διαδοθούν τόσο επειδή είναι φυσικά μεγαλύτερα όσο και επειδή χρειάζονται περισσότερο χρόνο για να επεξεργαστούν τις μεταβάσεις κατάστασης συναλλαγής για επαλήθευση. Αυτό το αντικίνητρο καθυστέρησης είναι μια σημαντική εκτίμηση στο Bitcoin, αλλά λιγότερο στο Ethereum λόγω του πρωτοκόλλου GHOST. Συνεπώς, η εξάρτηση από ρυθμιζόμενα όρια μπλοκ παρέχει μια πιο σταθερή βάση.
+
+### Υπολογισμός και Πληρότητα Turing {#computation-and-turing-completeness}
+
+Μια σημαντική σημείωση είναι ότι το εικονικό μηχάνημα του Ethereum έχει πληρότητα Turing. Αυτό σημαίνει ότι ο κώδικας EVM μπορεί να κωδικοποιήσει οποιονδήποτε υπολογισμό που μπορεί πιθανώς να πραγματοποιηθεί, συμπεριλαμβανομένων των άπειρων βρόχων. Ο κώδικας EVM επιτρέπει τη δημιουργία βρόχων με δύο τρόπους. Πρώτον, υπάρχει μια εντολή `JUMP` που επιτρέπει στο πρόγραμμα να πηδήξει πίσω σε ένα προηγούμενο σημείο στον κώδικα και μια εντολή `JUMPI` για να κάνει υπό όρους άλμα, επιτρέποντας δηλώσεις όπως `while x < 27: x = x * 2`. Δεύτερον, τα συμβόλαια μπορούν να καλούν άλλα συμβόλαια, επιτρέποντας ενδεχομένως τη δημιουργία βρόχου μέσω αναδρομής. Αυτό οδηγεί φυσικά σε ένα πρόβλημα: μπορούν οι κακόβουλοι χρήστες ουσιαστικά να αποκλείσουν τους εξορύκτες και τους πλήρεις κόμβους αναγκάζοντάς τους να μπουν σε έναν άπειρο βρόχο; Το ζήτημα προκύπτει λόγω ενός προβλήματος στην επιστήμη υπολογιστών που είναι γνωστό ως το πρόβλημα τερματισμού: δεν υπάρχει τρόπος να πούμε, στη γενική περίπτωση, εάν ένα δεδομένο πρόγραμμα θα σταματήσει ποτέ να τρέχει.
+
+Όπως περιγράφεται στην ενότητα μετάβασης κατάστασης, η λύση μας λειτουργεί απαιτώντας από μια συναλλαγή να ορίσει έναν μέγιστο αριθμό υπολογιστικών βημάτων που επιτρέπεται να κάνει και εάν η εκτέλεση διαρκέσει περισσότερο, ο υπολογισμός αναστρέφεται αλλά τα τέλη εξακολουθούν να καταβάλλονται. Τα μηνύματα λειτουργούν με τον ίδιο τρόπο. Για να δείξουμε το κίνητρο πίσω από τη λύση μας, εξετάζουμε τα ακόλουθα παραδείγματα:
+
+- Ένας επιτιθέμενος δημιουργεί ένα συμβόλαιο που εκτελεί έναν άπειρο βρόχο και στη συνέχεια στέλνει μια συναλλαγή ενεργοποίησης αυτού του βρόχου στον κρυπτορύχο. Ο κρυπτορύχος θα επεξεργαστεί τη συναλλαγή, θα εκτελέσει τον άπειρο βρόχο και θα περιμένει να εξαντληθεί το gas του. Ακόμα και αν η εκτέλεση μείνει από gas και σταματήσει στη μέση, η συναλλαγή εξακολουθεί να είναι έγκυρη και ο εξορύκτης εξακολουθεί να διεκδικεί τα τέλη από τον επιτιθέμενο για κάθε υπολογιστικό βήμα.
+- Ένας επιτιθέμενος δημιουργεί έναν πολύ μακρύ άπειρο βρόχο με σκοπό να αναγκάσει τον εξορύκτη να συνεχίσει να υπολογίζει για τόσο μεγάλο χρονικό διάστημα που μέχρι να ολοκληρωθεί ο υπολογισμός, θα έχουν βγει μερικά ακόμη μπλοκ και δεν θα είναι δυνατό για τον εξορύκτη να συμπεριλάβει τη συναλλαγή για να διεκδικήσει τα τέλη. Ωστόσο, ο επιτιθέμενος θα πρέπει να υποβάλει μια τιμή για `STARTGAS` που περιορίζει τον αριθμό των υπολογιστικών βημάτων που μπορεί να κάνει η εκτέλεση, επομένως ο εξορύκτης θα γνωρίζει εκ των προτέρων ότι ο υπολογισμός θα χρειαστεί υπερβολικά μεγάλο αριθμό βημάτων.
+- Ένας επιτιθέμενος βλέπει ένα συμβόλαιο με κώδικα κάποιας μορφής όπως `send(A,contract.storage[A]); contract.storage[A] = 0` και στέλνει μια συναλλαγή με ακριβώς αρκετό gas για να εκτελέσει το πρώτο βήμα αλλά όχι το δεύτερο (δηλαδή κάνει ανάληψη αλλά δεν αφήνει το υπόλοιπο να μειωθεί). Ο δημιουργός του συμβολαίου δε χρειάζεται να ανησυχεί για την προστασία από τέτοιες επιθέσεις, επειδή εάν η εκτέλεση σταματήσει στη μέση, οι αλλαγές αναστρέφονται.
+- Ένα χρηματοοικονομικό συμβόλαιο λειτουργεί λαμβάνοντας το διάμεσο εννέα ιδιόκτητων ροών δεδομένων για να ελαχιστοποιήσει τον κίνδυνο. Ένας επιτιθέμενος αναλαμβάνει τον έλεγχο μιας από τις ροές δεδομένων, η οποία έχει σχεδιαστεί να τροποποιείται μέσω του μηχανισμού κλήσης μεταβλητής διεύθυνσης που περιγράφεται στην ενότητα σχετικά με τους DAO και τη μετατρέπει σε εκτέλεση άπειρου βρόχου, προσπαθώντας έτσι να αναγκάσει οποιαδήποτε προσπάθεια διεκδίκησης κεφαλαίων από το χρηματοοικονομικό συμβόλαιο να μείνει από gas. Ωστόσο, το χρηματοοικονομικό συμβόλαιο μπορεί να ορίσει ένα όριο gas στο μήνυμα για να αποτρέψει αυτό το πρόβλημα.
+
+Η εναλλακτική λύση στην πληρότητα Turing είναι η μη πληρότητα Turing, όπου δεν υπάρχουν τα `JUMP` και `JUMPI` και επιτρέπεται να υπάρχει μόνο ένα αντίγραφο κάθε συμβολαίου στη στοίβα κλήσεων σε κάθε δεδομένη στιγμή. Με αυτό το σύστημα, το σύστημα τελών που περιγράφεται και οι αβεβαιότητες σχετικά με την αποτελεσματικότητα της λύσης μας ενδέχεται να μην είναι απαραίτητα, καθώς το κόστος εκτέλεσης ενός συμβολαίου θα μπορούσε να περιοριστεί πάνω από το μέγεθός του. Επιπλέον, η μη πληρότητα Turing δεν είναι καν τόσο μεγάλος περιορισμός. Από όλα τα παραδείγματα συμβολαίων που έχουμε συλλάβει εσωτερικά, μέχρι στιγμής μόνο ένα απαιτούσε έναν βρόχο και ακόμη και αυτός ο βρόχος θα μπορούσε να αφαιρεθεί κάνοντας 26 επαναλήψεις ενός κομματιού κώδικα μιας γραμμής. Δεδομένων των σοβαρών επιπτώσεων της πληρότητας Turing και του περιορισμένου οφέλους, γιατί απλά να μην έχουμε μια μη πλήρη Turing γλώσσα; Στην πραγματικότητα, ωστόσο, η μη πληρότητα Turing απέχει πολύ από μια καθαρή λύση στο πρόβλημα. Για να δούμε γιατί, εξετάζουμε τα ακόλουθα συμβόλαια:
+
+```sh
+C0: call(C1); call(C1);
+C1: call(C2); call(C2);
+C2: call(C3); call(C3);
+...
+C49: call(C50); call(C50);
+C50: (run one step of a program and record the change in storage)
+```
+
+Τώρα, στείλτε μια συναλλαγή στον Α. Έτσι, σε 51 συναλλαγές, έχουμε ένα συμβόλαιο που περιλαμβάνει 250 υπολογιστικά βήματα. Οι εξορύκτες θα μπορούσαν να προσπαθήσουν να εντοπίσουν τέτοιες λογικές βόμβες εκ των προτέρων, διατηρώντας μια τιμή δίπλα σε κάθε συμβόλαιο που καθορίζει τον μέγιστο αριθμό υπολογιστικών βημάτων που μπορεί να κάνει και υπολογίζοντας αυτό για συμβόλαια που καλούν άλλα συμβόλαια αναδρομικά. Αυτό θα απαιτούσε από τους εξορύκτες να απαγορεύσουν συμβόλαια που δημιουργούν άλλα συμβόλαια (αφού η δημιουργία και εκτέλεση όλων των 26 συμβολαίων παραπάνω θα μπορούσαν εύκολα να ενσωματωθούν σε ένα μόνο συμβόλαιο). Ένα άλλο προβληματικό σημείο είναι ότι το πεδίο διεύθυνσης ενός μηνύματος είναι μεταβλητό, οπότε γενικά μπορεί να μην είναι καν δυνατό να πούμε ποια άλλα συμβόλαια θα καλέσει ένα δεδομένο συμβόλαιο εκ των προτέρων. Συνολικά, έχουμε ένα αναπάντεχο συμπέρασμα: η πληρότητα Turing είναι εκπληκτικά εύκολη στη διαχείριση και η έλλειψη πληρότητας Turing είναι εξίσου αναπάντεχα δύσκολη στη διαχείριση, εκτός εάν οι ακριβώς ίδιοι έλεγχοι είναι στη θέση τους, αλλά σε αυτή την περίπτωση γιατί απλά να μην αφήσουμε το πρωτόκολλο να έχει πληρότητα Turing;
+
+### Νόμισμα και Έκδοση {#currency-and-issuance}
+
+Το δίκτυο Ethereum περιλαμβάνει το δικό του ενσωματωμένο νόμισμα, το ether, το οποίο εξυπηρετεί τον διπλό σκοπό της παροχής ενός πρωτογενούς στρώματος ρευστότητας για να επιτρέπεται η αποτελεσματική ανταλλαγή μεταξύ διαφόρων τύπων ψηφιακών περιουσιακών στοιχείων και πιο σημαντικά της παροχής ενός μηχανισμού για την πληρωμή τελών συναλλαγής. Για λόγους ευκολίας και για την αποφυγή μελλοντικών διαφωνιών (δείτε την τρέχουσα συζήτηση mBTC/uBTC/satoshi στο Bitcoin), οι ονομαστικές αξίες θα επισημανθούν εκ των προτέρων:
+
+- 1: wei
+- 1012: szabo
+- 1015: finney
+- 1018: ether
+
+Αυτό θα πρέπει να θεωρηθεί ως μια επεκταμένη έκδοση της έννοιας των «δολαρίων» και των «λεπτών» ή των «BTC» και των «satoshi». Στο εγγύς μέλλον, αναμένουμε ότι το «ether» θα χρησιμοποιηθεί για συνηθισμένες συναλλαγές, το «finney» για μικρο-συναλλαγές και το «szabo» και το «wei» για τεχνικές συζητήσεις σχετικά με τα τέλη και την υλοποίηση πρωτοκόλλου. Οι υπόλοιπες ονομαστικές αξίες μπορεί να γίνουν χρήσιμες αργότερα και δεν πρέπει να συμπεριληφθούν στους πελάτες σε αυτό το σημείο.
+
+Το μοντέλο έκδοσης θα έχει ως εξής:
+
+- Το ether θα κυκλοφορήσει σε μια πώληση νομίσματος στην τιμή των 1000-2000 ether ανά BTC, ένας μηχανισμός που αποσκοπεί στη χρηματοδότηση του οργανισμού Ethereum και στην πληρωμή για την ανάπτυξη που έχει χρησιμοποιηθεί με επιτυχία από άλλες πλατφόρμες όπως το Mastercoin και το NXT. Οι πρώτοι αγοραστές θα επωφεληθούν από μεγαλύτερες εκπτώσεις. Τα BTC που θα προκύψουν από την πώληση θα χρησιμοποιηθούν εξ ολοκλήρου για την πληρωμή μισθών και ανταμοιβών σε προγραμματιστές και θα επενδυθούν σε διάφορα κερδοφόρα και μη κερδοσκοπικά έργα στο οικοσύστημα Ethereum και κρυπτονομισμάτων.
+- Το 0,099x του συνολικού ποσού που πωλήθηκε (60102216 ETH) θα διατεθεί στον οργανισμό για την αποζημίωση των πρώιμων συνεισφερόντων και την πληρωμή εξόδων σε ETH πριν από το μπλοκ γένεσης.
+- Το 0,099x του συνολικού ποσού που πωλήθηκε θα διατηρηθεί ως μακροπρόθεσμο απόθεμα.
+- Το 0,26x του συνολικού ποσού που πωλήθηκε θα διατεθεί στους κρυπτορύχους ανά έτος για πάντα μετά από αυτό το σημείο.
+
+| Ομάδα | Αρχική | Μετά 1 χρόνο | Μετά 5 χρόνια |
+| ----------------------------------------------- | ------ | ------------ | ------------- |
+| Νομισματικές μονάδες | 1.198X | 1.458X | 2.498X |
+| Αγοραστές | 83.5% | 68.6% | 40.0% |
+| Προπώληση δαπανημένων αποθεματικών | 8.26% | 6.79% | 3.96% |
+| Αποθεματικό που χρησιμοποιείται μετά την πώληση | 8.26% | 6.79% | 3.96% |
+| Κρυπτορύχοι | 0% | 17.8% | 52.0% |
+
+#### Μακροπρόθεσμος ρυθμός ανάπτυξης προμήθειας (ποσοστό)
+
+
+
+_Παρά τη γραμμική έκδοση νομίσματος, όπως ακριβώς και με το Bitcoin, ο ρυθμός αύξησης της προσφοράς τείνει στο μηδέν με την πάροδο του χρόνου._
+
+Οι δύο κύριες επιλογές στο παραπάνω μοντέλο είναι (1) η ύπαρξη και το μέγεθος μιας δεξαμενής δωρεών και (2) η ύπαρξη μιας μόνιμα αυξανόμενης γραμμικής προσφοράς, σε αντίθεση με μια περιορισμένη προσφορά όπως στο Bitcoin. Η δικαιολόγηση της δεξαμενής δωρεών είναι η εξής. Αν η δεξαμενή δωρεών δεν υπήρχε και η γραμμική έκδοση μειωνόταν σε 0,217x για να παρέχει το ίδιο ποσοστό πληθωρισμού, τότε η συνολική ποσότητα του ether θα ήταν 16,5% λιγότερη και έτσι κάθε μονάδα θα ήταν 19,8% πιο πολύτιμη. Κατά συνέπεια, στην ισορροπία θα αγοραζόταν 19,8% περισσότερο ether, οπότε κάθε μονάδα θα ήταν και πάλι εξίσου πολύτιμη όπως πριν. Ο οργανισμός θα είχε επίσης 1,198x περισσότερα BTC, τα οποία μπορούν να θεωρηθούν ως διαιρεμένα σε δύο κομμάτια: τα αρχικά BTC και τα επιπλέον 0,198x. Επομένως, αυτή η κατάσταση είναι _απολύτως ισοδύναμη_ με τη δωρεά, αλλά με μια σημαντική διαφορά: ο οργανισμός κατέχει καθαρά BTC και ως εκ τούτου δεν έχει κίνητρο να υποστηρίξει την αξία της μονάδας ether.
+
+Το μοντέλο μόνιμης γραμμικής αύξησης της προσφοράς μειώνει τον κίνδυνο της υπερβολικής συγκέντρωσης πλούτου που κάποιοι βλέπουν στο Bitcoin και δίνει στα άτομα που ζουν στις παρούσες και μελλοντικές εποχές μια δίκαιη ευκαιρία να αποκτήσουν νομισματικές μονάδες, διατηρώντας παράλληλα ένα ισχυρό κίνητρο για να αποκτήσουν και να κρατήσουν ether επειδή ο «ρυθμός αύξησης της προσφοράς» ως ποσοστό εξακολουθεί να τείνει στο μηδέν με την πάροδο του χρόνου. Υποθέτουμε επίσης ότι επειδή τα νομίσματα χάνονται πάντα με την πάροδο του χρόνου λόγω απροσεξίας, θανάτου κ. λπ. και η απώλεια νομίσματος μπορεί να μοντελοποιηθεί ως ποσοστό της συνολικής προσφοράς ανά έτος, ότι η συνολική προσφορά νομίσματος σε κυκλοφορία θα σταθεροποιηθεί τελικά σε μια τιμή ίση με την ετήσια έκδοση διαιρεμένη με το ποσοστό απώλειας (π.χ. σε ποσοστό απώλειας 1%, όταν η προσφορά φτάσει τα 26X, τότε θα κρυπτορυχθούν 0,26X και θα χαθούν 0,26X κάθε χρόνο, δημιουργώντας μια ισορροπία).
+
+Σημειώστε ότι στο μέλλον είναι πιθανό το Ethereum να μεταβεί σε ένα μοντέλο απόδειξης συμμετοχής (proof-of-stake) για ασφάλεια, μειώνοντας την απαίτηση έκδοσης σε κάτι μεταξύ μηδέν και 0,05X ανά έτος. Σε περίπτωση που ο οργανισμός Ethereum χάσει χρηματοδότηση ή εξαφανιστεί για οποιοδήποτε άλλο λόγο, αφήνουμε ανοιχτό ένα «κοινωνικό συμβόλαιο»: ο καθένας έχει το δικαίωμα να δημιουργήσει μια μελλοντική υποψήφια έκδοση του Ethereum, με τη μόνη προϋπόθεση ότι η ποσότητα του ether πρέπει να είναι το πολύ ίση με `60102216 * (1,198 + 0,26 * n)` όπου `n` είναι ο αριθμός των ετών μετά το μπλοκ γένεσης. Οι δημιουργοί είναι ελεύθεροι να πουλούν συλλογικά ή να αναθέτουν με άλλο τρόπο μέρος ή το σύνολο της διαφοράς μεταξύ της επέκτασης προσφοράς που βασίζεται στην απόδειξη συμμετοχής και της μέγιστης επιτρεπόμενης επέκτασης προσφοράς για την πληρωμή της ανάπτυξης. Οι υποψήφιες αναβαθμίσεις που δεν συμμορφώνονται με το κοινωνικό συμβόλαιο μπορούν δικαιολογημένα να διακλαδωθούν σε συμμορφούμενες εκδόσεις.
+
+### Συγκεντρωτισμός Εξόρυξης {#mining-centralization}
+
+Ο αλγόριθμος εξόρυξης Bitcoin λειτουργεί βάζοντας τους εξορύκτες να υπολογίζουν το SHA256 σε ελαφρώς τροποποιημένες εκδόσεις της κεφαλίδας του μπλοκ εκατομμύρια φορές ξανά και ξανά, μέχρι τελικά ένας κόμβος να βρει μια έκδοση της οποίας ο κατακερματισμός είναι μικρότερος από τον στόχο (συνήθως περίπου 2192). Ωστόσο, αυτός ο αλγόριθμος κρυπτόρυξης είναι ευάλωτος σε δύο μορφές συγκεντρωτισμού. Πρώτον, το οικοσύστημα κρυπτόρυξης έχει αρχίσει να κυριαρχείται από τα ASIC (ειδικά ολοκληρωμένα κυκλώματα εφαρμογής), ειδικά σχεδιασμένα μικροτσίπ για το έργο της κρυπτόρυξης Bitcoin και ως εκ τούτου χιλιάδες φορές πιο αποτελεσματικά σε αυτό. Αυτό σημαίνει ότι η κρυπτόρυξη Bitcoin δεν είναι πλέον μια ιδιαίτερα αποκεντρωμένη και ισότιμη προσπάθεια, αφού απαιτεί κεφάλαιο εκατομμυρίων δολαρίων για αποτελεσματική συμμετοχή. Δεύτερον, οι περισσότεροι εξορύκτες Bitcoin δεν εκτελούν πραγματικά επικύρωση μπλοκ τοπικά, αλλά αντίθετα βασίζονται σε μια κεντρική δεξαμενή κρυπτόρυξης που παρέχει τις κεφαλίδες των μπλοκ. Αυτό το πρόβλημα είναι πιθανώς χειρότερο: κατά τη στιγμή της συγγραφής αυτού του κειμένου, οι τρεις κορυφαίες δεξαμενές κρυπτόρυξης ελέγχουν έμμεσα περίπου το 50% της ισχύος επεξεργασίας στο δίκτυο Bitcoin, αν και αυτό μετριάζεται από το γεγονός ότι οι εξορύκτες μπορούν να στραφούν σε άλλες δεξαμενές κρυπτόρυξης εάν μια δεξαμενή ή μια συμμαχία επιχειρήσει μια επίθεση 51%.
+
+Η τρέχουσα πρόθεση του Ethereum είναι να χρησιμοποιήσει έναν αλγόριθμο κρυπτόρυξης όπου οι εξορύκτες απαιτείται να αντλούν τυχαία δεδομένα από την κατάσταση, να υπολογίζουν τυχαία επιλεγμένες συναλλαγές από τα τελευταία N μπλοκ στην κρυπτοαλυσίδα και να επιστρέφουν τον κατακερματισμό του αποτελέσματος. Αυτό έχει δύο σημαντικά οφέλη. Πρώτον, τα συμβόλαια Ethereum μπορούν να περιλαμβάνουν οποιοδήποτε είδος υπολογισμού, οπότε ένα ASIC του Ethereum θα ήταν ουσιαστικά ένα ASIC για γενικό υπολογισμό, δηλαδή μια καλύτερη CPU. Δεύτερον, η κρυπτόρυξη απαιτεί πρόσβαση σε ολόκληρη την κρυπτοαλυσίδα, αναγκάζοντας τους εξορύκτες να αποθηκεύουν ολόκληρη την κρυπτοαλυσίδα και να είναι τουλάχιστον σε θέση να επαληθεύουν κάθε συναλλαγή. Αυτό καταργεί την ανάγκη για κεντρικές δεξαμενές κρυπτόρυξη. Αν και οι δεξαμενές κρυπτόρυξης μπορούν ακόμα να εξυπηρετήσουν τον θεμιτό ρόλο εξομάλυνσης της τυχαιότητας όσον αφορά την κατανομή των ανταμοιβών, αυτή η λειτουργία μπορεί να εξυπηρετηθεί εξίσου καλά από δεξαμενές μεταξύ ομοτίμων χωρίς κεντρικό έλεγχο.
+
+Αυτό το μοντέλο δεν έχει ελεγχθεί και μπορεί να προκύψουν δυσκολίες στην πορεία για την αποφυγή ορισμένων έξυπνων βελτιστοποιήσεων κατά τη χρήση της εκτέλεσης συμβολαίων ως αλγόριθμο κρυπτόρυξης. Ωστόσο, ένα αξιοσημείωτα ενδιαφέρον χαρακτηριστικό αυτού του αλγορίθμου είναι ότι επιτρέπει σε οποιονδήποτε να «δηλητηριάσει το πηγάδι», εισάγοντας ένα μεγάλο αριθμό συμβολαίων στην κρυπτοαλυσίδα που έχουν σχεδιαστεί ειδικά για να παρεμποδίσουν ορισμένα ASIC. Οι κατασκευαστές ASIC έχουν οικονομικά κίνητρα για να χρησιμοποιήσουν ένα τέτοιο κόλπο με σκοπό να επιτεθούν ο ένας στον άλλο. Έτσι, η λύση που αναπτύσσουμε είναι τελικά μια προσαρμοστική οικονομική ανθρώπινη λύση παρά μια καθαρά τεχνική.
+
+### Κλιμάκωση {#scalability}
+
+Μια κοινή ανησυχία σχετικά με το Ethereum είναι το ζήτημα της δυνατότητας κλιμάκωσης. Όπως το Bitcoin, το Ethereum πάσχει από το μειονέκτημα ότι κάθε κόμβος στο δίκτυο πρέπει να επεξεργάζεται την κάθε συναλλαγή. Με το Bitcoin, το μέγεθος της τρέχουσας κρυπτοαλυσίδας είναι περίπου 15 GB, και αυξάνεται κατά περίπου 1 MB την ώρα. Εάν το δίκτυο Bitcoin επρόκειτο να επεξεργαστεί τις 2000 συναλλαγές της Visa ανά δευτερόλεπτο, θα αυξανόταν κατά 1 MB ανά τρία δευτερόλεπτα (1 GB ανά ώρα, 8 TB ανά έτος). Το Ethereum πιθανότατα θα εκτεθεί ένα παρόμοιο πρότυπο ανάπτυξης, που επιδεινώνεται από το γεγονός ότι θα υπάρχουν πολλές εφαρμογές πάνω από την κρυπτοαλυσίδα Ethereum, αντί για μόνο ένα νόμισμα, όπως συμβαίνει με το Bitcoin, αλλά βελτιώνεται από το γεγονός ότι οι πλήρεις κόμβοι Ethereum χρειάζεται να αποθηκεύουν μόνο την κατάσταση αντί για ολόκληρο το ιστορικό της κρυπτοαλυσίδας.
+
+Το πρόβλημα με ένα τόσο μεγάλο μέγεθος κρυπτοαλυσίδας είναι ο κίνδυνος κεντρικού ελέγχου. Εάν το μέγεθος της κρυπτοαλυσίδας αυξηθεί σε, ας πούμε, 100 TB, τότε το πιθανό σενάριο θα ήταν ότι μόνο ένας πολύ μικρός αριθμός μεγάλων επιχειρήσεων θα εκτελούσε πλήρεις κόμβους, με όλους τους κανονικούς χρήστες να χρησιμοποιούν ελαφρούς κόμβους SPV. Σε μια τέτοια κατάσταση, προκύπτει η πιθανή ανησυχία ότι οι πλήρεις κόμβοι θα μπορούσαν να ενώσουν τις δυνάμεις τους και να συμφωνήσουν όλοι να εξαπατήσουν με κάποιο κερδοφόρο τρόπο (π.χ. να αλλάξουν την ανταμοιβή μπλοκ, να δώσουν στον εαυτό τους BTC). Οι ελαφροί κόμβοι δεν θα είχαν τρόπο να ανιχνεύσουν κάτι τέτοιο αμέσως. Φυσικά, πιθανότατα θα υπήρχε τουλάχιστον ένας ειλικρινής πλήρης κόμβος και μετά από λίγες ώρες οι πληροφορίες σχετικά με την απάτη θα διέρρεαν μέσω καναλιών, όπως το Reddit, αλλά τότε θα ήταν πολύ αργά: θα έπρεπε οι κανονικοί χρήστες να οργανώσουν μια προσπάθεια να μπλοκάρουν τα συγκεκριμένα μπλοκ, ένα τεράστιο και πιθανώς ανέφικτο πρόβλημα συντονισμού σε παρόμοια κλίμακα με αυτήν μιας επιτυχημένης επίθεσης 51%. Στην περίπτωση του Bitcoin, αυτό αποτελεί σήμερα πρόβλημα, αλλά υπάρχει μια τροποποίηση της κρυπτοαλυσίδας που [προτάθηκε από τον Peter Todd](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/), η οποία θα μετριάσει αυτό το ζήτημα.
+
+Στο άμεσο μέλλον, το Ethereum θα χρησιμοποιήσει δύο πρόσθετες στρατηγικές για να αντιμετωπίσει αυτό το πρόβλημα. Πρώτον, λόγω των αλγορίθμων κρυπτόρυξης που βασίζονται στην κρυπτοαλυσίδα, τουλάχιστον κάθε κρυπτορύχος θα αναγκάζεται να είναι πλήρης κόμβος, δημιουργώντας ένα κατώτατο όριο στον αριθμό των πλήρων κόμβων. Δεύτερον και πιο σημαντικό, ωστόσο, θα συμπεριλάβουμε μια ενδιάμεση ρίζα δέντρου κατάστασης στην κρυπτοαλυσίδα μετά την επεξεργασία κάθε συναλλαγής. Ακόμη και αν η επικύρωση μπλοκ είναι κεντρική, εφόσον υπάρχει τουλάχιστον ένας ειλικρινής κόμβος επαλήθευσης, το πρόβλημα κεντρικού ελέγχου μπορεί να παρακαμφθεί μέσω ενός πρωτοκόλλου επαλήθευσης. Εάν ένας εξορύκτης δημοσιεύσει ένα μη έγκυρο μπλοκ, αυτό το μπλοκ πρέπει είτε να έχει κακή μορφοποίηση είτε η κατάσταση `S[n]` να είναι λάθος. Δεδομένου ότι είναι γνωστό ότι το `S[0]` είναι σωστό, πρέπει να υπάρχει κάποια πρώτη κατάσταση `S[i]` που δηλώνει ότι είναι λάθος όπου το `S[i-1]` είναι σωστό. Ο κόμβος επαλήθευσης θα παρέχει τον δείκτη `i`, μαζί με μια «απόδειξη μη εγκυρότητας» που αποτελείται από το υποσύνολο των κόμβων δέντρου Patricia, που χρειάζεται για την επεξεργασία `APPLY(S[i-1],TX[i]) -> S[i]`. Οι κόμβοι θα μπορούν να χρησιμοποιήσουν αυτούς τους κόμβους για να εκτελέσουν αυτό το μέρος του υπολογισμού και να δουν ότι το `S[i]` που δημιουργήθηκε δεν ταιριάζει με το `S[i]` που παρέχεται.
+
+Μια άλλη, πιο εξελιγμένη επίθεση θα περιελάμβανε τη δημοσίευση ατελών μπλοκ από κακόβουλους εξορύκτες, έτσι ώστε οι πλήρες πληροφορίες να μην υπάρχουν καν για να προσδιοριστεί εάν τα μπλοκ είναι έγκυρα ή όχι. Η λύση σε αυτό είναι ένα πρωτόκολλο πρόκλησης - απόκρισης: οι κόμβοι επαλήθευσης εκδίδουν «προκλήσεις» με τη μορφή δεικτών στόχων συναλλαγών και κατά την παραλαβή ενός κόμβου, ένας ελαφρύς κόμβος αντιμετωπίζει το μπλοκ ως μη αξιόπιστο έως ότου ένας άλλος κόμβος, είτε ο εξορύκτης είτε ένας άλλος επαληθευτής, παρέχει ένα υποσύνολο κόμβων Patricia ως απόδειξη εγκυρότητας.
+
+## Συμπεράσματα {#conclusion}
+
+Το πρωτόκολλο Ethereum σχεδιάστηκε αρχικά ως μια αναβαθμισμένη έκδοση ενός κρυπτονομίσματος, παρέχοντας προηγμένες λειτουργίες όπως η εγγύηση εντός αλυσίδας, τα όρια ανάληψης, τα χρηματοοικονομικά συμβόλαια, οι αγορές τυχερών παιχνιδιών και τα παρόμοια μέσω μιας εξαιρετικά γενικευμένης γλώσσας προγραμματισμού. Το πρωτόκολλο Ethereum δεν θα «υποστήριζε» καμία από τις εφαρμογές απευθείας, αλλά η ύπαρξη μιας γλώσσας προγραμματισμού με πληρότητα Turing σημαίνει ότι θεωρητικά μπορούν να δημιουργηθούν αυθαίρετα συμβόλαια για οποιονδήποτε τύπο συναλλαγής ή εφαρμογή. Αυτό που είναι πιο ενδιαφέρον για το Ethereum, ωστόσο, είναι ότι το πρωτόκολλο Ethereum ξεπερνά κατά πολύ το νόμισμα. Πρωτόκολλα γύρω από την αποκεντρωμένη αποθήκευση αρχείων, τον αποκεντρωμένο υπολογισμό και τις αποκεντρωμένες αγορές προβλέψεων, μεταξύ δεκάδων άλλων τέτοιων εννοιών, έχουν τη δυνατότητα να αυξήσουν σημαντικά την αποτελεσματικότητα της βιομηχανίας υπολογισμών και να παρέχουν μια τεράστια ώθηση σε άλλα πρωτόκολλα μεταξύ ομοτίμων προσθέτοντας για πρώτη φορά ένα οικονομικό επίπεδο. Τέλος, υπάρχει επίσης ένας σημαντικός αριθμός εφαρμογών που δεν έχουν καμία σχέση με χρήματα.
+
+Η έννοια μιας αυθαίρετης συνάρτησης μετάβασης κατάστασης όπως εφαρμόζεται από το πρωτόκολλο Ethereum παρέχει μια πλατφόρμα με μοναδικό δυναμικό. Αντί να είναι ένα κλειστό, μονό πρωτόκολλο που προορίζεται για ένα συγκεκριμένο φάσμα εφαρμογών στην αποθήκευση δεδομένων, τα τυχερά παιχνίδια ή τα χρηματοοικονομικά, το Ethereum είναι ανοιχτό σε σχεδιασμό και πιστεύουμε ότι είναι εξαιρετικά κατάλληλο για να χρησιμεύσει ως θεμελιώδες επίπεδο για ένα πολύ μεγάλο αριθμό τόσο χρηματοοικονομικών όσο και μη χρηματοοικονομικών πρωτοκόλλων τα επόμενα χρόνια.
+
+## Σημειώσεις και περαιτέρω υλικό για διάβασμα {#notes-and-further-reading}
+
+### Σημειώσεις {#notes}
+
+1. Ένας ψαγμένος αναγνώστης μπορεί να παρατηρήσει ότι στην πραγματικότητα μια διεύθυνση Bitcoin είναι ο κατακερματισμός του δημόσιου κλειδιού της ελλειπτικής καμπύλης και όχι το ίδιο το δημόσιο κλειδί. Ωστόσο, στην πραγματικότητα είναι απόλυτα θεμιτό η κρυπτογραφική ορολογία να αναφέρεται στον κατακερματισμό του δημόσιου κλειδιού ως το ίδιο το δημόσιο κλειδί. Αυτό συμβαίνει επειδή η κρυπτογράφηση του Bitcoin μπορεί να θεωρηθεί ως ένας προσαρμοσμένος αλγόριθμος ψηφιακής υπογραφής, όπου το δημόσιο κλειδί αποτελείται από τον κατακερματισμό του δημόσιου κλειδιού ECC, η υπογραφή αποτελείται από το δημόσιο κλειδί ECC που είναι συνδεδεμένο σειριακά με την υπογραφή ECC και ο αλγόριθμος επαλήθευσης περιλαμβάνει τον έλεγχο του δημόσιου κλειδιού ECC στην υπογραφή έναντι του κατακερματισμού του δημόσιου κλειδιού ECC που παρέχεται ως δημόσιο κλειδί και στη συνέχεια την επαλήθευση της υπογραφής ECC έναντι του δημόσιου κλειδιού ECC.
+2. Τεχνικά, η διάμεσος των 11 προηγούμενων μπλοκ.
+3. Εσωτερικά, το 2 και το «CHARLIE» είναι και τα δύο αριθμοί [fn3] (#notes), με το δεύτερο να είναι σε αναπαράσταση βάσης μεγάλου άκρου 256. Οι αριθμοί μπορούν να είναι το λιγότερο 0 και το πολύ 2256-1.
+
+### Περισσότερες πληροφορίες {#further-reading}
+
+1. [Εγγενής αξία](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)
+2. [Έξυπνη ιδιοκτησία](https://en.bitcoin.it/wiki/Smart_Property)
+3. [Smart contracts](https://en.bitcoin.it/wiki/Contracts)
+4. [B-money](http://www.weidai.com/bmoney.txt)
+5. [Επαναχρησιμοποιούμενες αποδείξεις εργασίας](https://nakamotoinstitute.org/finney/rpow/)
+6. [Ασφαλείς τίτλοι ιδιοκτησίας με εξουσία κατόχου](https://nakamotoinstitute.org/secure-property-titles/)
+7. [Λευκή βίβλος του Bitcoin](http://bitcoin.org/bitcoin.pdf)
+8. [Namecoin](https://namecoin.org/)
+9. [Το τρίγωνο του Zooko](https://wikipedia.org/wiki/Zooko's_triangle)
+10. [Λευκή βίβλος χρωματιστών νομισμάτων](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)
+11. [Λευκή βίβλος του Mastercoin](https://github.com/mastercoin-MSC/spec)
+12. [Αποκεντρωμένες αυτόνομες εταιρείες, περιοδικό Bitcoin](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)
+13. [Απλοποιημένη επαλήθευση πληρωμής](https://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification)
+14. [Merkle trees](https://wikipedia.org/wiki/Merkle_tree)
+15. [Patricia trees](https://wikipedia.org/wiki/Patricia_tree)
+16. [GHOST](https://eprint.iacr.org/2013/881.pdf)
+17. [StorJ και Αυτόνομοι Πράκτορες, Jeff Garzik](http://garzikrants.blogspot.ca/2013/01/storj-and-bitcoin-autonomous-agents.html)
+18. [Ο Mike Hearn για την Έξυπνη Ιδιοκτησία στο Φεστιβάλ Turing](https://www.youtube.com/watch?v=MVyv4t0OKe4)
+19. [Ethereum RLP](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP)
+20. [Δέντρα Merkle Patricia του Ethereum](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-Patricia-Tree)
+21. [Peter Todd για τα δυαδικά δέντρα Merkle συνολικά](https://web.archive.org/web/20140623061815/http://sourceforge.net/p/bitcoin/mailman/message/31709140/)
+
+_Για την ιστορία του Λευκού βιβλίου, δείτε αυτό [το wiki](https://github.com/ethereum/wiki/blob/old-before-deleting-all-files-go-to-wiki-wiki-instead/old-whitepaper-for-historical-reference.md)._
+
+_Το Ethereum, όπως πολλά έργα λογισμικού ανοιχτού κώδικα που καθοδηγούνται από την κοινότητα, έχει εξελιχθεί από την αρχική του σύλληψη. Για να μάθετε για τις τελευταίες εξελίξεις γύρω απο το Ethereum και πώς γίνονται οι αλλαγές στο πρωτόκολλο, προτείνουμε [αυτόν τον οδηγό](/learn/)._
diff --git a/public/content/translations/el/withdrawals/index.md b/public/content/translations/el/withdrawals/index.md
new file mode 100644
index 00000000000..d7b048c66ca
--- /dev/null
+++ b/public/content/translations/el/withdrawals/index.md
@@ -0,0 +1,218 @@
+---
+title: Αναλήψεις από αποθηκευμένο κεφάλαιο
+description: Η σελίδα συνοψίζει τι είναι οι αναλήψεις αποθηκευμένου κεφαλαίου, πώς λειτουργούν και τι πρέπει να κάνουν οι χρήστες για να λάβουν τις ανταμοιβές τους
+lang: el
+template: staking
+image: /images/staking/leslie-withdrawal.png
+alt: Η Leslie ο ρινόκερος με τις ανταμοιβές από το αποθηκευμένο κεφάλαιό της
+sidebarDepth: 2
+summaryPoints:
+ - Η αναβάθμιση Shanghai/Capella επέτρεψε τις αναλήψεις από αποθηκευμένο κεφάλαιο στο Ethereum.
+ - Οι διαχειριστές εφαρμογής επικυρωτή πρέπει να παρέχουν διεύθυνση ανάληψης για ενεργοποίηση.
+ - Οι ανταμοιβές κατανέμονται αυτόματα κάθε λίγες ημέρες.
+ - Οι επικυρωτές που αποχωρούν πλήρως από την αποθήκευση κεφαλαίου θα λάβουν το υπόλοιπο τους.
+---
+
+
+Οι αναλήψεις αποθηκευμένου κεφαλαίου ενεργοποιήθηκαν με την αναβάθμιση Shanghai/Capella στις 12 Απριλίου 2023. Περισσότερα για την αναβάθμιση Shanghai/Capella
+
+
+Οι **Αναλήψεις αποθηκευμένου κεφαλαίου** αφορούν μεταφορές ETH από έναν λογαριασμό επικύρωσης στο επίπεδο συναίνεσης του Ethereum (το Beacon Chain), στο επίπεδο εκτέλεσης όπου μπορούν να πραγματοποιηθούν συναλλαγές.
+
+**Οι πληρωμές ανταμοιβής που υπερβαίνουν το υπόλοιπο** των 32 ETH θα αποστέλλονται αυτόματα και τακτικά σε μια διεύθυνση ανάληψης που συνδέεται με κάθε επικυρωτή, μόλις καταχωρηθεί από το χρήστη. Οι χρήστες μπορούν επίσης να **εξέλθουν εντελώς από την αποθήκευση κεφαλαίου**, ξεκλειδώνοντας το πλήρες υπόλοιπο του επικυρωτή τους.
+
+## Ανταμοιβές από αποθηκευμένο κεφάλαιο {#staking-rewards}
+
+Οι πληρωμές ανταμοιβής επεξεργάζονται αυτόματα για τους ενεργούς λογαριασμούς επικυρωτή, με μέγιστο πραγματικό υπόλοιπο 32 ETH.
+
+Οποιοδήποτε υπόλοιπο πάνω από 32 ETH που κερδίζεται μέσω ανταμοιβών, δε συνεισφέρει στην πραγματικότητα στο κεφάλαιο ή δεν αυξάνει τη θέση του επικυρωτή στο δίκτυο και επομένως γίνεται αυτόματα ανάληψη ως πληρωμή κέρδους κάθε λίγες ημέρες. Εκτός από την παροχή μιας διεύθυνσης ανάληψης την πρώτη φορά, αυτές οι ανταμοιβές δεν απαιτούν καμία ενέργεια από τον χειριστή του επικυρωτή. Όλα αυτά ξεκινούν στο επίπεδο συναίνεσης, επομένως δεν απαιτείται gas (τέλη συναλλαγής) σε κανένα βήμα.
+
+### Πώς φτάσαμε ως εδώ; {#how-did-we-get-here}
+
+Τα τελευταία χρόνια το Ethereum έχει υποβληθεί σε αρκετές αναβαθμίσεις δικτύου μεταβαίνοντας σε ένα δίκτυο που προστατεύεται από το ίδιο το ETH, αντί για την απαιτητική σε ενέργεια κρυπτόρυξη όπως ήταν κάποτε. Η συμμετοχή στη συναίνεση για το Ethereum είναι πλέον γνωστή ως «αποθήκευση κεφαλαίου» καθώς οι συμμετέχοντες έχουν οικειοθελώς κλειδώσει τα ETH τους, θέτοντας τα «αποθήκευση» για τη δυνατότητα συμμετοχής τους στο δίκτυο. Οι χρήστες που ακολουθούν τους κανόνες θα ανταμειφθούν, ενώ οι απόπειρες εξαπάτησης μπορεί να τιμωρηθούν.
+
+Από την έναρξη του έξυπνου συμβολαίου αποθήκευσης κεφαλαίου το Νοέμβριο του 2020, ορισμένοι γενναίοι πρωτοπόροι του Ethereum έχουν οικειοθελώς «κλειδώσει» τα κεφάλαια τους για να ενεργοποιήσουν τους «επικυρωτές», τους ειδικούς λογαριασμούς που έχουν το δικαίωμα να πιστοποιούν επίσημα και να προτείνουν νέα μπλοκ, ακολουθώντας τους κανόνες του δικτύου.
+
+Πριν από την αναβάθμιση Shanghai/Capella, δεν μπορούσατε να χρησιμοποιήσετε ή να αποκτήσετε πρόσβαση σε αποθηκευμένα ETH. Αλλά τώρα, μπορείτε να επιλέξετε να λαμβάνετε αυτόματα τις ανταμοιβές σας σε έναν επιλεγμένο λογαριασμό και μπορείτε επίσης να αποσύρετε το αποθηκευμένο κεφάλαιο ETH όποτε θέλετε.
+
+### Πώς μπορώ να προετοιμαστώ; {#how-do-i-prepare}
+
+
+
+### Σημαντικές ανακοινώσεις {#important-notices}
+
+Η παροχή μιας διεύθυνσης ανάληψης είναι ένα απαραίτητο βήμα οποιουδήποτε λογαριασμού επικύρωσης, για να πληροί τις προϋποθέσεις ανάληψης ETH από το υπόλοιπο.
+
+
+ Σε κάθε λογαριασμό λογισμικού επικύρωσης μπορεί να καταχωρηθεί μόνο μία διεύθυνση ανάληψης, για μία φορά. Μόλις επιλεγεί μια διεύθυνση και υποβληθεί στο επίπεδο συναίνεσης, αυτό δεν μπορεί να αναιρεθεί ή να αλλάξει. Ελέγξτε ξανά την κατοχή και την ακρίβεια της διεύθυνσης που παρέχετε πριν την υποβολή.
+
+
+Δεν υπάρχει καμία απειλή για τα χρήματά σας λόγω μη παροχής αυτής, με την προϋπόθεση ότι η φράση ασφαλείας σας έχει παραμείνει ασφαλής εκτός σύνδεσης και δεν έχει παραβιαστεί με κανέναν τρόπο. Η αποτυχία προσθήκης των διαπιστευτηρίων για ανάληψη, απλώς θα αφήσει το ETH κλειδωμένο στον λογαριασμό επικύρωσης όπως ήταν μέχρι να δοθεί μια διεύθυνση ανάληψης.
+
+## Πλήρης αποχώρηση από αποθήκευση κεφαλαίου {#exiting-staking-entirely}
+
+Απαιτείται η παροχή μιας διεύθυνσης ανάληψης πριν από τη μεταφορά _οποιωνδήποτε_ χρημάτων από το υπόλοιπο ενός λογαριασμού επικυρωτή.
+
+Οι χρήστες που θέλουν να εξέλθουν πλήρως από την αποθήκευση κεφαλαίου και να αποσύρουν πλήρως το υπόλοιπό τους, πρέπει να υπογράψουν και να μεταδώσουν ένα μήνυμα «εθελούσιας εξόδου» με τα κλειδιά επικύρωσης, όπου θα ξεκινήσει τη διαδικασία εξόδου από την αποθήκευση κεφαλαίου. Αυτό γίνεται με την εφαρμογή πελάτη επικυρωτή και υποβάλλεται στον κόμβο συναίνεσης και δεν απαιτεί κόστος κρατήσεων.
+
+Η διαδικασία εξόδου ενός επικυρωτή από την αποθήκευση κεφαλαίου απαιτεί χρονικό διάστημα ανάλογα με το πόσοι άλλοι εξέρχονται την ίδια στιγμή. Μόλις ολοκληρωθεί, αυτός ο λογαριασμός δε θα είναι πλέον υπεύθυνος για την εκτέλεση καθηκόντων επικύρωσης δικτύου, δε θα είναι πλέον κατάλληλος για ανταμοιβές και δε θα διακυβεύονται πλέον τα ETH του. Εκείνη τη στιγμή ο λογαριασμός θα επισημανθεί ως πλήρως «διαθέσιμος για ανάληψη».
+
+Από τη στιγμή που ένας λογαριασμός επισημανθεί ως «διαθέσιμος για ανάληψη» και παρασχεθούν τα διαπιστευτήρια ανάληψης, δε χρειάζεται να κάνει τίποτα άλλο ο χρήστης εκτός από την αναμονή. Οι λογαριασμοί σαρώνονται αυτόματα και συνεχώς από τους αυτούς που προτείνουν μπλοκ για διαθέσιμα κεφάλαια που έχουν αποχωρήσει και το υπόλοιπο του λογαριασμού σας θα μεταφερθεί πλήρως (γνωστό και ως «πλήρης ανάληψη») κατά την επόμενη εκκαθάριση.
+
+## Πότε ενεργοποιήθηκαν οι αναλήψεις αποθηκευμένου κεφαλαίου; {#when}
+
+Οι αναλήψεις από αποθηκευμένο κεφάλαιο είναι πλέον δυνατές! Η δυνατότητα ανάληψης ενεργοποιήθηκε ως μέρος της αναβάθμισης Shanghai/Capella που πραγματοποιήθηκε στις 12 Απριλίου 2023.
+
+Η αναβάθμιση Shanghai/Capella επέτρεψε την ανάληψη των ETH που είχαν προηγουμένως «κλειδωθεί» σε κανονικούς λογαριασμούς Ethereum. Αυτό έκλεισε την ανάγκη ρευστότητας στο αποθηκευμένο κεφαλαίο και έφερε το Ethereum ένα βήμα πιο κοντά στο ταξίδι του προς την οικοδόμηση ενός βιώσιμου, επεκτάσιμου και ασφαλούς αποκεντρωμένου οικοσυστήματος.
+
+- [Περισσότερα για την ιστορία του Ethereum](/history/)
+- [Περισσότερα για τον οδικό χάρτη Ethereum](/roadmap/)
+
+## Πώς λειτουργούν οι πληρωμές από ανάληψη; {#how-do-withdrawals-work}
+
+Η δυνατότητα ανάληψης ενός επικυρωτή, καθορίζεται από την κατάσταση του ίδιου του λογαριασμού του επικυρωτή. Δεν απαιτείται η παροχή στοιχείων από το χρήστη για να καθοριστεί εάν ένας λογαριασμός μπορεί να λάβει τη δυνατότητα αναλήψεων ή όχι. Η διαδικασία πραγματοποιείται αυτόματα από το επίπεδο συναίνεσης.
+
+### Περισσότερα από έναν εικονικό μαθητή; {#visual-learner}
+
+Δείτε στο παρακάτω βίντεο για τις αναλήψεις από αποθηκευμένο κεφάλαιο στο Ethereum από τη Finematics:
+
+
+
+### «Εκκαθάριση» επικυρωτή {#validator-sweeping}
+
+Όταν ένας επικυρωτής έχει προγραμματιστεί να προτείνει το επόμενο μπλοκ, απαιτείται να δημιουργήσει μια σειρά ανάληψης έως και 16 διαθέσιμων αναλήψεων. Αυτό γίνεται ξεκινώντας αρχικά με το δείκτη επικύρωσης 0, προσδιορίζοντας εάν υπάρχει κατάλληλη ανάληψη για αυτόν τον λογαριασμό σύμφωνα με τους κανόνες του πρωτοκόλλου και προσθέτοντάς τη στη σειρά εφαρμογής, εάν υπάρχει. Το πρόγραμμα επικύρωσης που έχει οριστεί να προτείνει το ακόλουθο μπλοκ θα συνεχίσει από εκεί που σταμάτησε το τελευταίο, προχωρώντας με τη σειρά επ' αόριστον.
+
+
+Σκεφτείτε ένα αναλογικό ρολόι. Ο δείκτης στο ρολόι δείχνει την ώρα, προχωρά προς μία κατεύθυνση, δεν παραλείπει καμία ώρα και τελικά επιστρέφει στην αρχή μετά τον τελευταίο αριθμό.
+Τώρα αντί για το 1 έως το 12, φανταστείτε ότι το ρολόι έχει 0 έως N (συνολικούς αριθμούς λογαριασμών επικύρωσης που έχουν καταχωρηθεί στο επίπεδο συναίνεσης, πάνω από 500.000 από τον Ιανουάριο του 2023).
+Ο δείκτης στο ρολόι δείχνει τον επόμενο επικυρωτή που πρέπει να ελεγχθεί για διαθέσιμες αναλήψεις. Ξεκινά από το 0 και προχωρά σε όλη τη διαδρομή χωρίς να παραλείπει κανέναν λογαριασμό. Όταν επιτευχθεί η τελευταία επικύρωση, ο κύκλος συνεχίζει πάλι από την αρχή.
+
+
+#### Έλεγχος λογαριασμού για αναλήψεις {#checking-an-account-for-withdrawals}
+
+Κατά την υποβολή πρότασης νέου μπλοκ, διερευνάται μεταξύ επικυρωτών η δυνατότητα ανάληψης κάθε επικυρωτή και ελέγχεται με βάση μια σύντομη σειρά ερωτήσεων για να καθοριστεί εάν πρέπει να ενεργοποιηθεί η ανάληψη από αυτόν και εάν ναι το ύψος των ETH που μπορεί να γίνει ανάληψη.
+
+1. **Έχει δοθεί διεύθυνση ανάληψης;** Εάν δεν έχει δοθεί διεύθυνση ανάληψης, ο λογαριασμός παραλείπεται και δεν ξεκινά η ανάληψη.
+2. **Έχει γίνει έξοδος του επικυρωτή και μπορεί να γίνει ανάληψη; ** Εάν ο επικυρωτής έχει εξέλθει πλήρως και έχουμε φτάσει στην «εποχή» όπου μπορεί να γίνει ανάληψη από τον λογαριασμό του, τότε θα γίνει πλήρης ανάληψη. Θα μεταφερθεί ολόκληρο το υπόλοιπο στη διεύθυνση ανάληψης.
+3. **Το πραγματικό υπόλοιπο ανέρχεται έως τα 32;** Εάν ο λογαριασμός έχει διαπιστευτήρια ανάληψης, δεν έχει εξέλθει πλήρως και έχει ανταμοιβές άνω των 32 σε αναμονή, θα υποβληθεί σε επεξεργασία μερικής ανάληψης με μεταφορά μόνο των ανταμοιβών άνω των 32 στη διεύθυνση ανάληψης του χρήστη.
+
+Υπάρχουν μόνο δύο ενέργειες που πραγματοποιούνται από τους χειριστές κατά τη διάρκεια του κύκλου ζωής ενός επικυρωτή και επηρεάζουν άμεσα αυτήν τη ροή:
+
+- Παροχή διαπιστευτηρίων ανάληψης για ενεργοποίηση οποιασδήποτε μορφής ανάληψης.
+- Έξοδος από το δίκτυο, η οποία θα προκαλέσει πλήρη ανάληψη.
+
+### Χωρίς κρατήσεις {#gas-free}
+
+Αυτή η προσέγγιση για τις αναλήψεις από αποθηκευμένο κεφάλαιο, εξαιρεί την απαίτηση από τους συμμετέχοντες να υποβάλλουν με μη αυτόματο τρόπο μια συναλλαγή που αιτείται ανάληψη συγκεκριμένου ποσού ETH. Αυτό σημαίνει ότι **δεν απαιτείται gas (χρέωση συναλλαγής)** και οι αναλήψεις δεν ολοκληρώνονται για τον υπάρχοντα χώρο μπλοκ στο επίπεδο εκτέλεσης.
+
+### Πόσο συχνά θα λαμβάνω ανταμοιβές από το αποθηκευμένο κεφάλαιό μου; {#how-soon}
+
+Μπορούν να διεκπεραιωθούν έως και 16 αναλήψεις σε ένα μόνο μπλοκ. Με αυτόν τον ρυθμό, μπορούν να υποβληθούν σε επεξεργασία 115.200 αναλήψεις επικυρωτή ανά ημέρα (υποθέτοντας ότι δεν υπάρχουν χαμένες θέσεις μπλοκ). Όπως σημειώθηκε παραπάνω, οι επικυρωτές χωρίς δυνατότητα ανάληψης θα παραβλεφθούν, μειώνοντας τον χρόνο ολοκλήρωσης της έρευνας.
+
+Επεκτείνοντας αυτόν τον υπολογισμό, μπορούμε να υπολογίσουμε το χρόνο που θα χρειαστεί για την επεξεργασία ενός δεδομένου αριθμού αναλήψεων:
+
+
+
+| Αριθμός αναλήψεων | Χρόνος ολοκλήρωσης |
+| :-------------------: | :--------------: |
+| 400,000 | 3.5 ημέρες |
+| 500,000 | 4.3 ημέρες |
+| 600,000 | 5.2 ημέρες |
+| 700,000 | 6.1 ημέρες |
+| 800,000 | 7.0 ημέρες |
+
+
+
+Όπως βλέπετε, αυτό επιβραδύνεται καθώς υπάρχουν περισσότεροι επικυρωτές στο δίκτυο. Μια αύξηση των χαμένων θέσεων μπλοκ, θα μπορούσε να επιβραδύνει αναλογικά, αλλά θα αντιπροσωπεύει γενικά την πιο αργή πλευρά των πιθανών αποτελεσμάτων.
+
+## Συχνές ερωτήσεις {#faq}
+
+
+Όχι, η διαδικασία υποβολής διαπιστευτηρίων ανάληψης είναι μια διαδικασία εφάπαξ και δεν μπορεί να αλλάξει αφού υποβληθεί.
+
+
+
+Ορίζοντας μια διεύθυνση ανάληψης στο επίπεδο εκτέλεσης, τα διαπιστευτήρια ανάληψης για αυτόν τον επικυρωτή αλλάζουν οριστικά. Αυτό σημαίνει ότι τα παλιά διαπιστευτήρια δε θα λειτουργούν πλέον και τα νέα διαπιστευτήρια αφορούν σε έναν λογαριασμό επιπέδου εκτέλεσης.
+
+Οι διευθύνσεις ανάληψης μπορεί να είναι είτε ένα έξυπνο συμβόλαιο (που ελέγχεται από τον κωδικό του) είτε ένας λογαριασμός που ανήκει σε εξωτερικό λογαριασμό (EOA, που ελέγχεται από το ιδιωτικό του κλειδί). Επί του παρόντος, αυτοί οι λογαριασμοί δεν έχουν τρόπο να επικοινωνήσουν με μήνυμα πίσω στο επίπεδο συναίνεσης, όπου θα ενημέρωνε για την αλλαγή των διαπιστευτηρίων επικύρωσης και η προσθήκη αυτής της λειτουργικότητας θα πρόσθετε περιττή πολυπλοκότητα στο πρωτόκολλο.
+
+Ως εναλλακτική λύση στην αλλαγή της διεύθυνσης ανάληψης για ένα συγκεκριμένο επικυρωτή, οι χρήστες μπορούν να ορίσουν ένα έξυπνο συμβόλαιο ως διεύθυνση ανάληψης που θα μπορούσε να χειριστεί την εναλλαγή κλειδιού, όπως ένα χρηματοκιβώτιο. Οι χρήστες που ορίζουν τα κεφάλαιά τους στο δικό τους EOA μπορούν να πραγματοποιήσουν πλήρη έξοδο για να αποσύρουν όλα τα αποθηκευμένα κεφάλαιά τους και στη συνέχεια να τα αποθηκεύσουν εκ νέου χρησιμοποιώντας νέα διαπιστευτήρια.
+
+
+
+
+Εάν συμμετέχετε σε μια δεξαμενή αποθήκευσης κεφαλαίου ή διαθέτετε κρυπτονομίσματα αποθηκευμένου κεφαλαίου, θα πρέπει να επικοινωνήσετε με τον πάροχο σας για περισσότερες λεπτομέρειες σχετικά με τον τρόπο χειρισμού των αναλήψεων του αποθηκευμένου κεφαλαίου, καθώς κάθε υπηρεσία λειτουργεί διαφορετικά.
+
+Γενικά, οι χρήστες θα πρέπει να είναι ελεύθεροι να διεκδικήσουν το αποθηκευμένο κεφάλαιο τους σε ETH ή να αλλάξουν τον πάροχο αποθήκευσης κεφαλαίου που χρησιμοποιούν. Αν μια συγκεκριμένη δεξαμενή είναι πολύ μεγάλη, τα κεφάλαια μπορούν να αφαιρεθούν και να μετακινηθούν με έναν μικρότερο πάροχο. Ή, αν έχετε συγκεντρώσει αρκετά ETH θα μπορούσατε να τα αποθηκεύσετε από το σπίτι.
+
+
+
+
+Ναι, εφόσον ο επικυρωτής σας διαθέτει διεύθυνση ανάληψης. Πρέπει να παρέχεται μία φορά για να ενεργοποιηθούν αρχικά τυχόν αναλήψεις και στη συνέχεια οι πληρωμές ανταμοιβής θα ενεργοποιούνται αυτόματα κάθε λίγες ημέρες με κάθε εκκαθάριση του επικυρωτή.
+
+
+
+
+Όχι, εάν το πρόγραμμα επικύρωσής σας εξακολουθεί να είναι ενεργό στο δίκτυο, η πλήρης ανάληψη δε θα πραγματοποιηθεί αυτόματα. Απαιτείται χειροκίνητη έναρξη της οικειοθελούς εξόδου.
+
+Μόλις ένας επικυρωτής ολοκληρώσει τη διαδικασία εξόδου και υποθέτοντας ότι ο λογαριασμός διαθέτει διαπιστευτήρια ανάληψης, το υπόλοιπο λογαριασμού τότε θα γίνει ανάληψη κατά την επόμενη σάρωση επικυρωτή.
+
+
+
+
+Οι αναλήψεις έχουν σχεδιαστεί για να προωθούνται αυτόματα, μεταφέροντας οποιοδήποτε ETH που δε συμβάλλει ενεργά στην αποθήκευση κεφαλαίου. Αυτό περιλαμβάνει τα πλήρη υπόλοιπα των λογαριασμών που έχουν ολοκληρώσει τη διαδικασία εξόδου.
+
+Δεν είναι δυνατή η μη αυτόματη υποβολή αιτήματος για ανάληψη συγκεκριμένων ποσών ETH.
+
+
+
+
+Συνιστάται στους χειριστές επικυρωτών να επισκεφθούν τη σελίδα Staking Launchpad Retriwals όπου θα βρείτε περισσότερες λεπτομέρειες σχετικά με τον τρόπο προετοιμασίας του επικυρωτή για τις αναλήψεις, τα χρονοδιάγραμμα των γεγονότων και περισσότερες λεπτομέρειες σχετικά με τον τρόπο λειτουργίας των αναλήψεων.
+
+Για να δοκιμάσετε την εγκατάστασή σας σε ένα δίκτυο δοκιμών, επισκεφθείτε το Holesky Testnet Staking Launchpad για να ξεκινήσετε.
+
+
+
+
+Όχι. Μετά την έξοδο ενός επικυρωτή και την ανάληψη ολόκληρου του υπολοίπου του, τυχόν πρόσθετα κεφάλαια που κατατίθενται σε αυτόν τον επικυρωτή θα μεταφερθούν αυτόματα στη διεύθυνση ανάληψης κατά την επόμενη εκκαθάριση του επικυρωτή. Για να αποθηκεύσετε κεφάλαιο εκ νέου σε ETH, πρέπει να ενεργοποιηθεί ένας νέος επικυρωτής.
+
+
+## Περισσότερες πληροφορίες {#further-reading}
+
+- [Αναλήψεις πλατφόρμας εκκίνησης αποθήκευσης κεφαλαίου](https://launchpad.ethereum.org/withdrawals)
+- [EIP-4895: Αναλήψεις ως λειτουργία στην Κύρια Αλυσίδα](https://eips.ethereum.org/EIPS/eip-4895)
+- [Ethereum Cat Herders - Shanghai](https://www.ethereumcatherders.com/shanghai_upgrade/index.html)
+- [PEEPanEIP #94: Απόληψη αποθηκευμένου κεφαλαίου ETH (δοκιμή) με την Potuz & Hsiao-Wei Wang](https://www.youtube.com/watch?v=G8UstwmGtyE)
+- [PEEPanEIP#68: EIP-4895: Αναλήψεις Κύριας Αλυσίδας ως λειτουργίες με τον Alex Stokes](https://www.youtube.com/watch?v=CcL9RJBljUs)
+- [Κατανοώντας το ενεργό υπόλοιπο του επαληθευτή](https://www.attestant.io/posts/understanding-validator-effective-balance/)
diff --git a/public/content/translations/el/zero-knowledge-proofs/index.md b/public/content/translations/el/zero-knowledge-proofs/index.md
index af6240059f6..4b59eed316d 100644
--- a/public/content/translations/el/zero-knowledge-proofs/index.md
+++ b/public/content/translations/el/zero-knowledge-proofs/index.md
@@ -8,7 +8,7 @@ lang: el
Μια απόδειξη μηδενικής γνώσης είναι ένας τρόπος απόδειξης της εγκυρότητας μιας δήλωσης χωρίς να αποκαλύπτεται η ίδια η δήλωση. Η μία πλευρά προσπαθεί να αποδείξει τη συναλλαγή, καθώς ο επικυρωτής είναι υπεύθυνος για την επιβεβαίωση αυτής της συναλλαγής.
-Η απόδειξη μηδενικής γνώσης παρουσιάστηκε για πρώτη φορά σε μια εργασία το 1985 με τίτλο [«Η πολυπλοκότητα της γνώσης των διαδραστικών συστημάτων απόδειξης<»](http://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf), η οποία δίνει έναν ορισμό των αποδείξεων μηδενικής γνώσης που χρησιμοποιούνται ευρέως σήμερα:
+Η απόδειξη μηδενικής γνώσης παρουσιάστηκε για πρώτη φορά σε μια εργασία το 1985 με τίτλο [«Η πολυπλοκότητα της γνώσης των διαδραστικών συστημάτων απόδειξης»](http://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf), η οποία δίνει έναν ορισμό των αποδείξεων μηδενικής γνώσης που χρησιμοποιούνται ευρέως σήμερα:
> Ένα πρωτόκολλο απόδειξης μηδενικής γνώσης είναι μία μέθοδος μέσω της οποίας το ένα μέρος (αυτός που αποδεικνύει) **μπορεί να αποδείξει** στο άλλο μέρος (αυτόν που επικυρώνει) ότι **κάτι είναι αληθές, χωρίς να αποκαλύπτει κάποια πληροφορία** εκτός από το γεγονός ότι η συγκεκριμένη δήλωση είναι αληθής.
@@ -36,7 +36,7 @@ lang: el
Υπάρχουν συγκεκριμένα «νομίσματα απορρήτου» σχεδιασμένα για εντελώς ανώνυμες συναλλαγές. Blockchain εστιασμένα στο απόρρητο, όπως τα Zcash και Monero, αποκρύπτουν λεπτομέρειες συναλλαγών, συμπεριλαμβανομένων των διευθύνσεων αποστολέα/λήπτη, του τύπου ψηφιακού στοιχείου, της ποσότητας και του χρονοδιαγράμματος συναλλαγών.
-Ενσωματώνοντας την τεχνολογία αποδείξεων μηδενικής γνώσης στο πρωτόκολλο, τα δίκτυα [blockchain](/glossary/#blockchain) που εστιάζουν στο απόρρητο, επιτρέπουν στους [κόμβους](/glossary/#node) να επικυρώνουν συναλλαγές χωρίς να χρειάζεται να αποκτήσουν πρόσβαση σε δεδομένα συναλλαγών.
+Ενσωματώνοντας την τεχνολογία αποδείξεων μηδενικής γνώσης στο πρωτόκολλο, τα δίκτυα [blockchain](/glossary/#blockchain) που εστιάζουν στο απόρρητο, επιτρέπουν στους [κόμβους](/glossary/#node) να επικυρώνουν συναλλαγές χωρίς να χρειάζεται να αποκτήσουν πρόσβαση σε δεδομένα συναλλαγών. Το [EIP-7503](https://eips.ethereum.org/EIPS/eip-7503) είναι ένα παράδειγμα προτεινόμενου σχεδιασμού που θα επιτρέψει εγγενείς ιδιωτικές μεταφορές αξίας στο blockchain Ethereum. Ωστόσο, τέτοιες προτάσεις είναι δύσκολο να εφαρμοστούν λόγω ενός μείγματος ανησυχιών για την ασφάλεια, τους ρυθμιστικούς κανόνες και το UX.
**Οι αποδείξεις μηδενικής γνώσης εφαρμόζονται επίσης στην ανωνυμοποίηση συναλλαγών σε δημόσια blockchain**. Ένα παράδειγμα είναι το Tornado Cash, μια αποκεντρωμένη υπηρεσία χωρίς επιμέλεια που επιτρέπει στους χρήστες να διεξάγουν ιδιωτικές συναλλαγές στο Ethereum. Το Tornado Cash χρησιμοποιεί αποδείξεις μηδενικής γνώσης για να αποκρύψει τις λεπτομέρειες των συναλλαγών και να εγγυηθεί το οικονομικό απόρρητο. Δυστυχώς, επειδή αυτά είναι εργαλεία απορρήτου «opt-in», συνδέονται με παράνομες δραστηριότητες. Για να ξεπεραστεί αυτό, το απόρρητο πρέπει τελικά να γίνει ο προεπιλεγμένος τρόπος λειτουργίας στα δημόσια blockchain.
@@ -58,9 +58,9 @@ lang: el
Η επαληθεύσιμη υπολογιστική είναι **κρίσιμη για τη βελτίωση των ταχυτήτων επεξεργασίας στα blockchain** χωρίς να μειωθεί η ασφάλεια. Για να το καταλάβουμε αυτό, πρέπει να γνωρίζουμε τις διαφορές στις προτεινόμενες λύσεις για την κλιμάκωση του Ethereum.
-Οι [λύσεις κλιμάκωσης εντός αλυσίδας (on-chain)](/developers/docs/scaling/#on-chain-scaling), όπως η τμηματοποίηση, απαιτούν εκτεταμένες τροποποιήσεις στο βασικό επίπεδο του blockchain. Ωστόσο, αυτή η προσέγγιση είναι πολύπλοκη και τα σφάλματα στην υλοποίηση μπορούν να υπονομεύσουν το μοντέλο ασφαλείας του Ethereum.
+Οι [λύσεις κλιμάκωσης εντός αλυσίδας](/developers/docs/scaling/#onchain-scaling), όπως η τμηματοποίηση, απαιτούν εκτεταμένες τροποποιήσεις στο βασικό επίπεδο του blockchain. Ωστόσο, αυτή η προσέγγιση είναι πολύπλοκη και τα σφάλματα στην υλοποίηση μπορούν να υπονομεύσουν το μοντέλο ασφαλείας του Ethereum.
-Οι [λύσεις κλιμάκωσης εκτός αλυσίδας (off-chain)](/developers/docs/scaling/#off-chain-scaling) δεν απαιτούν επανασχεδιασμό του πυρήνα του πρωτοκόλλου Ethereum. Αντίθετα, βασίζονται σε ένα μοντέλο υπολογισμού εκτός αλυσίδας για να βελτιώσουν την απόδοση στο βασικό επίπεδο του Ethereum.
+Οι [λύσεις κλιμάκωσης εκτός αλυσίδας](/developers/docs/scaling/#offchain-scaling) δεν απαιτούν επανασχεδιασμό του πυρήνα του πρωτοκόλλου Ethereum. Αντίθετα, βασίζονται σε ένα μοντέλο υπολογισμού εκτός αλυσίδας για να βελτιώσουν την απόδοση στο βασικό επίπεδο του Ethereum.
Δείτε πώς λειτουργεί στην πράξη:
@@ -211,4 +211,4 @@ lang: el
- [ZK-STARKs — Δημιουργήστε επαληθεύσιμη εμπιστοσύνη, ακόμη και ενάντια στους κβαντικούς υπολογιστές](https://medium.com/coinmonks/zk-starks-create-verifiable-trust-even-against-quantum-computers-dd9c6a2bb13d) — _Adam Luciano_
- [Μια κατά προσέγγιση εισαγωγή στον τρόπο με τον οποίο είναι δυνατές οι zk-SNARKs](https://vitalik.eth.limo/general/2021/01/26/snarks.html) — _Vitalik Buterin_
- [Γιατί οι Αποδείξεις μηδενικής γνώσης (ZKPs) αλλάζουν το παιχνίδι για την αυτοκυρίαρχη ταυτότητα](https://frankiefab.hashnode.dev/why-zero-knowledge-proofs-zkps-is-a-game-changer-for-self-sovereign-identity) — _Franklin Ohaegbulam_
-
+- [EIP-7503 Επεξήγηση: Ενεργοποίηση ιδιωτικών μεταφορών στο Ethereum με ZK Proofs](https://research.2077.xyz/eip-7503-zero-knowledge-wormholes-for-private-ethereum-transactions#introduction) — _Emmanuel Awosika_
diff --git a/public/content/translations/es/bridges/index.md b/public/content/translations/es/bridges/index.md
index 3b276c43162..d762acd78b8 100644
--- a/public/content/translations/es/bridges/index.md
+++ b/public/content/translations/es/bridges/index.md
@@ -95,6 +95,15 @@ Muchas soluciones de puente adoptan modelos entre estos dos extremos con diferen
+## Usar puentes {#use-bridge}
+
+Usar puentes le permite mover sus activos a través de diferentes cadenas de bloques. He aquí algunos recursos que le pueden ayudar a encontrar y usar puentes:
+
+- **[Resumen de los puentes L2BEAT ](https://l2beat.com/bridges/summary) & [Análisis de riesgo de puentes L2BEAT](https://l2beat.com/bridges/risk)**: Un resumen que comprende varios puentes, incluyendo detalles sobre la cuota de mercado, el tipo de puente y las cadenas de destino. L2BEAT también tiene análisis de riesgo de puentes, ayudando a los usuarios a tomar decisiones informadas a lo largo del proceso de elección de un puente.
+- **[Resumen de los puentes DefiLlama](https://defillama.com/bridges/Ethereum)**: Un resumen de los volúmenes de puentes a lo largo de la red de Ethereum.
+
+
+
## Riesgo al utilizar puentes {#bridge-risk}
Los puentes se encuentran en las primeras etapas de desarrollo. Es probable que todavía no se haya descubierto el diseño óptimo de estos. Interactuar con cualquier tipo de puente conlleva riesgos:
diff --git a/public/content/translations/es/community/events/index.md b/public/content/translations/es/community/events/index.md
index a2079753e73..8b2c61983d6 100644
--- a/public/content/translations/es/community/events/index.md
+++ b/public/content/translations/es/community/events/index.md
@@ -13,12 +13,14 @@ hideEditButton: true
Esta es una lista no exhaustiva mantenida por nuestra comunidad. ¿Sabe de algún evento próximo de Ethereum para añadir a esta lista? [¡Por favor, añádalo](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)!
+
+
## Encuentros sobre Ethereum {#meetups}
¿No ve ningún evento que le venga bien? Intente asistir a un encuentro. Los encuentros son eventos más pequeños celebrados por grupos de entusiastas de Ethereum, es decir, son una oportunidad para que las personas interesadas en Ethereum se reúnan, hablen acerca de Ethereum y se enteren de las últimas novedades.
-¿Le interesaría organizar su propia reunión? Eche un vistazo a [BUIDL Network](https://consensys.net/developers/buidlnetwork/): una iniciativa de ConsenSys para ayudar a apoyar las comunidades de encuentros de Ethereum.
+¿Le interesaría organizar su propio encuentro? Eche un vistazo a [BUIDL Network](https://consensys.net/developers/buidlnetwork/): una iniciativa de ConsenSys para ayudar a apoyar a las comunidades de encuentros de Ethereum.
Esta es una lista no exhaustiva mantenida por nuestra comunidad. Aquí [encontrará más información sobre los encuentros de Ethereum](https://www.meetup.com/topics/ethereum/). ¿Sabe de algún un grupo de encuentros activo para añadir a esta lista? [¡Por favor, añádalo!](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json)
diff --git a/public/content/translations/es/community/grants/index.md b/public/content/translations/es/community/grants/index.md
index 44faafa18ec..5463c1c891f 100644
--- a/public/content/translations/es/community/grants/index.md
+++ b/public/content/translations/es/community/grants/index.md
@@ -31,7 +31,7 @@ Estos proyectos han creado sus propias subvenciones para proyectos con fines de
- [Lido Ecosystem Grants Organisation (LEGO)](https://lido.fi/lego): _[ecosistema financiero](https://lido.fi/) Lido_
- [Programa MetaMask](https://metamaskgrants.org/): _[MetaMask](https://metamask.io/) subvenciones lideradas por empleados DAO_
- [Programa de subvenciones para la red SKALE](https://skale.space/developers#grants): _[ecosistema](https://skale.space/) de la red SKALE_
-- [Programa de Subvenciones de la Swarm Foundation](https://my.ethswarm.org/grants): ecosistema de la _[Swarm Foundation](https://www.ethswarm.org/)_
+- [Programa de Subvenciones de la Swarm Foundation](https://my.ethswarm.org): ecosistema de la _[Swarm Foundation](https://www.ethswarm.org/)_
- [The Graph](https://thegraph.com/ecosystem/grants/): ecosistema de _[The Graph](https://thegraph.com/)_
- [Programa de donaciones de Uniswap](https://www.uniswapfoundation.org/approach): comunidad de _[Uniswap](https://uniswap.org/)_
diff --git a/public/content/translations/es/community/research/index.md b/public/content/translations/es/community/research/index.md
index ce18287bdd7..a8ea0700395 100644
--- a/public/content/translations/es/community/research/index.md
+++ b/public/content/translations/es/community/research/index.md
@@ -279,7 +279,7 @@ El staking líquido permite a los usuarios con menos de 32 ETH recibir rendimien
- [Gestión de retirada de fondos de Lido](https://ethresear.ch/t/handling-withdrawals-in-lidos-eth-liquid-staking-protocol/8873)
- [Credenciales de retirada](https://ethresear.ch/t/withdrawal-credential-rotation-from-bls-to-eth1/8722)
-- [Los riesgos de los derivados del staking líquido] (https://notes.ethereum.org/@djrtwo/risks-of-lsd)
+- [Los riesgos de los derivados del staking líquido](https://notes.ethereum.org/@djrtwo/risks-of-lsd)
## Pruebas {#testing}
@@ -308,7 +308,7 @@ Se necesitan más herramientas de análisis de datos y paneles que proporcionen
#### Investigación reciente {#recent-research-14}
-- [Análisis de datos del Robust Incentives Group] (https://ethereum.github.io/rig/)
+- [Análisis de datos del Robust Incentives Group](https://ethereum.github.io/rig/)
## Aplicaciones y herramientas {#apps-and-tooling}
@@ -345,11 +345,11 @@ Un caso de uso de alto impacto para Ethereum es la capacidad de organizarse de m
Las herramientas para desarrolladores de Ethereum están evolucionando rápidamente. Hay mucha investigación y desarrollo activo por hacer en esta área general.
-#### Lectura de fondo {#lectura de fondo-17}
+#### Lectura de fondo {#lectura-de-fondo-17}
- [Herramientas por lenguaje de programación](/developers/docs/programming-languages/)
- [Marcos de desarrolladores](/developers/docs/frameworks/)
-- [Lista de herramientas de desarrollo de consenso] (https://github.com/ConsenSys/ethereum-developer-tools-list)
+- [Lista de herramientas de desarrollo de consenso](https://github.com/ConsenSys/ethereum-developer-tools-list)
- [Estándares de tokens](/desarrolladores/documentos/estándares/tokens/)
- [CryptoDevHub: herramientas de EVM](https://cryptodevhub.io/wiki/ethereum-virtual-machine-tools)
@@ -374,9 +374,9 @@ Los oráculos importan datos fuera de la cadena a la cadena de bloques de manera
Por lo general, los hackeos en Ethereum se aprovechan de puntos flacos en aplicaciones individuales y no en el propio protocolo. Los hackers y los desarrolladores de aplicaciones están enfrascados en una carrera armamentística para desarrollar nuevos ataques y defensas. Esto significa que siempre es necesario realizar una investigación y un desarrollo importantes para mantener las aplicaciones a salvo de los hackeos.
-#### Lectura de fondo {#lectura de fondo-19}
+#### Lectura de fondo {#lectura-de-fondo-19}
-- [Informe de explotación de agujero de gusano] (https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
+- [Informe de explotación de agujero de gusano](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
- [Lista de hackeo de contratos de Ethereum post mórtem](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
- [Rekt News](https://twitter.com/RektHQ?s=20\&t=3otjYQdM9Bqk8k3n1a1Adg)
@@ -388,7 +388,7 @@ Por lo general, los hackeos en Ethereum se aprovechan de puntos flacos en aplica
La descentralización de toda la pila de tecnología de Ethereum es un área de investigación importante. Actualmente, las dapps en Ethereum suelen tener algunos puntos de centralización, ya que dependen de herramientas o infraestructuras centralizadas.
-#### Lectura de fondo {#lectura de fondo-20}
+#### Lectura de fondo {#lectura-de-fondo-20}
- [Pila de Ethereum](/developers/docs/ethereum-stack/)
- [Coinbase: Introducción al Stack Web3](https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0)
diff --git a/public/content/translations/es/contributing/adding-layer-2s/index.md b/public/content/translations/es/contributing/adding-layer-2s/index.md
index 507acd4a9cd..d230622d8a5 100644
--- a/public/content/translations/es/contributing/adding-layer-2s/index.md
+++ b/public/content/translations/es/contributing/adding-layer-2s/index.md
@@ -92,6 +92,6 @@ _No consideramos que otras soluciones de escalabilidad que no utilicen Ethereum
Si quiere añadir una capa 2 a ethereum.org, cree una incidencia en GitHub.
-
+
Crear una incidencia
diff --git a/public/content/translations/es/contributing/adding-staking-products/index.md b/public/content/translations/es/contributing/adding-staking-products/index.md
index 64ae09322f9..5e56bb9f518 100644
--- a/public/content/translations/es/contributing/adding-staking-products/index.md
+++ b/public/content/translations/es/contributing/adding-staking-products/index.md
@@ -87,7 +87,7 @@ Para cualquier software personalizado o contratos inteligentes involucrados:
Para productos de software relacionados con la configuración de nodo o cliente, administración o migración:
-**¿Qué clientes de la capa de consenso (por ejemplo, Lighthouse, Teku, Nimbus, Prysm) se permiten? **
+**¿Qué clientes de la capa de consenso (por ejemplo, ¿Se admiten Lighthouse, Teku, Nimbus, Prysm, Grandine)?**
- ¿Qué clientes se admiten? ¿Puede elegir el usuario?
- Esto se utiliza para determinar la puntuación «multicliente» de los productos.
diff --git a/public/content/translations/es/contributing/content-resources/index.md b/public/content/translations/es/contributing/content-resources/index.md
index fc48ccd72f2..e680cd10251 100644
--- a/public/content/translations/es/contributing/content-resources/index.md
+++ b/public/content/translations/es/contributing/content-resources/index.md
@@ -27,6 +27,6 @@ Los recursos de aprendizaje se evaluarán a tenor de los siguientes criterios:
Si desea añadir un recurso de contenido a ethereum.org y cumple con los criterios, cree una incidencia en GitHub.
-
+
Crear una incidencia
diff --git a/public/content/translations/es/contributing/design/index.md b/public/content/translations/es/contributing/design/index.md
index 951a4bc9d69..982a2daee9f 100644
--- a/public/content/translations/es/contributing/design/index.md
+++ b/public/content/translations/es/contributing/design/index.md
@@ -6,7 +6,7 @@ lang: es
# Contribución de diseño a ethereum.org {#design-contributions}
-El diseño es un componente crítico para cualquier projecto, y dedicando tu tiempo y habilidades de diseño para Ethereum.org, puedes ayudar a mejorar la experiencia del usuario para nuestros visitantes. Contribuyendo a un projecto de fuente abierta da la oportunidad para ganar experiencia relevante y desarrollar tus habilidades en un ambiente colaborativo. Tendrás la oportunidad para trabajar con otros diseñadores, desarrolladores, y miembros de la comunidad, a todos aquellos quienes tendrán sus propias y únicas perspectivas y visiones.
+El diseño es un componente vital de cualquier proyecto, por eso dedicando tiempo y aplicando sus conocimientos de diseño a ethereum.org, puede ayudar a mejorar la experiencia de usuario para nuestros visitantes. Contribuyendo a un projecto de fuente abierta da la oportunidad para ganar experiencia relevante y desarrollar tus habilidades en un ambiente colaborativo. Tendrás la oportunidad para trabajar con otros diseñadores, desarrolladores, y miembros de la comunidad, a todos aquellos quienes tendrán sus propias y únicas perspectivas y visiones.
Por último, esto es un buen camino para construir un diverso e impresionante portafolio que demuestra tus habilidades de diseño.
@@ -30,7 +30,7 @@ Proporciona opiniones en nuestra página web por:
### Si detecta errores de diseño en la página web, comuníquelos {#report-design-issues}
-Ethereum.org es una página de rápido crecimiento con muchas características y contenido. Algunos de la interfaz de usuarios pueden fácilmente convertirse en obsoletos o podrían ser mejorados. Si usted detecta alguno de estos fallos, por favor comuníquelo para que podamos solucionarlo.
+ethereum.org es un sitio en rápido crecimiento con muchas funcionalidades y contenido. Algunos de la interfaz de usuarios pueden fácilmente convertirse en obsoletos o podrían ser mejorados. Si usted detecta alguno de estos fallos, por favor comuníquelo para que podamos solucionarlo.
1. Ve a través de la página web y presta atención a sus diseño.
2. Toma captures y notas si ves algún visual o asuntos UX.
@@ -51,10 +51,10 @@ Nuestro sistema de diseño convierte el diseñado de ethereum.org fácil y senci
1. Seleccione una incidencia por abordar en el [tablón del sistema de diseño](https://github.com/ethereum/ethereum-org-website/labels/design%20system) en GitHub o cree uno nuevo.
2. Solicita que te asignen el problema seleccionado.
-3. Comienza a diseñar el componente solicitado en figma.
+3. Empiece a diseñar el componente solicitado en Figma.
4. Compártelo con el equipo de diseño en GitHub una vez que necesites una revisión o consejo.
5. El equipo de diseño lo revisará.
-6. El equipo de Diseño incorporará los cambios en el archivo principal y lo publicará a la comunidad.
+6. El equipo de diseño incorporará los cambios en el archivo principal y publicará el archivo a la comunidad.
### Escribe contenido relacionado con el diseño en el sitio web {#write-design-articles}
@@ -64,7 +64,7 @@ La comunidad para desarrolladores de Ethereum es fuerte, pero la comunidad de di
2. Visita nuestro repositorio en GitHub y [crea un incidente](https://github.com/ethereum/ethereum-org-website/issues/new) proponiendo un tema (aún no escribas el contenido).
3. Espera que sea aprobado por el equipo de diseño.
4. Una vez aprobado, escribe el contenido.
-5. Envíalo en el incidente correspondiente en GitHub.
+5. Envíelo en la incidencia correspondiente de GitHub.
### Dibuja nuevas ilustraciones {#prepare-illustrations}
diff --git a/public/content/translations/es/contributing/index.md b/public/content/translations/es/contributing/index.md
index 1485c7e41ea..ec4589a3eb9 100644
--- a/public/content/translations/es/contributing/index.md
+++ b/public/content/translations/es/contributing/index.md
@@ -19,13 +19,12 @@ Ethereum.org es un proyecto gestionado de código abierto con más de **12.000**
- [Trabaje en un problema/tema abierto](https://github.com/ethereum/ethereum-org-website/issues): trabajo que hemos identificado como necesario
**Diseño**
-- [Ayude a diseñar el sitio](/contributing/design/): diseñadores de todos los niveles pueden contribuir a mejorar el sitio web
+- [Ayude a diseñar el sitio web](/contributing/design/): Diseñadores de todos loos niveles pueden contribuir a mejorar el sitio web
**Contenido**
- [Cree/edite contenido](/contributing/#how-to-update-content): sugiera crear nuevas páginas o hacer ajustes al contenido actual
- [Añada recursos para la comunidad](/contributing/content-resources/): agregue un artículo o recurso útil a una página relevante
- [Sugiera un recurso de diseño](/contributing/design/adding-design-resources/): sume, actualce o elimine recursos de diseño útiles
-- [Agregue un término al glosario](/contributing/adding-glossary-terms/): ayúdenos a expandir el [glosario](/glossary/) de Ethereum
- [Cuestionarios](/contributing/quizzes/): agregue, edite y elimine bancos de preguntas de cuestionarios para páginas relevantes
**Ideas de funcionalides/características**
@@ -68,7 +67,7 @@ Antes de empezar a colaborar, asegúrese de estar familiarizado con:
- nuestra [guía de estilo](/contributing/style-guide/)
- nuestro [código de conducta](/community/code-of-conduct)
-
+
## Cómo se toman las decisiones sobre el sitio {#how-decisions-about-the-site-are-made}
@@ -90,11 +89,11 @@ Tenemos temas u opciones con barrera baja de entrada, o pocos requisitos, en nue
Si su contribución se usa en ethereum.org, tendrá la oportunidad de reclamar una insignia especial en [Galxe](https://app.galxe.com/quest/ethereumorg). Un token de logro en cadena (OAT, Onchain Achievement Token) es una prueba de que ayudó a hacer el ecosistema un poco más increíble.
-[Más sobre los OAT](https://help.galxe.com/en/articles/7067290-galxe-oats-reward-and-celebrate-achievements)
+[Más sobre los OAT](https://help.galxe.com/en/articles/9645630-create-quest-rewards#h_1c5d63ba03)
### Cómo reclamarlo
1. Únase a nuestro [servidor de Discord](https://discord.gg/ethereum-org).
-2. Pegue un enlace a su cotribución en el canal `#🥇 | proof-of-contribution`.
+2. Pegue un enlace a au contribución en el canal `#🥇 | proof-of-contribution`.
3. Espere a que un miembro de nuestro equipo le envíe un enlace a su OAT.
4. ¡Reclame su OAT!
diff --git a/public/content/translations/es/contributing/quizzes/index.md b/public/content/translations/es/contributing/quizzes/index.md
index 004dabeec76..bb62a3a5dc3 100644
--- a/public/content/translations/es/contributing/quizzes/index.md
+++ b/public/content/translations/es/contributing/quizzes/index.md
@@ -4,7 +4,7 @@ description: Las políticas que nosotros usamos cuando agregamos quizzes en ethe
lang: es
---
-# Centro de cuestionarios {#quizzes}
+# Cuestionarios {#quizzes}
Los Quizzes son una oportunidad para que los usuarios se prueben ellos mismo para ver si entiendieron el contenido de la página que ellos acabaron de leer. Las preguntas solo deben ser basadas en el contenido proporcionado en la página y no debería de preguntar acerca información que no es mencionada en la página.
@@ -32,7 +32,7 @@ Sea tan amable de facilitar la siguiente información:
## Añadir una pregunta tipo test
-Si existe una pregunta que quiera añadir a la ronda de preguntas de un test, [abra una incidencia](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) y proporcione la siguiente información:
+Si existe una pregunta que quiera añadir a la ronda de preguntas de un test, [ abra una incidencia ](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) y proporcione la siguiente información:
- La página en la que quiera añadir la pregunta tipo test.
- Para cada pregunta, proporcione la siguiente información:
@@ -43,7 +43,7 @@ Si existe una pregunta que quiera añadir a la ronda de preguntas de un test, [a
## Actualizar una pregunta tipo test
-Si existe una pregunta que quiera actualizar en la ronde de preguntas de un test, [abra una incidencia](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) y proporcione la siguiente información:
+Si existe una pregunta que quiera actualizar en la ronde de preguntas de un test, [ abra una incidencia ](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=&template=suggest_quiz.yaml) y proporcione la siguiente información:
- La página para la que quiere actualizar la pregunta.
- Por cada pregunta que se actualice, proporcione la siguiente información:
diff --git a/public/content/translations/es/contributing/translation-program/how-to-translate/index.md b/public/content/translations/es/contributing/translation-program/how-to-translate/index.md
index ee95b8a2294..4c9448a2d8c 100644
--- a/public/content/translations/es/contributing/translation-program/how-to-translate/index.md
+++ b/public/content/translations/es/contributing/translation-program/how-to-translate/index.md
@@ -18,7 +18,7 @@ Para quienes aprenden mejor observando, vean la guía paso a paso de Luka para c
Deberá iniciar sesión en su cuenta de Crowdin o registrarse si aún no tiene una. Para registrarse solo necesita una cuenta de correo electrónico y una contraseña.
-
+
Únase al proyecto
diff --git a/public/content/translations/es/contributing/translation-program/index.md b/public/content/translations/es/contributing/translation-program/index.md
index 7d22f765074..4aa39be9952 100644
--- a/public/content/translations/es/contributing/translation-program/index.md
+++ b/public/content/translations/es/contributing/translation-program/index.md
@@ -36,9 +36,9 @@ Conozca más detalles sobre la [misión y visión](/contributing/translation-pro
### Nuestra evolución hasta la fecha {#our-progress}
-- [**6000+** traductores](/contributing/translation-program/contributors/)
-- **62** idiomas en vivo en el lugar
-- [**3 millones** de palabras traducidas en 2023](/contributing/translation-program/acknowledgements/)
+- [**más de 6.900** traductores](/contributing/translation-program/contributors/)
+- **68** idiomas localizados en el sitio web
+- [**2,89 millones** de palabras traducidas en 2024](/contributing/translation-program/acknowledgements/)
@@ -56,11 +56,11 @@ Los colaboradores del Programa de Traducción son elegibles para diferentes OAT
#### Reconocimientos a los traductores {#translator-acknowledgements}
-Reconocimientos públicos a nuestros mejores traductores a través de las [Tablas de clasificacion](/contributing/translation-program/acknowledgements/) y una lista[ de todos los contribuyentes al Programa de traduccion](/contributing/translation-program/contributors/).
+Reconocimientos públicos a nuestros mejores traductores a través de las [ Tablas de clasificacion ](/contributing/translation-program/acknowledgements/) y una lista[ de todos los contribuyentes al Programa de traduccion](/contributing/translation-program/contributors/).
#### Recompensas {#rewards}
-En el pasado, hemos recompensado retroactivamente a nuestros contribuyentes mas activos con entradas para conferencias de Ethereum, como [Devcon](https://devcon.org/en/) y [Devconnect](https://devconnect.org/), además de ofrecerles productos exclusivos de ethereum.org.
+En el pasado, hemos recompensado retroactivamente a nuestros contribuyentes mas activos con entradas para conferencias de Ethereum, como [ Devcon ](https://devcon.org/en/) y [ Devconnect ](https://devconnect.org/), además de ofrecerles productos exclusivos de ethereum.org.
Ideamos constantemente novedosas maneras de recompensar a nuestros colaboradores, ¡así que esté al tanto!
diff --git a/public/content/translations/es/contributing/translation-program/resources/index.md b/public/content/translations/es/contributing/translation-program/resources/index.md
index c3349fc4be2..ef3fb4c485e 100644
--- a/public/content/translations/es/contributing/translation-program/resources/index.md
+++ b/public/content/translations/es/contributing/translation-program/resources/index.md
@@ -12,7 +12,7 @@ Puede encontrar algunas guías y herramientas útiles para los traductores de et
- [Guía de estilo de traducción](/contributing/translation-program/translators-guide/) _: instrucciones y consejos para los traductores de ethereum.org_.
- [Preguntas frecuentes sobre la traducción](/contributing/translation-program/faq/) _: Preguntas y respuestas frecuentes sobre el Programa de traducción de ethereum.org_
-- [Guía de edición online de Crowdin](https://support.crowdin.com/online-editor/) _: Una guía detallada para utilizar el editor online de Crowdin y algunas de las funciones avanzadas de Crowdin_
+- [Guía de edición en línea de Crowdin](https://support.crowdin.com/online-editor/) _: una guía detallada para utilizar el editor en línea de Crowdin y algunas de las funciones avanzadas de Crowdin_
- [Bloques de contenido](/contributing/translation-program/content-buckets/) _: qué páginas se incluyen en cada bloque de contenido de ethereum.org_
## Herramientas {#tools}
diff --git a/public/content/translations/es/contributing/translation-program/translators-guide/index.md b/public/content/translations/es/contributing/translation-program/translators-guide/index.md
index 23ee64687ca..4f6e141425e 100644
--- a/public/content/translations/es/contributing/translation-program/translators-guide/index.md
+++ b/public/content/translations/es/contributing/translation-program/translators-guide/index.md
@@ -116,7 +116,7 @@ La mejor manera de conservar los enlaces intactos es copiarlos directamente desd

-Los enlaces también aparecen en el texto de origen en forma de etiquetas (es decir, <0> 0>). Si pasa el cursor sobre la etiqueta, el editor mostrará su contenido completo (a veces estas etiquetas representan enlaces).
+Los enlaces también aparecen en el texto de origen en forma de etiquetas (es decir, `<0> 0>`). Si pasa el cursor sobre la etiqueta, el editor mostrará su contenido completo (a veces estas etiquetas representan enlaces).
Es muy importante copiar los enlaces del texto original y no cambiar su orden.
@@ -154,7 +154,7 @@ nonce - _Texto no traducible_
El texto original también contiene etiquetas acortadas, que solo contienen números, lo que significa que su función no es inmediatamente obvia. Puede pasar el cursor sobre estas etiquetas para ver qué función tienen exactamente.
-En el ejemplo de abajo, al pasar el cursor por la <0> etiqueta se muestra lo que representa `` y contiene un fragmento de código, por lo tanto el contenido dentro de estas etiquetas no debe traducirse.
+En el ejemplo de abajo, puede verlo al pasar el cursor por la `<0>` etiqueta se muestra lo que representa `` y contiene un fragmento de código, por lo tanto el contenido dentro de estas etiquetas no debe traducirse.

diff --git a/public/content/translations/es/dao/index.md b/public/content/translations/es/dao/index.md
index 0a9f9422dd3..b9802d2eaff 100644
--- a/public/content/translations/es/dao/index.md
+++ b/public/content/translations/es/dao/index.md
@@ -1,5 +1,6 @@
---
-title: Organizaciones Autónomas Descentralizadas (DAO)
+title: '¿Qué es una DAO?'
+metaTitle: '¿Qué es una DAO? | Organizaciones Autónomas Descentralizadas'
description: Una visión general de las DAO en Ethereum
lang: es
template: use-cases
@@ -91,7 +92,7 @@ En 1977, Wyoming inventó la LLC, la cual protege a los empresarios y limita su
### Un conocido ejemplo {#law-example}
-[CityDAO:](https://citydao.io) CityDAO utilizó la ley de las DAO de Wyoming para comprar 40 hectáreas de tierra cerca del Parque Nacional de Yellowstone.
+[CityDAO:](https://citizen.citydao.io/) CityDAO utilizó la ley de las DAO de Wyoming para comprar 40 hectáreas de tierra cerca del Parque Nacional de Yellowstone.
## Membresía de las DAO {#dao-membership}
diff --git a/public/content/translations/es/decentralized-identity/index.md b/public/content/translations/es/decentralized-identity/index.md
index d5cf3577953..2ee4701fc09 100644
--- a/public/content/translations/es/decentralized-identity/index.md
+++ b/public/content/translations/es/decentralized-identity/index.md
@@ -87,7 +87,7 @@ Los identificadores tradicionales como tu nombre jurídico o dirección de corre
Los identificadores descentralizados son emitidos, mantenidos y controlados por individuos. Una [cuenta de Ethereum](/glossary/#account) es un ejemplo de un identificador descentralizado. Puede crear tantas cuentas como quiera sin el permiso de nadie y sin necesidad de almacenarlas en un registro central.
-Los identificadores descentralizados son almacenados en "ledgers" distribuidos ([cadena de bloques](/glossary/#blockchain)[) o <1>redes persona a persona](/glossary/#peer-to-peer-network) (peer-to-peer). Esto hace a los DIDs [globalmente únicos, resolubles con alta disponibilidad, y criptográficamente verificables](https://w3c-ccg.github.io/did-primer/). Un identificador descentralizado puede ser asociado con diferentes entidades, incluyendo personas, organizaciones o instituciones gubernamentales.
+Los identificadores descentralizados son almacenados en "ledgers" distribuidos ([cadena de bloques](/glossary/#blockchain)[) o `<1>`redes persona a persona](/glossary/#peer-to-peer-network) (peer-to-peer). Esto hace a los DIDs [globalmente únicos, resolubles con alta disponibilidad, y criptográficamente verificables](https://w3c-ccg.github.io/did-primer/). Un identificador descentralizado puede ser asociado con diferentes entidades, incluyendo personas, organizaciones o instituciones gubernamentales.
## ¿Qué hace que los identificadores descentralizados sean posibles? {#what-makes-decentralized-identifiers-possible}
diff --git a/public/content/translations/es/defi/index.md b/public/content/translations/es/defi/index.md
index 8feed0ed21b..95809d17844 100644
--- a/public/content/translations/es/defi/index.md
+++ b/public/content/translations/es/defi/index.md
@@ -1,5 +1,6 @@
---
title: Finanzas descentralizadas (DeFi)
+metaTitle: '¿Qué son las DeFi? | Beneficios y usos de las Finanzas Descentralizadas'
description: Una visión de las finanzas descentralizadas en Ethereum
lang: es
template: use-cases
@@ -47,7 +48,7 @@ Una de las mejores maneras de determinar el potencial de las DeFi es entender lo
| Los mercados siempre están abiertos. | Los mercados cierran debido a que los empleados necesitan descanso. |
| Construido sobre la transparencia: cualquier persona puede mirar los datos del producto e inspeccionar el funcionamiento del sistema. | Las instituciones financieras son como libros cerrados: no puede preguntar por el historial de préstamos, el registro de sus activos administrados, etc. |
-
+
Explorar las aplicaciones DeFi
@@ -65,7 +66,7 @@ Esto puede sonar extraño... ¿por qué querría programar mi dinero? Sin embarg
Si es nuevo en Ethereum, explore y pruebe algunas de nuestras sugerencias de aplicaciones DeFi.
-
+
Explorar las aplicaciones DeFi
@@ -92,7 +93,7 @@ Existe una alternativa descentralizada para la mayoría de servicios financieros
Como cadena de bloques, Ethereum está diseñado para realizar transacciones de una manera segura y con un alcance global. Al igual que Bitcoin, Ethereum hace que enviar dinero alrededor del mundo sea tan fácil como enviar un correo electrónico. Solo se necesita ingresar el [nombre ENS](/glossary/#ens) del beneficiario (p. ej., bob.eth) o la dirección de cuenta usando su billetera y este recibirá directamente el pago en cuestión de minutos (por lo general). Para enviar o recibir pagos, necesitará tener una [cartera](/wallets/).
-
+
Ver DApps de pagos
@@ -123,7 +124,7 @@ Los préstamos de dinero de proveedores descentralizados se llevan a cabo de dos
- Entre pares (también conocido como P2P), en que un prestatario tomará prestado directamente de un prestamista específico.
- En función de las reservas (o «pools»), cuando los prestamistas proporcionan reservas (liquidez) a una reserva de la que los prestatarios pueden pedir préstamos.
-
+
Ver DApps de préstamos
@@ -168,7 +169,7 @@ Si la oferta de B cayera repentinamente y el usuario no pudiera comprar la canti
Para hacer lo que describimos en el ejemplo de arriba pero en el mundo real necesitaría mucho dinero. Estas estrategias para hacer dinero solo son accesibles para aquellos que ya tienen dinero. Los préstamos flash son un ejemplo de un futuro en el que tener dinero no es necesariamente un requisito previo para ganar dinero.
-
+
Más información sobre los préstamos flash
@@ -185,7 +186,7 @@ Puede ganar un interés en criptomonedas al prestar dinero: verá cómo aumentan
- Sus tókenes aDai crecerán en base al tipo de interés y podrá ver cómo aumenta el valor total de su cartera. Dependiendo del [APR](/glossary/#apr), ¡el saldo de su billetera será algo así como 100.1234 al cabo de unos días o incluso unas horas!
- Puede retirar una cantidad de Dai que sea igual a sus fondos de aDai siempre que quiera.
-
+
Ver DApps de préstamos
@@ -213,7 +214,7 @@ Hay miles de tókenes en Ethereum. Los intercambios descentralizados (DEX) le pe
Por ejemplo, si quiere usar la lotería sin pérdidas PoolTogether (explicada arriba) necesitará un token como Dai o USDC. Estos DEX le permiten cambiar sus ETH por tókenes y viceversa cuando haya acabado.
-
+
Ver intercambios de tókenes
@@ -225,7 +226,7 @@ Hay más opciones avanzadas para los inversores que quieren tener más control.
Cuando usa un intercambio centralizado, tiene que depositar sus activos antes de la operación y confiar en ellos. A pesar de que sus activos sí son depositados, están en riesgo, ya que los intercambios descentralizados son objetivos atractivos para los hackers.
-
+
Ver DApps de transacciones
@@ -237,7 +238,7 @@ Hay productos de gestión de fondos en Ethereum que tratarán de hacer crecer su
Un buen ejemplo es el [fondo DeFi Pulse Index (DPI)](https://defipulse.com/blog/defi-pulse-index/). Este es un fondo que se reequilibra automáticamente para asegurar que su portafolio siempre incluya los mejores tókenes DeFi por capitalización de mercado. Nunca tendrá que gestionar ninguno de los detalles y puede retirar del fondo cuando usted quiera.
-
+
Ver DApps de inversión
@@ -251,7 +252,7 @@ Ethereum es una plataforma ideal para la recaudación de fondos:
- Es transparente, por lo que los recaudadores pueden demostrar cuánto dinero se ha recaudado. Incluso puede rastrear cómo se están usando los fondos.
- Los recaudadores pueden configurar reembolsos automáticos si, por ejemplo, hay una fecha límite y una cantidad mínima a la que no se ha llegado.
-
+
Ver DApps de recaudación de fondos
@@ -280,7 +281,7 @@ El aseguramiento descentralizado tiene como objetivo hacer que el aseguramiento
Los productos de Ethereum —al igual que el software— pueden sufrir virus y aprovechamiento. Ahora mismo hay muchos productos de seguros enfocándose en proteger a sus usuarios de pérdidas de fondos. Sin embargo, existen proyectos que empiezan a crear cobertura para todo lo que la vida nos depare. Un buen ejemplo es la cobertura de Etherisc Crop, que pretende [proteger a los pequeños agricultores en Kenia contra las sequías y las inundaciones](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). El aseguramiento descentralizado ofrece una cobertura más barata para los granjeros a los que se les cobra con precios fuera del de los seguros tradicionales.
-
+
Ver DApps de aseguramiento
@@ -290,7 +291,7 @@ Los productos de Ethereum —al igual que el software— pueden sufrir virus y a
Con tantas cosas en marcha, necesitará una forma de realizar un seguimiento de todas sus inversiones, préstamos y operaciones. Existen una gran cantidad de productos que le permiten coordinar toda su actividad de DeFi (Finanzas Descentralizadas) desde un solo lugar. Esta es la belleza de la arquitectura abierta de DeFi. Los equipos pueden crear interfaces en las que no solo puede ver sus saldos entre productos, sino que también puede usar sus funciones. Le resultará más útil a medida que explora más sobre DeFi.
-
+
Ver DApps de portafolios
@@ -322,7 +323,7 @@ DeFi se puede dividir en varias capas:
1. La cadena de bloques: Ethereum contiene el registro de transacciones y el estado de las cuentas.
2. Los activos: [ETH](/eth/) y otros tókenes (monedas).
3. Los protocolos, o [contratos inteligentes](/glossary/#smart-contract), brindan funcionalidad, como por ejemplo, un servicio que permite el préstamo descentralizado de activos.
-4. [Las aplicaciones](/dapps/): los productos que usamos para gestionar y acceder a los protocolos.
+4. [Las aplicaciones](/apps/): los productos que usamos para gestionar y acceder a los protocolos.
Nota: Gran parte de la DeFi utiliza el [estándar ERC-20](/glossary/#erc-20). Las aplicaciones en DeFi utilizan un wrapper para ETH llamado Wrapped Ether (WETH). [Más información sobre Wrapper Ether](/wrapped-eth).
@@ -355,3 +356,7 @@ DeFi es un proyecto de código abierto. Puede inspeccionar, copiar e innovar tod
- [Servidor Discord de DeFi Llama](https://discord.defillama.com/)
- [Servidor Discord de DeFi Pulse](https://discord.gg/Gx4TCTk)
+
+
+
+
diff --git a/public/content/translations/es/desci/index.md b/public/content/translations/es/desci/index.md
index 508c74aa260..dee769c9266 100644
--- a/public/content/translations/es/desci/index.md
+++ b/public/content/translations/es/desci/index.md
@@ -96,7 +96,7 @@ Explore proyectos y únase a la comunidad DeSci.
- [VitaDAO: recibe financiación a través de acuerdos de investigación patrocinados para la investigación de la longevidad](https://www.vitadao.com/)
- [ResearchHub: publique un resultado científico y participe en conversaciones con pares](https://www.researchhub.com/)
- [LabDAO: pliegue una proteína simulada por ordenador](https://alphafodl.vercel.app/)
-- [dClimate API: consulta datos climáticos recopilados por una comunidad descentralizada](https://api.dclimate.net/)
+- [dClimate API: consulta datos climáticos recopilados por una comunidad descentralizada](https://www.dclimate.net/)
- [DeSci Foundation: creador de herramientas de publicación DeSci](https://descifoundation.org/)
- [DeSci.World: ventanilla única para que los usuarios vean e interactúen con la ciencia descentralizada](https://desci.world)
- [OceanDAO: financiación regida por una DAO para la ciencia relacionada con datos](https://oceanprotocol.com/)
@@ -118,7 +118,7 @@ Estamos abiertos a recibir sugerencias sobre nuevos proyectos por incluir, por f
- [Una guía para descentralizar la biotecnología de Jocelynn Pearl para el futuro de 16z](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [La oportunidad para la DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [Guía de DeSci](https://future.com/what-is-decentralized-science-aka-desci/)
-- [Recursos de ciencia descentralizados](https://www.vincentweisser.com/decentralized-science)
+- [Recursos de ciencia descentralizados](https://www.vincentweisser.com/desci)
- [Los IP-NFT de la molécula Biopharma: una descripción técnica](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [Construyendo sistemas sin confianza de la ciencia por Jon Starr](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Paul Kohlhaas - DeSci: El futuro de la ciencia descentralizada (pódcast)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a)
@@ -126,6 +126,7 @@ Estamos abiertos a recibir sugerencias sobre nuevos proyectos por incluir, por f
- [DeSci: El futuro de la investigación por Samuel Akinosho](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec)
- [La fundación científica (epílogo: DeSci y las nuevas primitivas cripto) por Nadia](https://nadia.xyz/science-funding)
- [La descentralización está provocando una disrupción en el desarrollo de fármacos](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f)
+- [¿Qué es DeSci: Ciencia Descentralizada?](https://usadailytimes.com/2022/09/12/what-is-desci-decentralized-science/)
### Videos {#videos}
@@ -134,3 +135,4 @@ Estamos abiertos a recibir sugerencias sobre nuevos proyectos por incluir, por f
- [La publicación científica está interrumpida. ¿Puede Web3 darle continuidad?](https://www.youtube.com/watch?v=WkvzYgCvWj8)
- [Juan Benet, DeSci, Laboratorios Independientes, & Ciencias de datos de gran escala](https://www.youtube.com/watch?v=zkXM9H90g_E)
- [Brunemeier: Cómo la ciencia descentralizada puede transformar la investigación biomédica y el capital de riesgo](https://www.youtube.com/watch?v=qB4Tc3FcVbM)
+- [Paige Donner: Herramientas de Ciencia Abierta conWeb3 & La cadena de bloques](https://www.youtube.com/watch?v=nC-2QWQ-lgw&t=17s)
diff --git a/public/content/translations/es/developers/docs/apis/json-rpc/index.md b/public/content/translations/es/developers/docs/apis/json-rpc/index.md
index 1cdae238485..0d2fd5beb83 100644
--- a/public/content/translations/es/developers/docs/apis/json-rpc/index.md
+++ b/public/content/translations/es/developers/docs/apis/json-rpc/index.md
@@ -202,13 +202,7 @@ Ninguno
**Devuelve**
-`String`: El ID de red actual.
-
-La lista completa de los ID de red actuales está disponible en [chainlist.org](https://chainlist.org). Algunos comunes son:
-
-- `1`: Red principal de Ethereum
-- `5`: Red de prueba Goerli
-- `11155111`: Red de prueba Sepolia
+`String`: ID de la red actual.
**Ejemplo**
@@ -219,10 +213,16 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67
{
"id":67,
"jsonrpc": "2.0",
- "result": "3"
+ "result": "1"
}
```
+> **Nota**: Los siguientes son los ID de red actuales:
+>
+> - `1`: Red principal de Ethereum
+> - `11155111`: Red de prueba Sepolia
+> - `17000`: Red de prueba Hoodi
+
### net_listening {#net_listening}
Muestra `true` si el cliente está escuchando activamente las conexiones de red.
diff --git a/public/content/translations/es/developers/docs/consensus-mechanisms/index.md b/public/content/translations/es/developers/docs/consensus-mechanisms/index.md
index aa85d7ae093..d15094c2a47 100644
--- a/public/content/translations/es/developers/docs/consensus-mechanisms/index.md
+++ b/public/content/translations/es/developers/docs/consensus-mechanisms/index.md
@@ -56,7 +56,7 @@ Los validadores crean bloques. Un validador se selecciona aleatoriamente en cada
Un sistema de prueba de participación es criptoeconómicamente seguro, porque un atacante que intente tomar el control de la cadena debe destruir una cantidad masiva de ETH. Un sistema de recompensas alienta a participantes individuales a comportarse honestamente, y las penalizaciones desaniman a los participantes a actuar malintencionadamente.
-Más información sobre la [prueba de participación](/developers/docs/consensus-mechanisms/pos/).
+Más información sobre la [prueba de participación](/developers/docs/consensus-mechanisms/pos/)
### Una guía visual {#types-of-consensus-video}
diff --git a/public/content/translations/es/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md b/public/content/translations/es/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
index 67f18ad0995..be54e89e119 100644
--- a/public/content/translations/es/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
+++ b/public/content/translations/es/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
@@ -4,138 +4,142 @@ description: Conozca mejor los vectores de ataque conocidos en la prueba de part
lang: es
---
-Los ladrones y saboteadores buscan constantemente oportunidades para atacar el software cliente de Ethereum. Esta página describe los vectores de ataque conocidos en la capa de consenso de Ethereum y describe cómo se pueden defender esos ataques. La información de esta página está resumida de una [versión más larga](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs).
+Los ladrones y saboteadores buscan constantemente oportunidades para atacar el software de cliente de Ethereum. Esta página describe los vectores de ataque conocidos en la capa de consenso de Ethereum y describe cómo se pueden defender esos ataques. La información en esta página está adaptada de una [versión más larga](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs).
-## Prerrequisitos {#prerequisites}
+## Requisitos previos {#prerequisites}
-Se requieren algunos conocimientos básicos de la[prueba de participación](/developers/docs/consensus-mechanisms/pos/). Además, será útil tener una comprensión básica de la [capa de incentivos](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties) y del algoritmo de elección de bifurcación de Ethereum, [LMD-GHOST](/developers/docs/consensus-mechanisms/pos/gasper).
+Se necesita algo de conocimiento básico sobre la [prueba de participación](/developers/docs/consensus-mechanisms/pos/). Además, también es de utilidad tener una comprensión básica de la [capa de incentivos de Ethereum](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties) y del algoritmo de selección de bifurcación (/developers/docs/consensus-mechanisms/pos/gasper).
## ¿Qué quieren los atacantes? {#what-do-attackers-want}
-Un error común es pensar que un atacante exitoso puede generar nuevo ether o drenar ether de cuentas arbitrarias. Nada de esto es posible, porque todas las transacciones las ejecutan todos los clientes de ejecución de la red. Deben cumplir con las condiciones básicas de validez (por ejemplo, las transacciones están firmadas con la clave privada del remitente, el remitente tiene suficiente saldo, etc.) o de lo contrario simplemente se revierten. Hay tres clases de resultados a las que un atacante podría apuntar de manera realista: reorganización, doble finalidad o retraso de finalización.
+Un error común es pensar que un atacante exitoso puede generar nuevo ether o drenar ether de cuentas arbitrarias. Nada de esto es posible, porque todas las transacciones las ejecutan todos los clientes de ejecución de la red. Deben cumplir con las condiciones básicas de validez (por ejemplo, las transacciones están firmadas con la clave privada del remitente, el remitente tiene suficiente saldo, etc.) o de lo contrario simplemente se revierten. Hay tres clases de resultados a las que un atacante podría apuntar de manera realista: reorganizaciones, doble finalidad o retraso de finalización.
-Una **«reorg»** es una reorganización de bloques en un nuevo orden, tal vez con alguna adición o sustracción de bloques en la cadena predilecta. Una reorg maliciosa podría garantizar que se incluyan o excluyan bloques específicos, lo que permite el doble gasto o la extracción de valor mediante transacciones (MEV) frontrunning (ventajistas) y backrunning (consecuentes). Las reorg también podrían utilizarse para evitar que ciertas transacciones se incluyan en la cadena predilecta, una forma de censura. La forma más extrema de reorganización es la «reversión de la finalidad», que elimina o reemplaza los bloques que se han finalizado previamente. Esto solo es posible si el atacante destruye más de 1/3 del total del ether en participación, esta garantía se conoce como «finalidad económica» y lo aborderemos más adelante.
+Una **"reorg"** es una modificiación de bloques en un nuevo orden, posiblemente con la adición o eliminación de algunos bloques en la cadena canónica. Una reorganización maliciosa podría garantizar que se incluyan o excluyan bloques específicos, lo que permite el doble gasto o la extracción de valor mediante transacciones (MEV) frontrunning (ventajistas) y backrunning (consecuentes). Las reorganizaciones también podrían utilizarse para evitar que ciertas transacciones se incluyan en la cadena predilecta: una forma de censura. La forma más extrema de reorganización es la «reversión de la finalidad», que elimina o reemplaza los bloques que se han finalizado previamente. Esto solo es posible si el atacante destruye más del 1/3 del total del ether en participación, esta garantía se conoce como «finalidad económica» y la aborderemos más adelante.
-**Doble finalidad** es la condición improbable pero grave en la que dos bifurcaciones pueden finalizar simultáneamente, creando una desunión permanente en la cadena. Esto es teóricamente posible para un atacante dispuesto a arriesgar el 34 % del total de ether en participación. La comunidad se vería obligada a coordinar fuera de la cadena y llegar a un acuerdo sobre qué cadena seguir, lo que requeriría fuerza en la capa social.
+La **"doble finalidad"** es una condición poco probable aunque grave en la que dos bifurcaciones logran finalizar simultáneamente, creando una división permanente en la cadena. Esto es teóricamente posible para un atacante dispuesto a arriesgar el 34 % del total de ether en participación. La comunidad se vería obligada a coordinar fuera de la cadena y llegar a un acuerdo sobre qué cadena seguir, lo que requeriría fuerza en la capa social.
Un ataque de **retraso de finalidad** impide que la red alcance las condiciones necesarias para finalizar secciones de la cadena. Sin finalidad, es difícil confiar en las aplicaciones financieras construidas sobre Ethereum. El objetivo de un ataque de retraso de finalidad es simplemente interrumpir Ethereum en lugar de beneficiarse directamente, a menos que el atacante tenga alguna posición estratégica corta.
Un ataque a la capa social podría tener como objetivo socavar la confianza del público en Ethereum, devaluar el ether, reducir la adopción o debilitar a la comunidad de Ethereum para dificultar la coordinación fuera de banda.
-Ahora que ya sabemos por qué un adversario podría atacar Ethereum, en las siguientes secciones examinaremos _cómo_ podrían hacerlo.
+Habiendo establecido por qué un adversario podría atacar Ethereum, las siguientes secciones examinan _cómo_ podrían llevarse a cabo dichos ataques.
## Métodos de ataque {#methods-of-attack}
### Ataques de capa 0 {#layer-0}
-En primer lugar, las personas que no participan activamente en Ethereum (ejecutando el software del cliente) pueden atacar apuntando a la capa social (Capa 0). La capa 0 es la base sobre la que se construye Ethereum y, como tal, representa una superficie potencial para los ataques con consecuencias que crean una reacción en cadena por el resto del bloque. Algunos ejemplos podrían incluir:
+En primer lugar, las personas que no participan activamente en Ethereum (ejecutando el software del cliente) pueden atacar apuntando a la capa social (capa 0). La capa 0 es la base sobre la que se construye Ethereum y, como tal, representa una superficie potencial para ataques con consecuencias que creen una reacción en cadena en el resto del bloque. Algunos ejemplos podrían incluir:
+
+- Una campaña de desinformación podría socavar la confianza que la comunidad tiene en la hoja de ruta de Ethereum, los equipos de desarrolladores, las aplicaciones, etc. Lo que a su vez podría disminuir el número de personas dispuestas a participar en la seguridad de la red, degradando tanto la descentralización como la seguridad criptoeconómica.
-- Una campaña de desinformación podría erosionar la confianza que la comunidad tiene en la hoja de ruta de Ethereum, los equipos de desarrolladores, las aplicaciones, etc. Esto podría disminuir el número de personas dispuestas a participar en la seguridad de la red, degradando tanto la descentralización como la seguridad criptoeconómica.
- Ataques dirigidos y/o intimidaciones hacia la comunidad de desarrolladores. Esto podría ocasionar la salida voluntaria de los desarrolladores y ralentizar el progreso de Ethereum.
-- La regulación exagerada también podría considerarse un ataque a la capa 0, ya que podría disincentivar rápidamente la participación y la adopción.
-- Infiltración de operadores expertos con malas intenciones en la comunidad de desarrolladores cuyo objetivo es ralentizar el progreso mediante procrastinación en debates, el retraso de las decisiones clave, la creación de correos basura, etc.
+- La regulación excesiva también podría considerarse un ataque a la capa 0, ya que podría disincentivar rápidamente la participación y la adopción.
+
+- La infiltración de operadores expertos con malas intenciones en la comunidad de desarrolladores cuyo objetivo es ralentizar el progreso mediante procrastinación en debates, el retraso de las decisiones clave, la creación de correos basura, etc.
+
- Sobornos a operadores clave en el ecosistema de Ethereum para influir en la toma de decisiones.
Lo que hace que estos ataques sean especialmente peligrosos es que, en muchos casos, se requiere muy poco capital o conocimientos técnicos. Un ataque de capa 0 podría ser un multiplicador de un ataque criptoeconómico. Por ejemplo, si una parte interesada mayoritariamente maliciosa logra la censura o la reversión de la finalidad, socavar la capa social podría dificultar la coordinación de una respuesta de la comunidad fuera de banda.
Defenderse contra los ataques de capa 0 probablemente no sea sencillo, pero se pueden establecer algunos principios básicos. Uno es mantener una alta relación general de ruido para la información pública sobre Ethereum, creada y propagada por miembros honestos de la comunidad a través de blogs, servidores de Discord, especificaciones anotadas, libros, pódcasts y Youtube. Aquí en ethereum.org nos esforzamos por mantener la información precisa y traducirla a tantos idiomas como sea posible. Inundar un espacio con información y memes de alta calidad es una defensa eficaz contra la desinformación.
-Otro escudo importante contra los ataques de la capa social es una clara declaración de misión y un protocolo de gobernanza. Ethereum se ha posicionado como el campeón de la descentralización y la seguridad entre capas 1 de contratos inteligentes, a la vez que valora altamente la escalabilidad y la sostenibilidad. Cualesquiera que sean los desacuerdos que surjan en la comunidad Ethereum, afectan mínimamente a estos principios básicos. Evaluar una narrativa contra estos principios básicos y examinarlos a través de sucesivas rondas de revisión en el proceso de EIP (propuesta de mejora de Ethereum), podría ayudar a la comunidad a distinguir a los operadores buenos de los malos y limitar el alcance de los maliciosos en la dirección futura de Ethereum.
+Otro escudo importante contra los ataques de capa social es una clara declaración de misión y un protocolo de gobernanza. Ethereum se ha posicionado como el campeón de la descentralización y la seguridad entre capas 1 de contratos inteligentes, a la vez que valora altamente la escalabilidad y la sostenibilidad. Cualesquiera que sean los desacuerdos que surjan en la comunidad Ethereum, afectan mínimamente a estos principios básicos. Evaluar una narrativa contra estos principios básicos y examinarlos a través de sucesivas rondas de revisión en el proceso de EIP (propuesta de mejora de Ethereum), podría ayudar a la comunidad a distinguir a los operadores buenos de los malos y limitar el alcance de los maliciosos en la dirección futura de Ethereum.
-Por último, es fundamental que la comunidad de Ethereum permanezca abierta y receptiva para todos los participantes. Una comunidad con guardianes y exclusividad es especialmente vulnerable al ataque social porque es fácil construir narrativas de «nosotros y ellos». El tribalismo y el maximalismo tóxico dañan a la comunidad y erosionan la seguridad de la capa 0. Los ethereans con un interés personal en la seguridad de la red deben ver su conducta en línea y en el mundo real como una contribución directa a la seguridad de la capa 0 de Ethereum.
+Por último, es fundamental que la comunidad de Ethereum permanezca abierta y receptiva para todos los participantes. Una comunidad con guardianes y exclusividad es especialmente vulnerable al ataque social porque es fácil construir narrativas de «nosotros y ellos». El tribalismo y el maximalismo tóxico dañan a la comunidad y erosionan la seguridad de la capa 0. Los «ethereans» con interés personal en la seguridad de la red deben ver su conducta en línea y en el mundo real como una contribución directa a la seguridad de la capa 0 de Ethereum.
-### Cómo atacar el protocolo {#attacking-the-protocol}
+### Atacar el protocolo {#attacking-the-protocol}
-Cualquiera puede ejecutar el software cliente de Ethereum. Para añadir un validador a un cliente, un usuario debe participar con 32 ether en el contrato de depósito. Un validador permite a un usuario participar activamente en la seguridad de la red de Ethereum proponiendo y certificando nuevos bloques. El validador ahora tiene una voz que puede usar para influir en el contenido futuro de la cadena de bloques y puede hacerlo honestamente y hacer crecer su bloque de ether a través de recompensas, o puede tratar de manipular el proceso para su propio beneficio, arriesgando su participación. Una forma de montar un ataque es acumular una mayor proporción de la participación total y luego usarla para superar a los validadores honestos. Cuanto mayor sea la proporción de la participación controlada por el atacante, mayor será su poder de voto, especialmente en ciertos hitos económicos que exploraremos más adelante. Sin embargo, la mayoría de los atacantes no podrán acumular suficiente ether para atacar de esta manera, por lo que en su lugar tienen que usar técnicas sutiles para manipular a la mayoría honesta para que actúe de cierta manera.
+Cualquiera puede ejecutar el software cliente de Ethereum. Para añadir un validador a un cliente, un usuario debe participar con 32 ether en el contrato de depósito. Un validador permite a un usuario participar activamente en la seguridad de la red de Ethereum proponiendo y certificando nuevos bloques. El validador ahora tiene una voz que puede usar para influir en el contenido futuro de la cadena de bloques y puede hacerlo honestamente y hacer crecer su bloque de ether a través de recompensas, o puede tratar de manipular el proceso para su propio beneficio, arriesgando su participación. Una forma de montar un ataque es acumular una mayor proporción de la participación total y luego usarla para superar a los validadores honestos. Cuanto mayor sea la proporción de la participación controlada por el atacante, mayor será su poder de voto, especialmente en ciertos acontecimientos económicos estelares que exploraremos más adelante. Sin embargo, la mayoría de los atacantes no podrán acumular suficientes ether para atacar de esta manera, por lo que en su lugar tienen que usar técnicas sutiles para coaccionar a la mayoría honesta para que actúe de cierta manera.
-Fundamentalmente, todos los ataques de participación pequeña son variaciones sutiles en dos tipos de mal comportamiento del validador: subactividad (no certificar/proponer o hacerlo tarde) o sobreactividad (proponer/acreditar demasiadas veces en una ranura). En sus formas más suave, estas acciones son manejadas fácilmente por el algoritmo de elección de bifurcación y la capa de incentivos, pero hay formas inteligentes de jugar el sistema en beneficio de un atacante.
+Fundamentalmente, todos los ataques de participación pequeña son variaciones sutiles de dos tipos de mal comportamiento del validador: subactividad (no certificar/proponer o hacerlo tarde) o sobreactividad (proponer/acreditar demasiadas veces en una ranura). En su versión más descafeinada, estas acciones las maneja fácilmente el algoritmo de elección de bifurcación y la capa de incentivos, no obstante hay formas inteligentes de trucar el sistema en beneficio de un atacante.
-### Ataques que utilizan pequeñas cantidades de ETH {#attacks-by-small-stakeholders}
+### Ataques utilizando pequeñas cantidades de ETH{#attacks-by-small-stakeholders}
-#### reorgs {#reorgs}
+#### reorganizaciones{#reorgs}
-Varios documentos han explicado los ataques a Ethereum que logran reorgs o retrasos en la finalidad con solo una pequeña proporción del total de ether en participación. Estos ataques generalmente se basan en que el atacante retiene cierta información de otros validadores y luego la libera de alguna manera matizada y/o en algún momento oportuno. Su objetivo es desplazar a algún bloque honesto de la cadena predilecta. [Neuder et al 2020](https://arxiv.org/pdf/2102.02247.pdf) mostró cómo un validador atacante puede crear y certificar un bloque (`B`) para una ranura en particular `n+1`, pero abstenerse de propagarlo a otros nodos de la red. En su lugar, se aferran a ese bloque certificado hasta la siguiente ranura `n+2`. Un validador honesto propone un bloque (`C`) para la ranura `n+2`. Casi simultáneamente, el atacante puede liberar su bloque retenido (`B`) y sus certificados retenidos para ello, y también certificar que `B` es la cabeza de la cadena con sus votos para la ranura `n+2`, negar la existencia de un bloque honesto `C`. Cuando se libera el bloque honesto `D`, el algoritmo de elección de bifurcación ve `D` construido sobre `B` es más pesado que `D` construido sobre `C`. Por lo tanto, el atacante ha logrado eliminar el bloque honesto `C` en la ranura `n+2` de la cadena predilecta utilizando una reorg ex antes de 1 bloque. [Un atacante con el 34 %](https://www.youtube.com/watch?v=6vzXwwk12ZE) de la apuesta tiene muy buenas posibilidades de tener éxito en este ataque, como se explica [en esta nota](https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair). En teoría, sin embargo, este ataque podría intentarse con participaciones más pequeñas. [Neuder et al 2020](https://arxiv.org/pdf/2102.02247.pdf) describieron este ataque trabajando con una participación del 30 %, pero más tarde se demostró que era viable con [2 % de la participación total](https://arxiv.org/pdf/2009.04987.pdf) y luego de nuevo [validador único](https://arxiv.org/abs/2110.10086#) Utilizando técnicas de equilibrio que examinaremos en la siguiente sección.
+Varios documentos han explicado los ataques a Ethereum que logran reorganizaciones o retrasos en la finalidad con solo una pequeña proporción del total de ether en participación. Estos ataques generalmente se basan en que el atacante retiene cierta información de otros validadores y luego la libera de alguna manera matizada y/o en algún momento oportuno. Su objetivo es desplazar a algún bloque honesto de la cadena predilecta. [Neuder y otros 2020](https://arxiv.org/pdf/2102.02247.pdf) mostraron cómo un validador atacante puede crear y certificar un bloque (`B`) para una ranura específica `n+1`, pero abstenerse de propagarlo a otros nodos en la red. En su lugar, retienen ese bloque certificado hasta el siguiente slot `n+2`. Un validador honesto propone un bloque ('C') para la ranura 'n+2'. Casi simultáneamente, el atacante puede liberar su bloque retenido (`B`) junto con las certificaciones retenidas para dicho bloque y, además, certificar que `B` es la cabecera de la cadena con sus votos para la ranura `n+2`, negando efectivamente la existencia del bloque honesto `C`. Cuando se libera el bloque honesto `D`, el algoritmo de selección de bifurcación detecta que `D` construido sobre `B` es más pesado que `D` construido sobre `C`. Por lo tanto, el atacante ha logrado eliminar el bloque honesto `C` en la ranura `n+2` de la cadena predilecta utilizando una reorganización 1-block ex. [Un atacante con el 34 %](https://www.youtube.com/watch?v=6vzXwwk12ZE) de la participación tiene una alta probabilidad de tener éxito en este ataque, como se explica [en esta nota](https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair). En teoría, sin embargo, este ataque podría intentarse con participaciones más pequeñas. [Neuder y otros 2020](https://arxiv.org/pdf/2102.02247.pdf) describieron este ataque funcionando con un 30 % de participación, pero más tarde se demostró que era viable con un [2 % del total de la participación](https://arxiv.org/pdf/2009.04987.pdf) y luego nuevamente para un [único validador](https://arxiv.org/abs/2110.10086#) utilizando técnicas de equilibrio que examinaremos en la siguiente sección.

-Un diagrama conceptual del ataque de reorg de un bloque descrito anteriormente (adaptado de https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair)
+Un diagrama conceptual del ataque de reorganización de un bloque descrito anteriormente (adaptado de https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair)
-Un ataque más sofisticado puede dividir el validador honesto establecido en grupos discretos que tienen diferentes puntos de vista de la cabeza de la cadena. Esto se conoce como un **ataque de equilibrio**. El atacante espera su oportunidad de proponer un bloque, y cuando llega se equivocan y proponen dos. Envían un bloque a la mitad del conjunto de validadores honestos y el otro bloque a la otra mitad. El equívoco sería detectado por el algoritmo de elección de bifurcación y se recortaría y expulsaría de la red al proponente de bloques, pero los dos bloques todavía existirían y tendrían aproximadamente la mitad del conjunto de validadores que certifican cada bifurcación. Mientras tanto, los validadores maliciosos restantes retienen sus certificaciones. Luego, al liberar selectivamente las certificaciones que favorecen una u otra bifurcación a suficientes validadores justo cuando se ejecuta el algoritmo de elección de bifurcación, inclinan el peso acumulado de las certificaciones a favor de una u otra bifurcación. Esto puede continuar indefinidamente, con los validadores atacantes manteniendo una división uniforme de validadores en las dos bifurcaciones. Dado que ninguna de las dos bifurcaciones puede atraer a una supermayoría de 2/3, la red no finalizaría.
+Un ataque más sofisticado puede dividir el validador honesto establecido en grupos discretos que tienen diferentes puntos de vista de la cabeza de la cadena. Esto se conoce como **ataque de equilibrio**. El atacante espera su oportunidad de proponer un bloque, y cuando llega se equivoca y propone dos. Envía un bloque a la mitad del conjunto de validadores honestos y el otro bloque a la otra mitad. E algoritmo de elección de bifurcación detectaría la equivocación y se recortaría y expulsaría de la red al proponente de bloques, sin embargo los dos bloques todavía existirían y tendrían aproximadamente la mitad del conjunto de validadores que certifican cada bifurcación. Mientras tanto, los validadores maliciosos restantes retienen sus certificaciones. Luego, al liberar selectivamente las certificaciones que favorecen una u otra bifurcación a suficientes validadores justo cuando se ejecuta el algoritmo de elección de bifurcación, inclinan el peso acumulado de las certificaciones a favor de una u otra bifurcación. Esto puede continuar indefinidamente, con los validadores atacantes manteniendo una división uniforme de validadores en las dos bifurcaciones. Dado que ninguna de las dos bifurcaciones puede atraer a una supermayoría de 2/3, la red no finalizaría.
**Los ataques de rebote** son similares. Los validadores atacantes vuelven a retener los votos. En lugar de liberar los votos para mantener una división uniforme entre dos bifurcaciones, utilizan sus votos en momentos oportunos para justificar los puntos de control que se alternan entre la bifurcación A y la bifurcación B. Este vaivén de justificación entre dos bifurcaciones evita que haya pares de puntos de control de origen y destino justificados que se pueden finalizar en cualquiera de las cadenas, deteniendo la finalidad.
-Tanto los ataques de rebote como los de equilibrio dependen de que el atacante tenga un control muy preciso de la sincronización de los mensajes en toda la red, lo cual es poco probable. No obstante, las defensas están integradas en el protocolo en forma de ponderación adicional dada a los avisos de mensajes en comparación con los lentos. Esto se conoce como [impulso del peso del proponente](https://github.com/ethereum/consensus-specs/pull/2730). Para defenderse de los ataques de rebote, se actualizó el algoritmo de selección de bifurcación para que el último punto de control justificado sólo pueda cambiar al de una cadena alternativa durante el [primer 1/3 de las ranuras en cada época](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114). Esta condición evita que el atacante ahorre votos para desplegarlos más tarde: el algoritmo de elección de bifurcación simplemente se mantiene fiel al punto de control que eligió en el primer 1/3 de la época durante el cual los validadores más honestos habrían votado.
+Tanto los ataques de rebote como los de equilibrio dependen de que el atacante tenga un control muy preciso de la sincronización de los mensajes en toda la red, lo cual es poco probable. No obstante, las defensas están integradas en el protocolo en forma de ponderación adicional dada a los avisos de mensajes en comparación con los lentos. Esto se conoce como [impulso de peso del proponente](https://github.com/ethereum/consensus-specs/pull/2730). Para defenderse contra los ataques de rebote, el algoritmo de selección de bifurcación se ha actualizado de manera que el último punto de control justificado solo puede cambiar al de una cadena alternativa durante el [primer 1/3 de las ranuras en cada época](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114). Esta condición evita que el atacante ahorre votos para desplegarlos más tarde: el algoritmo de elección de bifurcación simplemente se mantiene fiel al punto de control que eligió en el primer 1/3 de la época durante el cual los validadores más honestos habrían votado.
-Combinadas, estas medidas crean un escenario en el que un proponente de bloques honesto emite su bloque muy rápidamente después del inicio de la ranura, luego hay un período de ~1/3 de una ranura (4 segundos) en el que ese nuevo bloque podría hacer que el algoritmo de elección de bifurcación cambie a otra cadena. Después de esa misma fecha límite, las certificaciones que lleguen de validadores lentos se ponderan en comparación con los que llegaron antes. Esto favorece poderosamente a los proponentes de avisos y validadores a la hora de determinar la cabeza de la cadena y reduce sustancialmente la probabilidad de un ataque de equilibrio o rebote exitoso.
+Combinadas, estas medidas crean un escenario en el que un proponente de bloques honesto emite su bloque muy rápidamente después del inicio de la ranura, luego hay un período de ~1/3 de una ranura (4 segundos) en el que ese nuevo bloque podría hacer que el algoritmo de elección de bifurcación cambie a otra cadena. Después de esa misma fecha límite, las certificaciones que lleguen de validadores lentos se ponderan en comparación con aquellas que llegaron antes. Esto favorece poderosamente a los proponentes de avisos y validadores a la hora de determinar la cabeza de la cadena y reduce sustancialmente la probabilidad de un ataque de equilibrio o rebote exitoso.
-Vale la pena señalar que el impulso del proponente por sí solo solo se defiende contra las «reorgs baratas», es decir, las intentadas por un atacante con una pequeña participación. De hecho, el impulso de la propuesta en sí mismo puede ser jugado por partes interesadas más grandes. Los autores de [esta publicación](https://ethresear.ch/t/change-fork-choice-rule-to-mitigate-balancing-and-reorging-attacks/11127) describen cómo un atacante con el 7 % de participación puede desplegar sus votos estratégicamente para engañar a los validadores honestos para que construyan su bifurcación, reorganizando un bloque honesto. Este ataque se ideó asumiendo condiciones de latencia ideales que son muy poco probables. Las probabilidades siguen siendo muy altas para el atacante, y la mayor participación también significa más capital en riesgo y un desincentivo económico más fuerte.
+Vale la pena señalar que el impulso del proponente por sí solo solo se defiende contra las «reorganizaciones baratas», es decir, las que intenta un atacante con una pequeña participación. De hecho, el impulso de la propuesta en sí mismo pueden lanzarlo partes interesadas más grandes. Los autores de [esta publicación](https://ethresear.ch/t/change-fork-choice-rule-to-mitigate-balancing-and-reorging-attacks/11127) describren como un atacante con el 7 % de la participación puede implementar sus votos estrategicamente para engañar a los validadores honestos, reorganizando bloques confiables, para construir sus bifurcaciones. Este ataque se ideó asumiendo condiciones de latencia ideales que son muy poco probables. Las probabilidades siguen siendo muy altas para el atacante, y la mayor participación también significa más capital en riesgo y un desincentivo económico más fuerte.
-También se propuso un [ataque de equilibrio dirigido específicamente a la regla LMD](https://ethresear.ch/t/balancing-attack-lmd-edition/11853), que se sugirió que fuera viable a pesar del aumento del proponente. Un atacante establece dos cadenas competidoras equivocando su propuesta de bloque y propagando cada bloque a aproximadamente la mitad de la red cada uno, estableciendo un equilibrio aproximado entre las bifurcaciones. Luego, los validadores confabulados equivocan sus votos, programándolo para que la mitad de la red reciba sus votos para bifurcación `A` primero y la otra mitad reciba sus votos para bifurcación`B` primero. Dado que la regla LMD descarta la segunda certificación y mantiene solo la primera para cada validador, la mitad de la red ve votos para `A` y ninguno para `B`, la otra mitad ve votos para `B` y ninguno para `A`. Los autores describen la regla LMD que le da al adversario un «poder notable» para montar un ataque de equilibrio.
+También se propuso [un ataque de equilibrio específicamente dirigido a la regla LMD](https://ethresear.ch/t/balancing-attack-lmd-edition/11853), el cual sugirió que sería variable a pesar de la intención de quienes proponen. Un atacante establece dos cadenas competidoras equivocando su propuesta de bloque y propagando cada bloque a aproximadamente la mitad de la red cada uno, lo que establece un equilibrio aproximado entre las bifurcaciones. Seguidamente, los validadores que están en colusión confunden sus votos, sincronizándolos de manera que la mitad de la red reciba sus votos para la primera bifurcación `A` y la otra mitad reciba sus votos para la primera bifurcación `B`. Dado que la regla LMD descarta la segunda certificación y conserva solo la primera para cada validador, la mitad de la red observa votos para `A` y ninguno para `B`, mientras que la otra mitad ve votos para `B` y ninguno para `A`. Los autores describen la regla LMD que le da al adversario un «poder notable» para montar un ataque de equilibrio.
-Este vector de ataque LMD fue cerrado por [actualizando el algoritmo de elección de bifurcación](https://github.com/ethereum/consensus-specs/pull/2845) para que descarte por completo los validadores equívocos de la consideración de elección de bifurcación. Los validadores equívocos también tienen su influencia futura descontada por el algoritmo de elección de bifurcación. Esto evita el ataque de equilibrio descrito anteriormente, al tiempo que mantiene la resiliencia contra los ataques avalanchas.
+Este vector de ataque LMD se cerró mediante [la actualización del algoritmo de selección de bifurcación](https://github.com/ethereum/consensus-specs/pull/2845) para que descarte por completo a los validadores que confunden sus votos de la consideración en la selección de bifurcación. Los validadores equívocos también tienen su influencia futura descontada por el algoritmo de elección de bifurcación. Esto evita el ataque de equilibrio descrito anteriormente, al tiempo que mantiene la resiliencia contra los ataques avalanchas.
-Otra clase de ataque, llamada [**ataques de avalancha**](https://ethresear.ch/t/avalanche-attack-on-proof-of-stake-ghost/11854/3), se describió en un artículo[en marzo de 2022](https://arxiv.org/pdf/2203.01315.pdf). Para montar un ataque avalancha, el atacante necesita controlar a varios proponentes de bloques consecutivos. En cada una de las ranuras de los proponentes de bloque, el atacante retiene su bloque, recogiéndolos hasta que la cadena honesta alcance un peso de subárbol igual con los bloques retenidos. Luego, los bloques retenidos se liberan para que sean equívocos al máximo. Los autores sugieren que el impulso del proponente, la defensa principal contra los ataques de equilibrio y de rebote no protegen contra algunas variantes de ataques avalancha. Sin embargo, los autores también solo demostraron el ataque a una versión altamente idealizada del algoritmo de selección de bifurcación de Ethereum (usaron GHOST sin LMD).
+Otra clase de ataque conocido como [**ataques de avalancha**](https://ethresear.ch/t/avalanche-attack-on-proof-of-stake-ghost/11854/3) se describió en un [documento de marzo de 2022](https://arxiv.org/pdf/2203.01315.pdf). Para montar un ataque avalancha, el atacante necesita controlar a varios proponentes de bloques consecutivos. En cada una de las ranuras de los proponentes de bloque, el atacante retiene su bloque, recogiéndolo hasta que la cadena honesta alcanza un peso de subárbol igual con los bloques retenidos. Seguidamente, los bloques retenidos se liberan para que sean equívocos al máximo. Los autores sugieren que el impulso del proponente, la defensa principal contra los ataques de equilibrio y de rebote no protegen contra algunas variantes de ataques avalancha. Sin embargo, los autores solo demostraron asímismo el ataque a una versión altamente idealizada del algoritmo de selección de bifurcación de Ethereum (usaron GHOST sin LMD).
-El ataque avalancha se ve mitigado por la parte LMD del algoritmo de elección de bifurcación LMD-GHOST. LMD significa «last message driven» (último mensaje dirigido) y se refiere a una tabla mantenida por cada validador que contiene el último mensaje recibido de otros validadores. Ese campo solo se actualiza si el nuevo mensaje es de una ranura posterior a la que ya está en la tabla para un validador en particular. En la práctica, esto significa que en cada ranura, el primer mensaje recibido es el que aceptó y cualquier mensaje adicional es una equivocación que se debe ignorar. Dicho de otra manera, los clientes de consenso no cuentan las equivocaciones: utilizan el primer mensaje que llega de cada validador y las equivocaciones simplemente se descartan, evitando los ataques avalancha.
+El ataque de avalancha se ve mitigado por la parte LMD del algoritmo de elección de bifurcación LMD-GHOST. LMD significa «last message driven» (último mensaje dirigido) y se refiere a una tabla mantenida por cada validador que contiene el último mensaje recibido de otros validadores. Ese campo solo se actualiza si el nuevo mensaje es de una ranura posterior a la que ya está en la tabla para un validador en particular. En la práctica, esto significa que en cada ranura, el primer mensaje recibido es el que se ha aceptado y cualquier mensaje adicional es una equivocación que se debe ignorar. Dicho de otra manera, los clientes de consenso no cuentan las equivocaciones: utilizan el primer mensaje que llega de cada validador y las equivocaciones simplemente se descartan, evitando los ataques avalancha.
-Hay varias otras posibles actualizaciones futuras de la regla de elección de bifurcación que podrían aumentar la seguridad proporcionada por el impulsor-proponente. Una es [view-merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739), donde los certificadores congelan su vista de la opción de bifurcación `n` segundos antes del inicio de una ranura y el proponente luego ayuda a sincronizar la vista de la cadena a través de la red. Otra actualización potencial es [finalidad de una sola ranura](https://notes.ethereum.org/@vbuterin/single_slot_finality), que protege contra los ataques basados en el tiempo del mensaje al finalizar la cadena después de una sola ranura.
+Hay distintas actualizaciones posibles futuras de la regla de elección de bifurcación que podrían aumentar la seguridad proporcionada por el impulsor-proponente. Una de ellas es [view-merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739), donde los certificadores congelan su vista de la selección de bifurcación `n` segundos antes del comienzo de una ranura, y quien propone luego ayuda a sincronizar la vista de la cadena a través de la red. Otra posible actualización es [finalidad de un solo slot](https://notes.ethereum.org/@vbuterin/single_slot_finality), que protege contra ataques basados en el tiempo de los mensajes al finalizar la cadena después de solo una ranura.
-#### Retraso de finalidad {#finality-delay}
+#### Retraso de finalidad{#finality-delay}
-[El mismo documento](https://econcs.pku.edu.cn/wine2020/wine2020/Workshop/GTiB20_paper_8.pdf) que describió por primera vez el ataque de reorganización de un solo bloque de bajo coste también describió un ataque de retraso de finalidad (también conocido como «fracaso de vivacidad») que se basa en que el atacante sea el proponente de bloques para un bloque de límite de época. Esto es fundamental porque estos bloques de límites de época se convierten en los puntos de control que Casper FFG utiliza para finalizar partes de la cadena. El atacante simplemente retiene su bloqueo hasta que suficientes validadores honestos utilicen sus votos de FFG a favor del bloqueo límite de la época anterior como el objetivo de finalización actual. Luego liberan su bloqueo retenido. Certifican su bloqueo y los validadores honestos restantes también crean bifurcaciones con diferentes puntos de control de destino. Si lo cronometran bien, evitarán la finalidad, porque no habrá una supermayoría de 2/3 que acredite ninguna de las dos bifurcaciones. Cuanto menor sea la participación, más preciso debe ser el momento, porque el atacante controla menos certificaciones directamente, y menor es la probabilidad de que el atacante controle al validador que propone un determinado bloque de límite de época.
+[El mismo documento]
+(https://econcs.pku.edu.cn/wine2020/wine2020/Workshop/GTiB20_paper_8.pdf) que primero relató el ataque de reorganización de un solo bloque de bajo coste también describió un ataque de retraso de finalidad (también conocido como «liveness failure» en inglés), el cual depende de que el atacante sea quien propone el bloque para un bloque límite de época. Esto es fundamental porque estos bloques de límites de época se convierten en los puntos de control que Casper FFG utiliza para finalizar partes de la cadena. El atacante simplemente retiene su bloqueo hasta que suficientes validadores honestos utilicen sus votos de FFG a favor del bloqueo límite de la época anterior como el objetivo de finalización actual. Luego liberan su bloqueo retenido. Certifican su bloqueo y los validadores honestos restantes también crean bifurcaciones con diferentes puntos de control de destino. Si lo sincronizan bien, evitarán la finalidad, porque no habrá una supermayoría de 2/3 que certifique ninguna de las dos bifurcaciones. Cuanto menor sea la participación, más precisa debe ser la sincronización, porque el atacante controla menos certificaciones directamente, y menor es la probabilidad de que el atacante controle al validador que propone un determinado bloque de límite de época.
-#### Ataques de largo alcance {#long-range-attacks}
+#### Ataques de alto alcance {#long-range-attacks}
-También hay una clase de ataque específico para las cadenas de bloques de prueba de participación que involucra a un validador que participó en el bloque inicial manteniendo una bifurcación separada de la cadena de bloques junto con la honesta, convenciendo finalmente al validador honesto de cambiar a ella en algún momento oportuno mucho más tarde. Este tipo de ataque no es posible en Ethereum debido al dispositivo de finalidad que garantiza que todos los validadores estén de acuerdo en el estado de la cadena honesta a intervalos regulares («puntos de control»). Este simple mecanismo neutraliza a los atacantes de largo alcance, porque los clientes de Ethereum simplemente no reorganizan los bloques finalizados. Los nuevos nodos que se unen a la red lo hacen encontrando un hash de estado reciente fiable (un «[punto de control](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/) de sujetividad débil») y usándolo como un bloque de pseudoinicial para construir sobre él. Esto crea una «pasarela de confianza» para que un nuevo nodo entre en la red antes de que pueda comenzar a verificar la información por sí mismo.
+Existe también una clase de ataque específico para las cadenas de bloques de prueba de participación dirigido a un validador que participó en el bloque inicial, manteniendo una bifurcación separada de la cadena de bloques junto con la honesta, en el que se logra finalmente que el validador honesto cambié a ella en algún momento oportuno mucho más adelante. Este tipo de ataque no puede producirse en Ethereum, debido al dispositivo de finalidad que garantiza que todos los validadores estén de acuerdo en el estado de la cadena honesta a intervalos regulares («puntos de control»). Este simple mecanismo neutraliza a los atacantes de largo alcance, porque los clientes de Ethereum simplemente no reorganizan los bloques finalizados. Los nuevos nodos que se unen a la red lo hacen encontrando un hash de estado reciente de confianza (un “[punto de referencia de debilidad subjetiva](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/)”) y usándolo como un bloque pseudo-origen sobre el cual construir. Esto crea una «pasarela de confianza» para que un nuevo nodo entre en la red antes de que pueda comenzar a verificar la información por sí mismo.
-#### Denegación de servicio {#denial-of-service}
+#### Negación del servicio {#denial-of-service}
-El mecanismo PoS de Ethereum selecciona un solo validador del grupo de validadores totales establecido para ser un proponente de bloques en cada ranura. Esto se puede calcular utilizando una función conocida públicamente y es posible que un adversario identifique al siguiente proponente de bloques un poco antes de su propuesta de bloques. Luego, el atacante puede enviar correo basura al proponente del bloque para evitar que intercambie información con sus compañeros. Para el resto de la red, parecería que el proponente de bloques estuviera fuera de línea y la ranura simplemente se quedaría vacía. Esto podría ser una forma de censura contra validadores específicos, impidiéndoles agregar información a la cadena de bloques. La implementación de elecciones de un solo líder secreto (SSLE) o elecciones de no solo un líder secreto mitigará los riesgos de DoS, porque solo el proponente del bloque sabe que han sido seleccionados y la selección no se puede conocer de antemano. Esto aún no se ha implementado, pero es un área activa de [investigación y desarrollo](https://ethresear.ch/t/secret-non-single-leader-election/11789).
+El mecanismo PoS de Ethereum selecciona un solo validador del grupo de validadores totales establecido para ser un proponente de bloques en cada ranura. Esto se puede calcular utilizando una función conocida públicamente y es posible que un adversario identifique al siguiente proponente de bloques un poco antes de su propuesta de bloques. Luego, el atacante puede enviar correo basura al proponente del bloque para evitar que intercambie información con sus compañeros. Para el resto de la red, parecería que el proponente de bloques estuviera fuera de línea y que la ranura se quedara simplemente vacía. Lo que podría ejercer como forma de censura contra validadores específicos, impidiéndoles agregar información a la cadena de bloques. La implementación de elecciones de un solo líder secreto (SSLE) o elecciones de no solo un líder secreto mitigará los riesgos de DoS, porque solo el proponente del bloque sabe que han sido seleccionados y la selección no se puede conocer de antemano. Esto aún no se ha implementado, sin embargo, es un área activa de [I+D](https://ethresear.ch/t/secret-non-single-leader-election/11789).
-Todo esto apunta al hecho de que es muy difícil atacar con éxito a Ethereum con una pequeña participación. Los ataques viables que se han descrito aquí requieren un algoritmo de elección de bifurcación idealizado, condiciones de red improbables o los vectores de ataque ya se han cerrado con parches relativamente menores para el software del cliente. No se descarta, por descontado, la posibilidad de que existan días cero en la naturaleza, pero demuestra el nivel extremadamente alto de aptitud técnica, el conocimiento de la capa de consenso y la suerte que se requiere para que un atacante de participación minoritaria sea efectivo. Desde la perspectiva de un atacante, su mejor apuesta podría ser acumular la mayor cantidad de ether posible y regresar armado con una mayor proporción de la participación total.
+Todo esto apunta al hecho de que es muy difícil atacar con éxito a Ethereum con una pequeña participación. Los ataques viables que se han descrito aquí requieren un algoritmo de elección de bifurcación idealizado, unas condiciones de red improbables o vectores de ataque que ya se han cerrado con parches relativamente menores para el software del cliente. No se descarta, por descontado, la posibilidad de que existan días cero no planificados, pero demuestra el nivel extremadamente alto de habilidades técnicas, el conocimiento de la capa de consenso y la suerte que se requiere para que un atacante de participación minoritaria sea efectivo. Desde la perspectiva de un atacante, su mejor apuesta podría ser acumular la mayor cantidad de ether posible y regresar armado con una mayor proporción de la participación total.
-### Atacantes que usan >= 33 % de la participación total {#attackers-with-33-stake}
+### Atacantes que usan >=33 % del total de participación {#attackers-with-33-stake}
-Todos los ataques mencionados anteriormente en este artículo tienen más probabilidades de tener éxito cuando el atacante tiene más ether en juego para votar, y más validadores que podrían ser elegidos para proponer bloques en cada ranura. Por lo tanto, un validador malicioso podría tener como objetivo controlar la mayor cantidad de ether en participación posible.
+Todos los ataques mencionados anteriormente en este artículo tienen más probabilidades de tener éxito cuando el atacante tiene más ether en juego para votar, y más validadores que podrían ser elegidos para proponer bloques en cada ranura. Por lo tanto, un validador malicioso podría tener como objetivo el control de la mayor cantidad de ether en participación posible.
-El 33 % del ether en participación es un punto de referencia para un atacante porque con algo mayor que esta cantidad tienen la capacidad de evitar que la cadena finalice sin tener que controlar finamente las acciones de los otros validadores. Simplemente pueden desaparecer todos juntos. Si 1/3 o más del ether en participación está atestado maliciosamente o falla en ser atestado, entonces no puede existir una supermayoría de 2/3 y la cadena no puede finalizar. La defensa contra esto es la pérdida de inactividad. La pérdida de inactividad identifica a aquellos validadores que no están certificando o están certificando lo contrario que la mayoría. El ether apostado en propiedad de estos validadores no certificadores se desvanece gradualmente hasta que finalmente representan colectivamente menos de 1/3 del total para que la cadena pueda finalizar de nuevo.
+El 33 % del ether en participación es un punto de referencia para un atacante, porque con un porcentaje ligeramente superior tiene la capacidad de evitar que la cadena finalice sin tener que controlar finamente las acciones de los otros validadores. Simplemente pueden desaparecer todos juntos. Si 1/3 o más del ether en participación está certificado maliciosamente o no logra certificarlo, entonces no puede existir una supermayoría de 2/3 y la cadena no puede finalizar. La forma de defenderse de ello es la pérdida de inactividad. La pérdida de inactividad identifica a aquellos validadores que no logran certificar o que están certificando lo contrario que la mayoría. El ether apostado en propiedad de estos validadores no certificadores se desvanece gradualmente hasta que finalmente representa colectivamente menos de 1/3 del total para que la cadena pueda finalizar de nuevo.
El propósito de la pérdida de inactividad es hacer que la cadena finalice de nuevo. No obstante, el atacante también pierde una parte de su ether apostado. La inactividad persistente entre los validadores que representan el 33 % del total de ether apostado es muy cara, a pesar de que los validadores no están recortados.
-Suponiendo que la red Ethereum sea asíncrona (es decir, que haya retrasos entre los mensajes que se envían y se reciben), un atacante que controla el 34 % de la participación total podría causar una doble finalidad. Esto se debe a que el atacante puede equivocarse cuando se le elige para ser un productor de bloques, y luego votar dos veces con todos sus validadores. Esto crea una situación en la que existe una bifurcación de la cadena de bloques, cada una con el 34 % del ether en participación votando por ella. Cada bifurcación solo requiere que el 50 % de los validadores restantes voten a su favor para que ambas bifurcaciones sean apoyadas por una supermayoría, en cuyo caso ambas cadenas pueden finalizar (porque el 34 % de los validadores atacantes + la mitad del 66 % restante = al 67 % en cada bifurcación). Los bloques en competencia tendrían que ser recibidos por alrededor del 50% de los validadores honestos, por lo que este ataque es viable solo cuando el atacante tiene cierto grado de control sobre el momento en que los mensajes se propagan a través de la red para que puedan empujar a la mitad de los validadores honestos en cada cadena. El atacante destruiría necesariamente toda su participación (34% de ~10 millones de ether con el conjunto de validadores de hoy) para lograr esta doble finalidad porque el 34% de sus validadores tendrían doble voto simultáneamente, una ofensa que se puede cortar con la máxima penalización de correlación. La defensa contra este ataque es el gran coste de destruir el 34 % del total de ether apostado. Recuperarse de este ataque requeriría que la comunidad de Ethereum coordinara «fuera de banda» y acordara seguir una u otra de las bifurcaciones e ignorar la otra.
+Suponiendo que la red Ethereum sea asíncrona (es decir, que haya retrasos entre los mensajes que se envían y se reciben), un atacante que controla el 34 % de la participación total podría causar una doble finalidad. Esto se debe a que el atacante puede equivocarse cuando se le elige para ser un productor de bloques, y luego votar dos veces con todos sus validadores. Lo que produce una situación en la que existe una bifurcación de la cadena de bloques, cada una con el 34 % del ether en participación votando por ella. Cada bifurcación solo requiere que el 50 % de los validadores restantes voten a su favor para que ambas bifurcaciones sean apoyadas por una supermayoría, en cuyo caso ambas cadenas pueden finalizar (porque el 34 % de los validadores atacantes + la mitad del 66 % restante = al 67 % en cada bifurcación). Alrededor del 50 % de los validadores honestos tendrían que recibir los bloques en competencia, por lo que este ataque es viable solo cuando el atacante tiene cierto grado de control sobre el momento en que los mensajes se propagan a través de la red para que puedan empujar a la mitad de los validadores honestos en cada cadena. El atacante destruiría necesariamente toda su participación (34 % de ~10 millones de ether con el conjunto de validadores de hoy) para lograr esta doble finalidad, porque el 34 % de sus validadores tendrían doble voto simultáneamente: una ofensa que se puede castigar con la máxima penalización de correlación. La defensa contra este ataque es el gran coste de destruir el 34 % del total de ether apostado. Recuperarse de este ataque requeriría que la comunidad de Ethereum coordinara «fuera de banda» y acordara seguir una u otra de las bifurcaciones e ignorar la otra.
-### Atacantes que usan ~50% de la participación total {#attackers-with-50-stake}
+### Atacantes que usan el ~50 % del total de la participación {#attackers-with-50-stake}
-Al 50 % del ether en participación, un grupo malicioso de validadores podría teóricamente dividir la cadena en dos bifurcaciones de igual tamaño y luego simplemente usar todo su 50 % de participación para votar en contra del conjunto de validadores honestos, manteniendo así las dos bifurcaciones y evitando la finalidad. La fuga de inactividad en ambas bifurcaciones eventualmente llevaría a ambas cadenas a finalizar. Llegados a este punto, la única opción es recurrir a una recuperación social.
+Al 50 % del ether en participación, un grupo malicioso de validadores podría teóricamente dividir la cadena en dos bifurcaciones de igual tamaño y luego simplemente usar su 50 % de participación entero para votar en contra del conjunto de validadores honestos, manteniendo así las dos bifurcaciones y evitando la finalidad. La fuga de inactividad en ambas bifurcaciones eventualmente llevaría a ambas cadenas a finalizar. Llegados a este punto, la única opción es recurrir a una recuperación social.
-Es muy poco probable que un grupo adversario de validadores pudiera controlar constantemente con precisión el 50 % de la participación total, dado un grado de flujo en los números de validadores honestos, la latencia de la red, etc. El enorme coste de montar un ataque de este tipo, combinado con la baja probabilidad de éxito parece ser un importante freno para un atacante racional, especialmente cuando una pequeña inversión adicional en la obtención de _más de_ 50 % desbloquea mucha más potencia.
+Es muy poco probable que un grupo adversario de validadores pueda controlar de manera uniforme el 50 % exacto del total de la participación, dado el grado de fluctuación en el número de validadores honestos, la latencia de la red, etc. El enorme coste de llevar a cabo un ataque de este tipo, combinado con la baja probabilidad de éxito, parece ser un fuerte desincentivo para un atacante racional, especialmente cuando una pequeña inversión adicional para obtener _más de_ 50 % desbloquea mucho más poder.
-Con el >50 % de la participación total, el atacante podría dominar el algoritmo de elección de bifurcación. En este caso, el atacante podría dar fe con el voto mayoritario, dándoles el control suficiente para hacer reorgs cortas sin necesidad de engañar a los clientes honestos. Los validadores honestos seguirían su ejemplo porque su algoritmo de elección de bifurcación también consideraría a la cadena favorita del atacante como la más pesada, por lo que la cadena podría finalizar. Esto permite al atacante censurar ciertas transacciones, hacer reorganizaciones de corto alcance y extraer el MEV máximo reordenando los bloques a su favor. La defensa contra esto es el enorme coste de una participación mayoritaria (actualmente poco menos de 19.000 millones de dólares) que ponen en riesgo un atacante, porque es probable que la capa social intervenga y adopte una bifurcación de minoría honesta, devaluando dramáticamente la participación del atacante.
+Con >50 % del total de la participación, el atacante podría controlar el algoritmo de selección de bifurcación. En este caso, el atacante podría certificar con el voto mayoritario, dándoles el control suficiente para hacer reorganizaciones cortas sin necesidad de engañar a los clientes honestos. Los validadores honestos seguirían su ejemplo porque su algoritmo de elección de bifurcación también consideraría a la cadena favorita del atacante como la más pesada, por lo que la cadena podría finalizar. Esto permite al atacante censurar ciertas transacciones, hacer reorganizaciones de corto alcance y extraer el MEV máximo reordenando los bloques a su favor. La defensa contra esto es el enorme coste de una participación mayoritaria (actualmente poco menos de 19.000 millones de dólares) que ponen en riesgo un atacante, porque es probable que la capa social intervenga y adopte una bifurcación de minoría honesta, con la consiguente y notable devaluación de la participación del atacante.
-### Atacantes que usan >=66 % de la participación total {#attackers-with-66-stake}
+### Atacantes que usan >=66 % del total de la participación {#attackers-with-66-stake}
-Un atacante con el 66 % o más del total de ether apostado puede finalizar su cadena preferida sin tener que coaccionar a ningún validador honesto. El atacante puede votar por su bifurcación preferida y luego finalizarla, simplemente porque puede votar con una supermayoría deshonesta. Como parte interesada de la supermayoría, el atacante siempre controlaría el contenido de los bloques finalizados, con el poder de gastar, rebobinar y gastar de nuevo, censurar ciertas transacciones y reorganizar la cadena a voluntad. Al comprar ether adicional para controlar el 66 % en lugar del 51 %, el atacante está comprando efectivamente la capacidad de hacer antiguas reorgs pasadas y reversiones de finalidad (es decir, cambiar el pasado, así como controlar el futuro). Las únicas defensas reales aquí son el enorme coste del 66 % del total de ether en participación, y la opción de recurrir a la capa social para coordinar la adopción de una bifurcación alternativa. Podemos ahondar en esto con más detalle en la siguiente sección.
+Un atacante con el 66 % o más del total de ether apostado puede finalizar su cadena preferida sin tener que coaccionar a ningún validador honesto. El atacante puede votar por su bifurcación preferida y luego finalizarla, simplemente porque puede votar con una supermayoría deshonesta. Como parte interesada de la supermayoría, el atacante siempre controlaría el contenido de los bloques finalizados, con el poder de gastar, rebobinar y gastar de nuevo, censurar ciertas transacciones y reorganizar la cadena a su antojo. Al comprar ether adicional para controlar el 66 % en lugar del 51 %, el atacante está comprando la capacidad de hacer antiguas reorganizaciones pasadas y reversiones de finalidad (es decir, cambiar el pasado, así como controlar el futuro). Las únicas defensas reales existentes son el enorme coste del 66 % del total de ether en participación, y la opción de recurrir a la capa social para coordinar la adopción de una bifurcación alternativa. Ahondemos en ello con más detalle en la siguiente sección.
-## Las personas: la última línea de defensa {#people-the-last-line-of-defense}
+## Personas: la última línea de defensa{#people-the-last-line-of-defense}
-Si los validadores deshonestos logran finalizar su versión preferida de la cadena, la comunidad de Ethereum se encuentra en una situación difícil. La cadena predilecta incluye una sección deshonesta incorporada en su historia, mientras que los validadores honestos pueden terminar siendo castigados por certificar una cadena alternativa (honesta). Tenga en cuenta que una cadena finalizada pero incorrecta también podría surgir de un error en un cliente mayoritario. Al fin y al cabo, la última alternativa es confiar en la capa social, la capa 0, para resolver la situación.
+Si los validadores deshonestos logran finalizar su versión preferida de la cadena, la comunidad de Ethereum se encuentra en una situación difícil. La cadena predilecta incluye una sección deshonesta incorporada en su historia, mientras que los validadores honestos pueden terminar siendo castigados por certificar una cadena alternativa (honesta). Tenga en cuenta que una cadena finalizada pero incorrecta también podría surgir de un error en un cliente mayoritario. Al fin y al cabo, la última alternativa es confiar en la capa social —es decir, la capa 0— para resolver la situación.
-Uno de los puntos fuertes del consenso PoS de Ethereum es que hay una [gama de estrategias defensivas](https://youtu.be/1m12zgJ42dI?t=1712) que la comunidad puede emplear frente a un ataque. Una respuesta mínima podría ser el obligar a salir por la fuerza a los validadores de los atacantes de la red sin ninguna penalización adicional. Para volver a entrar en la red, el atacante tendría que unirse a una cola de activación que garantice que el conjunto de validadores crezca gradualmente. Por ejemplo, agregar suficientes validadores para duplicar la cantidad de ether apostado tarda unos 200 días, comprando efectivamente los validadores honestos 200 días antes de que el atacante pueda intentar otro ataque del 51 %. No obstante, la comunidad también podría optar por penalizar al atacante más duramente, revocando las recompensas pasadas o quemando alguna parte (hasta el 100 %) de su capital en participación.
+Una de las fortalezas del consenso PoS de Ethereum es que existen [variedad de estrategias defensivas](https://youtu.be/1m12zgJ42dI?t=1712) que la comunidad puede implementar frente a un ataque. Una respuesta mínima podría ser el obligar a salir por la fuerza a los validadores de los atacantes de la red sin ninguna penalización adicional. Para volver a entrar en la red, el atacante tendría que unirse a una cola de activación que garantiza que el conjunto de validadores crezca gradualmente. Por ejemplo, añadir la cantidad de validadores suficientes para duplicar la cantidad de ether apostado tarda unos 200 días, lo que compra efectivamente los validadores honestos 200 días antes de que el atacante pueda intentar otro ataque del 51 %. No obstante, la comunidad también podría optar por penalizar más duramente al atacante, revocando las recompensas pasadas o quemando alguna parte (hasta el 100 %) de su capital en participación.
-Cual sea la penalización impuesta al atacante, la comunidad también tiene que decidir juntos si la cadena deshonesta, a pesar de ser la favorecida por el algoritmo de elección de bifurcación codificado en los clientes de Ethereum, es de hecho inválida y que la comunidad debería construir encima de la cadena honesta en su lugar. Los validadores honestos podrían acordar colectivamente construir sobre una bifurcación de la cadena de bloques Ethereum aceptada por la comunidad que podría, por ejemplo, haberse bifurcado de la cadena canónica antes de que comenzara el ataque o eliminar por la fuerza los validadores de los atacantes. Se incentivaría a los validadores honestos a construir sobre esta cadena, porque evitarían las penalizaciones que se les aplican por no certificar ―y con razón― la cadena del atacante. Los intercambios, los atajos y las aplicaciones construidas en Ethereum presumiblemente preferirían estar en la cadena honesta y seguirían a los validadores honestos a la cadena de bloques honesta.
+Sea cual sea la penalización impuesta al atacante, la comunidad también tiene que decidir juntos si la cadena deshonesta —a pesar de ser la favorecida por el algoritmo de elección de bifurcación codificado en los clientes de Ethereum— es, de hecho, inválida y si la comunidad debería construir encima de la cadena honesta en su lugar. Los validadores honestos podrían acordar colectivamente construir sobre una bifurcación de la cadena de bloques Ethereum aceptada por la comunidad que podría, por ejemplo, haberse bifurcado de la cadena predilecta antes de que comenzara el ataque o eliminar por la fuerza los validadores de los atacantes. Se incentivaría a los validadores honestos a construir sobre esta cadena, porque evitarían las penalizaciones que se les aplican por no certificar ―y con razón― la cadena del atacante. Los intercambios, los atajos y las aplicaciones construidas en Ethereum presumiblemente preferirían estar en la cadena honesta y seguirían a los validadores honestos a la cadena de bloques honesta.
-Sin embargo, este sería un desafío sustancial para la gobernanza. Algunos usuarios y validadores sin duda perderían como resultado del cambio de regreso a la cadena honesta, las transacciones en bloques validadas después del ataque podrían potencialmente revertirse, interrumpiendo la capa de la aplicación, y simplemente socava la ética de algunos usuarios que tienden a creer que «el código es normativo». Lo más probable es que los intercambios y las aplicaciones hayan vinculado las acciones fuera de la cadena a las transacciones en cadena que ahora se pueden revertir, iniciando una cascada de retractaciones y revisiones que serían difíciles de deshacer de manera justa, especialmente si las ganancias mal obtenidas se han mezclado, se han depositado en DeFi u otros derivados con efectos secundarios para los usuarios honestos. Sin duda, algunos usuarios, tal vez incluso institucionales, ya se habrían beneficiado de la cadena deshonesta, ya sea por ser astutos o por casualidad fortuita, y podrían oponerse a una bifurcación para proteger sus ganancias. Ha habido llamadas para ensayar la respuesta de la comunidad a los ataques del >51% para que se pudiera ejecutar rápidamente una mitigación coordinada sensata. Vitalik ha vislumbrado un poco de luz hablando al respecto en ethresear.ch [aquí](https://ethresear.ch/t/timeliness-detectors-and-51-attack-recovery-in-blockchains/6925) y [aquí](https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363) y en Twitter [aquí](https://twitter.com/skylar_eth/status/1551798684727508992?s=20&t=oHZ1xv8QZdOgAXhxZKtHEw). El objetivo de dar una respuesta social coordinada debe ser muy específico y focalizarse sobre el castigo del atacante y la minimización de los efectos para otros usuarios.
+Sin embargo, este sería un desafío sustancial para la gobernanza. Algunos usuarios y validadores sin duda perderían como resultado del cambio de regreso a la cadena honesta, las transacciones en bloques validadas después del ataque podrían potencialmente revertirse, interrumpiendo la capa de la aplicación, y esto simplemente socava la ética de algunos usuarios que tienden a creer que «el código es normativo». Lo más probable es que los intercambios y las aplicaciones hayan vinculado las acciones fuera de la cadena a las transacciones en cadena que ahora se pueden revertir, iniciando una cascada de retractaciones y revisiones que serían difíciles de deshacer de manera justa, especialmente si las ganancias mal obtenidas se han mezclado, se han depositado en DeFi u otros derivados con efectos secundarios para los usuarios honestos. Sin duda, algunos usuarios, tal vez incluso institucionales, ya se habrían beneficiado de la cadena deshonesta, ya sea por ser astutos o por pura casualidad, y podrían oponerse a una bifurcación para proteger sus ganancias. Ha habido solicitudes para ensayar la respuesta de la comunidad a los ataques de más del 51 % para que se pueda ejecutar rápidamente una mitigación coordinada y sensata. Existe una discusión convincente por parte de Vitalik en ethresear.ch [aquí](https://ethresear.ch/t/timeliness-detectors-and-51-attack-recovery-in-blockchains/6925) y [aquí](https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363) y en Twitter [aquí](https://twitter.com/skylar_eth/status/1551798684727508992?s=20&t=oHZ1xv8QZdOgAXhxZKtHEw). El objetivo de dar una respuesta social coordinada debe ser muy específico y centrarse en el castigo del atacante y la minimización de los efectos para otros usuarios.
-La gobernanza es un tema de por sí complicado. Gestionar una respuesta de emergencia de capa 0 a una cadena de finalización deshonesta sería, sin duda, un desafío para la comunidad de Ethereum, pero [ha sucedido](/history/#dao-fork-summary) - [dos veces](/history/#tangerine-whistle) en la historia de Ethereum.
+La gobernanza es un tema de por sí complicado. Gestionar una respuesta de emergencia de capa 0 a una cadena de finalización deshonesta sin duda sería un desafío para la comunidad de Ethereum, pero [ha sucedido](/history/#dao-fork-summary) —[dos veces](/history/#tangerine-whistle)— en la historia de Ethereum).
No obstante, hay algo bastante satisfactorio en una contingencia en la vida real. Al fin y al cabo, incluso con este excelente bloque de tecnología que tenemos, si alguna vez sucediera lo peor, la gente real tendría que coordinar su salida.
## Resumen {#summary}
-Esta página explora algunas de las formas que los atacantes podrían intentar explotar el protocolo de prueba de participación de Ethereum. Se exploraron los reorgs y los retrasos en la finalidad de los atacantes con proporciones cada vez mayores del total de ether en participación. En general, un atacante más rico tiene más posibilidades de éxito porque su participación se traduce en el poder de voto que puede usar para influir en el contenido de futuros bloques. En ciertas cantidades de umbral de etherapostado, los niveles de potencia del atacante suben:
+Esta página explora algunas de las formas en las que los atacantes podrían intentar explotar el protocolo de prueba de participación de Ethereum. Se exploraron las reorganizaciones y los retrasos en la finalidad de los atacantes con proporciones cada vez mayores del total de ether en participación. En general, un atacante más rico tiene más posibilidades de éxito, porque su participación se traduce en el poder de voto que puede usar para influir en el contenido de futuros bloques. En ciertas cantidades de umbral de ether apostado, los niveles de potencia del atacante suben:
33 %: retraso de finalidad
@@ -147,17 +151,17 @@ Esta página explora algunas de las formas que los atacantes podrían intentar e
También hay una serie de ataques más sofisticados que requieren pequeñas cantidades de ether en participación, pero dependen de un atacante muy sofisticado que tenga un control fino sobre la secuenciación de los mensajes para influir en el validador honesto establecido a su favor.
-En general, a pesar de estos posibles vectores de ataque, el riesgo de un ataque exitoso es bajo, ciertamente menor que los equivalentes de prueba de trabajo. Esto se debe al enorme costo del etyer en participación puesto en riesgo por un atacante con el objetivo de abrumar a los validadores honestos con su poder de voto. La capa de incentivo integrada de "zanahoria y palo" protege contra la mayoría de las malas conductas, especialmente para los atacantes de baja participación. También es poco probable que los ataques de rebote y equilibrio más sutiles tengan éxito porque las condiciones reales de la red hacen que el control fino de la entrega de mensajes a subconjuntos específicos de validadores sea muy difícil de lograr, y los equipos de clientes han cerrado rápidamente los vectores conocidos de rebote, equilibrio y ataques avalancha con parches simples.
+En general, a pesar de estos posibles vectores de ataque, el riesgo de un ataque exitoso es bajo, ciertamente menor que los equivalentes de prueba de trabajo. Esto se debe al enorme coste del ether apostado, puesto en riesgo por un atacante con el objetivo de abrumar a los validadores honestos con su poder de voto. La capa de incentivo integrada de «zanahoria y palo» protege contra la mayoría de las malas conductas, especialmente para los atacantes de baja participación. También es poco probable que los ataques de rebote y equilibrio más sutiles tengan éxito, porque las condiciones reales de la red hacen que el control preciso de la entrega de mensajes a subconjuntos específicos de validadores sea muy difícil de lograr, y los equipos de clientes han cerrado rápidamente los vectores conocidos de rebote, equilibrio y ataques avalancha con parches simples.
-Los ataques del 34%, el 51% o el 66% probablemente requerirían coordinación social fuera de banda para resolverse. Si bien esto probablemente resultara doloroso para la comunidad, la capacidad de una comunidad para responder fuera de banda es un potente freno para un atacante. La capa social de Ethereum es el último respaldo: un ataque técnicamente exitoso todavía podría ser neutralizado por la comunidad que acepte adoptar una bifurcación honesta. Se produciría una carrera entre el atacante y la comunidad de Ethereum: los miles de millones de dólares gastados en un ataque del 66 % probablemente serían borrados por un ataque de coordinación social exitoso si se consigue lo suficientemente rápido, dejando al atacante con bolsas pesadas de ether ilíquido en una cadena deshonesta conocida e ignorada por la comunidad de Ethereum. La probabilidad de que esto termine siendo rentable para el atacante es lo suficientemente baja como para ser un elemento disuasorio efectivo. De ahí la importancia de la inversión para mantener una capa social cohesiva con valores estrechamente alineados.
+Los ataques del 34 %, el 51 % o el 66 % probablemente requerirían coordinación social fuera de banda para resolverse. Si bien esto probablemente resultara doloroso para la comunidad, la capacidad de una comunidad para responder fuera de banda es un potente freno para un atacante. La capa social de Ethereum es el último respaldo: un ataque técnicamente exitoso todavía podría ser neutralizado por la comunidad que acepte adoptar una bifurcación honesta. Se produciría una carrera entre el atacante y la comunidad de Ethereum: los miles de millones de dólares gastados en un ataque del 66 % probablemente serían borrados por un ataque de coordinación social exitoso, si se consigue lo suficientemente rápido, dejando al atacante con bolsas pesadas de ether ilíquido en una cadena deshonesta conocida e ignorada por la comunidad de Ethereum. La probabilidad de que esto termine siendo rentable para el atacante es lo suficientemente baja como para ser un elemento disuasorio efectivo. De ahí la importancia de la inversión para mantener una capa social cohesiva con valores estrechamente alineados.
-## Más información {#further-reading}
+## Lecturas recomendadas {#further-reading}
-- [Versión más detallada de esta página](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)
-- [Vitalik acerca de la finalidad del acuerdo](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)
-- [Función de LMD GHOST](https://arxiv.org/abs/2003.03052)
-- [Función de Casper-FFG](https://arxiv.org/abs/1710.09437)
-- [Función de Gasper](https://arxiv.org/pdf/2003.03052.pdf)
-- [Especificaciones de consenso de aumento de peso del proponente](https://github.com/ethereum/consensus-specs/pull/2730)
+- [Versiones más detalladas en esta página](https://mirror.xyz/jmcook.eth/YqHargbVWVNRQqQpVpzrqEQ8IqwNUJDIpwRP7SS5FXs)
+- [Vitalik sobre la finalidad de la liquidación](https://blog.ethereum.org/2016/05/09/on-settlement-finality/)
+- [Documento LMD GHOST](https://arxiv.org/abs/2003.03052)
+- [Documento Casper-FFG](https://arxiv.org/abs/1710.09437)
+- [Documento de Gasper](https://arxiv.org/pdf/2003.03052.pdf)
+- [Especificaciones de consenso para el aumento de peso de quien propone](https://github.com/ethereum/consensus-specs/pull/2730)
- [Ataques de rebote en ethresear.ch](https://ethresear.ch/t/prevention-of-bouncing-attack-on-ffg/6114)
-- [Investigación SSLE](https://ethresear.ch/t/secret-non-single-leader-election/11789)
+- [búsqueda SSLE](https://ethresear.ch/t/secret-non-single-leader-election/11789)
diff --git a/public/content/translations/es/developers/docs/consensus-mechanisms/pos/index.md b/public/content/translations/es/developers/docs/consensus-mechanisms/pos/index.md
index 10ade89903a..dea6849ab68 100644
--- a/public/content/translations/es/developers/docs/consensus-mechanisms/pos/index.md
+++ b/public/content/translations/es/developers/docs/consensus-mechanisms/pos/index.md
@@ -24,7 +24,7 @@ En la prueba de trabajo (PoW) el tiempo de los bloques se determinaba por la dif
La siguiente explicación detalla íntegramente cómo se ejecuta una transacción en la prueba de participación de Ethereum.
-1. Un usuario crea y firma una [transacción](/developers/docs/transactions/) con su clave privada. De esto suele encargarse una cartera o una biblioteca como [ether. s](https://docs.ethers.io/v5/), [web3js](https://docs.web3js.org/), [web3py](https://web3py.readthedocs.io/en/v5/), etc., pero realmente, es el usuario quien hace una solicitud a un nodo usando la API de Ethereum [JSON-RPC](/developers/docs/apis/json-rpc/). El usuario define la cantidad de gas que está dispuesto a pagar como propina a un validador para animarle a incluir la transacción en un bloque. Las[propinas](/developers/docs/gas/#priority-fee)se pagan al validador, mientras que las[tarifas de base](/developers/docs/gas/#base-fee) se queman.
+1. Un usuario crea y firma una [transacción](/developers/docs/transactions/) con su clave privada. Esto usualmente se maneja con una cartera o una biblioteca como [ethers.js](https://docs.ethers.org/v6/), [web3js](https://docs.web3js.org/), [web3py](https://web3py.readthedocs.io/en/v5/) etc., pero internamente el usuario está realizando consultas a un nodo usando la [API JSON-RPC](/developers/docs/apis/json-rpc/) de Ethereum. El usuario define la cantidad de gas que está dispuesto a pagar como propina a un validador para animarle a incluir la transacción en un bloque. Las[propinas](/developers/docs/gas/#priority-fee)se pagan al validador, mientras que las[tarifas de base](/developers/docs/gas/#base-fee) se queman.
2. La transacción se envía a un [cliente de ejecución](/developers/docs/nodes-and-clients/#execution-client) de Ethereum que verifica su validez. Esto implica asegurarse de que el emisor tenga suficientes ETH para realizar la transacción y firmarla con la clave correcta.
3. Si la transacción es válida, el cliente de ejecución la añade a su zona de espera local (lista de transacciones pendientes) y también la difunde a otros nodos a través de la red de intercambio de información (o Gossip) de la capa de ejecución. Cuando otros nodos se enteran de la transacción, la añaden también a su zona de espera local. Los usuarios avanzados podrían abstenerse de transmitir su transacción y, en su lugar, redirigirla a constructores de bloques especializados como las [subastas de Flashbots](https://docs.flashbots.net/flashbots-auction/overview). Esto les permite organizar las transacciones en los próximos bloques para obtener la máxima ganancia ([MEV](/developers/docs/mev/#mev-extraction)).
4. Uno de los nodos validadores de la red es el proponente de bloques para la vacante actual, habiendo sido seleccionado previamente de forma pseudoaleatoria utilizando RANDAO. Este nodo es responsable de construir y difundir el siguiente bloque que se añadirá a la cadena de bloques de Ethereum y de actualizar el estado global. El nodo se compone de tres partes: un cliente de ejecución, un cliente de consenso y un cliente validador. El cliente de ejecución agrupa las transacciones de la zona de espera local en una «carga útil de ejecución» y las ejecuta localmente para generar un cambio de estado. Esta información se transmite al cliente de consenso donde la carga útil de ejecución se recoge como parte de un «bloque de baliza» que también contiene información sobre recompensas, penalizaciones, recortes, certificaciones y demás que permiten a la red acordar la secuencia de bloques en la cabeza de la cadena. La comunicación entre los clientes de ejecución y consenso se describe con más detalle en [Cómo conectar a los clientes de consenso y ejecución](/developers/docs/networking-layer/#connecting-clients).
diff --git a/public/content/translations/es/developers/docs/consensus-mechanisms/pos/keys/index.md b/public/content/translations/es/developers/docs/consensus-mechanisms/pos/keys/index.md
index 6127752417f..3f2ffc439b8 100644
--- a/public/content/translations/es/developers/docs/consensus-mechanisms/pos/keys/index.md
+++ b/public/content/translations/es/developers/docs/consensus-mechanisms/pos/keys/index.md
@@ -23,7 +23,7 @@ La clave de firma del validador consta de dos elementos:
- Clave **privada** de validador
- Clave **pública** de validador
-El propósito de la clave privada del validador es firmar operaciones en cadena, como propuestas de bloque y certificaciones. Debido a esto, estas claves deben estar en una cartera en línea.
+El propósito de la clave privada de validador es firmar operaciones en cadena, como propuestas de bloque y certificados. Debido a esto, estas claves deben estar en una cartera en línea.
Esta flexibilidad tiene la ventaja de mover las claves de firma del validador muy rápidamente de un dispositivo a otro, sin embargo, si se han perdido o se han robado, un ladrón puede ser capaz de **actuar maliciosamente** de varias maneras:
@@ -56,6 +56,8 @@ La separación de las claves del validador de las claves de la cuenta de Ethereu

+**Nota**: Salir de las funciones de participación y retirar el balance del validador actualmente requiere firmar un [mensaje de salida voluntaria (VEM)](https://mirror.xyz/ladislaus.eth/wmoBbUBes2Wp1_6DvP6slPabkyujSU7MZOFOC3QpErs&1) con la clave de validador. Sin embargo, [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) es una propuesta que permitirá a un usuario activar la salida de un validador y retirar su balance firmando mensajes de salida con la clave de retirada en el futuro. Esto reducirá las suposiciones de confianza al permitir que los participantes que delegan ETH a [proveedores de participación como servicio](https://ethereum.org/en/staking/saas/#what-is-staking-as-a-service) mantengan el control de sus fondos.
+
## Derivar claves de una frase semilla {#deriving-keys-from-seed}
Si cada 32 ETH en participación requiriera un nuevo conjunto de 2 claves completamente independientes, la gestión de claves se volvería rápidamente difícil de manejar, especialmente para los usuarios que ejecutan múltiples validadores. En su lugar, se pueden derivar múltiples claves de validación de un solo secreto común y el almacenamiento de ese único secreto permite el acceso a múltiples claves de validación.
@@ -94,3 +96,5 @@ Cada rama está separada por un `/`, por lo que `m/2` significa comenzar con la
- [Publicación en el blog de Ethereum Foundation por Carl Beekhuizen](https://blog.ethereum.org/2020/05/21/keys/)
- [Generación de claves EIP-2333 BLS12-381](https://eips.ethereum.org/EIPS/eip-2333)
+- [EIP-7002: Salidas activables por la capa de ejecución](https://research.2077.xyz/eip-7002-unpacking-improvements-to-staking-ux-post-merge)
+- [Gestión de claves a gran escala](https://docs.ethstaker.cc/ethstaker-knowledge-base/scaled-node-operators/key-management-at-scale)
diff --git a/public/content/translations/es/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md b/public/content/translations/es/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
index 8fc8a8cb37f..1f3d546976d 100644
--- a/public/content/translations/es/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
+++ b/public/content/translations/es/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md
@@ -84,6 +84,8 @@ El diseño de recompensa, penalización y recorte del mecanismo de consenso anim
- [Incentivos en el protocolo híbrido Casper de Ethereum](https://arxiv.org/pdf/1903.04205.pdf)
- [Especificaciones anotadas de Vitalik](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#rewards-and-penalties-1)
- [Consejos para la prevención de recortes en Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50)
+- [EIP-7251 explicado: Aumento del saldo máximo efectivo para validadores](https://research.2077.xyz/eip-7251_Increase_MAX_EFFECTIVE_BALANCE)
+- [Análisis de las penalizaciones por recortes bajo EIP-7251](https://ethresear.ch/t/slashing-penalty-analysis-eip-7251/16509)
_Fuentes_
diff --git a/public/content/translations/es/developers/docs/dapps/index.md b/public/content/translations/es/developers/docs/dapps/index.md
index 4fe2471ca83..899dd1970b5 100644
--- a/public/content/translations/es/developers/docs/dapps/index.md
+++ b/public/content/translations/es/developers/docs/dapps/index.md
@@ -82,7 +82,7 @@ Un contrato inteligente es un código que reside en la blockchain de Ethereum y
## Más información {#further-reading}
-- [Explorar DApps](/dapps)
+- [Explorar DApps](/apps)
- [La arquitectura de una aplicación en Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_
- [Una guía de 2021 para las Aplicaciones Descentralizadas](https://limechain.tech/blog/what-are-dapps-the-2021-guide/): _LimeChain_
- [¿Qué son las Aplicaciones Descentralizadas?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps): _Gemini_
diff --git a/public/content/translations/es/developers/docs/data-and-analytics/block-explorers/index.md b/public/content/translations/es/developers/docs/data-and-analytics/block-explorers/index.md
index 3c772cb3b37..7ed7cd7ac79 100644
--- a/public/content/translations/es/developers/docs/data-and-analytics/block-explorers/index.md
+++ b/public/content/translations/es/developers/docs/data-and-analytics/block-explorers/index.md
@@ -13,16 +13,16 @@ Es necesario que comprenda los conceptos básicos de Ethereum para poder entende
## Servicios {#services}
-- [Etherscan:](https://etherscan.io/) _También disponible en chino, coreano, ruso y japonés_
+- [Etherscan](https://etherscan.io/) -_También disponible en chino, coreano, ruso y japonés_
- [3xpl](https://3xpl.com/ethereum)
- [Beaconcha.in](https://beaconcha.in/)
-- [Blockchair:](https://blockchair.com/ethereum) _También disponible en inglés, francés, italiano, neerlandés, portugués, ruso, chino y farsi_
+- [Blockchair](https://blockchair.com/ethereum) -_También disponible en inglés, francés, italiano, neerlandés, portugués, ruso, chino y farsi_
- [Blockscout](https://eth.blockscout.com/)
- [Chainlens](https://www.chainlens.com/)
- [Explorador de bloques DexGuru](https://ethereum.dex.guru/)
- [Etherchain](https://www.etherchain.org/)
- [Ethernow](https://www.ethernow.xyz/)
-- [Ethplorer:](https://ethplorer.io/) _También disponible en chino, español, francés, turco, ruso, coreano y vietnamita_
+- [Ethplorer](https://ethplorer.io/) -_También disponible en chino, español, francés, turco, ruso, coreano y vietnamita_
- [EthVM](https://www.ethvm.com/)
- [OKLink](https://www.oklink.com/eth)
- [Rantom](https://rantom.app/)
@@ -237,12 +237,12 @@ Los datos de nivel superior de la capa de consenso incluyen lo siguiente:
## Exploradores de bloques {#block-explorers}
-- [Etherscan](https://etherscan.io/): Un explorador de bloques que puede usar para buscar datos de la red principal de Ethereum y la red de pruebas Goerli
+- [Etherscan](https://etherscan.io/): Un explorador de bloques que puede usar para buscar datos de la red principal de Ethereum y la red de pruebas Sepolia y Hoodi
- [3xpl](https://3xpl.com/ethereum): Un explorador de Ethereum de código abierto sin anuncios que permite descargar sus conjuntos de datos
-- [Beaconcha.in](https://beaconcha.in/): Un explorador de bloques de código abierto para la red principal de Ethereum y la red de pruebas Goerli
+- [Beaconcha.in](https://beaconcha.in/): Un explorador de bloques de código abierto para la red principal de Ethereum y las redes de pruebas Sepolia y Hoodi
- [Blockchair](https://blockchair.com/ethereum): El explorador de Ethereum más privado. También para clasificación y filtrado de datos (mempool)
- [Etherchain](https://www.etherchain.org/): Un explorador de bloques para la red principal de Ethereum
-- [Ethplore](https://ethplorer.io/): Un explorador de bloques con enfoque en tokens para la red principal de Ethereum y la red de pruebas Kovan
+- [Ethplorer](https://ethplorer.io/): Un explorador de bloques con enfoque en tokens para la red principal de Ethereum y la red de pruebas Sepolia
- [Rantom](https://rantom.app/): Un visor de código abierto y fácil de usar de información detallada de transaccinoes DeFI y NFT
- [Ethernow](https://www.ethernow.xyz/): Un explorador de transacciones en tiempo real que le permite ver la capa previa a la cadena de la Red principal de Ethereum
diff --git a/public/content/translations/es/developers/docs/data-and-analytics/index.md b/public/content/translations/es/developers/docs/data-and-analytics/index.md
index c763ec85cdd..7e2810fd381 100644
--- a/public/content/translations/es/developers/docs/data-and-analytics/index.md
+++ b/public/content/translations/es/developers/docs/data-and-analytics/index.md
@@ -34,7 +34,7 @@ La [diversidad de clientes](/developers/docs/nodes-and-clients/client-diversity/
## Dune Analytics {#dune-analytics}
-[Dune Analytics](https://dune.com/) preprocesa los datos de la cadena de bloques y los integra en tablas de bases de datos relacionales (PostgreSQL y DatabricksSQL), permitiendo a los usuarios consultar los datos de la cadena usando SQL y crear paneles de control con los resultados de dichas consultas. Los datos en cadena son organizados en 4 categorías: `bloques`, `transacciones`, `registros` (de eventos) y `rastreos` (de llamadas). Se decodificaron contratos y protocolos populares, y cada uno de ellos tiene sus propios conjuntos de llamadas y eventos. Estas tablas de eventos y llamadas son procesadas y organizadas en tablas abstractas ordenadas por el tipo de protocolo, por ejemplo: dex, préstamos, monedas estables, etc.
+[Dune Analytics](https://dune.com/) preprocesa los datos de la cadena de bloques y los integra en tablas de bases de datos relacionales (DuneSQL), permitiendo a los usuarios consultar los datos de la cadena usando SQL y crear paneles de control con los resultados de dichas consultas. Los datos en cadena son organizados en 4 categorías: `bloques`, `transacciones`, `registros` (de eventos) y `rastreos` (de llamadas). Se decodificaron contratos y protocolos populares, y cada uno de ellos tiene sus propios conjuntos de llamadas y eventos. Estas tablas de eventos y llamadas son procesadas y organizadas en tablas abstractas ordenadas por el tipo de protocolo, por ejemplo: dex, préstamos, monedas estables, etc.
## SubQuery Network {#subquery-network}
@@ -47,7 +47,7 @@ Para comenzar, visite la guía de inicio rápido de [Ethereum](https://academy.s
## Más información {#further-reading}
-- [Descripción general de Graph Network](https://thegraph.com/docs/en/about/network/)
+- [Descripción general de Graph Network](https://thegraph.com/docs/en/about/)
- [Graph Query Playground](https://thegraph.com/explorer/subgraph/graphprotocol/graph-network-mainnet?version=current)
- [Ejemplos de código API en EtherScan](https://etherscan.io/apis#contracts)
- [Explorador de la cadena de Baliza Beaconcha.in](https://beaconcha.in)
diff --git a/public/content/translations/es/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/translations/es/developers/docs/design-and-ux/dex-design-best-practice/index.md
index 31adf58cf82..63a43904774 100644
--- a/public/content/translations/es/developers/docs/design-and-ux/dex-design-best-practice/index.md
+++ b/public/content/translations/es/developers/docs/design-and-ux/dex-design-best-practice/index.md
@@ -180,7 +180,7 @@ La ley de proximidad establece que los elementos que están cerca se perciben co
En última instancia, hay ventajas y desventajas para ambas opciones, pero es interesante cómo la tendencia parece ser colocar el token del lado derecho.
-# Comportamiento del botón {#button-behavior}
+## Comportamiento del botón {#button-behavior}
No tenga un botón separado para Aprobar. Tampoco tenga un clic separado para Aprobar. El usuario quiere intercambiar, así que solo tiene que decir "intercambiar" en el botón e iniciar la aprobación como primer paso. Un modal puede mostrar el progreso con un paso a paso, o una simple notificación "tx 1 de 2 - aprobación".
@@ -188,7 +188,7 @@ No tenga un botón separado para Aprobar. Tampoco tenga un clic separado para Ap

-## Botón como ayuda contextual {#button-as-contextual-help}
+### Botón como ayuda contextual {#button-as-contextual-help}
El botón puede tener una doble función como una ¡alerta!
@@ -206,7 +206,7 @@ El botón también puede ser **mapeado a la acción** a realizar. Por ejemplo, s

-## Construya el suyo con este archivo figma {#build-your-own-with-this-figma-file}
+### Construya el suyo con este archivo figma {#build-your-own-with-this-figma-file}
Gracias a la ardua labor de múltiples protocolos, el diseño de DEX ha mejorado mucho. Sabemos qué información necesita el usuario, cómo debemos mostrarla y cómo hacer que el flujo sea lo más fluido posible.
Esperamos que este artículo ofrezca una sólida visión general de los principios de la UX.
diff --git a/public/content/translations/es/developers/docs/design-and-ux/index.md b/public/content/translations/es/developers/docs/design-and-ux/index.md
index 81901f3b510..ee47a104f16 100644
--- a/public/content/translations/es/developers/docs/design-and-ux/index.md
+++ b/public/content/translations/es/developers/docs/design-and-ux/index.md
@@ -23,20 +23,20 @@ Esta es una lista curada de investigaciones de usuarios realizadas en Web3 que p
| Área de interés | Nombre |
|:----------------------------------------------------------------------------------------- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Incorporación de criptomonedas | [CRADL: experiencia de usuario en criptomonedas](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
-| Incorporación de criptomonedas | [CRADL: introducción a las criptomonedas](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
-| Incorporación de criptomonedas | [Informe de experiencia de usuario de Bitcoin](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
-| Incorporación de criptomonedas | [ConSensys: la situación de la percepción de Web3 por el mundo en 2023](https://consensys.io/insight-report/web3-and-crypto-global-survey-2023) |
-| Incorporación de criptomonedas | [NEAR: Acelerar el recorrido hacia la adopción](https://drive.google.com/file/d/1VuaQP4QSaQxR5ddQKTMGI0b0rWdP7uGn/view) |
-| Participar (apostar) | [Participación: tendencias clave, conclusiones y predicciones, participante de Eth](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
-| Participar (apostar) | [Participación aplicaciones múltiples](https://github.com/threshold-network/UX-User-Research/blob/main/Multi-App%20Staking%20(MAS)/iterative-user-study/MAS%20Iterative%20User%20Study.pdf) |
-| DAO | [Actualización de investigación de DAO 2022: ¿qué necesitan los constructores de DAO?](https://blog.aragon.org/2022-dao-research-update/) |
-| DeFi | [El estado de Defi en 2024](https://stateofdefi.org/) (encuesta en curso) |
-| DeFi | [Reservas de cobertura](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
-| DeFi | [ConSensys: informe de investigación de usuarios de DeFi 2022](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
-| Metaverso | [Metaverso: informe de investigación de usuarios](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
-| Metaverso | [Going on Safari: investigación de usuarios en el metaverso](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube) (video, 27 min) |
-| Estadísticas de experiencia del usuario en Ethereum.org | [Panel de encuestas de usabilidad y satisfacción del usuario, Ethereum.org](https://lookerstudio.google.com/reporting/0a189a7c-a890-40db-a5c6-009db52c81c9) |
+| Incorporación de criptomonedas | [CRADL: experiencia de usuario en criptomonedas](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
+| Incorporación de criptomonedas | [CRADL: introducción a las criptomonedas](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
+| Incorporación de criptomonedas | [Informe de experiencia de usuario de Bitcoin](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
+| Incorporación de criptomonedas | [ConSensys: la situación de la percepción de Web3 por el mundo en 2023](https://consensys.io/insight-report/web3-and-crypto-global-survey-2023) |
+| Incorporación de criptomonedas | [NEAR: Acelerar el recorrido hacia la adopción](https://drive.google.com/file/d/1VuaQP4QSaQxR5ddQKTMGI0b0rWdP7uGn/view) |
+| Participar (apostar) | [Participación: tendencias clave, conclusiones y predicciones, participante de Eth](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
+| Participar (apostar) | [Participación aplicaciones múltiples](https://github.com/threshold-network/UX-User-Research/blob/main/Multi-App%20Staking%20(MAS)/iterative-user-study/MAS%20Iterative%20User%20Study.pdf) |
+| DAO | [Actualización de investigación de DAO 2022: ¿qué necesitan los constructores de DAO?](https://blog.aragon.org/2022-dao-research-update/) |
+| DeFi | [El estado de Defi en 2024](https://stateofdefi.org/) (encuesta en curso) |
+| DeFi | [Reservas de cobertura](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
+| DeFi | [ConSensys: informe de investigación de usuarios de DeFi 2022](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
+| Metaverso | [Metaverso: informe de investigación de usuarios](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
+| Metaverso | [Going on Safari: investigación de usuarios en el metaverso](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube) (video, 27 min) |
+| Estadísticas de experiencia del usuario en Ethereum.org | [Panel de encuestas de usabilidad y satisfacción del usuario, Ethereum.org](https://lookerstudio.google.com/reporting/0a189a7c-a890-40db-a5c6-009db52c81c9) |
## Diseño para Web3 {#design-for-web3}
diff --git a/public/content/translations/es/developers/docs/development-networks/index.md b/public/content/translations/es/developers/docs/development-networks/index.md
index 45659958ba1..b4af6ea6579 100644
--- a/public/content/translations/es/developers/docs/development-networks/index.md
+++ b/public/content/translations/es/developers/docs/development-networks/index.md
@@ -41,16 +41,17 @@ La red de tipo Hardhat viene integrada con Hardhat, que es un entorno de desarro
Algunos clientes de consenso tienen herramientas integradas para implementar cadenas de baliza locales con fines de prueba. Las instrucciones para Lighthouse, Nimbus y Lodestar están disponibles:
-- [Red de prueba local con Lodestar](https://chainsafe.github.io/lodestar/usage/local/)
+- [Red de prueba local con Lodestar](https://chainsafe.github.io/lodestar/contribution/advanced-topics/setting-up-a-testnet#post-merge-local-testnet/)
- [Red de prueba local con Lighthouse](https://lighthouse-book.sigmaprime.io/setup.html#local-testnets)
- [Red de prueba local con Nimbus](https://github.com/status-im/nimbus-eth1/blob/master/fluffy/docs/local_testnet.md)
### Cadenas de prueba públicas de Ethereum {#public-beacon-testchains}
-También hay dos implantaciones de prueba públicas mantenidas de Ethereum: Goerli y Sepolia. La red de prueba recomendada con soporte a largo plazo es Goerli, en la que cualquiera es libre de validar. Sepolia es una cadena más nueva y más pequeña que también se espera que se mantenga en el futuro próximo, con un conjunto de validadores autorizados (lo que significa que no hay acceso general a nuevos validadores en esta red de prueba). Se espera que la cadena Ropsten quede obsoleta en el cuarto trimestre de 2022 y que la cadena Rinkeby quede obsoleta en el segundo o tercer trimestre de 2023.
+También hay dos implantaciones de prueba públicas mantenidas de Ethereum: Sepolia y Hoodi. Sepolia es la red de prueba estándar recomendada para el desarrollo de aplicaciones, con un conjunto de validadores cerrado para una sincronización rápida. Hoodi es una red de prueba para validación y staking, que utiliza un conjunto de validadores abierto y permite potencialmente que cualquiera valide.
-- [Launchpad de staking de Goerli](https://goerli.launchpad.ethereum.org/)
-- [Anuncio de baja de Ropsten, Rinkeby y Kiln](https://blog.ethereum.org/2022/06/21/testnet-deprecation)
+- [Launchpad de staking de Hoodi](https://hoodi.launchpad.ethereum.org/en/)
+- [Sitio web de Sepolia](https://sepolia.dev/)
+- [Sitio web de Hoodi](https://hoodi.ethpandaops.io/)
### Paquete de Ethereum de Kurtosis {#kurtosis}
diff --git a/public/content/translations/es/developers/docs/layer-2-scaling/index.md b/public/content/translations/es/developers/docs/layer-2-scaling/index.md
index 89d641607c4..2d2d8dedffb 100644
--- a/public/content/translations/es/developers/docs/layer-2-scaling/index.md
+++ b/public/content/translations/es/developers/docs/layer-2-scaling/index.md
@@ -170,7 +170,7 @@ Una cadena de plasma es una blockchain independiente que está anclada a la cade
### Usos de Plasma {#use-plasma}
- [Red OMG](https://omg.network/)
-- [Red Matic](https://matic.network/)
+- [Red Matic](https://polygon.technology/)
- [Gluon](https://gluon.network/)
- [LeapDAO](https://ipfs.leapdao.org/)
@@ -218,7 +218,7 @@ Combinan las mejores partes de las tecnologías múltiples de capa 2 y pueden of
- [Validium y la capa 2, número 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two)
- [Evaluación de soluciones de escala de la capa 2 de Ethereum: Una estructura de comparación](https://blog.matter-labs.io/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955)
- [Adición del Rollup de la Prueba de participación híbrida a la plataforma de la capa 2 de Celer en Ethereum](https://medium.com/celer-network/adding-hybrid-pos-rollup-sidechain-to-celers-coherent-layer-2-platform-d1d3067fe593)
-- [Escalabilidad de la blockchain de conocimiento cero](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
+- [Escalabilidad de la blockchain de conocimiento cero](https://www.archblock.com/poland/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
**Canales de estado**
diff --git a/public/content/translations/es/developers/docs/mev/index.md b/public/content/translations/es/developers/docs/mev/index.md
index 79ac87c8368..03a2203aee7 100644
--- a/public/content/translations/es/developers/docs/mev/index.md
+++ b/public/content/translations/es/developers/docs/mev/index.md
@@ -12,7 +12,7 @@ El valor máximo extraíble se aplicó por primera vez en el contexto de [prueba
## Requisitos previos {#prerequisites}
-Asegúrese de estar familiarizado con las [transacciones](/developers/docs/transactions/), los [bloques](/developers/docs/blocks/), la [prueba de participación](/developers/docs/consensus-mechanisms/pos) y el [gas](/developers/docs/gas/). Familiarizarse con las [dApps](/dapps/) y [DeFi](/defi/) también le será muy útil.
+Asegúrese de estar familiarizado con las [transacciones](/developers/docs/transactions/), los [bloques](/developers/docs/blocks/), la [prueba de participación](/developers/docs/consensus-mechanisms/pos) y el [gas](/developers/docs/gas/). Familiarizarse con las [dApps](/apps/) y [DeFi](/defi/) también le será muy útil.
## Extracción de MEV {#mev-extraction}
diff --git a/public/content/translations/es/developers/docs/networking-layer/portal-network/index.md b/public/content/translations/es/developers/docs/networking-layer/portal-network/index.md
index 3632bf413c1..82e4484e773 100644
--- a/public/content/translations/es/developers/docs/networking-layer/portal-network/index.md
+++ b/public/content/translations/es/developers/docs/networking-layer/portal-network/index.md
@@ -55,7 +55,7 @@ Los beneficios de este diseño de red son:
- reducir la dependencia de los proveedores centralizados
- reducir el uso del ancho de banda de Internet
- sincronización minimizada o cero
-- accesible a dispositivos con recursos limitados (<1 GB de RAM, <100 MB de espacio en disco, 1 CPU)
+- accesible a dispositivos con recursos limitados (\<1 GB de RAM, \<100 MB de espacio en disco, 1 CPU)
El siguiente diagrama muestra las funciones de los clientes existentes que Portal Network puede entregar, lo que permite a los usuarios acceder a estas funciones en dispositivos de muy pocos recursos.
diff --git a/public/content/translations/es/developers/docs/networks/index.md b/public/content/translations/es/developers/docs/networks/index.md
index 5a14095ca46..85416e8a06b 100644
--- a/public/content/translations/es/developers/docs/networks/index.md
+++ b/public/content/translations/es/developers/docs/networks/index.md
@@ -34,7 +34,7 @@ El ETH en las redes de prueba se supone que no tiene un valor real; sin embargo,
#### ¿Qué red de prueba debo usar?
-Las dos redes públicas de prueba que los desarrolladores de clientes están manteniendo actualmente son Sepolia y Goerli. Sepolia es una red de desarrolladores de contratos y aplicaciones para probar sus aplicaciones. La red Goerli permite a los desarrolladores de protocolos probar actualizaciones de red y permite a los participantes hacer pruebas de ejecución de validadores.
+Las dos redes públicas de prueba que los desarrolladores de clientes están manteniendo actualmente son Sepolia y Hoodi. Sepolia es una red de desarrolladores de contratos y aplicaciones para probar sus aplicaciones. La red Hoodi permite a los desarrolladores de protocolos probar actualizaciones de red y permite a los participantes hacer pruebas de ejecución de validadores.
#### Sepolia {#sepolia}
@@ -60,14 +60,14 @@ Las dos redes públicas de prueba que los desarrolladores de clientes están man
- [Faucet de cartera Coinbase | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet)
- [Alchemy Sepolia faucet](https://sepoliafaucet.com/)
- [Faucet Infura Sepolia](https://www.infura.io/faucet)
-- [Faucet Chainstack Sepolia](https://faucet.chainstack.com/sepolia-faucet)
+- [Faucet Chainstack Sepolia](https://faucet.chainstack.com/sepolia-testnet-faucet)
- [Faucet del ecosistema Ethereum](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
-#### Goerli _(soporte a largo plazo)_ {#goerli}
+#### Hoodi {#hoodi}
-_Nota: [la red de pruebas Goerli está obsoleta](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) y se reemplazará por [Holesovice](https://github.com/eth-clients/holesovice) en 2023. Por favor, considere la migración de sus aplicaciones a Sepolia._
+_Nota: [la red de pruebas Goerli está obsoleta](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) y ha sido reemplazada por Hoodi. Por favor, considere la migración de sus aplicaciones a Sepolia._
-Goerli es una red de prueba para probar la validación y la participación. La red Goerli está abierta a usuarios que quieren ejecutar un validador de red de pruebas. Los participantes que quieran probar las actualizaciones del protocolo antes de que se implementen en la red principal deben usar Goerli.
+Hoodi es una red de prueba para probar la validación y la participación. La red Hoodi está abierta a usuarios que quieren ejecutar un validador de red de pruebas. Los participantes que quieran probar las actualizaciones del protocolo antes de que se implementen en la red principal deben usar Hoodi.
- Conjunto de validador abierto, los participantes pueden probar las actualizaciones de la red.
- Estado grande, útil para probar interacciones complejas de contratos inteligentes.
@@ -75,52 +75,46 @@ Goerli es una red de prueba para probar la validación y la participación. La r
##### Recursos
-- [Sitio web](https://goerli.net/)
-- [GitHub](https://github.com/eth-clients/goerli)
-- [Etherscan](https://goerli.etherscan.io)
-- [Blockscout](https://eth-goerli.blockscout.com/)
+- [Sitio web](https://hoodi.ethpandaops.io/)
+- [GitHub](https://github.com/eth-clients/hoodi)
+- [Explorer](https://explorer.hoodi.ethpandaops.io/)
+- [Checkpoint Sync](https://checkpoint-sync.hoodi.ethpandaops.io/)
##### Faucets
-- [QuickNode Goerli Faucet](https://faucet.quicknode.com/drip)
-- [Grabteeth](https://grabteeth.xyz/)
-- [PoW faucet](https://goerli-faucet.pk910.de/)
-- [Faucet Paradigm](https://faucet.paradigm.xyz/)
-- [Faucet Alchemy Goerly](https://goerlifaucet.com/)
-- [Faucet All That Node Goerli](https://www.allthatnode.com/faucet/ethereum.dsrv)
-- [Coinbase Wallet Faucet | Goerli](https://coinbase.com/faucets/ethereum-goerli-faucet)
-- [Faucet Chainstack Goerli](https://faucet.chainstack.com/goerli-faucet)
+- [Faucet Hoodi](https://hoodi.ethpandaops.io/)
-Para iniciar un validador en la red de prueba de Goerli, utilice la plataforma de lanzamiento de [«cheap goerli validator»](https://holesky.launchpad.ethstaker.cc/en/) de ethstaker.
+Para iniciar un validador en la red de prueba de Hoodi, utilice la [plataforma de lanzamiento de Hoodi](https://hoodi.launchpad.ethereum.org/en/).
### Redes de pruebas de Capa 2 {#layer-2-testnets}
[Capa 2 (L2)](/layer-2/) es un término colectivo para describir un conjunto específico de soluciones de escalabilidad de Ethereum. Una capa 2 es una cadena de bloques por separado que amplía Ethereum y hereda las garantías de seguridad de Ethereum. Las redes de prueba de capa 2 suelen estar estrechamente acopladas a redes de pruebas públicas de Ethereum.
-#### Arbitrum Goerli {#arbitrum-goerli}
+#### Arbitrum Sepolia {#arbitrum-sepolia}
Una red de pruebas para [Arbitrum](https://arbitrum.io/).
##### Faucets
-- [Faucet Chainlink](https://faucets.chain.link/)
+- [Faucet Chainlink](https://faucets.chain.link/arbitrum-sepolia)
+- [Faucet Alchemy](https://www.alchemy.com/faucets/arbitrum-sepolia)
-#### Optimism Goerli {#optimistic-goerli}
+#### Optimism Sepolia {#optimistic-sepolia}
Una red de pruebas para [Optimism](https://www.optimism.io/).
##### Faucets
-- [Faucet Paradigm](https://faucet.paradigm.xyz/)
-- [Faucet Coinbase Wallet | Optimism Goerli](https://coinbase.com/faucets/optimism-goerli-faucet)
+- [Faucet Chainlink](https://faucets.chain.link/optimism-sepolia)
+- [Faucet Alchemy](https://www.alchemy.com/faucets/optimism-sepolia)
-#### Goerli Starknet {#starknet-goerli}
+#### Starknet Sepolia {#starknet-sepolia}
Una red de prueba para [Starknet](https://www.starknet.io).
##### Faucets
-- [Faucet Starknet](https://faucet.goerli.starknet.io)
+- [Faucet Alchemy](https://www.alchemy.com/faucets/starknet-sepolia)
## Redes privadas {#private-networks}
diff --git a/public/content/translations/es/developers/docs/nodes-and-clients/archive-nodes/index.md b/public/content/translations/es/developers/docs/nodes-and-clients/archive-nodes/index.md
index 6e496468706..67ad025bcd1 100644
--- a/public/content/translations/es/developers/docs/nodes-and-clients/archive-nodes/index.md
+++ b/public/content/translations/es/developers/docs/nodes-and-clients/archive-nodes/index.md
@@ -62,7 +62,7 @@ Aparte de las [recomendaciones generales para ejecutar un nodo](/developers/docs
Asegúrese siempre de verificar los requisitos de hardware para un modo determinado en la documentación de un cliente. El mayor requisito para los nodos de archivo es el espacio en el disco. Dependiendo del cliente, varía de 3 TB a 12 TB. Incluso si el disco duro (HDD) podría considerarse una mejor solución para grandes cantidades de datos, sincronizarlo y actualizar constantemente la cabeza de la cadena requerirá unidades SSD de estado sólido. Las unidades [SATA](https://www.cleverfiles.com/help/sata-hard-drive.html) son lo suficientemente buenas, pero deben ser de una calidad considerable, al menos [TLC](https://blog.synology.com/tlc-vs-qlc-ssds-what-are-the-differences). Los discos se pueden instalar en un ordenador de escritorio o en un servidor con suficientes ranuras. Estos dispositivos dedicados son ideales para ejecutar un nodo de elevado tiempo de actividad. Es perfectamente posible ejecutarlo en un ordenador portátil, pero la portabilidad tendrá un coste adicional.
-Todos los datos deben encajar en un solo volumen, por lo tanto, los discos deben unirse, por ejemplo, con [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) o [LVM](https://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/ch-lvm.html). También podría valer la pena considerar el uso de [ZFS](https://en.wikipedia.org/wiki/ZFS), ya que es compatible con «Copiar en escritura», lo que garantiza que los datos se escriban correctamente en el disco sin ningún error de bajo nivel.
+Todos los datos deben encajar en un solo volumen, por lo tanto, los discos deben unirse, por ejemplo, con [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) o LVM. También podría valer la pena considerar el uso de [ZFS](https://en.wikipedia.org/wiki/ZFS), ya que es compatible con «Copiar en escritura», lo que garantiza que los datos se escriban correctamente en el disco sin ningún error de bajo nivel.
Para una mayor estabilidad y seguridad en la prevención de la corrupción accidental de la base de datos, especialmente en una configuración profesional, considere el uso de [memoria ECC](https://en.wikipedia.org/wiki/ECC_memory) si su sistema lo admite. Por lo general, se recomienda que el tamaño de la RAM sea el mismo que para un nodo completo, aunque cuanta más RAM, más le ayudará a acelerar la sincronización.
diff --git a/public/content/translations/es/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/es/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
index 42a4eabcf8d..837c2c1e034 100644
--- a/public/content/translations/es/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
+++ b/public/content/translations/es/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
@@ -264,7 +264,7 @@ A continuación se incluye una lista con algunos de los proveedores de nodos de
- Soporte técnico directo
- [**MegaNode de NodeReal**](https://nodereal.io/)
- - [Documentos](https://docs.nodereal.io/nodereal/meganode/introduction)
+ - [Documentos](https://docs.nodereal.io/docs/introduction)
- Características
- Servicios de API RPC de confianza, rápidos y escalables
- API mejorada para desarrolladores de Web3
diff --git a/public/content/translations/es/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/es/developers/docs/nodes-and-clients/run-a-node/index.md
index 3e9399dc073..292c990db50 100644
--- a/public/content/translations/es/developers/docs/nodes-and-clients/run-a-node/index.md
+++ b/public/content/translations/es/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -162,7 +162,7 @@ También vale la pena señalar que la diversidad del cliente es un [problema en
##### Clientes de consenso
- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest)
-- [Lodestar](https://chainsafe.github.io/lodestar/install/source/) (no proporciona un binario precompilado, solo una imagen de Docker o para construirse a partir de la fuente)
+- [Lodestar](https://chainsafe.github.io/lodestar/run/getting-started/installation#build-from-source/) (no proporciona un binario precompilado, solo una imagen de Docker o para construirse a partir de la fuente)
- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest)
- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest)
- [Teku](https://github.com/ConsenSys/teku/releases)
@@ -256,7 +256,7 @@ Besu también incluye una opción de lanzador que hará una serie de preguntas y
besu --Xlauncher
```
-[La documentación de Besu](https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Starting-node/) contiene opciones adicionales y detalles de configuración.
+[La documentación de Besu](https://besu.hyperledger.org/public-networks/get-started/start-node/) contiene opciones adicionales y detalles de configuración.
##### Cómo ejecutar Erigon
@@ -288,7 +288,7 @@ Compruebe los [documentos para todas las opciones de configuración](https://get
##### Cómo ejecutar Nethermind
-Nethermind ofrece varias [opciones de instalación](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started). El paquete viene con varios binarios, incluido un lanzador con una configuración guiada, que le ayudará a crear la configuración interactivamente. Asimismo, se encuentra Runner que es el archivo ejecutable en sí y que se puede ejecutar con parámetros de configuración. JSON-RPC está habilitado de forma predeterminada.
+Nethermind ofrece varias [opciones de instalación](https://docs.nethermind.io/get-started/installing-nethermind). El paquete viene con varios binarios, incluido un lanzador con una configuración guiada, que le ayudará a crear la configuración interactivamente. Asimismo, se encuentra Runner que es el archivo ejecutable en sí y que se puede ejecutar con parámetros de configuración. JSON-RPC está habilitado de forma predeterminada.
```sh
Nethermind.Runner --config mainnet \
@@ -296,7 +296,7 @@ Nethermind.Runner --config mainnet \
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
```
-Los documentos sobre Nethermind ofrecen una [guía completa](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/running-nethermind-post-merge) sobre cómo ejecutar Nethermind con el cliente de consenso.
+Los documentos sobre Nethermind ofrecen una [guía completa](https://docs.nethermind.io/first-steps-with-nethermind/running-nethermind-post-merge) sobre cómo ejecutar Nethermind con el cliente de consenso.
Un cliente de ejecución iniciará sus funciones básicas, las terminales elegidas seleccionados y comenzará a buscar pares. Al encontrar pares correctamente, el cliente inicia la sincronización. El cliente de ejecución esperará una conexión desde el cliente de consenso. Los datos actuales de la cadena de bloques estarán disponibles una vez que el cliente se sincronice correctamente al estado actual.
diff --git a/public/content/translations/es/developers/docs/scaling/index.md b/public/content/translations/es/developers/docs/scaling/index.md
index def316ea37c..759b7038070 100644
--- a/public/content/translations/es/developers/docs/scaling/index.md
+++ b/public/content/translations/es/developers/docs/scaling/index.md
@@ -106,7 +106,7 @@ _Obsérvese que la explicación del video utiliza el término "Capa 2" para refe
- [Guía incompleta sobre los rollups](https://vitalik.eth.limo/general/2021/01/05/rollup.html)
- [Rollups de conocimiento cero (ZK) con tecnología de Ethereum: los mejores del mundo](https://hackmd.io/@canti/rkUT0BD8K)
- [Rollups optimistas vs. rollups de conocimiento cero (ZK)](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/)
-- [Escalabilidad de la cadena de bloques de conocimiento cero](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
+- [Escalabilidad de la cadena de bloques de conocimiento cero](https://www.archblock.com/poland/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf)
- [Por qué los rollups y los fragmentos de datos son la única solución sustentable para la alta escalabilidad](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48)
- [¿Qué tipo de capas 3 tienen sentido?](https://vitalik.eth.limo/general/2022/09/17/layer_3.html)
- [Disponibilidad de datos o: cómo los rollups aprendieron a dejar de preocuparse y amar a Ethereum](https://ethereum2077.substack.com/p/data-availability-in-ethereum-rollups)
diff --git a/public/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md
index 7c0207724a9..3da3c071151 100644
--- a/public/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md
+++ b/public/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md
@@ -253,17 +253,11 @@ Se espera que la introducción de la [fragmentación de datos](/roadmap/dankshar
-### Uso de rollups optimistas {#use-optimistic-rollups}
-
-Existen múltiples implementaciones de rollups optimistas que puede integrar en sus dApps:
-
-
-
## Bibliografía para profundizar sobre los rollups optimistas
- [¿Cómo funcionan los rollups optimistas? (La guía completa)](https://www.alchemy.com/overviews/optimistic-rollups)
- [¿Qué es un rollup de cadena de bloques?: introducción técnica](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction)
-- [Guía esencial sobre Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum)
-- [¿Cómo funcionan realmente los rollup optimistas?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work)
+- [Guía esencial sobre Arbitrum](https://www.bankless.com/the-essential-guide-to-arbitrum)
+- [¿Cómo funcionan realmente los rollup optimistas?](https://www.paradigm.xyz/2021/01/how-does-optimism-s-rollup-really-work)
- [Análisis detallado de OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52)
- [¿Qué es la máquina virtual optimista?](https://www.alchemy.com/overviews/optimistic-virtual-machine)
diff --git a/public/content/translations/es/developers/docs/scaling/validium/index.md b/public/content/translations/es/developers/docs/scaling/validium/index.md
index e22e83ae038..c700e0f8939 100644
--- a/public/content/translations/es/developers/docs/scaling/validium/index.md
+++ b/public/content/translations/es/developers/docs/scaling/validium/index.md
@@ -154,7 +154,7 @@ Múltiples proyectos proporcionan implementaciones de Validium y voliciones que
**Matter Labs zkPorter:**_zkPorter es un protocolo de escalado de capa 2 que aborda la disponibilidad de datos con un enfoque híbrido que combina las ideas de zkRollup y el sharding. Puede soportar arbitrariamente muchos fragmentos (shards), cada uno con su propia política de disponibilidad de datos. _
- [Blog](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)
-- [Documentación](https://docs.zksync.io/zk-stack/concepts/data-availability)
+- [Documentación](https://docs.zksync.io/zksync-protocol/rollup/data-availability)
- [Sitio web](https://zksync.io/)
## Más información {#further-reading}
diff --git a/public/content/translations/es/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/es/developers/docs/scaling/zk-rollups/index.md
index e7125456dfa..ded2f19fb86 100644
--- a/public/content/translations/es/developers/docs/scaling/zk-rollups/index.md
+++ b/public/content/translations/es/developers/docs/scaling/zk-rollups/index.md
@@ -222,12 +222,6 @@ Vea una explicación de Finematics de los ZK-rollups:
-### Utilice los ZK-rollups {#use-zk-rollups}
-
-Existen múltiples implementaciones de ZK-rollups que pueden integrarse en sus dApps:
-
-
-
## ¿Quién está trabajando en un zkEVM? {#zkevm-projects}
Los proyectos que trabajan en zkEVM incluyen:
diff --git a/public/content/translations/es/developers/docs/security/index.md b/public/content/translations/es/developers/docs/security/index.md
index 9d321396909..7d1ae2629fa 100644
--- a/public/content/translations/es/developers/docs/security/index.md
+++ b/public/content/translations/es/developers/docs/security/index.md
@@ -6,7 +6,7 @@ lang: es
Los contratos Inteligentes de Ethereum son extremadamente flexibles, capaces de contener grandes cantidades de tokens (A menudo más de $1B) y ejecutar una lógica inmutable basada en el código de contrato inteligente previamente desplegado. Aunque esto ha creado un ecosistema vibrante y creativo de contratos inteligentes sin confianza e interconectados, es también el ecosistema perfecto para atraer atacantes que buscan beneficios explotando las vulnerabilidades de los contratos inteligentes y los comportamientos inesperados en Ethereum. El código del contrato inteligente _normalmente_ no se puede modificar para "poner parches" a los fallos de seguridad, por lo que los activos robados de contratos inteligentes son irrecuperables, y los activos robados son extremadamente difíciles de rastrear. La cantidad total de valor robado o perdido debido a problemas de contratos inteligentes asciende fácilmente a $1B USD. Algunos de los mayores debido a errores de codificación de contrato inteligente incluyen:
-- [Parity multi-sig issue #1: $30 M perdidos](https://www.coindesk.com/30-million-ether-reported-stolen-parity-wallet-breach)
+- [Parity multi-sig issue #1: $30 M perdidos](https://www.coindesk.com/markets/2017/07/19/30-million-ether-reported-stolen-due-to-parity-wallet-breach)
- [Problema de paridad multi-sig #2: $300M bloqueados](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether)
- [TheDAO hack, 3.6M ETH! Más de $1B en los precios ETH de hoy](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/)
diff --git a/public/content/translations/es/developers/docs/smart-contracts/anatomy/index.md b/public/content/translations/es/developers/docs/smart-contracts/anatomy/index.md
index 4f721cd8d90..3fe2a2ba75d 100644
--- a/public/content/translations/es/developers/docs/smart-contracts/anatomy/index.md
+++ b/public/content/translations/es/developers/docs/smart-contracts/anatomy/index.md
@@ -203,7 +203,7 @@ Un contrato completo podría verse así. Aquí la función `constructor` proporc
## Eventos y registros {#events-and-logs}
-Los eventos le permiten comunicarse con su contrato inteligente desde su front-end u otras aplicaciones de suscripción. Cuando se mina una transacción, los contratos inteligentes pueden emitir eventos y escribir registros en la cadena de bloques que el front-end pueda procesar.
+Los eventos permiten que su contrato inteligente se comunique con su interfaz o frontend, u otras aplicaciones de suscripción. Una vez que una transacción es validada y se agrega a un bloque, los contratos inteligentes pueden emitir eventos y registrar información, que la frontend puede procesar y utilizar.
## Ejemplos anotados {#annotated-examples}
@@ -282,19 +282,19 @@ contract Token {
// `requiere` es una estructura de control utilizada para hacer cumplir ciertas condiciones.
// Si una instrucción `require` evalúa a `falso`, se activa una excepción,
// la cual revierte todos los cambios realizados en el estado durante la llamada actual.
- // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+ // Más información: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
- // Only the contract owner can call this function
+ // Sólo el propietario del contrato puede llamar a esta función
require(msg.sender == owner, "You are not the owner.");
- // Enforces a maximum amount of tokens
+ // Impone una cantidad máxima de tokens
require(amount < 1e60, "Maximum issuance exceeded");
- // Increases the balance of `receiver` by `amount`
+ // Aumenta el saldo del `receiver` en `amount`.
balances[receiver] += amount;
}
- // Sends an amount of existing tokens from any caller to an address.
+ // Envía una cantidad de tokens existentes de cualquier llamante a una dirección.
function transfer(address receiver, uint amount) public {
// El remitente debe tener suficientes tokens para enviar
require(amount <= balances[msg.sender], "Insufficient balance.");
@@ -627,10 +627,10 @@ https://docs.openzeppelin.com/contracts/3. /api/math#SafeMath
uint256 size;
// Currently there is no better way to check if there is a contract in an address
// than to check the size of the code at that address.
- // See https://ethereum.stackexchange.com/a/14016/36603
- // for more details about how this works.
- // TODO Check this again before the Serenity release, because all addresses will be
- // contracts then.
+ // En https://ethereum.stackexchange.com/a/14016/36603
+ // podrás consultar más detalles sobre cómo funciona esto.
+ // TODO Verifica esto de nuevo antes de el lanzamiento de Serenity, porque todas las direcciones serán
+ // contratos entonces.
// solium-disable-next-line security/no-inline-assembly
assembly {
size := extcodesize(account)
diff --git a/public/content/translations/es/developers/docs/smart-contracts/composability/index.md b/public/content/translations/es/developers/docs/smart-contracts/composability/index.md
index 6dacd4f7e35..b1353f87450 100644
--- a/public/content/translations/es/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/translations/es/developers/docs/smart-contracts/composability/index.md
@@ -29,7 +29,7 @@ Los contratos inteligentes de Ethereum son como API públicas, por lo que cualqu
### Ciclo de desarrollo más corto {#shorter-development-cycle}
-La componibilidad reduce el trabajo que los desarrolladores tienen que hacer al crear [dapps](/dapps/#what-are-dapps). [Como indica Naval Ravikant:](https://twitter.com/naval/status/1444366754650656770) "Código abierto significa que cada problema tiene que resolverse una vez."
+La componibilidad reduce el trabajo que los desarrolladores tienen que hacer al crear [dapps](/apps/#what-are-dapps). [Como indica Naval Ravikant:](https://twitter.com/naval/status/1444366754650656770) "Código abierto significa que cada problema tiene que resolverse una vez."
Si hay un contrato inteligente que resuelve un problema, otros desarrolladores pueden reutilizarlo, por lo que no tienen que resolver el mismo problema. De esta manera, los desarrolladores pueden usar las bibliotecas de software ya existentes y añadir funcionalidad adicional para crear nuevas dapps.
diff --git a/public/content/translations/es/developers/docs/smart-contracts/deploying/index.md b/public/content/translations/es/developers/docs/smart-contracts/deploying/index.md
index 1e93c3a0d9f..79ed0fe7169 100644
--- a/public/content/translations/es/developers/docs/smart-contracts/deploying/index.md
+++ b/public/content/translations/es/developers/docs/smart-contracts/deploying/index.md
@@ -38,7 +38,7 @@ Los pasos específicos involucrados dependerán del marco de desarrollo en cuest
**Tenderly: _plataforma de desarrollo web3 que proporciona bloques de desarrollo de depuración, observabilidad y infraestructura para desarrollar, probar, monitorear y operar contratos inteligentes_.**
- [tenderly.co](https://tenderly.co/)
-- [Documentos](https://docs.tenderly.co/)
+- [Documentación](https://docs.tenderly.co/)
- [GitHub](https://github.com/Tenderly)
- [Discord](https://discord.gg/eCWjuvt)
@@ -53,6 +53,13 @@ Los pasos específicos involucrados dependerán del marco de desarrollo en cuest
- [Documentación](https://portal.thirdweb.com/deploy/)
+**Crossmint: _Plataforma de desarrollo web3 de nivel empresarial para implementar contratos inteligentes, habilitar pagos con tarjeta de crédito y entre cadenas, y utilizar API para crear, distribuir, vender, almacenar y editar NFT. _**
+
+- [crossmint.com](https://www.crossmint.com)
+- [Documentación](https://docs.crossmint.com)
+- [Discord](https://discord.com/invite/crossmint)
+- [Blog](https://blog.crossmint.com)
+
## Tutoriales relacionados {#related-tutorials}
- [Implementar su primer contrato inteligente:](/developers/tutorials/deploying-your-first-smart-contract/)_ introducción para implementar su primer contrato inteligente en la red de prueba de Ethereum_
diff --git a/public/content/translations/es/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/es/developers/docs/smart-contracts/formal-verification/index.md
index 918ffee9977..f35d960f00f 100644
--- a/public/content/translations/es/developers/docs/smart-contracts/formal-verification/index.md
+++ b/public/content/translations/es/developers/docs/smart-contracts/formal-verification/index.md
@@ -70,7 +70,7 @@ Las especificaciones formales de bajo nivel se pueden dar como propiedades de es
### Propiedades de estilo Hoare {#hoare-style-properties}
-La [lógica de Hoare](https://en.wikipedia.org/wiki/Hoare_logic) proporciona un conjunto de reglas formales para razonar sobre la corrección de los programas, incluidos los contratos inteligentes. Una propiedad de estilo Hoare está representada por un triple Hoare {_P_}_c_{_Q_}, donde _c_ es un programa y _P_ y _Q_ son predicados sobre el estado del _c_ (es decir, el programa), descrito formalmente como _precondiciones_ y _poscondiciones_, respectivamente.
+La [lógica de Hoare](https://en.wikipedia.org/wiki/Hoare_logic) proporciona un conjunto de reglas formales para razonar sobre la corrección de los programas, incluidos los contratos inteligentes. Una propiedad de estilo Hoare está representada por un triple Hoare `{P}c{Q}`, donde `c` es un programa y `P` y `Q` son predicados sobre el estado del `c` (es decir, el programa), descrito formalmente como _precondiciones_ y _poscondiciones_, respectivamente.
Una precondición es un predicado que describe las condiciones requeridas para la correcta ejecución de una función; los usuarios que invocan o llaman al contrato deben cumplir con este requisito. Una poscondición es un predicado que describe la condición que una función establece si se ejecuta correctamente; los usuarios pueden esperar que esta condición sea verdadera después de invocar la función. Un _invariante_ en la lógica de Hoare es un predicado que se conserva mediante la ejecución de una función (es decir, no cambia).
diff --git a/public/content/translations/es/developers/docs/smart-contracts/index.md b/public/content/translations/es/developers/docs/smart-contracts/index.md
index a6a02eb3808..ac40425fd6b 100644
--- a/public/content/translations/es/developers/docs/smart-contracts/index.md
+++ b/public/content/translations/es/developers/docs/smart-contracts/index.md
@@ -109,3 +109,4 @@ Los contratos Multisig (o multifirma) son cuentas de contratos inteligentes que
- [Coinbase: ¿qué es un contrato inteligente?](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract)
- [Chainlink: ¿qué es un contrato inteligente?](https://chain.link/education/smart-contracts)
- [Video: Fácil explicación de los contratos inteligentes](https://youtu.be/ZE2HxTmxfrI)
+- [Cyfrin Updraft: Plataforma de aprendizaje y auditoría Web3](https://updraft.cyfrin.io)
diff --git a/public/content/translations/es/developers/docs/smart-contracts/languages/index.md b/public/content/translations/es/developers/docs/smart-contracts/languages/index.md
index c3796c7b9fc..776a9a8b518 100644
--- a/public/content/translations/es/developers/docs/smart-contracts/languages/index.md
+++ b/public/content/translations/es/developers/docs/smart-contracts/languages/index.md
@@ -11,9 +11,11 @@ Los dos lenguajes más activos y soportados son:
- Solidity
- Vyper
-Los desarrolladores más experimentados también podrían querer usar Yul, un lenguaje intermedio para la [máquina virtual Ethereum](/developers/docs/evm/), o Yul+, una extensión de Yul.
+Remix IDE proporciona un entorno de desarrollo integral para crear y probar contratos tanto en Solidity como en Vyper. [Pruebe Remix IDE en el navegador](https://remix.ethereum.org) para empezar a programar.
-Si es curioso y le gustaría ayudar a testear nuevos lenguajes que aún se encuentran bajo gran desarrollo, puede experimentar con Fe, un lenguaje emergente de contratos inteligentes que aún está en sus inicios.
+Los desarrolladores más experimentados también podrían querer usar Yul, un lenguaje intermedio para la [máquina virtual de Ethereum](/developers/docs/evm/), o Yul+, una extensión de Yul.
+
+Si es curioso y le gustaría ayudar a testear nuevos lenguajes que aún se encuentran en gran desarrollo, puede experimentar con Fe, un lenguaje emergente de contratos inteligentes que aún está en sus inicios.
## Requisitos previos {#prerequisites}
@@ -175,11 +177,11 @@ def withdraw():
# Finalizar la subasta y enviar la oferta más alta
# al beneficiario.
-@external
+@externo
def endAuction():
- # It is a good guideline to structure functions that interact
- # with other contracts (i.e. they call functions or send ether)
- # into three phases:
+ # Es una buena guía para estructurar funciones que interactúan
+ # con otros contratos (es decir, ellos llaman funciones o envían ether)
+ # en tres frases:
# 1. condiciones de comprobación
# 2. realizar acciones (condiciones potencialmente cambiantes)
# 3. interactuando con otros contratos
diff --git a/public/content/translations/es/developers/docs/smart-contracts/libraries/index.md b/public/content/translations/es/developers/docs/smart-contracts/libraries/index.md
index 3db839497ae..f1969ca9131 100644
--- a/public/content/translations/es/developers/docs/smart-contracts/libraries/index.md
+++ b/public/content/translations/es/developers/docs/smart-contracts/libraries/index.md
@@ -79,7 +79,7 @@ Independientemente del método que utilices, al incluir una biblioteca, siempre
Usar una biblioteca de contratos inteligentes para tu proyecto tiene varias ventajas. En primer lugar y principalmente, te ahorra tiempo al proporcionarte los bloques de construcción listos para que los puedas incluir en tu sistema, en lugar de tener que codificarlos tú mismo.
-La seguridad también es un beneficio importante. Las bibliotecas de contratos inteligentes de código abierto también suelen ser objeto de un severo escrutinio. Dado que muchos proyectos dependen de ellos, existe un fuerte incentivo por parte de la comunidad para mantenerlos bajo una constante revisión. Es mucho más común encontrar errores en el código de aplicación que en las bibliotecas de contratos reutilizables. Algunas bibliotecas también son sometidas a [auditorías externas](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audit) por seguridad adicional.
+La seguridad también es un beneficio importante. Las bibliotecas de contratos inteligentes de código abierto también suelen ser objeto de un severo escrutinio. Dado que muchos proyectos dependen de ellos, existe un fuerte incentivo por parte de la comunidad para mantenerlos bajo una constante revisión. Es mucho más común encontrar errores en el código de aplicación que en las bibliotecas de contratos reutilizables. Algunas bibliotecas también son sometidas a [auditorías externas](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audits) por seguridad adicional.
Sin embargo, el uso de bibliotecas de contratos inteligentes conlleva el riesgo de incluir código con el que no estés familiarizado en tu proyecto. Es tentador importar un contrato e incluirlo directamente en tu proyecto, pero sin entender bien lo que hace ese contrato, puedes estar introduciendo inadvertidamente un problema en tu sistema debido a un comportamiento inesperado. Asegúrate siempre de leer la documentación del código que estás importando y, a continuación, revisa el código antes de incluirlo en tu proyecto.
@@ -104,7 +104,7 @@ Por último, al decidir si incluir o no una biblioteca, considera su uso general
**thirdweb Solidity SDK:****_ Proporciona las herramientas necesarias para crear contratos inteligentes personalizados de forma eficiente_**
-- [Documentación](https://portal.thirdweb.com/solidity/)
+- [Documentación](https://portal.thirdweb.com/contracts/build/overview)
- [GitHub](https://github.com/thirdweb-dev/contracts)
## Tutoriales relacionados {#related-tutorials}
diff --git a/public/content/translations/es/developers/docs/smart-contracts/security/index.md b/public/content/translations/es/developers/docs/smart-contracts/security/index.md
index 28322d4bd18..ae1e3a75a67 100644
--- a/public/content/translations/es/developers/docs/smart-contracts/security/index.md
+++ b/public/content/translations/es/developers/docs/smart-contracts/security/index.md
@@ -1,5 +1,5 @@
---
-title: Seguridad de los contratos inteligentes
+title: Seguridad en contratos inteligentes
description: Resumen de lineamientos para crear contratos inteligentes seguros en Ethereum
lang: es
---
@@ -8,7 +8,7 @@ Los contratos inteligentes son extremadamente flexibles y capaces de controlar g
Las cadenas de bloques públicas como Ethereum complican aún más la cuestión de la seguridad de los contratos inteligentes. El código de los contratos ya implementado _por lo general_ no puede cambiarse para corregir fallas de seguridad, mientras que los activos robados de los contratos inteligentes son extremadamente difíciles de rastrear y en su mayor parte irrecuperables debido a la inmutabilidad.
-Aunque las cifras varían, se estima que la cantidad total de valor robado o perdido debido a defectos de seguridad en los contratos inteligentes supera fácilmente los USD 1000 millones de dólares. Esto incluye incidentes de alto perfil, tal como el [hackeo a la DAO](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (3,6 millones de ETH robados, por valor de más de USD 1000 millones a precios actuales), el [hackeo de la billetera multifirma de Parity](https://www.coindesk.com/30-million-ether-reported-stolen-parity-wallet-breach) (USD 30M perdidos a manos de hackers) y el [problema de billeteras congeladas de Parity](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (mas de USD 300M en ETH bloqueados para siempre).
+Aunque las cifras varían, se estima que la cantidad total de valor robado o perdido debido a defectos de seguridad en los contratos inteligentes supera fácilmente los USD 1000 millones de dólares. Esto incluye incidentes de alto perfil, tal como el [hackeo a la DAO](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (3,6 millones de ETH robados, por valor de más de USD 1000 millones a precios actuales), el [hackeo de la billetera multifirma de Parity](https://www.coindesk.com/markets/2017/07/19/30-million-ether-reported-stolen-due-to-parity-wallet-breach) (USD 30M perdidos a manos de hackers) y el [problema de billeteras congeladas de Parity](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (mas de USD 300M en ETH bloqueados para siempre).
Los problemas mencionados anteriormente hacen que sea imperativo que los desarrolladores inviertan esfuerzos en la creación de contratos inteligentes seguros, robustos y resistentes. La seguridad de los contratos inteligentes es un asunto serio que todo desarrollador hará bien en aprender. Esta guía abordará consideraciones de seguridad para los desarrolladores de Ethereum y explorará recursos para mejorar la seguridad de los contratos inteligentes.
@@ -90,7 +90,10 @@ Después de probar su contrato, es bueno pedir a otros que comprueben el código
Encargar una auditoría de un contrato inteligente es una forma de realizar una revisión independiente del código. Los auditores desempeñan un papel importante a la hora de garantizar que los contratos inteligentes sean seguros y estén libres de defectos de calidad y errores de diseño.
-Dicho esto, hay que evitar tratar las auditorías como una bala de plata. Las auditorías no detectarán todos los errores y están diseñadas principalmente para proporcionar una ronda adicional de revisiones, que puede ayudar a detectar los problemas que los desarrolladores pasaron por alto durante el desarrollo y las pruebas iniciales. También es necesario cumplir con [buenas prácticas para trabajar con los auditores](https://twitter.com/tinchoabbate/status/1400170232904400897), como documentar el código adecuadamente y añadir comentarios en línea, para maximizar el beneficio de una auditoría del contrato inteligente.
+Dicho esto, hay que evitar tratar las auditorías como una bala de plata. Las auditorías no detectarán todos los errores y están diseñadas principalmente para proporcionar una ronda adicional de revisiones, que puede ayudar a detectar los problemas que los desarrolladores pasaron por alto durante el desarrollo y las pruebas iniciales. También es necesario cumplir con buenas prácticas para trabajar con los auditores, como documentar el código adecuadamente y añadir comentarios en línea, para maximizar el beneficio de una auditoría del contrato inteligente.
+
+- [Consejos y trucos de auditoría de contratos inteligentes](https://twitter.com/tinchoabbate/status/1400170232904400897) - _@tinchoabbate_
+- [Aproveche al máximo su auditoría](https://inference.ag/blog/2023-08-14-tips/) - _Inference_
#### Dar recompensas por detección de errores {#bug-bounties}
@@ -214,7 +217,7 @@ La gobernanza descentralizada puede ser beneficiosa, especialmente porque alinea
Una manera de prevenir problemas relacionados con la gobernanza en cadena es [usar un bloqueo de tiempo o timelock](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/). Un bloqueo de tiempo impide que un contrato inteligente ejecute ciertas acciones hasta que pase una cantidad específica de tiempo. Otras estrategias incluyen asignar un "peso de votación" a cada token en función de cuánto tiempo ha estado bloqueado, o medir el poder de voto de una dirección en un período histórico (por ejemplo, 2-3 bloques en el pasado) en lugar del bloque actual. Ambos métodos reducen la posibilidad de acumular rápidamente el poder de voto para cambiar los votos en cadena.
-Consulte más información sobre el [diseño de sistemas de gobernanza seguros](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/) y los [diferentes mecanismos de votación en las DAO](https://hackernoon.com/governance-is-the-holy-grail-for-daos).
+Obtenga más información sobre [diseño de sistemas de gobernanza seguros](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/), [diferentes mecanismos de votación en las DAO](https://hackernoon.com/governance-is-the-holy-grail-for-daos) y [los vectores de ataque comunes de DAO que aprovechan DeFi](https://dacian.me/dao-governance-defi-attacks) en los enlaces compartidos.
### 8. Reducir la complejidad del código al mínimo {#reduce-code-complexity}
@@ -301,7 +304,7 @@ No hay nada malo aquí, excepto que `Attacker` tiene otra función que llama a `
- `Victim` finally applies the results of the first transaction (and subsequent ones) to its state, so `Attacker`’s balance is set to 0
```
-El resumen es que, debido a que el saldo de la persona que llama no se establece en 0 hasta que se complete la ejecución de la función, las invocaciones posteriores tendrán éxito y permitirán que la persona que llame retire su saldo varias veces. Este tipo de ataque se puede utilizar para drenar un contrato inteligente de sus fondos, como lo que sucedió en el [hackeo de 2016 de DAO](https://www.coindesk.com/learn/2016/06/25/understanding-the-dao-attack/). Los ataques de reentrada siguen siendo un problema crítico para los contratos inteligentes hoy en día, como muestran las [listas públicas de explotaciones de reentrada](https://github.com/pcaversaccio/reentrancy-attacks).
+El resumen es que, debido a que el saldo de la persona que llama no se establece en 0 hasta que se complete la ejecución de la función, las invocaciones posteriores tendrán éxito y permitirán que la persona que llame retire su saldo varias veces. Este tipo de ataque se puede utilizar para drenar un contrato inteligente de sus fondos, como lo que sucedió en el [hackeo de 2016 de DAO](https://www.coindesk.com/learn/understanding-the-dao-attack). Los ataques de reentrada siguen siendo un problema crítico para los contratos inteligentes hoy en día, como muestran las [listas públicas de explotaciones de reentrada](https://github.com/pcaversaccio/reentrancy-attacks).
##### Cómo prevenir los ataques de reentrada
@@ -468,6 +471,8 @@ Si planea consultar a un oráculo en cadena precios de activos, considere el uso
- **[ABI Encoder:](https://abi.hashex.org/)** _Servicio en línea gratuito para codificar funciones de contratos y argumentos constructor de Solidity. _
+- **[Aderyn](https://github.com/Cyfrin/aderyn)**: _Analizador estático de Solidity, que atraviesa los Árboles de Sintaxis Abstracta (AST) para identificar vulnerabilidades sospechosas e imprimir problemas en un formato de reducción fácil de consumir._
+
### Herramientas para monitorear contratos inteligentes {#smart-contract-monitoring-tools}
- **[OpenZeppelin Defender Sentinels:](https://docs.openzeppelin.com/defender/v1/sentinel)** _Una herramienta para monitorear y responder automáticamente a eventos, funciones y parámetros de transacción en sus contratos inteligentes. _
@@ -500,7 +505,7 @@ Si planea consultar a un oráculo en cadena precios de activos, considere el uso
- **[Hacken:](https://hacken.io)** _Auditor de ciberseguridad Web3 que aporta el enfoque de 360 grados a la seguridad de la cadena de bloques. _
-- **[Nethermind:](https://nethermind.io/smart-contracts-audits)** _Servicios de auditoría de Solidity y Cairo que garantizan la integridad de los contratos inteligentes y la seguridad de los usuarios en Ethereum y Starknet._
+- **[Nethermind:](https://www.nethermind.io/smart-contract-audits)** _Servicios de auditoría de Solidity y Cairo que garantizan la integridad de los contratos inteligentes y la seguridad de los usuarios en Ethereum y Starknet._
- **[HashEx:](https://hashex.org/)** _HashEx se centra en la auditoría de cadena de bloques y contratos inteligentes para garantizar la seguridad de las criptomonedas, proporcionando servicios como el desarrollo de contratos inteligentes, las pruebas de penetración y la consultoría de cadenas de bloques. _
@@ -508,9 +513,13 @@ Si planea consultar a un oráculo en cadena precios de activos, considere el uso
- **[CodeHawks](https://codehawks.com/)**: _plataforma de auditorías competitivas que aloja licitaciones de auditorías de contratos inteligentes para investigadores de seguridad._
-- **[Cyfrin](https://www.cyfrin.io/)**: _empresa de formación sobre seguridad de cadenas de bloques y Web3 centrada en protocolos basados en la EVM y Vyper._
+- **[Cyfrin:](https://cyfrin.io)** _Plataforma de seguridad web3 que incuba la seguridad criptográfica a través de productos y servicios de auditoría de contratos inteligentes._
+
+- **[ImmuneBytes](https://immunebytes.com/smart-contract-audit/)**: _empresa de seguridad en Web3 que ofrece auditorías de seguridad para sistemas de cadena de bloque mediante un equipo de auditores expertos y las mejores herramientas existentes._
+
+- **[Oxorio:](https://oxor.io/)** _Auditorías de contratos inteligentes y servicios de seguridad de cadena de bloques con experiencia en EVM, Solidity, ZK y tecnología de cadena cruzada para empresas criptográficas y proyectos DeFi._
-- **[ImmuneBytes](https://www.immunebytes.com//smart-contract-audit/)**: _empresa de seguridad en Web3 que ofrece auditorías de seguridad para sistemas de cadena de bloque mediante un equipo de auditores expertos y las mejores herramientas existentes._
+- **[Inference:](https://inference.ag/)** _Empresa de auditoría de seguridad especializada en auditoría de contratos inteligentes para cadenas de bloques basadas en EVM. Gracias a sus auditores expertos, identifican posibles problemas y sugieren soluciones prácticas para solucionarlos antes de la implementación._
### Plataformas de recompensas por errores {#bug-bounty-platforms}
@@ -520,6 +529,10 @@ Si planea consultar a un oráculo en cadena precios de activos, considere el uso
- **[HackenProof:](https://hackenproof.com/)** _Plataforma experta de recompensas por errores para proyectos criptográficos (DeFi, Smart Contracts, Wallets, CEX y más), donde profesionales de seguridad proporcionan servicios de triaje y a los investigadores se les paga por informes de errores relevantes y verificados. _
+- **[Sherlock:](https://www.sherlock.xyz/)** _Asegurador en Web3 para la seguridad de los contratos inteligentes, con pagos para auditores gestionados a través de contratos inteligentes para garantizar que los errores relevantes se paguen de manera justa._
+
+- **[CodeHawks:](https://www.codehawks.com/)** _Plataforma de recompensas por errores competitivas donde los auditores participan en concursos y desafíos de seguridad, y (pronto) en sus propias auditorías privadas._
+
### Publicaciones de vulnerabilidades y explotaciones conocidas en los contratos inteligentes {#common-smart-contract-vulnerabilities-and-exploits}
- **[ConsenSys: ataques conocidos de contratos inteligentes:](https://consensys.github.io/smart-contract-best-practices/attacks/)** _ Explicación para principiantes de las vulnerabilidades de contratos más importantes, con código de ejemplo para la mayoría de los casos. _
@@ -536,6 +549,8 @@ Si planea consultar a un oráculo en cadena precios de activos, considere el uso
- **[Ethernaut:](https://ethernaut.openzeppelin.com/)** _Juego de guerra basado en la Web3/Solidity donde cada nivel es un contrato inteligente que necesita ser "hackeado". _
+- **[HackenProof x HackTheBox:](https://app.hackthebox.com/tracks/HackenProof-Track)** _Desafío de piratería de contrato inteligente, ambientado en una aventura de fantasía. La finalización exitosa del desafío también da acceso a un programa privado de recompensas por errores._
+
### Mejores prácticas para proteger contratos inteligentes {#smart-contract-security-best-practices}
- **[ConsenSys: mejores prácticas de seguridad de contratos inteligentes de Ethereum:](https://consensys.github.io/smart-contract-best-practices/)** _Lista exhaustiva de directrices para proteger contratos inteligentes de Ethereum._
@@ -548,6 +563,8 @@ Si planea consultar a un oráculo en cadena precios de activos, considere el uso
- **[Estándar de verificación de seguridad de contratos inteligentes:](https://github.com/securing/SCSVS)** _Lista de verificación de catorce partes creada para estandarizar la seguridad de los contratos inteligentes para desarrolladores, arquitectos, revisores y proveedores de seguridad. _
+- **[Aprenda sobre seguridad y auditorías de contratos inteligentes:](https://updraft.cyfrin.io/courses/security) _Curso definitivo de seguridad y auditoría de contratos inteligentes creado para desarrolladores de contratos inteligentes que buscan mejorar sus buenas prácticas de seguridad y convertirse en investigadores de seguridad._
+
### Tutoriales sobre seguridad de contratos inteligentes {#tutorials-on-smart-contract-security}
- [Cómo escribir contratos inteligentes seguros](/developers/tutorials/secure-development-workflow/)
@@ -556,7 +573,7 @@ Si planea consultar a un oráculo en cadena precios de activos, considere el uso
- [Cómo utilizar Manticore para encontrar errores en contratos inteligentes](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
-- [Directrices de seguridad de contratos inteligentes](/developers/tutorials/smart-contract-security-guidelines/)
+- [Pautas de seguridad de contratos inteligentes](/developers/tutorials/smart-contract-security-guidelines/)
- [Cómo integrar de forma segura su contrato de tokens con tokens arbitrarios](/developers/tutorials/token-integration-checklist/)
diff --git a/public/content/translations/es/developers/docs/standards/tokens/erc-1155/index.md b/public/content/translations/es/developers/docs/standards/tokens/erc-1155/index.md
index 10dec629362..f7b7276752e 100644
--- a/public/content/translations/es/developers/docs/standards/tokens/erc-1155/index.md
+++ b/public/content/translations/es/developers/docs/standards/tokens/erc-1155/index.md
@@ -23,7 +23,7 @@ Para una mejor comprensión de esta página, recomendamos que primero lea acerca
- [Transferencia en lotes](#batch_transfers): transfiera múltiples activos en una sola llamada.
- [Saldos en lote](#batch_balance): obtenga saldos de multiples activos en una sola llamada.
- [Aprobación en lote](#batch_approval): apruebe todos los tokens en una dirección.
-- [Hooks](#recieve_hook): reciba hooks de tokens.
+- [Hooks](#receive_hook): reciba hooks de tokens.
- [Compatibilidad con NFT](#nft_support): si el suministro solo es 1, trátelo como un NFT.
- [Reglas de transferencia segura](#safe_transfer_rule): conjunto de reglas para una transferencia segura.
diff --git a/public/content/translations/es/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md b/public/content/translations/es/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
index ccb114f75d0..d2f000e9aeb 100644
--- a/public/content/translations/es/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
+++ b/public/content/translations/es/developers/tutorials/a-developers-guide-to-ethereum-part-one/index.md
@@ -136,7 +136,7 @@ Se usa un patrón similar cuando se escriben transacciones en ether. Sin
-Pruebe convertir algunos valores a y desde wei. Tenga en cuenta que [hay nombres para muchas de las denominaciones](https://web3py.readthedocs.io/en/stable/examples.html#converting-currency-denominations) entre ether y wei. Una de las más conocidas es **gwei**, ya que es como suelen representarse las comisiones de las transacciones.
+Pruebe convertir algunos valores a y desde wei. Tenga en cuenta que [hay nombres para muchas de las denominaciones](https://web3py.readthedocs.io/en/stable/troubleshooting.html#how-do-i-convert-currency-denominations) entre ether y wei. Una de las más conocidas es **gwei**, ya que es como suelen representarse las comisiones de las transacciones.
```python
In [2]: Web3.to_wei(1, 'ether')
diff --git a/public/content/translations/es/developers/tutorials/erc-721-vyper-annotated-code/index.md b/public/content/translations/es/developers/tutorials/erc-721-vyper-annotated-code/index.md
index f6848efd195..0be0baa7d3b 100644
--- a/public/content/translations/es/developers/tutorials/erc-721-vyper-annotated-code/index.md
+++ b/public/content/translations/es/developers/tutorials/erc-721-vyper-annotated-code/index.md
@@ -614,11 +614,11 @@ def burn(_tokenId: uint256):
Cualquiera a quien se le permita transferir un token puede quemarlo. Mientras que una quema parece equivalente a transferira la dirección cero, la dirección cero no recibe el token. Esto nos permite liberar todo el almacenamiento que se utilizó para el token, lo que puede reducir el coste del gas de la transacción.
-# Utilizar este contrato {#using-contract}
+## Utilizar este contrato {#using-contract}
En contraste con Solidity, Vyper no tiene herencia. Esta es una elección de diseño deliberada para hacer el código más claro y por lo tanto más fácil de asegurar. Así que para crear su propio contrato Vyper ERC-721, utilice [este contrato](https://github.com/vyperlang/vyper/blob/master/examples/tokens/ERC721.vy) y modifíquelo para implementar la lógica de negocio que desee.
-# Conclusión {#conclusion}
+### Conclusión {#conclusion}
A modo de recapitulación, he resumido algunas de las ideas más importantes de este contrato:
diff --git a/public/content/translations/es/developers/tutorials/erc20-annotated-code/index.md b/public/content/translations/es/developers/tutorials/erc20-annotated-code/index.md
index 75c902c979e..040dc2bb9e0 100644
--- a/public/content/translations/es/developers/tutorials/erc20-annotated-code/index.md
+++ b/public/content/translations/es/developers/tutorials/erc20-annotated-code/index.md
@@ -587,7 +587,7 @@ La función `a.add(n)` es una adición segura. En el caso poco probable de que `
Estas son las cuatro funciones que hacen el verdadero trabajo: `_transfer`, `_mint`, `_burn` y `_approve`.
-#### La función \_transfer {#\_transfer}
+#### La función \_transfer {#_transfer}
```solidity
/**
@@ -652,7 +652,7 @@ Estas son las líneas que en realidad hacen la transferencia. Note que no hay **
Finalmente, emite un evento `Transfer`. Los eventos no son accesibles por los contratos inteligentes, pero el código en ejecución fuera de la cadena de bloques puede escuchar eventos y reaccionar a ellos. Por ejemplo, una billetera puede mantener un registro de cuando el propietario obtiene más tokens.
-#### Las funciones \_mint y \_burn {#\_mint-y-\_burn}
+#### Las funciones \_mint y \_burn {#_mint-y-_burn}
Estas dos funciones (`_mint` y `_burn`) modifican el suministro total de tókenes. Son internas y no hay ninguna función que las invoque en este contrato, entonces sólo son útiles si las hereda desde un contrato y añade su propia lógica para decidir en qué condiciones quiere acuñar nuevos tóekens o quemar los existentes.
@@ -706,7 +706,7 @@ Asegúrese de actualizar `_totalSupply` cuando la cantidad total de tókenes cam
La función `_burn` es casi idéntica a `_mint`, excepto que esta va en otra dirección.
-#### La función \_approve {#\_approve}
+#### La función \_approve {#_approve}
Esta es la función que actualmente especifica asignaciones. Observe que esta permite especificar una asignación que es mayor al balance actual de la cuenta del propietario. Esto es correcto, porque el saldo se revisa en el momento de la transferencia y puede ser diferente del saldo cuando se creó la asignación.
@@ -784,7 +784,7 @@ Esta función modifica la variable `_decimals` que sirve para decirle a las inte
Esta es la función gancho a ser llamada durante las transferencias. Aquí está vacía, pero si necesita hacer algo puede sobrescribirla.
-# Conclusión {#conclusion}
+## Conclusión {#conclusion}
Para revisión, he aquí hay algunas de las ideas importantes en este contrato (en mi opinión, porque usted puede pensar de otra manera):
diff --git a/public/content/translations/es/developers/tutorials/erc20-with-safety-rails/index.md b/public/content/translations/es/developers/tutorials/erc20-with-safety-rails/index.md
index 1e62c5bfb5c..107363408c7 100644
--- a/public/content/translations/es/developers/tutorials/erc20-with-safety-rails/index.md
+++ b/public/content/translations/es/developers/tutorials/erc20-with-safety-rails/index.md
@@ -24,7 +24,7 @@ Si quieres ver el código fuente completo:
## Creando un contrato ERC-20 {#creating-an-erc-20-contract}
-Antes de agregar la funcionalidad del riel de seguridad, necesitamos un contrato ERC-20. En este artículo usaremos [el Asistente de Contratos de OpenZeppelin](https://docs.openzeppelin.com/contracts/4.x/wizard). Ábrelo en otra ventana del navegador y sigue estas instrucciones:
+Antes de agregar la funcionalidad del riel de seguridad, necesitamos un contrato ERC-20. En este artículo usaremos [el Asistente de Contratos de OpenZeppelin](https://docs.openzeppelin.com/contracts/5.x/wizard). Ábrelo en otra ventana del navegador y sigue estas instrucciones:
1. Selecciona **ERC-20**.
2. Ingresa estos ajustes:
diff --git a/public/content/translations/es/developers/tutorials/hello-world-smart-contract-fullstack/index.md b/public/content/translations/es/developers/tutorials/hello-world-smart-contract-fullstack/index.md
index 8f40855e534..94e575cd305 100644
--- a/public/content/translations/es/developers/tutorials/hello-world-smart-contract-fullstack/index.md
+++ b/public/content/translations/es/developers/tutorials/hello-world-smart-contract-fullstack/index.md
@@ -48,7 +48,7 @@ Haga clic en **Create app**. Su aplicación aparecerá en la siguiente tabla.
Necesita tener una cuenta de Ethereum para enviar y recibir transacciones. Utilizaremos MetaMask, una cartera virtual en el navegador que permite a los usuarios gestionar la dirección de su cuenta de Ethereum.
-Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download.html). Cuando esté creando una cuenta, o si ya tiene una, asegúrese de cambiar a la “red de prueba Goerli” en la parte superior derecha (para no operar con dinero real).
+Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download). Cuando esté creando una cuenta, o si ya tiene una, asegúrese de cambiar a la “red de prueba Goerli” en la parte superior derecha (para no operar con dinero real).
### Paso 4: Añadir ether de un faucet {#step-4-add-ether-from-a-faucet}
@@ -260,7 +260,7 @@ En el directorio de su proyecto, teclee:
npm install --save-dev @nomiclabs/hardhat-ethers "ethers@^5.0.0"
```
-### Paso 13: Actualizar hardhat.config.js {#step-13-update-hardhat.configjs}
+### Paso 13: Actualizar hardhat.config.js {#step-13-update-hardhat-configjs}
Hasta ahora hemos añadido varias dependencias y plugins, por lo que ahora necesitamos actualizar `hardhat.config.js` para que nuestro proyecto sepa de todas ellas.
@@ -661,7 +661,7 @@ Successfully verified contract HelloWorld on Etherscan.
https://goerli.etherscan.io/address/#contracts
```
-¡Felicidades! ¡Su código de contrato inteligente está en Etherescan!
+¡Felicidades! ¡Su código de contrato inteligente está en Etherscan!
### ¡Eche un vistazo a su contrato inteligente en Etherscan! {#check-out-your-smart-contract-on-etherscan}
@@ -1116,7 +1116,7 @@ Si quiere más información sobre cómo funcionan las transacciones en Ethereum,
#### Descargar MetaMask {#download-metamask}
-Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download.html). Cuando esté creando una cuenta, o si ya tiene una, asegúrese de cambiar de «Goerli Test Network» en la parte superior \(para que no se trate de dinero real\).
+Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download). Cuando esté creando una cuenta, o si ya tiene una, asegúrese de cambiar de «Goerli Test Network» en la parte superior \(para que no se trate de dinero real\).
#### Añada ether a partir de un grifo {#add-ether-from-a-faucet}
@@ -1171,7 +1171,7 @@ export const connectWallet = async () => {
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your
browser.
@@ -1276,7 +1276,7 @@ export const getCurrentWalletConnected = async () => {
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your
browser.
@@ -1346,7 +1346,7 @@ function addWalletListener() {
setStatus(
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your browser.
@@ -1358,7 +1358,7 @@ function addWalletListener() {
Llegados a este punto, apuesto a que ni siquiera necesita de nuestra ayuda para entender lo que ocurre. Pero, para ser más exhaustivos, desglosémoslo rápidamente:
-- Primero, nuestra función verifica si `window.ethereum` está habilitado \(esto es si MetaMask está instalado\).
+- Primero, nuestra función verifica si `window.ethereum` está habilitado \(esto es si MetaMask está instalado\).
- Si no lo está, simplemente establecemos nuestra variable de estado `status` a una cadena JSX que solicite al usuario instalar MetaMask.
- Si está habilitado, configuramos el oyente `window.ethereum.on("accountsChanged")` en la línea 3, que escucha cambios de estado en la billetera de MetaMask, incluyendo cuando el usuario conecte una cuenta adicional a la dapp, cambie de cuenta o desconecte una cuenta. Si hay por lo menos una cuenta conectada, la variable de estado `walletAddress` es actualizada como la primera cuenta en el arreglo `accounts` devuelto por el oyente. De lo contrario, `walletAddress` se establece como cadena vacía.
diff --git a/public/content/translations/es/developers/tutorials/hello-world-smart-contract/index.md b/public/content/translations/es/developers/tutorials/hello-world-smart-contract/index.md
index f1c99d6bfd7..58cb4c4493d 100644
--- a/public/content/translations/es/developers/tutorials/hello-world-smart-contract/index.md
+++ b/public/content/translations/es/developers/tutorials/hello-world-smart-contract/index.md
@@ -16,11 +16,11 @@ published: 2021-03-31
Si es nuevo en el desarrollo de cadena de bloques y no sabe por dónde empezar, o si solo quiere entender cómo implementar e interactuar con contratos inteligentes, esta es su guía. Abordaremos cómo crear e implementar un contrato inteligente sencillo en la red de prueba Goerli usando una billetera virtual ([Metamask](https://metamask.io/)), [Solidity](https://docs.soliditylang.org/en/v0.8.0/), [Hardhat](https://hardhat.org/) y [Alchemy](https://alchemyapi.io/eth) (no se preocupe si aún no entiende lo que significa todo esto: lo explicaremos).
> **Advertencia**
->
+>
> 🚧 Aviso de baja
->
+>
> Para toda esta guía, se está usando la red de prueba Goerli para crear e implementar un contrato inteligente. Sin embargo, tenga en cuenta que la Ethereum Foundation ha anuciado que [Goerli pronto se dará de baja](https://www.alchemy.com/blog/goerli-faucet-deprecation).
->
+>
> Recomendamos usar [Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) y el [grifo de Sepolia](https://sepoliafaucet.com/) para este tutorial.
En la [parte 2](https://docs.alchemy.com/docs/interacting-with-a-smart-contract) de este tutorial repasaremos cómo podemos interactuar con nuestro contrato inteligente una vez que se implemente aquí, y en [parte 3](https://docs.alchemy.com/docs/submitting-your-smart-contract-to-etherscan) mostraremos cómo publicarlo en Etherscan.
@@ -49,7 +49,7 @@ Una vez que haya creado una cuenta de Alchemy, puede generar una clave de API cr
Necesitamos tener una cuenta Ethereum para enviar y recibir transacciones. Para este tutorial, usaremos Metamask, una cartera virtual en el navegador usada para manejar la dirección de su cuenta Ethereum. Más información sobre las [transacciones](/developers/docs/transactions/).
-Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download.html). Cuando esté creando una cuenta, o si ya tiene una, asegúrese de cambiar a la “red de prueba Goerli” en la parte superior derecha (para no operar con dinero real).
+Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download). Cuando esté creando una cuenta, o si ya tiene una, asegúrese de cambiar a la “red de prueba Goerli” en la parte superior derecha (para no operar con dinero real).

@@ -66,7 +66,7 @@ Para comprobar que nuestro balance este ahí, hagamos una solicitud de [eth_getB
```
> **NOTA:** Este resultado es en wei, no en ETH. Wei se usa como la denominación más pequeña de Ether. La conversión de wei a ETH es: 1 eth = 1018 wei. Entonces si queremos convertir 0x2B5E3AF16B1880000 a decimales, obtenemos 5\*10¹⁸, que equivale a 5 ETH.
->
+>
> ¡Fiu! Nuestro dinero de prueba está todo ahí .
## Paso 6: Iniciar nuestro proyecto {#step-6}
diff --git a/public/content/translations/es/developers/tutorials/how-to-write-and-deploy-an-nft/index.md b/public/content/translations/es/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
index d922ff1d578..b10850b5154 100644
--- a/public/content/translations/es/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
+++ b/public/content/translations/es/developers/tutorials/how-to-write-and-deploy-an-nft/index.md
@@ -46,7 +46,7 @@ Una vez que haya creado una cuenta de Alchemy, puede generar una clave de API cr
Necesitamos una cuenta Ethereum para enviar y recibir transacciones. Para este tutorial, usaremos Metamask, una cartera virtual en el navegador usada para manejar la dirección de su cuenta Ethereum. Si quiere más información sobre cómo funcionan las transacciones en Ethereum, eche un vistazo a [esta página](/developers/docs/transactions/) de Ethereum Foundation.
-Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download.html). Cuando esté creando una cuenta, o si ya tiene una cuenta, asegurese de alternar a la «red de pruebas Sepolia» en la parte superior derecha (para que no estemos usando dinero real).
+Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download). Cuando esté creando una cuenta, o si ya tiene una cuenta, asegurese de alternar a la «red de pruebas Sepolia» en la parte superior derecha (para que no estemos usando dinero real).

@@ -76,7 +76,7 @@ Ahora que estamos dentro de nuestra carpeta de proyecto, usaremos npm init para
npm init
Realmente no importa la respuesta que dé a las preguntas de instalación, he aquí un ejemplo de cómo lo hicimos nosotros:
-
+```json
package name: (my-nft)
version: (1.0.0)
description: My first NFT!
@@ -87,7 +87,7 @@ Realmente no importa la respuesta que dé a las preguntas de instalación, he aq
author:
license: (ISC)
About to write to /Users/thesuperb1/Desktop/my-nft/package.json:
-
+
{
"name": "my-nft",
"version": "1.0.0",
@@ -99,7 +99,7 @@ Realmente no importa la respuesta que dé a las preguntas de instalación, he aq
"author": "",
"license": "ISC"
}
-
+```
Apruebe package.json y ¡ya puede comenzar!
## Paso 7: Instalar [Hardhat](https://hardhat.org/getting-started/#overview) {#install-hardhat}
@@ -259,6 +259,7 @@ Hasta el momento, hemos añadido varias dependencias y plugins, ahora necesitamo
Actualice su hardhat.config.js para que tenga este aspecto:
+```js
/**
* @type import('hardhat/config').HardhatUserConfig
*/
@@ -276,6 +277,7 @@ Actualice su hardhat.config.js para que tenga este aspecto:
}
},
}
+```
## Paso 14: Compilar nuestro contrato {#compile-contract}
diff --git a/public/content/translations/es/developers/tutorials/kickstart-your-dapp-frontend-development-wth-create-eth-app/index.md b/public/content/translations/es/developers/tutorials/kickstart-your-dapp-frontend-development-wth-create-eth-app/index.md
index 5312d1ab50d..135d9ed3c26 100644
--- a/public/content/translations/es/developers/tutorials/kickstart-your-dapp-frontend-development-wth-create-eth-app/index.md
+++ b/public/content/translations/es/developers/tutorials/kickstart-your-dapp-frontend-development-wth-create-eth-app/index.md
@@ -59,13 +59,13 @@ A pesar de que [Web3](https://docs.web3js.org/) es todavia la opcion más usada,
Normalmente, conseguirá los datos directamente de su contrato inteligente. ¿Quieres saber la hora de la última operación? Tan solo escriba `MyContract.methods.latestTradeTime().call()` que obtiene los datos de un nodo de Ethereum a su DApp. Pero, ¿qué pasa si se necesitan cientos de puntos de datos diferentes? Eso resultaría en centenares de solicitudes de datos al nodo, con su [RTT](https://wikipedia.org/wiki/Round-trip_delay_time) cada una de ellas, lo que ralentizaría e inutiliaría a su DApp. Una alternativa sería instalar una función de obtención en su contrato que devuelva varios datos a la vez. Aunque no siempre es lo ideal.
-O también puede que le interese obtener datos históricos. Quiere saber no sólo la fecha de la última operación, sino también la de todas las operaciones que haya realizado alguna vez. Puede utilizar el paquete de subgrafo de _create-eth-app_, leer la [documentación](https://thegraph.com/docs/define-a-subgraph) y adaptarlo a sus propios contratos. Si busca contratos inteligentes populares, puede que incluso ya exista un subgrafo. Compruebe el [explorador de subgrafo](https://thegraph.com/explorer/).
+O también puede que le interese obtener datos históricos. Quiere saber no sólo la fecha de la última operación, sino también la de todas las operaciones que haya realizado alguna vez. Puede utilizar el paquete de subgrafo de _create-eth-app_, leer la [documentación](https://thegraph.com/docs/en/subgraphs/developing/creating/starting-your-subgraph) y adaptarlo a sus propios contratos. Si busca contratos inteligentes populares, puede que incluso ya exista un subgrafo. Compruebe el [explorador de subgrafo](https://thegraph.com/explorer/).
Una vez tenga un subgrafo, este le permitirá escribir una sencilla consulta en su DApp que recupera todos los datos importantes de la cadena de bloques, incluyendo los datos históricos que necesita, solo con activar esta funcionalidad una vez.
### Apollo {#apollo}
-Gracias a la integración con [Apollo Boost](https://www.apollographql.com/docs/react/get-started/), puedes integrar fácilmente el grafo en tu dapp de React. Especialmente al usar [ganchos de React y Apollo](https://www.apollographql.com/blog/apollo-client-now-with-react-hooks-676d116eeae2), obtener datos es tan sencillo como escribir una única consulta GraphQL en su componente:
+Gracias a la integración con [Apollo Boost](https://www.apollographql.com/docs/react/get-started/), puedes integrar fácilmente el grafo en tu dapp de React. Especialmente al usar [ganchos de React y Apollo](https://www.apollographql.com/blog/apollo-client-now-with-react-hooks), obtener datos es tan sencillo como escribir una única consulta GraphQL en su componente:
```js
const { loading, error, data } = useQuery(myGraphQlQuery)
diff --git a/public/content/translations/es/developers/tutorials/nft-minter/index.md b/public/content/translations/es/developers/tutorials/nft-minter/index.md
index 5dbeea30205..1b1027b9352 100644
--- a/public/content/translations/es/developers/tutorials/nft-minter/index.md
+++ b/public/content/translations/es/developers/tutorials/nft-minter/index.md
@@ -203,7 +203,7 @@ Para que los usuarios puedan interactuar con su contrato inteligente, necesitar
Para este tutorial, usaremos Metamask, una cartera virtual en el navegador usada para manejar la dirección de su cuenta Ethereum. Si desea más información sobre cómo funcionan las transacciones en Ethereum, eche un vistazo a [esta página](/developers/docs/transactions/).
-Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download.html). Cuando esté creando una cuenta, o si ya tiene una, asegúrese de cambiar a la "Red de prueba Ropsten" en la parte superior derecha \(para no usar dinero real\).
+Puede descargar y crear una cuenta Metamask gratis [aquí](https://metamask.io/download). Cuando esté creando una cuenta, o si ya tiene una, asegúrese de cambiar a la "Red de prueba Ropsten" en la parte superior derecha \(para no usar dinero real\).
### Añada ether a partir de un grifo {#add-ether-from-faucet}
@@ -260,7 +260,7 @@ export const connectWallet = async () => {
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your
browser.
@@ -370,7 +370,7 @@ export const getCurrentWalletConnected = async () => {
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your
browser.
@@ -434,7 +434,7 @@ function addWalletListener() {
setStatus(
{" "}
- 🦊
+ 🦊
You must install MetaMask, a virtual Ethereum wallet, in your browser.
@@ -479,7 +479,7 @@ Para almacenar nuestros metadatos en IPFS, usaremos [Pinata](https://pinata.clou
## Use Pinata para fijar sus metadatos en IPFS {#use-pinata-to-pin-your-metadata-to-IPFS}
-Si no tiene una cuenta de [Pinata](https://pinata.cloud/), cree una cuenta gratuita [aquí](https://pinata.cloud/signup) y complete los pasos para verificar su correo electrónico y su cuenta.
+Si no tiene una cuenta de [Pinata](https://pinata.cloud/), cree una cuenta gratuita [aquí](https://app.pinata.cloud/auth/signup) y complete los pasos para verificar su correo electrónico y su cuenta.
### Cree su clave de API de Pinata {#create-pinata-api-key}
@@ -518,7 +518,7 @@ Guarde el archivo y luego estará listo para iniciar la escritura de la función
### Implemente pinJSONToIPFS {#pin-json-to-ipfs}
-Afortunadamente para nosotros, Pinata tiene una [API específicamente para subir datos JSON a IPFS](https://pinata.cloud/documentation#PinJSONToIPFS) y un práctico ejemplo de JavaScript con axios que podemos usar, con algunas ligeras modificaciones.
+Afortunadamente para nosotros, Pinata tiene una [API específicamente para subir datos JSON a IPFS](https://docs.pinata.cloud/api-reference/endpoint/ipfs/pin-json-to-ipfs#pin-json) y un práctico ejemplo de JavaScript con axios que podemos usar, con algunas ligeras modificaciones.
En la carpeta `utils`, vamos a crear otro archivo llamado `pinata.js` y luego importar su secreto y clave de Pinata desde el archivo .env de la siguiente manera:
diff --git a/public/content/translations/es/developers/tutorials/optimism-std-bridge-annotated-code/index.md b/public/content/translations/es/developers/tutorials/optimism-std-bridge-annotated-code/index.md
index 46e7485fa33..1ac98ad7779 100644
--- a/public/content/translations/es/developers/tutorials/optimism-std-bridge-annotated-code/index.md
+++ b/public/content/translations/es/developers/tutorials/optimism-std-bridge-annotated-code/index.md
@@ -15,7 +15,7 @@ lang: es
Para utilizar activos de L1 en Optimism (o cualquier otra L2), los activos deben "[puentearse](/bridges/#prerequisites)". Una manera de lograr esto es que los usuarios bloqueen activos (ETH y los [tokens ERC-20](/developers/docs/standards/tokens/erc-20/) son los más comunes) en L1 y recibir activos equivalentes para usar en L2. Eventualmente, quien acabe poseyéndolos puede querer puentearlos de vuelta a la L1. Al hacer esto, los activos se queman en L2 y luego se liberan nuevamente al usuario en L1.
-Así es como funciona el [puente estándar de Optimism](https://community.optimism.io/docs/developers/bridge/standard-bridge). En este artículo analizaremos el código fuente de ese puente para ver cómo funciona y lo estudiaremos como ejemplo de código de Solidity bien escrito.
+Así es como funciona el [puente estándar de Optimism](https://docs.optimism.io/app-developers/bridging/standard-bridge). En este artículo analizaremos el código fuente de ese puente para ver cómo funciona y lo estudiaremos como ejemplo de código de Solidity bien escrito.
## Flujos de control {#control-flows}
@@ -1270,7 +1270,7 @@ Si un usuario realizó un error detectable mediante el uso de la dirección de t
## Conclusión {#conclusion}
-El puente estándar es el mecanismo más flexible para las transferencias de activos. Sin embargo, debido a que es muy genérico, no siempre es el mecanismo más fácil de utilizar. Especialmente para los retiros, la mayoría de los usuarios prefieren usar [puentes de terceros](https://www.optimism.io/apps/bridges) que no esperen el periodo de desafío y no requieran una prueba de Merkle para finalizar el retiro.
+El puente estándar es el mecanismo más flexible para las transferencias de activos. Sin embargo, debido a que es muy genérico, no siempre es el mecanismo más fácil de utilizar. Especialmente para los retiros, la mayoría de los usuarios prefieren usar [puentes de terceros](https://optimism.io/apps#bridge) que no esperen el periodo de desafío y no requieran una prueba de Merkle para finalizar el retiro.
Estos puentes normalmente funcionan teniendo activos en L1, que proporcionan inmediatamente por una pequeña tarifa (a menudo menor que el costo del gas para un retiro de puente estándar). Cuando el puente (o la gente que lo ejecuta) anticipa quedarse con pocos activos en L1, transfiere suficientes activos de L2. Como se trata de retiros muy grandes, el costo de la retirada se amortiza en grandes cantidades y resulta en un porcentaje mucho menor.
diff --git a/public/content/translations/es/developers/tutorials/reverse-engineering-a-contract/index.md b/public/content/translations/es/developers/tutorials/reverse-engineering-a-contract/index.md
index 7ed1f6045b4..1bac22fd7ba 100644
--- a/public/content/translations/es/developers/tutorials/reverse-engineering-a-contract/index.md
+++ b/public/content/translations/es/developers/tutorials/reverse-engineering-a-contract/index.md
@@ -53,8 +53,8 @@ Los contratos siempre se ejecutan desde el primer byte. Esta es la parte inicial
| 4 | MSTORE | Vacío |
| 5 | PUSH1 0x04 | 0x04 |
| 7 | CALLDATASIZE | CALLDATASIZE 0x04 |
-| 8 | LT | CALLDATASIZE<4 |
-| 9 | PUSH2 0x005e | 0x5E CALLDATASIZE<4 |
+| 8 | LT | CALLDATASIZE\<4 |
+| 9 | PUSH2 0x005e | 0x5E CALLDATASIZE\<4 |
| C | JUMPI | Vacío |
Este código hace dos cosas:
@@ -119,8 +119,8 @@ El `NOT` es bitwise, por lo que invierte el valor de cada bit en el valor de lla
| ------:| ------------------- | ------------------------------------------------------------------------------- |
| 1AC | DUP3 | Value\* 2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
| 1AD | GT | Value\*>2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
-| 1AE | ISZERO | Value\*<=2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
-| 1AF | PUSH2 0x01df | 0x01DF Value\*<=2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AE | ISZERO | Value\*\<=2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
+| 1AF | PUSH2 0x01df | 0x01DF Value\*\<=2^256-CALLVALUE-1 0x00 Value\* CALLVALUE 0x75 0 6 CALLVALUE |
| 1B2 | JUMPI | |
Saltamos si `Value*` es menor que 2^256-CALLVALUE-1 o igual. Esto parece lógica para evitar el desbordamiento. Y, de hecho, vemos que después de algunas operaciones sin sentido (escribir en la memoria está a punto de eliminarse, por ejemplo) en el desplazamiento 0x01DE, el contrato se revierte si se detecta el desbordamiento, que es un comportamiento normal.
@@ -431,7 +431,7 @@ El código en los desplazamientos 0x138-0x143 es idéntico al que vimos en 0x103
| 194 | DUP3 | 0x04 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 195 | DUP5 | CALLDATASIZE 0x04 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 196 | SUB | CALLDATASIZE-4 0x20 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
-| 197 | SLT | CALLDATASIZE-4<32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
+| 197 | SLT | CALLDATASIZE-4\<32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 198 | ISZERO | CALLDATASIZE-4>=32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 199 | PUSH2 0x01a0 | 0x01A0 CALLDATASIZE-4>=32 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
| 19C | JUMPI | 0x00 0x04 CALLDATASIZE 0x0153 0xDA |
@@ -471,8 +471,8 @@ Veamos qué sucede si la función _sí_ obtiene los datos de llamada que necesit
| 172 | DUP2 | 0x04 calldataload(4) 0x04 calldataload(4) 0xDA |
| 173 | SLOAD | Storage[4] calldataload(4) 0x04 calldataload(4) 0xDA |
| 174 | DUP2 | calldataload(4) Storage[4] calldataload(4) 0x04 calldataload(4) 0xDA |
-| 175 | LT | calldataload(4)
package.json
+```json
{
"name": "tutorial",
"version": "1.0.0",
@@ -68,12 +69,14 @@ Algo como esto:
"typescript": "^3.8.3"
}
}
+```
tsconfig.json
+```json
{
"compilerOptions": {
"declaration": true,
@@ -90,6 +93,7 @@ Algo como esto:
"target": "ES2018"
}
}
+```
@@ -104,6 +108,7 @@ Algo como esto:
.eslintrc.js
+```js
module.exports = {
"env": {
"es6": true
@@ -638,6 +643,7 @@ Algo como esto:
}
]
}
+```
@@ -709,6 +715,7 @@ Debería ver que Waffle ha compilado el contrato y ha ubicado la salida JSON res
BasicToken.json
+```json
{
"abi": [
{
@@ -1004,6 +1011,7 @@ Debería ver que Waffle ha compilado el contrato y ha ubicado la salida JSON res
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161102660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161109760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110736024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fde6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061104e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fbb6023913960400191505060405180910390fd5b610cc3838383610fb5565b610d2e81604051806060016040528060268152602001611000602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122081c840f087cef92feccb03fadc678b2708c331896ec5432b5d4c675f27b6d3e664736f6c63430006020033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x25F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2C5 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x31D JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x3A0 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x406 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x46C JUMPI PUSH2 0xA9 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x197 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x23B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x4E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xDB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x123 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x147 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x586 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19F PUSH2 0x5A4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x221 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x1CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x5AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x243 PUSH2 0x687 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2AB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x275 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x69E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x307 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x325 PUSH2 0x799 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x365 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x34A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x392 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3EC PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x83B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x452 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x41C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x908 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4CE PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x482 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x926 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x57C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x551 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x57C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x55F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x59A PUSH2 0x593 PUSH2 0x9AD JUMP JUMPDEST DUP5 DUP5 PUSH2 0x9B5 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BB DUP5 DUP5 DUP5 PUSH2 0xBAC JUMP JUMPDEST PUSH2 0x67C DUP5 PUSH2 0x5C7 PUSH2 0x9AD JUMP JUMPDEST PUSH2 0x677 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1026 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 DUP12 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x62D PUSH2 0x9AD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xE6D SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x9B5 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x747 PUSH2 0x6AB PUSH2 0x9AD JUMP JUMPDEST DUP5 PUSH2 0x742 DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0x6BC PUSH2 0x9AD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xF2D SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x9B5 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x831 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x806 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x831 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x814 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8FE PUSH2 0x848 PUSH2 0x9AD JUMP JUMPDEST DUP5 PUSH2 0x8F9 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1097 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0x872 PUSH2 0x9AD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xE6D SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x9B5 JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x91C PUSH2 0x915 PUSH2 0x9AD JUMP JUMPDEST DUP5 DUP5 PUSH2 0xBAC JUMP JUMPDEST PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xA3B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1073 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xAC1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0xFDE PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xC32 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x104E PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xCB8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0xFBB PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCC3 DUP4 DUP4 DUP4 PUSH2 0xFB5 JUMP JUMPDEST PUSH2 0xD2E DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1000 PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xE6D SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0xDC1 DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0xF2D SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 DUP4 GT ISZERO DUP3 SWAP1 PUSH2 0xF1A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xEDF JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xEC4 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xF0C JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 DUP4 DUP6 SUB SWAP1 P
+```
diff --git a/public/content/translations/es/developers/tutorials/the-graph-fixing-web3-data-querying/index.md b/public/content/translations/es/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
index 1a7656ccb12..b3bfb70598d 100644
--- a/public/content/translations/es/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
+++ b/public/content/translations/es/developers/tutorials/the-graph-fixing-web3-data-querying/index.md
@@ -91,7 +91,7 @@ Primero hablemos de GraphQL, que fue originalmente desarrollado e implementado p
-Las dos imágenes representan en términos generales la esencia de GraphQL. Con la consulta de la derecha podemos definir exactamente qué datos queremos, así que ahí recibimos todo en una única solicitud y nada más que exactamente lo que necesitamos. Un servidor de GraphQL maneja la obtención de todos los datos requeridos, por lo que es increíblemente fácil de usar desde el lado del consumidor del frontend. [Esta es una buena explicación](https://www.apollographql.com/blog/graphql-explained-5844742f195e/) de cómo exactamente el servidor gestiona una consulta si usted está interesado.
+Las dos imágenes representan en términos generales la esencia de GraphQL. Con la consulta de la derecha podemos definir exactamente qué datos queremos, así que ahí recibimos todo en una única solicitud y nada más que exactamente lo que necesitamos. Un servidor de GraphQL maneja la obtención de todos los datos requeridos, por lo que es increíblemente fácil de usar desde el lado del consumidor del frontend. [Esta es una buena explicación](https://www.apollographql.com/blog/graphql-explained) de cómo exactamente el servidor gestiona una consulta si usted está interesado.
Ahora, con ese conocimiento, vayamos finalmente al campo de la cadena de bloques y The Graph.
@@ -196,7 +196,7 @@ Luego creamos una nueva entidad Bet. El id para esto será `event.transaction.ha
Por último, podemos actualizar la entidad Player con todos los datos. Los arrays no pueden empujarse directamente, sino que necesitan ser actualizados como se muestra aquí. Utilizamos el id para referenciar la apuesta. `.save()` es necesario al final para almacenar una entidad.
-La documentación completa puede obtenerse aquí: https://thegraph.com/docs/en/developing/creating-a-subgraph/#writing-mappings. También puede añadir salida de registro al archivo de mapeo; consulte [aquí](https://thegraph.com/docs/assemblyscript-api#api-reference).
+La documentación completa puede obtenerse aquí: https://thegraph.com/docs/en/developing/creating-a-subgraph/#writing-mappings. También puede añadir salida de registro al archivo de mapeo; consulte [aquí](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-ts/api/#api-reference).
```typescript
import { Bet, Player } from "../generated/schema"
diff --git a/public/content/translations/es/developers/tutorials/waffle-test-simple-smart-contract/index.md b/public/content/translations/es/developers/tutorials/waffle-test-simple-smart-contract/index.md
index 4b7434207ee..47078d62d5e 100644
--- a/public/content/translations/es/developers/tutorials/waffle-test-simple-smart-contract/index.md
+++ b/public/content/translations/es/developers/tutorials/waffle-test-simple-smart-contract/index.md
@@ -25,11 +25,11 @@ published: 2021-02-26
- Ha utilizado algunos gestores de paquetes como yarn o npm.
- Posee conocimientos muy básicos de contratos inteligentes y Solidity.
-# Introducción {#getting-started}
+## Introducción {#getting-started}
Este tutorial explica una configuración de prueba y se ejecuta utilizando yarn, pero no pasa nada si prefiere hacerlo con npm, ya proporcionaré las indicaciones apropiadas a la documentación oficial de Waffle[](https://ethereum-waffle.readthedocs.io/en/latest/index.html).
-## Instalar las dependencias {#install-dependencies}
+### Instalar las dependencias {#install-dependencies}
[Añada](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#installation) las dependencias ethereum-waffle y de typescript a las dependencias de desarrollo de su proyecto.
@@ -37,7 +37,7 @@ Este tutorial explica una configuración de prueba y se ejecuta utilizando yarn,
yarn add --dev ethereum-waffle ts-node typescript @types/jest
```
-## Ejemplo de contrato inteligente {#example-smart-contract}
+### Ejemplo de contrato inteligente {#example-smart-contract}
Durante el tutorial trabajaremos con un sencillo ejemplo de contrato inteligente: EtherSplitter. Permite casi se manera similar que cualquiera envíe algunos wei y, eventualmente, los divida entre dos receptores por defecto. La función dividida requiere que la cantidad de wei sea un número entero, de lo contario se revertirá. Para ambos receptores realiza una transferencia de wei, seguida a la emisión de un evento de transferencia.
@@ -67,7 +67,7 @@ contract EtherSplitter {
}
```
-## Compilar el contrato {#compile-the-contract}
+### Compilar el contrato {#compile-the-contract}
Para [compilar](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#compiling-the-contract) el contrato, añada las siguientes líneas al archivo de package.json:
@@ -90,7 +90,7 @@ A continuación, cree el archivo de configuración de Waffle en el directorio de
Ejecute `yarn build`. Como resultado, el directorio `build` aparecerá con el contrato compilado de EtherSplitter en formato JSON.
-## Configuración de la prueba {#test-setup}
+### Configuración de la prueba {#test-setup}
Para hacer pruebas con Waffle se tienen que utilizar los emparejadores de Chai y Mocha, por lo que necesita [añadirlos](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#writing-tests) a su proyecto. Actualice su archivo package.json y añada la línea de `test` en la parte de scripts:
@@ -103,7 +103,7 @@ Para hacer pruebas con Waffle se tienen que utilizar los emparejadores de Chai y
Si quiere [ejecutar](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#running-tests) sus pruebas, simplemente ejecute `yarn test` .
-# Pruebas {#testing}
+## Pruebas {#testing}
Seguidamente cree el directorio `test` y un nuevo archivo `test\EtherSplitter.test.ts`. Copie el fragmento de abajo y péguelo en nuestro archivo de prueba.
@@ -134,7 +134,7 @@ Unas breves aclaraciones antes de que empecemos. El `MockProvider` incluye una s
A continuación, declaramos una variable llamada «splitter»: este es nuestro contrato simulado EtherSplitter. Se crea antes de la ejecución de una única prueba a través del método `deployContract`. Este método simula la implementación de un contrato desde la cartera pasado como el primer parámetro (en nuestro caso, la cartera del emisor). El segundo parámetro es el ABI y el código de bytes del contrato de prueba: aquí pasamos el archivo json o el contrato EtherSplitter compilado desde el directorio `build`. El tercer parámetro es una matriz con los argumentos del constructor del contrato, que en nuestro caso, son las dos direcciones de los receptores.
-## ChangeBalances {#changebalances}
+### ChangeBalances {#changebalances}
Primero, revisamos si el método dividido realmente cambia el saldo de las carteras de los receptores. Si dividimos 50 wei desde las cuentas de los emisores, esperaríamos que los saldos de ambos receptores aumentaran 25 wei. Usaremos el comparador `changeBalances` de Waffle:
@@ -162,7 +162,7 @@ Tenga en cuenta que en ambos casos `changeBalance` y `changeBalances`, enviamos
A continuación, probaremos si el evento de transferencia se emitió después de cada transferencia de wei. Cambiaremos a otra máquina desde Waffle:
-## Emit {#emit}
+### Emit {#emit}
```ts
it("Emits event on the transfer to the first receiver", async () => {
@@ -180,7 +180,7 @@ it("Emits event on the transfer to the second receiver", async () => {
El emparejador `emit` nos permite revisar si un contrato ha emitido un evento al recurrir a un método. Como parámetros del emparejador `emit`, proporcionamos el simulacro de contrato que predecimos para emitir el evento, junto al nombre de ese evento. En nuestro caso, el simulacro de contrato es `splitter` y el nombre del evento: `Transfer`. También podemos verificar los valores precisos de los argumentos con los que se emitió el evento: enviamos tantos argumentos al emparejador `withArgs` como lo espera nuestra declaración de evento. En el caso del contrato EtherSplitter, enviamos las direcciones del emisor y del receptor, junto a la cantidad de wei transferida.
-## revertedWith {#revertedwith}
+### revertedWith {#revertedwith}
Como último ejemplo, comprobaremos si se revirtió la transacción en caso de número impar de wei. Usaremos el emparejador `revertedWith`:
@@ -194,7 +194,7 @@ it("Reverts when Vei amount uneven", async () => {
Si la prueba sale bien, nos garantizará que se ha revertido la transacción. Sin embargo, también debe haber una coincidencia exacta entre los mensajes que hemos enviado en la declaración `require` y el mensaje que esperamos en `revertedWith`. Si regresamos al código del contrato EtherSplitter, en la declaración `require` para la cantidad de wei, proporcionamos el mensaje: «no se permite una cantidad impar de wei». Esto coincide con el mensaje que esperamos en nuestra prueba. Si no coinciden, será que la prueba ha salido mal.
-# ¡Felicitaciones! {#congratulations}
+## ¡Felicitaciones! {#congratulations}
¡Acabas de dar tu primer gran paso para probar los contratos inteligentes con Waffle! Puede que también te interesen otros tutoriales de Waffle:
diff --git a/public/content/translations/es/developers/tutorials/yellow-paper-evm/index.md b/public/content/translations/es/developers/tutorials/yellow-paper-evm/index.md
index bc791dd91c5..f06f63473af 100644
--- a/public/content/translations/es/developers/tutorials/yellow-paper-evm/index.md
+++ b/public/content/translations/es/developers/tutorials/yellow-paper-evm/index.md
@@ -167,7 +167,7 @@ Tenemos una detención excepcional si cualquiera de estas condiciones es verdade
La función _W(w,μ)_ es definida más tarde en la ecuación 150. _W(w,μ)_ es verdadero si una de estas condiciones es verdadera:
- - **_w ∈ {CREATE, CREATE2, SSTORE, SELFDESTRUCT}_** Estos códigos de operación cambian el estado, ya sea creando un nuevo contrato, almacenando un valor o destruyendo el contrato actual.
+ - **_w ∈ \{CREATE, CREATE2, SSTORE, SELFDESTRUCT}_** Estos códigos de operación cambian el estado, ya sea creando un nuevo contrato, almacenando un valor o destruyendo el contrato actual.
- **_LOG0≤w ∧ w≤LOG4_** Si somos llamados estáticamente, no podemos emitir entradas de registro. Los código de operación del registro están todos en un rango entre [`LOG0` (A0)](https://www.evm.codes/#a0) y [`LOG4` (A4)](https://www.evm.codes/#a4). El número que figura luego del código de operación del registro especifica cuántos temas contiene la entrada de registro.
- **_w=CALL ∧ μs[2]≠0_** Puede invocar otro contrato cuando está estático, pero, si lo hace, no puede transferir ETH a este.
@@ -228,7 +228,7 @@ La dirección cuyo saldo necesitamos encontrar es _μs[0] mod 21
Si _σ[μs[0] mod 2160] ≠ ∅_, significa que hay información sobre esta dirección. En ese caso, _σ[μs[0] mod 2160]b_ es el saldo de esa dirección. Si _σ[μs[0] mod 2160] = ∅_, significa que esta dirección no está inicializada y el saldo es cero. Puede ver el listado de campos de información de la cuenta en la sección 4.1 de la p. 4.
-La segunda ecuación, _A'a ≡ Aa ∪ {μs[0] mod 2160}_, está relacionada con la diferencia en costo entre el acceso al almacenamiento en caliente (almacenamiento al que se ha accedido recientemente y es probable que esté almacenado en caché) y el almacenamiento en frío (almacenamiento al que no se ha accedido y es probable que esté en almacenamiento más lento que es más caro de recuperar). _Aa_ es el listado de direcciones accesadas previamente por la transacción, que deberían por lo tanto ser más baratas de acceder, como se define en la sección 6.1 de la p. 8. Puede leer más sobre este tema en [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929).
+La segunda ecuación, _A'a ≡ Aa ∪ \{μs[0] mod 2160}_, está relacionada con la diferencia en costo entre el acceso al almacenamiento en caliente (almacenamiento al que se ha accedido recientemente y es probable que esté almacenado en caché) y el almacenamiento en frío (almacenamiento al que no se ha accedido y es probable que esté en almacenamiento más lento que es más caro de recuperar). _Aa_ es el listado de direcciones accesadas previamente por la transacción, que deberían por lo tanto ser más baratas de acceder, como se define en la sección 6.1 de la p. 8. Puede leer más sobre este tema en [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929).
| Valor | Nemotecnia | δ | α | Descripción |
| -----:| ---------- | -- | -- | -------------------------------------------- |
diff --git a/public/content/translations/es/energy-consumption/index.md b/public/content/translations/es/energy-consumption/index.md
index 8e72104ca2b..82dbe34015d 100644
--- a/public/content/translations/es/energy-consumption/index.md
+++ b/public/content/translations/es/energy-consumption/index.md
@@ -35,7 +35,7 @@ Obtener las estimaciones precisas de consumo energético es complicado, especial
Las estimaciones de arriba no son comparaciones perfectas. La cantidad de gastos indirectos contabilizados varía dependiendo de la fuente, y rara vez incluye la energía de los dispositivos de usuario final. Cada fuente subyacente incluye mas detalles sobre lo que se está midiendo.
-La tabla y el gráfico de arriba también incluyen comparaciones con Bitcoin y con la prueba de trabajo de Ethereum. Es importante notar que el consumo energético de las redes de prueba de trabajo no es estático y que cambia diariamente. Las estimaciones pueden a su vez variar ampliamente dependiendo de la fuente. El tema atrae [debates](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/) moderados, no solo sobre la cantidad de consumo energético, sino también sobre las fuentes de energía utilizadas y la ética asociada. El consumo de energía no se correlaciona necesariamente con la huella ambiental de manera precisa, debido a que diferentes proyectos pueden utilizar distintas fuentes de energía, como por ejemplo una proporción mayor o menor de energías renovables. Por ejemplo, el [Cambridge Bitcoin Electricity Consumption Index](https://ccaf.io/cbnsi/cbeci/comparisons) indica que teóricamente la demanda de la red de Bitcoin podría alimentarse de un suministro de gas o electricidad que de otra manera se perdería en los procesos de transmisión y distribución. La ruta de Ethereum hacia la sostenibilidad consistió en reemplazar la parte de la red que consumía mucha energía por una alternativa ecológica.
+La tabla y el gráfico de arriba también incluyen comparaciones con Bitcoin y con la prueba de trabajo de Ethereum. Es importante notar que el consumo energético de las redes de prueba de trabajo no es estático y que cambia diariamente. Las estimaciones pueden a su vez variar ampliamente dependiendo de la fuente. El tema atrae [ debates ](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/) moderados, no solo sobre la cantidad de consumo energético, sino también sobre las fuentes de energía utilizadas y la ética asociada. El consumo de energía no se correlaciona necesariamente con la huella ambiental de manera precisa, debido a que diferentes proyectos pueden utilizar distintas fuentes de energía, como por ejemplo una proporción mayor o menor de energías renovables. Por ejemplo, el [Cambridge Bitcoin Electricity Consumption Index](https://ccaf.io/cbnsi/cbeci/comparisons) indica que teóricamente la demanda de la red de Bitcoin podría alimentarse de un suministro de gas o electricidad que de otra manera se perdería en los procesos de transmisión y distribución. La ruta de Ethereum hacia la sostenibilidad consistió en reemplazar la parte de la red que consumía mucha energía por una alternativa ecológica.
Las estimaciones de consumo de energía y emisiones de carbono se pueden consultar en el sitio web del [Cambridge Blockchain Network Sustainability Index](https://ccaf.io/cbnsi/ethereum).
diff --git a/public/content/translations/es/enterprise/index.md b/public/content/translations/es/enterprise/index.md
index 49d6a6be5ab..31ee80ebde6 100644
--- a/public/content/translations/es/enterprise/index.md
+++ b/public/content/translations/es/enterprise/index.md
@@ -116,7 +116,7 @@ Estas son algunas de las aplicaciones empresariales que se han construido sobre
### Notarización de datos {#notarization-of-data}
- [ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html)_: Agencia de noticias italiana que lucha contra las noticias falsas y permite a los lectores verificar el origen de las noticias grabándolas en la red principal_.
-- [Breitling](https://www.coindesk.com/breitling-arianee-all-new-watches-ethereum)_: Registra el historial de procedencia y reparación de relojes en Ethereum_.
+- [Breitling](https://www.coindesk.com/business/2020/10/15/breitling-goes-live-with-ethereum-based-system-to-put-all-new-watches-on-the-blockchain)_: Registra el historial de procedencia y reparación de relojes en Ethereum_.
- [BRØK](https://www.xn--brk-1na.no/)_: Plataforma de mesas de capitalización para las compañías no listadas en la red pública de Ethereum, proporcionada por el Gobierno noruego_.
- [Certificación](https://certifaction.com/)_: Firmas electrónicas legalmente válidas con privacidad integrada en el diseño (Privacy-by-design)_.
- [EthSign](https://ethsign.xyz/)_: Registra documentos electrónicos firmados en la cadena de bloques de Ethereum_.
diff --git a/public/content/translations/es/enterprise/private-ethereum/index.md b/public/content/translations/es/enterprise/private-ethereum/index.md
deleted file mode 100644
index 14423ce7a43..00000000000
--- a/public/content/translations/es/enterprise/private-ethereum/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: Ethereum privado para empresas
-description: Recursos para aplicaciones empresariales en blockchain privadas de Ethereum.
-lang: es
----
-
-# Ethereum privado para empresas {#private-ethereum-for-enterprise}
-
-Las aplicaciones de cadenas de bloques empresariales se pueden construir en la red principal, pública y sin permisos de Ethereum, o bien en las cadenas de bloques privadas que se basan en la tecnología de Ethereum. Para obtener más información sobre la construcción en la red pública de Ethereum, consulte [Red principal de Ethereum para empresas](/enterprise/).
-
-## Recursos para desarrolladores para la empresa privada Ethereum {#developer-resources-private-enterprise-ethereum}
-
-### Organizaciones {#organisations}
-
-Diferentes organizaciones han elaborado iniciativas de colaboración para que Ethereum sea compatible con las empresas:
-
-- [Enterprise Ethereum Alliance](https://entethalliance.org/) La EEA permite a las organizaciones adoptar y utilizar tecnologías de Ethereum en sus operaciones empresariales diarias. Permitimos al ecosistema de Ethereum desarrollar nuevas oportunidades de negocio e impulsar la adopción industrial, así como aprender y establecer colaboraciones.
-- [Hyperledger](https://hyperledger.org) _Hyperledger es un esfuerzo colaborativo de código abierto que se ha creado para las tecnologías de blockchain avanzadas que se aplican en varios sectores industriales. Es una colaboración global, organizada por el Linux Foundation e incluye líderes en finanzas, bancos, el internet de las cosas, cadenas de suministro, fabricación y tecnología. La fundación tiene algunos proyectos que funcionan con la pila de Ethereum, incluyendo [Besu](https://www.hyperledger.org/use/besu)._
-
-### Protocolo e infraestructura {#protocol-and-infrastructure}
-
-- [Chainstack:](https://chainstack.com/) _Plataforma multinube y multiprotocolo como un servicio que capacita a las empresas para construir, implementar y administrar rápidamente redes y servicios descentralizados_
-- [Clearmatics Autonity](https://www.clearmatics.com/about/) _: suite de protocolos que implementa protocolos p2p y proporciona software de cliente e infraestructura_
-- [Hyperledger Besu](https://www.hyperledger.org/use/besu) _Cliente Ethereum de código abierto desarrollado bajo la licencia Apache 2.0 y escrito en Java, que incluye varios algoritmos de consenso que incluyen PoW y PoA (IBFT, IBFT 2.0, Ethash y Clique). Sus completos esquemas de permisos se han diseñado específicamente para utilizarse en un entorno de consorcio._
-- [Kaleido:](https://kaleido.io/) _Plataforma de bloque completo para construir y ejecutar ecosistemas híbridos y presentes en toda la nube_
-- [Zeeve](https://www.zeeve.io/) _proporciona un rango de productos y herramientas para construir en Ethereum, también en infraestructura y API para aplicaciones de empresas en Web3._
diff --git a/public/content/translations/es/events/index.md b/public/content/translations/es/events/index.md
new file mode 100644
index 00000000000..a2079753e73
--- /dev/null
+++ b/public/content/translations/es/events/index.md
@@ -0,0 +1,24 @@
+---
+title: Eventos de Ethereum
+description: Cómo involucrarse en la comunidad Ethereum.
+lang: es
+hideEditButton: true
+---
+
+# Próximos eventos {#events}
+
+**Cada mes, se celebran grandes eventos de Ethereum en todo el mundo.** Plantéese asistir a alguno cerca suyo para conocer a más gente en la comunidad, aprender sobre oportunidades de empleo y desarrollar nuevas habilidades.
+
+
+
+Esta es una lista no exhaustiva mantenida por nuestra comunidad. ¿Sabe de algún evento próximo de Ethereum para añadir a esta lista? [¡Por favor, añádalo](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)!
+
+## Encuentros sobre Ethereum {#meetups}
+
+¿No ve ningún evento que le venga bien? Intente asistir a un encuentro. Los encuentros son eventos más pequeños celebrados por grupos de entusiastas de Ethereum, es decir, son una oportunidad para que las personas interesadas en Ethereum se reúnan, hablen acerca de Ethereum y se enteren de las últimas novedades.
+
+
+
+¿Le interesaría organizar su propia reunión? Eche un vistazo a [BUIDL Network](https://consensys.net/developers/buidlnetwork/): una iniciativa de ConsenSys para ayudar a apoyar las comunidades de encuentros de Ethereum.
+
+Esta es una lista no exhaustiva mantenida por nuestra comunidad. Aquí [encontrará más información sobre los encuentros de Ethereum](https://www.meetup.com/topics/ethereum/). ¿Sabe de algún un grupo de encuentros activo para añadir a esta lista? [¡Por favor, añádalo!](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json)
diff --git a/public/content/translations/es/glossary/index.md b/public/content/translations/es/glossary/index.md
index 8cf0f205c9d..b3dc1eb91dc 100644
--- a/public/content/translations/es/glossary/index.md
+++ b/public/content/translations/es/glossary/index.md
@@ -2,1130 +2,498 @@
title: Glosario de Ethereum
description: Un glosario incompleto de términos técnicos y no técnicos relacionados con Ethereum
lang: es
-sidebarDepth: 2
---
# Glosario {#ethereum-glossary}
-
-
## \# {#section-numbers}
-### Ataque del 51 % {#51-attack}
+
-Un tipo de ataque a una [red](#network) descentralizada donde un grupo obtiene el control de la mayoría de los [nodos](#node). Esto les permitiría defraudar a la cadena de bloques al revertir [transacciones](#transaction) y gastar el doble de [ether](#ether) y otras fichas criptográficas.
+
## A {#section-a}
-### cuenta {#account}
-
-Un objeto que contiene una [dirección](#address), balance, [nonce](#nonce) y, opcionalmente, un código fuente y almacenamiento. Una cuenta puede ser una [cuenta de contrato](#contract-account) o una [cuenta de propiedad externa (EOA)](#eoa).
-
-
- Cuentas de Ethereum
-
-
-### dirección {#address}
-
-Generalmente, representa una cuenta de propiedad externa, o [EOA](#eoa) o un [contrato](#contract-account) que se puede recibir (cuenta destino) o enviar (dirección original) [transacciones](#transaction) en la cadena de bloques. En concreto, son 160 bits del [Keccak hash](#keccak-256) de una [clave pública](#ecdsa) [ECDSA](#public-key).
-
-### interfaz binaria de la aplicación (ABI) {#abi}
+
-La forma estándar de interactuar con [contratos](#contract-account) en el ecosistema Ethereum, tanto desde fuera de la cadena de bloques como para las interacciones entre contratos.
+
-
- ABI
-
+
-### interfaz de programación de aplicaciones {#api}
+
-Una Interfaz de Programación de Aplicaciones (API) es un conjunto de definiciones acerca de cómo utilizar un software. Una API se encuentra entre una aplicación y un servidor web, y facilita la transferencia de datos entre ellos.
+
-### ASIC {#asic}
+
-Circuito integrado para aplicaciones específicas. Esto generalmente se refiere a un circuito integrado, hecho a la medida para la minería de criptomonedas.
+
-### assert {#assert}
+
-En [Solidity](#solidity), `assert(false)` se compila en `0xfe`, un código operativo inválido, que agota todo el [gas](#gas) restante y revierte todos los cambios. Cuando una sentencia `assert()` falla, algo muy malo e inesperado está sucediendo y tendrá que arreglar su código. Debería usar `assert()` para evitar condiciones que nunca jamás deberían ocurrir.
-
-
- Seguridad en contratos inteligentes
-
-
-### certificación {#attestation}
-
-Una afirmación hecha por una entidad de que algo es verdadero. En el contexto de Ethereum, los validadores de consenso deben de afirmar cuál creen que es el estado de la cadena. En los momentos designados, cada validador es responsable de publicar diferentes certificaciones que declaran formalmente la visión de la cadena de este validador, incluyendo el úlitmo punto de control finalizado y el jefe actual de la cadena.
-
-
- Certificaciones
-
+
## B {#section-b}
-### Tarifa de base {#base-fee}
-
-Cada [bloque](#block) tiene un precio conocido como «tarifa de base». Es la tarifa mínima de [gas](#gas) que un usuario debe pagar para incluir la transacción en el siguiente bloque.
-
-
- Gas y tarifas
-
-
-### Cadena de baliza {#beacon-chain}
-
-La cadena de baliza fue la cadena de bloques que introdujo la [prueba de participación](#pos) y los [validators](#validadores) en Ethereum. Se ejecutó junto con la prueba de trabajo de la cadena principal de Ethereum desde diciembre de 2020 hasta que las dos cadenas se fusionaron en septiembre de 2022 para formar el Ethereum actual.
-
-
- Cadena de baliza
-
-
-### big-endian {#big-endian}
-
-Una representación de números de posición donde el dígito más significativo es el primero en la memoria. Lo contrario de «little-endian», donde el dígito menos significativo es el primero.
-
-### bloque {#block}
-
-Un bloque es una unidad de información agrupada que incluye una lista ordenada de transacciones e información relacionada con el consenso. Los bloques los proponen los validadores de prueba de participación, en el momento en que se comparten en toda la red entre pares, donde todos los demás nodos pueden verificarlos fácilmente de forma independiente. Las reglas de consenso rigen qué contenido de un bloque se considera válido. La red ignora los bloques que se consideren no válidos. El orden de estos bloques y las transacciones en ese sentido crean una cadena determinista de eventos con un final que representa el estado actual de la red.
-
-
- Bloques
-
-
-### explorador de bloque {#block-explorer}
-
-Una interfaz que permite a un usuario buscar información desde y sobre una cadena de bloques. Esto incluye la recuperación de transacciones individuales, actividades asociadas con direcciones específicas e información sobre la red.
-
-### encabezado de bloque {#block-header}
-
-El encabezado del bloque es una colección de metadatos sobre un bloque y un resumen de las transacciones incluidas en la carga útil de ejecución.
-
-### propagación de bloques {#block-propagation}
-
-El proceso de transmitir un bloque confirmado a todos los otros nodos de la red.
-
-### proponente de bloques {#block-proposer}
-
-El validador específico elegido para crear un bloque en una [ranura](#slot) particular.
-
-### recompensa de bloque {#block-reward}
+
-La cantidad de ether recompensada al proponente de un nuevo bloque válido.
+
-### estado del bloque {#block-status}
+
-Los estados en los que puede existir un bloque. Los posibles estados incluyen:
+
-- Propuesto: un validador ha propuesto el bloque.
-- Programado: los validadores están enviando datos actualmente.
-- Perdido/omitido: el proponente no propuso un bloqueo dentro del plazo elegible.
-- Huérfano: el [algoritmo de elección de bifurcación](#fork-choice-algorithm) ha reorganizado el bloque.
+
-### tiempo del bloque {#block-time}
+
-El intervalo de tiempo que tardan los bloques en ser añadidos a la cadena de bloques.
+
-### validación del bloque {#block-validation}
+
-El proceso de comprobar que un nuevo bloque contiene transacciones y firmas válidas, se basa en la cadena histórica más pesada y sigue todas las demás reglas de consenso. Los bloques válidos se añaden al final de la cadena y se propagan a otros en la red. Los bloques no válidos no se tienen en cuenta.
+
-### cadena de bloques {#blockchain}
+
-Una secuencia de [bloques](#block), cada uno de los cuales se vincula a su predecesor hasta el [bloque inicial](#genesis-block) haciendo referencia al hash del bloque anterior. La integridad de la cadena de bloques está asegurada criptográficamente mediante un mecanismo de consenso basado en la prueba de participación.
+
-
- ¿Qué es una cadena de bloques o «blockchain»?
-
+
-### nodo de arranque {#bootnode}
+
-Los nodos que se pueden utilizar para iniciar el proceso de descubrimiento al ejecutar un nodo. Las terminales de estos nodos se registran en el código fuente de Ethereum.
+
-### código de bytes {#bytecode}
+
-Un conjunto abstracto de instrucciones diseñado para una ejecución eficiente por parte de un software que lo interpreta o una máquina virtual. A diferencia del código fuente legible por humanos, el código de bytes se expresa en formato numérico.
+
-### Bifurcación Byzantium {#byzantium-fork}
-
-La primera de dos [ bifurcaciones duras de código](#hard-fork) para la etapa de desarrollo [Metropolis](#metropolis). Incluyó EIP-649 con el retraso de la [bomba de dificultad](#difficulty-bomb) Metropolis y la reducción de recompensa de bloques, donde la [Era de hielo](#ice-age) se retrasó 1 año y la recompensa del bloque se redujo de 5 a 3 ether.
+
## C {#section-c}
-### Casper-FFG {#casper-ffg}
-
-Casper-FFG es un protocolo de consenso de prueba de participación utilizado junto con el algoritmo de elección de bifurcación [LMD-GHOST](#lmd-ghost) para permitir que los [clientes de consenso](#consensus-client) se pongan de acuerdo sobre la cabeza de la cadena de baliza.
-
-### punto de control {#checkpoint}
-
-La [cadena de baliza](#beacon-chain) tiene un tempo dividido en ranuras (12 segundos) y épocas (32 ranuras). La primera ranura de cada época es un punto de control. Cuando una [supermayoría](#supermajority) de los validadores certifica el vínculo entre dos puntos de control, se pueden [justificar](#justification) y luego, cuando otro puesto de control esté justificado encima, pueden estar [finalizados](#finality).
-
-### compilación {#compiling}
-
-Convierte el código escrito en un lenguaje de programación de alto nivel (por ejemplo, [Solidity](#solidity)) en otro lenguaje de menor nivel (por ejemplo, bytecode de la [EVM](#bytecode)).
-
-
- Compilación de contratos inteligentes
-
-
-### comité {#committee}
+
-Un grupo de al menos 128 [validadores](#validator) asignados para validar bloques en cada ranura. Uno de los validadores del comité es el agregador, responsable de agregar las firmas de todos los demás validadores del comité que acuerden una certificación. No debe confundirse con el [comité de sincronización](#sync-committee).
+
-### inviabilidad computacional {#computational-infeasibility}
+
-Un proceso es computacionalmente inviable si lleva un tiempo poco factible (por ejemplo, miles de millones de años) hacerlo para cualquier persona que posiblemente tenga un interés en llevarlo a cabo.
+
-### consenso {#consensus}
+
-Cuando una supermayoría de nodos en la red tienen los mismos bloques en su mejor cadena de bloques validada localmente. No se debe confundir con [reglas de consenso](#consensus-rules).
+
-### cliente de consenso {#consensus-client}
+
-Los clientes de consenso (como Prysm, Teku, Nimbus, Lighthouse, Lodestar) ejecutan el algoritmo de consenso de la [prueba de participación](#pos) de Ethereum permitiendo a la red alcanzar un acuerdo sobre la cabeza de la cadena de bloques. Los clientes de consenso no participan en la validación/retransmisión de transacciones ni en la ejecución de transiciones de estado. Esto se realiza mediante [clientes de ejecución](#execution-client).
+
-### capa de consenso {#consensus-layer}
+
-La capa de consenso de Ethereum es la red de [clientes de consenso](#consensus-client).
+
-### reglas de consenso {#consensus-rules}
+
-Reglas de validación de bloques que siguen los nodos completos para permanecer en consenso con otros nodos. No se debe confundir con [consenso](#consensus).
+
-### Considerado para la inclusión (CFI) {#cfi}
+
-Un núcleo [EIP](#eip) que aún no está activo en la red principal, y a los desarrolladores de clientes les parece bien la idea, por lo general. Suponiendo que cumpla con todos los requisitos para la inclusión de la red principal, podría incluirse en una actualización de la red (no necesariamente la siguiente).
+
-### Bifurcación Constantinople {#constantinople-fork}
-
-Segunda parte de la etapa [Metropolis](#metropolis), prevista inicialmente para mediados de 2018. Se espera que incluya el cambio a un algoritmo de consenso híbrido de [prueba de trabajo](#pow)/[prueba de participación](#pos), entre otros cambios.
-
-### cuenta de contrato {#contract-account}
-
-Cuenta que contiene un código que se ejecuta cada vez que recibe una [transacción](#transaction) de otra [cuenta](#account) ([EOA](#eoa) o [contrato](#contract-account)).
-
-### transacción de creación de contrato {#contract-creation-transaction}
-
-Una [transacción especial](#transaction) que incluye el código de inicio de un contrato. El destinatario se establece como `null` (nulo) y el contrato se implementa en una dirección generada a partir de la dirección del usuario y `nonce`. Se utiliza para registrar un [contrato](#contract-account) y guardarlo en la cadena de bloques de Ethereum.
-
-### criptoeconomía {#cryptoeconomics}
-
-La economía de las criptomonedas.
+
## D {#section-d}
-### Đ {#d-with-stroke}
-
-Đ (D con un trazo) se usa en inglés antiguo, inglés medio, islandés y feroés para indicar una letra mayúscula «Eth». Se utiliza en palabras como ĐEV o ĐApp (aplicación descentralizada), donde Đ es la letra nórdica «eth». El eth en mayúsculas (Ð) también se utiliza para simbolizar la criptomoneda Dogecoin. Esto se ve comúnmente en la documentación más antigua de Ethereum, aunque se usa con menos frecuencia hoy en día.
-
-### DAG {#dag}
-
-DAG significa Directed Acyclic Graph (Grafo Acíclico Dirigido). Es una estructura de datos compuesta por nodos y enlaces entre ellos. Antes de La Fusión, Ethereum usaba un DAG en su algoritmo [proof-of-work](#pow), [Ethash](#ethash), pero ya no se usa en la [prueba de participación](#pos).
-
-### DApp {#dapp}
-
-Aplicación Descentralizada. Como mínimo, es un [contrato inteligente](#smart-contract) y una interfaz de usuario web. En términos más generales, un DApp es una aplicación web que se basa en servicios de infraestructura abiertos, descentralizados y entre pares. Además, muchas DApps incluyen almacenamiento descentralizado y/o un protocolo y plataforma de mensajes.
-
-
- Introducción a las dapps
-
-
-### disponibilidad de datos {#data-availability}
-
-La propiedad de un estado que cualquier nodo conectado a la red podría descargar cualquier parte específica del estado que desee.
-
-### descentralización {#decentralization}
-
-El concepto de mover el control y la ejecución de procesos fuera de una entidad central.
-
-### Organización Autónoma Descentralizada (DAO) {#dao}
-
-Una empresa u otra organización que funciona sin gestión jerárquica. DAO también puede referirse a un contrato llamado «The DAO» lanzado el 30 de abril de 2016, que luego fue hackeado en junio de 2016; esto finalmente produjo una [bifurcación fuerte](#hard-fork) (con nombre de código DAO) en el bloque 1.192.000, que revirtió el contrato DAO hackeado y provocó que Ethereum y Ethereum Classic se dividieran en dos sistemas competidores.
-
-
- Organizaciones Autónomas Descentralizadas (DAO)
-
-
-### Intercambio Descentralizado (DEX) {#dex}
-
-Un tipo de [DApp](#dapp) que le permite intercambiar tókenes entre pares en la red. Necesita [ether](#ether) para usar uno (para pagar [comisiones de transacción](#transaction-fee)), pero no están sujetos a restricciones geográficas como los intercambios centralizados; cualquiera puede participar.
+
-
- Intercambios descentralizados
-
+
-### títulos de propiedad {#deed}
+
-Ver [Tókenes no fungibles (NFT)](#nft).
+
-### contrato de depósito {#deposit-contract}
+
-La puerta de entrada a la participación en Ethereum. El contrato de depósito es un contrato inteligente en Ethereum que acepta depósitos de ETH y gestiona los saldos de los validadores. No se puede activar un validador sin depositar ETH en este contrato. El contrato requiere ETH y datos de entrada. Estos datos de entrada incluyen la clave pública del validador y la clave pública de retirada, firmadas por la clave privada del validador. Estos datos son necesarios para que la red de la [prueba de participación](#pos) identifique y apruebe a un validador.
+
-### DeFi {#defi}
+
-Abreviatura de «Finanzas Descentralizadas», que es una amplia categoría de [DApps](#dapp) que tiene como objetivo proporcionar servicios financieros respaldados por la cadena de bloques, sin intermediarios, para que cualquier persona con una conexión a Internet pueda participar.
+
-
- Finanzas descentralizadas (DeFi)
-
+
-### dificultad {#difficulty}
+
-Una configuración de toda la red en redes [prueba de trabajo](#pow) que controla cuánto cálculo promedio se requiere para encontrar un nonce válido. La dificultad viene representada por el número de ceros iniciales que se requieren en el hash de bloque resultante para que se considere válido. Este concepto ha quedado obsoleto en Ethereum desde la transición a la prueba de participación.
+
-### bomba de dificultad {#difficulty-bomb}
+
-Aumento exponencial planificado en la [dificultad](#pow) [de la prueba de trabajo](#difficulty) que se ha diseñado para motivar la transición a [prueba de participación](#pos), reduciendo las posibilidades de una [bifurcación](#hard-fork). La bomba de dificultad ha quedado obsoleta con la [transición a la prueba de participación](/roadmap/merge).
+
-### firma digital {#digital-signatures}
+
-Una cadena corta de datos que un usuario produce para un documento utilizando una [clave privada](#private-key) de manera que cualquiera con la correspondiente [clave pública](#public-key), la firma y el documento pueda verificar que (1) el documento está «firmado» por el propietario de esa clave privada en particular, y que (2) el documento no se ha modificado una vez firmado.
+
-### descubrimiento {#discovery}
-
-El proceso por el cual un nodo Ethereum encuentra otros nodos a los que conectarse.
-
-### Tabla de Hash Distribuida (DHT) {#distributed-hash-table}
-
-Una estructura de datos que contiene pares `(clave, valor)` utilizados por los nodos de Ethereum para identificar a los pares a los que conectarse y determinar qué protocolos usar para comunicarse.
-
-### doble gasto {#double-spend}
-
-Una bifurcación de cadena de bloques deliberada, en la que un usuario con una cantidad suficientemente grande de poder/participación en minería envía una transacción para pasar algo de moneda fuera de la cadena (por ejemplo, salir al dinero fiduciario o hacer una compra fuera de la cadena) y luego reorganizar la cadena de bloques para eliminar esa transacción. Un doble gasto exitoso deja al atacante con sus activos tanto en la cadena como fuera de la cadena.
-
## E {#section-e}
-### Algoritmo de Firma Digital de Curva Elíptica (ECDSA) {#ecdsa}
-
-Algoritmo criptográfico utilizado por Ethereum para garantizar que los fondos solo los pueden gastar sus propietarios. Es el método preferido para crear claves públicas y privadas. Relevante para la [generación de la dirección](#address) de la cuenta y la [verificación de la transacción](#transaction).
-
-### cifrado {#encryption}
-
-El cifrado es la conversión de datos electrónicos en una forma ilegible por cualquier persona, excepto el propietario de la clave de descifrado correcta.
-
-### entropía {#entropy}
-
-En el contexto de la criptografía, significa una falta de previsibilidad o nivel de aleatoriedad. Cuando se genera información secreta, como las [claves privadas](#private-key), los algoritmos suelen basarse en una fuente de alta entropía para garantizar que la salida sea impredecible.
-
-### época {#epoch}
-
-Un período de 32 [ranuras](#slot), cada una de las cuales es de 12 segundos, por un total de 6,4 minutos. Los [comités de validación](#committee) se barajean cada época por razones de seguridad. Cada época tiene la oportunidad de que la cadena sea [finalizada](#finality). A cada validador se le asignan nuevas responsabilidades al comienzo de cada época.
-
-
- Prueba de participación
-
-
-### equivocación {#equivocation}
-
-Un validador que envía dos mensajes que se contradicen entre sí. Un ejemplo simple es un remitente de transacciones que envía dos transacciones con el mismo nonce. Otro es un proponente de bloques que propone dos bloques a la misma altura de bloque (o para la misma ranura).
-
-### Eth1 {#eth1}
-
-«Eth1» es un término que se refiere a la red principal de Ethereum, la cadena de prueba de trabajo (PoW) existente. Este término ha sido desestimado a favor de la «capa de ejecución». [Conozca más acerca de este cambio de nombre](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/).
-
-
- Más sobre las actualizaciones de Ethereum
-
-
-### Eth2 {#eth2}
-
-«Eth2» es un término que hace referencia a un conjunto de actualizaciones del protocolo de Ethereum, incluyendo la transición de Ethereum a la prueba de participación. Desde entonces, este término ha quedado obsoleto a favor de la «capa de consenso». [Conozca más acerca de este cambio de nombre](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/).
-
-
- Más sobre las actualizaciones de Ethereum
-
-
-### Propuesta de mejora de Ethereum(EIP) {#eip}
-
-Documento de diseño que proporciona información a la comunidad de Ethereum, describiendo una nueva característica propuesta o sus procesos o entorno (ver [ERC](#erc)).
-
-
- Introducción a EIP
-
-
-### Servicio de Nombres de Ethereum (ENS) {#ens}
-
-El registro ENS es un único [contrato inteligente](#smart-contract) central que proporciona una asignación de nombres de dominio a propietarios y resolutores, como se describe en [EIP](#eip) 137.
-
-[Más información en ens.domains](https://ens.domains)
-
-### cliente de ejecución {#execution-client}
-
-Los clientes de ejecución (anteriormente conocidos «clientes Ethereum»), como Besu, Erigon, Go-Ethereum (Geth), Nethermind, tienen la tarea de procesar y transmitir transacciones y administrar el estado de Ethereum. Ejecutan los cálculos de cada transacción utilizando la [Máquina Virtual Ethereum](#evm) para garantizar que se sigan las reglas del protocolo.
-
-### capa de ejecución {#execution-layer}
+
-La capa de ejecución de Ethereum es la red de [clientes de ejecución](#execution-client).
+
-### Cuenta de Propiedad Externa (EOA) {#eoa}
+
-Las cuentas de propiedad externa (o EOA) son [cuentas](#account) que están controladas por [claves privadas](#private-key), normalmente generadas utilizando una [frase semilla](#hd-wallet-seed). A diferencia de los contratos inteligentes, las cuentas de propiedad externa son cuentas sin ningún código asociado a ellas. Normalmente, estas cuentas se gestionan con una [cartera](#wallet).
+
-### Ethereum Solicita Comentarios (ERC) {#erc}
+
-Una etiqueta dada a algunas [EIP](#eip) que intentan definir un estándar específico de uso de Ethereum.
+
-
- Introducción a EIP
-
+
-### Ethash {#ethash}
+
-Un algoritmo de [prueba de trabajo](#pow) que se utilizó en Ethereum antes de hacer la transición a la [prueba de participación](#pos).
+
-[Más información](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash)
+
-### ether {#ether}
+
-Criptomoneda nativa utilizada por el ecosistema Ethereum, que cubre los costes del [gas](#gas) al ejecutar las transacciones. También escrito como ETH o su símbolo Ξ, el símbolo griego Xi en mayúscula.
+
-
- Moneda para nuestro futuro digital
-
+
-### eventos {#events}
+
-Permite el uso de las instalaciones de registro de la [EVM](#evm). Las [DApps](#dapp) pueden recibir eventos y utilizarlos para activar las llamadas de retorno de JavaScript en la interfaz de usuario.
+
-
- Eventos y registros
-
+
-### Máquina virtual de Ethereum (EVM) {#evm}
+
-Una máquina virtual basada en la pila que ejecuta [bytecode](#bytecode). En Ethereum, el modelo de ejecución determina cómo se modifica el estado del sistema, dada una serie de instrucciones mediante bytecode y una pequeña tupla de datos del entorno. Esto se especifica a través de un modelo formal de una máquina virtual.
+
-
- Máquina virtual de Ethereum
-
+
-### Lenguaje ensamblador EVM {#evm-assembly-language}
+
-Una forma legible de [bytecode](#bytecode) de EVM.
+
## F {#section-f}
-### función de reserva {#fallback-function}
+
-Una función por defecto llamada en ausencia de datos o de un nombre de función declarado.
+
-### faucet (grifo) {#faucet}
+
-Un servicio realizado a través de un [contrato inteligente](#smart-contract) que dispensa fondos en forma de ethers gratuitos de prueba que puede utilizarse en una red de prueba.
+
-
- Faucets de red de prueba
-
+
-### finalidad {#finality}
+
-La finalidad es la garantía de que un conjunto de transacciones anteriores a un momento dado no cambiará y no podrá revertirse.
+
-
- Finalidad de la prueba de participación
-
-
-### finney {#finney}
-
-Una denominación de [ether](#ether). 1 finney = 1015 [wei](#wei). 103 finney = 1 ether.
-
-### bifurcación {#fork}
-
-Un cambio en el protocolo que provoca la creación de una cadena alternativa o una divergencia temporal en dos posibles rutas de bloques.
-
-### algoritmo de elección de bifurcación {#fork-choice-algorithm}
-
-El algoritmo utilizado para identificar la cadena de bloques en cabeza. En la capa de ejecución la cabeza de la cadena se identifica como la que tiene la mayor dificultad total detrás de ella. Esto significa que la verdadera cabeza de la cadena es la que ha requerido más trabajo para minarla. En la capa de consenso el algoritmo observa las certificaciones acumuladas de validadores ([LMD_GHOST](#lmd-ghost)).
-
-### prueba de fraude {#fraud-proof}
-
-Modelo de seguridad para ciertas soluciones de [capa 2](#layer-2) en las que, para aumentar la velocidad, las transacciones se [enrollan](#rollups) (rollup) en lotes y se envían a Ethereum en una única transacción. Se supone que son válidos, pero se pueden poner en tela de juicio si se sospecha el fraude. Una prueba de fraude ejecutará entonces la transacción para ver si se ha producido el fraude. Este método aumenta la cantidad de transacciones posibles manteniendo la seguridad. Algunos [rollups](#rollups) utilizan [pruebas de validez](#validity-proof).
-
-
- Agregaciones Optimistas
-
-
-### frontier {#frontier}
-
-Etapa inicial de desarrollo de prueba de Ethereum, que duró desde julio de 2015 hasta marzo de 2016.
+
## G {#section-g}
-### gas {#gas}
-
-Un combustible virtual utilizado en Ethereum para ejecutar contratos inteligentes. La [EVM](#evm) utiliza un mecanismo de contabilidad para medir el consumo de gas y limitar el consumo de recursos informáticos (ver [Turing completo](#turing-complete)).
-
-
- Gas y tarifas
-
-
-### límite de gas {#gas-limit}
-
-La cantidad máxima de [gas](#gas) que puede consumir una [transacción](#transaction) o un [bloque](#block).
-
-### precio de gas {#gas-price}
+
-Precio en ether de una unidad de gas especificada en una transacción.
+
-### bloque inicial {#genesis-block}
+
-El primer bloque de una [cadena de bloque](#blockchain), utilizado para inicializar una red concreta y su criptomoneda.
+
-### geth {#geth}
+
-Go Ethereum. Una de las implementaciones más destacadas del protocolo Ethereum, escrito en Go.
-
-[Más información en geth.ethereum.org](https://geth.ethereum.org/)
-
-### gwei {#gwei}
-
-Abreviatura de gigawei, una denominación de [ether](#ether), comúnmente utilizada para fijar el precio del [gas](#gas). 1 gwei = 109 [wei](#wei). 109 gwei = 1 ether.
+
## H {#section-h}
-### bifurcación fuerte {#hard-fork}
-
-En discrepancia permanente con la [cadena de bloque](#blockchain); también conocida como cambio de «hardforking». Una suele ocurrir cuando los nodos no actualizados no pueden validar los bloques creados por los nodos actualizados que siguen las nuevas [reglas de consenso](#consensus-rules). No debe confundirse con una bifurcación, una bifurcación suave, una bifurcación de software o una bifurcación Git.
-
-### hash {#hash}
-
-Una huella digital de longitud fija de una entrada de tamaño variable, producida por una función hash. (Ver [keccak-256](#keccak-256)).
-
-### tasa de hash {#hash-rate}
-
-La cantidad de cálculos hash realizados por segundo por computadoras que ejecutan software de minería.
+
-### Cartera HD {#hd-wallet}
+
-Una [cartera](#wallet) que utiliza el protocolo de creación y transferencia de claves jerárquicas deterministas (HD).
+
-[Más información en github.com](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)
+
-### Semilla de cartera HD {#hd-wallet-seed}
-
-Un valor utilizado para generar la [clave privada](#private-key) maestra y el código de la cadena maestra para una [cartera](#wallet) HD. La semilla de cartera puede representarse mediante palabras mnemotécnicas, lo que permite a los humanos copiar, respaldar y restaurar las claves privadas con mayor facilidad.
-
-### homestead {#homestead}
-
-La segunda etapa de desarrollo de Ethereum, lanzada en marzo de 2016 en el bloque 1.150.000.
+
## I {#section-i}
-### índice {#index}
-
-Una estructura de red destinada a optimizar la consulta de información de toda la [cadena de bloques](#blockchain) proporcionando una ruta eficiente a su fuente de almacenamiento.
-
-### Protocolo de Intercambio de Direcciones de Clientes (ICAP) {#icap}
-
-Codificación de direcciones de Ethereum que es parcialmente compatible con la numeración internacional de cuentas bancarias (IBAN), ofreciendo una codificación polivalente, con suma de comprobación e interoperable para las direcciones de Ethereum. Las direcciones ICAP utilizan un nuevo código de pseudopaís IBAN: XE, que significa «eXtended Ethereum», tal como se utiliza en las monedas no jurisdiccionales (por ejemplo, XBT, XRP, XCP).
-
-### Era de hielo {#ice-age}
+
-Una [bifurcación fuerte](#hard-fork) de Ethereum en el bloque 200.000 para introducir un incremento exponencial de [dificultad](#difficulty) (también conocido como [bomba de dificultad](#difficulty-bomb)), motivando una transición a la[prueba de participación](#pos).
+
-### Entorno de Desarrollo Integrado (IDE) {#ide}
+
-Una interfaz de usuario que normalmente combina un editor de código, compilador, tiempo de ejecución y depurador.
+
-
- Entornos de desarrollo integrados
-
-
-### problema de código implementado inmutable {#immutable-deployed-code-problem}
-
-Una vez que el código de un [contrato](#smart-contract) (o [biblioteca](#library)) se implementa, se vuelve inmutable. Las prácticas habituales de desarrollo de software se basan en la posibilidad de corregir posibles errores y añadir nuevas funciones, por lo que esto supone un reto para el desarrollo de contratos inteligentes.
-
-
- Implementación de contratos inteligentes
-
-
-### transacción interna {#internal-transaction}
-
-[Transacción](#transaction) enviada desde una [cuenta de contrato](#contract-account) a otra cuenta de contrato o a una [EOA](#eoa) (ver [mensaje](#message)).
+
-### emisión
-
-La acuñación de nuevo ether para recompensar la propuesta, la certificación y la denuncia de irregularidades.
-
## K {#section-k}
-### Función de Derivación de Clave (KDF) {#kdf}
-
-También conocida como «algoritmo de estiramiento de contraseñas», lo utilizan los formatos [keystore](#keystore-file) (o banco de claves) para protegerse contra los ataques de fuerza bruta, de diccionario y de tabla de arcoíris en el cifrado de frases de contraseña, mediante el hashing repetido de la frase de contraseña.
+
-
- Seguridad de los contratos inteligentes
-
+
-### almacén de claves {#keyfile}
+
-El par clave/dirección privada de cada cuenta existe como un solo archivo de clave en un cliente de Ethereum. Estos son archivos de texto JSON que contienen la llave privada cifrada de la cuenta, que solo se puede descifrar con la contraseña introducida durante la creación de la cuenta.
-
-### keccak-256 {#keccak-256}
-
-Función criptográfica [hash](#hash) utilizada en Ethereum. Keccak-256 se ha normalizado como [SHA](#sha)-3.
+
## L {#section-l}
-### capa 2 {#layer-2}
-
-Un área de desarrollo centrada en la superposición de capas sobre el protocolo de Ethereum. Estas mejoras están relacionadas con las velocidades de [transacción](#transaction), el abaratamiento de las [comisiones de transacción](#transaction-fee) y la privacidad de las transacciones.
-
-
- Capa 2
-
+
-### LevelDB {#level-db}
+
-Es un almacenamiento en disco de código abierto, livianamente implementado, [biblioteca](#library) de propósito único con conexiones a diferentes plataformas.
+
-### biblioteca {#library}
+
-Un tipo especial de [contrato](#smart-contract) sin funciones pagaderas, sin función de reserva y sin almacenamiento de datos. Por lo tanto, no puede recibir ni guardar ether o almacenar datos. Una biblioteca sirve como un código implementado previamente al que puede acceder otro contrato para realizar funciones de computación de solo lectura.
+
-
- Bibliotecas de contratos inteligentes
-
+
-### cliente ligero {#light-client}
-
-Un cliente de Ethereum que no almacena una copia local de la [cadena de bloque](#blockchain), o bien valida bloques y [transacciones](#transaction). Ofrece las funciones de una [cartera](#wallet) y puede crear y transmitir transacciones.
+
-### LMD_GHOST {#lmd-ghost}
-
-El [algoritmo de opción de bifurcación](#fork-choice-algorithm) usado por los clientes de consenso de Ethereum para identificar la cabeza de la cadena. LMD-GHOST es un acrónimo que significa «último mensaje dirigido codicioso observado del subárbol más pesado», e indica que la cabeza de la cadena es el bloque con la mayor acumulación de certificaciones en su historia.
-
## M {#section-m}
-### Red principal {#mainnet}
-
-Abreviatura de «red principal», esta es la principal [cadena de bloques](#blockchain) pública de Ethereum. ETH, valor real y consecuencias reales. También se conoce como la capa 1 cuando se habla sobre las soluciones de escalabilidad de la [capa 2](#layer-2). (Consulte también la [red de pruebas](#testnet)).
+
-
- Redes de Ethereum
-
+
-### memoria dura {#memory-hard}
+
-Las funciones de memoria dura son procesos que experimentan una disminución drástica en la velocidad o la viabilidad cuando la cantidad de memoria disponible disminuye aunque sea ligeramente. Un ejemplo es el algoritmo de minería de Ethereum[Ethash](#ethash).
+
-### Árbol de Merkle Patricia Trie {#merkle-patricia-tree}
+
-Es una estructura de datos usada en Ethereum, orientada a la eficiencia para almacenar pares de claves.
+
-### mensaje {#message}
+
-Una [transacción interna](#internal-transaction) que nunca se serializa y solo se envía dentro de la [EVM](#evm).
+
-### llamada de mensaje {#message-call}
+
-El acto de transmitir un [mensaje](#message) de una cuenta a otra. Si la cuenta de destino está relacionada con el código de la [EVM](#evm), la VM se iniciará con el estado de este objeto y el mensaje en cuestión.
+
-### Metropolis {#metropolis}
-
-La tercera fase de desarrollo de Ethereum, que se lanzó en octubre de 2017.
-
-### minado {#mining}
-
-El proceso de hacer hash repetidamente de un encabezado de bloque mientras se incrementa un [nonce](#nonce) hasta que el resultado contenga un número arbitrario de ceros binarios a la izquierda. Este es el proceso mediante el cual se añaden nuevos [bloques](#block) a la cadena de bloques [de una prueba de trabajo](#blockchain). Así fue como se aseguró Ethereum antes de pasar a la [prueba de participación](#pos).
-
-### minería {#miner}
-
-Es un [nodo](#node) de red que encuentra [pruebas de trabajo](#pow) válidas para bloques nuevos, mediante el hashing de pase repetido (ver [Ethash](#ethash)). Los mineros ya no forman parte de Ethereum, fueron reemplazados por validadores cuando Ethereum se trasladó a la [prueba de participación](#pos).
-
-
- Minado
-
-
-### mint {#mint}
-
-Acuñar (o mintear) es el proceso de crear nuevos tókenes y ponerlos en circulación para que puedan usarse. La creación de un nuevo token sin la participación de la autoridad central es un mecanismo descentralizado.
+
## N {#section-n}
-### red {#network}
-
-Si nos referimos a la red de Ethereum, se trata de una red de punto a punto que propaga transacciones y bloques a cada nodo de Ethereum (que participe en la red).
-
-
- Redes
-
-
-### tasa de hash de red {#network-hashrate}
-
-El [hashrate](#hashrate) colectivo producido por toda una red minera. La minería en Ethereum se desató cuando Ethereum pasó a la [prueba de participación](#pos).
-
-### Tókenes No Fungibles (NFT) {#nft}
-
-También conocido como «título de propiedad», se trata de un estándar de token presentado mediante la propuesta de ERC-721. Los NFT se pueden rastrear y comercializar, no obstante, cada token es único y distinto; no son intercambiables como ETH y [ los tókenes ERC-20](#token-standard). Los NFT pueden representar la propiedad de activos digitales o físicos.
-
-
- Tókenes No Fungibles (NFT)
-
-
- Estándar de token no fungible ERC-721
-
+
-### nodo {#node}
+
-Un cliente de software que participa en la red.
+
-
- Nodos y clientes
-
+
-### nonce {#nonce}
-
-En criptografía, un valor que solo puede utilizarse una vez. Una cuenta nonce es un contador de transacciones en cada cuenta, que se utiliza para evitar ataques de repetición.
+
## O {#section-o}
-### bloque ommer (tío) {#ommer}
-
-Cuando un [minero de prueba de trabajo](#miner) encuentra un [bloque](#block) válido, otro minero puede haber publicado un bloque competidor que se agrega primero a la punta de la cadena de bloques. Esto es válido, pero el bloque obsoleto se puede incluir mediante bloques nuevos a modo de _ommers_ y recibir una recompensa parcial de bloque. El término «ommer» es el término de género neutral preferido para el hermano de un bloque padre, aunque algunas veces, se le denomina «tío». Esto era relevante para Ethereum cuando era una red [prueba de trabajo](#pow), pero los ommers no son una característica de [prueba de participación](#pos) Ethereum porque se selecciona precisamente un proponente de bloque en cada ranura.
-
-### acumulaciones optimistas (Optimistic rollups) {#optimistic-rollup}
-
-Un [rollup](#rollups) de transacciones que usan [pruebas de fraude](#fraud-proof) para ofrecer transacciones incrementadas en rendimiento en la [capa 2](#layer-2) mientras usa la seguridad proporcionada por la [red principal](#mainnet) (capa 1). A diferencia de [Plasma](#plasma), una solución de capa 2 parecida, las Optimistic rollups pueden gestionar tipos de transacciones más complejos; todos los que sean posibles en la [EVM](#evm). En comparación con los [Zero-knowledge Rollups](#zk-rollups), tienen problemas de latencia porque la transacción se puede desafiar mediante la prueba de fraude.
+
-
- Rollups optimistas
-
+
-### Oráculos {#oracle}
+
-Un oráculo es un puente entre la [cadena de bloques](#blockchain) y el mundo real. Actúan como [API en cadena](#api) que se pueden consultar para obtener información y usarse en [ contratos inteligentes](#smart-contract).
+
-
- Oráculos
-
+
## P {#section-p}
-### paridad {#parity}
-
-Una de las implementaciones interoperables más destacadas del software cliente de Ethereum.
-
-### par {#peer}
-
-Ordenadores conectados que ejecutan el software cliente Ethereum que tienen copias idénticas de la [cadena de bloques](#blockchain).
-
-### red entre pares {#peer-to-peer-network}
+
-Una red de ordenadores ([peers](#peer)) que colectivamente son capaces de realizar funcionalidades sin la necesidad de servicios centralizados basados en servidores.
+
-### Plasma {#plasma}
+
-Una solución de escala fuera de la cadena que usa [pruebas de fraude](#fraud-proof), como [Optimistic rollups (acumulaciones optimistas)](#optimistic-rollups). Plasma se limita a transacciones simples como transferencias básicas de tókenes e intercambios.
+
-
- Plasma
-
+
-### clave privada (clave secreta) {#private-key}
+
-Un número secreto que permite a los usuarios de Ethereum probar la propiedad de una cuenta o contratos mediante la producción de una firma digital (consulte [clave pública](#public-key), [dirección](#address), [ECDSA](#ecdsa)).
+
-### cadena privada {#private-chain}
+
-Una cadena de bloques totalmente privada es aquella con acceso autorizado, que no está disponible públicamente para su uso.
+
-### prueba de participación (PoS) {#pos}
+
-Un método mediante el que un protocolo de cadena de bloques de criptomonedas intenta lograr el [consenso](#consensus) distribuido. La PoS solicita a los usuarios que demuestren la propiedad de una cierta cantidad de criptomonedas (su «participación» en la red) para poder participar en la validación de las transacciones.
+
-
- Prueba de participación
-
-
-### prueba de trabajo (PoW, por sus siglas en inglés) {#pow}
-
-Una cantidad de datos (la prueba) que precisa encontrar un cálculo significativo.
-
-
- Prueba de trabajo
-
-
-### clave pública {#public-key}
-
-Un número, derivado de una función de un solo sentido a partir de una [clave privada](#private-key), que se puede compartir públicamente y que cualquiera puede utilizar para verificar una firma digital hecha con la correspondiente clave privada.
+
## R {#section-r}
-### recibo {#receipt}
-
-Datos que devuelve un cliente de Ethereum para representar el resultado de una [transacción](#transaction) particular, que incluyen un [hash](#hash) de la transacción, su número de [bloque](#block), la cantidad de [gas](#gas) utilizado y, en caso de implementación de un [contrato inteligente](#smart-contract), la [dirección](#address) del contrato.
-
-### ataque de reentrada {#re-entrancy-attack}
-
-Un ataque que consiste en un contrato del atacante que solicita un contrato de víctima de modo que, durante la ejecución, la víctima vuelve a solicitar el contrato del atacante de manera recurrente. Las consecuencias de esta acción pueden ser, entre otras, el robo de fondos mediante la omisión de partes del contrato de la víctima que actualizan el saldo la información de las cantidades retiradas.
+
-
- Reentrada
-
+
-### recompensa {#reward}
+
-Una cantidad de ether incluida en cada nuevo bloque como recompensa que la red concede al [minero](#miner) que ha dado con la solución de la [prueba de trabajo](#pow).
+
-### Prefijo de Longitud Recursiva (PRL) {#rlp}
+
-Un estándar de codificación diseñado por los desarrolladores de Ethereum para codificar y serializar objetos (estructuras de datos) de complejidad y longitud arbitrarias.
-
-### acumulaciones (rollups) {#rollups}
-
-Un tipo de solución de escalabilidad de [capa 2](#layer-2) que agrupa varias transacciones y las envía a la [cadena principal de Ethereum](#mainnet) mediante una única transacción. Esto permite disfrutar de reducciones en el coste del [gas](#gas) y, como consecuencia, aumentos en el caudal de [transacciones](#transaction). Existen Optimistic Rollups (acumulaciones optimistas) y Zero-knowledge Rollups (acumulaciones de conocimiento cero) que utilizan diferentes métodos de seguridad para ofrecer estos beneficios de escalabilidad.
-
-
- Agregaciones
-
+
-### RPC {#rpc}
-
-**Llamada de procedimiento remoto (RPC)** es un protocolo que un programa utiliza para solicitar un servicio de un programa ubicado en otro ordenador de una red sin tener que entender los detalles de la red.
-
## S {#section-s}
-### Algoritmo Seguro de Hash (SHA) {#sha}
-
-Una familia de funciones de hash criptográficas publicadas por el NIST (siglas del Instituto Norteamericano de Estándares y Tecnología).
-
-### Serenity {#serenity}
-
-El estado de desarrollo de Ethereum que inicio una serie de actualizaciones de escalabilidad y sustentabilidad, antes conocida como «Ethereum 2.0», o «Eth2».
-
-
- Actualizaciones de Ethereum
-
-
-### serialización {#serialization}
-
-El proceso de convertir una estructura de datos en una secuencia de bytes.
-
-### fragmento/cadena de fragmentos {#shard}
-
-Las cadenas de fragmentos son secciones discretas de la cadena de bloques total de las que pueden ser responsables los subconjuntos de validadores. Esto ofrecerá un mayor rendimiento de transacciones para Ethereum y mejorará la disponibilidad de datos para [capa 2](#layer-2) soluciones como [optimistic rollups](#optimistic-rollups) y [ZK-rollups](#zk-rollups).
-
-
- Danksharding
-
-
-### cadena lateral {#sidechain}
+
-Una solución escalable que utiliza una cadena separada con diferentes o la mayoría de las veces [reglas de consenso](#reglas-de-consenso). Se necesita un puente para conectar estas cadenas laterales a la [red principal](#mainnet). Los[rollups](#rollups)también usan cadenas laterales, pero trabajan en colaboración con la [red principal](#mainnet).
+
-
- Cadenas laterales
-
+
-### firma {#signing}
+
-Demostración criptográfica de que una transacción ha sido aprobada por el titular de una clave privada específica.
+
-### singleton {#singleton}
+
-Un término de programación informática que describe un objeto del que solamente puede existir una instancia única.
+
-### recortador {#slasher}
+
-Un recortador es una entidad que escanea certificaciones en busca de conductas deplorables que se puedan penalizar con recortes. Los acuchillamientos se transmiten a la red, y el siguiente proponente de bloques añade la prueba al bloque. El proponente de bloques recibe entonces una recompensa por acuchillar el validador malicioso.
+
-### ranura {#slot}
+
-Un período de tiempo (12 segundos) en el que un [validador](#validator) puede proponer nuevos bloques en el sistema de [prueba de participación](#pos). Una ranura puede estar vacía. 32 ranuras componen una [época](#epoch).
+
-
- Prueba de participación
-
+
-### contrato inteligente {#smart-contract}
+
-Un programa que se ejecuta en la infraestructura informática de Ethereum.
+
-
- Introducción a los contratos inteligentes
-
+
-### SNARK {#snark}
+
-SNARK significa «Succinct Non-Interactive Argument of Knowledge» o (argumento breve no interactivo de conocimiento), el cual es una [prueba de conocimiento cero](#prueba-de-conocimiento-cero).
+
-
- Rollups de Conocimiento Cero
-
+
-### bifurcación suave {#soft-fork}
+
-Una divergencia en una [cadena de bloques](#blockchain) que se produce cuando cambian las [reglas de consenso](#consensus-rules). A diferencia de una [bifurcación dura](#hard-fork), una bifurcación blanda es compatible con versiones anteriores; los nodos actualizados pueden validar los bloques creados por nodos no actualizados, siempre y cuando sigan las nuevas reglas de consenso.
+
-### Solidity {#solidity}
+
-Un lenguaje de programación (imperativo) procesal con sintaxis similar a JavaScript, C++ o Java. El lenguaje más popular y utilizado para los [contratos inteligentes](#smart-contract) de Ethereum. Creado por Dr. Gavin Wood.
+
-
- Solidez
-
+
-### Ensamblador en línea Solidity {#solidity-inline-assembly}
+
-Lenguaje ensamblador de la [EVM](#evm) en un programa [Solidity](#solidity). La compatibilidad de Solidity con el ensamblado en línea facilita la escritura de determinadas operaciones.
+
-### Spurious Dragon {#spurious-dragon}
-
-Una [bifurcación dura](#hard-fork) de la cadena de bloques de Ethereum, que se produjo en el bloque 2.675.000 para abordar más vectores de ataque de denegación de servicio y limpiar el estado (consulta [Tangerine Whistle](#tangerine-whistle)). Además, es un mecanismo de protección de ataque por repetición (consulte [nonce](#nonce)).
-
-### monedas estables {#stablecoin}
-
-Un [token ERC-20](#token-standard) con un valor vinculado al valor de otro activo. Hay monedas estables respaldadas por monedas fiduciarias como dólares, metales preciosos como el oro y otras criptomonedas como el Bitcoin.
-
-
- El ETH no es la única criptografía de Ethereum
-
-
-### apostar {#staking}
-
-Depositar una cantidad de [ether](#ether) (su participación) para convertirse en un validador y asegurar la [red](#network). Un validador comprueba las [transacciones](#transaction) y propone [bloques](#block) bajo un modelo de consenso de [prueba de participación](#pos). Apostar le proporciona un incentivo económico para actuar en el mejor interés de la red. Obtendrá recompensas por llevar a cabo sus tareas como [validador](#validator), pero perderá cantidades diferentes de ETH si no las lleva a cabo.
-
-
- Apueste sus ETH para convertirse en un validador de Ethereum
-
-
-### participaciones agrupadas {#staking-pool}
-
-El ETH combinado de más de un participante de Ethereum, utilizado para alcanzar los 32 ETH necesarios para activar un conjunto de claves de validador. Un operador de nodo utiliza estas claves para participar en el consenso y las [recompensas de bloque](#block-reward) se dividen entre los participantes que contribuyen. Los grupos de participación o la delegación de participación no son nativos del protocolo Ethereum, pero la comunidad ha construido muchas soluciones.
-
-
- Participación agrupada
-
-
-### STARK {#stark}
-
-STARK significa «argumento de conocimiento transparente escalable», el cual es un tipo de [prueba cero de conocimiento](#prueba-cero-de-conocimiento).
-
-
- Agrupaciones de conocimiento cero
-
-
-### estado {#state}
-
-Una instantánea de todos los saldos y datos en un momento determinado en la cadena de bloques, que normalmente se refiere a la condición en un bloque en particular.
-
-### canales de estado {#state-channels}
-
-Una solución de [capa 2](#layer-2) en la que un canal está configurado entre los participantes y les permite realizar transacciones de manera libre y económica. Solo se envía una [transacción](#transaction) para configurar el canal y cerrar el canal la cual es enviada a la [red principal](#mainnet). Esto permite realizar transacciones muy elevadas, pero depende en gran medida de si conocemos el número de participantes y el cierre de fondos por adelantado.
-
-
- Canales de estado
-
-
-### supermayoría {#supermajority}
-
-Supermayoría es el término otorgado para una cantidad superior a 2/3 (66 %) del total del ether apostado que asegura Ethereum. Los bloques necesitan el voto de la supermayoría para [finalizar](#finalizado) en la cadena de baliza.
-
-### sincronización {#syncing}
-
-El proceso de descargar toda la última versión de una cadena de bloques en un nodo.
-
-### comité de sincronización {#sync-committee}
-
-Un comité de sincronización es un grupo seleccionado al azar de [validadores](#validator) que se actualizan cada ~27 horas. Su propósito es agregar sus firmas para validar los encabezados de los bloques. Los comités de sincronización permiten a los [clientes ligeros](#light-client) realizar un seguimiento de la cabeza de la cadena de bloques sin necesidad de acceder a todo el conjunto de validadores.
-
-### szabo {#szabo}
-
-Una denominación de [ether](#ether). 1 szabo = 1012 [wei](#wei), 106 szabo = 1 ether.
+
## T {#section-t}
-### Tangerine Whistle {#tangerine-whistle}
-
-Una [bifurcación dura](#hard-fork) de la cadena de bloques de Ethereum, que se produjo en el bloque 2.463.000 para cambiar el cálculo de [gas](#gas) para ciertas operaciones intensivas de E/S, así como para eliminar el estado acumulado de un ataque de denegación de servicio, que explotó el bajo coste de gas de esas operaciones.
-
-### Dificultad Total Terminal (TTD) {#terminal-total-difficulty}
-
-La dificultad total es la suma de la dificultad minera de Ethash para todos los bloques hasta algún punto específico de la cadena de bloques. La dificultad total terminal es un valor específico para la dificultad total que se utilizó como disparador para que los clientes de ejecución desactivaran sus funciones de minería y bloqueo de intercambio de información, lo que permite a la red hacer la transición a la prueba de participación.
-
-### red de prueba {#testnet}
-
-Una red que se usa para simular el comportamiento de la red principal de Ethereum (lea sobre la [red principal](#mainnet)).
+
-
- Redes de pruebas
-
+
-### token {#token}
+
-Un bien virtual negociable definido en contratos inteligentes en la cadena de bloques Ethereum.
+
-### estándar de token {#token-standard}
+
-Presentado mediante la propuesta de ERC-20, esto proporciona una estructura de [contrato inteligente](#smart-contract) estandarizada para tókenes fungibles. A diferencia de los [NFT](#nft), a los tókenes de un mismo contrato se les puede hacer un seguimiento, comercializarlos y son intercambiables entre sí.
+
-
- Estándar de token ERC-20
-
+
-### transacción {#transaction}
-
-Datos comprometidos con la cadena de bloques de Ethereum, firmados por una [cuenta](#account)originaria, con una [dirección](#address) específica. La transacción contiene metadatos como el [límite de gas](#gas-limit) para esa transacción.
-
-
- Transacciones
-
-
-### comisión de la transacción {#transaction-fee}
-
-Una comisión que debe pagar siempre que utilice la red de Ethereum. Los ejemplos incluyen el envío de fondos desde su [cartera](#wallet) o una interacción [DApp](#dapp), como intercambiar tókenes o comprar un objeto de colección. Se puede entender como un cargo por servicio. Esta comisión cambiará según el nivel de actividad de la red. Esto se debe a que es probable que los [validadores](#validator), las personas responsables de procesar su transacción, dan prioridad a las transacciones con comosiones más altas, por lo que la congestión obliga a subir el precio.
-
-A nivel técnico, sus comosiones de transacción están relacionadas con la cantidad de [gas](#gas) que requiera su transacción.
-
-La reducción de las comosiones de transacción es un tema candente en este momento. Consulte [Capa 2](#layer-2).
-
-### desconfianza {#trustlessness}
-
-La capacidad de una red para mediar en las transacciones sin que ninguna de las partes involucradas tenga que confiar en un tercero.
-
-### Turing completo {#turing-complete}
-
-Un concepto que lleva el nombre del matemático y científico informático inglés Alan Turing. Un sistema de reglas de manipulación de datos (como el conjunto de instrucciones de un ordenador, un lenguaje de programación o un autómata celular) se dice que es «Turing completo» o «computacionalmente universal» si se puede utilizar para simular cualquier máquina de Turing.
+
## V {#section-v}
-### validador {#validator}
-
-Un [nodo](#node) en un sistema de [prueba de participación](#pos) responsable de almacenar datos, procesar transacciones y agregar nuevos bloques a la cadena de bloques. Para activar el software del validador, debe ser capaz de [participar con](#staking) 32 ETH.
-
-
- Prueba de participación
-
-
- Participación en Ethereum
-
-
-### ciclo de vida del validador {#validator-lifecycle}
-
-La secuencia de estados en los que puede existir un validador. Estos incluyen:
-
-- Depositado: el validador ha depositado al menos 32 ETH en el [contrato de depósito](#deposit-contract).
-- Pendiente: el validador está en la cola de activación a la espera de ser votado en la red por los validadores existentes.
-- Activo: actualmente certificando y proponiendo bloques.
-- Recortando: penaliza a un validador que haya exhibido una mala conducta y se le está recortando.
-- Salida: se ha señalado al validador como candidado para salir de la red, ya sea voluntariamente o porque haya sido expulsado.
+
-### prueba de validez {#validity-proof}
+
-Modelo de seguridad para ciertas soluciones de [capa 2](#layer-2) en las que, para aumentar la velocidad, las transacciones se [agrupan](/#rollups) en lotes y se envían a Ethereum en una única transacción. El cálculo de la transacción se realiza fuera de la cadena y, a continuación, se suministra a la cadena principal con una prueba de su validez. Este método aumenta la cantidad de transacciones posibles manteniendo la seguridad. Algunos [rollups](#rollups) utilizan [pruebas de fraude](#fraud-proof).
+
-
- Agrupaciones de conocimiento cero
-
+
-### validium {#validium}
-
-Una solución fuera de la cadena que utiliza [pruebas de validación](#validity-proof) para mejorar el rendimiento de las transacciones. A diferencia de las [acumulaciones de conocimiento cero](#zk-rollup), los datos válidos no se almacenan en la capa 1 de la [red principal](#mainnet).
-
-
- Validium
-
-
-### Vyper {#vyper}
-
-Un lenguaje de programación de alto nivel con sintaxis de tipo Python. Se diseñó para acercarse a un lenguaje funcional puro. Creado por Vitalik Buterin.
-
-
- Vyper
-
+
## W {#section-w}
-### cartera {#wallet}
-
-Un software que contiene [claves privadas](#private-key). Se utiliza para acceder y controlar las cuentas de [Ethereum](#account) e interactuar con [contratos inteligentes](#smart-contract). No es necesario almacenar las claves en una cartera y, además, se pueden recuperar del almacenamiento sin conexión (es decir, con una tarjeta de memoria o un papel) para mejorar la seguridad. A pesar de su nombre, las carteras nunca almacenan las monedas o tókenes reales.
-
-
- Carteras de Ethereum
-
-
-### Web 3.0 {#web3}
+
-La tercera versión de la web. Propuesto por primera vez por el Dr. Gavin Wood, Web3 representa una nueva visión y enfoque para las aplicaciones web, desde aplicaciones de propiedad y gestión centralizada, hasta aplicaciones basadas en protocolos descentralizados (ver [DApp](#dapp)).
+
-
- Web2 versus Web3
-
-
-### wei {#wei}
-
-La denominación más pequeña de un [ether](#ether). 1018 wei = 1 ether.
+
## Z {#section-z}
-### dirección cero {#zero-address}
-
-Una dirección de Ethereum, compuesta completamente de ceros, que se utiliza con frecuencia como dirección para eliminar los tókenes de la circulación de su propiedad. Se hace una distinción entre los tókenes eliminados formalmente del índice de un contrato inteligente a través del método burn() y los enviados a esta dirección.
-
-### prueba de conocimiento cero {#zk-proof}
-
-Una prueba de conocimiento cero es un método criptográfico que permite a los individuos probar que un enunciado o declaración es real sin tener que transmitir información adicional.
-
-
- Agrupaciones de conocimiento cero
-
-
-### acumulación (rollup) de conocimiento cero {#zk-rollup}
+
-Un [rollup](#rollups) de transacciones que utilizan [pruebas de validez](#validity-proof) a fin de ofrecer un aumento de los rendimientos de [capa 2](#layer-2), mientras se utiliza la seguridad proporcionada por la [red principal](#mainnet) (capa 1). Aunque no pueden gestionar tipos de transacción complejos, como [Optimistic Rollups](#optimistic-rollups), no tienen problemas de latencia porque las transacciones probablemente son válidas cuando se envían.
+
-
- Acumulaciones de conocimiento cero
-
+
## Fuentes {#sources}
-_Proporcionado parcialmente en [Dominar Ethereum](https://github.com/ethereumbook/ethereumbook) por[Andreas M. Antonopoulos, Gavin Wood](https://ethereumbook.info) bajo CC-BY-SA_
+_Proporcionado en parte por [Mastering Ethereum](https://github.com/ethereumbook/ethereumbook) de [Andreas M. Antonopoulos, Gavin Wood](https://ethereumbook.info) bajo la licencia CC-BY-SA_
## Contribuir a esta página {#contribute-to-this-page}
-¿Nos hemos dejado algo? ¿Hay algo que no sea correcto? ¡Ayúdenos a mejorar contribuyendo con este glosario en GitHub!
+¿Hemos olvidado algo? ¿Hay algo incorrecto? ¡Ayúdenos a mejorar contribuyendo a este glosario en GitHub!
-[Más información sobre cómo contribuir.](/contributing/adding-glossary-terms)
+[Aprenda cómo contribuir](/contributing/adding-glossary-terms)
diff --git a/public/content/translations/es/governance/index.md b/public/content/translations/es/governance/index.md
index 8f93cd89ac5..ed27e220a9b 100644
--- a/public/content/translations/es/governance/index.md
+++ b/public/content/translations/es/governance/index.md
@@ -44,11 +44,11 @@ En la [comunidad Ethereum](/community/), hay diversos actores y cada uno cumple
- **Tenedores de ether**: personas que tienen una cantidad arbitraria de ETH. [Más información sobre ETH](/eth/).
- **Usuarios de aplicaciones**: estas personas interactúan con aplicaciones en la cadena de bloques de Ethereum.
-- **Desarrolladores de aplicaciones o herramientas**: estas personas programan aplicaciones que se ejecutan en la cadena de bloques de Ethereum (p. ej., DeFi, NFT, etc.) o diseñan herramientas para interactuar con Ethereum (p. ej., carteras, series de pruebas, etc.). [Más información sobre DApps](/dapps/).
+- **Desarrolladores de aplicaciones o herramientas**: estas personas programan aplicaciones que se ejecutan en la cadena de bloques de Ethereum (p. ej., DeFi, NFT, etc.) o diseñan herramientas para interactuar con Ethereum (p. ej., carteras, series de pruebas, etc.). [Más información sobre DApps](/apps/).
- **Operadores de nodos**: estas personas ejecutan nodos que propagan bloques y transacciones y rechazan cualquier transacción o bloque inválido con el que se encuentren. [Más información sobre los nodos](/developers/docs/nodes-and-clients/).
- **Autores de EIP**: estas personas proponen cambios en el protocolo Ethereum en calidad de propuestas de mejora de Ethereum (EIP, «Ethereum Improvement Proposals»). [Más información sobre las EIP](/eips/).
- **Validadores**: estas personas ejecutan nodos que pueden añadir nuevos bloques a la cadena de bloques de Ethereum.
-- **Desarrolladores del protocolo** (también conocidos como "Desarrolladores principales"): estas personas mantienen las diversas implementaciones de Ethereum (por ejemplo, go-ethereum, Nethermind, Besu, Erigon, Reth en la capa de ejecución o Prysm, Lighthouse, Nimbus, Teku, Lodestar en la capa de consenso). [Más información sobre los clientes de Ethereum](/developers/docs/nodes-and-clients/).
+- **Desarrolladores del protocolo** (también conocidos como «Desarrolladores Principales»): estas personas mantienen las diversas implementaciones de Ethereum (p. ej., go-ethereum, Nethermind, Besu, Erigon, Reth en la capa de ejecución o Prysm, Lighthouse, Nimbus, Teku, Lodestar, Grandine ene la capa de consenso). [Más información sobre los clientes de Ethereum](/developers/docs/nodes-and-clients/).
_Nota: cualquier persona puede ser parte de varios de estos grupos (p. ej., un desarrollador de protocolos podría abogar por una EIP, ejecutar un validador de la cadena de baliza y utilizar aplicaciones DeFi). Sin embargo, por motivos de claridad conceptual, resulta más práctico hacer una distinción entre ellos._
@@ -118,7 +118,7 @@ Por lo general, los desacuerdos se tratan en discusiones extensas en foros de ac
Las bifurcaciones se dan cuando hay mejoras técnicas o modificaciones que cambian las reglas del juego en el protocolo. Los [clientes de Ethereum](/developers/docs/nodes-and-clients/) deben actualizar su software para implementar las nuevas reglas establecidas en la bifurcación.
-La bifurcación de una DAO surgió en respuesta al [ataque de una DAO en 2016](https://www.coindesk.com/understanding-dao-hack-journalists), donde un contrato inseguro de una [DAO](/glossary/#dao) fue drenado por más de 3,6 millones de ETH en un hack. La bifurcación movió los fondos desde el contrato corrompido a un nuevo contrato, permitiendo que las personas que perdieron sus fondos, los recuperaran.
+La bifurcación de una DAO surgió en respuesta al [ataque de una DAO en 2016](https://www.coindesk.com/learn/understanding-the-dao-attack), donde un contrato inseguro de una [DAO](/glossary/#dao) fue drenado por más de 3,6 millones de ETH en un hack. La bifurcación movió los fondos desde el contrato corrompido a un nuevo contrato, permitiendo que las personas que perdieron sus fondos, los recuperaran.
Esta acción fue votada por la comunidad Ethereum. Cualquier titular de ETH pudo votar a través de una transacción en [una plataforma de votación](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/). La decisión de bifurcar obtuvo más del 85 % de los votos.
diff --git a/public/content/translations/es/guides/how-to-revoke-token-access/index.md b/public/content/translations/es/guides/how-to-revoke-token-access/index.md
index 747678f27ad..9076841d742 100644
--- a/public/content/translations/es/guides/how-to-revoke-token-access/index.md
+++ b/public/content/translations/es/guides/how-to-revoke-token-access/index.md
@@ -20,7 +20,6 @@ Existen varios sitios web que le permiten ver y revocar contratos inteligentes c
- [Ethallowance](https://ethallowance.com/) (Ethereum)
- [Etherscan](https://etherscan.io/tokenapprovalchecker) (Ethereum)
-- [Cointool](https://cointool.app/approve/eth) (múltiples redes)
- [Revoke](https://revoke.cash/) (múltiples redes)
- [Unrekt](https://app.unrekt.net/) (múltiples redes)
- [EverRevoke](https://everrise.com/everrevoke/) (múltiples redes)
diff --git a/public/content/translations/es/guides/how-to-use-a-wallet/index.md b/public/content/translations/es/guides/how-to-use-a-wallet/index.md
index 42e1d0a573e..d3b36c4622e 100644
--- a/public/content/translations/es/guides/how-to-use-a-wallet/index.md
+++ b/public/content/translations/es/guides/how-to-use-a-wallet/index.md
@@ -60,7 +60,7 @@ Su dirección será la misma en todos los proyectos de Ethereum. No tiene que re

5. Confirme la solicitud en su cartera para establecer la conexión. ** Aceptar este mensaje no requiere gastar ETH **.
-6. ¡Y ya está! Puede empezar a utilizar la aplicación. Puede encontrar algunos proyectos interesantes en nuestra [ página DApps](/dapps/#explore).
+6. ¡Y ya está! Puede empezar a utilizar la aplicación. Puede encontrar algunos proyectos interesantes en nuestra [ página DApps](/apps/#explore).
¿Quiere saber más?
diff --git a/public/content/translations/es/guides/index.md b/public/content/translations/es/guides/index.md
index 0ecf8412216..e13fa859248 100644
--- a/public/content/translations/es/guides/index.md
+++ b/public/content/translations/es/guides/index.md
@@ -12,7 +12,7 @@ lang: es
1. [Cómo «crear» una cuenta de Ethereum](/guides/how-to-create-an-ethereum-account/): cualquiera puede crear una cartera de forma gratuita. Esta guía le mostrará por dónde empezar.
-2. [Cómo usar una cartera](/guides/how-to-use-a-wallet/): una introducción a las características básicas de cualquier cartera y cómo usarlas.
+2. [Cómo utilizar una cartera](/guides/how-to-use-a-wallet/) - Aprende a enviar y recibir tókenes en tu cartera y cómo conectar tu cartera a distintos proyectos.
## Aspectos básicos de la seguridad
diff --git a/public/content/translations/es/how-to-create-an-ethereum-account/index.md b/public/content/translations/es/how-to-create-an-ethereum-account/index.md
new file mode 100644
index 00000000000..a518e5bd293
--- /dev/null
+++ b/public/content/translations/es/how-to-create-an-ethereum-account/index.md
@@ -0,0 +1,73 @@
+---
+title: Cómo "crear" una cuenta de Ethereum
+description: Guía paso a paso sobre la creación de una cuenta de Ethereum utilizando una billetera.
+lang: es
+---
+
+# Cómo crear una cuenta de Ethereum
+
+**Cualquiera puede crear una cuenta de Ethereum de forma gratuita. ** Solo tiene que instalar una aplicación de billetera cripto. Las billeteras digitales crean y administran su cuenta de Ethereum. Permiten enviar transacciones, comprobar sus saldos y conectarlo a otras aplicaciones creadas en Ethereum.
+
+Con una billetera también puede instantáneamente iniciar sesión en cualquier plataforma de intercambio de tokens, juegos o mercados de [NFT](/glossary/#nft). No hay necesidad de registro individual; se comparte una cuenta para todas las aplicaciones construidas en Ethereum.
+
+## Paso 1: Elija una billetera
+
+Una cartera es una aplicación que te ayuda a gestionar tu cuenta de Ethereum. Hay docenas de billeteras diferentes para elegir: móviles, de escritorio o incluso extensiones de navegador.
+
+
+
+ Lista de carteras
+
+
+Si es nuevo, puede seleccionar el filtro «Nuevo en cripto» en la página «encontrar una cartera» para identificar las carteras que deben incluir todas las características necesarias adecuadas para principiantes.
+
+
+
+También hay otros filtros de perfil para satisfacer sus necesidades. Estos son ejemplos de carteras de uso común: debería de hacer su propia investigación antes de confiar en cualquier software.
+
+## Paso 2: Descargue e instale la aplicación de la cartera
+
+Una vez que haya decidido una cartera específica, visite su sitio web oficial o la tienda de aplicaciones, descárguela e instálela. Todas deberían ser gratuitas.
+
+## Paso 3: Abra la aplicación y cree su cuenta de Ethereum
+
+La primera vez que abra su nueva cartera, es posible que se le pida que elija entre crear una nueva cuenta o importar una existente. Haga clic en «crear una nueva cuenta». **Este es el paso durante el cual el software de la billetera genera su cuenta de Ethereum. **
+
+## Paso 4: Guarde su frase de recuperación
+
+Algunas aplicaciones le pedirán que guarde una "frase de recuperación" secreta (a veces llamada "frase semilla" o "mnemónica"). ¡Mantener esta frase segura es extremadamente importante! Esta se utiliza para generar su cuenta de Ethereum y se puede utilizar para enviar transacciones.
+
+**Cualquier persona que conozca la frase puede tomar el control de todos los fondos.** Nunca la comparta con nadie. Esta frase debe contener entre 12 a 24 palabras generadas al azar (el orden de las palabras importa).
+
+
+
+ ¿Billetera instalada?
Aprenda a usarla.
+
+ Cómo utilizar una cartera
+
+
+
+
+¿Interesado en otras guías? Eche un vistazo a nuestras [Guías paso a paso](/guides/).
+
+## Preguntas más frecuentes
+
+### ¿Son mi cartera y mi cuenta de Ethereum lo mismo?
+
+No. La cartera es una herramienta de gestión que le ayuda a gestionar cuentas. Una sola billetera puede acceder a varias cuentas, y varias billeteras pueden acceder a una sola cuenta. La frase de recuperación se utiliza para crear cuentas y da permiso a una aplicación de billetera para administrar activos.
+
+### ¿Puedo enviar bitcoin a una dirección de Ethereum o ether a una dirección de bitcoin?
+
+No, no puede. Bitcoin y ether existen en dos redes separadas (es decir, cadenas de bloques diferentes), cada una con sus propios formatos de contabilidad y dirección. Ha habido varios intentos de unir las dos redes diferentes, de las cuales la más activa actualmente es [Wrapped Bitcoin o WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/). Esto no es un aval, ya que WBTC es una solución de custodia (es decir, un solo grupo de personas controla ciertas funciones críticas) y se proporciona aquí sólo para propósitos informativos.
+
+### Si tengo una dirección de ETH, ¿tengo la misma dirección en otras cadenas de bloques?
+
+Puede usar la misma [dirección](/glossary/#address) en todas las cadenas de bloques que utilicen software subyacente similar a Ethereum (conocido como "compatible con EVM"). Esta [lista](https://chainlist.org/) le mostrará qué csdenas de bloques puede usar con la misma dirección. Algunas cadenas de bloques, como Bitcoin, implementan un conjunto de reglas de red completamente por separado y necesitará una dirección diferente con un formato diferente. Si tiene una billetera de contrato inteligente, debe consultar el sitio web de su producto para obtener más información sobre qué cadenas de bloques son compatibles, ya que generalmente estas tienen un alcance limitado pero más seguro.
+
+### ¿Tener mi propia cartera es más seguro que mantener mis fondos en una casa de cambio?
+
+Tener su propia cartera significa que usted asume la responsabilidad de la seguridad de sus activos. Desafortunadamente, hay muchos ejemplos de casas de cambio fallidas que perdieron el dinero de sus clientes. Ser propietario de una billetera (con una frase de recuperación) elimina el riesgo asociado con la confianza en alguna entidad para mantener sus activos. Sin embargo, tiene que protegerla por su cuenta y evitar estafas de phishing, aprobar transacciones accidentalmente o exponer la frase de recuperación, interactuar con sitios web falsos y otros riesgos de autocustodia. Los riesgos y beneficios son diferentes.
+
+### Si pierdo mi teléfono/cartera de hardware, ¿necesito usar la misma aplicación de cartera nuevamente para recuperar los fondos perdidos?
+
+No, puede usar una cartera diferente. Siempre y cuando tenga la frase de recuperación, puede introducirla en la mayoría de las carteras y se restaurará su cuenta. Actúe con suma cautela si alguna vez necesita hacer esto: lo mejor es asegurarse de que no está conectado a Internet al recuperar su cartera, para que su frase de recuperación no se filtre accidentalmente. A veces es imposible recuperar los fondos perdidos sin la frase de recuperación.
diff --git a/public/content/translations/es/nft/index.md b/public/content/translations/es/nft/index.md
index f7ce3413d9c..fad8e7109ce 100644
--- a/public/content/translations/es/nft/index.md
+++ b/public/content/translations/es/nft/index.md
@@ -1,5 +1,6 @@
---
title: Tókenes no fungibles (NFT)
+metaTitle: '¿Qué son los NFT? | Beneficios y uso'
description: Una visión general de los NFT en Ethereum
lang: es
template: use-cases
@@ -56,7 +57,7 @@ Tal vez sea usted un artista que quiere compartir su arte a través de los NFT,
Explore, compre o cree sus propios NFT de arte/coleccionables...
-
+
Explore arte en NFT
@@ -75,7 +76,7 @@ El nombre de dominio alternativo de esta página web también funciona a través
## ¿Cómo funcionan los NFT? {#how-nfts-work}
-Los NFT, como cualquiera de los objetos digitales en la cadena de bloques de Ethereum, se crean a través de un programa informático especial basado en Ethereum llamado «contrato inteligente». Estos contratos siguen ciertas reglas, como los estándares[ERC-721](/glossary/#erc-721) o [ERC-1155](/glossary/#erc-1155), que determinan qué puede hacer un contrato.
+Los NFT, como cualquier objeto digital en la cadena de bloques de Ethereum, se crean a través de un programa especial de computación llamado "contrato inteligente". Estos contratos siguen ciertas reglas, como los estándares[ERC-721](/glossary/#erc-721) o [ERC-1155](/glossary/#erc-1155), que determinan qué puede hacer un contrato.
Los contratos inteligentes de NFT pueden hacer algunas cosas importantes:
diff --git a/public/content/translations/es/roadmap/account-abstraction/index.md b/public/content/translations/es/roadmap/account-abstraction/index.md
index 3c30babe1b6..55979db3289 100644
--- a/public/content/translations/es/roadmap/account-abstraction/index.md
+++ b/public/content/translations/es/roadmap/account-abstraction/index.md
@@ -1,5 +1,5 @@
---
-title: Abstracción de Cuenta
+title: Abstracción de cuenta
description: Una visión general de los planes de Ethereum para hacer que las cuentas de usuario sean más sencillas y seguras.
lang: es
summaryPoints:
@@ -8,11 +8,11 @@ summaryPoints:
- Las claves perdidas y expuestas se pueden recuperar usando múltiples copias de seguridad.
---
-# Abstracción de Cuenta {#account-abstraction}
+# Abstracción de cuenta {#account-abstraction}
Los usuarios interactúan con Ethereum usando **[cuentas de propiedad externa (o EOA)](/glossary/#eoa)**. Esta es la única forma de empezar una transacción o generar un contrato inteligente. Esto limita cómo los usuarios pueden interactuar con Ethereum. Por ejemplo, dificulta la creación de transacciones en lote y requiere que los usuarios siempre mantengan un saldo en ETH para costear el gas.
-La abstracción de cuentas es una forma de rosolver estos problemas, que permite a los usuarios programar flexiblemente con mayor seguridad y mejores experiencias de usuario en sus cuentas. Esto puede suceder [actualizando las cuentas de propiedad externa (o EOA)](https://eips.ethereum.org/EIPS/eip-3074) para que puedan ser controladas por contratos inteligentes, o por [la actualización de los contratos inteligentes](https://eips.ethereum.org/EIPS/eip-2938) para que puedan iniciar transacciones. Ambas opciones requieren cambios en el protocolo de Ethereum. Existe también una tercera vía que implica añadir un [segundo sistema de transacciones independiente](https://eips.ethereum.org/EIPS/eip-4337) para ejecutarlo en paralelo con el protocolo existente. De cualquier forma, el resultado será acceder a Ethereum con carteras de contrato inteligente, ya sea de forma nativa como parte del protocolo existente o por una red de transacciones complementaria.
+La abstracción de cuentas es una forma de rosolver estos problemas, que permite a los usuarios programar flexiblemente con mayor seguridad y mejores experiencias de usuario en sus cuentas. Esto puede suceder [actualizando las cuentas de propiedad externa (o EOA)](https://eips.ethereum.org/EIPS/eip-3074) para que puedan ser controladas por contratos inteligentes, o por [la actualización de los contratos inteligentes ](https://eips.ethereum.org/EIPS/eip-2938) para que puedan iniciar transacciones. Ambas opciones requieren cambios en el protocolo de Ethereum. Existe también una tercera vía que implica añadir un [segundo sistema de transacciones independiente](https://eips.ethereum.org/EIPS/eip-4337) para ejecutarlo en paralelo con el protocolo existente. De cualquier forma, el resultado será acceder a Ethereum con carteras de contrato inteligente, ya sea de forma nativa como parte del protocolo existente o por una red de transacciones complementaria.
Las billeteras de contrato inteligente desbloquean múltiples beneficios para los usuarios, incluyendo:
diff --git a/public/content/translations/es/roadmap/beacon-chain/index.md b/public/content/translations/es/roadmap/beacon-chain/index.md
index 647bf94ef61..df6be5ab6a4 100644
--- a/public/content/translations/es/roadmap/beacon-chain/index.md
+++ b/public/content/translations/es/roadmap/beacon-chain/index.md
@@ -70,6 +70,6 @@ La fragmentación solo podría implementarse en el ecosistema de Ethereum de man
## Más información
-- [Más sobre las futuras actualizaciones de Ethereum](/roadmap/vision)
+- [Más sobre las futuras actualizaciones de Ethereum ](/roadmap/vision)
- [Más sobre arquitectura de nodos](/developers/docs/nodes-and-clients/node-architecture)
-- [Más sobre la prueba de participación](/developers/docs/consensus-mechanisms/pos)
+- [Más sobre la prueba de participación ](/developers/docs/consensus-mechanisms/pos)
diff --git a/public/content/translations/es/roadmap/index.md b/public/content/translations/es/roadmap/index.md
index 778557261b6..f56b402a6af 100644
--- a/public/content/translations/es/roadmap/index.md
+++ b/public/content/translations/es/roadmap/index.md
@@ -8,10 +8,10 @@ alt: "Hoja de ruta de Ethereum"
summaryPoints:
buttons:
-
- label: Actualizaciones futuras
+ content: Actualizaciones futuras
toId: '¿Qué cambios están pendientes?'
-
- label: Actualizaciones anteriores
+ content: Actualizaciones anteriores
href: /history/
variant: borrador
---
@@ -109,6 +109,7 @@ El sharding está dividiendo la cadena de bloques de Ethereum para que los subco
## ¿Busca actualizaciones técnicas específicas? {#looking-for-specific-technical-upgrades}
+- [Pectra](/roadmap/pectra): La bifurcación dura Praga/Electra aporta un nuevo enfoque a la abstracción de cuentas y mejora la escalabilidad, entre otras cosas.
- [Danksharding](/roadmap/danksharding): Danksharding hace que las acumulaciones de capa 2 sean mucho más baratas para los usuarios al añadir «masas» de datos a los bloques de Ethereum.
- [Retiradas de participación](/staking/withdrawals): la actualización de Shanghai/Capella posibilitó las retiradas de participación en Ethereum, lo que permitió a las personas desbloquear su ETH en participación.
- [Finalidad de una sola ranura](/roadmap/single-slot-finality): en lugar de esperar quince minutos, los bloques podrían proponerse y finalizarse en la misma ranura. Esto resulta más práctico para las aplicaciones y mucho más difícil de atacar.
diff --git a/public/content/translations/es/roadmap/merge/index.md b/public/content/translations/es/roadmap/merge/index.md
index 9f894c8c4ce..ad5315318b4 100644
--- a/public/content/translations/es/roadmap/merge/index.md
+++ b/public/content/translations/es/roadmap/merge/index.md
@@ -92,7 +92,7 @@ title="Desarrolladores de DApps y contratos inteligentes"
contentPreview="The Merge was designed to have minimal impact on smart contract and dapp developers."
id="developers">
-La Fusión vino con cambios en el consenso, que también incluye cambios relacionados con:<
+La Fusión vino con cambios en el consenso, que también incluye cambios relacionados con:
- estructura de bloque
diff --git a/public/content/translations/es/roadmap/statelessness/index.md b/public/content/translations/es/roadmap/statelessness/index.md
index 5555cca92c9..163b4341471 100644
--- a/public/content/translations/es/roadmap/statelessness/index.md
+++ b/public/content/translations/es/roadmap/statelessness/index.md
@@ -16,7 +16,7 @@ Los discos duros más baratos se pueden usar para almacenar datos más antiguos,
Hay varias formas de reducir la cantidad de datos que cada nodo tiene que almacenar, cada una de las cuales requiere que el protocolo principal de Ethereum se actualice en un grado diferente:
-- **El vencimiento del historial**: permite que los nodos descarten los datos de estado más antiguos que los bloques X, pero no cambia la forma en que el cliente de Ethereum gestiona los datos de estado.
+- **Expiración del historial**: permite que los nodos eliminen los datos de estado más antiguos que X bloques, pero no cambia la forma en que el cliente de Ethereum gestiona los datos de estado.
- **El vencimiento del estado**: permite que los datos de estado que no se utilizan con frecuencia se vuelvan inactivos. Los clientes pueden ignorar los datos inactivos hasta que se resuciten.
- **Sin estado débil**: solo los productores de bloques necesitan acceso a datos de estado completo, otros nodos pueden verificar bloques sin una base de datos de estado local.
- **Sin estado fuerte**: ningún nodo necesita acceso a los datos completos del estado.
diff --git a/public/content/translations/es/roadmap/verkle-trees/index.md b/public/content/translations/es/roadmap/verkle-trees/index.md
index 5a824943100..66d2fa8d339 100644
--- a/public/content/translations/es/roadmap/verkle-trees/index.md
+++ b/public/content/translations/es/roadmap/verkle-trees/index.md
@@ -49,18 +49,20 @@ Los árboles de Verkle son `(llave, valor)` pares donde las llaves son elementos
Las redes de prueba del árbol de Verkle ya están en funcionamiento, pero todavía se requieren sustanciales actualizaciones pendientes para los clientes en apoyo de los árboles de Verkle. Puede ayudar a acelerar el progreso implementando contratos en las redes de prueba o ejecutando clientes de la red de prueba.
-[Explore la red de prueba Verkle Gen Devnet 2](https://verkle-gen-devnet-2.ethpandaops.io/)
+[Explore la red de prueba Verkle Gen Devnet 6](https://verkle-gen-devnet-6.ethpandaops.io/)
-[Vea a Guillaume Ballet explicar la red de prueba Condrieu Verkle](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (tenga en cuenta que la red de prueba Condrieu era de prueba de trabajo y ahora se ha sustituido por la red de prueba Verkle Gen Devnet 2).
+[Vea a Guillaume Ballet explicar la red de prueba Condrieu Verkle](https://www.youtube.com/watch?v=cPLHFBeC0Vg) (tenga en cuenta que la red de prueba Condrieu era de prueba de trabajo y ahora se ha sustituido por la red de prueba Verkle Gen Devnet 6).
## Más información {#further-reading}
- [Árboles Verkle para la falta de estado](https://verkle.info/)
- [Dankrad Feist explica los árboles Verkle en PEEPanEIP](https://www.youtube.com/watch?v=RGJOQHzg3UQ)
-- [Guillaume Ballet explica los árboles de Verkle en ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
+- [Árboles Verkle para el resto de nosotros](https://research.2077.xyz/verkle-trees)
+- [Anatomía de una prueba Verkle](https://ihagopian.com/posts/anatomy-of-a-verkle-proof)
+- [Guillaume Ballet explica los árboles Verkle en ETHGlobal](https://www.youtube.com/watch?v=f7bEtX3Z57o)
- [«Cómo los árboles de Verkle hacen que Ethereum sean claro y directo» por Guillaume Ballet en Devcon 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
- [Piper Merriam sobre clientes sin estado en ETHDenver 2020](https://www.youtube.com/watch?v=0yiZJNciIJ4)
-- [Dankrad Fiest explica los árboles de Verkle y la falta de estado en el podcast Zero Knowledge](https://zeroknowledge.fm/episode-202-stateless-ethereum-verkle-tries-with-dankrad-feist/)
+- [Dankrad Fiest explica los árboles de Verkle y la falta de estado en el podcast Zero Knowledge](https://zeroknowledge.fm/podcast/202/)
- [Vitalik Buterin comenta los árboles de Verkle](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
- [Dankrad Feist habla de los árboles de Verkle](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
- [Documentación EIP de los árboles de Verkle](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
diff --git a/public/content/translations/es/security/index.md b/public/content/translations/es/security/index.md
index f06ee75ea70..2f4039cf798 100644
--- a/public/content/translations/es/security/index.md
+++ b/public/content/translations/es/security/index.md
@@ -8,6 +8,8 @@ lang: es
El creciente interés en criptomonedas trae consigo un aumento de riesgo a causa de estafadores y hackers. Este artículo establece algunas de las mejores prácticas para mitigar estos riesgos.
+**Recuerde: Ningún miembro de ethereum.org se pondrá en contacto con usted. No conteste a mensajes que dicen provenir del soporte de Ethereum.**
+
## Seguridad de criptomonedas 101 {#crypto-security}
diff --git a/public/content/translations/es/smart-contracts/index.md b/public/content/translations/es/smart-contracts/index.md
index 52f79dff449..b7f69dedcf6 100644
--- a/public/content/translations/es/smart-contracts/index.md
+++ b/public/content/translations/es/smart-contracts/index.md
@@ -1,5 +1,6 @@
---
title: Contratos inteligentes
+metaTitle: "Contratos inteligentes: Qué son y sus beneficios"
description: Una introducción sin tecnicismos a los contratos inteligentes
lang: es
---
@@ -69,14 +70,13 @@ Pueden realizar cómputos, crear divisas, almacenar datos, mintear [NFT](/glossa
- [Monedas estables](/stablecoins/)
- [Crear y distribuir activos digitales únicos](/nft/)
- [Un cambio de divisas automático y abierto](/get-eth/#dex)
-- [Juegos descentralizados](/dapps/?category=gaming#explore)
+- [Juegos descentralizados](/apps/?category=gaming#explore)
- [Una póliza de seguro que paga automáticamente](https://etherisc.com/)
- [Un estándar que permite a las personas crear divisas interoperables y personalizadas](/developers/docs/standards/tokens/)
## Más información {#further-reading}
- [¿Cómo cambiarán el mundo los contratos inteligentes?](https://www.youtube.com/watch?v=pA6CGuXEKtQ)
-- [Contratos inteligentes: la tecnología de la cadena de bloques que remplazará a los abogados](https://blockgeeks.com/guides/smart-contracts/)
- [Contratos inteligentes para desarrolladores](/developers/docs/smart-contracts/)
- [Aprenda a redactar contratos inteligentes](/developers/learning-tools/)
- [Dominar Ethereum: ¿Qué es un contrato inteligente?](https://github.com/ethereumbook/ethereumbook/blob/develop/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract)
diff --git a/public/content/translations/es/social-networks/index.md b/public/content/translations/es/social-networks/index.md
index 722537f8c23..ee8a244aec4 100644
--- a/public/content/translations/es/social-networks/index.md
+++ b/public/content/translations/es/social-networks/index.md
@@ -23,7 +23,7 @@ Muchas redes sociales descentralizadas existen como alternativa a los servicios
### ¿Cómo funcionan las redes sociales descentralizadas? {#decentralized-social-networks-overview}
-Las redes sociales descentralizadas son una clase de [aplicaciones descentralizadas (dApps)](/dapps/), aplicaciones que funcionan con [contratos inteligentes](/glossary/#smart-contract) implementados en la cadena de bloques. El código del contrato sirve como el backend para estas aplicaciones y define su lógica de negocio.
+Las redes sociales descentralizadas son una clase de [aplicaciones descentralizadas (dApps)](/apps/), aplicaciones que funcionan con [contratos inteligentes](/glossary/#smart-contract) implementados en la cadena de bloques. El código del contrato sirve como el backend para estas aplicaciones y define su lógica de negocio.
Las plataformas tradicionales de redes sociales se basan en bases de datos para almacenar información del usuario, el código del programa y otras formas de datos. Pero esto crea puntos únicos de falla y supone un riesgo significativo. Por ejemplo, los servidores de Facebook infamemente [se desconectaron durante horas](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) en octubre de 2021, dejando a los usuarios sin acceso a la plataforma.
diff --git a/public/content/translations/es/staking/solo/index.md b/public/content/translations/es/staking/solo/index.md
index 906b0c9f59f..0e128d386ea 100644
--- a/public/content/translations/es/staking/solo/index.md
+++ b/public/content/translations/es/staking/solo/index.md
@@ -1,6 +1,6 @@
---
-title: Participación individual de su ETH
-description: Una visión general de cómo empezar a postar su ETH individualmente
+title: Participe desde casa con sus ETH
+description: Un resumen de cómo empezar con la partición desde casa de sus ETH
lang: es
template: staking
emoji: ":money_with_wings:"
@@ -13,31 +13,31 @@ summaryPoints:
- Desconfíe y no deje nunca de controlar las claves de sus fondos
---
-## ¿Qué es staking individual? {#what-is-solo-staking}
+## ¿Qué es la participación desde casa? {#what-is-solo-staking}
-Participación individual es el acto de [ ejecutar un nodo Ethereum](/run-a-node/) conectado a Internet y depositar 32 ETH para activar un [validador](#faq), abriendo la posibilidad de participar directamente en el consenso de la red.
+La participación desde casa es el acto de [ejecutar un nodo de Ethereum](/run-a-node/) conectado a Internet y depositar 32 ETH para activar un [validador](#faq), permitiéndole participar directamente en el consenso de la red.
-**El staking individual aumenta la descentralización de la red Ethereum**, haciendo que sea más resistente a la censura y robusta contra ataques. Puede que otros métodos de participación no ayuden a la red de la misma manera. La participación en solitario es la mejor opción de participación para asegurar Ethereum.
+**La participación desde casa incrementa la descentralización de la red de Ethereum**, haciendo que la red sea más resistente a la censura y logrando robustez contra ataques. Puede que otros métodos de participación no ayuden a la red de la misma manera. La participación desde casa es la mejor forma de participación para asegurar Ethereum.
Un nodo Ethereum consiste tanto en un cliente de capa de ejecución (EL), como en un cliente de capa de consenso (CL). Estos clientes son programas que funcionan estrechamente entre sí, en conjunto con un par de claves de validación, para verificar transacciones y bloques, certificar el encabezado corecto de la cadena, resumir verificaciones, y proponer bloques.
-Los participantes individuales conlleva la responsabilidad de operar el hardware necesario para ejecutar dichos clientes. Es muy recomendable utilizar una máquina específicamente dedicada a esto, que usted opere desde su hogar, algo que es extremadamente beneficioso para la salud de la red.
+Los participantes desde casa son responsables de operar el hardware necesario para ejecutar estos clientes. Es muy recomendable utilizar una máquina específicamente dedicada a esto, que usted opere desde su hogar, algo que es extremadamente beneficioso para la salud de la red.
-El participante individual recibe las recompensas directamente desde el protocolo por mantener su validador funcionando correctamente y en línea.
+Un participante desde casa recibe las recompensas directamente desde el protocolo por mantener su validador funcionando correctamente y en línea.
-## ¿Por qué debería participar de forma individual? {#why-stake-solo}
+## ¿Por qué participar desde casa? {#why-stake-solo}
-La participación en solitario conlleva más responsabilidad, pero proporciona el máximo control posible sobre los fondos y la configuración para realizarla.
+Participar desde casa conlleva más responsabilidad, pero proporciona el máximo control posible sobre los fondos y la configuración de los validadores.
-
+
-## Consideraciones antes de hacer una participación individual {#considerations-before-staking-solo}
+## Consideraciones antes de participar desde casa {#considerations-before-staking-solo}
-Por mucho que deseemos que la participación individual fuera accesible y libre de riesgos para todos, esta no es la realidad. Hay algunas consideraciones prácticas y serias que debemos tener en cuenta antes de elegir la participación individual de su ETH.
+Por mucho que busquemos que participar desde casa sea accesible y libre de riesgos para todos, esta no es la realidad. Hay algunas consideraciones prácticas y serias que debemos tener en cuenta antes de elegir participar desde casa con sus ETH.
@@ -93,7 +93,7 @@ El Lanzador de participaciones es una aplicación de código abierto que le ayud
## Qué considerar respecto a las herramientas de configuración de nodos y clientes {#node-tool-considerations}
-Cada vez hay más herramientas y servicios para ayudarle a que usted haga una participación individual de su ETH, pero cada uno de ellos conlleva diferentes riesgos y beneficios.
+Existe un número cada vez mayor de herramientas y servicios para ayudarle a participar desde casa con sus ETH, pero cada una comporta diferentes riesgos y beneficios.
Los indicadores de atributos a continuación indican las fortalezas o debilidades que puede tener cada herramienta de participación. Utilice esta sección como referencia sobre cómo definimos estos atributos, mientras está eligiendo las herramientas que le ayudarán con su experiencia de participación.
@@ -119,7 +119,7 @@ Estas herramientas pueden utilizarse como alternativa a la [CLI de depósito de
¿Tiene alguna sugerencia para una herramienta de participación no cubierta? Eche un vistazo a nuestra [política de listado de productos](/contributing/adding-staking-products/) para ver si le parece una opción aceptable y enviarla para su revisión.
-## Explorar guías de participación individual {#staking-guides}
+## Explorar guías de participación desde casa {#staking-guides}
@@ -138,7 +138,7 @@ Cada par de claves asociadas a un validador requieren exactamente 32 ETH para se
No deposite más de 32 ETH para un solo validador. No aumentará sus recompensas. Si se ha establecido una dirección de retirada para el validador, cualquier exceso de fondos superior a 32 ETH se retirará automáticamente a esta dirección durante el próximo barrido del validador.
-Si la participación individual le parece demasiado exigente, plantéese el usar un proveedor de participación como servicio, o si está trabajando con menos de 32 ETH, plantéese los grupos de participación.
+Si participar desde casa le parece demasiado exigente, considere utilizar un proveedor de staking-as-a-service o si busca participar con menos de 32 ETH investigue grupos de participación.
@@ -203,4 +203,4 @@ Para desbloquear y recibir el saldo completo, también debe completar el proceso
- [Paso a paso: Cómo unirse a la red de prueba de Ethereum 2.0](https://kb.beaconcha.in/guides/tutorial-eth2-multiclient) - _Butta_
- [Consejos para la prevención de «recortes» de Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) - _Raúl Jordan 2020_
-
+
diff --git a/public/content/translations/es/web3/index.md b/public/content/translations/es/web3/index.md
index 94021a37c16..cbc175056dd 100644
--- a/public/content/translations/es/web3/index.md
+++ b/public/content/translations/es/web3/index.md
@@ -6,6 +6,10 @@ lang: es
# Introducción a Web3 {#introduction}
+
+
+
+
La centralización ha ayudado a miles de millones de personas a conectarse a Internet y ha creado la infraestructura sólida y estable en la que vive. Al mismo tiempo, un grupúsculo de entidades centralizadas mantienen un férreo control de grandes extensiones de Internet, decidiendo unilateralmente qué se debe y qué no se debe permitir.
Web3 es la respuesta a este dilema. En vez de tener una Web monopolizada por las grandes compañías de tecnología, la Web3 adopta la descentralización y se construye, opera y permanece en propiedad de sus usuarios. Web3 pone el poder en manos de los usuarios y no de las grandes empresas. Antes de hablar de Web3, vamos a explorar cómo hemos llegado aquí.
@@ -139,7 +143,7 @@ Esto es solo el comienzo para crear un mejor Internet con Web3, y a medida que s
- [Obtener un monedero](/wallets/)
- [Encontrar una comunidad](/community/)
-- [Explorar aplicaciones Web3](/dapps/)
+- [Explorar aplicaciones Web3](/apps/)
- [Unirse a una DAO](/dao/)
- [Construir sobre Web3](/developers/)
@@ -147,11 +151,11 @@ Esto es solo el comienzo para crear un mejor Internet con Web3, y a medida que s
Web3 no está definida rígidamente. Varios participantes de la comunidad tienen diferentes opiniones al respecto. He aquí algunas de ellas:
-- [¿Qué es la Web3? El Internet descentralizado del futuro explicado](https://www.freecodecamp.org/news/what-is-web3/) – _Nader Dabit_
+- [¿Qué es la Web3? El Internet descentralizado del futuro explicado](https://www.freecodecamp.org/news/what-is-web3) – _Nader Dabit_
- [Dar sentido a la Web3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) – _Josh Stark_
- [¿Por qué es Importante Web3?](https://future.a16z.com/why-web3-matters/) — _Chris Dixon_
- [¿Por qué es importante la Descentralización?](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _Chris Dixon_
- [El paisaje de la Web3](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
-- [El debate de Web3](https://www.notboring.co/p/the-web3-debate?s=r) – _Packy McCormick_
+- [El debate de Web3](https://www.notboring.co/p/the-web3-debate) – _Packy McCormick_
diff --git a/public/content/translations/fa/community/events/index.md b/public/content/translations/fa/community/events/index.md
index 373618a54a3..e7f518ba37a 100644
--- a/public/content/translations/fa/community/events/index.md
+++ b/public/content/translations/fa/community/events/index.md
@@ -13,12 +13,14 @@ hideEditButton: true
این یک لیست غیرجامع است که توسط انجمن ما نگهداری می شود. از رویداد آتی اتریوم برای اضافه کردن به این لیست اطلاع دارید؟ [لطفاً آن را اضافه کنید](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)!
+
+
## گردهماییهای اتریوم {#meetups}
-رویدادی را نمیبینید که برای شما مفید باشد؟ شرکت در یک گردهمایی را امتحان کنید. گردهماییها رویدادهای کوچکتری هستند که توسط گروههایی از علاقهمندان به اتریوم برگزار میشوند - فرصتی برای افراد علاقهمند به اتریوم تا دور هم جمع شوند، درباره اتریوم صحبت کنند، و در مورد پیشرفتهای اخیر اطلاعات کسب کنند.
+رویدادی را نمیبینید که برای شما مفید باشد؟ شرکت در یک گردهمایی را امتحان کنید. گردهماییها رویدادهای کوچکتری هستند که گروههایی از علاقهمندان به اتریوم آنها را برگزار میکنند - فرصتی برای افراد علاقهمند به اتریوم تا دور هم جمع شوند، درباره اتریوم صحبت کنند، و درباره پیشرفتهای اخیر اطلاعات کسب کنند.
-علاقهمند به برگزاری گردهمایی خود هستید؟ [شبکهی BUIDL](https://consensys.net/developers/buidlnetwork/) را بررسی کنید، ابتکاری توسط ConsenSys برای کمک به حمایت از انجمنهای ملاقات اتریوم.
+علاقهمند به برگزاری گردهمایی خود هستید؟ [شبکه BUIDL](https://consensys.net/developers/buidlnetwork/)، ابتکاری توسط ConsenSys برای کمک به حمایت از انجمنهای ملاقات اتریوم، را بررسی کنید.
-این یک فهرست غیرجامع است که توسط انجمن ما ساخته شده است. میتوانید [گردهماییهای اتریوم بیشتری را در اینجا بیابید](https://www.meetup.com/topics/ethereum/). گروه ملاقات فعالی برای اضافه کردن به این فهرست میشناسید؟ [لطفاً آن را اضافه کنید](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json)!
+این فهرستی غیرجامع است که آن را انجمن ما ساخته است. میتوانید [گردهماییهای اتریوم بیشتری را در اینجا بیابید](https://www.meetup.com/topics/ethereum/). گروه ملاقات فعالی برای اضافه کردن به این فهرست میشناسید؟ [لطفاً آن را اضافه کنید](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json)!
diff --git a/public/content/translations/fa/community/get-involved/index.md b/public/content/translations/fa/community/get-involved/index.md
index d03ebcc33a7..38be972dc71 100644
--- a/public/content/translations/fa/community/get-involved/index.md
+++ b/public/content/translations/fa/community/get-involved/index.md
@@ -18,7 +18,7 @@ lang: fa
- [تماسهای Core Dev](https://www.youtube.com/@EthereumProtocol) را تماشا کنید و یا در آن شرکت کنید
- [فهرست نیازمندیهای برنامه پشتیبانی اکوسیستم](https://esp.ethereum.foundation/wishlist/) - ابزار، اسناد و مناطق زیرساختی که در آن برنامه حمایت از اکوسیستم اتوریوم فعالانه به دنبال کمک به برنامههای کمکی است
- [Web3Bridge](https://www.web3bridge.com/) - برای شناسایی، آموزش و حمایت از صدها توسعهدهنده و اعضای انجمن در سراسر آفریقا به جامعهی مشتاق web3 بپیوندید
-- به [Ethereum Cat Herders Discord](https://discord.io/EthCatHerders) بپیوندید
+- به [Ethereum Cat Herders Discord](https://discord.gg/Nz6rtfJ8Cu) بپیوندید
## محققان و دانشگاهیان {#researchers-and-academics}
@@ -32,7 +32,7 @@ lang: fa
- یاد بگیرید که چگونه یک [ویرایشگر EIP](https://eips.ethereum.org/EIPS/eip-5069) شوید
- حالا می توانید EIPها را مورد بازبینی قرار دهید! [PRهای موجود با تگ`e-review` را مشاهده کنید](https://github.com/ethereum/EIPs/pulls?q=is%3Apr+is%3Aopen+label%3Ae-review). بازخورد فنی را با کلیک بر `discussion-to` ثبت کنید.
- در [حاکمیت پیشنهادهای بهبود اتریوم](https://github.com/ethereum-cat-herders/EIPIP) مشارکت کنید
- - به [Ethereum Cat Herders Discord](https://discord.io/EthCatHerders) بپیوندید
+ - به [Ethereum Cat Herders Discord](https://discord.gg/Nz6rtfJ8Cu) بپیوندید
- [اطلاعات بیشتر درباره EIPها](/eips/)
- [Challenges.ethereum.org](https://challenges.ethereum.org/) - مجموعهای از جایزههای تحقیقاتی با ارزش، که در آن میتوانید تا >100,000 دلار آمریکا کسب کنید
- [Ethresear.ch](https://ethresear.ch) - انجمن اصلی اتریوم برای تحقیقات، و تأثیرگذارترین انجمن جهان برای اقتصاد رمزنگاری
diff --git a/public/content/translations/fa/community/grants/index.md b/public/content/translations/fa/community/grants/index.md
index 429b087b3bf..999089a393c 100644
--- a/public/content/translations/fa/community/grants/index.md
+++ b/public/content/translations/fa/community/grants/index.md
@@ -32,7 +32,7 @@ lang: fa
- [برنامهی Metamask](https://metamaskgrants.org/) - _[سازمان خودمختار غیرمتمرکز کمکهای مالی کارمندمحور MetaMask](https://metamask.io/)_
- [برنامه کمکهای مالی شبکه SKALE](https://skale.space/developers#grants) - _[اکوسیستم شبکه](https://skale.space/)SKALE_
- [The Graph](https://airtable.com/shrdfvnFvVch3IOVm) – _اکوسیستم [The Graph](https://thegraph.com/)_
-- [برنامه کمکهای مالی Uniswap](https://www.uniswapfoundation.org/apply-for-a-grant) - _[جامعه](https://uniswap.org/)Uniswap_
+- [برنامه کمکهای مالی Uniswap](https://www.uniswapfoundation.org/opportunities) - _[جامعه](https://uniswap.org/)Uniswap_
## کمک مالی درجهی دوم {#quadratic-funding}
diff --git a/public/content/translations/fa/contributing/adding-layer-2s/index.md b/public/content/translations/fa/contributing/adding-layer-2s/index.md
index 6dd2e94af0d..512976b473a 100644
--- a/public/content/translations/fa/contributing/adding-layer-2s/index.md
+++ b/public/content/translations/fa/contributing/adding-layer-2s/index.md
@@ -92,6 +92,6 @@ _ما راه حلهای مقیاس پذیر دیگری را که از اتر
اگر میخواهید یک لایه 2 را به ethereum.org اضافه نمائید، یک مسئله در وبسایت گیتهاب ایجاد کنید.
-
+
یک مسئله ایجاد کنید
diff --git a/public/content/translations/fa/contributing/content-resources/index.md b/public/content/translations/fa/contributing/content-resources/index.md
index 0788f58b182..b2fb6bf87a1 100644
--- a/public/content/translations/fa/contributing/content-resources/index.md
+++ b/public/content/translations/fa/contributing/content-resources/index.md
@@ -27,6 +27,6 @@ description: معیارهای ما برای لیست کردن منابع محت
اگر می خواهید یک منبع محتوا به ethereum.org اضافه کنید و معیارها را رعایت می کند، در GitHub یک مسئله ایجاد کنید.
-
+
یک مسئله ایجاد کنید
diff --git a/public/content/translations/fa/contributing/design/index.md b/public/content/translations/fa/contributing/design/index.md
index 34fc9131d43..623b1dfd7b2 100644
--- a/public/content/translations/fa/contributing/design/index.md
+++ b/public/content/translations/fa/contributing/design/index.md
@@ -6,7 +6,7 @@ lang: fa
# همکاری طراحی با ethereum.org {#design-contributions}
-طراحی، یک بخش حیاتی هر پروژه است، و با اختصاص دادن زمان و مهارتهای طراحیتان به ethereum.org میتوانید به بهتر شدن تجربه کاربری بازدیدکنندگان ما کمک کنید. مشارکت در یک پروژه منبع باز فرصتی را برای کسب تجربه مرتبط و توسعه مهارت های خود در یک محیط مشارکتی فراهم می کند. شما این شانس را خواهید داشت که با دیگر طراحان، توسعه دهندگان و اعضای جامعه کار کنید، که همگی دیدگاه ها و بینش های منحصر به فرد خود را خواهند داشت.
+طراحی جزء حیاتی هر پروژه است و با اختصاص زمان و مهارتهای طراحی خود به ethereum.org، میتوانید تجربه کاربری بازدیدکنندگان ما را بهبود ببخشید. مشارکت در یک پروژه منبع باز فرصتی را برای کسب تجربه مرتبط و توسعه مهارت های خود در یک محیط مشارکتی فراهم می کند. شما این شانس را خواهید داشت که با دیگر طراحان، توسعه دهندگان و اعضای جامعه کار کنید، که همگی دیدگاه ها و بینش های منحصر به فرد خود را خواهند داشت.
در نهایت، این یک راه عالی برای ایجاد یک نمونه کار متنوع و چشمگیر است که مهارت های طراحی شما را به نمایش می گذارد.
@@ -30,7 +30,7 @@ lang: fa
### مسائل مربوط به طراحی را در وب سایت بیابید و گزارش دهید {#report-design-issues}
-Ethereum.org وبسایتی است با ویژگیها و محتوای زیاد که سریع در حال رشد است. برخی از UIها به راحتی می توانند منسوخ شوند یا می توانند بهبود یابند. اگر با چنین موردی مواجه شدید، لطفا گزارش دهید تا توجه ما را به خود جلب کند.
+ethereum.org یک وبسایت در حال رشد سریع با ویژگیها و محتوای بسیار است. برخی از UIها به راحتی می توانند منسوخ شوند یا می توانند بهبود یابند. اگر با چنین موردی مواجه شدید، لطفا گزارش دهید تا توجه ما را به خود جلب کند.
1. وب سایت را مرور کنید و به طراحی آن توجه کنید.
2. در صورت مشاهده هر گونه مشکل بصری یا UX، اسکرین شات بگیرید و یادداشت کنید.
@@ -51,10 +51,10 @@ Ethereum.org وبسایتی است با ویژگیها و محتوای زیا
1. مشکلی را برای کار از [برد سیستم طراحی](https://github.com/ethereum/ethereum-org-website/labels/design%20system) در GitHub انتخاب کنید یا یک مورد جدید ایجاد کنید.
2. درخواست کنید موضوع انتخاب شده به شما اختصاص داده شود.
-3. طراحی قطعه درخواست شده در فیگما را آغاز کنید.
+3. طراحی مؤلفه درخواستشده را در فیگما شروع کنید.
4. پس از نیاز به بررسی یا راهنمایی، آن را با تیم طراحی در گیتهاب به اشتراک بگذارید.
5. تیم طراحی بررسی خواهد کرد.
-6. تیم طراحی، تغییرات را در فایل اصلی خواهد گنجاند و فایل را برای جامعه منتشر خواهد کرد.
+6. تیم طراحی تغییرات را در فایل اصلی میگنجاند و فایل را در جامعه منتشر میکند.
### مطالب مرتبط با طراحی را در وب سایت بنویسید {#write-design-articles}
@@ -64,7 +64,7 @@ Ethereum.org وبسایتی است با ویژگیها و محتوای زیا
2. به مخزن گیتهاب ما بروید و [مسئلهای را مطرح کنید](https://github.com/ethereum/ethereum-org-website/issues/new) که یک موضوع را پیشنهاد میدهد (فعلا محتوا را ننویسید).
3. منتظر تایید تیم طراحی باشید.
4. پس از تایید، محتوا را بنویسید.
-5. آن را در مسئله گیتهاب مربوطه ارائه کنید.
+5. آن را در نسخه مربوط به گیتهاب ارسال کنید.
### تصاویر جدید بکشید {#prepare-illustrations}
diff --git a/public/content/translations/fa/contributing/index.md b/public/content/translations/fa/contributing/index.md
index 2dd47a1bc41..0f4e2b6f963 100644
--- a/public/content/translations/fa/contributing/index.md
+++ b/public/content/translations/fa/contributing/index.md
@@ -19,13 +19,12 @@ Ethereum.org یک پروژه اجرا شده منبع باز با **بیش از
- [روی یک مسئله باز کار کنید](https://github.com/ethereum/ethereum-org-website/issues) - کاری که ما تشخیص داده ایم نیاز به انجام دارد
**طراحی**
-- [کمک به طراحی وب سایت](/contributing/design/) طراحان همه سطوح می توانند به بهبود وب سایت کمک کنند
+- [کمک به طراحی وبسایت](/contributing/design/) طراحان با هر سطحی میتوانند به بهبود وبسایت کمک کنند
**محتوا**
- [ایجاد/ویرایش محتوا](/contributing/#how-to-update-content) - صفحات جدیدی پیشنهاد دهید یا تغییراتی را در آنچه قبلاً در اینجا وجود دارد ایجاد کنید
- [افزودن منابع جامعه](/contributing/content-resources/) - یک مقاله یا منبع مفید را به صفحه مربوطه اضافه کنید
- [یک منبع طراحی پیشنهاد کنید](/contributing/design/adding-design-resources/) – منابع طراحی مفید را اضافه کنید، بهروزرسانی کنید و حذف کنید
-- [افزودن اصطلاح به واژه نامه](/contributing/adding-glossary-terms/) – به ما در ادامه گسترش [واژه نامه](/glossary/) اتریوم کمک کنید
- [آزمونها](/contributing/quizzes/) - بانکهای سوالات آزمون را برای صفحه مربوطه اضافه، بهروزرسانی و حذف کنید
**ایده برای ویژگیها**
@@ -68,7 +67,7 @@ Ethereum.org یک پروژه اجرا شده منبع باز با **بیش از
- [راهنمای سبک](/contributing/style-guide/) ما
- [آیین رفتاری](/community/code-of-conduct) ما
-
+
## نحوه تصمیم گیری در مورد سایت {#how-decisions-about-the-site-are-made}
@@ -90,11 +89,11 @@ Ethereum.org یک پروژه اجرا شده منبع باز با **بیش از
اگر مشارکت شما در ethereum.org ادغام شود، فرصتی برای مطالبه یک توکن ویژه در [Galxe](https://app.galxe.com/quest/ethereumorg) خواهید داشت. توکن OAT دلیلی بر این است که شما کمک کردید اکوسیستم کمی بهتر شود.
-[جزئیات بیشتر درباره OATها](https://help.galxe.com/en/articles/7067290-galxe-oats-reward-and-celebrate-achievements)
+[جزئیات بیشتر درباره OATها](https://help.galxe.com/en/articles/9645630-create-quest-rewards#h_1c5d63ba03)
### چگونه درخواست کنید
1. به [سرور دیسکورد](https://discord.gg/ethereum-org) ما بپیوندید.
-2. لینک مشارکت خود را در کانال `#🥇 | اثبات مشارکت` قرار دهید
+2. لینک مشارکت خود را در کانال `#🥇 | اثبات مشارکت` قرار دهید.
3. منتظر بمانید تا یکی از اعضای تیم ما لینک OAT را برای شما ارسال کند.
4. OAT خود را درخواست کنید!
diff --git a/public/content/translations/fa/contributing/translation-program/how-to-translate/index.md b/public/content/translations/fa/contributing/translation-program/how-to-translate/index.md
index 994adc6f47a..d6dc2b89955 100644
--- a/public/content/translations/fa/contributing/translation-program/how-to-translate/index.md
+++ b/public/content/translations/fa/contributing/translation-program/how-to-translate/index.md
@@ -18,7 +18,7 @@ description: راهنمای استفاده از Crowdin جهت ترجمه eth
شما باید به حساب کاربری خود در Crowdin وارد شوید و یا اگر از قبل حسابی ندارید، ثبتنام کنید. برای ثبت نام تنها چیزی که لازم است یک حساب ایمیل و رمز عبور است.
-
+
به پروژه ما بپیوندید
@@ -82,8 +82,8 @@ description: راهنمای استفاده از Crowdin جهت ترجمه eth
### در ارتباط باشید {#get-in-touch}
-سوالی دارید؟ یا می خواهید با تیم ما و سایر مترجمان همکاری کنید؟ لطفاً در کانال [سرور دیسکورد ethereum.org](/discord/) ما پست کنید
+سؤالی دارید؟ یا میخواهید با تیم ما و سایر مترجمان همکاری کنید؟ لطفاً در کانال [سرور دیسکورد ethereum.org](/discord/) ما پست کنید
-همچنین می توانید از طریق translations@ethereum.org با ما در تماس باشید
+همچنین میتوانید از طریق translations@ethereum.org با ما در تماس باشید
از مشارکت شما در برنامه ترجمه ethereum.org سپاسگزاریم!
diff --git a/public/content/translations/fa/contributing/translation-program/index.md b/public/content/translations/fa/contributing/translation-program/index.md
index f97ffa43681..1ad4974bff5 100644
--- a/public/content/translations/fa/contributing/translation-program/index.md
+++ b/public/content/translations/fa/contributing/translation-program/index.md
@@ -36,9 +36,9 @@ _به دیسکورد [ethereum.org Discord](/discord/) بپیوندید تا د
### پیشرفت ما تاکنون {#our-progress}
-- [بیش از **6,000 +** مترجم](/contributing/translation-program/contributors/)
-- **62** زبان در سایت موجود است
-- [ترجمه **3 میلیون** کلمه در سال 2023](/contributing/translation-program/acknowledgements/)
+- [**بیش از 6,900** مترجم](/contributing/translation-program/contributors/)
+- **68** زبان در سایت
+- [**2.89 میلیون** کلمه ترجمهشده در سال 2024](/contributing/translation-program/acknowledgements/)
diff --git a/public/content/translations/fa/contributing/translation-program/resources/index.md b/public/content/translations/fa/contributing/translation-program/resources/index.md
index fa7e39d5113..f2e3ed5745c 100644
--- a/public/content/translations/fa/contributing/translation-program/resources/index.md
+++ b/public/content/translations/fa/contributing/translation-program/resources/index.md
@@ -12,8 +12,8 @@ description: منابع مفید برای مترجمان ethereum.org
- [راهنمای سبک ترجمه](/contributing/translation-program/translators-guide/) _– دستورالعمل ها و نکاتی برای مترجمان ethereum.org_
- [سؤالات متداول ترجمه](/contributing/translation-program/faq/) _– پرسشها و پاسخهای متداول درباره برنامه ترجمه ethereum.org_
-- [راهنمای ویرایشگر آنلاین Crowdin](https://support.crowdin.com/online-editor/) _– یک راهنمای عمیق برای استفاده از ویرایشگر آنلاین Crowdin و برخی ویژگی های پیشرفته Crowdin_
-- [سطل های محتوا](/contributing/translation-program/content-buckets/)_ – کدام صفحات در هر سطل محتوای ethereum.org گنجانده شده است_
+- [راهنمای ویرایشگر آنلاین Crowdin](https://support.crowdin.com/online-editor/) _– راهنمای عمیق استفاده از ویرایشگر آنلاین Crowdin و برخی ویژگیهای پیشرفته Crowdin_
+- [سطلهای محتوا](/contributing/translation-program/content-buckets/)_ – کدام صفحات در هر سطل محتوای ethereum.org گنجانده شده است_
## ابزارها {#tools}
diff --git a/public/content/translations/fa/contributing/translation-program/translators-guide/index.md b/public/content/translations/fa/contributing/translation-program/translators-guide/index.md
index 730a2a34a0c..1c8384ba14e 100644
--- a/public/content/translations/fa/contributing/translation-program/translators-guide/index.md
+++ b/public/content/translations/fa/contributing/translation-program/translators-guide/index.md
@@ -116,7 +116,7 @@ Crowdin دارای یک ویژگی داخلی است که به مترجمان ه

-لینک ها همچنین در متن مبدأ به شکل برچسب ظاهر می شوند (یعنی <0> 0>). اگر ماوس را روی برچسب نگه دارید، ویرایشگر محتوای کامل آن را نشان می دهد - گاهی اوقات این برچسب ها نشان دهنده لینکها هستند.
+لینکها همچنین در متن مبدأ به شکل برچسب ظاهر میشوند (یعنی \<0> \0>). اگر ماوس را روی برچسب نگه دارید، ویرایشگر محتوای کامل آن را نشان می دهد - گاهی اوقات این برچسب ها نشان دهنده لینکها هستند.
بسیار مهم است که لینک ها را از منبع کپی کنید و ترتیب آنها را تغییر ندهید.
@@ -154,7 +154,7 @@ Crowdin دارای یک ویژگی داخلی است که به مترجمان ه
متن منبع همچنین حاوی برچسب های کوتاه شده است که فقط حاوی اعداد هستند، به این معنی که عملکرد آنها بلافاصله مشخص نمی شود. میتوانید ماوس را روی این برچسبها نگه دارید تا ببینید دقیقاً کدام عملکرد را انجام میدهند.
-در مثال زیر، میتوانید آیتم های نگه داشتن ماوس را ببینید <0> برچسب نشان می دهد که نشان دهنده `` است و حاوی یک قطعه کد است، بنابراین محتوای داخل این برچسب ها نباید ترجمه شود.
+در مثال زیر، میتوانید آیتمهای نگه داشتن ماوس را ببینید \<0> برچسب نشان می دهد که نشان دهنده `` است و حاوی یک قطعه کد است، بنابراین محتوای داخل این برچسب ها نباید ترجمه شود.

diff --git a/public/content/translations/fa/dao/index.md b/public/content/translations/fa/dao/index.md
index b164a662677..ff7eb97378a 100644
--- a/public/content/translations/fa/dao/index.md
+++ b/public/content/translations/fa/dao/index.md
@@ -93,7 +93,7 @@ DAOها به ما این امکان را می دهند که بدون اعتما
### یک نمونهٔ معروف {#law-example}
-[CityDAO](https://citydao.io) – CityDAO از قانون DAO وایومینگ برای خرید 40 هکتار زمین در نزدیکی پارک ملی یلوستون استفاده کرد.
+[CityDAO](https://citizen.citydao.io/) – CityDAO از قانون DAO وایومینگ برای خرید 40 هکتار زمین در نزدیکی پارک ملی یلوستون استفاده کرد.
## عضویت در DAO {#dao-membership}
diff --git a/public/content/translations/fa/defi/index.md b/public/content/translations/fa/defi/index.md
index d3e480e6b52..f4f6f9cfc3c 100644
--- a/public/content/translations/fa/defi/index.md
+++ b/public/content/translations/fa/defi/index.md
@@ -47,7 +47,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
| بازارها همواره باز هستند. | بازارها بسته میشوند چرا که کارمندان نیاز به استراحت دارند. |
| بر پایهی شفافیت ساختهشدهاست – هر کس میتواند اطلاعات محصول را نگاه کند و نحوهی کار سیستم را بررسی کند. | نهادهای مالی همانند کتابهای بسته هستند: نمیتوانید از آنها درخواست کنید که تاریخچهی وامها، تاریخچهی داراییهای مدیریتشدهی آنها و غیره را ببینید. |
-
+
مشاهدهی برنامههای DeFi
@@ -65,7 +65,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
اگر تازه پا به جهان اتریوم گذاشتهاید، نگاهی به پیشنهادهای ما برای برنامههای DeFi جهت استفاده بیاندازید.
-
+
مشاهدهی برنامههای DeFi
@@ -92,7 +92,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
اتریوم به عنوان یک زنجیرهی بلوکی، برای ارسال تراکنشها به شکلی ایمن و در تمام جهان ساخته شده است. همانند بیتکوین، فرستادن پول به تمام نقاط جهان از طریق اتریوم بهسادگی فرستادن یک ایمیل انجام میشود. تنها کافی است که [نام ENS متعلق](/glossary/#ens) به دریافتکننده (مثل bob.eth) یا آدرس حساب او را در کیفپول خود وارد کنید و پول شما ظرف چند دقیقه (بهطور معمول) به دست او خواهد رسید. برای دریافت و پرداخت پول شما نیاز به یک [کیف پول](/wallets/) دارید.
-
+
مشاهدهی برنامههای غیرمتمرکز پرداخت
@@ -123,7 +123,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
- همتا به همتا، به این معنی که قرضگیرنده بهطور مستقیم از یک قرضدهندهی مشخص قرض میگیرد.
- بر پایهی استخر که در آن قرضدهندگان وجوه (نقدینگی) را به یک استخر ارائه میدهند و قرضگیرندگان میتوانند از آن قرض بگیرند.
-
+
مشاهدهی برنامههای غیرمتمرکز برای قرض گرفتن
@@ -168,7 +168,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
برای این که بتوانید مثال پیشگفته را در نظام مالی سنتی دنیا انجام دهید، به مقدار بسیار زیادی پول نیاز دارید. این راهبردهای پولسازی تنها در دسترس افرادی هستند که سرمایهی بسیار زیادی دارند. وامهای لحظهای نمونهای از آیندهای هستند که داشتن پول از ملزومات پول درآوردن نخواهد بود.
-
+
اطلاعات بیشتر دربارهی وامهای لحظهای
@@ -185,7 +185,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
- aDai شما بر اساس نرخ بهره زیاد میشود و میتوانید شاهد افزایش میزان موجودی خود در کیف پولتان باشید. بسته به [نرخ درصدی سالیانه](/glossary/#apr)، موجودی کیفپول شما پس از چند روز یا حتی چند ساعت چیزی شبیه به 100.1234 خواهد بود!
- شما میتوانید بهاندازهی aDaiهای موجودی خود در هر زمانی از حساب خود Dai برداشت کنید.
-
+
مشاهدهی برنامههای غیرمتمرکز قرضدهی
@@ -213,7 +213,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
برای مثال، اگر بخواهید از بختآزمایی بدون باخت PoolTogether استفاده کنید (بالاتر توضیح دادهایم)، به توکنی مثل Dai یا USDC نیاز خواهید داشت. این صرافیهای غیرمتمرکز به شما اجازه میدهند که اتر (ETH) خود را به این توکنها تبدیل کنید و وقتی کارتان تمام شد به حالت اول تبدیل کنید.
-
+
مشاهدهی صرافیهای توکنها
@@ -225,7 +225,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
وقتی از صرافیهای متمرکز استفاده میکنید مجبور هستید که داراییتان را پیش از معامله به آنها منتقل کنید و برای نگهداری داراییتان به آنها اعتماد کنید. داراییهای شما وقتی به صرافیهای متمرکز منتقل شدهاند در خطر هستند، چون صرافیهای متمرکز اهداف جذابی برای هکرها هستند.
-
+
مشاهدهی برنامههای غیرمتمرکز معامله
@@ -237,7 +237,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
یک مثال خوب برای این موضوع [صندوق مبتنی بر شاخص DeFi Pulse (DPI)](https://defipulse.com/blog/defi-pulse-index/) است. این صندوق بهطور خودکار در موجودی خود تغییر ایجاد میکند تا مطمئن شود که سبد داراییهای شما همواره شامل بهترین توکنهای DeFi از نظر ارزش بازار است. شما هیچ گاه نیاز به مدیریت هیچ یک از جزییات ندارید و هر زمان بخواهید میتوانید سرمایهی خود را خارج کنید.
-
+
مشاهدهی برنامههای غیرمتمرکز سرمایهگذاری
@@ -251,7 +251,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
- برای همه شفاف است و در نتیجه سرمایهگذاران میتوانند اثبات کنند که چه قدر سرمایه افزودهاند. حتی میتوانید بررسی کنید که این سرمایهها چگونه و در چه جهتی استفاده میشوند.
- سرمایهگذاران میتوانند بازگشت سرمایهی خودکار تعیین کنند؛ مثلاً برای زمانی که تا یک مهلت زمانی مشخص، حداقل مبلغ به دست نیامده است.
-
+
مشاهدهی برنامههای غیرمتمرکز تأمین مالی جمعی
@@ -280,7 +280,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
محصولات اتریوم، همچون هر نرمافزار دیگر، ممکن است دچار باگ یا مشکل شوند. بنابراین اکنون محصول بیمهای بسیار زیادی در این فضا روی محافظت از کاربرانشان در برابر از دست دادن سرمایه تمرکز دارند. با این حال، پروژههایی وجود دارند که برای پوشش تمام خطرات مربوط به زندگی اجرا میشوند. یک مثال خوب، پوشش Etherisc's Crop است که هدفش [ محافظت از مالکان مزارع کوچک در کنیا در مقابل خشکی و سیل](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc) است. بیمهی غیرمتمرکز میتواند بهنسبت بیمهی سنتی، پوشش ارزانتری به کشاورزان ارائه دهد.
-
+
مشاهدهی برنامههای غیرمتمرکز بیمهای
@@ -290,7 +290,7 @@ DeFi یک واژهی کلی برای محصولات و خدمات مالی د
با در نظر گرفتن همهی این مسائل، شما به راهی نیاز دارید که بتوانید بر همهی سرمایهگذاریهایتان، وامهایتان و معاملاتتان نظارت داشته باشید. محصولاتی وجود دارند که به شما امکان میدهند بتوانید از یکجا بر همهی فعالیتهای DeFiتان نظارت کنید. این زیبایی مهندسی باز DeFi است. تیمها میتوانند رابطهای کاربریای بسازند که نهتنها بتوانید موجودی حسابهایتان را از طریق آنها ببینید، بلکه بتوانید از ویژگیهای آنها نیز بهره ببرید. شاید وقتی در دنیای DeFi بیشتر کاوش کردید، این ویژگی را کارگشا بیابید.
-
+
مشاهدهی برنامههای غیرمتمرکز سبدگردانی
@@ -322,7 +322,7 @@ DeFi از ارزهای رمزنگاری شده و قرارداد هوشمند ا
1. زنجیرهی بلوکی – اتریوم شامل تاریخچهی تراکنشها و وضعیت حسابها است.
2. داراییها – [اتر (ETH)](/eth/) و دیگر توکنها (ارزها).
3. پروتکلها – [قراردادهای هوشمندی](/glossary/#smart-contract) که عملکرد را امکانپذیر میکنند؛ مثلاً خدمتی که امکان قرض دادن داراییها را به صورت غیرمتمرکز فراهم میکند.
-4. [برنامههای کاربردی](/dapps/) – محصولاتی که برای مدیریت و دسترسی به پروتکلها استفاده میکنیم.
+4. [برنامههای کاربردی](/apps/) – محصولاتی که برای مدیریت و دسترسی به پروتکلها استفاده میکنیم.
توجه: بیشتر دیفای از [استاندارد ERC-20](/glossary/#erc-20) استفاده میکنند. اپلیکیشنها در دیفای از یک ارز همسان برای اتر به نام رپد اتر (WETH) استفاده میکنند. [درباره رپد اتر بیشتر بدانید](/wrapped-eth).
diff --git a/public/content/translations/fa/desci/index.md b/public/content/translations/fa/desci/index.md
index 6050be4c140..ab6b43db454 100644
--- a/public/content/translations/fa/desci/index.md
+++ b/public/content/translations/fa/desci/index.md
@@ -96,7 +96,7 @@ Web3 این پتانسیل را دارد که با آزمایش مدلهای
- [VitaDAO: دریافت بودجه از طریق توافقنامه های تحقیقاتی حمایت شده برای تحقیقات طول عمر](https://www.vitadao.com/)
- [ResearchHub: یک نتیجه علمی را ارسال کنید و با همتایان خود گفتگو کنید](https://www.researchhub.com/)
- [LabDAO: یک پروتئین را در سیلیکو تا کنید](https://alphafodl.vercel.app/)
-- [dClimate API: دادههای آب و هوایی را که توسط یک جامعه غیرمتمرکز جمعآوری شده است، جستجو کنید](https://api.dclimate.net/)
+- [dClimate API: دادههای آب و هوایی را که توسط یک جامعه غیرمتمرکز جمعآوری شده است، جستجو کنید](https://www.dclimate.net/)
- [DeSci Foundation: سازنده ابزار انتشارات DeSci](https://descifoundation.org/)
- [DeSci.World: فروشگاه تک مرحله ای برای مشاهده کاربران، درگیر شدن با علم غیرمتمرکز](https://desci.world)
- [OceanDAO: DAO بر تأمین مالی علوم مرتبط با داده نظارت می کرد](https://oceanprotocol.com/)
@@ -118,7 +118,7 @@ Web3 این پتانسیل را دارد که با آزمایش مدلهای
- [راهنمای بیوتکنولوژی غیرمتمرکز توسط Jocelynn Pearl برای آینده a16z](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [مورد برای DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [راهنمای DeSci](https://future.com/what-is-decentralized-science-aka-desci/)
-- [منابع علمی غیرمتمرکز](https://www.vincentweisser.com/decentralized-science)
+- [منابع علمی غیرمتمرکز](https://www.vincentweisser.com/desci)
- [Molecule's Biopharma IP-NFTs - توضیحات فنی](https://www.molecule.xyz/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [ساختن سیستم های بی اعتماد علم توسط جان استار](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Paul Kohlhaas - DeSci: The Future of Science Decentralized (پادکست)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a)
diff --git a/public/content/translations/fa/developers/docs/dapps/index.md b/public/content/translations/fa/developers/docs/dapps/index.md
index 7cde444a77a..1acb4ef8c76 100644
--- a/public/content/translations/fa/developers/docs/dapps/index.md
+++ b/public/content/translations/fa/developers/docs/dapps/index.md
@@ -82,7 +82,7 @@ lang: fa
## بیشتر بخوانید {#further-reading}
-- [کاوش در برنامههای غیرمتمرکز](/dapps)
+- [کاوش در برنامههای غیرمتمرکز](/apps)
- [معماری یک اپلیکیشن Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _پریتی کسیردی_
- [راهنمای 2021 برای اپلیکیشنهای غیرمتمرکز](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) - _LimeChain_
- [اپلیکیشنهای غیرمتمرکز چه هستند؟](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) - _Gemini_
diff --git a/public/content/translations/fa/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/translations/fa/developers/docs/design-and-ux/dex-design-best-practice/index.md
index 7efb9db6d65..94a942ce18e 100644
--- a/public/content/translations/fa/developers/docs/design-and-ux/dex-design-best-practice/index.md
+++ b/public/content/translations/fa/developers/docs/design-and-ux/dex-design-best-practice/index.md
@@ -180,7 +180,7 @@ DEX ها معمولاً جزئیات اضافی را در یک ردیف بالا
در نهایت، نکات مثبت و منفی برای هر دو گزینه وجود دارد، اما جالب است که به نظر می رسد چگونه روند به سمت توکن سمت راست است.
-# رفتار دکمه {#button-behavior}
+## رفتار دکمه {#button-behavior}
دکمه جداگانه ای برای تأیید نداشته باشید. همچنین یک کلیک جداگانه برای تأیید نداشته باشید. کاربر میخواهد Swap را انجام دهد، بنابراین فقط روی دکمه بگویید «swap» و تأیید را به عنوان اولین مرحله آغاز کنید. یک مودال میتواند پیشرفت را با یک استپر یا یک اعلان ساده "tx 1 of 2 - تایید" نشان دهد.
@@ -188,7 +188,7 @@ DEX ها معمولاً جزئیات اضافی را در یک ردیف بالا

-## دکمه به عنوان راهنمای متنی {#button-as-contextual-help}
+### دکمه به عنوان راهنمای متنی {#button-as-contextual-help}
این دکمه می تواند به عنوان یک هشدار، وظیفه ای مضاعف را انجام دهد!
@@ -206,7 +206,7 @@ DEX ها معمولاً جزئیات اضافی را در یک ردیف بالا

-## مال خودتان را با این فایل فیگما بسازید {#build-your-own-with-this-figma-file}
+### مال خودتان را با این فایل فیگما بسازید {#build-your-own-with-this-figma-file}
به لطف کار سخت پروتکل های متعدد، طراحی DEX بسیار بهبود یافته است. ما می دانیم که کاربر به چه اطلاعاتی نیاز دارد، چگونه باید آن را نشان دهیم و چگونه جریان را تا حد امکان روان کنیم.
امیدواریم این مقاله یک نمای کلی از اصول UX ارائه دهد.
diff --git a/public/content/translations/fa/developers/docs/design-and-ux/index.md b/public/content/translations/fa/developers/docs/design-and-ux/index.md
index d5d609a3ded..ea5a8effb90 100644
--- a/public/content/translations/fa/developers/docs/design-and-ux/index.md
+++ b/public/content/translations/fa/developers/docs/design-and-ux/index.md
@@ -23,20 +23,20 @@ lang: fa
| حوزه تمرکز | نام |
|:------------------------------------------------------ |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| ورود به رمزنگاری | [CRADL: UX رمز از](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
-| ورود به رمزنگاری | [CRADL: ورود به رمزارز](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
-| ورود به رمزنگاری | [بیت کوین در گزارش UX](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
-| ورود به رمزنگاری | [ConSensys: حالت درک Web3 درباره دنیا 2023](https://consensys.io/insight-report/web3-and-crypto-global-survey-2023) |
-| ورود به رمزنگاری | [NEAR: شتاب دادن به تجربه به سوی پذیرش](https://drive.google.com/file/d/1VuaQP4QSaQxR5ddQKTMGI0b0rWdP7uGn/view) |
-| سهام گذاری | [سهام گذاری: گرایش های کلیدی، و پیشبینیها - سهام گذار اتر](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
-| سهام گذاری | [سهام گذاری چندبرنامه ای](https://github.com/threshold-network/UX-User-Research/blob/main/Multi-App%20Staking%20(MAS)/iterative-user-study/MAS%20Iterative%20User%20Study.pdf) |
-| DAO | [به روز رسانی تحقیقات DAO در 2022: سازندگان DAO چه چیز لازم دارند؟](https://blog.aragon.org/2022-dao-research-update/) |
-| DeFi | [حالت Defi 2024](https://stateofdefi.org/) (نظرسنجی در حال انجام) |
-| DeFi | [استخرهای پوشش](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
-| DeFi | [ConSensys: گزارش تحقیقات کاربران DeFi در 2022](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
-| متاورس | [Metaverse: گزارش تحقیقات کاربر](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
-| متاورس | [رفتن در سفری: تحقیق درباره کاربران در Metaverse](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube) (ویدیو، 27 دقیقه) |
-| آمار Ethereum.org UX | [داشبورد نظرسنجی قابلیت استفاده و رضایت کاربران - Ethereum.org](https://lookerstudio.google.com/reporting/0a189a7c-a890-40db-a5c6-009db52c81c9) |
+| ورود به رمزنگاری | [CRADL: UX رمز از](https://docs.google.com/presentation/d/1s2OPSH5sMJzxRYaJSSRTe8W2iIoZx0PseIV-WeZWD1s/edit?usp=sharing) |
+| ورود به رمزنگاری | [CRADL: ورود به رمزارز](https://docs.google.com/presentation/d/1R9nFuzA-R6SxaGCKhoMbE4Vxe0JxQSTiHXind3LVq_w/edit?usp=sharing) |
+| ورود به رمزنگاری | [بیت کوین در گزارش UX](https://github.com/patestevao/BitcoinUX-report/blob/master/report.md) |
+| ورود به رمزنگاری | [ConSensys: حالت درک Web3 درباره دنیا 2023](https://consensys.io/insight-report/web3-and-crypto-global-survey-2023) |
+| ورود به رمزنگاری | [NEAR: شتاب دادن به تجربه به سوی پذیرش](https://drive.google.com/file/d/1VuaQP4QSaQxR5ddQKTMGI0b0rWdP7uGn/view) |
+| ورود به رمزنگاری | [سهام گذاری: گرایش های کلیدی، و پیشبینیها - سهام گذار اتر](https://lookerstudio.google.com/u/0/reporting/cafcee00-e1af-4148-bae8-442a88ac75fa/page/p_ja2srdhh2c?s=hmbTWDh9hJo) |
+| ورود به رمزنگاری | [سهام گذاری چندبرنامه ای](https://github.com/threshold-network/UX-User-Research/blob/main/Multi-App%20Staking%20(MAS)/iterative-user-study/MAS%20Iterative%20User%20Study.pdf) |
+| ورود به رمزنگاری | [به روز رسانی تحقیقات DAO در 2022: سازندگان DAO چه چیز لازم دارند؟](https://blog.aragon.org/2022-dao-research-update/) |
+| ورود به رمزنگاری | [حالت Defi 2024](https://stateofdefi.org/) (نظرسنجی در حال انجام) |
+| ورود به رمزنگاری | [استخرهای پوشش](https://github.com/threshold-network/UX-User-Research/tree/main/Keep%20Coverage%20Pool) |
+| ورود به رمزنگاری | [ConSensys: گزارش تحقیقات کاربران DeFi در 2022](https://cdn2.hubspot.net/hubfs/4795067/ConsenSys%20Codefi-Defi%20User%20ResearchReport.pdf) |
+| متاورس | [Metaverse: گزارش تحقیقات کاربر](https://www.politico.com/f/?id=00000187-7685-d820-a7e7-7e85d1420000) |
+| متاورس | [رفتن در سفری: تحقیق درباره کاربران در Metaverse](https://archive.devcon.org/archive/watch/6/going-on-safari-researching-users-in-the-metaverse/?tab=YouTube) (ویدیو، 27 دقیقه) |
+| آمار Ethereum.org UX | [داشبورد نظرسنجی قابلیت استفاده و رضایت کاربران - Ethereum.org](https://lookerstudio.google.com/reporting/0a189a7c-a890-40db-a5c6-009db52c81c9) |
## طراحی برای web3 {#design-for-web3}
diff --git a/public/content/translations/fa/developers/docs/mev/index.md b/public/content/translations/fa/developers/docs/mev/index.md
index 39d2f7a5180..07085379daf 100644
--- a/public/content/translations/fa/developers/docs/mev/index.md
+++ b/public/content/translations/fa/developers/docs/mev/index.md
@@ -12,7 +12,7 @@ lang: fa
## پیشنیازها {#prerequisites}
-مطمئن شوید که با مفاهیم زیر آشنا هستید.[تراکنشها](/developers/docs/transactions/)، [بلاکها](/developers/docs/blocks/)، [اثبات سهام](/developers/docs/consensus-mechanisms/pos) و [گاز](/developers/docs/gas/). آشنایی با [اپلیکیشنهای غیرمتمرکز](/dapps/) و [امور مالی غیرمتمرکز](/defi/) نیز میتواند مفید باشد.
+مطمئن شوید که با مفاهیم زیر آشنا هستید.[تراکنشها](/developers/docs/transactions/)، [بلاکها](/developers/docs/blocks/)، [اثبات سهام](/developers/docs/consensus-mechanisms/pos) و [گاز](/developers/docs/gas/). آشنایی با [اپلیکیشنهای غیرمتمرکز](/apps/) و [امور مالی غیرمتمرکز](/defi/) نیز میتواند مفید باشد.
## استخراج حداکثر ارزش قابل استخراج {#mev-extraction}
diff --git a/public/content/translations/fa/developers/docs/networking-layer/portal-network/index.md b/public/content/translations/fa/developers/docs/networking-layer/portal-network/index.md
index aad0835e42a..caa94abb879 100644
--- a/public/content/translations/fa/developers/docs/networking-layer/portal-network/index.md
+++ b/public/content/translations/fa/developers/docs/networking-layer/portal-network/index.md
@@ -55,7 +55,7 @@ JSON-RPC API یک انتخاب ایدهآل برای درخواست داده
- کاهش وابستگی به ارائه دهندگان متمرکز
- کاهش استفاده از پهنای باند اینترنت
- همگام سازی حداقل یا صفر
-- قابل دسترسی برای دستگاه های دارای محدودیت منابع (<1 گیگابایت رم، <100 مگابایت فضای دیسک، 1 CPU)
+- قابل دسترسی برای دستگاه های دارای محدودیت منابع (\<1 گیگابایت رم، \<100 مگابایت فضای دیسک، 1 CPU)
نمودار زیر عملکردهای کاربرهای موجود را نشان میدهد که میتواند توسط شبکه پورتال ارائه شود و کاربران را قادر میسازد تا به این عملکردها در دستگاههای با منابع بسیار کم دسترسی داشته باشند.
diff --git a/public/content/translations/fa/developers/docs/networks/index.md b/public/content/translations/fa/developers/docs/networks/index.md
index 5abbe20c375..53befdb0ed8 100644
--- a/public/content/translations/fa/developers/docs/networks/index.md
+++ b/public/content/translations/fa/developers/docs/networks/index.md
@@ -34,7 +34,7 @@ lang: fa
#### از کدام شبکه تست باید استفاده کنم؟
-دو شبکه تست عمومی که کاربران توسعهدهنده در حال حاضر نگهداری میکنند Goerli و Sepolia هستند. Sepolia یک شبکه برای قرارداد و اپلیکیشن است که توسعهدهندگان برنامه های خود را روی آن آزمایش می کنند. شبکه Goerli به توسعهدهندگان پروتکل اجازه می دهد ارتقا شبکه را آزمایش کنند، و به سهام گذاران اجازه می دهد تا اعتبارسنج های در حال اجرا را تست کنند.
+دو شبکه تست عمومی که کاربران توسعهدهنده در حال حاضر نگهداری میکنند Sepolia و Hoodi هستند. Sepolia یک شبکه برای قرارداد و اپلیکیشن است که توسعهدهندگان برنامه های خود را روی آن آزمایش می کنند. شبکه Hoodi به توسعهدهندگان پروتکل اجازه می دهد ارتقا شبکه را آزمایش کنند، و به سهام گذاران اجازه می دهد تا اعتبارسنج های در حال اجرا را تست کنند.
#### Sepolia {#sepolia}
@@ -60,14 +60,12 @@ lang: fa
- [فاست کیف پول Coinbase | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet)
- [فاست Alchemy Sepolia](https://sepoliafaucet.com/)
- [فاست Infura Sepolia](https://www.infura.io/faucet)
-- [فاست Chainstack Sepolia](https://faucet.chainstack.com/sepolia-faucet)
+- [فاست Chainstack Sepolia](https://faucet.chainstack.com/sepolia-testnet-faucet)
- [فاست اتریوم اکوسیستم](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia)
-#### Goerli_(پشتیبانی طولانی مدت)_ {#goerli}
+#### Hoodi_(پشتیبانی طولانی مدت)_ {#hoodi}
-_توجه:[شبکه تست Goerli منسوخ شده است](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) و در 2023 با [Holesovice](https://github.com/eth-clients/holesovice) جایگزین خواهد شد. لطفاً انتقال اپلیکیشنهای خود را به Sepolia در نظر بگیرید._
-
-Goerli یک شبکه تست برای آزمایش اعتبارسنجی و سهام گذاری است. شبکه Goerli برای کاربرانی که می خواهند اعتبارسنجی یک شبکه تست را اجرا کنند، باز است. سهام گذارانی که می خواهند آپدیت های پروتکل را قبل از پیادهسازی بر روی شبکه اصلی آزمایش کنند، پس باید از Goerli استفاده کنند.
+Hoodi یک شبکه تست برای آزمایش اعتبارسنجی و سهام گذاری است. شبکه Hoodi برای کاربرانی که می خواهند اعتبارسنجی یک شبکه تست را اجرا کنند، باز است. سهام گذارانی که می خواهند آپدیت های پروتکل را قبل از پیادهسازی بر روی شبکه اصلی آزمایش کنند، پس باید از Hoodi استفاده کنند.
- مجموعه اعتبارسنج باز، سهام گذاران می توانند ارتقا شبکه را تست کنند
- وضعیت بزرگ داده ای، مفید برای تست تعاملات قرارداد هوشمند پیچیده
@@ -75,52 +73,53 @@ Goerli یک شبکه تست برای آزمایش اعتبارسنجی و س
##### منابع
-- [وبسایت](https://goerli.net/)
-- [گیتهاب](https://github.com/eth-clients/goerli)
-- [Etherscan](https://goerli.etherscan.io)
-- [Blockscout](https://eth-goerli.blockscout.com/)
+- [وبسایت](https://hoodi.net/)
+- [گیتهاب](https://github.com/eth-clients/hoodi)
+- [Etherscan](https://hoodi.etherscan.io)
+- [Blockscout](https://eth-hoodi.blockscout.com/)
##### فاست ها
-- [فاست QuickNode Goerli](https://faucet.quicknode.com/drip)
+- [فاست QuickNode Hoodi](https://faucet.quicknode.com/drip)
- [Grabteeth](https://grabteeth.xyz/)
-- [فاست PoW](https://goerli-faucet.pk910.de/)
+- [فاست PoW](https://hoodi-faucet.pk910.de/)
- [فاست Paradigm](https://faucet.paradigm.xyz/)
-- [فاست Alchemy Goerli](https://goerlifaucet.com/)
-- [فاست All That Node Goerli](https://www.allthatnode.com/faucet/ethereum.dsrv)
-- [فاست کیف پول Coinbase | Sepolia](https://coinbase.com/faucets/ethereum-goerli-faucet)
-- [فاست Chainstack Sepolia](https://faucet.chainstack.com/goerli-faucet)
+- [فاست Alchemy Hoodi](https://hoodifaucet.com/)
+- [فاست All That Node Hoodi](https://www.allthatnode.com/faucet/ethereum.dsrv)
+- [فاست کیف پول Coinbase | Sepolia](https://coinbase.com/faucets/ethereum-hoodi-faucet)
+- [فاست Chainstack Sepolia](https://faucet.chainstack.com/hoodi-faucet)
-برای راهاندازی اعتبارسنج بر روی شبکه تست گورلی (Goerli)، از [سکوی پرتاپ"اعتبار سنج ارزان گورلی"](https://holesky.launchpad.ethstaker.cc/en/) که توسط جامعه Ethstaker ارائه میشود استفاده کنید.
+برای راهاندازی اعتبارسنج بر روی شبکه تست Hoodi، از [سکوی پرتاپ"اعتبار سنج ارزان Hoodi"](https://holesky.launchpad.ethstaker.cc/en/) که توسط جامعه Ethstaker ارائه میشود استفاده کنید.
### شبکههای تست لایه 2 {#layer-2-testnets}
[لایه 2 (L2)](/layer-2/) یک اصطلاح جمعی برای توصیف مجموعه خاصی از راهحلهای مقیاسپذیری اتریوم است. لایه 2 یک بلاکچین جداگانه است که اتریوم را گسترش میدهد و تضمینهای امنیتی اتریوم را به ارث میبرد. شبکههای تست لایه 2 معمولاً محکم به شبکههای تست عمومی اتریوم متصل میشوند.
-#### شبکه تست Arbitrum Goerli {#arbitrum-goerli}
+#### Arbitrum Sepolia {#arbitrum-sepolia}
یک شبکه تست برای [Arbitrum](https://arbitrum.io/).
##### فاست ها
-- [فاست Chainlink](https://faucets.chain.link/)
+- [فاست Chainlink](https://faucets.chain.link/arbitrum-sepolia)
+- [فاست Alchemy](https://www.alchemy.com/faucets/arbitrum-sepolia)
-#### Optimistic Goerli {#optimistic-goerli}
+#### Optimistic Sepolia {#optimistic-sepolia}
یک شبکه تست برای [Optimism](https://www.optimism.io/).
##### فاست ها
-- [فاست Paradigm](https://faucet.paradigm.xyz/)
-- [فاست کیف پول Coinbase | Sepolia](https://coinbase.com/faucets/optimism-goerli-faucet)
+- [فاست Chainlink](https://faucets.chain.link/optimism-sepolia)
+- [فاست Alchemy](https://www.alchemy.com/faucets/optimism-sepolia)
-#### Starknet Goerli {#starknet-goerli}
+#### Starknet Sepolia {#starknet-sepolia}
یک شبکه تست برای [Starknet](https://www.starknet.io).
##### فاست ها
-- [فاست Starknet](https://faucet.goerli.starknet.io)
+- [فاست Alchemy](https://www.alchemy.com/faucets/starknet-sepolia)
## شبکههای خصوصی {#private-networks}
diff --git a/public/content/translations/fa/developers/docs/nodes-and-clients/archive-nodes/index.md b/public/content/translations/fa/developers/docs/nodes-and-clients/archive-nodes/index.md
index eecb1201c1a..98adcdfd625 100644
--- a/public/content/translations/fa/developers/docs/nodes-and-clients/archive-nodes/index.md
+++ b/public/content/translations/fa/developers/docs/nodes-and-clients/archive-nodes/index.md
@@ -65,7 +65,7 @@ sidebarDepth: 2
همیشه مطمئن شوید که الزامات سخت افزاری برای یک حالت معین در اسناد کاربر را تایید میکنید. بزرگترین نیاز برای گرههای آرشیو فضای دیسک است. این فضا بسته به کاربر، میتواند از 3 ترابایت تا 12 ترابایت متفاوت باشد. حتی اگر HDD راهحل بهتری برای حجم زیادی از داده به نظر رسد، برای همگامسازی و به روزرسانی پیوستهاش با زنجیرۀ شبکه، به درایوهای SSD نیاز خواهد داشت. درایوهای [SATA](https://www.cleverfiles.com/help/sata-hard-drive.html) به اندازۀ کافی خوب هستند ولی باید کیفیت قابل اعتماد حداقل در حد [TLC](https://blog.synology.com/tlc-vs-qlc-ssds-what-are-the-differences) داشته باشند. دیسکها را میتوان بر روی کامپیوتر یا یک سرور با اسلات کافی نصب کرد. چنین دستگاههایی برای اجرای گره با زمان کاریِ بالا ایده آل و مناسب هستند. اجرای آن بر روی لپ تاپ نیز امکانپذیر است ولی قابل حمل بودنش هزینۀ اضافی به همراه خواهد داشت.
-تمامی دادهها باید در یک حجم قرار گیرند بنابراین دیسکها باید به عنوان مثال توسط [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) یا [LVM](https://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/ch-lvm.html) به هم متصل شوند. همچنین ممکن است استفاده از سیستم فایل [ZFS](https://en.wikipedia.org/wiki/ZFS) از آنجا که از ویژگی Copy-on-write پشتیبانی میکند، ارزشمند باشد، در واقع این ویژگی اطمینان حاصل میکند که دادهها به درستی بر روی دیسک و بدون هیچ گونه خطای سطح پایین نوشته شده باشند.
+تمامی دادهها باید در یک حجم قرار گیرند بنابراین دیسکها باید به عنوان مثال توسط [RAID0](https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0) یا LVM به هم متصل شوند. همچنین ممکن است استفاده از سیستم فایل [ZFS](https://en.wikipedia.org/wiki/ZFS) از آنجا که از ویژگی Copy-on-write پشتیبانی میکند، ارزشمند باشد، در واقع این ویژگی اطمینان حاصل میکند که دادهها به درستی بر روی دیسک و بدون هیچ گونه خطای سطح پایین نوشته شده باشند.
برای ثبات و امنیت بیشتر به منظور جلوگیری از خرابی تصادفی در پایگاه داده، به خصوص در تنظیمات حرفهای، از [ECC memory](https://en.wikipedia.org/wiki/ECC_memory) در صورتی که توسط سیستمتان پشتیبانی میشود، استفاده کنید. به طور کلی توصیه میشود سایز RAM هم اندازۀ گره کامل باشد ولی در کل RAM بیشتر میتواند به سرعت همگامسازی کمک کند.
diff --git a/public/content/translations/fa/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/fa/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
index 603008296b5..4d4a14add4b 100644
--- a/public/content/translations/fa/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
+++ b/public/content/translations/fa/developers/docs/nodes-and-clients/nodes-as-a-service/index.md
@@ -264,7 +264,7 @@ sidebarDepth: 2
- پشتیبانی فنی مستقیم
- [**مگانود نودرئال**](https://nodereal.io/)
- - [مستندات](https://docs.nodereal.io/nodereal/meganode/introduction)
+ - [مستندات](https://docs.nodereal.io/docs/introduction)
- ویژگیها
- خدمات RPC ایپیآی قابل اعتماد، سریع و مقیاسپذیر
- API پیشرفته برای توسعهدهندگان Web3
diff --git a/public/content/translations/fa/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/fa/developers/docs/nodes-and-clients/run-a-node/index.md
index f01d54b0da4..02b81c44ae8 100644
--- a/public/content/translations/fa/developers/docs/nodes-and-clients/run-a-node/index.md
+++ b/public/content/translations/fa/developers/docs/nodes-and-clients/run-a-node/index.md
@@ -162,7 +162,7 @@ sidebarDepth: 2
##### کلاینتهای اجماع
- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest)
-- [Lodestar](https://chainsafe.github.io/lodestar/install/source/) (یک باینری از پیش ساخته شده ارائه نمی دهد، فقط یک تصویر داکر یا باید از منبع ساخته شود)
+- [Lodestar](https://chainsafe.github.io/lodestar/run/getting-started/installation#build-from-source/) (یک باینری از پیش ساخته شده ارائه نمی دهد، فقط یک تصویر داکر یا باید از منبع ساخته شود)
- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest)
- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest)
- [Teku](https://github.com/ConsenSys/teku/releases)
@@ -256,7 +256,7 @@ Besu همچنین دارای یک گزینه لانچر است که یک سری
besu --Xlauncher
```
-[اسناد Besu](https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Starting-node/) حاوی گزینههای اضافی و جزئیات پیکربندی است.
+[اسناد Besu](https://besu.hyperledger.org/public-networks/get-started/start-node/) حاوی گزینههای اضافی و جزئیات پیکربندی است.
##### اجرای Erigon
@@ -288,7 +288,7 @@ geth --mainnet \
##### اجرای Nethermind
-Nethermind [گزینه های نصب](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/getting-started) مختلفی را ارائه می دهد. این بسته با باینریهای مختلف، از جمله یک لانچر با راهاندازی هدایتشده ارائه میشود که به شما در ایجاد پیکربندی به صورت تعاملی کمک میکند. از طرف دیگر، Runner را پیدا میکنید که خود فایل اجرایی است و فقط میتوانید آن را با پرچمهای پیکربندی اجرا کنید. JSON-RPC بهصورت پیشفرض فعال است.
+Nethermind [گزینه های نصب](https://docs.nethermind.io/get-started/installing-nethermind) مختلفی را ارائه می دهد. این بسته با باینریهای مختلف، از جمله یک لانچر با راهاندازی هدایتشده ارائه میشود که به شما در ایجاد پیکربندی به صورت تعاملی کمک میکند. از طرف دیگر، Runner را پیدا میکنید که خود فایل اجرایی است و فقط میتوانید آن را با پرچمهای پیکربندی اجرا کنید. JSON-RPC بهصورت پیشفرض فعال است.
```sh
Nethermind.Runner --config mainnet \
@@ -296,7 +296,7 @@ Nethermind.Runner --config mainnet \
--JsonRpc.JwtSecretFile=/path/to/jwtsecret
```
-اسناد Nethermind یک [راهنمای کامل](https://docs.nethermind.io/nethermind/first-steps-with-nethermind/running-nethermind-post-merge) در مورد اجرای Nethermind با کلاینت اجماع ارائه می دهد.
+اسناد Nethermind یک [راهنمای کامل](https://docs.nethermind.io/first-steps-with-nethermind/running-nethermind-post-merge) در مورد اجرای Nethermind با کلاینت اجماع ارائه می دهد.
یک کلاینت اجرا، توابع اصلی، نقاط پایانی انتخابی خود را آغاز می کند و شروع به جستجوی همتا می کند. پس از یافتن موفق همتایان، کلاینت شروع به همگامسازی میکند. کلاینت اجرا منتظر اتصال از سمت کلاینت اجماع خواهد بود. دادههای کنونی زنجیرهی بلوکی زمانی آماده خواهد بود که کلاینت بهطور موفقیتآمیز با وضعیت فعلی همگامسازی کرده باشد.
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/anatomy/index.md b/public/content/translations/fa/developers/docs/smart-contracts/anatomy/index.md
new file mode 100644
index 00000000000..f6ff8aa65f8
--- /dev/null
+++ b/public/content/translations/fa/developers/docs/smart-contracts/anatomy/index.md
@@ -0,0 +1,658 @@
+---
+title: آناتومی قراردادهای هوشمند
+description: یک نگاه عمیق به آناتومی قرارداد هوشمند - توابع، دادهها و متغیرها.
+lang: fa
+---
+
+قرارداد هوشمند برنامه ای است که در آدرسی در اتریوم اجرا می شود. آنها از داده ها و توابعی تشکیل شده اند که می توانند هنگام دریافت تراکنش اجرا شوند. در اینجا یک نمای کلی از آنچه که یک قرارداد هوشمند را تشکیل می دهد آورده شده است.
+
+## پیشنیازها {#prerequisites}
+
+مطمئن شوید که ابتدا درباره [قراردادهای هوشمند](/developers/docs/smart-contracts/) بخوانید. این سند فرض می کند که شما قبلاً با زبان های برنامه نویسی مانند جاوا اسکریپت یا پایتون آشنا هستید.
+
+## دادهها {#data}
+
+هر گونه داده قرارداد باید به مکانی اختصاص داده شود: یا به `حافظه` یا `مموری`. تغییر فضای ذخیرهسازی در یک قرارداد هوشمند پرهزینه است، بنابراین باید در نظر بگیرید که داده های شما در کجا قرار دارند.
+
+### ذخیرهسازی {#storage}
+
+داده های پایدار به عنوان ذخیرهسازی نامیده می شوند و با متغیرهای وضعیت نمایش داده می شوند. این مقادیر به طور دائم در زنجیره بلوکی ذخیره می شوند. باید نوع آن را اعلام کنید تا قرارداد بتواند در هنگام کامپایل کردن زنجیره بلوکی میزان فضای ذخیرهسازی مورد نیاز خود را پیگیری کند.
+
+```solidity
+// Solidity example
+contract SimpleStorage {
+ uint storedData; // State variable
+ // ...
+}
+```
+
+```python
+# Vyper example
+storedData: int128
+```
+
+اگر قبلاً زبان های شیگرا را برنامه ریزی کرده اید، احتمالاً با بیشتر انواع آن آشنا خواهید بود. با این حال، اگر در توسعه اتریوم تازهکار هستید، `آدرس` باید برای شما جدید باشد.
+
+یک نوع `آدرس` میتواند یک آدرس اتریوم را که برابر با 20 بایت یا 160 بیت است، در خود جای دهد. در نماد هگزادسیمال (مبنای ۱۶) با 0x در ابتدا برمی گردد.
+
+انواع دیگر شامل موارد زیر است:
+
+- Boolean
+- عدد صحیح
+- اعداد با نقطه ثابت
+- آرایه بایتی با سایز ثابت
+- آرایه بایتی با سایز پویا
+- لیترال صحیح و منطقی
+- لیترالهای رشتهای
+- اعداد هگز
+- اینام ها
+
+برای توضیحات بیشتر نگاهی به اسناد بیاندازید:
+
+- [نوعهای Vyper را ببینید](https://vyper.readthedocs.io/en/v0.1.0-beta.6/types.html#value-types)
+- [نوعهای Solidity را ببینید](https://solidity.readthedocs.io/en/latest/types.html#value-types)
+
+### مموری {#memory}
+
+مقادیری که فقط برای طول عمر اجرای یک تابع قرارداد ذخیره می شوند، متغیرهای مموری نامیده می شوند. از آنجایی که این ها به طور دائم در زنجیره بلوکی ذخیره نمی شوند، استفاده از آنها بسیار ارزانتر است.
+
+در [مستندات Solidity](https://solidity.readthedocs.io/en/latest/introduction-to-smart-contracts.html?highlight=memory#storage-memory-and-the-stack) دربارهی چگونگی نگهداری دادهها (حافظه، مموری و پشته) در ماشین مجازی اتریوم بیاموزید.
+
+### متغیرهای محیطی {#environment-variables}
+
+علاوه بر متغیرهایی که در قرارداد خود تعریف می کنید، چند متغیر جهانی ویژه نیز وجود دارد. آنها در درجه اول برای ارائه اطلاعات در مورد زنجیره بلوکی یا تراکنش فعلی استفاده می شوند.
+
+مثال ها:
+
+| **ابزار** | **متغیر حالت** | **توضیح** |
+| ----------------- | -------------- | ------------------------------ |
+| `block.timestamp` | uint256 | برچسب زمان ایپوک بلوک فعلی |
+| `msg.sender` | آدرس | فرستندهی پیام (فراخوانی فعلی) |
+
+## توابع {#functions}
+
+به سادهترین شکل، توابع میتوانند اطلاعات دریافت کنند یا اطلاعات را در پاسخ به تراکنشهای دریافتی تنظیم کنند.
+
+دو نوع فراخوانی تابع وجود دارد:
+
+- `داخلی` - اینها یک فراخوانی ماشین مجازی اتریوم را نمیسازند
+ - توابع داخلی و متغیرهای حالت فقط به صورت داخلی قابل دسترسی هستند (یعنی از داخل قرارداد فعلی یا قراردادهای ناشی از آن)
+- `خارجی` - اینها یک فراخوان ماشین مجازی اتریوم را میسازند
+ - توابع خارجی بخشی از رابط قرارداد هستند، به این معنی که می توان آنها را از قراردادهای دیگر و از طریق تراکنش ها فراخوانی کرد. یک تابع خارجی `f` نمیتواند به صورت داخلی فراخوانی شود (یعنی `f()` کار نمیکند اما `this.f()` کار میکند.
+
+توابع میتوانند `عمومی` یا `خصوصی` باشند
+
+- توابع `عمومی` میتوانند به صورت داخلی از داخل قرارداد و به صورت خارجی با پیامها فراخوانی شوند
+- توابع `خصوصی` فقط برای خود قرارداد قابل مشاهده هستند و دیگر قراردادها آن را نمیبینند
+
+هم تابع ها و هم متغیرهای حالت را می توان عمومی یا خصوصی کرد
+
+در اینجا یک تابع برای به روز رسانی یک متغیر حالت در یک قرارداد آمده است:
+
+```solidity
+// Solidity example
+function update_name(string value) public {
+ dapp_name = value;
+}
+```
+
+- پارامتر `value` از نوع `رشته` به تابع `update_name` داده میشود
+- به شکل `عمومی` اعلام شده، به این معنی که هر کسی میتواند به آن دسترسی داشته باشد
+- به شکل `view` اعلام نشده، بنابراین می تواند وضعیت قرارداد را تغییر دهد
+
+### توابع View {#view-functions}
+
+این توابع قرار است وضعیت داده های قرارداد را تغییر ندهند. مثالهای رایج توابع «getter» هستند – برای مثال میتوانید از آن برای دریافت موجودی کاربر استفاده کنید.
+
+```solidity
+// Solidity example
+function balanceOf(address _owner) public view returns (uint256 _balance) {
+ return ownerPizzaCount[_owner];
+}
+```
+
+```python
+dappName: public(string)
+
+@view
+@public
+def readName() -> string:
+ return dappName
+```
+
+آنچه حالت اصلاحی در نظر گرفته می شود:
+
+1. نوشتن بر روی متغیرهای حالت.
+2. [بیرون دادن رویدادها](https://solidity.readthedocs.io/en/v0.7.0/contracts.html#events).
+3. [ساختن دیگر قراردادها](https://solidity.readthedocs.io/en/v0.7.0/control-structures.html#creating-contracts).
+4. استفاده از `selfdestruct`.
+5. فرستادن اتر از طریق فراخوانیها.
+6. فراخوانی هر تابعی که `view` یا `pure` نباشد.
+7. استفاده از فراخوانیهای سطح پایین.
+8. استفاده از اسمبلی به صورت درخط که شامل کدگذاری های خاصی باشد.
+
+### توابع سازنده {#constructor-functions}
+
+توابع `constructor` فقط یک بار زمانی که قرارداد برای اولین بار ساخته میشود اجرا میشوند. مانند `constructor` در بسیاری از زبان های برنامه نویسی مبتنی بر کلاس، این توابع اغلب متغیرهای حالت را به مقادیر مشخص شده خود مقداردهی اولیه می کنند.
+
+```solidity
+// Solidity example
+// Initializes the contract's data, setting the `owner`
+// to the address of the contract creator.
+constructor() public {
+ // All smart contracts rely on external transactions to trigger its functions.
+ // `msg` is a global variable that includes relevant data on the given transaction,
+ // such as the address of the sender and the ETH value included in the transaction.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
+ owner = msg.sender;
+}
+```
+
+```python
+# Vyper example
+
+@external
+def __init__(_beneficiary: address, _bidding_time: uint256):
+ self.beneficiary = _beneficiary
+ self.auctionStart = block.timestamp
+ self.auctionEnd = self.auctionStart + _bidding_time
+```
+
+### توابع Built-in {#built-in-functions}
+
+علاوه بر متغیرها و توابعی که در قرارداد خود تعریف می کنید، چند تابع داخلی ویژه نیز وجود دارد. بدیهیترین مثال این است:
+
+- `address.send()` - Solidity
+- `send(address)` – Vyper
+
+اینها به قراردادها اجازه می دهد اتر را به حساب های دیگر ارسال کنند.
+
+## توابع Writing {#writing-functions}
+
+تابع شما به موارد زیر نیاز دارد:
+
+- متغیر پارامتر و نوع (در صورت پذیرش پارامترها)
+- اعلامیه داخلی/خارجی
+- اعلامیهی خالص/نما/قابل پرداخت
+- نوع بازگشت ها ( اگر که مقداری را برمیگرداند)
+
+```solidity
+pragma solidity >=0.4.0 <=0.6.0;
+
+contract ExampleDapp {
+ string dapp_name; // state variable
+
+ // Called when the contract is deployed and initializes the value
+ constructor() public {
+ dapp_name = "My Example dapp";
+ }
+
+ // Get Function
+ function read_name() public view returns(string) {
+ return dapp_name;
+ }
+
+ // Set Function
+ function update_name(string value) public {
+ dapp_name = value;
+ }
+}
+```
+
+یک قرارداد کامل ممکن است چیزی شبیه به این باشد. در اینجا تابع `constructor` یک مقدار اولیه برای متغیر `dapp_name` ارائه میکند.
+
+## رویدادها و گزارشها {#events-and-logs}
+
+رویدادها، قراردادهای هوشمند شما را قادر به برقراری ارتباط با فرانت اند یا سایر اپلیکیشن هایی که نیاز به کسب اطلاع از وقایع درون قرارداد هوشمند دارند می کنند. هنگامی که یک تراکنش اعتبارسنجی شده و به یک بلاک اضافه می شود، قراردادهای هوشمند می توانند رویدادها را نمایش داده و اصطلاحاً ساتع کنند و لاگ اطلاعات را چاپ کنند، بدین ترتیب فرانت اند می تواند اطلاعاتی که ساتع شده را پردازش کرده و آن را به کار بگیرد.
+
+## نمونه های مشروح {#annotated-examples}
+
+اینها نمونه هایی هستند که در Solidity نوشته شده اند. اگر میخواهید با کد بازی کنید، میتوانید در [Remix](http://remix.ethereum.org) با آنها تعامل داشته باشید.
+
+### سلام دنیا {#hello-world}
+
+```solidity
+// Specifies the version of Solidity, using semantic versioning.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
+pragma solidity ^0.5.10;
+
+// Defines a contract named `HelloWorld`.
+// A contract is a collection of functions and data (its state).
+// Once deployed, a contract resides at a specific address on the Ethereum blockchain.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
+contract HelloWorld {
+
+ // Declares a state variable `message` of type `string`.
+ // State variables are variables whose values are permanently stored in contract storage.
+ // The keyword `public` makes variables accessible from outside a contract
+ // and creates a function that other contracts or clients can call to access the value.
+ string public message;
+
+ // Similar to many class-based object-oriented languages, a constructor is
+ // a special function that is only executed upon contract creation.
+ // Constructors are used to initialize the contract's data.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
+ constructor(string memory initMessage) public {
+ // Accepts a string argument `initMessage` and sets the value
+ // into the contract's `message` storage variable).
+ message = initMessage;
+ }
+
+ // A public function that accepts a string argument
+ // and updates the `message` storage variable.
+ function update(string memory newMessage) public {
+ message = newMessage;
+ }
+}
+```
+
+### توکن {#token}
+
+```solidity
+pragma solidity ^0.5.10;
+
+contract Token {
+ // An `address` is comparable to an email address - it's used to identify an account on Ethereum.
+ // Addresses can represent a smart contract or an external (user) accounts.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#address
+ address public owner;
+
+ // A `mapping` is essentially a hash table data structure.
+ // This `mapping` assigns an unsigned integer (the token balance) to an address (the token holder).
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#mapping-types
+ mapping (address => uint) public balances;
+
+ // Events allow for logging of activity on the blockchain.
+ // Ethereum clients can listen for events in order to react to contract state changes.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#events
+ event Transfer(address from, address to, uint amount);
+
+ // Initializes the contract's data, setting the `owner`
+ // to the address of the contract creator.
+ constructor() public {
+ // All smart contracts rely on external transactions to trigger its functions.
+ // `msg` is a global variable that includes relevant data on the given transaction,
+ // such as the address of the sender and the ETH value included in the transaction.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/units-and-global-variables.html#block-and-transaction-properties
+ owner = msg.sender;
+ }
+
+ // Creates an amount of new tokens and sends them to an address.
+ function mint(address receiver, uint amount) public {
+ // `require` is a control structure used to enforce certain conditions.
+ // If a `require` statement evaluates to `false`, an exception is triggered,
+ // which reverts all changes made to the state during the current call.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+
+ // Only the contract owner can call this function
+ require(msg.sender == owner, "You are not the owner.");
+
+ // Enforces a maximum amount of tokens
+ require(amount < 1e60, "Maximum issuance exceeded");
+
+ // Increases the balance of `receiver` by `amount`
+ balances[receiver] += amount;
+ }
+
+ // Sends an amount of existing tokens from any caller to an address.
+ function transfer(address receiver, uint amount) public {
+ // The sender must have enough tokens to send
+ require(amount <= balances[msg.sender], "Insufficient balance.");
+
+ // Adjusts token balances of the two addresses
+ balances[msg.sender] -= amount;
+ balances[receiver] += amount;
+
+ // Emits the event defined earlier
+ emit Transfer(msg.sender, receiver, amount);
+ }
+}
+```
+
+### دارایی دیجیتال منحصربفرد {#unique-digital-asset}
+
+```solidity
+pragma solidity ^0.5.10;
+
+// Imports symbols from other files into the current contract.
+// In this case, a series of helper contracts from OpenZeppelin.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#importing-other-source-files
+
+import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol";
+import "../node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
+import "../node_modules/@openzeppelin/contracts/introspection/ERC165.sol";
+import "../node_modules/@openzeppelin/contracts/math/SafeMath.sol";
+
+// The `is` keyword is used to inherit functions and keywords from external contracts.
+// In this case, `CryptoPizza` inherits from the `IERC721` and `ERC165` contracts.
+// Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#inheritance
+contract CryptoPizza is IERC721, ERC165 {
+ // Uses OpenZeppelin's SafeMath library to perform arithmetic operations safely.
+ // Learn more: https://docs.openzeppelin.com/contracts/2.x/api/math#SafeMath
+ using SafeMath for uint256;
+
+ // Constant state variables in Solidity are similar to other languages
+ // but you must assign from an expression which is constant at compile time.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constant-state-variables
+ uint256 constant dnaDigits = 10;
+ uint256 constant dnaModulus = 10 ** dnaDigits;
+ bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;
+
+ // Struct types let you define your own type
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/types.html#structs
+ struct Pizza {
+ string name;
+ uint256 dna;
+ }
+
+ // Creates an empty array of Pizza structs
+ Pizza[] public pizzas;
+
+ // Mapping from pizza ID to its owner's address
+ mapping(uint256 => address) public pizzaToOwner;
+
+ // Mapping from owner's address to number of owned token
+ mapping(address => uint256) public ownerPizzaCount;
+
+ // Mapping from token ID to approved address
+ mapping(uint256 => address) pizzaApprovals;
+
+ // You can nest mappings, this example maps owner to operator approvals
+ mapping(address => mapping(address => bool)) private operatorApprovals;
+
+ // Internal function to create a random Pizza from string (name) and DNA
+ function _createPizza(string memory _name, uint256 _dna)
+ // The `internal` keyword means this function is only visible
+ // within this contract and contracts that derive this contract
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#visibility-and-getters
+ internal
+ // `isUnique` is a function modifier that checks if the pizza already exists
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html#function-modifiers
+ isUnique(_name, _dna)
+ {
+ // Adds Pizza to array of Pizzas and get id
+ uint256 id = SafeMath.sub(pizzas.push(Pizza(_name, _dna)), 1);
+
+ // Checks that Pizza owner is the same as current user
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/control-structures.html#error-handling-assert-require-revert-and-exceptions
+
+ // note that address(0) is the zero address,
+ // indicating that pizza[id] is not yet allocated to a particular user.
+
+ assert(pizzaToOwner[id] == address(0));
+
+ // Maps the Pizza to the owner
+ pizzaToOwner[id] = msg.sender;
+ ownerPizzaCount[msg.sender] = SafeMath.add(
+ ownerPizzaCount[msg.sender],
+ 1
+ );
+ }
+
+ // Creates a random Pizza from string (name)
+ function createRandomPizza(string memory _name) public {
+ uint256 randDna = generateRandomDna(_name, msg.sender);
+ _createPizza(_name, randDna);
+ }
+
+ // Generates random DNA from string (name) and address of the owner (creator)
+ function generateRandomDna(string memory _str, address _owner)
+ public
+ // Functions marked as `pure` promise not to read from or modify the state
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#pure-functions
+ pure
+ returns (uint256)
+ {
+ // Generates random uint from string (name) + address (owner)
+ uint256 rand = uint256(keccak256(abi.encodePacked(_str))) +
+ uint256(_owner);
+ rand = rand % dnaModulus;
+ return rand;
+ }
+
+ // Returns array of Pizzas found by owner
+ function getPizzasByOwner(address _owner)
+ public
+ // Functions marked as `view` promise not to modify state
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/contracts.html#view-functions
+ view
+ returns (uint256[] memory)
+ {
+ // Uses the `memory` storage location to store values only for the
+ // lifecycle of this function call.
+ // Learn more: https://solidity.readthedocs.io/en/v0.5.10/introduction-to-smart-contracts.html#storage-memory-and-the-stack
+ uint256[] memory result = new uint256[](ownerPizzaCount[_owner]);
+ uint256 counter = 0;
+ for (uint256 i = 0; i < pizzas.length; i++) {
+ if (pizzaToOwner[i] == _owner) {
+ result[counter] = i;
+ counter++;
+ }
+ }
+ return result;
+ }
+
+ // Transfers Pizza and ownership to other address
+ function transferFrom(address _from, address _to, uint256 _pizzaId) public {
+ require(_from != address(0) && _to != address(0), "Invalid address.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ require(_from != _to, "Cannot transfer to the same address.");
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+
+ ownerPizzaCount[_to] = SafeMath.add(ownerPizzaCount[_to], 1);
+ ownerPizzaCount[_from] = SafeMath.sub(ownerPizzaCount[_from], 1);
+ pizzaToOwner[_pizzaId] = _to;
+
+ // Emits event defined in the imported IERC721 contract
+ emit Transfer(_from, _to, _pizzaId);
+ _clearApproval(_to, _pizzaId);
+ }
+
+ /**
+ * Safely transfers the ownership of a given token ID to another address
+ * If the target address is a contract, it must implement `onERC721Received`,
+ * which is called upon a safe transfer, and return the magic value
+ * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
+ * otherwise, the transfer is reverted.
+ */
+ function safeTransferFrom(address from, address to, uint256 pizzaId)
+ public
+ {
+ // solium-disable-next-line arg-overflow
+ this.safeTransferFrom(from, to, pizzaId, "");
+ }
+
+ /**
+ * Safely transfers the ownership of a given token ID to another address
+ * If the target address is a contract, it must implement `onERC721Received`,
+ * which is called upon a safe transfer, and return the magic value
+ * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`;
+ * otherwise, the transfer is reverted.
+ */
+ function safeTransferFrom(
+ address from,
+ address to,
+ uint256 pizzaId,
+ bytes memory _data
+ ) public {
+ this.transferFrom(from, to, pizzaId);
+ require(_checkOnERC721Received(from, to, pizzaId, _data), "Must implement onERC721Received.");
+ }
+
+ /**
+ * Internal function to invoke `onERC721Received` on a target address
+ * The call is not executed if the target address is not a contract
+ */
+ function _checkOnERC721Received(
+ address from,
+ address to,
+ uint256 pizzaId,
+ bytes memory _data
+ ) internal returns (bool) {
+ if (!isContract(to)) {
+ return true;
+ }
+
+ bytes4 retval = IERC721Receiver(to).onERC721Received(
+ msg.sender,
+ from,
+ pizzaId,
+ _data
+ );
+ return (retval == _ERC721_RECEIVED);
+ }
+
+ // Burns a Pizza - destroys Token completely
+ // The `external` function modifier means this function is
+ // part of the contract interface and other contracts can call it
+ function burn(uint256 _pizzaId) external {
+ require(msg.sender != address(0), "Invalid address.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+
+ ownerPizzaCount[msg.sender] = SafeMath.sub(
+ ownerPizzaCount[msg.sender],
+ 1
+ );
+ pizzaToOwner[_pizzaId] = address(0);
+ }
+
+ // Returns count of Pizzas by address
+ function balanceOf(address _owner) public view returns (uint256 _balance) {
+ return ownerPizzaCount[_owner];
+ }
+
+ // Returns owner of the Pizza found by id
+ function ownerOf(uint256 _pizzaId) public view returns (address _owner) {
+ address owner = pizzaToOwner[_pizzaId];
+ require(owner != address(0), "Invalid Pizza ID.");
+ return owner;
+ }
+
+ // Approves other address to transfer ownership of Pizza
+ function approve(address _to, uint256 _pizzaId) public {
+ require(msg.sender == pizzaToOwner[_pizzaId], "Must be the Pizza owner.");
+ pizzaApprovals[_pizzaId] = _to;
+ emit Approval(msg.sender, _to, _pizzaId);
+ }
+
+ // Returns approved address for specific Pizza
+ function getApproved(uint256 _pizzaId)
+ public
+ view
+ returns (address operator)
+ {
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ return pizzaApprovals[_pizzaId];
+ }
+
+ /**
+ * Private function to clear current approval of a given token ID
+ * Reverts if the given address is not indeed the owner of the token
+ */
+ function _clearApproval(address owner, uint256 _pizzaId) private {
+ require(pizzaToOwner[_pizzaId] == owner, "Must be pizza owner.");
+ require(_exists(_pizzaId), "Pizza does not exist.");
+ if (pizzaApprovals[_pizzaId] != address(0)) {
+ pizzaApprovals[_pizzaId] = address(0);
+ }
+ }
+
+ /*
+ * Sets or unsets the approval of a given operator
+ * An operator is allowed to transfer all tokens of the sender on their behalf
+ */
+ function setApprovalForAll(address to, bool approved) public {
+ require(to != msg.sender, "Cannot approve own address");
+ operatorApprovals[msg.sender][to] = approved;
+ emit ApprovalForAll(msg.sender, to, approved);
+ }
+
+ // Tells whether an operator is approved by a given owner
+ function isApprovedForAll(address owner, address operator)
+ public
+ view
+ returns (bool)
+ {
+ return operatorApprovals[owner][operator];
+ }
+
+ // Takes ownership of Pizza - only for approved users
+ function takeOwnership(uint256 _pizzaId) public {
+ require(_isApprovedOrOwner(msg.sender, _pizzaId), "Address is not approved.");
+ address owner = this.ownerOf(_pizzaId);
+ this.transferFrom(owner, msg.sender, _pizzaId);
+ }
+
+ // Checks if Pizza exists
+ function _exists(uint256 pizzaId) internal view returns (bool) {
+ address owner = pizzaToOwner[pizzaId];
+ return owner != address(0);
+ }
+
+ // Checks if address is owner or is approved to transfer Pizza
+ function _isApprovedOrOwner(address spender, uint256 pizzaId)
+ internal
+ view
+ returns (bool)
+ {
+ address owner = pizzaToOwner[pizzaId];
+ // Disable solium check because of
+ // https://github.com/duaraghav8/Solium/issues/175
+ // solium-disable-next-line operator-whitespace
+ return (spender == owner ||
+ this.getApproved(pizzaId) == spender ||
+ this.isApprovedForAll(owner, spender));
+ }
+
+ // Check if Pizza is unique and doesn't exist yet
+ modifier isUnique(string memory _name, uint256 _dna) {
+ bool result = true;
+ for (uint256 i = 0; i < pizzas.length; i++) {
+ if (
+ keccak256(abi.encodePacked(pizzas[i].name)) ==
+ keccak256(abi.encodePacked(_name)) &&
+ pizzas[i].dna == _dna
+ ) {
+ result = false;
+ }
+ }
+ require(result, "Pizza with such name already exists.");
+ _;
+ }
+
+ // Returns whether the target address is a contract
+ function isContract(address account) internal view returns (bool) {
+ uint256 size;
+ // Currently there is no better way to check if there is a contract in an address
+ // than to check the size of the code at that address.
+ // به https://ethereum.stackexchange.com/a/14016/36603 مراجعه کنید
+ // برای جزئیات بیشتر در مورد نحوه کار این.
+ // TODO قبل از انتشار Serenity دوباره این مورد را بررسی کنید، زیرا همه آدرس ها خواهند بود
+ // سپس قرارداد می بندد.
+ // solium-disable-next-line security/no-inline-assembly
+ assembly {
+ size := extcodesize(account)
+ }
+ return size > 0;
+ }
+}
+```
+
+## بیشتر بخوانید {#further-reading}
+
+برای بررسی کاملتر قراردادهای هوشمند، مستندات Solidity و Vyper را بررسی کنید:
+
+- [Solidity](https://solidity.readthedocs.io/)
+- [Vyper](https://vyper.readthedocs.io/)
+
+## موضوعات مرتبط {#related-topics}
+
+- [قراردادهای هوشمند](/developers/docs/smart-contracts/)
+- [ماشین مجازی اتریوم](/developers/docs/evm/)
+
+## آموزشهای مرتبط {#related-tutorials}
+
+- [کوچک کردن قراردادها برای مبارزه با محدودیت اندازه قرارداد](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _ – چند نکته کاربردی برای کاهش اندازه قرارداد هوشمند شما._
+- [گزارش دادههای قراردادهای هوشمند با رویدادها](/developers/tutorials/logging-events-smart-contracts/) _– مقدمهای بر رویدادهای قرارداد هوشمند و چگونگی استفاده از آنها برای ثبت داده ها_
+- [تعامل با سایر قراردادهای Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– نحوه استقرار هوشمند قرارداد از یک قرارداد موجود و تعامل با آن._
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/compiling/index.md b/public/content/translations/fa/developers/docs/smart-contracts/compiling/index.md
new file mode 100644
index 00000000000..2cb3fbe499a
--- /dev/null
+++ b/public/content/translations/fa/developers/docs/smart-contracts/compiling/index.md
@@ -0,0 +1,282 @@
+---
+title: تدوین قرارداد هوشمند
+description: توضیحی در مورد اینکه چرا باید هوش پیمان را کامپایل کنید و کامپایل در واقع چه کاری انجام می دهد.
+lang: fa
+incomplete: true
+---
+
+شما باید قرارداد خود را کامپایل کنید تا برنامه وب و ماشین مجازی اتریوم (EVM) بتوانند آن را درک کنند.
+
+## پیشنیازها {#prerequisites}
+
+شاید برای شما مفید باشد که قبل از مطالعه در مورد کامپایل، مقدمه [قراردادهای هوشمند](/developers/docs/smart-contracts/) و [ماشین مجازی اتریوم](/developers/docs/evm/) را بخوانید.
+
+## EVM {#the-evm}
+
+برای اینکه [EVM](/developers/docs/evm/) بتواند قرارداد شما را اجرا کند، باید به صورت **بایت کد** باشد. فرآیند کامپایل کردن این را:
+
+```solidity
+pragma solidity 0.4.24;
+
+contract Greeter {
+
+ function greet() public constant returns (string) {
+ return "Hello";
+ }
+
+}
+```
+
+**به این تغییر می دهد**
+
+```
+PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0xCFAE3217 EQ PUSH2 0x46 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5B PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x80 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xC8 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 DUP1 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SLT 0xec 0xe 0xf5 0xf8 SLT 0xc7 0x2d STATICCALL ADDRESS SHR 0xdb COINBASE 0xb1 BALANCE 0xe8 0xf8 DUP14 0xda 0xad DUP13 LOG1 0x4c 0xb4 0x26 0xc2 DELEGATECALL PUSH7 0x8994D3E002900
+```
+
+اینها **آپکدها** نامیده میشوند. آپکدهای ماشین مجازی اتریوم دستورالعملهای سطح پایینی هستند که ماشین مجازی اتریوم (EVM) میتواند اجرا کند. هر کد عملیاتی یک عملیات خاص مانند عملیات حسابی، عملیات منطقی، دستکاری دادهها، جریان کنترل و غیره را نشان میدهد.
+
+[اطلاعات بیشتر در مورد کدهای عملیاتی](/developers/docs/evm/opcodes/)
+
+## برنامه های کاربردی وب {#web-applications}
+
+کامپایلر همچنین **Application Binary Interface (ABI)** را تولید می کند که برای اینکه برنامه شما بتواند یک قرارداد را درک کند و توابع قرارداد را فراخوانی کند به آن نیاز دارید.
+
+ABI یک فایل JSON است که قرارداد مستقر شده و توابع آن قرارداد هوشمند را توصیف می کند. این مورد به پر کردن شکاف بین web2 و web3 کمک می کند
+
+یک [کتابخانه کلاینتی Javascript](/developers/docs/apis/javascript/) که **ABI** را می خواند تا بتوانید قرارداد هوشمند را در رابط برنامه وب خود فراخوانی کنید.
+
+در زیر ABI برای قرارداد توکن ERC-20 آورده شده است. ERC-20 توکنی است که می توانید با آن در اتریوم معامله کنید.
+
+```json
+[
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "name",
+ "outputs": [
+ {
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_spender",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "approve",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "totalSupply",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_from",
+ "type": "address"
+ },
+ {
+ "name": "_to",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "transferFrom",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "decimals",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint8"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [
+ {
+ "name": "_owner",
+ "type": "address"
+ }
+ ],
+ "name": "balanceOf",
+ "outputs": [
+ {
+ "name": "balance",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [],
+ "name": "symbol",
+ "outputs": [
+ {
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "constant": false,
+ "inputs": [
+ {
+ "name": "_to",
+ "type": "address"
+ },
+ {
+ "name": "_value",
+ "type": "uint256"
+ }
+ ],
+ "name": "transfer",
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "constant": true,
+ "inputs": [
+ {
+ "name": "_owner",
+ "type": "address"
+ },
+ {
+ "name": "_spender",
+ "type": "address"
+ }
+ ],
+ "name": "allowance",
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "payable": false,
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "payable": true,
+ "stateMutability": "payable",
+ "type": "fallback"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Approval",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "name": "from",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Transfer",
+ "type": "event"
+ }
+]
+```
+
+## بیشتر بخوانید {#further-reading}
+
+- [ABI spec](https://solidity.readthedocs.io/en/v0.7.0/abi-spec.html) _ – Solidity_
+
+## موضوعات مرتبط {#related-topics}
+
+- [کتابخانههای کلاینتی Javascript](/developers/docs/apis/javascript/)
+- [ماشین مجازی اتریوم](/developers/docs/evm/)
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/composability/index.md b/public/content/translations/fa/developers/docs/smart-contracts/composability/index.md
index a42b316dd62..81ec75c0812 100644
--- a/public/content/translations/fa/developers/docs/smart-contracts/composability/index.md
+++ b/public/content/translations/fa/developers/docs/smart-contracts/composability/index.md
@@ -29,7 +29,7 @@ incomplete: true
### چرخه توسعه کوتاه تر {#shorter-development-cycle}
-در زمان تولید [اپلیکیشن های غیرمتمرکز](/dapps/#what-are-dapps) (یا dapp ها) ترکیب پذیری می تواند باعث کاهش حجم کار توسعه دهنده های نرمافزار شود. [همانطور که Naval Ravikant می گوید:](https://twitter.com/naval/status/1444366754650656770) "متن باز یعنی هر مشکلی فقط باید یکبار حل شود."
+در زمان تولید [اپلیکیشن های غیرمتمرکز](/apps/#what-are-dapps) (یا dapp ها) ترکیب پذیری می تواند باعث کاهش حجم کار توسعه دهنده های نرمافزار شود. [همانطور که Naval Ravikant می گوید:](https://twitter.com/naval/status/1444366754650656770) "متن باز یعنی هر مشکلی فقط باید یکبار حل شود."
اگر یک قرارداد هوشمند میتواند یک مشکل را حل کند، سایر توسعه دهنده ها می توانند از آن استفاده کنند و نیازی نیست که یک مشکل یکسان را دوباره حل کنند. بدین ترتیب توسعه دهنده ها میتوانند با استفاده از کتابخانه های موجود و اضافه کردن قابلیت های اضافی به آنها، اپلیکیشن های غیر متمرکز جدیدی را بسازند.
@@ -45,7 +45,7 @@ incomplete: true
اگر توکنی در `صرافی A` قیمتی بیش از `صرافی B` داشته باشد، از این تفاوت قیمت میتوان برای کسب سود استفاده کرد. با این حال، تنها در زمانی میتوانید این کار رانجام دهید که سرمایه لازم برای اجرای تراکنش مورد نیاز را داشته باشید ( خرید توکن از `صرافی B` و فروش در `صرافی A`).
-در زمانی که سرمایه لازم برای انجام این ترید را نداشته باشید، استفاده از وام سریع یا همان flash loan گزینه ای ایده آل به حساب می آید. [وام های سریع](/defi/#flash-loans) مفهومی بسیار تکنیکال دارند، اما اگر بخواهیم به صورت ساده بگوئیم، ایده کلی به این صورت است که بدون نیاز به هیچ گونه گروگذاری یا داشتن سرمایه اولیه، می توان دارایی مورد نظر را قرض گرفت و البته که باید بازگشت وام، <0>در همان تراکنش0> صورت بگیرد.
+در زمانی که سرمایه لازم برای انجام این ترید را نداشته باشید، استفاده از وام سریع یا همان flash loan گزینه ای ایده آل به حساب می آید. [وام های سریع](/defi/#flash-loans) مفهومی بسیار تکنیکال دارند، اما اگر بخواهیم به صورت ساده بگوئیم، ایده کلی به این صورت است که بدون نیاز به هیچ گونه گروگذاری یا داشتن سرمایه اولیه، می توان دارایی مورد نظر را قرض گرفت و البته که باید بازگشت وام، \<0>\در همان تراکنش\0>\ صورت بگیرد.
به مثال ابتدایی خود بر میگردیم، یک تریدر آربیتراژ می تواند با دریافت حجم زیادی وام سریع، توکن ها را از `صرافی B` خریده، آنها را در `صرافی A` بفروشد، وام گرفته شده را به همراه بهره آن بپردازد، و در نهایت سود باقیمانده را برای خود نگه دارد، و همه این اتفاقات تنها در همان یک تراکنش رخ می دهد. این منطق پیچیده نیاز به فراخوانی و استفاده ترکیبی از چندین قرارداد مختلف دارد، که در صورت نبود قابلیت ارتباط گیری بین قراردادهای هوشمند، امکانپذیر نبود.
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/deploying/index.md b/public/content/translations/fa/developers/docs/smart-contracts/deploying/index.md
new file mode 100644
index 00000000000..17ced1fd775
--- /dev/null
+++ b/public/content/translations/fa/developers/docs/smart-contracts/deploying/index.md
@@ -0,0 +1,81 @@
+---
+title: استقرار قرارداد هوشمند
+description:
+lang: fa
+---
+
+به منظور در دسترس بودن قرارداد هوشمند شما برای کاربران یک شبکه اتریوم، شما باید آن را پیادهسازی کنید.
+
+برای استقرار یک قرارداد هوشمند، شما فقط یک تراکنش اتریوم حاوی کد کامپایل شده قرارداد هوشمند را بدون تعیین هیچ گیرنده ای ارسال می کنید.
+
+## پیشنیازها {#prerequisites}
+
+شما باید [شبکهی اتریوم](/developers/docs/networks/)، [تراکنشها](/developers/docs/transactions/) و [آناتومی قراردادهای هوشمند](/developers/docs/smart-contracts/anatomy/) را پیش از استقرار قرارداد هوشمند بدانید.
+
+پیادهسازی یک قرارداد نیز همچنین دارای هزینه اتر (ETH) است زیرا آنها بر روی زنجیرهی بلوکی ذخیره شده اند، بنابراین بایستی با مفهوم [هزینه و کارمزد](/developers/docs/gas/) بر روی اتریوم آشنا باشید.
+
+نهایتا نیاز به کامپایل کردن قرارداد خود پیش از استقرار آن دارید، پس مطمئن شوید که دربارهی [کامپایل کردن قرارداد هوشمند](/developers/docs/smart-contracts/compiling/) مطالعه کرده باشید.
+
+## چگونه یک قرارداد هوشمند را مستقر کنیم {#how-to-deploy-a-smart-contract}
+
+### آنچه نیاز خواهید داشت {#what-youll-need}
+
+- بایتکد قراردادتان - این توسط [کامپایل کردن](/developers/docs/smart-contracts/compiling/) ساخته میشود
+- اتر برای گاز - شما حد گاز خود را مانند سایر تراکنشها تعیین میکنید، بنابراین توجه داشته باشید که استقرار قرارداد به گاز بسیار بیشتری نسبت به یک انتقال ساده اتر نیاز دارد
+- یک اسکریپت یا افزونه استقرار
+- دسترسی به یک[گره اتریوم](/developers/docs/nodes-and-clients/)، با اجرای خودتان، یا اتصال به یک گره عمومی، و یا با استفاده از یک[سرویس گره](/developers/docs/nodes-and-clients/nodes-as-a-service/) از طریق یک API
+
+### گامهای استقرار یک قرارداد هوشمند {#steps-to-deploy}
+
+مراحل خاص مربوط به چارچوب توسعه مورد نظر بستگی دارد. برای مثال، میتوانید [ مستندات یا همان اسناد هاردهت در مورد استقرار قراردادهای خود](https://hardhat.org/guides/deploying.html) یا [ مستندات فاندری در مورد استقرار و تأیید قرارداد هوشمند را بررسی کنید](https://book.getfoundry.sh/forge/deploying). پس از استقرار، قرارداد شما مانند سایر [حسابها](/developers/docs/accounts/) دارای یک آدرس اتریوم خواهد بود و میتوان آن را با استفاده از ابزار تأیید کد منبع[](/developers/docs/smart-contracts/ تأیید کرد. verifying/#source-code-verification-tools).
+
+## ابزارهای مرتبط {#related-tools}
+
+**Remix - _Remix IDE امکان توسعه، استقرار و مدیریت قراردادهای هوشمند برای اتریوم مانند بلاک چین را فراهم می کند._**
+
+- [Remix](https://remix.ethereum.org)
+
+**Tenderly - _پلتفرم توسعه دهندگی در Web3 که با ارائه سرویس هایی چون دیباگ، نظارت و زیرساخت های توسعه قرارداد هوشمند توسعه، تست، نظارت، و اجرا قراردادهای هوشمند را میسر میسازد_**
+
+- [tenderly.co](https://tenderly.co/)
+- [Docs](https://docs.tenderly.co/)
+- [گیتهاب](https://github.com/Tenderly)
+- [دیسکورد](https://discord.gg/eCWjuvt)
+
+**Hardhat - _یک محیط توسعه برای کامپایل، استقرار، آزمایش و اشکال زدایی نرمافزار اتریوم شما_**
+
+- [hardhat.org](https://hardhat.org/getting-started/)
+- [مستنداتی بر استقرار قرارداد خودتان](https://hardhat.org/guides/deploying.html)
+- [گیت هاب](https://github.com/nomiclabs/hardhat)
+- [دیسکورد](https://discord.com/invite/TETZs2KK4k)
+
+**thirwenb - _با یک دستور، هر قرارداد هوشمندی را بر هر شبکه سازگار با ماشین مجازی اتریوم (EVM) به راحتی پیاده کنید_**
+
+- [اسناد](https://portal.thirdweb.com/deploy/)
+
+**کراس مینت- _پلتفرم توسعه Web3 درجه سازمانی برای استقرار قراردادهای هوشمند، فعال کردن پرداختهای کارت اعتباری و زنجیرهای متقابل و استفاده از API برای ایجاد، توزیع، فروش، ذخیره و ویرایش انافتی است._**
+
+- [crossmint.com](https://www.crossmint.com)
+- [اسناد](https://docs.crossmint.com)
+- [دیسکورد](https://discord.com/invite/crossmint)
+- [بلاگ](https://blog.crossmint.com)
+
+## آموزش های مرتبط {#related-tutorials}
+
+- [استقرار اولین قرارداد هوشمندتان](/developers/tutorials/deploying-your-first-smart-contract/) _- مقدمه ای برای استقرار اولین قرارداد هوشمندتان در یک شبکه آزمایشی اتریوم._
+- [ سلام دنیا! | آموزش قرارداد هوشمند](/developers/tutorials/hello-world-smart-contract/)_–آموزشی ساده برای ساخت و& پیاده کردن یک قرارداد هوشمند ابتدایی روی اتریوم._
+- [تعامل با سایر قراردادهای Solidity](/developers/tutorials/interact-with-other-contracts-from-solidity/) _– نحوه استقرار هوشمند قرارداد از یک قرارداد موجود و تعامل با آن._
+- [چگونه اندازه قرارداد خود را کوچک کنیم](/developers/tutorials/downsizing-contracts-to-fight-the-contract-size-limit/) _- چگونه اندازه قرارداد خود را کاهش دهید تا آن را زیر حد مجاز نگه دارید و در مصرف گاز صرفه جویی کنید_
+
+## بیشتر بخوانید {#further-reading}
+
+- [https://docs.openzeppelin.com/learn/deploying-and-interacting](https://docs.openzeppelin.com/learn/deploying-and-interacting) - _OpenZeppelin_
+- [استقرار قراردادتان با Hardhat](https://hardhat.org/guides/deploying.html) - _Nomic Labs_
+
+_میخواهید در مورد منابع جامعه که به شما کمک کرده بدانید؟ این صفحه را ویرایش و اضافه کنید!_
+
+## موضوعات مرتبط {#related-topics}
+
+- [چارچوبهای توسعه](/developers/docs/frameworks/)
+- [اجرای یک گرهی اتریوم](/developers/docs/nodes-and-clients/run-a-node/)
+- [گره-بهعنوان-خدمت](/developers/docs/nodes-and-clients/nodes-as-a-service)
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/fa/developers/docs/smart-contracts/formal-verification/index.md
index 767205b82f2..51f20781d37 100644
--- a/public/content/translations/fa/developers/docs/smart-contracts/formal-verification/index.md
+++ b/public/content/translations/fa/developers/docs/smart-contracts/formal-verification/index.md
@@ -70,7 +70,7 @@ lang: fa
### خواص سبک هوآر {#hoare-style-properties}
-[منطق هوآر](https://en.wikipedia.org/wiki/Hoare_logic) مجموعهای از قوانین رسمی را برای استدلال در مورد صحت برنامهها، از جمله قراردادهای هوشمند، ارائه میکند. یک ویژگی به سبک هوآر با یک سهگانه هوآر {_P_}_c_{_Q_} نشان داده میشود، که در آن _c_ یک برنامه است و _P_ و _Q_ گزارههایی در مورد حالت c (یعنی برنامه) هستند که به ترتیب به صورت _پیش شرطها_ و _پس شرطها_ توصیف میشوند.
+[منطق هوآر](https://en.wikipedia.org/wiki/Hoare_logic) مجموعهای از قوانین رسمی را برای استدلال در مورد صحت برنامهها، از جمله قراردادهای هوشمند، ارائه میکند. یک ویژگی به سبک هوآر با یک سهگانه هوآر `{P}c{Q}` نشان داده میشود، که در آن `c` یک برنامه است و `P` و `Q` گزارههایی در مورد حالت c (یعنی برنامه) هستند که به ترتیب به صورت _پیش شرطها_ و _پس شرطها_ توصیف میشوند.
پیش شرط یک گزاره است که شرایط لازم برای اجرای صحیح یک تابع را توصیف می کند. کاربرانی که قرارداد را امضا می کنند باید این شرط را برآورده کنند. پیش شرط یک گزاره است که شرایط لازم برای اجرای صحیح یک تابع را توصیف می کند. کاربرانی که قرارداد را امضا کنند باید این شرط را تعیین کنند. یک _ثابت_ در منطق هوآر یک گزاره است که توسط اجرای یک تابع حفظ میشود (یعنی تغییر نمیکند).
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/index.md b/public/content/translations/fa/developers/docs/smart-contracts/index.md
new file mode 100644
index 00000000000..f0c2ad57684
--- /dev/null
+++ b/public/content/translations/fa/developers/docs/smart-contracts/index.md
@@ -0,0 +1,112 @@
+---
+title: معرفی قراردادهای هوشمند
+description: مروری بر قراردادهای هوشمند، با تمرکز بر ویژگی ها و محدودیت های منحصر به فرد آنها.
+lang: fa
+---
+
+## قراردادهای هوشمند چه هستند؟ {#what-is-a-smart-contract}
+
+«قرارداد هوشمند» به سادگی برنامه ای است که بر روی زنجیره بلوکی اتریوم اجرا می شود. مجموعه ای از کد (توابع آن) و داده ها (وضعیت آن) است که در یک آدرس خاص در زنجیره بلوکی اتریوم قرار دارد.
+
+قراردادهای هوشمند نوعی [حساب اتریوم](/developers/docs/accounts/) هستند. این بدین معنی است که آن ها میتوانند موجودی(دارایی) داشته باشند و تراکنش به آن ها ارسال شود. با این حال آنها توسط یک کاربر کنترل نمی شوند، در عوض در شبکه مستقر می شوند و طبق برنامه اجرا می شوند. سپس حسابهای کاربر میتوانند با ارسال تراکنشهایی که تابعی تعریف شده در قرارداد هوشمند را اجرا میکند، با یک قرارداد هوشمند تعامل کنند. قراردادهای هوشمند می توانند قوانینی را مانند یک قرارداد معمولی تعریف کنند و به طور خودکار آنها را از طریق کد اجرا کنند. قراردادهای هوشمند را نمی توان به طور پیش فرض حذف کرد و تعامل با آنها غیر قابل برگشت است.
+
+## پیش نیاز ها {#prerequisites}
+
+اگر تازه شروع کرده اید یا به دنبال معرفی کمتر تخصصی هستید، [معرفی قراردادهای هوشمند](/smart-contracts/) را توصیه می کنیم.
+
+مطمئن شوید که بخشهای [حسابها](/developers/docs/accounts/)، [تراکنشها](/developers/docs/transactions/) و [ماشین مجازی اتریوم](/developers/docs/evm/) را پیش از ورود به دنیای قراردادهای هوشمند خوانده باشید.
+
+## یک دستگاه فروش دیجیتال {#a-digital-vending-machine}
+
+همانطور که توسط [Nick Szabo](https://unenumerated.blogspot.com/) توضیح داده شده است، شاید بهترین استعاره برای یک قرارداد هوشمند، یک دستگاه فروش خودکار باشد. با ورودی های مناسب، خروجی مشخصی تضمین می شود.
+
+برای دریافت یک خوراکی از دستگاه فروش خودکار:
+
+```
+money + snack selection = snack dispensed
+```
+
+این منطق در ماشین فروش برنامه ریزی شده است.
+
+یک قرارداد هوشمند، مانند یک دستگاه فروش خودکار، منطق در آن برنامه ریزی شده است. مثالی ساده از یک دستگاه فروش خودکار اگر قرارداد هوشمندی به زبان سالیدیتی بود:
+
+```solidity
+pragma solidity 0.8.7;
+
+contract VendingMachine {
+
+ // Declare state variables of the contract
+ address public owner;
+ mapping (address => uint) public cupcakeBalances;
+
+ // When 'VendingMachine' contract is deployed:
+ // 1. set the deploying address as the owner of the contract
+ // 2. set the deployed smart contract's cupcake balance to 100
+ constructor() {
+ owner = msg.sender;
+ cupcakeBalances[address(this)] = 100;
+ }
+
+ // Allow the owner to increase the smart contract's cupcake balance
+ function refill(uint amount) public {
+ require(msg.sender == owner, "Only the owner can refill.");
+ cupcakeBalances[address(this)] += amount;
+ }
+
+ // Allow anyone to purchase cupcakes
+ function purchase(uint amount) public payable {
+ require(msg.value >= amount * 1 ether, "You must pay at least 1 ETH per cupcake");
+ require(cupcakeBalances[address(this)] >= amount, "Not enough cupcakes in stock to complete this purchase");
+ cupcakeBalances[address(this)] -= amount;
+ cupcakeBalances[msg.sender] += amount;
+ }
+}
+```
+
+قراردادهای هوشمند می توانند جایگزین واسطه ها در بسیاری از صنایع شوند، مانند اینکه چگونه یک دستگاه فروش خودکار نیاز به کارمند فروشنده را برطرف می کند.
+
+## بدون نیاز به مجوز {#permissionless}
+
+هر کسی می تواند یک قرارداد هوشمند بنویسد و آن را در شبکه مستقر کند. فقط باید یاد بگیرید که چگونه در [زبان قرارداد هوشمند](/developers/docs/smart-contracts/languages/) کدنویسی کنید، و اتر کافی برای اجرای قرارداد خود داشته باشید. پیاده سازی یک قرارداد هوشمند از نظر فنی یک تراکنش است، بنابراین باید [کارمزد](/developers/docs/gas/) خود را مانند وقتی که نیاز به پرداخت کارمزد برای انتقال ساده اتر دارید، پرداخت کنید. با این تفاوت که،کارمزد پیادهسازی یک قرارداد هوشمند بسیار بالاتر است.
+
+اتریوم دارای زبانهای مناسب برای توسعهدهندگان برای نوشتن قراردادهای هوشمند است:
+
+- Solidity
+- Vyper
+
+[بیشتر دربارهی زبانها](/developers/docs/smart-contracts/languages/)
+
+با این حال، آنها باید قبل از استقرار آنها کامپایل شوند تا ماشین مجازی اتریوم بتواند قرارداد را تفسیر و ذخیره کند. [اطلاعات بیشتر دربارهی کامپایل کردن](/developers/docs/smart-contracts/compiling/)
+
+## ترکیب پذیری {#composability}
+
+قراردادهای هوشمند در اتریوم عمومی هستند و می توان آنها را به عنوان APIهای باز در نظر گرفت. این بدان معناست که می توانید قراردادهای هوشمند دیگری را در قرارداد هوشمند خود فرا بخوانید تا آنچه ممکن است را تا حد زیادی گسترش دهید. قراردادها حتی می توانند قراردادهای دیگری را مستقر کنند.
+
+دربارهی [ترکیب پذیری قرارداد هوشمند](/developers/docs/smart-contracts/composability/) بیشتر یاد بگیرید.
+
+## محدودیتها {#limitations}
+
+قراردادهای هوشمند به تنهایی نمی توانند اطلاعات مربوط به رویدادهای "دنیای واقعی" را دریافت کنند زیرا نمی توانند اطلاعاتی از منابع خارج زنجیره دریافت کنند. این بدین معنیست که نمیتوانند به اتفاقات دنیای واقعی پاسخ دهند. این بر اساس طراحی است. تکیه بر اطلاعات خارجی می تواند اجماع را که برای امنیت و تمرکززدایی مهم است، به خطر بیندازد.
+
+اما، برنامه های روی زنجیره باید بتوانند از اطلاعات خارج زنجیره استفاده کنند. راه حل آن [اوراکل ها](/developers/docs/oracles/) هستند که اطلاعات خارج زنجیره را جمع میکنند و در اختیار قراردادهای هوشمند میگذارند.
+
+یکی دیگر از محدودیت های قراردادهای هوشمند، حداکثر اندازه قرارداد است. یک قرارداد هوشمند می تواند حداکثر 24 کیلوبایت باشد وگرنه گاز آن تمام می شود. با استفاده از [الگوی الماس](https://eips.ethereum.org/EIPS/eip-2535) میتوان این موضوع را دور زد.
+
+## قراردادهای چند امضایی {#multisig}
+
+قراردادهای Multisig (چند امضایی) حسابهای قرارداد هوشمندی هستند که برای اجرای یک تراکنش به چندین امضای معتبر نیاز دارند. این مورد برای اجتناب از نقاط شکست منفرد برای قراردادهایی که مقادیر قابل توجهی اتر یا توکنهای دیگر دارند، بسیار مفید است. همچنین چند امضاییها مسئولیت اجرای قرارداد و مدیریت کلید را بین چندین طرف تقسیم میکند و از گم شدن یک کلید خصوصی که منجر به از دست دادن غیرقابل برگشت سرمایه میشود، جلوگیری میکنند. به این دلایل، قراردادهای چند امضایی را میتوان برای مدیریت ساده DAO استفاده کرد. چند امضاییها برای اجرا به N امضا از M امضای قابل قبول ممکن (که N ≤ M و M > 1) نیاز دارند. معمولاً از `N = 3، M = 5` و `N = 4، M = 7` استفاده میشود. یک چندامضایی 4/7 به چهار امضا از هفت امضای معتبر ممکن نیاز دارد. این بدان معناست که حتی اگر سه امضا از بین برود، وجوه هنوز قابل بازیابی هستند. در این مورد نیز به این معناست که اکثریت دارندگان کلید باید توافق و امضا کنند تا قرارداد اجرا شود.
+
+## منابع قرارداد هوشمند {#smart-contract-resources}
+
+**قراردادهای OpenZeppelin -** **_کتابخانهای برای توسعه قراردادهای هوشمند ایمن._**
+
+- [openzeppelin.com/contracts/](https://openzeppelin.com/contracts/)
+- [گیت هاب](https://github.com/OpenZeppelin/openzeppelin-contracts)
+- [تالار گفتگو](https://forum.openzeppelin.com/c/general/16)
+
+## بیشتر بخوانید {#further-reading}
+
+- [کوین بیس: قراردادهای هوشمند چه هستند؟](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract)
+- [چین لینک: قراردادهای هوشمند چه هستند؟](https://chain.link/education/smart-contracts)
+- [ویدیو: توضیح ساده قرارداد های هوشمند](https://youtu.be/ZE2HxTmxfrI)
+- [Cyfrin Updraft: بستر یادگیری و ممیزی Web3](https://updraft.cyfrin.io)
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/languages/index.md b/public/content/translations/fa/developers/docs/smart-contracts/languages/index.md
new file mode 100644
index 00000000000..cb5283f2962
--- /dev/null
+++ b/public/content/translations/fa/developers/docs/smart-contracts/languages/index.md
@@ -0,0 +1,326 @@
+---
+title: زبان های قرارداد هوشمند
+description: بررسی اجمالی و مقایسه دو زبان اصلی قرارداد هوشمند - Solidity و Vyper.
+lang: fa
+---
+
+یکی از جنبههای مهم در مورد اتریوم این است که قراردادهای هوشمند میتوانند با استفاده از زبانهای نسبتاً مناسب برای توسعهدهندگان برنامهنویسی شوند. اگر با پایتون و یا هر [ زبان براکت کرلی](https://wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages) دیگر تجربه دارید، می توانید یک زبان با ترکیب مشابه را پیدا کنید.
+
+دو زبان فعال و نگهداری شده عبارتند از:
+
+- Solidity
+- Vyper
+
+Remix IDE یک محیط توسعه جامع برای ایجاد و تست قراردادها در سالیدیتی و وایپر فراهم میکند. [برای شروع کدنویسی، محیط توسعه Remix IDE](https://remix.ethereum.org) درون مرورگر را امتحان کنید.
+
+توسعهدهندگان با تجربهتر ممکن است بخواهند از Yul یک زبان میانی برای [ماشین مجازی اتریوم](/developers/docs/evm/)، یا Yul+ افزونهای برای Yul استفاده کنند.
+
+اگر کنجکاو هستید و دوست دارید زبانهای جدیدی را آزمایش کنید که هنوز در حال توسعه هستند، میتوانید با Fe، یک زبان قرارداد هوشمند نوظهور که در حال حاضر هنوز در مراحل ابتدایی خود است، آزمایش کنید.
+
+## پیشنیازها {#prerequisites}
+
+دانش قبلی از زبان های برنامه نویسی، به ویژه جاوا اسکریپت یا پایتون، می تواند به شما کمک کند تفاوت زبان های قرارداد هوشمند را درک کنید. ما همچنین توصیه می کنیم قبل از اینکه به مقایسه عمیق زبانها بپردازید، قراردادهای هوشمند را به عنوان یک مفهوم درک کنید. معرفی [قراردادهای هوشمند](/developers/docs/smart-contracts/).
+
+## Solidity {#solidity}
+
+- زبان شیگرا و سطح بالا برای اجرای قراردادهای هوشمند.
+- زبان براکتی کرلی که عمیقترین تأثیر را از C++ گرفته است.
+- استاتیک تایپ (نوع متغیر در زمان کامپایل مشخص است).
+- موارد زیر را پشتیبانی میکند:
+ - ارثبری (شما میتوانید دیگر قراردادها را بسط دهید).
+ - کتابخانه ها (شما می توانید کدهای قابل استفاده مجدد ایجاد کنید که می توانید آنها را از قراردادهای مختلف فراخوانی کنید - مانند توابع استاتیک در یک کلاس ثابت در سایر زبان های برنامه نویسی شی گرا).
+ - انواع پیچیده مشخصشده توسط کاربر.
+
+### پیوند های مهم {#important-links}
+
+- [مستندات](https://docs.soliditylang.org/en/latest/)
+- [پرتال زبان Solidity](https://soliditylang.org/)
+- [Solidity با مثال](https://docs.soliditylang.org/en/latest/solidity-by-example.html)
+- [گیت هاب](https://github.com/ethereum/solidity/)
+- [چت روم گیتر Solidity](https://gitter.im/ethereum/solidity) با پلی به [چت روم ماتریس Solidity](https://matrix.to/#/#ethereum_solidity:gitter.im)
+- [برگه تقلب](https://reference.auditless.com/cheatsheet)
+- [وبلاگ Solidity](https://blog.soliditylang.org/)
+- [توییتر Solidity](https://twitter.com/solidity_lang)
+
+### قرارداد نمونه {#example-contract}
+
+```solidity
+// SPDX-License-Identifier: GPL-3.0
+pragma solidity >= 0.7.0;
+
+contract Coin {
+ // The keyword "public" makes variables
+ // accessible from other contracts
+ address public minter;
+ mapping (address => uint) public balances;
+
+ // Events allow clients to react to specific
+ // contract changes you declare
+ event Sent(address from, address to, uint amount);
+
+ // Constructor code is only run when the contract
+ // is created
+ constructor() {
+ minter = msg.sender;
+ }
+
+ // Sends an amount of newly created coins to an address
+ // Can only be called by the contract creator
+ function mint(address receiver, uint amount) public {
+ require(msg.sender == minter);
+ require(amount < 1e60);
+ balances[receiver] += amount;
+ }
+
+ // Sends an amount of existing coins
+ // from any caller to an address
+ function send(address receiver, uint amount) public {
+ require(amount <= balances[msg.sender], "Insufficient balance.");
+ balances[msg.sender] -= amount;
+ balances[receiver] += amount;
+ emit Sent(msg.sender, receiver, amount);
+ }
+}
+```
+
+این مثال باید به شما این حس را بدهد که سینتکس قرارداد Solidity چگونه است. برای جزئیات بیشتر در مورد توابع و متغیرها [مستندات را مشاهده کنید](https://docs.soliditylang.org/en/latest/contracts.html).
+
+## Vyper {#vyper}
+
+- زبان برنامه نویسی پایتونیک
+- تایپ کردن قوی
+- کد کامپایلر کوچک و قابل فهم
+- تولید بایت کد کارآمد
+- عمدا دارای ویژگی های کمتری نسبت به Solidity با هدف ایمن تر کردن قراردادها و تسهیل حسابرسی است. Vyper موارد زیر را پشتیبانی نمی کند:
+ - اصلاحکنندهها
+ - ارثبری
+ - اسمبلی درخط
+ - اضافه بار تابع
+ - اضافه باز اپراتور
+ - فراخوانی بازگشتی
+ - لوپهای طول بینهایت
+ - نقاط ثابت دوتایی
+
+برای اطلاعات بیشتر [منطق Vyper را مطالعه کنید](https://vyper.readthedocs.io/en/latest/index.html).
+
+### لینک های مهم {#important-links-1}
+
+- [مستندات](https://vyper.readthedocs.io)
+- [Vyper با مثال](https://vyper.readthedocs.io/en/latest/vyper-by-example.html)
+- [Vyper بیشتر با مثال](https://vyper-by-example.org/)
+- [گیتهاب](https://github.com/vyperlang/vyper)
+- [انجمن چت Vyper Discord](https://discord.gg/SdvKC79cJk)
+- [برگه ی تقلب](https://reference.auditless.com/cheatsheet)
+- [چارچوب ها و ابزارهای توسعه قرارداد هوشمند برای Vyper](/developers/docs/programming-languages/python/)
+- [VyperPunk - یاد بگیرید که قراردادهای هوشمند Vyper را ایمن و هک کنید](https://github.com/SupremacyTeam/VyperPunk)
+- [VyperExamples - نمونه های آسیب پذیری Vyper](https://www.vyperexamples.com/reentrancy)
+- [Vyper Hub برای توسعه](https://github.com/zcor/vyper-dev)
+- [نمونههای مهم قرارداد هوشمند Vyper](https://github.com/pynchmeister/vyper-greatest-hits/tree/main/contracts)
+- [منابع عالی Vyper سرپرستی شده](https://github.com/spadebuilders/awesome-vyper)
+
+### مثال {#example}
+
+```python
+# Open Auction
+
+# Auction params
+# Beneficiary receives money from the highest bidder
+beneficiary: public(address)
+auctionStart: public(uint256)
+auctionEnd: public(uint256)
+
+# Current state of auction
+highestBidder: public(address)
+highestBid: public(uint256)
+
+# Set to true at the end, disallows any change
+ended: public(bool)
+
+# Keep track of refunded bids so we can follow the withdraw pattern
+pendingReturns: public(HashMap[address, uint256])
+
+# Create a simple auction with `_bidding_time`
+# seconds bidding time on behalf of the
+# beneficiary address `_beneficiary`.
+@external
+def __init__(_beneficiary: address, _bidding_time: uint256):
+ self.beneficiary = _beneficiary
+ self.auctionStart = block.timestamp
+ self.auctionEnd = self.auctionStart + _bidding_time
+
+# Bid on the auction with the value sent
+# together with this transaction.
+# The value will only be refunded if the
+# auction is not won.
+@external
+@payable
+def bid():
+ # Check if bidding period is over.
+ assert block.timestamp < self.auctionEnd
+ # Check if bid is high enough
+ assert msg.value > self.highestBid
+ # Track the refund for the previous high bidder
+ self.pendingReturns[self.highestBidder] += self.highestBid
+ # Track new high bid
+ self.highestBidder = msg.sender
+ self.highestBid = msg.value
+
+# Withdraw a previously refunded bid. The withdraw pattern is
+# used here to avoid a security issue. If refunds were directly
+# sent as part of bid(), a malicious bidding contract could block
+# those refunds and thus block new higher bids from coming in.
+@external
+def withdraw():
+ pending_amount: uint256 = self.pendingReturns[msg.sender]
+ self.pendingReturns[msg.sender] = 0
+ send(msg.sender, pending_amount)
+
+# End the auction and send the highest bid
+# to the beneficiary.
+@external
+def endAuction():
+ # It is a good guideline to structure functions that interact
+ # with other contracts (i.e. they call functions or send ether)
+ # into three phases:
+ # 1. checking conditions
+ # 2. performing actions (potentially changing conditions)
+ # 3. interacting with other contracts
+ # If these phases are mixed up, the other contract could call
+ # back into the current contract and modify the state or cause
+ # effects (ether payout) to be performed multiple times.
+ # If functions called internally include interaction with external
+ # contracts, they also have to be considered interaction with
+ # external contracts.
+
+ # 1. Conditions
+ # Check if auction endtime has been reached
+ assert block.timestamp >= self.auctionEnd
+ # Check if this function has already been called
+ assert not self.ended
+
+ # 2. Effects
+ self.ended = True
+
+ # 3. Interaction
+ send(self.beneficiary, self.highestBid)
+```
+
+این مثال باید به شما این حس را بدهد که سینتکس قرارداد Vyper چگونه است. برای جزئیات بیشتر در مورد توابع و متغیرها [مستندات را مشاهده کنید](https://vyper.readthedocs.io/en/latest/vyper-by-example.html#simple-open-auction).
+
+## Yul و +Yul {#yul}
+
+اگر به تازگی وارد اتریوم شده اید و هنوز هیچ کدنویسی با زبان های قرارداد هوشمند انجام نداده اید، توصیه می کنیم با Solidity یا Vyper شروع کنید. فقط زمانی به Yul یا +Yul نگاه کنید که با بهترین روشهای امنیتی قرارداد هوشمند و ویژگیهای کار با EVM آشنا شدید.
+
+**Yul**
+
+- زبان میانی برای اتریوم.
+- از [ماشین مجازی اتریوم](/developers/docs/evm) و [Ewasm](https://github.com/ewasm)، یک WebAssembly با طعم اتریوم، پشتیبانی می کند و طراحی شده تا مخرج مشترک قابل استفاده هر دو پلتفرم باشد.
+- هدف خوبی برای مراحل بهینهسازی سطح بالا است که میتواند برای هر دو پلتفرم ماشین مجازی اتریوم و Ewasm به طور یکسان مفید باشد.
+
+**+Yul**
+
+- یک برنامه افزودنی سطح پایین و بسیار کارآمد برای Yul.
+- در ابتدا برای یک قرارداد [رول آپ خوش بینانه](/developers/docs/scaling/optimistic-rollups/) طراحی شد.
+- +Yul را میتوان بهعنوان پیشنهاد ارتقای آزمایشی Yul در نظر گرفت و ویژگیهای جدیدی را به آن اضافه کرد.
+
+### پیوند های مهم {#important-links-2}
+
+- [مستندات Yul](https://docs.soliditylang.org/en/latest/yul.html)
+- [مستندات +Yul](https://github.com/fuellabs/yulp)
+- [زمین بازی +Yul](https://yulp.fuel.sh/)
+- [پست معرفی +Yul](https://medium.com/@fuellabs/introducing-yul-a-new-low-level-language-for-ethereum-aa64ce89512f)
+
+### قرارداد نمونه {#example-contract-2}
+
+مثال ساده زیر یک تابع توان را پیادهسازی می کند. میتواند با استفاده از `solc --strict-assembly --bin input.yul` کامپایل شود. مثال باید در فایل input.yul ذخیره شود.
+
+```
+{
+ function power(base, exponent) -> result
+ {
+ switch exponent
+ case 0 { result := 1 }
+ case 1 { result := base }
+ default
+ {
+ result := power(mul(base, base), div(exponent, 2))
+ if mod(exponent, 2) { result := mul(base, result) }
+ }
+ }
+ let res := power(calldataload(0), calldataload(32))
+ mstore(0, res)
+ return(0, 32)
+}
+```
+
+اگر قبلاً در قراردادهای هوشمند تجربه خوبی دارید، پیادهسازی کامل ERC20 در Yul را میتوانید در [اینجا](https://solidity.readthedocs.io/en/latest/yul.html#complete-erc20-example) پیدا کنید.
+
+## Fe {#fe}
+
+- زبان تایپ ایستا برای ماشین مجازی اتریوم (EVM).
+- با الهام از پایتون و Rust.
+- هدف این است که یادگیری آسان باشد -- حتی برای توسعه دهندگانی که به تازگی وارد اکوسیستم اتریوم شده اند.
+- توسعه Fe هنوز در مراحل اولیه خود است، این زبان در ژانویه 2021 انتشار نسخه آلفای خود را داشت.
+
+### پیوند های مهم {#important-links-3}
+
+- [گیتهاب](https://github.com/ethereum/fe)
+- [اطلاعیه Fe](https://snakecharmers.ethereum.org/fe-a-new-language-for-the-ethereum-ecosystem/)
+- [نقشهی راه ۲۰۲۱ Fe](https://notes.ethereum.org/LVhaTF30SJOpkbG1iVw1jg)
+- [چت دیسکورد Fe](https://discord.com/invite/ywpkAXFjZH)
+- [توییتر Fe](https://twitter.com/official_fe)
+
+### قرارداد نمونه {#example-contract-3}
+
+در زیر یک قرارداد ساده اجرا شده در Fe است.
+
+```
+type BookMsg = bytes[100]
+
+contract GuestBook:
+ pub guest_book: map
+
+ event Signed:
+ book_msg: BookMsg
+
+ pub def sign(book_msg: BookMsg):
+ self.guest_book[msg.sender] = book_msg
+
+ emit Signed(book_msg=book_msg)
+
+ pub def get_msg(addr: address) -> BookMsg:
+ return self.guest_book[addr].to_mem()
+
+```
+
+## چگونه انتخاب کنیم {#how-to-choose}
+
+مانند هر زبان برنامه نویسی دیگری، بیشتر در مورد انتخاب ابزار مناسب برای کار مناسب و همچنین ترجیحات شخصی است.
+
+اگر هنوز هیچ یک از زبان ها را امتحان نکرده اید، چند نکته را در نظر بگیرید:
+
+### چه چیز دربارهی Solidity عالی است؟ {#solidity-advantages}
+
+- اگر مبتدی هستید، آموزش ها و ابزارهای یادگیری زیادی وجود دارد. در بخش [آموزش با برنامهنویسی](/developers/learning-tools/) اطلاعات بیشتری در مورد آن ببینید.
+- ابزار توسعه دهنده خوب در دسترس است.
+- Solidity یک جامعه توسعه دهندگان بزرگ دارد، به این معنی که به احتمال زیاد پاسخ سوالات خود را خیلی سریع پیدا خواهید کرد.
+
+### چه چیز دربارهی Vyper عالی است؟ {#vyper-advatages}
+
+- راه عالی برای شروع برای توسعه دهندگان پایتون که می خواهند قراردادهای هوشمند بنویسند.
+- Vyper تعداد کمتری ویژگی دارد که آن را برای نمونه سازی سریع ایده ها عالی می کند.
+- هدف Vyper این است که برای ممیزی آسان و برای انسان حداکثر خوانا باشد.
+
+### چه چیزی در مورد Yul و +Yul عالی است؟ {#yul-advantages}
+
+- زبان سطح پایین ساده و کاربردی.
+- اجازه می دهد تا به EVM خام نزدیک تر شوید، که می تواند به بهینهسازی مصرف گاز در قراردادهای شما کمک کند.
+
+## مقایسههای زبان {#language-comparisons}
+
+برای مقایسه ترکیب اولیه، چرخه عمر قرارداد، رابط ها، عملگر ها، ساختارهای داده، توابع، جریان کنترل و موارد دیگر، این [برگه تقلب از Auditless](https://reference.auditless.com/cheatsheet/) را بررسی کنید
+
+## اطلاعات بیشتر {#further-reading}
+
+- [کتابخانه قراردادهای Solidity از OpenZeppelin](https://docs.openzeppelin.com/contracts)
+- [Solidity با مثال](https://solidity-by-example.org)
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/libraries/index.md b/public/content/translations/fa/developers/docs/smart-contracts/libraries/index.md
new file mode 100644
index 00000000000..10c013deb29
--- /dev/null
+++ b/public/content/translations/fa/developers/docs/smart-contracts/libraries/index.md
@@ -0,0 +1,117 @@
+---
+title: کتابخانه های قرارداد هوشمند
+description:
+lang: fa
+---
+
+لازم نیست هر قرارداد هوشمندی را در پروژه خود از ابتدا بنویسید. بسیاری از کتابخانههای قراردادهای هوشمند منبع باز موجود هستند که بلوکهای ساختن قابل استفاده مجدد را برای پروژه شما فراهم میکنند که میتواند شما را از اختراع مجدد چرخ نجات دهد.
+
+## پیشنیازها {#prerequisites}
+
+قبل از ورود به کتابخانه های قرارداد هوشمند، ایده خوبی است که درک خوبی از ساختار قرارداد هوشمند داشته باشید. اگر هنوز این کار را نکردهاید، به [آناتومی قراردادهای هوشمند](/developers/docs/smart-contracts/anatomy/) بروید.
+
+## در یک کتابخانه چه چیز است؟ {#whats-in-a-library}
+
+معمولاً میتوانید دو نوع بلوک ساختن را در کتابخانههای قراردادهای هوشمند بیابید: رفتارهای قابل استفاده مجدد که میتوانید به قراردادهای خود اضافه کنید، و اجرای استانداردهای مختلف.
+
+### رفتارها {#behaviors}
+
+هنگام نوشتن قراردادهای هوشمند، این احتمال وجود دارد که شما بارها و بارها الگوهای مشابهی را بنویسید، مانند اختصاص یک آدرس _ادمین_ برای انجام عملیات محافظت شده در یک قرارداد، یا افزودن دکمه _مکث_ اضطراری در صورت بروز مشکل غیرمنتظره.
+
+کتابخانههای قراردادهای هوشمند معمولاً پیادهسازیهای قابل استفاده مجدد از این رفتارها را بهعنوان [کتابخانهها](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#libraries) یا [ارثبری](https://solidity.readthedocs.io/en/v0.7.2/contracts.html#inheritance) در Solidity ارائه میکنند.
+
+به عنوان یک مثال، یک نسخهی سادهشده از [قرارداد `قابل تصاحب`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol) از [کتابخانهی قراردادهای OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts) را دنبال کنید که یک آدرس را به عنوان مالک قرارداد تعیین می کند و یک اصلاح کننده برای محدود کردن دسترسی به یک روش فقط به آن مالک ارائه می دهد.
+
+```solidity
+contract Ownable {
+ address public owner;
+
+ constructor() internal {
+ owner = msg.sender;
+ }
+
+ modifier onlyOwner() {
+ require(owner == msg.sender, "Ownable: caller is not the owner");
+ _;
+ }
+}
+```
+
+برای استفاده از یک بلوک مانند این در قرارداد خود، باید ابتدا آن را وارد کنید، و سپس آن را در قراردادهای خود بسط دهید. این به شما امکان می دهد از اصلاح کننده ارائه شده توسط قرارداد پایه `Ownable` برای ایمنسازی توابع خود استفاده کنید.
+
+```solidity
+import ".../Ownable.sol"; // Path to the imported library
+
+contract MyContract is Ownable {
+ // The following function can only be called by the owner
+ function secured() onlyOwner public {
+ msg.sender.transfer(1 ether);
+ }
+}
+```
+
+یک مثال محبوب دیگر [SafeMath](https://docs.openzeppelin.com/contracts/3.x/utilities#math) یا [DsMath](https://dappsys.readthedocs.io/en/latest/ds_math.html) است. اینها کتابخانههایی هستند (برخلاف قراردادهای پایه) که توابع حسابی را با بررسیهای سرریز ارائه میکنند که توسط زبان ارائه نمیشود. استفاده از هر یک از این کتابخانه ها به جای عملیات محاسباتی بومی برای محافظت از قرارداد شما در برابر سرریزها، که می تواند عواقب فاجعه باری داشته باشد، تمرین خوبی است!
+
+### استانداردها {#standards}
+
+برای تسهیل [ترکیب پذیری و قابلیت همکاری](/developers/docs/smart-contracts/composability/)، جامعهی اتریوم چند استاندارد به شکل **ERCها** طراحی کرده است. شما میتوانید دربارهی آنها در بخش [استانداردها](/developers/docs/standards/) بیشتر بخوانید.
+
+هنگامی که یک ERC را به عنوان بخشی از قراردادهای خود درج می کنید، ایده خوبی است که به جای اجرای پیادهسازی های خود، به دنبال پیادهسازی های استاندارد باشید. بسیاری از کتابخانه های قراردادهای هوشمند شامل پیادهسازی هایی برای محبوب ترین ERC ها هستند. برای مثال [استاندارد توکنهای قابل معاوضه ERC20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) که همهجا وجود دارد میتوانند در [HQ20](https://github.com/HQ20/contracts/blob/master/contracts/token/README.md)، [DappSys](https://github.com/dapphub/ds-token/) و [OpenZeppelin](https://docs.openzeppelin.com/contracts/3.x/erc20) یافت شوند. علاوه بر این، برخی از ERC ها نیز پیادهسازی های متعارف را به عنوان بخشی از خود ERC ارائه می دهند.
+
+شایان ذکر است که برخی از ERC ها مستقل نیستند، بلکه اضافه شده به سایر ERC ها هستند. برای مثال، [ERC2612](https://eips.ethereum.org/EIPS/eip-2612) یک افزونهای به ERC20 برای بهبود استفادهاش اضافه میکند.
+
+## چگونه یک کتابخانه اضافه کنیم {#how-to}
+
+برای دستورالعملهای خاص در مورد نحوه گنجاندن کتابخانه در پروژه، همیشه به مستندات کتابخانهای که اضافه میکنید مراجعه کنید. چندین کتابخانه قرارداد Solidity با استفاده از `npm` بسته بندی شده اند، بنابراین شما می توانید آنها را `npm install` کنید. بیشتر ابزارهای [کامپایل کردن](/developers/docs/smart-contracts/compiling/) قراردادها، به `node_modules` برای کتابخانههای قرارداد هوشمند نگاه میکنند، در نتیجه شما میتوانید به روش زیر عمل کنید:
+
+```solidity
+// This will load the @openzeppelin/contracts library from your node_modules
+import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
+
+contract MyNFT is ERC721 {
+ constructor() ERC721("MyNFT", "MNFT") public { }
+}
+```
+
+صرف نظر از روشی که استفاده میکنید، هنگام گنجاندن کتابخانه، همیشه به نسخه [زبان](/developers/docs/smart-contracts/languages/) توجه داشته باشید. به عنوان مثال، اگر قراردادهای خود را در Solidity 0.5 می نویسید، نمی توانید از کتابخانه برای Solidity 0.6 استفاده کنید.
+
+## چه زمانی استفاده کنیم {#when-to-use}
+
+استفاده از کتابخانه قرارداد هوشمند برای پروژه شما مزایای متعددی دارد. اول از همه، با ارائه بلوکهای ساخت آمادهای که میتوانید در سیستم خود بگنجانید، در وقت شما صرفهجویی میکند، نه اینکه خودتان آنها را کدنویسی کنید.
+
+امنیت نیز یک مزیت اصلی است. کتابخانه های قراردادهای هوشمند منبع باز نیز اغلب به شدت مورد بررسی قرار می گیرند. با توجه به اینکه بسیاری از پروژهها به آنها وابسته هستند، جامعه انگیزه زیادی برای نگه داشتن آنها تحت بررسی دائمی دارد. یافتن خطا در کد برنامه بسیار رایج تر از کتابخانه های قراردادی قابل استفاده مجدد است. برخی از کتابخانهها نیز برای امنیت بیشتر تحت [ممیزیهای خارجی](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audits) قرار میگیرند.
+
+با این حال، استفاده از کتابخانههای قرارداد هوشمند خطر گنجاندن کدهایی را که با آنها آشنا نیستید در پروژه خود به همراه دارد. وسوسه انگیز است که یک قرارداد را وارد کنید و آن را مستقیماً در پروژه خود شامل کنید، اما بدون درک خوب از آنچه آن قرارداد انجام می دهد، ممکن است به دلیل یک رفتار غیرمنتظره به طور ناخواسته مشکلی را در سیستم خود وارد کنید. همیشه مطمئن شوید که مستندات کدی را که وارد میکنید بخوانید و سپس قبل از اینکه آن را بخشی از پروژه خود کنید، خود کد را بررسی کنید!
+
+در آخر، هنگام تصمیم گیری در مورد گنجاندن کتابخانه، استفاده کلی از آن را در نظر بگیرید. یک مورد که به طور گسترده پذیرفته شده است و دارای مزایای داشتن یک جامعه بزرگتر و افراد بیشتر در آن برای رسیدگی به مسائل است. هنگام ساخت با قراردادهای هوشمند، امنیت باید تمرکز اصلی شما باشد!
+
+## ابزارهای مرتبط {#related-tools}
+
+**قراردادهای OpenZeppelin -** **_محبوب ترین کتابخانه برای توسعه قراردادهای هوشمند ایمن._**
+
+- [مستندات](https://docs.openzeppelin.com/contracts/)
+- [گیت هاب](https://github.com/OpenZeppelin/openzeppelin-contracts)
+- [انجمن گفتگو](https://forum.openzeppelin.com/c/general/16)
+
+**DappSys -** **_بلوک های ساخت ایمن، ساده و انعطافپذیر برای قراردادهای هوشمند._**
+
+- [مستندات](https://dappsys.readthedocs.io/)
+- [گیت هاب](https://github.com/dapphub/dappsys)
+
+**HQ20 -** **_یک پروژه Solidity با قراردادها، کتابخانه ها و نمونه هایی که به شما کمک می کند تا برنامه های کاربردی توزیع شده با ویژگی های کامل را برای دنیای واقعی بسازید._**
+
+- [گیت هاب](https://github.com/HQ20/contracts)
+
+**کیت توسعه نرمافزار سالیدیتی Thirdweb-****_ ابزار های لازم برای ساخت قراردادهای هوشمند بهینه و مؤثر را در اختیار توسعه دهندگان میگذارد_**
+
+- [اسناد](https://portal.thirdweb.com/contracts/build/overview)
+- [گیت هاب](https://github.com/thirdweb-dev/contracts)
+
+## آموزش های مرتبط {#related-tutorials}
+
+- [ملاحظات امنیتی برای توسعه دهندگان اتریوم](/developers/docs/smart-contracts/security/) _- آموزشی در مورد ملاحظات امنیتی هنگام ساخت قراردادهای هوشمند، از جمله استفاده از کتابخانه._
+- [فهم قرارداد هوشمند توکن ERC-20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _- آموزشی بر استاندارد ERC20، فراهم شده توسط چندین کتابخانه._
+
+## بیشتر بخوانید {#further-reading}
+
+_میخواهید در مورد منابع جامعه که به شما کمک کرده بدانید؟ این صفحه را ویرایش و اضافه کنید!_
diff --git a/public/content/translations/fa/developers/docs/smart-contracts/security/index.md b/public/content/translations/fa/developers/docs/smart-contracts/security/index.md
new file mode 100644
index 00000000000..340d1f6e4d0
--- /dev/null
+++ b/public/content/translations/fa/developers/docs/smart-contracts/security/index.md
@@ -0,0 +1,580 @@
+---
+title: امنیت قرارداد هوشمند
+description: مروری بر دستورالعملهای ساخت قراردادهای هوشمند ایمن در اتریوم
+lang: fa
+---
+
+قراردادهای هوشمند بسیار انعطافپذیر هستند و می توانند مقادیر زیادی از ارزش و داده را کنترل کنند، در حالی که منطق تغییرناپذیر مبتنی بر کد مستقر در بلاک چین را اجرا می کنند. این یک اکوسیستم پر جنب و جوش از برنامه های کاربردی بی نیاز از اعتماد و غیرمتمرکز ایجاد کرده است که مزایای زیادی را نسبت به سیستم های قدیمی ارائه می دهد. آنها همچنین فرصتهایی را برای مهاجمانی که به دنبال سودجویی از طریق سوءاستفاده از آسیبپذیریها در قراردادهای هوشمند هستند، نشان میدهند.
+
+بلاک چین های عمومی، مانند اتریوم، مسئله ایمنسازی قراردادهای هوشمند را پیچیدهتر و سختتر می کند. _معمولا_ پس از استقرار کد قرارداد در شبکه، نمیتوان آن را به منظور رفع نقص های امنیتی را تغییر داد، در حالی که ردیابی دارایی های دزدیده شده از قراردادهای هوشمند بسیار دشوار است و عمدتاً به دلیل تغییر ناپذیری قابل بازیابی نیستند.
+
+اگرچه اعداد و ارقام متفاوت است، تخمین زده می شود که کل ارزش سرقت شده یا از دست رفته به دلیل نقص امنیتی در قراردادهای هوشمند به راحتی بیش از یک میلیارد دلار است. این شامل حوادث پرمخاطب، مانند [هک DAO](https://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/) (3.6M اتریوم دزدیده شده، به ارزش بیش از 1 میلیارد دلار در قیمت های امروزی)، [هک کیف پول چند علامتی Parity](https://www.coindesk.com/markets/2017/07/19/30-million-ether-reported-stolen-due-to-parity-wallet-breach) (30 میلیون دلار از دست هکرها) و [ مشکل کیف پول منجمد شده](https://www.theguardian.com/technology/2017/nov/08/cryptocurrency-300m-dollars-stolen-bug-ether) (بیش از 300 میلیون دلار ETH برای همیشه قفل شده است).
+
+مسائل ذکر شده، توسعه دهندگان را مجبور میکند تا تلاش کنند قراردادهای هوشمند ایمن، نبوغ آمیز و منعطف بسازند. امنیت قراردادهای هوشمند یک تجارت جدی است و هر توسعهدهندهای باید آن را یاد بگیرد. این راهنما ملاحظات امنیتی برای توسعه دهندگان اتریوم را پوشش می دهد و منابعی را برای بهبود امنیت قراردادهای هوشمند بررسی می کند.
+
+## پیشنیازها {#prerequisites}
+
+قبل از پرداختن به امنیت، مطمئن شوید که با [مبانی توسعه قرارداد هوشمند](/developers/docs/smart-contracts/) آشنا هستید.
+
+## دستورالعمل هایی برای ساخت قراردادهای هوشمند ایمن در اتریوم {#smart-contract-security-guidelines}
+
+### 1. کنترل های دسترسی طراحی مناسب {#design-proper-access-controls}
+
+در قراردادهای هوشمند، عملکردهایی که `public` یا `external` علامتگذاری شدهاند، میتوانند توسط هر حساب تحت مالکیت خارجی (EOA) یا حساب قراردادی فراخوانی شوند. اگر میخواهید دیگران با قرارداد شما در تعامل باشند، مشخص کردن نمای عمومی برای عملکردها ضروری است. با این حال، عملکردهایی که با `private` علامتگذاری شدهاند، فقط توسط توابع داخل قرارداد هوشمند فراخوانی میشوند و در حسابهای خارجی مورد استفاده قرار نمی گیرند. دادن دسترسی به هر یک از شرکتکنندگان شبکه به توابع قرارداد میتواند باعث ایجاد مشکلاتی شود، بهویژه اگر به این معنی باشد که هر کسی بتواند عملیات حساس را انجام دهد (به عنوان مثال، استخراج توکنهای جدید).
+
+برای جلوگیری از استفاده غیرمجاز از توابع قرارداد هوشمند، لازم است کنترل های دسترسی ایمن را اجرا کنید. مکانیسمهای کنترل دسترسی، توانایی استفاده از عملکردهای خاص در یک قرارداد هوشمند را به نهادهای تایید شده، مانند حسابهای مسئول مدیریت قرارداد، محدود میکند. **الگوی مالکیت** و **کنترل مبتنی بر نقش** دو الگوی مفید برای اجرای کنترل دسترسی در قراردادهای هوشمند هستند:
+
+#### الگوی قابل مالکیت {#ownable-pattern}
+
+در الگویل قابل مالکیت، یک آدرس به عنوان "مالک" قرارداد در طول فرآیند ایجاد قرارداد تنظیم می شود. به توابع محافظت شده یک اصلاحکننده `OnlyOwner` اختصاص داده میشود، که تضمین میکند قرارداد قبل از اجرای تابع، هویت آدرس تماس را تأیید میکند. تماسهای توابع محافظتشده از آدرسهای دیگر به غیر از مالک قرارداد، همیشه برمیگردند و از دسترسی ناخواسته جلوگیری میکنند.
+
+#### کنترل دسترسی مبتنی بر نقش {#role-based-access-control}
+
+ثبت یک آدرس واحد بهعنوان `Owner` در یک قرارداد هوشمند، خطر تمرکز را معرفی میکند و نشاندهنده یک نقطه شکست واحد است. اگر کلیدهای حساب مالک به خطر بیفتد، مهاجمان می توانند به قرارداد مالکیت حمله کنند. به همین دلیل است که استفاده از الگوی کنترل دسترسی مبتنی بر نقش با چندین حساب اداری ممکن است گزینه بهتری باشد.
+
+در کنترل دسترسی مبتنی بر نقش، دسترسی به عملکردهای حساس بین مجموعه ای از شرکت کنندگان قابل اعتماد توزیع می شود. به عنوان مثال، یک حساب ممکن است مسئول ضرب توکن ها باشد، در حالی که حساب دیگری ارتقاء داده یا قرارداد را متوقف می کند. غیرمتمرکز کردن کنترل دسترسی به این روش، نقاط منفرد شکست را از بین می برد و مفروضات اعتماد را برای کاربران کاهش می دهد.
+
+##### استفاده از کیف پولهای چند امضایی
+
+روش دیگر برای اجرای کنترل دسترسی ایمن استفاده از [حساب چند امضایی](/developers/docs/smart-contracts/#multisig) برای مدیریت قرارداد است. برخلاف یک EOA معمولی، حسابهای چند امضایی متعلق به چندین نهاد هستند و برای انجام تراکنشها به امضای حداقل تعداد حسابها (مثلاً 3 از 5) نیاز دارند.
+
+استفاده از مالتی سیگ برای کنترل دسترسی، یک لایه امنیتی اضافی را معرفی میکند زیرا اقدامات روی قرارداد هدف مستلزم رضایت چندین طرف است. این مورد به ویژه در صورتی مفید است که استفاده از الگوی اونبل (Ownable) ضروری باشد، زیرا دستکاری عملکردهای حساس قرارداد برای اهداف مخرب را برای مهاجم دشوارتر میکند.
+
+### 2. برای محافظت از عملیات قرارداد از عبارات require() و assert() و revert() استفاده کنید {#use-require-assert-revert}
+
+همانطور که گفته شد، هر کسی میتواند توابع عمومی را در قرارداد هوشمند شما پس از استقرار در بلاکچین فراخوانی کند. از آنجایی که نمیتوانید از قبل بدانید حسابهای خارجی چگونه با یک قرارداد تعامل خواهند داشت، بهتراست که قبل از استقرار، حفاظتهای داخلی در برابر عملیات مشکلساز را اجرا کنید. میتوانید با استفاده از دستورات `require()`، `assert()` و `revert()` رفتار صحیح را در قراردادهای هوشمند برای راهاندازی استثناها و برگرداندن تغییرات حالت اعمال کنید، در صورتی که اجرا نتواند الزامات خاصی را برآورده کند.
+
+**`require()`**: دستورها `require` در شروع توابع تعریف میشوند و اطمینان میدهند که شرایط از پیش تعریف شده قبل از اجرای تابع فراخوانی شده برآورده میشوند. یک عبارت `require` را میتوان برای اعتبارسنجی ورودی های کاربر، بررسی متغیرهای حالت، یا احراز هویت حساب فراخوان قبل از پیشرفت با یک تابع استفاده کرد.
+
+**`assert()`**: دستور `assert()` برای شناسایی خطاهای داخلی و بررسی نقض "invariants" در کد شما استفاده می شود. یک invariant یک ادعای منطقی در مورد وضعیت قرارداد است که باید برای اجرای همه توابع صادق باشد. یک مثال ثابت، حداکثر عرضه یا موجودی یک قرارداد توکن است. استفاده از `assert()` تضمین میکند که قرارداد شما هرگز به یک وضعیت آسیبپذیر نمیرسد، و در صورت رسیدن، همه تغییرات در متغیرهای حالت برگردانده میشوند.
+
+**`revert()`**: دستور `revert()` را می توان در یک عبارت if-else استفاده کرد که در صورت عدم رعایت شرایط مورد نیاز، یک استثنا ایجاد می کند. قرارداد نمونه زیر از `revert()` برای محافظت از اجرای توابع استفاده می کند:
+
+```
+pragma solidity ^0.8.4;
+
+contract VendingMachine {
+ address owner;
+ error Unauthorized();
+ function buy(uint amount) public payable {
+ if (amount > msg.value / 2 ether)
+ revert("Not enough Ether provided.");
+ // Perform the purchase.
+ }
+ function withdraw() public {
+ if (msg.sender != owner)
+ revert Unauthorized();
+
+ payable(msg.sender).transfer(address(this).balance);
+ }
+}
+```
+
+### 3. قراردادهای هوشمند را تست کنید و صحت کد را تأیید کنید {#test-smart-contracts-and-verify-code-correctness}
+
+تغییرناپذیری کدهای در حال اجرا در [ماشین مجازی اتریوم](/developers/docs/evm/) به این معنی است که قراردادهای هوشمند سطح بالاتری از ارزیابی کیفیت را در مرحله توسعه می طلبد. تست قرارداد خود به طور گسترده و مشاهده آن برای نتایج غیرمنتظره امنیت را تا حد زیادی بهبود میبخشد و در دراز مدت از کاربران شما محافظت میکند.
+
+روش معمول نوشتن تستهای واحد کوچک با استفاده از دادههای ساختگی است که انتظار میرود قرارداد را از کاربران دریافت کند. [آزمایش Unit](/developers/docs/smart-contracts/testing/#unit-testing) برای آزمایش عملکرد عملکردهای خاص و اطمینان از اینکه قرارداد هوشمند مطابق انتظار عمل می کند خوب است.
+
+متأسفانه، تست واحد برای بهبود امنیت قراردادهای هوشمند زمانی که به صورت مجزا مورد استفاده قرار میگیرد، حداقل مؤثر است. یک تست واحد ممکن است ثابت کند که یک تابع برای دادههای ساختگی به درستی اجرا میشود، اما تستهای واحد فقط به اندازه تستهای نوشته شده مؤثر هستند. این امر تشخیص موارد لبه از دست رفته و آسیب پذیری هایی را که می تواند ایمنی قرارداد هوشمند شما را به هم بزند، دشوار می کند.
+
+یک رویکرد بهتر ترکیب آزمایش واحد با آزمایش مبتنی بر ویژگی است که با استفاده از [تحلیل استاتیک و پویا](/developers/docs/smart-contracts/testing/#static-dynamic-analysis) انجام میشود. تجزیه و تحلیل استاتیک بر نمایشهای سطح پایین، مانند [گرافهای جریان کنترل](https://en.wikipedia.org/wiki/Control-flow_graph) و [درختهای نحو انتزاعی](https://deepsource.io/glossary/ast/) برای تجزیه و تحلیل وضعیتهای قابل دسترسی برنامه و مسیرهای اجرا. در همین حال، تکنیکهای تحلیل پویا، مانند [فازی قرارداد هوشمند](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry)، قرارداد را اجرا میکنند. کد با مقادیر ورودی تصادفی برای شناسایی عملیاتی که ویژگیهای امنیتی را نقض میکند.
+
+[تأیید رسمی](/developers/docs/smart-contracts/formal-verification) تکنیک دیگری برای تأیید ویژگیهای امنیتی در قراردادهای هوشمند است. برخلاف تستهای معمولی، تأیید رسمی میتواند به طور قطعی عدم وجود خطا در یک قرارداد هوشمند را ثابت کند. این امر با ایجاد یک مشخصات رسمی که ویژگیهای امنیتی مورد نظر را نشان میدهد و اثبات اینکه مدل رسمی قراردادها به این مشخصات پایبند است، به دست میآید.
+
+### 4. درخواست بررسی مستقل کد خود را داشته باشید {#get-independent-code-reviews}
+
+پس از تست قرارداد خود، بهتر است از دیگران بخواهید که کد منبع را برای هرگونه مشکل امنیتی بررسی کنند. تست تمام ایرادات یک قرارداد هوشمند را آشکار نمیکند، اما دریافت یک بررسی مستقل امکان شناسایی آسیب پذیریها را افزایش میدهد.
+
+#### حسابرسیهای امنیتی {#audits}
+
+راهاندازی آدیت قرارداد هوشمند یکی از راههای انجام بررسی مستقل کد است. حسابرسان یا آدیتورها نقش مهمی در حصول اطمینان از ایمن بودن قراردادهای هوشمند و عاری از نقص کیفی و خطاهای طراحی دارند.
+
+با وجود همهی این موارد، شما نباید با حسابرسی امنیتی مانند پاسخی برای تمام مشکلات برخورد کنید. آدیت قراردادهای هوشمند هر اشکالی را شناسایی نمیکند و عمدتاً برای ارائه یک سری بررسی اضافی طراحی شده است که میتواند به شناسایی مشکلاتی که توسعه دهندگان در طول توسعه و تست اولیه از قلم انداختهاند کمک کند. همچنین باید بهترین روشها را برای کار با حسابرسان، مانند مستندسازی کد به درستی و افزودن نظرات درون خطی، دنبال کنید تا از مزایای حسابرسی قرارداد هوشمند به حداکثر برسانید.
+
+- [نکات حسابرسی قرارداد هوشمند و amp; ترفندها](https://twitter.com/tinchoabbate/status/1400170232904400897) - _@tinchoabbate_
+- [از حسابرسی خود حداکثر استفاده را ببرید](https://inference.ag/blog/2023-08-14-tips/) - _Inference_
+
+#### پاداشهای باگ {#bug-bounties}
+
+راه اندازی یک برنامه باگ بانتی روش دیگری برای اجرای بررسی کدهای خارجی است. جایزه باگ یک پاداش مالی است که به افرادی (معمولاً هکرهای کلاه سفید) که آسیبپذیریهای یک برنامه را کشف میکنند، داده میشود.
+
+هنگامی که به درستی استفاده میشود، پاداشهای باگ به اعضای جامعه هکر انگیزه میدهد تا کد شما را از نظر نقصهای مهم بررسی کنند. یک مثال واقعی "باگ پول بینهایت" است که به مهاجم اجازه میدهد مقدار نامحدودی اتر را در [آپتیمیزم](https://www.optimism.io/) ایجاد کند، یک یک پروتکل [لایه 2](/layer-2/) که روی اتریوم اجرا میشود. خوشبختانه، یک هکر whitehat [این نقص را کشف کرد](https://www.saurik.com/optimism.html) و به تیم اطلاع داد، [کسب پرداختی بزرگ در این فرآیند انجام شد](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
+
+یک استراتژی مفید این است که پرداخت برنامه پاداش اشکال را متناسب با مقدار وجوه مورد نظر تنظیم کنید. این رویکرد بهعنوان «[اشکال مقیاسگذاری](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)» توصیف میشود. انگیزههای مالی برای افراد برای افشای مسئولانه آسیب پذیریها به جای سوء استفاده از آنها را ایجاد میکند.
+
+### 5. در هنگام توسعه قراردادهای هوشمند بهترین رویه های موجود را دنبال کنید {#follow-smart-contract-development-best-practices}
+
+وجود آدیت و پاداش باگ مسئولیت شما را برای نوشتن کد با کیفیت بالا توجیه نمیکند. امنیت قرارداد هوشمند خوب با فرآیندهای طراحی و توسعه مناسب زیر شروع میشود:
+
+- همه کدها را در یک سیستم کنترل نسخه مانند git ذخیره کنید
+
+- تمام تغییرات کد را از طریق درخواستهای pull انجام دهید
+
+- اطمینان حاصل کنید که درخواستهای pull حداقل یک بازبین مستقل دارند—اگر به تنهایی روی پروژهای کار میکنید، توسعهدهندگان دیگر و بررسیهای کد تجاری را پیدا کنید
+
+- از یک [محیط توسعه](/developers/docs/frameworks/) برای آزمایش، کامپایل، استقرار قراردادهای هوشمند استفاده کنید
+
+- کد خود را از طریق ابزارهای اصلی تجزیه و تحلیل کد، مانند [Cyfrin Aderyn](https://github.com/Cyfrin/aderyn)، Mythril و Slither اجرا کنید. در حالت ایدهآل، باید این کار را قبل از ادغام هر درخواست pull انجام دهید و تفاوتها را در خروجی مقایسه کنید
+
+- مطمئن شوید که کد شما بدون خطا کامپایل شده است و کامپایلر سالیدیتی هیچ هشداری صادر نمیکند
+
+- کد خود را به درستی مستند کنید (با استفاده از [NatSpec](https://solidity.readthedocs.io/en/develop/natspec-format.html)) و جزئیات مربوط به معماری قرارداد را به آسانی شرح دهید. این کار بررسی و بازبینی کد شما را برای دیگران آسانتر میکند.
+
+### 6. اجرای طرحهای قوی بازیابی حوادث {#implement-disaster-recovery-plans}
+
+طراحی کنترلهای دسترسی ایمن، اجرای اصلاحکنندههای عملکرد و سایر پیشنهادها میتواند امنیت قرارداد هوشمند را بهبود بخشد، اما نمیتواند احتمال سوء استفادههای مخرب را رد کند. ایجاد قراردادهای هوشمند ایمن مستلزم «آماده شدن برای شکست» و داشتن یک برنامه بازگشتی برای پاسخگویی مؤثر به حملات است. یک طرح مناسب برای بازیابی حوادث شامل برخی یا همه اجزای زیر است:
+
+#### ارتقاهای قرارداد {#contract-upgrades}
+
+در حالی که قراردادهای هوشمند اتریوم به طور پیش فرض تغییر ناپذیر هستند، میتوان با استفاده از الگوهای ارتقا به درجاتی از تغییرپذیری دست یافت. به روز رسانی قراردادها در مواردی ضروری است که یک نقص مهم قرارداد قدیمی شما را غیرقابل استفاده میکند و به کارگیری منطق جدید امکان پذیرترین گزینه است.
+
+مکانیسمهای ارتقای قرارداد متفاوت عمل میکنند، اما «الگوی پروکسی» یکی از محبوبترین رویکردها برای ارتقای قراردادهای هوشمند است. [الگوهای پراکسی](https://www.cyfrin.io/blog/upgradeable-proxy-smart-contract-pattern) منطق اجرائی و فضای ذخیرهسازی دادهها را بین _دو_ قرارداد تقسیم میکند. قرارداد اول (که "قرارداد پراکسی" نامیده میشود) متغیرهای حالت را ذخیره میکند (به عنوان مثال، موجودی کاربر)، در حالی که قرارداد دوم (که "منطق قرارداد" نامیده میشود) کد اجرای توابع قرارداد را نگه میدارد.
+
+حسابها با قرارداد پروکسی تعامل دارند، که همه فراخوانیهای تابع را با استفاده از [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries) تماس سطح پایین. برخلاف یک تماس پیامی معمولی، `delegatecall()` تضمین میکند که کد در حال اجرا در آدرس قرارداد منطقی در متن قرارداد فراخوانی اجرا میشود. یک تماس پیامی معمولی، `delegatecall()` تضمین میکند که کد در حال اجرا در آدرس قرارداد منطقی در متن قرارداد فراخوانی اجرا میشود.
+
+واگذاری تماسها به قرارداد منطقی مستلزم ذخیره آدرس آن در فضای ذخیرهسازی قرارداد پروکسی است. از این رو، ارتقاء منطق قرارداد فقط به استقرار یک قرارداد منطقی دیگر و ذخیره آدرس جدید در قرارداد پروکسی بستگی دارد. از آنجایی که فراخوانی یا تماسهای بعدی به قرارداد پروکسی به طور خودکار به قرارداد منطقی جدید هدایت میشوند، میتوانید قرارداد را بدون تغییر واقعی کد «ارتقاء» میدادید.
+
+[اطلاعات بیشتر در مورد ارتقاء قراردادها](/developers/docs/smart-contracts/upgrading/).
+
+#### توقفهای اضطراری {#emergency-stops}
+
+همانطور که گفته شد، آدیت و آزمایش گسترده نمیتواند تمام اشکالات یک قرارداد هوشمند را کشف کند. اگر پس از استقرار یک آسیبپذیری در کد شما ظاهر شد، اصلاح آن غیرممکن است، زیرا نمیتوانید کد در حال اجرا در آدرس قرارداد را تغییر دهید. همچنین، مکانیسمهای ارتقا (مثلاً الگوهای پروکسی) ممکن است برای پیادهسازی زمان ببرد (اغلب به تأیید طرفهای مختلف نیاز دارند)، که تنها به مهاجمان زمان بیشتری برای ایجاد آسیب بیشتر میدهد.
+
+گزینه هستهای اجرای یک تابع "توقف اضطراری" است که تماسهای عملکردهای آسیب پذیر را در یک قرارداد مسدود میکند. توقفهای اضطراری معمولاً شامل اجزای زیر است:
+
+1. یک متغیر جهانی بولی (Boolean) که نشان میدهد قرارداد هوشمند در حالت توقف است یا خیر. این متغیر هنگام تنظیم قرارداد روی `false` تنظیم میشود، اما پس از توقف قرارداد به `true` برمیگردد.
+
+2. توابعی که در اجرای خود به متغیر بولی (Boolean) اشاره میکنند. زمانی که قرارداد هوشمند متوقف نشده باشد، چنین عملکردهایی قابل دسترسی هستند و با فعال شدن ویژگی توقف اضطراری، غیرقابل دسترس میشوند.
+
+3. موجودی که به تابع توقف اضطراری دسترسی دارد، که متغیر Boolean را روی `true` تنظیم میکند. برای جلوگیری از اعمال مخرب، تماسهای این تابع را میتوان به یک آدرس مطمئن محدود کرد (به عنوان مثال، مالک قرارداد).
+
+هنگامی که قرارداد توقف اضطراری را فعال کرد، عملکردهای خاصی قابل فراخوانی نخواهند بود. این مورد با قرار دادن توابع انتخابی در یک اصلاح کننده که به متغیر سراسری ارجاع میدهد، به دست میآید. در زیر [نمونهای](https://github.com/fravoll/solidity-patterns/blob/master/EmergencyStop/EmergencyStop.sol) وجود دارد که اجرای این الگو را در قراردادها شرح میدهد:
+
+```solidity
+// This code has not been professionally audited and makes no promises about safety or correctness. Use at your own risk.
+
+contract EmergencyStop {
+
+ bool isStopped = false;
+
+ modifier stoppedInEmergency {
+ require(!isStopped);
+ _;
+ }
+
+ modifier onlyWhenStopped {
+ require(isStopped);
+ _;
+ }
+
+ modifier onlyAuthorized {
+ // Check for authorization of msg.sender here
+ _;
+ }
+
+ function stopContract() public onlyAuthorized {
+ isStopped = true;
+ }
+
+ function resumeContract() public onlyAuthorized {
+ isStopped = false;
+ }
+
+ function deposit() public payable stoppedInEmergency {
+ // Deposit logic happening here
+ }
+
+ function emergencyWithdraw() public onlyWhenStopped {
+ // Emergency withdraw happening here
+ }
+}
+```
+
+این مثال ویژگیهای اساسی توقفهای اضطراری را نشان میدهد:
+
+- `isStopped` یک بولین است که در ابتدا به `false` و هنگامی که قرارداد وارد حالت اضطراری میشود `true` ارزیابی میشود.
+
+- تغییردهنده تابع `onlyWhenStopped` و `stoppedInEmergency` متغیر `isStopped` را بررسی میکنند. `stoppedInEmergency` برای کنترل توابعی استفاده میشود که در صورت آسیبپذیر بودن قرارداد، غیرقابل دسترسی هستند (به عنوان مثال، `deposit()`). تماسهای این توابع به سادگی برمیگردند.
+
+`onlyWhenStopped` برای توابعی استفاده میشود که باید در مواقع اضطراری قابل فراخوانی باشند (مانند `emergencyWithdraw()`). چنین توابعی میتوانند به حل وضعیت کمک کنند، از این رو آنها را از لیست "عملکردهای محدود" حذف میکنند.
+
+استفاده از عملکرد توقف اضطراری یک توقف مؤثر برای مقابله با آسیب پذیریهای جدی در قرارداد هوشمند شما فراهم میکند. با این حال، نیاز کاربران به اعتماد به توسعهدهندگان را افزایش میدهد تا آن را به دلایل خود خدمتی فعال نکنند. برای این منظور، غیرمتمرکز کردن کنترل توقف اضطراری یا با قرار دادن آن در معرض مکانیزم رایگیری زنجیرهای، قفل زمانی یا تایید از یک کیف پول مالتی سیگ راهحلهای ممکن است.
+
+#### نظارت بر رویداد {#event-monitoring}
+
+[رویدادها](https://docs.soliditylang.org/en/v0.8.15/contracts.html#events) به شما امکان میدهد تماسهای مربوط به عملکردهای قرارداد هوشمند را ردیابی و تغییرات متغیرهای حالت را نظارت کنید. بهتر است که قرارداد هوشمند خود را طوری برنامهریزی کنید که هر زمان که یکی از طرفین یک اقدام مهم ایمنی (مثلاً برداشت وجه) انجام میدهد، رویدادی را منتشر کند.
+
+ثبت رویدادها و نظارت بر آنها به صورت غیر زنجیرهای بینشهایی در مورد عملیات قرارداد ارائه میدهد و به کشف سریعتر اقدامات مخرب کمک میکند. این بدان معناست که تیم شما میتواند سریعتر به هکها پاسخ دهد و برای کاهش تأثیر روی کاربران، مانند توقف موقت عملکردها یا انجام ارتقا، اقدام کند.
+
+همچنین میتوانید ابزار نظارتی خارج از قفسه را انتخاب کنید که به طور خودکار هشدارها را هر زمان که کسی با قراردادهای شما تعامل دارد، ارسال میکند. این ابزارها به شما این امکان را میدهند که بر اساس محرکهای مختلف، مانند حجم تراکنش، فرکانس فراخوانی عملکرد، یا عملکردهای خاص، هشدارهای سفارشی ایجاد کنید. برای مثال، میتوانید هشداری را برنامهریزی کنید که زمانی که مبلغ برداشت شده در یک تراکنش از یک آستانه خاص عبور میکند، وارد میشود.
+
+### 7. طراحی سیستمهای حاکمیت ایمن {#design-secure-governance-systems}
+
+ممکن است بخواهید با سپردن کنترل قراردادهای هوشمند اصلی به اعضای جامعه، برنامه خود را غیرمتمرکز کنید. در این مورد، سیستم قرارداد هوشمند شامل یک ماژول حاکمیتی خواهد بود – مکانیزمی که به اعضای جامعه اجازه میدهد تا اقدامات اداری را از طریق یک سیستم حاکمیت زنجیرهای تأیید کنند. برای مثال، پیشنهادی برای ارتقاء قرارداد پروکسی به یک پیادهسازی جدید ممکن است توسط دارندگان توکن به رأی گذاشته شود.
+
+حاکمیت غیرمتمرکز می تواند سودمند باشد، به ویژه به این دلیل که منافع توسعه دهندگان و کاربران نهایی را همسو می کند. با این وجود، مکانیسمهای حکمرانی قراردادهای هوشمند ممکن است در صورت اجرای نادرست، خطرات جدیدی را ایجاد کنند. یک سناریوی قابل قبول این است که مهاجم با گرفتن [وام فوری](/defi/#flash-loans) قدرت رای عظیمی (که بر حسب تعداد توکنهای نگهداری شده اندازهگیری میشود) به دستآورد و یک پیشنهاد مخرب را انجام دهد.
+
+یکی از راه های جلوگیری از مشکلات مربوط به حاکمیت زنجیره ای، [استفاده از قفل زمانی](https://blog.openzeppelin.com/protect-your-users-with-smart-contract-timelocks/) است. قفل زمانی مانع از اجرای یک قرارداد هوشمند تا زمان مشخصی می شود. راهبردهای دیگر عبارتند از اختصاص یک "وزن رای" به هر توکن بر اساس مدت زمانی که قفل شده است، یا اندازه گیری قدرت رای دادن یک آدرس در یک دوره تاریخی (مثلاً 2-3 بلوک در گذشته) به جای بلوک فعلی. هر دو روش امکان جمعآوری سریع قدرت رای برای تغییر آرای زنجیره ای را کاهش می دهند.
+
+اطلاعات بیشتر در مورد [طراحی سیستمهای حاکمیت ایمن](https://blog.openzeppelin.com/smart-contract-security-guidelines-4-strategies-for-safer-governance-systems/)، [مکانیسمهای رایگیری مختلف در DAOها](https://hackernoon.com/governance-is-the-holy-grail-for-daos)، و [بردارهای رایج حمله DAO با استفاده از دیفای](https://dacian.me/dao-governance-defi-attacks) در لینکهای مشترک.
+
+### 8. کاهش پیچیدگی کد به حداقل {#reduce-code-complexity}
+
+توسعه دهندگان نرمافزار سنتی با اصل KISS ("ساده نگهش دار، احمقانه") آشنا هستند، که توصیه می کند از وارد کردن پیچیدگی های غیر ضروری در طراحی نرمافزار خودداری کنید. این امر متعاقب این تفکر دیرینه است که "سیستم های پیچیده به روش های پیچیده شکست می خورند" و بیشتر مستعد خطاهای پرهزینه هستند.
+
+با توجه به اینکه قراردادهای هوشمند به طور بالقوه مقادیر زیادی از ارزش را کنترل می کنند، ساده نگه داشتن چیزها هنگام نوشتن قراردادهای هوشمند از اهمیت ویژه ای برخوردار است. نکته ای برای دستیابی به سادگی هنگام نوشتن قراردادهای هوشمند، استفاده مجدد از کتابخانه های موجود، مانند [قراردادهای OpenZeppelin](https://docs.openzeppelin.com/contracts/4.x/)، در صورت امکان است. از آنجایی که این کتابخانه ها به طور گسترده توسط توسعه دهندگان ممیزی و آزمایش شده اند، استفاده از آنها با نوشتن عملکردهای جدید از ابتدا، شانس معرفی اشکالات را کاهش می دهد.
+
+توصیه رایج دیگر نوشتن توابع کوچک و مدولار نگه داشتن قراردادها با تقسیم منطق تجاری در چندین قرارداد است. نه تنها نوشتن کد سادهتر سطح حمله را در یک قرارداد هوشمند کاهش میدهد، بلکه استدلال درباره درستی سیستم کلی و تشخیص زودهنگام خطاهای احتمالی طراحی را آسانتر میکند.
+
+### 9. دفاع در برابر آسیبپذیریهای رایج قرارداد هوشمند {#mitigate-common-smart-contract-vulnerabilities}
+
+#### ورود دوباره {#reentrancy}
+
+EVM اجازه همزمانی را نمی دهد، به این معنی که دو قرارداد درگیر در یک تماس پیام نمی توانند به طور همزمان اجرا شوند. یک فراخوانی خارجی، اجرای قرارداد و حافظه فراخوان را تا زمانی که تماس برگردد، متوقف میکند، در این مرحله اجرا به طور معمول ادامه مییابد. این فرآیند را می توان به طور رسمی به عنوان انتقال [جریان کنترل](https://www.computerhope.com/jargon/c/contflow.htm) به قرارداد دیگری توصیف کرد.
+
+اگرچه اغلب بی ضرر هستند، اما انتقال جریان کنترل به قراردادهای غیرقابل اعتماد می تواند مشکلاتی مانند ورود دوباره ایجاد کند. یک حمله ورود دوباره زمانی اتفاق میافتد که یک قرارداد مخرب قبل از تکمیل فراخوانی عملکرد اصلی، یک قرارداد آسیبپذیر را دوباره فراخوانی کند. این نوع حمله به بهترین شکل با یک مثال توضیح داده می شود.
+
+یک قرارداد هوشمند ساده ("قربانی") را در نظر بگیرید که به هر کسی اجازه می دهد اتر را واریز و برداشت کند:
+
+```solidity
+// This contract is vulnerable. Do not use in production
+
+contract Victim {
+ mapping (address => uint256) public balances;
+
+ function deposit() external payable {
+ balances[msg.sender] += msg.value;
+ }
+
+ function withdraw() external {
+ uint256 amount = balances[msg.sender];
+ (bool success, ) = msg.sender.call.value(amount)("");
+ require(success);
+ balances[msg.sender] = 0;
+ }
+}
+```
+
+این قرارداد یک تابع `withdraw()` را نشان میدهد تا به کاربران امکان میدهد ETH را که قبلاً در قرارداد سپرده شده برداشت کنند. هنگام پردازش یک برداشت، قرارداد عملیات زیر را انجام میدهد:
+
+1. تعادل اتر کاربر را بررسی میکند
+2. وجوه را به آدرس تماس ارسال میکند
+3. موجودی آنها را به 0 بازنشانی میکند و از برداشت اضافی از کاربر جلوگیری میکند
+
+تابع `withdraw()` در قرارداد ` قربانی` از الگوی "بررسی-تعامل-اثرات" پیروی می کند. که _بررسی میکند_ آیا شرایط لازم برای اجرا برآورده شده است (یعنی کاربر دارای موجودی ETH مثبت است) و قبل از اعمال _اثرات_ تراکنش (یعنی کاهش موجودی کاربر) _تعامل_ را با ارسال ETH به آدرس تماسگیرنده انجام میدهد.
+
+اگر `withdraw()` از یک حساب تحت مالکیت خارجی (EOA) فراخوانی شود، تابع همانطور که انتظار می رود اجرا می شود: `msg.sender.call.value()` ETH را برای تماس گیرنده ارسال می کند. با این حال، اگر `msg.sender` یک حساب قرارداد هوشمند باشد، `withdraw()` را فراخوانی میکند، ارسال وجوه با استفاده از `msg.sender.call.value()` انجام میشود. همچنین کدهای ذخیره شده در آن آدرس را برای اجرا راه اندازی کنید.
+
+تصور کنید این کدی است که در آدرس قرارداد مستقر شده است:
+
+```solidity
+ contract Attacker {
+ function beginAttack() external payable {
+ Victim(victim_address).deposit.value(1 ether)();
+ Victim(victim_address).withdraw();
+ }
+
+ function() external payable {
+ if (gasleft() > 40000) {
+ Victim(victim_address).withdraw();
+ }
+ }
+}
+```
+
+این قرارداد برای انجام سه کار طراحی شده است:
+
+1. پذیرش سپرده از حساب دیگری (احتمالاً EOA مهاجم)
+2. واریز یک سکه ETH به قرارداد قربانی
+3. برداشت یک سکه ETH ذخیره شده در قرارداد هوشمند
+
+هیچ مشکلی در اینجا وجود ندارد، به جز اینکه `مهاجم` تابع دیگری دارد که اگر گس باقی مانده از `msg.sender.call.value` ورودی بیش از 40،000 باشد.ده باشد، تابع دیگری دارد که `withdraw()` را در ` قربانی` دوباره فراخوانی میکند. این به `مهاجم` این امکان را میدهد تا `قربانی` را دوباره وارد کرده و وجوه بیشتری را _قبل از_ تکمیل اولین فراخوان `خروج` برداشت کند. چرخه به این صورت است:
+
+```solidity
+- Attacker's EOA calls `Attacker.beginAttack()` with 1 ETH
+- `Attacker.beginAttack()` deposits 1 ETH into `Victim`
+- `Attacker` calls `withdraw() in `Victim`
+- `Victim` checks `Attacker`’s balance (1 ETH)
+- `Victim` sends 1 ETH to `Attacker` (which triggers the default function)
+- `Attacker` calls `Victim.withdraw()` again (note that `Victim` hasn’t reduced `Attacker`’s balance from the first withdrawal)
+- `Victim` checks `Attacker`’s balance (which is still 1 ETH because it hasn’t applied the effects of the first call)
+- `Victim` sends 1 ETH to `Attacker` (which triggers the default function and allows `Attacker` to reenter the `withdraw` function)
+- The process repeats until `Attacker` runs out of gas, at which point `msg.sender.call.value` returns without triggering additional withdrawals
+- `Victim` finally applies the results of the first transaction (and subsequent ones) to its state, so `Attacker`’s balance is set to 0
+```
+
+خلاصه موضوع این است که چون موجودی تماسگیرنده تا زمانی که اجرای تابع کامل نشود روی 0 تنظیم نمیشود، فراخوانیهای بعدی موفق خواهند شد و به تماسگیرنده اجازه میدهند تا موجودی خود را چندین بار برداشت کند. از این نوع حمله می توان برای تخلیه یک قرارداد هوشمند از وجوه آن استفاده کرد، مانند آنچه در [هک DAO سال 2016](https://www.coindesk.com/learn/understanding-the-dao-attack) اتفاق افتاد. همانطور که [فهرستهای عمومی اکسپلویتهای reentrancy](https://github.com/pcaversaccio/reentrancy-attacks) نشان میدهند، حملات reentrancy امروزه همچنان یک موضوع حیاتی برای قراردادهای هوشمند است.
+
+##### چگونه از حملات بازگشت مجدد جلوگیری کنیم
+
+یک رویکرد برای مقابله با reentrancy، پیروی از [الگوی بررسی-اثرات-تعامل](https://docs.soliditylang.org/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern) است. این الگو دستور اجرای توابع را میدهد به گونهای که کدی که بررسیهای لازم را قبل از پیشرفت در اجرا انجام میدهد، ابتدا میآید، به دنبال آن کدی که وضعیت قرارداد را دستکاری میکند، کدی که با قراردادهای دیگر تعامل دارد یا EOAها در آخر میآیند.
+
+الگوی بررسی-اثرات-تعامل در نسخه اصلاح شده قرارداد `قربانی` که در زیر نشان داده شده است استفاده می شود:
+
+```solidity
+contract NoLongerAVictim {
+ function withdraw() external {
+ uint256 amount = balances[msg.sender];
+ balances[msg.sender] = 0;
+ (bool success, ) = msg.sender.call.value(amount)("");
+ require(success);
+ }
+}
+```
+
+این قرارداد یک _بررسی_ در موجودی کاربر انجام می دهد، _اثرات_ تابع `withdraw()` را اعمال می کند (با تنظیم مجدد موجودی کاربر به 0)، و به انجام _تعامل_ (ارسال ETH به آدرس کاربر) ادامه می دهد. این مورد تضمین میکند که قرارداد قبل از تماس خارجی، فضای ذخیرهسازی خود را بهروزرسانی میکند و شرایط ورود مجدد را که اولین حمله را فعال میکرد، حذف میکند. قرارداد `مهاجم` همچنان میتواند به `NoLongerAVictim` برگردد، اما از آنجایی که `balances[msg.sender]` روی 0 تنظیم شده است، برداشتهای اضافی با خطا مواجه میشوند.
+
+گزینه دیگر استفاده از یک قفل محرومیت متقابل (که معمولاً به عنوان "mutex" توصیف می شود) است که بخشی از وضعیت قرارداد را تا زمانی که فراخوانی عملکرد کامل شود قفل می کند. این امر با استفاده از یک متغیر بولین که قبل از اجرای تابع روی `true` تنظیم شده است و پس از انجام فراخوانی به `false` برمیگردد پیادهسازی میشود. همانطور که در مثال زیر مشاهده میشود، استفاده از میوتکس از یک تابع در برابر تماسهای بازگشتی محافظت میکند در حالی که فراخوان اصلی هنوز در حال پردازش است، و به طور مؤثر ورود مجدد را متوقف میکند.
+
+```solidity
+pragma solidity ^0.7.0;
+
+contract MutexPattern {
+ bool locked = false;
+ mapping(address => uint256) public balances;
+
+ modifier noReentrancy() {
+ require(!locked, "Blocked from reentrancy.");
+ locked = true;
+ _;
+ locked = false;
+ }
+ // This function is protected by a mutex, so reentrant calls from within `msg.sender.call` cannot call `withdraw` again.
+ // The `return` statement evaluates to `true` but still evaluates the `locked = false` statement in the modifier
+ function withdraw(uint _amount) public payable noReentrancy returns(bool) {
+ require(balances[msg.sender] >= _amount, "No balance to withdraw.");
+
+ balances[msg.sender] -= _amount;
+ bool (success, ) = msg.sender.call{value: _amount}("");
+ require(success);
+
+ return true;
+ }
+}
+```
+
+همچنین میتوانید به جای سیستم «پرداخت فشاری» که وجوه را به حسابها ارسال میکند، از سیستم [برگشت پرداختها](https://docs.openzeppelin.com/contracts/4.x/api/security#PullPayment) استفاده کنید که کاربران را ملزم به برداشت وجه از قراردادهای هوشمند میکند. با این کار امکان راهاندازی ناخواسته کد در آدرسهای ناشناس حذف میشود (و همچنین میتواند از برخی حملات انکار سرویس جلوگیری کند).
+
+#### پاریز و سرریز اعداد صحیح {#integer-underflows-and-overflows}
+
+سرریز یا اورفلو اعداد صحیح زمانی اتفاق میافتد که نتایج یک عملیات حسابی خارج از محدوده قابل قبول مقادیر قرار میگیرد و باعث میشود که آن را به پایینترین مقدار قابل نمایش تبدیل کند. برای مثال، یک `uint8` فقط میتواند مقادیر تا 2^8-1=255 را ذخیره کند. عملیات حسابی که به مقادیر بالاتر از `255` منجر میشود، سرریز یا اورفلو میشوند و `uint` را به `0` بازنشانی میکنند، مشابه اینکه کیلومترشمار ماشین بعد از به حداکثر رسیدن مسافت پیموده شده (999999) به 0 بازنشانی شود.
+
+جریانهای آندرفلو صحیح به دلایل مشابهی اتفاق میافتد: نتایج یک عملیات حسابی کمتر از محدوده قابل قبول است. فرض کنید سعی کردهاید `0` را در `uint8` کاهش دهید، نتیجه به سادگی به حداکثر مقدار قابل نمایش (`255`) میرسد.
+
+هم اورفلو و هم آندرفلو اعداد صحیح میتواند منجر به تغییرات غیرمنتظره در متغیرهای حالت قرارداد شود و منجر به اجرای برنامه ریزی نشده شود. در زیر مثالی وجود دارد که نشان میدهد چگونه یک مهاجم میتواند از سرریز حسابی در یک قرارداد هوشمند برای انجام یک عملیات نامعتبر سوء استفاده کند:
+
+```
+pragma solidity ^0.7.6;
+
+// This contract is designed to act as a time vault.
+// User can deposit into this contract but cannot withdraw for at least a week.
+// User can also extend the wait time beyond the 1 week waiting period.
+
+/*
+1. Deploy TimeLock
+2. Deploy Attack with address of TimeLock
+3. Call Attack.attack sending 1 ether. You will immediately be able to
+ withdraw your ether.
+
+What happened?
+Attack caused the TimeLock.lockTime to overflow and was able to withdraw
+before the 1 week waiting period.
+*/
+
+contract TimeLock {
+ mapping(address => uint) public balances;
+ mapping(address => uint) public lockTime;
+
+ function deposit() external payable {
+ balances[msg.sender] += msg.value;
+ lockTime[msg.sender] = block.timestamp + 1 weeks;
+ }
+
+ function increaseLockTime(uint _secondsToIncrease) public {
+ lockTime[msg.sender] += _secondsToIncrease;
+ }
+
+ function withdraw() public {
+ require(balances[msg.sender] > 0, "Insufficient funds");
+ require(block.timestamp > lockTime[msg.sender], "Lock time not expired");
+
+ uint amount = balances[msg.sender];
+ balances[msg.sender] = 0;
+
+ (bool sent, ) = msg.sender.call{value: amount}("");
+ require(sent, "Failed to send Ether");
+ }
+}
+
+contract Attack {
+ TimeLock timeLock;
+
+ constructor(TimeLock _timeLock) {
+ timeLock = TimeLock(_timeLock);
+ }
+
+ fallback() external payable {}
+
+ function attack() public payable {
+ timeLock.deposit{value: msg.value}();
+ /*
+ if t = current lock time then we need to find x such that
+ x + t = 2**256 = 0
+ so x = -t
+ 2**256 = type(uint).max + 1
+ so x = type(uint).max + 1 - t
+ */
+ timeLock.increaseLockTime(
+ type(uint).max + 1 - timeLock.lockTime(address(this))
+ );
+ timeLock.withdraw();
+ }
+}
+```
+
+##### چگونه از سرریز و آندرفلو اعداد صحیح جلوگیری کنیم
+
+از نسخه 0.8.0، کامپایلر سالیدیتی کدهایی را که منجر به سرریز و زیر جریان یا همان آندر فلو اعداد صحیح میشود، رد میکند. با این حال، قراردادهایی که با یک نسخه کامپایلر پایینتر کامپایل میشوند باید یا باید توابع مربوط به عملیات حسابی را بررسی یا از یک کتابخانه استفاده کنند (به عنوان مثال، [SafeMath](https://docs.openzeppelin.com/contracts/2.x/api/math)) که اورفلو یا آندرفلو را بررسی میکند.
+
+#### دستکاری اوراکل {#oracle-manipulation}
+
+[اوراکلها](/developers/docs/oracles/) اطلاعات خارج از زنجیره را منبع قرار میدهند و آنها را به صورت زنجیرهای برای استفاده از قراردادهای هوشمند ارسال میکند. با اوراکلها، میتوانید قراردادهای هوشمندی را طراحی کنید که با سیستمهای خارج از زنجیره، مانند بازارهای سرمایه، همکاری میکنند و کاربرد آنها را تا حد زیادی گسترش میدهند.
+
+اما اگر اوراکل خراب شود و اطلاعات نادرست را روی زنجیره ارسال کند، قراردادهای هوشمند بر اساس ورودیهای اشتباه اجرا میشوند که میتواند مشکلاتی را ایجاد کند. این اساس "مشکل اوراکل" است که به وظیفه اطمینان از دقیق، به روز و به موقع بودن اطلاعات یک اوراکل بلاک چین مربوط میشود.
+
+یک نگرانی امنیتی مرتبط، استفاده از یک اوراکل زنجیرهای، مانند یک صرافی غیرمتمرکز، برای دریافت قیمت ای یک دارایی است. پلتفرمهای وامدهی در صنعت [مالی غیرمتمرکز (DeFi)](/defi/) اغلب این کار را برای تعیین ارزش وثیقه کاربر انجام میدهند تا تعیین کنند چقدر میتوانند وام بگیرند.
+
+قیمتهای صرافیهای غیرمتمرکز اغلب دقیق هستند، که عمدتاً به دلیل بازیابی برابری توسط آربیتراژها در بازارها است. با این حال، آنها در معرض دستکاری هستند، به ویژه اگر اوراکل روی زنجیره قیمت داراییها را بر اساس الگوهای معاملاتی تاریخی محاسبه کند (همانطور که معمولاً اتفاق میافتد).
+
+به عنوان مثال، یک مهاجم میتواند بهطور مصنوعی قیمت نقدی یک دارایی را با گرفتن وام فوری یا همان فلش لون درست قبل از تعامل با قرارداد وام شما، افزایش دهد. پرس و جو از دکس برای قیمت دارایی، ارزشی بالاتر از حد معمول را به دست میآورد (به دلیل تقاضای انحرافی «سفارش خرید» مهاجم برای دارایی)، به آنها اجازه میدهد بیشتر از آنچه باید وام بگیرند. چنین "حملات وام فلش یا همان فلش لون" برای بهرهبرداری از اتکا به اوراکلهای قیمت در میان برنامههای کاربردی دیفای استفاده شده است که میلیونها وجوه از دست رفته پروتکلها ایجاد کرده است.
+
+##### چگونه از دستکاری اوراکل جلوگیری کنیم؟
+
+حداقل نیاز برای [جلوگیری از دستکاری اوراکل](https://www.cyfrin.io/blog/price-oracle-manipultion-attacks-with-examples) استفاده از یک شبکه اوراکل غیرمتمرکز است که پرس و جو یا اطلاعات از چندین منبع برای جلوگیری از نقاط شکست کوئری میکند. در بیشتر موارد، اوراکلهای غیرمتمرکز دارای انگیزههای اقتصادی رمزارزی شدهاند تا نود یا گرههای اوراکل را تشویق کرده تا اطلاعات صحیح را گزارش کنند و آنها را از اوراکلهای متمرکز ایمنتر میکند.
+
+اگر قصد دارید از یک اوراکل زنجیرهای یا آنچین برای قیمت داراییها پرس و جو کنید، از یکی استفاده کنید که مکانیزم قیمت میانگین وزن شده با زمان (TWAP) را پیادهسازی میکند. یک [اوراکل TWAP](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) قیمت یک دارایی را در دو مقطع زمانی مختلف (که شما میتوانید اصلاح کنید) و قیمت لحظهای را بر اساس میانگین به دست آمده محاسبه میکند. انتخاب دورههای زمانی طولانیتر از پروتکل شما در برابر دستکاری قیمت محافظت میکند، زیرا سفارشهای بزرگی که اخیراً اجرا شدهاند نمیتوانند بر قیمت دارایی تأثیر بگذارند.
+
+## منابع امنیتی قرارداد هوشمند برای توسعهدهندگان {#smart-contract-security-resources-for-developers}
+
+### ابزارهایی برای تجزیه و تحلیل قراردادهای هوشمند و تأیید صحت کد {#code-analysis-tools}
+
+- **[ابزارها و کتابخانههای تست](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** - _مجموعه ای از ابزارها و کتابخانههای استاندارد صنعتی برای انجام تستهای واحد، تجزیه و تحلیل استاتیک و تجزیه و تحلیل پویا در قراردادهای هوشمند است_
+
+- **[ابزارهای تأیید رسمی](/developers/docs/smart-contracts/formal-verification/#formal-verification-tools)** - _ابزارهایی برای تأیید صحت عملکرد در قراردادهای هوشمند و بررسی متغیرها هستند._
+
+- **[خدمات حسابرسی قراردادهای هوشمند](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** - _فهرست هایی که خدمات حسابرسی قرارداد هوشمند برای پروژههای توسعه اتریوم ارائه میکنند._
+
+- **[پلتفرمهای پاداش باگ](/developers/docs/smart-contracts/testing/#bug-bounty-platforms)** - _پلتفرمهایی برای هماهنگی پاداشهای اشکال و پاداش افشای مسئولانه آسیبپذیریهای مهم در قراردادهای هوشمند هستند_
+
+- **[فورک چکر](https://forkchecker.hashex.org/)** - _رایگان بوده و ابزار آنلاین برای بررسی تمام اطلاعات موجود در مورد قرارداد منشعب شده است._
+
+- **[رمزگذار ABI](https://abi.hashex.org/)** - _یک رمزگذار رایگان سرویس آنلاین برای رمزگذاری توابع قرارداد سالیدیتی و آرگومانهای سازنده (constructor) شما است._
+
+- **[آدرین](https://github.com/Cyfrin/aderyn)** - _ تحلیلگر استاتیک سالیدیتی ، از درختان نحو انتزاعی (AST) عبور میکند تا آسیبپذیریهای مشکوک را مشخص کرده و مسائل را در قالب علامتگذاری آسان برای مصرف چاپ کند._
+
+### ابزارهای نظارت بر قراردادهای هوشمند {#smart-contract-monitoring-tools}
+
+- **[OpenZeppelin Defender Sentinels](https://docs.openzeppelin.com/defender/v1/sentinel)** - _ابزاری برای نظارت و پاسخگویی خودکار به رویدادها، عملکردها و پارامترهای تراکنش در قراردادهای هوشمند شما است._
+
+- **[هشدار همزمان با ملایمت](https://tenderly.co/alerting/)** - _ابزاری برای دریافت اعلانهای همزمان هنگامی که رویدادهای غیرمنتظره در قراردادهای هوشمند یا کیف پولهای شما اتفاق میافتد._
+
+### ابزارهایی برای مدیریت امن قراردادهای هوشمند {#smart-contract-administration-tools}
+
+- **[OpenZeppelin Defender Admin](https://docs.openzeppelin.com/defender/v1/admin)** - _رابطی برای مدیریت قراردادهای هوشمند، از جمله کنترلهای دسترسی، ارتقاء و توقف است._
+
+- **[ایمن](https://safe.global/)** - _کیف پول قرارداد هوشمند در حال اجرا اتریوم که به حداقل تعداد افراد نیاز دارد تا تراکنش را قبل از انجام آن تأیید کنند (M-of-N)._
+
+- **[قراردادهای اوپن زپلین](https://docs.openzeppelin.com/contracts/4.x/)** - _کتابخانهها را برای اجرای ویژگیهای اداری، از جمله مالکیت قرارداد، ارتقاء، کنترلهای دسترسی، حاکمیت، قابلیت توقف موقت و موارد دیگر مدیریت میکند._
+
+### خدمات حسابرسی قرارداد هوشمند {#smart-contract-auditing-services}
+
+- **[ConsenSys Diligence](https://consensys.net/diligence/)** - _خدمات آدیت قرارداد هوشمند که به پروژهها در سراسر اکوسیستم بلاک چین کمک میکند مطمئن شوند که پروتکلهای آنها برای راهاندازی آماده هستند و برای محافظت از کاربران ساخته شدهاند._
+
+- **[CertiK](https://www.certik.com/)** - _شرکت امنیت بلاک چین پیشگام در استفاده از فناوری تایید رسمی پیشرفته در قراردادهای هوشمند و شبکههای بلاک چین است._
+
+- **[رد بیت](https://www.trailofbits.com/)** - _امنیت سایبری شرکتی که تحقیقات امنیتی را با ذهنیت مهاجم برای کاهش ریسک و تقویت کد ترکیب میکند._
+
+- **[PeckShield](https://peckshield.com/)** - _شرکت امنیت بلاک چین که محصولات و خدماتی برای امنیت، حریم خصوصی و قابلیت استفاده کل اکوسیستم بلاک چین ارائه میکند._
+
+- **[QuantStamp](https://quantstamp.com/)** - _سرویس حسابرسی تسهیل کننده جریان اصلی پذیرش فناوری بلاک چین از طریق خدمات امنیت و ارزیابی ریسک است._
+
+- **[اوپن زپلین](https://www.openzeppelin.com/security-audits)** - _ شرکت امنیتی قرارداد هوشمند که حسابرسیهای امنیتی سیستمهای توزیع شده را ارائه میدهد._
+
+- **[تأیید زمان اجرا](https://runtimeverification.com/)** - _شرکت امنیتی متخصص در مدل سازی رسمی و تأیید قراردادهای هوشمند است_
+
+- **[هک](https://hacken.io)** - _حسابرس امنیت سایبری Web3 که ارائه دهنده 360 رویکرد درجه به امنیت بلاک چین است._
+
+- **[Nethermind](https://www.nethermind.io/smart-contract-audits)** - _ خدمات حسابرسی سالیدیتی و کایرو، تضمین یکپارچگی قراردادهای هوشمند و ایمنی کاربران در سراسر اتریوم و استارک نت را ارائه میدهد._
+
+- **[HashEx](https://hashex.org/)** - _HashEx بر روی بلاکین و حسابرسی قراردادهای هوشمند برای اطمینان از امنیت ارزهای دیجیتال، ارائه خدماتی مانند توسعه قرارداد هوشمند، تست نفوذ، مشاوره بلاکچین تمرکز دارد._
+
+- **[Code4rena](https://code4rena.com/)** - _پلتفرم حسابرسی رقابتی که کارشناسان امنیت قراردادهای هوشمند را تشویق میکند تا آسیبپذیریها را بیابند و به ایمنتر شدن Web3 کمک کنند._
+
+- **[CodeHawks](https://codehawks.com/)** - _پلتفرم حسابرسی رقابتی میزبان مسابقات حسابرسی قراردادهای هوشمند برای محققان امنیتی._
+
+- **[Cyfrin](https://cyfrin.io)** - _ نیروگاه امنیتی وب3، انکوباتور امنیت رمزارز از طریق محصولات و خدمات حسابرسی قرارداد هوشمند._
+
+- **[ImmuneBytes](https://www.immunebytes.com//smart-contract-audit/)** - _شرکت امنیتی وب3 که ممیزی های امنیتی سیستم های بلاکچین را از طریق تیمی از حسابرسان مجرب و بهترین ابزارها ارائه می کند._
+
+- **[Oxorio](https://oxor.io/)** - _ممیزی قراردادهای هوشمند و خدمات امنیتی بلاکین با تخصص در EVM، سالیدیتی، ZK، فناوری زنجیرهای متقابل برای شرکتهای رمزنگاری و پروژههای دیفای._
+
+- **[Inference](https://inference.ag/)** - _شرکت حسابرسی امنیتی، متخصص در حسابرسی قراردادهای هوشمند برای بلاکچینهای مبتنی بر EVM. با تشکر از حسابرسان متخصص آن، آنها مشکلات بالقوه را شناسایی کرده و راهحلهای عملی را برای رفع آنها قبل از استقرار پیشنهاد میکنند._
+
+### پلتفرمهای باگبانتی {#bug-bounty-platforms}
+
+- **[Immunefi](https://immunefi.com/)** - _پلتفرم باگبانتی برای قراردادهای هوشمند و پروژههای دیفای، که در آن محققان امنیتی کد را بررسی میکنند، آسیبپذیریها را فاش میکنند، پاداش دریافت میکنند و دنیای رمزارز را ایمنتر میکنند._
+
+- **[HackerOne](https://www.hackerone.com/)** - _پلتفرم هماهنگی آسیبپذیری و باگبانتی که کسبوکارها را با کارشناسان تست نفوذ و محققان امنیت سایبری مرتبط میکند._
+
+- **[HackenProof](https://hackenproof.com/)** - _پلتفرم باگبانتی متخصص برای پروژههای رمزارزی (دیفای، قراردادهای هوشمند، کیف پولها، CEX و موارد دیگر)، جایی که متخصصان امنیتی خدمات تریاژ را ارائه می دهند و محققان برای گزارش های مربوط به باگ هایتأیید شده پاداش دریافت می کنند._
+
+- **[Sherlock](https://www.sherlock.xyz/)** - _ عریضهنویس در وب3 برای امنیت قراردادهای هوشمند، با پرداختهایی برای حسابرسان که از طریق قراردادهای هوشمند مدیریت میشوند تا از پرداخت عادلانه باگ های مربوطه اطمینان حاصل شود._
+
+- **[CodeHawks](https://www.codehawks.com/)** - _پلتفرم باگبانتی رقابتی که در آن حسابرسان در مسابقات و چالشهای امنیتی و (به زودی) در ممیزیهای خصوصی خودشان شرکت میکنند._
+
+### رسانه های آسیب پذیری ها و اکسپلویت های شناخته شده قرارداد هوشمند {#common-smart-contract-vulnerabilities-and-exploits}
+
+- قماله **[کانسنسیس: حملات شناخته شده قرارداد هوشمند](https://consensys.github.io/smart-contract-best-practices/attacks/)** - _توضیحات مبتدی مهم ترین آسیب پذیری های قرارداد، با کد نمونه برای اکثر موارد._
+
+- **[SWC Registry](https://swcregistry.io/)** - _فهرست تنظیمشده از موارد سرشماری ضعف مشترک (CWE) که در قراردادهای هوشمند اتریوم اعمال میشود._
+
+- **[Rekt](https://rekt.news/)** - _ انتشار منظم هکها و سوء استفادههای رمزنگاری با مشخصات بالا، همراه با کالبدشکافی._
+
+### چالشهای یادگیری امنیت قراردادهای هوشمند {#challenges-for-learning-smart-contract-security}
+
+- **[Awesome BlockSec CTF ](https://github.com/blockthreat/blocksec-ctfs)** - _فهرست تنظیمشده بازیهای امنیتی بلاکچین، چالشها و مسابقات [Capture The Flag](https://www.webopedia.com/definitions/ctf-event/amp/) و نوشتههای راهحل._
+
+- **[DeFi آسیب پذیر لعنتی](https://www.damnvulnerabledefi.xyz/)** - _بازی برای یادگیری امنیت تهاجمی قراردادهای هوشمند دیفای و ایجاد مهارت در شکار باگ و ممیزی امنیتی._
+
+- **[Ethernaut](https://ethernaut.openzeppelin.com/)** - _بازی جنگی مبتنی بر وب3/سالیدیتی که در آن هر سطح یک قرارداد هوشمند است که باید "هک" شود._
+
+- **[HackenProof x HackTheBox](https://app.hackthebox.com/tracks/HackenProof-Track)** - _چالش هک قرارداد هوشمند، در یک ماجراجویی فانتزی. تکمیل موفقیتآمیز چالش به یک برنامه باگبانتی خصوصی نیز دسترسی پیدا میکند._
+
+### بهترین روش ها برای ایمن سازی قراردادهای هوشمند {#smart-contract-security-best-practices}
+
+- **[کانسنسیس: بهترین روشهای امنیتی قراردادهای هوشمند اتریوم](https://consensys.github.io/smart-contract-best-practices/)** - _فهرست جامع دستورالعملها برای ایمن کردن قراردادهای هوشمند اتریوم._
+
+- **[Nascent: ابزار ساده امنیتی](https://github.com/nascentxyz/simple-security-toolkit)** - _مجموعه راهنماها و چک لیست های عملی مبتنی بر امنیت برای توسعه قراردادهای هوشمند._
+
+- **[Solidity Patterns](https://fravoll.github.io/solidity-patterns/)** - _تلفیقی مفید از الگوهای امن و بهترین شیوه ها برای زبان برنامه نویسی قرارداد هوشمند سالیدیتی._
+
+- **[اسناد سالیدیتی: ملاحظات امنیتی](https://docs.soliditylang.org/en/v0.8.16/security-considerations.html)** - _دستورالعملهایی برای نوشتن قراردادهای هوشمند ایمن با سالیدیتی._
+
+- **[استاندارد تأیید امنیت قراردادهای هوشمند](https://github.com/securing/SCSVS)** - _چک لیست چهارده قسمتی ایجاد شده برای استانداردسازی امنیت قراردادهای هوشمند برای توسعه دهندگان، معماران، بازبینان امنیتی و فروشندگان._
+
+- **[امنیت و حسابرسی قرارداد هوشمند را بیاموزید](https://updraft.cyfrin.io/courses/security) - _دوره ممیزی و امنیت قراردادهای هوشمند نهایی، ایجاد شده برای توسعه دهندگان قراردادهای هوشمند که به دنبال ارتقای بهترین شیوه های امنیتی خود و تبدیل شدن به محققین امنیتی هستند._
+
+### آموزش امنیت قراردادهای هوشمند {#tutorials-on-smart-contract-security}
+
+- [نحوه نوشتن قراردادهای هوشمند امن](/developers/tutorials/secure-development-workflow/)
+
+- [نحوه استفاده از Slither برای یافتن اشکالات قرارداد هوشمند](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/)
+
+- [نحوه استفاده از Manticore برای یافتن اشکالات قرارداد هوشمند](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/)
+
+- [راهنمای امنیتی قراردادهای هوشمند](/developers/tutorials/smart-contract-security-guidelines/)
+
+- [چگونه به طور ایمن قرارداد توکن خود را با توکنهای دلخواه ادغام کنیم](/developers/tutorials/token-integration-checklist/)
+
+- [Cyfrin Updraft - امنیت قراردادهای هوشمند و دوره کامل ممیزی](https://updraft.cyfrin.io/courses/security)
diff --git a/public/content/translations/fa/developers/docs/standards/tokens/erc-777/index.md b/public/content/translations/fa/developers/docs/standards/tokens/erc-777/index.md
deleted file mode 100644
index e9e07e78e33..00000000000
--- a/public/content/translations/fa/developers/docs/standards/tokens/erc-777/index.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: 'EIP-: استاندارد توکن ERC-777'
-description:
-lang: fa
----
-
-## {#introduction}
-
-****
-
-****
-
-قلاب ها تابعی هستند که در کد یک قرارداد هوشمند توضیح داده شده است. هنگامی که توکن ها از طریق یک قرارداد ارسال یا دریافت می شوند، قلاب ها فراخوانی می شوند. این به یک قرارداد هوشمند اجازه می دهد تا به توکن های ورودی یا خروجی واکنش نشان دهد.
-
-## {#prerequisites}
-
-- []()
-- []()
-- []()
-
-## {#body}
-
-قلاب ها با استفاده از استاندارد [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820)ثبت و کشف میشوند.
-
-این استاندارد همچنین ابهامی را که در مورد `اعشار` ایجاد شده در ERC-20 وجود دارد حل می کند. این شفافیت باعث بهبود تجربه توسعه دهنده می شود.
-
-می توان با قراردادهای ERC-777 به گونه ای تعامل کرد که انگار قراردادهای ERC-20 هستند.
-
-### {#methods}
-
-```solidity
-
-```
-
-### {#events}
-
-```solidity
-
-```
-
-### {#web3py-example}
-
-#### {#web3py-example}
-
-```
-
-```
-
-```python
-
-
-
-
-```
-
-```python
-
-
-```
-
-## {#popular-nfts}
-
--
--
--
--
--
--
--
--
-
-## اطلاعات بیشتر {#further-reading}
-
-- []()
-- []()
-- []()
-- []()
diff --git a/public/content/translations/fa/enterprise/index.md b/public/content/translations/fa/enterprise/index.md
index ea23cc48c54..da79c9b9f26 100644
--- a/public/content/translations/fa/enterprise/index.md
+++ b/public/content/translations/fa/enterprise/index.md
@@ -79,7 +79,7 @@ lang: fa
- [اتریوم ادز](https://ethereumads.com/) - _به اپراتورهای وبسایت اجازه میدهد فضای تبلیغاتی را بفروشند و از طریق اتریوم پول دریافت کنند_
- [hCaptcha](https://www.hcaptcha.com/) - _سیستم CAPTCHA پیشگیری از ربات که به اپراتورهای وبسایت برای کارهای انجام شده توسط کاربران برای برچسب زدن دادهها برای یادگیری ماشین پرداخت میکند. اکنون توسط Cloudflare مستقر شده است_
- [Opera MiniPay](https://www.opera.com/products/minipay) - _پرداختهای موبایلی را برای مردم آفریقا از طریق کیف پول غیرسرپرستی در دسترستر و ایمنتر میکند و از شماره تلفنها برای تراکنش آسان_ استفاده میکند
-- [Roxpay ](https://www.roxpay.ch/) - _صورتحساب و دارایی پرداخت به ازای استفاده را خودکار میکند_
+- [Roxpay](https://www.roxpay.ch/) - _صورتحساب و دارایی پرداخت به ازای استفاده را خودکار میکند_
- [SAP مرکز ارز دیجیتال](https://community.sap.com/t5/technology-blogs-by-sap/cross-border-payments-made-easy-with-digital-money-experience-the-future/ba-p/13560384) - _پرداختهای بین المللی با استیبل کوین_
- [Toku](https://www.toku.com/) - _دستمزد، مدیریت کمک هزینه توکنی، رعایت مالیات، استخدام محلی، مزایا و & راهحلهای منابع انسانی توزیع شده_
- [Xerof](https://www.xerof.com/) - _پرداختهای سریع و ارزان بینالمللی (برون مرزی) B2B را تسهیل میکند_
@@ -116,7 +116,7 @@ lang: fa
### ثبت دادهها {#notarization-of-data}
- [ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html) - _خبرگزاری ایتالیایی با اخبار جعلی مبارزه میکند و خوانندگان را قادر میسازد تا منشأ اخبار را با ضبط آنها در شبکه اصلی تأیید کنند_
-- [Breitling](https://www.coindesk.com/breitling-arianee-all-new-watches-ethereum) - _منشأ و تاریخچه تعمیر را در اتریوم ثبت میکند_
+- [Breitling](https://www.coindesk.com/business/2020/10/15/breitling-goes-live-with-ethereum-based-system-to-put-all-new-watches-on-the-blockchain) - _منشأ و تاریخچه تعمیر را در اتریوم ثبت میکند_
- [BRØK](https://www.xn--brk-1na.no/) - _پلتفرم جداول کپ برای شرکتهای ثبت نشده در بورس عمومی توسط دولت نروژ ارائه شده است _
- [گواهی](https://certifaction.com/) - _امضاهای الکترونیکی معتبر قانونی با حریم خصوصی-by-design_
- [EthSign](https://ethsign.xyz/) - _اسناد الکترونیکی امضا شده را در بلاکچین اتریوم ثبت میکند_
diff --git a/public/content/translations/fa/events/index.md b/public/content/translations/fa/events/index.md
new file mode 100644
index 00000000000..373618a54a3
--- /dev/null
+++ b/public/content/translations/fa/events/index.md
@@ -0,0 +1,24 @@
+---
+title: رویدادهای اتریوم
+description: چگونه در انجمن اتریوم شرکت کنیم؟
+lang: fa
+hideEditButton: true
+---
+
+# رویدادهای پیشرو {#events}
+
+**هر ماه، رویدادهای مهم اتریوم در سرتاسر جهان برگزار میشود.** شرکت در یکی از رویدادهای نزدیک به خود را در نظر داشته باشید تا با افراد بیشتری در جامعه آشنا شوید، درباره فرصتهای شغلی اطلاع کسب کنید و مهارتهای جدید را توسعه دهید.
+
+
+
+این یک لیست غیرجامع است که توسط انجمن ما نگهداری می شود. از رویداد آتی اتریوم برای اضافه کردن به این لیست اطلاع دارید؟ [لطفاً آن را اضافه کنید](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)!
+
+## گردهماییهای اتریوم {#meetups}
+
+رویدادی را نمیبینید که برای شما مفید باشد؟ شرکت در یک گردهمایی را امتحان کنید. گردهماییها رویدادهای کوچکتری هستند که توسط گروههایی از علاقهمندان به اتریوم برگزار میشوند - فرصتی برای افراد علاقهمند به اتریوم تا دور هم جمع شوند، درباره اتریوم صحبت کنند، و در مورد پیشرفتهای اخیر اطلاعات کسب کنند.
+
+
+
+علاقهمند به برگزاری گردهمایی خود هستید؟ [شبکهی BUIDL](https://consensys.net/developers/buidlnetwork/) را بررسی کنید، ابتکاری توسط ConsenSys برای کمک به حمایت از انجمنهای ملاقات اتریوم.
+
+این یک فهرست غیرجامع است که توسط انجمن ما ساخته شده است. میتوانید [گردهماییهای اتریوم بیشتری را در اینجا بیابید](https://www.meetup.com/topics/ethereum/). گروه ملاقات فعالی برای اضافه کردن به این فهرست میشناسید؟ [لطفاً آن را اضافه کنید](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json)!
diff --git a/public/content/translations/fa/governance/index.md b/public/content/translations/fa/governance/index.md
index 4234ad9c017..93ea8f526e9 100644
--- a/public/content/translations/fa/governance/index.md
+++ b/public/content/translations/fa/governance/index.md
@@ -44,7 +44,7 @@ _گرچه در لایهی پروتکل حاکمیت اتریوم برون
- **دارندگان اتر**: این افراد میزان دلخواهی اتر را نگهداری میکنند. [درباره اتر بیشتر بدانید](/eth/).
- **کاربران برنامههای کاربردی**: این افراد با برنامههای موجود در زنجیرهی بلوکی اتریوم تعامل دارند.
-- **توسعهدهندگان برنامهها/ابزارها**: این افراد برنامههایی را مینویسند که روی زنجیره بلوکی اتریوم اجرا میشوند (مثل DeFi، NFTها و غیره) یا ابزارهایی میسازند که با اتریوم تعامل دارند (مثل کیف پولها، بستههای آزمایش (test suites) و غیره). [درباره برنامههای غیرمتمرکز بیشتر بدانید](/dapps/).
+- **توسعهدهندگان برنامهها/ابزارها**: این افراد برنامههایی را مینویسند که روی زنجیره بلوکی اتریوم اجرا میشوند (مثل DeFi، NFTها و غیره) یا ابزارهایی میسازند که با اتریوم تعامل دارند (مثل کیف پولها، بستههای آزمایش (test suites) و غیره). [درباره برنامههای غیرمتمرکز بیشتر بدانید](/apps/).
- **اپراتورهای گره**: این افراد گرههایی را اجرا میکنند که بلوکها و تراکنشها را پخش میکنند و هر تراکنش یا بلوک نامعتبری که ظاهر میشود را رد میکنند. [درباره گرهها بیشتر بدانید](/developers/docs/nodes-and-clients/).
- **نویسندگان EIP**: این افراد پیشنهادهایی را برای تغییر پروتکل اتریوم در قالب پیشنهادهای بهبود اتریوم (EIPها) ارائه میدهند. [درباره EIP بیشتر بدانید](/eips/).
- **اعتبارسنج ها**: این افراد گره هایی را اجرا می کنند که می توانند بلوک های جدید را به زنجیره بلوکی اتریوم اضافه کنند.
@@ -118,7 +118,7 @@ _یادداشت: هر فردی میتواند عضوی از چند گروه
فورکها برای زمانی هستند که لازم است ارتقاهای فنی عمده یا تغییراتی روی شبکه اعمال شوند و این تغییرات به تغییر «قوانین» پروتکل میانجامند. [کلاینتهای اتریوم](/developers/docs/nodes-and-clients/) باید نرمافزارشان را بهروزرسانی کنند تا قوانین فورک جدید را پیادهسازی کنند.
-فورک DAO در واکنش به [حملهی DAO در سال 2016](https://www.coindesk.com/understanding-dao-hack-journalists) رخ داد که در آن در یک هک، یک قرارداد [DAO](/glossary/#dao) ناامن از بیش از 3.6 میلیون اتر تخلیه شد. این فورک سرمایهها را از قرارداد مشکلدار به یک قرارداد جدید منتقل کرد و به همهی کسانی که در هک سرمایه از دست داده بودند اجازه داد که آن را بازگردانند.
+فورک DAO در واکنش به [حملهی DAO در سال 2016](https://www.coindesk.com/learn/understanding-the-dao-attack) رخ داد که در آن در یک هک، یک قرارداد [DAO](/glossary/#dao) ناامن از بیش از 3.6 میلیون اتر تخلیه شد. این فورک سرمایهها را از قرارداد مشکلدار به یک قرارداد جدید منتقل کرد و به همهی کسانی که در هک سرمایه از دست داده بودند اجازه داد که آن را بازگردانند.
این کار توسط جامعهی اتریوم رأیگیری شد. هر دارندهی اتر میتوانست از طریق یک تراکنش در یک [سکوی رأیگیری](https://web.archive.org/web/20170620030820/http://v1.carbonvote.com/) رأی بدهد. تصمیم انجام فورک بیشتر از 85% از آرا را به خود اختصاص داد.
diff --git a/public/content/translations/fa/guides/how-to-create-an-ethereum-account/index.md b/public/content/translations/fa/guides/how-to-create-an-ethereum-account/index.md
index fd82213725d..4b23e889a86 100644
--- a/public/content/translations/fa/guides/how-to-create-an-ethereum-account/index.md
+++ b/public/content/translations/fa/guides/how-to-create-an-ethereum-account/index.md
@@ -6,21 +6,22 @@ lang: fa
# چگونگی «ساخت» یک حساب اتریوم
-همه هر لحظه میتوانند به طور رایگان یک حساب اتریوم بسازند. اگرچه مسیرهای متعددی وجود دارد اما سادهترین و معمولترین روش، استفاده از اپلیکیشنی است که تحت عنوان کیف پول شناخته میشود. کیف پولها کلیدها را تولید کرده و از آنها محافظت میکنند تا بتوانید از اتریوم استفاده کنید. میتوانید از کیف پول خود برای ارسال تراکنشها، بررسی موجودی توکنهای خود و اتصال به برنامههای مبتنی بر اتریوم، مثل مراکز تبادل توکن، بازیها، بازارهای NFT و غیره استفاده کنید. برخی از اپلیکیشنهای "web2" هم اکنون به شما اجازه وارد شدن با اتریوم را هم می دهند.
+**هر کس میتواند یک حساب اتریوم به صورت رایگان ایجاد کند.** فقط باید یک برنامه کیفپول رمزارزی نصب کنید. کیفپولها حساب اتریوم شما را ایجاد و مدیریت میکنند. آنها میتوانند تراکنشها را ارسال کنند، موجودیهای شما را بررسی کنند، و شما را به سایر برنامههای ساخته شده بر روی اتریوم متصل کنند.
-بر خلاف روند افتتاح حساب در یک شرکت، ساخت حساب در اتریوم رایگان و محرمانه است و نیازی به دریافت مجوز ندارد. حسابها به واسطه کلیدهایی که نرمافزار کیف پول شما برایتان ایجاد میکند کنترل میشوند. کلیدها نه توسط یک نفر سوم ایجاد میشود و نه در هیچ سازمان متمرکزی ذخیره میشوند.
+با یک کیفپول میتوانید فوراً وارد هر صرافی، بازی، و بازار [NFT](/glossary/#nft) شوید. نیازی به ثبتنام جداگانه نیست، یک حساب برای همه برنامههای ساخته شده بر روی اتریوم به اشتراک گذاشته میشود.
## قدم اول: یک کیف پول انتخاب کنید
-کیف پول اپلیکیشنی است که به شما کمک می کند حساب اتریوم خود را مدیریت کنید. از کلیدهای شما برای ارسال و دریافت تراکنش ها و ورود به اپلیکیشنها استفاده می کند. دهها کیف پول مختلف وجود دارند که میتوانید آنها را انتخاب کنید، از جمله افزونههای موبایل، دسکتاپ یا حتی مرورگر.
+کیف پول اپلیکیشنی است که به شما کمک می کند حساب اتریوم خود را مدیریت کنید. دهها کیفپول مختلف برای انتخاب وجود دارد: موبایل، دسکتاپ یا حتی افزونههای مرورگر.
+
- یافتن یک کیف پول
+ لیست کیف پول ها
اگر تازهکار هستید، میتوانید فیلتر «New to crypto» را در صفحه «یافتن کیف پول» انتخاب کنید تا کیفهایی را که باید شامل همه ویژگیهای لازم برای مبتدیان باشند، شناسایی کنید.
-
+
همچنین سایر فیلترهای پروفایل برای رفع نیازهای شما وجود دارد. اینها نمونه هایی از کیف پولهای رایج هستند - قبل از اعتماد به هر نرمافزار باید تحقیق خود را انجام دهید.
@@ -28,45 +29,45 @@ lang: fa
هنگامی که تصمیم گرفتید یک کیف پول خاص را انتخاب کنید، به وب سایت رسمی آن یا app store مراجعه کنید، آن را دانلود و نصب کنید. همه آنها باید رایگان باشند.
-## مرحله 3: اپلیکیشن را باز کنید و حساب اتریوم خود را ایجاد یا وارد کنید
+## مرحله سوم: برنامه را باز کنید و حساب اتریوم خود را بسازید
-اولین باری که کیف پول جدید خود را باز میکنید ممکن است از شما خواسته شود بین ایجاد یک حساب جدید یا وارد کردن یک حساب موجود یکی را انتخاب کنید. روی ساخت حساب جدید کلیک کنید.
+اولین باری که کیف پول جدید خود را باز میکنید ممکن است از شما خواسته شود بین ایجاد یک حساب جدید یا وارد کردن یک حساب موجود یکی را انتخاب کنید. روی ساخت حساب جدید کلیک کنید. **این مرحلهای است که طی آن نرمافزار کیفپول حساب اتریوم شما را تولید میکند.**
## مرحله 4: عبارت بازیابی خود را ذخیره کنید
-برخی از اپلیکیشنها از شما میخواهند یک «عبارت بذر» مخفی را ذخیره کنید (همچنین ممکن است این عبارت را به عنوان «عبارت بازیابی» یا «mnemonic» ببینید). ایمن نگه داشتن این "عبارت بذر" بسیار مهم است! عبارت بذر به منظور تولید یک کلید محرمانه برای یک حساب استفاده میشود که می تواند برای ورود و ارسال تراکنشها استفاده شود. هر فردی که عبارت بذر را بداند می تواند کنترل تمام حساب های ایجاد شده توسط آن را در دست بگیرد. هرگز عبارت بذر خود را با کسی به اشتراک نگذارید. عبارت بذر باید شامل 12 الی 24 کلمه تصادفی باشد (ترتیب کلمه ها اهمیت دارد).
-
-هنگامی که عبارت بذر خود را ذخیره کردید باید بتوانید به پنل کاربری کیف پول و موجودی خود دسترسی داشته باشید. نگاهی به راهنمای ما بیندازید:[چگونه از یک کیف پول استفاده کنید.](/guides/how-to-use-a-wallet)
+برخی از برنامهها از شما درخواست میکنند که یک "عبارت بازیابی" مخفی را ذخیره کنید (که گاهی اوقات "عبارت بذر" یا "مانمونیک" نامیده میشوند). ایمن نگه داشتن این عبارت بسیار مهم است! از آن بذر برای ایجاد حساب اتریوم شما استفاده میشود و می توان از آن برای ارسال تراکنش ها استفاده کرد.
-
+**هر فرد که از این عبارات آگاه است میتواند کنترل همه سرمایهها را در دست بگیرد.** هرگز آن را با کسی به اشتراک نگذارید. این عبارت باید شامل 12 تا 24 کلمه باشد که بهطور تصادفی تولید شده باشند (ترتیب کلمات مهم است).
+
- میخواهید بیشتر بدانید؟
-
- راهنماهای دیگر ما را ببینید
+ کیفپول نصب شد؟
نحوه استفاده اینجاست.
+
+ چگونگی استفاده از کیفپول
+
+
+به راهنماهای دیگر علاقهمندید؟ [راهنماهای گامبهگام](/guides/) ما را بررسی کنید
## پرسشهای متداول
### آیا کیف پول و حساب اتریوم من یکی هستند؟
-خیر. کیف پول یک ابزار مدیریت است که به شما کمک می کند حسابهای خود را مدیریت کنید. یک کیف پول ممکن است به چندین حساب دسترسی داشته باشد، و یک حساب می تواند توسط چندین کیف پول مورد دسترسی قرار گیرد. عبارت بذر برای ساختن حساب ها استفاده می شود که سپس بوسیله کیف پول کنترل می شوند.
-
-شما می توانید حساب ها را به عنوان برگهای درخت در نظر بگیرید که همه از یک عبارت بذر یکسان «رشد» میکنند. هر بذر منحصر یه فرد، درخت کاملا متفاوتی از حساب ها را میسازد.
+خیر. کیف پول یک ابزار مدیریت است که به شما کمک می کند حسابهای خود را مدیریت کنید. یک کیفپول ممکن است به چندین حساب دسترسی داشته باشد و یک حسابِ تنها، توسط چندین کیفپول قابل دسترسی است. عبارت بازیابی برای ایجاد حسابها استفاده میشود و به یک برنامه کیفپول اجازه میدهد تا داراییها را مدیریت کند.
### آیا میتوانم بیتکوین به یک آدرس اتریوم و یا اتر به یک آدرس بیتکوین ارسال کنیم؟
-خیر، نمیتوانید. بیتکوین و اتر در دو شبکه متفاوت (یعنی بلاکچینهای متفاوت) وجود دارند، هر کدام از آنها مدلهای حسابرسی و فرمت آدرس منحصر به خود را دارند. تلاش های مختلفی برای پل زدن بین این دو شبکه وجود داشته است که فعالترین آنها در حال حاضر [رپد بیتکوین یا WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/) است. این به معنی تایید WBTC نیست، چون توکن WBTC از طریق یک راهکار سرپرستی است (به این معنی که یک گروه از افراد کنترل توابع حیاتی خاص را دارند) و اینجا تنها برای اطلاعرسانی از آن یاد شده است.
+خیر، نمیتوانید. بیتکوین و اتر در دو شبکه مجزا (یعنی بلاکچین های مختلف) وجود دارند که هر کدام دارای فرمتهای حسابداری و آدرس مختص خود هستند. تلاشهای مختلف برای ایجاد پل ارتباطی بین دو شبکه مختلف صورت گرفته است که فعالترین آنها در حال حاضر[ رپد بیتکوین یا WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/) است. این به معنی تایید WBTC نیست، چون توکن WBTC از طریق یک راهکار سرپرستی است (به این معنی که یک گروه از افراد کنترل توابع حیاتی خاص را دارند) و اینجا تنها برای اطلاعرسانی از آن یاد شده است.
### اگر من صاحب یک آدرس اتریوم باشم، صاحب همان آدرس روی سایر بلاکچینها نیز هستم؟
-میتوانید در تمام بلاکچینهایی که از زیرساخت نرمافزاری یکسان با اتریوم (به عنوان زنجیره سازگار با EVM شناخته می شوند) استفاده میکنند از آدرس اتریومی خود استفاده کنید. این [لیست](https://chainlist.org/) بلاکچینهایی را که در آن میتوانید از آدرس یکسان استفاده کنید نمایش میدهد. بعضی بلاکچینها، مثل بیتکوین، قوانین شبکه کاملا متفاوتی اجرا میکنند و برای استفاده از آن شبکه به آدرس متفاوت با فرمت متفاوت احتیاج است. اگر از یک کیف پول مبتنی بر قرارداد هوشند استفاده میکنید، باید وبسایت ارائه دهنده خدمات را برای کسب اطلاعات درباره بلاکچینهای مورد پشتیبانی بررسی کنید.
+میتوانید از یک [آدرس](/glossary/#address) در همه بلاکچینهایی که از نرمافزار زیربنایی مشابه اتریوم (معروف به «سازگار با EVM») استفاده میکنند، استفاده کنید. این [لیست](https://chainlist.org/) بلاکچینهایی را که در آن میتوانید از آدرس یکسان استفاده کنید نمایش میدهد. بعضی بلاکچینها، مثل بیتکوین، قوانین شبکه کاملا متفاوتی اجرا میکنند و برای استفاده از آن شبکه به آدرس متفاوت با فرمت متفاوت احتیاج است. اگر یک کیف پول قرارداد هوشمند دارید، باید وب سایت محصول آن را برای اطلاعات بیشتر در مورد اینکه کدام بلاکچین ها پشتیبانی میشوند بررسی کنید، زیرا معمولاً آن ها دامنه محدود اما ایمنتری دارند.
### آیا نگهداری دارایی دیجیتال در کیف پول شخصی، ایمنتر از نگهداری آن در صرافی است؟
-استفاده از کیف پول شخصی به معنی قبول مسئولیت امنیت داراییهایتان است. متأسفانه مثالهای زیادی از اتفاقات ناگوار در صرافیها وجود دارند که باعث از دست رفتن سرمایه مشتریان آنها شدهاند. داشتن یک کیف پول (به همراه عبارت بذر) خطرات مربوط به اعتماد به یک نهاد برای سرپرستی داراییهایتان را از بین میبرد. با این حال، باید امنیت کلیدهای خود را تامین کنید و از قرار گرفتن در معرض حمله فیشینگ، تایید اتفاقی تراکنشها یا افشای کلیدها، تعامل با وبسایتهای تقلبی و دیگر ریسک هایی که داراییتان را به خطر می اندازند دوری کنید. ریسک ها و فواید متفاوتند.
+استفاده از کیف پول شخصی به معنی قبول مسئولیت امنیت داراییهایتان است. متأسفانه مثالهای زیادی از اتفاقات ناگوار در صرافیها وجود دارند که باعث از دست رفتن سرمایه مشتریان آنها شدهاند. داشتن یک کیفپول (با عبارت بازیابی) خطر مربوط به اعتماد به برخی نهادها برای نگهداری داراییهای شما را از بین میبرد. بااینحال، خودتان باید آن را ایمن کنید و از کلاهبرداریهای فیشینگ، تایید تصادفی تراکنشها یا افشای عبارت بازیابی، تعامل با وبسایت های جعلی، و سایر خطرات مربوط به حضانت دارایی خودداری کنید. ریسک ها و فواید متفاوتند.
### اگر گوشی تلفن همراه/کیف پول سختافزاری خودم را گم کنم، لازم است از همان اپلیکیشن کیف پول دیجیتال قبلی برای بازیابی حساب از دست رفته استفاده کنم؟
-خیر، میتوانید از کیف پول دیگری هم استفاده کنید. مادامی که عبارت بذر خود را داشته باشید میتوانید با وارد کردن آن در اکثر کیف پول های دیجیتال حساب خود را بازیابی کنید. اگر زمانی خواستید این کار را انجام دهید مراقب باشید: بهتر است مطمئن شوید هنگام بازیابی کیف پول به اینترنت متصل نباشید تا از نشت اتفاقی عبارت بذر در اینترنت جلوگیری کنید. معمولا بازیابی داراییهای از دست رفته بدون داشتن عبارت بذر غیرممکن است.
+خیر، میتوانید از کیف پول دیگری هم استفاده کنید. مادامی که عبارت بذر خود را داشته باشید میتوانید با وارد کردن آن در اکثر کیف پول های دیجیتال حساب خود را بازیابی کنید. اگر زمانی خواستید این کار را انجام دهید مراقب باشید: بهتر است مطمئن شوید هنگام بازیابی کیف پول به اینترنت متصل نباشید تا از نشت اتفاقی عبارت بذر در اینترنت جلوگیری کنید. غالباً بازیابی وجوه از دست رفته بدون داشتن عبارات بازیابی غیرممکن است.
diff --git a/public/content/translations/fa/guides/how-to-revoke-token-access/index.md b/public/content/translations/fa/guides/how-to-revoke-token-access/index.md
index 92c0f5297bc..b31c43964b6 100644
--- a/public/content/translations/fa/guides/how-to-revoke-token-access/index.md
+++ b/public/content/translations/fa/guides/how-to-revoke-token-access/index.md
@@ -20,7 +20,6 @@ lang: fa
- [Ethallowance](https://ethallowance.com/) (اتریوم)
- [Etherscan](https://etherscan.io/tokenapprovalchecker) (اتریوم)
-- [Cointool](https://cointool.app/approve/eth) (شبکه های گوناگون)
- [Revoke](https://revoke.cash/) (شبکه های گوناگون)
- [Unrekt](https://app.unrekt.net/) (شبکه های گوناگون)
- [EverRevoke](https://everrise.com/everrevoke/) (شبکه های گوناگون)
diff --git a/public/content/translations/fa/guides/how-to-use-a-wallet/index.md b/public/content/translations/fa/guides/how-to-use-a-wallet/index.md
index 8f55e38bc2b..84f661f5580 100644
--- a/public/content/translations/fa/guides/how-to-use-a-wallet/index.md
+++ b/public/content/translations/fa/guides/how-to-use-a-wallet/index.md
@@ -60,7 +60,7 @@ lang: fa

5. برای برقرار کردن اتصال، درخواست امضا را در کیف پول خود تایید کنید. **برای امضای این پیام، نباید به پرداخت هیچ ETH نیاز باشد**.
-6. همین! استفاده از اپلیکیشن را شروع کنید. در [صفحه برنامه های غیرمتمرکز](/dapps/#explore) می توانید پروژه های جالبی را پیدا کنید.
+6. همین! استفاده از اپلیکیشن را شروع کنید. در [صفحه برنامه های غیرمتمرکز](/apps/#explore) می توانید پروژه های جالبی را پیدا کنید.
میخواهید بیشتر بدانید؟
diff --git a/public/content/translations/fa/how-to-create-an-ethereum-account/index.md b/public/content/translations/fa/how-to-create-an-ethereum-account/index.md
new file mode 100644
index 00000000000..4b23e889a86
--- /dev/null
+++ b/public/content/translations/fa/how-to-create-an-ethereum-account/index.md
@@ -0,0 +1,73 @@
+---
+title: چگونگی «ساخت» یک حساب اتریوم
+description: راهنمای گام به گام درباره ساخت حساب اتریوم با استفاده از کیف پول.
+lang: fa
+---
+
+# چگونگی «ساخت» یک حساب اتریوم
+
+**هر کس میتواند یک حساب اتریوم به صورت رایگان ایجاد کند.** فقط باید یک برنامه کیفپول رمزارزی نصب کنید. کیفپولها حساب اتریوم شما را ایجاد و مدیریت میکنند. آنها میتوانند تراکنشها را ارسال کنند، موجودیهای شما را بررسی کنند، و شما را به سایر برنامههای ساخته شده بر روی اتریوم متصل کنند.
+
+با یک کیفپول میتوانید فوراً وارد هر صرافی، بازی، و بازار [NFT](/glossary/#nft) شوید. نیازی به ثبتنام جداگانه نیست، یک حساب برای همه برنامههای ساخته شده بر روی اتریوم به اشتراک گذاشته میشود.
+
+## قدم اول: یک کیف پول انتخاب کنید
+
+کیف پول اپلیکیشنی است که به شما کمک می کند حساب اتریوم خود را مدیریت کنید. دهها کیفپول مختلف برای انتخاب وجود دارد: موبایل، دسکتاپ یا حتی افزونههای مرورگر.
+
+
+
+ لیست کیف پول ها
+
+
+اگر تازهکار هستید، میتوانید فیلتر «New to crypto» را در صفحه «یافتن کیف پول» انتخاب کنید تا کیفهایی را که باید شامل همه ویژگیهای لازم برای مبتدیان باشند، شناسایی کنید.
+
+
+
+همچنین سایر فیلترهای پروفایل برای رفع نیازهای شما وجود دارد. اینها نمونه هایی از کیف پولهای رایج هستند - قبل از اعتماد به هر نرمافزار باید تحقیق خود را انجام دهید.
+
+## قدم دوم: بارگذاری و نصب اپلیکیشن کیف پول
+
+هنگامی که تصمیم گرفتید یک کیف پول خاص را انتخاب کنید، به وب سایت رسمی آن یا app store مراجعه کنید، آن را دانلود و نصب کنید. همه آنها باید رایگان باشند.
+
+## مرحله سوم: برنامه را باز کنید و حساب اتریوم خود را بسازید
+
+اولین باری که کیف پول جدید خود را باز میکنید ممکن است از شما خواسته شود بین ایجاد یک حساب جدید یا وارد کردن یک حساب موجود یکی را انتخاب کنید. روی ساخت حساب جدید کلیک کنید. **این مرحلهای است که طی آن نرمافزار کیفپول حساب اتریوم شما را تولید میکند.**
+
+## مرحله 4: عبارت بازیابی خود را ذخیره کنید
+
+برخی از برنامهها از شما درخواست میکنند که یک "عبارت بازیابی" مخفی را ذخیره کنید (که گاهی اوقات "عبارت بذر" یا "مانمونیک" نامیده میشوند). ایمن نگه داشتن این عبارت بسیار مهم است! از آن بذر برای ایجاد حساب اتریوم شما استفاده میشود و می توان از آن برای ارسال تراکنش ها استفاده کرد.
+
+**هر فرد که از این عبارات آگاه است میتواند کنترل همه سرمایهها را در دست بگیرد.** هرگز آن را با کسی به اشتراک نگذارید. این عبارت باید شامل 12 تا 24 کلمه باشد که بهطور تصادفی تولید شده باشند (ترتیب کلمات مهم است).
+
+
+
+ کیفپول نصب شد؟
نحوه استفاده اینجاست.
+
+ چگونگی استفاده از کیفپول
+
+
+
+
+به راهنماهای دیگر علاقهمندید؟ [راهنماهای گامبهگام](/guides/) ما را بررسی کنید
+
+## پرسشهای متداول
+
+### آیا کیف پول و حساب اتریوم من یکی هستند؟
+
+خیر. کیف پول یک ابزار مدیریت است که به شما کمک می کند حسابهای خود را مدیریت کنید. یک کیفپول ممکن است به چندین حساب دسترسی داشته باشد و یک حسابِ تنها، توسط چندین کیفپول قابل دسترسی است. عبارت بازیابی برای ایجاد حسابها استفاده میشود و به یک برنامه کیفپول اجازه میدهد تا داراییها را مدیریت کند.
+
+### آیا میتوانم بیتکوین به یک آدرس اتریوم و یا اتر به یک آدرس بیتکوین ارسال کنیم؟
+
+خیر، نمیتوانید. بیتکوین و اتر در دو شبکه مجزا (یعنی بلاکچین های مختلف) وجود دارند که هر کدام دارای فرمتهای حسابداری و آدرس مختص خود هستند. تلاشهای مختلف برای ایجاد پل ارتباطی بین دو شبکه مختلف صورت گرفته است که فعالترین آنها در حال حاضر[ رپد بیتکوین یا WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/) است. این به معنی تایید WBTC نیست، چون توکن WBTC از طریق یک راهکار سرپرستی است (به این معنی که یک گروه از افراد کنترل توابع حیاتی خاص را دارند) و اینجا تنها برای اطلاعرسانی از آن یاد شده است.
+
+### اگر من صاحب یک آدرس اتریوم باشم، صاحب همان آدرس روی سایر بلاکچینها نیز هستم؟
+
+میتوانید از یک [آدرس](/glossary/#address) در همه بلاکچینهایی که از نرمافزار زیربنایی مشابه اتریوم (معروف به «سازگار با EVM») استفاده میکنند، استفاده کنید. این [لیست](https://chainlist.org/) بلاکچینهایی را که در آن میتوانید از آدرس یکسان استفاده کنید نمایش میدهد. بعضی بلاکچینها، مثل بیتکوین، قوانین شبکه کاملا متفاوتی اجرا میکنند و برای استفاده از آن شبکه به آدرس متفاوت با فرمت متفاوت احتیاج است. اگر یک کیف پول قرارداد هوشمند دارید، باید وب سایت محصول آن را برای اطلاعات بیشتر در مورد اینکه کدام بلاکچین ها پشتیبانی میشوند بررسی کنید، زیرا معمولاً آن ها دامنه محدود اما ایمنتری دارند.
+
+### آیا نگهداری دارایی دیجیتال در کیف پول شخصی، ایمنتر از نگهداری آن در صرافی است؟
+
+استفاده از کیف پول شخصی به معنی قبول مسئولیت امنیت داراییهایتان است. متأسفانه مثالهای زیادی از اتفاقات ناگوار در صرافیها وجود دارند که باعث از دست رفتن سرمایه مشتریان آنها شدهاند. داشتن یک کیفپول (با عبارت بازیابی) خطر مربوط به اعتماد به برخی نهادها برای نگهداری داراییهای شما را از بین میبرد. بااینحال، خودتان باید آن را ایمن کنید و از کلاهبرداریهای فیشینگ، تایید تصادفی تراکنشها یا افشای عبارت بازیابی، تعامل با وبسایت های جعلی، و سایر خطرات مربوط به حضانت دارایی خودداری کنید. ریسک ها و فواید متفاوتند.
+
+### اگر گوشی تلفن همراه/کیف پول سختافزاری خودم را گم کنم، لازم است از همان اپلیکیشن کیف پول دیجیتال قبلی برای بازیابی حساب از دست رفته استفاده کنم؟
+
+خیر، میتوانید از کیف پول دیگری هم استفاده کنید. مادامی که عبارت بذر خود را داشته باشید میتوانید با وارد کردن آن در اکثر کیف پول های دیجیتال حساب خود را بازیابی کنید. اگر زمانی خواستید این کار را انجام دهید مراقب باشید: بهتر است مطمئن شوید هنگام بازیابی کیف پول به اینترنت متصل نباشید تا از نشت اتفاقی عبارت بذر در اینترنت جلوگیری کنید. غالباً بازیابی وجوه از دست رفته بدون داشتن عبارات بازیابی غیرممکن است.
diff --git a/public/content/translations/fa/learn/index.md b/public/content/translations/fa/learn/index.md
index 68ed03dff01..4d6cd4e71ed 100644
--- a/public/content/translations/fa/learn/index.md
+++ b/public/content/translations/fa/learn/index.md
@@ -6,8 +6,8 @@ lang: fa
# آموزش اتریوم {#learn-about-ethereum}
-**به [ethereum.org/fa/learn](/fa/learn/) مجموعهای از منابعی که به شما کمک میکنند تا درباره اتریوم یاد بگیرید خوش آمدید.**
-این صفحه شامل مقاله های فنی **و** غیرفنی، راهنما ها، و منابع اطلاعاتی دیگر هستند. اگر در موضوع اتریوم کاملا تازه وارد هستید، [به شما پیشنهاد می کنیم از اینجا شروع کنید](/fa/what-is-ethereum/).
+**به [ethereum.org/fa/learn](/learn/) مجموعهای از منابعی که به شما کمک میکنند تا درباره اتریوم یاد بگیرید خوش آمدید.**
+این صفحه شامل مقاله های فنی **و** غیرفنی، راهنما ها، و منابع اطلاعاتی دیگر هستند. اگر در موضوع اتریوم کاملا تازه وارد هستید، [به شما پیشنهاد می کنیم از اینجا شروع کنید](/what-is-ethereum/).
در اینجا بعضی نکات بسیار مناسب برای شروع را می توانید ببینید:
@@ -61,7 +61,7 @@ lang: fa
به زبان ساده، یک "قرارداد هوشمند" کدهایی هستند که بر روی اتریوم اجرا میشوند. به آن "قرارداد" میگویند زیرا کدی که روی اتریوم اجرا میشود میتواند چیزهای ارزشمندی مانند ETH یا سایر داراییهای دیجیتال را کنترل کند.
-- Want to learn how to program on Ethereum with smart contracts? [ethereum.org/fa/developers](/fa/developers/)
+- Want to learn how to program on Ethereum with smart contracts? [ethereum.org/fa/developers](/developers/)
- [What is a Smart Contract?](https://github.com/ethereumbook/ethereumbook/blob/develop/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract) _Nov 12, 2018 - Andreas M. Antonopoulos, Gavin Wood_
- [چه ارتباطی بین قراردادهای هوشمند و اتریوم وجود دارد؟](https://coiniran.com/ethereum-and-smart-contracts/) _June 2017 - کوین ایران_
@@ -77,7 +77,7 @@ lang: fa
شبکه اتریوم از تعداد زیادی نود تشکیل شده است که هرکدام از آنها نرمافزار سازگار کلاینت را اجرا میکنند. دو کلاینت وجود دارند که توسط اکثر نودها مورد استفاده قرار میگیرند:
[Geth](https://geth.ethereum.org/) (written in Go) و [Parity](https://www.parity.io/ethereum/) (written in Rust).
-- آیا مایلید نود اتریوم شخصی خود را داشته باشید؟ ← [ethereum.org/fa/developers](/fa/developers/#کلاینتها-و-اجرای-نود-شخصی-شما/)
+- آیا مایلید نود اتریوم شخصی خود را داشته باشید؟ ← [ethereum.org/fa/developers](/developers/#کلاینتها-و-اجرای-نود-شخصی-شما/)
- [Comprehensive list of all Ethereum clients](https://github.com/ConsenSys/ethereum-developer-tools-list#ethereum-clients)
## اتریوم اینترپرایز {#enterprise-ethereum}
@@ -85,7 +85,7 @@ lang: fa
منظور از اتریوم اینترپرایز، اجرای خصوصی، مشارکتی، و چندگانه کدبیس اتریوم برای کاربردهای تجاری است. هماکنون کمپانیهایی در سراسر جهان برای بازده-ای بیشتر در بازارهای مالی، مدیریت زنجیره تامین، و ایجاد مدلهای جدیدی از کسب و کار در حال بهره بردن از اتریوم اینترپرایز هستند.
بیشتر بدانیم
-[Enterprise Ethereum](/fa/enterprise/).
+[Enterprise Ethereum](/enterprise/).
## بهبود مقیاسپذیری اتریوم {#improving-ethereums-scalability}
@@ -119,7 +119,7 @@ lang: fa
سرنیتی "Serenity" یا ETH 2.0 به ارتقای بزرگ بعدی پروتکل اتریوم هسته اتلاق میشود که از ترکیب چندین مرحله بهسازی پروتکل هسته اتریوم یا "لایه 1" تشکیل میشود.
-- [8 Teams Are Sprinting to Build the Next Generation of Ethereum](https://www.coindesk.com/next-gen-buidlers-the-8-teams-working-on-ethereum-2-0) _Dec 9, 2018 - Christine Kim_
+- [8 Teams Are Sprinting to Build the Next Generation of Ethereum](https://www.coindesk.com/markets/2018/12/09/8-teams-are-sprinting-to-build-the-next-generation-of-ethereum) _Dec 9, 2018 - Christine Kim_
- [ETH 2.0 - The Road to Scaling Ethereum - Vitalik Buterin](https://youtu.be/kCVpDrlVesA) _(Video) November, 2018 - YouTube_
- [9 Things You Didn't Know About Ethereum 2.0](https://our.status.im/9-things-you-didnt-know-about-ethereum-2-0/) _July 18, 2019 - Bruno Škvorc_
diff --git a/public/content/translations/fa/nft/index.md b/public/content/translations/fa/nft/index.md
index 8989820ca83..48e8a4a3c36 100644
--- a/public/content/translations/fa/nft/index.md
+++ b/public/content/translations/fa/nft/index.md
@@ -56,7 +56,7 @@ NFTها کاربرد بسیاری دارند، از جمله:
NFT اثر هنری/کالاهای خود را جستجو کنید، بخرید یا بسازید...
-
+
کشف آثار هنری NFT
diff --git a/public/content/translations/fa/roadmap/index.md b/public/content/translations/fa/roadmap/index.md
index 6b73bbeb746..33fbfd78fda 100644
--- a/public/content/translations/fa/roadmap/index.md
+++ b/public/content/translations/fa/roadmap/index.md
@@ -8,10 +8,10 @@ alt: "نقشه راه اتریوم"
summaryPoints:
buttons:
-
- label: ارتقاهای پیش رو
+ content: ارتقاهای پیش رو
toId: چه تغییراتی ایجاد خواهد شد
-
- label: ارتقاهای پیشین
+ content: ارتقاهای پیشین
href: /history/
variant: طرح کلی
---
diff --git a/public/content/translations/fa/roadmap/merge/index.md b/public/content/translations/fa/roadmap/merge/index.md
index 1e87ad09518..26d60c8705f 100644
--- a/public/content/translations/fa/roadmap/merge/index.md
+++ b/public/content/translations/fa/roadmap/merge/index.md
@@ -90,7 +90,7 @@ title="Dapp و توسعهدهندگان قرارداد هوشمند"
contentPreview="The Merge was designed to have minimal impact on smart contract and dapp developers."
id="developers">
-رویداد «ادغام» با تغییراتی در اجماع همراه شد، که همچنین شامل تغییرات مرتبط با موارد زیر میشود:<
+رویداد «ادغام» با تغییراتی در اجماع همراه شد، که همچنین شامل تغییرات مرتبط با موارد زیر میشود:
- ساختار بلوک
diff --git a/public/content/translations/fa/roadmap/verkle-trees/index.md b/public/content/translations/fa/roadmap/verkle-trees/index.md
index aeadcd6c7ef..e10781bb17d 100644
--- a/public/content/translations/fa/roadmap/verkle-trees/index.md
+++ b/public/content/translations/fa/roadmap/verkle-trees/index.md
@@ -60,7 +60,7 @@ summaryPoints:
- [Guillaume Ballet درباره درختان ورکل در ETHGlobal توضیح میدهد](https://www.youtube.com/watch?v=f7bEtX3Z57o)
- [«چگونه درختان ورکل اتریوم را مختصر و مفید میکنند» از Guillaume Ballet در دِوکان 6](https://www.youtube.com/watch?v=Q7rStTKwuYs)
- [Piper Merriam از ETHDenver 2020 درباره کلاینتهای بیحالت میگوید](https://www.youtube.com/watch?v=0yiZJNciIJ4)
-- [دانکارد فیست در پادکست Zero Knowledge درختان ورکل و بیحالتی را توضیح میدهد](https://zeroknowledge.fm/episode-202-stateless-ethereum-verkle-tries-with-dankrad-feist/)
+- [دانکارد فیست در پادکست Zero Knowledge درختان ورکل و بیحالتی را توضیح میدهد](https://zeroknowledge.fm/podcast/202/)
- [Vitalik Buterin درباره درختان ورکل میگوید](https://vitalik.eth.limo/general/2021/06/18/verkle.html)
- [Dankrad Feist درباره درختان ورکل میگوید](https://dankradfeist.de/ethereum/2021/06/18/verkle-trie-for-eth1.html)
- [مستندات مربوط به EIP درختان ورکل](https://notes.ethereum.org/@vbuterin/verkle_tree_eip#Illustration)
diff --git a/public/content/translations/fa/smart-contracts/index.md b/public/content/translations/fa/smart-contracts/index.md
index f1914381563..34930cbf051 100644
--- a/public/content/translations/fa/smart-contracts/index.md
+++ b/public/content/translations/fa/smart-contracts/index.md
@@ -69,7 +69,7 @@ Watch Finematics قراردادهای هوشمند را توضیح میدهد
- [پایدارزها](/stablecoins/)
- [ایجاد و توزیع داراییهای یکتای دیجیتال](/nft/)
- [یک صرافی خودکار و باز یکاهای پولی](/get-eth/#dex)
-- [بازی کردن غیرمتمرکز](/dapps/?category=gaming#explore)
+- [بازی کردن غیرمتمرکز](/apps/?category=gaming#explore)
- [یک بیمهنامه که بهصورت خودکار پرداخت میکند.](https://etherisc.com/)
- [استانداردی که به افراد امکان میدهد ارزهای سفارشیشده و قابل تعامل ایجاد کنند](/developers/docs/standards/tokens/)
diff --git a/public/content/translations/fa/social-networks/index.md b/public/content/translations/fa/social-networks/index.md
index 68318a38ae2..8a9de33fc64 100644
--- a/public/content/translations/fa/social-networks/index.md
+++ b/public/content/translations/fa/social-networks/index.md
@@ -23,7 +23,7 @@ summaryPoint3: توکن ها و نیفتی ها راه های جدیدی برا
### شبکه های اجتماعی غیرمتمرکز چگونه کار می کنند؟ {#decentralized-social-networks-overview}
-شبکههای اجتماعی غیرمتمرکز دستهای از [برنامههای کاربردی غیرمتمرکز (dapps)](/dapps/) هستند که توسط [قراردادهای هوشمند](/glossary/#smart-contract) مستقر در بلاک چین پشتیبانی می شوند. کد قرارداد به عنوان پشتیبان این برنامه ها عمل می کند و منطق تجاری آنها را تعریف می کند.
+شبکههای اجتماعی غیرمتمرکز دستهای از [برنامههای کاربردی غیرمتمرکز (dapps)](/apps/) هستند که توسط [قراردادهای هوشمند](/glossary/#smart-contract) مستقر در بلاک چین پشتیبانی می شوند. کد قرارداد به عنوان پشتیبان این برنامه ها عمل می کند و منطق تجاری آنها را تعریف می کند.
پلتفرمهای رسانههای اجتماعی سنتی برای ذخیره اطلاعات کاربر، کد برنامه و سایر اشکال داده به پایگاههای داده متکی هستند. ولی این باعث ایجاد نقاط شکست واحد می شود و خطر قابل توجهی را ایجاد می کند. به عنوان مثال، سرورهای فیس بوک در اکتبر 2021 به طرز بدنامی [برای ساعت ها آفلاین شدند](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) و کاربران را از پلتفرم قطع کردند.
diff --git a/public/content/translations/fa/staking/solo/index.md b/public/content/translations/fa/staking/solo/index.md
index e0f650f4b3e..ab38ba2b184 100644
--- a/public/content/translations/fa/staking/solo/index.md
+++ b/public/content/translations/fa/staking/solo/index.md
@@ -203,4 +203,4 @@ Staking Launchpad یک برنامه منبعباز است که به شما ک
- [گامبهگام: نحوهی پیوستن به شبکهی آزمایشی اتریوم 2.0](https://kb.beaconcha.in/guides/tutorial-eth2-multiclient) - _بوتا_
- [نکات پیشگیری از برخورد شدید Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) - _راول جردن 2020_
-
+
diff --git a/public/content/translations/fa/web3/index.md b/public/content/translations/fa/web3/index.md
index 5da8790eb68..995a5e0e572 100644
--- a/public/content/translations/fa/web3/index.md
+++ b/public/content/translations/fa/web3/index.md
@@ -1,11 +1,15 @@
---
-title: وب 3 چیست و چرا اهمیت دارد?
-description: مقدمهای بر Web3- تکامل بعدی اینترنت - و چرایی اهمیت آن.
+title: وب 3 چیست و چرا اهمیت دارد؟
+description: مقدمهای بر وب 3- تکامل بعدی اینترنت - و چرایی اهمیت آن.
lang: fa
---
# مقدمه ای بر وب 3 {#introduction}
+
+
+
+
متمرکزسازی به فراهمسازی امکان حضور میلیاردها نفر در اینترنت کمک کرده است و زیرساخت پایدار و مستحکمی را ایجاد کرده است که بر بستر آن بنا شده است. در عین حال، تعداد انگشتشماری از نهادهای متمرکز کنترل بخشهای وسیعی از اینترنت را در دست دارند و به طور یکجانبه تصمیم میگیرند که چه چیزی باید مجاز باشد و چه چیزی نباید مجاز باشد.
وب 3 پاسخی به این معضل است. به جای شبکهای که در انحصار شرکتهای بزرگ فناوری است، Web3 از تمرکززدایی استقبال میکند و توسط کاربرانش ساخته میشود، گردانده میشود و تحت مالکیت آنها است. وب 3 قدرت را بهجای شرکتها در دست افراد قرار میدهد. قبل از اینکه در مورد وب 3 صحبت کنیم، بیایید ببینیم که چطور به اینجا رسیدیم.
@@ -64,7 +68,7 @@ Web3 امکان مالکیت مستقیم را از طریق [توکنهای
دربارهی NFTها بیشتر بدانید
- اطلاعات بیشتر درباره NTFها
+ اطلاعات بیشتر درباره NFTها
@@ -139,7 +143,7 @@ Web3 یک اکوسیستم جوان و در حال تکامل است. گاوین
- [یک کیف پول بگیرید](/wallets/)
- [افزودن جامعه](/community/)
-- [برنامههای وب 3 را کاوش کنید](/dapps/)
+- [برنامههای وب 3 را کاوش کنید](/apps/)
- [پیوستن به یک DAO](/dao/)
- [ساختن در وب 3](/developers/)
@@ -147,11 +151,11 @@ Web3 یک اکوسیستم جوان و در حال تکامل است. گاوین
Web3 تعریف سفت و محکمی ندارد. شرکتکنندگان مختلف جامعه، دیدگاههای متفاوتی در مورد آن دارند. چند نمونه از آنها در ادامه ذکر شده است:
-- [وب 3 چیست؟ توضیح تعامل غیرمتمرکز آینده](https://www.freecodecamp.org/news/what-is-web3/) – _نادر دبیت_
+- [وب 3 چیست؟ توضیح تعامل غیرمتمرکز آینده](https://www.freecodecamp.org/news/what-is-web3) – _نادر دبیت_
- [درک وب 3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) – _ جاش استارک_
- [چرا وب 3 مهم است](https://future.a16z.com/why-web3-matters/) – _کریس دیکسون_
- [چرا تمرکززدایی مهم است](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _کریس دیکسون_
- [فضای وب 3](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
-- [بحث وب ۳](https://www.notboring.co/p/the-web3-debate?s=r) - _پکی مککورمیک_
+- [بحث وب ۳](https://www.notboring.co/p/the-web3-debate) - _پکی مککورمیک_
diff --git a/public/content/translations/fa/whitepaper/index.md b/public/content/translations/fa/whitepaper/index.md
index f678b445ff0..52d793c3d58 100644
--- a/public/content/translations/fa/whitepaper/index.md
+++ b/public/content/translations/fa/whitepaper/index.md
@@ -16,53 +16,38 @@ _با وجود عمری چندین ساله، ما این مقاله را حفظ
## یک پلتفرم قرارداد هوشمند و برنامهی غیرمتمرکز نسل بعدی {#a-next-generation-smart-contract-and-decentralized-application-platform}
-توسعه بیت کوین توسط ساتوشی ناکاموتو در سال ۲۰۰۹ اغلب به عنوان یک تحول اساسی درصنعت پول و رمزارز مورد استقبال قرار گرفته است، اولین نمونه یک دارایی دیجیتال که به طور همزمان نه هیچ پشتوانه یا "[ارزش ذاتی](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)" دارد و نه هیچ مرجع عرضه متمرکز یا کنترل کننده. با این حال، یکی از بخشهای - شاید مهم تر - تجربه بیت کوین زیربنای فناوری زنجیره بلوکی آن به عنوان ابزاری برای اجماع توزیع شده است، و توجهات به سرعت در حال شروع به تغییر به این جنبه دیگر بیت کوین است. کاربردهای جایگزین رایج فناوری بلاک چین شامل استفاده از دارایی های دیجیتال درون بلاک چین برای نشان دادن ارزهای سفارشی و ابزارهای مالی "[سکه های رنگی](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lBEoW2T) ویرایش"، مالکیت یک دستگاه فیزیکی زیربنایی ("[اموال هوشمند](https://en.bitcoin.it/wiki/Smart_Property)")، داراییهای غیرقابل تعویض مانند نامهای دامنه ("[Namecoin](http://namecoin.org)")، و همچنین برنامههای پیچیدهتر شامل داشتن داراییهای دیجیتال که مستقیماً توسط یک قطعه کد کنترل میشوند. اجرای قوانین دلخواه ("[هوشمند قراردادها](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)") یا حتی "
-
-سازمان های مستقل غیرمتمرکز مبتنی بر بلاک چین (DAOs). آنچه اتریوم قصدش را دارد فراهمسازی یک زنجیره بلوکی با یک زبان برنامه نویسی توکار تورینگ-کامل تمام عیار است که بتوان از آن برای ساخت "قرارداد" هایی که میتوانند برای کد کردن توابع انتقال وضعیت دلخواه مورد استفاده قرار بگیرند بهره برد، که به کاربرها اجازه ساخت هر کدام از سیستم های پیشتر ذکر شده را و همچنین بسیاری از انواع دیگری که حتی تصورشان را هم هنوز نکرده ایم میدهد، صرفاً با به نوشته در آوردن منطق آن در چند خط کد.
+توسعه بیت کوین توسط ساتوشی ناکاموتو در سال ۲۰۰۹ اغلب به عنوان یک تحول اساسی درصنعت پول و رمزارز مورد استقبال قرار گرفته است، اولین نمونه یک دارایی دیجیتال که به طور همزمان نه هیچ پشتوانه یا "[ارزش ذاتی](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)" دارد و نه هیچ مرجع عرضه متمرکز یا کنترل کننده. با این حال، یکی از بخشهای - شاید مهم تر - تجربه بیت کوین زیربنای فناوری زنجیره بلوکی آن به عنوان ابزاری برای اجماع توزیع شده است، و توجهات به سرعت در حال شروع به تغییر به این جنبه دیگر بیت کوین است. کاربردهای جایگزین رایج فناوری بلاک چین شامل استفاده از دارایی های دیجیتال درون بلاک چین برای نشان دادن ارزهای سفارشی و ابزارهای مالی ("[سکه های رنگی](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)")، مالکیت یک دستگاه فیزیکی زیربنایی ("[اموال هوشمند](https://en.bitcoin.it/wiki/Smart_Property)")، داراییهای غیرقابل تعویض مانند نامهای دامنه ("[Namecoin](http://namecoin.org)")، و همچنین برنامههای پیچیدهتر شامل داشتن داراییهای دیجیتال که مستقیماً توسط یک قطعه کد کنترل میشوند. اجرای قوانین دلخواه ("[هوشمند قراردادها](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)") یا حتی مبتنی بر بلاک چین "[سازمان های مستقل غیرمتمرکز](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)" (DAOs). آنچه اتریوم قصدش را دارد فراهمسازی یک زنجیره بلوکی با یک زبان برنامه نویسی توکار تورینگ-کامل تمام عیار است که بتوان از آن برای ساخت "قرارداد" هایی که میتوانند برای کد کردن توابع انتقال وضعیت دلخواه مورد استفاده قرار بگیرند بهره برد، که به کاربرها اجازه ساخت هر کدام از سیستم های پیشتر ذکر شده را و همچنین بسیاری از انواع دیگری که حتی تصورشان را هم هنوز نکرده ایم میدهد، صرفاً با به نوشته در آوردن منطق آن در چند خط کد.
## مقدمه ای بر بیت کوین و مفاهیم موجود {#introduction-to-bitcoin-and-existing-concepts}
-
-
### تاریخچه {#history}
مفهوم ارز دیجیتال نامتمرکز و همچنین برنامه های جایگزین مانند ثبت اموال، برای دهه ها وجود داشته است. پروتکلهای پول نقد الکترونیکی ناشناس در دهههای 1980 و 1990، عمدتاً متکی به یک رمزنگاری بدوی به نام کورکننده چاومین، ارزی با درجه بالایی از حریم خصوصی ارائه می شدند، اما پروتکلها عمدتاً به دلیل اتکا به یک واسطه متمرکز نتوانستند مورد توجه قرار گیرند. در سال 1998، [b-money](http://www.weidai.com/bmoney.txt) از Wei Dai نخستین طرحی شد که ایده ساخت پول از طریق حل معما های محاسباتی و نیز اجماع نامتمرکز را معرفی میکرد، اما جزئیات طرح پیرامون اینکه اجماع نامتمرکز در واقع چگونه میتوانست تعبیه شود ناچیز بود. در سال 2005، هال فینی مفهوم [اثبات کار قابل استفاده مجدد](https://nakamotoinstitute.org/finney/rpow/) را معرفی کرد، سیستمی که از ایدههایی از b-money به همراه پازلهای سخت محاسباتی Hashcash آدام بک برای ایجاد مفهومی برای یک ارز دیجیتال بهره میبرد، اما بار دیگر به دلیل تکیه بر محاسبات قابل اعتماد به عنوان یک بکاند، دور از ایدهآل قرار گرفت. در سال 2009، یک ارز غیرمتمرکز برای اولین بار در عمل توسط ساتوشی ناکاموتو پیادهسازی شد، که ترکیبی از اصول اولیه برای مدیریت مالکیت از طریق رمزنگاری کلید عمومی همچنین الگوریتم اجماع برای پیگیری صاحبان سکهها، معروف به "اثبات کار" اجرا شد.
سازوکار پشت اثبات کار پیشرفت شگفت انگیزی بود چون به طور همزمان دو مشکل را حل میکرد. در وهله اول يك الگوريتم اجماع و ساده و موثر را ارائه مي كرد و به گره ها در شبكه اجازه مي دهد كه بصورت جامع و متمركز بر حالت به روز شده دفتر حساب بيتكوين توافق كنند. دوماً، مکانیسمی را برای ورود آزادانه به فرآیند اجماع ارائه داد که مشکل تصمیم گیری برای اینکه چه کسی هم بر اجماع تاثیر بگذارد و هم از حملات sybil جلوگیری کند. این کار را با جایگزین کردن یک مانع رسمی برای مشارکت، مانند الزام به ثبت نام به عنوان یک موجودیت منحصر به فرد در یک لیست خاص، با یک مانع اقتصادی انجام می دهد - وزن یک گره واحد در فرآیند رای گیری اجماع مستقیماً با قدرت محاسباتی که گره به ارمغان می آورد، متناسب است. از آن زمان، یک رویکرد جایگزین به نام _اثبات سهام_ پیشنهاد شده است که وزن یک گره را متناسب با دارایی های ارز آن محاسبه می کند و نه منابع محاسباتی. بحث در مورد مزایای نسبی دو رویکرد خارج از محدوده این مقاله است، اما باید توجه داشت که هر دو رویکرد می توانند به عنوان ستون فقرات یک رمزارز مورد استفاده قرار گیرند.
-
-
### بیت کوین به عنوان یک سیستم انتقال حالت {#bitcoin-as-a-state-transition-system}

از نقطه نظر فنی، دفتر کل رمزارزهایی مانند بیتکوین را می توان به عنوان یک سیستم انتقال حالت در نظر گرفت، که در آن یک "حالت" متشکل از وضعیت مالکیت تمام بیتکوین های موجود و یک "تابع انتقال حالت" که یک حالت و یک تراکنش را می گیرد و یک حالت جدید را که نتیجه آن است، خروجی می دهد. به عنوان مثال، در یک سیستم بانکی استاندارد، حالت یک صفحهی موجودی است، تراکنش یک درخواست برای انتقال x ریال از آ به ب، و تابع انتقال حالت از حساب آ مقدار x ریال را کسر میکند و به حساب ب مقدار x ریال را میافزاید. اگر حساب آ از پیش کمتر از $X داشته باشد، تابع انتقال حالت یک خطا بازمیگرداند. سرآخر میتوان به شکل استاندارد تعریف کرد:
-
-
```
APPLY(S,TX) -> S' or ERROR
```
-
در سیستم بانکی که بالا تعریف شد:
-
-
```js
APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }
```
-
اما:
-
-
```js
APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
```
-
"وضعیت" در بیت کوین مجموعه ای از تمام کوین ها (از لحاظ فنی، "خروجی های تراکنش خرج نشده" یا UTXO) است که ضرب شده اند و هنوز خرج نشده اند، با هر UTXO دارای یک اسم و یک مالک (که با یک آدرس 20 بایتی تعریف می شود. اساسا یک کلید عمومی رمزنگاری است[fn1](#notes)). یک تراکنش شامل یک یا چند ورودی است که هر ورودی حاوی ارجاع به یک UTXO موجود و یک امضای رمزنگاری شده توسط کلید خصوصی مرتبط با آدرس مالک است و یک یا چند خروجی که هر خروجی حاوی یک UTXO جدید است که باید به آن حالت اضافه شود.
تابع انتقال حالت `APPLY(S,TX) -> S'` را می توان تقریباً به صورت زیر تعریف کرد:
@@ -89,8 +74,6 @@ APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
نیمهی اول از گام اول مانع از این میشود که فرستندهها کوینهایی که وجود ندارند را خرج کنند، نیمهی دوم از گام اول مانع از این میشود که فرستندهها کوینهای دیگر افراد را خرج نکنند، و گام دوم فرستنده را مجبور میکند که ارزش را حفظ کند. برای این که از این برای پرداخت استفاده کنیم، پروتکل به شکل زیر است. فرض کنید که آلیس میخواهد ۱۱٬۷ BTC را به باب بفرستد. ابتدا آلیس به دنبال یک مجموعه از UTXO از آنهایی که خود مالک آنهاست میگردد که مجموعشان حداقل ۱۱٬۷ BTC شود. واقعبینانه، آلیس نخواهد توانست که دقیقا ۱۱٬۷ BTC را بیابد؛ فرض کنید کمترین میزانی که آلیس میتواند بسازد ۶+۴+۲=۱۲ باشد. در گام بعدی او یک تراکنش با سه ورودی گفتهشده و دو خروجی میسازد. اولین خروجی ۱۱٬۷ BTC به آدرس باب خواهد بود و دومین خروجی مقدار ۰٬۳ BTC باقیمانده به عنوان «پول خرد»، به آدرس خود آلیس است.
-
-
### استخراج {#mining}

@@ -103,7 +86,8 @@ APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
2. بررسی کنید که مُهر زمانی بلوک بزرگتر از بلوک قبلی باشد[fn2](#notes) و کمتر از 2 ساعت در آینده باشد
3. بررسی کنید که اثبات کار روی بلوک معتبر باشد.
4. حالت `S[0]` را حالت پایانی بلوک قبل بگذار.
-5. فرض کن `TX` لیست تراکنشهای بلوک با تعداد `n` تراکنش است. برای همه `i` در `0...n-1`، `S[i+1] = APPLY(S[i], TX[i]) را تنظیم کنید /code> اگر هر برنامه ای خطا را برمیگرداند، از آن خارج شوید و false را برگردانید. True را برگردانید و S[n]` را به عنوان وضعیت در انتهای این بلوک ثبت کنید.
+5. فرض کن `TX` لیست تراکنشهای بلوک با تعداد `n` تراکنش است. فرض کن `TX` لیست تراکنشهای بلوک با تعداد `n` تراکنش است. برای همه `i` در `0...n-1`، `S[i+1] = APPLY(S[i], TX[i])` را تنظیم کنید اگر هر برنامه ای خطا را برمیگرداند، از آن خارج شوید و false را برگردانید.
+6. True را برگردانید و `S[n]` را به عنوان وضعیت در انتهای این بلوک ثبت کنید.
در واقع هر تراکنش در بلوک باید یک انتقال حالت معتبر را از حالت قبل از انجام تراکنش به حالت جدید انجام دهد. باید توجه کرد که حالت به هیچ صورتی در بلوک ثبت نمیشود؛ این یک موضوع تماما انتزاعی است برای این که توسط گرههای اعتبارسنج به خاطر سپرده شود و تنها میتوان (به صورت ایمن) با شروع از حالت بلوک پیدایش و حرکت بر روی تراکنشهای هر بلوک، حالت بلوک فعلی را به دست آورد. علاوه بر این، توجه کنید که ترتیبی که استخراجگر تراکنشها را در بلوک ثبت میکند مهم است؛ اگر دو تراکنش آ و ب وجود داشته باشند به طوری که ب یک UTXOی ساختهشده از آ را خرج کند، در این صورت بلوک معتبر است اگر آ قبل از ب ثبت شود و نه برعکس.
@@ -120,8 +104,6 @@ APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
هنگامی که مرحله (1) انجام شد، پس از چند دقیقه برخی از ماینرها تراکنش را در یک بلوک، مثلاً بلوک شماره 270000، وارد می کنند. بعد از حدود یک ساعت، پنج بلوک دیگر به زنجیره پس از آن بلوک، اضافه میشود که هر کدام از این بلوک ها به طور غیر مستقیم به تراکنش اشاره کرده و بنابراین آن را تایید میکنند. در این نقطه، تاجر پرداخت را نهایی تلقی میکند و محصول را تحویل میدهد. همچنان که فرض کردیم این کالا دیجیتال است و تحویل آن فوری است. حال مهاجم تراکنش دیگری را ایجاد میکند و 100 بیت کوین را به خودش ارسال میکند. اگر مهاجم به سادگی آن را رها کند، تراکنش پردازش نخواهد شد. استخراج کنندگان تلاش میکنند که `APPLY(S, TX)` را اعمال کنند و متوجه میشوند که `TX` یک UTXO را مصرف میکند که دیگر در آن حالت نیست. بنابراین در عوض آن، مهاجم یک انشعاب (فورک) از زنجیره بلوکی را ایجاد میکند که با استخراج نسخه دیگری از بلوک 270 شروع میشود که به همان بلوک 269، به عنوان بلوک مادر اشاره میکند، اما با معرفی تراکنش جدید در جای تراکنش قدیمی. از آنجا که داده های بلوک متفاوت است، این مستلزم انجام مجدد اثبات کار است. علاوه بر این، نسخه جدید بلوک 270 مهاجم دارای هش متفاوتی است، بنابراین بلوک های اصلی 271 تا 275 به آن اشاره نمی کنند. بنابراین، زنجیره اصلی و زنجیره جدید مهاجم کاملاً جدا هستند. قانون این است که در یک فورک طولانیترین زنجیره بلوکی حقیقی در نظر گرفته میشود، و بنابراین ماینرهای قانونی روی زنجیره ۲۷۵ کار میکنند در حالی که مهاجم به تنهایی روی زنجیره ۲۷۰ کار میکند. برای اینکه مهاجم بتواند زنجیره بلوکی خود را تبدیل به طولانیترین رنجیره کند، باید قدرت محاسباتی بیشتری نسبت به مجموع سایر شبکهها داشته باشد تا بتواند به آنها برسد (یعنی، "حمله 51٪").
-
-
### درختان Merkle {#merkle-trees}

@@ -134,8 +116,6 @@ _طرف راست: هر تلاشی برای تغییر هر بخشی از درخ
پروتکل درخت Merkle به طور قابل دفاعی در ماندگاری دراز مدت نقش اساسی دارد. یک گره کامل در شبکه بیت کوین، گره ای است که کلیت یک بلوک را ذخیره و پردازش میکند و حدود 15 گیگابایت از فضای دیسک شبکه بیت کوین را در آپریل 2014 اشغال میکرد و هر ماه حدود یک گیگابایت به این مقدار اضافه میشد. در حال حاضر، این برای برخی از رایانههای دسکتاپ و نه تلفنها قابل اجرا است و بعداً در آینده فقط مشاغل و علاقهمندان میتوانند در آن شرکت کنند. پروتکلی به نام "تأیید پرداخت ساده" (SPV) اجازه می دهد تا کلاس دیگری از گره ها به نام "گره های سبک" وجود داشته باشد که هدرهای بلوک را دانلود می کنند، اثبات کار روی هدرهای بلوک را تأیید می کنند و سپس فقط "شاخه ها"ی مرتبط با تراکنش هایی که به آنها مربوط است را دانلود می کنند. این به گرههای سبک اجازه میدهد تا با ضمانت امنیتی قوی، وضعیت هر تراکنش بیتکوین و موجودی فعلی آنها را تعیین کنند، در حالی که تنها بخش بسیار کوچکی از کل زنجیره بلوکی را دانلود میکنند.
-
-
### کاربردهای جایگزین زنجیره بلوکی {#alternative-blockchain-applications}
ایده گرفتن ایده اصلی زنجیره بلوکی و اعمال آن در مفاهیم دیگر نیز سابقه طولانی دارد. در سال 2005، نیک زابو به مفهوم [عناوین ملکی ایمن با اختیار مالک](https://nakamotoinstitute.org/secure-property-titles/)، سندی که چگونگی "پیشرفت های جدید در فناوری پایگاه داده تکراری" را توضیح می دهد اشاره کرد. یک سیستم مبتنی بر بلاکچین برای ذخیره یک رجیستری از اینکه چه کسی امکانپذیر است که مالک چه زمینی است و یک چارچوب مفصل از جمله مفاهیمی از این قبیل ایجاد می کند به عنوان خانه داری، مالکیت نامناسب و مالیات زمین میلادی ایجاد می کند. با این حال، متأسفانه هیچ سیستم پایگاه داده تکثیر شده مؤثری در آن زمان موجود نبود، و بنابراین این پروتکل هرگز در عمل اجرا نشد. با این حال، پس از سال 2009، هنگامی که اجماع غیرمتمرکز بیت کوین توسعه یافت، تعدادی از برنامه های کاربردی جایگزین به سرعت شروع به ظهور کردند.
@@ -148,8 +128,6 @@ _طرف راست: هر تلاشی برای تغییر هر بخشی از درخ
از سوی دیگر، رویکرد مبتنی بر بیتکوین دارای این نقص است که ویژگیهای تأیید پرداخت ساده بیتکوین را به ارث نمیبرد. SPV برای بیت کوین کار می کند زیرا می تواند از عمق بلاک چین به عنوان یک پروکسی برای اعتبار استفاده کند. زمانی که پیشینههای یک تراکنش به اندازه کافی به عقب بروند، می توان با اطمینان گفت که آنها به طور قانونی بخشی از وضعیت بودند. از سوی دیگر، فراپروتکلهای مبتنی بر زنجیرهی بلوکی نمیتوانند زنجیرهی بلوکی را مجبور کنند که تراکنشهایی را که در چارچوب پروتکلهای خود معتبر نیستند، در بر نگیرد. از این رو، اجرای فراپروتکل SPV کاملاً ایمن باید تا ابتدای زنجیرهی بلوکی بیت کوین را به عقب اسکن کند تا مشخص شود که آیا تراکنش های خاصی معتبر هستند یا خیر. در حال حاضر، تمام پیادهسازیهای «سبک» فراپروتکلهای مبتنی بر بیتکوین برای ارائهی دادهها به یک سرور قابل اعتماد متکی هستند، که مسلماً نتیجهای بسیار نابهینه است، بهویژه زمانی که یکی از اهداف اصلی یک ارز دیجیتال حذف نیاز به اعتماد باشد.
-
-
### اسکریپت نویسی {#scripting}
درواقع پروتکل بیت کوین حتی بدون هیچ گونه افزونهای، نسخه ضعیفی از قرارداد های هوشمند را تسهیل میکند. UTXO در بیت کوین فقط با یک کلید عمومی مالکیت پیدا نمیکند، بلکه همچنین اسکریپت پیچیده تری در زبان برنامه نویسی بر پایهی پشتهی ساده ابراز میشود. در این الگو، تراکنشی که آن UTXO را خرج میکند، باید داده هایی را فراهم کند که اسکریپت را قانع کند. در واقع حتی مکانیزم مالکیت کلید عمومی اصلی، از طریق یک اسکریپت پیاده میشود. این اسکریپت یک امضای منحنی بیضوی را به عنوان ورودی اعمال میکند که آن را در برابر تراکنش و آدرسی که مالک UTXO است، تایید میکند و اگر تایید موفق باشد، 1 و در غیر این صورت 0 ارجاع داده میشود. اسکریپت های پیچیدهتر دیگری برای موارد استفاده اضافی متعددی موجود هستند. به عنوان مثال فرد میتواند اسکریپتی بسازد که نیازمند امضاهایی شامل دو از سه کلید خصوصی باشد تا اعتبارسنجی انجام شود. (multisig) این چیدمان برای اکانت های سازمانی، اکانت های پس انداز ایمن و موقعیت های شخص ثالث بازرگان، مفید است. اسکریپت ها همچنین میتوانند برای پرداخت جایزه هایی که برای راه حل های محاسباتی داده میشوند، استفاده شوند و فرد میتواند حتی اسکریپتی بسازد که چیزی مانند این که UTXO بیت کوین متعلق به چه کسی است، نشان داده شود. اگر بتوان یک مدرک SPV فراهم کرد که فرد یک تراکنش دوجکوین را فرستاده است، در اساس این امر مجوز یک تراکنش متقابل غیر متمرکز رمزارز را میدهد.
@@ -163,14 +141,10 @@ _طرف راست: هر تلاشی برای تغییر هر بخشی از درخ
بنابراین، ما سه رویکرد برای ایجاد برنامه های کاربردی پیشرفته در بالای آن می بینیم ارز دیجیتال: ساخت یک بلاکچین جدید، استفاده از اسکریپت در بالای بیت کوین و ساخت یک فرا پروتکل در بالای بیت کوین. ساخت یک زنجیرهی بلوکی جدید آزادی نامحدودی را در ساخت مجموعه ویژگیها امکانپذیر میکند، اما به قیمت زمان توسعه، تلاش و امنیت راهاندازی. استفاده از اسکریپت برای پیادهسازی و استانداردسازی آسان است، اما در قابلیت های آن بسیار محدود است و فرا پروتکل ها، در عین سادگی، از اشکالاتی در مقیاس پذیری رنج می برند. با اتریوم، ما قصد داریم یک چارچوب جایگزین بسازیم که دستاوردهای بزرگتری را در سهولت توسعه و همچنین ویژگیهای کلاینت سبک حتی قویتر فراهم میکند و در عین حال به برنامهها اجازه میدهد محیط اقتصادی و امنیت زنجیرهی بلوکی را به اشتراک بگذارند.
-
-
## اتریوم {#ethereum}
هدف اتریوم ایجاد یک پروتکل جایگزین برای ساخت برنامههای غیرمتمرکز است که مجموعهای متفاوت از معاوضهها را ارائه میکند که معتقدیم برای کلاس بزرگی از برنامههای غیرمتمرکز بسیار مفید خواهد بود، با تاکید ویژه بر موقعیتهایی که زمان توسعه سریع، امنیت برای کوچک و برنامههایی که به ندرت استفاده میشوند و توانایی برنامههای مختلف برای تعامل بسیار کارآمد، مهم هستند. اتریوم این کار را با ساختن لایه اساسی انتزاعی نهایی انجام می دهد: یک بلاک چین با زبان برنامه نویسی داخلی کامل تورینگ، که به هر کسی اجازه می دهد قراردادهای هوشمند و برنامه های غیرمتمرکز بنویسد که در آن می توانند قوانین دلخواه خود را برای مالکیت، فرمت های تراکنش و توابع انتقال حالت ایجاد کنند. توابع انتقال حالت یک نسخه بدون استخوان Namecoin را می توان در دو خط کد نوشت و سایر پروتکل ها مانند ارزها و سیستم های شهرت را می توان در کمتر از بیست خط ایجاد کرد. قراردادهای هوشمند، "جعبه های" رمزنگاری که حاوی مقدار باشد و فقط در صورت رعایت شرایط خاص، می تواند قفل آن را باز کند در بالای پلت فرم ساخته شود، با قدرت بسیار بیشتر از آن ارائه شده توسط اسکریپت بیت کوین به دلیل قدرت های اضافه شده تورینگ-کامل بودن، آگاهی از ارزش، آگاهی از بلاک چین و وضعیت.
-
-
### حساب های اتریوم {#ethereum-accounts}
در اتریوم، حالت از اشیایی به نام «حسابها» تشکیل میشود که هر حساب دارای یک آدرس 20 بایتی است و انتقال حالت، انتقال مستقیم ارزش و اطلاعات بین حسابها است. یک حساب اتریوم شامل چهار فیلد است:
@@ -184,8 +158,6 @@ _طرف راست: هر تلاشی برای تغییر هر بخشی از درخ
توجه داشته باشید که "قراردادها" در اتریوم نباید به عنوان چیزی که باید "پر شده" یا "منطبق با" تلقی شود. در عوض، آنها بیشتر شبیه «عاملهای مستقل» هستند که در محیط اجرای اتریوم زندگی میکنند، همیشه یک قطعه کد خاص را هنگام «صدا زدن» توسط یک پیام یا تراکنش اجرا میکنند و کنترل مستقیم بر تعادل اتر خود و ذخیره کلید/مقدار خود برای پیگیری متغیرهای پایدار دارند.
-
-
### پیغام ها و تراکنش ها {#messages-and-transactions}
واژه "تراکنش" در اتریوم برای اشاره به بسته داده امضا شده ای استفاده می شود که پیغامی را ذخیره می کند تا از یک حساب مالکیت خارجی ارسال شود. معاملات شامل:
@@ -201,8 +173,6 @@ _طرف راست: هر تلاشی برای تغییر هر بخشی از درخ
فیلدهای `STARTGAS` و `GASPRICE` برای مدل ضد انکار خدمات اتریوم بسیار مهم هستند. به منظور جلوگیری از حلقههای نامحدود تصادفی یا متخاصم یا سایر اتلافهای محاسباتی در کد، هر تراکنش باید محدودیتی برای تعداد مراحل محاسباتی اجرای کد تعیین کند. واحد اساسی محاسبات "گس" است. معمولاً، یک مرحله محاسباتی 1 گس هزینه دارد، اما برخی از عملیات ها به دلیل اینکه از نظر محاسباتی گرانتر هستند یا مقدار داده هایی را که باید به عنوان بخشی از حالت ذخیره شوند افزایش می دهند، مقدار گس بیشتری را هزینه می کنند. همچنین برای هر بایت در داده های تراکنش 5 گس کارمزد دریافت می شود. هدف سیستم کارمزد این است که از مهاجم بخواهد به ازای هر منبعی که مصرف میکند، از جمله محاسبات، پهنای باند و ذخیرهسازی، به نسبت هزینه پرداخت کند. از این رو، هر تراکنشی که منجر به مصرف شبکه مقدار بیشتری از هر یک از این منابع شود، باید هزینه گس تقریباً متناسب با افزایش داشته باشد.
-
-
### پیامها {#messages}
قراردادها قابلیت ارسال «پیام» به سایر قراردادها را دارند. پیام ها اشیای مجازی هستند که هرگز سریالی نمی شوند و فقط در محیط اجرای اتریوم وجود دارند. یک پیام شامل موارد زیر است:
@@ -217,8 +187,6 @@ _طرف راست: هر تلاشی برای تغییر هر بخشی از درخ
توجه داشته باشید که کمک هزینه گس تعیین شده توسط یک معامله یا قرارداد برای کل گس مصرف شده توسط آن معامله و کلیه اجراهای فرعی اعمال می شود. به عنوان مثال، اگر یک بازیگر خارجی A یک تراکنش را با 1000 گس به B ارسال کند، و B قبل از ارسال پیام به C، مقدار 600 گس مصرف کند، و اجرای داخلی C قبل از بازگشت، 300 گس مصرف کند، B می تواند قبل از تمام شدن گس 100 گس دیگر خرج کند.
-
-
### تابع انتقال حالت اتریوم {#ethereum-state-transition-function}

@@ -234,14 +202,11 @@ _طرف راست: هر تلاشی برای تغییر هر بخشی از درخ
به عنوان مثال، فرض کنید که کد قرارداد این است:
-
-
```py
if !self.storage[calldataload(0)]:
self.storage[calldataload(0)] = calldataload(32)
```
-
توجه داشته باشید که در واقع کد قرارداد در کد EVM سطح پایین نوشته شده است. این مثال برای وضوح در Serpent، یکی از زبان های سطح بالای ما، نوشته شده است و می توان آن را به کد EVM کامپایل کرد. فرض کنید ذخیرهسازی قرارداد خالی شروع میشود و تراکنشی با 10 مقدار اتر، 2000 گس، 0.001 اتر قیمت گس و 64 بایت داده ارسال میشود، با بایتهای 0-31 نشان دهنده عدد `2` و بایت است. 32-63 نشان دهنده رشته `CHARLIE` است. فرآیند تابع انتقال حالت در این مورد به شرح زیر است:
1. بررسی کنید که تراکنش معتبر و به خوبی شکل گرفته است.
@@ -255,11 +220,9 @@ if !self.storage[calldataload(0)]:
توجه داشته باشید که پیامها از نظر بازگردانیها مانند تراکنشها کار میکنند: اگر گس اجرای پیام تمام شود، اجرای آن پیام و همه اجرایهای دیگر که توسط آن اجرا آغاز میشوند، برمیگردند، اما اجرای والد نیازی به برگرداندن ندارد. این بدان معناست که برای قراردادی "ایمن" است که قرارداد دیگری را فراخوانی کند، زیرا اگر A با گس G برود B را صدا کند، اجرای A تضمین شده است که حداکثر گس G را از دست می دهد. در نهایت، توجه داشته باشید که یک opcode وجود دارد، `CREATE`، که یک قرارداد ایجاد می کند. مکانیک اجرای آن به طور کلی شبیه `CALL` است، با این استثنا که خروجی اجرا کد یک قرارداد جدیدآً ایجاد شده را تعیین می کند.
-
-
### اجرای کد {#code-execution}
-کد در قراردادهای اتریوم به زبان بایت کد مبتنی بر پشته، سطح پایین نوشته می شود که به آن «کد ماشین مجازی اتریوم» یا «کد EVM» گفته می شود. کد شامل یک سری بایت است که هر بایت نشان دهنده یک عملیات است. به طور کلی، اجرای کد یک حلقه بی نهایت است که شامل انجام مکرر عملیات در شمارنده برنامه فعلی (که از صفر شروع می شود) و سپس افزایش شمارنده برنامه به یک اندازه، تا رسیدن به انتهای کد یا یک خطا یا < دستورالعمل 0>STOP یا `RETURN` شناسایی شد. عملیات به سه نوع فضای ذخیرهسازی دادهها دسترسی دارند:
+کد در قراردادهای اتریوم به زبان بایت کد مبتنی بر پشته، سطح پایین نوشته می شود که به آن «کد ماشین مجازی اتریوم» یا «کد EVM» گفته می شود. کد شامل یک سری بایت است که هر بایت نشان دهنده یک عملیات است. به طور کلی، اجرای کد یک حلقه بی نهایت است که شامل انجام مکرر عملیات در شمارنده برنامه فعلی (که از صفر شروع می شود) و سپس افزایش شمارنده برنامه به یک اندازه، تا رسیدن به انتهای کد یا یک خطا یا `STOP` یا `RETURN` شناسایی شد. عملیات به سه نوع فضای ذخیرهسازی دادهها دسترسی دارند:
- این **پشته**، محفظهای که میتوان آنها را به بیرون فرستاد و مقادیر را به آن منتقل کرد
- **Memory**، یک آرایه بایت بی نهایت قابل گسترش است
@@ -267,9 +230,7 @@ if !self.storage[calldataload(0)]:
این کد همچنین میتواند به مقدار، فرستنده و دادههای پیام دریافتی و همچنین دادههای هدر بلوک دسترسی داشته باشد و کد همچنین میتواند یک آرایه بایتی از دادهها را به عنوان خروجی برگرداند.
-مدل اجرای رسمی کد EVM به طرز شگفت آوری ساده است. در حالی که ماشین مجازی اتریوم در حال اجرا است، حالت محاسباتی کامل آن را میتوان با چند `(block_state، تراکنش، پیام، کد، حافظه، پشته، کامپیوتر، گس)` تعریف کرد، جایی که `block_state 0> حالت جهانی است که شامل تمام حساب ها و شامل موجودی ها و ذخیرهسازی است. در شروع هر دور اجرا، دستورالعمل فعلی با گرفتن pc`امین بایت `کد` (یا 0 اگر `pc >= len(code)`)، و هر دستورالعمل از نظر نحوه تأثیرگذاری بر تاپل، تعریف خاص خود را دارد. برای مثال، `ADD` دو مورد را از پشته بیرون میآورد و مجموع آنها را فشار میدهد، `گس` را به 1 کاهش میدهد و `pc` را به 1 افزایش میدهد و ` SSTORE` دو مورد بالا را از پشته بیرون میآورد و مورد دوم را در فهرستی که مورد اول مشخص کرده است در محل ذخیره قرارداد قرار میدهد. اگرچه راههای زیادی برای بهینهسازی اجرای ماشین مجازی اتریوم از طریق کامپایلسازی بهموقع وجود دارد، پیادهسازی اولیه اتریوم را میتوان در چند صد خط کد انجام داد.
-
-
+مدل اجرای رسمی کد EVM به طرز شگفت آوری ساده است. در حالی که ماشین مجازی اتریوم در حال اجرا است، حالت محاسباتی کامل آن را میتوان با چند `(block_state، تراکنش، پیام، کد، حافظه، پشته، کامپیوتر، گس)` تعریف کرد، جایی که `block_state` حالت جهانی است که شامل تمام حساب ها و شامل موجودی ها و ذخیرهسازی است. در شروع هر دور اجرا، دستورالعمل فعلی با گرفتن `pc`امین بایت `کد` (یا 0 اگر `pc >= len(code)`)، و هر دستورالعمل از نظر نحوه تأثیرگذاری بر تاپل، تعریف خاص خود را دارد. برای مثال، `ADD` دو مورد را از پشته بیرون میآورد و مجموع آنها را فشار میدهد، `گس` را به 1 کاهش میدهد و `pc` را به 1 افزایش میدهد و ` SSTORE` دو مورد بالا را از پشته بیرون میآورد و مورد دوم را در فهرستی که مورد اول مشخص کرده است در محل ذخیره قرارداد قرار میدهد. اگرچه راههای زیادی برای بهینهسازی اجرای ماشین مجازی اتریوم از طریق کامپایلسازی بهموقع وجود دارد، پیادهسازی اولیه اتریوم را میتوان در چند صد خط کد انجام داد.
### بلاکچین و ماینینگ {#blockchain-and-mining}
@@ -290,22 +251,16 @@ if !self.storage[calldataload(0)]:
یک سوال متداول این است که کد قرارداد از نظر سخت افزار فیزیکی "کجا" اجرا می شود. جواب هم ساده است: فرآیند اجرای کد قرارداد بخشی از تعریف تابع انتقال حالت است که بخشی از الگوریتم اعتبارسنج بلوک است، بنابراین اگر تراکنش به بلوک `B` اضافه شود، کد اجرای ایجاد شده توسط آن تراکنش توسط همه گرهها، در حال حاضر و در آینده، که بلوک `B` دانلود و اعتبارسنج میکنند، اجرا خواهد شد.
-
-
## برنامههای کاربردی {#applications}
به طور کلی، سه نوع برنامه سوار بر اتریوم هستند: دسته اول برنامه های مالی هستند که روش های قدرتمندتری را برای مدیریت و عقد قراردادها با استفاده از پول در اختیار کاربران قرار می دهند. این شامل ارزهای فرعی، مشتقات مالی، قراردادهای پوشش ریسک، کیف پول های پس انداز، وصیت نامه و در نهایت حتی برخی از کلاس های قراردادهای کار در مقیاس کامل است. دسته دوم برنامه های نیمه مالی است که در آن پول درگیر است، اما جنبه غیر پولی سنگینی نیز برای کاری که انجام می شود وجود دارد. یک مثال عالی، پاداش های خود-اجباری برای راه حل های مسائل محاسباتی است. در نهایت، برنامه هایی مانند رای گیری آنلاین و حاکمیت غیرمتمرکز وجود دارند که اصلاً مالی نیستند.
-
-
### سیستمهای توکن {#token-systems}
سیستمهای توکن درون بلاکچین کاربردهای زیادی دارند، از ارزهای فرعی که داراییهایی مانند دلار یا طلا را نشان میدهند تا سهام شرکت، توکنهای فردی که نشان دهنده دارایی هوشمند، کوپنهای غیرقابل جعل امن و حتی سیستمهای رمزی بدون هیچ ارتباطی با ارزش متعارف، به عنوان سیستمهای نقطهای برای ایجاد انگیزه استفاده میشوند. پیاده سازی سیستم های توکن در اتریوم به طرز شگفت انگیزی آسان است. نکته کلیدی برای درک این است که تمام یک ارز یا سیستم توکن، اساساً یک پایگاه داده با یک عملیات است: X واحدها را از A کم کنید و واحدهای X را به B بدهید، با این شرط که (i) A حداقل X واحد داشته باشد. قبل از تراکنش و (2) تراکنش توسط A تأیید شود. تمام آنچه برای پیاده سازی یک سیستم توکن نیاز است، پیاده سازی این منطق در یک قرارداد است.
کد اصلی برای پیاده سازی یک سیستم توکن در Serpent به صورت زیر است:
-
-
```py
def send(to, value):
if self.storage[msg.sender] >= value:
@@ -313,11 +268,8 @@ def send(to, value):
self.storage[to] = self.storage[to] + value
```
-
این اساساً اجرای تحت اللفظی تابع انتقال حالت "سیستم بانکی" است که در بالا در این سند شرح داده شد. چند خط کد اضافی باید اضافه شود تا مرحله اولیه توزیع واحدهای ارزی در وهله اول و چند مورد لبه دیگر فراهم شود، و در حالت ایدهآل تابعی اضافه میشود که به قراردادهای دیگر اجازه میدهد تا تعادل یک آدرس را جستجو کنند. اما این تمام چیزی است که وجود دارد. از نظر تئوری، سیستمهای توکن مبتنی بر اتریوم که بهعنوان ارزهای فرعی عمل میکنند، میتوانند به طور بالقوه ویژگی مهم دیگری را داشته باشند که متا ارزهای مبتنی بر بیتکوین روی زنجیره فاقد آن هستند: توانایی پرداخت مستقیم هزینههای تراکنش در آن ارز. روش اجرای این امر به این صورت است که قرارداد دارای تعادل اتری است که با آن اتری که برای پرداخت هزینهها به فرستنده استفاده میشود بازپرداخت میکند، و این موجودی را با جمعآوری واحدهای ارز داخلی که کارمزد دریافت میکند و فروش مجدد آنها در یک حراج دائمی دوباره پر میکند. بنابراین کاربران باید حساب های خود را با اتر "فعال کنند"، اما زمانی که اتر وجود دارد، قابل استفاده مجدد خواهد بود زیرا قرارداد هر بار آن را بازپرداخت می کند.
-
-
### مشتقات مالی و ارزهای با ارزش ثابت {#financial-derivatives-and-stable-value-currencies}
مشتقات مالی رایج ترین کاربرد "قرارداد هوشمند" و یکی از سادهترین آنها برای پیادهسازی در کد هستند. چالش اصلی در اجرای قراردادهای مالی این است که اکثر آنها نیاز به ارجاع به شاخص قیمت خارجی دارند. به عنوان مثال، یک برنامه بسیار مطلوب، یک قرارداد هوشمند است که در برابر نوسانات اتر (یا یک رمزارز دیگر) با توجه به دلار آمریکا محافظت می کند، اما انجام این کار مستلزم آن است که قرارداد بداند ارزش ETH/USD چقدر است. ساده ترین راه برای انجام این کار، از طریق قرارداد «فید داده» است که توسط یک طرف خاص (مثلاً NASDAQ) نگهداری می شود که به گونه ای طراحی شده است که آن طرف توانایی بهروزرسانی قرارداد را در صورت نیاز داشته باشد، و ارائه رابطی که به سایر قراردادها اجازه می دهد تا یک پیام ارسال کنند. به آن قرارداد پیام دهید و پاسخی دریافت کنید که قیمت را ارائه می دهد.
@@ -333,25 +285,18 @@ def send(to, value):
با این حال، در عمل، ناشران همیشه قابل اعتماد نیستند و در برخی موارد زیرساخت بانکی برای وجود چنین خدماتی بسیار ضعیف یا بسیار خصمانه است. مشتقات مالی یک جایگزین را ارائه می دهند. در اینجا، به جای اینکه یک صادرکننده واحد پولی را برای پشتیبانگیری از یک دارایی فراهم کند، یک بازار غیرمتمرکز از سفتهبازان که شرط میبندند قیمت یک دارایی مرجع رمزنگاری (مثلا اتر) بالا خواهد رفت، این نقش را ایفا میکند. بر خلاف صادرکننده، سفته بازان هیچ گزینه ای برای نکول در معامله خود ندارند زیرا قرارداد پوشش ریسک وجوه آنها را در امان نگه می دارد. توجه داشته باشید که این رویکرد کاملاً غیرمتمرکز نیست، زیرا هنوز یک منبع قابل اعتماد برای ارائه شاخص قیمت مورد نیاز است، اگرچه احتمالاً حتی هنوز هم این یک پیشرفت بزرگ از نظر کاهش الزامات زیرساختی است (برخلاف صادرکننده بودن، صدور خوراک قیمت نیازی به مجوز ندارد. و احتمالاً می تواند به عنوان آزادی بیان طبقه بندی شود) و پتانسیل تقلب را کاهش می دهد.
-
-
### سیستم های هویت و شهرت {#identity-and-reputation-systems}
اولین رمزارز جایگزین، [Namecoin](http://namecoin.org/)، تلاش کرد از یک بلاکچین مانند بیتکوین برای ارائه یک سیستم ثبت نام استفاده کند، جایی که کاربران می توانند نام خود را در یک پایگاه داده عمومی در کنار سایر داده ها ثبت کنند. مورد استفاده عمده ذکر شده متعلق به یک سیستم [DNS](https://wikipedia.org/wiki/Domain_Name_System) است که نام های دامنه مانند "bitcoin.org" (یا در مورد Namecoin، "bitcoin.bit") را به یک آدرس IP نگاشت می کند. موارد استفاده دیگر عبارتند از احراز هویت ایمیل و سیستم های شهرت بالقوه پیشرفتهتر. در اینجا قرارداد اصلی برای ارائه یک سیستم ثبت نام مشابه Namecoin در اتریوم است:
-
-
```py
def register(name, value):
if !self.storage[name]:
self.storage[name] = value
```
-
قرارداد بسیار ساده است. همه اینها یک پایگاه داده در داخل شبکه اتریوم است که می توان به آن اضافه کرد، اما نمی توان آن را تغییر داد یا حذف کرد. هر کسی می تواند نامی با مقداری را ثبت کند و آن ثبت نام برای همیشه باقی می ماند. یک قرارداد پیچیدهتر ثبت نام همچنین دارای یک «بند عملکرد» است که به سایر قراردادها امکان میدهد آن را پرس و جو کنند، و همچنین مکانیزمی برای «مالک» (یعنی اولین ثبتکننده) نام برای تغییر داده یا انتقال مالکیت. حتی می توان شهرت و قابلیت های شبکه ای از اعتماد را در بالای آن اضافه کرد.
-
-
### ذخیره سازی غیرمتمرکز فایل {#decentralized-file-storage}
در چند سال گذشته، تعدادی راهانداز ذخیرهسازی فایل آنلاین، معروفترین آنها Dropbox به وجود آمدهاند که به دنبال اجازه دادن به کاربران برای آپلود یک نسخه پشتیبان از هارد دیسک خود و اینکه سرویس پشتیبان را ذخیره کند و به کاربر اجازه دهد در ازای پرداخت هزینه ماهانه به آن دسترسی داشته باشد هستند. با این حال، در این مرحله، بازار ذخیرهسازی فایل در زمانهایی نسبتاً ناکارآمد است. نگاهی گذرا به راهحلهای مختلف موجود نشان میدهد که، بهویژه در سطح 20-200 گیگابایتی «دره غیرعادی» که نه سهمیههای رایگان و نه تخفیفهای سطح سازمانی آغاز میشود، قیمت های ماهانه هزینه های ذخیره سازی فایل اصلی به گونه ای است که شما بیش از هزینه کل هارد دیسک در یک ماه پرداخت می کنید. قراردادهای اتریوم میتوانند به توسعه یک اکوسیستم ذخیرهسازی فایل غیرمتمرکز اجازه دهند، که در آن کاربران فردی میتوانند با اجاره هارد دیسکهای خود مقادیر کمی پول به دست آورند و از فضای بلااستفاده برای کاهش بیشتر هزینههای ذخیرهسازی فایل استفاده شود.
@@ -360,8 +305,6 @@ def register(name, value):
یکی از ویژگی های مهم پروتکل این است که، اگرچه ممکن است به نظر برسد که یک نفر به بسیاری از گره های تصادفی اعتماد دارد تا تصمیم به فراموش کردن فایل نداشته باشد، و یک نفر میتواند با تقسیم کردن فایل به قطعات متعدد از طریق اشتراکگذاری مخفی، این ریسک را به نزدیک به صفر کاهش دهد و تماشای قراردادها برای دیدن هر قطعه هنوز در اختیار برخی از گرهها است. اگر یک قرارداد همچنان پولی را پرداخت میکند، این یک مدرک رمزنگاری شده است که نشان میدهد یک نفر هنوز در آنجا دارد فایل را ذخیره میکند.
-
-
### سازمان خودمختار غیرمتمرکز {#decentralized-autonomous-organizations}
مفهوم کلی "سازمان خودمختار غیرمتمرکز" عبارت است از یک نهاد مجازی که دارای مجموعه معینی از اعضا یا سهامداران است که شاید با اکثریت 67 درصدی، حق دارند وجوه آن واحد را خرج کرده و کد آن را اصلاح کنند. اعضا به طور جمعی در مورد نحوه تخصیص بودجه توسط سازمان تصمیم می گیرند. روشهای تخصیص وجوه یک DAO میتواند از جوایز، حقوق گرفته تا مکانیسمهای عجیبتری مانند ارز داخلی برای پاداش دادن به کار متغیر باشد. این اساساً موارد قانونی یک شرکت سنتی یا غیرانتفاعی را تکرار می کند، اما تنها از فناوری بلاکچین رمزنگاری شده برای اجرا استفاده می کند. تاکنون بسیاری از صحبتها در مورد DAOها حول مدل «سرمایهداری» یک «شرکت مستقل غیرمتمرکز» (DAC) با سهامداران دریافتکننده سود سهام و سهام قابل معامله بوده است. یک جایگزین، که شاید به عنوان «جامعه خودمختار غیرمتمرکز» توصیف شود، این است که همه اعضا سهم برابری در تصمیمگیری دارند و 67 درصد از اعضای موجود باید با اضافه کردن یا حذف یک عضو موافقت کنند. این شرط که یک نفر فقط می تواند یک عضویت داشته باشد باید به طور جمعی توسط گروه اجرا شود.
@@ -376,8 +319,6 @@ def register(name, value):
یک مدل جایگزین برای یک شرکت غیرمتمرکز است، که در آن هر حسابی میتواند دارای سهام صفر یا بیشتر باشد و دو سوم سهام برای تصمیمگیری لازم است. یک اسکلت کامل شامل عملکرد مدیریت دارایی، توانایی ارائه پیشنهاد برای خرید یا فروش سهام، و توانایی پذیرش پیشنهادها (ترجیحا با مکانیزم تطبیق سفارش در داخل قرارداد) است. تفویض اختیار نیز به سبک دموکراسی مایع وجود خواهد داشت که مفهوم "هیئت مدیره" را تعمیم می دهد.
-
-
### برنامههای کاربردهای بیشتر {#further-applications}
**1. کیفهای پول پسانداز**. فرض کنید که آلیس (Alice) میخواهد سرمایه خود را ایمن نگه دارد، اما نگران است که از دست بدهد یا کسی کلید خصوصی او را هک کند. او اتر را در یک قرارداد با باب، یک بانک، به شرح زیر قرار می دهد:
@@ -402,12 +343,8 @@ def register(name, value):
**8. بازارهای غیرمتمرکز زنجیرهای**، با استفاده از سیستم هویت و شهرت به عنوان پایگاه.
-
-
## مسائل متفرقه و نگرانیها {#miscellanea-and-concerns}
-
-
### پروتکل اصلاح شده ی GHOST {#modified-ghost-implementation}
پروتکل "طماعترین زیردرخت مشاهده شده" (GHOST) یک نوآوری است که برای اولین بار توسط Yonatan Sompolinsky و Aviv Zohar در [دسامبر 2013](https://eprint.iacr.org/2013/881.pdf) معرفی شد. انگیزه پشت GHOST این است که بلاک چینهایی با زمان تایید سریع در حال حاضر به دلیل نرخ قدیمی بالا از امنیت کمتری رنج میبرند - زیرا بلوکها زمان مشخصی را برای انتشار در شبکه میطلبند، اگر ماینر A یک بلوک را استخراج کند و سپس ماینر B بلوک دیگری را استخراج کند. قبل از انتشار بلوک ماینر A به B، بلوک ماینر B به هدر می رود و به امنیت شبکه کمک نمی کند. علاوه بر این، یک مشکل متمرکز وجود دارد: اگر ماینر A یک استخر استخراج با 30٪ قدرت هش و B دارای 10٪ قدرت هش باشد، A در 70٪ مواقع (از 30٪ بقیه مواقع) خطر تولید یک بلوک قدیمی را خواهد داشت. A آخرین بلوک را تولید می کند و بنابراین بلافاصله داده های استخراج را دریافت می کند) در حالی که B در 90٪ مواقع خطر تولید یک بلوک قدیمی را دارد. بنابراین، اگر فاصله بلوک به اندازهای کوتاه باشد که نرخ بیات بالا باشد، A بهدلیل اندازهاش به طور قابلتوجهی کارآمدتر خواهد بود. با ترکیب این دو اثر، بلاکچینهایی که بلوکها را به سرعت تولید میکنند، به احتمال زیاد منجر به یک استخر ماینینگ میشوند که درصد زیادی از قدرت هش شبکه را داشته باشد تا بتواند بالفعل بر فرآیند استخراج کنترل داشته باشد.
@@ -417,8 +354,8 @@ def register(name, value):
اتریوم نسخه ساده شده GHOST را پیاده سازی می کند که تنها در هفت سطح پایین می آید. به طور مشخص به صورت زیر تعریف می شود:
- یک بلوک باید یک والد را مشخص کند و باید 0 یا چند عمو را مشخص کند
-- عموی موجود در بلوک B باید دارای ویژگی های زیر باشد:
- - این باید یک فرزند مستقیم از اجداد نسل k ام B باشد که در آن `2 <= k <= 7`.
+- عموی موجود در بلوک B باید دارای ویژگی های زیر باشد:
+ - این باید یک فرزند مستقیم از اجداد نسل k ام B باشد که در آن `2 <= k <= 7`.
- نمی تواند جد B باشد
- عمو باید یک هدر بلوک معتبر باشد، اما نیازی نیست که قبلاً یک بلوک تأیید شده یا حتی معتبر باشد
- یک عمو باید با همه عموهای موجود در بلوک های قبلی و سایر عموهای موجود در همان بلوک متفاوت باشد (غیر شامل دوگانه)
@@ -426,8 +363,6 @@ def register(name, value):
این نسخه محدود GHOST، با عموهایی که فقط تا 7 نسل را شامل می شود، به دو دلیل استفاده شد. اولاً، GHOST نامحدود شامل پیچیدگی های بسیار زیادی در محاسبه است که عموهای یک بلوک معین معتبر هستند. دوم، GHOST نامحدود با جبرانی که در اتریوم استفاده میشود، انگیزه استخراجکننده را برای استخراج از زنجیره اصلی و نه زنجیره مهاجم عمومی را از بین میبرد.
-
-
### کارمزدها {#fees}
از آنجایی که هر تراکنش منتشر شده در بلاکچین، هزینه دانلود و تأیید آن را بر شبکه تحمیل میکند، برای جلوگیری از سوء استفاده، نیاز به مکانیزمی نظارتی وجود دارد که معمولاً شامل کارمزد تراکنش است. رویکرد پیشفرض، که در بیتکوین استفاده میشود، داشتن هزینههای کاملاً داوطلبانه است، با تکیه بر ماینرها که به عنوان دروازهبان عمل میکنند و حداقلهای پویا را تعیین میکنند. این رویکرد در جامعه بیتکوین با استقبال بسیار خوبی مواجه شده است، بهویژه به این دلیل که «مبتنی بر بازار» است و به عرضه و تقاضای بین ماینرها و فرستندگان تراکنش اجازه میدهد تا قیمت را تعیین کنند. با این حال، مشکل این خط استدلال این است که پردازش معاملات یک بازار نیست. اگرچه به طور شهودی درک پردازش تراکنش به عنوان خدماتی که ماینر به فرستنده ارائه میدهد جذاب است، در واقع هر تراکنشی که توسط ماینر شامل میشود باید توسط هر گره یا نود در شبکه پردازش شود، بنابراین اکثریت قریب به اتفاق هزینه تراکنش پردازش به عهده اشخاص ثالث است و نه ماینری که تصمیم می گیرد که آن را شامل شود یا نه. از این رو، مشکلات تراژدی رایج بسیار محتمل است.
@@ -450,20 +385,15 @@ def register(name, value):
(1) تمایلی را برای ماینر فراهم می کند که تراکنش های کمتری را شامل شود، و (2) `NC` را افزایش می دهد. بنابراین، این دو اثر حداقل تا حدی یکدیگر را خنثی می کنند.[چگونه؟] https://github.com/ethereum/wiki/issues/447#issuecomment-316972260) (3) و (4) موضوع اصلی هستند. برای حل آنها به سادگی یک سرمایه شناور ایجاد می کنیم: هیچ بلوکی نمی تواند بیش از `BLK_LIMIT_FACTOR` برابر میانگین متحرک نمایی بلندمدت عملیات داشته باشد. به خصوص:
-
-
```js
blk.oplimit = floor((blk.parent.oplimit \* (EMAFACTOR - 1) +
floor(parent.opcount \* BLK\_LIMIT\_FACTOR)) / EMA\_FACTOR)
```
-
`BLK_LIMIT_FACTOR` و `EMA_FACTOR` ثابتهایی هستند که فعلاً روی 65536 و 1.5 تنظیم میشوند، اما احتمالاً پس از تجزیه و تحلیل بیشتر تغییر خواهند کرد.
عامل دیگری نیز وجود دارد که اندازه بلوکهای بزرگ را در بیتکوین از بین میبرد: بلوکهایی که بزرگ هستند زمان بیشتری طول میکشد تا انتشار پیدا کنند و در نتیجه احتمال بیات شدن آنها بیشتر است. در اتریوم، انتشار بلوکهای بسیار مصرفکننده گس هم به دلیل بزرگتر بودن و هم به دلیل اینکه پردازش انتقالهای حالت تراکنش برای تأیید اعتبار بیشتر طول میکشد، ممکن است بیشتر طول بکشد. این بازدارنده تاخیر در بیتکوین مورد توجه قرار می گیرد، اما در اتریوم به دلیل پروتکل GHOST کمتر مورد توجه قرار می گیرد. از این رو، تکیه بر محدودیت های بلوک تنظیم شده، پایه پایدارتری را فراهم می کند.
-
-
### محاسبات و تورینگ کامل بودن {#computation-and-turing-completeness}
یک نکته مهم این است که ماشین مجازی اتریوم تورینگ کامل است. این بدان معنی است که کد EVM می تواند هر محاسباتی را که می توان انجام داد، از جمله حلقه های بی نهایت، رمزگذاری کند. کد EVM به دو صورت امکان حلقه زدن را می دهد. اول، یک دستورالعمل `JUMP` وجود دارد که به برنامه اجازه می دهد به نقطه قبلی در کد بازگردد، و یک دستور `JUMPI` برای انجام پرش شرطی، اجازه می دهد تا عباراتی مانند `در حالی که x < 27: x = x * 2` است. دوم، قراردادها میتوانند قراردادهای دیگری را فراخوانی کنند، که امکان چرخش از طریق بازگشت را فراهم میکند. این مورد به طور طبیعی منجر به یک مشکل میشود: آیا کاربران مخرب اساساً میتوانند ماینرها و گره یا نودهای کامل را با مجبور کردن آنها برای ورود به یک لوپ (loop) بینهایت ببندند؟ این موضوع به دلیل مشکلی در علم کامپیوتر به نام مشکل توقف به وجود میآید: در حالت کلی، هیچ راهی برای تشخیص اینکه آیا یک برنامه مشخص هرگز متوقف میشود یا خیر وجود ندارد.
@@ -477,8 +407,6 @@ floor(parent.opcount \* BLK\_LIMIT\_FACTOR)) / EMA\_FACTOR)
تورینگ کامل نبودن جایگزین تورینگ کامل بودن است، که در آن `JUMP` و `JUMPI` وجود ندارند و فقط یک نسخه از هر قرارداد مجاز است در هر زمان معین در پشته تماس وجود داشته باشد. با این سیستم، سیستم کارمزد توصیف شده و عدم اطمینان در مورد اثربخشی راه حل ما ممکن است ضروری نباشد، زیرا هزینه اجرای یک قرارداد به اندازه آن محدود می شود. علاوه بر این، ناقص بودن تورینگ حتی یک محدودیت بزرگ هم نیست. از بین تمام نمونههای قراردادی که به صورت داخلی تصور کردهایم، تا کنون تنها یک مورد نیاز به یک حلقه داشت، و حتی آن حلقه را می توان با ایجاد 26 تکرار از یک قطعه کد یک خطی حذف کرد. با توجه به پیامدهای جدی تورینگ کامل بودن و مزایای محدود، چرا به سادگی یک زبان تورینگ ناکامل نداشته باشیم؟ با این حال، در واقعیت، تورینگ ناکامل به دور از یک راه حل ساده برای مشکل است. برای اینکه بفهمید چرا، قراردادهای زیر را در نظر بگیرید:
-
-
```sh
C0: call(C1); call(C1);
C1: call(C2); call(C2);
@@ -488,11 +416,8 @@ C49: call(C50); call(C50);
C50: (run one step of a program and record the change in storage)
```
-
اکنون یک تراکنش به A ارسال کنید. بنابراین، در 51 تراکنش، قراردادی داریم که 250 مرحله محاسباتی را طی می کند. ماینرها میتوانند با حفظ مقداری در کنار هر قرارداد که حداکثر تعداد مراحل محاسباتی را که میتواند انجام دهد، این بمبهای منطقی را پیش از موعد شناسایی کنند، و محاسبه این برای قراردادهایی که قراردادهای دیگر را به صورت بازگشتی فراخوانی میکنند، اما این امر مستلزم آن است که ماینرها قراردادهایی را که قراردادهای دیگری ایجاد میکنند ممنوع کنند (از آنجایی که ایجاد و اجرای تمام 26 قرارداد فوق به راحتی می تواند در یک قرارداد واحد تبدیل شود). نکته مشکلساز دیگر این است که فیلد آدرس یک پیام یک متغیر است، بنابراین به طور کلی ممکن است حتی نتوان گفت که یک قرارداد معین با کدام قراردادهای دیگر پیش از موعد تماس خواهد گرفت. بنابراین، در مجموع، ما یک نتیجه شگفتانگیز داریم: مدیریت کامل بودن تورینگ بهطور شگفتانگیزی آسان است، و مدیریت عدم وجود تورینگ کامل بودن به همان اندازه دشوار است، مگر اینکه دقیقاً همان کنترلها وجود داشته باشد - اما در این مورد چرا نه فقط اجازه دهید پروتکل تورینگ کامل باشد?
-
-
### ارز و صدور {#currency-and-issuance}
شبکه اتریوم شامل ارز داخلی خود به نام اتر است که هدف دوگانه ارائه یک لایه نقدینگی اولیه را برای تبادل کارآمد بین انواع مختلف داراییهای دیجیتال و مهمتر از آن، ارائه مکانیزمی برای پرداخت هزینه تراکنشها دارد. برای سهولت و اجتناب از استدلال های آینده (به بحث فعلی mBTC/uBTC/satoshi در بیتکوین مراجعه کنید)، مقادیر ارزش از قبل نامگذاری گذاری خواهند شد:
@@ -519,9 +444,6 @@ C50: (run one step of a program and record the change in storage)
| رزرو صرف شده پس از فروش | 8.26% | 6.79% | 3.96% |
| ماینرها | 0% | 17.8% | 52.0% |
-
-
-
#### نرخ رشد عرضه بلندمدت (درصد)

@@ -534,8 +456,6 @@ _با وجود انتشار ارز خطی، درست مانند بیتکوین
توجه داشته باشید که در آینده، این احتمال وجود دارد که اتریوم برای امنیت به مدل اثبات سهام روی بیاورد و نیاز صدور را بین صفر تا 0.05 برابر در سال کاهش دهد. در صورتی که سازمان اتریوم بودجه خود را از دست بدهد یا به هر دلیل دیگری ناپدید شود، یک "قرارداد اجتماعی" را باز می گذاریم: هر کسی حق دارد یک نسخه کاندید آینده اتریوم ایجاد کند، تنها شرط این است که مقدار اتر باید حداکثر برابر با `60102216 * (1.198 + 0.26 * n)` باشد که در آن `n` تعداد سالهای پس از بلوک پیدایش است. سازندگان مختارند که به صورت انبوه بفروشند یا برخی یا تمام تفاوت بین گسترش عرضه مبتنی بر PoS و حداکثر گسترش عرضه مجاز را برای پرداخت هزینه توسعه اختصاص دهند. نامزدهای ارتقا که با قرارداد اجتماعی مطابقت ندارند، ممکن است به طور موجه در نسخه های سازگار تقسیم شوند.
-
-
### تمرکزگرایی ماینینگ {#mining-centralization}
الگوریتم استخراج بیتکوین به این صورت کار می کند که ماینرها SHA256 را بر روی نسخه های کمی تغییر یافته هدر بلوک میلیون ها بار و بارها محاسبه کنند تا اینکه در نهایت یک گره نسخه ای را ارائه می دهد که هش آن کمتر از هدف است (در حال حاضر حدود 2192 ). با این حال، این الگوریتم استخراج در برابر دو شکل از تمرکزگرایی آسیب پذیر است. اول، اکوسیستم ماینینگ تحت تسلط ASIC ها (مدارهای مجتمع ویژه برنامه)، تراشه های کامپیوتری طراحی شده و در نتیجه هزاران بار کارآمدتر در وظایف خاص استخراج بیتکوین قرار گرفته است. این به این معنی است که استخراج بیتکوین دیگر یک پیگیری بسیار غیرمتمرکز و برابری طلبانه نیست و برای مشارکت موثر در آن به میلیون ها دلار سرمایه نیاز دارد. دوم، اکثر ماینرهای بیتکوین در واقع اعتبارسنج بلوک را به صورت محلی انجام نمی دهند. در عوض، آنها به یک استخر استخراج متمرکز برای ارائه هدرهای بلوک متکی هستند. این مشکل مسلماً بدتر است: تا زمان نگارش این مقاله، سه استخر استخراج برتر به طور غیرمستقیم تقریباً 50 درصد از قدرت پردازش در شبکه بیتکوین را کنترل میکنند، اگر چه اگر یک استخر یا ائتلاف حمله ای 51 درصدی انجام دهد، این امر با این واقعیت کاهش می یابد که ماینرها می توانند به استخرهای استخراج دیگر روی آورند.
@@ -544,8 +464,6 @@ _با وجود انتشار ارز خطی، درست مانند بیتکوین
این مدل آزمایش نشده است و ممکن است هنگام استفاده از اجرای قرارداد به عنوان یک الگوریتم استخراج، مشکلاتی در اجتناب از بهینهسازی های هوشمندانه وجود داشته باشد. با این حال، یکی از ویژگیهای جالب توجه این الگوریتم این است که به هر کسی اجازه میدهد «در چاه آب سم بریزد»، با وارد کردن تعداد زیادی قرارداد به بلاکچینی که بهطور خاص برای جلوگیری از ASICهای خاص طراحی شدهاند. انگیزه های اقتصادی برای سازندگان ASIC وجود دارد تا از چنین ترفندی برای حمله به یکدیگر استفاده کنند. بنابراین، راه حلی که ما در حال توسعه آن هستیم، در نهایت یک راه حل اقتصادی سازگار انسانی است تا صرفاً فنی.
-
-
### قابل مقیاس {#scalability}
یکی از نگرانیهای رایج در مورد اتریوم مسئله مقیاسپذیری است. مانند بیتکوین، اتریوم نیز از این نقص رنج میبرد که هر تراکنش باید توسط هر گره یا نود در شبکه پردازش شود. با بیتکوین، اندازه بلاکچین فعلی در حدود 15 گیگابایت است که حدود 1 مگابایت در ساعت افزایش مییابد. اگر شبکه بیتکوین 2000 تراکنش ویزا را در ثانیه پردازش کند، 1 مگابایت در هر سه ثانیه (1 گیگابایت در ساعت، 8 ترابایت در سال) رشد میکند. اتریوم احتمالاً از الگوی رشد مشابهی رنج میبرد، که با این واقعیت بدتر شده است که برنامههای کاربردی زیادی بر روی بستر بلاکچین اتریوم به جای ارز مانند بیتکوین وجود خواهد داشت، اما با این واقعیت که گره های کامل اتریوم به جای کل تاریخچه بلاکچین، فقط وضعیت را ذخیره می کنند، بهبود یافته است.
@@ -556,28 +474,20 @@ _با وجود انتشار ارز خطی، درست مانند بیتکوین
حمله دیگر، پیچیدهتر، شامل ماینرهای مخرب است که بلوکهای ناقص را منتشر میکنند، بنابراین اطلاعات کامل حتی برای تعیین معتبر بودن یا نبودن بلوکها وجود ندارد. راهحل این یک پروتکل پاسخ به چالش است: گرههای تأیید «چالشها» را در قالب شاخصهای تراکنش هدف ایجاد میکنند. و با دریافت یک گره، یک گره نوری، بلوک را تا زمانی که گره دیگری غیرقابل اعتماد است، در نظر می گیرد. چه ماینر یا تایید کننده دیگر، زیرمجموعه ای از گره های پاتریشیا را به عنوان اثبات اعتبار ارائه می دهد.
-
-
## نتيجه گيری {#conclusion}
پروتکل اتریوم در ابتدا به عنوان یک نسخه ارتقا یافته از یک ارز رمزنگاری شده در نظر گرفته شد که ویژگیهای پیشرفتهای مانند سپرده روی بلاکچین، محدودیتهای برداشت، قراردادهای مالی، بازارهای شرط بندی و موارد مشابه را از طریق یک زبان برنامهنویسی بسیار تعمیمیافته ارائه میدهد. پروتکل اتریوم مستقیماً از هیچ یک از برنامهها پشتیبانی نمیکند، اما وجود یک زبان برنامهنویسی کامل تورینگ به این معنی است که از نظر تئوری میتوان قراردادهای دلخواه را برای هر نوع تراکنش یا برنامهای ایجاد کرد. اما آنچه در مورد اتریوم جالبتر است این است که پروتکل اتریوم بسیار فراتر از ارز است. پروتکلهای حول ذخیرهسازی غیرمتمرکز فایل، محاسبات غیرمتمرکز و بازارهای پیشبینی غیرمتمرکز، در میان دهها مفهوم دیگر، پتانسیل افزایش قابلتوجهی کارایی صنعت محاسبات را دارند، و با افزودن برای اولین بار یک لایه اقتصادی، تقویت گسترده ای برای سایر پروتکل های همتا به همتا فراهم می کند. در نهایت، مجموعهای از برنامههای کاربردی نیز وجود دارد که اصلاً ربطی به پول ندارند.
مفهوم یک تابع انتقال حالت دلخواه که توسط پروتکل اتریوم پیاده سازی شده است، یک پلتفرم با پتانسیل منحصر به فرد را فراهم می کند. به جای اینکه اتریوم یک پروتکل بسته و تک منظوره باشد که برای مجموعه ای از برنامه های کاربردی در ذخیره سازی داده ها، قمار یا امور مالی در نظر گرفته شده است، اتریوم از نظر طراحی دارای پایان باز است. و ما معتقدیم که برای خدمت به عنوان یک لایه اساسی برای تعداد بسیار زیادی از پروتکل های مالی و غیر مالی در سال های آینده بسیار مناسب است.
-
-
## یادداشت ها و مطالعه بیشتر {#notes-and-further-reading}
-
-
### یادداشت ها {#notes}
1. یک خواننده آگاه ممکن است متوجه شود که در واقع یک آدرس بیتکوین هش کلید عمومی منحنی بیضوی است و نه خود کلید عمومی. با این حال، در واقع اصطلاحات رمزنگاری کاملاً قانونی است که به هش پابکی (pubkey) به عنوان خود کلید عمومی اشاره شود. این به این دلیل است که رمزنگاری بیتکوین را می توان یک الگوریتم امضای دیجیتال سفارشی در نظر گرفت، که در آن کلید عمومی از هش کلید pubkey ECC تشکیل شده است، امضا شامل کلید pubkey ECC است که با امضای ECC پیوند خورده است. و الگوریتم تأیید شامل بررسی ECC pubkey در امضا در برابر هش ECC pubkey ارائه شده به عنوان کلید عمومی و سپس تأیید امضای ECC در برابر کلید pubkey ECC است.
2. از نظر فنی، میانه 11 بلوک قبلی.
3. از نظر داخلی، 2 و "CHARLIE" هر دو اعداد هستند[fn3](#notes)، که دومی در نمایش پایه 256 بیگ ایندین قرار دارد. اعداد می توانند حداقل 0 و حداکثر 2256-1 باشند.
-
-
### اطلاعات بیشتر {#further-reading}
1. [ارزش ذاتی](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)
diff --git a/public/content/translations/fa/zero-knowledge-proofs/index.md b/public/content/translations/fa/zero-knowledge-proofs/index.md
index cb47fa9a1c9..5e1408b84a7 100644
--- a/public/content/translations/fa/zero-knowledge-proofs/index.md
+++ b/public/content/translations/fa/zero-knowledge-proofs/index.md
@@ -108,7 +108,7 @@ lang: fa
استفاده از MACI نیازمند اعتماد به هماهنگکننده مبنی بر تبانی نکردن با رشوهدهندگان یا تلاش برای رشوه دادن رایدهندگان از سوی او است. هماهنگکننده میتواند پیامهای کاربران را رمزگشایی کند (برای ایجاد اثبات لازم است)، بنابراین آنها میتوانند نحوۀ رای دادن هر فرد را به طور دقیق تایید کنند.
-اما در مواردی که هماهنگکننده صادق است، MACI ابزاری قدرتمند برای تضمین سلامت رایگیری آنچین است. این امر بیانکنندۀ دلیل محبوبیت آن در میان برنامههای تامین مالی ثانویه (مانند [↗clr.fund](https://clr.fund/#/about/maci)) است که بهشدت بر صحت آرای تکتک افراد متکی است.
+اما در مواردی که هماهنگکننده صادق است، MACI ابزاری قدرتمند برای تضمین سلامت رایگیری آنچین است. این امر بیانکنندۀ دلیل محبوبیت آن در میان برنامههای تامین مالی ثانویه (مانند [clr.fund](https://clr.fund/#/about/maci)) است که بهشدت بر صحت آرای تکتک افراد متکی است.
[درباره MACI بیشتر بدانید](https://privacy-scaling-explorations.github.io/maci/).
diff --git a/public/content/translations/fi/dao/index.md b/public/content/translations/fi/dao/index.md
index 0e0c6e007e9..5e6579959d5 100644
--- a/public/content/translations/fi/dao/index.md
+++ b/public/content/translations/fi/dao/index.md
@@ -93,7 +93,7 @@ Vuonna 1977 Wyoming keksi LLC:n, joka suojelee yrittäjiä ja rajoittaa heidän
### Tunnettu esimerkki {#law-example}
-[CityDAO](https://citydao.io) – CityDAO hyödynsi Wyomingin DAO-lakia 40 hehtaarin maa-alueen ostossa lähellä Yellowstonen kansallispuistoa.
+[CityDAO](https://citizen.citydao.io/) – CityDAO hyödynsi Wyomingin DAO-lakia 40 hehtaarin maa-alueen ostossa lähellä Yellowstonen kansallispuistoa.
## DAO-jäsenyys {#dao-membership}
diff --git a/public/content/translations/fi/dapps/index.md b/public/content/translations/fi/dapps/index.md
index cebfc78aa1f..6426bbcac61 100644
--- a/public/content/translations/fi/dapps/index.md
+++ b/public/content/translations/fi/dapps/index.md
@@ -27,6 +27,6 @@ Oletko kiinnostunut lukemaan lisää muista Ethereumilla tehdyistä sovelluksist
- [Ethereum DeFi Ecosystem](https://defiprime.com/ethereum) _päivitetään usein - Defiprime_
- [DeFi Llama](https://defillama.com/) _Analytics + rankings of DeFi protocols - Defi Llama_
-Jotkut Ethereumin sovellukset vaativat lompakkoa - [opi lisää Ethereumin lompakoista täältä](/fi/wallets/).
+Jotkut Ethereumin sovellukset vaativat lompakkoa - [opi lisää Ethereumin lompakoista täältä](/wallets/).
-Jotkut Ethereumin sovellukset vaativat ETH - [opi lisää ETH:stä täältä](/fi/eth/).
+Jotkut Ethereumin sovellukset vaativat ETH - [opi lisää ETH:stä täältä](/eth/).
diff --git a/public/content/translations/fi/enterprise/index.md b/public/content/translations/fi/enterprise/index.md
index e4548446971..f746cbf2e00 100644
--- a/public/content/translations/fi/enterprise/index.md
+++ b/public/content/translations/fi/enterprise/index.md
@@ -41,7 +41,7 @@ Seuraavat projektit tarjoavat lohkoketjupalveluja yritystason järjestelmille:
- [Blockapps](https://blockapps.net/) _toteutus Enterprise Ethereum -protokollasta, työkaluista ja API:sta, jotka luovat STRATO-alustan_
- [Clearmatics](https://www.clearmatics.com/about) _protokolla- ja vertaisverkkoalustan arkkitehtuuria sekä lohkoketjuja kehittävä yritys_
- [PegaSys Plus](https://pegasys.tech/enterprise/) _tarjoaa samat ominaisuudet ja toiminnalisuudet kuin HF Besu, sekä muita yrityksille suunnattuja etuja_
-- [Quorum](https://www.goquorum.com/) _avoimen lähdekoodin lohkoketjualusta, joka yhdistää julkisen Ethereum-yhteisön innovaatiot yritysten tarpeisiin suunnattuihin palveluihin_
+- [Quorum](https://docs.goquorum.consensys.io/) _avoimen lähdekoodin lohkoketjualusta, joka yhdistää julkisen Ethereum-yhteisön innovaatiot yritysten tarpeisiin suunnattuihin palveluihin_
## Protokolla ja Infrastruktuuri {#protocol-and-infrastructure}
@@ -64,7 +64,7 @@ Julkiset ja yksityiset Ethereum-verkot saattavat tarvita tiettyjä ominaisuuksia
- [Ernst & Young's ‘Nightfall'](https://github.com/EYBlockchain/nightfall) _Lisätietoa on [täällä](https://bravenewcoin.com/insights/ernst-and-young-rolls-out-'nightfall-to-enable-private-transactions-on)_
- [Pegasys' Orion](https://docs.pantheon.pegasys.tech/en/stable/Concepts/Privacy/Privacy-Overview/) _Lisätietoa on [täällä](https://pegasys.tech/privacy-in-pantheon-how-it-works-and-why-your-enterprise-should-care/)_
-- [Quorum's Tessera](https://docs.goquorum.com/en/latest/Privacy/Tessera/Tessera/) _Lisätietoa on [täällä](https://github.com/jpmorganchase/tessera/wiki/How-Tessera-works)_
+- [Quorum's Tessera](https://docs.goquorum.consensys.io/concepts/privacy#private-transaction-manager/) _Lisätietoa on [täällä](https://github.com/jpmorganchase/tessera/wiki/How-Tessera-works)_
### Turvallisuus {#security}
@@ -74,7 +74,7 @@ Julkiset ja yksityiset Ethereum-verkot saattavat tarvita tiettyjä ominaisuuksia
### Työkalut {#tooling}
- [Alethio](https://explorer.aleth.io/) _Ethereumin data-analytiikka-alusta_
-- [Treum](https://treum.io/) _tuo läpinäkyvyyttä, jäljitettävyyttä ja vaihdettavuutta toimitusketjuille lohkoketjuteknologiaa hyödyntäen_
+- [Treum](https://consensys.io/blog/consensys-acquires-treum) _tuo läpinäkyvyyttä, jäljitettävyyttä ja vaihdettavuutta toimitusketjuille lohkoketjuteknologiaa hyödyntäen_
## Yrityskehitysyhteisö {#enterprise-developer-community}
diff --git a/public/content/translations/fi/learn/index.md b/public/content/translations/fi/learn/index.md
index 1c73d333b3b..6897d06e0c4 100644
--- a/public/content/translations/fi/learn/index.md
+++ b/public/content/translations/fi/learn/index.md
@@ -7,7 +7,7 @@ sidebarDepth: 1
# Opi Ethereumista {#learn-about-ethereum}
-**Tervetuloa ethereum.org/learn -sivulle - kokoelmaan resursseja, jotka auttavat sinua oppimaan lisää Ethereumista.** Tämä sivu sisältää teknisiä **ja** ei-teknisiä artikkeleja, ohjeita ja resursseja. Jos olet täysin uusi Ethereumiin, [suosittelemme aloittamaan täältä](/fi/beginners/).
+**Tervetuloa ethereum.org/learn -sivulle - kokoelmaan resursseja, jotka auttavat sinua oppimaan lisää Ethereumista.** Tämä sivu sisältää teknisiä **ja** ei-teknisiä artikkeleja, ohjeita ja resursseja. Jos olet täysin uusi Ethereumiin, [suosittelemme aloittamaan täältä](/beginners/).
Tässä on muutamia loistavia aloitusmateriaaleja (englanniksi):
@@ -71,7 +71,7 @@ Ethereum-tietoverkko on rakennettu useista solmuista, joissa suoritetaan niille
Enterprise Ethereum viittaa yksityis-, yhteistyö- ja hybriditoteutuksiin Ethereumin-koodipohjasta liiketoimintasovelluksia varten. Yritykset ympäri maailmaa käyttävät jo nyt Enterprise Ethereumia taloudellisten markkinoiden tehostamiseen, toimitusketjujen hallnitaan ja uusien liiketoimintamallien luomiseen.
-Lue lisää aiheesta [Ethereum yrityksille](/fi/enterprise/).
+Lue lisää aiheesta [Ethereum yrityksille](/enterprise/).
## Ethereumin skaalattavuuden parantaminen {#improving-ethereums-scalability}
@@ -104,7 +104,7 @@ Taso 2 viittaa teknologioihin, jotka on rakennettu Ethereumin pääprotokollan p
ETH 2.0 (tunnetaan myös nimellä Serenity) viittaa seuraavaan merkittävään päivitykseen Ethereumin ydinprotokollassa. Se yhdistää useita parannuksia Ethereumin ydinprotokollaan eli Taso 1:een.
-- [8 Teams Are Sprinting to Build the Next Generation of Ethereum](https://www.coindesk.com/next-gen-buidlers-the-8-teams-working-on-ethereum-2-0) _Dec 9, 2018 - Christine Kim_
+- [8 Teams Are Sprinting to Build the Next Generation of Ethereum](https://www.coindesk.com/markets/2018/12/09/8-teams-are-sprinting-to-build-the-next-generation-of-ethereum) _Dec 9, 2018 - Christine Kim_
- [ETH 2.0 - The Road to Scaling Ethereum - Vitalik Buterin](https://youtu.be/kCVpDrlVesA) _(Video) November, 2018 - YouTube_
- [9 Things You Didn't Know About Ethereum 2.0](https://our.status.im/9-things-you-didnt-know-about-ethereum-2-0/) _July 18, 2019 - Bruno Škvorc_
diff --git a/public/content/translations/fi/nft/index.md b/public/content/translations/fi/nft/index.md
index 3ac026134b9..4dd8de5f0fe 100644
--- a/public/content/translations/fi/nft/index.md
+++ b/public/content/translations/fi/nft/index.md
@@ -58,7 +58,6 @@ NFT-järjestelmä on suhteellisen uusi. Teoriassa, mikä tahansa uniikki asia, j
- [Kiinteistömurto-osakkeet](https://realt.co/)
- [Tutkintotodistukset](https://www.degreecert.com/)
- [Musiikin rojaltit NFTin kautta](https://opulous.org/)
-- [Siirry ansaintaan](https://yeticoineth.com/about.html)
- [Digitaalinen identiteetti](https://photochromic.io/)
### ethereum.org sovelluksia {#ethereum-org-examples}
@@ -169,7 +168,7 @@ Kun sisältöä myydään, ansainta ohjautuu suoraan luojalle. Jos uusi sisäll
Tutki, osta tai luo omia NFT-toteutuksia
-
+
Tutustu NFT-taiteeseen
@@ -202,7 +201,7 @@ Decentraland, virtuaalinen reality-peli, jossa NFTt edustavat tontteja tai kiint
Tutustu Ethereum-peleihin, joita NFTt boostaavat...
-
+
Tutki NFT-pelejä
@@ -249,7 +248,7 @@ Tämä ei ole ollenkaan vaikeaa Ethereumissa, koska molemmissa (NFT ja DeFi) on
NFT-luojat voivat myös luoda osakkeita NFTlle. Sijoittajat ja fanit voivat hankkia osuuksia yhdestä NFTstä ilman, että heidän tarvitsee ostaa koko kohdetta. Tämä lisää mahdollisuuksia NFT-luojille ja keräilijöille.
-- NFTn osuuksia voidaan kaupata vaihtomarkkinoilla [DEXt](/defi/#dex) kuten Uniswap, eikä vain [NFT-markkinoilla](/dapps?category=collectibles). Se merkitsee enemmän ostajia ja myyjiä.
+- NFTn osuuksia voidaan kaupata vaihtomarkkinoilla [DEXt](/defi/#dex) kuten Uniswap, eikä vain [NFT-markkinoilla](/apps?category=collectibles). Se merkitsee enemmän ostajia ja myyjiä.
- NFTn kokonaishinta voidaan määritellä sen osuuksien perusteella.
- Sinulla on enemmän mahdollisuuksia omistaa ja hyötyä kohteistä, joista välität. On vaikeampaa hinnoitella NFTsta luopuminen.
diff --git a/public/content/translations/fil/dao/index.md b/public/content/translations/fil/dao/index.md
index 5e9c41e45ce..30e0b6c7bc6 100644
--- a/public/content/translations/fil/dao/index.md
+++ b/public/content/translations/fil/dao/index.md
@@ -93,7 +93,7 @@ Noong 1977, nilikha sa Wyoming ang LLC, na nagpoprotekta sa mga negosyante at na
### Isang kilalang halimbawa {#law-example}
-[CityDAO](https://citydao.io) – Ginamit ng CityDAO ang batas sa DAO ng Wyoming para bumili ng 40 acres ng lupa malapit sa Yellowstone National Park.
+[CityDAO](https://citizen.citydao.io/) – Ginamit ng CityDAO ang batas sa DAO ng Wyoming para bumili ng 40 acres ng lupa malapit sa Yellowstone National Park.
## Membership sa DAO {#dao-membership}
diff --git a/public/content/translations/fil/decentralized-identity/index.md b/public/content/translations/fil/decentralized-identity/index.md
index 9c3bb29b3d6..1ac69336c26 100644
--- a/public/content/translations/fil/decentralized-identity/index.md
+++ b/public/content/translations/fil/decentralized-identity/index.md
@@ -160,7 +160,7 @@ Maraming malalaking proyekto ang gumagamit ng Ethereum bilang pundasyon para sa
- **[Ethereum Attestation Service (EAS)](https://attest.sh/)** - _Isang decentralized ledger/protocol para sa paggawa ng mga on-chain o off-chain na attestation tungkol sa anumang bagay._
- **[Proof of Humanity](https://www.proofofhumanity.id)** - _Ang Proof of Humanity (o PoH) ay isang social identity verification system na ginawa sa Ethereum._
- **[BrightID](https://www.brightid.org/)** - _ Isang decentralized at open-source na social identity network na naglalayong baguhin ang pag-verify ng identity sa pamamagitan ng paggawa at pagsusuri ng isang social graph._
-- **[Proof-of-personhood Passport](https://proofofpersonhood.com/)** - _Isang decentralized digital identity aggregator._
+- **[Proof-of-personhood Passport](https://passport.human.tech/)** - _Isang decentralized digital identity aggregator._
## Karagdagang pagbabasa {#further-reading}
diff --git a/public/content/translations/fil/defi/index.md b/public/content/translations/fil/defi/index.md
index 4d9d744a0c6..d7536c138c3 100644
--- a/public/content/translations/fil/defi/index.md
+++ b/public/content/translations/fil/defi/index.md
@@ -47,7 +47,7 @@ Ang isa sa mga pinakamagandang paraan upang makita ang potensyal ng DeFi ay unaw
| Palaging bukas ang mga merkado. | Nagsasara ang mga merkado dahil kailangang magpahinga ng mga empleyado. |
| Nakabatay ito sa pagiging malinaw—sinuman ay maaaring tingnan ang data ng isang produkto at suriin kung paano gumagana ang sistema. | Ang mga pinansyal na institusyon ay mga pribado: hindi mo maaaring tingnan ang kanilang kasaysayan ng pautang, rekord ng kanilang mga pinapamahalaanng asset, at iba pa. |
-
+
I-explore ang mga DeFi app
@@ -65,7 +65,7 @@ Medyo kakaiba itong pakinggan... "bakit ko gugustuhing iprograma ang pera ko"? N
Tuklasin ang aming mga mungkahi para sa mga application ng DeFi na maaari mong subukan kung bago ka sa Ethereum.
-
+
I-explore ang mga DeFi app
@@ -92,7 +92,7 @@ Mayroong desentralisadong alternatibo para sa karamihan ng mga serbisyong pinans
Bilang blockchain, ang Ethereum ay idinisenyo para magpadala ng mga transaksyon sa ligtas at pandaigdigang paraan. Tulad ng Bitcoin, pinapadali ng Ethereum ang pagpapadala ng pera sa buong mundo, na parang nagpapadala lang ng email. Ilagay lamang ang [pangalan ng ENS](/glossary/#ens) ng iyong tatanggap (tulad ng bob.eth) o ang kanilang address ng account mula sa iyong wallet at ang iyong bayad ay direktang mapupunta sa kanila sa loob ng ilang minuto (karaniwan). Upang magpadala o tumanggap ng mga pagbabayad, kakailanganin mo ng [wallet](/wallets/).
-
+
Tingnan ang mga dapps ng pagbabayad
@@ -123,7 +123,7 @@ Ang paghiram ng pera mula sa mga desentralisadong provider ay may dalawang pangu
- Peer-to-peer, na nangangahulugang ang nanghihiram ay direktang manghihiram mula sa isang tiyak na nagpapahiram.
- Pool-based kung saan ang mga nagpapahiram ay nagbibigay ng pondo (liquidity) sa isang sama-sama na maaaring pautangin ng mga nanghihiram.
-
+
Tingnan ang mga dapp para sa paghiram
@@ -168,7 +168,7 @@ Kung biglang bumaba ang supply ng palitan B at kulang ang binili ng user para sa
Upang magawa ang halimbawa sa itaas sa tradisyunal na mundo ng pananalapi, kakailanganin mo ng napakalaking halaga ng pera. Ang mga estratehiya sa paggawa ng pera na ito ay naa-access lamang ng mga may umiiral na kayamanan. Ang mga mabilis na loan ay isang halimbawa ng hinaharap kung saan ang pagkakaroon ng pera ay hindi kinakailangan para kumita ng pera.
-
+
Higit pang detalye tungkol sa mga mabilis na loan
@@ -185,7 +185,7 @@ Maaari kang kumita ng interes sa iyong crypto sa pamamagitan ng pagpapahiram nit
- Ang iyong aDai ay tataas batay sa interes at makikita mo ang paglaki ng iyong balanse sa iyong wallet. Depende sa [APR](/glossary/#apr), ang balanse ng iyong wallet ay magpapakita ng 100.1234 matapos ang ilang araw o kahit oras!
- Maaari kang mag-withdraw ng regular na Dai na katumbas ng iyong balanse sa aDai anumang oras.
-
+
Tingnan ang pagpapahiram ng mga dapp
@@ -213,7 +213,7 @@ May libu-libong mga token sa Ethereum. Ang mga decentralized exchange (DEX) ay n
Halimbawa, kung nais mong gamitin ang walang talong lottery na PoolTogether (na inilalarawan sa itaas), kakailanganin mo ng token tulad ng Dai o USDC. Pinapahintulutan ka ng mga DEX na ito na i-swap ang iyong ETH sa mga token na iyon at i-swap ito ulit kapag tapos ka na.
-
+
Tingnan ang palitan ng mga token
@@ -225,7 +225,7 @@ Mayroong mga mas masulong na opsyon para sa mga trader na gusto ng kaunti pang k
Kapag gumagamit ka ng sentralisadong palitan, dapat mong ideposito ang mga asset mo bago mag-trade at dapat mong ipagkatiwala sa kanila ang mga ito. Habang nakadeposito ang iyong mga asset, nanganganib ang mga ito dahil mainit sa mata ng mga hacker ang mga sentralisadong palitan.
-
+
Tingnan ang desentralisadong mga dapp
@@ -237,7 +237,7 @@ May mga produkto sa pamamahala ng pondo sa Ethereum na susubukang palaguin ang i
Ang magandang halimbawa ay ang [ pondo sa DeFi Pulse Index (DPI)](https://defipulse.com/blog/defi-pulse-index/). Ito ay pondo na awtomatikong muling nagbabalanse upang matiyak na ang iyong portfolio ay laging naglalaman ng mga nangungunang token ng token batay sa kapitalisasyon ng merkado. Hindi mo kailangang pamahalaan ang alinman sa mga detalye at maaari kang umalis sa pondo kung kailan mo gusto.
-
+
Tingnan ang mga pamumuhunan sa mga dapp
@@ -251,7 +251,7 @@ Magandang platform ang Ethereum para sa crowdfunding:
- Malinaw ito kaya maipapakita ng mga fundraiser kung magkano na ang naipon na pera. Maaari mo ring subaybayan kung paano ginagastos ang mga pondo sa kalaunan.
- Maaaring mag-set up ang mga fundraiser ng mga awtomatikong refund kung, halimbawa, may tiyak na deadline at minimum na halaga na hindi natugunan.
-
+
Tingnan ang crowdfunding nga mga dapp
@@ -280,7 +280,7 @@ Ang decentralized insurance ay may layuning gawing mas abot-kaya, mas pabilisin
Ang mga produkto ng Ethereum, gaya ng anumang software, ay puwedeng magkaroon ng mga bug at puwedeng abusuhin. Kaya sa ngayon, maraming produkto ng insurance ang nakatuon sa pagprotekta sa mga user laban sa pagkawala ng pondo. Gayunpaman, may mga proyekto na nagsisimulang bumuo ng coverage para sa lahat ng puwede nating harapin sa buhay. Isang magandang halimbawa nito ay ang Crop cover ng Etherisc na may layuning [ protektahan ang maliliit na magsasaka sa Kenya laban sa tagtuyot at pagbaha](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Ang decentralized insurance ay maaaring magbigay ng mas abot-kayang presyo para sa mga magsasaka na kadalasang hindi kayang magbayad para sa tradisyonal na insurance.
-
+
Tingnan ang decentralized application (dapps) para sa insurance
@@ -290,7 +290,7 @@ Ang mga produkto ng Ethereum, gaya ng anumang software, ay puwedeng magkaroon ng
Sa dami ng mga nangyayari, kakailanganin mo ng paraan upang subaybayan ang lahat ng iyong mga investment, loan, at trade. May iba't ibang produkto na nagbibigay-daan sa iyong i-coordinate ang lahat ng iyong aktibidad sa DeFi mula sa isang lugar. Ito ang kagandahan ng open architecture ng DeFi. Ang mga team ay maaaring bumuo ng mga interface kung saan hindi mo lang makikita ang iyong mga balanse sa iba't ibang produkto, maaari mo ring gamitin ang kanilang mga feature. Maaaring maging kapaki-pakinabang ito para sa iyo habang tinitingnan mo ang iba pang bahagi ng DeFi.
-
+
Tingnan ang decentralized application (dapps) para sa portfolio
@@ -322,7 +322,7 @@ Maaaring isipin na may mga layer ang DeFi:
1. Ang blockchain – na Ethereum ay naglalaman ng kasaysayan ng mga transaksyon at kalagayan ng mga account.
2. Ang mga asset –[ ETH](/eth/)at iba pang token (mga currency).
3. Ang mga protocol – [mga smart contract](/glossary/#smart-contract) na nagbibigay ng kakayahan, halimbawa, sa isang serbisyong nagpapahintulot ng decentralized na pagpapautang ng mga asset.
-4. [Ang mga application](/dapps/) – ang mga produkto na ginagamit natin para pamahalaan at i-access ang mga protocol.
+4. [Ang mga application](/apps/) – ang mga produkto na ginagamit natin para pamahalaan at i-access ang mga protocol.
Tandaan: karamihan sa DeFi ay gumagamit ng [pamantayan ng ERC-20](/glossary/#erc-20). Gumagamit ang mga application sa DeFi ng wrapper para sa ETH na tinatawag na Wrapped Ether (WETH). [Matuto pa ng higit tungkol sa wrapped ether](/wrapped-eth).
diff --git a/public/content/translations/fil/desci/index.md b/public/content/translations/fil/desci/index.md
index d4b714c4ee5..01bafd15026 100644
--- a/public/content/translations/fil/desci/index.md
+++ b/public/content/translations/fil/desci/index.md
@@ -96,7 +96,7 @@ Tingnan ang mga proyekto at sumali sa komunidad ng DeSci.
- [VitaDAO: makatanggap ng pondo sa pamamagitan ng mga sponsored na research agreement para sa longevity research](https://www.vitadao.com/)
- [ResearchHub: mag-post ng resulta ng siyentipikong pag-aaral at makipag-usap sa mga kapwa mananaliksik](https://www.researchhub.com/)
- [LabDAO: mag-fold ng protein in-silico](https://alphafodl.vercel.app/)
-- [dClimate API: mag-query ng data ng klima na kinolekta ng decentralized community](https://api.dclimate.net/)
+- [dClimate API: mag-query ng data ng klima na kinolekta ng decentralized community](https://www.dclimate.net/)
- [DeSci Foundation: builder ng tool sa paglalathala ng DeSci](https://descifoundation.org/)
- [DeSci.World: one-stop shop para tingnan at mag-engage ang mga user sa decentralized science](https://desci.world)
- [Fleming Protocol: open-source data economy na naghihikayat ng collaborative na biomedical discovery](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd)
@@ -120,7 +120,7 @@ Tumatanggap kami ng mga mungkahi para sa mga bagong proyekto na ililista - tingn
- [Gabay sa decentralized biotech ni Jocelynn Pearl para sa a16z future](https://future.a16z.com/a-guide-to-decentralized-biotech/)
- [Ang sitwasyon para sa DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/)
- [Gabay sa DeSci](https://future.com/what-is-decentralized-science-aka-desci/)
-- [Mga mapagkukunan tungkol sa decentralized science](https://www.vincentweisser.com/decentralized-science)
+- [Mga mapagkukunan tungkol sa decentralized science](https://www.vincentweisser.com/desci)
- [Biopharma IP-NFTs ng Molecule - Isang Teknikal na Paglalarawan](https://molecule.to/blog/molecules-biopharma-ip-nfts-a-technical-description)
- [Paggawa ng mga Trustless na System of Science ni Jon Starr](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673)
- [Ang Pag-usbong ng Biotech DAOs](https://molecule.to/blog/the-emergence-of-biotech-daos)
diff --git a/public/content/translations/fil/governance/index.md b/public/content/translations/fil/governance/index.md
index bc3c58e8b3a..fd796444ac0 100644
--- a/public/content/translations/fil/governance/index.md
+++ b/public/content/translations/fil/governance/index.md
@@ -44,7 +44,7 @@ May iba't ibang stakeholder sa [komunidad ng Ethereum](/community/), at may pape
- **Mga may-ari ng Ether**: nagmamay-ari ang mga taong ito ng iba't ibang halaga ng ETH. [Iba pang detalye tungkol sa ETH](/eth/).
- **Mga User ng Application**: nag-i-interact ang mga taong ito sa mga application sa Ethereum blockchain.
-- **Mga Developer ng Application/Tooling**: nagra-write ang mga taong ito ng mga application na pinapatakbo sa Ethereum blockchain (hal., DeFi, NFTs, atbp.) o bumubuo sila ng tooling para mag-interact sa Ethereum (hal., mga wallet, test suite, atbp.). [Iba pang detalye tungkol sa dapps](/dapps/).
+- **Mga Developer ng Application/Tooling**: nagra-write ang mga taong ito ng mga application na pinapatakbo sa Ethereum blockchain (hal., DeFi, NFTs, atbp.) o bumubuo sila ng tooling para mag-interact sa Ethereum (hal., mga wallet, test suite, atbp.). [Iba pang detalye tungkol sa dapps](/apps/).
- **Mga Node Operator**: nagpapatakbo ang mga taong ito ng mga node na nagpo-propagate ng mga block at transaksyon, at hindi tinatanggap ng mga ito ang anumang hindi valid na transaksyon o block na matutuklasan ng mga ito. [Iba pang detalye tungkol sa mga node](/developers/docs/nodes-and-clients/).
- **Mga EIP Author**: nagmumungkahi ang mga taong ito ng mga pagbabago sa Ethereum protocol, sa pamamagitan ng mga Ethereum Improvement Proposal (EIPs). [Iba pang detalye tungkol sa EIPs](/eips/).
- **Mga Validator**: nagpapatakbo ang mga taong ito ng mga node na makakapagdagdag ng mga bagong block sa Ethereum blockchain.
@@ -118,7 +118,7 @@ Karaniwang inaayos ang mga hindi pagkakaunawaan sa mahabang usapan sa mga pampub
Nangyayari ang mga fork kapag may mga pangunahing teknikal na pag-upgrade o pagbabago at babaguhin nito ang "mga panuntunan" ng protocol. Dapat i-update ng [mga Ethereum client](/developers/docs/nodes-and-clients/) ang kanilang software upang ipatupad ang mga panuntunan para sa fork.
-Ang DAO fork ay ginawa bilang tugon sa [DAO attack noong 2016](https://www.coindesk.com/understanding-dao-hack-journalists) kung saan nakuha sa isang hindi secure na [DAO](/glossary/#dao) contract ang mahigit 3.6 milyong ETH sa isang hack. Inilipat ng fork ang mga pondo mula sa palyadong contract sa bagong contract, kaya mare-recover ito ng kahit sinong nawalan ng pondo dahil sa pag-hack.
+Ang DAO fork ay ginawa bilang tugon sa [DAO attack noong 2016](https://www.coindesk.com/learn/understanding-the-dao-attack) kung saan nakuha sa isang hindi secure na [DAO](/glossary/#dao) contract ang mahigit 3.6 milyong ETH sa isang hack. Inilipat ng fork ang mga pondo mula sa palyadong contract sa bagong contract, kaya mare-recover ito ng kahit sinong nawalan ng pondo dahil sa pag-hack.
Pinagbotohan ng komunidad ng Ethereum ang pagkilos na ito. Makakaboto ang sinumang nagmamay-ari ng ETH sa pamamagitan ng isang transaksyon sa [isang voting platform](http://v1.carbonvote.com/). Ang desisyong mag-fork ay umabot ng mahigit 85% ng mga boto.
diff --git a/public/content/translations/fil/guides/how-to-revoke-token-access/index.md b/public/content/translations/fil/guides/how-to-revoke-token-access/index.md
index c4f92f2032e..f78bdedc9bd 100644
--- a/public/content/translations/fil/guides/how-to-revoke-token-access/index.md
+++ b/public/content/translations/fil/guides/how-to-revoke-token-access/index.md
@@ -20,7 +20,6 @@ May ilang website na pinapayagan kang tingnan at bawiin ang mga smart contract n
- [Ethallowance](https://ethallowance.com/) (Ethereum)
- [Etherscan](https://etherscan.io/tokenapprovalchecker) (Ethereum)
-- [Cointool](https://cointool.app/approve/eth) (maraming network)
- [Revoke](https://revoke.cash/) (maraming network)
- [Unrekt](https://app.unrekt.net/) (maraming network)
- [EverRevoke](https://everrise.com/everrevoke/) (maraming network)
diff --git a/public/content/translations/fil/guides/how-to-use-a-wallet/index.md b/public/content/translations/fil/guides/how-to-use-a-wallet/index.md
index 14cae1ed9be..e09ef69d9d3 100644
--- a/public/content/translations/fil/guides/how-to-use-a-wallet/index.md
+++ b/public/content/translations/fil/guides/how-to-use-a-wallet/index.md
@@ -60,7 +60,7 @@ Hindi magbabago ang iyong address sa lahat ng Ethereum project. Hindi mo kailang

5. Kumpirmahin ang kahilingan sa signature sa iyong wallet para maitakda ang koneksyon. **Hindi dapat gumastos ng anumang ETH para i-sign ang mensaheng ito**.
-6. Tapos na! Simulan nang gamitin ang app. Makakakita ka ng mga kawili-wiling proyekto sa aming [dApps page](/dapps/#explore).
+6. Tapos na! Simulan nang gamitin ang app. Makakakita ka ng mga kawili-wiling proyekto sa aming [dApps page](/apps/#explore).
Gusto mong magbasa pa?
diff --git a/public/content/translations/fil/refi/index.md b/public/content/translations/fil/refi/index.md
index 8e85df634ee..a5a8cf36952 100644
--- a/public/content/translations/fil/refi/index.md
+++ b/public/content/translations/fil/refi/index.md
@@ -47,7 +47,7 @@ Gumagamit ang mga proyekto sa ReFi ng blockchain technology para solusyonan ang
- **Tinitipon ang liquidity sa iilang liquidity pool** na malayang mate-trade ng kahit sino. Ginagamit ng malalaking organisasyon, pati na rin ng mga indibidwal na user ang mga pool na ito nang hindi manual na naghahanap ng mga seller/buyer, bayarin sa paglahok, o paunang pagpaparehistro.
- **Nire-record ang lahat ng transaksyon sa mga pampublikong blockchain**. Ang daang tinatahak ng bawat carbon credit dahil sa aktibidad sa trading ay palaging masusubaybayan sa sandaling maging available ito sa digital carbon market (DCM).
- **Halos agaran ang bilis ng transaksyon**. Maaaring abutin nang ilang araw o linggo ang pagkuha ng maraming carbon credit sa pamamagitan ng mga legacy market, pero magagawa ito sa loob ng ilang segundo sa DCM.
-- **Isinasagawa ang mga gawain sa trading nang walang intermediary**, na naniningil ng mahal na bayarin. Ayon sa data mula sa isang analytics firm, kumakatawan ang mga digital carbon credit sa [62% pagpapabuti sa gastos kumpara sa mga katumbas na tradisyonal na credit](https://www.klimadao.finance/blog/klimadao-analysis-of-the-base-carbon-tonne).
+- **Isinasagawa ang mga gawain sa trading nang walang intermediary**, na naniningil ng mahal na bayarin. Ayon sa data mula sa isang analytics firm, kumakatawan ang mga digital carbon credit sa [62% pagpapabuti sa gastos kumpara sa mga katumbas na tradisyonal na credit](https://www.klimadao.finance/resources/klimadao-impact-report-analysis-of-the-base-carbon-tonne).
- **Scalable ang DCM** at kaya nitong tugunan ang mga demand ng mga indibidwal at multinational corporation.
### Mga pangunahing bahagi ng DCM {#key-components-dcm}
diff --git a/public/content/translations/fil/security/index.md b/public/content/translations/fil/security/index.md
index b1ad5b49030..3df6e2ae616 100644
--- a/public/content/translations/fil/security/index.md
+++ b/public/content/translations/fil/security/index.md
@@ -278,7 +278,7 @@ Sa mga airdrop scam, may scam project na mag-e-airdrop ng asset (NFT, token) sa
### Seguridad ng Crypto {#reading-crypto-security}
- [Pagprotekta sa Sarili at sa Iyong Pondo](https://support.mycrypto.com/staying-safe/protecting-yourself-and-your-funds) - _MyCrypto_
-- [4 na Paraan Upang Manatiling Ligtas sa Crypto](https://www.coindesk.com/tech/2021/04/20/4-ways-to-stay-safe-in-crypto/) - _CoinDesk_
+- [4 na Paraan Upang Manatiling Ligtas sa Crypto](https://www.coindesk.com/learn/4-ways-to-stay-safe-in-crypto/) - _CoinDesk_
- [Gabay sa Seguridad para sa Mga Walang Alam at Maging sa Mga May Alam](https://medium.com/mycrypto/mycryptos-security-guide-for-dummies-and-smart-people-too-ab178299c82e) - _MyCrypto_
- [Seguridad sa Crypto: Mga Password at Authentication](https://www.youtube.com/watch?v=m8jlnZuV1i4) - _Andreas M. Antonopoulos_
diff --git a/public/content/translations/fil/smart-contracts/index.md b/public/content/translations/fil/smart-contracts/index.md
index ed27d9e3891..74274881ae4 100644
--- a/public/content/translations/fil/smart-contracts/index.md
+++ b/public/content/translations/fil/smart-contracts/index.md
@@ -69,7 +69,7 @@ Maaari silang magsagawa ng mga komputasyon, lumikha ng pera, mag-imbak ng data,
- [Stablecoins](/stablecoins/)
- [Paggawa at pamamahagi ng natatangign mga digital asset](/nft/)
- [Awtomatiko, bukas na palitan ng pera](/get-eth/#dex)
-- [Decentralized gaming](/dapps/?category=gaming#explore)
+- [Decentralized gaming](/apps/?category=gaming#explore)
- [Patakaran ng insurance na awtomatikong nagbabayad](https://etherisc.com/)
- [Isang pamantayan na nagpapahintulot sa mga tao na lumikha ng mga na-customize at interoperable na pera](/developers/docs/standards/tokens/)
diff --git a/public/content/translations/fil/social-networks/index.md b/public/content/translations/fil/social-networks/index.md
index 222f1ea0711..8f8ed4e594a 100644
--- a/public/content/translations/fil/social-networks/index.md
+++ b/public/content/translations/fil/social-networks/index.md
@@ -21,7 +21,7 @@ Maraming decentralized social network ang nagsisilbing mga alternatibo sa mga ki
### Paano gumagana ang mga decentralized social network? {#decentralized-social-networks-overview}
-Ang mga decentralized social network ay uri ng [mga decentralized application (dapps)](/dapps/) — mga application na pinapagana ng [mga smart contract](/developers/docs/smart-contracts/) na dineploy sa blockchain. Ang contract code ay nagsisilbing backend para sa mga app na ito at nagtatakda ng business logic ng mga ito.
+Ang mga decentralized social network ay uri ng [mga decentralized application (dapps)](/apps/) — mga application na pinapagana ng [mga smart contract](/developers/docs/smart-contracts/) na dineploy sa blockchain. Ang contract code ay nagsisilbing backend para sa mga app na ito at nagtatakda ng business logic ng mga ito.
Umaasa ang mga tradisyonal na social media platform sa mga database upang mag-store ng impormasyon ng user, program code, at iba pang uri ng data. Ngunit gumagawa ito ng single point-of-failure at nagdudulot ng matinding panganib. Halimbawa, [ilang oras na naging offline](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact) ang mga server ng Facebook noong nakaraang taon, na naging dahilan upang hindi mapuntahan ng mga user ang platform.
@@ -105,7 +105,7 @@ Noong Mayo 2022, [inanunsyo ng Instagram ang suporta para sa NFTs sa Ethereum at
- [Ang Web3 ang susi mga social network na decentralized at pinapatakbo ng komunidad](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_
- [Pangkalahatang-ideya ng Landscape ng Blockchain Social Media](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_
- "[Paano Malulutas ng Blockchain ang Problema sa Privacy sa Social Media](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_."
-- [Papunta na sa Blockchain ang Mga Social Media Network](https://businesstechguides.co/what-are-decentralized-social-networks) — _Emmanuel Awosika_
+- [Papunta na sa Blockchain ang Mga Social Media Network](https://eawosika.com/what-are-decentralized-social-networks) — _Emmanuel Awosika_
- [Sapat na Decentralization para sa Mga Social Network](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — _Varun Srinivasan_
### Videos {#videos}
diff --git a/public/content/translations/fil/staking/solo/index.md b/public/content/translations/fil/staking/solo/index.md
index 20f68231b04..b3fcbb06be2 100644
--- a/public/content/translations/fil/staking/solo/index.md
+++ b/public/content/translations/fil/staking/solo/index.md
@@ -203,4 +203,4 @@ Upang ma-unlock at maibalik ang iyong buong balanse, dapat mo ring tapusin ang p
- [Step by Step: Paano sumali sa Ethereum 2.0 Testnet](https://kb.beaconcha.in/guides/tutorial-eth2-multiclient) - _Butta_
- [Mga Tip para sa Pag-iwas sa Slashing sa Eth2](https://medium.com/prysmatic-labs/eth2-slashing-prevention-tips-f6faa5025f50) - _Raul Jordan 2020_
-
+
diff --git a/public/content/translations/fil/web3/index.md b/public/content/translations/fil/web3/index.md
index b7773e48135..7ee22caeb76 100644
--- a/public/content/translations/fil/web3/index.md
+++ b/public/content/translations/fil/web3/index.md
@@ -139,7 +139,7 @@ Nasa simula pa lang tayo ng paggawa ng mas magandang Web sa tulong ng Web3, pero
- [Gumawa ng wallet](/wallets/)
- [Maghanap ng komunidad](/community/)
-- [Tingnan ang mga Web3 application](/dapps/)
+- [Tingnan ang mga Web3 application](/apps/)
- [Sumali sa DAO](/dao/)
- [Gumawa sa Web3](/developers/)
@@ -147,11 +147,11 @@ Nasa simula pa lang tayo ng paggawa ng mas magandang Web sa tulong ng Web3, pero
Walang malinaw na pagpapakahulugan sa Web3. May iba't ibang pananaw dito ang iba't ibang kalahok ng komunidad. Narito ang iilan sa kanila:
-- [Ano ang Web3? Pagpapaliwanag sa Decentralized Internet ng Hinaharap](https://www.freecodecamp.org/news/what-is-web3/) – _Nader Dabit_
+- [Ano ang Web3? Pagpapaliwanag sa Decentralized Internet ng Hinaharap](https://www.freecodecamp.org/news/what-is-web3) – _Nader Dabit_
- [Pag-unawa sa Web 3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) – _Josh Stark_
- [Bakit Mahalaga ang Web3](https://future.a16z.com/why-web3-matters/) — _Chris Dixon_
- [Bakit Mahalaga ang Decentralization](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _Chris Dixon_
- [Ang Web3 Landscape](https://a16z.com/wp-content/uploads/2021/10/The-web3-Readlng-List.pdf) – _a16z_
-- [Ang Debate tungkol sa Web3](https://www.notboring.co/p/the-web3-debate?s=r) – _Packy McCormick_
+- [Ang Debate tungkol sa Web3](https://www.notboring.co/p/the-web3-debate) – _Packy McCormick_
diff --git a/public/content/translations/fr/about/index.md b/public/content/translations/fr/about/index.md
index 3ae6b420d2f..3de2624aa44 100644
--- a/public/content/translations/fr/about/index.md
+++ b/public/content/translations/fr/about/index.md
@@ -8,6 +8,8 @@ lang: fr
ethereum.org est une ressource publique et open source pour la communauté Ethereum, à laquelle n'importe qui peut contribuer. Une petite équipe se consacre à la maintenance et au développement du site, à laquelle s'ajoutent les efforts de milliers de membres de la communauté du monde entier.
+**Jamais personne de ethereum.org ne vous contactera. Ne répondez pas.**
+
## Une note sur les noms {#a-note-on-names}
Il est fréquent que les gens confondent les noms dans l'écosystème d'Ethereum, créant ainsi des modèles mentaux erronés sur le fonctionnement d'Ethereum. Voici une note rapide visant à clarifier les choses :
diff --git a/public/content/translations/fr/bridges/index.md b/public/content/translations/fr/bridges/index.md
index 1cfa17097be..efad310fea1 100644
--- a/public/content/translations/fr/bridges/index.md
+++ b/public/content/translations/fr/bridges/index.md
@@ -1,5 +1,5 @@
---
-title: Introduction aux ponts blockchain
+title: Introduction aux ponts de blockchain
description: Les ponts permettent aux utilisateurs de déplacer leurs fonds à travers différentes blockchains
lang: fr
---
@@ -24,7 +24,7 @@ Mais, que feriez-vous si vous vouliez faire le même échange pour utiliser une
Toutes les blockchains ont leurs limites. Pour qu'Ethereum puisse évoluer et répondre à la demande, il a fallu procéder à des [rollups](/glossary/#rollups). Alternativement, des L1 comme Solana ou Avalanche sont conçues différemment pour permettre un débit plus élevé mais au prix de la décentralisation.
-Toutes les blockchains se développent néanmoins dans des environnements isolés et ont cependant des règles et des mécanismes de [consensus](/glossary/#consensus) différents. Cela signifie qu'elles ne peuvent pas communiquer de manière native et que les jetons ne peuvent pas circuler librement entre les blockchains.
+Cependant, toutes les blockchains se développent dans des environnements isolés et possèdent des règles et des mécanismes de [consensus](/glossary/#consensus) différents. Cela signifie qu'elles ne peuvent pas communiquer de manière native et que les jetons ne peuvent pas circuler librement entre les blockchains.
Les ponts existent pour connecter les blockchains, permettant le transfert d'informations et de jetons entre elles.
@@ -65,7 +65,7 @@ Disons que vous voulez posséder des bitcoins (BTC) natifs, mais que vous n'avez
-## Type de pont {#types-of-bridge}
+## Types de ponts {#types-of-bridge}
Les ponts présentent de nombreux types de conceptions et de subtilités. En général, les ponts se divisent en deux catégories : les ponts sans risque et les ponts risqués.
@@ -95,6 +95,15 @@ De nombreuses solutions de transition adoptent des modèles entre ces deux extr
+## Utiliser des ponts {#use-bridge}
+
+L'utilisation des ponts vous permet de déplacer vos fonds entre différentes blockchains. Voici quelques ressources pour vous aider à trouver et utiliser des ponts :
+
+- **[Liste des ponts L2BEAT](https://l2beat.com/bridges/summary)&[Analyse des risques L2BEAT des ponts](https://l2beat.com/bridges/risk)** : Une liste complète de divers ponts, incluant des détails sur leur part de marché, le type de pont et les chaînes de destination. L2BEAT propose également une analyse des risques des ponts, aidant les utilisateurs à prendre des décisions éclairées lors de la sélection d'un pont.
+- **[Liste des ponts de DefiLlama](https://defillama.com/bridges/Ethereum)** : Un résumé des volumes des ponts sur les réseaux Ethereum.
+
+
+
## Risques liés à l'utilisation de ponts {#bridge-risk}
Les ponts en sont aux premiers stades de développement. Il est probable que le design optimal des ponts n'ait pas encore été découvert. Interagir avec n'importe quel type de pont comporte des risques :
@@ -122,7 +131,9 @@ Les ponts sont essentiels pour l'accueil des utilisateurs sur les L2 d'Ethereum,
## En savoir plus {#further-reading}
+- [EIP-5164: Exécution Cross-Chain](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) - _18 juin 2022 - Brendan Asselstine_
+- [L2Bridge Risk Framework](https://gov.l2beat.com/t/l2bridge-risk-framework/31) - _5 juillet 2022 - Bartek Kiepuszewski_
+- [Pourquoi l'avenir sera multi-chaînes, mais ne sera pas cross-chaînes."](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) - _8 janvier 2022 - Vitalik Buterin_
+- [Exploiter la sécurité partagée pour une interopérabilité cross-chain sécurisée : Comités d'état Lagrange et au-delà](https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) - _12 juin 2024 - Emmanuel Awosika_
+- [L'état des solutions d'interopérabilité des rollups](https://research.2077.xyz/the-state-of-rollup-interoperability) - _20 juin 2024 - Alex Hook_
-- [EIP-5164 : Exécution en chaines croisées](https://ethereum-magicians.org/t/eip-5164-cross-chain-execution/9658) _18 juin 2022 - Brendan Asselstine_
-- [L2Bridge Risk Framework](https://gov.l2beat.com/t/l2bridge-risk-framework/31) _5 juillet 2022 - Bartek Kiepuszewski_
-- ["Pourquoi le futur sera multi-chaîne, mais ne sera pas celui des chaînes croisées.](https://old.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/) _8 janvier 2022 - Vitalik Buterin_
diff --git a/public/content/translations/fr/community/events/index.md b/public/content/translations/fr/community/events/index.md
index e149ee771b1..eb72a63ecf2 100644
--- a/public/content/translations/fr/community/events/index.md
+++ b/public/content/translations/fr/community/events/index.md
@@ -13,12 +13,14 @@ hideEditButton: true
Ceci est une liste non exhaustive maintenue par notre communauté. Connaissez-vous un événement Ethereum à venir à ajouter à cette liste ? [Veuillez l'ajouter](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json) !
+
+
## Rencontres Ethereum {#meetups}
-Vous ne voyez pas d'événement qui vous convient ? Essayez de rejoindre une rencontre. Les rencontres sont de petits événements organisés par des groupes de passionnés d'Ethereum - une chance pour les personnes intéressées par Ethereum de se rencontrer, parlez d'Ethereum, et apprenez-en plus sur les développements récents.
+Vous ne voyez pas d'événement qui vous convient ? Essayez de rejoindre une rencontre. Les rencontres sont de petits événements organisés par des groupes de passionnés d'Ethereum - une chance pour les personnes intéressées par Ethereum de se rencontrer, de parler d'Ethereum, et d'en savoir plus sur les développements récents.
-Intéressé à créer votre propre rencontre ? Découvrez le [BUIDL Network](https://consensys.net/developers/buidlnetwork/), une initiative de ConsenSys pour aider à soutenir les communautés de rencontre d'Ethereum.
+Vous souhaitez créer votre propre rencontre ? Découvrez le [BUIDL Network](https://consensys.net/developers/buidlnetwork/), une initiative de ConsenSys pour aider à soutenir les communautés de rencontre d'Ethereum.
-Ceci est une liste non exhaustive construite par notre communauté. Vous pouvez [trouver plus de rencontres Ethereum ici](https://www.meetup.com/topics/ethereum/). Vous connaissez un groupe de rencontre actif à ajouter à cette liste ? [Veuillez l'ajouter](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json) !
+Ceci est une liste non exhaustive construite par notre communauté. Vous pouvez [trouver plus de rencontres Ethereum ici](https://www.meetup.com/topics/ethereum/). Vous connaissez un groupe de rencontre actif à ajouter à cette liste ? [N'hésitez pas à l'ajouter](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-meetups.json) !
diff --git a/public/content/translations/fr/community/grants/index.md b/public/content/translations/fr/community/grants/index.md
index 67492032d99..4cd17570673 100644
--- a/public/content/translations/fr/community/grants/index.md
+++ b/public/content/translations/fr/community/grants/index.md
@@ -31,7 +31,7 @@ Ces projets ont crée leurs propres subventions pour encourager d'autres projets
- [Organisme de subvention Lido Ecosystem Grants Organisation (LEGO)](https://lido.fi/lego) – _Écosystème financier [Lido](https://lido.fi/)_
- [Programme MetaMask](https://metamaskgrants.org/) - _[MetaMask](https://metamask.io/) DAO de subventions gérées par les employés_
- [Programme de subventions SKALE Network](https://skale.space/developers#grants) - _Écosystème [SKALE Network](https://skale.space/)_
-- [Programme de subvention de la fondation Swarm](https://my.ethswarm.org/grants) - _Écosystème de la [fondation Swarm](https://www.ethswarm.org/)_
+- [Programme de subvention de la fondation Swarm](https://my.ethswarm.org) - _Écosystème de la [fondation Swarm](https://www.ethswarm.org/)_
- [TheGraph](https://thegraph.com/ecosystem/grants/) – _Écosystème [TheGraph](https://thegraph.com/)_
- [Programme de subventions Uniswap](https://www.uniswapfoundation.org/approach) – _Communauté [Uniswap](https://uniswap.org/)_
diff --git a/public/content/translations/fr/community/online/index.md b/public/content/translations/fr/community/online/index.md
index 6ddbd7a9b73..9da12bb0723 100644
--- a/public/content/translations/fr/community/online/index.md
+++ b/public/content/translations/fr/community/online/index.md
@@ -8,6 +8,31 @@ lang: fr
Des centaines de milliers de passionnés d'Ethereum se rassemblent sur ces forums en ligne pour partager l'actualité, discuter des derniers développements, débattre de questions techniques et imaginer l'avenir.
+## Règles de listage {#listing-policy}
+
+Pour maintenir l'intégrité et la valeur des communautés listées, ethereum.org suit une politique stricte pour déterminer l'éligibilité :
+
+### Critère d'éligibilité {#eligibility-criteria}
+
+- **Pertinence** : La communauté doit être directement liée à Ethereum et à son écosystème.
+- **Niveau d'activité** : La communauté doit être active, avec des interactions, publications ou discussions régulières. Les communautés dormantes ou inactives peuvent être supprimées.
+- **Inclusivité** : La communauté doit favoriser un environnement accueillant qui respecte la diversité et encourage la participation de personnes de tous horizons.
+- **Orientation non commerciale** : Les listings sont destinés aux espaces communautaires plutôt qu'aux plateformes commerciales ou promotionnelles.
+
+### Directives relatives au contenu {#content-guidelines}
+
+- **Contenu approprié** : Les communautés doivent disposer de leurs propres lignes directrices de modération, évitant le spam, les discours de haine, le harcèlement ou tout contenu promouvant des activités illégales.
+- **Langue** : Bien que l'anglais soit la langue principale, les communautés dans d'autres langues sont encouragées à soumettre leur candidature tant qu'elles maintiennent une atmosphère inclusive et respectueuse.
+- **Transparence** : Des informations claires sur l'objectif, les règles et les modérateurs de la communauté doivent être disponibles pour les membres.
+
+### Recommandations complémentaires {#other-recommendations}
+
+- **Accessibilité** : Les forums communautaires doivent être accessibles à tous pour lecture sans inscription ou enregistrement.
+- **Invitations sur les serveurs Discord** : Il est recommandé de n'ajouter que des invitations fiables sur les serveurs Discord sur ethereum.org. Idéalement, ces invitations devraient renvoyer à une page communautaire sur le site web (par exemple, [ethglobal.com/discord](https://ethglobal.com/discord)) ou provenir d'une URL officielle (par exemple, [discord.gg/ethstaker](https://discord.gg/ethstaker) ou [discord.com/invite/ethstaker](https://discord.com/invite/ethstaker)).
+
+Si vous pensez qu'une communauté devrait être ajoutée ou supprimée selon ces directives, veuillez [ouvrir un ticket dans notre dépôt GitHub](https://github.com/ethereum/ethereum-org-website/issues).
+
+
## Forums {#forums}
r/ethereum - tout sur Ethereum
@@ -30,13 +55,14 @@ Des centaines de milliers de passionnés d'Ethereum se rassemblent sur ces forum
Solidity Gitter - forum de discussion pour le développement Solidity (Gitter)
Solidity Matrix - forum de discussion pour le développement Solidity (Matrix)
Ethereum Stack Exchange *- forum de questions-réponses*
-Peeranha *- forum de questions-réponses décentralisé*
+Forum communautaire Peera *- forum décentralisé de questions-réponses*
-## YouTube et Twitter {#youtube-and-twitter}
+## YouTube et X (anciennement Twitter) {#youtube-and-twitter}
Ethereum Foundation - Tenez-vous au courant des dernières nouvelles de la fondation Ethereum
-@ethereum - Compte officiel de la Fondation Ethereum
-@ethdotorg - Le portail vers Ethereum, construit pour notre communauté mondiale grandissante
+@ethereum - Compte principal Ethereum pour la communauté
+@ethereumfndn - Compte officiel de la Fondation Ethereum
+@ethdotorg - Le portail vers Ethereum, construit pour notre communauté mondiale grandissante
Liste des comptes Twitter Ethereum influents
diff --git a/public/content/translations/fr/community/research/index.md b/public/content/translations/fr/community/research/index.md
index dc53d5eae2a..2a5f22b255d 100644
--- a/public/content/translations/fr/community/research/index.md
+++ b/public/content/translations/fr/community/research/index.md
@@ -111,7 +111,7 @@ Il existe aujourd'hui plusieurs protocoles de seconde couche qui permettent de m
#### Recherche récente {#recent-research-2}
- [Ordre équitable pour les séquenceurs d'Arbitrum](https://eprint.iacr.org/2021/1465)
-- [ethresear.ch Seconde couche](https://ethresear.ch/c/layer-2/32)
+- [Ethresear.ch Couche 2](https://ethresear.ch/c/layer-2/32)
- [Feuille de route axée sur le rollup](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)
- [L2Beat](https://l2beat.com/)
@@ -189,7 +189,7 @@ Les portefeuilles Ethereum peuvent être des extensions de navigateur, des appli
- [Introduction aux portefeuilles](/wallets/)
- [Introduction à la sécurité des portefeuilles](/security/)
-- [ethresear.ch Sécurité](https://ethresear.ch/tag/security)
+- [Ethresear.ch Sécurité](https://ethresear.ch/tag/security)
- [EIP-2938 Abstraction de compte](https://eips.ethereum.org/EIPS/eip-2938)
- [EIP-4337 Abstraction de compte](https://eips.ethereum.org/EIPS/eip-4337)
@@ -358,7 +358,7 @@ Les outils destinés aux développeurs Ethereum s'améliorent rapidement. Il res
### Oracles {#oracles}
-Les oracles importent des données hors chaîne sur la blockchain de manière décentralisée et sans autorisation. L'obtention de ces données sur la chaîne permet aux DApps d'être réactives aux phénomènes du monde réel, tels que les fluctuations de prix des actifs réels, les événements dans les applications hors chaîne, ou même les changements météorologiques.
+Les oracles importent des données hors chaîne sur la blockchain de manière décentralisée et sans autorisation. L'obtention de ces données sur la chaîne permet aux Dapps d'être réactives aux phénomènes du monde réel, tels que les fluctuations de prix des actifs réels, les événements dans les applications hors chaîne, ou même les changements météorologiques.
#### Lectures de référence {#background-reading-18}
@@ -377,11 +377,11 @@ Les piratages sur Ethereum exploitent généralement des vulnérabilités dans d
- [Rapport sur l'attaque de Wormhole](https://blog.chainalysis.com/reports/wormhole-hack-february-2022/)
- [Liste des post-mortems des piratages de contrats Ethereum](https://forum.openzeppelin.com/t/list-of-ethereum-smart-contracts-post-mortems/1191)
-- [Rekt News](https://twitter.com/RektHQ?s=20\&t=3otjYQdM9Bqk8k3n1a1Adg)
+- [Rekt News](https://twitter.com/RektHQ?s=20&t=3otjYQdM9Bqk8k3n1a1Adg)
#### Recherche récente {#recent-research-19}
-- [ethresear.ch Applications](https://ethresear.ch/c/applications/18)
+- [Ethresear.ch Applications](https://ethresear.ch/c/applications/18)
### Pile technologique {#technology-stack}
diff --git a/public/content/translations/fr/community/support/index.md b/public/content/translations/fr/community/support/index.md
index 3716ed8cceb..14db6a838e4 100644
--- a/public/content/translations/fr/community/support/index.md
+++ b/public/content/translations/fr/community/support/index.md
@@ -10,7 +10,7 @@ lang: fr
Vous recherchez l'assistance officielle Ethereum ? La première chose que vous devez savoir est le fait qu'Ethereum est décentralisé. Cela signifie qu'aucune organisation, entité ou personne n'est propriétaire d'Ethereum et, de ce fait, il n'existe aucune assistance officielle.
-Comprendre la nature décentralisée d'Ethereum est essentiel, car quiconque prétendant représenter l'assiatnce officielle d'Ethereum essaie probablement de vous escroquer ! La meilleure protection contre les arnaques consiste à vous informer et à prendre la sécurité au sérieux.
+Comprendre la nature décentralisée d’Ethereum est essentiel car **toute personne prétendant être le support officiel d’Ethereum essaie probablement de vous arnaquer !** La meilleure protection contre les escrocs est de vous informer et de prendre la sécurité au sérieux.
Sécurité d'Ethereum et prévention des arnaques
@@ -100,5 +100,6 @@ La plupart des équipes qui créent des clients Ethereum disposent aussi d'espac
- [Lighthouse](https://discord.gg/cyAszAh)
- [Teku](https://discord.gg/7hPv2T6)
- [Lodestar](https://discord.gg/aMxzVcr)
+- [Grandine](https://discord.gg/H9XCdUSyZd)
Vous pouvez aussi [apprendre comment exécuter un nœud ici](/developers/docs/nodes-and-clients/run-a-node/).
diff --git a/public/content/translations/fr/contributing/adding-layer-2s/index.md b/public/content/translations/fr/contributing/adding-layer-2s/index.md
index 18c84d4f524..ec77967918c 100644
--- a/public/content/translations/fr/contributing/adding-layer-2s/index.md
+++ b/public/content/translations/fr/contributing/adding-layer-2s/index.md
@@ -92,6 +92,6 @@ _Nous ne considérons pas comme relevant de la couche 2 les autres solutions d'
Si vous souhaitez ajouter une Couche 2 sur ethereum.org, créez un ticket sur GitHub.
-
+
Créez un ticket
diff --git a/public/content/translations/fr/contributing/adding-staking-products/index.md b/public/content/translations/fr/contributing/adding-staking-products/index.md
index ec73eba67d9..85ae7894618 100644
--- a/public/content/translations/fr/contributing/adding-staking-products/index.md
+++ b/public/content/translations/fr/contributing/adding-staking-products/index.md
@@ -87,7 +87,7 @@ Pour tout logiciel personnalisé ou contrat intelligent impliqué :
Pour les produits logiciels liés à la configuration de nœuds ou de clients, la gestion ou la migration :
-**Quels clients de la couche de consensus (c'est-à-dire Lighthouse, Teku, Nimbus, Prysm) sont pris en charge ?**
+**Quels clients de la couche de consensus (c'est-à-dire Lighthouse, Teku, Nimbus, Prysm, Grandine) sont pris en charge ?**
- Quels sont les clients pris en charge ? L'utilisateur peut-il choisir ?
- Ceci est utilisé pour déterminer le score « multi-client » des produits.
diff --git a/public/content/translations/fr/contributing/content-resources/index.md b/public/content/translations/fr/contributing/content-resources/index.md
index 6dbae83cee0..8d1f6574770 100644
--- a/public/content/translations/fr/contributing/content-resources/index.md
+++ b/public/content/translations/fr/contributing/content-resources/index.md
@@ -27,6 +27,6 @@ Les ressources d'apprentissage seront évaluées selon les critères suivants :
Si vous souhaitez ajouter une ressource de contenu à ethereum.org et qu'elle répond aux critères, créez un ticket sur GitHub.
-
+
Créez un ticket
diff --git a/public/content/translations/fr/contributing/design/index.md b/public/content/translations/fr/contributing/design/index.md
index d85e487d20a..c85dbb697c4 100644
--- a/public/content/translations/fr/contributing/design/index.md
+++ b/public/content/translations/fr/contributing/design/index.md
@@ -6,7 +6,7 @@ lang: fr
# Contribuer à la conception d'ethereum.org {#design-contributions}
-La conception est un élément essentiel de tout projet, et en consacrant votre temps et vos compétences en design à Ethereum.org, vous pouvez contribuer à améliorer l'expérience utilisateur pour nos visiteurs. Contribuer à un projet open-source offre l'opportunité d'acquérir une expérience pertinente et de développer vos compétences dans un environnement collaboratif. Vous aurez l'occasion de travailler avec d'autres concepteurs, développeurs et membres de la communauté, chacun ayant ses propres perspectives et idées uniques.
+La conception est une composante essentielle de tout projet, et en consacrant votre temps et vos compétences en la matière à ethereum.org, vous pouvez contribuer à améliorer l'expérience utilisateur de nos visiteurs. Contribuer à un projet open-source offre l'opportunité d'acquérir une expérience pertinente et de développer vos compétences dans un environnement collaboratif. Vous aurez l'occasion de travailler avec d'autres concepteurs, développeurs et membres de la communauté, chacun ayant ses propres perspectives et idées uniques.
Finalement, c'est une excellente façon de construire un portfolio diversifié et impressionnant qui met en valeur vos compétences en conception.
@@ -30,7 +30,7 @@ Fournir des commentaires sur notre site web en :
### Trouver des problèmes liés à la conception du site web et les signaler {#report-design-issues}
-Ethereum.org est un site web en rapide croissance avec de nombreuses fonctionnalités et contenus. Certaines des interfaces utilisateur peuvent facilement devenir obsolètes ou pourraient être améliorées. Si vous rencontrez un tel cas, veuillez le signaler afin que nous y portions notre attention.
+ethereum.org est un site web en pleine expansion avec de nombreuses fonctionnalités et contenus. Certaines des interfaces utilisateur peuvent facilement devenir obsolètes ou pourraient être améliorées. Si vous rencontrez un tel cas, veuillez le signaler afin que nous y portions notre attention.
1. Parcourir le site web et observer avec attention sa conception.
2. Prenez des captures d'écran et des notes si vous voyez des problèmes visuels ou d'expérience utilisateur.
@@ -51,10 +51,10 @@ Notre système de concep rend la conception d'ethereum.org amusante et facile. S
1. Sélectionnez un problème sur lequel travailler à partir du [tableau du système de conception](https://github.com/ethereum/ethereum-org-website/labels/design%20system) sur GitHub ou créez-en un nouveau.
2. Demandez à ce que le ticket sélectionné vous soit attribué.
-3. Commencez à concevoir le composant demandé dans Figma.
+3. Commencez à concevoir la maquette demandée sur Figma.
4. Partagez-le avec l'équipe de conception sur GitHub lorsque vous avez besoin d'une revue ou de conseils.
5. L'équipe de conception examinera votre travail.
-6. L'équipe de conception intégrera les modifications dans le fichier principal et publiera le fichier pour la communauté.
+6. L'équipe de conception intégrera les modifications dans le fichier principal et publiera le fichier à l'intention de la communauté.
### Rédigez du contenu lié à la conception sur le site web {#write-design-articles}
@@ -64,7 +64,7 @@ La communauté des développeurs Ethereum est solide, mais la communauté des de
2. Rendez-vous sur notre dépôt GitHub et [soumettez un problème](https://github.com/ethereum/ethereum-org-website/issues/new) en proposant un sujet (ne rédigez pas encore le contenu).
3. Attendez que l'équipe de conception donne son approbation.
4. Une fois approuvé, rédigez le contenu.
-5. Soumettez-le dans le problème GH correspondant.
+5. Soumettez-le dans le ticket GitHub correspondant.
### Dessinez de nouvelles illustrations {#prepare-illustrations}
diff --git a/public/content/translations/fr/contributing/index.md b/public/content/translations/fr/contributing/index.md
index 2c3493eebeb..d86c093b624 100644
--- a/public/content/translations/fr/contributing/index.md
+++ b/public/content/translations/fr/contributing/index.md
@@ -19,20 +19,19 @@ Nous sommes une communauté accueillante qui vous aidera à grandir et à vous f
- [Travailler sur un ticket ouvert](https://github.com/ethereum/ethereum-org-website/issues) – Travail que nous avons identifié comme devant être fait
**Conception**
-- [Aider à concevoir le site web](/contributing/design/)– Des concepteurs de tous les niveaux peuvent contribuer à améliorer le site web
+- [Aidez à concevoir le site web](/contributing/design/) – Les designers de tous niveaux peuvent contribuer à améliorer le site
**Contenu**
- [Créer/modifier du contenu](/contributing/#how-to-update-content) – Proposez de nouvelles pages ou des modifications de ce qui existe déjà
-- [Ajouter un article pour la communauté](/contributing/content-resources/)– Ajoutez un article utile à une page pertinente
+- [Ajouter un article pour la communauté](/contributing/content-resources/) – Ajoutez un article utile à une page pertinente
- [Suggérer une ressource de design](/contributing/design/adding-design-resources/) - Ajoutez, mettez à jour et supprimez des ressources de design utiles
-- [Ajouter un terme au glossaire](/contributing/adding-glossary-terms/) – Aidez-nous à poursuivre le développement du [glossaire](/glossary/) Ethereum
- [Quiz](/contributing/quizzes/) - Ajoutez, mettez à jour et supprimez des questions de quiz sur une page pertinente
**Idées de fonctionnalités**
- [Demander une fonctionnalité](https://github.com/ethereum/ethereum-org-website/issues/new?assignees=&labels=Type%3A+Feature&template=feature_request.yaml&title=) – Faites-nous part de vos idées pour une nouvelle fonctionnalité ou un nouveau design
**Liste de produits**
-- [Ajouter une plateforme d'échange](/contributing/adding-exchanges/)– Ajoutez une plateforme d'échange à notre [outil de recherche d'échange](/get-eth/#country-picker)
+- [Ajouter une plateforme d'échange](/contributing/adding-exchanges/) – Ajoutez une plateforme d'échange à notre [outil de recherche d'échange](/get-eth/#country-picker)
- [Ajouter un produit/service](/contributing/adding-products/) – Ajoutez une application décentralisée (DApp) ou un portefeuille à une page pertinente
- [Ajouter des outils de développement](/contributing/adding-developer-tools/) – Ajoutez un outil de développement à une page pertinente
- [Ajouter une couche 2](/contributing/adding-layer-2s/) – Ajoutez une seconde couche à une page pertinente
@@ -68,7 +67,7 @@ Avant de contribuer, assurez-vous que vous connaissez bien :
- notre [guide de style](/contributing/style-guide/).
- notre [code de conduite](/community/code-of-conduct)
-
+
## Comment sont prises les décisions concernant le site {#how-decisions-about-the-site-are-made}
@@ -90,11 +89,11 @@ Sur notre dépôt GitHub, nous avons des questions à faible barrière d'entrée
Si votre contribution est intégrée à ethereum.org, vous aurez la possibilité de recevoir un badge spécial sur [Galxe](https://app.galxe.com/quest/ethereumorg). Un Onchain Achievement Token (OAT) est la preuve que vous avez contribué à rendre l'écosystème un peu plus incroyable.
-[En savoir plus sur les OAT](https://help.galxe.com/en/articles/7067290-galxe-oats-reward-and-celebrate-achievements)
+[En savoir plus sur les OAT](https://help.galxe.com/en/articles/9645630-create-quest-rewards#h_1c5d63ba03)
### Comment le récupérer
1. Rejoignez notre [serveur Discord](https://discord.gg/ethereum-org).
-2. Collez un lien vers votre contribution dans le canal `#🥇 | proof-of-contribution`
+2. Collez un lien vers votre contribution dans le canal `#🥇 | proof-of-contribution`.
3. Attendez qu'un membre de notre équipe vous envoie un lien vers votre OAT.
4. Réclamez votre OAT !
diff --git a/public/content/translations/fr/contributing/quizzes/index.md b/public/content/translations/fr/contributing/quizzes/index.md
index 837c2e15c75..adaf15f8b4d 100644
--- a/public/content/translations/fr/contributing/quizzes/index.md
+++ b/public/content/translations/fr/contributing/quizzes/index.md
@@ -12,7 +12,7 @@ Les questions sont structurées comme suit. La question invite à donner 1 répo
Vous trouverez ici quelques exemples de quiz actuels :
-- [Niveau 2](/layer-2)
+- [Couche 2](/layer-2)
- [NFT](/nft/)
- [Qu'est-ce qu'Ethereum ?](/what-is-ethereum/)
- [Qu'est-ce que l'ETH ?](/eth/)
diff --git a/public/content/translations/fr/contributing/translation-program/how-to-translate/index.md b/public/content/translations/fr/contributing/translation-program/how-to-translate/index.md
index 19c3eb5b442..c465d38b8ab 100644
--- a/public/content/translations/fr/contributing/translation-program/how-to-translate/index.md
+++ b/public/content/translations/fr/contributing/translation-program/how-to-translate/index.md
@@ -18,7 +18,7 @@ Pour les apprenants plus visuels, regardez la vidéo de Luka qui présente le pa
Vous devrez vous connecter à votre compte Crowdin ou vous inscrire si vous n'avez pas encore de compte. Tout ce qui est nécessaire pour vous inscrire est un compte de messagerie et un mot de passe.
-
+
Rejoindre le projet
@@ -82,7 +82,7 @@ Une fois que vous avez terminé la traduction (c'est-à-dire que tous les fichie
### Nous contacter {#get-in-touch}
-Vous avez d'autres questions ? Ou souhaitez-vous collaborer avec notre équipe et d'autres traducteurs ? Envoyez un message dans le canal #translations sur notre [serveur Discord ethereum.org](/discord/)
+Avez-vous d'autres questions ? Ou souhaitez-vous collaborer avec notre équipe et d'autres traducteurs ? Envoyez un message dans le canal #translations sur notre [serveur Discord ethereum.org](/discord/)
Vous pouvez également nous contacter à l'adresse translations@ethereum.org
diff --git a/public/content/translations/fr/contributing/translation-program/index.md b/public/content/translations/fr/contributing/translation-program/index.md
index fe89d2bd969..2aad617a64f 100644
--- a/public/content/translations/fr/contributing/translation-program/index.md
+++ b/public/content/translations/fr/contributing/translation-program/index.md
@@ -36,9 +36,9 @@ En savoir plus sur [la mission et la vision](/contributing/translation-program/m
### Les progrès réalisés jusqu'à présent {#our-progress}
-- [**Plus de 6 000** traducteurs](/contributing/translation-program/contributors/)
-- **62** langues en direct sur le site
-- [**3 millions** de mots traduits en 2023](/contributing/translation-program/acknowledgements/)
+- [**plus de 6900** traducteurs](/contributing/translation-program/contributors/)
+- **68** langues présentes sur le site
+- [**2,89 millions** de mots traduits en 2024](/contributing/translation-program/acknowledgements/)
diff --git a/public/content/translations/fr/contributing/translation-program/translators-guide/index.md b/public/content/translations/fr/contributing/translation-program/translators-guide/index.md
index 9af0358f3e7..bcb331c2aca 100644
--- a/public/content/translations/fr/contributing/translation-program/translators-guide/index.md
+++ b/public/content/translations/fr/contributing/translation-program/translators-guide/index.md
@@ -116,7 +116,7 @@ La meilleure façon de gérer les liens est de les copier directement à partir

-Les liens apparaissent également dans le texte source sous la forme de balises (c'est-à-dire <0> 0>). Si vous survolez la balise, l'éditeur affichera son véritable contenu. Parfois, ces balises désigneront des liens.
+Les liens apparaissent également dans le texte source sous la forme de balises (c'est-à-dire `<0> 0>`). Si vous survolez la balise, l'éditeur affichera son véritable contenu. Parfois, ces balises désigneront des liens.
Il est très important de copier les liens depuis le texte source et de ne pas modifier l'ordre des balises.
@@ -154,7 +154,7 @@ nonce - _Texte non traduisible_
Le texte source contient aussi des balises raccourcies. Elles contiennent uniquement des chiffres et leur fonction n'est donc pas directement identifiable. Vous pouvez survoler ces balises pour voir exactement ce à quoi elles servent.
-Dans l'exemple ci-dessous, vous pouvez voir que survoler la balise <0> nous permet de savoir qu'elle désigne en fait une balise `` et qu'elle contient un extrait de code. Le contenu de ces balises ne doit donc pas être traduit.
+Dans l'exemple ci-dessous, vous pouvez voir que survoler la balise `<0>` nous permet de savoir qu'elle désigne en fait une balise `` et qu'elle contient un extrait de code. Le contenu de ces balises ne doit donc pas être traduit.

diff --git a/public/content/translations/fr/dao/index.md b/public/content/translations/fr/dao/index.md
index c2554d09f53..962e8abd025 100644
--- a/public/content/translations/fr/dao/index.md
+++ b/public/content/translations/fr/dao/index.md
@@ -1,5 +1,6 @@
---
-title: Organisation autonome décentralisée (DAO)
+title: Qu'est-ce qu'une DAO ?
+metaTitle: Qu'est-ce qu'une DAO ? | Organisation autonome et décentralisée
description: Un aperçu des DAO sur Ethereum
lang: fr
template: use-cases
@@ -18,7 +19,7 @@ Une DAO est une organisation collectivement détenue et qui travaille à une mis
Les DAO nous permettent de travailler avec des personnes partageant le même état d'esprit et dans le monde entier, sans pour autant faire confiance à un dirigeant bienveillant pour gérer les fonds ou les opérations. Il n'y a pas de Directeur Général qui puisse dépenser des fonds sur un caprice ou un Chef de la direction financière capable de manipuler les registres. Au lieu de cela, les règles basées sur la blockchain ont été intégrées dans le code et définissent comment fonctionne l'organisation et comment les fonds sont dépensés.
-Elles possèdent une trésorerie intégrée à laquelle personne ne peut accéder sans l'accord du groupe. Les décisions sont régies par des propositions et des votes pour s'assurer que tout le monde au sein de l'organisation a une voix et que tout se passe de manière transparente [sur la chaîne](/glossary/#on-chain).
+Elles possèdent une trésorerie intégrée à laquelle personne ne peut accéder sans l'accord du groupe. Les décisions sont régies par des propositions et des votes pour s'assurer que tout le monde au sein de l'organisation puisse s'exprimer et que tout se passe de manière transparente [onchain](/glossary/#onchain).
## Pourquoi avons-nous besoin des DAO ? {#why-dao}
@@ -91,7 +92,7 @@ En 1977, le Wyoming a créé la LLC, qui protège les entrepreneurs et limite le
### Un exemple célèbre {#law-example}
-[CityDAO](https://citydao.io) - CityDAO s'est servi de la loi DAO du Wyoming pour acheter 40 acres de terrain près du parc national de Yellowstone.
+[CityDAO](https://citizen.citydao.io/) - CityDAO s'est servi de la loi DAO du Wyoming pour acheter 40 acres de terrain près du parc national de Yellowstone.
## Adhésion à la DAO {#dao-membership}
@@ -160,3 +161,7 @@ _Habituellement utilisée pour le développement décentralisé et la gouvernanc
- [Qu'est-ce qu'une DAO en cryptomonnaie ?](https://youtu.be/KHm0uUPqmVE)
- [Une DAO peut-elle bâtir une ville ?](https://www.ted.com/talks/scott_fitsimones_could_a_dao_build_the_next_great_city) – [TED](https://www.ted.com/)
+
+
+
+
diff --git a/public/content/translations/fr/decentralized-identity/index.md b/public/content/translations/fr/decentralized-identity/index.md
index e894f77ad68..9a6bb955cc8 100644
--- a/public/content/translations/fr/decentralized-identity/index.md
+++ b/public/content/translations/fr/decentralized-identity/index.md
@@ -165,12 +165,8 @@ Il existe de nombreux projets ambitieux utilisant Ethereum comme base pour des s
- **[walt.id](https://walt.id)** — _Infrastructure décentralisée et open source d'identité et de portefeuille qui permet aux développeurs et aux organisations de tirer parti de l'identité souveraine et des NFT/SBT._
- **[Veramo](https://veramo.io/)** - _Un environnement JavaScript qui permet à chacun d'utiliser facilement des données vérifiables cryptographiquement dans ses applications._
-
-
## Complément d'information {#further-reading}
-
-
### Articles {#articles}
- [Cas d'utilisation de la Blockchain : Blockchain en identité numérique](https://consensys.net/blockchain-use-cases/digital-identity/) — _ConsensusSys_
@@ -179,8 +175,6 @@ Il existe de nombreux projets ambitieux utilisant Ethereum comme base pour des s
- [Qu'est-ce que l'identité décentralisée et pourquoi devriez-vous vous en préocupper ?](https://web3.hashnode.com/what-is-decentralized-identity) — _Emmanuel Awosika_
- [Introduction à l'Identité Décentralisée](https://walt.id/white-paper/digital-identity)— _Dominik Beron_
-
-
### Vidéos {#videos}
- [Identité décentralisée (Bonus Session Livestream)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) — _Une formidable vidéo explicative sur l'identité décentralisée par Andreas Antonopolous_
@@ -189,8 +183,6 @@ Il existe de nombreux projets ambitieux utilisant Ethereum comme base pour des s
- [The Off Chain Internet : Identités décentralisées & Références vérifiables](https://www.youtube.com/watch?v=EZ_Bb6j87mg) — Présentation EthDenver 2022 par Evin McMullen
- [Explication des Justificatifs Vérifiables](https://www.youtube.com/watch?v=ce1IdSr-Kig) - Vidéo explicative sur YouTube avec démonstration par Tamino Baumann
-
-
### Communautés {#communities}
- [ERC-725 Alliance sur GitHub](https://github.com/erc725alliance) — _Supporters de la norme ERC725 pour la gestion d'identité sur la blockchain Ethereum_
diff --git a/public/content/translations/fr/defi/index.md b/public/content/translations/fr/defi/index.md
index 33beaca88c0..f05e2befb65 100644
--- a/public/content/translations/fr/defi/index.md
+++ b/public/content/translations/fr/defi/index.md
@@ -1,5 +1,6 @@
---
title: Finance Décentralisée (DeFi)
+metaTitle: Qu'est-ce que DeFi ? | Avantages et utilisation de la finance décentralisée
description: Un aperçu de la DeFi sur Ethereum
lang: fr
template: use-cases
@@ -47,7 +48,7 @@ L'une des meilleures façons de voir le potentiel de la DeFi est de comprendre l
| Les marchés sont toujours ouverts. | Les marchés ferment parce que les employés ont besoin de pauses. |
| Il est construit sur la transparence – tout le monde peut regarder les données d'un produit et inspecter le fonctionnement du système. | Les institutions financières sont des livres fermés : vous ne pouvez pas demander à voir leurs antécédents de prêts, un dossier de leurs actifs gérés, etc. |
-
+
Explorer la DeFi
@@ -65,7 +66,7 @@ Cela semble étrange... « pourquoi je voudrais programmer mon argent » ? Cepen
Explorez nos suggestions pour les applications de la DeFi pour essayer si vous êtes nouveau sur Ethereum.
-
+
Explorer la DeFi
@@ -92,7 +93,7 @@ Il existe une alternative décentralisée à la plupart des services financiers.
En tant que blockchain, Ethereum est conçu pour envoyer des transactions de manière sécurisée et globale. Tout comme Bitcoin, Ethereum vous permet d'envoyer de l'argent dans le monde entier aussi facilement qu'un un email. Entrez simplement le nom [ENS de votre destinataire](/glossary/#ens) (comme bob. th) ou l'adresse de leur compte à partir de votre portefeuille et votre paiement leur ira directement, en quelques minutes (habituellement). Pour envoyer ou recevoir des paiements, vous aurez besoin d'un [portefeuille](/wallets/).
-
+
Voir les applications de paiement
@@ -123,7 +124,7 @@ L'emprunt de l'argent auprès de prestataires décentralisés se compose de deux
- Pair-à-pair, ce qui signifie qu'un emprunteur empruntera directement auprès d'un prêteur spécifique.
- Basé sur une pool où les prêteurs fournissent des fonds (liquidités) à une réserve dans laquelle les emprunteurs peuvent emprunter.
-
+
Voir les dapp d'emprunt
@@ -168,7 +169,7 @@ Si l'échange B chutait soudainement et que l'utilisateur n'était pas en mesure
Pour pouvoir faire ce qui précède dans le monde de la finance traditionnelle, vous auriez besoin d'une somme d'argent énorme. Ces stratégies pour gagner de l'argent ne sont accessibles qu'à ceux qui possèdent déjà une certaine richesse. Les prêts Flash sont un exemple d'avenir où avoir de l'argent n'est pas nécessairement une condition préalable pour gagner de l'argent.
-
+
6. Social layer and governance
++ Ethereum's "social layer" refers to the set of + people, organizations, companies, governance processes, and + cultural norms that influence how the Ethereum ecosystem + behaves. This social layer is itself vulnerable to certain + attacks or risks, which can then influence the security and + reliability of Ethereum. +
++ These risks tend to be more long-term oriented, and concern + Ethereum as a whole rather than the security of individual + users or applications. +
++ 6.1 Stake centralization +
++ Centralization of large amounts of stake can pose risks to + Ethereum as a whole if the entities controlling that stake + decide to collude. +
++ This economic centralization creates the potential for + social governance capture. If a small group of validators + controls a supermajority of stake, they could: +
+- Coordinate on or resist forks.
+ - Censor certain transactions or contracts.
+ -
+ Undermine community consensus by threatening exit or
+ opposition.
+
+
++ If this extreme scenario were to happen, the Ethereum + community has suggested that "social slashing" + might be the answer. Social slashing is the use of offchain + social consensus to decide to slash misbehaving validators, + as a check on their power. But no clear norms, procedures, + or tooling exist to enact such measures (see section 4.4). +
++ 6.2 Offchain asset centralization +
++ Ethereum hosts significant amounts of real world assets, + where the assets are held offchain in bank accounts or other + deposits, which are then traded onchain via tokens that + represent a claim on the offchain assets. For instance, many + large stablecoins function this way. +
++ The institutions that hold the offchain deposits may have + influence over the Ethereum ecosystem. For instance, during + an extreme scenario where there is a contentious fork or + network upgrade, large depositors can influence which chain + becomes widely accepted by only choosing to recognize tokens + on one chain or the other. +
++ 6.3 Regulatory attack or pressure +
++ Governments and regulators could pressure various entities + that control important components of the Ethereum stack to + censor or otherwise interfere with the Ethereum protocol. + Institutional users of Ethereum could also be impacted by + these pressures, which would have further consequences for + their users (e.g. a bank who can no longer offer certain + crypto products due to regulatory bans). +
++ 6.4 Organizational capture of governance +
++ Ethereum's open source governance and development + processes are driven by a diverse and global set of teams + and companies that maintain core client software, + infrastructure, and tooling. +
++ Various forms of influence (corporate acquisitions, funding + dependencies, employment of key contributors, conflicts of + interest inside existing orgs) could gradually shift the + culture and priorities of Ethereum governance. This may lead + to alignment with specific commercial or external interests + that diverge from the community-driven ethos and established + roadmap, potentially weakening Ethereum's neutrality + and resilience over time. +
+