Skip to content

Commit

Permalink
add coin
Browse files Browse the repository at this point in the history
  • Loading branch information
adust09 committed Oct 2, 2024
1 parent 06c0515 commit 41a1ce6
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 38 deletions.
17 changes: 17 additions & 0 deletions content/coinFlipping.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
date: 2024-10-02
title: Collaborative Coin Flipping
---
Collaborative Coin Flipping is used in MPC and game theory as a protocol for multiple participants to generate random outcomes fairly and securely without a trusted third party.
For example, Alice and Bob toss a coin to decide something important.
At this point, they both have coins and have to decide which one to use.
However, they need to trust the other's coin, and if they lose, they can't be told that they are cheating.
In other words, a consensus needs to be reached on which coin to use.
An idea to resolve this dispute is to use both coins, and if they are both the same combination (both heads or both tails), then they are ‘heads’, and if they are different combinations (one head and one tails), then they are ‘tails’.
This allows the result to have the same probability as a coin toss without having to trust one of the coins.

Looking at this idea mathematically, it can be seen as a 2PC XOR operation.
That is, if (1,1) or (0,0), it returns 0, if (1,0) or (0,1), it returns 1

Synthesis using XOR allows one participant to control his bit but the overall result still retains its random nature.
However, countermeasures are needed against last mover attacks, such as protocols that do not immediately disclose random bits, but first share commitments and then open commitments after everyone has disclosed their random bits (Commit-and-Reveal schemes)
49 changes: 11 additions & 38 deletions content/index.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,19 @@
---
title: Welcome to Quartz 4
date: 2024-09-30
title: Welcome
---

Quartz is a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites. Thousands of students, developers, and teachers are [[showcase|already using Quartz]] to publish personal notes, websites, and [digital gardens](https://jzhao.xyz/posts/networked-thought) to the web.
Hi and welcome!
This is a space for Shouki to share his notes and ideas.
I am interested in blockchain, crypto theory, and privacy.

## 🪴 Get Started
If you are interested in my past articles and efforts, please feel free to take a look. Comments are also welcome.
I like to discuss and work together with various people on projects. Please feel free to contact me if we have anything in common.

Quartz requires **at least [Node](https://nodejs.org/) v20** and `npm` v9.3.1 to function correctly. Ensure you have this installed on your machine before continuing.
## Selected blog posts

Then, in your terminal of choice, enter the following commands line by line:
- [[Collaborative Coin Flipping]]

```shell
git clone https://github.com/jackyzha0/quartz.git
cd quartz
npm i
npx quartz create
```
## Projects

This will guide you through initializing your Quartz with content. Once you've done so, see how to:

1. [[authoring content|Writing content]] in Quartz
2. [[configuration|Configure]] Quartz's behaviour
3. Change Quartz's [[layout]]
4. [[build|Build and preview]] Quartz
5. Sync your changes with [[setting up your GitHub repository|GitHub]]
6. [[hosting|Host]] Quartz online

If you prefer instructions in a video format you can try following Nicole van der Hoeven's
[video guide on how to set up Quartz!](https://www.youtube.com/watch?v=6s6DT1yN4dw&t=227s)

## 🔧 Features

- [[Obsidian compatibility]], [[full-text search]], [[graph view]], note transclusion, [[wikilinks]], [[backlinks]], [[features/Latex|Latex]], [[syntax highlighting]], [[popover previews]], [[Docker Support]], [[i18n|internationalization]], [[comments]] and [many more](./features) right out of the box
- Hot-reload for both configuration and content
- Simple JSX layouts and [[creating components|page components]]
- [[SPA Routing|Ridiculously fast page loads]] and tiny bundle sizes
- Fully-customizable parsing, filtering, and page generation through [[making plugins|plugins]]

For a comprehensive list of features, visit the [features page](/features). You can read more about the _why_ behind these features on the [[philosophy]] page and a technical overview on the [[architecture]] page.

### 🚧 Troubleshooting + Updating

Having trouble with Quartz? Try searching for your issue using the search feature. If you haven't already, [[upgrading|upgrade]] to the newest version of Quartz to see if this fixes your issue.

If you're still having trouble, feel free to [submit an issue](https://github.com/jackyzha0/quartz/issues) if you feel you found a bug or ask for help in our [Discord Community](https://discord.gg/cRFFHYye7t).
Compilations of various projects that have shaped the technologist I currently am. It's a mix of applied research, e2e products, and academic work.

0 comments on commit 41a1ce6

Please sign in to comment.