Skip to content

Instantly share code, notes, and snippets.

View jaekwon's full-sized avatar

Jae Kwon jaekwon

View GitHub Profile
Deterministic Concurrency
1. All threads with every (e.g. Gno) VM Opcode computes on the side a
synchronized virtual universal clock timestamp. Every operation happens at an
incrementing virtual timestamp.
2. All operations involving channels, and all channel meta events like channel
closures, are sent implicitly (invisibly to the Gno programmer) through
channels with associated local timestamp data from the sending routine to the
receiving routine.
// Challenge 1 June 29th 2020: implement a binary operation parser.
// It must be implemented in Go, and the only import allowed is "strings".
// For bonus points, implement the scanner functions.
// The solution must start with comments with the following information:
// Your name, any open-source project links (on github, gitlab, anything publicly accessible).
// We are looking for elegance of implementation.
// Test cases are not necessary, we will test code automatically, so keep the method signatures.
// Email solutions to jae+challenge@tendermint.com.
// For questions, email there or respond to @jaekwon's latest tweets.
// NOTE Sharing your solution, or hints, will disqualify you and everyone involved from future challenges.
@jaekwon
jaekwon / gist:efd52601a816c752ff9bff4e1fe1e3ef
Last active August 24, 2020 04:17
old forum.tendermint.com backup partial

NOTE: This is a partial forum.tendermint.com backup, a post from Nov 2014! Besides this, there was the vision statement of the multi-chain universe from Arthur Fall's interview "Bitcoin Uncensored", and then there was the Cosmos Network whitepaper where I (Jae) coined the term Inter-Blockchain-Communication (IBC) for short.

On the Applications of Tendermint technology

Go-Tendermint as of Nov 2014 is a bare minimal implementation of the Tendermint consensus protocol.

Before continuing development further let's discuss project directions. Here are some I have in mind:

  • Integrate Go-Tendermint with Conformal's Bitcoin API - supporting the existing Bitcoin infrastructure has its advantages. Clients should ideally work seamlessly with few modifications. Exchanges and other services would have little trouble supporting Tendermint. The Bitcoin community had put a ton of effort in designing Bitcoin with more BIPs on the way so we could build on top of tha
@jaekwon
jaekwon / scrypt.md
Last active June 14, 2023 02:28
The Scrypt of C฿J

This document is a personal document and does not represent the views of the company. This document is in draft form and I reserve to modify the contents of it.

The Scrypt of C฿J

  • ! The days after Christmas, for personal reasons, it became clear to me that I had been living most of my life within the confines of guilt masked as love. This is just the circumstance of my personal life, something that chose me by chance or by fate, but somehow I was always aware of.
  • ! When all the circumstances of my life and work came together under this new perspective, everything began to make sense. That I was too selfless to a fault (though some would say naive). And finally I could see why.
  • ! I don’t wish to speak more about it for respect of those involved, and to keep their honor; and besides, I accept the imperfections that I have, if I don’t celebrate them.
  • ! Until I settled in the Mission in San Francisco, I was always moving around, country to country, state to state. The only constant I knew w
@jaekwon
jaekwon / scrypt_cbj.md
Last active September 2, 2020 21:48
The Scrypt of C฿J

The Scrypt of C฿J

  • ! The days after Christmas, for personal reasons, it became clear to me that I had been living most of my life within the confines of guilt masked as love. This is just the circumstance of my personal life, something that chose me by chance or by fate, but somehow I was always aware of.
  • ! When all the circumstances of my life and work came together under this new perspective, everything began to make sense. That I was too selfless to a fault (though some would say naive). And finally I could see why.
  • ! I don’t wish to speak more about it for respect of those involved, and to keep their honor; and besides, I accept the imperfections that I have, if I don’t celebrate them.
  • ! Until I settled in the Mission in San Francisco, I was always moving around, country to country, state to state. The only constant I knew was of math and reason.
  • ! My good teachers have inspired me to be good, but You imbued me with the Spirit, and I believed that I was chosen because You told me so.

@jaekwon
jaekwon / jaekwon_aib.md
Last active December 9, 2021 04:58
jaekwon_aib

Is Jae "stepping down from Cosmos"?

No, that's FUD, and probably intentional misrepresentation, or perhaps a mistake in translation.

Jae & CEO role of Tendermint Inc.

The goal is to eliminate the role of the CEO for Tendermint Inc, so it isn’t correct to say that Jae is “stepping down”. Rather, the role is being eliminated to decentralize Tendermint Inc. and implement checks and balances from within.

Tendermint Inc. organizational structure today comprises a sole decision factor, which is Jae Kwon, in his role of company's CEO. Jae and company has decided that moving forward the company will adopt a more decentralized corporate “Process” that is being developed along with the Virgo project.

(capital) One is the *meta-Cosmos
. the *meta-Cosmos includes our Cosmos, our universe, all past/present/future.
. one is a local construct of the Cosmos.
. there are many truths all enmeshed with each other.
. the whole Truth cannot be seen.
. each one has their unique truth.
. only they (the "one"s in the statement above) can say their truths.
. only the One (or They) can say the Truth.
. every one should be encouraged to speak their truth.
. it's ok to claim that something is True, if you really believe it.
@jaekwon
jaekwon / amino_proto3_proposal_1.md
Last active December 20, 2019 02:54
Jae's Amino interface/proto3-compat proposal (version 1)

Proposed solution:

  • a Go interface is encoded as a top-level Proto3 message. In the example below, the Animal go interface is represented by a Animal proto3 message.
type Animal interface
type Dog struct
type Cat struct
type House struct {
function handleConnCloseTry()
  {state, version, counterpartyIdentifier, rootOfTrust} = Get(identifier)
  assert(state == OPEN)
  assert(identifierCounterparty == counterpartyIdentifier)
  assert(verify(roofOfTrust, proofInit, (counterpartyIdentifier, TRYCLOSE)))
  state = CLOSED
  Set(identifier, (state, version, counterpartyIdentifier, rootOfTrust))

Summary

  • Agree on a plan to set up a testnet using the Cosmos SDK v0.34.0 release, along with mainnet conditions, plus transfer enablement and increased block size, as a testing ground.

  • After this proposal is passed and after successful testing, and after the software Git hash for v0.34.0 has been finalized, conduct a second proposal which includes the specific Git hash, using expedited rules to determine acceptance.